This project is available under GNU AGPL v3 license.
-
Privacy should not be a luxury
+
Privacy should not be a luxury
);
diff --git a/docs/src/pages/privacy-policy.tsx b/docs/src/pages/privacy-policy.tsx
index 7bc113c0fc..36ac76945d 100644
--- a/docs/src/pages/privacy-policy.tsx
+++ b/docs/src/pages/privacy-policy.tsx
@@ -1,5 +1,4 @@
import React from 'react';
-import Link from '@docusaurus/Link';
import Layout from '@theme/Layout';
function HomepageHeader() {
return (
diff --git a/docs/static/_redirects b/docs/static/_redirects
index 889b4e6961..6683c78077 100644
--- a/docs/static/_redirects
+++ b/docs/static/_redirects
@@ -30,3 +30,4 @@
/docs/guides/api-album-sync /docs/community-projects 307
/docs/guides/remove-offline-files /docs/community-projects 307
/milestones /roadmap 307
+/docs/overview/introduction /docs/overview/welcome 307
\ No newline at end of file
diff --git a/docs/static/archived-versions.json b/docs/static/archived-versions.json
index 1e45c7a696..aefd29ebb5 100644
--- a/docs/static/archived-versions.json
+++ b/docs/static/archived-versions.json
@@ -3,50 +3,14 @@
"label": "v1.132.3",
"url": "https://v1.132.3.archive.immich.app"
},
- {
- "label": "v1.132.2",
- "url": "https://v1.132.2.archive.immich.app"
- },
- {
- "label": "v1.132.1",
- "url": "https://v1.132.1.archive.immich.app"
- },
- {
- "label": "v1.132.0",
- "url": "https://v1.132.0.archive.immich.app"
- },
{
"label": "v1.131.3",
"url": "https://v1.131.3.archive.immich.app"
},
- {
- "label": "v1.131.2",
- "url": "https://v1.131.2.archive.immich.app"
- },
- {
- "label": "v1.131.1",
- "url": "https://v1.131.1.archive.immich.app"
- },
- {
- "label": "v1.131.0",
- "url": "https://v1.131.0.archive.immich.app"
- },
{
"label": "v1.130.3",
"url": "https://v1.130.3.archive.immich.app"
},
- {
- "label": "v1.130.2",
- "url": "https://v1.130.2.archive.immich.app"
- },
- {
- "label": "v1.130.1",
- "url": "https://v1.130.1.archive.immich.app"
- },
- {
- "label": "v1.130.0",
- "url": "https://v1.130.0.archive.immich.app"
- },
{
"label": "v1.129.0",
"url": "https://v1.129.0.archive.immich.app"
@@ -63,46 +27,14 @@
"label": "v1.126.1",
"url": "https://v1.126.1.archive.immich.app"
},
- {
- "label": "v1.126.0",
- "url": "https://v1.126.0.archive.immich.app"
- },
{
"label": "v1.125.7",
"url": "https://v1.125.7.archive.immich.app"
},
- {
- "label": "v1.125.6",
- "url": "https://v1.125.6.archive.immich.app"
- },
- {
- "label": "v1.125.5",
- "url": "https://v1.125.5.archive.immich.app"
- },
- {
- "label": "v1.125.3",
- "url": "https://v1.125.3.archive.immich.app"
- },
- {
- "label": "v1.125.2",
- "url": "https://v1.125.2.archive.immich.app"
- },
- {
- "label": "v1.125.1",
- "url": "https://v1.125.1.archive.immich.app"
- },
{
"label": "v1.124.2",
"url": "https://v1.124.2.archive.immich.app"
},
- {
- "label": "v1.124.1",
- "url": "https://v1.124.1.archive.immich.app"
- },
- {
- "label": "v1.124.0",
- "url": "https://v1.124.0.archive.immich.app"
- },
{
"label": "v1.123.0",
"url": "https://v1.123.0.archive.immich.app"
@@ -111,18 +43,6 @@
"label": "v1.122.3",
"url": "https://v1.122.3.archive.immich.app"
},
- {
- "label": "v1.122.2",
- "url": "https://v1.122.2.archive.immich.app"
- },
- {
- "label": "v1.122.1",
- "url": "https://v1.122.1.archive.immich.app"
- },
- {
- "label": "v1.122.0",
- "url": "https://v1.122.0.archive.immich.app"
- },
{
"label": "v1.121.0",
"url": "https://v1.121.0.archive.immich.app"
@@ -131,34 +51,14 @@
"label": "v1.120.2",
"url": "https://v1.120.2.archive.immich.app"
},
- {
- "label": "v1.120.1",
- "url": "https://v1.120.1.archive.immich.app"
- },
- {
- "label": "v1.120.0",
- "url": "https://v1.120.0.archive.immich.app"
- },
{
"label": "v1.119.1",
"url": "https://v1.119.1.archive.immich.app"
},
- {
- "label": "v1.119.0",
- "url": "https://v1.119.0.archive.immich.app"
- },
{
"label": "v1.118.2",
"url": "https://v1.118.2.archive.immich.app"
},
- {
- "label": "v1.118.1",
- "url": "https://v1.118.1.archive.immich.app"
- },
- {
- "label": "v1.118.0",
- "url": "https://v1.118.0.archive.immich.app"
- },
{
"label": "v1.117.0",
"url": "https://v1.117.0.archive.immich.app"
@@ -167,14 +67,6 @@
"label": "v1.116.2",
"url": "https://v1.116.2.archive.immich.app"
},
- {
- "label": "v1.116.1",
- "url": "https://v1.116.1.archive.immich.app"
- },
- {
- "label": "v1.116.0",
- "url": "https://v1.116.0.archive.immich.app"
- },
{
"label": "v1.115.0",
"url": "https://v1.115.0.archive.immich.app"
@@ -187,18 +79,10 @@
"label": "v1.113.1",
"url": "https://v1.113.1.archive.immich.app"
},
- {
- "label": "v1.113.0",
- "url": "https://v1.113.0.archive.immich.app"
- },
{
"label": "v1.112.1",
"url": "https://v1.112.1.archive.immich.app"
},
- {
- "label": "v1.112.0",
- "url": "https://v1.112.0.archive.immich.app"
- },
{
"label": "v1.111.0",
"url": "https://v1.111.0.archive.immich.app"
@@ -211,14 +95,6 @@
"label": "v1.109.2",
"url": "https://v1.109.2.archive.immich.app"
},
- {
- "label": "v1.109.1",
- "url": "https://v1.109.1.archive.immich.app"
- },
- {
- "label": "v1.109.0",
- "url": "https://v1.109.0.archive.immich.app"
- },
{
"label": "v1.108.0",
"url": "https://v1.108.0.archive.immich.app"
@@ -227,38 +103,14 @@
"label": "v1.107.2",
"url": "https://v1.107.2.archive.immich.app"
},
- {
- "label": "v1.107.1",
- "url": "https://v1.107.1.archive.immich.app"
- },
- {
- "label": "v1.107.0",
- "url": "https://v1.107.0.archive.immich.app"
- },
{
"label": "v1.106.4",
"url": "https://v1.106.4.archive.immich.app"
},
- {
- "label": "v1.106.3",
- "url": "https://v1.106.3.archive.immich.app"
- },
- {
- "label": "v1.106.2",
- "url": "https://v1.106.2.archive.immich.app"
- },
- {
- "label": "v1.106.1",
- "url": "https://v1.106.1.archive.immich.app"
- },
{
"label": "v1.105.1",
"url": "https://v1.105.1.archive.immich.app"
},
- {
- "label": "v1.105.0",
- "url": "https://v1.105.0.archive.immich.app"
- },
{
"label": "v1.104.0",
"url": "https://v1.104.0.archive.immich.app"
@@ -267,26 +119,10 @@
"label": "v1.103.1",
"url": "https://v1.103.1.archive.immich.app"
},
- {
- "label": "v1.103.0",
- "url": "https://v1.103.0.archive.immich.app"
- },
{
"label": "v1.102.3",
"url": "https://v1.102.3.archive.immich.app"
},
- {
- "label": "v1.102.2",
- "url": "https://v1.102.2.archive.immich.app"
- },
- {
- "label": "v1.102.1",
- "url": "https://v1.102.1.archive.immich.app"
- },
- {
- "label": "v1.102.0",
- "url": "https://v1.102.0.archive.immich.app"
- },
{
"label": "v1.101.0",
"url": "https://v1.101.0.archive.immich.app"
diff --git a/docs/static/fonts/overpass/Overpass-Italic.ttf b/docs/static/fonts/overpass/Overpass-Italic.ttf
new file mode 100644
index 0000000000..281dd742bb
Binary files /dev/null and b/docs/static/fonts/overpass/Overpass-Italic.ttf differ
diff --git a/docs/static/fonts/overpass/Overpass.ttf b/docs/static/fonts/overpass/Overpass.ttf
new file mode 100644
index 0000000000..1cf730a5ad
Binary files /dev/null and b/docs/static/fonts/overpass/Overpass.ttf differ
diff --git a/docs/static/fonts/overpass/OverpassMono.ttf b/docs/static/fonts/overpass/OverpassMono.ttf
new file mode 100644
index 0000000000..71ef818b33
Binary files /dev/null and b/docs/static/fonts/overpass/OverpassMono.ttf differ
diff --git a/docs/static/img/logomark-dark-with-futo.svg b/docs/static/img/logomark-dark-with-futo.svg
new file mode 100644
index 0000000000..5672d0f7fe
--- /dev/null
+++ b/docs/static/img/logomark-dark-with-futo.svg
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/static/img/logomark-light-with-futo.svg b/docs/static/img/logomark-light-with-futo.svg
new file mode 100644
index 0000000000..9fa1ce3605
--- /dev/null
+++ b/docs/static/img/logomark-light-with-futo.svg
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/e2e/package-lock.json b/e2e/package-lock.json
index a61324beff..2dc3923480 100644
--- a/e2e/package-lock.json
+++ b/e2e/package-lock.json
@@ -736,9 +736,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.25.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz",
- "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==",
+ "version": "9.26.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz",
+ "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -999,6 +999,28 @@
"semver": "bin/semver.js"
}
},
+ "node_modules/@modelcontextprotocol/sdk": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.1.tgz",
+ "integrity": "sha512-9LfmxKTb1v+vUS1/emSk1f5ePmTLkb9Le9AxOB5T0XM59EUumwcS45z05h7aiZx3GI0Bl7mjb3FMEglYj+acuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^1.0.5",
+ "cors": "^2.8.5",
+ "cross-spawn": "^7.0.3",
+ "eventsource": "^3.0.2",
+ "express": "^5.0.1",
+ "express-rate-limit": "^7.5.0",
+ "pkce-challenge": "^5.0.0",
+ "raw-body": "^3.0.0",
+ "zod": "^3.23.8",
+ "zod-to-json-schema": "^3.24.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -1683,17 +1705,17 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.0.tgz",
- "integrity": "sha512-evaQJZ/J/S4wisevDvC1KFZkPzRetH8kYZbkgcTRyql3mcKsf+ZFDV1BVWUGTCAW5pQHoqn5gK5b8kn7ou9aFQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz",
+ "integrity": "sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.31.0",
- "@typescript-eslint/type-utils": "8.31.0",
- "@typescript-eslint/utils": "8.31.0",
- "@typescript-eslint/visitor-keys": "8.31.0",
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/type-utils": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -1713,16 +1735,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.0.tgz",
- "integrity": "sha512-67kYYShjBR0jNI5vsf/c3WG4u+zDnCTHTPqVMQguffaWWFs7artgwKmfwdifl+r6XyM5LYLas/dInj2T0SgJyw==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.1.tgz",
+ "integrity": "sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.31.0",
- "@typescript-eslint/types": "8.31.0",
- "@typescript-eslint/typescript-estree": "8.31.0",
- "@typescript-eslint/visitor-keys": "8.31.0",
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/typescript-estree": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"debug": "^4.3.4"
},
"engines": {
@@ -1738,14 +1760,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.0.tgz",
- "integrity": "sha512-knO8UyF78Nt8O/B64i7TlGXod69ko7z6vJD9uhSlm0qkAbGeRUSudcm0+K/4CrRjrpiHfBCjMWlc08Vav1xwcw==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz",
+ "integrity": "sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.31.0",
- "@typescript-eslint/visitor-keys": "8.31.0"
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1756,14 +1778,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.0.tgz",
- "integrity": "sha512-DJ1N1GdjI7IS7uRlzJuEDCgDQix3ZVYVtgeWEyhyn4iaoitpMBX6Ndd488mXSx0xah/cONAkEaYyylDyAeHMHg==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz",
+ "integrity": "sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.31.0",
- "@typescript-eslint/utils": "8.31.0",
+ "@typescript-eslint/typescript-estree": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1",
"debug": "^4.3.4",
"ts-api-utils": "^2.0.1"
},
@@ -1780,9 +1802,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.0.tgz",
- "integrity": "sha512-Ch8oSjVyYyJxPQk8pMiP2FFGYatqXQfQIaMp+TpuuLlDachRWpUAeEu1u9B/v/8LToehUIWyiKcA/w5hUFRKuQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.1.tgz",
+ "integrity": "sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -1794,14 +1816,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.0.tgz",
- "integrity": "sha512-xLmgn4Yl46xi6aDSZ9KkyfhhtnYI15/CvHbpOy/eR5NWhK/BK8wc709KKwhAR0m4ZKRP7h07bm4BWUYOCuRpQQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz",
+ "integrity": "sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.31.0",
- "@typescript-eslint/visitor-keys": "8.31.0",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -1847,16 +1869,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.0.tgz",
- "integrity": "sha512-qi6uPLt9cjTFxAb1zGNgTob4x9ur7xC6mHQJ8GwEzGMGE9tYniublmJaowOJ9V2jUzxrltTPfdG2nKlWsq0+Ww==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.1.tgz",
+ "integrity": "sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.31.0",
- "@typescript-eslint/types": "8.31.0",
- "@typescript-eslint/typescript-estree": "8.31.0"
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/typescript-estree": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -1871,13 +1893,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.0.tgz",
- "integrity": "sha512-QcGHmlRHWOl93o64ZUMNewCdwKGU6WItOU52H0djgNmn1EOrhVudrDzXz4OycCRSCPwFCDrE2iIt5vmuUdHxuQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz",
+ "integrity": "sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.31.0",
+ "@typescript-eslint/types": "8.31.1",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -2207,6 +2229,75 @@
"node": ">=14"
}
},
+ "node_modules/body-parser": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz",
+ "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bytes": "^3.1.2",
+ "content-type": "^1.0.5",
+ "debug": "^4.4.0",
+ "http-errors": "^2.0.0",
+ "iconv-lite": "^0.6.3",
+ "on-finished": "^2.4.1",
+ "qs": "^6.14.0",
+ "raw-body": "^3.0.0",
+ "type-is": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/body-parser/node_modules/media-typer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
+ "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/body-parser/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/body-parser/node_modules/mime-types": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
+ "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/body-parser/node_modules/type-is": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
+ "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^1.0.5",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2596,6 +2687,26 @@
"node": ">= 0.6"
}
},
+ "node_modules/cookie": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cookie-signature": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.6.0"
+ }
+ },
"node_modules/cookiejar": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
@@ -2631,6 +2742,20 @@
"url": "https://opencollective.com/core-js"
}
},
+ "node_modules/cors": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "object-assign": "^4",
+ "vary": "^1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -3009,9 +3134,9 @@
}
},
"node_modules/eslint": {
- "version": "9.25.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz",
- "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==",
+ "version": "9.26.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz",
+ "integrity": "sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3021,11 +3146,12 @@
"@eslint/config-helpers": "^0.2.1",
"@eslint/core": "^0.13.0",
"@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.25.1",
+ "@eslint/js": "9.26.0",
"@eslint/plugin-kit": "^0.2.8",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
+ "@modelcontextprotocol/sdk": "^1.8.0",
"@types/estree": "^1.0.6",
"@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
@@ -3049,7 +3175,8 @@
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.3"
+ "optionator": "^0.9.3",
+ "zod": "^3.24.2"
},
"bin": {
"eslint": "bin/eslint.js"
@@ -3083,9 +3210,9 @@
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "5.2.6",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.6.tgz",
- "integrity": "sha512-mUcf7QG2Tjk7H055Jk0lGBjbgDnfrvqjhXh9t2xLMSCjZVcw9Rb1V6sVNXO0th3jgeO7zllWPTNRil3JW94TnQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.3.1.tgz",
+ "integrity": "sha512-vad9VWgEm9xaVXRNmb4aeOt0PWDc61IAdzghkbYQ2wavgax148iKoX1rNJcgkBGCipzLzOnHYVgL7xudM9yccQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3277,6 +3404,39 @@
"url": "https://github.com/eta-dev/eta?sponsor=1"
}
},
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/eventsource": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
+ "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eventsource-parser": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/eventsource-parser": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.1.tgz",
+ "integrity": "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/exiftool-vendored": {
"version": "28.8.0",
"resolved": "https://registry.npmjs.org/exiftool-vendored/-/exiftool-vendored-28.8.0.tgz",
@@ -3327,6 +3487,170 @@
"node": ">=12.0.0"
}
},
+ "node_modules/express": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz",
+ "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "^2.0.0",
+ "body-parser": "^2.2.0",
+ "content-disposition": "^1.0.0",
+ "content-type": "^1.0.5",
+ "cookie": "^0.7.1",
+ "cookie-signature": "^1.2.1",
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "finalhandler": "^2.1.0",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "merge-descriptors": "^2.0.0",
+ "mime-types": "^3.0.0",
+ "on-finished": "^2.4.1",
+ "once": "^1.4.0",
+ "parseurl": "^1.3.3",
+ "proxy-addr": "^2.0.7",
+ "qs": "^6.14.0",
+ "range-parser": "^1.2.1",
+ "router": "^2.2.0",
+ "send": "^1.1.0",
+ "serve-static": "^2.2.0",
+ "statuses": "^2.0.1",
+ "type-is": "^2.0.1",
+ "vary": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express-rate-limit": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz",
+ "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/express-rate-limit"
+ },
+ "peerDependencies": {
+ "express": "^4.11 || 5 || ^5.0.0-beta.1"
+ }
+ },
+ "node_modules/express/node_modules/accepts": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "^3.0.0",
+ "negotiator": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/content-disposition": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz",
+ "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/express/node_modules/fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/express/node_modules/media-typer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
+ "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/express/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/mime-types": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
+ "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/negotiator": {
+ "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": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/type-is": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
+ "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^1.0.5",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -3428,6 +3752,34 @@
"node": ">=8"
}
},
+ "node_modules/finalhandler": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz",
+ "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "on-finished": "^2.4.1",
+ "parseurl": "^1.3.3",
+ "statuses": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/finalhandler/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -3537,6 +3889,16 @@
"url": "https://ko-fi.com/tunnckoCore/commissions"
}
},
+ "node_modules/forwarded": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -4160,6 +4522,16 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/ipaddr.js": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/is-builtin-module": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-4.0.0.tgz",
@@ -4238,6 +4610,13 @@
"node": ">=0.12.0"
}
},
+ "node_modules/is-promise": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/is-regex": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
@@ -4646,6 +5025,19 @@
"node": ">= 0.6"
}
},
+ "node_modules/merge-descriptors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -5222,14 +5614,14 @@
}
},
"node_modules/pg": {
- "version": "8.15.5",
- "resolved": "https://registry.npmjs.org/pg/-/pg-8.15.5.tgz",
- "integrity": "sha512-EpAhHFQc+aH9VfeffWIVC+XXk6lmAhS9W1FxtxcPXs94yxhrI1I6w/zkWfIOII/OkBv3Be04X3xMOj0kQ78l6w==",
+ "version": "8.15.6",
+ "resolved": "https://registry.npmjs.org/pg/-/pg-8.15.6.tgz",
+ "integrity": "sha512-yvao7YI3GdmmrslNVsZgx9PfntfWrnXwtR+K/DjI0I/sTKif4Z623um+sjVZ1hk5670B+ODjvHDAckKdjmPTsg==",
"dev": true,
"license": "MIT",
"dependencies": {
"pg-connection-string": "^2.8.5",
- "pg-pool": "^3.9.5",
+ "pg-pool": "^3.9.6",
"pg-protocol": "^1.9.5",
"pg-types": "^2.1.0",
"pgpass": "1.x"
@@ -5410,6 +5802,16 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/pkce-challenge": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz",
+ "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
"node_modules/playwright": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.52.0.tgz",
@@ -5616,6 +6018,20 @@
}
}
},
+ "node_modules/proxy-addr": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "forwarded": "0.2.0",
+ "ipaddr.js": "1.9.1"
+ },
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -5676,6 +6092,16 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/raw-body": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz",
@@ -5904,6 +6330,33 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/router": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
+ "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "is-promise": "^4.0.0",
+ "parseurl": "^1.3.3",
+ "path-to-regexp": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/router/node_modules/path-to-regexp": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz",
+ "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16"
+ }
+ },
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -5987,6 +6440,98 @@
"node": ">=10"
}
},
+ "node_modules/send": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz",
+ "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.5",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "mime-types": "^3.0.1",
+ "ms": "^2.1.3",
+ "on-finished": "^2.4.1",
+ "range-parser": "^1.2.1",
+ "statuses": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/send/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/send/node_modules/fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/send/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/send/node_modules/mime-types": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz",
+ "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz",
+ "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "parseurl": "^1.3.3",
+ "send": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/serve-static/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
@@ -6747,15 +7292,15 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.31.0.tgz",
- "integrity": "sha512-u+93F0sB0An8WEAPtwxVhFby573E8ckdjwUUQUj9QA4v8JAvgtoDdIyYR3XFwFHq2W1KJ1AurwJCO+w+Y1ixyQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.31.1.tgz",
+ "integrity": "sha512-j6DsEotD/fH39qKzXTQRwYYWlt7D+0HmfpOK+DVhwJOFLcdmn92hq3mBb7HlKJHbjjI/gTOqEcc9d6JfpFf/VA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.31.0",
- "@typescript-eslint/parser": "8.31.0",
- "@typescript-eslint/utils": "8.31.0"
+ "@typescript-eslint/eslint-plugin": "8.31.1",
+ "@typescript-eslint/parser": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -7383,6 +7928,26 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/zod": {
+ "version": "3.24.4",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz",
+ "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-to-json-schema": {
+ "version": "3.24.5",
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz",
+ "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==",
+ "dev": true,
+ "license": "ISC",
+ "peerDependencies": {
+ "zod": "^3.24.1"
+ }
}
}
}
diff --git a/e2e/src/api/specs/activity.e2e-spec.ts b/e2e/src/api/specs/activity.e2e-spec.ts
index ee75d6070b..70c32313f1 100644
--- a/e2e/src/api/specs/activity.e2e-spec.ts
+++ b/e2e/src/api/specs/activity.e2e-spec.ts
@@ -46,38 +46,6 @@ describe('/activities', () => {
});
describe('GET /activities', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/activities');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
- it('should require an albumId', async () => {
- const { status, body } = await request(app)
- .get('/activities')
- .set('Authorization', `Bearer ${admin.accessToken}`);
- expect(status).toEqual(400);
- expect(body).toEqual(errorDto.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
- });
-
- it('should reject an invalid albumId', async () => {
- const { status, body } = await request(app)
- .get('/activities')
- .query({ albumId: uuidDto.invalid })
- .set('Authorization', `Bearer ${admin.accessToken}`);
- expect(status).toEqual(400);
- expect(body).toEqual(errorDto.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
- });
-
- it('should reject an invalid assetId', async () => {
- const { status, body } = await request(app)
- .get('/activities')
- .query({ albumId: uuidDto.notFound, assetId: uuidDto.invalid })
- .set('Authorization', `Bearer ${admin.accessToken}`);
- expect(status).toEqual(400);
- expect(body).toEqual(errorDto.badRequest(expect.arrayContaining(['assetId must be a UUID'])));
- });
-
it('should start off empty', async () => {
const { status, body } = await request(app)
.get('/activities')
@@ -192,30 +160,6 @@ describe('/activities', () => {
});
describe('POST /activities', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).post('/activities');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
- it('should require an albumId', async () => {
- const { status, body } = await request(app)
- .post('/activities')
- .set('Authorization', `Bearer ${admin.accessToken}`)
- .send({ albumId: uuidDto.invalid });
- expect(status).toEqual(400);
- expect(body).toEqual(errorDto.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
- });
-
- it('should require a comment when type is comment', async () => {
- const { status, body } = await request(app)
- .post('/activities')
- .set('Authorization', `Bearer ${admin.accessToken}`)
- .send({ albumId: uuidDto.notFound, type: 'comment', comment: null });
- expect(status).toEqual(400);
- expect(body).toEqual(errorDto.badRequest(['comment must be a string', 'comment should not be empty']));
- });
-
it('should add a comment to an album', async () => {
const { status, body } = await request(app)
.post('/activities')
@@ -330,20 +274,6 @@ describe('/activities', () => {
});
describe('DELETE /activities/:id', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).delete(`/activities/${uuidDto.notFound}`);
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
- it('should require a valid uuid', async () => {
- const { status, body } = await request(app)
- .delete(`/activities/${uuidDto.invalid}`)
- .set('Authorization', `Bearer ${admin.accessToken}`);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
- });
-
it('should remove a comment from an album', async () => {
const reaction = await createActivity({
albumId: album.id,
diff --git a/e2e/src/api/specs/album.e2e-spec.ts b/e2e/src/api/specs/album.e2e-spec.ts
index cede49f469..65a94122fa 100644
--- a/e2e/src/api/specs/album.e2e-spec.ts
+++ b/e2e/src/api/specs/album.e2e-spec.ts
@@ -9,7 +9,7 @@ import {
LoginResponseDto,
SharedLinkType,
} from '@immich/sdk';
-import { createUserDto, uuidDto } from 'src/fixtures';
+import { createUserDto } from 'src/fixtures';
import { errorDto } from 'src/responses';
import { app, asBearerAuth, utils } from 'src/utils';
import request from 'supertest';
@@ -128,28 +128,6 @@ describe('/albums', () => {
});
describe('GET /albums', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/albums');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
- it('should reject an invalid shared param', async () => {
- const { status, body } = await request(app)
- .get('/albums?shared=invalid')
- .set('Authorization', `Bearer ${user1.accessToken}`);
- expect(status).toEqual(400);
- expect(body).toEqual(errorDto.badRequest(['shared must be a boolean value']));
- });
-
- it('should reject an invalid assetId param', async () => {
- const { status, body } = await request(app)
- .get('/albums?assetId=invalid')
- .set('Authorization', `Bearer ${user1.accessToken}`);
- expect(status).toEqual(400);
- expect(body).toEqual(errorDto.badRequest(['assetId must be a UUID']));
- });
-
it("should not show other users' favorites", async () => {
const { status, body } = await request(app)
.get(`/albums/${user1Albums[0].id}?withoutAssets=false`)
@@ -323,12 +301,6 @@ describe('/albums', () => {
});
describe('GET /albums/:id', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get(`/albums/${user1Albums[0].id}`);
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should return album info for own album', async () => {
const { status, body } = await request(app)
.get(`/albums/${user1Albums[0].id}?withoutAssets=false`)
@@ -421,12 +393,6 @@ describe('/albums', () => {
});
describe('GET /albums/statistics', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/albums/statistics');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should return total count of albums the user has access to', async () => {
const { status, body } = await request(app)
.get('/albums/statistics')
@@ -438,12 +404,6 @@ describe('/albums', () => {
});
describe('POST /albums', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).post('/albums').send({ albumName: 'New album' });
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should create an album', async () => {
const { status, body } = await request(app)
.post('/albums')
@@ -471,12 +431,6 @@ describe('/albums', () => {
});
describe('PUT /albums/:id/assets', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).put(`/albums/${user1Albums[0].id}/assets`);
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should be able to add own asset to own album', async () => {
const asset = await utils.createAsset(user1.accessToken);
const { status, body } = await request(app)
@@ -526,14 +480,6 @@ describe('/albums', () => {
});
describe('PATCH /albums/:id', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app)
- .patch(`/albums/${uuidDto.notFound}`)
- .send({ albumName: 'New album name' });
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should update an album', async () => {
const album = await utils.createAlbum(user1.accessToken, {
albumName: 'New album',
@@ -576,15 +522,6 @@ describe('/albums', () => {
});
describe('DELETE /albums/:id/assets', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app)
- .delete(`/albums/${user1Albums[0].id}/assets`)
- .send({ ids: [user1Asset1.id] });
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should require authorization', async () => {
const { status, body } = await request(app)
.delete(`/albums/${user1Albums[1].id}/assets`)
@@ -679,13 +616,6 @@ describe('/albums', () => {
});
});
- it('should require authentication', async () => {
- const { status, body } = await request(app).put(`/albums/${user1Albums[0].id}/users`).send({ sharedUserIds: [] });
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should be able to add user to own album', async () => {
const { status, body } = await request(app)
.put(`/albums/${album.id}/users`)
diff --git a/e2e/src/api/specs/api-key.e2e-spec.ts b/e2e/src/api/specs/api-key.e2e-spec.ts
index 1748276625..e86edddcdf 100644
--- a/e2e/src/api/specs/api-key.e2e-spec.ts
+++ b/e2e/src/api/specs/api-key.e2e-spec.ts
@@ -1,5 +1,5 @@
import { LoginResponseDto, Permission, createApiKey } from '@immich/sdk';
-import { createUserDto, uuidDto } from 'src/fixtures';
+import { createUserDto } from 'src/fixtures';
import { errorDto } from 'src/responses';
import { app, asBearerAuth, utils } from 'src/utils';
import request from 'supertest';
@@ -24,12 +24,6 @@ describe('/api-keys', () => {
});
describe('POST /api-keys', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).post('/api-keys').send({ name: 'API Key' });
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should not work without permission', async () => {
const { secret } = await create(user.accessToken, [Permission.ApiKeyRead]);
const { status, body } = await request(app).post('/api-keys').set('x-api-key', secret).send({ name: 'API Key' });
@@ -99,12 +93,6 @@ describe('/api-keys', () => {
});
describe('GET /api-keys', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/api-keys');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should start off empty', async () => {
const { status, body } = await request(app).get('/api-keys').set('Authorization', `Bearer ${admin.accessToken}`);
expect(body).toEqual([]);
@@ -125,12 +113,6 @@ describe('/api-keys', () => {
});
describe('GET /api-keys/:id', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get(`/api-keys/${uuidDto.notFound}`);
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should require authorization', async () => {
const { apiKey } = await create(user.accessToken, [Permission.All]);
const { status, body } = await request(app)
@@ -140,14 +122,6 @@ describe('/api-keys', () => {
expect(body).toEqual(errorDto.badRequest('API Key not found'));
});
- it('should require a valid uuid', async () => {
- const { status, body } = await request(app)
- .get(`/api-keys/${uuidDto.invalid}`)
- .set('Authorization', `Bearer ${admin.accessToken}`);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
- });
-
it('should get api key details', async () => {
const { apiKey } = await create(user.accessToken, [Permission.All]);
const { status, body } = await request(app)
@@ -165,12 +139,6 @@ describe('/api-keys', () => {
});
describe('PUT /api-keys/:id', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).put(`/api-keys/${uuidDto.notFound}`).send({ name: 'new name' });
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should require authorization', async () => {
const { apiKey } = await create(user.accessToken, [Permission.All]);
const { status, body } = await request(app)
@@ -181,15 +149,6 @@ describe('/api-keys', () => {
expect(body).toEqual(errorDto.badRequest('API Key not found'));
});
- it('should require a valid uuid', async () => {
- const { status, body } = await request(app)
- .put(`/api-keys/${uuidDto.invalid}`)
- .send({ name: 'new name' })
- .set('Authorization', `Bearer ${admin.accessToken}`);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
- });
-
it('should update api key details', async () => {
const { apiKey } = await create(user.accessToken, [Permission.All]);
const { status, body } = await request(app)
@@ -208,12 +167,6 @@ describe('/api-keys', () => {
});
describe('DELETE /api-keys/:id', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).delete(`/api-keys/${uuidDto.notFound}`);
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should require authorization', async () => {
const { apiKey } = await create(user.accessToken, [Permission.All]);
const { status, body } = await request(app)
@@ -223,14 +176,6 @@ describe('/api-keys', () => {
expect(body).toEqual(errorDto.badRequest('API Key not found'));
});
- it('should require a valid uuid', async () => {
- const { status, body } = await request(app)
- .delete(`/api-keys/${uuidDto.invalid}`)
- .set('Authorization', `Bearer ${admin.accessToken}`);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
- });
-
it('should delete an api key', async () => {
const { apiKey } = await create(user.accessToken, [Permission.All]);
const { status } = await request(app)
diff --git a/e2e/src/api/specs/asset.e2e-spec.ts b/e2e/src/api/specs/asset.e2e-spec.ts
index 01129b3299..8c203860df 100644
--- a/e2e/src/api/specs/asset.e2e-spec.ts
+++ b/e2e/src/api/specs/asset.e2e-spec.ts
@@ -3,6 +3,7 @@ import {
AssetMediaStatus,
AssetResponseDto,
AssetTypeEnum,
+ AssetVisibility,
getAssetInfo,
getMyUser,
LoginResponseDto,
@@ -22,27 +23,9 @@ import { app, asBearerAuth, tempDir, TEN_TIMES, testAssetDir, utils } from 'src/
import request from 'supertest';
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
-const makeUploadDto = (options?: { omit: string }): Record
=> {
- const dto: Record = {
- deviceAssetId: 'example-image',
- deviceId: 'TEST',
- fileCreatedAt: new Date().toISOString(),
- fileModifiedAt: new Date().toISOString(),
- isFavorite: 'testing',
- duration: '0:00:00.000000',
- };
-
- const omit = options?.omit;
- if (omit) {
- delete dto[omit];
- }
-
- return dto;
-};
-
const locationAssetFilepath = `${testAssetDir}/metadata/gps-position/thompson-springs.jpg`;
const ratingAssetFilepath = `${testAssetDir}/metadata/rating/mongolels.jpg`;
-const facesAssetFilepath = `${testAssetDir}/metadata/faces/portrait.jpg`;
+const facesAssetDir = `${testAssetDir}/metadata/faces`;
const readTags = async (bytes: Buffer, filename: string) => {
const filepath = join(tempDir, filename);
@@ -137,9 +120,9 @@ describe('/asset', () => {
// stats
utils.createAsset(statsUser.accessToken),
utils.createAsset(statsUser.accessToken, { isFavorite: true }),
- utils.createAsset(statsUser.accessToken, { isArchived: true }),
+ utils.createAsset(statsUser.accessToken, { visibility: AssetVisibility.Archive }),
utils.createAsset(statsUser.accessToken, {
- isArchived: true,
+ visibility: AssetVisibility.Archive,
isFavorite: true,
assetData: { filename: 'example.mp4' },
}),
@@ -160,13 +143,6 @@ describe('/asset', () => {
});
describe('GET /assets/:id/original', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get(`/assets/${uuidDto.notFound}/original`);
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should download the file', async () => {
const response = await request(app)
.get(`/assets/${user1Assets[0].id}/original`)
@@ -178,20 +154,6 @@ describe('/asset', () => {
});
describe('GET /assets/:id', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get(`/assets/${uuidDto.notFound}`);
- expect(body).toEqual(errorDto.unauthorized);
- expect(status).toBe(401);
- });
-
- it('should require a valid id', async () => {
- const { status, body } = await request(app)
- .get(`/assets/${uuidDto.invalid}`)
- .set('Authorization', `Bearer ${user1.accessToken}`);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
- });
-
it('should require access', async () => {
const { status, body } = await request(app)
.get(`/assets/${user2Assets[0].id}`)
@@ -224,27 +186,19 @@ describe('/asset', () => {
});
});
- it('should get the asset faces', async () => {
- const config = await utils.getSystemConfig(admin.accessToken);
- config.metadata.faces.import = true;
- await updateConfig({ systemConfigDto: config }, { headers: asBearerAuth(admin.accessToken) });
-
- // asset faces
- const facesAsset = await utils.createAsset(admin.accessToken, {
- assetData: {
+ describe('faces', () => {
+ const metadataFaceTests = [
+ {
+ description: 'without orientation',
filename: 'portrait.jpg',
- bytes: await readFile(facesAssetFilepath),
},
- });
-
- await utils.waitForWebsocketEvent({ event: 'assetUpload', id: facesAsset.id });
-
- const { status, body } = await request(app)
- .get(`/assets/${facesAsset.id}`)
- .set('Authorization', `Bearer ${admin.accessToken}`);
- expect(status).toBe(200);
- expect(body.id).toEqual(facesAsset.id);
- expect(body.people).toMatchObject([
+ {
+ description: 'adjusting face regions to orientation',
+ filename: 'portrait-orientation-6.jpg',
+ },
+ ];
+ // should produce same resulting face region coordinates for any orientation
+ const expectedFaces = [
{
name: 'Marie Curie',
birthDate: null,
@@ -279,7 +233,30 @@ describe('/asset', () => {
},
],
},
- ]);
+ ];
+
+ it.each(metadataFaceTests)('should get the asset faces from $filename $description', async ({ filename }) => {
+ const config = await utils.getSystemConfig(admin.accessToken);
+ config.metadata.faces.import = true;
+ await updateConfig({ systemConfigDto: config }, { headers: asBearerAuth(admin.accessToken) });
+
+ const facesAsset = await utils.createAsset(admin.accessToken, {
+ assetData: {
+ filename,
+ bytes: await readFile(`${facesAssetDir}/${filename}`),
+ },
+ });
+
+ await utils.waitForWebsocketEvent({ event: 'assetUpload', id: facesAsset.id });
+
+ const { status, body } = await request(app)
+ .get(`/assets/${facesAsset.id}`)
+ .set('Authorization', `Bearer ${admin.accessToken}`);
+
+ expect(status).toBe(200);
+ expect(body.id).toEqual(facesAsset.id);
+ expect(body.people).toMatchObject(expectedFaces);
+ });
});
it('should work with a shared link', async () => {
@@ -333,7 +310,7 @@ describe('/asset', () => {
});
it('disallows viewing archived assets', async () => {
- const asset = await utils.createAsset(user1.accessToken, { isArchived: true });
+ const asset = await utils.createAsset(user1.accessToken, { visibility: AssetVisibility.Archive });
const { status } = await request(app)
.get(`/assets/${asset.id}`)
@@ -354,13 +331,6 @@ describe('/asset', () => {
});
describe('GET /assets/statistics', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/assets/statistics');
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should return stats of all assets', async () => {
const { status, body } = await request(app)
.get('/assets/statistics')
@@ -384,7 +354,7 @@ describe('/asset', () => {
const { status, body } = await request(app)
.get('/assets/statistics')
.set('Authorization', `Bearer ${statsUser.accessToken}`)
- .query({ isArchived: true });
+ .query({ visibility: AssetVisibility.Archive });
expect(status).toBe(200);
expect(body).toEqual({ images: 1, videos: 1, total: 2 });
@@ -394,7 +364,7 @@ describe('/asset', () => {
const { status, body } = await request(app)
.get('/assets/statistics')
.set('Authorization', `Bearer ${statsUser.accessToken}`)
- .query({ isFavorite: true, isArchived: true });
+ .query({ isFavorite: true, visibility: AssetVisibility.Archive });
expect(status).toBe(200);
expect(body).toEqual({ images: 0, videos: 1, total: 1 });
@@ -404,7 +374,7 @@ describe('/asset', () => {
const { status, body } = await request(app)
.get('/assets/statistics')
.set('Authorization', `Bearer ${statsUser.accessToken}`)
- .query({ isFavorite: false, isArchived: false });
+ .query({ isFavorite: false, visibility: AssetVisibility.Timeline });
expect(status).toBe(200);
expect(body).toEqual({ images: 1, videos: 0, total: 1 });
@@ -425,13 +395,6 @@ describe('/asset', () => {
await utils.waitForQueueFinish(admin.accessToken, 'thumbnailGeneration');
});
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/assets/random');
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it.each(TEN_TIMES)('should return 1 random assets', async () => {
const { status, body } = await request(app)
.get('/assets/random')
@@ -467,31 +430,9 @@ describe('/asset', () => {
expect(status).toBe(200);
expect(body).toEqual([expect.objectContaining({ id: user2Assets[0].id })]);
});
-
- it('should return error', async () => {
- const { status } = await request(app)
- .get('/assets/random?count=ABC')
- .set('Authorization', `Bearer ${user1.accessToken}`);
-
- expect(status).toBe(400);
- });
});
describe('PUT /assets/:id', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).put(`/assets/:${uuidDto.notFound}`);
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
- it('should require a valid id', async () => {
- const { status, body } = await request(app)
- .put(`/assets/${uuidDto.invalid}`)
- .set('Authorization', `Bearer ${user1.accessToken}`);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest(['id must be a UUID']));
- });
-
it('should require access', async () => {
const { status, body } = await request(app)
.put(`/assets/${user2Assets[0].id}`)
@@ -519,7 +460,7 @@ describe('/asset', () => {
const { status, body } = await request(app)
.put(`/assets/${user1Assets[0].id}`)
.set('Authorization', `Bearer ${user1.accessToken}`)
- .send({ isArchived: true });
+ .send({ visibility: AssetVisibility.Archive });
expect(body).toMatchObject({ id: user1Assets[0].id, isArchived: true });
expect(status).toEqual(200);
});
@@ -619,28 +560,6 @@ describe('/asset', () => {
expect(status).toEqual(200);
});
- it('should reject invalid gps coordinates', async () => {
- for (const test of [
- { latitude: 12 },
- { longitude: 12 },
- { latitude: 12, longitude: 'abc' },
- { latitude: 'abc', longitude: 12 },
- { latitude: null, longitude: 12 },
- { latitude: 12, longitude: null },
- { latitude: 91, longitude: 12 },
- { latitude: -91, longitude: 12 },
- { latitude: 12, longitude: -181 },
- { latitude: 12, longitude: 181 },
- ]) {
- const { status, body } = await request(app)
- .put(`/assets/${user1Assets[0].id}`)
- .send(test)
- .set('Authorization', `Bearer ${user1.accessToken}`);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest());
- }
- });
-
it('should update gps data', async () => {
const { status, body } = await request(app)
.put(`/assets/${user1Assets[0].id}`)
@@ -712,17 +631,6 @@ describe('/asset', () => {
expect(status).toEqual(200);
});
- it('should reject invalid rating', async () => {
- for (const test of [{ rating: 7 }, { rating: 3.5 }, { rating: null }]) {
- const { status, body } = await request(app)
- .put(`/assets/${user1Assets[0].id}`)
- .send(test)
- .set('Authorization', `Bearer ${user1.accessToken}`);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest());
- }
- });
-
it('should return tagged people', async () => {
const { status, body } = await request(app)
.put(`/assets/${user1Assets[0].id}`)
@@ -746,25 +654,6 @@ describe('/asset', () => {
});
describe('DELETE /assets', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app)
- .delete(`/assets`)
- .send({ ids: [uuidDto.notFound] });
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
- it('should require a valid uuid', async () => {
- const { status, body } = await request(app)
- .delete(`/assets`)
- .send({ ids: [uuidDto.invalid] })
- .set('Authorization', `Bearer ${admin.accessToken}`);
-
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest(['each value in ids must be a UUID']));
- });
-
it('should throw an error when the id is not found', async () => {
const { status, body } = await request(app)
.delete(`/assets`)
@@ -877,13 +766,6 @@ describe('/asset', () => {
});
describe('GET /assets/:id/thumbnail', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get(`/assets/${locationAsset.id}/thumbnail`);
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should not include gps data for webp thumbnails', async () => {
await utils.waitForWebsocketEvent({
event: 'assetUpload',
@@ -919,13 +801,6 @@ describe('/asset', () => {
});
describe('GET /assets/:id/original', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get(`/assets/${locationAsset.id}/original`);
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should download the original', async () => {
const { status, body, type } = await request(app)
.get(`/assets/${locationAsset.id}/original`)
@@ -946,43 +821,9 @@ describe('/asset', () => {
});
});
- describe('PUT /assets', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).put('/assets');
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
- });
-
describe('POST /assets', () => {
beforeAll(setupTests, 30_000);
- it('should require authentication', async () => {
- const { status, body } = await request(app).post(`/assets`);
- expect(body).toEqual(errorDto.unauthorized);
- expect(status).toBe(401);
- });
-
- it.each([
- { should: 'require `deviceAssetId`', dto: { ...makeUploadDto({ omit: 'deviceAssetId' }) } },
- { should: 'require `deviceId`', dto: { ...makeUploadDto({ omit: 'deviceId' }) } },
- { should: 'require `fileCreatedAt`', dto: { ...makeUploadDto({ omit: 'fileCreatedAt' }) } },
- { should: 'require `fileModifiedAt`', dto: { ...makeUploadDto({ omit: 'fileModifiedAt' }) } },
- { should: 'require `duration`', dto: { ...makeUploadDto({ omit: 'duration' }) } },
- { should: 'throw if `isFavorite` is not a boolean', dto: { ...makeUploadDto(), isFavorite: 'not-a-boolean' } },
- { should: 'throw if `isVisible` is not a boolean', dto: { ...makeUploadDto(), isVisible: 'not-a-boolean' } },
- { should: 'throw if `isArchived` is not a boolean', dto: { ...makeUploadDto(), isArchived: 'not-a-boolean' } },
- ])('should $should', async ({ dto }) => {
- const { status, body } = await request(app)
- .post('/assets')
- .set('Authorization', `Bearer ${user1.accessToken}`)
- .attach('assetData', makeRandomImage(), 'example.png')
- .field(dto);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest());
- });
-
const tests = [
{
input: 'formats/avif/8bit-sRGB.avif',
@@ -1244,31 +1085,21 @@ describe('/asset', () => {
},
];
- it(`should upload and generate a thumbnail for different file types`, async () => {
- // upload in parallel
- const assets = await Promise.all(
- tests.map(async ({ input }) => {
- const filepath = join(testAssetDir, input);
- return utils.createAsset(admin.accessToken, {
- assetData: { bytes: await readFile(filepath), filename: basename(filepath) },
- });
- }),
- );
+ it.each(tests)(`should upload and generate a thumbnail for different file types`, async ({ input, expected }) => {
+ const filepath = join(testAssetDir, input);
+ const response = await utils.createAsset(admin.accessToken, {
+ assetData: { bytes: await readFile(filepath), filename: basename(filepath) },
+ });
- for (const { id, status } of assets) {
- expect(status).toBe(AssetMediaStatus.Created);
- // longer timeout as the thumbnail generation from full-size raw files can take a while
- await utils.waitForWebsocketEvent({ event: 'assetUpload', id });
- }
+ expect(response.status).toBe(AssetMediaStatus.Created);
+ const id = response.id;
+ // longer timeout as the thumbnail generation from full-size raw files can take a while
+ await utils.waitForWebsocketEvent({ event: 'assetUpload', id });
- for (const [i, { id }] of assets.entries()) {
- const { expected } = tests[i];
- const asset = await utils.getAssetInfo(admin.accessToken, id);
-
- expect(asset.exifInfo).toBeDefined();
- expect(asset.exifInfo).toMatchObject(expected.exifInfo);
- expect(asset).toMatchObject(expected);
- }
+ const asset = await utils.getAssetInfo(admin.accessToken, id);
+ expect(asset.exifInfo).toBeDefined();
+ expect(asset.exifInfo).toMatchObject(expected.exifInfo);
+ expect(asset).toMatchObject(expected);
});
it('should handle a duplicate', async () => {
diff --git a/e2e/src/api/specs/auth.e2e-spec.ts b/e2e/src/api/specs/auth.e2e-spec.ts
index 1b653a781f..0f407f4ba7 100644
--- a/e2e/src/api/specs/auth.e2e-spec.ts
+++ b/e2e/src/api/specs/auth.e2e-spec.ts
@@ -19,17 +19,6 @@ describe(`/auth/admin-sign-up`, () => {
expect(body).toEqual(signupResponseDto.admin);
});
- it('should sign up the admin with a local domain', async () => {
- const { status, body } = await request(app)
- .post('/auth/admin-sign-up')
- .send({ ...signupDto.admin, email: 'admin@local' });
- expect(status).toEqual(201);
- expect(body).toEqual({
- ...signupResponseDto.admin,
- email: 'admin@local',
- });
- });
-
it('should not allow a second admin to sign up', async () => {
await signUpAdmin({ signUpDto: signupDto.admin });
@@ -57,22 +46,6 @@ describe('/auth/*', () => {
expect(body).toEqual(errorDto.incorrectLogin);
});
- for (const key of Object.keys(loginDto.admin)) {
- it(`should not allow null ${key}`, async () => {
- const { status, body } = await request(app)
- .post('/auth/login')
- .send({ ...loginDto.admin, [key]: null });
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest());
- });
-
- it('should reject an invalid email', async () => {
- const { status, body } = await request(app).post('/auth/login').send({ email: [], password });
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.invalidEmail);
- });
- }
-
it('should accept a correct password', async () => {
const { status, body, headers } = await request(app).post('/auth/login').send({ email, password });
expect(status).toBe(201);
@@ -127,14 +100,6 @@ describe('/auth/*', () => {
});
describe('POST /auth/change-password', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app)
- .post(`/auth/change-password`)
- .send({ password, newPassword: 'Password1234' });
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should require the current password', async () => {
const { status, body } = await request(app)
.post(`/auth/change-password`)
diff --git a/e2e/src/api/specs/download.e2e-spec.ts b/e2e/src/api/specs/download.e2e-spec.ts
index 3d3e6c7650..4dcb6934af 100644
--- a/e2e/src/api/specs/download.e2e-spec.ts
+++ b/e2e/src/api/specs/download.e2e-spec.ts
@@ -1,6 +1,5 @@
import { AssetMediaResponseDto, LoginResponseDto } from '@immich/sdk';
import { readFile, writeFile } from 'node:fs/promises';
-import { errorDto } from 'src/responses';
import { app, tempDir, utils } from 'src/utils';
import request from 'supertest';
import { beforeAll, describe, expect, it } from 'vitest';
@@ -17,15 +16,6 @@ describe('/download', () => {
});
describe('POST /download/info', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app)
- .post(`/download/info`)
- .send({ assetIds: [asset1.id] });
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should download info', async () => {
const { status, body } = await request(app)
.post('/download/info')
@@ -42,15 +32,6 @@ describe('/download', () => {
});
describe('POST /download/archive', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app)
- .post(`/download/archive`)
- .send({ assetIds: [asset1.id, asset2.id] });
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should download an archive', async () => {
const { status, body } = await request(app)
.post('/download/archive')
diff --git a/e2e/src/api/specs/map.e2e-spec.ts b/e2e/src/api/specs/map.e2e-spec.ts
index da5f779cff..977638aa24 100644
--- a/e2e/src/api/specs/map.e2e-spec.ts
+++ b/e2e/src/api/specs/map.e2e-spec.ts
@@ -1,4 +1,4 @@
-import { LoginResponseDto } from '@immich/sdk';
+import { AssetVisibility, LoginResponseDto } from '@immich/sdk';
import { readFile } from 'node:fs/promises';
import { basename, join } from 'node:path';
import { Socket } from 'socket.io-client';
@@ -44,7 +44,7 @@ describe('/map', () => {
it('should get map markers for all non-archived assets', async () => {
const { status, body } = await request(app)
.get('/map/markers')
- .query({ isArchived: false })
+ .query({ visibility: AssetVisibility.Timeline })
.set('Authorization', `Bearer ${admin.accessToken}`);
expect(status).toBe(200);
diff --git a/e2e/src/api/specs/search.e2e-spec.ts b/e2e/src/api/specs/search.e2e-spec.ts
index 1031390ee9..2f6ea75f77 100644
--- a/e2e/src/api/specs/search.e2e-spec.ts
+++ b/e2e/src/api/specs/search.e2e-spec.ts
@@ -1,9 +1,15 @@
-import { AssetMediaResponseDto, AssetResponseDto, deleteAssets, LoginResponseDto, updateAsset } from '@immich/sdk';
+import {
+ AssetMediaResponseDto,
+ AssetResponseDto,
+ AssetVisibility,
+ deleteAssets,
+ LoginResponseDto,
+ updateAsset,
+} from '@immich/sdk';
import { DateTime } from 'luxon';
import { readFile } from 'node:fs/promises';
import { join } from 'node:path';
import { Socket } from 'socket.io-client';
-import { errorDto } from 'src/responses';
import { app, asBearerAuth, TEN_TIMES, testAssetDir, utils } from 'src/utils';
import request from 'supertest';
import { afterAll, beforeAll, describe, expect, it } from 'vitest';
@@ -50,7 +56,7 @@ describe('/search', () => {
{ filename: '/formats/motionphoto/samsung-one-ui-6.heic' },
{ filename: '/formats/motionphoto/samsung-one-ui-5.jpg' },
- { filename: '/metadata/gps-position/thompson-springs.jpg', dto: { isArchived: true } },
+ { filename: '/metadata/gps-position/thompson-springs.jpg', dto: { visibility: AssetVisibility.Archive } },
// used for search suggestions
{ filename: '/formats/png/density_plot.png' },
@@ -141,65 +147,6 @@ describe('/search', () => {
});
describe('POST /search/metadata', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).post('/search/metadata');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
- const badTests = [
- {
- should: 'should reject page as a string',
- dto: { page: 'abc' },
- expected: ['page must not be less than 1', 'page must be an integer number'],
- },
- {
- should: 'should reject page as a decimal',
- dto: { page: 1.5 },
- expected: ['page must be an integer number'],
- },
- {
- should: 'should reject page as a negative number',
- dto: { page: -10 },
- expected: ['page must not be less than 1'],
- },
- {
- should: 'should reject page as 0',
- dto: { page: 0 },
- expected: ['page must not be less than 1'],
- },
- {
- should: 'should reject size as a string',
- dto: { size: 'abc' },
- expected: [
- 'size must not be greater than 1000',
- 'size must not be less than 1',
- 'size must be an integer number',
- ],
- },
- {
- should: 'should reject an invalid size',
- dto: { size: -1.5 },
- expected: ['size must not be less than 1', 'size must be an integer number'],
- },
- ...['isArchived', 'isFavorite', 'isEncoded', 'isOffline', 'isMotion', 'isVisible'].map((value) => ({
- should: `should reject ${value} not a boolean`,
- dto: { [value]: 'immich' },
- expected: [`${value} must be a boolean value`],
- })),
- ];
-
- for (const { should, dto, expected } of badTests) {
- it(should, async () => {
- const { status, body } = await request(app)
- .post('/search/metadata')
- .set('Authorization', `Bearer ${admin.accessToken}`)
- .send(dto);
- expect(status).toBe(400);
- expect(body).toEqual(errorDto.badRequest(expected));
- });
- }
-
const searchTests = [
{
should: 'should get my assets',
@@ -231,12 +178,12 @@ describe('/search', () => {
deferred: () => ({ dto: { size: 1, isFavorite: false }, assets: [assetLast] }),
},
{
- should: 'should search by isArchived (true)',
- deferred: () => ({ dto: { isArchived: true }, assets: [assetSprings] }),
+ should: 'should search by visibility (AssetVisibility.Archive)',
+ deferred: () => ({ dto: { visibility: AssetVisibility.Archive }, assets: [assetSprings] }),
},
{
- should: 'should search by isArchived (false)',
- deferred: () => ({ dto: { size: 1, isArchived: false }, assets: [assetLast] }),
+ should: 'should search by visibility (AssetVisibility.Timeline)',
+ deferred: () => ({ dto: { size: 1, visibility: AssetVisibility.Timeline }, assets: [assetLast] }),
},
{
should: 'should search by type (image)',
@@ -245,7 +192,7 @@ describe('/search', () => {
{
should: 'should search by type (video)',
deferred: () => ({
- dto: { type: 'VIDEO' },
+ dto: { type: 'VIDEO', visibility: AssetVisibility.Hidden },
assets: [
// the three live motion photos
{ id: expect.any(String) },
@@ -289,13 +236,6 @@ describe('/search', () => {
should: 'should search by takenAfter (no results)',
deferred: () => ({ dto: { takenAfter: today.plus({ hour: 1 }).toJSDate() }, assets: [] }),
},
- // {
- // should: 'should search by originalPath',
- // deferred: () => ({
- // dto: { originalPath: asset1.originalPath },
- // assets: [asset1],
- // }),
- // },
{
should: 'should search by originalFilename',
deferred: () => ({
@@ -325,7 +265,7 @@ describe('/search', () => {
deferred: () => ({
dto: {
city: '',
- isVisible: true,
+ visibility: AssetVisibility.Timeline,
includeNull: true,
},
assets: [assetLast],
@@ -336,7 +276,7 @@ describe('/search', () => {
deferred: () => ({
dto: {
city: null,
- isVisible: true,
+ visibility: AssetVisibility.Timeline,
includeNull: true,
},
assets: [assetLast],
@@ -357,7 +297,7 @@ describe('/search', () => {
deferred: () => ({
dto: {
state: '',
- isVisible: true,
+ visibility: AssetVisibility.Timeline,
withExif: true,
includeNull: true,
},
@@ -369,7 +309,7 @@ describe('/search', () => {
deferred: () => ({
dto: {
state: null,
- isVisible: true,
+ visibility: AssetVisibility.Timeline,
includeNull: true,
},
assets: [assetLast, assetNotocactus],
@@ -390,7 +330,7 @@ describe('/search', () => {
deferred: () => ({
dto: {
country: '',
- isVisible: true,
+ visibility: AssetVisibility.Timeline,
includeNull: true,
},
assets: [assetLast],
@@ -401,7 +341,7 @@ describe('/search', () => {
deferred: () => ({
dto: {
country: null,
- isVisible: true,
+ visibility: AssetVisibility.Timeline,
includeNull: true,
},
assets: [assetLast],
@@ -454,14 +394,6 @@ describe('/search', () => {
}
});
- describe('POST /search/smart', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).post('/search/smart');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
- });
-
describe('POST /search/random', () => {
beforeAll(async () => {
await Promise.all([
@@ -476,13 +408,6 @@ describe('/search', () => {
await utils.waitForQueueFinish(admin.accessToken, 'thumbnailGeneration');
});
- it('should require authentication', async () => {
- const { status, body } = await request(app).post('/search/random').send({ size: 1 });
-
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it.each(TEN_TIMES)('should return 1 random assets', async () => {
const { status, body } = await request(app)
.post('/search/random')
@@ -512,12 +437,6 @@ describe('/search', () => {
});
describe('GET /search/explore', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/search/explore');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should get explore data', async () => {
const { status, body } = await request(app)
.get('/search/explore')
@@ -528,12 +447,6 @@ describe('/search', () => {
});
describe('GET /search/places', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/search/places');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should get relevant places', async () => {
const name = 'Paris';
@@ -552,12 +465,6 @@ describe('/search', () => {
});
describe('GET /search/cities', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/search/cities');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should get all cities', async () => {
const { status, body } = await request(app)
.get('/search/cities')
@@ -576,12 +483,6 @@ describe('/search', () => {
});
describe('GET /search/suggestions', () => {
- it('should require authentication', async () => {
- const { status, body } = await request(app).get('/search/suggestions');
- expect(status).toBe(401);
- expect(body).toEqual(errorDto.unauthorized);
- });
-
it('should get suggestions for country (including null)', async () => {
const { status, body } = await request(app)
.get('/search/suggestions?type=country&includeNull=true')
diff --git a/e2e/src/api/specs/timeline.e2e-spec.ts b/e2e/src/api/specs/timeline.e2e-spec.ts
index bf330e994a..93ba8b6527 100644
--- a/e2e/src/api/specs/timeline.e2e-spec.ts
+++ b/e2e/src/api/specs/timeline.e2e-spec.ts
@@ -1,4 +1,4 @@
-import { AssetMediaResponseDto, LoginResponseDto, SharedLinkType, TimeBucketSize } from '@immich/sdk';
+import { AssetMediaResponseDto, AssetVisibility, LoginResponseDto, SharedLinkType, TimeBucketSize } from '@immich/sdk';
import { DateTime } from 'luxon';
import { createUserDto } from 'src/fixtures';
import { errorDto } from 'src/responses';
@@ -104,7 +104,7 @@ describe('/timeline', () => {
const req1 = await request(app)
.get('/timeline/buckets')
.set('Authorization', `Bearer ${timeBucketUser.accessToken}`)
- .query({ size: TimeBucketSize.Month, withPartners: true, isArchived: true });
+ .query({ size: TimeBucketSize.Month, withPartners: true, visibility: AssetVisibility.Archive });
expect(req1.status).toBe(400);
expect(req1.body).toEqual(errorDto.badRequest());
@@ -112,7 +112,7 @@ describe('/timeline', () => {
const req2 = await request(app)
.get('/timeline/buckets')
.set('Authorization', `Bearer ${user.accessToken}`)
- .query({ size: TimeBucketSize.Month, withPartners: true, isArchived: undefined });
+ .query({ size: TimeBucketSize.Month, withPartners: true, visibility: undefined });
expect(req2.status).toBe(400);
expect(req2.body).toEqual(errorDto.badRequest());
diff --git a/e2e/src/utils.ts b/e2e/src/utils.ts
index 08b29a4a11..1d5004d385 100644
--- a/e2e/src/utils.ts
+++ b/e2e/src/utils.ts
@@ -3,6 +3,7 @@ import {
AssetMediaCreateDto,
AssetMediaResponseDto,
AssetResponseDto,
+ AssetVisibility,
CheckExistingAssetsDto,
CreateAlbumDto,
CreateLibraryDto,
@@ -429,7 +430,10 @@ export const utils = {
},
archiveAssets: (accessToken: string, ids: string[]) =>
- updateAssets({ assetBulkUpdateDto: { ids, isArchived: true } }, { headers: asBearerAuth(accessToken) }),
+ updateAssets(
+ { assetBulkUpdateDto: { ids, visibility: AssetVisibility.Archive } },
+ { headers: asBearerAuth(accessToken) },
+ ),
deleteAssets: (accessToken: string, ids: string[]) =>
deleteAssets({ assetBulkDeleteDto: { ids } }, { headers: asBearerAuth(accessToken) }),
diff --git a/e2e/src/web/specs/shared-link.e2e-spec.ts b/e2e/src/web/specs/shared-link.e2e-spec.ts
index aeddb86322..017bc0fcb2 100644
--- a/e2e/src/web/specs/shared-link.e2e-spec.ts
+++ b/e2e/src/web/specs/shared-link.e2e-spec.ts
@@ -47,15 +47,13 @@ test.describe('Shared Links', () => {
await page.locator(`[data-asset-id="${asset.id}"]`).hover();
await page.waitForSelector('[data-group] svg');
await page.getByRole('checkbox').click();
- await page.getByRole('button', { name: 'Download' }).click();
- await page.waitForEvent('download');
+ await Promise.all([page.waitForEvent('download'), page.getByRole('button', { name: 'Download' }).click()]);
});
test('download all from shared link', async ({ page }) => {
await page.goto(`/share/${sharedLink.key}`);
await page.getByRole('heading', { name: 'Test Album' }).waitFor();
- await page.getByRole('button', { name: 'Download' }).click();
- await page.waitForEvent('download');
+ await Promise.all([page.waitForEvent('download'), page.getByRole('button', { name: 'Download' }).click()]);
});
test('enter password for a shared link', async ({ page }) => {
diff --git a/e2e/test-assets b/e2e/test-assets
index 9e3b964b08..8885d6d01c 160000
--- a/e2e/test-assets
+++ b/e2e/test-assets
@@ -1 +1 @@
-Subproject commit 9e3b964b080dca6f035b29b86e66454ae8aeda78
+Subproject commit 8885d6d01c12242785b6ea68f4a277334f60bc90
diff --git a/i18n/ar.json b/i18n/ar.json
index d6e26985cb..815d870b08 100644
--- a/i18n/ar.json
+++ b/i18n/ar.json
@@ -187,20 +187,13 @@
"oauth_auto_register": "Ø§ŲØĒØŗØŦŲŲ Ø§ŲØĒŲŲØ§ØĻŲ",
"oauth_auto_register_description": "Ø§ŲØĒØŗØŦŲŲ Ø§ŲØĒŲŲØ§ØĻŲ ŲŲŲ
ØŗØĒ؎دŲ
ŲŲ Ø§ŲØŦدد بؚد ØĒØŗØŦŲŲ Ø§ŲØ¯ØŽŲŲ Ø¨Ø§ØŗØĒ؎داŲ
OAuth",
"oauth_button_text": "ŲØĩ Ø§ŲØ˛Øą",
- "oauth_client_id": "Ų
ØšØąŲ Ø§ŲØšŲ
ŲŲ",
- "oauth_client_secret": "Ø§ŲØąŲ
Ø˛ Ø§ŲØŗØąŲ ŲŲØšŲ
ŲŲ",
"oauth_enable_description": "ØĒØŗØŦŲŲ Ø§ŲØ¯ØŽŲŲ Ø¨Ø§ØŗØĒ؎داŲ
OAuth",
- "oauth_issuer_url": "ØšŲŲØ§Ų URL Ø§ŲØŽØ§Øĩ بØŦŲØŠ Ø§ŲØĨØĩØ¯Ø§Øą",
"oauth_mobile_redirect_uri": "ØšŲŲØ§Ų URI ŲØĨؚاد؊ Ø§ŲØĒŲØŦŲŲ ØšŲŲ Ø§ŲŲØ§ØĒŲ",
"oauth_mobile_redirect_uri_override": "ØĒØŦØ§ŲØ˛ ØšŲŲØ§Ų URI ŲØĨؚاد؊ Ø§ŲØĒŲØŦŲŲ ØšŲŲ Ø§ŲŲØ§ØĒŲ",
"oauth_mobile_redirect_uri_override_description": "ŲŲ
بØĒŲØšŲŲŲ ØšŲØ¯Ų
ا ŲØ§ ŲØŗŲ
Ø Ų
ŲŲØą OAuth بŲ
ØšØąŲ URI ŲŲØŦŲØ§ŲØ Ų
ØĢŲ '{callback}'",
- "oauth_profile_signing_algorithm": "ØŽŲØ§ØąØ˛Ų
ŲØŠ ØĒŲŲب𠨧ŲŲ
ŲŲ Ø§ŲØ´ØŽØĩŲ",
- "oauth_profile_signing_algorithm_description": "Ø§ŲØŽŲØ§ØąØ˛Ų
ŲØŠ Ø§ŲŲ
ØŗØĒ؎دŲ
ØŠ ŲŲØĒŲŲŲØš ØšŲŲ Ų
ŲŲ ØĒØšØąŲŲ Ø§ŲŲ
ØŗØĒ؎دŲ
.",
- "oauth_scope": "اŲŲØˇØ§Ų",
"oauth_settings": "OAuth",
"oauth_settings_description": "ØĨØ¯Ø§ØąØŠ ØĨؚداداØĒ ØĒØŗØŦŲŲ Ø§ŲØ¯ØŽŲŲ OAuth",
"oauth_settings_more_details": "ŲŲ
Ø˛ŲØ¯ Ų
Ų Ø§ŲØĒŲØ§ØĩŲŲ ØŲŲ ŲØ°Ų اŲŲ
ŲØ˛ØŠØ ŲØąØŦŲ Ø§ŲØąØŦŲØš ØĨŲŲ Ø§ŲŲØĢØ§ØĻŲ.",
- "oauth_signing_algorithm": "ØŽŲØ§ØąØ˛Ų
ŲØŠ Ø§ŲØĒŲŲŲØš",
"oauth_storage_label_claim": "اŲŲ
ØˇØ§ŲØ¨ØŠ بØĒØĩŲŲŲ Ø§ŲØĒØŽØ˛ŲŲ",
"oauth_storage_label_claim_description": "ŲŲ
ØĒŲŲØ§ØĻŲŲØ§ بØĒØšŲŲŲ ØĒØĩŲŲŲ Ø§ŲØĒØŽØ˛ŲŲ Ø§ŲØŽØ§Øĩ باŲŲ
ØŗØĒ؎دŲ
ØšŲŲ ŲŲŲ
ØŠ ŲØ°Ų اŲŲ
ØˇØ§ŲØ¨ØŠ.",
"oauth_storage_quota_claim": "اŲŲ
ØˇØ§ŲØ¨ØŠ Ø¨ØØĩØŠ Ø§ŲØĒØŽØ˛ŲŲ",
diff --git a/i18n/be.json b/i18n/be.json
index eea566df6a..b8898d8aaf 100644
--- a/i18n/be.json
+++ b/i18n/be.json
@@ -14,6 +14,7 @@
"add_a_location": "ĐадаŅŅ ĐŧĐĩŅŅа",
"add_a_name": "ĐадаŅŅ ŅĐŧŅ",
"add_a_title": "ĐадаŅŅ ĐˇĐ°ĐŗĐ°ĐģОваĐē",
+ "add_endpoint": "ĐадаŅŅ ĐēŅĐžĐŋĐēŅ Đ´ĐžŅŅŅĐŋŅ",
"add_exclusion_pattern": "ĐадаŅŅ ŅайĐģĐžĐŊ вŅĐēĐģŅŅŅĐŊĐŊŅ",
"add_import_path": "ĐадаŅŅ ŅĐģŅŅ
ŅĐŧĐŋаŅŅŅ",
"add_location": "ĐадаКŅĐĩ ĐŧĐĩŅŅа",
@@ -42,7 +43,7 @@
"backup_database_enable_description": "ĐŖĐēĐģŅŅŅŅŅ ŅŅСĐĩŅваваĐŊĐŊĐĩ ĐąĐ°ĐˇŅ Đ´Đ°ĐŊŅŅ
",
"backup_keep_last_amount": "ĐĐžĐģŅĐēаŅŅŅ ĐŋаĐŋŅŅŅĐ´ĐŊŅŅ
ŅŅСĐĩŅвОвŅŅ
ĐēĐžĐŋŅĐš Đ´ĐģŅ ĐˇĐ°Ņ
аваĐŊĐŊŅ",
"backup_settings": "ĐаĐģĐ°Đ´Ņ ŅŅСĐĩŅĐ˛ĐžĐ˛Đ°ĐŗĐ° ĐēаĐŋŅŅваĐŊĐŊŅ",
- "backup_settings_description": "ĐŅŅаваĐŊĐŊĐĩ ĐŊаĐģадĐēаĐŧŅ ŅŅСĐĩŅĐ˛ĐžĐ˛Đ°ĐŗĐ° ĐēаĐŋŅŅваĐŊĐŊŅ ĐąĐ°ĐˇŅ Đ´Đ°ĐŊŅŅ
",
+ "backup_settings_description": "ĐŅŅаваĐŊĐŊĐĩ ĐŊаĐģадаĐŧŅ Đ´Đ°ĐŧĐŋа ĐąĐ°ĐˇŅ Đ´Đ°Đ´ĐˇĐĩĐŊŅŅ
. ĐаŅĐ˛Đ°ĐŗĐ°: ĐŗŅŅŅŅ ĐˇĐ°Đ´Đ°ŅŅ ĐŊĐĩ ĐēаĐŊŅŅаĐģŅŅŅŅа, Ņ Ņ Đ˛ŅĐŋадĐēŅ ĐŊŅŅдаŅŅ ĐŋавĐĩдаĐŧĐģĐĩĐŊĐŊĐĩ адĐŋŅаŅĐģĐĩĐŊа ĐŊĐĩ ĐąŅдСĐĩ.",
"check_all": "ĐŅавĐĩŅŅŅŅ ŅŅĐĩ",
"cleanup": "ĐŅŅŅŅĐēа",
"cleared_jobs": "ĐŅŅŅŅаĐŊŅ ĐˇĐ°Đ´Đ°ĐŊĐŊŅ Đ´ĐģŅ: {job}",
@@ -62,8 +63,18 @@
"external_library_created_at": "ĐĐŊĐĩŅĐŊŅŅ ĐąŅĐąĐģŅŅŅŅĐēа (ŅŅвОŅаĐŊа {date})",
"external_library_management": "ĐŅŅаваĐŊĐŊĐĩ СĐŊĐĩŅĐŊŅĐš ĐąŅĐąĐģŅŅŅŅĐēаК",
"face_detection": "ĐŅŅŅĐģĐĩĐŊĐŊĐĩ ŅваŅаŅ",
+ "face_detection_description": "ĐŅŅŅĐģŅŅŅ ŅваŅŅ ĐŊа ŅĐžŅаСдŅĐŧĐēаŅ
Ņ Đ˛ŅĐ´Ņа С даĐŋаĐŧĐžĐŗĐ°Đš ĐŧаŅŅĐŊĐŊĐ°ĐŗĐ° ĐŊавŅŅаĐŊĐŊŅ. ĐĐģŅ Đ˛ŅĐ´Ņа ŅĐģŅŅваĐĩŅŅа ŅĐžĐģŅĐēŅ ĐŧŅĐŊŅŅŅŅŅа. \"ĐĐąĐŊавŅŅŅ\" (ĐŋĐĩŅа)аĐŋŅаŅĐžŅваĐĩ ŅŅĐĩ ĐŧĐĩĐ´ŅŅ. \"ĐĄĐēŅĐŊŅŅŅ\" дадаŅĐēОва аŅŅŅŅаĐĩ ŅŅĐĩ ĐąŅĐŗŅŅŅŅ Đ´Đ°Đ´ĐˇĐĩĐŊŅŅ ĐŋŅа ŅваŅŅ. \"ĐĐ´ŅŅŅĐŊŅŅаĐĩ\" ŅŅавŅŅŅ Ņ ŅаŅĐŗŅ ĐŧĐĩĐ´ŅŅ, ŅĐēŅŅ ŅŅŅŅ ĐŊĐĩ ĐąŅĐģŅ Đ°ĐŋŅаŅаваĐŊŅŅ. ĐŅŅŅĐģĐĩĐŊŅŅ ŅваŅŅ ĐąŅĐ´ŅŅŅ ĐŋаŅŅаŅĐģĐĩĐŊŅ Ņ ŅаŅĐŗŅ Đ´ĐģŅ ŅаŅĐŋаСĐŊаваĐŊĐŊŅ Đ°ŅОй ĐŋаŅĐģŅ ĐˇĐ°Đ˛ŅŅŅŅĐŊĐŊŅ Đ˛ŅŅŅĐģĐĩĐŊĐŊŅ ŅваŅаŅ, С ĐŗŅŅĐŋаваĐŊĐŊĐĩĐŧ ŅŅ
Đŋа ŅŅĐŊŅŅŅŅŅ
айО ĐŊОвŅŅ
ĐģŅдСŅŅ
.",
+ "facial_recognition_job_description": "ĐŅŅĐŋаваŅŅ Đ˛ŅŅŅĐģĐĩĐŊŅŅ ŅваŅŅ Đŋа аŅОйаŅ
. ĐŅŅŅ ŅŅаĐŋ вŅĐēĐžĐŊваĐĩŅŅа ĐŋаŅĐģŅ ĐˇĐ°Đ˛ŅŅŅŅĐŊĐŊŅ Đ˛ŅŅŅĐģĐĩĐŊĐŊŅ ŅваŅаŅ. \"ĐĄĐēŅĐŊŅŅŅ\" (ĐŋаŅŅĐžŅĐŊа) ĐŋĐĩŅĐ°ĐŗŅŅĐŋĐžŅваĐĩ ŅŅĐĩ ŅваŅŅ. \"ĐĐ´ŅŅŅĐŊŅŅаĐĩ\" ŅŅавŅŅŅ Ņ ŅаŅĐŗŅ ŅваŅŅ, ŅĐēŅŅ ŅŅŅŅ ĐŊĐĩ ĐŋŅŅĐŋŅŅаĐŊŅŅ Đ´Đ° ŅĐēОК-ĐŊĐĩĐąŅĐ´ĐˇŅ Đ°ŅОйŅ.",
+ "failed_job_command": "ĐаĐŧаĐŊда {command} ĐŊĐĩ вŅĐēаĐŊаĐģаŅŅ Đ´ĐģŅ ĐˇĐ°Đ´Đ°ĐŊĐŊŅ: {job}",
"force_delete_user_warning": "ĐĐĐĐ¯Đ ĐĐĐĐĐĐĐ: ĐŅŅа дСĐĩŅĐŊĐŊĐĩ ĐŊĐĩадĐēĐģадĐŊа вŅдаĐģŅŅŅ ĐēаŅŅŅŅаĐģŅĐŊŅĐēа Ņ ŅŅĐĩ ай'ĐĩĐēŅŅ. ĐŅŅа дСĐĩŅĐŊĐŊĐĩ ĐŊĐĩ ĐŧĐžĐļа ĐąŅŅŅ Đ°Đ´ŅОйĐģĐĩĐŊа Ņ ŅаКĐģŅ ĐŊĐĩĐŧĐ°ĐŗŅŅĐŧа ĐąŅдСĐĩ адĐŊавŅŅŅ.",
+ "forcing_refresh_library_files": "ĐŅŅĐŧŅŅОваĐĩ айĐŊаŅĐģĐĩĐŊĐŊĐĩ ŅŅŅŅ
ŅаКĐģĐ°Ņ ĐąŅĐąĐģŅŅŅŅĐēŅ",
"image_format": "ФаŅĐŧаŅ",
+ "image_format_description": "WebP ŅŅваŅаĐĩ ĐŧĐĩĐŊŅŅŅ ŅаКĐģŅ, ŅŅĐŧ JPEG, аĐģĐĩ ĐŋавОĐģŅĐŊĐĩĐš ĐēадŅĐĩ.",
+ "image_fullsize_description": "ĐŅŅва Ņ ĐŋĐžŅĐŊŅĐŧ ĐŋаĐŧĐĩŅŅ ĐąĐĩС ĐŧĐĩŅадаĐŊŅŅ
, вŅĐēаŅŅŅŅĐžŅваĐĩŅŅа ĐŋŅŅ ĐŋавĐĩĐģŅŅŅĐŊĐŊŅ",
+ "image_fullsize_enabled": "ĐŖĐēĐģŅŅŅŅŅ ŅŅваŅŅĐŊĐŊĐĩ вŅŅĐ˛Ņ Ņ ĐŋĐžŅĐŊŅĐŧ ĐŋаĐŧĐĩŅŅ",
+ "image_fullsize_enabled_description": "ĐĄŅваŅаŅŅ Đ˛ŅŅĐ˛Ņ Ņ ĐŋĐžŅĐŊŅĐŧ ĐŋаĐŧĐĩŅŅ Đ´ĐģŅ ŅаŅĐŧаŅаŅ, ŅŅĐž ĐŊĐĩ ĐŋŅŅдаŅĐŊŅŅ Đ´ĐģŅ Đ˛ŅĐą. ĐаĐģŅ ŅĐēĐģŅŅаĐŊа ĐžĐŋŅŅŅ \"ĐддаваŅŅ ĐŋĐĩŅĐ°Đ˛Đ°ĐŗŅ ŅĐąŅдаваĐŊаК ĐŋŅаŅвĐĩ\", ĐŋŅĐ°ĐŗĐģŅĐ´Ņ Đ˛ŅĐēаŅŅŅŅĐžŅваŅŅŅа ĐŊĐĩĐŋаŅŅŅĐ´ĐŊа ĐąĐĩС ĐēаĐŊвĐĩŅŅаŅŅŅ. ĐĐĩ ŅĐŋĐģŅваĐĩ ĐŊа вŅĐą-ĐŋŅŅдаŅĐŊŅŅ ŅаŅĐŧаŅŅ, ŅаĐēŅŅ ŅĐē JPEG.",
+ "image_fullsize_quality_description": "Đ¯ĐēаŅŅŅ Đ˛ŅŅĐ˛Ņ Ņ ĐŋĐžŅĐŊŅĐŧ ĐŋаĐŧĐĩŅŅ Đ°Đ´ 1 да 100. ĐĐžĐģŅŅ Đ˛ŅŅĐžĐēаĐĩ СĐŊаŅŅĐŊĐŊĐĩ ĐģĐĩĐŋŅаĐĩ, аĐģĐĩ ĐŋŅŅвОдСŅŅŅ Đ´Đ° ĐŋавĐĩĐģŅŅŅĐŊĐŊŅ ĐŋаĐŧĐĩŅŅ ŅаКĐģа.",
+ "image_fullsize_title": "ĐаĐģĐ°Đ´Ņ Đ˛ŅŅĐ˛Ņ Ņ ĐŋĐžŅĐŊŅĐŧ ĐŋаĐŧĐĩŅŅ",
"image_preview_title": "ĐаĐģĐ°Đ´Ņ ĐŋаĐŋŅŅŅĐ´ĐŊŅĐŗĐ° ĐŋŅĐ°ĐŗĐģŅĐ´Ņ",
"image_quality": "Đ¯ĐēаŅŅŅ",
"image_resolution": "РаСдСŅĐģŅĐģŅĐŊаŅŅŅ",
diff --git a/i18n/bg.json b/i18n/bg.json
index e9e72743e3..468b1637b0 100644
--- a/i18n/bg.json
+++ b/i18n/bg.json
@@ -183,20 +183,13 @@
"oauth_auto_register": "ĐвŅĐžĐŧаŅиŅĐŊа ŅĐĩĐŗĐ¸ŅŅŅаŅиŅ",
"oauth_auto_register_description": "ĐвŅĐžĐŧаŅиŅĐŊĐž ŅĐĩĐŗĐ¸ŅŅŅиŅаĐŊĐĩ ĐŊа ĐŊОви ĐŋĐžŅŅĐĩйиŅĐĩĐģи ŅĐģĐĩĐ´ вĐģиСаĐŊĐĩ Ņ OAuth",
"oauth_button_text": "ĐĸĐĩĐēŅŅ ĐŊа ĐąŅŅĐžĐŊа",
- "oauth_client_id": "ĐĐģиĐĩĐŊŅŅĐēи ID",
- "oauth_client_secret": "ĐĐģиĐĩĐŊŅŅĐēа ŅаКĐŊа",
"oauth_enable_description": "ĐĐģиСаĐŊĐĩ Ņ OAuth",
- "oauth_issuer_url": "URL ĐŊа иСдаŅĐĩĐģŅ",
"oauth_mobile_redirect_uri": "URI Са ĐŧОйиĐģĐŊĐž ĐŋŅĐĩĐŊаŅĐžŅваĐŊĐĩ",
"oauth_mobile_redirect_uri_override": "URI ĐŋŅĐĩĐŊаŅĐžŅваĐŊĐĩ Са ĐŧОйиĐģĐŊи ŅŅŅŅОКŅŅва",
"oauth_mobile_redirect_uri_override_description": "РаСŅĐĩŅи ĐēĐžĐŗĐ°ŅĐž Đ´ĐžŅŅавŅиĐēа Са OAuth ŅĐ´ĐžŅŅОвĐĩŅŅваĐŊĐĩ ĐŊĐĩ ĐŋОСвОĐģŅва Са ĐŧОйиĐģĐŊи URI идĐĩĐŊŅиŅиĐēаŅĐžŅи, ĐēаŅĐž '{callback}'",
- "oauth_profile_signing_algorithm": "ĐĐģĐŗĐžŅиŅŅĐŧ Са ŅŅСдаваĐŊĐĩ ĐŊа ĐŋŅĐžŅиĐģи",
- "oauth_profile_signing_algorithm_description": "ĐĐģĐŗĐžŅиŅŅĐŧ иСĐŋĐžĐģСваĐŊ Са вĐŋиŅваĐŊĐĩ ĐŊа ĐŋĐžŅŅĐĩйиŅĐĩĐģŅĐēи ĐŋŅĐžŅиĐģ.",
- "oauth_scope": "ĐĐąĐģаŅŅ/ОйŅ
Đ˛Đ°Ņ ĐŊа ĐŋŅиĐģĐžĐļĐĩĐŊиĐĩ",
"oauth_settings": "OAuth",
"oauth_settings_description": "ĐŖĐŋŅавĐģĐĩĐŊиĐĩ ĐŊа ĐŊаŅŅŅОКĐēиŅĐĩ Са вŅ
Од Ņ OAuth",
"oauth_settings_more_details": "Đа ĐŋОвĐĩŅĐĩ иĐŊŅĐžŅĐŧаŅĐ¸Ņ ĐˇĐ° ŅŅĐŊĐēŅиОĐŊаĐģĐŊĐžŅŅŅа, ŅĐĩ ĐŋĐžŅŅŅŅĐĩŅĐĩ в docs.",
- "oauth_signing_algorithm": "ĐĐģĐŗĐžŅиŅŅĐŧ Са вĐŋиŅваĐŊĐĩ",
"oauth_storage_label_claim": "ĐаŅвĐēа Са ĐĩŅиĐēĐĩŅ ĐˇĐ° ŅŅŅ
ŅаĐŊĐĩĐŊиĐĩ",
"oauth_storage_label_claim_description": "ĐвŅĐžĐŧаŅиŅĐŊĐž СадаКŅĐĩ ĐĩŅиĐēĐĩŅа Са ŅŅŅ
ŅаĐŊĐĩĐŊиĐĩ ĐŊа ĐŋĐžŅŅĐĩйиŅĐĩĐģŅ ŅŅŅ ŅŅОКĐŊĐžŅŅŅа ĐžŅ ŅаСи СаŅвĐēа.",
"oauth_storage_quota_claim": "ĐаŅвĐēа Са ĐēвОŅа Са ŅŅŅ
ŅаĐŊĐĩĐŊиĐĩ",
diff --git a/i18n/bi.json b/i18n/bi.json
index a70ce05dfb..8a4f4a6193 100644
--- a/i18n/bi.json
+++ b/i18n/bi.json
@@ -138,17 +138,12 @@
"oauth_auto_register": "",
"oauth_auto_register_description": "",
"oauth_button_text": "",
- "oauth_client_id": "",
- "oauth_client_secret": "",
"oauth_enable_description": "",
- "oauth_issuer_url": "",
"oauth_mobile_redirect_uri": "",
"oauth_mobile_redirect_uri_override": "",
"oauth_mobile_redirect_uri_override_description": "",
- "oauth_scope": "",
"oauth_settings": "",
"oauth_settings_description": "",
- "oauth_signing_algorithm": "",
"oauth_storage_label_claim": "",
"oauth_storage_label_claim_description": "",
"oauth_storage_quota_claim": "",
diff --git a/i18n/ca.json b/i18n/ca.json
index c2482f3ddd..38210ee5a9 100644
--- a/i18n/ca.json
+++ b/i18n/ca.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Registre automà tic",
"oauth_auto_register_description": "Registra nous usuaris automà ticament desprÊs d'iniciar sessiÃŗ amb OAuth",
"oauth_button_text": "Text del botÃŗ",
- "oauth_client_id": "ID Client",
- "oauth_client_secret": "Secret de Client",
"oauth_enable_description": "Iniciar sessiÃŗ amb OAuth",
- "oauth_issuer_url": "URL de l'emissor",
"oauth_mobile_redirect_uri": "URI de redirecciÃŗ mÃ˛bil",
"oauth_mobile_redirect_uri_override": "Sobreescriu l'URI de redirecciÃŗ mÃ˛bil",
"oauth_mobile_redirect_uri_override_description": "Habilita quan el proveïdor d'OAuth no permet una URI mÃ˛bil, com ara '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritme de signatura del perfil",
- "oauth_profile_signing_algorithm_description": "Algoritme utilitzat per signar el perfil dâusuari.",
- "oauth_scope": "Abast",
"oauth_settings": "OAuth",
"oauth_settings_description": "Gestiona la configuraciÃŗ de l'inici de sessiÃŗ OAuth",
"oauth_settings_more_details": "Per a mÊs detalls sobre aquesta funcionalitat, consulteu la documentaciÃŗ.",
- "oauth_signing_algorithm": "Algorisme de signatura",
"oauth_storage_label_claim": "PeticiÃŗ d'etiquetatge d'emmagatzematge",
"oauth_storage_label_claim_description": "Estableix automà ticament l'etiquetatge d'emmagatzematge de l'usuari a aquest valor.",
"oauth_storage_quota_claim": "Quota d'emmagatzematge reclamada",
diff --git a/i18n/cs.json b/i18n/cs.json
index 46cde0affd..039df198d9 100644
--- a/i18n/cs.json
+++ b/i18n/cs.json
@@ -192,26 +192,22 @@
"oauth_auto_register": "AutomatickÃĄ registrace",
"oauth_auto_register_description": "Automaticky registrovat novÊ uÅživatele po pÅihlÃĄÅĄenà pomocà OAuth",
"oauth_button_text": "Text tlaÄÃtka",
- "oauth_client_id": "Client ID",
- "oauth_client_secret": "Client Secret",
+ "oauth_client_secret_description": "VyÅžaduje se, pokud poskytovatel OAuth nepodporuje PKCE (Proof Key for Code Exchange)",
"oauth_enable_description": "PÅihlÃĄsit pomocà OAuth",
- "oauth_issuer_url": "URL vydavatele",
"oauth_mobile_redirect_uri": "Mobilnà pÅesmÄrovÃĄnà URI",
"oauth_mobile_redirect_uri_override": "PÅepsat mobilnà pÅesmÄrovÃĄnà URI",
"oauth_mobile_redirect_uri_override_description": "Povolit, pokud poskytovatel OAuth nepovoluje mobilnà URI, napÅÃklad '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritmus podepisovÃĄnà profilu",
- "oauth_profile_signing_algorithm_description": "Algoritmus pouÅžitÃŊ k podepsÃĄnà profilu uÅživatele.",
- "oauth_scope": "Rozsah",
"oauth_settings": "OAuth",
"oauth_settings_description": "SprÃĄva nastavenà OAuth pÅihlÃĄÅĄenÃ",
"oauth_settings_more_details": "DalÅĄÃ podrobnosti o tÊto funkci naleznete v dokumentaci.",
- "oauth_signing_algorithm": "Algoritmus podepisovÃĄnÃ",
"oauth_storage_label_claim": "Deklarace ÅĄtÃtku ÃēloÅžiÅĄtÄ",
"oauth_storage_label_claim_description": "Automaticky nastavit ÅĄtÃtek ÃēloÅžiÅĄtÄ uÅživatele na hodnotu tÊto deklarace.",
"oauth_storage_quota_claim": "Deklarace kvÃŗty ÃēloÅžiÅĄtÄ",
"oauth_storage_quota_claim_description": "Automaticky nastavit kvÃŗtu ÃēloÅžiÅĄtÄ uÅživatele na hodnotu tÊto deklarace.",
"oauth_storage_quota_default": "VÃŊchozà kvÃŗta ÃēloÅžiÅĄtÄ (GiB)",
"oauth_storage_quota_default_description": "KvÃŗta v GiB, kterÃĄ se pouÅžije, pokud nenà poskytnuta ÅžÃĄdnÃĄ deklarace (pro neomezenou kvÃŗtu zadejte 0).",
+ "oauth_timeout": "ÄasovÃŊ limit poÅžadavku",
+ "oauth_timeout_description": "ÄasovÃŊ limit pro poÅžadavky v milisekundÃĄch",
"offline_paths": "Cesty offline",
"offline_paths_description": "Tyto vÃŊsledky mohou bÃŊt způsobeny ruÄnÃm odstranÄnÃm souborů, kterÊ nejsou souÄÃĄstà externà knihovny.",
"password_enable_description": "PÅihlÃĄÅĄenà pomocà e-mailu a hesla",
@@ -818,7 +814,7 @@
"enabled": "Povoleno",
"end_date": "KoneÄnÊ datum",
"enqueued": "Ve frontÄ",
- "enter_wifi_name": "Zadejte nÃĄzev WiFi",
+ "enter_wifi_name": "Zadejte nÃĄzev Wi-Fi",
"error": "Chyba",
"error_change_sort_album": "NepodaÅilo se zmÄnit poÅadà alba",
"error_delete_face": "Chyba pÅi odstraÅovÃĄnà obliÄeje z poloÅžky",
@@ -853,10 +849,12 @@
"failed_to_keep_this_delete_others": "NepodaÅilo se zachovat tuto poloÅžku a odstranit ostatnà poloÅžky",
"failed_to_load_asset": "NepodaÅilo se naÄÃst poloÅžku",
"failed_to_load_assets": "NepodaÅilo se naÄÃst poloÅžky",
+ "failed_to_load_notifications": "NepodaÅilo se naÄÃst oznÃĄmenÃ",
"failed_to_load_people": "Chyba naÄÃtÃĄnà osob",
"failed_to_remove_product_key": "NepodaÅilo se odebrat klÃÄ produktu",
"failed_to_stack_assets": "NepodaÅilo se seskupit poloÅžky",
"failed_to_unstack_assets": "NepodaÅilo se rozloÅžit poloÅžky",
+ "failed_to_update_notification_status": "NepodaÅilo se aktualizovat stav oznÃĄmenÃ",
"import_path_already_exists": "Tato cesta importu jiÅž existuje.",
"incorrect_email_or_password": "NesprÃĄvnÃŊ e-mail nebo heslo",
"paths_validation_failed": "{paths, plural, one {# cesta neproÅĄla} few {# cesty neproÅĄly} other {# cest neproÅĄlo}} kontrolou",
@@ -978,7 +976,7 @@
"external": "ExternÃ",
"external_libraries": "Externà knihovny",
"external_network": "Externà sÃÅĨ",
- "external_network_sheet_info": "Pokud nejste v preferovanÊ sÃti WiFi, aplikace se pÅipojà k serveru prostÅednictvÃm prvnà z nÃÅže uvedenÃŊch adres URL, kterÊ můŞe dosÃĄhnout, poÄÃnaje shora dolů",
+ "external_network_sheet_info": "Pokud nejste v preferovanÊ sÃti Wi-Fi, aplikace se pÅipojà k serveru prostÅednictvÃm prvnà z nÃÅže uvedenÃŊch adres URL, kterÊ můŞe dosÃĄhnout, poÄÃnaje shora dolů",
"face_unassigned": "NepÅiÅazena",
"failed": "Selhalo",
"failed_to_load_assets": "NepodaÅilo se naÄÃst poloÅžky",
@@ -1125,7 +1123,7 @@
"local_network": "MÃstnà sÃÅĨ",
"local_network_sheet_info": "Aplikace se pÅi pouÅžità zadanÊ sÃtÄ Wi-Fi pÅipojà k serveru prostÅednictvÃm tohoto URL",
"location_permission": "OprÃĄvnÄnà polohy",
- "location_permission_content": "Aby bylo moÅžnÊ pouÅžÃvat funkci automatickÊho pÅepÃnÃĄnÃ, potÅebuje Immich oprÃĄvnÄnà k pÅesnÊ poloze, aby mohl pÅeÄÃst nÃĄzev aktuÃĄlnà WiFi sÃtÄ",
+ "location_permission_content": "Aby bylo moÅžnÊ pouÅžÃvat funkci automatickÊho pÅepÃnÃĄnÃ, potÅebuje Immich oprÃĄvnÄnà k pÅesnÊ poloze, aby mohl pÅeÄÃst nÃĄzev aktuÃĄlnà sÃtÄ Wi-Fi",
"location_picker_choose_on_map": "Vyberte na mapÄ",
"location_picker_latitude_error": "Zadejte platnou zemÄpisnou ÅĄÃÅku",
"location_picker_latitude_hint": "Zadejte vlastnà zemÄpisnou ÅĄÃÅku",
@@ -1199,6 +1197,9 @@
"map_settings_only_show_favorites": "Zobrazit pouze oblÃbenÊ",
"map_settings_theme_settings": "Motiv mapy",
"map_zoom_to_see_photos": "OddÃĄlit pro zobrazenà fotografiÃ",
+ "mark_all_as_read": "OznaÄit vÅĄe jako pÅeÄtenÊ",
+ "mark_as_read": "OznaÄit jako pÅeÄtenÊ",
+ "marked_all_as_read": "VÅĄe oznaÄeno jako pÅeÄtenÊ",
"matches": "Shody",
"media_type": "Typ mÊdia",
"memories": "VzpomÃnky",
@@ -1225,6 +1226,8 @@
"month": "MÄsÃc",
"monthly_title_text_date_format": "LLLL y",
"more": "VÃce",
+ "moved_to_archive": "{count, plural, one {PÅesunuta # poloÅžka} few {PÅesunuty # poloÅžky} other {PÅesunuto # poloÅžek}} do archivu",
+ "moved_to_library": "{count, plural, one {PÅesunuta # poloÅžka} few {PÅesunuty # poloÅžky} other {PÅesunuto # poloÅžek}} do knihovny",
"moved_to_trash": "PÅesunuto do koÅĄe",
"multiselect_grid_edit_date_time_err_read_only": "Nelze upravit datum poloÅžek pouze pro ÄtenÃ, pÅeskakuji",
"multiselect_grid_edit_gps_err_read_only": "Nelze upravit polohu poloÅžek pouze pro ÄtenÃ, pÅeskakuji",
@@ -1257,6 +1260,8 @@
"no_favorites_message": "PÅidejte si oblÃbenÊ poloÅžky a rychle najdÄte svÊ nejlepÅĄÃ obrÃĄzky a videa",
"no_libraries_message": "VytvoÅte si externà knihovnu pro zobrazenà fotografià a videÃ",
"no_name": "Bez jmÊna",
+ "no_notifications": "ÅŊÃĄdnÃĄ oznÃĄmenÃ",
+ "no_people_found": "Nebyli nalezeni ÅžÃĄdnà odpovÃdajÃcà lidÊ",
"no_places": "ÅŊÃĄdnÃĄ mÃsta",
"no_results": "ÅŊÃĄdnÊ vÃŊsledky",
"no_results_description": "Zkuste pouÅžÃt synonymum nebo obecnÄjÅĄÃ klÃÄovÊ slovo",
@@ -1432,6 +1437,8 @@
"recent_searches": "NedÃĄvnÃĄ vyhledÃĄvÃĄnÃ",
"recently_added": "NedÃĄvno pÅidanÊ",
"recently_added_page_title": "NedÃĄvno pÅidanÊ",
+ "recently_taken": "NedÃĄvno poÅÃzenÊ",
+ "recently_taken_page_title": "NedÃĄvno poÅÃzenÊ",
"refresh": "Obnovit",
"refresh_encoded_videos": "Obnovit kÃŗdovanÃĄ videa",
"refresh_faces": "Obnovit obliÄeje",
@@ -1566,6 +1573,7 @@
"select_keep_all": "Vybrat ponechat vÅĄe",
"select_library_owner": "Vyberte vlastnÃka knihovny",
"select_new_face": "VÃŊbÄr novÊho obliÄeje",
+ "select_person_to_tag": "Vyberte osobu, kterou chcete oznaÄit",
"select_photos": "Vybrat fotky",
"select_trash_all": "Vybrat vyhodit vÅĄe",
"select_user_for_sharing_page_err_album": "NepodaÅilo se vytvoÅit album",
@@ -1889,11 +1897,11 @@
"week": "TÃŊden",
"welcome": "VÃtejte",
"welcome_to_immich": "VÃtejte v Immichi",
- "wifi_name": "NÃĄzev WiFi",
+ "wifi_name": "NÃĄzev Wi-Fi",
"year": "Rok",
"years_ago": "PÅed {years, plural, one {rokem} other {# lety}}",
"yes": "Ano",
"you_dont_have_any_shared_links": "NemÃĄte ÅžÃĄdnÊ sdÃlenÊ odkazy",
- "your_wifi_name": "VÃĄÅĄ nÃĄzev WiFi",
+ "your_wifi_name": "NÃĄzev vaÅĄÃ Wi-Fi",
"zoom_image": "ZvÄtÅĄit obrÃĄzek"
}
diff --git a/i18n/da.json b/i18n/da.json
index a9aaef523c..e5e9e017aa 100644
--- a/i18n/da.json
+++ b/i18n/da.json
@@ -72,6 +72,9 @@
"image_format_description": "WebP producerer mindre filer end JPEG, men er langsommere at komprimere.",
"image_fullsize_description": "Fuld størrelses billede uden metadata, brugt nÃĨr zoomet ind",
"image_fullsize_enabled": "Aktiver fuld størrelses billede generering",
+ "image_fullsize_enabled_description": "Generer fuld-størrelses billede for ikke-web-venlige formater. NÃĨr \"ForetrÃĻk indlejret forhÃĨndsvisning\" er slÃĨet til, bliver indlejrede forhÃĨndsvisninger brugt direkte uden konvertering. PÃĨvirker ikke web-venlige formater sÃĨsom JPEG.",
+ "image_fullsize_quality_description": "Fuld-størrelses billede kvalitet fra 1-100. Højere er bedre, men producerer større filer.",
+ "image_fullsize_title": "Full-størrelses billede indstillinger",
"image_prefer_embedded_preview": "ForetrÃĻk indlejret forhÃĨndsvisning",
"image_prefer_embedded_preview_setting_description": "Brug indlejrede forhÃĨndsvisninger i RAW fotos som input til billedbehandling og nÃĨr det er tilgÃĻngeligt. Dette kan give mere nøjagtige farver for nogle billeder, men kvaliteten af forhÃĨndsvisningen er kameraafhÃĻngig, og billedet kan have flere komprimeringsartefakter.",
"image_prefer_wide_gamut": "ForetrÃĻkker bred farveskala",
@@ -189,20 +192,13 @@
"oauth_auto_register": "AutoregistrÊr",
"oauth_auto_register_description": "RegistrÊr automatisk nye brugere efter at have logget ind med OAuth",
"oauth_button_text": "Knaptekst",
- "oauth_client_id": "Kunde-ID",
- "oauth_client_secret": "Kundehemmelighed",
"oauth_enable_description": "Log ind med OAuth",
- "oauth_issuer_url": "Udsteder-URL",
"oauth_mobile_redirect_uri": "Mobilomdiregerings-URL",
"oauth_mobile_redirect_uri_override": "TilsidesÃĻttelse af mobil omdiregerings-URL",
"oauth_mobile_redirect_uri_override_description": "Aktiver, nÃĨr OAuth-udbyderen ikke tillader en mobil URI, som '{callback}'",
- "oauth_profile_signing_algorithm": "Log-ind-algoritme",
- "oauth_profile_signing_algorithm_description": "Algoritme til signering af brugerprofilen.",
- "oauth_scope": "Omfang",
"oauth_settings": "OAuth",
"oauth_settings_description": "Administrer OAuth login-indstillinger",
"oauth_settings_more_details": "LÃĻs flere detaljer om funktionen i dokumentationen.",
- "oauth_signing_algorithm": "Signeringsalgoritme",
"oauth_storage_label_claim": "LagringsmÃĻrkat fordring",
"oauth_storage_label_claim_description": "SÃĻt automatisk brugerens lagringsmÃĻrkat til denne fordrings vÃĻrdi.",
"oauth_storage_quota_claim": "Lagringskvotefordring",
diff --git a/i18n/de.json b/i18n/de.json
index b0649474fd..f0b0763886 100644
--- a/i18n/de.json
+++ b/i18n/de.json
@@ -106,7 +106,7 @@
"library_scanning_enable_description": "RegelmäÃiges Scannen der Bibliothek aktivieren",
"library_settings": "Externe Bibliothek",
"library_settings_description": "Einstellungen externer Bibliotheken verwalten",
- "library_tasks_description": "ÃberprÃŧfe externe Bibliotheken auf neue oder veränderte Medien",
+ "library_tasks_description": "ÃberprÃŧfe externe Bibliotheken auf neue und/oder veränderte Medien",
"library_watching_enable_description": "Ãberwache externe Bibliotheken auf Dateiänderungen",
"library_watching_settings": "BibliotheksÃŧberwachung (EXPERIMENTELL)",
"library_watching_settings_description": "Automatisch auf geänderte Dateien prÃŧfen",
@@ -192,32 +192,28 @@
"oauth_auto_register": "Automatische Registrierung",
"oauth_auto_register_description": "Automatische Registrierung neuer Benutzer nach der OAuth-Anmeldung",
"oauth_button_text": "Button-Text",
- "oauth_client_id": "Client-ID",
- "oauth_client_secret": "Client-Geheimnis",
+ "oauth_client_secret_description": "Erforderlich wenn PKCE (Proof Key for Code Exchange) nicht vom OAuth- Anbieter unterstÃŧtzt wird",
"oauth_enable_description": "Anmeldung mit OAuth",
- "oauth_issuer_url": "Aussteller-URL",
"oauth_mobile_redirect_uri": "Mobile Umleitungs-URI",
"oauth_mobile_redirect_uri_override": "Mobile Umleitungs-URI Ãŧberschreiben",
"oauth_mobile_redirect_uri_override_description": "Einschalten, wenn der OAuth-Anbieter keine mobile URI wie '{callback}' erlaubt",
- "oauth_profile_signing_algorithm": "Algorithmus zur Profilsignierung",
- "oauth_profile_signing_algorithm_description": "Dieser Algorithmus wird fÃŧr die Signatur des Benutzerprofils verwendet.",
- "oauth_scope": "Umfang",
"oauth_settings": "OAuth",
"oauth_settings_description": "OAuth-Anmeldeeinstellungen verwalten",
"oauth_settings_more_details": "Weitere Informationen zu dieser Funktion findest du in der Dokumentation.",
- "oauth_signing_algorithm": "Signier-Algorithmus",
"oauth_storage_label_claim": "Speicherpfadbezeichnung",
"oauth_storage_label_claim_description": "Die Speicherpfadbezeichnung des Benutzers automatisch auf den Wert dieser Eingabe setzen.",
"oauth_storage_quota_claim": "Speicherkontingentangabe",
"oauth_storage_quota_claim_description": "Setzen Sie das Speicherkontingent des Benutzers automatisch auf den angegebenen Wert.",
"oauth_storage_quota_default": "Standard-Speicherplatzkontingent (GiB)",
"oauth_storage_quota_default_description": "Kontingent in GiB, das verwendet werden soll, wenn keines Ãŧbermittelt wird (gib 0 fÃŧr ein unbegrenztes Kontingent ein).",
+ "oauth_timeout": "ZeitÃŧberschreitung bei Anfrage",
+ "oauth_timeout_description": "ZeitÃŧberschreitung fÃŧr Anfragen in Millisekunden",
"offline_paths": "Offline-Pfade",
- "offline_paths_description": "Die Ergebnisse kÃļnnten durch manuelles LÃļschen von Dateien, die nicht Teil einer externen Bibliothek sind, verursacht sein.",
- "password_enable_description": "Login mit E-Mail und Passwort",
- "password_settings": "Passwort-Login",
+ "offline_paths_description": "Dies kÃļnnte durch manuelles LÃļschen von Dateien, die nicht Teil einer externen Bibliothek sind, verursacht sein.",
+ "password_enable_description": "Mit E-Mail und Passwort anmelden",
+ "password_settings": "Passwort-Anmeldung",
"password_settings_description": "Passwort-Anmeldeeinstellungen verwalten",
- "paths_validated_successfully": "Alle Pfade wurden erfolgreich validiert",
+ "paths_validated_successfully": "Alle Pfade erfolgreich ÃŧberprÃŧft",
"person_cleanup_job": "Personen aufräumen",
"quota_size_gib": "Kontingent (GiB)",
"refreshing_all_libraries": "Alle Bibliotheken aktualisieren",
@@ -251,7 +247,7 @@
"storage_template_hash_verification_enabled_description": "Aktiviert die Hash-Verifizierung. Deaktiviere diese Option nur, wenn du dir Ãŧber die damit verbundenen Auswirkungen im Klaren bist",
"storage_template_migration": "Migration von Speichervorlagen",
"storage_template_migration_description": "Diese Aufgabe wendet die aktuelle {template} auf zuvor hochgeladene Dateien an",
- "storage_template_migration_info": "Die Vorlage wird alle Dateierweiterungen in Kleinbuchstaben umwandeln. Vorlagenänderungen gelten nur fÃŧr neue Dateien. Um die Vorlage rÃŧckwirkend auf bereits hochgeladene Assets anzuwenden, fÃŧhre den {job} aus.",
+ "storage_template_migration_info": "Die Speichervorlage wird alle Dateierweiterungen in Kleinbuchstaben umwandeln. Vorlagenänderungen gelten nur fÃŧr neue Dateien. Um die Vorlage rÃŧckwirkend auf bereits hochgeladene Assets anzuwenden, fÃŧhre den {job} aus.",
"storage_template_migration_job": "Speichervorlagenmigrations-Aufgabe",
"storage_template_more_details": "Weitere Details zu dieser Funktion findest du unter Speichervorlage und dessen Implikationen ",
"storage_template_onboarding_description": "Wenn aktiviert, sortiert diese Funktion Dateien automatisch basierend auf einer benutzerdefinierten Vorlage. Aufgrund von Stabilitätsproblemen ist die Funktion standardmäÃig deaktiviert. Weitere Informationen findest du in der Dokumentation.",
@@ -481,18 +477,18 @@
"assets_added_to_album_count": "{count, plural, one {# Datei} other {# Dateien}} zum Album hinzugefÃŧgt",
"assets_added_to_name_count": "{count, plural, one {# Element} other {# Elemente}} zu {hasName, select, true {{name} } other {neuem Album}} hinzugefÃŧgt",
"assets_count": "{count, plural, one {# Datei} other {# Dateien}}",
- "assets_deleted_permanently": "{} Datei/en permanent gelÃļscht",
- "assets_deleted_permanently_from_server": "{} Datei/en wurden permanent vom Immich Server gelÃļscht",
+ "assets_deleted_permanently": "{} Element(e) permanent gelÃļscht",
+ "assets_deleted_permanently_from_server": "{} Element(e) permanent vom Immich-Server gelÃļscht",
"assets_moved_to_trash_count": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
"assets_permanently_deleted_count": "{count, plural, one {# Datei} other {# Dateien}} endgÃŧltig gelÃļscht",
"assets_removed_count": "{count, plural, one {# Datei} other {# Dateien}} entfernt",
- "assets_removed_permanently_from_device": "{} Datei/en wurden permanent vom Gerät gelÃļscht",
+ "assets_removed_permanently_from_device": "{} Element(e) permanent von Ihrem Gerät gelÃļscht",
"assets_restore_confirmation": "Bist du sicher, dass du alle Dateien aus dem Papierkorb wiederherstellen willst? Diese Aktion kann nicht rÃŧckgängig gemacht werden! Beachte, dass Offline-Dateien auf diese Weise nicht wiederhergestellt werden kÃļnnen.",
"assets_restored_count": "{count, plural, one {# Datei} other {# Dateien}} wiederhergestellt",
- "assets_restored_successfully": "{} Datei/en erfolgreich wiederhergestellt",
- "assets_trashed": "{} Datei/en gelÃļscht",
+ "assets_restored_successfully": "{} Element(e) erfolgreich wiederhergestellt",
+ "assets_trashed": "{} Element(e) gelÃļscht",
"assets_trashed_count": "{count, plural, one {# Datei} other {# Dateien}} in den Papierkorb verschoben",
- "assets_trashed_from_server": "{} Datei/en vom Immich-Server gelÃļscht",
+ "assets_trashed_from_server": "{} Element(e) vom Immich-Server gelÃļscht",
"assets_were_part_of_album_count": "{count, plural, one {# Datei ist} other {# Dateien sind}} bereits im Album vorhanden",
"authorized_devices": "Verwendete Geräte",
"automatic_endpoint_switching_subtitle": "Verbinden Sie sich lokal Ãŧber ein bestimmtes WLAN, wenn es verfÃŧgbar ist, und verwenden Sie andere VerbindungsmÃļglichkeiten anderswo",
@@ -535,7 +531,7 @@
"backup_controller_page_backup": "Sicherung",
"backup_controller_page_backup_selected": "Ausgewählt: ",
"backup_controller_page_backup_sub": "Gesicherte Fotos und Videos",
- "backup_controller_page_created": "Erstellt: {}",
+ "backup_controller_page_created": "Erstellt am: {}",
"backup_controller_page_desc_backup": "Aktiviere die Sicherung, um Elemente immer automatisch auf den Server zu laden, während du die App benutzt.",
"backup_controller_page_excluded": "Ausgeschlossen: ",
"backup_controller_page_failed": "Fehlgeschlagen ({})",
@@ -580,7 +576,7 @@
"cache_settings_duplicated_assets_clear_button": "LEEREN",
"cache_settings_duplicated_assets_subtitle": "Fotos und Videos, die von der App blockiert werden",
"cache_settings_duplicated_assets_title": "Duplikate ({})",
- "cache_settings_image_cache_size": "{} Bilder im Zwischenspeicher",
+ "cache_settings_image_cache_size": "Bilder im Zwischenspeicher ({} Bilder)",
"cache_settings_statistics_album": "Vorschaubilder der Bibliothek",
"cache_settings_statistics_assets": "{} Elemente ({})",
"cache_settings_statistics_full": "Originalbilder",
@@ -588,7 +584,7 @@
"cache_settings_statistics_thumbnail": "Vorschaubilder",
"cache_settings_statistics_title": "Zwischenspeicher-Nutzung",
"cache_settings_subtitle": "Kontrollieren, wie Immich den Zwischenspeicher nutzt",
- "cache_settings_thumbnail_size": "{} Vorschaubilder im Zwischenspeicher",
+ "cache_settings_thumbnail_size": "Vorschaubilder im Zwischenspeicher ({} Bilder)",
"cache_settings_tile_subtitle": "Lokalen Speicher verwalten",
"cache_settings_tile_title": "Lokaler Speicher",
"cache_settings_title": "Zwischenspeicher Einstellungen",
@@ -647,8 +643,8 @@
"comments_and_likes": "Kommentare & Likes",
"comments_are_disabled": "Kommentare sind deaktiviert",
"common_create_new_album": "Neues Album erstellen",
- "common_server_error": "Bitte ÃŧberprÃŧfe Deine Netzwerkverbindung und stelle sicher, dass die App und Server Versionen kompatibel sind.",
- "completed": "Fertig",
+ "common_server_error": "Bitte ÃŧberprÃŧfe deine Netzwerkverbindung und stelle sicher, dass die App und Server Versionen kompatibel sind.",
+ "completed": "Abgeschlossen",
"confirm": "Bestätigen",
"confirm_admin_password": "Administrator Passwort bestätigen",
"confirm_delete_face": "Bist du sicher dass du das Gesicht von {name} aus der Datei entfernen willst?",
@@ -853,10 +849,12 @@
"failed_to_keep_this_delete_others": "Fehler beim LÃļschen der anderen Dateien",
"failed_to_load_asset": "Fehler beim Laden der Datei",
"failed_to_load_assets": "Fehler beim Laden der Dateien",
+ "failed_to_load_notifications": "Fehler beim Laden der Benachrichtigungen",
"failed_to_load_people": "Fehler beim Laden von Personen",
"failed_to_remove_product_key": "Fehler beim Entfernen des ProduktschlÃŧssels",
"failed_to_stack_assets": "Dateien konnten nicht gestapelt werden",
"failed_to_unstack_assets": "Dateien konnten nicht entstapelt werden",
+ "failed_to_update_notification_status": "Benachrichtigungsstatus aktualisieren fehlgeschlagen",
"import_path_already_exists": "Dieser Importpfad existiert bereits.",
"incorrect_email_or_password": "UngÃŧltige E-Mail oder Passwort",
"paths_validation_failed": "{paths, plural, one {# Pfad konnte} other {# Pfade konnten}} nicht validiert werden",
@@ -960,7 +958,7 @@
"exif_bottom_sheet_person_age": "Alter {}",
"exif_bottom_sheet_person_age_months": "{} Monate alt",
"exif_bottom_sheet_person_age_year_months": "1 Jahr, {} Monate alt",
- "exif_bottom_sheet_person_age_years": "{} alt",
+ "exif_bottom_sheet_person_age_years": "Alter {}",
"exit_slideshow": "Diashow beenden",
"expand_all": "Alle aufklappen",
"experimental_settings_new_asset_list_subtitle": "In Arbeit",
@@ -969,7 +967,7 @@
"experimental_settings_title": "Experimentell",
"expire_after": "Verfällt nach",
"expired": "Verfallen",
- "expires_date": "Läuft {date} ab",
+ "expires_date": "Läuft am {date} ab",
"explore": "Erkunden",
"explorer": "Datei-Explorer",
"export": "Exportieren",
@@ -1125,7 +1123,7 @@
"local_network": "Lokales Netzwerk",
"local_network_sheet_info": "Die App stellt Ãŧber diese URL eine Verbindung zum Server her, wenn sie das angegebene WLAN-Netzwerk verwendet",
"location_permission": "Standort Genehmigung",
- "location_permission_content": "Um die automatische Umschaltfunktion nutzen zu kÃļnnen, benÃļtigt Immich eine genaue Standortberechtigung, damit es den Namen des aktuellen WLAN-Netzwerks ermitteln kann",
+ "location_permission_content": "Um die automatische Umschaltfunktion nutzen zu kÃļnnen, benÃļtigt Immich genaue Standortberechtigung, damit es den Namen des aktuellen WLAN-Netzwerks ermitteln kann",
"location_picker_choose_on_map": "Auf der Karte auswählen",
"location_picker_latitude_error": "GÃŧltigen Breitengrad eingeben",
"location_picker_latitude_hint": "Breitengrad eingeben",
@@ -1190,15 +1188,18 @@
"map_settings": "Karteneinstellungen",
"map_settings_dark_mode": "Dunkler Modus",
"map_settings_date_range_option_day": "Letzte 24 Stunden",
- "map_settings_date_range_option_days": "Letzte {} Tage",
+ "map_settings_date_range_option_days": "Letzten {} Tage",
"map_settings_date_range_option_year": "Letztes Jahr",
- "map_settings_date_range_option_years": "Letzte {} Jahre",
+ "map_settings_date_range_option_years": "Letzten {} Jahre",
"map_settings_dialog_title": "Karteneinstellungen",
"map_settings_include_show_archived": "Archivierte anzeigen",
"map_settings_include_show_partners": "Partner einbeziehen",
"map_settings_only_show_favorites": "Nur Favoriten anzeigen",
"map_settings_theme_settings": "Karten Design",
"map_zoom_to_see_photos": "Ansicht verkleinern um Fotos zu sehen",
+ "mark_all_as_read": "Alle als gelesen markieren",
+ "mark_as_read": "Als gelesen markieren",
+ "marked_all_as_read": "Alle als gelesen markiert",
"matches": "Treffer",
"media_type": "Medientyp",
"memories": "Erinnerungen",
@@ -1208,7 +1209,7 @@
"memories_start_over": "Erneut beginnen",
"memories_swipe_to_close": "Nach oben Wischen zum schlieÃen",
"memories_year_ago": "ein Jahr her",
- "memories_years_ago": "{} Jahre her",
+ "memories_years_ago": "Vor {} Jahren",
"memory": "Erinnerung",
"memory_lane_title": "Foto-Erinnerungen {title}",
"menu": "MenÃŧ",
@@ -1225,6 +1226,8 @@
"month": "Monat",
"monthly_title_text_date_format": "MMMM y",
"more": "Mehr",
+ "moved_to_archive": "{count, plural, one {# Datei} other {# Dateien}} archiviert",
+ "moved_to_library": "{count, plural, one {# Datei} other {# Dateien}} in die Bibliothek verschoben",
"moved_to_trash": "In den Papierkorb verschoben",
"multiselect_grid_edit_date_time_err_read_only": "Das Datum und die Uhrzeit von schreibgeschÃŧtzten Inhalten kann nicht verändert werden, Ãŧberspringen",
"multiselect_grid_edit_gps_err_read_only": "Der Aufnahmeort von schreibgeschÃŧtzten Inhalten kann nicht verändert werden, Ãŧberspringen",
@@ -1257,6 +1260,8 @@
"no_favorites_message": "FÃŧge Favoriten hinzu, um deine besten Bilder und Videos schnell zu finden",
"no_libraries_message": "Eine externe Bibliothek erstellen, um deine Fotos und Videos anzusehen",
"no_name": "Kein Name",
+ "no_notifications": "Keine Benachrichtigungen",
+ "no_people_found": "Keine passenden Personen gefunden",
"no_places": "Keine Orte",
"no_results": "Keine Ergebnisse",
"no_results_description": "Versuche es mit einem Synonym oder einem allgemeineren Stichwort",
@@ -1377,7 +1382,7 @@
"profile_drawer_app_logs": "Logs",
"profile_drawer_client_out_of_date_major": "Mobile-App ist veraltet. Bitte aktualisiere auf die neueste Major-Version.",
"profile_drawer_client_out_of_date_minor": "Mobile-App ist veraltet. Bitte aktualisiere auf die neueste Minor-Version.",
- "profile_drawer_client_server_up_to_date": "Die App-Version / Server-Version sind aktuell",
+ "profile_drawer_client_server_up_to_date": "Die App- und Server-Versionen sind aktuell",
"profile_drawer_github": "GitHub",
"profile_drawer_server_out_of_date_major": "Server-Version ist veraltet. Bitte aktualisiere auf die neueste Major-Version.",
"profile_drawer_server_out_of_date_minor": "Server-Version ist veraltet. Bitte aktualisiere auf die neueste Minor-Version.",
@@ -1432,6 +1437,8 @@
"recent_searches": "Letzte Suchen",
"recently_added": "KÃŧrzlich hinzugefÃŧgt",
"recently_added_page_title": "Zuletzt hinzugefÃŧgt",
+ "recently_taken": "KÃŧrzlich aufgenommen",
+ "recently_taken_page_title": "KÃŧrzlich aufgenommen",
"refresh": "Aktualisieren",
"refresh_encoded_videos": "Kodierte Videos aktualisieren",
"refresh_faces": "Gesichter aktualisieren",
@@ -1566,6 +1573,7 @@
"select_keep_all": "Alle behalten",
"select_library_owner": "Bibliotheksbesitzer auswählen",
"select_new_face": "Neues Gesicht auswählen",
+ "select_person_to_tag": "Wählen Sie eine Person zum Markieren aus",
"select_photos": "Fotos auswählen",
"select_trash_all": "Alle lÃļschen",
"select_user_for_sharing_page_err_album": "Album konnte nicht erstellt werden",
@@ -1596,7 +1604,7 @@
"setting_languages_apply": "Anwenden",
"setting_languages_subtitle": "App-Sprache ändern",
"setting_languages_title": "Sprachen",
- "setting_notifications_notify_failures_grace_period": "Benachrichtigung bei Fehler/n in der Hintergrundsicherung: {}",
+ "setting_notifications_notify_failures_grace_period": "Benachrichtigung bei Fehler(n) in der Hintergrundsicherung: {}",
"setting_notifications_notify_hours": "{} Stunden",
"setting_notifications_notify_immediately": "sofort",
"setting_notifications_notify_minutes": "{} Minuten",
@@ -1636,25 +1644,25 @@
"shared_link_create_error": "Fehler beim Erstellen der Linkfreigabe",
"shared_link_edit_description_hint": "Beschreibung eingeben",
"shared_link_edit_expire_after_option_day": "1 Tag",
- "shared_link_edit_expire_after_option_days": "{} Tage",
+ "shared_link_edit_expire_after_option_days": "{} Tagen",
"shared_link_edit_expire_after_option_hour": "1 Stunde",
"shared_link_edit_expire_after_option_hours": "{} Stunden",
"shared_link_edit_expire_after_option_minute": "1 Minute",
"shared_link_edit_expire_after_option_minutes": "{} Minuten",
- "shared_link_edit_expire_after_option_months": "{} Monate",
+ "shared_link_edit_expire_after_option_months": "{} Monaten",
"shared_link_edit_expire_after_option_year": "{} Jahr",
"shared_link_edit_password_hint": "Passwort eingeben",
"shared_link_edit_submit_button": "Link aktualisieren",
"shared_link_error_server_url_fetch": "Fehler beim Ermitteln der Server-URL",
- "shared_link_expires_day": "Verfällt in {} Tag",
- "shared_link_expires_days": "Verfällt in {} Tagen",
- "shared_link_expires_hour": "Verfällt in {} Stunde",
- "shared_link_expires_hours": "Verfällt in {} Stunden",
- "shared_link_expires_minute": "Verfällt in {} Minute",
- "shared_link_expires_minutes": "Verfällt in {} Minuten",
+ "shared_link_expires_day": "Läuft ab in {} Tag",
+ "shared_link_expires_days": "Läuft ab in {} Tagen",
+ "shared_link_expires_hour": "Läuft ab in {} Stunde",
+ "shared_link_expires_hours": "Läuft ab in {} Stunden",
+ "shared_link_expires_minute": "Läuft ab in {} Minute",
+ "shared_link_expires_minutes": "Läuft ab in {} Minuten",
"shared_link_expires_never": "Läuft nie ab",
- "shared_link_expires_second": "Verfällt in {} Sekunde",
- "shared_link_expires_seconds": "Verfällt in {} Sekunden",
+ "shared_link_expires_second": "Läuft ab in {} Sekunde",
+ "shared_link_expires_seconds": "Läuft ab in {} Sekunden",
"shared_link_individual_shared": "Individuell geteilt",
"shared_link_info_chip_metadata": "EXIF",
"shared_link_manage_links": "Geteilte Links verwalten",
@@ -1745,7 +1753,7 @@
"tag_assets": "Dateien taggen",
"tag_created": "Tag erstellt: {tag}",
"tag_feature_description": "Durchsuchen von Fotos und Videos, gruppiert nach logischen Tag-Themen",
- "tag_not_found_question": "Kein Tag zu finden? Erstelle einen neuen Tag.",
+ "tag_not_found_question": "Kein Tag vorhanden? Erstelle einen neuen Tag.",
"tag_people": "Personen taggen",
"tag_updated": "Tag aktualisiert: {tag}",
"tagged_assets": "{count, plural, one {# Datei} other {# Dateien}} getagged",
@@ -1832,7 +1840,7 @@
"upload_status_errors": "Fehler",
"upload_status_uploaded": "Hochgeladen",
"upload_success": "Hochladen erfolgreich. Aktualisiere die Seite, um neue hochgeladene Dateien zu sehen.",
- "upload_to_immich": "Zu Immich hochladen ({})",
+ "upload_to_immich": "Auf Immich hochladen ({})",
"uploading": "Wird hochgeladen",
"url": "URL",
"usage": "Verwendung",
diff --git a/i18n/el.json b/i18n/el.json
index a8a56f5122..305f34e7d0 100644
--- a/i18n/el.json
+++ b/i18n/el.json
@@ -14,7 +14,7 @@
"add_a_location": "Î ĪÎŋĪθΎÎēΡ ÎŧÎ¯ÎąĪ ĪÎŋĪÎŋθÎĩĪÎ¯ÎąĪ",
"add_a_name": "Î ĪÎŋĪθΎÎēΡ ÎŋÎŊĪÎŧÎąĪÎŋĪ",
"add_a_title": "Î ĪÎŋĪθΎÎēΡ ĪίĪÎģÎŋĪ
",
- "add_endpoint": "Add endpoint",
+ "add_endpoint": "Î ĪÎŋĪθΎÎēΡ ĪÎĩÎģΚÎēÎŋĪ ĪΡÎŧÎĩίÎŋĪ
",
"add_exclusion_pattern": "Î ĪÎŋĪθΎÎēΡ ÎŧÎŋĪÎ¯Î˛ÎŋĪ
ÎąĪÎŋÎēÎģÎĩΚĪÎŧÎŋĪ",
"add_import_path": "Î ĪÎŋĪθΎÎēΡ ÎŧÎŋÎŊÎŋĪÎąĪΚÎŋĪ ÎĩΚĪÎąÎŗĪÎŗÎŽĪ",
"add_location": "Î ĪÎŋĪθΎÎēΡ ĪÎŋĪÎŋθÎĩĪÎ¯ÎąĪ",
@@ -192,20 +192,13 @@
"oauth_auto_register": "ÎĪ
ĪĪÎŧÎąĪΡ ÎēÎąĪÎąĪĪĪΡĪΡ",
"oauth_auto_register_description": "ÎĪ
ĪĪÎŧÎąĪΡ ÎēÎąĪÎąĪĪĪΡĪΡ ÎŊÎÎŋĪ
ĪĪÎŽĪĪΡ ÎąĪÎŋĪ ĪĪ
ÎŊδÎĩθÎĩί ÎŧÎĩ OAuth",
"oauth_button_text": "ÎÎĩίÎŧÎĩÎŊÎŋ ÎēÎŋĪ
ÎŧĪΚÎŋĪ",
- "oauth_client_id": "ΤιĪ
ĪĪĪΡĪÎą ĪÎĩÎģÎŦĪΡ (Client)",
- "oauth_client_secret": "ÎĪ
ĪĪΚÎēĪĪ ÎēĪδΚÎēĪĪ ĪÎĩÎģÎŦĪΡ",
"oauth_enable_description": "ÎŖĪÎŊδÎĩĪΡ ÎŧÎĩ OAuth",
- "oauth_issuer_url": "ÎΚÎĩĪθĪ
ÎŊĪΡ URL ÎĩÎēδĪĪΡ",
"oauth_mobile_redirect_uri": "URI ÎÎŊÎąÎēÎąĪÎĩĪθĪ
ÎŊĪÎˇĪ ÎŗÎšÎą ÎēΚÎŊΡĪÎŦ ĪΡÎģÎĪĪÎŊÎą",
"oauth_mobile_redirect_uri_override": "Î ĪÎŋĪĪÎÎģÎąĪΡ URI ÎąÎŊÎąÎēÎąĪÎĩĪθĪ
ÎŊĪÎˇĪ ÎŗÎšÎą ÎēΚÎŊΡĪÎŦ ĪΡÎģÎĪĪÎŊÎą",
"oauth_mobile_redirect_uri_override_description": "ÎÎŊÎĩĪÎŗÎŋĪÎŋΚΎĪĪÎĩ ĪÎŋ ĪĪÎąÎŊ Îŋ ĪÎŦĪÎŋĪÎŋĪ OAuth δÎĩÎŊ ÎĩĪΚĪĪÎĪÎĩΚ ÎŧΚι URI ÎŗÎšÎą ÎēΚÎŊΡĪÎŦ, ĪĪĪĪ ĪÎŋ '{callback}'",
- "oauth_profile_signing_algorithm": "ÎÎģÎŗĪĪΚθÎŧÎŋĪ ĪĪÎŊδÎĩĪÎˇĪ ĪĪÎŋĪίÎģ",
- "oauth_profile_signing_algorithm_description": "ÎÎģÎŗĪĪΚθÎŧÎŋĪ ĪÎŋĪ
ĪĪΡĪΚÎŧÎŋĪÎŋΚÎĩίĪιΚ ÎŗÎšÎą ĪΡÎŊ ĪĪÎŊδÎĩĪΡ ĪĪÎŊ ĪĪΡĪĪĪÎŊ.",
- "oauth_scope": "ÎĪĪÎŋĪ",
"oauth_settings": "OAuth",
"oauth_settings_description": "ÎΚιĪÎĩίĪΚĪΡ ĪĪ
θÎŧίĪÎĩĪÎŊ ĪĪÎŊδÎĩĪÎˇĪ OAuth",
"oauth_settings_more_details": "ÎΚι ĪÎĩĪΚĪĪĪĪÎĩĪÎĩĪ ÎģÎĩĪĪÎŋÎŧÎĪÎĩΚÎĩĪ ĪĪÎĩĪΚÎēÎŦ ÎŧÎĩ ÎąĪ
ĪÎŽÎŊ ĪΡ δĪ
ÎŊÎąĪĪĪΡĪÎą, ÎąÎŊÎąĪĪÎΞĪÎĩ ĪĪΡÎŊ ĪÎĩÎēÎŧΡĪίĪĪΡ.",
- "oauth_signing_algorithm": "ÎÎģÎŗĪĪΚθÎŧÎŋĪ Ī
ĪÎŋÎŗĪÎąĪÎŽĪ",
"oauth_storage_label_claim": "ÎÎŽÎģĪĪΡ ÎĩĪΚÎēÎĪÎąĪ ÎąĪÎŋθΎÎēÎĩĪ
ĪΡĪ",
"oauth_storage_label_claim_description": "ÎĪίÎļÎĩΚ ÎąĪ
ĪĪÎŧÎąĪÎą ĪΡÎŊ ÎĩĪΚÎēÎĪÎą ÎąĪÎŋθΎÎēÎĩĪ
ĪÎˇĪ ĪÎŋĪ
ĪĪÎŽĪĪΡ ĪĪΡ δΡÎģĪÎŧÎÎŊΡ ĪΚÎŧÎŽ.",
"oauth_storage_quota_claim": "ÎÎŽÎģĪĪΡ ĪÎŋĪÎŋĪĪÎŋĪ ÎąĪÎŋθΎÎēÎĩĪ
ĪΡĪ",
@@ -375,7 +368,7 @@
"advanced_settings_enable_alternate_media_filter_title": "[Î ÎÎÎĄÎÎÎΤÎÎÎ] ΧĪÎŽĪΡ ÎĩÎŊÎąÎģÎģÎąÎēĪΚÎēÎŋĪ ĪίÎģĪĪÎŋĪ
ĪĪ
ÎŗĪĪÎŋÎŊΚĪÎŧÎŋĪ ÎŦÎģÎŧĪÎŋĪ
Îŧ ĪĪ
ĪÎēÎĩĪ
ÎŽĪ",
"advanced_settings_log_level_title": "ÎĪίĪÎĩδÎŋ ĪĪÎŊδÎĩĪΡĪ: {}",
"advanced_settings_prefer_remote_subtitle": "ÎÎĩĪΚÎēÎĪ ĪĪ
ĪÎēÎĩĪ
ÎĪ ÎąĪÎŗÎŋĪÎŊ ĪÎŋÎģĪ ÎŊÎą ĪÎŋĪĪĪĪÎŋĪ
ÎŊ ÎŧΚÎēĪÎŋÎŗĪÎąĪίÎĩĪ ÎąĪĪ ÎąĪĪÎĩÎ¯Îą ĪĪΡ ĪĪ
ĪÎēÎĩĪ
ÎŽ. ÎÎŊÎĩĪÎŗÎŋĪÎŋΚΎĪĪÎĩ ÎąĪ
ĪÎŽÎŊ ĪΡ ĪĪθÎŧΚĪΡ ÎŗÎšÎą ÎŊÎą ĪÎŋĪĪĪÎŊÎŋÎŊĪιΚ ÎąÎŊĪί ÎąĪ
ĪÎŋĪ ÎąĪÎŋÎŧÎąÎēĪĪ
ĪÎŧÎÎŊÎĩĪ ÎĩΚÎēĪÎŊÎĩĪ.",
- "advanced_settings_prefer_remote_title": "Î ĪÎŋĪίÎŧΡĪΡ ÎąĪÎŋÎŧÎąÎēĪĪ
ĪÎŧÎÎŊĪÎŊ ÎĩΚÎēĪÎŊĪÎŊ.",
+ "advanced_settings_prefer_remote_title": "Î ĪÎŋĪίÎŧΡĪΡ ÎąĪÎŋÎŧÎąÎēĪĪ
ĪÎŧÎÎŊĪÎŊ ÎĩΚÎēĪÎŊĪÎŊ",
"advanced_settings_proxy_headers_subtitle": "ÎιθÎŋĪΚĪÎŧĪĪ ÎēÎĩĪÎąÎģίδĪÎŊ δΚιÎēÎŋÎŧΚĪĪÎŽ ÎŧÎĩĪÎŋÎģÎŦβΡĪÎˇĪ ĪÎŋĪ
ĪÎŋ Immich ĪĪÎĪÎĩΚ ÎŊÎą ĪĪÎÎģÎŊÎĩΚ ÎŧÎĩ ÎēÎŦθÎĩ ÎąÎ¯ĪΡÎŧÎą δΚÎēĪĪÎŋĪ
",
"advanced_settings_proxy_headers_title": "ÎÎĩĪÎąÎģίδÎĩĪ Î´ÎšÎąÎēÎŋÎŧΚĪĪÎŽ ÎŧÎĩĪÎŋÎģÎŦβΡĪΡĪ",
"advanced_settings_self_signed_ssl_subtitle": "Î ÎąĪÎąÎēÎŦÎŧĪĪÎĩΚ ĪÎŋÎŊ ÎÎģÎĩÎŗĪÎŋ ĪΚĪĪÎŋĪÎŋΚΡĪΚÎēÎŋĪ SSL ĪÎŋĪ
δΚιÎēÎŋÎŧΚĪĪÎŽ. ÎĪÎąĪÎąÎ¯ĪΡĪÎŋ ÎŗÎšÎą ÎąĪ
ĪÎŋ-Ī
ĪÎŋÎŗÎĩÎŗĪÎąÎŧÎŧÎÎŊÎą ĪΚĪĪÎŋĪÎŋΚΡĪΚÎēÎŦ.",
@@ -405,7 +398,7 @@
"album_share_no_users": "ÎĻÎąÎ¯ÎŊÎĩĪιΚ ĪĪΚ ÎĪÎĩĪÎĩ ÎēÎŋΚÎŊÎŋĪÎŋΚΎĪÎĩΚ ÎąĪ
ĪĪ ĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ ĪÎĩ ĪÎģÎŋĪ
Ī ĪÎŋĪ
Ī ĪĪÎŽĪĪÎĩĪ ÎŽ δÎĩÎŊ ÎĪÎĩĪÎĩ ĪĪÎŽĪĪÎĩĪ ÎŗÎšÎą ÎŊÎą ĪÎŋ ÎēÎŋΚÎŊÎŋĪÎŋΚΎĪÎĩĪÎĩ.",
"album_thumbnail_card_item": "1 ÎąÎŊĪΚÎēÎĩίÎŧÎĩÎŊÎŋ",
"album_thumbnail_card_items": "{} ÎąÎŊĪΚÎēÎĩίÎŧÎĩÎŊÎą",
- "album_thumbnail_card_shared": "¡ ÎÎŋΚÎŊĪĪĪΡĪĪÎŋ",
+ "album_thumbnail_card_shared": " ÎÎŋΚÎŊĪĪĪΡĪĪÎŋ",
"album_thumbnail_shared_by": "ÎÎŋΚÎŊÎŋĪÎŋΚΡÎŧÎÎŊÎŋ ÎąĪĪ {}",
"album_updated": "ΤÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ, ÎĩÎŊΡÎŧÎĩĪĪθΡÎēÎĩ",
"album_updated_setting_description": "ÎÎŦβÎĩĪÎĩ ÎĩΚδÎŋĪÎŋÎ¯ÎˇĪΡ ÎŧÎĪĪ email ĪĪÎąÎŊ ÎÎŊÎą ÎēÎŋΚÎŊĪĪĪΡĪĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ ÎĪÎĩΚ ÎŊÎÎą ÎąĪĪÎĩÎ¯Îą",
@@ -474,46 +467,46 @@
"asset_skipped_in_trash": "ÎŖĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ",
"asset_uploaded": "ÎÎŊÎĩβÎŦĪĪΡÎēÎĩ",
"asset_uploading": "ÎÎŊÎĩβÎŦÎļÎĩĪιΚâĻ",
- "asset_viewer_settings_subtitle": "Manage your gallery viewer settings",
+ "asset_viewer_settings_subtitle": "ÎΚιĪÎĩίĪΚĪΡ ĪĪ
θÎŧίĪÎĩĪÎŊ ĪĪÎŋβÎŋÎģÎŽĪ ĪĪ
ÎģÎģÎŋÎŗÎŽĪ",
"asset_viewer_settings_title": "Î ĪÎŋβÎŋÎģÎŽ ÎŖĪÎŋΚĪÎĩίĪÎŊ",
"assets": "ÎÎŊĪΚÎēÎĩίÎŧÎĩÎŊÎą",
"assets_added_count": "Î ĪÎŋĪĪÎθΡÎēÎĩ {count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}}",
"assets_added_to_album_count": "Î ĪÎŋĪĪÎθΡÎēÎĩ {count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}} ĪĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"assets_added_to_name_count": "Î ĪÎŋĪĪÎθΡÎēÎĩ {count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}} ĪĪÎŋ {hasName, select, true {{name} } other {ÎŊÎÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ}}",
"assets_count": "{count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}}",
- "assets_deleted_permanently": "{} ĪĪÎŋΚĪÎĩίÎŋ(-Îą) Î´ÎšÎąÎŗĪÎŦĪΡÎēÎĩ(-ÎąÎŊ) ÎŋĪΚĪĪΚÎēÎŦ",
- "assets_deleted_permanently_from_server": "{} ĪĪÎŋΚĪÎĩίÎŋ(Îą) Î´ÎšÎąÎŗĪÎŦĪΡÎēÎĩ(-ÎąÎŊ) ÎŋĪΚĪĪΚÎēÎŦ ÎąĪĪ ĪÎŋÎŊ δΚιÎēÎŋÎŧΚĪĪÎŽ Immich",
- "assets_moved_to_trash_count": "ÎÎĩĪÎąÎēΚÎŊΎθΡÎēÎĩ/ÎēÎąÎŊ {count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}} ĪĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ",
- "assets_permanently_deleted_count": "ÎÎšÎąÎŗĪÎŦĪΡÎēÎĩ/ÎēÎąÎŊ ÎŧĪÎŊΚÎŧÎą {count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}}",
+ "assets_deleted_permanently": "{} ĪÎą ĪĪÎŋΚĪÎĩÎ¯Îą Î´ÎšÎąÎŗĪÎŦĪΡÎēÎąÎŊ ÎŋĪΚĪĪΚÎēÎŦ",
+ "assets_deleted_permanently_from_server": "{} ĪÎą ĪĪÎŋΚĪÎĩÎ¯Îą Î´ÎšÎąÎŗĪÎŦĪΡÎēÎąÎŊ ÎŋĪΚĪĪΚÎēÎŦ ÎąĪĪ ĪÎŋ δΚιÎēÎŋÎŧΚĪĪÎŽ Immich",
+ "assets_moved_to_trash_count": "ÎÎĩĪÎąÎēΚÎŊΎθΡÎēÎąÎŊ {count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}} ĪĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ",
+ "assets_permanently_deleted_count": "ÎÎšÎąÎŗĪÎŦĪΡÎēÎąÎŊ ÎŧĪÎŊΚÎŧÎą {count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}}",
"assets_removed_count": "ÎĪιΚĪÎθΡÎēÎąÎŊ {count, plural, one {# ÎąĪĪÎĩίÎŋ} other {# ÎąĪĪÎĩÎ¯Îą}}",
- "assets_removed_permanently_from_device": "{} ĪĪÎŋΚĪÎĩÎ¯Îą ÎēÎąĪÎąĪÎŗÎŽÎ¸ÎˇÎēÎąÎŊ ÎŋĪΚĪĪΚÎēÎŦ ÎąĪĪ ĪΡ ĪĪ
ĪÎēÎĩĪ
ÎŽ ĪÎąĪ",
+ "assets_removed_permanently_from_device": "{} ĪÎą ĪĪÎŋΚĪÎĩÎ¯Îą ÎēÎąĪÎąĪÎŗÎŽÎ¸ÎˇÎēÎąÎŊ ÎŋĪΚĪĪΚÎēÎŦ ÎąĪĪ ĪΡ ĪĪ
ĪÎēÎĩĪ
ÎŽ ĪÎąĪ",
"assets_restore_confirmation": "ÎίĪĪÎĩ βÎβιΚÎŋΚ ĪĪΚ θÎÎģÎĩĪÎĩ ÎŊÎą ÎĩĪÎąÎŊÎąĪÎĪÎĩĪÎĩ ĪÎģÎą ĪÎą ĪĪÎŋΚĪÎĩÎ¯Îą ĪÎŋĪ
βĪίĪÎēÎŋÎŊĪιΚ ĪĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ; ÎĪ
ĪÎŽ Ρ ÎĩÎŊÎĪÎŗÎĩΚι δÎĩÎŊ ÎŧĪÎŋĪÎĩί ÎŊÎą ÎąÎŊιΚĪÎĩθÎĩί! ÎÎŦβÎĩĪÎĩ Ī
ĪĪĪΡ ĪĪΚ δÎĩÎŊ θι ÎĩίÎŊιΚ δĪ
ÎŊÎąĪÎŽ Ρ ÎĩĪÎąÎŊÎąĪÎŋĪÎŦ ĪĪÎŋΚĪÎĩίĪÎŊ ÎĩÎēĪĪĪ ĪĪÎŊδÎĩĪΡĪ.",
"assets_restored_count": "ÎÎŗÎšÎŊÎĩ ÎĩĪÎąÎŊÎąĪÎŋĪÎŦ {count, plural, one {# ĪĪÎŋΚĪÎĩίÎŋĪ
} other {# ĪĪÎŋΚĪÎĩίĪÎŊ}}",
- "assets_restored_successfully": "{} ĪĪÎŋΚĪÎĩÎ¯Îą ÎąĪÎŋÎēÎąĪÎąĪĪÎŦθΡÎēÎąÎŊ ÎŧÎĩ ÎĩĪΚĪĪ
ĪÎ¯Îą",
+ "assets_restored_successfully": "{} ĪÎą ĪĪÎŋΚĪÎĩÎ¯Îą ÎąĪÎŋÎēÎąĪÎąĪĪÎŦθΡÎēÎąÎŊ ÎŧÎĩ ÎĩĪΚĪĪ
ĪÎ¯Îą",
"assets_trashed": "{} ĪĪÎŋΚĪÎĩÎ¯Îą ÎŧÎĩĪÎąĪÎĪθΡÎēÎąÎŊ ĪĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ",
"assets_trashed_count": "ÎÎĩĪÎąÎēΚÎŊ. ĪĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŦĪĪÎŊ {count, plural, one {# ĪĪÎŋΚĪÎĩίÎŋ} other {# ĪĪÎŋΚĪÎĩÎ¯Îą}}",
- "assets_trashed_from_server": "{} ĪĪÎŋΚĪÎĩÎ¯Îą ÎŧÎĩĪÎąĪÎĪθΡÎēÎąÎŊ ĪĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ ÎąĪĪ ĪÎŋÎŊ δΚιÎēÎŋÎŧΚĪĪÎŽ Immich",
+ "assets_trashed_from_server": "{} ĪĪÎŋΚĪÎĩÎ¯Îą ÎŧÎĩĪÎąĪÎĪθΡÎēÎąÎŊ ĪĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ ÎąĪĪ ĪÎŋ δΚιÎēÎŋÎŧΚĪĪÎŽ Immich",
"assets_were_part_of_album_count": "{count, plural, one {ΤÎŋ ĪĪÎŋΚĪÎĩίÎŋ ÎąÎŊÎŽÎēÎĩΚ} other {Τι ĪĪÎŋΚĪÎĩÎ¯Îą ÎąÎŊÎŽÎēÎŋĪ
ÎŊ}} ΎδΡ ĪĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"authorized_devices": "ÎΞÎŋĪ
ĪΚÎŋδÎŋĪΡÎŧÎÎŊÎĩĪ ÎŖĪ
ĪÎēÎĩĪ
ÎĪ",
- "automatic_endpoint_switching_subtitle": "Connect locally over designated Wi-Fi when available and use alternative connections elsewhere",
- "automatic_endpoint_switching_title": "Automatic URL switching",
+ "automatic_endpoint_switching_subtitle": "ÎŖĪÎŊδÎĩĪΡ ĪÎŋĪΚÎēÎŦ ÎŧÎĪĪ ĪÎŋĪ
ÎēιθÎŋĪΚĪÎŧÎÎŊÎŋĪ
Wi-Fi ĪĪÎąÎŊ ÎĩίÎŊιΚ δΚιθÎĪΚÎŧÎŋ ÎēιΚ ĪĪÎŽĪΡ ÎĩÎŊÎąÎģÎģÎąÎēĪΚÎēĪÎŊ ĪĪ
ÎŊδÎĪÎĩĪÎŊ ÎąÎģÎģÎŋĪ",
+ "automatic_endpoint_switching_title": "ÎĪ
ĪĪÎŧÎąĪΡ ÎĩÎŊÎąÎģÎģÎąÎŗÎŽ URL",
"back": "ΠίĪĪ",
"back_close_deselect": "ΠίĪĪ, ÎēÎģÎĩίĪΚÎŧÎŋ ÎŽ ÎąĪÎŋÎĩĪΚÎģÎŋÎŗÎŽ",
- "background_location_permission": "Background location permission",
- "background_location_permission_content": "In order to switch networks when running in the background, Immich must *always* have precise location access so the app can read the Wi-Fi network's name",
+ "background_location_permission": "ÎδÎĩΚι ĪÎŋĪÎŋθÎĩĪÎ¯ÎąĪ ĪĪÎŋ ĪÎąĪÎąĪÎēÎŽÎŊΚÎŋ",
+ "background_location_permission_content": "ΤÎŋ Immich ÎŗÎšÎą ÎŊÎą ÎŧĪÎŋĪÎĩί ÎŊÎą ÎąÎģÎģÎŦÎļÎĩΚ δίÎēĪĪ
Îą ĪĪÎąÎŊ ĪĪÎĪÎĩΚ ĪĪÎŋ ĪÎąĪÎąĪÎēÎŽÎŊΚÎŋ, ĪĪÎĪÎĩΚ *ĪÎŦÎŊĪÎą* ÎŊÎą ÎĪÎĩΚ ĪĪĪĪβιĪΡ ĪĪΡÎŊ ÎąÎēĪΚβΎ ĪÎŋĪÎŋθÎĩĪÎ¯Îą ĪĪĪÎĩ Ρ ÎĩĪÎąĪÎŧÎŋÎŗÎŽ ÎŊÎą ÎŧĪÎŋĪÎĩί ÎŊÎą δΚιβÎŦÎļÎĩΚ ĪÎŋ ĪÎŊÎŋÎŧÎą ĪÎŋĪ
δΚÎēĪĪÎŋĪ
Wi-Fi",
"backup_album_selection_page_albums_device": "ÎÎģÎŧĪÎŋĪ
Îŧ ĪĪΡ ĪĪ
ĪÎēÎĩĪ
ÎŽ ({})",
"backup_album_selection_page_albums_tap": "Î ÎŦĪΡÎŧÎą ÎŗÎšÎą ĪĪ
ÎŧĪÎĩĪίÎģΡĪΡ, δΚĪÎģĪ ĪÎŦĪΡÎŧÎą ÎŗÎšÎą ÎĩÎžÎąÎ¯ĪÎĩĪΡ",
- "backup_album_selection_page_assets_scatter": "Τι ĪĪÎŋΚĪÎĩÎ¯Îą ÎŧĪÎŋĪÎĩί ÎŊÎą δΚιĪÎēÎŋĪĪΚĪĪÎŋĪÎŊ ĪÎĩ ĪÎŋÎģÎģÎŦ ÎŦÎģÎŧĪÎŋĪ
Îŧ. ÎĪĪΚ, ĪÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ ÎŧĪÎŋĪÎŋĪÎŊ ÎŊÎą ĪÎĩĪΚÎģΡĪθÎŋĪÎŊ ÎŽ ÎŊÎą ÎĩΞιΚĪÎĩθÎŋĪÎŊ ÎēÎąĪÎŦ ĪΡ δΚιδΚÎēÎąĪÎ¯Îą δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ.",
+ "backup_album_selection_page_assets_scatter": "Τι ĪĪÎŋΚĪÎĩÎ¯Îą ÎŧĪÎŋĪÎĩί ÎŊÎą δΚιĪÎēÎŋĪĪΚĪĪÎŋĪÎŊ ĪÎĩ ĪÎŋÎģÎģÎŦ ÎŦÎģÎŧĪÎŋĪ
Îŧ. ÎĪĪΚ, ĪÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ ÎŧĪÎŋĪÎŋĪÎŊ ÎŊÎą ĪÎĩĪΚÎģΡĪθÎŋĪÎŊ ÎŽ ÎŊÎą ÎĩΞιΚĪÎĩθÎŋĪÎŊ ÎēÎąĪÎŦ ĪΡ δΚιδΚÎēÎąĪÎ¯Îą δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ.",
"backup_album_selection_page_select_albums": "ÎĪΚÎģÎŋÎŗÎŽ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"backup_album_selection_page_selection_info": "Î ÎģΡĪÎŋĪÎŋĪίÎĩĪ ÎĩĪΚÎģÎŋÎŗÎŽĪ",
"backup_album_selection_page_total_assets": "ÎŖĪ
ÎŊÎŋÎģΚÎēÎŦ ÎŧÎŋÎŊιδΚÎēÎŦ ĪĪÎŋΚĪÎĩÎ¯Îą",
"backup_all": "ÎÎģÎą",
- "backup_background_service_backup_failed_message": "ÎĪÎŋĪĪ
ĪÎ¯Îą δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ. ÎĪÎąÎŊÎŦÎģΡĪΡ...",
- "backup_background_service_connection_failed_message": "ÎĪÎŋĪĪ
ĪÎ¯Îą ĪĪÎŊδÎĩĪÎˇĪ ÎŧÎĩ ĪÎŋ δΚιÎēÎŋÎŧΚĪĪÎŽ. ÎĪÎąÎŊÎŦÎģΡĪΡ...",
+ "backup_background_service_backup_failed_message": "ÎĪÎŋĪĪ
ĪÎ¯Îą δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ. ÎĪÎąÎŊÎŦÎģΡĪΡâĻ",
+ "backup_background_service_connection_failed_message": "ÎĪÎŋĪĪ
ĪÎ¯Îą ĪĪÎŊδÎĩĪÎˇĪ ÎŧÎĩ ĪÎŋ δΚιÎēÎŋÎŧΚĪĪÎŽ. ÎĪÎąÎŊÎŦÎģΡĪΡâĻ",
"backup_background_service_current_upload_notification": "ÎÎĩĪÎąĪĪĪĪĪĪΡ {}",
- "backup_background_service_default_notification": "ÎÎģÎĩÎŗĪÎŋĪ ÎŗÎšÎą ÎŊÎÎą ĪĪÎŋΚĪÎĩÎ¯Îą...",
+ "backup_background_service_default_notification": "ÎÎģÎĩÎŗĪÎŋĪ ÎŗÎšÎą ÎŊÎÎą ĪĪÎŋΚĪÎĩÎ¯ÎąâĻ",
"backup_background_service_error_title": "ÎŖĪÎŦÎģÎŧÎą δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ",
- "backup_background_service_in_progress_notification": "ÎΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŊ ĪĪÎŋΚĪÎĩίĪÎŊ ĪÎąĪ...",
+ "backup_background_service_in_progress_notification": "ÎΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŊ ĪĪÎŋΚĪÎĩίĪÎŊ ĪÎąĪâĻ",
"backup_background_service_upload_failure_notification": "ÎĪÎŋĪĪ
ĪÎ¯Îą ÎŧÎĩĪÎąĪĪĪĪĪĪÎˇĪ {}",
"backup_controller_page_albums": "ÎΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"backup_controller_page_background_app_refresh_disabled_content": "ÎÎŊÎĩĪÎŗÎŋĪÎŋΚΎĪĪÎĩ ĪΡÎŊ ÎąÎŊÎąÎŊÎĪĪΡ ÎĩĪÎąĪÎŧÎŋÎŗÎŽĪ ĪĪÎŋ ĪÎąĪÎąĪÎēÎŽÎŊΚÎŋ ĪĪÎšĪ ÎĄĪ
θÎŧίĪÎĩÎšĪ > ÎÎĩÎŊΚÎēÎŦ > ÎÎŊÎąÎŊÎĪĪΡ ÎĪÎąĪÎŧÎŋÎŗÎŽĪ ĪĪÎŋ Î ÎąĪÎąĪÎēÎŽÎŊΚÎŋ ÎŗÎšÎą ÎŊÎą ĪĪΡĪΚÎŧÎŋĪÎŋΚΎĪÎĩĪÎĩ ĪΡÎŊ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪÎąĪÎąĪÎēÎŽÎŊΚÎŋ.",
@@ -531,7 +524,7 @@
"backup_controller_page_background_is_on": "Î ÎąĪ
ĪĪÎŧÎąĪΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪÎąĪÎąĪÎēÎŽÎŊΚÎŋ ÎĩίÎŊιΚ ÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊΡ",
"backup_controller_page_background_turn_off": "ÎĪÎĩÎŊÎĩĪÎŗÎŋĪÎŋÎ¯ÎˇĪΡ Ī
ĪΡĪÎĩĪÎ¯ÎąĪ ĪÎąĪÎąĪÎēΡÎŊίÎŋĪ
",
"backup_controller_page_background_turn_on": "ÎÎŊÎĩĪÎŗÎŋĪÎŋÎ¯ÎˇĪΡ Ī
ĪΡĪÎĩĪÎ¯ÎąĪ ĪÎąĪÎąĪÎēΡÎŊίÎŋĪ
",
- "backup_controller_page_background_wifi": "ÎĪÎŊÎŋ ĪÎĩ ĪĪÎŊδÎĩĪΡ WiFi",
+ "backup_controller_page_background_wifi": "ÎĪÎŊÎŋ ĪÎĩ ĪĪÎŊδÎĩĪΡ Wi-Fi",
"backup_controller_page_backup": "ÎÎŊĪÎ¯ÎŗĪÎąĪÎą ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ",
"backup_controller_page_backup_selected": "ÎĪΚÎģÎĩÎŗÎŧÎÎŊÎą: ",
"backup_controller_page_backup_sub": "ÎĻĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ Î˛Î¯ÎŊĪÎĩÎŋ ÎŗÎšÎą ĪÎą ÎŋĪÎŋÎ¯Îą ÎĪÎŋĪ
ÎŊ δΡÎŧΚÎŋĪ
ĪÎŗÎˇÎ¸Îĩί ÎąÎŊĪÎ¯ÎŗĪÎąĪÎą ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ",
@@ -547,13 +540,13 @@
"backup_controller_page_remainder_sub": "ÎĨĪĪÎģÎŋΚĪÎĩĪ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ Î˛Î¯ÎŊĪÎĩÎŋ ÎŗÎšÎą ÎąÎŊĪÎšÎŗĪÎąĪÎŽ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ÎąĪĪ ĪΡÎŊ ÎĩĪΚÎģÎŋÎŗÎŽ",
"backup_controller_page_server_storage": "ΧĪĪΡĪΚÎēĪĪΡĪÎą ÎΚιÎēÎŋÎŧΚĪĪÎŽ",
"backup_controller_page_start_backup": "ÎÎŊÎąĪΞΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ",
- "backup_controller_page_status_off": "Î ÎąĪ
ĪĪÎŧÎąĪΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪĪÎŋĪÎēÎŽÎŊΚÎŋ ÎĩίÎŊιΚ ÎąĪÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊΡ\n",
+ "backup_controller_page_status_off": "Î ÎąĪ
ĪĪÎŧÎąĪΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪĪÎŋĪÎēÎŽÎŊΚÎŋ, ÎĩίÎŊιΚ ÎąĪÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊΡ",
"backup_controller_page_status_on": "Î ÎąĪ
ĪĪÎŧÎąĪΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪĪÎŋĪÎēÎŽÎŊΚÎŋ ÎĩίÎŊιΚ ÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊΡ",
"backup_controller_page_storage_format": "{} ÎąĪĪ {} ĪÎĩ ĪĪÎŽĪΡ",
"backup_controller_page_to_backup": "ÎÎģÎŧĪÎŋĪ
Îŧ ÎŗÎšÎą δΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ",
- "backup_controller_page_total_sub": "ÎÎģÎĩĪ ÎŋΚ ÎŧÎŋÎŊιδΚÎēÎĪ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ Î˛Î¯ÎŊĪÎĩÎŋ ÎąĪĪ ĪÎą ÎĩĪΚÎģÎĩÎŗÎŧÎÎŊÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ\n",
- "backup_controller_page_turn_off": "ÎĪÎĩÎŊÎĩĪÎŗÎŋĪÎŋÎ¯ÎˇĪΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪĪÎŋĪÎēÎŽÎŊΚÎŋ\n",
- "backup_controller_page_turn_on": "ÎÎŊÎĩĪÎŗÎŋĪÎŋÎ¯ÎˇĪΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪĪÎŋĪÎēÎŽÎŊΚÎŋ\n",
+ "backup_controller_page_total_sub": "ÎÎģÎĩĪ ÎŋΚ ÎŧÎŋÎŊιδΚÎēÎĪ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ Î˛Î¯ÎŊĪÎĩÎŋ ÎąĪĪ ĪÎą ÎĩĪΚÎģÎĩÎŗÎŧÎÎŊÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ",
+ "backup_controller_page_turn_off": "ÎĪÎĩÎŊÎĩĪÎŗÎŋĪÎŋÎ¯ÎˇĪΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪĪÎŋĪÎēÎŽÎŊΚÎŋ",
+ "backup_controller_page_turn_on": "ÎÎŊÎĩĪÎŗÎŋĪÎŋÎ¯ÎˇĪΡ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪĪÎŋĪÎēÎŽÎŊΚÎŋ",
"backup_controller_page_uploading_file_info": "ÎÎĩĪÎąĪĪĪĪĪĪΡ ĪÎģΡĪÎŋĪÎŋĪΚĪÎŊ ÎąĪĪÎĩίÎŋĪ
",
"backup_err_only_album": "ÎÎĩÎŊ ÎĩίÎŊιΚ δĪ
ÎŊÎąĪÎŽ Ρ ÎąĪÎąÎ¯ĪÎĩĪΡ ĪÎŋĪ
ÎŧÎŋÎŊιδΚÎēÎŋĪ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"backup_info_card_assets": "ĪĪÎŋΚĪÎĩÎ¯Îą",
@@ -562,7 +555,7 @@
"backup_manual_success": "ÎĪΚĪĪ
ĪÎ¯Îą",
"backup_manual_title": "ÎÎąĪÎŦĪĪÎąĪΡ ÎŧÎĩĪÎąĪĪĪĪĪĪΡĪ",
"backup_options_page_title": "ÎĪΚÎģÎŋÎŗÎĪ ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ",
- "backup_setting_subtitle": "Manage background and foreground upload settings",
+ "backup_setting_subtitle": "ÎΚιĪÎĩίĪΚĪΡ ĪĪ
θÎŧίĪÎĩĪÎŊ ÎŧÎĩĪÎąĪĪĪĪĪĪÎˇĪ ĪĪÎŋ ĪÎąĪÎąĪÎēÎŽÎŊΚÎŋ ÎēιΚ ĪĪÎŋ ĪĪÎŋĪÎēÎŽÎŊΚÎŋ",
"backward": "Î ĪÎŋĪ ĪÎą ĪίĪĪ",
"birthdate_saved": "ΠΡÎŧÎĩĪÎŋÎŧΡÎŊÎ¯Îą ÎŗÎÎŊÎŊΡĪÎˇĪ ÎąĪÎŋθΡÎēÎĩĪĪΡÎēÎĩ ÎĩĪΚĪĪ
ĪĪĪ",
"birthdate_set_description": "ΠΡÎŧÎĩĪÎŋÎŧΡÎŊÎ¯Îą ÎŗÎÎŊÎŊΡĪÎˇĪ ĪĪΡĪΚÎŧÎŋĪÎŋΚÎĩίĪιΚ ÎŗÎšÎą ĪÎŋÎŊ Ī
ĪÎŋÎģÎŋÎŗÎšĪÎŧĪ ĪÎˇĪ ÎˇÎģΚÎēÎ¯ÎąĪ ÎąĪ
ĪÎŋĪ ĪÎŋĪ
ÎąĪĪÎŧÎŋĪ
, ĪΡ ĪĪÎŋÎŊΚÎēÎŽ ĪĪÎšÎŗÎŧÎŽ ÎŧÎšÎąĪ ĪĪĪÎŋÎŗĪÎąĪÎ¯ÎąĪ.",
@@ -579,7 +572,7 @@
"cache_settings_clear_cache_button_title": "ÎιθιĪίÎļÎĩΚ ĪΡ ĪĪÎŋĪĪĪΚÎŊÎŽ ÎŧÎŊÎŽÎŧΡ ĪÎˇĪ ÎĩĪÎąĪÎŧÎŋÎŗÎŽĪ. ÎĪ
ĪĪ Î¸Îą ÎĩĪΡĪÎĩÎŦĪÎĩΚ ĪΡÎŧÎąÎŊĪΚÎēÎŦ ĪΡÎŊ ÎąĪĪδÎŋĪΡ ĪÎˇĪ ÎĩĪÎąĪÎŧÎŋÎŗÎŽĪ ÎŧÎĪĪΚ ÎŊÎą ÎąÎŊιδΡÎŧΚÎŋĪ
ĪÎŗÎˇÎ¸Îĩί Ρ ĪĪÎŋĪĪĪΚÎŊÎŽ ÎŧÎŊÎŽÎŧΡ.",
"cache_settings_duplicated_assets_clear_button": "ÎÎÎÎÎÎÎĄÎÎŖÎ",
"cache_settings_duplicated_assets_subtitle": "ÎĻĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ Î˛Î¯ÎŊĪÎĩÎŋ ĪÎŋĪ
ÎĪÎŋĪ
ÎŊ ÎŧĪÎĩΚ ĪĪΡ ÎŧÎąĪĪΡ ÎģίĪĪÎą ÎąĪĪ ĪΡÎŊ ÎĩĪÎąĪÎŧÎŋÎŗÎŽ",
- "cache_settings_duplicated_assets_title": "ÎΚĪÎģÎŦ ĪĪÎŋΚĪÎĩÎ¯Îą ({})",
+ "cache_settings_duplicated_assets_title": "ÎΚĪÎģĪĪĪ
ĪÎą ĪĪÎŋΚĪÎĩÎ¯Îą ({})",
"cache_settings_image_cache_size": "ÎÎÎŗÎĩθÎŋĪ ĪĪÎŋĪĪĪΚÎŊÎŽĪ ÎŧÎŊÎŽÎŧÎˇĪ ÎĩΚÎēĪÎŊĪÎŊ ({} ĪĪÎŋΚĪÎĩÎ¯Îą)",
"cache_settings_statistics_album": "ÎΚÎēĪÎŋÎŗĪÎąĪίÎĩĪ Î˛ÎšÎ˛ÎģΚÎŋθΎÎēΡĪ",
"cache_settings_statistics_assets": "{} ĪĪÎŋΚĪÎĩÎ¯Îą ({})",
@@ -597,12 +590,12 @@
"camera_model": "ÎÎŋÎŊĪÎÎģÎŋ ÎēÎŦÎŧÎĩĪÎąĪ",
"cancel": "ÎÎēĪĪĪĪΡ",
"cancel_search": "ÎÎēĪĪĪĪΡ ÎąÎŊÎąÎļÎŽĪΡĪΡĪ",
- "canceled": "Canceled",
+ "canceled": "ÎÎēĪ
ĪĪÎŧÎÎŊÎŋ",
"cannot_merge_people": "ÎδĪÎŊÎąĪΡ Ρ ĪĪ
ÎŗĪĪÎŊÎĩĪ
ĪΡ ÎąĪĪÎŧĪÎŊ",
"cannot_undo_this_action": "ÎÎĩÎŊ ÎŧĪÎŋĪÎĩίĪÎĩ ÎŊÎą ÎąÎŊιΚĪÎĪÎĩĪÎĩ ÎąĪ
ĪÎŽÎŊ ĪΡÎŊ ÎĩÎŊÎĪÎŗÎĩΚι!",
"cannot_update_the_description": "ÎδĪÎŊÎąĪΡ Ρ ÎĩÎŊΡÎŧÎĪĪĪΡ ĪÎˇĪ ĪÎĩĪÎšÎŗĪÎąĪÎŽĪ",
"change_date": "ÎÎģÎģÎąÎŗÎŽ ΡÎŧÎĩĪÎŋÎŧΡÎŊÎ¯ÎąĪ",
- "change_display_order": "Change display order",
+ "change_display_order": "ÎÎģÎģÎąÎŗÎŽ ĪÎĩΚĪÎŦĪ ÎĩÎŧĪÎŦÎŊΚĪΡĪ",
"change_expiration_time": "ÎÎģÎģÎąÎŗÎŽ ĪĪĪÎŊÎŋĪ
ÎģΎΞΡĪ",
"change_location": "ÎÎģÎģÎąÎŗÎŽ ĪÎŋĪÎŋθÎĩĪÎ¯ÎąĪ",
"change_name": "ÎÎģÎģÎąÎŗÎŽ ÎŋÎŊÎŋÎŧÎąĪÎ¯ÎąĪ",
@@ -617,9 +610,9 @@
"change_your_password": "ÎÎģÎģÎŦΞĪÎĩ ĪÎŋÎŊ ÎēĪδΚÎēĪ ĪÎąĪ",
"changed_visibility_successfully": "Î ĪĪÎŋβÎŋÎģÎŽ, ÎŦÎģÎģιΞÎĩ ÎŧÎĩ ÎĩĪΚĪĪ
ĪÎ¯Îą",
"check_all": "ÎĪΚÎģÎŋÎŗÎŽ ÎÎģĪÎŊ",
- "check_corrupt_asset_backup": "Check for corrupt asset backups",
- "check_corrupt_asset_backup_button": "Perform check",
- "check_corrupt_asset_backup_description": "Run this check only over Wi-Fi and once all assets have been backed-up. The procedure might take a few minutes.",
+ "check_corrupt_asset_backup": "ÎÎģÎĩÎŗĪÎŋĪ ÎŗÎšÎą ÎēÎąĪÎĩĪĪĪÎąÎŧÎŧÎÎŊÎą ÎąÎŊĪÎ¯ÎŗĪÎąĪÎą ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋΚĪÎĩίĪÎŊ",
+ "check_corrupt_asset_backup_button": "ÎÎēĪÎÎģÎĩĪΡ ÎĩÎģÎÎŗĪÎŋĪ
",
+ "check_corrupt_asset_backup_description": "ÎÎēĪÎÎģÎĩĪÎĩ ÎąĪ
ĪĪÎŊ ĪÎŋÎŊ ÎÎģÎĩÎŗĪÎŋ ÎŧĪÎŊÎŋ ÎŧÎĪĪ Wi-Fi ÎēιΚ ÎąĪÎŋĪ ÎĪÎŋĪ
ÎŊ ÎąĪÎŋθΡÎēÎĩĪ
ĪÎĩί ĪÎģÎą ĪÎą ÎąÎŊĪÎ¯ÎŗĪÎąĪÎą ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŊ ĪĪÎŋΚĪÎĩίĪÎŊ. ΠδΚιδΚÎēÎąĪÎ¯Îą ÎŧĪÎŋĪÎĩί ÎŊÎą δΚιĪÎēÎĪÎĩΚ ÎŧÎĩĪΚÎēÎŦ ÎģÎĩĪĪÎŦ.",
"check_logs": "ÎÎģÎÎŗÎžĪÎĩ ĪÎą ÎąĪĪÎĩÎ¯Îą ÎēÎąĪÎąÎŗĪÎąĪÎŽĪ",
"choose_matching_people_to_merge": "ÎĪΚÎģÎΞĪÎĩ ĪÎą ÎąÎŊĪίĪĪÎŋΚĪÎą ÎŦĪÎŋÎŧÎą ÎŗÎšÎą ĪĪ
ÎŗĪĪÎŊÎĩĪ
ĪΡ",
"city": "Î ĪÎģΡ",
@@ -648,7 +641,7 @@
"comments_are_disabled": "Τι ĪĪĪÎģΚι ÎĩίÎŊιΚ ÎąĪÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊÎą",
"common_create_new_album": "ÎΡÎŧΚÎŋĪ
ĪÎŗÎ¯Îą ÎŊÎÎŋĪ
ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"common_server_error": "ÎÎģÎÎŗÎžĪÎĩ ĪΡ ĪĪÎŊδÎĩĪÎŽ ĪÎąĪ, βÎĩβιΚĪθÎĩίĪÎĩ ĪĪΚ Îŋ δΚιÎēÎŋÎŧΚĪĪÎŽĪ ÎĩίÎŊιΚ ĪĪÎŋĪβÎŦĪΚÎŧÎŋĪ ÎēιΚ ĪĪΚ ÎŋΚ ÎĩÎēδĪĪÎĩÎšĪ ĪÎˇĪ ÎĩĪÎąĪÎŧÎŋÎŗÎŽĪ/δΚιÎēÎŋÎŧΚĪĪÎŽ ÎĩίÎŊιΚ ĪĪ
ÎŧβιĪÎĪ.",
- "completed": "Completed",
+ "completed": "ÎÎģÎŋÎēÎģΡĪĪθΡÎēÎĩ",
"confirm": "ÎĪΚβÎĩÎ˛ÎąÎ¯ĪĪΡ",
"confirm_admin_password": "ÎĪΚβÎĩÎ˛ÎąÎ¯ĪĪΡ ÎēĪδΚÎēÎŋĪ ÎΚιĪÎĩΚĪΚĪĪÎŽ",
"confirm_delete_face": "ÎίĪĪÎĩ ĪÎ¯ÎŗÎŋĪ
ĪÎŋΚ ĪĪΚ θÎÎģÎĩĪÎĩ ÎŊÎą Î´ÎšÎąÎŗĪÎŦĪÎĩĪÎĩ ĪÎŋ ĪĪĪĪĪĪÎŋ ĪÎŋĪ
/ĪÎˇĪ {name} ÎąĪĪ ĪÎŋ ĪĪÎŋΚĪÎĩίÎŋ;",
@@ -664,7 +657,7 @@
"control_bottom_app_bar_delete_from_local": "ÎÎšÎąÎŗĪÎąĪÎŽ ÎąĪĪ ĪΡ ĪĪ
ĪÎēÎĩĪ
ÎŽ",
"control_bottom_app_bar_edit_location": "ÎĪÎĩΞÎĩĪÎŗÎąĪÎ¯Îą ΤÎŋĪÎŋθÎĩĪÎ¯ÎąĪ",
"control_bottom_app_bar_edit_time": "ÎĪÎĩΞÎĩĪÎŗÎąĪÎ¯Îą ÎÎŧÎĩĪÎŋÎŧΡÎŊÎ¯ÎąĪ & ÎĪÎąĪ",
- "control_bottom_app_bar_share_link": "Share Link",
+ "control_bottom_app_bar_share_link": "ÎÎŋΚÎŊÎŋĪÎŋΚΎĪĪÎĩ ĪÎŋ ĪĪÎŊδÎĩĪÎŧÎŋ",
"control_bottom_app_bar_share_to": "ÎÎŋΚÎŊÎŋĪÎŋÎ¯ÎˇĪΡ ÎŖÎĩ",
"control_bottom_app_bar_trash_from_immich": "ÎÎĩĪÎąÎēίÎŊΡĪΡ ĪĪÎą ÎĪÎŋĪĪίÎŧÎŧÎąĪÎą",
"copied_image_to_clipboard": "Î ÎĩΚÎēĪÎŊÎą ÎąÎŊĪÎšÎŗĪÎŦĪΡÎēÎĩ ĪĪÎŋ ĪĪĪĪÎĩΚĪÎŋ.",
@@ -699,7 +692,7 @@
"crop": "ÎĪÎŋÎēÎŋĪÎŽ",
"curated_object_page_title": "Î ĪÎŦÎŗÎŧÎąĪÎą",
"current_device": "ΤĪÎĪÎŋĪ
ĪÎą ĪĪ
ĪÎēÎĩĪ
ÎŽ",
- "current_server_address": "Current server address",
+ "current_server_address": "ΤĪÎĪÎŋĪ
ĪÎą δΚÎĩĪθĪ
ÎŊĪΡ δΚιÎēÎŋÎŧΚĪĪÎŽ",
"custom_locale": "Î ĪÎŋĪÎąĪÎŧÎŋĪÎŧÎÎŊΡ ΤÎŋĪΚÎēÎŽ ÎĄĪθÎŧΚĪΡ",
"custom_locale_description": "ÎÎŋĪĪÎŋĪÎŋΚΎĪĪÎĩ ĪÎšĪ ÎˇÎŧÎĩĪÎŋÎŧΡÎŊίÎĩĪ ÎēιΚ ĪÎŋĪ
Ī ÎąĪΚθÎŧÎŋĪĪ, ĪĪÎŧĪĪÎŊÎą ÎŧÎĩ ĪΡ ÎŗÎģĪĪĪÎą ÎēιΚ ĪΡÎŊ ĪÎĩĪΚÎŋĪÎŽ",
"daily_title_text_date": "Î, MMM dd",
@@ -750,7 +743,7 @@
"direction": "ÎÎąĪÎĩĪθĪ
ÎŊĪΡ",
"disabled": "ÎĪÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊÎŋ",
"disallow_edits": "ÎĪÎąÎŗĪĪÎĩĪ
ĪΡ ÎĩĪÎĩΞÎĩĪÎŗÎąĪΚĪÎŊ",
- "discord": "Discord",
+ "discord": "Î ÎģÎąĪĪĪĪÎŧÎą Discord",
"discover": "ÎÎŊίĪÎŊÎĩĪ
ĪΡ",
"dismiss_all_errors": "Î ÎąĪÎŦβÎģÎĩĪΡ ĪÎģĪÎŊ ĪĪÎŊ ĪĪÎąÎģÎŧÎŦĪĪÎŊ",
"dismiss_error": "Î ÎąĪÎŦβÎģÎĩĪΡ ĪĪÎŦÎģÎŧÎąĪÎŋĪ",
@@ -811,16 +804,16 @@
"editor_crop_tool_h2_aspect_ratios": "ÎÎŊÎąÎģÎŋÎŗÎ¯ÎĩĪ Î´ÎšÎąĪĪÎŦĪÎĩĪÎŊ",
"editor_crop_tool_h2_rotation": "Î ÎĩĪΚĪĪĪÎŋĪÎŽ",
"email": "Email",
- "empty_folder": "This folder is empty",
+ "empty_folder": "ÎĪ
ĪĪĪ Îŋ ĪÎŦÎēÎĩÎģÎŋĪ ÎĩίÎŊιΚ ÎēÎĩÎŊĪĪ",
"empty_trash": "ÎδÎĩΚιĪÎŧÎą ÎēÎŦδÎŋĪ
ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ",
"empty_trash_confirmation": "ÎίĪĪÎĩ ĪÎ¯ÎŗÎŋĪ
ĪÎŋΚ ÎŋĪΚ θÎÎģÎĩĪÎĩ ÎŊÎą ιδÎĩΚÎŦĪÎĩĪÎĩ ĪÎŋÎŊ ÎēÎŦδÎŋ ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ; ÎĪ
ĪĪ Î¸Îą ÎąĪιΚĪÎĪÎĩΚ ÎŧĪÎŊΚÎŧÎą ĪÎģÎą ĪÎą ĪĪÎŋΚĪÎĩÎ¯Îą ĪÎŋĪ
ÎēÎŦδÎŋĪ
ÎąĪÎŋĪĪΚÎŧÎŧÎŦĪĪÎŊ ĪÎŋĪ
Immich. \nÎĪ
ĪÎŽ Ρ ÎĩÎŊÎĪÎŗÎĩΚι δÎĩÎŊ ÎŧĪÎŋĪÎĩί ÎŊÎą ÎąÎŊιΚĪÎĩθÎĩί!",
"enable": "ÎÎŊÎĩĪÎŗÎŋĪÎŋÎ¯ÎˇĪΡ",
"enabled": "ÎÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊÎŋ",
"end_date": "ΤÎĩÎģΚÎēÎŽ ΡÎŧÎĩĪÎŋÎŧΡÎŊÎ¯Îą",
- "enqueued": "Enqueued",
- "enter_wifi_name": "Enter WiFi name",
+ "enqueued": "ΤÎŋĪÎŋθÎĩĪΎθΡÎēÎĩ ĪĪΡ ÎģίĪĪÎą ÎąÎŊÎąÎŧÎŋÎŊÎŽĪ",
+ "enter_wifi_name": "ÎΚĪÎąÎŗĪÎŗÎŽ ÎŋÎŊĪÎŧÎąĪÎŋĪ Wi-Fi",
"error": "ÎŖĪÎŦÎģÎŧÎą",
- "error_change_sort_album": "Failed to change album sort order",
+ "error_change_sort_album": "ÎĪÎĪĪ
ĪÎĩ Ρ ÎąÎģÎģÎąÎŗÎŽ ĪÎĩΚĪÎŦĪ ĪÎŋĪ
ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"error_delete_face": "ÎŖĪÎŦÎģÎŧÎą Î´ÎšÎąÎŗĪÎąĪÎŽĪ ĪĪÎŋĪĪĪÎŋĪ
ÎąĪĪ ĪÎŋ ĪĪÎŋΚĪÎĩίÎŋ",
"error_loading_image": "ÎŖĪÎŦÎģÎŧÎą ÎēÎąĪÎŦ ĪΡ ĪĪĪĪĪĪΡ ĪÎˇĪ ÎĩΚÎēĪÎŊÎąĪ",
"error_saving_image": "ÎŖĪÎŦÎģÎŧÎą: {}",
@@ -857,6 +850,7 @@
"failed_to_remove_product_key": "ÎĪÎŋĪĪ
ĪÎ¯Îą ÎąĪÎąÎ¯ĪÎĩĪÎˇĪ ÎēÎģÎĩΚδΚÎŋĪ ĪĪÎŋĪĪÎŊĪÎŋĪ",
"failed_to_stack_assets": "ÎĪÎŋĪĪ
ĪÎ¯Îą ĪĪΡÎŊ ĪĪ
ÎŧĪίÎĩĪΡ ĪĪÎŊ ĪĪÎŋΚĪÎĩίĪÎŊ",
"failed_to_unstack_assets": "ÎĪÎŋĪĪ
ĪÎ¯Îą ĪĪΡÎŊ ÎąĪÎŋĪĪ
ÎŧĪίÎĩĪΡ ĪĪÎŊ ĪĪÎŋΚĪÎĩίĪÎŊ",
+ "failed_to_update_notification_status": "ÎĪÎŋĪĪ
ĪÎ¯Îą ÎĩÎŊΡÎŧÎĪĪĪÎˇĪ ĪÎˇĪ ÎēÎąĪÎŦĪĪÎąĪÎˇĪ ÎĩΚδÎŋĪÎŋÎ¯ÎˇĪΡĪ",
"import_path_already_exists": "ÎĪ
ĪÎŽ Ρ δΚιδĪÎŋÎŧÎŽ ÎĩΚĪÎąÎŗĪÎŗÎŽĪ Ī
ĪÎŦĪĪÎĩΚ ΎδΡ.",
"incorrect_email_or_password": "ÎÎąÎŊθιĪÎŧÎÎŊÎŋ email ÎŽ ÎēĪδΚÎēĪĪ ĪĪĪĪβιĪΡĪ",
"paths_validation_failed": "{paths, plural, one {# δΚιδĪÎŋÎŧÎŽ} other {# δΚιδĪÎŋÎŧÎĪ}} ÎąĪÎĪĪ
ĪÎąÎŊ ÎēÎąĪÎŦ ĪΡÎŊ ÎĩĪΚÎēĪĪĪĪΡ",
@@ -955,12 +949,12 @@
"exif_bottom_sheet_description": "Î ĪÎŋĪθΎÎēΡ Î ÎĩĪÎšÎŗĪÎąĪÎŽĪ...",
"exif_bottom_sheet_details": "ÎÎΠΤÎÎÎÎĄÎÎÎÎŖ",
"exif_bottom_sheet_location": "ΤÎÎ ÎÎÎÎŖÎÎ",
- "exif_bottom_sheet_people": "ÎÎÎΥΊΠÎÎ",
+ "exif_bottom_sheet_people": "ÎΤÎÎÎ",
"exif_bottom_sheet_person_add_person": "Î ĪÎŋĪθΎÎēΡ ÎŋÎŊĪÎŧÎąĪÎŋĪ",
- "exif_bottom_sheet_person_age": "Age {}",
- "exif_bottom_sheet_person_age_months": "Age {} months",
- "exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
- "exif_bottom_sheet_person_age_years": "Age {}",
+ "exif_bottom_sheet_person_age": "ÎÎģΚÎēÎ¯Îą {}",
+ "exif_bottom_sheet_person_age_months": "ÎÎģΚÎēÎ¯Îą {} ÎŧÎŽÎŊÎĩĪ",
+ "exif_bottom_sheet_person_age_year_months": "ÎÎģΚÎēÎ¯Îą 1 ÎĪÎŋĪ
Ī, {} ÎŧΡÎŊĪÎŊ",
+ "exif_bottom_sheet_person_age_years": "ÎÎģΚÎēÎ¯Îą {}",
"exit_slideshow": "ÎΞÎŋδÎŋĪ ÎąĪĪ ĪΡÎŊ ĪÎąĪÎŋĪ
ĪÎ¯ÎąĪΡ",
"expand_all": "ÎÎŊÎŦĪĪĪ
ΞΡ ĪÎģĪÎŊ",
"experimental_settings_new_asset_list_subtitle": "ÎŖÎĩ ÎĩΞÎÎģΚΞΡ",
@@ -977,12 +971,12 @@
"extension": "ÎĪÎÎēĪÎąĪΡ",
"external": "ÎΞĪĪÎĩĪΚÎēĪĪ",
"external_libraries": "ÎΞĪĪÎĩĪΚÎēÎĪ Î˛ÎšÎ˛ÎģΚÎŋθΎÎēÎĩĪ",
- "external_network": "External network",
- "external_network_sheet_info": "When not on the preferred WiFi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom",
+ "external_network": "ÎΞĪĪÎĩĪΚÎēĪ Î´Î¯ÎēĪĪ
Îŋ",
+ "external_network_sheet_info": "ÎĪÎąÎŊ δÎĩÎŊ ÎĩίĪĪÎĩ ĪĪ
ÎŊδÎĩδÎĩÎŧÎÎŊÎŋΚ ĪĪÎŋ ĪĪÎŋĪΚÎŧĪÎŧÎĩÎŊÎŋ δίÎēĪĪ
Îŋ Wi-Fi, Ρ ÎĩĪÎąĪÎŧÎŋÎŗÎŽ θι ĪĪ
ÎŊδÎĩθÎĩί ÎŧÎĩ ĪÎŋÎŊ δΚιÎēÎŋÎŧΚĪĪÎŽ ÎŧÎĪĪ ĪÎŋĪ
ĪĪĪĪÎŋĪ
ÎąĪĪ ĪÎą ĪÎąĪÎąÎēÎŦĪĪ URLs ĪÎŋĪ
ÎŧĪÎŋĪÎĩί ÎŊÎą βĪÎĩΚ δΚιθÎĪΚÎŧÎŋ, ΞÎĩÎēΚÎŊĪÎŊĪÎąĪ ÎąĪĪ ĪÎŋ ĪÎŦÎŊĪ ĪĪÎŋĪ ĪÎŋ ÎēÎŦĪĪ",
"face_unassigned": "ÎΡ ÎąÎŊÎąĪÎĩθÎĩΚÎŧÎÎŊÎŋ",
- "failed": "Failed",
+ "failed": "ÎĪÎĪĪ
ĪÎĩ",
"failed_to_load_assets": "ÎĪÎŋĪĪ
ĪÎ¯Îą ĪĪĪĪĪĪÎˇĪ ĪĪÎŋΚĪÎĩίĪÎŊ",
- "failed_to_load_folder": "Failed to load folder",
+ "failed_to_load_folder": "ÎĪÎŋĪĪ
ĪÎ¯Îą ĪĪĪĪĪĪÎˇĪ ĪÎąÎēÎÎģÎŋĪ
",
"favorite": "ÎÎŗÎąĪΡÎŧÎÎŊÎŋ",
"favorite_or_unfavorite_photo": "ÎĪίĪĪÎĩ ÎŧÎ¯Îą ĪĪĪÎŋÎŗĪÎąĪÎ¯Îą ĪĪ ÎąÎŗÎąĪΡÎŧÎÎŊΡ ÎŽ ÎąĪιΚĪÎĪĪÎĩ ĪΡÎŊ ÎąĪĪ ĪÎą ÎąÎŗÎąĪΡÎŧÎÎŊÎą",
"favorites": "ÎÎŗÎąĪΡÎŧÎÎŊÎą",
@@ -996,21 +990,22 @@
"filetype": "ΤĪĪÎŋĪ ÎąĪĪÎĩίÎŋĪ
",
"filter": "ÎĻίÎģĪĪÎŋ",
"filter_people": "ÎĻΚÎģĪĪÎŦĪΚĪÎŧÎą ÎąĪĪÎŧĪÎŊ",
+ "filter_places": "ÎĻΚÎģĪĪÎŦĪΚĪÎŧÎą ĪÎŋĪÎŋθÎĩĪΚĪÎŊ",
"find_them_fast": "ÎĪÎĩίĪÎĩ ĪÎŋĪ
Ī ÎŗĪÎŽÎŗÎŋĪÎą ÎŧÎĩ ÎąÎŊÎąÎļÎŽĪΡĪΡ ÎēÎąĪÎŦ ĪÎŊÎŋÎŧÎą",
"fix_incorrect_match": "ÎΚĪĪθĪĪΡ ÎģÎąÎŊθιĪÎŧÎÎŊÎˇĪ ÎąÎŊĪΚĪĪÎŋίĪΚĪΡĪ",
- "folder": "Folder",
- "folder_not_found": "Folder not found",
+ "folder": "ÎĻÎŦÎēÎĩÎģÎŋĪ",
+ "folder_not_found": "Î ĪÎŦÎēÎĩÎģÎŋĪ Î´ÎĩÎŊ βĪÎθΡÎēÎĩ",
"folders": "ÎĻÎŦÎēÎĩÎģÎŋΚ",
"folders_feature_description": "Î ÎĩĪÎšÎŽÎŗÎˇĪΡ ĪĪΡÎŊ ĪĪÎŋβÎŋÎģÎŽ ĪÎąÎēÎÎģÎŋĪ
ÎŗÎšÎą ĪÎšĪ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ ĪÎą Î˛Î¯ÎŊĪÎĩÎŋ ĪĪÎŋ ĪĪĪĪΡÎŧÎą ÎąĪĪÎĩίĪÎŊ",
"forward": "Î ĪÎŋĪ ĪÎą ÎĩÎŧĪĪĪĪ",
"general": "ÎÎĩÎŊΚÎēÎŦ",
"get_help": "ÎΡĪÎŽĪĪÎĩ βÎŋΎθÎĩΚι",
- "get_wifiname_error": "Could not get Wi-Fi name. Make sure you have granted the necessary permissions and are connected to a Wi-Fi network",
+ "get_wifiname_error": "ÎÎĩÎŊ ÎŽĪÎąÎŊ δĪ
ÎŊÎąĪÎŽ Ρ ÎģÎŽĪΡ ĪÎŋĪ
ÎŋÎŊĪÎŧÎąĪÎŋĪ Wi-Fi. ÎÎĩβιΚĪθÎĩίĪÎĩ ĪĪΚ ÎĪÎĩĪÎĩ δĪĪÎĩΚ ĪÎšĪ ÎąĪÎąĪÎąÎ¯ĪΡĪÎĩĪ ÎŦδÎĩΚÎĩĪ ÎēιΚ ĪĪΚ ÎĩίĪĪÎĩ ĪĪ
ÎŊδÎĩδÎĩÎŧÎÎŊÎŋΚ ĪÎĩ δίÎēĪĪ
Îŋ Wi-Fi",
"getting_started": "ÎÎĩÎēΚÎŊĪÎŊĪÎąĪ",
"go_back": "Î ÎˇÎŗÎąÎ¯ÎŊÎĩĪÎĩ ĪίĪĪ",
"go_to_folder": "ÎÎĩĪÎŦβιĪΡ ĪĪÎŋ ĪÎŦÎēÎĩÎģÎŋ",
"go_to_search": "Î ÎˇÎŗÎąÎ¯ÎŊÎĩĪÎĩ ĪĪΡÎŊ ÎąÎŊÎąÎļÎŽĪΡĪΡ",
- "grant_permission": "Grant permission",
+ "grant_permission": "ÎĪΚĪĪÎĪĪÎĩ ĪΡÎŊ ÎŦδÎĩΚι",
"group_albums_by": "ÎÎŧιδÎŋĪÎŋÎ¯ÎˇĪΡ ÎŦÎģÎŧĪÎŋĪ
Îŧ ÎēÎąĪÎŦ...",
"group_country": "ÎÎŧιδÎŋĪÎŋÎ¯ÎˇĪΡ ÎēÎąĪÎŦ ĪĪĪÎą",
"group_no": "ÎÎąÎŧÎ¯Îą ÎŋÎŧÎŋδÎŋĪÎŋÎ¯ÎˇĪΡ",
@@ -1044,7 +1039,7 @@
"home_page_delete_remote_err_local": "ΤÎŋĪΚÎēÎŦ ĪĪÎŋΚĪÎĩÎ¯Îą ĪĪΡ Î´ÎšÎąÎŗĪÎąĪÎŽ ÎąĪÎŋÎŧÎąÎēĪĪ
ĪÎŧÎÎŊÎˇĪ ÎĩĪΚÎģÎŋÎŗÎŽĪ, ĪÎąĪÎąÎģÎĩίĪÎĩĪιΚ",
"home_page_favorite_err_local": "ÎÎĩÎŊ ÎŧĪÎŋĪĪ ÎąÎēĪÎŧÎą ÎŊÎą ÎąÎŗÎąĪÎŽĪĪ ĪÎą ĪÎŋĪΚÎēÎŦ ĪĪÎŋΚĪÎĩÎ¯Îą, ĪÎąĪÎąÎģÎĩίĪÎĩĪιΚ",
"home_page_favorite_err_partner": "ÎÎĩÎŊ ÎĩίÎŊιΚ ÎąÎēĪÎŧÎą δĪ
ÎŊÎąĪÎŽ Ρ ĪĪĪĪθÎĩĪΡ ĪĪÎŋΚĪÎĩίĪÎŊ ĪĪ
ÎŊĪĪĪĪÎŋĪ
ĪĪÎą ÎąÎŗÎąĪΡÎŧÎÎŊÎą, ĪÎąĪÎąÎģÎĩίĪÎĩĪιΚ",
- "home_page_first_time_notice": "ÎÎŦÎŊ ÎąĪ
ĪÎŽ ÎĩίÎŊιΚ Ρ ĪĪĪĪΡ ĪÎŋĪÎŦ ĪÎŋĪ
ĪĪΡĪΚÎŧÎŋĪÎŋΚÎĩίĪÎĩ ĪΡÎŊ ÎĩĪÎąĪÎŧÎŋÎŗÎŽ, βÎĩβιΚĪθÎĩίĪÎĩ ĪĪΚ ÎĪÎĩĪÎĩ ÎĩĪΚÎģÎΞÎĩΚ ÎÎŊÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ ÎąÎŊĪÎ¯ÎŗĪÎąĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ, ĪĪĪÎĩ ĪÎŋ ĪĪÎŋÎŊÎŋδΚÎŦÎŗĪÎąÎŧÎŧÎą ÎŊÎą ÎŧĪÎŋĪÎĩί ÎŊÎą ĪĪ
ÎŧĪÎģΡĪĪĪÎĩΚ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ Î˛Î¯ÎŊĪÎĩÎŋ ĪĪÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ.",
+ "home_page_first_time_notice": "ÎÎŦÎŊ ÎąĪ
ĪÎŽ ÎĩίÎŊιΚ Ρ ĪĪĪĪΡ ĪÎŋĪÎŦ ĪÎŋĪ
ĪĪΡĪΚÎŧÎŋĪÎŋΚÎĩίĪÎĩ ĪΡÎŊ ÎĩĪÎąĪÎŧÎŋÎŗÎŽ, βÎĩβιΚĪθÎĩίĪÎĩ ĪĪΚ ÎĪÎĩĪÎĩ ÎĩĪΚÎģÎΞÎĩΚ ÎÎŊÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ ÎąÎŊĪÎ¯ÎŗĪÎąĪÎŋĪ
ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ, ĪĪĪÎĩ ĪÎŋ ĪĪÎŋÎŊÎŋδΚÎŦÎŗĪÎąÎŧÎŧÎą ÎŊÎą ÎŧĪÎŋĪÎĩί ÎŊÎą ĪĪ
ÎŧĪÎģΡĪĪĪÎĩΚ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ Î˛Î¯ÎŊĪÎĩÎŋ ĪĪÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"home_page_share_err_local": "ÎÎĩÎŊ ÎĩίÎŊιΚ δĪ
ÎŊÎąĪÎŽ Ρ ÎēÎŋΚÎŊÎŽ ĪĪÎŽĪΡ ĪÎŋĪΚÎēĪÎŊ ĪĪÎŋΚĪÎĩίĪÎŊ ÎŧÎĪĪ ĪĪ
ÎŊδÎĪÎŧÎŋĪ
, ĪÎąĪÎąÎģÎĩίĪÎĩĪιΚ",
"home_page_upload_err_limit": "ÎĪÎŋĪÎĩίĪÎĩ ÎŊÎą ÎąÎŊÎĩβÎŦĪÎĩĪÎĩ ÎŧĪÎŊÎŋ 30 ĪĪÎŋΚĪÎĩÎ¯Îą ÎēÎŦθÎĩ ĪÎŋĪÎŦ, ĪÎąĪÎąÎģÎĩίĪÎĩĪιΚ",
"host": "ÎĻΚÎģÎŋΞÎĩÎŊÎ¯Îą",
@@ -1122,9 +1117,9 @@
"loading": "ÎĻĪĪĪĪĪΡ",
"loading_search_results_failed": "Î ĪĪĪĪĪĪΡ ÎąĪÎŋĪÎĩÎģÎĩĪÎŧÎŦĪĪÎŊ ÎąÎŊÎąÎļÎŽĪΡĪÎˇĪ ÎąĪÎĪĪ
ĪÎĩ",
"local_network": "Local network",
- "local_network_sheet_info": "The app will connect to the server through this URL when using the specified Wi-Fi network",
- "location_permission": "Location permission",
- "location_permission_content": "In order to use the auto-switching feature, Immich needs precise location permission so it can read the current WiFi network's name",
+ "local_network_sheet_info": "Î ÎĩĪÎąĪÎŧÎŋÎŗÎŽ θι ĪĪ
ÎŊδÎĩθÎĩί ÎŧÎĩ ĪÎŋÎŊ δΚιÎēÎŋÎŧΚĪĪÎŽ ÎŧÎĪĪ ÎąĪ
ĪÎŋĪ ĪÎŋĪ
URL ĪĪÎąÎŊ ĪĪΡĪΚÎŧÎŋĪÎŋΚÎĩίĪιΚ ĪÎŋ ÎēιθÎŋĪΚĪÎŧÎÎŊÎŋ δίÎēĪĪ
Îŋ Wi-Fi",
+ "location_permission": "ÎδÎĩΚι ĪÎŋĪÎŋθÎĩĪÎ¯ÎąĪ",
+ "location_permission_content": "ÎΚι ÎŊÎą ĪĪΡĪΚÎŧÎŋĪÎŋΚΡθÎĩί Ρ ÎģÎĩΚĪÎŋĪ
ĪÎŗÎ¯Îą ÎąĪ
ĪĪÎŧÎąĪÎˇĪ ÎĩÎŊÎąÎģÎģÎąÎŗÎŽĪ, ĪÎŋ Immich ĪĪÎĩΚÎŦÎļÎĩĪιΚ ÎŦδÎĩΚι ÎŗÎšÎą ĪΡÎŊ ÎąÎēĪΚβΎ ĪÎŋĪÎŋθÎĩĪÎ¯Îą ĪÎˇĪ ĪĪ
ĪÎēÎĩĪ
ÎŽĪ ĪĪĪÎĩ ÎŊÎą ÎŧĪÎŋĪÎĩί ÎŊÎą δΚιβÎŦÎļÎĩΚ ĪÎŋ ĪÎŊÎŋÎŧÎą ĪÎŋĪ
ĪĪÎĪÎŋÎŊĪÎŋĪ Î´ÎšÎēĪĪÎŋĪ
Wi-Fi",
"location_picker_choose_on_map": "ÎĪΚÎģÎΞĪÎĩ ĪĪÎŋ ĪÎŦĪĪΡ",
"location_picker_latitude_error": "ÎΚĪÎąÎŗÎŦÎŗÎĩĪÎĩ ÎÎŊÎą ÎÎŗÎēĪ
ĪÎŋ ÎŗÎĩĪÎŗĪÎąĪΚÎēĪ ĪÎģÎŦĪÎŋĪ",
"location_picker_latitude_hint": "ÎΚĪÎąÎŗÎŦÎŗÎĩĪÎĩ ĪÎŋ ÎŗÎĩĪÎŗĪÎąĪΚÎēĪ ĪÎģÎŦĪÎŋĪ ĪÎąĪ ÎĩδĪ",
@@ -1198,6 +1193,9 @@
"map_settings_only_show_favorites": "ÎÎŧĪÎŦÎŊΚĪΡ ÎŧĪÎŊÎŋ ÎąÎŗÎąĪΡÎŧÎÎŊĪÎŊ",
"map_settings_theme_settings": "ÎÎÎŧÎą ĪÎŦĪĪΡ",
"map_zoom_to_see_photos": "ÎŖÎŧΚÎēĪĪÎŊÎĩĪÎĩ ÎŗÎšÎą ÎŊÎą δÎĩίĪÎĩ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ",
+ "mark_all_as_read": "ÎĪΚĪÎŽÎŧÎąÎŊĪΡ ĪÎģĪÎŊ ĪĪ ÎąÎŊÎąÎŗÎŊĪĪÎŧÎÎŊÎą",
+ "mark_as_read": "ÎĪΚĪÎŽÎŧÎąÎŊĪΡ ĪĪ ÎąÎŊÎąÎŗÎŊĪĪÎŧÎÎŊÎŋ",
+ "marked_all_as_read": "ÎÎģÎą ÎĩĪΚĪΡÎŧÎŦÎŊθΡÎēÎąÎŊ ĪĪ ÎąÎŊÎąÎŗÎŊĪĪÎŧÎÎŊÎą",
"matches": "ÎÎŊĪΚĪĪÎŋΚĪίÎĩĪ",
"media_type": "ΤĪĪÎŋĪ ĪÎŋÎģĪ
ÎŧÎĪÎŋĪ
",
"memories": "ÎÎŊÎąÎŧÎŊÎŽĪÎĩΚĪ",
@@ -1207,7 +1205,7 @@
"memories_start_over": "ÎÎĩÎēΚÎŊÎŽĪĪÎĩ ÎąĪĪ ĪΡÎŊ ÎąĪĪÎŽ",
"memories_swipe_to_close": "ÎŖĪĪÎĩĪÎĩ ĪĪÎŋĪ ĪÎą ĪÎŦÎŊĪ ÎŗÎšÎą ÎŊÎą ÎēÎģÎĩίĪÎĩĪÎĩ",
"memories_year_ago": "Î ĪΚÎŊ ÎÎŊÎą ĪĪĪÎŊÎŋ",
- "memories_years_ago": "Î ĪΚÎŊ ÎąĪĪ {} ĪĪĪÎŊΚι",
+ "memories_years_ago": "Î ĪΚÎŊ ÎąĪĪ {} ÎĪΡ",
"memory": "ÎÎŊÎŦÎŧÎŊΡĪΡ",
"memory_lane_title": "ÎΚιδĪÎŋÎŧÎŽ ÎÎŊÎąÎŧÎŊÎŽĪÎĩĪÎŊ {title}",
"menu": "ÎÎĩÎŊÎŋĪ",
@@ -1231,8 +1229,8 @@
"my_albums": "Τι ÎŦÎģÎŧĪÎŋĪ
Îŧ ÎŧÎŋĪ
",
"name": "ÎÎŊÎŋÎŧÎą",
"name_or_nickname": "ÎÎŊÎŋÎŧÎą ÎŽ ĪÎĩĪ
δĪÎŊĪ
ÎŧÎŋ",
- "networking_settings": "Networking",
- "networking_subtitle": "Manage the server endpoint settings",
+ "networking_settings": "ÎΚÎēĪĪĪĪΡ",
+ "networking_subtitle": "ÎΚιĪÎĩίĪΚĪΡ ĪĪ
θÎŧίĪÎĩĪÎŊ ĪÎĩÎģΚÎēĪÎŊ ĪΡÎŧÎĩίĪÎŊ δΚιÎēÎŋÎŧΚĪĪÎŽ",
"never": "Î ÎŋĪÎ",
"new_album": "ÎÎÎŋ ÎÎģÎŧĪÎŋĪ
Îŧ",
"new_api_key": "ÎÎÎŋ API Key",
@@ -1256,12 +1254,13 @@
"no_favorites_message": "Î ĪÎŋĪθÎĪĪÎĩ ÎąÎŗÎąĪΡÎŧÎÎŊÎą ÎŗÎšÎą ÎŊÎą βĪÎĩίĪÎĩ ÎŗĪÎŽÎŗÎŋĪÎą ĪÎšĪ ÎēÎąÎģĪĪÎĩĪÎĩĪ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ ĪÎą Î˛Î¯ÎŊĪÎĩĪ ĪÎąĪ",
"no_libraries_message": "ÎΡÎŧΚÎŋĪ
ĪÎŗÎŽĪĪÎĩ ÎŧΚι ÎĩΞĪĪÎĩĪΚÎēÎŽ βΚβÎģΚÎŋθΎÎēΡ ÎŗÎšÎą ÎŊÎą ĪĪÎŋβÎŦÎģÎĩĪÎĩ ĪÎšĪ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ ĪÎą Î˛Î¯ÎŊĪÎĩĪ ĪÎąĪ",
"no_name": "ΧĪĪÎ¯Ī ÎÎŊÎŋÎŧÎą",
+ "no_notifications": "ÎÎąÎŧÎ¯Îą ÎĩΚδÎŋĪÎŋÎ¯ÎˇĪΡ",
"no_places": "ÎÎąÎŧÎ¯Îą ĪÎŋĪÎŋθÎĩĪÎ¯Îą",
"no_results": "ÎÎąÎŊÎÎŊÎą ÎąĪÎŋĪÎÎģÎĩĪÎŧÎą",
"no_results_description": "ÎÎŋÎēΚÎŧÎŦĪĪÎĩ ÎÎŊÎą ĪĪ
ÎŊĪÎŊĪ
ÎŧÎŋ ÎŽ ĪΚÎŋ ÎŗÎĩÎŊΚÎēÎŽ ÎģÎΞΡ-ÎēÎģÎĩΚδί",
"no_shared_albums_message": "ÎΡÎŧΚÎŋĪ
ĪÎŗÎŽĪĪÎĩ ÎÎŊÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ ÎŗÎšÎą ÎŊÎą ÎŧÎŋΚĪÎŦÎļÎĩĪĪÎĩ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ Î˛Î¯ÎŊĪÎĩÎŋ ÎŧÎĩ ÎŦĪÎŋÎŧÎą ĪĪÎŋ δίÎēĪĪ
Ī ĪÎąĪ",
"not_in_any_album": "ÎŖÎĩ ÎēÎąÎŊÎÎŊÎą ÎŦÎģÎŧĪÎŋĪ
Îŧ",
- "not_selected": "Not selected",
+ "not_selected": "ÎÎĩÎŊ ÎĩĪΚÎģÎĪθΡÎēÎĩ",
"note_apply_storage_label_to_previously_uploaded assets": "ÎŖÎˇÎŧÎĩίĪĪΡ: ÎΚι ÎŊÎą ÎĩĪÎąĪÎŧĪĪÎĩĪÎĩ ĪΡÎŊ ÎĪΚÎēÎĪÎą ÎĪÎŋθΎÎēÎĩĪ
ĪÎˇĪ ĪÎĩ ĪĪÎŋΚĪÎĩÎ¯Îą ĪÎŋĪ
ÎĪÎŋĪ
ÎŊ ÎŧÎĩĪÎąĪÎŋĪĪĪθÎĩί ĪĪÎŋÎˇÎŗÎŋĪ
ÎŧÎÎŊĪĪ, ÎĩÎēĪÎĩÎģÎĪĪÎĩ ĪÎŋ",
"notes": "ÎŖÎˇÎŧÎĩΚĪĪÎĩΚĪ",
"notification_permission_dialog_content": "ÎΚι ÎŊÎą ÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΎĪÎĩĪÎĩ ĪÎšĪ ÎĩΚδÎŋĪÎŋΚΎĪÎĩΚĪ, ÎŧÎĩĪιβÎĩίĪÎĩ ĪĪÎšĪ ÎĄĪ
θÎŧίĪÎĩÎšĪ ÎēιΚ ÎĩĪΚÎģÎΞĪÎĩ ÎŊÎą ÎĩĪΚĪĪÎĪÎĩĪιΚ.",
@@ -1286,6 +1285,7 @@
"onboarding_welcome_user": "ÎÎąÎģĪĪĪĪΚĪÎĩĪ, {user}",
"online": "ÎŖÎĩ ĪĪÎŊδÎĩĪΡ",
"only_favorites": "ÎĪÎŊÎŋ ÎąÎŗÎąĪΡÎŧÎÎŊÎą",
+ "open": "ÎÎŊÎŋÎšÎŗÎŧÎą",
"open_in_map_view": "ÎÎŊÎŋÎšÎŗÎŧÎą ĪÎĩ ĪĪÎŋβÎŋÎģÎŽ ĪÎŦĪĪΡ",
"open_in_openstreetmap": "ÎÎŊÎŋÎšÎŗÎŧÎą ĪĪÎŋ OpenStreetMap",
"open_the_search_filters": "ÎÎŊÎŋίΞĪÎĩ ĪÎą ĪίÎģĪĪÎą ÎąÎŊÎąÎļÎŽĪΡĪΡĪ",
@@ -1363,7 +1363,7 @@
"play_motion_photo": "ÎÎŊÎąĪÎąĪÎąÎŗĪÎŗÎŽ ÎΚÎŊÎŋĪÎŧÎĩÎŊÎˇĪ ÎĻĪĪÎŋÎŗĪÎąĪÎ¯ÎąĪ",
"play_or_pause_video": "ÎÎŊÎąĪÎąĪÎąÎŗĪÎŗÎŽ ÎŽ ĪÎąĪĪΡ Î˛Î¯ÎŊĪÎĩÎŋ",
"port": "ÎĪĪÎą",
- "preferences_settings_subtitle": "Manage the app's preferences",
+ "preferences_settings_subtitle": "ÎΚιĪÎĩΚĪΚĪĪÎĩίĪÎĩ ĪÎšĪ ĪĪÎŋĪΚÎŧÎŽĪÎĩÎšĪ ĪÎˇĪ ÎĩĪÎąĪÎŧÎŋÎŗÎŽĪ",
"preferences_settings_title": "Î ĪÎŋĪΚÎŧÎŽĪÎĩΚĪ",
"preset": "Î ĪÎŋÎēιθÎŋĪΚĪÎŧÎÎŊΡ ĪĪθÎŧΚĪΡ",
"preview": "Î ĪÎŋÎĩĪΚĪÎēĪĪΡĪΡ",
@@ -1430,6 +1430,8 @@
"recent_searches": "Î ĪĪĪĪÎąĪÎĩĪ ÎąÎŊÎąÎļΡĪÎŽĪÎĩΚĪ",
"recently_added": "Î ĪÎŋĪĪÎθΡÎēÎąÎŊ ĪĪĪĪĪÎąĪÎą",
"recently_added_page_title": "Î ĪÎŋĪĪÎθΡÎēÎąÎŊ Î ĪĪĪĪÎąĪÎą",
+ "recently_taken": "ÎÎŽĪθΡÎēÎąÎŊ ĪĪĪĪĪÎąĪÎą",
+ "recently_taken_page_title": "ÎÎŽĪθΡÎēÎąÎŊ Î ĪĪĪĪÎąĪÎą",
"refresh": "ÎÎŊÎąÎŊÎĪĪΡ",
"refresh_encoded_videos": "ÎÎŊÎąÎŊÎĪĪΡ ÎēĪδΚÎēÎŋĪÎŋΚΡÎŧÎÎŊĪÎŊ Î˛Î¯ÎŊĪÎĩÎŋ",
"refresh_faces": "ÎÎŊÎąÎŊÎĪĪΡ ĪĪÎŋĪĪĪĪÎŊ",
@@ -1514,7 +1516,7 @@
"search_filter_date_title": "ÎĪΚÎģÎΞĪÎĩ ÎĩĪĪÎŋĪ ÎˇÎŧÎĩĪÎŋÎŧΡÎŊΚĪÎŊ",
"search_filter_display_option_not_in_album": "ÎĪΚ ĪĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"search_filter_display_options": "ÎĪΚÎģÎŋÎŗÎĪ ÎĩÎŧĪÎŦÎŊΚĪΡĪ",
- "search_filter_filename": "Search by file name",
+ "search_filter_filename": "ÎÎŊÎąÎļÎŽĪΡĪΡ ÎŧÎĩ ĪÎŊÎŋÎŧÎą ÎąĪĪÎĩίÎŋĪ
",
"search_filter_location": "ΤÎŋĪÎŋθÎĩĪÎ¯Îą",
"search_filter_location_title": "ÎĪΚÎģÎΞĪÎĩ ĪÎŋĪÎŋθÎĩĪÎ¯Îą",
"search_filter_media_type": "ΤĪĪÎŋĪ ÎÎĪÎŋĪ
",
@@ -1522,17 +1524,17 @@
"search_filter_people_title": "ÎĪΚÎģÎΞĪÎĩ ÎŦĪÎŋÎŧÎą",
"search_for": "ÎÎŊÎąÎļÎŽĪΡĪΡ ÎŗÎšÎą",
"search_for_existing_person": "ÎÎŊÎąÎļÎŽĪΡĪΡ Ī
ĪÎŦĪĪÎŋÎŊĪÎŋĪ ÎąĪĪÎŧÎŋĪ
",
- "search_no_more_result": "No more results",
+ "search_no_more_result": "ÎÎĩÎŊ Ī
ĪÎŦĪĪÎŋĪ
ÎŊ ÎŦÎģÎģÎą ÎąĪÎŋĪÎĩÎģÎĪÎŧÎąĪÎą",
"search_no_people": "ÎÎąÎŊÎÎŊÎą ÎŦĪÎŋÎŧÎŋ",
"search_no_people_named": "ÎÎąÎŊÎÎŊÎą ÎŦĪÎŋÎŧÎŋ ÎŧÎĩ ĪÎŊÎŋÎŧÎą \"{name}\"",
- "search_no_result": "No results found, try a different search term or combination",
+ "search_no_result": "ÎÎĩÎŊ βĪÎθΡÎēÎąÎŊ ÎąĪÎŋĪÎĩÎģÎĪÎŧÎąĪÎą, ĪĪÎŋĪĪιθΎĪĪÎĩ ÎŧÎĩ δΚιĪÎŋĪÎĩĪΚÎēÎĪ ÎŋĪÎŋÎģÎŋÎŗÎ¯ÎĩĪ ÎąÎŊÎąÎļÎŽĪΡĪÎˇĪ ÎŽ ĪĪ
ÎŊδĪ
ÎąĪÎŧÎŋĪĪ",
"search_options": "ÎĪΚÎģÎŋÎŗÎĪ ÎąÎŊÎąÎļÎŽĪΡĪΡĪ",
"search_page_categories": "ÎÎąĪÎˇÎŗÎŋĪίÎĩĪ",
"search_page_motion_photos": "ÎΚÎŊÎŋĪÎŧÎĩÎŊÎĩĪ ÎĻĪĪÎŋÎŗĪÎąĪίÎĩĪ",
"search_page_no_objects": "ÎΡ δΚιθÎĪΚÎŧÎĩĪ ĪÎģΡĪÎŋĪÎŋĪίÎĩĪ ÎąÎŊĪΚÎēÎĩΚÎŧÎÎŊĪÎŊ",
"search_page_no_places": "ÎΡ δΚιθÎĪΚÎŧÎĩĪ ĪÎģΡĪÎŋĪÎŋĪίÎĩĪ ÎŗÎšÎą ÎŧÎĪΡ",
"search_page_screenshots": "ÎŖĪÎšÎŗÎŧΚĪĪĪ
ĪÎą ÎŋθĪÎŊΡĪ",
- "search_page_search_photos_videos": "Search for your photos and videos",
+ "search_page_search_photos_videos": "ÎÎŊÎąÎļÎŽĪΡĪΡ ÎŗÎšÎą ĪÎšĪ ĪĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎēιΚ ĪÎą Î˛Î¯ÎŊĪÎĩĪ ĪÎąĪ",
"search_page_selfies": "ÎŖÎÎģĪΚ",
"search_page_things": "Î ĪÎŦÎŗÎŧÎąĪÎą",
"search_page_view_all_button": "Î ĪÎŋβÎŋÎģÎŽ ĪÎģĪÎŊ",
@@ -1544,7 +1546,7 @@
"search_result_page_new_search_hint": "ÎÎÎą ÎÎŊÎąÎļÎŽĪΡĪΡ",
"search_settings": "ÎĄĪ
θÎŧίĪÎĩÎšĪ ÎąÎŊÎąÎļÎŽĪΡĪΡĪ",
"search_state": "ÎÎŊÎąÎļÎŽĪΡĪΡ ÎŊÎŋÎŧÎŋĪ...",
- "search_suggestion_list_smart_search_hint_1": "Î ÎΞĪ
ĪÎŊΡ ÎąÎŊÎąÎļÎŽĪΡĪΡ ÎĩίÎŊιΚ ÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊΡ ÎąĪĪ ĪĪÎŋÎĩĪΚÎģÎŋÎŗÎŽ, ÎŗÎšÎą ÎąÎŊÎąÎļÎŽĪΡĪΡ ÎŧÎĩĪιδÎĩδÎŋÎŧÎÎŊĪÎŊ ĪĪΡĪΚÎŧÎŋĪÎŋΚΎĪĪÎĩ ĪÎŋ ĪĪ
ÎŊĪÎąÎēĪΚÎēĪ",
+ "search_suggestion_list_smart_search_hint_1": "Î ÎΞĪ
ĪÎŊΡ ÎąÎŊÎąÎļÎŽĪΡĪΡ ÎĩίÎŊιΚ ÎĩÎŊÎĩĪÎŗÎŋĪÎŋΚΡÎŧÎÎŊΡ ÎąĪĪ ĪĪÎŋÎĩĪΚÎģÎŋÎŗÎŽ, ÎŗÎšÎą ÎąÎŊÎąÎļÎŽĪΡĪΡ ÎŧÎĩĪιδÎĩδÎŋÎŧÎÎŊĪÎŊ ĪĪΡĪΚÎŧÎŋĪÎŋΚΎĪĪÎĩ ĪÎŋ ĪĪ
ÎŊĪÎąÎēĪΚÎēĪ ",
"search_suggestion_list_smart_search_hint_2": "m:ĪĪÎŋĪ-ÎąÎŊÎąÎļÎŽĪΡĪΡĪ",
"search_tags": "ÎÎŊÎąÎļÎŽĪΡĪΡ ÎĩĪΚÎēÎĩĪĪÎŊ...",
"search_timezone": "ÎÎŊÎąÎļÎŽĪΡĪΡ ÎļĪÎŊÎˇĪ ĪĪÎąĪ...",
@@ -1571,7 +1573,7 @@
"selected_count": "{count, plural, other {# ÎĩĪΚÎģÎĩÎŗÎŧÎÎŊÎŋΚ}}",
"send_message": "ÎĪÎŋĪĪÎŋÎģÎŽ ÎŧΡÎŊĪÎŧÎąĪÎŋĪ",
"send_welcome_email": "ÎĪÎŋĪĪÎŋÎģÎŽ email ÎēÎąÎģĪĪÎŋĪίĪÎŧÎąĪÎŋĪ",
- "server_endpoint": "Server Endpoint",
+ "server_endpoint": "ΤÎĩÎģΚÎēĪ ĪΡÎŧÎĩίÎŋ ÎΚιÎēÎŋÎŧΚĪĪÎŽ",
"server_info_box_app_version": "ÎÎēδÎŋĪΡ ÎĩĪÎąĪÎŧÎŋÎŗÎŽĪ",
"server_info_box_server_url": "URL δΚιÎēÎŋÎŧΚĪĪÎŽ",
"server_offline": "ÎΚιÎēÎŋÎŧΚĪĪÎŽĪ ÎÎēĪĪĪ ÎŖĪÎŊδÎĩĪΡĪ",
@@ -1592,7 +1594,7 @@
"setting_image_viewer_preview_title": "ÎĻĪĪĪĪĪΡ ÎĩΚÎēĪÎŊÎąĪ ĪĪÎŋÎĩĪΚĪÎēĪĪΡĪΡĪ",
"setting_image_viewer_title": "ÎΚÎēĪÎŊÎĩĪ",
"setting_languages_apply": "ÎĪÎąĪÎŧÎŋÎŗÎŽ",
- "setting_languages_subtitle": "Change the app's language",
+ "setting_languages_subtitle": "ÎÎģÎģÎŦΞĪÎĩ ĪΡ ÎŗÎģĪĪĪÎą ĪÎˇĪ ÎĩĪÎąĪÎŧÎŋÎŗÎŽĪ",
"setting_languages_title": "ÎÎģĪĪĪÎĩĪ",
"setting_notifications_notify_failures_grace_period": "ÎΚδÎŋĪÎŋÎ¯ÎˇĪΡ ÎąĪÎŋĪĪ
ĪΚĪÎŊ δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪĪÎŋ ĪÎąĪÎąĪÎēÎŽÎŊΚÎŋ: {}",
"setting_notifications_notify_hours": "{} ĪĪÎĩĪ",
@@ -1606,8 +1608,8 @@
"setting_notifications_total_progress_subtitle": "ÎŖĪ
ÎŊÎŋÎģΚÎēÎŽ ĪĪĪÎŋδÎŋĪ ÎŧÎĩĪÎąĪĪĪĪĪĪÎˇĪ (ÎŋÎģÎŋÎēÎģΡĪĪθΡÎēÎĩ/ĪĪÎŊÎŋÎģÎŋ ĪĪÎŋΚĪÎĩίĪÎŊ)",
"setting_notifications_total_progress_title": "ÎÎŧĪÎŦÎŊΚĪΡ ĪĪ
ÎŊÎŋÎģΚÎēÎŽĪ ĪĪÎŋĪδÎŋĪ
δΡÎŧΚÎŋĪ
ĪÎŗÎ¯ÎąĪ ÎąÎŊĪÎšÎŗĪÎŦĪĪÎŊ ÎąĪĪÎąÎģÎĩÎ¯ÎąĪ ĪÎąĪÎąĪÎēΡÎŊίÎŋĪ
",
"setting_video_viewer_looping_title": "ÎŖĪ
ÎŊÎĩĪÎŽĪ ÎĪÎąÎŊÎŦÎģΡĪΡ",
- "setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
- "setting_video_viewer_original_video_title": "Force original video",
+ "setting_video_viewer_original_video_subtitle": "ÎĪÎąÎŊ ÎŧÎĩĪÎąÎ´Î¯Î´ÎĩĪÎĩ ÎÎŊÎą Î˛Î¯ÎŊĪÎĩÎŋ ÎąĪĪ ĪÎŋÎŊ δΚιÎēÎŋÎŧΚĪĪÎŽ, ÎąÎŊÎąĪÎąĪÎŦÎŗÎĩĪÎĩ ĪÎŋ ÎąĪ
θÎĩÎŊĪΚÎēĪ ÎąÎēĪÎŧΡ ÎēιΚ ĪĪÎąÎŊ Ī
ĪÎŦĪĪÎĩΚ δΚιθÎĪΚÎŧÎŋ ÎŧÎĩ δΚιĪÎŋĪÎĩĪΚÎēÎŽ ÎēĪδΚÎēÎŋĪÎŋÎ¯ÎˇĪΡ. ÎĪÎŋĪÎĩί ÎŊÎą ĪĪÎŋÎēÎąÎģÎĪÎĩΚ ÎēιθĪ
ĪĪÎĪΡĪΡ ĪĪĪĪĪĪΡĪ. Τι Î˛Î¯ÎŊĪÎĩÎŋ ĪÎŋĪ
ÎĩίÎŊιΚ δΚιθÎĪΚÎŧÎą ĪÎŋĪΚÎēÎŦ, ÎąÎŊÎąĪÎąĪÎŦÎŗÎŋÎŊĪιΚ ĪĪΡÎŊ ÎąĪ
θÎĩÎŊĪΚÎēÎŽ ĪÎŋΚĪĪΡĪÎą, ÎąÎŊÎĩΞιĪĪÎŽĪĪĪ ÎąĪ
ĪÎŽĪ ĪÎˇĪ ĪĪθÎŧΚĪΡĪ.",
+ "setting_video_viewer_original_video_title": "ÎÎŊÎąÎŗÎēÎąĪĪΚÎēÎŽ ÎąÎŊÎąĪÎąĪÎąÎŗĪÎŗÎŽ ÎąĪ
θÎĩÎŊĪΚÎēÎŋĪ Î˛Î¯ÎŊĪÎĩÎŋ",
"settings": "ÎĄĪ
θÎŧίĪÎĩΚĪ",
"settings_require_restart": "ÎĪÎąÎŊÎĩÎēÎēΚÎŊÎŽĪĪÎĩ ĪÎŋ Immich ÎŗÎšÎą ÎŊÎą ÎĩĪÎąĪÎŧĪĪÎĩĪÎĩ ÎąĪ
ĪÎŽÎŊ ĪΡ ĪĪθÎŧΚĪΡ",
"settings_saved": "ÎΚ ĪĪ
θÎŧίĪÎĩÎšĪ ÎąĪÎŋθΡÎēÎĩĪĪΡÎēÎąÎŊ",
@@ -1622,12 +1624,12 @@
"shared_album_section_people_action_error": "ÎŖĪÎŦÎģÎŧÎą ÎąĪÎŋĪĪĪΡĪΡĪ/ÎēÎąĪÎŦĪÎŗÎˇĪÎˇĪ ÎąĪĪ ĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"shared_album_section_people_action_leave": "ÎĪÎŋĪĪĪΡĪΡ ĪĪÎŽĪĪΡ ÎąĪĪ ĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
"shared_album_section_people_action_remove_user": "ÎÎąĪÎŦĪÎŗÎˇĪΡ ĪĪÎŽĪĪΡ ÎąĪĪ ĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ",
- "shared_album_section_people_title": "ÎÎÎΥΊΠÎÎ",
+ "shared_album_section_people_title": "ÎΤÎÎÎ",
"shared_by": "ÎŖÎĩ ÎēÎŋΚÎŊÎŽ ĪĪÎŽĪΡ ÎąĪĪ",
"shared_by_user": "ÎŖÎĩ ÎēÎŋΚÎŊÎŽ ĪĪÎŽĪΡ ÎąĪĪ {user}",
"shared_by_you": "ÎŖÎĩ ÎēÎŋΚÎŊÎŽ ĪĪÎŽĪΡ ÎąĪĪ ÎĩĪÎŦĪ",
"shared_from_partner": "ÎĻĪĪÎŋÎŗĪÎąĪίÎĩĪ ÎąĪĪ {partner}",
- "shared_intent_upload_button_progress_text": "{} / {} Uploaded",
+ "shared_intent_upload_button_progress_text": "{} / {} ÎÎĩĪÎąĪÎŋĪĪĪÎŧÎÎŊÎą",
"shared_link_app_bar_title": "ÎÎŋΚÎŊĪĪĪΡĪĪÎŋΚ ÎŖĪÎŊδÎĩĪÎŧÎŋΚ",
"shared_link_clipboard_copied_massage": "ÎÎŊĪÎšÎŗĪÎŦĪΡÎēÎĩ ĪĪÎŋ ĪĪĪĪÎĩΚĪÎŋ",
"shared_link_clipboard_text": "ÎŖĪÎŊδÎĩĪÎŧÎŋĪ: {}\nÎĪδΚÎēĪĪ ĪĪĪĪβιĪΡĪ: {}",
@@ -1806,7 +1808,7 @@
"unlink_motion_video": "ÎĪÎŋĪĪ
ÎŊδÎĪĪÎĩ ĪÎŋ Î˛Î¯ÎŊĪÎĩÎŋ ÎēίÎŊΡĪΡĪ",
"unlink_oauth": "ÎĪÎŋĪĪÎŊδÎĩĪΡ OAuth",
"unlinked_oauth_account": "Î ÎģÎŋÎŗÎąĪΚιĪÎŧĪĪ OAuth ÎąĪÎŋĪĪ
ÎŊδÎθΡÎēÎĩ",
- "unmute_memories": "ÎĪÎŋĪĪ
ÎŊδÎĪĪÎĩ ĪÎšĪ ÎąÎŊÎąÎŧÎŊÎŽĪÎĩΚĪ",
+ "unmute_memories": "ÎÎŊÎĩĪÎŗÎŋĪÎŋÎ¯ÎˇĪΡ ÎÎŊÎąÎŧÎŊÎŽĪÎĩĪÎŊ",
"unnamed_album": "ÎÎŊĪÎŊĪ
ÎŧÎŋ ÎÎģÎŧĪÎŋĪ
Îŧ",
"unnamed_album_delete_confirmation": "ÎίĪĪÎĩ ĪÎ¯ÎŗÎŋĪ
ĪÎŋΚ ĪĪΚ θÎÎģÎĩĪÎĩ ÎŊÎą Î´ÎšÎąÎŗĪÎŦĪÎĩĪÎĩ ÎąĪ
ĪĪ ĪÎŋ ÎŦÎģÎŧĪÎŋĪ
Îŧ;",
"unnamed_share": "ÎÎŊĪÎŊĪ
ÎŧΡ ÎÎŋΚÎŊÎŽ ΧĪÎŽĪΡ",
@@ -1830,11 +1832,11 @@
"upload_status_errors": "ÎŖĪÎŦÎģÎŧÎąĪÎą",
"upload_status_uploaded": "ÎÎĩĪÎąĪÎŋĪĪĪθΡÎēÎąÎŊ",
"upload_success": "Î ÎŧÎĩĪÎąĪĪĪĪĪĪΡ ÎŋÎģÎŋÎēÎģΡĪĪθΡÎēÎĩ, ÎąÎŊÎąÎŊÎĩĪĪĪÎĩ ĪΡ ĪÎĩÎģÎ¯Î´Îą ÎŗÎšÎą ÎŊÎą δÎĩίĪÎĩ ĪÎą ÎŊÎÎą ÎąÎŊĪΚÎēÎĩίÎŧÎĩÎŊÎą.",
- "upload_to_immich": "Upload to Immich ({})",
- "uploading": "Uploading",
+ "upload_to_immich": "ÎÎĩĪÎąĪĪĪĪĪĪΡ ĪĪÎŋ Immich ({})",
+ "uploading": "ÎÎĩĪÎąĪÎŋĪĪĪÎŊÎĩĪιΚ",
"url": "URL",
"usage": "ΧĪÎŽĪΡ",
- "use_current_connection": "use current connection",
+ "use_current_connection": "ĪĪÎŽĪΡ ĪĪÎĪÎŋĪ
ĪÎąĪ ĪĪÎŊδÎĩĪΡĪ",
"use_custom_date_range": "ΧĪÎŽĪΡ ĪĪÎŋĪÎąĪÎŧÎŋĪÎŧÎÎŊÎŋĪ
ÎĩĪĪÎŋĪ
Ī ÎˇÎŧÎĩĪÎŋÎŧΡÎŊΚĪÎŊ",
"user": "ΧĪÎŽĪĪΡĪ",
"user_id": "ID ΧĪÎŽĪĪΡ",
@@ -1849,14 +1851,14 @@
"users": "ΧĪÎŽĪĪÎĩĪ",
"utilities": "ÎÎŋΡθΡĪΚÎēÎŦ ĪĪÎŋÎŗĪÎŦÎŧÎŧÎąĪÎą",
"validate": "ÎĪΚÎēĪĪĪĪΡ",
- "validate_endpoint_error": "Please enter a valid URL",
+ "validate_endpoint_error": "Î ÎąĪÎąÎēÎąÎģĪ ÎĩΚĪÎŦÎŗÎĩĪÎĩ ÎÎŊÎą ÎÎŗÎēĪ
ĪÎŋ URL",
"variables": "ÎÎĩĪιβÎģΡĪÎĪ",
"version": "ÎÎēδÎŋĪΡ",
"version_announcement_closing": "Î ĪίÎģÎŋĪ ĪÎŋĪ
, Alex",
"version_announcement_message": "ÎÎĩΚÎŦ ĪÎąĪ! ÎΚι ÎŊÎÎą ÎÎēδÎŋĪΡ ĪÎŋĪ
Immich ÎĩίÎŊιΚ δΚιθÎĪΚÎŧΡ. Î ÎąĪÎąÎēÎąÎģÎŋĪÎŧÎĩ ÎąĪΚÎĩĪĪĪĪÎĩ ÎģÎ¯ÎŗÎŋ ĪĪĪÎŊÎŋ ÎŗÎšÎą ÎŊÎą δΚιβÎŦĪÎĩĪÎĩ ĪÎšĪ ĪΡÎŧÎĩΚĪĪÎĩÎšĪ ÎÎēδÎŋĪÎˇĪ ĪĪĪÎĩ ÎŊÎą βÎĩβιΚĪθÎĩίĪÎĩ ĪĪΚ Ρ ĪĪθÎŧΚĪΡ ĪÎąĪ ÎĩίÎŊιΚ ÎĩÎŊΡÎŧÎĩĪĪÎŧÎÎŊΡ ÎēιΚ ÎŊÎą ÎąĪÎŋĪĪÎŗÎĩĪÎĩ ĪĪ
ĪĪÎŊ ĪĪÎŦÎģÎŧÎąĪÎą, ÎĩΚδΚÎēÎŦ ÎąÎŊ ĪĪΡĪΚÎŧÎŋĪÎŋΚÎĩίĪÎĩ ĪÎŋ WatchTower ÎŽ ÎŋĪÎŋΚÎŋδΎĪÎŋĪÎĩ ÎŧΡĪÎąÎŊΚĪÎŧĪ ĪÎŋĪ
δΚιĪÎĩΚĪίÎļÎĩĪιΚ ÎąĪ
ĪĪÎŧÎąĪÎą ĪΡÎŊ ÎĩÎŊΡÎŧÎĪĪĪΡ ĪÎˇĪ ÎĩÎŗÎēÎąĪÎŦĪĪÎąĪÎˇĪ ĪÎŋĪ
Immich ĪÎąĪ.",
"version_announcement_overlay_release_notes": "ĪΡÎŧÎĩΚĪĪÎĩÎšĪ ÎÎēδÎŋĪΡĪ",
"version_announcement_overlay_text_1": "ÎÎĩΚÎŦ ĪÎąĪ, Ī
ĪÎŦĪĪÎĩΚ ÎŧΚι ÎŊÎÎą ÎÎēδÎŋĪΡ ĪÎŋĪ
",
- "version_announcement_overlay_text_2": "ĪÎąĪÎąÎēÎąÎģĪ ÎąĪΚÎĩĪĪĪĪÎĩ ĪĪĪÎŊÎŋ ÎŊÎą ÎĩĪΚĪÎēÎĩĪθÎĩίĪÎĩ ĪÎŋ",
+ "version_announcement_overlay_text_2": "ĪÎąĪÎąÎēÎąÎģĪ ÎąĪΚÎĩĪĪĪĪÎĩ ĪĪĪÎŊÎŋ ÎŊÎą ÎĩĪΚĪÎēÎĩĪθÎĩίĪÎĩ ĪÎŋ ",
"version_announcement_overlay_text_3": " ÎēιΚ βÎĩβιΚĪθÎĩίĪÎĩ ĪĪΚ ĪÎŋ docker-compose ÎēιΚ ĪÎŋ .env ĪÎąĪ ÎĩίÎŊιΚ ÎĩÎŊΡÎŧÎĩĪĪÎŧÎÎŊΡ ÎŗÎšÎą ĪΡÎŊ ÎąĪÎŋĪĪ
ÎŗÎŽ ĪĪ
ĪĪÎŊ ÎĩĪĪÎąÎģÎŧÎÎŊĪÎŊ δΚιÎŧÎŋĪĪĪĪÎĩĪÎŊ, ÎĩΚδΚÎēÎŦ ÎĩÎŦÎŊ ĪĪΡĪΚÎŧÎŋĪÎŋΚÎĩίĪÎĩ ĪÎŋ WatchTower ÎŽ ÎŋĪÎŋΚÎŋÎŊδΎĪÎŋĪÎĩ ÎŧΡĪÎąÎŊΚĪÎŧĪ ĪÎŋĪ
ĪÎĩΚĪίÎļÎĩĪιΚ ĪΡÎŊ ÎąĪ
ĪĪÎŧÎąĪΡ ÎĩÎŊΡÎŧÎĪĪĪΡ ĪÎŋĪ
δΚιÎēÎŋÎŧΚĪĪÎŽ ĪÎąĪ.",
"version_announcement_overlay_title": "ÎΚιθÎĪΚÎŧΡ ÎŊÎÎą ÎÎēδÎŋĪΡ δΚιÎēÎŋÎŧΚĪĪÎŽ đ",
"version_history": "ÎĪĪÎŋĪΚÎēĪ ÎÎēδĪĪÎĩĪÎŊ",
@@ -1887,11 +1889,11 @@
"week": "ÎβδÎŋÎŧÎŦδι",
"welcome": "ÎÎąÎģĪĪÎŋĪίĪÎąĪÎĩ",
"welcome_to_immich": "ÎÎąÎģĪĪÎŋĪίĪÎąĪÎĩ ĪĪÎŋ Îmmich",
- "wifi_name": "WiFi Name",
+ "wifi_name": "ÎÎŊÎŋÎŧÎą Wi-Fi",
"year": "ÎĪÎŋĪ",
"years_ago": "ĪĪΚÎŊ ÎąĪĪ {years, plural, one {# ĪĪĪÎŊÎŋ} other {# ĪĪĪÎŊΚι}}",
"yes": "ÎιΚ",
"you_dont_have_any_shared_links": "ÎÎĩÎŊ ÎĪÎĩĪÎĩ ÎēÎŋΚÎŊĪĪĪΡĪĪÎŋĪ
Ī ĪĪ
ÎŊδÎĪÎŧÎŋĪ
Ī",
- "your_wifi_name": "Your WiFi name",
+ "your_wifi_name": "ΤÎŋ ĪÎŊÎŋÎŧÎą ĪÎŋĪ
Wi-Fi ĪÎąĪ",
"zoom_image": "ÎÎŋĪ
Îŧ ÎΚÎēĪÎŊÎąĪ"
}
diff --git a/i18n/en.json b/i18n/en.json
index c01cd65712..2db9976fa6 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -1,4 +1,17 @@
{
+ "user_pin_code_settings": "PIN Code",
+ "user_pin_code_settings_description": "Manage your PIN code",
+ "current_pin_code": "Current PIN code",
+ "new_pin_code": "New PIN code",
+ "setup_pin_code": "Setup a PIN code",
+ "confirm_new_pin_code": "Confirm new PIN code",
+ "change_pin_code": "Change PIN code",
+ "unable_to_change_pin_code": "Unable to change PIN code",
+ "unable_to_setup_pin_code": "Unable to setup PIN code",
+ "pin_code_changed_successfully": "Successfully changed PIN code",
+ "pin_code_setup_successfully": "Successfully setup a PIN code",
+ "pin_code_reset_successfully": "Successfully reset PIN code",
+ "reset_pin_code": "Reset PIN code",
"about": "About",
"account": "Account",
"account_settings": "Account Settings",
@@ -53,6 +66,7 @@
"confirm_email_below": "To confirm, type \"{email}\" below",
"confirm_reprocess_all_faces": "Are you sure you want to reprocess all faces? This will also clear named people.",
"confirm_user_password_reset": "Are you sure you want to reset {user}'s password?",
+ "confirm_user_pin_code_reset": "Are you sure you want to reset {user}'s PIN code?",
"create_job": "Create job",
"cron_expression": "Cron expression",
"cron_expression_description": "Set the scanning interval using the cron format. For more information please refer to e.g. Crontab Guru",
@@ -369,7 +383,7 @@
"advanced": "Advanced",
"advanced_settings_enable_alternate_media_filter_subtitle": "Use this option to filter media during sync based on alternate criteria. Only try this if you have issues with the app detecting all albums.",
"advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Use alternate device album sync filter",
- "advanced_settings_log_level_title": "Log level: {}",
+ "advanced_settings_log_level_title": "Log level: {level}",
"advanced_settings_prefer_remote_subtitle": "Some devices are painfully slow to load thumbnails from assets on the device. Activate this setting to load remote images instead.",
"advanced_settings_prefer_remote_title": "Prefer remote images",
"advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request",
@@ -400,9 +414,9 @@
"album_remove_user_confirmation": "Are you sure you want to remove {user}?",
"album_share_no_users": "Looks like you have shared this album with all users or you don't have any user to share with.",
"album_thumbnail_card_item": "1 item",
- "album_thumbnail_card_items": "{} items",
+ "album_thumbnail_card_items": "{count} items",
"album_thumbnail_card_shared": " ¡ Shared",
- "album_thumbnail_shared_by": "Shared by {}",
+ "album_thumbnail_shared_by": "Shared by {user}",
"album_updated": "Album updated",
"album_updated_setting_description": "Receive an email notification when a shared album has new assets",
"album_user_left": "Left {album}",
@@ -440,7 +454,7 @@
"archive": "Archive",
"archive_or_unarchive_photo": "Archive or unarchive photo",
"archive_page_no_archived_assets": "No archived assets found",
- "archive_page_title": "Archive ({})",
+ "archive_page_title": "Archive ({count})",
"archive_size": "Archive size",
"archive_size_description": "Configure the archive size for downloads (in GiB)",
"archived": "Archived",
@@ -477,18 +491,18 @@
"assets_added_to_album_count": "Added {count, plural, one {# asset} other {# assets}} to the album",
"assets_added_to_name_count": "Added {count, plural, one {# asset} other {# assets}} to {hasName, select, true {{name} } other {new album}}",
"assets_count": "{count, plural, one {# asset} other {# assets}}",
- "assets_deleted_permanently": "{} asset(s) deleted permanently",
- "assets_deleted_permanently_from_server": "{} asset(s) deleted permanently from the Immich server",
+ "assets_deleted_permanently": "{count} asset(s) deleted permanently",
+ "assets_deleted_permanently_from_server": "{count} asset(s) deleted permanently from the Immich server",
"assets_moved_to_trash_count": "Moved {count, plural, one {# asset} other {# assets}} to trash",
"assets_permanently_deleted_count": "Permanently deleted {count, plural, one {# asset} other {# assets}}",
"assets_removed_count": "Removed {count, plural, one {# asset} other {# assets}}",
- "assets_removed_permanently_from_device": "{} asset(s) removed permanently from your device",
+ "assets_removed_permanently_from_device": "{count} asset(s) removed permanently from your device",
"assets_restore_confirmation": "Are you sure you want to restore all your trashed assets? You cannot undo this action! Note that any offline assets cannot be restored this way.",
"assets_restored_count": "Restored {count, plural, one {# asset} other {# assets}}",
- "assets_restored_successfully": "{} asset(s) restored successfully",
- "assets_trashed": "{} asset(s) trashed",
+ "assets_restored_successfully": "{count} asset(s) restored successfully",
+ "assets_trashed": "{count} asset(s) trashed",
"assets_trashed_count": "Trashed {count, plural, one {# asset} other {# assets}}",
- "assets_trashed_from_server": "{} asset(s) trashed from the Immich server",
+ "assets_trashed_from_server": "{count} asset(s) trashed from the Immich server",
"assets_were_part_of_album_count": "{count, plural, one {Asset was} other {Assets were}} already part of the album",
"authorized_devices": "Authorized Devices",
"automatic_endpoint_switching_subtitle": "Connect locally over designated Wi-Fi when available and use alternative connections elsewhere",
@@ -497,7 +511,7 @@
"back_close_deselect": "Back, close, or deselect",
"background_location_permission": "Background location permission",
"background_location_permission_content": "In order to switch networks when running in the background, Immich must *always* have precise location access so the app can read the Wi-Fi network's name",
- "backup_album_selection_page_albums_device": "Albums on device ({})",
+ "backup_album_selection_page_albums_device": "Albums on device ({count})",
"backup_album_selection_page_albums_tap": "Tap to include, double tap to exclude",
"backup_album_selection_page_assets_scatter": "Assets can scatter across multiple albums. Thus, albums can be included or excluded during the backup process.",
"backup_album_selection_page_select_albums": "Select albums",
@@ -506,11 +520,11 @@
"backup_all": "All",
"backup_background_service_backup_failed_message": "Failed to backup assets. RetryingâĻ",
"backup_background_service_connection_failed_message": "Failed to connect to the server. RetryingâĻ",
- "backup_background_service_current_upload_notification": "Uploading {}",
+ "backup_background_service_current_upload_notification": "Uploading {filename}",
"backup_background_service_default_notification": "Checking for new assetsâĻ",
"backup_background_service_error_title": "Backup error",
"backup_background_service_in_progress_notification": "Backing up your assetsâĻ",
- "backup_background_service_upload_failure_notification": "Failed to upload {}",
+ "backup_background_service_upload_failure_notification": "Failed to upload {filename}",
"backup_controller_page_albums": "Backup Albums",
"backup_controller_page_background_app_refresh_disabled_content": "Enable background app refresh in Settings > General > Background App Refresh in order to use background backup.",
"backup_controller_page_background_app_refresh_disabled_title": "Background app refresh disabled",
@@ -521,22 +535,22 @@
"backup_controller_page_background_battery_info_title": "Battery optimizations",
"backup_controller_page_background_charging": "Only while charging",
"backup_controller_page_background_configure_error": "Failed to configure the background service",
- "backup_controller_page_background_delay": "Delay new assets backup: {}",
+ "backup_controller_page_background_delay": "Delay new assets backup: {duration}",
"backup_controller_page_background_description": "Turn on the background service to automatically backup any new assets without needing to open the app",
"backup_controller_page_background_is_off": "Automatic background backup is off",
"backup_controller_page_background_is_on": "Automatic background backup is on",
"backup_controller_page_background_turn_off": "Turn off background service",
"backup_controller_page_background_turn_on": "Turn on background service",
- "backup_controller_page_background_wifi": "Only on WiFi",
+ "backup_controller_page_background_wifi": "Only on Wi-Fi",
"backup_controller_page_backup": "Backup",
"backup_controller_page_backup_selected": "Selected: ",
"backup_controller_page_backup_sub": "Backed up photos and videos",
- "backup_controller_page_created": "Created on: {}",
+ "backup_controller_page_created": "Created on: {date}",
"backup_controller_page_desc_backup": "Turn on foreground backup to automatically upload new assets to the server when opening the app.",
"backup_controller_page_excluded": "Excluded: ",
- "backup_controller_page_failed": "Failed ({})",
- "backup_controller_page_filename": "File name: {} [{}]",
- "backup_controller_page_id": "ID: {}",
+ "backup_controller_page_failed": "Failed ({count})",
+ "backup_controller_page_filename": "File name: {filename} [{size}]",
+ "backup_controller_page_id": "ID: {id}",
"backup_controller_page_info": "Backup Information",
"backup_controller_page_none_selected": "None selected",
"backup_controller_page_remainder": "Remainder",
@@ -545,7 +559,7 @@
"backup_controller_page_start_backup": "Start Backup",
"backup_controller_page_status_off": "Automatic foreground backup is off",
"backup_controller_page_status_on": "Automatic foreground backup is on",
- "backup_controller_page_storage_format": "{} of {} used",
+ "backup_controller_page_storage_format": "{used} of {total} used",
"backup_controller_page_to_backup": "Albums to be backed up",
"backup_controller_page_total_sub": "All unique photos and videos from selected albums",
"backup_controller_page_turn_off": "Turn off foreground backup",
@@ -570,21 +584,21 @@
"bulk_keep_duplicates_confirmation": "Are you sure you want to keep {count, plural, one {# duplicate asset} other {# duplicate assets}}? This will resolve all duplicate groups without deleting anything.",
"bulk_trash_duplicates_confirmation": "Are you sure you want to bulk trash {count, plural, one {# duplicate asset} other {# duplicate assets}}? This will keep the largest asset of each group and trash all other duplicates.",
"buy": "Purchase Immich",
- "cache_settings_album_thumbnails": "Library page thumbnails ({} assets)",
+ "cache_settings_album_thumbnails": "Library page thumbnails ({count} assets)",
"cache_settings_clear_cache_button": "Clear cache",
"cache_settings_clear_cache_button_title": "Clears the app's cache. This will significantly impact the app's performance until the cache has rebuilt.",
"cache_settings_duplicated_assets_clear_button": "CLEAR",
"cache_settings_duplicated_assets_subtitle": "Photos and videos that are black listed by the app",
- "cache_settings_duplicated_assets_title": "Duplicated Assets ({})",
- "cache_settings_image_cache_size": "Image cache size ({} assets)",
+ "cache_settings_duplicated_assets_title": "Duplicated Assets ({count})",
+ "cache_settings_image_cache_size": "Image cache size ({count} assets)",
"cache_settings_statistics_album": "Library thumbnails",
- "cache_settings_statistics_assets": "{} assets ({})",
+ "cache_settings_statistics_assets": "{count} assets ({size})",
"cache_settings_statistics_full": "Full images",
"cache_settings_statistics_shared": "Shared album thumbnails",
"cache_settings_statistics_thumbnail": "Thumbnails",
"cache_settings_statistics_title": "Cache usage",
"cache_settings_subtitle": "Control the caching behaviour of the Immich mobile application",
- "cache_settings_thumbnail_size": "Thumbnail cache size ({} assets)",
+ "cache_settings_thumbnail_size": "Thumbnail cache size ({count} assets)",
"cache_settings_tile_subtitle": "Control the local storage behaviour",
"cache_settings_tile_title": "Local Storage",
"cache_settings_title": "Caching Settings",
@@ -654,7 +668,7 @@
"contain": "Contain",
"context": "Context",
"continue": "Continue",
- "control_bottom_app_bar_album_info_shared": "{} items ¡ Shared",
+ "control_bottom_app_bar_album_info_shared": "{count} items ¡ Shared",
"control_bottom_app_bar_create_new_album": "Create new album",
"control_bottom_app_bar_delete_from_immich": "Delete from Immich",
"control_bottom_app_bar_delete_from_local": "Delete from device",
@@ -763,7 +777,7 @@
"download_enqueue": "Download enqueued",
"download_error": "Download Error",
"download_failed": "Download failed",
- "download_filename": "file: {}",
+ "download_filename": "file: {filename}",
"download_finished": "Download finished",
"download_include_embedded_motion_videos": "Embedded videos",
"download_include_embedded_motion_videos_description": "Include videos embedded in motion photos as a separate file",
@@ -814,12 +828,12 @@
"enabled": "Enabled",
"end_date": "End date",
"enqueued": "Enqueued",
- "enter_wifi_name": "Enter WiFi name",
+ "enter_wifi_name": "Enter Wi-Fi name",
"error": "Error",
"error_change_sort_album": "Failed to change album sort order",
"error_delete_face": "Error deleting face from asset",
"error_loading_image": "Error loading image",
- "error_saving_image": "Error: {}",
+ "error_saving_image": "Error: {error}",
"error_title": "Error - Something went wrong",
"errors": {
"cannot_navigate_next_asset": "Cannot navigate to the next asset",
@@ -922,6 +936,7 @@
"unable_to_remove_reaction": "Unable to remove reaction",
"unable_to_repair_items": "Unable to repair items",
"unable_to_reset_password": "Unable to reset password",
+ "unable_to_reset_pin_code": "Unable to reset PIN code",
"unable_to_resolve_duplicate": "Unable to resolve duplicate",
"unable_to_restore_assets": "Unable to restore assets",
"unable_to_restore_trash": "Unable to restore trash",
@@ -955,10 +970,10 @@
"exif_bottom_sheet_location": "LOCATION",
"exif_bottom_sheet_people": "PEOPLE",
"exif_bottom_sheet_person_add_person": "Add name",
- "exif_bottom_sheet_person_age": "Age {}",
- "exif_bottom_sheet_person_age_months": "Age {} months",
- "exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
- "exif_bottom_sheet_person_age_years": "Age {}",
+ "exif_bottom_sheet_person_age": "Age {age}",
+ "exif_bottom_sheet_person_age_months": "Age {months} months",
+ "exif_bottom_sheet_person_age_year_months": "Age 1 year, {months} months",
+ "exif_bottom_sheet_person_age_years": "Age {years}",
"exit_slideshow": "Exit Slideshow",
"expand_all": "Expand all",
"experimental_settings_new_asset_list_subtitle": "Work in progress",
@@ -1173,8 +1188,8 @@
"manage_your_devices": "Manage your logged-in devices",
"manage_your_oauth_connection": "Manage your OAuth connection",
"map": "Map",
- "map_assets_in_bound": "{} photo",
- "map_assets_in_bounds": "{} photos",
+ "map_assets_in_bound": "{count} photo",
+ "map_assets_in_bounds": "{count} photos",
"map_cannot_get_user_location": "Cannot get user's location",
"map_location_dialog_yes": "Yes",
"map_location_picker_page_use_location": "Use this location",
@@ -1188,9 +1203,9 @@
"map_settings": "Map settings",
"map_settings_dark_mode": "Dark mode",
"map_settings_date_range_option_day": "Past 24 hours",
- "map_settings_date_range_option_days": "Past {} days",
+ "map_settings_date_range_option_days": "Past {days} days",
"map_settings_date_range_option_year": "Past year",
- "map_settings_date_range_option_years": "Past {} years",
+ "map_settings_date_range_option_years": "Past {years} years",
"map_settings_dialog_title": "Map Settings",
"map_settings_include_show_archived": "Include Archived",
"map_settings_include_show_partners": "Include Partners",
@@ -1209,7 +1224,7 @@
"memories_start_over": "Start Over",
"memories_swipe_to_close": "Swipe up to close",
"memories_year_ago": "A year ago",
- "memories_years_ago": "{} years ago",
+ "memories_years_ago": "{years} years ago",
"memory": "Memory",
"memory_lane_title": "Memory Lane {title}",
"menu": "Menu",
@@ -1316,7 +1331,7 @@
"partner_page_partner_add_failed": "Failed to add partner",
"partner_page_select_partner": "Select partner",
"partner_page_shared_to_title": "Shared to",
- "partner_page_stop_sharing_content": "{} will no longer be able to access your photos.",
+ "partner_page_stop_sharing_content": "{partner} will no longer be able to access your photos.",
"partner_sharing": "Partner Sharing",
"partners": "Partners",
"password": "Password",
@@ -1604,12 +1619,12 @@
"setting_languages_apply": "Apply",
"setting_languages_subtitle": "Change the app's language",
"setting_languages_title": "Languages",
- "setting_notifications_notify_failures_grace_period": "Notify background backup failures: {}",
- "setting_notifications_notify_hours": "{} hours",
+ "setting_notifications_notify_failures_grace_period": "Notify background backup failures: {duration}",
+ "setting_notifications_notify_hours": "{count} hours",
"setting_notifications_notify_immediately": "immediately",
- "setting_notifications_notify_minutes": "{} minutes",
+ "setting_notifications_notify_minutes": "{count} minutes",
"setting_notifications_notify_never": "never",
- "setting_notifications_notify_seconds": "{} seconds",
+ "setting_notifications_notify_seconds": "{count} seconds",
"setting_notifications_single_progress_subtitle": "Detailed upload progress information per asset",
"setting_notifications_single_progress_title": "Show background backup detail progress",
"setting_notifications_subtitle": "Adjust your notification preferences",
@@ -1623,7 +1638,7 @@
"settings_saved": "Settings saved",
"share": "Share",
"share_add_photos": "Add photos",
- "share_assets_selected": "{} selected",
+ "share_assets_selected": "{count} selected",
"share_dialog_preparing": "Preparing...",
"shared": "Shared",
"shared_album_activities_input_disable": "Comment is disabled",
@@ -1637,32 +1652,32 @@
"shared_by_user": "Shared by {user}",
"shared_by_you": "Shared by you",
"shared_from_partner": "Photos from {partner}",
- "shared_intent_upload_button_progress_text": "{} / {} Uploaded",
+ "shared_intent_upload_button_progress_text": "{current} / {total} Uploaded",
"shared_link_app_bar_title": "Shared Links",
"shared_link_clipboard_copied_massage": "Copied to clipboard",
- "shared_link_clipboard_text": "Link: {}\nPassword: {}",
+ "shared_link_clipboard_text": "Link: {link}\nPassword: {password}",
"shared_link_create_error": "Error while creating shared link",
"shared_link_edit_description_hint": "Enter the share description",
"shared_link_edit_expire_after_option_day": "1 day",
- "shared_link_edit_expire_after_option_days": "{} days",
+ "shared_link_edit_expire_after_option_days": "{count} days",
"shared_link_edit_expire_after_option_hour": "1 hour",
- "shared_link_edit_expire_after_option_hours": "{} hours",
+ "shared_link_edit_expire_after_option_hours": "{count} hours",
"shared_link_edit_expire_after_option_minute": "1 minute",
- "shared_link_edit_expire_after_option_minutes": "{} minutes",
- "shared_link_edit_expire_after_option_months": "{} months",
- "shared_link_edit_expire_after_option_year": "{} year",
+ "shared_link_edit_expire_after_option_minutes": "{count} minutes",
+ "shared_link_edit_expire_after_option_months": "{count} months",
+ "shared_link_edit_expire_after_option_year": "{count} year",
"shared_link_edit_password_hint": "Enter the share password",
"shared_link_edit_submit_button": "Update link",
"shared_link_error_server_url_fetch": "Cannot fetch the server url",
- "shared_link_expires_day": "Expires in {} day",
- "shared_link_expires_days": "Expires in {} days",
- "shared_link_expires_hour": "Expires in {} hour",
- "shared_link_expires_hours": "Expires in {} hours",
- "shared_link_expires_minute": "Expires in {} minute",
- "shared_link_expires_minutes": "Expires in {} minutes",
+ "shared_link_expires_day": "Expires in {count} day",
+ "shared_link_expires_days": "Expires in {count} days",
+ "shared_link_expires_hour": "Expires in {count} hour",
+ "shared_link_expires_hours": "Expires in {count} hours",
+ "shared_link_expires_minute": "Expires in {count} minute",
+ "shared_link_expires_minutes": "Expires in {count} minutes",
"shared_link_expires_never": "Expires â",
- "shared_link_expires_second": "Expires in {} second",
- "shared_link_expires_seconds": "Expires in {} seconds",
+ "shared_link_expires_second": "Expires in {count} second",
+ "shared_link_expires_seconds": "Expires in {count} seconds",
"shared_link_individual_shared": "Individual shared",
"shared_link_info_chip_metadata": "EXIF",
"shared_link_manage_links": "Manage Shared links",
@@ -1763,7 +1778,7 @@
"theme_selection": "Theme selection",
"theme_selection_description": "Automatically set the theme to light or dark based on your browser's system preference",
"theme_setting_asset_list_storage_indicator_title": "Show storage indicator on asset tiles",
- "theme_setting_asset_list_tiles_per_row_title": "Number of assets per row ({})",
+ "theme_setting_asset_list_tiles_per_row_title": "Number of assets per row ({count})",
"theme_setting_colorful_interface_subtitle": "Apply primary color to background surfaces.",
"theme_setting_colorful_interface_title": "Colorful interface",
"theme_setting_image_viewer_quality_subtitle": "Adjust the quality of the detail image viewer",
@@ -1798,11 +1813,11 @@
"trash_no_results_message": "Trashed photos and videos will show up here.",
"trash_page_delete_all": "Delete All",
"trash_page_empty_trash_dialog_content": "Do you want to empty your trashed assets? These items will be permanently removed from Immich",
- "trash_page_info": "Trashed items will be permanently deleted after {} days",
+ "trash_page_info": "Trashed items will be permanently deleted after {days} days",
"trash_page_no_assets": "No trashed assets",
"trash_page_restore_all": "Restore All",
"trash_page_select_assets_btn": "Select assets",
- "trash_page_title": "Trash ({})",
+ "trash_page_title": "Trash ({count})",
"trashed_items_will_be_permanently_deleted_after": "Trashed items will be permanently deleted after {days, plural, one {# day} other {# days}}.",
"type": "Type",
"unarchive": "Unarchive",
@@ -1840,7 +1855,7 @@
"upload_status_errors": "Errors",
"upload_status_uploaded": "Uploaded",
"upload_success": "Upload success, refresh the page to see new upload assets.",
- "upload_to_immich": "Upload to Immich ({})",
+ "upload_to_immich": "Upload to Immich ({count})",
"uploading": "Uploading",
"url": "URL",
"usage": "Usage",
@@ -1897,11 +1912,11 @@
"week": "Week",
"welcome": "Welcome",
"welcome_to_immich": "Welcome to Immich",
- "wifi_name": "WiFi Name",
+ "wifi_name": "Wi-Fi Name",
"year": "Year",
"years_ago": "{years, plural, one {# year} other {# years}} ago",
"yes": "Yes",
"you_dont_have_any_shared_links": "You don't have any shared links",
- "your_wifi_name": "Your WiFi name",
+ "your_wifi_name": "Your Wi-Fi name",
"zoom_image": "Zoom Image"
}
diff --git a/i18n/es.json b/i18n/es.json
index 64521c1aa8..1c46646c0d 100644
--- a/i18n/es.json
+++ b/i18n/es.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Registro automÃĄtico",
"oauth_auto_register_description": "Registre automÃĄticamente nuevos usuarios despuÊs de iniciar sesiÃŗn con OAuth",
"oauth_button_text": "Texto del botÃŗn",
- "oauth_client_id": "ID Cliente",
- "oauth_client_secret": "Secreto Cliente",
"oauth_enable_description": "Iniciar sesiÃŗn con OAuth",
- "oauth_issuer_url": "URL del emisor",
"oauth_mobile_redirect_uri": "URI de redireccionamiento mÃŗvil",
"oauth_mobile_redirect_uri_override": "Sobreescribir URI de redirecciÃŗn mÃŗvil",
"oauth_mobile_redirect_uri_override_description": "Habilitar cuando el proveedor de OAuth no permite una URI mÃŗvil, como '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritmo de firma de perfiles",
- "oauth_profile_signing_algorithm_description": "Algoritmo utilizado para firmar el perfil del usuario.",
- "oauth_scope": "Ãmbito",
"oauth_settings": "OAuth",
"oauth_settings_description": "Administrar la configuraciÃŗn de inicio de sesiÃŗn de OAuth",
"oauth_settings_more_details": "Para mÃĄs detalles acerca de esta caracterÃstica, consulte la documentaciÃŗn.",
- "oauth_signing_algorithm": "Algoritmo de firma",
"oauth_storage_label_claim": "PeticiÃŗn de etiqueta de almacenamiento",
"oauth_storage_label_claim_description": "Establece la etiqueta del almacenamiento del usuario automÃĄticamente a este valor reclamado.",
"oauth_storage_quota_claim": "Reclamar quota de almacenamiento",
@@ -387,7 +380,7 @@
"advanced_settings_troubleshooting_title": "SoluciÃŗn de problemas",
"age_months": "Tiempo {months, plural, one {# mes} other {# meses}}",
"age_year_months": "1 aÃąo, {months, plural, one {# mes} other {# meses}}",
- "age_years": "AntigÃŧedad {years, plural, one {# aÃąo} other {# aÃąos}}",
+ "age_years": "Edad {years, plural, one {# aÃąo} other {# aÃąos}}",
"album_added": "Ãlbum aÃąadido",
"album_added_notification_setting_description": "Reciba una notificaciÃŗn por correo electrÃŗnico cuando lo agreguen a un ÃĄlbum compartido",
"album_cover_updated": "Portada del ÃĄlbum actualizada",
@@ -481,7 +474,7 @@
"assets_added_to_album_count": "AÃąadido {count, plural, one {# asset} other {# assets}} al ÃĄlbum",
"assets_added_to_name_count": "AÃąadido {count, plural, one {# asset} other {# assets}} a {hasName, select, true {{name} } other {new album}}",
"assets_count": "{count, plural, one {# activo} other {# activos}}",
- "assets_deleted_permanently": "{} elementos(s) eliminado(s) permanentemente",
+ "assets_deleted_permanently": "{} elemento(s) eliminado(s) permanentemente",
"assets_deleted_permanently_from_server": "{} recurso(s) eliminado(s) de forma permanente del servidor de Immich",
"assets_moved_to_trash_count": "{count, plural, one {# elemento movido} other {# elementos movidos}} a la papelera",
"assets_permanently_deleted_count": "Eliminado permanentemente {count, plural, one {# elemento} other {# elementos}}",
@@ -531,7 +524,7 @@
"backup_controller_page_background_is_on": "La copia de seguridad en segundo plano automÃĄtica estÃĄ activada",
"backup_controller_page_background_turn_off": "Desactivar el servicio en segundo plano",
"backup_controller_page_background_turn_on": "Activar el servicio en segundo plano",
- "backup_controller_page_background_wifi": "Solo en WiFi",
+ "backup_controller_page_background_wifi": "Solo en Wi-Fi",
"backup_controller_page_backup": "Copia de Seguridad",
"backup_controller_page_backup_selected": "Seleccionado: ",
"backup_controller_page_backup_sub": "Fotos y videos respaldados",
@@ -818,7 +811,7 @@
"enabled": "Habilitado",
"end_date": "Fecha final",
"enqueued": "AÃąadido a la cola",
- "enter_wifi_name": "Enter WiFi name",
+ "enter_wifi_name": "Introduce el nombre Wi-Fi",
"error": "Error",
"error_change_sort_album": "No se pudo cambiar el orden de visualizaciÃŗn del ÃĄlbum",
"error_delete_face": "Error al eliminar la cara del archivo",
@@ -853,10 +846,12 @@
"failed_to_keep_this_delete_others": "No se pudo conservar este activo y eliminar los demÃĄs",
"failed_to_load_asset": "Error al cargar el elemento",
"failed_to_load_assets": "Error al cargar los elementos",
+ "failed_to_load_notifications": "Error al cargar las notificaciones",
"failed_to_load_people": "Error al cargar a los usuarios",
"failed_to_remove_product_key": "No se pudo eliminar la clave del producto",
"failed_to_stack_assets": "No se pudieron agrupar los archivos",
"failed_to_unstack_assets": "Error al desagrupar los archivos",
+ "failed_to_update_notification_status": "Error al actualizar el estado de la notificaciÃŗn",
"import_path_already_exists": "Esta ruta de importaciÃŗn ya existe.",
"incorrect_email_or_password": "ContraseÃąa o email incorrecto",
"paths_validation_failed": "FallÃŗ la validaciÃŗn en {paths, plural, one {# carpeta} other {# carpetas}}",
@@ -1199,6 +1194,9 @@
"map_settings_only_show_favorites": "Mostrar solo favoritas",
"map_settings_theme_settings": "Apariencia del Mapa",
"map_zoom_to_see_photos": "Alejar para ver fotos",
+ "mark_all_as_read": "Marcar todos como leÃdos",
+ "mark_as_read": "Marcar como leÃdo",
+ "marked_all_as_read": "Todos marcados como leÃdos",
"matches": "Coincidencias",
"media_type": "Tipo de medio",
"memories": "Recuerdos",
@@ -1257,6 +1255,7 @@
"no_favorites_message": "Agregue favoritos para encontrar rÃĄpidamente sus mejores fotos y videos",
"no_libraries_message": "Crea una biblioteca externa para ver tus fotos y vÃdeos",
"no_name": "Sin nombre",
+ "no_notifications": "Ninguna notificaciÃŗn",
"no_places": "Sin lugares",
"no_results": "Sin resultados",
"no_results_description": "Pruebe con un sinÃŗnimo o una palabra clave mÃĄs general",
@@ -1845,7 +1844,7 @@
"user_liked": "{user} le gustÃŗ {type, select, photo {this photo} video {this video} asset {this asset} other {it}}",
"user_purchase_settings": "Compra",
"user_purchase_settings_description": "Gestiona tu compra",
- "user_role_set": "Carbiar {user} a {role}",
+ "user_role_set": "Establecer {user} como {role}",
"user_usage_detail": "Detalle del uso del usuario",
"user_usage_stats": "EstadÃsticas de uso de la cuenta",
"user_usage_stats_description": "Ver estadÃsticas de uso de la cuenta",
@@ -1891,11 +1890,11 @@
"week": "Semana",
"welcome": "Bienvenido",
"welcome_to_immich": "Bienvenido a Immich",
- "wifi_name": "WiFi Name",
+ "wifi_name": "Nombre Wi-Fi",
"year": "AÃąo",
"years_ago": "Hace {years, plural, one {# aÃąo} other {# aÃąos}}",
"yes": "SÃ",
"you_dont_have_any_shared_links": "No tienes ningÃēn enlace compartido",
- "your_wifi_name": "El nombre de tu WiFi",
+ "your_wifi_name": "El nombre de tu Wi-Fi",
"zoom_image": "Acercar Imagen"
}
diff --git a/i18n/et.json b/i18n/et.json
index 98b829bc97..fce760e3a3 100644
--- a/i18n/et.json
+++ b/i18n/et.json
@@ -192,26 +192,22 @@
"oauth_auto_register": "Automaatne registreerimine",
"oauth_auto_register_description": "Registreeri uued kasutajad automaatselt OAuth abil sisselogimisel",
"oauth_button_text": "Nupu tekst",
- "oauth_client_id": "Kliendi ID",
- "oauth_client_secret": "Kliendi saladus",
+ "oauth_client_secret_description": "NÃĩutud, kui PKCE (Proof Key for Code Exchange) ei ole OAuth pakkuja poolt toetatud",
"oauth_enable_description": "Sisene OAuth abil",
- "oauth_issuer_url": "Väljastaja URL",
"oauth_mobile_redirect_uri": "Mobiilne Ãŧmbersuunamise URI",
"oauth_mobile_redirect_uri_override": "Mobiilse Ãŧmbersuunamise URI Ãŧlekirjutamine",
"oauth_mobile_redirect_uri_override_description": "LÃŧlita sisse, kui OAuth pakkuja ei luba mobiilset URI-d, näiteks '{callback}'",
- "oauth_profile_signing_algorithm": "Profiili allkirjastamise algoritm",
- "oauth_profile_signing_algorithm_description": "Algoritm, mida kasutatakse kasutajaprofiili allkirjastamiseks.",
- "oauth_scope": "Skoop",
"oauth_settings": "OAuth",
"oauth_settings_description": "Halda OAuth sisselogimise seadeid",
"oauth_settings_more_details": "Selle funktsiooni kohta rohkem teada saamiseks loe dokumentatsiooni.",
- "oauth_signing_algorithm": "Allkirjastamise algoritm",
"oauth_storage_label_claim": "Talletussildi väide",
"oauth_storage_label_claim_description": "Sea kasutaja talletussildiks automaatselt selle väite väärtus.",
"oauth_storage_quota_claim": "Talletuskvoodi väide",
"oauth_storage_quota_claim_description": "Sea kasutaja talletuskvoodiks automaatselt selle väite väärtus.",
"oauth_storage_quota_default": "Vaikimisi talletuskvoot (GiB)",
"oauth_storage_quota_default_description": "Kvoot (GiB), mida kasutada, kui Ãŧhtegi väidet pole esitatud (piiramatu kvoodi jaoks sisesta 0).",
+ "oauth_timeout": "Päringu ajalÃĩpp",
+ "oauth_timeout_description": "Päringute ajalÃĩpp millisekundites",
"offline_paths": "Ãhenduseta failiteed",
"offline_paths_description": "Need tulemused vÃĩivad olla pÃĩhjustatud manuaalselt kustutatud failidest, mis ei ole osa välisest kogust.",
"password_enable_description": "Logi sisse e-posti aadressi ja parooliga",
@@ -371,9 +367,18 @@
"admin_password": "Administraatori parool",
"administration": "Administratsioon",
"advanced": "Täpsemad valikud",
+ "advanced_settings_enable_alternate_media_filter_subtitle": "Kasuta seda valikut, et filtreerida sÃŧnkroonimise ajal Ãŧksuseid alternatiivsete kriteeriumite alusel. Proovi seda ainult siis, kui rakendusel on probleeme kÃĩigi albumite tuvastamisega.",
+ "advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTAALNE] Kasuta alternatiivset seadme albumi sÃŧnkroonimise filtrit",
"advanced_settings_log_level_title": "Logimistase: {}",
+ "advanced_settings_prefer_remote_subtitle": "MÃĩned seadmed laadivad seadmes olevate Ãŧksuste pisipilte piinavalt aeglaselt. Aktiveeri see seadistus, et laadida selle asemel kaugpilte.",
+ "advanced_settings_prefer_remote_title": "Eelista kaugpilte",
+ "advanced_settings_proxy_headers_subtitle": "Määra vaheserveri päised, mida Immich peaks iga päringuga saatma",
"advanced_settings_proxy_headers_title": "Vaheserveri päised",
+ "advanced_settings_self_signed_ssl_subtitle": "Jätab serveri lÃĩpp-punkti SSL-sertifikaadi kontrolli vahele. NÃĩutud endasigneeritud sertifikaatide jaoks.",
"advanced_settings_self_signed_ssl_title": "Luba endasigneeritud SSL-sertifikaadid",
+ "advanced_settings_sync_remote_deletions_subtitle": "Kustuta vÃĩi taasta Ãŧksus selles seadmes automaatself, kui sama tegevus toimub veebis",
+ "advanced_settings_sync_remote_deletions_title": "SÃŧnkrooni kaugkustutamised [EKSPERIMENTAALNE]",
+ "advanced_settings_troubleshooting_subtitle": "Luba lisafunktsioonid tÃĩrkeotsinguks",
"advanced_settings_troubleshooting_title": "TÃĩrkeotsing",
"age_months": "Vanus {months, plural, one {# kuu} other {# kuud}}",
"age_year_months": "Vanus 1 aasta, {months, plural, one {# kuu} other {# kuud}}",
@@ -407,6 +412,7 @@
"album_viewer_appbar_share_err_remove": "Ãksuste albumist eemaldamisel tekkis probleeme",
"album_viewer_appbar_share_err_title": "Albumi pealkirja muutmine ebaÃĩnnestus",
"album_viewer_appbar_share_leave": "Lahku albumist",
+ "album_viewer_appbar_share_to": "Jaga",
"album_viewer_page_share_add_users": "Lisa kasutajaid",
"album_with_link_access": "Luba kÃĩigil, kellel on link, näha selle albumi fotosid ja isikuid.",
"albums": "Albumid",
@@ -433,6 +439,7 @@
"archive": "Arhiiv",
"archive_or_unarchive_photo": "Arhiveeri vÃĩi taasta foto",
"archive_page_no_archived_assets": "Arhiveeritud Ãŧksuseid ei leitud",
+ "archive_page_title": "Arhiveeri ({})",
"archive_size": "Arhiivi suurus",
"archive_size_description": "Seadista arhiivi suurus allalaadimiseks (GiB)",
"archived": "Arhiveeritud",
@@ -452,6 +459,8 @@
"asset_list_layout_settings_group_by": "Grupeeri Ãŧksused",
"asset_list_layout_settings_group_by_month_day": "Kuu + päev",
"asset_list_layout_sub_title": "Asetus",
+ "asset_list_settings_subtitle": "Fotoruudustiku paigutuse sätted",
+ "asset_list_settings_title": "Fotoruudustik",
"asset_offline": "Ãksus pole kättesaadav",
"asset_offline_description": "Seda välise kogu Ãŧksust ei leitud kettalt. Abi saamiseks palun vÃĩta Ãŧhendust oma Immich'i administraatoriga.",
"asset_restored_successfully": "Ãksus edukalt taastatud",
@@ -459,20 +468,29 @@
"asset_skipped_in_trash": "PrÃŧgikastis",
"asset_uploaded": "Ãleslaaditud",
"asset_uploading": "ÃleslaadimineâĻ",
+ "asset_viewer_settings_subtitle": "Halda galeriivaaturi seadeid",
+ "asset_viewer_settings_title": "Ãksuste vaatur",
"assets": "Ãksused",
"assets_added_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} lisatud",
"assets_added_to_album_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} albumisse lisatud",
"assets_added_to_name_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} lisatud {hasName, select, true {albumisse {name} } other {uude albumisse}}",
"assets_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}}",
+ "assets_deleted_permanently": "{} Ãŧksus(t) jäädavalt kustutatud",
+ "assets_deleted_permanently_from_server": "{} Ãŧksus(t) Immich'i serverist jäädavalt kustutatud",
"assets_moved_to_trash_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} liigutatud prÃŧgikasti",
"assets_permanently_deleted_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} jäädavalt kustutatud",
"assets_removed_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} eemaldatud",
+ "assets_removed_permanently_from_device": "{} Ãŧksus(t) seadmest jäädavalt eemaldatud",
"assets_restore_confirmation": "Kas oled kindel, et soovid oma prÃŧgikasti liigutatud Ãŧksused taastada? Seda ei saa tagasi vÃĩtta! Pane tähele, et sel meetodil ei saa taastada Ãŧhenduseta Ãŧksuseid.",
"assets_restored_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} taastatud",
+ "assets_restored_successfully": "{} Ãŧksus(t) edukalt taastatud",
+ "assets_trashed": "{} Ãŧksus(t) liigutatud prÃŧgikasti",
"assets_trashed_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} liigutatud prÃŧgikasti",
+ "assets_trashed_from_server": "{} Ãŧksus(t) liigutatud Immich'i serveris prÃŧgikasti",
"assets_were_part_of_album_count": "{count, plural, one {Ãksus oli} other {Ãksused olid}} juba osa albumist",
"authorized_devices": "Autoriseeritud seadmed",
"automatic_endpoint_switching_subtitle": "Ãhendu lokaalselt Ãŧle valitud WiFi-vÃĩrgu, kui see on saadaval, ja kasuta mujal alternatiivseid Ãŧhendusi",
+ "automatic_endpoint_switching_title": "Automaatne URL-i ÃŧmberlÃŧlitamine",
"back": "Tagasi",
"back_close_deselect": "Tagasi, sulge vÃĩi tÃŧhista valik",
"backup_album_selection_page_select_albums": "Vali albumid",
@@ -481,7 +499,16 @@
"backup_all": "KÃĩik",
"backup_background_service_default_notification": "Uute Ãŧksuste kontrollimineâĻ",
"backup_background_service_error_title": "Varundamise viga",
+ "backup_controller_page_background_app_refresh_disabled_content": "Taustal varundamise kasutamiseks luba rakenduse taustal värskendamine: Seaded > Ãldine > Rakenduse taustal värskendamine.",
+ "backup_controller_page_background_app_refresh_disabled_title": "Rakenduse taustal värskendamine keelatud",
+ "backup_controller_page_background_battery_info_link": "Näita mulle, kuidas",
"backup_controller_page_background_battery_info_ok": "OK",
+ "backup_controller_page_background_configure_error": "Taustateenuse seadistamine ebaÃĩnnestus",
+ "backup_controller_page_background_description": "LÃŧlita taustateenus sisse, et uusi Ãŧksuseid automaatselt varundada, ilma et peaks rakendust avama",
+ "backup_controller_page_background_is_off": "Automaatne varundamine on välja lÃŧlitatud",
+ "backup_controller_page_background_is_on": "Automaatne varundamine on sisse lÃŧlitatud",
+ "backup_controller_page_background_turn_off": "LÃŧlita taustateenus välja",
+ "backup_controller_page_background_turn_on": "LÃŧlita taustateenus sisse",
"backup_controller_page_background_wifi": "Ainult WiFi-vÃĩrgus",
"backup_controller_page_backup_sub": "Varundatud fotod ja videod",
"backup_controller_page_desc_backup": "LÃŧlita sisse esiplaanil varundamine, et rakenduse avamisel uued Ãŧksused automaatselt serverisse Ãŧles laadida.",
@@ -504,7 +531,12 @@
"bulk_trash_duplicates_confirmation": "Kas oled kindel, et soovid {count, plural, one {# dubleeritud Ãŧksuse} other {# dubleeritud Ãŧksust}} masskustutada? Sellega jäetakse alles iga grupi suurim Ãŧksus ning duplikaadid liigutatakse prÃŧgikasti.",
"buy": "Osta Immich",
"cache_settings_clear_cache_button": "TÃŧhjenda puhver",
+ "cache_settings_statistics_album": "Kogu pisipildid",
+ "cache_settings_statistics_full": "TäismÃĩÃĩdus pildid",
+ "cache_settings_statistics_shared": "Jagatud albumite pisipildid",
+ "cache_settings_statistics_thumbnail": "Pisipildid",
"cache_settings_statistics_title": "Puhvri kasutus",
+ "cache_settings_thumbnail_size": "Pisipiltide puhvri suurus ({} Ãŧksust)",
"camera": "Kaamera",
"camera_brand": "Kaamera mark",
"camera_model": "Kaamera mudel",
@@ -733,10 +765,12 @@
"failed_to_keep_this_delete_others": "Selle Ãŧksuse säilitamine ja Ãŧlejäänute kustutamine ebaÃĩnnestus",
"failed_to_load_asset": "Ãksuse laadimine ebaÃĩnnestus",
"failed_to_load_assets": "Ãksuste laadimine ebaÃĩnnestus",
+ "failed_to_load_notifications": "Teavituste laadimine ebaÃĩnnestus",
"failed_to_load_people": "Isikute laadimine ebaÃĩnnestus",
"failed_to_remove_product_key": "TootevÃĩtme eemaldamine ebaÃĩnnestus",
"failed_to_stack_assets": "Ãksuste virnastamine ebaÃĩnnestus",
"failed_to_unstack_assets": "Ãksuste eraldamine ebaÃĩnnestus",
+ "failed_to_update_notification_status": "Teavituste seisundi uuendamine ebaÃĩnnestus",
"import_path_already_exists": "See imporditee on juba olemas.",
"incorrect_email_or_password": "Vale e-posti aadress vÃĩi parool",
"paths_validation_failed": "{paths, plural, one {# tee} other {# teed}} ei valideerunud",
@@ -883,11 +917,15 @@
"group_owner": "Grupeeri omaniku kaupa",
"group_places_by": "Grupeeri kohad...",
"group_year": "Grupeeri aasta kaupa",
+ "haptic_feedback_switch": "Luba haptiline tagasiside",
+ "haptic_feedback_title": "Haptiline tagasiside",
"has_quota": "On kvoot",
"header_settings_add_header_tip": "Lisa päis",
"header_settings_field_validator_msg": "Väärtus ei saa olla tÃŧhi",
"header_settings_header_name_input": "Päise nimi",
"header_settings_header_value_input": "Päise väärtus",
+ "headers_settings_tile_subtitle": "Määra vaheserveri päised, mida rakendus peaks iga päringuga saatma",
+ "headers_settings_tile_title": "Kohandatud vaheserveri päised",
"hi_user": "Tere {name} ({email})",
"hide_all_people": "Peida kÃĩik isikud",
"hide_gallery": "Peida galerii",
@@ -989,7 +1027,12 @@
"login_form_err_http": "Palun täpsusta http:// vÃĩi https://",
"login_form_err_invalid_email": "Vigane e-posti aadress",
"login_form_err_invalid_url": "Vigane URL",
+ "login_form_err_leading_whitespace": "Eelnevad tÃŧhikud",
+ "login_form_err_trailing_whitespace": "Järgnevad tÃŧhikud",
"login_form_password_hint": "parool",
+ "login_form_save_login": "Jää sisselogituks",
+ "login_form_server_empty": "Sisesta serveri URL.",
+ "login_form_server_error": "Serveriga Ãŧhendumine ebaÃĩnnestus.",
"login_has_been_disabled": "Sisselogimine on keelatud.",
"login_password_changed_success": "Parool edukalt uuendatud",
"logout_all_device_confirmation": "Kas oled kindel, et soovid kÃĩigist seadmetest välja logida?",
@@ -1009,17 +1052,27 @@
"manage_your_devices": "Halda oma autenditud seadmeid",
"manage_your_oauth_connection": "Halda oma OAuth Ãŧhendust",
"map": "Kaart",
+ "map_assets_in_bound": "{} foto",
+ "map_assets_in_bounds": "{} fotot",
+ "map_location_dialog_yes": "Jah",
+ "map_location_picker_page_use_location": "Kasuta seda asukohta",
"map_marker_for_images": "Kaardimarker kohas {city}, {country} tehtud piltide jaoks",
"map_marker_with_image": "Kaardimarker pildiga",
"map_settings": "Kaardi seaded",
"map_settings_date_range_option_day": "Viimased 24 tundi",
+ "map_settings_date_range_option_days": "Viimased {} päeva",
"map_settings_date_range_option_year": "Viimane aasta",
+ "map_settings_date_range_option_years": "Viimased {} aastat",
"map_settings_dialog_title": "Kaardi seaded",
+ "mark_all_as_read": "Märgi kÃĩik loetuks",
+ "mark_as_read": "Märgi loetuks",
+ "marked_all_as_read": "KÃĩik märgiti loetuks",
"matches": "Ãhtivad failid",
"media_type": "Meediumi tÃŧÃŧp",
"memories": "Mälestused",
"memories_setting_description": "Halda, mida sa oma mälestustes näed",
"memories_year_ago": "Aasta tagasi",
+ "memories_years_ago": "{} aastat tagasi",
"memory": "Mälestus",
"memory_lane_title": "Mälestus {title}",
"menu": "MenÃŧÃŧ",
@@ -1034,7 +1087,10 @@
"missing": "Puuduvad",
"model": "Mudel",
"month": "Kuu",
+ "monthly_title_text_date_format": "MMMM y",
"more": "Rohkem",
+ "moved_to_archive": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} liigutatud arhiivi",
+ "moved_to_library": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} liigutatud kogusse",
"moved_to_trash": "Liigutatud prÃŧgikasti",
"multiselect_grid_edit_date_time_err_read_only": "Kirjutuskaitsega Ãŧksus(t)e kuupäeva ei saa muuta, jätan vahele",
"multiselect_grid_edit_gps_err_read_only": "Kirjutuskaitsega Ãŧksus(t)e asukohta ei saa muuta, jätan vahele",
@@ -1066,6 +1122,7 @@
"no_favorites_message": "Lisa lemmikud, et oma parimaid fotosid ja videosid kiiresti leida",
"no_libraries_message": "Lisa väline kogu oma fotode ja videote vaatamiseks",
"no_name": "Nimetu",
+ "no_notifications": "Teavitusi pole",
"no_places": "Kohti ei ole",
"no_results": "Vasteid pole",
"no_results_description": "Proovi sÃŧnonÃŧÃŧmi vÃĩi Ãŧldisemat märksÃĩna",
@@ -1073,6 +1130,9 @@
"not_in_any_album": "Pole Ãŧheski albumis",
"note_apply_storage_label_to_previously_uploaded assets": "Märkus: Et rakendada talletussilt varem Ãŧleslaaditud Ãŧksustele, käivita",
"notes": "Märkused",
+ "notification_permission_list_tile_content": "Anna luba teavituste saatmiseks.",
+ "notification_permission_list_tile_enable_button": "Luba teavitused",
+ "notification_permission_list_tile_title": "Teavituste luba",
"notification_toggle_setting_description": "Luba e-posti teel teavitused",
"notifications": "Teavitused",
"notifications_setting_description": "Halda teavitusi",
@@ -1083,6 +1143,7 @@
"offline_paths_description": "Need tulemused vÃĩivad olla pÃĩhjustatud manuaalselt kustutatud failidest, mis ei ole osa välisest kogust.",
"ok": "Ok",
"oldest_first": "Vanemad eespool",
+ "on_this_device": "Sellel seadmel",
"onboarding": "KasutuselevÃĩtt",
"onboarding_privacy_description": "Järgnevad (valikulised) funktsioonid sÃĩltuvad välistest teenustest ning neid saab igal ajal administraatori seadetes välja lÃŧlitada.",
"onboarding_theme_description": "Vali oma serverile värviteema. Saad seda hiljem seadetes muuta.",
@@ -1090,6 +1151,7 @@
"onboarding_welcome_user": "Tere tulemast, {user}",
"online": "Ãhendatud",
"only_favorites": "Ainult lemmikud",
+ "open": "Ava",
"open_in_map_view": "Ava kaardi vaates",
"open_in_openstreetmap": "Ava OpenStreetMap",
"open_the_search_filters": "Ava otsingufiltrid",
@@ -1106,6 +1168,7 @@
"partner_can_access": "{partner} pääseb ligi",
"partner_can_access_assets": "KÃĩik su fotod ja videod, välja arvatud arhiveeritud ja kustutatud",
"partner_can_access_location": "Asukohad, kus su fotod tehti",
+ "partner_list_user_photos": "Kasutaja {user} fotod",
"partner_list_view_all": "Vaata kÃĩiki",
"partner_page_partner_add_failed": "Partneri lisamine ebaÃĩnnestus",
"partner_page_select_partner": "Vali partner",
@@ -1138,6 +1201,7 @@
"permanently_deleted_asset": "Ãksus jäädavalt kustutatud",
"permanently_deleted_assets_count": "{count, plural, one {# Ãŧksus} other {# Ãŧksust}} jäädavalt kustutatud",
"permission_onboarding_back": "Tagasi",
+ "permission_onboarding_continue_anyway": "Jätka sellegipoolest",
"person": "Isik",
"person_birthdate": "SÃŧndinud {date}",
"person_hidden": "{name}{hidden, select, true { (peidetud)} other {}}",
@@ -1155,6 +1219,7 @@
"play_motion_photo": "Esita liikuv foto",
"play_or_pause_video": "Esita vÃĩi peata video",
"port": "Port",
+ "preferences_settings_subtitle": "Halda rakenduse eelistusi",
"preferences_settings_title": "Eelistused",
"preset": "Eelseadistus",
"preview": "Eelvaade",
@@ -1292,6 +1357,7 @@
"search_camera_model": "Otsi kaamera mudelit...",
"search_city": "Otsi linna...",
"search_country": "Otsi riiki...",
+ "search_filter_apply": "Rakenda filter",
"search_filter_camera_title": "Vali kaamera tÃŧÃŧp",
"search_filter_date": "Kuupäev",
"search_filter_date_interval": "{start} kuni {end}",
@@ -1338,6 +1404,7 @@
"select_keep_all": "Vali jäta kÃĩik alles",
"select_library_owner": "Vali kogu omanik",
"select_new_face": "Vali uus nägu",
+ "select_person_to_tag": "Vali sildistamiseks isik",
"select_photos": "Vali fotod",
"select_trash_all": "Vali kÃĩik prÃŧgikasti",
"select_user_for_sharing_page_err_album": "Albumi lisamine ebaÃĩnnestus",
@@ -1359,13 +1426,26 @@
"set_date_of_birth": "Määra sÃŧnnikuupäev",
"set_profile_picture": "Sea profiilipilt",
"set_slideshow_to_fullscreen": "Kuva slaidiesitlus täisekraanil",
+ "setting_image_viewer_help": "Detailivaatur laadib kÃĩigepealt väikese pisipildi, seejärel keskmises mÃĩÃĩdus eelvaate (kui lubatud) ja lÃĩpuks originaalpildi (kui lubatud).",
+ "setting_image_viewer_preview_subtitle": "Luba keskmise resolutsiooniga pildi laadimine. Keela, et laadida kohe originaalpilt vÃĩi kasutada ainult pisipilti.",
+ "setting_image_viewer_preview_title": "Laadi pildi eelvaade",
+ "setting_image_viewer_title": "Pildid",
"setting_languages_apply": "Rakenda",
+ "setting_languages_subtitle": "Muuda rakenduse keelt",
"setting_languages_title": "Keeled",
+ "setting_notifications_notify_hours": "{} tundi",
"setting_notifications_notify_immediately": "kohe",
+ "setting_notifications_notify_minutes": "{} minutit",
"setting_notifications_notify_never": "mitte kunagi",
+ "setting_notifications_notify_seconds": "{} sekundit",
+ "setting_notifications_single_progress_title": "Kuva taustal varundamise detailset edenemist",
+ "setting_notifications_subtitle": "Halda oma teavituste eelistusi",
+ "setting_notifications_total_progress_title": "Kuva taustal varundamise Ãŧldist edenemist",
"settings": "Seaded",
"settings_saved": "Seaded salvestatud",
"share": "Jaga",
+ "share_add_photos": "Lisa fotosid",
+ "share_assets_selected": "{} valitud",
"shared": "Jagatud",
"shared_album_section_people_action_error": "Viga albumist eemaldamisel/lahkumisel",
"shared_album_section_people_action_leave": "Eemalda kasutaja albumist",
@@ -1377,10 +1457,25 @@
"shared_from_partner": "Fotod partnerilt {partner}",
"shared_link_app_bar_title": "Jagatud lingid",
"shared_link_clipboard_copied_massage": "Kopeeritud lÃĩikelauale",
+ "shared_link_clipboard_text": "Link: {}\nParool: {}",
"shared_link_create_error": "Viga jagatud lingi loomisel",
"shared_link_edit_expire_after_option_day": "1 päev",
+ "shared_link_edit_expire_after_option_days": "{} päeva",
"shared_link_edit_expire_after_option_hour": "1 tund",
+ "shared_link_edit_expire_after_option_hours": "{} tundi",
"shared_link_edit_expire_after_option_minute": "1 minut",
+ "shared_link_edit_expire_after_option_minutes": "{} minutit",
+ "shared_link_edit_expire_after_option_months": "{} kuud",
+ "shared_link_edit_expire_after_option_year": "{} aasta",
+ "shared_link_expires_day": "Aegub {} päeva pärast",
+ "shared_link_expires_days": "Aegub {} päeva pärast",
+ "shared_link_expires_hour": "Aegub {} tunni pärast",
+ "shared_link_expires_hours": "Aegub {} tunni pärast",
+ "shared_link_expires_minute": "Aegub {} minuti pärast",
+ "shared_link_expires_minutes": "Aegub {} minuti pärast",
+ "shared_link_expires_never": "Ei aegu",
+ "shared_link_expires_second": "Aegub {} sekundi pärast",
+ "shared_link_expires_seconds": "Aegub {} sekundi pärast",
"shared_link_info_chip_metadata": "EXIF",
"shared_link_manage_links": "Halda jagatud linke",
"shared_link_options": "Jagatud lingi valikud",
@@ -1475,6 +1570,10 @@
"theme": "Teema",
"theme_selection": "Teema valik",
"theme_selection_description": "Sea automaatselt hele vÃĩi tume teema vastavalt veebilehitseja eelistustele",
+ "theme_setting_colorful_interface_subtitle": "Rakenda taustapindadele primaarne värv.",
+ "theme_setting_colorful_interface_title": "Värviline kasutajaliides",
+ "theme_setting_image_viewer_quality_subtitle": "Kohanda detailvaaturi kvaliteeti",
+ "theme_setting_image_viewer_quality_title": "Pildivaaturi kvaliteet",
"theme_setting_primary_color_title": "PÃĩhivärv",
"theme_setting_system_primary_color_title": "Kasuta sÃŧsteemset värvi",
"theme_setting_system_theme_switch": "Automaatne (järgi sÃŧsteemi seadet)",
@@ -1497,6 +1596,7 @@
"trash_all": "KÃĩik prÃŧgikasti",
"trash_count": "Liiguta {count, number} prÃŧgikasti",
"trash_delete_asset": "Kustuta Ãŧksus",
+ "trash_emptied": "PrÃŧgikast tÃŧhjendatud",
"trash_no_results_message": "Siia ilmuvad prÃŧgikasti liigutatud fotod ja videod.",
"trash_page_delete_all": "Kustuta kÃĩik",
"trash_page_restore_all": "Taasta kÃĩik",
@@ -1557,6 +1657,7 @@
"version": "Versioon",
"version_announcement_closing": "Sinu sÃĩber, Alex",
"version_announcement_message": "Hei! Saadaval on uus Immich'i versioon. Palun vÃĩta aega, et lugeda väljalasketeadet ning veendu, et su seadistus on ajakohane, et vältida konfiguratsiooniprobleeme, eriti kui kasutad WatchTower'it vÃĩi muud mehhanismi, mis Immich'it automaatselt uuendab.",
+ "version_announcement_overlay_title": "Uus serveri versioon saadaval đ",
"version_history": "Versiooniajalugu",
"version_history_item": "Versioon {version} paigaldatud {date}",
"video": "Video",
diff --git a/i18n/fa.json b/i18n/fa.json
index a6cca739b4..0b50274f4d 100644
--- a/i18n/fa.json
+++ b/i18n/fa.json
@@ -153,20 +153,13 @@
"oauth_auto_register": "ØĢبØĒ ØŽŲØ¯ÚŠØ§Øą",
"oauth_auto_register_description": "ÚŠØ§ØąØ¨ØąØ§Ų ØŦØ¯ÛØ¯ ØąØ§ ŲžØŗ Ø§Ø˛ ŲØąŲد با OAuth Ø¨Ų ØˇŲØą ØŽŲØ¯ÚŠØ§Øą ØĢبØĒ ŲØ§Ų
ÚŠŲ",
"oauth_button_text": "Ų
ØĒŲ Ø¯ÚŠŲ
Ų",
- "oauth_client_id": "Ø´ŲØ§ØŗŲ ÚŠØ§ØąØ¨Øą",
- "oauth_client_secret": "Ø´ŲØ§ØŗŲ Ų
ØØąŲ
اŲŲ ÚŠØ§ØąØ¨Øą",
"oauth_enable_description": "ŲØąŲد ØĒŲØŗØˇ OAuth",
- "oauth_issuer_url": "ŲØ´Ø§ŲÛ ŲØ¨ ØĩØ§Ø¯Øą ÚŠŲŲØ¯Ų",
"oauth_mobile_redirect_uri": "ØĒØēÛÛØą Ų
ØŗÛØą URI Ų
ŲØ¨Ø§ÛŲ",
"oauth_mobile_redirect_uri_override": "ØĒØēÛÛØą Ų
ØŗÛØą URI ØĒŲŲŲ ŲŲ
ØąØ§Ų",
"oauth_mobile_redirect_uri_override_description": "Ø˛Ų
اŲÛ ÚŠŲ 'app.immich:/' ÛÚŠ URI ŲžØąØ´ ŲØ§Ų
ØšØĒØ¨Øą Ø§ØŗØĒØ ŲØšØ§Ų ÚŠŲÛØ¯.",
- "oauth_profile_signing_algorithm": "اŲÚ¯ŲØąÛØĒŲ
اŲ
ØļØ§Û ŲžØąŲŲØ§ÛŲ",
- "oauth_profile_signing_algorithm_description": "اŲÚ¯ŲØąÛØĒŲ
Ų
بਝ Ø§ØŗØĒŲØ§Ø¯Ų Ø¨ØąØ§Û Ø§Ų
ØļØ§Û ŲžØąŲŲØ§ÛŲ ÚŠØ§ØąØ¨Øą.",
- "oauth_scope": "Ų
ØØ¯ŲدŲ",
"oauth_settings": "OAuth",
"oauth_settings_description": "Ų
Ø¯ÛØąÛØĒ ØĒŲØ¸ÛŲ
اØĒ ŲØąŲد Ø¨Ų ØŗÛØŗØĒŲ
OAuth",
"oauth_settings_more_details": "Ø¨ØąØ§Û ØŦØ˛ØĻÛØ§ØĒ Ø¨ÛØ´ØĒØą Ø¯Øą Ų
بਝ اÛŲ ŲÛÚÚ¯ÛØ Ø¨Ų Ų
ØŗØĒŲØ¯Ø§ØĒ Ų
ØąØ§ØŦØšŲ ÚŠŲÛØ¯.",
- "oauth_signing_algorithm": "اŲÚ¯ŲØąÛØĒŲ
اŲ
Øļا",
"oauth_storage_label_claim": "Ø¯ØąØŽŲØ§ØŗØĒ Ø¨ØąÚØŗØ¨ ŲØļØ§Û Ø°ØŽÛØąŲ ØŗØ§Ø˛Û",
"oauth_storage_label_claim_description": "ØĒŲØ¸ÛŲ
ØŽŲØ¯ÚŠØ§Øą Ø¨ØąÚØŗØ¨ ŲØļØ§Û Ø°ØŽÛØąŲâØŗØ§Ø˛Û ÚŠØ§ØąØ¨Øą Ø¨Ų Ų
ŲØ¯Ø§Øą Ø¯ØąØŽŲØ§ØŗØĒ شدŲ.",
"oauth_storage_quota_claim": "Ø¯ØąØŽŲØ§ØŗØĒ ØŗŲŲ
ÛŲ ŲØļØ§Û Ø°ØŽÛØąŲ ØŗØ§Ø˛Û",
diff --git a/i18n/fi.json b/i18n/fi.json
index 8e64c372de..e57c758419 100644
--- a/i18n/fi.json
+++ b/i18n/fi.json
@@ -14,7 +14,7 @@
"add_a_location": "Lisää sijainti",
"add_a_name": "Lisää nimi",
"add_a_title": "Lisää otsikko",
- "add_endpoint": "Add endpoint",
+ "add_endpoint": "Lisää päätepiste",
"add_exclusion_pattern": "Lisää poissulkemismalli",
"add_import_path": "Lisää tuontipolku",
"add_location": "Lisää sijainti",
@@ -28,7 +28,7 @@
"add_to_album_bottom_sheet_already_exists": "Kohde on jo albumissa {album}",
"add_to_shared_album": "Lisää jaettuun albumiin",
"add_url": "Lisää URL",
- "added_to_archive": "Arkistoitu",
+ "added_to_archive": "Lisätty arkistoon",
"added_to_favorites": "Lisätty suosikkeihin",
"added_to_favorites_count": "{count, number} lisätty suosikkeihin",
"admin": {
@@ -39,12 +39,13 @@
"authentication_settings_disable_all": "Haluatko varmasti poistaa kaikki kirjautumistavat käytÃļstä? Kirjautuminen on tämän jälkeen mahdotonta.",
"authentication_settings_reenable": "Ottaaksesi uudestaan käyttÃļÃļn, käytä Palvelin Komentoa.",
"background_task_job": "TaustatyÃļt",
- "backup_database": "Varmuuskopioi Tietokanta",
- "backup_database_enable_description": "Ota käyttÃļÃļn tietokannan varmuuskopiointi",
- "backup_keep_last_amount": "Varmuuskopioiden lukumäärä",
- "backup_settings": "Varmuuskopioinnin asetukset",
- "backup_settings_description": "Hallitse tietokannan varmuuskopioiden asetuksia",
+ "backup_database": "Luo tietokantavedos",
+ "backup_database_enable_description": "Ota tietokantavedokset käyttÃļÃļn",
+ "backup_keep_last_amount": "Säilytettävien tietokantavedosten määrä",
+ "backup_settings": "Tietokantavedosten asetukset",
+ "backup_settings_description": "Hallitse tietokannan vedosasetuksia. Huomautus: Näitä tehtäviä ei valvota, eikä sinulle ilmoiteta epäonnistumisista.",
"check_all": "Tarkista kaikki",
+ "cleanup": "Siivous",
"cleared_jobs": "TyÃļn {job} tehtävät tyhjennetty",
"config_set_by_file": "Asetukset on tällä hetkellä määritelty tiedostosta",
"confirm_delete_library": "Haluatko varmasti poistaa kirjaston {library}?",
@@ -69,8 +70,13 @@
"forcing_refresh_library_files": "Pakotetaan virkistämään kaikkien kirjastojen tiedostot",
"image_format": "Tiedostomuoto",
"image_format_description": "WebP tuottaa pienempiä tiedostoja kuin JPEG, mutta on hitaampi pakata.",
+ "image_fullsize_description": "Täysikokoinen kuva ilman metatietoja, käytetään zoomattaessa",
+ "image_fullsize_enabled": "Ota käyttÃļÃļn täysikokoisen kuvan luonti",
+ "image_fullsize_enabled_description": "Luo täysikokoinen kuva ei-verkkoystävällisille formaateille. Jos \"Suosi upotettua esikatselua\" on käytÃļssä, upotettuja esikatseluja käytetään suoraan ilman muuntamista. Ei vaikuta verkkoyhteensopiviin formaatteihin, kuten JPEG:hen.",
+ "image_fullsize_quality_description": "Täysikokoisen kuvan laatualue 1â100. Suurempi arvo on parempi, mutta johtaa suurempiin tiedostoihin.",
+ "image_fullsize_title": "Täysikokoisen kuvan asetukset",
"image_prefer_embedded_preview": "Suosi upotettua esikatselua",
- "image_prefer_embedded_preview_setting_description": "Käytä RAW-kuvissa upotettuja esikatselukuvia aina kun mahdollista. Tämä voi joissain kuvissa tuottaa tarkemmat värit, mutta esikatselun laatu on riippuvainen kamerasta ja kuvassa voi olla enemmän pakkauksesta aiheutuvia häiriÃļitä.",
+ "image_prefer_embedded_preview_setting_description": "Käytä RAW-kuviin upotettuja esikatseluja kuvankäsittelyn syÃļtteenä ja aina kun mahdollista. Tämä voi tarjota tarkempia värejä joillekin kuville, mutta esikatselun laatu riippuu kamerasta ja kuvassa voi olla enemmän pakkausartefakteja.",
"image_prefer_wide_gamut": "Suosi laajaa väriskaalaa",
"image_prefer_wide_gamut_setting_description": "Käytä Display P3 -nimiavaruutta pikkukuville. Tämä säilÃļÃļ värien vivahteet paremmin, mutta kuvat saattavat näyttää erilaisilta vanhemmissa laitteissa. sRGB-kuvat pidetään muuttumattomina, jottei värit muuttuisi.",
"image_preview_description": "Keskikokoinen kuva, josta metatiedot on poistettu, käytetään yksittäisen resurssin katseluun ja koneoppimiseen",
@@ -100,11 +106,11 @@
"library_scanning_enable_description": "Ota käyttÃļÃļn ajoittaiset kirjastojen skannaukset",
"library_settings": "Ulkoinen kirjasto",
"library_settings_description": "Hallitse ulkoisen kirjaston asetuksia",
- "library_tasks_description": "Suorita kirjastotoimintoja",
+ "library_tasks_description": "Skannaa ulkoisia kirjastoja uusien ja/tai muutoksien varalta",
"library_watching_enable_description": "Tarkkaile tiedostojen muuttumisia ulkoisissa kirjastoissa",
"library_watching_settings": "Kirjaston tarkkailu (KOKEELLINEN)",
"library_watching_settings_description": "Tarkkaile muuttuvia tiedostoja automaattisesti",
- "logging_enable_description": "Ota käyttÃļÃļn lokitus",
+ "logging_enable_description": "Ota lokikirjaus käyttÃļÃļn",
"logging_level_description": "Kun käytÃļssä, mitä lokituksen tasoa käytetään.",
"logging_settings": "Lokit",
"machine_learning_clip_model": "CLIP-malli",
@@ -135,7 +141,7 @@
"machine_learning_smart_search_description": "Etsi kuvia merkityksellisemmin käyttäen CLIP-upotuksia",
"machine_learning_smart_search_enabled": "Ota käyttÃļÃļn älykäs haku",
"machine_learning_smart_search_enabled_description": "Jos ei käytÃļssä, kuvia ei koodata älykkäälle etsinnälle.",
- "machine_learning_url_description": "Koneoppimispalvelimen URL. MIkäli URL:liä on useampi kuin yksi, järjestelmä yrittää ottaa yhteyden jokaiseen erikseen järjestyksessä ensimmäisestä viimeiseen, kunnes pyyntÃļÃļn vastataan onnistuneesti.",
+ "machine_learning_url_description": "Koneoppimispalvelimen URL-osoite. Jos lisätään useampi kuin yksi URL-osoite, kutakin osoitetta kohden yritetään kerran, kunnes yksi niistä vastaa. Yritykset tehdään järjestyksessä ensimmäisestä viimeiseen. Palvelimet, jotka eivät vastaa, ohitetaan tilapäisesti, kunnes ne ovat taas tavoitettavissa.",
"manage_concurrency": "Hallitse yhtäaikaisia toimintoja",
"manage_log_settings": "Hallitse lokien asetuksia",
"map_dark_style": "Tumma teema",
@@ -151,13 +157,15 @@
"map_settings": "Kartta",
"map_settings_description": "Hallitse kartan asetuksia",
"map_style_description": "style.json-karttateeman URL",
+ "memory_cleanup_job": "Muistin siivous",
+ "memory_generate_job": "Muistin generointi",
"metadata_extraction_job": "Kerää metadata",
"metadata_extraction_job_description": "Poimi metatiedot aineistoista, kuten GPS, kasvot ja resoluutio",
"metadata_faces_import_setting": "Ota käyttÃļÃļn kasvojen tuonti",
"metadata_faces_import_setting_description": "Tuo kasvot kuvan EXIF- ja kylkiäistiedostoista",
"metadata_settings": "Metatietoasetukset",
"metadata_settings_description": "Hallitse metatietoja",
- "migration_job": "Migrointi",
+ "migration_job": "Migraatio",
"migration_job_description": "Migroi aineiston pikkukuvat ja kasvot uusimpaan kansiorakenteeseen",
"no_paths_added": "Polkuja ei asetettu",
"no_pattern_added": "Kaavoja ei lisättynä",
@@ -184,26 +192,22 @@
"oauth_auto_register": "Automaattinen rekisterÃļinti",
"oauth_auto_register_description": "RekisterÃļi uudet OAuth:lla kirjautuvat käyttäjät automaattisesti",
"oauth_button_text": "Painikkeen teksti",
- "oauth_client_id": "Client ID",
- "oauth_client_secret": "Asiakassalaisuusavain",
+ "oauth_client_secret_description": "Vaaditaan, jos OAuth-palveluntarjoaja ei tue PKCE:tä (Proof Key for Code Exchange)",
"oauth_enable_description": "Kirjaudu käyttäen OAuthia",
- "oauth_issuer_url": "Toimitsijan URL",
"oauth_mobile_redirect_uri": "Mobiilin uudellenohjaus-URI",
"oauth_mobile_redirect_uri_override": "Ohita mobiilin uudelleenohjaus-URI",
"oauth_mobile_redirect_uri_override_description": "Ota käyttÃļÃļn kun OAuth tarjoaja ei salli mobiili URI:a, kuten '{callback}'",
- "oauth_profile_signing_algorithm": "Profiilin allekirjoitusalgoritmi",
- "oauth_profile_signing_algorithm_description": "Algoritmi, jota käytetään käyttäjäprofiilin allekirjoittamiseen.",
- "oauth_scope": "Skooppi (Scope)",
"oauth_settings": "OAuth",
"oauth_settings_description": "Hallitse OAuth-kirjautumisen asetuksia",
"oauth_settings_more_details": "Saadaksesi lisätietoja tästä toiminnosta, katso dokumentaatio.",
- "oauth_signing_algorithm": "Allekirjoitusalgoritmi",
"oauth_storage_label_claim": "Tallennustilan nimikkeen valtuutusväittämä (claim)",
"oauth_storage_label_claim_description": "Määriä käyttäjän tallennustilan nimike tämän väittämän arvoksi automaattisesti.",
"oauth_storage_quota_claim": "Tallennustilan kiintiÃļn väittämä (claim)",
"oauth_storage_quota_claim_description": "Aseta automaattisesti käyttäjien tallennustilan määrä tähän arvoon.",
"oauth_storage_quota_default": "Tallennustilan oletuskiintiÃļ (Gt)",
"oauth_storage_quota_default_description": "Käytettävä kiintiÃļn määrä gigatavuissa, käytetään kun väittämää ei ole annettu (0 rajoittamaton kiintiÃļ).",
+ "oauth_timeout": "PyynnÃļn aikakatkaisu",
+ "oauth_timeout_description": "PyyntÃļjen aikakatkaisu millisekunteina",
"offline_paths": "Offline-tilan polut",
"offline_paths_description": "Nämä tulokset voivat johtua tiedostoista, jotka on käsin poistettu, eivätkä ole ulkoisessa kirjastossa.",
"password_enable_description": "Kirjaudu käyttäen sähkÃļpostiosoitetta ja salasanaa",
@@ -243,7 +247,7 @@
"storage_template_hash_verification_enabled_description": "Ottaa käyttÃļÃļn tarkistussummien laskennan. Ãlä poista käytÃļstä, ellet ole aivan varma seurauksista",
"storage_template_migration": "Tallennustilan mallien migraatio",
"storage_template_migration_description": "Käytä nykyistä {template}a aikaisemmin lähetettyihin kohteisiin",
- "storage_template_migration_info": "Malli vaikuttaa vain uusiin kohteisiin. Käyttääksesi mallia jo olemassa oleviin kohteisiin, aja {job}.",
+ "storage_template_migration_info": "Tallennusmalli muuntaa kaikki tiedostopäätteet pieniksi kirjaimiksi. Mallipohjan muutokset koskevat vain uusia resursseja. Jos haluat käyttää mallipohjaa takautuvasti aiemmin ladattuihin resursseihin, suorita {job}.",
"storage_template_migration_job": "Tallennustilan mallin muutostyÃļ",
"storage_template_more_details": "Saadaksesi lisätietoa tästä ominaisuudesta, katso Tallennustilan Mallit sekä mihin se vaikuttaa ",
"storage_template_onboarding_description": "Kun tämä ominaisuus on käytÃļssä, se järjestää tiedostot automaattisesti käyttäjän määrittämän mallin perusteella. Vakausongelmien vuoksi ominaisuus on oletuksena poistettu käytÃļstä. Lisätietoja on dokumentaatiossa.",
@@ -268,7 +272,7 @@
"theme_settings": "Teeman asetukset",
"theme_settings_description": "Kustomoi Immichin web-käyttÃļliittymää",
"these_files_matched_by_checksum": "Näillä tiedostoilla on yhteinen tarkistussumma",
- "thumbnail_generation_job": "Generoi pikkukuvat",
+ "thumbnail_generation_job": "Luo pikkukuvat",
"thumbnail_generation_job_description": "Generoi isot, pienet sekä sumeat pikkukuvat jokaisesta aineistosta, kuten myÃļs henkilÃļistä",
"transcoding_acceleration_api": "Kiihdytysrajapinta",
"transcoding_acceleration_api_description": "Rajapinta, jolla keskustellaan laittesi kanssa nopeuttaaksemme koodausta. Tämä asetus on paras mahdollinen: Mikäli ongelmia ilmenee, palataan käyttämään ohjelmistopohjaista koodausta. VP9 voi toimia tai ei, riippuen laitteistosi kokoonpanosta.",
@@ -319,7 +323,7 @@
"transcoding_settings_description": "Hallitse, mitkä videot transkoodataan ja miten niitä käsitellään",
"transcoding_target_resolution": "Kohderesoluutio",
"transcoding_target_resolution_description": "Korkeampi resoluutio on tarkempi, mutta kestää kauemmin enkoodata, vie enemmän tilaa ja voi hidastaa sovelluksen responsiivisuutta.",
- "transcoding_temporal_aq": "Temporal AQ",
+ "transcoding_temporal_aq": "Väliaikainen AQ",
"transcoding_temporal_aq_description": "Vaikuttaa vain NVENC:lle. Parantaa laatua kohtauksissa, joissa on paljon yksityiskohtia ja vähän liikettä. Ei välttämättä ole yhteensopiva vanhempien laitteiden kanssa.",
"transcoding_threads": "Säikeet",
"transcoding_threads_description": "Korkeampi arvo nopeuttaa enkoodausta, mutta vie tilaa palvelimen muilta tehtäviltä. Tämä arvo ei tulisi olla suurempi mitä suorittimen ytimien määrä. Suurin mahdollinen käyttÃļ, mikäli arvo on 0.",
@@ -363,13 +367,17 @@
"admin_password": "Ylläpitäjän salasana",
"administration": "Ylläpito",
"advanced": "Edistyneet",
- "advanced_settings_log_level_title": "Lokitaso: {}",
+ "advanced_settings_enable_alternate_media_filter_subtitle": "Käytä tätä vaihtoehtoa suodattaaksesi mediaa synkronoinnin aikana vaihtoehtoisten kriteerien perusteella. Kokeile tätä vain, jos sovelluksessa on ongelmia kaikkien albumien tunnistamisessa.",
+ "advanced_settings_enable_alternate_media_filter_title": "[KOKEELLINEN] Käytä vaihtoehtoisen laitteen albumin synkronointisuodatinta",
+ "advanced_settings_log_level_title": "Kirjaustaso: {}",
"advanced_settings_prefer_remote_subtitle": "Jotkut laitteet ovat erittäin hitaita lataamaan esikatselukuvia laitteen kohteista. Aktivoi tämä asetus käyttääksesi etäkuvia.",
"advanced_settings_prefer_remote_title": "Suosi etäkuvia",
- "advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request",
+ "advanced_settings_proxy_headers_subtitle": "Määritä välityspalvelimen otsikot(proxy headers), jotka Immichin tulisi lähettää jokaisen verkkopyynnÃļn mukana",
"advanced_settings_proxy_headers_title": "Proxy Headers",
"advanced_settings_self_signed_ssl_subtitle": "Ohita SSL sertifikaattivarmennus palvelimen päätepisteellä. Vaaditaan self-signed -sertifikaateissa.",
"advanced_settings_self_signed_ssl_title": "Salli self-signed SSL -sertifikaatit",
+ "advanced_settings_sync_remote_deletions_subtitle": "Poista tai palauta kohde automaattisesti tällä laitteella, kun kyseinen toiminto suoritetaan verkossa",
+ "advanced_settings_sync_remote_deletions_title": "Synkronoi etäpoistot [KOKEELLINEN]",
"advanced_settings_tile_subtitle": "Edistyneen käyttäjän asetukset",
"advanced_settings_troubleshooting_subtitle": "Ota vianetsinnän lisäominaisuudet käyttÃļÃļn",
"advanced_settings_troubleshooting_title": "Vianetsintä",
@@ -393,7 +401,7 @@
"album_share_no_users": "Näyttää että olet jakanut tämän albumin kaikkien kanssa, tai sinulla ei ole käyttäjiä joille jakaa.",
"album_thumbnail_card_item": "1 kohde",
"album_thumbnail_card_items": "{} kohdetta",
- "album_thumbnail_card_shared": "Jaettu",
+ "album_thumbnail_card_shared": " ¡ Jaettu",
"album_thumbnail_shared_by": "Jakanut {}",
"album_updated": "Albumi päivitetty",
"album_updated_setting_description": "Saa sähkÃļpostia kun jaetussa albumissa on uutta sisältÃļä",
@@ -418,6 +426,7 @@
"allow_edits": "Salli muutokset",
"allow_public_user_to_download": "Salli julkisten käyttäjien ladata tiedostoja",
"allow_public_user_to_upload": "Salli julkisten käyttäjien lähettää tiedostoja",
+ "alt_text_qr_code": "QR-koodi",
"anti_clockwise": "Vastapäivään",
"api_key": "API-avain",
"api_key_description": "Tämä arvo näytetään vain kerran. Varmista, että olet kopioinut sen ennen kuin suljet ikkunan.",
@@ -434,7 +443,7 @@
"archive_page_title": "Arkisto ({})",
"archive_size": "Arkiston koko",
"archive_size_description": "Määritä arkiston koko latauksissa (Gt)",
- "archived": "Archived",
+ "archived": "Arkistoitu",
"archived_count": "{count, plural, other {Arkistoitu #}}",
"are_these_the_same_person": "Ovatko he sama henkilÃļ?",
"are_you_sure_to_do_this": "Haluatko varmasti tehdä tämän?",
@@ -456,38 +465,38 @@
"asset_list_settings_title": "Kuvaruudukko",
"asset_offline": "Aineisto offline-tilassa",
"asset_offline_description": "Tätä ulkoista resurssia ei enää lÃļydy levyltä. Ole hyvä ja ota yhteyttä Immich-järjestelmänvalvojaan saadaksesi apua.",
- "asset_restored_successfully": "Asset restored successfully",
+ "asset_restored_successfully": "Kohde palautettu onnistuneesti",
"asset_skipped": "Ohitettu",
"asset_skipped_in_trash": "Roskakorissa",
"asset_uploaded": "Lähetetty",
- "asset_uploading": "LähetetäänâĻ",
- "asset_viewer_settings_subtitle": "Manage your gallery viewer settings",
+ "asset_uploading": "LadataanâĻ",
+ "asset_viewer_settings_subtitle": "Galleriakatseluohjelman asetusten hallinta",
"asset_viewer_settings_title": "Katselin",
"assets": "kohdetta",
"assets_added_count": "Lisätty {count, plural, one {# kohde} other {# kohdetta}}",
"assets_added_to_album_count": "Albumiin lisätty {count, plural, one {# kohde} other {# kohdetta}}",
"assets_added_to_name_count": "Lisätty {count, plural, one {# kohde} other {# kohdetta}} {hasName, select, true {{name} } other {uuteen albumiin}}",
"assets_count": "{count, plural, one {# media} other {# mediaa}}",
- "assets_deleted_permanently": "{} asset(s) deleted permanently",
- "assets_deleted_permanently_from_server": "{} asset(s) deleted permanently from the Immich server",
+ "assets_deleted_permanently": "{} kohdetta poistettu pysyvästi",
+ "assets_deleted_permanently_from_server": "{} objektia poistettu pysyvästi Immich-palvelimelta",
"assets_moved_to_trash_count": "Siirretty {count, plural, one {# media} other {# mediaa}} roskakoriin",
"assets_permanently_deleted_count": "{count, plural, one {# media} other {# mediaa}} poistettu pysyvästi",
"assets_removed_count": "{count, plural, one {# media} other {# mediaa}} poistettu",
- "assets_removed_permanently_from_device": "{} asset(s) removed permanently from your device",
+ "assets_removed_permanently_from_device": "{} kohdetta on poistettu pysyvästi laitteeltasi",
"assets_restore_confirmation": "Haluatko varmasti palauttaa kaikki roskakoriisi siirretyt resurssit? Tätä toimintoa ei voi peruuttaa! Huomaa, että offline-resursseja ei voida palauttaa tällä tavalla.",
"assets_restored_count": "{count, plural, one {# media} other {# mediaa}} palautettu",
- "assets_restored_successfully": "{} asset(s) restored successfully",
- "assets_trashed": "{} asset(s) trashed",
+ "assets_restored_successfully": "{} kohdetta palautettu onnistuneesti",
+ "assets_trashed": "{} kohdetta siirretty roskakoriin",
"assets_trashed_count": "{count, plural, one {# media} other {# mediaa}} siirretty roskakoriin",
- "assets_trashed_from_server": "{} asset(s) trashed from the Immich server",
+ "assets_trashed_from_server": "{} kohdetta siirretty roskakoriin Immich-palvelimelta",
"assets_were_part_of_album_count": "{count, plural, one {Media oli} other {Mediat olivat}} jo albumissa",
"authorized_devices": "Valtuutetut laitteet",
- "automatic_endpoint_switching_subtitle": "Connect locally over designated Wi-Fi when available and use alternative connections elsewhere",
- "automatic_endpoint_switching_title": "Automatic URL switching",
+ "automatic_endpoint_switching_subtitle": "Yhdistä paikallisesti nimetyn Wi-Fi-yhteyden kautta, kun se on saatavilla, ja käytä vaihtoehtoisia yhteyksiä muualla",
+ "automatic_endpoint_switching_title": "Automaattinen URL-osoitteen vaihto",
"back": "Takaisin",
"back_close_deselect": "Palaa, sulje tai poista valinnat",
- "background_location_permission": "Background location permission",
- "background_location_permission_content": "In order to switch networks when running in the background, Immich must *always* have precise location access so the app can read the Wi-Fi network's name",
+ "background_location_permission": "Taustasijainnin käyttÃļoikeus",
+ "background_location_permission_content": "Jotta sovellus voi vaihtaa verkkoa taustalla toimiessaan, Immichillä on *aina* oltava pääsy tarkkaan sijaintiin, jotta se voi lukea Wi-Fi-verkon nimen",
"backup_album_selection_page_albums_device": "Laitteen albumit ({})",
"backup_album_selection_page_albums_tap": "Napauta sisällyttääksesi, kaksoisnapauta jättääksesi pois",
"backup_album_selection_page_assets_scatter": "Kohteet voivat olla hajaantuneina useisiin albumeihin. Albumeita voidaan sisällyttää varmuuskopiointiin tai jättää siitä pois.",
@@ -495,15 +504,15 @@
"backup_album_selection_page_selection_info": "Valintatiedot",
"backup_album_selection_page_total_assets": "Uniikkeja kohteita yhteensä",
"backup_all": "Kaikki",
- "backup_background_service_backup_failed_message": "Kohteiden varmuuskopiointi epäonnistui. Yritetään uudelleen...",
- "backup_background_service_connection_failed_message": "Palvelimeen ei saatu yhteyttä. Yritetään uudelleen...",
+ "backup_background_service_backup_failed_message": "Kohteiden varmuuskopiointi epäonnistui. Yritetään uudelleenâĻ",
+ "backup_background_service_connection_failed_message": "Palvelimeen ei saatu yhteyttä. Yritetään uudelleenâĻ",
"backup_background_service_current_upload_notification": "Lähetetään {}",
- "backup_background_service_default_notification": "Tarkistetaan uusia kohteita...",
+ "backup_background_service_default_notification": "Tarkistetaan uusia kohteitaâĻ",
"backup_background_service_error_title": "Virhe varmuuskopioinnissa",
- "backup_background_service_in_progress_notification": "Varmuuskopioidaan kohteita...",
- "backup_background_service_upload_failure_notification": "Lähetys palvelimelle epäonnistui {}",
+ "backup_background_service_in_progress_notification": "Varmuuskopioidaan kohteitaâĻ",
+ "backup_background_service_upload_failure_notification": "Lähetys epäonnistui {}",
"backup_controller_page_albums": "Varmuuskopioi albumit",
- "backup_controller_page_background_app_refresh_disabled_content": "Salli sovelluksen päivittäminen taustalla suorittaaksesi varmuuskopiointia taustalla: Asetukset > Yleiset > Appien päivitys taustalla",
+ "backup_controller_page_background_app_refresh_disabled_content": "Salli sovelluksen päivittäminen taustalla suorittaaksesi varmuuskopiointia taustalla: Asetukset > Yleiset > Appien päivitys taustalla.",
"backup_controller_page_background_app_refresh_disabled_title": "Sovelluksen päivittäminen taustalla on pois päältä",
"backup_controller_page_background_app_refresh_enable_button_text": "Siirry asetuksiin",
"backup_controller_page_background_battery_info_link": "Näytä minulle miten",
@@ -524,9 +533,9 @@
"backup_controller_page_backup_sub": "Varmuuskopioidut kuvat ja videot",
"backup_controller_page_created": "Luotu: {}",
"backup_controller_page_desc_backup": "Kytke varmuuskopiointi päälle lähettääksesi uudet kohteet palvelimelle automaattisesti.",
- "backup_controller_page_excluded": "Jätetty pois: ",
+ "backup_controller_page_excluded": "Poissuljettu: ",
"backup_controller_page_failed": "Epäonnistui ({})",
- "backup_controller_page_filename": "Tiedoston nimi: {} [{}]",
+ "backup_controller_page_filename": "Tiedostonimi: {} [{}]",
"backup_controller_page_id": "ID: {}",
"backup_controller_page_info": "Varmuuskopioinnin tiedot",
"backup_controller_page_none_selected": "Ei mitään",
@@ -545,11 +554,11 @@
"backup_err_only_album": "Vähintään yhden albumin tulee olla valittuna",
"backup_info_card_assets": "kohdetta",
"backup_manual_cancelled": "Peruutettu",
- "backup_manual_in_progress": "Lähetys palvelimelle on jo käynnissä. Kokeile uudelleen hetken kuluttua.",
+ "backup_manual_in_progress": "Lähetys palvelimelle on jo käynnissä. Kokeile myÃļhemmin uudelleen",
"backup_manual_success": "Onnistui",
"backup_manual_title": "Lähetyksen tila",
"backup_options_page_title": "Varmuuskopioinnin asetukset",
- "backup_setting_subtitle": "Manage background and foreground upload settings",
+ "backup_setting_subtitle": "Hallinnoi aktiivisia ja taustalla olevia lähetysasetuksia",
"backward": "Taaksepäin",
"birthdate_saved": "Syntymäaika tallennettu",
"birthdate_set_description": "Syntymäaikaa käytetään laskemaan henkilÃļn ikä kuvanottohetkellä.",
@@ -567,7 +576,7 @@
"cache_settings_duplicated_assets_clear_button": "Tyhjennä",
"cache_settings_duplicated_assets_subtitle": "Sovelluksen mustalle listalle merkitsemät valokuvat ja videot",
"cache_settings_duplicated_assets_title": "Kaksoiskappaleet ({})",
- "cache_settings_image_cache_size": "Kuvien välimuistin koko ({} kohdetta)",
+ "cache_settings_image_cache_size": "Kuvavälimuistin koko ({} kohdetta)",
"cache_settings_statistics_album": "Kirjaston esikatselukuvat",
"cache_settings_statistics_assets": "{} kohdetta ({})",
"cache_settings_statistics_full": "Täysikokoiset kuvat",
@@ -584,12 +593,12 @@
"camera_model": "Kameran malli",
"cancel": "Peruuta",
"cancel_search": "Peru haku",
- "canceled": "Canceled",
+ "canceled": "Peruutettu",
"cannot_merge_people": "Ihmisiä ei voitu yhdistää",
"cannot_undo_this_action": "Et voi perua tätä toimintoa!",
"cannot_update_the_description": "Kuvausta ei voi päivittää",
"change_date": "Vaihda päiväys",
- "change_display_order": "Change display order",
+ "change_display_order": "Muuta näyttÃļjärjestystä",
"change_expiration_time": "Muuta erääntymisaikaa",
"change_location": "Vaihda sijainti",
"change_name": "Vaihda nimi",
@@ -597,16 +606,16 @@
"change_password": "Vaihda Salasana",
"change_password_description": "Tämä on joko ensimmäinen kertasi kun kirjaudut järjestelmään, tai salasanasi on pyydetty vaihtamaan. Määritä uusi salasana alle.",
"change_password_form_confirm_password": "Vahvista salasana",
- "change_password_form_description": "Hei {name},\n\nTämä on joko ensimmäinen kirjautumisesi järjestelmään tai salasanan vaihtaminen vaihtaminen on pakotettu. Ole hyvä ja syÃļtä uusi salasana alle.",
+ "change_password_form_description": "Hei {name},\n\nTämä on joko ensimmäinen kerta, kun kirjaudut järjestelmään, tai sinulta on pyydetty salasanan vaihtoa. Ole hyvä ja syÃļtä uusi salasana alle.",
"change_password_form_new_password": "Uusi salasana",
"change_password_form_password_mismatch": "Salasanat eivät täsmää",
"change_password_form_reenter_new_password": "Uusi salasana uudelleen",
"change_your_password": "Vaihda salasanasi",
"changed_visibility_successfully": "Näkyvyys vaihdettu",
"check_all": "Valitse kaikki",
- "check_corrupt_asset_backup": "Check for corrupt asset backups",
- "check_corrupt_asset_backup_button": "Perform check",
- "check_corrupt_asset_backup_description": "Run this check only over Wi-Fi and once all assets have been backed-up. The procedure might take a few minutes.",
+ "check_corrupt_asset_backup": "Vioittuneiden varmuuskopioiden tarkistaminen",
+ "check_corrupt_asset_backup_button": "Suorita tarkistus",
+ "check_corrupt_asset_backup_description": "Suorita tämä tarkistus vain Wi-Fi-yhteyden kautta ja vasta, kun kaikki kohteet on varmuuskopioitu. Toimenpide voi kestää muutamia minuutteja.",
"check_logs": "Katso lokeja",
"choose_matching_people_to_merge": "Valitse henkilÃļt joka yhdistetään",
"city": "Kaupunki",
@@ -618,11 +627,11 @@
"client_cert_dialog_msg_confirm": "OK",
"client_cert_enter_password": "Enter Password",
"client_cert_import": "Import",
- "client_cert_import_success_msg": "Client certificate is imported",
- "client_cert_invalid_msg": "Invalid certificate file or wrong password",
- "client_cert_remove_msg": "Client certificate is removed",
- "client_cert_subtitle": "Supports PKCS12 (.p12, .pfx) format only. Certificate Import/Remove is available only before login",
- "client_cert_title": "SSL Client Certificate",
+ "client_cert_import_success_msg": "Asiakasvarmenne tuotu",
+ "client_cert_invalid_msg": "Virheellinen varmennetiedosto tai väärä salasana",
+ "client_cert_remove_msg": "Asiakassertifikaatti on poistettu",
+ "client_cert_subtitle": "Vain PKCS12 (.p12, .pfx) -muotoa tuetaan. Varmenteen tuonti/poisto on käytettävissä vain ennen sisäänkirjautumista",
+ "client_cert_title": "SSL-asiakassertifikaatti",
"clockwise": "MyÃļtäpäivään",
"close": "Sulje",
"collapse": "Supista",
@@ -635,9 +644,10 @@
"comments_are_disabled": "Kommentointi ei käytÃļssä",
"common_create_new_album": "Luo uusi albumi",
"common_server_error": "Tarkista internet-yhteytesi. Varmista että palvelin on saavutettavissa ja sovellus-/palvelinversiot ovat yhteensopivia.",
- "completed": "Completed",
+ "completed": "Valmis",
"confirm": "Vahvista",
"confirm_admin_password": "Vahvista ylläpitäjän salasana",
+ "confirm_delete_face": "Haluatko poistaa {name} kasvot kohteesta?",
"confirm_delete_shared_link": "Haluatko varmasti poistaa tämän jaetun linkin?",
"confirm_keep_this_delete_others": "Kuvapinon muut kuvat tätä lukuunottamatta poistetaan. Oletko varma, että haluat jatkaa?",
"confirm_password": "Vahvista salasana",
@@ -650,7 +660,7 @@
"control_bottom_app_bar_delete_from_local": "Poista laitteelta",
"control_bottom_app_bar_edit_location": "Muokkaa sijaintia",
"control_bottom_app_bar_edit_time": "Muokkaa aikaa",
- "control_bottom_app_bar_share_link": "Share Link",
+ "control_bottom_app_bar_share_link": "Jaa linkki",
"control_bottom_app_bar_share_to": "Jaa",
"control_bottom_app_bar_trash_from_immich": "Siirrä roskakoriin",
"copied_image_to_clipboard": "Kuva kopioitu leikepÃļydälle.",
@@ -682,10 +692,10 @@
"create_tag_description": "Luo uusi tunniste. Sisäkkäisiä tunnisteita varten syÃļtä tunnisteen täydellinen polku kauttaviivat mukaan luettuna.",
"create_user": "Luo käyttäjä",
"created": "Luotu",
- "crop": "Crop",
+ "crop": "Rajaa",
"curated_object_page_title": "Asiat",
"current_device": "Nykyinen laite",
- "current_server_address": "Current server address",
+ "current_server_address": "Nykyinen palvelinosoite",
"custom_locale": "Muokatut maa-asetukset",
"custom_locale_description": "Muotoile päivämäärät ja numerot perustuen alueen kieleen",
"daily_title_text_date": "E, MMM dd",
@@ -715,6 +725,7 @@
"delete_dialog_ok_force": "Poista kuitenkin",
"delete_dialog_title": "Poista pysyvästi",
"delete_duplicates_confirmation": "Haluatko varmasti poistaa nämä kaksoiskappaleet pysyvästi?",
+ "delete_face": "Poista kasvot",
"delete_key": "Poista avain",
"delete_library": "Poista kirjasto",
"delete_link": "Poista linkki",
@@ -747,26 +758,26 @@
"documentation": "Dokumentaatio",
"done": "Valmis",
"download": "Lataa",
- "download_canceled": "Download canceled",
- "download_complete": "Download complete",
- "download_enqueue": "Download enqueued",
+ "download_canceled": "Lataus peruutettu",
+ "download_complete": "Lataus valmis",
+ "download_enqueue": "Latausjonossa",
"download_error": "Download Error",
- "download_failed": "Download failed",
- "download_filename": "file: {}",
- "download_finished": "Download finished",
+ "download_failed": "Lataus epäonnistui",
+ "download_filename": "tiedosto: {}",
+ "download_finished": "Lataus valmis",
"download_include_embedded_motion_videos": "Upotetut videot",
"download_include_embedded_motion_videos_description": "Sisällytä liikekuviin upotetut videot erillisinä tiedostoina",
- "download_notfound": "Download not found",
- "download_paused": "Download paused",
+ "download_notfound": "Latausta ei lÃļytynyt",
+ "download_paused": "Lataus keskeytetty",
"download_settings": "Lataukset",
"download_settings_description": "Hallitse aineiston lataukseen liittyviä asetuksia",
- "download_started": "Download started",
- "download_sucess": "Download success",
- "download_sucess_android": "The media has been downloaded to DCIM/Immich",
- "download_waiting_to_retry": "Waiting to retry",
+ "download_started": "Lataus aloitettu",
+ "download_sucess": "Lataus onnistui",
+ "download_sucess_android": "Media on ladattu DCIM/Immichiin",
+ "download_waiting_to_retry": "Odotetaan uudelleenyritystä",
"downloading": "Ladataan",
"downloading_asset_filename": "Ladataan mediaa {filename}",
- "downloading_media": "Downloading media",
+ "downloading_media": "Median lataaminen",
"drop_files_to_upload": "Pudota tiedostot mihin tahansa ladataksesi ne",
"duplicates": "Kaksoiskappaleet",
"duplicates_description": "Selvitä jokaisen kohdalla mitkä (jos yksikään) ovat kaksoiskappaleita",
@@ -796,18 +807,19 @@
"editor_crop_tool_h2_aspect_ratios": "Kuvasuhteet",
"editor_crop_tool_h2_rotation": "Rotaatio",
"email": "SähkÃļposti",
- "empty_folder": "This folder is empty",
+ "empty_folder": "Kansio on tyhjä",
"empty_trash": "Tyhjennä roskakori",
"empty_trash_confirmation": "Haluatko varmasti tyhjentää roskakorin? Tämä poistaa pysyvästi kaikki tiedostot Immich:stä.\nToimintoa ei voi perua!",
"enable": "Ota käyttÃļÃļn",
"enabled": "KäytÃļssä",
"end_date": "Päättymispäivä",
- "enqueued": "Enqueued",
- "enter_wifi_name": "Enter WiFi name",
+ "enqueued": "Lisätty jonoon",
+ "enter_wifi_name": "Anna Wi-Fi-verkon nimi",
"error": "Virhe",
- "error_change_sort_album": "Failed to change album sort order",
+ "error_change_sort_album": "Albumin lajittelujärjestyksen muuttaminen epäonnistui",
+ "error_delete_face": "Virhe kasvojen poistamisessa kohteesta",
"error_loading_image": "Kuvan lataus ei onnistunut",
- "error_saving_image": "Error: {}",
+ "error_saving_image": "Virhe: {}",
"error_title": "Virhe - Jotain meni pieleen",
"errors": {
"cannot_navigate_next_asset": "Seuraavaan mediaan ei voi siirtyä",
@@ -837,10 +849,12 @@
"failed_to_keep_this_delete_others": "Muiden kohteiden poisto epäonnistui",
"failed_to_load_asset": "Kohteen lataus epäonnistui",
"failed_to_load_assets": "Kohteiden lataus epäonnistui",
+ "failed_to_load_notifications": "Ilmoitusten lataaminen epäonnistui",
"failed_to_load_people": "HenkilÃļiden lataus epäonnistui",
"failed_to_remove_product_key": "Tuoteavaimen poistaminen epäonnistui",
"failed_to_stack_assets": "Medioiden pinoaminen epäonnistui",
"failed_to_unstack_assets": "Medioiden pinoamisen purku epäonnistui",
+ "failed_to_update_notification_status": "Ilmoituksen tilan päivittäminen epäonnistui",
"import_path_already_exists": "Tämä tuontipolku on jo olemassa.",
"incorrect_email_or_password": "Väärä sähkÃļpostiosoite tai salasana",
"paths_validation_failed": "{paths, plural, one {# polun} other {# polun}} validointi epäonnistui",
@@ -908,7 +922,7 @@
"unable_to_remove_reaction": "Reaktion poistaminen epäonnistui",
"unable_to_repair_items": "Kohteiden korjaaminen epäonnistui",
"unable_to_reset_password": "Salasanan nollaaminen epäonnistui",
- "unable_to_resolve_duplicate": "Virheilmoitus näkyy, kun palvelin palauttaa virheen painettaessa roskakorin tai säilytä-painiketta.",
+ "unable_to_resolve_duplicate": "Kaksoiskappaleen ratkaiseminen epäonnistui",
"unable_to_restore_assets": "Kohteen palauttaminen epäonnistui",
"unable_to_restore_trash": "Kohteiden palauttaminen epäonnistui",
"unable_to_restore_user": "Käyttäjän palauttaminen epäonnistui",
@@ -941,10 +955,10 @@
"exif_bottom_sheet_location": "SIJAINTI",
"exif_bottom_sheet_people": "IHMISET",
"exif_bottom_sheet_person_add_person": "Lisää nimi",
- "exif_bottom_sheet_person_age": "Age {}",
- "exif_bottom_sheet_person_age_months": "Age {} months",
- "exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
- "exif_bottom_sheet_person_age_years": "Age {}",
+ "exif_bottom_sheet_person_age": "Ikä {}",
+ "exif_bottom_sheet_person_age_months": "Ikä {} kuukautta",
+ "exif_bottom_sheet_person_age_year_months": "Ikä 1 vuosi, {} kuukautta",
+ "exif_bottom_sheet_person_age_years": "Ikä {}",
"exit_slideshow": "Poistu diaesityksestä",
"expand_all": "Laajenna kaikki",
"experimental_settings_new_asset_list_subtitle": "TyÃļn alla",
@@ -961,12 +975,12 @@
"extension": "Tiedostopääte",
"external": "Ulkoisesta",
"external_libraries": "Ulkoiset kirjastot",
- "external_network": "External network",
- "external_network_sheet_info": "When not on the preferred WiFi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom",
+ "external_network": "Ulkoinen verkko",
+ "external_network_sheet_info": "Kun laite ei ole yhteydessä valittuun Wi-Fi-verkkoon, sovellus yrittää muodostaa yhteyden palvelimeen alla olevista URL-osoitteista ylhäältä alas, kunnes yhteys muodostuu",
"face_unassigned": "Ei määritelty",
- "failed": "Failed",
+ "failed": "Epäonnistui",
"failed_to_load_assets": "Kohteiden lataus epäonnistui",
- "failed_to_load_folder": "Failed to load folder",
+ "failed_to_load_folder": "Kansion lataaminen epäonnistui",
"favorite": "Suosikki",
"favorite_or_unfavorite_photo": "Suosikki- tai ei-suosikkikuva",
"favorites": "Suosikit",
@@ -980,21 +994,22 @@
"filetype": "Tiedostotyyppi",
"filter": "Filter",
"filter_people": "Suodata henkilÃļt",
+ "filter_places": "Suodata paikkoja",
"find_them_fast": "LÃļydä nopeasti hakemalla nimellä",
"fix_incorrect_match": "Korjaa virheellinen osuma",
- "folder": "Folder",
- "folder_not_found": "Folder not found",
+ "folder": "Kansio",
+ "folder_not_found": "Kansiota ei lÃļytynyt",
"folders": "Kansiot",
"folders_feature_description": "Käytetään kansionäkymää valokuvien ja videoiden selaamiseen järjestelmässä",
"forward": "Eteenpäin",
"general": "Yleinen",
"get_help": "Hae apua",
- "get_wifiname_error": "Could not get Wi-Fi name. Make sure you have granted the necessary permissions and are connected to a Wi-Fi network",
+ "get_wifiname_error": "Wi-Fi-verkon nimen hakeminen epäonnistui. Varmista, että olet myÃļntänyt tarvittavat käyttÃļoikeudet ja että olet yhteydessä Wi-Fi-verkkoon",
"getting_started": "Aloittaminen",
"go_back": "Palaa",
"go_to_folder": "Mene kansioon",
"go_to_search": "Siirry hakuun",
- "grant_permission": "Grant permission",
+ "grant_permission": "MyÃļnnä lupa",
"group_albums_by": "Ryhmitä albumi...",
"group_country": "Ryhmitä maan mukaan",
"group_no": "Ei ryhmitystä",
@@ -1004,12 +1019,12 @@
"haptic_feedback_switch": "Ota haptinen palaute käyttÃļÃļn",
"haptic_feedback_title": "Haptinen palaute",
"has_quota": "On kiintiÃļ",
- "header_settings_add_header_tip": "Add Header",
- "header_settings_field_validator_msg": "Value cannot be empty",
+ "header_settings_add_header_tip": "Lisää otsikko",
+ "header_settings_field_validator_msg": "Arvo ei voi olla tyhjä",
"header_settings_header_name_input": "Header name",
"header_settings_header_value_input": "Header value",
- "headers_settings_tile_subtitle": "Define proxy headers the app should send with each network request",
- "headers_settings_tile_title": "Custom proxy headers",
+ "headers_settings_tile_subtitle": "Määritä välityspalvelimen otsikot, jotka sovelluksen tulisi lähettää jokaisen verkkopyynnÃļn mukana",
+ "headers_settings_tile_title": "Mukautettu proxy headers",
"hi_user": "Hei {name} ({email})",
"hide_all_people": "Piilota kaikki henkilÃļt",
"hide_gallery": "Piilota galleria",
@@ -1028,13 +1043,13 @@
"home_page_delete_remote_err_local": "Paikallisia kohteita etäkohdevalintojen joukossa, ohitetaan",
"home_page_favorite_err_local": "Paikallisten kohteiden lisääminen suosikkeihin ei ole mahdollista, ohitetaan",
"home_page_favorite_err_partner": "Kumppanin kohteita ei voi vielä merkitä suosikiksi. Hypätään yli",
- "home_page_first_time_notice": "Jos käytät sovellusta ensimmäistä kertaa, muista valita varmuuskopioitavat albumi(t), jotta aikajanalla voi olla kuvia ja videoita.",
+ "home_page_first_time_notice": "Jos käytät sovellusta ensimmäistä kertaa, muista valita varmuuskopioitavat albumi(t), jotta aikajanalla voi olla kuvia ja videoita",
"home_page_share_err_local": "Paikallisia kohteita ei voitu jakaa linkkien avulla. Hypätään yli",
"home_page_upload_err_limit": "Voit lähettää palvelimelle enintään 30 kohdetta kerrallaan, ohitetaan",
"host": "Isäntä",
"hour": "Tunti",
- "ignore_icloud_photos": "Ignore iCloud photos",
- "ignore_icloud_photos_description": "Photos that are stored on iCloud will not be uploaded to the Immich server",
+ "ignore_icloud_photos": "Ohita iCloud-kuvat",
+ "ignore_icloud_photos_description": "iCloudiin tallennettuja kuvia ei ladata Immich-palvelimelle",
"image": "Kuva",
"image_alt_text_date": "{isVideo, select, true {Video} other {Kuva}} otettu {date}",
"image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Kuva}} otettu {person1} kanssa {date}",
@@ -1046,7 +1061,7 @@
"image_alt_text_date_place_2_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n ja {person2}n kanssa {date}",
"image_alt_text_date_place_3_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n, {person2}n ja {person3}n kanssa {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {Video} other {Kuva}} otettu {city}ssä, {country}ssä {person1}n, {person2}n ja {additionalCount, number} muun kanssa {date}",
- "image_saved_successfully": "Image saved",
+ "image_saved_successfully": "Kuva tallennettu",
"image_viewer_page_state_provider_download_started": "Lataaminen aloitettu",
"image_viewer_page_state_provider_download_success": "Lataus onnistui",
"image_viewer_page_state_provider_share_error": "Jakovirhe",
@@ -1068,8 +1083,8 @@
"night_at_midnight": "Joka yÃļ keskiyÃļllä",
"night_at_twoam": "Joka yÃļ klo 02:00"
},
- "invalid_date": "Invalid date",
- "invalid_date_format": "Invalid date format",
+ "invalid_date": "Virheellinen päivämäärä",
+ "invalid_date_format": "Virheellinen päivämäärämuoto",
"invite_people": "Kutsu ihmisiä",
"invite_to_album": "Kutsu albumiin",
"items_count": "{count, plural, one {# kpl} other {# kpl}}",
@@ -1085,6 +1100,7 @@
"latest_version": "Viimeisin versio",
"latitude": "Leveysaste",
"leave": "Lähde",
+ "lens_model": "Objektiivin malli",
"let_others_respond": "Anna muiden vastata",
"level": "Taso",
"library": "Kirjasto",
@@ -1105,9 +1121,9 @@
"loading": "Ladataan",
"loading_search_results_failed": "Hakutulosten lataaminen epäonnistui",
"local_network": "Local network",
- "local_network_sheet_info": "The app will connect to the server through this URL when using the specified Wi-Fi network",
- "location_permission": "Location permission",
- "location_permission_content": "In order to use the auto-switching feature, Immich needs precise location permission so it can read the current WiFi network's name",
+ "local_network_sheet_info": "Sovellus muodostaa yhteyden palvelimeen tämän URL-osoitteen kautta, kun käytetään määritettyä Wi-Fi-verkkoa",
+ "location_permission": "Sijainnin käyttÃļoikeus",
+ "location_permission_content": "Automaattisen vaihtotoiminnon käyttämiseksi Immich tarvitsee tarkan sijainnin käyttÃļoikeuden, jotta se voi lukea nykyisen Wi-Fi-verkon nimen",
"location_picker_choose_on_map": "Valitse kartalta",
"location_picker_latitude_error": "Lisää kelvollinen leveysaste",
"location_picker_latitude_hint": "SyÃļtä leveysaste",
@@ -1131,7 +1147,7 @@
"login_form_err_trailing_whitespace": "Lopussa välilyÃļnti",
"login_form_failed_get_oauth_server_config": "Virhe kirjauduttaessa OAuth:lla, tarkista palvelimen URL",
"login_form_failed_get_oauth_server_disable": "OAuth-ominaisuus ei ole käytÃļssä tällä palvelimella",
- "login_form_failed_login": "Virhe kirjautumisessa. Tarkista palvelimen URL, sähkÃļpostiosoite ja salasana.",
+ "login_form_failed_login": "Virhe kirjautumisessa. Tarkista palvelimen URL, sähkÃļpostiosoite ja salasana",
"login_form_handshake_exception": "Tapahtui poikkeus kättelyssä palvelimen kanssa. Kytke päälle self-signed -sertifikaattituki asetuksista, mikäli käytät self-signed -sertifikaatteja.",
"login_form_password_hint": "salasana",
"login_form_save_login": "Pysy kirjautuneena",
@@ -1145,8 +1161,9 @@
"longitude": "Pituusaste",
"look": "Tyyli",
"loop_videos": "Toista videot uudelleen",
- "loop_videos_description": "Ota käyttÃļÃļn videon automaattinen toisto tarkemmassa näkymässä.",
+ "loop_videos_description": "Ota käyttÃļÃļn jatkuva videotoisto tarkemmassa näkymässä.",
"main_branch_warning": "Käytät kehitysversiota; suosittelemme vahvasti käyttämään julkaisuversiota!",
+ "main_menu": "Päävalikko",
"make": "Valmistaja",
"manage_shared_links": "Hallitse jaettuja linkkejä",
"manage_sharing_with_partners": "Hallitse jakamista kumppaneille",
@@ -1180,6 +1197,9 @@
"map_settings_only_show_favorites": "Näytä vain suosikit",
"map_settings_theme_settings": "Kartan teema",
"map_zoom_to_see_photos": "Tarkenna nähdäksesi kuvat",
+ "mark_all_as_read": "Merkitse kaikki luetuiksi",
+ "mark_as_read": "Merkitse luetuksi",
+ "marked_all_as_read": "Merkitty kaikki luetuiksi",
"matches": "Osumia",
"media_type": "Median tyyppi",
"memories": "Muistoja",
@@ -1188,8 +1208,8 @@
"memories_setting_description": "Hallitse mitä näet muistoissasi",
"memories_start_over": "Aloita alusta",
"memories_swipe_to_close": "Pyyhkäise ylÃļs sulkeaksesi",
- "memories_year_ago": "A year ago",
- "memories_years_ago": "{} years ago",
+ "memories_year_ago": "Vuosi sitten",
+ "memories_years_ago": "{} vuotta sitten",
"memory": "Muisto",
"memory_lane_title": "Muistojen polku {title}",
"menu": "Valikko",
@@ -1206,14 +1226,17 @@
"month": "Kuukauden mukaan",
"monthly_title_text_date_format": "MMMM y",
"more": "Enemmän",
+ "moved_to_archive": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} arkistoon",
+ "moved_to_library": "Siirretty {count, plural, one {# kohde} other {# kohdetta}} kirjastoon",
"moved_to_trash": "Siirretty roskakoriin",
"multiselect_grid_edit_date_time_err_read_only": "Vain luku -tilassa olevien kohteiden päivämäärää ei voitu muokata, ohitetaan",
"multiselect_grid_edit_gps_err_read_only": "Vain luku-tilassa olevien kohteiden sijantitietoja ei voitu muokata, ohitetaan",
- "my_albums": "Albumini",
+ "mute_memories": "Mykistä muistot",
+ "my_albums": "Omat albumit",
"name": "Nimi",
"name_or_nickname": "Nimi tai lempinimi",
- "networking_settings": "Networking",
- "networking_subtitle": "Manage the server endpoint settings",
+ "networking_settings": "Verkko",
+ "networking_subtitle": "Hallitse palvelinasetuksia",
"never": "ei koskaan",
"new_album": "Uusi Albumi",
"new_api_key": "Uusi API-avain",
@@ -1237,12 +1260,14 @@
"no_favorites_message": "Lisää suosikkeja lÃļytääksesi nopeasti parhaat kuvasi ja videosi",
"no_libraries_message": "Luo ulkoinen kirjasto nähdäksesi valokuvasi ja videot",
"no_name": "Ei nimeä",
+ "no_notifications": "Ei ilmoituksia",
+ "no_people_found": "Ei vastaavia henkilÃļitä",
"no_places": "Ei paikkoja",
"no_results": "Ei tuloksia",
"no_results_description": "Kokeile synonyymiä tai yleisempää avainsanaa",
"no_shared_albums_message": "Luo albumi, jotta voit jakaa kuvia ja videoita toisille",
"not_in_any_album": "Ei yhdessäkään albumissa",
- "not_selected": "Not selected",
+ "not_selected": "Ei valittu",
"note_apply_storage_label_to_previously_uploaded assets": "Huom: Jotta voit soveltaa tallennustunnistetta aiemmin ladattuihin kohteisiin, suorita",
"notes": "Muistiinpanot",
"notification_permission_dialog_content": "Ottaaksesi ilmoitukset käyttÃļÃļn, siirry asetuksiin ja valitse 'salli'.",
@@ -1259,7 +1284,7 @@
"offline_paths_description": "Nämä tulokset voivat johtua tiedostojen manuaalisesta poistamisesta, jotka eivät ole osa ulkoista kirjastoa.",
"ok": "Ok",
"oldest_first": "Vanhin ensin",
- "on_this_device": "On this device",
+ "on_this_device": "Laitteella",
"onboarding": "KäyttÃļÃļnotto",
"onboarding_privacy_description": "Seuraavat (valinnaiset) ominaisuudet perustuvat ulkoisiin palveluihin, ja ne voidaan poistaa käytÃļstä milloin tahansa hallinta asetuksista.",
"onboarding_theme_description": "Valitse väriteema istunnollesi. Voit muuttaa tämän myÃļhemmin asetuksistasi.",
@@ -1267,6 +1292,7 @@
"onboarding_welcome_user": "Tervetuloa {user}",
"online": "Online",
"only_favorites": "Vain suosikit",
+ "open": "Avaa",
"open_in_map_view": "Avaa karttanäkymässä",
"open_in_openstreetmap": "Avaa OpenStreetMapissa",
"open_the_search_filters": "Avaa hakusuodattimet",
@@ -1328,6 +1354,7 @@
"permission_onboarding_permission_limited": "Rajoitettu käyttÃļoikeus. Salliaksesi Immichin varmuuskopioida ja hallita koko kuvakirjastoasi, myÃļnnä oikeus kuviin ja videoihin asetuksista.",
"permission_onboarding_request": "Immich vaatii käyttÃļoikeuden kuvien ja videoiden käyttämiseen.",
"person": "HenkilÃļ",
+ "person_birthdate": "Syntynyt {date}",
"person_hidden": "{name}{hidden, select, true { (piilotettu)} other {}}",
"photo_shared_all_users": "Näyttää että olet jakanut kuvasi kaikkien käyttäjien kanssa, tai sinulla ei ole käyttäjää kenelle jakaa.",
"photos": "Kuvat",
@@ -1337,12 +1364,13 @@
"pick_a_location": "Valitse sijainti",
"place": "Sijainti",
"places": "Paikat",
+ "places_count": "{count, plural, one {{count, number} Paikka} other {{count, number} Paikkaa}}",
"play": "Toista",
"play_memories": "Toista muistot",
"play_motion_photo": "Toista Liikekuva",
"play_or_pause_video": "Toista tai keskeytä video",
"port": "Portti",
- "preferences_settings_subtitle": "Manage the app's preferences",
+ "preferences_settings_subtitle": "Hallitse sovelluksen asetuksia",
"preferences_settings_title": "Asetukset",
"preset": "Asetus",
"preview": "Esikatselu",
@@ -1407,8 +1435,10 @@
"recent": "Viimeisin",
"recent-albums": "Viimeisimmät albumit",
"recent_searches": "Edelliset haut",
- "recently_added": "Recently added",
+ "recently_added": "Viimeksi lisätty",
"recently_added_page_title": "Viimeksi lisätyt",
+ "recently_taken": "Viimeksi otettu",
+ "recently_taken_page_title": "Viimeksi Otettu",
"refresh": "Päivitä",
"refresh_encoded_videos": "Päivitä enkoodatut videot",
"refresh_faces": "Päivitä kasvot",
@@ -1429,12 +1459,16 @@
"remove_from_album": "Poista albumista",
"remove_from_favorites": "Poista suosikeista",
"remove_from_shared_link": "Poista jakolinkistä",
+ "remove_memory": "Tyhjennä muisti",
+ "remove_photo_from_memory": "Poista kuva muistista",
"remove_url": "Poista URL",
"remove_user": "Poista käyttäjä",
"removed_api_key": "API-avain {name} poistettu",
"removed_from_archive": "Poistettu arkistosta",
"removed_from_favorites": "Poistettu suosikeista",
"removed_from_favorites_count": "{count, plural, other {Poistettu #}} suosikeista",
+ "removed_memory": "Poistettu muistista",
+ "removed_photo_from_memory": "Kuva poistettu muistista",
"removed_tagged_assets": "Poistettu tunniste {count, plural, one {# kohteesta} other {# kohteesta}}",
"rename": "Nimeä uudelleen",
"repair": "Korjaa",
@@ -1443,6 +1477,7 @@
"repository": "Tietovarasto",
"require_password": "Vaadi salasana",
"require_user_to_change_password_on_first_login": "Vaadi käyttäjää vaihtamaan salasana seuraavalla kirjautumiskerralla",
+ "rescan": "Skannaa uudelleen",
"reset": "Nollaa",
"reset_password": "Nollaa salasana",
"reset_people_visibility": "Nollaa henkilÃļiden näkyvyysasetukset",
@@ -1460,7 +1495,7 @@
"role_editor": "Editori",
"role_viewer": "Toistin",
"save": "Tallenna",
- "save_to_gallery": "Save to gallery",
+ "save_to_gallery": "Tallenna galleriaan",
"saved_api_key": "API-avain tallennettu",
"saved_profile": "Profiili tallennettu",
"saved_settings": "Asetukset tallennettu",
@@ -1474,6 +1509,7 @@
"search_albums": "Etsi albumeita",
"search_by_context": "Etsi kontekstin perusteella",
"search_by_description": "Etsi kuvauksen perusteella",
+ "search_by_description_example": "Vaelluspäivä Sapassa",
"search_by_filename": "Hae tiedostonimen tai -päätteen mukaan",
"search_by_filename_example": "esim. IMG_1234.JPG tai PNG",
"search_camera_make": "Etsi kameramerkkiä...",
@@ -1481,30 +1517,31 @@
"search_city": "Etsi kaupunkia...",
"search_country": "Etsi maata...",
"search_filter_apply": "Käytä",
- "search_filter_camera_title": "Select camera type",
+ "search_filter_camera_title": "Valitse kameratyyppi",
"search_filter_date": "Date",
"search_filter_date_interval": "{start} to {end}",
- "search_filter_date_title": "Select a date range",
+ "search_filter_date_title": "Valitse aikaväli",
"search_filter_display_option_not_in_album": "Ei kuulu albumiin",
- "search_filter_display_options": "Display Options",
- "search_filter_filename": "Search by file name",
- "search_filter_location": "Location",
- "search_filter_location_title": "Select location",
+ "search_filter_display_options": "NäyttÃļasetukset",
+ "search_filter_filename": "Etsi tiedostonimellä",
+ "search_filter_location": "Sijainti",
+ "search_filter_location_title": "Valitse sijainti",
"search_filter_media_type": "Media Type",
- "search_filter_media_type_title": "Select media type",
- "search_filter_people_title": "Select people",
+ "search_filter_media_type_title": "Valitse mediatyyppi",
+ "search_filter_people_title": "Valitse ihmiset",
+ "search_for": "Hae",
"search_for_existing_person": "Etsi olemassa olevaa henkilÃļä",
- "search_no_more_result": "No more results",
+ "search_no_more_result": "Ei enää tuloksia",
"search_no_people": "Ei henkilÃļitä",
"search_no_people_named": "Ei \"{name}\" nimisiä henkilÃļitä",
- "search_no_result": "No results found, try a different search term or combination",
+ "search_no_result": "Ei tuloksia, kokeile toista hakusanaa tai -yhdistelmää",
"search_options": "Hakuvaihtoehdot",
"search_page_categories": "Kategoriat",
"search_page_motion_photos": "Liikekuvat",
"search_page_no_objects": "Objektitietoja ei ole saatavilla",
"search_page_no_places": "Paikkatietoja ei ole saatavilla",
"search_page_screenshots": "NäyttÃļkuvat",
- "search_page_search_photos_videos": "Search for your photos and videos",
+ "search_page_search_photos_videos": "Hae kuvia tai videoita",
"search_page_selfies": "Selfiet",
"search_page_things": "Asiat",
"search_page_view_all_button": "Näytä kaikki",
@@ -1512,10 +1549,11 @@
"search_page_your_map": "Sinun karttasi",
"search_people": "Etsi ihmisiä",
"search_places": "Etsi paikkoja",
+ "search_rating": "Hae luokituksen mukaan...",
"search_result_page_new_search_hint": "Uusi haku",
"search_settings": "Hakuasetukset",
- "search_state": "Etsi tilaa...",
- "search_suggestion_list_smart_search_hint_1": "Ãlykäs haku on oletuksena käytÃļssä. Käytä metatietojen etsimiseen syntaksia",
+ "search_state": "Etsi maakuntaa...",
+ "search_suggestion_list_smart_search_hint_1": "Ãlykäs haku on oletuksena käytÃļssä. Käytä metatietojen etsimiseen syntaksia ",
"search_suggestion_list_smart_search_hint_2": "m:hakusana",
"search_tags": "Etsi tunnisteita...",
"search_timezone": "Etsi aikavyÃļhyke...",
@@ -1524,6 +1562,7 @@
"searching_locales": "Etsitään lokaaleja...",
"second": "Toinen",
"see_all_people": "Näytä kaikki henkilÃļt",
+ "select": "Valitse",
"select_album_cover": "Valitse albmin kansi",
"select_all": "Valitse kaikki",
"select_all_duplicates": "Valitse kaikki kaksoiskappaleet",
@@ -1534,6 +1573,7 @@
"select_keep_all": "Valitse pidä kaikki",
"select_library_owner": "Valitse kirjaston omistaja",
"select_new_face": "Valitse uudet kasvot",
+ "select_person_to_tag": "Valitse henkilÃļ, jonka haluat merkitä",
"select_photos": "Valitse kuvat",
"select_trash_all": "Valitse kaikki roskakoriin",
"select_user_for_sharing_page_err_album": "Albumin luonti epäonnistui",
@@ -1541,7 +1581,7 @@
"selected_count": "{count, plural, other {# valittu}}",
"send_message": "Lähetä viesti",
"send_welcome_email": "Lähetä tervetuloviesti",
- "server_endpoint": "Server Endpoint",
+ "server_endpoint": "Palvelinosoite",
"server_info_box_app_version": "Sovelluksen versio",
"server_info_box_server_url": "Palvelimen URL-osoite",
"server_offline": "Palvelin Offline-tilassa",
@@ -1555,19 +1595,19 @@
"set_date_of_birth": "Aseta syntymäaika",
"set_profile_picture": "Aseta profiilikuva",
"set_slideshow_to_fullscreen": "Näytä diaesitys koko ruudulla",
- "setting_image_viewer_help": "Sovellus lataa ensin pienen esikatselukuvan, toisena keskitarkkuuksisen kuvan (jos käytÃļssä) ja kolmantena alkuperäisen täysitarkkuuksisen kuvan (jos käytÃļssä)",
+ "setting_image_viewer_help": "Kuvaa katseltaessa ensin ladataan pikkukuva, sitten keskilaatuinen pikkukuva (jos käytÃļssä) ja lopuksi alkuperäinen (jos käytÃļssä).",
"setting_image_viewer_original_subtitle": "Ota käyttÃļÃļn ladataksesi alkuperäinen täysitarkkuuksinen kuva (suuri!). Poista käytÃļstä vähentääksesi datan käyttÃļä (sekä verkossa että laitteen välimuistissa).",
"setting_image_viewer_original_title": "Lataa alkuperäinen kuva",
"setting_image_viewer_preview_subtitle": "Ota käyttÃļÃļn ladataksesi keskitarkkuuksinen kuva. Poista käytÃļstä ladataksesi alkuperäinen kuva tai käyttääksesi vain esikatselukuvaa.",
"setting_image_viewer_preview_title": "Lataa esikatselukuva",
"setting_image_viewer_title": "Kuvat",
"setting_languages_apply": "Käytä",
- "setting_languages_subtitle": "Change the app's language",
+ "setting_languages_subtitle": "Vaihda sovelluksen kieli",
"setting_languages_title": "Kieli",
"setting_notifications_notify_failures_grace_period": "Ilmoita taustavarmuuskopioinnin epäonnistumisista: {}",
- "setting_notifications_notify_hours": "{} tunnin välein",
+ "setting_notifications_notify_hours": "{} tuntia",
"setting_notifications_notify_immediately": "heti",
- "setting_notifications_notify_minutes": "{} minuutin välein",
+ "setting_notifications_notify_minutes": "{} minuuttia",
"setting_notifications_notify_never": "ei koskaan",
"setting_notifications_notify_seconds": "{} sekuntia",
"setting_notifications_single_progress_subtitle": "Yksityiskohtainen tieto palvelimelle lähettämisen edistymisestä kohteittain",
@@ -1575,9 +1615,9 @@
"setting_notifications_subtitle": "Ilmoitusasetusten määrittely",
"setting_notifications_total_progress_subtitle": "Lähetyksen yleinen edistyminen (kohteita lähetetty/yhteensä)",
"setting_notifications_total_progress_title": "Näytä taustavarmuuskopioinnin kokonaisedistyminen",
- "setting_video_viewer_looping_title": "Looping",
- "setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
- "setting_video_viewer_original_video_title": "Force original video",
+ "setting_video_viewer_looping_title": "Silmukkatoisto",
+ "setting_video_viewer_original_video_subtitle": "Kun toistat videota palvelimelta, toista alkuperäinen, vaikka transkoodattu versio olisi saatavilla. Tämä voi johtaa puskurointiin. Paikalliset videot toistetaan aina alkuperäislaadulla.",
+ "setting_video_viewer_original_video_title": "Pakota alkuperäinen video",
"settings": "Asetukset",
"settings_require_restart": "Käynnistä Immich uudelleen ottaaksesti tämän asetuksen käyttÃļÃļn",
"settings_saved": "Asetukset tallennettu",
@@ -1597,7 +1637,7 @@
"shared_by_user": "Käyttäjän {user} jakama",
"shared_by_you": "Sinun jakamasi",
"shared_from_partner": "Kumppanin {partner} kuvia",
- "shared_intent_upload_button_progress_text": "{} / {} Uploaded",
+ "shared_intent_upload_button_progress_text": "{} / {} Lähetetty",
"shared_link_app_bar_title": "Jaetut linkit",
"shared_link_clipboard_copied_massage": "Kopioitu leikepÃļydältä",
"shared_link_clipboard_text": "Linkki: {}\nSalasana: {}",
@@ -1614,22 +1654,23 @@
"shared_link_edit_password_hint": "SyÃļtä jaon salasana",
"shared_link_edit_submit_button": "Päivitä linkki",
"shared_link_error_server_url_fetch": "Palvelimen URL-osoitetta ei voitu hakea",
- "shared_link_expires_day": "Voimassaolo päättyy {} päivän kuluttua",
- "shared_link_expires_days": "Voimassaolo päättyy {} päivän kuluttua",
- "shared_link_expires_hour": "Voimassaolo päättyy {} tunnin kuluttua",
- "shared_link_expires_hours": "Voimassaolo päättyy {} tunnin kuluttua",
- "shared_link_expires_minute": "Voimassaolo päättyy {} minuutin kuluttua",
- "shared_link_expires_minutes": "Voimassaolo päättyy {} minuutin kuluttua",
+ "shared_link_expires_day": "Vanhenee {} päivässä",
+ "shared_link_expires_days": "Vanhenee {} päivässä",
+ "shared_link_expires_hour": "Vanhenee {} tunnissa",
+ "shared_link_expires_hours": "Vanhenee {} tunnissa",
+ "shared_link_expires_minute": "Vanhenee {} minuutissa",
+ "shared_link_expires_minutes": "Vanhenee {} minuutissa",
"shared_link_expires_never": "Voimassaolo päättyy â",
- "shared_link_expires_second": "Voimassaolo päättyy {} sekunnin kuluttua",
- "shared_link_expires_seconds": "Voimassaolo päättyy {} sekunnin kuluttua",
- "shared_link_individual_shared": "Individual shared",
+ "shared_link_expires_second": "Vanhenee {} sekunnissa",
+ "shared_link_expires_seconds": "Vanhenee {} sekunnissa",
+ "shared_link_individual_shared": "YksilÃļllisesti jaettu",
"shared_link_info_chip_metadata": "EXIF",
"shared_link_manage_links": "Hallitse jaettuja linkkejä",
"shared_link_options": "Jaetun linkin vaihtoehdot",
"shared_links": "Jaetut linkit",
+ "shared_links_description": "Jaa kuvia ja videoita linkin avulla",
"shared_photos_and_videos_count": "{assetCount, plural, other {# jaettua kuvaa ja videota.}}",
- "shared_with_me": "Shared with me",
+ "shared_with_me": "Jaettu minulle",
"shared_with_partner": "Jaa kumppanin {partner} kanssa",
"sharing": "Jakaminen",
"sharing_enter_password": "Nähdäksesi sivun sinun tulee antaa salasana.",
@@ -1656,6 +1697,7 @@
"show_person_options": "Näytä henkilÃļasetukset",
"show_progress_bar": "Näytä eteneminen",
"show_search_options": "Näytä hakuvaihtoehdot",
+ "show_shared_links": "Näytä jaetut linkit",
"show_slideshow_transition": "Näytä diaesitys siirtymä",
"show_supporter_badge": "Kannattajan merkki",
"show_supporter_badge_description": "Näytä kannattajan merkki",
@@ -1687,7 +1729,7 @@
"stacktrace": "Vianetsintätiedot",
"start": "Aloita",
"start_date": "Alkupäivä",
- "state": "Maakunta/osavaltio",
+ "state": "Maakunta",
"status": "Tila",
"stop_motion_photo": "Pysäytä liikkuva kuva",
"stop_photo_sharing": "Lopetetaanko kuvien jakaminen?",
@@ -1704,14 +1746,15 @@
"support_third_party_description": "Immich-asennuksesi on pakattu kolmannen osapuolen toimesta. Kohtaamasi ongelmat saattavat johtua tästä paketista, joten ilmoita niistä ensisijaisesti heille alla olevien linkkien kautta.",
"swap_merge_direction": "Käännä yhdistämissuunta",
"sync": "Synkronoi",
- "sync_albums": "Sync albums",
- "sync_albums_manual_subtitle": "Sync all uploaded videos and photos to the selected backup albums",
- "sync_upload_album_setting_subtitle": "Create and upload your photos and videos to the selected albums on Immich",
+ "sync_albums": "Synkronoi albumit",
+ "sync_albums_manual_subtitle": "Synkronoi kaikki ladatut videot ja valokuvat valittuihin varmuuskopioalbumeihin",
+ "sync_upload_album_setting_subtitle": "Luo ja lataa valokuvasi ja videosi valittuihin albumeihin Immichissä",
"tag": "Lisää tunniste",
"tag_assets": "Lisää tunnisteita",
"tag_created": "Luotu tunniste: {tag}",
"tag_feature_description": "Selaa valokuvia ja videoita, jotka on ryhmitelty loogisten tunnisteotsikoiden mukaan",
"tag_not_found_question": "EtkÃļ lÃļydä tunnistetta? Luo uusi tunniste ",
+ "tag_people": "Merkitse henkilÃļ tunnisteella",
"tag_updated": "Päivitetty tunniste: {tag}",
"tagged_assets": "Tunnistettu {count, plural, one {# kohde} other {# kohdetta}}",
"tags": "Tunnisteet",
@@ -1721,16 +1764,16 @@
"theme_selection_description": "Aseta vaalea tai tumma tila automaattisesti perustuen selaimesi asetuksiin",
"theme_setting_asset_list_storage_indicator_title": "Näytä tallennustilan ilmaisin kohteiden kuvakkeissa",
"theme_setting_asset_list_tiles_per_row_title": "Kohteiden määrä rivillä ({})",
- "theme_setting_colorful_interface_subtitle": "Apply primary color to background surfaces.",
- "theme_setting_colorful_interface_title": "Colorful interface",
+ "theme_setting_colorful_interface_subtitle": "Levitä pääväri taustalle.",
+ "theme_setting_colorful_interface_title": "Värikäs käyttÃļliittymä",
"theme_setting_image_viewer_quality_subtitle": "Säädä kuvien katselun laatua",
"theme_setting_image_viewer_quality_title": "Kuvien katseluohjelman laatu",
- "theme_setting_primary_color_subtitle": "Pick a color for primary actions and accents.",
- "theme_setting_primary_color_title": "Primary color",
- "theme_setting_system_primary_color_title": "Use system color",
+ "theme_setting_primary_color_subtitle": "Valitse sovelluksen pääväri.",
+ "theme_setting_primary_color_title": "Väriteema",
+ "theme_setting_system_primary_color_title": "Käytä järjestelmän väriteemaa",
"theme_setting_system_theme_switch": "Automaattinen (seuraa järjestelmän asetusta)",
"theme_setting_theme_subtitle": "Valitse sovelluksen teema-asetukset",
- "theme_setting_three_stage_loading_subtitle": "Kolmivaiheinen lataaminen saattaa parantaa latauksen suorituskykyä, mutta lisää kaistankäyttÃļä huomattavasti.",
+ "theme_setting_three_stage_loading_subtitle": "Kolmivaiheinen lataus saattaa parantaa lataustehoa, mutta aiheuttaa huomattavasti suuremman verkon kuormituksen",
"theme_setting_three_stage_loading_title": "Ota kolmivaiheinen lataus käyttÃļÃļn",
"they_will_be_merged_together": "Nämä tullaan yhdistämään",
"third_party_resources": "Kolmannen osapuolen resurssit",
@@ -1751,11 +1794,11 @@
"trash_all": "Vie kaikki roskakoriin",
"trash_count": "Roskakori {count, number}",
"trash_delete_asset": "Poista / vie roskakoriin",
- "trash_emptied": "Emptied trash",
+ "trash_emptied": "Roskakori tyhjennetty",
"trash_no_results_message": "Roskakorissa olevat kuvat ja videot näytetään täällä.",
"trash_page_delete_all": "Poista kaikki",
- "trash_page_empty_trash_dialog_content": "Haluatko poistaa roskakoriin siirretyt kohteet? Kohteet poistetaan lopullisesti Immich:sta.",
- "trash_page_info": "Roskakoriin siirretyt kohteet poistetaan lopullisesti {} päivän kuluttua",
+ "trash_page_empty_trash_dialog_content": "Haluatko tyhjentää roskakorin? Kohteet poistetaan lopullisesti Immich:sta",
+ "trash_page_info": "Roskakorissa olevat kohteet poistetaan pysyvästi {} päivän kuluttua",
"trash_page_no_assets": "Ei poistettuja kohteita",
"trash_page_restore_all": "Palauta kaikki",
"trash_page_select_assets_btn": "Valitse kohteet",
@@ -1767,11 +1810,13 @@
"unfavorite": "Poista suosikeista",
"unhide_person": "Poista henkilÃļ piilosta",
"unknown": "Tuntematon",
+ "unknown_country": "Tuntematon maa",
"unknown_year": "Tuntematon vuosi",
"unlimited": "Rajoittamaton",
"unlink_motion_video": "Poista liikevideon linkitys",
"unlink_oauth": "Poista OAuth-linkitys",
"unlinked_oauth_account": "LinkittämätÃļn OAuth-tili",
+ "unmute_memories": "Poista muistojen mykistys",
"unnamed_album": "NimetÃļn albumi",
"unnamed_album_delete_confirmation": "Haluatko varmasti poistaa tämän albumin?",
"unnamed_share": "NimetÃļn jako",
@@ -1795,11 +1840,11 @@
"upload_status_errors": "Virheet",
"upload_status_uploaded": "Ladattu",
"upload_success": "Lataus onnistui. Päivitä sivu jotta näet latauksesi.",
- "upload_to_immich": "Upload to Immich ({})",
- "uploading": "Uploading",
+ "upload_to_immich": "Lähetä Immichiin ({})",
+ "uploading": "Lähettään",
"url": "URL",
"usage": "KäyttÃļ",
- "use_current_connection": "use current connection",
+ "use_current_connection": "käytä nykyistä yhteyttä",
"use_custom_date_range": "Käytä omaa aikaväliä",
"user": "Käyttäjä",
"user_id": "Käyttäjän ID",
@@ -1814,15 +1859,15 @@
"users": "Käyttäjät",
"utilities": "Apuohjelmat",
"validate": "Validoi",
- "validate_endpoint_error": "Please enter a valid URL",
+ "validate_endpoint_error": "Anna kelvollinen URL-osoite",
"variables": "Muuttujat",
"version": "Versio",
"version_announcement_closing": "Ystäväsi Alex",
"version_announcement_message": "Hei! Sovelluksen uusi versio on saatavilla. Käythän vilkaisemassa julkaisun tiedot ja varmistathan, että ohjelman määritykset ovat ajan tasalla. Erityisesti, jos käytÃļssä on Watchtower tai jokin muu mekanismi Immich-sovelluksen automaattista päivitystä varten.",
"version_announcement_overlay_release_notes": "julkaisutiedoissa",
"version_announcement_overlay_text_1": "Hei, kaveri! Uusi palvelinversio on saatavilla sovelluksesta",
- "version_announcement_overlay_text_2": "Ota hetki aikaa vieraillaksesi",
- "version_announcement_overlay_text_3": "ja varmista, että käyttämäsi docker-compose ja .env-asetukset ovat ajantasalla välttyäksesi asetusongelmilta. Varsinkin jos käytät WatchToweria tai jotain muuta mekanismia päivittääksesi palvelinsovellusta automaattisesti.",
+ "version_announcement_overlay_text_2": "Ota hetki aikaa vieraillaksesi ",
+ "version_announcement_overlay_text_3": " ja varmista, että käyttämäsi docker-compose ja .env-asetukset ovat ajantasalla välttyäksesi asetusongelmilta. Varsinkin jos käytät WatchToweria tai jotain muuta mekanismia päivittääksesi palvelinsovellusta automaattisesti.",
"version_announcement_overlay_title": "Uusi palvelinversio saatavilla đ",
"version_history": "Versiohistoria",
"version_history_item": "Asennettu {version} päivänä {date}",
@@ -1836,10 +1881,12 @@
"view_all": "Näytä kaikki",
"view_all_users": "Näytä kaikki käyttäjät",
"view_in_timeline": "Näytä aikajanalla",
+ "view_link": "Näytä linkki",
"view_links": "Näytä linkit",
"view_name": "Näkymä",
"view_next_asset": "Näytä seuraava",
"view_previous_asset": "Näytä edellinen",
+ "view_qr_code": "Näytä QR-koodi",
"view_stack": "Näytä pinona",
"viewer_remove_from_stack": "Poista pinosta",
"viewer_stack_use_as_main_asset": "Käytä pääkohteena",
diff --git a/i18n/fr.json b/i18n/fr.json
index 00a4a281b5..2576eb954f 100644
--- a/i18n/fr.json
+++ b/i18n/fr.json
@@ -39,11 +39,11 @@
"authentication_settings_disable_all": "Ãtes-vous sÃģr de vouloir dÊsactiver toutes les mÊthodes de connexionâ¯? La connexion sera complètement dÊsactivÊe.",
"authentication_settings_reenable": "Pour rÊactiver, utilisez une Commande Serveur.",
"background_task_job": "TÃĸches de fond",
- "backup_database": "Sauvegarde de la base de donnÊes",
- "backup_database_enable_description": "Activer la sauvegarde",
- "backup_keep_last_amount": "Nombre de sauvegardes à conserver",
- "backup_settings": "Paramètres de la sauvegarde",
- "backup_settings_description": "GÊrer les paramètres de la sauvegarde",
+ "backup_database": "CrÊation d'une image de la base de donnÊes",
+ "backup_database_enable_description": "Activer la crÊation d'images de la base de donnÊes",
+ "backup_keep_last_amount": "Nombre d'images à conserver",
+ "backup_settings": "Paramètres de crÊation d'images de la base de donnÊes",
+ "backup_settings_description": "GÊrer les paramètres de crÊation d'images de la base de donnÊes. Note : ces tÃĸches ne sont pas contrôlÊes et vous ne serez pas averti(e) en cas d'Êchec.",
"check_all": "Tout cocher",
"cleanup": "Nettoyage",
"cleared_jobs": "TÃĸches supprimÊes pour : {job}",
@@ -63,7 +63,7 @@
"external_library_created_at": "Bibliothèque externe (crÊÊe le {date})",
"external_library_management": "Gestion de la bibliothèque externe",
"face_detection": "DÊtection des visages",
- "face_detection_description": "DÊtection des visages dans les mÊdias à l'aide de l'apprentissage automatique. Pour les vidÊos, seule la miniature est prise en compte. ÂĢ Actualiser Âģ (re)traite tous les mÊdias. ÂĢ RÊinitialiser Âģ retraite tous les mÊdias en repartant de zÊro. ÂĢ Manquant Âģ met en file d'attente les mÊdias qui n'ont pas encore ÊtÊ pris en compte. Lorsque la dÊtection est terminÊe, tous les visages dÊtectÊs sont ensuite mis en file d'attente pour la reconnaissance faciale.",
+ "face_detection_description": "DÊtection des visages dans les mÊdias à l'aide de l'apprentissage automatique. Pour les vidÊos, seule la miniature est prise en compte. ÂĢ Actualiser Âģ (re)traite tous les mÊdias. ÂĢ RÊinitialiser Âģ retraite tous les visages en repartant de zÊro. ÂĢ Manquant Âģ met en file d'attente les mÊdias qui n'ont pas encore ÊtÊ pris en compte. Lorsque la dÊtection est terminÊe, tous les visages dÊtectÊs sont ensuite mis en file d'attente pour la reconnaissance faciale.",
"facial_recognition_job_description": "Regrouper les visages dÊtectÊs en personnes. Cette Êtape est exÊcutÊe une fois la dÊtection des visages terminÊe. ÂĢ RÊinitialiser Âģ (re)regroupe tous les visages. ÂĢ Manquant Âģ met en file d'attente les visages auxquels aucune personne n'a ÊtÊ attribuÊe.",
"failed_job_command": "La commande {command} a ÊchouÊ pour la tÃĸcheâ¯: {job}",
"force_delete_user_warning": "ATTENTIONâ¯: Cette opÊration entraÃŽne la suppression immÊdiate de l'utilisateur et de tous ses mÊdias. Cette opÊration ne peut ÃĒtre annulÊe et les fichiers ne peuvent ÃĒtre rÊcupÊrÊs.",
@@ -169,7 +169,7 @@
"migration_job_description": "Migration des miniatures pour les mÊdias et les visages vers la dernière structure de dossiers",
"no_paths_added": "Aucun chemin n'a ÊtÊ ajoutÊ",
"no_pattern_added": "Aucun schÊma d'exclusion n'a ÊtÊ ajoutÊ",
- "note_apply_storage_label_previous_assets": "Remarqueâ¯: pour appliquer l'Êtiquette de stockage à des mÊdias prÊcÊdemment envoyÊs, exÊcutez la commande",
+ "note_apply_storage_label_previous_assets": "Remarque : pour appliquer l'Êtiquette de stockage à des mÊdias prÊcÊdemment tÊlÊversÊs, exÊcutez",
"note_cannot_be_changed_later": "REMARQUEâ¯: Il n'est pas possible de modifier ce paramètre ultÊrieurementâ¯!",
"notification_email_from_address": "Depuis l'adresse",
"notification_email_from_address_description": "Adresse courriel de l'expÊditeur, par exempleâ¯: ÂĢ Serveur de photos Immich  Âģ",
@@ -192,26 +192,22 @@
"oauth_auto_register": "Inscription automatique",
"oauth_auto_register_description": "Inscrire automatiquement de nouveaux utilisateurs après leur connexion avec OAuth",
"oauth_button_text": "Texte du bouton",
- "oauth_client_id": "ID du client",
- "oauth_client_secret": "Secret du client",
+ "oauth_client_secret_description": "NÊcessaire si le protocole PKCE (Proof Key for Code Exchange) n'est pas supportÊ mar le fournisseur d'authentification OAuth",
"oauth_enable_description": "Connexion avec OAuth",
- "oauth_issuer_url": "URL de l'Êmetteur",
"oauth_mobile_redirect_uri": "URI de redirection mobile",
"oauth_mobile_redirect_uri_override": "Remplacer l'URI de redirection mobile",
"oauth_mobile_redirect_uri_override_description": "Activer quand le fournisseur d'OAuth ne permet pas un URI mobile, comme '{callback} '",
- "oauth_profile_signing_algorithm": "Algorithme de signature de profil",
- "oauth_profile_signing_algorithm_description": "Algorithme utilisÊ pour signer le profil utilisateur.",
- "oauth_scope": "PÊrimètre",
"oauth_settings": "OAuth",
"oauth_settings_description": "GÊrer les paramètres de connexion OAuth",
"oauth_settings_more_details": "Pour plus de dÊtails sur cette fonctionnalitÊ, consultez ce lien.",
- "oauth_signing_algorithm": "Algorithme de signature",
"oauth_storage_label_claim": "Demande d'Êtiquette de stockage",
"oauth_storage_label_claim_description": "DÊfinir automatiquement l'Êtiquette de stockage de l'utilisateur sur la valeur de cette revendication.",
"oauth_storage_quota_claim": "Demande de quota de stockage",
"oauth_storage_quota_claim_description": "DÊfinir automatiquement le quota de stockage de l'utilisateur par la valeur de cette demande.",
"oauth_storage_quota_default": "Quota de stockage par dÊfaut (Go)",
"oauth_storage_quota_default_description": "Quota en Go à utiliser lorsqu'aucune valeur n'est prÊcisÊe (saisir 0 pour un quota illimitÊ).",
+ "oauth_timeout": "Expiration de la durÊe de la requÃĒte",
+ "oauth_timeout_description": "DÊlai d'expiration des requÃĒtes en millisecondes",
"offline_paths": "Chemins d'accès hors ligne",
"offline_paths_description": "Ces rÊsultats peuvent ÃĒtre dus à la suppression manuelle de fichiers qui ne font pas partie d'une bibliothèque externe.",
"password_enable_description": "Connexion avec courriel et mot de passe",
@@ -250,14 +246,14 @@
"storage_template_hash_verification_enabled": "VÊrification du hachage activÊe",
"storage_template_hash_verification_enabled_description": "Active la vÊrification du hachage, ne dÊsactivez pas cette option à moins d'ÃĒtre sÃģr de ce que vous faites",
"storage_template_migration": "Migration du modèle de stockage",
- "storage_template_migration_description": "Appliquer le modèle courant {template} aux mÊdias prÊcÊdemment envoyÊs",
- "storage_template_migration_info": "L'enregistrement des modèles convertit toutes les extensions en minuscule. Les changements de modèle ne s'appliqueront qu'aux nouveaux mÊdias. Pour appliquer rÊtroactivement le modèle aux mÊdias prÊcÊdemment envoyÊs, exÊcutez la tÃĸche {job}.",
+ "storage_template_migration_description": "Appliquer le modèle courant {template} aux mÊdias prÊcÊdemment tÊlÊversÊs",
+ "storage_template_migration_info": "L'enregistrement des modèles va convertir toutes les extensions en minuscule. Les changements de modèle ne s'appliqueront qu'aux nouveaux mÊdias. Pour appliquer rÊtroactivement le modèle aux mÊdias prÊcÊdemment tÊlÊversÊs, exÊcutez la tÃĸche {job}.",
"storage_template_migration_job": "TÃĸche de migration du modèle de stockage",
"storage_template_more_details": "Pour plus de dÊtails sur cette fonctionnalitÊ, reportez-vous au Modèle de stockage et à ses implications ",
"storage_template_onboarding_description": "Lorsqu'elle est activÊe, cette fonctionnalitÊ rÊorganise les fichiers basÊs sur un modèle dÊfini par l'utilisateur. En raison de problèmes de stabilitÊ, la fonction a ÊtÊ dÊsactivÊe par dÊfaut. Pour plus d'informations, veuillez consulter la documentation.",
"storage_template_path_length": "Limite approximative de la longueur du cheminâ¯: {length, number} /{limit, number}",
"storage_template_settings": "Modèle de stockage",
- "storage_template_settings_description": "GÊrer la structure des dossiers et le nom des fichiers du mÊdia envoyÊ",
+ "storage_template_settings_description": "GÊrer la structure des dossiers et le nom des fichiers du mÊdia tÊlÊversÊ",
"storage_template_user_label": "{label}
est l'Êtiquette de stockage de l'utilisateur",
"system_settings": "Paramètres du système",
"tag_cleanup_job": "Nettoyage des Êtiquettes",
@@ -345,7 +341,7 @@
"trash_settings": "Corbeille",
"trash_settings_description": "GÊrer les paramètres de la corbeille",
"untracked_files": "Fichiers non suivis",
- "untracked_files_description": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent ÃĒtre le rÊsultat d'Êchecs de dÊplacement, d'envois interrompus, ou d'abandons en raison d'un bug",
+ "untracked_files_description": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent ÃĒtre le rÊsultat d'Êchecs de dÊplacement, de tÊlÊversements interrompus, ou d'abandons en raison d'un bug",
"user_cleanup_job": "Nettoyage des utilisateurs",
"user_delete_delay": "La suppression dÊfinitive du compte et des mÊdias de {user} sera programmÊe dans {delay, plural, one {# jour} other {# jours}}.",
"user_delete_delay_settings": "DÊlai de suppression",
@@ -372,7 +368,7 @@
"administration": "Administration",
"advanced": "AvancÊ",
"advanced_settings_enable_alternate_media_filter_subtitle": "Utilisez cette option pour filtrer les mÊdia durant la synchronisation avec des critères alternatifs. N'utilisez cela que lorsque l'application n'arrive pas à dÊtecter tout les albums.",
- "advanced_settings_enable_alternate_media_filter_title": "[EXEPRIMENTAL] Utiliser le filtre de synchronisation d'album alternatif",
+ "advanced_settings_enable_alternate_media_filter_title": "[EXPÃRIMENTAL] Utiliser le filtre de synchronisation d'album alternatif",
"advanced_settings_log_level_title": "Niveau de journalisation : {}",
"advanced_settings_prefer_remote_subtitle": "Certains appareils sont très lents à charger des miniatures à partir de ressources prÊsentes sur l'appareil. Activez ce paramètre pour charger des images externes à la place.",
"advanced_settings_prefer_remote_title": "PrÊfÊrer les images externes",
@@ -381,7 +377,7 @@
"advanced_settings_self_signed_ssl_subtitle": "Permet d'ignorer la vÊrification du certificat SSL pour le point d'accès du serveur. Requis pour les certificats auto-signÊs.",
"advanced_settings_self_signed_ssl_title": "Autoriser les certificats SSL auto-signÊs",
"advanced_settings_sync_remote_deletions_subtitle": "Supprimer ou restaurer automatiquement un mÊdia sur cet appareil lorsqu'une action a ÊtÊ faite sur le web",
- "advanced_settings_sync_remote_deletions_title": "Synchroniser les suppressions depuis le serveur [EXPERIMENTAL]",
+ "advanced_settings_sync_remote_deletions_title": "Synchroniser les suppressions depuis le serveur [EXPÃRIMENTAL]",
"advanced_settings_tile_subtitle": "Paramètres d'utilisateur avancÊs",
"advanced_settings_troubleshooting_subtitle": "Activer des fonctions supplÊmentaires pour le dÊpannage",
"advanced_settings_troubleshooting_title": "DÊpannage",
@@ -429,14 +425,14 @@
"allow_dark_mode": "Autoriser le mode sombre",
"allow_edits": "Autoriser les modifications",
"allow_public_user_to_download": "Permettre aux utilisateurs non connectÊs de tÊlÊcharger",
- "allow_public_user_to_upload": "Permettre l'envoi aux utilisateurs non connectÊs",
+ "allow_public_user_to_upload": "Permettre le tÊlÊversement aux utilisateurs non connectÊs",
"alt_text_qr_code": "Image du code QR",
"anti_clockwise": "Sens anti-horaire",
"api_key": "ClÊ API",
"api_key_description": "Cette valeur ne sera affichÊe qu'une seule fois. Assurez-vous de la copier avant de fermer la fenÃĒtre.",
"api_key_empty": "Le nom de votre clÊ API ne doit pas ÃĒtre vide",
"api_keys": "ClÊs d'API",
- "app_bar_signout_dialog_content": "Ãtes-vous sÃģr de vouloir vous dÊconnecter?",
+ "app_bar_signout_dialog_content": "Ãtes-vous sÃģr(e) de vouloir vous dÊconnecterâ¯?",
"app_bar_signout_dialog_ok": "Oui",
"app_bar_signout_dialog_title": "Se dÊconnecter",
"app_settings": "Paramètres de l'application",
@@ -451,8 +447,8 @@
"archived_count": "{count, plural, one {# archivÊ} other {# archivÊs}}",
"are_these_the_same_person": "Est-ce la mÃĒme personneâ¯?",
"are_you_sure_to_do_this": "Ãtes-vous sÃģr de vouloir faire ceciâ¯?",
- "asset_action_delete_err_read_only": "Impossible de supprimer le(s) ÊlÊment(s) en lecture seule.",
- "asset_action_share_err_offline": "Impossible de rÊcupÊrer le(s) ÊlÊment(s) hors ligne.",
+ "asset_action_delete_err_read_only": "Impossible de supprimer le(s) mÊdia(s) en lecture seule, ils sont ignorÊs",
+ "asset_action_share_err_offline": "Impossible de rÊcupÊrer le(s) mÊdia(s) hors ligne, ils sont ignorÊs",
"asset_added_to_album": "AjoutÊ à l'album",
"asset_adding_to_album": "Ajout à l'albumâĻ",
"asset_description_updated": "La description du mÊdia a ÊtÊ mise à jour",
@@ -472,7 +468,7 @@
"asset_restored_successfully": "ÃlÊment restaurÊ avec succès",
"asset_skipped": "SautÊ",
"asset_skipped_in_trash": "Ã la corbeille",
- "asset_uploaded": "EnvoyÊ",
+ "asset_uploaded": "TÊlÊversÊ",
"asset_uploading": "TÊlÊversementâĻ",
"asset_viewer_settings_subtitle": "Modifier les paramètres du visualiseur photos",
"asset_viewer_settings_title": "Visualiseur d'ÊlÊments",
@@ -481,18 +477,18 @@
"assets_added_to_album_count": "{count, plural, one {# mÊdia ajoutÊ} other {# mÊdias ajoutÊs}} à l'album",
"assets_added_to_name_count": "{count, plural, one {# mÊdia ajoutÊ} other {# mÊdias ajoutÊs}} à {hasName, select, true {{name} } other {new album}}",
"assets_count": "{count, plural, one {# mÊdia} other {# mÊdias}}",
- "assets_deleted_permanently": "{} ÊlÊment(s) supprimÊ(s) dÊfinitivement",
- "assets_deleted_permanently_from_server": "{} ÊlÊment(s) supprimÊ(s) dÊfinitivement du serveur Immich",
+ "assets_deleted_permanently": "{} mÊdia(s) supprimÊ(s) dÊfinitivement",
+ "assets_deleted_permanently_from_server": "{} mÊdia(s) supprimÊ(s) dÊfinitivement du serveur Immich",
"assets_moved_to_trash_count": "{count, plural, one {# mÊdia dÊplacÊ} other {# mÊdias dÊplacÊs}} dans la corbeille",
"assets_permanently_deleted_count": "{count, plural, one {# mÊdia supprimÊ} other {# mÊdias supprimÊs}} dÊfinitivement",
"assets_removed_count": "{count, plural, one {# mÊdia supprimÊ} other {# mÊdias supprimÊs}}",
- "assets_removed_permanently_from_device": "{} ÊlÊment(s) supprimÊ(s) dÊfinitivement de votre appareil",
+ "assets_removed_permanently_from_device": "{} mÊdia(s) supprimÊ(s) dÊfinitivement de votre appareil",
"assets_restore_confirmation": "Ãtes-vous sÃģr de vouloir restaurer tous vos mÊdias de la corbeilleâ¯? Vous ne pouvez pas annuler cette actionâ¯! Notez que les mÊdias hors ligne ne peuvent ÃĒtre restaurÊs de cette façon.",
"assets_restored_count": "{count, plural, one {# mÊdia restaurÊ} other {# mÊdias restaurÊs}}",
"assets_restored_successfully": "ÃlÊment restaurÊ avec succès",
- "assets_trashed": "{} ÊlÊment(s) dÊplacÊ(s) vers la corbeille",
+ "assets_trashed": "{} mÊdia(s) dÊplacÊ(s) vers la corbeille",
"assets_trashed_count": "{count, plural, one {# mÊdia} other {# mÊdias}} mis à la corbeille",
- "assets_trashed_from_server": "{} ÊlÊment(s) dÊplacÊ(s) vers la corbeille du serveur Immich",
+ "assets_trashed_from_server": "{} mÊdia(s) dÊplacÊ(s) vers la corbeille du serveur Immich",
"assets_were_part_of_album_count": "{count, plural, one {Un mÊdia est} other {Des mÊdias sont}} dÊjà dans l'album",
"authorized_devices": "Appareils autorisÊs",
"automatic_endpoint_switching_subtitle": "Se connecter localement lorsque connectÊ au WI-FI spÊcifiÊ mais utiliser une adresse alternative lorsque connectÊ à un autre rÊseau",
@@ -508,13 +504,13 @@
"backup_album_selection_page_selection_info": "Informations sur la sÊlection",
"backup_album_selection_page_total_assets": "Total des ÊlÊments uniques",
"backup_all": "Tout",
- "backup_background_service_backup_failed_message": "Ãchec de la sauvegarde des ÊlÊments. Nouvelle tentative...",
- "backup_background_service_connection_failed_message": "Impossible de se connecter au serveur. Nouvelle tentative...",
- "backup_background_service_current_upload_notification": "Envoi {}",
- "backup_background_service_default_notification": "Recherche de nouveaux ÊlÊments...",
+ "backup_background_service_backup_failed_message": "Ãchec de la sauvegarde des mÊdias. Nouvelle tentativeâĻ",
+ "backup_background_service_connection_failed_message": "Impossible de se connecter au serveur. Nouvelle tentativeâĻ",
+ "backup_background_service_current_upload_notification": "TÊlÊversement {}",
+ "backup_background_service_default_notification": "Recherche de nouveaux mÊdiasâĻ",
"backup_background_service_error_title": "Erreur de sauvegarde",
- "backup_background_service_in_progress_notification": "Sauvegarde de vos ÊlÊments...",
- "backup_background_service_upload_failure_notification": "Ãchec lors de l'envoi {}",
+ "backup_background_service_in_progress_notification": "Sauvegarde de vos mÊdiasâĻ",
+ "backup_background_service_upload_failure_notification": "Ãchec lors du tÊlÊversement {}",
"backup_controller_page_albums": "Sauvegarder les albums",
"backup_controller_page_background_app_refresh_disabled_content": "Activez le rafraÎchissement de l'application en arrière-plan dans Paramètres > GÊnÊral > RafraÎchissement de l'application en arrière-plan afin d'utiliser la sauvegarde en arrière-plan.",
"backup_controller_page_background_app_refresh_disabled_title": "RafraÎchissement de l'application en arrière-plan dÊsactivÊ",
@@ -525,19 +521,19 @@
"backup_controller_page_background_battery_info_title": "Optimisation de la batterie",
"backup_controller_page_background_charging": "Seulement pendant la charge",
"backup_controller_page_background_configure_error": "Ãchec de la configuration du service d'arrière-plan",
- "backup_controller_page_background_delay": "Retarder la sauvegarde des nouveaux ÊlÊments : {}",
- "backup_controller_page_background_description": "Activez le service d'arrière-plan pour sauvegarder automatiquement tous les nouveaux ÊlÊments sans avoir à ouvrir l'application.",
+ "backup_controller_page_background_delay": "Retarder la sauvegarde des nouveaux mÊdias : {}",
+ "backup_controller_page_background_description": "Activez le service d'arrière-plan pour sauvegarder automatiquement tous les nouveaux mÊdias sans avoir à ouvrir l'application",
"backup_controller_page_background_is_off": "La sauvegarde automatique en arrière-plan est dÊsactivÊe",
"backup_controller_page_background_is_on": "La sauvegarde automatique en arrière-plan est activÊe",
"backup_controller_page_background_turn_off": "DÊsactiver le service d'arrière-plan",
"backup_controller_page_background_turn_on": "Activer le service d'arrière-plan",
- "backup_controller_page_background_wifi": "Uniquement sur WiFi",
+ "backup_controller_page_background_wifi": "Uniquement en wifi",
"backup_controller_page_backup": "SauvegardÊ",
- "backup_controller_page_backup_selected": "SÊlectionnÊ: ",
+ "backup_controller_page_backup_selected": "SÊlectionnÊ : ",
"backup_controller_page_backup_sub": "Photos et vidÊos sauvegardÊes",
"backup_controller_page_created": "CrÊÊ le : {}",
- "backup_controller_page_desc_backup": "Activez la sauvegarde pour envoyer automatiquement les nouveaux ÊlÊments sur le serveur.",
- "backup_controller_page_excluded": "Exclus: ",
+ "backup_controller_page_desc_backup": "Activez la sauvegarde au premier plan pour tÊlÊverser automatiquement les nouveaux mÊdias sur le serveur lors de l'ouverture de l'application.",
+ "backup_controller_page_excluded": "Exclus : ",
"backup_controller_page_failed": "Ãchec de l'opÊration ({})",
"backup_controller_page_filename": "Nom du fichier : {} [{}]",
"backup_controller_page_id": "IDÂ : {}",
@@ -554,15 +550,15 @@
"backup_controller_page_total_sub": "Toutes les photos et vidÊos uniques des albums sÊlectionnÊs",
"backup_controller_page_turn_off": "DÊsactiver la sauvegarde",
"backup_controller_page_turn_on": "Activer la sauvegarde",
- "backup_controller_page_uploading_file_info": "Transfert des informations du fichier",
+ "backup_controller_page_uploading_file_info": "TÊlÊversement des informations du fichier",
"backup_err_only_album": "Impossible de retirer le seul album",
"backup_info_card_assets": "ÊlÊments",
"backup_manual_cancelled": "AnnulÊ",
- "backup_manual_in_progress": "TÊlÊchargement dÊjà en cours. Essayez après un instant",
- "backup_manual_success": "Succès ",
- "backup_manual_title": "Statut du tÊlÊchargement ",
+ "backup_manual_in_progress": "TÊlÊversement dÊjà en cours. RÊessayez plus tard",
+ "backup_manual_success": "Succès",
+ "backup_manual_title": "Statut du tÊlÊversement",
"backup_options_page_title": "Options de sauvegarde",
- "backup_setting_subtitle": "Ajuster les paramètres de sauvegarde",
+ "backup_setting_subtitle": "Ajuster les paramètres de tÊlÊversement au premier et en arrière-plan",
"backward": "Arrière",
"birthdate_saved": "Date de naissance enregistrÊe avec succès",
"birthdate_set_description": "La date de naissance est utilisÊe pour calculer l'Ãĸge de cette personne au moment oÚ la photo a ÊtÊ prise.",
@@ -574,21 +570,21 @@
"bulk_keep_duplicates_confirmation": "Ãtes-vous sÃģr de vouloir conserver {count, plural, one {# doublon} other {# doublons}}â¯? Cela rÊsoudra tous les groupes de doublons sans rien supprimer.",
"bulk_trash_duplicates_confirmation": "Ãtes-vous sÃģr de vouloir mettre à la corbeille {count, plural, one {# doublon} other {# doublons}}â¯? Cette opÊration permet de conserver le plus grand mÊdia de chaque groupe et de mettre à la corbeille tous les autres doublons.",
"buy": "Acheter Immich",
- "cache_settings_album_thumbnails": "Page des miniatures de la bibliothèque ({} ÊlÊments)",
+ "cache_settings_album_thumbnails": "Page des miniatures de la bibliothèque ({} mÊdias)",
"cache_settings_clear_cache_button": "Effacer le cache",
"cache_settings_clear_cache_button_title": "Efface le cache de l'application. Cela aura un impact significatif sur les performances de l'application jusqu'Ã ce que le cache soit reconstruit.",
"cache_settings_duplicated_assets_clear_button": "EFFACER",
"cache_settings_duplicated_assets_subtitle": "Photos et vidÊos qui sont exclues par l'application",
- "cache_settings_duplicated_assets_title": "ÃlÊments dupliquÊs ({})",
- "cache_settings_image_cache_size": "Taille du cache des images ({} ÊlÊments)",
+ "cache_settings_duplicated_assets_title": "MÊdias dupliquÊs ({})",
+ "cache_settings_image_cache_size": "Taille du cache des images ({} mÊdias)",
"cache_settings_statistics_album": "Miniatures de la bibliothèque",
- "cache_settings_statistics_assets": "{} ÊlÊments ({})",
+ "cache_settings_statistics_assets": "{} mÊdias ({})",
"cache_settings_statistics_full": "Images complètes",
"cache_settings_statistics_shared": "Miniatures de l'album partagÊ",
"cache_settings_statistics_thumbnail": "Miniatures",
"cache_settings_statistics_title": "Utilisation du cache",
"cache_settings_subtitle": "Contrôler le comportement de mise en cache de l'application mobile Immich",
- "cache_settings_thumbnail_size": "Taille du cache des miniatures ({} ÊlÊments)",
+ "cache_settings_thumbnail_size": "Taille du cache des miniatures ({} mÊdias)",
"cache_settings_tile_subtitle": "Contrôler le comportement du stockage local",
"cache_settings_tile_title": "Stockage local",
"cache_settings_title": "Paramètres de mise en cache",
@@ -658,13 +654,13 @@
"contain": "Contenu",
"context": "Contexte",
"continue": "Continuer",
- "control_bottom_app_bar_album_info_shared": "{} ÊlÊments ¡ PartagÊs",
+ "control_bottom_app_bar_album_info_shared": "{} mÊdias ¡ PartagÊs",
"control_bottom_app_bar_create_new_album": "CrÊer un nouvel album",
"control_bottom_app_bar_delete_from_immich": "Supprimer de Immich",
"control_bottom_app_bar_delete_from_local": "Supprimer de l'appareil",
"control_bottom_app_bar_edit_location": "Modifier la localisation",
"control_bottom_app_bar_edit_time": "Modifier la date et l'heure",
- "control_bottom_app_bar_share_link": "Share Link",
+ "control_bottom_app_bar_share_link": "Lien partagÊ",
"control_bottom_app_bar_share_to": "Partager à ",
"control_bottom_app_bar_trash_from_immich": "DÊplacer vers la corbeille",
"copied_image_to_clipboard": "Image copiÊe dans le presse-papiers.",
@@ -699,7 +695,7 @@
"crop": "Recadrer",
"curated_object_page_title": "Objets",
"current_device": "Appareil actuel",
- "current_server_address": "Adresse actuelle du serveur ",
+ "current_server_address": "Adresse actuelle du serveur",
"custom_locale": "Paramètres rÊgionaux personnalisÊs",
"custom_locale_description": "Afficher les dates et nombres en fonction des paramètres rÊgionaux",
"daily_title_text_date": "E, dd MMM",
@@ -722,10 +718,10 @@
"delete": "Supprimer",
"delete_album": "Supprimer l'album",
"delete_api_key_prompt": "Voulez-vous vraiment supprimer cette clÊ API�",
- "delete_dialog_alert": "Ces ÊlÊments seront dÊfinitivement supprimÊs de Immich et de votre appareil.",
- "delete_dialog_alert_local": "Ces ÊlÊments seront dÊfinitivement supprimÊs de votre appareil mais resteront disponibles sur le serveur d'Immich.",
- "delete_dialog_alert_local_non_backed_up": "Certains ÊlÊments ne sont pas sauvegardÊs sur Immich et seront dÊfinitivement supprimÊs de votre appareil.",
- "delete_dialog_alert_remote": "Ces ÊlÊments seront dÊfinitivement supprimÊs du serveur Immich.",
+ "delete_dialog_alert": "Ces mÊdias seront dÊfinitivement supprimÊs de Immich et de votre appareil",
+ "delete_dialog_alert_local": "Ces mÊdias seront dÊfinitivement supprimÊs de votre appareil mais resteront disponibles sur le serveur d'Immich",
+ "delete_dialog_alert_local_non_backed_up": "Certains mÊdias ne sont pas sauvegardÊs sur Immich et seront dÊfinitivement supprimÊs de votre appareil",
+ "delete_dialog_alert_remote": "Ces mÊdias seront dÊfinitivement supprimÊs du serveur Immich",
"delete_dialog_ok_force": "Supprimer tout de mÃĒme",
"delete_dialog_title": "Supprimer dÊfinitivement",
"delete_duplicates_confirmation": "Ãtes-vous certain de vouloir supprimer dÊfinitivement ces doublonsâ¯?",
@@ -782,7 +778,7 @@
"downloading": "TÊlÊchargement",
"downloading_asset_filename": "TÊlÊchargement du mÊdia {filename}",
"downloading_media": "TÊlÊchargement du mÊdia",
- "drop_files_to_upload": "DÊposez les fichiers n'importe oÚ pour envoyer",
+ "drop_files_to_upload": "DÊposez les fichiers n'importe oÚ pour tÊlÊverser",
"duplicates": "Doublons",
"duplicates_description": "Examiner chaque groupe et indiquer s'il y a des doublons",
"duration": "DurÊe",
@@ -818,7 +814,7 @@
"enabled": "ActivÊ",
"end_date": "Date de fin",
"enqueued": "Mis en file",
- "enter_wifi_name": "Entrez le nom du rÊseau ",
+ "enter_wifi_name": "Entrez le nom du rÊseau wifi",
"error": "Erreur",
"error_change_sort_album": "Impossible de modifier l'ordre de tri des albums",
"error_delete_face": "Erreur lors de la suppression du visage pour le mÊdia",
@@ -853,10 +849,12 @@
"failed_to_keep_this_delete_others": "Impossible de conserver ce mÊdia et de supprimer les autres mÊdias",
"failed_to_load_asset": "Impossible de charger le mÊdia",
"failed_to_load_assets": "Impossible de charger les mÊdias",
+ "failed_to_load_notifications": "Erreur de rÊcupÊration des notifications",
"failed_to_load_people": "Impossible de charger les personnes",
"failed_to_remove_product_key": "Ãchec de suppression de la clÊ du produit",
"failed_to_stack_assets": "Impossible d'empiler les mÊdias",
"failed_to_unstack_assets": "Impossible de dÊpiler les mÊdias",
+ "failed_to_update_notification_status": "Erreur de mise à jour du statut des notifications",
"import_path_already_exists": "Ce chemin d'importation existe dÊjà .",
"incorrect_email_or_password": "Courriel ou mot de passe incorrect",
"paths_validation_failed": "Validation ÊchouÊe pour {paths, plural, one {# un chemin} other {# plusieurs chemins}}",
@@ -949,7 +947,7 @@
"unable_to_update_settings": "Impossible de mettre à jour les paramètres",
"unable_to_update_timeline_display_status": "Impossible de mettre à jour le statut d'affichage de la vue chronologique",
"unable_to_update_user": "Impossible de mettre à jour l'utilisateur",
- "unable_to_upload_file": "Impossible d'envoyer le fichier"
+ "unable_to_upload_file": "Impossible de tÊlÊverser le fichier"
},
"exif": "Exif",
"exif_bottom_sheet_description": "Ajouter une description...",
@@ -965,7 +963,7 @@
"expand_all": "Tout dÊvelopper",
"experimental_settings_new_asset_list_subtitle": "En cours de dÊveloppement",
"experimental_settings_new_asset_list_title": "Activer la grille de photos expÊrimentale",
- "experimental_settings_subtitle": "Utilisez à vos dÊpends!",
+ "experimental_settings_subtitle": "Utilisez à vos dÊpendsâ¯!",
"experimental_settings_title": "ExpÊrimental",
"expire_after": "Expire",
"expired": "ExpirÊ",
@@ -978,7 +976,7 @@
"external": "Externe",
"external_libraries": "Bibliothèques externes",
"external_network": "RÊseau externe",
- "external_network_sheet_info": "Quand vous n'ÃĒtes pas connectÊ à votre rÊseau prÊfÊrÊ, l'application va tenter de se connecter aux adresses ci-dessous, en commençant par la première",
+ "external_network_sheet_info": "Quand vous n'ÃĒtes pas connectÊ(e) à votre rÊseau wifi prÊfÊrÊ, l'application va tenter de se connecter aux adresses ci-dessous, en commençant par la première",
"face_unassigned": "Non attribuÊ",
"failed": "Ãchec",
"failed_to_load_assets": "Ãchec du chargement des ressources",
@@ -996,6 +994,7 @@
"filetype": "Type de fichier",
"filter": "Filtres",
"filter_people": "Filtrer les personnes",
+ "filter_places": "Filtrer par lieu",
"find_them_fast": "Pour les retrouver rapidement par leur nom",
"fix_incorrect_match": "Corriger une association incorrecte",
"folder": "Dossier",
@@ -1005,12 +1004,12 @@
"forward": "Avant",
"general": "GÊnÊral",
"get_help": "Obtenir de l'aide",
- "get_wifiname_error": "Impossible d'obtenir le nom du rÊseau Wi-Fi. Assurez-vous d'avoir donnÊ les permissions nÊcessaires à l'application et que vous ÃĒtes connectÊ à un rÊseau Wi-Fi.",
+ "get_wifiname_error": "Impossible d'obtenir le nom du rÊseau wifi. Assurez-vous d'avoir donnÊ les permissions nÊcessaires à l'application et que vous ÃĒtes connectÊ à un rÊseau wifi",
"getting_started": "Commencer",
"go_back": "Retour",
"go_to_folder": "Dossier",
"go_to_search": "Faire une recherche",
- "grant_permission": "Accorder les permissions ",
+ "grant_permission": "Accorder les permissions",
"group_albums_by": "Grouper les albums par...",
"group_country": "Grouper par pays",
"group_no": "Pas de groupe",
@@ -1034,23 +1033,23 @@
"hide_person": "Masquer la personne",
"hide_unnamed_people": "Cacher les personnes non nommÊes",
"home_page_add_to_album_conflicts": "{added} ÊlÊments ajoutÊs à l'album {album}. Les ÊlÊments {failed} sont dÊjà dans l'album.",
- "home_page_add_to_album_err_local": "Impossible d'ajouter des ÊlÊments locaux aux albums pour le moment, Êtape ignorÊe",
+ "home_page_add_to_album_err_local": "Impossible d'ajouter des mÊdias locaux aux albums, ils sont ignorÊs",
"home_page_add_to_album_success": "{added} ÊlÊments ajoutÊs à l'album {album}.",
- "home_page_album_err_partner": "Il n'est pas encore possible d'ajouter des ÊlÊments d'un partenaire à un album.",
- "home_page_archive_err_local": "Impossible d'archiver les ressources locales pour l'instant, Êtape ignorÊe",
- "home_page_archive_err_partner": "Impossible d'archiver les ÊlÊments d'un partenaire.",
+ "home_page_album_err_partner": "Impossible d'ajouter des mÊdias d'un partenaire à un album, ils sont ignorÊs",
+ "home_page_archive_err_local": "Impossible d'archiver les mÊdias locaux, ils sont ignorÊs",
+ "home_page_archive_err_partner": "Impossible d'archiver les mÊdias d'un partenaire, ils sont ignorÊs",
"home_page_building_timeline": "Construction de la chronologie",
- "home_page_delete_err_partner": "Ne peut pas supprimer les ÊlÊments d'un partenaire.",
- "home_page_delete_remote_err_local": "Des ÊlÊments locaux sont dans la sÊlection de suppression à distance, ils sont donc ignorÊs.",
- "home_page_favorite_err_local": "Impossible d'ajouter des ÊlÊments locaux aux favoris pour le moment, Êtape ignorÊe",
- "home_page_favorite_err_partner": "Il n'est pas encore possible de mettre en favori les ÊlÊments d'un partenaire.",
- "home_page_first_time_notice": "Si c'est la première fois que vous utilisez l'application, veillez à choisir un ou plusieurs albums de sauvegarde afin que la chronologie puisse alimenter les photos et les vidÊos de cet ou ces albums.",
- "home_page_share_err_local": "Impossible de partager par lien les mÊdias locaux, cette opÊration est donc ignorÊe.",
- "home_page_upload_err_limit": "Limite de tÊlÊchargement de 30 ÊlÊments en mÃĒme temps, demande ignorÊe",
+ "home_page_delete_err_partner": "Impossible de supprimer les mÊdias d'un partenaire, ils sont ignorÊs",
+ "home_page_delete_remote_err_local": "Des mÊdias locaux sont dans la sÊlection de suppression à distance, ils sont ignorÊs",
+ "home_page_favorite_err_local": "Impossible d'ajouter des mÊdias locaux aux favoris, ils sont ignorÊs",
+ "home_page_favorite_err_partner": "Impossible de mettre en favori les mÊdias d'un partenaire, ils sont ignorÊs",
+ "home_page_first_time_notice": "Si c'est la première fois que vous utilisez l'application, veillez à choisir un ou plusieurs albums de sauvegarde afin que la chronologie puisse alimenter les photos et les vidÊos de cet ou ces albums",
+ "home_page_share_err_local": "Impossible de partager par lien les mÊdias locaux, ils sont ignorÊs",
+ "home_page_upload_err_limit": "Impossible de tÊlÊverser plus de 30 mÊdias en mÃĒme temps, demande ignorÊe",
"host": "Hôte",
"hour": "Heure",
"ignore_icloud_photos": "Ignorer les photos iCloud",
- "ignore_icloud_photos_description": "Les photos stockÊes sur iCloud ne sont pas enregistrÊes sur Immich",
+ "ignore_icloud_photos_description": "Les photos stockÊes sur iCloud ne sont pas tÊlÊversÊes sur le serveur Immich",
"image": "Image",
"image_alt_text_date": "{isVideo, select, true {Video} other {Image}} prise le {date}",
"image_alt_text_date_1_person": "{isVideo, select, true {Video} other {Image}} prise avec {person1} le {date}",
@@ -1123,8 +1122,8 @@
"loading_search_results_failed": "Chargement des rÊsultats ÊchouÊ",
"local_network": "RÊseau local",
"local_network_sheet_info": "L'application va se connecter au serveur via cette URL quand l'appareil est connectÊ à ce rÊseau Wi-Fi",
- "location_permission": "Autorisation de localisation ",
- "location_permission_content": "Afin de pouvoir changer d'adresse automatiquement, Immich doit avoir accès à la localisation prÊcise, afin d'accÊder au le nom du rÊseau Wi-Fi utilisÊ",
+ "location_permission": "Autorisation de localisation",
+ "location_permission_content": "Afin de pouvoir changer d'adresse automatiquement, Immich doit avoir accès à la localisation prÊcise, afin d'accÊder au nom du rÊseau wifi utilisÊ",
"location_picker_choose_on_map": "SÊlectionner sur la carte",
"location_picker_latitude_error": "Saisir une latitude correcte",
"location_picker_latitude_hint": "Saisir la latitude ici",
@@ -1135,8 +1134,8 @@
"logged_out_all_devices": "DÊconnectÊ de tous les appareils",
"logged_out_device": "DÊconnectÊ de l'appareil",
"login": "Connexion",
- "login_disabled": "La connexion a ÊtÊ dÊsactivÊe ",
- "login_form_api_exception": "Erreur de l'API. Veuillez vÊrifier l'URL du serveur et et rÊessayer.",
+ "login_disabled": "La connexion a ÊtÊ dÊsactivÊe",
+ "login_form_api_exception": "Erreur de l'API. Veuillez vÊrifier l'URL du serveur et rÊessayer.",
"login_form_back_button_text": "Retour",
"login_form_email_hint": "votrecourriel@email.com",
"login_form_endpoint_hint": "http://adresse-ip-serveur:port",
@@ -1179,12 +1178,12 @@
"map_cannot_get_user_location": "Impossible d'obtenir la localisation de l'utilisateur",
"map_location_dialog_yes": "Oui",
"map_location_picker_page_use_location": "Utiliser ma position",
- "map_location_service_disabled_content": "Le service de localisation doit ÃĒtre activÊ pour afficher les ÊlÊments de votre emplacement actuel. Souhaitez-vous l'activer maintenant?",
+ "map_location_service_disabled_content": "Le service de localisation doit ÃĒtre activÊ pour afficher les mÊdias de votre emplacement actuel. Souhaitez-vous l'activer maintenantâ¯?",
"map_location_service_disabled_title": "Service de localisation dÊsactivÊ",
"map_marker_for_images": "Marqueur de carte pour les images prises à {city}, {country}",
"map_marker_with_image": "Marqueur de carte avec image",
"map_no_assets_in_bounds": "Pas de photos dans cette zone",
- "map_no_location_permission_content": "L'autorisation de localisation est nÊcessaire pour afficher les ÊlÊments de votre emplacement actuel. Souhaitez-vous l'autoriser maintenant?",
+ "map_no_location_permission_content": "L'autorisation de localisation est nÊcessaire pour afficher les mÊdias de votre emplacement actuel. Souhaitez-vous l'autoriser maintenant�",
"map_no_location_permission_title": "Permission de localisation refusÊe",
"map_settings": "Paramètres de la carte",
"map_settings_dark_mode": "Mode sombre",
@@ -1198,6 +1197,9 @@
"map_settings_only_show_favorites": "Afficher uniquement les favoris",
"map_settings_theme_settings": "Thème de la carte",
"map_zoom_to_see_photos": "DÊzoomer pour voir les photos",
+ "mark_all_as_read": "Tout marquer comme lu",
+ "mark_as_read": "Marquer comme lu",
+ "marked_all_as_read": "Tout a ÊtÊ marquÊ comme lu",
"matches": "Correspondances",
"media_type": "Type de mÊdia",
"memories": "Souvenirs",
@@ -1224,14 +1226,16 @@
"month": "Mois",
"monthly_title_text_date_format": "MMMM y",
"more": "Plus",
+ "moved_to_archive": "{count, plural, one {# ÊlÊment dÊplacÊ} other {# ÊlÊments dÊplacÊs}} vers les archives",
+ "moved_to_library": "{count, plural, one {# ÊlÊment dÊplacÊ} other {# ÊlÊments dÊplacÊs}} vers la bibliothèque",
"moved_to_trash": "DÊplacÊ dans la corbeille",
- "multiselect_grid_edit_date_time_err_read_only": "Impossible de modifier la date d'un ÊlÊment d'actif en lecture seule.",
- "multiselect_grid_edit_gps_err_read_only": "Impossible de modifier l'emplacement d'un ÊlÊment en lecture seule.",
+ "multiselect_grid_edit_date_time_err_read_only": "Impossible de modifier la date de mÊdias en lecture seule, ils sont ignorÊs",
+ "multiselect_grid_edit_gps_err_read_only": "Impossible de modifier l'emplacement de mÊdias en lecture seule, ils sont ignorÊs",
"mute_memories": "Mettre en sourdine les souvenirs",
"my_albums": "Mes albums",
"name": "Nom",
"name_or_nickname": "Nom ou surnom",
- "networking_settings": "RÊseau ",
+ "networking_settings": "RÊseau",
"networking_subtitle": "GÊrer les adresses du serveur",
"never": "Jamais",
"new_album": "Nouvel Album",
@@ -1248,21 +1252,23 @@
"no_albums_with_name_yet": "Il semble que vous n'ayez pas encore d'albums avec ce nom.",
"no_albums_yet": "Il semble que vous n'ayez pas encore d'album.",
"no_archived_assets_message": "Archiver des photos et vidÊos pour les masquer dans votre bibliothèque",
- "no_assets_message": "CLIQUER ICI POUR ENVOYER VOTRE PREMIÃRE PHOTO",
+ "no_assets_message": "CLIQUER ICI POUR TÃLÃVERSER VOTRE PREMIÃRE PHOTO",
"no_assets_to_show": "Aucun ÊlÊment à afficher",
"no_duplicates_found": "Aucun doublon n'a ÊtÊ trouvÊ.",
"no_exif_info_available": "Aucune information exif disponible",
- "no_explore_results_message": "Envoyez plus de photos pour explorer votre collection.",
+ "no_explore_results_message": "TÊlÊversez plus de photos pour explorer votre collection.",
"no_favorites_message": "Ajouter des photos et vidÊos à vos favoris pour les retrouver plus rapidement",
"no_libraries_message": "CrÊer une bibliothèque externe pour voir vos photos et vidÊos dans un autre espace de stockage",
"no_name": "Pas de nom",
+ "no_notifications": "Pas de notification",
+ "no_people_found": "Aucune personne correspondante trouvÊe",
"no_places": "Pas de lieu",
"no_results": "Aucun rÊsultat",
"no_results_description": "Essayez un synonyme ou un mot-clÊ plus gÊnÊral",
"no_shared_albums_message": "CrÊer un album pour partager vos photos et vidÊos avec les personnes de votre rÊseau",
"not_in_any_album": "Dans aucun album",
"not_selected": "Non sÊlectionnÊ",
- "note_apply_storage_label_to_previously_uploaded assets": "Noteâ¯: Pour appliquer l'Êtiquette de stockage aux mÊdias dÊjà envoyÊs, lancer la",
+ "note_apply_storage_label_to_previously_uploaded assets": "Note : Pour appliquer l'Êtiquette de stockage aux mÊdias dÊjà tÊlÊversÊs, exÊcutez",
"notes": "Notes",
"notification_permission_dialog_content": "Pour activer les notifications, allez dans Paramètres et sÊlectionnez Autoriser.",
"notification_permission_list_tile_content": "Accordez la permission d'activer les notifications.",
@@ -1344,9 +1350,9 @@
"permission_onboarding_get_started": "Commencer",
"permission_onboarding_go_to_settings": "AccÊder aux paramètres",
"permission_onboarding_permission_denied": "Permission refusÊe. Pour utiliser Immich, accordez lautorisation pour les photos et vidÊos dans les Paramètres.",
- "permission_onboarding_permission_granted": "Permission accordÊe! Vous ÃĒtes prÃĒts.",
+ "permission_onboarding_permission_granted": "Permission accordÊeâ¯! Vous ÃĒtes prÃĒts.",
"permission_onboarding_permission_limited": "Permission limitÊe. Pour permettre à Immich de sauvegarder et de gÊrer l'ensemble de votre bibliothèque, accordez l'autorisation pour les photos et vidÊos dans les Paramètres.",
- "permission_onboarding_request": "Immich demande l'autorisation de visionner vos photos et vidÊo",
+ "permission_onboarding_request": "Immich nÊcessite l'autorisation d'accÊder à vos photos et vidÊos.",
"person": "Personne",
"person_birthdate": "NÊ(e) le {date}",
"person_hidden": "{name}{hidden, select, true { (cachÊ)} other {}}",
@@ -1431,6 +1437,8 @@
"recent_searches": "Recherches rÊcentes",
"recently_added": "RÊcemment ajoutÊ",
"recently_added_page_title": "RÊcemment ajoutÊ",
+ "recently_taken": "RÊcemment photographiÊ",
+ "recently_taken_page_title": "RÊcemment photographiÊ",
"refresh": "Actualiser",
"refresh_encoded_videos": "Actualiser les vidÊos encodÊes",
"refresh_faces": "Actualiser les visages",
@@ -1465,7 +1473,7 @@
"rename": "Renommer",
"repair": "RÊparer",
"repair_no_results_message": "Les fichiers non importÊs ou absents s'afficheront ici",
- "replace_with_upload": "Remplacer par tÊlÊchargement",
+ "replace_with_upload": "Remplacer par tÊlÊversement",
"repository": "DÊpôt",
"require_password": "Demander le mot de passe",
"require_user_to_change_password_on_first_login": "Demander à l'utilisateur de changer son mot de passe lors de sa première connexion",
@@ -1481,7 +1489,7 @@
"restore_user": "Restaurer l'utilisateur",
"restored_asset": "MÊdia restaurÊ",
"resume": "Reprendre",
- "retry_upload": "RÊessayer l'envoi",
+ "retry_upload": "RÊessayer le tÊlÊversement",
"review_duplicates": "Consulter les doublons",
"role": "Rôle",
"role_editor": "Ãditeur",
@@ -1523,7 +1531,7 @@
"search_filter_people_title": "SÊlectionner une personne",
"search_for": "Chercher",
"search_for_existing_person": "Rechercher une personne existante",
- "search_no_more_result": "\nPlus de rÊsultats",
+ "search_no_more_result": "Plus de rÊsultats",
"search_no_people": "Aucune personne",
"search_no_people_named": "Aucune personne nommÊe ÂĢ {name} Âģ",
"search_no_result": "Aucun rÊsultat trouvÊ, essayez un autre terme de recherche ou une autre combinaison",
@@ -1534,7 +1542,7 @@
"search_page_no_places": "Aucune information disponible sur la localisation",
"search_page_screenshots": "Captures d'Êcran",
"search_page_search_photos_videos": "Rechercher dans vos photos et vidÊos",
- "search_page_selfies": "Selfies",
+ "search_page_selfies": "Autoportraits (Selfies)",
"search_page_things": "Objets",
"search_page_view_all_button": "Voir tout",
"search_page_your_activity": "Votre activitÊ",
@@ -1545,7 +1553,7 @@
"search_result_page_new_search_hint": "Nouvelle recherche",
"search_settings": "Paramètres de recherche",
"search_state": "Rechercher par Êtat/rÊgion...",
- "search_suggestion_list_smart_search_hint_1": "La recherche intelligente est activÊe par dÊfaut. Pour rechercher des mÊtadonnÊes, utilisez la syntaxe suivante",
+ "search_suggestion_list_smart_search_hint_1": "La recherche intelligente est activÊe par dÊfaut. Pour rechercher des mÊtadonnÊes, utilisez la syntaxe suivante ",
"search_suggestion_list_smart_search_hint_2": "m:votre-terme-de-recherche",
"search_tags": "Recherche d'Êtiquettes...",
"search_timezone": "Rechercher par fuseau horaire...",
@@ -1565,6 +1573,7 @@
"select_keep_all": "Choisir de tout garder",
"select_library_owner": "SÊlectionner le propriÊtaire de la bibliothèque",
"select_new_face": "SÊlectionner un nouveau visage",
+ "select_person_to_tag": "SÊlectionner une personne à identifier",
"select_photos": "SÊlectionner les photos",
"select_trash_all": "Choisir de tout supprimer",
"select_user_for_sharing_page_err_album": "Ãchec de la crÊation de l'album",
@@ -1587,7 +1596,7 @@
"set_profile_picture": "DÊfinir la photo de profil",
"set_slideshow_to_fullscreen": "Afficher le diaporama en plein Êcran",
"setting_image_viewer_help": "Le visualiseur de dÊtails charge d'abord la petite miniature, puis l'aperçu de taille moyenne (s'il est activÊ), enfin l'original (s'il est activÊ).",
- "setting_image_viewer_original_subtitle": "Activez cette option pour charger l'image en rÊsolution originale (volumineux!). DÊsactiver pour rÊduire l'utilisation des donnÊes (rÊseau et cache de l'appareil).",
+ "setting_image_viewer_original_subtitle": "Activez cette option pour charger l'image en rÊsolution originale (fichier volumineuxâ¯!). DÊsactiver pour rÊduire l'utilisation des donnÊes (rÊseau et cache de l'appareil).",
"setting_image_viewer_original_title": "Charger l'image originale",
"setting_image_viewer_preview_subtitle": "Activer pour charger une image de rÊsolution moyenne. DÊsactiver pour charger directement l'original ou utiliser uniquement la miniature.",
"setting_image_viewer_preview_title": "Charger l'image d'aperçu",
@@ -1595,16 +1604,16 @@
"setting_languages_apply": "Appliquer",
"setting_languages_subtitle": "Changer la langue de l'application",
"setting_languages_title": "Langues",
- "setting_notifications_notify_failures_grace_period": "Notifier les Êchecs de sauvegarde en arrière-plan : {}",
+ "setting_notifications_notify_failures_grace_period": "Notifier les Êchecs de la sauvegarde en arrière-plan : {}",
"setting_notifications_notify_hours": "{} heures",
"setting_notifications_notify_immediately": "immÊdiatement",
"setting_notifications_notify_minutes": "{} minutes",
"setting_notifications_notify_never": "jamais",
"setting_notifications_notify_seconds": "{} secondes",
- "setting_notifications_single_progress_subtitle": "Informations dÊtaillÊes sur la progression du transfert par ÊlÊment",
+ "setting_notifications_single_progress_subtitle": "Informations dÊtaillÊes sur la progression du tÊlÊversement par mÊdia",
"setting_notifications_single_progress_title": "Afficher la progression du dÊtail de la sauvegarde en arrière-plan",
"setting_notifications_subtitle": "Ajustez vos prÊfÊrences de notification",
- "setting_notifications_total_progress_subtitle": "Progression globale du transfert (effectuÊ/total des ÊlÊments)",
+ "setting_notifications_total_progress_subtitle": "Progression globale du tÊlÊversement (effectuÊ/total des mÊdias)",
"setting_notifications_total_progress_title": "Afficher la progression totale de la sauvegarde en arrière-plan",
"setting_video_viewer_looping_title": "Boucle",
"setting_video_viewer_original_video_subtitle": "Lors de la diffusion d'une vidÊo depuis le serveur, lisez l'original mÃĒme si un transcodage est disponible. Cela peut entraÃŽner de la mise en mÊmoire tampon. Les vidÊos disponibles localement sont lues en qualitÊ d'origine, quel que soit ce paramètre.",
@@ -1618,7 +1627,7 @@
"share_dialog_preparing": "PrÊparation...",
"shared": "PartagÊ",
"shared_album_activities_input_disable": "Les commentaires sont dÊsactivÊs",
- "shared_album_activity_remove_content": "Souhaitez-vous supprimer cette activitÊ?",
+ "shared_album_activity_remove_content": "Souhaitez-vous supprimer cette activit�",
"shared_album_activity_remove_title": "Supprimer l'activitÊ",
"shared_album_section_people_action_error": "Erreur lors de la suppression",
"shared_album_section_people_action_leave": "Supprimer l'utilisateur de l'album",
@@ -1628,9 +1637,9 @@
"shared_by_user": "PartagÊ par {user}",
"shared_by_you": "PartagÊ par vous",
"shared_from_partner": "Photos de {partner}",
- "shared_intent_upload_button_progress_text": "{} / {} EnvoyÊs",
+ "shared_intent_upload_button_progress_text": "{} / {} TÊlÊversÊ",
"shared_link_app_bar_title": "Liens partagÊs",
- "shared_link_clipboard_copied_massage": "CopiÊ dans le presse-papier\n",
+ "shared_link_clipboard_copied_massage": "CopiÊ dans le presse-papier",
"shared_link_clipboard_text": "Lien : {}\nMot de passe : {}",
"shared_link_create_error": "Erreur pendant la crÊation du lien partagÊ",
"shared_link_edit_description_hint": "Saisir la description du partage",
@@ -1641,7 +1650,7 @@
"shared_link_edit_expire_after_option_minute": "1 minute",
"shared_link_edit_expire_after_option_minutes": "{} minutes",
"shared_link_edit_expire_after_option_months": "{} mois",
- "shared_link_edit_expire_after_option_year": "{} annÊes",
+ "shared_link_edit_expire_after_option_year": "{} an",
"shared_link_edit_password_hint": "Saisir le mot de passe de partage",
"shared_link_edit_submit_button": "Mettre à jour le lien",
"shared_link_error_server_url_fetch": "Impossible de rÊcupÊrer l'url du serveur",
@@ -1738,8 +1747,8 @@
"swap_merge_direction": "Inverser la direction de fusion",
"sync": "Synchroniser",
"sync_albums": "Synchroniser dans des albums",
- "sync_albums_manual_subtitle": "Synchroniser toutes les vidÊos et photos sauvegardÊes dans les albums sÊlectionnÊs",
- "sync_upload_album_setting_subtitle": "CrÊer et sauvegarde vos photos et vidÊos dans les albums sÊlectionnÊs sur Immich",
+ "sync_albums_manual_subtitle": "Synchroniser toutes les vidÊos et photos tÊlÊversÊes dans les albums sÊlectionnÊs",
+ "sync_upload_album_setting_subtitle": "CrÊe et tÊlÊverse vos photos et vidÊos dans les albums sÊlectionnÊs sur Immich",
"tag": "Ãtiquette",
"tag_assets": "Ãtiqueter les mÊdias",
"tag_created": "Ãtiquette crÊÊeâ¯: {tag}",
@@ -1754,7 +1763,7 @@
"theme_selection": "SÊlection du thème",
"theme_selection_description": "Ajuster automatiquement le thème clair ou sombre via les prÊfÊrences système",
"theme_setting_asset_list_storage_indicator_title": "Afficher l'indicateur de stockage sur les tuiles des ÊlÊments",
- "theme_setting_asset_list_tiles_per_row_title": "Nombre d'ÊlÊments par ligne ({})",
+ "theme_setting_asset_list_tiles_per_row_title": "Nombre de mÊdias par ligne ({})",
"theme_setting_colorful_interface_subtitle": "Appliquer la couleur principale sur les surfaces d'arrière-plan.",
"theme_setting_colorful_interface_title": "Interface colorÊe",
"theme_setting_image_viewer_quality_subtitle": "Ajustez la qualitÊ de la visionneuse d'images dÊtaillÊes",
@@ -1764,7 +1773,7 @@
"theme_setting_system_primary_color_title": "Utiliser la couleur du système",
"theme_setting_system_theme_switch": "Automatique (suivre les paramètres du système)",
"theme_setting_theme_subtitle": "Choisissez le thème de l'application",
- "theme_setting_three_stage_loading_subtitle": "Le chargement en trois Êtapes peut amÊliorer les performances de chargement, mais entraÎne une augmentation significative de la charge du rÊseau.",
+ "theme_setting_three_stage_loading_subtitle": "Le chargement en trois Êtapes peut amÊliorer les performances de chargement, mais entraÎne une augmentation significative de la charge du rÊseau",
"theme_setting_three_stage_loading_title": "Activer le chargement en trois Êtapes",
"they_will_be_merged_together": "Elles seront fusionnÊes ensemble",
"third_party_resources": "Ressources tierces",
@@ -1788,8 +1797,8 @@
"trash_emptied": "Corbeille vidÊe",
"trash_no_results_message": "Les photos et vidÊos supprimÊes s'afficheront ici.",
"trash_page_delete_all": "Tout supprimer",
- "trash_page_empty_trash_dialog_content": "Voulez-vous vider les ÊlÊments de la corbeille? Ces objets seront dÊfinitivement retirÊs d'Immich",
- "trash_page_info": "Les ÊlÊments mis à la corbeille seront dÊfinitivement supprimÊs au bout de {} jours.",
+ "trash_page_empty_trash_dialog_content": "Voulez-vous vider les mÊdias de la corbeille� Ces objets seront dÊfinitivement retirÊs d'Immich",
+ "trash_page_info": "Les mÊdias mis à la corbeille seront dÊfinitivement supprimÊs au bout de {} jours",
"trash_page_no_assets": "Aucun ÊlÊment dans la corbeille",
"trash_page_restore_all": "Tout restaurer",
"trash_page_select_assets_btn": "SÊlectionner les ÊlÊments",
@@ -1817,25 +1826,25 @@
"unstack": "DÊsempiler",
"unstacked_assets_count": "{count, plural, one {# mÊdia dÊpilÊ} other {# mÊdias dÊpilÊs}}",
"untracked_files": "Fichiers non suivis",
- "untracked_files_decription": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent ÃĒtre le rÊsultat de dÊplacements ÊchouÊs, d'envois interrompus ou laissÊs pour compte à cause d'un bug",
+ "untracked_files_decription": "Ces fichiers ne sont pas suivis par l'application. Ils peuvent ÃĒtre le rÊsultat de dÊplacements ÊchouÊs, de tÊlÊversements interrompus ou abandonnÊs pour cause de bug",
"up_next": "Suite",
"updated_password": "Mot de passe mis à jour",
- "upload": "Envoyer",
- "upload_concurrency": "Envois simultanÊs",
- "upload_dialog_info": "Voulez-vous sauvegarder la sÊlection vers le serveur?",
- "upload_dialog_title": "TÊlÊcharger cet ÊlÊment ",
- "upload_errors": "L'envoi s'est achevÊ avec {count, plural, one {# erreur} other {# erreurs}}. RafraÎchir la page pour voir les nouveaux mÊdias envoyÊs.",
+ "upload": "TÊlÊverser",
+ "upload_concurrency": "TÊlÊversements simultanÊs",
+ "upload_dialog_info": "Voulez-vous sauvegarder la sÊlection vers le serveur�",
+ "upload_dialog_title": "TÊlÊverser le mÊdia",
+ "upload_errors": "Le tÊlÊversement s'est achevÊ avec {count, plural, one {# erreur} other {# erreurs}}. RafraÎchir la page pour voir les nouveaux mÊdias tÊlÊversÊs.",
"upload_progress": "{remaining, number} restant(s) - {processed, number} traitÊ(s)/{total, number}",
"upload_skipped_duplicates": "{count, plural, one {# doublon ignorÊ} other {# doublons ignorÊs}}",
"upload_status_duplicates": "Doublons",
"upload_status_errors": "Erreurs",
- "upload_status_uploaded": "EnvoyÊ",
- "upload_success": "Envoi rÊussi. RafraÎchir la page pour voir les nouveaux mÊdias envoyÊs.",
- "upload_to_immich": "Envoyer vers Immich ({})",
+ "upload_status_uploaded": "TÊlÊversÊ",
+ "upload_success": "TÊlÊversement rÊussi. RafraÎchir la page pour voir les nouveaux mÊdias tÊlÊversÊs.",
+ "upload_to_immich": "TÊlÊverser vers Immich ({})",
"uploading": "TÊlÊversement en cours",
"url": "URL",
"usage": "Utilisation",
- "use_current_connection": "Utiliser le rÊseau actuel ",
+ "use_current_connection": "Utiliser le rÊseau actuel",
"use_custom_date_range": "Utilisez une plage de date personnalisÊe à la place",
"user": "Utilisateur",
"user_id": "ID Utilisateur",
@@ -1888,11 +1897,11 @@
"week": "Semaine",
"welcome": "Bienvenue",
"welcome_to_immich": "Bienvenue sur Immich",
- "wifi_name": "Nom du rÊseau ",
+ "wifi_name": "Nom du rÊseau wifi",
"year": "AnnÊe",
"years_ago": "Il y a {years, plural, one {# an} other {# ans}}",
"yes": "Oui",
"you_dont_have_any_shared_links": "Vous n'avez aucun lien partagÊ",
- "your_wifi_name": "Nom du rÊseau Wi-Fi ",
+ "your_wifi_name": "Nom du rÊseau wifi",
"zoom_image": "Zoomer"
}
diff --git a/i18n/gl.json b/i18n/gl.json
index d03294c778..498a986768 100644
--- a/i18n/gl.json
+++ b/i18n/gl.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Rexistro automÃĄtico",
"oauth_auto_register_description": "Rexistrar automaticamente novos usuarios despois de iniciar sesiÃŗn con OAuth",
"oauth_button_text": "Texto do botÃŗn",
- "oauth_client_id": "ID de cliente",
- "oauth_client_secret": "Segredo do cliente",
"oauth_enable_description": "Iniciar sesiÃŗn con OAuth",
- "oauth_issuer_url": "URL do emisor",
"oauth_mobile_redirect_uri": "URI de redirecciÃŗn mÃŗbil",
"oauth_mobile_redirect_uri_override": "SubstituciÃŗn de URI de redirecciÃŗn mÃŗbil",
"oauth_mobile_redirect_uri_override_description": "Activar cando o provedor OAuth non permite un URI mÃŗbil, como '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritmo de sinatura do perfil",
- "oauth_profile_signing_algorithm_description": "Algoritmo usado para asinar o perfil do usuario.",
- "oauth_scope": "Ãmbito",
"oauth_settings": "OAuth",
"oauth_settings_description": "Xestionar a configuraciÃŗn de inicio de sesiÃŗn OAuth",
"oauth_settings_more_details": "Para mÃĄis detalles sobre esta funciÃŗn, consulte a documentaciÃŗn.",
- "oauth_signing_algorithm": "Algoritmo de sinatura",
"oauth_storage_label_claim": "DeclaraciÃŗn de etiqueta de almacenamento",
"oauth_storage_label_claim_description": "Establecer automaticamente a etiqueta de almacenamento do usuario ao valor desta declaraciÃŗn.",
"oauth_storage_quota_claim": "DeclaraciÃŗn de cota de almacenamento",
@@ -1889,11 +1882,11 @@
"week": "Semana",
"welcome": "Benvido/a",
"welcome_to_immich": "Benvido/a a Immich",
- "wifi_name": "Nome da WiFi",
+ "wifi_name": "Nome da Wi-Fi",
"year": "Ano",
"years_ago": "Hai {years, plural, one {# ano} other {# anos}}",
"yes": "Si",
"you_dont_have_any_shared_links": "Non tes ningunha ligazÃŗn compartida",
- "your_wifi_name": "O nome da tÃēa WiFi",
+ "your_wifi_name": "O nome da tÃēa Wi-Fi",
"zoom_image": "Ampliar Imaxe"
}
diff --git a/i18n/he.json b/i18n/he.json
index 927a43f020..1efe67b428 100644
--- a/i18n/he.json
+++ b/i18n/he.json
@@ -192,26 +192,22 @@
"oauth_auto_register": "ר×׊×× ×××××××",
"oauth_auto_register_description": "ר׊×× ××××××××Ē ×׊×Ē×׊×× ××׊×× ×××ר ×× ××Ą× ×ĸ× OAuth",
"oauth_button_text": "××§×Ą× ×××Ļ×",
- "oauth_client_id": "×××× ××§××",
- "oauth_client_secret": "ץ×× ××§××",
+ "oauth_client_secret_description": "× ×ר׊ ××׊ר ץפק ×ÖžOAuth ××× × ×Ē××× ×ÖžPKCE (×פ×Ē× ××××× ××××פ×Ē ×§××)",
"oauth_enable_description": "××Ē××ר ×ĸ× OAuth",
- "oauth_issuer_url": "××Ē×××Ē ××Ēר ××× ×¤××§",
"oauth_mobile_redirect_uri": "URI ×××¤× ×× ×××׊ ×× ×××",
"oauth_mobile_redirect_uri_override": "×ĸ×§×פ×Ē URI ×××¤× ×× ×××׊ ×× ×××",
"oauth_mobile_redirect_uri_override_description": "×פ׊ר ××׊ר ץפק OAuth ×× ××פ׊ר ××Ē×××Ē URI ×× ×××, ××× '{callback}'",
- "oauth_profile_signing_algorithm": "××××ר××Ē× ××Ē×××Ē ×¤×¨×פ××",
- "oauth_profile_signing_algorithm_description": "××××ר××Ē× ××׊×׊ ×××Ē××× ×ĸ× ×¤×¨×פ×× ××׊×Ē×׊.",
- "oauth_scope": "ר××Ē ×ר׊××",
"oauth_settings": "OAuth",
"oauth_settings_description": "× ×××× ×××ר××Ē ××Ē××ר××Ē ×ĸ× OAuth",
"oauth_settings_more_details": "×××××ĸ × ××Ą×Ŗ ×××××Ē ×Ē××× × ××, ××××§ ××Ē × ×Ē××ĸ××.",
- "oauth_signing_algorithm": "××××ר××Ē× ××Ē×××",
"oauth_storage_label_claim": "×ר×׊×Ē ×Ē××××Ē ××ץ××",
"oauth_storage_label_claim_description": "×××ר ××××××××Ē ××Ē ×Ē××××Ē ×××ץ×× ×Š× ××׊×Ē×׊ ××ĸ×¨× ×Š× ×ר××Š× ××.",
"oauth_storage_quota_claim": "×ר×׊×Ē ××ץ×Ē ××ץ××",
"oauth_storage_quota_claim_description": "×××ר ××××××××Ē ××Ē ××ץ×Ē ×××ץ×× ×Š× ××׊×Ē×׊ ××ĸ×¨× ×Š× ×ר××Š× ××.",
"oauth_storage_quota_default": "××ץ×Ē ××ץ×× ×ר×ר×Ē ×××× (GiB)",
"oauth_storage_quota_default_description": "×××Ą× ×-GiB ×׊×××׊ ××׊ר ×× ×ץ×פק×Ē ×ר××Š× (××× 0 ×ĸ××ר ×××Ą× ×××Ē× ××××××Ē).",
+ "oauth_timeout": "×××§×Š× × ×׊×× â ×××× ××§×Ļ×× ×ץ×Ē×××",
+ "oauth_timeout_description": "××× ×§×Ļ×× ××ק׊××Ē (××××××Š× ×××Ē)",
"offline_paths": "× ×Ē×××× ×× ××§××× ××",
"offline_paths_description": "×Ē××Ļ×××Ē ××× ×ĸ׊××××Ē ×××××Ē ×ĸ×§× ××××§× ××× ××Ē ×Š× ×§××Ļ×× ×Š××× × ×××§ ×ץפר××× ×××Ļ×× ××Ē.",
"password_enable_description": "××Ē××ר ×ĸ× ×××\"× ×ץ×ץ××",
@@ -853,10 +849,12 @@
"failed_to_keep_this_delete_others": "×פ×ĸ××× × ×׊×× ×× × ××Ē× ××× ×׊××ר ××Ē ××Ē××× × ××× ××××××§ ××Ē ×Š×ר ××Ē××× ××Ē",
"failed_to_load_asset": "××ĸ×× ×Ē ××Ē××× × × ×׊××",
"failed_to_load_assets": "××ĸ×× ×Ē ××Ē××× ××Ē × ×׊××",
+ "failed_to_load_notifications": "××ר×ĸ× ×Š×××× ××ĸ×Ē ××ĸ×× ×Ē ×××Ēר×××Ē",
"failed_to_load_people": "× ××Š× ×××××ר ×× ×Š××",
"failed_to_remove_product_key": "×ץר×Ē ×פ×Ē× ×××Ļר × ×׊××",
"failed_to_stack_assets": "××Ļ×ר×Ē ×ĸר×××Ē ×Ē××× ××Ē × ×׊××",
"failed_to_unstack_assets": "××××× ×ĸר×××Ē ×Ē××× ××Ē × ×׊××",
+ "failed_to_update_notification_status": "׊×××× ××ĸ×××× ×××Ēר××",
"import_path_already_exists": "× ×Ē×× ×××××× ××× ××ר ×§×××.",
"incorrect_email_or_password": "×××\"× ×× ×Ą×ץ×× ×Š×××××",
"paths_validation_failed": "{paths, plural, one {× ×Ē×× # × ×׊×} other {# × ×Ē×××× × ×׊××}} ×××××Ē",
@@ -1177,7 +1175,7 @@
"map": "×פ×",
"map_assets_in_bound": "×Ē××× × {}",
"map_assets_in_bounds": "{} ×Ē××× ××Ē",
- "map_cannot_get_user_location": "×× × ××Ē× ××§×× ××Ē ×××§×× ××׊×Ē×׊",
+ "map_cannot_get_user_location": "×× × ××Ē× ××§×××ĸ ××Ē ×××§×× ××׊×Ē×׊",
"map_location_dialog_yes": "××",
"map_location_picker_page_use_location": "×׊×Ē×׊ ××××§×× ×××",
"map_location_service_disabled_content": "׊×ר××Ē ××××§×× ×Ļר×× ×××××Ē ××פ×ĸ× ××× ×××Ļ×× ×Ē××× ××Ē ×××××§×× ×× ×××× ×Š××. ××× ×ר×Ļ×× × ××פ×ĸ×× ×××Ē× ×ĸ×׊××?",
@@ -1199,6 +1197,9 @@
"map_settings_only_show_favorites": "××Ļ× ×××ĸ×פ×× ××××",
"map_settings_theme_settings": "×ĸר××Ē × ××Š× ××פ×",
"map_zoom_to_see_photos": "××§×× ××Ē ××Ē×Ļ××× ××× ×ר×××Ē ×Ē××× ××Ē",
+ "mark_all_as_read": "ץ×× ××× ×× ×§×¨×",
+ "mark_as_read": "ץ×× ×× ×§×¨×",
+ "marked_all_as_read": "×× ×××Ēר×××Ē ×Ą××× × ×× ×§×¨××",
"matches": "××Ē××××Ē",
"media_type": "ץ×× ××××",
"memories": "××ר×× ××Ē",
@@ -1257,6 +1258,8 @@
"no_favorites_message": "×××Ą×Ŗ ×××ĸ×פ×× ××× ×××Ļ×× ××××ר××Ē ××Ē ××Ē××× ××Ē ××ץר××× ×× ××× ××××× ×Š××",
"no_libraries_message": "×Ļ×ר ץפר××× ×××Ļ×× ××Ē ××× ×ר×××Ē ××Ē ××Ē××× ××Ē ××ץר××× ×× ×Š××",
"no_name": "××× ×Š×",
+ "no_notifications": "××× ××Ēר×××Ē",
+ "no_people_found": "×× × ××Ļ×× ×× ×Š×× ×Ē×××××",
"no_places": "××× ××§××××Ē",
"no_results": "××× ×Ē××Ļ×××Ē",
"no_results_description": "× ×Ą× ××׊×Ē×׊ ××××× × ×¨×פ×Ē ×× ×××××Ē ×פ×Ē× ×××Ēר ×××××Ē",
@@ -1377,7 +1380,7 @@
"profile_drawer_app_logs": "××××",
"profile_drawer_client_out_of_date_major": "×רץ×Ē ×××׊×× ×× ××× ××××Š× ×Ē. × × ××ĸ××× ×××¨×Ą× ×ר×׊××Ē ×××ר×× ×.",
"profile_drawer_client_out_of_date_minor": "×רץ×Ē ×××׊×× ×× ××× ××××Š× ×Ē. × × ××ĸ××× ×××¨×Ą× ×××Š× ××Ē ×××ר×× ×.",
- "profile_drawer_client_server_up_to_date": "×××§×× ××׊ר×Ē ×× ××ĸ×××× ××",
+ "profile_drawer_client_server_up_to_date": "×××׊×× ××׊ר×Ē ××ĸ×××× ××",
"profile_drawer_github": "GitHub",
"profile_drawer_server_out_of_date_major": "×׊ר×Ē ××× × ××ĸ××××. × × ××ĸ××× ×××¨×Ą× ×ר×׊××Ē ×××ר×× ×.",
"profile_drawer_server_out_of_date_minor": "×׊ר×Ē ××× × ××ĸ××××. × × ××ĸ××× ×××¨×Ą× ×××Š× ××Ē ×××ר×× ×.",
@@ -1432,6 +1435,8 @@
"recent_searches": "××פ×׊×× ××ר×× ××",
"recently_added": "× ××Ą×Ŗ ×××ר×× ×",
"recently_added_page_title": "× ××Ą×Ŗ ×××ר×× ×",
+ "recently_taken": "×Ļ××× ×××ר×× ×",
+ "recently_taken_page_title": "×Ļ××× ×××ר×× ×",
"refresh": "ר×ĸ× ×",
"refresh_encoded_videos": "ר×ĸ× × ×Ą×¨××× ×× ××§×××××",
"refresh_faces": "ר×ĸ× × ×¤× ××",
@@ -1566,6 +1571,7 @@
"select_keep_all": "××ר ׊××ר ×××",
"select_library_owner": "××ר ××Ē ×××ĸ××× ×Š× ×ץפר×××",
"select_new_face": "××ר ×¤× ×× ××׊××Ē",
+ "select_person_to_tag": "××ר ××× ××Ē×××",
"select_photos": "××ר ×Ē××× ××Ē",
"select_trash_all": "××ר ××ĸ×ר ××× ××׊פ×",
"select_user_for_sharing_page_err_album": "××Ļ×ר×Ē ××××× × ×׊××",
@@ -1576,8 +1582,8 @@
"server_endpoint": "× ×§×××Ē ×§×Ļ× ×Š×¨×Ē",
"server_info_box_app_version": "×רץ×Ē ××׊××",
"server_info_box_server_url": "××Ē×××Ē ×Š×¨×Ē",
- "server_offline": "׊ר×Ē ×× ××§×××",
- "server_online": "׊ר×Ē ××§×××",
+ "server_offline": "×׊ר×Ē ×× ××Ē×§",
+ "server_online": "×××××ר ×׊ר×Ē ×¤×ĸ××",
"server_stats": "ץ×××ץ×××§××Ē ×Š×¨×Ē",
"server_version": "×רץ×Ē ×Š×¨×Ē",
"set": "×××ר",
@@ -1712,7 +1718,7 @@
"sort_people_by_similarity": "×××× ×× ×Š×× ××¤× ×××××",
"sort_recent": "×Ē××× × ××ר×× × ××××Ēר",
"sort_title": "×××Ēר×Ē",
- "source": "××§×ר",
+ "source": "×§×× ××§×ר",
"stack": "×ĸר×××",
"stack_duplicates": "×Ļ×ר ×ĸר×××Ē ×פ××××××Ē",
"stack_select_one_photo": "××ר ×Ē××× × ×¨×׊××Ē ×××Ē ×ĸ××ר ××ĸר×××",
@@ -1754,7 +1760,7 @@
"theme": "×ĸר××Ē × ×׊×",
"theme_selection": "×××ר×Ē ×ĸר××Ē × ×׊×",
"theme_selection_description": "×××ר ××××××××Ē ××Ē ×ĸר××Ē ×× ××Š× ××××ר ×× ××× ×××Ē×ץץ ×ĸ× ××ĸ×פ×Ē ×××ĸר××Ē ×Š× ××פ××¤× ×Š××",
- "theme_setting_asset_list_storage_indicator_title": "××Ļ× ×Ą×××ץ ××ץ×× ×ĸ× ××× ××Ē××× ××Ē",
+ "theme_setting_asset_list_storage_indicator_title": "××Ļ× ×Ą×××ץ ××××× ×ĸ× ××× ××Ē××× ××Ē",
"theme_setting_asset_list_tiles_per_row_title": "×ץפר ×Ē××× ××Ē ××× ×Š××¨× ({})",
"theme_setting_colorful_interface_subtitle": "××× ××Ē ××Ļ××ĸ ××ĸ××§×¨× ××׊××× ×¨×§×ĸ.",
"theme_setting_colorful_interface_title": "××׊ק ×Ļ××ĸ×× ×",
diff --git a/i18n/hi.json b/i18n/hi.json
index 50c17d9e5d..8be95c4389 100644
--- a/i18n/hi.json
+++ b/i18n/hi.json
@@ -171,20 +171,13 @@
"oauth_auto_register": "ā¤ā¤āĨ ⤰ā¤ā¤ŋ⤏āĨā¤ā¤°",
"oauth_auto_register_description": "OAuth ā¤āĨ ā¤¸ā¤žā¤Ĩ ā¤¸ā¤žā¤ā¤¨ ā¤ā¤¨ ā¤ā¤°ā¤¨āĨ ā¤āĨ ā¤Ŧā¤žā¤Ļ ⤏āĨā¤ĩā¤ā¤žā¤˛ā¤ŋ⤤ ⤰āĨā¤Ē ⤏āĨ ⤍⤠ā¤ā¤Ē⤝āĨā¤ā¤ā¤°āĨā¤¤ā¤žā¤ā¤ ā¤āĨ ā¤Ēā¤ā¤āĨā¤āĨ⤤ ā¤ā¤°āĨā¤",
"oauth_button_text": "ā¤āĨā¤āĨ⤏āĨ⤠ā¤Ŧā¤ā¤¨",
- "oauth_client_id": "ā¤āĨā¤°ā¤žā¤šā¤ ID",
- "oauth_client_secret": "ā¤āĨā¤°ā¤žā¤šā¤ ā¤āĨā¤ĒāĨ⤤",
"oauth_enable_description": "OAuth ⤏āĨ ⤞āĨā¤ā¤ŋ⤍ ā¤ā¤°āĨā¤",
- "oauth_issuer_url": "ā¤ā¤žā¤°āĨā¤ā¤°āĨā¤¤ā¤ž URL",
"oauth_mobile_redirect_uri": "ā¤ŽāĨā¤Ŧā¤žā¤ā¤˛ ⤰āĨā¤Ąā¤žā¤¯ā¤°āĨā¤āĨ⤠⤝āĨā¤ā¤°ā¤ā¤",
"oauth_mobile_redirect_uri_override": "ā¤ŽāĨā¤Ŧā¤žā¤ā¤˛ ⤰āĨā¤Ąā¤žā¤¯ā¤°āĨā¤āĨ⤠⤝āĨā¤ā¤°ā¤ā¤ ā¤ā¤ĩā¤°ā¤°ā¤žā¤ā¤Ą",
"oauth_mobile_redirect_uri_override_description": "⤏ā¤āĨā¤ˇā¤Ž ā¤ā¤°āĨ⤠ā¤ā¤Ŧ 'app.immitch:/' ā¤ā¤ ā¤
ā¤Žā¤žā¤¨āĨ⤝ ⤰āĨā¤Ąā¤žā¤¯ā¤°āĨā¤āĨ⤠⤝āĨā¤ā¤°ā¤ā¤ ā¤šāĨāĨ¤",
- "oauth_profile_signing_algorithm": "ā¤ĒāĨ⤰āĨā¤Ģā¤ŧā¤žā¤ā¤˛ ā¤šā¤¸āĨā¤¤ā¤žā¤āĨ⤎⤰ ā¤ā¤˛āĨā¤āĨ⤰ā¤ŋā¤ĨāĨā¤Ž",
- "oauth_profile_signing_algorithm_description": "ā¤ā¤Ē⤝āĨā¤ā¤ā¤°āĨā¤¤ā¤ž ā¤ĒāĨ⤰āĨā¤Ģā¤ŧā¤žā¤ā¤˛ ā¤Ē⤰ ā¤šā¤¸āĨā¤¤ā¤žā¤āĨ⤎⤰ ā¤ā¤°ā¤¨āĨ ā¤āĨ ⤞ā¤ŋ⤠ā¤ā¤˛āĨā¤āĨ⤰ā¤ŋā¤Ļā¤Ž ā¤ā¤ž ā¤ā¤Ē⤝āĨ⤠ā¤ā¤ŋā¤¯ā¤ž ā¤ā¤žā¤¤ā¤ž ā¤šāĨāĨ¤",
- "oauth_scope": "⤏āĨā¤āĨā¤Ē",
"oauth_settings": "ā¤ā¤ā¤Ĩ",
"oauth_settings_description": "OAuth ⤞āĨā¤ā¤ŋ⤍ ⤏āĨā¤ā¤ŋā¤ā¤ ā¤ĒāĨ⤰ā¤Ŧā¤ā¤§ā¤ŋ⤤ ā¤ā¤°āĨā¤",
"oauth_settings_more_details": "ā¤ā¤¸ ⤏āĨā¤ĩā¤ŋā¤§ā¤ž ā¤āĨ ā¤Ŧā¤žā¤°āĨ ā¤ŽāĨ⤠ā¤
⤧ā¤ŋ⤠ā¤ā¤žā¤¨ā¤ā¤žā¤°āĨ ā¤āĨ ⤞ā¤ŋā¤, ā¤ĻāĨā¤āĨā¤ ā¤ĄāĨā¤āĨ⤏āĨ¤",
- "oauth_signing_algorithm": "ā¤šā¤¸āĨā¤¤ā¤žā¤āĨ⤎⤰ ā¤ā¤˛āĨā¤āĨ⤰ā¤ŋā¤ĨāĨā¤Ž",
"oauth_storage_label_claim": "ā¤ā¤ā¤Ąā¤žā¤°ā¤Ŗ ⤞āĨā¤Ŧ⤞ ā¤ā¤ž ā¤Ļā¤žā¤ĩā¤ž",
"oauth_storage_label_claim_description": "ā¤ā¤¸ ā¤Ļā¤žā¤ĩāĨ ā¤āĨ ā¤ŽāĨ⤞āĨ⤝ ā¤Ē⤰ ā¤ā¤Ē⤝āĨā¤ā¤ā¤°āĨā¤¤ā¤ž ā¤āĨ ā¤ā¤ā¤Ąā¤žā¤°ā¤Ŗ ⤞āĨā¤Ŧ⤞ ā¤āĨ ⤏āĨā¤ĩā¤ā¤žā¤˛ā¤ŋ⤤ ⤰āĨā¤Ē ⤏āĨ ⤏āĨ⤠ā¤ā¤°āĨā¤āĨ¤",
"oauth_storage_quota_claim": "ā¤ā¤ā¤Ąā¤žā¤°ā¤Ŗ ā¤āĨā¤ā¤ž ā¤ā¤ž ā¤Ļā¤žā¤ĩā¤ž",
diff --git a/i18n/hr.json b/i18n/hr.json
index a30de885cd..4566544b50 100644
--- a/i18n/hr.json
+++ b/i18n/hr.json
@@ -39,17 +39,17 @@
"authentication_settings_disable_all": "Jeste li sigurni da Åželite onemoguÄenit sve naÄine prijave? Prijava Äe biti potpuno onemoguÄena.",
"authentication_settings_reenable": "Za ponovno ukljuÄivanje upotrijebite naredbu posluÅžitelja.",
"background_task_job": "Pozadinski zadaci",
- "backup_database": "Sigurnosna kopija baze podataka",
+ "backup_database": "Kreiraj sigurnosnu kopiju baze podataka",
"backup_database_enable_description": "OmoguÄite sigurnosne kopije baze podataka",
"backup_keep_last_amount": "KoliÄina prethodnih sigurnosnih kopija za Äuvanje",
"backup_settings": "Postavke sigurnosne kopije",
- "backup_settings_description": "Upravljanje postavkama sigurnosne kopije baze podataka",
+ "backup_settings_description": "Upravljajte postavkama izvoza baze podataka. Napomena: Ovi zadaci nisu nadzirani i neÄete biti obavijeÅĄteni u sluÄaju neuspjeha.",
"check_all": "Provjeri sve",
"cleanup": "ÄiÅĄÄenje",
"cleared_jobs": "Izbrisani poslovi za: {job}",
"config_set_by_file": "Konfiguracija je trenutno postavljena konfiguracijskom datotekom",
"confirm_delete_library": "Jeste li sigurni da Åželite izbrisati biblioteku {library}?",
- "confirm_delete_library_assets": "Jeste li sigurni da Åželite izbrisati ovu biblioteku? Time Äe se izbrisati sva {count} sadrÅžana sredstva iz Immicha i ne moÅže se poniÅĄtiti. Datoteke Äe ostati na disku.",
+ "confirm_delete_library_assets": "Jeste li sigurni da Åželite izbrisati ovu biblioteku? Time Äe {count, plural, one {biti izbrisana # sadrÅžana stavka} few {biti izbrisane sve # sadrÅžane stavke} other {biti izbrisano svih # sadrÅžanih stavki}} iz Immicha i to se ne moÅže poniÅĄtiti. Datoteke Äe ostati na disku.",
"confirm_email_below": "Za potvrdu upiÅĄite \"{email}\" ispod",
"confirm_reprocess_all_faces": "Jeste li sigurni da Åželite ponovno obraditi sva lica? Ovo Äe takoÄer obrisati imenovane osobe.",
"confirm_user_password_reset": "Jeste li sigurni da Åželite poniÅĄtiti lozinku korisnika {user}?",
@@ -96,7 +96,7 @@
"job_settings": "Postavke posla",
"job_settings_description": "Upravljajte istovremenoÅĄÄu poslova",
"job_status": "Status posla",
- "jobs_delayed": "{jobCount, plural, other {# delayed}}",
+ "jobs_delayed": "{jobCount, plural, other {# odgoÄenih}}",
"jobs_failed": "{jobCount, plural, other {# failed}}",
"library_created": "Stvorena biblioteka: {library}",
"library_deleted": "Biblioteka izbrisana",
@@ -192,20 +192,13 @@
"oauth_auto_register": "Automatska registracija",
"oauth_auto_register_description": "Automatski registrirajte nove korisnike nakon prijave s OAuth",
"oauth_button_text": "Tekst gumba",
- "oauth_client_id": "ID Klijenta",
- "oauth_client_secret": "Tajna Klijenta",
"oauth_enable_description": "Prijavite se putem OAutha",
- "oauth_issuer_url": "URL Izdavatelja",
"oauth_mobile_redirect_uri": "Mobilnog Preusmjeravanja URI",
"oauth_mobile_redirect_uri_override": "NadjaÄavanje URI-preusmjeravanja za mobilne ureÄaje",
"oauth_mobile_redirect_uri_override_description": "OmoguÄi kada pruÅžatelj OAuth ne dopuÅĄta mobilni URI, poput '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritam za potpisivanje profila",
- "oauth_profile_signing_algorithm_description": "Algoritam koji se koristi za potpisivanje korisniÄkog profila.",
- "oauth_scope": "Opseg",
"oauth_settings": "OAuth",
"oauth_settings_description": "Upravljanje postavkama za prijavu kroz OAuth",
"oauth_settings_more_details": "Za viÅĄe pojedinosti o ovoj znaÄajci pogledajte uputstva.",
- "oauth_signing_algorithm": "Algoritam potpisivanja",
"oauth_storage_label_claim": "PotraÅživanje oznake za pohranu",
"oauth_storage_label_claim_description": "Automatski postavite korisniÄku oznaku za pohranu na vrijednost ovog zahtjeva.",
"oauth_storage_quota_claim": "Zahtjev za kvotom pohrane",
@@ -357,18 +350,18 @@
"user_password_reset_description": "Molimo dostavite privremenu lozinku korisniku i obavijestite ga da Äe morati promijeniti lozinku pri sljedeÄoj prijavi.",
"user_restore_description": "RaÄun korisnika {user} bit Äe vraÄen.",
"user_restore_scheduled_removal": "Vrati korisnika - zakazano uklanjanje {date, date, long}",
- "user_settings": "KorisniÄke Postavke",
+ "user_settings": "KorisniÄke postavke",
"user_settings_description": "Upravljanje korisniÄkim postavkama",
"user_successfully_removed": "Korisnik {email} je uspjeÅĄno uklonjen.",
"version_check_enabled_description": "OmoguÄi provjeru verzije",
"version_check_implications": "ZnaÄajka provjere verzije oslanja se na periodiÄnu komunikaciju s github.com",
- "version_check_settings": "Provjera Verzije",
+ "version_check_settings": "Provjera verzije",
"version_check_settings_description": "OmoguÄite/onemoguÄite obavijest o novoj verziji",
"video_conversion_job": "Transkodiranje videozapisa",
"video_conversion_job_description": "Transkodiranje videozapisa za veÄu kompatibilnost s preglednicima i ureÄajima"
},
"admin_email": "E-poÅĄta administratora",
- "admin_password": "Admin Lozinka",
+ "admin_password": "Admin lozinka",
"administration": "Administracija",
"advanced": "Napredno",
"advanced_settings_enable_alternate_media_filter_subtitle": "Koristite ovu opciju za filtriranje medija tijekom sinkronizacije na temelju alternativnih kriterija. PokuÅĄajte ovo samo ako imate problema s aplikacijom koja ne prepoznaje sve albume.",
@@ -377,7 +370,7 @@
"advanced_settings_prefer_remote_subtitle": "Neki ureÄaji sporo uÄitavaju sliÄice s resursa na ureÄaju. Aktivirajte ovu postavku kako biste umjesto toga uÄitali slike s udaljenih izvora.",
"advanced_settings_prefer_remote_title": "Preferiraj udaljene slike",
"advanced_settings_proxy_headers_subtitle": "Definirajte zaglavlja posrednika koja Immich treba slati sa svakim mreÅžnim zahtjevom.",
- "advanced_settings_proxy_headers_title": "Zaglavlja Posrednika",
+ "advanced_settings_proxy_headers_title": "Proxy zaglavlja",
"advanced_settings_self_signed_ssl_subtitle": "PreskoÄi provjeru SSL certifikata za krajnju toÄku posluÅžitelja. Potrebno za samo-potpisane certifikate.",
"advanced_settings_self_signed_ssl_title": "Dopusti samo-potpisane SSL certifikate",
"advanced_settings_sync_remote_deletions_subtitle": "Automatski izbriÅĄi ili obnovi resurs na ovom ureÄaju kada se ta radnja izvrÅĄi na webu",
@@ -385,9 +378,9 @@
"advanced_settings_tile_subtitle": "Postavke za napredne korisnike",
"advanced_settings_troubleshooting_subtitle": "OmoguÄi dodatne znaÄajke za rjeÅĄavanje problema",
"advanced_settings_troubleshooting_title": "RjeÅĄavanje problema",
- "age_months": "Dob {months, plural, one {# month} other {# months}}",
- "age_year_months": "Dob 1 godina, {months, plural, one {# month} other {# months}}",
- "age_years": "{years, plural, other {Age #}}",
+ "age_months": "Dob {months, plural, one {# mjesec} other {# mjeseca}}",
+ "age_year_months": "Dob 1 godina, {months, plural, one {# mjesec} other {# mjeseca}}",
+ "age_years": "{years, plural, other {Dob #}}",
"album_added": "Album dodan",
"album_added_notification_setting_description": "Primite obavijest e-poÅĄtom kada ste dodani u dijeljeni album",
"album_cover_updated": "Naslovnica albuma aÅžurirana",
@@ -398,7 +391,7 @@
"album_info_updated": "Podaci o albumu aÅžurirani",
"album_leave": "Napustiti album?",
"album_leave_confirmation": "Jeste li sigurni da Åželite napustiti {album}?",
- "album_name": "Naziv Albuma",
+ "album_name": "Naziv albuma",
"album_options": "Opcije albuma",
"album_remove_user": "Ukloni korisnika?",
"album_remove_user_confirmation": "Jeste li sigurni da Åželite ukloniti {user}?",
@@ -444,7 +437,7 @@
"archive": "Arhiva",
"archive_or_unarchive_photo": "Arhivirajte ili dearhivirajte fotografiju",
"archive_page_no_archived_assets": "Nema arhiviranih resursa",
- "archive_page_title": "Arhiviraj {{}}",
+ "archive_page_title": "Arhiviraj ({})",
"archive_size": "VeliÄina arhive",
"archive_size_description": "Konfigurirajte veliÄinu arhive za preuzimanja (u GiB)",
"archived": "Ahrivirano",
@@ -501,7 +494,7 @@
"back_close_deselect": "Natrag, zatvorite ili poniÅĄtite odabir",
"background_location_permission": "Dozvola za lokaciju u pozadini",
"background_location_permission_content": "Kako bi prebacivao mreÅže dok radi u pozadini, Immich mora *uvijek* imati pristup preciznoj lokaciji kako bi aplikacija mogla proÄitati naziv Wi-Fi mreÅže",
- "backup_album_selection_page_albums_device": "Albumi na ureÄaju {{}}",
+ "backup_album_selection_page_albums_device": "Albumi na ureÄaju ({})",
"backup_album_selection_page_albums_tap": "Dodirnite za ukljuÄivanje, dvostruki dodir za iskljuÄivanje",
"backup_album_selection_page_assets_scatter": "Resursi mogu biti rasporeÄeni u viÅĄe albuma. Stoga, albumi mogu biti ukljuÄeni ili iskljuÄeni tijekom procesa sigurnosnog kopiranja.",
"backup_album_selection_page_select_albums": "Odabrani albumi",
@@ -579,29 +572,47 @@
"cache_settings_clear_cache_button_title": "BriÅĄe predmemoriju aplikacije. Ovo Äe znaÄajno utjecati na performanse aplikacije dok se predmemorija ponovno ne izgradi.",
"cache_settings_duplicated_assets_clear_button": "OÄISTI",
"cache_settings_duplicated_assets_subtitle": "Fotografije i videozapisi koje je aplikacija stavila na crnu listu",
- "cache_settings_duplicated_assets_title": "Duplicirani Resursi ({})",
+ "cache_settings_duplicated_assets_title": "Duplicirani resursi ({})",
"cache_settings_image_cache_size": "VeliÄina predmemorije slika ({} resursa)",
"cache_settings_statistics_album": "SliÄice biblioteke",
"cache_settings_statistics_assets": "{} resursa ({})",
"cache_settings_statistics_full": "Pune slike",
+ "cache_settings_statistics_shared": "SliÄice dijeljenih albuma",
+ "cache_settings_statistics_thumbnail": "SliÄice",
+ "cache_settings_statistics_title": "KoriÅĄtenje predmemorije",
+ "cache_settings_subtitle": "Upravljajte ponaÅĄanjem predmemorije mobilne aplikacije Immich",
+ "cache_settings_thumbnail_size": "VeliÄina predmemorije sliÄica ({} stavki)",
+ "cache_settings_tile_subtitle": "Upravljajte ponaÅĄanjem lokalne pohrane",
+ "cache_settings_tile_title": "Lokalna pohrana",
+ "cache_settings_title": "Postavke predmemorije",
"camera": "Kamera",
"camera_brand": "Marka kamere",
"camera_model": "Model kamere",
"cancel": "OtkaÅži",
"cancel_search": "OtkaÅži pretragu",
+ "canceled": "Otkazano",
"cannot_merge_people": "Nije moguÄe spojiti osobe",
"cannot_undo_this_action": "Ne moÅžete poniÅĄtiti ovu radnju!",
"cannot_update_the_description": "Nije moguÄe aÅžurirati opis",
"change_date": "Promjena datuma",
+ "change_display_order": "Promijeni redoslijed prikaza",
"change_expiration_time": "Promjena vremena isteka",
"change_location": "Promjena lokacije",
"change_name": "Promjena imena",
"change_name_successfully": "Promijena imena uspjeÅĄna",
"change_password": "Promjena Lozinke",
"change_password_description": "Ovo je ili prvi put da se prijavljujete u sustav ili je poslan zahtjev za promjenom lozinke. Unesite novu lozinku ispod.",
+ "change_password_form_confirm_password": "Potvrdi lozinku",
+ "change_password_form_description": "Pozdrav {name},\n\nOvo je ili prvi put da se prijavljujete u sustav ili je zatraÅžena promjena vaÅĄe lozinke. Molimo unesite novu lozinku dolje.",
+ "change_password_form_new_password": "Nova lozinka",
+ "change_password_form_password_mismatch": "Lozinke se ne podudaraju",
+ "change_password_form_reenter_new_password": "Ponovno unesite novu lozinku",
"change_your_password": "Promijenite lozinku",
"changed_visibility_successfully": "Vidljivost je uspjeÅĄno promijenjena",
"check_all": "Provjeri Sve",
+ "check_corrupt_asset_backup": "Provjeri oÅĄteÄene sigurnosne kopije stavki",
+ "check_corrupt_asset_backup_button": "IzvrÅĄi provjeru",
+ "check_corrupt_asset_backup_description": "Pokrenite ovu provjeru samo putem Wi-Fi mreÅže i nakon ÅĄto su sve stavke sigurnosno kopirane. Postupak moÅže potrajati nekoliko minuta.",
"check_logs": "Provjera Zapisa",
"choose_matching_people_to_merge": "Odaberite odgovarajuÄe osobe za spajanje",
"city": "Grad",
@@ -610,6 +621,14 @@
"clear_all_recent_searches": "IzbriÅĄi sva nedavna pretraÅživanja",
"clear_message": "Jasna poruka",
"clear_value": "OÄisti vrijednost",
+ "client_cert_dialog_msg_confirm": "U redu",
+ "client_cert_enter_password": "Unesite lozinku",
+ "client_cert_import": "Uvezi",
+ "client_cert_import_success_msg": "Klijentski certifikat je uvezen",
+ "client_cert_invalid_msg": "Neispravna datoteka certifikata ili pogreÅĄna lozinka",
+ "client_cert_remove_msg": "Klijentski certifikat je uklonjen",
+ "client_cert_subtitle": "PodrÅžava samo PKCS12 (.p12, .pfx) format. Uvoz/uklanjanje certifikata moguÄe je samo prije prijave",
+ "client_cert_title": "SSL klijentski certifikat",
"clockwise": "U smjeru kazaljke na satu",
"close": "Zatvori",
"collapse": "SaÅžmi",
@@ -620,15 +639,27 @@
"comment_options": "Opcije komentara",
"comments_and_likes": "Komentari i lajkovi",
"comments_are_disabled": "Komentari onemoguÄeni",
+ "common_create_new_album": "Kreiraj novi album",
+ "common_server_error": "Provjerite svoju mreÅžnu vezu, osigurajte da je posluÅžitelj dostupan i da su verzije aplikacije/posluÅžitelja kompatibilne.",
+ "completed": "DovrÅĄeno",
"confirm": "Potvrdi",
"confirm_admin_password": "Potvrdite lozinku administratora",
- "confirm_delete_face": "Jeste li sigurni da Åželite izbrisati lice {name} iz knjiÅžnice materijala.",
+ "confirm_delete_face": "Jeste li sigurni da Åželite izbrisati lice {name} iz resursa?",
"confirm_delete_shared_link": "Jeste li sigurni da Åželite izbrisati ovu zajedniÄku vezu?",
"confirm_keep_this_delete_others": "Sva druga sredstva u nizu bit Äe izbrisana osim ovog sredstva. Jeste li sigurni da Åželite nastaviti?",
"confirm_password": "Potvrdite lozinku",
"contain": "SadrÅži",
"context": "Kontekst",
"continue": "Nastavi",
+ "control_bottom_app_bar_album_info_shared": "{} stavki ¡ Dijeljeno",
+ "control_bottom_app_bar_create_new_album": "Kreiraj novi album",
+ "control_bottom_app_bar_delete_from_immich": "IzbriÅĄi iz Immicha",
+ "control_bottom_app_bar_delete_from_local": "IzbriÅĄi s ureÄaja",
+ "control_bottom_app_bar_edit_location": "Uredi lokaciju",
+ "control_bottom_app_bar_edit_time": "Uredi datum i vrijeme",
+ "control_bottom_app_bar_share_link": "Podijeli poveznicu",
+ "control_bottom_app_bar_share_to": "Podijeli s...",
+ "control_bottom_app_bar_trash_from_immich": "Premjesti u smeÄe",
"copied_image_to_clipboard": "Slika je kopirana u meÄuspremnik.",
"copied_to_clipboard": "Kopirano u meÄuspremnik!",
"copy_error": "GreÅĄka kopiranja",
@@ -643,45 +674,71 @@
"covers": "Naslovnice",
"create": "Kreiraj",
"create_album": "Kreiraj album",
+ "create_album_page_untitled": "Bez naslova",
"create_library": "Kreiraj Biblioteku",
"create_link": "Kreiraj poveznicu",
"create_link_to_share": "Izradite vezu za dijeljenje",
"create_link_to_share_description": "Dopusti svakome s vezom da vidi odabrane fotografije",
+ "create_new": "KREIRAJ NOVO",
"create_new_person": "Stvorite novu osobu",
"create_new_person_hint": "Dodijelite odabrana sredstva novoj osobi",
"create_new_user": "Kreiraj novog korisnika",
+ "create_shared_album_page_share_add_assets": "DODAJ STAVKE",
+ "create_shared_album_page_share_select_photos": "Odaberi fotografije",
"create_tag": "Stvori oznaku",
"create_tag_description": "Napravite novu oznaku. Za ugnijeÅžÄene oznake unesite punu putanju oznake ukljuÄujuÄi kose crte.",
"create_user": "Stvori korisnika",
"created": "Stvoreno",
+ "crop": "ObreÅži",
+ "curated_object_page_title": "Stvari",
"current_device": "TrenutaÄni ureÄaj",
+ "current_server_address": "Trenutna adresa posluÅžitelja",
"custom_locale": "PrilagoÄena Lokalizacija",
"custom_locale_description": "Formatiranje datuma i brojeva na temelju jezika i regije",
+ "daily_title_text_date": "E, MMM dd",
+ "daily_title_text_date_year": "E, MMM dd, yyyy",
"dark": "Tamno",
"date_after": "Datum nakon",
"date_and_time": "Datum i Vrijeme",
"date_before": "Datum prije",
+ "date_format": "E, LLL d, y âĸ h:mm a",
"date_of_birth_saved": "Datum roÄenja uspjeÅĄno spremljen",
"date_range": "Razdoblje",
"day": "Dan",
"deduplicate_all": "Dedupliciraj Sve",
+ "deduplication_criteria_1": "VeliÄina slike u bajtovima",
+ "deduplication_criteria_2": "Broj EXIF podataka",
+ "deduplication_info": "Informacije o uklanjanju duplikata",
+ "deduplication_info_description": "Za automatski odabir stavki i masovno uklanjanje duplikata, uzimamo u obzir:",
"default_locale": "Zadana lokalizacija",
"default_locale_description": "Oblikujte datume i brojeve na temelju jezika preglednika",
"delete": "IzbriÅĄi",
"delete_album": "IzbriÅĄi album",
"delete_api_key_prompt": "Jeste li sigurni da Åželite izbrisati ovaj API kljuÄ?",
+ "delete_dialog_alert": "Ove stavke bit Äe trajno izbrisane iz Immicha i s vaÅĄeg ureÄaja",
+ "delete_dialog_alert_local": "Ove stavke bit Äe trajno uklonjene s vaÅĄeg ureÄaja, ali Äe i dalje biti dostupne na Immich posluÅžitelju",
+ "delete_dialog_alert_local_non_backed_up": "Neke od stavki nisu sigurnosno kopirane na Immich i bit Äe trajno uklonjene s vaÅĄeg ureÄaja",
+ "delete_dialog_alert_remote": "Ove stavke bit Äe trajno izbrisane s Immich posluÅžitelja",
+ "delete_dialog_ok_force": "IzbriÅĄi svejedno",
+ "delete_dialog_title": "Trajno izbriÅĄi",
"delete_duplicates_confirmation": "Jeste li sigurni da Åželite trajno izbrisati ove duplikate?",
+ "delete_face": "IzbriÅĄi lice",
"delete_key": "KljuÄ za brisanje",
"delete_library": "IzbriÅĄi knjiÅžnicu",
"delete_link": "IzbriÅĄi poveznicu",
+ "delete_local_dialog_ok_backed_up_only": "IzbriÅĄi samo sigurnosno kopirane",
+ "delete_local_dialog_ok_force": "IzbriÅĄi svejedno",
"delete_others": "IzbriÅĄi druge",
"delete_shared_link": "IzbriÅĄi dijeljenu poveznicu",
+ "delete_shared_link_dialog_title": "IzbriÅĄi dijeljenu poveznicu",
"delete_tag": "IzbriÅĄi oznaku",
"delete_tag_confirmation_prompt": "Jeste li sigurni da Åželite izbrisati oznaku {tagName}?",
"delete_user": "IzbriÅĄi korisnika",
"deleted_shared_link": "Izbrisana dijeljena poveznica",
"deletes_missing_assets": "BriÅĄe sredstva koja nedostaju s diska",
"description": "Opis",
+ "description_input_hint_text": "Dodaj opis...",
+ "description_input_submit_error": "PogreÅĄka pri aÅžuriranju opisa, provjerite zapisnik za viÅĄe detalja",
"details": "Detalji",
"direction": "Smjer",
"disabled": "OnemoguÄeno",
@@ -698,12 +755,26 @@
"documentation": "Dokumentacija",
"done": "Gotovo",
"download": "Preuzmi",
+ "download_canceled": "Preuzimanje otkazano",
+ "download_complete": "Preuzimanje zavrÅĄeno",
+ "download_enqueue": "Preuzimanje dodano u red",
+ "download_error": "PogreÅĄka pri preuzimanju",
+ "download_failed": "Preuzimanje nije uspjelo",
+ "download_filename": "datoteka: {}",
+ "download_finished": "Preuzimanje zavrÅĄeno",
"download_include_embedded_motion_videos": "UgraÄeni videozapisi",
"download_include_embedded_motion_videos_description": "UkljuÄite videozapise ugraÄene u fotografije s pokretom kao zasebnu datoteku",
+ "download_notfound": "Preuzimanje nije pronaÄeno",
+ "download_paused": "Preuzimanje pauzirano",
"download_settings": "Preuzmi",
"download_settings_description": "Upravljajte postavkama koje se odnose na preuzimanje sredstava",
+ "download_started": "Preuzimanje zapoÄeto",
+ "download_sucess": "Preuzimanje uspjeÅĄno",
+ "download_sucess_android": "Medij je preuzet u DCIM/Immich",
+ "download_waiting_to_retry": "Äeka se ponovni pokuÅĄaj",
"downloading": "Preuzimanje",
"downloading_asset_filename": "Preuzimanje materijala {filename}",
+ "downloading_media": "Preuzimanje medija",
"drop_files_to_upload": "Ispustite datoteke bilo gdje za prijenos",
"duplicates": "Duplikati",
"duplicates_description": "RazrijeÅĄite svaku grupu tako da naznaÄite koji su duplikati, ako ih ima",
@@ -720,6 +791,7 @@
"edit_key": "KljuÄ za ureÄivanje",
"edit_link": "Uredi poveznicu",
"edit_location": "Uredi lokaciju",
+ "edit_location_dialog_title": "Lokacija",
"edit_name": "Uredi ime",
"edit_people": "Uredi ljude",
"edit_tag": "Uredi oznaku",
@@ -732,19 +804,25 @@
"editor_crop_tool_h2_aspect_ratios": "Omjeri stranica",
"editor_crop_tool_h2_rotation": "Rotacija",
"email": "E-poÅĄta",
+ "empty_folder": "Ova mapa je prazna",
"empty_trash": "Isprazni smeÄe",
"empty_trash_confirmation": "Jeste li sigurni da Åželite isprazniti smeÄe? Time Äe se iz Immicha trajno ukloniti sva sredstva u otpadu.\nNe moÅžete poniÅĄtiti ovu radnju!",
"enable": "OmoguÄi",
"enabled": "OmoguÄeno",
"end_date": "Datum zavrÅĄetka",
+ "enqueued": "Dodano u red",
+ "enter_wifi_name": "Unesite naziv Wi-Fi mreÅže",
"error": "GreÅĄka",
+ "error_change_sort_album": "Nije moguÄe promijeniti redoslijed albuma",
+ "error_delete_face": "PogreÅĄka pri brisanju lica sa stavke",
"error_loading_image": "PogreÅĄka pri uÄitavanju slike",
+ "error_saving_image": "PogreÅĄka: {}",
"error_title": "GreÅĄka - NeÅĄto je poÅĄlo krivo",
"errors": {
"cannot_navigate_next_asset": "Nije moguÄe prijeÄi na sljedeÄi materijal",
"cannot_navigate_previous_asset": "Nije moguÄe prijeÄi na prethodni materijal",
"cant_apply_changes": "Nije moguÄe primijeniti promjene",
- "cant_change_activity": "Ne mogu {enabled, select, true {disable} druge {enable}} aktivnosti",
+ "cant_change_activity": "Ne moÅže se {enabled, select, true {onemoguÄiti} ostalo {omoguÄiti}} aktivnost",
"cant_change_asset_favorite": "Nije moguÄe promijeniti favorita za sredstvo",
"cant_change_metadata_assets_count": "Nije moguÄe promijeniti metapodatke {count, plural, one {# asset} other {# assets}}",
"cant_get_faces": "Ne mogu dobiti lica",
@@ -784,7 +862,7 @@
"unable_to_add_exclusion_pattern": "Nije moguÄe dodati uzorak izuzimanja",
"unable_to_add_import_path": "Nije moguÄe dodati putanju uvoza",
"unable_to_add_partners": "Nije moguÄe dodati partnere",
- "unable_to_add_remove_archive": "Nije moguÄe {arhivirano, odabrati, istinito {ukloniti sredstvo iz} druge {dodati sredstvo u}} arhivu",
+ "unable_to_add_remove_archive": "Ne moÅže se {archived, select, true {ukloniti resurs iz} ostalo {dodati resurs u}} arhivu",
"unable_to_add_remove_favorites": "Nije moguÄe {favorite, select, true {add asset to} other {remove asset from}} favorite",
"unable_to_archive_unarchive": "Nije moguÄe {arhivirati, odabrati, istinito {arhivirati} ostalo {dearhivirati}}",
"unable_to_change_album_user_role": "Nije moguÄe promijeniti ulogu korisnika albuma",
@@ -867,8 +945,21 @@
"unable_to_upload_file": "Nije moguÄe uÄitati datoteku"
},
"exif": "Exif",
+ "exif_bottom_sheet_description": "Dodaj opis...",
+ "exif_bottom_sheet_details": "DETALJI",
+ "exif_bottom_sheet_location": "LOKACIJA",
+ "exif_bottom_sheet_people": "OSOBE",
+ "exif_bottom_sheet_person_add_person": "Dodaj ime",
+ "exif_bottom_sheet_person_age": "Dob {}",
+ "exif_bottom_sheet_person_age_months": "Dob {} mjeseci",
+ "exif_bottom_sheet_person_age_year_months": "Dob 1 godina, {} mjeseci",
+ "exif_bottom_sheet_person_age_years": "Dob {}",
"exit_slideshow": "IzaÄi iz projekcije slideova",
"expand_all": "ProÅĄiri sve",
+ "experimental_settings_new_asset_list_subtitle": "Rad u tijeku",
+ "experimental_settings_new_asset_list_title": "OmoguÄi eksperimentalnu mreÅžu fotografija",
+ "experimental_settings_subtitle": "Koristite na vlastitu odgovornost!",
+ "experimental_settings_title": "Eksperimentalno",
"expire_after": "IstjeÄe nakon",
"expired": "Isteklo",
"expires_date": "IstiÄe {date}",
@@ -879,10 +970,16 @@
"extension": "ProÅĄirenje (Extension)",
"external": "Vanjski",
"external_libraries": "Vanjske Biblioteke",
+ "external_network": "Vanjska mreÅža",
+ "external_network_sheet_info": "Kada niste na Åželjenoj Wi-Fi mreÅži, aplikacija Äe se povezati s posluÅžiteljem putem prve dostupne URL adrese s popisa ispod, redom od vrha prema dnu",
"face_unassigned": "Nedodijeljeno",
+ "failed": "NeuspjeÅĄno",
+ "failed_to_load_assets": "Neuspjelo uÄitavanje stavki",
+ "failed_to_load_folder": "Neuspjelo uÄitavanje mape",
"favorite": "Omiljeno",
"favorite_or_unfavorite_photo": "Omiljena ili neomiljena fotografija",
"favorites": "Omiljene",
+ "favorites_page_no_favorites": "Nema pronaÄenih omiljenih stavki",
"feature_photo_updated": "Istaknuta fotografija aÅžurirana",
"features": "ZnaÄajke (Features)",
"features_setting_description": "Upravljajte znaÄajkama aplikacije",
@@ -890,22 +987,39 @@
"file_name_or_extension": "Naziv ili ekstenzija datoteke",
"filename": "Naziv datoteke",
"filetype": "Vrsta datoteke",
+ "filter": "Filtar",
"filter_people": "Filtrirajte ljude",
+ "filter_places": "Filtriraj mjesta",
"find_them_fast": "PronaÄite ih brzo po imenu pomoÄu pretraÅživanja",
"fix_incorrect_match": "Ispravite netoÄno podudaranje",
+ "folder": "Mapa",
+ "folder_not_found": "Mapa nije pronaÄena",
"folders": "Mape",
"folders_feature_description": "Pregledavanje prikaza mape za fotografije i videozapise u sustavu datoteka",
"forward": "Naprijed",
"general": "OpÄenito",
"get_help": "PotraÅžite pomoÄ",
+ "get_wifiname_error": "Nije moguÄe dohvatiti naziv Wi-Fi mreÅže. Provjerite imate li potrebna dopuÅĄtenja i jeste li povezani na Wi-Fi mreÅžu",
"getting_started": "PoÄetak Rada",
"go_back": "Idi natrag",
+ "go_to_folder": "Idi u mapu",
"go_to_search": "Idi na pretragu",
+ "grant_permission": "Dodijeli dopuÅĄtenje",
"group_albums_by": "Grupiraj albume po...",
+ "group_country": "Grupiraj po zemlji",
"group_no": "Nema grupiranja",
"group_owner": "Grupiraj po vlasniku",
+ "group_places_by": "Grupiraj mjesta po...",
"group_year": "Grupiraj po godini",
+ "haptic_feedback_switch": "OmoguÄi haptiÄku povratnu informaciju",
+ "haptic_feedback_title": "HaptiÄka povratna informacija",
"has_quota": "Ima kvotu",
+ "header_settings_add_header_tip": "Dodaj zaglavlje",
+ "header_settings_field_validator_msg": "Vrijednost ne moÅže biti prazna",
+ "header_settings_header_name_input": "Naziv zaglavlja",
+ "header_settings_header_value_input": "Vrijednost zaglavlja",
+ "headers_settings_tile_subtitle": "Definirajte proxy zaglavlja koja aplikacija treba slati sa svakim mreÅžnim zahtjevom",
+ "headers_settings_tile_title": "PrilagoÄena proxy zaglavlja",
"hi_user": "Bok {name} ({email})",
"hide_all_people": "Sakrij sve ljude",
"hide_gallery": "Sakrij galeriju",
@@ -913,6 +1027,20 @@
"hide_password": "Sakrij lozinku",
"hide_person": "Sakrij osobu",
"hide_unnamed_people": "Sakrij neimenovane osobe",
+ "home_page_add_to_album_conflicts": "Dodano {added} stavki u album {album}. {failed} stavki je veÄ u albumu.",
+ "home_page_add_to_album_err_local": "Lokalne stavke joÅĄ nije moguÄe dodati u albume, preskaÄem",
+ "home_page_add_to_album_success": "Dodano {added} stavki u album {album}.",
+ "home_page_album_err_partner": "JoÅĄ nije moguÄe dodati partnerske stavke u album, preskaÄem",
+ "home_page_archive_err_local": "Lokalne stavke joÅĄ nije moguÄe arhivirati, preskaÄem",
+ "home_page_archive_err_partner": "Partnerske stavke nije moguÄe arhivirati, preskaÄem",
+ "home_page_building_timeline": "Izrada vremenske crte",
+ "home_page_delete_err_partner": "Nije moguÄe izbrisati partnerske stavke, preskaÄem",
+ "home_page_delete_remote_err_local": "Lokalne stavke su u odabiru za udaljeno brisanje, preskaÄem",
+ "home_page_favorite_err_local": "Lokalne stavke joÅĄ nije moguÄe oznaÄiti kao omiljene, preskaÄem",
+ "home_page_favorite_err_partner": "Partnerske stavke joÅĄ nije moguÄe oznaÄiti kao omiljene, preskaÄem",
+ "home_page_first_time_notice": "Ako prvi put koristite aplikaciju, svakako odaberite album za sigurnosnu kopiju kako bi vremenska crta mogla prikazati fotografije i videozapise",
+ "home_page_share_err_local": "Lokalne stavke nije moguÄe dijeliti putem poveznice, preskaÄem",
+ "home_page_upload_err_limit": "MoguÄe je prenijeti najviÅĄe 30 stavki odjednom, preskaÄem",
"host": "DomaÄin",
"hour": "Sat",
"ignore_icloud_photos": "Ignoriraj iCloud fotografije",
@@ -942,6 +1070,7 @@
"include_shared_albums": "UkljuÄi dijeljene albume",
"include_shared_partner_assets": "UkljuÄite zajedniÄku imovinu partnera",
"individual_share": "PojedinaÄni udio",
+ "individual_shares": "PojedinaÄna dijeljenja",
"info": "Informacije",
"interval": {
"day_at_onepm": "Svaki dan u 13 sati",
@@ -949,6 +1078,8 @@
"night_at_midnight": "Svaku veÄer u ponoÄ",
"night_at_twoam": "Svake noÄi u 2 ujutro"
},
+ "invalid_date": "Neispravan datum",
+ "invalid_date_format": "Neispravan format datuma",
"invite_people": "Pozovite ljude",
"invite_to_album": "Pozovi u album",
"items_count": "{count, plural, one {# datoteka} other {# datoteke}}",
@@ -964,10 +1095,17 @@
"latest_version": "Najnovija verzija",
"latitude": "Zemljopisna ÅĄirina",
"leave": "IzaÄi",
+ "lens_model": "Model objektiva",
"let_others_respond": "Dozvoli da drugi odgovore",
"level": "Razina",
"library": "Biblioteka",
"library_options": "MoguÄnosti biblioteke",
+ "library_page_device_albums": "Albumi na ureÄaju",
+ "library_page_new_album": "Novi album",
+ "library_page_sort_asset_count": "Broj resursa",
+ "library_page_sort_created": "Datum kreiranja",
+ "library_page_sort_last_modified": "Zadnja izmjena",
+ "library_page_sort_title": "Naslov albuma",
"light": "Svjetlo",
"like_deleted": "Like izbrisan",
"link_motion_video": "PoveÅžite videozapis pokreta",
@@ -977,12 +1115,42 @@
"list": "Popis",
"loading": "UÄitavanje",
"loading_search_results_failed": "UÄitavanje rezultata pretraÅživanja nije uspjelo",
+ "local_network": "Lokalna mreÅža",
+ "local_network_sheet_info": "Aplikacija Äe se povezati s posluÅžiteljem putem ovog URL-a kada koristi odreÄenu Wi-Fi mreÅžu",
+ "location_permission": "Dozvola za lokaciju",
+ "location_permission_content": "Kako bi koristio znaÄajku automatskog prebacivanja, Immich treba dozvolu za preciznu lokaciju kako bi mogao oÄitati naziv trenutne Wi-Fi mreÅže",
+ "location_picker_choose_on_map": "Odaberi na karti",
+ "location_picker_latitude_error": "Unesite valjanu geografsku ÅĄirinu",
+ "location_picker_latitude_hint": "Unesite ovdje svoju geografsku ÅĄirinu",
+ "location_picker_longitude_error": "Unesite valjanu geografsku duÅžinu",
+ "location_picker_longitude_hint": "Unesite ovdje svoju geografsku duÅžinu",
"log_out": "Odjavi se",
"log_out_all_devices": "Odjava sa svih ureÄaja",
"logged_out_all_devices": "Odjavljeni su svi ureÄaji",
"logged_out_device": "Odjavljen ureÄaj",
"login": "Prijava",
+ "login_disabled": "Prijava je onemoguÄena",
+ "login_form_api_exception": "API iznimka. Provjerite URL posluÅžitelja i pokuÅĄajte ponovno.",
+ "login_form_back_button_text": "Nazad",
+ "login_form_email_hint": "vasaemaiadresal@email.com",
+ "login_form_endpoint_hint": "http://your-server-ip:port",
+ "login_form_endpoint_url": "URL krajnje toÄke posluÅžitelja",
+ "login_form_err_http": "Molimo navedite http:// ili https://",
+ "login_form_err_invalid_email": "NevaÅžeÄa e-mail adresa",
+ "login_form_err_invalid_url": "NevaÅžeÄi URL",
+ "login_form_err_leading_whitespace": "PoÄetni razmak",
+ "login_form_err_trailing_whitespace": "ZavrÅĄni razmak",
+ "login_form_failed_get_oauth_server_config": "PogreÅĄka pri prijavi putem OAuth-a, provjerite URL posluÅžitelja",
+ "login_form_failed_get_oauth_server_disable": "OAuth moguÄnost nije dostupna na ovom posluÅžitelju",
+ "login_form_failed_login": "PogreÅĄka pri prijavi, provjerite URL posluÅžitelja, e-mail i lozinku",
+ "login_form_handshake_exception": "DoÅĄlo je do greÅĄke u uspostavi veze s posluÅžiteljem. OmoguÄite podrÅĄku za samopotpisane certifikate u postavkama ako koristite takav certifikat.",
+ "login_form_password_hint": "lozinka",
+ "login_form_save_login": "Ostani prijavljen",
+ "login_form_server_empty": "Unesite URL posluÅžitelja.",
+ "login_form_server_error": "Nije moguÄe povezivanje s posluÅžiteljem.",
"login_has_been_disabled": "Prijava je onemoguÄena.",
+ "login_password_changed_error": "DoÅĄlo je do pogreÅĄke pri aÅžuriranju lozinke",
+ "login_password_changed_success": "Lozinka je uspjeÅĄno aÅžurirana",
"logout_all_device_confirmation": "Jeste li sigurni da Åželite odjaviti sve ureÄaje?",
"logout_this_device_confirmation": "Jeste li sigurni da se Åželite odjaviti s ovog ureÄaja?",
"longitude": "Zemljopisna duÅžina",
@@ -990,6 +1158,7 @@
"loop_videos": "Ponavljajte videozapise",
"loop_videos_description": "OmoguÄite automatsko ponavljanje videozapisa u pregledniku detalja.",
"main_branch_warning": "Koristite razvojnu verziju; strogo preporuÄamo koriÅĄtenje izdane verzije!",
+ "main_menu": "Glavni izbornik",
"make": "ProizvoÄaÄ",
"manage_shared_links": "Upravljanje dijeljenim vezama",
"manage_sharing_with_partners": "Upravljajte dijeljenjem s partnerima",
@@ -999,13 +1168,40 @@
"manage_your_devices": "Upravljajte ureÄajima na kojima ste prijavljeni",
"manage_your_oauth_connection": "Upravljajte svojom OAuth vezom",
"map": "Karta",
+ "map_assets_in_bound": "{} fotografija",
+ "map_assets_in_bounds": "{} fotografija",
+ "map_cannot_get_user_location": "Nije moguÄe dohvatiti lokaciju korisnika",
+ "map_location_dialog_yes": "Da",
+ "map_location_picker_page_use_location": "Koristi ovu lokaciju",
+ "map_location_service_disabled_content": "Usluga lokacije mora biti omoguÄena za prikaz stavki s vaÅĄe trenutne lokacije. ÅŊelite li je sada omoguÄiti?",
+ "map_location_service_disabled_title": "Usluga lokacije onemoguÄena",
"map_marker_for_images": "Oznaka karte za slike snimljene u {city}, {country}",
"map_marker_with_image": "Oznaka karte sa slikom",
+ "map_no_assets_in_bounds": "Nema fotografija u ovom podruÄju",
+ "map_no_location_permission_content": "Potrebno je dopuÅĄtenje za lokaciju kako bi se prikazale stavke s vaÅĄe trenutne lokacije. ÅŊelite li ga sada omoguÄiti?",
+ "map_no_location_permission_title": "DopuÅĄtenje za lokaciju odbijeno",
"map_settings": "Postavke karte",
+ "map_settings_dark_mode": "Tamni naÄin rada",
+ "map_settings_date_range_option_day": "Posljednja 24 sata",
+ "map_settings_date_range_option_days": "Posljednjih {} dana",
+ "map_settings_date_range_option_year": "ProÅĄla godina",
+ "map_settings_date_range_option_years": "Posljednjih {} godina",
+ "map_settings_dialog_title": "Postavke karte",
+ "map_settings_include_show_archived": "UkljuÄi arhivirane",
+ "map_settings_include_show_partners": "UkljuÄi partnere",
+ "map_settings_only_show_favorites": "PrikaÅži samo omiljene",
+ "map_settings_theme_settings": "Tema karte",
+ "map_zoom_to_see_photos": "Umanjite prikaz za pregled fotografija",
"matches": "Podudaranja",
"media_type": "Vrsta medija",
"memories": "SjeÄanja",
+ "memories_all_caught_up": "Sve ste pregledali",
+ "memories_check_back_tomorrow": "Provjerite ponovno sutra za viÅĄe uspomena",
"memories_setting_description": "Upravljajte onim ÅĄto vidite u svojim sjeÄanjima",
+ "memories_start_over": "ZapoÄni iznova",
+ "memories_swipe_to_close": "PrijeÄite prstom prema gore za zatvaranje",
+ "memories_year_ago": "Prije godinu dana",
+ "memories_years_ago": "Prije {} godina",
"memory": "Memorija",
"memory_lane_title": "Traka sjeÄanja {title}",
"menu": "Izbornik",
@@ -1020,11 +1216,17 @@
"missing": "Nedostaje",
"model": "Model",
"month": "Mjesec",
+ "monthly_title_text_date_format": "MMMM y",
"more": "ViÅĄe",
"moved_to_trash": "PremjeÅĄteno u smeÄe",
+ "multiselect_grid_edit_date_time_err_read_only": "Nije moguÄe urediti datum stavki samo za Äitanje, preskaÄem",
+ "multiselect_grid_edit_gps_err_read_only": "Nije moguÄe urediti lokaciju stavki samo za Äitanje, preskaÄem",
+ "mute_memories": "IskljuÄi uspomene",
"my_albums": "Moji albumi",
"name": "Ime",
"name_or_nickname": "Ime ili nadimak",
+ "networking_settings": "UmreÅžavanje",
+ "networking_subtitle": "Upravljajte postavkama krajnje toÄke posluÅžitelja",
"never": "Nikada",
"new_album": "Novi Album",
"new_api_key": "Novi API kljuÄ",
@@ -1041,6 +1243,7 @@
"no_albums_yet": "Äini se da joÅĄ nemate nijedan album.",
"no_archived_assets_message": "Arhivirajte fotografije i videozapise kako biste ih sakrili iz prikaza fotografija",
"no_assets_message": "KLIKNITE DA PRENESETE SVOJU PRVU FOTOGRAFIJU",
+ "no_assets_to_show": "Nema stavki za prikaz",
"no_duplicates_found": "Nisu pronaÄeni duplikati.",
"no_exif_info_available": "Nema dostupnih exif podataka",
"no_explore_results_message": "Prenesite viÅĄe fotografija da istraÅžite svoju zbirku.",
@@ -1052,8 +1255,13 @@
"no_results_description": "PokuÅĄajte sa sinonimom ili opÄenitijom kljuÄnom rijeÄi",
"no_shared_albums_message": "Stvorite album za dijeljenje fotografija i videozapisa s osobama u svojoj mreÅži",
"not_in_any_album": "Ni u jednom albumu",
+ "not_selected": "Nije odabrano",
"note_apply_storage_label_to_previously_uploaded assets": "Napomena: Da biste primijenili Oznaku za skladiÅĄtenje na prethodno prenesena sredstva, pokrenite",
"notes": "BiljeÅĄke",
+ "notification_permission_dialog_content": "Da biste omoguÄili obavijesti, idite u Postavke i odaberite dopusti.",
+ "notification_permission_list_tile_content": "Dodijelite dopuÅĄtenje za omoguÄavanje obavijesti.",
+ "notification_permission_list_tile_enable_button": "OmoguÄi obavijesti",
+ "notification_permission_list_tile_title": "DopuÅĄtenje za obavijesti",
"notification_toggle_setting_description": "OmoguÄi obavijesti putem e-poÅĄte",
"notifications": "Obavijesti",
"notifications_setting_description": "Upravljanje obavijestima",
@@ -1064,6 +1272,7 @@
"offline_paths_description": "Ovi rezultati mogu biti posljedica ruÄnog brisanja datoteka koje nisu dio vanjske biblioteke.",
"ok": "Ok",
"oldest_first": "Prvo najstarije",
+ "on_this_device": "Na ovom ureÄaju",
"onboarding": "UkljuÄivanje (Onboarding)",
"onboarding_privacy_description": "SljedeÄe (neobavezne) znaÄajke oslanjaju se na vanjske usluge i mogu se onemoguÄiti u bilo kojem trenutku u postavkama administracije.",
"onboarding_theme_description": "Odaberite temu boja za svoj primjer. To moÅžete kasnije promijeniti u postavkama.",
@@ -1071,6 +1280,7 @@
"onboarding_welcome_user": "Dobro doÅĄli, {user}",
"online": "Dostupan (Online)",
"only_favorites": "Samo omiljeno",
+ "open": "Otvori",
"open_in_map_view": "Otvori u prikazu karte",
"open_in_openstreetmap": "Otvori u OpenStreetMap",
"open_the_search_filters": "Otvorite filtre pretraÅživanja",
@@ -1087,6 +1297,14 @@
"partner_can_access": "{partner} moÅže pristupiti",
"partner_can_access_assets": "Sve vaÅĄe fotografije i videi osim onih u arhivi i smeÄu",
"partner_can_access_location": "Mjesto otkuda je slika otkinuta",
+ "partner_list_user_photos": "{user} fotografije",
+ "partner_list_view_all": "PrikaÅži sve",
+ "partner_page_empty_message": "VaÅĄe fotografije joÅĄ nisu podijeljene ni s jednim partnerom.",
+ "partner_page_no_more_users": "Nema viÅĄe korisnika za dodavanje",
+ "partner_page_partner_add_failed": "Nije uspjelo dodavanje partnera",
+ "partner_page_select_partner": "Odaberi partnera",
+ "partner_page_shared_to_title": "Podijeljeno s",
+ "partner_page_stop_sharing_content": "{} viÅĄe neÄe moÄi pristupiti vaÅĄim fotografijama.",
"partner_sharing": "Dijeljenje s partnerom",
"partners": "Partneri",
"password": "Zaporka",
@@ -1115,7 +1333,16 @@
"permanently_delete_assets_prompt": "Da li ste sigurni da Åželite trajni izbrisati {count, plural, one {ovu datoteku?} other {ove # datoteke?}}Ovo cĖe ih takoÄer ukloniti {count, plural, one {iz njihovog} other {iz njihovih}} albuma.",
"permanently_deleted_asset": "Trajno izbrisano sredstvo",
"permanently_deleted_assets_count": "Trajno izbrisano {count, plural, one {# datoteka} other {# datoteke}}",
+ "permission_onboarding_back": "Natrag",
+ "permission_onboarding_continue_anyway": "Nastavi svejedno",
+ "permission_onboarding_get_started": "ZapoÄni",
+ "permission_onboarding_go_to_settings": "Idi u postavke",
+ "permission_onboarding_permission_denied": "DopuÅĄtenje odbijeno. Za koriÅĄtenje Immicha, dodijelite dopuÅĄtenja za fotografije i videozapise u Postavkama.",
+ "permission_onboarding_permission_granted": "DopuÅĄtenje dodijeljeno! Sve je spremno.",
+ "permission_onboarding_permission_limited": "DopuÅĄtenje ograniÄeno. Da biste Immichu dopustili sigurnosno kopiranje i upravljanje cijelom galerijom, dodijelite dopuÅĄtenja za fotografije i videozapise u Postavkama.",
+ "permission_onboarding_request": "Immich zahtijeva dopuÅĄtenje za pregled vaÅĄih fotografija i videozapisa.",
"person": "Osoba",
+ "person_birthdate": "RoÄen/a {date}",
"person_hidden": "{name}{hidden, select, true { (skriveno)} other {}}",
"photo_shared_all_users": "Äini se da ste svoje fotografije podijelili sa svim korisnicima ili nemate nijednog korisnika s kojim biste ih podijelili.",
"photos": "Fotografije",
@@ -1125,11 +1352,14 @@
"pick_a_location": "Odaberite lokaciju",
"place": "Mjesto",
"places": "Mjesta",
+ "places_count": "{count, plural, =1 {{count, number} Mjesto} few {{count, number} Mjesta} other {{count, number} Mjesta}}",
"play": "Pokreni",
"play_memories": "Pokreni sjeÄanja",
"play_motion_photo": "Reproduciraj Pokretnu fotografiju",
"play_or_pause_video": "Reproducirajte ili pauzirajte video",
"port": "Port",
+ "preferences_settings_subtitle": "Upravljajte postavkama aplikacije",
+ "preferences_settings_title": "Postavke",
"preset": "Unaprijed postavljeno",
"preview": "Pregled",
"previous": "Prethodno",
@@ -1137,6 +1367,13 @@
"previous_or_next_photo": "Prethodna ili sljedeÄa fotografija",
"primary": "Primarna (Primary)",
"privacy": "Privatnost",
+ "profile_drawer_app_logs": "Zapisnici",
+ "profile_drawer_client_out_of_date_major": "Mobilna aplikacija je zastarjela. AÅžurirajte na najnoviju glavnu verziju.",
+ "profile_drawer_client_out_of_date_minor": "Mobilna aplikacija je zastarjela. AÅžurirajte na najnoviju manju verziju.",
+ "profile_drawer_client_server_up_to_date": "Klijent i posluÅžitelj su aÅžurirani",
+ "profile_drawer_github": "GitHub",
+ "profile_drawer_server_out_of_date_major": "PosluÅžitelj je zastario. AÅžurirajte na najnoviju glavnu verziju.",
+ "profile_drawer_server_out_of_date_minor": "PosluÅžitelj je zastario. AÅžurirajte na najnoviju manju verziju.",
"profile_image_of_user": "Profilna slika korisnika {user}",
"profile_picture_set": "Profilna slika postavljena.",
"public_album": "Javni album",
@@ -1184,7 +1421,12 @@
"reassigned_assets_to_new_person": "Ponovo dodijeljeno {count, plural, one {# datoteka} other {# datoteke}} novoj osobi",
"reassing_hint": "Dodijelite odabrane datoteke postojeÄoj osobi",
"recent": "Nedavno",
+ "recent-albums": "Nedavni albumi",
"recent_searches": "Nedavne pretrage",
+ "recently_added": "Nedavno dodano",
+ "recently_added_page_title": "Nedavno dodano",
+ "recently_taken": "Nedavno snimljeno",
+ "recently_taken_page_title": "Nedavno snimljeno",
"refresh": "OsvjeÅži",
"refresh_encoded_videos": "OsvjeÅžite kodirane videozapise",
"refresh_faces": "OsvjeÅžite lica",
@@ -1205,11 +1447,16 @@
"remove_from_album": "Ukloni iz albuma",
"remove_from_favorites": "Ukloni iz favorita",
"remove_from_shared_link": "Ukloni iz dijeljene poveznice",
+ "remove_memory": "Ukloni uspomenu",
+ "remove_photo_from_memory": "Ukloni fotografiju iz ove uspomene",
+ "remove_url": "Ukloni URL",
"remove_user": "Ukloni korisnika",
"removed_api_key": "Uklonjen API kljuÄ: {name}",
"removed_from_archive": "Uklonjeno iz arhive",
"removed_from_favorites": "Uklonjeno iz favorita",
"removed_from_favorites_count": "{count, plural, other {Uklonjeno #}} iz omiljenih",
+ "removed_memory": "Uklonjena uspomena",
+ "removed_photo_from_memory": "Uklonjena fotografija iz uspomene",
"removed_tagged_assets": "Uklonjena oznaka iz {count, plural, one {# datoteke} other {# datoteka}}",
"rename": "Preimenuj",
"repair": "Popravi",
@@ -1218,6 +1465,7 @@
"repository": "SpremiÅĄte (Repository)",
"require_password": "Zahtijevaj lozinku",
"require_user_to_change_password_on_first_login": "Zahtijevajte od korisnika promjenu lozinke pri prvoj prijavi",
+ "rescan": "Ponovno skeniraj",
"reset": "Reset",
"reset_password": "Resetiraj lozinku",
"reset_people_visibility": "PoniÅĄti vidljivost ljudi",
@@ -1235,10 +1483,12 @@
"role_editor": "Urednik",
"role_viewer": "Gledatelj",
"save": "Spremi",
+ "save_to_gallery": "Spremi u galeriju",
"saved_api_key": "Spremljen API kljuÄ",
"saved_profile": "Spremljen profil",
"saved_settings": "Spremljene postavke",
"say_something": "Reci neÅĄto",
+ "scaffold_body_error_occurred": "DoÅĄlo je do pogreÅĄke",
"scan_all_libraries": "Skeniraj sve KnjiÅžnice",
"scan_library": "Skeniraj",
"scan_settings": "Postavke skeniranja",
@@ -1246,20 +1496,53 @@
"search": "PretraÅživanje",
"search_albums": "TraÅži albume",
"search_by_context": "PretraÅživanje po kontekstu",
+ "search_by_description": "PretraÅži po opisu",
+ "search_by_description_example": "Planinarenje u Sapi",
"search_by_filename": "PretraÅžujte prema nazivu datoteke ili ekstenziji",
"search_by_filename_example": "npr. IMG_1234.JPG ili PNG",
"search_camera_make": "PretraÅžite marku kamere...",
"search_camera_model": "PretraÅžite model kamere...",
"search_city": "PretraÅžite grad...",
"search_country": "PretraÅžite drÅžavu...",
+ "search_filter_apply": "Primijeni filtar",
+ "search_filter_camera_title": "Odaberi vrstu kamere",
+ "search_filter_date": "Datum",
+ "search_filter_date_interval": "{start} do {end}",
+ "search_filter_date_title": "Odaberi raspon datuma",
+ "search_filter_display_option_not_in_album": "Nije u albumu",
+ "search_filter_display_options": "Opcije prikaza",
+ "search_filter_filename": "PretraÅži po nazivu datoteke",
+ "search_filter_location": "Lokacija",
+ "search_filter_location_title": "Odaberi lokaciju",
+ "search_filter_media_type": "Vrsta medija",
+ "search_filter_media_type_title": "Odaberi vrstu medija",
+ "search_filter_people_title": "Odaberi osobe",
+ "search_for": "TraÅži",
"search_for_existing_person": "PotraÅžite postojeÄu osobu",
+ "search_no_more_result": "Nema viÅĄe rezultata",
"search_no_people": "Nema ljudi",
"search_no_people_named": "Nema osoba s imenom \"{name}\"",
+ "search_no_result": "Nema rezultata, pokuÅĄajte s drugim pojmom za pretraÅživanje ili kombinacijom",
"search_options": "Opcije pretraÅživanja",
+ "search_page_categories": "Kategorije",
+ "search_page_motion_photos": "Pokretne fotografije",
+ "search_page_no_objects": "Nema dostupnih informacija o objektima",
+ "search_page_no_places": "Nema dostupnih informacija o mjestima",
+ "search_page_screenshots": "Snimke zaslona",
+ "search_page_search_photos_videos": "PretraÅžite svoje fotografije i videozapise",
+ "search_page_selfies": "Selfiji",
+ "search_page_things": "Stvari",
+ "search_page_view_all_button": "PrikaÅži sve",
+ "search_page_your_activity": "VaÅĄa aktivnost",
+ "search_page_your_map": "VaÅĄa karta",
"search_people": "TraÅži ljude",
"search_places": "TraÅži mjesta",
+ "search_rating": "PretraÅži po ocjeni...",
+ "search_result_page_new_search_hint": "Nova pretraga",
"search_settings": "Postavke pretraÅživanja",
"search_state": "DrÅžava pretraÅživanja...",
+ "search_suggestion_list_smart_search_hint_1": "Pametna pretraga je omoguÄena prema zadanim postavkama, za pretraÅživanje metapodataka koristite sintaksu ",
+ "search_suggestion_list_smart_search_hint_2": "m:vaÅĄ-pojam-pretrage",
"search_tags": "TraÅži oznake...",
"search_timezone": "PretraÅži vremenske zone",
"search_type": "Vrsta pretraÅživanja",
@@ -1267,43 +1550,125 @@
"searching_locales": "TraÅženje lokaliteta...",
"second": "Drugi",
"see_all_people": "Vidi sve ljude",
+ "select": "Odaberi",
"select_album_cover": "Odaberite omot albuma",
"select_all": "Odaberi sve",
"select_all_duplicates": "Odaberi sve duplikate",
- "select_avatar_color": "",
+ "select_avatar_color": "Odaberi boju avatara",
"select_face": "Odaberi lice",
- "select_featured_photo": "",
- "select_keep_all": "",
- "select_library_owner": "",
- "select_new_face": "",
- "select_photos": "",
- "select_trash_all": "",
+ "select_featured_photo": "Odaberi istaknutu fotografiju",
+ "select_from_computer": "Odaberi s raÄunala",
+ "select_keep_all": "Odaberi zadrÅži sve",
+ "select_library_owner": "Odaberi vlasnika knjiÅžnice",
+ "select_new_face": "Odaberi novo lice",
+ "select_photos": "Odaberi fotografije",
+ "select_trash_all": "Odaberi izbriÅĄi sve",
+ "select_user_for_sharing_page_err_album": "Nije uspjelo kreiranje albuma",
"selected": "Odabrano",
- "send_message": "",
+ "selected_count": "{count, plural, =1 {# odabran} few {# odabrana} other {# odabranih}}",
+ "send_message": "PoÅĄalji poruku",
"send_welcome_email": "PoÅĄalji email dobrodoÅĄlice",
+ "server_endpoint": "Krajnja toÄka posluÅžitelja",
+ "server_info_box_app_version": "Verzija aplikacije",
+ "server_info_box_server_url": "URL posluÅžitelja",
"server_offline": "Server izvan mreÅže",
"server_online": "Server na mreÅži",
"server_stats": "Statistike servera",
"server_version": "Verzija servera",
"set": "Postavi",
- "set_as_album_cover": "",
+ "set_as_album_cover": "Postavi kao naslovnicu albuma",
+ "set_as_featured_photo": "Postavi kao istaknutu fotografiju",
"set_as_profile_picture": "Postavi kao profilnu sliku",
"set_date_of_birth": "Postavi datum roÄenja",
"set_profile_picture": "Postavi profilnu sliku",
- "set_slideshow_to_fullscreen": "",
+ "set_slideshow_to_fullscreen": "Postavi prezentaciju na cijeli zaslon",
+ "setting_image_viewer_help": "Preglednik detalja prvo uÄitava malu sliÄicu, zatim uÄitava pregled srednje veliÄine (ako je omoguÄen), te na kraju uÄitava original (ako je omoguÄen).",
+ "setting_image_viewer_original_subtitle": "OmoguÄite za uÄitavanje originalne slike pune rezolucije (velika!). OnemoguÄite za smanjenje potroÅĄnje podataka (i mreÅžne i na predmemoriji ureÄaja).",
+ "setting_image_viewer_original_title": "UÄitaj originalnu sliku",
+ "setting_image_viewer_preview_subtitle": "OmoguÄite za uÄitavanje slike srednje rezolucije. OnemoguÄite za izravno uÄitavanje originala ili koriÅĄtenje samo sliÄice.",
+ "setting_image_viewer_preview_title": "UÄitaj sliku za pregled",
+ "setting_image_viewer_title": "Slike",
+ "setting_languages_apply": "Primijeni",
+ "setting_languages_subtitle": "Promijeni jezik aplikacije",
+ "setting_languages_title": "Jezici",
+ "setting_notifications_notify_failures_grace_period": "Obavijesti o neuspjehu sigurnosnog kopiranja u pozadini: {}",
+ "setting_notifications_notify_hours": "{} sati",
+ "setting_notifications_notify_immediately": "odmah",
+ "setting_notifications_notify_minutes": "{} minuta",
+ "setting_notifications_notify_never": "nikad",
+ "setting_notifications_notify_seconds": "{} sekundi",
+ "setting_notifications_single_progress_subtitle": "Detaljne informacije o napretku prijenosa po stavci",
+ "setting_notifications_single_progress_title": "PrikaÅži detaljni napredak sigurnosnog kopiranja u pozadini",
+ "setting_notifications_subtitle": "Prilagodite postavke obavijesti",
+ "setting_notifications_total_progress_subtitle": "Ukupni napredak prijenosa (zavrÅĄeno/ukupno stavki)",
+ "setting_notifications_total_progress_title": "PrikaÅži ukupni napredak sigurnosnog kopiranja u pozadini",
+ "setting_video_viewer_looping_title": "Ponavljanje",
+ "setting_video_viewer_original_video_subtitle": "Prilikom strujanja videozapisa s posluÅžitelja, reproducirajte original Äak i kada je dostupna transkodirana verzija. MoÅže doÄi do meÄuspremanja. Videozapisi dostupni lokalno reproduciraju se u originalnoj kvaliteti bez obzira na ovu postavku.",
+ "setting_video_viewer_original_video_title": "Forsiraj originalni videozapis",
"settings": "Postavke",
+ "settings_require_restart": "Ponovno pokrenite Immich da biste primijenili ovu postavku",
"settings_saved": "Postavke su spremljene",
"share": "Podijeli",
+ "share_add_photos": "Dodaj fotografije",
+ "share_assets_selected": "{} odabrano",
+ "share_dialog_preparing": "Priprema...",
"shared": "Podijeljeno",
+ "shared_album_activities_input_disable": "Komentiranje je onemoguÄeno",
+ "shared_album_activity_remove_content": "ÅŊelite li izbrisati ovu aktivnost?",
+ "shared_album_activity_remove_title": "IzbriÅĄi aktivnost",
+ "shared_album_section_people_action_error": "PogreÅĄka pri napuÅĄtanju/uklanjanju iz albuma",
+ "shared_album_section_people_action_leave": "Ukloni korisnika iz albuma",
+ "shared_album_section_people_action_remove_user": "Ukloni korisnika iz albuma",
+ "shared_album_section_people_title": "OSOBE",
"shared_by": "Podijelio",
"shared_by_user": "Podijelio {user}",
"shared_by_you": "Podijelili vi",
"shared_from_partner": "Fotografije od {partner}",
- "shared_links": "",
- "shared_with_partner": "",
- "sharing": "",
- "sharing_sidebar_description": "",
- "show_album_options": "",
+ "shared_intent_upload_button_progress_text": "{} / {} Preneseno",
+ "shared_link_app_bar_title": "Dijeljene poveznice",
+ "shared_link_clipboard_copied_massage": "Kopirano u meÄuspremnik",
+ "shared_link_clipboard_text": "Poveznica: {}\nLozinka: {}",
+ "shared_link_create_error": "PogreÅĄka pri kreiranju dijeljene poveznice",
+ "shared_link_edit_description_hint": "Unesite opis dijeljenja",
+ "shared_link_edit_expire_after_option_day": "1 dan",
+ "shared_link_edit_expire_after_option_days": "{} dana",
+ "shared_link_edit_expire_after_option_hour": "1 sat",
+ "shared_link_edit_expire_after_option_hours": "{} sati",
+ "shared_link_edit_expire_after_option_minute": "1 minuta",
+ "shared_link_edit_expire_after_option_minutes": "{} minuta",
+ "shared_link_edit_expire_after_option_months": "{} mjeseci",
+ "shared_link_edit_expire_after_option_year": "{} godina",
+ "shared_link_edit_password_hint": "Unesite lozinku za dijeljenje",
+ "shared_link_edit_submit_button": "AÅžuriraj poveznicu",
+ "shared_link_error_server_url_fetch": "Nije moguÄe dohvatiti URL posluÅžitelja",
+ "shared_link_expires_day": "IstjeÄe za {} dan",
+ "shared_link_expires_days": "IstjeÄe za {} dana",
+ "shared_link_expires_hour": "IstjeÄe za {} sat",
+ "shared_link_expires_hours": "IstjeÄe za {} sati",
+ "shared_link_expires_minute": "IstjeÄe za {} minutu",
+ "shared_link_expires_minutes": "IstjeÄe za {} minuta",
+ "shared_link_expires_never": "IstjeÄe â",
+ "shared_link_expires_second": "IstjeÄe za {} sekundu",
+ "shared_link_expires_seconds": "IstjeÄe za {} sekundi",
+ "shared_link_individual_shared": "PojedinaÄno podijeljeno",
+ "shared_link_info_chip_metadata": "EXIF",
+ "shared_link_manage_links": "Upravljanje dijeljenim poveznicama",
+ "shared_link_options": "Opcije dijeljene poveznice",
+ "shared_links": "Dijeljene poveznice",
+ "shared_links_description": "Podijelite fotografije i videozapise putem poveznice",
+ "shared_photos_and_videos_count": "{assetCount, plural, =1 {# podijeljena fotografija ili videozapis.} few {# podijeljene fotografije i videozapisa.} other {# podijeljenih fotografija i videozapisa.}}",
+ "shared_with_me": "Podijeljeno sa mnom",
+ "shared_with_partner": "Podijeljeno s {partner}",
+ "sharing": "Dijeljenje",
+ "sharing_enter_password": "Molimo unesite lozinku za pregled ove stranice.",
+ "sharing_page_album": "Dijeljeni albumi",
+ "sharing_page_description": "Kreirajte dijeljene albume za dijeljenje fotografija i videozapisa s ljudima u vaÅĄoj mreÅži.",
+ "sharing_page_empty_list": "PRAZAN POPIS",
+ "sharing_sidebar_description": "PrikaÅži poveznicu na Dijeljenje u boÄnoj traci",
+ "sharing_silver_appbar_create_shared_album": "Novi dijeljeni album",
+ "sharing_silver_appbar_share_partner": "Podijeli s partnerom",
+ "shift_to_permanent_delete": "pritisnite â§ za trajno brisanje stavke",
+ "show_album_options": "PrikaÅži opcije albuma",
"show_albums": "PrikaÅži albume",
"show_all_people": "PrikaÅži sve osobe",
"show_and_hide_people": "PrikaÅži i sakrij osobe",
@@ -1311,105 +1676,219 @@
"show_gallery": "PrikaÅži galeriju",
"show_hidden_people": "PrikaÅži skrivene osobe",
"show_in_timeline": "PrikaÅži na vremenskoj crti",
- "show_in_timeline_setting_description": "",
- "show_keyboard_shortcuts": "",
- "show_metadata": "",
- "show_or_hide_info": "",
- "show_password": "",
- "show_person_options": "",
- "show_progress_bar": "",
- "show_search_options": "",
- "shuffle": "",
- "sign_out": "",
- "sign_up": "",
- "size": "",
- "skip_to_content": "",
- "slideshow": "",
- "slideshow_settings": "",
- "sort_albums_by": "",
- "stack": "",
- "stack_selected_photos": "",
- "stacktrace": "",
- "start": "",
- "start_date": "",
- "state": "",
- "status": "",
- "stop_motion_photo": "",
- "stop_photo_sharing": "",
- "stop_photo_sharing_description": "",
- "stop_sharing_photos_with_user": "",
- "storage": "",
- "storage_label": "",
- "storage_usage": "",
- "submit": "",
+ "show_in_timeline_setting_description": "PrikaÅži fotografije i videozapise ovog korisnika na vaÅĄoj vremenskoj crti",
+ "show_keyboard_shortcuts": "PrikaÅži tipkovniÄke preÄace",
+ "show_metadata": "PrikaÅži metapodatke",
+ "show_or_hide_info": "PrikaÅži ili sakrij informacije",
+ "show_password": "PrikaÅži lozinku",
+ "show_person_options": "PrikaÅži opcije osobe",
+ "show_progress_bar": "PrikaÅži traku napretka",
+ "show_search_options": "PrikaÅži opcije pretraÅživanja",
+ "show_shared_links": "PrikaÅži dijeljene poveznice",
+ "show_slideshow_transition": "PrikaÅži prijelaz prezentacije",
+ "show_supporter_badge": "ZnaÄka podrÅžavatelja",
+ "show_supporter_badge_description": "PrikaÅži znaÄku podrÅžavatelja",
+ "shuffle": "NasumiÄni redoslijed",
+ "sidebar": "BoÄna traka",
+ "sidebar_display_description": "PrikaÅži poveznicu na prikaz u boÄnoj traci",
+ "sign_out": "Odjava",
+ "sign_up": "Registriraj se",
+ "size": "VeliÄina",
+ "skip_to_content": "PreskoÄi na sadrÅžaj",
+ "skip_to_folders": "PreskoÄi na mape",
+ "skip_to_tags": "PreskoÄi na oznake",
+ "slideshow": "Prezentacija",
+ "slideshow_settings": "Postavke prezentacije",
+ "sort_albums_by": "Sortiraj albume po...",
+ "sort_created": "Datum kreiranja",
+ "sort_items": "Broj stavki",
+ "sort_modified": "Datum izmjene",
+ "sort_oldest": "Najstarija fotografija",
+ "sort_people_by_similarity": "Sortiraj osobe po sliÄnosti",
+ "sort_recent": "Najnovija fotografija",
+ "sort_title": "Naslov",
+ "source": "Izvor",
+ "stack": "SloÅži",
+ "stack_duplicates": "SloÅži duplikate",
+ "stack_select_one_photo": "Odaberi jednu glavnu fotografiju za slaganje",
+ "stack_selected_photos": "SloÅži odabrane fotografije",
+ "stacked_assets_count": "SloÅženo {count, plural, =1 {# stavka} few {# stavke} other {# stavki}}",
+ "stacktrace": "Pracenje stoga",
+ "start": "PoÄetak",
+ "start_date": "Datum poÄetka",
+ "state": "Stanje",
+ "status": "Status",
+ "stop_motion_photo": "Zaustavi pokretnu fotografiju",
+ "stop_photo_sharing": "Prestati dijeliti svoje fotografije?",
+ "stop_photo_sharing_description": "{partner} viÅĄe neÄe moÄi pristupiti vaÅĄim fotografijama.",
+ "stop_sharing_photos_with_user": "Prestani dijeliti svoje fotografije s ovim korisnikom",
+ "storage": "Prostor za pohranu",
+ "storage_label": "Oznaka pohrane",
+ "storage_usage": "{used} od {available} iskoriÅĄteno",
+ "submit": "PoÅĄalji",
"suggestions": "Prijedlozi",
"sunrise_on_the_beach": "Sunrise on the beach",
- "swap_merge_direction": "",
+ "support": "PodrÅĄka",
+ "support_and_feedback": "PodrÅĄka i povratne informacije",
+ "support_third_party_description": "VaÅĄa Immich instalacija je pakirana od strane treÄe strane. Problemi koje doÅživljavate mogu biti uzrokovani tim paketom, stoga vas molimo da probleme prvo prijavite njima putem poveznica u nastavku.",
+ "swap_merge_direction": "Zamijeni smjer spajanja",
"sync": "Sink.",
- "template": "",
+ "sync_albums": "Sinkroniziraj albume",
+ "sync_albums_manual_subtitle": "Sinkroniziraj sve prenesene videozapise i fotografije u odabrane albume za sigurnosnu kopiju",
+ "sync_upload_album_setting_subtitle": "Kreiraj i prenesi svoje fotografije i videozapise u odabrane albume na Immichu",
+ "tag": "Oznaka",
+ "tag_assets": "OznaÄi stavke",
+ "tag_created": "Kreirana oznaka: {tag}",
+ "tag_feature_description": "Pregledavanje fotografija i videozapisa grupiranih po logiÄkim temama oznaka",
+ "tag_not_found_question": "Nije moguÄe pronaÄi oznaku? Napravite novu oznaku.",
+ "tag_people": "OznaÄi osobe",
+ "tag_updated": "AÅžurirana oznaka: {tag}",
+ "tagged_assets": "OznaÄena {count, plural, =1 {# stavka} few {# stavke} other {# stavki}}",
+ "tags": "Oznake",
+ "template": "PredloÅžak",
"theme": "Tema",
"theme_selection": "Izbor teme",
"theme_selection_description": "Automatski postavite temu na svijetlu ili tamnu ovisno o postavkama sustava vaÅĄeg preglednika",
+ "theme_setting_asset_list_storage_indicator_title": "PrikaÅži indikator pohrane na ploÄicama stavki",
+ "theme_setting_asset_list_tiles_per_row_title": "Broj stavki po retku ({})",
+ "theme_setting_colorful_interface_subtitle": "Primijeni primarnu boju na pozadinske povrÅĄine.",
+ "theme_setting_colorful_interface_title": "Å areno suÄelje",
+ "theme_setting_image_viewer_quality_subtitle": "Prilagodite kvalitetu preglednika detalja slike",
+ "theme_setting_image_viewer_quality_title": "Kvaliteta preglednika slika",
+ "theme_setting_primary_color_subtitle": "Odaberite boju za primarne radnje i naglaske.",
+ "theme_setting_primary_color_title": "Primarna boja",
+ "theme_setting_system_primary_color_title": "Koristi boju sustava",
+ "theme_setting_system_theme_switch": "Automatski (Prati postavke sustava)",
+ "theme_setting_theme_subtitle": "Odaberite postavku teme aplikacije",
+ "theme_setting_three_stage_loading_subtitle": "Trostupanjsko uÄitavanje moÅže poboljÅĄati performanse uÄitavanja, ali uzrokuje znatno veÄe optereÄenje mreÅže",
+ "theme_setting_three_stage_loading_title": "OmoguÄi trostupanjsko uÄitavanje",
"they_will_be_merged_together": "Oni Äu biti spojeni zajedno",
+ "third_party_resources": "Resursi treÄih strana",
"time_based_memories": "Uspomene temeljene na vremenu",
+ "timeline": "Vremenska crta",
"timezone": "Vremenska zona",
"to_archive": "Arhivaj",
"to_change_password": "Promjeni lozinku",
"to_favorite": "Omiljeni",
"to_login": "Prijava",
+ "to_parent": "Idi na roditelja",
"to_trash": "SmeÄe",
"toggle_settings": "UkljuÄi/iskljuÄi postavke",
"toggle_theme": "Promjeni temu",
+ "total": "Ukupno",
"total_usage": "Ukupna upotreba",
"trash": "SmeÄe",
"trash_all": "Stavi sve u smeÄe",
+ "trash_count": "SmeÄe {count, number}",
+ "trash_delete_asset": "Premjesti u smeÄe / IzbriÅĄi stavku",
+ "trash_emptied": "IspraÅžnjeno smeÄe",
"trash_no_results_message": "Ovdje Äe se prikazati baÄene fotografije i videozapisi.",
+ "trash_page_delete_all": "IzbriÅĄi sve",
+ "trash_page_empty_trash_dialog_content": "ÅŊelite li isprazniti svoje stavke u smeÄu? Ove stavke bit Äe trajno uklonjene iz Immicha",
+ "trash_page_info": "Stavke u smeÄu bit Äe trajno izbrisane nakon {} dana",
+ "trash_page_no_assets": "Nema stavki u smeÄu",
+ "trash_page_restore_all": "Vrati sve",
+ "trash_page_select_assets_btn": "Odaberi stavke",
+ "trash_page_title": "SmeÄe ({})",
"trashed_items_will_be_permanently_deleted_after": "Stavke baÄene u smeÄe trajno Äe se izbrisati nakon {days, plural, one {# day} other {# days}}.",
"type": "Vrsta",
- "unarchive": "",
- "unfavorite": "",
- "unhide_person": "",
- "unknown": "",
- "unknown_year": "",
- "unlimited": "",
- "unlink_oauth": "",
- "unlinked_oauth_account": "",
- "unselect_all": "",
- "unstack": "",
- "untracked_files": "",
- "untracked_files_decription": "",
- "up_next": "",
- "updated_password": "",
- "upload": "",
- "upload_concurrency": "",
- "url": "",
- "usage": "",
- "user": "",
- "user_id": "",
- "user_usage_detail": "",
+ "unarchive": "PoniÅĄti arhiviranje",
+ "unarchived_count": "{count, plural, =1 {PoniÅĄteno arhiviranje #} few {PoniÅĄteno arhiviranje #} other {PoniÅĄteno arhiviranje #}}",
+ "unfavorite": "Ukloni iz omiljenih",
+ "unhide_person": "PrikaÅži osobu",
+ "unknown": "Nepoznato",
+ "unknown_country": "Nepoznata drÅžava",
+ "unknown_year": "Nepoznata godina",
+ "unlimited": "NeograniÄeno",
+ "unlink_motion_video": "OdpoveÅži pokretni videozapis",
+ "unlink_oauth": "OdpoveÅži OAuth",
+ "unlinked_oauth_account": "Odpovezan OAuth raÄun",
+ "unmute_memories": "UkljuÄi uspomene",
+ "unnamed_album": "Album bez imena",
+ "unnamed_album_delete_confirmation": "Jeste li sigurni da Åželite izbrisati ovaj album?",
+ "unnamed_share": "Dijeljenje bez imena",
+ "unsaved_change": "Nespremljena promjena",
+ "unselect_all": "PoniÅĄti odabir svih",
+ "unselect_all_duplicates": "PoniÅĄti odabir svih duplikata",
+ "unstack": "Razdvoji",
+ "unstacked_assets_count": "Razdvojena {count, plural, =1 {# stavka} few {# stavke} other {# stavki}}",
+ "untracked_files": "Datoteke bez praÄenja",
+ "untracked_files_decription": "Ove datoteke nisu praÄene od strane aplikacije. Mogu biti rezultat neuspjelih premjeÅĄtanja, prekinutih prijenosa ili su ostale zbog greÅĄke",
+ "up_next": "SljedeÄe",
+ "updated_password": "Lozinka aÅžurirana",
+ "upload": "Prijenos",
+ "upload_concurrency": "Istovremeni prijenosi",
+ "upload_dialog_info": "ÅŊelite li sigurnosno kopirati odabranu stavku(e) na posluÅžitelj?",
+ "upload_dialog_title": "Prenesi stavku",
+ "upload_errors": "Prijenos zavrÅĄen s {count, plural, =1 {# greÅĄkom} few {# greÅĄke} other {# greÅĄaka}}, osvjeÅžite stranicu da biste vidjeli nove prenesene stavke.",
+ "upload_progress": "Preostalo {remaining, number} - ObraÄeno {processed, number}/{total, number}",
+ "upload_skipped_duplicates": "PreskoÄena {count, plural, =1 {# duplicirana stavka} few {# duplicirane stavke} other {# dupliciranih stavki}}",
+ "upload_status_duplicates": "Duplikati",
+ "upload_status_errors": "GreÅĄke",
+ "upload_status_uploaded": "Preneseno",
+ "upload_success": "Prijenos uspjeÅĄan, osvjeÅžite stranicu da biste vidjeli nove prenesene stavke.",
+ "upload_to_immich": "Prenesi na Immich ({})",
+ "uploading": "Prijenos u tijeku",
+ "url": "URL",
+ "usage": "KoriÅĄtenje",
+ "use_current_connection": "koristi trenutnu vezu",
+ "use_custom_date_range": "Koristi prilagoÄeni raspon datuma",
+ "user": "Korisnik",
+ "user_id": "ID korisnika",
+ "user_liked": "{user} je oznaÄio/la sviÄa mi se {type, select, photo {ovu fotografiju} video {ovaj videozapis} asset {ovu stavku} other {to}}",
+ "user_purchase_settings": "Kupnja",
+ "user_purchase_settings_description": "Upravljajte svojom kupnjom",
+ "user_role_set": "Postavi {user} kao {role}",
+ "user_usage_detail": "Detalji koriÅĄtenja korisnika",
"user_usage_stats": "Statistika koriÅĄtenja raÄuna",
"user_usage_stats_description": "Pregledajte statistiku koriÅĄtenja raÄuna",
- "username": "",
- "users": "",
- "utilities": "",
- "validate": "",
- "variables": "",
- "version": "",
- "video": "",
- "video_hover_setting": "",
- "video_hover_setting_description": "",
- "videos": "",
- "videos_count": "",
- "view_all": "",
- "view_all_users": "",
- "view_links": "",
- "view_next_asset": "",
- "view_previous_asset": "",
- "waiting": "",
- "week": "",
- "welcome_to_immich": "",
- "year": "",
- "yes": "",
- "you_dont_have_any_shared_links": "",
- "zoom_image": ""
+ "username": "KorisniÄko ime",
+ "users": "Korisnici",
+ "utilities": "Alati",
+ "validate": "Provjeri valjanost",
+ "validate_endpoint_error": "Molimo unesite valjanu URL adresu",
+ "variables": "Varijable",
+ "version": "Verzija",
+ "version_announcement_closing": "VaÅĄ prijatelj, Alex",
+ "version_announcement_message": "Bok! Dostupna je nova verzija Immicha. Odvojite malo vremena da proÄitate biljeÅĄke o izdanju kako biste bili sigurni da je vaÅĄe postavljanje aÅžurno kako biste sprijeÄili bilo kakve pogreÅĄne konfiguracije, pogotovo ako koristite WatchTower ili bilo koji mehanizam koji automatski upravlja aÅžuriranjem vaÅĄe instance Immicha.",
+ "version_announcement_overlay_release_notes": "napomene o izdanju",
+ "version_announcement_overlay_text_1": "Bok prijatelju, dostupno je novo izdanje",
+ "version_announcement_overlay_text_2": "molimo odvojite vrijeme da posjetite ",
+ "version_announcement_overlay_text_3": " i osigurajte da su vaÅĄe postavke docker-compose i .env aÅžurirane kako biste sprijeÄili pogreÅĄne konfiguracije, posebno ako koristite WatchTower ili bilo koji mehanizam koji automatski aÅžurira vaÅĄu posluÅžiteljsku aplikaciju.",
+ "version_announcement_overlay_title": "Dostupna je nova verzija posluÅžitelja đ",
+ "version_history": "Povijest verzija",
+ "version_history_item": "Instalirana verzija {version} dana {date}",
+ "video": "Videozapis",
+ "video_hover_setting": "Reproduciraj sliÄicu videozapisa pri prelasku miÅĄem",
+ "video_hover_setting_description": "Reproduciraj sliÄicu videozapisa kada miÅĄ prelazi preko stavke. Äak i kada je onemoguÄeno, reprodukcija se moÅže pokrenuti prelaskom miÅĄa preko ikone za reprodukciju.",
+ "videos": "Videozapisi",
+ "videos_count": "{count, plural, =1 {# Videozapis} few {# Videozapisa} other {# Videozapisa}}",
+ "view": "Prikaz",
+ "view_album": "PrikaÅži album",
+ "view_all": "PrikaÅži sve",
+ "view_all_users": "PrikaÅži sve korisnike",
+ "view_in_timeline": "PrikaÅži na vremenskoj crti",
+ "view_link": "PrikaÅži poveznicu",
+ "view_links": "PrikaÅži poveznice",
+ "view_name": "Prikaz",
+ "view_next_asset": "PrikaÅži sljedeÄu stavku",
+ "view_previous_asset": "PrikaÅži prethodnu stavku",
+ "view_qr_code": "PrikaÅži QR kod",
+ "view_stack": "PrikaÅži sloÅžene",
+ "viewer_remove_from_stack": "Ukloni iz sloÅženih",
+ "viewer_stack_use_as_main_asset": "Koristi kao glavnu stavku",
+ "viewer_unstack": "Razdvoji",
+ "visibility_changed": "Vidljivost promijenjena za {count, plural, =1 {# osobu} few {# osobe} other {# osoba}}",
+ "waiting": "Äekanje",
+ "warning": "Upozorenje",
+ "week": "Tjedan",
+ "welcome": "DobrodoÅĄli",
+ "welcome_to_immich": "DobrodoÅĄli u Immich",
+ "wifi_name": "Naziv Wi-Fi mreÅže",
+ "year": "Godina",
+ "years_ago": "prije {years, plural, =1 {# godinu} few {# godine} other {# godina}}",
+ "yes": "Da",
+ "you_dont_have_any_shared_links": "Nemate nijednu dijeljenu poveznicu",
+ "your_wifi_name": "Naziv vaÅĄe Wi-Fi mreÅže",
+ "zoom_image": "PoveÄaj sliku"
}
diff --git a/i18n/hu.json b/i18n/hu.json
index 88ce6033f8..b3de1ac19d 100644
--- a/i18n/hu.json
+++ b/i18n/hu.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Automatikus regisztrÃĄciÃŗ",
"oauth_auto_register_description": "Ãj felhasznÃĄlÃŗk automatikus regisztrÃĄlÃĄsa az OAuth hasznÃĄlatÃĄval tÃļrtÊnÅ bejelentkezÊs utÃĄn",
"oauth_button_text": "Gomb szÃļvege",
- "oauth_client_id": "Kliens ID",
- "oauth_client_secret": "Kliens Titok",
"oauth_enable_description": "BejelentkezÊs OAuth hasznÃĄlatÃĄval",
- "oauth_issuer_url": "KibocsÃĄtÃŗ URL",
"oauth_mobile_redirect_uri": "Mobil ÃĄtirÃĄnyÃtÃĄsi URI",
"oauth_mobile_redirect_uri_override": "Mobil ÃĄtirÃĄnyÃtÃĄsi URI felÃŧlÃrÃĄs",
"oauth_mobile_redirect_uri_override_description": "EngedÊlyezd, ha az OAuth szolgÃĄltatÃŗ tiltja a mobil URI-t, mint pÊldÃĄul '{callback}'",
- "oauth_profile_signing_algorithm": "Profil alÃĄÃrÃŗ algoritmus",
- "oauth_profile_signing_algorithm_description": "A felhasznÃĄlÃŗi profil alÃĄÃrÃĄsÃĄhoz hasznÃĄlt algoritmus.",
- "oauth_scope": "HatÃŗkÃļr",
"oauth_settings": "OAuth",
"oauth_settings_description": "OAuth bejelentkezÊsi beÃĄllÃtÃĄsok kezelÊse",
"oauth_settings_more_details": "ErrÅl a funkciÃŗrÃŗl tovÃĄbbi informÃĄciÃŗt a dokumentÃĄciÃŗban talÃĄlsz.",
- "oauth_signing_algorithm": "AlÃĄÃrÃĄs algoritmusa",
"oauth_storage_label_claim": "TÃĄrhely cÃmke igÊnylÊs",
"oauth_storage_label_claim_description": "A felhasznÃĄlÃŗ tÃĄrhely cÃmkÊjÊnek automatikus beÃĄllÃtÃĄsa az igÊnyeltre.",
"oauth_storage_quota_claim": "TÃĄrhelykvÃŗta igÊnylÊse",
diff --git a/i18n/hy.json b/i18n/hy.json
index 000fcaa2e1..34f0f05119 100644
--- a/i18n/hy.json
+++ b/i18n/hy.json
@@ -1,23 +1,24 @@
{
+ "about": "ÕÕĄÕŊÕĢÕļ",
"account": "",
"account_settings": "",
"acknowledge": "",
- "action": "",
+ "action": "ÔŗÕ¸ÖÕŽÕ¸Õ˛Õ¸ÖÕŠÕĩÕ¸ÖÕļ",
"actions": "",
"active": "",
"activity": "",
- "add": "",
+ "add": "ÔąÕžÕĨÕŦÕĄÖÕļÕĨÕŦ",
"add_a_description": "",
- "add_a_location": "",
- "add_a_name": "",
+ "add_a_location": "ÔąÕžÕĨÕŦÕĄÖÕļÕĨÕŦ ÕŋÕĨÕ˛",
+ "add_a_name": "ÔąÕžÕĨÕŦÕĄÖÕļÕĨÕŦ ÕĄÕļÕ¸ÖÕļ",
"add_a_title": "",
"add_exclusion_pattern": "",
"add_import_path": "",
- "add_location": "",
+ "add_location": "ÔąÕžÕĨÕŦÕĄÖÕļÕĨÕŦ ÕŋÕĨÕ˛",
"add_more_users": "",
"add_partner": "",
"add_path": "",
- "add_photos": "",
+ "add_photos": "ÔąÕžÕĨÕŦÕĄÖÕļÕĨÕŦ ÕļÕ¯ÕĄÖÕļÕĨÖ",
"add_to": "",
"add_to_album": "",
"add_to_shared_album": "",
@@ -136,17 +137,12 @@
"oauth_auto_register": "",
"oauth_auto_register_description": "",
"oauth_button_text": "",
- "oauth_client_id": "",
- "oauth_client_secret": "",
"oauth_enable_description": "",
- "oauth_issuer_url": "",
"oauth_mobile_redirect_uri": "",
"oauth_mobile_redirect_uri_override": "",
"oauth_mobile_redirect_uri_override_description": "",
- "oauth_scope": "",
"oauth_settings": "",
"oauth_settings_description": "",
- "oauth_signing_algorithm": "",
"oauth_storage_label_claim": "",
"oauth_storage_label_claim_description": "",
"oauth_storage_quota_claim": "",
@@ -295,7 +291,10 @@
"asset_offline": "",
"assets": "",
"authorized_devices": "",
- "back": "",
+ "back": "ÕÕĨÕŋ",
+ "backup_all": "Ô˛Õ¸ÕŦÕ¸Ö",
+ "backup_controller_page_background_battery_info_link": "ÕÕ¸ÖÕĩÖ ÕŋÕ¸ÖÖ ÕĢÕļÕšÕēÕĨÕŊ",
+ "backup_controller_page_background_battery_info_ok": "ÔŧÕĄÕž",
"backward": "",
"blurred_background": "",
"camera": "",
@@ -307,8 +306,8 @@
"cannot_update_the_description": "",
"change_date": "",
"change_expiration_time": "",
- "change_location": "",
- "change_name": "",
+ "change_location": "ÕÕ¸ÕÕĨÕŦ ÕŋÕĨÕ˛Õ¨",
+ "change_name": "ÕÕ¸ÕÕĨÕŦ ÕĄÕļÕ¸ÖÕļ",
"change_name_successfully": "",
"change_password": "",
"change_your_password": "",
@@ -316,13 +315,15 @@
"check_all": "",
"check_logs": "",
"choose_matching_people_to_merge": "",
- "city": "",
+ "city": "ÕÕĄÕ˛ÕĄÖ",
"clear": "",
"clear_all": "",
"clear_message": "",
"clear_value": "",
+ "client_cert_dialog_msg_confirm": "ÔŧÕĄÕž",
"close": "",
"collapse_all": "",
+ "color": "ÔŗÕ¸ÖÕĩÕļ",
"color_theme": "",
"comment_options": "",
"comments_are_disabled": "",
@@ -333,6 +334,7 @@
"contain": "",
"context": "",
"continue": "",
+ "control_bottom_app_bar_edit_location": "ÕÕ¸ÕÕĨÕŦ ÕÕĨÕ˛Õ¨",
"copied_image_to_clipboard": "",
"copied_to_clipboard": "",
"copy_error": "",
@@ -342,7 +344,7 @@
"copy_link_to_clipboard": "",
"copy_password": "",
"copy_to_clipboard": "",
- "country": "",
+ "country": "ÔĩÖÕ¯ÕĢÖ",
"cover": "",
"covers": "",
"create": "",
@@ -350,19 +352,22 @@
"create_library": "",
"create_link": "",
"create_link_to_share": "",
- "create_new_person": "",
+ "create_new": "ÕÕÔĩÕÔžÔĩÔŧ ÕÕÕ",
+ "create_new_person": "ÕÕŋÕĨÕ˛ÕŽÕĨÕŦ ÕļÕ¸Ö ÕĄÕļÕą",
"create_new_user": "",
+ "create_shared_album_page_share_select_photos": "Ô¸ÕļÕŋÖÕĨ ÕÕ¯ÕĄÖÕļÕĨÖ",
"create_user": "",
"created": "",
+ "curated_object_page_title": "Ô˛ÕĄÕļÕĨÖ",
"current_device": "",
"custom_locale": "",
"custom_locale_description": "",
- "dark": "",
+ "dark": "ÕÕ¸ÖÕŠ",
"date_after": "",
"date_and_time": "",
"date_before": "",
"date_range": "",
- "day": "",
+ "day": "ÕÖ",
"default_locale": "",
"default_locale_description": "",
"delete": "",
@@ -401,7 +406,7 @@
"edit_import_paths": "",
"edit_key": "",
"edit_link": "",
- "edit_location": "",
+ "edit_location": "ÕÕ¸ÕÕĨÕŦ ÕŋÕĨÕ˛Õ¨",
"edit_name": "",
"edit_people": "",
"edit_title": "",
@@ -484,6 +489,9 @@
"unable_to_update_timeline_display_status": "",
"unable_to_update_user": ""
},
+ "exif_bottom_sheet_person_add_person": "ÔąÕžÕĨÕŦÕĄÖÕļÕĨÕŦ ÕĄÕļÕ¸ÖÕļ",
+ "exif_bottom_sheet_person_age": "ÕÕĄÖÕĢÖ {}",
+ "exif_bottom_sheet_person_age_years": "ÕÕĄÖÕĢÖ {}",
"exit_slideshow": "",
"expand_all": "",
"expire_after": "",
@@ -513,6 +521,7 @@
"go_to_search": "",
"group_albums_by": "",
"has_quota": "",
+ "hi_user": "Ô˛ÕĄÖÕĨÖ {name} ({email})",
"hide_gallery": "",
"hide_password": "",
"hide_person": "",
@@ -570,6 +579,8 @@
"manage_your_devices": "",
"manage_your_oauth_connection": "",
"map": "",
+ "map_assets_in_bound": "{} ÕļÕ¯ÕĄÖ",
+ "map_assets_in_bounds": "{} ÕļÕ¯ÕĄÖÕļÕĨÖ",
"map_marker_with_image": "",
"map_settings": "",
"matches": "",
@@ -636,6 +647,7 @@
"partner_can_access": "",
"partner_can_access_assets": "",
"partner_can_access_location": "",
+ "partner_list_user_photos": "{}-ÕĢÕļ ÕļÕ¯ÕĄÖÕļÕĨÖÕ¨",
"partner_sharing": "",
"partners": "",
"password": "",
@@ -659,7 +671,7 @@
"permanent_deletion_warning_setting_description": "",
"permanently_delete": "",
"permanently_deleted_asset": "",
- "photos": "",
+ "photos": "ÕÕ¯ÕĄÖÕļÕĨÖ",
"photos_count": "",
"photos_from_previous_years": "",
"pick_a_location": "",
@@ -707,21 +719,28 @@
"retry_upload": "",
"review_duplicates": "",
"role": "",
- "save": "",
+ "save": "ÕÕĄÕ°ÕĨ",
"saved_api_key": "",
"saved_profile": "",
"saved_settings": "",
"say_something": "",
"scan_all_libraries": "",
+ "scan_library": "ÕÕĄÕĩÕĨ",
"scan_settings": "",
- "search": "",
+ "search": "ÕÕļÕŋÖÕĨ",
"search_albums": "",
"search_by_context": "",
"search_camera_make": "",
"search_camera_model": "",
- "search_city": "",
+ "search_city": "ÕÖÕ¸ÕļÕĨ ÖÕĄÕ˛ÕĄÖâĻ",
"search_country": "",
+ "search_filter_date": "ÔąÕ´ÕŊÕĄÕŠÕĢÕž",
+ "search_filter_date_interval": "{start} Õ´ÕĢÕļÕšÕĨÖ {end}",
+ "search_filter_location": "ÕÕĨÕ˛",
+ "search_filter_location_title": "Ô¸ÕļÕŋÖÕĨ ÕŋÕĨÕ˛",
"search_for_existing_person": "",
+ "search_no_people": "ÕÕš Õ´ÕĢ ÕĄÕļÕą",
+ "search_page_motion_photos": "ÕÕĄÖÕĒÕžÕ¸Õ˛ ÕÕ¯ÕĄÖÕļÕĨÖ",
"search_people": "",
"search_places": "",
"search_state": "",
@@ -738,7 +757,7 @@
"select_keep_all": "",
"select_library_owner": "",
"select_new_face": "",
- "select_photos": "",
+ "select_photos": "Ô¸ÕļÕŋÖÕĨ ÕļÕ¯ÕĄÖÕļÕĨÖ",
"select_trash_all": "",
"selected": "",
"send_message": "",
@@ -750,13 +769,24 @@
"set_date_of_birth": "",
"set_profile_picture": "",
"set_slideshow_to_fullscreen": "",
+ "setting_notifications_notify_never": "ÕĨÖÕĸÕĨÖ",
+ "setting_notifications_notify_seconds": "{} ÕžÕĄÕĩÖÕ¯ÕĩÕĄÕļ",
"settings": "",
"settings_saved": "",
"share": "",
+ "share_add_photos": "ÔąÕžÕĨÕŦÕĄÖÕļÕĨÕŦ ÕļÕ¯ÕĄÖÕļÕĨÖ",
"shared": "",
"shared_by": "",
"shared_by_you": "",
"shared_from_partner": "",
+ "shared_link_edit_expire_after_option_day": "1 Ö
Ö",
+ "shared_link_edit_expire_after_option_days": "{} Ö
Ö",
+ "shared_link_edit_expire_after_option_hour": "1 ÕĒÕĄÕ´",
+ "shared_link_edit_expire_after_option_hours": "{} ÕĒÕĄÕ´",
+ "shared_link_edit_expire_after_option_minute": "1 ÖÕ¸ÕēÕĨ",
+ "shared_link_edit_expire_after_option_minutes": "{} ÖÕ¸ÕēÕĨ",
+ "shared_link_edit_expire_after_option_months": "{} ÕĄÕ´ÕĢÕŊ",
+ "shared_link_edit_expire_after_option_year": "{} ÕŋÕĄÖÕĢ",
"shared_links": "",
"shared_photos_and_videos_count": "",
"shared_with_partner": "",
@@ -784,6 +814,8 @@
"slideshow": "",
"slideshow_settings": "",
"sort_albums_by": "",
+ "sort_oldest": "ÔąÕ´ÕĨÕļÕĄÕ°ÕĢÕļ ÕļÕ¯ÕĄÖÕ¨",
+ "sort_recent": "ÔąÕ´ÕĨÕļÕĄÕļÕ¸Ö ÕļÕ¯ÕĄÖÕ¨",
"stack": "",
"stack_selected_photos": "",
"stacktrace": "",
@@ -808,22 +840,25 @@
"theme_selection": "",
"theme_selection_description": "",
"time_based_memories": "",
- "timezone": "",
+ "timezone": "ÔēÕĄÕ´ÕĄÕĩÕĢÕļ ÕŖÕ¸ÕŋÕĢ",
"to_archive": "",
"to_favorite": "",
+ "to_trash": "ÔąÕ˛Õĸ",
"toggle_settings": "",
"toggle_theme": "",
"total_usage": "",
- "trash": "",
+ "trash": "ÔąÕ˛Õĸ",
"trash_all": "",
"trash_no_results_message": "",
+ "trash_page_title": "ÔąÕ˛Õĸ ({})",
"trashed_items_will_be_permanently_deleted_after": "",
- "type": "",
+ "type": "ÕÕĨÕŊÕĄÕ¯",
"unarchive": "",
"unfavorite": "",
"unhide_person": "",
- "unknown": "",
- "unknown_year": "",
+ "unknown": "ÔąÕļÕ°ÕĄÕĩÕŋ",
+ "unknown_country": "ÔąÕļÕ°ÕĄÕĩÕŋ ÔĩÖÕ¯ÕĢÖ",
+ "unknown_year": "ÔąÕļÕ°ÕĄÕĩÕŋ ÕÕĄÖÕĢ",
"unlimited": "",
"unlink_oauth": "",
"unlinked_oauth_account": "",
@@ -835,6 +870,7 @@
"updated_password": "",
"upload": "",
"upload_concurrency": "",
+ "upload_status_errors": "ÕÕÕĄÕŦÕļÕĨÖ",
"url": "",
"usage": "",
"user": "",
@@ -846,6 +882,7 @@
"validate": "",
"variables": "",
"version": "",
+ "version_announcement_closing": "ÕÕ¸ Õ¨ÕļÕ¯ÕĨÖÕ¨Õ ÔąÕŦÕĨÖÕŊÕ¨",
"video": "",
"video_hover_setting": "",
"video_hover_setting_description": "",
@@ -857,11 +894,11 @@
"view_next_asset": "",
"view_previous_asset": "",
"waiting": "",
- "week": "",
- "welcome": "",
+ "week": "ÕÕĄÕĸÕĄÕŠ",
+ "welcome": "Ô˛ÕĄÖÕĢ ÕŖÕĄÕŦÕ¸ÖÕŊÕŋ",
"welcome_to_immich": "",
- "year": "",
- "yes": "",
+ "year": "ÕÕĄÖÕĢ",
+ "yes": "ÔąÕĩÕ¸",
"you_dont_have_any_shared_links": "",
"zoom_image": ""
}
diff --git a/i18n/id.json b/i18n/id.json
index 1d500654dc..a75ef00991 100644
--- a/i18n/id.json
+++ b/i18n/id.json
@@ -192,26 +192,22 @@
"oauth_auto_register": "Pendaftaran otomatis",
"oauth_auto_register_description": "Daftar pengguna baru secara otomatis setelah log masuk dengan OAuth",
"oauth_button_text": "Teks tombol",
- "oauth_client_id": "ID Klien",
- "oauth_client_secret": "Rahasia Klien",
+ "oauth_client_secret_description": "Diperlukan jika PKCE (Proof Key for Code Exchange) tidak didukung oleh penyedia OAuth",
"oauth_enable_description": "Log masuk dengan OAuth",
- "oauth_issuer_url": "URL Penerbit",
"oauth_mobile_redirect_uri": "URI pengalihan ponsel",
"oauth_mobile_redirect_uri_override": "Penimpaan URI penerusan ponsel",
"oauth_mobile_redirect_uri_override_description": "Aktifkan ketika provider OAuth tidak mengizinkan tautan mobile, seperti '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritma penandatanganan profil",
- "oauth_profile_signing_algorithm_description": "Algoritma yang digunakan untuk menandatangani profil pengguna.",
- "oauth_scope": "Cakupan",
"oauth_settings": "OAuth",
"oauth_settings_description": "Kelola pengaturan log masuk OAuth",
"oauth_settings_more_details": "Untuk detail lanjut tentang fitur ini, lihat docs.",
- "oauth_signing_algorithm": "Algoritma penandatanganan",
"oauth_storage_label_claim": "Klaim label penyimpanan",
"oauth_storage_label_claim_description": "Atur label penyimpanan pengguna menjadi nilai klaim ini secara otomatis.",
"oauth_storage_quota_claim": "Klaim kuota penyimpanan",
"oauth_storage_quota_claim_description": "Atur kuota penyimpanan pengguna menjadi nilai klaim ini secara otomatis.",
"oauth_storage_quota_default": "Kuota penyimpanan bawaan (GiB)",
"oauth_storage_quota_default_description": "Kuota dalam GiB untuk digunakan ketika tidak ada klaim yang disediakan (Masukkan 0 untuk kuota tidak terbatas).",
+ "oauth_timeout": "Waktu Permintaan Habis",
+ "oauth_timeout_description": "Waktu habis untuk permintaan dalam milidetik",
"offline_paths": "Jalur Luring",
"offline_paths_description": "Hasil ini dapat terjadi karena penghapusan berkas manual yang tidak menjadi bagian dari pustaka eksternal.",
"password_enable_description": "Masuk dengan surel dan kata sandi",
@@ -374,7 +370,7 @@
"advanced_settings_enable_alternate_media_filter_subtitle": "Gunakan opsi ini untuk menyaring media saat sinkronisasi berdasarkan kriteria alternatif. Hanya coba ini dengan aplikasi mendeteksi semua album.",
"advanced_settings_enable_alternate_media_filter_title": "[EKSPERIMENTAL] Gunakan saringan sinkronisasi album perangkat alternatif",
"advanced_settings_log_level_title": "Tingkat log: {}",
- "advanced_settings_prefer_remote_subtitle": "Beberapa perangkat tidak dapat memuat thumbnail dengan cepat.\nMenyalakan ini akan memuat thumbnail dari server.",
+ "advanced_settings_prefer_remote_subtitle": "Beberapa perangkat tidak dapat memuat gambar kecil dengan cepat. Menyalakan ini akan memuat gambar kecil dari server.",
"advanced_settings_prefer_remote_title": "Prefer remote images",
"advanced_settings_proxy_headers_subtitle": "Define proxy headers Immich should send with each network request",
"advanced_settings_proxy_headers_title": "Proxy Headers",
@@ -481,18 +477,18 @@
"assets_added_to_album_count": "Ditambahkan {count, plural, one {# aset} other {# aset}} ke album",
"assets_added_to_name_count": "Ditambahkan {count, plural, one {# aset} other {# aset}} ke {hasName, select, true {{name} } other {album baru}}",
"assets_count": "{count, plural, one {# aset} other {# aset}}",
- "assets_deleted_permanently": "{} asset dihapus secara permanen",
- "assets_deleted_permanently_from_server": "{} asset(s) deleted permanently from the Immich server",
+ "assets_deleted_permanently": "{} aset dihapus secara permanen",
+ "assets_deleted_permanently_from_server": "{} aset dihapus secara permanen dari server Immich",
"assets_moved_to_trash_count": "Dipindahkan {count, plural, one {# aset} other {# aset}} ke sampah",
"assets_permanently_deleted_count": "{count, plural, one {# aset} other {# aset}} dihapus secara permanen",
"assets_removed_count": "{count, plural, one {# aset} other {# aset}} dihapus",
- "assets_removed_permanently_from_device": "{} asset(s) removed permanently from your device",
+ "assets_removed_permanently_from_device": "{} aset dihapus secara permanen dari perangkat Anda",
"assets_restore_confirmation": "Apakah Anda yakin ingin memulihkan semua aset yang dibuang? Anda tidak dapat mengurungkan tindakan ini! Perlu diingat bahwa aset luring tidak dapat dipulihkan.",
"assets_restored_count": "{count, plural, one {# aset} other {# aset}} dipulihkan",
- "assets_restored_successfully": "{} asset(s) restored successfully",
- "assets_trashed": "{} asset(s) trashed",
+ "assets_restored_successfully": "{} aset berhasil dipulihkan",
+ "assets_trashed": "{} aset dipindahkan ke sampah",
"assets_trashed_count": "{count, plural, one {# aset} other {# aset}} dibuang ke sampah",
- "assets_trashed_from_server": "{} asset(s) trashed from the Immich server",
+ "assets_trashed_from_server": "{} aset dipindahkan ke sampah dari server Immich",
"assets_were_part_of_album_count": "{count, plural, one {Aset telah} other {Aset telah}} menjadi bagian dari album",
"authorized_devices": "Perangkat Terautentikasi",
"automatic_endpoint_switching_subtitle": "Connect locally over designated Wi-Fi when available and use alternative connections elsewhere",
@@ -501,19 +497,19 @@
"back_close_deselect": "Kembali, tutup, atau batalkan pemilihan",
"background_location_permission": "Background location permission",
"background_location_permission_content": "In order to switch networks when running in the background, Immich must *always* have precise location access so the app can read the Wi-Fi network's name",
- "backup_album_selection_page_albums_device": "Album perangkat ({})",
+ "backup_album_selection_page_albums_device": "Album di perangkat ({})",
"backup_album_selection_page_albums_tap": "Sentuh untuk memilih, sentuh 2x untuk mengecualikan",
"backup_album_selection_page_assets_scatter": "Aset dapat tersebar dalam banyak album. Sehingga album dapat dipilih atau dikecualikan saat proses pencadangan.",
"backup_album_selection_page_select_albums": "Pilih album",
- "backup_album_selection_page_selection_info": "Album terpilih: ",
+ "backup_album_selection_page_selection_info": "Info Pilihan",
"backup_album_selection_page_total_assets": "Total aset unik",
"backup_all": "Semua",
- "backup_background_service_backup_failed_message": "Gagal mencadangkan aset. Mencoba lagi...",
- "backup_background_service_connection_failed_message": "Koneksi ke server gagal. Mencoba ulang...",
+ "backup_background_service_backup_failed_message": "Gagal mencadangkan aset. Mencoba lagiâĻ",
+ "backup_background_service_connection_failed_message": "Koneksi ke server gagal. Mencoba ulangâĻ",
"backup_background_service_current_upload_notification": "Mengunggah {}",
- "backup_background_service_default_notification": "Memeriksa aset baru...",
+ "backup_background_service_default_notification": "Memeriksa aset baruâĻ",
"backup_background_service_error_title": "Backup error",
- "backup_background_service_in_progress_notification": "Mencadangkan asetmu...",
+ "backup_background_service_in_progress_notification": "Mencadangkan asetmuâĻ",
"backup_background_service_upload_failure_notification": "Gagal mengunggah {}",
"backup_controller_page_albums": "Cadangkan album",
"backup_controller_page_background_app_refresh_disabled_content": "Enable background app refresh in Settings > General > Background App Refresh in order to use background backup.",
@@ -525,13 +521,13 @@
"backup_controller_page_background_battery_info_title": "Optimisasi baterai",
"backup_controller_page_background_charging": "Hanya saat mengisi daya",
"backup_controller_page_background_configure_error": "Gagal mengatur layanan latar belakang",
- "backup_controller_page_background_delay": "Tunda cadangkan aset baru: {}",
+ "backup_controller_page_background_delay": "Tunda pencadangan aset baru: {}",
"backup_controller_page_background_description": "Aktifkan layanan latar belakang untuk mencadangkan aset baru secara otomatis tanpa perlu membuka app",
"backup_controller_page_background_is_off": "Pencadangan otomatis di latar belakang nonaktif",
"backup_controller_page_background_is_on": "Pencadangan otomatis di latar belakang aktif",
"backup_controller_page_background_turn_off": "Matikan layanan latar belakang",
"backup_controller_page_background_turn_on": "Nyalakan layanan latar belakang",
- "backup_controller_page_background_wifi": "Hanya melalui WiFi",
+ "backup_controller_page_background_wifi": "Hanya melalui Wi-Fi",
"backup_controller_page_backup": "Cadangkan",
"backup_controller_page_backup_selected": "Terpilih: ",
"backup_controller_page_backup_sub": "Foto dan video yang dicadangkan",
@@ -549,7 +545,7 @@
"backup_controller_page_start_backup": "Mulai Cadangkan",
"backup_controller_page_status_off": "Pencadangan otomatis di latar depan nonaktif",
"backup_controller_page_status_on": "Pencadangan otomatis di latar depan aktif",
- "backup_controller_page_storage_format": "{} dari {} terpakai",
+ "backup_controller_page_storage_format": "{} dari {} digunakan",
"backup_controller_page_to_backup": "Album untuk dicadangkan",
"backup_controller_page_total_sub": "Semua foto dan video unik dari album terpilih",
"backup_controller_page_turn_off": "Nonaktifkan pencadangan latar depan",
@@ -574,13 +570,13 @@
"bulk_keep_duplicates_confirmation": "Apakah Anda yakin ingin menyimpan {count, plural, one {# aset duplikat} other {# aset duplikat}}? Ini akan menyelesaikan semua kelompok duplikat tanpa menghapus apa pun.",
"bulk_trash_duplicates_confirmation": "Apakah Anda yakin ingin membuang {count, plural, one {# aset duplikat} other {# aset duplikat}} secara bersamaan? Ini akan menyimpan aset terbesar dari setiap kelompok dan membuang semua duplikat lainnya.",
"buy": "Beli Immich",
- "cache_settings_album_thumbnails": "Library page thumbnails ({} assets)",
+ "cache_settings_album_thumbnails": "Thumbnail halaman pustaka ({} aset)",
"cache_settings_clear_cache_button": "Hapus cache",
"cache_settings_clear_cache_button_title": "Membersihkan cache aplikasi. Performa aplikasi akan terpengaruh hingga cache dibuat kembali.",
"cache_settings_duplicated_assets_clear_button": "BERSIHKAN",
"cache_settings_duplicated_assets_subtitle": "Photos and videos that are black listed by the app",
- "cache_settings_duplicated_assets_title": "Aset Ganda ({})",
- "cache_settings_image_cache_size": "Image cache size ({} assets)",
+ "cache_settings_duplicated_assets_title": "Aset Duplikat ({})",
+ "cache_settings_image_cache_size": "Ukuran cache gambar ({} aset)",
"cache_settings_statistics_album": "Pustaka thumbnail",
"cache_settings_statistics_assets": "{} aset ({})",
"cache_settings_statistics_full": "Full images",
@@ -610,7 +606,7 @@
"change_password": "Ubah Kata Sandi",
"change_password_description": "Ini merupakan pertama kali Anda masuk ke sistem atau ada permintaan untuk mengubah kata sandi Anda. Silakan masukkan kata sandi baru di bawah.",
"change_password_form_confirm_password": "Konfirmasi Sandi",
- "change_password_form_description": "Halo {name},\n\nIni pertama kali anda masuk ke dalam sistem atau terdapat permintaan penggantian password.\nHarap masukkan password baru.",
+ "change_password_form_description": "Halo {name},\n\nIni pertama kali anda masuk ke dalam sistem atau terdapat permintaan penggantian kata sandi. Harap masukkan password baru.",
"change_password_form_new_password": "Sandi Baru",
"change_password_form_password_mismatch": "Sandi tidak cocok",
"change_password_form_reenter_new_password": "Masukkan Ulang Sandi Baru",
@@ -818,7 +814,7 @@
"enabled": "Diaktifkan",
"end_date": "Tanggal akhir",
"enqueued": "Enqueued",
- "enter_wifi_name": "Enter WiFi name",
+ "enter_wifi_name": "Masukkan nama Wi-Fi",
"error": "Eror",
"error_change_sort_album": "Failed to change album sort order",
"error_delete_face": "Terjadi kesalahan menghapus wajah dari aset",
@@ -958,7 +954,7 @@
"exif_bottom_sheet_people": "ORANG",
"exif_bottom_sheet_person_add_person": "Tambah nama",
"exif_bottom_sheet_person_age": "Umur {}",
- "exif_bottom_sheet_person_age_months": "Umur {} months",
+ "exif_bottom_sheet_person_age_months": "Umur {} bulan",
"exif_bottom_sheet_person_age_year_months": "Umur 1 tahun, {} bulan",
"exif_bottom_sheet_person_age_years": "Umur {}",
"exit_slideshow": "Keluar dari Salindia",
@@ -978,7 +974,7 @@
"external": "Eksternal",
"external_libraries": "Pustaka Eksternal",
"external_network": "External network",
- "external_network_sheet_info": "When not on the preferred Wi-Fi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom",
+ "external_network_sheet_info": "Ketika tidak berada di jaringan Wi-Fi yang disukai, aplikasi akan terhubung ke server melalui URL pertama di bawah ini yang dapat dijangkaunya, mulai dari atas ke bawah",
"face_unassigned": "Tidak ada nama",
"failed": "Failed",
"failed_to_load_assets": "Gagal memuat aset",
@@ -1045,7 +1041,7 @@
"home_page_delete_remote_err_local": "Local assets in delete remote selection, skipping",
"home_page_favorite_err_local": "Can not favorite local assets yet, skipping",
"home_page_favorite_err_partner": "Can not favorite partner assets yet, skipping",
- "home_page_first_time_notice": "Jika ini pertama kali Anda menggunakan aplikasi, pastikan untuk memilik album untuk dicadangkan agar linimasa anda terisi oleh foto dan video dalam album.",
+ "home_page_first_time_notice": "Jika ini pertama kali Anda menggunakan aplikasi, pastikan untuk memiliki album untuk dicadangkan agar lini masa anda terisi oleh foto dan video dalam album",
"home_page_share_err_local": "Can not share local assets via link, skipping",
"home_page_upload_err_limit": "Hanya dapat mengunggah maksimal 30 aset dalam satu waktu, melewatkan",
"host": "Hos",
@@ -1125,7 +1121,7 @@
"local_network": "Local network",
"local_network_sheet_info": "The app will connect to the server through this URL when using the specified Wi-Fi network",
"location_permission": "Location permission",
- "location_permission_content": "In order to use the auto-switching feature, Immich needs precise location permission so it can read the current WiFi network's name",
+ "location_permission_content": "Untuk menggunakan fitur pengalihan otomatis, Immich memerlukan izin lokasi yang akurat agar dapat membaca nama jaringan Wi-Fi saat ini",
"location_picker_choose_on_map": "Pilih di peta",
"location_picker_latitude_error": "Masukkan lintang yang sah",
"location_picker_latitude_hint": "Masukkan lintang di sini",
@@ -1149,7 +1145,7 @@
"login_form_err_trailing_whitespace": "Trailing whitespace",
"login_form_failed_get_oauth_server_config": "Gagal logging menggunakan OAuth, periksa URL server",
"login_form_failed_get_oauth_server_disable": "Fitur OAuth tidak tersedia di server ini",
- "login_form_failed_login": "Login gagal. Periksa URL server, email dan password.",
+ "login_form_failed_login": "Login gagal, periksa URL server, email dan kata sandi",
"login_form_handshake_exception": "There was an Handshake Exception with the server. Enable self-signed certificate support in the settings if you are using a self-signed certificate.",
"login_form_password_hint": "sandi",
"login_form_save_login": "Ingat saya",
@@ -1548,7 +1544,7 @@
"search_result_page_new_search_hint": "Pencarian Baru",
"search_settings": "Pengaturan pencarian",
"search_state": "Cari negara bagian...",
- "search_suggestion_list_smart_search_hint_1": "Penelusuran cerdas aktif secara bawaan. Untuk menelusuri metadata, gunakan sintaks",
+ "search_suggestion_list_smart_search_hint_1": "Penelusuran cerdas aktif secara bawaan. Untuk menelusuri metadata, gunakan sintaks ",
"search_suggestion_list_smart_search_hint_2": "m:penelusuran-kamu",
"search_tags": "Cari tag...",
"search_timezone": "Cari zona waktu...",
@@ -1598,7 +1594,7 @@
"setting_languages_apply": "Terapkan",
"setting_languages_subtitle": "Change the app's language",
"setting_languages_title": "Bahasa",
- "setting_notifications_notify_failures_grace_period": "Notify background backup failures: {}",
+ "setting_notifications_notify_failures_grace_period": "Beritahu kegagalan cadangan latar belakang: {}",
"setting_notifications_notify_hours": "{} jam",
"setting_notifications_notify_immediately": "segera",
"setting_notifications_notify_minutes": "{} menit",
@@ -1617,7 +1613,7 @@
"settings_saved": "Pengaturan disimpan",
"share": "Bagikan",
"share_add_photos": "Tambah foto",
- "share_assets_selected": "{} terpilih",
+ "share_assets_selected": "{} dipilih",
"share_dialog_preparing": "Menyiapkan...",
"shared": "Dibagikan",
"shared_album_activities_input_disable": "Comment is disabled",
@@ -1631,10 +1627,10 @@
"shared_by_user": "Dibagikan oleh {user}",
"shared_by_you": "Dibagikan oleh Anda",
"shared_from_partner": "Foto dari {partner}",
- "shared_intent_upload_button_progress_text": "{} / {} Uploaded",
+ "shared_intent_upload_button_progress_text": "{} / {} Diunggah",
"shared_link_app_bar_title": "Link Berbagi",
"shared_link_clipboard_copied_massage": "Tersalin ke papan klip",
- "shared_link_clipboard_text": "Tautan: {}\nSandi: {}",
+ "shared_link_clipboard_text": "Tautan: {}\nKata Sandi: {}",
"shared_link_create_error": "Terjadi kesalahan saat membuat link berbagi",
"shared_link_edit_description_hint": "Masukkan deskripsi link",
"shared_link_edit_expire_after_option_day": "1 hari",
@@ -1834,7 +1830,7 @@
"upload_status_errors": "Eror",
"upload_status_uploaded": "Diunggah",
"upload_success": "Pengunggahan berhasil, muat ulang laman untuk melihat aset terunggah yang baru.",
- "upload_to_immich": "Upload to Immich ({})",
+ "upload_to_immich": "Unggah ke Immich ({})",
"uploading": "Uploading",
"url": "URL",
"usage": "Penggunaan",
@@ -1891,11 +1887,11 @@
"week": "Pekan",
"welcome": "Selamat datang",
"welcome_to_immich": "Selamat datang di Immich",
- "wifi_name": "WiFi Name",
+ "wifi_name": "Nama Wi-Fi",
"year": "Tahun",
"years_ago": "{years, plural, one {# tahun} other {# tahun}} yang lalu",
"yes": "Ya",
"you_dont_have_any_shared_links": "Anda tidak memiliki tautan terbagi",
- "your_wifi_name": "Your WiFi name",
+ "your_wifi_name": "Nama Wi-Fi Anda",
"zoom_image": "Perbesar Gambar"
}
diff --git a/i18n/it.json b/i18n/it.json
index 987ad34d2d..550f14beb9 100644
--- a/i18n/it.json
+++ b/i18n/it.json
@@ -39,11 +39,11 @@
"authentication_settings_disable_all": "Sei sicuro di voler disabilitare tutte le modalità di accesso? Il login verrà disabilitato completamente.",
"authentication_settings_reenable": "Per ri-abilitare, utilizza un Comando Server.",
"background_task_job": "Attività in Background",
- "backup_database": "Database di Backup",
+ "backup_database": "Crea Dump Database",
"backup_database_enable_description": "Abilita i backup del database",
- "backup_keep_last_amount": "Quantità di backup precedenti da mantenere",
- "backup_settings": "Impostazioni di backup",
- "backup_settings_description": "Gestisci le impostazioni dei backup",
+ "backup_keep_last_amount": "Numero di backup da mantenere",
+ "backup_settings": "Impostazioni Dump database",
+ "backup_settings_description": "Gestisci le impostazioni dei backup. Nota: Questi jobs non sono monitorati e non riceverai notifiche in caso di errore.",
"check_all": "Controlla Tutto",
"cleanup": "Pulisci",
"cleared_jobs": "Cancellati i processi per: {job}",
@@ -192,26 +192,21 @@
"oauth_auto_register": "Registrazione automatica",
"oauth_auto_register_description": "Automaticamente registra nuovi utenti dopo il login OAuth",
"oauth_button_text": "Testo pulsante",
- "oauth_client_id": "ID Cliente",
- "oauth_client_secret": "Chiave segreta client",
+ "oauth_client_secret_description": "Richiesto se PKCE (Proof Key for Code Exchange) non è supportato dal provider OAuth",
"oauth_enable_description": "Login con OAuth",
- "oauth_issuer_url": "URL emittente",
"oauth_mobile_redirect_uri": "URI reindirizzamento mobile",
"oauth_mobile_redirect_uri_override": "Sovrascrivi URI reindirizzamento cellulare",
"oauth_mobile_redirect_uri_override_description": "Abilita quando il gestore OAuth non consente un URL come '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritmo firma profilo",
- "oauth_profile_signing_algorithm_description": "L'algoritmo usato per firmare il profilo utente.",
- "oauth_scope": "Ambito di autorizzazione",
"oauth_settings": "OAuth",
"oauth_settings_description": "Gestisci impostazioni di login OAuth",
"oauth_settings_more_details": "Per piÚ dettagli riguardo a questa funzionalità , consulta la documentazione.",
- "oauth_signing_algorithm": "Algoritmo di firma",
"oauth_storage_label_claim": "Dichiarazione di ambito(claim) etichetta archiviazione",
"oauth_storage_label_claim_description": "Imposta automaticamente l'etichetta dell'archiviazione dell'utente al valore di questa dichiarazione di ambito(claim).",
"oauth_storage_quota_claim": "Dichiarazione di ambito(claim) limite archiviazione",
"oauth_storage_quota_claim_description": "Imposta automaticamente il limite di archiviazione dell'utente in base al valore di questa dichiarazione di ambito(claim).",
"oauth_storage_quota_default": "Limite predefinito di archiviazione (GiB)",
"oauth_storage_quota_default_description": "Limite in GiB da usare quanto nessuna dichiarazione di ambito(claim) è stata fornita (Inserisci 0 per archiviazione illimitata).",
+ "oauth_timeout": "",
"offline_paths": "Percorsi offline",
"offline_paths_description": "Questi risultati potrebbero essere dovuti all'eliminazione manuale di file che non fanno parte di una libreria esterna.",
"password_enable_description": "Login con email e password",
@@ -481,12 +476,12 @@
"assets_added_to_album_count": "{count, plural, one {# asset aggiunto} other {# asset aggiunti}} all'album",
"assets_added_to_name_count": "Aggiunti {count, plural, one {# asset} other {# assets}} a {hasName, select, true {{name} } other {new album}}",
"assets_count": "{count, plural, other {# asset}}",
- "assets_deleted_permanently": "{} elementi rimossi definitivamente",
- "assets_deleted_permanently_from_server": "{} elementi rimossi definitivamente dal server Immich",
+ "assets_deleted_permanently": "{} elementi cancellati definitivamente",
+ "assets_deleted_permanently_from_server": "{} elementi cancellati definitivamente dal server Immich",
"assets_moved_to_trash_count": "{count, plural, one {# asset spostato} other {# asset spostati}} nel cestino",
"assets_permanently_deleted_count": "{count, plural, one {# asset cancellato} other {# asset cancellati}} definitivamente",
"assets_removed_count": "{count, plural, one {# asset rimosso} other {# asset rimossi}}",
- "assets_removed_permanently_from_device": "{} elementi rimossi definitivamente dal tuo dispositivo",
+ "assets_removed_permanently_from_device": "{} elementi cancellati definitivamente dal tuo dispositivo",
"assets_restore_confirmation": "Sei sicuro di voler ripristinare tutti gli asset cancellati? Non puoi annullare questa azione! Tieni presente che eventuali risorse offline NON possono essere ripristinate in questo modo.",
"assets_restored_count": "{count, plural, one {# asset ripristinato} other {# asset ripristinati}}",
"assets_restored_successfully": "{} elementi ripristinati",
@@ -531,7 +526,7 @@
"backup_controller_page_background_is_on": "Backup automatico attivo",
"backup_controller_page_background_turn_off": "Disabilita servizi in background",
"backup_controller_page_background_turn_on": "Abilita servizi in background",
- "backup_controller_page_background_wifi": "Solo su WiFi",
+ "backup_controller_page_background_wifi": "Solo Wi-Fi",
"backup_controller_page_backup": "Backup",
"backup_controller_page_backup_selected": "Selezionati: ",
"backup_controller_page_backup_sub": "Foto e video caricati",
@@ -853,10 +848,12 @@
"failed_to_keep_this_delete_others": "Impossibile conservare questa risorsa ed eliminare le altre risorse",
"failed_to_load_asset": "Errore durante il caricamento della risorsa",
"failed_to_load_assets": "Errore durante il caricamento delle risorse",
+ "failed_to_load_notifications": "Errore nel caricamento delle notifiche",
"failed_to_load_people": "Caricamento delle persone non riuscito",
"failed_to_remove_product_key": "Rimozione del codice del prodotto fallita",
"failed_to_stack_assets": "Errore durante il raggruppamento degli assets",
"failed_to_unstack_assets": "Errore durante la separazione degli assets",
+ "failed_to_update_notification_status": "Aggiornamento stato notifiche fallito",
"import_path_already_exists": "Questo percorso di importazione già esiste.",
"incorrect_email_or_password": "Email o password non corretta",
"paths_validation_failed": "{paths, plural, one {# percorso} other {# percorsi}} hanno fallito la validazione",
@@ -1125,7 +1122,7 @@
"local_network": "Rete locale",
"local_network_sheet_info": "L'app si collegherà al server tramite questo URL quando è in uso la rete Wi-Fi specificata",
"location_permission": "Permesso di localizzazione",
- "location_permission_content": "Per usare la funzione di cambio automatico, Immich necessita del permesso di localizzazione precisa cosÃŦ da poter leggere il nome della rete Wi-Fi in uso",
+ "location_permission_content": "Per usare la funzione di cambio automatico, Immich necessita del permesso di localizzazione cosÃŦ da poter leggere il nome della rete Wi-Fi in uso",
"location_picker_choose_on_map": "Scegli una mappa",
"location_picker_latitude_error": "Inserisci una latitudine valida",
"location_picker_latitude_hint": "Inserisci la tua latitudine qui",
@@ -1199,6 +1196,9 @@
"map_settings_only_show_favorites": "Mostra solo preferiti",
"map_settings_theme_settings": "Tema della mappa",
"map_zoom_to_see_photos": "Riduci lo zoom per vedere le foto",
+ "mark_all_as_read": "Segna tutto come letto",
+ "mark_as_read": "Segna come letto",
+ "marked_all_as_read": "Segnato tutto come letto",
"matches": "Corrispondenze",
"media_type": "Tipo Media",
"memories": "Ricordi",
@@ -1225,6 +1225,7 @@
"month": "Mese",
"monthly_title_text_date_format": "MMMM y",
"more": "Di piÚ",
+ "moved_to_archive": "",
"moved_to_trash": "Spostato nel cestino",
"multiselect_grid_edit_date_time_err_read_only": "Non puoi modificare la data di risorse in sola lettura, azione ignorata",
"multiselect_grid_edit_gps_err_read_only": "Non puoi modificare la posizione di risorse in sola lettura, azione ignorata",
@@ -1257,6 +1258,8 @@
"no_favorites_message": "Aggiungi preferiti per trovare facilmente le tue migliori foto e video",
"no_libraries_message": "Crea una libreria esterna per vedere le tue foto e i tuoi video",
"no_name": "Nessun nome",
+ "no_notifications": "Nessuna notifica",
+ "no_people_found": "Nessuna persona trovata",
"no_places": "Nessun posto",
"no_results": "Nessun risultato",
"no_results_description": "Prova ad usare un sinonimo oppure una parola chiave piÚ generica",
@@ -1432,6 +1435,8 @@
"recent_searches": "Ricerche recenti",
"recently_added": "Aggiunti recentemente",
"recently_added_page_title": "Aggiunti di recente",
+ "recently_taken": "Scattate di recente",
+ "recently_taken_page_title": "Scattate di Recente",
"refresh": "Aggiorna",
"refresh_encoded_videos": "Ricarica video codificati",
"refresh_faces": "Aggiorna facce",
@@ -1566,6 +1571,7 @@
"select_keep_all": "Seleziona mantieni tutto",
"select_library_owner": "Seleziona proprietario libreria",
"select_new_face": "Seleziona nuovo volto",
+ "select_person_to_tag": "Seleziona una persona da taggare",
"select_photos": "Seleziona foto",
"select_trash_all": "Seleziona cestina tutto",
"select_user_for_sharing_page_err_album": "Impossibile nel creare l'album",
@@ -1629,7 +1635,7 @@
"shared_by_user": "Condiviso da {user}",
"shared_by_you": "Condiviso da te",
"shared_from_partner": "Foto da {partner}",
- "shared_intent_upload_button_progress_text": "{} / {} Inviati",
+ "shared_intent_upload_button_progress_text": "{} / {} Caricati",
"shared_link_app_bar_title": "Link condivisi",
"shared_link_clipboard_copied_massage": "Copiato negli appunti",
"shared_link_clipboard_text": "Link: {}\nPassword: {}",
@@ -1646,9 +1652,9 @@
"shared_link_edit_password_hint": "Inserire la password di condivisione",
"shared_link_edit_submit_button": "Aggiorna link",
"shared_link_error_server_url_fetch": "Non è possibile trovare l'indirizzo del server",
- "shared_link_expires_day": "Scade tra {} giorno",
+ "shared_link_expires_day": "Scade tra {} giorni",
"shared_link_expires_days": "Scade tra {} giorni",
- "shared_link_expires_hour": "Scade tra {} ora",
+ "shared_link_expires_hour": "Scade tra {} ore",
"shared_link_expires_hours": "Scade tra {} ore",
"shared_link_expires_minute": "Scade tra {} minuto",
"shared_link_expires_minutes": "Scade tra {} minuti",
@@ -1832,7 +1838,7 @@
"upload_status_errors": "Errori",
"upload_status_uploaded": "Caricato",
"upload_success": "Caricamento completato con successo, aggiorna la pagina per vedere i nuovi asset caricati.",
- "upload_to_immich": "Invio ad Immich ({})",
+ "upload_to_immich": "Carica su Immich ({})",
"uploading": "Caricamento",
"url": "URL",
"usage": "Utilizzo",
@@ -1889,7 +1895,7 @@
"week": "Settimana",
"welcome": "Benvenuto",
"welcome_to_immich": "Benvenuto in Immich",
- "wifi_name": "Nome della rete Wi-Fi",
+ "wifi_name": "Nome rete Wi-Fi",
"year": "Anno",
"years_ago": "{years, plural, one {# anno} other {# anni}} fa",
"yes": "Si",
diff --git a/i18n/ja.json b/i18n/ja.json
index eb6b355615..2d0585f00c 100644
--- a/i18n/ja.json
+++ b/i18n/ja.json
@@ -1,5 +1,5 @@
{
- "about": "ãĸããĒãĢã¤ããĻ",
+ "about": "ããŽãĸããĒãĢã¤ããĻ",
"account": "ãĸãĢãĻãŗã",
"account_settings": "ãĸãĢãĻãŗãč¨åŽ",
"acknowledge": "äēč§Ŗ",
@@ -28,7 +28,7 @@
"add_to_album_bottom_sheet_already_exists": "{album}ãĢčŋŊå æ¸ãŋ",
"add_to_shared_album": "å
ąæãĸãĢãã ãĢčŋŊå ",
"add_url": "URLãčŋŊå ",
- "added_to_archive": "ãĸãŧãĢã¤ããĢčŋŊå æ¸",
+ "added_to_archive": "ãĸãŧãĢã¤ããĢããžãã",
"added_to_favorites": "ãæ°ãĢå
ĨããĢčŋŊå æ¸",
"added_to_favorites_count": "{count, number} æãŽįģåããæ°ãĢå
ĨããĢčŋŊå æ¸",
"admin": {
@@ -39,11 +39,11 @@
"authentication_settings_disable_all": "æŦåŊãĢå
¨ãĻãŽãã°ã¤ãŗæšæŗãįĄåšãĢããžãã? ãã°ã¤ãŗã¯åŽå
¨ãĢįĄåšãĢãĒããžãã",
"authentication_settings_reenable": "åãŗæåšãĢãããĢã¯ã ãĩãŧããŧãŗããŗããäŊŋį¨ããĻãã ããã",
"background_task_job": "ããã¯ã°ãŠãĻãŗããŋãšã¯",
- "backup_database": "ããŧãŋããŧãšãŽããã¯ãĸãã",
- "backup_database_enable_description": "ããŧãŋããŧãšãŽããã¯ãĸãããæåšãĢãã",
+ "backup_database": "ããŧãŋããŧãšãŽããã¯ãĸãããäŊæ",
+ "backup_database_enable_description": "ããŧãŋããŧãšããã¯ãĸãããŽäŊæãæåšãĢãã",
"backup_keep_last_amount": "éåģãŽããã¯ãĸãããŽäŋææ°",
- "backup_settings": "ããã¯ãĸããč¨åŽ",
- "backup_settings_description": "ããŧãŋããŧãšãŽããã¯ãĸããč¨åŽãŽįŽĄį",
+ "backup_settings": "ããŧãŋããŧãšããã¯ãĸããäŊæãŽč¨åŽ",
+ "backup_settings_description": "ããŧãŋããŧãšãŽããã¯ãĸããäŊæč¨åŽãŽįŽĄį (ããŽã¸ã§ãã¯ãĸããŋãĒãŗã°ãããžããããå¤ąæãįēįããĻãããĒããĢéįĨãčĄããã¨ã¯ãããžãã)",
"check_all": "ããšãĻã鏿",
"cleanup": "ã¯ãĒãŧãŗãĸãã",
"cleared_jobs": "{job}ãŽã¸ã§ããã¯ãĒãĸããžãã",
@@ -72,6 +72,7 @@
"image_format_description": "WebPã¯JPEGãããããĄã¤ãĢãĩã¤ãēãå°ããã§ãããã¨ãŗãŗãŧããĢæéãããããžãã",
"image_fullsize_description": "įģåãæĄå¤§ããæãĢäŊŋããããĄãŋããŧãŋãåãé¤ããå寸大įģå",
"image_fullsize_enabled": "å寸大įģåįæãæåšãĢãã",
+ "image_fullsize_enabled_description": "Webã§čĄ¨į¤ēãéŖããã¨ãããįģåããŠãŧããããĢ寞ããĻå寸大įģåãįæããã",
"image_fullsize_quality_description": "1ãã100ãžã§å寸大įģåãŽčŗĒã§ããéĢããģãããããããĄã¤ãĢã大ãããĒããžãã",
"image_fullsize_title": "å寸大įģåč¨åŽ",
"image_prefer_embedded_preview": "åãčžŧãŋããŦããĨãŧãåĒå
",
@@ -191,20 +192,13 @@
"oauth_auto_register": "čĒåįģé˛",
"oauth_auto_register_description": "OAuthã§ãĩã¤ãŗã¤ãŗãããã¨ãčĒåįãĢæ°čĻãĻãŧãļãŧãįģé˛ãã",
"oauth_button_text": "ããŋãŗãããšã",
- "oauth_client_id": "ã¯ãŠã¤ãĸãŗãID",
- "oauth_client_secret": "ã¯ãŠã¤ãĸãŗã ãˇãŧã¯ãŦãã",
"oauth_enable_description": "OAuthã§ãã°ã¤ãŗ",
- "oauth_issuer_url": "įēčĄå
URL",
"oauth_mobile_redirect_uri": "ãĸãã¤ãĢį¨ãĒãã¤ãŦã¯ãURI",
"oauth_mobile_redirect_uri_override": "ãĸãã¤ãĢį¨ãĒãã¤ãŦã¯ãURIīŧ䏿¸ãīŧ",
"oauth_mobile_redirect_uri_override_description": "'{callback}'ãĒãŠããĸãã¤ãĢURIãOAuthãããã¤ããŧãĢããŖãĻ訹å¯ãããĻããĒãå ´åãĢæåšãĢããĻãã ãã",
- "oauth_profile_signing_algorithm": "ããããĄã¤ãĢãŽįŊ˛åãĸãĢã´ãĒãēã ",
- "oauth_profile_signing_algorithm_description": "ãĻãŧãļãŧããããĄã¤ãĢãįŊ˛åãããŽãĢäŊŋį¨ãããĸãĢã´ãĒãēã ã",
- "oauth_scope": "ãšãŗãŧã",
"oauth_settings": "OAuth",
"oauth_settings_description": "OAuthãã°ã¤ãŗč¨åŽãįŽĄįããžã",
"oauth_settings_more_details": "ããŽæŠčŊãŽčŠŗį´°ãĢã¤ããĻã¯ã ãããĨãĄãŗããåį
§ããĻãã ããã",
- "oauth_signing_algorithm": "įŊ˛åãĸãĢã´ãĒãēã ",
"oauth_storage_label_claim": "ãšããŦãŧã¸ãŠããĢ ã¯ãŦãŧã ",
"oauth_storage_label_claim_description": "ãĻãŧãļãŧãŽãšããŦãŧã¸ãŠããĢããããŽã¯ãŦãŧã ãŽå¤ãĢčĒåįãĢč¨åŽããžãã",
"oauth_storage_quota_claim": "ãšããŦãŧã¸ã¯ãŠãŧãŋ ã¯ãŦãŧã ",
@@ -370,6 +364,8 @@
"admin_password": "įŽĄįč
ããšã¯ãŧã",
"administration": "įŽĄį",
"advanced": "čŠŗį´°č¨åŽ",
+ "advanced_settings_enable_alternate_media_filter_subtitle": "åĨãŽåēæēãĢåžãŖãĻãĄããŖãĸããĄã¤ãĢãĢããŖãĢãŋãŧããããĻãåæãčĄããžãããĸããĒãããšãĻãŽãĸãĢãã ãčĒãŋčžŧãã§ãããĒãå ´åãĢãŽãŋãããŽæŠčŊãčŠĻããĻãã ããã",
+ "advanced_settings_enable_alternate_media_filter_title": "[čŠĻé¨éį¨] åĨãŽããã¤ãšãŽãĸãĢãã åæããŖãĢãŋãŧãäŊŋį¨ãã",
"advanced_settings_log_level_title": "ãã°ãŦããĢ: {}",
"advanced_settings_prefer_remote_subtitle": "ããã¤ãšãĢããŖãĻã¯ãããã¤ãšä¸ãĢãããĩã ãã¤ãĢãŽããŧããĢé常ãĢæéãããããã¨ããããžããããŽãĒããˇã§ãŗããĢæåšãĢããäēãĢããããĩãŧããŧããį´æĨįģåãããŧããããã¨ãå¯čŊã§ãã",
"advanced_settings_prefer_remote_title": "ãĒãĸãŧããåĒå
ãã",
@@ -377,6 +373,8 @@
"advanced_settings_proxy_headers_title": "ããããˇããã",
"advanced_settings_self_signed_ssl_subtitle": "SSLãŽãã§ãã¯ããšããããããčĒåˇąįŊ˛åč¨ŧææ¸ãåŋ
čĻã§ãã",
"advanced_settings_self_signed_ssl_title": "čĒåˇąįŊ˛åč¨ŧææ¸ã訹å¯ãã",
+ "advanced_settings_sync_remote_deletions_subtitle": "Webã§ããŽæäŊãčĄãŖãéãĢãčĒåįãĢããŽããã¤ãšä¸ããåŊ芲ãĸãģãããåé¤ãžãã¯åžŠå
ãã",
+ "advanced_settings_sync_remote_deletions_title": "ãĒãĸãŧãåé¤ãŽåæ [čŠĻé¨éį¨]",
"advanced_settings_tile_subtitle": "čŋŊå ãĻãŧãļãŧč¨åŽ",
"advanced_settings_troubleshooting_subtitle": "ããŠããĢãˇãĨãŧããŖãŗã°į¨ãŽčŠŗį´°č¨åŽããĒãŗãĢãã",
"advanced_settings_troubleshooting_title": "ããŠããĢãˇãĨãŧããŖãŗã°",
@@ -399,8 +397,8 @@
"album_remove_user_confirmation": "æŦåŊãĢ{user}ãåé¤ããžãã?",
"album_share_no_users": "ããŽãĸãĢãã ãå
¨ãĻãŽãĻãŧãļãŧã¨å
ąæããããå
ąæãããĻãŧãļãŧãããĒãããã§ãã",
"album_thumbnail_card_item": "1æ",
- "album_thumbnail_card_items": "{}æ",
- "album_thumbnail_card_shared": "å
ąææ¸ãŋ",
+ "album_thumbnail_card_items": "{}é
įŽ",
+ "album_thumbnail_card_shared": " ¡ å
ąææ¸ãŋ",
"album_thumbnail_shared_by": "{}ãå
ąæä¸",
"album_updated": "ãĸãĢãã æ´æ°",
"album_updated_setting_description": "å
ąæãĸãĢãã ãĢæ°ãããĸãģãããčŋŊå ãããã¨ãéįĨãåãåã",
@@ -431,18 +429,18 @@
"api_key_description": "ããŽå¤ã¯ä¸åãŽãŋ襨į¤ēãããžãã ãĻãŖãŗããĻãéããåãĢåŋ
ããŗããŧããĻãã ããã",
"api_key_empty": "APIããŧåã¯įŠēįŊãĢã§ããžãã",
"api_keys": "APIããŧ",
- "app_bar_signout_dialog_content": " ãĩã¤ãŗãĸãĻãããžããīŧ",
+ "app_bar_signout_dialog_content": "ãĩã¤ãŗãĸãĻãããžããīŧ",
"app_bar_signout_dialog_ok": "ã¯ã",
- "app_bar_signout_dialog_title": " ãĩã¤ãŗãĸãĻã",
+ "app_bar_signout_dialog_title": "ãĩã¤ãŗãĸãĻã",
"app_settings": "ãĸããĒč¨åŽ",
"appears_in": "ããããĢåĢãžããžã",
"archive": "ãĸãŧãĢã¤ã",
"archive_or_unarchive_photo": "åįããĸãŧãĢã¤ããžãã¯ãĸãŧãĢã¤ãč§Ŗé¤",
- "archive_page_no_archived_assets": "ãĸãŧãĢã¤ãæ¸ãŋãŽåįãžãã¯ãããĒããããžãã",
- "archive_page_title": "ãĸãŧãĢã¤ã({})",
+ "archive_page_no_archived_assets": "ãĸãŧãĢã¤ãããåįãžãã¯ãããĒããããžãã",
+ "archive_page_title": "ãĸãŧãĢã¤ã ({})",
"archive_size": "ãĸãŧãĢã¤ããĩã¤ãē",
"archive_size_description": "ããĻãŗããŧããŽãĸãŧãĢã¤ã ãĩã¤ãēãč¨åŽ(GiB åäŊ)",
- "archived": "ãĸãŧãĢã¤ãæ¸ãŋ",
+ "archived": "ãĸãŧãĢã¤ã",
"archived_count": "ãĸãŧãĢã¤ãããã{count, plural, other {#åãŽé
įŽ}}",
"are_these_the_same_person": "ãããã¯åãäēēįŠã§ãã?",
"are_you_sure_to_do_this": "æŦåŊãĢãããčĄããžãã?",
@@ -478,10 +476,10 @@
"assets_count": "{count, plural, one {#å} other {#å}}ãŽãĸãģãã",
"assets_deleted_permanently": "{}é
įŽãåŽå
¨ãĢåé¤ããžãã",
"assets_deleted_permanently_from_server": "ãĩãŧããŧä¸ãŽ{}é
įŽãåŽå
¨ãĢåé¤ããžãã",
- "assets_moved_to_trash_count": "{count, plural, one {#å} other {#å}}ãŽãĸãģãããããŋįŽąãĢį§ģåããžãã",
+ "assets_moved_to_trash_count": "{count, plural, one {#é
įŽ} other {#é
įŽ}}ãã´ãįŽąãĢį§ģåããžãã",
"assets_permanently_deleted_count": "{count, plural, one {#å} other {#å}}ãŽãĸãģãããåŽå
¨ãĢåé¤ããžãã",
- "assets_removed_count": "{count, plural, one {#å} other {#å}}ãŽãĸãģãããåé¤ããžãã",
- "assets_removed_permanently_from_device": "į̝æĢãã{}é
įŽãåŽå
¨ãĢåé¤ããžãã",
+ "assets_removed_count": "{count, plural, one {#é
įŽ} other {#é
įŽ}}ãåé¤ããžãã",
+ "assets_removed_permanently_from_device": "ããã¤ãšãã{}é
įŽãåŽå
¨ãĢåé¤ããžãã",
"assets_restore_confirmation": "ããŋįŽąãŽãĸãģãããããšãĻ垊å
ããĻãããããã§ãã? ããŽæäŊãå
ãĢæģããã¨ã¯ã§ããžãã! ãĒããŠã¤ãŗãŽãĸãģããã¯ããŽæšæŗã§ã¯åžŠå
ã§ããžããã",
"assets_restored_count": "{count, plural, one {#å} other {#å}}ãŽãĸãģããã垊å
ããžãã",
"assets_restored_successfully": "{}é
įŽã垊å
ããžãã",
@@ -496,7 +494,7 @@
"back_close_deselect": "æģããéããã鏿觪é¤",
"background_location_permission": "ããã¯ã°ãŠãĻãŗãäŊįŊŽæ
å ąãĸã¯ãģãš",
"background_location_permission_content": "æŖå¸¸ãĢWi-FiãŽåå(SSID)ãį˛åžãããĢã¯ãĸããĒã常ãĢčŠŗį´°ãĒäŊįŊŽæ
å ąãĢãĸã¯ãģãšã§ããåŋ
čĻããããžã",
- "backup_album_selection_page_albums_device": "į̝æĢä¸ãŽãĸãĢãã æ°: {}",
+ "backup_album_selection_page_albums_device": "ããã¤ãšä¸ãŽãĸãĢãã æ°: {}",
"backup_album_selection_page_albums_tap": "ãŋããã§é¸æããããĢãŋããã§é¤å¤",
"backup_album_selection_page_assets_scatter": "ãĸãĢãã ã鏿ãģé¤å¤ããĻããã¯ãĸããããåįãé¸ãļ (åãåįã褿°ãŽãĸãĢãã ãĢįģé˛ãããĻãããã¨ããããã)",
"backup_album_selection_page_select_albums": "ãĸãĢãã ã鏿",
@@ -520,7 +518,7 @@
"backup_controller_page_background_battery_info_title": "ããããĒãŧãŽæéŠå",
"backup_controller_page_background_charging": "å
éģä¸ãŽãŋ",
"backup_controller_page_background_configure_error": "ããã¯ã°ãŠãĻãŗããĩãŧããšãŽč¨åŽãĢå¤ąæ",
- "backup_controller_page_background_delay": "æ°ããåįãŽããã¯ãĸããé
åģļ: {}",
+ "backup_controller_page_background_delay": "æ°ããé
įŽãŽããã¯ãĸããéå§ãžã§åž
ã¤æé: {}",
"backup_controller_page_background_description": "ãĸããĒãéããĻããĒãã¨ããããã¯ãĸãããčĄããžã",
"backup_controller_page_background_is_off": "ããã¯ã°ãŠãŗããĩãŧããšããĒããĢãĒãŖãĻããžã",
"backup_controller_page_background_is_on": "ããã¯ã°ãŠãŗããĩãŧããšããĒãŗãĢãĒãŖãĻããžã",
@@ -530,7 +528,7 @@
"backup_controller_page_backup": "ããã¯ãĸãã",
"backup_controller_page_backup_selected": "鏿ä¸:",
"backup_controller_page_backup_sub": "ããã¯ãĸãããããåįã¨åįģãŽæ°",
- "backup_controller_page_created": "{} äŊæ",
+ "backup_controller_page_created": "äŊææĨ: {}",
"backup_controller_page_desc_backup": "ãĸããĒãéããĻããã¨ããĢåįã¨åįģãããã¯ãĸããããžã",
"backup_controller_page_excluded": "é¤å¤ä¸ãŽãĸãĢãã :",
"backup_controller_page_failed": "å¤ąæ: ({})",
@@ -544,7 +542,7 @@
"backup_controller_page_start_backup": "ããã¯ãĸããéå§",
"backup_controller_page_status_off": "ããã¯ãĸããããĒããĢãĒãŖãĻããžã",
"backup_controller_page_status_on": "ããã¯ãĸããããĒãŗãĢãĒãŖãĻããžã",
- "backup_controller_page_storage_format": "äŊŋ፿¸ãŋ({}) - å
¨äŊ({})",
+ "backup_controller_page_storage_format": "äŊŋį¨ä¸: {} / {}",
"backup_controller_page_to_backup": "ããã¯ãĸããããããĸãĢãã ",
"backup_controller_page_total_sub": "鏿ããããĸãĢãã ãŽåįã¨åįģãŽæ°",
"backup_controller_page_turn_off": "ããã¯ãĸããããĒããĢãã",
@@ -574,16 +572,16 @@
"cache_settings_clear_cache_button_title": "ããŖããˇãĨãåé¤ (ããŖããˇãĨãåįæããããžã§ããĸããĒãŽãããŠãŧããŗãšãčããäŊä¸ããžã)",
"cache_settings_duplicated_assets_clear_button": "ã¯ãĒãĸ",
"cache_settings_duplicated_assets_subtitle": "ãĩãŧããŧãĢãĸããããŧãæ¸ãŋã¨čĒčãããåįãåįģãŽæ°",
- "cache_settings_duplicated_assets_title": "{}é
įŽãŽéč¤",
- "cache_settings_image_cache_size": "ããŖããˇãĨãŽãĩã¤ãē ({}æ)",
+ "cache_settings_duplicated_assets_title": "éč¤ããé
įŽæ°: ({})",
+ "cache_settings_image_cache_size": "įģåããŖããˇãĨãŽãĩã¤ãē ({}é
įŽ)",
"cache_settings_statistics_album": "ãŠã¤ããŠãĒãŽãĩã ãã¤ãĢ",
- "cache_settings_statistics_assets": "{}æ ({}æä¸)",
+ "cache_settings_statistics_assets": "{}é
įŽ ({}é
įŽä¸)",
"cache_settings_statistics_full": "ããĢįģå",
"cache_settings_statistics_shared": "å
ąæãĸãĢãã ãŽãĩã ãã¤ãĢ",
"cache_settings_statistics_thumbnail": "ãĩã ãã¤ãĢ",
"cache_settings_statistics_title": "ããŖããˇãĨ",
"cache_settings_subtitle": "ããŖããˇãĨãŽåäŊã夿´ãã",
- "cache_settings_thumbnail_size": "ãĩã ãã¤ãĢãŽããŖããˇãĨãŽãĩã¤ãē ({}æ)",
+ "cache_settings_thumbnail_size": "ãĩã ãã¤ãĢãŽããŖããˇãĨãŽãĩã¤ãē ({}é
įŽ)",
"cache_settings_tile_subtitle": "ããŧãĢãĢãšããŦãŧã¸ãŽæåãįĸēčĒãã",
"cache_settings_tile_title": "ããŧãĢãĢãšããŦãŧã¸",
"cache_settings_title": "ããŖããˇãĨãŽč¨åŽ",
@@ -592,12 +590,12 @@
"camera_model": "ãĢãĄãŠãĸããĢ",
"cancel": "ããŖãŗãģãĢ",
"cancel_search": "æ¤į´ĸãããŖãŗãģãĢ",
- "canceled": "Canceled",
+ "canceled": "ããŖãŗãģãĢãããžãã",
"cannot_merge_people": "äēēįŠãįĩąåã§ããžãã",
"cannot_undo_this_action": "ããŽæäŊã¯å
ãĢæģããžããīŧ",
"cannot_update_the_description": "čĒŦæãæ´æ°ã§ããžãã",
"change_date": "æĨæã夿´",
- "change_display_order": "Change display order",
+ "change_display_order": "襨į¤ēé ã夿´",
"change_expiration_time": "æåšæéã夿´",
"change_location": "å ´æã夿´",
"change_name": "ååã夿´",
@@ -643,7 +641,7 @@
"comments_are_disabled": "ãŗãĄãŗãã¯įĄåšåãããĻããžã",
"common_create_new_album": "ãĸãĢãã ãäŊæ",
"common_server_error": "ãããã¯ãŧã¯æĨįļãįĸēčĒãããĩãŧããŧãæĨįļã§ããįļæ
ãĢãããįĸēčĒããĻãã ããããĸããĒã¨ãĩãŧããŧãŽããŧã¸ã§ãŗãä¸č´ããĻããããįĸēčĒããĻãã ããã",
- "completed": "Completed",
+ "completed": "åŽäē",
"confirm": "įĸēčĒ",
"confirm_admin_password": "įŽĄįč
ããšã¯ãŧããįĸēčĒ",
"confirm_delete_face": "æŦåŊãĢã{name}ããŽéĄããĸãģããããåé¤ããžãã?",
@@ -653,13 +651,13 @@
"contain": "åãã",
"context": "įļæŗ",
"continue": "įļãã",
- "control_bottom_app_bar_album_info_shared": "{}æ ¡ å
ąææ¸",
+ "control_bottom_app_bar_album_info_shared": "{}é
įŽ Âˇ å
ąæä¸",
"control_bottom_app_bar_create_new_album": "ãĸãĢãã ãäŊæ",
"control_bottom_app_bar_delete_from_immich": "Immichããåé¤",
"control_bottom_app_bar_delete_from_local": "į̝æĢä¸ããåé¤",
"control_bottom_app_bar_edit_location": "äŊįŊŽæ
å ąãᎍé",
"control_bottom_app_bar_edit_time": "æĨæã夿´",
- "control_bottom_app_bar_share_link": "Share Link",
+ "control_bottom_app_bar_share_link": "å
ąæãĒãŗã¯",
"control_bottom_app_bar_share_to": "æŦĄãŽãĻãŧãļãŧãĢå
ąæ: ",
"control_bottom_app_bar_trash_from_immich": "ã´ãįŽąãĢå
Ĩãã",
"copied_image_to_clipboard": "įģåãã¯ãĒããããŧããĢãŗããŧããžããã",
@@ -718,8 +716,8 @@
"delete_album": "ãĸãĢãã ãåé¤",
"delete_api_key_prompt": "æŦåŊãĢããŽAPI ããŧãåé¤ããžãã?",
"delete_dialog_alert": "ãĩãŧããŧã¨ããã¤ãšãŽä¸Ąæšããæ°¸äš
įãĢåé¤ãããžãīŧ",
- "delete_dialog_alert_local": "鏿ãããé
įŽã¯ããã¤ãšããåé¤ãããžãããImmichãĢã¯æŽããžã",
- "delete_dialog_alert_local_non_backed_up": "鏿ãããé
įŽãŽããĄãImmichãĢããã¯ãĸãããããĻããĒãįŠãåĢãžããĻããžããããã¤ãšãããåŽå
¨ãĢåé¤ãããžãã",
+ "delete_dialog_alert_local": "鏿ãããé
įŽã¯ããã¤ãšããåé¤ãããžããããĩãŧããŧãĢã¯æŽããžã",
+ "delete_dialog_alert_local_non_backed_up": "鏿ãããé
įŽãŽä¸ãĢããĩãŧããŧãĢããã¯ãĸãããããĻããĒãįŠãåĢãžããĻããžããããŽãããããã¤ãšããåŽå
¨ãĢåé¤ãããžãã",
"delete_dialog_alert_remote": "鏿ãããé
įŽã¯Immichããæ°¸äš
ãĢåé¤ãããžã",
"delete_dialog_ok_force": "åé¤ããžã",
"delete_dialog_title": "æ°¸äš
įãĢåé¤",
@@ -806,16 +804,16 @@
"editor_crop_tool_h2_aspect_ratios": "ãĸãšãã¯ãæ¯",
"editor_crop_tool_h2_rotation": "åčģĸ",
"email": "ãĄãŧãĢãĸããŦãš",
- "empty_folder": "This folder is empty",
+ "empty_folder": "ããŽããŠãĢããŧã¯įŠēã§ã",
"empty_trash": "ãŗãįŽąãįŠēãĢãã",
"empty_trash_confirmation": "æŦåŊãĢã´ãįŽąãįŠēãĢããžãã? ãããĢãããã´ãįŽąå
ãŽããšãĻãŽãĸãģããã Immich ããæ°¸äš
ãĢåé¤ãããžãã\nããŽæäŊãå
ãĢæģããã¨ã¯ã§ããžãã!",
"enable": "æåšå",
"enabled": "æåš",
"end_date": "įĩäēæĨ",
- "enqueued": "Enqueued",
+ "enqueued": "é įĒåž
ãĄä¸",
"enter_wifi_name": "Wi-FiãŽåå(SSID)ãå
Ĩå",
"error": "ã¨ãŠãŧ",
- "error_change_sort_album": "Failed to change album sort order",
+ "error_change_sort_album": "ãĸãĢãã ãŽčĄ¨į¤ēé ãŽå¤æ´ãĢå¤ąæããžãã",
"error_delete_face": "ãĸãģããããéĄãŽåé¤ãã§ããžããã§ãã",
"error_loading_image": "įģåãŽčĒãŋčžŧãŋã¨ãŠãŧ",
"error_saving_image": "ã¨ãŠãŧ: {}",
@@ -848,10 +846,12 @@
"failed_to_keep_this_delete_others": "ãģããŽãĸãģãããåé¤ã§ããžããã§ãã",
"failed_to_load_asset": "ãĸãģãããčĒãŋčžŧããžããã§ãã",
"failed_to_load_assets": "ãĸãģãããčĒãŋčžŧããžããã§ãã",
+ "failed_to_load_notifications": "éįĨãŽčĒãŋčžŧãŋãĢå¤ąæããžãã",
"failed_to_load_people": "äēēįŠãčĒãŋčžŧããžããã§ãã",
"failed_to_remove_product_key": "ãããã¯ãããŧãåé¤ã§ããžããã§ãã",
"failed_to_stack_assets": "ãĸãģããããšãŋãã¯ã§ããžããã§ãã",
"failed_to_unstack_assets": "ãĸãģããããšãŋãã¯ããč§Ŗé¤ãããã¨ãã§ããžããã§ãã",
+ "failed_to_update_notification_status": "éįĨãšããŧãŋãšãŽæ´æ°ãĢå¤ąæããžãã",
"import_path_already_exists": "ããŽã¤ãŗããŧãããšã¯æĸãĢåå¨ããžãã",
"incorrect_email_or_password": "ãĄãŧãĢãĸããŦãšãžãã¯ããšã¯ãŧããééãŖãĻããžã",
"paths_validation_failed": "{paths, plural, one {#å} other {#å}}ãŽããšãŽæ¤č¨ŧãĢå¤ąæããžãã",
@@ -952,10 +952,10 @@
"exif_bottom_sheet_location": "æŽåŊąå ´æ",
"exif_bottom_sheet_people": "äēēįŠ",
"exif_bottom_sheet_person_add_person": "ååãčŋŊå ",
- "exif_bottom_sheet_person_age": "Age {}",
- "exif_bottom_sheet_person_age_months": "Age {} months",
- "exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
- "exif_bottom_sheet_person_age_years": "Age {}",
+ "exif_bottom_sheet_person_age": "{}æŗ",
+ "exif_bottom_sheet_person_age_months": "įåž{}ãļæ",
+ "exif_bottom_sheet_person_age_year_months": "1æŗ{}ãļæ",
+ "exif_bottom_sheet_person_age_years": "{}æŗ",
"exit_slideshow": "ãšãŠã¤ããˇã§ãŧãįĩãã",
"expand_all": "å
¨ãĻåąé",
"experimental_settings_new_asset_list_subtitle": "čŖŊäŊéä¸ (WIP)",
@@ -975,9 +975,9 @@
"external_network": "å¤é¨ãŽãããã¯ãŧã¯",
"external_network_sheet_info": "æåŽãããWi-FiãĢįšããŖãĻããĒãæãĸããĒã¯ãĩãŧããŧã¸ãŽæĨįļãæåŽãããURLã§čĄããžããåĒå
é äŊã¯ä¸ããä¸ã§ã",
"face_unassigned": "æĒå˛ãåŊãĻ",
- "failed": "Failed",
+ "failed": "å¤ąæ",
"failed_to_load_assets": "ãĸãģãããŽããŧããĢå¤ąæããžãã",
- "failed_to_load_folder": "Failed to load folder",
+ "failed_to_load_folder": "ããŠãĢããŧãŽčĒãŋčžŧãŋãĢå¤ąæ",
"favorite": "ãæ°ãĢå
Ĩã",
"favorite_or_unfavorite_photo": "åįããæ°ãĢå
Ĩããžãã¯ãæ°ãĢå
Ĩãč§Ŗé¤",
"favorites": "ãæ°ãĢå
Ĩã",
@@ -991,10 +991,11 @@
"filetype": "ããĄã¤ãĢãŋã¤ã",
"filter": "ããŖãĢãŋãŧ",
"filter_people": "äēēįŠãįĩãčžŧãŋ",
+ "filter_places": "å ´æãããŖãĢãŋãŧ",
"find_them_fast": "ååã§æ¤į´ĸããĻį´ æŠãįēčĻ",
"fix_incorrect_match": "ééãŖãä¸č´ãäŋŽæŖ",
- "folder": "Folder",
- "folder_not_found": "Folder not found",
+ "folder": "ããŠãĢããŧ",
+ "folder_not_found": "ããŠãĢããŧãčĻã¤ãããžããã§ãã",
"folders": "ããŠãĢã",
"folders_feature_description": "ããĄã¤ãĢãˇãšãã ä¸ãŽåįã¨åįģãŽããŠãĢãããĨãŧãé˛čϧãã",
"forward": "åã¸",
@@ -1071,7 +1072,7 @@
"include_shared_albums": "å
ąæãĸãĢãã ãåĢãã",
"include_shared_partner_assets": "ããŧãããŧããˇã§ãĸãããĸãģãããåĢãã",
"individual_share": "1æãŽå
ąæ",
- "individual_shares": "åäēēãŽå
ąæ",
+ "individual_shares": "1æãã¤ãŽå
ąæ",
"info": "æ
å ą",
"interval": {
"day_at_onepm": "æ¯æĨååž1æ",
@@ -1169,8 +1170,8 @@
"manage_your_devices": "ãã°ã¤ãŗããã¤ãšãįŽĄįããžã",
"manage_your_oauth_connection": "OAuthæĨįļãįŽĄįããžã",
"map": "å°åŗ",
- "map_assets_in_bound": "{}é
įŽ",
- "map_assets_in_bounds": "{}é
įŽ",
+ "map_assets_in_bound": "{}æ",
+ "map_assets_in_bounds": "{}æ",
"map_cannot_get_user_location": "äŊįŊŽæ
å ąãã˛ããã§ããžãã",
"map_location_dialog_yes": "ã¯ã",
"map_location_picker_page_use_location": "ããŽäŊįŊŽæ
å ąãäŊŋã",
@@ -1193,6 +1194,9 @@
"map_settings_only_show_favorites": "ãæ°ãĢå
ĨããŽãŋã襨į¤ē",
"map_settings_theme_settings": "å°åŗãŽčĻãįŽ",
"map_zoom_to_see_photos": "åįãčĻããĢã¯ãēãŧã ãĸãĻã",
+ "mark_all_as_read": "ããšãĻæĸčĒãĢãã",
+ "mark_as_read": "æĸčĒãĢãã",
+ "marked_all_as_read": "ããšãĻæĸčĒãĢããžãã",
"matches": "ããã",
"media_type": "ãĄããŖãĸãŋã¤ã",
"memories": "ãĄãĸãĒãŧ",
@@ -1251,12 +1255,13 @@
"no_favorites_message": "ãæ°ãĢå
ĨããĢčŋŊå ããã¨æéĢãŽåįãåįģããããĢčĻã¤ããããžã",
"no_libraries_message": "ããĒããŽåįãåįģã襨į¤ēãããããŽå¤é¨ãŠã¤ããŠãĒãäŊæããžããã",
"no_name": "ååãĒã",
+ "no_notifications": "éįĨãĒã",
"no_places": "å ´æãĒã",
"no_results": "įĩæããããžãã",
"no_results_description": "åįžŠčĒãããä¸čŦįãĒããŧã¯ãŧããčŠĻããĻãã ãã",
"no_shared_albums_message": "ãĸãĢãã ãäŊæããĻåįãåįģãå
ąæããžããã",
"not_in_any_album": "ãŠãŽãĸãĢãã ãĢãå
ĨãŖãĻããĒã",
- "not_selected": "Not selected",
+ "not_selected": "鏿ãĒã",
"note_apply_storage_label_to_previously_uploaded assets": "æŗ¨æ: äģĨåãĢãĸããããŧããããĸãģãããĢãšããŦãŧã¸ãŠããĢãéŠį¨ãããĢã¯äģĨä¸ãåŽčĄããĻãã ãã",
"notes": "æŗ¨æ",
"notification_permission_dialog_content": "éįĨã訹å¯ãããĢã¯č¨åŽãéããĻãĒãŗãĢããĻãã ãã",
@@ -1281,6 +1286,7 @@
"onboarding_welcome_user": "ããããã{user} ãã",
"online": "ãĒãŗãŠã¤ãŗ",
"only_favorites": "ãæ°ãĢå
ĨããŽãŋ",
+ "open": "éã",
"open_in_map_view": "å°åŗčĄ¨į¤ēã§čĻã",
"open_in_openstreetmap": "OpenStreetMapã§éã",
"open_the_search_filters": "æ¤į´ĸããŖãĢãŋãéã",
@@ -1304,7 +1310,7 @@
"partner_page_partner_add_failed": "ããŧãããŧãŽčŋŊå ãĢå¤ąæ",
"partner_page_select_partner": "ããŧãããŧã鏿",
"partner_page_shared_to_title": "æŦĄãŽãĻãŧãļãŧã¨å
ąæããžã: ",
- "partner_page_stop_sharing_content": "{}ã¯åįã¸ãĸã¯ãģãšã§ããĒããĒããžã",
+ "partner_page_stop_sharing_content": "{}ã¯äģåžããĒããŽåįã¸ãĸã¯ãģãšã§ããĒããĒããžã",
"partner_sharing": "ããŧããã¨ãŽå
ąæ",
"partners": "ããŧãããŧ",
"password": "ããšã¯ãŧã",
@@ -1425,6 +1431,8 @@
"recent_searches": "æčŋãŽæ¤į´ĸ",
"recently_added": "æčŋčŋŊå ãããé
įŽ",
"recently_added_page_title": "æčŋ",
+ "recently_taken": "æčŋæŽãããããŽ",
+ "recently_taken_page_title": "æčŋãŽæŽåŊą",
"refresh": "æ´æ°",
"refresh_encoded_videos": "ã¨ãŗãŗãŧããããåįģãæ´æ°",
"refresh_faces": "éĄčĒčãæ´æ°",
@@ -1450,12 +1458,12 @@
"remove_url": "URLãŽåé¤",
"remove_user": "ãĻãŧãļãŧãåé¤",
"removed_api_key": "åé¤ãããAPI ããŧ: {name}",
- "removed_from_archive": "ãĸãŧãĢã¤ãããåé¤ãããžãã",
- "removed_from_favorites": "ãæ°ãĢå
Ĩãããåé¤ããžãã",
- "removed_from_favorites_count": "{count, plural, other {#é
įŽ}}ãæ°ãĢå
Ĩãããåé¤ããžãã",
+ "removed_from_archive": "ãĸãŧãĢã¤ãããå¤ããžãã",
+ "removed_from_favorites": "ãæ°ãĢå
Ĩããå¤ããžãã",
+ "removed_from_favorites_count": "{count, plural, other {#é
įŽ}}ããæ°ãĢå
Ĩãããå¤ããžãã",
"removed_memory": "åé¤ããããĄãĸãĒãŧ",
"removed_photo_from_memory": "ãĄãĸãĒãŧããåé¤ãããåį",
- "removed_tagged_assets": "{count, plural, one {#åãŽãĸãģãã} other {#åãŽãĸãģãã}}ãããŋã°ãåé¤ããžãã",
+ "removed_tagged_assets": "{count, plural, one {#é
įŽ} other {#é
įŽ}}ãããŋã°ãå¤ããžãã",
"rename": "ãĒããŧã ",
"repair": "äŋŽåžŠ",
"repair_no_results_message": "čŋŊ补ãããĻããĒãããĄã¤ãĢãåå¨ããĒãããĄã¤ãĢããããĢ襨į¤ēãããžã",
@@ -1509,7 +1517,7 @@
"search_filter_date_title": "æŽåŊąæéã鏿",
"search_filter_display_option_not_in_album": "ãĸãĢãã ãĢãããžãã",
"search_filter_display_options": "襨į¤ēãĒããˇã§ãŗ",
- "search_filter_filename": "Search by file name",
+ "search_filter_filename": "ããĄã¤ãĢåã§æ¤į´ĸ",
"search_filter_location": "å ´æ",
"search_filter_location_title": "å ´æã鏿",
"search_filter_media_type": "ãĄããŖãĸãŽį¨ŽéĄ",
@@ -1517,17 +1525,17 @@
"search_filter_people_title": "äēēįŠã鏿",
"search_for": "æ¤į´ĸ",
"search_for_existing_person": "æĸåãŽäēēįŠãæ¤į´ĸ",
- "search_no_more_result": "No more results",
+ "search_no_more_result": "æ¤į´ĸįĩæäģĨä¸",
"search_no_people": "äēēįŠãããžãã",
"search_no_people_named": "ã{name}ãã¨ããååãŽäēēįŠãããžãã",
- "search_no_result": "No results found, try a different search term or combination",
+ "search_no_result": "æ¤į´ĸįĩæãĒã",
"search_options": "æ¤į´ĸãĒããˇã§ãŗ",
"search_page_categories": "ãĢãã´ãĒ",
"search_page_motion_photos": "ãĸãŧãˇã§ãŗããŠã",
"search_page_no_objects": "čĸĢåäŊãĢéĸããããŧãŋããĒã",
"search_page_no_places": "å ´æãĢéĸããããŧãŋãĒã",
"search_page_screenshots": "ãšã¯ãĒãŧãŗãˇã§ãã",
- "search_page_search_photos_videos": "Search for your photos and videos",
+ "search_page_search_photos_videos": "åįãåįģãæ¤į´ĸ",
"search_page_selfies": "čĒæŽã",
"search_page_things": "čĸĢåäŊ",
"search_page_view_all_button": "ããšãĻ襨į¤ē",
@@ -1589,7 +1597,7 @@
"setting_languages_apply": "éŠį¨ãã",
"setting_languages_subtitle": "ãĸããĒãŽč¨čĒã夿´ãã",
"setting_languages_title": "č¨čĒ",
- "setting_notifications_notify_failures_grace_period": "ããã¯ãĸããå¤ąæãŽéįĨ: {}",
+ "setting_notifications_notify_failures_grace_period": "ããã¯ã°ãŠãĻãŗãããã¯ãĸããå¤ąæãŽéįĨ: {}",
"setting_notifications_notify_hours": "{}æéåž",
"setting_notifications_notify_immediately": "ãããĢčĄã",
"setting_notifications_notify_minutes": "{}ååž",
@@ -1601,14 +1609,14 @@
"setting_notifications_total_progress_subtitle": "ãĸããããŧããŽé˛čĄįļæŗ (åŽä翏ãŋ/å
¨äŊææ°)",
"setting_notifications_total_progress_title": "å
¨äŊãŽããã¯ãĸãããŽé˛čĄįļæŗã襨į¤ē",
"setting_video_viewer_looping_title": "ãĢãŧãä¸",
- "setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
- "setting_video_viewer_original_video_title": "Force original video",
+ "setting_video_viewer_original_video_subtitle": "åįģããšããĒãŧããŗã°ããéãĢãããŠãŗãšãŗãŧããããåįģãåå¨ããĻããĻãããããĻãĒãĒã¸ããĢįģčŗĒãŽåįģãåįããžãããšããĒãŧããŗã°ãĢåž
ãĄæéãįãããããããžããããĒããããã¤ãšä¸ãĢäŋåãããĻããåįģã¯ããŽč¨åŽãŽæįĄãĢéĸãããããĒãĒã¸ããĢįģčŗĒãŽåįģãåįããžãã",
+ "setting_video_viewer_original_video_title": "常ãĢãĒãĒã¸ããĢįģčŗĒãŽåįģãåįãã",
"settings": "č¨åŽ",
"settings_require_restart": "ImmichãåčĩˇåããĻč¨åŽãéŠį¨ããĻãã ãã",
"settings_saved": "č¨åŽãäŋåãããžãã",
"share": "å
ąæ",
"share_add_photos": "åįãčŋŊå ",
- "share_assets_selected": "{}鏿ãããžãã",
+ "share_assets_selected": "{}鏿ä¸",
"share_dialog_preparing": "æēåä¸",
"shared": "å
ąææ¸ãŋ",
"shared_album_activities_input_disable": "ãŗãĄãŗãã¯ãĒããĢãĒãŖãĻãžã",
@@ -1622,7 +1630,7 @@
"shared_by_user": "{user} ãĢããå
ąæ",
"shared_by_you": "ããĒããĢããå
ąæ",
"shared_from_partner": "{partner} ãĢããåį",
- "shared_intent_upload_button_progress_text": "{} / {} Uploaded",
+ "shared_intent_upload_button_progress_text": "{} / {} ãĸããããŧãåŽäē",
"shared_link_app_bar_title": "å
ąæãĒãŗã¯",
"shared_link_clipboard_copied_massage": "ã¯ãĒããããŧããĢãŗããŧããžãã",
"shared_link_clipboard_text": "ãĒãŗã¯: {}\nããšã¯ãŧã: {}",
@@ -1639,16 +1647,16 @@
"shared_link_edit_password_hint": "å
ąæããšã¯ãŧããå
Ĩåãã",
"shared_link_edit_submit_button": "ãĒãŗã¯ããĸããããŧããã",
"shared_link_error_server_url_fetch": "ãĩãŧããŧãŽURLãååžã§ããžãã",
- "shared_link_expires_day": "{}æĨã§åããžã",
- "shared_link_expires_days": "{}æĨã§åããžã",
- "shared_link_expires_hour": "{}æéã§åããžã",
- "shared_link_expires_hours": "{}æéã§åããžã",
- "shared_link_expires_minute": "{}åã§åããžã",
- "shared_link_expires_minutes": "{}åã§åããžã",
+ "shared_link_expires_day": "{}æĨåžãĢæåšæéåã",
+ "shared_link_expires_days": "{}æĨåžãĢæåšæéåã",
+ "shared_link_expires_hour": "{}æéåžãĢæåšæéåã",
+ "shared_link_expires_hours": "{}æéåžãĢæåšæéåã",
+ "shared_link_expires_minute": "{}ååžãĢæåšæéåã",
+ "shared_link_expires_minutes": "{}ååžãĢæåšæéåã",
"shared_link_expires_never": "æåšæéã¯ãããžãã",
- "shared_link_expires_second": "{}į§ã§åããžã",
- "shared_link_expires_seconds": "{}į§ã§åããžã",
- "shared_link_individual_shared": "åäēēå
ąæ",
+ "shared_link_expires_second": "{}į§åžãĢæåšæéåã",
+ "shared_link_expires_seconds": "{}į§åžãĢæåšæéåã",
+ "shared_link_individual_shared": "1æãã¤å
ąæãããĻããžã",
"shared_link_info_chip_metadata": "EXIF",
"shared_link_manage_links": "å
ąææ¸ãŋãŽãĒãŗã¯ãįŽĄį",
"shared_link_options": "å
ąæãĒãŗã¯ãŽãĒããˇã§ãŗ",
@@ -1748,7 +1756,7 @@
"theme_selection": "ããŧã鏿",
"theme_selection_description": "ããŠãĻãļãŽãˇãšãã č¨åŽãĢåēãĨããĻããŧããæč˛ãžãã¯æč˛ãĢčĒåįãĢč¨åŽããžã",
"theme_setting_asset_list_storage_indicator_title": "ãšããŦãŧã¸ãĢéĸããæ
å ąã襨į¤ē",
- "theme_setting_asset_list_tiles_per_row_title": "ä¸åãã¨ãŽčĄ¨į¤ēææ°: {}",
+ "theme_setting_asset_list_tiles_per_row_title": "ä¸čĄãã¨ãŽčĄ¨į¤ēææ°: {}",
"theme_setting_colorful_interface_subtitle": "ãĸã¯ãģãŗããĢãŠãŧã违ãĢãäŊŋį¨ãã",
"theme_setting_colorful_interface_title": "ãĢãŠããĢãĒUI",
"theme_setting_image_viewer_quality_subtitle": "įģåããĨãŧãŽįģčŗĒãŽč¨åŽ",
@@ -1787,11 +1795,11 @@
"trash_page_no_assets": "ã´ãįŽąã¯įŠēã§ã",
"trash_page_restore_all": "ããšãĻ垊å
",
"trash_page_select_assets_btn": "é
įŽã鏿",
- "trash_page_title": "åé¤({})",
+ "trash_page_title": "ã´ãįŽą ({})",
"trashed_items_will_be_permanently_deleted_after": "ã´ãįŽąãĢå
Ĩãããããĸã¤ãã ã¯{days, plural, one {#æĨ} other {#æĨ}}åžãĢåŽå
¨ãĢåé¤ãããžãã",
"type": "ãŋã¤ã",
"unarchive": "ãĸãŧãĢã¤ããč§Ŗé¤",
- "unarchived_count": "{count, plural, other {#æãĸãŧãĢã¤ãããžãã}}",
+ "unarchived_count": "{count, plural, other {#æãĸãŧãĢã¤ããč§Ŗé¤ããžãã}}",
"unfavorite": "ãæ°ãĢå
Ĩãããå¤ã",
"unhide_person": "äēēįŠãŽé襨į¤ēãč§Ŗé¤",
"unknown": "䏿",
@@ -1825,8 +1833,8 @@
"upload_status_errors": "ã¨ãŠãŧ",
"upload_status_uploaded": "ãĸããããŧãæ¸",
"upload_success": "ãĸããããŧãæåãæ°ãããĸããããŧãããããĸãģãããčĻããĢã¯ããŧã¸ãæ´æ°ããĻãã ããã",
- "upload_to_immich": "Upload to Immich ({})",
- "uploading": "Uploading",
+ "upload_to_immich": "ImmichãĢãĸããããŧã ({})",
+ "uploading": "ãĸããããŧãä¸",
"url": "URL",
"usage": "äŊŋį¨åŽšé",
"use_current_connection": "įžå¨ãŽæĨįļæ
å ąãäŊŋį¨",
diff --git a/i18n/ka.json b/i18n/ka.json
index b07dcfe6fa..8a9aadb4c0 100644
--- a/i18n/ka.json
+++ b/i18n/ka.json
@@ -59,7 +59,6 @@
"logging_settings": "ááŖá áááá",
"map_settings": "á áŖáá",
"migration_job": "áááá ááĒáá",
- "oauth_scope": "ááááááááá",
"oauth_settings": "OAuth",
"template_email_preview": "ááááááĸáŖá á",
"transcoding_acceleration_vaapi": "VAAPI",
diff --git a/i18n/kmr.json b/i18n/kmr.json
index 1a7e7bff41..fc39e7b6cf 100644
--- a/i18n/kmr.json
+++ b/i18n/kmr.json
@@ -141,17 +141,12 @@
"oauth_auto_register": "",
"oauth_auto_register_description": "",
"oauth_button_text": "",
- "oauth_client_id": "",
- "oauth_client_secret": "",
"oauth_enable_description": "",
- "oauth_issuer_url": "",
"oauth_mobile_redirect_uri": "",
"oauth_mobile_redirect_uri_override": "",
"oauth_mobile_redirect_uri_override_description": "",
- "oauth_scope": "",
"oauth_settings": "",
"oauth_settings_description": "",
- "oauth_signing_algorithm": "",
"oauth_storage_label_claim": "",
"oauth_storage_label_claim_description": "",
"oauth_storage_quota_claim": "",
diff --git a/i18n/kn.json b/i18n/kn.json
index 0967ef424b..388f06704c 100644
--- a/i18n/kn.json
+++ b/i18n/kn.json
@@ -1 +1,26 @@
-{}
+{
+ "about": "ā˛āŗā˛°ā˛ŋ➤āŗ",
+ "account": "ā˛ā˛žā˛¤āŗ",
+ "account_settings": "ā˛ā˛žā˛¤āŗ ➏āŗā˛āŗā˛ā˛ŋā˛ā˛āŗâā˛ā˛ŗāŗ",
+ "acknowledge": "ā˛
ā˛ā˛āŗā˛ā˛°ā˛ŋ➏ā˛ŋ",
+ "action": "ā˛ā˛žā˛°āŗā˛¯",
+ "action_common_update": "➍ā˛ĩāŗā˛ā˛°ā˛ŋ➏ā˛ŋ",
+ "actions": "ā˛āŗā˛°ā˛ŋ➝āŗā˛ā˛ŗāŗ",
+ "active": "➏ā˛āŗā˛°ā˛ŋ➝",
+ "activity": "ā˛ā˛āŗā˛ĩā˛ā˛ŋā˛āŗ",
+ "add": "➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_a_description": "ā˛ĩā˛ŋā˛ĩ➰➪āŗā˛¯ā˛¨āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_a_location": "➏āŗā˛Ĩ➺ā˛ĩ➍āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_a_name": "ā˛šāŗā˛¸ā˛°ā˛¨āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_a_title": "ā˛ļāŗā˛°āŗā˛ˇā˛ŋā˛āŗā˛¯ā˛¨āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_endpoint": "ā˛ā˛ā˛Ąāŗâā˛Ēā˛žā˛¯ā˛ŋā˛ā˛āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_exclusion_pattern": "ā˛šāŗā˛°ā˛ā˛ŋā˛Ąāŗā˛ĩā˛ŋā˛āŗ ā˛Žā˛žā˛Ļ➰ā˛ŋ➝➍āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_import_path": "ā˛ā˛Žā˛Ļāŗ ā˛Žā˛žā˛°āŗā˛ā˛ĩ➍āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_location": "➏āŗā˛Ĩ➺ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_more_users": "ā˛šāŗā˛āŗā˛ā˛ŋ➍ ā˛Ŧ➺ā˛āŗā˛Ļā˛žā˛°ā˛°ā˛¨āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_partner": "ā˛Ēā˛žā˛˛āŗā˛Ļā˛žā˛°ā˛°ā˛¨āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_path": "ā˛šā˛žā˛Ļā˛ŋ➝➍āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_photos": "ā˛Ģāŗā˛āŗā˛ā˛ŗā˛¨āŗā˛¨āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ",
+ "add_to": "➏āŗā˛°ā˛ŋ➏ā˛ŋâĻ",
+ "add_to_album": "ā˛ā˛˛āŗā˛Ŧā˛Žāŗâā˛āŗ ➏āŗā˛°ā˛ŋ➏ā˛ŋ"
+}
diff --git a/i18n/ko.json b/i18n/ko.json
index 03db17c396..52a094c784 100644
--- a/i18n/ko.json
+++ b/i18n/ko.json
@@ -43,7 +43,7 @@
"backup_database_enable_description": "ë°ė´í°ë˛ ė´ė¤ ë¤í íėąí",
"backup_keep_last_amount": "ëŗ´ę´í ė´ė ë¤íė ė",
"backup_settings": "ë°ė´í°ë˛ ė´ė¤ ë¤í ė¤ė ",
- "backup_settings_description": "ë°ė´í°ë˛ ė´ė¤ ë¤í ė¤ė ė ę´ëĻŦíŠëë¤. ė°¸ęŗ : ė´ ėė
ë¤ė ëǍëí°ë§ëė§ ėėŧ늰, ė¤í¨ ė ėëĻŧė ë°ė§ ėėĩëë¤.",
+ "backup_settings_description": "ë°ė´í°ë˛ ė´ė¤ ë¤í ė¤ė ė ę´ëĻŦíŠëë¤. ė°¸ęŗ : ė´ ėė
ė ė§í ë° ė¤í¨ ėŦëļëĨŧ íė¸í ė ėėĩëë¤.",
"check_all": "ëǍë íė¸",
"cleanup": "ė ëĻŦ",
"cleared_jobs": "ėė
ė¤ë¨: {job}",
@@ -70,7 +70,7 @@
"forcing_refresh_library_files": "ëǍë ëŧė´ë¸ëŦëĻŦ íėŧ ę°ė ėëĄęŗ ėš¨ ė¤...",
"image_format": "íė",
"image_format_description": "WebPë JPEGëŗ´ë¤ íėŧ íŦę¸°ę° ėė§ë§, ė¸ėŊëŠė ë ë§ė ėę°ė´ ėėëŠëë¤.",
- "image_fullsize_description": "íë ëŗ´ę¸° ė ėŦėŠëë, ëŠíë°ė´í°ę° ėë ė 랴 íŦ기 ė´ë¯¸ė§",
+ "image_fullsize_description": "ëŠíë°ė´í°ę° ė ęą°ë ė 랴 íŦ기 ė´ë¯¸ė§ëĄ, íë ëŗ´ę¸° ė ėŦėŠëŠëë¤.",
"image_fullsize_enabled": "ė 랴 íŦ기 ė´ë¯¸ė§ ėėą íėąí",
"image_fullsize_enabled_description": "ėšė ė íŠíė§ ėė íėė¸ ę˛Ŋė° ė 랴 íŦ기 ė´ë¯¸ė§ëĨŧ ėėąíŠëë¤. \"ë´ėĨ 미ëĻŦëŗ´ę¸° ė°ė ėŦėŠ\"ė´ íėąíëė´ ėėŧ늴, ëŗí ėė´ ë´ėĨë 미ëĻŦëŗ´ę¸°ëĨŧ ꡸ëëĄ ėŦėŠíŠëë¤. JPEGęŗŧ ę°ė ėš ėšíė ė¸ íėėë ėíĨė ėŖŧė§ ėėĩëë¤.",
"image_fullsize_quality_description": "ė 랴 íŦ기 ė´ë¯¸ė§ė íė§ (1~100). ėĢėę° ëėėëĄ íė§ė´ ėĸė§ë§ íėŧ íŦ기ë ėģ¤ė§ëë¤.",
@@ -79,7 +79,7 @@
"image_prefer_embedded_preview_setting_description": "RAW ėŦė§ė íŦí¨ë ë´ėĨ 미ëĻŦëŗ´ę¸°ëĨŧ ė´ë¯¸ė§ ė˛ëĻŦ ė ė
ë ĨėŧëĄ ėŦėŠíŠëë¤(ėŦėŠ ę°ëĨí ę˛Ŋė°ė íí¨). ė´ ë°Šėė ėŧëļ ė´ë¯¸ė§ėė ë ė íí ėėė ėģė ė ėė§ë§, 미ëĻŦëŗ´ę¸°ė íė§ė ėš´ëŠëŧė ë°ëŧ ë¤ëĨ´ëа ėėļėŧëĄ ė¸í íė§ ė íę° ëíë ė ėėĩëë¤.",
"image_prefer_wide_gamut": "ę´ėė ė°ė ėŦėŠ",
"image_prefer_wide_gamut_setting_description": "ėŦë¤ėŧė Display P3 ėėė ėŦėŠíŠëë¤. ę´ėė ė´ë¯¸ė§ëĨŧ ëŗ´ë¤ ėėíę˛ ííí ė ėė§ë§, ęĩŦí ë¸ëŧė°ė ë ėĨėšėėë ë¤ëĨ´ę˛ ëŗ´ėŧ ė ėėĩëë¤. sRGB ė´ë¯¸ė§ė ę˛Ŋė° ėė ėęŗĄė ë°Šė§í기 ėí´ ęˇ¸ëëĄ ė ė§ëŠëë¤.",
- "image_preview_description": "ë¨ėŧ íëĒŠė ëŗ´ęą°ë ę¸°ęŗ íėĩė ėŦėŠëë, ëŠíë°ė´í°ę° ė ęą°ë ė¤ę° íŦ기 ė´ë¯¸ė§",
+ "image_preview_description": "ëŠíë°ė´í°ę° ė ęą°ë ė¤ę° íŦ기 ė´ë¯¸ė§ëĄ, ë¨ėŧ íëĒŠė ëŗ´ęą°ë ę¸°ęŗ íėĩė ėŦėŠëŠëë¤.",
"image_preview_quality_description": "미ëĻŦëŗ´ę¸° íė§ (1~100). ėĢėę° ëėėëĄ íė§ė´ ėĸėė§ė§ë§, íėŧ íŦę¸°ę° ėģ¤ė§ęŗ ėą ë°ė ėëę° ëë ¤ė§ ė ėėĩëë¤. ëëŦ´ ëŽę˛ ė¤ė í늴 ę¸°ęŗ íėĩ íė§ė ėíĨė ė¤ ė ėėĩëë¤.",
"image_preview_title": "미ëĻŦëŗ´ę¸° ė¤ė ",
"image_quality": "íė§",
@@ -118,7 +118,7 @@
"machine_learning_duplicate_detection": "ė¤ëŗĩ ę°ė§",
"machine_learning_duplicate_detection_enabled": "ė¤ëŗĩ ę°ė§ íėąí",
"machine_learning_duplicate_detection_enabled_description": "ëšíėąíë ę˛Ŋė°ėë ėė í ëėŧí íëĒŠė ė¤ëŗĩ ė ęą°ëŠëë¤.",
- "machine_learning_duplicate_detection_setting_description": "CLIP ėë˛ ëŠė ėŦėŠíėŦ ëšėˇí íëĒŠ ė°žę¸°",
+ "machine_learning_duplicate_detection_setting_description": "CLIP ėë˛ ëŠė ėŦėŠíėŦ ė¤ëŗĩ ę°ëĨėąė´ ëė íëĒŠ ė°žę¸°",
"machine_learning_enabled": "ę¸°ęŗ íėĩ íėąí",
"machine_learning_enabled_description": "ëšíėąíë ę˛Ŋė° ėë ė¤ė ėŦëļė ę´ęŗėė´ ëǍë ę¸°ęŗ íėĩ 기ëĨė´ ëšíėąíëŠëë¤.",
"machine_learning_facial_recognition": "ėŧęĩ´ ė¸ė",
@@ -138,7 +138,7 @@
"machine_learning_settings": "ę¸°ęŗ íėĩ ė¤ė ",
"machine_learning_settings_description": "ę¸°ęŗ íėĩ 기ëĨ ë° ė¤ė ę´ëĻŦ",
"machine_learning_smart_search": "ė¤ë§í¸ ę˛ė",
- "machine_learning_smart_search_description": "CLIP ėë˛ ëŠėŧëĄ ėė°ė´ëĨŧ ėŦėŠíėŦ ė´ë¯¸ė§ ę˛ė",
+ "machine_learning_smart_search_description": "CLIP ėë˛ ëŠė ėŦėŠí ë´ėŠ ę¸°ë° ė´ë¯¸ė§ ę˛ė",
"machine_learning_smart_search_enabled": "ė¤ë§í¸ ę˛ė íėąí",
"machine_learning_smart_search_enabled_description": "ëšíėąíë ę˛Ŋė° ė¤ë§í¸ ę˛ėė ėí ė´ë¯¸ė§ ė˛ëĻŦëĨŧ ė§ííė§ ėėĩëë¤.",
"machine_learning_url_description": "ę¸°ęŗ íėĩ ėë˛ė URLė ė
ë ĨíŠëë¤. URLė´ ėŦëŦ ę°ė¸ ę˛Ŋė° ė˛Ģ ë˛ė§¸ ėë˛ëļí° ë§ė§ë§ęšė§ ėąęŗĩė ėŧëĄ ėëĩí ëęšė§ í ë˛ė íëėŠ ėėëëĄ ėė˛ė ėëíŠëë¤. ėëĩíė§ ėë ėë˛ë ë¤ė ėŦėŠ ę°ëĨí ëęšė§ ėŧėė ėŧëĄ ė ė¸ëŠëë¤.",
@@ -192,26 +192,22 @@
"oauth_auto_register": "ėë ę°ė
",
"oauth_auto_register_description": "OAuthëĄ ė ėŦėŠėę° ëĄęˇ¸ė¸íë ę˛Ŋė° ėëėŧëĄ ę°ė
",
"oauth_button_text": "ë˛íŧ í
ė¤í¸",
- "oauth_client_id": "í´ëŧė´ė¸í¸ ID",
- "oauth_client_secret": "í´ëŧė´ė¸í¸ ėíŦëĻŋ",
+ "oauth_client_secret_description": "OAuth ė ęŗĩėę° PKCE(Proof Key for Code Exchange)ëĨŧ ė§ėíė§ ėë ę˛Ŋė° íėíŠëë¤.",
"oauth_enable_description": "OAuth ëĄęˇ¸ė¸",
- "oauth_issuer_url": "ë°ę¸ė URL",
"oauth_mobile_redirect_uri": "ëǍë°ėŧ ëĻŦë¤ė´ë í¸ URI",
"oauth_mobile_redirect_uri_override": "ëǍë°ėŧ ëĻŦë¤ė´ë í¸ URI ėŦė ė",
"oauth_mobile_redirect_uri_override_description": "OAuth ęŗĩę¸ėę° '{callback}'ęŗŧ ę°ė ëǍë°ėŧ URIëĨŧ ė ęŗĩíė§ ėë ę˛Ŋė° íėąííė¸ė.",
- "oauth_profile_signing_algorithm": "ėŦėŠė ė ëŗ´ ėëĒ
ėęŗ ëĻŦėĻ",
- "oauth_profile_signing_algorithm_description": "ėŦėŠė ė ëŗ´ ėëĒ
ė ėŦėŠëë ėęŗ ëĻŦėĻė ė ííŠëë¤.",
- "oauth_scope": "ė¤ėŊí",
"oauth_settings": "OAuth",
"oauth_settings_description": "OAuth ëĄęˇ¸ė¸ ė¤ė ę´ëĻŦ",
"oauth_settings_more_details": "ė´ ę¸°ëĨė ëí ėė¸í ë´ėŠė ëŦ¸ėëĨŧ ė°¸ėĄ°íė¸ė.",
- "oauth_signing_algorithm": "ėëĒ
ėęŗ ëĻŦėĻ",
"oauth_storage_label_claim": "ė¤í ëĻŦė§ ë ė´ë¸ ė í",
"oauth_storage_label_claim_description": "ė¤í ëĻŦė§ ë ė´ë¸ė ėŦėŠėę° ė
ë Ĩí ę°ėŧëĄ ėë ė¤ė íŠëë¤.",
"oauth_storage_quota_claim": "ė¤í ëĻŦė§ í ëšë ė í",
"oauth_storage_quota_claim_description": "ė¤í ëĻŦė§ í ëšëė ėŦėŠėę° ė
ë Ĩí ę°ėŧëĄ ėë ė¤ė íŠëë¤.",
"oauth_storage_quota_default": "ė¤í ëĻŦė§ í ëšë ę¸°ëŗ¸ę° (GiB)",
"oauth_storage_quota_default_description": "ė
ë Ĩíė§ ėė ę˛Ŋė° ėŦėŠí GiB ë¨ėė ę¸°ëŗ¸ í ëšë (ëŦ´ė í í ëšëė ę˛Ŋė° 0 ė
ë Ĩ)",
+ "oauth_timeout": "ėė˛ íėėė",
+ "oauth_timeout_description": "ėė˛ íėėė (ë°ëĻŦė´ ë¨ė)",
"offline_paths": "ëëŊë íėŧ",
"offline_paths_description": "ė¸ëļ ëŧė´ë¸ëŦëĻŦė íëĒŠė´ ėë íėŧė ėëėŧëĄ ėė í ę˛Ŋė° ë°ėí ė ėėĩëë¤.",
"password_enable_description": "ė´ëŠėŧęŗŧ ëšë°ë˛í¸ëĄ ëĄęˇ¸ė¸",
@@ -222,20 +218,20 @@
"quota_size_gib": "í ëšë (GiB)",
"refreshing_all_libraries": "ëǍë ëŧė´ë¸ëŦëĻŦ ë¤ė ė¤ėē ė¤...",
"registration": "ę´ëĻŦė ęŗė ėėą",
- "registration_description": "ė˛Ģ ë˛ė§¸ëĄ ėėąëë ėŦėŠėë ę´ëĻŦė ęļíė ëļėŦë°ėŧ늰, ę´ëĻŦ ë° ėŦėŠė ėėąė´ ę°ëĨíŠëë¤.",
+ "registration_description": "ëšė ė ė˛Ģ ë˛ė§¸ ėŦėŠėė´ëа ę´ëĻŦė ęļíė´ ėëėŧëĄ ëļėŦëŠëë¤. ę´ëĻŦ ėė
ęŗŧ ėŦėŠė ėėąė´ ę°ëĨíŠëë¤.",
"repair_all": "ëǍë ėëĻŦ",
"repair_matched_items": "íëĒŠ {count, plural, one {#ę°} other {#ę°}}ę° ėŧėšíŠëë¤.",
"repaired_items": "íëĒŠ {count, plural, one {#ę°} other {#ę°}}ëĨŧ ëŗĩęĩŦíėĩëë¤.",
"require_password_change_on_login": "ė˛Ģ ëĄęˇ¸ė¸ ė ëšë°ë˛í¸ ëŗę˛Ŋ ėęĩŦ",
"reset_settings_to_default": "ė¤ė ė ę¸°ëŗ¸ę°ėŧëĄ ëŗĩė",
- "reset_settings_to_recent_saved": "ë§ė§ë§ėŧëĄ ė ėĨë ė¤ė ėŧëĄ ëŗĩė",
+ "reset_settings_to_recent_saved": "ë§ė§ë§ėŧëĄ ė ėĨë ė¤ė ëŗĩė",
"scanning_library": "ëŧė´ë¸ëŦëĻŦ ė¤ėē ė¤",
"search_jobs": "ėė
ę˛ėâĻ",
"send_welcome_email": "íė ė´ëŠėŧ ė ėĄ",
"server_external_domain_settings": "ė¸ëļ ëëŠė¸",
"server_external_domain_settings_description": "ęŗĩę° ęŗĩė ë§íŦė ėŦėŠí ëëŠė¸ (http(s):// íŦí¨)",
"server_public_users": "ëǍë ėŦėŠė",
- "server_public_users_description": "ęŗĩė ė¨ë˛ė ėŦėŠėëĨŧ ėļę°í ę˛Ŋė° ëǍë ėŦėŠė(ė´ëĻ, ė´ëŠėŧ)ę° ëė´ëŠëë¤. ëšíėąí í ę˛Ŋė°, ę´ëĻŦėë§ė´ ėŦėŠė ëĒŠëĄė ėŦėŠí ė ėėĩëë¤.",
+ "server_public_users_description": "ęŗĩė ė¨ë˛ė ėŦėŠėëĨŧ ėļę°í ë ëǍë ėŦėŠėė ė´ëĻęŗŧ ė´ëŠėŧė ëĒŠëĄė íėíŠëë¤. ëšíėąíë ę˛Ŋė° ę´ëĻŦėė¸ ę˛Ŋė°ėë§ ėŦėŠė ëĒŠëĄė´ íėëŠëë¤.",
"server_settings": "ėë˛ ė¤ė ",
"server_settings_description": "ėë˛ ė¤ė ę´ëĻŦ",
"server_welcome_message": "íė ëŠėė§",
@@ -251,7 +247,7 @@
"storage_template_hash_verification_enabled_description": "í´ė ę˛ėĻė íėąííŠëë¤. ė´ ė¤ė ė 결ęŗŧëĨŧ íė¤í ė´í´íė§ ėë í ëšíėąííė§ ë§ė¸ė.",
"storage_template_migration": "ė¤í ëĻŦė§ í
íëĻŋ ë§ė´ęˇ¸ë ė´ė
",
"storage_template_migration_description": "ė´ė ė ė
ëĄëë íëĒŠė íėŦ {template} ė ėŠ",
- "storage_template_migration_info": "ė¤í ëĻŦė§ í
íëĻŋė ëǍë íėĨėëĨŧ ėëŦ¸ėëĄ ëŗííŠëë¤. í
íëĻŋ ëŗę˛Ŋ ėŦíė ėëĄ ė
ëĄëí íëĒŠėë§ ė ėŠëŠëë¤. ę¸°ėĄ´ė ė
ëĄëë íëĒŠė ė ėŠíë ¤ëŠ´ {job}ė ė¤ííė¸ė.",
+ "storage_template_migration_info": "ė¤í ëĻŦė§ í
íëĻŋė ëǍë íėĨėëĨŧ ėëŦ¸ėëĄ ëŗíí늰, ëŗę˛Ŋ ėŦíė ėëĄ ė
ëĄëí íëĒŠėë§ ė ėŠëŠëë¤. ę¸°ėĄ´ė ė
ëĄëë íëĒŠė ė ėŠíë ¤ëŠ´ {job}ė ė¤ííė¸ė.",
"storage_template_migration_job": "ė¤í ëĻŦė§ í
íëĻŋ ë§ė´ęˇ¸ë ė´ė
ėė
",
"storage_template_more_details": "ė´ ę¸°ëĨė ëí ėė¸í ë´ėŠė ė¤í ëĻŦė§ í
íëĻŋ ë° ė¤ëĒ
ė ė°¸ėĄ°íė¸ė.",
"storage_template_onboarding_description": "ė´ ę¸°ëĨė íėąíí늴 ėŦėŠė ė ė í
íëĻŋė ėŦėŠíėŦ íėŧė ėëėŧëĄ ė ëĻŦí ė ėėĩëë¤. ėė ėą ëŦ¸ė ëĄ ė¸í´ í´ëš 기ëĨė ę¸°ëŗ¸ė ėŧëĄ ëšíėąíëė´ ėėĩëë¤. ėė¸í ë´ėŠė ëŦ¸ėëĨŧ ė°¸ėĄ°íė¸ė.",
@@ -261,14 +257,14 @@
"storage_template_user_label": "ėŦėŠėė ė¤í ëĻŦė§ ë ė´ë¸: {label}
",
"system_settings": "ėė¤í
ė¤ė ",
"tag_cleanup_job": "í꡸ ė ëĻŦ",
- "template_email_available_tags": "í
íëĻŋėė ë¤ė ëŗėëĨŧ ėŦėŠí ė ėėĩëë¤: {tags}",
+ "template_email_available_tags": "í
íëĻŋė ë¤ė ëŗėëĨŧ ėŦėŠí ė ėėĩëë¤: {tags}",
"template_email_if_empty": "ëšė´ ėë ę˛Ŋė° ę¸°ëŗ¸ í
íëĻŋė´ ėŦėŠëŠëë¤.",
- "template_email_invite_album": "ė¨ë˛ ė´ë í
íëĻŋ",
+ "template_email_invite_album": "ė¨ë˛ ė´ëėĨ í
íëĻŋ",
"template_email_preview": "미ëĻŦëŗ´ę¸°",
"template_email_settings": "ė´ëŠėŧ í
íëĻŋ",
"template_email_settings_description": "ėŦėŠė ė ė ė´ëŠėŧ í
íëĻŋ ę´ëĻŦ",
- "template_email_update_album": "ė¨ë˛ í
íëĻŋ ė
ë°ė´í¸",
- "template_email_welcome": "ė°ėģ´ ëŠėŧ í
íëĻŋ",
+ "template_email_update_album": "ė¨ë˛ ė
ë°ė´í¸ ėë´ í
íëĻŋ",
+ "template_email_welcome": "íė ëŠėŧ í
íëĻŋ",
"template_settings": "ėëĻŧ í
íëĻŋ",
"template_settings_description": "ėëĻŧė ėí ėŦėŠė ė§ė í
íëĻŋė ę´ëĻŦíŠëë¤.",
"theme_custom_css_settings": "ėŦėŠė ė ė CSS",
@@ -340,18 +336,18 @@
"transcoding_video_codec": "ëėė ėŊëą",
"transcoding_video_codec_description": "VP9ë í¨ė¨ė ė´ęŗ ėš í¸íėąė´ ëė§ë§ í¸ëė¤ėŊëŠė ë¤ė 긴 ėę°ė´ ėėëŠëë¤. HEVCë ėąëĨė ëšėˇíë ėš í¸íėąė´ ëŽėĩëë¤. H.264ë í¸íėąė´ ę°ėĨ ëė§ë§ ė¸ėŊëŠë íėŧ íŦę¸°ę° íŦęŗ , AV1ė ę°ėĨ í¨ė¨ė ė´ë ė¤ëë 기기ėė í¸íėąė´ ëŽėĩëë¤.",
"trash_enabled_description": "í´ė§íĩ íėąí",
- "trash_number_of_days": "ėė ëŗ´ëĨ 기ę°",
- "trash_number_of_days_description": "í´ė§íĩėŧëĄ ė´ëë íëĒŠė ėė ëŗ´ëĨ 기ę°",
+ "trash_number_of_days": "ėė ė ė 기ę°",
+ "trash_number_of_days_description": "í´ė§íĩėŧëĄ ė´ëë íëĒŠė ėė ė ė 기ę°",
"trash_settings": "í´ė§íĩ ė¤ė ",
"trash_settings_description": "í´ė§íĩ ė¤ė ę´ëĻŦ",
"untracked_files": "ėļė ëė§ ėë íėŧ",
"untracked_files_description": "ė íëĻŦėŧė´ė
ėė ėļė ëė§ ėë íėŧ ëĒŠëĄė
ëë¤. ė´ë ė¤í¨, ė
ëĄë ė¤ë¨ ëë ë˛ęˇ¸ëĄ ė¸í´ ë°ėí ė ėėĩëë¤.",
"user_cleanup_job": "ėŦėŠė ė ëĻŦ",
"user_delete_delay": "{user} ëė´ ė
ëĄëí íëĒŠė´ {delay, plural, one {#ėŧ} other {#ėŧ}} í ėęĩŦė ėŧëĄ ėė ëŠëë¤.",
- "user_delete_delay_settings": "ėė ëŗ´ëĨ 기ę°",
- "user_delete_delay_settings_description": "ėŦėŠėëĨŧ ėęĩŦė ėŧëĄ ėė í기 ė ëŗ´ëĨ 기ę°ė ė¤ė íŠëë¤. ėŦėŠė ėė ë 매ėŧ ë°¤ ėė , ëŗ´ëĨ 기ę°ė´ ė§ë ėŦėŠėëĨŧ íė¸í í ė§íëŠëë¤. ëŗę˛Ŋ ėŦíė ë¤ė ėė
ëļí° ė ėŠëŠëë¤.",
+ "user_delete_delay_settings": "ėė ė ė 기ę°",
+ "user_delete_delay_settings_description": "ėŦėŠė ęŗė ęŗŧ íëĒŠė´ ėė í ėė ë기ęšė§ė ė ė 기ę°(ėŧ)ė ė¤ė íŠëë¤. ėŦėŠė ėė ėė
ė 매ėŧ ėė ė ė¤íëė´ ėė ëė ėŦëļëĨŧ íė¸íŠëë¤. ė´ ė¤ė ė ëŗę˛Ŋ ėŦíė ë¤ė ėė
ė¤í ė ë°ėëŠëë¤.",
"user_delete_immediately": "{user} ëė´ ė
ëĄëí íëĒŠė´ ėęĩŦė ėŧëĄ ėė ëŠëë¤ .",
- "user_delete_immediately_checkbox": "ëŗ´ëĨ ę¸°ę° ėė´ ėĻė ėė ",
+ "user_delete_immediately_checkbox": "ė ė ę¸°ę° ėė´ ėĻė ėė ",
"user_management": "ėŦėŠė ę´ëĻŦ",
"user_password_has_been_reset": "ėŦėŠėė ëšë°ë˛í¸ę° ė´ę¸°íëėėĩëë¤:",
"user_password_reset_description": "ė´ ëšë°ë˛í¸ëĨŧ í´ëš ėŦėŠėėę˛ ėë ¤ėŖŧė¸ė. ėė ëšë°ë˛í¸ëĄ ëĄęˇ¸ė¸í ë¤ ëšë°ë˛í¸ëĨŧ ë°ëė ëŗę˛Ŋí´ėŧ íŠëë¤.",
@@ -442,7 +438,7 @@
"app_settings": "ėą ė¤ė ",
"appears_in": "ë¤ė ė¨ë˛ė íŦí¨ë¨",
"archive": "ëŗ´ę´í¨",
- "archive_or_unarchive_photo": "ëŗ´ę´í¨ėŧëĄ ė´ë ëë ė ęą°",
+ "archive_or_unarchive_photo": "ëŗ´ę´ ė˛ëĻŦ ëë í´ė ",
"archive_page_no_archived_assets": "ëŗ´ę´ë íëĒŠ ėė",
"archive_page_title": "ëŗ´ę´í¨ ({})",
"archive_size": "ėėļ íėŧ íŦ기",
@@ -492,7 +488,7 @@
"assets_restored_successfully": "íëĒŠ {}ę°ëĨŧ ëŗĩėíėĩëë¤.",
"assets_trashed": "í´ė§íĩėŧëĄ íëĒŠ {}ę° ė´ëë¨",
"assets_trashed_count": "í´ė§íĩėŧëĄ íëĒŠ {count, plural, one {#ę°} other {#ę°}} ė´ëë¨",
- "assets_trashed_from_server": "í´ė§íĩėŧëĄ ėë˛ė ėë íëĒŠ {}ę°ę° ė´ëëėėĩëë¤.",
+ "assets_trashed_from_server": "ėë˛ė ėë íëĒŠ {}ę°ę° í´ė§íĩėŧëĄ ė´ëëėėĩëë¤.",
"assets_were_part_of_album_count": "ė¨ë˛ė ė´ë¯¸ ėĄ´ėŦíë {count, plural, one {íëĒŠ} other {íëĒŠ}}ė
ëë¤.",
"authorized_devices": "ė¸ėĻë 기기",
"automatic_endpoint_switching_subtitle": "ė§ė ë Wi-Fię° ėŦėŠ ę°ëĨí ę˛Ŋė° ë´ëļë§ė íĩí´ ė°ę˛°íęŗ , ꡸ë ė§ ėėŧ늴 ë¤ëĨ¸ ė°ę˛° ë°Šėė ėŦėŠíŠëë¤.",
@@ -570,16 +566,16 @@
"bugs_and_feature_requests": "ë˛ęˇ¸ ė ëŗ´ & 기ëĨ ėė˛",
"build": "ëšë",
"build_image": "ëšë ė´ë¯¸ė§",
- "bulk_delete_duplicates_confirmation": "ëšėˇí íëĒŠ {count, plural, one {#ę°} other {#ę°}}ëĨŧ ėė íėę˛ ėĩëęš? íŦę¸°ę° ę°ėĨ í° íëĒŠė ė ė¸í ëë¨¸ė§ íëĒŠë¤ė´ ėęĩŦė ėŧëĄ ėė ëŠëë¤. ė´ ėė
ė ëëëĻ´ ė ėėĩëë¤!",
- "bulk_keep_duplicates_confirmation": "ëšėˇí íëĒŠ {count, plural, one {#ę°} other {#ę°}}ëĨŧ ė ė§íėę˛ ėĩëęš? íėŧė ėė íė§ ėęŗ íė¸ë ę˛ėŧëĄ íë¨íŠëë¤.",
- "bulk_trash_duplicates_confirmation": "ëšėˇí íëĒŠ {count, plural, one {#ę°} other {#ę°}}ëĨŧ í´ė§íĩėŧëĄ ė´ëíėę˛ ėĩëęš? íŦę¸°ę° ę°ėĨ í° íëĒŠė ė ė¸í ëë¨¸ė§ íëĒŠë¤ė´ ëǍë í´ė§íĩėŧëĄ ė´ëëŠëë¤.",
+ "bulk_delete_duplicates_confirmation": "ė¤ëŗĩë íëĒŠ {count, plural, one {#ę°ëĨŧ} other {#ę°ëĨŧ}} ėŧę´ ėė íėę˛ ėĩëęš? ę° ęˇ¸ëŖšėė ę°ėĨ í° íëĒŠë§ ë¨ę¸°ęŗ ëë¨¸ė§ ė¤ëŗĩ íëĒŠė ėęĩŦė ėŧëĄ ėė íŠëë¤. ė´ ėė
ė ëëëĻ´ ė ėėĩëë¤!",
+ "bulk_keep_duplicates_confirmation": "ė¤ëŗĩë íëĒŠ {count, plural, one {#ę°ëĨŧ} other {#ę°ëĨŧ}} ꡸ëëĄ ė ė§íėę˛ ėĩëęš? ė´ ėė
ė ė´ë¤ íëĒŠë ėė íė§ ėęŗ , ëǍë ė¤ëŗĩ ęˇ¸ëŖšė íė¸í ę˛ėŧëĄ ė˛ëĻŦíŠëë¤.",
+ "bulk_trash_duplicates_confirmation": "ė¤ëŗĩë íëĒŠ {count, plural, one {#ę°ëĨŧ} other {#ę°ëĨŧ}} ėŧę´ í´ė§íĩėŧëĄ ė´ëíėę˛ ėĩëęš? ė´ ėė
ė ę° ęˇ¸ëŖšėė ę°ėĨ í° íëĒŠë§ ë¨ę¸°ęŗ ëë¨¸ė§ ė¤ëŗĩ íëĒŠė í´ė§íĩėŧëĄ ė´ëíŠëë¤.",
"buy": "Immich ęĩŦ매",
- "cache_settings_album_thumbnails": "ëŧė´ë¸ëŦëĻŦ ėŦë¤ėŧ ({})",
+ "cache_settings_album_thumbnails": "ëŧė´ë¸ëŦëĻŦ íė´ė§ ėŦë¤ėŧ ({})",
"cache_settings_clear_cache_button": "ėēė ė§ė°ę¸°",
"cache_settings_clear_cache_button_title": "ėą ėēėëĨŧ ė§ėëë¤. ė´ ėė
ė ėēėę° ë¤ė ėėąë ëęšė§ ėą ėąëĨė ėëší ėíĨė ë¯¸ėš ė ėėĩëë¤.",
"cache_settings_duplicated_assets_clear_button": "ė§ė°ę¸°",
"cache_settings_duplicated_assets_subtitle": "ė
ëĄëëė§ ėë ėŦė§ ë° ëėė",
- "cache_settings_duplicated_assets_title": "ė¤ëŗĩ íëĒŠ ({}ę°)",
+ "cache_settings_duplicated_assets_title": "ė¤ëŗĩ íëĒŠ ({})",
"cache_settings_image_cache_size": "ė´ë¯¸ė§ ėēė íŦ기 ({})",
"cache_settings_statistics_album": "ëŧė´ë¸ëŦëĻŦ ėŦë¤ėŧ",
"cache_settings_statistics_assets": "íëĒŠ {}ę° ({})",
@@ -728,7 +724,7 @@
"delete_dialog_alert_remote": "ė´ íëĒŠë¤ė´ Immich ėë˛ėė ėęĩŦė ėŧëĄ ėė ëŠëë¤.",
"delete_dialog_ok_force": "ëŦ´ėíęŗ ėė ",
"delete_dialog_title": "ėęĩŦė ėŧëĄ ėė ",
- "delete_duplicates_confirmation": "ëšėˇí íëĒŠë¤ė ėęĩŦė ėŧëĄ ėė íėę˛ ėĩëęš?",
+ "delete_duplicates_confirmation": "ė´ ė¤ëŗĩ íëĒŠë¤ė ėęĩŦė ėŧëĄ ėė íėę˛ ėĩëęš?",
"delete_face": "ėŧęĩ´ ėė ",
"delete_key": "í¤ ėė ",
"delete_library": "ëŧė´ë¸ëŦëĻŦ ėė ",
@@ -783,8 +779,8 @@
"downloading_asset_filename": "{filename} ë¤ė´ëĄë ė¤...",
"downloading_media": "미ëė´ ë¤ė´ëĄë ė¤",
"drop_files_to_upload": "ėëŦ´ ęŗŗėë íėŧė ëëĄíėŦ ė
ëĄë",
- "duplicates": "ëšėˇí íëĒŠ",
- "duplicates_description": "ëšėˇí íëĒŠë¤ė íė¸íęŗ , ė ė§íęą°ë ėė í íëĒŠ ė í",
+ "duplicates": "ė¤ëŗĩ íëĒŠ",
+ "duplicates_description": "ę° ęˇ¸ëŖšėė ė¤ëŗĩë íëĒŠė íė¸íęŗ ėė í íëĒŠė ė ííė¸ė.",
"duration": "기ę°",
"edit": "í¸ė§",
"edit_album": "ė¨ë˛ ėė ",
@@ -818,7 +814,7 @@
"enabled": "íėąíë¨",
"end_date": "ėĸ
ëŖėŧ",
"enqueued": "ë기ė´ė ėļę°ë¨",
- "enter_wifi_name": "Enter WiFi name",
+ "enter_wifi_name": "Wi-Fi ė´ëĻ ė
ë Ĩ",
"error": "ė¤ëĨ",
"error_change_sort_album": "ė¨ë˛ íė ėė ëŗę˛Ŋ ė¤í¨",
"error_delete_face": "ėŧęĩ´ ėė ė¤ ė¤ëĨę° ë°ėíėĩëë¤.",
@@ -853,10 +849,12 @@
"failed_to_keep_this_delete_others": "ė´ íëĒŠė ė ė§íęŗ ë¤ëĨ¸ íëĒŠė ėė íė§ ëĒģíėĩëë¤.",
"failed_to_load_asset": "íëĒŠ ëĄë ė¤í¨",
"failed_to_load_assets": "íëĒŠ ëĄë ė¤í¨",
+ "failed_to_load_notifications": "ėëĻŧ ëĄë ė¤í¨",
"failed_to_load_people": "ė¸ëŦŧ ëĄë ė¤í¨",
"failed_to_remove_product_key": "ė í í¤ëĨŧ ė ęą°íė§ ëĒģíėĩëë¤.",
"failed_to_stack_assets": "ė¤íė ë§ë¤ė§ ëĒģíėĩëë¤.",
"failed_to_unstack_assets": "ė¤íė í´ė íė§ ëĒģíėĩëë¤.",
+ "failed_to_update_notification_status": "ėëĻŧ ėí ė
ë°ė´í¸ ė¤í¨",
"import_path_already_exists": "ė´ ę°ė ¸ėŦ ę˛ŊëĄë ė´ë¯¸ ėĄ´ėŦíŠëë¤.",
"incorrect_email_or_password": "ėëĒģë ė´ëŠėŧ ëë ëšë°ë˛í¸",
"paths_validation_failed": "ę˛ŊëĄ {paths, plural, one {#ę°} other {#ę°}}ëĨŧ ę˛ėĻíė§ ëĒģíėĩëë¤.",
@@ -924,7 +922,7 @@
"unable_to_remove_reaction": "ë°ėė ė ęą°í ė ėėĩëë¤.",
"unable_to_repair_items": "íëĒŠė ėëĻŦí ė ėėĩëë¤.",
"unable_to_reset_password": "ëšë°ë˛í¸ëĨŧ ė´ę¸°íí ė ėėĩëë¤.",
- "unable_to_resolve_duplicate": "ëšėˇí íëĒŠė ė˛ëĻŦí ė ėėĩëë¤.",
+ "unable_to_resolve_duplicate": "ė¤ëŗĩë íëĒŠė ė˛ëĻŦí ė ėėĩëë¤.",
"unable_to_restore_assets": "íëĒŠė ëŗĩėí ė ėėĩëë¤.",
"unable_to_restore_trash": "í´ė§íĩėė íëĒŠė ëŗĩėí ė ėė",
"unable_to_restore_user": "ėŦėŠė ėė ëĨŧ 뎍ėí ė ėėĩëë¤.",
@@ -978,7 +976,7 @@
"external": "ė¸ëļ",
"external_libraries": "ė¸ëļ ëŧė´ë¸ëŦëĻŦ",
"external_network": "ė¸ëļ ë¤í¸ėíŦ",
- "external_network_sheet_info": "When not on the preferred WiFi network, the app will connect to the server through the first of the below URLs it can reach, starting from top to bottom",
+ "external_network_sheet_info": "ė í¸íë Wi-Fi ë¤í¸ėíŦė ė°ę˛°ëė´ ėė§ ėė ę˛Ŋė°, ėąė ėëė ëė´ë URL ė¤ ė°ę˛° ę°ëĨí ė˛Ģ ë˛ė§¸ ėŖŧėëĨŧ ėėėëļí° ėėëëĄ ėŦėŠíŠëë¤.",
"face_unassigned": "ė ė ėė",
"failed": "ė¤í¨í¨",
"failed_to_load_assets": "íëĒŠ ëĄë ė¤í¨",
@@ -1002,7 +1000,7 @@
"folder": "í´ë",
"folder_not_found": "í´ëëĨŧ ė°žė ė ėė",
"folders": "í´ë",
- "folders_feature_description": "íėŧ ėė¤í
ė ėŦė§ ë° ëėėė í´ë ëˇ°ëĄ íė",
+ "folders_feature_description": "íėŧ ėė¤í
ė ėë ėŦė§ęŗŧ ëėėė í´ë ëŗ´ę¸°ëĄ íė",
"forward": "ėėŧëĄ",
"general": "ėŧë°",
"get_help": "ëė ėė˛",
@@ -1025,7 +1023,7 @@
"header_settings_field_validator_msg": "ę°ė ëšėë ė ėėĩëë¤.",
"header_settings_header_name_input": "í¤ë ė´ëĻ",
"header_settings_header_value_input": "í¤ë ę°",
- "headers_settings_tile_subtitle": "ėąė´ ę° ë¤í¸ėíŦ ėė˛ė í¨ęģ ė ėĄí íëĄė í¤ëëĨŧ ė ėíŠëë¤.",
+ "headers_settings_tile_subtitle": "ë¤í¸ėíŦ ėė˛ė í¨ęģ ė ėĄí íëĄė í¤ëëĨŧ ė ėíŠëë¤.",
"headers_settings_tile_title": "ėŦėŠė ė ė íëĄė í¤ë",
"hi_user": "ėë
íė¸ė {name}ë, ({email})",
"hide_all_people": "ëǍë ė¸ëŦŧ ė¨ę¸°ę¸°",
@@ -1045,13 +1043,13 @@
"home_page_delete_remote_err_local": "ėë˛ėė ėė ë íëĒŠė
ëë¤. ęą´ëëëë¤.",
"home_page_favorite_err_local": "기기ė íëĒŠė ėĻę˛¨ė°žę¸°ė ėļę°í ė ėėĩëë¤. ęą´ëëëë¤.",
"home_page_favorite_err_partner": "íí¸ëė íëĒŠė ėĻę˛¨ė°žę¸°ė ėļę°í ė ėėĩëë¤. ęą´ëëëë¤.",
- "home_page_first_time_notice": "ėąė ė˛ė ėŦėŠíë ę˛Ŋė°, íėëŧė¸ė ėŦė§ęŗŧ ëėėė´ íėë ė ėëëĄ ë°ąė
ė¨ë˛ė ė íí´ėŖŧė¸ė.",
+ "home_page_first_time_notice": "ėąė ė˛ė ėŦėŠíë ę˛Ŋė°, 기기ė ėë ėŦė§ęŗŧ ëėėė íėëŧė¸ė íėíęŗ ë°ąė
íë ¤ëŠ´ ë°ąė
í ė¨ë˛ė ė ííė¸ė.",
"home_page_share_err_local": "기기ėë§ ė ėĨë íëĒŠė ë§íŦëĄ ęŗĩė í ė ėė´ ęą´ëëëë¤.",
"home_page_upload_err_limit": "í ë˛ė ėĩë 30ę°ė íëĒŠë§ ė
ëĄëí ė ėėĩëë¤.",
"host": "í¸ė¤í¸",
"hour": "ėę°",
"ignore_icloud_photos": "iCloud ėŦė§ ė ė¸",
- "ignore_icloud_photos_description": "iCloudė ė ėĨë ėŦė§ė Immich ėë˛ëĄ ė
ëĄëëė§ ėėĩëë¤.",
+ "ignore_icloud_photos_description": "iCloudė ė ėĨë ėŦė§ė´ Immichė ė
ëĄëëė§ ėėĩëë¤.",
"image": "ė´ë¯¸ė§",
"image_alt_text_date": "{date} ė´Ŧėí {isVideo, select, true {ëėė} other {ėŦė§}}",
"image_alt_text_date_1_person": "{date} {person1}ëęŗŧ í¨ęģí {isVideo, select, true {ëėė} other {ėŦė§}}",
@@ -1199,6 +1197,9 @@
"map_settings_only_show_favorites": "ėĻę˛¨ė°žę¸°ë§ íė",
"map_settings_theme_settings": "ė§ë í
ë§",
"map_zoom_to_see_photos": "ėļėíėŦ ėŦė§ ëŗ´ę¸°",
+ "mark_all_as_read": "ëǍë ėŊėėŧëĄ íė",
+ "mark_as_read": "ėŊėėŧëĄ íė",
+ "marked_all_as_read": "ëǍë ėŊė ę˛ėŧëĄ íėíėĩëë¤.",
"matches": "ėŧėš",
"media_type": "미ëė´ ėĸ
ëĨ",
"memories": "ėļėĩ",
@@ -1225,6 +1226,8 @@
"month": "ė",
"monthly_title_text_date_format": "yyyyë
Mė",
"more": "ëëŗ´ę¸°",
+ "moved_to_archive": "ëŗ´ę´í¨ėŧëĄ íëĒŠ {count, plural, one {#ę°} other {#ę°}} ė´ëë¨",
+ "moved_to_library": "ëŧė´ë¸ëŦëĻŦëĄ íëĒŠ {count, plural, one {#ę°} other {#ę°}} ė´ëë¨",
"moved_to_trash": "í´ė§íĩėŧëĄ ė´ëëėėĩëë¤.",
"multiselect_grid_edit_date_time_err_read_only": "ėŊ기 ė ėŠ íëĒŠė ë ė§ë ëŗę˛Ŋí ė ėėĩëë¤. ęą´ëëëë¤.",
"multiselect_grid_edit_gps_err_read_only": "ėŊ기 ė ėŠ íëĒŠė ėėšë ëŗę˛Ŋí ė ėėĩëë¤. ęą´ëëëë¤.",
@@ -1232,7 +1235,7 @@
"my_albums": "ë´ ė¨ë˛",
"name": "ė´ëĻ",
"name_or_nickname": "ė´ëĻ ëë ëë¤ė",
- "networking_settings": "ë¤í¸ėíš",
+ "networking_settings": "ė°ę˛°",
"networking_subtitle": "ėë˛ ėëíŦė¸í¸ ė¤ė ę´ëĻŦ",
"never": "ėė",
"new_album": "ė ė¨ë˛",
@@ -1251,12 +1254,14 @@
"no_archived_assets_message": "ėŦė§ęŗŧ ëėėė ëŗ´ę´í¨ėŧëĄ ė´ëíėŦ ëĒŠëĄėė ė¨ę¸°ę¸°",
"no_assets_message": "ėŦ기ëĨŧ í´ëĻíėŦ ė˛Ģ ėŦė§ė ė
ëĄëíė¸ė.",
"no_assets_to_show": "íėí íëĒŠ ėė",
- "no_duplicates_found": "ëšėˇí íëĒŠė ė°žė ė ėėĩëë¤.",
+ "no_duplicates_found": "ė¤ëŗĩë íëĒŠė´ ėėĩëë¤.",
"no_exif_info_available": "EXIF ė ëŗ´ ėė",
"no_explore_results_message": "ë ë§ė ėŦė§ė ė
ëĄëíėŦ íė 기ëĨė ėŦėŠíė¸ė.",
"no_favorites_message": "ėĻę˛¨ė°žę¸°ė ėĸėíë ėŦė§ęŗŧ ëėėė ėļę°í기",
"no_libraries_message": "ė¸ëļ ëŧė´ë¸ëŦëĻŦëĨŧ ėėąíėŦ ę¸°ėĄ´ ėŦė§ęŗŧ ëėėė íė¸íė¸ė.",
"no_name": "ė´ëĻ ėė",
+ "no_notifications": "ėëĻŧ ėė",
+ "no_people_found": "ėŧėšíë ė¸ëŦŧ ėė",
"no_places": "ėĨė ėė",
"no_results": "결ęŗŧę° ėėĩëë¤.",
"no_results_description": "ëėė´ ëë ë ėŧë°ė ė¸ ë¨ė´ëĨŧ ėŦėŠí´ ëŗ´ė¸ė.",
@@ -1331,7 +1336,7 @@
"pending": "ė§í ė¤",
"people": "ė¸ëŦŧ",
"people_edits_count": "ė¸ëŦŧ {count, plural, one {#ëĒ
} other {#ëĒ
}}ė ėė íėĩëë¤.",
- "people_feature_description": "ėŦė§ ë° ëėėė ė¸ëŦŧ ęˇ¸ëŖšëŗëĄ íė",
+ "people_feature_description": "ėŦė§ęŗŧ ëėėė ė¸ëŦŧ ęˇ¸ëŖšëŗëĄ íė",
"people_sidebar_description": "ėŦė´ëë°ė ė¸ëŦŧ ë§íŦ íė",
"permanent_deletion_warning": "ėęĩŦ ėė ę˛Ŋęŗ ",
"permanent_deletion_warning_setting_description": "íëĒŠė ėęĩŦė ėŧëĄ ėė í기 ė ę˛Ŋęŗ ëŠėė§ íė",
@@ -1363,15 +1368,15 @@
"play": "ėŦė",
"play_memories": "ėļėĩ ėŦė",
"play_motion_photo": "ëǍė
íŦí ėŦė",
- "play_or_pause_video": "ëėė ėŦė, ėŧė ė ė§",
+ "play_or_pause_video": "ëėė ėŦė/ėŧė ė ė§",
"port": "íŦí¸",
- "preferences_settings_subtitle": "Manage the app's preferences",
- "preferences_settings_title": "ė¤ė ",
+ "preferences_settings_subtitle": "ėą ė¤ė ę´ëĻŦ",
+ "preferences_settings_title": "ę°ė¸ ė¤ė ",
"preset": "ėŦė ė¤ė ",
"preview": "미ëĻŦ ëŗ´ę¸°",
"previous": "ė´ė ",
"previous_memory": "ė´ė ėļėĩ",
- "previous_or_next_photo": "ė´ė ëë ë¤ė ė´ë¯¸ė§ëĄ",
+ "previous_or_next_photo": "ė´ė /ë¤ė ėŦė§ėŧëĄ",
"primary": "ėŖŧė",
"privacy": "ę°ė¸ ė ëŗ´",
"profile_drawer_app_logs": "ëĄęˇ¸",
@@ -1432,7 +1437,8 @@
"recent_searches": "ėĩęˇŧ ę˛ė",
"recently_added": "ėĩęˇŧ ėļę°",
"recently_added_page_title": "ėĩęˇŧ ėļę°",
- "recently_taken": "ėĩęˇŧ ė´Ŧėë¨",
+ "recently_taken": "ėĩęˇŧ íëĒŠ",
+ "recently_taken_page_title": "ėĩęˇŧ ė´Ŧėë¨",
"refresh": "ėëĄęŗ ėš¨",
"refresh_encoded_videos": "ëėė ėŦė¸ėŊëŠ",
"refresh_faces": "ėŧęĩ´ ėëĄęŗ ėš¨",
@@ -1476,15 +1482,15 @@
"reset_password": "ëšë°ë˛í¸ ėŦė¤ė ",
"reset_people_visibility": "ė¸ëŦŧ íė ėŦëļ ė´ę¸°í",
"reset_to_default": "ę¸°ëŗ¸ę°ėŧëĄ ëŗĩė",
- "resolve_duplicates": "ëšėˇí íëĒŠ íė¸",
- "resolved_all_duplicates": "ëšėˇí íëĒŠė ëǍë íė¸íėĩëë¤.",
+ "resolve_duplicates": "ė¤ëŗĩë íëĒŠ íė¸",
+ "resolved_all_duplicates": "ė¤ëŗĩë íëĒŠė ëǍë ė˛ëĻŦíėĩëë¤.",
"restore": "ëŗĩė",
"restore_all": "ëǍë ëŗĩė",
"restore_user": "ėŦėŠė ëŗĩė",
"restored_asset": "íëĒŠė´ ëŗĩėëėėĩëë¤.",
"resume": "ėŦę°",
"retry_upload": "ë¤ė ėë",
- "review_duplicates": "ëšėˇí íëĒŠ íė¸",
+ "review_duplicates": "ė¤ëŗĩë íëĒŠ íė¸",
"role": "ėí ",
"role_editor": "í¸ė§ė",
"role_viewer": "롰ė´",
@@ -1503,7 +1509,7 @@
"search_albums": "ė¨ë˛ ę˛ė",
"search_by_context": "ë´ėŠ ę˛ė",
"search_by_description": "ė¤ëĒ
ėŧëĄ ę˛ė",
- "search_by_description_example": "ė¤ė
ė°ėė ėĻ기ë íė´íš",
+ "search_by_description_example": "ëí´ėėė ë§ė´íë ėí´ ėŧėļ",
"search_by_filename": "íėŧëĒ
ëë íėĨėëĄ ę˛ė",
"search_by_filename_example": "ėė: IMG_1234.JPG or PNG",
"search_camera_make": "ėš´ëŠëŧ ė ėĄ°ėŦ ę˛ė...",
@@ -1528,14 +1534,14 @@
"search_no_more_result": "ëė´ė 결ęŗŧ ėė",
"search_no_people": "ė¸ëŦŧė´ ėėĩëë¤.",
"search_no_people_named": "\"{name}\" ė¸ëŦŧė ė°žė ė ėė",
- "search_no_result": "No results found, try a different search term or combination",
+ "search_no_result": "ę˛ė 결ęŗŧę° ėėĩëë¤. ë¤ëĨ¸ ę˛ėė´ë ėĄ°íŠėŧëĄ ë¤ė ėëí´ ëŗ´ė¸ė.",
"search_options": "ę˛ė ėĩė
",
"search_page_categories": "ëļëĨ",
"search_page_motion_photos": "ëǍė
íŦí ",
"search_page_no_objects": "ėŦėŠ ę°ëĨí ėŦëŦŧ ė ëŗ´ ėė",
"search_page_no_places": "ėŦėŠ ę°ëĨí ėėš ė ëŗ´ ėė",
"search_page_screenshots": "ė¤íŦëϰėˇ",
- "search_page_search_photos_videos": "ėŦė§ ë° ëėėė ę˛ėíė¸ė",
+ "search_page_search_photos_videos": "ėŦė§ ë° ëėė ę˛ė",
"search_page_selfies": "ė
íŧ",
"search_page_things": "ėŦëŦŧ",
"search_page_view_all_button": "ëǍë ëŗ´ę¸°",
@@ -1567,6 +1573,7 @@
"select_keep_all": "ëǍë ė ė§",
"select_library_owner": "ëŧė´ë¸ëŦëĻŦ ėė ė ė í",
"select_new_face": "ė ėŧęĩ´ ė í",
+ "select_person_to_tag": "í꡸í ė¸ëŦŧė ė ííė¸ė.",
"select_photos": "ėŦė§ ė í",
"select_trash_all": "ëǍë ėė ",
"select_user_for_sharing_page_err_album": "ė¨ë˛ė ėėąíė§ ëĒģíėĩëë¤.",
@@ -1598,9 +1605,9 @@
"setting_languages_subtitle": "ėą ė¸ė´ ëŗę˛Ŋ",
"setting_languages_title": "ė¸ė´",
"setting_notifications_notify_failures_grace_period": "밹꡸ëŧė´ë ë°ąė
ė¤í¨ ėëĻŧ: {}",
- "setting_notifications_notify_hours": "{}ėę° í",
+ "setting_notifications_notify_hours": "{}ėę°",
"setting_notifications_notify_immediately": "ėĻė",
- "setting_notifications_notify_minutes": "{}ëļ í",
+ "setting_notifications_notify_minutes": "{}ëļ",
"setting_notifications_notify_never": "ėëĻŦė§ ėė",
"setting_notifications_notify_seconds": "{}ė´",
"setting_notifications_single_progress_subtitle": "ę°ëŗ íëĒŠė ėė¸ ė
ëĄë ė ëŗ´ íė",
@@ -1609,7 +1616,7 @@
"setting_notifications_total_progress_subtitle": "ė 랴 ė
ëĄë ė§íëĨ (ėëŖ/ė 랴)",
"setting_notifications_total_progress_title": "밹꡸ëŧė´ë ë°ąė
ė 랴 ė§íëĨ íė",
"setting_video_viewer_looping_title": "ë°ëŗĩ",
- "setting_video_viewer_original_video_subtitle": "When streaming a video from the server, play the original even when a transcode is available. May lead to buffering. Videos available locally are played in original quality regardless of this setting.",
+ "setting_video_viewer_original_video_subtitle": "ėë˛ėė ëėėė ė¤í¸ëĻŦë°í ë, í¸ëė¤ėŊëŠë ë˛ė ė´ ėëëŧë ėëŗ¸ė ėŦėíŠëë¤. ė´ëĄ ė¸í´ ë˛íŧë§ė´ ë°ėí ė ėėĩëë¤. 기기ė ėë ëėėė ė´ ė¤ė ęŗŧ ę´ęŗėė´ íė ėëŗ¸ íė§ëĄ ėŦėëŠëë¤.",
"setting_video_viewer_original_video_title": "ėëŗ¸ ëėė ę°ė ėŦėŠ",
"settings": "ė¤ė ",
"settings_require_restart": "ė¤ė ė ė ėŠíë ¤ëŠ´ ImmichëĨŧ ë¤ė ėėíė¸ė.",
@@ -1668,7 +1675,7 @@
"sharing": "ęŗĩė ",
"sharing_enter_password": "ė´ íė´ė§ëĨŧ ëŗ´ë ¤ëŠ´ ëšë°ë˛í¸ëĨŧ ė
ë Ĩíė¸ė.",
"sharing_page_album": "ęŗĩė ė¨ë˛",
- "sharing_page_description": "ęŗĩė ė¨ë˛ė ë§ë¤ė´ ėŖŧëŗ ėŦëë¤ęŗŧ ėŦė§ ë° ëėėė ęŗĩė íė¸ė.",
+ "sharing_page_description": "ęŗĩė ė¨ë˛ė ë§ë¤ė´ ėŖŧëŗ ėŦëë¤ėę˛ ėŦė§ęŗŧ ëėėė ęŗĩė íė¸ė.",
"sharing_page_empty_list": "ęŗĩė ė¨ë˛ ėė",
"sharing_sidebar_description": "ėŦė´ëë°ė ęŗĩė ë§íŦ íė",
"sharing_silver_appbar_create_shared_album": "ęŗĩė ė¨ë˛ ėėą",
@@ -1715,7 +1722,7 @@
"sort_title": "ė ëĒŠ",
"source": "ėė¤",
"stack": "ė¤í",
- "stack_duplicates": "ëšėˇí íëĒŠ ė¤í",
+ "stack_duplicates": "ė¤ëŗĩë íëĒŠ ė¤í",
"stack_select_one_photo": "ė¤íė ëí ėŦė§ ė í",
"stack_selected_photos": "ė íí ė´ë¯¸ė§ ė¤í",
"stacked_assets_count": "íëĒŠ {count, plural, one {#ę°} other {#ę°}} ė¤íë¨",
@@ -1733,7 +1740,7 @@
"storage_usage": "{available} ė¤ {used} ėŦėŠ",
"submit": "íė¸",
"suggestions": "ėļė˛",
- "sunrise_on_the_beach": "ëí´ėėė ë§ė´íë ėí´ ėŧėļ",
+ "sunrise_on_the_beach": "ė´ë¯¸ė§ė ėĄ´ėŦíë ėŦëŦŧ ę˛ė",
"support": "ė§ė",
"support_and_feedback": "ė§ė & ė ė",
"support_third_party_description": "Immichę° ėëíí° í¨í¤ė§ëĄ ė¤ėš ëėėĩëë¤. ë§íŦëĨŧ ëëŦ ë¨ŧė í¨í¤ė§ ëŦ¸ė ė¸ė§ íė¸í´ ëŗ´ė¸ė.",
@@ -1745,7 +1752,7 @@
"tag": "í꡸",
"tag_assets": "íëĒŠ í꡸",
"tag_created": "í꡸ ėėąë¨: {tag}",
- "tag_feature_description": "ėŦė§ ë° ëėėė ėŖŧė ëŗ ęˇ¸ëŖšíë íęˇ¸ëĄ íė",
+ "tag_feature_description": "í꡸ ėŖŧė ëŗëĄ ęˇ¸ëŖšíë ėŦė§ęŗŧ ëėė íė",
"tag_not_found_question": "í꡸ëĨŧ ė°žė ė ėëė? ė í꡸ëĨŧ ėėąíė¸ė.",
"tag_people": "ė¸ëŦŧ í꡸",
"tag_updated": "í꡸ ė
ë°ė´í¸ë¨: {tag}",
@@ -1755,7 +1762,7 @@
"theme": "í
ë§",
"theme_selection": "í
ë§ ė¤ė ",
"theme_selection_description": "ë¸ëŧė°ė ë° ėė¤í
ę¸°ëŗ¸ ė¤ė ė ë°ëŧ ëŧė´í¸ ëǍëė ë¤íŦ ëǍëëĨŧ ėëėŧëĄ ė¤ė ",
- "theme_setting_asset_list_storage_indicator_title": "íëĒŠė ė¤í ëĻŦė§ ë기í ėŦëļ íė",
+ "theme_setting_asset_list_storage_indicator_title": "íėŧė ėë˛ ë기í ėí íė",
"theme_setting_asset_list_tiles_per_row_title": "í ė¤ė íėí íëĒŠ ė ({})",
"theme_setting_colorful_interface_subtitle": "ë°°ę˛Ŋė ëí ėėė ė ėŠíŠëë¤.",
"theme_setting_colorful_interface_title": "ë¯¸ë ¤í ė¸í°íė´ė¤",
@@ -1781,7 +1788,7 @@
"to_trash": "ėė ",
"toggle_settings": "ė¤ė ëŗę˛Ŋ",
"toggle_theme": "ë¤íŦ ëǍë ėŦėŠ",
- "total": "íŠęŗ",
+ "total": "ė 랴",
"total_usage": "ė´ ėŦėŠë",
"trash": "í´ė§íĩ",
"trash_all": "ëǍë ėė ",
@@ -1890,7 +1897,7 @@
"week": "ėŖŧ",
"welcome": "íėíŠëë¤",
"welcome_to_immich": "íėíŠëë¤",
- "wifi_name": "WiFi Name",
+ "wifi_name": "W-Fi ė´ëĻ",
"year": "ë
",
"years_ago": "{years, plural, one {#ë
} other {#ë
}} ė ",
"yes": "ë¤",
diff --git a/i18n/lt.json b/i18n/lt.json
index 450152bc74..b279d88f08 100644
--- a/i18n/lt.json
+++ b/i18n/lt.json
@@ -182,20 +182,13 @@
"oauth_auto_register": "Automatinis registravimas",
"oauth_auto_register_description": "AutomatiÅĄkai uÅžregistruoti naujus naudotojus po prisijungimo per OAuth",
"oauth_button_text": "Mygtuko tekstas",
- "oauth_client_id": "Kliento ID",
- "oauth_client_secret": "Kliento paslaptis",
"oauth_enable_description": "Prisijungti su OAuth",
- "oauth_issuer_url": "TeikÄjo URL",
"oauth_mobile_redirect_uri": "Mobiliojo peradresavimo URI",
"oauth_mobile_redirect_uri_override": "Mobiliojo peradresavimo URI pakeitimas",
"oauth_mobile_redirect_uri_override_description": "ÄŽjunkite, kai OAuth teikÄjas nepalaiko mobiliojo URI, tokio kaip '{callback}'",
- "oauth_profile_signing_algorithm": "Profilio registracijos algoritmas",
- "oauth_profile_signing_algorithm_description": "Algoritmas naudojamas vartotojo profilio registracijai.",
- "oauth_scope": "Apimtis",
"oauth_settings": "OAuth",
"oauth_settings_description": "Tvarkyti OAuth prisijungimo nustatymus",
"oauth_settings_more_details": "Detaliau apie ÅĄiÄ
funkcijÄ
galite paskaityti dokumentacijoje.",
- "oauth_signing_algorithm": "",
"oauth_storage_label_claim": "",
"oauth_storage_label_claim_description": "",
"oauth_storage_quota_claim": "",
diff --git a/i18n/lv.json b/i18n/lv.json
index c9002b559c..6dfb9cdb67 100644
--- a/i18n/lv.json
+++ b/i18n/lv.json
@@ -150,19 +150,12 @@
"oauth_auto_register": "",
"oauth_auto_register_description": "",
"oauth_button_text": "Pogas teksts",
- "oauth_client_id": "Klienta ID",
- "oauth_client_secret": "Klienta noslÄpums",
"oauth_enable_description": "PieslÄgties ar OAuth",
- "oauth_issuer_url": "",
"oauth_mobile_redirect_uri": "",
"oauth_mobile_redirect_uri_override": "",
"oauth_mobile_redirect_uri_override_description": "",
- "oauth_profile_signing_algorithm": "Profila parakstÄĢÅĄanas algoritms",
- "oauth_profile_signing_algorithm_description": "LietotÄja profila parakstÄĢÅĄanai izmantotais algoritms.",
- "oauth_scope": "",
"oauth_settings": "OAuth",
"oauth_settings_description": "OAuth pieteikÅĄanÄs iestatÄĢjumu pÄrvaldÄĢba",
- "oauth_signing_algorithm": "ParakstÄĢÅĄanas algoritms",
"oauth_storage_label_claim": "",
"oauth_storage_label_claim_description": "",
"oauth_storage_quota_claim": "",
@@ -203,8 +196,9 @@
"theme_custom_css_settings_description": "",
"theme_settings": "",
"theme_settings_description": "Immich tÄĢmekÄŧa saskarnes pielÄgojumu pÄrvaldÄĢba",
+ "thumbnail_generation_job": "SÄĢktÄlu ÄŖenerÄÅĄana",
"thumbnail_generation_job_description": "",
- "transcoding_acceleration_api": "",
+ "transcoding_acceleration_api": "PaÄtrinÄÅĄanas API",
"transcoding_acceleration_api_description": "",
"transcoding_acceleration_nvenc": "NVENC (nepiecieÅĄams NVIDIA GPU)",
"transcoding_acceleration_qsv": "Quick Sync (nepiecieÅĄams 7. paaudzes vai jaunÄks Intel procesors)",
@@ -214,10 +208,11 @@
"transcoding_accepted_audio_codecs_description": "",
"transcoding_accepted_video_codecs": "",
"transcoding_accepted_video_codecs_description": "",
- "transcoding_advanced_options_description": "",
+ "transcoding_advanced_options_description": "LielÄkajai daÄŧai lietotÄju nevajadzÄtu mainÄĢt ÅĄÄĢs opcijas",
"transcoding_audio_codec": "Audio kodeks",
"transcoding_audio_codec_description": "",
"transcoding_bitrate_description": "",
+ "transcoding_codecs_learn_more": "Lai uzzinÄtu vairÄk par ÅĄeit lietoto terminoloÄŖiju, skatiet FFmpeg dokumentÄciju par H.264 kodeku , HEVC kodeku un VP9 kodeku .",
"transcoding_constant_quality_mode": "",
"transcoding_constant_quality_mode_description": "",
"transcoding_constant_rate_factor": "",
diff --git a/i18n/mk.json b/i18n/mk.json
index 658ab9453e..829fceaed3 100644
--- a/i18n/mk.json
+++ b/i18n/mk.json
@@ -71,12 +71,7 @@
"oauth_auto_launch": "ĐвŅĐžĐŧаŅŅĐēĐž СаĐŋĐžŅĐŊŅваŅĐĩ",
"oauth_auto_register": "ĐвŅĐžĐŧаŅŅĐēа ŅĐĩĐŗĐ¸ŅŅŅаŅиŅа",
"oauth_button_text": "ĐĸĐĩĐēŅŅ ĐŊа ĐēĐžĐŋŅĐĩ",
- "oauth_client_id": "ĐĐģиĐĩĐŊŅŅĐēи ID",
- "oauth_client_secret": "ĐĐģиĐĩĐŊŅŅĐēа ŅаŅĐŊа",
- "oauth_issuer_url": "URL ĐŊа иСдаваŅ",
- "oauth_scope": "ĐĐŋŅĐĩĐŗ",
"oauth_settings": "OAuth",
- "oauth_signing_algorithm": "ĐĐģĐŗĐžŅиŅаĐŧ Са ĐŋĐžŅĐŋиŅŅваŅĐĩ",
"offline_paths": "ĐŅĐģаŅĐŊ ĐŋаŅĐĩĐēи",
"password_settings": "ĐаŅава ŅĐž ĐģОСиĐŊĐēа",
"repair_all": "ĐĐžĐŋŅави ĐŗĐ¸ ŅиŅĐĩ",
diff --git a/i18n/ml.json b/i18n/ml.json
new file mode 100644
index 0000000000..0967ef424b
--- /dev/null
+++ b/i18n/ml.json
@@ -0,0 +1 @@
+{}
diff --git a/i18n/mn.json b/i18n/mn.json
index c91a670846..f539c64813 100644
--- a/i18n/mn.json
+++ b/i18n/mn.json
@@ -119,17 +119,12 @@
"oauth_auto_register": "",
"oauth_auto_register_description": "",
"oauth_button_text": "",
- "oauth_client_id": "",
- "oauth_client_secret": "",
"oauth_enable_description": "",
- "oauth_issuer_url": "",
"oauth_mobile_redirect_uri": "",
"oauth_mobile_redirect_uri_override": "",
"oauth_mobile_redirect_uri_override_description": "",
- "oauth_scope": "",
"oauth_settings": "",
"oauth_settings_description": "",
- "oauth_signing_algorithm": "",
"oauth_storage_label_claim": "",
"oauth_storage_label_claim_description": "",
"oauth_storage_quota_claim": "",
diff --git a/i18n/ms.json b/i18n/ms.json
index 5409b0e306..d5af40720d 100644
--- a/i18n/ms.json
+++ b/i18n/ms.json
@@ -22,6 +22,7 @@
"add_photos": "Tambah gambar",
"add_to": "Tambah keâĻ",
"add_to_album": "Tambah ke album",
+ "add_to_album_bottom_sheet_already_exists": "Sudah ada di {album}",
"add_to_shared_album": "Tambah ke album yang dikongsi",
"add_url": "Tambah URL",
"added_to_archive": "Tambah ke arkib",
@@ -185,20 +186,13 @@
"oauth_auto_register": "Daftar secara automatik",
"oauth_auto_register_description": "Daftar secara automatik pengguna-pengguna baharu selepas mendaftar masuk dengan OAuth",
"oauth_button_text": "Teks butang",
- "oauth_client_id": "ID Pelanggan",
- "oauth_client_secret": "Rahsia Pelanggan",
"oauth_enable_description": "Log masuk dengan OAuth",
- "oauth_issuer_url": "URL Pengeluar",
"oauth_mobile_redirect_uri": "URI ubah hala mudah alih",
"oauth_mobile_redirect_uri_override": "Penggantian URI ubah hala mudah alih",
"oauth_mobile_redirect_uri_override_description": "Aktifkan apabila pembekal OAuth tidak membenarkan URI mudah alih, seperti '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritma tandatangan profil",
- "oauth_profile_signing_algorithm_description": "Algoritma digunakan untuk menandatangani profil pengguna.",
- "oauth_scope": "Skop",
"oauth_settings": "OAuth",
"oauth_settings_description": "Urus tetapan-tetapan log masuk OAuth",
"oauth_settings_more_details": "Untuk maklumat lanjut tentang ciri ini, rujuk ke dokumen.",
- "oauth_signing_algorithm": "Tandatangan algoritma",
"oauth_storage_label_claim": "Tuntutan label storan",
"oauth_storage_label_claim_description": "Tetapkan label storan pengguna secara automatik kepada nilai tuntutan ini.",
"oauth_storage_quota_claim": "Tuntutan kuota storan",
diff --git a/i18n/nb_NO.json b/i18n/nb_NO.json
index 0995b81cc5..1291f0dfef 100644
--- a/i18n/nb_NO.json
+++ b/i18n/nb_NO.json
@@ -192,26 +192,21 @@
"oauth_auto_register": "Automatisk registrering",
"oauth_auto_register_description": "Registrer automatisk nye brukere etter innlogging med OAuth",
"oauth_button_text": "Knappetekst",
- "oauth_client_id": "Klient-ID",
- "oauth_client_secret": "Klient hemmelighet",
"oauth_enable_description": "Logg inn med OAuth",
- "oauth_issuer_url": "Utgiverens URL",
"oauth_mobile_redirect_uri": "Mobil omdirigerings-URI",
"oauth_mobile_redirect_uri_override": "Mobil omdirigerings-URI overstyring",
"oauth_mobile_redirect_uri_override_description": "Aktiver nÃĨr OAuth-leverandøren ikke tillater en mobil URI, som '{callback}'",
- "oauth_profile_signing_algorithm": "Profilsigneringsalgoritme",
- "oauth_profile_signing_algorithm_description": "Algoritme brukt for ÃĨ signere brukerprofilen.",
- "oauth_scope": "Omfang",
"oauth_settings": "OAuth",
"oauth_settings_description": "Administrer innstillinger for OAuth-innlogging",
"oauth_settings_more_details": "For mer informasjon om denne funksjonen, se dokumentasjonen.",
- "oauth_signing_algorithm": "Signeringsalgoritme",
"oauth_storage_label_claim": "Lagringsetikettkrav",
"oauth_storage_label_claim_description": "Sett automatisk brukerens lagringsetikett til verdien av dette kravet.",
"oauth_storage_quota_claim": "Lagringskvotekrav",
"oauth_storage_quota_claim_description": "Sett automatisk brukerens lagringskvote til verdien av dette kravet.",
"oauth_storage_quota_default": "Standard lagringskvote (GiB)",
"oauth_storage_quota_default_description": "Kvote i GiB som skal brukes nÃĨr ingen krav er oppgitt (Skriv 0 for ubegrenset kvote).",
+ "oauth_timeout": "Forespørselen tok for lang tid",
+ "oauth_timeout_description": "Tidsavbrudd for forespørsel i millisekunder",
"offline_paths": "Frakoblede filstier",
"offline_paths_description": "Disse resultatene kan skyldes manuell sletting av filer som ikke er en del av et eksternt bibliotek.",
"password_enable_description": "Logg inn med e-post og passord",
@@ -376,7 +371,7 @@
"advanced_settings_log_level_title": "LoggnivÃĨ: {}",
"advanced_settings_prefer_remote_subtitle": "Noen enheter er veldige trege til ÃĨ hente mikrobilder fra enheten. Aktiver denne innstillingen for ÃĨ hente de eksternt istedenfor.",
"advanced_settings_prefer_remote_title": "Foretrekk eksterne bilder",
- "advanced_settings_proxy_headers_subtitle": "Definer proxy headere som Immich skal benytte ved enhver nettverksrequest ",
+ "advanced_settings_proxy_headers_subtitle": "Definer proxy headere som Immich skal benytte ved enhver nettverksrequest",
"advanced_settings_proxy_headers_title": "Proxy headere",
"advanced_settings_self_signed_ssl_subtitle": "Hopper over SSL sertifikatverifikasjon for server-endepunkt. PÃĨkrevet for selvsignerte sertifikater.",
"advanced_settings_self_signed_ssl_title": "Tillat selvsignerte SSL sertifikater",
@@ -469,7 +464,7 @@
"asset_list_settings_title": "Fotorutenett",
"asset_offline": "Fil utilgjengelig",
"asset_offline_description": "Dette elementet er offline. Immich kan ikke aksessere dets lokasjon. Vennlist pÃĨse at elementet er tilgijengelig og skann sÃĨ biblioteket pÃĨ nytt.",
- "asset_restored_successfully": "{} objekt(er) Gjenopprettet",
+ "asset_restored_successfully": "Objekt(er) gjenopprettet",
"asset_skipped": "Hoppet over",
"asset_skipped_in_trash": "I søppelbøtten",
"asset_uploaded": "Lastet opp",
@@ -481,8 +476,8 @@
"assets_added_to_album_count": "Lagt til {count, plural, one {# asset} other {# assets}} i album",
"assets_added_to_name_count": "Lagt til {count, plural, one {# asset} other {# assets}} i {hasName, select, true {{name} } other {new album}}",
"assets_count": "{count, plural, one {# fil} other {# filer}}",
- "assets_deleted_permanently": "{} objekt(er) Slettet permanent",
- "assets_deleted_permanently_from_server": "{} objekt(er) slettet permanent fra Immich serveren",
+ "assets_deleted_permanently": "{} objekt(er) slettet permanent",
+ "assets_deleted_permanently_from_server": "{} objekt(er) slettet permanent fra Immich-serveren",
"assets_moved_to_trash_count": "Flyttet {count, plural, one {# asset} other {# assets}} til søppel",
"assets_permanently_deleted_count": "Permanent slettet {count, plural, one {# asset} other {# assets}}",
"assets_removed_count": "Slettet {count, plural, one {# asset} other {# assets}}",
@@ -508,12 +503,12 @@
"backup_album_selection_page_selection_info": "Valginformasjon",
"backup_album_selection_page_total_assets": "Totalt antall unike objekter",
"backup_all": "Alle",
- "backup_background_service_backup_failed_message": "Sikkerhetskopiering av objekter feilet. Prøver pÃĨ nytt ...",
- "backup_background_service_connection_failed_message": "Tilkobling til server feilet. Prøver pÃĨ nytt ...",
+ "backup_background_service_backup_failed_message": "Sikkerhetskopiering av objekter feilet. Prøver pÃĨ nyttâĻ",
+ "backup_background_service_connection_failed_message": "Tilkobling til server feilet. Prøver pÃĨ nyttâĻ",
"backup_background_service_current_upload_notification": "Laster opp {}",
- "backup_background_service_default_notification": "Ser etter nye objekter ...",
+ "backup_background_service_default_notification": "Ser etter nye objekterâĻ",
"backup_background_service_error_title": "Sikkerhetskopieringsfeil",
- "backup_background_service_in_progress_notification": "Sikkerhetskopierer objekter ...",
+ "backup_background_service_in_progress_notification": "Sikkerhetskopierer objekterâĻ",
"backup_background_service_upload_failure_notification": "Opplasting feilet {}",
"backup_controller_page_albums": "Sikkerhetskopier albumer",
"backup_controller_page_background_app_refresh_disabled_content": "Aktiver bakgrunnsoppdatering i Innstillinger > Generelt > Bakgrunnsoppdatering for ÃĨ bruke sikkerhetskopiering i bakgrunnen.",
@@ -531,7 +526,7 @@
"backup_controller_page_background_is_on": "Automatisk sikkerhetskopiering i bakgrunnen er aktivert",
"backup_controller_page_background_turn_off": "Skru av bakgrunnstjenesten",
"backup_controller_page_background_turn_on": "Skru pÃĨ bakgrunnstjenesten",
- "backup_controller_page_background_wifi": "Kun pÃĨ WiFi",
+ "backup_controller_page_background_wifi": "Kun pÃĨ Wi-Fi",
"backup_controller_page_backup": "Sikkerhetskopier",
"backup_controller_page_backup_selected": "Valgte: ",
"backup_controller_page_backup_sub": "Opplastede bilder og videoer",
@@ -619,7 +614,7 @@
"check_all": "Sjekk alle",
"check_corrupt_asset_backup": "Sjekk etter korrupte backupobjekter",
"check_corrupt_asset_backup_button": "Utfør sjekk",
- "check_corrupt_asset_backup_description": "Kjør denne sjekken kun over Wi-Fi og nÃĨr alle objekter har blitt lastet opp.\nDenne sjekken kan ta noen minutter.",
+ "check_corrupt_asset_backup_description": "Kjør denne sjekken kun over Wi-Fi og nÃĨr alle objekter har blitt lastet opp. Denne sjekken kan ta noen minutter.",
"check_logs": "Sjekk Logger",
"choose_matching_people_to_merge": "Velg personer som skal slÃĨs sammen",
"city": "By",
@@ -634,7 +629,7 @@
"client_cert_import_success_msg": "Klient sertifikat er importert",
"client_cert_invalid_msg": "Ugyldig sertifikat eller feil passord",
"client_cert_remove_msg": "Klient sertifikat er fjernet",
- "client_cert_subtitle": "Støtter kun PKCS12 (.p12, .pfx) formater. Importering/Fjerning av sertifikater er kun mulig før innlogging.",
+ "client_cert_subtitle": "Støtter kun PKCS12 (.p12, .pfx) formater. Importering/Fjerning av sertifikater er kun mulig før innlogging",
"client_cert_title": "SSL Klient sertifikat",
"clockwise": "Med urviseren",
"close": "Lukk",
@@ -664,7 +659,7 @@
"control_bottom_app_bar_delete_from_local": "Slett fra enhet",
"control_bottom_app_bar_edit_location": "Endre lokasjon",
"control_bottom_app_bar_edit_time": "Endre Dato og tid",
- "control_bottom_app_bar_share_link": "Share Link",
+ "control_bottom_app_bar_share_link": "Del Lenke",
"control_bottom_app_bar_share_to": "Del til",
"control_bottom_app_bar_trash_from_immich": "Flytt til søppelkasse",
"copied_image_to_clipboard": "Bildet er kopiert til utklippstavlen.",
@@ -702,13 +697,13 @@
"current_server_address": "NÃĨvÃĻrende serveradresse",
"custom_locale": "Tilpasset lokalisering",
"custom_locale_description": "Formater datoer og tall basert pÃĨ sprÃĨk og region",
- "daily_title_text_date": "E, MMM dd",
- "daily_title_text_date_year": "E, MMM dd, yyyy",
+ "daily_title_text_date": "E MMM. dd",
+ "daily_title_text_date_year": "E MMM. dddd, yyyy",
"dark": "Mørk",
"date_after": "Dato etter",
"date_and_time": "Dato og tid",
"date_before": "Dato før",
- "date_format": "E, LLL d, y âĸ h:mm a",
+ "date_format": "d LLL. E y âĸ hh:mm",
"date_of_birth_saved": "Fødselsdatoen ble lagret vellykket",
"date_range": "DatoomrÃĨde",
"day": "Dag",
@@ -811,7 +806,7 @@
"editor_crop_tool_h2_aspect_ratios": "Sideforhold",
"editor_crop_tool_h2_rotation": "Rotasjon",
"email": "E-postadresse",
- "empty_folder": "This folder is empty",
+ "empty_folder": "Denne mappen er tom",
"empty_trash": "Tøm papirkurv",
"empty_trash_confirmation": "Er du sikker pÃĨ at du vil tømme søppelbøtta? Dette vil slette alle filene i søppelbøtta permanent fra Immich.\nDu kan ikke angre denne handlingen!",
"enable": "Aktivere",
@@ -957,10 +952,10 @@
"exif_bottom_sheet_location": "PLASSERING",
"exif_bottom_sheet_people": "MENNESKER",
"exif_bottom_sheet_person_add_person": "Legg til navn",
- "exif_bottom_sheet_person_age": "Age {}",
- "exif_bottom_sheet_person_age_months": "Age {} months",
- "exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
- "exif_bottom_sheet_person_age_years": "Age {}",
+ "exif_bottom_sheet_person_age": "Alder {}",
+ "exif_bottom_sheet_person_age_months": "Alder {} mÃĨneder",
+ "exif_bottom_sheet_person_age_year_months": "Alder 1 ÃĨr, {} mÃĨneder",
+ "exif_bottom_sheet_person_age_years": "Alder {}",
"exit_slideshow": "Avslutt lysbildefremvisning",
"expand_all": "Utvid alle",
"experimental_settings_new_asset_list_subtitle": "Under utvikling",
@@ -982,7 +977,7 @@
"face_unassigned": "Ikke tilordnet",
"failed": "Feilet",
"failed_to_load_assets": "Feilet med ÃĨ laste fil",
- "failed_to_load_folder": "Failed to load folder",
+ "failed_to_load_folder": "Kunne ikke laste inn mappe",
"favorite": "Favoritt",
"favorite_or_unfavorite_photo": "Merk som favoritt eller fjern som favoritt",
"favorites": "Favoritter",
@@ -999,8 +994,8 @@
"filter_places": "Filtrer steder",
"find_them_fast": "Finn dem raskt ved søking av navn",
"fix_incorrect_match": "Fiks feilaktig match",
- "folder": "Folder",
- "folder_not_found": "Folder not found",
+ "folder": "Mappe",
+ "folder_not_found": "Fant ikke mappe",
"folders": "Mapper",
"folders_feature_description": "Utforsker mappe visning for bilder og videoer pÃĨ fil systemet",
"forward": "Fremover",
@@ -1045,7 +1040,7 @@
"home_page_delete_remote_err_local": "Lokale objekter i fjernslettingsvalgene, hopper over",
"home_page_favorite_err_local": "Kan ikke sette favoritt pÃĨ lokale objekter enda, hopper over",
"home_page_favorite_err_partner": "Kan ikke merke partnerobjekter som favoritt enda, hopper over",
- "home_page_first_time_notice": "Hvis dette er første gangen du benytter appen, velg et album (eller flere) for sikkerhetskopiering, slik at tidslinjen kan fylles med dine bilder og videoer.",
+ "home_page_first_time_notice": "Hvis dette er første gangen du benytter appen, velg et album (eller flere) for sikkerhetskopiering, slik at tidslinjen kan fylles med dine bilder og videoer",
"home_page_share_err_local": "Kan ikke dele lokale objekter via link, hopper over",
"home_page_upload_err_limit": "Maksimalt 30 objekter kan lastes opp om gangen, hopper over",
"host": "Vert",
@@ -1266,7 +1261,7 @@
"note_apply_storage_label_to_previously_uploaded assets": "Merk: For ÃĨ bruke lagringsetiketten pÃĨ tidligere opplastede filer, kjør",
"notes": "Notater",
"notification_permission_dialog_content": "For ÃĨ aktivere notifikasjoner, gÃĨ til Innstillinger og velg tillat.",
- "notification_permission_list_tile_content": "Gi tilgang for ÃĨ aktivere notifikasjoner",
+ "notification_permission_list_tile_content": "Gi tilgang for ÃĨ aktivere notifikasjoner.",
"notification_permission_list_tile_enable_button": "Aktiver notifikasjoner",
"notification_permission_list_tile_title": "Notifikasjonstilgang",
"notification_toggle_setting_description": "Aktiver e-postvarsler",
@@ -1347,7 +1342,7 @@
"permission_onboarding_permission_denied": "Tilgang avvist. For ÃĨ bruke Immich, tillat ÃĨ vise bilde og videoer i Innstillinger.",
"permission_onboarding_permission_granted": "Tilgang gitt! Du er i gang.",
"permission_onboarding_permission_limited": "Begrenset tilgang. For ÃĨ la Immich sikkerhetskopiere og hÃĨndtere galleriet, tillatt bilde- og video-tilgang i Innstillinger.",
- "permission_onboarding_request": "Immich trenger tilgang til ÃĨ se dine bilder og videoer",
+ "permission_onboarding_request": "Immich trenger tilgang til ÃĨ se dine bilder og videoer.",
"person": "Person",
"person_birthdate": "Født den {date}",
"person_hidden": "{name}{hidden, select, true { (skjult)} other {}}",
@@ -1433,7 +1428,7 @@
"recently_added": "Nylig lagt til",
"recently_added_page_title": "Nylig lagt til",
"recently_taken": "Nylig tatt",
- "recently_taken_page_title": "Nylig tatt",
+ "recently_taken_page_title": "Nylig Tatt",
"refresh": "Oppdater",
"refresh_encoded_videos": "Oppdater kodete videoer",
"refresh_faces": "Oppdater ansikter",
@@ -1758,7 +1753,7 @@
"theme_selection_description": "Automatisk sett tema til lys eller mørk basert pÃĨ nettleserens systeminnstilling",
"theme_setting_asset_list_storage_indicator_title": "Vis lagringsindiaktor pÃĨ objekter i fotorutenettet",
"theme_setting_asset_list_tiles_per_row_title": "Antall objekter per rad ({})",
- "theme_setting_colorful_interface_subtitle": "Angi primÃĻrfarge til bakgrunner",
+ "theme_setting_colorful_interface_subtitle": "Angi primÃĻrfarge til bakgrunner.",
"theme_setting_colorful_interface_title": "Fargefullt grensesnitt",
"theme_setting_image_viewer_quality_subtitle": "Juster kvaliteten pÃĨ bilder i detaljvisning",
"theme_setting_image_viewer_quality_title": "Kvalitet pÃĨ bildevisning",
@@ -1891,7 +1886,7 @@
"week": "Uke",
"welcome": "Velkommen",
"welcome_to_immich": "Velkommen til Immich",
- "wifi_name": "Wi-Fi navn",
+ "wifi_name": "Wi-Fi Navn",
"year": "Ã
r",
"years_ago": "{years, plural, one {# ÃĨr} other {# ÃĨr}} siden",
"yes": "Ja",
diff --git a/i18n/nl.json b/i18n/nl.json
index 99fb554d5a..8a8f82cf33 100644
--- a/i18n/nl.json
+++ b/i18n/nl.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Automatisch registreren",
"oauth_auto_register_description": "Nieuwe gebruikers automatisch registreren na inloggen met OAuth",
"oauth_button_text": "Button tekst",
- "oauth_client_id": "Client ID",
- "oauth_client_secret": "Client secret",
"oauth_enable_description": "Inloggen met OAuth",
- "oauth_issuer_url": "Uitgever URL",
"oauth_mobile_redirect_uri": "Omleidings URI voor mobiel",
"oauth_mobile_redirect_uri_override": "Omleidings URI voor mobiele app overschrijven",
"oauth_mobile_redirect_uri_override_description": "Inschakelen wanneer de OAuth-provider geen mobiele URI toestaat, zoals '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritme voor profielondertekening",
- "oauth_profile_signing_algorithm_description": "Algoritme voor het ondertekenen van het gebruikersprofiel.",
- "oauth_scope": "Scope",
"oauth_settings": "OAuth",
"oauth_settings_description": "Beheer OAuth inloginstellingen",
"oauth_settings_more_details": "Raadpleeg de documentatie voor meer informatie over deze functie.",
- "oauth_signing_algorithm": "Signing algoritme",
"oauth_storage_label_claim": "Claim voor opslaglabel",
"oauth_storage_label_claim_description": "Stel het opslaglabel van de gebruiker automatisch in op de waarde van deze claim.",
"oauth_storage_quota_claim": "Claim voor opslaglimiet",
diff --git a/i18n/nn.json b/i18n/nn.json
index 5fd9caa232..cb4fcdfc16 100644
--- a/i18n/nn.json
+++ b/i18n/nn.json
@@ -14,6 +14,7 @@
"add_a_location": "Legg til ein stad",
"add_a_name": "Legg til eit namn",
"add_a_title": "Legg til ein tittel",
+ "add_endpoint": "Legg til endepunkt",
"add_exclusion_pattern": "Legg til unnlatingsmønster",
"add_import_path": "Legg til sti for importering",
"add_location": "Legg til stad",
@@ -23,6 +24,8 @@
"add_photos": "Legg til bilete",
"add_to": "Legg tilâĻ",
"add_to_album": "Legg til album",
+ "add_to_album_bottom_sheet_added": "Lagt til i {album}",
+ "add_to_album_bottom_sheet_already_exists": "Allereie i {album}",
"add_to_shared_album": "Legg til delt album",
"add_url": "Legg til URL",
"added_to_archive": "Lagt til arkiv",
@@ -36,12 +39,13 @@
"authentication_settings_disable_all": "Er du sikker at du ynskjer ÃĨ gjera alle innloggingsmetodar uverksame? Innlogging vil bli heilt uverksam.",
"authentication_settings_reenable": "For ÃĨ aktivere pÃĨ nytt, bruk ein Server Command.",
"background_task_job": "Bakgrunnsjobbar",
- "backup_database": "Sikkerheistkopier database",
- "backup_database_enable_description": "Aktiver sikkerheitskopiering av database",
- "backup_keep_last_amount": "Antal sikkerheitskopiar ÃĨ behalde",
- "backup_settings": "Sikkerheitskopi-innstillingar",
- "backup_settings_description": "Handsam innstillingar for sikkerheitskopiering av database",
+ "backup_database": "Lag tryggingskopi av database",
+ "backup_database_enable_description": "Aktiver tryggingskopiering av database",
+ "backup_keep_last_amount": "Antal tryggingskopiar ÃĨ behalde",
+ "backup_settings": "Tryggingskopi-innstillingar",
+ "backup_settings_description": "Handter innstillingar for tryggingskopiering av database. Merk: Desse jobbane vert ikkje overvaka, og du fÃĨr inga varsling ved feil.",
"check_all": "Sjekk alle",
+ "cleanup": "Opprydding",
"cleared_jobs": "Rydda jobbar for: {job}",
"config_set_by_file": "Oppsettet blir sett av ei oppsettfil",
"confirm_delete_library": "Er du sikker at du vil slette biblioteket {library}?",
diff --git a/i18n/pl.json b/i18n/pl.json
index eb48a69e51..f45865e89d 100644
--- a/i18n/pl.json
+++ b/i18n/pl.json
@@ -39,11 +39,11 @@
"authentication_settings_disable_all": "Czy jesteÅ pewny, Åŧe chcesz wyÅÄ
czyÄ wszystkie metody logowania? Logowanie bÄdzie caÅkowicie wyÅÄ
czone.",
"authentication_settings_reenable": "Aby ponownie wÅÄ
czyÄ, uÅŧyj Polecenia serwera.",
"background_task_job": "Zadania w Tle",
- "backup_database": "Kopia zapasowa bazy danych",
- "backup_database_enable_description": "WÅÄ
cz kopiÄ zapasowÄ
bazy danych",
- "backup_keep_last_amount": "Ile poprzednich kopii zapasowych przechowywaÄ",
- "backup_settings": "Ustawienia kopii zapasowej",
- "backup_settings_description": "ZarzÄ
dzaj ustawieniami kopii zapasowej bazy danych",
+ "backup_database": "UtwÃŗrz Zrzut Bazy Danych",
+ "backup_database_enable_description": "WÅÄ
cz zrzuty bazy danych",
+ "backup_keep_last_amount": "Ile poprzednich zrzutÃŗw przechowywaÄ",
+ "backup_settings": "Ustawienia zrzutu bazy danych",
+ "backup_settings_description": "ZarzÄ
dzanie ustawieniami zrzutu bazy danych. Uwaga: Te zadania nie sÄ
monitorowane i nie otrzymasz powiadomienia o niepowodzeniu.",
"check_all": "Zaznacz Wszystko",
"cleanup": "Czyszczenie",
"cleared_jobs": "UsuniÄto zadania dla: {job}",
@@ -192,26 +192,22 @@
"oauth_auto_register": "Automatyczna rejestracja",
"oauth_auto_register_description": "Automatycznie rejestruj nowych uÅŧytkownikÃŗw po zalogowaniu siÄ za pomocÄ
protokoÅu OAuth",
"oauth_button_text": "Tekst na przycisku",
- "oauth_client_id": "Client ID",
- "oauth_client_secret": "Sekret klienta",
+ "oauth_client_secret_description": "Wymagane jeÅŧeli PKCE (Proof Key for Code Exchange) nie jest wspierane przez dostawcÄ OAuth",
"oauth_enable_description": "Loguj siÄ za pomocÄ
OAuth",
- "oauth_issuer_url": "Adres URL wydawcy",
"oauth_mobile_redirect_uri": "Mobilny adres zwrotny",
"oauth_mobile_redirect_uri_override": "Zapasowy URI przekierowania mobilnego",
"oauth_mobile_redirect_uri_override_description": "WÅÄ
cz, gdy dostawca OAuth nie pozwala na mobilne identyfikatory URI typu '{callback}'",
- "oauth_profile_signing_algorithm": "Algorytm logowania do profilu",
- "oauth_profile_signing_algorithm_description": "Algorytm uÅŧywany podczas logowania do profilu uÅŧytkownika.",
- "oauth_scope": "Zakres",
"oauth_settings": "OAuth",
"oauth_settings_description": "ZarzÄ
dzaj ustawieniami logowania OAuth",
"oauth_settings_more_details": "WiÄcej informacji o tej funkcji znajdziesz w dokumentacji.",
- "oauth_signing_algorithm": "Algorytm podpisywania",
"oauth_storage_label_claim": "Roszczenie dotyczÄ
ce etykiety przechowywania",
"oauth_storage_label_claim_description": "Automatycznie ustaw etykietÄ przechowywania uÅŧytkownika na podanÄ
niÅŧej wartoÅÄ.",
"oauth_storage_quota_claim": "IloÅÄ miejsca w magazynie",
"oauth_storage_quota_claim_description": "Automatycznie ustaw iloÅÄ miejsca w magazynie na podanÄ
niÅŧej wartoÅÄ.",
"oauth_storage_quota_default": "DomyÅlna iloÅÄ miejsca w magazynie (GiB)",
"oauth_storage_quota_default_description": "Limit w GiB do wykorzystania, gdy nie podano Åŧadnej wartoÅci (wpisz 0, aby wyÅÄ
czyÄ limit).",
+ "oauth_timeout": "UpÅynÄ
Å czas ÅŧÄ
dania",
+ "oauth_timeout_description": "Limit czasu ÅŧÄ
dania (w milisekundach)",
"offline_paths": "ÅcieÅŧki Offline",
"offline_paths_description": "Wyniki te mogÄ
wynikaÄ z rÄcznego usuniÄcia plikÃŗw, ktÃŗre nie sÄ
czÄÅciÄ
biblioteki zewnÄtrznej.",
"password_enable_description": "Zaloguj uÅŧywajÄ
c e-mail i hasÅa",
@@ -371,13 +367,17 @@
"admin_password": "HasÅo Administratora",
"administration": "Administracja",
"advanced": "Zaawansowane",
- "advanced_settings_log_level_title": "Poziom dziennika: {}",
+ "advanced_settings_enable_alternate_media_filter_subtitle": "UÅŧyj tej opcji do filtrowania mediÃŗw podczas synchronizacji alternatywnych kryteriÃŗw. UÅŧywaj tylko wtedy gdy aplikacja ma problemy z wykrywaniem wszystkich albumÃŗw.",
+ "advanced_settings_enable_alternate_media_filter_title": "[EKSPERYMENTALNE] UÅŧyj alternatywnego filtra synchronizacji albumu",
+ "advanced_settings_log_level_title": "Poziom szczegÃŗÅowoÅci dziennika: {name}",
"advanced_settings_prefer_remote_subtitle": "NiektÃŗre urzÄ
dzenia bardzo wolno ÅadujÄ
miniatury z zasobÃŗw na urzÄ
dzeniu. Aktywuj to ustawienie, aby ÅadowaÄ zdalne obrazy.",
"advanced_settings_prefer_remote_title": "Preferuj obrazy zdalne",
"advanced_settings_proxy_headers_subtitle": "Zdefiniuj nagÅÃŗwki proxy, ktÃŗre Immich powinien wysyÅaÄ z kaÅŧdym ÅŧÄ
daniem sieciowym",
"advanced_settings_proxy_headers_title": "NagÅÃŗwki proxy",
"advanced_settings_self_signed_ssl_subtitle": "Pomija weryfikacjÄ certyfikatu SSL dla punktu koÅcowego serwera. Wymagane w przypadku certyfikatÃŗw z podpisem wÅasnym.",
"advanced_settings_self_signed_ssl_title": "Zezwalaj na certyfikaty SSL z podpisem wÅasnym",
+ "advanced_settings_sync_remote_deletions_subtitle": "Automatycznie usuÅ lub przywrÃŗÄ zasÃŗb na tym urzÄ
dzeniu po wykonaniu tej czynnoÅci w interfejsie webowym",
+ "advanced_settings_sync_remote_deletions_title": "Synchronizuj zdalne usuniÄcia [EKSPERYMENTALNE]",
"advanced_settings_tile_subtitle": "Zaawansowane ustawienia uÅŧytkownika",
"advanced_settings_troubleshooting_subtitle": "WÅÄ
cz dodatkowe funkcje rozwiÄ
zywania problemÃŗw",
"advanced_settings_troubleshooting_title": "RozwiÄ
zywanie problemÃŗw",
@@ -400,9 +400,9 @@
"album_remove_user_confirmation": "Na pewno chcesz usunÄ
Ä {user}?",
"album_share_no_users": "WyglÄ
da na to, Åŧe ten album albo udostÄpniono wszystkim uÅŧytkownikom, albo nie ma komu go udostÄpniÄ.",
"album_thumbnail_card_item": "1 pozycja",
- "album_thumbnail_card_items": "{} pozycje",
- "album_thumbnail_card_shared": "UdostÄpniony",
- "album_thumbnail_shared_by": "UdostÄpnione przez {}",
+ "album_thumbnail_card_items": "{album_thumbnail_card_items} pozycje",
+ "album_thumbnail_card_shared": " ¡ UdostÄpniony",
+ "album_thumbnail_shared_by": "UdostÄpnione przez {album_thumbnail_shared_by}",
"album_updated": "Album zaktualizowany",
"album_updated_setting_description": "Otrzymaj powiadomienie e-mail, gdy do udostÄpnionego Ci albumu zostanÄ
dodane nowe zasoby",
"album_user_left": "Opuszczono {album}",
@@ -440,7 +440,7 @@
"archive": "Archiwum",
"archive_or_unarchive_photo": "Dodaj lub usuÅ zasÃŗb z archiwum",
"archive_page_no_archived_assets": "Nie znaleziono zarchiwizowanych zasobÃŗw",
- "archive_page_title": "Archiwum ({})",
+ "archive_page_title": "Archiwum ({archive_page_title})",
"archive_size": "Rozmiar archiwum",
"archive_size_description": "Podziel pobierane pliki na wiÄcej niÅŧ jedno archiwum, jeÅŧeli rozmiar archiwum przekroczy tÄ wartoÅÄ w GiB",
"archived": "Zarchiwizowane",
@@ -473,22 +473,22 @@
"asset_viewer_settings_subtitle": "ZarzÄ
dzaj ustawieniami przeglÄ
darki galerii",
"asset_viewer_settings_title": "PrzeglÄ
darka zasobÃŗw",
"assets": "Zasoby",
- "assets_added_count": "Dodano {count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}}",
- "assets_added_to_album_count": "Dodano {count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}} do albumu",
- "assets_added_to_name_count": "Dodano {count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}} do {hasName, select, true {{name} } other {new album}}",
- "assets_count": "{count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}}",
- "assets_deleted_permanently": "{} zasoby trwale usuniÄto",
- "assets_deleted_permanently_from_server": "{} zasoby zostaÅy trwale usuniÄte z serwera Immich",
- "assets_moved_to_trash_count": "Przeniesiono {count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}} do kosza",
- "assets_permanently_deleted_count": "Trwale usuniÄto {count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}}",
- "assets_removed_count": "UsuniÄto {count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}}",
- "assets_removed_permanently_from_device": "{} zasoby zostaÅy trwale usuniÄte z Twojego urzÄ
dzenia",
+ "assets_added_count": "Dodano {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}}",
+ "assets_added_to_album_count": "Dodano {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}} do albumu",
+ "assets_added_to_name_count": "Dodano {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}} do {hasName, select, true {{name} } other {new album}}",
+ "assets_count": "{count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}}",
+ "assets_deleted_permanently": "{count, plural, one {# zasÃŗb zostaÅ trwale usuniÄty} few {# zasoby zostaÅy trwale usuniÄte} other {# zasobÃŗw zostaÅo trwale usuniÄtych}}",
+ "assets_deleted_permanently_from_server": "{count, plural, one {# zasÃŗb zostaÅ trwale usuniÄty} few {# zasoby zostaÅy trwale usuniÄte} other {# zasobÃŗw zostaÅo trwale usuniÄtych}} z serwera Immich",
+ "assets_moved_to_trash_count": "Przeniesiono {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}} do kosza",
+ "assets_permanently_deleted_count": "Trwale usuniÄto {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}}",
+ "assets_removed_count": "UsuniÄto {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}}",
+ "assets_removed_permanently_from_device": "{count, plural, one {# zasÃŗb zostaÅ trwale usuniÄty} few {# zasoby zostaÅy trwale usuniÄte} other {# zasobÃŗw zostaÅo trwale usuniÄtych}} z Twojego urzÄ
dzenia",
"assets_restore_confirmation": "Na pewno chcesz przywrÃŗciÄ wszystkie zasoby z kosza? Nie da siÄ tego cofnÄ
Ä! NaleÅŧy pamiÄtaÄ, Åŧe w ten sposÃŗb nie moÅŧna przywrÃŗciÄ zasobÃŗw offline.",
- "assets_restored_count": "PrzywrÃŗcono {count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}}",
- "assets_restored_successfully": "{} zasoby pomyÅlnie przywrÃŗcono",
- "assets_trashed": "{} zasoby zostaÅy usuniÄte",
- "assets_trashed_count": "Wrzucono do kosza {count, plural, one {# zasÃŗb} few {# zasoby} many {# zasobÃŗw} other {# zasobÃŗw}}",
- "assets_trashed_from_server": "{} zasoby usuniÄte z serwera Immich",
+ "assets_restored_count": "PrzywrÃŗcono {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}}",
+ "assets_restored_successfully": "{count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}} pomyÅlnie przywrÃŗcono",
+ "assets_trashed": "{count, plural, one {# zasÃŗb zostaÅ wrzucony} few {# zasoby zostaÅy wrzucone} other {# zasobÃŗw zostaÅo wrzucone}} do kosza",
+ "assets_trashed_count": "Wrzucono do kosza {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}}",
+ "assets_trashed_from_server": "{count, plural, one {# zasÃŗb usuniÄty} few {# zasoby usuniÄte} other {# zasobÃŗw usuniÄtych}} z serwera Immich",
"assets_were_part_of_album_count": "{count, plural, one {ZasÃŗb byÅ} few {Zasoby byÅy} many {ZasobÃŗw byÅo} other {ZasobÃŗw byÅo}} juÅŧ czÄÅciÄ
albumu",
"authorized_devices": "UpowaÅŧnione UrzÄ
dzenia",
"automatic_endpoint_switching_subtitle": "PoÅÄ
cz siÄ lokalnie przez wyznaczonÄ
sieÄ Wi-Fi, jeÅli jest dostÄpna, i korzystaj z alternatywnych poÅÄ
czeÅ gdzie indziej",
@@ -497,21 +497,21 @@
"back_close_deselect": "WrÃŗÄ, zamknij lub odznacz",
"background_location_permission": "Uprawnienia do lokalizacji w tle",
"background_location_permission_content": "Aby mÃŗc przeÅÄ
czaÄ sieÄ podczas pracy w tle, Immich musi *zawsze* mieÄ dostÄp do dokÅadnej lokalizacji, aby aplikacja mogÅa odczytaÄ nazwÄ sieci Wi-Fi",
- "backup_album_selection_page_albums_device": "Albumy na urzÄ
dzeniu ({})",
+ "backup_album_selection_page_albums_device": "Albumy na urzÄ
dzeniu ({number})",
"backup_album_selection_page_albums_tap": "Stuknij, aby wÅÄ
czyÄ, stuknij dwukrotnie, aby wykluczyÄ",
"backup_album_selection_page_assets_scatter": "Pliki mogÄ
byÄ rozproszone w wielu albumach. DziÄki temu albumy mogÄ
byÄ wÅÄ
czane lub wyÅÄ
czane podczas procesu tworzenia kopii zapasowej.",
"backup_album_selection_page_select_albums": "Zaznacz albumy",
"backup_album_selection_page_selection_info": "Info o wyborze",
"backup_album_selection_page_total_assets": "ÅÄ
cznie unikalnych plikÃŗw",
"backup_all": "Wszystkie",
- "backup_background_service_backup_failed_message": "Nie udaÅo siÄ wykonaÄ kopii zapasowej zasobÃŗw. PrÃŗbujÄ ponownie...",
- "backup_background_service_connection_failed_message": "Nie udaÅo siÄ poÅÄ
czyÄ z serwerem. PrÃŗbujÄ ponownie...",
- "backup_background_service_current_upload_notification": "WysyÅanie {}",
- "backup_background_service_default_notification": "Sprawdzanie nowych zasobÃŗw...",
+ "backup_background_service_backup_failed_message": "Nie udaÅo siÄ wykonaÄ kopii zapasowej zasobÃŗw. Ponowna prÃŗbaâĻ",
+ "backup_background_service_connection_failed_message": "Nie udaÅo siÄ poÅÄ
czyÄ z serwerem. Ponowna prÃŗbaâĻ",
+ "backup_background_service_current_upload_notification": "WysyÅanie {backup_background_service_current_upload_notification}",
+ "backup_background_service_default_notification": "Sprawdzanie nowych zasobÃŗwâĻ",
"backup_background_service_error_title": "BÅÄ
d kopii zapasowej",
- "backup_background_service_in_progress_notification": "TworzÄ kopiÄ twoich zasobÃŗw...",
- "backup_background_service_upload_failure_notification": "Nie udaÅo siÄ przesÅaÄ {}",
- "backup_controller_page_albums": "Backup AlbumÃŗw",
+ "backup_background_service_in_progress_notification": "Tworzenie kopii zapasowej twoich zasobÃŗwâĻ",
+ "backup_background_service_upload_failure_notification": "BÅÄ
d przesyÅania {backup_background_service_upload_failure_notification}",
+ "backup_controller_page_albums": "Kopia Zapasowa albumÃŗw",
"backup_controller_page_background_app_refresh_disabled_content": "WÅÄ
cz odÅwieÅŧanie aplikacji w tle w Ustawienia > OgÃŗlne > OdÅwieÅŧanie aplikacji w tle, aby mÃŗc korzystaÄ z kopii zapasowej w tle.",
"backup_controller_page_background_app_refresh_disabled_title": "OdÅwieÅŧanie aplikacji w tle wyÅÄ
czone",
"backup_controller_page_background_app_refresh_enable_button_text": "PrzejdÅē do ustawieÅ",
@@ -521,21 +521,21 @@
"backup_controller_page_background_battery_info_title": "Optymalizacja Baterii",
"backup_controller_page_background_charging": "Tylko podczas Åadowania",
"backup_controller_page_background_configure_error": "Nie udaÅo siÄ skonfigurowaÄ usÅugi w tle",
- "backup_controller_page_background_delay": "OpÃŗÅēnij tworzenie kopii zapasowych nowych zasobÃŗw: {}",
+ "backup_controller_page_background_delay": "OpÃŗÅēnienie tworzenia kopii zapasowych nowych zasobÃŗw: {backup_controller_page_background_delay}",
"backup_controller_page_background_description": "WÅÄ
cz usÅugÄ w tle, aby automatycznie tworzyÄ kopie zapasowe wszelkich nowych zasobÃŗw bez koniecznoÅci otwierania aplikacji",
"backup_controller_page_background_is_off": "Automatyczna kopia zapasowa w tle jest wyÅÄ
czona",
"backup_controller_page_background_is_on": "Automatyczna kopia zapasowa w tle jest wÅÄ
czona",
"backup_controller_page_background_turn_off": "WyÅÄ
cz usÅugÄ w tle",
"backup_controller_page_background_turn_on": "WÅÄ
cz usÅugÄ w tle",
- "backup_controller_page_background_wifi": "Tylko na WiFi",
+ "backup_controller_page_background_wifi": "Tylko Wi-Fi",
"backup_controller_page_backup": "Kopia Zapasowa",
"backup_controller_page_backup_selected": "Zaznaczone: ",
"backup_controller_page_backup_sub": "Tworzenie kopii zapasowych zdjÄÄ i filmÃŗw",
- "backup_controller_page_created": "Utworzony na: {}",
+ "backup_controller_page_created": "Utworzono dnia: {backup_controller_page_created}",
"backup_controller_page_desc_backup": "WÅÄ
cz kopiÄ zapasowÄ
, aby automatycznie przesyÅaÄ nowe zasoby na serwer.",
"backup_controller_page_excluded": "Wykluczone: ",
- "backup_controller_page_failed": "Nieudane ({})",
- "backup_controller_page_filename": "Nazwa pliku: {} [{}]",
+ "backup_controller_page_failed": "Nieudane ({backup_controller_page_failed})",
+ "backup_controller_page_filename": "Nazwa pliku: {backup_controller_page_filename} [{backup_controller_page_filename}]",
"backup_controller_page_id": "ID: {}",
"backup_controller_page_info": "Informacje o kopii zapasowej",
"backup_controller_page_none_selected": "Brak wybranych",
@@ -545,13 +545,13 @@
"backup_controller_page_start_backup": "Rozpocznij KopiÄ ZapasowÄ
",
"backup_controller_page_status_off": "Kopia Zapasowa jest wyÅaczona",
"backup_controller_page_status_on": "Kopia Zapasowa jest wÅÄ
czona",
- "backup_controller_page_storage_format": "{} z {} wykorzystanych",
- "backup_controller_page_to_backup": "Albumy do backupu",
+ "backup_controller_page_storage_format": "{used} z {available} wykorzystanych",
+ "backup_controller_page_to_backup": "Albumy z KopiÄ
ZapasowÄ
",
"backup_controller_page_total_sub": "Wszystkie unikalne zdjÄcia i filmy z wybranych albumÃŗw",
"backup_controller_page_turn_off": "WyÅÄ
cz KopiÄ ZapasowÄ
",
"backup_controller_page_turn_on": "WÅÄ
cz KopiÄ ZapasowÄ
",
"backup_controller_page_uploading_file_info": "PrzesyÅanie informacji o pliku",
- "backup_err_only_album": "Nie moÅŧna usunÄ
Ä tylko i wyÅÄ
cznie albumu",
+ "backup_err_only_album": "Nie moÅŧna usunÄ
Ä jedynego albumu",
"backup_info_card_assets": "zasoby",
"backup_manual_cancelled": "Anulowano",
"backup_manual_in_progress": "PrzesyÅanie juÅŧ trwa. SprÃŗbuj po pewnym czasie",
@@ -566,17 +566,17 @@
"bugs_and_feature_requests": "BÅÄdy i proÅby o funkcje",
"build": "Kompilacja",
"build_image": "Obraz Buildu",
- "bulk_delete_duplicates_confirmation": "Czy na pewno chcesz trwale usunÄ
Ä {count, plural, one {# zduplikowany zasÃŗb} few {# zduplikowane zasoby} many {# zduplikowanych zasobÃŗw} other {# zduplikowanych zasobÃŗw}}? Zostanie zachowany najwiÄkszy zasÃŗb z kaÅŧdej grupy, a wszystkie pozostaÅe duplikaty zostanÄ
trwale usuniÄte. Nie moÅŧna cofnÄ
Ä tej operacji!",
- "bulk_keep_duplicates_confirmation": "Czy na pewno chcesz zachowaÄ {count, plural, one {# zduplikowany zasÃŗb} few {# zduplikowane zasoby} many {# zduplikowanych zasobÃŗw} other {# zduplikowanych zasobÃŗw}}? To spowoduje rozwiÄ
zanie wszystkich grup duplikatÃŗw bez usuwania czegokolwiek.",
- "bulk_trash_duplicates_confirmation": "Czy na pewno chcesz wrzuciÄ do kosza {count, plural, one {# zduplikowany zasÃŗb} few {# zduplikowane zasoby} many {# zduplikowanych zasobÃŗw} other {# zduplikowanych zasobÃŗw}}? Zostanie zachowany najwiÄkszy zasÃŗb z kaÅŧdej grupy, a wszystkie pozostaÅe duplikaty zostanÄ
wrzucone do kosza.",
+ "bulk_delete_duplicates_confirmation": "Czy na pewno chcesz trwale usunÄ
Ä {count, plural, one {# zduplikowany zasÃŗb} few {# zduplikowane zasoby} other {# zduplikowanych zasobÃŗw}}? Zostanie zachowany najwiÄkszy zasÃŗb z kaÅŧdej grupy, a wszystkie pozostaÅe duplikaty zostanÄ
trwale usuniÄte. Nie moÅŧna cofnÄ
Ä tej operacji!",
+ "bulk_keep_duplicates_confirmation": "Czy na pewno chcesz zachowaÄ {count, plural, one {# zduplikowany zasÃŗb} few {# zduplikowane zasoby} other {# zduplikowanych zasobÃŗw}}? To spowoduje rozwiÄ
zanie wszystkich grup duplikatÃŗw bez usuwania czegokolwiek.",
+ "bulk_trash_duplicates_confirmation": "Czy na pewno chcesz wrzuciÄ do kosza {count, plural, one {# zduplikowany zasÃŗb} few {# zduplikowane zasoby} other {# zduplikowanych zasobÃŗw}}? Zostanie zachowany najwiÄkszy zasÃŗb z kaÅŧdej grupy, a wszystkie pozostaÅe duplikaty zostanÄ
wrzucone do kosza.",
"buy": "Kup Immich",
- "cache_settings_album_thumbnails": "Miniatury stron bibliotek ({} zasobÃŗw)",
+ "cache_settings_album_thumbnails": "Miniatury na stronie biblioteki ({count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}})",
"cache_settings_clear_cache_button": "WyczyÅÄ Cache",
"cache_settings_clear_cache_button_title": "CzyÅci pamiÄÄ podrÄcznÄ
aplikacji. WpÅynie to znaczÄ
co na wydajnoÅÄ aplikacji, dopÃŗki pamiÄÄ podrÄczna nie zostanie odbudowana.",
"cache_settings_duplicated_assets_clear_button": "WYCZYÅÄ",
"cache_settings_duplicated_assets_subtitle": "ZdjÄcia i filmy umieszczone na czarnej liÅcie aplikacji",
- "cache_settings_duplicated_assets_title": "Zduplikowane zasoby ({})",
- "cache_settings_image_cache_size": "Rozmiar pamiÄci podrÄcznej obrazÃŗw ({} zasobÃŗw)",
+ "cache_settings_duplicated_assets_title": "Zduplikowane zasoby ({number})",
+ "cache_settings_image_cache_size": "Rozmiar pamiÄci podrÄcznej obrazÃŗw ({count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}})",
"cache_settings_statistics_album": "Biblioteka miniatur",
"cache_settings_statistics_assets": "{} zasoby ({})",
"cache_settings_statistics_full": "PeÅne ZdjÄcia",
@@ -584,7 +584,7 @@
"cache_settings_statistics_thumbnail": "Miniatury",
"cache_settings_statistics_title": "UÅŧycie Cache",
"cache_settings_subtitle": "Kontrolowanie zachowania buforowania aplikacji mobilnej Immich",
- "cache_settings_thumbnail_size": "Rozmiar pamiÄci podrÄcznej miniatur ({} zasobÃŗw)",
+ "cache_settings_thumbnail_size": "Rozmiar pamiÄci podrÄcznej miniatur ({count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}})",
"cache_settings_tile_subtitle": "Kontroluj zachowanie lokalnego magazynu",
"cache_settings_tile_title": "Lokalny magazyn",
"cache_settings_title": "Ustawienia Buforowania",
@@ -654,13 +654,13 @@
"contain": "Zawiera",
"context": "Kontekst",
"continue": "Kontynuuj",
- "control_bottom_app_bar_album_info_shared": "{} pozycji ¡ UdostÄpnionych",
+ "control_bottom_app_bar_album_info_shared": "{count, plural, one {# element ¡ UdostÄpniony} few {# elementy ¡ UdostÄpnione} other {# elementÃŗw ¡ UdostÄpnionych}}",
"control_bottom_app_bar_create_new_album": "UtwÃŗrz nowy album",
"control_bottom_app_bar_delete_from_immich": "UsuÅ z Immicha",
"control_bottom_app_bar_delete_from_local": "UsuÅ z urzÄ
dzenia",
"control_bottom_app_bar_edit_location": "Edytuj lokalizacjÄ",
"control_bottom_app_bar_edit_time": "Edytuj datÄ i godzinÄ",
- "control_bottom_app_bar_share_link": "Share Link",
+ "control_bottom_app_bar_share_link": "UdostÄpnij link",
"control_bottom_app_bar_share_to": "WyÅlij",
"control_bottom_app_bar_trash_from_immich": "PrzenieÅÄ do kosza",
"copied_image_to_clipboard": "Skopiowano obraz do schowka.",
@@ -698,13 +698,13 @@
"current_server_address": "Aktualny adres serwera",
"custom_locale": "Niestandardowy Region",
"custom_locale_description": "Formatuj daty i liczby na podstawie jÄzyka i regionu",
- "daily_title_text_date": "E, MMM dd",
- "daily_title_text_date_year": "E, MMM dd, yyyy",
+ "daily_title_text_date": "E, dd MMM",
+ "daily_title_text_date_year": "E, dd MMM, yyyy",
"dark": "Ciemny",
"date_after": "Data po",
"date_and_time": "Data i godzina",
"date_before": "Data przed",
- "date_format": "E, LLL d, y âĸ h:mm a",
+ "date_format": "E d. LLL y âĸ hh:mm",
"date_of_birth_saved": "Data urodzenia zapisana pomyÅlnie",
"date_range": "Zakres dat",
"day": "DzieÅ",
@@ -807,14 +807,14 @@
"editor_crop_tool_h2_aspect_ratios": "Proporcje obrazu",
"editor_crop_tool_h2_rotation": "ObrÃŗt",
"email": "E-mail",
- "empty_folder": "This folder is empty",
+ "empty_folder": "Ten folder jest pusty",
"empty_trash": "OprÃŗÅŧnij kosz",
"empty_trash_confirmation": "Czy na pewno chcesz oprÃŗÅŧniÄ kosz? Spowoduje to trwaÅe usuniÄcie wszystkich zasobÃŗw znajdujÄ
cych siÄ w koszu z Immich.\nNie moÅŧna cofnÄ
Ä tej operacji!",
"enable": "WÅÄ
cz",
"enabled": "WÅÄ
czone",
"end_date": "Do dnia",
"enqueued": "Kolejka",
- "enter_wifi_name": "WprowadÅē nazwÄ Wi-Fi",
+ "enter_wifi_name": "WprowadÅē nazwÄ punktu dostÄpu Wi-Fi",
"error": "BÅÄ
d",
"error_change_sort_album": "Nie udaÅo siÄ zmieniÄ kolejnoÅci sortowania albumÃŗw",
"error_delete_face": "WystÄ
piÅ bÅÄ
d podczas usuwania twarzy z zasobÃŗw",
@@ -849,10 +849,12 @@
"failed_to_keep_this_delete_others": "Nie udaÅo siÄ zachowaÄ tego zasobu i usunÄ
Ä innych zasobÃŗw",
"failed_to_load_asset": "Nie udaÅo siÄ zaÅadowaÄ zasobu",
"failed_to_load_assets": "Nie udaÅo siÄ zaÅadowaÄ zasobÃŗw",
+ "failed_to_load_notifications": "BÅÄ
d Åadowania powiadomieÅ",
"failed_to_load_people": "BÅÄ
d pobierania ludzi",
"failed_to_remove_product_key": "Nie udaÅo siÄ usunÄ
Ä klucza produktu",
"failed_to_stack_assets": "Nie udaÅo siÄ zestawiÄ zasobÃŗw",
"failed_to_unstack_assets": "Nie udaÅo siÄ rozdzieliÄ zasobÃŗw",
+ "failed_to_update_notification_status": "BÅÄ
d aktualizacji statusu powiadomienia",
"import_path_already_exists": "Ta ÅcieÅŧka importu juÅŧ istnieje.",
"incorrect_email_or_password": "NieprawidÅowy e-mail lub hasÅo",
"paths_validation_failed": "{paths, plural, one {# ÅcieÅŧka} few {# ÅcieÅŧki} other {# ÅcieÅŧek}}",
@@ -953,10 +955,10 @@
"exif_bottom_sheet_location": "LOKALIZACJA",
"exif_bottom_sheet_people": "LUDZIE",
"exif_bottom_sheet_person_add_person": "Dodaj nazwÄ",
- "exif_bottom_sheet_person_age": "Age {}",
- "exif_bottom_sheet_person_age_months": "Age {} months",
- "exif_bottom_sheet_person_age_year_months": "Age 1 year, {} months",
- "exif_bottom_sheet_person_age_years": "Age {}",
+ "exif_bottom_sheet_person_age": "Wiek {count, plural, one {# rok} few {# lata} other {# lat}}",
+ "exif_bottom_sheet_person_age_months": "Wiek {months, plural, one {# miesiÄ
c} few {# miesiÄ
ce} other {# miesiÄcy}}",
+ "exif_bottom_sheet_person_age_year_months": "Wiek 1 rok, {months, plural, one {# miesiÄ
c} few {# miesiÄ
ce} other {# miesiÄcy}}",
+ "exif_bottom_sheet_person_age_years": "Wiek {years, plural, one {# rok} few {# lata} other {# lat}}",
"exit_slideshow": "Zamknij Pokaz SlajdÃŗw",
"expand_all": "RozwiÅ wszystko",
"experimental_settings_new_asset_list_subtitle": "Praca w toku",
@@ -974,16 +976,16 @@
"external": "ZewnÄtrzny",
"external_libraries": "Biblioteki ZewnÄtrzne",
"external_network": "SieÄ zewnÄtrzna",
- "external_network_sheet_info": "JeÅli nie korzystasz z preferowanej sieci Wi-Fi, aplikacja poÅÄ
czy siÄ z serwerem za poÅrednictwem pierwszego z poniÅŧszych adresÃŗw URL, do ktÃŗrego moÅŧe dotrzeÄ, zaczynajÄ
c od gÃŗry do doÅu",
+ "external_network_sheet_info": "JeÅli nie korzystasz z preferowanej sieci Wi-Fi aplikacja poÅÄ
czy siÄ z serwerem za poÅrednictwem pierwszego z dostÄpnych poniÅŧej adresÃŗw URL, zaczynajÄ
c od gÃŗry do doÅu",
"face_unassigned": "Nieprzypisany",
"failed": "Niepowodzenie",
"failed_to_load_assets": "Nie udaÅo siÄ zaÅadowaÄ zasobÃŗw",
- "failed_to_load_folder": "Failed to load folder",
+ "failed_to_load_folder": "Nie udaÅo siÄ zaÅadowaÄ folderu",
"favorite": "Ulubione",
"favorite_or_unfavorite_photo": "Dodaj lub usuÅ z ulubionych",
"favorites": "Ulubione",
"favorites_page_no_favorites": "Nie znaleziono ulubionych zasobÃŗw",
- "feature_photo_updated": "PomyÅlnie zmieniono gÅÃŗwne zdjÄcie",
+ "feature_photo_updated": "ZdjÄcie gÅÃŗwne zaktualizowane pomyÅlnie",
"features": "Funkcje",
"features_setting_description": "ZarzÄ
dzaj funkcjami aplikacji",
"file_name": "Nazwa pliku",
@@ -992,10 +994,11 @@
"filetype": "Typ pliku",
"filter": "Filtr",
"filter_people": "Szukaj osoby",
+ "filter_places": "Filtruj miejsca",
"find_them_fast": "Wyszukuj szybciej przypisujÄ
c nazwÄ",
"fix_incorrect_match": "Napraw nieprawidÅowe dopasowanie",
"folder": "Folder",
- "folder_not_found": "Folder not found",
+ "folder_not_found": "Nie znaleziono folderu",
"folders": "Foldery",
"folders_feature_description": "PrzeglÄ
danie zdjÄÄ i filmÃŗw w widoku folderÃŗw",
"forward": "Do przodu",
@@ -1037,15 +1040,15 @@
"home_page_archive_err_partner": "Nie moÅŧna zarchiwizowaÄ zasobÃŗw partnera, pomijam",
"home_page_building_timeline": "Budowanie osi czasu",
"home_page_delete_err_partner": "Nie moÅŧna usunÄ
Ä zasobÃŗw partnera, pomijam",
- "home_page_delete_remote_err_local": "Local assets in delete remote selection, skipping",
- "home_page_favorite_err_local": "Nie moÅŧna dodaÄ do ulubionych lokalnych zasobÃŗw, pomijam",
+ "home_page_delete_remote_err_local": "Lokalne zasoby w wyborze do zdalnego usuniÄcia, pomijam",
+ "home_page_favorite_err_local": "Nie moÅŧna jeszcze dodaÄ do ulubionych lokalnych zasobÃŗw, pomijam",
"home_page_favorite_err_partner": "Nie moÅŧna jeszcze dodaÄ do ulubionych zasobÃŗw partnera, pomijam",
- "home_page_first_time_notice": "JeÅli korzystasz z aplikacji po raz pierwszy, pamiÄtaj o wybraniu albumÃŗw zapasowych, aby oÅ czasu mogÅa zapeÅniÄ zdjÄcia i filmy w albumach.",
+ "home_page_first_time_notice": "JeÅli korzystasz z aplikacji po raz pierwszy, pamiÄtaj o wybraniu albumÃŗw do kopii zapasowej, aby oÅ czasu mogÅa wypeÅniÄ siÄ zdjÄciami i filmami",
"home_page_share_err_local": "Nie moÅŧna udostÄpniaÄ zasobÃŗw lokalnych za poÅrednictwem linku, pomijajam",
"home_page_upload_err_limit": "MoÅŧna przesÅaÄ maksymalnie 30 zasobÃŗw jednoczeÅnie, pomijanie",
"host": "Host",
"hour": "Godzina",
- "ignore_icloud_photos": "Ignoruj ââzdjÄcia w iCloud",
+ "ignore_icloud_photos": "Ignoruj zdjÄcia w iCloud",
"ignore_icloud_photos_description": "ZdjÄcia przechowywane w usÅudze iCloud nie zostanÄ
przesÅane na serwer Immich",
"image": "ZdjÄcie",
"image_alt_text_date": "{isVideo, select, true {Wideo} other {ZdjÄcie}} zrobione dnia {date}",
@@ -1120,7 +1123,7 @@
"local_network": "SieÄ lokalna",
"local_network_sheet_info": "Aplikacja poÅÄ
czy siÄ z serwerem za poÅrednictwem tego adresu URL podczas korzystania z okreÅlonej sieci Wi-Fi",
"location_permission": "Zezwolenie na lokalizacjÄ",
- "location_permission_content": "Aby mÃŗc korzystaÄ z funkcji automatycznego przeÅÄ
czania, Immich potrzebuje precyzyjnego pozwolenia na lokalizacjÄ, aby mÃŗc odczytaÄ nazwÄ bieÅŧÄ
cej sieci WiFi",
+ "location_permission_content": "Aby mÃŗc korzystaÄ z funkcji automatycznego przeÅÄ
czania, Immich potrzebuje uprawnienia do dokÅadnej lokalizacji, aby mÃŗc odczytaÄ nazwÄ bieÅŧÄ
cej sieci Wi-Fi",
"location_picker_choose_on_map": "Wybierz na mapie",
"location_picker_latitude_error": "WprowadÅē prawidÅowÄ
szerokoÅÄ geograficznÄ
",
"location_picker_latitude_hint": "Wpisz tutaj swojÄ
szerokoÅÄ geograficznÄ
",
@@ -1144,7 +1147,7 @@
"login_form_err_trailing_whitespace": "BiaÅe znaki po przecinku",
"login_form_failed_get_oauth_server_config": "BÅÄ
d logowania przy uÅŧyciu OAuth. SprawdÅē adres URL serwera",
"login_form_failed_get_oauth_server_disable": "Funkcja OAuth nie jest dostÄpna na tym serwerze",
- "login_form_failed_login": "BÅÄ
d logowania, sprawdÅē adres url serwera, email i hasÅo.",
+ "login_form_failed_login": "BÅÄ
d logowania, sprawdÅē adres url serwera, email i hasÅo",
"login_form_handshake_exception": "WystÄ
piÅ wyjÄ
tek uzgadniania z serwerem. WÅÄ
cz obsÅugÄ certyfikatÃŗw z podpisem wÅasnym w ustawieniach, jeÅli uÅŧywasz certyfikatu z podpisem wÅasnym.",
"login_form_password_hint": "hasÅo",
"login_form_save_login": "PozostaÅ zalogowany",
@@ -1170,8 +1173,8 @@
"manage_your_devices": "ZarzÄ
dzaj swoimi zalogowanymi urzÄ
dzeniami",
"manage_your_oauth_connection": "ZarzÄ
dzaj swoim poÅÄ
czeniem OAuth",
"map": "Mapa",
- "map_assets_in_bound": "{} zdjÄÄ",
- "map_assets_in_bounds": "{} zdjÄÄ",
+ "map_assets_in_bound": "{count, plural, one {# zdjÄcie}}",
+ "map_assets_in_bounds": "{count, plural, one {# zdjÄcie} few {# zdjÄcia} other {# zdjÄÄ}}",
"map_cannot_get_user_location": "Nie moÅŧna uzyskaÄ lokalizacji uÅŧytkownika",
"map_location_dialog_yes": "Tak",
"map_location_picker_page_use_location": "UÅŧyj tej lokalizacji",
@@ -1185,15 +1188,18 @@
"map_settings": "Ustawienia mapy",
"map_settings_dark_mode": "Tryb ciemny",
"map_settings_date_range_option_day": "Ostatnie 24 godziny",
- "map_settings_date_range_option_days": "Ostatnie {} dni",
+ "map_settings_date_range_option_days": "{count, plural, one {Poprzedni dzieÅ} other {Minione # dni}}",
"map_settings_date_range_option_year": "Poprzedni rok",
- "map_settings_date_range_option_years": "Ostatnie {} lat",
+ "map_settings_date_range_option_years": "{count, plural, one {Poprzedni rok} few {Minione # lata} other {Minione # lat}}",
"map_settings_dialog_title": "Ustawienia mapy",
"map_settings_include_show_archived": "UwzglÄdnij zarchiwizowane",
"map_settings_include_show_partners": "UwzglÄdnij partnerÃŗw",
"map_settings_only_show_favorites": "PokaÅŧ tylko ulubione",
"map_settings_theme_settings": "Motyw mapy",
"map_zoom_to_see_photos": "Pomniejsz, aby zobaczyÄ zdjÄcia",
+ "mark_all_as_read": "Zaznacz wszystkie jako odczytane",
+ "mark_as_read": "Zaznacz jako odczytane",
+ "marked_all_as_read": "Zaznaczono wszystkie jako przeczytane",
"matches": "PowiÄ
zania",
"media_type": "Typ zasobu",
"memories": "Wspomnienia",
@@ -1203,7 +1209,7 @@
"memories_start_over": "Zacznij od nowa",
"memories_swipe_to_close": "PrzesuÅ w gÃŗrÄ, aby zamknÄ
Ä",
"memories_year_ago": "Rok temu",
- "memories_years_ago": "{} lat temu",
+ "memories_years_ago": "{count, plural, few {# lata temu} other {# lat temu}}",
"memory": "PamiÄÄ",
"memory_lane_title": "Aleja WspomnieÅ {title}",
"menu": "Menu",
@@ -1219,7 +1225,9 @@
"model": "Model",
"month": "MiesiÄ
c",
"monthly_title_text_date_format": "MMMM y",
- "more": "WiÄcej...",
+ "more": "WiÄcej",
+ "moved_to_archive": "Przeniesiono {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}} do archiwum",
+ "moved_to_library": "Przeniesiono {count, plural, one {# zasÃŗb} few {# zasoby} other {# zasobÃŗw}} do biblioteki",
"moved_to_trash": "Przeniesiono do kosza",
"multiselect_grid_edit_date_time_err_read_only": "Nie moÅŧna edytowaÄ daty zasobÃŗw tylko do odczytu, pomijanie",
"multiselect_grid_edit_gps_err_read_only": "Nie moÅŧna edytowaÄ lokalizacji zasobÃŗw tylko do odczytu, pomijanie",
@@ -1228,7 +1236,7 @@
"name": "Nazwa",
"name_or_nickname": "Nazwa lub pseudonim",
"networking_settings": "SieÄ",
- "networking_subtitle": "ZarzÄ
dzaj ustawieniami serwera koÅcowego ",
+ "networking_subtitle": "ZarzÄ
dzaj ustawieniami punktu koÅcowego serwera",
"never": "nigdy",
"new_album": "Nowy album",
"new_api_key": "Nowy Klucz API",
@@ -1252,6 +1260,8 @@
"no_favorites_message": "Dodaj ulubione aby szybko znaleÅēÄ swoje najlepsze zdjÄcia i filmy",
"no_libraries_message": "StwÃŗrz bibliotekÄ zewnÄtrznÄ
, aby przeglÄ
daÄ swoje zdjÄcia i filmy",
"no_name": "Brak Nazwy",
+ "no_notifications": "Brak powiadomieÅ",
+ "no_people_found": "Brak pasujÄ
cych osÃŗb",
"no_places": "Brak miejsc",
"no_results": "Brak wynikÃŗw",
"no_results_description": "SprÃŗbuj uÅŧyÄ synonimu lub bardziej ogÃŗlnego sÅowa kluczowego",
@@ -1282,6 +1292,7 @@
"onboarding_welcome_user": "Witaj, {user}",
"online": "PoÅÄ
czony",
"only_favorites": "Tylko ulubione",
+ "open": "OtwÃŗrz",
"open_in_map_view": "OtwÃŗrz w widoku mapy",
"open_in_openstreetmap": "OtwÃŗrz w OpenStreetMap",
"open_the_search_filters": "OtwÃŗrz filtry wyszukiwania",
@@ -1300,12 +1311,12 @@
"partner_can_access_location": "Informacji o tym, gdzie zostaÅy zrobione Twoje zdjÄcia",
"partner_list_user_photos": "{user} zdjÄcia",
"partner_list_view_all": "PokaÅŧ wszystkie",
- "partner_page_empty_message": "Twoje zdjÄcia nie sÄ
udostÄpnione Åŧadnemu partnerowi",
+ "partner_page_empty_message": "Twoje zdjÄcia nie sÄ
udostÄpnione Åŧadnemu partnerowi.",
"partner_page_no_more_users": "Brak uÅŧytkownikÃŗw do dodania",
"partner_page_partner_add_failed": "Nie udaÅo siÄ dodaÄ partnera",
"partner_page_select_partner": "Wybierz partnera",
"partner_page_shared_to_title": "UdostÄpniono",
- "partner_page_stop_sharing_content": "{} nie bÄdzie juÅŧ mieÄ dostÄpu do twoich zdjÄÄ.",
+ "partner_page_stop_sharing_content": "{user} nie bÄdzie juÅŧ mieÄ dostÄpu do twoich zdjÄÄ.",
"partner_sharing": "Dzielenie z Partnerami",
"partners": "Partnerzy",
"password": "HasÅo",
@@ -1426,6 +1437,8 @@
"recent_searches": "Ostatnie wyszukiwania",
"recently_added": "Ostatnio dodane",
"recently_added_page_title": "Ostatnio Dodane",
+ "recently_taken": "Ostatnio wykonane",
+ "recently_taken_page_title": "Ostatnio Wykonane",
"refresh": "OdÅwieÅŧ",
"refresh_encoded_videos": "OdÅwieÅŧ enkodowane wideo",
"refresh_faces": "OdÅwieÅŧ twarze",
@@ -1560,6 +1573,7 @@
"select_keep_all": "Zaznacz zachowaj wszystko",
"select_library_owner": "Wybierz wÅaÅciciela biblioteki",
"select_new_face": "Wybierz nowÄ
twarz",
+ "select_person_to_tag": "Wybierz osobÄ do oznaczenia",
"select_photos": "Wybierz zdjÄcia",
"select_trash_all": "Zaznacz caÅy kosz",
"select_user_for_sharing_page_err_album": "Nie udaÅo siÄ utworzyÄ albumu",
@@ -1567,7 +1581,7 @@
"selected_count": "{count, plural, other {# wybrane}}",
"send_message": "WyÅlij wiadomoÅÄ",
"send_welcome_email": "WyÅlij e-mail powitalny",
- "server_endpoint": "Serwer koÅcowy",
+ "server_endpoint": "Punkt koÅcowy serwera",
"server_info_box_app_version": "Wersja Aplikacji",
"server_info_box_server_url": "Adres URL",
"server_offline": "Serwer Offline",
@@ -1591,11 +1605,11 @@
"setting_languages_subtitle": "ZmieÅ jÄzyk aplikacji",
"setting_languages_title": "JÄzyki",
"setting_notifications_notify_failures_grace_period": "Powiadomienie o awariach kopii zapasowych w tle: {}",
- "setting_notifications_notify_hours": "{} godzin",
+ "setting_notifications_notify_hours": "{count, plural, one {# godzina} few {# godziny} other {# godzin}}",
"setting_notifications_notify_immediately": "natychmiast",
- "setting_notifications_notify_minutes": "{} minut",
+ "setting_notifications_notify_minutes": "{count, plural, one {# minuta} few {# minuty} other {# minut}}",
"setting_notifications_notify_never": "nigdy",
- "setting_notifications_notify_seconds": "{} sekund",
+ "setting_notifications_notify_seconds": "{count, plural, one {# sekunda} few {# sekundy} other {# sekund}}",
"setting_notifications_single_progress_subtitle": "SzczegÃŗÅowe informacje o postÄpie przesyÅania dla kaÅŧdego zasobu",
"setting_notifications_single_progress_title": "PokaÅŧ postÄp szczegÃŗÅÃŗw kopii zapasowej w tle",
"setting_notifications_subtitle": "Dostosuj preferencje powiadomieÅ",
@@ -1609,8 +1623,8 @@
"settings_saved": "Ustawienia zapisane",
"share": "UdostÄpnij",
"share_add_photos": "Dodaj zdjÄcia",
- "share_assets_selected": "{} wybrano",
- "share_dialog_preparing": "Przygotowywanie...",
+ "share_assets_selected": "{count, plural, one {# wybrane} few {# wybrane} other {# wybranych}}",
+ "share_dialog_preparing": "PrzygotowywanieâĻ",
"shared": "UdostÄpnione",
"shared_album_activities_input_disable": "Komentarz jest wyÅÄ
czony",
"shared_album_activity_remove_content": "Czy chcesz usunÄ
Ä tÄ aktywnoÅÄ?",
@@ -1627,28 +1641,28 @@
"shared_link_app_bar_title": "UdostÄpnione linki",
"shared_link_clipboard_copied_massage": "Skopiowane do schowka",
"shared_link_clipboard_text": "Link: {}\nHasÅo: {}",
- "shared_link_create_error": "BÅÄ
d podczas tworzenia udostÄpnionego linka",
+ "shared_link_create_error": "BÅÄ
d podczas tworzenia linka do udostÄpnienia",
"shared_link_edit_description_hint": "WprowadÅē opis udostÄpnienia",
- "shared_link_edit_expire_after_option_day": "1 dzieÅ",
- "shared_link_edit_expire_after_option_days": "{} dni",
- "shared_link_edit_expire_after_option_hour": "1 godzina",
- "shared_link_edit_expire_after_option_hours": "{} godzin",
- "shared_link_edit_expire_after_option_minute": "1 minuta",
- "shared_link_edit_expire_after_option_minutes": "{} minut",
- "shared_link_edit_expire_after_option_months": "{} miesiÄcy",
- "shared_link_edit_expire_after_option_year": "{} lat",
+ "shared_link_edit_expire_after_option_day": "1 dniu",
+ "shared_link_edit_expire_after_option_days": "{count, plural, one {# dniu} other {# dniach}}",
+ "shared_link_edit_expire_after_option_hour": "1 godzinie",
+ "shared_link_edit_expire_after_option_hours": "{count, plural, one {# godzinie} other {# godzinach}}",
+ "shared_link_edit_expire_after_option_minute": "1 minucie",
+ "shared_link_edit_expire_after_option_minutes": "{count, plural, one {# minucie} other {# minutach}}",
+ "shared_link_edit_expire_after_option_months": "{count, plural, one {# miesiÄ
cu} other {# miesiÄ
cach}}",
+ "shared_link_edit_expire_after_option_year": "{count, plural, one {# roku} other {# latach}}",
"shared_link_edit_password_hint": "WprowadÅē hasÅo udostÄpniania",
"shared_link_edit_submit_button": "Aktualizuj link",
"shared_link_error_server_url_fetch": "Nie moÅŧna pobraÄ adresu URL serwera",
- "shared_link_expires_day": "Wygasa za {} dni",
- "shared_link_expires_days": "Wygasa za {} dni",
- "shared_link_expires_hour": "Wygasa za {} godzin",
- "shared_link_expires_hours": "Wygasa za {} godzin",
- "shared_link_expires_minute": "Wygasa za {} minut",
- "shared_link_expires_minutes": "Wygasa za {} minut",
+ "shared_link_expires_day": "Wygasa za {count, plural, one {# dzieÅ}}",
+ "shared_link_expires_days": "Wygasa za {count, plural, one {# dzieÅ} other {# dni}}",
+ "shared_link_expires_hour": "Wygasa za {count, plural, one {# godzinÄ}}",
+ "shared_link_expires_hours": "Wygasa za {count, plural, one {# godzinÄ} few {# godziny} other {# godzin}}",
+ "shared_link_expires_minute": "Wygasa za {count, plural, one {# minutÄ}}",
+ "shared_link_expires_minutes": "Wygasa za {count, plural, one {# minutÄ} few {# minuty} other {# minut}}",
"shared_link_expires_never": "Wygasa â",
- "shared_link_expires_second": "Wygasa za {} sekund",
- "shared_link_expires_seconds": "Wygasa za {} sekund",
+ "shared_link_expires_second": "Wygasa za {count, plural, one {# sekundÄ}}",
+ "shared_link_expires_seconds": "Wygasa za {count, plural, one {# sekundÄ} few {# sekundy} other {# sekund}}",
"shared_link_individual_shared": "Indywidualnie udostÄpnione",
"shared_link_info_chip_metadata": "EXIF",
"shared_link_manage_links": "ZarzÄ
dzaj udostÄpnionymi linkami",
@@ -1784,11 +1798,11 @@
"trash_no_results_message": "Tu znajdziesz wyrzucone zdjÄcia i filmy.",
"trash_page_delete_all": "UsuÅ wszystko",
"trash_page_empty_trash_dialog_content": "Czy chcesz oprÃŗÅŧniÄ swoje usuniÄte zasoby? Przedmioty te zostanÄ
trwale usuniÄte z Immich",
- "trash_page_info": "Elementy przeniesione do kosza zostanÄ
trwale usuniÄte po {} dniach",
+ "trash_page_info": "Elementy przeniesione do kosza zostanÄ
trwale usuniÄte po {count, plural, one {# dniu} other {# dniach}}",
"trash_page_no_assets": "Brak usuniÄtych zasobÃŗw",
"trash_page_restore_all": "PrzywrÃŗciÄ wszystkie",
"trash_page_select_assets_btn": "Wybierz zasoby",
- "trash_page_title": "Kosz({})",
+ "trash_page_title": "Kosz ({})",
"trashed_items_will_be_permanently_deleted_after": "Wyrzucone zasoby zostanÄ
trwale usuniÄte po {days, plural, one {jednym dniu} other {{days, number} dniach}}.",
"type": "Typ",
"unarchive": "Cofnij archiwizacjÄ",
@@ -1872,6 +1886,7 @@
"view_name": "Widok",
"view_next_asset": "WyÅwietl nastÄpny zasÃŗb",
"view_previous_asset": "WyÅwietl poprzedni zasÃŗb",
+ "view_qr_code": "PokaÅŧ kod QR",
"view_stack": "Zobacz UÅoÅŧenie",
"viewer_remove_from_stack": "UsuÅ ze stosu",
"viewer_stack_use_as_main_asset": "UÅŧyj jako gÅÃŗwnego zasobu",
diff --git a/i18n/pt.json b/i18n/pt.json
index 05b2ebfdd9..5f97f65a25 100644
--- a/i18n/pt.json
+++ b/i18n/pt.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Registo automÃĄtico",
"oauth_auto_register_description": "Registar automaticamente novos utilizadores apÃŗs iniciarem sessÃŖo com o OAuth",
"oauth_button_text": "Texto do botÃŖo",
- "oauth_client_id": "ID do Cliente",
- "oauth_client_secret": "Segredo do cliente",
"oauth_enable_description": "Iniciar sessÃŖo com o OAuth",
- "oauth_issuer_url": "URL do emissor",
"oauth_mobile_redirect_uri": "URI de redirecionamento mÃŗvel",
"oauth_mobile_redirect_uri_override": "SubstituiÃ§ÃŖo de URI de redirecionamento mÃŗvel",
"oauth_mobile_redirect_uri_override_description": "Ative quando o provedor do OAuth nÃŖo permite um URI mÃŗvel, como '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritmo de assinatura de perfis",
- "oauth_profile_signing_algorithm_description": "Algoritmo utilizado para assinar o perfil de utilizador.",
- "oauth_scope": "Escopo",
"oauth_settings": "OAuth",
"oauth_settings_description": "Gerir definiçÃĩes de inicio de sessÃŖo do OAuth",
"oauth_settings_more_details": "Para mais informaçÃĩes sobre esta funcionalidade, veja a documentaÃ§ÃŖo.",
- "oauth_signing_algorithm": "Algoritmo de assinatura",
"oauth_storage_label_claim": "ReivindicaÃ§ÃŖo de RÃŗtulo de Armazenamento",
"oauth_storage_label_claim_description": "Definir automaticamente o RÃŗtulo de Armazenamento do utilizador para o valor desta declaraÃ§ÃŖo.",
"oauth_storage_quota_claim": "ReivindicaÃ§ÃŖo de quota de armazenamento",
diff --git a/i18n/pt_BR.json b/i18n/pt_BR.json
index 3db825d567..b398c6ab28 100644
--- a/i18n/pt_BR.json
+++ b/i18n/pt_BR.json
@@ -14,6 +14,7 @@
"add_a_location": "Adicionar uma localizaÃ§ÃŖo",
"add_a_name": "Adicionar um nome",
"add_a_title": "Adicionar um tÃtulo",
+ "add_endpoint": "Adicionar URL",
"add_exclusion_pattern": "Adicionar padrÃŖo de exclusÃŖo",
"add_import_path": "Adicionar caminho de importaÃ§ÃŖo",
"add_location": "Adicionar local",
@@ -23,6 +24,8 @@
"add_photos": "Adicionar fotos",
"add_to": "Adicionar aâĻ",
"add_to_album": "Adicionar ao ÃĄlbum",
+ "add_to_album_bottom_sheet_added": "Adicionado ao {album}",
+ "add_to_album_bottom_sheet_already_exists": "JÃĄ existe em {album}",
"add_to_shared_album": "Adicionar ao ÃĄlbum compartilhado",
"add_url": "Adicionar URL",
"added_to_archive": "Adicionado ao arquivo",
@@ -36,11 +39,11 @@
"authentication_settings_disable_all": "Tem certeza de que deseja desativar todos os mÊtodos de login? O login serÃĄ completamente desativado.",
"authentication_settings_reenable": "Para reabilitar, use um Comando do Servidor.",
"background_task_job": "Tarefas em segundo plano",
- "backup_database": "Backup do banco de dados",
+ "backup_database": "Criar backup do banco de dados",
"backup_database_enable_description": "Ativar backup do banco de dados",
"backup_keep_last_amount": "Quantidade de backups anteriores para manter salvo",
"backup_settings": "ConfiguraçÃĩes de backup",
- "backup_settings_description": "Gerenciar configuraçÃĩes de backup do banco de dados",
+ "backup_settings_description": "Gerenciar configuraçÃĩes de backup do banco de dados. Nota: essas tarefas nÃŖo sÃŖo monitoradas e vocÃĒ nÃŖo serÃĄ notificado em caso de falhas.",
"check_all": "Selecionar Tudo",
"cleanup": "Limpeza",
"cleared_jobs": "Tarefas removidas de: {job}",
@@ -189,26 +192,22 @@
"oauth_auto_register": "Registro automÃĄtico",
"oauth_auto_register_description": "Registre automaticamente novos usuÃĄrios apÃŗs fazer login com OAuth",
"oauth_button_text": "BotÃŖo de texto",
- "oauth_client_id": "ID do Cliente",
- "oauth_client_secret": "Segredo do cliente",
+ "oauth_client_secret_description": "ObrigatÃŗrio se PKCE (Proof Key for Code Exchange) nÃŖo for suportado pelo provedor OAuth",
"oauth_enable_description": "Faça login com OAuth",
- "oauth_issuer_url": "URL do emissor",
"oauth_mobile_redirect_uri": "URI de redirecionamento mÃŗvel",
"oauth_mobile_redirect_uri_override": "SubstituiÃ§ÃŖo de URI de redirecionamento mÃŗvel",
"oauth_mobile_redirect_uri_override_description": "Ative quando o provedor do OAuth nÃŖo suportar uma URI de aplicativo, por exemplo '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritmo de assinatura de perfis",
- "oauth_profile_signing_algorithm_description": "Algoritmo usado para assinar o perfil do usuÃĄrio.",
- "oauth_scope": "Escopo",
"oauth_settings": "OAuth",
"oauth_settings_description": "Gerenciar configuraçÃĩes de login do OAuth",
"oauth_settings_more_details": "Para mais detalhes sobre este recurso, consulte a documentaÃ§ÃŖo.",
- "oauth_signing_algorithm": "Algoritmo de assinatura",
"oauth_storage_label_claim": "ReivindicaÃ§ÃŖo de rÃŗtulo de armazenamento",
"oauth_storage_label_claim_description": "Defina automaticamente o rÃŗtulo de armazenamento do usuÃĄrio para o valor desta declaraÃ§ÃŖo.",
"oauth_storage_quota_claim": "ReivindicaÃ§ÃŖo de cota de armazenamento",
"oauth_storage_quota_claim_description": "Defina automaticamente a cota de armazenamento do usuÃĄrio para o valor desta declaraÃ§ÃŖo.",
"oauth_storage_quota_default": "Cota de armazenamento padrÃŖo (GiB)",
"oauth_storage_quota_default_description": "Cota em GiB a ser usada quando nenhuma reivindicaÃ§ÃŖo for fornecida (insira 0 para cota ilimitada).",
+ "oauth_timeout": "Tempo Limite de RequisiÃ§ÃŖo",
+ "oauth_timeout_description": "Tempo limite para requisiçÃĩes, em milissegundos",
"offline_paths": "Caminhos off-line",
"offline_paths_description": "Esses resultados podem ser devidos à exclusÃŖo manual de arquivos que nÃŖo fazem parte de uma biblioteca externa.",
"password_enable_description": "Login com e-mail e senha",
@@ -368,6 +367,20 @@
"admin_password": "Senha do administrador",
"administration": "AdministraÃ§ÃŖo",
"advanced": "Avançado",
+ "advanced_settings_enable_alternate_media_filter_subtitle": "Use esta opÃ§ÃŖo para filtrar mÃdias durante a sincronizaÃ§ÃŖo com base em critÊrios alternativos. Tente esta opÃ§ÃŖo somente se o aplicativo estiver com problemas para detectar todos os ÃĄlbuns.",
+ "advanced_settings_enable_alternate_media_filter_title": "[EXPERIMENTAL] Utilizar filtro alternativo de sincronizaÃ§ÃŖo de ÃĄlbum de dispositivo",
+ "advanced_settings_log_level_title": "NÃvel de log: {}",
+ "advanced_settings_prefer_remote_subtitle": "Alguns dispositivos sÃŖo extremamente lentos para carregar as miniaturas locais. Ative esta opÃ§ÃŖo para preferir imagens do servidor.",
+ "advanced_settings_prefer_remote_title": "Preferir imagens do servidor",
+ "advanced_settings_proxy_headers_subtitle": "Defina os cabeçalhos do proxy que o Immich deve enviar em todas comunicaçÃĩes com a rede",
+ "advanced_settings_proxy_headers_title": "Cabeçalhos do Proxy",
+ "advanced_settings_self_signed_ssl_subtitle": "Ignora a verificaÃ§ÃŖo do certificado SSL do servidor. ObrigatÃŗrio para certificados auto assinados.",
+ "advanced_settings_self_signed_ssl_title": "Permitir certificados SSL auto assinados",
+ "advanced_settings_sync_remote_deletions_subtitle": "Excluir ou restaurar os arquivos automaticamente neste dispositivo quando essas açÃĩes forem realizada na interface web",
+ "advanced_settings_sync_remote_deletions_title": "Sincronizar exclusÃĩes remotas [EXPERIMENTAL]",
+ "advanced_settings_tile_subtitle": "ConfiguraçÃĩes avançadas do usuÃĄrio",
+ "advanced_settings_troubleshooting_subtitle": "Ativar recursos adicionais para soluÃ§ÃŖo de problemas",
+ "advanced_settings_troubleshooting_title": "SoluÃ§ÃŖo de problemas",
"age_months": "Idade {months, plural, one {# mÃĒs} other {# meses}}",
"age_year_months": "Idade 1 ano e {months, plural, one {# mÃĒs} other {# meses}}",
"age_years": "{years, plural, other {Idade #}}",
@@ -387,17 +400,20 @@
"album_remove_user_confirmation": "Tem certeza de que deseja remover {user}?",
"album_share_no_users": "Parece que vocÃĒ jÃĄ compartilhou este ÃĄlbum com todos os usuÃĄrios ou nÃŖo hÃĄ nenhum usuÃĄrio para compartilhar.",
"album_thumbnail_card_item": "1 item",
- "album_thumbnail_card_items": "{} items",
+ "album_thumbnail_card_items": "{} itens",
"album_thumbnail_card_shared": " ¡ Compartilhado",
+ "album_thumbnail_shared_by": "Compartilhado por {}",
"album_updated": "Ãlbum atualizado",
"album_updated_setting_description": "Receba uma notificaÃ§ÃŖo por e-mail quando um ÃĄlbum compartilhado tiver novos recursos",
"album_user_left": "Saiu do ÃĄlbum {album}",
"album_user_removed": "UsuÃĄrio {user} foi removido",
+ "album_viewer_appbar_delete_confirm": "Tem certeza de que deseja excluir este ÃĄlbum da sua conta?",
"album_viewer_appbar_share_err_delete": "Falha ao excluir ÃĄlbum",
"album_viewer_appbar_share_err_leave": "Falha ao sair do ÃĄlbum",
"album_viewer_appbar_share_err_remove": "HÃĄ problemas ao remover recursos do ÃĄlbum",
"album_viewer_appbar_share_err_title": "Falha ao alterar o tÃtulo do ÃĄlbum",
"album_viewer_appbar_share_leave": "Sair do ÃĄlbum",
+ "album_viewer_appbar_share_to": "Compartilhar",
"album_viewer_page_share_add_users": "Adicionar usuÃĄrios",
"album_with_link_access": "Permitir que qualquer pessoa com o link veja as fotos e as pessoas neste ÃĄlbum.",
"albums": "Ãlbuns",
@@ -416,42 +432,71 @@
"api_key_description": "Este valor serÃĄ mostrado apenas uma vez. Por favor, certifique-se de copiÃĄ-lo antes de fechar a janela.",
"api_key_empty": "O nome da sua chave de API nÃŖo deve estar vazio",
"api_keys": "Chaves de API",
+ "app_bar_signout_dialog_content": "Tem certeza de que deseja sair?",
+ "app_bar_signout_dialog_ok": "Sim",
+ "app_bar_signout_dialog_title": "Sair",
"app_settings": "ConfiguraçÃĩes do Aplicativo",
"appears_in": "Aparece em",
"archive": "Arquivados",
"archive_or_unarchive_photo": "Arquivar ou desarquivar foto",
+ "archive_page_no_archived_assets": "Nenhum arquivo encontrado",
+ "archive_page_title": "Arquivados ({})",
"archive_size": "Tamanho do arquivo",
"archive_size_description": "Configure o tamanho do arquivo para baixar (em GiB)",
+ "archived": "Arquivado",
"archived_count": "{count, plural, one {# Arquivado} other {# Arquivados}}",
"are_these_the_same_person": "Essas pessoas sÃŖo a mesma pessoa?",
"are_you_sure_to_do_this": "Tem certeza de que deseja fazer isso?",
+ "asset_action_delete_err_read_only": "NÃŖo Ê possÃvel excluir arquivo sÃŗ leitura, ignorando",
+ "asset_action_share_err_offline": "NÃŖo foi possÃvel obter os arquivos offline, ignorando",
"asset_added_to_album": "Adicionado ao ÃĄlbum",
"asset_adding_to_album": "Adicionando ao ÃĄlbumâĻ",
"asset_description_updated": "A descriÃ§ÃŖo do ativo foi atualizada",
"asset_filename_is_offline": "O arquivo {filename} nÃŖo estÃĄ disponÃvel",
"asset_has_unassigned_faces": "O arquivo tem rostos sem nomes",
"asset_hashing": "ProcessandoâĻ",
+ "asset_list_group_by_sub_title": "Agrupar por",
+ "asset_list_layout_settings_dynamic_layout_title": "Layout dinÃĸmico",
+ "asset_list_layout_settings_group_automatically": "AutomÃĄtico",
+ "asset_list_layout_settings_group_by": "Agrupar arquivos por",
+ "asset_list_layout_settings_group_by_month_day": "MÃĒs + dia",
+ "asset_list_layout_sub_title": "Layout",
+ "asset_list_settings_subtitle": "ConfiguraçÃĩes de layout da grade de fotos",
+ "asset_list_settings_title": "Grade de Fotos",
"asset_offline": "Arquivo indisponÃvel",
"asset_offline_description": "Este arquivo externo nÃŖo estÃĄ mais disponÃvel. Contate seu administrador do Immich para obter ajuda.",
+ "asset_restored_successfully": "Arquivo restaurado",
"asset_skipped": "Ignorado",
"asset_skipped_in_trash": "Na lixeira",
"asset_uploaded": "Carregado",
"asset_uploading": "CarregandoâĻ",
+ "asset_viewer_settings_subtitle": "Gerenciar as configuraçÃĩes do visualizador da galeria",
+ "asset_viewer_settings_title": "Visualizador de MÃdia",
"assets": "Arquivos",
"assets_added_count": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}}",
"assets_added_to_album_count": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}} ao ÃĄlbum",
"assets_added_to_name_count": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}} {hasName, select, true {ao ÃĄlbum {name} } other {em um novo ÃĄlbum}}",
"assets_count": "{count, plural, one {# arquivo} other {# arquivos}}",
+ "assets_deleted_permanently": "{} arquivo(s) deletado(s) permanentemente",
+ "assets_deleted_permanently_from_server": "{} arquivo(s) deletado(s) permanentemente do servidor Immich",
"assets_moved_to_trash_count": "{count, plural, one {# arquivo movido} other {# arquivos movidos}} para a lixeira",
"assets_permanently_deleted_count": "{count, plural, one {# arquivo excluÃdo permanentemente} other {# arquivos excluÃdos permanentemente}}",
"assets_removed_count": "{count, plural, one {# arquivo removido} other {# arquivos removidos}}",
+ "assets_removed_permanently_from_device": "{} arquivo(s) removido(s) permanentemente do seu dispositivo",
"assets_restore_confirmation": "Tem certeza de que deseja restaurar todos os seus arquivos na lixeira? Esta aÃ§ÃŖo nÃŖo pode ser desfeita! Nota: Arquivos externos nÃŖo podem ser restaurados desta maneira.",
"assets_restored_count": "{count, plural, one {# arquivo restaurado} other {# arquivos restaurados}}",
+ "assets_restored_successfully": "{} arquivo(s) restaurado(s)",
+ "assets_trashed": "{} arquivo enviado para a lixeira",
"assets_trashed_count": "{count, plural, one {# arquivo movido para a lixeira} other {# arquivos movidos para a lixeira}}",
+ "assets_trashed_from_server": "{} arquivos foram enviados para a lixeira",
"assets_were_part_of_album_count": "{count, plural, one {O arquivo jÃĄ faz} other {Os arquivos jÃĄ fazem}} parte do ÃĄlbum",
"authorized_devices": "Dispositivos Autorizados",
+ "automatic_endpoint_switching_subtitle": "Conecte-se localmente quando estiver em uma rede uma Wi-Fi especÃfica e use conexÃĩes alternativas em outras redes",
+ "automatic_endpoint_switching_title": "Troca automÃĄtica de URL",
"back": "Voltar",
"back_close_deselect": "Voltar, fechar ou desmarcar",
+ "background_location_permission": "PermissÃŖo de localizaÃ§ÃŖo em segundo plano",
+ "background_location_permission_content": "Para que seja possÃvel trocar a URL quando estiver executando em segundo plano, o Immich deve *sempre* ter a permissÃŖo de localizaÃ§ÃŖo precisa para que o aplicativo consiga ler o nome da rede Wi-Fi",
"backup_album_selection_page_albums_device": "Ãlbuns no dispositivo ({})",
"backup_album_selection_page_albums_tap": "Toque para incluir, toque duas vezes para excluir",
"backup_album_selection_page_assets_scatter": "Os recursos podem se espalhar por vÃĄrios ÃĄlbuns. Assim, os ÃĄlbuns podem ser incluÃdos ou excluÃdos durante o processo de backup.",
@@ -459,19 +504,30 @@
"backup_album_selection_page_selection_info": "InformaçÃĩes da SeleÃ§ÃŖo",
"backup_album_selection_page_total_assets": "Total de recursos exclusivos",
"backup_all": "Todos",
+ "backup_background_service_backup_failed_message": "Falha ao fazer backup. Tentando novamenteâĻ",
+ "backup_background_service_connection_failed_message": "Falha na conexÃŖo com o servidor. Tentando novamenteâĻ",
"backup_background_service_current_upload_notification": "Enviando {}",
"backup_background_service_default_notification": "Checking for new assetsâĻ",
+ "backup_background_service_error_title": "Erro no backup",
"backup_background_service_in_progress_notification": "Fazendo backup de seus ativosâĻ",
- "backup_background_service_upload_failure_notification": "Falha ao carregar {}",
+ "backup_background_service_upload_failure_notification": "Falha ao enviar {}",
"backup_controller_page_albums": "Ãlbuns de backup",
+ "backup_controller_page_background_app_refresh_disabled_content": "Para utilizar o backup em segundo plano, ative a atualizaÃ§ÃŖo da aplicaÃ§ÃŖo em segundo plano em ConfiguraçÃĩes > Geral > AtualizaÃ§ÃŖo em 2Âē plano",
+ "backup_controller_page_background_app_refresh_disabled_title": "AtualizaÃ§ÃŖo em 2Âē plano desativada",
+ "backup_controller_page_background_app_refresh_enable_button_text": "Ir para as configuraçÃĩes",
+ "backup_controller_page_background_battery_info_link": "Mostre-me como",
+ "backup_controller_page_background_battery_info_message": "Para uma melhor experiÃĒncia de backup em segundo plano, desative todas as otimizaçÃĩes de bateria que restrinjam a atividade em segundo plano do Immich.\n\nComo isso Ê especÃfico por dispositivo, consulte as informaçÃĩes de como fazer isso com o fabricante do seu dispositivo.",
+ "backup_controller_page_background_battery_info_ok": "OK",
+ "backup_controller_page_background_battery_info_title": "OtimizaçÃĩes de bateria",
"backup_controller_page_background_charging": "Apenas durante o carregamento",
"backup_controller_page_background_configure_error": "Falha ao configurar o serviço em segundo plano",
+ "backup_controller_page_background_delay": "Adiar backup de novos arquivos: {}",
"backup_controller_page_background_description": "Ative o serviço em segundo plano para fazer backup automÃĄtico de novos ativos sem precisar abrir o aplicativo",
"backup_controller_page_background_is_off": "O backup automÃĄtico em segundo plano estÃĄ desativado",
"backup_controller_page_background_is_on": "O backup automÃĄtico em segundo plano estÃĄ ativado",
"backup_controller_page_background_turn_off": "Desativar o serviço em segundo plano",
"backup_controller_page_background_turn_on": "Ativar o serviço em segundo plano",
- "backup_controller_page_background_wifi": "Apenas em Wi-Fi",
+ "backup_controller_page_background_wifi": "Apenas no Wi-Fi",
"backup_controller_page_backup": "Backup",
"backup_controller_page_backup_selected": "Selecionado: ",
"backup_controller_page_backup_sub": "Backup de fotos e vÃdeos",
@@ -489,7 +545,7 @@
"backup_controller_page_start_backup": "Iniciar backup",
"backup_controller_page_status_off": "O backup estÃĄ desativado",
"backup_controller_page_status_on": "O backup estÃĄ ativado",
- "backup_controller_page_storage_format": "{} de {} usado",
+ "backup_controller_page_storage_format": "{} de {} usados",
"backup_controller_page_to_backup": "Ãlbuns para backup",
"backup_controller_page_total_sub": "Todas as fotos e vÃdeos Ãēnicos dos ÃĄlbuns selecionados",
"backup_controller_page_turn_off": "Desativar o backup",
@@ -497,6 +553,12 @@
"backup_controller_page_uploading_file_info": "Carregando informaçÃĩes do arquivo",
"backup_err_only_album": "NÃŖo Ê possÃvel remover o Ãēnico ÃĄlbum",
"backup_info_card_assets": "ativos",
+ "backup_manual_cancelled": "Cancelado",
+ "backup_manual_in_progress": "Envio jÃĄ estÃĄ em progresso. Tente novamente mais tarde",
+ "backup_manual_success": "Sucesso",
+ "backup_manual_title": "Estado do envio",
+ "backup_options_page_title": "OpçÃĩes de backup",
+ "backup_setting_subtitle": "Gerenciar as configuraçÃĩes de envio em primeiro e segundo plano",
"backward": "Para trÃĄs",
"birthdate_saved": "Data de nascimento salva com sucesso",
"birthdate_set_description": "A data de nascimento Ê usada para calcular a idade da pessoa no momento em que a foto foi tirada.",
@@ -508,24 +570,52 @@
"bulk_keep_duplicates_confirmation": "Tem certeza de que deseja manter {count, plural, one {# arquivo duplicado} other {# arquivos duplicados}}? Isso resolverÃĄ todos os grupos duplicados sem excluir nada.",
"bulk_trash_duplicates_confirmation": "Tem a certeza de que deseja mover para a lixeira {count, plural, one {# arquivo duplicado} other {# arquivos duplicados}}? Isso manterÃĄ o maior arquivo de cada grupo e moverÃĄ para a lixeira todas as outras duplicidades.",
"buy": "Comprar o Immich",
+ "cache_settings_album_thumbnails": "Miniaturas da biblioteca ({} arquivos)",
+ "cache_settings_clear_cache_button": "Limpar o cache",
+ "cache_settings_clear_cache_button_title": "Limpa o cache do aplicativo. Isso afetarÃĄ significativamente o desempenho do aplicativo atÊ que o cache seja reconstruÃdo.",
+ "cache_settings_duplicated_assets_clear_button": "LIMPAR",
+ "cache_settings_duplicated_assets_subtitle": "Fotos e vÃdeos que sÃŖo bloqueados pelo app",
+ "cache_settings_duplicated_assets_title": "Arquivos duplicados ({})",
+ "cache_settings_image_cache_size": "Tamanho do cache de imagens ({} arquivos)",
+ "cache_settings_statistics_album": "Miniaturas da biblioteca",
+ "cache_settings_statistics_assets": "{} arquivos ({})",
+ "cache_settings_statistics_full": "Imagens completas",
+ "cache_settings_statistics_shared": "Miniaturas de ÃĄlbuns compartilhados",
+ "cache_settings_statistics_thumbnail": "Miniaturas",
+ "cache_settings_statistics_title": "Uso do cache",
+ "cache_settings_subtitle": "Controle o comportamento de cache do aplicativo Immich",
+ "cache_settings_thumbnail_size": "Tamanho do cache de miniaturas ({} arquivos)",
+ "cache_settings_tile_subtitle": "Controle o comportamento do armazenamento local",
+ "cache_settings_tile_title": "Armazenamento Local",
+ "cache_settings_title": "ConfiguraçÃĩes de cache",
"camera": "CÃĸmera",
"camera_brand": "Marca da cÃĸmera",
"camera_model": "Modelo da cÃĸmera",
"cancel": "Cancelar",
"cancel_search": "Cancelar pesquisa",
+ "canceled": "Cancelado",
"cannot_merge_people": "NÃŖo Ê possÃvel mesclar pessoas",
"cannot_undo_this_action": "VocÃĒ nÃŖo pode desfazer esta aÃ§ÃŖo!",
"cannot_update_the_description": "NÃŖo Ê possÃvel atualizar a descriÃ§ÃŖo",
"change_date": "Alterar data",
+ "change_display_order": "Alterar ordem de exibiÃ§ÃŖo",
"change_expiration_time": "Alterar o prazo de validade",
"change_location": "Alterar localizaÃ§ÃŖo",
"change_name": "Alterar nome",
"change_name_successfully": "Nome alterado com sucesso",
"change_password": "Mudar a senha",
"change_password_description": "Esta Ê a primeira vez que vocÃĒ estÃĄ acessando o sistema ou foi feita uma solicitaÃ§ÃŖo para alterar sua senha. Por favor, insira a nova senha abaixo.",
+ "change_password_form_confirm_password": "Confirme a senha",
+ "change_password_form_description": "OlÃĄ {name},\n\nEsta Ê a primeira vez que vocÃĒ estÃĄ acessando o sistema ou foi feita uma solicitaÃ§ÃŖo para alterar sua senha. Por favor, insira a nova senha abaixo.",
+ "change_password_form_new_password": "Nova Senha",
+ "change_password_form_password_mismatch": "As senhas nÃŖo estÃŖo iguais",
+ "change_password_form_reenter_new_password": "Confirme a nova senha",
"change_your_password": "Alterar sua senha",
"changed_visibility_successfully": "Visibilidade alterada com sucesso",
"check_all": "Verificar tudo",
+ "check_corrupt_asset_backup": "Verifique se hÃĄ backups corrompidos",
+ "check_corrupt_asset_backup_button": "Verificar",
+ "check_corrupt_asset_backup_description": "Execute esta verificaÃ§ÃŖo somente em uma rede Wi-Fi e quando o backup de todos os arquivos jÃĄ estiver concluÃdo. O processo demora alguns minutos.",
"check_logs": "Verificar registros",
"choose_matching_people_to_merge": "Escolha pessoas correspondentes para mesclar",
"city": "Cidade",
@@ -534,6 +624,14 @@
"clear_all_recent_searches": "Limpar todas as buscas recentes",
"clear_message": "Limpar mensagem",
"clear_value": "Limpar valor",
+ "client_cert_dialog_msg_confirm": "OK",
+ "client_cert_enter_password": "Digite a senha",
+ "client_cert_import": "Importar",
+ "client_cert_import_success_msg": "Certificado do cliente importado",
+ "client_cert_invalid_msg": "Arquivo de certificado invÃĄlido ou senha errada",
+ "client_cert_remove_msg": "Certificado do cliente removido",
+ "client_cert_subtitle": "Suporta apenas o formato PKCS12 (.p12, .pfx). A importaÃ§ÃŖo/remoÃ§ÃŖo de certificados estÃĄ disponÃvel somente antes do login",
+ "client_cert_title": "Certificado de Cliente SSL",
"clockwise": "HorÃĄrio",
"close": "Fechar",
"collapse": "Recolher",
@@ -544,15 +642,27 @@
"comment_options": "OpçÃĩes de comentÃĄrio",
"comments_and_likes": "ComentÃĄrios e curtidas",
"comments_are_disabled": "ComentÃĄrios estÃŖo desativados",
+ "common_create_new_album": "Criar novo ÃĄlbum",
+ "common_server_error": "Verifique a sua conexÃŖo de rede, certifique-se de que o servidor estÃĄ acessÃvel e de que as versÃĩes do aplicativo e servidor sÃŖo compatÃveis.",
+ "completed": "Sucesso",
"confirm": "Confirmar",
"confirm_admin_password": "Confirmar senha de administrador",
"confirm_delete_face": "Tem certeza que deseja remover a face de {name} deste arquivo?",
"confirm_delete_shared_link": "Tem certeza de que deseja excluir este link compartilhado?",
- "confirm_keep_this_delete_others": "Todos os outros arquivos da pilha serÃŖo excluÃdos, exceto este arquivo. Tem certeza de que deseja continuar?",
+ "confirm_keep_this_delete_others": "Todos os outros arquivos do grupo serÃŖo excluÃdos, exceto este arquivo. Tem certeza de que deseja continuar?",
"confirm_password": "Confirme a senha",
"contain": "Caber",
"context": "Contexto",
"continue": "Continuar",
+ "control_bottom_app_bar_album_info_shared": "{} arquivos ¡ Compartilhado",
+ "control_bottom_app_bar_create_new_album": "Criar novo ÃĄlbum",
+ "control_bottom_app_bar_delete_from_immich": "Excluir do Immich",
+ "control_bottom_app_bar_delete_from_local": "Excluir do dispositivo",
+ "control_bottom_app_bar_edit_location": "Editar LocalizaÃ§ÃŖo",
+ "control_bottom_app_bar_edit_time": "Editar data e hora",
+ "control_bottom_app_bar_share_link": "Compartilhar Link",
+ "control_bottom_app_bar_share_to": "Compartilhar",
+ "control_bottom_app_bar_trash_from_immich": "Mover para a Lixeira",
"copied_image_to_clipboard": "Imagem copiada para a ÃĄrea de transferÃĒncia.",
"copied_to_clipboard": "Copiado para a ÃĄrea de transferÃĒncia!",
"copy_error": "Copiar erro",
@@ -572,6 +682,7 @@
"create_link": "Criar link",
"create_link_to_share": "Criar link para partilhar",
"create_link_to_share_description": "Permitir que qualquer pessoa com o link veja a(s) foto(s) selecionada(s)",
+ "create_new": "CRIAR NOVO",
"create_new_person": "Criar nova pessoa",
"create_new_person_hint": "Atribuir arquivos selecionados a uma nova pessoa",
"create_new_user": "Criar novo usuÃĄrio",
@@ -581,7 +692,10 @@
"create_tag_description": "Cria um novo marcador. Para marcadores multi nÃvel, digite o caminho completo do marcador, inclusive as barras.",
"create_user": "Criar usuÃĄrio",
"created": "Criado",
+ "crop": "Cortar",
+ "curated_object_page_title": "Objetos",
"current_device": "Dispositivo atual",
+ "current_server_address": "Endereço atual do servidor",
"custom_locale": "LocalizaÃ§ÃŖo Customizada",
"custom_locale_description": "Formatar datas e nÃēmeros baseados na linguagem e regiÃŖo",
"daily_title_text_date": "E, MMM dd",
@@ -605,20 +719,29 @@
"delete_album": "Excluir ÃĄlbum",
"delete_api_key_prompt": "Tem certeza de que deseja excluir esta chave de API?",
"delete_dialog_alert": "Esses itens serÃŖo excluÃdos permanentemente do Immich e do seu dispositivo",
+ "delete_dialog_alert_local": "Estes arquivos serÃŖo permanentemente excluÃdos do seu dispositivo, mas continuarÃŖo disponÃveis no servidor Immich",
+ "delete_dialog_alert_local_non_backed_up": "NÃŖo hÃĄ backup de alguns dos arquivos no servidor e eles serÃŖo excluÃdos permanentemente do seu dispositivo",
+ "delete_dialog_alert_remote": "Esses arquivos serÃŖo excluÃdos permanentemente do servidor Immich",
+ "delete_dialog_ok_force": "Excluir mesmo assim",
"delete_dialog_title": "Excluir permanentemente",
"delete_duplicates_confirmation": "Tem certeza de que deseja excluir permanentemente estas duplicidades?",
"delete_face": "Remover face",
"delete_key": "Excluir chave",
"delete_library": "Excluir biblioteca",
"delete_link": "Excluir link",
+ "delete_local_dialog_ok_backed_up_only": "Excluir apenas arquivos com backup feito",
+ "delete_local_dialog_ok_force": "Excluir mesmo assim",
"delete_others": "Excluir restante",
"delete_shared_link": "Excluir link de compartilhamento",
+ "delete_shared_link_dialog_title": "Excluir link compartilhado",
"delete_tag": "Remover marcador",
"delete_tag_confirmation_prompt": "Tem certeza que deseja excluir o marcador {tagName} ?",
"delete_user": "Excluir usuÃĄrio",
"deleted_shared_link": "Link de compartilhamento excluÃdo",
"deletes_missing_assets": "Excluir arquivos nÃŖo encontrados",
"description": "DescriÃ§ÃŖo",
+ "description_input_hint_text": "Adicionar descriÃ§ÃŖo...",
+ "description_input_submit_error": "Erro ao atualizar a descriÃ§ÃŖo, verifique o log para mais detalhes",
"details": "Detalhes",
"direction": "DireÃ§ÃŖo",
"disabled": "Desativado",
@@ -635,12 +758,26 @@
"documentation": "DocumentaÃ§ÃŖo",
"done": "Feito",
"download": "Baixar",
+ "download_canceled": "Cancelado",
+ "download_complete": "Sucesso",
+ "download_enqueue": "Na fila",
+ "download_error": "Erro ao baixar",
+ "download_failed": "Falha",
+ "download_filename": "arquivo: {}",
+ "download_finished": "ConcluÃdo",
"download_include_embedded_motion_videos": "VÃdeos inclusos",
"download_include_embedded_motion_videos_description": "Baixar os vÃdeos inclusos de uma foto em movimento em um arquivo separado",
+ "download_notfound": "NÃŖo encontrado",
+ "download_paused": "Pausado",
"download_settings": "Baixar",
"download_settings_description": "Gerenciar configuraçÃĩes relacionadas a transferÃĒncia de arquivos",
+ "download_started": "Baixando",
+ "download_sucess": "Baixado com sucesso",
+ "download_sucess_android": "O arquivo foi salvo em DCIM/Immich",
+ "download_waiting_to_retry": "Aguardando para tentar novamente",
"downloading": "Baixando",
"downloading_asset_filename": "Baixando arquivo {filename}",
+ "downloading_media": "Baixando mÃdia",
"drop_files_to_upload": "Solte arquivos em qualquer lugar para carregar",
"duplicates": "Duplicados",
"duplicates_description": "Marque cada grupo indicando quais arquivos, se algum, sÃŖo duplicados",
@@ -657,6 +794,7 @@
"edit_key": "Editar chave",
"edit_link": "Editar link",
"edit_location": "Editar LocalizaÃ§ÃŖo",
+ "edit_location_dialog_title": "LocalizaÃ§ÃŖo",
"edit_name": "Editar nome",
"edit_people": "Editar pessoas",
"edit_tag": "Editar marcador",
@@ -669,14 +807,19 @@
"editor_crop_tool_h2_aspect_ratios": "ProporçÃĩes",
"editor_crop_tool_h2_rotation": "RotaÃ§ÃŖo",
"email": "E-mail",
+ "empty_folder": "A pasta estÃĄ vazia",
"empty_trash": "Esvaziar lixo",
"empty_trash_confirmation": "Tem certeza de que deseja esvaziar a lixeira? Isso removerÃĄ permanentemente do Immich todos os arquivos que estÃŖo na lixeira.\nVocÃĒ nÃŖo pode desfazer esta aÃ§ÃŖo!",
"enable": "Habilitar",
"enabled": "Habilitado",
"end_date": "Data final",
+ "enqueued": "Na fila",
+ "enter_wifi_name": "Digite o nome do Wi-Fi",
"error": "Erro",
+ "error_change_sort_album": "Falha ao alterar a ordem de exibiÃ§ÃŖo",
"error_delete_face": "Erro ao remover face do arquivo",
"error_loading_image": "Erro ao carregar a pÃĄgina",
+ "error_saving_image": "Erro: {}",
"error_title": "Erro - Algo deu errado",
"errors": {
"cannot_navigate_next_asset": "NÃŖo foi possÃvel navegar para o prÃŗximo arquivo",
@@ -706,10 +849,12 @@
"failed_to_keep_this_delete_others": "Falha ao manter este arquivo e excluir os outros",
"failed_to_load_asset": "NÃŖo foi possÃvel carregar o ativo",
"failed_to_load_assets": "NÃŖo foi possÃvel carregar os ativos",
+ "failed_to_load_notifications": "Falha ao carregar notificaçÃĩes",
"failed_to_load_people": "Falha ao carregar pessoas",
"failed_to_remove_product_key": "Falha ao remover a chave do produto",
- "failed_to_stack_assets": "Falha ao empilhar arquivos",
- "failed_to_unstack_assets": "Falha ao desempilhar arquivos",
+ "failed_to_stack_assets": "Falha ao agrupar arquivos",
+ "failed_to_unstack_assets": "Falha ao remover arquivos do grupo",
+ "failed_to_update_notification_status": "Falha ao atualizar o status da notificaÃ§ÃŖo",
"import_path_already_exists": "Este caminho de importaÃ§ÃŖo jÃĄ existe.",
"incorrect_email_or_password": "E-mail ou senha incorretos",
"paths_validation_failed": "A validaÃ§ÃŖo de {paths, plural, one {# caminho falhou} other {# caminhos falharam}}",
@@ -808,8 +953,18 @@
"exif_bottom_sheet_description": "Adicionar descriÃ§ÃŖo...",
"exif_bottom_sheet_details": "DETALHES",
"exif_bottom_sheet_location": "LOCALIZAÃÃO",
+ "exif_bottom_sheet_people": "PESSOAS",
+ "exif_bottom_sheet_person_add_person": "Adicionar nome",
+ "exif_bottom_sheet_person_age": "Idade {}",
+ "exif_bottom_sheet_person_age_months": "Idade {} meses",
+ "exif_bottom_sheet_person_age_year_months": "Idade 1 ano, {} meses",
+ "exif_bottom_sheet_person_age_years": "Idade {}",
"exit_slideshow": "Sair da apresentaÃ§ÃŖo",
"expand_all": "Expandir tudo",
+ "experimental_settings_new_asset_list_subtitle": "Em andamento",
+ "experimental_settings_new_asset_list_title": "Ativar grade de fotos experimental",
+ "experimental_settings_subtitle": "Use por sua conta e risco!",
+ "experimental_settings_title": "Experimental",
"expire_after": "Expira depois",
"expired": "Expirou",
"expires_date": "Expira em {date}",
@@ -820,11 +975,16 @@
"extension": "ExtensÃŖo",
"external": "Externo",
"external_libraries": "Bibliotecas externas",
+ "external_network": "Rede externa",
+ "external_network_sheet_info": "Quando nÃŖo estiver na rede Wi-Fi especificada, o aplicativo irÃĄ se conectar usando a primeira URL abaixo que obtiver sucesso, começando do topo da lista para baixo.",
"face_unassigned": "Sem nome",
+ "failed": "Falhou",
"failed_to_load_assets": "Falha ao carregar arquivos",
+ "failed_to_load_folder": "Falha ao carregar a pasta",
"favorite": "Favorito",
"favorite_or_unfavorite_photo": "Marque ou desmarque a foto como favorita",
"favorites": "Favoritos",
+ "favorites_page_no_favorites": "Nenhuma mÃdia favorita encontrada",
"feature_photo_updated": "Foto principal atualizada",
"features": "Funcionalidades",
"features_setting_description": "Gerenciar as funcionalidades da aplicaÃ§ÃŖo",
@@ -832,26 +992,39 @@
"file_name_or_extension": "Nome do arquivo ou extensÃŖo",
"filename": "Nome do arquivo",
"filetype": "Tipo de arquivo",
+ "filter": "Filtro",
"filter_people": "Filtrar pessoas",
"filter_places": "Filtrar lugares",
"find_them_fast": "Encontre pelo nome em uma pesquisa",
"fix_incorrect_match": "Corrigir correspondÃĒncia incorreta",
+ "folder": "Pasta",
+ "folder_not_found": "Pasta nÃŖo encontrada",
"folders": "Pastas",
"folders_feature_description": "Navegar pelas pastas das fotos e vÃdeos no sistema de arquivos",
"forward": "Para frente",
"general": "Geral",
"get_help": "Obter Ajuda",
+ "get_wifiname_error": "NÃŖo foi possÃvel obter o nome do Wi-Fi. Verifique se concedeu as permissÃĩes necessÃĄrias e se estÃĄ conectado a uma rede Wi-Fi",
"getting_started": "Primeiros passos",
"go_back": "Voltar",
"go_to_folder": "Ir para a pasta",
"go_to_search": "Ir para a pesquisa",
+ "grant_permission": "Conceder permissÃŖo",
"group_albums_by": "Agrupar ÃĄlbuns por...",
"group_country": "Agrupar por paÃs",
"group_no": "Sem agrupamento",
"group_owner": "Agrupar por dono",
"group_places_by": "Agrupar lugares por...",
"group_year": "Agrupar por ano",
+ "haptic_feedback_switch": "Ativar vibraÃ§ÃŖo",
+ "haptic_feedback_title": "VibraÃ§ÃŖo",
"has_quota": "Cota",
+ "header_settings_add_header_tip": "Adicionar Cabeçalho",
+ "header_settings_field_validator_msg": "O valor nÃŖo pode estar vazio",
+ "header_settings_header_name_input": "Nome do cabeçalho",
+ "header_settings_header_value_input": "Valor do cabeçalho",
+ "headers_settings_tile_subtitle": "Defina cabeçalhos de proxy que o aplicativo deve enviar com cada solicitaÃ§ÃŖo de rede",
+ "headers_settings_tile_title": "Cabeçalhos de proxy personalizados",
"hi_user": "OlÃĄ {name} ({email})",
"hide_all_people": "Esconder todas as pessoas",
"hide_gallery": "Ocultar galeria",
@@ -859,8 +1032,24 @@
"hide_password": "Ocultar senha",
"hide_person": "Ocultar pessoa",
"hide_unnamed_people": "Esconder pessoas sem nome",
+ "home_page_add_to_album_conflicts": "{added} arquivos adicionados ao ÃĄlbum {album}. {failed} arquivos jÃĄ estÃŖo no ÃĄlbum.",
+ "home_page_add_to_album_err_local": "Ainda nÃŖo Ê possÃvel adicionar arquivos locais aos ÃĄlbuns, ignorando",
+ "home_page_add_to_album_success": "{added} arquivos adicionados ao ÃĄlbum {album}.",
+ "home_page_album_err_partner": "Ainda nÃŖo Ê possÃvel adicionar arquivos de parceiros a um ÃĄlbum, ignorando",
+ "home_page_archive_err_local": "Ainda nÃŖo Ê possÃvel arquivar mÃdias locais, ignorando",
+ "home_page_archive_err_partner": "NÃŖo Ê possÃvel arquivar as mÃdias do parceiro, ignorando",
+ "home_page_building_timeline": "Construindo a linha do tempo",
+ "home_page_delete_err_partner": "NÃŖo Ê possÃvel excluir arquivos do parceiro, ignorando",
+ "home_page_delete_remote_err_local": "Foram selecionados arquivos locais para excluir remotamente, ignorando",
+ "home_page_favorite_err_local": "Ainda nÃŖo Ê possÃvel adicionar arquivos locais aos favoritos, ignorando",
+ "home_page_favorite_err_partner": "Ainda nÃŖo Ê possÃvel marcar arquivos do parceiro como favoritos, ignorando",
+ "home_page_first_time_notice": "Se Ê a primeira vez que utiliza o aplicativo, certifique-se de marcar um ou mais ÃĄlbuns do dispositivo para backup, assim a linha do tempo serÃĄ preenchida com as fotos e vÃdeos.",
+ "home_page_share_err_local": "NÃŖo Ê possÃvel compartilhar arquivos locais com um link, ignorando",
+ "home_page_upload_err_limit": "SÃŗ Ê possÃvel enviar 30 arquivos de cada vez, ignorando",
"host": "Host",
"hour": "Hora",
+ "ignore_icloud_photos": "Ignorar fotos do iCloud",
+ "ignore_icloud_photos_description": "Fotos que estÃŖo armazenadas no iCloud nÃŖo serÃŖo enviadas para o servidor do Immich",
"image": "Imagem",
"image_alt_text_date": "{isVideo, select, true {VÃdeo gravado} other {Foto tirada}} em {date}",
"image_alt_text_date_1_person": "{isVideo, select, true {VÃdeo gravado} other {Foto tirada}} com {person1} em {date}",
@@ -872,6 +1061,10 @@
"image_alt_text_date_place_2_people": "{isVideo, select, true {VÃdeo gravado} other {Foto tirada}} em {city}, {country} com {person1} e {person2} em {date}",
"image_alt_text_date_place_3_people": "{isVideo, select, true {VÃdeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e {person3} em {date}",
"image_alt_text_date_place_4_or_more_people": "{isVideo, select, true {VÃdeo gravado} other {Foto tirada}} em {city}, {country} com {person1}, {person2}, e {additionalCount, number} outros em {date}",
+ "image_saved_successfully": "Imagem salva",
+ "image_viewer_page_state_provider_download_started": "Baixando arquivo",
+ "image_viewer_page_state_provider_download_success": "Baixado com sucesso",
+ "image_viewer_page_state_provider_share_error": "Erro ao compartilhar",
"immich_logo": "Logo do Immich",
"immich_web_interface": "Interface Web do Immich",
"import_from_json": "Importar do JSON",
@@ -890,6 +1083,8 @@
"night_at_midnight": "Toda noite, meia noite",
"night_at_twoam": "Toda noite, 2am"
},
+ "invalid_date": "Data invÃĄlida",
+ "invalid_date_format": "Formato de data invÃĄlido",
"invite_people": "Convidar Pessoas",
"invite_to_album": "Convidar para o ÃĄlbum",
"items_count": "{count, plural, one {# item} other {# itens}}",
@@ -910,7 +1105,12 @@
"level": "NÃvel",
"library": "Biblioteca",
"library_options": "OpçÃĩes da biblioteca",
+ "library_page_device_albums": "Ãlbuns no Dispositivo",
"library_page_new_album": "Novo album",
+ "library_page_sort_asset_count": "Quantidade de arquivos",
+ "library_page_sort_created": "Data de criaÃ§ÃŖo",
+ "library_page_sort_last_modified": "Ãltima modificaÃ§ÃŖo",
+ "library_page_sort_title": "TÃtulo do ÃĄlbum",
"light": "Claro",
"like_deleted": "Curtida excluÃda",
"link_motion_video": "Relacionar video animado",
@@ -920,22 +1120,42 @@
"list": "Lista",
"loading": "Carregando",
"loading_search_results_failed": "Falha ao carregar os resultados da pesquisa",
+ "local_network": "Rede local",
+ "local_network_sheet_info": "O aplicativo irÃĄ se conectar ao servidor atravÊs desta URL quando estiver na rede Wi-Fi especificada",
+ "location_permission": "PermissÃŖo de localizaÃ§ÃŖo",
+ "location_permission_content": "Para utilizar a funÃ§ÃŖo de troca automÃĄtica de URL, Ê necessÃĄrio a permissÃŖo de localizaÃ§ÃŖo precisa, para que seja possÃvel ler o nome da rede Wi-Fi.",
+ "location_picker_choose_on_map": "Escolha no mapa",
+ "location_picker_latitude_error": "Digite uma latitude vÃĄlida",
+ "location_picker_latitude_hint": "Digite a latitude",
+ "location_picker_longitude_error": "Digite uma longitude vÃĄlida",
+ "location_picker_longitude_hint": "Digite a longitude",
"log_out": "Sair",
"log_out_all_devices": "Sair de todos dispositivos",
"logged_out_all_devices": "Saiu de todos os dispositivos",
"logged_out_device": "Dispositivo desconectado",
"login": "Iniciar sessÃŖo",
+ "login_disabled": "Login desativado",
+ "login_form_api_exception": "Erro de API. Verifique a URL do servidor e tente novamente.",
+ "login_form_back_button_text": "Voltar",
"login_form_email_hint": "youremail@email.com",
"login_form_endpoint_hint": "http://your-server-ip:port",
"login_form_endpoint_url": "Server Endpoint URL",
"login_form_err_http": "Please specify http:// or https://",
"login_form_err_invalid_email": "E-mail invÃĄlido",
+ "login_form_err_invalid_url": "URL InvÃĄlida",
"login_form_err_leading_whitespace": "Leading whitespace",
"login_form_err_trailing_whitespace": "Trailing whitespace",
+ "login_form_failed_get_oauth_server_config": "Erro de login com OAuth, verifique a URL do servidor",
+ "login_form_failed_get_oauth_server_disable": "O recurso OAuth nÃŖo estÃĄ disponÃvel neste servidor",
"login_form_failed_login": "Erro ao fazer login, verifique a url do servidor, e-mail e senha",
+ "login_form_handshake_exception": "Houve um erro de autorizaÃ§ÃŖo com o servidor. Se estiver utilizando um certificado auto assinado, ative o suporte a isso nas configuraçÃĩes.",
"login_form_password_hint": "password",
"login_form_save_login": "Permaneçer conectado",
+ "login_form_server_empty": "Digite a URL do servidor.",
+ "login_form_server_error": "NÃŖo foi possÃvel conectar ao servidor.",
"login_has_been_disabled": "Login foi desativado.",
+ "login_password_changed_error": "Erro ao atualizar a sua senha",
+ "login_password_changed_success": "Senha atualizada com sucesso",
"logout_all_device_confirmation": "Tem certeza de que deseja sair de todos os dispositivos?",
"logout_this_device_confirmation": "Tem certeza de que deseja sair deste dispositivo?",
"longitude": "Longitude",
@@ -953,13 +1173,43 @@
"manage_your_devices": "Gerenciar seus dispositivos logados",
"manage_your_oauth_connection": "Gerenciar sua conexÃŖo OAuth",
"map": "Mapa",
+ "map_assets_in_bound": "{} foto",
+ "map_assets_in_bounds": "{} fotos",
+ "map_cannot_get_user_location": "NÃŖo foi possÃvel obter a sua localizaÃ§ÃŖo",
+ "map_location_dialog_yes": "Sim",
+ "map_location_picker_page_use_location": "Use esta localizaÃ§ÃŖo",
+ "map_location_service_disabled_content": "O serviço de localizaÃ§ÃŖo precisa estar ativado para exibir os arquivos da sua localizaÃ§ÃŖo atual. Deseja ativar agora?",
+ "map_location_service_disabled_title": "Serviço de localizaÃ§ÃŖo desativado",
"map_marker_for_images": "Marcador de mapa para imagens tiradas em {city}, {country}",
"map_marker_with_image": "Marcador de mapa com imagem",
+ "map_no_assets_in_bounds": "NÃŖo hÃĄ fotos nesta ÃĄrea",
+ "map_no_location_permission_content": "à necessÃĄria a permissÃŖo de localizaÃ§ÃŖo para exibir os arquivos da sua localizaÃ§ÃŖo atual. Deseja conceder a permissÃŖo agora?",
+ "map_no_location_permission_title": "PermissÃŖo de localizaÃ§ÃŖo foi negada",
"map_settings": "DefiniçÃĩes do mapa",
+ "map_settings_dark_mode": "Modo escuro",
+ "map_settings_date_range_option_day": "Ãltimas 24 horas",
+ "map_settings_date_range_option_days": "Ãltimos {} dias",
+ "map_settings_date_range_option_year": "Ãltimo ano",
+ "map_settings_date_range_option_years": "Ãltimos {} anos",
+ "map_settings_dialog_title": "ConfiguraçÃĩes do mapa",
+ "map_settings_include_show_archived": "Incluir arquivados",
+ "map_settings_include_show_partners": "Incluir parceiros",
+ "map_settings_only_show_favorites": "Mostrar apenas favoritos",
+ "map_settings_theme_settings": "Tema do mapa",
+ "map_zoom_to_see_photos": "Diminua o zoom para ver mais fotos",
+ "mark_all_as_read": "Marcar tudo como lido",
+ "mark_as_read": "Marcar como lido",
+ "marked_all_as_read": "Tudo marcado como lido",
"matches": "CorrespondÃĒncias",
"media_type": "Tipo de mÃdia",
"memories": "MemÃŗrias",
+ "memories_all_caught_up": "Finalizamos por hoje",
+ "memories_check_back_tomorrow": "Volte amanhÃŖ para ver mais lembranças",
"memories_setting_description": "Gerencie o que vÃĒ em suas memÃŗrias",
+ "memories_start_over": "Ver de novo",
+ "memories_swipe_to_close": "Deslize para cima para fechar",
+ "memories_year_ago": "Um ano atrÃĄs",
+ "memories_years_ago": "{} anos atrÃĄs",
"memory": "MemÃŗria",
"memory_lane_title": "Trilha das RecordaçÃĩes {title}",
"menu": "Menu",
@@ -976,11 +1226,17 @@
"month": "MÃĒs",
"monthly_title_text_date_format": "MMMM y",
"more": "Mais",
+ "moved_to_archive": "{count, plural, one {# mÃdia foi arquivada} other {# mÃdias foram arquivadas}}",
+ "moved_to_library": "{count, plural, one {# arquivo foi enviado} other {# arquivos foram enviados}} Ã biblioteca",
"moved_to_trash": "Enviado para a lixeira",
+ "multiselect_grid_edit_date_time_err_read_only": "NÃŖo Ê possÃvel editar a data do(s) arquivo(s) somente leitura, pulando",
+ "multiselect_grid_edit_gps_err_read_only": "NÃŖo Ê possÃvel editar a localizaÃ§ÃŖo dos arquivos somente leitura, ignorando",
"mute_memories": "Silenciar memÃŗrias",
"my_albums": "Meus Ãlbuns",
"name": "Nome",
"name_or_nickname": "Nome ou apelido",
+ "networking_settings": "ConexÃĩes",
+ "networking_subtitle": "Gerencie as conexÃĩes ao servidor",
"never": "Nunca",
"new_album": "Novo Ãlbum",
"new_api_key": "Nova Chave de API",
@@ -997,19 +1253,27 @@
"no_albums_yet": "Parece que vocÃĒ ainda nÃŖo tem nenhum ÃĄlbum.",
"no_archived_assets_message": "Arquive fotos e vÃdeos para os ocultar da sua visualizaÃ§ÃŖo de fotos",
"no_assets_message": "CLIQUE PARA CARREGAR SUA PRIMEIRA FOTO",
+ "no_assets_to_show": "NÃŖo hÃĄ arquivos para exibir",
"no_duplicates_found": "Nenhuma duplicidade foi encontrada.",
"no_exif_info_available": "Sem informaçÃĩes exif disponÃveis",
"no_explore_results_message": "Carregue mais fotos para explorar sua coleÃ§ÃŖo.",
"no_favorites_message": "Adicione aos favoritos para encontrar suas melhores fotos e vÃdeos rapidamente",
"no_libraries_message": "Crie uma biblioteca externa para ver suas fotos e vÃdeos",
"no_name": "Sem Nome",
+ "no_notifications": "Nenhuma notificaÃ§ÃŖo",
+ "no_people_found": "Nenhuma pessoa encontrada",
"no_places": "Sem lugares",
"no_results": "Sem resultados",
"no_results_description": "Tente um sinônimo ou uma palavra-chave mais geral",
"no_shared_albums_message": "Crie um ÃĄlbum para compartilhar fotos e vÃdeos com pessoas em sua rede",
"not_in_any_album": "Fora de ÃĄlbum",
+ "not_selected": "NÃŖo selecionado",
"note_apply_storage_label_to_previously_uploaded assets": "Nota: Para aplicar o rÃŗtulo de armazenamento a arquivos carregados anteriormente, execute o",
"notes": "Notas",
+ "notification_permission_dialog_content": "Para ativar as notificaçÃĩes, vÃĄ em ConfiguraçÃĩes e selecione permitir.",
+ "notification_permission_list_tile_content": "Conceda permissÃŖo para ativar notificaçÃĩes.",
+ "notification_permission_list_tile_enable_button": "Ativar notificaçÃĩes",
+ "notification_permission_list_tile_title": "PermissÃŖo de notificaçÃĩes",
"notification_toggle_setting_description": "Habilitar notificaçÃĩes por e-mail",
"notifications": "NotificaçÃĩes",
"notifications_setting_description": "Gerenciar notificaçÃĩes",
@@ -1020,6 +1284,7 @@
"offline_paths_description": "Estes resultados podem ser devidos a arquivos deletados manualmente e que nÃŖo sÃŖo parte de uma biblioteca externa.",
"ok": "Ok",
"oldest_first": "Mais antigo primeiro",
+ "on_this_device": "Neste dispositivo",
"onboarding": "IntegraÃ§ÃŖo",
"onboarding_privacy_description": "As seguintes funçÃĩes opcionais dependem de serviços externos e podem ser desabilitadas a qualquer momento nas configuraçÃĩes de administraÃ§ÃŖo.",
"onboarding_theme_description": "Escolha um tema de cores para sua instÃĸncia. VocÃĒ pode alterar isso posteriormente em suas configuraçÃĩes.",
@@ -1027,6 +1292,7 @@
"onboarding_welcome_user": "Bem-vindo, {user}",
"online": "Online",
"only_favorites": "Somente favoritos",
+ "open": "Abrir",
"open_in_map_view": "Mostrar no mapa",
"open_in_openstreetmap": "Abrir no OpenStreetMap",
"open_the_search_filters": "Abre os filtros de pesquisa",
@@ -1043,6 +1309,14 @@
"partner_can_access": "{partner} pode acessar",
"partner_can_access_assets": "Todas suas fotos e vÃdeos, excetos os Arquivados ou ExcluÃdos",
"partner_can_access_location": "A localizaÃ§ÃŖo onde as fotos foram tiradas",
+ "partner_list_user_photos": "Fotos de {user}",
+ "partner_list_view_all": "Ver tudo",
+ "partner_page_empty_message": "As suas fotos ainda nÃŖo foram compartilhadas com nenhum parceiro.",
+ "partner_page_no_more_users": "NÃŖo hÃĄ mais usuÃĄrios para adicionar",
+ "partner_page_partner_add_failed": "Falha ao adicionar parceiro",
+ "partner_page_select_partner": "Selecione o parceiro",
+ "partner_page_shared_to_title": "Compartilhado com",
+ "partner_page_stop_sharing_content": "{} nÃŖo poderÃĄ mais acessar as suas fotos.",
"partner_sharing": "Compartilhamento com Parceiro",
"partners": "Parceiros",
"password": "Senha",
@@ -1071,6 +1345,14 @@
"permanently_delete_assets_prompt": "VocÃĒ tem certeza de que deseja excluir permanentemente {count, plural, one {este ativo?} other {estes # ativos?}} Esta aÃ§ÃŖo tambÊm removerÃĄ {count, plural, one {o ativo} other {os ativos}} de um ou mais ÃĄlbuns.",
"permanently_deleted_asset": "Arquivo deletado permanentemente",
"permanently_deleted_assets_count": "{count, plural, one {# arquivo permanentemente excluÃdo} other {# arquivos permanentemente excluÃdos}}",
+ "permission_onboarding_back": "Voltar",
+ "permission_onboarding_continue_anyway": "Continuar assim mesmo",
+ "permission_onboarding_get_started": "Começar",
+ "permission_onboarding_go_to_settings": "Ir para as configuraçÃĩes",
+ "permission_onboarding_permission_denied": "PermissÃŖo negada. Para utilizar o Immich, conceda permissÃĩes de fotos e vÃdeo nas configuraçÃĩes.",
+ "permission_onboarding_permission_granted": "PermissÃŖo concedida! Tudo pronto.",
+ "permission_onboarding_permission_limited": "PermissÃŖo limitada. Para permitir que o Immich faça backups e gerencie sua galeria, conceda permissÃĩes para fotos e vÃdeos nas configuraçÃĩes.",
+ "permission_onboarding_request": "Immich requer permissÃŖo para visualizar suas fotos e vÃdeos.",
"person": "Pessoa",
"person_birthdate": "Nasceu em {date}",
"person_hidden": "{name}{hidden, select, true { (oculto)} other {}}",
@@ -1088,6 +1370,8 @@
"play_motion_photo": "Reproduzir foto em movimento",
"play_or_pause_video": "Reproduzir ou Pausar vÃdeo",
"port": "Porta",
+ "preferences_settings_subtitle": "Gerenciar as preferÃĒncias do aplicativo",
+ "preferences_settings_title": "PreferÃĒncias",
"preset": "PredefiniÃ§ÃŖo",
"preview": "PrÊ-visualizar",
"previous": "Anterior",
@@ -1095,7 +1379,13 @@
"previous_or_next_photo": "Foto anterior ou prÃŗxima",
"primary": "PrimÃĄrio",
"privacy": "Privacidade",
+ "profile_drawer_app_logs": "Logs",
+ "profile_drawer_client_out_of_date_major": "O aplicativo estÃĄ desatualizado. Por favor, atualize para a versÃŖo mais recente.",
+ "profile_drawer_client_out_of_date_minor": "O aplicativo estÃĄ desatualizado. Por favor, atualize para a versÃŖo mais recente.",
"profile_drawer_client_server_up_to_date": "Cliente e Servidor estÃŖo atualizados",
+ "profile_drawer_github": "GitHub",
+ "profile_drawer_server_out_of_date_major": "O servidor estÃĄ desatualizado. Atualize para a versÃŖo principal mais recente.",
+ "profile_drawer_server_out_of_date_minor": "O servidor estÃĄ desatualizado. Atualize para a versÃŖo mais recente.",
"profile_image_of_user": "Imagem do perfil de {user}",
"profile_picture_set": "Foto de perfil definida.",
"public_album": "Ãlbum pÃēblico",
@@ -1145,6 +1435,10 @@
"recent": "Recente",
"recent-albums": "Ãlbuns recentes",
"recent_searches": "Pesquisas recentes",
+ "recently_added": "Adicionado recentemente",
+ "recently_added_page_title": "Adicionados recentemente",
+ "recently_taken": "Tirada recentemente",
+ "recently_taken_page_title": "Tiradas recentemente",
"refresh": "Atualizar",
"refresh_encoded_videos": "Atualizar vÃdeos codificados",
"refresh_faces": "Atualizar rostos",
@@ -1201,10 +1495,12 @@
"role_editor": "Editor",
"role_viewer": "Visualizador",
"save": "Salvar",
+ "save_to_gallery": "Salvar na galeria",
"saved_api_key": "Chave de API salva",
"saved_profile": "Perfil Salvo",
"saved_settings": "ConfiguraçÃĩes salvas",
"say_something": "Diga algo",
+ "scaffold_body_error_occurred": "Ocorreu um erro",
"scan_all_libraries": "Escanear Todas Bibliotecas",
"scan_library": "Escanear",
"scan_settings": "OpçÃĩes de escanear",
@@ -1220,20 +1516,45 @@
"search_camera_model": "Pesquisar cÃĸmera do modelo...",
"search_city": "Pesquisar cidade...",
"search_country": "Pesquisar paÃs...",
+ "search_filter_apply": "Aplicar filtro",
+ "search_filter_camera_title": "Selecione o tipo de cÃĸmera",
+ "search_filter_date": "Data",
+ "search_filter_date_interval": "de {start} atÊ {end}",
+ "search_filter_date_title": "Selecione o intervalo de datas",
+ "search_filter_display_option_not_in_album": "NÃŖo estÃĄ em nenhum ÃĄlbum",
+ "search_filter_display_options": "OpçÃĩes de exibiÃ§ÃŖo",
+ "search_filter_filename": "Pesquisar por nome de arquivo",
+ "search_filter_location": "LocalizaÃ§ÃŖo",
+ "search_filter_location_title": "Selecione a localizaÃ§ÃŖo",
+ "search_filter_media_type": "Tipo de mÃdia",
+ "search_filter_media_type_title": "Selecione o tipo de mÃdia",
+ "search_filter_people_title": "Selecione pessoas",
"search_for": "Pesquisar por",
"search_for_existing_person": "Pesquisar por pessoas",
+ "search_no_more_result": "NÃŖo hÃĄ mais resultados",
"search_no_people": "Nenhuma pessoa",
"search_no_people_named": "Nenhuma pessoa chamada \"{name}\"",
+ "search_no_result": "Nenhum resultado encontrado, tente pesquisar por algo diferente",
"search_options": "OpçÃĩes de pesquisa",
+ "search_page_categories": "Categorias",
+ "search_page_motion_photos": "Fotos com movimento",
"search_page_no_objects": "Nenhuma informaÃ§ÃŖo de objeto disponÃvel",
"search_page_no_places": "Nenhuma informaÃ§ÃŖo de lugares disponÃvel",
+ "search_page_screenshots": "Capturas de tela",
+ "search_page_search_photos_videos": "Pesquise suas fotos e vÃdeos",
+ "search_page_selfies": "Selfies",
"search_page_things": "Coisas",
+ "search_page_view_all_button": "Ver tudo",
+ "search_page_your_activity": "Sua atividade",
+ "search_page_your_map": "Seu mapa",
"search_people": "Pesquisar pessoas",
"search_places": "Pesquisar lugares",
"search_rating": "Pesquisar por classificaÃ§ÃŖo...",
"search_result_page_new_search_hint": "Nova pesquisa",
"search_settings": "ConfiguraçÃĩes de pesquisa",
"search_state": "Pesquisar estado...",
+ "search_suggestion_list_smart_search_hint_1": "A pesquisa inteligente Ê utilizada por padrÃŖo, para pesquisar por metadados, use a sintaxe ",
+ "search_suggestion_list_smart_search_hint_2": "m:seu-termo-de-pesquisa",
"search_tags": "Procurar marcadores...",
"search_timezone": "Pesquisar fuso horÃĄrio...",
"search_type": "Pesquisar tipo",
@@ -1252,6 +1573,7 @@
"select_keep_all": "Marcar manter em todos",
"select_library_owner": "Selecione o dono da biblioteca",
"select_new_face": "Selecionar novo rosto",
+ "select_person_to_tag": "Selecione uma pessoa para marcar",
"select_photos": "Selecionar fotos",
"select_trash_all": "Marcar lixo em todos",
"select_user_for_sharing_page_err_album": "Falha ao criar ÃĄlbum",
@@ -1259,6 +1581,9 @@
"selected_count": "{count, plural, one {# selecionado} other {# selecionados}}",
"send_message": "Enviar mensagem",
"send_welcome_email": "Enviar E-mail de boas vindas",
+ "server_endpoint": "URL do servidor",
+ "server_info_box_app_version": "VersÃŖo do aplicativo",
+ "server_info_box_server_url": "URL do servidor",
"server_offline": "Servidor IndisponÃvel",
"server_online": "Servidor DisponÃvel",
"server_stats": "Status do servidor",
@@ -1270,20 +1595,82 @@
"set_date_of_birth": "Definir data de nascimento",
"set_profile_picture": "Definir foto de perfil",
"set_slideshow_to_fullscreen": "ApresentaÃ§ÃŖo em tela cheia",
+ "setting_image_viewer_help": "O visualizador de imagens carrega primeiro a miniatura pequena, depois carrega a imagem de tamanho mÊdio (se ativado) e, por fim, carrega o original (se ativado).",
+ "setting_image_viewer_original_subtitle": "Ative para carregar a imagem original em resoluÃ§ÃŖo mÃĄxima (grande!). Desative para reduzir o uso de dados (tanto na rede quanto no cache do dispositivo).",
+ "setting_image_viewer_original_title": "Carregar imagem original",
+ "setting_image_viewer_preview_subtitle": "Ative para carregar uma imagem de resoluÃ§ÃŖo mÊdia. Desative para carregar diretamente o original ou usar apenas a miniatura.",
+ "setting_image_viewer_preview_title": "Carregar imagem de prÊ-visualizaÃ§ÃŖo",
+ "setting_image_viewer_title": "Imagens",
+ "setting_languages_apply": "Aplicar",
+ "setting_languages_subtitle": "Alterar o idioma do aplicativo",
+ "setting_languages_title": "Idiomas",
+ "setting_notifications_notify_failures_grace_period": "Notifique falhas de backup em segundo plano: {}",
+ "setting_notifications_notify_hours": "{} horas",
+ "setting_notifications_notify_immediately": "imediatamente",
+ "setting_notifications_notify_minutes": "{} minutos",
+ "setting_notifications_notify_never": "nunca",
+ "setting_notifications_notify_seconds": "{} segundos",
+ "setting_notifications_single_progress_subtitle": "InformaçÃĩes detalhadas sobre o progresso do envio por arquivo",
+ "setting_notifications_single_progress_title": "Mostrar detalhes do progresso do backup em segundo plano",
+ "setting_notifications_subtitle": "Ajuste suas preferÃĒncias de notificaÃ§ÃŖo",
+ "setting_notifications_total_progress_subtitle": "Progresso do envio de arquivos (concluÃdos/total)",
+ "setting_notifications_total_progress_title": "Mostrar o progresso total do backup em segundo plano",
+ "setting_video_viewer_looping_title": "Repetir",
+ "setting_video_viewer_original_video_subtitle": "Ao transmitir um vÃdeo do servidor, usar o arquivo original, mesmo quando uma versÃŖo transcodificada esteja disponÃvel. Pode fazer com que o vÃdeo demore para carregar. VÃdeos disponÃveis localmente sÃŖo exibidos na qualidade original independente desta configuraÃ§ÃŖo.",
+ "setting_video_viewer_original_video_title": "Forçar vÃdeo original",
"settings": "ConfiguraçÃĩes",
+ "settings_require_restart": "Reinicie o Immich para aplicar esta configuraÃ§ÃŖo",
"settings_saved": "ConfiguraçÃĩes salvas",
"share": "Compartilhar",
"share_add_photos": "Adicionar fotos",
+ "share_assets_selected": "{} selecionado",
"share_dialog_preparing": "Preparando...",
"shared": "Compartilhado",
+ "shared_album_activities_input_disable": "ComentÃĄrios desativados",
+ "shared_album_activity_remove_content": "Deseja excluir esta atividade?",
+ "shared_album_activity_remove_title": "Excluir atividade",
+ "shared_album_section_people_action_error": "Erro ao sair/remover do ÃĄlbum",
+ "shared_album_section_people_action_leave": "Sair do ÃĄlbum",
+ "shared_album_section_people_action_remove_user": "Remover usuÃĄrio do ÃĄlbum",
+ "shared_album_section_people_title": "PESSOAS",
"shared_by": "Compartilhado por",
"shared_by_user": "Compartilhado por {user}",
"shared_by_you": "Compartilhado por vocÃĒ",
"shared_from_partner": "Fotos de {partner}",
+ "shared_intent_upload_button_progress_text": "Enviados {} de {}",
+ "shared_link_app_bar_title": "Links compartilhados",
+ "shared_link_clipboard_copied_massage": "Copiado para a ÃĄrea de transferÃĒncia",
+ "shared_link_clipboard_text": "Link: {}\nSenha: {}",
+ "shared_link_create_error": "Erro ao criar o link compartilhado",
+ "shared_link_edit_description_hint": "Digite a descriÃ§ÃŖo do compartilhamento",
+ "shared_link_edit_expire_after_option_day": "1 dia",
+ "shared_link_edit_expire_after_option_days": "{} dias",
+ "shared_link_edit_expire_after_option_hour": "1 hora",
+ "shared_link_edit_expire_after_option_hours": "{} horas",
+ "shared_link_edit_expire_after_option_minute": "1 minuto",
+ "shared_link_edit_expire_after_option_minutes": "{} minutos",
+ "shared_link_edit_expire_after_option_months": "{} meses",
+ "shared_link_edit_expire_after_option_year": "{} ano",
+ "shared_link_edit_password_hint": "Digite uma senha para proteger este link",
+ "shared_link_edit_submit_button": "Atualizar link",
+ "shared_link_error_server_url_fetch": "Erro ao abrir a URL do servidor",
+ "shared_link_expires_day": "Expira em {} dia",
+ "shared_link_expires_days": "Expira em {} dias",
+ "shared_link_expires_hour": "Expira em {} hora",
+ "shared_link_expires_hours": "Expira em {} horas",
+ "shared_link_expires_minute": "Expira em {} minuto",
+ "shared_link_expires_minutes": "Expira em {} minutos",
+ "shared_link_expires_never": "Expira em â",
+ "shared_link_expires_second": "Expira em {} segundo",
+ "shared_link_expires_seconds": "Expira em {} segundos",
+ "shared_link_individual_shared": "Compartilhado Individualmente",
+ "shared_link_info_chip_metadata": "EXIF",
+ "shared_link_manage_links": "Gerenciar links compartilhados",
"shared_link_options": "OpçÃĩes de link compartilhado",
"shared_links": "Links compartilhados",
"shared_links_description": "Compartilhar fotos e videos com um link",
"shared_photos_and_videos_count": "{assetCount, plural, one {# Foto & vÃdeo compartilhado.} other {# Fotos & vÃdeos compartilhados.}}",
+ "shared_with_me": "Compartilhado comigo",
"shared_with_partner": "Compartilhado com {partner}",
"sharing": "Compartilhamento",
"sharing_enter_password": "Digite a senha para visualizar esta pÃĄgina.",
@@ -1334,12 +1721,12 @@
"sort_recent": "Foto mais recente",
"sort_title": "TÃtulo",
"source": "Fonte",
- "stack": "Empilhar",
- "stack_duplicates": "Empilhar duplicados",
- "stack_select_one_photo": "Selecione uma foto principal para a pilha",
- "stack_selected_photos": "Empilhar fotos selecionadas",
- "stacked_assets_count": "{count, plural, one {# Arquivo empilhado} other {# Arquivos empilhados}}",
- "stacktrace": "Rastreamento de pilha",
+ "stack": "Agrupar",
+ "stack_duplicates": "Agrupar duplicados",
+ "stack_select_one_photo": "Selecione uma foto principal para o grupo",
+ "stack_selected_photos": "Agrupar fotos selecionadas",
+ "stacked_assets_count": "{count, plural, one {# arquivo adicionado} other {# arquivos adicionados}} ao grupo",
+ "stacktrace": "Stacktrace",
"start": "InÃcio",
"start_date": "Data inicial",
"state": "Estado",
@@ -1359,6 +1746,9 @@
"support_third_party_description": "Sua instalaÃ§ÃŖo do Immich Ê fornecida por terceiros. à possÃvel que problemas sejam causados por eles, por isso, se tiver problemas, procure primeiro ajuda com eles utilizando os links abaixo.",
"swap_merge_direction": "Alternar direÃ§ÃŖo da mesclagem",
"sync": "Sincronizar",
+ "sync_albums": "Sincronizar ÃĄlbuns",
+ "sync_albums_manual_subtitle": "Sincronize todos as fotos e vÃdeos enviados para os ÃĄlbuns de backup selecionados",
+ "sync_upload_album_setting_subtitle": "Crie e envie suas fotos e vÃdeos para o ÃĄlbum selecionado no Immich",
"tag": "Marcador",
"tag_assets": "Marcar arquivos",
"tag_created": "Marcador criado: {tag}",
@@ -1372,8 +1762,15 @@
"theme": "Tema",
"theme_selection": "Selecionar tema",
"theme_selection_description": "Defina automaticamente o tema como claro ou escuro com base na preferÃĒncia do sistema do seu navegador",
+ "theme_setting_asset_list_storage_indicator_title": "Mostrar indicador de armazenamento na grade de fotos",
+ "theme_setting_asset_list_tiles_per_row_title": "Quantidade de arquivos por linha ({})",
+ "theme_setting_colorful_interface_subtitle": "Aplica a cor primÃĄria ao fundo",
+ "theme_setting_colorful_interface_title": "Interface colorida",
"theme_setting_image_viewer_quality_subtitle": "Ajuste a qualidade de imagens detalhadas do visualizador",
"theme_setting_image_viewer_quality_title": "Qualidade das imagens do visualizador",
+ "theme_setting_primary_color_subtitle": "Selecione uma cor para açÃĩes principais e realces.",
+ "theme_setting_primary_color_title": "Cor primÃĄria",
+ "theme_setting_system_primary_color_title": "Usar a cor do sistema",
"theme_setting_system_theme_switch": "AutomÃĄtico (seguir a configuraÃ§ÃŖo do sistema)",
"theme_setting_theme_subtitle": "Escolha a configuraÃ§ÃŖo de tema do app",
"theme_setting_three_stage_loading_subtitle": "O carregamento em trÃĒs estÃĄgios oferece a imagem de melhor qualidade em troca de uma velocidade de carregamento mais lenta",
@@ -1397,7 +1794,15 @@
"trash_all": "Mover todos para o lixo",
"trash_count": "Lixo {count, number}",
"trash_delete_asset": "Jogar na lixeira/Excluir Arquivo",
+ "trash_emptied": "Lixeira esvaziada",
"trash_no_results_message": "Fotos e vÃdeos enviados para o lixo aparecem aqui.",
+ "trash_page_delete_all": "Excluir tudo",
+ "trash_page_empty_trash_dialog_content": "Deseja esvaziar a lixera? Estes arquivos serÃŖo apagados de forma permanente do Immich",
+ "trash_page_info": "Os itens da lixeira sÃŖo excluÃdos de forma permanente apÃŗs {} dias",
+ "trash_page_no_assets": "Lixeira vazia",
+ "trash_page_restore_all": "Restaurar tudo",
+ "trash_page_select_assets_btn": "Selecionar arquivos",
+ "trash_page_title": "Lixeira ({})",
"trashed_items_will_be_permanently_deleted_after": "Os itens da lixeira serÃŖo deletados permanentemente apÃŗs {days, plural, one {# dia} other {# dias}}.",
"type": "Tipo",
"unarchive": "Desarquivar",
@@ -1418,14 +1823,16 @@
"unsaved_change": "AlteraÃ§ÃŖo nÃŖo salva",
"unselect_all": "Desselecionar todos",
"unselect_all_duplicates": "Desselecionar todas as duplicatas",
- "unstack": "Desempilhar",
- "unstacked_assets_count": "{count, plural, one {# Arquivo desempilhado} other {# Arquivos desempilhados}}",
+ "unstack": "Retirar do grupo",
+ "unstacked_assets_count": "{count, plural, one {# arquivo retirado} other {# arquivos retirados}} do grupo",
"untracked_files": "Arquivos nÃŖo monitorados",
"untracked_files_decription": "Estes arquivos nÃŖo sÃŖo monitorados pela aplicaÃ§ÃŖo. Podem ser resultados de falhas em uma movimentaÃ§ÃŖo, carregamentos interrompidos, ou deixados para trÃĄs por causa de um problema",
"up_next": "A seguir",
"updated_password": "Senha atualizada",
"upload": "Carregar",
"upload_concurrency": "Envios simultÃĸneos",
+ "upload_dialog_info": "Deseja fazer o backup dos arquivos selecionados no servidor?",
+ "upload_dialog_title": "Enviar arquivo",
"upload_errors": "Envio concluÃdo com {count, plural, one {# erro} other {# erros}}, atualize a pÃĄgina para ver os novos arquivos carregados.",
"upload_progress": "{remaining, number} restantes - {processed, number}/{total, number} jÃĄ processados",
"upload_skipped_duplicates": "{count, plural, one {# Arquivo duplicado foi ignorado} other {# Arquivos duplicados foram ignorados}}",
@@ -1433,8 +1840,11 @@
"upload_status_errors": "Erros",
"upload_status_uploaded": "Carregado",
"upload_success": "Carregado com sucesso, atualize a pÃĄgina para ver os novos arquivos.",
+ "upload_to_immich": "Enviar para o Immich ({})",
+ "uploading": "Enviando",
"url": "URL",
"usage": "Uso",
+ "use_current_connection": "usar conexÃŖo atual",
"use_custom_date_range": "Usar intervalo de datas personalizado",
"user": "UsuÃĄrio",
"user_id": "ID do usuÃĄrio",
@@ -1449,6 +1859,7 @@
"users": "UsuÃĄrios",
"utilities": "Ferramentas",
"validate": "Validar",
+ "validate_endpoint_error": "Digite uma URL vÃĄlida",
"variables": "VariÃĄveis",
"version": "VersÃŖo",
"version_announcement_closing": "De seu amigo, Alex",
@@ -1476,16 +1887,21 @@
"view_next_asset": "Ver prÃŗximo arquivo",
"view_previous_asset": "Ver arquivo anterior",
"view_qr_code": "Ver QR Code",
- "view_stack": "Ver Pilha",
+ "view_stack": "Ver grupo",
+ "viewer_remove_from_stack": "Remover do grupo",
+ "viewer_stack_use_as_main_asset": "Usar como foto principal",
+ "viewer_unstack": "Desagrupar",
"visibility_changed": "A visibilidade de {count, plural, one {# pessoa foi alterada} other {# pessoas foram alteradas}}",
"waiting": "Na fila",
"warning": "Aviso",
"week": "Semana",
- "welcome": "Bem-vindo",
- "welcome_to_immich": "Bem-vindo ao Immich",
+ "welcome": "Bem-vindo(a)",
+ "welcome_to_immich": "Bem-vindo(a) ao Immich",
+ "wifi_name": "Nome do Wi-Fi",
"year": "Ano",
"years_ago": "{years, plural, one {# ano} other {# anos}} atrÃĄs",
"yes": "Sim",
- "you_dont_have_any_shared_links": "VocÃĒ nÃŖo possui links compartilhados",
+ "you_dont_have_any_shared_links": "NÃŖo hÃĄ links compartilhados",
+ "your_wifi_name": "Nome do seu Wi-Fi",
"zoom_image": "Ampliar imagem"
}
diff --git a/i18n/ro.json b/i18n/ro.json
index 82bdc6d1dd..80f5ed4650 100644
--- a/i18n/ro.json
+++ b/i18n/ro.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Auto ÃŽnregistrare",
"oauth_auto_register_description": "ÃnregistreazÄ automat utilizatori noi dupÄ autentificarea cu OAuth",
"oauth_button_text": "Text buton",
- "oauth_client_id": "ID Client",
- "oauth_client_secret": "Secret client",
"oauth_enable_description": "AutentificÄ-te cu OAuth",
- "oauth_issuer_url": "Emitentul URL",
"oauth_mobile_redirect_uri": "URI de redirecČionare mobilÄ",
"oauth_mobile_redirect_uri_override": "Ãnlocuire URI de redirecČionare mobilÄ",
"oauth_mobile_redirect_uri_override_description": "ActivaČi atunci cÃĸnd furnizorul OAuth nu permite un URI mobil, precum '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritm de semnare a profilului",
- "oauth_profile_signing_algorithm_description": "Algoritm folosit pentru a semna profilul utilizatorului.",
- "oauth_scope": "Domeniul de aplicare",
"oauth_settings": "OAuth",
"oauth_settings_description": "GestionaČi setÄrile de conectare OAuth",
"oauth_settings_more_details": "Pentru mai multe detalii despre aceastĮ funcČionalitate, verificĮ documentaČia.",
- "oauth_signing_algorithm": "Algoritm de semnare",
"oauth_storage_label_claim": "Revendicare eticheta de stocare",
"oauth_storage_label_claim_description": "SetaČi automat eticheta de stocare a utilizatorului la valoarea acestei revendicÄri.",
"oauth_storage_quota_claim": "Revendicare spaČiu de stocare",
diff --git a/i18n/ru.json b/i18n/ru.json
index a78a9d6701..bc230a3d29 100644
--- a/i18n/ru.json
+++ b/i18n/ru.json
@@ -49,13 +49,13 @@
"cleared_jobs": "ĐŅиŅĐĩĐŊŅ ĐˇĐ°Đ´Đ°Ņи Đ´ĐģŅ: {job}",
"config_set_by_file": "ĐаŅŅŅĐžĐĩĐŊĐž Ņ ĐŋĐžĐŧĐžŅŅŅ ŅаКĐģа ĐēĐžĐŊŅĐ¸ĐŗŅŅаŅии",
"confirm_delete_library": "ĐŅ Đ´ĐĩĐšŅŅвиŅĐĩĐģŅĐŊĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ ĐąĐ¸ĐąĐģиОŅĐĩĐēŅ \"{library}\"?",
- "confirm_delete_library_assets": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ ŅŅŅ ĐąĐ¸ĐąĐģиОŅĐĩĐēŅ? ĐŅĐž ĐąĐĩСвОСвŅаŅĐŊĐž ŅдаĐģĐ¸Ņ {count, plural, one {# ŅОдĐĩŅĐļиĐŧŅĐš ОйŅĐĩĐēŅ} few {# ŅОдĐĩŅĐļиĐŧŅŅ
ОйŅĐĩĐēŅа} other {all # ŅОдĐĩŅĐļиĐŧŅŅ
ОйŅĐĩĐēŅОв}} иС Immich. ФаКĐģŅ ĐžŅŅаĐŊŅŅŅŅ ĐŊа диŅĐēĐĩ.",
+ "confirm_delete_library_assets": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ ŅŅŅ ĐąĐ¸ĐąĐģиОŅĐĩĐēŅ? ĐŅĐž ĐąĐĩСвОСвŅаŅĐŊĐž ŅдаĐģĐ¸Ņ {count, plural, one {# ОйŅĐĩĐēŅ} many {# ОйŅĐĩĐēŅОв} other {# ОйŅĐĩĐēŅа}} иС Immich. ФаКĐģŅ ĐžŅŅаĐŊŅŅŅŅ ĐŊа диŅĐēĐĩ.",
"confirm_email_below": "ЧŅĐžĐąŅ ĐŋОдŅвĐĩŅдиŅŅ, ввĐĩдиŅĐĩ \"{email}\" ĐŊиĐļĐĩ",
"confirm_reprocess_all_faces": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ĐŋОвŅĐžŅĐŊĐž ĐžĐŋŅĐĩĐ´ĐĩĐģиŅŅ Đ˛ŅĐĩ ĐģиŅа? ĐŅĐ´ŅŅ ŅаĐēĐļĐĩ ŅдаĐģĐĩĐŊŅ Đ¸ĐŧĐĩĐŊа ŅĐž вŅĐĩŅ
ĐģиŅ.",
"confirm_user_password_reset": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅĐąŅĐžŅиŅŅ ĐŋаŅĐžĐģŅ ĐŋĐžĐģŅСОваŅĐĩĐģŅ {user}?",
"create_job": "ХОСдаŅŅ ĐˇĐ°Đ´Đ°ĐŊиĐĩ",
"cron_expression": "РаŅĐŋиŅаĐŊиĐĩ (вŅŅаĐļĐĩĐŊиĐĩ ĐŋĐģаĐŊиŅОвŅиĐēа cron)",
- "cron_expression_description": "ЧаŅŅĐžŅа и вŅĐĩĐŧŅ Đ˛ŅĐŋĐžĐģĐŊĐĩĐŊĐ¸Ņ ĐˇĐ°Đ´Đ°ĐŊĐ¸Ņ Đ˛ ŅĐžŅĐŧаŅĐĩ ĐŋĐģаĐŊиŅОвŅиĐēа cron. ĐĐžŅĐŋĐžĐģŅСŅĐšŅĐĩŅŅ ĐžĐŊĐģаКĐŊ ĐŗĐĩĐŊĐĩŅаŅĐžŅĐžĐŧ Crontab Guru ĐŋŅи ĐŊĐĩОйŅ
ОдиĐŧĐžŅŅи.",
+ "cron_expression_description": "ЧаŅŅĐžŅа и вŅĐĩĐŧŅ Đ˛ŅĐŋĐžĐģĐŊĐĩĐŊĐ¸Ņ ĐˇĐ°Đ´Đ°ĐŊĐ¸Ņ Đ˛ ŅĐžŅĐŧаŅĐĩ ĐŋĐģаĐŊиŅОвŅиĐēа cron. ĐĐžŅĐŋĐžĐģŅСŅĐšŅĐĩŅŅ ĐŋŅи ĐŊĐĩОйŅ
ОдиĐŧĐžŅŅи виСŅаĐģŅĐŊŅĐŧ ŅĐĩдаĐēŅĐžŅĐžĐŧ Crontab Guru",
"cron_expression_presets": "РаŅĐŋиŅаĐŊиĐĩ (ĐŋŅĐĩĐ´ŅŅŅаĐŊОвĐģĐĩĐŊĐŊŅĐĩ ваŅиаĐŊŅŅ)",
"disable_login": "ĐŅĐēĐģŅŅиŅŅ Đ˛Ņ
Од",
"duplicate_detection_job_description": "ĐаĐŋŅŅĐēаĐĩŅ ĐžĐŋŅĐĩĐ´ĐĩĐģĐĩĐŊиĐĩ ĐŋĐžŅ
ĐžĐļиŅ
иСОйŅаĐļĐĩĐŊиК ĐŋŅи ĐŋĐžĐŧĐžŅи ĐŧаŅиĐŊĐŊĐžĐŗĐž СŅĐĩĐŊĐ¸Ņ (СавиŅĐ¸Ņ ĐžŅ ŅĐŧĐŊĐžĐŗĐž ĐŋОиŅĐēа)",
@@ -192,26 +192,22 @@
"oauth_auto_register": "ĐвŅĐžĐŧаŅиŅĐĩŅĐēĐ°Ņ ŅĐĩĐŗĐ¸ŅŅŅаŅиŅ",
"oauth_auto_register_description": "ĐвŅĐžĐŧаŅиŅĐĩŅĐēи ŅĐĩĐŗĐ¸ŅŅŅиŅОваŅŅ ĐŊОвŅŅ
ĐŋĐžĐģŅСОваŅĐĩĐģĐĩĐš ĐŋŅи вŅ
ОдĐĩ в ŅиŅŅĐĩĐŧŅ Ņ ĐŋĐžĐŧĐžŅŅŅ OAuth",
"oauth_button_text": "ĐĸĐĩĐēŅŅ ĐēĐŊĐžĐŋĐēи",
- "oauth_client_id": "ID ĐĐģиĐĩĐŊŅа",
- "oauth_client_secret": "ĐĄĐĩĐēŅĐĩŅ ĐĐģиĐĩĐŊŅа",
+ "oauth_client_secret_description": "ĐĸŅĐĩĐąŅĐĩŅŅŅ ĐĩŅĐģи PKCE (Proof Key for Code Exchange) ĐŊĐĩ ĐŋОддĐĩŅĐļиваĐĩŅŅŅ OAuth ĐŋŅОваКдĐĩŅĐžĐŧ",
"oauth_enable_description": "ĐŅ
Од Ņ ĐŋĐžĐŧĐžŅŅŅ OAuth",
- "oauth_issuer_url": "URL-адŅĐĩŅ ŅĐŧиŅĐĩĐŊŅа",
"oauth_mobile_redirect_uri": "URI ŅĐĩдиŅĐĩĐēŅа Đ´ĐģŅ ĐŧОйиĐģŅĐŊŅŅ
",
"oauth_mobile_redirect_uri_override": "ĐĐĩŅĐĩĐŊаĐŋŅавĐģĐĩĐŊиĐĩ URI Đ´ĐģŅ ĐŧОйиĐģŅĐŊŅŅ
ŅŅŅŅОКŅŅв",
"oauth_mobile_redirect_uri_override_description": "ĐĐēĐģŅŅиŅĐĩ, ĐĩŅĐģи ĐŋĐžŅŅавŅиĐē OAuth ĐŊĐĩ ŅаСŅĐĩŅаĐĩŅ Đ¸ŅĐŋĐžĐģŅСОваĐŊиĐĩ ĐŧОйиĐģŅĐŊĐžĐŗĐž URI, ĐŊаĐŋŅиĐŧĐĩŅ, '{callback}'",
- "oauth_profile_signing_algorithm": "ĐĐģĐŗĐžŅиŅĐŧ ĐŋОдĐŋиŅи ĐŋŅĐžŅиĐģŅ",
- "oauth_profile_signing_algorithm_description": "ĐĐģĐŗĐžŅиŅĐŧ, иŅĐŋĐžĐģŅСŅĐĩĐŧŅĐš Đ´ĐģŅ Đ˛Ņ
Ода в ĐŋŅĐžŅиĐģŅ ĐŋĐžĐģŅСОваŅĐĩĐģŅ.",
- "oauth_scope": "РаСŅĐĩŅĐĩĐŊиŅ",
"oauth_settings": "OAuth",
"oauth_settings_description": "ĐаŅŅŅОКĐēи вŅ
Ода ŅĐĩŅĐĩС OAuth",
"oauth_settings_more_details": "ĐĐģŅ ĐŋĐžĐģŅŅĐĩĐŊĐ¸Ņ Đ´ĐžĐŋĐžĐģĐŊиŅĐĩĐģŅĐŊОК иĐŊŅĐžŅĐŧаŅиК Ой ŅŅОК ŅŅĐŊĐēŅии ОйŅаŅиŅĐĩŅŅ Đē Đ´ĐžĐēŅĐŧĐĩĐŊŅаŅии.",
- "oauth_signing_algorithm": "ĐĐģĐŗĐžŅиŅĐŧ ĐŋОдĐŋиŅи",
"oauth_storage_label_claim": "ĐĸĐĩĐŗ диŅĐĩĐēŅĐžŅии Ņ
ŅаĐŊиĐģиŅа",
"oauth_storage_label_claim_description": "ĐвŅĐžĐŧаŅиŅĐĩŅĐēи СадаваŅŅ Đ´ĐģŅ ĐŧĐĩŅĐēи Ņ
ŅаĐŊиĐģиŅа ĐŋĐžĐģŅСОваŅĐĩĐģŅ ĐˇĐŊаŅĐĩĐŊиĐĩ ŅŅĐžĐŗĐž ŅŅвĐĩŅĐļĐ´ĐĩĐŊиŅ.",
"oauth_storage_quota_claim": "ĐаŅвĐēа ĐŊа ĐēвОŅŅ Ņ
ŅаĐŊиĐģиŅа",
"oauth_storage_quota_claim_description": "ĐвŅĐžĐŧаŅиŅĐĩŅĐēи ŅŅŅаĐŊавĐģиваŅŅ ĐēвОŅŅ Ņ
ŅаĐŊиĐģиŅа ĐŋĐžĐģŅСОваŅĐĩĐģŅ ĐŊа СĐŊаŅĐĩĐŊиĐĩ, ŅĐēаСаĐŊĐŊĐžĐĩ в ŅŅОК ĐŊаŅŅŅОКĐēĐĩ.",
"oauth_storage_quota_default": "ĐвОŅа Ņ
ŅаĐŊиĐģиŅа ĐŋĐž ŅĐŧĐžĐģŅаĐŊĐ¸Ņ (ĐĐ)",
"oauth_storage_quota_default_description": "ĐвОŅа в GiB, ĐēĐžŅĐžŅĐ°Ņ ĐąŅĐ´ĐĩŅ Đ¸ŅĐŋĐžĐģŅСОваŅŅŅŅ, ĐĩŅĐģи ĐŊаŅŅŅОКĐēа ĐŊĐĩ СадаĐŊа (ввĐĩдиŅĐĩ 0 Đ´ĐģŅ ĐŊĐĩĐžĐŗŅаĐŊиŅĐĩĐŊĐŊОК ĐēвОŅŅ).",
+ "oauth_timeout": "ĐĸаКĐŧаŅŅ Đ´ĐģŅ ĐˇĐ°ĐŋŅĐžŅОв",
+ "oauth_timeout_description": "ĐаĐēŅиĐŧаĐģŅĐŊĐžĐĩ вŅĐĩĐŧŅ, в ŅĐĩŅĐĩĐŊиĐĩ ĐēĐžŅĐžŅĐžĐŗĐž ĐžĐļидаŅŅ ĐžŅвĐĩŅа, в ĐŧиĐģĐģиŅĐĩĐēŅĐŊдаŅ
",
"offline_paths": "ĐĐĩĐ´ĐžŅŅŅĐŋĐŊŅĐĩ ĐŋŅŅи",
"offline_paths_description": "ĐŅи ŅĐĩСŅĐģŅŅаŅŅ ĐŧĐžĐŗŅŅ ĐąŅŅŅ Đ˛ŅСваĐŊŅ ŅŅŅĐŊŅĐŧ ŅдаĐģĐĩĐŊиĐĩĐŧ ŅаКĐģОв, ĐēĐžŅĐžŅŅĐĩ ĐŊĐĩ ŅвĐģŅŅŅŅŅ ŅаŅŅŅŅ Đ˛ĐŊĐĩŅĐŊĐĩĐš йийĐģиОŅĐĩĐēи.",
"password_enable_description": "ĐОКŅи ĐŋĐž ŅĐģĐĩĐēŅŅĐžĐŊĐŊОК ĐŋĐžŅŅĐĩ и ĐŋаŅĐžĐģŅ",
@@ -225,7 +221,7 @@
"registration_description": "ĐĐžŅĐēĐžĐģŅĐēŅ Đ˛Ņ ŅвĐģŅĐĩŅĐĩŅŅ ĐŋĐĩŅвŅĐŧ ĐŋĐžĐģŅСОваŅĐĩĐģĐĩĐŧ в ŅиŅŅĐĩĐŧĐĩ, ваĐŧ ĐąŅĐ´ĐĩŅ ĐŋŅиŅвОĐĩĐŊа ŅĐžĐģŅ Đ°Đ´ĐŧиĐŊиŅŅŅаŅĐžŅа, и Đ˛Ņ ĐąŅĐ´ĐĩŅĐĩ ĐžŅвĐĩŅаŅŅ ĐˇĐ° адĐŧиĐŊиŅŅŅаŅивĐŊŅĐĩ СадаŅи. ĐĐžĐŋĐžĐģĐŊиŅĐĩĐģŅĐŊŅŅ
ĐŋĐžĐģŅСОваŅĐĩĐģĐĩĐš ĐąŅĐ´ĐĩŅĐĩ ŅОСдаваŅŅ Đ˛Ņ.",
"repair_all": "ĐĐžŅиĐŊиŅŅ Đ˛ŅŅ",
"repair_matched_items": "ХООŅвĐĩŅŅŅвŅĐĩŅ {count, plural, one {# ŅĐģĐĩĐŧĐĩĐŊŅŅ} few {# ŅĐģĐĩĐŧĐĩĐŊŅаĐŧ} many {# ŅĐģĐĩĐŧĐĩĐŊŅаĐŧ} other {# ŅĐģĐĩĐŧĐĩĐŊŅаĐŧ}}",
- "repaired_items": "ĐĐžŅŅŅаĐŊОвĐģĐĩĐŊĐž {count, plural, one {# ŅĐģĐĩĐŧĐĩĐŊŅ} few {# ŅĐģĐĩĐŧĐĩĐŊŅа} many {# ŅĐģĐĩĐŧĐĩĐŊŅОв} other {# ŅĐģĐĩĐŧĐĩĐŊŅа}}",
+ "repaired_items": "{count, plural, one {ĐĐžŅŅŅаĐŊОвĐģĐĩĐŊ # ŅĐģĐĩĐŧĐĩĐŊŅ} many {ĐĐžŅŅŅаĐŊОвĐģĐĩĐŊĐž # ŅĐģĐĩĐŧĐĩĐŊŅОв} other {ĐĐžŅŅŅаĐŊОвĐģĐĩĐŊĐž # ŅĐģĐĩĐŧĐĩĐŊŅа}}",
"require_password_change_on_login": "ĐĸŅĐĩйОваŅŅ ŅĐŧĐĩĐŊŅ ĐŋаŅĐžĐģŅ ĐŋŅи ĐŋĐĩŅвОĐŧ вŅ
ОдĐĩ",
"reset_settings_to_default": "ĐĄĐąŅĐžŅ ĐŊаŅŅŅĐžĐĩĐē Đ´Đž СĐŊаŅĐĩĐŊиК ĐŋĐž ŅĐŧĐžĐģŅаĐŊиŅ",
"reset_settings_to_recent_saved": "ĐĄĐąŅĐžŅŅŅĐĩ ĐŊаŅŅŅОКĐēи Đē ĐŋĐžŅĐģĐĩĐ´ĐŊиĐŧ ŅĐžŅ
ŅаĐŊĐĩĐŊĐŊŅĐŧ ĐŊаŅŅŅОКĐēаĐŧ",
@@ -421,7 +417,7 @@
"album_viewer_page_share_add_users": "ĐОйавиŅŅ ĐŋĐžĐģŅСОваŅĐĩĐģĐĩĐš",
"album_with_link_access": "ĐОдĐĩĐģиŅĐĩŅŅ ŅŅŅĐģĐēОК ĐŊа аĐģŅйОĐŧ, ŅŅĐžĐąŅ Đ˛Đ°Ņи Đ´ŅŅСŅŅ ĐŧĐžĐŗĐģи ĐĩĐŗĐž ĐŋĐžŅĐŧĐžŅŅĐĩŅŅ.",
"albums": "ĐĐģŅйОĐŧŅ",
- "albums_count": "{count, plural, one {{count, number} аĐģŅйОĐŧ} few {{count, number} аĐģŅйОĐŧа} many {{count, number} аĐģŅйОĐŧОв} other {{count, number} аĐģŅйОĐŧОв}}",
+ "albums_count": "{count, plural, one {{count, number} аĐģŅйОĐŧ} few {{count, number} аĐģŅйОĐŧа} many {{count, number} аĐģŅйОĐŧОв} other {{count, number} аĐģŅйОĐŧа}}",
"all": "ĐŅĐĩ",
"all_albums": "ĐŅĐĩ аĐģŅйОĐŧŅ",
"all_people": "ĐŅĐĩ ĐģŅди",
@@ -448,7 +444,7 @@
"archive_size": "РаСĐŧĐĩŅ Đ°ŅŅ
ива",
"archive_size_description": "ĐаŅŅŅОКĐēа ŅаСĐŧĐĩŅа аŅŅ
ива Đ´ĐģŅ ŅĐēаŅиваĐŊĐ¸Ņ (в GiB)",
"archived": "ĐŅŅ
ив",
- "archived_count": "{count, plural, other {ĐŅŅ
ивиŅОваĐŊĐž #}}",
+ "archived_count": "{count, plural, one {# ОйŅĐĩĐēŅ ĐŋĐĩŅĐĩĐŊĐĩŅŅĐŊ} many {# ОйŅĐĩĐēŅОв ĐŋĐĩŅĐĩĐŊĐĩŅĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ĐŋĐĩŅĐĩĐŊĐĩŅĐĩĐŊĐž}} в аŅŅ
ив",
"are_these_the_same_person": "ĐŅĐž ОдиĐŊ и ŅĐžŅ ĐļĐĩ ŅĐĩĐģОвĐĩĐē?",
"are_you_sure_to_do_this": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅŅĐž ŅĐ´ĐĩĐģаŅŅ?",
"asset_action_delete_err_read_only": "ĐĐĩвОСĐŧĐžĐļĐŊĐž ŅдаĐģиŅŅ ĐžĐąŅĐĩĐēŅ(Ņ) ŅĐžĐģŅĐēĐž Đ´ĐģŅ ŅŅĐĩĐŊиŅ, ĐŋŅĐžĐŋŅŅĐē...",
@@ -477,21 +473,21 @@
"asset_viewer_settings_subtitle": "ĐаŅŅŅОКĐēа ĐŋаŅаĐŧĐĩŅŅОв ĐžŅОйŅаĐļĐĩĐŊиŅ",
"asset_viewer_settings_title": "ĐŅĐžŅĐŧĐžŅŅ Đ¸ĐˇĐžĐąŅаĐļĐĩĐŊиК",
"assets": "ĐĐąŅĐĩĐēŅŅ",
- "assets_added_count": "ĐОйавĐģĐĩĐŊĐž {count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}}",
- "assets_added_to_album_count": "РаĐģŅйОĐŧ дОйавĐģĐĩĐŊĐž {count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}}",
- "assets_added_to_name_count": "ĐОйавĐģĐĩĐŊĐž {count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}} в {hasName, select, true {{name} } other {ĐŊОвŅĐš аĐģŅйОĐŧ}}",
- "assets_count": "{count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}}",
+ "assets_added_count": "{count, plural, one {ĐОйавĐģĐĩĐŊ # ОйŅĐĩĐēŅ} many {ĐОйавĐģĐĩĐŊĐž # ОйŅĐĩĐēŅОв} other {ĐОйавĐģĐĩĐŊĐž # ОйŅĐĩĐēŅа}}",
+ "assets_added_to_album_count": "РаĐģŅйОĐŧ {count, plural, one {дОйавĐģĐĩĐŊ # ОйŅĐĩĐēŅ} many {дОйавĐģĐĩĐŊĐž # ОйŅĐĩĐēŅОв} other {дОйавĐģĐĩĐŊĐž # ОйŅĐĩĐēŅа}}",
+ "assets_added_to_name_count": "{count, plural, one {# ОйŅĐĩĐēŅ Đ´ĐžĐąĐ°Đ˛ĐģĐĩĐŊ} many {# ОйŅĐĩĐēŅОв дОйавĐģĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа дОйавĐģĐĩĐŊĐž}} в {hasName, select, true {аĐģŅйОĐŧ {name} } other {ĐŊОвŅĐš аĐģŅйОĐŧ}}",
+ "assets_count": "{count, plural, one {# ОйŅĐĩĐēŅ} many {# ОйŅĐĩĐēŅОв} other {# ОйŅĐĩĐēŅа}}",
"assets_deleted_permanently": "{} ОйŅĐĩĐēŅ(Ņ) ŅдаĐģĐĩĐŊ(Ņ) ĐŊавŅĐĩĐŗĐ´Đ°",
"assets_deleted_permanently_from_server": "{} ОйŅĐĩĐēŅ(Ņ) ŅдаĐģĐĩĐŊ(Ņ) ĐŊавŅĐĩĐŗĐ´Đ° Ņ ŅĐĩŅвĐĩŅа Immich",
- "assets_moved_to_trash_count": "{count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}} ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž в ĐēĐžŅСиĐŊŅ",
- "assets_permanently_deleted_count": "{count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}} ŅдаĐģĐĩĐŊĐž ĐŊавŅĐĩĐŗĐ´Đ°",
- "assets_removed_count": "{count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}} ŅдаĐģĐĩĐŊĐž",
+ "assets_moved_to_trash_count": "{count, plural, one {# ОйŅĐĩĐēŅ ĐŋĐĩŅĐĩĐŧĐĩŅŅĐŊ} many {# ОйŅĐĩĐēŅОв ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž}} в ĐēĐžŅСиĐŊŅ",
+ "assets_permanently_deleted_count": "{count, plural, one {# ОйŅĐĩĐēŅ ŅдаĐģŅĐŊ} many {# ОйŅĐĩĐēŅОв ŅдаĐģĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ŅдаĐģĐĩĐŊĐž}} ĐŊавŅĐĩĐŗĐ´Đ°",
+ "assets_removed_count": "{count, plural, one {# ОйŅĐĩĐēŅ ŅдаĐģŅĐŊ} many {# ОйŅĐĩĐēŅОв ŅдаĐģĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ŅдаĐģĐĩĐŊĐž}}",
"assets_removed_permanently_from_device": "{} ОйŅĐĩĐēŅ(Ņ) ŅдаĐģĐĩĐŊ(Ņ) ĐŊавŅĐĩĐŗĐ´Đ° Ņ Đ˛Đ°ŅĐĩĐŗĐž ŅŅŅŅОКŅŅва",
"assets_restore_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ вОŅŅŅаĐŊОвиŅŅ Đ˛ŅĐĩ ОйŅĐĩĐēŅŅ Đ¸Đˇ ĐēĐžŅСиĐŊŅ? ĐŅĐž Đ´ĐĩĐšŅŅвиĐĩ ĐŊĐĩĐģŅĐˇŅ ĐžŅĐŧĐĩĐŊиŅŅ! ĐĐąŅаŅиŅĐĩ вĐŊиĐŧаĐŊиĐĩ, ŅŅĐž ĐģŅĐąŅĐĩ ĐžŅŅĐģаКĐŊ-ОйŅĐĩĐēŅŅ ĐŊĐĩ ĐŧĐžĐŗŅŅ ĐąŅŅŅ Đ˛ĐžŅŅŅаĐŊОвĐģĐĩĐŊŅ ŅаĐēиĐŧ ŅĐŋĐžŅОйОĐŧ.",
- "assets_restored_count": "{count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}} вОŅŅŅаĐŊОвĐģĐĩĐŊĐž",
+ "assets_restored_count": "{count, plural, one {# ОйŅĐĩĐēŅ Đ˛ĐžŅŅŅаĐŊОвĐģĐĩĐŊ} many {# ОйŅĐĩĐēŅОв вОŅŅŅаĐŊОвĐģĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа вОŅŅŅаĐŊОвĐģĐĩĐŊĐž}}",
"assets_restored_successfully": "{} ОйŅĐĩĐēŅ(Ņ) ŅŅĐŋĐĩŅĐŊĐž вОŅŅŅаĐŊОвĐģĐĩĐŊ(Ņ)",
"assets_trashed": "{} ОйŅĐĩĐēŅ(Ņ) ĐŋĐžĐŧĐĩŅĐĩĐŊ(Ņ) в ĐēĐžŅСиĐŊŅ",
- "assets_trashed_count": "{count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}} ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž в ĐēĐžŅСиĐŊŅ",
+ "assets_trashed_count": "{count, plural, one {# ОйŅĐĩĐēŅ ĐŋĐĩŅĐĩĐŧĐĩŅŅĐŊ} many {# ОйŅĐĩĐēŅОв ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž}} в ĐēĐžŅСиĐŊŅ",
"assets_trashed_from_server": "{} ОйŅĐĩĐēŅ(Ņ) ĐŋĐžĐŧĐĩŅĐĩĐŊ(Ņ) в ĐēĐžŅСиĐŊŅ ĐŊа ŅĐĩŅвĐĩŅĐĩ Immich",
"assets_were_part_of_album_count": "{count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}} ŅĐļĐĩ в аĐģŅйОĐŧĐĩ",
"authorized_devices": "РаСŅĐĩŅĐĩĐŊĐŊŅĐĩ ŅŅŅŅОКŅŅва",
@@ -531,7 +527,7 @@
"backup_controller_page_background_is_on": "ĐвŅĐžĐŧаŅиŅĐĩŅĐēĐžĐĩ ŅĐĩСĐĩŅвĐŊĐžĐĩ ĐēĐžĐŋиŅОваĐŊиĐĩ в ŅĐžĐŊОвОĐŧ ŅĐĩĐļиĐŧĐĩ вĐēĐģŅŅĐĩĐŊĐž",
"backup_controller_page_background_turn_off": "ĐŅĐēĐģŅŅиŅŅ ŅĐžĐŊОвŅŅ ŅĐģŅĐļĐąŅ",
"backup_controller_page_background_turn_on": "ĐĐēĐģŅŅиŅŅ ŅĐžĐŊОвŅŅ ŅĐģŅĐļĐąŅ",
- "backup_controller_page_background_wifi": "ĐĸĐžĐģŅĐēĐž ŅĐĩŅĐĩС WiFi",
+ "backup_controller_page_background_wifi": "ĐĸĐžĐģŅĐēĐž ŅĐĩŅĐĩС Wi-Fi",
"backup_controller_page_backup": "Đ ĐĩСĐĩŅвĐŊĐžĐĩ ĐēĐžĐŋиŅОваĐŊиĐĩ",
"backup_controller_page_backup_selected": "ĐŅĐąŅаĐŊĐž: ",
"backup_controller_page_backup_sub": "ĐĐ°ĐŗŅŅĐļĐĩĐŊĐŊŅĐĩ ŅĐžŅĐž и видĐĩĐž",
@@ -570,9 +566,9 @@
"bugs_and_feature_requests": "ĐŅийĐēи и СаĐŋŅĐžŅŅ",
"build": "ХйОŅĐēа",
"build_image": "ĐĐĩŅŅĐ¸Ņ ŅйОŅĐēи",
- "bulk_delete_duplicates_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ĐŧаŅŅОвО ŅдаĐģиŅŅ {count, plural, one {# Đ´ŅĐąĐģиŅŅŅŅиКŅŅ ĐžĐąŅĐĩĐēŅ} other {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅОв}}? ĐŅĐž ŅĐžŅ
ŅаĐŊĐ¸Ņ ŅаĐŧŅĐš йОĐģŅŅОК ŅаКĐģ иС ĐēаĐļдОК ĐŗŅŅĐŋĐŋŅ Đ¸ ĐŊавŅĐĩĐŗĐ´Đ° ŅдаĐģĐ¸Ņ Đ´ŅĐąĐģиĐēаŅŅ. ĐŅĐž Đ´ĐĩĐšŅŅвиĐĩ ĐŊĐĩĐģŅĐˇŅ ĐžŅĐŧĐĩĐŊиŅŅ!",
- "bulk_keep_duplicates_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ĐžŅŅавиŅŅ {count, plural, one {# Đ´ŅĐąĐģиŅŅŅŅиКŅŅ ĐžĐąŅĐĩĐēŅ} other {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅОв}}? ĐŅĐž ŅĐžŅ
ŅаĐŊĐ¸Ņ Đ˛ŅĐĩ Đ´ŅĐąĐģиĐēаŅŅ.",
- "bulk_trash_duplicates_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ĐŧаŅŅОвО ĐŋĐĩŅĐĩĐŧĐĩŅŅиŅŅ Đ˛ ĐēĐžŅСиĐŊŅ {count, plural, one {# Đ´ŅĐąĐģиŅŅŅŅиКŅŅ ĐžĐąŅĐĩĐēŅ} other {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅОв}}? ĐŅĐž ŅĐžŅ
ŅаĐŊĐ¸Ņ ŅаĐŧŅĐš йОĐģŅŅОК ŅаКĐģ иС ĐēаĐļдОК ĐŗŅŅĐŋĐŋŅ Đ¸ ĐŋĐĩŅĐĩĐŧĐĩŅŅĐ¸Ņ Đ´ŅĐąĐģиĐēаŅŅ Đ˛ ĐēĐžŅСиĐŊŅ.",
+ "bulk_delete_duplicates_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ {count, plural, one {# Đ´ŅĐąĐģиŅŅŅŅиКŅŅ ĐžĐąŅĐĩĐēŅ} many {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅОв} other {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅа}}? ĐŅĐ´ĐĩŅ ŅĐžŅ
ŅаĐŊŅĐŊ ŅаĐŧŅĐš йОĐģŅŅОК ŅаКĐģ в ĐēаĐļдОК ĐŗŅŅĐŋĐŋĐĩ, а ĐĩĐŗĐž Đ´ŅĐąĐģиĐēаŅŅ ĐŊавŅĐĩĐŗĐ´Đ° ŅдаĐģĐĩĐŊŅ. ĐŅĐž Đ´ĐĩĐšŅŅвиĐĩ ĐŊĐĩĐģŅĐˇŅ ĐžŅĐŧĐĩĐŊиŅŅ!",
+ "bulk_keep_duplicates_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ĐžŅŅавиŅŅ {count, plural, one {# Đ´ŅĐąĐģиŅŅŅŅиКŅŅ ĐžĐąŅĐĩĐēŅ} many {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅОв} other {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅа}}? ĐŅĐž ŅĐžŅ
ŅаĐŊĐ¸Ņ Đ˛ŅĐĩ Đ´ŅĐąĐģиĐēаŅŅ.",
+ "bulk_trash_duplicates_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ĐŋĐĩŅĐĩĐŧĐĩŅŅиŅŅ Đ˛ ĐēĐžŅСиĐŊŅ {count, plural, one {# Đ´ŅĐąĐģиŅŅŅŅиКŅŅ ĐžĐąŅĐĩĐēŅ} many {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅОв} other {# Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ĐžĐąŅĐĩĐēŅа}}? ĐŅĐ´ĐĩŅ ŅĐžŅ
ŅаĐŊŅĐŊ ŅаĐŧŅĐš йОĐģŅŅОК ŅаКĐģ в ĐēаĐļдОК ĐŗŅŅĐŋĐŋĐĩ, а ĐĩĐŗĐž Đ´ŅĐąĐģиĐēаŅŅ ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊŅ Đ˛ ĐēĐžŅСиĐŊŅ.",
"buy": "ĐŅиОйŅĐĩŅĐĩĐŊиĐĩ ĐģиŅĐĩĐŊСии Immich",
"cache_settings_album_thumbnails": "ĐиĐŊиаŅŅŅŅ ŅŅŅаĐŊĐ¸Ņ ĐąĐ¸ĐąĐģиОŅĐĩĐēи ({} ОйŅĐĩĐēŅОв)",
"cache_settings_clear_cache_button": "ĐŅиŅŅиŅŅ ĐēŅŅ",
@@ -651,7 +647,7 @@
"completed": "ĐавĐĩŅŅĐĩĐŊĐž",
"confirm": "ĐОдŅвĐĩŅдиŅŅ",
"confirm_admin_password": "ĐОдŅвĐĩŅдиŅĐĩ ĐŋаŅĐžĐģŅ ĐĐ´ĐŧиĐŊиŅŅŅаŅĐžŅа",
- "confirm_delete_face": "ĐŅ ŅĐžŅĐŊĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ ĐģиŅĐž {name} иС ОйŅĐĩĐēŅа?",
+ "confirm_delete_face": "ĐŅ Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ ĐģиŅĐž ŅĐĩĐģОвĐĩĐēа {name} иС ОйŅĐĩĐēŅа?",
"confirm_delete_shared_link": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ ŅŅŅ ĐŋŅĐąĐģиŅĐŊŅŅ ŅŅŅĐģĐēŅ?",
"confirm_keep_this_delete_others": "ĐŅĐĩ ĐžŅŅаĐģŅĐŊŅĐĩ ОйŅĐĩĐēŅŅ Đ˛ ĐŗŅŅĐŋĐŋĐĩ ĐąŅĐ´ŅŅ ŅдаĐģĐĩĐŊŅ, ĐēŅĐžĐŧĐĩ ŅŅĐžĐŗĐž ОйŅĐĩĐēŅа. ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ĐŋŅОдОĐģĐļиŅŅ?",
"confirm_password": "ĐОдŅвĐĩŅдиŅĐĩ ĐŋаŅĐžĐģŅ",
@@ -687,8 +683,8 @@
"create_link_to_share": "ХОСдаŅŅ ŅŅŅĐģĐēŅ ĐžĐąŅĐĩĐŗĐž Đ´ĐžŅŅŅĐŋа",
"create_link_to_share_description": "РаСŅĐĩŅиŅŅ Đ˛ŅĐĩĐŧ, Ņ ĐēĐžĐŗĐž ĐĩŅŅŅ ŅŅŅĐģĐēа, ĐŋŅĐžŅĐŧĐžŅŅĐĩŅŅ Đ˛ŅĐąŅаĐŊĐŊŅĐĩ ŅĐžŅĐžĐŗŅаŅии",
"create_new": "ĐĄĐĐĐĐĐĸĐŦ ĐĐĐĐĢĐ",
- "create_new_person": "ХОСдаŅŅ ĐŊĐžĐ˛ĐžĐŗĐž ŅĐĩĐģОвĐĩĐēа",
- "create_new_person_hint": "ĐаСĐŊаŅиŅŅ Đ˛ŅĐąŅаĐŊĐŊŅĐĩ ŅĐĩŅŅŅŅŅ ĐŊОвОĐŧŅ ŅĐĩĐģОвĐĩĐēŅ",
+ "create_new_person": "ĐОйавиŅŅ ĐŊĐžĐ˛ĐžĐŗĐž ŅĐĩĐģОвĐĩĐēа",
+ "create_new_person_hint": "ĐаСĐŊаŅиŅŅ Đ˛ŅĐąŅаĐŊĐŊŅĐĩ ОйŅĐĩĐēŅŅ ĐŊа ĐŊĐžĐ˛ĐžĐŗĐž ŅĐĩĐģОвĐĩĐēа",
"create_new_user": "ХОСдаŅŅ ĐŊĐžĐ˛ĐžĐŗĐž ĐŋĐžĐģŅСОваŅĐĩĐģŅ",
"create_shared_album_page_share_add_assets": "ĐĐĐĐĐĐĐĸĐŦ ĐĐĐĒĐĐĐĸĐĢ",
"create_shared_album_page_share_select_photos": "ĐŅĐąŅаŅŅ ŅĐžŅĐžĐŗŅаŅии",
@@ -800,10 +796,10 @@
"edit_location": "Đ ĐĩдаĐēŅиŅОваŅŅ ĐŧĐĩŅŅĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ",
"edit_location_dialog_title": "ĐĐĩŅŅĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ",
"edit_name": "Đ ĐĩдаĐēŅиŅОваŅŅ Đ¸ĐŧŅ",
- "edit_people": "Đ ĐĩдаĐēŅиŅОваŅŅ ŅĐĩĐģОвĐĩĐēа",
+ "edit_people": "Đ ĐĩдаĐēŅиŅОваŅŅ ĐģŅĐ´ĐĩĐš",
"edit_tag": "ĐСĐŧĐĩĐŊиŅŅ ŅĐĩĐŗ",
"edit_title": "Đ ĐĩдаĐēŅиŅОваŅŅ ĐĐ°ĐŗĐžĐģОвОĐē",
- "edit_user": "Đ ĐĩдаĐēŅиŅОваŅŅ ĐŋĐžĐģŅСОваŅĐĩĐģŅ",
+ "edit_user": "Đ ĐĩдаĐēŅиŅОваĐŊиĐĩ ĐŋĐžĐģŅСОваŅĐĩĐģŅ",
"edited": "ĐŅŅĐĩдаĐēŅиŅОваĐŊĐž",
"editor": "Đ ĐĩдаĐēŅĐžŅ",
"editor_close_without_save_prompt": "ĐСĐŧĐĩĐŊĐĩĐŊĐ¸Ņ ĐŊĐĩ ĐąŅĐ´ŅŅ ŅĐžŅ
ŅаĐŊĐĩĐŊŅ",
@@ -831,7 +827,7 @@
"cant_apply_changes": "ĐĐĩ ŅдаĐĩŅŅŅ ĐŋŅиĐŧĐĩĐŊиŅŅ Đ¸ĐˇĐŧĐĩĐŊĐĩĐŊиŅ",
"cant_change_activity": "ĐĐĩ ŅдаĐĩŅŅŅ {enabled, select, true {ĐžŅĐēĐģŅŅиŅŅ} other {вĐēĐģŅŅиŅŅ}} аĐēŅивĐŊĐžŅŅŅ",
"cant_change_asset_favorite": "ĐĐĩ ŅдаĐģĐžŅŅ Đ¸ĐˇĐŧĐĩĐŊиŅŅ ŅŅаŅŅŅ \"иСйŅаĐŊĐŊĐžĐĩ\" Đ´ĐģŅ ŅĐĩŅŅŅŅа",
- "cant_change_metadata_assets_count": "ĐĐĩ ŅдаĐĩŅŅŅ Đ¸ĐˇĐŧĐĩĐŊиŅŅ ĐŧĐĩŅадаĐŊĐŊŅĐĩ Ņ {count, plural, one {# ŅĐĩŅŅŅŅа} few {# ŅĐĩŅŅŅŅОв} many {# ŅĐĩŅŅŅŅОв} other {# ŅĐĩŅŅŅŅОв}}",
+ "cant_change_metadata_assets_count": "ĐĐĩ ŅдаĐģĐžŅŅ Đ¸ĐˇĐŧĐĩĐŊиŅŅ ĐŧĐĩŅадаĐŊĐŊŅĐĩ Ņ {count, plural, one {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}}",
"cant_get_faces": "ĐĐĩ ŅдаĐĩŅŅŅ ĐŋĐžĐģŅŅиŅŅ ĐģиŅа",
"cant_get_number_of_comments": "ĐĐĩ ŅдаĐĩŅŅŅ ĐŋĐžĐģŅŅиŅŅ ĐēĐžĐģиŅĐĩŅŅвО ĐēĐžĐŧĐŧĐĩĐŊŅаŅиĐĩв",
"cant_search_people": "ĐĐĩ ŅдаĐĩŅŅŅ Đ˛ŅĐŋĐžĐģĐŊиŅŅ ĐŋОиŅĐē ĐģŅĐ´ĐĩĐš",
@@ -853,10 +849,12 @@
"failed_to_keep_this_delete_others": "ĐĐĩ ŅдаĐģĐžŅŅ ŅĐžŅ
ŅаĐŊиŅŅ ŅŅĐžŅ ĐžĐąŅĐĩĐēŅ Đ¸ ŅдаĐģиŅŅ Đ´ŅŅĐŗĐ¸Đĩ ОйŅĐĩĐēŅŅ",
"failed_to_load_asset": "ĐŅийĐēа ĐˇĐ°ĐŗŅŅСĐēи ОйŅĐĩĐēŅа",
"failed_to_load_assets": "ĐĐĩ ŅдаĐģĐžŅŅ ĐˇĐ°ĐŗŅŅСиŅŅ ĐžĐąŅĐĩĐēŅŅ",
+ "failed_to_load_notifications": "ХйОК ĐŋŅи ĐˇĐ°ĐŗŅŅСĐēĐĩ ŅвĐĩĐ´ĐžĐŧĐģĐĩĐŊиК",
"failed_to_load_people": "ĐĐĩ ŅдаĐģĐžŅŅ ĐˇĐ°ĐŗŅŅСиŅŅ ĐģŅĐ´ĐĩĐš",
"failed_to_remove_product_key": "ĐĐĩ ŅдаĐģĐžŅŅ ŅдаĐģиŅŅ ĐēĐģŅŅ ĐŋŅОдŅĐēŅа",
"failed_to_stack_assets": "ĐĐĩ ŅдаĐģĐžŅŅ ŅĐŗŅŅĐŋĐŋиŅОваŅŅ ĐžĐąŅĐĩĐēŅŅ",
"failed_to_unstack_assets": "ĐĐĩ ŅдаĐģĐžŅŅ ŅĐ°ĐˇĐŗŅŅĐŋĐŋиŅОваŅŅ ĐžĐąŅĐĩĐēŅŅ",
+ "failed_to_update_notification_status": "ĐĐĩ ŅдаĐģĐžŅŅ ĐžĐąĐŊОвиŅŅ ŅŅаŅŅŅ ŅвĐĩĐ´ĐžĐŧĐģĐĩĐŊиŅ",
"import_path_already_exists": "ĐŅĐžŅ ĐŋŅŅŅ Đ¸ĐŧĐŋĐžŅŅа ŅĐļĐĩ ŅŅŅĐĩŅŅвŅĐĩŅ.",
"incorrect_email_or_password": "ĐĐĩвĐĩŅĐŊŅĐš адŅĐĩŅ ŅĐģĐĩĐēŅŅĐžĐŊĐŊОК ĐŋĐžŅŅŅ Đ¸Đģи ĐŋаŅĐžĐģŅ",
"paths_validation_failed": "{paths, plural, one {# ĐŋŅŅŅ} other {# ĐŋŅŅĐĩĐš}} ĐŊĐĩ ĐŋŅĐžŅĐģи ĐŋŅОвĐĩŅĐēŅ",
@@ -877,7 +875,7 @@
"unable_to_change_favorite": "ĐĐĩ ŅдаĐģĐžŅŅ Đ¸ĐˇĐŧĐĩĐŊиŅŅ ŅŅаŅŅŅ \"иСйŅаĐŊĐŊĐžĐĩ\" Đ´ĐģŅ ŅĐĩŅŅŅŅа",
"unable_to_change_location": "ĐĐĩвОСĐŧĐžĐļĐŊĐž иСĐŧĐĩĐŊиŅŅ ĐŧĐĩŅŅĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ",
"unable_to_change_password": "ĐĐĩвОСĐŧĐžĐļĐŊĐž иСĐŧĐĩĐŊиŅŅ ĐŋаŅĐžĐģŅ",
- "unable_to_change_visibility": "ĐĐĩ ŅдаĐģĐžŅŅ Đ¸ĐˇĐŧĐĩĐŊиŅŅ Đ˛Đ¸Đ´Đ¸ĐŧĐžŅŅŅ Đ´ĐģŅ {count, plural, one {# ŅĐĩĐģОвĐĩĐēа} few {# ĐģŅĐ´ĐĩĐš} many {# ĐģŅĐ´ĐĩĐš} other {# ĐģŅĐ´ĐĩĐš}}",
+ "unable_to_change_visibility": "ĐĐĩ ŅдаĐģĐžŅŅ Đ¸ĐˇĐŧĐĩĐŊиŅŅ Đ˛Đ¸Đ´Đ¸ĐŧĐžŅŅŅ Ņ {count, plural, one {# ŅĐĩĐģОвĐĩĐēа} other {# ŅĐĩĐģОвĐĩĐē}}",
"unable_to_complete_oauth_login": "ĐĐĩ ŅдаĐģĐžŅŅ Đ˛ŅĐŋĐžĐģĐŊиŅŅ Đ˛Ņ
Од Ņ ĐŋĐžĐŧĐžŅŅŅ OAuth",
"unable_to_connect": "ĐĐĩ ŅдаĐĩŅŅŅ ĐŋОдĐēĐģŅŅиŅŅŅŅ",
"unable_to_connect_to_server": "ĐĐĩ ŅдаĐģĐžŅŅ ĐŋОдĐēĐģŅŅиŅŅŅŅ Đē ŅĐĩŅвĐĩŅŅ",
@@ -901,7 +899,7 @@
"unable_to_exit_fullscreen": "ĐĐĩ ŅдаĐĩŅŅŅ Đ˛ŅĐšŅи иС ĐŋĐžĐģĐŊĐžŅĐēŅаĐŊĐŊĐžĐŗĐž ŅĐĩĐļиĐŧа",
"unable_to_get_comments_number": "ĐĐĩ ŅдаĐģĐžŅŅ ĐŋĐžĐģŅŅиŅŅ ĐēĐžĐģиŅĐĩŅŅвО ĐēĐžĐŧĐŧĐĩĐŊŅаŅиĐĩв",
"unable_to_get_shared_link": "ĐĐĩ ŅдаĐģĐžŅŅ ĐŋĐžĐģŅŅиŅŅ ĐŋŅĐąĐģиŅĐŊŅŅ ŅŅŅĐģĐēŅ",
- "unable_to_hide_person": "ĐĐĩвОСĐŧĐžĐļĐŊĐž ŅĐēŅŅŅŅ ĐŋĐĩŅŅĐžĐŊŅ",
+ "unable_to_hide_person": "ĐĐĩ ŅдаĐģĐžŅŅ ŅĐēŅŅŅŅ ŅĐĩĐģОвĐĩĐēа",
"unable_to_link_motion_video": "ĐĐĩ ŅдаĐĩŅŅŅ ŅвŅСаŅŅ Đ´Đ˛Đ¸ĐļŅŅĐĩĐĩŅŅ Đ˛Đ¸Đ´ĐĩĐž",
"unable_to_link_oauth_account": "ĐĐĩ ŅдаĐĩŅŅŅ ŅвŅСаŅŅ ŅŅĐĩŅĐŊŅŅ ĐˇĐ°ĐŋиŅŅ OAuth",
"unable_to_load_album": "ĐĐĩвОСĐŧĐžĐļĐŊĐž ĐˇĐ°ĐŗŅŅСиŅŅ Đ°ĐģŅйОĐŧ",
@@ -912,8 +910,8 @@
"unable_to_log_out_device": "ĐĐĩвОСĐŧĐžĐļĐŊĐž вŅĐšŅи иС ŅŅŅŅОКŅŅва",
"unable_to_login_with_oauth": "ĐĐĩвОСĐŧĐžĐļĐŊĐž вОКŅи в ŅиŅŅĐĩĐŧŅ Ņ ĐŋĐžĐŧĐžŅŅŅ OAuth",
"unable_to_play_video": "ĐĐĩвОСĐŧĐžĐļĐŊĐž вОŅĐŋŅОиСвĐĩŅŅи видĐĩĐž",
- "unable_to_reassign_assets_existing_person": "ĐĐĩвОСĐŧĐžĐļĐŊĐž ĐŋĐĩŅĐĩĐŊаСĐŊаŅиŅŅ ŅĐĩŅŅŅŅŅ ĐŊа {name, select, null {ŅŅŅĐĩŅŅвŅŅŅĐĩĐŗĐž ŅĐĩĐģОвĐĩĐēа} other {{name}}}",
- "unable_to_reassign_assets_new_person": "ĐĐĩ ŅдаĐĩŅŅŅ ĐŋĐĩŅĐĩĐŊаСĐŊаŅиŅŅ ŅĐĩŅŅŅŅŅ ĐŊОвОĐŧŅ ŅĐĩĐģОвĐĩĐēŅ",
+ "unable_to_reassign_assets_existing_person": "ĐĐĩ ŅдаĐģĐžŅŅ ĐŋĐĩŅĐĩĐŊаСĐŊаŅиŅŅ ĐžĐąŅĐĩĐēŅŅ ĐŊа {name, select, null {Đ´ŅŅĐŗĐžĐŗĐž ŅĐĩĐģОвĐĩĐēа} other {ŅĐĩĐģОвĐĩĐēа Ņ Đ¸ĐŧĐĩĐŊĐĩĐŧ {name}}}",
+ "unable_to_reassign_assets_new_person": "ĐĐĩ ŅдаĐģĐžŅŅ ĐŋĐĩŅĐĩĐŊаСĐŊаŅиŅŅ ĐžĐąŅĐĩĐēŅŅ ĐŊа ĐŊĐžĐ˛ĐžĐŗĐž ŅĐĩĐģОвĐĩĐēа",
"unable_to_refresh_user": "ĐĐĩвОСĐŧĐžĐļĐŊĐž ОйĐŊОвиŅŅ ĐŋĐžĐģŅСОваŅĐĩĐģŅ",
"unable_to_remove_album_users": "ĐĐĩ ŅдаĐģĐžŅŅ ŅдаĐģиŅŅ ĐŋĐžĐģŅСОваŅĐĩĐģĐĩĐš иС аĐģŅйОĐŧа",
"unable_to_remove_api_key": "ĐĐĩ ŅдаĐĩŅŅŅ ŅдаĐģиŅŅ ĐēĐģŅŅ API",
@@ -1032,7 +1030,7 @@
"hide_gallery": "ĐĄĐēŅŅŅŅ ĐŗĐ°ĐģĐĩŅĐĩŅ",
"hide_named_person": "ĐĄĐēŅŅŅŅ {name}",
"hide_password": "ĐĄĐēŅŅŅŅ ĐŋаŅĐžĐģŅ",
- "hide_person": "ĐĄĐēŅŅŅŅ ĐŋĐĩŅŅĐžĐŊŅ",
+ "hide_person": "ĐĄĐēŅŅŅŅ ŅĐĩĐģОвĐĩĐēа",
"hide_unnamed_people": "ĐĄĐēŅŅŅŅ ĐģŅĐ´ĐĩĐš ĐąĐĩС иĐŧĐĩĐŊи",
"home_page_add_to_album_conflicts": "ĐОйавĐģĐĩĐŊĐž {added} ĐŧĐĩдиа в аĐģŅйОĐŧ {album}. {failed} ĐŧĐĩдиа ŅĐļĐĩ в аĐģŅйОĐŧĐĩ.",
"home_page_add_to_album_err_local": "ĐĐžĐēа ĐŊĐĩĐģŅĐˇŅ Đ´ĐžĐąĐ°Đ˛ĐģŅŅŅ ĐģĐžĐēаĐģŅĐŊŅĐĩ ОйŅĐĩĐēŅŅ Đ˛ аĐģŅйОĐŧŅ, ĐŋŅĐžĐŋŅŅĐē",
@@ -1071,7 +1069,7 @@
"immich_web_interface": "ĐĐĩĐą иĐŊŅĐĩŅŅĐĩĐšŅ Immich",
"import_from_json": "ĐĐŧĐŋĐžŅŅ Đ¸Đˇ JSON",
"import_path": "ĐŅŅŅ Đ¸ĐŧĐŋĐžŅŅа",
- "in_albums": "Đ {count, plural, one {# аĐģŅйОĐŧĐĩ} few {# аĐģŅйОĐŧаŅ
} many {# аĐģŅйОĐŧаŅ
} other {# аĐģŅйОĐŧаŅ
}}",
+ "in_albums": "Đ {count, plural, one {# аĐģŅйОĐŧĐĩ} other {# аĐģŅйОĐŧаŅ
}}",
"in_archive": "РаŅŅ
ивĐĩ",
"include_archived": "ĐŅОйŅаĐļаŅŅ Đ°ŅŅ
ив",
"include_shared_albums": "ĐĐēĐģŅŅаŅŅ ĐžĐąŅиĐĩ аĐģŅйОĐŧŅ",
@@ -1089,12 +1087,12 @@
"invalid_date_format": "ĐĐĩвĐĩŅĐŊŅĐš ŅĐžŅĐŧĐ°Ņ Đ´Đ°ŅŅ",
"invite_people": "ĐŅĐ¸ĐŗĐģаŅиŅŅ",
"invite_to_album": "ĐŅĐ¸ĐŗĐģаŅиŅŅ Đ˛ аĐģŅйОĐŧ",
- "items_count": "{count, plural, one {# ŅĐģĐĩĐŧĐĩĐŊŅ} two {# ŅĐģĐĩĐŧĐĩĐŊŅа} few {# ŅĐģĐĩĐŧĐĩĐŊŅа} other {# ŅĐģĐĩĐŧĐĩĐŊŅОв}}",
+ "items_count": "{count, plural, one {# ŅĐģĐĩĐŧĐĩĐŊŅ} many {# ŅĐģĐĩĐŧĐĩĐŊŅОв} other {# ŅĐģĐĩĐŧĐĩĐŊŅа}}",
"jobs": "ĐадаŅи",
"keep": "ĐŅŅавиŅŅ",
"keep_all": "ĐĄĐžŅ
ŅаĐŊиŅŅ Đ˛ŅŅ",
"keep_this_delete_others": "ĐŅŅавиŅŅ ŅŅĐžŅ, ŅдаĐģиŅŅ ĐžŅŅаĐģŅĐŊŅĐĩ",
- "kept_this_deleted_others": "ĐĄĐžŅ
ŅаĐŊиĐģ ŅŅĐžŅ ĐžĐąŅĐĩĐēŅ Đ¸ ŅдаĐģиĐģ {count, plural, one {# ОйŅĐĩĐēŅ} other {# ОйŅĐĩĐēŅОв}}",
+ "kept_this_deleted_others": "ĐĄĐžŅ
ŅаĐŊŅĐŊ ŅŅĐžŅ ĐžĐąŅĐĩĐēŅ Đ¸ {count, plural, one {# ОйŅĐĩĐēŅ ŅдаĐģŅĐŊ} many {# ОйŅĐĩĐēŅОв ŅдаĐģĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ŅдаĐģĐĩĐŊĐž}}",
"keyboard_shortcuts": "ĐĄĐžŅĐĩŅаĐŊĐ¸Ņ ĐēĐģавиŅ",
"language": "Đ¯ĐˇŅĐē",
"language_setting_description": "ĐŅĐąĐĩŅиŅĐĩ ĐŋŅĐĩĐ´ĐŋĐžŅиŅаĐĩĐŧŅĐš ваĐŧи ŅСŅĐē",
@@ -1125,7 +1123,7 @@
"local_network": "ĐĐžĐēаĐģŅĐŊĐ°Ņ ŅĐĩŅŅ",
"local_network_sheet_info": "ĐŅиĐģĐžĐļĐĩĐŊиĐĩ ĐąŅĐ´ĐĩŅ ĐŋОдĐēĐģŅŅаŅŅŅŅ Đē ŅĐĩŅвĐĩŅŅ ĐŋĐž ŅŅĐžĐŧŅ Đ°Đ´ŅĐĩŅŅ, ĐēĐžĐŗĐ´Đ° ŅŅŅŅОКŅŅвО ĐŋОдĐēĐģŅŅĐĩĐŊĐž Đē вŅĐąŅаĐŊĐŊОК Wi-Fi ŅĐĩŅи",
"location_permission": "ĐĐžŅŅŅĐŋ Đē ĐŧĐĩŅŅĐžĐŋĐžĐģĐžĐļĐĩĐŊиŅ",
- "location_permission_content": "ЧŅĐžĐąŅ ŅŅиŅŅваŅŅ Đ¸ĐŧŅ Wi-Fi ŅĐĩŅи, ĐŋŅиĐģĐžĐļĐĩĐŊĐ¸Ņ ĐŊĐĩОйŅ
ОдиĐŧ Đ´ĐžŅŅŅĐŋ Đē ŅĐžŅĐŊĐžĐŧŅ ĐŧĐĩŅŅĐžĐŋĐžĐģĐžĐļĐĩĐŊĐ¸Ņ ŅŅŅŅОКŅŅва",
+ "location_permission_content": "ЧŅĐžĐąŅ Đ¸ŅĐŋĐžĐģŅСОваŅŅ ŅŅĐŊĐēŅĐ¸Ņ Đ°Đ˛ŅĐžĐŧаŅиŅĐĩŅĐēĐžĐŗĐž ĐŋĐĩŅĐĩĐēĐģŅŅĐĩĐŊиŅ, Immich ĐŊĐĩОйŅ
ОдиĐŧĐž ŅаСŅĐĩŅĐĩĐŊиĐĩ ĐŊа ŅĐžŅĐŊĐžĐĩ ĐžĐŋŅĐĩĐ´ĐĩĐģĐĩĐŊиĐĩ ĐŧĐĩŅŅĐžĐŋĐžĐģĐžĐļĐĩĐŊиŅ, ŅŅĐžĐąŅ ĐžĐŊĐž ĐŧĐžĐŗĐģĐž ŅŅиŅŅваŅŅ ĐŊаСваĐŊиĐĩ ŅĐĩĐēŅŅĐĩĐš Wi-Fi ŅĐĩŅи",
"location_picker_choose_on_map": "ĐŅĐąŅаŅŅ ĐŊа ĐēаŅŅĐĩ",
"location_picker_latitude_error": "ĐŖĐēаĐļиŅĐĩ ĐŋŅавиĐģŅĐŊŅŅ ŅиŅĐžŅŅ",
"location_picker_latitude_hint": "ĐвĐĩдиŅĐĩ ŅиŅĐžŅŅ",
@@ -1199,6 +1197,9 @@
"map_settings_only_show_favorites": "ĐĐžĐēаСаŅŅ ŅĐžĐģŅĐēĐž иСйŅаĐŊĐŊĐžĐĩ",
"map_settings_theme_settings": "ĐĻвĐĩŅ ĐēаŅŅŅ",
"map_zoom_to_see_photos": "ĐŖĐŧĐĩĐŊŅŅĐĩĐŊиĐĩ ĐŧаŅŅŅайа Đ´ĐģŅ ĐŋŅĐžŅĐŧĐžŅŅа ŅĐžŅĐžĐŗŅаŅиК",
+ "mark_all_as_read": "ĐŅĐŧĐĩŅиŅŅ Đ˛ŅĐĩ ĐēаĐē ĐŋŅĐžŅиŅаĐŊĐŊŅĐĩ",
+ "mark_as_read": "ĐŅĐŧĐĩŅиŅŅ ĐēаĐē ĐŋŅĐžŅиŅаĐŊĐŊĐžĐĩ",
+ "marked_all_as_read": "ĐŅĐŧĐĩŅĐĩĐŊŅ ĐēаĐē ĐŋŅĐžŅиŅаĐŊĐŊŅĐĩ",
"matches": "ХОвĐŋадĐĩĐŊиŅ",
"media_type": "ĐĸиĐŋ ĐŧĐĩдиа",
"memories": "ĐĐžŅĐŋĐžĐŧиĐŊаĐŊиŅ",
@@ -1213,11 +1214,11 @@
"memory_lane_title": "ĐĐžŅĐŋĐžĐŧиĐŊаĐŊиĐĩ {title}",
"menu": "ĐĐĩĐŊŅ",
"merge": "ĐĐąŅĐĩдиĐŊиŅŅ",
- "merge_people": "ĐĐąŅĐĩдиĐŊиŅŅ ĐŋĐĩŅŅĐžĐŊŅ",
+ "merge_people": "ĐĐąŅĐĩдиĐŊиŅŅ ĐģŅĐ´ĐĩĐš",
"merge_people_limit": "ĐŅ ĐŧĐžĐļĐĩŅĐĩ ОйŅĐĩдиĐŊŅŅŅ Đ´Đž 5 ĐģĐ¸Ņ ĐˇĐ° ОдиĐŊ ŅаС",
"merge_people_prompt": "ĐŅ Ņ
ĐžŅиŅĐĩ ОйŅĐĩдиĐŊиŅŅ ŅŅиŅ
ĐģŅĐ´ĐĩĐš? ĐŅĐž Đ´ĐĩĐšŅŅвиĐĩ ĐŊĐĩОйŅаŅиĐŧĐž.",
- "merge_people_successfully": "ĐĐĩŅŅĐžĐŊŅ ĐžĐąŅĐĩдиĐŊĐĩĐŊŅ ŅŅĐŋĐĩŅĐŊĐž",
- "merged_people_count": "ĐĐąŅĐĩдиĐŊĐĩĐŊĐž {count, plural, one {# ŅĐĩĐģОвĐĩĐē} few {# ŅĐĩĐģОвĐĩĐēа} many {# ŅĐĩĐģОвĐĩĐē} other {# ŅĐĩĐģОвĐĩĐēа}}",
+ "merge_people_successfully": "ĐиŅа ĐģŅĐ´ĐĩĐš ŅŅĐŋĐĩŅĐŊĐž ОйŅĐĩдиĐŊĐĩĐŊŅ",
+ "merged_people_count": "ĐĐąŅĐĩдиĐŊĐĩĐŊĐž {count, plural, one {# ŅĐĩĐģОвĐĩĐē} many {# ŅĐĩĐģОвĐĩĐē} other {# ŅĐĩĐģОвĐĩĐēа}}",
"minimize": "ĐиĐŊиĐŧиСиŅОваŅŅ",
"minute": "ĐиĐŊŅŅа",
"missing": "ĐŅŅŅŅŅŅвŅŅŅиĐĩ",
@@ -1225,6 +1226,8 @@
"month": "ĐĐĩŅŅŅ",
"monthly_title_text_date_format": "MMMM y",
"more": "ĐĐžĐģŅŅĐĩ",
+ "moved_to_archive": "{count, plural, one {# ОйŅĐĩĐēŅ ĐŋĐĩŅĐĩĐŧĐĩŅŅĐŊ} many {# ОйŅĐĩĐēŅОв ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž}} в аŅŅ
ив",
+ "moved_to_library": "{count, plural, one {# ОйŅĐĩĐēŅ ĐŋĐĩŅĐĩĐŧĐĩŅŅĐŊ} many {# ОйŅĐĩĐēŅОв ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊĐž}} в йийĐģиОŅĐĩĐēŅ",
"moved_to_trash": "ĐĐĩŅĐĩĐŊĐĩŅĐĩĐŊĐž в ĐēĐžŅСиĐŊŅ",
"multiselect_grid_edit_date_time_err_read_only": "ĐĐĩвОСĐŧĐžĐļĐŊĐž иСĐŧĐĩĐŊиŅŅ Đ´Đ°ŅŅ ŅаКĐģОв ŅĐžĐģŅĐēĐž Đ´ĐģŅ ŅŅĐĩĐŊиŅ, ĐŋŅĐžĐŋŅŅĐē",
"multiselect_grid_edit_gps_err_read_only": "ĐĐĩвОСĐŧĐžĐļĐŊĐž иСĐŧĐĩĐŊиŅŅ ĐŧĐĩŅŅĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ ŅаКĐģОв ŅĐžĐģŅĐēĐž Đ´ĐģŅ ŅŅĐĩĐŊиŅ, ĐŋŅĐžĐŋŅŅĐē",
@@ -1238,7 +1241,7 @@
"new_album": "ĐОвŅĐš аĐģŅйОĐŧ",
"new_api_key": "ĐОвŅĐš API-ĐēĐģŅŅ",
"new_password": "ĐОвŅĐš ĐŋаŅĐžĐģŅ",
- "new_person": "ĐĐžĐ˛Đ°Ņ ĐŋĐĩŅŅĐžĐŊа",
+ "new_person": "ĐОвŅĐš ŅĐĩĐģОвĐĩĐē",
"new_user_created": "ĐОвŅĐš ĐŋĐžĐģŅСОваŅĐĩĐģŅ ŅОСдаĐŊ",
"new_version_available": "ĐĐĐĄĐĸĐŖĐĐĐ ĐĐĐĐĐ¯ ĐĐĐ ĐĄĐĐ¯",
"newest_first": "ĐĄĐŊаŅаĐģа ĐŊОвŅĐĩ",
@@ -1257,6 +1260,8 @@
"no_favorites_message": "ĐОйавĐģŅĐšŅĐĩ в иСйŅаĐŊĐŊĐžĐĩ, ŅŅĐžĐąŅ ĐąŅŅŅŅĐž ĐŊаКŅи ŅвОи ĐģŅŅŅиĐĩ ŅĐžŅĐžĐŗŅаŅии и видĐĩĐž",
"no_libraries_message": "ХОСдаКŅĐĩ вĐŊĐĩŅĐŊŅŅ ĐąĐ¸ĐąĐģиОŅĐĩĐēŅ Đ´ĐģŅ ĐŋŅĐžŅĐŧĐžŅŅа ваŅиŅ
ŅĐžŅĐžĐŗŅаŅиК и видĐĩĐž",
"no_name": "ĐĐĩŅ Đ¸ĐŧĐĩĐŊи",
+ "no_notifications": "ĐĐĩŅ ŅвĐĩĐ´ĐžĐŧĐģĐĩĐŊиК",
+ "no_people_found": "ĐиĐēĐžĐŗĐž ĐŊĐĩ ĐŊаКдĐĩĐŊĐž",
"no_places": "ĐĐĩŅ ĐŧĐĩŅŅ",
"no_results": "ĐĐĩŅ ŅĐĩСŅĐģŅŅаŅОв",
"no_results_description": "ĐĐžĐŋŅОйŅĐšŅĐĩ иŅĐŋĐžĐģŅСОваŅŅ ŅиĐŊĐžĐŊиĐŧ иĐģи йОĐģĐĩĐĩ ОйŅĐĩĐĩ ĐēĐģŅŅĐĩвОĐĩ ŅĐģОвО",
@@ -1330,16 +1335,16 @@
"paused": "ĐŅиОŅŅаĐŊОвĐģĐĩĐŊĐž",
"pending": "ĐĐļидаĐĩŅ",
"people": "ĐŅди",
- "people_edits_count": "ĐСĐŧĐĩĐŊĐĩĐŊĐž {count, plural, one {# ŅĐĩĐģОвĐĩĐē} few {# ŅĐĩĐģОвĐĩĐēа} many {# ĐģŅĐ´ĐĩĐš} other {# ŅĐĩĐģОвĐĩĐē}}",
+ "people_edits_count": "{count, plural, one {ĐСĐŧĐĩĐŊŅĐŊ # ŅĐĩĐģОвĐĩĐē} many {ĐСĐŧĐĩĐŊĐĩĐŊĐž # ŅĐĩĐģОвĐĩĐē} other {ĐСĐŧĐĩĐŊĐĩĐŊĐž # ŅĐĩĐģОвĐĩĐēа}}",
"people_feature_description": "ĐŅĐžŅĐŧĐžŅŅ ŅĐžŅĐžĐŗŅаŅиК и видĐĩĐž, ŅĐŗŅŅĐŋĐŋиŅОваĐŊĐŊŅŅ
ĐŋĐž ĐģŅĐ´ŅĐŧ",
"people_sidebar_description": "ĐŅОйŅаĐļаŅŅ ĐŋŅĐŊĐēŅ ĐŧĐĩĐŊŅ \"ĐŅди\" в йОĐēОвОК ĐŋаĐŊĐĩĐģи",
"permanent_deletion_warning": "ĐŅĐĩĐ´ŅĐŋŅĐĩĐļĐ´ĐĩĐŊиĐĩ Ой ŅдаĐģĐĩĐŊии",
"permanent_deletion_warning_setting_description": "ĐŅĐĩĐ´ŅĐŋŅĐĩĐļдаŅŅ ĐŋĐĩŅĐĩĐ´ ĐąĐĩСвОСвŅаŅĐŊŅĐŧ ŅдаĐģĐĩĐŊиĐĩĐŧ ŅĐĩŅŅŅŅОв",
"permanently_delete": "ĐŖĐ´Đ°ĐģиŅŅ ĐŊавŅĐĩĐŗĐ´Đ°",
- "permanently_delete_assets_count": "ĐĐĩСвОСвŅаŅĐŊĐž ŅдаĐģиŅŅ {count, plural, one {ŅĐĩŅŅŅŅ} few {ŅĐĩŅŅŅŅа} many {ŅĐĩŅŅŅŅОв} other {ŅĐĩŅŅŅŅОв}}",
- "permanently_delete_assets_prompt": "ĐŅ Đ´ĐĩĐšŅŅвиŅĐĩĐģŅĐŊĐž Ņ
ĐžŅиŅĐĩ ĐŊавŅĐĩĐŗĐ´Đ° ŅдаĐģиŅŅ {count, plural, one {ŅŅĐžŅ ĐžĐąŅĐĩĐēŅ?} other {ŅŅи # ОйŅĐĩĐēŅОв?}} ĐŅĐž ŅаĐē ĐļĐĩ ŅдаĐģĐ¸Ņ {count, plural, one {ĐĩĐŗĐž} other {иŅ
}} иС аĐģŅйОĐŧа(Ов).",
+ "permanently_delete_assets_count": "ĐŖĐ´Đ°ĐģиŅŅ {count, plural, one {ОйŅĐĩĐēŅ} other {ОйŅĐĩĐēŅŅ}} ĐŊавŅĐĩĐŗĐ´Đ°",
+ "permanently_delete_assets_prompt": "ĐŅ Đ´ĐĩĐšŅŅвиŅĐĩĐģŅĐŊĐž Ņ
ĐžŅиŅĐĩ ĐŊавŅĐĩĐŗĐ´Đ° ŅдаĐģиŅŅ {count, plural, one {ŅŅĐžŅ ĐžĐąŅĐĩĐēŅ} many {ŅŅи # ОйŅĐĩĐēŅОв} other {ŅŅи # ОйŅĐĩĐēŅа}}? ĐŅĐž ŅаĐēĐļĐĩ ŅдаĐģĐ¸Ņ {count, plural, one {ĐĩĐŗĐž} other {иŅ
}} иС вŅĐĩŅ
аĐģŅйОĐŧОв.",
"permanently_deleted_asset": "ĐŖĐ´Đ°ĐģиŅŅ ĐŊавŅĐĩĐŗĐ´Đ°",
- "permanently_deleted_assets_count": "ĐĐĩСвОСвŅаŅĐŊĐž ŅдаĐģĐĩĐŊĐž {count, plural, one {# ŅаКĐģ} few {# ŅаКĐģа} many {# ŅаКĐģОв} other {# ŅаКĐģОв}}",
+ "permanently_deleted_assets_count": "{count, plural, one {# ОйŅĐĩĐēŅ ŅдаĐģŅĐŊ} many {# ОйŅĐĩĐēŅОв ŅдаĐģĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ŅдаĐģĐĩĐŊĐž}} ĐŊавŅĐĩĐŗĐ´Đ°",
"permission_onboarding_back": "ĐаСад",
"permission_onboarding_continue_anyway": "ĐŅĐĩ ŅавĐŊĐž ĐŋŅОдОĐģĐļиŅŅ",
"permission_onboarding_get_started": "ĐаваКŅĐĩ ĐŊаŅĐŊŅĐŧ",
@@ -1354,12 +1359,12 @@
"photo_shared_all_users": "ĐĐžŅ
ĐžĐļĐĩ, ŅŅĐž Đ˛Ņ ĐŋОдĐĩĐģиĐģиŅŅ ŅвОиĐŧи ŅĐžŅĐžĐŗŅаŅиŅĐŧи ŅĐž вŅĐĩĐŧи ĐŋĐžĐģŅСОваŅĐĩĐģŅĐŧи иĐģи Ņ Đ˛Đ°Ņ ĐŊĐĩŅ ĐŋĐžĐģŅСОваŅĐĩĐģĐĩĐš, Ņ ĐēĐžŅĐžŅŅĐŧи ĐŧĐžĐļĐŊĐž ĐŋОдĐĩĐģиŅŅŅŅ.",
"photos": "ФОŅĐž",
"photos_and_videos": "ФОŅĐž и ĐидĐĩĐž",
- "photos_count": "{count, plural, one {{count, number} ФОŅĐžĐŗŅаŅиŅ} few {{count, number} ФОŅĐžĐŗŅаŅии} many {{count, number} ФОŅĐžĐŗŅаŅиК} other {{count, number} ФОŅĐžĐŗŅаŅиК}}",
+ "photos_count": "{count, plural, one {{count, number} ŅĐžŅĐž} other {{count, number} ŅĐžŅĐž}}",
"photos_from_previous_years": "ФОŅĐžĐŗŅаŅии ĐŋŅĐžŅĐģŅŅ
ĐģĐĩŅ Đ˛ ŅŅĐžŅ Đ´ĐĩĐŊŅ",
"pick_a_location": "ĐŅĐąŅаŅŅ ĐŧĐĩŅŅĐžĐŋĐžĐģĐžĐļĐĩĐŊиĐĩ",
"place": "ĐĐĩŅŅа",
"places": "ĐĐĩŅŅа",
- "places_count": "{count, plural, one {{count, number} ĐĐĩŅŅĐž} other {{count, number} ĐĐĩŅŅ}}",
+ "places_count": "{count, plural, one {{count, number} ĐŧĐĩŅŅĐž} many {{count, number} ĐŧĐĩŅŅ} other {{count, number} ĐŧĐĩŅŅа}}",
"play": "ĐĐžŅĐŋŅОиСвĐĩŅŅи",
"play_memories": "ĐĐžŅĐŋŅОиСвĐĩŅŅи вОŅĐŋĐžĐŧиĐŊаĐŊиŅ",
"play_motion_photo": "ĐĐžŅĐŋŅОиСвОдиŅŅ Đ´Đ˛Đ¸ĐļŅŅиĐĩŅŅ ŅĐžŅĐž",
@@ -1419,19 +1424,21 @@
"purchase_settings_server_activated": "ĐĐģŅŅ ĐŋŅОдŅĐēŅа ŅĐĩŅвĐĩŅа ŅĐŋŅавĐģŅĐĩŅŅŅ Đ°Đ´ĐŧиĐŊиŅŅŅаŅĐžŅĐžĐŧ",
"rating": "Đ ĐĩĐšŅиĐŊĐŗ СвŅСд",
"rating_clear": "ĐŅиŅŅиŅŅ ŅĐĩĐšŅиĐŊĐŗ",
- "rating_count": "{count, plural, one {# СвĐĩСда} other {# СвĐĩСд}}",
+ "rating_count": "{count, plural, one {# СвĐĩСда} many {# СвĐĩСд} other {# СвĐĩСдŅ}}",
"rating_description": "ĐĐžĐēаСŅваŅŅ ŅĐĩĐšŅиĐŊĐŗ в ĐŋаĐŊĐĩĐģи иĐŊŅĐžŅĐŧаŅии",
"reaction_options": "ĐĐŋŅии ŅĐĩаĐēŅиК",
"read_changelog": "ĐŅĐžŅиŅаŅŅ ŅĐŋиŅĐžĐē иСĐŧĐĩĐŊĐĩĐŊиК",
"reassign": "ĐĐĩŅĐĩĐŊаСĐŊаŅиŅŅ",
- "reassigned_assets_to_existing_person": "ĐĐĩŅĐĩĐŊаСĐŊаŅĐĩĐŊ{count, plural, one { # ŅĐĩŅŅŅŅ} few {Đž # ŅĐĩŅŅŅŅа} many {Đž # ŅĐĩŅŅŅŅОв} other {Đž # ŅĐĩŅŅŅŅОв}} ĐŊа {name, select, null {ŅŅŅĐĩŅŅвŅŅŅĐĩĐŗĐž ĐŋĐžĐģŅСОваŅĐĩĐģŅ} other {{name}}}",
- "reassigned_assets_to_new_person": "ĐĐĩŅĐĩĐŊаСĐŊаŅĐĩĐŊ{count, plural, one { # ŅĐĩŅŅŅŅ} few {Đž # ŅĐĩŅŅŅŅа} many {Đž # ŅĐĩŅŅŅŅОв} other {Đž # ŅĐĩŅŅŅŅОв}} ĐŊОвОĐŧŅ ŅĐĩĐģОвĐĩĐēŅ",
- "reassing_hint": "ĐаСĐŊаŅиŅŅ Đ˛ŅĐąŅаĐŊĐŊŅĐĩ ŅĐĩŅŅŅŅŅ ŅŅŅĐĩŅŅвŅŅŅĐĩĐŧŅ ĐŋĐžĐģŅСОваŅĐĩĐģŅ",
+ "reassigned_assets_to_existing_person": "ĐиŅа ĐŊа {count, plural, one {# ОйŅĐĩĐēŅĐĩ} other {# ОйŅĐĩĐēŅаŅ
}} ĐŋĐĩŅĐĩĐŊаСĐŊаŅĐĩĐŊŅ ĐŊа {name, select, null {Đ´ŅŅĐŗĐžĐŗĐž ŅĐĩĐģОвĐĩĐēа} other {ŅĐĩĐģОвĐĩĐēа Ņ Đ¸ĐŧĐĩĐŊĐĩĐŧ {name}}}",
+ "reassigned_assets_to_new_person": "ĐиŅа ĐŊа {count, plural, one {# ОйŅĐĩĐēŅĐĩ} other {# ОйŅĐĩĐēŅаŅ
}} ĐŋĐĩŅĐĩĐŊаСĐŊаŅĐĩĐŊŅ ĐŊа ĐŊĐžĐ˛ĐžĐŗĐž ŅĐĩĐģОвĐĩĐēа",
+ "reassing_hint": "ĐаСĐŊаŅиŅŅ Đ˛ŅĐąŅаĐŊĐŊŅĐĩ ŅĐĩŅŅŅŅŅ ŅĐēаСаĐŊĐŊĐžĐŧŅ ŅĐĩĐģОвĐĩĐēŅ",
"recent": "ĐĐĩдавĐŊиĐĩ",
"recent-albums": "ĐĐĩдавĐŊиĐĩ аĐģŅйОĐŧŅ",
"recent_searches": "ĐĐĩдавĐŊиĐĩ ĐŋОиŅĐēОвŅĐĩ СаĐŋŅĐžŅŅ",
"recently_added": "ĐĐĩдавĐŊĐž дОйавĐģĐĩĐŊĐŊŅĐĩ",
"recently_added_page_title": "ĐĐĩдавĐŊĐž дОйавĐģĐĩĐŊĐŊŅĐĩ",
+ "recently_taken": "ĐĐĩдавĐŊĐž ŅĐŊŅŅĐž",
+ "recently_taken_page_title": "ĐĐĩдавĐŊĐž ĐĄĐŊŅŅĐž",
"refresh": "ĐĐąĐŊОвиŅŅ",
"refresh_encoded_videos": "ĐĐąĐŊОвиŅŅ ĐˇĐ°ĐēОдиŅОваĐŊĐŊŅĐĩ видĐĩĐž",
"refresh_faces": "ĐĐąĐŊОвиŅŅ ĐģиŅа",
@@ -1444,8 +1451,8 @@
"refreshing_metadata": "ĐĐąĐŊОвĐģĐĩĐŊиĐĩ ĐŧĐĩŅадаĐŊĐŊŅŅ
",
"regenerating_thumbnails": "ĐĐžŅŅŅаĐŊОвĐģĐĩĐŊиĐĩ ĐŧиĐŊиаŅŅŅ",
"remove": "ĐŖĐ´Đ°ĐģиŅŅ",
- "remove_assets_album_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ {count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} many {# ОйŅĐĩĐēŅОв} other {# ОйŅĐĩĐēŅОв}} иС аĐģŅйОĐŧа?",
- "remove_assets_shared_link_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ {count, plural, one {# ОйŅĐĩĐēŅ} few {# ОйŅĐĩĐēŅа} many {# ОйŅĐĩĐēŅОв} other {# ОйŅĐĩĐēŅОв}} иС ŅŅОК ĐŋŅĐąĐģиŅĐŊОК ŅŅŅĐģĐēи?",
+ "remove_assets_album_confirmation": "ĐŅ Đ´ĐĩĐšŅŅвиŅĐĩĐģŅĐŊĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ {count, plural, one {# ОйŅĐĩĐēŅ} many {# ОйŅĐĩĐēŅОв} other {# ОйŅĐĩĐēŅа}} иС аĐģŅйОĐŧа?",
+ "remove_assets_shared_link_confirmation": "ĐŅ Đ´ĐĩĐšŅŅвиŅĐĩĐģŅĐŊĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ {count, plural, one {# ОйŅĐĩĐēŅ} many {# ОйŅĐĩĐēŅОв} other {# ОйŅĐĩĐēŅа}} иС ĐŋŅĐąĐģиŅĐŊĐžĐŗĐž Đ´ĐžŅŅŅĐŋа ĐŋĐž ŅŅОК ŅŅŅĐģĐēĐĩ?",
"remove_assets_title": "ĐŖĐ´Đ°ĐģиŅŅ ĐžĐąŅĐĩĐēŅŅ?",
"remove_custom_date_range": "ĐŖĐ´Đ°ĐģиŅŅ ĐŋĐžĐģŅСОваŅĐĩĐģŅŅĐēиК диаĐŋаСОĐŊ даŅ",
"remove_deleted_assets": "ĐŖĐ´Đ°ĐģĐĩĐŊиĐĩ авŅĐžĐŊĐžĐŧĐŊŅŅ
ŅаКĐģОв",
@@ -1459,10 +1466,10 @@
"removed_api_key": "ĐŖĐ´Đ°ĐģĐĩĐŊ ĐēĐģŅŅ API: {name}",
"removed_from_archive": "ĐŖĐ´Đ°ĐģĐĩĐŊ иС аŅŅ
ива",
"removed_from_favorites": "ĐŖĐ´Đ°ĐģĐĩĐŊĐž иС иСйŅаĐŊĐŊĐžĐŗĐž",
- "removed_from_favorites_count": "{count, plural, other {ĐŖĐ´Đ°ĐģĐĩĐŊĐž #}} иС иСйŅаĐŊĐŊĐžĐŗĐž",
+ "removed_from_favorites_count": "{count, plural, one {# ОйŅĐĩĐēŅ ŅдаĐģŅĐŊ} many {# ОйŅĐĩĐēŅОв ŅдаĐģĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ŅдаĐģĐĩĐŊĐž}} иС иСйŅаĐŊĐŊĐžĐŗĐž",
"removed_memory": "ĐĐžŅĐŋĐžĐŧиĐŊаĐŊиĐĩ ŅдаĐģĐĩĐŊĐž",
"removed_photo_from_memory": "ФОŅĐž ŅдаĐģĐĩĐŊĐž иС вОŅĐŋĐžĐŧиĐŊаĐŊиŅ",
- "removed_tagged_assets": "ĐĸĐĩĐŗ Đ´ĐģŅ {count, plural, one {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}} ŅдаĐģĐĩĐŊ",
+ "removed_tagged_assets": "ĐĸĐĩĐŗ ŅдаĐģŅĐŊ Ņ {count, plural, one {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}}",
"rename": "ĐĐĩŅĐĩиĐŧĐĩĐŊОваŅŅ",
"repair": "Đ ĐĩĐŧĐžĐŊŅ",
"repair_no_results_message": "ĐĐ´ĐĩŅŅ ĐąŅĐ´ŅŅ ĐžŅОйŅаĐļаŅŅŅŅ ĐŊĐĩĐžŅŅĐģĐĩĐļиваĐĩĐŧŅĐĩ и ĐžŅŅŅŅŅŅвŅŅŅиĐĩ ŅаКĐģŅ",
@@ -1565,12 +1572,13 @@
"select_from_computer": "ĐŅĐąĐĩŅиŅĐĩ Ņ ĐēĐžĐŧĐŋŅŅŅĐĩŅа",
"select_keep_all": "ĐŅŅавиŅŅ Đ˛ŅŅ Đ˛ŅĐąŅаĐŊĐŊĐžĐĩ",
"select_library_owner": "ĐŅĐąŅаŅŅ Đ˛ĐģадĐĩĐģŅŅа йийĐģиОŅĐĩĐēи",
- "select_new_face": "ĐŅĐąŅаŅŅ ĐŊОвОĐĩ ĐģиŅĐž",
+ "select_new_face": "ĐŅĐąŅаŅŅ Đ´ŅŅĐŗĐžĐĩ ĐģиŅĐž",
+ "select_person_to_tag": "ĐŅĐ´ĐĩĐģиŅĐĩ ŅĐĩĐģОвĐĩĐēа, ĐēĐžŅĐžŅĐžĐŗĐž Ņ
ĐžŅиŅĐĩ ĐžŅĐŧĐĩŅиŅŅ",
"select_photos": "ĐŅĐąĐĩŅиŅĐĩ ŅĐžŅĐžĐŗŅаŅии",
"select_trash_all": "ĐŖĐ´Đ°ĐģиŅŅ Đ˛ŅŅ Đ˛ŅĐąŅаĐŊĐŊĐžĐĩ",
"select_user_for_sharing_page_err_album": "ĐĐĩ ŅдаĐģĐžŅŅ ŅОСдаŅŅ Đ°ĐģŅйОĐŧ",
"selected": "ĐŅĐąŅаĐŊĐž",
- "selected_count": "{count, plural, one {# вŅĐąŅаĐŊ} other {# вŅĐąŅаĐŊĐž}}",
+ "selected_count": "{count, plural, one {ĐŅĐąŅаĐŊ # ОйŅĐĩĐēŅ} many {ĐŅĐąŅаĐŊĐž # ОйŅĐĩĐēŅОв} other {ĐŅĐąŅаĐŊĐž # ОйŅĐĩĐēŅа}}",
"send_message": "ĐŅĐŋŅавиŅŅ ŅООйŅĐĩĐŊиĐĩ",
"send_welcome_email": "ĐŅĐŋŅавиŅŅ ĐŋŅивĐĩŅŅŅвĐĩĐŊĐŊĐžĐĩ ĐŋиŅŅĐŧĐž",
"server_endpoint": "ĐĐ´ŅĐĩŅ ŅĐĩŅвĐĩŅа",
@@ -1717,7 +1725,7 @@
"stack_duplicates": "ĐŅŅĐŋĐŋиŅОваŅŅ Đ´ŅĐąĐģиĐēаŅŅ",
"stack_select_one_photo": "ĐŅĐąĐĩŅиŅĐĩ ĐŗĐģавĐŊŅŅ ŅĐžŅĐžĐŗŅаŅĐ¸Ņ Đ´ĐģŅ ĐŗŅŅĐŋĐŋŅ",
"stack_selected_photos": "ĐŅŅĐŋĐŋиŅОваŅŅ Đ˛ŅĐąŅаĐŊĐŊŅĐĩ ОйŅĐĩĐēŅŅ",
- "stacked_assets_count": "{count, plural, one {# ОйŅĐĩĐēŅ Đ´ĐžĐąĐ°Đ˛ĐģĐĩĐŊ} few {# ОйŅĐĩĐēŅа дОйавĐģĐĩĐŊĐž} other {# ОйŅĐĩĐēŅОв дОйавĐģĐĩĐŊĐž}} в ĐŗŅŅĐŋĐŋŅ",
+ "stacked_assets_count": "{count, plural, one {# ОйŅĐĩĐēŅ ĐžĐąŅĐĩдиĐŊĐĩĐŊ} many {# ОйŅĐĩĐēŅОв ОйŅĐĩдиĐŊĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа ОйŅĐĩдиĐŊĐĩĐŊĐž}} в ĐŗŅŅĐŋĐŋŅ",
"stacktrace": "ĐĸŅаŅŅиŅОвĐēа ŅŅĐĩĐēа",
"start": "ĐĄŅаŅŅ",
"start_date": "ĐаŅа ĐŊаŅаĐģа",
@@ -1746,9 +1754,9 @@
"tag_created": "ĐĸĐĩĐŗ {tag} ŅОСдаĐŊ",
"tag_feature_description": "ĐŅĐžŅĐŧĐžŅŅ ŅĐžŅĐžĐŗŅаŅиК и видĐĩĐž, ŅĐŗŅŅĐŋĐŋиŅОваĐŊĐŊŅŅ
ĐŋĐž ŅĐĩĐŗĐ°Đŧ",
"tag_not_found_question": "ĐĐĩ ŅдаĐĩŅŅŅ ĐŊаКŅи ŅĐĩĐŗ? ХОСдаКŅĐĩ ĐŊОвŅĐš ŅĐĩĐŗ.",
- "tag_people": "ĐĸĐĩĐŗ ĐģŅĐ´ĐĩĐš",
+ "tag_people": "ĐŅĐŧĐĩŅиŅŅ ŅĐĩĐģОвĐĩĐēа",
"tag_updated": "ĐĸĐĩĐŗ {tag} иСĐŧĐĩĐŊĐĩĐŊ",
- "tagged_assets": "ĐĐžĐŧĐĩŅĐĩĐŊĐž {count, plural, one {# ОйŅĐĩĐēŅ} other {# ОйŅĐĩĐēŅОв}}",
+ "tagged_assets": "ĐĸĐĩĐŗ ĐŊаСĐŊаŅĐĩĐŊ Đ´ĐģŅ {count, plural, one {# ОйŅĐĩĐēŅа} other {# ОйŅĐĩĐēŅОв}}",
"tags": "ĐĸĐĩĐŗĐ¸",
"template": "ШайĐģĐžĐŊ",
"theme": "ĐĸĐĩĐŧа",
@@ -1798,9 +1806,9 @@
"trashed_items_will_be_permanently_deleted_after": "ĐĐģĐĩĐŧĐĩĐŊŅŅ Đ˛ ĐēĐžŅСиĐŊĐĩ ĐąŅĐ´ŅŅ Đ°Đ˛ŅĐžĐŧаŅиŅĐĩŅĐēи ŅдаĐģĐĩĐŊŅ ŅĐĩŅĐĩС {days, plural, one {# Đ´ĐĩĐŊŅ} other {# Đ´ĐŊĐĩĐš}}.",
"type": "ĐĸиĐŋ",
"unarchive": "ĐĐžŅŅŅаĐŊОвиŅŅ",
- "unarchived_count": "{count, plural, other {ĐОСвŅаŅĐĩĐŊĐž иС аŅŅ
ива #}}",
+ "unarchived_count": "{count, plural, one {# ОйŅĐĩĐēŅ Đ˛ĐžĐˇĐ˛ŅаŅŅĐŊ} many {# ОйŅĐĩĐēŅОв вОСвŅаŅĐĩĐŊĐž} other {# ОйŅĐĩĐēŅа вОСвŅаŅĐĩĐŊĐž}} иС аŅŅ
ива",
"unfavorite": "ĐŖĐ´Đ°ĐģиŅŅ Đ¸Đˇ иСйŅаĐŊĐŊĐžĐŗĐž",
- "unhide_person": "ĐĐžĐēаСаŅŅ ĐŋĐĩŅŅĐžĐŊŅ",
+ "unhide_person": "ĐĐžĐēаСаŅŅ ŅĐĩĐģОвĐĩĐēа",
"unknown": "ĐĐĩиСвĐĩŅŅĐŊĐž",
"unknown_country": "ĐĐĩиСвĐĩŅŅĐŊĐ°Ņ ŅŅŅаĐŊа",
"unknown_year": "ĐĐĩиСвĐĩŅŅĐŊŅĐš ĐОд",
@@ -1813,10 +1821,10 @@
"unnamed_album_delete_confirmation": "ĐŅ ŅвĐĩŅĐĩĐŊŅ, ŅŅĐž Ņ
ĐžŅиŅĐĩ ŅдаĐģиŅŅ ŅŅĐžŅ Đ°ĐģŅйОĐŧ?",
"unnamed_share": "ĐĐąŅиК Đ´ĐžŅŅŅĐŋ ĐąĐĩС ĐŊаСваĐŊиŅ",
"unsaved_change": "ĐĐĩ ŅĐžŅ
ŅаĐŊĐĩĐŊĐŊĐžĐĩ иСĐŧĐĩĐŊĐĩĐŊиĐĩ",
- "unselect_all": "ĐĄĐŊŅŅŅ Đ˛ŅŅ",
+ "unselect_all": "ĐŅĐŧĐĩĐŊиŅŅ Đ˛ŅĐ´ĐĩĐģĐĩĐŊиĐĩ",
"unselect_all_duplicates": "ĐŅĐŧĐĩĐŊиŅŅ Đ˛ŅĐąĐžŅ Đ˛ŅĐĩŅ
Đ´ŅĐąĐģиĐēаŅОв",
"unstack": "Đ Đ°ĐˇĐŗŅŅĐŋĐŋиŅОваŅŅ",
- "unstacked_assets_count": "{count, plural, one {# ОйŅĐĩĐēŅ Đ¸ĐˇĐ˛ĐģĐĩŅĐĩĐŊ} few {# ОйŅĐĩĐēŅа иСвĐģĐĩŅĐĩĐŊĐž} other {# ОйŅĐĩĐēŅОв иСвĐģĐĩŅĐĩĐŊĐž}} иС ĐŗŅŅĐŋĐŋŅ",
+ "unstacked_assets_count": "{count, plural, one {Đ Đ°ĐˇĐŗŅŅĐŋĐŋиŅОваĐŊ # ОйŅĐĩĐēŅ} many {Đ Đ°ĐˇĐŗŅŅĐŋĐŋиŅОваĐŊĐž # ОйŅĐĩĐēŅОв} other {Đ Đ°ĐˇĐŗŅŅĐŋĐŋиŅОваĐŊĐž # ОйŅĐĩĐēŅа}}",
"untracked_files": "ĐĐĐĐĸĐĄĐĐĐĐĐĐĐĐĐĢРФĐĐĐĐĢ",
"untracked_files_decription": "ĐŅиĐģĐžĐļĐĩĐŊиĐĩ ĐŊĐĩ ĐžŅŅĐģĐĩĐļиваĐĩŅ ŅŅи ŅаКĐģŅ. ĐĐŊи ĐŧĐžĐŗŅŅ ĐąŅŅŅ ŅĐĩСŅĐģŅŅаŅĐžĐŧ ĐŊĐĩŅдаŅĐŊŅŅ
ĐŋĐĩŅĐĩĐŧĐĩŅĐĩĐŊиК, ĐŋŅĐĩŅваĐŊĐŊŅŅ
ĐˇĐ°ĐŗŅŅСОĐē иĐģи ĐŋŅĐžĐŋŅŅĐĩĐŊŅ Đ¸Đˇ-Са ĐžŅийĐēи",
"up_next": "ĐĄĐģĐĩĐ´ŅŅŅĐĩĐĩ",
@@ -1825,9 +1833,9 @@
"upload_concurrency": "ĐаŅаĐģĐģĐĩĐģŅĐŊĐžŅŅŅ ĐˇĐ°ĐŗŅŅСĐēи",
"upload_dialog_info": "ĐĨĐžŅиŅĐĩ ĐˇĐ°ĐŗŅŅСиŅŅ Đ˛ŅĐąŅаĐŊĐŊŅĐĩ ОйŅĐĩĐēŅŅ ĐŊа ŅĐĩŅвĐĩŅ?",
"upload_dialog_title": "ĐĐ°ĐŗŅŅСиŅŅ ĐžĐąŅĐĩĐēŅ",
- "upload_errors": "ĐĐ°ĐŗŅŅСĐēа СавĐĩŅŅĐĩĐŊа Ņ {count, plural, one {# ĐžŅийĐēОК} other {# ĐžŅийĐēаĐŧи}}, ОйĐŊОвиŅĐĩ ŅŅŅаĐŊиŅŅ, ŅŅĐžĐąŅ ŅвидĐĩŅŅ ĐŊОвŅĐĩ ĐˇĐ°ĐŗŅŅĐļĐĩĐŊĐŊŅĐĩ ŅĐĩŅŅŅŅŅ.",
+ "upload_errors": "ĐĐ°ĐŗŅŅСĐēа СавĐĩŅŅĐĩĐŊа Ņ {count, plural, one {# ĐžŅийĐēОК} other {# ĐžŅийĐēаĐŧи}}, ОйĐŊОвиŅĐĩ ŅŅŅаĐŊиŅŅ, ŅŅĐžĐąŅ ŅвидĐĩŅŅ ĐŊОвŅĐĩ ĐˇĐ°ĐŗŅŅĐļĐĩĐŊĐŊŅĐĩ ОйŅĐĩĐēŅŅ.",
"upload_progress": "ĐŅŅаĐģĐžŅŅ {remaining, number} - ĐĐąŅайОŅаĐŊĐž {processed, number}/{total, number}",
- "upload_skipped_duplicates": "ĐŅĐžĐŋŅŅĐĩĐŊ{count, plural, one { # Đ´ŅĐąĐģиŅŅŅŅиКŅŅ ŅĐĩŅŅŅŅ} few {Đž # Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ŅĐĩŅŅŅŅа} many {Đž # Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ŅĐĩŅŅŅŅОв} other {Đž # Đ´ŅĐąĐģиŅŅŅŅиŅ
ŅŅ ŅĐĩŅŅŅŅа}}",
+ "upload_skipped_duplicates": "ĐŅĐžĐŋŅŅĐĩĐŊ{count, plural, one { # Đ´ŅĐąĐģиĐēаŅ} many {Đž # Đ´ŅĐąĐģиĐēаŅОв} other {Đž # Đ´ŅĐąĐģиĐēаŅа}}",
"upload_status_duplicates": "ĐŅĐąĐģиĐēаŅŅ",
"upload_status_errors": "ĐŅийĐēи",
"upload_status_uploaded": "ĐĐ°ĐŗŅŅĐļĐĩĐŊĐž",
@@ -1867,7 +1875,7 @@
"video_hover_setting": "ĐĐžŅĐŋŅОиСвĐĩĐ´ĐĩĐŊиĐĩ ĐŧиĐŊиаŅŅŅŅ Đ˛Đ¸Đ´ĐĩĐž ĐŋŅи ĐŊавĐĩĐ´ĐĩĐŊии ĐēŅŅŅĐžŅа ĐŧŅŅи",
"video_hover_setting_description": "ĐĐžŅĐŋŅОиСвОдиŅŅ ĐŧиĐŊиаŅŅŅŅ Đ˛Đ¸Đ´ĐĩĐž ĐŋŅи ĐŊавĐĩĐ´ĐĩĐŊии ĐēŅŅŅĐžŅа ĐŧŅŅи ĐŊа ОйŅĐĩĐēŅ. ĐаĐļĐĩ ĐĩŅĐģи ŅŅĐžŅ ĐŋаŅаĐŧĐĩŅŅ ĐžŅĐēĐģŅŅĐĩĐŊ, вОŅĐŋŅОиСвĐĩĐ´ĐĩĐŊиĐĩ ĐŧĐžĐļĐŊĐž СаĐŋŅŅŅиŅŅ, ĐŊавĐĩĐ´Ņ ĐēŅŅŅĐžŅ ĐŊа СĐŊаŅĐžĐē вОŅĐŋŅОиСвĐĩĐ´ĐĩĐŊиŅ.",
"videos": "ĐидĐĩĐž",
- "videos_count": "{count, plural, one {# ĐидĐĩĐž} few {# ĐидĐĩĐž} many {# ĐидĐĩĐž} other {# ĐидĐĩĐž}}",
+ "videos_count": "{count, plural, one {# видĐĩĐž} other {# видĐĩĐž}}",
"view": "ĐŅĐžŅĐŧĐžŅŅ",
"view_album": "ĐŅĐžŅĐŧĐžŅŅĐĩŅŅ Đ°ĐģŅйОĐŧ",
"view_all": "ĐĐžŅĐŧĐžŅŅĐĩŅŅ Đ˛ŅŅ",
@@ -1883,7 +1891,7 @@
"viewer_remove_from_stack": "ĐŖĐąŅаŅŅ Đ¸Đˇ ĐŗŅŅĐŋĐŋŅ",
"viewer_stack_use_as_main_asset": "ĐŅĐŋĐžĐģŅСОваŅŅ Đ˛ ĐēаŅĐĩŅŅвĐĩ ĐžŅĐŊОвĐŊĐžĐŗĐž ОйŅĐĩĐēŅа",
"viewer_unstack": "Đ Đ°ĐˇĐŗŅŅĐŋĐŋиŅОваŅŅ",
- "visibility_changed": "ĐидиĐŧĐžŅŅŅ Đ¸ĐˇĐŧĐĩĐŊĐĩĐŊа Đ´ĐģŅ {count, plural, one {# ŅĐĩĐģОвĐĩĐēа} other {# ĐģŅĐ´ĐĩĐš}}",
+ "visibility_changed": "ĐСĐŧĐĩĐŊĐĩĐŊа видиĐŧĐžŅŅŅ Ņ {count, plural, one {# ŅĐĩĐģОвĐĩĐēа} other {# ŅĐĩĐģОвĐĩĐē}}",
"waiting": "Đ ĐžŅĐĩŅĐĩди",
"warning": "ĐŅĐĩĐ´ŅĐŋŅĐĩĐļĐ´ĐĩĐŊиĐĩ",
"week": "ĐĐĩĐ´ĐĩĐģŅ",
diff --git a/i18n/sk.json b/i18n/sk.json
index 8ab3b0cded..912669f596 100644
--- a/i18n/sk.json
+++ b/i18n/sk.json
@@ -187,20 +187,13 @@
"oauth_auto_register": "AutomatickÃĄ regristrÃĄcia",
"oauth_auto_register_description": "AutomatickÊ zaregistrovanie novÊho poÅžÃvateÄža pri prihlÃĄsenà pomocou OAuth",
"oauth_button_text": "Text tlaÄÃtka",
- "oauth_client_id": "Client ID",
- "oauth_client_secret": "Client Secret",
"oauth_enable_description": "PrihlÃĄsiÅĨ sa pomocou OAuth",
- "oauth_issuer_url": "Adresa URL vydavateÄža",
"oauth_mobile_redirect_uri": "URI mobilnÊho presmerovania",
"oauth_mobile_redirect_uri_override": "PrepÃsanie URI mobilnÊho presmerovania",
"oauth_mobile_redirect_uri_override_description": "PovoÄžte, keÄ poskytovateÄž protokolu OAuth nepovoÄžuje identifikÃĄtor URI pre mobilnÊ zariadenia, naprÃklad '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritmus podpisovania profilu",
- "oauth_profile_signing_algorithm_description": "Algoritmus pouÅžÃvanÃŊ na prihlÃĄsenie uÅžÃvateÄžskÊho profilu.",
- "oauth_scope": "Rozsah",
"oauth_settings": "OAuth",
"oauth_settings_description": "SpravovaÅĨ nastavenia prihlÃĄsenia OAuth",
"oauth_settings_more_details": "Pre viac informÃĄcii o tejto funkcii, prejdite na docs.",
- "oauth_signing_algorithm": "Algoritmus podpisovania",
"oauth_storage_label_claim": "NÃĄrokovaÅĨ Å tÃtok ÃēloÅžiska",
"oauth_storage_label_claim_description": "Automaticky nastaviÅĨ Å tÃtok ÃēloÅžiska pouÅžÃvateÄža na hodnotu tohto nÃĄroku.",
"oauth_storage_quota_claim": "DeklarÃĄcia kvÃŗty ÃēloÅžiska",
diff --git a/i18n/sl.json b/i18n/sl.json
index 01f62d204e..19e31871a6 100644
--- a/i18n/sl.json
+++ b/i18n/sl.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Samodejna registracija",
"oauth_auto_register_description": "Samodejna registracija novih uporabnikov po prijavi z OAuth",
"oauth_button_text": "Besedilo gumba",
- "oauth_client_id": "ID stranke",
- "oauth_client_secret": "Skrivnost stranke",
"oauth_enable_description": "Prijava z OAuth",
- "oauth_issuer_url": "URL izdajatelja",
"oauth_mobile_redirect_uri": "Mobilni preusmeritveni URI",
"oauth_mobile_redirect_uri_override": "Preglasitev URI preusmeritve za mobilne naprave",
"oauth_mobile_redirect_uri_override_description": "OmogoÄi, ko ponudnik OAuth ne dovoli mobilnega URI-ja, kot je '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritem za podpisovanje profila",
- "oauth_profile_signing_algorithm_description": "Algoritem, ki se uporablja za podpisovanje uporabniÅĄkega profila.",
- "oauth_scope": "PodroÄje uporabe",
"oauth_settings": "OAuth",
"oauth_settings_description": "Upravljanje nastavitev prijave OAuth",
"oauth_settings_more_details": "Za veÄ podrobnosti o tej funkciji glejte dokumentacijo.",
- "oauth_signing_algorithm": "Algoritem podpisovanja",
"oauth_storage_label_claim": "Zahtevek za nalepko za shranjevanje",
"oauth_storage_label_claim_description": "Samodejno nastavi uporabnikovo oznako za shranjevanje na vrednost tega zahtevka.",
"oauth_storage_quota_claim": "Zahtevek za kvoto prostora za shranjevanje",
@@ -404,9 +397,9 @@
"album_remove_user_confirmation": "Ali ste prepriÄani, da Åželite odstraniti {user}?",
"album_share_no_users": "Videti je, da ste ta album dali v skupno rabo z vsemi uporabniki ali pa nimate nobenega uporabnika, s katerim bi ga lahko delili.",
"album_thumbnail_card_item": "1 element",
- "album_thumbnail_card_items": "{count, plural, one {# element} two {# elementa} few {# elementi} other {# elementov}}",
+ "album_thumbnail_card_items": "{} elementov",
"album_thumbnail_card_shared": " ¡ V skupni rabi",
- "album_thumbnail_shared_by": "Delil {user}",
+ "album_thumbnail_shared_by": "Delil {}",
"album_updated": "Album posodobljen",
"album_updated_setting_description": "Prejmite e-poÅĄtno obvestilo, ko ima album v skupni rabi nova sredstva",
"album_user_left": "Zapustil {album}",
@@ -444,7 +437,7 @@
"archive": "Arhiv",
"archive_or_unarchive_photo": "Arhivirajte ali odstranite fotografijo iz arhiva",
"archive_page_no_archived_assets": "Ni arhiviranih sredstev",
- "archive_page_title": "Arhiv ({number})",
+ "archive_page_title": "Arhiv ({})",
"archive_size": "Velikost arhiva",
"archive_size_description": "Konfigurirajte velikost arhiva za prenose (v GiB)",
"archived": "Arhivirano",
@@ -481,18 +474,18 @@
"assets_added_to_album_count": "Dodano {count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}} v album",
"assets_added_to_name_count": "Dodano {count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}} v {hasName, select, true {{name} } other {new album}}",
"assets_count": "{count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}}",
- "assets_deleted_permanently": "{count, plural, one {# sredstvo trajno izbrisano} two {# sredstvi trajno izbrisani} few {# sredstva trajno izbrisana} other {# sredstev trajno izbrisanih}}",
- "assets_deleted_permanently_from_server": "{count, plural, one {# sredstvo trajno izbrisano iz streÅžnika Immich} two {# sredstvi trajno izbrisani iz streÅžnika Immich} few {# sredstva trajno izbrisana iz streÅžnika Immich} other {# sredstev trajno izbrisanih iz streÅžnika Immich}}",
+ "assets_deleted_permanently": "trajno izrisana sredstva {}",
+ "assets_deleted_permanently_from_server": "trajno izbrisana sredstva iz streÅžnika Immich {}",
"assets_moved_to_trash_count": "Premaknjeno {count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}} v smetnjak",
"assets_permanently_deleted_count": "Trajno izbrisano {count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}}",
"assets_removed_count": "Odstranjeno {count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}}",
- "assets_removed_permanently_from_device": "{count, plural, one {# sredstvo trajno izbrisano iz naprave} two {# sredstvi strajno izbrisani iz naprave} few {# sredstva trajno izbrisana iz naprave} other {# sredstve trajno izbrisanih iz naprave}}",
+ "assets_removed_permanently_from_device": "trajno odstranjena sredstva iz naprave {}",
"assets_restore_confirmation": "Ali ste prepriÄani, da Åželite obnoviti vsa sredstva, ki ste jih odstranili? Tega dejanja ne morete razveljaviti! UpoÅĄtevajte, da sredstev brez povezave ni mogoÄe obnoviti na ta naÄin.",
"assets_restored_count": "Obnovljeno {count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}}",
- "assets_restored_successfully": "{count, plural, one {# sredstvo uspeÅĄno obnovljeno} two {# sredstvi uspeÅĄno obnovljeni} few {# sredstva uspeÅĄno obnovljena} other {# sredstev uspeÅĄno obnovljenih}}",
- "assets_trashed": "{count, plural, one {# sredstvo premaknjeno v smetnjak} two {# sredstvi premaknjeni v smetnjak} few {# sredstva premaknjena v smetnjak} other {# sredstev premaknjenih v smetnjak}}",
- "assets_trashed_count": "V smetnjak {count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}}",
- "assets_trashed_from_server": "{count, plural, one {# sredstvo iz Immich streÅžnika v smetnjak} two {# sredstvi iz Immich streÅžnika v smetnjak} few {# sredstva iz Immich streÅžnika v smetnjak} other {# sredstev iz Immich streÅžnika v smetnjak}}",
+ "assets_restored_successfully": "uspeÅĄno obnovljena sredstva {}",
+ "assets_trashed": "sredstva v smetnjaku {}",
+ "assets_trashed_count": "V smetnjak {count, plural, one {# sredstvo} other {# sredstva}}",
+ "assets_trashed_from_server": "sredstva iz streÅžnika Immich v smetnjaku {}",
"assets_were_part_of_album_count": "{count, plural, one {sredstvo je} two {sredstvi sta} few {sredstva so} other {sredstev je}} Åže del albuma",
"authorized_devices": "PooblaÅĄÄene naprave",
"automatic_endpoint_switching_subtitle": "PoveÅžite se lokalno prek doloÄenega omreÅžja Wi-Fi, ko je na voljo, in uporabite druge povezave drugje",
@@ -531,11 +524,11 @@
"backup_controller_page_background_is_on": "Samodejno varnostno kopiranje v ozadju je vklopljeno",
"backup_controller_page_background_turn_off": "Izklopi storitev v ozadju",
"backup_controller_page_background_turn_on": "Vklopi storitev v ozadju",
- "backup_controller_page_background_wifi": "Samo na WiFi",
+ "backup_controller_page_background_wifi": "Samo na Wi-Fi",
"backup_controller_page_backup": "Varnostna kopija",
"backup_controller_page_backup_selected": "Izbrano: ",
"backup_controller_page_backup_sub": "Varnostno kopirane fotografije in videoposnetki",
- "backup_controller_page_created": "Ustvarjeno: {date}",
+ "backup_controller_page_created": "Ustvarjeno: {}",
"backup_controller_page_desc_backup": "Vklopite varnostno kopiranje v ospredju za samodejno nalaganje novih sredstev na streÅžnik, ko odprete aplikacijo.",
"backup_controller_page_excluded": "IzkljuÄeno: ",
"backup_controller_page_failed": "NeuspeÅĄno ({})",
@@ -549,7 +542,7 @@
"backup_controller_page_start_backup": "ZaÅženi varnostno kopiranje",
"backup_controller_page_status_off": "Samodejno varnostno kopiranje v ospredju je izklopljeno",
"backup_controller_page_status_on": "Samodejno varnostno kopiranje v ospredju je vklopljeno",
- "backup_controller_page_storage_format": "{used} od {available} uporabljeno",
+ "backup_controller_page_storage_format": "Uporabljeno {} od {}",
"backup_controller_page_to_backup": "Albumi, ki bodo varnostno kopirani",
"backup_controller_page_total_sub": "Vse edinstvene fotografije in videi iz izbranih albumov",
"backup_controller_page_turn_off": "Izklopite varnostno kopiranje v ospredju",
@@ -574,13 +567,13 @@
"bulk_keep_duplicates_confirmation": "Ali ste prepriÄani, da Åželite obdrÅžati {count, plural, one {# dvojnik} two {# dvojnika} few {# dvojnike} other {# dvojnikov}}? S tem boste razreÅĄili vse podvojene skupine, ne da bi karkoli izbrisali.",
"bulk_trash_duplicates_confirmation": "Ali ste prepriÄani, da Åželite mnoÅžiÄno vreÄi v smetnjak {count, plural, one {# dvojnik} two {# dvojnika} few {# dvojnike} other {# dvojnikov}}? S tem boste obdrÅžali najveÄje sredstvo vsake skupine in odstranili vse druge dvojnike.",
"buy": "Kupi Immich",
- "cache_settings_album_thumbnails": "SliÄice strani knjiÅžnice ({count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}})",
+ "cache_settings_album_thumbnails": "SliÄice strani knjiÅžnice ({} sredstev)",
"cache_settings_clear_cache_button": "PoÄisti predpomnilnik",
"cache_settings_clear_cache_button_title": "PoÄisti predpomnilnik aplikacije. To bo znatno vplivalo na delovanje aplikacije, dokler se predpomnilnik ne obnovi.",
"cache_settings_duplicated_assets_clear_button": "POÄISTI",
"cache_settings_duplicated_assets_subtitle": "Fotografije in videoposnetki, ki jih je aplikacija uvrstila na Ärni seznam",
- "cache_settings_duplicated_assets_title": "{count, plural, one {# podvojeno sredstvo} two {# podvojeni sredstvi} few {# podvojena sredstva} other {# podvojenih sredstev}}",
- "cache_settings_image_cache_size": "Velikost predpomnilnika slik ({count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}})",
+ "cache_settings_duplicated_assets_title": "Podvojena sredstva ({})",
+ "cache_settings_image_cache_size": "Velikost predpomnilnika slik ({} sredstev)",
"cache_settings_statistics_album": "SliÄice knjiÅžnice",
"cache_settings_statistics_assets": "{} sredstva ({})",
"cache_settings_statistics_full": "Izvirne slike",
@@ -588,7 +581,7 @@
"cache_settings_statistics_thumbnail": "SliÄice",
"cache_settings_statistics_title": "Uporaba predpomnilnika",
"cache_settings_subtitle": "Nadzirajte delovanje predpomnjenja mobilne aplikacije Immich",
- "cache_settings_thumbnail_size": "Velikost predpomnilnika sliÄic ({count, plural, one {# sredstvo} two {# sredstvi} few {# sredstva} other {# sredstev}})",
+ "cache_settings_thumbnail_size": "Velikost predpomnilnika sliÄic ({} sredstev)",
"cache_settings_tile_subtitle": "Nadzoruj vedenje lokalnega shranjevanja",
"cache_settings_tile_title": "Lokalna shramba",
"cache_settings_title": "Nastavitve predpomnjenja",
@@ -658,7 +651,7 @@
"contain": "Vsebuje",
"context": "Kontekst",
"continue": "Nadaljuj",
- "control_bottom_app_bar_album_info_shared": "{count, plural, one {# element v skupni rabi} two {# elementa v skupni rabi} few {# elementi v skupni rabi} other {# elementov v skupni rabi}}",
+ "control_bottom_app_bar_album_info_shared": "{} elementov ¡ V skupni rabi",
"control_bottom_app_bar_create_new_album": "Ustvari nov album",
"control_bottom_app_bar_delete_from_immich": "IzbriÅĄi iz Immicha",
"control_bottom_app_bar_delete_from_local": "IzbriÅĄi iz naprave",
@@ -1175,8 +1168,8 @@
"manage_your_devices": "Upravljajte svoje prijavljene naprave",
"manage_your_oauth_connection": "Upravljajte svojo OAuth povezavo",
"map": "Zemljevid",
- "map_assets_in_bound": "{count, plural, one {# slika}}",
- "map_assets_in_bounds": "{count, plural, two {# sliki} few {# slike} other {# slik}}",
+ "map_assets_in_bound": "{} slika",
+ "map_assets_in_bounds": "{} slik",
"map_cannot_get_user_location": "Lokacije uporabnika ni mogoÄe dobiti",
"map_location_dialog_yes": "Da",
"map_location_picker_page_use_location": "Uporabi to lokacijo",
@@ -1190,9 +1183,9 @@
"map_settings": "Nastavitve zemljevida",
"map_settings_dark_mode": "Temni naÄin",
"map_settings_date_range_option_day": "Zadnjih 24 ur",
- "map_settings_date_range_option_days": "{count, plural, one {Zadnji # dan} two {Zadnja # dneva} few {Zadnje # dni} other {Zadnjih # dni}}",
+ "map_settings_date_range_option_days": "Zadnjih {} dni",
"map_settings_date_range_option_year": "Zadnje leto",
- "map_settings_date_range_option_years": "{count, plural, two {Zadnje # leti} few {# Zadnja # leta} other {Zadnjih # let}}",
+ "map_settings_date_range_option_years": "Zadnjih {} let",
"map_settings_dialog_title": "Nastavitve zemljevida",
"map_settings_include_show_archived": "VkljuÄi arhivirane",
"map_settings_include_show_partners": "VkljuÄi partnerjeve",
@@ -1208,7 +1201,7 @@
"memories_start_over": "ZaÄni od zaÄetka",
"memories_swipe_to_close": "Podrsaj gor za zapiranje",
"memories_year_ago": "Leto dni nazaj",
- "memories_years_ago": "{years, plural, two {# leti} few {# leta} other {# let}} nazaj",
+ "memories_years_ago": "{} let nazaj",
"memory": "Spomin",
"memory_lane_title": "Spominski trak {title}",
"menu": "Meni",
@@ -1311,7 +1304,7 @@
"partner_page_partner_add_failed": "Partnerja ni bilo mogoÄe dodati",
"partner_page_select_partner": "Izberi partnerja",
"partner_page_shared_to_title": "V skupni rabi z",
- "partner_page_stop_sharing_content": "{user} ne bo imel veÄ dostopa do vaÅĄih fotografij.",
+ "partner_page_stop_sharing_content": "{} ne bo imel veÄ dostopa do vaÅĄih fotografij.",
"partner_sharing": "Skupna raba s partnerjem",
"partners": "Partnerji",
"password": "Geslo",
@@ -1598,12 +1591,12 @@
"setting_languages_apply": "Uporabi",
"setting_languages_subtitle": "Spremeni jezik aplikacije",
"setting_languages_title": "Jeziki",
- "setting_notifications_notify_failures_grace_period": "Obvesti o napakah varnostnega kopiranja v ozadju: {user}",
- "setting_notifications_notify_hours": "{count, plural, one {# ura} two {# uri} few {# ure} other {# ur}}",
+ "setting_notifications_notify_failures_grace_period": "Obvesti o napakah varnostnega kopiranja v ozadju: {}",
+ "setting_notifications_notify_hours": "{} ur",
"setting_notifications_notify_immediately": "takoj",
- "setting_notifications_notify_minutes": "{count, plural, one {# minuta} two {# minuti} few {# minute} other {# minut}}",
+ "setting_notifications_notify_minutes": "{} minut",
"setting_notifications_notify_never": "nikoli",
- "setting_notifications_notify_seconds": "{count, plural, one {# sekunda} two {# sekundi} few {# sekunde} other {# sekund}}",
+ "setting_notifications_notify_seconds": "{} sekund",
"setting_notifications_single_progress_subtitle": "Podrobne informacije o napredku nalaganja po sredstvih",
"setting_notifications_single_progress_title": "PokaÅži napredek varnostnega kopiranja v ozadju",
"setting_notifications_subtitle": "Prilagodite svoje nastavitve obvestil",
@@ -1617,7 +1610,7 @@
"settings_saved": "Nastavitve shranjene",
"share": "Deli",
"share_add_photos": "Dodaj fotografije",
- "share_assets_selected": "{count, plural, one {# izbrana} two {# izbrani} few {# izbrane} other {# izbranih}}",
+ "share_assets_selected": "{} izbrano",
"share_dialog_preparing": "Priprava...",
"shared": "V skupni rabi",
"shared_album_activities_input_disable": "Komentiranje je onemogoÄeno",
@@ -1638,25 +1631,25 @@
"shared_link_create_error": "Napaka pri ustvarjanju povezave skupne rabe",
"shared_link_edit_description_hint": "Vnesi opis skupne rabe",
"shared_link_edit_expire_after_option_day": "1 dan",
- "shared_link_edit_expire_after_option_days": "{count, plural, other {# dni}}",
+ "shared_link_edit_expire_after_option_days": "{} dni",
"shared_link_edit_expire_after_option_hour": "1 ura",
- "shared_link_edit_expire_after_option_hours": "{count, plural, two {# uri} few {# ure} other {# ur}}",
+ "shared_link_edit_expire_after_option_hours": "{} ur",
"shared_link_edit_expire_after_option_minute": "1 minuta",
- "shared_link_edit_expire_after_option_minutes": "{count, plural, two {# minuti} few {# minute} other {# minut}}",
- "shared_link_edit_expire_after_option_months": "{count, plural, one {# mesec} two {# meseca} few {# mesece} other {# mesecev}}",
- "shared_link_edit_expire_after_option_year": "{count, plural, one {# leto} two {# leti} few {# leta} other {# let}}",
+ "shared_link_edit_expire_after_option_minutes": "{} minut",
+ "shared_link_edit_expire_after_option_months": "{} mesecev",
+ "shared_link_edit_expire_after_option_year": "{} let",
"shared_link_edit_password_hint": "Vnesi geslo za skupno rabo",
"shared_link_edit_submit_button": "Posodobi povezavo",
"shared_link_error_server_url_fetch": "URL-ja streÅžnika ni mogoÄe pridobiti",
- "shared_link_expires_day": "PoteÄe Äez {count, plural, one {# dan}}",
- "shared_link_expires_days": "PoteÄe Äez {count, plural, other {# dni}}",
- "shared_link_expires_hour": "PoteÄe Äez {count, plural, one {# uro}}",
- "shared_link_expires_hours": "PoteÄe Äez {count, plural, two {# uri} few {# ure} other {# ur}}",
- "shared_link_expires_minute": "PoteÄe Äez {count, plural, one {# minuto}}",
- "shared_link_expires_minutes": "PoteÄe Äez {count, plural, two {# minuti} few {# minute} other {# minut}}",
+ "shared_link_expires_day": "PoteÄe Äez {} dan",
+ "shared_link_expires_days": "PoteÄe Äez {} dni",
+ "shared_link_expires_hour": "PoteÄe Äez {} uro",
+ "shared_link_expires_hours": "PoteÄe Äez {} ur",
+ "shared_link_expires_minute": "PoteÄe Äez {} minuto",
+ "shared_link_expires_minutes": "PoteÄe Äez {} minut",
"shared_link_expires_never": "PoteÄe â",
- "shared_link_expires_second": "PoteÄe Äez {count,plural, one {# sekundo}}",
- "shared_link_expires_seconds": "PoteÄe Äez {count, plural, two {# sekundi} few {# sekunde} other {# sekund}}",
+ "shared_link_expires_second": "PoteÄe Äez {} sekundo",
+ "shared_link_expires_seconds": "PoteÄe Äez {} sekund",
"shared_link_individual_shared": "Individualno deljeno",
"shared_link_info_chip_metadata": "EXIF",
"shared_link_manage_links": "Upravljanje povezav v skupni rabi",
@@ -1792,11 +1785,11 @@
"trash_no_results_message": "Fotografije in videoposnetki, ki so v smetnjaku, bodo prikazani tukaj.",
"trash_page_delete_all": "IzbriÅĄi vse",
"trash_page_empty_trash_dialog_content": "Ali Åželite izprazniti svoja sredstva v smeti? Ti elementi bodo trajno odstranjeni iz Immicha",
- "trash_page_info": "Elementi v smeteh bodo trajno izbrisani po {number} dneh",
+ "trash_page_info": "Elementi v smeteh bodo trajno izbrisani po {} dneh",
"trash_page_no_assets": "Ni sredstev v smeteh",
"trash_page_restore_all": "Obnovi vse",
"trash_page_select_assets_btn": "Izberite sredstva",
- "trash_page_title": "Smetnjak ({count, number})",
+ "trash_page_title": "Smetnjak ({})",
"trashed_items_will_be_permanently_deleted_after": "Elementi v smetnjaku bodo trajno izbrisani po {days, plural, one {# dnevu} two {# dnevih} few {# dnevih} other {# dneh}}.",
"type": "Vrsta",
"unarchive": "Odstrani iz arhiva",
diff --git a/i18n/sr_Cyrl.json b/i18n/sr_Cyrl.json
index 97fe461afd..34fe5084e6 100644
--- a/i18n/sr_Cyrl.json
+++ b/i18n/sr_Cyrl.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "ĐŅŅĐžĐŧаŅŅĐēа ŅĐĩĐŗĐ¸ŅŅŅаŅиŅа",
"oauth_auto_register_description": "ĐŅŅĐžĐŧаŅŅĐēи ŅĐĩĐŗĐ¸ŅŅŅŅŅŅĐĩ ĐŊОвĐĩ ĐēĐžŅиŅĐŊиĐēĐĩ ĐŊаĐēĐžĐŊ ŅŅĐž ŅĐĩ ĐŋŅиŅавиŅĐĩ ĐŋĐžĐŧĐžŅŅ OAuth-a",
"oauth_button_text": "ĐĸĐĩĐēŅŅ Đ´ŅĐŗĐŧĐĩŅа",
- "oauth_client_id": "ĐĐ ĐēĐģиŅĐĩĐŊŅа",
- "oauth_client_secret": "ĐĸаŅĐŊа ĐēĐģиŅĐĩĐŊŅа",
"oauth_enable_description": "ĐŅиŅавиŅĐĩ ŅĐĩ ĐŋĐžĐŧĐžŅŅ OAuth-a",
- "oauth_issuer_url": "ĐŖĐ Đ Đ¸ĐˇĐ´Đ°Đ˛Đ°Ņа",
"oauth_mobile_redirect_uri": "ĐŖĐ Đ ĐˇĐ° ĐŋŅĐĩŅŅĐŧĐĩŅаваŅĐĩ ĐŧОйиĐģĐŊиŅ
ŅŅĐĩŅаŅа",
"oauth_mobile_redirect_uri_override": "ĐаĐŧĐĩĐŊа ĐŖĐ Đ-Ņа ĐŧОйиĐģĐŊĐžĐŗ ĐŋŅĐĩŅŅĐŧĐĩŅаваŅа",
"oauth_mobile_redirect_uri_override_description": "ĐĐŧĐžĐŗŅŅи Đēада ĐĐuth дОйавŅĐ°Ņ (provider) ĐŊĐĩ дОСвОŅава ĐŧОйиĐģĐŊи URI, ĐēаО ŅŅĐž ŅĐĩ '{callback}'",
- "oauth_profile_signing_algorithm": "ĐĐģĐŗĐžŅиŅаĐŧ Са ĐŋĐžŅĐŋиŅиваŅĐĩ ĐŋŅĐžŅиĐģа",
- "oauth_profile_signing_algorithm_description": "ĐĐģĐŗĐžŅиŅаĐŧ ĐēĐžŅи ŅĐĩ ĐēĐžŅиŅŅи Са ĐŋĐžŅĐŋиŅиваŅĐĩ ĐēĐžŅиŅĐŊиŅĐēĐžĐŗ ĐŋŅĐžŅиĐģа.",
- "oauth_scope": "ĐйиĐŧ",
"oauth_settings": "ĐĐŅŅĐžŅиСаŅиŅа",
"oauth_settings_description": "ĐŖĐŋŅавŅаŅŅĐĩ ĐŋОдĐĩŅаваŅиĐŧа Са ĐŋŅиŅĐ°Đ˛Ņ Ņа ĐĐŅŅĐžŅиСаŅиŅĐžĐŧ",
"oauth_settings_more_details": "Đа виŅĐĩ Đ´ĐĩŅаŅа Đž ĐžĐ˛ĐžŅ ŅŅĐŊĐēŅиŅи ĐŋĐžĐŗĐģĐĩдаŅŅĐĩ Đ´ĐžĐēŅĐŧĐĩĐŊŅĐĩ.",
- "oauth_signing_algorithm": "ĐĐģĐŗĐžŅиŅаĐŧ ĐŋĐžŅĐŋиŅиваŅа",
"oauth_storage_label_claim": "ĐаŅ
ŅĐĩв Са ĐŊаĐģĐĩĐŋĐŊиŅŅ ĐˇĐ° ŅĐēĐģадиŅŅĐĩŅĐĩ",
"oauth_storage_label_claim_description": "ĐŅŅĐžĐŧаŅŅĐēи ĐŋОдĐĩŅиŅĐĩ ОСĐŊаĐēŅ ĐˇĐ° ŅĐēĐģадиŅŅĐĩŅĐĩ ĐēĐžŅиŅĐŊиĐēа ĐŊа вŅĐĩĐ´ĐŊĐžŅŅ ĐžĐ˛ĐžĐŗ СаŅ
ŅĐĩва.",
"oauth_storage_quota_claim": "ĐаŅ
ŅĐĩв Са ĐēвОŅŅ ŅĐēĐģадиŅŅĐĩŅа",
diff --git a/i18n/sr_Latn.json b/i18n/sr_Latn.json
index 093bf06df7..055a156d71 100644
--- a/i18n/sr_Latn.json
+++ b/i18n/sr_Latn.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Automatska registracija",
"oauth_auto_register_description": "Automatski registrujte nove korisnike nakon ÅĄto se prijavite pomocĖu OAuth-a",
"oauth_button_text": "Tekst dugmeta",
- "oauth_client_id": "ID klijenta",
- "oauth_client_secret": "Tajna klijenta",
"oauth_enable_description": "Prijavite se pomocĖu OAuth-a",
- "oauth_issuer_url": "URL izdavaÄa",
"oauth_mobile_redirect_uri": "URI za preusmeravanje mobilnih ureÄaja",
"oauth_mobile_redirect_uri_override": "Zamena URI-ja mobilnog preusmeravanja",
"oauth_mobile_redirect_uri_override_description": "OmogucĖi kada OAuth dobavljaÄ (provider) ne dozvoljava mobilni URI, kao ÅĄto je '{callback}'",
- "oauth_profile_signing_algorithm": "Algoritam za potpisivanje profila",
- "oauth_profile_signing_algorithm_description": "Algoritam koji se koristi za potpisivanje korisniÄkog profila.",
- "oauth_scope": "Obim",
"oauth_settings": "OAutorizacija",
"oauth_settings_description": "Upravljajte podeÅĄavanjima za prijavu sa OAutorizacijom",
"oauth_settings_more_details": "Za viÅĄe detalja o ovoj funkciji pogledajte dokumente.",
- "oauth_signing_algorithm": "Algoritam potpisivanja",
"oauth_storage_label_claim": "Zahtev za nalepnicu za skladiÅĄtenje",
"oauth_storage_label_claim_description": "Automatski podesite oznaku za skladiÅĄtenje korisnika na vrednost ovog zahteva.",
"oauth_storage_quota_claim": "Zahtev za kvotu skladiÅĄtenja",
diff --git a/i18n/sv.json b/i18n/sv.json
index fff282f99f..175e47a51f 100644
--- a/i18n/sv.json
+++ b/i18n/sv.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "Autoregistrera",
"oauth_auto_register_description": "Registrera nya användare automatiskt efter inloggning med OAuth",
"oauth_button_text": "Knapptext",
- "oauth_client_id": "Klient-ID",
- "oauth_client_secret": "Klienthemlighet",
"oauth_enable_description": "Logga in med OAuth",
- "oauth_issuer_url": "Utfärdar-URL",
"oauth_mobile_redirect_uri": "Telefonomdirigernings-URI",
"oauth_mobile_redirect_uri_override": "Telefonomdirigerings-URI Ãļverrskridning",
"oauth_mobile_redirect_uri_override_description": "Aktivera om OAuth-leverantÃļren inte tillÃĨter mobila URI:er, sÃĨ som '{callback}'",
- "oauth_profile_signing_algorithm": "Profilsigneringsalgorithm",
- "oauth_profile_signing_algorithm_description": "Algorithm som används fÃļr att signera användarprofilen.",
- "oauth_scope": "Omfattning",
"oauth_settings": "OAuth",
"oauth_settings_description": "Hantera OAuth-logininställningar",
"oauth_settings_more_details": "FÃļr ytterligare detaljer om denna funktion, se dokumentationen.",
- "oauth_signing_algorithm": "Signeringsalgoritm",
"oauth_storage_label_claim": "Användaranknuten lagringsetikett",
"oauth_storage_label_claim_description": "Sätter automatiskt angiven användares lagringsetikett.",
"oauth_storage_quota_claim": "Användaranknuten lagringskvot",
diff --git a/i18n/ta.json b/i18n/ta.json
index 224277f68c..dd5cce6330 100644
--- a/i18n/ta.json
+++ b/i18n/ta.json
@@ -180,20 +180,13 @@
"oauth_auto_register": "āŽ¤āŽžāŽŠāŽŋāŽ¯āŽā¯āŽā¯ āŽĒāŽ¤āŽŋāŽĩā¯",
"oauth_auto_register_description": "OAuth āŽāŽāŽŠā¯ āŽāŽŗā¯āލā¯āŽ´ā¯āލā¯āޤ āŽĒāŽŋāŽąāŽā¯ āŽ¤āŽžāŽŠāŽžāŽāŽĩ❠āŽĒā¯āޤāŽŋāŽ¯ āŽĒāŽ¯āŽŠāŽ°ā¯āŽāŽŗā¯āŽĒ❠āŽĒāŽ¤āŽŋāŽĩā¯āŽā¯āޝā¯āޝāŽĩā¯āŽŽā¯",
"oauth_button_text": "āŽĒāŽā¯āŽāŽŠā¯ āŽāްā¯",
- "oauth_client_id": "āŽĩāŽžāŽāŽŋāŽā¯āŽā¯āŽ¯āŽžāŽŗāŽ°ā¯ āŽāŽāŽŋ",
- "oauth_client_secret": "āŽĩāŽžāŽāŽŋāŽā¯āŽā¯āŽ¯āŽžāŽŗāŽ°ā¯ āŽ°āŽāŽāŽŋāŽ¯āŽŽā¯",
"oauth_enable_description": "OAuth āŽŽā¯āŽ˛āŽŽā¯ āŽāŽŗā¯āލā¯āŽ´ā¯āŽ",
- "oauth_issuer_url": "āŽĩāŽ´āŽā¯āŽā¯āŽĒāŽĩāŽ°ā¯ URL",
"oauth_mobile_redirect_uri": "āŽŽā¯āŽĒā¯āޞ❠āŽĩāŽ´āŽŋāŽŽāŽžāŽąā¯āŽąā¯ URI",
"oauth_mobile_redirect_uri_override": "āŽŽā¯āŽĒā¯āޞ❠āŽĩāŽ´āŽŋāŽŽāŽžāŽąā¯āŽąā¯ URI āŽŽā¯āޞā¯āŽ´ā¯āޤā¯āŽ¤āŽ˛ā¯",
"oauth_mobile_redirect_uri_override_description": "'app.immich:/' āŽ¤āŽĩāŽąāŽžāŽŠ āŽĩāŽ´āŽŋāŽŽāŽžāŽąā¯āŽąā¯ URI āŽāŽ āŽāްā¯āŽā¯āŽā¯āŽŽā¯āŽĒā¯āޤ❠āŽāޝāŽā¯āŽāŽĩā¯āŽŽā¯.",
- "oauth_profile_signing_algorithm": "āŽā¯āޝāŽĩāŽŋāŽĩāŽ° āŽā¯āޝā¯āŽĒā¯āŽĒāŽŽāŽŋāŽā¯āŽŽā¯ āŽĩāŽ´āŽŋāŽŽā¯āŽąā¯",
- "oauth_profile_signing_algorithm_description": "āŽĒāŽ¯āŽŠāŽ°ā¯ āŽā¯āޝāŽĩāŽŋāŽĩāŽ°āŽ¤ā¯āޤāŽŋāŽ˛ā¯ āŽā¯āޝā¯āŽĒā¯āŽĒāŽŽāŽŋāŽ āŽĒāŽ¯āŽŠā¯āŽĒāŽā¯āޤā¯āޤāŽĒā¯āŽĒāŽā¯āŽŽā¯ āŽĩāŽ´āŽŋāŽŽā¯āŽąā¯.",
- "oauth_scope": "āŽĩāŽžāŽ¯ā¯āŽĒā¯āŽĒā¯",
"oauth_settings": "Oauth",
"oauth_settings_description": "OAuth āŽāŽŗā¯āލā¯āŽ´ā¯āŽĩ❠āŽ
āŽŽā¯āŽĒā¯āŽĒā¯āŽāŽŗā¯ āŽ¨āŽŋāŽ°ā¯āŽĩāŽāŽŋāŽā¯āŽāŽĩā¯āŽŽā¯",
"oauth_settings_more_details": "āŽāލā¯āޤ āŽ
āŽŽā¯āŽāޤā¯āޤā¯āŽĒ❠āŽĒāŽąā¯āŽąāŽŋāŽ¯ āŽā¯āŽā¯āŽ¤āŽ˛ā¯ āŽĩāŽŋāŽĩāŽ°āŽā¯āŽāŽŗā¯āŽā¯āŽā¯, āŽāŽžāŽā¯āޏ❠āŽāŽĒ❠āŽĒāŽžāŽ°ā¯āŽā¯āŽāŽĩā¯āŽŽā¯.",
- "oauth_signing_algorithm": "āŽā¯āޝā¯āŽĒā¯āŽĒāŽŽāŽŋāŽā¯āŽŽā¯ āŽĩāŽ´āŽŋāŽŽā¯āŽąā¯",
"oauth_storage_label_claim": "āŽā¯āŽŽāŽŋāŽĒā¯āŽĒāŽ āŽ˛ā¯āŽĒāŽŋāŽŗā¯ āŽāްāŽŋāŽŽā¯āŽā¯āŽ°āŽ˛ā¯",
"oauth_storage_label_claim_description": "āŽĒāŽ¯āŽŠāŽ°āŽŋāŽŠā¯ āŽā¯āŽŽāŽŋāŽĒā¯āŽĒāŽ āŽ˛ā¯āŽĒāŽŋāŽŗā¯ āŽāލā¯āޤ āŽāްāŽŋāŽŽā¯āŽā¯āŽ°āŽ˛āŽŋāŽŠā¯ āŽŽāŽ¤āŽŋāŽĒā¯āŽĒā¯āŽā¯āŽā¯ āŽ¤āŽžāŽŠāŽžāŽ āŽ
āŽŽā¯āŽā¯āŽāŽĩā¯āŽŽā¯.",
"oauth_storage_quota_claim": "āŽā¯āŽŽāŽŋāŽĒā¯āŽĒāŽ āŽāޤā¯āŽā¯āŽā¯āŽā¯ āŽāްāŽŋāŽŽā¯āŽā¯āŽ°āŽ˛ā¯",
diff --git a/i18n/te.json b/i18n/te.json
index a46773d36f..0dcb2f6df1 100644
--- a/i18n/te.json
+++ b/i18n/te.json
@@ -183,20 +183,13 @@
"oauth_auto_register": "ā°¸āąā°ĩāąā°¯ ā°¨ā°Žāąā°Ļāą",
"oauth_auto_register_description": "OAuth ā°¤āą ā°¸āąā°¨āą ā°ā°¨āą ā°āąā°¸ā°ŋā°¨ Ⱔⰰāąā°ĩā°žā°¤ ā°āąā°¤āąā°¤ ā°ĩā°ŋā°¨ā°ŋā°¯āąā°ā°Ļā°žā°°āąā°˛ā°¨āą ā°¸āąā°ĩā°¯ā°ā°ā°žā°˛ā°ā°ā°ā°ž ā°¨ā°Žāąā°Ļāą ā°āąā°¯ā°ā°Ąā°ŋ",
"oauth_button_text": "ā°Ŧā°ā°¨āą ā°ĩā°ā°¨ā°",
- "oauth_client_id": "ā°āąā°˛ā°¯ā°ŋā°ā°āą ID",
- "oauth_client_secret": "ā°āąā°˛ā°¯ā°ŋā°ā°āą ā°°ā°šā°¸āąā°¯ā°",
"oauth_enable_description": "OAuth ā°¤āą ā°˛ā°žā°ā°ŋā°¨āą ā°
ā°ĩāąā°ĩā°ā°Ąā°ŋ",
- "oauth_issuer_url": "ā°ā°žā°°āąā°Ļā°žā°°āą URL",
"oauth_mobile_redirect_uri": "ā°Žāąā°Ŧāąā°˛āą ā°Ļā°žā°°ā°ŋā°Žā°žā°°āąā°Ēāą URI",
"oauth_mobile_redirect_uri_override": "ā°Žāąā°Ŧāąā°˛āą ā°Ļā°žā°°ā°ŋā°Žā°žā°°āąā°Ēāą URI ā°ā°ĩā°°āąâā°°āąā°Ąāą",
"oauth_mobile_redirect_uri_override_description": "OAuth ā°Ēāąā°°āąā°ĩāąā°Ąā°°āą '{callback}'ā°ĩā°ā°ā°ŋ ā°Žāąā°Ŧāąā°˛āą URIā°¨ā°ŋ ā°
ā°¨āąā°Žā°¤ā°ŋā°ā°ā°¨ā°Ēāąā°Ēāąā°Ąāą ā°Ēāąā°°ā°žā°°ā°ā°ā°ŋā°ā°ā°ā°Ąā°ŋ",
- "oauth_profile_signing_algorithm": "ā°Ēāąā°°āąā°Ģāąā°˛āą ā°¸ā°ā°¤ā°ā° ā°
ā°˛āąā°āąā°°ā°ŋā°Ĩā°",
- "oauth_profile_signing_algorithm_description": "ā°ĩā°ŋā°¨ā°ŋā°¯āąā°ā°Ļā°žā°°āą ā°Ēāąā°°āąā°Ģāąā°˛āąâā°Ēāą ā°¸ā°ā°¤ā°ā° ā°āąā°¯ā°Ąā°žā°¨ā°ŋā°ā°ŋ ā°ā°Ēā°¯āąā°ā°ŋā°ā°āą ā°
ā°˛āąā°āąā°°ā°ŋā°Ĩā°.",
- "oauth_scope": "ā°Ēā°°ā°ŋā°§ā°ŋ",
"oauth_settings": "OAuth",
"oauth_settings_description": "OAuth ā°˛ā°žā°ā°ŋā°¨āą ā°¸āąā°āąā°ā°ŋā°ā°āąâā°˛ā°¨āą ā°¨ā°ŋā°°āąā°ĩā°šā°ŋā°ā°ā°ā°Ąā°ŋ",
"oauth_settings_more_details": "ā° ā°Ģāąā°ā°°āą ā°āąā°°ā°ŋā°ā°ā°ŋ ā°Žā°°ā°ŋā°¨āąā°¨ā°ŋ ā°ĩā°ŋā°ĩā°°ā°žā°˛ ā°āąā°¸ā°, ā°Ąā°žā°āąā°¸āą ā°āąā°Ąā°ā°Ąā°ŋ.",
- "oauth_signing_algorithm": "ā°¸ā°ā°¤ā°ā° ā°
ā°˛āąā°āąā°°ā°ŋā°Ĩā°",
"oauth_storage_label_claim": "ā°¨ā°ŋā°˛āąā°ĩ ā°˛āąā°Ŧāąā°˛āą ā°āąā°˛āąā°¯ā°ŋā°Žāą",
"oauth_storage_label_claim_description": "ā°¯āąā°ā°°āą ā°¯āąā°āąā° ā°¨ā°ŋā°˛āąā°ĩ ā°˛āąā°Ŧāąā°˛āąâā°¨āą ā° ā°āąā°˛āąā°¯ā°ŋā°Žāą ā°ĩā°ŋā°˛āąā°ĩā°āą ā°¸āąā°ĩā°¯ā°ā°ā°žā°˛ā°ā°ā°ā°ž ā°¸āąā°āą ā°āąā°¯ā°ā°Ąā°ŋ.",
"oauth_storage_quota_claim": "ā°¨ā°ŋā°˛āąā°ĩ ā°āąā°ā°ž ā°āąā°˛āąā°¯ā°ŋā°Žāą",
diff --git a/i18n/th.json b/i18n/th.json
index 939ab431a9..a77bb94116 100644
--- a/i18n/th.json
+++ b/i18n/th.json
@@ -191,20 +191,13 @@
"oauth_auto_register": "ā¸Ĩā¸ā¸ā¸°āšā¸ā¸ĩā¸ĸā¸ā¸ā¸ąā¸āšā¸ā¸Ąā¸ąā¸ā¸´",
"oauth_auto_register_description": "ā¸Ĩā¸ā¸ā¸°āšā¸ā¸ĩā¸ĸā¸ā¸ā¸šāšāšā¸āšā¸ā¸˛ā¸āšā¸Ģā¸Ąāšā¸ā¸ąā¸āšā¸ā¸Ąā¸ąā¸ā¸´āšā¸Ąā¸ˇāšā¸ā¸Ĩāšā¸ā¸ā¸ā¸´ā¸ā¸āšā¸˛ā¸ OAuth",
"oauth_button_text": "ā¸āšā¸ā¸ā¸§ā¸˛ā¸Ąā¸ā¸¸āšā¸Ąā¸ā¸",
- "oauth_client_id": "ID āšā¸ā¸Ĩāšā¸ā¸ā¸āš",
- "oauth_client_secret": "Secret āšā¸ā¸Ĩāšā¸ā¸ā¸āš",
"oauth_enable_description": "ā¸Ĩāšā¸ā¸ā¸ā¸´ā¸ā¸āšā¸˛ā¸ OAuth",
- "oauth_issuer_url": "ā¸ā¸šāšā¸ā¸ā¸ URL",
"oauth_mobile_redirect_uri": "URI āšā¸ā¸Ĩā¸ĩāšā¸ĸā¸āšā¸Ēāšā¸ā¸ā¸˛ā¸ā¸ā¸āšā¸ā¸Ŗā¸¨ā¸ąā¸ā¸āš",
"oauth_mobile_redirect_uri_override": "āšā¸ā¸ā¸ā¸ĩāš URI āšā¸ā¸Ĩā¸ĩāšā¸ĸā¸āšā¸Ēāšā¸ā¸ā¸˛ā¸ā¸ā¸āšā¸ā¸Ŗā¸¨ā¸ąā¸ā¸āš",
"oauth_mobile_redirect_uri_override_description": "āšā¸ā¸´ā¸āšā¸Ąā¸ˇāšā¸ 'app.immich:/' āšā¸āšā¸ URI ā¸ā¸ĩāšāšā¸ā¸Ĩā¸ĩāšā¸ĸā¸āšā¸Ēāšā¸ā¸ā¸˛ā¸āšā¸Ąāšā¸ā¸šā¸ā¸āšā¸ā¸",
- "oauth_profile_signing_algorithm": "ā¸ā¸ąā¸Ĩā¸ā¸ā¸Ŗā¸´ā¸ā¸ļā¸Ąā¸ā¸˛ā¸Ŗā¸Ŗā¸ąā¸ā¸Ŗā¸ā¸ā¸ā¸ąā¸ā¸ā¸ĩā¸ā¸šāšāšā¸āš",
- "oauth_profile_signing_algorithm_description": "ā¸ā¸ąā¸Ĩā¸ā¸ā¸Ŗā¸´ā¸ā¸ļā¸Ąāšā¸āšāšā¸ā¸ā¸˛ā¸Ŗā¸Ŗā¸ąā¸ā¸Ŗā¸ā¸ā¸ā¸ąā¸ā¸ā¸ĩā¸ā¸šāšāšā¸āš",
- "oauth_scope": "ā¸ā¸ā¸āšā¸ā¸",
"oauth_settings": "OAuth",
"oauth_settings_description": "ā¸ā¸ąā¸ā¸ā¸˛ā¸Ŗā¸ā¸˛ā¸Ŗā¸ā¸ąāšā¸ā¸āšā¸˛ā¸Ĩāšā¸ā¸ā¸ā¸´ā¸ā¸āšā¸˛ā¸ OAuth",
"oauth_settings_more_details": "ā¸Ē⏺ā¸Ģā¸Ŗā¸ąā¸ā¸Ŗā¸˛ā¸ĸā¸Ĩ⏰āšā¸ā¸ĩā¸ĸā¸āšā¸ā¸´āšā¸Ąāšā¸ā¸´ā¸Ą āšā¸Ģāšā¸āšā¸˛ā¸ā¸ā¸ļ⏠āšā¸ā¸ā¸Ē⏞⏪",
- "oauth_signing_algorithm": "ā¸ā¸ąā¸Ĩā¸ā¸ā¸Ŗā¸´ā¸ā¸ļā¸Ąā¸ā¸˛ā¸Ŗā¸Ĩā¸ā¸ā¸˛ā¸Ą",
"oauth_storage_label_claim": "ā¸Ē⏴ā¸ā¸ā¸´āšā¸ā¸ĩāšāšā¸āšā¸āšā¸˛ā¸ā¸ā¸ļā¸ā¸āšā¸˛ā¸ĸā¸ā¸ŗā¸ā¸ąā¸ā¸ā¸˛ā¸Ŗā¸ā¸ąā¸āšā¸āšā¸",
"oauth_storage_label_claim_description": "ā¸ā¸ąāšā¸ā¸āšā¸˛ā¸ĸā¸ā¸ŗā¸ā¸ąā¸ā¸ā¸˛ā¸Ŗā¸ā¸ąā¸āšā¸āšā¸ā¸ā¸ā¸ā¸ā¸šāšāšā¸āšā¸ā¸˛ā¸ā¸ā¸˛ā¸Ąā¸Ē⏴ā¸ā¸ā¸´āšā¸ā¸ĩāšāšā¸āšā¸āšā¸˛ā¸ā¸ā¸ļā¸āšā¸ā¸ĸā¸ā¸ąā¸āšā¸ā¸Ąā¸ąā¸ā¸´",
"oauth_storage_quota_claim": "ā¸Ē⏴ā¸ā¸ā¸´āšā¸ā¸ĩāšāšā¸āšā¸āšā¸˛ā¸ā¸ā¸ļā¸āšā¸ā¸§ā¸āšā¸˛ā¸ā¸ˇāšā¸ā¸ā¸ĩāšā¸ā¸ąā¸āšā¸āšā¸",
diff --git a/i18n/tr.json b/i18n/tr.json
index db9088f5e7..12795bc9bd 100644
--- a/i18n/tr.json
+++ b/i18n/tr.json
@@ -187,20 +187,13 @@
"oauth_auto_register": "Otomatik kayÄąt",
"oauth_auto_register_description": "OAuth ile giriÅ yapan yeni kullanÄącÄąlarÄą otomatik kaydet",
"oauth_button_text": "Buton yazÄąsÄą",
- "oauth_client_id": "İstemci ID",
- "oauth_client_secret": "Gizli İstemci AnahtarĹ",
"oauth_enable_description": "OAuth ile giriÅ yap",
- "oauth_issuer_url": "YayÄąnlayÄącÄą URL",
"oauth_mobile_redirect_uri": "Mobil yÃļnlendirme URL'si",
"oauth_mobile_redirect_uri_override": "Mobilde zorla kullanÄąlacak YÃļnlendirme Adresi",
"oauth_mobile_redirect_uri_override_description": "Mobil URI'ye izin vermeyen OAuth saÄlayÄącÄąsÄą olduÄunda etkinleÅtir, ÃļrneÄin '{callback}'",
- "oauth_profile_signing_algorithm": "Profil imzalama algoritmasÄą",
- "oauth_profile_signing_algorithm_description": "KullanÄącÄąnÄąn profilini imzalarken kullanÄąlacak gÃŧvenlik algoritmasÄą.",
- "oauth_scope": "Kapsam",
"oauth_settings": "OAuth",
"oauth_settings_description": "OAuth giriÅ ayarlarÄąnÄą yÃļnet",
"oauth_settings_more_details": "Bu Ãļzellik hakkÄąnda daha fazla bilgi için bu sayfayÄą ziyaret edin DÃļkÃŧmanlar.",
- "oauth_signing_algorithm": "İmzalama algoritmasĹ",
"oauth_storage_label_claim": "Depolama etiketi talebi",
"oauth_storage_label_claim_description": "KullanÄącÄąnÄąn dosyalarÄąnÄą depolarken kullanÄąlan alt klasÃļrÃŧn adÄąnÄą belirlerken kulanÄąlacak deÄer (en: OAuth claim).",
"oauth_storage_quota_claim": "Depolama kotasÄą talebi",
diff --git a/i18n/uk.json b/i18n/uk.json
index 061d9bd78f..a1ce9461f5 100644
--- a/i18n/uk.json
+++ b/i18n/uk.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "ĐвŅĐžĐŧаŅиŅĐŊа ŅĐĩŅŅŅŅаŅŅŅ",
"oauth_auto_register_description": "ĐвŅĐžĐŧаŅиŅĐŊĐž ŅĐĩŅŅŅŅŅваŅи ĐŊОвиŅ
ĐēĐžŅиŅŅŅваŅŅв ĐŋŅŅĐģŅ Đ˛Ņ
ĐžĐ´Ņ ŅĐĩŅĐĩС OAuth",
"oauth_button_text": "ĐĸĐĩĐēŅŅ ĐēĐŊĐžĐŋĐēи",
- "oauth_client_id": "ID ĐĐģŅŅĐŊŅа",
- "oauth_client_secret": "ĐĄĐĩĐēŅĐĩŅ ĐēĐģŅŅĐŊŅа",
"oauth_enable_description": "ĐŖĐ˛ŅĐšŅи Са Đ´ĐžĐŋĐžĐŧĐžĐŗĐžŅ OAuth",
- "oauth_issuer_url": "URL видаŅŅ",
"oauth_mobile_redirect_uri": "URI ĐŧОйŅĐģŅĐŊĐžĐŗĐž ĐŋĐĩŅĐĩĐŊаĐŋŅавĐģĐĩĐŊĐŊŅ",
"oauth_mobile_redirect_uri_override": "ĐĐĩŅĐĩвиСĐŊаŅĐĩĐŊĐŊŅ URI ĐŧОйŅĐģŅĐŊĐžĐŗĐž ĐŋĐĩŅĐĩĐŊаĐŋŅавĐģĐĩĐŊĐŊŅ",
"oauth_mobile_redirect_uri_override_description": "ĐŖĐ˛ŅĐŧĐēĐŊŅŅи, ŅĐēŅĐž OAuth-ĐŋŅОваКдĐĩŅ ĐŊĐĩ ĐŋŅĐ´ŅŅиĐŧŅŅ ĐŧОйŅĐģŅĐŊиК URI, ŅĐē '{callback}'",
- "oauth_profile_signing_algorithm": "ĐĐģĐŗĐžŅиŅĐŧ ĐŋŅĐ´ĐŋиŅаĐŊĐŊŅ ĐŋŅĐžŅŅĐģŅ",
- "oauth_profile_signing_algorithm_description": "ĐĐģĐŗĐžŅиŅĐŧ, ŅĐēиК виĐēĐžŅиŅŅОвŅŅŅŅŅŅ Đ´ĐģŅ ĐŋŅĐ´ĐŋиŅŅ ĐŋŅĐžŅŅĐģŅ ĐēĐžŅиŅŅŅваŅа.",
- "oauth_scope": "ĐаŅŅŅай",
"oauth_settings": "OAuth",
"oauth_settings_description": "ĐĐĩŅŅваĐŊĐŊŅ ĐŊаĐģаŅŅŅваĐŊĐŊŅĐŧи вŅ
ĐžĐ´Ņ ŅĐĩŅĐĩС OAuth",
"oauth_settings_more_details": "ĐĐģŅ ĐžŅŅиĐŧаĐŊĐŊŅ Đ´ĐžĐ´Đ°ŅĐēĐžĐ˛ĐžŅ ŅĐŊŅĐžŅĐŧаŅŅŅ ĐŋŅĐž ŅŅ ŅŅĐŊĐēŅŅŅ, СвĐĩŅĐŊŅŅŅŅŅ Đ´Đž Đ´ĐžĐēŅĐŧĐĩĐŊŅаŅŅŅ.",
- "oauth_signing_algorithm": "ĐĐģĐŗĐžŅиŅĐŧ ĐŋŅĐ´ĐŋиŅŅ",
"oauth_storage_label_claim": "ĐĸĐĩĐŗ диŅĐĩĐēŅĐžŅŅŅ ŅŅ
ОвиŅа",
"oauth_storage_label_claim_description": "ĐвŅĐžĐŧаŅиŅĐŊĐž вŅŅаĐŊОвиŅи ĐŧŅŅĐēŅ ĐˇĐąĐĩŅŅĐŗĐ°ĐŊĐŊŅ ĐēĐžŅиŅŅŅваŅа ĐŊа СĐŊаŅĐĩĐŊĐŊŅ ŅŅŅŅ Đ˛Đ¸ĐŧĐžĐŗĐ¸.",
"oauth_storage_quota_claim": "ĐаŅвĐēа ĐŊа ĐēвОŅŅ ĐŊа СйĐĩŅŅĐŗĐ°ĐŊĐŊŅ",
@@ -1544,7 +1537,7 @@
"search_places": "ĐĐžŅŅĐē ĐŧŅŅŅŅ",
"search_rating": "ĐĐžŅŅĐē Са ŅĐĩĐšŅиĐŊĐŗĐžĐŧ...",
"search_result_page_new_search_hint": "ĐОвиК ĐŋĐžŅŅĐē",
- "search_settings": "ĐаĐģаŅŅŅваĐŊĐŊŅ ĐŋĐžŅŅĐēŅ",
+ "search_settings": "ĐĐžŅŅĐē ĐŊаĐģаŅŅŅваĐŊĐŊŅ",
"search_state": "ĐĐžŅŅĐē ŅĐĩĐŗŅĐžĐŊŅ...",
"search_suggestion_list_smart_search_hint_1": "РОСŅĐŧĐŊиК ĐŋĐžŅŅĐē ŅвŅĐŧĐēĐŊĐĩĐŊĐž Са СаĐŧОвŅŅваĐŊĐŊŅĐŧ, Đ´ĐģŅ ĐŋĐžŅŅĐēŅ ĐˇĐ° ĐŧĐĩŅадаĐŊиĐŧи виĐēĐžŅиŅŅОвŅĐšŅĐĩ ŅиĐŊŅаĐēŅиŅ. ",
"search_suggestion_list_smart_search_hint_2": "m:ваŅ-ĐŋĐžŅŅĐēОвиК-ŅĐĩŅĐŧŅĐŊ",
@@ -1889,11 +1882,11 @@
"week": "ĐĸиĐļĐ´ĐĩĐŊŅ",
"welcome": "ĐаŅĐēавО ĐŋŅĐžŅиĐŧĐž",
"welcome_to_immich": "ĐаŅĐēавО ĐŋŅĐžŅиĐŧĐž Đ´Đž Immich",
- "wifi_name": "ĐаСва WiFi",
+ "wifi_name": "ĐаСва Wi-Fi",
"year": "Đ ŅĐē",
"years_ago": "{years, plural, one {# ŅŅĐē} few {# ŅĐžĐēи} many {# ŅĐžĐēŅв} other {# ŅĐžĐēŅв}} ŅĐžĐŧŅ",
"yes": "ĐĸаĐē",
"you_dont_have_any_shared_links": "ĐŖ Đ˛Đ°Ņ ĐŊĐĩĐŧĐ°Ņ ŅĐŋŅĐģŅĐŊиŅ
ĐŋĐžŅиĐģаĐŊŅ",
- "your_wifi_name": "ĐаŅа ĐŊаСва WiFi",
+ "your_wifi_name": "ĐаСва ваŅĐžŅ Wi-Fi ĐŧĐĩŅĐĩĐļŅ",
"zoom_image": "ĐĐąŅĐģŅŅиŅи СОйŅаĐļĐĩĐŊĐŊŅ"
}
diff --git a/i18n/ur.json b/i18n/ur.json
index f68a3fe2ae..c439165e2d 100644
--- a/i18n/ur.json
+++ b/i18n/ur.json
@@ -2,19 +2,44 @@
"about": "Ų
ØĒØšŲŲ",
"account": "اڊاؤŲŲš",
"account_settings": "اڊاؤŲŲš ÚŠÛ ØĒØąØĒÛØ¨Ø§ØĒ",
+ "acknowledge": "ØĒØŗŲÛŲ
ÚŠØąŲØ§",
"action": "ØšŲ
Ų",
+ "action_common_update": "Ø§Ųž ÚÛŲš",
"actions": "اؚŲ
اŲ",
"active": "ŲØšØ§Ų",
"activity": "ØŗØąÚ¯ØąŲ
Û",
+ "activity_changed": "ØŗØąÚ¯ØąŲ
Û {enabled, select, true {ŲØšØ§Ų ÛÛ} other {ØēÛØą ŲØšØ§Ų ÛÛ}}",
"add": "شاŲ
Ų ÚŠØąÛÚē",
"add_a_description": "ØĒŲØĩÛŲ Ø´Ø§Ų
Ų ÚŠØąÛÚē",
"add_a_location": "Ų
ŲØ§Ų
شاŲ
Ų ÚŠØąÛÚē",
"add_a_name": "ŲØ§Ų
شاŲ
Ų ÚŠØąÛÚē",
"add_a_title": "ØšŲŲØ§Ų شاŲ
Ų ÚŠØąÛÚē",
+ "add_endpoint": "ا؎ØĒØĒاŲ
Û ŲŲØˇÛ شاŲ
Ų ÚŠØąÛÚē",
"add_exclusion_pattern": "ØŽØ§ØąØŦ ÚŠØąŲÛ ÚŠØ§ ŲŲ
ŲŲÛ Ø´Ø§Ų
Ų ÚŠØąÛÚē",
"add_import_path": "Ø¯ØąØĸŲ
د ڊا ØąØ§ØŗØĒÛ Ø´Ø§Ų
Ų ÚŠØąÛÚē",
"add_location": "Ų
ŲØ§Ų
شاŲ
Ų ÚŠØąÛÚē",
"add_more_users": "Ų
Ø˛ÛØ¯ ØĩØ§ØąŲÛŲ Ø´Ø§Ų
Ų ÚŠØąÛÚē",
"add_partner": "ØŗØ§ØĒÚžÛ Ø´Ø§Ų
Ų ÚŠØąÛÚē",
- "add_path": "ØąØ§ØŗØĒÛ Ø´Ø§Ų
Ų ÚŠØąÛÚē"
+ "add_path": "ØąØ§ØŗØĒÛ Ø´Ø§Ų
Ų ÚŠØąÛÚē",
+ "add_photos": "ØĒØĩاŲÛØą Ø´Ø§Ų
Ų ÚŠØąÛÚē",
+ "add_to": "شاŲ
Ų ÚŠØąÛÚēâĻ",
+ "add_to_album": "Ø§ŲØ¨Ų
Ų
ÛÚē Ø´Ø§Ų
Ų ÚŠØąÛÚē",
+ "add_to_album_bottom_sheet_added": "{album} Ų
ÛÚē Ø´Ø§Ų
Ų ÚŠØąØ¯ÛØ§Ú¯Ûا",
+ "add_to_album_bottom_sheet_already_exists": "ŲžÛŲÛ ÛÛ {album} Ų
ÛÚē Ø´Ø§Ų
Ų ÛÛ",
+ "add_to_shared_album": "Ų
Ø´ØĒØąÚŠÛ Ø§ŲØ¨Ų
Ų
ÛÚē Ø´Ø§Ų
Ų ÚŠØąÛÚē",
+ "add_url": "URL شاŲ
Ų ÚŠØąÛÚē",
+ "added_to_archive": "Ų
ØŲŲØ¸ Ø´Ø¯Û Ø¯ØŗØĒاŲÛØ˛Ø§ØĒ Ų
ÛÚē Ø´Ø§Ų
Ų ÚŠÛØ§ Ú¯ÛØ§",
+ "added_to_favorites": "ŲžØŗŲØ¯ÛØ¯Û Ų
ÛÚē Ø´Ø§Ų
Ų ÚŠÛØ§ Ú¯ÛØ§",
+ "added_to_favorites_count": "ŲžØŗŲØ¯ÛØ¯Û Ų
ÛÚē {count, number} شاŲ
Ų ÚŠÛÛ Ú¯ØĻÛ",
+ "admin": {
+ "authentication_settings_disable_all": "ÚŠÛØ§ ØĸŲž ŲØ§ŲØšÛ ŲØ§Ú¯ Ø§Ų ÚŠÛ ØĒŲ
اŲ
ØˇØąÛŲŲÚē ÚŠŲ ØēÛØą ŲØšØ§Ų ÚŠØąŲØ§ ÚØ§ÛØĒÛ ÛÛÚēØ ŲØ§Ú¯ Ø§Ų Ų
ÚŠŲ
Ų ØˇŲØą ŲžØą ØēÛØą ŲØšØ§Ų ÛŲ ØŦاØĻÛ Ú¯Ø§Û",
+ "check_all": "ØŗØ¨ ÚÛÚŠ ÚŠØąÛÚē",
+ "cleanup": "ØĩØ§Ų ÚŠØąŲ",
+ "confirm_delete_library": "ÚŠÛØ§ ØĸŲž ŲØ§ŲØšÛ {library} ŲØ§ØĻØ¨ØąÛØąÛ ÚŠŲ ØØ°Ų ÚŠØąŲØ§ ÚØ§ÛØĒÛ ÛÛÚēØ",
+ "confirm_email_below": "ØĒØĩدÛŲ ÚŠØąŲÛ ÚŠÛ ŲÛÛØ ŲÛÚÛ Ø§Û Ų
ÛŲ ŲšØ§ØĻŲž ÚŠØąÛÚē {email}",
+ "image_preview_title": "ŲžÛØ´ ŲØ¸Ø§ØąÛ",
+ "image_quality": "Ų
ØšÛØ§Øą",
+ "image_settings": "ØĒØĩŲÛØą ÚŠÛ ØĒØąØĒÛØ¨Ø§ØĒ"
+ },
+ "zoom_image": "Ø˛ŲŲ
ØĒØĩŲÛØą"
}
diff --git a/i18n/vi.json b/i18n/vi.json
index 9262d8a6b3..7a0bc83a96 100644
--- a/i18n/vi.json
+++ b/i18n/vi.json
@@ -1,5 +1,5 @@
{
- "about": "LÃ m máģi",
+ "about": "Giáģi thiáģu",
"account": "TÃ i khoáēŖn",
"account_settings": "Cà i Äáēˇt tà i khoáēŖn",
"acknowledge": "Ghi nháēn",
@@ -22,11 +22,12 @@
"add_partner": "ThÃĒm ngưáģi thÃĸn",
"add_path": "ThÃĒm ÄÆ°áģng dáēĢn",
"add_photos": "ThÃĒm áēŖnh",
- "add_to": "ThÃĒm và o...",
+ "add_to": "ThÃĒm và oâĻ",
"add_to_album": "ThÃĒm và o album",
"add_to_album_bottom_sheet_added": "ThÃĒm và o {album}",
"add_to_album_bottom_sheet_already_exists": "ÄÃŖ cÃŗ sáēĩn trong {album}",
"add_to_shared_album": "ThÃĒm và o album chia sáēģ",
+ "add_url": "ThÃĒm URL",
"added_to_archive": "ÄÃŖ thÃĒm và o Kho lưu tráģ¯",
"added_to_favorites": "ÄÃŖ thÃĒm và o MáģĨc yÃĒu thÃch",
"added_to_favorites_count": "ÄÃŖ thÃĒm {count, number} và o MáģĨc yÃĒu thÃch",
@@ -38,8 +39,8 @@
"authentication_settings_disable_all": "BáēĄn cÃŗ cháē¯c cháē¯n muáģn vô hiáģu hoÃĄ táēĨt cáēŖ cÃĄc phÆ°ÆĄng tháģŠc ÄÄng nháēp? ÄÄng nháēp sáēŊ báģ vô hiáģu hÃŗa hoà n toà n.",
"authentication_settings_reenable": "Äáģ báēt láēĄi, dÚng Láģnh MÃĄy cháģ§.",
"background_task_job": "CÃĄc tÃĄc váģĨ náģn",
- "backup_database": "Sao lưu dáģ¯ liáģu",
- "backup_database_enable_description": "KÃch hoáēĄt Sao lưu dáģ¯ liáģu",
+ "backup_database": "TáēĄo báēŖn sao lưu cÆĄ sáģ dáģ¯ liáģu",
+ "backup_database_enable_description": "Báēt sao lưu cÆĄ sáģ dáģ¯ liáģu",
"backup_keep_last_amount": "Sáģ lưáģŖng cÃĄc báēŖn Sao lưu ÄÆ°áģŖc giáģ¯ láēĄi",
"backup_settings": "Cà i Äáēˇt sao lưu",
"backup_settings_description": "QuáēŖn lÃŊ cÃĄc thông sáģ cà i Äáēˇt cáģ§a Sao lưu dáģ¯ liáģu",
@@ -188,20 +189,13 @@
"oauth_auto_register": "Táģą Äáģng ÄÄng kÃŊ",
"oauth_auto_register_description": "Táģą Äáģng ÄÄng kÃŊ ngưáģi dÚng máģi sau khi ÄÄng nháēp váģi OAuth",
"oauth_button_text": "Náģi dung vÄn báēŖn nÃēt báēĨm",
- "oauth_client_id": "MÃŖ áģŠng dáģĨng khÃĄch OAuth",
- "oauth_client_secret": "Máēt kháēŠu áģŠng dáģĨng khÃĄch OAuth",
"oauth_enable_description": "ÄÄng nháēp váģi OAuth",
- "oauth_issuer_url": "Äáģa cháģ nhà cung cáēĨp OAuth",
"oauth_mobile_redirect_uri": "URI chuyáģn hưáģng trÃĒn thiáēŋt báģ di Äáģng",
"oauth_mobile_redirect_uri_override": "Ghi Äè URI chuyáģn hưáģng cho thiáēŋt báģ di Äáģng",
"oauth_mobile_redirect_uri_override_description": "Báēt khi nhà cung cáēĨp OAuth không cho phÊp URI di Äáģng, như '{callback}'",
- "oauth_profile_signing_algorithm": "Thuáēt toÃĄn kÃŊ và o háģ sÆĄ ngưáģi dÚng",
- "oauth_profile_signing_algorithm_description": "Thuáēt toÃĄn ÄÆ°áģŖc sáģ dáģĨng Äáģ kÃŊ và o háģ sÆĄ ngưáģi dÚng.",
- "oauth_scope": "PháēĄm vi",
"oauth_settings": "OAuth",
"oauth_settings_description": "QuáēŖn lÃŊ cà i Äáēˇt ÄÄng nháēp OAuth",
"oauth_settings_more_details": "Äáģ biáēŋt thÃĒm chi tiáēŋt váģ tÃnh nÄng nà y, hÃŖy tham kháēŖo tà i liáģu.",
- "oauth_signing_algorithm": "Thuáēt toÃĄn kÃŊ",
"oauth_storage_label_claim": "Claim cho nhÃŖn lưu tráģ¯",
"oauth_storage_label_claim_description": "Táģą Äáģng Äáēˇt nhÃŖn lưu tráģ¯ cáģ§a ngưáģi dÚng theo giÃĄ tráģ cáģ§a claim nà y.",
"oauth_storage_quota_claim": "Claim cho háēĄn máģŠc lưu tráģ¯",
@@ -299,7 +293,7 @@
"transcoding_hardware_acceleration": "TÄng táģc pháē§n cáģŠng",
"transcoding_hardware_acceleration_description": "(Tháģ nghiáģm) nhanh hÆĄn nhiáģu nhưng sáēŊ cÃŗ cháēĨt lưáģŖng tháēĨp hÆĄn áģ cÚng bitrate",
"transcoding_hardware_decoding": "GiáēŖi mÃŖ pháē§n cáģŠng",
- "transcoding_hardware_decoding_setting_description": "Cho phÊp tÄng táģc Äáē§u cuáģi thay vÃŦ cháģ tÄng táģc mÃŖ hÃŗa. CÃŗ tháģ không hoáēĄt Äáģng trÃĒn táēĨt cáēŖ video.",
+ "transcoding_hardware_decoding_setting_description": "Cho phÊp tÄng táģc Äáē§u cuáģi thay vÃŦ cháģ tÄng táģc mÃŖ hÃŗa. CÃŗ tháģ không hoáēĄt Äáģng váģi máģi video.",
"transcoding_hevc_codec": "Codec HEVC",
"transcoding_max_b_frames": "Sáģ B-frame táģi Äa",
"transcoding_max_b_frames_description": "GiÃĄ tráģ cao hÆĄn cáēŖi thiáģn hiáģu quáēŖ nÊn, nhưng là m cháēm mÃŖ hÃŗa. CÃŗ tháģ không tÆ°ÆĄng thÃch váģi tÄng táģc pháē§n cáģŠng trÃĒn cÃĄc thiáēŋt báģ cÅŠ. GiÃĄ tráģ 0 Äáģ táē¯t B-frames, trong khi giÃĄ tráģ -1 Äáģ táģą Äáģng thiáēŋt láēp giÃĄ tráģ nà y.",
diff --git a/i18n/zh_Hant.json b/i18n/zh_Hant.json
index 7758052880..0dc86f00c0 100644
--- a/i18n/zh_Hant.json
+++ b/i18n/zh_Hant.json
@@ -192,20 +192,13 @@
"oauth_auto_register": "čĒåč¨ģå",
"oauth_auto_register_description": "äŊŋ፠OAuth įģéåžčĒåč¨ģ忰፿ļ",
"oauth_button_text": "æéæå",
- "oauth_client_id": "åŽĸæļį̝ ID",
- "oauth_client_secret": "åŽĸæļį̝å¯é°",
"oauth_enable_description": "፠OAuth įģå
Ĩ",
- "oauth_issuer_url": "į°Ŋįŧč
įļ˛å",
"oauth_mobile_redirect_uri": "į§ģåį̝éåŽå URI",
"oauth_mobile_redirect_uri_override": "į§ģåį̝éåŽå URI čĻč",
"oauth_mobile_redirect_uri_override_description": "įļ OAuth æäžč
ä¸å
訹äŊŋį¨čĄå URIīŧåĻã'{callback}'ãīŧæåį¨",
- "oauth_profile_signing_algorithm": "č¨åŽæĒį°ŊįĢ æŧįŽæŗ",
- "oauth_profile_signing_algorithm_description": "፿ŧį°ŊįŊ˛äŊŋį¨č
č¨åŽæĒįæŧįŽæŗã",
- "oauth_scope": "į¯å",
"oauth_settings": "OAuth",
"oauth_settings_description": "įŽĄį OAuth įģå
Ĩč¨åŽ",
"oauth_settings_more_details": "æŦ˛įč§Ŗæ¤åčŊīŧčĢåéą čĒĒææ¸ã",
- "oauth_signing_algorithm": "į°ŊįĢ æŧįŽæŗ",
"oauth_storage_label_claim": "å˛åæ¨įą¤åŽŖå",
"oauth_storage_label_claim_description": "čĒåå°äŊŋį¨č
įå˛åæ¨įą¤åŽįēæ¤åŽŖåäšåŧã",
"oauth_storage_quota_claim": "å˛åé
éĄåŽŖå",
@@ -1552,7 +1545,7 @@
"select": "鏿",
"select_album_cover": "鏿į¸į°ŋå°éĸ",
"select_all": "鏿å
¨é¨",
- "select_all_duplicates": "鏿ææéč¤é
",
+ "select_all_duplicates": "äŋįææéč¤é
",
"select_avatar_color": "鏿åŊĸ蹥éĄč˛",
"select_face": "鏿čå",
"select_featured_photo": "鏿įšč˛į
§į",
diff --git a/i18n/zh_SIMPLIFIED.json b/i18n/zh_SIMPLIFIED.json
index 573fbb7a24..c379efcd68 100644
--- a/i18n/zh_SIMPLIFIED.json
+++ b/i18n/zh_SIMPLIFIED.json
@@ -14,7 +14,7 @@
"add_a_location": "æˇģå äŊįŊŽ",
"add_a_name": "æˇģå åį§°",
"add_a_title": "æˇģå æ éĸ",
- "add_endpoint": "æˇģå æåĄæĨåŖ",
+ "add_endpoint": "æˇģå æåĄå¨ URL",
"add_exclusion_pattern": "æˇģå æé¤č§å",
"add_import_path": "æˇģå å¯ŧå
Ĩ莝åž",
"add_location": "æˇģå å°įš",
@@ -27,7 +27,7 @@
"add_to_album_bottom_sheet_added": "æˇģå å° {album}",
"add_to_album_bottom_sheet_already_exists": "åˇ˛å¨ {album} ä¸",
"add_to_shared_album": "æˇģå å°å
ąäēĢį¸å",
- "add_url": "æˇģå URL",
+ "add_url": "æˇģå URL",
"added_to_archive": "æˇģå å°åŊæĄŖ",
"added_to_favorites": "æˇģå å°æļč",
"added_to_favorites_count": "æˇģå {count, number}éĄšå°æļč",
@@ -181,7 +181,7 @@
"notification_email_sent_test_email_button": "åéæĩč¯éŽäģļåšļäŋå",
"notification_email_setting_description": "åééŽäģļéįĨ莞įŊŽ",
"notification_email_test_email": "åéæĩč¯éŽäģļ",
- "notification_email_test_email_failed": "åéæĩč¯éŽäģļå¤ąč´Ĩīŧč¯ˇæŖæĨäŊ čžå
ĨįäŋĄæ¯",
+ "notification_email_test_email_failed": "åéæĩč¯éŽäģļå¤ąč´Ĩīŧč¯ˇæŖæĨæ¨čžå
ĨįäŋĄæ¯",
"notification_email_test_email_sent": "厞å {email} åéäēä¸å°æĩč¯éŽäģļīŧč¯ˇæŗ¨ææĨæļã",
"notification_email_username_description": "ä¸éŽäģļæåĄå¨čŋčĄčēĢäģŊéĒ蝿ļäŊŋį¨į፿ˇå",
"notification_enable_email_notifications": "å¯į¨éŽäģļéįĨ",
@@ -192,26 +192,22 @@
"oauth_auto_register": "čĒ卿ŗ¨å",
"oauth_auto_register_description": "äŊŋ፠OAuth įģåŊåčĒ卿ŗ¨åä¸ēæ°į¨æˇ",
"oauth_button_text": "æéŽææŦ",
- "oauth_client_id": "åŽĸæˇį̝ ID",
- "oauth_client_secret": "åŽĸæˇį̝å¯éĨ",
+ "oauth_client_secret_description": "åĻæ OAuth æäžå䏿¯æ PKCEīŧį¨äēäģŖį ä礿ĸį蝿å¯éĨīŧīŧåä¸ēåŋ
åĄĢ饚",
"oauth_enable_description": "äŊŋ፠OAuth įģåŊ",
- "oauth_issuer_url": "æäžæš URL",
"oauth_mobile_redirect_uri": "į§ģå¨į̝éåŽå URI",
"oauth_mobile_redirect_uri_override": "į§ģå¨į̝éåŽå URI čĻį",
"oauth_mobile_redirect_uri_override_description": "åŊ OAuth æäžåä¸å
莸äŊŋį¨į§ģå¨ URI æļå¯į¨īŧåĻâ'{callback}'â",
- "oauth_profile_signing_algorithm": "é
įŊŽæäģļįžåįŽæŗ",
- "oauth_profile_signing_algorithm_description": "į¨äēįžįŊ˛į¨æˇé
įŊŽæäģļįįŽæŗã",
- "oauth_scope": "čå´",
"oauth_settings": "OAuth",
"oauth_settings_description": "įŽĄį OAuth įģåŊ莞įŊŽ",
"oauth_settings_more_details": "å
ŗä翤åčŊįæ´å¤č¯ĻįģäŋĄæ¯īŧ蝎æĨį į¸å
ŗææĄŖã",
- "oauth_signing_algorithm": "įžåįŽæŗ",
"oauth_storage_label_claim": "å卿 įžåŖ°æ",
"oauth_storage_label_claim_description": "čĒå¨å°į¨æˇįå卿 įžčŽžįŊŽä¸ēæ¤éĄšįåŧã",
"oauth_storage_quota_claim": "åå¨é
éĸåŖ°æ",
"oauth_storage_quota_claim_description": "čĒå¨å°į¨æˇįåå¨é
éĸ莞įŊŽä¸ēæ¤éĄšįåŧã",
"oauth_storage_quota_default": "éģ莤åå¨é
éĸīŧGBīŧ",
"oauth_storage_quota_default_description": "æĒæäžåŖ°ææļäŊŋį¨įé
éĸīŧGBīŧīŧ0襨į¤ēæ éåļīŧã",
+ "oauth_timeout": "蝎æąčļ
æļ",
+ "oauth_timeout_description": "蝎æąčļ
æļīŧæ¯Ģį§īŧ",
"offline_paths": "įĻģįēŋæäģļ",
"offline_paths_description": "čŋå¯čŊæ¯įąäēæå¨å é¤äēä¸åąäēå¤é¨åžåēįæäģļã",
"password_enable_description": "äŊŋį¨éŽįŽąåå¯į įģåŊ",
@@ -279,7 +275,7 @@
"thumbnail_generation_job": "įæįŧŠįĨåž",
"thumbnail_generation_job_description": "ä¸ēæ¯ä¸Ē饚įŽįæä¸åå°ē寸įįŧŠįĨåžīŧåšļä¸ēæ¯ä¸ĒäēēįŠįæįŧŠįĨåž",
"transcoding_acceleration_api": "å éå¨ API",
- "transcoding_acceleration_api_description": "čŋä¸Ē API å°äŧä¸äŊ į莞å¤čŋčĄäē¤äēīŧäģĨå éčŊŦį čŋį¨ãæ¤čŽžįŊŽä¸ēâå°Ŋåčä¸ēâââåĻæčŊŦį å¤ąč´Ĩīŧå°äŧåéå°čŊ¯äģļčŊŦį ãVP9 æ¯åĻåˇĨäŊååŗäēäŊ įįĄŦäģļé
įŊŽã",
+ "transcoding_acceleration_api_description": "čŋä¸Ē API å°äŧ䏿¨į莞å¤čŋčĄäē¤äēīŧäģĨå éčŊŦį čŋį¨ãæ¤čŽžįŊŽä¸ēâå°Ŋåčä¸ēâââåĻæčŊŦį å¤ąč´Ĩīŧå°äŧåéå°čŊ¯äģļčŊŦį ãVP9 æ¯åĻåˇĨäŊååŗä翍įįĄŦäģļé
įŊŽã",
"transcoding_acceleration_nvenc": "NVENCīŧéčĻ NVIDIA GPUīŧ",
"transcoding_acceleration_qsv": "Quick SyncīŧéčĻ Intel 7äģŖåäģĨä¸į CPUīŧ",
"transcoding_acceleration_rkmpp": "RKMPPīŧäģ
éį¨äē Rockchip SOCsīŧ",
@@ -376,16 +372,16 @@
"advanced_settings_log_level_title": "æĨåŋįįē§: {}",
"advanced_settings_prefer_remote_subtitle": "卿äē莞å¤ä¸īŧäģæŦå°į饚įŽå čŊŊįŧŠįĨåžįéåēĻé常æ
ĸãå¯į¨æ¤é饚äģĨå čŊŊčŋį¨éĄšįŽã",
"advanced_settings_prefer_remote_title": "äŧå
čŋį¨éĄšįŽ",
- "advanced_settings_proxy_headers_subtitle": "åŽäšäģŖįæ 头īŧåēį¨äēImmich῝æŦĄįŊįģ蝎æą",
+ "advanced_settings_proxy_headers_subtitle": "åŽäšäģŖįæ 头īŧåēį¨äē Immich ῝æŦĄįŊįģ蝎æą",
"advanced_settings_proxy_headers_title": "äģŖįæ 头",
- "advanced_settings_self_signed_ssl_subtitle": "莺čŋæåĄå¨įģįģįšį SSL č¯äšĻéĒč¯īŧč¯Ĩé饚éį¨äēäŊŋį¨čĒįžåč¯äšĻįæåĄå¨īŧã",
+ "advanced_settings_self_signed_ssl_subtitle": "莺čŋ寚æåĄå¨ į SSL č¯äšĻéĒč¯īŧč¯Ĩé饚éį¨äēäŊŋį¨čĒįžåč¯äšĻįæåĄå¨īŧã",
"advanced_settings_self_signed_ssl_title": "å
莸čĒįžå SSL č¯äšĻ",
"advanced_settings_sync_remote_deletions_subtitle": "å¨įŊéĄĩ䏿§čĄæäŊæļīŧčĒå¨å 餿čŋåč¯Ĩ莞å¤ä¸į饚įŽ",
"advanced_settings_sync_remote_deletions_title": "čŋį¨åæĨå é¤ [åŽéĒ]",
"advanced_settings_tile_subtitle": "éĢįē§į¨æˇčŽžįŊŽ",
"advanced_settings_troubleshooting_subtitle": "å¯į¨į¨äēæ
éæé¤įéĸå¤åčŊ",
"advanced_settings_troubleshooting_title": "æ
éæé¤",
- "age_months": "{months, plural, one {#ä¸Ēæ} other {#ä¸Ēæ}}",
+ "age_months": "{months, plural, one {#æéž} other {#æéž}}",
"age_year_months": "1å˛{months, plural, one {#ä¸Ēæ} other {#ä¸Ēæ}}",
"age_years": "{years, plural, other {#å˛}}",
"album_added": "čĸĢæˇģå å°į¸å",
@@ -401,7 +397,7 @@
"album_name": "į¸ååį§°",
"album_options": "į¸å莞įŊŽ",
"album_remove_user": "į§ģé¤į¨æˇīŧ",
- "album_remove_user_confirmation": "äŊ įĄŽåŽčĻį§ģé¤â{user}âåīŧ",
+ "album_remove_user_confirmation": "įĄŽåŽčĻį§ģé¤â{user}âåīŧ",
"album_share_no_users": "įčĩˇæĨæ¨åˇ˛ä¸ææį¨æˇå
ąäēĢä翤į¸åīŧæč
æ¨æ šæŦæ˛ĄæäģģäŊ፿ˇå¯å
ąäēĢã",
"album_thumbnail_card_item": "1 饚",
"album_thumbnail_card_items": "{} 饚",
@@ -495,8 +491,8 @@
"assets_trashed_from_server": "{} ä¸Ē饚įŽåˇ˛æžå
ĨåæļįĢ",
"assets_were_part_of_album_count": "{count, plural, one {饚įŽ} other {饚įŽ}}厞įģå¨į¸åä¸",
"authorized_devices": "厞ææčŽžå¤",
- "automatic_endpoint_switching_subtitle": "å¨å¯į¨įæ
åĩä¸īŧéčŋæåŽį Wi-Fi čŋčĄæŦå°čŋæĨīŧåšļå¨å
ļåŽå°æšäŊŋ፿ŋäģŖčŋæĨ",
- "automatic_endpoint_switching_title": "čĒå¨åæĸURL",
+ "automatic_endpoint_switching_subtitle": "åŊčŋæĨå°æåŽį Wi-Fi æļäŊŋ፿Ŧå°čŋæĨīŧå¨å
ļåŽį¯åĸä¸äŊŋ፿ŋäģŖčŋæĨ",
+ "automatic_endpoint_switching_title": "čĒå¨åæĸ URL",
"back": "čŋå",
"back_close_deselect": "čŋåãå
ŗéæåé",
"background_location_permission": "åå°åŽäŊæé",
@@ -531,7 +527,7 @@
"backup_controller_page_background_is_on": "åå°čĒå¨å¤äģŊ厞åŧå¯",
"backup_controller_page_background_turn_off": "å
ŗéåå°æåĄ",
"backup_controller_page_background_turn_on": "åŧå¯åå°æåĄ",
- "backup_controller_page_background_wifi": "äģ
WiFi",
+ "backup_controller_page_background_wifi": "äģ
Wi-Fi",
"backup_controller_page_backup": "å¤äģŊ",
"backup_controller_page_backup_selected": "厞éä¸īŧ ",
"backup_controller_page_backup_sub": "厞å¤äģŊįį
§įåč§éĸ",
@@ -608,18 +604,18 @@
"change_name": "æ´æšåį§°",
"change_name_successfully": "æ´æšåį§°æå",
"change_password": "äŋŽæšå¯į ",
- "change_password_description": "čŋæ¯äŊ įįŦŦ䏿ŦĄįģåŊäēĻææäēēčĻæąæ´æšäŊ įå¯į ã蝎å¨ä¸éĸčžå
Ĩæ°å¯į ã",
+ "change_password_description": "čŋæ¯æ¨įįŦŦ䏿ŦĄįģåŊäēĻææäēēčĻæąæ´æšæ¨įå¯į ã蝎å¨ä¸éĸčžå
Ĩæ°å¯į ã",
"change_password_form_confirm_password": "įĄŽčŽ¤å¯į ",
"change_password_form_description": "{name} æ¨åĨŊīŧ\n\nčŋæ¯æ¨éĻæŦĄįģåŊįŗģįģīŧæčĸĢįŽĄįåčĻæąæ´æšå¯į ã蝎å¨ä¸æščžå
Ĩæ°å¯į ã",
"change_password_form_new_password": "æ°å¯į ",
"change_password_form_password_mismatch": "å¯į ä¸åšé
",
"change_password_form_reenter_new_password": "åæŦĄčžå
Ĩæ°å¯į ",
- "change_your_password": "äŋŽæšäŊ įå¯į ",
+ "change_your_password": "äŋŽæšæ¨įå¯į ",
"changed_visibility_successfully": "æ´æšå¯č§æ§æå",
"check_all": "æŖæĨææ",
"check_corrupt_asset_backup": "æŖæĨå¤äģŊæ¯åĻæå",
"check_corrupt_asset_backup_button": "æ§čĄæŖæĨ",
- "check_corrupt_asset_backup_description": "äģ
å¨čŋæĨå°Wi-FiåšļåŽæææéĄšįŽå¤äģŊåæ§čĄæ¤æŖæĨãč¯Ĩčŋį¨å¯čŊéčĻå åéã",
+ "check_corrupt_asset_backup_description": "äģ
å¨čŋæĨå° Wi-Fi åšļåŽæææéĄšįŽå¤äģŊåæ§čĄæ¤æŖæĨãč¯Ĩčŋį¨å¯čŊéčĻå åéã",
"check_logs": "æŖæĨæĨåŋ",
"choose_matching_people_to_merge": "éæŠåšé
įäēēčŋčĄååšļ",
"city": "åå¸",
@@ -634,8 +630,8 @@
"client_cert_import_success_msg": "åŽĸæˇį̝č¯äšĻ厞å¯ŧå
Ĩ",
"client_cert_invalid_msg": "æ æįč¯äšĻæäģļæå¯į é蝝",
"client_cert_remove_msg": "åŽĸæˇį̝č¯äšĻ厞į§ģé¤",
- "client_cert_subtitle": "äģ
æ¯æPKCS12 (.p12, .pfx)æ ŧåŧãäģ
å¯å¨įģåŊåčŋčĄč¯äšĻįå¯ŧå
Ĩåį§ģé¤",
- "client_cert_title": "SSLåŽĸæˇį̝č¯äšĻ",
+ "client_cert_subtitle": "äģ
æ¯æ PKCS12 (.p12, .pfx) æ ŧåŧãäģ
å¯å¨įģåŊåčŋčĄč¯äšĻįå¯ŧå
Ĩåį§ģé¤",
+ "client_cert_title": "SSL åŽĸæˇį̝č¯äšĻ",
"clockwise": "éĄēæļé",
"close": "å
ŗé",
"collapse": "æå ",
@@ -652,15 +648,15 @@
"confirm": "įĄŽčŽ¤",
"confirm_admin_password": "įĄŽčŽ¤įŽĄįåå¯į ",
"confirm_delete_face": "æ¨įĄŽåŽčĻäģčĩäē§ä¸å é¤ {name} įč¸åīŧ",
- "confirm_delete_shared_link": "äŊ įĄŽåŽčĻå 餿¤å
ąäēĢéžæĨåīŧ",
- "confirm_keep_this_delete_others": "餿¤éĄšįŽå¤īŧå å ä¸įææå
ļåŽéĄšįŽéŊå°čĸĢå é¤ãäŊ įĄŽåŽčĻįģ§įģåīŧ",
+ "confirm_delete_shared_link": "įĄŽåŽčĻå 餿¤å
ąäēĢéžæĨåīŧ",
+ "confirm_keep_this_delete_others": "餿¤éĄšįŽå¤īŧå å ä¸įææå
ļåŽéĄšįŽéŊå°čĸĢå é¤ãįĄŽåŽčĻįģ§įģåīŧ",
"confirm_password": "įĄŽčŽ¤å¯į ",
"contain": "å
åĢ",
"context": "äģĨææåž",
"continue": "įģ§įģ",
"control_bottom_app_bar_album_info_shared": "厞å
ąäēĢ {} 饚",
"control_bottom_app_bar_create_new_album": "æ°åģēį¸å",
- "control_bottom_app_bar_delete_from_immich": "äģImmichæåĄå¨ä¸å é¤",
+ "control_bottom_app_bar_delete_from_immich": "äģ Immich æåĄå¨ä¸å é¤",
"control_bottom_app_bar_delete_from_local": "äģį§ģå¨čŽžå¤ä¸å é¤",
"control_bottom_app_bar_edit_location": "įŧčžäŊįŊŽäŋĄæ¯",
"control_bottom_app_bar_edit_time": "įŧčžæĨæåæļé´",
@@ -721,14 +717,14 @@
"default_locale_description": "æ šæŽæ¨įæĩč§å¨å°åē莞įŊŽæĨæåæ°åæžį¤ēæ ŧåŧ",
"delete": "å é¤",
"delete_album": "å é¤į¸å",
- "delete_api_key_prompt": "įĄŽåŽå 餿¤API keyåīŧ",
+ "delete_api_key_prompt": "įĄŽåŽå 餿¤ API key åīŧ",
"delete_dialog_alert": "čŋäē饚įŽå°äģ Immich 忍į莞å¤ä¸æ°¸äš
å é¤",
- "delete_dialog_alert_local": "čŋäē饚įŽå°ä쿍įį§ģå¨čŽžå¤ä¸æ°¸äš
å é¤īŧäŊäģįļå¯äģĨäģImmichæåĄå¨ä¸åæŦĄčˇå",
- "delete_dialog_alert_local_non_backed_up": "é¨å饚įŽčŋæĒå¤äģŊčŗImmichæåĄå¨īŧå°ä쿍įį§ģå¨čŽžå¤ä¸æ°¸äš
å é¤",
- "delete_dialog_alert_remote": "čŋäē饚įŽå°äģImmichæåĄå¨ä¸æ°¸äš
å é¤",
+ "delete_dialog_alert_local": "čŋäē饚įŽå°ä쿍įį§ģå¨čŽžå¤ä¸æ°¸äš
å é¤īŧäŊäģįļå¯äģĨäģ Immich æåĄå¨ä¸åæŦĄčˇå",
+ "delete_dialog_alert_local_non_backed_up": "é¨å饚įŽčŋæĒå¤äģŊčŗ Immich æåĄå¨īŧå°ä쿍įį§ģå¨čŽžå¤ä¸æ°¸äš
å é¤",
+ "delete_dialog_alert_remote": "čŋäē饚įŽå°äģ Immich æåĄå¨ä¸æ°¸äš
å é¤",
"delete_dialog_ok_force": "įĄŽčŽ¤å é¤",
"delete_dialog_title": "æ°¸äš
å é¤",
- "delete_duplicates_confirmation": "äŊ čĻæ°¸äš
å é¤čŋäēéå¤éĄšåīŧ",
+ "delete_duplicates_confirmation": "įĄŽåŽčĻæ°¸äš
å é¤čŋäēéå¤éĄšåīŧ",
"delete_face": "å é¤äēēč¸",
"delete_key": "å é¤å¯éĨ",
"delete_library": "å é¤åžåē",
@@ -853,10 +849,12 @@
"failed_to_keep_this_delete_others": "æ æŗäŋįč¯Ĩ饚įŽåšļå é¤å
ļåŽéĄšįŽ",
"failed_to_load_asset": "å čŊŊ饚įŽå¤ąč´Ĩ",
"failed_to_load_assets": "å čŊŊ饚įŽå¤ąč´Ĩ",
+ "failed_to_load_notifications": "å čŊŊéįĨå¤ąč´Ĩ",
"failed_to_load_people": "å čŊŊäēēįŠå¤ąč´Ĩ",
"failed_to_remove_product_key": "į§ģé¤äē§åå¯éĨå¤ąč´Ĩ",
"failed_to_stack_assets": "æ æŗå å 饚įŽ",
"failed_to_unstack_assets": "æ æŗåæļå å 饚įŽ",
+ "failed_to_update_notification_status": "æ´æ°éįĨįļæå¤ąč´Ĩ",
"import_path_already_exists": "æ¤å¯ŧå
Ĩ莝åžåˇ˛åå¨ã",
"incorrect_email_or_password": "éŽįŽąæå¯į é蝝",
"paths_validation_failed": "{paths, plural, one {#æĄčˇ¯åž} other {#æĄčˇ¯åž}} æ ĄéĒå¤ąč´Ĩ",
@@ -881,7 +879,7 @@
"unable_to_complete_oauth_login": "æ æŗåŽæ OAuth įģåŊ",
"unable_to_connect": "æ æŗčŋæĨ",
"unable_to_connect_to_server": "æ æŗčŋæĨčŗæåĄå¨",
- "unable_to_copy_to_clipboard": "æ æŗå¤åļå°åĒåæŋīŧč¯ˇįĄŽäŋäŊ å¨äŊŋį¨httpsčŽŋéŽæŦéĄĩ",
+ "unable_to_copy_to_clipboard": "æ æŗå¤åļå°åĒåæŋīŧč¯ˇįĄŽäŋæ¨å¨äŊŋį¨httpsčŽŋéŽæŦéĄĩ",
"unable_to_create_admin_account": "æ æŗååģēįŽĄįåč´Ļæˇ",
"unable_to_create_api_key": "æ æŗååģēæ°į API Key",
"unable_to_create_library": "æ æŗååģēåžåē",
@@ -978,7 +976,7 @@
"external": "å¤é¨į",
"external_libraries": "å¤é¨åžåē",
"external_network": "å¤é¨įŊįģ",
- "external_network_sheet_info": "åŊä¸å¨éĻéį Wi-Fi įŊįģ䏿ļīŧåēį¨į¨åēå°éčŋ䏿šįŦŦä¸ä¸Ēå¯čŋéį URL čŋæĨå°æåĄå¨",
+ "external_network_sheet_info": "åŊæĒčŋæĨå°æåŽį Wi-Fi įŊįģæļīŧåēį¨į¨åēå°éčŋ䏿šįŦŦä¸ä¸Ēå¯čŋéį URL čŽŋéŽæåĄå¨",
"face_unassigned": "æĒææ´ž",
"failed": "å¤ąč´Ĩ",
"failed_to_load_assets": "å čŊŊ饚įŽå¤ąč´Ĩ",
@@ -1027,7 +1025,7 @@
"header_settings_header_value_input": "æ 头åŧ",
"headers_settings_tile_subtitle": "åŽäšäģŖįæ 头īŧåēį¨ä翝æŦĄįŊįģ蝎æą",
"headers_settings_tile_title": "čĒåŽäšäģŖįæ 头",
- "hi_user": "äŊ åĨŊīŧ{name}īŧ{email}īŧ",
+ "hi_user": "æ¨åĨŊīŧ{name}īŧ{email}īŧ",
"hide_all_people": "éčææäēēįŠ",
"hide_gallery": "éčį¸å",
"hide_named_person": "éčäēēįŠâ{name}â",
@@ -1050,8 +1048,8 @@
"home_page_upload_err_limit": "䏿ŦĄæå¤åĒčŊä¸äŧ 30 ä¸Ē饚įŽīŧ莺čŋ",
"host": "æåĄå¨",
"hour": "æļ",
- "ignore_icloud_photos": "åŋŊįĨiCloudį
§į",
- "ignore_icloud_photos_description": "åå¨å¨iCloudä¸įį
§įä¸äŧä¸äŧ čŗImmichæåĄå¨",
+ "ignore_icloud_photos": "åŋŊįĨ iCloud į
§į",
+ "ignore_icloud_photos_description": "åå¨å¨ iCloud ä¸įį
§įä¸äŧä¸äŧ čŗ Immich æåĄå¨",
"image": "åžį",
"image_alt_text_date": "å¨{date}ææį{isVideo, select, true {č§éĸ} other {į
§į}}",
"image_alt_text_date_1_person": "{date}ææįå
åĢ{person1}į{isVideo, select, true {č§éĸ} other {į
§į}}",
@@ -1123,9 +1121,9 @@
"loading": "å čŊŊä¸",
"loading_search_results_failed": "å čŊŊæį´ĸįģæå¤ąč´Ĩ",
"local_network": "æŦå°įŊįģ",
- "local_network_sheet_info": "äŊŋ፿åŽį Wi-Fi įŊįģæļīŧåēį¨į¨åēå°éčŋæ¤ URL čŋæĨå°æåĄå¨",
+ "local_network_sheet_info": "åŊäŊŋ፿åŽį Wi-Fi įŊįģæļīŧåēį¨į¨åēå°éčŋæ¤ URL čŽŋéŽæåĄå¨",
"location_permission": "åŽäŊæé",
- "location_permission_content": "ä¸ēäēäŊŋį¨čĒå¨åæĸåčŊīŧImmich éčĻį˛žįĄŽįåŽäŊæéīŧčŋæ ˇæčŊč¯ģååŊå Wi-Fi įŊįģįåį§°",
+ "location_permission_content": "ä¸ēäŊŋį¨čĒå¨åæĸåčŊīŧImmich éčĻį˛žįĄŽįåŽäŊæéīŧčŋæ ˇæčŊč¯ģååŊå Wi-Fi įŊįģįåį§°",
"location_picker_choose_on_map": "å¨å°åžä¸éæŠ",
"location_picker_latitude_error": "čžå
ĨææįįēŦåēĻåŧ",
"location_picker_latitude_hint": "蝎卿¤å¤čžå
Ĩæ¨įįēŦåēĻåŧ",
@@ -1170,10 +1168,10 @@
"manage_shared_links": "įŽĄįå
ąäēĢéžæĨ",
"manage_sharing_with_partners": "įŽĄįä¸åäŧ´įå
ąäēĢ",
"manage_the_app_settings": "įŽĄįåēį¨čŽžįŊŽ",
- "manage_your_account": "įŽĄįäŊ įč´Ļæˇ",
- "manage_your_api_keys": "įŽĄįäŊ į API å¯éĨ",
+ "manage_your_account": "įŽĄįæ¨įč´Ļæˇ",
+ "manage_your_api_keys": "įŽĄįæ¨į API å¯éĨ",
"manage_your_devices": "įŽĄį厞įģåŊ莞å¤",
- "manage_your_oauth_connection": "įŽĄįäŊ į OAuth įģåŽ",
+ "manage_your_oauth_connection": "įŽĄįæ¨į OAuth įģåŽ",
"map": "å°åž",
"map_assets_in_bound": "{} åŧ į
§į",
"map_assets_in_bounds": "{} åŧ į
§į",
@@ -1199,6 +1197,9 @@
"map_settings_only_show_favorites": "äģ
æžį¤ēæļčį饚įŽ",
"map_settings_theme_settings": "å°åžä¸ģéĸ",
"map_zoom_to_see_photos": "įŧŠå°äģĨæĨį饚įŽ",
+ "mark_all_as_read": "å
¨é¨æ 莰ä¸ē厞č¯ģ",
+ "mark_as_read": "æ 莰ä¸ē厞č¯ģ",
+ "marked_all_as_read": "厞å
¨é¨æ 莰ä¸ē厞č¯ģ",
"matches": "åšé
",
"media_type": "åĒäŊįąģå",
"memories": "ååŋ",
@@ -1215,7 +1216,7 @@
"merge": "ååšļ",
"merge_people": "ååšļäēēįŠ",
"merge_people_limit": "æ¯æŦĄæå¤åĒčŊååšļ 5 ä¸Ēäēē",
- "merge_people_prompt": "äŊ æŗååšļčŋäēäēēåīŧč¯ĨæäŊä¸å¯éīŧæ æŗčĸĢæ¤éīŧã",
+ "merge_people_prompt": "įĄŽåŽčĻååšļčŋäēäēēåīŧč¯ĨæäŊä¸å¯éīŧæ æŗčĸĢæ¤éīŧã",
"merge_people_successfully": "ååšļäēēįŠæå",
"merged_people_count": "厞ååšļ{count, plural, one {#ä¸Ēäēē} other {#ä¸Ēäēē}}",
"minimize": "æå°å",
@@ -1225,6 +1226,8 @@
"month": "æ",
"monthly_title_text_date_format": "MMMM y",
"more": "æ´å¤",
+ "moved_to_archive": "厞åŊæĄŖ {count, plural, one {# ä¸Ē饚įŽ} other {# ä¸Ē饚įŽ}}",
+ "moved_to_library": "厞į§ģå¨ {count, plural, one {# ä¸Ē饚įŽ} other {# ä¸Ē饚įŽ}} å°åžåē",
"moved_to_trash": "厞æžå
ĨåæļįĢ",
"multiselect_grid_edit_date_time_err_read_only": "æ æŗįŧčžåĒč¯ģ饚įŽįæĨæīŧ莺čŋ",
"multiselect_grid_edit_gps_err_read_only": "æ æŗįŧčžåĒč¯ģ饚įŽįäŊįŊŽäŋĄæ¯īŧ莺čŋ",
@@ -1233,7 +1236,7 @@
"name": "åį§°",
"name_or_nickname": "åį§°ææĩį§°",
"networking_settings": "įŊįģ",
- "networking_subtitle": "įŽĄįæåĄæĨåŖčŽžįŊŽ",
+ "networking_subtitle": "įŽĄįæåĄå¨æĨåŖčŽžįŊŽ",
"never": "æ°¸ä¸čŋæ",
"new_album": "æ°į¸å",
"new_api_key": "æ°åĸ API Key",
@@ -1246,8 +1249,8 @@
"next_memory": "ä¸ä¸ä¸Ē",
"no": "åĻ",
"no_albums_message": "ååģēį¸åäģĨæ´įį
§įåč§éĸ",
- "no_albums_with_name_yet": "č˛äŧŧäŊ čŋæ˛Ąææ¤ååįį¸åã",
- "no_albums_yet": "č˛äŧŧäŊ čŋæ˛Ąæååģēį¸åã",
+ "no_albums_with_name_yet": "č˛äŧŧæ¨čŋæ˛Ąææ¤ååįį¸åã",
+ "no_albums_yet": "č˛äŧŧæ¨čŋæ˛Ąæååģēį¸åã",
"no_archived_assets_message": "åŊæĄŖį
§įåč§éĸäģĨäžŋå¨į
§įč§åžä¸éčåŽäģŦ",
"no_assets_message": "įšåģä¸äŧ æ¨įįŦŦä¸åŧ į
§į",
"no_assets_to_show": "æ 饚įŽåąį¤ē",
@@ -1255,8 +1258,9 @@
"no_exif_info_available": "æ˛Ąæå¯į¨į EXIF äŋĄæ¯",
"no_explore_results_message": "ä¸äŧ æ´å¤į
§įæĨæĸį´ĸã",
"no_favorites_message": "æˇģå å°æļč多īŧåŋĢéæĨæžæäŊŗåžįåč§éĸ",
- "no_libraries_message": "ååģēå¤é¨åžåēæĨæĨįäŊ įį
§įåč§éĸ",
+ "no_libraries_message": "ååģēå¤é¨åžåēæĨæĨ῍įį
§įåč§éĸ",
"no_name": "æĒåŊå",
+ "no_notifications": "æ˛ĄæéįĨ",
"no_places": "æ äŊįŊŽ",
"no_results": "æ įģæ",
"no_results_description": "å°č¯äŊŋį¨åäšč¯ææ´éį¨įå
ŗéŽč¯",
@@ -1284,7 +1288,7 @@
"onboarding_privacy_description": "äģĨä¸īŧå¯éīŧåčŊäžčĩå¤é¨æåĄīŧå¯éæļå¨įŽĄį莞įŊŽä¸įĻį¨ã",
"onboarding_theme_description": "éæŠæåĄįéĸč˛ä¸ģéĸãį¨åå¯äģĨå¨čŽžįŊŽä¸čŋčĄäŋŽæšã",
"onboarding_welcome_description": "æäģŦå¨å¯į¨æåĄåå
åä¸äēéį¨čŽžįŊŽã",
- "onboarding_welcome_user": "æŦĸčŋäŊ īŧ{user}",
+ "onboarding_welcome_user": "æŦĸčŋīŧ{user}",
"online": "å¨įēŋ",
"only_favorites": "äģ
æžį¤ē厞æļč",
"open": "æåŧ",
@@ -1293,7 +1297,7 @@
"open_the_search_filters": "æåŧæį´ĸčŋæģ¤å¨",
"options": "é饚",
"or": "æ",
- "organize_your_library": "æ´įäŊ įåžåē",
+ "organize_your_library": "æ´įæ¨įåžåē",
"original": "ååž",
"other": "å
ļåŽ",
"other_devices": "å
ļåŽčŽžå¤",
@@ -1432,6 +1436,8 @@
"recent_searches": "æčŋæį´ĸ",
"recently_added": "čŋææˇģå ",
"recently_added_page_title": "æčŋæˇģå ",
+ "recently_taken": "čŋæææ",
+ "recently_taken_page_title": "æčŋææ",
"refresh": "县°",
"refresh_encoded_videos": "县°åˇ˛įŧį įč§éĸ",
"refresh_faces": "县°äēēč¸",
@@ -1573,7 +1579,7 @@
"selected_count": "{count, plural, other {#éĄšåˇ˛éæŠ}}",
"send_message": "åéæļæ¯",
"send_welcome_email": "åéæŦĸčŋéŽäģļ",
- "server_endpoint": "æåĄæĨåŖ",
+ "server_endpoint": "æåĄå¨ URL",
"server_info_box_app_version": "App įæŦ",
"server_info_box_server_url": "æåĄå¨å°å",
"server_offline": "æåĄå¨įĻģįēŋ",
@@ -1627,7 +1633,7 @@
"shared_album_section_people_title": "äēēįŠ",
"shared_by": "å
ąäēĢčĒ",
"shared_by_user": "įąâ{user}âå
ąäēĢ",
- "shared_by_you": "äŊ įå
ąäēĢ",
+ "shared_by_you": "æ¨įå
ąäēĢ",
"shared_from_partner": "æĨčĒâ{partner}âįį
§į",
"shared_intent_upload_button_progress_text": "{} / {} 厞ä¸äŧ ",
"shared_link_app_bar_title": "å
ąäēĢéžæĨ",
@@ -1641,7 +1647,7 @@
"shared_link_edit_expire_after_option_hours": "{} å°æļ",
"shared_link_edit_expire_after_option_minute": "1åé",
"shared_link_edit_expire_after_option_minutes": "{} åé",
- "shared_link_edit_expire_after_option_months": "{} ä¸Ēæ",
+ "shared_link_edit_expire_after_option_months": "{} æéž",
"shared_link_edit_expire_after_option_year": "{} åš´",
"shared_link_edit_password_hint": "čžå
Ĩå
ąäēĢå¯į ",
"shared_link_edit_submit_button": "æ´æ°éžæĨ",
@@ -1725,7 +1731,7 @@
"status": "įļæ",
"stop_motion_photo": "åŽæ ŧį
§į",
"stop_photo_sharing": "åæĸå
ąäēĢį
§įīŧ",
- "stop_photo_sharing_description": "â{partner}âå°ä¸čŊčŽŋéŽäŊ įį
§įã",
+ "stop_photo_sharing_description": "â{partner}âå°ä¸čŊčŽŋéŽæ¨įį
§įã",
"stop_sharing_photos_with_user": "åæĸ䏿¤į¨æˇå
ąäēĢį
§į",
"storage": "åå¨įŠēé´",
"storage_label": "å卿 įž",
@@ -1735,7 +1741,7 @@
"sunrise_on_the_beach": "æĩˇæģŠä¸įæĨåē",
"support": "æ¯æ",
"support_and_feedback": "æ¯æååéĻ",
- "support_third_party_description": "æ¨į Immich åŽčŖ
į¨å翝įąįŦŦ䏿šæå
įãæ¨éå°įéŽéĸå¯čŊæ¯įąčŊ¯äģļå
åŧčĩˇįīŧå æ¤č¯ˇäŧå
äŊŋį¨ä¸éĸįéžæĨæåēIssueæBugã",
+ "support_third_party_description": "æ¨į Immich åŽčŖ
į¨å翝įąįŦŦ䏿šæå
įãæ¨éå°įéŽéĸå¯čŊæ¯įąčŊ¯äģļå
åŧčĩˇįīŧå æ¤č¯ˇäŧå
äŊŋį¨ä¸éĸįéžæĨæåē Issue æ Bugã",
"swap_merge_direction": "äēæĸååšļæšå",
"sync": "åæĨ",
"sync_albums": "åæĨį¸å",
@@ -1789,7 +1795,7 @@
"trash_emptied": "įŠēåæļįĢ",
"trash_no_results_message": "å é¤įį
§įåč§éĸå°å¨æ¤å¤åąį¤ēã",
"trash_page_delete_all": "å é¤å
¨é¨",
- "trash_page_empty_trash_dialog_content": "æ¯åĻæ¸
įŠēåæļįĢīŧčŋäē饚įŽå°čĸĢäģImmich䏿°¸äš
å é¤",
+ "trash_page_empty_trash_dialog_content": "æ¯åĻæ¸
įŠēåæļįĢīŧčŋäē饚įŽå°čĸĢäģ Immich 䏿°¸äš
å é¤",
"trash_page_info": "åæļįĢä¸éĄšįŽå°å¨ {} å¤Šåæ°¸äš
å é¤",
"trash_page_no_assets": "ææ åˇ˛å é¤éĄšįŽ",
"trash_page_restore_all": "æĸå¤å
¨é¨",
@@ -1832,7 +1838,7 @@
"upload_status_errors": "é蝝",
"upload_status_uploaded": "厞ä¸äŧ ",
"upload_success": "ä¸äŧ æåīŧ县°éĄĩéĸæĨįæ°ä¸äŧ į饚įŽã",
- "upload_to_immich": "ä¸äŧ čŗImmichīŧ{}īŧ",
+ "upload_to_immich": "ä¸äŧ čŗ Immichīŧ{}īŧ",
"uploading": "æŖå¨ä¸äŧ ",
"url": "URL",
"usage": "į¨é",
@@ -1851,11 +1857,11 @@
"users": "፿ˇ",
"utilities": "åŽį¨åˇĨå
ˇ",
"validate": "éĒč¯",
- "validate_endpoint_error": "蝎čžå
ĨææįURL",
+ "validate_endpoint_error": "蝎čžå
Ĩææį URL",
"variables": "åé",
"version": "įæŦ",
- "version_announcement_closing": "äŊ įæåīŧAlex",
- "version_announcement_message": "äŊ åĨŊīŧ厞įģæŖæĩå°Immichææ°įæŦã蝎æŊįŠēé
č¯ģä¸ä¸ åčĄč¯´æīŧäģĨįĄŽäŋæ¨įé
įŊŽæäģļæ¯ææ°įīŧéŋå
åå¨é
įŊŽé蝝īŧįšåĢæ¯åŊäŊ æ¯äŊŋį¨WatchToweræå
ļåŽįąģäŧŧįčĒå¨åįē§åˇĨå
ˇæļã",
+ "version_announcement_closing": "æ¨įæåīŧAlex",
+ "version_announcement_message": "æ¨åĨŊīŧ厞įģæŖæĩå° Immich ææ°įæŦã蝎æŊįŠēé
č¯ģä¸ä¸ åčĄč¯´æīŧäģĨįĄŽäŋæ¨įé
įŊŽæäģļæ¯ææ°įīŧéŋå
åå¨é
įŊŽé蝝īŧįšåĢæ¯åŊæ¨æ¯äŊŋ፠WatchTower æå
ļåŽįąģäŧŧįčĒå¨åįē§åˇĨå
ˇæļã",
"version_announcement_overlay_release_notes": "åčĄč¯´æ",
"version_announcement_overlay_text_1": "åˇå¤åˇå¤īŧææ°įæŦį",
"version_announcement_overlay_text_2": "蝎čąįšæļé´čŽŋéŽ ",
diff --git a/machine-learning/immich_ml/sessions/rknn/rknnpool.py b/machine-learning/immich_ml/sessions/rknn/rknnpool.py
index fdcd053e71..fd0af8bcc4 100644
--- a/machine-learning/immich_ml/sessions/rknn/rknnpool.py
+++ b/machine-learning/immich_ml/sessions/rknn/rknnpool.py
@@ -53,7 +53,7 @@ def init_rknn(model_path: str) -> "RKNNLite":
ret = rknn_lite.init_runtime() # Please do not set this parameter on other platforms.
if ret != 0:
- raise RuntimeError("Failed to inititalize RKNN runtime environment")
+ raise RuntimeError("Failed to initialize RKNN runtime environment")
return rknn_lite
diff --git a/machine-learning/uv.lock b/machine-learning/uv.lock
index 1930e80661..c281723d1a 100644
--- a/machine-learning/uv.lock
+++ b/machine-learning/uv.lock
@@ -23,9 +23,9 @@ resolution-markers = [
name = "aiocache"
version = "0.12.3"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/7a/64/b945b8025a9d1e6e2138845f4022165d3b337f55f50984fbc6a4c0a1e355/aiocache-0.12.3.tar.gz", hash = "sha256:f528b27bf4d436b497a1d0d1a8f59a542c153ab1e37c3621713cb376d44c4713", size = 132196, upload_time = "2024-09-25T13:20:23.823Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/7a/64/b945b8025a9d1e6e2138845f4022165d3b337f55f50984fbc6a4c0a1e355/aiocache-0.12.3.tar.gz", hash = "sha256:f528b27bf4d436b497a1d0d1a8f59a542c153ab1e37c3621713cb376d44c4713", size = 132196, upload-time = "2024-09-25T13:20:23.823Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/37/d7/15d67e05b235d1ed8c3ce61688fe4d84130e72af1657acadfaac3479f4cf/aiocache-0.12.3-py2.py3-none-any.whl", hash = "sha256:889086fc24710f431937b87ad3720a289f7fc31c4fd8b68e9f918b9bacd8270d", size = 28199, upload_time = "2024-09-25T13:20:22.688Z" },
+ { url = "https://files.pythonhosted.org/packages/37/d7/15d67e05b235d1ed8c3ce61688fe4d84130e72af1657acadfaac3479f4cf/aiocache-0.12.3-py2.py3-none-any.whl", hash = "sha256:889086fc24710f431937b87ad3720a289f7fc31c4fd8b68e9f918b9bacd8270d", size = 28199, upload-time = "2024-09-25T13:20:22.688Z" },
]
[[package]]
@@ -40,18 +40,18 @@ dependencies = [
{ name = "scikit-image" },
{ name = "scipy" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/14/d6/8dd5b690d28a332a0b2c3179a345808b5d4c7ad5ddc079b7e116098dff35/albumentations-1.3.1.tar.gz", hash = "sha256:a6a38388fe546c568071e8c82f414498e86c9ed03c08b58e7a88b31cf7a244c6", size = 176371, upload_time = "2023-06-10T07:44:32.36Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/14/d6/8dd5b690d28a332a0b2c3179a345808b5d4c7ad5ddc079b7e116098dff35/albumentations-1.3.1.tar.gz", hash = "sha256:a6a38388fe546c568071e8c82f414498e86c9ed03c08b58e7a88b31cf7a244c6", size = 176371, upload-time = "2023-06-10T07:44:32.36Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/9b/f6/c486cedb4f75147232f32ec4c97026714cfef7c7e247a1f0427bc5489f66/albumentations-1.3.1-py3-none-any.whl", hash = "sha256:6b641d13733181d9ecdc29550e6ad580d1bfa9d25e2213a66940062f25e291bd", size = 125706, upload_time = "2023-06-10T07:44:30.373Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/f6/c486cedb4f75147232f32ec4c97026714cfef7c7e247a1f0427bc5489f66/albumentations-1.3.1-py3-none-any.whl", hash = "sha256:6b641d13733181d9ecdc29550e6ad580d1bfa9d25e2213a66940062f25e291bd", size = 125706, upload-time = "2023-06-10T07:44:30.373Z" },
]
[[package]]
name = "annotated-types"
version = "0.7.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload_time = "2024-05-20T21:33:25.928Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload_time = "2024-05-20T21:33:24.1Z" },
+ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" },
]
[[package]]
@@ -64,18 +64,18 @@ dependencies = [
{ name = "sniffio" },
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/2d/b8/7333d87d5f03247215d86a86362fd3e324111788c6cdd8d2e6196a6ba833/anyio-4.2.0.tar.gz", hash = "sha256:e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f", size = 158770, upload_time = "2023-12-16T17:06:57.709Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/2d/b8/7333d87d5f03247215d86a86362fd3e324111788c6cdd8d2e6196a6ba833/anyio-4.2.0.tar.gz", hash = "sha256:e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f", size = 158770, upload-time = "2023-12-16T17:06:57.709Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/bf/cd/d6d9bb1dadf73e7af02d18225cbd2c93f8552e13130484f1c8dcfece292b/anyio-4.2.0-py3-none-any.whl", hash = "sha256:745843b39e829e108e518c489b31dc757de7d2131d53fac32bd8df268227bfee", size = 85481, upload_time = "2023-12-16T17:06:55.989Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/cd/d6d9bb1dadf73e7af02d18225cbd2c93f8552e13130484f1c8dcfece292b/anyio-4.2.0-py3-none-any.whl", hash = "sha256:745843b39e829e108e518c489b31dc757de7d2131d53fac32bd8df268227bfee", size = 85481, upload-time = "2023-12-16T17:06:55.989Z" },
]
[[package]]
name = "bidict"
version = "0.23.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/9a/6e/026678aa5a830e07cd9498a05d3e7e650a4f56a42f267a53d22bcda1bdc9/bidict-0.23.1.tar.gz", hash = "sha256:03069d763bc387bbd20e7d49914e75fc4132a41937fa3405417e1a5a2d006d71", size = 29093, upload_time = "2024-02-18T19:09:05.748Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/9a/6e/026678aa5a830e07cd9498a05d3e7e650a4f56a42f267a53d22bcda1bdc9/bidict-0.23.1.tar.gz", hash = "sha256:03069d763bc387bbd20e7d49914e75fc4132a41937fa3405417e1a5a2d006d71", size = 29093, upload-time = "2024-02-18T19:09:05.748Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/99/37/e8730c3587a65eb5645d4aba2d27aae48e8003614d6aaf15dda67f702f1f/bidict-0.23.1-py3-none-any.whl", hash = "sha256:5dae8d4d79b552a71cbabc7deb25dfe8ce710b17ff41711e13010ead2abfc3e5", size = 32764, upload_time = "2024-02-18T19:09:04.156Z" },
+ { url = "https://files.pythonhosted.org/packages/99/37/e8730c3587a65eb5645d4aba2d27aae48e8003614d6aaf15dda67f702f1f/bidict-0.23.1-py3-none-any.whl", hash = "sha256:5dae8d4d79b552a71cbabc7deb25dfe8ce710b17ff41711e13010ead2abfc3e5", size = 32764, upload-time = "2024-02-18T19:09:04.156Z" },
]
[[package]]
@@ -91,113 +91,113 @@ dependencies = [
{ name = "tomli", marker = "python_full_version < '3.11'" },
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449, upload_time = "2025-01-29T04:15:40.373Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/49/26a7b0f3f35da4b5a65f081943b7bcd22d7002f5f0fb8098ec1ff21cb6ef/black-25.1.0.tar.gz", hash = "sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666", size = 649449, upload-time = "2025-01-29T04:15:40.373Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/4d/3b/4ba3f93ac8d90410423fdd31d7541ada9bcee1df32fb90d26de41ed40e1d/black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32", size = 1629419, upload_time = "2025-01-29T05:37:06.642Z" },
- { url = "https://files.pythonhosted.org/packages/b4/02/0bde0485146a8a5e694daed47561785e8b77a0466ccc1f3e485d5ef2925e/black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da", size = 1461080, upload_time = "2025-01-29T05:37:09.321Z" },
- { url = "https://files.pythonhosted.org/packages/52/0e/abdf75183c830eaca7589144ff96d49bce73d7ec6ad12ef62185cc0f79a2/black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7", size = 1766886, upload_time = "2025-01-29T04:18:24.432Z" },
- { url = "https://files.pythonhosted.org/packages/dc/a6/97d8bb65b1d8a41f8a6736222ba0a334db7b7b77b8023ab4568288f23973/black-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9", size = 1419404, upload_time = "2025-01-29T04:19:04.296Z" },
- { url = "https://files.pythonhosted.org/packages/7e/4f/87f596aca05c3ce5b94b8663dbfe242a12843caaa82dd3f85f1ffdc3f177/black-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0", size = 1614372, upload_time = "2025-01-29T05:37:11.71Z" },
- { url = "https://files.pythonhosted.org/packages/e7/d0/2c34c36190b741c59c901e56ab7f6e54dad8df05a6272a9747ecef7c6036/black-25.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299", size = 1442865, upload_time = "2025-01-29T05:37:14.309Z" },
- { url = "https://files.pythonhosted.org/packages/21/d4/7518c72262468430ead45cf22bd86c883a6448b9eb43672765d69a8f1248/black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096", size = 1749699, upload_time = "2025-01-29T04:18:17.688Z" },
- { url = "https://files.pythonhosted.org/packages/58/db/4f5beb989b547f79096e035c4981ceb36ac2b552d0ac5f2620e941501c99/black-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2", size = 1428028, upload_time = "2025-01-29T04:18:51.711Z" },
- { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988, upload_time = "2025-01-29T05:37:16.707Z" },
- { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985, upload_time = "2025-01-29T05:37:18.273Z" },
- { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816, upload_time = "2025-01-29T04:18:33.823Z" },
- { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860, upload_time = "2025-01-29T04:19:12.944Z" },
- { url = "https://files.pythonhosted.org/packages/98/87/0edf98916640efa5d0696e1abb0a8357b52e69e82322628f25bf14d263d1/black-25.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f0b18a02996a836cc9c9c78e5babec10930862827b1b724ddfe98ccf2f2fe4f", size = 1650673, upload_time = "2025-01-29T05:37:20.574Z" },
- { url = "https://files.pythonhosted.org/packages/52/e5/f7bf17207cf87fa6e9b676576749c6b6ed0d70f179a3d812c997870291c3/black-25.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afebb7098bfbc70037a053b91ae8437c3857482d3a690fefc03e9ff7aa9a5fd3", size = 1453190, upload_time = "2025-01-29T05:37:22.106Z" },
- { url = "https://files.pythonhosted.org/packages/e3/ee/adda3d46d4a9120772fae6de454c8495603c37c4c3b9c60f25b1ab6401fe/black-25.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:030b9759066a4ee5e5aca28c3c77f9c64789cdd4de8ac1df642c40b708be6171", size = 1782926, upload_time = "2025-01-29T04:18:58.564Z" },
- { url = "https://files.pythonhosted.org/packages/cc/64/94eb5f45dcb997d2082f097a3944cfc7fe87e071907f677e80788a2d7b7a/black-25.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:a22f402b410566e2d1c950708c77ebf5ebd5d0d88a6a2e87c86d9fb48afa0d18", size = 1442613, upload_time = "2025-01-29T04:19:27.63Z" },
- { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646, upload_time = "2025-01-29T04:15:38.082Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/3b/4ba3f93ac8d90410423fdd31d7541ada9bcee1df32fb90d26de41ed40e1d/black-25.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:759e7ec1e050a15f89b770cefbf91ebee8917aac5c20483bc2d80a6c3a04df32", size = 1629419, upload-time = "2025-01-29T05:37:06.642Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/02/0bde0485146a8a5e694daed47561785e8b77a0466ccc1f3e485d5ef2925e/black-25.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e519ecf93120f34243e6b0054db49c00a35f84f195d5bce7e9f5cfc578fc2da", size = 1461080, upload-time = "2025-01-29T05:37:09.321Z" },
+ { url = "https://files.pythonhosted.org/packages/52/0e/abdf75183c830eaca7589144ff96d49bce73d7ec6ad12ef62185cc0f79a2/black-25.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:055e59b198df7ac0b7efca5ad7ff2516bca343276c466be72eb04a3bcc1f82d7", size = 1766886, upload-time = "2025-01-29T04:18:24.432Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/a6/97d8bb65b1d8a41f8a6736222ba0a334db7b7b77b8023ab4568288f23973/black-25.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:db8ea9917d6f8fc62abd90d944920d95e73c83a5ee3383493e35d271aca872e9", size = 1419404, upload-time = "2025-01-29T04:19:04.296Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/4f/87f596aca05c3ce5b94b8663dbfe242a12843caaa82dd3f85f1ffdc3f177/black-25.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a39337598244de4bae26475f77dda852ea00a93bd4c728e09eacd827ec929df0", size = 1614372, upload-time = "2025-01-29T05:37:11.71Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/d0/2c34c36190b741c59c901e56ab7f6e54dad8df05a6272a9747ecef7c6036/black-25.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:96c1c7cd856bba8e20094e36e0f948718dc688dba4a9d78c3adde52b9e6c2299", size = 1442865, upload-time = "2025-01-29T05:37:14.309Z" },
+ { url = "https://files.pythonhosted.org/packages/21/d4/7518c72262468430ead45cf22bd86c883a6448b9eb43672765d69a8f1248/black-25.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce2e264d59c91e52d8000d507eb20a9aca4a778731a08cfff7e5ac4a4bb7096", size = 1749699, upload-time = "2025-01-29T04:18:17.688Z" },
+ { url = "https://files.pythonhosted.org/packages/58/db/4f5beb989b547f79096e035c4981ceb36ac2b552d0ac5f2620e941501c99/black-25.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:172b1dbff09f86ce6f4eb8edf9dede08b1fce58ba194c87d7a4f1a5aa2f5b3c2", size = 1428028, upload-time = "2025-01-29T04:18:51.711Z" },
+ { url = "https://files.pythonhosted.org/packages/83/71/3fe4741df7adf015ad8dfa082dd36c94ca86bb21f25608eb247b4afb15b2/black-25.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4b60580e829091e6f9238c848ea6750efed72140b91b048770b64e74fe04908b", size = 1650988, upload-time = "2025-01-29T05:37:16.707Z" },
+ { url = "https://files.pythonhosted.org/packages/13/f3/89aac8a83d73937ccd39bbe8fc6ac8860c11cfa0af5b1c96d081facac844/black-25.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc", size = 1453985, upload-time = "2025-01-29T05:37:18.273Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/22/b99efca33f1f3a1d2552c714b1e1b5ae92efac6c43e790ad539a163d1754/black-25.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3b48735872ec535027d979e8dcb20bf4f70b5ac75a8ea99f127c106a7d7aba9f", size = 1783816, upload-time = "2025-01-29T04:18:33.823Z" },
+ { url = "https://files.pythonhosted.org/packages/18/7e/a27c3ad3822b6f2e0e00d63d58ff6299a99a5b3aee69fa77cd4b0076b261/black-25.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea0213189960bda9cf99be5b8c8ce66bb054af5e9e861249cd23471bd7b0b3ba", size = 1440860, upload-time = "2025-01-29T04:19:12.944Z" },
+ { url = "https://files.pythonhosted.org/packages/98/87/0edf98916640efa5d0696e1abb0a8357b52e69e82322628f25bf14d263d1/black-25.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8f0b18a02996a836cc9c9c78e5babec10930862827b1b724ddfe98ccf2f2fe4f", size = 1650673, upload-time = "2025-01-29T05:37:20.574Z" },
+ { url = "https://files.pythonhosted.org/packages/52/e5/f7bf17207cf87fa6e9b676576749c6b6ed0d70f179a3d812c997870291c3/black-25.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:afebb7098bfbc70037a053b91ae8437c3857482d3a690fefc03e9ff7aa9a5fd3", size = 1453190, upload-time = "2025-01-29T05:37:22.106Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/ee/adda3d46d4a9120772fae6de454c8495603c37c4c3b9c60f25b1ab6401fe/black-25.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:030b9759066a4ee5e5aca28c3c77f9c64789cdd4de8ac1df642c40b708be6171", size = 1782926, upload-time = "2025-01-29T04:18:58.564Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/64/94eb5f45dcb997d2082f097a3944cfc7fe87e071907f677e80788a2d7b7a/black-25.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:a22f402b410566e2d1c950708c77ebf5ebd5d0d88a6a2e87c86d9fb48afa0d18", size = 1442613, upload-time = "2025-01-29T04:19:27.63Z" },
+ { url = "https://files.pythonhosted.org/packages/09/71/54e999902aed72baf26bca0d50781b01838251a462612966e9fc4891eadd/black-25.1.0-py3-none-any.whl", hash = "sha256:95e8176dae143ba9097f351d174fdaf0ccd29efb414b362ae3fd72bf0f710717", size = 207646, upload-time = "2025-01-29T04:15:38.082Z" },
]
[[package]]
name = "blinker"
version = "1.7.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/a1/13/6df5fc090ff4e5d246baf1f45fe9e5623aa8565757dfa5bd243f6a545f9e/blinker-1.7.0.tar.gz", hash = "sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182", size = 28134, upload_time = "2023-11-01T22:06:01.588Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/13/6df5fc090ff4e5d246baf1f45fe9e5623aa8565757dfa5bd243f6a545f9e/blinker-1.7.0.tar.gz", hash = "sha256:e6820ff6fa4e4d1d8e2747c2283749c3f547e4fee112b98555cdcdae32996182", size = 28134, upload-time = "2023-11-01T22:06:01.588Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/fa/2a/7f3714cbc6356a0efec525ce7a0613d581072ed6eb53eb7b9754f33db807/blinker-1.7.0-py3-none-any.whl", hash = "sha256:c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9", size = 13068, upload_time = "2023-11-01T22:06:00.162Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/2a/7f3714cbc6356a0efec525ce7a0613d581072ed6eb53eb7b9754f33db807/blinker-1.7.0-py3-none-any.whl", hash = "sha256:c3f865d4d54db7abc53758a01601cf343fe55b84c1de4e3fa910e420b438d5b9", size = 13068, upload-time = "2023-11-01T22:06:00.162Z" },
]
[[package]]
name = "brotli"
version = "1.1.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", size = 7372270, upload_time = "2023-09-07T14:05:41.643Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/2f/c2/f9e977608bdf958650638c3f1e28f85a1b075f075ebbe77db8555463787b/Brotli-1.1.0.tar.gz", hash = "sha256:81de08ac11bcb85841e440c13611c00b67d3bf82698314928d0b676362546724", size = 7372270, upload-time = "2023-09-07T14:05:41.643Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6d/3a/dbf4fb970c1019a57b5e492e1e0eae745d32e59ba4d6161ab5422b08eefe/Brotli-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752", size = 873045, upload_time = "2023-09-07T14:03:16.894Z" },
- { url = "https://files.pythonhosted.org/packages/dd/11/afc14026ea7f44bd6eb9316d800d439d092c8d508752055ce8d03086079a/Brotli-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9", size = 446218, upload_time = "2023-09-07T14:03:18.917Z" },
- { url = "https://files.pythonhosted.org/packages/36/83/7545a6e7729db43cb36c4287ae388d6885c85a86dd251768a47015dfde32/Brotli-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3", size = 2903872, upload_time = "2023-09-07T14:03:20.398Z" },
- { url = "https://files.pythonhosted.org/packages/32/23/35331c4d9391fcc0f29fd9bec2c76e4b4eeab769afbc4b11dd2e1098fb13/Brotli-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d", size = 2941254, upload_time = "2023-09-07T14:03:21.914Z" },
- { url = "https://files.pythonhosted.org/packages/3b/24/1671acb450c902edb64bd765d73603797c6c7280a9ada85a195f6b78c6e5/Brotli-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e", size = 2857293, upload_time = "2023-09-07T14:03:24Z" },
- { url = "https://files.pythonhosted.org/packages/d5/00/40f760cc27007912b327fe15bf6bfd8eaecbe451687f72a8abc587d503b3/Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da", size = 3002385, upload_time = "2023-09-07T14:03:26.248Z" },
- { url = "https://files.pythonhosted.org/packages/b8/cb/8aaa83f7a4caa131757668c0fb0c4b6384b09ffa77f2fba9570d87ab587d/Brotli-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80", size = 2911104, upload_time = "2023-09-07T14:03:27.849Z" },
- { url = "https://files.pythonhosted.org/packages/bc/c4/65456561d89d3c49f46b7fbeb8fe6e449f13bdc8ea7791832c5d476b2faf/Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d", size = 2809981, upload_time = "2023-09-07T14:03:29.92Z" },
- { url = "https://files.pythonhosted.org/packages/05/1b/cf49528437bae28abce5f6e059f0d0be6fecdcc1d3e33e7c54b3ca498425/Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0", size = 2935297, upload_time = "2023-09-07T14:03:32.035Z" },
- { url = "https://files.pythonhosted.org/packages/81/ff/190d4af610680bf0c5a09eb5d1eac6e99c7c8e216440f9c7cfd42b7adab5/Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e", size = 2930735, upload_time = "2023-09-07T14:03:33.801Z" },
- { url = "https://files.pythonhosted.org/packages/80/7d/f1abbc0c98f6e09abd3cad63ec34af17abc4c44f308a7a539010f79aae7a/Brotli-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5dab0844f2cf82be357a0eb11a9087f70c5430b2c241493fc122bb6f2bb0917c", size = 2933107, upload_time = "2024-10-18T12:32:09.016Z" },
- { url = "https://files.pythonhosted.org/packages/34/ce/5a5020ba48f2b5a4ad1c0522d095ad5847a0be508e7d7569c8630ce25062/Brotli-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e4fe605b917c70283db7dfe5ada75e04561479075761a0b3866c081d035b01c1", size = 2845400, upload_time = "2024-10-18T12:32:11.134Z" },
- { url = "https://files.pythonhosted.org/packages/44/89/fa2c4355ab1eecf3994e5a0a7f5492c6ff81dfcb5f9ba7859bd534bb5c1a/Brotli-1.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1e9a65b5736232e7a7f91ff3d02277f11d339bf34099a56cdab6a8b3410a02b2", size = 3031985, upload_time = "2024-10-18T12:32:12.813Z" },
- { url = "https://files.pythonhosted.org/packages/af/a4/79196b4a1674143d19dca400866b1a4d1a089040df7b93b88ebae81f3447/Brotli-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:58d4b711689366d4a03ac7957ab8c28890415e267f9b6589969e74b6e42225ec", size = 2927099, upload_time = "2024-10-18T12:32:14.733Z" },
- { url = "https://files.pythonhosted.org/packages/e9/54/1c0278556a097f9651e657b873ab08f01b9a9ae4cac128ceb66427d7cd20/Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2", size = 333172, upload_time = "2023-09-07T14:03:35.212Z" },
- { url = "https://files.pythonhosted.org/packages/f7/65/b785722e941193fd8b571afd9edbec2a9b838ddec4375d8af33a50b8dab9/Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128", size = 357255, upload_time = "2023-09-07T14:03:36.447Z" },
- { url = "https://files.pythonhosted.org/packages/96/12/ad41e7fadd5db55459c4c401842b47f7fee51068f86dd2894dd0dcfc2d2a/Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc", size = 873068, upload_time = "2023-09-07T14:03:37.779Z" },
- { url = "https://files.pythonhosted.org/packages/95/4e/5afab7b2b4b61a84e9c75b17814198ce515343a44e2ed4488fac314cd0a9/Brotli-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6", size = 446244, upload_time = "2023-09-07T14:03:39.223Z" },
- { url = "https://files.pythonhosted.org/packages/9d/e6/f305eb61fb9a8580c525478a4a34c5ae1a9bcb12c3aee619114940bc513d/Brotli-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd", size = 2906500, upload_time = "2023-09-07T14:03:40.858Z" },
- { url = "https://files.pythonhosted.org/packages/3e/4f/af6846cfbc1550a3024e5d3775ede1e00474c40882c7bf5b37a43ca35e91/Brotli-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf", size = 2943950, upload_time = "2023-09-07T14:03:42.896Z" },
- { url = "https://files.pythonhosted.org/packages/b3/e7/ca2993c7682d8629b62630ebf0d1f3bb3d579e667ce8e7ca03a0a0576a2d/Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61", size = 2918527, upload_time = "2023-09-07T14:03:44.552Z" },
- { url = "https://files.pythonhosted.org/packages/b3/96/da98e7bedc4c51104d29cc61e5f449a502dd3dbc211944546a4cc65500d3/Brotli-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327", size = 2845489, upload_time = "2023-09-07T14:03:46.594Z" },
- { url = "https://files.pythonhosted.org/packages/e8/ef/ccbc16947d6ce943a7f57e1a40596c75859eeb6d279c6994eddd69615265/Brotli-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd", size = 2914080, upload_time = "2023-09-07T14:03:48.204Z" },
- { url = "https://files.pythonhosted.org/packages/80/d6/0bd38d758d1afa62a5524172f0b18626bb2392d717ff94806f741fcd5ee9/Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9", size = 2813051, upload_time = "2023-09-07T14:03:50.348Z" },
- { url = "https://files.pythonhosted.org/packages/14/56/48859dd5d129d7519e001f06dcfbb6e2cf6db92b2702c0c2ce7d97e086c1/Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265", size = 2938172, upload_time = "2023-09-07T14:03:52.395Z" },
- { url = "https://files.pythonhosted.org/packages/3d/77/a236d5f8cd9e9f4348da5acc75ab032ab1ab2c03cc8f430d24eea2672888/Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8", size = 2933023, upload_time = "2023-09-07T14:03:53.96Z" },
- { url = "https://files.pythonhosted.org/packages/f1/87/3b283efc0f5cb35f7f84c0c240b1e1a1003a5e47141a4881bf87c86d0ce2/Brotli-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c247dd99d39e0338a604f8c2b3bc7061d5c2e9e2ac7ba9cc1be5a69cb6cd832f", size = 2935871, upload_time = "2024-10-18T12:32:16.688Z" },
- { url = "https://files.pythonhosted.org/packages/f3/eb/2be4cc3e2141dc1a43ad4ca1875a72088229de38c68e842746b342667b2a/Brotli-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1b2c248cd517c222d89e74669a4adfa5577e06ab68771a529060cf5a156e9757", size = 2847784, upload_time = "2024-10-18T12:32:18.459Z" },
- { url = "https://files.pythonhosted.org/packages/66/13/b58ddebfd35edde572ccefe6890cf7c493f0c319aad2a5badee134b4d8ec/Brotli-1.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2a24c50840d89ded6c9a8fdc7b6ed3692ed4e86f1c4a4a938e1e92def92933e0", size = 3034905, upload_time = "2024-10-18T12:32:20.192Z" },
- { url = "https://files.pythonhosted.org/packages/84/9c/bc96b6c7db824998a49ed3b38e441a2cae9234da6fa11f6ed17e8cf4f147/Brotli-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f31859074d57b4639318523d6ffdca586ace54271a73ad23ad021acd807eb14b", size = 2929467, upload_time = "2024-10-18T12:32:21.774Z" },
- { url = "https://files.pythonhosted.org/packages/e7/71/8f161dee223c7ff7fea9d44893fba953ce97cf2c3c33f78ba260a91bcff5/Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50", size = 333169, upload_time = "2023-09-07T14:03:55.404Z" },
- { url = "https://files.pythonhosted.org/packages/02/8a/fece0ee1057643cb2a5bbf59682de13f1725f8482b2c057d4e799d7ade75/Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1", size = 357253, upload_time = "2023-09-07T14:03:56.643Z" },
- { url = "https://files.pythonhosted.org/packages/5c/d0/5373ae13b93fe00095a58efcbce837fd470ca39f703a235d2a999baadfbc/Brotli-1.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:32d95b80260d79926f5fab3c41701dbb818fde1c9da590e77e571eefd14abe28", size = 815693, upload_time = "2024-10-18T12:32:23.824Z" },
- { url = "https://files.pythonhosted.org/packages/8e/48/f6e1cdf86751300c288c1459724bfa6917a80e30dbfc326f92cea5d3683a/Brotli-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b760c65308ff1e462f65d69c12e4ae085cff3b332d894637f6273a12a482d09f", size = 422489, upload_time = "2024-10-18T12:32:25.641Z" },
- { url = "https://files.pythonhosted.org/packages/06/88/564958cedce636d0f1bed313381dfc4b4e3d3f6015a63dae6146e1b8c65c/Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409", size = 873081, upload_time = "2023-09-07T14:03:57.967Z" },
- { url = "https://files.pythonhosted.org/packages/58/79/b7026a8bb65da9a6bb7d14329fd2bd48d2b7f86d7329d5cc8ddc6a90526f/Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2", size = 446244, upload_time = "2023-09-07T14:03:59.319Z" },
- { url = "https://files.pythonhosted.org/packages/e5/18/c18c32ecea41b6c0004e15606e274006366fe19436b6adccc1ae7b2e50c2/Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451", size = 2906505, upload_time = "2023-09-07T14:04:01.327Z" },
- { url = "https://files.pythonhosted.org/packages/08/c8/69ec0496b1ada7569b62d85893d928e865df29b90736558d6c98c2031208/Brotli-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91", size = 2944152, upload_time = "2023-09-07T14:04:03.033Z" },
- { url = "https://files.pythonhosted.org/packages/ab/fb/0517cea182219d6768113a38167ef6d4eb157a033178cc938033a552ed6d/Brotli-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408", size = 2919252, upload_time = "2023-09-07T14:04:04.675Z" },
- { url = "https://files.pythonhosted.org/packages/c7/53/73a3431662e33ae61a5c80b1b9d2d18f58dfa910ae8dd696e57d39f1a2f5/Brotli-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0", size = 2845955, upload_time = "2023-09-07T14:04:06.585Z" },
- { url = "https://files.pythonhosted.org/packages/55/ac/bd280708d9c5ebdbf9de01459e625a3e3803cce0784f47d633562cf40e83/Brotli-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc", size = 2914304, upload_time = "2023-09-07T14:04:08.668Z" },
- { url = "https://files.pythonhosted.org/packages/76/58/5c391b41ecfc4527d2cc3350719b02e87cb424ef8ba2023fb662f9bf743c/Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180", size = 2814452, upload_time = "2023-09-07T14:04:10.736Z" },
- { url = "https://files.pythonhosted.org/packages/c7/4e/91b8256dfe99c407f174924b65a01f5305e303f486cc7a2e8a5d43c8bec3/Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248", size = 2938751, upload_time = "2023-09-07T14:04:12.875Z" },
- { url = "https://files.pythonhosted.org/packages/5a/a6/e2a39a5d3b412938362bbbeba5af904092bf3f95b867b4a3eb856104074e/Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966", size = 2933757, upload_time = "2023-09-07T14:04:14.551Z" },
- { url = "https://files.pythonhosted.org/packages/13/f0/358354786280a509482e0e77c1a5459e439766597d280f28cb097642fc26/Brotli-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:87a3044c3a35055527ac75e419dfa9f4f3667a1e887ee80360589eb8c90aabb9", size = 2936146, upload_time = "2024-10-18T12:32:27.257Z" },
- { url = "https://files.pythonhosted.org/packages/80/f7/daf538c1060d3a88266b80ecc1d1c98b79553b3f117a485653f17070ea2a/Brotli-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c5529b34c1c9d937168297f2c1fde7ebe9ebdd5e121297ff9c043bdb2ae3d6fb", size = 2848055, upload_time = "2024-10-18T12:32:29.376Z" },
- { url = "https://files.pythonhosted.org/packages/ad/cf/0eaa0585c4077d3c2d1edf322d8e97aabf317941d3a72d7b3ad8bce004b0/Brotli-1.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ca63e1890ede90b2e4454f9a65135a4d387a4585ff8282bb72964fab893f2111", size = 3035102, upload_time = "2024-10-18T12:32:31.371Z" },
- { url = "https://files.pythonhosted.org/packages/d8/63/1c1585b2aa554fe6dbce30f0c18bdbc877fa9a1bf5ff17677d9cca0ac122/Brotli-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e79e6520141d792237c70bcd7a3b122d00f2613769ae0cb61c52e89fd3443839", size = 2930029, upload_time = "2024-10-18T12:32:33.293Z" },
- { url = "https://files.pythonhosted.org/packages/5f/3b/4e3fd1893eb3bbfef8e5a80d4508bec17a57bb92d586c85c12d28666bb13/Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0", size = 333276, upload_time = "2023-09-07T14:04:16.49Z" },
- { url = "https://files.pythonhosted.org/packages/3d/d5/942051b45a9e883b5b6e98c041698b1eb2012d25e5948c58d6bf85b1bb43/Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951", size = 357255, upload_time = "2023-09-07T14:04:17.83Z" },
- { url = "https://files.pythonhosted.org/packages/0a/9f/fb37bb8ffc52a8da37b1c03c459a8cd55df7a57bdccd8831d500e994a0ca/Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5", size = 815681, upload_time = "2024-10-18T12:32:34.942Z" },
- { url = "https://files.pythonhosted.org/packages/06/b3/dbd332a988586fefb0aa49c779f59f47cae76855c2d00f450364bb574cac/Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8", size = 422475, upload_time = "2024-10-18T12:32:36.485Z" },
- { url = "https://files.pythonhosted.org/packages/bb/80/6aaddc2f63dbcf2d93c2d204e49c11a9ec93a8c7c63261e2b4bd35198283/Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f", size = 2906173, upload_time = "2024-10-18T12:32:37.978Z" },
- { url = "https://files.pythonhosted.org/packages/ea/1d/e6ca79c96ff5b641df6097d299347507d39a9604bde8915e76bf026d6c77/Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648", size = 2943803, upload_time = "2024-10-18T12:32:39.606Z" },
- { url = "https://files.pythonhosted.org/packages/ac/a3/d98d2472e0130b7dd3acdbb7f390d478123dbf62b7d32bda5c830a96116d/Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0", size = 2918946, upload_time = "2024-10-18T12:32:41.679Z" },
- { url = "https://files.pythonhosted.org/packages/c4/a5/c69e6d272aee3e1423ed005d8915a7eaa0384c7de503da987f2d224d0721/Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089", size = 2845707, upload_time = "2024-10-18T12:32:43.478Z" },
- { url = "https://files.pythonhosted.org/packages/58/9f/4149d38b52725afa39067350696c09526de0125ebfbaab5acc5af28b42ea/Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368", size = 2936231, upload_time = "2024-10-18T12:32:45.224Z" },
- { url = "https://files.pythonhosted.org/packages/5a/5a/145de884285611838a16bebfdb060c231c52b8f84dfbe52b852a15780386/Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c", size = 2848157, upload_time = "2024-10-18T12:32:46.894Z" },
- { url = "https://files.pythonhosted.org/packages/50/ae/408b6bfb8525dadebd3b3dd5b19d631da4f7d46420321db44cd99dcf2f2c/Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284", size = 3035122, upload_time = "2024-10-18T12:32:48.844Z" },
- { url = "https://files.pythonhosted.org/packages/af/85/a94e5cfaa0ca449d8f91c3d6f78313ebf919a0dbd55a100c711c6e9655bc/Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7", size = 2930206, upload_time = "2024-10-18T12:32:51.198Z" },
- { url = "https://files.pythonhosted.org/packages/c2/f0/a61d9262cd01351df22e57ad7c34f66794709acab13f34be2675f45bf89d/Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0", size = 333804, upload_time = "2024-10-18T12:32:52.661Z" },
- { url = "https://files.pythonhosted.org/packages/7e/c1/ec214e9c94000d1c1974ec67ced1c970c148aa6b8d8373066123fc3dbf06/Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b", size = 358517, upload_time = "2024-10-18T12:32:54.066Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/3a/dbf4fb970c1019a57b5e492e1e0eae745d32e59ba4d6161ab5422b08eefe/Brotli-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e1140c64812cb9b06c922e77f1c26a75ec5e3f0fb2bf92cc8c58720dec276752", size = 873045, upload-time = "2023-09-07T14:03:16.894Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/11/afc14026ea7f44bd6eb9316d800d439d092c8d508752055ce8d03086079a/Brotli-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c8fd5270e906eef71d4a8d19b7c6a43760c6abcfcc10c9101d14eb2357418de9", size = 446218, upload-time = "2023-09-07T14:03:18.917Z" },
+ { url = "https://files.pythonhosted.org/packages/36/83/7545a6e7729db43cb36c4287ae388d6885c85a86dd251768a47015dfde32/Brotli-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ae56aca0402a0f9a3431cddda62ad71666ca9d4dc3a10a142b9dce2e3c0cda3", size = 2903872, upload-time = "2023-09-07T14:03:20.398Z" },
+ { url = "https://files.pythonhosted.org/packages/32/23/35331c4d9391fcc0f29fd9bec2c76e4b4eeab769afbc4b11dd2e1098fb13/Brotli-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43ce1b9935bfa1ede40028054d7f48b5469cd02733a365eec8a329ffd342915d", size = 2941254, upload-time = "2023-09-07T14:03:21.914Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/24/1671acb450c902edb64bd765d73603797c6c7280a9ada85a195f6b78c6e5/Brotli-1.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7c4855522edb2e6ae7fdb58e07c3ba9111e7621a8956f481c68d5d979c93032e", size = 2857293, upload-time = "2023-09-07T14:03:24Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/00/40f760cc27007912b327fe15bf6bfd8eaecbe451687f72a8abc587d503b3/Brotli-1.1.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:38025d9f30cf4634f8309c6874ef871b841eb3c347e90b0851f63d1ded5212da", size = 3002385, upload-time = "2023-09-07T14:03:26.248Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/cb/8aaa83f7a4caa131757668c0fb0c4b6384b09ffa77f2fba9570d87ab587d/Brotli-1.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e6a904cb26bfefc2f0a6f240bdf5233be78cd2488900a2f846f3c3ac8489ab80", size = 2911104, upload-time = "2023-09-07T14:03:27.849Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/c4/65456561d89d3c49f46b7fbeb8fe6e449f13bdc8ea7791832c5d476b2faf/Brotli-1.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a37b8f0391212d29b3a91a799c8e4a2855e0576911cdfb2515487e30e322253d", size = 2809981, upload-time = "2023-09-07T14:03:29.92Z" },
+ { url = "https://files.pythonhosted.org/packages/05/1b/cf49528437bae28abce5f6e059f0d0be6fecdcc1d3e33e7c54b3ca498425/Brotli-1.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e84799f09591700a4154154cab9787452925578841a94321d5ee8fb9a9a328f0", size = 2935297, upload-time = "2023-09-07T14:03:32.035Z" },
+ { url = "https://files.pythonhosted.org/packages/81/ff/190d4af610680bf0c5a09eb5d1eac6e99c7c8e216440f9c7cfd42b7adab5/Brotli-1.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f66b5337fa213f1da0d9000bc8dc0cb5b896b726eefd9c6046f699b169c41b9e", size = 2930735, upload-time = "2023-09-07T14:03:33.801Z" },
+ { url = "https://files.pythonhosted.org/packages/80/7d/f1abbc0c98f6e09abd3cad63ec34af17abc4c44f308a7a539010f79aae7a/Brotli-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5dab0844f2cf82be357a0eb11a9087f70c5430b2c241493fc122bb6f2bb0917c", size = 2933107, upload-time = "2024-10-18T12:32:09.016Z" },
+ { url = "https://files.pythonhosted.org/packages/34/ce/5a5020ba48f2b5a4ad1c0522d095ad5847a0be508e7d7569c8630ce25062/Brotli-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e4fe605b917c70283db7dfe5ada75e04561479075761a0b3866c081d035b01c1", size = 2845400, upload-time = "2024-10-18T12:32:11.134Z" },
+ { url = "https://files.pythonhosted.org/packages/44/89/fa2c4355ab1eecf3994e5a0a7f5492c6ff81dfcb5f9ba7859bd534bb5c1a/Brotli-1.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1e9a65b5736232e7a7f91ff3d02277f11d339bf34099a56cdab6a8b3410a02b2", size = 3031985, upload-time = "2024-10-18T12:32:12.813Z" },
+ { url = "https://files.pythonhosted.org/packages/af/a4/79196b4a1674143d19dca400866b1a4d1a089040df7b93b88ebae81f3447/Brotli-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:58d4b711689366d4a03ac7957ab8c28890415e267f9b6589969e74b6e42225ec", size = 2927099, upload-time = "2024-10-18T12:32:14.733Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/54/1c0278556a097f9651e657b873ab08f01b9a9ae4cac128ceb66427d7cd20/Brotli-1.1.0-cp310-cp310-win32.whl", hash = "sha256:be36e3d172dc816333f33520154d708a2657ea63762ec16b62ece02ab5e4daf2", size = 333172, upload-time = "2023-09-07T14:03:35.212Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/65/b785722e941193fd8b571afd9edbec2a9b838ddec4375d8af33a50b8dab9/Brotli-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:0c6244521dda65ea562d5a69b9a26120769b7a9fb3db2fe9545935ed6735b128", size = 357255, upload-time = "2023-09-07T14:03:36.447Z" },
+ { url = "https://files.pythonhosted.org/packages/96/12/ad41e7fadd5db55459c4c401842b47f7fee51068f86dd2894dd0dcfc2d2a/Brotli-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a3daabb76a78f829cafc365531c972016e4aa8d5b4bf60660ad8ecee19df7ccc", size = 873068, upload-time = "2023-09-07T14:03:37.779Z" },
+ { url = "https://files.pythonhosted.org/packages/95/4e/5afab7b2b4b61a84e9c75b17814198ce515343a44e2ed4488fac314cd0a9/Brotli-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c8146669223164fc87a7e3de9f81e9423c67a79d6b3447994dfb9c95da16e2d6", size = 446244, upload-time = "2023-09-07T14:03:39.223Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/e6/f305eb61fb9a8580c525478a4a34c5ae1a9bcb12c3aee619114940bc513d/Brotli-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30924eb4c57903d5a7526b08ef4a584acc22ab1ffa085faceb521521d2de32dd", size = 2906500, upload-time = "2023-09-07T14:03:40.858Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/4f/af6846cfbc1550a3024e5d3775ede1e00474c40882c7bf5b37a43ca35e91/Brotli-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ceb64bbc6eac5a140ca649003756940f8d6a7c444a68af170b3187623b43bebf", size = 2943950, upload-time = "2023-09-07T14:03:42.896Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/e7/ca2993c7682d8629b62630ebf0d1f3bb3d579e667ce8e7ca03a0a0576a2d/Brotli-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a469274ad18dc0e4d316eefa616d1d0c2ff9da369af19fa6f3daa4f09671fd61", size = 2918527, upload-time = "2023-09-07T14:03:44.552Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/96/da98e7bedc4c51104d29cc61e5f449a502dd3dbc211944546a4cc65500d3/Brotli-1.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524f35912131cc2cabb00edfd8d573b07f2d9f21fa824bd3fb19725a9cf06327", size = 2845489, upload-time = "2023-09-07T14:03:46.594Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/ef/ccbc16947d6ce943a7f57e1a40596c75859eeb6d279c6994eddd69615265/Brotli-1.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5b3cc074004d968722f51e550b41a27be656ec48f8afaeeb45ebf65b561481dd", size = 2914080, upload-time = "2023-09-07T14:03:48.204Z" },
+ { url = "https://files.pythonhosted.org/packages/80/d6/0bd38d758d1afa62a5524172f0b18626bb2392d717ff94806f741fcd5ee9/Brotli-1.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:19c116e796420b0cee3da1ccec3b764ed2952ccfcc298b55a10e5610ad7885f9", size = 2813051, upload-time = "2023-09-07T14:03:50.348Z" },
+ { url = "https://files.pythonhosted.org/packages/14/56/48859dd5d129d7519e001f06dcfbb6e2cf6db92b2702c0c2ce7d97e086c1/Brotli-1.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:510b5b1bfbe20e1a7b3baf5fed9e9451873559a976c1a78eebaa3b86c57b4265", size = 2938172, upload-time = "2023-09-07T14:03:52.395Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/77/a236d5f8cd9e9f4348da5acc75ab032ab1ab2c03cc8f430d24eea2672888/Brotli-1.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a1fd8a29719ccce974d523580987b7f8229aeace506952fa9ce1d53a033873c8", size = 2933023, upload-time = "2023-09-07T14:03:53.96Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/87/3b283efc0f5cb35f7f84c0c240b1e1a1003a5e47141a4881bf87c86d0ce2/Brotli-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c247dd99d39e0338a604f8c2b3bc7061d5c2e9e2ac7ba9cc1be5a69cb6cd832f", size = 2935871, upload-time = "2024-10-18T12:32:16.688Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/eb/2be4cc3e2141dc1a43ad4ca1875a72088229de38c68e842746b342667b2a/Brotli-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1b2c248cd517c222d89e74669a4adfa5577e06ab68771a529060cf5a156e9757", size = 2847784, upload-time = "2024-10-18T12:32:18.459Z" },
+ { url = "https://files.pythonhosted.org/packages/66/13/b58ddebfd35edde572ccefe6890cf7c493f0c319aad2a5badee134b4d8ec/Brotli-1.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:2a24c50840d89ded6c9a8fdc7b6ed3692ed4e86f1c4a4a938e1e92def92933e0", size = 3034905, upload-time = "2024-10-18T12:32:20.192Z" },
+ { url = "https://files.pythonhosted.org/packages/84/9c/bc96b6c7db824998a49ed3b38e441a2cae9234da6fa11f6ed17e8cf4f147/Brotli-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f31859074d57b4639318523d6ffdca586ace54271a73ad23ad021acd807eb14b", size = 2929467, upload-time = "2024-10-18T12:32:21.774Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/71/8f161dee223c7ff7fea9d44893fba953ce97cf2c3c33f78ba260a91bcff5/Brotli-1.1.0-cp311-cp311-win32.whl", hash = "sha256:39da8adedf6942d76dc3e46653e52df937a3c4d6d18fdc94a7c29d263b1f5b50", size = 333169, upload-time = "2023-09-07T14:03:55.404Z" },
+ { url = "https://files.pythonhosted.org/packages/02/8a/fece0ee1057643cb2a5bbf59682de13f1725f8482b2c057d4e799d7ade75/Brotli-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:aac0411d20e345dc0920bdec5548e438e999ff68d77564d5e9463a7ca9d3e7b1", size = 357253, upload-time = "2023-09-07T14:03:56.643Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/d0/5373ae13b93fe00095a58efcbce837fd470ca39f703a235d2a999baadfbc/Brotli-1.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:32d95b80260d79926f5fab3c41701dbb818fde1c9da590e77e571eefd14abe28", size = 815693, upload-time = "2024-10-18T12:32:23.824Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/48/f6e1cdf86751300c288c1459724bfa6917a80e30dbfc326f92cea5d3683a/Brotli-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b760c65308ff1e462f65d69c12e4ae085cff3b332d894637f6273a12a482d09f", size = 422489, upload-time = "2024-10-18T12:32:25.641Z" },
+ { url = "https://files.pythonhosted.org/packages/06/88/564958cedce636d0f1bed313381dfc4b4e3d3f6015a63dae6146e1b8c65c/Brotli-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:316cc9b17edf613ac76b1f1f305d2a748f1b976b033b049a6ecdfd5612c70409", size = 873081, upload-time = "2023-09-07T14:03:57.967Z" },
+ { url = "https://files.pythonhosted.org/packages/58/79/b7026a8bb65da9a6bb7d14329fd2bd48d2b7f86d7329d5cc8ddc6a90526f/Brotli-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:caf9ee9a5775f3111642d33b86237b05808dafcd6268faa492250e9b78046eb2", size = 446244, upload-time = "2023-09-07T14:03:59.319Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/18/c18c32ecea41b6c0004e15606e274006366fe19436b6adccc1ae7b2e50c2/Brotli-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70051525001750221daa10907c77830bc889cb6d865cc0b813d9db7fefc21451", size = 2906505, upload-time = "2023-09-07T14:04:01.327Z" },
+ { url = "https://files.pythonhosted.org/packages/08/c8/69ec0496b1ada7569b62d85893d928e865df29b90736558d6c98c2031208/Brotli-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f4bf76817c14aa98cc6697ac02f3972cb8c3da93e9ef16b9c66573a68014f91", size = 2944152, upload-time = "2023-09-07T14:04:03.033Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/fb/0517cea182219d6768113a38167ef6d4eb157a033178cc938033a552ed6d/Brotli-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0c5516f0aed654134a2fc936325cc2e642f8a0e096d075209672eb321cff408", size = 2919252, upload-time = "2023-09-07T14:04:04.675Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/53/73a3431662e33ae61a5c80b1b9d2d18f58dfa910ae8dd696e57d39f1a2f5/Brotli-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6c3020404e0b5eefd7c9485ccf8393cfb75ec38ce75586e046573c9dc29967a0", size = 2845955, upload-time = "2023-09-07T14:04:06.585Z" },
+ { url = "https://files.pythonhosted.org/packages/55/ac/bd280708d9c5ebdbf9de01459e625a3e3803cce0784f47d633562cf40e83/Brotli-1.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4ed11165dd45ce798d99a136808a794a748d5dc38511303239d4e2363c0695dc", size = 2914304, upload-time = "2023-09-07T14:04:08.668Z" },
+ { url = "https://files.pythonhosted.org/packages/76/58/5c391b41ecfc4527d2cc3350719b02e87cb424ef8ba2023fb662f9bf743c/Brotli-1.1.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:4093c631e96fdd49e0377a9c167bfd75b6d0bad2ace734c6eb20b348bc3ea180", size = 2814452, upload-time = "2023-09-07T14:04:10.736Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/4e/91b8256dfe99c407f174924b65a01f5305e303f486cc7a2e8a5d43c8bec3/Brotli-1.1.0-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e4c4629ddad63006efa0ef968c8e4751c5868ff0b1c5c40f76524e894c50248", size = 2938751, upload-time = "2023-09-07T14:04:12.875Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/a6/e2a39a5d3b412938362bbbeba5af904092bf3f95b867b4a3eb856104074e/Brotli-1.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:861bf317735688269936f755fa136a99d1ed526883859f86e41a5d43c61d8966", size = 2933757, upload-time = "2023-09-07T14:04:14.551Z" },
+ { url = "https://files.pythonhosted.org/packages/13/f0/358354786280a509482e0e77c1a5459e439766597d280f28cb097642fc26/Brotli-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:87a3044c3a35055527ac75e419dfa9f4f3667a1e887ee80360589eb8c90aabb9", size = 2936146, upload-time = "2024-10-18T12:32:27.257Z" },
+ { url = "https://files.pythonhosted.org/packages/80/f7/daf538c1060d3a88266b80ecc1d1c98b79553b3f117a485653f17070ea2a/Brotli-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c5529b34c1c9d937168297f2c1fde7ebe9ebdd5e121297ff9c043bdb2ae3d6fb", size = 2848055, upload-time = "2024-10-18T12:32:29.376Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/cf/0eaa0585c4077d3c2d1edf322d8e97aabf317941d3a72d7b3ad8bce004b0/Brotli-1.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:ca63e1890ede90b2e4454f9a65135a4d387a4585ff8282bb72964fab893f2111", size = 3035102, upload-time = "2024-10-18T12:32:31.371Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/63/1c1585b2aa554fe6dbce30f0c18bdbc877fa9a1bf5ff17677d9cca0ac122/Brotli-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e79e6520141d792237c70bcd7a3b122d00f2613769ae0cb61c52e89fd3443839", size = 2930029, upload-time = "2024-10-18T12:32:33.293Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/3b/4e3fd1893eb3bbfef8e5a80d4508bec17a57bb92d586c85c12d28666bb13/Brotli-1.1.0-cp312-cp312-win32.whl", hash = "sha256:5f4d5ea15c9382135076d2fb28dde923352fe02951e66935a9efaac8f10e81b0", size = 333276, upload-time = "2023-09-07T14:04:16.49Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/d5/942051b45a9e883b5b6e98c041698b1eb2012d25e5948c58d6bf85b1bb43/Brotli-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:906bc3a79de8c4ae5b86d3d75a8b77e44404b0f4261714306e3ad248d8ab0951", size = 357255, upload-time = "2023-09-07T14:04:17.83Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/9f/fb37bb8ffc52a8da37b1c03c459a8cd55df7a57bdccd8831d500e994a0ca/Brotli-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8bf32b98b75c13ec7cf774164172683d6e7891088f6316e54425fde1efc276d5", size = 815681, upload-time = "2024-10-18T12:32:34.942Z" },
+ { url = "https://files.pythonhosted.org/packages/06/b3/dbd332a988586fefb0aa49c779f59f47cae76855c2d00f450364bb574cac/Brotli-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7bc37c4d6b87fb1017ea28c9508b36bbcb0c3d18b4260fcdf08b200c74a6aee8", size = 422475, upload-time = "2024-10-18T12:32:36.485Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/80/6aaddc2f63dbcf2d93c2d204e49c11a9ec93a8c7c63261e2b4bd35198283/Brotli-1.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c0ef38c7a7014ffac184db9e04debe495d317cc9c6fb10071f7fefd93100a4f", size = 2906173, upload-time = "2024-10-18T12:32:37.978Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/1d/e6ca79c96ff5b641df6097d299347507d39a9604bde8915e76bf026d6c77/Brotli-1.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91d7cc2a76b5567591d12c01f019dd7afce6ba8cba6571187e21e2fc418ae648", size = 2943803, upload-time = "2024-10-18T12:32:39.606Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/a3/d98d2472e0130b7dd3acdbb7f390d478123dbf62b7d32bda5c830a96116d/Brotli-1.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a93dde851926f4f2678e704fadeb39e16c35d8baebd5252c9fd94ce8ce68c4a0", size = 2918946, upload-time = "2024-10-18T12:32:41.679Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/a5/c69e6d272aee3e1423ed005d8915a7eaa0384c7de503da987f2d224d0721/Brotli-1.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f0db75f47be8b8abc8d9e31bc7aad0547ca26f24a54e6fd10231d623f183d089", size = 2845707, upload-time = "2024-10-18T12:32:43.478Z" },
+ { url = "https://files.pythonhosted.org/packages/58/9f/4149d38b52725afa39067350696c09526de0125ebfbaab5acc5af28b42ea/Brotli-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6967ced6730aed543b8673008b5a391c3b1076d834ca438bbd70635c73775368", size = 2936231, upload-time = "2024-10-18T12:32:45.224Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/5a/145de884285611838a16bebfdb060c231c52b8f84dfbe52b852a15780386/Brotli-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7eedaa5d036d9336c95915035fb57422054014ebdeb6f3b42eac809928e40d0c", size = 2848157, upload-time = "2024-10-18T12:32:46.894Z" },
+ { url = "https://files.pythonhosted.org/packages/50/ae/408b6bfb8525dadebd3b3dd5b19d631da4f7d46420321db44cd99dcf2f2c/Brotli-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d487f5432bf35b60ed625d7e1b448e2dc855422e87469e3f450aa5552b0eb284", size = 3035122, upload-time = "2024-10-18T12:32:48.844Z" },
+ { url = "https://files.pythonhosted.org/packages/af/85/a94e5cfaa0ca449d8f91c3d6f78313ebf919a0dbd55a100c711c6e9655bc/Brotli-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832436e59afb93e1836081a20f324cb185836c617659b07b129141a8426973c7", size = 2930206, upload-time = "2024-10-18T12:32:51.198Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/f0/a61d9262cd01351df22e57ad7c34f66794709acab13f34be2675f45bf89d/Brotli-1.1.0-cp313-cp313-win32.whl", hash = "sha256:43395e90523f9c23a3d5bdf004733246fba087f2948f87ab28015f12359ca6a0", size = 333804, upload-time = "2024-10-18T12:32:52.661Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/c1/ec214e9c94000d1c1974ec67ced1c970c148aa6b8d8373066123fc3dbf06/Brotli-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9011560a466d2eb3f5a6e4929cf4a09be405c64154e12df0dd72713f6500e32b", size = 358517, upload-time = "2024-10-18T12:32:54.066Z" },
]
[[package]]
name = "certifi"
version = "2023.11.17"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d4/91/c89518dd4fe1f3a4e3f6ab7ff23cb00ef2e8c9adf99dacc618ad5e068e28/certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1", size = 163637, upload_time = "2023-11-18T02:54:02.397Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/d4/91/c89518dd4fe1f3a4e3f6ab7ff23cb00ef2e8c9adf99dacc618ad5e068e28/certifi-2023.11.17.tar.gz", hash = "sha256:9b469f3a900bf28dc19b8cfbf8019bf47f7fdd1a65a1d4ffb98fc14166beb4d1", size = 163637, upload-time = "2023-11-18T02:54:02.397Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/64/62/428ef076be88fa93716b576e4a01f919d25968913e817077a386fcbe4f42/certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474", size = 162530, upload_time = "2023-11-18T02:54:00.083Z" },
+ { url = "https://files.pythonhosted.org/packages/64/62/428ef076be88fa93716b576e4a01f919d25968913e817077a386fcbe4f42/certifi-2023.11.17-py3-none-any.whl", hash = "sha256:e036ab49d5b79556f99cfc2d9320b34cfbe5be05c5871b51de9329f0603b0474", size = 162530, upload-time = "2023-11-18T02:54:00.083Z" },
]
[[package]]
@@ -207,108 +207,108 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pycparser" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload_time = "2024-09-04T20:45:21.852Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191, upload_time = "2024-09-04T20:43:30.027Z" },
- { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592, upload_time = "2024-09-04T20:43:32.108Z" },
- { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024, upload_time = "2024-09-04T20:43:34.186Z" },
- { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188, upload_time = "2024-09-04T20:43:36.286Z" },
- { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571, upload_time = "2024-09-04T20:43:38.586Z" },
- { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687, upload_time = "2024-09-04T20:43:40.084Z" },
- { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211, upload_time = "2024-09-04T20:43:41.526Z" },
- { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325, upload_time = "2024-09-04T20:43:43.117Z" },
- { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784, upload_time = "2024-09-04T20:43:45.256Z" },
- { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564, upload_time = "2024-09-04T20:43:46.779Z" },
- { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804, upload_time = "2024-09-04T20:43:48.186Z" },
- { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299, upload_time = "2024-09-04T20:43:49.812Z" },
- { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload_time = "2024-09-04T20:43:51.124Z" },
- { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload_time = "2024-09-04T20:43:52.872Z" },
- { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload_time = "2024-09-04T20:43:56.123Z" },
- { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload_time = "2024-09-04T20:43:57.891Z" },
- { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload_time = "2024-09-04T20:44:00.18Z" },
- { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload_time = "2024-09-04T20:44:01.585Z" },
- { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload_time = "2024-09-04T20:44:03.467Z" },
- { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload_time = "2024-09-04T20:44:05.023Z" },
- { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload_time = "2024-09-04T20:44:06.444Z" },
- { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload_time = "2024-09-04T20:44:08.206Z" },
- { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload_time = "2024-09-04T20:44:09.481Z" },
- { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload_time = "2024-09-04T20:44:10.873Z" },
- { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload_time = "2024-09-04T20:44:12.232Z" },
- { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload_time = "2024-09-04T20:44:13.739Z" },
- { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload_time = "2024-09-04T20:44:15.231Z" },
- { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload_time = "2024-09-04T20:44:17.188Z" },
- { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload_time = "2024-09-04T20:44:18.688Z" },
- { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload_time = "2024-09-04T20:44:20.248Z" },
- { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload_time = "2024-09-04T20:44:21.673Z" },
- { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload_time = "2024-09-04T20:44:23.245Z" },
- { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload_time = "2024-09-04T20:44:24.757Z" },
- { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload_time = "2024-09-04T20:44:26.208Z" },
- { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload_time = "2024-09-04T20:44:27.578Z" },
- { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload_time = "2024-09-04T20:44:28.956Z" },
- { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload_time = "2024-09-04T20:44:30.289Z" },
- { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload_time = "2024-09-04T20:44:32.01Z" },
- { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload_time = "2024-09-04T20:44:33.606Z" },
- { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload_time = "2024-09-04T20:44:35.191Z" },
- { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload_time = "2024-09-04T20:44:36.743Z" },
- { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload_time = "2024-09-04T20:44:38.492Z" },
- { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload_time = "2024-09-04T20:44:40.046Z" },
- { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload_time = "2024-09-04T20:44:41.616Z" },
- { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload_time = "2024-09-04T20:44:43.733Z" },
- { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload_time = "2024-09-04T20:44:45.309Z" },
+ { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191, upload-time = "2024-09-04T20:43:30.027Z" },
+ { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592, upload-time = "2024-09-04T20:43:32.108Z" },
+ { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024, upload-time = "2024-09-04T20:43:34.186Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188, upload-time = "2024-09-04T20:43:36.286Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571, upload-time = "2024-09-04T20:43:38.586Z" },
+ { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687, upload-time = "2024-09-04T20:43:40.084Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211, upload-time = "2024-09-04T20:43:41.526Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325, upload-time = "2024-09-04T20:43:43.117Z" },
+ { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784, upload-time = "2024-09-04T20:43:45.256Z" },
+ { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564, upload-time = "2024-09-04T20:43:46.779Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804, upload-time = "2024-09-04T20:43:48.186Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299, upload-time = "2024-09-04T20:43:49.812Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" },
+ { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" },
+ { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" },
+ { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" },
+ { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" },
+ { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" },
+ { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" },
+ { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" },
+ { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" },
+ { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" },
+ { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" },
]
[[package]]
name = "charset-normalizer"
version = "3.3.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/63/09/c1bc53dab74b1816a00d8d030de5bf98f724c52c1635e07681d312f20be8/charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5", size = 104809, upload_time = "2023-11-01T04:04:59.997Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/63/09/c1bc53dab74b1816a00d8d030de5bf98f724c52c1635e07681d312f20be8/charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5", size = 104809, upload-time = "2023-11-01T04:04:59.997Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/2b/61/095a0aa1a84d1481998b534177c8566fdc50bb1233ea9a0478cd3cc075bd/charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3", size = 194219, upload_time = "2023-11-01T04:02:29.048Z" },
- { url = "https://files.pythonhosted.org/packages/cc/94/f7cf5e5134175de79ad2059edf2adce18e0685ebdb9227ff0139975d0e93/charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", size = 122521, upload_time = "2023-11-01T04:02:32.452Z" },
- { url = "https://files.pythonhosted.org/packages/46/6a/d5c26c41c49b546860cc1acabdddf48b0b3fb2685f4f5617ac59261b44ae/charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", size = 120383, upload_time = "2023-11-01T04:02:34.11Z" },
- { url = "https://files.pythonhosted.org/packages/b8/60/e2f67915a51be59d4539ed189eb0a2b0d292bf79270410746becb32bc2c3/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d", size = 138223, upload_time = "2023-11-01T04:02:36.213Z" },
- { url = "https://files.pythonhosted.org/packages/05/8c/eb854996d5fef5e4f33ad56927ad053d04dc820e4a3d39023f35cad72617/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e", size = 148101, upload_time = "2023-11-01T04:02:38.067Z" },
- { url = "https://files.pythonhosted.org/packages/f6/93/bb6cbeec3bf9da9b2eba458c15966658d1daa8b982c642f81c93ad9b40e1/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6", size = 140699, upload_time = "2023-11-01T04:02:39.436Z" },
- { url = "https://files.pythonhosted.org/packages/da/f1/3702ba2a7470666a62fd81c58a4c40be00670e5006a67f4d626e57f013ae/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", size = 142065, upload_time = "2023-11-01T04:02:41.357Z" },
- { url = "https://files.pythonhosted.org/packages/3f/ba/3f5e7be00b215fa10e13d64b1f6237eb6ebea66676a41b2bcdd09fe74323/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537", size = 144505, upload_time = "2023-11-01T04:02:43.108Z" },
- { url = "https://files.pythonhosted.org/packages/33/c3/3b96a435c5109dd5b6adc8a59ba1d678b302a97938f032e3770cc84cd354/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c", size = 139425, upload_time = "2023-11-01T04:02:45.427Z" },
- { url = "https://files.pythonhosted.org/packages/43/05/3bf613e719efe68fb3a77f9c536a389f35b95d75424b96b426a47a45ef1d/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12", size = 145287, upload_time = "2023-11-01T04:02:46.705Z" },
- { url = "https://files.pythonhosted.org/packages/58/78/a0bc646900994df12e07b4ae5c713f2b3e5998f58b9d3720cce2aa45652f/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f", size = 149929, upload_time = "2023-11-01T04:02:48.098Z" },
- { url = "https://files.pythonhosted.org/packages/eb/5c/97d97248af4920bc68687d9c3b3c0f47c910e21a8ff80af4565a576bd2f0/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269", size = 141605, upload_time = "2023-11-01T04:02:49.605Z" },
- { url = "https://files.pythonhosted.org/packages/a8/31/47d018ef89f95b8aded95c589a77c072c55e94b50a41aa99c0a2008a45a4/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", size = 142646, upload_time = "2023-11-01T04:02:51.35Z" },
- { url = "https://files.pythonhosted.org/packages/ae/d5/4fecf1d58bedb1340a50f165ba1c7ddc0400252d6832ff619c4568b36cc0/charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73", size = 92846, upload_time = "2023-11-01T04:02:52.679Z" },
- { url = "https://files.pythonhosted.org/packages/a2/a0/4af29e22cb5942488cf45630cbdd7cefd908768e69bdd90280842e4e8529/charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09", size = 100343, upload_time = "2023-11-01T04:02:53.915Z" },
- { url = "https://files.pythonhosted.org/packages/68/77/02839016f6fbbf808e8b38601df6e0e66c17bbab76dff4613f7511413597/charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db", size = 191647, upload_time = "2023-11-01T04:02:55.329Z" },
- { url = "https://files.pythonhosted.org/packages/3e/33/21a875a61057165e92227466e54ee076b73af1e21fe1b31f1e292251aa1e/charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96", size = 121434, upload_time = "2023-11-01T04:02:57.173Z" },
- { url = "https://files.pythonhosted.org/packages/dd/51/68b61b90b24ca35495956b718f35a9756ef7d3dd4b3c1508056fa98d1a1b/charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", size = 118979, upload_time = "2023-11-01T04:02:58.442Z" },
- { url = "https://files.pythonhosted.org/packages/e4/a6/7ee57823d46331ddc37dd00749c95b0edec2c79b15fc0d6e6efb532e89ac/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f", size = 136582, upload_time = "2023-11-01T04:02:59.776Z" },
- { url = "https://files.pythonhosted.org/packages/74/f1/0d9fe69ac441467b737ba7f48c68241487df2f4522dd7246d9426e7c690e/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574", size = 146645, upload_time = "2023-11-01T04:03:02.186Z" },
- { url = "https://files.pythonhosted.org/packages/05/31/e1f51c76db7be1d4aef220d29fbfa5dbb4a99165d9833dcbf166753b6dc0/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4", size = 139398, upload_time = "2023-11-01T04:03:04.255Z" },
- { url = "https://files.pythonhosted.org/packages/40/26/f35951c45070edc957ba40a5b1db3cf60a9dbb1b350c2d5bef03e01e61de/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", size = 140273, upload_time = "2023-11-01T04:03:05.983Z" },
- { url = "https://files.pythonhosted.org/packages/07/07/7e554f2bbce3295e191f7e653ff15d55309a9ca40d0362fcdab36f01063c/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc", size = 142577, upload_time = "2023-11-01T04:03:07.567Z" },
- { url = "https://files.pythonhosted.org/packages/d8/b5/eb705c313100defa57da79277d9207dc8d8e45931035862fa64b625bfead/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae", size = 137747, upload_time = "2023-11-01T04:03:08.886Z" },
- { url = "https://files.pythonhosted.org/packages/19/28/573147271fd041d351b438a5665be8223f1dd92f273713cb882ddafe214c/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887", size = 143375, upload_time = "2023-11-01T04:03:10.613Z" },
- { url = "https://files.pythonhosted.org/packages/cf/7c/f3b682fa053cc21373c9a839e6beba7705857075686a05c72e0f8c4980ca/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae", size = 148474, upload_time = "2023-11-01T04:03:11.973Z" },
- { url = "https://files.pythonhosted.org/packages/1e/49/7ab74d4ac537ece3bc3334ee08645e231f39f7d6df6347b29a74b0537103/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce", size = 140232, upload_time = "2023-11-01T04:03:13.505Z" },
- { url = "https://files.pythonhosted.org/packages/2d/dc/9dacba68c9ac0ae781d40e1a0c0058e26302ea0660e574ddf6797a0347f7/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f", size = 140859, upload_time = "2023-11-01T04:03:17.362Z" },
- { url = "https://files.pythonhosted.org/packages/6c/c2/4a583f800c0708dd22096298e49f887b49d9746d0e78bfc1d7e29816614c/charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab", size = 92509, upload_time = "2023-11-01T04:03:21.453Z" },
- { url = "https://files.pythonhosted.org/packages/57/ec/80c8d48ac8b1741d5b963797b7c0c869335619e13d4744ca2f67fc11c6fc/charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77", size = 99870, upload_time = "2023-11-01T04:03:22.723Z" },
- { url = "https://files.pythonhosted.org/packages/d1/b2/fcedc8255ec42afee97f9e6f0145c734bbe104aac28300214593eb326f1d/charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8", size = 192892, upload_time = "2023-11-01T04:03:24.135Z" },
- { url = "https://files.pythonhosted.org/packages/2e/7d/2259318c202f3d17f3fe6438149b3b9e706d1070fe3fcbb28049730bb25c/charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b", size = 122213, upload_time = "2023-11-01T04:03:25.66Z" },
- { url = "https://files.pythonhosted.org/packages/3a/52/9f9d17c3b54dc238de384c4cb5a2ef0e27985b42a0e5cc8e8a31d918d48d/charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6", size = 119404, upload_time = "2023-11-01T04:03:27.04Z" },
- { url = "https://files.pythonhosted.org/packages/99/b0/9c365f6d79a9f0f3c379ddb40a256a67aa69c59609608fe7feb6235896e1/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a", size = 137275, upload_time = "2023-11-01T04:03:28.466Z" },
- { url = "https://files.pythonhosted.org/packages/91/33/749df346e93d7a30cdcb90cbfdd41a06026317bfbfb62cd68307c1a3c543/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389", size = 147518, upload_time = "2023-11-01T04:03:29.82Z" },
- { url = "https://files.pythonhosted.org/packages/72/1a/641d5c9f59e6af4c7b53da463d07600a695b9824e20849cb6eea8a627761/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa", size = 140182, upload_time = "2023-11-01T04:03:31.511Z" },
- { url = "https://files.pythonhosted.org/packages/ee/fb/14d30eb4956408ee3ae09ad34299131fb383c47df355ddb428a7331cfa1e/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b", size = 141869, upload_time = "2023-11-01T04:03:32.887Z" },
- { url = "https://files.pythonhosted.org/packages/df/3e/a06b18788ca2eb6695c9b22325b6fde7dde0f1d1838b1792a0076f58fe9d/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed", size = 144042, upload_time = "2023-11-01T04:03:34.412Z" },
- { url = "https://files.pythonhosted.org/packages/45/59/3d27019d3b447a88fe7e7d004a1e04be220227760264cc41b405e863891b/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26", size = 138275, upload_time = "2023-11-01T04:03:35.759Z" },
- { url = "https://files.pythonhosted.org/packages/7b/ef/5eb105530b4da8ae37d506ccfa25057961b7b63d581def6f99165ea89c7e/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d", size = 144819, upload_time = "2023-11-01T04:03:37.216Z" },
- { url = "https://files.pythonhosted.org/packages/a2/51/e5023f937d7f307c948ed3e5c29c4b7a3e42ed2ee0b8cdf8f3a706089bf0/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068", size = 149415, upload_time = "2023-11-01T04:03:38.694Z" },
- { url = "https://files.pythonhosted.org/packages/24/9d/2e3ef673dfd5be0154b20363c5cdcc5606f35666544381bee15af3778239/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143", size = 141212, upload_time = "2023-11-01T04:03:40.07Z" },
- { url = "https://files.pythonhosted.org/packages/5b/ae/ce2c12fcac59cb3860b2e2d76dc405253a4475436b1861d95fe75bdea520/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4", size = 142167, upload_time = "2023-11-01T04:03:41.491Z" },
- { url = "https://files.pythonhosted.org/packages/ed/3a/a448bf035dce5da359daf9ae8a16b8a39623cc395a2ffb1620aa1bce62b0/charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7", size = 93041, upload_time = "2023-11-01T04:03:42.836Z" },
- { url = "https://files.pythonhosted.org/packages/b6/7c/8debebb4f90174074b827c63242c23851bdf00a532489fba57fef3416e40/charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", size = 100397, upload_time = "2023-11-01T04:03:44.467Z" },
- { url = "https://files.pythonhosted.org/packages/28/76/e6222113b83e3622caa4bb41032d0b1bf785250607392e1b778aca0b8a7d/charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", size = 48543, upload_time = "2023-11-01T04:04:58.622Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/61/095a0aa1a84d1481998b534177c8566fdc50bb1233ea9a0478cd3cc075bd/charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3", size = 194219, upload-time = "2023-11-01T04:02:29.048Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/94/f7cf5e5134175de79ad2059edf2adce18e0685ebdb9227ff0139975d0e93/charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027", size = 122521, upload-time = "2023-11-01T04:02:32.452Z" },
+ { url = "https://files.pythonhosted.org/packages/46/6a/d5c26c41c49b546860cc1acabdddf48b0b3fb2685f4f5617ac59261b44ae/charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03", size = 120383, upload-time = "2023-11-01T04:02:34.11Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/60/e2f67915a51be59d4539ed189eb0a2b0d292bf79270410746becb32bc2c3/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d", size = 138223, upload-time = "2023-11-01T04:02:36.213Z" },
+ { url = "https://files.pythonhosted.org/packages/05/8c/eb854996d5fef5e4f33ad56927ad053d04dc820e4a3d39023f35cad72617/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e", size = 148101, upload-time = "2023-11-01T04:02:38.067Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/93/bb6cbeec3bf9da9b2eba458c15966658d1daa8b982c642f81c93ad9b40e1/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6", size = 140699, upload-time = "2023-11-01T04:02:39.436Z" },
+ { url = "https://files.pythonhosted.org/packages/da/f1/3702ba2a7470666a62fd81c58a4c40be00670e5006a67f4d626e57f013ae/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5", size = 142065, upload-time = "2023-11-01T04:02:41.357Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/ba/3f5e7be00b215fa10e13d64b1f6237eb6ebea66676a41b2bcdd09fe74323/charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537", size = 144505, upload-time = "2023-11-01T04:02:43.108Z" },
+ { url = "https://files.pythonhosted.org/packages/33/c3/3b96a435c5109dd5b6adc8a59ba1d678b302a97938f032e3770cc84cd354/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c", size = 139425, upload-time = "2023-11-01T04:02:45.427Z" },
+ { url = "https://files.pythonhosted.org/packages/43/05/3bf613e719efe68fb3a77f9c536a389f35b95d75424b96b426a47a45ef1d/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12", size = 145287, upload-time = "2023-11-01T04:02:46.705Z" },
+ { url = "https://files.pythonhosted.org/packages/58/78/a0bc646900994df12e07b4ae5c713f2b3e5998f58b9d3720cce2aa45652f/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f", size = 149929, upload-time = "2023-11-01T04:02:48.098Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/5c/97d97248af4920bc68687d9c3b3c0f47c910e21a8ff80af4565a576bd2f0/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269", size = 141605, upload-time = "2023-11-01T04:02:49.605Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/31/47d018ef89f95b8aded95c589a77c072c55e94b50a41aa99c0a2008a45a4/charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519", size = 142646, upload-time = "2023-11-01T04:02:51.35Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/d5/4fecf1d58bedb1340a50f165ba1c7ddc0400252d6832ff619c4568b36cc0/charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73", size = 92846, upload-time = "2023-11-01T04:02:52.679Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/a0/4af29e22cb5942488cf45630cbdd7cefd908768e69bdd90280842e4e8529/charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09", size = 100343, upload-time = "2023-11-01T04:02:53.915Z" },
+ { url = "https://files.pythonhosted.org/packages/68/77/02839016f6fbbf808e8b38601df6e0e66c17bbab76dff4613f7511413597/charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db", size = 191647, upload-time = "2023-11-01T04:02:55.329Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/33/21a875a61057165e92227466e54ee076b73af1e21fe1b31f1e292251aa1e/charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96", size = 121434, upload-time = "2023-11-01T04:02:57.173Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/51/68b61b90b24ca35495956b718f35a9756ef7d3dd4b3c1508056fa98d1a1b/charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e", size = 118979, upload-time = "2023-11-01T04:02:58.442Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/a6/7ee57823d46331ddc37dd00749c95b0edec2c79b15fc0d6e6efb532e89ac/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f", size = 136582, upload-time = "2023-11-01T04:02:59.776Z" },
+ { url = "https://files.pythonhosted.org/packages/74/f1/0d9fe69ac441467b737ba7f48c68241487df2f4522dd7246d9426e7c690e/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574", size = 146645, upload-time = "2023-11-01T04:03:02.186Z" },
+ { url = "https://files.pythonhosted.org/packages/05/31/e1f51c76db7be1d4aef220d29fbfa5dbb4a99165d9833dcbf166753b6dc0/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4", size = 139398, upload-time = "2023-11-01T04:03:04.255Z" },
+ { url = "https://files.pythonhosted.org/packages/40/26/f35951c45070edc957ba40a5b1db3cf60a9dbb1b350c2d5bef03e01e61de/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8", size = 140273, upload-time = "2023-11-01T04:03:05.983Z" },
+ { url = "https://files.pythonhosted.org/packages/07/07/7e554f2bbce3295e191f7e653ff15d55309a9ca40d0362fcdab36f01063c/charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc", size = 142577, upload-time = "2023-11-01T04:03:07.567Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/b5/eb705c313100defa57da79277d9207dc8d8e45931035862fa64b625bfead/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae", size = 137747, upload-time = "2023-11-01T04:03:08.886Z" },
+ { url = "https://files.pythonhosted.org/packages/19/28/573147271fd041d351b438a5665be8223f1dd92f273713cb882ddafe214c/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887", size = 143375, upload-time = "2023-11-01T04:03:10.613Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/7c/f3b682fa053cc21373c9a839e6beba7705857075686a05c72e0f8c4980ca/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae", size = 148474, upload-time = "2023-11-01T04:03:11.973Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/49/7ab74d4ac537ece3bc3334ee08645e231f39f7d6df6347b29a74b0537103/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce", size = 140232, upload-time = "2023-11-01T04:03:13.505Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/dc/9dacba68c9ac0ae781d40e1a0c0058e26302ea0660e574ddf6797a0347f7/charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f", size = 140859, upload-time = "2023-11-01T04:03:17.362Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/c2/4a583f800c0708dd22096298e49f887b49d9746d0e78bfc1d7e29816614c/charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab", size = 92509, upload-time = "2023-11-01T04:03:21.453Z" },
+ { url = "https://files.pythonhosted.org/packages/57/ec/80c8d48ac8b1741d5b963797b7c0c869335619e13d4744ca2f67fc11c6fc/charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77", size = 99870, upload-time = "2023-11-01T04:03:22.723Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/b2/fcedc8255ec42afee97f9e6f0145c734bbe104aac28300214593eb326f1d/charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8", size = 192892, upload-time = "2023-11-01T04:03:24.135Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/7d/2259318c202f3d17f3fe6438149b3b9e706d1070fe3fcbb28049730bb25c/charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b", size = 122213, upload-time = "2023-11-01T04:03:25.66Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/52/9f9d17c3b54dc238de384c4cb5a2ef0e27985b42a0e5cc8e8a31d918d48d/charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6", size = 119404, upload-time = "2023-11-01T04:03:27.04Z" },
+ { url = "https://files.pythonhosted.org/packages/99/b0/9c365f6d79a9f0f3c379ddb40a256a67aa69c59609608fe7feb6235896e1/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a", size = 137275, upload-time = "2023-11-01T04:03:28.466Z" },
+ { url = "https://files.pythonhosted.org/packages/91/33/749df346e93d7a30cdcb90cbfdd41a06026317bfbfb62cd68307c1a3c543/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389", size = 147518, upload-time = "2023-11-01T04:03:29.82Z" },
+ { url = "https://files.pythonhosted.org/packages/72/1a/641d5c9f59e6af4c7b53da463d07600a695b9824e20849cb6eea8a627761/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa", size = 140182, upload-time = "2023-11-01T04:03:31.511Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/fb/14d30eb4956408ee3ae09ad34299131fb383c47df355ddb428a7331cfa1e/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b", size = 141869, upload-time = "2023-11-01T04:03:32.887Z" },
+ { url = "https://files.pythonhosted.org/packages/df/3e/a06b18788ca2eb6695c9b22325b6fde7dde0f1d1838b1792a0076f58fe9d/charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed", size = 144042, upload-time = "2023-11-01T04:03:34.412Z" },
+ { url = "https://files.pythonhosted.org/packages/45/59/3d27019d3b447a88fe7e7d004a1e04be220227760264cc41b405e863891b/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26", size = 138275, upload-time = "2023-11-01T04:03:35.759Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/ef/5eb105530b4da8ae37d506ccfa25057961b7b63d581def6f99165ea89c7e/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d", size = 144819, upload-time = "2023-11-01T04:03:37.216Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/51/e5023f937d7f307c948ed3e5c29c4b7a3e42ed2ee0b8cdf8f3a706089bf0/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068", size = 149415, upload-time = "2023-11-01T04:03:38.694Z" },
+ { url = "https://files.pythonhosted.org/packages/24/9d/2e3ef673dfd5be0154b20363c5cdcc5606f35666544381bee15af3778239/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143", size = 141212, upload-time = "2023-11-01T04:03:40.07Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/ae/ce2c12fcac59cb3860b2e2d76dc405253a4475436b1861d95fe75bdea520/charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4", size = 142167, upload-time = "2023-11-01T04:03:41.491Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/3a/a448bf035dce5da359daf9ae8a16b8a39623cc395a2ffb1620aa1bce62b0/charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7", size = 93041, upload-time = "2023-11-01T04:03:42.836Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/7c/8debebb4f90174074b827c63242c23851bdf00a532489fba57fef3416e40/charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001", size = 100397, upload-time = "2023-11-01T04:03:44.467Z" },
+ { url = "https://files.pythonhosted.org/packages/28/76/e6222113b83e3622caa4bb41032d0b1bf785250607392e1b778aca0b8a7d/charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc", size = 48543, upload-time = "2023-11-01T04:04:58.622Z" },
]
[[package]]
@@ -318,18 +318,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de", size = 336121, upload_time = "2023-08-17T17:29:11.868Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/96/d3/f04c7bfcf5c1862a2a5b845c6b2b360488cf47af55dfa79c98f6a6bf98b5/click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de", size = 336121, upload-time = "2023-08-17T17:29:11.868Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", size = 97941, upload_time = "2023-08-17T17:29:10.08Z" },
+ { url = "https://files.pythonhosted.org/packages/00/2e/d53fa4befbf2cfa713304affc7ca780ce4fc1fd8710527771b58311a3229/click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28", size = 97941, upload-time = "2023-08-17T17:29:10.08Z" },
]
[[package]]
name = "colorama"
version = "0.4.6"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload_time = "2022-10-25T02:36:22.414Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload_time = "2022-10-25T02:36:20.889Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" },
]
[[package]]
@@ -339,18 +339,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "humanfriendly" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520, upload_time = "2021-06-11T10:22:45.202Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520, upload-time = "2021-06-11T10:22:45.202Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a7/06/3d6badcf13db419e25b07041d9c7b4a2c331d3f4e7134445ec5df57714cd/coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934", size = 46018, upload_time = "2021-06-11T10:22:42.561Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/06/3d6badcf13db419e25b07041d9c7b4a2c331d3f4e7134445ec5df57714cd/coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934", size = 46018, upload-time = "2021-06-11T10:22:42.561Z" },
]
[[package]]
name = "configargparse"
version = "1.7"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/70/8a/73f1008adfad01cb923255b924b1528727b8270e67cb4ef41eabdc7d783e/ConfigArgParse-1.7.tar.gz", hash = "sha256:e7067471884de5478c58a511e529f0f9bd1c66bfef1dea90935438d6c23306d1", size = 43817, upload_time = "2023-07-23T16:20:04.95Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/70/8a/73f1008adfad01cb923255b924b1528727b8270e67cb4ef41eabdc7d783e/ConfigArgParse-1.7.tar.gz", hash = "sha256:e7067471884de5478c58a511e529f0f9bd1c66bfef1dea90935438d6c23306d1", size = 43817, upload-time = "2023-07-23T16:20:04.95Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6f/b3/b4ac838711fd74a2b4e6f746703cf9dd2cf5462d17dac07e349234e21b97/ConfigArgParse-1.7-py3-none-any.whl", hash = "sha256:d249da6591465c6c26df64a9f73d2536e743be2f244eb3ebe61114af2f94f86b", size = 25489, upload_time = "2023-07-23T16:20:03.27Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/b3/b4ac838711fd74a2b4e6f746703cf9dd2cf5462d17dac07e349234e21b97/ConfigArgParse-1.7-py3-none-any.whl", hash = "sha256:d249da6591465c6c26df64a9f73d2536e743be2f244eb3ebe61114af2f94f86b", size = 25489, upload-time = "2023-07-23T16:20:03.27Z" },
]
[[package]]
@@ -360,97 +360,97 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "numpy" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/11/a3/48ddc7ae832b000952cf4be64452381d150a41a2299c2eb19237168528d1/contourpy-1.2.0.tar.gz", hash = "sha256:171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a", size = 13455881, upload_time = "2023-11-03T17:01:03.144Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/11/a3/48ddc7ae832b000952cf4be64452381d150a41a2299c2eb19237168528d1/contourpy-1.2.0.tar.gz", hash = "sha256:171f311cb758de7da13fc53af221ae47a5877be5a0843a9fe150818c51ed276a", size = 13455881, upload-time = "2023-11-03T17:01:03.144Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/e8/ea/f6e90933d82cc5aacf52f886a1c01f47f96eba99108ca2929c7b3ef45f82/contourpy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0274c1cb63625972c0c007ab14dd9ba9e199c36ae1a231ce45d725cbcbfd10a8", size = 256873, upload_time = "2023-11-03T16:56:34.548Z" },
- { url = "https://files.pythonhosted.org/packages/fe/26/43821d61b7ee62c1809ec852bc572aaf4c27f101ebcebbbcce29a5ee0445/contourpy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab459a1cbbf18e8698399c595a01f6dcc5c138220ca3ea9e7e6126232d102bb4", size = 242211, upload_time = "2023-11-03T16:56:38.028Z" },
- { url = "https://files.pythonhosted.org/packages/9b/99/c8fb63072a7573fe7682e1786a021f29f9c5f660a3aafcdce80b9ee8348d/contourpy-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdd887f17c2f4572ce548461e4f96396681212d858cae7bd52ba3310bc6f00f", size = 293195, upload_time = "2023-11-03T16:56:41.598Z" },
- { url = "https://files.pythonhosted.org/packages/c7/a7/ae0b4bb8e0c865270d02ee619981413996dc10ddf1fd2689c938173ff62f/contourpy-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d16edfc3fc09968e09ddffada434b3bf989bf4911535e04eada58469873e28e", size = 332279, upload_time = "2023-11-03T16:56:46.08Z" },
- { url = "https://files.pythonhosted.org/packages/94/7c/682228b9085ff323fb7e946fe139072e5f21b71360cf91f36ea079d4ea95/contourpy-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c203f617abc0dde5792beb586f827021069fb6d403d7f4d5c2b543d87edceb9", size = 305326, upload_time = "2023-11-03T16:56:49.647Z" },
- { url = "https://files.pythonhosted.org/packages/58/56/e2c43dcfa1f9c7db4d5e3d6f5134b24ed953f4e2133a4b12f0062148db58/contourpy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b69303ceb2e4d4f146bf82fda78891ef7bcd80c41bf16bfca3d0d7eb545448aa", size = 310732, upload_time = "2023-11-03T16:56:53.773Z" },
- { url = "https://files.pythonhosted.org/packages/94/0b/8495c4582057abc8377f945f6e11a86f1c07ad7b32fd4fdc968478cd0324/contourpy-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:884c3f9d42d7218304bc74a8a7693d172685c84bd7ab2bab1ee567b769696df9", size = 803420, upload_time = "2023-11-03T16:57:00.669Z" },
- { url = "https://files.pythonhosted.org/packages/d5/1f/40399c7da649297147d404aedaa675cc60018f48ad284630c0d1406133e3/contourpy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4a1b1208102be6e851f20066bf0e7a96b7d48a07c9b0cfe6d0d4545c2f6cadab", size = 829204, upload_time = "2023-11-03T16:57:07.813Z" },
- { url = "https://files.pythonhosted.org/packages/8b/01/4be433b60dce7cbce8315cbcdfc016e7d25430a8b94e272355dff79cc3a8/contourpy-1.2.0-cp310-cp310-win32.whl", hash = "sha256:34b9071c040d6fe45d9826cbbe3727d20d83f1b6110d219b83eb0e2a01d79488", size = 165434, upload_time = "2023-11-03T16:57:10.601Z" },
- { url = "https://files.pythonhosted.org/packages/fd/7c/168f8343f33d861305e18c56901ef1bb675d3c7f977f435ec72751a71a54/contourpy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:bd2f1ae63998da104f16a8b788f685e55d65760cd1929518fd94cd682bf03e41", size = 186652, upload_time = "2023-11-03T16:57:13.57Z" },
- { url = "https://files.pythonhosted.org/packages/9b/54/1dafec3c84df1d29119037330f7289db84a679cb2d5283af4ef24d89f532/contourpy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dd10c26b4eadae44783c45ad6655220426f971c61d9b239e6f7b16d5cdaaa727", size = 258243, upload_time = "2023-11-03T16:57:16.604Z" },
- { url = "https://files.pythonhosted.org/packages/5b/ac/26fa1057f62beaa2af4c55c6ac733b114a403b746cfe0ce3dc6e4aec921a/contourpy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c6b28956b7b232ae801406e529ad7b350d3f09a4fde958dfdf3c0520cdde0dd", size = 243408, upload_time = "2023-11-03T16:57:20.021Z" },
- { url = "https://files.pythonhosted.org/packages/b7/33/cd0ecc80123f499d76d2fe2807cb4d5638ef8730735c580c8a8a03e1928e/contourpy-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebeac59e9e1eb4b84940d076d9f9a6cec0064e241818bcb6e32124cc5c3e377a", size = 294142, upload_time = "2023-11-03T16:57:23.48Z" },
- { url = "https://files.pythonhosted.org/packages/6d/75/1b7bf20bf6394e01df2c4b4b3d44d3dc280c16ddaff72724639100bd4314/contourpy-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:139d8d2e1c1dd52d78682f505e980f592ba53c9f73bd6be102233e358b401063", size = 333129, upload_time = "2023-11-03T16:57:27.141Z" },
- { url = "https://files.pythonhosted.org/packages/22/5b/fedd961dff1877e5d3b83c5201295cfdcdc2438884c2851aa7ecf6cec045/contourpy-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e9dc350fb4c58adc64df3e0703ab076f60aac06e67d48b3848c23647ae4310e", size = 307461, upload_time = "2023-11-03T16:57:30.537Z" },
- { url = "https://files.pythonhosted.org/packages/e2/83/29a63bbc72839cc6b24b5a0e3d004d4ed4e8439f26460ad9a34e39251904/contourpy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18fc2b4ed8e4a8fe849d18dce4bd3c7ea637758c6343a1f2bae1e9bd4c9f4686", size = 313352, upload_time = "2023-11-03T16:57:34.937Z" },
- { url = "https://files.pythonhosted.org/packages/4b/c7/4bac0fc4f1e802ab47e75076d83d2e1448e0668ba6cc9000cf4e9d5bd94a/contourpy-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:16a7380e943a6d52472096cb7ad5264ecee36ed60888e2a3d3814991a0107286", size = 804127, upload_time = "2023-11-03T16:57:42.201Z" },
- { url = "https://files.pythonhosted.org/packages/e3/47/b3fd5bdc2f6ec13502d57a5bc390ffe62648605ed1689c93b0015150a784/contourpy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8d8faf05be5ec8e02a4d86f616fc2a0322ff4a4ce26c0f09d9f7fb5330a35c95", size = 829561, upload_time = "2023-11-03T16:57:49.667Z" },
- { url = "https://files.pythonhosted.org/packages/5c/04/be16038e754169caea4d02d82f8e5cd97dece593e5ac9e05735da0afd0c5/contourpy-1.2.0-cp311-cp311-win32.whl", hash = "sha256:67b7f17679fa62ec82b7e3e611c43a016b887bd64fb933b3ae8638583006c6d6", size = 166197, upload_time = "2023-11-03T16:57:52.682Z" },
- { url = "https://files.pythonhosted.org/packages/ca/2a/d197a412ec474391ee878b1218cf2fe9c6e963903755887fc5654c06636a/contourpy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:99ad97258985328b4f207a5e777c1b44a83bfe7cf1f87b99f9c11d4ee477c4de", size = 187556, upload_time = "2023-11-03T16:57:55.286Z" },
- { url = "https://files.pythonhosted.org/packages/4f/03/839da46999173226bead08794cbd7b4d37c9e6b02686ca74c93556b43258/contourpy-1.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:575bcaf957a25d1194903a10bc9f316c136c19f24e0985a2b9b5608bdf5dbfe0", size = 259253, upload_time = "2023-11-03T16:57:58.572Z" },
- { url = "https://files.pythonhosted.org/packages/f3/9e/8fb3f53144269d3fecdd8786d3a4686eeff55b9b35a3c0772a3f62f71e36/contourpy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9e6c93b5b2dbcedad20a2f18ec22cae47da0d705d454308063421a3b290d9ea4", size = 242555, upload_time = "2023-11-03T16:58:01.48Z" },
- { url = "https://files.pythonhosted.org/packages/a6/85/9815ccb5a18ee8c9a46bd5ef20d02b292cd4a99c62553f38c87015f16d59/contourpy-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:464b423bc2a009088f19bdf1f232299e8b6917963e2b7e1d277da5041f33a779", size = 288108, upload_time = "2023-11-03T16:58:05.546Z" },
- { url = "https://files.pythonhosted.org/packages/5a/d9/4df5c26bd0f496c8cd7940fd53db95d07deeb98518f02f805ce570590da8/contourpy-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68ce4788b7d93e47f84edd3f1f95acdcd142ae60bc0e5493bfd120683d2d4316", size = 330810, upload_time = "2023-11-03T16:58:09.568Z" },
- { url = "https://files.pythonhosted.org/packages/67/d4/8aae9793a0cfde72959312521ebd3aa635c260c3d580448e8db6bdcdd1aa/contourpy-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d7d1f8871998cdff5d2ff6a087e5e1780139abe2838e85b0b46b7ae6cc25399", size = 305290, upload_time = "2023-11-03T16:58:13.017Z" },
- { url = "https://files.pythonhosted.org/packages/20/84/ffddcdcc579cbf7213fd92a3578ca08a931a3bf879a22deb5a83ffc5002c/contourpy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e739530c662a8d6d42c37c2ed52a6f0932c2d4a3e8c1f90692ad0ce1274abe0", size = 303937, upload_time = "2023-11-03T16:58:16.426Z" },
- { url = "https://files.pythonhosted.org/packages/d8/ad/6e570cf525f909da94559ed716189f92f529bc7b5f78645733c44619a0e2/contourpy-1.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:247b9d16535acaa766d03037d8e8fb20866d054d3c7fbf6fd1f993f11fc60ca0", size = 801977, upload_time = "2023-11-03T16:58:23.539Z" },
- { url = "https://files.pythonhosted.org/packages/36/b4/55f23482c596eca36d16fc668b147865c56fcf90353f4c57f073d8d5e532/contourpy-1.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:461e3ae84cd90b30f8d533f07d87c00379644205b1d33a5ea03381edc4b69431", size = 827442, upload_time = "2023-11-03T16:58:30.724Z" },
- { url = "https://files.pythonhosted.org/packages/e9/47/9c081b1f11d6053cb0aa4c46b7de2ea2849a4a8d40de81c7bc3f99773b02/contourpy-1.2.0-cp312-cp312-win32.whl", hash = "sha256:1c2559d6cffc94890b0529ea7eeecc20d6fadc1539273aa27faf503eb4656d8f", size = 165363, upload_time = "2023-11-03T16:58:33.54Z" },
- { url = "https://files.pythonhosted.org/packages/8e/ae/a6353db548bff1a592b85ae6bb80275f0a51dc25a0410d059e5b33183e36/contourpy-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:491b1917afdd8638a05b611a56d46587d5a632cabead889a5440f7c638bc6ed9", size = 187731, upload_time = "2023-11-03T16:58:36.585Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/ea/f6e90933d82cc5aacf52f886a1c01f47f96eba99108ca2929c7b3ef45f82/contourpy-1.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0274c1cb63625972c0c007ab14dd9ba9e199c36ae1a231ce45d725cbcbfd10a8", size = 256873, upload-time = "2023-11-03T16:56:34.548Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/26/43821d61b7ee62c1809ec852bc572aaf4c27f101ebcebbbcce29a5ee0445/contourpy-1.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab459a1cbbf18e8698399c595a01f6dcc5c138220ca3ea9e7e6126232d102bb4", size = 242211, upload-time = "2023-11-03T16:56:38.028Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/99/c8fb63072a7573fe7682e1786a021f29f9c5f660a3aafcdce80b9ee8348d/contourpy-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdd887f17c2f4572ce548461e4f96396681212d858cae7bd52ba3310bc6f00f", size = 293195, upload-time = "2023-11-03T16:56:41.598Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/a7/ae0b4bb8e0c865270d02ee619981413996dc10ddf1fd2689c938173ff62f/contourpy-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d16edfc3fc09968e09ddffada434b3bf989bf4911535e04eada58469873e28e", size = 332279, upload-time = "2023-11-03T16:56:46.08Z" },
+ { url = "https://files.pythonhosted.org/packages/94/7c/682228b9085ff323fb7e946fe139072e5f21b71360cf91f36ea079d4ea95/contourpy-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c203f617abc0dde5792beb586f827021069fb6d403d7f4d5c2b543d87edceb9", size = 305326, upload-time = "2023-11-03T16:56:49.647Z" },
+ { url = "https://files.pythonhosted.org/packages/58/56/e2c43dcfa1f9c7db4d5e3d6f5134b24ed953f4e2133a4b12f0062148db58/contourpy-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b69303ceb2e4d4f146bf82fda78891ef7bcd80c41bf16bfca3d0d7eb545448aa", size = 310732, upload-time = "2023-11-03T16:56:53.773Z" },
+ { url = "https://files.pythonhosted.org/packages/94/0b/8495c4582057abc8377f945f6e11a86f1c07ad7b32fd4fdc968478cd0324/contourpy-1.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:884c3f9d42d7218304bc74a8a7693d172685c84bd7ab2bab1ee567b769696df9", size = 803420, upload-time = "2023-11-03T16:57:00.669Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/1f/40399c7da649297147d404aedaa675cc60018f48ad284630c0d1406133e3/contourpy-1.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4a1b1208102be6e851f20066bf0e7a96b7d48a07c9b0cfe6d0d4545c2f6cadab", size = 829204, upload-time = "2023-11-03T16:57:07.813Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/01/4be433b60dce7cbce8315cbcdfc016e7d25430a8b94e272355dff79cc3a8/contourpy-1.2.0-cp310-cp310-win32.whl", hash = "sha256:34b9071c040d6fe45d9826cbbe3727d20d83f1b6110d219b83eb0e2a01d79488", size = 165434, upload-time = "2023-11-03T16:57:10.601Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/7c/168f8343f33d861305e18c56901ef1bb675d3c7f977f435ec72751a71a54/contourpy-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:bd2f1ae63998da104f16a8b788f685e55d65760cd1929518fd94cd682bf03e41", size = 186652, upload-time = "2023-11-03T16:57:13.57Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/54/1dafec3c84df1d29119037330f7289db84a679cb2d5283af4ef24d89f532/contourpy-1.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:dd10c26b4eadae44783c45ad6655220426f971c61d9b239e6f7b16d5cdaaa727", size = 258243, upload-time = "2023-11-03T16:57:16.604Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/ac/26fa1057f62beaa2af4c55c6ac733b114a403b746cfe0ce3dc6e4aec921a/contourpy-1.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c6b28956b7b232ae801406e529ad7b350d3f09a4fde958dfdf3c0520cdde0dd", size = 243408, upload-time = "2023-11-03T16:57:20.021Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/33/cd0ecc80123f499d76d2fe2807cb4d5638ef8730735c580c8a8a03e1928e/contourpy-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebeac59e9e1eb4b84940d076d9f9a6cec0064e241818bcb6e32124cc5c3e377a", size = 294142, upload-time = "2023-11-03T16:57:23.48Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/75/1b7bf20bf6394e01df2c4b4b3d44d3dc280c16ddaff72724639100bd4314/contourpy-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:139d8d2e1c1dd52d78682f505e980f592ba53c9f73bd6be102233e358b401063", size = 333129, upload-time = "2023-11-03T16:57:27.141Z" },
+ { url = "https://files.pythonhosted.org/packages/22/5b/fedd961dff1877e5d3b83c5201295cfdcdc2438884c2851aa7ecf6cec045/contourpy-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1e9dc350fb4c58adc64df3e0703ab076f60aac06e67d48b3848c23647ae4310e", size = 307461, upload-time = "2023-11-03T16:57:30.537Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/83/29a63bbc72839cc6b24b5a0e3d004d4ed4e8439f26460ad9a34e39251904/contourpy-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18fc2b4ed8e4a8fe849d18dce4bd3c7ea637758c6343a1f2bae1e9bd4c9f4686", size = 313352, upload-time = "2023-11-03T16:57:34.937Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/c7/4bac0fc4f1e802ab47e75076d83d2e1448e0668ba6cc9000cf4e9d5bd94a/contourpy-1.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:16a7380e943a6d52472096cb7ad5264ecee36ed60888e2a3d3814991a0107286", size = 804127, upload-time = "2023-11-03T16:57:42.201Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/47/b3fd5bdc2f6ec13502d57a5bc390ffe62648605ed1689c93b0015150a784/contourpy-1.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8d8faf05be5ec8e02a4d86f616fc2a0322ff4a4ce26c0f09d9f7fb5330a35c95", size = 829561, upload-time = "2023-11-03T16:57:49.667Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/04/be16038e754169caea4d02d82f8e5cd97dece593e5ac9e05735da0afd0c5/contourpy-1.2.0-cp311-cp311-win32.whl", hash = "sha256:67b7f17679fa62ec82b7e3e611c43a016b887bd64fb933b3ae8638583006c6d6", size = 166197, upload-time = "2023-11-03T16:57:52.682Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/2a/d197a412ec474391ee878b1218cf2fe9c6e963903755887fc5654c06636a/contourpy-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:99ad97258985328b4f207a5e777c1b44a83bfe7cf1f87b99f9c11d4ee477c4de", size = 187556, upload-time = "2023-11-03T16:57:55.286Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/03/839da46999173226bead08794cbd7b4d37c9e6b02686ca74c93556b43258/contourpy-1.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:575bcaf957a25d1194903a10bc9f316c136c19f24e0985a2b9b5608bdf5dbfe0", size = 259253, upload-time = "2023-11-03T16:57:58.572Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/9e/8fb3f53144269d3fecdd8786d3a4686eeff55b9b35a3c0772a3f62f71e36/contourpy-1.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9e6c93b5b2dbcedad20a2f18ec22cae47da0d705d454308063421a3b290d9ea4", size = 242555, upload-time = "2023-11-03T16:58:01.48Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/85/9815ccb5a18ee8c9a46bd5ef20d02b292cd4a99c62553f38c87015f16d59/contourpy-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:464b423bc2a009088f19bdf1f232299e8b6917963e2b7e1d277da5041f33a779", size = 288108, upload-time = "2023-11-03T16:58:05.546Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/d9/4df5c26bd0f496c8cd7940fd53db95d07deeb98518f02f805ce570590da8/contourpy-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68ce4788b7d93e47f84edd3f1f95acdcd142ae60bc0e5493bfd120683d2d4316", size = 330810, upload-time = "2023-11-03T16:58:09.568Z" },
+ { url = "https://files.pythonhosted.org/packages/67/d4/8aae9793a0cfde72959312521ebd3aa635c260c3d580448e8db6bdcdd1aa/contourpy-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d7d1f8871998cdff5d2ff6a087e5e1780139abe2838e85b0b46b7ae6cc25399", size = 305290, upload-time = "2023-11-03T16:58:13.017Z" },
+ { url = "https://files.pythonhosted.org/packages/20/84/ffddcdcc579cbf7213fd92a3578ca08a931a3bf879a22deb5a83ffc5002c/contourpy-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e739530c662a8d6d42c37c2ed52a6f0932c2d4a3e8c1f90692ad0ce1274abe0", size = 303937, upload-time = "2023-11-03T16:58:16.426Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/ad/6e570cf525f909da94559ed716189f92f529bc7b5f78645733c44619a0e2/contourpy-1.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:247b9d16535acaa766d03037d8e8fb20866d054d3c7fbf6fd1f993f11fc60ca0", size = 801977, upload-time = "2023-11-03T16:58:23.539Z" },
+ { url = "https://files.pythonhosted.org/packages/36/b4/55f23482c596eca36d16fc668b147865c56fcf90353f4c57f073d8d5e532/contourpy-1.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:461e3ae84cd90b30f8d533f07d87c00379644205b1d33a5ea03381edc4b69431", size = 827442, upload-time = "2023-11-03T16:58:30.724Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/47/9c081b1f11d6053cb0aa4c46b7de2ea2849a4a8d40de81c7bc3f99773b02/contourpy-1.2.0-cp312-cp312-win32.whl", hash = "sha256:1c2559d6cffc94890b0529ea7eeecc20d6fadc1539273aa27faf503eb4656d8f", size = 165363, upload-time = "2023-11-03T16:58:33.54Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/ae/a6353db548bff1a592b85ae6bb80275f0a51dc25a0410d059e5b33183e36/contourpy-1.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:491b1917afdd8638a05b611a56d46587d5a632cabead889a5440f7c638bc6ed9", size = 187731, upload-time = "2023-11-03T16:58:36.585Z" },
]
[[package]]
name = "coverage"
version = "7.6.4"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/52/12/3669b6382792783e92046730ad3327f53b2726f0603f4c311c4da4824222/coverage-7.6.4.tar.gz", hash = "sha256:29fc0f17b1d3fea332f8001d4558f8214af7f1d87a345f3a133c901d60347c73", size = 798716, upload_time = "2024-10-20T22:57:39.682Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/52/12/3669b6382792783e92046730ad3327f53b2726f0603f4c311c4da4824222/coverage-7.6.4.tar.gz", hash = "sha256:29fc0f17b1d3fea332f8001d4558f8214af7f1d87a345f3a133c901d60347c73", size = 798716, upload-time = "2024-10-20T22:57:39.682Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a5/93/4ad92f71e28ece5c0326e5f4a6630aa4928a8846654a65cfff69b49b95b9/coverage-7.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f8ae553cba74085db385d489c7a792ad66f7f9ba2ee85bfa508aeb84cf0ba07", size = 206713, upload_time = "2024-10-20T22:56:03.877Z" },
- { url = "https://files.pythonhosted.org/packages/01/ae/747a580b1eda3f2e431d87de48f0604bd7bc92e52a1a95185a4aa585bc47/coverage-7.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8165b796df0bd42e10527a3f493c592ba494f16ef3c8b531288e3d0d72c1f6f0", size = 207149, upload_time = "2024-10-20T22:56:06.511Z" },
- { url = "https://files.pythonhosted.org/packages/07/1a/1f573f8a6145f6d4c9130bbc120e0024daf1b24cf2a78d7393fa6eb6aba7/coverage-7.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c8b95bf47db6d19096a5e052ffca0a05f335bc63cef281a6e8fe864d450a72", size = 235584, upload_time = "2024-10-20T22:56:07.678Z" },
- { url = "https://files.pythonhosted.org/packages/40/42/c8523f2e4db34aa9389caee0d3688b6ada7a84fcc782e943a868a7f302bd/coverage-7.6.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ed9281d1b52628e81393f5eaee24a45cbd64965f41857559c2b7ff19385df51", size = 233486, upload_time = "2024-10-20T22:56:09.496Z" },
- { url = "https://files.pythonhosted.org/packages/8d/95/565c310fffa16ede1a042e9ea1ca3962af0d8eb5543bc72df6b91dc0c3d5/coverage-7.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0809082ee480bb8f7416507538243c8863ac74fd8a5d2485c46f0f7499f2b491", size = 234649, upload_time = "2024-10-20T22:56:11.326Z" },
- { url = "https://files.pythonhosted.org/packages/d5/81/3b550674d98968ec29c92e3e8650682be6c8b1fa7581a059e7e12e74c431/coverage-7.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d541423cdd416b78626b55f123412fcf979d22a2c39fce251b350de38c15c15b", size = 233744, upload_time = "2024-10-20T22:56:12.481Z" },
- { url = "https://files.pythonhosted.org/packages/0d/70/d66c7f51b3e33aabc5ea9f9624c1c9d9655472962270eb5e7b0d32707224/coverage-7.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58809e238a8a12a625c70450b48e8767cff9eb67c62e6154a642b21ddf79baea", size = 232204, upload_time = "2024-10-20T22:56:14.236Z" },
- { url = "https://files.pythonhosted.org/packages/23/2d/2b3a2dbed7a5f40693404c8a09e779d7c1a5fbed089d3e7224c002129ec8/coverage-7.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c9b8e184898ed014884ca84c70562b4a82cbc63b044d366fedc68bc2b2f3394a", size = 233335, upload_time = "2024-10-20T22:56:15.521Z" },
- { url = "https://files.pythonhosted.org/packages/5a/4f/92d1d2ad720d698a4e71c176eacf531bfb8e0721d5ad560556f2c484a513/coverage-7.6.4-cp310-cp310-win32.whl", hash = "sha256:6bd818b7ea14bc6e1f06e241e8234508b21edf1b242d49831831a9450e2f35fa", size = 209435, upload_time = "2024-10-20T22:56:17.309Z" },
- { url = "https://files.pythonhosted.org/packages/c7/b9/cdf158e7991e2287bcf9082670928badb73d310047facac203ff8dcd5ff3/coverage-7.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:06babbb8f4e74b063dbaeb74ad68dfce9186c595a15f11f5d5683f748fa1d172", size = 210243, upload_time = "2024-10-20T22:56:18.366Z" },
- { url = "https://files.pythonhosted.org/packages/87/31/9c0cf84f0dfcbe4215b7eb95c31777cdc0483c13390e69584c8150c85175/coverage-7.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73d2b73584446e66ee633eaad1a56aad577c077f46c35ca3283cd687b7715b0b", size = 206819, upload_time = "2024-10-20T22:56:20.132Z" },
- { url = "https://files.pythonhosted.org/packages/53/ed/a38401079ad320ad6e054a01ec2b61d270511aeb3c201c80e99c841229d5/coverage-7.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51b44306032045b383a7a8a2c13878de375117946d68dcb54308111f39775a25", size = 207263, upload_time = "2024-10-20T22:56:21.88Z" },
- { url = "https://files.pythonhosted.org/packages/20/e7/c3ad33b179ab4213f0d70da25a9c214d52464efa11caeab438592eb1d837/coverage-7.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3fb02fe73bed561fa12d279a417b432e5b50fe03e8d663d61b3d5990f29546", size = 239205, upload_time = "2024-10-20T22:56:23.03Z" },
- { url = "https://files.pythonhosted.org/packages/36/91/fc02e8d8e694f557752120487fd982f654ba1421bbaa5560debf96ddceda/coverage-7.6.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed8fe9189d2beb6edc14d3ad19800626e1d9f2d975e436f84e19efb7fa19469b", size = 236612, upload_time = "2024-10-20T22:56:24.882Z" },
- { url = "https://files.pythonhosted.org/packages/cc/57/cb08f0eda0389a9a8aaa4fc1f9fec7ac361c3e2d68efd5890d7042c18aa3/coverage-7.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b369ead6527d025a0fe7bd3864e46dbee3aa8f652d48df6174f8d0bac9e26e0e", size = 238479, upload_time = "2024-10-20T22:56:26.749Z" },
- { url = "https://files.pythonhosted.org/packages/d5/c9/2c7681a9b3ca6e6f43d489c2e6653a53278ed857fd6e7010490c307b0a47/coverage-7.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ade3ca1e5f0ff46b678b66201f7ff477e8fa11fb537f3b55c3f0568fbfe6e718", size = 237405, upload_time = "2024-10-20T22:56:27.958Z" },
- { url = "https://files.pythonhosted.org/packages/b5/4e/ebfc6944b96317df8b537ae875d2e57c27b84eb98820bc0a1055f358f056/coverage-7.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:27fb4a050aaf18772db513091c9c13f6cb94ed40eacdef8dad8411d92d9992db", size = 236038, upload_time = "2024-10-20T22:56:29.816Z" },
- { url = "https://files.pythonhosted.org/packages/13/f2/3a0bf1841a97c0654905e2ef531170f02c89fad2555879db8fe41a097871/coverage-7.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4f704f0998911abf728a7783799444fcbbe8261c4a6c166f667937ae6a8aa522", size = 236812, upload_time = "2024-10-20T22:56:31.654Z" },
- { url = "https://files.pythonhosted.org/packages/b9/9c/66bf59226b52ce6ed9541b02d33e80a6e816a832558fbdc1111a7bd3abd4/coverage-7.6.4-cp311-cp311-win32.whl", hash = "sha256:29155cd511ee058e260db648b6182c419422a0d2e9a4fa44501898cf918866cf", size = 209400, upload_time = "2024-10-20T22:56:33.569Z" },
- { url = "https://files.pythonhosted.org/packages/2a/a0/b0790934c04dfc8d658d4a62acb8f7ca0efdf3818456fcad757b11c6479d/coverage-7.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:8902dd6a30173d4ef09954bfcb24b5d7b5190cf14a43170e386979651e09ba19", size = 210243, upload_time = "2024-10-20T22:56:34.863Z" },
- { url = "https://files.pythonhosted.org/packages/7d/e7/9291de916d084f41adddfd4b82246e68d61d6a75747f075f7e64628998d2/coverage-7.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12394842a3a8affa3ba62b0d4ab7e9e210c5e366fbac3e8b2a68636fb19892c2", size = 207013, upload_time = "2024-10-20T22:56:36.034Z" },
- { url = "https://files.pythonhosted.org/packages/27/03/932c2c5717a7fa80cd43c6a07d3177076d97b79f12f40f882f9916db0063/coverage-7.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2b6b4c83d8e8ea79f27ab80778c19bc037759aea298da4b56621f4474ffeb117", size = 207251, upload_time = "2024-10-20T22:56:38.054Z" },
- { url = "https://files.pythonhosted.org/packages/d5/3f/0af47dcb9327f65a45455fbca846fe96eb57c153af46c4754a3ba678938a/coverage-7.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d5b8007f81b88696d06f7df0cb9af0d3b835fe0c8dbf489bad70b45f0e45613", size = 240268, upload_time = "2024-10-20T22:56:40.051Z" },
- { url = "https://files.pythonhosted.org/packages/8a/3c/37a9d81bbd4b23bc7d46ca820e16174c613579c66342faa390a271d2e18b/coverage-7.6.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b57b768feb866f44eeed9f46975f3d6406380275c5ddfe22f531a2bf187eda27", size = 237298, upload_time = "2024-10-20T22:56:41.929Z" },
- { url = "https://files.pythonhosted.org/packages/c0/70/6b0627e5bd68204ee580126ed3513140b2298995c1233bd67404b4e44d0e/coverage-7.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5915fcdec0e54ee229926868e9b08586376cae1f5faa9bbaf8faf3561b393d52", size = 239367, upload_time = "2024-10-20T22:56:43.141Z" },
- { url = "https://files.pythonhosted.org/packages/3c/eb/634d7dfab24ac3b790bebaf9da0f4a5352cbc125ce6a9d5c6cf4c6cae3c7/coverage-7.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b58c672d14f16ed92a48db984612f5ce3836ae7d72cdd161001cc54512571f2", size = 238853, upload_time = "2024-10-20T22:56:44.33Z" },
- { url = "https://files.pythonhosted.org/packages/d9/0d/8e3ed00f1266ef7472a4e33458f42e39492e01a64281084fb3043553d3f1/coverage-7.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2fdef0d83a2d08d69b1f2210a93c416d54e14d9eb398f6ab2f0a209433db19e1", size = 237160, upload_time = "2024-10-20T22:56:46.258Z" },
- { url = "https://files.pythonhosted.org/packages/ce/9c/4337f468ef0ab7a2e0887a9c9da0e58e2eada6fc6cbee637a4acd5dfd8a9/coverage-7.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8cf717ee42012be8c0cb205dbbf18ffa9003c4cbf4ad078db47b95e10748eec5", size = 238824, upload_time = "2024-10-20T22:56:48.666Z" },
- { url = "https://files.pythonhosted.org/packages/5e/09/3e94912b8dd37251377bb02727a33a67ee96b84bbbe092f132b401ca5dd9/coverage-7.6.4-cp312-cp312-win32.whl", hash = "sha256:7bb92c539a624cf86296dd0c68cd5cc286c9eef2d0c3b8b192b604ce9de20a17", size = 209639, upload_time = "2024-10-20T22:56:50.664Z" },
- { url = "https://files.pythonhosted.org/packages/01/69/d4f3a4101171f32bc5b3caec8ff94c2c60f700107a6aaef7244b2c166793/coverage-7.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:1032e178b76a4e2b5b32e19d0fd0abbce4b58e77a1ca695820d10e491fa32b08", size = 210428, upload_time = "2024-10-20T22:56:52.468Z" },
- { url = "https://files.pythonhosted.org/packages/c2/4d/2dede4f7cb5a70fb0bb40a57627fddf1dbdc6b9c1db81f7c4dcdcb19e2f4/coverage-7.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:023bf8ee3ec6d35af9c1c6ccc1d18fa69afa1cb29eaac57cb064dbb262a517f9", size = 207039, upload_time = "2024-10-20T22:56:53.656Z" },
- { url = "https://files.pythonhosted.org/packages/3f/f9/d86368ae8c79e28f1fb458ebc76ae9ff3e8bd8069adc24e8f2fed03c58b7/coverage-7.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0ac3d42cb51c4b12df9c5f0dd2f13a4f24f01943627120ec4d293c9181219ba", size = 207298, upload_time = "2024-10-20T22:56:54.979Z" },
- { url = "https://files.pythonhosted.org/packages/64/c5/b4cc3c3f64622c58fbfd4d8b9a7a8ce9d355f172f91fcabbba1f026852f6/coverage-7.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8fe4984b431f8621ca53d9380901f62bfb54ff759a1348cd140490ada7b693c", size = 239813, upload_time = "2024-10-20T22:56:56.209Z" },
- { url = "https://files.pythonhosted.org/packages/8a/86/14c42e60b70a79b26099e4d289ccdfefbc68624d096f4481163085aa614c/coverage-7.6.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fbd612f8a091954a0c8dd4c0b571b973487277d26476f8480bfa4b2a65b5d06", size = 236959, upload_time = "2024-10-20T22:56:58.06Z" },
- { url = "https://files.pythonhosted.org/packages/7f/f8/4436a643631a2fbab4b44d54f515028f6099bfb1cd95b13cfbf701e7f2f2/coverage-7.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dacbc52de979f2823a819571f2e3a350a7e36b8cb7484cdb1e289bceaf35305f", size = 238950, upload_time = "2024-10-20T22:56:59.329Z" },
- { url = "https://files.pythonhosted.org/packages/49/50/1571810ddd01f99a0a8be464a4ac8b147f322cd1e8e296a1528984fc560b/coverage-7.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dab4d16dfef34b185032580e2f2f89253d302facba093d5fa9dbe04f569c4f4b", size = 238610, upload_time = "2024-10-20T22:57:00.645Z" },
- { url = "https://files.pythonhosted.org/packages/f3/8c/6312d241fe7cbd1f0cade34a62fea6f333d1a261255d76b9a87074d8703c/coverage-7.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:862264b12ebb65ad8d863d51f17758b1684560b66ab02770d4f0baf2ff75da21", size = 236697, upload_time = "2024-10-20T22:57:01.944Z" },
- { url = "https://files.pythonhosted.org/packages/ce/5f/fef33dfd05d87ee9030f614c857deb6df6556b8f6a1c51bbbb41e24ee5ac/coverage-7.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5beb1ee382ad32afe424097de57134175fea3faf847b9af002cc7895be4e2a5a", size = 238541, upload_time = "2024-10-20T22:57:03.848Z" },
- { url = "https://files.pythonhosted.org/packages/a9/64/6a984b6e92e1ea1353b7ffa08e27f707a5e29b044622445859200f541e8c/coverage-7.6.4-cp313-cp313-win32.whl", hash = "sha256:bf20494da9653f6410213424f5f8ad0ed885e01f7e8e59811f572bdb20b8972e", size = 209707, upload_time = "2024-10-20T22:57:05.123Z" },
- { url = "https://files.pythonhosted.org/packages/5c/60/ce5a9e942e9543783b3db5d942e0578b391c25cdd5e7f342d854ea83d6b7/coverage-7.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:182e6cd5c040cec0a1c8d415a87b67ed01193ed9ad458ee427741c7d8513d963", size = 210439, upload_time = "2024-10-20T22:57:06.35Z" },
- { url = "https://files.pythonhosted.org/packages/78/53/6719677e92c308207e7f10561a1b16ab8b5c00e9328efc9af7cfd6fb703e/coverage-7.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a181e99301a0ae128493a24cfe5cfb5b488c4e0bf2f8702091473d033494d04f", size = 207784, upload_time = "2024-10-20T22:57:07.857Z" },
- { url = "https://files.pythonhosted.org/packages/fa/dd/7054928930671fcb39ae6a83bb71d9ab5f0afb733172543ced4b09a115ca/coverage-7.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:df57bdbeffe694e7842092c5e2e0bc80fff7f43379d465f932ef36f027179806", size = 208058, upload_time = "2024-10-20T22:57:09.845Z" },
- { url = "https://files.pythonhosted.org/packages/b5/7d/fd656ddc2b38301927b9eb3aae3fe827e7aa82e691923ed43721fd9423c9/coverage-7.6.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bcd1069e710600e8e4cf27f65c90c7843fa8edfb4520fb0ccb88894cad08b11", size = 250772, upload_time = "2024-10-20T22:57:11.147Z" },
- { url = "https://files.pythonhosted.org/packages/90/d0/eb9a3cc2100b83064bb086f18aedde3afffd7de6ead28f69736c00b7f302/coverage-7.6.4-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99b41d18e6b2a48ba949418db48159d7a2e81c5cc290fc934b7d2380515bd0e3", size = 246490, upload_time = "2024-10-20T22:57:13.02Z" },
- { url = "https://files.pythonhosted.org/packages/45/44/3f64f38f6faab8a0cfd2c6bc6eb4c6daead246b97cf5f8fc23bf3788f841/coverage-7.6.4-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1e54712ba3474f34b7ef7a41e65bd9037ad47916ccb1cc78769bae324c01a", size = 248848, upload_time = "2024-10-20T22:57:14.927Z" },
- { url = "https://files.pythonhosted.org/packages/5d/11/4c465a5f98656821e499f4b4619929bd5a34639c466021740ecdca42aa30/coverage-7.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53d202fd109416ce011578f321460795abfe10bb901b883cafd9b3ef851bacfc", size = 248340, upload_time = "2024-10-20T22:57:16.246Z" },
- { url = "https://files.pythonhosted.org/packages/f1/96/ebecda2d016cce9da812f404f720ca5df83c6b29f65dc80d2000d0078741/coverage-7.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:c48167910a8f644671de9f2083a23630fbf7a1cb70ce939440cd3328e0919f70", size = 246229, upload_time = "2024-10-20T22:57:17.546Z" },
- { url = "https://files.pythonhosted.org/packages/16/d9/3d820c00066ae55d69e6d0eae11d6149a5ca7546de469ba9d597f01bf2d7/coverage-7.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cc8ff50b50ce532de2fa7a7daae9dd12f0a699bfcd47f20945364e5c31799fef", size = 247510, upload_time = "2024-10-20T22:57:18.925Z" },
- { url = "https://files.pythonhosted.org/packages/8f/c3/4fa1eb412bb288ff6bfcc163c11700ff06e02c5fad8513817186e460ed43/coverage-7.6.4-cp313-cp313t-win32.whl", hash = "sha256:b8d3a03d9bfcaf5b0141d07a88456bb6a4c3ce55c080712fec8418ef3610230e", size = 210353, upload_time = "2024-10-20T22:57:20.891Z" },
- { url = "https://files.pythonhosted.org/packages/7e/77/03fc2979d1538884d921c2013075917fc927f41cd8526909852fe4494112/coverage-7.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:f3ddf056d3ebcf6ce47bdaf56142af51bb7fad09e4af310241e9db7a3a8022e1", size = 211502, upload_time = "2024-10-20T22:57:22.21Z" },
- { url = "https://files.pythonhosted.org/packages/cc/56/e1d75e8981a2a92c2a777e67c26efa96c66da59d645423146eb9ff3a851b/coverage-7.6.4-pp39.pp310-none-any.whl", hash = "sha256:3c65d37f3a9ebb703e710befdc489a38683a5b152242664b973a7b7b22348a4e", size = 198954, upload_time = "2024-10-20T22:57:38.28Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/93/4ad92f71e28ece5c0326e5f4a6630aa4928a8846654a65cfff69b49b95b9/coverage-7.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f8ae553cba74085db385d489c7a792ad66f7f9ba2ee85bfa508aeb84cf0ba07", size = 206713, upload-time = "2024-10-20T22:56:03.877Z" },
+ { url = "https://files.pythonhosted.org/packages/01/ae/747a580b1eda3f2e431d87de48f0604bd7bc92e52a1a95185a4aa585bc47/coverage-7.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8165b796df0bd42e10527a3f493c592ba494f16ef3c8b531288e3d0d72c1f6f0", size = 207149, upload-time = "2024-10-20T22:56:06.511Z" },
+ { url = "https://files.pythonhosted.org/packages/07/1a/1f573f8a6145f6d4c9130bbc120e0024daf1b24cf2a78d7393fa6eb6aba7/coverage-7.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c8b95bf47db6d19096a5e052ffca0a05f335bc63cef281a6e8fe864d450a72", size = 235584, upload-time = "2024-10-20T22:56:07.678Z" },
+ { url = "https://files.pythonhosted.org/packages/40/42/c8523f2e4db34aa9389caee0d3688b6ada7a84fcc782e943a868a7f302bd/coverage-7.6.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ed9281d1b52628e81393f5eaee24a45cbd64965f41857559c2b7ff19385df51", size = 233486, upload-time = "2024-10-20T22:56:09.496Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/95/565c310fffa16ede1a042e9ea1ca3962af0d8eb5543bc72df6b91dc0c3d5/coverage-7.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0809082ee480bb8f7416507538243c8863ac74fd8a5d2485c46f0f7499f2b491", size = 234649, upload-time = "2024-10-20T22:56:11.326Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/81/3b550674d98968ec29c92e3e8650682be6c8b1fa7581a059e7e12e74c431/coverage-7.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d541423cdd416b78626b55f123412fcf979d22a2c39fce251b350de38c15c15b", size = 233744, upload-time = "2024-10-20T22:56:12.481Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/70/d66c7f51b3e33aabc5ea9f9624c1c9d9655472962270eb5e7b0d32707224/coverage-7.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58809e238a8a12a625c70450b48e8767cff9eb67c62e6154a642b21ddf79baea", size = 232204, upload-time = "2024-10-20T22:56:14.236Z" },
+ { url = "https://files.pythonhosted.org/packages/23/2d/2b3a2dbed7a5f40693404c8a09e779d7c1a5fbed089d3e7224c002129ec8/coverage-7.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c9b8e184898ed014884ca84c70562b4a82cbc63b044d366fedc68bc2b2f3394a", size = 233335, upload-time = "2024-10-20T22:56:15.521Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/4f/92d1d2ad720d698a4e71c176eacf531bfb8e0721d5ad560556f2c484a513/coverage-7.6.4-cp310-cp310-win32.whl", hash = "sha256:6bd818b7ea14bc6e1f06e241e8234508b21edf1b242d49831831a9450e2f35fa", size = 209435, upload-time = "2024-10-20T22:56:17.309Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/b9/cdf158e7991e2287bcf9082670928badb73d310047facac203ff8dcd5ff3/coverage-7.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:06babbb8f4e74b063dbaeb74ad68dfce9186c595a15f11f5d5683f748fa1d172", size = 210243, upload-time = "2024-10-20T22:56:18.366Z" },
+ { url = "https://files.pythonhosted.org/packages/87/31/9c0cf84f0dfcbe4215b7eb95c31777cdc0483c13390e69584c8150c85175/coverage-7.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73d2b73584446e66ee633eaad1a56aad577c077f46c35ca3283cd687b7715b0b", size = 206819, upload-time = "2024-10-20T22:56:20.132Z" },
+ { url = "https://files.pythonhosted.org/packages/53/ed/a38401079ad320ad6e054a01ec2b61d270511aeb3c201c80e99c841229d5/coverage-7.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:51b44306032045b383a7a8a2c13878de375117946d68dcb54308111f39775a25", size = 207263, upload-time = "2024-10-20T22:56:21.88Z" },
+ { url = "https://files.pythonhosted.org/packages/20/e7/c3ad33b179ab4213f0d70da25a9c214d52464efa11caeab438592eb1d837/coverage-7.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b3fb02fe73bed561fa12d279a417b432e5b50fe03e8d663d61b3d5990f29546", size = 239205, upload-time = "2024-10-20T22:56:23.03Z" },
+ { url = "https://files.pythonhosted.org/packages/36/91/fc02e8d8e694f557752120487fd982f654ba1421bbaa5560debf96ddceda/coverage-7.6.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed8fe9189d2beb6edc14d3ad19800626e1d9f2d975e436f84e19efb7fa19469b", size = 236612, upload-time = "2024-10-20T22:56:24.882Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/57/cb08f0eda0389a9a8aaa4fc1f9fec7ac361c3e2d68efd5890d7042c18aa3/coverage-7.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b369ead6527d025a0fe7bd3864e46dbee3aa8f652d48df6174f8d0bac9e26e0e", size = 238479, upload-time = "2024-10-20T22:56:26.749Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/c9/2c7681a9b3ca6e6f43d489c2e6653a53278ed857fd6e7010490c307b0a47/coverage-7.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ade3ca1e5f0ff46b678b66201f7ff477e8fa11fb537f3b55c3f0568fbfe6e718", size = 237405, upload-time = "2024-10-20T22:56:27.958Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/4e/ebfc6944b96317df8b537ae875d2e57c27b84eb98820bc0a1055f358f056/coverage-7.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:27fb4a050aaf18772db513091c9c13f6cb94ed40eacdef8dad8411d92d9992db", size = 236038, upload-time = "2024-10-20T22:56:29.816Z" },
+ { url = "https://files.pythonhosted.org/packages/13/f2/3a0bf1841a97c0654905e2ef531170f02c89fad2555879db8fe41a097871/coverage-7.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4f704f0998911abf728a7783799444fcbbe8261c4a6c166f667937ae6a8aa522", size = 236812, upload-time = "2024-10-20T22:56:31.654Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/9c/66bf59226b52ce6ed9541b02d33e80a6e816a832558fbdc1111a7bd3abd4/coverage-7.6.4-cp311-cp311-win32.whl", hash = "sha256:29155cd511ee058e260db648b6182c419422a0d2e9a4fa44501898cf918866cf", size = 209400, upload-time = "2024-10-20T22:56:33.569Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/a0/b0790934c04dfc8d658d4a62acb8f7ca0efdf3818456fcad757b11c6479d/coverage-7.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:8902dd6a30173d4ef09954bfcb24b5d7b5190cf14a43170e386979651e09ba19", size = 210243, upload-time = "2024-10-20T22:56:34.863Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/e7/9291de916d084f41adddfd4b82246e68d61d6a75747f075f7e64628998d2/coverage-7.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:12394842a3a8affa3ba62b0d4ab7e9e210c5e366fbac3e8b2a68636fb19892c2", size = 207013, upload-time = "2024-10-20T22:56:36.034Z" },
+ { url = "https://files.pythonhosted.org/packages/27/03/932c2c5717a7fa80cd43c6a07d3177076d97b79f12f40f882f9916db0063/coverage-7.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2b6b4c83d8e8ea79f27ab80778c19bc037759aea298da4b56621f4474ffeb117", size = 207251, upload-time = "2024-10-20T22:56:38.054Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/3f/0af47dcb9327f65a45455fbca846fe96eb57c153af46c4754a3ba678938a/coverage-7.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d5b8007f81b88696d06f7df0cb9af0d3b835fe0c8dbf489bad70b45f0e45613", size = 240268, upload-time = "2024-10-20T22:56:40.051Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/3c/37a9d81bbd4b23bc7d46ca820e16174c613579c66342faa390a271d2e18b/coverage-7.6.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b57b768feb866f44eeed9f46975f3d6406380275c5ddfe22f531a2bf187eda27", size = 237298, upload-time = "2024-10-20T22:56:41.929Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/70/6b0627e5bd68204ee580126ed3513140b2298995c1233bd67404b4e44d0e/coverage-7.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5915fcdec0e54ee229926868e9b08586376cae1f5faa9bbaf8faf3561b393d52", size = 239367, upload-time = "2024-10-20T22:56:43.141Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/eb/634d7dfab24ac3b790bebaf9da0f4a5352cbc125ce6a9d5c6cf4c6cae3c7/coverage-7.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b58c672d14f16ed92a48db984612f5ce3836ae7d72cdd161001cc54512571f2", size = 238853, upload-time = "2024-10-20T22:56:44.33Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/0d/8e3ed00f1266ef7472a4e33458f42e39492e01a64281084fb3043553d3f1/coverage-7.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2fdef0d83a2d08d69b1f2210a93c416d54e14d9eb398f6ab2f0a209433db19e1", size = 237160, upload-time = "2024-10-20T22:56:46.258Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/9c/4337f468ef0ab7a2e0887a9c9da0e58e2eada6fc6cbee637a4acd5dfd8a9/coverage-7.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8cf717ee42012be8c0cb205dbbf18ffa9003c4cbf4ad078db47b95e10748eec5", size = 238824, upload-time = "2024-10-20T22:56:48.666Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/09/3e94912b8dd37251377bb02727a33a67ee96b84bbbe092f132b401ca5dd9/coverage-7.6.4-cp312-cp312-win32.whl", hash = "sha256:7bb92c539a624cf86296dd0c68cd5cc286c9eef2d0c3b8b192b604ce9de20a17", size = 209639, upload-time = "2024-10-20T22:56:50.664Z" },
+ { url = "https://files.pythonhosted.org/packages/01/69/d4f3a4101171f32bc5b3caec8ff94c2c60f700107a6aaef7244b2c166793/coverage-7.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:1032e178b76a4e2b5b32e19d0fd0abbce4b58e77a1ca695820d10e491fa32b08", size = 210428, upload-time = "2024-10-20T22:56:52.468Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/4d/2dede4f7cb5a70fb0bb40a57627fddf1dbdc6b9c1db81f7c4dcdcb19e2f4/coverage-7.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:023bf8ee3ec6d35af9c1c6ccc1d18fa69afa1cb29eaac57cb064dbb262a517f9", size = 207039, upload-time = "2024-10-20T22:56:53.656Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/f9/d86368ae8c79e28f1fb458ebc76ae9ff3e8bd8069adc24e8f2fed03c58b7/coverage-7.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b0ac3d42cb51c4b12df9c5f0dd2f13a4f24f01943627120ec4d293c9181219ba", size = 207298, upload-time = "2024-10-20T22:56:54.979Z" },
+ { url = "https://files.pythonhosted.org/packages/64/c5/b4cc3c3f64622c58fbfd4d8b9a7a8ce9d355f172f91fcabbba1f026852f6/coverage-7.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8fe4984b431f8621ca53d9380901f62bfb54ff759a1348cd140490ada7b693c", size = 239813, upload-time = "2024-10-20T22:56:56.209Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/86/14c42e60b70a79b26099e4d289ccdfefbc68624d096f4481163085aa614c/coverage-7.6.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fbd612f8a091954a0c8dd4c0b571b973487277d26476f8480bfa4b2a65b5d06", size = 236959, upload-time = "2024-10-20T22:56:58.06Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/f8/4436a643631a2fbab4b44d54f515028f6099bfb1cd95b13cfbf701e7f2f2/coverage-7.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dacbc52de979f2823a819571f2e3a350a7e36b8cb7484cdb1e289bceaf35305f", size = 238950, upload-time = "2024-10-20T22:56:59.329Z" },
+ { url = "https://files.pythonhosted.org/packages/49/50/1571810ddd01f99a0a8be464a4ac8b147f322cd1e8e296a1528984fc560b/coverage-7.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dab4d16dfef34b185032580e2f2f89253d302facba093d5fa9dbe04f569c4f4b", size = 238610, upload-time = "2024-10-20T22:57:00.645Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/8c/6312d241fe7cbd1f0cade34a62fea6f333d1a261255d76b9a87074d8703c/coverage-7.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:862264b12ebb65ad8d863d51f17758b1684560b66ab02770d4f0baf2ff75da21", size = 236697, upload-time = "2024-10-20T22:57:01.944Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/5f/fef33dfd05d87ee9030f614c857deb6df6556b8f6a1c51bbbb41e24ee5ac/coverage-7.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5beb1ee382ad32afe424097de57134175fea3faf847b9af002cc7895be4e2a5a", size = 238541, upload-time = "2024-10-20T22:57:03.848Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/64/6a984b6e92e1ea1353b7ffa08e27f707a5e29b044622445859200f541e8c/coverage-7.6.4-cp313-cp313-win32.whl", hash = "sha256:bf20494da9653f6410213424f5f8ad0ed885e01f7e8e59811f572bdb20b8972e", size = 209707, upload-time = "2024-10-20T22:57:05.123Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/60/ce5a9e942e9543783b3db5d942e0578b391c25cdd5e7f342d854ea83d6b7/coverage-7.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:182e6cd5c040cec0a1c8d415a87b67ed01193ed9ad458ee427741c7d8513d963", size = 210439, upload-time = "2024-10-20T22:57:06.35Z" },
+ { url = "https://files.pythonhosted.org/packages/78/53/6719677e92c308207e7f10561a1b16ab8b5c00e9328efc9af7cfd6fb703e/coverage-7.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a181e99301a0ae128493a24cfe5cfb5b488c4e0bf2f8702091473d033494d04f", size = 207784, upload-time = "2024-10-20T22:57:07.857Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/dd/7054928930671fcb39ae6a83bb71d9ab5f0afb733172543ced4b09a115ca/coverage-7.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:df57bdbeffe694e7842092c5e2e0bc80fff7f43379d465f932ef36f027179806", size = 208058, upload-time = "2024-10-20T22:57:09.845Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/7d/fd656ddc2b38301927b9eb3aae3fe827e7aa82e691923ed43721fd9423c9/coverage-7.6.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0bcd1069e710600e8e4cf27f65c90c7843fa8edfb4520fb0ccb88894cad08b11", size = 250772, upload-time = "2024-10-20T22:57:11.147Z" },
+ { url = "https://files.pythonhosted.org/packages/90/d0/eb9a3cc2100b83064bb086f18aedde3afffd7de6ead28f69736c00b7f302/coverage-7.6.4-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99b41d18e6b2a48ba949418db48159d7a2e81c5cc290fc934b7d2380515bd0e3", size = 246490, upload-time = "2024-10-20T22:57:13.02Z" },
+ { url = "https://files.pythonhosted.org/packages/45/44/3f64f38f6faab8a0cfd2c6bc6eb4c6daead246b97cf5f8fc23bf3788f841/coverage-7.6.4-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1e54712ba3474f34b7ef7a41e65bd9037ad47916ccb1cc78769bae324c01a", size = 248848, upload-time = "2024-10-20T22:57:14.927Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/11/4c465a5f98656821e499f4b4619929bd5a34639c466021740ecdca42aa30/coverage-7.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:53d202fd109416ce011578f321460795abfe10bb901b883cafd9b3ef851bacfc", size = 248340, upload-time = "2024-10-20T22:57:16.246Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/96/ebecda2d016cce9da812f404f720ca5df83c6b29f65dc80d2000d0078741/coverage-7.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:c48167910a8f644671de9f2083a23630fbf7a1cb70ce939440cd3328e0919f70", size = 246229, upload-time = "2024-10-20T22:57:17.546Z" },
+ { url = "https://files.pythonhosted.org/packages/16/d9/3d820c00066ae55d69e6d0eae11d6149a5ca7546de469ba9d597f01bf2d7/coverage-7.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cc8ff50b50ce532de2fa7a7daae9dd12f0a699bfcd47f20945364e5c31799fef", size = 247510, upload-time = "2024-10-20T22:57:18.925Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/c3/4fa1eb412bb288ff6bfcc163c11700ff06e02c5fad8513817186e460ed43/coverage-7.6.4-cp313-cp313t-win32.whl", hash = "sha256:b8d3a03d9bfcaf5b0141d07a88456bb6a4c3ce55c080712fec8418ef3610230e", size = 210353, upload-time = "2024-10-20T22:57:20.891Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/77/03fc2979d1538884d921c2013075917fc927f41cd8526909852fe4494112/coverage-7.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:f3ddf056d3ebcf6ce47bdaf56142af51bb7fad09e4af310241e9db7a3a8022e1", size = 211502, upload-time = "2024-10-20T22:57:22.21Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/56/e1d75e8981a2a92c2a777e67c26efa96c66da59d645423146eb9ff3a851b/coverage-7.6.4-pp39.pp310-none-any.whl", hash = "sha256:3c65d37f3a9ebb703e710befdc489a38683a5b152242664b973a7b7b22348a4e", size = 198954, upload-time = "2024-10-20T22:57:38.28Z" },
]
[package.optional-dependencies]
@@ -462,57 +462,57 @@ toml = [
name = "cycler"
version = "0.12.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload_time = "2023-10-07T05:32:18.335Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload_time = "2023-10-07T05:32:16.783Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" },
]
[[package]]
name = "cython"
version = "3.0.8"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/68/09/ffb61f29b8e3d207c444032b21328327d753e274ea081bc74e009827cc81/Cython-3.0.8.tar.gz", hash = "sha256:8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6", size = 2744096, upload_time = "2024-01-10T11:01:02.155Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/68/09/ffb61f29b8e3d207c444032b21328327d753e274ea081bc74e009827cc81/Cython-3.0.8.tar.gz", hash = "sha256:8333423d8fd5765e7cceea3a9985dd1e0a5dfeb2734629e1a2ed2d6233d39de6", size = 2744096, upload-time = "2024-01-10T11:01:02.155Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/63/f4/d2542e186fe33ec1cc542770fb17466421ed54f4ffe04d00fe9549d0a467/Cython-3.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a846e0a38e2b24e9a5c5dc74b0e54c6e29420d88d1dafabc99e0fc0f3e338636", size = 3100459, upload_time = "2024-01-10T11:33:49.545Z" },
- { url = "https://files.pythonhosted.org/packages/fc/27/2652f395aa708fb3081148e0df3ab700bd7288636c65332ef7febad6a380/Cython-3.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45523fdc2b78d79b32834cc1cc12dc2ca8967af87e22a3ee1bff20e77c7f5520", size = 3456626, upload_time = "2024-01-10T11:01:44.897Z" },
- { url = "https://files.pythonhosted.org/packages/f9/bd/e8a1d26d04c08a67bcc383f2ea5493a4e77f37a8770ead00a238b08ad729/Cython-3.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa0b7f3f841fe087410cab66778e2d3fb20ae2d2078a2be3dffe66c6574be39", size = 3621379, upload_time = "2024-01-10T11:01:48.777Z" },
- { url = "https://files.pythonhosted.org/packages/03/ae/ead7ec03d0062d439879d41b7830e4f2480213f7beabf2f7052a191cc6f7/Cython-3.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e87294e33e40c289c77a135f491cd721bd089f193f956f7b8ed5aa2d0b8c558f", size = 3671873, upload_time = "2024-01-10T11:01:51.858Z" },
- { url = "https://files.pythonhosted.org/packages/63/b0/81dad725604d7b529c492f873a7fa1b5800704a9f26e100ed25e9fd8d057/Cython-3.0.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a1df7a129344b1215c20096d33c00193437df1a8fcca25b71f17c23b1a44f782", size = 3463832, upload_time = "2024-01-10T11:01:55.364Z" },
- { url = "https://files.pythonhosted.org/packages/13/cd/72b8e0af597ac1b376421847acf6d6fa252e60059a2a00dcf05ceb16d28f/Cython-3.0.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:13c2a5e57a0358da467d97667297bf820b62a1a87ae47c5f87938b9bb593acbd", size = 3618325, upload_time = "2024-01-10T11:01:59.03Z" },
- { url = "https://files.pythonhosted.org/packages/ef/73/11a4355d8b8966504c751e5bcb25916c4140de27bb2ba1b54ff21994d7fe/Cython-3.0.8-cp310-cp310-win32.whl", hash = "sha256:96b028f044f5880e3cb18ecdcfc6c8d3ce9d0af28418d5ab464509f26d8adf12", size = 2571305, upload_time = "2024-01-10T11:02:02.589Z" },
- { url = "https://files.pythonhosted.org/packages/18/15/fdc0c3552d20f9337b134a36d786da24e47998fc39f62cb61c1534f26123/Cython-3.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:8140597a8b5cc4f119a1190f5a2228a84f5ca6d8d9ec386cfce24663f48b2539", size = 2776113, upload_time = "2024-01-10T11:02:05.581Z" },
- { url = "https://files.pythonhosted.org/packages/db/a7/f4a0bc9a80e23b380daa2ebb4879bf434aaa0b3b91f7ad8a7f9762b4bd1b/Cython-3.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aae26f9663e50caf9657148403d9874eea41770ecdd6caf381d177c2b1bb82ba", size = 3113615, upload_time = "2024-01-10T11:34:05.899Z" },
- { url = "https://files.pythonhosted.org/packages/e9/e9/e9295df74246c165b91253a473bfa179debf739c9bee961cbb3ae56c2b79/Cython-3.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:547eb3cdb2f8c6f48e6865d5a741d9dd051c25b3ce076fbca571727977b28ac3", size = 3436320, upload_time = "2024-01-10T11:02:08.689Z" },
- { url = "https://files.pythonhosted.org/packages/26/2c/6a887c957aa53e44f928119dea628a5dfacc8e875424034f5fecac9daba4/Cython-3.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a567d4b9ba70b26db89d75b243529de9e649a2f56384287533cf91512705bee", size = 3591755, upload_time = "2024-01-10T11:02:11.773Z" },
- { url = "https://files.pythonhosted.org/packages/ba/b8/f9c97bae6281da50b3ecb1f7fef0f7f7851eae084609b364717a2b366bf1/Cython-3.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51d1426263b0e82fb22bda8ea60dc77a428581cc19e97741011b938445d383f1", size = 3636099, upload_time = "2024-01-10T11:02:15.191Z" },
- { url = "https://files.pythonhosted.org/packages/17/ae/cd055c2c081c67a6fcad1d8d17d82bd6395b14c6741e3a938f40318c8bc5/Cython-3.0.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c26daaeccda072459b48d211415fd1e5507c06bcd976fa0d5b8b9f1063467d7b", size = 3458119, upload_time = "2024-01-10T11:02:19.103Z" },
- { url = "https://files.pythonhosted.org/packages/72/ab/ac6f5548d6194f4bb2fc8c6c996aa7369f0fa1403e4d4de787d9e9309b27/Cython-3.0.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:289ce7838208211cd166e975865fd73b0649bf118170b6cebaedfbdaf4a37795", size = 3614418, upload_time = "2024-01-10T11:02:22.732Z" },
- { url = "https://files.pythonhosted.org/packages/70/e2/3e3e448b7a94887bec3235bcb71957b6681dc42b4536459f8f54d46fa936/Cython-3.0.8-cp311-cp311-win32.whl", hash = "sha256:c8aa05f5e17f8042a3be052c24f2edc013fb8af874b0bf76907d16c51b4e7871", size = 2572819, upload_time = "2024-01-10T11:02:25.976Z" },
- { url = "https://files.pythonhosted.org/packages/85/7d/58635941dfbb5b4e197adb88080b9cbfb230dc3b75683698a530a1989bdb/Cython-3.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:000dc9e135d0eec6ecb2b40a5b02d0868a2f8d2e027a41b0fe16a908a9e6de02", size = 2784167, upload_time = "2024-01-10T11:02:28.808Z" },
- { url = "https://files.pythonhosted.org/packages/3d/8e/28f8c6109990eef7317ab7e43644092b49a88a39f9373dcd19318946df09/Cython-3.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:90d3fe31db55685d8cb97d43b0ec39ef614fcf660f83c77ed06aa670cb0e164f", size = 3135638, upload_time = "2024-01-10T11:34:22.889Z" },
- { url = "https://files.pythonhosted.org/packages/83/1f/4720cb682b8ed1ab9749dea35351a66dd29b6a022628cce038415660c384/Cython-3.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e24791ddae2324e88e3c902a765595c738f19ae34ee66bfb1a6dac54b1833419", size = 3340052, upload_time = "2024-01-10T11:02:32.471Z" },
- { url = "https://files.pythonhosted.org/packages/8a/47/ec3fceb9e8f7d6fa130216b8740038e1df7c8e5f215bba363fcf1272a6c1/Cython-3.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f020fa1c0552052e0660790b8153b79e3fc9a15dbd8f1d0b841fe5d204a6ae6", size = 3510079, upload_time = "2024-01-10T11:02:35.312Z" },
- { url = "https://files.pythonhosted.org/packages/71/31/b458127851e248effb909e2791b55870914863cde7c60b94db5ee65d7867/Cython-3.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18bfa387d7a7f77d7b2526af69a65dbd0b731b8d941aaff5becff8e21f6d7717", size = 3573972, upload_time = "2024-01-10T11:02:39.044Z" },
- { url = "https://files.pythonhosted.org/packages/6b/d5/ca6513844d0634abd05ba12304053a454bb70441a9520afa9897d4300156/Cython-3.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fe81b339cffd87c0069c6049b4d33e28bdd1874625ee515785bf42c9fdff3658", size = 3356158, upload_time = "2024-01-10T11:02:42.125Z" },
- { url = "https://files.pythonhosted.org/packages/33/59/98a87b6264f4ad45c820db13c4ec657567476efde020c49443cc842a86af/Cython-3.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:80fd94c076e1e1b1ee40a309be03080b75f413e8997cddcf401a118879863388", size = 3522312, upload_time = "2024-01-10T11:02:45.056Z" },
- { url = "https://files.pythonhosted.org/packages/2b/cb/132115d07a0b9d4f075e0741db70a5416b424dcd875b2bb0dd805e818222/Cython-3.0.8-cp312-cp312-win32.whl", hash = "sha256:85077915a93e359a9b920280d214dc0cf8a62773e1f3d7d30fab8ea4daed670c", size = 2602579, upload_time = "2024-01-10T11:02:48.368Z" },
- { url = "https://files.pythonhosted.org/packages/b4/69/cb4620287cd9ef461103e122c0a2ae7f7ecf183e02510676fb5a15c95b05/Cython-3.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:0cb2dcc565c7851f75d496f724a384a790fab12d1b82461b663e66605bec429a", size = 2791268, upload_time = "2024-01-10T11:02:51.483Z" },
- { url = "https://files.pythonhosted.org/packages/e3/7f/f584f5d15323feb897d42ef0e9d910649e2150d7a30cf7e7a8cc1d236e6f/Cython-3.0.8-py2.py3-none-any.whl", hash = "sha256:171b27051253d3f9108e9759e504ba59ff06e7f7ba944457f94deaf9c21bf0b6", size = 1168213, upload_time = "2024-01-10T11:00:56.857Z" },
+ { url = "https://files.pythonhosted.org/packages/63/f4/d2542e186fe33ec1cc542770fb17466421ed54f4ffe04d00fe9549d0a467/Cython-3.0.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a846e0a38e2b24e9a5c5dc74b0e54c6e29420d88d1dafabc99e0fc0f3e338636", size = 3100459, upload-time = "2024-01-10T11:33:49.545Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/27/2652f395aa708fb3081148e0df3ab700bd7288636c65332ef7febad6a380/Cython-3.0.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45523fdc2b78d79b32834cc1cc12dc2ca8967af87e22a3ee1bff20e77c7f5520", size = 3456626, upload-time = "2024-01-10T11:01:44.897Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/bd/e8a1d26d04c08a67bcc383f2ea5493a4e77f37a8770ead00a238b08ad729/Cython-3.0.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa0b7f3f841fe087410cab66778e2d3fb20ae2d2078a2be3dffe66c6574be39", size = 3621379, upload-time = "2024-01-10T11:01:48.777Z" },
+ { url = "https://files.pythonhosted.org/packages/03/ae/ead7ec03d0062d439879d41b7830e4f2480213f7beabf2f7052a191cc6f7/Cython-3.0.8-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e87294e33e40c289c77a135f491cd721bd089f193f956f7b8ed5aa2d0b8c558f", size = 3671873, upload-time = "2024-01-10T11:01:51.858Z" },
+ { url = "https://files.pythonhosted.org/packages/63/b0/81dad725604d7b529c492f873a7fa1b5800704a9f26e100ed25e9fd8d057/Cython-3.0.8-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a1df7a129344b1215c20096d33c00193437df1a8fcca25b71f17c23b1a44f782", size = 3463832, upload-time = "2024-01-10T11:01:55.364Z" },
+ { url = "https://files.pythonhosted.org/packages/13/cd/72b8e0af597ac1b376421847acf6d6fa252e60059a2a00dcf05ceb16d28f/Cython-3.0.8-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:13c2a5e57a0358da467d97667297bf820b62a1a87ae47c5f87938b9bb593acbd", size = 3618325, upload-time = "2024-01-10T11:01:59.03Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/73/11a4355d8b8966504c751e5bcb25916c4140de27bb2ba1b54ff21994d7fe/Cython-3.0.8-cp310-cp310-win32.whl", hash = "sha256:96b028f044f5880e3cb18ecdcfc6c8d3ce9d0af28418d5ab464509f26d8adf12", size = 2571305, upload-time = "2024-01-10T11:02:02.589Z" },
+ { url = "https://files.pythonhosted.org/packages/18/15/fdc0c3552d20f9337b134a36d786da24e47998fc39f62cb61c1534f26123/Cython-3.0.8-cp310-cp310-win_amd64.whl", hash = "sha256:8140597a8b5cc4f119a1190f5a2228a84f5ca6d8d9ec386cfce24663f48b2539", size = 2776113, upload-time = "2024-01-10T11:02:05.581Z" },
+ { url = "https://files.pythonhosted.org/packages/db/a7/f4a0bc9a80e23b380daa2ebb4879bf434aaa0b3b91f7ad8a7f9762b4bd1b/Cython-3.0.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aae26f9663e50caf9657148403d9874eea41770ecdd6caf381d177c2b1bb82ba", size = 3113615, upload-time = "2024-01-10T11:34:05.899Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/e9/e9295df74246c165b91253a473bfa179debf739c9bee961cbb3ae56c2b79/Cython-3.0.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:547eb3cdb2f8c6f48e6865d5a741d9dd051c25b3ce076fbca571727977b28ac3", size = 3436320, upload-time = "2024-01-10T11:02:08.689Z" },
+ { url = "https://files.pythonhosted.org/packages/26/2c/6a887c957aa53e44f928119dea628a5dfacc8e875424034f5fecac9daba4/Cython-3.0.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a567d4b9ba70b26db89d75b243529de9e649a2f56384287533cf91512705bee", size = 3591755, upload-time = "2024-01-10T11:02:11.773Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/b8/f9c97bae6281da50b3ecb1f7fef0f7f7851eae084609b364717a2b366bf1/Cython-3.0.8-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51d1426263b0e82fb22bda8ea60dc77a428581cc19e97741011b938445d383f1", size = 3636099, upload-time = "2024-01-10T11:02:15.191Z" },
+ { url = "https://files.pythonhosted.org/packages/17/ae/cd055c2c081c67a6fcad1d8d17d82bd6395b14c6741e3a938f40318c8bc5/Cython-3.0.8-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c26daaeccda072459b48d211415fd1e5507c06bcd976fa0d5b8b9f1063467d7b", size = 3458119, upload-time = "2024-01-10T11:02:19.103Z" },
+ { url = "https://files.pythonhosted.org/packages/72/ab/ac6f5548d6194f4bb2fc8c6c996aa7369f0fa1403e4d4de787d9e9309b27/Cython-3.0.8-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:289ce7838208211cd166e975865fd73b0649bf118170b6cebaedfbdaf4a37795", size = 3614418, upload-time = "2024-01-10T11:02:22.732Z" },
+ { url = "https://files.pythonhosted.org/packages/70/e2/3e3e448b7a94887bec3235bcb71957b6681dc42b4536459f8f54d46fa936/Cython-3.0.8-cp311-cp311-win32.whl", hash = "sha256:c8aa05f5e17f8042a3be052c24f2edc013fb8af874b0bf76907d16c51b4e7871", size = 2572819, upload-time = "2024-01-10T11:02:25.976Z" },
+ { url = "https://files.pythonhosted.org/packages/85/7d/58635941dfbb5b4e197adb88080b9cbfb230dc3b75683698a530a1989bdb/Cython-3.0.8-cp311-cp311-win_amd64.whl", hash = "sha256:000dc9e135d0eec6ecb2b40a5b02d0868a2f8d2e027a41b0fe16a908a9e6de02", size = 2784167, upload-time = "2024-01-10T11:02:28.808Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/8e/28f8c6109990eef7317ab7e43644092b49a88a39f9373dcd19318946df09/Cython-3.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:90d3fe31db55685d8cb97d43b0ec39ef614fcf660f83c77ed06aa670cb0e164f", size = 3135638, upload-time = "2024-01-10T11:34:22.889Z" },
+ { url = "https://files.pythonhosted.org/packages/83/1f/4720cb682b8ed1ab9749dea35351a66dd29b6a022628cce038415660c384/Cython-3.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e24791ddae2324e88e3c902a765595c738f19ae34ee66bfb1a6dac54b1833419", size = 3340052, upload-time = "2024-01-10T11:02:32.471Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/47/ec3fceb9e8f7d6fa130216b8740038e1df7c8e5f215bba363fcf1272a6c1/Cython-3.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2f020fa1c0552052e0660790b8153b79e3fc9a15dbd8f1d0b841fe5d204a6ae6", size = 3510079, upload-time = "2024-01-10T11:02:35.312Z" },
+ { url = "https://files.pythonhosted.org/packages/71/31/b458127851e248effb909e2791b55870914863cde7c60b94db5ee65d7867/Cython-3.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18bfa387d7a7f77d7b2526af69a65dbd0b731b8d941aaff5becff8e21f6d7717", size = 3573972, upload-time = "2024-01-10T11:02:39.044Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/d5/ca6513844d0634abd05ba12304053a454bb70441a9520afa9897d4300156/Cython-3.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fe81b339cffd87c0069c6049b4d33e28bdd1874625ee515785bf42c9fdff3658", size = 3356158, upload-time = "2024-01-10T11:02:42.125Z" },
+ { url = "https://files.pythonhosted.org/packages/33/59/98a87b6264f4ad45c820db13c4ec657567476efde020c49443cc842a86af/Cython-3.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:80fd94c076e1e1b1ee40a309be03080b75f413e8997cddcf401a118879863388", size = 3522312, upload-time = "2024-01-10T11:02:45.056Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/cb/132115d07a0b9d4f075e0741db70a5416b424dcd875b2bb0dd805e818222/Cython-3.0.8-cp312-cp312-win32.whl", hash = "sha256:85077915a93e359a9b920280d214dc0cf8a62773e1f3d7d30fab8ea4daed670c", size = 2602579, upload-time = "2024-01-10T11:02:48.368Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/69/cb4620287cd9ef461103e122c0a2ae7f7ecf183e02510676fb5a15c95b05/Cython-3.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:0cb2dcc565c7851f75d496f724a384a790fab12d1b82461b663e66605bec429a", size = 2791268, upload-time = "2024-01-10T11:02:51.483Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/7f/f584f5d15323feb897d42ef0e9d910649e2150d7a30cf7e7a8cc1d236e6f/Cython-3.0.8-py2.py3-none-any.whl", hash = "sha256:171b27051253d3f9108e9759e504ba59ff06e7f7ba944457f94deaf9c21bf0b6", size = 1168213, upload-time = "2024-01-10T11:00:56.857Z" },
]
[[package]]
name = "easydict"
version = "1.11"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/0a/d2/deb3296d08097fedd622d423c0ec8b68b78c1704b3f1545326f6ce05c75c/easydict-1.11.tar.gz", hash = "sha256:dcb1d2ed28eb300c8e46cd371340373abc62f7c14d6dea74fdfc6f1069061c78", size = 6644, upload_time = "2023-10-23T23:01:37.686Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/0a/d2/deb3296d08097fedd622d423c0ec8b68b78c1704b3f1545326f6ce05c75c/easydict-1.11.tar.gz", hash = "sha256:dcb1d2ed28eb300c8e46cd371340373abc62f7c14d6dea74fdfc6f1069061c78", size = 6644, upload-time = "2023-10-23T23:01:37.686Z" }
[[package]]
name = "exceptiongroup"
version = "1.2.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/8e/1c/beef724eaf5b01bb44b6338c8c3494eff7cab376fab4904cfbbc3585dc79/exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68", size = 26264, upload_time = "2023-11-21T08:42:17.407Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/8e/1c/beef724eaf5b01bb44b6338c8c3494eff7cab376fab4904cfbbc3585dc79/exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68", size = 26264, upload-time = "2023-11-21T08:42:17.407Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b8/9a/5028fd52db10e600f1c4674441b968cf2ea4959085bfb5b99fb1250e5f68/exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14", size = 16210, upload_time = "2023-11-21T08:42:15.525Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/9a/5028fd52db10e600f1c4674441b968cf2ea4959085bfb5b99fb1250e5f68/exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14", size = 16210, upload-time = "2023-11-21T08:42:15.525Z" },
]
[[package]]
@@ -524,18 +524,18 @@ dependencies = [
{ name = "starlette" },
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236, upload_time = "2025-03-23T22:55:43.822Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236, upload-time = "2025-03-23T22:55:43.822Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164, upload_time = "2025-03-23T22:55:42.101Z" },
+ { url = "https://files.pythonhosted.org/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164, upload-time = "2025-03-23T22:55:42.101Z" },
]
[[package]]
name = "filelock"
version = "3.13.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/70/70/41905c80dcfe71b22fb06827b8eae65781783d4a14194bce79d16a013263/filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e", size = 14553, upload_time = "2023-10-30T18:29:39.035Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/70/70/41905c80dcfe71b22fb06827b8eae65781783d4a14194bce79d16a013263/filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e", size = 14553, upload-time = "2023-10-30T18:29:39.035Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/81/54/84d42a0bee35edba99dee7b59a8d4970eccdd44b99fe728ed912106fc781/filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c", size = 11740, upload_time = "2023-10-30T18:29:37.267Z" },
+ { url = "https://files.pythonhosted.org/packages/81/54/84d42a0bee35edba99dee7b59a8d4970eccdd44b99fe728ed912106fc781/filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c", size = 11740, upload-time = "2023-10-30T18:29:37.267Z" },
]
[[package]]
@@ -549,9 +549,9 @@ dependencies = [
{ name = "jinja2" },
{ name = "werkzeug" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/d8/09/c1a7354d3925a3c6c8cfdebf4245bae67d633ffda1ba415add06ffc839c5/flask-3.0.0.tar.gz", hash = "sha256:cfadcdb638b609361d29ec22360d6070a77d7463dcb3ab08d2c2f2f168845f58", size = 674171, upload_time = "2023-09-30T14:36:12.918Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/09/c1a7354d3925a3c6c8cfdebf4245bae67d633ffda1ba415add06ffc839c5/flask-3.0.0.tar.gz", hash = "sha256:cfadcdb638b609361d29ec22360d6070a77d7463dcb3ab08d2c2f2f168845f58", size = 674171, upload-time = "2023-09-30T14:36:12.918Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/36/42/015c23096649b908c809c69388a805a571a3bea44362fe87e33fc3afa01f/flask-3.0.0-py3-none-any.whl", hash = "sha256:21128f47e4e3b9d597a3e8521a329bf56909b690fcc3fa3e477725aa81367638", size = 99724, upload_time = "2023-09-30T14:36:10.961Z" },
+ { url = "https://files.pythonhosted.org/packages/36/42/015c23096649b908c809c69388a805a571a3bea44362fe87e33fc3afa01f/flask-3.0.0-py3-none-any.whl", hash = "sha256:21128f47e4e3b9d597a3e8521a329bf56909b690fcc3fa3e477725aa81367638", size = 99724, upload-time = "2023-09-30T14:36:10.961Z" },
]
[[package]]
@@ -561,9 +561,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "flask" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/40/6a/a8d56d60bcfa1ec3e4fdad81b45aafd508c3bd5c244a16526fa29139d7d4/flask_cors-4.0.1.tar.gz", hash = "sha256:eeb69b342142fdbf4766ad99357a7f3876a2ceb77689dc10ff912aac06c389e4", size = 30306, upload_time = "2024-05-04T19:49:43.538Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/40/6a/a8d56d60bcfa1ec3e4fdad81b45aafd508c3bd5c244a16526fa29139d7d4/flask_cors-4.0.1.tar.gz", hash = "sha256:eeb69b342142fdbf4766ad99357a7f3876a2ceb77689dc10ff912aac06c389e4", size = 30306, upload-time = "2024-05-04T19:49:43.538Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/8b/52/2aa6285f104616f73ee1ad7905a16b2b35af0143034ad0cf7b64bcba715c/Flask_Cors-4.0.1-py2.py3-none-any.whl", hash = "sha256:f2a704e4458665580c074b714c4627dd5a306b333deb9074d0b1794dfa2fb677", size = 14290, upload_time = "2024-05-04T19:49:41.721Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/52/2aa6285f104616f73ee1ad7905a16b2b35af0143034ad0cf7b64bcba715c/Flask_Cors-4.0.1-py2.py3-none-any.whl", hash = "sha256:f2a704e4458665580c074b714c4627dd5a306b333deb9074d0b1794dfa2fb677", size = 14290, upload-time = "2024-05-04T19:49:41.721Z" },
]
[[package]]
@@ -574,60 +574,60 @@ dependencies = [
{ name = "flask" },
{ name = "werkzeug" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/c3/6e/2f4e13e373bb49e68c02c51ceadd22d172715a06716f9299d9df01b6ddb2/Flask-Login-0.6.3.tar.gz", hash = "sha256:5e23d14a607ef12806c699590b89d0f0e0d67baeec599d75947bf9c147330333", size = 48834, upload_time = "2023-10-30T14:53:21.151Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c3/6e/2f4e13e373bb49e68c02c51ceadd22d172715a06716f9299d9df01b6ddb2/Flask-Login-0.6.3.tar.gz", hash = "sha256:5e23d14a607ef12806c699590b89d0f0e0d67baeec599d75947bf9c147330333", size = 48834, upload-time = "2023-10-30T14:53:21.151Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/59/f5/67e9cc5c2036f58115f9fe0f00d203cf6780c3ff8ae0e705e7a9d9e8ff9e/Flask_Login-0.6.3-py3-none-any.whl", hash = "sha256:849b25b82a436bf830a054e74214074af59097171562ab10bfa999e6b78aae5d", size = 17303, upload_time = "2023-10-30T14:53:19.636Z" },
+ { url = "https://files.pythonhosted.org/packages/59/f5/67e9cc5c2036f58115f9fe0f00d203cf6780c3ff8ae0e705e7a9d9e8ff9e/Flask_Login-0.6.3-py3-none-any.whl", hash = "sha256:849b25b82a436bf830a054e74214074af59097171562ab10bfa999e6b78aae5d", size = 17303, upload-time = "2023-10-30T14:53:19.636Z" },
]
[[package]]
name = "flatbuffers"
version = "23.5.26"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/0c/6e/3e52cd294d8e7a61e010973cce076a0cb2c6c0dfd4d0b7a13648c1b98329/flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89", size = 22114, upload_time = "2023-05-26T17:35:16.034Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/0c/6e/3e52cd294d8e7a61e010973cce076a0cb2c6c0dfd4d0b7a13648c1b98329/flatbuffers-23.5.26.tar.gz", hash = "sha256:9ea1144cac05ce5d86e2859f431c6cd5e66cd9c78c558317c7955fb8d4c78d89", size = 22114, upload-time = "2023-05-26T17:35:16.034Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6f/12/d5c79ee252793ffe845d58a913197bfa02ae9a0b5c9bc3dc4b58d477b9e7/flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1", size = 26744, upload_time = "2023-05-26T17:35:14.269Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/12/d5c79ee252793ffe845d58a913197bfa02ae9a0b5c9bc3dc4b58d477b9e7/flatbuffers-23.5.26-py2.py3-none-any.whl", hash = "sha256:c0ff356da363087b915fde4b8b45bdda73432fc17cddb3c8157472eab1422ad1", size = 26744, upload-time = "2023-05-26T17:35:14.269Z" },
]
[[package]]
name = "fonttools"
version = "4.47.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/e5/cd/75d24afa673edf92fd04657fad7d3b5e20c4abc3cad5bc14e5e30051c1f0/fonttools-4.47.2.tar.gz", hash = "sha256:7df26dd3650e98ca45f1e29883c96a0b9f5bb6af8d632a6a108bc744fa0bd9b3", size = 3410067, upload_time = "2024-01-11T11:22:45.293Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/e5/cd/75d24afa673edf92fd04657fad7d3b5e20c4abc3cad5bc14e5e30051c1f0/fonttools-4.47.2.tar.gz", hash = "sha256:7df26dd3650e98ca45f1e29883c96a0b9f5bb6af8d632a6a108bc744fa0bd9b3", size = 3410067, upload-time = "2024-01-11T11:22:45.293Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/19/30/02de0b7f3d72f2c4fce3e512b166c1bdbe5a687408474b61eb0114be921c/fonttools-4.47.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3b629108351d25512d4ea1a8393a2dba325b7b7d7308116b605ea3f8e1be88df", size = 2779949, upload_time = "2024-01-11T11:19:56.276Z" },
- { url = "https://files.pythonhosted.org/packages/9a/52/1a5e1373afb78a040ea0c371ab8a79da121060a8e518968bb8f41457ca90/fonttools-4.47.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c19044256c44fe299d9a73456aabee4b4d06c6b930287be93b533b4737d70aa1", size = 2281336, upload_time = "2024-01-11T11:20:08.835Z" },
- { url = "https://files.pythonhosted.org/packages/c5/ce/9d3b5bf51aafee024566ebb374f5b040381d92660cb04647af3c5860c611/fonttools-4.47.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8be28c036b9f186e8c7eaf8a11b42373e7e4949f9e9f370202b9da4c4c3f56c", size = 4541692, upload_time = "2024-01-11T11:20:13.378Z" },
- { url = "https://files.pythonhosted.org/packages/e8/68/af41b7cfd35c7418e17b6a43bb106be4b0f0e5feb405a88dee29b186f2a7/fonttools-4.47.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f83a4daef6d2a202acb9bf572958f91cfde5b10c8ee7fb1d09a4c81e5d851fd8", size = 4600529, upload_time = "2024-01-11T11:20:17.27Z" },
- { url = "https://files.pythonhosted.org/packages/ab/7e/428dbb4cfc342b7a05cbc9d349e134e7fad6588f4ce2a7128e8e3e58ad3b/fonttools-4.47.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4a5a5318ba5365d992666ac4fe35365f93004109d18858a3e18ae46f67907670", size = 4524215, upload_time = "2024-01-11T11:20:21.061Z" },
- { url = "https://files.pythonhosted.org/packages/a6/61/762fad1cc1debc4626f2eb373fa999591c63c231fce53d5073574a639531/fonttools-4.47.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8f57ecd742545362a0f7186774b2d1c53423ed9ece67689c93a1055b236f638c", size = 4584778, upload_time = "2024-01-11T11:20:25.815Z" },
- { url = "https://files.pythonhosted.org/packages/04/30/170ca22284c1d825470e8b5871d6b25d3a70e2f5b185ffb1647d5e11ee4d/fonttools-4.47.2-cp310-cp310-win32.whl", hash = "sha256:a1c154bb85dc9a4cf145250c88d112d88eb414bad81d4cb524d06258dea1bdc0", size = 2131876, upload_time = "2024-01-11T11:20:30.261Z" },
- { url = "https://files.pythonhosted.org/packages/df/07/4a30437bed355b838b8ce31d14c5983334c31adc97e70c6ecff90c60d6d2/fonttools-4.47.2-cp310-cp310-win_amd64.whl", hash = "sha256:3e2b95dce2ead58fb12524d0ca7d63a63459dd489e7e5838c3cd53557f8933e1", size = 2177937, upload_time = "2024-01-11T11:20:33.814Z" },
- { url = "https://files.pythonhosted.org/packages/dd/1d/670372323642eada0f7743cfcdd156de6a28d37769c916421fec2f32c814/fonttools-4.47.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:29495d6d109cdbabe73cfb6f419ce67080c3ef9ea1e08d5750240fd4b0c4763b", size = 2782908, upload_time = "2024-01-11T11:20:37.495Z" },
- { url = "https://files.pythonhosted.org/packages/c1/36/5f0bb863a6575db4c4b67fa9be7f98e4c551dd87638ef327bc180b988998/fonttools-4.47.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0a1d313a415eaaba2b35d6cd33536560deeebd2ed758b9bfb89ab5d97dc5deac", size = 2283501, upload_time = "2024-01-11T11:20:42.027Z" },
- { url = "https://files.pythonhosted.org/packages/bd/1e/95de682a86567426bcc40a56c9b118ffa97de6cbfcc293addf20994e329d/fonttools-4.47.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90f898cdd67f52f18049250a6474185ef6544c91f27a7bee70d87d77a8daf89c", size = 4848039, upload_time = "2024-01-11T11:20:47.038Z" },
- { url = "https://files.pythonhosted.org/packages/ef/95/92a0b5fc844c1db734752f8a51431de519cd6b02e7e561efa9e9fd415544/fonttools-4.47.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3480eeb52770ff75140fe7d9a2ec33fb67b07efea0ab5129c7e0c6a639c40c70", size = 4893166, upload_time = "2024-01-11T11:20:50.855Z" },
- { url = "https://files.pythonhosted.org/packages/ff/e6/ed9dd7ee1afd6cd70eb7237688118fe489dbde962e3765c91c86c095f84b/fonttools-4.47.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0255dbc128fee75fb9be364806b940ed450dd6838672a150d501ee86523ac61e", size = 4815529, upload_time = "2024-01-11T11:20:54.696Z" },
- { url = "https://files.pythonhosted.org/packages/6b/67/cdffa0b3cd8f863b45125c335bbd3d9dc16ec42f5a8d5b64dd1244c5ce6b/fonttools-4.47.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f791446ff297fd5f1e2247c188de53c1bfb9dd7f0549eba55b73a3c2087a2703", size = 4875414, upload_time = "2024-01-11T11:20:58.435Z" },
- { url = "https://files.pythonhosted.org/packages/b8/fb/41638e748c8f20f5483987afcf9be746d3ccb9e9600ca62128a27c791a82/fonttools-4.47.2-cp311-cp311-win32.whl", hash = "sha256:740947906590a878a4bde7dd748e85fefa4d470a268b964748403b3ab2aeed6c", size = 2130073, upload_time = "2024-01-11T11:21:02.056Z" },
- { url = "https://files.pythonhosted.org/packages/a0/ef/93321cf55180a778b4d97919b28739874c0afab90e7b9f5b232db70f47c2/fonttools-4.47.2-cp311-cp311-win_amd64.whl", hash = "sha256:63fbed184979f09a65aa9c88b395ca539c94287ba3a364517698462e13e457c9", size = 2178744, upload_time = "2024-01-11T11:21:05.88Z" },
- { url = "https://files.pythonhosted.org/packages/c0/bd/4dd1e8a9e632f325d9203ce543402f912f26efd213c8d9efec0180fbac64/fonttools-4.47.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4ec558c543609e71b2275c4894e93493f65d2f41c15fe1d089080c1d0bb4d635", size = 2754076, upload_time = "2024-01-11T11:21:09.745Z" },
- { url = "https://files.pythonhosted.org/packages/e6/4d/c2ebaac81dadbc3fc3c3c2fa5fe7b16429dc713b1b8ace49e11e92904d78/fonttools-4.47.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e040f905d542362e07e72e03612a6270c33d38281fd573160e1003e43718d68d", size = 2263784, upload_time = "2024-01-11T11:21:13.367Z" },
- { url = "https://files.pythonhosted.org/packages/d3/f6/9d484cd275845c7e503a8669a5952a7fa089c7a881babb4dce5ebe6fc5d1/fonttools-4.47.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6dd58cc03016b281bd2c74c84cdaa6bd3ce54c5a7f47478b7657b930ac3ed8eb", size = 4769142, upload_time = "2024-01-11T11:21:17.615Z" },
- { url = "https://files.pythonhosted.org/packages/7a/bf/c6ae0768a531b38245aac0bb8d30bc05d53d499e09fccdc5d72e7c8d28b6/fonttools-4.47.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32ab2e9702dff0dd4510c7bb958f265a8d3dd5c0e2547e7b5f7a3df4979abb07", size = 4853241, upload_time = "2024-01-11T11:21:21.16Z" },
- { url = "https://files.pythonhosted.org/packages/2b/f0/c06709666cb7722447efb70ea456c302bd6eb3b997d30076401fb32bca4b/fonttools-4.47.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a808f3c1d1df1f5bf39be869b6e0c263570cdafb5bdb2df66087733f566ea71", size = 4730447, upload_time = "2024-01-11T11:21:24.755Z" },
- { url = "https://files.pythonhosted.org/packages/3e/71/4c758ae5f4f8047904fc1c6bbbb828248c94cc7aa6406af3a62ede766f25/fonttools-4.47.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ac71e2e201df041a2891067dc36256755b1229ae167edbdc419b16da78732c2f", size = 4809265, upload_time = "2024-01-11T11:21:28.586Z" },
- { url = "https://files.pythonhosted.org/packages/81/f6/a6912c11280607d48947341e2167502605a3917925c835afcd7dfcabc289/fonttools-4.47.2-cp312-cp312-win32.whl", hash = "sha256:69731e8bea0578b3c28fdb43dbf95b9386e2d49a399e9a4ad736b8e479b08085", size = 2118363, upload_time = "2024-01-11T11:21:33.245Z" },
- { url = "https://files.pythonhosted.org/packages/81/4b/42d0488765ea5aa308b4e8197cb75366b2124240a73e86f98b6107ccf282/fonttools-4.47.2-cp312-cp312-win_amd64.whl", hash = "sha256:b3e1304e5f19ca861d86a72218ecce68f391646d85c851742d265787f55457a4", size = 2165866, upload_time = "2024-01-11T11:21:37.23Z" },
- { url = "https://files.pythonhosted.org/packages/af/2f/c34b0f99d46766cf49566d1ee2ee3606e4c9880b5a7d734257dc61c804e9/fonttools-4.47.2-py3-none-any.whl", hash = "sha256:7eb7ad665258fba68fd22228a09f347469d95a97fb88198e133595947a20a184", size = 1063011, upload_time = "2024-01-11T11:22:41.676Z" },
+ { url = "https://files.pythonhosted.org/packages/19/30/02de0b7f3d72f2c4fce3e512b166c1bdbe5a687408474b61eb0114be921c/fonttools-4.47.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3b629108351d25512d4ea1a8393a2dba325b7b7d7308116b605ea3f8e1be88df", size = 2779949, upload-time = "2024-01-11T11:19:56.276Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/52/1a5e1373afb78a040ea0c371ab8a79da121060a8e518968bb8f41457ca90/fonttools-4.47.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c19044256c44fe299d9a73456aabee4b4d06c6b930287be93b533b4737d70aa1", size = 2281336, upload-time = "2024-01-11T11:20:08.835Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/ce/9d3b5bf51aafee024566ebb374f5b040381d92660cb04647af3c5860c611/fonttools-4.47.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8be28c036b9f186e8c7eaf8a11b42373e7e4949f9e9f370202b9da4c4c3f56c", size = 4541692, upload-time = "2024-01-11T11:20:13.378Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/68/af41b7cfd35c7418e17b6a43bb106be4b0f0e5feb405a88dee29b186f2a7/fonttools-4.47.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f83a4daef6d2a202acb9bf572958f91cfde5b10c8ee7fb1d09a4c81e5d851fd8", size = 4600529, upload-time = "2024-01-11T11:20:17.27Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/7e/428dbb4cfc342b7a05cbc9d349e134e7fad6588f4ce2a7128e8e3e58ad3b/fonttools-4.47.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4a5a5318ba5365d992666ac4fe35365f93004109d18858a3e18ae46f67907670", size = 4524215, upload-time = "2024-01-11T11:20:21.061Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/61/762fad1cc1debc4626f2eb373fa999591c63c231fce53d5073574a639531/fonttools-4.47.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8f57ecd742545362a0f7186774b2d1c53423ed9ece67689c93a1055b236f638c", size = 4584778, upload-time = "2024-01-11T11:20:25.815Z" },
+ { url = "https://files.pythonhosted.org/packages/04/30/170ca22284c1d825470e8b5871d6b25d3a70e2f5b185ffb1647d5e11ee4d/fonttools-4.47.2-cp310-cp310-win32.whl", hash = "sha256:a1c154bb85dc9a4cf145250c88d112d88eb414bad81d4cb524d06258dea1bdc0", size = 2131876, upload-time = "2024-01-11T11:20:30.261Z" },
+ { url = "https://files.pythonhosted.org/packages/df/07/4a30437bed355b838b8ce31d14c5983334c31adc97e70c6ecff90c60d6d2/fonttools-4.47.2-cp310-cp310-win_amd64.whl", hash = "sha256:3e2b95dce2ead58fb12524d0ca7d63a63459dd489e7e5838c3cd53557f8933e1", size = 2177937, upload-time = "2024-01-11T11:20:33.814Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/1d/670372323642eada0f7743cfcdd156de6a28d37769c916421fec2f32c814/fonttools-4.47.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:29495d6d109cdbabe73cfb6f419ce67080c3ef9ea1e08d5750240fd4b0c4763b", size = 2782908, upload-time = "2024-01-11T11:20:37.495Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/36/5f0bb863a6575db4c4b67fa9be7f98e4c551dd87638ef327bc180b988998/fonttools-4.47.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0a1d313a415eaaba2b35d6cd33536560deeebd2ed758b9bfb89ab5d97dc5deac", size = 2283501, upload-time = "2024-01-11T11:20:42.027Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/1e/95de682a86567426bcc40a56c9b118ffa97de6cbfcc293addf20994e329d/fonttools-4.47.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90f898cdd67f52f18049250a6474185ef6544c91f27a7bee70d87d77a8daf89c", size = 4848039, upload-time = "2024-01-11T11:20:47.038Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/95/92a0b5fc844c1db734752f8a51431de519cd6b02e7e561efa9e9fd415544/fonttools-4.47.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3480eeb52770ff75140fe7d9a2ec33fb67b07efea0ab5129c7e0c6a639c40c70", size = 4893166, upload-time = "2024-01-11T11:20:50.855Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/e6/ed9dd7ee1afd6cd70eb7237688118fe489dbde962e3765c91c86c095f84b/fonttools-4.47.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0255dbc128fee75fb9be364806b940ed450dd6838672a150d501ee86523ac61e", size = 4815529, upload-time = "2024-01-11T11:20:54.696Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/67/cdffa0b3cd8f863b45125c335bbd3d9dc16ec42f5a8d5b64dd1244c5ce6b/fonttools-4.47.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f791446ff297fd5f1e2247c188de53c1bfb9dd7f0549eba55b73a3c2087a2703", size = 4875414, upload-time = "2024-01-11T11:20:58.435Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/fb/41638e748c8f20f5483987afcf9be746d3ccb9e9600ca62128a27c791a82/fonttools-4.47.2-cp311-cp311-win32.whl", hash = "sha256:740947906590a878a4bde7dd748e85fefa4d470a268b964748403b3ab2aeed6c", size = 2130073, upload-time = "2024-01-11T11:21:02.056Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/ef/93321cf55180a778b4d97919b28739874c0afab90e7b9f5b232db70f47c2/fonttools-4.47.2-cp311-cp311-win_amd64.whl", hash = "sha256:63fbed184979f09a65aa9c88b395ca539c94287ba3a364517698462e13e457c9", size = 2178744, upload-time = "2024-01-11T11:21:05.88Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/bd/4dd1e8a9e632f325d9203ce543402f912f26efd213c8d9efec0180fbac64/fonttools-4.47.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4ec558c543609e71b2275c4894e93493f65d2f41c15fe1d089080c1d0bb4d635", size = 2754076, upload-time = "2024-01-11T11:21:09.745Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/4d/c2ebaac81dadbc3fc3c3c2fa5fe7b16429dc713b1b8ace49e11e92904d78/fonttools-4.47.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e040f905d542362e07e72e03612a6270c33d38281fd573160e1003e43718d68d", size = 2263784, upload-time = "2024-01-11T11:21:13.367Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/f6/9d484cd275845c7e503a8669a5952a7fa089c7a881babb4dce5ebe6fc5d1/fonttools-4.47.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6dd58cc03016b281bd2c74c84cdaa6bd3ce54c5a7f47478b7657b930ac3ed8eb", size = 4769142, upload-time = "2024-01-11T11:21:17.615Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/bf/c6ae0768a531b38245aac0bb8d30bc05d53d499e09fccdc5d72e7c8d28b6/fonttools-4.47.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32ab2e9702dff0dd4510c7bb958f265a8d3dd5c0e2547e7b5f7a3df4979abb07", size = 4853241, upload-time = "2024-01-11T11:21:21.16Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/f0/c06709666cb7722447efb70ea456c302bd6eb3b997d30076401fb32bca4b/fonttools-4.47.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a808f3c1d1df1f5bf39be869b6e0c263570cdafb5bdb2df66087733f566ea71", size = 4730447, upload-time = "2024-01-11T11:21:24.755Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/71/4c758ae5f4f8047904fc1c6bbbb828248c94cc7aa6406af3a62ede766f25/fonttools-4.47.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ac71e2e201df041a2891067dc36256755b1229ae167edbdc419b16da78732c2f", size = 4809265, upload-time = "2024-01-11T11:21:28.586Z" },
+ { url = "https://files.pythonhosted.org/packages/81/f6/a6912c11280607d48947341e2167502605a3917925c835afcd7dfcabc289/fonttools-4.47.2-cp312-cp312-win32.whl", hash = "sha256:69731e8bea0578b3c28fdb43dbf95b9386e2d49a399e9a4ad736b8e479b08085", size = 2118363, upload-time = "2024-01-11T11:21:33.245Z" },
+ { url = "https://files.pythonhosted.org/packages/81/4b/42d0488765ea5aa308b4e8197cb75366b2124240a73e86f98b6107ccf282/fonttools-4.47.2-cp312-cp312-win_amd64.whl", hash = "sha256:b3e1304e5f19ca861d86a72218ecce68f391646d85c851742d265787f55457a4", size = 2165866, upload-time = "2024-01-11T11:21:37.23Z" },
+ { url = "https://files.pythonhosted.org/packages/af/2f/c34b0f99d46766cf49566d1ee2ee3606e4c9880b5a7d734257dc61c804e9/fonttools-4.47.2-py3-none-any.whl", hash = "sha256:7eb7ad665258fba68fd22228a09f347469d95a97fb88198e133595947a20a184", size = 1063011, upload-time = "2024-01-11T11:22:41.676Z" },
]
[[package]]
name = "fsspec"
version = "2023.12.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/fa/08/cac914ff6ff46c4500fc4323a939dbe7a0f528cca04e7fd3e859611dea41/fsspec-2023.12.2.tar.gz", hash = "sha256:8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb", size = 167507, upload_time = "2023-12-11T21:19:54.832Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/fa/08/cac914ff6ff46c4500fc4323a939dbe7a0f528cca04e7fd3e859611dea41/fsspec-2023.12.2.tar.gz", hash = "sha256:8548d39e8810b59c38014934f6b31e57f40c1b20f911f4cc2b85389c7e9bf0cb", size = 167507, upload-time = "2023-12-11T21:19:54.832Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/70/25/fab23259a52ece5670dcb8452e1af34b89e6135ecc17cd4b54b4b479eac6/fsspec-2023.12.2-py3-none-any.whl", hash = "sha256:d800d87f72189a745fa3d6b033b9dc4a34ad069f60ca60b943a63599f5501960", size = 168979, upload_time = "2023-12-11T21:19:52.446Z" },
+ { url = "https://files.pythonhosted.org/packages/70/25/fab23259a52ece5670dcb8452e1af34b89e6135ecc17cd4b54b4b479eac6/fsspec-2023.12.2-py3-none-any.whl", hash = "sha256:d800d87f72189a745fa3d6b033b9dc4a34ad069f60ca60b943a63599f5501960", size = 168979, upload-time = "2023-12-11T21:19:52.446Z" },
]
[[package]]
@@ -637,9 +637,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "wcwidth" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/a5/d3/8650919bc3c7c6e90ee3fa7fd618bf373cbbe55dff043bd67353dbb20cd8/ftfy-6.3.1.tar.gz", hash = "sha256:9b3c3d90f84fb267fe64d375a07b7f8912d817cf86009ae134aa03e1819506ec", size = 308927, upload_time = "2024-10-26T00:50:35.149Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/a5/d3/8650919bc3c7c6e90ee3fa7fd618bf373cbbe55dff043bd67353dbb20cd8/ftfy-6.3.1.tar.gz", hash = "sha256:9b3c3d90f84fb267fe64d375a07b7f8912d817cf86009ae134aa03e1819506ec", size = 308927, upload-time = "2024-10-26T00:50:35.149Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ab/6e/81d47999aebc1b155f81eca4477a616a70f238a2549848c38983f3c22a82/ftfy-6.3.1-py3-none-any.whl", hash = "sha256:7c70eb532015cd2f9adb53f101fb6c7945988d023a085d127d1573dc49dd0083", size = 44821, upload_time = "2024-10-26T00:50:33.425Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/6e/81d47999aebc1b155f81eca4477a616a70f238a2549848c38983f3c22a82/ftfy-6.3.1-py3-none-any.whl", hash = "sha256:7c70eb532015cd2f9adb53f101fb6c7945988d023a085d127d1573dc49dd0083", size = 44821, upload-time = "2024-10-26T00:50:33.425Z" },
]
[[package]]
@@ -652,41 +652,41 @@ dependencies = [
{ name = "zope-event" },
{ name = "zope-interface" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/70/f0/be10ed5d7721ed2317d7feb59e167603217156c2a6d57f128523e24e673d/gevent-24.10.3.tar.gz", hash = "sha256:aa7ee1bd5cabb2b7ef35105f863b386c8d5e332f754b60cfc354148bd70d35d1", size = 6108837, upload_time = "2024-10-18T16:06:25.867Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/70/f0/be10ed5d7721ed2317d7feb59e167603217156c2a6d57f128523e24e673d/gevent-24.10.3.tar.gz", hash = "sha256:aa7ee1bd5cabb2b7ef35105f863b386c8d5e332f754b60cfc354148bd70d35d1", size = 6108837, upload-time = "2024-10-18T16:06:25.867Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6b/6f/a2100e7883c7bdfc2b45cb60b310ca748762a21596258b9dd01c5c093dbc/gevent-24.10.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:d7a1ad0f2da582f5bd238bca067e1c6c482c30c15a6e4d14aaa3215cbb2232f3", size = 3014382, upload_time = "2024-10-18T15:37:34.041Z" },
- { url = "https://files.pythonhosted.org/packages/7a/b1/460e4884ed6185d9eb9c4c2e9639d2b254197e46513301c0f63dec22dc90/gevent-24.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4e526fdc279c655c1e809b0c34b45844182c2a6b219802da5e411bd2cf5a8ad", size = 4853460, upload_time = "2024-10-18T16:19:39.515Z" },
- { url = "https://files.pythonhosted.org/packages/ca/f6/7ded98760d381229183ecce8db2edcce96f13e23807d31a90c66dae85304/gevent-24.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57a5c4e0bdac482c5f02f240d0354e61362df73501ef6ebafce8ef635cad7527", size = 4977636, upload_time = "2024-10-18T16:18:45.464Z" },
- { url = "https://files.pythonhosted.org/packages/7d/21/7b928e6029eedb93ef94fc0aee701f497af2e601f0ec00aac0e72e3f450e/gevent-24.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d67daed8383326dc8b5e58d88e148d29b6b52274a489e383530b0969ae7b9cb9", size = 5058031, upload_time = "2024-10-18T16:23:10.719Z" },
- { url = "https://files.pythonhosted.org/packages/00/98/12c03fd004fbeeca01276ffc589f5a368fd741d02582ab7006d1bdef57e7/gevent-24.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e24ffea72e27987979c009536fd0868e52239b44afe6cf7135ce8aafd0f108e", size = 6683694, upload_time = "2024-10-18T15:59:35.475Z" },
- { url = "https://files.pythonhosted.org/packages/64/4c/ea14d971452d3da09e49267e052d8312f112c7835120aed78d22ef14efee/gevent-24.10.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c1d80090485da1ea3d99205fe97908b31188c1f4857f08b333ffaf2de2e89d18", size = 5286063, upload_time = "2024-10-18T16:38:24.113Z" },
- { url = "https://files.pythonhosted.org/packages/39/3f/397efff27e637d7306caa00d1560512c44028c25c70be1e72c46b79b1b66/gevent-24.10.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f0c129f81d60cda614acb4b0c5731997ca05b031fb406fcb58ad53a7ade53b13", size = 6817462, upload_time = "2024-10-18T16:02:48.427Z" },
- { url = "https://files.pythonhosted.org/packages/aa/5d/19939eaa7c5b7c0f37e0a0665a911ddfe1e35c25c512446fc356a065c16e/gevent-24.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:26ca7a6b42d35129617025ac801135118333cad75856ffc3217b38e707383eba", size = 1566631, upload_time = "2024-10-18T16:08:38.489Z" },
- { url = "https://files.pythonhosted.org/packages/6e/01/1be5cf013826d8baae235976d6a94f3628014fd2db7c071aeec13f82b4d1/gevent-24.10.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:68c3a0d8402755eba7f69022e42e8021192a721ca8341908acc222ea597029b6", size = 2966909, upload_time = "2024-10-18T15:37:31.43Z" },
- { url = "https://files.pythonhosted.org/packages/fe/3e/7fa9ab023f24d8689e2c77951981f8ea1f25089e0349a0bf8b35ee9b9277/gevent-24.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d850a453d66336272be4f1d3a8126777f3efdaea62d053b4829857f91e09755", size = 4913247, upload_time = "2024-10-18T16:19:41.792Z" },
- { url = "https://files.pythonhosted.org/packages/db/63/6e40eaaa3c2abd1561faff11dc3e6781f8c25e975354b8835762834415af/gevent-24.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8e58ee3723f1fbe07d66892f1caa7481c306f653a6829b6fd16cb23d618a5915", size = 5049036, upload_time = "2024-10-18T16:18:47.419Z" },
- { url = "https://files.pythonhosted.org/packages/94/89/158bc32cdc898dda0481040ac18650022e73133d93460c5af56ca622fe9a/gevent-24.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b52382124eca13135a3abe4f65c6bd428656975980a48e51b17aeab68bdb14db", size = 5107299, upload_time = "2024-10-18T16:23:12.296Z" },
- { url = "https://files.pythonhosted.org/packages/64/91/1abe62ee350fdfac186d33f615d0d3a0b3b140e7ccf23c73547aa0deec44/gevent-24.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ca2266e08f43c0e22c028801dff7d92a0b102ef20e4caeb6a46abfb95f6a328", size = 6819625, upload_time = "2024-10-18T15:59:38.226Z" },
- { url = "https://files.pythonhosted.org/packages/92/8b/0b2fe0d36b7c4d463e46cc68eaf6c14488bd7d86cc37e995c64a0ff7d02f/gevent-24.10.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d758f0d4dbf32502ec87bb9b536ca8055090a16f8305f0ada3ce6f34e70f2fd7", size = 5474079, upload_time = "2024-10-18T16:38:26.866Z" },
- { url = "https://files.pythonhosted.org/packages/12/7b/9f5abbf0021a50321314f850697e0f46d2e5081168223af2d8544af9d19f/gevent-24.10.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0de6eb3d55c03138fda567d9bfed28487ce5d0928c5107549767a93efdf2be26", size = 6901323, upload_time = "2024-10-18T16:02:50.066Z" },
- { url = "https://files.pythonhosted.org/packages/8a/63/607715c621ae78ed581b7ba36d076df63feeb352993d521327f865056771/gevent-24.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:385710355eadecdb70428a5ae3e7e5a45dcf888baa1426884588be9d25ac4290", size = 1549468, upload_time = "2024-10-18T16:01:30.331Z" },
- { url = "https://files.pythonhosted.org/packages/d9/e4/4edbe17001bb3e6fade4ad2d85ca8f9e4eabcbde4aa29aa6889281616e3e/gevent-24.10.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3ad8fb70aa0ebc935729c9699ac31b210a49b689a7b27b7ac9f91676475f3f53", size = 2970952, upload_time = "2024-10-18T15:37:31.389Z" },
- { url = "https://files.pythonhosted.org/packages/3c/a6/ce0824fe9398ba6b00028a74840f12be1165d5feaacdc028ea953db3d6c3/gevent-24.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f18689f7a70d2ed0e75bad5036ec3c89690a493d4cfac8d7cdb258ac04b132bd", size = 5172230, upload_time = "2024-10-18T16:19:43.661Z" },
- { url = "https://files.pythonhosted.org/packages/25/d4/9002cfb585bfa52c860ed4b1349d1a6400bdf2df9f1bd21df5ff33eea33c/gevent-24.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f4f171d4d2018170454d84c934842e1b5f6ce7468ba298f6e7f7cff15000a3", size = 5338394, upload_time = "2024-10-18T16:18:49.371Z" },
- { url = "https://files.pythonhosted.org/packages/0c/98/222f1a14f22ad2d1cbcc37edb74095264c1f9c7ab49e6423693383462b8a/gevent-24.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7021e26d70189b33c27173d4173f27bf4685d6b6f1c0ea50e5335f8491cb110c", size = 5437989, upload_time = "2024-10-18T16:23:13.851Z" },
- { url = "https://files.pythonhosted.org/packages/bf/e8/cbb46afea3c7ecdc7289e15cb4a6f89903f4f9754a27ca320d3e465abc78/gevent-24.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34aea15f9c79f27a8faeaa361bc1e72c773a9b54a1996a2ec4eefc8bcd59a824", size = 6838539, upload_time = "2024-10-18T15:59:40.489Z" },
- { url = "https://files.pythonhosted.org/packages/69/c3/e43e348f23da404a6d4368a14453ed097cdfca97d5212eaceb987d04a0e1/gevent-24.10.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8af65a4d4feaec6042c666d22c322a310fba3b47e841ad52f724b9c3ce5da48e", size = 5513842, upload_time = "2024-10-18T16:38:29.538Z" },
- { url = "https://files.pythonhosted.org/packages/c2/76/84b7c19c072a80900118717a85236859127d630cdf8b079fe42f19649f12/gevent-24.10.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:89c4115e3f5ada55f92b61701a46043fe42f702b5af863b029e4c1a76f6cc2d4", size = 6927374, upload_time = "2024-10-18T16:02:51.669Z" },
- { url = "https://files.pythonhosted.org/packages/5e/69/0ab1b04c363547058fb5035275c144957b80b36cb6aee715fe6181b0cee9/gevent-24.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:1ce6dab94c0b0d24425ba55712de2f8c9cb21267150ca63f5bb3a0e1f165da99", size = 1546701, upload_time = "2024-10-18T15:54:53.562Z" },
- { url = "https://files.pythonhosted.org/packages/f7/2d/c783583d7999cd2f2e7aa2d6a1c333d663003ca61255a89ff6a891be95f4/gevent-24.10.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:f147e38423fbe96e8731f60a63475b3d2cab2f3d10578d8ee9d10c507c58a2ff", size = 2962857, upload_time = "2024-10-18T15:37:33.098Z" },
- { url = "https://files.pythonhosted.org/packages/f3/77/d3ce96fd49406f61976e9a3b6c742b97bb274d3b30c68ff190c5b5f81afd/gevent-24.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18e6984ec96fc95fd67488555c38ece3015be1f38b1bcceb27b7d6c36b343008", size = 5141676, upload_time = "2024-10-18T16:19:45.484Z" },
- { url = "https://files.pythonhosted.org/packages/49/f4/f99f893770c316b9d2f03bd684947126cbed0321b89fe5423838974c2025/gevent-24.10.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:051b22e2758accfddb0457728bfc9abf8c3f2ce6bca43f1ff6e07b5ed9e49bf4", size = 5310248, upload_time = "2024-10-18T16:18:51.175Z" },
- { url = "https://files.pythonhosted.org/packages/e3/0c/67257ba906f76ed82e8f0bd8c00c2a0687b360a1050b70db7e58dff749ab/gevent-24.10.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb5edb6433764119a664bbb148d2aea9990950aa89cc3498f475c2408d523ea3", size = 5407304, upload_time = "2024-10-18T16:23:15.348Z" },
- { url = "https://files.pythonhosted.org/packages/35/6c/3a72da7c224b0111728130c0f1abc3ee07feff91b37e0ea83db98f4a3eaf/gevent-24.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce417bcaaab496bc9c77f75566531e9d93816262037b8b2dbb88b0fdcd66587c", size = 6818624, upload_time = "2024-10-18T15:59:42.068Z" },
- { url = "https://files.pythonhosted.org/packages/a3/96/cc5f6ecba032a45fc312fe0db2908a893057fd81361eea93845d6c325556/gevent-24.10.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:1c3a828b033fb02b7c31da4d75014a1f82e6c072fc0523456569a57f8b025861", size = 5484356, upload_time = "2024-10-18T16:38:31.709Z" },
- { url = "https://files.pythonhosted.org/packages/7c/97/e680b2b2f0c291ae4db9813ffbf02c22c2a0f14c8f1a613971385e29ef67/gevent-24.10.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f2ae3efbbd120cdf4a68b7abc27a37e61e6f443c5a06ec2c6ad94c37cd8471ec", size = 6903191, upload_time = "2024-10-18T16:02:53.888Z" },
- { url = "https://files.pythonhosted.org/packages/1b/1c/b4181957da062d1c060974ec6cb798cc24aeeb28e8cd2ece84eb4b4991f7/gevent-24.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:9e1210334a9bc9f76c3d008e0785ca62214f8a54e1325f6c2ecab3b6a572a015", size = 1545117, upload_time = "2024-10-18T15:45:47.375Z" },
- { url = "https://files.pythonhosted.org/packages/89/2b/bf4af9950b8f9abd5b4025858f6311930de550e3498bbfeb47c914701a1d/gevent-24.10.3-pp310-pypy310_pp73-macosx_11_0_universal2.whl", hash = "sha256:e534e6a968d74463b11de6c9c67f4b4bf61775fb00f2e6e0f7fcdd412ceade18", size = 1271541, upload_time = "2024-10-18T15:37:53.146Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/6f/a2100e7883c7bdfc2b45cb60b310ca748762a21596258b9dd01c5c093dbc/gevent-24.10.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:d7a1ad0f2da582f5bd238bca067e1c6c482c30c15a6e4d14aaa3215cbb2232f3", size = 3014382, upload-time = "2024-10-18T15:37:34.041Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/b1/460e4884ed6185d9eb9c4c2e9639d2b254197e46513301c0f63dec22dc90/gevent-24.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4e526fdc279c655c1e809b0c34b45844182c2a6b219802da5e411bd2cf5a8ad", size = 4853460, upload-time = "2024-10-18T16:19:39.515Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/f6/7ded98760d381229183ecce8db2edcce96f13e23807d31a90c66dae85304/gevent-24.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57a5c4e0bdac482c5f02f240d0354e61362df73501ef6ebafce8ef635cad7527", size = 4977636, upload-time = "2024-10-18T16:18:45.464Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/21/7b928e6029eedb93ef94fc0aee701f497af2e601f0ec00aac0e72e3f450e/gevent-24.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d67daed8383326dc8b5e58d88e148d29b6b52274a489e383530b0969ae7b9cb9", size = 5058031, upload-time = "2024-10-18T16:23:10.719Z" },
+ { url = "https://files.pythonhosted.org/packages/00/98/12c03fd004fbeeca01276ffc589f5a368fd741d02582ab7006d1bdef57e7/gevent-24.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e24ffea72e27987979c009536fd0868e52239b44afe6cf7135ce8aafd0f108e", size = 6683694, upload-time = "2024-10-18T15:59:35.475Z" },
+ { url = "https://files.pythonhosted.org/packages/64/4c/ea14d971452d3da09e49267e052d8312f112c7835120aed78d22ef14efee/gevent-24.10.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c1d80090485da1ea3d99205fe97908b31188c1f4857f08b333ffaf2de2e89d18", size = 5286063, upload-time = "2024-10-18T16:38:24.113Z" },
+ { url = "https://files.pythonhosted.org/packages/39/3f/397efff27e637d7306caa00d1560512c44028c25c70be1e72c46b79b1b66/gevent-24.10.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f0c129f81d60cda614acb4b0c5731997ca05b031fb406fcb58ad53a7ade53b13", size = 6817462, upload-time = "2024-10-18T16:02:48.427Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/5d/19939eaa7c5b7c0f37e0a0665a911ddfe1e35c25c512446fc356a065c16e/gevent-24.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:26ca7a6b42d35129617025ac801135118333cad75856ffc3217b38e707383eba", size = 1566631, upload-time = "2024-10-18T16:08:38.489Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/01/1be5cf013826d8baae235976d6a94f3628014fd2db7c071aeec13f82b4d1/gevent-24.10.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:68c3a0d8402755eba7f69022e42e8021192a721ca8341908acc222ea597029b6", size = 2966909, upload-time = "2024-10-18T15:37:31.43Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/3e/7fa9ab023f24d8689e2c77951981f8ea1f25089e0349a0bf8b35ee9b9277/gevent-24.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d850a453d66336272be4f1d3a8126777f3efdaea62d053b4829857f91e09755", size = 4913247, upload-time = "2024-10-18T16:19:41.792Z" },
+ { url = "https://files.pythonhosted.org/packages/db/63/6e40eaaa3c2abd1561faff11dc3e6781f8c25e975354b8835762834415af/gevent-24.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8e58ee3723f1fbe07d66892f1caa7481c306f653a6829b6fd16cb23d618a5915", size = 5049036, upload-time = "2024-10-18T16:18:47.419Z" },
+ { url = "https://files.pythonhosted.org/packages/94/89/158bc32cdc898dda0481040ac18650022e73133d93460c5af56ca622fe9a/gevent-24.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b52382124eca13135a3abe4f65c6bd428656975980a48e51b17aeab68bdb14db", size = 5107299, upload-time = "2024-10-18T16:23:12.296Z" },
+ { url = "https://files.pythonhosted.org/packages/64/91/1abe62ee350fdfac186d33f615d0d3a0b3b140e7ccf23c73547aa0deec44/gevent-24.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ca2266e08f43c0e22c028801dff7d92a0b102ef20e4caeb6a46abfb95f6a328", size = 6819625, upload-time = "2024-10-18T15:59:38.226Z" },
+ { url = "https://files.pythonhosted.org/packages/92/8b/0b2fe0d36b7c4d463e46cc68eaf6c14488bd7d86cc37e995c64a0ff7d02f/gevent-24.10.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d758f0d4dbf32502ec87bb9b536ca8055090a16f8305f0ada3ce6f34e70f2fd7", size = 5474079, upload-time = "2024-10-18T16:38:26.866Z" },
+ { url = "https://files.pythonhosted.org/packages/12/7b/9f5abbf0021a50321314f850697e0f46d2e5081168223af2d8544af9d19f/gevent-24.10.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0de6eb3d55c03138fda567d9bfed28487ce5d0928c5107549767a93efdf2be26", size = 6901323, upload-time = "2024-10-18T16:02:50.066Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/63/607715c621ae78ed581b7ba36d076df63feeb352993d521327f865056771/gevent-24.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:385710355eadecdb70428a5ae3e7e5a45dcf888baa1426884588be9d25ac4290", size = 1549468, upload-time = "2024-10-18T16:01:30.331Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/e4/4edbe17001bb3e6fade4ad2d85ca8f9e4eabcbde4aa29aa6889281616e3e/gevent-24.10.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3ad8fb70aa0ebc935729c9699ac31b210a49b689a7b27b7ac9f91676475f3f53", size = 2970952, upload-time = "2024-10-18T15:37:31.389Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/a6/ce0824fe9398ba6b00028a74840f12be1165d5feaacdc028ea953db3d6c3/gevent-24.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f18689f7a70d2ed0e75bad5036ec3c89690a493d4cfac8d7cdb258ac04b132bd", size = 5172230, upload-time = "2024-10-18T16:19:43.661Z" },
+ { url = "https://files.pythonhosted.org/packages/25/d4/9002cfb585bfa52c860ed4b1349d1a6400bdf2df9f1bd21df5ff33eea33c/gevent-24.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f4f171d4d2018170454d84c934842e1b5f6ce7468ba298f6e7f7cff15000a3", size = 5338394, upload-time = "2024-10-18T16:18:49.371Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/98/222f1a14f22ad2d1cbcc37edb74095264c1f9c7ab49e6423693383462b8a/gevent-24.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7021e26d70189b33c27173d4173f27bf4685d6b6f1c0ea50e5335f8491cb110c", size = 5437989, upload-time = "2024-10-18T16:23:13.851Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/e8/cbb46afea3c7ecdc7289e15cb4a6f89903f4f9754a27ca320d3e465abc78/gevent-24.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34aea15f9c79f27a8faeaa361bc1e72c773a9b54a1996a2ec4eefc8bcd59a824", size = 6838539, upload-time = "2024-10-18T15:59:40.489Z" },
+ { url = "https://files.pythonhosted.org/packages/69/c3/e43e348f23da404a6d4368a14453ed097cdfca97d5212eaceb987d04a0e1/gevent-24.10.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8af65a4d4feaec6042c666d22c322a310fba3b47e841ad52f724b9c3ce5da48e", size = 5513842, upload-time = "2024-10-18T16:38:29.538Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/76/84b7c19c072a80900118717a85236859127d630cdf8b079fe42f19649f12/gevent-24.10.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:89c4115e3f5ada55f92b61701a46043fe42f702b5af863b029e4c1a76f6cc2d4", size = 6927374, upload-time = "2024-10-18T16:02:51.669Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/69/0ab1b04c363547058fb5035275c144957b80b36cb6aee715fe6181b0cee9/gevent-24.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:1ce6dab94c0b0d24425ba55712de2f8c9cb21267150ca63f5bb3a0e1f165da99", size = 1546701, upload-time = "2024-10-18T15:54:53.562Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/2d/c783583d7999cd2f2e7aa2d6a1c333d663003ca61255a89ff6a891be95f4/gevent-24.10.3-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:f147e38423fbe96e8731f60a63475b3d2cab2f3d10578d8ee9d10c507c58a2ff", size = 2962857, upload-time = "2024-10-18T15:37:33.098Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/77/d3ce96fd49406f61976e9a3b6c742b97bb274d3b30c68ff190c5b5f81afd/gevent-24.10.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18e6984ec96fc95fd67488555c38ece3015be1f38b1bcceb27b7d6c36b343008", size = 5141676, upload-time = "2024-10-18T16:19:45.484Z" },
+ { url = "https://files.pythonhosted.org/packages/49/f4/f99f893770c316b9d2f03bd684947126cbed0321b89fe5423838974c2025/gevent-24.10.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:051b22e2758accfddb0457728bfc9abf8c3f2ce6bca43f1ff6e07b5ed9e49bf4", size = 5310248, upload-time = "2024-10-18T16:18:51.175Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/0c/67257ba906f76ed82e8f0bd8c00c2a0687b360a1050b70db7e58dff749ab/gevent-24.10.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eb5edb6433764119a664bbb148d2aea9990950aa89cc3498f475c2408d523ea3", size = 5407304, upload-time = "2024-10-18T16:23:15.348Z" },
+ { url = "https://files.pythonhosted.org/packages/35/6c/3a72da7c224b0111728130c0f1abc3ee07feff91b37e0ea83db98f4a3eaf/gevent-24.10.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce417bcaaab496bc9c77f75566531e9d93816262037b8b2dbb88b0fdcd66587c", size = 6818624, upload-time = "2024-10-18T15:59:42.068Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/96/cc5f6ecba032a45fc312fe0db2908a893057fd81361eea93845d6c325556/gevent-24.10.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:1c3a828b033fb02b7c31da4d75014a1f82e6c072fc0523456569a57f8b025861", size = 5484356, upload-time = "2024-10-18T16:38:31.709Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/97/e680b2b2f0c291ae4db9813ffbf02c22c2a0f14c8f1a613971385e29ef67/gevent-24.10.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f2ae3efbbd120cdf4a68b7abc27a37e61e6f443c5a06ec2c6ad94c37cd8471ec", size = 6903191, upload-time = "2024-10-18T16:02:53.888Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/1c/b4181957da062d1c060974ec6cb798cc24aeeb28e8cd2ece84eb4b4991f7/gevent-24.10.3-cp313-cp313-win_amd64.whl", hash = "sha256:9e1210334a9bc9f76c3d008e0785ca62214f8a54e1325f6c2ecab3b6a572a015", size = 1545117, upload-time = "2024-10-18T15:45:47.375Z" },
+ { url = "https://files.pythonhosted.org/packages/89/2b/bf4af9950b8f9abd5b4025858f6311930de550e3498bbfeb47c914701a1d/gevent-24.10.3-pp310-pypy310_pp73-macosx_11_0_universal2.whl", hash = "sha256:e534e6a968d74463b11de6c9c67f4b4bf61775fb00f2e6e0f7fcdd412ceade18", size = 1271541, upload-time = "2024-10-18T15:37:53.146Z" },
]
[[package]]
@@ -699,103 +699,103 @@ dependencies = [
{ name = "gevent" },
{ name = "urllib3" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/8c/14/d4eddae757de44985718a9e38d9e6f2a923d764ed97d0f1cbc1a8aa2b0ef/geventhttpclient-2.3.1.tar.gz", hash = "sha256:b40ddac8517c456818942c7812f555f84702105c82783238c9fcb8dc12675185", size = 69345, upload_time = "2024-04-18T21:39:50.83Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/8c/14/d4eddae757de44985718a9e38d9e6f2a923d764ed97d0f1cbc1a8aa2b0ef/geventhttpclient-2.3.1.tar.gz", hash = "sha256:b40ddac8517c456818942c7812f555f84702105c82783238c9fcb8dc12675185", size = 69345, upload-time = "2024-04-18T21:39:50.83Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a2/a5/5e49d6a581b3f1399425e22961c6e341e90c12fa2193ed0adee9afbd864c/geventhttpclient-2.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:da22ab7bf5af4ba3d07cffee6de448b42696e53e7ac1fe97ed289037733bf1c2", size = 71729, upload_time = "2024-04-18T21:38:06.866Z" },
- { url = "https://files.pythonhosted.org/packages/eb/23/4ff584e5f344dae64b5bc588b65c4ea81083f9d662b9f64cf5f28e5ae9cc/geventhttpclient-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2399e3d4e2fae8bbd91756189da6e9d84adf8f3eaace5eef0667874a705a29f8", size = 52062, upload_time = "2024-04-18T21:38:08.433Z" },
- { url = "https://files.pythonhosted.org/packages/bb/60/6bd8badb97b31a49f4c2b79466abce208a97dad95d447893c7546063fc8a/geventhttpclient-2.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3e33e87d0d5b9f5782c4e6d3cb7e3592fea41af52713137d04776df7646d71b", size = 51645, upload_time = "2024-04-18T21:38:10.139Z" },
- { url = "https://files.pythonhosted.org/packages/e1/62/47d431bf05f74aa683d63163a11432bda8f576c86dec8c3bc9d6a156ee03/geventhttpclient-2.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c071db313866c3d0510feb6c0f40ec086ccf7e4a845701b6316c82c06e8b9b29", size = 117838, upload_time = "2024-04-18T21:38:12.036Z" },
- { url = "https://files.pythonhosted.org/packages/6c/8b/e7c9ae813bb41883a96ad9afcf86465219c3bb682daa8b09448481edef8a/geventhttpclient-2.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f36f0c6ef88a27e60af8369d9c2189fe372c6f2943182a7568e0f2ad33bb69f1", size = 123272, upload_time = "2024-04-18T21:38:13.704Z" },
- { url = "https://files.pythonhosted.org/packages/4d/26/71e9b2526009faadda9f588dac04f8bf837a5b97628ab44145efc3fa796e/geventhttpclient-2.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4624843c03a5337282a42247d987c2531193e57255ee307b36eeb4f243a0c21", size = 114319, upload_time = "2024-04-18T21:38:15.097Z" },
- { url = "https://files.pythonhosted.org/packages/34/8c/1da2960293c42b7a6b01dbe3204b569e4cdb55b8289cb1c7154826500f19/geventhttpclient-2.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d614573621ba827c417786057e1e20e9f96c4f6b3878c55b1b7b54e1026693bc", size = 112705, upload_time = "2024-04-18T21:38:17.005Z" },
- { url = "https://files.pythonhosted.org/packages/a7/a1/4d08ecf0f213fdc63f78a217f87c07c1cb9891e68cdf74c8cbca76298bdb/geventhttpclient-2.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5d51330a40ac9762879d0e296c279c1beae8cfa6484bb196ac829242c416b709", size = 121236, upload_time = "2024-04-18T21:38:18.831Z" },
- { url = "https://files.pythonhosted.org/packages/4f/f7/42ece3e1f54602c518d74364a214da3b35b6be267b335564b7e9f0d37705/geventhttpclient-2.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bc9f2162d4e8cb86bb5322d99bfd552088a3eacd540a841298f06bb8bc1f1f03", size = 117859, upload_time = "2024-04-18T21:38:20.917Z" },
- { url = "https://files.pythonhosted.org/packages/1f/8e/de026b3697bffe5fa1a4938a3882107e378eea826905acf8e46c69b71ffd/geventhttpclient-2.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:06e59d3397e63c65ecc7a7561a5289f0cf2e2c2252e29632741e792f57f5d124", size = 127268, upload_time = "2024-04-18T21:38:22.676Z" },
- { url = "https://files.pythonhosted.org/packages/54/bf/1ee99a322467e6825a24612d306a46ca94b51088170d1b5de0df1c82ab2a/geventhttpclient-2.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4436eef515b3e0c1d4a453ae32e047290e780a623c1eddb11026ae9d5fb03d42", size = 116426, upload_time = "2024-04-18T21:38:24.228Z" },
- { url = "https://files.pythonhosted.org/packages/72/54/10c8ec745b3dcbfd52af62977fec85829749c0325e1a5429d050a4b45e75/geventhttpclient-2.3.1-cp310-cp310-win32.whl", hash = "sha256:5d1cf7d8a4f8e15cc8fd7d88ac4cdb058d6274203a42587e594cc9f0850ac862", size = 47599, upload_time = "2024-04-18T21:38:26.385Z" },
- { url = "https://files.pythonhosted.org/packages/da/0d/36a47cdeaa83c3b4efdbd18d77720fa27dc40600998f4dedd7c4a1259862/geventhttpclient-2.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:4deaebc121036f7ea95430c2d0f80ab085b15280e6ab677a6360b70e57020e7f", size = 48302, upload_time = "2024-04-18T21:38:28.297Z" },
- { url = "https://files.pythonhosted.org/packages/56/ad/1fcbbea0465f04d4425960e3737d4d8ae6407043cfc88688fb17b9064160/geventhttpclient-2.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0ae055b9ce1704f2ce72c0847df28f4e14dbb3eea79256cda6c909d82688ea3", size = 71733, upload_time = "2024-04-18T21:38:30.357Z" },
- { url = "https://files.pythonhosted.org/packages/06/1a/10e547adb675beea407ff7117ecb4e5063534569ac14bb4360279d2888dd/geventhttpclient-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f087af2ac439495b5388841d6f3c4de8d2573ca9870593d78f7b554aa5cfa7f5", size = 52060, upload_time = "2024-04-18T21:38:32.561Z" },
- { url = "https://files.pythonhosted.org/packages/e0/c0/9960ac6e8818a00702743cd2a9637d6f26909ac7ac59ca231f446e367b20/geventhttpclient-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76c367d175810facfe56281e516c9a5a4a191eff76641faaa30aa33882ed4b2f", size = 51649, upload_time = "2024-04-18T21:38:34.265Z" },
- { url = "https://files.pythonhosted.org/packages/58/3a/b032cd8f885dafdfa002a8a0e4e21b633713798ec08e19010b815fbfead6/geventhttpclient-2.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a58376d0d461fe0322ff2ad362553b437daee1eeb92b4c0e3b1ffef9e77defbe", size = 117987, upload_time = "2024-04-18T21:38:37.661Z" },
- { url = "https://files.pythonhosted.org/packages/94/36/6493a5cbc20c269a51186946947f3ca2eae687e05831289891027bd038c3/geventhttpclient-2.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f440cc704f8a9869848a109b2c401805c17c070539b2014e7b884ecfc8591e33", size = 123356, upload_time = "2024-04-18T21:38:39.705Z" },
- { url = "https://files.pythonhosted.org/packages/2f/07/b66d9a13b97a7e59d84b4faf704113aa963aaf3a0f71c9138c8740d57d5c/geventhttpclient-2.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f10c62994f9052f23948c19de930b2d1f063240462c8bd7077c2b3290e61f4fa", size = 114460, upload_time = "2024-04-18T21:38:40.947Z" },
- { url = "https://files.pythonhosted.org/packages/4e/72/1467b9e1ef63aecfe3b42333fb7607f66129dffaeca231f97e4be6f71803/geventhttpclient-2.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52c45d9f3dd9627844c12e9ca347258c7be585bed54046336220e25ea6eac155", size = 112808, upload_time = "2024-04-18T21:38:42.684Z" },
- { url = "https://files.pythonhosted.org/packages/ce/ef/64894efd67cb3459074c734736ecacff398cd841a5538dc70e3e77d35500/geventhttpclient-2.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:77c1a2c6e3854bf87cd5588b95174640c8a881716bd07fa0d131d082270a6795", size = 122049, upload_time = "2024-04-18T21:38:44.184Z" },
- { url = "https://files.pythonhosted.org/packages/c5/c8/1b13b4ea4bb88d7c2db56d070a52daf4757b3139afd83885e81455cb422f/geventhttpclient-2.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ce649d4e25c2d56023471df0bf1e8e2ab67dfe4ff12ce3e8fe7e6fae30cd672a", size = 118755, upload_time = "2024-04-18T21:38:45.654Z" },
- { url = "https://files.pythonhosted.org/packages/d1/06/95ac63fa1ee118a4d5824aa0a6b0dc3a2934a2f4ce695bf6747e1744d813/geventhttpclient-2.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:265d9f31b4ac8f688eebef0bd4c814ffb37a16f769ad0c8c8b8c24a84db8eab5", size = 128053, upload_time = "2024-04-18T21:38:47.247Z" },
- { url = "https://files.pythonhosted.org/packages/8a/27/3d6dbbd128e1b965bae198bffa4b5552cd635397e3d2bbcc7d9592890ca9/geventhttpclient-2.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2de436a9d61dae877e4e811fb3e2594e2a1df1b18f4280878f318aef48a562b9", size = 117316, upload_time = "2024-04-18T21:38:49.086Z" },
- { url = "https://files.pythonhosted.org/packages/ed/9a/8b65daf417ff982fa1928ebc6ebdfb081750d426f877f0056288aaa689e8/geventhttpclient-2.3.1-cp311-cp311-win32.whl", hash = "sha256:83e22178b9480b0a95edf0053d4f30b717d0b696b3c262beabe6964d9c5224b1", size = 47598, upload_time = "2024-04-18T21:38:50.919Z" },
- { url = "https://files.pythonhosted.org/packages/ab/83/ed0d14787861cf30beddd3aadc29ad07d75555de43c629ba514ddd2978d0/geventhttpclient-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:97b072a282233384c1302a7dee88ad8bfedc916f06b1bc1da54f84980f1406a9", size = 48301, upload_time = "2024-04-18T21:38:52.14Z" },
- { url = "https://files.pythonhosted.org/packages/82/ee/bf3d26170a518d2b1254f44202f2fa4490496b476ee24046ff6c34e79c08/geventhttpclient-2.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:e1c90abcc2735cd8dd2d2572a13da32f6625392dc04862decb5c6476a3ddee22", size = 71742, upload_time = "2024-04-18T21:38:54.167Z" },
- { url = "https://files.pythonhosted.org/packages/77/72/bd64b2a491094a3fbf7f3c314bb3c3918afb652783a8a9db07b86072da35/geventhttpclient-2.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5deb41c2f51247b4e568c14964f59d7b8e537eff51900564c88af3200004e678", size = 52070, upload_time = "2024-04-18T21:38:55.484Z" },
- { url = "https://files.pythonhosted.org/packages/85/96/e25becfde16c5551ba04ed2beac1f018e2efc70275ec19ae3765ff634ff2/geventhttpclient-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c6f1a56a66a90c4beae2f009b5e9d42db9a58ced165aa35441ace04d69cb7b37", size = 51650, upload_time = "2024-04-18T21:38:57.022Z" },
- { url = "https://files.pythonhosted.org/packages/5d/b8/fe6e938a369b3742103d04e5771e1ec7b18c047ac30b06a8e9704e2d34fc/geventhttpclient-2.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ee6e741849c29e3129b1ec3828ac3a5e5dcb043402f852ea92c52334fb8cabf", size = 118507, upload_time = "2024-04-18T21:38:58.936Z" },
- { url = "https://files.pythonhosted.org/packages/68/0b/381d01de049b02dc70addbcc1c8e24d15500bff6a9e89103c4aa8eb352c3/geventhttpclient-2.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d0972096a63b1ddaa73fa3dab2c7a136e3ab8bf7999a2f85a5dee851fa77cdd", size = 124061, upload_time = "2024-04-18T21:39:00.473Z" },
- { url = "https://files.pythonhosted.org/packages/c6/e6/7c97b5bf41cc403b2936a0887a85550b3153aa4b60c0c5062c49cd6286f2/geventhttpclient-2.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00675ba682fb7d19d659c14686fa8a52a65e3f301b56c2a4ee6333b380dd9467", size = 115060, upload_time = "2024-04-18T21:39:02.323Z" },
- { url = "https://files.pythonhosted.org/packages/45/1f/3e02464449c74a8146f27218471578c1dfabf18731cf047520b76e1b6331/geventhttpclient-2.3.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea77b67c186df90473416f4403839728f70ef6cf1689cec97b4f6bbde392a8a8", size = 113762, upload_time = "2024-04-18T21:39:03.769Z" },
- { url = "https://files.pythonhosted.org/packages/4f/a4/08551776f7d6b219d6f73ca25be88806007b16af51a1dbfed7192528e1c3/geventhttpclient-2.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ddcc3f0fdffd9a3801e1005b73026202cffed8199863fdef9315bea9a860a032", size = 122018, upload_time = "2024-04-18T21:39:05.781Z" },
- { url = "https://files.pythonhosted.org/packages/70/14/ba91417ac7cbce8d553f72c885a19c6b9d7f9dc7de81b7814551cf020a57/geventhttpclient-2.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:c9f1ef4ec048563cc621a47ff01a4f10048ff8b676d7a4d75e5433ed8e703e56", size = 118884, upload_time = "2024-04-18T21:39:08.001Z" },
- { url = "https://files.pythonhosted.org/packages/7c/78/e1f2c30e11bda8347a74b3a7254f727ff53ea260244da77d76b96779a006/geventhttpclient-2.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:a364b30bec7a0a00dbe256e2b6807e4dc866bead7ac84aaa51ca5e2c3d15c258", size = 128224, upload_time = "2024-04-18T21:39:09.31Z" },
- { url = "https://files.pythonhosted.org/packages/ac/2f/b7fd96e9cfa9d9719b0c9feb50b4cbb341d1940e34fd3305006efa8c3e33/geventhttpclient-2.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:25d255383d3d6a6fbd643bb51ae1a7e4f6f7b0dbd5f3225b537d0bd0432eaf39", size = 117758, upload_time = "2024-04-18T21:39:11.287Z" },
- { url = "https://files.pythonhosted.org/packages/fb/e0/1384c9a76379ab257b75df92283797861dcae592dd98e471df254f87c635/geventhttpclient-2.3.1-cp312-cp312-win32.whl", hash = "sha256:ad0b507e354d2f398186dcb12fe526d0594e7c9387b514fb843f7a14fdf1729a", size = 47595, upload_time = "2024-04-18T21:39:12.535Z" },
- { url = "https://files.pythonhosted.org/packages/54/e3/6b8dbb24e3941e20abbe7736e59290c5d4182057ea1d984d46c853208bcd/geventhttpclient-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:7924e0883bc2b177cfe27aa65af6bb9dd57f3e26905c7675a2d1f3ef69df7cca", size = 48271, upload_time = "2024-04-18T21:39:14.479Z" },
- { url = "https://files.pythonhosted.org/packages/ee/9f/251b1b7e665523137a8711f0f0029196cf18b57741135f01aea80a56f16c/geventhttpclient-2.3.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c31431e38df45b3c79bf3c9427c796adb8263d622bc6fa25e2f6ba916c2aad93", size = 49827, upload_time = "2024-04-18T21:39:36.14Z" },
- { url = "https://files.pythonhosted.org/packages/74/c7/ad4c23de669191e1c83cfa28c51d3b50fc246d72e1ee40d4d5b330532492/geventhttpclient-2.3.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:855ab1e145575769b180b57accb0573a77cd6a7392f40a6ef7bc9a4926ebd77b", size = 54017, upload_time = "2024-04-18T21:39:37.577Z" },
- { url = "https://files.pythonhosted.org/packages/04/7b/59fc8c8fbd10596abfc46dc103654e3d9676de64229d8eee4b0a4ac2e890/geventhttpclient-2.3.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a374aad77c01539e786d0c7829bec2eba034ccd45733c1bf9811ad18d2a8ecd", size = 58359, upload_time = "2024-04-18T21:39:39.437Z" },
- { url = "https://files.pythonhosted.org/packages/94/b7/743552b0ecda75458c83d55d62937e29c9ee9a42598f57d4025d5de70004/geventhttpclient-2.3.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66c1e97460608304f400485ac099736fff3566d3d8db2038533d466f8cf5de5a", size = 54262, upload_time = "2024-04-18T21:39:40.866Z" },
- { url = "https://files.pythonhosted.org/packages/18/60/10f6215b6cc76b5845a7f4b9c3d1f47d7ecd84ce8769b1e27e0482d605d7/geventhttpclient-2.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4f843f81ee44ba4c553a1b3f73115e0ad8f00044023c24db29f5b1df3da08465", size = 48343, upload_time = "2024-04-18T21:39:42.173Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/a5/5e49d6a581b3f1399425e22961c6e341e90c12fa2193ed0adee9afbd864c/geventhttpclient-2.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:da22ab7bf5af4ba3d07cffee6de448b42696e53e7ac1fe97ed289037733bf1c2", size = 71729, upload-time = "2024-04-18T21:38:06.866Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/23/4ff584e5f344dae64b5bc588b65c4ea81083f9d662b9f64cf5f28e5ae9cc/geventhttpclient-2.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2399e3d4e2fae8bbd91756189da6e9d84adf8f3eaace5eef0667874a705a29f8", size = 52062, upload-time = "2024-04-18T21:38:08.433Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/60/6bd8badb97b31a49f4c2b79466abce208a97dad95d447893c7546063fc8a/geventhttpclient-2.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3e33e87d0d5b9f5782c4e6d3cb7e3592fea41af52713137d04776df7646d71b", size = 51645, upload-time = "2024-04-18T21:38:10.139Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/62/47d431bf05f74aa683d63163a11432bda8f576c86dec8c3bc9d6a156ee03/geventhttpclient-2.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c071db313866c3d0510feb6c0f40ec086ccf7e4a845701b6316c82c06e8b9b29", size = 117838, upload-time = "2024-04-18T21:38:12.036Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/8b/e7c9ae813bb41883a96ad9afcf86465219c3bb682daa8b09448481edef8a/geventhttpclient-2.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f36f0c6ef88a27e60af8369d9c2189fe372c6f2943182a7568e0f2ad33bb69f1", size = 123272, upload-time = "2024-04-18T21:38:13.704Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/26/71e9b2526009faadda9f588dac04f8bf837a5b97628ab44145efc3fa796e/geventhttpclient-2.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4624843c03a5337282a42247d987c2531193e57255ee307b36eeb4f243a0c21", size = 114319, upload-time = "2024-04-18T21:38:15.097Z" },
+ { url = "https://files.pythonhosted.org/packages/34/8c/1da2960293c42b7a6b01dbe3204b569e4cdb55b8289cb1c7154826500f19/geventhttpclient-2.3.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d614573621ba827c417786057e1e20e9f96c4f6b3878c55b1b7b54e1026693bc", size = 112705, upload-time = "2024-04-18T21:38:17.005Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/a1/4d08ecf0f213fdc63f78a217f87c07c1cb9891e68cdf74c8cbca76298bdb/geventhttpclient-2.3.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5d51330a40ac9762879d0e296c279c1beae8cfa6484bb196ac829242c416b709", size = 121236, upload-time = "2024-04-18T21:38:18.831Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/f7/42ece3e1f54602c518d74364a214da3b35b6be267b335564b7e9f0d37705/geventhttpclient-2.3.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bc9f2162d4e8cb86bb5322d99bfd552088a3eacd540a841298f06bb8bc1f1f03", size = 117859, upload-time = "2024-04-18T21:38:20.917Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/8e/de026b3697bffe5fa1a4938a3882107e378eea826905acf8e46c69b71ffd/geventhttpclient-2.3.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:06e59d3397e63c65ecc7a7561a5289f0cf2e2c2252e29632741e792f57f5d124", size = 127268, upload-time = "2024-04-18T21:38:22.676Z" },
+ { url = "https://files.pythonhosted.org/packages/54/bf/1ee99a322467e6825a24612d306a46ca94b51088170d1b5de0df1c82ab2a/geventhttpclient-2.3.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4436eef515b3e0c1d4a453ae32e047290e780a623c1eddb11026ae9d5fb03d42", size = 116426, upload-time = "2024-04-18T21:38:24.228Z" },
+ { url = "https://files.pythonhosted.org/packages/72/54/10c8ec745b3dcbfd52af62977fec85829749c0325e1a5429d050a4b45e75/geventhttpclient-2.3.1-cp310-cp310-win32.whl", hash = "sha256:5d1cf7d8a4f8e15cc8fd7d88ac4cdb058d6274203a42587e594cc9f0850ac862", size = 47599, upload-time = "2024-04-18T21:38:26.385Z" },
+ { url = "https://files.pythonhosted.org/packages/da/0d/36a47cdeaa83c3b4efdbd18d77720fa27dc40600998f4dedd7c4a1259862/geventhttpclient-2.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:4deaebc121036f7ea95430c2d0f80ab085b15280e6ab677a6360b70e57020e7f", size = 48302, upload-time = "2024-04-18T21:38:28.297Z" },
+ { url = "https://files.pythonhosted.org/packages/56/ad/1fcbbea0465f04d4425960e3737d4d8ae6407043cfc88688fb17b9064160/geventhttpclient-2.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0ae055b9ce1704f2ce72c0847df28f4e14dbb3eea79256cda6c909d82688ea3", size = 71733, upload-time = "2024-04-18T21:38:30.357Z" },
+ { url = "https://files.pythonhosted.org/packages/06/1a/10e547adb675beea407ff7117ecb4e5063534569ac14bb4360279d2888dd/geventhttpclient-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f087af2ac439495b5388841d6f3c4de8d2573ca9870593d78f7b554aa5cfa7f5", size = 52060, upload-time = "2024-04-18T21:38:32.561Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/c0/9960ac6e8818a00702743cd2a9637d6f26909ac7ac59ca231f446e367b20/geventhttpclient-2.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:76c367d175810facfe56281e516c9a5a4a191eff76641faaa30aa33882ed4b2f", size = 51649, upload-time = "2024-04-18T21:38:34.265Z" },
+ { url = "https://files.pythonhosted.org/packages/58/3a/b032cd8f885dafdfa002a8a0e4e21b633713798ec08e19010b815fbfead6/geventhttpclient-2.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a58376d0d461fe0322ff2ad362553b437daee1eeb92b4c0e3b1ffef9e77defbe", size = 117987, upload-time = "2024-04-18T21:38:37.661Z" },
+ { url = "https://files.pythonhosted.org/packages/94/36/6493a5cbc20c269a51186946947f3ca2eae687e05831289891027bd038c3/geventhttpclient-2.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f440cc704f8a9869848a109b2c401805c17c070539b2014e7b884ecfc8591e33", size = 123356, upload-time = "2024-04-18T21:38:39.705Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/07/b66d9a13b97a7e59d84b4faf704113aa963aaf3a0f71c9138c8740d57d5c/geventhttpclient-2.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f10c62994f9052f23948c19de930b2d1f063240462c8bd7077c2b3290e61f4fa", size = 114460, upload-time = "2024-04-18T21:38:40.947Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/72/1467b9e1ef63aecfe3b42333fb7607f66129dffaeca231f97e4be6f71803/geventhttpclient-2.3.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:52c45d9f3dd9627844c12e9ca347258c7be585bed54046336220e25ea6eac155", size = 112808, upload-time = "2024-04-18T21:38:42.684Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/ef/64894efd67cb3459074c734736ecacff398cd841a5538dc70e3e77d35500/geventhttpclient-2.3.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:77c1a2c6e3854bf87cd5588b95174640c8a881716bd07fa0d131d082270a6795", size = 122049, upload-time = "2024-04-18T21:38:44.184Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/c8/1b13b4ea4bb88d7c2db56d070a52daf4757b3139afd83885e81455cb422f/geventhttpclient-2.3.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ce649d4e25c2d56023471df0bf1e8e2ab67dfe4ff12ce3e8fe7e6fae30cd672a", size = 118755, upload-time = "2024-04-18T21:38:45.654Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/06/95ac63fa1ee118a4d5824aa0a6b0dc3a2934a2f4ce695bf6747e1744d813/geventhttpclient-2.3.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:265d9f31b4ac8f688eebef0bd4c814ffb37a16f769ad0c8c8b8c24a84db8eab5", size = 128053, upload-time = "2024-04-18T21:38:47.247Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/27/3d6dbbd128e1b965bae198bffa4b5552cd635397e3d2bbcc7d9592890ca9/geventhttpclient-2.3.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2de436a9d61dae877e4e811fb3e2594e2a1df1b18f4280878f318aef48a562b9", size = 117316, upload-time = "2024-04-18T21:38:49.086Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/9a/8b65daf417ff982fa1928ebc6ebdfb081750d426f877f0056288aaa689e8/geventhttpclient-2.3.1-cp311-cp311-win32.whl", hash = "sha256:83e22178b9480b0a95edf0053d4f30b717d0b696b3c262beabe6964d9c5224b1", size = 47598, upload-time = "2024-04-18T21:38:50.919Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/83/ed0d14787861cf30beddd3aadc29ad07d75555de43c629ba514ddd2978d0/geventhttpclient-2.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:97b072a282233384c1302a7dee88ad8bfedc916f06b1bc1da54f84980f1406a9", size = 48301, upload-time = "2024-04-18T21:38:52.14Z" },
+ { url = "https://files.pythonhosted.org/packages/82/ee/bf3d26170a518d2b1254f44202f2fa4490496b476ee24046ff6c34e79c08/geventhttpclient-2.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:e1c90abcc2735cd8dd2d2572a13da32f6625392dc04862decb5c6476a3ddee22", size = 71742, upload-time = "2024-04-18T21:38:54.167Z" },
+ { url = "https://files.pythonhosted.org/packages/77/72/bd64b2a491094a3fbf7f3c314bb3c3918afb652783a8a9db07b86072da35/geventhttpclient-2.3.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5deb41c2f51247b4e568c14964f59d7b8e537eff51900564c88af3200004e678", size = 52070, upload-time = "2024-04-18T21:38:55.484Z" },
+ { url = "https://files.pythonhosted.org/packages/85/96/e25becfde16c5551ba04ed2beac1f018e2efc70275ec19ae3765ff634ff2/geventhttpclient-2.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c6f1a56a66a90c4beae2f009b5e9d42db9a58ced165aa35441ace04d69cb7b37", size = 51650, upload-time = "2024-04-18T21:38:57.022Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/b8/fe6e938a369b3742103d04e5771e1ec7b18c047ac30b06a8e9704e2d34fc/geventhttpclient-2.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8ee6e741849c29e3129b1ec3828ac3a5e5dcb043402f852ea92c52334fb8cabf", size = 118507, upload-time = "2024-04-18T21:38:58.936Z" },
+ { url = "https://files.pythonhosted.org/packages/68/0b/381d01de049b02dc70addbcc1c8e24d15500bff6a9e89103c4aa8eb352c3/geventhttpclient-2.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d0972096a63b1ddaa73fa3dab2c7a136e3ab8bf7999a2f85a5dee851fa77cdd", size = 124061, upload-time = "2024-04-18T21:39:00.473Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/e6/7c97b5bf41cc403b2936a0887a85550b3153aa4b60c0c5062c49cd6286f2/geventhttpclient-2.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00675ba682fb7d19d659c14686fa8a52a65e3f301b56c2a4ee6333b380dd9467", size = 115060, upload-time = "2024-04-18T21:39:02.323Z" },
+ { url = "https://files.pythonhosted.org/packages/45/1f/3e02464449c74a8146f27218471578c1dfabf18731cf047520b76e1b6331/geventhttpclient-2.3.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea77b67c186df90473416f4403839728f70ef6cf1689cec97b4f6bbde392a8a8", size = 113762, upload-time = "2024-04-18T21:39:03.769Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/a4/08551776f7d6b219d6f73ca25be88806007b16af51a1dbfed7192528e1c3/geventhttpclient-2.3.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ddcc3f0fdffd9a3801e1005b73026202cffed8199863fdef9315bea9a860a032", size = 122018, upload-time = "2024-04-18T21:39:05.781Z" },
+ { url = "https://files.pythonhosted.org/packages/70/14/ba91417ac7cbce8d553f72c885a19c6b9d7f9dc7de81b7814551cf020a57/geventhttpclient-2.3.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:c9f1ef4ec048563cc621a47ff01a4f10048ff8b676d7a4d75e5433ed8e703e56", size = 118884, upload-time = "2024-04-18T21:39:08.001Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/78/e1f2c30e11bda8347a74b3a7254f727ff53ea260244da77d76b96779a006/geventhttpclient-2.3.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:a364b30bec7a0a00dbe256e2b6807e4dc866bead7ac84aaa51ca5e2c3d15c258", size = 128224, upload-time = "2024-04-18T21:39:09.31Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/2f/b7fd96e9cfa9d9719b0c9feb50b4cbb341d1940e34fd3305006efa8c3e33/geventhttpclient-2.3.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:25d255383d3d6a6fbd643bb51ae1a7e4f6f7b0dbd5f3225b537d0bd0432eaf39", size = 117758, upload-time = "2024-04-18T21:39:11.287Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/e0/1384c9a76379ab257b75df92283797861dcae592dd98e471df254f87c635/geventhttpclient-2.3.1-cp312-cp312-win32.whl", hash = "sha256:ad0b507e354d2f398186dcb12fe526d0594e7c9387b514fb843f7a14fdf1729a", size = 47595, upload-time = "2024-04-18T21:39:12.535Z" },
+ { url = "https://files.pythonhosted.org/packages/54/e3/6b8dbb24e3941e20abbe7736e59290c5d4182057ea1d984d46c853208bcd/geventhttpclient-2.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:7924e0883bc2b177cfe27aa65af6bb9dd57f3e26905c7675a2d1f3ef69df7cca", size = 48271, upload-time = "2024-04-18T21:39:14.479Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/9f/251b1b7e665523137a8711f0f0029196cf18b57741135f01aea80a56f16c/geventhttpclient-2.3.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c31431e38df45b3c79bf3c9427c796adb8263d622bc6fa25e2f6ba916c2aad93", size = 49827, upload-time = "2024-04-18T21:39:36.14Z" },
+ { url = "https://files.pythonhosted.org/packages/74/c7/ad4c23de669191e1c83cfa28c51d3b50fc246d72e1ee40d4d5b330532492/geventhttpclient-2.3.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:855ab1e145575769b180b57accb0573a77cd6a7392f40a6ef7bc9a4926ebd77b", size = 54017, upload-time = "2024-04-18T21:39:37.577Z" },
+ { url = "https://files.pythonhosted.org/packages/04/7b/59fc8c8fbd10596abfc46dc103654e3d9676de64229d8eee4b0a4ac2e890/geventhttpclient-2.3.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a374aad77c01539e786d0c7829bec2eba034ccd45733c1bf9811ad18d2a8ecd", size = 58359, upload-time = "2024-04-18T21:39:39.437Z" },
+ { url = "https://files.pythonhosted.org/packages/94/b7/743552b0ecda75458c83d55d62937e29c9ee9a42598f57d4025d5de70004/geventhttpclient-2.3.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66c1e97460608304f400485ac099736fff3566d3d8db2038533d466f8cf5de5a", size = 54262, upload-time = "2024-04-18T21:39:40.866Z" },
+ { url = "https://files.pythonhosted.org/packages/18/60/10f6215b6cc76b5845a7f4b9c3d1f47d7ecd84ce8769b1e27e0482d605d7/geventhttpclient-2.3.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4f843f81ee44ba4c553a1b3f73115e0ad8f00044023c24db29f5b1df3da08465", size = 48343, upload-time = "2024-04-18T21:39:42.173Z" },
]
[[package]]
name = "greenlet"
version = "3.1.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/2f/ff/df5fede753cc10f6a5be0931204ea30c35fa2f2ea7a35b25bdaf4fe40e46/greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467", size = 186022, upload_time = "2024-09-20T18:21:04.506Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/2f/ff/df5fede753cc10f6a5be0931204ea30c35fa2f2ea7a35b25bdaf4fe40e46/greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467", size = 186022, upload-time = "2024-09-20T18:21:04.506Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/25/90/5234a78dc0ef6496a6eb97b67a42a8e96742a56f7dc808cb954a85390448/greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563", size = 271235, upload_time = "2024-09-20T17:07:18.761Z" },
- { url = "https://files.pythonhosted.org/packages/7c/16/cd631fa0ab7d06ef06387135b7549fdcc77d8d859ed770a0d28e47b20972/greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83", size = 637168, upload_time = "2024-09-20T17:36:43.774Z" },
- { url = "https://files.pythonhosted.org/packages/2f/b1/aed39043a6fec33c284a2c9abd63ce191f4f1a07319340ffc04d2ed3256f/greenlet-3.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0", size = 648826, upload_time = "2024-09-20T17:39:16.921Z" },
- { url = "https://files.pythonhosted.org/packages/76/25/40e0112f7f3ebe54e8e8ed91b2b9f970805143efef16d043dfc15e70f44b/greenlet-3.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120", size = 644443, upload_time = "2024-09-20T17:44:21.896Z" },
- { url = "https://files.pythonhosted.org/packages/fb/2f/3850b867a9af519794784a7eeed1dd5bc68ffbcc5b28cef703711025fd0a/greenlet-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc", size = 643295, upload_time = "2024-09-20T17:08:37.951Z" },
- { url = "https://files.pythonhosted.org/packages/cf/69/79e4d63b9387b48939096e25115b8af7cd8a90397a304f92436bcb21f5b2/greenlet-3.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617", size = 599544, upload_time = "2024-09-20T17:08:27.894Z" },
- { url = "https://files.pythonhosted.org/packages/46/1d/44dbcb0e6c323bd6f71b8c2f4233766a5faf4b8948873225d34a0b7efa71/greenlet-3.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7", size = 1125456, upload_time = "2024-09-20T17:44:11.755Z" },
- { url = "https://files.pythonhosted.org/packages/e0/1d/a305dce121838d0278cee39d5bb268c657f10a5363ae4b726848f833f1bb/greenlet-3.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6", size = 1149111, upload_time = "2024-09-20T17:09:22.104Z" },
- { url = "https://files.pythonhosted.org/packages/96/28/d62835fb33fb5652f2e98d34c44ad1a0feacc8b1d3f1aecab035f51f267d/greenlet-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80", size = 298392, upload_time = "2024-09-20T17:28:51.988Z" },
- { url = "https://files.pythonhosted.org/packages/28/62/1c2665558618553c42922ed47a4e6d6527e2fa3516a8256c2f431c5d0441/greenlet-3.1.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70", size = 272479, upload_time = "2024-09-20T17:07:22.332Z" },
- { url = "https://files.pythonhosted.org/packages/76/9d/421e2d5f07285b6e4e3a676b016ca781f63cfe4a0cd8eaecf3fd6f7a71ae/greenlet-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159", size = 640404, upload_time = "2024-09-20T17:36:45.588Z" },
- { url = "https://files.pythonhosted.org/packages/e5/de/6e05f5c59262a584e502dd3d261bbdd2c97ab5416cc9c0b91ea38932a901/greenlet-3.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e", size = 652813, upload_time = "2024-09-20T17:39:19.052Z" },
- { url = "https://files.pythonhosted.org/packages/49/93/d5f93c84241acdea15a8fd329362c2c71c79e1a507c3f142a5d67ea435ae/greenlet-3.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1", size = 648517, upload_time = "2024-09-20T17:44:24.101Z" },
- { url = "https://files.pythonhosted.org/packages/15/85/72f77fc02d00470c86a5c982b8daafdf65d38aefbbe441cebff3bf7037fc/greenlet-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383", size = 647831, upload_time = "2024-09-20T17:08:40.577Z" },
- { url = "https://files.pythonhosted.org/packages/f7/4b/1c9695aa24f808e156c8f4813f685d975ca73c000c2a5056c514c64980f6/greenlet-3.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a", size = 602413, upload_time = "2024-09-20T17:08:31.728Z" },
- { url = "https://files.pythonhosted.org/packages/76/70/ad6e5b31ef330f03b12559d19fda2606a522d3849cde46b24f223d6d1619/greenlet-3.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511", size = 1129619, upload_time = "2024-09-20T17:44:14.222Z" },
- { url = "https://files.pythonhosted.org/packages/f4/fb/201e1b932e584066e0f0658b538e73c459b34d44b4bd4034f682423bc801/greenlet-3.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395", size = 1155198, upload_time = "2024-09-20T17:09:23.903Z" },
- { url = "https://files.pythonhosted.org/packages/12/da/b9ed5e310bb8b89661b80cbcd4db5a067903bbcd7fc854923f5ebb4144f0/greenlet-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39", size = 298930, upload_time = "2024-09-20T17:25:18.656Z" },
- { url = "https://files.pythonhosted.org/packages/7d/ec/bad1ac26764d26aa1353216fcbfa4670050f66d445448aafa227f8b16e80/greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d", size = 274260, upload_time = "2024-09-20T17:08:07.301Z" },
- { url = "https://files.pythonhosted.org/packages/66/d4/c8c04958870f482459ab5956c2942c4ec35cac7fe245527f1039837c17a9/greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79", size = 649064, upload_time = "2024-09-20T17:36:47.628Z" },
- { url = "https://files.pythonhosted.org/packages/51/41/467b12a8c7c1303d20abcca145db2be4e6cd50a951fa30af48b6ec607581/greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa", size = 663420, upload_time = "2024-09-20T17:39:21.258Z" },
- { url = "https://files.pythonhosted.org/packages/27/8f/2a93cd9b1e7107d5c7b3b7816eeadcac2ebcaf6d6513df9abaf0334777f6/greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441", size = 658035, upload_time = "2024-09-20T17:44:26.501Z" },
- { url = "https://files.pythonhosted.org/packages/57/5c/7c6f50cb12be092e1dccb2599be5a942c3416dbcfb76efcf54b3f8be4d8d/greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36", size = 660105, upload_time = "2024-09-20T17:08:42.048Z" },
- { url = "https://files.pythonhosted.org/packages/f1/66/033e58a50fd9ec9df00a8671c74f1f3a320564c6415a4ed82a1c651654ba/greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9", size = 613077, upload_time = "2024-09-20T17:08:33.707Z" },
- { url = "https://files.pythonhosted.org/packages/19/c5/36384a06f748044d06bdd8776e231fadf92fc896bd12cb1c9f5a1bda9578/greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0", size = 1135975, upload_time = "2024-09-20T17:44:15.989Z" },
- { url = "https://files.pythonhosted.org/packages/38/f9/c0a0eb61bdf808d23266ecf1d63309f0e1471f284300ce6dac0ae1231881/greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942", size = 1163955, upload_time = "2024-09-20T17:09:25.539Z" },
- { url = "https://files.pythonhosted.org/packages/43/21/a5d9df1d21514883333fc86584c07c2b49ba7c602e670b174bd73cfc9c7f/greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01", size = 299655, upload_time = "2024-09-20T17:21:22.427Z" },
- { url = "https://files.pythonhosted.org/packages/f3/57/0db4940cd7bb461365ca8d6fd53e68254c9dbbcc2b452e69d0d41f10a85e/greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1", size = 272990, upload_time = "2024-09-20T17:08:26.312Z" },
- { url = "https://files.pythonhosted.org/packages/1c/ec/423d113c9f74e5e402e175b157203e9102feeb7088cee844d735b28ef963/greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff", size = 649175, upload_time = "2024-09-20T17:36:48.983Z" },
- { url = "https://files.pythonhosted.org/packages/a9/46/ddbd2db9ff209186b7b7c621d1432e2f21714adc988703dbdd0e65155c77/greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a", size = 663425, upload_time = "2024-09-20T17:39:22.705Z" },
- { url = "https://files.pythonhosted.org/packages/bc/f9/9c82d6b2b04aa37e38e74f0c429aece5eeb02bab6e3b98e7db89b23d94c6/greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e", size = 657736, upload_time = "2024-09-20T17:44:28.544Z" },
- { url = "https://files.pythonhosted.org/packages/d9/42/b87bc2a81e3a62c3de2b0d550bf91a86939442b7ff85abb94eec3fc0e6aa/greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4", size = 660347, upload_time = "2024-09-20T17:08:45.56Z" },
- { url = "https://files.pythonhosted.org/packages/37/fa/71599c3fd06336cdc3eac52e6871cfebab4d9d70674a9a9e7a482c318e99/greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e", size = 615583, upload_time = "2024-09-20T17:08:36.85Z" },
- { url = "https://files.pythonhosted.org/packages/4e/96/e9ef85de031703ee7a4483489b40cf307f93c1824a02e903106f2ea315fe/greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1", size = 1133039, upload_time = "2024-09-20T17:44:18.287Z" },
- { url = "https://files.pythonhosted.org/packages/87/76/b2b6362accd69f2d1889db61a18c94bc743e961e3cab344c2effaa4b4a25/greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c", size = 1160716, upload_time = "2024-09-20T17:09:27.112Z" },
- { url = "https://files.pythonhosted.org/packages/1f/1b/54336d876186920e185066d8c3024ad55f21d7cc3683c856127ddb7b13ce/greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761", size = 299490, upload_time = "2024-09-20T17:17:09.501Z" },
- { url = "https://files.pythonhosted.org/packages/5f/17/bea55bf36990e1638a2af5ba10c1640273ef20f627962cf97107f1e5d637/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011", size = 643731, upload_time = "2024-09-20T17:36:50.376Z" },
- { url = "https://files.pythonhosted.org/packages/78/d2/aa3d2157f9ab742a08e0fd8f77d4699f37c22adfbfeb0c610a186b5f75e0/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13", size = 649304, upload_time = "2024-09-20T17:39:24.55Z" },
- { url = "https://files.pythonhosted.org/packages/f1/8e/d0aeffe69e53ccff5a28fa86f07ad1d2d2d6537a9506229431a2a02e2f15/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475", size = 646537, upload_time = "2024-09-20T17:44:31.102Z" },
- { url = "https://files.pythonhosted.org/packages/05/79/e15408220bbb989469c8871062c97c6c9136770657ba779711b90870d867/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b", size = 642506, upload_time = "2024-09-20T17:08:47.852Z" },
- { url = "https://files.pythonhosted.org/packages/18/87/470e01a940307796f1d25f8167b551a968540fbe0551c0ebb853cb527dd6/greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822", size = 602753, upload_time = "2024-09-20T17:08:38.079Z" },
- { url = "https://files.pythonhosted.org/packages/e2/72/576815ba674eddc3c25028238f74d7b8068902b3968cbe456771b166455e/greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01", size = 1122731, upload_time = "2024-09-20T17:44:20.556Z" },
- { url = "https://files.pythonhosted.org/packages/ac/38/08cc303ddddc4b3d7c628c3039a61a3aae36c241ed01393d00c2fd663473/greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6", size = 1142112, upload_time = "2024-09-20T17:09:28.753Z" },
+ { url = "https://files.pythonhosted.org/packages/25/90/5234a78dc0ef6496a6eb97b67a42a8e96742a56f7dc808cb954a85390448/greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563", size = 271235, upload-time = "2024-09-20T17:07:18.761Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/16/cd631fa0ab7d06ef06387135b7549fdcc77d8d859ed770a0d28e47b20972/greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83", size = 637168, upload-time = "2024-09-20T17:36:43.774Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/b1/aed39043a6fec33c284a2c9abd63ce191f4f1a07319340ffc04d2ed3256f/greenlet-3.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0", size = 648826, upload-time = "2024-09-20T17:39:16.921Z" },
+ { url = "https://files.pythonhosted.org/packages/76/25/40e0112f7f3ebe54e8e8ed91b2b9f970805143efef16d043dfc15e70f44b/greenlet-3.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120", size = 644443, upload-time = "2024-09-20T17:44:21.896Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/2f/3850b867a9af519794784a7eeed1dd5bc68ffbcc5b28cef703711025fd0a/greenlet-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc", size = 643295, upload-time = "2024-09-20T17:08:37.951Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/69/79e4d63b9387b48939096e25115b8af7cd8a90397a304f92436bcb21f5b2/greenlet-3.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617", size = 599544, upload-time = "2024-09-20T17:08:27.894Z" },
+ { url = "https://files.pythonhosted.org/packages/46/1d/44dbcb0e6c323bd6f71b8c2f4233766a5faf4b8948873225d34a0b7efa71/greenlet-3.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7", size = 1125456, upload-time = "2024-09-20T17:44:11.755Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/1d/a305dce121838d0278cee39d5bb268c657f10a5363ae4b726848f833f1bb/greenlet-3.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6", size = 1149111, upload-time = "2024-09-20T17:09:22.104Z" },
+ { url = "https://files.pythonhosted.org/packages/96/28/d62835fb33fb5652f2e98d34c44ad1a0feacc8b1d3f1aecab035f51f267d/greenlet-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80", size = 298392, upload-time = "2024-09-20T17:28:51.988Z" },
+ { url = "https://files.pythonhosted.org/packages/28/62/1c2665558618553c42922ed47a4e6d6527e2fa3516a8256c2f431c5d0441/greenlet-3.1.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70", size = 272479, upload-time = "2024-09-20T17:07:22.332Z" },
+ { url = "https://files.pythonhosted.org/packages/76/9d/421e2d5f07285b6e4e3a676b016ca781f63cfe4a0cd8eaecf3fd6f7a71ae/greenlet-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159", size = 640404, upload-time = "2024-09-20T17:36:45.588Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/de/6e05f5c59262a584e502dd3d261bbdd2c97ab5416cc9c0b91ea38932a901/greenlet-3.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e", size = 652813, upload-time = "2024-09-20T17:39:19.052Z" },
+ { url = "https://files.pythonhosted.org/packages/49/93/d5f93c84241acdea15a8fd329362c2c71c79e1a507c3f142a5d67ea435ae/greenlet-3.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1", size = 648517, upload-time = "2024-09-20T17:44:24.101Z" },
+ { url = "https://files.pythonhosted.org/packages/15/85/72f77fc02d00470c86a5c982b8daafdf65d38aefbbe441cebff3bf7037fc/greenlet-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383", size = 647831, upload-time = "2024-09-20T17:08:40.577Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/4b/1c9695aa24f808e156c8f4813f685d975ca73c000c2a5056c514c64980f6/greenlet-3.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a", size = 602413, upload-time = "2024-09-20T17:08:31.728Z" },
+ { url = "https://files.pythonhosted.org/packages/76/70/ad6e5b31ef330f03b12559d19fda2606a522d3849cde46b24f223d6d1619/greenlet-3.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511", size = 1129619, upload-time = "2024-09-20T17:44:14.222Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/fb/201e1b932e584066e0f0658b538e73c459b34d44b4bd4034f682423bc801/greenlet-3.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395", size = 1155198, upload-time = "2024-09-20T17:09:23.903Z" },
+ { url = "https://files.pythonhosted.org/packages/12/da/b9ed5e310bb8b89661b80cbcd4db5a067903bbcd7fc854923f5ebb4144f0/greenlet-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39", size = 298930, upload-time = "2024-09-20T17:25:18.656Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/ec/bad1ac26764d26aa1353216fcbfa4670050f66d445448aafa227f8b16e80/greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d", size = 274260, upload-time = "2024-09-20T17:08:07.301Z" },
+ { url = "https://files.pythonhosted.org/packages/66/d4/c8c04958870f482459ab5956c2942c4ec35cac7fe245527f1039837c17a9/greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79", size = 649064, upload-time = "2024-09-20T17:36:47.628Z" },
+ { url = "https://files.pythonhosted.org/packages/51/41/467b12a8c7c1303d20abcca145db2be4e6cd50a951fa30af48b6ec607581/greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa", size = 663420, upload-time = "2024-09-20T17:39:21.258Z" },
+ { url = "https://files.pythonhosted.org/packages/27/8f/2a93cd9b1e7107d5c7b3b7816eeadcac2ebcaf6d6513df9abaf0334777f6/greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441", size = 658035, upload-time = "2024-09-20T17:44:26.501Z" },
+ { url = "https://files.pythonhosted.org/packages/57/5c/7c6f50cb12be092e1dccb2599be5a942c3416dbcfb76efcf54b3f8be4d8d/greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36", size = 660105, upload-time = "2024-09-20T17:08:42.048Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/66/033e58a50fd9ec9df00a8671c74f1f3a320564c6415a4ed82a1c651654ba/greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9", size = 613077, upload-time = "2024-09-20T17:08:33.707Z" },
+ { url = "https://files.pythonhosted.org/packages/19/c5/36384a06f748044d06bdd8776e231fadf92fc896bd12cb1c9f5a1bda9578/greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0", size = 1135975, upload-time = "2024-09-20T17:44:15.989Z" },
+ { url = "https://files.pythonhosted.org/packages/38/f9/c0a0eb61bdf808d23266ecf1d63309f0e1471f284300ce6dac0ae1231881/greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942", size = 1163955, upload-time = "2024-09-20T17:09:25.539Z" },
+ { url = "https://files.pythonhosted.org/packages/43/21/a5d9df1d21514883333fc86584c07c2b49ba7c602e670b174bd73cfc9c7f/greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01", size = 299655, upload-time = "2024-09-20T17:21:22.427Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/57/0db4940cd7bb461365ca8d6fd53e68254c9dbbcc2b452e69d0d41f10a85e/greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1", size = 272990, upload-time = "2024-09-20T17:08:26.312Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/ec/423d113c9f74e5e402e175b157203e9102feeb7088cee844d735b28ef963/greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff", size = 649175, upload-time = "2024-09-20T17:36:48.983Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/46/ddbd2db9ff209186b7b7c621d1432e2f21714adc988703dbdd0e65155c77/greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a", size = 663425, upload-time = "2024-09-20T17:39:22.705Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/f9/9c82d6b2b04aa37e38e74f0c429aece5eeb02bab6e3b98e7db89b23d94c6/greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e", size = 657736, upload-time = "2024-09-20T17:44:28.544Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/42/b87bc2a81e3a62c3de2b0d550bf91a86939442b7ff85abb94eec3fc0e6aa/greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4", size = 660347, upload-time = "2024-09-20T17:08:45.56Z" },
+ { url = "https://files.pythonhosted.org/packages/37/fa/71599c3fd06336cdc3eac52e6871cfebab4d9d70674a9a9e7a482c318e99/greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e", size = 615583, upload-time = "2024-09-20T17:08:36.85Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/96/e9ef85de031703ee7a4483489b40cf307f93c1824a02e903106f2ea315fe/greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1", size = 1133039, upload-time = "2024-09-20T17:44:18.287Z" },
+ { url = "https://files.pythonhosted.org/packages/87/76/b2b6362accd69f2d1889db61a18c94bc743e961e3cab344c2effaa4b4a25/greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c", size = 1160716, upload-time = "2024-09-20T17:09:27.112Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/1b/54336d876186920e185066d8c3024ad55f21d7cc3683c856127ddb7b13ce/greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761", size = 299490, upload-time = "2024-09-20T17:17:09.501Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/17/bea55bf36990e1638a2af5ba10c1640273ef20f627962cf97107f1e5d637/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011", size = 643731, upload-time = "2024-09-20T17:36:50.376Z" },
+ { url = "https://files.pythonhosted.org/packages/78/d2/aa3d2157f9ab742a08e0fd8f77d4699f37c22adfbfeb0c610a186b5f75e0/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13", size = 649304, upload-time = "2024-09-20T17:39:24.55Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/8e/d0aeffe69e53ccff5a28fa86f07ad1d2d2d6537a9506229431a2a02e2f15/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475", size = 646537, upload-time = "2024-09-20T17:44:31.102Z" },
+ { url = "https://files.pythonhosted.org/packages/05/79/e15408220bbb989469c8871062c97c6c9136770657ba779711b90870d867/greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b", size = 642506, upload-time = "2024-09-20T17:08:47.852Z" },
+ { url = "https://files.pythonhosted.org/packages/18/87/470e01a940307796f1d25f8167b551a968540fbe0551c0ebb853cb527dd6/greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822", size = 602753, upload-time = "2024-09-20T17:08:38.079Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/72/576815ba674eddc3c25028238f74d7b8068902b3968cbe456771b166455e/greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01", size = 1122731, upload-time = "2024-09-20T17:44:20.556Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/38/08cc303ddddc4b3d7c628c3039a61a3aae36c241ed01393d00c2fd663473/greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6", size = 1142112, upload-time = "2024-09-20T17:09:28.753Z" },
]
[[package]]
@@ -805,18 +805,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "packaging" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/34/72/9614c465dc206155d93eff0ca20d42e1e35afc533971379482de953521a4/gunicorn-23.0.0.tar.gz", hash = "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec", size = 375031, upload_time = "2024-08-10T20:25:27.378Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/34/72/9614c465dc206155d93eff0ca20d42e1e35afc533971379482de953521a4/gunicorn-23.0.0.tar.gz", hash = "sha256:f014447a0101dc57e294f6c18ca6b40227a4c90e9bdb586042628030cba004ec", size = 375031, upload-time = "2024-08-10T20:25:27.378Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/cb/7d/6dac2a6e1eba33ee43f318edbed4ff29151a49b5d37f080aad1e6469bca4/gunicorn-23.0.0-py3-none-any.whl", hash = "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d", size = 85029, upload_time = "2024-08-10T20:25:24.996Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/7d/6dac2a6e1eba33ee43f318edbed4ff29151a49b5d37f080aad1e6469bca4/gunicorn-23.0.0-py3-none-any.whl", hash = "sha256:ec400d38950de4dfd418cff8328b2c8faed0edb0d517d3394e457c317908ca4d", size = 85029, upload-time = "2024-08-10T20:25:24.996Z" },
]
[[package]]
name = "h11"
version = "0.14.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload_time = "2022-09-25T15:40:01.519Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload-time = "2022-09-25T15:40:01.519Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload_time = "2022-09-25T15:39:59.68Z" },
+ { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload-time = "2022-09-25T15:39:59.68Z" },
]
[[package]]
@@ -827,45 +827,45 @@ dependencies = [
{ name = "certifi" },
{ name = "h11" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/18/56/78a38490b834fa0942cbe6d39bd8a7fd76316e8940319305a98d2b320366/httpcore-1.0.2.tar.gz", hash = "sha256:9fc092e4799b26174648e54b74ed5f683132a464e95643b226e00c2ed2fa6535", size = 81036, upload_time = "2023-11-10T13:37:42.496Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/18/56/78a38490b834fa0942cbe6d39bd8a7fd76316e8940319305a98d2b320366/httpcore-1.0.2.tar.gz", hash = "sha256:9fc092e4799b26174648e54b74ed5f683132a464e95643b226e00c2ed2fa6535", size = 81036, upload-time = "2023-11-10T13:37:42.496Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/56/ba/78b0a99c4da0ff8b0f59defa2f13ca4668189b134bd9840b6202a93d9a0f/httpcore-1.0.2-py3-none-any.whl", hash = "sha256:096cc05bca73b8e459a1fc3dcf585148f63e534eae4339559c9b8a8d6399acc7", size = 76943, upload_time = "2023-11-10T13:37:40.937Z" },
+ { url = "https://files.pythonhosted.org/packages/56/ba/78b0a99c4da0ff8b0f59defa2f13ca4668189b134bd9840b6202a93d9a0f/httpcore-1.0.2-py3-none-any.whl", hash = "sha256:096cc05bca73b8e459a1fc3dcf585148f63e534eae4339559c9b8a8d6399acc7", size = 76943, upload-time = "2023-11-10T13:37:40.937Z" },
]
[[package]]
name = "httptools"
version = "0.6.4"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639, upload_time = "2024-10-16T19:45:08.902Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639, upload-time = "2024-10-16T19:45:08.902Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/3b/6f/972f8eb0ea7d98a1c6be436e2142d51ad2a64ee18e02b0e7ff1f62171ab1/httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3c73ce323711a6ffb0d247dcd5a550b8babf0f757e86a52558fe5b86d6fefcc0", size = 198780, upload_time = "2024-10-16T19:44:06.882Z" },
- { url = "https://files.pythonhosted.org/packages/6a/b0/17c672b4bc5c7ba7f201eada4e96c71d0a59fbc185e60e42580093a86f21/httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:345c288418f0944a6fe67be8e6afa9262b18c7626c3ef3c28adc5eabc06a68da", size = 103297, upload_time = "2024-10-16T19:44:08.129Z" },
- { url = "https://files.pythonhosted.org/packages/92/5e/b4a826fe91971a0b68e8c2bd4e7db3e7519882f5a8ccdb1194be2b3ab98f/httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deee0e3343f98ee8047e9f4c5bc7cedbf69f5734454a94c38ee829fb2d5fa3c1", size = 443130, upload_time = "2024-10-16T19:44:09.45Z" },
- { url = "https://files.pythonhosted.org/packages/b0/51/ce61e531e40289a681a463e1258fa1e05e0be54540e40d91d065a264cd8f/httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca80b7485c76f768a3bc83ea58373f8db7b015551117375e4918e2aa77ea9b50", size = 442148, upload_time = "2024-10-16T19:44:11.539Z" },
- { url = "https://files.pythonhosted.org/packages/ea/9e/270b7d767849b0c96f275c695d27ca76c30671f8eb8cc1bab6ced5c5e1d0/httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90d96a385fa941283ebd231464045187a31ad932ebfa541be8edf5b3c2328959", size = 415949, upload_time = "2024-10-16T19:44:13.388Z" },
- { url = "https://files.pythonhosted.org/packages/81/86/ced96e3179c48c6f656354e106934e65c8963d48b69be78f355797f0e1b3/httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:59e724f8b332319e2875efd360e61ac07f33b492889284a3e05e6d13746876f4", size = 417591, upload_time = "2024-10-16T19:44:15.258Z" },
- { url = "https://files.pythonhosted.org/packages/75/73/187a3f620ed3175364ddb56847d7a608a6fc42d551e133197098c0143eca/httptools-0.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:c26f313951f6e26147833fc923f78f95604bbec812a43e5ee37f26dc9e5a686c", size = 88344, upload_time = "2024-10-16T19:44:16.54Z" },
- { url = "https://files.pythonhosted.org/packages/7b/26/bb526d4d14c2774fe07113ca1db7255737ffbb119315839af2065abfdac3/httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f47f8ed67cc0ff862b84a1189831d1d33c963fb3ce1ee0c65d3b0cbe7b711069", size = 199029, upload_time = "2024-10-16T19:44:18.427Z" },
- { url = "https://files.pythonhosted.org/packages/a6/17/3e0d3e9b901c732987a45f4f94d4e2c62b89a041d93db89eafb262afd8d5/httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0614154d5454c21b6410fdf5262b4a3ddb0f53f1e1721cfd59d55f32138c578a", size = 103492, upload_time = "2024-10-16T19:44:19.515Z" },
- { url = "https://files.pythonhosted.org/packages/b7/24/0fe235d7b69c42423c7698d086d4db96475f9b50b6ad26a718ef27a0bce6/httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8787367fbdfccae38e35abf7641dafc5310310a5987b689f4c32cc8cc3ee975", size = 462891, upload_time = "2024-10-16T19:44:21.067Z" },
- { url = "https://files.pythonhosted.org/packages/b1/2f/205d1f2a190b72da6ffb5f41a3736c26d6fa7871101212b15e9b5cd8f61d/httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b0f7fe4fd38e6a507bdb751db0379df1e99120c65fbdc8ee6c1d044897a636", size = 459788, upload_time = "2024-10-16T19:44:22.958Z" },
- { url = "https://files.pythonhosted.org/packages/6e/4c/d09ce0eff09057a206a74575ae8f1e1e2f0364d20e2442224f9e6612c8b9/httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40a5ec98d3f49904b9fe36827dcf1aadfef3b89e2bd05b0e35e94f97c2b14721", size = 433214, upload_time = "2024-10-16T19:44:24.513Z" },
- { url = "https://files.pythonhosted.org/packages/3e/d2/84c9e23edbccc4a4c6f96a1b8d99dfd2350289e94f00e9ccc7aadde26fb5/httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dacdd3d10ea1b4ca9df97a0a303cbacafc04b5cd375fa98732678151643d4988", size = 434120, upload_time = "2024-10-16T19:44:26.295Z" },
- { url = "https://files.pythonhosted.org/packages/d0/46/4d8e7ba9581416de1c425b8264e2cadd201eb709ec1584c381f3e98f51c1/httptools-0.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:288cd628406cc53f9a541cfaf06041b4c71d751856bab45e3702191f931ccd17", size = 88565, upload_time = "2024-10-16T19:44:29.188Z" },
- { url = "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2", size = 200683, upload_time = "2024-10-16T19:44:30.175Z" },
- { url = "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44", size = 104337, upload_time = "2024-10-16T19:44:31.786Z" },
- { url = "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1", size = 508796, upload_time = "2024-10-16T19:44:32.825Z" },
- { url = "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2", size = 510837, upload_time = "2024-10-16T19:44:33.974Z" },
- { url = "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81", size = 485289, upload_time = "2024-10-16T19:44:35.111Z" },
- { url = "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f", size = 489779, upload_time = "2024-10-16T19:44:36.253Z" },
- { url = "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970", size = 88634, upload_time = "2024-10-16T19:44:37.357Z" },
- { url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214, upload_time = "2024-10-16T19:44:38.738Z" },
- { url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431, upload_time = "2024-10-16T19:44:39.818Z" },
- { url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121, upload_time = "2024-10-16T19:44:41.189Z" },
- { url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805, upload_time = "2024-10-16T19:44:42.384Z" },
- { url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858, upload_time = "2024-10-16T19:44:43.959Z" },
- { url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042, upload_time = "2024-10-16T19:44:45.071Z" },
- { url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682, upload_time = "2024-10-16T19:44:46.46Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/6f/972f8eb0ea7d98a1c6be436e2142d51ad2a64ee18e02b0e7ff1f62171ab1/httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3c73ce323711a6ffb0d247dcd5a550b8babf0f757e86a52558fe5b86d6fefcc0", size = 198780, upload-time = "2024-10-16T19:44:06.882Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/b0/17c672b4bc5c7ba7f201eada4e96c71d0a59fbc185e60e42580093a86f21/httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:345c288418f0944a6fe67be8e6afa9262b18c7626c3ef3c28adc5eabc06a68da", size = 103297, upload-time = "2024-10-16T19:44:08.129Z" },
+ { url = "https://files.pythonhosted.org/packages/92/5e/b4a826fe91971a0b68e8c2bd4e7db3e7519882f5a8ccdb1194be2b3ab98f/httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deee0e3343f98ee8047e9f4c5bc7cedbf69f5734454a94c38ee829fb2d5fa3c1", size = 443130, upload-time = "2024-10-16T19:44:09.45Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/51/ce61e531e40289a681a463e1258fa1e05e0be54540e40d91d065a264cd8f/httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca80b7485c76f768a3bc83ea58373f8db7b015551117375e4918e2aa77ea9b50", size = 442148, upload-time = "2024-10-16T19:44:11.539Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/9e/270b7d767849b0c96f275c695d27ca76c30671f8eb8cc1bab6ced5c5e1d0/httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90d96a385fa941283ebd231464045187a31ad932ebfa541be8edf5b3c2328959", size = 415949, upload-time = "2024-10-16T19:44:13.388Z" },
+ { url = "https://files.pythonhosted.org/packages/81/86/ced96e3179c48c6f656354e106934e65c8963d48b69be78f355797f0e1b3/httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:59e724f8b332319e2875efd360e61ac07f33b492889284a3e05e6d13746876f4", size = 417591, upload-time = "2024-10-16T19:44:15.258Z" },
+ { url = "https://files.pythonhosted.org/packages/75/73/187a3f620ed3175364ddb56847d7a608a6fc42d551e133197098c0143eca/httptools-0.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:c26f313951f6e26147833fc923f78f95604bbec812a43e5ee37f26dc9e5a686c", size = 88344, upload-time = "2024-10-16T19:44:16.54Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/26/bb526d4d14c2774fe07113ca1db7255737ffbb119315839af2065abfdac3/httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f47f8ed67cc0ff862b84a1189831d1d33c963fb3ce1ee0c65d3b0cbe7b711069", size = 199029, upload-time = "2024-10-16T19:44:18.427Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/17/3e0d3e9b901c732987a45f4f94d4e2c62b89a041d93db89eafb262afd8d5/httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0614154d5454c21b6410fdf5262b4a3ddb0f53f1e1721cfd59d55f32138c578a", size = 103492, upload-time = "2024-10-16T19:44:19.515Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/24/0fe235d7b69c42423c7698d086d4db96475f9b50b6ad26a718ef27a0bce6/httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8787367fbdfccae38e35abf7641dafc5310310a5987b689f4c32cc8cc3ee975", size = 462891, upload-time = "2024-10-16T19:44:21.067Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/2f/205d1f2a190b72da6ffb5f41a3736c26d6fa7871101212b15e9b5cd8f61d/httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b0f7fe4fd38e6a507bdb751db0379df1e99120c65fbdc8ee6c1d044897a636", size = 459788, upload-time = "2024-10-16T19:44:22.958Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/4c/d09ce0eff09057a206a74575ae8f1e1e2f0364d20e2442224f9e6612c8b9/httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40a5ec98d3f49904b9fe36827dcf1aadfef3b89e2bd05b0e35e94f97c2b14721", size = 433214, upload-time = "2024-10-16T19:44:24.513Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/d2/84c9e23edbccc4a4c6f96a1b8d99dfd2350289e94f00e9ccc7aadde26fb5/httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dacdd3d10ea1b4ca9df97a0a303cbacafc04b5cd375fa98732678151643d4988", size = 434120, upload-time = "2024-10-16T19:44:26.295Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/46/4d8e7ba9581416de1c425b8264e2cadd201eb709ec1584c381f3e98f51c1/httptools-0.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:288cd628406cc53f9a541cfaf06041b4c71d751856bab45e3702191f931ccd17", size = 88565, upload-time = "2024-10-16T19:44:29.188Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2", size = 200683, upload-time = "2024-10-16T19:44:30.175Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44", size = 104337, upload-time = "2024-10-16T19:44:31.786Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1", size = 508796, upload-time = "2024-10-16T19:44:32.825Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2", size = 510837, upload-time = "2024-10-16T19:44:33.974Z" },
+ { url = "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81", size = 485289, upload-time = "2024-10-16T19:44:35.111Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f", size = 489779, upload-time = "2024-10-16T19:44:36.253Z" },
+ { url = "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970", size = 88634, upload-time = "2024-10-16T19:44:37.357Z" },
+ { url = "https://files.pythonhosted.org/packages/94/a3/9fe9ad23fd35f7de6b91eeb60848986058bd8b5a5c1e256f5860a160cc3e/httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660", size = 197214, upload-time = "2024-10-16T19:44:38.738Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/d9/82d5e68bab783b632023f2fa31db20bebb4e89dfc4d2293945fd68484ee4/httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083", size = 102431, upload-time = "2024-10-16T19:44:39.818Z" },
+ { url = "https://files.pythonhosted.org/packages/96/c1/cb499655cbdbfb57b577734fde02f6fa0bbc3fe9fb4d87b742b512908dff/httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3", size = 473121, upload-time = "2024-10-16T19:44:41.189Z" },
+ { url = "https://files.pythonhosted.org/packages/af/71/ee32fd358f8a3bb199b03261f10921716990808a675d8160b5383487a317/httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071", size = 473805, upload-time = "2024-10-16T19:44:42.384Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/0a/0d4df132bfca1507114198b766f1737d57580c9ad1cf93c1ff673e3387be/httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5", size = 448858, upload-time = "2024-10-16T19:44:43.959Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/6a/787004fdef2cabea27bad1073bf6a33f2437b4dbd3b6fb4a9d71172b1c7c/httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0", size = 452042, upload-time = "2024-10-16T19:44:45.071Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/dc/7decab5c404d1d2cdc1bb330b1bf70e83d6af0396fd4fc76fc60c0d522bf/httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8", size = 87682, upload-time = "2024-10-16T19:44:46.46Z" },
]
[[package]]
@@ -878,9 +878,9 @@ dependencies = [
{ name = "httpcore" },
{ name = "idna" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload_time = "2024-12-06T15:37:23.222Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload_time = "2024-12-06T15:37:21.509Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" },
]
[[package]]
@@ -896,9 +896,9 @@ dependencies = [
{ name = "tqdm" },
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/df/22/8eb91736b1dcb83d879bd49050a09df29a57cc5cd9f38e48a4b1c45ee890/huggingface_hub-0.30.2.tar.gz", hash = "sha256:9a7897c5b6fd9dad3168a794a8998d6378210f5b9688d0dfc180b1a228dc2466", size = 400868, upload_time = "2025-04-08T08:32:45.26Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/df/22/8eb91736b1dcb83d879bd49050a09df29a57cc5cd9f38e48a4b1c45ee890/huggingface_hub-0.30.2.tar.gz", hash = "sha256:9a7897c5b6fd9dad3168a794a8998d6378210f5b9688d0dfc180b1a228dc2466", size = 400868, upload-time = "2025-04-08T08:32:45.26Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/93/27/1fb384a841e9661faad1c31cbfa62864f59632e876df5d795234da51c395/huggingface_hub-0.30.2-py3-none-any.whl", hash = "sha256:68ff05969927058cfa41df4f2155d4bb48f5f54f719dd0390103eefa9b191e28", size = 481433, upload_time = "2025-04-08T08:32:43.305Z" },
+ { url = "https://files.pythonhosted.org/packages/93/27/1fb384a841e9661faad1c31cbfa62864f59632e876df5d795234da51c395/huggingface_hub-0.30.2-py3-none-any.whl", hash = "sha256:68ff05969927058cfa41df4f2155d4bb48f5f54f719dd0390103eefa9b191e28", size = 481433, upload-time = "2025-04-08T08:32:43.305Z" },
]
[[package]]
@@ -908,18 +908,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pyreadline3", marker = "sys_platform == 'win32'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702, upload_time = "2021-09-17T21:40:43.31Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702, upload-time = "2021-09-17T21:40:43.31Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f0/0f/310fb31e39e2d734ccaa2c0fb981ee41f7bd5056ce9bc29b2248bd569169/humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477", size = 86794, upload_time = "2021-09-17T21:40:39.897Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/0f/310fb31e39e2d734ccaa2c0fb981ee41f7bd5056ce9bc29b2248bd569169/humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477", size = 86794, upload-time = "2021-09-17T21:40:39.897Z" },
]
[[package]]
name = "idna"
version = "3.6"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/bf/3f/ea4b9117521a1e9c50344b909be7886dd00a519552724809bb1f486986c2/idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca", size = 175426, upload_time = "2023-11-25T15:40:54.902Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/bf/3f/ea4b9117521a1e9c50344b909be7886dd00a519552724809bb1f486986c2/idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca", size = 175426, upload-time = "2023-11-25T15:40:54.902Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", size = 61567, upload_time = "2023-11-25T15:40:52.604Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/e7/a82b05cf63a603df6e68d59ae6a68bf5064484a0718ea5033660af4b54a9/idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f", size = 61567, upload-time = "2023-11-25T15:40:52.604Z" },
]
[[package]]
@@ -930,9 +930,9 @@ dependencies = [
{ name = "numpy" },
{ name = "pillow" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/25/38/f4c568318c656352d211eec6954460dc3af0b7583a6682308f8a66e4c19b/imageio-2.33.1.tar.gz", hash = "sha256:78722d40b137bd98f5ec7312119f8aea9ad2049f76f434748eb306b6937cc1ce", size = 387374, upload_time = "2023-12-11T02:26:44.715Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/25/38/f4c568318c656352d211eec6954460dc3af0b7583a6682308f8a66e4c19b/imageio-2.33.1.tar.gz", hash = "sha256:78722d40b137bd98f5ec7312119f8aea9ad2049f76f434748eb306b6937cc1ce", size = 387374, upload-time = "2023-12-11T02:26:44.715Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c0/69/3aaa69cb0748e33e644fda114c9abd3186ce369edd4fca11107e9f39c6a7/imageio-2.33.1-py3-none-any.whl", hash = "sha256:c5094c48ccf6b2e6da8b4061cd95e1209380afafcbeae4a4e280938cce227e1d", size = 313345, upload_time = "2023-12-11T02:26:42.724Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/69/3aaa69cb0748e33e644fda114c9abd3186ce369edd4fca11107e9f39c6a7/imageio-2.33.1-py3-none-any.whl", hash = "sha256:c5094c48ccf6b2e6da8b4061cd95e1209380afafcbeae4a4e280938cce227e1d", size = 313345, upload-time = "2023-12-11T02:26:42.724Z" },
]
[[package]]
@@ -1089,9 +1089,9 @@ types = [
name = "iniconfig"
version = "2.0.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646, upload_time = "2023-01-07T11:08:11.254Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646, upload-time = "2023-01-07T11:08:11.254Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892, upload_time = "2023-01-07T11:08:09.864Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892, upload-time = "2023-01-07T11:08:09.864Z" },
]
[[package]]
@@ -1113,15 +1113,15 @@ dependencies = [
{ name = "scipy" },
{ name = "tqdm" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/0b/8d/0f4af90999ca96cf8cb846eb5ae27c5ef5b390f9c090dd19e4fa76364c13/insightface-0.7.3.tar.gz", hash = "sha256:f191f719612ebb37018f41936814500544cd0f86e6fcd676c023f354c668ddf7", size = 439490, upload_time = "2023-04-02T08:01:54.541Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/0b/8d/0f4af90999ca96cf8cb846eb5ae27c5ef5b390f9c090dd19e4fa76364c13/insightface-0.7.3.tar.gz", hash = "sha256:f191f719612ebb37018f41936814500544cd0f86e6fcd676c023f354c668ddf7", size = 439490, upload-time = "2023-04-02T08:01:54.541Z" }
[[package]]
name = "itsdangerous"
version = "2.1.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/7f/a1/d3fb83e7a61fa0c0d3d08ad0a94ddbeff3731c05212617dff3a94e097f08/itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a", size = 56143, upload_time = "2022-03-24T15:12:15.102Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/7f/a1/d3fb83e7a61fa0c0d3d08ad0a94ddbeff3731c05212617dff3a94e097f08/itsdangerous-2.1.2.tar.gz", hash = "sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a", size = 56143, upload-time = "2022-03-24T15:12:15.102Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/68/5f/447e04e828f47465eeab35b5d408b7ebaaaee207f48b7136c5a7267a30ae/itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44", size = 15749, upload_time = "2022-03-24T15:12:13.2Z" },
+ { url = "https://files.pythonhosted.org/packages/68/5f/447e04e828f47465eeab35b5d408b7ebaaaee207f48b7136c5a7267a30ae/itsdangerous-2.1.2-py3-none-any.whl", hash = "sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44", size = 15749, upload-time = "2022-03-24T15:12:13.2Z" },
]
[[package]]
@@ -1131,80 +1131,80 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "markupsafe" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ed/55/39036716d19cab0747a5020fc7e907f362fbf48c984b14e62127f7e68e5d/jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369", size = 240245, upload_time = "2024-05-05T23:42:02.455Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ed/55/39036716d19cab0747a5020fc7e907f362fbf48c984b14e62127f7e68e5d/jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369", size = 240245, upload-time = "2024-05-05T23:42:02.455Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d", size = 133271, upload_time = "2024-05-05T23:41:59.928Z" },
+ { url = "https://files.pythonhosted.org/packages/31/80/3a54838c3fb461f6fec263ebf3a3a41771bd05190238de3486aae8540c36/jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d", size = 133271, upload-time = "2024-05-05T23:41:59.928Z" },
]
[[package]]
name = "joblib"
version = "1.3.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/15/0f/d3b33b9f106dddef461f6df1872b7881321b247f3d255b87f61a7636f7fe/joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1", size = 1987720, upload_time = "2023-08-09T09:23:40.503Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/15/0f/d3b33b9f106dddef461f6df1872b7881321b247f3d255b87f61a7636f7fe/joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1", size = 1987720, upload-time = "2023-08-09T09:23:40.503Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/10/40/d551139c85db202f1f384ba8bcf96aca2f329440a844f924c8a0040b6d02/joblib-1.3.2-py3-none-any.whl", hash = "sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9", size = 302207, upload_time = "2023-08-09T09:23:34.583Z" },
+ { url = "https://files.pythonhosted.org/packages/10/40/d551139c85db202f1f384ba8bcf96aca2f329440a844f924c8a0040b6d02/joblib-1.3.2-py3-none-any.whl", hash = "sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9", size = 302207, upload-time = "2023-08-09T09:23:34.583Z" },
]
[[package]]
name = "kiwisolver"
version = "1.4.5"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/b9/2d/226779e405724344fc678fcc025b812587617ea1a48b9442628b688e85ea/kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec", size = 97552, upload_time = "2023-08-24T09:30:39.861Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/b9/2d/226779e405724344fc678fcc025b812587617ea1a48b9442628b688e85ea/kiwisolver-1.4.5.tar.gz", hash = "sha256:e57e563a57fb22a142da34f38acc2fc1a5c864bc29ca1517a88abc963e60d6ec", size = 97552, upload-time = "2023-08-24T09:30:39.861Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f1/56/cb02dcefdaab40df636b91e703b172966b444605a0ea313549f3ffc05bd3/kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af", size = 127397, upload_time = "2023-08-24T09:28:18.105Z" },
- { url = "https://files.pythonhosted.org/packages/0e/c1/d084f8edb26533a191415d5173157080837341f9a06af9dd1a75f727abb4/kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3", size = 68125, upload_time = "2023-08-24T09:28:19.218Z" },
- { url = "https://files.pythonhosted.org/packages/23/11/6fb190bae4b279d712a834e7b1da89f6dcff6791132f7399aa28a57c3565/kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4", size = 66211, upload_time = "2023-08-24T09:28:20.241Z" },
- { url = "https://files.pythonhosted.org/packages/b3/13/5e9e52feb33e9e063f76b2c5eb09cb977f5bba622df3210081bfb26ec9a3/kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1", size = 1637145, upload_time = "2023-08-24T09:28:21.439Z" },
- { url = "https://files.pythonhosted.org/packages/6f/40/4ab1fdb57fced80ce5903f04ae1aed7c1d5939dda4fd0c0aa526c12fe28a/kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff", size = 1617849, upload_time = "2023-08-24T09:28:23.004Z" },
- { url = "https://files.pythonhosted.org/packages/49/ca/61ef43bd0832c7253b370735b0c38972c140c8774889b884372a629a8189/kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a", size = 1400921, upload_time = "2023-08-24T09:28:24.331Z" },
- { url = "https://files.pythonhosted.org/packages/68/6f/854f6a845c00b4257482468e08d8bc386f4929ee499206142378ba234419/kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa", size = 1513009, upload_time = "2023-08-24T09:28:25.636Z" },
- { url = "https://files.pythonhosted.org/packages/50/65/76f303377167d12eb7a9b423d6771b39fe5c4373e4a42f075805b1f581ae/kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c", size = 1444819, upload_time = "2023-08-24T09:28:27.547Z" },
- { url = "https://files.pythonhosted.org/packages/7e/ee/98cdf9dde129551467138b6e18cc1cc901e75ecc7ffb898c6f49609f33b1/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b", size = 1817054, upload_time = "2023-08-24T09:28:28.839Z" },
- { url = "https://files.pythonhosted.org/packages/e6/5b/ab569016ec4abc7b496f6cb8a3ab511372c99feb6a23d948cda97e0db6da/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770", size = 1918613, upload_time = "2023-08-24T09:28:30.351Z" },
- { url = "https://files.pythonhosted.org/packages/93/ac/39b9f99d2474b1ac7af1ddfe5756ddf9b6a8f24c5f3a32cd4c010317fc6b/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0", size = 1872650, upload_time = "2023-08-24T09:28:32.303Z" },
- { url = "https://files.pythonhosted.org/packages/40/5b/be568548266516b114d1776120281ea9236c732fb6032a1f8f3b1e5e921c/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525", size = 1827415, upload_time = "2023-08-24T09:28:34.141Z" },
- { url = "https://files.pythonhosted.org/packages/d4/80/c0c13d2a17a12937a19ef378bf35e94399fd171ed6ec05bcee0f038e1eaf/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b", size = 1838094, upload_time = "2023-08-24T09:28:35.97Z" },
- { url = "https://files.pythonhosted.org/packages/70/d1/5ab93ee00ca5af708929cc12fbe665b6f1ed4ad58088e70dc00e87e0d107/kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238", size = 46585, upload_time = "2023-08-24T09:28:37.326Z" },
- { url = "https://files.pythonhosted.org/packages/4a/a1/8a9c9be45c642fa12954855d8b3a02d9fd8551165a558835a19508fec2e6/kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276", size = 56095, upload_time = "2023-08-24T09:28:38.325Z" },
- { url = "https://files.pythonhosted.org/packages/2a/eb/9e099ad7c47c279995d2d20474e1821100a5f10f847739bd65b1c1f02442/kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5", size = 127403, upload_time = "2023-08-24T09:28:39.3Z" },
- { url = "https://files.pythonhosted.org/packages/a6/94/695922e71288855fc7cace3bdb52edda9d7e50edba77abb0c9d7abb51e96/kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90", size = 68156, upload_time = "2023-08-24T09:28:40.301Z" },
- { url = "https://files.pythonhosted.org/packages/4a/fe/23d7fa78f7c66086d196406beb1fb2eaf629dd7adc01c3453033303d17fa/kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797", size = 66166, upload_time = "2023-08-24T09:28:41.235Z" },
- { url = "https://files.pythonhosted.org/packages/f1/68/f472bf16c9141bb1bea5c0b8c66c68fc1ccb048efdbd8f0872b92125724e/kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9", size = 1334300, upload_time = "2023-08-24T09:28:42.409Z" },
- { url = "https://files.pythonhosted.org/packages/8d/26/b4569d1f29751fca22ee915b4ebfef5974f4ef239b3335fc072882bd62d9/kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437", size = 1426579, upload_time = "2023-08-24T09:28:43.677Z" },
- { url = "https://files.pythonhosted.org/packages/f3/a3/804fc7c8bf233806ec0321c9da35971578620f2ab4fafe67d76100b3ce52/kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9", size = 1541360, upload_time = "2023-08-24T09:28:45.939Z" },
- { url = "https://files.pythonhosted.org/packages/07/ef/286e1d26524854f6fbd6540e8364d67a8857d61038ac743e11edc42fe217/kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da", size = 1470091, upload_time = "2023-08-24T09:28:47.959Z" },
- { url = "https://files.pythonhosted.org/packages/17/ba/17a706b232308e65f57deeccae503c268292e6a091313f6ce833a23093ea/kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e", size = 1426259, upload_time = "2023-08-24T09:28:49.224Z" },
- { url = "https://files.pythonhosted.org/packages/d0/f3/a0925611c9d6c2f37c5935a39203cadec6883aa914e013b46c84c4c2e641/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8", size = 1847516, upload_time = "2023-08-24T09:28:50.979Z" },
- { url = "https://files.pythonhosted.org/packages/da/85/82d59bb8f7c4c9bb2785138b72462cb1b161668f8230c58bbb28c0403cd5/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d", size = 1946228, upload_time = "2023-08-24T09:28:52.812Z" },
- { url = "https://files.pythonhosted.org/packages/34/3c/6a37f444c0233993881e5db3a6a1775925d4d9d2f2609bb325bb1348ed94/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0", size = 1901716, upload_time = "2023-08-24T09:28:54.115Z" },
- { url = "https://files.pythonhosted.org/packages/cd/7e/180425790efc00adfd47db14e1e341cb4826516982334129012b971121a6/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f", size = 1852871, upload_time = "2023-08-24T09:28:55.433Z" },
- { url = "https://files.pythonhosted.org/packages/1b/9a/13c68b2edb1fa74321e60893a9a5829788e135138e68060cf44e2d92d2c3/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f", size = 1870265, upload_time = "2023-08-24T09:28:56.855Z" },
- { url = "https://files.pythonhosted.org/packages/9f/0a/fa56a0fdee5da2b4c79899c0f6bd1aefb29d9438c2d66430e78793571c6b/kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac", size = 46649, upload_time = "2023-08-24T09:28:58.021Z" },
- { url = "https://files.pythonhosted.org/packages/1e/37/d3c2d4ba2719059a0f12730947bbe1ad5ee8bff89e8c35319dcb2c9ddb4c/kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355", size = 56116, upload_time = "2023-08-24T09:28:58.994Z" },
- { url = "https://files.pythonhosted.org/packages/f3/7a/debbce859be1a2711eb8437818107137192007b88d17b5cfdb556f457b42/kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a", size = 125484, upload_time = "2023-08-24T09:28:59.975Z" },
- { url = "https://files.pythonhosted.org/packages/2d/e0/bf8df75ba93b9e035cc6757dd5dcaf63084fdc1c846ae134e818bd7e0f03/kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192", size = 67332, upload_time = "2023-08-24T09:29:01.733Z" },
- { url = "https://files.pythonhosted.org/packages/26/61/58bb691f6880588be3a4801d199bd776032ece07203faf3e4a8b377f7d9b/kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45", size = 64987, upload_time = "2023-08-24T09:29:02.789Z" },
- { url = "https://files.pythonhosted.org/packages/8e/a3/96ac5413068b237c006f54dd8d70114e8756d70e3da7613c5aef20627e22/kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7", size = 1370613, upload_time = "2023-08-24T09:29:03.912Z" },
- { url = "https://files.pythonhosted.org/packages/4d/12/f48539e6e17068b59c7f12f4d6214b973431b8e3ac83af525cafd27cebec/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db", size = 1463183, upload_time = "2023-08-24T09:29:05.244Z" },
- { url = "https://files.pythonhosted.org/packages/f3/70/26c99be8eb034cc8e3f62e0760af1fbdc97a842a7cbc252f7978507d41c2/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff", size = 1581248, upload_time = "2023-08-24T09:29:06.531Z" },
- { url = "https://files.pythonhosted.org/packages/17/f6/f75f20e543639b09b2de7fc864274a5a9b96cda167a6210a1d9d19306b9d/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228", size = 1508815, upload_time = "2023-08-24T09:29:07.867Z" },
- { url = "https://files.pythonhosted.org/packages/e3/d5/bc0f22ac108743062ab703f8d6d71c9c7b077b8839fa358700bfb81770b8/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16", size = 1466042, upload_time = "2023-08-24T09:29:09.403Z" },
- { url = "https://files.pythonhosted.org/packages/75/18/98142500f21d6838bcab49ec919414a1f0c6d049d21ddadf139124db6a70/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9", size = 1885159, upload_time = "2023-08-24T09:29:10.66Z" },
- { url = "https://files.pythonhosted.org/packages/21/49/a241eff9e0ee013368c1d17957f9d345b0957493c3a43d82ebb558c90b0a/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162", size = 1981694, upload_time = "2023-08-24T09:29:12.469Z" },
- { url = "https://files.pythonhosted.org/packages/90/90/9490c3de4788123041b1d600d64434f1eed809a2ce9f688075a22166b289/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4", size = 1941579, upload_time = "2023-08-24T09:29:13.743Z" },
- { url = "https://files.pythonhosted.org/packages/b7/bb/a0cc488ef2aa92d7d304318c8549d3ec8dfe6dd3c2c67a44e3922b77bc4f/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3", size = 1888168, upload_time = "2023-08-24T09:29:15.097Z" },
- { url = "https://files.pythonhosted.org/packages/4f/e9/9c0de8e45fef3d63f85eed3b1757f9aa511065942866331ef8b99421f433/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a", size = 1908464, upload_time = "2023-08-24T09:29:16.539Z" },
- { url = "https://files.pythonhosted.org/packages/a3/60/4f0fd50b08f5be536ea0cef518ac7255d9dab43ca40f3b93b60e3ddf80dd/kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20", size = 46473, upload_time = "2023-08-24T09:29:17.956Z" },
- { url = "https://files.pythonhosted.org/packages/63/50/2746566bdf4a6a842d117367d05c90cfb87ac04e9e2845aa1fa21f071362/kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9", size = 56004, upload_time = "2023-08-24T09:29:19.329Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/56/cb02dcefdaab40df636b91e703b172966b444605a0ea313549f3ffc05bd3/kiwisolver-1.4.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:05703cf211d585109fcd72207a31bb170a0f22144d68298dc5e61b3c946518af", size = 127397, upload-time = "2023-08-24T09:28:18.105Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/c1/d084f8edb26533a191415d5173157080837341f9a06af9dd1a75f727abb4/kiwisolver-1.4.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:146d14bebb7f1dc4d5fbf74f8a6cb15ac42baadee8912eb84ac0b3b2a3dc6ac3", size = 68125, upload-time = "2023-08-24T09:28:19.218Z" },
+ { url = "https://files.pythonhosted.org/packages/23/11/6fb190bae4b279d712a834e7b1da89f6dcff6791132f7399aa28a57c3565/kiwisolver-1.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6ef7afcd2d281494c0a9101d5c571970708ad911d028137cd558f02b851c08b4", size = 66211, upload-time = "2023-08-24T09:28:20.241Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/13/5e9e52feb33e9e063f76b2c5eb09cb977f5bba622df3210081bfb26ec9a3/kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:9eaa8b117dc8337728e834b9c6e2611f10c79e38f65157c4c38e9400286f5cb1", size = 1637145, upload-time = "2023-08-24T09:28:21.439Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/40/4ab1fdb57fced80ce5903f04ae1aed7c1d5939dda4fd0c0aa526c12fe28a/kiwisolver-1.4.5-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ec20916e7b4cbfb1f12380e46486ec4bcbaa91a9c448b97023fde0d5bbf9e4ff", size = 1617849, upload-time = "2023-08-24T09:28:23.004Z" },
+ { url = "https://files.pythonhosted.org/packages/49/ca/61ef43bd0832c7253b370735b0c38972c140c8774889b884372a629a8189/kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39b42c68602539407884cf70d6a480a469b93b81b7701378ba5e2328660c847a", size = 1400921, upload-time = "2023-08-24T09:28:24.331Z" },
+ { url = "https://files.pythonhosted.org/packages/68/6f/854f6a845c00b4257482468e08d8bc386f4929ee499206142378ba234419/kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa12042de0171fad672b6c59df69106d20d5596e4f87b5e8f76df757a7c399aa", size = 1513009, upload-time = "2023-08-24T09:28:25.636Z" },
+ { url = "https://files.pythonhosted.org/packages/50/65/76f303377167d12eb7a9b423d6771b39fe5c4373e4a42f075805b1f581ae/kiwisolver-1.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2a40773c71d7ccdd3798f6489aaac9eee213d566850a9533f8d26332d626b82c", size = 1444819, upload-time = "2023-08-24T09:28:27.547Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/ee/98cdf9dde129551467138b6e18cc1cc901e75ecc7ffb898c6f49609f33b1/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:19df6e621f6d8b4b9c4d45f40a66839294ff2bb235e64d2178f7522d9170ac5b", size = 1817054, upload-time = "2023-08-24T09:28:28.839Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/5b/ab569016ec4abc7b496f6cb8a3ab511372c99feb6a23d948cda97e0db6da/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:83d78376d0d4fd884e2c114d0621624b73d2aba4e2788182d286309ebdeed770", size = 1918613, upload-time = "2023-08-24T09:28:30.351Z" },
+ { url = "https://files.pythonhosted.org/packages/93/ac/39b9f99d2474b1ac7af1ddfe5756ddf9b6a8f24c5f3a32cd4c010317fc6b/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e391b1f0a8a5a10ab3b9bb6afcfd74f2175f24f8975fb87ecae700d1503cdee0", size = 1872650, upload-time = "2023-08-24T09:28:32.303Z" },
+ { url = "https://files.pythonhosted.org/packages/40/5b/be568548266516b114d1776120281ea9236c732fb6032a1f8f3b1e5e921c/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:852542f9481f4a62dbb5dd99e8ab7aedfeb8fb6342349a181d4036877410f525", size = 1827415, upload-time = "2023-08-24T09:28:34.141Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/80/c0c13d2a17a12937a19ef378bf35e94399fd171ed6ec05bcee0f038e1eaf/kiwisolver-1.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:59edc41b24031bc25108e210c0def6f6c2191210492a972d585a06ff246bb79b", size = 1838094, upload-time = "2023-08-24T09:28:35.97Z" },
+ { url = "https://files.pythonhosted.org/packages/70/d1/5ab93ee00ca5af708929cc12fbe665b6f1ed4ad58088e70dc00e87e0d107/kiwisolver-1.4.5-cp310-cp310-win32.whl", hash = "sha256:a6aa6315319a052b4ee378aa171959c898a6183f15c1e541821c5c59beaa0238", size = 46585, upload-time = "2023-08-24T09:28:37.326Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/a1/8a9c9be45c642fa12954855d8b3a02d9fd8551165a558835a19508fec2e6/kiwisolver-1.4.5-cp310-cp310-win_amd64.whl", hash = "sha256:d0ef46024e6a3d79c01ff13801cb19d0cad7fd859b15037aec74315540acc276", size = 56095, upload-time = "2023-08-24T09:28:38.325Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/eb/9e099ad7c47c279995d2d20474e1821100a5f10f847739bd65b1c1f02442/kiwisolver-1.4.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:11863aa14a51fd6ec28688d76f1735f8f69ab1fabf388851a595d0721af042f5", size = 127403, upload-time = "2023-08-24T09:28:39.3Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/94/695922e71288855fc7cace3bdb52edda9d7e50edba77abb0c9d7abb51e96/kiwisolver-1.4.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8ab3919a9997ab7ef2fbbed0cc99bb28d3c13e6d4b1ad36e97e482558a91be90", size = 68156, upload-time = "2023-08-24T09:28:40.301Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/fe/23d7fa78f7c66086d196406beb1fb2eaf629dd7adc01c3453033303d17fa/kiwisolver-1.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fcc700eadbbccbf6bc1bcb9dbe0786b4b1cb91ca0dcda336eef5c2beed37b797", size = 66166, upload-time = "2023-08-24T09:28:41.235Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/68/f472bf16c9141bb1bea5c0b8c66c68fc1ccb048efdbd8f0872b92125724e/kiwisolver-1.4.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dfdd7c0b105af050eb3d64997809dc21da247cf44e63dc73ff0fd20b96be55a9", size = 1334300, upload-time = "2023-08-24T09:28:42.409Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/26/b4569d1f29751fca22ee915b4ebfef5974f4ef239b3335fc072882bd62d9/kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76c6a5964640638cdeaa0c359382e5703e9293030fe730018ca06bc2010c4437", size = 1426579, upload-time = "2023-08-24T09:28:43.677Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/a3/804fc7c8bf233806ec0321c9da35971578620f2ab4fafe67d76100b3ce52/kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbea0db94288e29afcc4c28afbf3a7ccaf2d7e027489c449cf7e8f83c6346eb9", size = 1541360, upload-time = "2023-08-24T09:28:45.939Z" },
+ { url = "https://files.pythonhosted.org/packages/07/ef/286e1d26524854f6fbd6540e8364d67a8857d61038ac743e11edc42fe217/kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ceec1a6bc6cab1d6ff5d06592a91a692f90ec7505d6463a88a52cc0eb58545da", size = 1470091, upload-time = "2023-08-24T09:28:47.959Z" },
+ { url = "https://files.pythonhosted.org/packages/17/ba/17a706b232308e65f57deeccae503c268292e6a091313f6ce833a23093ea/kiwisolver-1.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:040c1aebeda72197ef477a906782b5ab0d387642e93bda547336b8957c61022e", size = 1426259, upload-time = "2023-08-24T09:28:49.224Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/f3/a0925611c9d6c2f37c5935a39203cadec6883aa914e013b46c84c4c2e641/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f91de7223d4c7b793867797bacd1ee53bfe7359bd70d27b7b58a04efbb9436c8", size = 1847516, upload-time = "2023-08-24T09:28:50.979Z" },
+ { url = "https://files.pythonhosted.org/packages/da/85/82d59bb8f7c4c9bb2785138b72462cb1b161668f8230c58bbb28c0403cd5/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:faae4860798c31530dd184046a900e652c95513796ef51a12bc086710c2eec4d", size = 1946228, upload-time = "2023-08-24T09:28:52.812Z" },
+ { url = "https://files.pythonhosted.org/packages/34/3c/6a37f444c0233993881e5db3a6a1775925d4d9d2f2609bb325bb1348ed94/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:b0157420efcb803e71d1b28e2c287518b8808b7cf1ab8af36718fd0a2c453eb0", size = 1901716, upload-time = "2023-08-24T09:28:54.115Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/7e/180425790efc00adfd47db14e1e341cb4826516982334129012b971121a6/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:06f54715b7737c2fecdbf140d1afb11a33d59508a47bf11bb38ecf21dc9ab79f", size = 1852871, upload-time = "2023-08-24T09:28:55.433Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/9a/13c68b2edb1fa74321e60893a9a5829788e135138e68060cf44e2d92d2c3/kiwisolver-1.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fdb7adb641a0d13bdcd4ef48e062363d8a9ad4a182ac7647ec88f695e719ae9f", size = 1870265, upload-time = "2023-08-24T09:28:56.855Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/0a/fa56a0fdee5da2b4c79899c0f6bd1aefb29d9438c2d66430e78793571c6b/kiwisolver-1.4.5-cp311-cp311-win32.whl", hash = "sha256:bb86433b1cfe686da83ce32a9d3a8dd308e85c76b60896d58f082136f10bffac", size = 46649, upload-time = "2023-08-24T09:28:58.021Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/37/d3c2d4ba2719059a0f12730947bbe1ad5ee8bff89e8c35319dcb2c9ddb4c/kiwisolver-1.4.5-cp311-cp311-win_amd64.whl", hash = "sha256:6c08e1312a9cf1074d17b17728d3dfce2a5125b2d791527f33ffbe805200a355", size = 56116, upload-time = "2023-08-24T09:28:58.994Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/7a/debbce859be1a2711eb8437818107137192007b88d17b5cfdb556f457b42/kiwisolver-1.4.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:32d5cf40c4f7c7b3ca500f8985eb3fb3a7dfc023215e876f207956b5ea26632a", size = 125484, upload-time = "2023-08-24T09:28:59.975Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/e0/bf8df75ba93b9e035cc6757dd5dcaf63084fdc1c846ae134e818bd7e0f03/kiwisolver-1.4.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f846c260f483d1fd217fe5ed7c173fb109efa6b1fc8381c8b7552c5781756192", size = 67332, upload-time = "2023-08-24T09:29:01.733Z" },
+ { url = "https://files.pythonhosted.org/packages/26/61/58bb691f6880588be3a4801d199bd776032ece07203faf3e4a8b377f7d9b/kiwisolver-1.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5ff5cf3571589b6d13bfbfd6bcd7a3f659e42f96b5fd1c4830c4cf21d4f5ef45", size = 64987, upload-time = "2023-08-24T09:29:02.789Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/a3/96ac5413068b237c006f54dd8d70114e8756d70e3da7613c5aef20627e22/kiwisolver-1.4.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7269d9e5f1084a653d575c7ec012ff57f0c042258bf5db0954bf551c158466e7", size = 1370613, upload-time = "2023-08-24T09:29:03.912Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/12/f48539e6e17068b59c7f12f4d6214b973431b8e3ac83af525cafd27cebec/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da802a19d6e15dffe4b0c24b38b3af68e6c1a68e6e1d8f30148c83864f3881db", size = 1463183, upload-time = "2023-08-24T09:29:05.244Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/70/26c99be8eb034cc8e3f62e0760af1fbdc97a842a7cbc252f7978507d41c2/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3aba7311af82e335dd1e36ffff68aaca609ca6290c2cb6d821a39aa075d8e3ff", size = 1581248, upload-time = "2023-08-24T09:29:06.531Z" },
+ { url = "https://files.pythonhosted.org/packages/17/f6/f75f20e543639b09b2de7fc864274a5a9b96cda167a6210a1d9d19306b9d/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:763773d53f07244148ccac5b084da5adb90bfaee39c197554f01b286cf869228", size = 1508815, upload-time = "2023-08-24T09:29:07.867Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/d5/bc0f22ac108743062ab703f8d6d71c9c7b077b8839fa358700bfb81770b8/kiwisolver-1.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2270953c0d8cdab5d422bee7d2007f043473f9d2999631c86a223c9db56cbd16", size = 1466042, upload-time = "2023-08-24T09:29:09.403Z" },
+ { url = "https://files.pythonhosted.org/packages/75/18/98142500f21d6838bcab49ec919414a1f0c6d049d21ddadf139124db6a70/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d099e745a512f7e3bbe7249ca835f4d357c586d78d79ae8f1dcd4d8adeb9bda9", size = 1885159, upload-time = "2023-08-24T09:29:10.66Z" },
+ { url = "https://files.pythonhosted.org/packages/21/49/a241eff9e0ee013368c1d17957f9d345b0957493c3a43d82ebb558c90b0a/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:74db36e14a7d1ce0986fa104f7d5637aea5c82ca6326ed0ec5694280942d1162", size = 1981694, upload-time = "2023-08-24T09:29:12.469Z" },
+ { url = "https://files.pythonhosted.org/packages/90/90/9490c3de4788123041b1d600d64434f1eed809a2ce9f688075a22166b289/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:7e5bab140c309cb3a6ce373a9e71eb7e4873c70c2dda01df6820474f9889d6d4", size = 1941579, upload-time = "2023-08-24T09:29:13.743Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/bb/a0cc488ef2aa92d7d304318c8549d3ec8dfe6dd3c2c67a44e3922b77bc4f/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0f114aa76dc1b8f636d077979c0ac22e7cd8f3493abbab152f20eb8d3cda71f3", size = 1888168, upload-time = "2023-08-24T09:29:15.097Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/e9/9c0de8e45fef3d63f85eed3b1757f9aa511065942866331ef8b99421f433/kiwisolver-1.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:88a2df29d4724b9237fc0c6eaf2a1adae0cdc0b3e9f4d8e7dc54b16812d2d81a", size = 1908464, upload-time = "2023-08-24T09:29:16.539Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/60/4f0fd50b08f5be536ea0cef518ac7255d9dab43ca40f3b93b60e3ddf80dd/kiwisolver-1.4.5-cp312-cp312-win32.whl", hash = "sha256:72d40b33e834371fd330fb1472ca19d9b8327acb79a5821d4008391db8e29f20", size = 46473, upload-time = "2023-08-24T09:29:17.956Z" },
+ { url = "https://files.pythonhosted.org/packages/63/50/2746566bdf4a6a842d117367d05c90cfb87ac04e9e2845aa1fa21f071362/kiwisolver-1.4.5-cp312-cp312-win_amd64.whl", hash = "sha256:2c5674c4e74d939b9d91dda0fae10597ac7521768fec9e399c70a1f27e2ea2d9", size = 56004, upload-time = "2023-08-24T09:29:19.329Z" },
]
[[package]]
name = "lazy-loader"
version = "0.3"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/0e/3a/1630a735bfdf9eb857a3b9a53317a1e1658ea97a1b4b39dcb0f71dae81f8/lazy_loader-0.3.tar.gz", hash = "sha256:3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37", size = 12268, upload_time = "2023-06-30T21:12:55.362Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/0e/3a/1630a735bfdf9eb857a3b9a53317a1e1658ea97a1b4b39dcb0f71dae81f8/lazy_loader-0.3.tar.gz", hash = "sha256:3b68898e34f5b2a29daaaac172c6555512d0f32074f147e2254e4a6d9d838f37", size = 12268, upload-time = "2023-06-30T21:12:55.362Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a1/c3/65b3814e155836acacf720e5be3b5757130346670ac454fee29d3eda1381/lazy_loader-0.3-py3-none-any.whl", hash = "sha256:1e9e76ee8631e264c62ce10006718e80b2cfc74340d17d1031e0f84af7478554", size = 9087, upload_time = "2023-06-30T21:12:51.09Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/c3/65b3814e155836acacf720e5be3b5757130346670ac454fee29d3eda1381/lazy_loader-0.3-py3-none-any.whl", hash = "sha256:1e9e76ee8631e264c62ce10006718e80b2cfc74340d17d1031e0f84af7478554", size = 9087, upload-time = "2023-06-30T21:12:51.09Z" },
]
[[package]]
@@ -1229,9 +1229,9 @@ dependencies = [
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
{ name = "werkzeug" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/6d/90/55d4fbc8911e5e6ec4072caaca9e8b7b2b11279435c0d1330c9966b0c898/locust-2.36.2.tar.gz", hash = "sha256:604aff7535f5a83b7f666d32373b2dc74ad260c7c3d1dc274f4c82844be72eb6", size = 2251110, upload_time = "2025-04-25T14:03:35.919Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/6d/90/55d4fbc8911e5e6ec4072caaca9e8b7b2b11279435c0d1330c9966b0c898/locust-2.36.2.tar.gz", hash = "sha256:604aff7535f5a83b7f666d32373b2dc74ad260c7c3d1dc274f4c82844be72eb6", size = 2251110, upload-time = "2025-04-25T14:03:35.919Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ab/f5/99dab104be69122eee3513dcdc6e0b32d59ca1f4cfd8715470c5f3aa7643/locust-2.36.2-py3-none-any.whl", hash = "sha256:74239f493f44035b25a87a0665deadf41d213b3dcd45774398e511dec15e26eb", size = 2267937, upload_time = "2025-04-25T14:03:33.671Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/f5/99dab104be69122eee3513dcdc6e0b32d59ca1f4cfd8715470c5f3aa7643/locust-2.36.2-py3-none-any.whl", hash = "sha256:74239f493f44035b25a87a0665deadf41d213b3dcd45774398e511dec15e26eb", size = 2267937, upload-time = "2025-04-25T14:03:33.671Z" },
]
[[package]]
@@ -1245,9 +1245,9 @@ dependencies = [
{ name = "python-socketio", extra = ["client"] },
{ name = "tomli", marker = "python_full_version < '3.11'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/94/47/1ec2478f3d4e526fb8d667b01a75b22093b2e66aea665b5369dd656ceec9/locust_cloud-1.20.7.tar.gz", hash = "sha256:24c16b767adffab51b97f489bcf142e16e2439354fb4296ecbb3e87ad20e220a", size = 448622, upload_time = "2025-04-28T11:01:49.381Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/94/47/1ec2478f3d4e526fb8d667b01a75b22093b2e66aea665b5369dd656ceec9/locust_cloud-1.20.7.tar.gz", hash = "sha256:24c16b767adffab51b97f489bcf142e16e2439354fb4296ecbb3e87ad20e220a", size = 448622, upload-time = "2025-04-28T11:01:49.381Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/8c/07/62b5b174c77d4281235405f1ffd439f12a877e434e007a24a5299c461e39/locust_cloud-1.20.7-py3-none-any.whl", hash = "sha256:f38214e77993d0ee87114dafa857e1689789ed4bfe4ae57c2b9dc754674f08bc", size = 406619, upload_time = "2025-04-28T11:01:43.135Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/07/62b5b174c77d4281235405f1ffd439f12a877e434e007a24a5299c461e39/locust_cloud-1.20.7-py3-none-any.whl", hash = "sha256:f38214e77993d0ee87114dafa857e1689789ed4bfe4ae57c2b9dc754674f08bc", size = 406619, upload-time = "2025-04-28T11:01:43.135Z" },
]
[[package]]
@@ -1257,47 +1257,47 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "mdurl" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload_time = "2023-06-03T06:41:14.443Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload_time = "2023-06-03T06:41:11.019Z" },
+ { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" },
]
[[package]]
name = "markupsafe"
version = "2.1.3"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/6d/7c/59a3248f411813f8ccba92a55feaac4bf360d29e2ff05ee7d8e1ef2d7dbf/MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad", size = 19132, upload_time = "2023-06-02T21:43:45.578Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/6d/7c/59a3248f411813f8ccba92a55feaac4bf360d29e2ff05ee7d8e1ef2d7dbf/MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad", size = 19132, upload-time = "2023-06-02T21:43:45.578Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/20/1d/713d443799d935f4d26a4f1510c9e61b1d288592fb869845e5cc92a1e055/MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa", size = 17846, upload_time = "2023-06-02T21:42:33.954Z" },
- { url = "https://files.pythonhosted.org/packages/f7/9c/86cbd8e0e1d81f0ba420f20539dd459c50537c7751e28102dbfee2b6f28c/MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57", size = 13720, upload_time = "2023-06-02T21:42:35.102Z" },
- { url = "https://files.pythonhosted.org/packages/a6/56/f1d4ee39e898a9e63470cbb7fae1c58cce6874f25f54220b89213a47f273/MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f", size = 26498, upload_time = "2023-06-02T21:42:36.608Z" },
- { url = "https://files.pythonhosted.org/packages/12/b3/d9ed2c0971e1435b8a62354b18d3060b66c8cb1d368399ec0b9baa7c0ee5/MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52", size = 25691, upload_time = "2023-06-02T21:42:37.778Z" },
- { url = "https://files.pythonhosted.org/packages/bf/b7/c5ba9b7ad9ad21fc4a60df226615cf43ead185d328b77b0327d603d00cc5/MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00", size = 25366, upload_time = "2023-06-02T21:42:39.441Z" },
- { url = "https://files.pythonhosted.org/packages/71/61/f5673d7aac2cf7f203859008bb3fc2b25187aa330067c5e9955e5c5ebbab/MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6", size = 30505, upload_time = "2023-06-02T21:42:41.088Z" },
- { url = "https://files.pythonhosted.org/packages/47/26/932140621773bfd4df3223fbdd9e78de3477f424f0d2987c313b1cb655ff/MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779", size = 29616, upload_time = "2023-06-02T21:42:42.273Z" },
- { url = "https://files.pythonhosted.org/packages/3c/c8/74d13c999cbb49e3460bf769025659a37ef4a8e884de629720ab4e42dcdb/MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7", size = 29891, upload_time = "2023-06-02T21:42:43.635Z" },
- { url = "https://files.pythonhosted.org/packages/96/e4/4db3b1abc5a1fe7295aa0683eafd13832084509c3b8236f3faf8dd4eff75/MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431", size = 16525, upload_time = "2023-06-02T21:42:45.271Z" },
- { url = "https://files.pythonhosted.org/packages/84/a8/c4aebb8a14a1d39d5135eb8233a0b95831cdc42c4088358449c3ed657044/MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559", size = 17083, upload_time = "2023-06-02T21:42:46.948Z" },
- { url = "https://files.pythonhosted.org/packages/fe/09/c31503cb8150cf688c1534a7135cc39bb9092f8e0e6369ec73494d16ee0e/MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c", size = 17862, upload_time = "2023-06-02T21:42:48.569Z" },
- { url = "https://files.pythonhosted.org/packages/c0/c7/171f5ac6b065e1425e8fabf4a4dfbeca76fd8070072c6a41bd5c07d90d8b/MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575", size = 13738, upload_time = "2023-06-02T21:42:49.727Z" },
- { url = "https://files.pythonhosted.org/packages/a2/f7/9175ad1b8152092f7c3b78c513c1bdfe9287e0564447d1c2d3d1a2471540/MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee", size = 28891, upload_time = "2023-06-02T21:42:51.33Z" },
- { url = "https://files.pythonhosted.org/packages/fe/21/2eff1de472ca6c99ec3993eab11308787b9879af9ca8bbceb4868cf4f2ca/MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2", size = 28096, upload_time = "2023-06-02T21:42:52.966Z" },
- { url = "https://files.pythonhosted.org/packages/f4/a0/103f94793c3bf829a18d2415117334ece115aeca56f2df1c47fa02c6dbd6/MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9", size = 27631, upload_time = "2023-06-02T21:42:54.518Z" },
- { url = "https://files.pythonhosted.org/packages/43/70/f24470f33b2035b035ef0c0ffebf57006beb2272cf3df068fc5154e04ead/MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc", size = 33863, upload_time = "2023-06-02T21:42:55.777Z" },
- { url = "https://files.pythonhosted.org/packages/32/d4/ce98c4ca713d91c4a17c1a184785cc00b9e9c25699d618956c2b9999500a/MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9", size = 32591, upload_time = "2023-06-02T21:42:57.415Z" },
- { url = "https://files.pythonhosted.org/packages/bb/82/f88ccb3ca6204a4536cf7af5abdad7c3657adac06ab33699aa67279e0744/MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac", size = 33186, upload_time = "2023-06-02T21:42:59.107Z" },
- { url = "https://files.pythonhosted.org/packages/44/53/93405d37bb04a10c43b1bdd6f548097478d494d7eadb4b364e3e1337f0cc/MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb", size = 16537, upload_time = "2023-06-02T21:43:00.927Z" },
- { url = "https://files.pythonhosted.org/packages/be/bb/08b85bc194034efbf572e70c3951549c8eca0ada25363afc154386b5390a/MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686", size = 17089, upload_time = "2023-06-02T21:43:02.355Z" },
- { url = "https://files.pythonhosted.org/packages/89/5a/ee546f2aa73a1d6fcfa24272f356fe06d29acca81e76b8d32ca53e429a2e/MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc", size = 17849, upload_time = "2023-09-07T16:00:43.795Z" },
- { url = "https://files.pythonhosted.org/packages/3a/72/9f683a059bde096776e8acf9aa34cbbba21ddc399861fe3953790d4f2cde/MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823", size = 13700, upload_time = "2023-09-07T16:00:45.384Z" },
- { url = "https://files.pythonhosted.org/packages/9d/78/92f15eb9b1e8f1668a9787ba103cf6f8d19a9efed8150245404836145c24/MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11", size = 29319, upload_time = "2023-09-07T16:00:46.48Z" },
- { url = "https://files.pythonhosted.org/packages/51/94/9a04085114ff2c24f7424dbc890a281d73c5a74ea935dc2e69c66a3bd558/MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd", size = 28314, upload_time = "2023-09-07T16:00:47.64Z" },
- { url = "https://files.pythonhosted.org/packages/ec/53/fcb3214bd370185e223b209ce6bb010fb887ea57173ca4f75bd211b24e10/MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939", size = 27696, upload_time = "2023-09-07T16:00:48.92Z" },
- { url = "https://files.pythonhosted.org/packages/e7/33/54d29854716725d7826079b8984dd235fac76dab1c32321e555d493e61f5/MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c", size = 33746, upload_time = "2023-09-07T16:00:50.081Z" },
- { url = "https://files.pythonhosted.org/packages/11/40/ea7f85e2681d29bc9301c757257de561923924f24de1802d9c3baa396bb4/MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c", size = 32131, upload_time = "2023-09-07T16:00:51.822Z" },
- { url = "https://files.pythonhosted.org/packages/41/f1/bc770c37ecd58638c18f8ec85df205dacb818ccf933692082fd93010a4bc/MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1", size = 32878, upload_time = "2023-09-07T16:00:53.575Z" },
- { url = "https://files.pythonhosted.org/packages/49/74/bf95630aab0a9ed6a67556cd4e54f6aeb0e74f4cb0fd2f229154873a4be4/MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007", size = 16426, upload_time = "2023-09-07T16:00:55.987Z" },
- { url = "https://files.pythonhosted.org/packages/44/44/dbaf65876e258facd65f586dde158387ab89963e7f2235551afc9c2e24c2/MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb", size = 16979, upload_time = "2023-09-07T16:00:57.77Z" },
+ { url = "https://files.pythonhosted.org/packages/20/1d/713d443799d935f4d26a4f1510c9e61b1d288592fb869845e5cc92a1e055/MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa", size = 17846, upload-time = "2023-06-02T21:42:33.954Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/9c/86cbd8e0e1d81f0ba420f20539dd459c50537c7751e28102dbfee2b6f28c/MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57", size = 13720, upload-time = "2023-06-02T21:42:35.102Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/56/f1d4ee39e898a9e63470cbb7fae1c58cce6874f25f54220b89213a47f273/MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f", size = 26498, upload-time = "2023-06-02T21:42:36.608Z" },
+ { url = "https://files.pythonhosted.org/packages/12/b3/d9ed2c0971e1435b8a62354b18d3060b66c8cb1d368399ec0b9baa7c0ee5/MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52", size = 25691, upload-time = "2023-06-02T21:42:37.778Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/b7/c5ba9b7ad9ad21fc4a60df226615cf43ead185d328b77b0327d603d00cc5/MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00", size = 25366, upload-time = "2023-06-02T21:42:39.441Z" },
+ { url = "https://files.pythonhosted.org/packages/71/61/f5673d7aac2cf7f203859008bb3fc2b25187aa330067c5e9955e5c5ebbab/MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6", size = 30505, upload-time = "2023-06-02T21:42:41.088Z" },
+ { url = "https://files.pythonhosted.org/packages/47/26/932140621773bfd4df3223fbdd9e78de3477f424f0d2987c313b1cb655ff/MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779", size = 29616, upload-time = "2023-06-02T21:42:42.273Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/c8/74d13c999cbb49e3460bf769025659a37ef4a8e884de629720ab4e42dcdb/MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7", size = 29891, upload-time = "2023-06-02T21:42:43.635Z" },
+ { url = "https://files.pythonhosted.org/packages/96/e4/4db3b1abc5a1fe7295aa0683eafd13832084509c3b8236f3faf8dd4eff75/MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431", size = 16525, upload-time = "2023-06-02T21:42:45.271Z" },
+ { url = "https://files.pythonhosted.org/packages/84/a8/c4aebb8a14a1d39d5135eb8233a0b95831cdc42c4088358449c3ed657044/MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559", size = 17083, upload-time = "2023-06-02T21:42:46.948Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/09/c31503cb8150cf688c1534a7135cc39bb9092f8e0e6369ec73494d16ee0e/MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c", size = 17862, upload-time = "2023-06-02T21:42:48.569Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/c7/171f5ac6b065e1425e8fabf4a4dfbeca76fd8070072c6a41bd5c07d90d8b/MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575", size = 13738, upload-time = "2023-06-02T21:42:49.727Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/f7/9175ad1b8152092f7c3b78c513c1bdfe9287e0564447d1c2d3d1a2471540/MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee", size = 28891, upload-time = "2023-06-02T21:42:51.33Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/21/2eff1de472ca6c99ec3993eab11308787b9879af9ca8bbceb4868cf4f2ca/MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2", size = 28096, upload-time = "2023-06-02T21:42:52.966Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/a0/103f94793c3bf829a18d2415117334ece115aeca56f2df1c47fa02c6dbd6/MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9", size = 27631, upload-time = "2023-06-02T21:42:54.518Z" },
+ { url = "https://files.pythonhosted.org/packages/43/70/f24470f33b2035b035ef0c0ffebf57006beb2272cf3df068fc5154e04ead/MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc", size = 33863, upload-time = "2023-06-02T21:42:55.777Z" },
+ { url = "https://files.pythonhosted.org/packages/32/d4/ce98c4ca713d91c4a17c1a184785cc00b9e9c25699d618956c2b9999500a/MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9", size = 32591, upload-time = "2023-06-02T21:42:57.415Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/82/f88ccb3ca6204a4536cf7af5abdad7c3657adac06ab33699aa67279e0744/MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac", size = 33186, upload-time = "2023-06-02T21:42:59.107Z" },
+ { url = "https://files.pythonhosted.org/packages/44/53/93405d37bb04a10c43b1bdd6f548097478d494d7eadb4b364e3e1337f0cc/MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb", size = 16537, upload-time = "2023-06-02T21:43:00.927Z" },
+ { url = "https://files.pythonhosted.org/packages/be/bb/08b85bc194034efbf572e70c3951549c8eca0ada25363afc154386b5390a/MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686", size = 17089, upload-time = "2023-06-02T21:43:02.355Z" },
+ { url = "https://files.pythonhosted.org/packages/89/5a/ee546f2aa73a1d6fcfa24272f356fe06d29acca81e76b8d32ca53e429a2e/MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc", size = 17849, upload-time = "2023-09-07T16:00:43.795Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/72/9f683a059bde096776e8acf9aa34cbbba21ddc399861fe3953790d4f2cde/MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823", size = 13700, upload-time = "2023-09-07T16:00:45.384Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/78/92f15eb9b1e8f1668a9787ba103cf6f8d19a9efed8150245404836145c24/MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11", size = 29319, upload-time = "2023-09-07T16:00:46.48Z" },
+ { url = "https://files.pythonhosted.org/packages/51/94/9a04085114ff2c24f7424dbc890a281d73c5a74ea935dc2e69c66a3bd558/MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd", size = 28314, upload-time = "2023-09-07T16:00:47.64Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/53/fcb3214bd370185e223b209ce6bb010fb887ea57173ca4f75bd211b24e10/MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939", size = 27696, upload-time = "2023-09-07T16:00:48.92Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/33/54d29854716725d7826079b8984dd235fac76dab1c32321e555d493e61f5/MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c", size = 33746, upload-time = "2023-09-07T16:00:50.081Z" },
+ { url = "https://files.pythonhosted.org/packages/11/40/ea7f85e2681d29bc9301c757257de561923924f24de1802d9c3baa396bb4/MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c", size = 32131, upload-time = "2023-09-07T16:00:51.822Z" },
+ { url = "https://files.pythonhosted.org/packages/41/f1/bc770c37ecd58638c18f8ec85df205dacb818ccf933692082fd93010a4bc/MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1", size = 32878, upload-time = "2023-09-07T16:00:53.575Z" },
+ { url = "https://files.pythonhosted.org/packages/49/74/bf95630aab0a9ed6a67556cd4e54f6aeb0e74f4cb0fd2f229154873a4be4/MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007", size = 16426, upload-time = "2023-09-07T16:00:55.987Z" },
+ { url = "https://files.pythonhosted.org/packages/44/44/dbaf65876e258facd65f586dde158387ab89963e7f2235551afc9c2e24c2/MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb", size = 16979, upload-time = "2023-09-07T16:00:57.77Z" },
]
[[package]]
@@ -1315,85 +1315,85 @@ dependencies = [
{ name = "pyparsing" },
{ name = "python-dateutil" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/fb/ab/38a0e94cb01dacb50f06957c2bed1c83b8f9dac6618988a37b2487862944/matplotlib-3.8.2.tar.gz", hash = "sha256:01a978b871b881ee76017152f1f1a0cbf6bd5f7b8ff8c96df0df1bd57d8755a1", size = 35866957, upload_time = "2023-11-17T21:16:40.15Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/fb/ab/38a0e94cb01dacb50f06957c2bed1c83b8f9dac6618988a37b2487862944/matplotlib-3.8.2.tar.gz", hash = "sha256:01a978b871b881ee76017152f1f1a0cbf6bd5f7b8ff8c96df0df1bd57d8755a1", size = 35866957, upload-time = "2023-11-17T21:16:40.15Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/92/d0/fc5f6796a1956f5b9a33555611d01a3cec038f000c3d70ecb051b1631ac4/matplotlib-3.8.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:09796f89fb71a0c0e1e2f4bdaf63fb2cefc84446bb963ecdeb40dfee7dfa98c7", size = 7590640, upload_time = "2023-11-17T21:17:02.834Z" },
- { url = "https://files.pythonhosted.org/packages/57/44/007b592809f50883c910db9ec4b81b16dfa0136407250fb581824daabf03/matplotlib-3.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f9c6976748a25e8b9be51ea028df49b8e561eed7809146da7a47dbecebab367", size = 7484350, upload_time = "2023-11-17T21:17:12.281Z" },
- { url = "https://files.pythonhosted.org/packages/01/87/c7b24f3048234fe10184560263be2173311376dc3d1fa329de7f012d6ce5/matplotlib-3.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78e4f2cedf303869b782071b55fdde5987fda3038e9d09e58c91cc261b5ad18", size = 11382388, upload_time = "2023-11-17T21:17:26.461Z" },
- { url = "https://files.pythonhosted.org/packages/19/e5/a4ea514515f270224435c69359abb7a3d152ed31b9ee3ba5e63017461945/matplotlib-3.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e208f46cf6576a7624195aa047cb344a7f802e113bb1a06cfd4bee431de5e31", size = 11611959, upload_time = "2023-11-17T21:17:40.541Z" },
- { url = "https://files.pythonhosted.org/packages/09/23/ab5a562c9acb81e351b084bea39f65b153918417fb434619cf5a19f44a55/matplotlib-3.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:46a569130ff53798ea5f50afce7406e91fdc471ca1e0e26ba976a8c734c9427a", size = 9536938, upload_time = "2023-11-17T21:17:49.925Z" },
- { url = "https://files.pythonhosted.org/packages/46/37/b5e27ab30ecc0a3694c8a78287b5ef35dad0c3095c144fcc43081170bfd6/matplotlib-3.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:830f00640c965c5b7f6bc32f0d4ce0c36dfe0379f7dd65b07a00c801713ec40a", size = 7643836, upload_time = "2023-11-17T21:17:58.379Z" },
- { url = "https://files.pythonhosted.org/packages/a9/0d/53afb186adafc7326d093b8333e8a79974c495095771659f4304626c4bc7/matplotlib-3.8.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d86593ccf546223eb75a39b44c32788e6f6440d13cfc4750c1c15d0fcb850b63", size = 7593458, upload_time = "2023-11-17T21:18:06.141Z" },
- { url = "https://files.pythonhosted.org/packages/ce/25/a557ee10ac9dce1300850024707ce1850a6958f1673a9194be878b99d631/matplotlib-3.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9a5430836811b7652991939012f43d2808a2db9b64ee240387e8c43e2e5578c8", size = 7486840, upload_time = "2023-11-17T21:18:13.706Z" },
- { url = "https://files.pythonhosted.org/packages/e7/3d/72712b3895ee180f6e342638a8591c31912fbcc09ce9084cc256da16d0a0/matplotlib-3.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9576723858a78751d5aacd2497b8aef29ffea6d1c95981505877f7ac28215c6", size = 11387332, upload_time = "2023-11-17T21:18:23.699Z" },
- { url = "https://files.pythonhosted.org/packages/92/1a/cd3e0c90d1a763ad90073e13b189b4702f11becf4e71dbbad70a7a149811/matplotlib-3.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ba9cbd8ac6cf422f3102622b20f8552d601bf8837e49a3afed188d560152788", size = 11616911, upload_time = "2023-11-17T21:18:35.27Z" },
- { url = "https://files.pythonhosted.org/packages/78/4a/bad239071477305a3758eb4810615e310a113399cddd7682998be9f01e97/matplotlib-3.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:03f9d160a29e0b65c0790bb07f4f45d6a181b1ac33eb1bb0dd225986450148f0", size = 9549260, upload_time = "2023-11-17T21:18:44.836Z" },
- { url = "https://files.pythonhosted.org/packages/26/5a/27fd341e4510257789f19a4b4be8bb90d1113b8f176c3dab562b4f21466e/matplotlib-3.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:3773002da767f0a9323ba1a9b9b5d00d6257dbd2a93107233167cfb581f64717", size = 7645742, upload_time = "2023-11-17T21:18:53.448Z" },
- { url = "https://files.pythonhosted.org/packages/e4/1b/864d28d5a72d586ac137f4ca54d5afc8b869720e30d508dbd9adcce4d231/matplotlib-3.8.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:4c318c1e95e2f5926fba326f68177dee364aa791d6df022ceb91b8221bd0a627", size = 7590988, upload_time = "2023-11-17T21:19:01.119Z" },
- { url = "https://files.pythonhosted.org/packages/9a/b0/dd2b60f2dd90fbc21d1d3129c36a453c322d7995d5e3589f5b3c59ee528d/matplotlib-3.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:091275d18d942cf1ee9609c830a1bc36610607d8223b1b981c37d5c9fc3e46a4", size = 7483594, upload_time = "2023-11-17T21:19:09.865Z" },
- { url = "https://files.pythonhosted.org/packages/33/da/9942533ad9f96753bde0e5a5d48eacd6c21de8ea1ad16570e31bda8a017f/matplotlib-3.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b0f3b8ea0e99e233a4bcc44590f01604840d833c280ebb8fe5554fd3e6cfe8d", size = 11380843, upload_time = "2023-11-17T21:19:20.46Z" },
- { url = "https://files.pythonhosted.org/packages/fc/52/bfd36eb4745a3b21b3946c2c3a15679b620e14574fe2b98e9451b65ef578/matplotlib-3.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7b1704a530395aaf73912be741c04d181f82ca78084fbd80bc737be04848331", size = 11604608, upload_time = "2023-11-17T21:19:31.363Z" },
- { url = "https://files.pythonhosted.org/packages/6d/8c/0cdfbf604d4ea3dfa77435176c51e233cc408ad8f3efbf8d2c9f57cbdafb/matplotlib-3.8.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533b0e3b0c6768eef8cbe4b583731ce25a91ab54a22f830db2b031e83cca9213", size = 9545252, upload_time = "2023-11-17T21:19:42.271Z" },
- { url = "https://files.pythonhosted.org/packages/2e/51/c77a14869b7eb9d6fb440e811b754fc3950d6868c38ace57d0632b674415/matplotlib-3.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:0f4fc5d72b75e2c18e55eb32292659cf731d9d5b312a6eb036506304f4675630", size = 7645067, upload_time = "2023-11-17T21:19:50.091Z" },
+ { url = "https://files.pythonhosted.org/packages/92/d0/fc5f6796a1956f5b9a33555611d01a3cec038f000c3d70ecb051b1631ac4/matplotlib-3.8.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:09796f89fb71a0c0e1e2f4bdaf63fb2cefc84446bb963ecdeb40dfee7dfa98c7", size = 7590640, upload-time = "2023-11-17T21:17:02.834Z" },
+ { url = "https://files.pythonhosted.org/packages/57/44/007b592809f50883c910db9ec4b81b16dfa0136407250fb581824daabf03/matplotlib-3.8.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6f9c6976748a25e8b9be51ea028df49b8e561eed7809146da7a47dbecebab367", size = 7484350, upload-time = "2023-11-17T21:17:12.281Z" },
+ { url = "https://files.pythonhosted.org/packages/01/87/c7b24f3048234fe10184560263be2173311376dc3d1fa329de7f012d6ce5/matplotlib-3.8.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b78e4f2cedf303869b782071b55fdde5987fda3038e9d09e58c91cc261b5ad18", size = 11382388, upload-time = "2023-11-17T21:17:26.461Z" },
+ { url = "https://files.pythonhosted.org/packages/19/e5/a4ea514515f270224435c69359abb7a3d152ed31b9ee3ba5e63017461945/matplotlib-3.8.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e208f46cf6576a7624195aa047cb344a7f802e113bb1a06cfd4bee431de5e31", size = 11611959, upload-time = "2023-11-17T21:17:40.541Z" },
+ { url = "https://files.pythonhosted.org/packages/09/23/ab5a562c9acb81e351b084bea39f65b153918417fb434619cf5a19f44a55/matplotlib-3.8.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:46a569130ff53798ea5f50afce7406e91fdc471ca1e0e26ba976a8c734c9427a", size = 9536938, upload-time = "2023-11-17T21:17:49.925Z" },
+ { url = "https://files.pythonhosted.org/packages/46/37/b5e27ab30ecc0a3694c8a78287b5ef35dad0c3095c144fcc43081170bfd6/matplotlib-3.8.2-cp310-cp310-win_amd64.whl", hash = "sha256:830f00640c965c5b7f6bc32f0d4ce0c36dfe0379f7dd65b07a00c801713ec40a", size = 7643836, upload-time = "2023-11-17T21:17:58.379Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/0d/53afb186adafc7326d093b8333e8a79974c495095771659f4304626c4bc7/matplotlib-3.8.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d86593ccf546223eb75a39b44c32788e6f6440d13cfc4750c1c15d0fcb850b63", size = 7593458, upload-time = "2023-11-17T21:18:06.141Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/25/a557ee10ac9dce1300850024707ce1850a6958f1673a9194be878b99d631/matplotlib-3.8.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9a5430836811b7652991939012f43d2808a2db9b64ee240387e8c43e2e5578c8", size = 7486840, upload-time = "2023-11-17T21:18:13.706Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/3d/72712b3895ee180f6e342638a8591c31912fbcc09ce9084cc256da16d0a0/matplotlib-3.8.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9576723858a78751d5aacd2497b8aef29ffea6d1c95981505877f7ac28215c6", size = 11387332, upload-time = "2023-11-17T21:18:23.699Z" },
+ { url = "https://files.pythonhosted.org/packages/92/1a/cd3e0c90d1a763ad90073e13b189b4702f11becf4e71dbbad70a7a149811/matplotlib-3.8.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ba9cbd8ac6cf422f3102622b20f8552d601bf8837e49a3afed188d560152788", size = 11616911, upload-time = "2023-11-17T21:18:35.27Z" },
+ { url = "https://files.pythonhosted.org/packages/78/4a/bad239071477305a3758eb4810615e310a113399cddd7682998be9f01e97/matplotlib-3.8.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:03f9d160a29e0b65c0790bb07f4f45d6a181b1ac33eb1bb0dd225986450148f0", size = 9549260, upload-time = "2023-11-17T21:18:44.836Z" },
+ { url = "https://files.pythonhosted.org/packages/26/5a/27fd341e4510257789f19a4b4be8bb90d1113b8f176c3dab562b4f21466e/matplotlib-3.8.2-cp311-cp311-win_amd64.whl", hash = "sha256:3773002da767f0a9323ba1a9b9b5d00d6257dbd2a93107233167cfb581f64717", size = 7645742, upload-time = "2023-11-17T21:18:53.448Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/1b/864d28d5a72d586ac137f4ca54d5afc8b869720e30d508dbd9adcce4d231/matplotlib-3.8.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:4c318c1e95e2f5926fba326f68177dee364aa791d6df022ceb91b8221bd0a627", size = 7590988, upload-time = "2023-11-17T21:19:01.119Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/b0/dd2b60f2dd90fbc21d1d3129c36a453c322d7995d5e3589f5b3c59ee528d/matplotlib-3.8.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:091275d18d942cf1ee9609c830a1bc36610607d8223b1b981c37d5c9fc3e46a4", size = 7483594, upload-time = "2023-11-17T21:19:09.865Z" },
+ { url = "https://files.pythonhosted.org/packages/33/da/9942533ad9f96753bde0e5a5d48eacd6c21de8ea1ad16570e31bda8a017f/matplotlib-3.8.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b0f3b8ea0e99e233a4bcc44590f01604840d833c280ebb8fe5554fd3e6cfe8d", size = 11380843, upload-time = "2023-11-17T21:19:20.46Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/52/bfd36eb4745a3b21b3946c2c3a15679b620e14574fe2b98e9451b65ef578/matplotlib-3.8.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7b1704a530395aaf73912be741c04d181f82ca78084fbd80bc737be04848331", size = 11604608, upload-time = "2023-11-17T21:19:31.363Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/8c/0cdfbf604d4ea3dfa77435176c51e233cc408ad8f3efbf8d2c9f57cbdafb/matplotlib-3.8.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533b0e3b0c6768eef8cbe4b583731ce25a91ab54a22f830db2b031e83cca9213", size = 9545252, upload-time = "2023-11-17T21:19:42.271Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/51/c77a14869b7eb9d6fb440e811b754fc3950d6868c38ace57d0632b674415/matplotlib-3.8.2-cp312-cp312-win_amd64.whl", hash = "sha256:0f4fc5d72b75e2c18e55eb32292659cf731d9d5b312a6eb036506304f4675630", size = 7645067, upload-time = "2023-11-17T21:19:50.091Z" },
]
[[package]]
name = "mdurl"
version = "0.1.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload_time = "2022-08-14T12:40:10.846Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload_time = "2022-08-14T12:40:09.779Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" },
]
[[package]]
name = "mpmath"
version = "1.3.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload_time = "2023-03-07T16:47:11.061Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload-time = "2023-03-07T16:47:11.061Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload_time = "2023-03-07T16:47:09.197Z" },
+ { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" },
]
[[package]]
name = "msgpack"
version = "1.0.7"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/c2/d5/5662032db1571110b5b51647aed4b56dfbd01bfae789fa566a2be1f385d1/msgpack-1.0.7.tar.gz", hash = "sha256:572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87", size = 166311, upload_time = "2023-09-28T13:20:36.726Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c2/d5/5662032db1571110b5b51647aed4b56dfbd01bfae789fa566a2be1f385d1/msgpack-1.0.7.tar.gz", hash = "sha256:572efc93db7a4d27e404501975ca6d2d9775705c2d922390d878fcf768d92c87", size = 166311, upload-time = "2023-09-28T13:20:36.726Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/41/3a/2e2e902afcd751738e38d88af976fc4010b16e8e821945f4cbf32f75f9c3/msgpack-1.0.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04ad6069c86e531682f9e1e71b71c1c3937d6014a7c3e9edd2aa81ad58842862", size = 304827, upload_time = "2023-09-28T13:18:30.258Z" },
- { url = "https://files.pythonhosted.org/packages/86/a6/490792a524a82e855bdf3885ecb73d7b3a0b17744b3cf4a40aea13ceca38/msgpack-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cca1b62fe70d761a282496b96a5e51c44c213e410a964bdffe0928e611368329", size = 234959, upload_time = "2023-09-28T13:18:32.146Z" },
- { url = "https://files.pythonhosted.org/packages/ad/72/d39ed43bfb2ec6968d768318477adb90c474bdc59b2437170c6697ee4115/msgpack-1.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e50ebce52f41370707f1e21a59514e3375e3edd6e1832f5e5235237db933c98b", size = 231970, upload_time = "2023-09-28T13:18:34.134Z" },
- { url = "https://files.pythonhosted.org/packages/a2/90/2d769e693654f036acfb462b54dacb3ae345699999897ca34f6bd9534fe9/msgpack-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b4f35de6a304b5533c238bee86b670b75b03d31b7797929caa7a624b5dda6", size = 522440, upload_time = "2023-09-28T13:18:35.866Z" },
- { url = "https://files.pythonhosted.org/packages/46/95/d0440400485eab1bf50f1efe5118967b539f3191d994c3dfc220657594cd/msgpack-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28efb066cde83c479dfe5a48141a53bc7e5f13f785b92ddde336c716663039ee", size = 530797, upload_time = "2023-09-28T13:18:37.653Z" },
- { url = "https://files.pythonhosted.org/packages/76/33/35df717bc095c6e938b3c65ed117b95048abc24d1614427685123fb2f0af/msgpack-1.0.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cb14ce54d9b857be9591ac364cb08dc2d6a5c4318c1182cb1d02274029d590d", size = 520372, upload_time = "2023-09-28T13:18:39.685Z" },
- { url = "https://files.pythonhosted.org/packages/af/d1/abbdd58a43827fbec5d98427a7a535c620890289b9d927154465313d6967/msgpack-1.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b573a43ef7c368ba4ea06050a957c2a7550f729c31f11dd616d2ac4aba99888d", size = 527287, upload_time = "2023-09-28T13:18:41.051Z" },
- { url = "https://files.pythonhosted.org/packages/0c/ac/66625b05091b97ca2c7418eb2d2af152f033d969519f9315556a4ed800fe/msgpack-1.0.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ccf9a39706b604d884d2cb1e27fe973bc55f2890c52f38df742bc1d79ab9f5e1", size = 560715, upload_time = "2023-09-28T13:18:42.883Z" },
- { url = "https://files.pythonhosted.org/packages/de/4e/a0e8611f94bac32d2c1c4ad05bb1c0ae61132e3398e0b44a93e6d7830968/msgpack-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cb70766519500281815dfd7a87d3a178acf7ce95390544b8c90587d76b227681", size = 532614, upload_time = "2023-09-28T13:18:44.679Z" },
- { url = "https://files.pythonhosted.org/packages/9b/07/0b3f089684ca330602b2994248eda2898a7232e4b63882b9271164ef672e/msgpack-1.0.7-cp310-cp310-win32.whl", hash = "sha256:b610ff0f24e9f11c9ae653c67ff8cc03c075131401b3e5ef4b82570d1728f8a9", size = 216340, upload_time = "2023-09-28T13:18:46.588Z" },
- { url = "https://files.pythonhosted.org/packages/4b/14/c62fbc8dff118f1558e43b9469d56a1f37bbb35febadc3163efaedd01500/msgpack-1.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:a40821a89dc373d6427e2b44b572efc36a2778d3f543299e2f24eb1a5de65415", size = 222828, upload_time = "2023-09-28T13:18:47.875Z" },
- { url = "https://files.pythonhosted.org/packages/f9/b3/309de40dc7406b7f3492332c5ee2b492a593c2a9bb97ea48ebf2f5279999/msgpack-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:576eb384292b139821c41995523654ad82d1916da6a60cff129c715a6223ea84", size = 305096, upload_time = "2023-09-28T13:18:49.678Z" },
- { url = "https://files.pythonhosted.org/packages/15/56/a677cd761a2cefb2e3ffe7e684633294dccb161d78e8ea6da9277e45b4a2/msgpack-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:730076207cb816138cf1af7f7237b208340a2c5e749707457d70705715c93b93", size = 235210, upload_time = "2023-09-28T13:18:51.039Z" },
- { url = "https://files.pythonhosted.org/packages/f5/4e/1ab4a982cbd90f988e49f849fc1212f2c04a59870c59daabf8950617e2aa/msgpack-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85765fdf4b27eb5086f05ac0491090fc76f4f2b28e09d9350c31aac25a5aaff8", size = 231952, upload_time = "2023-09-28T13:18:52.871Z" },
- { url = "https://files.pythonhosted.org/packages/6d/74/bd02044eb628c7361ad2bd8c1a6147af5c6c2bbceb77b3b1da20f4a8a9c5/msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3476fae43db72bd11f29a5147ae2f3cb22e2f1a91d575ef130d2bf49afd21c46", size = 549511, upload_time = "2023-09-28T13:18:54.422Z" },
- { url = "https://files.pythonhosted.org/packages/df/09/dee50913ba5cc047f7fd7162f09453a676e7935c84b3bf3a398e12108677/msgpack-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d4c80667de2e36970ebf74f42d1088cc9ee7ef5f4e8c35eee1b40eafd33ca5b", size = 557980, upload_time = "2023-09-28T13:18:56.058Z" },
- { url = "https://files.pythonhosted.org/packages/26/a5/78a7d87f5f8ffe4c32167afa15d4957db649bab4822f909d8d765339bbab/msgpack-1.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b0bf0effb196ed76b7ad883848143427a73c355ae8e569fa538365064188b8e", size = 545547, upload_time = "2023-09-28T13:18:57.396Z" },
- { url = "https://files.pythonhosted.org/packages/d4/53/698c10913947f97f6fe7faad86a34e6aa1b66cea2df6f99105856bd346d9/msgpack-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f9a7c509542db4eceed3dcf21ee5267ab565a83555c9b88a8109dcecc4709002", size = 554669, upload_time = "2023-09-28T13:18:58.957Z" },
- { url = "https://files.pythonhosted.org/packages/f5/3f/9730c6cb574b15d349b80cd8523a7df4b82058528339f952ea1c32ac8a10/msgpack-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:84b0daf226913133f899ea9b30618722d45feffa67e4fe867b0b5ae83a34060c", size = 583353, upload_time = "2023-09-28T13:19:01.186Z" },
- { url = "https://files.pythonhosted.org/packages/4c/bc/dc184d943692671149848438fb3bed3a3de288ce7998cb91bc98f40f201b/msgpack-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec79ff6159dffcc30853b2ad612ed572af86c92b5168aa3fc01a67b0fa40665e", size = 557455, upload_time = "2023-09-28T13:19:03.201Z" },
- { url = "https://files.pythonhosted.org/packages/cf/7b/1bc69d4a56c8d2f4f2dfbe4722d40344af9a85b6fb3b09cfb350ba6a42f6/msgpack-1.0.7-cp311-cp311-win32.whl", hash = "sha256:3e7bf4442b310ff154b7bb9d81eb2c016b7d597e364f97d72b1acc3817a0fdc1", size = 216367, upload_time = "2023-09-28T13:19:04.554Z" },
- { url = "https://files.pythonhosted.org/packages/b4/3d/c8dd23050eefa3d9b9c5b8329ed3308c2f2f80f65825e9ea4b7fa621cdab/msgpack-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:3f0c8c6dfa6605ab8ff0611995ee30d4f9fcff89966cf562733b4008a3d60d82", size = 222860, upload_time = "2023-09-28T13:19:06.397Z" },
- { url = "https://files.pythonhosted.org/packages/d7/47/20dff6b4512cf3575550c8801bc53fe7d540f4efef9c5c37af51760fcdcf/msgpack-1.0.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f0936e08e0003f66bfd97e74ee530427707297b0d0361247e9b4f59ab78ddc8b", size = 305759, upload_time = "2023-09-28T13:19:08.148Z" },
- { url = "https://files.pythonhosted.org/packages/6f/8a/34f1726d2c9feccec3d946776e9bce8f20ae09d8b91899fc20b296c942af/msgpack-1.0.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98bbd754a422a0b123c66a4c341de0474cad4a5c10c164ceed6ea090f3563db4", size = 235330, upload_time = "2023-09-28T13:19:09.417Z" },
- { url = "https://files.pythonhosted.org/packages/9c/f6/e64c72577d6953789c3cb051b059a4b56317056b3c65013952338ed8a34e/msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b291f0ee7961a597cbbcc77709374087fa2a9afe7bdb6a40dbbd9b127e79afee", size = 232537, upload_time = "2023-09-28T13:19:10.898Z" },
- { url = "https://files.pythonhosted.org/packages/89/75/1ed3a96e12941873fd957e016cc40c0c178861a872bd45e75b9a188eb422/msgpack-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebbbba226f0a108a7366bf4b59bf0f30a12fd5e75100c630267d94d7f0ad20e5", size = 546561, upload_time = "2023-09-28T13:19:12.779Z" },
- { url = "https://files.pythonhosted.org/packages/e5/0a/c6a1390f9c6a31da0fecbbfdb86b1cb39ad302d9e24f9cca3d9e14c364f0/msgpack-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e2d69948e4132813b8d1131f29f9101bc2c915f26089a6d632001a5c1349672", size = 559009, upload_time = "2023-09-28T13:19:14.373Z" },
- { url = "https://files.pythonhosted.org/packages/a5/74/99f6077754665613ea1f37b3d91c10129f6976b7721ab4d0973023808e5a/msgpack-1.0.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdf38ba2d393c7911ae989c3bbba510ebbcdf4ecbdbfec36272abe350c454075", size = 543882, upload_time = "2023-09-28T13:19:16.277Z" },
- { url = "https://files.pythonhosted.org/packages/9c/7e/dc0dc8de2bf27743b31691149258f9b1bd4bf3c44c105df3df9b97081cd1/msgpack-1.0.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:993584fc821c58d5993521bfdcd31a4adf025c7d745bbd4d12ccfecf695af5ba", size = 546949, upload_time = "2023-09-28T13:19:18.114Z" },
- { url = "https://files.pythonhosted.org/packages/78/61/91bae9474def032f6c333d62889bbeda9e1554c6b123375ceeb1767efd78/msgpack-1.0.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:52700dc63a4676669b341ba33520f4d6e43d3ca58d422e22ba66d1736b0a6e4c", size = 579836, upload_time = "2023-09-28T13:19:19.729Z" },
- { url = "https://files.pythonhosted.org/packages/5d/4d/d98592099d4f18945f89cf3e634dc0cb128bb33b1b93f85a84173d35e181/msgpack-1.0.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e45ae4927759289c30ccba8d9fdce62bb414977ba158286b5ddaf8df2cddb5c5", size = 556587, upload_time = "2023-09-28T13:19:21.666Z" },
- { url = "https://files.pythonhosted.org/packages/5e/44/6556ffe169bf2c0e974e2ea25fb82a7e55ebcf52a81b03a5e01820de5f84/msgpack-1.0.7-cp312-cp312-win32.whl", hash = "sha256:27dcd6f46a21c18fa5e5deed92a43d4554e3df8d8ca5a47bf0615d6a5f39dbc9", size = 216509, upload_time = "2023-09-28T13:19:23.161Z" },
- { url = "https://files.pythonhosted.org/packages/dc/c1/63903f30d51d165e132e5221a2a4a1bbfab7508b68131c871d70bffac78a/msgpack-1.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:7687e22a31e976a0e7fc99c2f4d11ca45eff652a81eb8c8085e9609298916dcf", size = 223287, upload_time = "2023-09-28T13:19:25.097Z" },
+ { url = "https://files.pythonhosted.org/packages/41/3a/2e2e902afcd751738e38d88af976fc4010b16e8e821945f4cbf32f75f9c3/msgpack-1.0.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:04ad6069c86e531682f9e1e71b71c1c3937d6014a7c3e9edd2aa81ad58842862", size = 304827, upload-time = "2023-09-28T13:18:30.258Z" },
+ { url = "https://files.pythonhosted.org/packages/86/a6/490792a524a82e855bdf3885ecb73d7b3a0b17744b3cf4a40aea13ceca38/msgpack-1.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cca1b62fe70d761a282496b96a5e51c44c213e410a964bdffe0928e611368329", size = 234959, upload-time = "2023-09-28T13:18:32.146Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/72/d39ed43bfb2ec6968d768318477adb90c474bdc59b2437170c6697ee4115/msgpack-1.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e50ebce52f41370707f1e21a59514e3375e3edd6e1832f5e5235237db933c98b", size = 231970, upload-time = "2023-09-28T13:18:34.134Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/90/2d769e693654f036acfb462b54dacb3ae345699999897ca34f6bd9534fe9/msgpack-1.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a7b4f35de6a304b5533c238bee86b670b75b03d31b7797929caa7a624b5dda6", size = 522440, upload-time = "2023-09-28T13:18:35.866Z" },
+ { url = "https://files.pythonhosted.org/packages/46/95/d0440400485eab1bf50f1efe5118967b539f3191d994c3dfc220657594cd/msgpack-1.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28efb066cde83c479dfe5a48141a53bc7e5f13f785b92ddde336c716663039ee", size = 530797, upload-time = "2023-09-28T13:18:37.653Z" },
+ { url = "https://files.pythonhosted.org/packages/76/33/35df717bc095c6e938b3c65ed117b95048abc24d1614427685123fb2f0af/msgpack-1.0.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4cb14ce54d9b857be9591ac364cb08dc2d6a5c4318c1182cb1d02274029d590d", size = 520372, upload-time = "2023-09-28T13:18:39.685Z" },
+ { url = "https://files.pythonhosted.org/packages/af/d1/abbdd58a43827fbec5d98427a7a535c620890289b9d927154465313d6967/msgpack-1.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b573a43ef7c368ba4ea06050a957c2a7550f729c31f11dd616d2ac4aba99888d", size = 527287, upload-time = "2023-09-28T13:18:41.051Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/ac/66625b05091b97ca2c7418eb2d2af152f033d969519f9315556a4ed800fe/msgpack-1.0.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ccf9a39706b604d884d2cb1e27fe973bc55f2890c52f38df742bc1d79ab9f5e1", size = 560715, upload-time = "2023-09-28T13:18:42.883Z" },
+ { url = "https://files.pythonhosted.org/packages/de/4e/a0e8611f94bac32d2c1c4ad05bb1c0ae61132e3398e0b44a93e6d7830968/msgpack-1.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cb70766519500281815dfd7a87d3a178acf7ce95390544b8c90587d76b227681", size = 532614, upload-time = "2023-09-28T13:18:44.679Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/07/0b3f089684ca330602b2994248eda2898a7232e4b63882b9271164ef672e/msgpack-1.0.7-cp310-cp310-win32.whl", hash = "sha256:b610ff0f24e9f11c9ae653c67ff8cc03c075131401b3e5ef4b82570d1728f8a9", size = 216340, upload-time = "2023-09-28T13:18:46.588Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/14/c62fbc8dff118f1558e43b9469d56a1f37bbb35febadc3163efaedd01500/msgpack-1.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:a40821a89dc373d6427e2b44b572efc36a2778d3f543299e2f24eb1a5de65415", size = 222828, upload-time = "2023-09-28T13:18:47.875Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/b3/309de40dc7406b7f3492332c5ee2b492a593c2a9bb97ea48ebf2f5279999/msgpack-1.0.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:576eb384292b139821c41995523654ad82d1916da6a60cff129c715a6223ea84", size = 305096, upload-time = "2023-09-28T13:18:49.678Z" },
+ { url = "https://files.pythonhosted.org/packages/15/56/a677cd761a2cefb2e3ffe7e684633294dccb161d78e8ea6da9277e45b4a2/msgpack-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:730076207cb816138cf1af7f7237b208340a2c5e749707457d70705715c93b93", size = 235210, upload-time = "2023-09-28T13:18:51.039Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/4e/1ab4a982cbd90f988e49f849fc1212f2c04a59870c59daabf8950617e2aa/msgpack-1.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:85765fdf4b27eb5086f05ac0491090fc76f4f2b28e09d9350c31aac25a5aaff8", size = 231952, upload-time = "2023-09-28T13:18:52.871Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/74/bd02044eb628c7361ad2bd8c1a6147af5c6c2bbceb77b3b1da20f4a8a9c5/msgpack-1.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3476fae43db72bd11f29a5147ae2f3cb22e2f1a91d575ef130d2bf49afd21c46", size = 549511, upload-time = "2023-09-28T13:18:54.422Z" },
+ { url = "https://files.pythonhosted.org/packages/df/09/dee50913ba5cc047f7fd7162f09453a676e7935c84b3bf3a398e12108677/msgpack-1.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d4c80667de2e36970ebf74f42d1088cc9ee7ef5f4e8c35eee1b40eafd33ca5b", size = 557980, upload-time = "2023-09-28T13:18:56.058Z" },
+ { url = "https://files.pythonhosted.org/packages/26/a5/78a7d87f5f8ffe4c32167afa15d4957db649bab4822f909d8d765339bbab/msgpack-1.0.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b0bf0effb196ed76b7ad883848143427a73c355ae8e569fa538365064188b8e", size = 545547, upload-time = "2023-09-28T13:18:57.396Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/53/698c10913947f97f6fe7faad86a34e6aa1b66cea2df6f99105856bd346d9/msgpack-1.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f9a7c509542db4eceed3dcf21ee5267ab565a83555c9b88a8109dcecc4709002", size = 554669, upload-time = "2023-09-28T13:18:58.957Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/3f/9730c6cb574b15d349b80cd8523a7df4b82058528339f952ea1c32ac8a10/msgpack-1.0.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:84b0daf226913133f899ea9b30618722d45feffa67e4fe867b0b5ae83a34060c", size = 583353, upload-time = "2023-09-28T13:19:01.186Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/bc/dc184d943692671149848438fb3bed3a3de288ce7998cb91bc98f40f201b/msgpack-1.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ec79ff6159dffcc30853b2ad612ed572af86c92b5168aa3fc01a67b0fa40665e", size = 557455, upload-time = "2023-09-28T13:19:03.201Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/7b/1bc69d4a56c8d2f4f2dfbe4722d40344af9a85b6fb3b09cfb350ba6a42f6/msgpack-1.0.7-cp311-cp311-win32.whl", hash = "sha256:3e7bf4442b310ff154b7bb9d81eb2c016b7d597e364f97d72b1acc3817a0fdc1", size = 216367, upload-time = "2023-09-28T13:19:04.554Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/3d/c8dd23050eefa3d9b9c5b8329ed3308c2f2f80f65825e9ea4b7fa621cdab/msgpack-1.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:3f0c8c6dfa6605ab8ff0611995ee30d4f9fcff89966cf562733b4008a3d60d82", size = 222860, upload-time = "2023-09-28T13:19:06.397Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/47/20dff6b4512cf3575550c8801bc53fe7d540f4efef9c5c37af51760fcdcf/msgpack-1.0.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f0936e08e0003f66bfd97e74ee530427707297b0d0361247e9b4f59ab78ddc8b", size = 305759, upload-time = "2023-09-28T13:19:08.148Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/8a/34f1726d2c9feccec3d946776e9bce8f20ae09d8b91899fc20b296c942af/msgpack-1.0.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98bbd754a422a0b123c66a4c341de0474cad4a5c10c164ceed6ea090f3563db4", size = 235330, upload-time = "2023-09-28T13:19:09.417Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/f6/e64c72577d6953789c3cb051b059a4b56317056b3c65013952338ed8a34e/msgpack-1.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b291f0ee7961a597cbbcc77709374087fa2a9afe7bdb6a40dbbd9b127e79afee", size = 232537, upload-time = "2023-09-28T13:19:10.898Z" },
+ { url = "https://files.pythonhosted.org/packages/89/75/1ed3a96e12941873fd957e016cc40c0c178861a872bd45e75b9a188eb422/msgpack-1.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebbbba226f0a108a7366bf4b59bf0f30a12fd5e75100c630267d94d7f0ad20e5", size = 546561, upload-time = "2023-09-28T13:19:12.779Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/0a/c6a1390f9c6a31da0fecbbfdb86b1cb39ad302d9e24f9cca3d9e14c364f0/msgpack-1.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e2d69948e4132813b8d1131f29f9101bc2c915f26089a6d632001a5c1349672", size = 559009, upload-time = "2023-09-28T13:19:14.373Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/74/99f6077754665613ea1f37b3d91c10129f6976b7721ab4d0973023808e5a/msgpack-1.0.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdf38ba2d393c7911ae989c3bbba510ebbcdf4ecbdbfec36272abe350c454075", size = 543882, upload-time = "2023-09-28T13:19:16.277Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/7e/dc0dc8de2bf27743b31691149258f9b1bd4bf3c44c105df3df9b97081cd1/msgpack-1.0.7-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:993584fc821c58d5993521bfdcd31a4adf025c7d745bbd4d12ccfecf695af5ba", size = 546949, upload-time = "2023-09-28T13:19:18.114Z" },
+ { url = "https://files.pythonhosted.org/packages/78/61/91bae9474def032f6c333d62889bbeda9e1554c6b123375ceeb1767efd78/msgpack-1.0.7-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:52700dc63a4676669b341ba33520f4d6e43d3ca58d422e22ba66d1736b0a6e4c", size = 579836, upload-time = "2023-09-28T13:19:19.729Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/4d/d98592099d4f18945f89cf3e634dc0cb128bb33b1b93f85a84173d35e181/msgpack-1.0.7-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e45ae4927759289c30ccba8d9fdce62bb414977ba158286b5ddaf8df2cddb5c5", size = 556587, upload-time = "2023-09-28T13:19:21.666Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/44/6556ffe169bf2c0e974e2ea25fb82a7e55ebcf52a81b03a5e01820de5f84/msgpack-1.0.7-cp312-cp312-win32.whl", hash = "sha256:27dcd6f46a21c18fa5e5deed92a43d4554e3df8d8ca5a47bf0615d6a5f39dbc9", size = 216509, upload-time = "2023-09-28T13:19:23.161Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/c1/63903f30d51d165e132e5221a2a4a1bbfab7508b68131c871d70bffac78a/msgpack-1.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:7687e22a31e976a0e7fc99c2f4d11ca45eff652a81eb8c8085e9609298916dcf", size = 223287, upload-time = "2023-09-28T13:19:25.097Z" },
]
[[package]]
@@ -1405,83 +1405,83 @@ dependencies = [
{ name = "tomli", marker = "python_full_version < '3.11'" },
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ce/43/d5e49a86afa64bd3839ea0d5b9c7103487007d728e1293f52525d6d5486a/mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43", size = 3239717, upload_time = "2025-02-05T03:50:34.655Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ce/43/d5e49a86afa64bd3839ea0d5b9c7103487007d728e1293f52525d6d5486a/mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43", size = 3239717, upload-time = "2025-02-05T03:50:34.655Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/68/f8/65a7ce8d0e09b6329ad0c8d40330d100ea343bd4dd04c4f8ae26462d0a17/mypy-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13", size = 10738433, upload_time = "2025-02-05T03:49:29.145Z" },
- { url = "https://files.pythonhosted.org/packages/b4/95/9c0ecb8eacfe048583706249439ff52105b3f552ea9c4024166c03224270/mypy-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559", size = 9861472, upload_time = "2025-02-05T03:49:16.986Z" },
- { url = "https://files.pythonhosted.org/packages/84/09/9ec95e982e282e20c0d5407bc65031dfd0f0f8ecc66b69538296e06fcbee/mypy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b", size = 11611424, upload_time = "2025-02-05T03:49:46.908Z" },
- { url = "https://files.pythonhosted.org/packages/78/13/f7d14e55865036a1e6a0a69580c240f43bc1f37407fe9235c0d4ef25ffb0/mypy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3", size = 12365450, upload_time = "2025-02-05T03:50:05.89Z" },
- { url = "https://files.pythonhosted.org/packages/48/e1/301a73852d40c241e915ac6d7bcd7fedd47d519246db2d7b86b9d7e7a0cb/mypy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b", size = 12551765, upload_time = "2025-02-05T03:49:33.56Z" },
- { url = "https://files.pythonhosted.org/packages/77/ba/c37bc323ae5fe7f3f15a28e06ab012cd0b7552886118943e90b15af31195/mypy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828", size = 9274701, upload_time = "2025-02-05T03:49:38.981Z" },
- { url = "https://files.pythonhosted.org/packages/03/bc/f6339726c627bd7ca1ce0fa56c9ae2d0144604a319e0e339bdadafbbb599/mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f", size = 10662338, upload_time = "2025-02-05T03:50:17.287Z" },
- { url = "https://files.pythonhosted.org/packages/e2/90/8dcf506ca1a09b0d17555cc00cd69aee402c203911410136cd716559efe7/mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5", size = 9787540, upload_time = "2025-02-05T03:49:51.21Z" },
- { url = "https://files.pythonhosted.org/packages/05/05/a10f9479681e5da09ef2f9426f650d7b550d4bafbef683b69aad1ba87457/mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e", size = 11538051, upload_time = "2025-02-05T03:50:20.885Z" },
- { url = "https://files.pythonhosted.org/packages/e9/9a/1f7d18b30edd57441a6411fcbc0c6869448d1a4bacbaee60656ac0fc29c8/mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c", size = 12286751, upload_time = "2025-02-05T03:49:42.408Z" },
- { url = "https://files.pythonhosted.org/packages/72/af/19ff499b6f1dafcaf56f9881f7a965ac2f474f69f6f618b5175b044299f5/mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f", size = 12421783, upload_time = "2025-02-05T03:49:07.707Z" },
- { url = "https://files.pythonhosted.org/packages/96/39/11b57431a1f686c1aed54bf794870efe0f6aeca11aca281a0bd87a5ad42c/mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f", size = 9265618, upload_time = "2025-02-05T03:49:54.581Z" },
- { url = "https://files.pythonhosted.org/packages/98/3a/03c74331c5eb8bd025734e04c9840532226775c47a2c39b56a0c8d4f128d/mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd", size = 10793981, upload_time = "2025-02-05T03:50:28.25Z" },
- { url = "https://files.pythonhosted.org/packages/f0/1a/41759b18f2cfd568848a37c89030aeb03534411eef981df621d8fad08a1d/mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f", size = 9749175, upload_time = "2025-02-05T03:50:13.411Z" },
- { url = "https://files.pythonhosted.org/packages/12/7e/873481abf1ef112c582db832740f4c11b2bfa510e829d6da29b0ab8c3f9c/mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464", size = 11455675, upload_time = "2025-02-05T03:50:31.421Z" },
- { url = "https://files.pythonhosted.org/packages/b3/d0/92ae4cde706923a2d3f2d6c39629134063ff64b9dedca9c1388363da072d/mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee", size = 12410020, upload_time = "2025-02-05T03:48:48.705Z" },
- { url = "https://files.pythonhosted.org/packages/46/8b/df49974b337cce35f828ba6fda228152d6db45fed4c86ba56ffe442434fd/mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e", size = 12498582, upload_time = "2025-02-05T03:49:03.628Z" },
- { url = "https://files.pythonhosted.org/packages/13/50/da5203fcf6c53044a0b699939f31075c45ae8a4cadf538a9069b165c1050/mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22", size = 9366614, upload_time = "2025-02-05T03:50:00.313Z" },
- { url = "https://files.pythonhosted.org/packages/6a/9b/fd2e05d6ffff24d912f150b87db9e364fa8282045c875654ce7e32fffa66/mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445", size = 10788592, upload_time = "2025-02-05T03:48:55.789Z" },
- { url = "https://files.pythonhosted.org/packages/74/37/b246d711c28a03ead1fd906bbc7106659aed7c089d55fe40dd58db812628/mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d", size = 9753611, upload_time = "2025-02-05T03:48:44.581Z" },
- { url = "https://files.pythonhosted.org/packages/a6/ac/395808a92e10cfdac8003c3de9a2ab6dc7cde6c0d2a4df3df1b815ffd067/mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5", size = 11438443, upload_time = "2025-02-05T03:49:25.514Z" },
- { url = "https://files.pythonhosted.org/packages/d2/8b/801aa06445d2de3895f59e476f38f3f8d610ef5d6908245f07d002676cbf/mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036", size = 12402541, upload_time = "2025-02-05T03:49:57.623Z" },
- { url = "https://files.pythonhosted.org/packages/c7/67/5a4268782eb77344cc613a4cf23540928e41f018a9a1ec4c6882baf20ab8/mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357", size = 12494348, upload_time = "2025-02-05T03:48:52.361Z" },
- { url = "https://files.pythonhosted.org/packages/83/3e/57bb447f7bbbfaabf1712d96f9df142624a386d98fb026a761532526057e/mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf", size = 9373648, upload_time = "2025-02-05T03:49:11.395Z" },
- { url = "https://files.pythonhosted.org/packages/09/4e/a7d65c7322c510de2c409ff3828b03354a7c43f5a8ed458a7a131b41c7b9/mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e", size = 2221777, upload_time = "2025-02-05T03:50:08.348Z" },
+ { url = "https://files.pythonhosted.org/packages/68/f8/65a7ce8d0e09b6329ad0c8d40330d100ea343bd4dd04c4f8ae26462d0a17/mypy-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13", size = 10738433, upload-time = "2025-02-05T03:49:29.145Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/95/9c0ecb8eacfe048583706249439ff52105b3f552ea9c4024166c03224270/mypy-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559", size = 9861472, upload-time = "2025-02-05T03:49:16.986Z" },
+ { url = "https://files.pythonhosted.org/packages/84/09/9ec95e982e282e20c0d5407bc65031dfd0f0f8ecc66b69538296e06fcbee/mypy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b", size = 11611424, upload-time = "2025-02-05T03:49:46.908Z" },
+ { url = "https://files.pythonhosted.org/packages/78/13/f7d14e55865036a1e6a0a69580c240f43bc1f37407fe9235c0d4ef25ffb0/mypy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3", size = 12365450, upload-time = "2025-02-05T03:50:05.89Z" },
+ { url = "https://files.pythonhosted.org/packages/48/e1/301a73852d40c241e915ac6d7bcd7fedd47d519246db2d7b86b9d7e7a0cb/mypy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b", size = 12551765, upload-time = "2025-02-05T03:49:33.56Z" },
+ { url = "https://files.pythonhosted.org/packages/77/ba/c37bc323ae5fe7f3f15a28e06ab012cd0b7552886118943e90b15af31195/mypy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828", size = 9274701, upload-time = "2025-02-05T03:49:38.981Z" },
+ { url = "https://files.pythonhosted.org/packages/03/bc/f6339726c627bd7ca1ce0fa56c9ae2d0144604a319e0e339bdadafbbb599/mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f", size = 10662338, upload-time = "2025-02-05T03:50:17.287Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/90/8dcf506ca1a09b0d17555cc00cd69aee402c203911410136cd716559efe7/mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5", size = 9787540, upload-time = "2025-02-05T03:49:51.21Z" },
+ { url = "https://files.pythonhosted.org/packages/05/05/a10f9479681e5da09ef2f9426f650d7b550d4bafbef683b69aad1ba87457/mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e", size = 11538051, upload-time = "2025-02-05T03:50:20.885Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/9a/1f7d18b30edd57441a6411fcbc0c6869448d1a4bacbaee60656ac0fc29c8/mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c", size = 12286751, upload-time = "2025-02-05T03:49:42.408Z" },
+ { url = "https://files.pythonhosted.org/packages/72/af/19ff499b6f1dafcaf56f9881f7a965ac2f474f69f6f618b5175b044299f5/mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f", size = 12421783, upload-time = "2025-02-05T03:49:07.707Z" },
+ { url = "https://files.pythonhosted.org/packages/96/39/11b57431a1f686c1aed54bf794870efe0f6aeca11aca281a0bd87a5ad42c/mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f", size = 9265618, upload-time = "2025-02-05T03:49:54.581Z" },
+ { url = "https://files.pythonhosted.org/packages/98/3a/03c74331c5eb8bd025734e04c9840532226775c47a2c39b56a0c8d4f128d/mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd", size = 10793981, upload-time = "2025-02-05T03:50:28.25Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/1a/41759b18f2cfd568848a37c89030aeb03534411eef981df621d8fad08a1d/mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f", size = 9749175, upload-time = "2025-02-05T03:50:13.411Z" },
+ { url = "https://files.pythonhosted.org/packages/12/7e/873481abf1ef112c582db832740f4c11b2bfa510e829d6da29b0ab8c3f9c/mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464", size = 11455675, upload-time = "2025-02-05T03:50:31.421Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/d0/92ae4cde706923a2d3f2d6c39629134063ff64b9dedca9c1388363da072d/mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee", size = 12410020, upload-time = "2025-02-05T03:48:48.705Z" },
+ { url = "https://files.pythonhosted.org/packages/46/8b/df49974b337cce35f828ba6fda228152d6db45fed4c86ba56ffe442434fd/mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e", size = 12498582, upload-time = "2025-02-05T03:49:03.628Z" },
+ { url = "https://files.pythonhosted.org/packages/13/50/da5203fcf6c53044a0b699939f31075c45ae8a4cadf538a9069b165c1050/mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22", size = 9366614, upload-time = "2025-02-05T03:50:00.313Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/9b/fd2e05d6ffff24d912f150b87db9e364fa8282045c875654ce7e32fffa66/mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445", size = 10788592, upload-time = "2025-02-05T03:48:55.789Z" },
+ { url = "https://files.pythonhosted.org/packages/74/37/b246d711c28a03ead1fd906bbc7106659aed7c089d55fe40dd58db812628/mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d", size = 9753611, upload-time = "2025-02-05T03:48:44.581Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/ac/395808a92e10cfdac8003c3de9a2ab6dc7cde6c0d2a4df3df1b815ffd067/mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5", size = 11438443, upload-time = "2025-02-05T03:49:25.514Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/8b/801aa06445d2de3895f59e476f38f3f8d610ef5d6908245f07d002676cbf/mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036", size = 12402541, upload-time = "2025-02-05T03:49:57.623Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/67/5a4268782eb77344cc613a4cf23540928e41f018a9a1ec4c6882baf20ab8/mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357", size = 12494348, upload-time = "2025-02-05T03:48:52.361Z" },
+ { url = "https://files.pythonhosted.org/packages/83/3e/57bb447f7bbbfaabf1712d96f9df142624a386d98fb026a761532526057e/mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf", size = 9373648, upload-time = "2025-02-05T03:49:11.395Z" },
+ { url = "https://files.pythonhosted.org/packages/09/4e/a7d65c7322c510de2c409ff3828b03354a7c43f5a8ed458a7a131b41c7b9/mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e", size = 2221777, upload-time = "2025-02-05T03:50:08.348Z" },
]
[[package]]
name = "mypy-extensions"
version = "1.0.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433, upload_time = "2023-02-04T12:11:27.157Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/98/a4/1ab47638b92648243faf97a5aeb6ea83059cc3624972ab6b8d2316078d3f/mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782", size = 4433, upload-time = "2023-02-04T12:11:27.157Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695, upload_time = "2023-02-04T12:11:25.002Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/e2/5d3f6ada4297caebe1a2add3b126fe800c96f56dbe5d1988a2cbe0b267aa/mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d", size = 4695, upload-time = "2023-02-04T12:11:25.002Z" },
]
[[package]]
name = "networkx"
version = "3.2.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/c4/80/a84676339aaae2f1cfdf9f418701dd634aef9cc76f708ef55c36ff39c3ca/networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6", size = 2073928, upload_time = "2023-10-28T08:41:39.364Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c4/80/a84676339aaae2f1cfdf9f418701dd634aef9cc76f708ef55c36ff39c3ca/networkx-3.2.1.tar.gz", hash = "sha256:9f1bb5cf3409bf324e0a722c20bdb4c20ee39bf1c30ce8ae499c8502b0b5e0c6", size = 2073928, upload-time = "2023-10-28T08:41:39.364Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d5/f0/8fbc882ca80cf077f1b246c0e3c3465f7f415439bdea6b899f6b19f61f70/networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2", size = 1647772, upload_time = "2023-10-28T08:41:36.945Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/f0/8fbc882ca80cf077f1b246c0e3c3465f7f415439bdea6b899f6b19f61f70/networkx-3.2.1-py3-none-any.whl", hash = "sha256:f18c69adc97877c42332c170849c96cefa91881c99a7cb3e95b7c659ebdc1ec2", size = 1647772, upload-time = "2023-10-28T08:41:36.945Z" },
]
[[package]]
name = "numpy"
version = "1.26.4"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/65/6e/09db70a523a96d25e115e71cc56a6f9031e7b8cd166c1ac8438307c14058/numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", size = 15786129, upload_time = "2024-02-06T00:26:44.495Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/65/6e/09db70a523a96d25e115e71cc56a6f9031e7b8cd166c1ac8438307c14058/numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010", size = 15786129, upload-time = "2024-02-06T00:26:44.495Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a7/94/ace0fdea5241a27d13543ee117cbc65868e82213fb31a8eb7fe9ff23f313/numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", size = 20631468, upload_time = "2024-02-05T23:48:01.194Z" },
- { url = "https://files.pythonhosted.org/packages/20/f7/b24208eba89f9d1b58c1668bc6c8c4fd472b20c45573cb767f59d49fb0f6/numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", size = 13966411, upload_time = "2024-02-05T23:48:29.038Z" },
- { url = "https://files.pythonhosted.org/packages/fc/a5/4beee6488160798683eed5bdb7eead455892c3b4e1f78d79d8d3f3b084ac/numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", size = 14219016, upload_time = "2024-02-05T23:48:54.098Z" },
- { url = "https://files.pythonhosted.org/packages/4b/d7/ecf66c1cd12dc28b4040b15ab4d17b773b87fa9d29ca16125de01adb36cd/numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f", size = 18240889, upload_time = "2024-02-05T23:49:25.361Z" },
- { url = "https://files.pythonhosted.org/packages/24/03/6f229fe3187546435c4f6f89f6d26c129d4f5bed40552899fcf1f0bf9e50/numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", size = 13876746, upload_time = "2024-02-05T23:49:51.983Z" },
- { url = "https://files.pythonhosted.org/packages/39/fe/39ada9b094f01f5a35486577c848fe274e374bbf8d8f472e1423a0bbd26d/numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", size = 18078620, upload_time = "2024-02-05T23:50:22.515Z" },
- { url = "https://files.pythonhosted.org/packages/d5/ef/6ad11d51197aad206a9ad2286dc1aac6a378059e06e8cf22cd08ed4f20dc/numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", size = 5972659, upload_time = "2024-02-05T23:50:35.834Z" },
- { url = "https://files.pythonhosted.org/packages/19/77/538f202862b9183f54108557bfda67e17603fc560c384559e769321c9d92/numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", size = 15808905, upload_time = "2024-02-05T23:51:03.701Z" },
- { url = "https://files.pythonhosted.org/packages/11/57/baae43d14fe163fa0e4c47f307b6b2511ab8d7d30177c491960504252053/numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", size = 20630554, upload_time = "2024-02-05T23:51:50.149Z" },
- { url = "https://files.pythonhosted.org/packages/1a/2e/151484f49fd03944c4a3ad9c418ed193cfd02724e138ac8a9505d056c582/numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", size = 13997127, upload_time = "2024-02-05T23:52:15.314Z" },
- { url = "https://files.pythonhosted.org/packages/79/ae/7e5b85136806f9dadf4878bf73cf223fe5c2636818ba3ab1c585d0403164/numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", size = 14222994, upload_time = "2024-02-05T23:52:47.569Z" },
- { url = "https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", size = 18252005, upload_time = "2024-02-05T23:53:15.637Z" },
- { url = "https://files.pythonhosted.org/packages/09/bf/2b1aaf8f525f2923ff6cfcf134ae5e750e279ac65ebf386c75a0cf6da06a/numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", size = 13885297, upload_time = "2024-02-05T23:53:42.16Z" },
- { url = "https://files.pythonhosted.org/packages/df/a0/4e0f14d847cfc2a633a1c8621d00724f3206cfeddeb66d35698c4e2cf3d2/numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", size = 18093567, upload_time = "2024-02-05T23:54:11.696Z" },
- { url = "https://files.pythonhosted.org/packages/d2/b7/a734c733286e10a7f1a8ad1ae8c90f2d33bf604a96548e0a4a3a6739b468/numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", size = 5968812, upload_time = "2024-02-05T23:54:26.453Z" },
- { url = "https://files.pythonhosted.org/packages/3f/6b/5610004206cf7f8e7ad91c5a85a8c71b2f2f8051a0c0c4d5916b76d6cbb2/numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", size = 15811913, upload_time = "2024-02-05T23:54:53.933Z" },
- { url = "https://files.pythonhosted.org/packages/95/12/8f2020a8e8b8383ac0177dc9570aad031a3beb12e38847f7129bacd96228/numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", size = 20335901, upload_time = "2024-02-05T23:55:32.801Z" },
- { url = "https://files.pythonhosted.org/packages/75/5b/ca6c8bd14007e5ca171c7c03102d17b4f4e0ceb53957e8c44343a9546dcc/numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", size = 13685868, upload_time = "2024-02-05T23:55:56.28Z" },
- { url = "https://files.pythonhosted.org/packages/79/f8/97f10e6755e2a7d027ca783f63044d5b1bc1ae7acb12afe6a9b4286eac17/numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", size = 13925109, upload_time = "2024-02-05T23:56:20.368Z" },
- { url = "https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", size = 17950613, upload_time = "2024-02-05T23:56:56.054Z" },
- { url = "https://files.pythonhosted.org/packages/4c/0c/9c603826b6465e82591e05ca230dfc13376da512b25ccd0894709b054ed0/numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", size = 13572172, upload_time = "2024-02-05T23:57:21.56Z" },
- { url = "https://files.pythonhosted.org/packages/76/8c/2ba3902e1a0fc1c74962ea9bb33a534bb05984ad7ff9515bf8d07527cadd/numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", size = 17786643, upload_time = "2024-02-05T23:57:56.585Z" },
- { url = "https://files.pythonhosted.org/packages/28/4a/46d9e65106879492374999e76eb85f87b15328e06bd1550668f79f7b18c6/numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", size = 5677803, upload_time = "2024-02-05T23:58:08.963Z" },
- { url = "https://files.pythonhosted.org/packages/16/2e/86f24451c2d530c88daf997cb8d6ac622c1d40d19f5a031ed68a4b73a374/numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", size = 15517754, upload_time = "2024-02-05T23:58:36.364Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/94/ace0fdea5241a27d13543ee117cbc65868e82213fb31a8eb7fe9ff23f313/numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0", size = 20631468, upload-time = "2024-02-05T23:48:01.194Z" },
+ { url = "https://files.pythonhosted.org/packages/20/f7/b24208eba89f9d1b58c1668bc6c8c4fd472b20c45573cb767f59d49fb0f6/numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a", size = 13966411, upload-time = "2024-02-05T23:48:29.038Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/a5/4beee6488160798683eed5bdb7eead455892c3b4e1f78d79d8d3f3b084ac/numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4", size = 14219016, upload-time = "2024-02-05T23:48:54.098Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/d7/ecf66c1cd12dc28b4040b15ab4d17b773b87fa9d29ca16125de01adb36cd/numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f", size = 18240889, upload-time = "2024-02-05T23:49:25.361Z" },
+ { url = "https://files.pythonhosted.org/packages/24/03/6f229fe3187546435c4f6f89f6d26c129d4f5bed40552899fcf1f0bf9e50/numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a", size = 13876746, upload-time = "2024-02-05T23:49:51.983Z" },
+ { url = "https://files.pythonhosted.org/packages/39/fe/39ada9b094f01f5a35486577c848fe274e374bbf8d8f472e1423a0bbd26d/numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2", size = 18078620, upload-time = "2024-02-05T23:50:22.515Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/ef/6ad11d51197aad206a9ad2286dc1aac6a378059e06e8cf22cd08ed4f20dc/numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07", size = 5972659, upload-time = "2024-02-05T23:50:35.834Z" },
+ { url = "https://files.pythonhosted.org/packages/19/77/538f202862b9183f54108557bfda67e17603fc560c384559e769321c9d92/numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5", size = 15808905, upload-time = "2024-02-05T23:51:03.701Z" },
+ { url = "https://files.pythonhosted.org/packages/11/57/baae43d14fe163fa0e4c47f307b6b2511ab8d7d30177c491960504252053/numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71", size = 20630554, upload-time = "2024-02-05T23:51:50.149Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/2e/151484f49fd03944c4a3ad9c418ed193cfd02724e138ac8a9505d056c582/numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef", size = 13997127, upload-time = "2024-02-05T23:52:15.314Z" },
+ { url = "https://files.pythonhosted.org/packages/79/ae/7e5b85136806f9dadf4878bf73cf223fe5c2636818ba3ab1c585d0403164/numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e", size = 14222994, upload-time = "2024-02-05T23:52:47.569Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/d0/edc009c27b406c4f9cbc79274d6e46d634d139075492ad055e3d68445925/numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5", size = 18252005, upload-time = "2024-02-05T23:53:15.637Z" },
+ { url = "https://files.pythonhosted.org/packages/09/bf/2b1aaf8f525f2923ff6cfcf134ae5e750e279ac65ebf386c75a0cf6da06a/numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a", size = 13885297, upload-time = "2024-02-05T23:53:42.16Z" },
+ { url = "https://files.pythonhosted.org/packages/df/a0/4e0f14d847cfc2a633a1c8621d00724f3206cfeddeb66d35698c4e2cf3d2/numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a", size = 18093567, upload-time = "2024-02-05T23:54:11.696Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/b7/a734c733286e10a7f1a8ad1ae8c90f2d33bf604a96548e0a4a3a6739b468/numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20", size = 5968812, upload-time = "2024-02-05T23:54:26.453Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/6b/5610004206cf7f8e7ad91c5a85a8c71b2f2f8051a0c0c4d5916b76d6cbb2/numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2", size = 15811913, upload-time = "2024-02-05T23:54:53.933Z" },
+ { url = "https://files.pythonhosted.org/packages/95/12/8f2020a8e8b8383ac0177dc9570aad031a3beb12e38847f7129bacd96228/numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218", size = 20335901, upload-time = "2024-02-05T23:55:32.801Z" },
+ { url = "https://files.pythonhosted.org/packages/75/5b/ca6c8bd14007e5ca171c7c03102d17b4f4e0ceb53957e8c44343a9546dcc/numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b", size = 13685868, upload-time = "2024-02-05T23:55:56.28Z" },
+ { url = "https://files.pythonhosted.org/packages/79/f8/97f10e6755e2a7d027ca783f63044d5b1bc1ae7acb12afe6a9b4286eac17/numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b", size = 13925109, upload-time = "2024-02-05T23:56:20.368Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/50/de23fde84e45f5c4fda2488c759b69990fd4512387a8632860f3ac9cd225/numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed", size = 17950613, upload-time = "2024-02-05T23:56:56.054Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/0c/9c603826b6465e82591e05ca230dfc13376da512b25ccd0894709b054ed0/numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a", size = 13572172, upload-time = "2024-02-05T23:57:21.56Z" },
+ { url = "https://files.pythonhosted.org/packages/76/8c/2ba3902e1a0fc1c74962ea9bb33a534bb05984ad7ff9515bf8d07527cadd/numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0", size = 17786643, upload-time = "2024-02-05T23:57:56.585Z" },
+ { url = "https://files.pythonhosted.org/packages/28/4a/46d9e65106879492374999e76eb85f87b15328e06bd1550668f79f7b18c6/numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110", size = 5677803, upload-time = "2024-02-05T23:58:08.963Z" },
+ { url = "https://files.pythonhosted.org/packages/16/2e/86f24451c2d530c88daf997cb8d6ac622c1d40d19f5a031ed68a4b73a374/numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818", size = 15517754, upload-time = "2024-02-05T23:58:36.364Z" },
]
[[package]]
@@ -1492,26 +1492,26 @@ dependencies = [
{ name = "numpy" },
{ name = "protobuf" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b3/fe/0978403c8d710ece2f34006367e78de80410743fe0e7680c8f33f2dab20d/onnx-1.16.0.tar.gz", hash = "sha256:237c6987c6c59d9f44b6136f5819af79574f8d96a760a1fa843bede11f3822f7", size = 12303017, upload_time = "2024-03-25T15:33:46.091Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/b3/fe/0978403c8d710ece2f34006367e78de80410743fe0e7680c8f33f2dab20d/onnx-1.16.0.tar.gz", hash = "sha256:237c6987c6c59d9f44b6136f5819af79574f8d96a760a1fa843bede11f3822f7", size = 12303017, upload-time = "2024-03-25T15:33:46.091Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c8/0b/f4705e4a3fa6fd0de971302fdae17ad176b024eca8c24360f0e37c00f9df/onnx-1.16.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:9eadbdce25b19d6216f426d6d99b8bc877a65ed92cbef9707751c6669190ba4f", size = 16514483, upload_time = "2024-03-25T15:25:07.947Z" },
- { url = "https://files.pythonhosted.org/packages/b8/1c/50310a559857951fc6e069cf5d89deebe34287997d1c5928bca435456f62/onnx-1.16.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:034ae21a2aaa2e9c14119a840d2926d213c27aad29e5e3edaa30145a745048e1", size = 15012939, upload_time = "2024-03-25T15:25:11.632Z" },
- { url = "https://files.pythonhosted.org/packages/ef/6e/96be6692ebcd8da568084d753f386ce08efa1f99b216f346ee281edd6cc3/onnx-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec22a43d74eb1f2303373e2fbe7fbcaa45fb225f4eb146edfed1356ada7a9aea", size = 15791856, upload_time = "2024-03-25T15:25:15.36Z" },
- { url = "https://files.pythonhosted.org/packages/49/5f/d8e1a24247f506a77cbe22341c72ca91bea3b468c5d6bca2047d885ea3c6/onnx-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298f28a2b5ac09145fa958513d3d1e6b349ccf86a877dbdcccad57713fe360b3", size = 15922279, upload_time = "2024-03-25T15:25:18.939Z" },
- { url = "https://files.pythonhosted.org/packages/cb/14/562e4ac22cdf41f4465e3b114ef1a9467d513eeff0b9c2285c2da5db6ed1/onnx-1.16.0-cp310-cp310-win32.whl", hash = "sha256:66300197b52beca08bc6262d43c103289c5d45fde43fb51922ed1eb83658cf0c", size = 14335703, upload_time = "2024-03-25T15:25:22.611Z" },
- { url = "https://files.pythonhosted.org/packages/3b/e2/471ff83b3862967791d67f630000afce038756afbdf0665a3d767677c851/onnx-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:ae0029f5e47bf70a1a62e7f88c80bca4ef39b844a89910039184221775df5e43", size = 14435099, upload_time = "2024-03-25T15:25:25.05Z" },
- { url = "https://files.pythonhosted.org/packages/a4/b8/7accf3f93eee498711f0b7f07f6e93906e031622473e85ce9cd3578f6a92/onnx-1.16.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:f51179d4af3372b4f3800c558d204b592c61e4b4a18b8f61e0eea7f46211221a", size = 16514376, upload_time = "2024-03-25T15:25:27.899Z" },
- { url = "https://files.pythonhosted.org/packages/cc/24/a328236b594d5fea23f70a3a8139e730cb43334f0b24693831c47c9064f0/onnx-1.16.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:5202559070afec5144332db216c20f2fff8323cf7f6512b0ca11b215eacc5bf3", size = 15012839, upload_time = "2024-03-25T15:25:31.16Z" },
- { url = "https://files.pythonhosted.org/packages/80/12/57187bab3f830a47fa65eafe4fbaef01dfdf5042cf82a41fa440fab68766/onnx-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77579e7c15b4df39d29465b216639a5f9b74026bdd9e4b6306cd19a32dcfe67c", size = 15791944, upload_time = "2024-03-25T15:25:34.778Z" },
- { url = "https://files.pythonhosted.org/packages/df/48/63f68b65d041aedffab41eea930563ca52aab70dbaa7d4820501618c1a70/onnx-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e60ca76ac24b65c25860d0f2d2cdd96d6320d062a01dd8ce87c5743603789b8", size = 15922450, upload_time = "2024-03-25T15:25:37.983Z" },
- { url = "https://files.pythonhosted.org/packages/08/1b/4bdf4534f5ff08973725ba5409f95bbf64e2789cd20be615880dae689973/onnx-1.16.0-cp311-cp311-win32.whl", hash = "sha256:81b4ee01bc554e8a2b11ac6439882508a5377a1c6b452acd69a1eebb83571117", size = 14335808, upload_time = "2024-03-25T15:25:40.523Z" },
- { url = "https://files.pythonhosted.org/packages/aa/d0/0514d02d2e84e7bb48a105877eae4065e54d7dabb60d0b60214fe2677346/onnx-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:7449241e70b847b9c3eb8dae622df8c1b456d11032a9d7e26e0ee8a698d5bf86", size = 14434905, upload_time = "2024-03-25T15:25:42.905Z" },
- { url = "https://files.pythonhosted.org/packages/42/87/577adadda30ee08041e81ef02a331ca9d1a8df93a2e4c4c53ec56fbbc2ac/onnx-1.16.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:03a627488b1a9975d95d6a55582af3e14c7f3bb87444725b999935ddd271d352", size = 16516304, upload_time = "2024-03-25T15:25:45.875Z" },
- { url = "https://files.pythonhosted.org/packages/e3/1b/6e1ea37e081cc49a28f0e4d3830b4c8525081354cf9f5529c6c92268fc77/onnx-1.16.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:c392faeabd9283ee344ccb4b067d1fea9dfc614fa1f0de7c47589efd79e15e78", size = 15016538, upload_time = "2024-03-25T15:25:49.396Z" },
- { url = "https://files.pythonhosted.org/packages/6d/07/f8fefd5eb0984be42ef677f0b7db7527edc4529224a34a3c31f7b12ec80d/onnx-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0efeb46985de08f0efe758cb54ad3457e821a05c2eaf5ba2ccb8cd1602c08084", size = 15790415, upload_time = "2024-03-25T15:25:51.929Z" },
- { url = "https://files.pythonhosted.org/packages/11/71/c219ce6d4b5205c77405af7f2de2511ad4eeffbfeb77a422151e893de0ea/onnx-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddf14a3d32234f23e44abb73a755cb96a423fac7f004e8f046f36b10214151ee", size = 15922224, upload_time = "2024-03-25T15:25:55.049Z" },
- { url = "https://files.pythonhosted.org/packages/8e/a4/554a6e5741b42406c5b1970d04685d7f2012019d4178408ed4b3ec953033/onnx-1.16.0-cp312-cp312-win32.whl", hash = "sha256:62a2e27ae8ba5fc9b4a2620301446a517b5ffaaf8566611de7a7c2160f5bcf4c", size = 14336234, upload_time = "2024-03-25T15:25:57.998Z" },
- { url = "https://files.pythonhosted.org/packages/e9/a1/8aecec497010ad34e7656408df1868d94483c5c56bc991f4088c06150896/onnx-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:3e0860fea94efde777e81a6f68f65761ed5e5f3adea2e050d7fbe373a9ae05b3", size = 14436591, upload_time = "2024-03-25T15:26:01.252Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/0b/f4705e4a3fa6fd0de971302fdae17ad176b024eca8c24360f0e37c00f9df/onnx-1.16.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:9eadbdce25b19d6216f426d6d99b8bc877a65ed92cbef9707751c6669190ba4f", size = 16514483, upload-time = "2024-03-25T15:25:07.947Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/1c/50310a559857951fc6e069cf5d89deebe34287997d1c5928bca435456f62/onnx-1.16.0-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:034ae21a2aaa2e9c14119a840d2926d213c27aad29e5e3edaa30145a745048e1", size = 15012939, upload-time = "2024-03-25T15:25:11.632Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/6e/96be6692ebcd8da568084d753f386ce08efa1f99b216f346ee281edd6cc3/onnx-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec22a43d74eb1f2303373e2fbe7fbcaa45fb225f4eb146edfed1356ada7a9aea", size = 15791856, upload-time = "2024-03-25T15:25:15.36Z" },
+ { url = "https://files.pythonhosted.org/packages/49/5f/d8e1a24247f506a77cbe22341c72ca91bea3b468c5d6bca2047d885ea3c6/onnx-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298f28a2b5ac09145fa958513d3d1e6b349ccf86a877dbdcccad57713fe360b3", size = 15922279, upload-time = "2024-03-25T15:25:18.939Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/14/562e4ac22cdf41f4465e3b114ef1a9467d513eeff0b9c2285c2da5db6ed1/onnx-1.16.0-cp310-cp310-win32.whl", hash = "sha256:66300197b52beca08bc6262d43c103289c5d45fde43fb51922ed1eb83658cf0c", size = 14335703, upload-time = "2024-03-25T15:25:22.611Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/e2/471ff83b3862967791d67f630000afce038756afbdf0665a3d767677c851/onnx-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:ae0029f5e47bf70a1a62e7f88c80bca4ef39b844a89910039184221775df5e43", size = 14435099, upload-time = "2024-03-25T15:25:25.05Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/b8/7accf3f93eee498711f0b7f07f6e93906e031622473e85ce9cd3578f6a92/onnx-1.16.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:f51179d4af3372b4f3800c558d204b592c61e4b4a18b8f61e0eea7f46211221a", size = 16514376, upload-time = "2024-03-25T15:25:27.899Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/24/a328236b594d5fea23f70a3a8139e730cb43334f0b24693831c47c9064f0/onnx-1.16.0-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:5202559070afec5144332db216c20f2fff8323cf7f6512b0ca11b215eacc5bf3", size = 15012839, upload-time = "2024-03-25T15:25:31.16Z" },
+ { url = "https://files.pythonhosted.org/packages/80/12/57187bab3f830a47fa65eafe4fbaef01dfdf5042cf82a41fa440fab68766/onnx-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77579e7c15b4df39d29465b216639a5f9b74026bdd9e4b6306cd19a32dcfe67c", size = 15791944, upload-time = "2024-03-25T15:25:34.778Z" },
+ { url = "https://files.pythonhosted.org/packages/df/48/63f68b65d041aedffab41eea930563ca52aab70dbaa7d4820501618c1a70/onnx-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e60ca76ac24b65c25860d0f2d2cdd96d6320d062a01dd8ce87c5743603789b8", size = 15922450, upload-time = "2024-03-25T15:25:37.983Z" },
+ { url = "https://files.pythonhosted.org/packages/08/1b/4bdf4534f5ff08973725ba5409f95bbf64e2789cd20be615880dae689973/onnx-1.16.0-cp311-cp311-win32.whl", hash = "sha256:81b4ee01bc554e8a2b11ac6439882508a5377a1c6b452acd69a1eebb83571117", size = 14335808, upload-time = "2024-03-25T15:25:40.523Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/d0/0514d02d2e84e7bb48a105877eae4065e54d7dabb60d0b60214fe2677346/onnx-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:7449241e70b847b9c3eb8dae622df8c1b456d11032a9d7e26e0ee8a698d5bf86", size = 14434905, upload-time = "2024-03-25T15:25:42.905Z" },
+ { url = "https://files.pythonhosted.org/packages/42/87/577adadda30ee08041e81ef02a331ca9d1a8df93a2e4c4c53ec56fbbc2ac/onnx-1.16.0-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:03a627488b1a9975d95d6a55582af3e14c7f3bb87444725b999935ddd271d352", size = 16516304, upload-time = "2024-03-25T15:25:45.875Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/1b/6e1ea37e081cc49a28f0e4d3830b4c8525081354cf9f5529c6c92268fc77/onnx-1.16.0-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:c392faeabd9283ee344ccb4b067d1fea9dfc614fa1f0de7c47589efd79e15e78", size = 15016538, upload-time = "2024-03-25T15:25:49.396Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/07/f8fefd5eb0984be42ef677f0b7db7527edc4529224a34a3c31f7b12ec80d/onnx-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0efeb46985de08f0efe758cb54ad3457e821a05c2eaf5ba2ccb8cd1602c08084", size = 15790415, upload-time = "2024-03-25T15:25:51.929Z" },
+ { url = "https://files.pythonhosted.org/packages/11/71/c219ce6d4b5205c77405af7f2de2511ad4eeffbfeb77a422151e893de0ea/onnx-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddf14a3d32234f23e44abb73a755cb96a423fac7f004e8f046f36b10214151ee", size = 15922224, upload-time = "2024-03-25T15:25:55.049Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/a4/554a6e5741b42406c5b1970d04685d7f2012019d4178408ed4b3ec953033/onnx-1.16.0-cp312-cp312-win32.whl", hash = "sha256:62a2e27ae8ba5fc9b4a2620301446a517b5ffaaf8566611de7a7c2160f5bcf4c", size = 14336234, upload-time = "2024-03-25T15:25:57.998Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/a1/8aecec497010ad34e7656408df1868d94483c5c56bc991f4088c06150896/onnx-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:3e0860fea94efde777e81a6f68f65761ed5e5f3adea2e050d7fbe373a9ae05b3", size = 14436591, upload-time = "2024-03-25T15:26:01.252Z" },
]
[[package]]
@@ -1527,27 +1527,27 @@ dependencies = [
{ name = "sympy" },
]
wheels = [
- { url = "https://files.pythonhosted.org/packages/4e/28/99f903b0eb1cd6f3faa0e343217d9fb9f47b84bca98bd9859884631336ee/onnxruntime-1.20.1-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:e50ba5ff7fed4f7d9253a6baf801ca2883cc08491f9d32d78a80da57256a5439", size = 30996314, upload_time = "2024-11-21T00:48:31.43Z" },
- { url = "https://files.pythonhosted.org/packages/6d/c6/c4c0860bee2fde6037bdd9dcd12d323f6e38cf00fcc9a5065b394337fc55/onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b2908b50101a19e99c4d4e97ebb9905561daf61829403061c1adc1b588bc0de", size = 11954010, upload_time = "2024-11-21T00:48:35.254Z" },
- { url = "https://files.pythonhosted.org/packages/63/47/3dc0b075ab539f16b3d8b09df6b504f51836086ee709690a6278d791737d/onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d82daaec24045a2e87598b8ac2b417b1cce623244e80e663882e9fe1aae86410", size = 13330452, upload_time = "2024-11-21T00:48:40.02Z" },
- { url = "https://files.pythonhosted.org/packages/27/ef/80fab86289ecc01a734b7ddf115dfb93d8b2e004bd1e1977e12881c72b12/onnxruntime-1.20.1-cp310-cp310-win32.whl", hash = "sha256:4c4b251a725a3b8cf2aab284f7d940c26094ecd9d442f07dd81ab5470e99b83f", size = 9813849, upload_time = "2024-11-21T00:48:43.569Z" },
- { url = "https://files.pythonhosted.org/packages/a9/e6/33ab10066c9875a29d55e66ae97c3bf91b9b9b987179455d67c32261a49c/onnxruntime-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:d3b616bb53a77a9463707bb313637223380fc327f5064c9a782e8ec69c22e6a2", size = 11329702, upload_time = "2024-11-21T00:48:46.599Z" },
- { url = "https://files.pythonhosted.org/packages/95/8d/2634e2959b34aa8a0037989f4229e9abcfa484e9c228f99633b3241768a6/onnxruntime-1.20.1-cp311-cp311-macosx_13_0_universal2.whl", hash = "sha256:06bfbf02ca9ab5f28946e0f912a562a5f005301d0c419283dc57b3ed7969bb7b", size = 30998725, upload_time = "2024-11-21T00:48:51.013Z" },
- { url = "https://files.pythonhosted.org/packages/a5/da/c44bf9bd66cd6d9018a921f053f28d819445c4d84b4dd4777271b0fe52a2/onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f6243e34d74423bdd1edf0ae9596dd61023b260f546ee17d701723915f06a9f7", size = 11955227, upload_time = "2024-11-21T00:48:54.556Z" },
- { url = "https://files.pythonhosted.org/packages/11/ac/4120dfb74c8e45cce1c664fc7f7ce010edd587ba67ac41489f7432eb9381/onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5eec64c0269dcdb8d9a9a53dc4d64f87b9e0c19801d9321246a53b7eb5a7d1bc", size = 13331703, upload_time = "2024-11-21T00:48:57.97Z" },
- { url = "https://files.pythonhosted.org/packages/12/f1/cefacac137f7bb7bfba57c50c478150fcd3c54aca72762ac2c05ce0532c1/onnxruntime-1.20.1-cp311-cp311-win32.whl", hash = "sha256:a19bc6e8c70e2485a1725b3d517a2319603acc14c1f1a017dda0afe6d4665b41", size = 9813977, upload_time = "2024-11-21T00:49:00.519Z" },
- { url = "https://files.pythonhosted.org/packages/2c/2d/2d4d202c0bcfb3a4cc2b171abb9328672d7f91d7af9ea52572722c6d8d96/onnxruntime-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:8508887eb1c5f9537a4071768723ec7c30c28eb2518a00d0adcd32c89dea3221", size = 11329895, upload_time = "2024-11-21T00:49:03.845Z" },
- { url = "https://files.pythonhosted.org/packages/e5/39/9335e0874f68f7d27103cbffc0e235e32e26759202df6085716375c078bb/onnxruntime-1.20.1-cp312-cp312-macosx_13_0_universal2.whl", hash = "sha256:22b0655e2bf4f2161d52706e31f517a0e54939dc393e92577df51808a7edc8c9", size = 31007580, upload_time = "2024-11-21T00:49:07.029Z" },
- { url = "https://files.pythonhosted.org/packages/c5/9d/a42a84e10f1744dd27c6f2f9280cc3fb98f869dd19b7cd042e391ee2ab61/onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f56e898815963d6dc4ee1c35fc6c36506466eff6d16f3cb9848cea4e8c8172", size = 11952833, upload_time = "2024-11-21T00:49:10.563Z" },
- { url = "https://files.pythonhosted.org/packages/47/42/2f71f5680834688a9c81becbe5c5bb996fd33eaed5c66ae0606c3b1d6a02/onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bb71a814f66517a65628c9e4a2bb530a6edd2cd5d87ffa0af0f6f773a027d99e", size = 13333903, upload_time = "2024-11-21T00:49:12.984Z" },
- { url = "https://files.pythonhosted.org/packages/c8/f1/aabfdf91d013320aa2fc46cf43c88ca0182860ff15df872b4552254a9680/onnxruntime-1.20.1-cp312-cp312-win32.whl", hash = "sha256:bd386cc9ee5f686ee8a75ba74037750aca55183085bf1941da8efcfe12d5b120", size = 9814562, upload_time = "2024-11-21T00:49:15.453Z" },
- { url = "https://files.pythonhosted.org/packages/dd/80/76979e0b744307d488c79e41051117634b956612cc731f1028eb17ee7294/onnxruntime-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:19c2d843eb074f385e8bbb753a40df780511061a63f9def1b216bf53860223fb", size = 11331482, upload_time = "2024-11-21T00:49:19.412Z" },
- { url = "https://files.pythonhosted.org/packages/f7/71/c5d980ac4189589267a06f758bd6c5667d07e55656bed6c6c0580733ad07/onnxruntime-1.20.1-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:cc01437a32d0042b606f462245c8bbae269e5442797f6213e36ce61d5abdd8cc", size = 31007574, upload_time = "2024-11-21T00:49:23.225Z" },
- { url = "https://files.pythonhosted.org/packages/81/0d/13bbd9489be2a6944f4a940084bfe388f1100472f38c07080a46fbd4ab96/onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb44b08e017a648924dbe91b82d89b0c105b1adcfe31e90d1dc06b8677ad37be", size = 11951459, upload_time = "2024-11-21T00:49:26.269Z" },
- { url = "https://files.pythonhosted.org/packages/c0/ea/4454ae122874fd52bbb8a961262de81c5f932edeb1b72217f594c700d6ef/onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bda6aebdf7917c1d811f21d41633df00c58aff2bef2f598f69289c1f1dabc4b3", size = 13331620, upload_time = "2024-11-21T00:49:28.875Z" },
- { url = "https://files.pythonhosted.org/packages/d8/e0/50db43188ca1c945decaa8fc2a024c33446d31afed40149897d4f9de505f/onnxruntime-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:d30367df7e70f1d9fc5a6a68106f5961686d39b54d3221f760085524e8d38e16", size = 11331758, upload_time = "2024-11-21T00:49:31.417Z" },
- { url = "https://files.pythonhosted.org/packages/d8/55/3821c5fd60b52a6c82a00bba18531793c93c4addfe64fbf061e235c5617a/onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9158465745423b2b5d97ed25aa7740c7d38d2993ee2e5c3bfacb0c4145c49d8", size = 11950342, upload_time = "2024-11-21T00:49:34.164Z" },
- { url = "https://files.pythonhosted.org/packages/14/56/fd990ca222cef4f9f4a9400567b9a15b220dee2eafffb16b2adbc55c8281/onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0df6f2df83d61f46e842dbcde610ede27218947c33e994545a22333491e72a3b", size = 13337040, upload_time = "2024-11-21T00:49:37.271Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/28/99f903b0eb1cd6f3faa0e343217d9fb9f47b84bca98bd9859884631336ee/onnxruntime-1.20.1-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:e50ba5ff7fed4f7d9253a6baf801ca2883cc08491f9d32d78a80da57256a5439", size = 30996314, upload-time = "2024-11-21T00:48:31.43Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/c6/c4c0860bee2fde6037bdd9dcd12d323f6e38cf00fcc9a5065b394337fc55/onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b2908b50101a19e99c4d4e97ebb9905561daf61829403061c1adc1b588bc0de", size = 11954010, upload-time = "2024-11-21T00:48:35.254Z" },
+ { url = "https://files.pythonhosted.org/packages/63/47/3dc0b075ab539f16b3d8b09df6b504f51836086ee709690a6278d791737d/onnxruntime-1.20.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d82daaec24045a2e87598b8ac2b417b1cce623244e80e663882e9fe1aae86410", size = 13330452, upload-time = "2024-11-21T00:48:40.02Z" },
+ { url = "https://files.pythonhosted.org/packages/27/ef/80fab86289ecc01a734b7ddf115dfb93d8b2e004bd1e1977e12881c72b12/onnxruntime-1.20.1-cp310-cp310-win32.whl", hash = "sha256:4c4b251a725a3b8cf2aab284f7d940c26094ecd9d442f07dd81ab5470e99b83f", size = 9813849, upload-time = "2024-11-21T00:48:43.569Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/e6/33ab10066c9875a29d55e66ae97c3bf91b9b9b987179455d67c32261a49c/onnxruntime-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:d3b616bb53a77a9463707bb313637223380fc327f5064c9a782e8ec69c22e6a2", size = 11329702, upload-time = "2024-11-21T00:48:46.599Z" },
+ { url = "https://files.pythonhosted.org/packages/95/8d/2634e2959b34aa8a0037989f4229e9abcfa484e9c228f99633b3241768a6/onnxruntime-1.20.1-cp311-cp311-macosx_13_0_universal2.whl", hash = "sha256:06bfbf02ca9ab5f28946e0f912a562a5f005301d0c419283dc57b3ed7969bb7b", size = 30998725, upload-time = "2024-11-21T00:48:51.013Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/da/c44bf9bd66cd6d9018a921f053f28d819445c4d84b4dd4777271b0fe52a2/onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f6243e34d74423bdd1edf0ae9596dd61023b260f546ee17d701723915f06a9f7", size = 11955227, upload-time = "2024-11-21T00:48:54.556Z" },
+ { url = "https://files.pythonhosted.org/packages/11/ac/4120dfb74c8e45cce1c664fc7f7ce010edd587ba67ac41489f7432eb9381/onnxruntime-1.20.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5eec64c0269dcdb8d9a9a53dc4d64f87b9e0c19801d9321246a53b7eb5a7d1bc", size = 13331703, upload-time = "2024-11-21T00:48:57.97Z" },
+ { url = "https://files.pythonhosted.org/packages/12/f1/cefacac137f7bb7bfba57c50c478150fcd3c54aca72762ac2c05ce0532c1/onnxruntime-1.20.1-cp311-cp311-win32.whl", hash = "sha256:a19bc6e8c70e2485a1725b3d517a2319603acc14c1f1a017dda0afe6d4665b41", size = 9813977, upload-time = "2024-11-21T00:49:00.519Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/2d/2d4d202c0bcfb3a4cc2b171abb9328672d7f91d7af9ea52572722c6d8d96/onnxruntime-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:8508887eb1c5f9537a4071768723ec7c30c28eb2518a00d0adcd32c89dea3221", size = 11329895, upload-time = "2024-11-21T00:49:03.845Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/39/9335e0874f68f7d27103cbffc0e235e32e26759202df6085716375c078bb/onnxruntime-1.20.1-cp312-cp312-macosx_13_0_universal2.whl", hash = "sha256:22b0655e2bf4f2161d52706e31f517a0e54939dc393e92577df51808a7edc8c9", size = 31007580, upload-time = "2024-11-21T00:49:07.029Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/9d/a42a84e10f1744dd27c6f2f9280cc3fb98f869dd19b7cd042e391ee2ab61/onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f1f56e898815963d6dc4ee1c35fc6c36506466eff6d16f3cb9848cea4e8c8172", size = 11952833, upload-time = "2024-11-21T00:49:10.563Z" },
+ { url = "https://files.pythonhosted.org/packages/47/42/2f71f5680834688a9c81becbe5c5bb996fd33eaed5c66ae0606c3b1d6a02/onnxruntime-1.20.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bb71a814f66517a65628c9e4a2bb530a6edd2cd5d87ffa0af0f6f773a027d99e", size = 13333903, upload-time = "2024-11-21T00:49:12.984Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/f1/aabfdf91d013320aa2fc46cf43c88ca0182860ff15df872b4552254a9680/onnxruntime-1.20.1-cp312-cp312-win32.whl", hash = "sha256:bd386cc9ee5f686ee8a75ba74037750aca55183085bf1941da8efcfe12d5b120", size = 9814562, upload-time = "2024-11-21T00:49:15.453Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/80/76979e0b744307d488c79e41051117634b956612cc731f1028eb17ee7294/onnxruntime-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:19c2d843eb074f385e8bbb753a40df780511061a63f9def1b216bf53860223fb", size = 11331482, upload-time = "2024-11-21T00:49:19.412Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/71/c5d980ac4189589267a06f758bd6c5667d07e55656bed6c6c0580733ad07/onnxruntime-1.20.1-cp313-cp313-macosx_13_0_universal2.whl", hash = "sha256:cc01437a32d0042b606f462245c8bbae269e5442797f6213e36ce61d5abdd8cc", size = 31007574, upload-time = "2024-11-21T00:49:23.225Z" },
+ { url = "https://files.pythonhosted.org/packages/81/0d/13bbd9489be2a6944f4a940084bfe388f1100472f38c07080a46fbd4ab96/onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb44b08e017a648924dbe91b82d89b0c105b1adcfe31e90d1dc06b8677ad37be", size = 11951459, upload-time = "2024-11-21T00:49:26.269Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/ea/4454ae122874fd52bbb8a961262de81c5f932edeb1b72217f594c700d6ef/onnxruntime-1.20.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bda6aebdf7917c1d811f21d41633df00c58aff2bef2f598f69289c1f1dabc4b3", size = 13331620, upload-time = "2024-11-21T00:49:28.875Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/e0/50db43188ca1c945decaa8fc2a024c33446d31afed40149897d4f9de505f/onnxruntime-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:d30367df7e70f1d9fc5a6a68106f5961686d39b54d3221f760085524e8d38e16", size = 11331758, upload-time = "2024-11-21T00:49:31.417Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/55/3821c5fd60b52a6c82a00bba18531793c93c4addfe64fbf061e235c5617a/onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9158465745423b2b5d97ed25aa7740c7d38d2993ee2e5c3bfacb0c4145c49d8", size = 11950342, upload-time = "2024-11-21T00:49:34.164Z" },
+ { url = "https://files.pythonhosted.org/packages/14/56/fd990ca222cef4f9f4a9400567b9a15b220dee2eafffb16b2adbc55c8281/onnxruntime-1.20.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0df6f2df83d61f46e842dbcde610ede27218947c33e994545a22333491e72a3b", size = 13337040, upload-time = "2024-11-21T00:49:37.271Z" },
]
[[package]]
@@ -1584,10 +1584,10 @@ dependencies = [
{ name = "sympy" },
]
wheels = [
- { url = "https://files.pythonhosted.org/packages/b3/57/e9a080f2477b2a4c16925f766e4615fc545098b0f4e20cf8ad803e7a9672/onnxruntime_openvino-1.18.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:565b874d21bcd48126da7d62f57db019f5ec0e1f82ae9b0740afa2ad91f8d331", size = 41971800, upload_time = "2024-06-25T06:30:37.042Z" },
- { url = "https://files.pythonhosted.org/packages/34/7d/b75913bce58f4ee9bf6a02d1b513b9fc82303a496ec698e6fb1f9d597cb4/onnxruntime_openvino-1.18.0-cp310-cp310-win_amd64.whl", hash = "sha256:7f1931060f710a6c8e32121bb73044c4772ef5925802fc8776d3fe1e87ab3f75", size = 5963263, upload_time = "2024-06-24T13:38:15.906Z" },
- { url = "https://files.pythonhosted.org/packages/7e/d3/8299b7285dc8fa7bd986b6f0d7c50b7f0fd13db50dd3b88b93ec269b1e08/onnxruntime_openvino-1.18.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eb1723d386f70a8e26398d983ebe35d2c25ba56e9cdb382670ebbf1f5139f8ba", size = 41971927, upload_time = "2024-06-25T06:30:43.765Z" },
- { url = "https://files.pythonhosted.org/packages/88/d9/ca0bfd7ed37153d9664ccdcfb4d0e5b1963563553b05cb4338b46968feb2/onnxruntime_openvino-1.18.0-cp311-cp311-win_amd64.whl", hash = "sha256:874a1e263dd86674593e5a879257650b06a8609c4d5768c3d8ed8dc4ae874b9c", size = 5963464, upload_time = "2024-06-24T13:38:18.437Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/57/e9a080f2477b2a4c16925f766e4615fc545098b0f4e20cf8ad803e7a9672/onnxruntime_openvino-1.18.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:565b874d21bcd48126da7d62f57db019f5ec0e1f82ae9b0740afa2ad91f8d331", size = 41971800, upload-time = "2024-06-25T06:30:37.042Z" },
+ { url = "https://files.pythonhosted.org/packages/34/7d/b75913bce58f4ee9bf6a02d1b513b9fc82303a496ec698e6fb1f9d597cb4/onnxruntime_openvino-1.18.0-cp310-cp310-win_amd64.whl", hash = "sha256:7f1931060f710a6c8e32121bb73044c4772ef5925802fc8776d3fe1e87ab3f75", size = 5963263, upload-time = "2024-06-24T13:38:15.906Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/d3/8299b7285dc8fa7bd986b6f0d7c50b7f0fd13db50dd3b88b93ec269b1e08/onnxruntime_openvino-1.18.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:eb1723d386f70a8e26398d983ebe35d2c25ba56e9cdb382670ebbf1f5139f8ba", size = 41971927, upload-time = "2024-06-25T06:30:43.765Z" },
+ { url = "https://files.pythonhosted.org/packages/88/d9/ca0bfd7ed37153d9664ccdcfb4d0e5b1963563553b05cb4338b46968feb2/onnxruntime_openvino-1.18.0-cp311-cp311-win_amd64.whl", hash = "sha256:874a1e263dd86674593e5a879257650b06a8609c4d5768c3d8ed8dc4ae874b9c", size = 5963464, upload-time = "2024-06-24T13:38:18.437Z" },
]
[[package]]
@@ -1597,171 +1597,175 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "numpy" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/36/2f/5b2b3ba52c864848885ba988f24b7f105052f68da9ab0e693cc7c25b0b30/opencv-python-headless-4.11.0.86.tar.gz", hash = "sha256:996eb282ca4b43ec6a3972414de0e2331f5d9cda2b41091a49739c19fb843798", size = 95177929, upload_time = "2025-01-16T13:53:40.22Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/36/2f/5b2b3ba52c864848885ba988f24b7f105052f68da9ab0e693cc7c25b0b30/opencv-python-headless-4.11.0.86.tar.gz", hash = "sha256:996eb282ca4b43ec6a3972414de0e2331f5d9cda2b41091a49739c19fb843798", size = 95177929, upload-time = "2025-01-16T13:53:40.22Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/dc/53/2c50afa0b1e05ecdb4603818e85f7d174e683d874ef63a6abe3ac92220c8/opencv_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:48128188ade4a7e517237c8e1e11a9cdf5c282761473383e77beb875bb1e61ca", size = 37326460, upload_time = "2025-01-16T13:52:57.015Z" },
- { url = "https://files.pythonhosted.org/packages/3b/43/68555327df94bb9b59a1fd645f63fafb0762515344d2046698762fc19d58/opencv_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:a66c1b286a9de872c343ee7c3553b084244299714ebb50fbdcd76f07ebbe6c81", size = 56723330, upload_time = "2025-01-16T13:55:45.731Z" },
- { url = "https://files.pythonhosted.org/packages/45/be/1438ce43ebe65317344a87e4b150865c5585f4c0db880a34cdae5ac46881/opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6efabcaa9df731f29e5ea9051776715b1bdd1845d7c9530065c7951d2a2899eb", size = 29487060, upload_time = "2025-01-16T13:51:59.625Z" },
- { url = "https://files.pythonhosted.org/packages/dd/5c/c139a7876099916879609372bfa513b7f1257f7f1a908b0bdc1c2328241b/opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e0a27c19dd1f40ddff94976cfe43066fbbe9dfbb2ec1907d66c19caef42a57b", size = 49969856, upload_time = "2025-01-16T13:53:29.654Z" },
- { url = "https://files.pythonhosted.org/packages/95/dd/ed1191c9dc91abcc9f752b499b7928aacabf10567bb2c2535944d848af18/opencv_python_headless-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:f447d8acbb0b6f2808da71fddd29c1cdd448d2bc98f72d9bb78a7a898fc9621b", size = 29324425, upload_time = "2025-01-16T13:52:49.048Z" },
- { url = "https://files.pythonhosted.org/packages/86/8a/69176a64335aed183529207ba8bc3d329c2999d852b4f3818027203f50e6/opencv_python_headless-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:6c304df9caa7a6a5710b91709dd4786bf20a74d57672b3c31f7033cc638174ca", size = 39402386, upload_time = "2025-01-16T13:52:56.418Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/53/2c50afa0b1e05ecdb4603818e85f7d174e683d874ef63a6abe3ac92220c8/opencv_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_arm64.whl", hash = "sha256:48128188ade4a7e517237c8e1e11a9cdf5c282761473383e77beb875bb1e61ca", size = 37326460, upload-time = "2025-01-16T13:52:57.015Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/43/68555327df94bb9b59a1fd645f63fafb0762515344d2046698762fc19d58/opencv_python_headless-4.11.0.86-cp37-abi3-macosx_13_0_x86_64.whl", hash = "sha256:a66c1b286a9de872c343ee7c3553b084244299714ebb50fbdcd76f07ebbe6c81", size = 56723330, upload-time = "2025-01-16T13:55:45.731Z" },
+ { url = "https://files.pythonhosted.org/packages/45/be/1438ce43ebe65317344a87e4b150865c5585f4c0db880a34cdae5ac46881/opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6efabcaa9df731f29e5ea9051776715b1bdd1845d7c9530065c7951d2a2899eb", size = 29487060, upload-time = "2025-01-16T13:51:59.625Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/5c/c139a7876099916879609372bfa513b7f1257f7f1a908b0bdc1c2328241b/opencv_python_headless-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e0a27c19dd1f40ddff94976cfe43066fbbe9dfbb2ec1907d66c19caef42a57b", size = 49969856, upload-time = "2025-01-16T13:53:29.654Z" },
+ { url = "https://files.pythonhosted.org/packages/95/dd/ed1191c9dc91abcc9f752b499b7928aacabf10567bb2c2535944d848af18/opencv_python_headless-4.11.0.86-cp37-abi3-win32.whl", hash = "sha256:f447d8acbb0b6f2808da71fddd29c1cdd448d2bc98f72d9bb78a7a898fc9621b", size = 29324425, upload-time = "2025-01-16T13:52:49.048Z" },
+ { url = "https://files.pythonhosted.org/packages/86/8a/69176a64335aed183529207ba8bc3d329c2999d852b4f3818027203f50e6/opencv_python_headless-4.11.0.86-cp37-abi3-win_amd64.whl", hash = "sha256:6c304df9caa7a6a5710b91709dd4786bf20a74d57672b3c31f7033cc638174ca", size = 39402386, upload-time = "2025-01-16T13:52:56.418Z" },
]
[[package]]
name = "orjson"
-version = "3.10.16"
+version = "3.10.18"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/98/c7/03913cc4332174071950acf5b0735463e3f63760c80585ef369270c2b372/orjson-3.10.16.tar.gz", hash = "sha256:d2aaa5c495e11d17b9b93205f5fa196737ee3202f000aaebf028dc9a73750f10", size = 5410415, upload_time = "2025-03-24T17:00:23.312Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/81/0b/fea456a3ffe74e70ba30e01ec183a9b26bec4d497f61dcfce1b601059c60/orjson-3.10.18.tar.gz", hash = "sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53", size = 5422810, upload-time = "2025-04-29T23:30:08.423Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/9d/a6/22cb9b03baf167bc2d659c9e74d7580147f36e6a155e633801badfd5a74d/orjson-3.10.16-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4cb473b8e79154fa778fb56d2d73763d977be3dcc140587e07dbc545bbfc38f8", size = 249179, upload_time = "2025-03-24T16:58:41.294Z" },
- { url = "https://files.pythonhosted.org/packages/d7/ce/3e68cc33020a6ebd8f359b8628b69d2132cd84fea68155c33057e502ee51/orjson-3.10.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:622a8e85eeec1948690409a19ca1c7d9fd8ff116f4861d261e6ae2094fe59a00", size = 138510, upload_time = "2025-03-24T16:58:43.732Z" },
- { url = "https://files.pythonhosted.org/packages/dc/12/63bee7764ce12052f7c1a1393ce7f26dc392c93081eb8754dd3dce9b7c6b/orjson-3.10.16-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c682d852d0ce77613993dc967e90e151899fe2d8e71c20e9be164080f468e370", size = 132373, upload_time = "2025-03-24T16:58:45.094Z" },
- { url = "https://files.pythonhosted.org/packages/b3/d5/2998c2f319adcd572f2b03ba2083e8176863d1055d8d713683ddcf927b71/orjson-3.10.16-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8c520ae736acd2e32df193bcff73491e64c936f3e44a2916b548da048a48b46b", size = 136774, upload_time = "2025-03-24T16:58:46.273Z" },
- { url = "https://files.pythonhosted.org/packages/00/03/88c236ae307bd0604623204d4a835e15fbf9c75b8535c8f13ef45abd413f/orjson-3.10.16-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:134f87c76bfae00f2094d85cfab261b289b76d78c6da8a7a3b3c09d362fd1e06", size = 138030, upload_time = "2025-03-24T16:58:47.921Z" },
- { url = "https://files.pythonhosted.org/packages/66/ba/3e256ddfeb364f98fd6ac65774844090d356158b2d1de8998db2bf984503/orjson-3.10.16-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b59afde79563e2cf37cfe62ee3b71c063fd5546c8e662d7fcfc2a3d5031a5c4c", size = 142677, upload_time = "2025-03-24T16:58:49.191Z" },
- { url = "https://files.pythonhosted.org/packages/2c/71/73a1214bd27baa2ea5184fff4aa6193a114dfb0aa5663dad48fe63e8cd29/orjson-3.10.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:113602f8241daaff05d6fad25bd481d54c42d8d72ef4c831bb3ab682a54d9e15", size = 132798, upload_time = "2025-03-24T16:58:50.746Z" },
- { url = "https://files.pythonhosted.org/packages/53/ac/0b2f41c0a1e8c095439d0fab3b33103cf41a39be8e6aa2c56298a6034259/orjson-3.10.16-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4fc0077d101f8fab4031e6554fc17b4c2ad8fdbc56ee64a727f3c95b379e31da", size = 135450, upload_time = "2025-03-24T16:58:52.481Z" },
- { url = "https://files.pythonhosted.org/packages/d9/ca/7524c7b0bc815d426ca134dab54cad519802287b808a3846b047a5b2b7a3/orjson-3.10.16-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:9c6bf6ff180cd69e93f3f50380224218cfab79953a868ea3908430bcfaf9cb5e", size = 412356, upload_time = "2025-03-24T16:58:54.17Z" },
- { url = "https://files.pythonhosted.org/packages/05/1d/3ae2367c255276bf16ff7e1b210dd0af18bc8da20c4e4295755fc7de1268/orjson-3.10.16-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5673eadfa952f95a7cd76418ff189df11b0a9c34b1995dff43a6fdbce5d63bf4", size = 152769, upload_time = "2025-03-24T16:58:55.821Z" },
- { url = "https://files.pythonhosted.org/packages/d3/2d/8eb10b6b1d30bb69c35feb15e5ba5ac82466cf743d562e3e8047540efd2f/orjson-3.10.16-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5fe638a423d852b0ae1e1a79895851696cb0d9fa0946fdbfd5da5072d9bb9551", size = 137223, upload_time = "2025-03-24T16:58:57.136Z" },
- { url = "https://files.pythonhosted.org/packages/47/42/f043717930cb2de5fbebe47f308f101bed9ec2b3580b1f99c8284b2f5fe8/orjson-3.10.16-cp310-cp310-win32.whl", hash = "sha256:33af58f479b3c6435ab8f8b57999874b4b40c804c7a36b5cc6b54d8f28e1d3dd", size = 141734, upload_time = "2025-03-24T16:58:58.516Z" },
- { url = "https://files.pythonhosted.org/packages/67/99/795ad7282b425b9fddcfb8a31bded5dcf84dba78ecb1e7ae716e84e794da/orjson-3.10.16-cp310-cp310-win_amd64.whl", hash = "sha256:0338356b3f56d71293c583350af26f053017071836b07e064e92819ecf1aa055", size = 133779, upload_time = "2025-03-24T16:59:00.254Z" },
- { url = "https://files.pythonhosted.org/packages/97/29/43f91a5512b5d2535594438eb41c5357865fd5e64dec745d90a588820c75/orjson-3.10.16-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:44fcbe1a1884f8bc9e2e863168b0f84230c3d634afe41c678637d2728ea8e739", size = 249180, upload_time = "2025-03-24T16:59:01.507Z" },
- { url = "https://files.pythonhosted.org/packages/0c/36/2a72d55e266473c19a86d97b7363bb8bf558ab450f75205689a287d5ce61/orjson-3.10.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78177bf0a9d0192e0b34c3d78bcff7fe21d1b5d84aeb5ebdfe0dbe637b885225", size = 138510, upload_time = "2025-03-24T16:59:02.876Z" },
- { url = "https://files.pythonhosted.org/packages/bb/ad/f86d6f55c1a68b57ff6ea7966bce5f4e5163f2e526ddb7db9fc3c2c8d1c4/orjson-3.10.16-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:12824073a010a754bb27330cad21d6e9b98374f497f391b8707752b96f72e741", size = 132373, upload_time = "2025-03-24T16:59:04.103Z" },
- { url = "https://files.pythonhosted.org/packages/5e/8b/d18f2711493a809f3082a88fda89342bc8e16767743b909cd3c34989fba3/orjson-3.10.16-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddd41007e56284e9867864aa2f29f3136bb1dd19a49ca43c0b4eda22a579cf53", size = 136773, upload_time = "2025-03-24T16:59:05.636Z" },
- { url = "https://files.pythonhosted.org/packages/a1/dc/ce025f002f8e0749e3f057c4d773a4d4de32b7b4c1fc5a50b429e7532586/orjson-3.10.16-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0877c4d35de639645de83666458ca1f12560d9fa7aa9b25d8bb8f52f61627d14", size = 138029, upload_time = "2025-03-24T16:59:06.99Z" },
- { url = "https://files.pythonhosted.org/packages/0e/1b/cf9df85852b91160029d9f26014230366a2b4deb8cc51fabe68e250a8c1a/orjson-3.10.16-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9a09a539e9cc3beead3e7107093b4ac176d015bec64f811afb5965fce077a03c", size = 142677, upload_time = "2025-03-24T16:59:08.22Z" },
- { url = "https://files.pythonhosted.org/packages/92/18/5b1e1e995bffad49dc4311a0bdfd874bc6f135fd20f0e1f671adc2c9910e/orjson-3.10.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31b98bc9b40610fec971d9a4d67bb2ed02eec0a8ae35f8ccd2086320c28526ca", size = 132800, upload_time = "2025-03-24T16:59:09.529Z" },
- { url = "https://files.pythonhosted.org/packages/d6/eb/467f25b580e942fcca1344adef40633b7f05ac44a65a63fc913f9a805d58/orjson-3.10.16-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0ce243f5a8739f3a18830bc62dc2e05b69a7545bafd3e3249f86668b2bcd8e50", size = 135451, upload_time = "2025-03-24T16:59:10.823Z" },
- { url = "https://files.pythonhosted.org/packages/8d/4b/9d10888038975cb375982e9339d9495bac382d5c976c500b8d6f2c8e2e4e/orjson-3.10.16-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:64792c0025bae049b3074c6abe0cf06f23c8e9f5a445f4bab31dc5ca23dbf9e1", size = 412358, upload_time = "2025-03-24T16:59:12.113Z" },
- { url = "https://files.pythonhosted.org/packages/3b/e2/cfbcfcc4fbe619e0ca9bdbbfccb2d62b540bbfe41e0ee77d44a628594f59/orjson-3.10.16-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ea53f7e68eec718b8e17e942f7ca56c6bd43562eb19db3f22d90d75e13f0431d", size = 152772, upload_time = "2025-03-24T16:59:13.919Z" },
- { url = "https://files.pythonhosted.org/packages/b9/d6/627a1b00569be46173007c11dde3da4618c9bfe18409325b0e3e2a82fe29/orjson-3.10.16-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a741ba1a9488c92227711bde8c8c2b63d7d3816883268c808fbeada00400c164", size = 137225, upload_time = "2025-03-24T16:59:15.355Z" },
- { url = "https://files.pythonhosted.org/packages/0a/7b/a73c67b505021af845b9f05c7c848793258ea141fa2058b52dd9b067c2b4/orjson-3.10.16-cp311-cp311-win32.whl", hash = "sha256:c7ed2c61bb8226384c3fdf1fb01c51b47b03e3f4536c985078cccc2fd19f1619", size = 141733, upload_time = "2025-03-24T16:59:16.791Z" },
- { url = "https://files.pythonhosted.org/packages/f4/22/5e8217c48d68c0adbfb181e749d6a733761074e598b083c69a1383d18147/orjson-3.10.16-cp311-cp311-win_amd64.whl", hash = "sha256:cd67d8b3e0e56222a2e7b7f7da9031e30ecd1fe251c023340b9f12caca85ab60", size = 133784, upload_time = "2025-03-24T16:59:18.106Z" },
- { url = "https://files.pythonhosted.org/packages/5d/15/67ce9d4c959c83f112542222ea3b9209c1d424231d71d74c4890ea0acd2b/orjson-3.10.16-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6d3444abbfa71ba21bb042caa4b062535b122248259fdb9deea567969140abca", size = 249325, upload_time = "2025-03-24T16:59:19.784Z" },
- { url = "https://files.pythonhosted.org/packages/da/2c/1426b06f30a1b9ada74b6f512c1ddf9d2760f53f61cdb59efeb9ad342133/orjson-3.10.16-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:30245c08d818fdcaa48b7d5b81499b8cae09acabb216fe61ca619876b128e184", size = 133621, upload_time = "2025-03-24T16:59:21.207Z" },
- { url = "https://files.pythonhosted.org/packages/9e/88/18d26130954bc73bee3be10f95371ea1dfb8679e0e2c46b0f6d8c6289402/orjson-3.10.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0ba1d0baa71bf7579a4ccdcf503e6f3098ef9542106a0eca82395898c8a500a", size = 138270, upload_time = "2025-03-24T16:59:22.514Z" },
- { url = "https://files.pythonhosted.org/packages/4f/f9/6d8b64fcd58fae072e80ee7981be8ba0d7c26ace954e5cd1d027fc80518f/orjson-3.10.16-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb0beefa5ef3af8845f3a69ff2a4aa62529b5acec1cfe5f8a6b4141033fd46ef", size = 132346, upload_time = "2025-03-24T16:59:24.277Z" },
- { url = "https://files.pythonhosted.org/packages/16/3f/2513fd5bc786f40cd12af569c23cae6381aeddbefeed2a98f0a666eb5d0d/orjson-3.10.16-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6daa0e1c9bf2e030e93c98394de94506f2a4d12e1e9dadd7c53d5e44d0f9628e", size = 136845, upload_time = "2025-03-24T16:59:25.588Z" },
- { url = "https://files.pythonhosted.org/packages/6d/42/b0e7b36720f5ab722b48e8ccf06514d4f769358dd73c51abd8728ef58d0b/orjson-3.10.16-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9da9019afb21e02410ef600e56666652b73eb3e4d213a0ec919ff391a7dd52aa", size = 138078, upload_time = "2025-03-24T16:59:27.288Z" },
- { url = "https://files.pythonhosted.org/packages/a3/a8/d220afb8a439604be74fc755dbc740bded5ed14745ca536b304ed32eb18a/orjson-3.10.16-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:daeb3a1ee17b69981d3aae30c3b4e786b0f8c9e6c71f2b48f1aef934f63f38f4", size = 142712, upload_time = "2025-03-24T16:59:28.613Z" },
- { url = "https://files.pythonhosted.org/packages/8c/88/7e41e9883c00f84f92fe357a8371edae816d9d7ef39c67b5106960c20389/orjson-3.10.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80fed80eaf0e20a31942ae5d0728849862446512769692474be5e6b73123a23b", size = 133136, upload_time = "2025-03-24T16:59:29.987Z" },
- { url = "https://files.pythonhosted.org/packages/e9/ca/61116095307ad0be828ea26093febaf59e38596d84a9c8d765c3c5e4934f/orjson-3.10.16-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:73390ed838f03764540a7bdc4071fe0123914c2cc02fb6abf35182d5fd1b7a42", size = 135258, upload_time = "2025-03-24T16:59:31.339Z" },
- { url = "https://files.pythonhosted.org/packages/dc/1b/09493cf7d801505f094c9295f79c98c1e0af2ac01c7ed8d25b30fcb19ada/orjson-3.10.16-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a22bba012a0c94ec02a7768953020ab0d3e2b884760f859176343a36c01adf87", size = 412326, upload_time = "2025-03-24T16:59:32.709Z" },
- { url = "https://files.pythonhosted.org/packages/ea/02/125d7bbd7f7a500190ddc8ae5d2d3c39d87ed3ed28f5b37cfe76962c678d/orjson-3.10.16-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5385bbfdbc90ff5b2635b7e6bebf259652db00a92b5e3c45b616df75b9058e88", size = 152800, upload_time = "2025-03-24T16:59:34.134Z" },
- { url = "https://files.pythonhosted.org/packages/f9/09/7658a9e3e793d5b3b00598023e0fb6935d0e7bbb8ff72311c5415a8ce677/orjson-3.10.16-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:02c6279016346e774dd92625d46c6c40db687b8a0d685aadb91e26e46cc33e1e", size = 137516, upload_time = "2025-03-24T16:59:35.446Z" },
- { url = "https://files.pythonhosted.org/packages/29/87/32b7a4831e909d347278101a48d4cf9f3f25901b2295e7709df1651f65a1/orjson-3.10.16-cp312-cp312-win32.whl", hash = "sha256:7ca55097a11426db80f79378e873a8c51f4dde9ffc22de44850f9696b7eb0e8c", size = 141759, upload_time = "2025-03-24T16:59:37.509Z" },
- { url = "https://files.pythonhosted.org/packages/35/ce/81a27e7b439b807bd393585271364cdddf50dc281fc57c4feef7ccb186a6/orjson-3.10.16-cp312-cp312-win_amd64.whl", hash = "sha256:86d127efdd3f9bf5f04809b70faca1e6836556ea3cc46e662b44dab3fe71f3d6", size = 133944, upload_time = "2025-03-24T16:59:38.814Z" },
- { url = "https://files.pythonhosted.org/packages/87/b9/ff6aa28b8c86af9526160905593a2fe8d004ac7a5e592ee0b0ff71017511/orjson-3.10.16-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:148a97f7de811ba14bc6dbc4a433e0341ffd2cc285065199fb5f6a98013744bd", size = 249289, upload_time = "2025-03-24T16:59:40.117Z" },
- { url = "https://files.pythonhosted.org/packages/6c/81/6d92a586149b52684ab8fd70f3623c91d0e6a692f30fd8c728916ab2263c/orjson-3.10.16-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1d960c1bf0e734ea36d0adc880076de3846aaec45ffad29b78c7f1b7962516b8", size = 133640, upload_time = "2025-03-24T16:59:41.469Z" },
- { url = "https://files.pythonhosted.org/packages/c2/88/b72443f4793d2e16039ab85d0026677932b15ab968595fb7149750d74134/orjson-3.10.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a318cd184d1269f68634464b12871386808dc8b7c27de8565234d25975a7a137", size = 138286, upload_time = "2025-03-24T16:59:42.769Z" },
- { url = "https://files.pythonhosted.org/packages/c3/3c/72a22d4b28c076c4016d5a52bd644a8e4d849d3bb0373d9e377f9e3b2250/orjson-3.10.16-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df23f8df3ef9223d1d6748bea63fca55aae7da30a875700809c500a05975522b", size = 132307, upload_time = "2025-03-24T16:59:44.143Z" },
- { url = "https://files.pythonhosted.org/packages/8a/a2/f1259561bdb6ad7061ff1b95dab082fe32758c4bc143ba8d3d70831f0a06/orjson-3.10.16-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b94dda8dd6d1378f1037d7f3f6b21db769ef911c4567cbaa962bb6dc5021cf90", size = 136739, upload_time = "2025-03-24T16:59:45.995Z" },
- { url = "https://files.pythonhosted.org/packages/3d/af/c7583c4b34f33d8b8b90cfaab010ff18dd64e7074cc1e117a5f1eff20dcf/orjson-3.10.16-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f12970a26666a8775346003fd94347d03ccb98ab8aa063036818381acf5f523e", size = 138076, upload_time = "2025-03-24T16:59:47.776Z" },
- { url = "https://files.pythonhosted.org/packages/d7/59/d7fc7fbdd3d4a64c2eae4fc7341a5aa39cf9549bd5e2d7f6d3c07f8b715b/orjson-3.10.16-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15a1431a245d856bd56e4d29ea0023eb4d2c8f71efe914beb3dee8ab3f0cd7fb", size = 142643, upload_time = "2025-03-24T16:59:49.258Z" },
- { url = "https://files.pythonhosted.org/packages/92/0e/3bd8f2197d27601f16b4464ae948826da2bcf128af31230a9dbbad7ceb57/orjson-3.10.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c83655cfc247f399a222567d146524674a7b217af7ef8289c0ff53cfe8db09f0", size = 133168, upload_time = "2025-03-24T16:59:51.027Z" },
- { url = "https://files.pythonhosted.org/packages/af/a8/351fd87b664b02f899f9144d2c3dc848b33ac04a5df05234cbfb9e2a7540/orjson-3.10.16-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:fa59ae64cb6ddde8f09bdbf7baf933c4cd05734ad84dcf4e43b887eb24e37652", size = 135271, upload_time = "2025-03-24T16:59:52.449Z" },
- { url = "https://files.pythonhosted.org/packages/ba/b0/a6d42a7d412d867c60c0337d95123517dd5a9370deea705ea1be0f89389e/orjson-3.10.16-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ca5426e5aacc2e9507d341bc169d8af9c3cbe88f4cd4c1cf2f87e8564730eb56", size = 412444, upload_time = "2025-03-24T16:59:53.825Z" },
- { url = "https://files.pythonhosted.org/packages/79/ec/7572cd4e20863f60996f3f10bc0a6da64a6fd9c35954189a914cec0b7377/orjson-3.10.16-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6fd5da4edf98a400946cd3a195680de56f1e7575109b9acb9493331047157430", size = 152737, upload_time = "2025-03-24T16:59:55.599Z" },
- { url = "https://files.pythonhosted.org/packages/a9/19/ceb9e8fed5403b2e76a8ac15f581b9d25780a3be3c9b3aa54b7777a210d5/orjson-3.10.16-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:980ecc7a53e567169282a5e0ff078393bac78320d44238da4e246d71a4e0e8f5", size = 137482, upload_time = "2025-03-24T16:59:57.045Z" },
- { url = "https://files.pythonhosted.org/packages/1b/78/a78bb810f3786579dbbbd94768284cbe8f2fd65167cd7020260679665c17/orjson-3.10.16-cp313-cp313-win32.whl", hash = "sha256:28f79944dd006ac540a6465ebd5f8f45dfdf0948ff998eac7a908275b4c1add6", size = 141714, upload_time = "2025-03-24T16:59:58.666Z" },
- { url = "https://files.pythonhosted.org/packages/81/9c/b66ce9245ff319df2c3278acd351a3f6145ef34b4a2d7f4b0f739368370f/orjson-3.10.16-cp313-cp313-win_amd64.whl", hash = "sha256:fe0a145e96d51971407cb8ba947e63ead2aa915db59d6631a355f5f2150b56b7", size = 133954, upload_time = "2025-03-24T17:00:00.101Z" },
+ { url = "https://files.pythonhosted.org/packages/27/16/2ceb9fb7bc2b11b1e4a3ea27794256e93dee2309ebe297fd131a778cd150/orjson-3.10.18-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a45e5d68066b408e4bc383b6e4ef05e717c65219a9e1390abc6155a520cac402", size = 248927, upload-time = "2025-04-29T23:28:08.643Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/e1/d3c0a2bba5b9906badd121da449295062b289236c39c3a7801f92c4682b0/orjson-3.10.18-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be3b9b143e8b9db05368b13b04c84d37544ec85bb97237b3a923f076265ec89c", size = 136995, upload-time = "2025-04-29T23:28:11.503Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/51/698dd65e94f153ee5ecb2586c89702c9e9d12f165a63e74eb9ea1299f4e1/orjson-3.10.18-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9b0aa09745e2c9b3bf779b096fa71d1cc2d801a604ef6dd79c8b1bfef52b2f92", size = 132893, upload-time = "2025-04-29T23:28:12.751Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/e5/155ce5a2c43a85e790fcf8b985400138ce5369f24ee6770378ee6b691036/orjson-3.10.18-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:53a245c104d2792e65c8d225158f2b8262749ffe64bc7755b00024757d957a13", size = 137017, upload-time = "2025-04-29T23:28:14.498Z" },
+ { url = "https://files.pythonhosted.org/packages/46/bb/6141ec3beac3125c0b07375aee01b5124989907d61c72c7636136e4bd03e/orjson-3.10.18-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9495ab2611b7f8a0a8a505bcb0f0cbdb5469caafe17b0e404c3c746f9900469", size = 138290, upload-time = "2025-04-29T23:28:16.211Z" },
+ { url = "https://files.pythonhosted.org/packages/77/36/6961eca0b66b7809d33c4ca58c6bd4c23a1b914fb23aba2fa2883f791434/orjson-3.10.18-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:73be1cbcebadeabdbc468f82b087df435843c809cd079a565fb16f0f3b23238f", size = 142828, upload-time = "2025-04-29T23:28:18.065Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/2f/0c646d5fd689d3be94f4d83fa9435a6c4322c9b8533edbb3cd4bc8c5f69a/orjson-3.10.18-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8936ee2679e38903df158037a2f1c108129dee218975122e37847fb1d4ac68", size = 132806, upload-time = "2025-04-29T23:28:19.782Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/af/65907b40c74ef4c3674ef2bcfa311c695eb934710459841b3c2da212215c/orjson-3.10.18-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7115fcbc8525c74e4c2b608129bef740198e9a120ae46184dac7683191042056", size = 135005, upload-time = "2025-04-29T23:28:21.367Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/d1/68bd20ac6a32cd1f1b10d23e7cc58ee1e730e80624e3031d77067d7150fc/orjson-3.10.18-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:771474ad34c66bc4d1c01f645f150048030694ea5b2709b87d3bda273ffe505d", size = 413418, upload-time = "2025-04-29T23:28:23.097Z" },
+ { url = "https://files.pythonhosted.org/packages/31/31/c701ec0bcc3e80e5cb6e319c628ef7b768aaa24b0f3b4c599df2eaacfa24/orjson-3.10.18-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7c14047dbbea52886dd87169f21939af5d55143dad22d10db6a7514f058156a8", size = 153288, upload-time = "2025-04-29T23:28:25.02Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/31/5e1aa99a10893a43cfc58009f9da840990cc8a9ebb75aa452210ba18587e/orjson-3.10.18-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:641481b73baec8db14fdf58f8967e52dc8bda1f2aba3aa5f5c1b07ed6df50b7f", size = 137181, upload-time = "2025-04-29T23:28:26.318Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/8c/daba0ac1b8690011d9242a0f37235f7d17df6d0ad941021048523b76674e/orjson-3.10.18-cp310-cp310-win32.whl", hash = "sha256:607eb3ae0909d47280c1fc657c4284c34b785bae371d007595633f4b1a2bbe06", size = 142694, upload-time = "2025-04-29T23:28:28.092Z" },
+ { url = "https://files.pythonhosted.org/packages/16/62/8b687724143286b63e1d0fab3ad4214d54566d80b0ba9d67c26aaf28a2f8/orjson-3.10.18-cp310-cp310-win_amd64.whl", hash = "sha256:8770432524ce0eca50b7efc2a9a5f486ee0113a5fbb4231526d414e6254eba92", size = 134600, upload-time = "2025-04-29T23:28:29.422Z" },
+ { url = "https://files.pythonhosted.org/packages/97/c7/c54a948ce9a4278794f669a353551ce7db4ffb656c69a6e1f2264d563e50/orjson-3.10.18-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e0a183ac3b8e40471e8d843105da6fbe7c070faab023be3b08188ee3f85719b8", size = 248929, upload-time = "2025-04-29T23:28:30.716Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/60/a9c674ef1dd8ab22b5b10f9300e7e70444d4e3cda4b8258d6c2488c32143/orjson-3.10.18-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:5ef7c164d9174362f85238d0cd4afdeeb89d9e523e4651add6a5d458d6f7d42d", size = 133364, upload-time = "2025-04-29T23:28:32.392Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/4e/f7d1bdd983082216e414e6d7ef897b0c2957f99c545826c06f371d52337e/orjson-3.10.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afd14c5d99cdc7bf93f22b12ec3b294931518aa019e2a147e8aa2f31fd3240f7", size = 136995, upload-time = "2025-04-29T23:28:34.024Z" },
+ { url = "https://files.pythonhosted.org/packages/17/89/46b9181ba0ea251c9243b0c8ce29ff7c9796fa943806a9c8b02592fce8ea/orjson-3.10.18-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b672502323b6cd133c4af6b79e3bea36bad2d16bca6c1f645903fce83909a7a", size = 132894, upload-time = "2025-04-29T23:28:35.318Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/dd/7bce6fcc5b8c21aef59ba3c67f2166f0a1a9b0317dcca4a9d5bd7934ecfd/orjson-3.10.18-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51f8c63be6e070ec894c629186b1c0fe798662b8687f3d9fdfa5e401c6bd7679", size = 137016, upload-time = "2025-04-29T23:28:36.674Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/4a/b8aea1c83af805dcd31c1f03c95aabb3e19a016b2a4645dd822c5686e94d/orjson-3.10.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f9478ade5313d724e0495d167083c6f3be0dd2f1c9c8a38db9a9e912cdaf947", size = 138290, upload-time = "2025-04-29T23:28:38.3Z" },
+ { url = "https://files.pythonhosted.org/packages/36/d6/7eb05c85d987b688707f45dcf83c91abc2251e0dd9fb4f7be96514f838b1/orjson-3.10.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:187aefa562300a9d382b4b4eb9694806e5848b0cedf52037bb5c228c61bb66d4", size = 142829, upload-time = "2025-04-29T23:28:39.657Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/78/ddd3ee7873f2b5f90f016bc04062713d567435c53ecc8783aab3a4d34915/orjson-3.10.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da552683bc9da222379c7a01779bddd0ad39dd699dd6300abaf43eadee38334", size = 132805, upload-time = "2025-04-29T23:28:40.969Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/09/c8e047f73d2c5d21ead9c180203e111cddeffc0848d5f0f974e346e21c8e/orjson-3.10.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e450885f7b47a0231979d9c49b567ed1c4e9f69240804621be87c40bc9d3cf17", size = 135008, upload-time = "2025-04-29T23:28:42.284Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/4b/dccbf5055ef8fb6eda542ab271955fc1f9bf0b941a058490293f8811122b/orjson-3.10.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5e3c9cc2ba324187cd06287ca24f65528f16dfc80add48dc99fa6c836bb3137e", size = 413419, upload-time = "2025-04-29T23:28:43.673Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/f3/1eac0c5e2d6d6790bd2025ebfbefcbd37f0d097103d76f9b3f9302af5a17/orjson-3.10.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:50ce016233ac4bfd843ac5471e232b865271d7d9d44cf9d33773bcd883ce442b", size = 153292, upload-time = "2025-04-29T23:28:45.573Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/b4/ef0abf64c8f1fabf98791819ab502c2c8c1dc48b786646533a93637d8999/orjson-3.10.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b3ceff74a8f7ffde0b2785ca749fc4e80e4315c0fd887561144059fb1c138aa7", size = 137182, upload-time = "2025-04-29T23:28:47.229Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/a3/6ea878e7b4a0dc5c888d0370d7752dcb23f402747d10e2257478d69b5e63/orjson-3.10.18-cp311-cp311-win32.whl", hash = "sha256:fdba703c722bd868c04702cac4cb8c6b8ff137af2623bc0ddb3b3e6a2c8996c1", size = 142695, upload-time = "2025-04-29T23:28:48.564Z" },
+ { url = "https://files.pythonhosted.org/packages/79/2a/4048700a3233d562f0e90d5572a849baa18ae4e5ce4c3ba6247e4ece57b0/orjson-3.10.18-cp311-cp311-win_amd64.whl", hash = "sha256:c28082933c71ff4bc6ccc82a454a2bffcef6e1d7379756ca567c772e4fb3278a", size = 134603, upload-time = "2025-04-29T23:28:50.442Z" },
+ { url = "https://files.pythonhosted.org/packages/03/45/10d934535a4993d27e1c84f1810e79ccf8b1b7418cef12151a22fe9bb1e1/orjson-3.10.18-cp311-cp311-win_arm64.whl", hash = "sha256:a6c7c391beaedd3fa63206e5c2b7b554196f14debf1ec9deb54b5d279b1b46f5", size = 131400, upload-time = "2025-04-29T23:28:51.838Z" },
+ { url = "https://files.pythonhosted.org/packages/21/1a/67236da0916c1a192d5f4ccbe10ec495367a726996ceb7614eaa687112f2/orjson-3.10.18-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:50c15557afb7f6d63bc6d6348e0337a880a04eaa9cd7c9d569bcb4e760a24753", size = 249184, upload-time = "2025-04-29T23:28:53.612Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/bc/c7f1db3b1d094dc0c6c83ed16b161a16c214aaa77f311118a93f647b32dc/orjson-3.10.18-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:356b076f1662c9813d5fa56db7d63ccceef4c271b1fb3dd522aca291375fcf17", size = 133279, upload-time = "2025-04-29T23:28:55.055Z" },
+ { url = "https://files.pythonhosted.org/packages/af/84/664657cd14cc11f0d81e80e64766c7ba5c9b7fc1ec304117878cc1b4659c/orjson-3.10.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:559eb40a70a7494cd5beab2d73657262a74a2c59aff2068fdba8f0424ec5b39d", size = 136799, upload-time = "2025-04-29T23:28:56.828Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/bb/f50039c5bb05a7ab024ed43ba25d0319e8722a0ac3babb0807e543349978/orjson-3.10.18-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f3c29eb9a81e2fbc6fd7ddcfba3e101ba92eaff455b8d602bf7511088bbc0eae", size = 132791, upload-time = "2025-04-29T23:28:58.751Z" },
+ { url = "https://files.pythonhosted.org/packages/93/8c/ee74709fc072c3ee219784173ddfe46f699598a1723d9d49cbc78d66df65/orjson-3.10.18-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6612787e5b0756a171c7d81ba245ef63a3533a637c335aa7fcb8e665f4a0966f", size = 137059, upload-time = "2025-04-29T23:29:00.129Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/37/e6d3109ee004296c80426b5a62b47bcadd96a3deab7443e56507823588c5/orjson-3.10.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ac6bd7be0dcab5b702c9d43d25e70eb456dfd2e119d512447468f6405b4a69c", size = 138359, upload-time = "2025-04-29T23:29:01.704Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/5d/387dafae0e4691857c62bd02839a3bf3fa648eebd26185adfac58d09f207/orjson-3.10.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9f72f100cee8dde70100406d5c1abba515a7df926d4ed81e20a9730c062fe9ad", size = 142853, upload-time = "2025-04-29T23:29:03.576Z" },
+ { url = "https://files.pythonhosted.org/packages/27/6f/875e8e282105350b9a5341c0222a13419758545ae32ad6e0fcf5f64d76aa/orjson-3.10.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9dca85398d6d093dd41dc0983cbf54ab8e6afd1c547b6b8a311643917fbf4e0c", size = 133131, upload-time = "2025-04-29T23:29:05.753Z" },
+ { url = "https://files.pythonhosted.org/packages/48/b2/73a1f0b4790dcb1e5a45f058f4f5dcadc8a85d90137b50d6bbc6afd0ae50/orjson-3.10.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:22748de2a07fcc8781a70edb887abf801bb6142e6236123ff93d12d92db3d406", size = 134834, upload-time = "2025-04-29T23:29:07.35Z" },
+ { url = "https://files.pythonhosted.org/packages/56/f5/7ed133a5525add9c14dbdf17d011dd82206ca6840811d32ac52a35935d19/orjson-3.10.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3a83c9954a4107b9acd10291b7f12a6b29e35e8d43a414799906ea10e75438e6", size = 413368, upload-time = "2025-04-29T23:29:09.301Z" },
+ { url = "https://files.pythonhosted.org/packages/11/7c/439654221ed9c3324bbac7bdf94cf06a971206b7b62327f11a52544e4982/orjson-3.10.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:303565c67a6c7b1f194c94632a4a39918e067bd6176a48bec697393865ce4f06", size = 153359, upload-time = "2025-04-29T23:29:10.813Z" },
+ { url = "https://files.pythonhosted.org/packages/48/e7/d58074fa0cc9dd29a8fa2a6c8d5deebdfd82c6cfef72b0e4277c4017563a/orjson-3.10.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:86314fdb5053a2f5a5d881f03fca0219bfdf832912aa88d18676a5175c6916b5", size = 137466, upload-time = "2025-04-29T23:29:12.26Z" },
+ { url = "https://files.pythonhosted.org/packages/57/4d/fe17581cf81fb70dfcef44e966aa4003360e4194d15a3f38cbffe873333a/orjson-3.10.18-cp312-cp312-win32.whl", hash = "sha256:187ec33bbec58c76dbd4066340067d9ece6e10067bb0cc074a21ae3300caa84e", size = 142683, upload-time = "2025-04-29T23:29:13.865Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/22/469f62d25ab5f0f3aee256ea732e72dc3aab6d73bac777bd6277955bceef/orjson-3.10.18-cp312-cp312-win_amd64.whl", hash = "sha256:f9f94cf6d3f9cd720d641f8399e390e7411487e493962213390d1ae45c7814fc", size = 134754, upload-time = "2025-04-29T23:29:15.338Z" },
+ { url = "https://files.pythonhosted.org/packages/10/b0/1040c447fac5b91bc1e9c004b69ee50abb0c1ffd0d24406e1350c58a7fcb/orjson-3.10.18-cp312-cp312-win_arm64.whl", hash = "sha256:3d600be83fe4514944500fa8c2a0a77099025ec6482e8087d7659e891f23058a", size = 131218, upload-time = "2025-04-29T23:29:17.324Z" },
+ { url = "https://files.pythonhosted.org/packages/04/f0/8aedb6574b68096f3be8f74c0b56d36fd94bcf47e6c7ed47a7bd1474aaa8/orjson-3.10.18-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:69c34b9441b863175cc6a01f2935de994025e773f814412030f269da4f7be147", size = 249087, upload-time = "2025-04-29T23:29:19.083Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/f7/7118f965541aeac6844fcb18d6988e111ac0d349c9b80cda53583e758908/orjson-3.10.18-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:1ebeda919725f9dbdb269f59bc94f861afbe2a27dce5608cdba2d92772364d1c", size = 133273, upload-time = "2025-04-29T23:29:20.602Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/d9/839637cc06eaf528dd8127b36004247bf56e064501f68df9ee6fd56a88ee/orjson-3.10.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5adf5f4eed520a4959d29ea80192fa626ab9a20b2ea13f8f6dc58644f6927103", size = 136779, upload-time = "2025-04-29T23:29:22.062Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/6d/f226ecfef31a1f0e7d6bf9a31a0bbaf384c7cbe3fce49cc9c2acc51f902a/orjson-3.10.18-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7592bb48a214e18cd670974f289520f12b7aed1fa0b2e2616b8ed9e069e08595", size = 132811, upload-time = "2025-04-29T23:29:23.602Z" },
+ { url = "https://files.pythonhosted.org/packages/73/2d/371513d04143c85b681cf8f3bce743656eb5b640cb1f461dad750ac4b4d4/orjson-3.10.18-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f872bef9f042734110642b7a11937440797ace8c87527de25e0c53558b579ccc", size = 137018, upload-time = "2025-04-29T23:29:25.094Z" },
+ { url = "https://files.pythonhosted.org/packages/69/cb/a4d37a30507b7a59bdc484e4a3253c8141bf756d4e13fcc1da760a0b00cb/orjson-3.10.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0315317601149c244cb3ecef246ef5861a64824ccbcb8018d32c66a60a84ffbc", size = 138368, upload-time = "2025-04-29T23:29:26.609Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/ae/cd10883c48d912d216d541eb3db8b2433415fde67f620afe6f311f5cd2ca/orjson-3.10.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0da26957e77e9e55a6c2ce2e7182a36a6f6b180ab7189315cb0995ec362e049", size = 142840, upload-time = "2025-04-29T23:29:28.153Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/4c/2bda09855c6b5f2c055034c9eda1529967b042ff8d81a05005115c4e6772/orjson-3.10.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb70d489bc79b7519e5803e2cc4c72343c9dc1154258adf2f8925d0b60da7c58", size = 133135, upload-time = "2025-04-29T23:29:29.726Z" },
+ { url = "https://files.pythonhosted.org/packages/13/4a/35971fd809a8896731930a80dfff0b8ff48eeb5d8b57bb4d0d525160017f/orjson-3.10.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e9e86a6af31b92299b00736c89caf63816f70a4001e750bda179e15564d7a034", size = 134810, upload-time = "2025-04-29T23:29:31.269Z" },
+ { url = "https://files.pythonhosted.org/packages/99/70/0fa9e6310cda98365629182486ff37a1c6578e34c33992df271a476ea1cd/orjson-3.10.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c382a5c0b5931a5fc5405053d36c1ce3fd561694738626c77ae0b1dfc0242ca1", size = 413491, upload-time = "2025-04-29T23:29:33.315Z" },
+ { url = "https://files.pythonhosted.org/packages/32/cb/990a0e88498babddb74fb97855ae4fbd22a82960e9b06eab5775cac435da/orjson-3.10.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8e4b2ae732431127171b875cb2668f883e1234711d3c147ffd69fe5be51a8012", size = 153277, upload-time = "2025-04-29T23:29:34.946Z" },
+ { url = "https://files.pythonhosted.org/packages/92/44/473248c3305bf782a384ed50dd8bc2d3cde1543d107138fd99b707480ca1/orjson-3.10.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2d808e34ddb24fc29a4d4041dcfafbae13e129c93509b847b14432717d94b44f", size = 137367, upload-time = "2025-04-29T23:29:36.52Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687, upload-time = "2025-04-29T23:29:38.292Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794, upload-time = "2025-04-29T23:29:40.349Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186, upload-time = "2025-04-29T23:29:41.922Z" },
]
[[package]]
name = "packaging"
version = "23.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/fb/2b/9b9c33ffed44ee921d0967086d653047286054117d584f1b1a7c22ceaf7b/packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5", size = 146714, upload_time = "2023-10-01T13:50:05.279Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/fb/2b/9b9c33ffed44ee921d0967086d653047286054117d584f1b1a7c22ceaf7b/packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5", size = 146714, upload-time = "2023-10-01T13:50:05.279Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7", size = 53011, upload_time = "2023-10-01T13:50:03.745Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/1a/610693ac4ee14fcdf2d9bf3c493370e4f2ef7ae2e19217d7a237ff42367d/packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7", size = 53011, upload-time = "2023-10-01T13:50:03.745Z" },
]
[[package]]
name = "pathspec"
version = "0.12.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload_time = "2023-12-10T22:30:45Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload_time = "2023-12-10T22:30:43.14Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" },
]
[[package]]
name = "pillow"
version = "10.4.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059, upload_time = "2024-07-01T09:48:43.583Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/cd/74/ad3d526f3bf7b6d3f408b73fde271ec69dfac8b81341a318ce825f2b3812/pillow-10.4.0.tar.gz", hash = "sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06", size = 46555059, upload-time = "2024-07-01T09:48:43.583Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271, upload_time = "2024-07-01T09:45:22.07Z" },
- { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658, upload_time = "2024-07-01T09:45:25.292Z" },
- { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075, upload_time = "2024-07-01T09:45:27.94Z" },
- { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808, upload_time = "2024-07-01T09:45:30.305Z" },
- { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290, upload_time = "2024-07-01T09:45:32.868Z" },
- { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163, upload_time = "2024-07-01T09:45:35.279Z" },
- { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100, upload_time = "2024-07-01T09:45:37.74Z" },
- { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880, upload_time = "2024-07-01T09:45:39.89Z" },
- { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218, upload_time = "2024-07-01T09:45:42.771Z" },
- { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487, upload_time = "2024-07-01T09:45:45.176Z" },
- { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219, upload_time = "2024-07-01T09:45:47.274Z" },
- { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265, upload_time = "2024-07-01T09:45:49.812Z" },
- { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655, upload_time = "2024-07-01T09:45:52.462Z" },
- { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304, upload_time = "2024-07-01T09:45:55.006Z" },
- { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804, upload_time = "2024-07-01T09:45:58.437Z" },
- { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126, upload_time = "2024-07-01T09:46:00.713Z" },
- { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541, upload_time = "2024-07-01T09:46:03.235Z" },
- { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616, upload_time = "2024-07-01T09:46:05.356Z" },
- { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802, upload_time = "2024-07-01T09:46:08.145Z" },
- { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213, upload_time = "2024-07-01T09:46:10.211Z" },
- { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498, upload_time = "2024-07-01T09:46:12.685Z" },
- { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219, upload_time = "2024-07-01T09:46:14.83Z" },
- { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350, upload_time = "2024-07-01T09:46:17.177Z" },
- { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980, upload_time = "2024-07-01T09:46:19.169Z" },
- { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799, upload_time = "2024-07-01T09:46:21.883Z" },
- { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973, upload_time = "2024-07-01T09:46:24.321Z" },
- { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054, upload_time = "2024-07-01T09:46:26.825Z" },
- { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484, upload_time = "2024-07-01T09:46:29.355Z" },
- { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375, upload_time = "2024-07-01T09:46:31.756Z" },
- { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773, upload_time = "2024-07-01T09:46:33.73Z" },
- { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690, upload_time = "2024-07-01T09:46:36.587Z" },
- { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951, upload_time = "2024-07-01T09:46:38.777Z" },
- { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427, upload_time = "2024-07-01T09:46:43.15Z" },
- { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685, upload_time = "2024-07-01T09:46:45.194Z" },
- { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883, upload_time = "2024-07-01T09:46:47.331Z" },
- { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837, upload_time = "2024-07-01T09:46:49.647Z" },
- { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562, upload_time = "2024-07-01T09:46:51.811Z" },
- { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761, upload_time = "2024-07-01T09:46:53.961Z" },
- { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767, upload_time = "2024-07-01T09:46:56.664Z" },
- { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989, upload_time = "2024-07-01T09:46:58.977Z" },
- { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255, upload_time = "2024-07-01T09:47:01.189Z" },
- { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload_time = "2024-07-01T09:47:03.918Z" },
- { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload_time = "2024-07-01T09:47:06.152Z" },
- { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload_time = "2024-07-01T09:47:09.065Z" },
- { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889, upload_time = "2024-07-01T09:48:04.815Z" },
- { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160, upload_time = "2024-07-01T09:48:07.206Z" },
- { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020, upload_time = "2024-07-01T09:48:09.66Z" },
- { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539, upload_time = "2024-07-01T09:48:12.529Z" },
- { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125, upload_time = "2024-07-01T09:48:14.891Z" },
- { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373, upload_time = "2024-07-01T09:48:17.601Z" },
- { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661, upload_time = "2024-07-01T09:48:20.293Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/69/a31cccd538ca0b5272be2a38347f8839b97a14be104ea08b0db92f749c74/pillow-10.4.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e", size = 3509271, upload-time = "2024-07-01T09:45:22.07Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/9e/4143b907be8ea0bce215f2ae4f7480027473f8b61fcedfda9d851082a5d2/pillow-10.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d", size = 3375658, upload-time = "2024-07-01T09:45:25.292Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/25/1fc45761955f9359b1169aa75e241551e74ac01a09f487adaaf4c3472d11/pillow-10.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856", size = 4332075, upload-time = "2024-07-01T09:45:27.94Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/dd/425b95d0151e1d6c951f45051112394f130df3da67363b6bc75dc4c27aba/pillow-10.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f", size = 4444808, upload-time = "2024-07-01T09:45:30.305Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/84/9a15cc5726cbbfe7f9f90bfb11f5d028586595907cd093815ca6644932e3/pillow-10.4.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b", size = 4356290, upload-time = "2024-07-01T09:45:32.868Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/5b/6651c288b08df3b8c1e2f8c1152201e0b25d240e22ddade0f1e242fc9fa0/pillow-10.4.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc", size = 4525163, upload-time = "2024-07-01T09:45:35.279Z" },
+ { url = "https://files.pythonhosted.org/packages/07/8b/34854bf11a83c248505c8cb0fcf8d3d0b459a2246c8809b967963b6b12ae/pillow-10.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e", size = 4463100, upload-time = "2024-07-01T09:45:37.74Z" },
+ { url = "https://files.pythonhosted.org/packages/78/63/0632aee4e82476d9cbe5200c0cdf9ba41ee04ed77887432845264d81116d/pillow-10.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46", size = 4592880, upload-time = "2024-07-01T09:45:39.89Z" },
+ { url = "https://files.pythonhosted.org/packages/df/56/b8663d7520671b4398b9d97e1ed9f583d4afcbefbda3c6188325e8c297bd/pillow-10.4.0-cp310-cp310-win32.whl", hash = "sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984", size = 2235218, upload-time = "2024-07-01T09:45:42.771Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/72/0203e94a91ddb4a9d5238434ae6c1ca10e610e8487036132ea9bf806ca2a/pillow-10.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141", size = 2554487, upload-time = "2024-07-01T09:45:45.176Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/52/7e7e93d7a6e4290543f17dc6f7d3af4bd0b3dd9926e2e8a35ac2282bc5f4/pillow-10.4.0-cp310-cp310-win_arm64.whl", hash = "sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1", size = 2243219, upload-time = "2024-07-01T09:45:47.274Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/62/c9449f9c3043c37f73e7487ec4ef0c03eb9c9afc91a92b977a67b3c0bbc5/pillow-10.4.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c", size = 3509265, upload-time = "2024-07-01T09:45:49.812Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/5f/491dafc7bbf5a3cc1845dc0430872e8096eb9e2b6f8161509d124594ec2d/pillow-10.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be", size = 3375655, upload-time = "2024-07-01T09:45:52.462Z" },
+ { url = "https://files.pythonhosted.org/packages/73/d5/c4011a76f4207a3c151134cd22a1415741e42fa5ddecec7c0182887deb3d/pillow-10.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3", size = 4340304, upload-time = "2024-07-01T09:45:55.006Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/10/c67e20445a707f7a610699bba4fe050583b688d8cd2d202572b257f46600/pillow-10.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6", size = 4452804, upload-time = "2024-07-01T09:45:58.437Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/83/6523837906d1da2b269dee787e31df3b0acb12e3d08f024965a3e7f64665/pillow-10.4.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe", size = 4365126, upload-time = "2024-07-01T09:46:00.713Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/e5/8c68ff608a4203085158cff5cc2a3c534ec384536d9438c405ed6370d080/pillow-10.4.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319", size = 4533541, upload-time = "2024-07-01T09:46:03.235Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/7c/01b8dbdca5bc6785573f4cee96e2358b0918b7b2c7b60d8b6f3abf87a070/pillow-10.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d", size = 4471616, upload-time = "2024-07-01T09:46:05.356Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/57/2899b82394a35a0fbfd352e290945440e3b3785655a03365c0ca8279f351/pillow-10.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696", size = 4600802, upload-time = "2024-07-01T09:46:08.145Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/d7/a44f193d4c26e58ee5d2d9db3d4854b2cfb5b5e08d360a5e03fe987c0086/pillow-10.4.0-cp311-cp311-win32.whl", hash = "sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496", size = 2235213, upload-time = "2024-07-01T09:46:10.211Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/d0/5866318eec2b801cdb8c82abf190c8343d8a1cd8bf5a0c17444a6f268291/pillow-10.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91", size = 2554498, upload-time = "2024-07-01T09:46:12.685Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/c8/310ac16ac2b97e902d9eb438688de0d961660a87703ad1561fd3dfbd2aa0/pillow-10.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22", size = 2243219, upload-time = "2024-07-01T09:46:14.83Z" },
+ { url = "https://files.pythonhosted.org/packages/05/cb/0353013dc30c02a8be34eb91d25e4e4cf594b59e5a55ea1128fde1e5f8ea/pillow-10.4.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94", size = 3509350, upload-time = "2024-07-01T09:46:17.177Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/cf/5c558a0f247e0bf9cec92bff9b46ae6474dd736f6d906315e60e4075f737/pillow-10.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597", size = 3374980, upload-time = "2024-07-01T09:46:19.169Z" },
+ { url = "https://files.pythonhosted.org/packages/84/48/6e394b86369a4eb68b8a1382c78dc092245af517385c086c5094e3b34428/pillow-10.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80", size = 4343799, upload-time = "2024-07-01T09:46:21.883Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/f3/a8c6c11fa84b59b9df0cd5694492da8c039a24cd159f0f6918690105c3be/pillow-10.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca", size = 4459973, upload-time = "2024-07-01T09:46:24.321Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/1b/c14b4197b80150fb64453585247e6fb2e1d93761fa0fa9cf63b102fde822/pillow-10.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef", size = 4370054, upload-time = "2024-07-01T09:46:26.825Z" },
+ { url = "https://files.pythonhosted.org/packages/55/77/40daddf677897a923d5d33329acd52a2144d54a9644f2a5422c028c6bf2d/pillow-10.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a", size = 4539484, upload-time = "2024-07-01T09:46:29.355Z" },
+ { url = "https://files.pythonhosted.org/packages/40/54/90de3e4256b1207300fb2b1d7168dd912a2fb4b2401e439ba23c2b2cabde/pillow-10.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b", size = 4477375, upload-time = "2024-07-01T09:46:31.756Z" },
+ { url = "https://files.pythonhosted.org/packages/13/24/1bfba52f44193860918ff7c93d03d95e3f8748ca1de3ceaf11157a14cf16/pillow-10.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9", size = 4608773, upload-time = "2024-07-01T09:46:33.73Z" },
+ { url = "https://files.pythonhosted.org/packages/55/04/5e6de6e6120451ec0c24516c41dbaf80cce1b6451f96561235ef2429da2e/pillow-10.4.0-cp312-cp312-win32.whl", hash = "sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42", size = 2235690, upload-time = "2024-07-01T09:46:36.587Z" },
+ { url = "https://files.pythonhosted.org/packages/74/0a/d4ce3c44bca8635bd29a2eab5aa181b654a734a29b263ca8efe013beea98/pillow-10.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a", size = 2554951, upload-time = "2024-07-01T09:46:38.777Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/ca/184349ee40f2e92439be9b3502ae6cfc43ac4b50bc4fc6b3de7957563894/pillow-10.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9", size = 2243427, upload-time = "2024-07-01T09:46:43.15Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/00/706cebe7c2c12a6318aabe5d354836f54adff7156fd9e1bd6c89f4ba0e98/pillow-10.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3", size = 3525685, upload-time = "2024-07-01T09:46:45.194Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/76/f658cbfa49405e5ecbfb9ba42d07074ad9792031267e782d409fd8fe7c69/pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb", size = 3374883, upload-time = "2024-07-01T09:46:47.331Z" },
+ { url = "https://files.pythonhosted.org/packages/46/2b/99c28c4379a85e65378211971c0b430d9c7234b1ec4d59b2668f6299e011/pillow-10.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70", size = 4339837, upload-time = "2024-07-01T09:46:49.647Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/74/b1ec314f624c0c43711fdf0d8076f82d9d802afd58f1d62c2a86878e8615/pillow-10.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be", size = 4455562, upload-time = "2024-07-01T09:46:51.811Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/2a/4b04157cb7b9c74372fa867096a1607e6fedad93a44deeff553ccd307868/pillow-10.4.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0", size = 4366761, upload-time = "2024-07-01T09:46:53.961Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/7b/8f1d815c1a6a268fe90481232c98dd0e5fa8c75e341a75f060037bd5ceae/pillow-10.4.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc", size = 4536767, upload-time = "2024-07-01T09:46:56.664Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/77/05fa64d1f45d12c22c314e7b97398ffb28ef2813a485465017b7978b3ce7/pillow-10.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a", size = 4477989, upload-time = "2024-07-01T09:46:58.977Z" },
+ { url = "https://files.pythonhosted.org/packages/12/63/b0397cfc2caae05c3fb2f4ed1b4fc4fc878f0243510a7a6034ca59726494/pillow-10.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309", size = 4610255, upload-time = "2024-07-01T09:47:01.189Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/f9/cfaa5082ca9bc4a6de66ffe1c12c2d90bf09c309a5f52b27759a596900e7/pillow-10.4.0-cp313-cp313-win32.whl", hash = "sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060", size = 2235603, upload-time = "2024-07-01T09:47:03.918Z" },
+ { url = "https://files.pythonhosted.org/packages/01/6a/30ff0eef6e0c0e71e55ded56a38d4859bf9d3634a94a88743897b5f96936/pillow-10.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea", size = 2554972, upload-time = "2024-07-01T09:47:06.152Z" },
+ { url = "https://files.pythonhosted.org/packages/48/2c/2e0a52890f269435eee38b21c8218e102c621fe8d8df8b9dd06fabf879ba/pillow-10.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d", size = 2243375, upload-time = "2024-07-01T09:47:09.065Z" },
+ { url = "https://files.pythonhosted.org/packages/38/30/095d4f55f3a053392f75e2eae45eba3228452783bab3d9a920b951ac495c/pillow-10.4.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4", size = 3493889, upload-time = "2024-07-01T09:48:04.815Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/e8/4ff79788803a5fcd5dc35efdc9386af153569853767bff74540725b45863/pillow-10.4.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da", size = 3346160, upload-time = "2024-07-01T09:48:07.206Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/ac/4184edd511b14f760c73f5bb8a5d6fd85c591c8aff7c2229677a355c4179/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026", size = 3435020, upload-time = "2024-07-01T09:48:09.66Z" },
+ { url = "https://files.pythonhosted.org/packages/da/21/1749cd09160149c0a246a81d646e05f35041619ce76f6493d6a96e8d1103/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e", size = 3490539, upload-time = "2024-07-01T09:48:12.529Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/f5/f71fe1888b96083b3f6dfa0709101f61fc9e972c0c8d04e9d93ccef2a045/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5", size = 3476125, upload-time = "2024-07-01T09:48:14.891Z" },
+ { url = "https://files.pythonhosted.org/packages/96/b9/c0362c54290a31866c3526848583a2f45a535aa9d725fd31e25d318c805f/pillow-10.4.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885", size = 3579373, upload-time = "2024-07-01T09:48:17.601Z" },
+ { url = "https://files.pythonhosted.org/packages/52/3b/ce7a01026a7cf46e5452afa86f97a5e88ca97f562cafa76570178ab56d8d/pillow-10.4.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5", size = 2554661, upload-time = "2024-07-01T09:48:20.293Z" },
]
[[package]]
name = "platformdirs"
version = "4.3.7"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/b6/2d/7d512a3913d60623e7eb945c6d1b4f0bddf1d0b7ada5225274c87e5b53d1/platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351", size = 21291, upload_time = "2025-03-19T20:36:10.989Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/b6/2d/7d512a3913d60623e7eb945c6d1b4f0bddf1d0b7ada5225274c87e5b53d1/platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351", size = 21291, upload-time = "2025-03-19T20:36:10.989Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6d/45/59578566b3275b8fd9157885918fcd0c4d74162928a5310926887b856a51/platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94", size = 18499, upload_time = "2025-03-19T20:36:09.038Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/45/59578566b3275b8fd9157885918fcd0c4d74162928a5310926887b856a51/platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94", size = 18499, upload-time = "2025-03-19T20:36:09.038Z" },
]
[[package]]
name = "pluggy"
version = "1.5.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload_time = "2024-04-20T21:34:42.531Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload-time = "2024-04-20T21:34:42.531Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload_time = "2024-04-20T21:34:40.434Z" },
+ { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload-time = "2024-04-20T21:34:40.434Z" },
]
[[package]]
@@ -1771,51 +1775,51 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "wcwidth" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/e1/c0/5e9c4d2a643a00a6f67578ef35485173de273a4567279e4f0c200c01386b/prettytable-3.9.0.tar.gz", hash = "sha256:f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34", size = 47874, upload_time = "2023-09-11T14:04:14.548Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/e1/c0/5e9c4d2a643a00a6f67578ef35485173de273a4567279e4f0c200c01386b/prettytable-3.9.0.tar.gz", hash = "sha256:f4ed94803c23073a90620b201965e5dc0bccf1760b7a7eaf3158cab8aaffdf34", size = 47874, upload-time = "2023-09-11T14:04:14.548Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/4d/81/316b6a55a0d1f327d04cc7b0ba9d04058cb62de6c3a4d4b0df280cbe3b0b/prettytable-3.9.0-py3-none-any.whl", hash = "sha256:a71292ab7769a5de274b146b276ce938786f56c31cf7cea88b6f3775d82fe8c8", size = 27772, upload_time = "2023-09-11T14:03:45.582Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/81/316b6a55a0d1f327d04cc7b0ba9d04058cb62de6c3a4d4b0df280cbe3b0b/prettytable-3.9.0-py3-none-any.whl", hash = "sha256:a71292ab7769a5de274b146b276ce938786f56c31cf7cea88b6f3775d82fe8c8", size = 27772, upload-time = "2023-09-11T14:03:45.582Z" },
]
[[package]]
name = "protobuf"
version = "4.25.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/db/a5/05ea470f4e793c9408bc975ce1c6957447e3134ce7f7a58c13be8b2c216f/protobuf-4.25.2.tar.gz", hash = "sha256:fe599e175cb347efc8ee524bcd4b902d11f7262c0e569ececcb89995c15f0a5e", size = 380282, upload_time = "2024-01-10T19:37:42.958Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/db/a5/05ea470f4e793c9408bc975ce1c6957447e3134ce7f7a58c13be8b2c216f/protobuf-4.25.2.tar.gz", hash = "sha256:fe599e175cb347efc8ee524bcd4b902d11f7262c0e569ececcb89995c15f0a5e", size = 380282, upload-time = "2024-01-10T19:37:42.958Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/36/2f/01f63896ddf22cbb0173ab51f54fde70b0208ca6c2f5e8416950977930e1/protobuf-4.25.2-cp310-abi3-win32.whl", hash = "sha256:b50c949608682b12efb0b2717f53256f03636af5f60ac0c1d900df6213910fd6", size = 392408, upload_time = "2024-01-10T19:37:23.466Z" },
- { url = "https://files.pythonhosted.org/packages/c1/00/c3ae19cabb36cfabc94ff0b102aac21b471c9f91a1357f8aafffb9efe8e0/protobuf-4.25.2-cp310-abi3-win_amd64.whl", hash = "sha256:8f62574857ee1de9f770baf04dde4165e30b15ad97ba03ceac65f760ff018ac9", size = 413397, upload_time = "2024-01-10T19:37:26.321Z" },
- { url = "https://files.pythonhosted.org/packages/b3/81/0017aefacf23273d4efd1154ef958a27eed9c177c4cc09d2d4ba398fb47f/protobuf-4.25.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:2db9f8fa64fbdcdc93767d3cf81e0f2aef176284071507e3ede160811502fd3d", size = 394159, upload_time = "2024-01-10T19:37:28.932Z" },
- { url = "https://files.pythonhosted.org/packages/23/17/405ba44f60a693dfe96c7a18e843707cffa0fcfad80bd8fc4f227f499ea5/protobuf-4.25.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:10894a2885b7175d3984f2be8d9850712c57d5e7587a2410720af8be56cdaf62", size = 293698, upload_time = "2024-01-10T19:37:30.666Z" },
- { url = "https://files.pythonhosted.org/packages/81/9e/63501b8d5b4e40c7260049836bd15ec3270c936e83bc57b85e4603cc212c/protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fc381d1dd0516343f1440019cedf08a7405f791cd49eef4ae1ea06520bc1c020", size = 294609, upload_time = "2024-01-10T19:37:32.777Z" },
- { url = "https://files.pythonhosted.org/packages/ff/52/5d23df1fe3b368133ec3e2436fb3dd4ccedf44c8d5ac7f4a88087c75180b/protobuf-4.25.2-py3-none-any.whl", hash = "sha256:a8b7a98d4ce823303145bf3c1a8bdb0f2f4642a414b196f04ad9853ed0c8f830", size = 156463, upload_time = "2024-01-10T19:37:41.24Z" },
+ { url = "https://files.pythonhosted.org/packages/36/2f/01f63896ddf22cbb0173ab51f54fde70b0208ca6c2f5e8416950977930e1/protobuf-4.25.2-cp310-abi3-win32.whl", hash = "sha256:b50c949608682b12efb0b2717f53256f03636af5f60ac0c1d900df6213910fd6", size = 392408, upload-time = "2024-01-10T19:37:23.466Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/00/c3ae19cabb36cfabc94ff0b102aac21b471c9f91a1357f8aafffb9efe8e0/protobuf-4.25.2-cp310-abi3-win_amd64.whl", hash = "sha256:8f62574857ee1de9f770baf04dde4165e30b15ad97ba03ceac65f760ff018ac9", size = 413397, upload-time = "2024-01-10T19:37:26.321Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/81/0017aefacf23273d4efd1154ef958a27eed9c177c4cc09d2d4ba398fb47f/protobuf-4.25.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:2db9f8fa64fbdcdc93767d3cf81e0f2aef176284071507e3ede160811502fd3d", size = 394159, upload-time = "2024-01-10T19:37:28.932Z" },
+ { url = "https://files.pythonhosted.org/packages/23/17/405ba44f60a693dfe96c7a18e843707cffa0fcfad80bd8fc4f227f499ea5/protobuf-4.25.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:10894a2885b7175d3984f2be8d9850712c57d5e7587a2410720af8be56cdaf62", size = 293698, upload-time = "2024-01-10T19:37:30.666Z" },
+ { url = "https://files.pythonhosted.org/packages/81/9e/63501b8d5b4e40c7260049836bd15ec3270c936e83bc57b85e4603cc212c/protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fc381d1dd0516343f1440019cedf08a7405f791cd49eef4ae1ea06520bc1c020", size = 294609, upload-time = "2024-01-10T19:37:32.777Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/52/5d23df1fe3b368133ec3e2436fb3dd4ccedf44c8d5ac7f4a88087c75180b/protobuf-4.25.2-py3-none-any.whl", hash = "sha256:a8b7a98d4ce823303145bf3c1a8bdb0f2f4642a414b196f04ad9853ed0c8f830", size = 156463, upload-time = "2024-01-10T19:37:41.24Z" },
]
[[package]]
name = "psutil"
version = "5.9.7"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/a0/d0/c9ae661a302931735237791f04cb7086ac244377f78692ba3b3eae3a9619/psutil-5.9.7.tar.gz", hash = "sha256:3f02134e82cfb5d089fddf20bb2e03fd5cd52395321d1c8458a9e58500ff417c", size = 498429, upload_time = "2023-12-17T11:25:21.22Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/a0/d0/c9ae661a302931735237791f04cb7086ac244377f78692ba3b3eae3a9619/psutil-5.9.7.tar.gz", hash = "sha256:3f02134e82cfb5d089fddf20bb2e03fd5cd52395321d1c8458a9e58500ff417c", size = 498429, upload-time = "2023-12-17T11:25:21.22Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6c/63/86a4ccc640b4ee1193800f57bbd20b766853c0cdbdbb248a27cdfafe6cbf/psutil-5.9.7-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ea36cc62e69a13ec52b2f625c27527f6e4479bca2b340b7a452af55b34fcbe2e", size = 245972, upload_time = "2023-12-17T11:25:48.202Z" },
- { url = "https://files.pythonhosted.org/packages/58/80/cc6666b3968646f2d94de66bbc63d701d501f4aa04de43dd7d1f5dc477dd/psutil-5.9.7-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1132704b876e58d277168cd729d64750633d5ff0183acf5b3c986b8466cd0284", size = 282514, upload_time = "2023-12-17T11:25:51.371Z" },
- { url = "https://files.pythonhosted.org/packages/be/fa/f1f626620e3b47e6237dcc64cb8cc1472f139e99422e5b9fa5bbcf457f48/psutil-5.9.7-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8b7f07948f1304497ce4f4684881250cd859b16d06a1dc4d7941eeb6233bfe", size = 285469, upload_time = "2023-12-17T11:25:54.25Z" },
- { url = "https://files.pythonhosted.org/packages/7c/b8/dc6ebfc030b47cccc5f5229eeb15e64142b4782796c3ce169ccd60b4d511/psutil-5.9.7-cp37-abi3-win32.whl", hash = "sha256:c727ca5a9b2dd5193b8644b9f0c883d54f1248310023b5ad3e92036c5e2ada68", size = 248406, upload_time = "2023-12-17T12:38:50.326Z" },
- { url = "https://files.pythonhosted.org/packages/50/28/92b74d95dd991c837813ffac0c79a581a3d129eb0fa7c1dd616d9901e0f3/psutil-5.9.7-cp37-abi3-win_amd64.whl", hash = "sha256:f37f87e4d73b79e6c5e749440c3113b81d1ee7d26f21c19c47371ddea834f414", size = 252245, upload_time = "2023-12-17T12:39:00.686Z" },
- { url = "https://files.pythonhosted.org/packages/ba/8a/000d0e80156f0b96c55bda6c60f5ed6543d7b5e893ccab83117e50de1400/psutil-5.9.7-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:032f4f2c909818c86cea4fe2cc407f1c0f0cde8e6c6d702b28b8ce0c0d143340", size = 246739, upload_time = "2023-12-17T11:25:57.305Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/63/86a4ccc640b4ee1193800f57bbd20b766853c0cdbdbb248a27cdfafe6cbf/psutil-5.9.7-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ea36cc62e69a13ec52b2f625c27527f6e4479bca2b340b7a452af55b34fcbe2e", size = 245972, upload-time = "2023-12-17T11:25:48.202Z" },
+ { url = "https://files.pythonhosted.org/packages/58/80/cc6666b3968646f2d94de66bbc63d701d501f4aa04de43dd7d1f5dc477dd/psutil-5.9.7-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1132704b876e58d277168cd729d64750633d5ff0183acf5b3c986b8466cd0284", size = 282514, upload-time = "2023-12-17T11:25:51.371Z" },
+ { url = "https://files.pythonhosted.org/packages/be/fa/f1f626620e3b47e6237dcc64cb8cc1472f139e99422e5b9fa5bbcf457f48/psutil-5.9.7-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8b7f07948f1304497ce4f4684881250cd859b16d06a1dc4d7941eeb6233bfe", size = 285469, upload-time = "2023-12-17T11:25:54.25Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/b8/dc6ebfc030b47cccc5f5229eeb15e64142b4782796c3ce169ccd60b4d511/psutil-5.9.7-cp37-abi3-win32.whl", hash = "sha256:c727ca5a9b2dd5193b8644b9f0c883d54f1248310023b5ad3e92036c5e2ada68", size = 248406, upload-time = "2023-12-17T12:38:50.326Z" },
+ { url = "https://files.pythonhosted.org/packages/50/28/92b74d95dd991c837813ffac0c79a581a3d129eb0fa7c1dd616d9901e0f3/psutil-5.9.7-cp37-abi3-win_amd64.whl", hash = "sha256:f37f87e4d73b79e6c5e749440c3113b81d1ee7d26f21c19c47371ddea834f414", size = 252245, upload-time = "2023-12-17T12:39:00.686Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/8a/000d0e80156f0b96c55bda6c60f5ed6543d7b5e893ccab83117e50de1400/psutil-5.9.7-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:032f4f2c909818c86cea4fe2cc407f1c0f0cde8e6c6d702b28b8ce0c0d143340", size = 246739, upload-time = "2023-12-17T11:25:57.305Z" },
]
[[package]]
name = "pycparser"
version = "2.21"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/5e/0b/95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de/pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206", size = 170877, upload_time = "2021-11-06T12:48:46.095Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/5e/0b/95d387f5f4433cb0f53ff7ad859bd2c6051051cebbb564f139a999ab46de/pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206", size = 170877, upload-time = "2021-11-06T12:48:46.095Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", size = 118697, upload_time = "2021-11-06T12:50:13.61Z" },
+ { url = "https://files.pythonhosted.org/packages/62/d5/5f610ebe421e85889f2e55e33b7f9a6795bd982198517d912eb1c76e1a53/pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", size = 118697, upload-time = "2021-11-06T12:50:13.61Z" },
]
[[package]]
name = "pydantic"
-version = "2.11.3"
+version = "2.11.4"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "annotated-types" },
@@ -1823,96 +1827,96 @@ dependencies = [
{ name = "typing-extensions" },
{ name = "typing-inspection" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/10/2e/ca897f093ee6c5f3b0bee123ee4465c50e75431c3d5b6a3b44a47134e891/pydantic-2.11.3.tar.gz", hash = "sha256:7471657138c16adad9322fe3070c0116dd6c3ad8d649300e3cbdfe91f4db4ec3", size = 785513, upload_time = "2025-04-08T13:27:06.399Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2/pydantic-2.11.4.tar.gz", hash = "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", size = 786540, upload-time = "2025-04-29T20:38:55.02Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b0/1d/407b29780a289868ed696d1616f4aad49d6388e5a77f567dcd2629dcd7b8/pydantic-2.11.3-py3-none-any.whl", hash = "sha256:a082753436a07f9ba1289c6ffa01cd93db3548776088aa917cc43b63f68fa60f", size = 443591, upload_time = "2025-04-08T13:27:03.789Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/12/46b65f3534d099349e38ef6ec98b1a5a81f42536d17e0ba382c28c67ba67/pydantic-2.11.4-py3-none-any.whl", hash = "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb", size = 443900, upload-time = "2025-04-29T20:38:52.724Z" },
]
[[package]]
name = "pydantic-core"
-version = "2.33.1"
+version = "2.33.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/17/19/ed6a078a5287aea7922de6841ef4c06157931622c89c2a47940837b5eecd/pydantic_core-2.33.1.tar.gz", hash = "sha256:bcc9c6fdb0ced789245b02b7d6603e17d1563064ddcfc36f046b61c0c05dd9df", size = 434395, upload_time = "2025-04-02T09:49:41.8Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/38/ea/5f572806ab4d4223d11551af814d243b0e3e02cc6913def4d1fe4a5ca41c/pydantic_core-2.33.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:3077cfdb6125cc8dab61b155fdd714663e401f0e6883f9632118ec12cf42df26", size = 2044021, upload_time = "2025-04-02T09:46:45.065Z" },
- { url = "https://files.pythonhosted.org/packages/8c/d1/f86cc96d2aa80e3881140d16d12ef2b491223f90b28b9a911346c04ac359/pydantic_core-2.33.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8ffab8b2908d152e74862d276cf5017c81a2f3719f14e8e3e8d6b83fda863927", size = 1861742, upload_time = "2025-04-02T09:46:46.684Z" },
- { url = "https://files.pythonhosted.org/packages/37/08/fbd2cd1e9fc735a0df0142fac41c114ad9602d1c004aea340169ae90973b/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5183e4f6a2d468787243ebcd70cf4098c247e60d73fb7d68d5bc1e1beaa0c4db", size = 1910414, upload_time = "2025-04-02T09:46:48.263Z" },
- { url = "https://files.pythonhosted.org/packages/7f/73/3ac217751decbf8d6cb9443cec9b9eb0130eeada6ae56403e11b486e277e/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:398a38d323f37714023be1e0285765f0a27243a8b1506b7b7de87b647b517e48", size = 1996848, upload_time = "2025-04-02T09:46:49.441Z" },
- { url = "https://files.pythonhosted.org/packages/9a/f5/5c26b265cdcff2661e2520d2d1e9db72d117ea00eb41e00a76efe68cb009/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87d3776f0001b43acebfa86f8c64019c043b55cc5a6a2e313d728b5c95b46969", size = 2141055, upload_time = "2025-04-02T09:46:50.602Z" },
- { url = "https://files.pythonhosted.org/packages/5d/14/a9c3cee817ef2f8347c5ce0713e91867a0dceceefcb2973942855c917379/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c566dd9c5f63d22226409553531f89de0cac55397f2ab8d97d6f06cfce6d947e", size = 2753806, upload_time = "2025-04-02T09:46:52.116Z" },
- { url = "https://files.pythonhosted.org/packages/f2/68/866ce83a51dd37e7c604ce0050ff6ad26de65a7799df89f4db87dd93d1d6/pydantic_core-2.33.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0d5f3acc81452c56895e90643a625302bd6be351e7010664151cc55b7b97f89", size = 2007777, upload_time = "2025-04-02T09:46:53.675Z" },
- { url = "https://files.pythonhosted.org/packages/b6/a8/36771f4404bb3e49bd6d4344da4dede0bf89cc1e01f3b723c47248a3761c/pydantic_core-2.33.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d3a07fadec2a13274a8d861d3d37c61e97a816beae717efccaa4b36dfcaadcde", size = 2122803, upload_time = "2025-04-02T09:46:55.789Z" },
- { url = "https://files.pythonhosted.org/packages/18/9c/730a09b2694aa89360d20756369822d98dc2f31b717c21df33b64ffd1f50/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f99aeda58dce827f76963ee87a0ebe75e648c72ff9ba1174a253f6744f518f65", size = 2086755, upload_time = "2025-04-02T09:46:56.956Z" },
- { url = "https://files.pythonhosted.org/packages/54/8e/2dccd89602b5ec31d1c58138d02340ecb2ebb8c2cac3cc66b65ce3edb6ce/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:902dbc832141aa0ec374f4310f1e4e7febeebc3256f00dc359a9ac3f264a45dc", size = 2257358, upload_time = "2025-04-02T09:46:58.445Z" },
- { url = "https://files.pythonhosted.org/packages/d1/9c/126e4ac1bfad8a95a9837acdd0963695d69264179ba4ede8b8c40d741702/pydantic_core-2.33.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fe44d56aa0b00d66640aa84a3cbe80b7a3ccdc6f0b1ca71090696a6d4777c091", size = 2257916, upload_time = "2025-04-02T09:46:59.726Z" },
- { url = "https://files.pythonhosted.org/packages/7d/ba/91eea2047e681a6853c81c20aeca9dcdaa5402ccb7404a2097c2adf9d038/pydantic_core-2.33.1-cp310-cp310-win32.whl", hash = "sha256:ed3eb16d51257c763539bde21e011092f127a2202692afaeaccb50db55a31383", size = 1923823, upload_time = "2025-04-02T09:47:01.278Z" },
- { url = "https://files.pythonhosted.org/packages/94/c0/fcdf739bf60d836a38811476f6ecd50374880b01e3014318b6e809ddfd52/pydantic_core-2.33.1-cp310-cp310-win_amd64.whl", hash = "sha256:694ad99a7f6718c1a498dc170ca430687a39894a60327f548e02a9c7ee4b6504", size = 1952494, upload_time = "2025-04-02T09:47:02.976Z" },
- { url = "https://files.pythonhosted.org/packages/d6/7f/c6298830cb780c46b4f46bb24298d01019ffa4d21769f39b908cd14bbd50/pydantic_core-2.33.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6e966fc3caaf9f1d96b349b0341c70c8d6573bf1bac7261f7b0ba88f96c56c24", size = 2044224, upload_time = "2025-04-02T09:47:04.199Z" },
- { url = "https://files.pythonhosted.org/packages/a8/65/6ab3a536776cad5343f625245bd38165d6663256ad43f3a200e5936afd6c/pydantic_core-2.33.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bfd0adeee563d59c598ceabddf2c92eec77abcb3f4a391b19aa7366170bd9e30", size = 1858845, upload_time = "2025-04-02T09:47:05.686Z" },
- { url = "https://files.pythonhosted.org/packages/e9/15/9a22fd26ba5ee8c669d4b8c9c244238e940cd5d818649603ca81d1c69861/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91815221101ad3c6b507804178a7bb5cb7b2ead9ecd600041669c8d805ebd595", size = 1910029, upload_time = "2025-04-02T09:47:07.042Z" },
- { url = "https://files.pythonhosted.org/packages/d5/33/8cb1a62818974045086f55f604044bf35b9342900318f9a2a029a1bec460/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9fea9c1869bb4742d174a57b4700c6dadea951df8b06de40c2fedb4f02931c2e", size = 1997784, upload_time = "2025-04-02T09:47:08.63Z" },
- { url = "https://files.pythonhosted.org/packages/c0/ca/49958e4df7715c71773e1ea5be1c74544923d10319173264e6db122543f9/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d20eb4861329bb2484c021b9d9a977566ab16d84000a57e28061151c62b349a", size = 2141075, upload_time = "2025-04-02T09:47:10.267Z" },
- { url = "https://files.pythonhosted.org/packages/7b/a6/0b3a167a9773c79ba834b959b4e18c3ae9216b8319bd8422792abc8a41b1/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb935c5591573ae3201640579f30128ccc10739b45663f93c06796854405505", size = 2745849, upload_time = "2025-04-02T09:47:11.724Z" },
- { url = "https://files.pythonhosted.org/packages/0b/60/516484135173aa9e5861d7a0663dce82e4746d2e7f803627d8c25dfa5578/pydantic_core-2.33.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c964fd24e6166420d18fb53996d8c9fd6eac9bf5ae3ec3d03015be4414ce497f", size = 2005794, upload_time = "2025-04-02T09:47:13.099Z" },
- { url = "https://files.pythonhosted.org/packages/86/70/05b1eb77459ad47de00cf78ee003016da0cedf8b9170260488d7c21e9181/pydantic_core-2.33.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:681d65e9011f7392db5aa002b7423cc442d6a673c635668c227c6c8d0e5a4f77", size = 2123237, upload_time = "2025-04-02T09:47:14.355Z" },
- { url = "https://files.pythonhosted.org/packages/c7/57/12667a1409c04ae7dc95d3b43158948eb0368e9c790be8b095cb60611459/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e100c52f7355a48413e2999bfb4e139d2977a904495441b374f3d4fb4a170961", size = 2086351, upload_time = "2025-04-02T09:47:15.676Z" },
- { url = "https://files.pythonhosted.org/packages/57/61/cc6d1d1c1664b58fdd6ecc64c84366c34ec9b606aeb66cafab6f4088974c/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:048831bd363490be79acdd3232f74a0e9951b11b2b4cc058aeb72b22fdc3abe1", size = 2258914, upload_time = "2025-04-02T09:47:17Z" },
- { url = "https://files.pythonhosted.org/packages/d1/0a/edb137176a1f5419b2ddee8bde6a0a548cfa3c74f657f63e56232df8de88/pydantic_core-2.33.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:bdc84017d28459c00db6f918a7272a5190bec3090058334e43a76afb279eac7c", size = 2257385, upload_time = "2025-04-02T09:47:18.631Z" },
- { url = "https://files.pythonhosted.org/packages/26/3c/48ca982d50e4b0e1d9954919c887bdc1c2b462801bf408613ccc641b3daa/pydantic_core-2.33.1-cp311-cp311-win32.whl", hash = "sha256:32cd11c5914d1179df70406427097c7dcde19fddf1418c787540f4b730289896", size = 1923765, upload_time = "2025-04-02T09:47:20.34Z" },
- { url = "https://files.pythonhosted.org/packages/33/cd/7ab70b99e5e21559f5de38a0928ea84e6f23fdef2b0d16a6feaf942b003c/pydantic_core-2.33.1-cp311-cp311-win_amd64.whl", hash = "sha256:2ea62419ba8c397e7da28a9170a16219d310d2cf4970dbc65c32faf20d828c83", size = 1950688, upload_time = "2025-04-02T09:47:22.029Z" },
- { url = "https://files.pythonhosted.org/packages/4b/ae/db1fc237b82e2cacd379f63e3335748ab88b5adde98bf7544a1b1bd10a84/pydantic_core-2.33.1-cp311-cp311-win_arm64.whl", hash = "sha256:fc903512177361e868bc1f5b80ac8c8a6e05fcdd574a5fb5ffeac5a9982b9e89", size = 1908185, upload_time = "2025-04-02T09:47:23.385Z" },
- { url = "https://files.pythonhosted.org/packages/c8/ce/3cb22b07c29938f97ff5f5bb27521f95e2ebec399b882392deb68d6c440e/pydantic_core-2.33.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1293d7febb995e9d3ec3ea09caf1a26214eec45b0f29f6074abb004723fc1de8", size = 2026640, upload_time = "2025-04-02T09:47:25.394Z" },
- { url = "https://files.pythonhosted.org/packages/19/78/f381d643b12378fee782a72126ec5d793081ef03791c28a0fd542a5bee64/pydantic_core-2.33.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99b56acd433386c8f20be5c4000786d1e7ca0523c8eefc995d14d79c7a081498", size = 1852649, upload_time = "2025-04-02T09:47:27.417Z" },
- { url = "https://files.pythonhosted.org/packages/9d/2b/98a37b80b15aac9eb2c6cfc6dbd35e5058a352891c5cce3a8472d77665a6/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35a5ec3fa8c2fe6c53e1b2ccc2454398f95d5393ab398478f53e1afbbeb4d939", size = 1892472, upload_time = "2025-04-02T09:47:29.006Z" },
- { url = "https://files.pythonhosted.org/packages/4e/d4/3c59514e0f55a161004792b9ff3039da52448f43f5834f905abef9db6e4a/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b172f7b9d2f3abc0efd12e3386f7e48b576ef309544ac3a63e5e9cdd2e24585d", size = 1977509, upload_time = "2025-04-02T09:47:33.464Z" },
- { url = "https://files.pythonhosted.org/packages/a9/b6/c2c7946ef70576f79a25db59a576bce088bdc5952d1b93c9789b091df716/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9097b9f17f91eea659b9ec58148c0747ec354a42f7389b9d50701610d86f812e", size = 2128702, upload_time = "2025-04-02T09:47:34.812Z" },
- { url = "https://files.pythonhosted.org/packages/88/fe/65a880f81e3f2a974312b61f82a03d85528f89a010ce21ad92f109d94deb/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc77ec5b7e2118b152b0d886c7514a4653bcb58c6b1d760134a9fab915f777b3", size = 2679428, upload_time = "2025-04-02T09:47:37.315Z" },
- { url = "https://files.pythonhosted.org/packages/6f/ff/4459e4146afd0462fb483bb98aa2436d69c484737feaceba1341615fb0ac/pydantic_core-2.33.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3d15245b08fa4a84cefc6c9222e6f37c98111c8679fbd94aa145f9a0ae23d", size = 2008753, upload_time = "2025-04-02T09:47:39.013Z" },
- { url = "https://files.pythonhosted.org/packages/7c/76/1c42e384e8d78452ededac8b583fe2550c84abfef83a0552e0e7478ccbc3/pydantic_core-2.33.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef99779001d7ac2e2461d8ab55d3373fe7315caefdbecd8ced75304ae5a6fc6b", size = 2114849, upload_time = "2025-04-02T09:47:40.427Z" },
- { url = "https://files.pythonhosted.org/packages/00/72/7d0cf05095c15f7ffe0eb78914b166d591c0eed72f294da68378da205101/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:fc6bf8869e193855e8d91d91f6bf59699a5cdfaa47a404e278e776dd7f168b39", size = 2069541, upload_time = "2025-04-02T09:47:42.01Z" },
- { url = "https://files.pythonhosted.org/packages/b3/69/94a514066bb7d8be499aa764926937409d2389c09be0b5107a970286ef81/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:b1caa0bc2741b043db7823843e1bde8aaa58a55a58fda06083b0569f8b45693a", size = 2239225, upload_time = "2025-04-02T09:47:43.425Z" },
- { url = "https://files.pythonhosted.org/packages/84/b0/e390071eadb44b41f4f54c3cef64d8bf5f9612c92686c9299eaa09e267e2/pydantic_core-2.33.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ec259f62538e8bf364903a7d0d0239447059f9434b284f5536e8402b7dd198db", size = 2248373, upload_time = "2025-04-02T09:47:44.979Z" },
- { url = "https://files.pythonhosted.org/packages/d6/b2/288b3579ffc07e92af66e2f1a11be3b056fe1214aab314748461f21a31c3/pydantic_core-2.33.1-cp312-cp312-win32.whl", hash = "sha256:e14f369c98a7c15772b9da98987f58e2b509a93235582838bd0d1d8c08b68fda", size = 1907034, upload_time = "2025-04-02T09:47:46.843Z" },
- { url = "https://files.pythonhosted.org/packages/02/28/58442ad1c22b5b6742b992ba9518420235adced665513868f99a1c2638a5/pydantic_core-2.33.1-cp312-cp312-win_amd64.whl", hash = "sha256:1c607801d85e2e123357b3893f82c97a42856192997b95b4d8325deb1cd0c5f4", size = 1956848, upload_time = "2025-04-02T09:47:48.404Z" },
- { url = "https://files.pythonhosted.org/packages/a1/eb/f54809b51c7e2a1d9f439f158b8dd94359321abcc98767e16fc48ae5a77e/pydantic_core-2.33.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d13f0276806ee722e70a1c93da19748594f19ac4299c7e41237fc791d1861ea", size = 1903986, upload_time = "2025-04-02T09:47:49.839Z" },
- { url = "https://files.pythonhosted.org/packages/7a/24/eed3466a4308d79155f1cdd5c7432c80ddcc4530ba8623b79d5ced021641/pydantic_core-2.33.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70af6a21237b53d1fe7b9325b20e65cbf2f0a848cf77bed492b029139701e66a", size = 2033551, upload_time = "2025-04-02T09:47:51.648Z" },
- { url = "https://files.pythonhosted.org/packages/ab/14/df54b1a0bc9b6ded9b758b73139d2c11b4e8eb43e8ab9c5847c0a2913ada/pydantic_core-2.33.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:282b3fe1bbbe5ae35224a0dbd05aed9ccabccd241e8e6b60370484234b456266", size = 1852785, upload_time = "2025-04-02T09:47:53.149Z" },
- { url = "https://files.pythonhosted.org/packages/fa/96/e275f15ff3d34bb04b0125d9bc8848bf69f25d784d92a63676112451bfb9/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b315e596282bbb5822d0c7ee9d255595bd7506d1cb20c2911a4da0b970187d3", size = 1897758, upload_time = "2025-04-02T09:47:55.006Z" },
- { url = "https://files.pythonhosted.org/packages/b7/d8/96bc536e975b69e3a924b507d2a19aedbf50b24e08c80fb00e35f9baaed8/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1dfae24cf9921875ca0ca6a8ecb4bb2f13c855794ed0d468d6abbec6e6dcd44a", size = 1986109, upload_time = "2025-04-02T09:47:56.532Z" },
- { url = "https://files.pythonhosted.org/packages/90/72/ab58e43ce7e900b88cb571ed057b2fcd0e95b708a2e0bed475b10130393e/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dd8ecfde08d8bfadaea669e83c63939af76f4cf5538a72597016edfa3fad516", size = 2129159, upload_time = "2025-04-02T09:47:58.088Z" },
- { url = "https://files.pythonhosted.org/packages/dc/3f/52d85781406886c6870ac995ec0ba7ccc028b530b0798c9080531b409fdb/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f593494876eae852dc98c43c6f260f45abdbfeec9e4324e31a481d948214764", size = 2680222, upload_time = "2025-04-02T09:47:59.591Z" },
- { url = "https://files.pythonhosted.org/packages/f4/56/6e2ef42f363a0eec0fd92f74a91e0ac48cd2e49b695aac1509ad81eee86a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:948b73114f47fd7016088e5186d13faf5e1b2fe83f5e320e371f035557fd264d", size = 2006980, upload_time = "2025-04-02T09:48:01.397Z" },
- { url = "https://files.pythonhosted.org/packages/4c/c0/604536c4379cc78359f9ee0aa319f4aedf6b652ec2854953f5a14fc38c5a/pydantic_core-2.33.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e11f3864eb516af21b01e25fac915a82e9ddad3bb0fb9e95a246067398b435a4", size = 2120840, upload_time = "2025-04-02T09:48:03.056Z" },
- { url = "https://files.pythonhosted.org/packages/1f/46/9eb764814f508f0edfb291a0f75d10854d78113fa13900ce13729aaec3ae/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:549150be302428b56fdad0c23c2741dcdb5572413776826c965619a25d9c6bde", size = 2072518, upload_time = "2025-04-02T09:48:04.662Z" },
- { url = "https://files.pythonhosted.org/packages/42/e3/fb6b2a732b82d1666fa6bf53e3627867ea3131c5f39f98ce92141e3e3dc1/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:495bc156026efafd9ef2d82372bd38afce78ddd82bf28ef5276c469e57c0c83e", size = 2248025, upload_time = "2025-04-02T09:48:06.226Z" },
- { url = "https://files.pythonhosted.org/packages/5c/9d/fbe8fe9d1aa4dac88723f10a921bc7418bd3378a567cb5e21193a3c48b43/pydantic_core-2.33.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ec79de2a8680b1a67a07490bddf9636d5c2fab609ba8c57597e855fa5fa4dacd", size = 2254991, upload_time = "2025-04-02T09:48:08.114Z" },
- { url = "https://files.pythonhosted.org/packages/aa/99/07e2237b8a66438d9b26482332cda99a9acccb58d284af7bc7c946a42fd3/pydantic_core-2.33.1-cp313-cp313-win32.whl", hash = "sha256:ee12a7be1742f81b8a65b36c6921022301d466b82d80315d215c4c691724986f", size = 1915262, upload_time = "2025-04-02T09:48:09.708Z" },
- { url = "https://files.pythonhosted.org/packages/8a/f4/e457a7849beeed1e5defbcf5051c6f7b3c91a0624dd31543a64fc9adcf52/pydantic_core-2.33.1-cp313-cp313-win_amd64.whl", hash = "sha256:ede9b407e39949d2afc46385ce6bd6e11588660c26f80576c11c958e6647bc40", size = 1956626, upload_time = "2025-04-02T09:48:11.288Z" },
- { url = "https://files.pythonhosted.org/packages/20/d0/e8d567a7cff7b04e017ae164d98011f1e1894269fe8e90ea187a3cbfb562/pydantic_core-2.33.1-cp313-cp313-win_arm64.whl", hash = "sha256:aa687a23d4b7871a00e03ca96a09cad0f28f443690d300500603bd0adba4b523", size = 1909590, upload_time = "2025-04-02T09:48:12.861Z" },
- { url = "https://files.pythonhosted.org/packages/ef/fd/24ea4302d7a527d672c5be06e17df16aabfb4e9fdc6e0b345c21580f3d2a/pydantic_core-2.33.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:401d7b76e1000d0dd5538e6381d28febdcacb097c8d340dde7d7fc6e13e9f95d", size = 1812963, upload_time = "2025-04-02T09:48:14.553Z" },
- { url = "https://files.pythonhosted.org/packages/5f/95/4fbc2ecdeb5c1c53f1175a32d870250194eb2fdf6291b795ab08c8646d5d/pydantic_core-2.33.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7aeb055a42d734c0255c9e489ac67e75397d59c6fbe60d155851e9782f276a9c", size = 1986896, upload_time = "2025-04-02T09:48:16.222Z" },
- { url = "https://files.pythonhosted.org/packages/71/ae/fe31e7f4a62431222d8f65a3bd02e3fa7e6026d154a00818e6d30520ea77/pydantic_core-2.33.1-cp313-cp313t-win_amd64.whl", hash = "sha256:338ea9b73e6e109f15ab439e62cb3b78aa752c7fd9536794112e14bee02c8d18", size = 1931810, upload_time = "2025-04-02T09:48:17.97Z" },
- { url = "https://files.pythonhosted.org/packages/9c/c7/8b311d5adb0fe00a93ee9b4e92a02b0ec08510e9838885ef781ccbb20604/pydantic_core-2.33.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c834f54f8f4640fd7e4b193f80eb25a0602bba9e19b3cd2fc7ffe8199f5ae02", size = 2041659, upload_time = "2025-04-02T09:48:45.342Z" },
- { url = "https://files.pythonhosted.org/packages/8a/d6/4f58d32066a9e26530daaf9adc6664b01875ae0691570094968aaa7b8fcc/pydantic_core-2.33.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:049e0de24cf23766f12cc5cc71d8abc07d4a9deb9061b334b62093dedc7cb068", size = 1873294, upload_time = "2025-04-02T09:48:47.548Z" },
- { url = "https://files.pythonhosted.org/packages/f7/3f/53cc9c45d9229da427909c751f8ed2bf422414f7664ea4dde2d004f596ba/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a28239037b3d6f16916a4c831a5a0eadf856bdd6d2e92c10a0da3a59eadcf3e", size = 1903771, upload_time = "2025-04-02T09:48:49.468Z" },
- { url = "https://files.pythonhosted.org/packages/f0/49/bf0783279ce674eb9903fb9ae43f6c614cb2f1c4951370258823f795368b/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d3da303ab5f378a268fa7d45f37d7d85c3ec19769f28d2cc0c61826a8de21fe", size = 2083558, upload_time = "2025-04-02T09:48:51.409Z" },
- { url = "https://files.pythonhosted.org/packages/9c/5b/0d998367687f986c7d8484a2c476d30f07bf5b8b1477649a6092bd4c540e/pydantic_core-2.33.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:25626fb37b3c543818c14821afe0fd3830bc327a43953bc88db924b68c5723f1", size = 2118038, upload_time = "2025-04-02T09:48:53.702Z" },
- { url = "https://files.pythonhosted.org/packages/b3/33/039287d410230ee125daee57373ac01940d3030d18dba1c29cd3089dc3ca/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3ab2d36e20fbfcce8f02d73c33a8a7362980cff717926bbae030b93ae46b56c7", size = 2079315, upload_time = "2025-04-02T09:48:55.555Z" },
- { url = "https://files.pythonhosted.org/packages/1f/85/6d8b2646d99c062d7da2d0ab2faeb0d6ca9cca4c02da6076376042a20da3/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:2f9284e11c751b003fd4215ad92d325d92c9cb19ee6729ebd87e3250072cdcde", size = 2249063, upload_time = "2025-04-02T09:48:57.479Z" },
- { url = "https://files.pythonhosted.org/packages/17/d7/c37d208d5738f7b9ad8f22ae8a727d88ebf9c16c04ed2475122cc3f7224a/pydantic_core-2.33.1-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:048c01eee07d37cbd066fc512b9d8b5ea88ceeb4e629ab94b3e56965ad655add", size = 2254631, upload_time = "2025-04-02T09:48:59.581Z" },
- { url = "https://files.pythonhosted.org/packages/13/e0/bafa46476d328e4553b85ab9b2f7409e7aaef0ce4c937c894821c542d347/pydantic_core-2.33.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5ccd429694cf26af7997595d627dd2637e7932214486f55b8a357edaac9dae8c", size = 2080877, upload_time = "2025-04-02T09:49:01.52Z" },
- { url = "https://files.pythonhosted.org/packages/0b/76/1794e440c1801ed35415238d2c728f26cd12695df9057154ad768b7b991c/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:3a371dc00282c4b84246509a5ddc808e61b9864aa1eae9ecc92bb1268b82db4a", size = 2042858, upload_time = "2025-04-02T09:49:03.419Z" },
- { url = "https://files.pythonhosted.org/packages/73/b4/9cd7b081fb0b1b4f8150507cd59d27b275c3e22ad60b35cb19ea0977d9b9/pydantic_core-2.33.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:f59295ecc75a1788af8ba92f2e8c6eeaa5a94c22fc4d151e8d9638814f85c8fc", size = 1873745, upload_time = "2025-04-02T09:49:05.391Z" },
- { url = "https://files.pythonhosted.org/packages/e1/d7/9ddb7575d4321e40d0363903c2576c8c0c3280ebea137777e5ab58d723e3/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08530b8ac922003033f399128505f513e30ca770527cc8bbacf75a84fcc2c74b", size = 1904188, upload_time = "2025-04-02T09:49:07.352Z" },
- { url = "https://files.pythonhosted.org/packages/d1/a8/3194ccfe461bb08da19377ebec8cb4f13c9bd82e13baebc53c5c7c39a029/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bae370459da6a5466978c0eacf90690cb57ec9d533f8e63e564ef3822bfa04fe", size = 2083479, upload_time = "2025-04-02T09:49:09.304Z" },
- { url = "https://files.pythonhosted.org/packages/42/c7/84cb569555d7179ca0b3f838cef08f66f7089b54432f5b8599aac6e9533e/pydantic_core-2.33.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e3de2777e3b9f4d603112f78006f4ae0acb936e95f06da6cb1a45fbad6bdb4b5", size = 2118415, upload_time = "2025-04-02T09:49:11.25Z" },
- { url = "https://files.pythonhosted.org/packages/3b/67/72abb8c73e0837716afbb58a59cc9e3ae43d1aa8677f3b4bc72c16142716/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a64e81e8cba118e108d7126362ea30e021291b7805d47e4896e52c791be2761", size = 2079623, upload_time = "2025-04-02T09:49:13.292Z" },
- { url = "https://files.pythonhosted.org/packages/0b/cd/c59707e35a47ba4cbbf153c3f7c56420c58653b5801b055dc52cccc8e2dc/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:52928d8c1b6bda03cc6d811e8923dffc87a2d3c8b3bfd2ce16471c7147a24850", size = 2250175, upload_time = "2025-04-02T09:49:15.597Z" },
- { url = "https://files.pythonhosted.org/packages/84/32/e4325a6676b0bed32d5b084566ec86ed7fd1e9bcbfc49c578b1755bde920/pydantic_core-2.33.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:1b30d92c9412beb5ac6b10a3eb7ef92ccb14e3f2a8d7732e2d739f58b3aa7544", size = 2254674, upload_time = "2025-04-02T09:49:17.61Z" },
- { url = "https://files.pythonhosted.org/packages/12/6f/5596dc418f2e292ffc661d21931ab34591952e2843e7168ea5a52591f6ff/pydantic_core-2.33.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:f995719707e0e29f0f41a8aa3bcea6e761a36c9136104d3189eafb83f5cec5e5", size = 2080951, upload_time = "2025-04-02T09:49:19.559Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" },
+ { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" },
+ { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" },
+ { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" },
+ { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" },
+ { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" },
+ { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" },
+ { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" },
+ { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" },
+ { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" },
+ { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" },
+ { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" },
+ { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" },
+ { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" },
+ { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" },
+ { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" },
+ { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" },
+ { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" },
+ { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" },
+ { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" },
+ { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" },
+ { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" },
+ { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" },
+ { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" },
+ { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" },
+ { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" },
+ { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" },
+ { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" },
]
[[package]]
@@ -1924,36 +1928,36 @@ dependencies = [
{ name = "python-dotenv" },
{ name = "typing-inspection" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload_time = "2025-04-18T16:44:48.265Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload-time = "2025-04-18T16:44:48.265Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload_time = "2025-04-18T16:44:46.617Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload-time = "2025-04-18T16:44:46.617Z" },
]
[[package]]
name = "pygments"
version = "2.17.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/55/59/8bccf4157baf25e4aa5a0bb7fa3ba8600907de105ebc22b0c78cfbf6f565/pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367", size = 4827772, upload_time = "2023-11-21T20:43:53.875Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/55/59/8bccf4157baf25e4aa5a0bb7fa3ba8600907de105ebc22b0c78cfbf6f565/pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367", size = 4827772, upload-time = "2023-11-21T20:43:53.875Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/97/9c/372fef8377a6e340b1704768d20daaded98bf13282b5327beb2e2fe2c7ef/pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c", size = 1179756, upload_time = "2023-11-21T20:43:49.423Z" },
+ { url = "https://files.pythonhosted.org/packages/97/9c/372fef8377a6e340b1704768d20daaded98bf13282b5327beb2e2fe2c7ef/pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c", size = 1179756, upload-time = "2023-11-21T20:43:49.423Z" },
]
[[package]]
name = "pyparsing"
version = "3.1.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/37/fe/65c989f70bd630b589adfbbcd6ed238af22319e90f059946c26b4835e44b/pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db", size = 884814, upload_time = "2023-07-30T15:07:02.617Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/37/fe/65c989f70bd630b589adfbbcd6ed238af22319e90f059946c26b4835e44b/pyparsing-3.1.1.tar.gz", hash = "sha256:ede28a1a32462f5a9705e07aea48001a08f7cf81a021585011deba701581a0db", size = 884814, upload-time = "2023-07-30T15:07:02.617Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb", size = 103139, upload_time = "2023-07-30T15:06:59.829Z" },
+ { url = "https://files.pythonhosted.org/packages/39/92/8486ede85fcc088f1b3dba4ce92dd29d126fd96b0008ea213167940a2475/pyparsing-3.1.1-py3-none-any.whl", hash = "sha256:32c7c0b711493c72ff18a981d24f28aaf9c1fb7ed5e9667c9e84e3db623bdbfb", size = 103139, upload-time = "2023-07-30T15:06:59.829Z" },
]
[[package]]
name = "pyreadline3"
version = "3.4.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d7/86/3d61a61f36a0067874a00cb4dceb9028d34b6060e47828f7fc86fb9f7ee9/pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae", size = 86465, upload_time = "2022-01-24T20:05:11.66Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/d7/86/3d61a61f36a0067874a00cb4dceb9028d34b6060e47828f7fc86fb9f7ee9/pyreadline3-3.4.1.tar.gz", hash = "sha256:6f3d1f7b8a31ba32b73917cefc1f28cc660562f39aea8646d30bd6eff21f7bae", size = 86465, upload-time = "2022-01-24T20:05:11.66Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/56/fc/a3c13ded7b3057680c8ae95a9b6cc83e63657c38e0005c400a5d018a33a7/pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb", size = 95203, upload_time = "2022-01-24T20:05:10.442Z" },
+ { url = "https://files.pythonhosted.org/packages/56/fc/a3c13ded7b3057680c8ae95a9b6cc83e63657c38e0005c400a5d018a33a7/pyreadline3-3.4.1-py3-none-any.whl", hash = "sha256:b0efb6516fd4fb07b45949053826a62fa4cb353db5be2bbb4a7aa1fdd1e345fb", size = 95203, upload-time = "2022-01-24T20:05:10.442Z" },
]
[[package]]
@@ -1968,9 +1972,9 @@ dependencies = [
{ name = "pluggy" },
{ name = "tomli", marker = "python_full_version < '3.11'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload_time = "2025-03-02T12:54:54.503Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload_time = "2025-03-02T12:54:52.069Z" },
+ { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" },
]
[[package]]
@@ -1980,9 +1984,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pytest" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/8e/c4/453c52c659521066969523e87d85d54139bbd17b78f09532fb8eb8cdb58e/pytest_asyncio-0.26.0.tar.gz", hash = "sha256:c4df2a697648241ff39e7f0e4a73050b03f123f760673956cf0d72a4990e312f", size = 54156, upload_time = "2025-03-25T06:22:28.883Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/8e/c4/453c52c659521066969523e87d85d54139bbd17b78f09532fb8eb8cdb58e/pytest_asyncio-0.26.0.tar.gz", hash = "sha256:c4df2a697648241ff39e7f0e4a73050b03f123f760673956cf0d72a4990e312f", size = 54156, upload-time = "2025-03-25T06:22:28.883Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/20/7f/338843f449ace853647ace35870874f69a764d251872ed1b4de9f234822c/pytest_asyncio-0.26.0-py3-none-any.whl", hash = "sha256:7b51ed894f4fbea1340262bdae5135797ebbe21d8638978e35d31c6d19f72fb0", size = 19694, upload_time = "2025-03-25T06:22:27.807Z" },
+ { url = "https://files.pythonhosted.org/packages/20/7f/338843f449ace853647ace35870874f69a764d251872ed1b4de9f234822c/pytest_asyncio-0.26.0-py3-none-any.whl", hash = "sha256:7b51ed894f4fbea1340262bdae5135797ebbe21d8638978e35d31c6d19f72fb0", size = 19694, upload-time = "2025-03-25T06:22:27.807Z" },
]
[[package]]
@@ -1993,9 +1997,9 @@ dependencies = [
{ name = "coverage", extra = ["toml"] },
{ name = "pytest" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/25/69/5f1e57f6c5a39f81411b550027bf72842c4567ff5fd572bed1edc9e4b5d9/pytest_cov-6.1.1.tar.gz", hash = "sha256:46935f7aaefba760e716c2ebfbe1c216240b9592966e7da99ea8292d4d3e2a0a", size = 66857, upload_time = "2025-04-05T14:07:51.592Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/25/69/5f1e57f6c5a39f81411b550027bf72842c4567ff5fd572bed1edc9e4b5d9/pytest_cov-6.1.1.tar.gz", hash = "sha256:46935f7aaefba760e716c2ebfbe1c216240b9592966e7da99ea8292d4d3e2a0a", size = 66857, upload-time = "2025-04-05T14:07:51.592Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/28/d0/def53b4a790cfb21483016430ed828f64830dd981ebe1089971cd10cab25/pytest_cov-6.1.1-py3-none-any.whl", hash = "sha256:bddf29ed2d0ab6f4df17b4c55b0a657287db8684af9c42ea546b21b1041b3dde", size = 23841, upload_time = "2025-04-05T14:07:49.641Z" },
+ { url = "https://files.pythonhosted.org/packages/28/d0/def53b4a790cfb21483016430ed828f64830dd981ebe1089971cd10cab25/pytest_cov-6.1.1-py3-none-any.whl", hash = "sha256:bddf29ed2d0ab6f4df17b4c55b0a657287db8684af9c42ea546b21b1041b3dde", size = 23841, upload-time = "2025-04-05T14:07:49.641Z" },
]
[[package]]
@@ -2005,9 +2009,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pytest" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/c6/90/a955c3ab35ccd41ad4de556596fa86685bf4fc5ffcc62d22d856cfd4e29a/pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0", size = 32814, upload_time = "2024-03-21T22:14:04.964Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c6/90/a955c3ab35ccd41ad4de556596fa86685bf4fc5ffcc62d22d856cfd4e29a/pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0", size = 32814, upload-time = "2024-03-21T22:14:04.964Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", size = 9863, upload_time = "2024-03-21T22:14:02.694Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", size = 9863, upload-time = "2024-03-21T22:14:02.694Z" },
]
[[package]]
@@ -2017,18 +2021,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "six" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/4c/c4/13b4776ea2d76c115c1d1b84579f3764ee6d57204f6be27119f13a61d0a9/python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", size = 357324, upload_time = "2021-07-14T08:19:19.783Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/4c/c4/13b4776ea2d76c115c1d1b84579f3764ee6d57204f6be27119f13a61d0a9/python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", size = 357324, upload-time = "2021-07-14T08:19:19.783Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9", size = 247702, upload_time = "2021-07-14T08:19:18.161Z" },
+ { url = "https://files.pythonhosted.org/packages/36/7a/87837f39d0296e723bb9b62bbb257d0355c7f6128853c78955f57342a56d/python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9", size = 247702, upload-time = "2021-07-14T08:19:18.161Z" },
]
[[package]]
name = "python-dotenv"
version = "1.0.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/31/06/1ef763af20d0572c032fa22882cfbfb005fba6e7300715a37840858c919e/python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba", size = 37399, upload_time = "2023-02-24T06:46:37.282Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/31/06/1ef763af20d0572c032fa22882cfbfb005fba6e7300715a37840858c919e/python-dotenv-1.0.0.tar.gz", hash = "sha256:a8df96034aae6d2d50a4ebe8216326c61c3eb64836776504fcca410e5937a3ba", size = 37399, upload-time = "2023-02-24T06:46:37.282Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/44/2f/62ea1c8b593f4e093cc1a7768f0d46112107e790c3e478532329e434f00b/python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a", size = 19482, upload_time = "2023-02-24T06:46:36.009Z" },
+ { url = "https://files.pythonhosted.org/packages/44/2f/62ea1c8b593f4e093cc1a7768f0d46112107e790c3e478532329e434f00b/python_dotenv-1.0.0-py3-none-any.whl", hash = "sha256:f5971a9226b701070a4bf2c38c89e5a3f0d64de8debda981d1db98583009122a", size = 19482, upload-time = "2023-02-24T06:46:36.009Z" },
]
[[package]]
@@ -2038,18 +2042,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "simple-websocket" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/f7/e1/eee1129544b7f78fa2afa9fa0fce153cdcb21015b9b331d1b8adf90f45cb/python_engineio-4.12.0.tar.gz", hash = "sha256:f42a36a868d7063aa10ddccf6bd6117a169b6bd00d7ca53999772093b62014f9", size = 91503, upload_time = "2025-04-12T15:30:23.905Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/f7/e1/eee1129544b7f78fa2afa9fa0fce153cdcb21015b9b331d1b8adf90f45cb/python_engineio-4.12.0.tar.gz", hash = "sha256:f42a36a868d7063aa10ddccf6bd6117a169b6bd00d7ca53999772093b62014f9", size = 91503, upload-time = "2025-04-12T15:30:23.905Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/2b/f7/0aeea75424c47633c1d98557a2323be23bed31fa950f00161b34a5150d06/python_engineio-4.12.0-py3-none-any.whl", hash = "sha256:a0c47c129c39777e8ebc6d18011efd50db2144e4e8f08983acae8a3614626535", size = 59319, upload_time = "2025-04-12T15:30:22.325Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/f7/0aeea75424c47633c1d98557a2323be23bed31fa950f00161b34a5150d06/python_engineio-4.12.0-py3-none-any.whl", hash = "sha256:a0c47c129c39777e8ebc6d18011efd50db2144e4e8f08983acae8a3614626535", size = 59319, upload-time = "2025-04-12T15:30:22.325Z" },
]
[[package]]
name = "python-multipart"
version = "0.0.20"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158, upload_time = "2024-12-16T19:45:46.972Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158, upload-time = "2024-12-16T19:45:46.972Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546, upload_time = "2024-12-16T19:45:44.423Z" },
+ { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546, upload-time = "2024-12-16T19:45:44.423Z" },
]
[[package]]
@@ -2060,9 +2064,9 @@ dependencies = [
{ name = "bidict" },
{ name = "python-engineio" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/21/1a/396d50ccf06ee539fa758ce5623b59a9cb27637fc4b2dc07ed08bf495e77/python_socketio-5.13.0.tar.gz", hash = "sha256:ac4e19a0302ae812e23b712ec8b6427ca0521f7c582d6abb096e36e24a263029", size = 121125, upload_time = "2025-04-12T15:46:59.933Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/21/1a/396d50ccf06ee539fa758ce5623b59a9cb27637fc4b2dc07ed08bf495e77/python_socketio-5.13.0.tar.gz", hash = "sha256:ac4e19a0302ae812e23b712ec8b6427ca0521f7c582d6abb096e36e24a263029", size = 121125, upload-time = "2025-04-12T15:46:59.933Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/3c/32/b4fb8585d1be0f68bde7e110dffbcf354915f77ad8c778563f0ad9655c02/python_socketio-5.13.0-py3-none-any.whl", hash = "sha256:51f68d6499f2df8524668c24bcec13ba1414117cfb3a90115c559b601ab10caf", size = 77800, upload_time = "2025-04-12T15:46:58.412Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/32/b4fb8585d1be0f68bde7e110dffbcf354915f77ad8c778563f0ad9655c02/python_socketio-5.13.0-py3-none-any.whl", hash = "sha256:51f68d6499f2df8524668c24bcec13ba1414117cfb3a90115c559b601ab10caf", size = 77800, upload-time = "2025-04-12T15:46:58.412Z" },
]
[package.optional-dependencies]
@@ -2076,45 +2080,45 @@ name = "pywin32"
version = "306"
source = { registry = "https://pypi.org/simple" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/08/dc/28c668097edfaf4eac4617ef7adf081b9cf50d254672fcf399a70f5efc41/pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d", size = 8506422, upload_time = "2023-03-26T03:27:46.303Z" },
- { url = "https://files.pythonhosted.org/packages/d3/d6/891894edec688e72c2e308b3243fad98b4066e1839fd2fe78f04129a9d31/pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8", size = 9226392, upload_time = "2023-03-26T03:27:53.591Z" },
- { url = "https://files.pythonhosted.org/packages/8b/1e/fc18ad83ca553e01b97aa8393ff10e33c1fb57801db05488b83282ee9913/pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407", size = 8507689, upload_time = "2023-03-25T23:50:08.499Z" },
- { url = "https://files.pythonhosted.org/packages/7e/9e/ad6b1ae2a5ad1066dc509350e0fbf74d8d50251a51e420a2a8feaa0cecbd/pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e", size = 9227547, upload_time = "2023-03-25T23:50:20.331Z" },
- { url = "https://files.pythonhosted.org/packages/91/20/f744bff1da8f43388498503634378dbbefbe493e65675f2cc52f7185c2c2/pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a", size = 10388324, upload_time = "2023-03-25T23:50:30.904Z" },
- { url = "https://files.pythonhosted.org/packages/14/91/17e016d5923e178346aabda3dfec6629d1a26efe587d19667542105cf0a6/pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b", size = 8507705, upload_time = "2023-03-25T23:50:40.279Z" },
- { url = "https://files.pythonhosted.org/packages/83/1c/25b79fc3ec99b19b0a0730cc47356f7e2959863bf9f3cd314332bddb4f68/pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e", size = 9227429, upload_time = "2023-03-25T23:50:50.222Z" },
- { url = "https://files.pythonhosted.org/packages/1c/43/e3444dc9a12f8365d9603c2145d16bf0a2f8180f343cf87be47f5579e547/pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040", size = 10388145, upload_time = "2023-03-25T23:51:01.401Z" },
+ { url = "https://files.pythonhosted.org/packages/08/dc/28c668097edfaf4eac4617ef7adf081b9cf50d254672fcf399a70f5efc41/pywin32-306-cp310-cp310-win32.whl", hash = "sha256:06d3420a5155ba65f0b72f2699b5bacf3109f36acbe8923765c22938a69dfc8d", size = 8506422, upload-time = "2023-03-26T03:27:46.303Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/d6/891894edec688e72c2e308b3243fad98b4066e1839fd2fe78f04129a9d31/pywin32-306-cp310-cp310-win_amd64.whl", hash = "sha256:84f4471dbca1887ea3803d8848a1616429ac94a4a8d05f4bc9c5dcfd42ca99c8", size = 9226392, upload-time = "2023-03-26T03:27:53.591Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/1e/fc18ad83ca553e01b97aa8393ff10e33c1fb57801db05488b83282ee9913/pywin32-306-cp311-cp311-win32.whl", hash = "sha256:e65028133d15b64d2ed8f06dd9fbc268352478d4f9289e69c190ecd6818b6407", size = 8507689, upload-time = "2023-03-25T23:50:08.499Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/9e/ad6b1ae2a5ad1066dc509350e0fbf74d8d50251a51e420a2a8feaa0cecbd/pywin32-306-cp311-cp311-win_amd64.whl", hash = "sha256:a7639f51c184c0272e93f244eb24dafca9b1855707d94c192d4a0b4c01e1100e", size = 9227547, upload-time = "2023-03-25T23:50:20.331Z" },
+ { url = "https://files.pythonhosted.org/packages/91/20/f744bff1da8f43388498503634378dbbefbe493e65675f2cc52f7185c2c2/pywin32-306-cp311-cp311-win_arm64.whl", hash = "sha256:70dba0c913d19f942a2db25217d9a1b726c278f483a919f1abfed79c9cf64d3a", size = 10388324, upload-time = "2023-03-25T23:50:30.904Z" },
+ { url = "https://files.pythonhosted.org/packages/14/91/17e016d5923e178346aabda3dfec6629d1a26efe587d19667542105cf0a6/pywin32-306-cp312-cp312-win32.whl", hash = "sha256:383229d515657f4e3ed1343da8be101000562bf514591ff383ae940cad65458b", size = 8507705, upload-time = "2023-03-25T23:50:40.279Z" },
+ { url = "https://files.pythonhosted.org/packages/83/1c/25b79fc3ec99b19b0a0730cc47356f7e2959863bf9f3cd314332bddb4f68/pywin32-306-cp312-cp312-win_amd64.whl", hash = "sha256:37257794c1ad39ee9be652da0462dc2e394c8159dfd913a8a4e8eb6fd346da0e", size = 9227429, upload-time = "2023-03-25T23:50:50.222Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/43/e3444dc9a12f8365d9603c2145d16bf0a2f8180f343cf87be47f5579e547/pywin32-306-cp312-cp312-win_arm64.whl", hash = "sha256:5821ec52f6d321aa59e2db7e0a35b997de60c201943557d108af9d4ae1ec7040", size = 10388145, upload-time = "2023-03-25T23:51:01.401Z" },
]
[[package]]
name = "pyyaml"
version = "6.0.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/cd/e5/af35f7ea75cf72f2cd079c95ee16797de7cd71f29ea7c68ae5ce7be1eda0/PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43", size = 125201, upload_time = "2023-07-18T00:00:23.308Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/cd/e5/af35f7ea75cf72f2cd079c95ee16797de7cd71f29ea7c68ae5ce7be1eda0/PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43", size = 125201, upload-time = "2023-07-18T00:00:23.308Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/96/06/4beb652c0fe16834032e54f0956443d4cc797fe645527acee59e7deaa0a2/PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a", size = 189447, upload_time = "2023-07-17T23:57:04.325Z" },
- { url = "https://files.pythonhosted.org/packages/5b/07/10033a403b23405a8fc48975444463d3d10a5c2736b7eb2550b07b367429/PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f", size = 169264, upload_time = "2023-07-17T23:57:07.787Z" },
- { url = "https://files.pythonhosted.org/packages/f1/26/55e4f21db1f72eaef092015d9017c11510e7e6301c62a6cfee91295d13c6/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938", size = 677003, upload_time = "2023-07-17T23:57:13.144Z" },
- { url = "https://files.pythonhosted.org/packages/ba/91/090818dfa62e85181f3ae23dd1e8b7ea7f09684864a900cab72d29c57346/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d", size = 699070, upload_time = "2023-07-17T23:57:19.402Z" },
- { url = "https://files.pythonhosted.org/packages/29/61/bf33c6c85c55bc45a29eee3195848ff2d518d84735eb0e2d8cb42e0d285e/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515", size = 705525, upload_time = "2023-07-17T23:57:25.272Z" },
- { url = "https://files.pythonhosted.org/packages/07/91/45dfd0ef821a7f41d9d0136ea3608bb5b1653e42fd56a7970532cb5c003f/PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290", size = 707514, upload_time = "2023-08-28T18:43:20.945Z" },
- { url = "https://files.pythonhosted.org/packages/b6/a0/b6700da5d49e9fed49dc3243d3771b598dad07abb37cc32e524607f96adc/PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924", size = 130488, upload_time = "2023-07-17T23:57:28.144Z" },
- { url = "https://files.pythonhosted.org/packages/24/97/9b59b43431f98d01806b288532da38099cc6f2fea0f3d712e21e269c0279/PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d", size = 145338, upload_time = "2023-07-17T23:57:31.118Z" },
- { url = "https://files.pythonhosted.org/packages/ec/0d/26fb23e8863e0aeaac0c64e03fd27367ad2ae3f3cccf3798ee98ce160368/PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007", size = 187867, upload_time = "2023-07-17T23:57:34.35Z" },
- { url = "https://files.pythonhosted.org/packages/28/09/55f715ddbf95a054b764b547f617e22f1d5e45d83905660e9a088078fe67/PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab", size = 167530, upload_time = "2023-07-17T23:57:36.975Z" },
- { url = "https://files.pythonhosted.org/packages/5e/94/7d5ee059dfb92ca9e62f4057dcdec9ac08a9e42679644854dc01177f8145/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d", size = 732244, upload_time = "2023-07-17T23:57:43.774Z" },
- { url = "https://files.pythonhosted.org/packages/06/92/e0224aa6ebf9dc54a06a4609da37da40bb08d126f5535d81bff6b417b2ae/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc", size = 752871, upload_time = "2023-07-17T23:57:51.921Z" },
- { url = "https://files.pythonhosted.org/packages/7b/5e/efd033ab7199a0b2044dab3b9f7a4f6670e6a52c089de572e928d2873b06/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673", size = 757729, upload_time = "2023-07-17T23:57:59.865Z" },
- { url = "https://files.pythonhosted.org/packages/03/5c/c4671451b2f1d76ebe352c0945d4cd13500adb5d05f5a51ee296d80152f7/PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b", size = 748528, upload_time = "2023-08-28T18:43:23.207Z" },
- { url = "https://files.pythonhosted.org/packages/73/9c/766e78d1efc0d1fca637a6b62cea1b4510a7fb93617eb805223294fef681/PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741", size = 130286, upload_time = "2023-07-17T23:58:02.964Z" },
- { url = "https://files.pythonhosted.org/packages/b3/34/65bb4b2d7908044963ebf614fe0fdb080773fc7030d7e39c8d3eddcd4257/PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34", size = 144699, upload_time = "2023-07-17T23:58:05.586Z" },
- { url = "https://files.pythonhosted.org/packages/bc/06/1b305bf6aa704343be85444c9d011f626c763abb40c0edc1cad13bfd7f86/PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28", size = 178692, upload_time = "2023-08-28T18:43:24.924Z" },
- { url = "https://files.pythonhosted.org/packages/84/02/404de95ced348b73dd84f70e15a41843d817ff8c1744516bf78358f2ffd2/PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9", size = 165622, upload_time = "2023-08-28T18:43:26.54Z" },
- { url = "https://files.pythonhosted.org/packages/c7/4c/4a2908632fc980da6d918b9de9c1d9d7d7e70b2672b1ad5166ed27841ef7/PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef", size = 696937, upload_time = "2024-01-18T20:40:22.92Z" },
- { url = "https://files.pythonhosted.org/packages/b4/33/720548182ffa8344418126017aa1d4ab4aeec9a2275f04ce3f3573d8ace8/PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0", size = 724969, upload_time = "2023-08-28T18:43:28.56Z" },
- { url = "https://files.pythonhosted.org/packages/4f/78/77b40157b6cb5f2d3d31a3d9b2efd1ba3505371f76730d267e8b32cf4b7f/PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4", size = 712604, upload_time = "2023-08-28T18:43:30.206Z" },
- { url = "https://files.pythonhosted.org/packages/2e/97/3e0e089ee85e840f4b15bfa00e4e63d84a3691ababbfea92d6f820ea6f21/PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54", size = 126098, upload_time = "2023-08-28T18:43:31.835Z" },
- { url = "https://files.pythonhosted.org/packages/2b/9f/fbade56564ad486809c27b322d0f7e6a89c01f6b4fe208402e90d4443a99/PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df", size = 138675, upload_time = "2023-08-28T18:43:33.613Z" },
+ { url = "https://files.pythonhosted.org/packages/96/06/4beb652c0fe16834032e54f0956443d4cc797fe645527acee59e7deaa0a2/PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a", size = 189447, upload-time = "2023-07-17T23:57:04.325Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/07/10033a403b23405a8fc48975444463d3d10a5c2736b7eb2550b07b367429/PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f", size = 169264, upload-time = "2023-07-17T23:57:07.787Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/26/55e4f21db1f72eaef092015d9017c11510e7e6301c62a6cfee91295d13c6/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938", size = 677003, upload-time = "2023-07-17T23:57:13.144Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/91/090818dfa62e85181f3ae23dd1e8b7ea7f09684864a900cab72d29c57346/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d", size = 699070, upload-time = "2023-07-17T23:57:19.402Z" },
+ { url = "https://files.pythonhosted.org/packages/29/61/bf33c6c85c55bc45a29eee3195848ff2d518d84735eb0e2d8cb42e0d285e/PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515", size = 705525, upload-time = "2023-07-17T23:57:25.272Z" },
+ { url = "https://files.pythonhosted.org/packages/07/91/45dfd0ef821a7f41d9d0136ea3608bb5b1653e42fd56a7970532cb5c003f/PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290", size = 707514, upload-time = "2023-08-28T18:43:20.945Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/a0/b6700da5d49e9fed49dc3243d3771b598dad07abb37cc32e524607f96adc/PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924", size = 130488, upload-time = "2023-07-17T23:57:28.144Z" },
+ { url = "https://files.pythonhosted.org/packages/24/97/9b59b43431f98d01806b288532da38099cc6f2fea0f3d712e21e269c0279/PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d", size = 145338, upload-time = "2023-07-17T23:57:31.118Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/0d/26fb23e8863e0aeaac0c64e03fd27367ad2ae3f3cccf3798ee98ce160368/PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007", size = 187867, upload-time = "2023-07-17T23:57:34.35Z" },
+ { url = "https://files.pythonhosted.org/packages/28/09/55f715ddbf95a054b764b547f617e22f1d5e45d83905660e9a088078fe67/PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab", size = 167530, upload-time = "2023-07-17T23:57:36.975Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/94/7d5ee059dfb92ca9e62f4057dcdec9ac08a9e42679644854dc01177f8145/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d", size = 732244, upload-time = "2023-07-17T23:57:43.774Z" },
+ { url = "https://files.pythonhosted.org/packages/06/92/e0224aa6ebf9dc54a06a4609da37da40bb08d126f5535d81bff6b417b2ae/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc", size = 752871, upload-time = "2023-07-17T23:57:51.921Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/5e/efd033ab7199a0b2044dab3b9f7a4f6670e6a52c089de572e928d2873b06/PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673", size = 757729, upload-time = "2023-07-17T23:57:59.865Z" },
+ { url = "https://files.pythonhosted.org/packages/03/5c/c4671451b2f1d76ebe352c0945d4cd13500adb5d05f5a51ee296d80152f7/PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b", size = 748528, upload-time = "2023-08-28T18:43:23.207Z" },
+ { url = "https://files.pythonhosted.org/packages/73/9c/766e78d1efc0d1fca637a6b62cea1b4510a7fb93617eb805223294fef681/PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741", size = 130286, upload-time = "2023-07-17T23:58:02.964Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/34/65bb4b2d7908044963ebf614fe0fdb080773fc7030d7e39c8d3eddcd4257/PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34", size = 144699, upload-time = "2023-07-17T23:58:05.586Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/06/1b305bf6aa704343be85444c9d011f626c763abb40c0edc1cad13bfd7f86/PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28", size = 178692, upload-time = "2023-08-28T18:43:24.924Z" },
+ { url = "https://files.pythonhosted.org/packages/84/02/404de95ced348b73dd84f70e15a41843d817ff8c1744516bf78358f2ffd2/PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9", size = 165622, upload-time = "2023-08-28T18:43:26.54Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/4c/4a2908632fc980da6d918b9de9c1d9d7d7e70b2672b1ad5166ed27841ef7/PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef", size = 696937, upload-time = "2024-01-18T20:40:22.92Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/33/720548182ffa8344418126017aa1d4ab4aeec9a2275f04ce3f3573d8ace8/PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0", size = 724969, upload-time = "2023-08-28T18:43:28.56Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/78/77b40157b6cb5f2d3d31a3d9b2efd1ba3505371f76730d267e8b32cf4b7f/PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4", size = 712604, upload-time = "2023-08-28T18:43:30.206Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/97/3e0e089ee85e840f4b15bfa00e4e63d84a3691ababbfea92d6f820ea6f21/PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54", size = 126098, upload-time = "2023-08-28T18:43:31.835Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/9f/fbade56564ad486809c27b322d0f7e6a89c01f6b4fe208402e90d4443a99/PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df", size = 138675, upload-time = "2023-08-28T18:43:33.613Z" },
]
[[package]]
@@ -2124,46 +2128,46 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "cffi", marker = "implementation_name == 'pypy'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/3a/33/1a3683fc9a4bd64d8ccc0290da75c8f042184a1a49c146d28398414d3341/pyzmq-25.1.2.tar.gz", hash = "sha256:93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226", size = 1402339, upload_time = "2023-12-05T07:34:47.976Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/3a/33/1a3683fc9a4bd64d8ccc0290da75c8f042184a1a49c146d28398414d3341/pyzmq-25.1.2.tar.gz", hash = "sha256:93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226", size = 1402339, upload-time = "2023-12-05T07:34:47.976Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/5e/f4/901edb48b2b2c00ad73de0db2ee76e24ce5903ef815ad0ad10e14555d989/pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:e624c789359f1a16f83f35e2c705d07663ff2b4d4479bad35621178d8f0f6ea4", size = 1872310, upload_time = "2023-12-05T07:48:13.713Z" },
- { url = "https://files.pythonhosted.org/packages/5e/46/2de69c7c79fd78bf4c22a9e8165fa6312f5d49410f1be6ddab51a6fe7236/pyzmq-25.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49151b0efece79f6a79d41a461d78535356136ee70084a1c22532fc6383f4ad0", size = 1249619, upload_time = "2023-12-05T07:50:38.691Z" },
- { url = "https://files.pythonhosted.org/packages/d1/f5/d6b9755713843bf9701ae86bf6fd97ec294a52cf2af719cd14fdf9392f65/pyzmq-25.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a5f194cf730f2b24d6af1f833c14c10f41023da46a7f736f48b6d35061e76e", size = 897360, upload_time = "2023-12-05T07:42:26.268Z" },
- { url = "https://files.pythonhosted.org/packages/7c/88/c1aef8820f12e710d136024d231e70e24684a01314aa1814f0758960ba01/pyzmq-25.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:faf79a302f834d9e8304fafdc11d0d042266667ac45209afa57e5efc998e3872", size = 1156959, upload_time = "2023-12-05T07:44:29.904Z" },
- { url = "https://files.pythonhosted.org/packages/82/1b/b25d2c4ac3b4dae238c98e63395dbb88daf11968b168948d3c6289c3e95c/pyzmq-25.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f51a7b4ead28d3fca8dda53216314a553b0f7a91ee8fc46a72b402a78c3e43d", size = 1100585, upload_time = "2023-12-05T07:45:05.518Z" },
- { url = "https://files.pythonhosted.org/packages/67/bf/6bc0977acd934b66eacab79cec303ecf08ae4a6150d57c628aa919615488/pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0ddd6d71d4ef17ba5a87becf7ddf01b371eaba553c603477679ae817a8d84d75", size = 1109267, upload_time = "2023-12-05T07:39:51.21Z" },
- { url = "https://files.pythonhosted.org/packages/64/fb/4f07424e56c6a5fb47306d9ba744c3c250250c2e7272f9c81efbf8daaccf/pyzmq-25.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:246747b88917e4867e2367b005fc8eefbb4a54b7db363d6c92f89d69abfff4b6", size = 1431853, upload_time = "2023-12-05T07:41:09.261Z" },
- { url = "https://files.pythonhosted.org/packages/a2/10/2b88c1d4beb59a1d45c13983c4b7c5dcd6ef7988db3c03d23b0cabc5adca/pyzmq-25.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:00c48ae2fd81e2a50c3485de1b9d5c7c57cd85dc8ec55683eac16846e57ac979", size = 1766212, upload_time = "2023-12-05T07:49:05.926Z" },
- { url = "https://files.pythonhosted.org/packages/bc/ab/c9a22eacfd5bd82620501ae426a3dd6ffa374ac335b21e54209d7a93d3fb/pyzmq-25.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a68d491fc20762b630e5db2191dd07ff89834086740f70e978bb2ef2668be08", size = 1653737, upload_time = "2023-12-05T07:49:09.096Z" },
- { url = "https://files.pythonhosted.org/packages/d6/e5/71bd89e47eedb7ebec31ef9a49dcdb0517dbbb063bd5de363980a6911eb1/pyzmq-25.1.2-cp310-cp310-win32.whl", hash = "sha256:09dfe949e83087da88c4a76767df04b22304a682d6154de2c572625c62ad6886", size = 906288, upload_time = "2023-12-05T07:42:05.509Z" },
- { url = "https://files.pythonhosted.org/packages/9d/5f/2defc8a579e8b5679d92720ab3a4cb93e3a77d923070bf4c1a103d3ae478/pyzmq-25.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:fa99973d2ed20417744fca0073390ad65ce225b546febb0580358e36aa90dba6", size = 1170923, upload_time = "2023-12-05T07:44:54.296Z" },
- { url = "https://files.pythonhosted.org/packages/35/de/7579518bc58cebf92568b48e354a702fb52525d0fab166dc544f2a0615dc/pyzmq-25.1.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:82544e0e2d0c1811482d37eef297020a040c32e0687c1f6fc23a75b75db8062c", size = 1870360, upload_time = "2023-12-05T07:48:16.153Z" },
- { url = "https://files.pythonhosted.org/packages/ce/f9/58b6cc9a110b1832f666fa6b5a67dc4d520fabfc680ca87a8167b2061d5d/pyzmq-25.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01171fc48542348cd1a360a4b6c3e7d8f46cdcf53a8d40f84db6707a6768acc1", size = 1249008, upload_time = "2023-12-05T07:50:40.442Z" },
- { url = "https://files.pythonhosted.org/packages/bc/4a/ac6469c01813cb3652ab4e30ec4a37815cc9949afc18af33f64e2ec704aa/pyzmq-25.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc69c96735ab501419c432110016329bf0dea8898ce16fab97c6d9106dc0b348", size = 904394, upload_time = "2023-12-05T07:42:27.815Z" },
- { url = "https://files.pythonhosted.org/packages/77/b7/8cee519b11bdd3f76c1a6eb537ab13c1bfef2964d725717705c86f524e4c/pyzmq-25.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e124e6b1dd3dfbeb695435dff0e383256655bb18082e094a8dd1f6293114642", size = 1161453, upload_time = "2023-12-05T07:44:32.003Z" },
- { url = "https://files.pythonhosted.org/packages/b6/1d/c35a956a44b333b064ae1b1c588c2dfa0e01b7ec90884c1972bfcef119c3/pyzmq-25.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7598d2ba821caa37a0f9d54c25164a4fa351ce019d64d0b44b45540950458840", size = 1105501, upload_time = "2023-12-05T07:45:07.18Z" },
- { url = "https://files.pythonhosted.org/packages/18/d1/b3d1e985318ed7287737ea9e6b6e21748cc7c89accc2443347cd2c8d5f0f/pyzmq-25.1.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d1299d7e964c13607efd148ca1f07dcbf27c3ab9e125d1d0ae1d580a1682399d", size = 1109513, upload_time = "2023-12-05T07:39:53.338Z" },
- { url = "https://files.pythonhosted.org/packages/14/9b/341cdfb47440069010101403298dc24d449150370c6cb322e73bfa1949bd/pyzmq-25.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4e6f689880d5ad87918430957297c975203a082d9a036cc426648fcbedae769b", size = 1433541, upload_time = "2023-12-05T07:41:10.786Z" },
- { url = "https://files.pythonhosted.org/packages/fa/52/c6d4e76e020c554e965459d41a98201b4d45277a288648f53a4e5a2429cc/pyzmq-25.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cc69949484171cc961e6ecd4a8911b9ce7a0d1f738fcae717177c231bf77437b", size = 1766133, upload_time = "2023-12-05T07:49:11.204Z" },
- { url = "https://files.pythonhosted.org/packages/1d/6d/0cbd8dd5b8979fd6b9cf1852ed067b9d2cd6fa0c09c3bafe6874d2d2e03c/pyzmq-25.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9880078f683466b7f567b8624bfc16cad65077be046b6e8abb53bed4eeb82dd3", size = 1653636, upload_time = "2023-12-05T07:49:13.787Z" },
- { url = "https://files.pythonhosted.org/packages/f5/af/d90eed9cf3840685d54d4a35d5f9e242a8a48b5410d41146f14c1e098302/pyzmq-25.1.2-cp311-cp311-win32.whl", hash = "sha256:4e5837af3e5aaa99a091302df5ee001149baff06ad22b722d34e30df5f0d9097", size = 904865, upload_time = "2023-12-05T07:42:07.189Z" },
- { url = "https://files.pythonhosted.org/packages/20/d2/09443dc73053ad01c846d7fb77e09fe9d93c09d4e900215f3c8b7b56bfec/pyzmq-25.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:25c2dbb97d38b5ac9fd15586e048ec5eb1e38f3d47fe7d92167b0c77bb3584e9", size = 1171332, upload_time = "2023-12-05T07:44:56.111Z" },
- { url = "https://files.pythonhosted.org/packages/6e/f0/d71cf69dc039c9adc8b625efc3bad3684f3660a570e47f0f0c64df787b41/pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:11e70516688190e9c2db14fcf93c04192b02d457b582a1f6190b154691b4c93a", size = 1871111, upload_time = "2023-12-05T07:48:17.868Z" },
- { url = "https://files.pythonhosted.org/packages/68/62/d365773edf56ad71993579ee574105f02f83530caf600ebf28bea15d88d0/pyzmq-25.1.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:313c3794d650d1fccaaab2df942af9f2c01d6217c846177cfcbc693c7410839e", size = 1248844, upload_time = "2023-12-05T07:50:42.922Z" },
- { url = "https://files.pythonhosted.org/packages/72/55/cc3163e20f40615a49245fa7041badec6103e8ee7e482dbb0feea00a7b84/pyzmq-25.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3cbba2f47062b85fe0ef9de5b987612140a9ba3a9c6d2543c6dec9f7c2ab27", size = 899373, upload_time = "2023-12-05T07:42:29.595Z" },
- { url = "https://files.pythonhosted.org/packages/40/aa/ae292bd85deda637230970bbc53c1dc53696a99e82fc7cd6d373ec173853/pyzmq-25.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc31baa0c32a2ca660784d5af3b9487e13b61b3032cb01a115fce6588e1bed30", size = 1160901, upload_time = "2023-12-05T07:44:33.819Z" },
- { url = "https://files.pythonhosted.org/packages/93/b7/6e291eafbbbc66d0e87658dd21383ec2b4ab35edcfb283902c580a6db76f/pyzmq-25.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c9087b109070c5ab0b383079fa1b5f797f8d43e9a66c07a4b8b8bdecfd88ee", size = 1101147, upload_time = "2023-12-05T07:45:10.058Z" },
- { url = "https://files.pythonhosted.org/packages/3a/f1/e296d5a507eac519d1fe1382851b1a4575f690bc2b2d2c8eca2ed7e4bd1f/pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f8429b17cbb746c3e043cb986328da023657e79d5ed258b711c06a70c2ea7537", size = 1105315, upload_time = "2023-12-05T07:39:55.851Z" },
- { url = "https://files.pythonhosted.org/packages/56/63/5c2abb556ab4cf013d98e01782d5bd642238a0ed9b019e965a7d7e957f56/pyzmq-25.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5074adeacede5f810b7ef39607ee59d94e948b4fd954495bdb072f8c54558181", size = 1427747, upload_time = "2023-12-05T07:41:13.219Z" },
- { url = "https://files.pythonhosted.org/packages/b1/71/5dba5f6b12ef54fb977c9b9279075e151c04fc0dd6851e9663d9e66b593f/pyzmq-25.1.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7ae8f354b895cbd85212da245f1a5ad8159e7840e37d78b476bb4f4c3f32a9fe", size = 1762221, upload_time = "2023-12-05T07:49:16.352Z" },
- { url = "https://files.pythonhosted.org/packages/cf/49/54d7e8bb3df82a3509325b11491d33450dc91580d4826b62fa5e554bb9cf/pyzmq-25.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b264bf2cc96b5bc43ce0e852be995e400376bd87ceb363822e2cb1964fcdc737", size = 1649505, upload_time = "2023-12-05T07:49:18.952Z" },
- { url = "https://files.pythonhosted.org/packages/34/14/58e5037229bc37963e2ce804c2c075a3a541e3f84bf1c231e7c9779d36f1/pyzmq-25.1.2-cp312-cp312-win32.whl", hash = "sha256:02bbc1a87b76e04fd780b45e7f695471ae6de747769e540da909173d50ff8e2d", size = 954891, upload_time = "2023-12-05T07:42:09.208Z" },
- { url = "https://files.pythonhosted.org/packages/2c/2d/04fab685ef3a8e6e955220fd2a54dc99efaee960a88675bf5c92cd277164/pyzmq-25.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:ced111c2e81506abd1dc142e6cd7b68dd53747b3b7ae5edbea4578c5eeff96b7", size = 1252773, upload_time = "2023-12-05T07:44:58.16Z" },
- { url = "https://files.pythonhosted.org/packages/6b/fe/ed38fe12c540bafc1cae32c3ff638e9df32528f5cf91b5e400e6a8f5b3ec/pyzmq-25.1.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8c1d566344aee826b74e472e16edae0a02e2a044f14f7c24e123002dcff1c05", size = 963654, upload_time = "2023-12-05T07:47:03.874Z" },
- { url = "https://files.pythonhosted.org/packages/44/97/a760a2dff0672c408f22f726f2ea10a7a516ffa5001ca5a3641e355a45f9/pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:759cfd391a0996345ba94b6a5110fca9c557ad4166d86a6e81ea526c376a01e8", size = 609436, upload_time = "2023-12-05T07:42:37.762Z" },
- { url = "https://files.pythonhosted.org/packages/41/81/ace39daa19c78b2f4fc12ef217d9d5f1ac658d5828d692bbbb68240cd55b/pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c61e346ac34b74028ede1c6b4bcecf649d69b707b3ff9dc0fab453821b04d1e", size = 843396, upload_time = "2023-12-05T07:44:43.727Z" },
- { url = "https://files.pythonhosted.org/packages/4c/43/150b0b203f5461a9aeadaa925c55167e2b4215c9322b6911a64360d2243e/pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb8fc1f8d69b411b8ec0b5f1ffbcaf14c1db95b6bccea21d83610987435f1a4", size = 800856, upload_time = "2023-12-05T07:45:21.117Z" },
- { url = "https://files.pythonhosted.org/packages/5f/91/a618b56aaabe40dddcd25db85624d7408768fd32f5bfcf81bc0af5b1ce75/pyzmq-25.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3c00c9b7d1ca8165c610437ca0c92e7b5607b2f9076f4eb4b095c85d6e680a1d", size = 413836, upload_time = "2023-12-05T07:53:22.583Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/f4/901edb48b2b2c00ad73de0db2ee76e24ce5903ef815ad0ad10e14555d989/pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:e624c789359f1a16f83f35e2c705d07663ff2b4d4479bad35621178d8f0f6ea4", size = 1872310, upload-time = "2023-12-05T07:48:13.713Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/46/2de69c7c79fd78bf4c22a9e8165fa6312f5d49410f1be6ddab51a6fe7236/pyzmq-25.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49151b0efece79f6a79d41a461d78535356136ee70084a1c22532fc6383f4ad0", size = 1249619, upload-time = "2023-12-05T07:50:38.691Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/f5/d6b9755713843bf9701ae86bf6fd97ec294a52cf2af719cd14fdf9392f65/pyzmq-25.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a5f194cf730f2b24d6af1f833c14c10f41023da46a7f736f48b6d35061e76e", size = 897360, upload-time = "2023-12-05T07:42:26.268Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/88/c1aef8820f12e710d136024d231e70e24684a01314aa1814f0758960ba01/pyzmq-25.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:faf79a302f834d9e8304fafdc11d0d042266667ac45209afa57e5efc998e3872", size = 1156959, upload-time = "2023-12-05T07:44:29.904Z" },
+ { url = "https://files.pythonhosted.org/packages/82/1b/b25d2c4ac3b4dae238c98e63395dbb88daf11968b168948d3c6289c3e95c/pyzmq-25.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f51a7b4ead28d3fca8dda53216314a553b0f7a91ee8fc46a72b402a78c3e43d", size = 1100585, upload-time = "2023-12-05T07:45:05.518Z" },
+ { url = "https://files.pythonhosted.org/packages/67/bf/6bc0977acd934b66eacab79cec303ecf08ae4a6150d57c628aa919615488/pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0ddd6d71d4ef17ba5a87becf7ddf01b371eaba553c603477679ae817a8d84d75", size = 1109267, upload-time = "2023-12-05T07:39:51.21Z" },
+ { url = "https://files.pythonhosted.org/packages/64/fb/4f07424e56c6a5fb47306d9ba744c3c250250c2e7272f9c81efbf8daaccf/pyzmq-25.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:246747b88917e4867e2367b005fc8eefbb4a54b7db363d6c92f89d69abfff4b6", size = 1431853, upload-time = "2023-12-05T07:41:09.261Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/10/2b88c1d4beb59a1d45c13983c4b7c5dcd6ef7988db3c03d23b0cabc5adca/pyzmq-25.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:00c48ae2fd81e2a50c3485de1b9d5c7c57cd85dc8ec55683eac16846e57ac979", size = 1766212, upload-time = "2023-12-05T07:49:05.926Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/ab/c9a22eacfd5bd82620501ae426a3dd6ffa374ac335b21e54209d7a93d3fb/pyzmq-25.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a68d491fc20762b630e5db2191dd07ff89834086740f70e978bb2ef2668be08", size = 1653737, upload-time = "2023-12-05T07:49:09.096Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/e5/71bd89e47eedb7ebec31ef9a49dcdb0517dbbb063bd5de363980a6911eb1/pyzmq-25.1.2-cp310-cp310-win32.whl", hash = "sha256:09dfe949e83087da88c4a76767df04b22304a682d6154de2c572625c62ad6886", size = 906288, upload-time = "2023-12-05T07:42:05.509Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/5f/2defc8a579e8b5679d92720ab3a4cb93e3a77d923070bf4c1a103d3ae478/pyzmq-25.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:fa99973d2ed20417744fca0073390ad65ce225b546febb0580358e36aa90dba6", size = 1170923, upload-time = "2023-12-05T07:44:54.296Z" },
+ { url = "https://files.pythonhosted.org/packages/35/de/7579518bc58cebf92568b48e354a702fb52525d0fab166dc544f2a0615dc/pyzmq-25.1.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:82544e0e2d0c1811482d37eef297020a040c32e0687c1f6fc23a75b75db8062c", size = 1870360, upload-time = "2023-12-05T07:48:16.153Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/f9/58b6cc9a110b1832f666fa6b5a67dc4d520fabfc680ca87a8167b2061d5d/pyzmq-25.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01171fc48542348cd1a360a4b6c3e7d8f46cdcf53a8d40f84db6707a6768acc1", size = 1249008, upload-time = "2023-12-05T07:50:40.442Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/4a/ac6469c01813cb3652ab4e30ec4a37815cc9949afc18af33f64e2ec704aa/pyzmq-25.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc69c96735ab501419c432110016329bf0dea8898ce16fab97c6d9106dc0b348", size = 904394, upload-time = "2023-12-05T07:42:27.815Z" },
+ { url = "https://files.pythonhosted.org/packages/77/b7/8cee519b11bdd3f76c1a6eb537ab13c1bfef2964d725717705c86f524e4c/pyzmq-25.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e124e6b1dd3dfbeb695435dff0e383256655bb18082e094a8dd1f6293114642", size = 1161453, upload-time = "2023-12-05T07:44:32.003Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/1d/c35a956a44b333b064ae1b1c588c2dfa0e01b7ec90884c1972bfcef119c3/pyzmq-25.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7598d2ba821caa37a0f9d54c25164a4fa351ce019d64d0b44b45540950458840", size = 1105501, upload-time = "2023-12-05T07:45:07.18Z" },
+ { url = "https://files.pythonhosted.org/packages/18/d1/b3d1e985318ed7287737ea9e6b6e21748cc7c89accc2443347cd2c8d5f0f/pyzmq-25.1.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d1299d7e964c13607efd148ca1f07dcbf27c3ab9e125d1d0ae1d580a1682399d", size = 1109513, upload-time = "2023-12-05T07:39:53.338Z" },
+ { url = "https://files.pythonhosted.org/packages/14/9b/341cdfb47440069010101403298dc24d449150370c6cb322e73bfa1949bd/pyzmq-25.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4e6f689880d5ad87918430957297c975203a082d9a036cc426648fcbedae769b", size = 1433541, upload-time = "2023-12-05T07:41:10.786Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/52/c6d4e76e020c554e965459d41a98201b4d45277a288648f53a4e5a2429cc/pyzmq-25.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cc69949484171cc961e6ecd4a8911b9ce7a0d1f738fcae717177c231bf77437b", size = 1766133, upload-time = "2023-12-05T07:49:11.204Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/6d/0cbd8dd5b8979fd6b9cf1852ed067b9d2cd6fa0c09c3bafe6874d2d2e03c/pyzmq-25.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9880078f683466b7f567b8624bfc16cad65077be046b6e8abb53bed4eeb82dd3", size = 1653636, upload-time = "2023-12-05T07:49:13.787Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/af/d90eed9cf3840685d54d4a35d5f9e242a8a48b5410d41146f14c1e098302/pyzmq-25.1.2-cp311-cp311-win32.whl", hash = "sha256:4e5837af3e5aaa99a091302df5ee001149baff06ad22b722d34e30df5f0d9097", size = 904865, upload-time = "2023-12-05T07:42:07.189Z" },
+ { url = "https://files.pythonhosted.org/packages/20/d2/09443dc73053ad01c846d7fb77e09fe9d93c09d4e900215f3c8b7b56bfec/pyzmq-25.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:25c2dbb97d38b5ac9fd15586e048ec5eb1e38f3d47fe7d92167b0c77bb3584e9", size = 1171332, upload-time = "2023-12-05T07:44:56.111Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/f0/d71cf69dc039c9adc8b625efc3bad3684f3660a570e47f0f0c64df787b41/pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:11e70516688190e9c2db14fcf93c04192b02d457b582a1f6190b154691b4c93a", size = 1871111, upload-time = "2023-12-05T07:48:17.868Z" },
+ { url = "https://files.pythonhosted.org/packages/68/62/d365773edf56ad71993579ee574105f02f83530caf600ebf28bea15d88d0/pyzmq-25.1.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:313c3794d650d1fccaaab2df942af9f2c01d6217c846177cfcbc693c7410839e", size = 1248844, upload-time = "2023-12-05T07:50:42.922Z" },
+ { url = "https://files.pythonhosted.org/packages/72/55/cc3163e20f40615a49245fa7041badec6103e8ee7e482dbb0feea00a7b84/pyzmq-25.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3cbba2f47062b85fe0ef9de5b987612140a9ba3a9c6d2543c6dec9f7c2ab27", size = 899373, upload-time = "2023-12-05T07:42:29.595Z" },
+ { url = "https://files.pythonhosted.org/packages/40/aa/ae292bd85deda637230970bbc53c1dc53696a99e82fc7cd6d373ec173853/pyzmq-25.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc31baa0c32a2ca660784d5af3b9487e13b61b3032cb01a115fce6588e1bed30", size = 1160901, upload-time = "2023-12-05T07:44:33.819Z" },
+ { url = "https://files.pythonhosted.org/packages/93/b7/6e291eafbbbc66d0e87658dd21383ec2b4ab35edcfb283902c580a6db76f/pyzmq-25.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c9087b109070c5ab0b383079fa1b5f797f8d43e9a66c07a4b8b8bdecfd88ee", size = 1101147, upload-time = "2023-12-05T07:45:10.058Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/f1/e296d5a507eac519d1fe1382851b1a4575f690bc2b2d2c8eca2ed7e4bd1f/pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f8429b17cbb746c3e043cb986328da023657e79d5ed258b711c06a70c2ea7537", size = 1105315, upload-time = "2023-12-05T07:39:55.851Z" },
+ { url = "https://files.pythonhosted.org/packages/56/63/5c2abb556ab4cf013d98e01782d5bd642238a0ed9b019e965a7d7e957f56/pyzmq-25.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5074adeacede5f810b7ef39607ee59d94e948b4fd954495bdb072f8c54558181", size = 1427747, upload-time = "2023-12-05T07:41:13.219Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/71/5dba5f6b12ef54fb977c9b9279075e151c04fc0dd6851e9663d9e66b593f/pyzmq-25.1.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7ae8f354b895cbd85212da245f1a5ad8159e7840e37d78b476bb4f4c3f32a9fe", size = 1762221, upload-time = "2023-12-05T07:49:16.352Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/49/54d7e8bb3df82a3509325b11491d33450dc91580d4826b62fa5e554bb9cf/pyzmq-25.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b264bf2cc96b5bc43ce0e852be995e400376bd87ceb363822e2cb1964fcdc737", size = 1649505, upload-time = "2023-12-05T07:49:18.952Z" },
+ { url = "https://files.pythonhosted.org/packages/34/14/58e5037229bc37963e2ce804c2c075a3a541e3f84bf1c231e7c9779d36f1/pyzmq-25.1.2-cp312-cp312-win32.whl", hash = "sha256:02bbc1a87b76e04fd780b45e7f695471ae6de747769e540da909173d50ff8e2d", size = 954891, upload-time = "2023-12-05T07:42:09.208Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/2d/04fab685ef3a8e6e955220fd2a54dc99efaee960a88675bf5c92cd277164/pyzmq-25.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:ced111c2e81506abd1dc142e6cd7b68dd53747b3b7ae5edbea4578c5eeff96b7", size = 1252773, upload-time = "2023-12-05T07:44:58.16Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/fe/ed38fe12c540bafc1cae32c3ff638e9df32528f5cf91b5e400e6a8f5b3ec/pyzmq-25.1.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8c1d566344aee826b74e472e16edae0a02e2a044f14f7c24e123002dcff1c05", size = 963654, upload-time = "2023-12-05T07:47:03.874Z" },
+ { url = "https://files.pythonhosted.org/packages/44/97/a760a2dff0672c408f22f726f2ea10a7a516ffa5001ca5a3641e355a45f9/pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:759cfd391a0996345ba94b6a5110fca9c557ad4166d86a6e81ea526c376a01e8", size = 609436, upload-time = "2023-12-05T07:42:37.762Z" },
+ { url = "https://files.pythonhosted.org/packages/41/81/ace39daa19c78b2f4fc12ef217d9d5f1ac658d5828d692bbbb68240cd55b/pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c61e346ac34b74028ede1c6b4bcecf649d69b707b3ff9dc0fab453821b04d1e", size = 843396, upload-time = "2023-12-05T07:44:43.727Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/43/150b0b203f5461a9aeadaa925c55167e2b4215c9322b6911a64360d2243e/pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb8fc1f8d69b411b8ec0b5f1ffbcaf14c1db95b6bccea21d83610987435f1a4", size = 800856, upload-time = "2023-12-05T07:45:21.117Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/91/a618b56aaabe40dddcd25db85624d7408768fd32f5bfcf81bc0af5b1ce75/pyzmq-25.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3c00c9b7d1ca8165c610437ca0c92e7b5607b2f9076f4eb4b095c85d6e680a1d", size = 413836, upload-time = "2023-12-05T07:53:22.583Z" },
]
[[package]]
@@ -2176,9 +2180,9 @@ dependencies = [
{ name = "scikit-learn" },
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/3e/2d/bab8babd9dc9a9e4df6eb115540cee4322c1a74078fb6f3b3ebc452a22b3/qudida-0.0.4.tar.gz", hash = "sha256:db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8", size = 3100, upload_time = "2021-08-09T16:47:55.807Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/3e/2d/bab8babd9dc9a9e4df6eb115540cee4322c1a74078fb6f3b3ebc452a22b3/qudida-0.0.4.tar.gz", hash = "sha256:db198e2887ab0c9aa0023e565afbff41dfb76b361f85fd5e13f780d75ba18cc8", size = 3100, upload-time = "2021-08-09T16:47:55.807Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f0/a1/a5f4bebaa31d109003909809d88aeb0d4b201463a9ea29308d9e4f9e7655/qudida-0.0.4-py3-none-any.whl", hash = "sha256:4519714c40cd0f2e6c51e1735edae8f8b19f4efe1f33be13e9d644ca5f736dd6", size = 3478, upload_time = "2021-08-09T16:47:54.637Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/a1/a5f4bebaa31d109003909809d88aeb0d4b201463a9ea29308d9e4f9e7655/qudida-0.0.4-py3-none-any.whl", hash = "sha256:4519714c40cd0f2e6c51e1735edae8f8b19f4efe1f33be13e9d644ca5f736dd6", size = 3478, upload-time = "2021-08-09T16:47:54.637Z" },
]
[[package]]
@@ -2191,9 +2195,9 @@ dependencies = [
{ name = "idna" },
{ name = "urllib3" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload_time = "2024-05-29T15:37:49.536Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload-time = "2024-05-29T15:37:49.536Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload_time = "2024-05-29T15:37:47.027Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload-time = "2024-05-29T15:37:47.027Z" },
]
[[package]]
@@ -2205,9 +2209,9 @@ dependencies = [
{ name = "pygments" },
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149, upload_time = "2024-11-01T16:43:57.873Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ab/3a/0316b28d0761c6734d6bc14e770d85506c986c85ffb239e688eeaab2c2bc/rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098", size = 223149, upload-time = "2024-11-01T16:43:57.873Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424, upload_time = "2024-11-01T16:43:55.817Z" },
+ { url = "https://files.pythonhosted.org/packages/19/71/39c7c0d87f8d4e6c020a393182060eaefeeae6c01dab6a84ec346f2567df/rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90", size = 242424, upload-time = "2024-11-01T16:43:55.817Z" },
]
[[package]]
@@ -2220,9 +2224,9 @@ dependencies = [
{ name = "ruamel-yaml" },
]
wheels = [
- { url = "https://files.pythonhosted.org/packages/ed/77/6af374a4a8cd2aee762a1fb8a3050dcf3f129134bbdc4bb6bed755c4325b/rknn_toolkit_lite2-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b6733689bd09a262bcb6ba4744e690dd4b37ebeac4ed427cf45242c4b4ce9a4", size = 559372, upload_time = "2024-11-11T03:51:20.599Z" },
- { url = "https://files.pythonhosted.org/packages/9b/0c/76ff1eb09d09ce4394a6959d2343a321d28dd9e604348ffdafceafdc344c/rknn_toolkit_lite2-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3e4fefe355dc34a155680e4bcb9e4abb37ebc271f045ec9e0a4a3a018bc5beb", size = 569149, upload_time = "2024-11-11T03:51:22.838Z" },
- { url = "https://files.pythonhosted.org/packages/0d/6e/8679562028051b02312212defc6e8c07248953f10dd7ad506e941b575bf3/rknn_toolkit_lite2-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37394371d1561f470c553f39869d7c35ff93405dffe3d0d72babf297a2b0aee9", size = 527457, upload_time = "2024-11-11T03:51:25.456Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/77/6af374a4a8cd2aee762a1fb8a3050dcf3f129134bbdc4bb6bed755c4325b/rknn_toolkit_lite2-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b6733689bd09a262bcb6ba4744e690dd4b37ebeac4ed427cf45242c4b4ce9a4", size = 559372, upload-time = "2024-11-11T03:51:20.599Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/0c/76ff1eb09d09ce4394a6959d2343a321d28dd9e604348ffdafceafdc344c/rknn_toolkit_lite2-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3e4fefe355dc34a155680e4bcb9e4abb37ebc271f045ec9e0a4a3a018bc5beb", size = 569149, upload-time = "2024-11-11T03:51:22.838Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/6e/8679562028051b02312212defc6e8c07248953f10dd7ad506e941b575bf3/rknn_toolkit_lite2-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37394371d1561f470c553f39869d7c35ff93405dffe3d0d72babf297a2b0aee9", size = 527457, upload-time = "2024-11-11T03:51:25.456Z" },
]
[[package]]
@@ -2232,78 +2236,78 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "ruamel-yaml-clib", marker = "python_full_version < '3.13' and platform_python_implementation == 'CPython'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ea/46/f44d8be06b85bc7c4d8c95d658be2b68f27711f279bf9dd0612a5e4794f5/ruamel.yaml-0.18.10.tar.gz", hash = "sha256:20c86ab29ac2153f80a428e1254a8adf686d3383df04490514ca3b79a362db58", size = 143447, upload_time = "2025-01-06T14:08:51.334Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ea/46/f44d8be06b85bc7c4d8c95d658be2b68f27711f279bf9dd0612a5e4794f5/ruamel.yaml-0.18.10.tar.gz", hash = "sha256:20c86ab29ac2153f80a428e1254a8adf686d3383df04490514ca3b79a362db58", size = 143447, upload-time = "2025-01-06T14:08:51.334Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c2/36/dfc1ebc0081e6d39924a2cc53654497f967a084a436bb64402dfce4254d9/ruamel.yaml-0.18.10-py3-none-any.whl", hash = "sha256:30f22513ab2301b3d2b577adc121c6471f28734d3d9728581245f1e76468b4f1", size = 117729, upload_time = "2025-01-06T14:08:47.471Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/36/dfc1ebc0081e6d39924a2cc53654497f967a084a436bb64402dfce4254d9/ruamel.yaml-0.18.10-py3-none-any.whl", hash = "sha256:30f22513ab2301b3d2b577adc121c6471f28734d3d9728581245f1e76468b4f1", size = 117729, upload-time = "2025-01-06T14:08:47.471Z" },
]
[[package]]
name = "ruamel-yaml-clib"
version = "0.2.12"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/20/84/80203abff8ea4993a87d823a5f632e4d92831ef75d404c9fc78d0176d2b5/ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f", size = 225315, upload_time = "2024-10-20T10:10:56.22Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/20/84/80203abff8ea4993a87d823a5f632e4d92831ef75d404c9fc78d0176d2b5/ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f", size = 225315, upload-time = "2024-10-20T10:10:56.22Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/70/57/40a958e863e299f0c74ef32a3bde9f2d1ea8d69669368c0c502a0997f57f/ruamel.yaml.clib-0.2.12-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:11f891336688faf5156a36293a9c362bdc7c88f03a8a027c2c1d8e0bcde998e5", size = 131301, upload_time = "2024-10-20T10:12:35.876Z" },
- { url = "https://files.pythonhosted.org/packages/98/a8/29a3eb437b12b95f50a6bcc3d7d7214301c6c529d8fdc227247fa84162b5/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a606ef75a60ecf3d924613892cc603b154178ee25abb3055db5062da811fd969", size = 633728, upload_time = "2024-10-20T10:12:37.858Z" },
- { url = "https://files.pythonhosted.org/packages/35/6d/ae05a87a3ad540259c3ad88d71275cbd1c0f2d30ae04c65dcbfb6dcd4b9f/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd5415dded15c3822597455bc02bcd66e81ef8b7a48cb71a33628fc9fdde39df", size = 722230, upload_time = "2024-10-20T10:12:39.457Z" },
- { url = "https://files.pythonhosted.org/packages/7f/b7/20c6f3c0b656fe609675d69bc135c03aac9e3865912444be6339207b6648/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76", size = 686712, upload_time = "2024-10-20T10:12:41.119Z" },
- { url = "https://files.pythonhosted.org/packages/cd/11/d12dbf683471f888d354dac59593873c2b45feb193c5e3e0f2ebf85e68b9/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22353049ba4181685023b25b5b51a574bce33e7f51c759371a7422dcae5402a6", size = 663936, upload_time = "2024-10-21T11:26:37.419Z" },
- { url = "https://files.pythonhosted.org/packages/72/14/4c268f5077db5c83f743ee1daeb236269fa8577133a5cfa49f8b382baf13/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:932205970b9f9991b34f55136be327501903f7c66830e9760a8ffb15b07f05cd", size = 696580, upload_time = "2024-10-21T11:26:39.503Z" },
- { url = "https://files.pythonhosted.org/packages/30/fc/8cd12f189c6405a4c1cf37bd633aa740a9538c8e40497c231072d0fef5cf/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a52d48f4e7bf9005e8f0a89209bf9a73f7190ddf0489eee5eb51377385f59f2a", size = 663393, upload_time = "2024-12-11T19:58:13.873Z" },
- { url = "https://files.pythonhosted.org/packages/80/29/c0a017b704aaf3cbf704989785cd9c5d5b8ccec2dae6ac0c53833c84e677/ruamel.yaml.clib-0.2.12-cp310-cp310-win32.whl", hash = "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da", size = 100326, upload_time = "2024-10-20T10:12:42.967Z" },
- { url = "https://files.pythonhosted.org/packages/3a/65/fa39d74db4e2d0cd252355732d966a460a41cd01c6353b820a0952432839/ruamel.yaml.clib-0.2.12-cp310-cp310-win_amd64.whl", hash = "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28", size = 118079, upload_time = "2024-10-20T10:12:44.117Z" },
- { url = "https://files.pythonhosted.org/packages/fb/8f/683c6ad562f558cbc4f7c029abcd9599148c51c54b5ef0f24f2638da9fbb/ruamel.yaml.clib-0.2.12-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6", size = 132224, upload_time = "2024-10-20T10:12:45.162Z" },
- { url = "https://files.pythonhosted.org/packages/3c/d2/b79b7d695e2f21da020bd44c782490578f300dd44f0a4c57a92575758a76/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:d84318609196d6bd6da0edfa25cedfbabd8dbde5140a0a23af29ad4b8f91fb1e", size = 641480, upload_time = "2024-10-20T10:12:46.758Z" },
- { url = "https://files.pythonhosted.org/packages/68/6e/264c50ce2a31473a9fdbf4fa66ca9b2b17c7455b31ef585462343818bd6c/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb43a269eb827806502c7c8efb7ae7e9e9d0573257a46e8e952f4d4caba4f31e", size = 739068, upload_time = "2024-10-20T10:12:48.605Z" },
- { url = "https://files.pythonhosted.org/packages/86/29/88c2567bc893c84d88b4c48027367c3562ae69121d568e8a3f3a8d363f4d/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52", size = 703012, upload_time = "2024-10-20T10:12:51.124Z" },
- { url = "https://files.pythonhosted.org/packages/11/46/879763c619b5470820f0cd6ca97d134771e502776bc2b844d2adb6e37753/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cf12567a7b565cbf65d438dec6cfbe2917d3c1bdddfce84a9930b7d35ea59642", size = 704352, upload_time = "2024-10-21T11:26:41.438Z" },
- { url = "https://files.pythonhosted.org/packages/02/80/ece7e6034256a4186bbe50dee28cd032d816974941a6abf6a9d65e4228a7/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7dd5adc8b930b12c8fc5b99e2d535a09889941aa0d0bd06f4749e9a9397c71d2", size = 737344, upload_time = "2024-10-21T11:26:43.62Z" },
- { url = "https://files.pythonhosted.org/packages/f0/ca/e4106ac7e80efbabdf4bf91d3d32fc424e41418458251712f5672eada9ce/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1492a6051dab8d912fc2adeef0e8c72216b24d57bd896ea607cb90bb0c4981d3", size = 714498, upload_time = "2024-12-11T19:58:15.592Z" },
- { url = "https://files.pythonhosted.org/packages/67/58/b1f60a1d591b771298ffa0428237afb092c7f29ae23bad93420b1eb10703/ruamel.yaml.clib-0.2.12-cp311-cp311-win32.whl", hash = "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4", size = 100205, upload_time = "2024-10-20T10:12:52.865Z" },
- { url = "https://files.pythonhosted.org/packages/b4/4f/b52f634c9548a9291a70dfce26ca7ebce388235c93588a1068028ea23fcc/ruamel.yaml.clib-0.2.12-cp311-cp311-win_amd64.whl", hash = "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb", size = 118185, upload_time = "2024-10-20T10:12:54.652Z" },
- { url = "https://files.pythonhosted.org/packages/48/41/e7a405afbdc26af961678474a55373e1b323605a4f5e2ddd4a80ea80f628/ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632", size = 133433, upload_time = "2024-10-20T10:12:55.657Z" },
- { url = "https://files.pythonhosted.org/packages/ec/b0/b850385604334c2ce90e3ee1013bd911aedf058a934905863a6ea95e9eb4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d", size = 647362, upload_time = "2024-10-20T10:12:57.155Z" },
- { url = "https://files.pythonhosted.org/packages/44/d0/3f68a86e006448fb6c005aee66565b9eb89014a70c491d70c08de597f8e4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c", size = 754118, upload_time = "2024-10-20T10:12:58.501Z" },
- { url = "https://files.pythonhosted.org/packages/52/a9/d39f3c5ada0a3bb2870d7db41901125dbe2434fa4f12ca8c5b83a42d7c53/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd", size = 706497, upload_time = "2024-10-20T10:13:00.211Z" },
- { url = "https://files.pythonhosted.org/packages/b0/fa/097e38135dadd9ac25aecf2a54be17ddf6e4c23e43d538492a90ab3d71c6/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31", size = 698042, upload_time = "2024-10-21T11:26:46.038Z" },
- { url = "https://files.pythonhosted.org/packages/ec/d5/a659ca6f503b9379b930f13bc6b130c9f176469b73b9834296822a83a132/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680", size = 745831, upload_time = "2024-10-21T11:26:47.487Z" },
- { url = "https://files.pythonhosted.org/packages/db/5d/36619b61ffa2429eeaefaab4f3374666adf36ad8ac6330d855848d7d36fd/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d", size = 715692, upload_time = "2024-12-11T19:58:17.252Z" },
- { url = "https://files.pythonhosted.org/packages/b1/82/85cb92f15a4231c89b95dfe08b09eb6adca929ef7df7e17ab59902b6f589/ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5", size = 98777, upload_time = "2024-10-20T10:13:01.395Z" },
- { url = "https://files.pythonhosted.org/packages/d7/8f/c3654f6f1ddb75daf3922c3d8fc6005b1ab56671ad56ffb874d908bfa668/ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4", size = 115523, upload_time = "2024-10-20T10:13:02.768Z" },
- { url = "https://files.pythonhosted.org/packages/29/00/4864119668d71a5fa45678f380b5923ff410701565821925c69780356ffa/ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a", size = 132011, upload_time = "2024-10-20T10:13:04.377Z" },
- { url = "https://files.pythonhosted.org/packages/7f/5e/212f473a93ae78c669ffa0cb051e3fee1139cb2d385d2ae1653d64281507/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475", size = 642488, upload_time = "2024-10-20T10:13:05.906Z" },
- { url = "https://files.pythonhosted.org/packages/1f/8f/ecfbe2123ade605c49ef769788f79c38ddb1c8fa81e01f4dbf5cf1a44b16/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef", size = 745066, upload_time = "2024-10-20T10:13:07.26Z" },
- { url = "https://files.pythonhosted.org/packages/e2/a9/28f60726d29dfc01b8decdb385de4ced2ced9faeb37a847bd5cf26836815/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6", size = 701785, upload_time = "2024-10-20T10:13:08.504Z" },
- { url = "https://files.pythonhosted.org/packages/84/7e/8e7ec45920daa7f76046578e4f677a3215fe8f18ee30a9cb7627a19d9b4c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf", size = 693017, upload_time = "2024-10-21T11:26:48.866Z" },
- { url = "https://files.pythonhosted.org/packages/c5/b3/d650eaade4ca225f02a648321e1ab835b9d361c60d51150bac49063b83fa/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1", size = 741270, upload_time = "2024-10-21T11:26:50.213Z" },
- { url = "https://files.pythonhosted.org/packages/87/b8/01c29b924dcbbed75cc45b30c30d565d763b9c4d540545a0eeecffb8f09c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01", size = 709059, upload_time = "2024-12-11T19:58:18.846Z" },
- { url = "https://files.pythonhosted.org/packages/30/8c/ed73f047a73638257aa9377ad356bea4d96125b305c34a28766f4445cc0f/ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6", size = 98583, upload_time = "2024-10-20T10:13:09.658Z" },
- { url = "https://files.pythonhosted.org/packages/b0/85/e8e751d8791564dd333d5d9a4eab0a7a115f7e349595417fd50ecae3395c/ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3", size = 115190, upload_time = "2024-10-20T10:13:10.66Z" },
+ { url = "https://files.pythonhosted.org/packages/70/57/40a958e863e299f0c74ef32a3bde9f2d1ea8d69669368c0c502a0997f57f/ruamel.yaml.clib-0.2.12-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:11f891336688faf5156a36293a9c362bdc7c88f03a8a027c2c1d8e0bcde998e5", size = 131301, upload-time = "2024-10-20T10:12:35.876Z" },
+ { url = "https://files.pythonhosted.org/packages/98/a8/29a3eb437b12b95f50a6bcc3d7d7214301c6c529d8fdc227247fa84162b5/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a606ef75a60ecf3d924613892cc603b154178ee25abb3055db5062da811fd969", size = 633728, upload-time = "2024-10-20T10:12:37.858Z" },
+ { url = "https://files.pythonhosted.org/packages/35/6d/ae05a87a3ad540259c3ad88d71275cbd1c0f2d30ae04c65dcbfb6dcd4b9f/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd5415dded15c3822597455bc02bcd66e81ef8b7a48cb71a33628fc9fdde39df", size = 722230, upload-time = "2024-10-20T10:12:39.457Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/b7/20c6f3c0b656fe609675d69bc135c03aac9e3865912444be6339207b6648/ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76", size = 686712, upload-time = "2024-10-20T10:12:41.119Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/11/d12dbf683471f888d354dac59593873c2b45feb193c5e3e0f2ebf85e68b9/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22353049ba4181685023b25b5b51a574bce33e7f51c759371a7422dcae5402a6", size = 663936, upload-time = "2024-10-21T11:26:37.419Z" },
+ { url = "https://files.pythonhosted.org/packages/72/14/4c268f5077db5c83f743ee1daeb236269fa8577133a5cfa49f8b382baf13/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:932205970b9f9991b34f55136be327501903f7c66830e9760a8ffb15b07f05cd", size = 696580, upload-time = "2024-10-21T11:26:39.503Z" },
+ { url = "https://files.pythonhosted.org/packages/30/fc/8cd12f189c6405a4c1cf37bd633aa740a9538c8e40497c231072d0fef5cf/ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a52d48f4e7bf9005e8f0a89209bf9a73f7190ddf0489eee5eb51377385f59f2a", size = 663393, upload-time = "2024-12-11T19:58:13.873Z" },
+ { url = "https://files.pythonhosted.org/packages/80/29/c0a017b704aaf3cbf704989785cd9c5d5b8ccec2dae6ac0c53833c84e677/ruamel.yaml.clib-0.2.12-cp310-cp310-win32.whl", hash = "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da", size = 100326, upload-time = "2024-10-20T10:12:42.967Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/65/fa39d74db4e2d0cd252355732d966a460a41cd01c6353b820a0952432839/ruamel.yaml.clib-0.2.12-cp310-cp310-win_amd64.whl", hash = "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28", size = 118079, upload-time = "2024-10-20T10:12:44.117Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/8f/683c6ad562f558cbc4f7c029abcd9599148c51c54b5ef0f24f2638da9fbb/ruamel.yaml.clib-0.2.12-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6", size = 132224, upload-time = "2024-10-20T10:12:45.162Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/d2/b79b7d695e2f21da020bd44c782490578f300dd44f0a4c57a92575758a76/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:d84318609196d6bd6da0edfa25cedfbabd8dbde5140a0a23af29ad4b8f91fb1e", size = 641480, upload-time = "2024-10-20T10:12:46.758Z" },
+ { url = "https://files.pythonhosted.org/packages/68/6e/264c50ce2a31473a9fdbf4fa66ca9b2b17c7455b31ef585462343818bd6c/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb43a269eb827806502c7c8efb7ae7e9e9d0573257a46e8e952f4d4caba4f31e", size = 739068, upload-time = "2024-10-20T10:12:48.605Z" },
+ { url = "https://files.pythonhosted.org/packages/86/29/88c2567bc893c84d88b4c48027367c3562ae69121d568e8a3f3a8d363f4d/ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52", size = 703012, upload-time = "2024-10-20T10:12:51.124Z" },
+ { url = "https://files.pythonhosted.org/packages/11/46/879763c619b5470820f0cd6ca97d134771e502776bc2b844d2adb6e37753/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cf12567a7b565cbf65d438dec6cfbe2917d3c1bdddfce84a9930b7d35ea59642", size = 704352, upload-time = "2024-10-21T11:26:41.438Z" },
+ { url = "https://files.pythonhosted.org/packages/02/80/ece7e6034256a4186bbe50dee28cd032d816974941a6abf6a9d65e4228a7/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7dd5adc8b930b12c8fc5b99e2d535a09889941aa0d0bd06f4749e9a9397c71d2", size = 737344, upload-time = "2024-10-21T11:26:43.62Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/ca/e4106ac7e80efbabdf4bf91d3d32fc424e41418458251712f5672eada9ce/ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1492a6051dab8d912fc2adeef0e8c72216b24d57bd896ea607cb90bb0c4981d3", size = 714498, upload-time = "2024-12-11T19:58:15.592Z" },
+ { url = "https://files.pythonhosted.org/packages/67/58/b1f60a1d591b771298ffa0428237afb092c7f29ae23bad93420b1eb10703/ruamel.yaml.clib-0.2.12-cp311-cp311-win32.whl", hash = "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4", size = 100205, upload-time = "2024-10-20T10:12:52.865Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/4f/b52f634c9548a9291a70dfce26ca7ebce388235c93588a1068028ea23fcc/ruamel.yaml.clib-0.2.12-cp311-cp311-win_amd64.whl", hash = "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb", size = 118185, upload-time = "2024-10-20T10:12:54.652Z" },
+ { url = "https://files.pythonhosted.org/packages/48/41/e7a405afbdc26af961678474a55373e1b323605a4f5e2ddd4a80ea80f628/ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632", size = 133433, upload-time = "2024-10-20T10:12:55.657Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/b0/b850385604334c2ce90e3ee1013bd911aedf058a934905863a6ea95e9eb4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d", size = 647362, upload-time = "2024-10-20T10:12:57.155Z" },
+ { url = "https://files.pythonhosted.org/packages/44/d0/3f68a86e006448fb6c005aee66565b9eb89014a70c491d70c08de597f8e4/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c", size = 754118, upload-time = "2024-10-20T10:12:58.501Z" },
+ { url = "https://files.pythonhosted.org/packages/52/a9/d39f3c5ada0a3bb2870d7db41901125dbe2434fa4f12ca8c5b83a42d7c53/ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd", size = 706497, upload-time = "2024-10-20T10:13:00.211Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/fa/097e38135dadd9ac25aecf2a54be17ddf6e4c23e43d538492a90ab3d71c6/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31", size = 698042, upload-time = "2024-10-21T11:26:46.038Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/d5/a659ca6f503b9379b930f13bc6b130c9f176469b73b9834296822a83a132/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680", size = 745831, upload-time = "2024-10-21T11:26:47.487Z" },
+ { url = "https://files.pythonhosted.org/packages/db/5d/36619b61ffa2429eeaefaab4f3374666adf36ad8ac6330d855848d7d36fd/ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d", size = 715692, upload-time = "2024-12-11T19:58:17.252Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/82/85cb92f15a4231c89b95dfe08b09eb6adca929ef7df7e17ab59902b6f589/ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5", size = 98777, upload-time = "2024-10-20T10:13:01.395Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/8f/c3654f6f1ddb75daf3922c3d8fc6005b1ab56671ad56ffb874d908bfa668/ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4", size = 115523, upload-time = "2024-10-20T10:13:02.768Z" },
+ { url = "https://files.pythonhosted.org/packages/29/00/4864119668d71a5fa45678f380b5923ff410701565821925c69780356ffa/ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a", size = 132011, upload-time = "2024-10-20T10:13:04.377Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/5e/212f473a93ae78c669ffa0cb051e3fee1139cb2d385d2ae1653d64281507/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475", size = 642488, upload-time = "2024-10-20T10:13:05.906Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/8f/ecfbe2123ade605c49ef769788f79c38ddb1c8fa81e01f4dbf5cf1a44b16/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef", size = 745066, upload-time = "2024-10-20T10:13:07.26Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/a9/28f60726d29dfc01b8decdb385de4ced2ced9faeb37a847bd5cf26836815/ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6", size = 701785, upload-time = "2024-10-20T10:13:08.504Z" },
+ { url = "https://files.pythonhosted.org/packages/84/7e/8e7ec45920daa7f76046578e4f677a3215fe8f18ee30a9cb7627a19d9b4c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf", size = 693017, upload-time = "2024-10-21T11:26:48.866Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/b3/d650eaade4ca225f02a648321e1ab835b9d361c60d51150bac49063b83fa/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1", size = 741270, upload-time = "2024-10-21T11:26:50.213Z" },
+ { url = "https://files.pythonhosted.org/packages/87/b8/01c29b924dcbbed75cc45b30c30d565d763b9c4d540545a0eeecffb8f09c/ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01", size = 709059, upload-time = "2024-12-11T19:58:18.846Z" },
+ { url = "https://files.pythonhosted.org/packages/30/8c/ed73f047a73638257aa9377ad356bea4d96125b305c34a28766f4445cc0f/ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6", size = 98583, upload-time = "2024-10-20T10:13:09.658Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/85/e8e751d8791564dd333d5d9a4eab0a7a115f7e349595417fd50ecae3395c/ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3", size = 115190, upload-time = "2024-10-20T10:13:10.66Z" },
]
[[package]]
name = "ruff"
-version = "0.11.7"
+version = "0.11.8"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/5b/89/6f9c9674818ac2e9cc2f2b35b704b7768656e6b7c139064fc7ba8fbc99f1/ruff-0.11.7.tar.gz", hash = "sha256:655089ad3224070736dc32844fde783454f8558e71f501cb207485fe4eee23d4", size = 4054861, upload_time = "2025-04-24T18:49:37.007Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/52/f6/adcf73711f31c9f5393862b4281c875a462d9f639f4ccdf69dc368311c20/ruff-0.11.8.tar.gz", hash = "sha256:6d742d10626f9004b781f4558154bb226620a7242080e11caeffab1a40e99df8", size = 4086399, upload-time = "2025-05-01T14:53:24.459Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b4/ec/21927cb906c5614b786d1621dba405e3d44f6e473872e6df5d1a6bca0455/ruff-0.11.7-py3-none-linux_armv6l.whl", hash = "sha256:d29e909d9a8d02f928d72ab7837b5cbc450a5bdf578ab9ebee3263d0a525091c", size = 10245403, upload_time = "2025-04-24T18:48:40.459Z" },
- { url = "https://files.pythonhosted.org/packages/e2/af/fec85b6c2c725bcb062a354dd7cbc1eed53c33ff3aa665165871c9c16ddf/ruff-0.11.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:dd1fb86b168ae349fb01dd497d83537b2c5541fe0626e70c786427dd8363aaee", size = 11007166, upload_time = "2025-04-24T18:48:44.742Z" },
- { url = "https://files.pythonhosted.org/packages/31/9a/2d0d260a58e81f388800343a45898fd8df73c608b8261c370058b675319a/ruff-0.11.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d3d7d2e140a6fbbc09033bce65bd7ea29d6a0adeb90b8430262fbacd58c38ada", size = 10378076, upload_time = "2025-04-24T18:48:47.918Z" },
- { url = "https://files.pythonhosted.org/packages/c2/c4/9b09b45051404d2e7dd6d9dbcbabaa5ab0093f9febcae664876a77b9ad53/ruff-0.11.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4809df77de390a1c2077d9b7945d82f44b95d19ceccf0c287c56e4dc9b91ca64", size = 10557138, upload_time = "2025-04-24T18:48:51.707Z" },
- { url = "https://files.pythonhosted.org/packages/5e/5e/f62a1b6669870a591ed7db771c332fabb30f83c967f376b05e7c91bccd14/ruff-0.11.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f3a0c2e169e6b545f8e2dba185eabbd9db4f08880032e75aa0e285a6d3f48201", size = 10095726, upload_time = "2025-04-24T18:48:54.243Z" },
- { url = "https://files.pythonhosted.org/packages/45/59/a7aa8e716f4cbe07c3500a391e58c52caf665bb242bf8be42c62adef649c/ruff-0.11.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49b888200a320dd96a68e86736cf531d6afba03e4f6cf098401406a257fcf3d6", size = 11672265, upload_time = "2025-04-24T18:48:57.639Z" },
- { url = "https://files.pythonhosted.org/packages/dd/e3/101a8b707481f37aca5f0fcc3e42932fa38b51add87bfbd8e41ab14adb24/ruff-0.11.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:2b19cdb9cf7dae00d5ee2e7c013540cdc3b31c4f281f1dacb5a799d610e90db4", size = 12331418, upload_time = "2025-04-24T18:49:00.697Z" },
- { url = "https://files.pythonhosted.org/packages/dd/71/037f76cbe712f5cbc7b852e4916cd3cf32301a30351818d32ab71580d1c0/ruff-0.11.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64e0ee994c9e326b43539d133a36a455dbaab477bc84fe7bfbd528abe2f05c1e", size = 11794506, upload_time = "2025-04-24T18:49:03.545Z" },
- { url = "https://files.pythonhosted.org/packages/ca/de/e450b6bab1fc60ef263ef8fcda077fb4977601184877dce1c59109356084/ruff-0.11.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bad82052311479a5865f52c76ecee5d468a58ba44fb23ee15079f17dd4c8fd63", size = 13939084, upload_time = "2025-04-24T18:49:07.159Z" },
- { url = "https://files.pythonhosted.org/packages/0e/2c/1e364cc92970075d7d04c69c928430b23e43a433f044474f57e425cbed37/ruff-0.11.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7940665e74e7b65d427b82bffc1e46710ec7f30d58b4b2d5016e3f0321436502", size = 11450441, upload_time = "2025-04-24T18:49:11.41Z" },
- { url = "https://files.pythonhosted.org/packages/9d/7d/1b048eb460517ff9accd78bca0fa6ae61df2b276010538e586f834f5e402/ruff-0.11.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:169027e31c52c0e36c44ae9a9c7db35e505fee0b39f8d9fca7274a6305295a92", size = 10441060, upload_time = "2025-04-24T18:49:14.184Z" },
- { url = "https://files.pythonhosted.org/packages/3a/57/8dc6ccfd8380e5ca3d13ff7591e8ba46a3b330323515a4996b991b10bd5d/ruff-0.11.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:305b93f9798aee582e91e34437810439acb28b5fc1fee6b8205c78c806845a94", size = 10058689, upload_time = "2025-04-24T18:49:17.559Z" },
- { url = "https://files.pythonhosted.org/packages/23/bf/20487561ed72654147817885559ba2aa705272d8b5dee7654d3ef2dbf912/ruff-0.11.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a681db041ef55550c371f9cd52a3cf17a0da4c75d6bd691092dfc38170ebc4b6", size = 11073703, upload_time = "2025-04-24T18:49:20.247Z" },
- { url = "https://files.pythonhosted.org/packages/9d/27/04f2db95f4ef73dccedd0c21daf9991cc3b7f29901a4362057b132075aa4/ruff-0.11.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:07f1496ad00a4a139f4de220b0c97da6d4c85e0e4aa9b2624167b7d4d44fd6b6", size = 11532822, upload_time = "2025-04-24T18:49:23.765Z" },
- { url = "https://files.pythonhosted.org/packages/e1/72/43b123e4db52144c8add336581de52185097545981ff6e9e58a21861c250/ruff-0.11.7-py3-none-win32.whl", hash = "sha256:f25dfb853ad217e6e5f1924ae8a5b3f6709051a13e9dad18690de6c8ff299e26", size = 10362436, upload_time = "2025-04-24T18:49:27.377Z" },
- { url = "https://files.pythonhosted.org/packages/c5/a0/3e58cd76fdee53d5c8ce7a56d84540833f924ccdf2c7d657cb009e604d82/ruff-0.11.7-py3-none-win_amd64.whl", hash = "sha256:0a931d85959ceb77e92aea4bbedfded0a31534ce191252721128f77e5ae1f98a", size = 11566676, upload_time = "2025-04-24T18:49:30.938Z" },
- { url = "https://files.pythonhosted.org/packages/68/ca/69d7c7752bce162d1516e5592b1cc6b6668e9328c0d270609ddbeeadd7cf/ruff-0.11.7-py3-none-win_arm64.whl", hash = "sha256:778c1e5d6f9e91034142dfd06110534ca13220bfaad5c3735f6cb844654f6177", size = 10677936, upload_time = "2025-04-24T18:49:34.392Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/60/c6aa9062fa518a9f86cb0b85248245cddcd892a125ca00441df77d79ef88/ruff-0.11.8-py3-none-linux_armv6l.whl", hash = "sha256:896a37516c594805e34020c4a7546c8f8a234b679a7716a3f08197f38913e1a3", size = 10272473, upload-time = "2025-05-01T14:52:37.252Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/e4/0325e50d106dc87c00695f7bcd5044c6d252ed5120ebf423773e00270f50/ruff-0.11.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ab86d22d3d721a40dd3ecbb5e86ab03b2e053bc93c700dc68d1c3346b36ce835", size = 11040862, upload-time = "2025-05-01T14:52:41.022Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/27/b87ea1a7be37fef0adbc7fd987abbf90b6607d96aa3fc67e2c5b858e1e53/ruff-0.11.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:258f3585057508d317610e8a412788cf726efeefa2fec4dba4001d9e6f90d46c", size = 10385273, upload-time = "2025-05-01T14:52:43.551Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/f7/3346161570d789045ed47a86110183f6ac3af0e94e7fd682772d89f7f1a1/ruff-0.11.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:727d01702f7c30baed3fc3a34901a640001a2828c793525043c29f7614994a8c", size = 10578330, upload-time = "2025-05-01T14:52:45.48Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/c3/327fb950b4763c7b3784f91d3038ef10c13b2d42322d4ade5ce13a2f9edb/ruff-0.11.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3dca977cc4fc8f66e89900fa415ffe4dbc2e969da9d7a54bfca81a128c5ac219", size = 10122223, upload-time = "2025-05-01T14:52:47.675Z" },
+ { url = "https://files.pythonhosted.org/packages/de/c7/ba686bce9adfeb6c61cb1bbadc17d58110fe1d602f199d79d4c880170f19/ruff-0.11.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c657fa987d60b104d2be8b052d66da0a2a88f9bd1d66b2254333e84ea2720c7f", size = 11697353, upload-time = "2025-05-01T14:52:50.264Z" },
+ { url = "https://files.pythonhosted.org/packages/53/8e/a4fb4a1ddde3c59e73996bb3ac51844ff93384d533629434b1def7a336b0/ruff-0.11.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f2e74b021d0de5eceb8bd32919f6ff8a9b40ee62ed97becd44993ae5b9949474", size = 12375936, upload-time = "2025-05-01T14:52:52.394Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/a1/9529cb1e2936e2479a51aeb011307e7229225df9ac64ae064d91ead54571/ruff-0.11.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f9b5ef39820abc0f2c62111f7045009e46b275f5b99d5e59dda113c39b7f4f38", size = 11850083, upload-time = "2025-05-01T14:52:55.424Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/94/8f7eac4c612673ae15a4ad2bc0ee62e03c68a2d4f458daae3de0e47c67ba/ruff-0.11.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1dba3135ca503727aa4648152c0fa67c3b1385d3dc81c75cd8a229c4b2a1458", size = 14005834, upload-time = "2025-05-01T14:52:58.056Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/7c/6f63b46b2be870cbf3f54c9c4154d13fac4b8827f22fa05ac835c10835b2/ruff-0.11.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f024d32e62faad0f76b2d6afd141b8c171515e4fb91ce9fd6464335c81244e5", size = 11503713, upload-time = "2025-05-01T14:53:01.244Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/91/57de411b544b5fe072779678986a021d87c3ee5b89551f2ca41200c5d643/ruff-0.11.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d365618d3ad747432e1ae50d61775b78c055fee5936d77fb4d92c6f559741948", size = 10457182, upload-time = "2025-05-01T14:53:03.726Z" },
+ { url = "https://files.pythonhosted.org/packages/01/49/cfe73e0ce5ecdd3e6f1137bf1f1be03dcc819d1bfe5cff33deb40c5926db/ruff-0.11.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:4d9aaa91035bdf612c8ee7266153bcf16005c7c7e2f5878406911c92a31633cb", size = 10101027, upload-time = "2025-05-01T14:53:06.555Z" },
+ { url = "https://files.pythonhosted.org/packages/56/21/a5cfe47c62b3531675795f38a0ef1c52ff8de62eaddf370d46634391a3fb/ruff-0.11.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:0eba551324733efc76116d9f3a0d52946bc2751f0cd30661564117d6fd60897c", size = 11111298, upload-time = "2025-05-01T14:53:08.825Z" },
+ { url = "https://files.pythonhosted.org/packages/36/98/f76225f87e88f7cb669ae92c062b11c0a1e91f32705f829bd426f8e48b7b/ruff-0.11.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:161eb4cff5cfefdb6c9b8b3671d09f7def2f960cee33481dd898caf2bcd02304", size = 11566884, upload-time = "2025-05-01T14:53:11.626Z" },
+ { url = "https://files.pythonhosted.org/packages/de/7e/fff70b02e57852fda17bd43f99dda37b9bcf3e1af3d97c5834ff48d04715/ruff-0.11.8-py3-none-win32.whl", hash = "sha256:5b18caa297a786465cc511d7f8be19226acf9c0a1127e06e736cd4e1878c3ea2", size = 10451102, upload-time = "2025-05-01T14:53:14.303Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/a9/eaa571eb70648c9bde3120a1d5892597de57766e376b831b06e7c1e43945/ruff-0.11.8-py3-none-win_amd64.whl", hash = "sha256:6e70d11043bef637c5617297bdedec9632af15d53ac1e1ba29c448da9341b0c4", size = 11597410, upload-time = "2025-05-01T14:53:16.571Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/be/f6b790d6ae98f1f32c645f8540d5c96248b72343b0a56fab3a07f2941897/ruff-0.11.8-py3-none-win_arm64.whl", hash = "sha256:304432e4c4a792e3da85b7699feb3426a0908ab98bf29df22a31b0cdd098fac2", size = 10713129, upload-time = "2025-05-01T14:53:22.27Z" },
]
[[package]]
@@ -2320,23 +2324,23 @@ dependencies = [
{ name = "scipy" },
{ name = "tifffile" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/65/c1/a49da20845f0f0e1afbb1c2586d406dc0acb84c26ae293bad6d7e7f718bc/scikit_image-0.22.0.tar.gz", hash = "sha256:018d734df1d2da2719087d15f679d19285fce97cd37695103deadfaef2873236", size = 22685018, upload_time = "2023-10-03T21:36:34.274Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/65/c1/a49da20845f0f0e1afbb1c2586d406dc0acb84c26ae293bad6d7e7f718bc/scikit_image-0.22.0.tar.gz", hash = "sha256:018d734df1d2da2719087d15f679d19285fce97cd37695103deadfaef2873236", size = 22685018, upload-time = "2023-10-03T21:36:34.274Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/9c/8c/381ae42b37cf3e9e99a1deb3ffe76ca5ff5dd18ffa368293476164507fad/scikit_image-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74ec5c1d4693506842cc7c9487c89d8fc32aed064e9363def7af08b8f8cbb31d", size = 13905039, upload_time = "2023-10-03T21:35:27.279Z" },
- { url = "https://files.pythonhosted.org/packages/16/06/4bfba08f5cce26d5070bb2cf4e3f9f479480978806355d1c5bea6f26a17c/scikit_image-0.22.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:a05ae4fe03d802587ed8974e900b943275548cde6a6807b785039d63e9a7a5ff", size = 13279212, upload_time = "2023-10-03T21:35:30.864Z" },
- { url = "https://files.pythonhosted.org/packages/74/57/dbf744ca00eea2a09b1848c9dec28a43978c16dc049b1fba949cb050bedf/scikit_image-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a92dca3d95b1301442af055e196a54b5a5128c6768b79fc0a4098f1d662dee6", size = 14091779, upload_time = "2023-10-03T21:35:34.273Z" },
- { url = "https://files.pythonhosted.org/packages/f1/6c/49f5a0ce8ddcdbdac5ac69c129654938cc6de0a936303caa6cad495ceb2a/scikit_image-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3663d063d8bf2fb9bdfb0ca967b9ee3b6593139c860c7abc2d2351a8a8863938", size = 14682042, upload_time = "2023-10-03T21:35:37.787Z" },
- { url = "https://files.pythonhosted.org/packages/86/f0/18895318109f9b508f2310f136922e455a453550826a8240b412063c2528/scikit_image-0.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:ebdbdc901bae14dab637f8d5c99f6d5cc7aaf4a3b6f4003194e003e9f688a6fc", size = 24492345, upload_time = "2023-10-03T21:35:41.122Z" },
- { url = "https://files.pythonhosted.org/packages/9f/d9/dc99e527d1a0050f0353d2fff3548273b4df6151884806e324f26572fd6b/scikit_image-0.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95d6da2d8a44a36ae04437c76d32deb4e3c993ffc846b394b9949fd8ded73cb2", size = 13883619, upload_time = "2023-10-03T21:35:44.88Z" },
- { url = "https://files.pythonhosted.org/packages/80/37/7670020b112ff9a47e49b1e36f438d000db5b632aab8a8fd7e6be545d065/scikit_image-0.22.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:2c6ef454a85f569659b813ac2a93948022b0298516b757c9c6c904132be327e2", size = 13264761, upload_time = "2023-10-03T21:35:48.865Z" },
- { url = "https://files.pythonhosted.org/packages/ad/85/dadf1194793ac1c895370f3ed048bb91dda083775b42e11d9672a50494d5/scikit_image-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87872f067444ee90a00dd49ca897208308645382e8a24bd3e76f301af2352cd", size = 14070710, upload_time = "2023-10-03T21:35:51.711Z" },
- { url = "https://files.pythonhosted.org/packages/d4/34/e27bf2bfe7b52b884b49bd71ea91ff81e4737246735ee5ea383314c31876/scikit_image-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5c378db54e61b491b9edeefff87e49fcf7fdf729bb93c777d7a5f15d36f743e", size = 14664172, upload_time = "2023-10-03T21:35:55.752Z" },
- { url = "https://files.pythonhosted.org/packages/ce/d0/a3f60c9f57ed295b3076e4acdb29a37bbd8823452562ab2ad51b03d6f377/scikit_image-0.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:2bcb74adb0634258a67f66c2bb29978c9a3e222463e003b67ba12056c003971b", size = 24491321, upload_time = "2023-10-03T21:35:58.847Z" },
- { url = "https://files.pythonhosted.org/packages/da/a4/b0b69bde4d6360e801d647691591dc9967a25a18a4c63ecf7f87d94e3fac/scikit_image-0.22.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:003ca2274ac0fac252280e7179ff986ff783407001459ddea443fe7916e38cff", size = 13968808, upload_time = "2023-10-03T21:36:02.526Z" },
- { url = "https://files.pythonhosted.org/packages/e4/65/3c0f77e7a9bae100a8f7f5cebde410fca1a3cf64e1ecdd343666e27b11d4/scikit_image-0.22.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:cf3c0c15b60ae3e557a0c7575fbd352f0c3ce0afca562febfe3ab80efbeec0e9", size = 13323763, upload_time = "2023-10-03T21:36:05.504Z" },
- { url = "https://files.pythonhosted.org/packages/4a/ed/7faf9f7a55d5b3095d33990a85603b66866cce2a608b27f0e1487d70a451/scikit_image-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5b23908dd4d120e6aecb1ed0277563e8cbc8d6c0565bdc4c4c6475d53608452", size = 13877233, upload_time = "2023-10-03T21:36:08.352Z" },
- { url = "https://files.pythonhosted.org/packages/ae/9d/09d06f36ce71fa276e1d9453fb4b04250a7038292b13b8c273a5a1a8f7c0/scikit_image-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be79d7493f320a964f8fcf603121595ba82f84720de999db0fcca002266a549a", size = 14954814, upload_time = "2023-10-03T21:36:11.871Z" },
- { url = "https://files.pythonhosted.org/packages/dc/35/e6327ae498c6f557cb0a7c3fc284effe7958d2d1c43fb61cd77804fc2c4f/scikit_image-0.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:722b970aa5da725dca55252c373b18bbea7858c1cdb406e19f9b01a4a73b30b2", size = 25004857, upload_time = "2023-10-03T21:36:15.457Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/8c/381ae42b37cf3e9e99a1deb3ffe76ca5ff5dd18ffa368293476164507fad/scikit_image-0.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:74ec5c1d4693506842cc7c9487c89d8fc32aed064e9363def7af08b8f8cbb31d", size = 13905039, upload-time = "2023-10-03T21:35:27.279Z" },
+ { url = "https://files.pythonhosted.org/packages/16/06/4bfba08f5cce26d5070bb2cf4e3f9f479480978806355d1c5bea6f26a17c/scikit_image-0.22.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:a05ae4fe03d802587ed8974e900b943275548cde6a6807b785039d63e9a7a5ff", size = 13279212, upload-time = "2023-10-03T21:35:30.864Z" },
+ { url = "https://files.pythonhosted.org/packages/74/57/dbf744ca00eea2a09b1848c9dec28a43978c16dc049b1fba949cb050bedf/scikit_image-0.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a92dca3d95b1301442af055e196a54b5a5128c6768b79fc0a4098f1d662dee6", size = 14091779, upload-time = "2023-10-03T21:35:34.273Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/6c/49f5a0ce8ddcdbdac5ac69c129654938cc6de0a936303caa6cad495ceb2a/scikit_image-0.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3663d063d8bf2fb9bdfb0ca967b9ee3b6593139c860c7abc2d2351a8a8863938", size = 14682042, upload-time = "2023-10-03T21:35:37.787Z" },
+ { url = "https://files.pythonhosted.org/packages/86/f0/18895318109f9b508f2310f136922e455a453550826a8240b412063c2528/scikit_image-0.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:ebdbdc901bae14dab637f8d5c99f6d5cc7aaf4a3b6f4003194e003e9f688a6fc", size = 24492345, upload-time = "2023-10-03T21:35:41.122Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/d9/dc99e527d1a0050f0353d2fff3548273b4df6151884806e324f26572fd6b/scikit_image-0.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:95d6da2d8a44a36ae04437c76d32deb4e3c993ffc846b394b9949fd8ded73cb2", size = 13883619, upload-time = "2023-10-03T21:35:44.88Z" },
+ { url = "https://files.pythonhosted.org/packages/80/37/7670020b112ff9a47e49b1e36f438d000db5b632aab8a8fd7e6be545d065/scikit_image-0.22.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:2c6ef454a85f569659b813ac2a93948022b0298516b757c9c6c904132be327e2", size = 13264761, upload-time = "2023-10-03T21:35:48.865Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/85/dadf1194793ac1c895370f3ed048bb91dda083775b42e11d9672a50494d5/scikit_image-0.22.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e87872f067444ee90a00dd49ca897208308645382e8a24bd3e76f301af2352cd", size = 14070710, upload-time = "2023-10-03T21:35:51.711Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/34/e27bf2bfe7b52b884b49bd71ea91ff81e4737246735ee5ea383314c31876/scikit_image-0.22.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5c378db54e61b491b9edeefff87e49fcf7fdf729bb93c777d7a5f15d36f743e", size = 14664172, upload-time = "2023-10-03T21:35:55.752Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/d0/a3f60c9f57ed295b3076e4acdb29a37bbd8823452562ab2ad51b03d6f377/scikit_image-0.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:2bcb74adb0634258a67f66c2bb29978c9a3e222463e003b67ba12056c003971b", size = 24491321, upload-time = "2023-10-03T21:35:58.847Z" },
+ { url = "https://files.pythonhosted.org/packages/da/a4/b0b69bde4d6360e801d647691591dc9967a25a18a4c63ecf7f87d94e3fac/scikit_image-0.22.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:003ca2274ac0fac252280e7179ff986ff783407001459ddea443fe7916e38cff", size = 13968808, upload-time = "2023-10-03T21:36:02.526Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/65/3c0f77e7a9bae100a8f7f5cebde410fca1a3cf64e1ecdd343666e27b11d4/scikit_image-0.22.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:cf3c0c15b60ae3e557a0c7575fbd352f0c3ce0afca562febfe3ab80efbeec0e9", size = 13323763, upload-time = "2023-10-03T21:36:05.504Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/ed/7faf9f7a55d5b3095d33990a85603b66866cce2a608b27f0e1487d70a451/scikit_image-0.22.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5b23908dd4d120e6aecb1ed0277563e8cbc8d6c0565bdc4c4c6475d53608452", size = 13877233, upload-time = "2023-10-03T21:36:08.352Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/9d/09d06f36ce71fa276e1d9453fb4b04250a7038292b13b8c273a5a1a8f7c0/scikit_image-0.22.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be79d7493f320a964f8fcf603121595ba82f84720de999db0fcca002266a549a", size = 14954814, upload-time = "2023-10-03T21:36:11.871Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/35/e6327ae498c6f557cb0a7c3fc284effe7958d2d1c43fb61cd77804fc2c4f/scikit_image-0.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:722b970aa5da725dca55252c373b18bbea7858c1cdb406e19f9b01a4a73b30b2", size = 25004857, upload-time = "2023-10-03T21:36:15.457Z" },
]
[[package]]
@@ -2349,23 +2353,23 @@ dependencies = [
{ name = "scipy" },
{ name = "threadpoolctl" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/88/00/835e3d280fdd7784e76bdef91dd9487582d7951a7254f59fc8004fc8b213/scikit-learn-1.3.2.tar.gz", hash = "sha256:a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05", size = 7510251, upload_time = "2023-10-23T13:47:55.287Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/88/00/835e3d280fdd7784e76bdef91dd9487582d7951a7254f59fc8004fc8b213/scikit-learn-1.3.2.tar.gz", hash = "sha256:a2f54c76accc15a34bfb9066e6c7a56c1e7235dda5762b990792330b52ccfb05", size = 7510251, upload-time = "2023-10-23T13:47:55.287Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/0d/53/570b55a6e10b8694ac1e3024d2df5cd443f1b4ff6d28430845da8b9019b3/scikit_learn-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e326c0eb5cf4d6ba40f93776a20e9a7a69524c4db0757e7ce24ba222471ee8a1", size = 10209999, upload_time = "2023-10-23T13:46:30.373Z" },
- { url = "https://files.pythonhosted.org/packages/70/d0/50ace22129f79830e3cf682d0a2bd4843ef91573299d43112d52790163a8/scikit_learn-1.3.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:535805c2a01ccb40ca4ab7d081d771aea67e535153e35a1fd99418fcedd1648a", size = 9479353, upload_time = "2023-10-23T13:46:34.368Z" },
- { url = "https://files.pythonhosted.org/packages/8f/46/fcc35ed7606c50d3072eae5a107a45cfa5b7f5fa8cc48610edd8cc8e8550/scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1215e5e58e9880b554b01187b8c9390bf4dc4692eedeaf542d3273f4785e342c", size = 10304705, upload_time = "2023-10-23T13:46:37.868Z" },
- { url = "https://files.pythonhosted.org/packages/d0/0b/26ad95cf0b747be967b15fb71a06f5ac67aba0fd2f9cd174de6edefc4674/scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ee107923a623b9f517754ea2f69ea3b62fc898a3641766cb7deb2f2ce450161", size = 10827807, upload_time = "2023-10-23T13:46:41.59Z" },
- { url = "https://files.pythonhosted.org/packages/69/8a/cf17d6443f5f537e099be81535a56ab68a473f9393fbffda38cd19899fc8/scikit_learn-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:35a22e8015048c628ad099da9df5ab3004cdbf81edc75b396fd0cff8699ac58c", size = 9255427, upload_time = "2023-10-23T13:46:44.826Z" },
- { url = "https://files.pythonhosted.org/packages/08/5d/e5acecd6e99a6b656e42e7a7b18284e2f9c9f512e8ed6979e1e75d25f05f/scikit_learn-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6fb6bc98f234fda43163ddbe36df8bcde1d13ee176c6dc9b92bb7d3fc842eb66", size = 10116376, upload_time = "2023-10-23T13:46:48.147Z" },
- { url = "https://files.pythonhosted.org/packages/40/c6/2e91eefb757822e70d351e02cc38d07c137212ae7c41ac12746415b4860a/scikit_learn-1.3.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:18424efee518a1cde7b0b53a422cde2f6625197de6af36da0b57ec502f126157", size = 9383415, upload_time = "2023-10-23T13:46:51.324Z" },
- { url = "https://files.pythonhosted.org/packages/fa/fd/b3637639e73bb72b12803c5245f2a7299e09b2acd85a0f23937c53369a1c/scikit_learn-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3271552a5eb16f208a6f7f617b8cc6d1f137b52c8a1ef8edf547db0259b2c9fb", size = 10279163, upload_time = "2023-10-23T13:46:54.642Z" },
- { url = "https://files.pythonhosted.org/packages/0c/2a/d3ff6091406bc2207e0adb832ebd15e40ac685811c7e2e3b432bfd969b71/scikit_learn-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4144a5004a676d5022b798d9e573b05139e77f271253a4703eed295bde0433", size = 10884422, upload_time = "2023-10-23T13:46:58.087Z" },
- { url = "https://files.pythonhosted.org/packages/4e/ba/ce9bd1cd4953336a0e213b29cb80bb11816f2a93de8c99f88ef0b446ad0c/scikit_learn-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:67f37d708f042a9b8d59551cf94d30431e01374e00dc2645fa186059c6c5d78b", size = 9207060, upload_time = "2023-10-23T13:47:00.948Z" },
- { url = "https://files.pythonhosted.org/packages/26/7e/2c3b82c8c29aa384c8bf859740419278627d2cdd0050db503c8840e72477/scikit_learn-1.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8db94cd8a2e038b37a80a04df8783e09caac77cbe052146432e67800e430c028", size = 9979322, upload_time = "2023-10-23T13:47:03.977Z" },
- { url = "https://files.pythonhosted.org/packages/cf/fc/6c52ffeb587259b6b893b7cac268f1eb1b5426bcce1aa20e53523bfe6944/scikit_learn-1.3.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:61a6efd384258789aa89415a410dcdb39a50e19d3d8410bd29be365bcdd512d5", size = 9270688, upload_time = "2023-10-23T13:47:07.316Z" },
- { url = "https://files.pythonhosted.org/packages/e5/a7/6f4ae76f72ae9de162b97acbf1f53acbe404c555f968d13da21e4112a002/scikit_learn-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb06f8dce3f5ddc5dee1715a9b9f19f20d295bed8e3cd4fa51e1d050347de525", size = 10280398, upload_time = "2023-10-23T13:47:10.796Z" },
- { url = "https://files.pythonhosted.org/packages/5d/b7/ee35904c07a0666784349529412fbb9814a56382b650d30fd9d6be5e5054/scikit_learn-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b2de18d86f630d68fe1f87af690d451388bb186480afc719e5f770590c2ef6c", size = 10796478, upload_time = "2023-10-23T13:47:14.077Z" },
- { url = "https://files.pythonhosted.org/packages/fe/6b/db949ed5ac367987b1f250f070f340b7715d22f0c9c965bdf07de6ca75a3/scikit_learn-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:0402638c9a7c219ee52c94cbebc8fcb5eb9fe9c773717965c1f4185588ad3107", size = 9133979, upload_time = "2023-10-23T13:47:17.389Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/53/570b55a6e10b8694ac1e3024d2df5cd443f1b4ff6d28430845da8b9019b3/scikit_learn-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e326c0eb5cf4d6ba40f93776a20e9a7a69524c4db0757e7ce24ba222471ee8a1", size = 10209999, upload-time = "2023-10-23T13:46:30.373Z" },
+ { url = "https://files.pythonhosted.org/packages/70/d0/50ace22129f79830e3cf682d0a2bd4843ef91573299d43112d52790163a8/scikit_learn-1.3.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:535805c2a01ccb40ca4ab7d081d771aea67e535153e35a1fd99418fcedd1648a", size = 9479353, upload-time = "2023-10-23T13:46:34.368Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/46/fcc35ed7606c50d3072eae5a107a45cfa5b7f5fa8cc48610edd8cc8e8550/scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1215e5e58e9880b554b01187b8c9390bf4dc4692eedeaf542d3273f4785e342c", size = 10304705, upload-time = "2023-10-23T13:46:37.868Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/0b/26ad95cf0b747be967b15fb71a06f5ac67aba0fd2f9cd174de6edefc4674/scikit_learn-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ee107923a623b9f517754ea2f69ea3b62fc898a3641766cb7deb2f2ce450161", size = 10827807, upload-time = "2023-10-23T13:46:41.59Z" },
+ { url = "https://files.pythonhosted.org/packages/69/8a/cf17d6443f5f537e099be81535a56ab68a473f9393fbffda38cd19899fc8/scikit_learn-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:35a22e8015048c628ad099da9df5ab3004cdbf81edc75b396fd0cff8699ac58c", size = 9255427, upload-time = "2023-10-23T13:46:44.826Z" },
+ { url = "https://files.pythonhosted.org/packages/08/5d/e5acecd6e99a6b656e42e7a7b18284e2f9c9f512e8ed6979e1e75d25f05f/scikit_learn-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6fb6bc98f234fda43163ddbe36df8bcde1d13ee176c6dc9b92bb7d3fc842eb66", size = 10116376, upload-time = "2023-10-23T13:46:48.147Z" },
+ { url = "https://files.pythonhosted.org/packages/40/c6/2e91eefb757822e70d351e02cc38d07c137212ae7c41ac12746415b4860a/scikit_learn-1.3.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:18424efee518a1cde7b0b53a422cde2f6625197de6af36da0b57ec502f126157", size = 9383415, upload-time = "2023-10-23T13:46:51.324Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/fd/b3637639e73bb72b12803c5245f2a7299e09b2acd85a0f23937c53369a1c/scikit_learn-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3271552a5eb16f208a6f7f617b8cc6d1f137b52c8a1ef8edf547db0259b2c9fb", size = 10279163, upload-time = "2023-10-23T13:46:54.642Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/2a/d3ff6091406bc2207e0adb832ebd15e40ac685811c7e2e3b432bfd969b71/scikit_learn-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4144a5004a676d5022b798d9e573b05139e77f271253a4703eed295bde0433", size = 10884422, upload-time = "2023-10-23T13:46:58.087Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/ba/ce9bd1cd4953336a0e213b29cb80bb11816f2a93de8c99f88ef0b446ad0c/scikit_learn-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:67f37d708f042a9b8d59551cf94d30431e01374e00dc2645fa186059c6c5d78b", size = 9207060, upload-time = "2023-10-23T13:47:00.948Z" },
+ { url = "https://files.pythonhosted.org/packages/26/7e/2c3b82c8c29aa384c8bf859740419278627d2cdd0050db503c8840e72477/scikit_learn-1.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8db94cd8a2e038b37a80a04df8783e09caac77cbe052146432e67800e430c028", size = 9979322, upload-time = "2023-10-23T13:47:03.977Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/fc/6c52ffeb587259b6b893b7cac268f1eb1b5426bcce1aa20e53523bfe6944/scikit_learn-1.3.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:61a6efd384258789aa89415a410dcdb39a50e19d3d8410bd29be365bcdd512d5", size = 9270688, upload-time = "2023-10-23T13:47:07.316Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/a7/6f4ae76f72ae9de162b97acbf1f53acbe404c555f968d13da21e4112a002/scikit_learn-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb06f8dce3f5ddc5dee1715a9b9f19f20d295bed8e3cd4fa51e1d050347de525", size = 10280398, upload-time = "2023-10-23T13:47:10.796Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/b7/ee35904c07a0666784349529412fbb9814a56382b650d30fd9d6be5e5054/scikit_learn-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5b2de18d86f630d68fe1f87af690d451388bb186480afc719e5f770590c2ef6c", size = 10796478, upload-time = "2023-10-23T13:47:14.077Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/6b/db949ed5ac367987b1f250f070f340b7715d22f0c9c965bdf07de6ca75a3/scikit_learn-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:0402638c9a7c219ee52c94cbebc8fcb5eb9fe9c773717965c1f4185588ad3107", size = 9133979, upload-time = "2023-10-23T13:47:17.389Z" },
]
[[package]]
@@ -2375,35 +2379,35 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "numpy" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/6e/1f/91144ba78dccea567a6466262922786ffc97be1e9b06ed9574ef0edc11e1/scipy-1.11.4.tar.gz", hash = "sha256:90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa", size = 56336202, upload_time = "2023-11-18T21:06:08.277Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/6e/1f/91144ba78dccea567a6466262922786ffc97be1e9b06ed9574ef0edc11e1/scipy-1.11.4.tar.gz", hash = "sha256:90a2b78e7f5733b9de748f589f09225013685f9b218275257f8a8168ededaeaa", size = 56336202, upload-time = "2023-11-18T21:06:08.277Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/34/c6/a32add319475d21f89733c034b99c81b3a7c6c7c19f96f80c7ca3ff1bbd4/scipy-1.11.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc9a714581f561af0848e6b69947fda0614915f072dfd14142ed1bfe1b806710", size = 37293259, upload_time = "2023-11-18T21:01:18.805Z" },
- { url = "https://files.pythonhosted.org/packages/de/0d/4fa68303568c70fd56fbf40668b6c6807cfee4cad975f07d80bdd26d013e/scipy-1.11.4-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:cf00bd2b1b0211888d4dc75656c0412213a8b25e80d73898083f402b50f47e41", size = 29760656, upload_time = "2023-11-18T21:01:41.815Z" },
- { url = "https://files.pythonhosted.org/packages/13/e5/8012be7857db6cbbbdbeea8a154dbacdfae845e95e1e19c028e82236d4a0/scipy-1.11.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9999c008ccf00e8fbcce1236f85ade5c569d13144f77a1946bef8863e8f6eb4", size = 32922489, upload_time = "2023-11-18T21:01:50.637Z" },
- { url = "https://files.pythonhosted.org/packages/e0/9e/80e2205d138960a49caea391f3710600895dd8292b6868dc9aff7aa593f9/scipy-1.11.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:933baf588daa8dc9a92c20a0be32f56d43faf3d1a60ab11b3f08c356430f6e56", size = 36442040, upload_time = "2023-11-18T21:02:00.119Z" },
- { url = "https://files.pythonhosted.org/packages/69/60/30a9c3fbe5066a3a93eefe3e2d44553df13587e6f792e1bff20dfed3d17e/scipy-1.11.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8fce70f39076a5aa62e92e69a7f62349f9574d8405c0a5de6ed3ef72de07f446", size = 36643257, upload_time = "2023-11-18T21:02:06.798Z" },
- { url = "https://files.pythonhosted.org/packages/f8/ec/b46756f80e3f4c5f0989f6e4492c2851f156d9c239d554754a3c8cffd4e2/scipy-1.11.4-cp310-cp310-win_amd64.whl", hash = "sha256:6550466fbeec7453d7465e74d4f4b19f905642c89a7525571ee91dd7adabb5a3", size = 44149285, upload_time = "2023-11-18T21:02:15.592Z" },
- { url = "https://files.pythonhosted.org/packages/b8/f2/1aefbd5e54ebd8c6163ccf7f73e5d17bc8cb38738d312befc524fce84bb4/scipy-1.11.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f313b39a7e94f296025e3cffc2c567618174c0b1dde173960cf23808f9fae4be", size = 37159197, upload_time = "2023-11-18T21:02:21.959Z" },
- { url = "https://files.pythonhosted.org/packages/4b/48/20e77ddb1f473d4717a7d4d3fc8d15557f406f7708496054c59f635b7734/scipy-1.11.4-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1b7c3dca977f30a739e0409fb001056484661cb2541a01aba0bb0029f7b68db8", size = 29675057, upload_time = "2023-11-18T21:02:28.169Z" },
- { url = "https://files.pythonhosted.org/packages/75/2e/a781862190d0e7e76afa74752ef363488a9a9d6ea86e46d5e5506cee8df6/scipy-1.11.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00150c5eae7b610c32589dda259eacc7c4f1665aedf25d921907f4d08a951b1c", size = 32882747, upload_time = "2023-11-18T21:02:33.683Z" },
- { url = "https://files.pythonhosted.org/packages/6b/d4/d62ce38ba00dc67d7ec4ec5cc19d36958d8ed70e63778715ad626bcbc796/scipy-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:530f9ad26440e85766509dbf78edcfe13ffd0ab7fec2560ee5c36ff74d6269ff", size = 36402732, upload_time = "2023-11-18T21:02:39.762Z" },
- { url = "https://files.pythonhosted.org/packages/88/86/827b56aea1ed04adbb044a675672a73c84d81076a350092bbfcfc1ae723b/scipy-1.11.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5e347b14fe01003d3b78e196e84bd3f48ffe4c8a7b8a1afbcb8f5505cb710993", size = 36622138, upload_time = "2023-11-18T21:02:45.968Z" },
- { url = "https://files.pythonhosted.org/packages/43/d0/f3cd75b62e1b90f48dbf091261b2fc7ceec14a700e308c50f6a69c83d337/scipy-1.11.4-cp311-cp311-win_amd64.whl", hash = "sha256:acf8ed278cc03f5aff035e69cb511741e0418681d25fbbb86ca65429c4f4d9cd", size = 44095631, upload_time = "2023-11-18T21:02:52.859Z" },
- { url = "https://files.pythonhosted.org/packages/df/64/8a690570485b636da614acff35fd725fcbc487f8b1fa9bdb12871b77412f/scipy-1.11.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:028eccd22e654b3ea01ee63705681ee79933652b2d8f873e7949898dda6d11b6", size = 37053653, upload_time = "2023-11-18T21:03:00.107Z" },
- { url = "https://files.pythonhosted.org/packages/5e/43/abf331745a7e5f4af51f13d40e2a72f516048db41ecbcf3ac6f86ada54a3/scipy-1.11.4-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c6ff6ef9cc27f9b3db93a6f8b38f97387e6e0591600369a297a50a8e96e835d", size = 29641601, upload_time = "2023-11-18T21:03:06.708Z" },
- { url = "https://files.pythonhosted.org/packages/47/9b/62d0ec086dd2871009da8769c504bec6e39b80f4c182c6ead0fcebd8b323/scipy-1.11.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b030c6674b9230d37c5c60ab456e2cf12f6784596d15ce8da9365e70896effc4", size = 32272137, upload_time = "2023-11-18T21:03:14.877Z" },
- { url = "https://files.pythonhosted.org/packages/08/77/f90f7306d755ac68bd159c50bb86fffe38400e533e8c609dd8484bd0f172/scipy-1.11.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad669df80528aeca5f557712102538f4f37e503f0c5b9541655016dd0932ca79", size = 35777534, upload_time = "2023-11-18T21:03:21.451Z" },
- { url = "https://files.pythonhosted.org/packages/00/de/b9f6938090c37b5092969ba1c67118e9114e8e6ef9d197251671444e839c/scipy-1.11.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ce7fff2e23ab2cc81ff452a9444c215c28e6305f396b2ba88343a567feec9660", size = 35963721, upload_time = "2023-11-18T21:03:27.85Z" },
- { url = "https://files.pythonhosted.org/packages/c6/a1/357e4cd43af2748e1e0407ae0e9a5ea8aaaa6b702833c81be11670dcbad8/scipy-1.11.4-cp312-cp312-win_amd64.whl", hash = "sha256:36750b7733d960d7994888f0d148d31ea3017ac15eef664194b4ef68d36a4a97", size = 43730653, upload_time = "2023-11-18T21:03:34.758Z" },
+ { url = "https://files.pythonhosted.org/packages/34/c6/a32add319475d21f89733c034b99c81b3a7c6c7c19f96f80c7ca3ff1bbd4/scipy-1.11.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc9a714581f561af0848e6b69947fda0614915f072dfd14142ed1bfe1b806710", size = 37293259, upload-time = "2023-11-18T21:01:18.805Z" },
+ { url = "https://files.pythonhosted.org/packages/de/0d/4fa68303568c70fd56fbf40668b6c6807cfee4cad975f07d80bdd26d013e/scipy-1.11.4-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:cf00bd2b1b0211888d4dc75656c0412213a8b25e80d73898083f402b50f47e41", size = 29760656, upload-time = "2023-11-18T21:01:41.815Z" },
+ { url = "https://files.pythonhosted.org/packages/13/e5/8012be7857db6cbbbdbeea8a154dbacdfae845e95e1e19c028e82236d4a0/scipy-1.11.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9999c008ccf00e8fbcce1236f85ade5c569d13144f77a1946bef8863e8f6eb4", size = 32922489, upload-time = "2023-11-18T21:01:50.637Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/9e/80e2205d138960a49caea391f3710600895dd8292b6868dc9aff7aa593f9/scipy-1.11.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:933baf588daa8dc9a92c20a0be32f56d43faf3d1a60ab11b3f08c356430f6e56", size = 36442040, upload-time = "2023-11-18T21:02:00.119Z" },
+ { url = "https://files.pythonhosted.org/packages/69/60/30a9c3fbe5066a3a93eefe3e2d44553df13587e6f792e1bff20dfed3d17e/scipy-1.11.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8fce70f39076a5aa62e92e69a7f62349f9574d8405c0a5de6ed3ef72de07f446", size = 36643257, upload-time = "2023-11-18T21:02:06.798Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/ec/b46756f80e3f4c5f0989f6e4492c2851f156d9c239d554754a3c8cffd4e2/scipy-1.11.4-cp310-cp310-win_amd64.whl", hash = "sha256:6550466fbeec7453d7465e74d4f4b19f905642c89a7525571ee91dd7adabb5a3", size = 44149285, upload-time = "2023-11-18T21:02:15.592Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/f2/1aefbd5e54ebd8c6163ccf7f73e5d17bc8cb38738d312befc524fce84bb4/scipy-1.11.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f313b39a7e94f296025e3cffc2c567618174c0b1dde173960cf23808f9fae4be", size = 37159197, upload-time = "2023-11-18T21:02:21.959Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/48/20e77ddb1f473d4717a7d4d3fc8d15557f406f7708496054c59f635b7734/scipy-1.11.4-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1b7c3dca977f30a739e0409fb001056484661cb2541a01aba0bb0029f7b68db8", size = 29675057, upload-time = "2023-11-18T21:02:28.169Z" },
+ { url = "https://files.pythonhosted.org/packages/75/2e/a781862190d0e7e76afa74752ef363488a9a9d6ea86e46d5e5506cee8df6/scipy-1.11.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:00150c5eae7b610c32589dda259eacc7c4f1665aedf25d921907f4d08a951b1c", size = 32882747, upload-time = "2023-11-18T21:02:33.683Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/d4/d62ce38ba00dc67d7ec4ec5cc19d36958d8ed70e63778715ad626bcbc796/scipy-1.11.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:530f9ad26440e85766509dbf78edcfe13ffd0ab7fec2560ee5c36ff74d6269ff", size = 36402732, upload-time = "2023-11-18T21:02:39.762Z" },
+ { url = "https://files.pythonhosted.org/packages/88/86/827b56aea1ed04adbb044a675672a73c84d81076a350092bbfcfc1ae723b/scipy-1.11.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5e347b14fe01003d3b78e196e84bd3f48ffe4c8a7b8a1afbcb8f5505cb710993", size = 36622138, upload-time = "2023-11-18T21:02:45.968Z" },
+ { url = "https://files.pythonhosted.org/packages/43/d0/f3cd75b62e1b90f48dbf091261b2fc7ceec14a700e308c50f6a69c83d337/scipy-1.11.4-cp311-cp311-win_amd64.whl", hash = "sha256:acf8ed278cc03f5aff035e69cb511741e0418681d25fbbb86ca65429c4f4d9cd", size = 44095631, upload-time = "2023-11-18T21:02:52.859Z" },
+ { url = "https://files.pythonhosted.org/packages/df/64/8a690570485b636da614acff35fd725fcbc487f8b1fa9bdb12871b77412f/scipy-1.11.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:028eccd22e654b3ea01ee63705681ee79933652b2d8f873e7949898dda6d11b6", size = 37053653, upload-time = "2023-11-18T21:03:00.107Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/43/abf331745a7e5f4af51f13d40e2a72f516048db41ecbcf3ac6f86ada54a3/scipy-1.11.4-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2c6ff6ef9cc27f9b3db93a6f8b38f97387e6e0591600369a297a50a8e96e835d", size = 29641601, upload-time = "2023-11-18T21:03:06.708Z" },
+ { url = "https://files.pythonhosted.org/packages/47/9b/62d0ec086dd2871009da8769c504bec6e39b80f4c182c6ead0fcebd8b323/scipy-1.11.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b030c6674b9230d37c5c60ab456e2cf12f6784596d15ce8da9365e70896effc4", size = 32272137, upload-time = "2023-11-18T21:03:14.877Z" },
+ { url = "https://files.pythonhosted.org/packages/08/77/f90f7306d755ac68bd159c50bb86fffe38400e533e8c609dd8484bd0f172/scipy-1.11.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad669df80528aeca5f557712102538f4f37e503f0c5b9541655016dd0932ca79", size = 35777534, upload-time = "2023-11-18T21:03:21.451Z" },
+ { url = "https://files.pythonhosted.org/packages/00/de/b9f6938090c37b5092969ba1c67118e9114e8e6ef9d197251671444e839c/scipy-1.11.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ce7fff2e23ab2cc81ff452a9444c215c28e6305f396b2ba88343a567feec9660", size = 35963721, upload-time = "2023-11-18T21:03:27.85Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/a1/357e4cd43af2748e1e0407ae0e9a5ea8aaaa6b702833c81be11670dcbad8/scipy-1.11.4-cp312-cp312-win_amd64.whl", hash = "sha256:36750b7733d960d7994888f0d148d31ea3017ac15eef664194b4ef68d36a4a97", size = 43730653, upload-time = "2023-11-18T21:03:34.758Z" },
]
[[package]]
name = "setuptools"
version = "70.3.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/65/d8/10a70e86f6c28ae59f101a9de6d77bf70f147180fbf40c3af0f64080adc3/setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5", size = 2333112, upload_time = "2024-07-09T16:08:06.251Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/65/d8/10a70e86f6c28ae59f101a9de6d77bf70f147180fbf40c3af0f64080adc3/setuptools-70.3.0.tar.gz", hash = "sha256:f171bab1dfbc86b132997f26a119f6056a57950d058587841a0082e8830f9dc5", size = 2333112, upload-time = "2024-07-09T16:08:06.251Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ef/15/88e46eb9387e905704b69849618e699dc2f54407d8953cc4ec4b8b46528d/setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc", size = 931070, upload_time = "2024-07-09T16:07:58.829Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/15/88e46eb9387e905704b69849618e699dc2f54407d8953cc4ec4b8b46528d/setuptools-70.3.0-py3-none-any.whl", hash = "sha256:fe384da74336c398e0d956d1cae0669bc02eed936cdb1d49b57de1990dc11ffc", size = 931070, upload-time = "2024-07-09T16:07:58.829Z" },
]
[[package]]
@@ -2413,27 +2417,27 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "wsproto" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b0/d4/bfa032f961103eba93de583b161f0e6a5b63cebb8f2c7d0c6e6efe1e3d2e/simple_websocket-1.1.0.tar.gz", hash = "sha256:7939234e7aa067c534abdab3a9ed933ec9ce4691b0713c78acb195560aa52ae4", size = 17300, upload_time = "2024-10-10T22:39:31.412Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/b0/d4/bfa032f961103eba93de583b161f0e6a5b63cebb8f2c7d0c6e6efe1e3d2e/simple_websocket-1.1.0.tar.gz", hash = "sha256:7939234e7aa067c534abdab3a9ed933ec9ce4691b0713c78acb195560aa52ae4", size = 17300, upload-time = "2024-10-10T22:39:31.412Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/52/59/0782e51887ac6b07ffd1570e0364cf901ebc36345fea669969d2084baebb/simple_websocket-1.1.0-py3-none-any.whl", hash = "sha256:4af6069630a38ed6c561010f0e11a5bc0d4ca569b36306eb257cd9a192497c8c", size = 13842, upload_time = "2024-10-10T22:39:29.645Z" },
+ { url = "https://files.pythonhosted.org/packages/52/59/0782e51887ac6b07ffd1570e0364cf901ebc36345fea669969d2084baebb/simple_websocket-1.1.0-py3-none-any.whl", hash = "sha256:4af6069630a38ed6c561010f0e11a5bc0d4ca569b36306eb257cd9a192497c8c", size = 13842, upload-time = "2024-10-10T22:39:29.645Z" },
]
[[package]]
name = "six"
version = "1.16.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", size = 34041, upload_time = "2021-05-05T14:18:18.379Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/71/39/171f1c67cd00715f190ba0b100d606d440a28c93c7714febeca8b79af85e/six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", size = 34041, upload-time = "2021-05-05T14:18:18.379Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", size = 11053, upload_time = "2021-05-05T14:18:17.237Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254", size = 11053, upload-time = "2021-05-05T14:18:17.237Z" },
]
[[package]]
name = "sniffio"
version = "1.3.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/cd/50/d49c388cae4ec10e8109b1b833fd265511840706808576df3ada99ecb0ac/sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101", size = 17103, upload_time = "2022-09-01T12:31:36.968Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/cd/50/d49c388cae4ec10e8109b1b833fd265511840706808576df3ada99ecb0ac/sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101", size = 17103, upload-time = "2022-09-01T12:31:36.968Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c3/a0/5dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf/sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384", size = 10165, upload_time = "2022-09-01T12:31:34.186Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/a0/5dba8ed157b0136607c7f2151db695885606968d1fae123dc3391e0cfdbf/sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384", size = 10165, upload-time = "2022-09-01T12:31:34.186Z" },
]
[[package]]
@@ -2443,9 +2447,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/3e/da/1fb4bdb72ae12b834becd7e1e7e47001d32f91ec0ce8d7bc1b618d9f0bd9/starlette-0.41.2.tar.gz", hash = "sha256:9834fd799d1a87fd346deb76158668cfa0b0d56f85caefe8268e2d97c3468b62", size = 2573867, upload_time = "2024-10-27T08:20:02.818Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/3e/da/1fb4bdb72ae12b834becd7e1e7e47001d32f91ec0ce8d7bc1b618d9f0bd9/starlette-0.41.2.tar.gz", hash = "sha256:9834fd799d1a87fd346deb76158668cfa0b0d56f85caefe8268e2d97c3468b62", size = 2573867, upload-time = "2024-10-27T08:20:02.818Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/54/43/f185bfd0ca1d213beb4293bed51d92254df23d8ceaf6c0e17146d508a776/starlette-0.41.2-py3-none-any.whl", hash = "sha256:fbc189474b4731cf30fcef52f18a8d070e3f3b46c6a04c97579e85e6ffca942d", size = 73259, upload_time = "2024-10-27T08:20:00.052Z" },
+ { url = "https://files.pythonhosted.org/packages/54/43/f185bfd0ca1d213beb4293bed51d92254df23d8ceaf6c0e17146d508a776/starlette-0.41.2-py3-none-any.whl", hash = "sha256:fbc189474b4731cf30fcef52f18a8d070e3f3b46c6a04c97579e85e6ffca942d", size = 73259, upload-time = "2024-10-27T08:20:00.052Z" },
]
[[package]]
@@ -2455,18 +2459,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "mpmath" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/e5/57/3485a1a3dff51bfd691962768b14310dae452431754bfc091250be50dd29/sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8", size = 6722203, upload_time = "2023-05-10T18:23:00.378Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/e5/57/3485a1a3dff51bfd691962768b14310dae452431754bfc091250be50dd29/sympy-1.12.tar.gz", hash = "sha256:ebf595c8dac3e0fdc4152c51878b498396ec7f30e7a914d6071e674d49420fb8", size = 6722203, upload-time = "2023-05-10T18:23:00.378Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d2/05/e6600db80270777c4a64238a98d442f0fd07cc8915be2a1c16da7f2b9e74/sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5", size = 5742435, upload_time = "2023-05-10T18:22:14.76Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/05/e6600db80270777c4a64238a98d442f0fd07cc8915be2a1c16da7f2b9e74/sympy-1.12-py3-none-any.whl", hash = "sha256:c3588cd4295d0c0f603d0f2ae780587e64e2efeedb3521e46b9bb1d08d184fa5", size = 5742435, upload-time = "2023-05-10T18:22:14.76Z" },
]
[[package]]
name = "threadpoolctl"
version = "3.2.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/47/8a/c05f7831beb32aff70f808766224f11c650f7edfd49b27a8fc6666107006/threadpoolctl-3.2.0.tar.gz", hash = "sha256:c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355", size = 36266, upload_time = "2023-07-13T14:53:53.299Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/47/8a/c05f7831beb32aff70f808766224f11c650f7edfd49b27a8fc6666107006/threadpoolctl-3.2.0.tar.gz", hash = "sha256:c96a0ba3bdddeaca37dc4cc7344aafad41cdb8c313f74fdfe387a867bba93355", size = 36266, upload-time = "2023-07-13T14:53:53.299Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/81/12/fd4dea011af9d69e1cad05c75f3f7202cdcbeac9b712eea58ca779a72865/threadpoolctl-3.2.0-py3-none-any.whl", hash = "sha256:2b7818516e423bdaebb97c723f86a7c6b0a83d3f3b0970328d66f4d9104dc032", size = 15539, upload_time = "2023-07-13T14:53:39.336Z" },
+ { url = "https://files.pythonhosted.org/packages/81/12/fd4dea011af9d69e1cad05c75f3f7202cdcbeac9b712eea58ca779a72865/threadpoolctl-3.2.0-py3-none-any.whl", hash = "sha256:2b7818516e423bdaebb97c723f86a7c6b0a83d3f3b0970328d66f4d9104dc032", size = 15539, upload-time = "2023-07-13T14:53:39.336Z" },
]
[[package]]
@@ -2476,9 +2480,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "numpy" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/f8/a4/6c0eadea1ccfcda27e6cce400c366098b5b082138a073f4252fe399f4148/tifffile-2023.12.9.tar.gz", hash = "sha256:9dd1da91180a6453018a241ff219e1905f169384355cd89c9ef4034c1b46cdb8", size = 353467, upload_time = "2023-12-09T20:46:29.203Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/f8/a4/6c0eadea1ccfcda27e6cce400c366098b5b082138a073f4252fe399f4148/tifffile-2023.12.9.tar.gz", hash = "sha256:9dd1da91180a6453018a241ff219e1905f169384355cd89c9ef4034c1b46cdb8", size = 353467, upload-time = "2023-12-09T20:46:29.203Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/54/a4/569fc717831969cf48bced350bdaf070cdeab06918d179429899e144358d/tifffile-2023.12.9-py3-none-any.whl", hash = "sha256:9b066e4b1a900891ea42ffd33dab8ba34c537935618b9893ddef42d7d422692f", size = 223627, upload_time = "2023-12-09T20:46:26.569Z" },
+ { url = "https://files.pythonhosted.org/packages/54/a4/569fc717831969cf48bced350bdaf070cdeab06918d179429899e144358d/tifffile-2023.12.9-py3-none-any.whl", hash = "sha256:9b066e4b1a900891ea42ffd33dab8ba34c537935618b9893ddef42d7d422692f", size = 223627, upload-time = "2023-12-09T20:46:26.569Z" },
]
[[package]]
@@ -2488,31 +2492,31 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "huggingface-hub" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/92/76/5ac0c97f1117b91b7eb7323dcd61af80d72f790b4df71249a7850c195f30/tokenizers-0.21.1.tar.gz", hash = "sha256:a1bb04dc5b448985f86ecd4b05407f5a8d97cb2c0532199b2a302a604a0165ab", size = 343256, upload_time = "2025-03-13T10:51:18.189Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/92/76/5ac0c97f1117b91b7eb7323dcd61af80d72f790b4df71249a7850c195f30/tokenizers-0.21.1.tar.gz", hash = "sha256:a1bb04dc5b448985f86ecd4b05407f5a8d97cb2c0532199b2a302a604a0165ab", size = 343256, upload-time = "2025-03-13T10:51:18.189Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a5/1f/328aee25f9115bf04262e8b4e5a2050b7b7cf44b59c74e982db7270c7f30/tokenizers-0.21.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e78e413e9e668ad790a29456e677d9d3aa50a9ad311a40905d6861ba7692cf41", size = 2780767, upload_time = "2025-03-13T10:51:09.459Z" },
- { url = "https://files.pythonhosted.org/packages/ae/1a/4526797f3719b0287853f12c5ad563a9be09d446c44ac784cdd7c50f76ab/tokenizers-0.21.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:cd51cd0a91ecc801633829fcd1fda9cf8682ed3477c6243b9a095539de4aecf3", size = 2650555, upload_time = "2025-03-13T10:51:07.692Z" },
- { url = "https://files.pythonhosted.org/packages/4d/7a/a209b29f971a9fdc1da86f917fe4524564924db50d13f0724feed37b2a4d/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28da6b72d4fb14ee200a1bd386ff74ade8992d7f725f2bde2c495a9a98cf4d9f", size = 2937541, upload_time = "2025-03-13T10:50:56.679Z" },
- { url = "https://files.pythonhosted.org/packages/3c/1e/b788b50ffc6191e0b1fc2b0d49df8cff16fe415302e5ceb89f619d12c5bc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34d8cfde551c9916cb92014e040806122295a6800914bab5865deb85623931cf", size = 2819058, upload_time = "2025-03-13T10:50:59.525Z" },
- { url = "https://files.pythonhosted.org/packages/36/aa/3626dfa09a0ecc5b57a8c58eeaeb7dd7ca9a37ad9dd681edab5acd55764c/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaa852d23e125b73d283c98f007e06d4595732104b65402f46e8ef24b588d9f8", size = 3133278, upload_time = "2025-03-13T10:51:04.678Z" },
- { url = "https://files.pythonhosted.org/packages/a4/4d/8fbc203838b3d26269f944a89459d94c858f5b3f9a9b6ee9728cdcf69161/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a21a15d5c8e603331b8a59548bbe113564136dc0f5ad8306dd5033459a226da0", size = 3144253, upload_time = "2025-03-13T10:51:01.261Z" },
- { url = "https://files.pythonhosted.org/packages/d8/1b/2bd062adeb7c7511b847b32e356024980c0ffcf35f28947792c2d8ad2288/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2fdbd4c067c60a0ac7eca14b6bd18a5bebace54eb757c706b47ea93204f7a37c", size = 3398225, upload_time = "2025-03-13T10:51:03.243Z" },
- { url = "https://files.pythonhosted.org/packages/8a/63/38be071b0c8e06840bc6046991636bcb30c27f6bb1e670f4f4bc87cf49cc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dd9a0061e403546f7377df940e866c3e678d7d4e9643d0461ea442b4f89e61a", size = 3038874, upload_time = "2025-03-13T10:51:06.235Z" },
- { url = "https://files.pythonhosted.org/packages/ec/83/afa94193c09246417c23a3c75a8a0a96bf44ab5630a3015538d0c316dd4b/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:db9484aeb2e200c43b915a1a0150ea885e35f357a5a8fabf7373af333dcc8dbf", size = 9014448, upload_time = "2025-03-13T10:51:10.927Z" },
- { url = "https://files.pythonhosted.org/packages/ae/b3/0e1a37d4f84c0f014d43701c11eb8072704f6efe8d8fc2dcdb79c47d76de/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed248ab5279e601a30a4d67bdb897ecbe955a50f1e7bb62bd99f07dd11c2f5b6", size = 8937877, upload_time = "2025-03-13T10:51:12.688Z" },
- { url = "https://files.pythonhosted.org/packages/ac/33/ff08f50e6d615eb180a4a328c65907feb6ded0b8f990ec923969759dc379/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:9ac78b12e541d4ce67b4dfd970e44c060a2147b9b2a21f509566d556a509c67d", size = 9186645, upload_time = "2025-03-13T10:51:14.723Z" },
- { url = "https://files.pythonhosted.org/packages/5f/aa/8ae85f69a9f6012c6f8011c6f4aa1c96154c816e9eea2e1b758601157833/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e5a69c1a4496b81a5ee5d2c1f3f7fbdf95e90a0196101b0ee89ed9956b8a168f", size = 9384380, upload_time = "2025-03-13T10:51:16.526Z" },
- { url = "https://files.pythonhosted.org/packages/e8/5b/a5d98c89f747455e8b7a9504910c865d5e51da55e825a7ae641fb5ff0a58/tokenizers-0.21.1-cp39-abi3-win32.whl", hash = "sha256:1039a3a5734944e09de1d48761ade94e00d0fa760c0e0551151d4dd851ba63e3", size = 2239506, upload_time = "2025-03-13T10:51:20.643Z" },
- { url = "https://files.pythonhosted.org/packages/e6/b6/072a8e053ae600dcc2ac0da81a23548e3b523301a442a6ca900e92ac35be/tokenizers-0.21.1-cp39-abi3-win_amd64.whl", hash = "sha256:0f0dcbcc9f6e13e675a66d7a5f2f225a736745ce484c1a4e07476a89ccdad382", size = 2435481, upload_time = "2025-03-13T10:51:19.243Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/1f/328aee25f9115bf04262e8b4e5a2050b7b7cf44b59c74e982db7270c7f30/tokenizers-0.21.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e78e413e9e668ad790a29456e677d9d3aa50a9ad311a40905d6861ba7692cf41", size = 2780767, upload-time = "2025-03-13T10:51:09.459Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/1a/4526797f3719b0287853f12c5ad563a9be09d446c44ac784cdd7c50f76ab/tokenizers-0.21.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:cd51cd0a91ecc801633829fcd1fda9cf8682ed3477c6243b9a095539de4aecf3", size = 2650555, upload-time = "2025-03-13T10:51:07.692Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/7a/a209b29f971a9fdc1da86f917fe4524564924db50d13f0724feed37b2a4d/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28da6b72d4fb14ee200a1bd386ff74ade8992d7f725f2bde2c495a9a98cf4d9f", size = 2937541, upload-time = "2025-03-13T10:50:56.679Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/1e/b788b50ffc6191e0b1fc2b0d49df8cff16fe415302e5ceb89f619d12c5bc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34d8cfde551c9916cb92014e040806122295a6800914bab5865deb85623931cf", size = 2819058, upload-time = "2025-03-13T10:50:59.525Z" },
+ { url = "https://files.pythonhosted.org/packages/36/aa/3626dfa09a0ecc5b57a8c58eeaeb7dd7ca9a37ad9dd681edab5acd55764c/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaa852d23e125b73d283c98f007e06d4595732104b65402f46e8ef24b588d9f8", size = 3133278, upload-time = "2025-03-13T10:51:04.678Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/4d/8fbc203838b3d26269f944a89459d94c858f5b3f9a9b6ee9728cdcf69161/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a21a15d5c8e603331b8a59548bbe113564136dc0f5ad8306dd5033459a226da0", size = 3144253, upload-time = "2025-03-13T10:51:01.261Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/1b/2bd062adeb7c7511b847b32e356024980c0ffcf35f28947792c2d8ad2288/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2fdbd4c067c60a0ac7eca14b6bd18a5bebace54eb757c706b47ea93204f7a37c", size = 3398225, upload-time = "2025-03-13T10:51:03.243Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/63/38be071b0c8e06840bc6046991636bcb30c27f6bb1e670f4f4bc87cf49cc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dd9a0061e403546f7377df940e866c3e678d7d4e9643d0461ea442b4f89e61a", size = 3038874, upload-time = "2025-03-13T10:51:06.235Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/83/afa94193c09246417c23a3c75a8a0a96bf44ab5630a3015538d0c316dd4b/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:db9484aeb2e200c43b915a1a0150ea885e35f357a5a8fabf7373af333dcc8dbf", size = 9014448, upload-time = "2025-03-13T10:51:10.927Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/b3/0e1a37d4f84c0f014d43701c11eb8072704f6efe8d8fc2dcdb79c47d76de/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed248ab5279e601a30a4d67bdb897ecbe955a50f1e7bb62bd99f07dd11c2f5b6", size = 8937877, upload-time = "2025-03-13T10:51:12.688Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/33/ff08f50e6d615eb180a4a328c65907feb6ded0b8f990ec923969759dc379/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:9ac78b12e541d4ce67b4dfd970e44c060a2147b9b2a21f509566d556a509c67d", size = 9186645, upload-time = "2025-03-13T10:51:14.723Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/aa/8ae85f69a9f6012c6f8011c6f4aa1c96154c816e9eea2e1b758601157833/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e5a69c1a4496b81a5ee5d2c1f3f7fbdf95e90a0196101b0ee89ed9956b8a168f", size = 9384380, upload-time = "2025-03-13T10:51:16.526Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/5b/a5d98c89f747455e8b7a9504910c865d5e51da55e825a7ae641fb5ff0a58/tokenizers-0.21.1-cp39-abi3-win32.whl", hash = "sha256:1039a3a5734944e09de1d48761ade94e00d0fa760c0e0551151d4dd851ba63e3", size = 2239506, upload-time = "2025-03-13T10:51:20.643Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/b6/072a8e053ae600dcc2ac0da81a23548e3b523301a442a6ca900e92ac35be/tokenizers-0.21.1-cp39-abi3-win_amd64.whl", hash = "sha256:0f0dcbcc9f6e13e675a66d7a5f2f225a736745ce484c1a4e07476a89ccdad382", size = 2435481, upload-time = "2025-03-13T10:51:19.243Z" },
]
[[package]]
name = "tomli"
version = "2.0.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/c0/3f/d7af728f075fb08564c5949a9c95e44352e23dee646869fa104a3b2060a3/tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f", size = 15164, upload_time = "2022-02-08T10:54:04.006Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c0/3f/d7af728f075fb08564c5949a9c95e44352e23dee646869fa104a3b2060a3/tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f", size = 15164, upload-time = "2022-02-08T10:54:04.006Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", size = 12757, upload_time = "2022-02-08T10:54:02.017Z" },
+ { url = "https://files.pythonhosted.org/packages/97/75/10a9ebee3fd790d20926a90a2547f0bf78f371b2f13aa822c759680ca7b9/tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", size = 12757, upload-time = "2022-02-08T10:54:02.017Z" },
]
[[package]]
@@ -2522,18 +2526,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/03/00/6a9b3aedb0b60a80995ade30f718f1a9902612f22a1aaf531c85a02987f7/tqdm-4.66.3.tar.gz", hash = "sha256:23097a41eba115ba99ecae40d06444c15d1c0c698d527a01c6c8bd1c5d0647e5", size = 169551, upload_time = "2024-05-02T21:44:05.084Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/03/00/6a9b3aedb0b60a80995ade30f718f1a9902612f22a1aaf531c85a02987f7/tqdm-4.66.3.tar.gz", hash = "sha256:23097a41eba115ba99ecae40d06444c15d1c0c698d527a01c6c8bd1c5d0647e5", size = 169551, upload-time = "2024-05-02T21:44:05.084Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d1/ad/7d47bbf2cae78ff79f29db0bed5016ec9c56b212a93fca624bb88b551a7c/tqdm-4.66.3-py3-none-any.whl", hash = "sha256:4f41d54107ff9a223dca80b53efe4fb654c67efaba7f47bada3ee9d50e05bd53", size = 78374, upload_time = "2024-05-02T21:44:01.541Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/ad/7d47bbf2cae78ff79f29db0bed5016ec9c56b212a93fca624bb88b551a7c/tqdm-4.66.3-py3-none-any.whl", hash = "sha256:4f41d54107ff9a223dca80b53efe4fb654c67efaba7f47bada3ee9d50e05bd53", size = 78374, upload-time = "2024-05-02T21:44:01.541Z" },
]
[[package]]
name = "types-pyyaml"
version = "6.0.12.20250402"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/2d/68/609eed7402f87c9874af39d35942744e39646d1ea9011765ec87b01b2a3c/types_pyyaml-6.0.12.20250402.tar.gz", hash = "sha256:d7c13c3e6d335b6af4b0122a01ff1d270aba84ab96d1a1a1063ecba3e13ec075", size = 17282, upload_time = "2025-04-02T02:56:00.235Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/2d/68/609eed7402f87c9874af39d35942744e39646d1ea9011765ec87b01b2a3c/types_pyyaml-6.0.12.20250402.tar.gz", hash = "sha256:d7c13c3e6d335b6af4b0122a01ff1d270aba84ab96d1a1a1063ecba3e13ec075", size = 17282, upload-time = "2025-04-02T02:56:00.235Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ed/56/1fe61db05685fbb512c07ea9323f06ea727125951f1eb4dff110b3311da3/types_pyyaml-6.0.12.20250402-py3-none-any.whl", hash = "sha256:652348fa9e7a203d4b0d21066dfb00760d3cbd5a15ebb7cf8d33c88a49546681", size = 20329, upload_time = "2025-04-02T02:55:59.382Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/56/1fe61db05685fbb512c07ea9323f06ea727125951f1eb4dff110b3311da3/types_pyyaml-6.0.12.20250402-py3-none-any.whl", hash = "sha256:652348fa9e7a203d4b0d21066dfb00760d3cbd5a15ebb7cf8d33c88a49546681", size = 20329, upload-time = "2025-04-02T02:55:59.382Z" },
]
[[package]]
@@ -2543,9 +2547,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "urllib3" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/00/7d/eb174f74e3f5634eaacb38031bbe467dfe2e545bc255e5c90096ec46bc46/types_requests-2.32.0.20250328.tar.gz", hash = "sha256:c9e67228ea103bd811c96984fac36ed2ae8da87a36a633964a21f199d60baf32", size = 22995, upload_time = "2025-03-28T02:55:13.271Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/00/7d/eb174f74e3f5634eaacb38031bbe467dfe2e545bc255e5c90096ec46bc46/types_requests-2.32.0.20250328.tar.gz", hash = "sha256:c9e67228ea103bd811c96984fac36ed2ae8da87a36a633964a21f199d60baf32", size = 22995, upload-time = "2025-03-28T02:55:13.271Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/cc/15/3700282a9d4ea3b37044264d3e4d1b1f0095a4ebf860a99914fd544e3be3/types_requests-2.32.0.20250328-py3-none-any.whl", hash = "sha256:72ff80f84b15eb3aa7a8e2625fffb6a93f2ad5a0c20215fc1dcfa61117bcb2a2", size = 20663, upload_time = "2025-03-28T02:55:11.946Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/15/3700282a9d4ea3b37044264d3e4d1b1f0095a4ebf860a99914fd544e3be3/types_requests-2.32.0.20250328-py3-none-any.whl", hash = "sha256:72ff80f84b15eb3aa7a8e2625fffb6a93f2ad5a0c20215fc1dcfa61117bcb2a2", size = 20663, upload-time = "2025-03-28T02:55:11.946Z" },
]
[[package]]
@@ -2555,36 +2559,36 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "setuptools" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b8/0f/2d1d000c2be3919bcdea15e5da48456bf1e55c18d02c5509ea59dade1408/types_setuptools-76.0.0.20250313.tar.gz", hash = "sha256:b2be66f550f95f3cad2a7d46177b273c7e9c80df7d257fa57addbbcfc8126a9e", size = 43627, upload_time = "2025-03-13T02:51:28.3Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/b8/0f/2d1d000c2be3919bcdea15e5da48456bf1e55c18d02c5509ea59dade1408/types_setuptools-76.0.0.20250313.tar.gz", hash = "sha256:b2be66f550f95f3cad2a7d46177b273c7e9c80df7d257fa57addbbcfc8126a9e", size = 43627, upload-time = "2025-03-13T02:51:28.3Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ca/89/ea9669a0a76b160ffb312d0b02b15bad053c1bc81d2a54e42e3a402ca754/types_setuptools-76.0.0.20250313-py3-none-any.whl", hash = "sha256:bf454b2a49b8cfd7ebcf5844d4dd5fe4c8666782df1e3663c5866fd51a47460e", size = 65845, upload_time = "2025-03-13T02:51:27.055Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/89/ea9669a0a76b160ffb312d0b02b15bad053c1bc81d2a54e42e3a402ca754/types_setuptools-76.0.0.20250313-py3-none-any.whl", hash = "sha256:bf454b2a49b8cfd7ebcf5844d4dd5fe4c8666782df1e3663c5866fd51a47460e", size = 65845, upload-time = "2025-03-13T02:51:27.055Z" },
]
[[package]]
name = "types-simplejson"
version = "3.20.0.20250326"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/af/14/e26fc55e1ea56f9ea470917d3e2f8240e6d043ca914181021d04115ae0f7/types_simplejson-3.20.0.20250326.tar.gz", hash = "sha256:b2689bc91e0e672d7a5a947b4cb546b76ae7ddc2899c6678e72a10bf96cd97d2", size = 10489, upload_time = "2025-03-26T02:53:35.825Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/af/14/e26fc55e1ea56f9ea470917d3e2f8240e6d043ca914181021d04115ae0f7/types_simplejson-3.20.0.20250326.tar.gz", hash = "sha256:b2689bc91e0e672d7a5a947b4cb546b76ae7ddc2899c6678e72a10bf96cd97d2", size = 10489, upload-time = "2025-03-26T02:53:35.825Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/76/bf/d3f3a5ba47fd18115e8446d39f025b85905d2008677c29ee4d03b4cddd57/types_simplejson-3.20.0.20250326-py3-none-any.whl", hash = "sha256:db1ddea7b8f7623b27a137578f22fc6c618db8c83ccfb1828ca0d2f0ec11efa7", size = 10462, upload_time = "2025-03-26T02:53:35.036Z" },
+ { url = "https://files.pythonhosted.org/packages/76/bf/d3f3a5ba47fd18115e8446d39f025b85905d2008677c29ee4d03b4cddd57/types_simplejson-3.20.0.20250326-py3-none-any.whl", hash = "sha256:db1ddea7b8f7623b27a137578f22fc6c618db8c83ccfb1828ca0d2f0ec11efa7", size = 10462, upload-time = "2025-03-26T02:53:35.036Z" },
]
[[package]]
name = "types-ujson"
version = "5.10.0.20250326"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/cc/5c/c974451c4babdb4ae3588925487edde492d59a8403010b4642a554d09954/types_ujson-5.10.0.20250326.tar.gz", hash = "sha256:5469e05f2c31ecb3c4c0267cc8fe41bcd116826fbb4ded69801a645c687dd014", size = 8340, upload_time = "2025-03-26T02:53:39.197Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/cc/5c/c974451c4babdb4ae3588925487edde492d59a8403010b4642a554d09954/types_ujson-5.10.0.20250326.tar.gz", hash = "sha256:5469e05f2c31ecb3c4c0267cc8fe41bcd116826fbb4ded69801a645c687dd014", size = 8340, upload-time = "2025-03-26T02:53:39.197Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/3e/c9/8a73a5f8fa6e70fc02eed506d5ac0ae9ceafbd2b8c9ad34a7de0f29900d6/types_ujson-5.10.0.20250326-py3-none-any.whl", hash = "sha256:acc0913f569def62ef6a892c8a47703f65d05669a3252391a97765cf207dca5b", size = 7644, upload_time = "2025-03-26T02:53:38.2Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/c9/8a73a5f8fa6e70fc02eed506d5ac0ae9ceafbd2b8c9ad34a7de0f29900d6/types_ujson-5.10.0.20250326-py3-none-any.whl", hash = "sha256:acc0913f569def62ef6a892c8a47703f65d05669a3252391a97765cf207dca5b", size = 7644, upload-time = "2025-03-26T02:53:38.2Z" },
]
[[package]]
name = "typing-extensions"
version = "4.12.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321, upload_time = "2024-06-07T18:52:15.995Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321, upload-time = "2024-06-07T18:52:15.995Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438, upload_time = "2024-06-07T18:52:13.582Z" },
+ { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438, upload-time = "2024-06-07T18:52:13.582Z" },
]
[[package]]
@@ -2594,18 +2598,18 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload_time = "2025-02-25T17:27:59.638Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload-time = "2025-02-25T17:27:59.638Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125, upload_time = "2025-02-25T17:27:57.754Z" },
+ { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125, upload-time = "2025-02-25T17:27:57.754Z" },
]
[[package]]
name = "urllib3"
version = "2.1.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/36/dd/a6b232f449e1bc71802a5b7950dc3675d32c6dbc2a1bd6d71f065551adb6/urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54", size = 263900, upload_time = "2023-11-13T12:29:45.049Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/36/dd/a6b232f449e1bc71802a5b7950dc3675d32c6dbc2a1bd6d71f065551adb6/urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54", size = 263900, upload-time = "2023-11-13T12:29:45.049Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/96/94/c31f58c7a7f470d5665935262ebd7455c7e4c7782eb525658d3dbf4b9403/urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3", size = 104579, upload_time = "2023-11-13T12:29:42.719Z" },
+ { url = "https://files.pythonhosted.org/packages/96/94/c31f58c7a7f470d5665935262ebd7455c7e4c7782eb525658d3dbf4b9403/urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3", size = 104579, upload-time = "2023-11-13T12:29:42.719Z" },
]
[[package]]
@@ -2617,9 +2621,9 @@ dependencies = [
{ name = "h11" },
{ name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/a6/ae/9bbb19b9e1c450cf9ecaef06463e40234d98d95bf572fab11b4f19ae5ded/uvicorn-0.34.2.tar.gz", hash = "sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328", size = 76815, upload_time = "2025-04-19T06:02:50.101Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/a6/ae/9bbb19b9e1c450cf9ecaef06463e40234d98d95bf572fab11b4f19ae5ded/uvicorn-0.34.2.tar.gz", hash = "sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328", size = 76815, upload-time = "2025-04-19T06:02:50.101Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b1/4b/4cef6ce21a2aaca9d852a6e84ef4f135d99fcd74fa75105e2fc0c8308acd/uvicorn-0.34.2-py3-none-any.whl", hash = "sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403", size = 62483, upload_time = "2025-04-19T06:02:48.42Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/4b/4cef6ce21a2aaca9d852a6e84ef4f135d99fcd74fa75105e2fc0c8308acd/uvicorn-0.34.2-py3-none-any.whl", hash = "sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403", size = 62483, upload-time = "2025-04-19T06:02:48.42Z" },
]
[package.optional-dependencies]
@@ -2637,26 +2641,26 @@ standard = [
name = "uvloop"
version = "0.19.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/9c/16/728cc5dde368e6eddb299c5aec4d10eaf25335a5af04e8c0abd68e2e9d32/uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd", size = 2318492, upload_time = "2023-10-22T22:03:57.665Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/9c/16/728cc5dde368e6eddb299c5aec4d10eaf25335a5af04e8c0abd68e2e9d32/uvloop-0.19.0.tar.gz", hash = "sha256:0246f4fd1bf2bf702e06b0d45ee91677ee5c31242f39aab4ea6fe0c51aedd0fd", size = 2318492, upload-time = "2023-10-22T22:03:57.665Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/36/c2/27bf858a576b1fa35b5c2c2029c8cec424a8789e87545ed2f25466d1f21d/uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e", size = 1443484, upload_time = "2023-10-22T22:02:54.169Z" },
- { url = "https://files.pythonhosted.org/packages/4e/35/05b6064b93f4113412d1fd92bdcb6018607e78ae94d1712e63e533f9b2fa/uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428", size = 793850, upload_time = "2023-10-22T22:02:56.311Z" },
- { url = "https://files.pythonhosted.org/packages/aa/56/b62ab4e10458ce96bb30c98d327c127f989d3bb4ef899e4c410c739f7ef6/uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8", size = 3418601, upload_time = "2023-10-22T22:02:58.717Z" },
- { url = "https://files.pythonhosted.org/packages/ab/ed/12729fba5e3b7e02ee70b3ea230b88e60a50375cf63300db22607694d2f0/uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849", size = 3416731, upload_time = "2023-10-22T22:03:01.043Z" },
- { url = "https://files.pythonhosted.org/packages/a2/23/80381a2d728d2a0c36e2eef202f5b77428990004d8fbdd3865558ff49fa5/uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957", size = 4128572, upload_time = "2023-10-22T22:03:02.874Z" },
- { url = "https://files.pythonhosted.org/packages/6b/23/1ee41a15e1ad15182e2bd12cbfd37bcb6802f01d6bbcaddf6ca136cbb308/uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd", size = 4129235, upload_time = "2023-10-22T22:03:05.361Z" },
- { url = "https://files.pythonhosted.org/packages/41/2a/608ad69f27f51280098abee440c33e921d3ad203e2c86f7262e241e49c99/uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef", size = 1357681, upload_time = "2023-10-22T22:03:07.158Z" },
- { url = "https://files.pythonhosted.org/packages/13/00/d0923d66d80c8717983493a4d7af747ce47f1c2147d82df057a846ba6bff/uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2", size = 746421, upload_time = "2023-10-22T22:03:09.4Z" },
- { url = "https://files.pythonhosted.org/packages/1f/c7/e494c367b0c6e6453f9bed5a78548f5b2ff49add36302cd915a91d347d88/uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1", size = 3481000, upload_time = "2023-10-22T22:03:11.755Z" },
- { url = "https://files.pythonhosted.org/packages/86/cc/1829b3f740e4cb1baefff8240a1c6fc8db9e3caac7b93169aec7d4386069/uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24", size = 3476361, upload_time = "2023-10-22T22:03:13.841Z" },
- { url = "https://files.pythonhosted.org/packages/7a/4c/ca87e8f5a30629ffa2038c20907c8ab455c5859ff10e810227b76e60d927/uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533", size = 4169571, upload_time = "2023-10-22T22:03:15.618Z" },
- { url = "https://files.pythonhosted.org/packages/d2/a9/f947a00c47b1c87c937cac2423243a41ba08f0fb76d04eb0d1d170606e0a/uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12", size = 4170459, upload_time = "2023-10-22T22:03:17.988Z" },
- { url = "https://files.pythonhosted.org/packages/85/57/6736733bb0e86a4b5380d04082463b289c0baecaa205934ba81e8a1d5ea4/uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650", size = 1355376, upload_time = "2023-10-22T22:03:20.075Z" },
- { url = "https://files.pythonhosted.org/packages/eb/0c/51339463da912ed34b48d470538d98a91660749b2db56902f23db9b42fdd/uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec", size = 745031, upload_time = "2023-10-22T22:03:21.404Z" },
- { url = "https://files.pythonhosted.org/packages/e6/fc/f0daaf19f5b2116a2d26eb9f98c4a45084aea87bf03c33bcca7aa1ff36e5/uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc", size = 4077630, upload_time = "2023-10-22T22:03:23.568Z" },
- { url = "https://files.pythonhosted.org/packages/fd/96/fdc318ffe82ae567592b213ec2fcd8ecedd927b5da068cf84d56b28c51a4/uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6", size = 4159957, upload_time = "2023-10-22T22:03:25.278Z" },
- { url = "https://files.pythonhosted.org/packages/71/bc/092068ae7fc16dcf20f3e389126ba7800cee75ffba83f78bf1d167aee3cd/uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593", size = 4014951, upload_time = "2023-10-22T22:03:27.055Z" },
- { url = "https://files.pythonhosted.org/packages/a6/f2/6ce1e73933eb038c89f929e26042e64b2cb8d4453410153eed14918ca9a8/uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3", size = 4100911, upload_time = "2023-10-22T22:03:29.39Z" },
+ { url = "https://files.pythonhosted.org/packages/36/c2/27bf858a576b1fa35b5c2c2029c8cec424a8789e87545ed2f25466d1f21d/uvloop-0.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:de4313d7f575474c8f5a12e163f6d89c0a878bc49219641d49e6f1444369a90e", size = 1443484, upload-time = "2023-10-22T22:02:54.169Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/35/05b6064b93f4113412d1fd92bdcb6018607e78ae94d1712e63e533f9b2fa/uvloop-0.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5588bd21cf1fcf06bded085f37e43ce0e00424197e7c10e77afd4bbefffef428", size = 793850, upload-time = "2023-10-22T22:02:56.311Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/56/b62ab4e10458ce96bb30c98d327c127f989d3bb4ef899e4c410c739f7ef6/uvloop-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b1fd71c3843327f3bbc3237bedcdb6504fd50368ab3e04d0410e52ec293f5b8", size = 3418601, upload-time = "2023-10-22T22:02:58.717Z" },
+ { url = "https://files.pythonhosted.org/packages/ab/ed/12729fba5e3b7e02ee70b3ea230b88e60a50375cf63300db22607694d2f0/uvloop-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a05128d315e2912791de6088c34136bfcdd0c7cbc1cf85fd6fd1bb321b7c849", size = 3416731, upload-time = "2023-10-22T22:03:01.043Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/23/80381a2d728d2a0c36e2eef202f5b77428990004d8fbdd3865558ff49fa5/uvloop-0.19.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:cd81bdc2b8219cb4b2556eea39d2e36bfa375a2dd021404f90a62e44efaaf957", size = 4128572, upload-time = "2023-10-22T22:03:02.874Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/23/1ee41a15e1ad15182e2bd12cbfd37bcb6802f01d6bbcaddf6ca136cbb308/uvloop-0.19.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5f17766fb6da94135526273080f3455a112f82570b2ee5daa64d682387fe0dcd", size = 4129235, upload-time = "2023-10-22T22:03:05.361Z" },
+ { url = "https://files.pythonhosted.org/packages/41/2a/608ad69f27f51280098abee440c33e921d3ad203e2c86f7262e241e49c99/uvloop-0.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4ce6b0af8f2729a02a5d1575feacb2a94fc7b2e983868b009d51c9a9d2149bef", size = 1357681, upload-time = "2023-10-22T22:03:07.158Z" },
+ { url = "https://files.pythonhosted.org/packages/13/00/d0923d66d80c8717983493a4d7af747ce47f1c2147d82df057a846ba6bff/uvloop-0.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:31e672bb38b45abc4f26e273be83b72a0d28d074d5b370fc4dcf4c4eb15417d2", size = 746421, upload-time = "2023-10-22T22:03:09.4Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/c7/e494c367b0c6e6453f9bed5a78548f5b2ff49add36302cd915a91d347d88/uvloop-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:570fc0ed613883d8d30ee40397b79207eedd2624891692471808a95069a007c1", size = 3481000, upload-time = "2023-10-22T22:03:11.755Z" },
+ { url = "https://files.pythonhosted.org/packages/86/cc/1829b3f740e4cb1baefff8240a1c6fc8db9e3caac7b93169aec7d4386069/uvloop-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5138821e40b0c3e6c9478643b4660bd44372ae1e16a322b8fc07478f92684e24", size = 3476361, upload-time = "2023-10-22T22:03:13.841Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/4c/ca87e8f5a30629ffa2038c20907c8ab455c5859ff10e810227b76e60d927/uvloop-0.19.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:91ab01c6cd00e39cde50173ba4ec68a1e578fee9279ba64f5221810a9e786533", size = 4169571, upload-time = "2023-10-22T22:03:15.618Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/a9/f947a00c47b1c87c937cac2423243a41ba08f0fb76d04eb0d1d170606e0a/uvloop-0.19.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:47bf3e9312f63684efe283f7342afb414eea4d3011542155c7e625cd799c3b12", size = 4170459, upload-time = "2023-10-22T22:03:17.988Z" },
+ { url = "https://files.pythonhosted.org/packages/85/57/6736733bb0e86a4b5380d04082463b289c0baecaa205934ba81e8a1d5ea4/uvloop-0.19.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da8435a3bd498419ee8c13c34b89b5005130a476bda1d6ca8cfdde3de35cd650", size = 1355376, upload-time = "2023-10-22T22:03:20.075Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/0c/51339463da912ed34b48d470538d98a91660749b2db56902f23db9b42fdd/uvloop-0.19.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:02506dc23a5d90e04d4f65c7791e65cf44bd91b37f24cfc3ef6cf2aff05dc7ec", size = 745031, upload-time = "2023-10-22T22:03:21.404Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/fc/f0daaf19f5b2116a2d26eb9f98c4a45084aea87bf03c33bcca7aa1ff36e5/uvloop-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2693049be9d36fef81741fddb3f441673ba12a34a704e7b4361efb75cf30befc", size = 4077630, upload-time = "2023-10-22T22:03:23.568Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/96/fdc318ffe82ae567592b213ec2fcd8ecedd927b5da068cf84d56b28c51a4/uvloop-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7010271303961c6f0fe37731004335401eb9075a12680738731e9c92ddd96ad6", size = 4159957, upload-time = "2023-10-22T22:03:25.278Z" },
+ { url = "https://files.pythonhosted.org/packages/71/bc/092068ae7fc16dcf20f3e389126ba7800cee75ffba83f78bf1d167aee3cd/uvloop-0.19.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5daa304d2161d2918fa9a17d5635099a2f78ae5b5960e742b2fcfbb7aefaa593", size = 4014951, upload-time = "2023-10-22T22:03:27.055Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/f2/6ce1e73933eb038c89f929e26042e64b2cb8d4453410153eed14918ca9a8/uvloop-0.19.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7207272c9520203fea9b93843bb775d03e1cf88a80a936ce760f60bb5add92f3", size = 4100911, upload-time = "2023-10-22T22:03:29.39Z" },
]
[[package]]
@@ -2666,115 +2670,115 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/66/79/0ee412e1228aaf6f9568aa180b43cb482472de52560fbd7c283c786534af/watchfiles-0.21.0.tar.gz", hash = "sha256:c76c635fabf542bb78524905718c39f736a98e5ab25b23ec6d4abede1a85a6a3", size = 37098, upload_time = "2023-10-13T13:06:39.809Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/66/79/0ee412e1228aaf6f9568aa180b43cb482472de52560fbd7c283c786534af/watchfiles-0.21.0.tar.gz", hash = "sha256:c76c635fabf542bb78524905718c39f736a98e5ab25b23ec6d4abede1a85a6a3", size = 37098, upload-time = "2023-10-13T13:06:39.809Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6e/85/ea2a035b7d86bf0a29ee1c32bc2df8ad4da77e6602806e679d9735ff28cb/watchfiles-0.21.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:27b4035013f1ea49c6c0b42d983133b136637a527e48c132d368eb19bf1ac6aa", size = 428182, upload_time = "2023-10-13T13:04:34.803Z" },
- { url = "https://files.pythonhosted.org/packages/b5/e5/240e5eb3ff0ee3da3b028ac5be2019c407bdd0f3fdb02bd75fdf3bd10aff/watchfiles-0.21.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c81818595eff6e92535ff32825f31c116f867f64ff8cdf6562cd1d6b2e1e8f3e", size = 418275, upload_time = "2023-10-13T13:04:36.632Z" },
- { url = "https://files.pythonhosted.org/packages/5b/79/ecd0dfb04443a1900cd3952d7ea6493bf655c2db9a0d3736a5d98a15da39/watchfiles-0.21.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6c107ea3cf2bd07199d66f156e3ea756d1b84dfd43b542b2d870b77868c98c03", size = 1379785, upload_time = "2023-10-13T13:04:38.641Z" },
- { url = "https://files.pythonhosted.org/packages/41/0e/3333b986b1889bb71f0e44b3fac0591824a679619b8b8ddd70ff8858edc4/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d9ac347653ebd95839a7c607608703b20bc07e577e870d824fa4801bc1cb124", size = 1349374, upload_time = "2023-10-13T13:04:41.711Z" },
- { url = "https://files.pythonhosted.org/packages/18/c4/ad5ad16cad900a29aaa792e0ed121ff70d76f74062b051661090d88c6dfd/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5eb86c6acb498208e7663ca22dbe68ca2cf42ab5bf1c776670a50919a56e64ab", size = 1348033, upload_time = "2023-10-13T13:04:43.324Z" },
- { url = "https://files.pythonhosted.org/packages/4e/d2/769254ff04ba88ceb179a6e892606ac4da17338eb010e85ca7a9c3339234/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f564bf68404144ea6b87a78a3f910cc8de216c6b12a4cf0b27718bf4ec38d303", size = 1464393, upload_time = "2023-10-13T13:04:44.818Z" },
- { url = "https://files.pythonhosted.org/packages/14/d0/662800e778ca20e7664dd5df57751aa79ef18b6abb92224b03c8c2e852a6/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d0f32ebfaa9c6011f8454994f86108c2eb9c79b8b7de00b36d558cadcedaa3d", size = 1542953, upload_time = "2023-10-13T13:04:46.714Z" },
- { url = "https://files.pythonhosted.org/packages/f7/4b/b90dcdc3bbaf3bb2db733e1beea2d01566b601c15fcf8e71dfcc8686c097/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d45d9b699ecbac6c7bd8e0a2609767491540403610962968d258fd6405c17c", size = 1346961, upload_time = "2023-10-13T13:04:48.072Z" },
- { url = "https://files.pythonhosted.org/packages/92/ff/75cc1b30c5abcad13a2a72e75625ec619c7a393028a111d7d24dba578d5e/watchfiles-0.21.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:aff06b2cac3ef4616e26ba17a9c250c1fe9dd8a5d907d0193f84c499b1b6e6a9", size = 1464393, upload_time = "2023-10-13T13:04:49.638Z" },
- { url = "https://files.pythonhosted.org/packages/9a/65/12cbeb363bf220482a559c48107edfd87f09248f55e1ac315a36c2098a0f/watchfiles-0.21.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d9792dff410f266051025ecfaa927078b94cc7478954b06796a9756ccc7e14a9", size = 1463409, upload_time = "2023-10-13T13:04:51.762Z" },
- { url = "https://files.pythonhosted.org/packages/f2/08/92e28867c66f0d9638bb131feca739057efc48dbcd391fd7f0a55507e470/watchfiles-0.21.0-cp310-none-win32.whl", hash = "sha256:214cee7f9e09150d4fb42e24919a1e74d8c9b8a9306ed1474ecaddcd5479c293", size = 268101, upload_time = "2023-10-13T13:04:53.78Z" },
- { url = "https://files.pythonhosted.org/packages/4b/ea/80527adf1ad51488a96fc201715730af5879f4dfeccb5e2069ff82d890d4/watchfiles-0.21.0-cp310-none-win_amd64.whl", hash = "sha256:1ad7247d79f9f55bb25ab1778fd47f32d70cf36053941f07de0b7c4e96b5d235", size = 279675, upload_time = "2023-10-13T13:04:55.113Z" },
- { url = "https://files.pythonhosted.org/packages/57/b9/2667286003dd305b81d3a3aa824d3dfc63dacbf2a96faae09e72d953c430/watchfiles-0.21.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:668c265d90de8ae914f860d3eeb164534ba2e836811f91fecc7050416ee70aa7", size = 428210, upload_time = "2023-10-13T13:04:56.894Z" },
- { url = "https://files.pythonhosted.org/packages/a3/87/6793ac60d2e20c9c1883aec7431c2e7b501ee44a839f6da1b747c13baa23/watchfiles-0.21.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a23092a992e61c3a6a70f350a56db7197242f3490da9c87b500f389b2d01eef", size = 418196, upload_time = "2023-10-13T13:04:58.19Z" },
- { url = "https://files.pythonhosted.org/packages/5d/12/e1d1d220c5b99196eea38c9a878964f30a2b55ec9d72fd713191725b35e8/watchfiles-0.21.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e7941bbcfdded9c26b0bf720cb7e6fd803d95a55d2c14b4bd1f6a2772230c586", size = 1380287, upload_time = "2023-10-13T13:04:59.923Z" },
- { url = "https://files.pythonhosted.org/packages/0e/cf/126f0a8683f326d190c3539a769e45e747a80a5fcbf797de82e738c946ae/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11cd0c3100e2233e9c53106265da31d574355c288e15259c0d40a4405cbae317", size = 1349653, upload_time = "2023-10-13T13:05:01.622Z" },
- { url = "https://files.pythonhosted.org/packages/20/6e/6cffd795ec65dbc82f15d95b73d3042c1ddaffc4dd25f6c8240bfcf0640f/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78f30cbe8b2ce770160d3c08cff01b2ae9306fe66ce899b73f0409dc1846c1b", size = 1348844, upload_time = "2023-10-13T13:05:03.805Z" },
- { url = "https://files.pythonhosted.org/packages/d5/2a/f9633279d8937ad84c532997405dd106fa6100e8d2b83e364f1c87561f96/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6674b00b9756b0af620aa2a3346b01f8e2a3dc729d25617e1b89cf6af4a54eb1", size = 1464343, upload_time = "2023-10-13T13:05:05.248Z" },
- { url = "https://files.pythonhosted.org/packages/d7/49/9b2199bbf3c89e7c8dd795fced9dac29f201be8a28a5df0c8ff625737df6/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd7ac678b92b29ba630d8c842d8ad6c555abda1b9ef044d6cc092dacbfc9719d", size = 1542858, upload_time = "2023-10-13T13:05:06.791Z" },
- { url = "https://files.pythonhosted.org/packages/35/e0/e8a9c1fe30e98c5b3507ad381abc4d9ee2c3b9c0ae62ffe9c164a5838186/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c873345680c1b87f1e09e0eaf8cf6c891b9851d8b4d3645e7efe2ec20a20cc7", size = 1347464, upload_time = "2023-10-13T13:05:08.622Z" },
- { url = "https://files.pythonhosted.org/packages/ba/66/873739dd7defdfaee4b880114de9463fae18ba13ae2ddd784806b0ee33b6/watchfiles-0.21.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49f56e6ecc2503e7dbe233fa328b2be1a7797d31548e7a193237dcdf1ad0eee0", size = 1464343, upload_time = "2023-10-13T13:05:10.584Z" },
- { url = "https://files.pythonhosted.org/packages/bd/51/d7539aa258d8f0e5d7b870af8b9b8964b4f88a1e4517eeb8a2efb838e9b3/watchfiles-0.21.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:02d91cbac553a3ad141db016e3350b03184deaafeba09b9d6439826ee594b365", size = 1463338, upload_time = "2023-10-13T13:05:12.671Z" },
- { url = "https://files.pythonhosted.org/packages/ee/92/219c539a2a93b6870fa7b84eace946983126b20a7e15c6c034d8d0472682/watchfiles-0.21.0-cp311-none-win32.whl", hash = "sha256:ebe684d7d26239e23d102a2bad2a358dedf18e462e8808778703427d1f584400", size = 267658, upload_time = "2023-10-13T13:05:13.972Z" },
- { url = "https://files.pythonhosted.org/packages/f3/dc/2a8a447b783f5059c4bf7a6bad8fe59375a5a9ce872774763b25c21c2860/watchfiles-0.21.0-cp311-none-win_amd64.whl", hash = "sha256:4566006aa44cb0d21b8ab53baf4b9c667a0ed23efe4aaad8c227bfba0bf15cbe", size = 280113, upload_time = "2023-10-13T13:05:15.289Z" },
- { url = "https://files.pythonhosted.org/packages/22/15/e4085181cf0210a6ec6eb29fee0c6088de867ee33d81555076a4a2726e8b/watchfiles-0.21.0-cp311-none-win_arm64.whl", hash = "sha256:c550a56bf209a3d987d5a975cdf2063b3389a5d16caf29db4bdddeae49f22078", size = 268688, upload_time = "2023-10-13T13:05:17.144Z" },
- { url = "https://files.pythonhosted.org/packages/a1/fd/2f009eb17809afd32a143b442856628585c9ce3a9c6d5c1841e44e35a16c/watchfiles-0.21.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:51ddac60b96a42c15d24fbdc7a4bfcd02b5a29c047b7f8bf63d3f6f5a860949a", size = 426902, upload_time = "2023-10-13T13:05:18.828Z" },
- { url = "https://files.pythonhosted.org/packages/e0/62/a2605f212a136e06f2d056ee7491ede9935ba0f1d5ceafd1f7da2a0c8625/watchfiles-0.21.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:511f0b034120cd1989932bf1e9081aa9fb00f1f949fbd2d9cab6264916ae89b1", size = 417300, upload_time = "2023-10-13T13:05:20.116Z" },
- { url = "https://files.pythonhosted.org/packages/69/0e/29f158fa22eb2cc1f188b5ec20fb5c0a64eb801e3901ad5b7ad546cbaed0/watchfiles-0.21.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cfb92d49dbb95ec7a07511bc9efb0faff8fe24ef3805662b8d6808ba8409a71a", size = 1378126, upload_time = "2023-10-13T13:05:21.508Z" },
- { url = "https://files.pythonhosted.org/packages/e8/f3/c67865cb5a174201c52d34e870cc7956b8408ee83ce9a02909d6a2a93a14/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f92944efc564867bbf841c823c8b71bb0be75e06b8ce45c084b46411475a915", size = 1348275, upload_time = "2023-10-13T13:05:22.995Z" },
- { url = "https://files.pythonhosted.org/packages/d7/eb/b6f1184d1c7b9670f5bd1e184e4c221ecf25fd817cf2fcac6adc387882b5/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:642d66b75eda909fd1112d35c53816d59789a4b38c141a96d62f50a3ef9b3360", size = 1347255, upload_time = "2023-10-13T13:05:24.618Z" },
- { url = "https://files.pythonhosted.org/packages/c8/27/e534e4b3fe739f4bf8bd5dc4c26cbc5d3baa427125d8ef78a6556acd6ff4/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d23bcd6c8eaa6324fe109d8cac01b41fe9a54b8c498af9ce464c1aeeb99903d6", size = 1462845, upload_time = "2023-10-13T13:05:26.531Z" },
- { url = "https://files.pythonhosted.org/packages/b0/ba/a0d1c1c55f75e7e47c8f79f2314f7ec670b5177596f6d27764aecc7048cd/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18d5b4da8cf3e41895b34e8c37d13c9ed294954907929aacd95153508d5d89d7", size = 1528957, upload_time = "2023-10-13T13:05:28.365Z" },
- { url = "https://files.pythonhosted.org/packages/1c/3a/4e38518c4dff58090c01fc8cc051fa08ac9ae00b361c855075809b0058ce/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b8d1eae0f65441963d805f766c7e9cd092f91e0c600c820c764a4ff71a0764c", size = 1345542, upload_time = "2023-10-13T13:05:29.862Z" },
- { url = "https://files.pythonhosted.org/packages/9f/b7/783097f8137a710d5cd9ccbfcd92e4b453d38dab05cfcb5dbd2c587752e5/watchfiles-0.21.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1fd9a5205139f3c6bb60d11f6072e0552f0a20b712c85f43d42342d162be1235", size = 1462238, upload_time = "2023-10-13T13:05:32.245Z" },
- { url = "https://files.pythonhosted.org/packages/6b/4c/b741eb38f2c408ae9c5a25235f6506b1dda43486ae0fdb4c462ef75bce11/watchfiles-0.21.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a1e3014a625bcf107fbf38eece0e47fa0190e52e45dc6eee5a8265ddc6dc5ea7", size = 1462406, upload_time = "2023-10-13T13:05:34.339Z" },
- { url = "https://files.pythonhosted.org/packages/77/e4/8d2b3c67364671b0e1c0ce383895a5415f45ecb3e8586982deff4a8e85c9/watchfiles-0.21.0-cp312-none-win32.whl", hash = "sha256:9d09869f2c5a6f2d9df50ce3064b3391d3ecb6dced708ad64467b9e4f2c9bef3", size = 266789, upload_time = "2023-10-13T13:05:35.606Z" },
- { url = "https://files.pythonhosted.org/packages/da/f2/6b1de38aeb21eb9dac1ae6a1ee4521566e79690117032036c737cfab52fa/watchfiles-0.21.0-cp312-none-win_amd64.whl", hash = "sha256:18722b50783b5e30a18a8a5db3006bab146d2b705c92eb9a94f78c72beb94094", size = 280292, upload_time = "2023-10-13T13:05:37.357Z" },
- { url = "https://files.pythonhosted.org/packages/5a/a5/7aba9435beb863c2490bae3173a45f42044ac7a48155d3dd42ab49cfae45/watchfiles-0.21.0-cp312-none-win_arm64.whl", hash = "sha256:a3b9bec9579a15fb3ca2d9878deae789df72f2b0fdaf90ad49ee389cad5edab6", size = 268026, upload_time = "2023-10-13T13:05:38.591Z" },
- { url = "https://files.pythonhosted.org/packages/62/66/7463ceb43eabc6deaa795c7969ff4d4fd938de54e655035483dfd1e97c84/watchfiles-0.21.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab03a90b305d2588e8352168e8c5a1520b721d2d367f31e9332c4235b30b8994", size = 429092, upload_time = "2023-10-13T13:06:21.419Z" },
- { url = "https://files.pythonhosted.org/packages/fe/a3/42686af3a089f34aba35c39abac852869661938dae7025c1a0580dfe0fbf/watchfiles-0.21.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:927c589500f9f41e370b0125c12ac9e7d3a2fd166b89e9ee2828b3dda20bfe6f", size = 419188, upload_time = "2023-10-13T13:06:22.934Z" },
- { url = "https://files.pythonhosted.org/packages/37/17/4825999346f15d650f4c69093efa64fb040fbff4f706a20e8c4745f64070/watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd467213195e76f838caf2c28cd65e58302d0254e636e7c0fca81efa4a2e62c", size = 1350366, upload_time = "2023-10-13T13:06:24.254Z" },
- { url = "https://files.pythonhosted.org/packages/70/76/8d124e14cf51af4d6bba926c7473f253c6efd1539ba62577f079a2d71537/watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02b73130687bc3f6bb79d8a170959042eb56eb3a42df3671c79b428cd73f17cc", size = 1346270, upload_time = "2023-10-13T13:06:25.742Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/85/ea2a035b7d86bf0a29ee1c32bc2df8ad4da77e6602806e679d9735ff28cb/watchfiles-0.21.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:27b4035013f1ea49c6c0b42d983133b136637a527e48c132d368eb19bf1ac6aa", size = 428182, upload-time = "2023-10-13T13:04:34.803Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/e5/240e5eb3ff0ee3da3b028ac5be2019c407bdd0f3fdb02bd75fdf3bd10aff/watchfiles-0.21.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c81818595eff6e92535ff32825f31c116f867f64ff8cdf6562cd1d6b2e1e8f3e", size = 418275, upload-time = "2023-10-13T13:04:36.632Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/79/ecd0dfb04443a1900cd3952d7ea6493bf655c2db9a0d3736a5d98a15da39/watchfiles-0.21.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6c107ea3cf2bd07199d66f156e3ea756d1b84dfd43b542b2d870b77868c98c03", size = 1379785, upload-time = "2023-10-13T13:04:38.641Z" },
+ { url = "https://files.pythonhosted.org/packages/41/0e/3333b986b1889bb71f0e44b3fac0591824a679619b8b8ddd70ff8858edc4/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d9ac347653ebd95839a7c607608703b20bc07e577e870d824fa4801bc1cb124", size = 1349374, upload-time = "2023-10-13T13:04:41.711Z" },
+ { url = "https://files.pythonhosted.org/packages/18/c4/ad5ad16cad900a29aaa792e0ed121ff70d76f74062b051661090d88c6dfd/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5eb86c6acb498208e7663ca22dbe68ca2cf42ab5bf1c776670a50919a56e64ab", size = 1348033, upload-time = "2023-10-13T13:04:43.324Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/d2/769254ff04ba88ceb179a6e892606ac4da17338eb010e85ca7a9c3339234/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f564bf68404144ea6b87a78a3f910cc8de216c6b12a4cf0b27718bf4ec38d303", size = 1464393, upload-time = "2023-10-13T13:04:44.818Z" },
+ { url = "https://files.pythonhosted.org/packages/14/d0/662800e778ca20e7664dd5df57751aa79ef18b6abb92224b03c8c2e852a6/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d0f32ebfaa9c6011f8454994f86108c2eb9c79b8b7de00b36d558cadcedaa3d", size = 1542953, upload-time = "2023-10-13T13:04:46.714Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/4b/b90dcdc3bbaf3bb2db733e1beea2d01566b601c15fcf8e71dfcc8686c097/watchfiles-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d45d9b699ecbac6c7bd8e0a2609767491540403610962968d258fd6405c17c", size = 1346961, upload-time = "2023-10-13T13:04:48.072Z" },
+ { url = "https://files.pythonhosted.org/packages/92/ff/75cc1b30c5abcad13a2a72e75625ec619c7a393028a111d7d24dba578d5e/watchfiles-0.21.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:aff06b2cac3ef4616e26ba17a9c250c1fe9dd8a5d907d0193f84c499b1b6e6a9", size = 1464393, upload-time = "2023-10-13T13:04:49.638Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/65/12cbeb363bf220482a559c48107edfd87f09248f55e1ac315a36c2098a0f/watchfiles-0.21.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d9792dff410f266051025ecfaa927078b94cc7478954b06796a9756ccc7e14a9", size = 1463409, upload-time = "2023-10-13T13:04:51.762Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/08/92e28867c66f0d9638bb131feca739057efc48dbcd391fd7f0a55507e470/watchfiles-0.21.0-cp310-none-win32.whl", hash = "sha256:214cee7f9e09150d4fb42e24919a1e74d8c9b8a9306ed1474ecaddcd5479c293", size = 268101, upload-time = "2023-10-13T13:04:53.78Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/ea/80527adf1ad51488a96fc201715730af5879f4dfeccb5e2069ff82d890d4/watchfiles-0.21.0-cp310-none-win_amd64.whl", hash = "sha256:1ad7247d79f9f55bb25ab1778fd47f32d70cf36053941f07de0b7c4e96b5d235", size = 279675, upload-time = "2023-10-13T13:04:55.113Z" },
+ { url = "https://files.pythonhosted.org/packages/57/b9/2667286003dd305b81d3a3aa824d3dfc63dacbf2a96faae09e72d953c430/watchfiles-0.21.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:668c265d90de8ae914f860d3eeb164534ba2e836811f91fecc7050416ee70aa7", size = 428210, upload-time = "2023-10-13T13:04:56.894Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/87/6793ac60d2e20c9c1883aec7431c2e7b501ee44a839f6da1b747c13baa23/watchfiles-0.21.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3a23092a992e61c3a6a70f350a56db7197242f3490da9c87b500f389b2d01eef", size = 418196, upload-time = "2023-10-13T13:04:58.19Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/12/e1d1d220c5b99196eea38c9a878964f30a2b55ec9d72fd713191725b35e8/watchfiles-0.21.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e7941bbcfdded9c26b0bf720cb7e6fd803d95a55d2c14b4bd1f6a2772230c586", size = 1380287, upload-time = "2023-10-13T13:04:59.923Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/cf/126f0a8683f326d190c3539a769e45e747a80a5fcbf797de82e738c946ae/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11cd0c3100e2233e9c53106265da31d574355c288e15259c0d40a4405cbae317", size = 1349653, upload-time = "2023-10-13T13:05:01.622Z" },
+ { url = "https://files.pythonhosted.org/packages/20/6e/6cffd795ec65dbc82f15d95b73d3042c1ddaffc4dd25f6c8240bfcf0640f/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78f30cbe8b2ce770160d3c08cff01b2ae9306fe66ce899b73f0409dc1846c1b", size = 1348844, upload-time = "2023-10-13T13:05:03.805Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/2a/f9633279d8937ad84c532997405dd106fa6100e8d2b83e364f1c87561f96/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6674b00b9756b0af620aa2a3346b01f8e2a3dc729d25617e1b89cf6af4a54eb1", size = 1464343, upload-time = "2023-10-13T13:05:05.248Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/49/9b2199bbf3c89e7c8dd795fced9dac29f201be8a28a5df0c8ff625737df6/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd7ac678b92b29ba630d8c842d8ad6c555abda1b9ef044d6cc092dacbfc9719d", size = 1542858, upload-time = "2023-10-13T13:05:06.791Z" },
+ { url = "https://files.pythonhosted.org/packages/35/e0/e8a9c1fe30e98c5b3507ad381abc4d9ee2c3b9c0ae62ffe9c164a5838186/watchfiles-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c873345680c1b87f1e09e0eaf8cf6c891b9851d8b4d3645e7efe2ec20a20cc7", size = 1347464, upload-time = "2023-10-13T13:05:08.622Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/66/873739dd7defdfaee4b880114de9463fae18ba13ae2ddd784806b0ee33b6/watchfiles-0.21.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:49f56e6ecc2503e7dbe233fa328b2be1a7797d31548e7a193237dcdf1ad0eee0", size = 1464343, upload-time = "2023-10-13T13:05:10.584Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/51/d7539aa258d8f0e5d7b870af8b9b8964b4f88a1e4517eeb8a2efb838e9b3/watchfiles-0.21.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:02d91cbac553a3ad141db016e3350b03184deaafeba09b9d6439826ee594b365", size = 1463338, upload-time = "2023-10-13T13:05:12.671Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/92/219c539a2a93b6870fa7b84eace946983126b20a7e15c6c034d8d0472682/watchfiles-0.21.0-cp311-none-win32.whl", hash = "sha256:ebe684d7d26239e23d102a2bad2a358dedf18e462e8808778703427d1f584400", size = 267658, upload-time = "2023-10-13T13:05:13.972Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/dc/2a8a447b783f5059c4bf7a6bad8fe59375a5a9ce872774763b25c21c2860/watchfiles-0.21.0-cp311-none-win_amd64.whl", hash = "sha256:4566006aa44cb0d21b8ab53baf4b9c667a0ed23efe4aaad8c227bfba0bf15cbe", size = 280113, upload-time = "2023-10-13T13:05:15.289Z" },
+ { url = "https://files.pythonhosted.org/packages/22/15/e4085181cf0210a6ec6eb29fee0c6088de867ee33d81555076a4a2726e8b/watchfiles-0.21.0-cp311-none-win_arm64.whl", hash = "sha256:c550a56bf209a3d987d5a975cdf2063b3389a5d16caf29db4bdddeae49f22078", size = 268688, upload-time = "2023-10-13T13:05:17.144Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/fd/2f009eb17809afd32a143b442856628585c9ce3a9c6d5c1841e44e35a16c/watchfiles-0.21.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:51ddac60b96a42c15d24fbdc7a4bfcd02b5a29c047b7f8bf63d3f6f5a860949a", size = 426902, upload-time = "2023-10-13T13:05:18.828Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/62/a2605f212a136e06f2d056ee7491ede9935ba0f1d5ceafd1f7da2a0c8625/watchfiles-0.21.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:511f0b034120cd1989932bf1e9081aa9fb00f1f949fbd2d9cab6264916ae89b1", size = 417300, upload-time = "2023-10-13T13:05:20.116Z" },
+ { url = "https://files.pythonhosted.org/packages/69/0e/29f158fa22eb2cc1f188b5ec20fb5c0a64eb801e3901ad5b7ad546cbaed0/watchfiles-0.21.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:cfb92d49dbb95ec7a07511bc9efb0faff8fe24ef3805662b8d6808ba8409a71a", size = 1378126, upload-time = "2023-10-13T13:05:21.508Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/f3/c67865cb5a174201c52d34e870cc7956b8408ee83ce9a02909d6a2a93a14/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f92944efc564867bbf841c823c8b71bb0be75e06b8ce45c084b46411475a915", size = 1348275, upload-time = "2023-10-13T13:05:22.995Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/eb/b6f1184d1c7b9670f5bd1e184e4c221ecf25fd817cf2fcac6adc387882b5/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:642d66b75eda909fd1112d35c53816d59789a4b38c141a96d62f50a3ef9b3360", size = 1347255, upload-time = "2023-10-13T13:05:24.618Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/27/e534e4b3fe739f4bf8bd5dc4c26cbc5d3baa427125d8ef78a6556acd6ff4/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d23bcd6c8eaa6324fe109d8cac01b41fe9a54b8c498af9ce464c1aeeb99903d6", size = 1462845, upload-time = "2023-10-13T13:05:26.531Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/ba/a0d1c1c55f75e7e47c8f79f2314f7ec670b5177596f6d27764aecc7048cd/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18d5b4da8cf3e41895b34e8c37d13c9ed294954907929aacd95153508d5d89d7", size = 1528957, upload-time = "2023-10-13T13:05:28.365Z" },
+ { url = "https://files.pythonhosted.org/packages/1c/3a/4e38518c4dff58090c01fc8cc051fa08ac9ae00b361c855075809b0058ce/watchfiles-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b8d1eae0f65441963d805f766c7e9cd092f91e0c600c820c764a4ff71a0764c", size = 1345542, upload-time = "2023-10-13T13:05:29.862Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/b7/783097f8137a710d5cd9ccbfcd92e4b453d38dab05cfcb5dbd2c587752e5/watchfiles-0.21.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1fd9a5205139f3c6bb60d11f6072e0552f0a20b712c85f43d42342d162be1235", size = 1462238, upload-time = "2023-10-13T13:05:32.245Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/4c/b741eb38f2c408ae9c5a25235f6506b1dda43486ae0fdb4c462ef75bce11/watchfiles-0.21.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a1e3014a625bcf107fbf38eece0e47fa0190e52e45dc6eee5a8265ddc6dc5ea7", size = 1462406, upload-time = "2023-10-13T13:05:34.339Z" },
+ { url = "https://files.pythonhosted.org/packages/77/e4/8d2b3c67364671b0e1c0ce383895a5415f45ecb3e8586982deff4a8e85c9/watchfiles-0.21.0-cp312-none-win32.whl", hash = "sha256:9d09869f2c5a6f2d9df50ce3064b3391d3ecb6dced708ad64467b9e4f2c9bef3", size = 266789, upload-time = "2023-10-13T13:05:35.606Z" },
+ { url = "https://files.pythonhosted.org/packages/da/f2/6b1de38aeb21eb9dac1ae6a1ee4521566e79690117032036c737cfab52fa/watchfiles-0.21.0-cp312-none-win_amd64.whl", hash = "sha256:18722b50783b5e30a18a8a5db3006bab146d2b705c92eb9a94f78c72beb94094", size = 280292, upload-time = "2023-10-13T13:05:37.357Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/a5/7aba9435beb863c2490bae3173a45f42044ac7a48155d3dd42ab49cfae45/watchfiles-0.21.0-cp312-none-win_arm64.whl", hash = "sha256:a3b9bec9579a15fb3ca2d9878deae789df72f2b0fdaf90ad49ee389cad5edab6", size = 268026, upload-time = "2023-10-13T13:05:38.591Z" },
+ { url = "https://files.pythonhosted.org/packages/62/66/7463ceb43eabc6deaa795c7969ff4d4fd938de54e655035483dfd1e97c84/watchfiles-0.21.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab03a90b305d2588e8352168e8c5a1520b721d2d367f31e9332c4235b30b8994", size = 429092, upload-time = "2023-10-13T13:06:21.419Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/a3/42686af3a089f34aba35c39abac852869661938dae7025c1a0580dfe0fbf/watchfiles-0.21.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:927c589500f9f41e370b0125c12ac9e7d3a2fd166b89e9ee2828b3dda20bfe6f", size = 419188, upload-time = "2023-10-13T13:06:22.934Z" },
+ { url = "https://files.pythonhosted.org/packages/37/17/4825999346f15d650f4c69093efa64fb040fbff4f706a20e8c4745f64070/watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd467213195e76f838caf2c28cd65e58302d0254e636e7c0fca81efa4a2e62c", size = 1350366, upload-time = "2023-10-13T13:06:24.254Z" },
+ { url = "https://files.pythonhosted.org/packages/70/76/8d124e14cf51af4d6bba926c7473f253c6efd1539ba62577f079a2d71537/watchfiles-0.21.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02b73130687bc3f6bb79d8a170959042eb56eb3a42df3671c79b428cd73f17cc", size = 1346270, upload-time = "2023-10-13T13:06:25.742Z" },
]
[[package]]
name = "wcwidth"
version = "0.2.13"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload_time = "2024-01-06T02:10:57.829Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload_time = "2024-01-06T02:10:55.763Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" },
]
[[package]]
name = "websocket-client"
version = "1.8.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648, upload_time = "2024-04-23T22:16:16.976Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/e6/30/fba0d96b4b5fbf5948ed3f4681f7da2f9f64512e1d303f94b4cc174c24a5/websocket_client-1.8.0.tar.gz", hash = "sha256:3239df9f44da632f96012472805d40a23281a991027ce11d2f45a6f24ac4c3da", size = 54648, upload-time = "2024-04-23T22:16:16.976Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826, upload_time = "2024-04-23T22:16:14.422Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/84/44687a29792a70e111c5c477230a72c4b957d88d16141199bf9acb7537a3/websocket_client-1.8.0-py3-none-any.whl", hash = "sha256:17b44cc997f5c498e809b22cdf2d9c7a9e71c02c8cc2b6c56e7c2d1239bfa526", size = 58826, upload-time = "2024-04-23T22:16:14.422Z" },
]
[[package]]
name = "websockets"
version = "12.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/2e/62/7a7874b7285413c954a4cca3c11fd851f11b2fe5b4ae2d9bee4f6d9bdb10/websockets-12.0.tar.gz", hash = "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b", size = 104994, upload_time = "2023-10-21T14:21:11.88Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/2e/62/7a7874b7285413c954a4cca3c11fd851f11b2fe5b4ae2d9bee4f6d9bdb10/websockets-12.0.tar.gz", hash = "sha256:81df9cbcbb6c260de1e007e58c011bfebe2dafc8435107b0537f393dd38c8b1b", size = 104994, upload-time = "2023-10-21T14:21:11.88Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b1/b9/360b86ded0920a93bff0db4e4b0aa31370b0208ca240b2e98d62aad8d082/websockets-12.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d554236b2a2006e0ce16315c16eaa0d628dab009c33b63ea03f41c6107958374", size = 124025, upload_time = "2023-10-21T14:19:28.387Z" },
- { url = "https://files.pythonhosted.org/packages/bb/d3/1eca0d8fb6f0665c96f0dc7c0d0ec8aa1a425e8c003e0c18e1451f65d177/websockets-12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2d225bb6886591b1746b17c0573e29804619c8f755b5598d875bb4235ea639be", size = 121261, upload_time = "2023-10-21T14:19:30.203Z" },
- { url = "https://files.pythonhosted.org/packages/4e/e1/f6c3ecf7f1bfd9209e13949db027d7fdea2faf090c69b5f2d17d1d796d96/websockets-12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb809e816916a3b210bed3c82fb88eaf16e8afcf9c115ebb2bacede1797d2547", size = 121328, upload_time = "2023-10-21T14:19:31.765Z" },
- { url = "https://files.pythonhosted.org/packages/74/4d/f88eeceb23cb587c4aeca779e3f356cf54817af2368cb7f2bd41f93c8360/websockets-12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c588f6abc13f78a67044c6b1273a99e1cf31038ad51815b3b016ce699f0d75c2", size = 130925, upload_time = "2023-10-21T14:19:33.36Z" },
- { url = "https://files.pythonhosted.org/packages/16/17/f63d9ee6ffd9afbeea021d5950d6e8db84cd4aead306c6c2ca523805699e/websockets-12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aa9348186d79a5f232115ed3fa9020eab66d6c3437d72f9d2c8ac0c6858c558", size = 129930, upload_time = "2023-10-21T14:19:35.109Z" },
- { url = "https://files.pythonhosted.org/packages/9a/12/c7a7504f5bf74d6ee0533f6fc7d30d8f4b79420ab179d1df2484b07602eb/websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6350b14a40c95ddd53e775dbdbbbc59b124a5c8ecd6fbb09c2e52029f7a9f480", size = 130245, upload_time = "2023-10-21T14:19:36.761Z" },
- { url = "https://files.pythonhosted.org/packages/e4/6a/3600c7771eb31116d2e77383d7345618b37bb93709d041e328c08e2a8eb3/websockets-12.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:70ec754cc2a769bcd218ed8d7209055667b30860ffecb8633a834dde27d6307c", size = 134966, upload_time = "2023-10-21T14:19:38.481Z" },
- { url = "https://files.pythonhosted.org/packages/22/26/df77c4b7538caebb78c9b97f43169ef742a4f445e032a5ea1aaef88f8f46/websockets-12.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6e96f5ed1b83a8ddb07909b45bd94833b0710f738115751cdaa9da1fb0cb66e8", size = 134196, upload_time = "2023-10-21T14:19:40.264Z" },
- { url = "https://files.pythonhosted.org/packages/e5/18/18ce9a4a08203c8d0d3d561e3ea4f453daf32f099601fc831e60c8a9b0f2/websockets-12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4d87be612cbef86f994178d5186add3d94e9f31cc3cb499a0482b866ec477603", size = 134822, upload_time = "2023-10-21T14:19:41.836Z" },
- { url = "https://files.pythonhosted.org/packages/45/51/1f823a341fc20a880e67ae62f6c38c4880a24a4b60fbe544a38f516f39a1/websockets-12.0-cp310-cp310-win32.whl", hash = "sha256:befe90632d66caaf72e8b2ed4d7f02b348913813c8b0a32fae1cc5fe3730902f", size = 124454, upload_time = "2023-10-21T14:19:43.639Z" },
- { url = "https://files.pythonhosted.org/packages/41/b0/5ec054cfcf23adfc88d39359b85e81d043af8a141e3ac8ce40f45a5ce5f4/websockets-12.0-cp310-cp310-win_amd64.whl", hash = "sha256:363f57ca8bc8576195d0540c648aa58ac18cf85b76ad5202b9f976918f4219cf", size = 124974, upload_time = "2023-10-21T14:19:44.934Z" },
- { url = "https://files.pythonhosted.org/packages/02/73/9c1e168a2e7fdf26841dc98f5f5502e91dea47428da7690a08101f616169/websockets-12.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5d873c7de42dea355d73f170be0f23788cf3fa9f7bed718fd2830eefedce01b4", size = 124047, upload_time = "2023-10-21T14:19:46.519Z" },
- { url = "https://files.pythonhosted.org/packages/e4/2d/9a683359ad2ed11b2303a7a94800db19c61d33fa3bde271df09e99936022/websockets-12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3f61726cae9f65b872502ff3c1496abc93ffbe31b278455c418492016e2afc8f", size = 121282, upload_time = "2023-10-21T14:19:47.739Z" },
- { url = "https://files.pythonhosted.org/packages/95/aa/75fa3b893142d6d98a48cb461169bd268141f2da8bfca97392d6462a02eb/websockets-12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed2fcf7a07334c77fc8a230755c2209223a7cc44fc27597729b8ef5425aa61a3", size = 121325, upload_time = "2023-10-21T14:19:49.4Z" },
- { url = "https://files.pythonhosted.org/packages/6e/a4/51a25e591d645df71ee0dc3a2c880b28e5514c00ce752f98a40a87abcd1e/websockets-12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e332c210b14b57904869ca9f9bf4ca32f5427a03eeb625da9b616c85a3a506c", size = 131502, upload_time = "2023-10-21T14:19:50.683Z" },
- { url = "https://files.pythonhosted.org/packages/cd/ea/0ceeea4f5b87398fe2d9f5bcecfa00a1bcd542e2bfcac2f2e5dd612c4e9e/websockets-12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5693ef74233122f8ebab026817b1b37fe25c411ecfca084b29bc7d6efc548f45", size = 130491, upload_time = "2023-10-21T14:19:51.835Z" },
- { url = "https://files.pythonhosted.org/packages/e3/05/f52a60b66d9faf07a4f7d71dc056bffafe36a7e98c4eb5b78f04fe6e4e85/websockets-12.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04", size = 130872, upload_time = "2023-10-21T14:19:53.071Z" },
- { url = "https://files.pythonhosted.org/packages/ac/4e/c7361b2d7b964c40fea924d64881145164961fcd6c90b88b7e3ab2c4f431/websockets-12.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6e2df67b8014767d0f785baa98393725739287684b9f8d8a1001eb2839031447", size = 136318, upload_time = "2023-10-21T14:19:54.41Z" },
- { url = "https://files.pythonhosted.org/packages/0a/31/337bf35ae5faeaf364c9cddec66681cdf51dc4414ee7a20f92a18e57880f/websockets-12.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bea88d71630c5900690fcb03161ab18f8f244805c59e2e0dc4ffadae0a7ee0ca", size = 135594, upload_time = "2023-10-21T14:19:55.982Z" },
- { url = "https://files.pythonhosted.org/packages/95/aa/1ac767825c96f9d7e43c4c95683757d4ef28cf11fa47a69aca42428d3e3a/websockets-12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dff6cdf35e31d1315790149fee351f9e52978130cef6c87c4b6c9b3baf78bc53", size = 136191, upload_time = "2023-10-21T14:19:57.349Z" },
- { url = "https://files.pythonhosted.org/packages/28/4b/344ec5cfeb6bc417da097f8253607c3aed11d9a305fb58346f506bf556d8/websockets-12.0-cp311-cp311-win32.whl", hash = "sha256:3e3aa8c468af01d70332a382350ee95f6986db479ce7af14d5e81ec52aa2b402", size = 124453, upload_time = "2023-10-21T14:19:59.11Z" },
- { url = "https://files.pythonhosted.org/packages/d1/40/6b169cd1957476374f51f4486a3e85003149e62a14e6b78a958c2222337a/websockets-12.0-cp311-cp311-win_amd64.whl", hash = "sha256:25eb766c8ad27da0f79420b2af4b85d29914ba0edf69f547cc4f06ca6f1d403b", size = 124971, upload_time = "2023-10-21T14:20:00.243Z" },
- { url = "https://files.pythonhosted.org/packages/a9/6d/23cc898647c8a614a0d9ca703695dd04322fb5135096a20c2684b7c852b6/websockets-12.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0e6e2711d5a8e6e482cacb927a49a3d432345dfe7dea8ace7b5790df5932e4df", size = 124061, upload_time = "2023-10-21T14:20:02.221Z" },
- { url = "https://files.pythonhosted.org/packages/39/34/364f30fdf1a375e4002a26ee3061138d1571dfda6421126127d379d13930/websockets-12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dbcf72a37f0b3316e993e13ecf32f10c0e1259c28ffd0a85cee26e8549595fbc", size = 121296, upload_time = "2023-10-21T14:20:03.591Z" },
- { url = "https://files.pythonhosted.org/packages/2e/00/96ae1c9dcb3bc316ef683f2febd8c97dde9f254dc36c3afc65c7645f734c/websockets-12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12743ab88ab2af1d17dd4acb4645677cb7063ef4db93abffbf164218a5d54c6b", size = 121326, upload_time = "2023-10-21T14:20:04.956Z" },
- { url = "https://files.pythonhosted.org/packages/af/f1/bba1e64430685dd456c1a1fd6b0c791ae33104967b928aefeff261761e8d/websockets-12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b645f491f3c48d3f8a00d1fce07445fab7347fec54a3e65f0725d730d5b99cb", size = 131807, upload_time = "2023-10-21T14:20:06.153Z" },
- { url = "https://files.pythonhosted.org/packages/62/3b/98ee269712f37d892b93852ce07b3e6d7653160ca4c0d4f8c8663f8021f8/websockets-12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9893d1aa45a7f8b3bc4510f6ccf8db8c3b62120917af15e3de247f0780294b92", size = 130751, upload_time = "2023-10-21T14:20:07.753Z" },
- { url = "https://files.pythonhosted.org/packages/f1/00/d6f01ca2b191f8b0808e4132ccd2e7691f0453cbd7d0f72330eb97453c3a/websockets-12.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f38a7b376117ef7aff996e737583172bdf535932c9ca021746573bce40165ed", size = 131176, upload_time = "2023-10-21T14:20:09.212Z" },
- { url = "https://files.pythonhosted.org/packages/af/9c/703ff3cd8109dcdee6152bae055d852ebaa7750117760ded697ab836cbcf/websockets-12.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f764ba54e33daf20e167915edc443b6f88956f37fb606449b4a5b10ba42235a5", size = 136246, upload_time = "2023-10-21T14:20:10.423Z" },
- { url = "https://files.pythonhosted.org/packages/0b/a5/1a38fb85a456b9dc874ec984f3ff34f6550eafd17a3da28753cd3c1628e8/websockets-12.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1e4b3f8ea6a9cfa8be8484c9221ec0257508e3a1ec43c36acdefb2a9c3b00aa2", size = 135466, upload_time = "2023-10-21T14:20:11.826Z" },
- { url = "https://files.pythonhosted.org/packages/3c/98/1261f289dff7e65a38d59d2f591de6ed0a2580b729aebddec033c4d10881/websockets-12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9fdf06fd06c32205a07e47328ab49c40fc1407cdec801d698a7c41167ea45113", size = 136083, upload_time = "2023-10-21T14:20:13.451Z" },
- { url = "https://files.pythonhosted.org/packages/a9/1c/f68769fba63ccb9c13fe0a25b616bd5aebeef1c7ddebc2ccc32462fb784d/websockets-12.0-cp312-cp312-win32.whl", hash = "sha256:baa386875b70cbd81798fa9f71be689c1bf484f65fd6fb08d051a0ee4e79924d", size = 124460, upload_time = "2023-10-21T14:20:14.719Z" },
- { url = "https://files.pythonhosted.org/packages/20/52/8915f51f9aaef4e4361c89dd6cf69f72a0159f14e0d25026c81b6ad22525/websockets-12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae0a5da8f35a5be197f328d4727dbcfafa53d1824fac3d96cdd3a642fe09394f", size = 124985, upload_time = "2023-10-21T14:20:15.817Z" },
- { url = "https://files.pythonhosted.org/packages/43/8b/554a8a8bb6da9dd1ce04c44125e2192af7b7beebf6e3dbfa5d0e285cc20f/websockets-12.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:248d8e2446e13c1d4326e0a6a4e9629cb13a11195051a73acf414812700badbd", size = 121110, upload_time = "2023-10-21T14:20:48.335Z" },
- { url = "https://files.pythonhosted.org/packages/b0/8e/58b8812940d746ad74d395fb069497255cb5ef50748dfab1e8b386b1f339/websockets-12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44069528d45a933997a6fef143030d8ca8042f0dfaad753e2906398290e2870", size = 123216, upload_time = "2023-10-21T14:20:50.083Z" },
- { url = "https://files.pythonhosted.org/packages/81/ee/272cb67ace1786ce6d9f39d47b3c55b335e8b75dd1972a7967aad39178b6/websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e37d36f0d19f0a4413d3e18c0d03d0c268ada2061868c1e6f5ab1a6d575077", size = 122821, upload_time = "2023-10-21T14:20:51.237Z" },
- { url = "https://files.pythonhosted.org/packages/a8/03/387fc902b397729df166763e336f4e5cec09fe7b9d60f442542c94a21be1/websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d829f975fc2e527a3ef2f9c8f25e553eb7bc779c6665e8e1d52aa22800bb38b", size = 122768, upload_time = "2023-10-21T14:20:52.59Z" },
- { url = "https://files.pythonhosted.org/packages/50/f0/5939fbc9bc1979d79a774ce5b7c4b33c0cefe99af22fb70f7462d0919640/websockets-12.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2c71bd45a777433dd9113847af751aae36e448bc6b8c361a566cb043eda6ec30", size = 125009, upload_time = "2023-10-21T14:20:54.419Z" },
- { url = "https://files.pythonhosted.org/packages/79/4d/9cc401e7b07e80532ebc8c8e993f42541534da9e9249c59ee0139dcb0352/websockets-12.0-py3-none-any.whl", hash = "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e", size = 118370, upload_time = "2023-10-21T14:21:10.075Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/b9/360b86ded0920a93bff0db4e4b0aa31370b0208ca240b2e98d62aad8d082/websockets-12.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d554236b2a2006e0ce16315c16eaa0d628dab009c33b63ea03f41c6107958374", size = 124025, upload-time = "2023-10-21T14:19:28.387Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/d3/1eca0d8fb6f0665c96f0dc7c0d0ec8aa1a425e8c003e0c18e1451f65d177/websockets-12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2d225bb6886591b1746b17c0573e29804619c8f755b5598d875bb4235ea639be", size = 121261, upload-time = "2023-10-21T14:19:30.203Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/e1/f6c3ecf7f1bfd9209e13949db027d7fdea2faf090c69b5f2d17d1d796d96/websockets-12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:eb809e816916a3b210bed3c82fb88eaf16e8afcf9c115ebb2bacede1797d2547", size = 121328, upload-time = "2023-10-21T14:19:31.765Z" },
+ { url = "https://files.pythonhosted.org/packages/74/4d/f88eeceb23cb587c4aeca779e3f356cf54817af2368cb7f2bd41f93c8360/websockets-12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c588f6abc13f78a67044c6b1273a99e1cf31038ad51815b3b016ce699f0d75c2", size = 130925, upload-time = "2023-10-21T14:19:33.36Z" },
+ { url = "https://files.pythonhosted.org/packages/16/17/f63d9ee6ffd9afbeea021d5950d6e8db84cd4aead306c6c2ca523805699e/websockets-12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5aa9348186d79a5f232115ed3fa9020eab66d6c3437d72f9d2c8ac0c6858c558", size = 129930, upload-time = "2023-10-21T14:19:35.109Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/12/c7a7504f5bf74d6ee0533f6fc7d30d8f4b79420ab179d1df2484b07602eb/websockets-12.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6350b14a40c95ddd53e775dbdbbbc59b124a5c8ecd6fbb09c2e52029f7a9f480", size = 130245, upload-time = "2023-10-21T14:19:36.761Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/6a/3600c7771eb31116d2e77383d7345618b37bb93709d041e328c08e2a8eb3/websockets-12.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:70ec754cc2a769bcd218ed8d7209055667b30860ffecb8633a834dde27d6307c", size = 134966, upload-time = "2023-10-21T14:19:38.481Z" },
+ { url = "https://files.pythonhosted.org/packages/22/26/df77c4b7538caebb78c9b97f43169ef742a4f445e032a5ea1aaef88f8f46/websockets-12.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6e96f5ed1b83a8ddb07909b45bd94833b0710f738115751cdaa9da1fb0cb66e8", size = 134196, upload-time = "2023-10-21T14:19:40.264Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/18/18ce9a4a08203c8d0d3d561e3ea4f453daf32f099601fc831e60c8a9b0f2/websockets-12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4d87be612cbef86f994178d5186add3d94e9f31cc3cb499a0482b866ec477603", size = 134822, upload-time = "2023-10-21T14:19:41.836Z" },
+ { url = "https://files.pythonhosted.org/packages/45/51/1f823a341fc20a880e67ae62f6c38c4880a24a4b60fbe544a38f516f39a1/websockets-12.0-cp310-cp310-win32.whl", hash = "sha256:befe90632d66caaf72e8b2ed4d7f02b348913813c8b0a32fae1cc5fe3730902f", size = 124454, upload-time = "2023-10-21T14:19:43.639Z" },
+ { url = "https://files.pythonhosted.org/packages/41/b0/5ec054cfcf23adfc88d39359b85e81d043af8a141e3ac8ce40f45a5ce5f4/websockets-12.0-cp310-cp310-win_amd64.whl", hash = "sha256:363f57ca8bc8576195d0540c648aa58ac18cf85b76ad5202b9f976918f4219cf", size = 124974, upload-time = "2023-10-21T14:19:44.934Z" },
+ { url = "https://files.pythonhosted.org/packages/02/73/9c1e168a2e7fdf26841dc98f5f5502e91dea47428da7690a08101f616169/websockets-12.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5d873c7de42dea355d73f170be0f23788cf3fa9f7bed718fd2830eefedce01b4", size = 124047, upload-time = "2023-10-21T14:19:46.519Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/2d/9a683359ad2ed11b2303a7a94800db19c61d33fa3bde271df09e99936022/websockets-12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3f61726cae9f65b872502ff3c1496abc93ffbe31b278455c418492016e2afc8f", size = 121282, upload-time = "2023-10-21T14:19:47.739Z" },
+ { url = "https://files.pythonhosted.org/packages/95/aa/75fa3b893142d6d98a48cb461169bd268141f2da8bfca97392d6462a02eb/websockets-12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed2fcf7a07334c77fc8a230755c2209223a7cc44fc27597729b8ef5425aa61a3", size = 121325, upload-time = "2023-10-21T14:19:49.4Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/a4/51a25e591d645df71ee0dc3a2c880b28e5514c00ce752f98a40a87abcd1e/websockets-12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e332c210b14b57904869ca9f9bf4ca32f5427a03eeb625da9b616c85a3a506c", size = 131502, upload-time = "2023-10-21T14:19:50.683Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/ea/0ceeea4f5b87398fe2d9f5bcecfa00a1bcd542e2bfcac2f2e5dd612c4e9e/websockets-12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5693ef74233122f8ebab026817b1b37fe25c411ecfca084b29bc7d6efc548f45", size = 130491, upload-time = "2023-10-21T14:19:51.835Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/05/f52a60b66d9faf07a4f7d71dc056bffafe36a7e98c4eb5b78f04fe6e4e85/websockets-12.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e9e7db18b4539a29cc5ad8c8b252738a30e2b13f033c2d6e9d0549b45841c04", size = 130872, upload-time = "2023-10-21T14:19:53.071Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/4e/c7361b2d7b964c40fea924d64881145164961fcd6c90b88b7e3ab2c4f431/websockets-12.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6e2df67b8014767d0f785baa98393725739287684b9f8d8a1001eb2839031447", size = 136318, upload-time = "2023-10-21T14:19:54.41Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/31/337bf35ae5faeaf364c9cddec66681cdf51dc4414ee7a20f92a18e57880f/websockets-12.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:bea88d71630c5900690fcb03161ab18f8f244805c59e2e0dc4ffadae0a7ee0ca", size = 135594, upload-time = "2023-10-21T14:19:55.982Z" },
+ { url = "https://files.pythonhosted.org/packages/95/aa/1ac767825c96f9d7e43c4c95683757d4ef28cf11fa47a69aca42428d3e3a/websockets-12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dff6cdf35e31d1315790149fee351f9e52978130cef6c87c4b6c9b3baf78bc53", size = 136191, upload-time = "2023-10-21T14:19:57.349Z" },
+ { url = "https://files.pythonhosted.org/packages/28/4b/344ec5cfeb6bc417da097f8253607c3aed11d9a305fb58346f506bf556d8/websockets-12.0-cp311-cp311-win32.whl", hash = "sha256:3e3aa8c468af01d70332a382350ee95f6986db479ce7af14d5e81ec52aa2b402", size = 124453, upload-time = "2023-10-21T14:19:59.11Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/40/6b169cd1957476374f51f4486a3e85003149e62a14e6b78a958c2222337a/websockets-12.0-cp311-cp311-win_amd64.whl", hash = "sha256:25eb766c8ad27da0f79420b2af4b85d29914ba0edf69f547cc4f06ca6f1d403b", size = 124971, upload-time = "2023-10-21T14:20:00.243Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/6d/23cc898647c8a614a0d9ca703695dd04322fb5135096a20c2684b7c852b6/websockets-12.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0e6e2711d5a8e6e482cacb927a49a3d432345dfe7dea8ace7b5790df5932e4df", size = 124061, upload-time = "2023-10-21T14:20:02.221Z" },
+ { url = "https://files.pythonhosted.org/packages/39/34/364f30fdf1a375e4002a26ee3061138d1571dfda6421126127d379d13930/websockets-12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:dbcf72a37f0b3316e993e13ecf32f10c0e1259c28ffd0a85cee26e8549595fbc", size = 121296, upload-time = "2023-10-21T14:20:03.591Z" },
+ { url = "https://files.pythonhosted.org/packages/2e/00/96ae1c9dcb3bc316ef683f2febd8c97dde9f254dc36c3afc65c7645f734c/websockets-12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12743ab88ab2af1d17dd4acb4645677cb7063ef4db93abffbf164218a5d54c6b", size = 121326, upload-time = "2023-10-21T14:20:04.956Z" },
+ { url = "https://files.pythonhosted.org/packages/af/f1/bba1e64430685dd456c1a1fd6b0c791ae33104967b928aefeff261761e8d/websockets-12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b645f491f3c48d3f8a00d1fce07445fab7347fec54a3e65f0725d730d5b99cb", size = 131807, upload-time = "2023-10-21T14:20:06.153Z" },
+ { url = "https://files.pythonhosted.org/packages/62/3b/98ee269712f37d892b93852ce07b3e6d7653160ca4c0d4f8c8663f8021f8/websockets-12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9893d1aa45a7f8b3bc4510f6ccf8db8c3b62120917af15e3de247f0780294b92", size = 130751, upload-time = "2023-10-21T14:20:07.753Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/00/d6f01ca2b191f8b0808e4132ccd2e7691f0453cbd7d0f72330eb97453c3a/websockets-12.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f38a7b376117ef7aff996e737583172bdf535932c9ca021746573bce40165ed", size = 131176, upload-time = "2023-10-21T14:20:09.212Z" },
+ { url = "https://files.pythonhosted.org/packages/af/9c/703ff3cd8109dcdee6152bae055d852ebaa7750117760ded697ab836cbcf/websockets-12.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f764ba54e33daf20e167915edc443b6f88956f37fb606449b4a5b10ba42235a5", size = 136246, upload-time = "2023-10-21T14:20:10.423Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/a5/1a38fb85a456b9dc874ec984f3ff34f6550eafd17a3da28753cd3c1628e8/websockets-12.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1e4b3f8ea6a9cfa8be8484c9221ec0257508e3a1ec43c36acdefb2a9c3b00aa2", size = 135466, upload-time = "2023-10-21T14:20:11.826Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/98/1261f289dff7e65a38d59d2f591de6ed0a2580b729aebddec033c4d10881/websockets-12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9fdf06fd06c32205a07e47328ab49c40fc1407cdec801d698a7c41167ea45113", size = 136083, upload-time = "2023-10-21T14:20:13.451Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/1c/f68769fba63ccb9c13fe0a25b616bd5aebeef1c7ddebc2ccc32462fb784d/websockets-12.0-cp312-cp312-win32.whl", hash = "sha256:baa386875b70cbd81798fa9f71be689c1bf484f65fd6fb08d051a0ee4e79924d", size = 124460, upload-time = "2023-10-21T14:20:14.719Z" },
+ { url = "https://files.pythonhosted.org/packages/20/52/8915f51f9aaef4e4361c89dd6cf69f72a0159f14e0d25026c81b6ad22525/websockets-12.0-cp312-cp312-win_amd64.whl", hash = "sha256:ae0a5da8f35a5be197f328d4727dbcfafa53d1824fac3d96cdd3a642fe09394f", size = 124985, upload-time = "2023-10-21T14:20:15.817Z" },
+ { url = "https://files.pythonhosted.org/packages/43/8b/554a8a8bb6da9dd1ce04c44125e2192af7b7beebf6e3dbfa5d0e285cc20f/websockets-12.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:248d8e2446e13c1d4326e0a6a4e9629cb13a11195051a73acf414812700badbd", size = 121110, upload-time = "2023-10-21T14:20:48.335Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/8e/58b8812940d746ad74d395fb069497255cb5ef50748dfab1e8b386b1f339/websockets-12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44069528d45a933997a6fef143030d8ca8042f0dfaad753e2906398290e2870", size = 123216, upload-time = "2023-10-21T14:20:50.083Z" },
+ { url = "https://files.pythonhosted.org/packages/81/ee/272cb67ace1786ce6d9f39d47b3c55b335e8b75dd1972a7967aad39178b6/websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c4e37d36f0d19f0a4413d3e18c0d03d0c268ada2061868c1e6f5ab1a6d575077", size = 122821, upload-time = "2023-10-21T14:20:51.237Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/03/387fc902b397729df166763e336f4e5cec09fe7b9d60f442542c94a21be1/websockets-12.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d829f975fc2e527a3ef2f9c8f25e553eb7bc779c6665e8e1d52aa22800bb38b", size = 122768, upload-time = "2023-10-21T14:20:52.59Z" },
+ { url = "https://files.pythonhosted.org/packages/50/f0/5939fbc9bc1979d79a774ce5b7c4b33c0cefe99af22fb70f7462d0919640/websockets-12.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2c71bd45a777433dd9113847af751aae36e448bc6b8c361a566cb043eda6ec30", size = 125009, upload-time = "2023-10-21T14:20:54.419Z" },
+ { url = "https://files.pythonhosted.org/packages/79/4d/9cc401e7b07e80532ebc8c8e993f42541534da9e9249c59ee0139dcb0352/websockets-12.0-py3-none-any.whl", hash = "sha256:dc284bbc8d7c78a6c69e0c7325ab46ee5e40bb4d50e494d8131a07ef47500e9e", size = 118370, upload-time = "2023-10-21T14:21:10.075Z" },
]
[[package]]
@@ -2784,9 +2788,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "markupsafe" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/02/51/2e0fc149e7a810d300422ab543f87f2bcf64d985eb6f1228c4efd6e4f8d4/werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18", size = 803342, upload_time = "2024-05-05T23:10:31.999Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/02/51/2e0fc149e7a810d300422ab543f87f2bcf64d985eb6f1228c4efd6e4f8d4/werkzeug-3.0.3.tar.gz", hash = "sha256:097e5bfda9f0aba8da6b8545146def481d06aa7d3266e7448e2cccf67dd8bd18", size = 803342, upload-time = "2024-05-05T23:10:31.999Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/9d/6e/e792999e816d19d7fcbfa94c730936750036d65656a76a5a688b57a656c4/werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8", size = 227274, upload_time = "2024-05-05T23:10:29.567Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/6e/e792999e816d19d7fcbfa94c730936750036d65656a76a5a688b57a656c4/werkzeug-3.0.3-py3-none-any.whl", hash = "sha256:fc9645dc43e03e4d630d23143a04a7f947a9a3b5727cd535fdfe155a17cc48c8", size = 227274, upload-time = "2024-05-05T23:10:29.567Z" },
]
[[package]]
@@ -2796,9 +2800,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "h11" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/c9/4a/44d3c295350d776427904d73c189e10aeae66d7f555bb2feee16d1e4ba5a/wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065", size = 53425, upload_time = "2022-08-23T19:58:21.447Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/c9/4a/44d3c295350d776427904d73c189e10aeae66d7f555bb2feee16d1e4ba5a/wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065", size = 53425, upload-time = "2022-08-23T19:58:21.447Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736", size = 24226, upload_time = "2022-08-23T19:58:19.96Z" },
+ { url = "https://files.pythonhosted.org/packages/78/58/e860788190eba3bcce367f74d29c4675466ce8dddfba85f7827588416f01/wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736", size = 24226, upload-time = "2022-08-23T19:58:19.96Z" },
]
[[package]]
@@ -2808,9 +2812,9 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "setuptools" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/46/c2/427f1867bb96555d1d34342f1dd97f8c420966ab564d58d18469a1db8736/zope.event-5.0.tar.gz", hash = "sha256:bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd", size = 17350, upload_time = "2023-06-23T06:28:35.709Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/46/c2/427f1867bb96555d1d34342f1dd97f8c420966ab564d58d18469a1db8736/zope.event-5.0.tar.gz", hash = "sha256:bac440d8d9891b4068e2b5a2c5e2c9765a9df762944bda6955f96bb9b91e67cd", size = 17350, upload-time = "2023-06-23T06:28:35.709Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/fe/42/f8dbc2b9ad59e927940325a22d6d3931d630c3644dae7e2369ef5d9ba230/zope.event-5.0-py3-none-any.whl", hash = "sha256:2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26", size = 6824, upload_time = "2023-06-23T06:28:32.652Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/42/f8dbc2b9ad59e927940325a22d6d3931d630c3644dae7e2369ef5d9ba230/zope.event-5.0-py3-none-any.whl", hash = "sha256:2832e95014f4db26c47a13fdaef84cef2f4df37e66b59d8f1f4a8f319a632c26", size = 6824, upload-time = "2023-06-23T06:28:32.652Z" },
]
[[package]]
@@ -2820,24 +2824,24 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "setuptools" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/87/03/6b85c1df2dca1b9acca38b423d1e226d8ffdf30ebd78bcb398c511de8b54/zope.interface-6.1.tar.gz", hash = "sha256:2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309", size = 293914, upload_time = "2023-10-05T11:24:38.943Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/87/03/6b85c1df2dca1b9acca38b423d1e226d8ffdf30ebd78bcb398c511de8b54/zope.interface-6.1.tar.gz", hash = "sha256:2fdc7ccbd6eb6b7df5353012fbed6c3c5d04ceaca0038f75e601060e95345309", size = 293914, upload-time = "2023-10-05T11:24:38.943Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/3c/ec/c1e7ce928dc10bfe02c6da7e964342d941aaf168f96f8084636167ea50d2/zope.interface-6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:43b576c34ef0c1f5a4981163b551a8781896f2a37f71b8655fd20b5af0386abb", size = 202417, upload_time = "2023-10-05T11:24:25.141Z" },
- { url = "https://files.pythonhosted.org/packages/f7/0b/12f269ad049fc40a7a3ab85445d7855b6bc6f1e774c5ca9dd6f5c32becb3/zope.interface-6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:67be3ca75012c6e9b109860820a8b6c9a84bfb036fbd1076246b98e56951ca92", size = 202528, upload_time = "2023-10-05T11:24:27.336Z" },
- { url = "https://files.pythonhosted.org/packages/7f/85/3a35144509eb4a5a2208b48ae8d116a969d67de62cc6513d85602144d9cd/zope.interface-6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b9bc671626281f6045ad61d93a60f52fd5e8209b1610972cf0ef1bbe6d808e3", size = 247532, upload_time = "2023-10-05T11:49:20.587Z" },
- { url = "https://files.pythonhosted.org/packages/50/d6/6176aaa1f6588378f5a5a4a9c6ad50a36824e902b2f844ca8de7f1b0c4a7/zope.interface-6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe81def9cf3e46f16ce01d9bfd8bea595e06505e51b7baf45115c77352675fd", size = 241703, upload_time = "2023-10-05T11:25:33.542Z" },
- { url = "https://files.pythonhosted.org/packages/4f/20/94d4f221989b4bbdd09004b2afb329958e776b7015b7ea8bc915327e195a/zope.interface-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dc998f6de015723196a904045e5a2217f3590b62ea31990672e31fbc5370b41", size = 247078, upload_time = "2023-10-05T11:25:48.235Z" },
- { url = "https://files.pythonhosted.org/packages/97/7e/b790b4ab9605010816a91df26a715f163e228d60eb36c947c3118fb65190/zope.interface-6.1-cp310-cp310-win_amd64.whl", hash = "sha256:239a4a08525c080ff833560171d23b249f7f4d17fcbf9316ef4159f44997616f", size = 204155, upload_time = "2023-10-05T11:37:56.715Z" },
- { url = "https://files.pythonhosted.org/packages/4a/0b/1d8817b8a3631384a26ff7faa4c1f3e6726f7e4950c3442721cfef2c95eb/zope.interface-6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9ffdaa5290422ac0f1688cb8adb1b94ca56cee3ad11f29f2ae301df8aecba7d1", size = 202441, upload_time = "2023-10-05T11:24:20.414Z" },
- { url = "https://files.pythonhosted.org/packages/3e/1f/43557bb2b6e8537002a5a26af9b899171e26ddfcdf17a00ff729b00c036b/zope.interface-6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c15ca9248f2e095ef2e93af2d633358c5f048c49fbfddf5fdfc47d5e263736", size = 202530, upload_time = "2023-10-05T11:24:22.975Z" },
- { url = "https://files.pythonhosted.org/packages/37/a1/5d2b265f4b7371630cad5873d0873965e35ca3de993d11b9336c720f7259/zope.interface-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b012d023b4fb59183909b45d7f97fb493ef7a46d2838a5e716e3155081894605", size = 249584, upload_time = "2023-10-05T11:49:22.978Z" },
- { url = "https://files.pythonhosted.org/packages/8b/6d/547bfa7465e5b296adba0aff5c7ace1150f2a9e429fbf6c33d6618275162/zope.interface-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97806e9ca3651588c1baaebb8d0c5ee3db95430b612db354c199b57378312ee8", size = 243737, upload_time = "2023-10-05T11:25:35.439Z" },
- { url = "https://files.pythonhosted.org/packages/db/5f/46946b588c43eb28efe0e46f4cf455b1ed8b2d1ea62a21b0001c6610662f/zope.interface-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddbab55a2473f1d3b8833ec6b7ac31e8211b0aa608df5ab09ce07f3727326de", size = 249104, upload_time = "2023-10-05T11:25:51.355Z" },
- { url = "https://files.pythonhosted.org/packages/6c/9c/9d3c0e7e5362ea59da3c42b3b2b9fc073db433a0fe3bc6cae0809ccec395/zope.interface-6.1-cp311-cp311-win_amd64.whl", hash = "sha256:a0da79117952a9a41253696ed3e8b560a425197d4e41634a23b1507efe3273f1", size = 204155, upload_time = "2023-10-05T11:39:39.139Z" },
- { url = "https://files.pythonhosted.org/packages/3c/91/68a0bbc97c2554f87d39572091954e94d043bcd83897cd6a779ca85cb5cc/zope.interface-6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8bb9c990ca9027b4214fa543fd4025818dc95f8b7abce79d61dc8a2112b561a", size = 202757, upload_time = "2023-10-05T11:25:05.865Z" },
- { url = "https://files.pythonhosted.org/packages/e1/84/850092a8ab7e87a3ea615daf3f822f7196c52592e3e92f264621b4cfe5a2/zope.interface-6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b51b64432eed4c0744241e9ce5c70dcfecac866dff720e746d0a9c82f371dfa7", size = 202654, upload_time = "2023-10-05T11:25:08.347Z" },
- { url = "https://files.pythonhosted.org/packages/57/23/508f7f79619ae4e025f5b264a9283efc3c805ed4c0ad75cb28c091179ced/zope.interface-6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa6fd016e9644406d0a61313e50348c706e911dca29736a3266fc9e28ec4ca6d", size = 254400, upload_time = "2023-10-05T11:49:25.326Z" },
- { url = "https://files.pythonhosted.org/packages/7c/0d/db0ccf0d12767015f23b302aebe98d5eca218aaadc70c2e3908b85fecd2a/zope.interface-6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c8cf55261e15590065039696607f6c9c1aeda700ceee40c70478552d323b3ff", size = 248853, upload_time = "2023-10-05T11:25:37.37Z" },
- { url = "https://files.pythonhosted.org/packages/fd/4f/8e80173ebcdefe0ff4164444c22b171cf8bd72533026befc2adf079f3ac8/zope.interface-6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e30506bcb03de8983f78884807e4fd95d8db6e65b69257eea05d13d519b83ac0", size = 255127, upload_time = "2023-10-05T11:25:53.819Z" },
- { url = "https://files.pythonhosted.org/packages/0f/d5/81f9789311d9773a02ed048af7452fc6cedce059748dba956c1dc040340a/zope.interface-6.1-cp312-cp312-win_amd64.whl", hash = "sha256:e33e86fd65f369f10608b08729c8f1c92ec7e0e485964670b4d2633a4812d36b", size = 204268, upload_time = "2023-10-05T11:41:22.778Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/ec/c1e7ce928dc10bfe02c6da7e964342d941aaf168f96f8084636167ea50d2/zope.interface-6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:43b576c34ef0c1f5a4981163b551a8781896f2a37f71b8655fd20b5af0386abb", size = 202417, upload-time = "2023-10-05T11:24:25.141Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/0b/12f269ad049fc40a7a3ab85445d7855b6bc6f1e774c5ca9dd6f5c32becb3/zope.interface-6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:67be3ca75012c6e9b109860820a8b6c9a84bfb036fbd1076246b98e56951ca92", size = 202528, upload-time = "2023-10-05T11:24:27.336Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/85/3a35144509eb4a5a2208b48ae8d116a969d67de62cc6513d85602144d9cd/zope.interface-6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b9bc671626281f6045ad61d93a60f52fd5e8209b1610972cf0ef1bbe6d808e3", size = 247532, upload-time = "2023-10-05T11:49:20.587Z" },
+ { url = "https://files.pythonhosted.org/packages/50/d6/6176aaa1f6588378f5a5a4a9c6ad50a36824e902b2f844ca8de7f1b0c4a7/zope.interface-6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe81def9cf3e46f16ce01d9bfd8bea595e06505e51b7baf45115c77352675fd", size = 241703, upload-time = "2023-10-05T11:25:33.542Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/20/94d4f221989b4bbdd09004b2afb329958e776b7015b7ea8bc915327e195a/zope.interface-6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dc998f6de015723196a904045e5a2217f3590b62ea31990672e31fbc5370b41", size = 247078, upload-time = "2023-10-05T11:25:48.235Z" },
+ { url = "https://files.pythonhosted.org/packages/97/7e/b790b4ab9605010816a91df26a715f163e228d60eb36c947c3118fb65190/zope.interface-6.1-cp310-cp310-win_amd64.whl", hash = "sha256:239a4a08525c080ff833560171d23b249f7f4d17fcbf9316ef4159f44997616f", size = 204155, upload-time = "2023-10-05T11:37:56.715Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/0b/1d8817b8a3631384a26ff7faa4c1f3e6726f7e4950c3442721cfef2c95eb/zope.interface-6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9ffdaa5290422ac0f1688cb8adb1b94ca56cee3ad11f29f2ae301df8aecba7d1", size = 202441, upload-time = "2023-10-05T11:24:20.414Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/1f/43557bb2b6e8537002a5a26af9b899171e26ddfcdf17a00ff729b00c036b/zope.interface-6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34c15ca9248f2e095ef2e93af2d633358c5f048c49fbfddf5fdfc47d5e263736", size = 202530, upload-time = "2023-10-05T11:24:22.975Z" },
+ { url = "https://files.pythonhosted.org/packages/37/a1/5d2b265f4b7371630cad5873d0873965e35ca3de993d11b9336c720f7259/zope.interface-6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b012d023b4fb59183909b45d7f97fb493ef7a46d2838a5e716e3155081894605", size = 249584, upload-time = "2023-10-05T11:49:22.978Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/6d/547bfa7465e5b296adba0aff5c7ace1150f2a9e429fbf6c33d6618275162/zope.interface-6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:97806e9ca3651588c1baaebb8d0c5ee3db95430b612db354c199b57378312ee8", size = 243737, upload-time = "2023-10-05T11:25:35.439Z" },
+ { url = "https://files.pythonhosted.org/packages/db/5f/46946b588c43eb28efe0e46f4cf455b1ed8b2d1ea62a21b0001c6610662f/zope.interface-6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddbab55a2473f1d3b8833ec6b7ac31e8211b0aa608df5ab09ce07f3727326de", size = 249104, upload-time = "2023-10-05T11:25:51.355Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/9c/9d3c0e7e5362ea59da3c42b3b2b9fc073db433a0fe3bc6cae0809ccec395/zope.interface-6.1-cp311-cp311-win_amd64.whl", hash = "sha256:a0da79117952a9a41253696ed3e8b560a425197d4e41634a23b1507efe3273f1", size = 204155, upload-time = "2023-10-05T11:39:39.139Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/91/68a0bbc97c2554f87d39572091954e94d043bcd83897cd6a779ca85cb5cc/zope.interface-6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e8bb9c990ca9027b4214fa543fd4025818dc95f8b7abce79d61dc8a2112b561a", size = 202757, upload-time = "2023-10-05T11:25:05.865Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/84/850092a8ab7e87a3ea615daf3f822f7196c52592e3e92f264621b4cfe5a2/zope.interface-6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b51b64432eed4c0744241e9ce5c70dcfecac866dff720e746d0a9c82f371dfa7", size = 202654, upload-time = "2023-10-05T11:25:08.347Z" },
+ { url = "https://files.pythonhosted.org/packages/57/23/508f7f79619ae4e025f5b264a9283efc3c805ed4c0ad75cb28c091179ced/zope.interface-6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa6fd016e9644406d0a61313e50348c706e911dca29736a3266fc9e28ec4ca6d", size = 254400, upload-time = "2023-10-05T11:49:25.326Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/0d/db0ccf0d12767015f23b302aebe98d5eca218aaadc70c2e3908b85fecd2a/zope.interface-6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c8cf55261e15590065039696607f6c9c1aeda700ceee40c70478552d323b3ff", size = 248853, upload-time = "2023-10-05T11:25:37.37Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/4f/8e80173ebcdefe0ff4164444c22b171cf8bd72533026befc2adf079f3ac8/zope.interface-6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e30506bcb03de8983f78884807e4fd95d8db6e65b69257eea05d13d519b83ac0", size = 255127, upload-time = "2023-10-05T11:25:53.819Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/d5/81f9789311d9773a02ed048af7452fc6cedce059748dba956c1dc040340a/zope.interface-6.1-cp312-cp312-win_amd64.whl", hash = "sha256:e33e86fd65f369f10608b08729c8f1c92ec7e0e485964670b4d2633a4812d36b", size = 204268, upload-time = "2023-10-05T11:41:22.778Z" },
]
diff --git a/mobile/android/app/src/main/kotlin/app/alextran/immich/HttpSSLOptionsPlugin.kt b/mobile/android/app/src/main/kotlin/app/alextran/immich/HttpSSLOptionsPlugin.kt
new file mode 100644
index 0000000000..44d2aee2ce
--- /dev/null
+++ b/mobile/android/app/src/main/kotlin/app/alextran/immich/HttpSSLOptionsPlugin.kt
@@ -0,0 +1,146 @@
+package app.alextran.immich
+
+import android.annotation.SuppressLint
+import android.content.Context
+import io.flutter.embedding.engine.plugins.FlutterPlugin
+import io.flutter.plugin.common.BinaryMessenger
+import io.flutter.plugin.common.MethodCall
+import io.flutter.plugin.common.MethodChannel
+import java.io.ByteArrayInputStream
+import java.net.InetSocketAddress
+import java.net.Socket
+import java.security.KeyStore
+import java.security.cert.X509Certificate
+import javax.net.ssl.HostnameVerifier
+import javax.net.ssl.HttpsURLConnection
+import javax.net.ssl.KeyManager
+import javax.net.ssl.KeyManagerFactory
+import javax.net.ssl.SSLContext
+import javax.net.ssl.SSLEngine
+import javax.net.ssl.SSLSession
+import javax.net.ssl.TrustManager
+import javax.net.ssl.TrustManagerFactory
+import javax.net.ssl.X509ExtendedTrustManager
+
+/**
+ * Android plugin for Dart `HttpSSLOptions`
+ */
+class HttpSSLOptionsPlugin : FlutterPlugin, MethodChannel.MethodCallHandler {
+ private var methodChannel: MethodChannel? = null
+
+ override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) {
+ onAttachedToEngine(binding.applicationContext, binding.binaryMessenger)
+ }
+
+ private fun onAttachedToEngine(ctx: Context, messenger: BinaryMessenger) {
+ methodChannel = MethodChannel(messenger, "immich/httpSSLOptions")
+ methodChannel?.setMethodCallHandler(this)
+ }
+
+ override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
+ onDetachedFromEngine()
+ }
+
+ private fun onDetachedFromEngine() {
+ methodChannel?.setMethodCallHandler(null)
+ methodChannel = null
+ }
+
+ override fun onMethodCall(call: MethodCall, result: MethodChannel.Result) {
+ try {
+ when (call.method) {
+ "apply" -> {
+ val args = call.arguments>()!!
+
+ var tm: Array? = null
+ if (args[0] as Boolean) {
+ tm = arrayOf(AllowSelfSignedTrustManager(args[1] as? String))
+ }
+
+ var km: Array? = null
+ if (args[2] != null) {
+ val cert = ByteArrayInputStream(args[2] as ByteArray)
+ val password = (args[3] as String).toCharArray()
+ val keyStore = KeyStore.getInstance("PKCS12")
+ keyStore.load(cert, password)
+ val keyManagerFactory =
+ KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm())
+ keyManagerFactory.init(keyStore, null)
+ km = keyManagerFactory.keyManagers
+ }
+
+ val sslContext = SSLContext.getInstance("TLS")
+ sslContext.init(km, tm, null)
+ HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.socketFactory)
+
+ HttpsURLConnection.setDefaultHostnameVerifier(AllowSelfSignedHostnameVerifier(args[1] as? String))
+
+ result.success(true)
+ }
+
+ else -> result.notImplemented()
+ }
+ } catch (e: Throwable) {
+ result.error("error", e.message, null)
+ }
+ }
+
+ @SuppressLint("CustomX509TrustManager")
+ class AllowSelfSignedTrustManager(private val serverHost: String?) : X509ExtendedTrustManager() {
+ private val defaultTrustManager: X509ExtendedTrustManager = getDefaultTrustManager()
+
+ override fun checkClientTrusted(chain: Array?, authType: String?) =
+ defaultTrustManager.checkClientTrusted(chain, authType)
+
+ override fun checkClientTrusted(
+ chain: Array?, authType: String?, socket: Socket?
+ ) = defaultTrustManager.checkClientTrusted(chain, authType, socket)
+
+ override fun checkClientTrusted(
+ chain: Array?, authType: String?, engine: SSLEngine?
+ ) = defaultTrustManager.checkClientTrusted(chain, authType, engine)
+
+ override fun checkServerTrusted(chain: Array?, authType: String?) {
+ if (serverHost == null) return
+ defaultTrustManager.checkServerTrusted(chain, authType)
+ }
+
+ override fun checkServerTrusted(
+ chain: Array?, authType: String?, socket: Socket?
+ ) {
+ if (serverHost == null) return
+ val socketAddress = socket?.remoteSocketAddress
+ if (socketAddress is InetSocketAddress && socketAddress.hostName == serverHost) return
+ defaultTrustManager.checkServerTrusted(chain, authType, socket)
+ }
+
+ override fun checkServerTrusted(
+ chain: Array?, authType: String?, engine: SSLEngine?
+ ) {
+ if (serverHost == null || engine?.peerHost == serverHost) return
+ defaultTrustManager.checkServerTrusted(chain, authType, engine)
+ }
+
+ override fun getAcceptedIssuers(): Array = defaultTrustManager.acceptedIssuers
+
+ private fun getDefaultTrustManager(): X509ExtendedTrustManager {
+ val factory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm())
+ factory.init(null as KeyStore?)
+ return factory.trustManagers.filterIsInstance().first()
+ }
+ }
+
+ class AllowSelfSignedHostnameVerifier(private val serverHost: String?) : HostnameVerifier {
+ companion object {
+ private val _defaultHostnameVerifier = HttpsURLConnection.getDefaultHostnameVerifier()
+ }
+
+ override fun verify(hostname: String?, session: SSLSession?): Boolean {
+ if (serverHost == null || hostname == serverHost) {
+ return true
+ } else {
+ return _defaultHostnameVerifier.verify(hostname, session)
+ }
+ }
+ }
+}
diff --git a/mobile/android/app/src/main/kotlin/app/alextran/immich/MainActivity.kt b/mobile/android/app/src/main/kotlin/app/alextran/immich/MainActivity.kt
index 2b6bf81148..752ded59ce 100644
--- a/mobile/android/app/src/main/kotlin/app/alextran/immich/MainActivity.kt
+++ b/mobile/android/app/src/main/kotlin/app/alextran/immich/MainActivity.kt
@@ -8,6 +8,7 @@ class MainActivity : FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
flutterEngine.plugins.add(BackgroundServicePlugin())
+ flutterEngine.plugins.add(HttpSSLOptionsPlugin())
// No need to set up method channel here as it's now handled in the plugin
}
}
diff --git a/mobile/lib/constants/locales.dart b/mobile/lib/constants/locales.dart
index 836d3cf06f..45c09293f9 100644
--- a/mobile/lib/constants/locales.dart
+++ b/mobile/lib/constants/locales.dart
@@ -6,8 +6,8 @@ const Map locales = {
// Additional locales
'Arabic (ar)': Locale('ar'),
'Catalan (ca)': Locale('ca'),
- 'Chinese Simplified (zh_CN)': Locale('zh', 'SIMPLIFIED'),
- 'Chinese Traditional (zh_TW)': Locale('zh', 'Hant'),
+ 'Chinese Simplified (zh_CN)': Locale('zh', 'CN'),
+ 'Chinese Traditional (zh_TW)': Locale('zh', 'TW'),
'Czech (cs)': Locale('cs'),
'Danish (da)': Locale('da'),
'Dutch (nl)': Locale('nl'),
@@ -31,8 +31,10 @@ const Map locales = {
'Portuguese (pt)': Locale('pt'),
'Romanian (ro)': Locale('ro'),
'Russian (ru)': Locale('ru'),
- 'Serbian Cyrillic (sr_Cyrl)': Locale('sr', 'Cyrl'),
- 'Serbian Latin (sr_Latn)': Locale('sr', 'Latn'),
+ 'Serbian Cyrillic (sr_Cyrl)':
+ Locale.fromSubtags(languageCode: 'sr', scriptCode: 'Cyrl'),
+ 'Serbian Latin (sr_Latn)':
+ Locale.fromSubtags(languageCode: 'sr', scriptCode: 'Latn'),
'Slovak (sk)': Locale('sk'),
'Slovenian (sl)': Locale('sl'),
'Spanish (es)': Locale('es'),
diff --git a/mobile/lib/main.dart b/mobile/lib/main.dart
index 73af81d69d..c39d5e3a66 100644
--- a/mobile/lib/main.dart
+++ b/mobile/lib/main.dart
@@ -27,7 +27,7 @@ import 'package:immich_mobile/theme/theme_data.dart';
import 'package:immich_mobile/utils/bootstrap.dart';
import 'package:immich_mobile/utils/cache/widgets_binding.dart';
import 'package:immich_mobile/utils/download.dart';
-import 'package:immich_mobile/utils/http_ssl_cert_override.dart';
+import 'package:immich_mobile/utils/http_ssl_options.dart';
import 'package:immich_mobile/utils/migration.dart';
import 'package:intl/date_symbol_data_local.dart';
import 'package:logging/logging.dart';
@@ -42,7 +42,7 @@ void main() async {
// Warm-up isolate pool for worker manager
await workerManager.init(dynamicSpawning: true);
await migrateDatabaseIfNeeded(db);
- HttpOverrides.global = HttpSSLCertOverride();
+ HttpSSLOptions.apply();
runApp(
ProviderScope(
diff --git a/mobile/lib/pages/album/album_asset_selection.page.dart b/mobile/lib/pages/album/album_asset_selection.page.dart
index 617fbfee11..7b0ce8cdc4 100644
--- a/mobile/lib/pages/album/album_asset_selection.page.dart
+++ b/mobile/lib/pages/album/album_asset_selection.page.dart
@@ -3,13 +3,13 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/extensions/asyncvalue_extensions.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/models/albums/asset_selection_page_result.model.dart';
import 'package:immich_mobile/providers/timeline.provider.dart';
import 'package:immich_mobile/widgets/asset_grid/asset_grid_data_structure.dart';
import 'package:immich_mobile/widgets/asset_grid/immich_asset_grid.dart';
-import 'package:immich_mobile/entities/asset.entity.dart';
@RoutePage()
class AlbumAssetSelectionPage extends HookConsumerWidget {
@@ -59,7 +59,7 @@ class AlbumAssetSelectionPage extends HookConsumerWidget {
: const Text(
'share_assets_selected',
style: TextStyle(fontSize: 18),
- ).tr(args: [selected.value.length.toString()]),
+ ).tr(namedArgs: {'count': selected.value.length.toString()}),
centerTitle: false,
actions: [
if (selected.value.isNotEmpty || canDeselect)
diff --git a/mobile/lib/pages/albums/albums.page.dart b/mobile/lib/pages/albums/albums.page.dart
index 1269fe0a8e..f09cd5a408 100644
--- a/mobile/lib/pages/albums/albums.page.dart
+++ b/mobile/lib/pages/albums/albums.page.dart
@@ -229,11 +229,13 @@ class AlbumsPage extends HookConsumerWidget {
),
subtitle: sorted[index].ownerId != null
? Text(
- '${(sorted[index].assetCount == 1 ? 'album_thumbnail_card_item'.tr(
- args: ['${sorted[index].assetCount}'],
- ) : 'album_thumbnail_card_items'.tr(
- args: ['${sorted[index].assetCount}'],
- ))} âĸ ${sorted[index].ownerId != userId ? 'album_thumbnail_shared_by'.tr(args: [sorted[index].ownerName!]) : 'owned'.tr()}',
+ '${(sorted[index].assetCount == 1 ? 'album_thumbnail_card_item'.tr() : 'album_thumbnail_card_items'.tr(
+ namedArgs: {
+ 'count': sorted[index]
+ .assetCount
+ .toString(),
+ },
+ ))} âĸ ${sorted[index].ownerId != userId ? 'album_thumbnail_shared_by'.tr(namedArgs: {'user': sorted[index].ownerName!}) : 'owned'.tr()}',
overflow: TextOverflow.ellipsis,
style:
context.textTheme.bodyMedium?.copyWith(
diff --git a/mobile/lib/pages/backup/backup_album_selection.page.dart b/mobile/lib/pages/backup/backup_album_selection.page.dart
index 671a9bfe16..c4124efb52 100644
--- a/mobile/lib/pages/backup/backup_album_selection.page.dart
+++ b/mobile/lib/pages/backup/backup_album_selection.page.dart
@@ -214,13 +214,13 @@ class BackupAlbumSelectionPage extends HookConsumerWidget {
ListTile(
title: Text(
"backup_album_selection_page_albums_device".tr(
- args: [
- ref
+ namedArgs: {
+ 'count': ref
.watch(backupProvider)
.availableAlbums
.length
.toString(),
- ],
+ },
),
style: context.textTheme.titleSmall,
),
diff --git a/mobile/lib/pages/editing/edit.page.dart b/mobile/lib/pages/editing/edit.page.dart
index bfa60eae00..39524df024 100644
--- a/mobile/lib/pages/editing/edit.page.dart
+++ b/mobile/lib/pages/editing/edit.page.dart
@@ -1,18 +1,18 @@
-import 'dart:typed_data';
import 'dart:async';
+import 'dart:typed_data';
import 'dart:ui';
+import 'package:auto_route/auto_route.dart';
+import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
-import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:fluttertoast/fluttertoast.dart';
+import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
-import 'package:immich_mobile/repositories/file_media.repository.dart';
-import 'package:immich_mobile/widgets/common/immich_toast.dart';
-import 'package:auto_route/auto_route.dart';
-import 'package:immich_mobile/routing/router.dart';
import 'package:immich_mobile/providers/album/album.provider.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:immich_mobile/repositories/file_media.repository.dart';
+import 'package:immich_mobile/routing/router.dart';
+import 'package:immich_mobile/widgets/common/immich_toast.dart';
import 'package:path/path.dart' as p;
/// A stateless widget that provides functionality for editing an image.
@@ -81,7 +81,7 @@ class EditImagePage extends ConsumerWidget {
ImmichToast.show(
durationInSecond: 6,
context: context,
- msg: "error_saving_image".tr(args: [e.toString()]),
+ msg: "error_saving_image".tr(namedArgs: {'error': e.toString()}),
gravity: ToastGravity.CENTER,
);
}
diff --git a/mobile/lib/pages/library/archive.page.dart b/mobile/lib/pages/library/archive.page.dart
index a13adc21f2..2b4aa64f3b 100644
--- a/mobile/lib/pages/library/archive.page.dart
+++ b/mobile/lib/pages/library/archive.page.dart
@@ -24,7 +24,7 @@ class ArchivePage extends HookConsumerWidget {
automaticallyImplyLeading: false,
title: const Text(
'archive_page_title',
- ).tr(args: [count]),
+ ).tr(namedArgs: {'count': count}),
);
}
diff --git a/mobile/lib/pages/library/partner/partner.page.dart b/mobile/lib/pages/library/partner/partner.page.dart
index 90a6a7f04e..91b661e7ce 100644
--- a/mobile/lib/pages/library/partner/partner.page.dart
+++ b/mobile/lib/pages/library/partner/partner.page.dart
@@ -73,7 +73,8 @@ class PartnerPage extends HookConsumerWidget {
builder: (BuildContext context) {
return ConfirmDialog(
title: "stop_photo_sharing",
- content: "partner_page_stop_sharing_content".tr(args: [u.name]),
+ content: "partner_page_stop_sharing_content"
+ .tr(namedArgs: {'partner': u.name}),
onOk: () => ref.read(partnerServiceProvider).removePartner(u),
);
},
diff --git a/mobile/lib/pages/library/shared_link/shared_link_edit.page.dart b/mobile/lib/pages/library/shared_link/shared_link_edit.page.dart
index e4bf1ebe9b..6c18841089 100644
--- a/mobile/lib/pages/library/shared_link/shared_link_edit.page.dart
+++ b/mobile/lib/pages/library/shared_link/shared_link_edit.page.dart
@@ -7,11 +7,11 @@ import 'package:fluttertoast/fluttertoast.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/models/shared_link/shared_link.model.dart';
+import 'package:immich_mobile/providers/server_info.provider.dart';
import 'package:immich_mobile/providers/shared_link.provider.dart';
import 'package:immich_mobile/services/shared_link.service.dart';
-import 'package:immich_mobile/providers/server_info.provider.dart';
-import 'package:immich_mobile/widgets/common/immich_toast.dart';
import 'package:immich_mobile/utils/url_helper.dart';
+import 'package:immich_mobile/widgets/common/immich_toast.dart';
@RoutePage()
class SharedLinkEditPage extends HookConsumerWidget {
@@ -241,8 +241,8 @@ class SharedLinkEditPage extends HookConsumerWidget {
),
DropdownMenuEntry(
value: 30,
- label:
- "shared_link_edit_expire_after_option_minutes".tr(args: ["30"]),
+ label: "shared_link_edit_expire_after_option_minutes"
+ .tr(namedArgs: {'count': "30"}),
),
DropdownMenuEntry(
value: 60,
@@ -250,7 +250,8 @@ class SharedLinkEditPage extends HookConsumerWidget {
),
DropdownMenuEntry(
value: 60 * 6,
- label: "shared_link_edit_expire_after_option_hours".tr(args: ["6"]),
+ label: "shared_link_edit_expire_after_option_hours"
+ .tr(namedArgs: {'count': "6"}),
),
DropdownMenuEntry(
value: 60 * 24,
@@ -258,20 +259,23 @@ class SharedLinkEditPage extends HookConsumerWidget {
),
DropdownMenuEntry(
value: 60 * 24 * 7,
- label: "shared_link_edit_expire_after_option_days".tr(args: ["7"]),
+ label: "shared_link_edit_expire_after_option_days"
+ .tr(namedArgs: {'count': "7"}),
),
DropdownMenuEntry(
value: 60 * 24 * 30,
- label: "shared_link_edit_expire_after_option_days".tr(args: ["30"]),
+ label: "shared_link_edit_expire_after_option_days"
+ .tr(namedArgs: {'count': "30"}),
),
DropdownMenuEntry(
value: 60 * 24 * 30 * 3,
- label:
- "shared_link_edit_expire_after_option_months".tr(args: ["3"]),
+ label: "shared_link_edit_expire_after_option_months"
+ .tr(namedArgs: {'count': "3"}),
),
DropdownMenuEntry(
value: 60 * 24 * 30 * 12,
- label: "shared_link_edit_expire_after_option_year".tr(args: ["1"]),
+ label: "shared_link_edit_expire_after_option_year"
+ .tr(namedArgs: {'count': "1"}),
),
],
);
diff --git a/mobile/lib/pages/library/trash.page.dart b/mobile/lib/pages/library/trash.page.dart
index f8a1d7605d..c645719974 100644
--- a/mobile/lib/pages/library/trash.page.dart
+++ b/mobile/lib/pages/library/trash.page.dart
@@ -4,18 +4,18 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/extensions/asyncvalue_extensions.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/providers/asset.provider.dart';
-import 'package:immich_mobile/providers/timeline.provider.dart';
-import 'package:immich_mobile/widgets/asset_grid/immich_asset_grid.dart';
-import 'package:immich_mobile/widgets/asset_grid/delete_dialog.dart';
-import 'package:immich_mobile/providers/trash.provider.dart';
-import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/providers/server_info.provider.dart';
+import 'package:immich_mobile/providers/timeline.provider.dart';
+import 'package:immich_mobile/providers/trash.provider.dart';
+import 'package:immich_mobile/utils/immich_loading_overlay.dart';
+import 'package:immich_mobile/widgets/asset_grid/delete_dialog.dart';
+import 'package:immich_mobile/widgets/asset_grid/immich_asset_grid.dart';
import 'package:immich_mobile/widgets/common/confirm_dialog.dart';
import 'package:immich_mobile/widgets/common/immich_toast.dart';
-import 'package:immich_mobile/utils/immich_loading_overlay.dart';
@RoutePage()
class TrashPage extends HookConsumerWidget {
@@ -77,7 +77,7 @@ class TrashPage extends HookConsumerWidget {
ImmichToast.show(
context: context,
msg: 'assets_deleted_permanently'
- .tr(args: ["${selection.value.length}"]),
+ .tr(namedArgs: {'count': "${selection.value.length}"}),
gravity: ToastGravity.BOTTOM,
);
}
@@ -118,7 +118,7 @@ class TrashPage extends HookConsumerWidget {
ImmichToast.show(
context: context,
msg: 'assets_restored_successfully'
- .tr(args: ["${selection.value.length}"]),
+ .tr(namedArgs: {'count': "${selection.value.length}"}),
gravity: ToastGravity.BOTTOM,
);
}
@@ -135,7 +135,7 @@ class TrashPage extends HookConsumerWidget {
? "${selection.value.length}"
: "trash_page_select_assets_btn".tr();
}
- return 'trash_page_title'.tr(args: [count]);
+ return 'trash_page_title'.tr(namedArgs: {'count': count});
}
AppBar buildAppBar(String count) {
@@ -260,7 +260,7 @@ class TrashPage extends HookConsumerWidget {
),
child: const Text(
"trash_page_info",
- ).tr(args: ["$trashDays"]),
+ ).tr(namedArgs: {"days": "$trashDays"}),
),
),
),
diff --git a/mobile/lib/pages/share_intent/share_intent.page.dart b/mobile/lib/pages/share_intent/share_intent.page.dart
index d18fd15b6d..ff137ce0aa 100644
--- a/mobile/lib/pages/share_intent/share_intent.page.dart
+++ b/mobile/lib/pages/share_intent/share_intent.page.dart
@@ -3,12 +3,11 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart' hide Store;
import 'package:hooks_riverpod/hooks_riverpod.dart';
-import 'package:immich_mobile/domain/models/store.model.dart';
-import 'package:immich_mobile/entities/store.entity.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/models/upload/share_intent_attachment.model.dart';
import 'package:immich_mobile/pages/common/large_leading_tile.dart';
import 'package:immich_mobile/providers/asset_viewer/share_intent_upload.provider.dart';
+import 'package:immich_mobile/utils/url_helper.dart';
@RoutePage()
class ShareIntentPage extends HookConsumerWidget {
@@ -18,7 +17,7 @@ class ShareIntentPage extends HookConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
- final currentEndpoint = Store.get(StoreKey.serverEndpoint);
+ final currentEndpoint = getServerUrl() ?? '--';
final candidates = ref.watch(shareIntentUploadProvider);
final isUploaded = useState(false);
@@ -57,9 +56,7 @@ class ShareIntentPage extends HookConsumerWidget {
title: Column(
children: [
const Text('upload_to_immich').tr(
- args: [
- candidates.length.toString(),
- ],
+ namedArgs: {'count': candidates.length.toString()},
),
Text(
currentEndpoint,
@@ -177,8 +174,12 @@ class UploadingText extends StatelessWidget {
return element.status == UploadStatus.complete;
}).length;
- return const Text("shared_intent_upload_button_progress_text")
- .tr(args: [uploadedCount.toString(), candidates.length.toString()]);
+ return const Text("shared_intent_upload_button_progress_text").tr(
+ namedArgs: {
+ 'current': uploadedCount.toString(),
+ 'total': candidates.length.toString(),
+ },
+ );
}
}
diff --git a/mobile/lib/providers/auth.provider.dart b/mobile/lib/providers/auth.provider.dart
index 3221b80526..297b3a99fe 100644
--- a/mobile/lib/providers/auth.provider.dart
+++ b/mobile/lib/providers/auth.provider.dart
@@ -185,11 +185,6 @@ class AuthNotifier extends StateNotifier {
return Store.tryGet(StoreKey.serverEndpoint);
}
- /// Returns the current server URL (input by the user) from the store
- String? getServerUrl() {
- return Store.tryGet(StoreKey.serverUrl);
- }
-
Future setOpenApiServiceEndpoint() {
return _authService.setOpenApiServiceEndpoint();
}
diff --git a/mobile/lib/providers/backup/manual_upload.provider.dart b/mobile/lib/providers/backup/manual_upload.provider.dart
index fc7e4d866c..646a03cebc 100644
--- a/mobile/lib/providers/backup/manual_upload.provider.dart
+++ b/mobile/lib/providers/backup/manual_upload.provider.dart
@@ -6,27 +6,27 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/widgets.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/entities/backup_album.entity.dart';
import 'package:immich_mobile/models/backup/backup_candidate.model.dart';
-import 'package:immich_mobile/models/backup/success_upload_asset.model.dart';
-import 'package:immich_mobile/repositories/file_media.repository.dart';
-import 'package:immich_mobile/services/background.service.dart';
import 'package:immich_mobile/models/backup/backup_state.model.dart';
import 'package:immich_mobile/models/backup/current_upload_asset.model.dart';
import 'package:immich_mobile/models/backup/error_upload_asset.model.dart';
import 'package:immich_mobile/models/backup/manual_upload_state.model.dart';
+import 'package:immich_mobile/models/backup/success_upload_asset.model.dart';
+import 'package:immich_mobile/providers/app_life_cycle.provider.dart';
+import 'package:immich_mobile/providers/app_settings.provider.dart';
import 'package:immich_mobile/providers/backup/backup.provider.dart';
import 'package:immich_mobile/providers/backup/error_backup_list.provider.dart';
-import 'package:immich_mobile/services/backup.service.dart';
import 'package:immich_mobile/providers/gallery_permission.provider.dart';
-import 'package:immich_mobile/providers/app_settings.provider.dart';
+import 'package:immich_mobile/repositories/file_media.repository.dart';
import 'package:immich_mobile/services/app_settings.service.dart';
-import 'package:immich_mobile/entities/asset.entity.dart';
-import 'package:immich_mobile/providers/app_life_cycle.provider.dart';
+import 'package:immich_mobile/services/background.service.dart';
+import 'package:immich_mobile/services/backup.service.dart';
import 'package:immich_mobile/services/backup_album.service.dart';
import 'package:immich_mobile/services/local_notification.service.dart';
-import 'package:immich_mobile/widgets/common/immich_toast.dart';
import 'package:immich_mobile/utils/backup_progress.dart';
+import 'package:immich_mobile/widgets/common/immich_toast.dart';
import 'package:logging/logging.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:photo_manager/photo_manager.dart' show PMProgressHandler;
@@ -170,7 +170,7 @@ class ManualUploadNotifier extends StateNotifier {
if (state.showDetailedNotification) {
final title = "backup_background_service_current_upload_notification"
- .tr(args: [state.currentUploadAsset.fileName]);
+ .tr(namedArgs: {'filename': state.currentUploadAsset.fileName});
_throttledDetailNotify(title: title, progress: sent, total: total);
}
}
@@ -186,7 +186,7 @@ class ManualUploadNotifier extends StateNotifier {
if (state.showDetailedNotification) {
_throttledDetailNotify.title =
"backup_background_service_current_upload_notification"
- .tr(args: [currentUploadAsset.fileName]);
+ .tr(namedArgs: {'filename': currentUploadAsset.fileName});
_throttledDetailNotify.progress = 0;
_throttledDetailNotify.total = 0;
}
diff --git a/mobile/lib/services/asset.service.dart b/mobile/lib/services/asset.service.dart
index 4bf62eca31..8a24e72fbe 100644
--- a/mobile/lib/services/asset.service.dart
+++ b/mobile/lib/services/asset.service.dart
@@ -197,7 +197,7 @@ class AssetService {
ids: assets.map((e) => e.remoteId!).toList(),
dateTimeOriginal: updateAssetDto.dateTimeOriginal,
isFavorite: updateAssetDto.isFavorite,
- isArchived: updateAssetDto.isArchived,
+ visibility: updateAssetDto.visibility,
latitude: updateAssetDto.latitude,
longitude: updateAssetDto.longitude,
),
@@ -229,7 +229,13 @@ class AssetService {
bool isArchived,
) async {
try {
- await updateAssets(assets, UpdateAssetDto(isArchived: isArchived));
+ await updateAssets(
+ assets,
+ UpdateAssetDto(
+ visibility:
+ isArchived ? AssetVisibility.archive : AssetVisibility.timeline,
+ ),
+ );
for (var element in assets) {
element.isArchived = isArchived;
diff --git a/mobile/lib/services/background.service.dart b/mobile/lib/services/background.service.dart
index 2d63e1fc18..335f71acab 100644
--- a/mobile/lib/services/background.service.dart
+++ b/mobile/lib/services/background.service.dart
@@ -32,7 +32,7 @@ import 'package:immich_mobile/services/localization.service.dart';
import 'package:immich_mobile/utils/backup_progress.dart';
import 'package:immich_mobile/utils/bootstrap.dart';
import 'package:immich_mobile/utils/diff.dart';
-import 'package:immich_mobile/utils/http_ssl_cert_override.dart';
+import 'package:immich_mobile/utils/http_ssl_options.dart';
import 'package:path_provider_foundation/path_provider_foundation.dart';
import 'package:photo_manager/photo_manager.dart' show PMProgressHandler;
@@ -359,7 +359,7 @@ class BackgroundService {
],
);
- HttpOverrides.global = HttpSSLCertOverride();
+ HttpSSLOptions.apply();
ref
.read(apiServiceProvider)
.setAccessToken(Store.get(StoreKey.accessToken));
@@ -562,7 +562,7 @@ class BackgroundService {
void _onBackupError(ErrorUploadAsset errorAssetInfo) {
_showErrorNotification(
title: "backup_background_service_upload_failure_notification"
- .tr(args: [errorAssetInfo.fileName]),
+ .tr(namedArgs: {'filename': errorAssetInfo.fileName}),
individualTag: errorAssetInfo.id,
);
}
@@ -577,7 +577,7 @@ class BackgroundService {
_throttledDetailNotify.title =
"backup_background_service_current_upload_notification"
- .tr(args: [currentUploadAsset.fileName]);
+ .tr(namedArgs: {'filename': currentUploadAsset.fileName});
_throttledDetailNotify.progress = 0;
_throttledDetailNotify.total = 0;
}
diff --git a/mobile/lib/services/memory.service.dart b/mobile/lib/services/memory.service.dart
index 6ae8e1d0bb..efd38f1140 100644
--- a/mobile/lib/services/memory.service.dart
+++ b/mobile/lib/services/memory.service.dart
@@ -42,7 +42,8 @@ class MemoryService {
if (dbAssets.isNotEmpty) {
final String title = yearsAgo <= 1
? 'memories_year_ago'.tr()
- : 'memories_years_ago'.tr(args: [yearsAgo.toString()]);
+ : 'memories_years_ago'
+ .tr(namedArgs: {'years': yearsAgo.toString()});
memories.add(
Memory(
title: title,
diff --git a/mobile/lib/services/search.service.dart b/mobile/lib/services/search.service.dart
index 44ace78852..bcf67889c0 100644
--- a/mobile/lib/services/search.service.dart
+++ b/mobile/lib/services/search.service.dart
@@ -68,7 +68,9 @@ class SearchService {
model: filter.camera.model,
takenAfter: filter.date.takenAfter,
takenBefore: filter.date.takenBefore,
- isArchived: filter.display.isArchive ? true : null,
+ visibility: filter.display.isArchive
+ ? AssetVisibility.archive
+ : AssetVisibility.timeline,
isFavorite: filter.display.isFavorite ? true : null,
isNotInAlbum: filter.display.isNotInAlbum ? true : null,
personIds: filter.people.map((e) => e.id).toList(),
@@ -95,7 +97,9 @@ class SearchService {
model: filter.camera.model,
takenAfter: filter.date.takenAfter,
takenBefore: filter.date.takenBefore,
- isArchived: filter.display.isArchive ? true : null,
+ visibility: filter.display.isArchive
+ ? AssetVisibility.archive
+ : AssetVisibility.timeline,
isFavorite: filter.display.isFavorite ? true : null,
isNotInAlbum: filter.display.isNotInAlbum ? true : null,
personIds: filter.people.map((e) => e.id).toList(),
diff --git a/mobile/lib/utils/http_ssl_cert_override.dart b/mobile/lib/utils/http_ssl_cert_override.dart
index ce0384b998..f64757cf9d 100644
--- a/mobile/lib/utils/http_ssl_cert_override.dart
+++ b/mobile/lib/utils/http_ssl_cert_override.dart
@@ -1,16 +1,20 @@
import 'dart:io';
-import 'package:immich_mobile/domain/models/store.model.dart';
import 'package:immich_mobile/entities/store.entity.dart';
-import 'package:immich_mobile/services/app_settings.service.dart';
import 'package:logging/logging.dart';
class HttpSSLCertOverride extends HttpOverrides {
static final Logger _log = Logger("HttpSSLCertOverride");
+ final bool _allowSelfSignedSSLCert;
+ final String? _serverHost;
final SSLClientCertStoreVal? _clientCert;
late final SecurityContext? _ctxWithCert;
- HttpSSLCertOverride() : _clientCert = SSLClientCertStoreVal.load() {
+ HttpSSLCertOverride(
+ this._allowSelfSignedSSLCert,
+ this._serverHost,
+ this._clientCert,
+ ) {
if (_clientCert != null) {
_ctxWithCert = SecurityContext(withTrustedRoots: true);
if (_ctxWithCert != null) {
@@ -47,28 +51,15 @@ class HttpSSLCertOverride extends HttpOverrides {
return super.createHttpClient(context)
..badCertificateCallback = (X509Certificate cert, String host, int port) {
- AppSettingsEnum setting = AppSettingsEnum.allowSelfSignedSSLCert;
-
- // Check if user has allowed self signed SSL certificates.
- bool selfSignedCertsAllowed =
- Store.get(setting.storeKey as StoreKey, setting.defaultValue);
-
- bool isLoggedIn = Store.tryGet(StoreKey.currentUser) != null;
-
- // Conduct server host checks if user is logged in to avoid making
- // insecure SSL connections to services that are not the immich server.
- if (isLoggedIn && selfSignedCertsAllowed) {
- String serverHost =
- Uri.parse(Store.tryGet(StoreKey.serverEndpoint) ?? "").host;
-
- selfSignedCertsAllowed &= serverHost.contains(host);
+ if (_allowSelfSignedSSLCert) {
+ // Conduct server host checks if user is logged in to avoid making
+ // insecure SSL connections to services that are not the immich server.
+ if (_serverHost == null || _serverHost.contains(host)) {
+ return true;
+ }
}
-
- if (!selfSignedCertsAllowed) {
- _log.severe("Invalid SSL certificate for $host:$port");
- }
-
- return selfSignedCertsAllowed;
+ _log.severe("Invalid SSL certificate for $host:$port");
+ return false;
};
}
}
diff --git a/mobile/lib/utils/http_ssl_options.dart b/mobile/lib/utils/http_ssl_options.dart
new file mode 100644
index 0000000000..04c01d36d9
--- /dev/null
+++ b/mobile/lib/utils/http_ssl_options.dart
@@ -0,0 +1,47 @@
+import 'dart:io';
+
+import 'package:flutter/services.dart';
+import 'package:immich_mobile/domain/models/store.model.dart';
+import 'package:immich_mobile/entities/store.entity.dart';
+import 'package:immich_mobile/services/app_settings.service.dart';
+import 'package:immich_mobile/utils/http_ssl_cert_override.dart';
+import 'package:logging/logging.dart';
+
+class HttpSSLOptions {
+ static const MethodChannel _channel = MethodChannel('immich/httpSSLOptions');
+
+ static void apply() {
+ AppSettingsEnum setting = AppSettingsEnum.allowSelfSignedSSLCert;
+ bool allowSelfSignedSSLCert =
+ Store.get(setting.storeKey as StoreKey, setting.defaultValue);
+ _apply(allowSelfSignedSSLCert);
+ }
+
+ static void applyFromSettings(bool newValue) {
+ _apply(newValue);
+ }
+
+ static void _apply(bool allowSelfSignedSSLCert) {
+ String? serverHost;
+ if (allowSelfSignedSSLCert && Store.tryGet(StoreKey.currentUser) != null) {
+ serverHost = Uri.parse(Store.tryGet(StoreKey.serverEndpoint) ?? "").host;
+ }
+
+ SSLClientCertStoreVal? clientCert = SSLClientCertStoreVal.load();
+
+ HttpOverrides.global =
+ HttpSSLCertOverride(allowSelfSignedSSLCert, serverHost, clientCert);
+
+ if (Platform.isAndroid) {
+ _channel.invokeMethod("apply", [
+ allowSelfSignedSSLCert,
+ serverHost,
+ clientCert?.data,
+ clientCert?.password,
+ ]).onError((e, _) {
+ final log = Logger("HttpSSLOptions");
+ log.severe('Failed to set SSL options', e.message);
+ });
+ }
+ }
+}
diff --git a/mobile/lib/widgets/album/album_thumbnail_card.dart b/mobile/lib/widgets/album/album_thumbnail_card.dart
index f6f834e00d..79944ef15f 100644
--- a/mobile/lib/widgets/album/album_thumbnail_card.dart
+++ b/mobile/lib/widgets/album/album_thumbnail_card.dart
@@ -61,7 +61,8 @@ class AlbumThumbnailCard extends ConsumerWidget {
if (album.ownerId == ref.read(currentUserProvider)?.id) {
owner = 'owned'.tr();
} else if (album.ownerName != null) {
- owner = 'album_thumbnail_shared_by'.tr(args: [album.ownerName!]);
+ owner = 'album_thumbnail_shared_by'
+ .tr(namedArgs: {'user': album.ownerName!});
}
}
@@ -74,10 +75,9 @@ class AlbumThumbnailCard extends ConsumerWidget {
children: [
TextSpan(
text: album.assetCount == 1
- ? 'album_thumbnail_card_item'
- .tr(args: ['${album.assetCount}'])
+ ? 'album_thumbnail_card_item'.tr()
: 'album_thumbnail_card_items'
- .tr(args: ['${album.assetCount}']),
+ .tr(namedArgs: {'count': '${album.assetCount}'}),
),
if (owner != null) const TextSpan(text: ' âĸ '),
if (owner != null) TextSpan(text: owner),
diff --git a/mobile/lib/widgets/album/album_thumbnail_listtile.dart b/mobile/lib/widgets/album/album_thumbnail_listtile.dart
index 3c1e3a8ee0..17c2a6bd12 100644
--- a/mobile/lib/widgets/album/album_thumbnail_listtile.dart
+++ b/mobile/lib/widgets/album/album_thumbnail_listtile.dart
@@ -2,9 +2,9 @@ import 'package:auto_route/auto_route.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
+import 'package:immich_mobile/entities/album.entity.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/routing/router.dart';
-import 'package:immich_mobile/entities/album.entity.dart';
import 'package:immich_mobile/services/api.service.dart';
import 'package:immich_mobile/utils/image_url_builder.dart';
import 'package:openapi/api.dart';
@@ -96,7 +96,7 @@ class AlbumThumbnailListTile extends StatelessWidget {
style: const TextStyle(
fontSize: 12,
),
- ).tr(args: ['${album.assetCount}']),
+ ).tr(namedArgs: {'count': '${album.assetCount}'}),
if (album.shared)
const Text(
'album_thumbnail_card_shared',
diff --git a/mobile/lib/widgets/asset_grid/multiselect_grid.dart b/mobile/lib/widgets/asset_grid/multiselect_grid.dart
index 5ec59e3eeb..ceaee581d2 100644
--- a/mobile/lib/widgets/asset_grid/multiselect_grid.dart
+++ b/mobile/lib/widgets/asset_grid/multiselect_grid.dart
@@ -7,24 +7,24 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
-import 'package:immich_mobile/extensions/collection_extensions.dart';
-import 'package:immich_mobile/providers/album/album.provider.dart';
-import 'package:immich_mobile/services/album.service.dart';
-import 'package:immich_mobile/services/stack.service.dart';
-import 'package:immich_mobile/providers/backup/manual_upload.provider.dart';
-import 'package:immich_mobile/models/asset_selection_state.dart';
-import 'package:immich_mobile/providers/multiselect.provider.dart';
-import 'package:immich_mobile/widgets/asset_grid/asset_grid_data_structure.dart';
-import 'package:immich_mobile/widgets/asset_grid/immich_asset_grid.dart';
-import 'package:immich_mobile/widgets/asset_grid/control_bottom_app_bar.dart';
-import 'package:immich_mobile/routing/router.dart';
import 'package:immich_mobile/entities/album.entity.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
+import 'package:immich_mobile/extensions/collection_extensions.dart';
+import 'package:immich_mobile/models/asset_selection_state.dart';
+import 'package:immich_mobile/providers/album/album.provider.dart';
import 'package:immich_mobile/providers/asset.provider.dart';
+import 'package:immich_mobile/providers/backup/manual_upload.provider.dart';
+import 'package:immich_mobile/providers/multiselect.provider.dart';
import 'package:immich_mobile/providers/user.provider.dart';
-import 'package:immich_mobile/widgets/common/immich_toast.dart';
+import 'package:immich_mobile/routing/router.dart';
+import 'package:immich_mobile/services/album.service.dart';
+import 'package:immich_mobile/services/stack.service.dart';
import 'package:immich_mobile/utils/immich_loading_overlay.dart';
import 'package:immich_mobile/utils/selection_handlers.dart';
+import 'package:immich_mobile/widgets/asset_grid/asset_grid_data_structure.dart';
+import 'package:immich_mobile/widgets/asset_grid/control_bottom_app_bar.dart';
+import 'package:immich_mobile/widgets/asset_grid/immich_asset_grid.dart';
+import 'package:immich_mobile/widgets/common/immich_toast.dart';
class MultiselectGrid extends HookConsumerWidget {
const MultiselectGrid({
@@ -190,8 +190,9 @@ class MultiselectGrid extends HookConsumerWidget {
context: context,
msg: force
? 'assets_deleted_permanently'
- .tr(args: ["${selection.value.length}"])
- : 'assets_trashed'.tr(args: ["${selection.value.length}"]),
+ .tr(namedArgs: {'count': "${selection.value.length}"})
+ : 'assets_trashed'
+ .tr(namedArgs: {'count': "${selection.value.length}"}),
gravity: ToastGravity.BOTTOM,
);
selectionEnabledHook.value = false;
@@ -225,7 +226,7 @@ class MultiselectGrid extends HookConsumerWidget {
ImmichToast.show(
context: context,
msg: 'assets_removed_permanently_from_device'
- .tr(args: ["$deletedCount"]),
+ .tr(namedArgs: {'count': "$deletedCount"}),
gravity: ToastGravity.BOTTOM,
);
@@ -254,8 +255,9 @@ class MultiselectGrid extends HookConsumerWidget {
context: context,
msg: shouldDeletePermanently
? 'assets_deleted_permanently_from_server'
- .tr(args: ["${toDelete.length}"])
- : 'assets_trashed_from_server'.tr(args: ["${toDelete.length}"]),
+ .tr(namedArgs: {'count': "${toDelete.length}"})
+ : 'assets_trashed_from_server'
+ .tr(namedArgs: {'count': "${toDelete.length}"}),
gravity: ToastGravity.BOTTOM,
);
}
diff --git a/mobile/lib/widgets/asset_viewer/detail_panel/people_info.dart b/mobile/lib/widgets/asset_viewer/detail_panel/people_info.dart
index 712e939ad5..8d2a38c700 100644
--- a/mobile/lib/widgets/asset_viewer/detail_panel/people_info.dart
+++ b/mobile/lib/widgets/asset_viewer/detail_panel/people_info.dart
@@ -2,13 +2,13 @@ import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
-import 'package:immich_mobile/providers/asset_viewer/asset_people.provider.dart';
import 'package:immich_mobile/models/search/search_curated_content.model.dart';
+import 'package:immich_mobile/providers/asset_viewer/asset_people.provider.dart';
+import 'package:immich_mobile/routing/router.dart';
import 'package:immich_mobile/widgets/search/curated_people_row.dart';
import 'package:immich_mobile/widgets/search/person_name_edit_form.dart';
-import 'package:immich_mobile/routing/router.dart';
-import 'package:immich_mobile/entities/asset.entity.dart';
class PeopleInfo extends ConsumerWidget {
final Asset asset;
@@ -109,13 +109,13 @@ class PeopleInfo extends ConsumerWidget {
if (ageInMonths <= 11) {
return "exif_bottom_sheet_person_age_months"
- .tr(args: [ageInMonths.toString()]);
+ .tr(namedArgs: {'months': ageInMonths.toString()});
} else if (ageInMonths > 12 && ageInMonths <= 23) {
return "exif_bottom_sheet_person_age_year_months"
- .tr(args: [(ageInMonths - 12).toString()]);
+ .tr(namedArgs: {'months': (ageInMonths - 12).toString()});
} else {
return "exif_bottom_sheet_person_age_years"
- .tr(args: [ageInYears.toString()]);
+ .tr(namedArgs: {'years': ageInYears.toString()});
}
}
diff --git a/mobile/lib/widgets/backup/asset_info_table.dart b/mobile/lib/widgets/backup/asset_info_table.dart
index 222e516cf7..98bcc2b3da 100644
--- a/mobile/lib/widgets/backup/asset_info_table.dart
+++ b/mobile/lib/widgets/backup/asset_info_table.dart
@@ -56,9 +56,12 @@ class BackupAssetInfoTable extends ConsumerWidget {
fontSize: 10.0,
),
).tr(
- args: isUploadInProgress
- ? [asset.fileName, asset.fileType.toLowerCase()]
- : ["-", "-"],
+ namedArgs: isUploadInProgress
+ ? {
+ 'filename': asset.fileName,
+ 'size': asset.fileType.toLowerCase(),
+ }
+ : {'filename': "-", 'size': "-"},
),
),
),
@@ -78,9 +81,11 @@ class BackupAssetInfoTable extends ConsumerWidget {
fontSize: 10.0,
),
).tr(
- args: [
- isUploadInProgress ? _getAssetCreationDate(asset) : "-",
- ],
+ namedArgs: {
+ 'date': isUploadInProgress
+ ? _getAssetCreationDate(asset)
+ : "-",
+ },
),
),
),
@@ -99,9 +104,7 @@ class BackupAssetInfoTable extends ConsumerWidget {
fontSize: 10.0,
),
).tr(
- args: [
- isUploadInProgress ? asset.id : "-",
- ],
+ namedArgs: {'id': isUploadInProgress ? asset.id : "-"},
),
),
),
diff --git a/mobile/lib/widgets/backup/error_chip_text.dart b/mobile/lib/widgets/backup/error_chip_text.dart
index 540e136722..38c527ccfa 100644
--- a/mobile/lib/widgets/backup/error_chip_text.dart
+++ b/mobile/lib/widgets/backup/error_chip_text.dart
@@ -21,8 +21,6 @@ class BackupErrorChipText extends ConsumerWidget {
fontWeight: FontWeight.bold,
fontSize: 11,
),
- ).tr(
- args: [count.toString()],
- );
+ ).tr(namedArgs: {'count': count.toString()});
}
}
diff --git a/mobile/lib/widgets/common/app_bar_dialog/app_bar_dialog.dart b/mobile/lib/widgets/common/app_bar_dialog/app_bar_dialog.dart
index da863ef142..b2b24bd01c 100644
--- a/mobile/lib/widgets/common/app_bar_dialog/app_bar_dialog.dart
+++ b/mobile/lib/widgets/common/app_bar_dialog/app_bar_dialog.dart
@@ -5,17 +5,17 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/models/backup/backup_state.model.dart';
+import 'package:immich_mobile/providers/asset.provider.dart';
+import 'package:immich_mobile/providers/auth.provider.dart';
import 'package:immich_mobile/providers/backup/backup.provider.dart';
import 'package:immich_mobile/providers/backup/manual_upload.provider.dart';
-import 'package:immich_mobile/providers/auth.provider.dart';
-import 'package:immich_mobile/routing/router.dart';
-import 'package:immich_mobile/providers/asset.provider.dart';
import 'package:immich_mobile/providers/user.provider.dart';
import 'package:immich_mobile/providers/websocket.provider.dart';
+import 'package:immich_mobile/routing/router.dart';
+import 'package:immich_mobile/utils/bytes_units.dart';
import 'package:immich_mobile/widgets/common/app_bar_dialog/app_bar_profile_info.dart';
import 'package:immich_mobile/widgets/common/app_bar_dialog/app_bar_server_info.dart';
import 'package:immich_mobile/widgets/common/confirm_dialog.dart';
-import 'package:immich_mobile/utils/bytes_units.dart';
import 'package:url_launcher/url_launcher.dart';
class ImmichAppBarDialog extends HookConsumerWidget {
@@ -200,10 +200,10 @@ class ImmichAppBarDialog extends HookConsumerWidget {
padding: const EdgeInsets.only(top: 12.0),
child:
const Text('backup_controller_page_storage_format').tr(
- args: [
- usedDiskSpace,
- totalDiskSpace,
- ],
+ namedArgs: {
+ 'used': usedDiskSpace,
+ 'total': totalDiskSpace,
+ },
),
),
],
diff --git a/mobile/lib/widgets/map/map_asset_grid.dart b/mobile/lib/widgets/map/map_asset_grid.dart
index a9ddc86df9..4a3bb69cc0 100644
--- a/mobile/lib/widgets/map/map_asset_grid.dart
+++ b/mobile/lib/widgets/map/map_asset_grid.dart
@@ -1,20 +1,21 @@
import 'dart:math' as math;
+
import 'package:collection/collection.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/extensions/collection_extensions.dart';
-import 'package:immich_mobile/providers/timeline.provider.dart';
-import 'package:immich_mobile/widgets/asset_grid/asset_grid_data_structure.dart';
-import 'package:immich_mobile/widgets/asset_grid/immich_asset_grid.dart';
import 'package:immich_mobile/models/map/map_event.model.dart';
-import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:immich_mobile/providers/db.provider.dart';
-import 'package:immich_mobile/widgets/common/drag_sheet.dart';
+import 'package:immich_mobile/providers/timeline.provider.dart';
import 'package:immich_mobile/utils/color_filter_generator.dart';
import 'package:immich_mobile/utils/throttle.dart';
+import 'package:immich_mobile/widgets/asset_grid/asset_grid_data_structure.dart';
+import 'package:immich_mobile/widgets/asset_grid/immich_asset_grid.dart';
+import 'package:immich_mobile/widgets/common/drag_sheet.dart';
import 'package:logging/logging.dart';
import 'package:scrollable_positioned_list/scrollable_positioned_list.dart';
@@ -252,7 +253,8 @@ class _MapSheetDragRegion extends StatelessWidget {
@override
Widget build(BuildContext context) {
final assetsInBoundsText = assetsInBoundCount > 0
- ? "map_assets_in_bounds".tr(args: [assetsInBoundCount.toString()])
+ ? "map_assets_in_bounds"
+ .tr(namedArgs: {'count': assetsInBoundCount.toString()})
: "map_no_assets_in_bounds".tr();
return SingleChildScrollView(
diff --git a/mobile/lib/widgets/map/map_settings/map_settings_time_dropdown.dart b/mobile/lib/widgets/map/map_settings/map_settings_time_dropdown.dart
index c613029886..e23716af95 100644
--- a/mobile/lib/widgets/map/map_settings/map_settings_time_dropdown.dart
+++ b/mobile/lib/widgets/map/map_settings/map_settings_time_dropdown.dart
@@ -44,13 +44,13 @@ class MapTimeDropDown extends StatelessWidget {
DropdownMenuEntry(
value: 7,
label: "map_settings_date_range_option_days".tr(
- args: ["7"],
+ namedArgs: {'days': "7"},
),
),
DropdownMenuEntry(
value: 30,
label: "map_settings_date_range_option_days".tr(
- args: ["30"],
+ namedArgs: {'days': "30"},
),
),
DropdownMenuEntry(
@@ -81,7 +81,8 @@ class MapTimeDropDown extends StatelessWidget {
),
)
.inDays,
- label: "map_settings_date_range_option_years".tr(args: ["3"]),
+ label: "map_settings_date_range_option_years"
+ .tr(namedArgs: {'years': "3"}),
),
],
),
diff --git a/mobile/lib/widgets/settings/advanced_settings.dart b/mobile/lib/widgets/settings/advanced_settings.dart
index d65186a191..eb13c67640 100644
--- a/mobile/lib/widgets/settings/advanced_settings.dart
+++ b/mobile/lib/widgets/settings/advanced_settings.dart
@@ -10,7 +10,7 @@ import 'package:immich_mobile/providers/user.provider.dart';
import 'package:immich_mobile/repositories/local_files_manager.repository.dart';
import 'package:immich_mobile/services/app_settings.service.dart';
import 'package:immich_mobile/utils/hooks/app_settings_update_hook.dart';
-import 'package:immich_mobile/utils/http_ssl_cert_override.dart';
+import 'package:immich_mobile/utils/http_ssl_options.dart';
import 'package:immich_mobile/widgets/settings/custom_proxy_headers_settings/custome_proxy_headers_settings.dart';
import 'package:immich_mobile/widgets/settings/local_storage_settings.dart';
import 'package:immich_mobile/widgets/settings/settings_slider_list_tile.dart';
@@ -85,7 +85,8 @@ class AdvancedSettings extends HookConsumerWidget {
},
),
SettingsSliderListTile(
- text: "advanced_settings_log_level_title".tr(args: [logLevel]),
+ text: "advanced_settings_log_level_title"
+ .tr(namedArgs: {'level': logLevel}),
valueNotifier: levelId,
maxValue: 8,
minValue: 1,
@@ -103,7 +104,7 @@ class AdvancedSettings extends HookConsumerWidget {
valueNotifier: allowSelfSignedSSLCert,
title: "advanced_settings_self_signed_ssl_title".tr(),
subtitle: "advanced_settings_self_signed_ssl_subtitle".tr(),
- onChanged: (_) => HttpOverrides.global = HttpSSLCertOverride(),
+ onChanged: HttpSSLOptions.applyFromSettings,
),
const CustomeProxyHeaderSettings(),
SslClientCertSettings(isLoggedIn: ref.read(currentUserProvider) != null),
diff --git a/mobile/lib/widgets/settings/asset_list_settings/asset_list_layout_settings.dart b/mobile/lib/widgets/settings/asset_list_settings/asset_list_layout_settings.dart
index 4584b7e688..72402c8d55 100644
--- a/mobile/lib/widgets/settings/asset_list_settings/asset_list_layout_settings.dart
+++ b/mobile/lib/widgets/settings/asset_list_settings/asset_list_layout_settings.dart
@@ -3,10 +3,10 @@ import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/providers/app_settings.provider.dart';
import 'package:immich_mobile/services/app_settings.service.dart';
+import 'package:immich_mobile/utils/hooks/app_settings_update_hook.dart';
import 'package:immich_mobile/widgets/settings/settings_slider_list_tile.dart';
import 'package:immich_mobile/widgets/settings/settings_sub_title.dart';
import 'package:immich_mobile/widgets/settings/settings_switch_list_tile.dart';
-import 'package:immich_mobile/utils/hooks/app_settings_update_hook.dart';
class LayoutSettings extends HookConsumerWidget {
const LayoutSettings({
@@ -30,7 +30,7 @@ class LayoutSettings extends HookConsumerWidget {
SettingsSliderListTile(
valueNotifier: tilesPerRow,
text: 'theme_setting_asset_list_tiles_per_row_title'
- .tr(args: ["${tilesPerRow.value}"]),
+ .tr(namedArgs: {'count': "${tilesPerRow.value}"}),
label: "${tilesPerRow.value}",
maxValue: 6,
minValue: 2,
diff --git a/mobile/lib/widgets/settings/backup_settings/background_settings.dart b/mobile/lib/widgets/settings/backup_settings/background_settings.dart
index 4cdeb501c1..d628309050 100644
--- a/mobile/lib/widgets/settings/backup_settings/background_settings.dart
+++ b/mobile/lib/widgets/settings/backup_settings/background_settings.dart
@@ -164,10 +164,14 @@ class _BackgroundSettingsEnabled extends HookConsumerWidget {
switch (v) { 0 => 5000, 1 => 30000, 2 => 120000, _ => 600000 };
String formatBackupDelaySliderValue(int v) => switch (v) {
- 0 => 'setting_notifications_notify_seconds'.tr(args: const ['5']),
- 1 => 'setting_notifications_notify_seconds'.tr(args: const ['30']),
- 2 => 'setting_notifications_notify_minutes'.tr(args: const ['2']),
- _ => 'setting_notifications_notify_minutes'.tr(args: const ['10']),
+ 0 => 'setting_notifications_notify_seconds'
+ .tr(namedArgs: {'count': '5'}),
+ 1 => 'setting_notifications_notify_seconds'
+ .tr(namedArgs: {'count': '30'}),
+ 2 => 'setting_notifications_notify_minutes'
+ .tr(namedArgs: {'count': '2'}),
+ _ => 'setting_notifications_notify_minutes'
+ .tr(namedArgs: {'count': '10'}),
};
final backupTriggerDelay =
@@ -221,7 +225,9 @@ class _BackgroundSettingsEnabled extends HookConsumerWidget {
SettingsSliderListTile(
valueNotifier: triggerDelay,
text: 'backup_controller_page_background_delay'.tr(
- args: [formatBackupDelaySliderValue(triggerDelay.value)],
+ namedArgs: {
+ 'duration': formatBackupDelaySliderValue(triggerDelay.value),
+ },
),
maxValue: 3.0,
noDivisons: 3,
diff --git a/mobile/lib/widgets/settings/local_storage_settings.dart b/mobile/lib/widgets/settings/local_storage_settings.dart
index 5b21d9bd4d..06db78cb97 100644
--- a/mobile/lib/widgets/settings/local_storage_settings.dart
+++ b/mobile/lib/widgets/settings/local_storage_settings.dart
@@ -1,9 +1,9 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart' show useEffect, useState;
-import 'package:immich_mobile/extensions/build_context_extensions.dart';
-import 'package:immich_mobile/entities/duplicated_asset.entity.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/entities/duplicated_asset.entity.dart';
+import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/extensions/theme_extensions.dart';
import 'package:immich_mobile/providers/db.provider.dart';
@@ -35,7 +35,7 @@ class LocalStorageSettings extends HookConsumerWidget {
style: context.textTheme.bodyLarge?.copyWith(
fontWeight: FontWeight.w500,
),
- ).tr(args: ["${cacheItemCount.value}"]),
+ ).tr(namedArgs: {'count': "${cacheItemCount.value}"}),
subtitle: Text(
"cache_settings_duplicated_assets_subtitle",
style: context.textTheme.bodyMedium?.copyWith(
diff --git a/mobile/lib/widgets/settings/notification_setting.dart b/mobile/lib/widgets/settings/notification_setting.dart
index 6aef8f29b0..cf6745199e 100644
--- a/mobile/lib/widgets/settings/notification_setting.dart
+++ b/mobile/lib/widgets/settings/notification_setting.dart
@@ -4,11 +4,11 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/providers/notification_permission.provider.dart';
import 'package:immich_mobile/services/app_settings.service.dart';
+import 'package:immich_mobile/utils/hooks/app_settings_update_hook.dart';
import 'package:immich_mobile/widgets/settings/settings_button_list_tile.dart';
import 'package:immich_mobile/widgets/settings/settings_slider_list_tile.dart';
import 'package:immich_mobile/widgets/settings/settings_sub_page_scaffold.dart';
import 'package:immich_mobile/widgets/settings/settings_switch_list_tile.dart';
-import 'package:immich_mobile/utils/hooks/app_settings_update_hook.dart';
import 'package:permission_handler/permission_handler.dart';
class NotificationSetting extends HookConsumerWidget {
@@ -90,7 +90,7 @@ class NotificationSetting extends HookConsumerWidget {
enabled: hasPermission,
valueNotifier: sliderValue,
text: 'setting_notifications_notify_failures_grace_period'
- .tr(args: [formattedValue]),
+ .tr(namedArgs: {'duration': formattedValue}),
maxValue: 5.0,
noDivisons: 5,
label: formattedValue,
@@ -105,13 +105,14 @@ String _formatSliderValue(double v) {
if (v == 0.0) {
return 'setting_notifications_notify_immediately'.tr();
} else if (v == 1.0) {
- return 'setting_notifications_notify_minutes'.tr(args: const ['30']);
+ return 'setting_notifications_notify_minutes'
+ .tr(namedArgs: {'count': '30'});
} else if (v == 2.0) {
- return 'setting_notifications_notify_hours'.tr(args: const ['2']);
+ return 'setting_notifications_notify_hours'.tr(namedArgs: {'count': '2'});
} else if (v == 3.0) {
- return 'setting_notifications_notify_hours'.tr(args: const ['8']);
+ return 'setting_notifications_notify_hours'.tr(namedArgs: {'count': '8'});
} else if (v == 4.0) {
- return 'setting_notifications_notify_hours'.tr(args: const ['24']);
+ return 'setting_notifications_notify_hours'.tr(namedArgs: {'count': '24'});
} else {
return 'setting_notifications_notify_never'.tr();
}
diff --git a/mobile/lib/widgets/settings/ssl_client_cert_settings.dart b/mobile/lib/widgets/settings/ssl_client_cert_settings.dart
index d8ea51dddd..6fdbb156d9 100644
--- a/mobile/lib/widgets/settings/ssl_client_cert_settings.dart
+++ b/mobile/lib/widgets/settings/ssl_client_cert_settings.dart
@@ -8,6 +8,7 @@ import 'package:immich_mobile/entities/store.entity.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/extensions/theme_extensions.dart';
import 'package:immich_mobile/utils/http_ssl_cert_override.dart';
+import 'package:immich_mobile/utils/http_ssl_options.dart';
class SslClientCertSettings extends StatefulWidget {
const SslClientCertSettings({super.key, required this.isLoggedIn});
@@ -103,7 +104,7 @@ class _SslClientCertSettingsState extends State {
return;
}
cert.save();
- HttpOverrides.global = HttpSSLCertOverride();
+ HttpSSLOptions.apply();
setState(
() => isCertExist = true,
);
@@ -152,7 +153,7 @@ class _SslClientCertSettingsState extends State {
void removeCert(BuildContext context) {
SSLClientCertStoreVal.delete();
- HttpOverrides.global = HttpSSLCertOverride();
+ HttpSSLOptions.apply();
setState(
() => isCertExist = false,
);
diff --git a/mobile/lib/widgets/shared_link/shared_link_item.dart b/mobile/lib/widgets/shared_link/shared_link_item.dart
index 5fdffa0537..69e763ea09 100644
--- a/mobile/lib/widgets/shared_link/shared_link_item.dart
+++ b/mobile/lib/widgets/shared_link/shared_link_item.dart
@@ -1,4 +1,5 @@
import 'dart:math' as math;
+
import 'package:auto_route/auto_route.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
@@ -6,15 +7,15 @@ import 'package:flutter/services.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
-import 'package:immich_mobile/widgets/search/thumbnail_with_info.dart';
import 'package:immich_mobile/models/shared_link/shared_link.model.dart';
+import 'package:immich_mobile/providers/server_info.provider.dart';
import 'package:immich_mobile/providers/shared_link.provider.dart';
import 'package:immich_mobile/routing/router.dart';
-import 'package:immich_mobile/providers/server_info.provider.dart';
-import 'package:immich_mobile/widgets/common/confirm_dialog.dart';
-import 'package:immich_mobile/widgets/common/immich_toast.dart';
import 'package:immich_mobile/utils/image_url_builder.dart';
import 'package:immich_mobile/utils/url_helper.dart';
+import 'package:immich_mobile/widgets/common/confirm_dialog.dart';
+import 'package:immich_mobile/widgets/common/immich_toast.dart';
+import 'package:immich_mobile/widgets/search/thumbnail_with_info.dart';
class SharedLinkItem extends ConsumerWidget {
final SharedLink sharedLink;
@@ -44,17 +45,17 @@ class SharedLinkItem extends ConsumerWidget {
if (difference.inHours % 24 > 12) {
dayDifference += 1;
}
- expiresText =
- "shared_link_expires_days".tr(args: [dayDifference.toString()]);
+ expiresText = "shared_link_expires_days"
+ .tr(namedArgs: {'count': dayDifference.toString()});
} else if (difference.inHours > 0) {
expiresText = "shared_link_expires_hours"
- .tr(args: [difference.inHours.toString()]);
+ .tr(namedArgs: {'count': difference.inHours.toString()});
} else if (difference.inMinutes > 0) {
expiresText = "shared_link_expires_minutes"
- .tr(args: [difference.inMinutes.toString()]);
+ .tr(namedArgs: {'count': difference.inMinutes.toString()});
} else if (difference.inSeconds > 0) {
expiresText = "shared_link_expires_seconds"
- .tr(args: [difference.inSeconds.toString()]);
+ .tr(namedArgs: {'count': difference.inSeconds.toString()});
}
}
return Text(
diff --git a/mobile/openapi/README.md b/mobile/openapi/README.md
index 7c8afb09e4..a141d465d1 100644
--- a/mobile/openapi/README.md
+++ b/mobile/openapi/README.md
@@ -109,8 +109,12 @@ Class | Method | HTTP request | Description
*AssetsApi* | [**uploadAsset**](doc//AssetsApi.md#uploadasset) | **POST** /assets |
*AssetsApi* | [**viewAsset**](doc//AssetsApi.md#viewasset) | **GET** /assets/{id}/thumbnail |
*AuthenticationApi* | [**changePassword**](doc//AuthenticationApi.md#changepassword) | **POST** /auth/change-password |
+*AuthenticationApi* | [**changePinCode**](doc//AuthenticationApi.md#changepincode) | **PUT** /auth/pin-code |
+*AuthenticationApi* | [**getAuthStatus**](doc//AuthenticationApi.md#getauthstatus) | **GET** /auth/status |
*AuthenticationApi* | [**login**](doc//AuthenticationApi.md#login) | **POST** /auth/login |
*AuthenticationApi* | [**logout**](doc//AuthenticationApi.md#logout) | **POST** /auth/logout |
+*AuthenticationApi* | [**resetPinCode**](doc//AuthenticationApi.md#resetpincode) | **DELETE** /auth/pin-code |
+*AuthenticationApi* | [**setupPinCode**](doc//AuthenticationApi.md#setuppincode) | **POST** /auth/pin-code |
*AuthenticationApi* | [**signUpAdmin**](doc//AuthenticationApi.md#signupadmin) | **POST** /auth/admin-sign-up |
*AuthenticationApi* | [**validateAccessToken**](doc//AuthenticationApi.md#validateaccesstoken) | **POST** /auth/validateToken |
*DeprecatedApi* | [**getRandom**](doc//DeprecatedApi.md#getrandom) | **GET** /assets/random |
@@ -302,7 +306,9 @@ Class | Method | HTTP request | Description
- [AssetStackResponseDto](doc//AssetStackResponseDto.md)
- [AssetStatsResponseDto](doc//AssetStatsResponseDto.md)
- [AssetTypeEnum](doc//AssetTypeEnum.md)
+ - [AssetVisibility](doc//AssetVisibility.md)
- [AudioCodec](doc//AudioCodec.md)
+ - [AuthStatusResponseDto](doc//AuthStatusResponseDto.md)
- [AvatarUpdate](doc//AvatarUpdate.md)
- [BulkIdResponseDto](doc//BulkIdResponseDto.md)
- [BulkIdsDto](doc//BulkIdsDto.md)
@@ -382,6 +388,8 @@ Class | Method | HTTP request | Description
- [PersonStatisticsResponseDto](doc//PersonStatisticsResponseDto.md)
- [PersonUpdateDto](doc//PersonUpdateDto.md)
- [PersonWithFacesResponseDto](doc//PersonWithFacesResponseDto.md)
+ - [PinCodeChangeDto](doc//PinCodeChangeDto.md)
+ - [PinCodeSetupDto](doc//PinCodeSetupDto.md)
- [PlacesResponseDto](doc//PlacesResponseDto.md)
- [PurchaseResponse](doc//PurchaseResponse.md)
- [PurchaseUpdate](doc//PurchaseUpdate.md)
diff --git a/mobile/openapi/lib/api.dart b/mobile/openapi/lib/api.dart
index ab9b251e01..b2cbe222e8 100644
--- a/mobile/openapi/lib/api.dart
+++ b/mobile/openapi/lib/api.dart
@@ -106,7 +106,9 @@ part 'model/asset_response_dto.dart';
part 'model/asset_stack_response_dto.dart';
part 'model/asset_stats_response_dto.dart';
part 'model/asset_type_enum.dart';
+part 'model/asset_visibility.dart';
part 'model/audio_codec.dart';
+part 'model/auth_status_response_dto.dart';
part 'model/avatar_update.dart';
part 'model/bulk_id_response_dto.dart';
part 'model/bulk_ids_dto.dart';
@@ -186,6 +188,8 @@ part 'model/person_response_dto.dart';
part 'model/person_statistics_response_dto.dart';
part 'model/person_update_dto.dart';
part 'model/person_with_faces_response_dto.dart';
+part 'model/pin_code_change_dto.dart';
+part 'model/pin_code_setup_dto.dart';
part 'model/places_response_dto.dart';
part 'model/purchase_response.dart';
part 'model/purchase_update.dart';
diff --git a/mobile/openapi/lib/api/assets_api.dart b/mobile/openapi/lib/api/assets_api.dart
index f744988449..06965e1f8b 100644
--- a/mobile/openapi/lib/api/assets_api.dart
+++ b/mobile/openapi/lib/api/assets_api.dart
@@ -342,12 +342,12 @@ class AssetsApi {
/// Performs an HTTP 'GET /assets/statistics' operation and returns the [Response].
/// Parameters:
///
- /// * [bool] isArchived:
- ///
/// * [bool] isFavorite:
///
/// * [bool] isTrashed:
- Future getAssetStatisticsWithHttpInfo({ bool? isArchived, bool? isFavorite, bool? isTrashed, }) async {
+ ///
+ /// * [AssetVisibility] visibility:
+ Future getAssetStatisticsWithHttpInfo({ bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
// ignore: prefer_const_declarations
final apiPath = r'/assets/statistics';
@@ -358,15 +358,15 @@ class AssetsApi {
final headerParams = {};
final formParams = {};
- if (isArchived != null) {
- queryParams.addAll(_queryParams('', 'isArchived', isArchived));
- }
if (isFavorite != null) {
queryParams.addAll(_queryParams('', 'isFavorite', isFavorite));
}
if (isTrashed != null) {
queryParams.addAll(_queryParams('', 'isTrashed', isTrashed));
}
+ if (visibility != null) {
+ queryParams.addAll(_queryParams('', 'visibility', visibility));
+ }
const contentTypes = [];
@@ -384,13 +384,13 @@ class AssetsApi {
/// Parameters:
///
- /// * [bool] isArchived:
- ///
/// * [bool] isFavorite:
///
/// * [bool] isTrashed:
- Future getAssetStatistics({ bool? isArchived, bool? isFavorite, bool? isTrashed, }) async {
- final response = await getAssetStatisticsWithHttpInfo( isArchived: isArchived, isFavorite: isFavorite, isTrashed: isTrashed, );
+ ///
+ /// * [AssetVisibility] visibility:
+ Future getAssetStatistics({ bool? isFavorite, bool? isTrashed, AssetVisibility? visibility, }) async {
+ final response = await getAssetStatisticsWithHttpInfo( isFavorite: isFavorite, isTrashed: isTrashed, visibility: visibility, );
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
@@ -788,16 +788,14 @@ class AssetsApi {
///
/// * [String] duration:
///
- /// * [bool] isArchived:
- ///
/// * [bool] isFavorite:
///
- /// * [bool] isVisible:
- ///
/// * [String] livePhotoVideoId:
///
/// * [MultipartFile] sidecarData:
- Future uploadAssetWithHttpInfo(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? xImmichChecksum, String? duration, bool? isArchived, bool? isFavorite, bool? isVisible, String? livePhotoVideoId, MultipartFile? sidecarData, }) async {
+ ///
+ /// * [AssetVisibility] visibility:
+ Future uploadAssetWithHttpInfo(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? xImmichChecksum, String? duration, bool? isFavorite, String? livePhotoVideoId, MultipartFile? sidecarData, AssetVisibility? visibility, }) async {
// ignore: prefer_const_declarations
final apiPath = r'/assets';
@@ -845,18 +843,10 @@ class AssetsApi {
hasFields = true;
mp.fields[r'fileModifiedAt'] = parameterToString(fileModifiedAt);
}
- if (isArchived != null) {
- hasFields = true;
- mp.fields[r'isArchived'] = parameterToString(isArchived);
- }
if (isFavorite != null) {
hasFields = true;
mp.fields[r'isFavorite'] = parameterToString(isFavorite);
}
- if (isVisible != null) {
- hasFields = true;
- mp.fields[r'isVisible'] = parameterToString(isVisible);
- }
if (livePhotoVideoId != null) {
hasFields = true;
mp.fields[r'livePhotoVideoId'] = parameterToString(livePhotoVideoId);
@@ -866,6 +856,10 @@ class AssetsApi {
mp.fields[r'sidecarData'] = sidecarData.field;
mp.files.add(sidecarData);
}
+ if (visibility != null) {
+ hasFields = true;
+ mp.fields[r'visibility'] = parameterToString(visibility);
+ }
if (hasFields) {
postBody = mp;
}
@@ -900,17 +894,15 @@ class AssetsApi {
///
/// * [String] duration:
///
- /// * [bool] isArchived:
- ///
/// * [bool] isFavorite:
///
- /// * [bool] isVisible:
- ///
/// * [String] livePhotoVideoId:
///
/// * [MultipartFile] sidecarData:
- Future uploadAsset(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? xImmichChecksum, String? duration, bool? isArchived, bool? isFavorite, bool? isVisible, String? livePhotoVideoId, MultipartFile? sidecarData, }) async {
- final response = await uploadAssetWithHttpInfo(assetData, deviceAssetId, deviceId, fileCreatedAt, fileModifiedAt, key: key, xImmichChecksum: xImmichChecksum, duration: duration, isArchived: isArchived, isFavorite: isFavorite, isVisible: isVisible, livePhotoVideoId: livePhotoVideoId, sidecarData: sidecarData, );
+ ///
+ /// * [AssetVisibility] visibility:
+ Future uploadAsset(MultipartFile assetData, String deviceAssetId, String deviceId, DateTime fileCreatedAt, DateTime fileModifiedAt, { String? key, String? xImmichChecksum, String? duration, bool? isFavorite, String? livePhotoVideoId, MultipartFile? sidecarData, AssetVisibility? visibility, }) async {
+ final response = await uploadAssetWithHttpInfo(assetData, deviceAssetId, deviceId, fileCreatedAt, fileModifiedAt, key: key, xImmichChecksum: xImmichChecksum, duration: duration, isFavorite: isFavorite, livePhotoVideoId: livePhotoVideoId, sidecarData: sidecarData, visibility: visibility, );
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
diff --git a/mobile/openapi/lib/api/authentication_api.dart b/mobile/openapi/lib/api/authentication_api.dart
index bf987f441e..f850bdf403 100644
--- a/mobile/openapi/lib/api/authentication_api.dart
+++ b/mobile/openapi/lib/api/authentication_api.dart
@@ -63,6 +63,86 @@ class AuthenticationApi {
return null;
}
+ /// Performs an HTTP 'PUT /auth/pin-code' operation and returns the [Response].
+ /// Parameters:
+ ///
+ /// * [PinCodeChangeDto] pinCodeChangeDto (required):
+ Future changePinCodeWithHttpInfo(PinCodeChangeDto pinCodeChangeDto,) async {
+ // ignore: prefer_const_declarations
+ final apiPath = r'/auth/pin-code';
+
+ // ignore: prefer_final_locals
+ Object? postBody = pinCodeChangeDto;
+
+ final queryParams = [];
+ final headerParams = {};
+ final formParams = {};
+
+ const contentTypes = ['application/json'];
+
+
+ return apiClient.invokeAPI(
+ apiPath,
+ 'PUT',
+ queryParams,
+ postBody,
+ headerParams,
+ formParams,
+ contentTypes.isEmpty ? null : contentTypes.first,
+ );
+ }
+
+ /// Parameters:
+ ///
+ /// * [PinCodeChangeDto] pinCodeChangeDto (required):
+ Future changePinCode(PinCodeChangeDto pinCodeChangeDto,) async {
+ final response = await changePinCodeWithHttpInfo(pinCodeChangeDto,);
+ if (response.statusCode >= HttpStatus.badRequest) {
+ throw ApiException(response.statusCode, await _decodeBodyBytes(response));
+ }
+ }
+
+ /// Performs an HTTP 'GET /auth/status' operation and returns the [Response].
+ Future getAuthStatusWithHttpInfo() async {
+ // ignore: prefer_const_declarations
+ final apiPath = r'/auth/status';
+
+ // ignore: prefer_final_locals
+ Object? postBody;
+
+ final queryParams = [];
+ final headerParams = {};
+ final formParams = {};
+
+ const contentTypes = [];
+
+
+ return apiClient.invokeAPI(
+ apiPath,
+ 'GET',
+ queryParams,
+ postBody,
+ headerParams,
+ formParams,
+ contentTypes.isEmpty ? null : contentTypes.first,
+ );
+ }
+
+ Future getAuthStatus() async {
+ final response = await getAuthStatusWithHttpInfo();
+ if (response.statusCode >= HttpStatus.badRequest) {
+ throw ApiException(response.statusCode, await _decodeBodyBytes(response));
+ }
+ // When a remote server returns no body with a status of 204, we shall not decode it.
+ // At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
+ // FormatException when trying to decode an empty string.
+ if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
+ return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'AuthStatusResponseDto',) as AuthStatusResponseDto;
+
+ }
+ return null;
+ }
+
/// Performs an HTTP 'POST /auth/login' operation and returns the [Response].
/// Parameters:
///
@@ -151,6 +231,84 @@ class AuthenticationApi {
return null;
}
+ /// Performs an HTTP 'DELETE /auth/pin-code' operation and returns the [Response].
+ /// Parameters:
+ ///
+ /// * [PinCodeChangeDto] pinCodeChangeDto (required):
+ Future resetPinCodeWithHttpInfo(PinCodeChangeDto pinCodeChangeDto,) async {
+ // ignore: prefer_const_declarations
+ final apiPath = r'/auth/pin-code';
+
+ // ignore: prefer_final_locals
+ Object? postBody = pinCodeChangeDto;
+
+ final queryParams = [];
+ final headerParams = {};
+ final formParams = {};
+
+ const contentTypes = ['application/json'];
+
+
+ return apiClient.invokeAPI(
+ apiPath,
+ 'DELETE',
+ queryParams,
+ postBody,
+ headerParams,
+ formParams,
+ contentTypes.isEmpty ? null : contentTypes.first,
+ );
+ }
+
+ /// Parameters:
+ ///
+ /// * [PinCodeChangeDto] pinCodeChangeDto (required):
+ Future resetPinCode(PinCodeChangeDto pinCodeChangeDto,) async {
+ final response = await resetPinCodeWithHttpInfo(pinCodeChangeDto,);
+ if (response.statusCode >= HttpStatus.badRequest) {
+ throw ApiException(response.statusCode, await _decodeBodyBytes(response));
+ }
+ }
+
+ /// Performs an HTTP 'POST /auth/pin-code' operation and returns the [Response].
+ /// Parameters:
+ ///
+ /// * [PinCodeSetupDto] pinCodeSetupDto (required):
+ Future setupPinCodeWithHttpInfo(PinCodeSetupDto pinCodeSetupDto,) async {
+ // ignore: prefer_const_declarations
+ final apiPath = r'/auth/pin-code';
+
+ // ignore: prefer_final_locals
+ Object? postBody = pinCodeSetupDto;
+
+ final queryParams = [];
+ final headerParams = {};
+ final formParams = {};
+
+ const contentTypes = ['application/json'];
+
+
+ return apiClient.invokeAPI(
+ apiPath,
+ 'POST',
+ queryParams,
+ postBody,
+ headerParams,
+ formParams,
+ contentTypes.isEmpty ? null : contentTypes.first,
+ );
+ }
+
+ /// Parameters:
+ ///
+ /// * [PinCodeSetupDto] pinCodeSetupDto (required):
+ Future setupPinCode(PinCodeSetupDto pinCodeSetupDto,) async {
+ final response = await setupPinCodeWithHttpInfo(pinCodeSetupDto,);
+ if (response.statusCode >= HttpStatus.badRequest) {
+ throw ApiException(response.statusCode, await _decodeBodyBytes(response));
+ }
+ }
+
/// Performs an HTTP 'POST /auth/admin-sign-up' operation and returns the [Response].
/// Parameters:
///
diff --git a/mobile/openapi/lib/api/timeline_api.dart b/mobile/openapi/lib/api/timeline_api.dart
index 7ea7189b00..1d25a379e8 100644
--- a/mobile/openapi/lib/api/timeline_api.dart
+++ b/mobile/openapi/lib/api/timeline_api.dart
@@ -25,8 +25,6 @@ class TimelineApi {
///
/// * [String] albumId:
///
- /// * [bool] isArchived:
- ///
/// * [bool] isFavorite:
///
/// * [bool] isTrashed:
@@ -41,10 +39,12 @@ class TimelineApi {
///
/// * [String] userId:
///
+ /// * [AssetVisibility] visibility:
+ ///
/// * [bool] withPartners:
///
/// * [bool] withStacked:
- Future getTimeBucketWithHttpInfo(TimeBucketSize size, String timeBucket, { String? albumId, bool? isArchived, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, bool? withPartners, bool? withStacked, }) async {
+ Future getTimeBucketWithHttpInfo(TimeBucketSize size, String timeBucket, { String? albumId, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, AssetVisibility? visibility, bool? withPartners, bool? withStacked, }) async {
// ignore: prefer_const_declarations
final apiPath = r'/timeline/bucket';
@@ -58,9 +58,6 @@ class TimelineApi {
if (albumId != null) {
queryParams.addAll(_queryParams('', 'albumId', albumId));
}
- if (isArchived != null) {
- queryParams.addAll(_queryParams('', 'isArchived', isArchived));
- }
if (isFavorite != null) {
queryParams.addAll(_queryParams('', 'isFavorite', isFavorite));
}
@@ -84,6 +81,9 @@ class TimelineApi {
if (userId != null) {
queryParams.addAll(_queryParams('', 'userId', userId));
}
+ if (visibility != null) {
+ queryParams.addAll(_queryParams('', 'visibility', visibility));
+ }
if (withPartners != null) {
queryParams.addAll(_queryParams('', 'withPartners', withPartners));
}
@@ -113,8 +113,6 @@ class TimelineApi {
///
/// * [String] albumId:
///
- /// * [bool] isArchived:
- ///
/// * [bool] isFavorite:
///
/// * [bool] isTrashed:
@@ -129,11 +127,13 @@ class TimelineApi {
///
/// * [String] userId:
///
+ /// * [AssetVisibility] visibility:
+ ///
/// * [bool] withPartners:
///
/// * [bool] withStacked:
- Future?> getTimeBucket(TimeBucketSize size, String timeBucket, { String? albumId, bool? isArchived, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, bool? withPartners, bool? withStacked, }) async {
- final response = await getTimeBucketWithHttpInfo(size, timeBucket, albumId: albumId, isArchived: isArchived, isFavorite: isFavorite, isTrashed: isTrashed, key: key, order: order, personId: personId, tagId: tagId, userId: userId, withPartners: withPartners, withStacked: withStacked, );
+ Future?> getTimeBucket(TimeBucketSize size, String timeBucket, { String? albumId, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, AssetVisibility? visibility, bool? withPartners, bool? withStacked, }) async {
+ final response = await getTimeBucketWithHttpInfo(size, timeBucket, albumId: albumId, isFavorite: isFavorite, isTrashed: isTrashed, key: key, order: order, personId: personId, tagId: tagId, userId: userId, visibility: visibility, withPartners: withPartners, withStacked: withStacked, );
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
@@ -157,8 +157,6 @@ class TimelineApi {
///
/// * [String] albumId:
///
- /// * [bool] isArchived:
- ///
/// * [bool] isFavorite:
///
/// * [bool] isTrashed:
@@ -173,10 +171,12 @@ class TimelineApi {
///
/// * [String] userId:
///
+ /// * [AssetVisibility] visibility:
+ ///
/// * [bool] withPartners:
///
/// * [bool] withStacked:
- Future getTimeBucketsWithHttpInfo(TimeBucketSize size, { String? albumId, bool? isArchived, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, bool? withPartners, bool? withStacked, }) async {
+ Future getTimeBucketsWithHttpInfo(TimeBucketSize size, { String? albumId, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, AssetVisibility? visibility, bool? withPartners, bool? withStacked, }) async {
// ignore: prefer_const_declarations
final apiPath = r'/timeline/buckets';
@@ -190,9 +190,6 @@ class TimelineApi {
if (albumId != null) {
queryParams.addAll(_queryParams('', 'albumId', albumId));
}
- if (isArchived != null) {
- queryParams.addAll(_queryParams('', 'isArchived', isArchived));
- }
if (isFavorite != null) {
queryParams.addAll(_queryParams('', 'isFavorite', isFavorite));
}
@@ -215,6 +212,9 @@ class TimelineApi {
if (userId != null) {
queryParams.addAll(_queryParams('', 'userId', userId));
}
+ if (visibility != null) {
+ queryParams.addAll(_queryParams('', 'visibility', visibility));
+ }
if (withPartners != null) {
queryParams.addAll(_queryParams('', 'withPartners', withPartners));
}
@@ -242,8 +242,6 @@ class TimelineApi {
///
/// * [String] albumId:
///
- /// * [bool] isArchived:
- ///
/// * [bool] isFavorite:
///
/// * [bool] isTrashed:
@@ -258,11 +256,13 @@ class TimelineApi {
///
/// * [String] userId:
///
+ /// * [AssetVisibility] visibility:
+ ///
/// * [bool] withPartners:
///
/// * [bool] withStacked:
- Future?> getTimeBuckets(TimeBucketSize size, { String? albumId, bool? isArchived, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, bool? withPartners, bool? withStacked, }) async {
- final response = await getTimeBucketsWithHttpInfo(size, albumId: albumId, isArchived: isArchived, isFavorite: isFavorite, isTrashed: isTrashed, key: key, order: order, personId: personId, tagId: tagId, userId: userId, withPartners: withPartners, withStacked: withStacked, );
+ Future?> getTimeBuckets(TimeBucketSize size, { String? albumId, bool? isFavorite, bool? isTrashed, String? key, AssetOrder? order, String? personId, String? tagId, String? userId, AssetVisibility? visibility, bool? withPartners, bool? withStacked, }) async {
+ final response = await getTimeBucketsWithHttpInfo(size, albumId: albumId, isFavorite: isFavorite, isTrashed: isTrashed, key: key, order: order, personId: personId, tagId: tagId, userId: userId, visibility: visibility, withPartners: withPartners, withStacked: withStacked, );
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
diff --git a/mobile/openapi/lib/api_client.dart b/mobile/openapi/lib/api_client.dart
index ec5eb09729..cdd69307ad 100644
--- a/mobile/openapi/lib/api_client.dart
+++ b/mobile/openapi/lib/api_client.dart
@@ -268,8 +268,12 @@ class ApiClient {
return AssetStatsResponseDto.fromJson(value);
case 'AssetTypeEnum':
return AssetTypeEnumTypeTransformer().decode(value);
+ case 'AssetVisibility':
+ return AssetVisibilityTypeTransformer().decode(value);
case 'AudioCodec':
return AudioCodecTypeTransformer().decode(value);
+ case 'AuthStatusResponseDto':
+ return AuthStatusResponseDto.fromJson(value);
case 'AvatarUpdate':
return AvatarUpdate.fromJson(value);
case 'BulkIdResponseDto':
@@ -428,6 +432,10 @@ class ApiClient {
return PersonUpdateDto.fromJson(value);
case 'PersonWithFacesResponseDto':
return PersonWithFacesResponseDto.fromJson(value);
+ case 'PinCodeChangeDto':
+ return PinCodeChangeDto.fromJson(value);
+ case 'PinCodeSetupDto':
+ return PinCodeSetupDto.fromJson(value);
case 'PlacesResponseDto':
return PlacesResponseDto.fromJson(value);
case 'PurchaseResponse':
diff --git a/mobile/openapi/lib/api_helper.dart b/mobile/openapi/lib/api_helper.dart
index eec991e903..4928adf767 100644
--- a/mobile/openapi/lib/api_helper.dart
+++ b/mobile/openapi/lib/api_helper.dart
@@ -73,6 +73,9 @@ String parameterToString(dynamic value) {
if (value is AssetTypeEnum) {
return AssetTypeEnumTypeTransformer().encode(value).toString();
}
+ if (value is AssetVisibility) {
+ return AssetVisibilityTypeTransformer().encode(value).toString();
+ }
if (value is AudioCodec) {
return AudioCodecTypeTransformer().encode(value).toString();
}
diff --git a/mobile/openapi/lib/model/asset_bulk_update_dto.dart b/mobile/openapi/lib/model/asset_bulk_update_dto.dart
index 0b5a2c30d9..39d7cd996f 100644
--- a/mobile/openapi/lib/model/asset_bulk_update_dto.dart
+++ b/mobile/openapi/lib/model/asset_bulk_update_dto.dart
@@ -16,11 +16,11 @@ class AssetBulkUpdateDto {
this.dateTimeOriginal,
this.duplicateId,
this.ids = const [],
- this.isArchived,
this.isFavorite,
this.latitude,
this.longitude,
this.rating,
+ this.visibility,
});
///
@@ -35,14 +35,6 @@ class AssetBulkUpdateDto {
List ids;
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isArchived;
-
///
/// Please note: This property should have been non-nullable! Since the specification file
/// does not include a default value (using the "default:" property), however, the generated
@@ -77,16 +69,24 @@ class AssetBulkUpdateDto {
///
num? rating;
+ ///
+ /// Please note: This property should have been non-nullable! Since the specification file
+ /// does not include a default value (using the "default:" property), however, the generated
+ /// source code must fall back to having a nullable type.
+ /// Consider adding a "default:" property in the specification file to hide this note.
+ ///
+ AssetVisibility? visibility;
+
@override
bool operator ==(Object other) => identical(this, other) || other is AssetBulkUpdateDto &&
other.dateTimeOriginal == dateTimeOriginal &&
other.duplicateId == duplicateId &&
_deepEquality.equals(other.ids, ids) &&
- other.isArchived == isArchived &&
other.isFavorite == isFavorite &&
other.latitude == latitude &&
other.longitude == longitude &&
- other.rating == rating;
+ other.rating == rating &&
+ other.visibility == visibility;
@override
int get hashCode =>
@@ -94,14 +94,14 @@ class AssetBulkUpdateDto {
(dateTimeOriginal == null ? 0 : dateTimeOriginal!.hashCode) +
(duplicateId == null ? 0 : duplicateId!.hashCode) +
(ids.hashCode) +
- (isArchived == null ? 0 : isArchived!.hashCode) +
(isFavorite == null ? 0 : isFavorite!.hashCode) +
(latitude == null ? 0 : latitude!.hashCode) +
(longitude == null ? 0 : longitude!.hashCode) +
- (rating == null ? 0 : rating!.hashCode);
+ (rating == null ? 0 : rating!.hashCode) +
+ (visibility == null ? 0 : visibility!.hashCode);
@override
- String toString() => 'AssetBulkUpdateDto[dateTimeOriginal=$dateTimeOriginal, duplicateId=$duplicateId, ids=$ids, isArchived=$isArchived, isFavorite=$isFavorite, latitude=$latitude, longitude=$longitude, rating=$rating]';
+ String toString() => 'AssetBulkUpdateDto[dateTimeOriginal=$dateTimeOriginal, duplicateId=$duplicateId, ids=$ids, isFavorite=$isFavorite, latitude=$latitude, longitude=$longitude, rating=$rating, visibility=$visibility]';
Map toJson() {
final json = {};
@@ -116,11 +116,6 @@ class AssetBulkUpdateDto {
// json[r'duplicateId'] = null;
}
json[r'ids'] = this.ids;
- if (this.isArchived != null) {
- json[r'isArchived'] = this.isArchived;
- } else {
- // json[r'isArchived'] = null;
- }
if (this.isFavorite != null) {
json[r'isFavorite'] = this.isFavorite;
} else {
@@ -141,6 +136,11 @@ class AssetBulkUpdateDto {
} else {
// json[r'rating'] = null;
}
+ if (this.visibility != null) {
+ json[r'visibility'] = this.visibility;
+ } else {
+ // json[r'visibility'] = null;
+ }
return json;
}
@@ -158,11 +158,11 @@ class AssetBulkUpdateDto {
ids: json[r'ids'] is Iterable
? (json[r'ids'] as Iterable).cast().toList(growable: false)
: const [],
- isArchived: mapValueOfType(json, r'isArchived'),
isFavorite: mapValueOfType(json, r'isFavorite'),
latitude: num.parse('${json[r'latitude']}'),
longitude: num.parse('${json[r'longitude']}'),
rating: num.parse('${json[r'rating']}'),
+ visibility: AssetVisibility.fromJson(json[r'visibility']),
);
}
return null;
diff --git a/mobile/openapi/lib/model/asset_visibility.dart b/mobile/openapi/lib/model/asset_visibility.dart
new file mode 100644
index 0000000000..4d0c7ee8d3
--- /dev/null
+++ b/mobile/openapi/lib/model/asset_visibility.dart
@@ -0,0 +1,88 @@
+//
+// AUTO-GENERATED FILE, DO NOT MODIFY!
+//
+// @dart=2.18
+
+// ignore_for_file: unused_element, unused_import
+// ignore_for_file: always_put_required_named_parameters_first
+// ignore_for_file: constant_identifier_names
+// ignore_for_file: lines_longer_than_80_chars
+
+part of openapi.api;
+
+
+class AssetVisibility {
+ /// Instantiate a new enum with the provided [value].
+ const AssetVisibility._(this.value);
+
+ /// The underlying value of this enum member.
+ final String value;
+
+ @override
+ String toString() => value;
+
+ String toJson() => value;
+
+ static const archive = AssetVisibility._(r'archive');
+ static const timeline = AssetVisibility._(r'timeline');
+ static const hidden = AssetVisibility._(r'hidden');
+
+ /// List of all possible values in this [enum][AssetVisibility].
+ static const values = [
+ archive,
+ timeline,
+ hidden,
+ ];
+
+ static AssetVisibility? fromJson(dynamic value) => AssetVisibilityTypeTransformer().decode(value);
+
+ static List listFromJson(dynamic json, {bool growable = false,}) {
+ final result = [];
+ if (json is List && json.isNotEmpty) {
+ for (final row in json) {
+ final value = AssetVisibility.fromJson(row);
+ if (value != null) {
+ result.add(value);
+ }
+ }
+ }
+ return result.toList(growable: growable);
+ }
+}
+
+/// Transformation class that can [encode] an instance of [AssetVisibility] to String,
+/// and [decode] dynamic data back to [AssetVisibility].
+class AssetVisibilityTypeTransformer {
+ factory AssetVisibilityTypeTransformer() => _instance ??= const AssetVisibilityTypeTransformer._();
+
+ const AssetVisibilityTypeTransformer._();
+
+ String encode(AssetVisibility data) => data.value;
+
+ /// Decodes a [dynamic value][data] to a AssetVisibility.
+ ///
+ /// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
+ /// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
+ /// cannot be decoded successfully, then an [UnimplementedError] is thrown.
+ ///
+ /// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
+ /// and users are still using an old app with the old code.
+ AssetVisibility? decode(dynamic data, {bool allowNull = true}) {
+ if (data != null) {
+ switch (data) {
+ case r'archive': return AssetVisibility.archive;
+ case r'timeline': return AssetVisibility.timeline;
+ case r'hidden': return AssetVisibility.hidden;
+ default:
+ if (!allowNull) {
+ throw ArgumentError('Unknown enum value to decode: $data');
+ }
+ }
+ }
+ return null;
+ }
+
+ /// Singleton [AssetVisibilityTypeTransformer] instance.
+ static AssetVisibilityTypeTransformer? _instance;
+}
+
diff --git a/mobile/openapi/lib/model/auth_status_response_dto.dart b/mobile/openapi/lib/model/auth_status_response_dto.dart
new file mode 100644
index 0000000000..203923164f
--- /dev/null
+++ b/mobile/openapi/lib/model/auth_status_response_dto.dart
@@ -0,0 +1,107 @@
+//
+// AUTO-GENERATED FILE, DO NOT MODIFY!
+//
+// @dart=2.18
+
+// ignore_for_file: unused_element, unused_import
+// ignore_for_file: always_put_required_named_parameters_first
+// ignore_for_file: constant_identifier_names
+// ignore_for_file: lines_longer_than_80_chars
+
+part of openapi.api;
+
+class AuthStatusResponseDto {
+ /// Returns a new [AuthStatusResponseDto] instance.
+ AuthStatusResponseDto({
+ required this.password,
+ required this.pinCode,
+ });
+
+ bool password;
+
+ bool pinCode;
+
+ @override
+ bool operator ==(Object other) => identical(this, other) || other is AuthStatusResponseDto &&
+ other.password == password &&
+ other.pinCode == pinCode;
+
+ @override
+ int get hashCode =>
+ // ignore: unnecessary_parenthesis
+ (password.hashCode) +
+ (pinCode.hashCode);
+
+ @override
+ String toString() => 'AuthStatusResponseDto[password=$password, pinCode=$pinCode]';
+
+ Map toJson() {
+ final json = {};
+ json[r'password'] = this.password;
+ json[r'pinCode'] = this.pinCode;
+ return json;
+ }
+
+ /// Returns a new [AuthStatusResponseDto] instance and imports its values from
+ /// [value] if it's a [Map], null otherwise.
+ // ignore: prefer_constructors_over_static_methods
+ static AuthStatusResponseDto? fromJson(dynamic value) {
+ upgradeDto(value, "AuthStatusResponseDto");
+ if (value is Map) {
+ final json = value.cast();
+
+ return AuthStatusResponseDto(
+ password: mapValueOfType(json, r'password')!,
+ pinCode: mapValueOfType(json, r'pinCode')!,
+ );
+ }
+ return null;
+ }
+
+ static List listFromJson(dynamic json, {bool growable = false,}) {
+ final result = [];
+ if (json is List && json.isNotEmpty) {
+ for (final row in json) {
+ final value = AuthStatusResponseDto.fromJson(row);
+ if (value != null) {
+ result.add(value);
+ }
+ }
+ }
+ return result.toList(growable: growable);
+ }
+
+ static Map mapFromJson(dynamic json) {
+ final map = {};
+ if (json is Map && json.isNotEmpty) {
+ json = json.cast(); // ignore: parameter_assignments
+ for (final entry in json.entries) {
+ final value = AuthStatusResponseDto.fromJson(entry.value);
+ if (value != null) {
+ map[entry.key] = value;
+ }
+ }
+ }
+ return map;
+ }
+
+ // maps a json object with a list of AuthStatusResponseDto-objects as value to a dart map
+ static Map> mapListFromJson(dynamic json, {bool growable = false,}) {
+ final map = >{};
+ if (json is Map && json.isNotEmpty) {
+ // ignore: parameter_assignments
+ json = json.cast();
+ for (final entry in json.entries) {
+ map[entry.key] = AuthStatusResponseDto.listFromJson(entry.value, growable: growable,);
+ }
+ }
+ return map;
+ }
+
+ /// The list of required keys that must be present in a JSON.
+ static const requiredKeys = {
+ 'password',
+ 'pinCode',
+ };
+}
+
diff --git a/mobile/openapi/lib/model/metadata_search_dto.dart b/mobile/openapi/lib/model/metadata_search_dto.dart
index 3fb003d164..7f1184467b 100644
--- a/mobile/openapi/lib/model/metadata_search_dto.dart
+++ b/mobile/openapi/lib/model/metadata_search_dto.dart
@@ -23,13 +23,11 @@ class MetadataSearchDto {
this.deviceId,
this.encodedVideoPath,
this.id,
- this.isArchived,
this.isEncoded,
this.isFavorite,
this.isMotion,
this.isNotInAlbum,
this.isOffline,
- this.isVisible,
this.lensModel,
this.libraryId,
this.make,
@@ -52,7 +50,7 @@ class MetadataSearchDto {
this.type,
this.updatedAfter,
this.updatedBefore,
- this.withArchived = false,
+ this.visibility,
this.withDeleted,
this.withExif,
this.withPeople,
@@ -127,14 +125,6 @@ class MetadataSearchDto {
///
String? id;
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isArchived;
-
///
/// Please note: This property should have been non-nullable! Since the specification file
/// does not include a default value (using the "default:" property), however, the generated
@@ -175,14 +165,6 @@ class MetadataSearchDto {
///
bool? isOffline;
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isVisible;
-
String? lensModel;
String? libraryId;
@@ -322,7 +304,13 @@ class MetadataSearchDto {
///
DateTime? updatedBefore;
- bool withArchived;
+ ///
+ /// Please note: This property should have been non-nullable! Since the specification file
+ /// does not include a default value (using the "default:" property), however, the generated
+ /// source code must fall back to having a nullable type.
+ /// Consider adding a "default:" property in the specification file to hide this note.
+ ///
+ AssetVisibility? visibility;
///
/// Please note: This property should have been non-nullable! Since the specification file
@@ -368,13 +356,11 @@ class MetadataSearchDto {
other.deviceId == deviceId &&
other.encodedVideoPath == encodedVideoPath &&
other.id == id &&
- other.isArchived == isArchived &&
other.isEncoded == isEncoded &&
other.isFavorite == isFavorite &&
other.isMotion == isMotion &&
other.isNotInAlbum == isNotInAlbum &&
other.isOffline == isOffline &&
- other.isVisible == isVisible &&
other.lensModel == lensModel &&
other.libraryId == libraryId &&
other.make == make &&
@@ -397,7 +383,7 @@ class MetadataSearchDto {
other.type == type &&
other.updatedAfter == updatedAfter &&
other.updatedBefore == updatedBefore &&
- other.withArchived == withArchived &&
+ other.visibility == visibility &&
other.withDeleted == withDeleted &&
other.withExif == withExif &&
other.withPeople == withPeople &&
@@ -416,13 +402,11 @@ class MetadataSearchDto {
(deviceId == null ? 0 : deviceId!.hashCode) +
(encodedVideoPath == null ? 0 : encodedVideoPath!.hashCode) +
(id == null ? 0 : id!.hashCode) +
- (isArchived == null ? 0 : isArchived!.hashCode) +
(isEncoded == null ? 0 : isEncoded!.hashCode) +
(isFavorite == null ? 0 : isFavorite!.hashCode) +
(isMotion == null ? 0 : isMotion!.hashCode) +
(isNotInAlbum == null ? 0 : isNotInAlbum!.hashCode) +
(isOffline == null ? 0 : isOffline!.hashCode) +
- (isVisible == null ? 0 : isVisible!.hashCode) +
(lensModel == null ? 0 : lensModel!.hashCode) +
(libraryId == null ? 0 : libraryId!.hashCode) +
(make == null ? 0 : make!.hashCode) +
@@ -445,14 +429,14 @@ class MetadataSearchDto {
(type == null ? 0 : type!.hashCode) +
(updatedAfter == null ? 0 : updatedAfter!.hashCode) +
(updatedBefore == null ? 0 : updatedBefore!.hashCode) +
- (withArchived.hashCode) +
+ (visibility == null ? 0 : visibility!.hashCode) +
(withDeleted == null ? 0 : withDeleted!.hashCode) +
(withExif == null ? 0 : withExif!.hashCode) +
(withPeople == null ? 0 : withPeople!.hashCode) +
(withStacked == null ? 0 : withStacked!.hashCode);
@override
- String toString() => 'MetadataSearchDto[checksum=$checksum, city=$city, country=$country, createdAfter=$createdAfter, createdBefore=$createdBefore, description=$description, deviceAssetId=$deviceAssetId, deviceId=$deviceId, encodedVideoPath=$encodedVideoPath, id=$id, isArchived=$isArchived, isEncoded=$isEncoded, isFavorite=$isFavorite, isMotion=$isMotion, isNotInAlbum=$isNotInAlbum, isOffline=$isOffline, isVisible=$isVisible, lensModel=$lensModel, libraryId=$libraryId, make=$make, model=$model, order=$order, originalFileName=$originalFileName, originalPath=$originalPath, page=$page, personIds=$personIds, previewPath=$previewPath, rating=$rating, size=$size, state=$state, tagIds=$tagIds, takenAfter=$takenAfter, takenBefore=$takenBefore, thumbnailPath=$thumbnailPath, trashedAfter=$trashedAfter, trashedBefore=$trashedBefore, type=$type, updatedAfter=$updatedAfter, updatedBefore=$updatedBefore, withArchived=$withArchived, withDeleted=$withDeleted, withExif=$withExif, withPeople=$withPeople, withStacked=$withStacked]';
+ String toString() => 'MetadataSearchDto[checksum=$checksum, city=$city, country=$country, createdAfter=$createdAfter, createdBefore=$createdBefore, description=$description, deviceAssetId=$deviceAssetId, deviceId=$deviceId, encodedVideoPath=$encodedVideoPath, id=$id, isEncoded=$isEncoded, isFavorite=$isFavorite, isMotion=$isMotion, isNotInAlbum=$isNotInAlbum, isOffline=$isOffline, lensModel=$lensModel, libraryId=$libraryId, make=$make, model=$model, order=$order, originalFileName=$originalFileName, originalPath=$originalPath, page=$page, personIds=$personIds, previewPath=$previewPath, rating=$rating, size=$size, state=$state, tagIds=$tagIds, takenAfter=$takenAfter, takenBefore=$takenBefore, thumbnailPath=$thumbnailPath, trashedAfter=$trashedAfter, trashedBefore=$trashedBefore, type=$type, updatedAfter=$updatedAfter, updatedBefore=$updatedBefore, visibility=$visibility, withDeleted=$withDeleted, withExif=$withExif, withPeople=$withPeople, withStacked=$withStacked]';
Map toJson() {
final json = {};
@@ -506,11 +490,6 @@ class MetadataSearchDto {
} else {
// json[r'id'] = null;
}
- if (this.isArchived != null) {
- json[r'isArchived'] = this.isArchived;
- } else {
- // json[r'isArchived'] = null;
- }
if (this.isEncoded != null) {
json[r'isEncoded'] = this.isEncoded;
} else {
@@ -536,11 +515,6 @@ class MetadataSearchDto {
} else {
// json[r'isOffline'] = null;
}
- if (this.isVisible != null) {
- json[r'isVisible'] = this.isVisible;
- } else {
- // json[r'isVisible'] = null;
- }
if (this.lensModel != null) {
json[r'lensModel'] = this.lensModel;
} else {
@@ -639,7 +613,11 @@ class MetadataSearchDto {
} else {
// json[r'updatedBefore'] = null;
}
- json[r'withArchived'] = this.withArchived;
+ if (this.visibility != null) {
+ json[r'visibility'] = this.visibility;
+ } else {
+ // json[r'visibility'] = null;
+ }
if (this.withDeleted != null) {
json[r'withDeleted'] = this.withDeleted;
} else {
@@ -682,13 +660,11 @@ class MetadataSearchDto {
deviceId: mapValueOfType(json, r'deviceId'),
encodedVideoPath: mapValueOfType(json, r'encodedVideoPath'),
id: mapValueOfType(json, r'id'),
- isArchived: mapValueOfType(json, r'isArchived'),
isEncoded: mapValueOfType(json, r'isEncoded'),
isFavorite: mapValueOfType(json, r'isFavorite'),
isMotion: mapValueOfType(json, r'isMotion'),
isNotInAlbum: mapValueOfType(json, r'isNotInAlbum'),
isOffline: mapValueOfType(json, r'isOffline'),
- isVisible: mapValueOfType(json, r'isVisible'),
lensModel: mapValueOfType(json, r'lensModel'),
libraryId: mapValueOfType(json, r'libraryId'),
make: mapValueOfType(json, r'make'),
@@ -715,7 +691,7 @@ class MetadataSearchDto {
type: AssetTypeEnum.fromJson(json[r'type']),
updatedAfter: mapDateTime(json, r'updatedAfter', r''),
updatedBefore: mapDateTime(json, r'updatedBefore', r''),
- withArchived: mapValueOfType(json, r'withArchived') ?? false,
+ visibility: AssetVisibility.fromJson(json[r'visibility']),
withDeleted: mapValueOfType(json, r'withDeleted'),
withExif: mapValueOfType(json, r'withExif'),
withPeople: mapValueOfType(json, r'withPeople'),
diff --git a/mobile/openapi/lib/model/pin_code_change_dto.dart b/mobile/openapi/lib/model/pin_code_change_dto.dart
new file mode 100644
index 0000000000..2e9967aa6b
--- /dev/null
+++ b/mobile/openapi/lib/model/pin_code_change_dto.dart
@@ -0,0 +1,133 @@
+//
+// AUTO-GENERATED FILE, DO NOT MODIFY!
+//
+// @dart=2.18
+
+// ignore_for_file: unused_element, unused_import
+// ignore_for_file: always_put_required_named_parameters_first
+// ignore_for_file: constant_identifier_names
+// ignore_for_file: lines_longer_than_80_chars
+
+part of openapi.api;
+
+class PinCodeChangeDto {
+ /// Returns a new [PinCodeChangeDto] instance.
+ PinCodeChangeDto({
+ required this.newPinCode,
+ this.password,
+ this.pinCode,
+ });
+
+ String newPinCode;
+
+ ///
+ /// Please note: This property should have been non-nullable! Since the specification file
+ /// does not include a default value (using the "default:" property), however, the generated
+ /// source code must fall back to having a nullable type.
+ /// Consider adding a "default:" property in the specification file to hide this note.
+ ///
+ String? password;
+
+ ///
+ /// Please note: This property should have been non-nullable! Since the specification file
+ /// does not include a default value (using the "default:" property), however, the generated
+ /// source code must fall back to having a nullable type.
+ /// Consider adding a "default:" property in the specification file to hide this note.
+ ///
+ String? pinCode;
+
+ @override
+ bool operator ==(Object other) => identical(this, other) || other is PinCodeChangeDto &&
+ other.newPinCode == newPinCode &&
+ other.password == password &&
+ other.pinCode == pinCode;
+
+ @override
+ int get hashCode =>
+ // ignore: unnecessary_parenthesis
+ (newPinCode.hashCode) +
+ (password == null ? 0 : password!.hashCode) +
+ (pinCode == null ? 0 : pinCode!.hashCode);
+
+ @override
+ String toString() => 'PinCodeChangeDto[newPinCode=$newPinCode, password=$password, pinCode=$pinCode]';
+
+ Map toJson() {
+ final json = {};
+ json[r'newPinCode'] = this.newPinCode;
+ if (this.password != null) {
+ json[r'password'] = this.password;
+ } else {
+ // json[r'password'] = null;
+ }
+ if (this.pinCode != null) {
+ json[r'pinCode'] = this.pinCode;
+ } else {
+ // json[r'pinCode'] = null;
+ }
+ return json;
+ }
+
+ /// Returns a new [PinCodeChangeDto] instance and imports its values from
+ /// [value] if it's a [Map], null otherwise.
+ // ignore: prefer_constructors_over_static_methods
+ static PinCodeChangeDto? fromJson(dynamic value) {
+ upgradeDto(value, "PinCodeChangeDto");
+ if (value is Map) {
+ final json = value.cast();
+
+ return PinCodeChangeDto(
+ newPinCode: mapValueOfType(json, r'newPinCode')!,
+ password: mapValueOfType(json, r'password'),
+ pinCode: mapValueOfType(json, r'pinCode'),
+ );
+ }
+ return null;
+ }
+
+ static List listFromJson(dynamic json, {bool growable = false,}) {
+ final result = [];
+ if (json is List && json.isNotEmpty) {
+ for (final row in json) {
+ final value = PinCodeChangeDto.fromJson(row);
+ if (value != null) {
+ result.add(value);
+ }
+ }
+ }
+ return result.toList(growable: growable);
+ }
+
+ static Map mapFromJson(dynamic json) {
+ final map = {};
+ if (json is Map && json.isNotEmpty) {
+ json = json.cast(); // ignore: parameter_assignments
+ for (final entry in json.entries) {
+ final value = PinCodeChangeDto.fromJson(entry.value);
+ if (value != null) {
+ map[entry.key] = value;
+ }
+ }
+ }
+ return map;
+ }
+
+ // maps a json object with a list of PinCodeChangeDto-objects as value to a dart map
+ static Map> mapListFromJson(dynamic json, {bool growable = false,}) {
+ final map = >{};
+ if (json is Map && json.isNotEmpty) {
+ // ignore: parameter_assignments
+ json = json.cast();
+ for (final entry in json.entries) {
+ map[entry.key] = PinCodeChangeDto.listFromJson(entry.value, growable: growable,);
+ }
+ }
+ return map;
+ }
+
+ /// The list of required keys that must be present in a JSON.
+ static const requiredKeys = {
+ 'newPinCode',
+ };
+}
+
diff --git a/mobile/openapi/lib/model/pin_code_setup_dto.dart b/mobile/openapi/lib/model/pin_code_setup_dto.dart
new file mode 100644
index 0000000000..09933790de
--- /dev/null
+++ b/mobile/openapi/lib/model/pin_code_setup_dto.dart
@@ -0,0 +1,99 @@
+//
+// AUTO-GENERATED FILE, DO NOT MODIFY!
+//
+// @dart=2.18
+
+// ignore_for_file: unused_element, unused_import
+// ignore_for_file: always_put_required_named_parameters_first
+// ignore_for_file: constant_identifier_names
+// ignore_for_file: lines_longer_than_80_chars
+
+part of openapi.api;
+
+class PinCodeSetupDto {
+ /// Returns a new [PinCodeSetupDto] instance.
+ PinCodeSetupDto({
+ required this.pinCode,
+ });
+
+ String pinCode;
+
+ @override
+ bool operator ==(Object other) => identical(this, other) || other is PinCodeSetupDto &&
+ other.pinCode == pinCode;
+
+ @override
+ int get hashCode =>
+ // ignore: unnecessary_parenthesis
+ (pinCode.hashCode);
+
+ @override
+ String toString() => 'PinCodeSetupDto[pinCode=$pinCode]';
+
+ Map toJson() {
+ final json = {};
+ json[r'pinCode'] = this.pinCode;
+ return json;
+ }
+
+ /// Returns a new [PinCodeSetupDto] instance and imports its values from
+ /// [value] if it's a [Map], null otherwise.
+ // ignore: prefer_constructors_over_static_methods
+ static PinCodeSetupDto? fromJson(dynamic value) {
+ upgradeDto(value, "PinCodeSetupDto");
+ if (value is Map) {
+ final json = value.cast();
+
+ return PinCodeSetupDto(
+ pinCode: mapValueOfType(json, r'pinCode')!,
+ );
+ }
+ return null;
+ }
+
+ static List listFromJson(dynamic json, {bool growable = false,}) {
+ final result = [];
+ if (json is List && json.isNotEmpty) {
+ for (final row in json) {
+ final value = PinCodeSetupDto.fromJson(row);
+ if (value != null) {
+ result.add(value);
+ }
+ }
+ }
+ return result.toList(growable: growable);
+ }
+
+ static Map mapFromJson(dynamic json) {
+ final map = {};
+ if (json is Map && json.isNotEmpty) {
+ json = json.cast(); // ignore: parameter_assignments
+ for (final entry in json.entries) {
+ final value = PinCodeSetupDto.fromJson(entry.value);
+ if (value != null) {
+ map[entry.key] = value;
+ }
+ }
+ }
+ return map;
+ }
+
+ // maps a json object with a list of PinCodeSetupDto-objects as value to a dart map
+ static Map> mapListFromJson(dynamic json, {bool growable = false,}) {
+ final map = >{};
+ if (json is Map && json.isNotEmpty) {
+ // ignore: parameter_assignments
+ json = json.cast();
+ for (final entry in json.entries) {
+ map[entry.key] = PinCodeSetupDto.listFromJson(entry.value, growable: growable,);
+ }
+ }
+ return map;
+ }
+
+ /// The list of required keys that must be present in a JSON.
+ static const requiredKeys = {
+ 'pinCode',
+ };
+}
+
diff --git a/mobile/openapi/lib/model/random_search_dto.dart b/mobile/openapi/lib/model/random_search_dto.dart
index 10727ec10d..0284212efc 100644
--- a/mobile/openapi/lib/model/random_search_dto.dart
+++ b/mobile/openapi/lib/model/random_search_dto.dart
@@ -18,13 +18,11 @@ class RandomSearchDto {
this.createdAfter,
this.createdBefore,
this.deviceId,
- this.isArchived,
this.isEncoded,
this.isFavorite,
this.isMotion,
this.isNotInAlbum,
this.isOffline,
- this.isVisible,
this.lensModel,
this.libraryId,
this.make,
@@ -41,7 +39,7 @@ class RandomSearchDto {
this.type,
this.updatedAfter,
this.updatedBefore,
- this.withArchived = false,
+ this.visibility,
this.withDeleted,
this.withExif,
this.withPeople,
@@ -76,14 +74,6 @@ class RandomSearchDto {
///
String? deviceId;
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isArchived;
-
///
/// Please note: This property should have been non-nullable! Since the specification file
/// does not include a default value (using the "default:" property), however, the generated
@@ -124,14 +114,6 @@ class RandomSearchDto {
///
bool? isOffline;
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isVisible;
-
String? lensModel;
String? libraryId;
@@ -228,7 +210,13 @@ class RandomSearchDto {
///
DateTime? updatedBefore;
- bool withArchived;
+ ///
+ /// Please note: This property should have been non-nullable! Since the specification file
+ /// does not include a default value (using the "default:" property), however, the generated
+ /// source code must fall back to having a nullable type.
+ /// Consider adding a "default:" property in the specification file to hide this note.
+ ///
+ AssetVisibility? visibility;
///
/// Please note: This property should have been non-nullable! Since the specification file
@@ -269,13 +257,11 @@ class RandomSearchDto {
other.createdAfter == createdAfter &&
other.createdBefore == createdBefore &&
other.deviceId == deviceId &&
- other.isArchived == isArchived &&
other.isEncoded == isEncoded &&
other.isFavorite == isFavorite &&
other.isMotion == isMotion &&
other.isNotInAlbum == isNotInAlbum &&
other.isOffline == isOffline &&
- other.isVisible == isVisible &&
other.lensModel == lensModel &&
other.libraryId == libraryId &&
other.make == make &&
@@ -292,7 +278,7 @@ class RandomSearchDto {
other.type == type &&
other.updatedAfter == updatedAfter &&
other.updatedBefore == updatedBefore &&
- other.withArchived == withArchived &&
+ other.visibility == visibility &&
other.withDeleted == withDeleted &&
other.withExif == withExif &&
other.withPeople == withPeople &&
@@ -306,13 +292,11 @@ class RandomSearchDto {
(createdAfter == null ? 0 : createdAfter!.hashCode) +
(createdBefore == null ? 0 : createdBefore!.hashCode) +
(deviceId == null ? 0 : deviceId!.hashCode) +
- (isArchived == null ? 0 : isArchived!.hashCode) +
(isEncoded == null ? 0 : isEncoded!.hashCode) +
(isFavorite == null ? 0 : isFavorite!.hashCode) +
(isMotion == null ? 0 : isMotion!.hashCode) +
(isNotInAlbum == null ? 0 : isNotInAlbum!.hashCode) +
(isOffline == null ? 0 : isOffline!.hashCode) +
- (isVisible == null ? 0 : isVisible!.hashCode) +
(lensModel == null ? 0 : lensModel!.hashCode) +
(libraryId == null ? 0 : libraryId!.hashCode) +
(make == null ? 0 : make!.hashCode) +
@@ -329,14 +313,14 @@ class RandomSearchDto {
(type == null ? 0 : type!.hashCode) +
(updatedAfter == null ? 0 : updatedAfter!.hashCode) +
(updatedBefore == null ? 0 : updatedBefore!.hashCode) +
- (withArchived.hashCode) +
+ (visibility == null ? 0 : visibility!.hashCode) +
(withDeleted == null ? 0 : withDeleted!.hashCode) +
(withExif == null ? 0 : withExif!.hashCode) +
(withPeople == null ? 0 : withPeople!.hashCode) +
(withStacked == null ? 0 : withStacked!.hashCode);
@override
- String toString() => 'RandomSearchDto[city=$city, country=$country, createdAfter=$createdAfter, createdBefore=$createdBefore, deviceId=$deviceId, isArchived=$isArchived, isEncoded=$isEncoded, isFavorite=$isFavorite, isMotion=$isMotion, isNotInAlbum=$isNotInAlbum, isOffline=$isOffline, isVisible=$isVisible, lensModel=$lensModel, libraryId=$libraryId, make=$make, model=$model, personIds=$personIds, rating=$rating, size=$size, state=$state, tagIds=$tagIds, takenAfter=$takenAfter, takenBefore=$takenBefore, trashedAfter=$trashedAfter, trashedBefore=$trashedBefore, type=$type, updatedAfter=$updatedAfter, updatedBefore=$updatedBefore, withArchived=$withArchived, withDeleted=$withDeleted, withExif=$withExif, withPeople=$withPeople, withStacked=$withStacked]';
+ String toString() => 'RandomSearchDto[city=$city, country=$country, createdAfter=$createdAfter, createdBefore=$createdBefore, deviceId=$deviceId, isEncoded=$isEncoded, isFavorite=$isFavorite, isMotion=$isMotion, isNotInAlbum=$isNotInAlbum, isOffline=$isOffline, lensModel=$lensModel, libraryId=$libraryId, make=$make, model=$model, personIds=$personIds, rating=$rating, size=$size, state=$state, tagIds=$tagIds, takenAfter=$takenAfter, takenBefore=$takenBefore, trashedAfter=$trashedAfter, trashedBefore=$trashedBefore, type=$type, updatedAfter=$updatedAfter, updatedBefore=$updatedBefore, visibility=$visibility, withDeleted=$withDeleted, withExif=$withExif, withPeople=$withPeople, withStacked=$withStacked]';
Map toJson() {
final json = {};
@@ -365,11 +349,6 @@ class RandomSearchDto {
} else {
// json[r'deviceId'] = null;
}
- if (this.isArchived != null) {
- json[r'isArchived'] = this.isArchived;
- } else {
- // json[r'isArchived'] = null;
- }
if (this.isEncoded != null) {
json[r'isEncoded'] = this.isEncoded;
} else {
@@ -395,11 +374,6 @@ class RandomSearchDto {
} else {
// json[r'isOffline'] = null;
}
- if (this.isVisible != null) {
- json[r'isVisible'] = this.isVisible;
- } else {
- // json[r'isVisible'] = null;
- }
if (this.lensModel != null) {
json[r'lensModel'] = this.lensModel;
} else {
@@ -472,7 +446,11 @@ class RandomSearchDto {
} else {
// json[r'updatedBefore'] = null;
}
- json[r'withArchived'] = this.withArchived;
+ if (this.visibility != null) {
+ json[r'visibility'] = this.visibility;
+ } else {
+ // json[r'visibility'] = null;
+ }
if (this.withDeleted != null) {
json[r'withDeleted'] = this.withDeleted;
} else {
@@ -510,13 +488,11 @@ class RandomSearchDto {
createdAfter: mapDateTime(json, r'createdAfter', r''),
createdBefore: mapDateTime(json, r'createdBefore', r''),
deviceId: mapValueOfType(json, r'deviceId'),
- isArchived: mapValueOfType(json, r'isArchived'),
isEncoded: mapValueOfType(json, r'isEncoded'),
isFavorite: mapValueOfType(json, r'isFavorite'),
isMotion: mapValueOfType(json, r'isMotion'),
isNotInAlbum: mapValueOfType(json, r'isNotInAlbum'),
isOffline: mapValueOfType(json, r'isOffline'),
- isVisible: mapValueOfType(json, r'isVisible'),
lensModel: mapValueOfType(json, r'lensModel'),
libraryId: mapValueOfType(json, r'libraryId'),
make: mapValueOfType(json, r'make'),
@@ -537,7 +513,7 @@ class RandomSearchDto {
type: AssetTypeEnum.fromJson(json[r'type']),
updatedAfter: mapDateTime(json, r'updatedAfter', r''),
updatedBefore: mapDateTime(json, r'updatedBefore', r''),
- withArchived: mapValueOfType(json, r'withArchived') ?? false,
+ visibility: AssetVisibility.fromJson(json[r'visibility']),
withDeleted: mapValueOfType(json, r'withDeleted'),
withExif: mapValueOfType(json, r'withExif'),
withPeople: mapValueOfType(json, r'withPeople'),
diff --git a/mobile/openapi/lib/model/smart_search_dto.dart b/mobile/openapi/lib/model/smart_search_dto.dart
index 47c800ff09..a915d97b31 100644
--- a/mobile/openapi/lib/model/smart_search_dto.dart
+++ b/mobile/openapi/lib/model/smart_search_dto.dart
@@ -18,13 +18,11 @@ class SmartSearchDto {
this.createdAfter,
this.createdBefore,
this.deviceId,
- this.isArchived,
this.isEncoded,
this.isFavorite,
this.isMotion,
this.isNotInAlbum,
this.isOffline,
- this.isVisible,
this.language,
this.lensModel,
this.libraryId,
@@ -44,7 +42,7 @@ class SmartSearchDto {
this.type,
this.updatedAfter,
this.updatedBefore,
- this.withArchived = false,
+ this.visibility,
this.withDeleted,
this.withExif,
});
@@ -77,14 +75,6 @@ class SmartSearchDto {
///
String? deviceId;
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isArchived;
-
///
/// Please note: This property should have been non-nullable! Since the specification file
/// does not include a default value (using the "default:" property), however, the generated
@@ -125,14 +115,6 @@ class SmartSearchDto {
///
bool? isOffline;
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isVisible;
-
///
/// Please note: This property should have been non-nullable! Since the specification file
/// does not include a default value (using the "default:" property), however, the generated
@@ -248,7 +230,13 @@ class SmartSearchDto {
///
DateTime? updatedBefore;
- bool withArchived;
+ ///
+ /// Please note: This property should have been non-nullable! Since the specification file
+ /// does not include a default value (using the "default:" property), however, the generated
+ /// source code must fall back to having a nullable type.
+ /// Consider adding a "default:" property in the specification file to hide this note.
+ ///
+ AssetVisibility? visibility;
///
/// Please note: This property should have been non-nullable! Since the specification file
@@ -273,13 +261,11 @@ class SmartSearchDto {
other.createdAfter == createdAfter &&
other.createdBefore == createdBefore &&
other.deviceId == deviceId &&
- other.isArchived == isArchived &&
other.isEncoded == isEncoded &&
other.isFavorite == isFavorite &&
other.isMotion == isMotion &&
other.isNotInAlbum == isNotInAlbum &&
other.isOffline == isOffline &&
- other.isVisible == isVisible &&
other.language == language &&
other.lensModel == lensModel &&
other.libraryId == libraryId &&
@@ -299,7 +285,7 @@ class SmartSearchDto {
other.type == type &&
other.updatedAfter == updatedAfter &&
other.updatedBefore == updatedBefore &&
- other.withArchived == withArchived &&
+ other.visibility == visibility &&
other.withDeleted == withDeleted &&
other.withExif == withExif;
@@ -311,13 +297,11 @@ class SmartSearchDto {
(createdAfter == null ? 0 : createdAfter!.hashCode) +
(createdBefore == null ? 0 : createdBefore!.hashCode) +
(deviceId == null ? 0 : deviceId!.hashCode) +
- (isArchived == null ? 0 : isArchived!.hashCode) +
(isEncoded == null ? 0 : isEncoded!.hashCode) +
(isFavorite == null ? 0 : isFavorite!.hashCode) +
(isMotion == null ? 0 : isMotion!.hashCode) +
(isNotInAlbum == null ? 0 : isNotInAlbum!.hashCode) +
(isOffline == null ? 0 : isOffline!.hashCode) +
- (isVisible == null ? 0 : isVisible!.hashCode) +
(language == null ? 0 : language!.hashCode) +
(lensModel == null ? 0 : lensModel!.hashCode) +
(libraryId == null ? 0 : libraryId!.hashCode) +
@@ -337,12 +321,12 @@ class SmartSearchDto {
(type == null ? 0 : type!.hashCode) +
(updatedAfter == null ? 0 : updatedAfter!.hashCode) +
(updatedBefore == null ? 0 : updatedBefore!.hashCode) +
- (withArchived.hashCode) +
+ (visibility == null ? 0 : visibility!.hashCode) +
(withDeleted == null ? 0 : withDeleted!.hashCode) +
(withExif == null ? 0 : withExif!.hashCode);
@override
- String toString() => 'SmartSearchDto[city=$city, country=$country, createdAfter=$createdAfter, createdBefore=$createdBefore, deviceId=$deviceId, isArchived=$isArchived, isEncoded=$isEncoded, isFavorite=$isFavorite, isMotion=$isMotion, isNotInAlbum=$isNotInAlbum, isOffline=$isOffline, isVisible=$isVisible, language=$language, lensModel=$lensModel, libraryId=$libraryId, make=$make, model=$model, page=$page, personIds=$personIds, query=$query, rating=$rating, size=$size, state=$state, tagIds=$tagIds, takenAfter=$takenAfter, takenBefore=$takenBefore, trashedAfter=$trashedAfter, trashedBefore=$trashedBefore, type=$type, updatedAfter=$updatedAfter, updatedBefore=$updatedBefore, withArchived=$withArchived, withDeleted=$withDeleted, withExif=$withExif]';
+ String toString() => 'SmartSearchDto[city=$city, country=$country, createdAfter=$createdAfter, createdBefore=$createdBefore, deviceId=$deviceId, isEncoded=$isEncoded, isFavorite=$isFavorite, isMotion=$isMotion, isNotInAlbum=$isNotInAlbum, isOffline=$isOffline, language=$language, lensModel=$lensModel, libraryId=$libraryId, make=$make, model=$model, page=$page, personIds=$personIds, query=$query, rating=$rating, size=$size, state=$state, tagIds=$tagIds, takenAfter=$takenAfter, takenBefore=$takenBefore, trashedAfter=$trashedAfter, trashedBefore=$trashedBefore, type=$type, updatedAfter=$updatedAfter, updatedBefore=$updatedBefore, visibility=$visibility, withDeleted=$withDeleted, withExif=$withExif]';
Map toJson() {
final json = {};
@@ -371,11 +355,6 @@ class SmartSearchDto {
} else {
// json[r'deviceId'] = null;
}
- if (this.isArchived != null) {
- json[r'isArchived'] = this.isArchived;
- } else {
- // json[r'isArchived'] = null;
- }
if (this.isEncoded != null) {
json[r'isEncoded'] = this.isEncoded;
} else {
@@ -401,11 +380,6 @@ class SmartSearchDto {
} else {
// json[r'isOffline'] = null;
}
- if (this.isVisible != null) {
- json[r'isVisible'] = this.isVisible;
- } else {
- // json[r'isVisible'] = null;
- }
if (this.language != null) {
json[r'language'] = this.language;
} else {
@@ -489,7 +463,11 @@ class SmartSearchDto {
} else {
// json[r'updatedBefore'] = null;
}
- json[r'withArchived'] = this.withArchived;
+ if (this.visibility != null) {
+ json[r'visibility'] = this.visibility;
+ } else {
+ // json[r'visibility'] = null;
+ }
if (this.withDeleted != null) {
json[r'withDeleted'] = this.withDeleted;
} else {
@@ -517,13 +495,11 @@ class SmartSearchDto {
createdAfter: mapDateTime(json, r'createdAfter', r''),
createdBefore: mapDateTime(json, r'createdBefore', r''),
deviceId: mapValueOfType(json, r'deviceId'),
- isArchived: mapValueOfType(json, r'isArchived'),
isEncoded: mapValueOfType(json, r'isEncoded'),
isFavorite: mapValueOfType(json, r'isFavorite'),
isMotion: mapValueOfType(json, r'isMotion'),
isNotInAlbum: mapValueOfType(json, r'isNotInAlbum'),
isOffline: mapValueOfType(json, r'isOffline'),
- isVisible: mapValueOfType(json, r'isVisible'),
language: mapValueOfType(json, r'language'),
lensModel: mapValueOfType(json, r'lensModel'),
libraryId: mapValueOfType(json, r'libraryId'),
@@ -547,7 +523,7 @@ class SmartSearchDto {
type: AssetTypeEnum.fromJson(json[r'type']),
updatedAfter: mapDateTime(json, r'updatedAfter', r''),
updatedBefore: mapDateTime(json, r'updatedBefore', r''),
- withArchived: mapValueOfType(json, r'withArchived') ?? false,
+ visibility: AssetVisibility.fromJson(json[r'visibility']),
withDeleted: mapValueOfType(json, r'withDeleted'),
withExif: mapValueOfType(json, r'withExif'),
);
diff --git a/mobile/openapi/lib/model/sync_asset_v1.dart b/mobile/openapi/lib/model/sync_asset_v1.dart
index 6f9d7d7eaf..e1d3199428 100644
--- a/mobile/openapi/lib/model/sync_asset_v1.dart
+++ b/mobile/openapi/lib/model/sync_asset_v1.dart
@@ -19,11 +19,11 @@ class SyncAssetV1 {
required this.fileModifiedAt,
required this.id,
required this.isFavorite,
- required this.isVisible,
required this.localDateTime,
required this.ownerId,
required this.thumbhash,
required this.type,
+ required this.visibility,
});
String checksum;
@@ -38,8 +38,6 @@ class SyncAssetV1 {
bool isFavorite;
- bool isVisible;
-
DateTime? localDateTime;
String ownerId;
@@ -48,6 +46,8 @@ class SyncAssetV1 {
SyncAssetV1TypeEnum type;
+ SyncAssetV1VisibilityEnum visibility;
+
@override
bool operator ==(Object other) => identical(this, other) || other is SyncAssetV1 &&
other.checksum == checksum &&
@@ -56,11 +56,11 @@ class SyncAssetV1 {
other.fileModifiedAt == fileModifiedAt &&
other.id == id &&
other.isFavorite == isFavorite &&
- other.isVisible == isVisible &&
other.localDateTime == localDateTime &&
other.ownerId == ownerId &&
other.thumbhash == thumbhash &&
- other.type == type;
+ other.type == type &&
+ other.visibility == visibility;
@override
int get hashCode =>
@@ -71,14 +71,14 @@ class SyncAssetV1 {
(fileModifiedAt == null ? 0 : fileModifiedAt!.hashCode) +
(id.hashCode) +
(isFavorite.hashCode) +
- (isVisible.hashCode) +
(localDateTime == null ? 0 : localDateTime!.hashCode) +
(ownerId.hashCode) +
(thumbhash == null ? 0 : thumbhash!.hashCode) +
- (type.hashCode);
+ (type.hashCode) +
+ (visibility.hashCode);
@override
- String toString() => 'SyncAssetV1[checksum=$checksum, deletedAt=$deletedAt, fileCreatedAt=$fileCreatedAt, fileModifiedAt=$fileModifiedAt, id=$id, isFavorite=$isFavorite, isVisible=$isVisible, localDateTime=$localDateTime, ownerId=$ownerId, thumbhash=$thumbhash, type=$type]';
+ String toString() => 'SyncAssetV1[checksum=$checksum, deletedAt=$deletedAt, fileCreatedAt=$fileCreatedAt, fileModifiedAt=$fileModifiedAt, id=$id, isFavorite=$isFavorite, localDateTime=$localDateTime, ownerId=$ownerId, thumbhash=$thumbhash, type=$type, visibility=$visibility]';
Map toJson() {
final json = {};
@@ -100,7 +100,6 @@ class SyncAssetV1 {
}
json[r'id'] = this.id;
json[r'isFavorite'] = this.isFavorite;
- json[r'isVisible'] = this.isVisible;
if (this.localDateTime != null) {
json[r'localDateTime'] = this.localDateTime!.toUtc().toIso8601String();
} else {
@@ -113,6 +112,7 @@ class SyncAssetV1 {
// json[r'thumbhash'] = null;
}
json[r'type'] = this.type;
+ json[r'visibility'] = this.visibility;
return json;
}
@@ -131,11 +131,11 @@ class SyncAssetV1 {
fileModifiedAt: mapDateTime(json, r'fileModifiedAt', r''),
id: mapValueOfType(json, r'id')!,
isFavorite: mapValueOfType(json, r'isFavorite')!,
- isVisible: mapValueOfType(json, r'isVisible')!,
localDateTime: mapDateTime(json, r'localDateTime', r''),
ownerId: mapValueOfType(json, r'ownerId')!,
thumbhash: mapValueOfType(json, r'thumbhash'),
type: SyncAssetV1TypeEnum.fromJson(json[r'type'])!,
+ visibility: SyncAssetV1VisibilityEnum.fromJson(json[r'visibility'])!,
);
}
return null;
@@ -189,11 +189,11 @@ class SyncAssetV1 {
'fileModifiedAt',
'id',
'isFavorite',
- 'isVisible',
'localDateTime',
'ownerId',
'thumbhash',
'type',
+ 'visibility',
};
}
@@ -277,3 +277,80 @@ class SyncAssetV1TypeEnumTypeTransformer {
}
+
+class SyncAssetV1VisibilityEnum {
+ /// Instantiate a new enum with the provided [value].
+ const SyncAssetV1VisibilityEnum._(this.value);
+
+ /// The underlying value of this enum member.
+ final String value;
+
+ @override
+ String toString() => value;
+
+ String toJson() => value;
+
+ static const archive = SyncAssetV1VisibilityEnum._(r'archive');
+ static const timeline = SyncAssetV1VisibilityEnum._(r'timeline');
+ static const hidden = SyncAssetV1VisibilityEnum._(r'hidden');
+
+ /// List of all possible values in this [enum][SyncAssetV1VisibilityEnum].
+ static const values = [
+ archive,
+ timeline,
+ hidden,
+ ];
+
+ static SyncAssetV1VisibilityEnum? fromJson(dynamic value) => SyncAssetV1VisibilityEnumTypeTransformer().decode(value);
+
+ static List listFromJson(dynamic json, {bool growable = false,}) {
+ final result = [];
+ if (json is List && json.isNotEmpty) {
+ for (final row in json) {
+ final value = SyncAssetV1VisibilityEnum.fromJson(row);
+ if (value != null) {
+ result.add(value);
+ }
+ }
+ }
+ return result.toList(growable: growable);
+ }
+}
+
+/// Transformation class that can [encode] an instance of [SyncAssetV1VisibilityEnum] to String,
+/// and [decode] dynamic data back to [SyncAssetV1VisibilityEnum].
+class SyncAssetV1VisibilityEnumTypeTransformer {
+ factory SyncAssetV1VisibilityEnumTypeTransformer() => _instance ??= const SyncAssetV1VisibilityEnumTypeTransformer._();
+
+ const SyncAssetV1VisibilityEnumTypeTransformer._();
+
+ String encode(SyncAssetV1VisibilityEnum data) => data.value;
+
+ /// Decodes a [dynamic value][data] to a SyncAssetV1VisibilityEnum.
+ ///
+ /// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
+ /// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
+ /// cannot be decoded successfully, then an [UnimplementedError] is thrown.
+ ///
+ /// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
+ /// and users are still using an old app with the old code.
+ SyncAssetV1VisibilityEnum? decode(dynamic data, {bool allowNull = true}) {
+ if (data != null) {
+ switch (data) {
+ case r'archive': return SyncAssetV1VisibilityEnum.archive;
+ case r'timeline': return SyncAssetV1VisibilityEnum.timeline;
+ case r'hidden': return SyncAssetV1VisibilityEnum.hidden;
+ default:
+ if (!allowNull) {
+ throw ArgumentError('Unknown enum value to decode: $data');
+ }
+ }
+ }
+ return null;
+ }
+
+ /// Singleton [SyncAssetV1VisibilityEnumTypeTransformer] instance.
+ static SyncAssetV1VisibilityEnumTypeTransformer? _instance;
+}
+
+
diff --git a/mobile/openapi/lib/model/update_asset_dto.dart b/mobile/openapi/lib/model/update_asset_dto.dart
index c6ae6d8e07..7b364f1387 100644
--- a/mobile/openapi/lib/model/update_asset_dto.dart
+++ b/mobile/openapi/lib/model/update_asset_dto.dart
@@ -15,12 +15,12 @@ class UpdateAssetDto {
UpdateAssetDto({
this.dateTimeOriginal,
this.description,
- this.isArchived,
this.isFavorite,
this.latitude,
this.livePhotoVideoId,
this.longitude,
this.rating,
+ this.visibility,
});
///
@@ -39,14 +39,6 @@ class UpdateAssetDto {
///
String? description;
- ///
- /// Please note: This property should have been non-nullable! Since the specification file
- /// does not include a default value (using the "default:" property), however, the generated
- /// source code must fall back to having a nullable type.
- /// Consider adding a "default:" property in the specification file to hide this note.
- ///
- bool? isArchived;
-
///
/// Please note: This property should have been non-nullable! Since the specification file
/// does not include a default value (using the "default:" property), however, the generated
@@ -83,31 +75,39 @@ class UpdateAssetDto {
///
num? rating;
+ ///
+ /// Please note: This property should have been non-nullable! Since the specification file
+ /// does not include a default value (using the "default:" property), however, the generated
+ /// source code must fall back to having a nullable type.
+ /// Consider adding a "default:" property in the specification file to hide this note.
+ ///
+ AssetVisibility? visibility;
+
@override
bool operator ==(Object other) => identical(this, other) || other is UpdateAssetDto &&
other.dateTimeOriginal == dateTimeOriginal &&
other.description == description &&
- other.isArchived == isArchived &&
other.isFavorite == isFavorite &&
other.latitude == latitude &&
other.livePhotoVideoId == livePhotoVideoId &&
other.longitude == longitude &&
- other.rating == rating;
+ other.rating == rating &&
+ other.visibility == visibility;
@override
int get hashCode =>
// ignore: unnecessary_parenthesis
(dateTimeOriginal == null ? 0 : dateTimeOriginal!.hashCode) +
(description == null ? 0 : description!.hashCode) +
- (isArchived == null ? 0 : isArchived!.hashCode) +
(isFavorite == null ? 0 : isFavorite!.hashCode) +
(latitude == null ? 0 : latitude!.hashCode) +
(livePhotoVideoId == null ? 0 : livePhotoVideoId!.hashCode) +
(longitude == null ? 0 : longitude!.hashCode) +
- (rating == null ? 0 : rating!.hashCode);
+ (rating == null ? 0 : rating!.hashCode) +
+ (visibility == null ? 0 : visibility!.hashCode);
@override
- String toString() => 'UpdateAssetDto[dateTimeOriginal=$dateTimeOriginal, description=$description, isArchived=$isArchived, isFavorite=$isFavorite, latitude=$latitude, livePhotoVideoId=$livePhotoVideoId, longitude=$longitude, rating=$rating]';
+ String toString() => 'UpdateAssetDto[dateTimeOriginal=$dateTimeOriginal, description=$description, isFavorite=$isFavorite, latitude=$latitude, livePhotoVideoId=$livePhotoVideoId, longitude=$longitude, rating=$rating, visibility=$visibility]';
Map toJson() {
final json = {};
@@ -121,11 +121,6 @@ class UpdateAssetDto {
} else {
// json[r'description'] = null;
}
- if (this.isArchived != null) {
- json[r'isArchived'] = this.isArchived;
- } else {
- // json[r'isArchived'] = null;
- }
if (this.isFavorite != null) {
json[r'isFavorite'] = this.isFavorite;
} else {
@@ -151,6 +146,11 @@ class UpdateAssetDto {
} else {
// json[r'rating'] = null;
}
+ if (this.visibility != null) {
+ json[r'visibility'] = this.visibility;
+ } else {
+ // json[r'visibility'] = null;
+ }
return json;
}
@@ -165,12 +165,12 @@ class UpdateAssetDto {
return UpdateAssetDto(
dateTimeOriginal: mapValueOfType(json, r'dateTimeOriginal'),
description: mapValueOfType(json, r'description'),
- isArchived: mapValueOfType(json, r'isArchived'),
isFavorite: mapValueOfType(json, r'isFavorite'),
latitude: num.parse('${json[r'latitude']}'),
livePhotoVideoId: mapValueOfType(json, r'livePhotoVideoId'),
longitude: num.parse('${json[r'longitude']}'),
rating: num.parse('${json[r'rating']}'),
+ visibility: AssetVisibility.fromJson(json[r'visibility']),
);
}
return null;
diff --git a/mobile/openapi/lib/model/user_admin_update_dto.dart b/mobile/openapi/lib/model/user_admin_update_dto.dart
index 951ee8ce84..ee5c006840 100644
--- a/mobile/openapi/lib/model/user_admin_update_dto.dart
+++ b/mobile/openapi/lib/model/user_admin_update_dto.dart
@@ -17,6 +17,7 @@ class UserAdminUpdateDto {
this.email,
this.name,
this.password,
+ this.pinCode,
this.quotaSizeInBytes,
this.shouldChangePassword,
this.storageLabel,
@@ -48,6 +49,8 @@ class UserAdminUpdateDto {
///
String? password;
+ String? pinCode;
+
/// Minimum value: 0
int? quotaSizeInBytes;
@@ -67,6 +70,7 @@ class UserAdminUpdateDto {
other.email == email &&
other.name == name &&
other.password == password &&
+ other.pinCode == pinCode &&
other.quotaSizeInBytes == quotaSizeInBytes &&
other.shouldChangePassword == shouldChangePassword &&
other.storageLabel == storageLabel;
@@ -78,12 +82,13 @@ class UserAdminUpdateDto {
(email == null ? 0 : email!.hashCode) +
(name == null ? 0 : name!.hashCode) +
(password == null ? 0 : password!.hashCode) +
+ (pinCode == null ? 0 : pinCode!.hashCode) +
(quotaSizeInBytes == null ? 0 : quotaSizeInBytes!.hashCode) +
(shouldChangePassword == null ? 0 : shouldChangePassword!.hashCode) +
(storageLabel == null ? 0 : storageLabel!.hashCode);
@override
- String toString() => 'UserAdminUpdateDto[avatarColor=$avatarColor, email=$email, name=$name, password=$password, quotaSizeInBytes=$quotaSizeInBytes, shouldChangePassword=$shouldChangePassword, storageLabel=$storageLabel]';
+ String toString() => 'UserAdminUpdateDto[avatarColor=$avatarColor, email=$email, name=$name, password=$password, pinCode=$pinCode, quotaSizeInBytes=$quotaSizeInBytes, shouldChangePassword=$shouldChangePassword, storageLabel=$storageLabel]';
Map toJson() {
final json = {};
@@ -107,6 +112,11 @@ class UserAdminUpdateDto {
} else {
// json[r'password'] = null;
}
+ if (this.pinCode != null) {
+ json[r'pinCode'] = this.pinCode;
+ } else {
+ // json[r'pinCode'] = null;
+ }
if (this.quotaSizeInBytes != null) {
json[r'quotaSizeInBytes'] = this.quotaSizeInBytes;
} else {
@@ -138,6 +148,7 @@ class UserAdminUpdateDto {
email: mapValueOfType(json, r'email'),
name: mapValueOfType(json, r'name'),
password: mapValueOfType(json, r'password'),
+ pinCode: mapValueOfType(json, r'pinCode'),
quotaSizeInBytes: mapValueOfType(json, r'quotaSizeInBytes'),
shouldChangePassword: mapValueOfType(json, r'shouldChangePassword'),
storageLabel: mapValueOfType(json, r'storageLabel'),
diff --git a/open-api/immich-openapi-specs.json b/open-api/immich-openapi-specs.json
index 0951177c72..a98750edaa 100644
--- a/open-api/immich-openapi-specs.json
+++ b/open-api/immich-openapi-specs.json
@@ -1781,14 +1781,6 @@
"get": {
"operationId": "getAssetStatistics",
"parameters": [
- {
- "name": "isArchived",
- "required": false,
- "in": "query",
- "schema": {
- "type": "boolean"
- }
- },
{
"name": "isFavorite",
"required": false,
@@ -1804,6 +1796,14 @@
"schema": {
"type": "boolean"
}
+ },
+ {
+ "name": "visibility",
+ "required": false,
+ "in": "query",
+ "schema": {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
}
],
"responses": {
@@ -2294,6 +2294,139 @@
]
}
},
+ "/auth/pin-code": {
+ "delete": {
+ "operationId": "resetPinCode",
+ "parameters": [],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PinCodeChangeDto"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": ""
+ }
+ },
+ "security": [
+ {
+ "bearer": []
+ },
+ {
+ "cookie": []
+ },
+ {
+ "api_key": []
+ }
+ ],
+ "tags": [
+ "Authentication"
+ ]
+ },
+ "post": {
+ "operationId": "setupPinCode",
+ "parameters": [],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PinCodeSetupDto"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "201": {
+ "description": ""
+ }
+ },
+ "security": [
+ {
+ "bearer": []
+ },
+ {
+ "cookie": []
+ },
+ {
+ "api_key": []
+ }
+ ],
+ "tags": [
+ "Authentication"
+ ]
+ },
+ "put": {
+ "operationId": "changePinCode",
+ "parameters": [],
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PinCodeChangeDto"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": ""
+ }
+ },
+ "security": [
+ {
+ "bearer": []
+ },
+ {
+ "cookie": []
+ },
+ {
+ "api_key": []
+ }
+ ],
+ "tags": [
+ "Authentication"
+ ]
+ }
+ },
+ "/auth/status": {
+ "get": {
+ "operationId": "getAuthStatus",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AuthStatusResponseDto"
+ }
+ }
+ },
+ "description": ""
+ }
+ },
+ "security": [
+ {
+ "bearer": []
+ },
+ {
+ "cookie": []
+ },
+ {
+ "api_key": []
+ }
+ ],
+ "tags": [
+ "Authentication"
+ ]
+ }
+ },
"/auth/validateToken": {
"post": {
"operationId": "validateAccessToken",
@@ -6909,14 +7042,6 @@
"type": "string"
}
},
- {
- "name": "isArchived",
- "required": false,
- "in": "query",
- "schema": {
- "type": "boolean"
- }
- },
{
"name": "isFavorite",
"required": false,
@@ -6992,6 +7117,14 @@
"type": "string"
}
},
+ {
+ "name": "visibility",
+ "required": false,
+ "in": "query",
+ "schema": {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
+ },
{
"name": "withPartners",
"required": false,
@@ -7053,14 +7186,6 @@
"type": "string"
}
},
- {
- "name": "isArchived",
- "required": false,
- "in": "query",
- "schema": {
- "type": "boolean"
- }
- },
{
"name": "isFavorite",
"required": false,
@@ -7128,6 +7253,14 @@
"type": "string"
}
},
+ {
+ "name": "visibility",
+ "required": false,
+ "in": "query",
+ "schema": {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
+ },
{
"name": "withPartners",
"required": false,
@@ -8273,9 +8406,6 @@
},
"type": "array"
},
- "isArchived": {
- "type": "boolean"
- },
"isFavorite": {
"type": "boolean"
},
@@ -8289,6 +8419,13 @@
"maximum": 5,
"minimum": -1,
"type": "number"
+ },
+ "visibility": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
+ ]
}
},
"required": [
@@ -8713,15 +8850,9 @@
"format": "date-time",
"type": "string"
},
- "isArchived": {
- "type": "boolean"
- },
"isFavorite": {
"type": "boolean"
},
- "isVisible": {
- "type": "boolean"
- },
"livePhotoVideoId": {
"format": "uuid",
"type": "string"
@@ -8729,6 +8860,13 @@
"sidecarData": {
"format": "binary",
"type": "string"
+ },
+ "visibility": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
+ ]
}
},
"required": [
@@ -9009,6 +9147,14 @@
],
"type": "string"
},
+ "AssetVisibility": {
+ "enum": [
+ "archive",
+ "timeline",
+ "hidden"
+ ],
+ "type": "string"
+ },
"AudioCodec": {
"enum": [
"mp3",
@@ -9018,6 +9164,21 @@
],
"type": "string"
},
+ "AuthStatusResponseDto": {
+ "properties": {
+ "password": {
+ "type": "boolean"
+ },
+ "pinCode": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "password",
+ "pinCode"
+ ],
+ "type": "object"
+ },
"AvatarUpdate": {
"properties": {
"color": {
@@ -10204,9 +10365,6 @@
"format": "uuid",
"type": "string"
},
- "isArchived": {
- "type": "boolean"
- },
"isEncoded": {
"type": "boolean"
},
@@ -10222,9 +10380,6 @@
"isOffline": {
"type": "boolean"
},
- "isVisible": {
- "type": "boolean"
- },
"lensModel": {
"nullable": true,
"type": "string"
@@ -10324,9 +10479,12 @@
"format": "date-time",
"type": "string"
},
- "withArchived": {
- "default": false,
- "type": "boolean"
+ "visibility": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
+ ]
},
"withDeleted": {
"type": "boolean"
@@ -10954,6 +11112,37 @@
],
"type": "object"
},
+ "PinCodeChangeDto": {
+ "properties": {
+ "newPinCode": {
+ "example": "123456",
+ "type": "string"
+ },
+ "password": {
+ "type": "string"
+ },
+ "pinCode": {
+ "example": "123456",
+ "type": "string"
+ }
+ },
+ "required": [
+ "newPinCode"
+ ],
+ "type": "object"
+ },
+ "PinCodeSetupDto": {
+ "properties": {
+ "pinCode": {
+ "example": "123456",
+ "type": "string"
+ }
+ },
+ "required": [
+ "pinCode"
+ ],
+ "type": "object"
+ },
"PlacesResponseDto": {
"properties": {
"admin1name": {
@@ -11041,9 +11230,6 @@
"deviceId": {
"type": "string"
},
- "isArchived": {
- "type": "boolean"
- },
"isEncoded": {
"type": "boolean"
},
@@ -11059,9 +11245,6 @@
"isOffline": {
"type": "boolean"
},
- "isVisible": {
- "type": "boolean"
- },
"lensModel": {
"nullable": true,
"type": "string"
@@ -11137,9 +11320,12 @@
"format": "date-time",
"type": "string"
},
- "withArchived": {
- "default": false,
- "type": "boolean"
+ "visibility": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
+ ]
},
"withDeleted": {
"type": "boolean"
@@ -11989,9 +12175,6 @@
"deviceId": {
"type": "string"
},
- "isArchived": {
- "type": "boolean"
- },
"isEncoded": {
"type": "boolean"
},
@@ -12007,9 +12190,6 @@
"isOffline": {
"type": "boolean"
},
- "isVisible": {
- "type": "boolean"
- },
"language": {
"type": "string"
},
@@ -12095,9 +12275,12 @@
"format": "date-time",
"type": "string"
},
- "withArchived": {
- "default": false,
- "type": "boolean"
+ "visibility": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
+ ]
},
"withDeleted": {
"type": "boolean"
@@ -12381,9 +12564,6 @@
"isFavorite": {
"type": "boolean"
},
- "isVisible": {
- "type": "boolean"
- },
"localDateTime": {
"format": "date-time",
"nullable": true,
@@ -12404,6 +12584,14 @@
"OTHER"
],
"type": "string"
+ },
+ "visibility": {
+ "enum": [
+ "archive",
+ "timeline",
+ "hidden"
+ ],
+ "type": "string"
}
},
"required": [
@@ -12413,11 +12601,11 @@
"fileModifiedAt",
"id",
"isFavorite",
- "isVisible",
"localDateTime",
"ownerId",
"thumbhash",
- "type"
+ "type",
+ "visibility"
],
"type": "object"
},
@@ -13671,9 +13859,6 @@
"description": {
"type": "string"
},
- "isArchived": {
- "type": "boolean"
- },
"isFavorite": {
"type": "boolean"
},
@@ -13692,6 +13877,13 @@
"maximum": 5,
"minimum": -1,
"type": "number"
+ },
+ "visibility": {
+ "allOf": [
+ {
+ "$ref": "#/components/schemas/AssetVisibility"
+ }
+ ]
}
},
"type": "object"
@@ -13945,6 +14137,11 @@
"password": {
"type": "string"
},
+ "pinCode": {
+ "example": "123456",
+ "nullable": true,
+ "type": "string"
+ },
"quotaSizeInBytes": {
"format": "int64",
"minimum": 0,
diff --git a/open-api/typescript-sdk/src/fetch-client.ts b/open-api/typescript-sdk/src/fetch-client.ts
index 20fb72b486..41898e12da 100644
--- a/open-api/typescript-sdk/src/fetch-client.ts
+++ b/open-api/typescript-sdk/src/fetch-client.ts
@@ -123,6 +123,7 @@ export type UserAdminUpdateDto = {
email?: string;
name?: string;
password?: string;
+ pinCode?: string | null;
quotaSizeInBytes?: number | null;
shouldChangePassword?: boolean;
storageLabel?: string | null;
@@ -413,11 +414,10 @@ export type AssetMediaCreateDto = {
duration?: string;
fileCreatedAt: string;
fileModifiedAt: string;
- isArchived?: boolean;
isFavorite?: boolean;
- isVisible?: boolean;
livePhotoVideoId?: string;
sidecarData?: Blob;
+ visibility?: AssetVisibility;
};
export type AssetMediaResponseDto = {
id: string;
@@ -427,11 +427,11 @@ export type AssetBulkUpdateDto = {
dateTimeOriginal?: string;
duplicateId?: string | null;
ids: string[];
- isArchived?: boolean;
isFavorite?: boolean;
latitude?: number;
longitude?: number;
rating?: number;
+ visibility?: AssetVisibility;
};
export type AssetBulkUploadCheckItem = {
/** base64 or hex encoded sha1 hash */
@@ -470,12 +470,12 @@ export type AssetStatsResponseDto = {
export type UpdateAssetDto = {
dateTimeOriginal?: string;
description?: string;
- isArchived?: boolean;
isFavorite?: boolean;
latitude?: number;
livePhotoVideoId?: string | null;
longitude?: number;
rating?: number;
+ visibility?: AssetVisibility;
};
export type AssetMediaReplaceDto = {
assetData: Blob;
@@ -511,6 +511,18 @@ export type LogoutResponseDto = {
redirectUri: string;
successful: boolean;
};
+export type PinCodeChangeDto = {
+ newPinCode: string;
+ password?: string;
+ pinCode?: string;
+};
+export type PinCodeSetupDto = {
+ pinCode: string;
+};
+export type AuthStatusResponseDto = {
+ password: boolean;
+ pinCode: boolean;
+};
export type ValidateAccessTokenResponseDto = {
authStatus: boolean;
};
@@ -815,13 +827,11 @@ export type MetadataSearchDto = {
deviceId?: string;
encodedVideoPath?: string;
id?: string;
- isArchived?: boolean;
isEncoded?: boolean;
isFavorite?: boolean;
isMotion?: boolean;
isNotInAlbum?: boolean;
isOffline?: boolean;
- isVisible?: boolean;
lensModel?: string | null;
libraryId?: string | null;
make?: string;
@@ -844,7 +854,7 @@ export type MetadataSearchDto = {
"type"?: AssetTypeEnum;
updatedAfter?: string;
updatedBefore?: string;
- withArchived?: boolean;
+ visibility?: AssetVisibility;
withDeleted?: boolean;
withExif?: boolean;
withPeople?: boolean;
@@ -888,13 +898,11 @@ export type RandomSearchDto = {
createdAfter?: string;
createdBefore?: string;
deviceId?: string;
- isArchived?: boolean;
isEncoded?: boolean;
isFavorite?: boolean;
isMotion?: boolean;
isNotInAlbum?: boolean;
isOffline?: boolean;
- isVisible?: boolean;
lensModel?: string | null;
libraryId?: string | null;
make?: string;
@@ -911,7 +919,7 @@ export type RandomSearchDto = {
"type"?: AssetTypeEnum;
updatedAfter?: string;
updatedBefore?: string;
- withArchived?: boolean;
+ visibility?: AssetVisibility;
withDeleted?: boolean;
withExif?: boolean;
withPeople?: boolean;
@@ -923,13 +931,11 @@ export type SmartSearchDto = {
createdAfter?: string;
createdBefore?: string;
deviceId?: string;
- isArchived?: boolean;
isEncoded?: boolean;
isFavorite?: boolean;
isMotion?: boolean;
isNotInAlbum?: boolean;
isOffline?: boolean;
- isVisible?: boolean;
language?: string;
lensModel?: string | null;
libraryId?: string | null;
@@ -949,7 +955,7 @@ export type SmartSearchDto = {
"type"?: AssetTypeEnum;
updatedAfter?: string;
updatedBefore?: string;
- withArchived?: boolean;
+ visibility?: AssetVisibility;
withDeleted?: boolean;
withExif?: boolean;
};
@@ -1877,18 +1883,18 @@ export function getRandom({ count }: {
...opts
}));
}
-export function getAssetStatistics({ isArchived, isFavorite, isTrashed }: {
- isArchived?: boolean;
+export function getAssetStatistics({ isFavorite, isTrashed, visibility }: {
isFavorite?: boolean;
isTrashed?: boolean;
+ visibility?: AssetVisibility;
}, opts?: Oazapfts.RequestOpts) {
return oazapfts.ok(oazapfts.fetchJson<{
status: 200;
data: AssetStatsResponseDto;
}>(`/assets/statistics${QS.query(QS.explode({
- isArchived,
isFavorite,
- isTrashed
+ isTrashed,
+ visibility
}))}`, {
...opts
}));
@@ -2024,6 +2030,41 @@ export function logout(opts?: Oazapfts.RequestOpts) {
method: "POST"
}));
}
+export function resetPinCode({ pinCodeChangeDto }: {
+ pinCodeChangeDto: PinCodeChangeDto;
+}, opts?: Oazapfts.RequestOpts) {
+ return oazapfts.ok(oazapfts.fetchText("/auth/pin-code", oazapfts.json({
+ ...opts,
+ method: "DELETE",
+ body: pinCodeChangeDto
+ })));
+}
+export function setupPinCode({ pinCodeSetupDto }: {
+ pinCodeSetupDto: PinCodeSetupDto;
+}, opts?: Oazapfts.RequestOpts) {
+ return oazapfts.ok(oazapfts.fetchText("/auth/pin-code", oazapfts.json({
+ ...opts,
+ method: "POST",
+ body: pinCodeSetupDto
+ })));
+}
+export function changePinCode({ pinCodeChangeDto }: {
+ pinCodeChangeDto: PinCodeChangeDto;
+}, opts?: Oazapfts.RequestOpts) {
+ return oazapfts.ok(oazapfts.fetchText("/auth/pin-code", oazapfts.json({
+ ...opts,
+ method: "PUT",
+ body: pinCodeChangeDto
+ })));
+}
+export function getAuthStatus(opts?: Oazapfts.RequestOpts) {
+ return oazapfts.ok(oazapfts.fetchJson<{
+ status: 200;
+ data: AuthStatusResponseDto;
+ }>("/auth/status", {
+ ...opts
+ }));
+}
export function validateAccessToken(opts?: Oazapfts.RequestOpts) {
return oazapfts.ok(oazapfts.fetchJson<{
status: 200;
@@ -3242,9 +3283,8 @@ export function tagAssets({ id, bulkIdsDto }: {
body: bulkIdsDto
})));
}
-export function getTimeBucket({ albumId, isArchived, isFavorite, isTrashed, key, order, personId, size, tagId, timeBucket, userId, withPartners, withStacked }: {
+export function getTimeBucket({ albumId, isFavorite, isTrashed, key, order, personId, size, tagId, timeBucket, userId, visibility, withPartners, withStacked }: {
albumId?: string;
- isArchived?: boolean;
isFavorite?: boolean;
isTrashed?: boolean;
key?: string;
@@ -3254,6 +3294,7 @@ export function getTimeBucket({ albumId, isArchived, isFavorite, isTrashed, key,
tagId?: string;
timeBucket: string;
userId?: string;
+ visibility?: AssetVisibility;
withPartners?: boolean;
withStacked?: boolean;
}, opts?: Oazapfts.RequestOpts) {
@@ -3262,7 +3303,6 @@ export function getTimeBucket({ albumId, isArchived, isFavorite, isTrashed, key,
data: AssetResponseDto[];
}>(`/timeline/bucket${QS.query(QS.explode({
albumId,
- isArchived,
isFavorite,
isTrashed,
key,
@@ -3272,15 +3312,15 @@ export function getTimeBucket({ albumId, isArchived, isFavorite, isTrashed, key,
tagId,
timeBucket,
userId,
+ visibility,
withPartners,
withStacked
}))}`, {
...opts
}));
}
-export function getTimeBuckets({ albumId, isArchived, isFavorite, isTrashed, key, order, personId, size, tagId, userId, withPartners, withStacked }: {
+export function getTimeBuckets({ albumId, isFavorite, isTrashed, key, order, personId, size, tagId, userId, visibility, withPartners, withStacked }: {
albumId?: string;
- isArchived?: boolean;
isFavorite?: boolean;
isTrashed?: boolean;
key?: string;
@@ -3289,6 +3329,7 @@ export function getTimeBuckets({ albumId, isArchived, isFavorite, isTrashed, key
size: TimeBucketSize;
tagId?: string;
userId?: string;
+ visibility?: AssetVisibility;
withPartners?: boolean;
withStacked?: boolean;
}, opts?: Oazapfts.RequestOpts) {
@@ -3297,7 +3338,6 @@ export function getTimeBuckets({ albumId, isArchived, isFavorite, isTrashed, key
data: TimeBucketResponseDto[];
}>(`/timeline/buckets${QS.query(QS.explode({
albumId,
- isArchived,
isFavorite,
isTrashed,
key,
@@ -3306,6 +3346,7 @@ export function getTimeBuckets({ albumId, isArchived, isFavorite, isTrashed, key
size,
tagId,
userId,
+ visibility,
withPartners,
withStacked
}))}`, {
@@ -3620,6 +3661,11 @@ export enum Permission {
AdminUserUpdate = "admin.user.update",
AdminUserDelete = "admin.user.delete"
}
+export enum AssetVisibility {
+ Archive = "archive",
+ Timeline = "timeline",
+ Hidden = "hidden"
+}
export enum AssetMediaStatus {
Created = "created",
Replaced = "replaced",
diff --git a/server/package-lock.json b/server/package-lock.json
index 06152e9335..464b2925d4 100644
--- a/server/package-lock.json
+++ b/server/package-lock.json
@@ -23,7 +23,7 @@
"@opentelemetry/context-async-hooks": "^2.0.0",
"@opentelemetry/exporter-prometheus": "^0.200.0",
"@opentelemetry/sdk-node": "^0.200.0",
- "@react-email/components": "^0.0.36",
+ "@react-email/components": "^0.0.38",
"@socket.io/redis-adapter": "^8.3.0",
"archiver": "^7.0.0",
"async-lock": "^1.4.0",
@@ -1016,9 +1016,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "9.25.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz",
- "integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==",
+ "version": "9.26.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz",
+ "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2118,6 +2118,28 @@
"integrity": "sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==",
"license": "MIT"
},
+ "node_modules/@modelcontextprotocol/sdk": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.1.tgz",
+ "integrity": "sha512-9LfmxKTb1v+vUS1/emSk1f5ePmTLkb9Le9AxOB5T0XM59EUumwcS45z05h7aiZx3GI0Bl7mjb3FMEglYj+acuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^1.0.5",
+ "cors": "^2.8.5",
+ "cross-spawn": "^7.0.3",
+ "eventsource": "^3.0.2",
+ "express": "^5.0.1",
+ "express-rate-limit": "^7.5.0",
+ "pkce-challenge": "^5.0.0",
+ "raw-body": "^3.0.0",
+ "zod": "^3.23.8",
+ "zod-to-json-schema": "^3.24.1"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
"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",
@@ -2608,9 +2630,9 @@
}
},
"node_modules/@nestjs/swagger": {
- "version": "11.1.5",
- "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.1.5.tgz",
- "integrity": "sha512-qVkyUSCvEmfTVWK92hsCeOQaOODlyBGkZC4ldqb4Fi0Gg8/kOWlcPJVN6i4a9edYYSdICUkGnt6UVFgi59fSrQ==",
+ "version": "11.1.6",
+ "resolved": "https://registry.npmjs.org/@nestjs/swagger/-/swagger-11.1.6.tgz",
+ "integrity": "sha512-W5OyhLqUHg8CDy4GC5LBYOyGIq3dxhKNliBZ7xf2Q95+oDzptb3LGp8vwwf1ItEjyGdxM+USDStQPg2oAcxEgw==",
"license": "MIT",
"dependencies": {
"@microsoft/tsdoc": "0.15.1",
@@ -2952,22 +2974,22 @@
}
},
"node_modules/@opentelemetry/auto-instrumentations-node": {
- "version": "0.58.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/auto-instrumentations-node/-/auto-instrumentations-node-0.58.0.tgz",
- "integrity": "sha512-gtqPqkXp8TG6vrmbzAJUKjJm3nrCiVGgImlV1tj8lsVqpnKDCB1Kl7bCcXod36+Tq/O4rCeTDmW90dCHeuv9jQ==",
+ "version": "0.58.1",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/auto-instrumentations-node/-/auto-instrumentations-node-0.58.1.tgz",
+ "integrity": "sha512-hAsNw5XtFTytQ6GrCspIwKKSamXQGfAvRfqOL93VTqaI1WFBhndyXsNrjAzqULvK0JwMJOuZb77ckdrvJrW3vA==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/instrumentation": "^0.200.0",
"@opentelemetry/instrumentation-amqplib": "^0.47.0",
- "@opentelemetry/instrumentation-aws-lambda": "^0.51.0",
- "@opentelemetry/instrumentation-aws-sdk": "^0.51.0",
+ "@opentelemetry/instrumentation-aws-lambda": "^0.51.1",
+ "@opentelemetry/instrumentation-aws-sdk": "^0.52.0",
"@opentelemetry/instrumentation-bunyan": "^0.46.0",
"@opentelemetry/instrumentation-cassandra-driver": "^0.46.0",
"@opentelemetry/instrumentation-connect": "^0.44.0",
"@opentelemetry/instrumentation-cucumber": "^0.15.0",
"@opentelemetry/instrumentation-dataloader": "^0.17.0",
"@opentelemetry/instrumentation-dns": "^0.44.0",
- "@opentelemetry/instrumentation-express": "^0.48.1",
+ "@opentelemetry/instrumentation-express": "^0.49.0",
"@opentelemetry/instrumentation-fastify": "^0.45.0",
"@opentelemetry/instrumentation-fs": "^0.20.0",
"@opentelemetry/instrumentation-generic-pool": "^0.44.0",
@@ -2976,13 +2998,13 @@
"@opentelemetry/instrumentation-hapi": "^0.46.0",
"@opentelemetry/instrumentation-http": "^0.200.0",
"@opentelemetry/instrumentation-ioredis": "^0.48.0",
- "@opentelemetry/instrumentation-kafkajs": "^0.9.1",
+ "@opentelemetry/instrumentation-kafkajs": "^0.9.2",
"@opentelemetry/instrumentation-knex": "^0.45.0",
"@opentelemetry/instrumentation-koa": "^0.48.0",
"@opentelemetry/instrumentation-lru-memoizer": "^0.45.0",
"@opentelemetry/instrumentation-memcached": "^0.44.0",
"@opentelemetry/instrumentation-mongodb": "^0.53.0",
- "@opentelemetry/instrumentation-mongoose": "^0.47.0",
+ "@opentelemetry/instrumentation-mongoose": "^0.47.1",
"@opentelemetry/instrumentation-mysql": "^0.46.0",
"@opentelemetry/instrumentation-mysql2": "^0.46.0",
"@opentelemetry/instrumentation-nestjs-core": "^0.46.0",
@@ -3308,9 +3330,9 @@
}
},
"node_modules/@opentelemetry/instrumentation-aws-lambda": {
- "version": "0.51.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-lambda/-/instrumentation-aws-lambda-0.51.0.tgz",
- "integrity": "sha512-yPtnDum6vykhxA1xZ2kKc3DGmrLdbRAkJG0HiQUcOas47j716wmtqsLCctHyXgO0NpmS/BCzbUnOxxPG6kln7A==",
+ "version": "0.51.1",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-lambda/-/instrumentation-aws-lambda-0.51.1.tgz",
+ "integrity": "sha512-DxUihz1ZcJtkCKFMnsr5IpQtU1TFnz/QhTEkcb95yfVvmdWx97ezbcxE4lGFjvQYMT8q2NsZjor8s8W/jrMU2w==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/instrumentation": "^0.200.0",
@@ -3325,9 +3347,9 @@
}
},
"node_modules/@opentelemetry/instrumentation-aws-sdk": {
- "version": "0.51.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.51.0.tgz",
- "integrity": "sha512-NfmdJqrgJyAPGzPJk2bNl8vBn2kbDIHyTmKVNWhcQWh0VCA5aspi75Gsp5tHmLqk26VAtVtUEDZwK3nApFEtzw==",
+ "version": "0.52.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.52.0.tgz",
+ "integrity": "sha512-xMnghwQP/vO9hNNufaHW3SgNprifLPqmssAQ/zjRopbxa6wpBqunWfKYRRoyu89Xlw0X8/hGNoPEh+CIocCryg==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
@@ -3440,9 +3462,9 @@
}
},
"node_modules/@opentelemetry/instrumentation-express": {
- "version": "0.48.1",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.48.1.tgz",
- "integrity": "sha512-j8NYOf9DRWtchbWor/zA0poI42TpZG9tViIKA0e1lC+6MshTqSJYtgNv8Fn1sx1Wn/TRyp+5OgSXiE4LDfvpEg==",
+ "version": "0.49.0",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.49.0.tgz",
+ "integrity": "sha512-j1hbIZzbu7jLQfI/Hz0wHDaniiSWdC3B8/UdH0CEd4lcO8y0pQlz4UTReBaL1BzbkwUhbg6oHuK+m8DXklQPtA==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
@@ -3588,9 +3610,9 @@
}
},
"node_modules/@opentelemetry/instrumentation-kafkajs": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.9.1.tgz",
- "integrity": "sha512-eGl5WKBqd0unOKm7PJKjEa1G+ac9nvpDjyv870nUYuSnUkyDc/Fag5keddIjHixTJwRp3FmyP7n+AadAjh52Vw==",
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.9.2.tgz",
+ "integrity": "sha512-aRnrLK3gQv6LP64oiXEDdRVwxNe7AvS98SCtNWEGhHy4nv3CdxpN7b7NU53g3PCF7uPQZ1fVW2C6Xc2tt1SIkg==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/instrumentation": "^0.200.0",
@@ -3685,9 +3707,9 @@
}
},
"node_modules/@opentelemetry/instrumentation-mongoose": {
- "version": "0.47.0",
- "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.47.0.tgz",
- "integrity": "sha512-zg4ixMNmuACda75eOFa1m5h794zC9wp397stX0LAZvOylSb6dWT52P6ElkVQMV42C/27liEdQWxpabsamB+XPQ==",
+ "version": "0.47.1",
+ "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.47.1.tgz",
+ "integrity": "sha512-0OcL5YpZX9PtF55Oi1RtWUdjElJscR9u6NzAdww81EQc3wFfQWmdREUEBeWaDH5jpiomdFp6zDXms622ofEOjg==",
"license": "Apache-2.0",
"dependencies": {
"@opentelemetry/core": "^2.0.0",
@@ -4407,12 +4429,12 @@
}
},
"node_modules/@react-email/code-block": {
- "version": "0.0.12",
- "resolved": "https://registry.npmjs.org/@react-email/code-block/-/code-block-0.0.12.tgz",
- "integrity": "sha512-Faw3Ij9+/Qwq6moWaeHnV8Hn7ekc/EqyAzPi6yUar21dhcqYugCC4Da1x4d9nA9zC0H9KU3lYVJczh8D3cA+Eg==",
+ "version": "0.0.13",
+ "resolved": "https://registry.npmjs.org/@react-email/code-block/-/code-block-0.0.13.tgz",
+ "integrity": "sha512-4DE4yPSgKEOnZMzcrDvRuD6mxsNxOex0hCYEG9F9q23geYgb2WCCeGBvIUXVzK69l703Dg4Vzrd5qUjl+JfcwA==",
"license": "MIT",
"dependencies": {
- "prismjs": "1.30.0"
+ "prismjs": "^1.30.0"
},
"engines": {
"node": ">=18.0.0"
@@ -4446,14 +4468,14 @@
}
},
"node_modules/@react-email/components": {
- "version": "0.0.36",
- "resolved": "https://registry.npmjs.org/@react-email/components/-/components-0.0.36.tgz",
- "integrity": "sha512-VMh+OQplAnG8JMLlJjdnjt+ThJZ+JVkp0q2YMS2NEz+T88N22bLD2p7DZO0QgtNaKgumOhJI/0a2Q7VzCrwu5g==",
+ "version": "0.0.38",
+ "resolved": "https://registry.npmjs.org/@react-email/components/-/components-0.0.38.tgz",
+ "integrity": "sha512-2cjMBZsSPjD1Iyur/MzGrgW/n5A6ONOJQ97pNaVOClxz/EaqNZTo1lFmKdH7p54P7LG9ZxRXxoTe2075VCCGQA==",
"license": "MIT",
"dependencies": {
"@react-email/body": "0.0.11",
"@react-email/button": "0.0.19",
- "@react-email/code-block": "0.0.12",
+ "@react-email/code-block": "0.0.13",
"@react-email/code-inline": "0.0.5",
"@react-email/column": "0.0.13",
"@react-email/container": "0.0.15",
@@ -4464,13 +4486,13 @@
"@react-email/html": "0.0.11",
"@react-email/img": "0.0.11",
"@react-email/link": "0.0.12",
- "@react-email/markdown": "0.0.14",
+ "@react-email/markdown": "0.0.15",
"@react-email/preview": "0.0.12",
- "@react-email/render": "1.0.6",
+ "@react-email/render": "1.1.0",
"@react-email/row": "0.0.12",
"@react-email/section": "0.0.16",
- "@react-email/tailwind": "1.0.4",
- "@react-email/text": "0.1.1"
+ "@react-email/tailwind": "1.0.5",
+ "@react-email/text": "0.1.3"
},
"engines": {
"node": ">=18.0.0"
@@ -4573,12 +4595,12 @@
}
},
"node_modules/@react-email/markdown": {
- "version": "0.0.14",
- "resolved": "https://registry.npmjs.org/@react-email/markdown/-/markdown-0.0.14.tgz",
- "integrity": "sha512-5IsobCyPkb4XwnQO8uFfGcNOxnsg3311GRXhJ3uKv51P7Jxme4ycC/MITnwIZ10w2zx7HIyTiqVzTj4XbuIHbg==",
+ "version": "0.0.15",
+ "resolved": "https://registry.npmjs.org/@react-email/markdown/-/markdown-0.0.15.tgz",
+ "integrity": "sha512-UQA9pVm5sbflgtg3EX3FquUP4aMBzmLReLbGJ6DZQZnAskBF36aI56cRykDq1o+1jT+CKIK1CducPYziaXliag==",
"license": "MIT",
"dependencies": {
- "md-to-react-email": "5.0.5"
+ "md-to-react-email": "^5.0.5"
},
"engines": {
"node": ">=18.0.0"
@@ -4600,14 +4622,14 @@
}
},
"node_modules/@react-email/render": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/@react-email/render/-/render-1.0.6.tgz",
- "integrity": "sha512-zNueW5Wn/4jNC1c5LFgXzbUdv5Lhms+FWjOvWAhal7gx5YVf0q6dPJ0dnR70+ifo59gcMLwCZEaTS9EEuUhKvQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@react-email/render/-/render-1.1.0.tgz",
+ "integrity": "sha512-X4CsHvXi5X7kTn5NgXNGg8Y5U1VtVJmlpNLlTc2E8RVHKFS3bpr+o/ZXhEPN4yRkdY+ZYN5eqVTV922Hujqsxw==",
"license": "MIT",
"dependencies": {
- "html-to-text": "9.0.5",
- "prettier": "3.5.3",
- "react-promise-suspense": "0.3.4"
+ "html-to-text": "^9.0.5",
+ "prettier": "^3.5.3",
+ "react-promise-suspense": "^0.3.4"
},
"engines": {
"node": ">=18.0.0"
@@ -4642,9 +4664,9 @@
}
},
"node_modules/@react-email/tailwind": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@react-email/tailwind/-/tailwind-1.0.4.tgz",
- "integrity": "sha512-tJdcusncdqgvTUYZIuhNC6LYTfL9vNTSQpwWdTCQhQ1lsrNCEE4OKCSdzSV3S9F32pi0i0xQ+YPJHKIzGjdTSA==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@react-email/tailwind/-/tailwind-1.0.5.tgz",
+ "integrity": "sha512-BH00cZSeFfP9HiDASl+sPHi7Hh77W5nzDgdnxtsVr/m3uQD9g180UwxcE3PhOfx0vRdLzQUU8PtmvvDfbztKQg==",
"license": "MIT",
"engines": {
"node": ">=18.0.0"
@@ -4654,9 +4676,9 @@
}
},
"node_modules/@react-email/text": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@react-email/text/-/text-0.1.1.tgz",
- "integrity": "sha512-Zo9tSEzkO3fODLVH1yVhzVCiwETfeEL5wU93jXKWo2DHoMuiZ9Iabaso3T0D0UjhrCB1PBMeq2YiejqeToTyIQ==",
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@react-email/text/-/text-0.1.3.tgz",
+ "integrity": "sha512-H22KR54MXUg29a+1/lTfg9oCQA65V8+TL4v19OzV7RsOxnEnzGOc287XKh8vc+v7ENewrMV97BzUPOnKz3bqkA==",
"license": "MIT",
"engines": {
"node": ">=18.0.0"
@@ -4804,9 +4826,9 @@
"license": "MIT"
},
"node_modules/@swc/core": {
- "version": "1.11.21",
- "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.21.tgz",
- "integrity": "sha512-/Y3BJLcwd40pExmdar8MH2UGGvCBrqNN7hauOMckrEX2Ivcbv3IMhrbGX4od1dnF880Ed8y/E9aStZCIQi0EGw==",
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.24.tgz",
+ "integrity": "sha512-MaQEIpfcEMzx3VWWopbofKJvaraqmL6HbLlw2bFZ7qYqYw3rkhM0cQVEgyzbHtTWwCwPMFZSC2DUbhlZgrMfLg==",
"dev": true,
"hasInstallScript": true,
"license": "Apache-2.0",
@@ -4822,16 +4844,16 @@
"url": "https://opencollective.com/swc"
},
"optionalDependencies": {
- "@swc/core-darwin-arm64": "1.11.21",
- "@swc/core-darwin-x64": "1.11.21",
- "@swc/core-linux-arm-gnueabihf": "1.11.21",
- "@swc/core-linux-arm64-gnu": "1.11.21",
- "@swc/core-linux-arm64-musl": "1.11.21",
- "@swc/core-linux-x64-gnu": "1.11.21",
- "@swc/core-linux-x64-musl": "1.11.21",
- "@swc/core-win32-arm64-msvc": "1.11.21",
- "@swc/core-win32-ia32-msvc": "1.11.21",
- "@swc/core-win32-x64-msvc": "1.11.21"
+ "@swc/core-darwin-arm64": "1.11.24",
+ "@swc/core-darwin-x64": "1.11.24",
+ "@swc/core-linux-arm-gnueabihf": "1.11.24",
+ "@swc/core-linux-arm64-gnu": "1.11.24",
+ "@swc/core-linux-arm64-musl": "1.11.24",
+ "@swc/core-linux-x64-gnu": "1.11.24",
+ "@swc/core-linux-x64-musl": "1.11.24",
+ "@swc/core-win32-arm64-msvc": "1.11.24",
+ "@swc/core-win32-ia32-msvc": "1.11.24",
+ "@swc/core-win32-x64-msvc": "1.11.24"
},
"peerDependencies": {
"@swc/helpers": ">=0.5.17"
@@ -4842,10 +4864,95 @@
}
}
},
+ "node_modules/@swc/core-darwin-arm64": {
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.11.24.tgz",
+ "integrity": "sha512-dhtVj0PC1APOF4fl5qT2neGjRLgHAAYfiVP8poJelhzhB/318bO+QCFWAiimcDoyMgpCXOhTp757gnoJJrheWA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-darwin-x64": {
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.11.24.tgz",
+ "integrity": "sha512-H/3cPs8uxcj2Fe3SoLlofN5JG6Ny5bl8DuZ6Yc2wr7gQFBmyBkbZEz+sPVgsID7IXuz7vTP95kMm1VL74SO5AQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm-gnueabihf": {
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.11.24.tgz",
+ "integrity": "sha512-PHJgWEpCsLo/NGj+A2lXZ2mgGjsr96ULNW3+T3Bj2KTc8XtMUkE8tmY2Da20ItZOvPNC/69KroU7edyo1Flfbw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-gnu": {
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.11.24.tgz",
+ "integrity": "sha512-C2FJb08+n5SD4CYWCTZx1uR88BN41ZieoHvI8A55hfVf2woT8+6ZiBzt74qW2g+ntZ535Jts5VwXAKdu41HpBg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-musl": {
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.11.24.tgz",
+ "integrity": "sha512-ypXLIdszRo0re7PNNaXN0+2lD454G8l9LPK/rbfRXnhLWDBPURxzKlLlU/YGd2zP98wPcVooMmegRSNOKfvErw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@swc/core-linux-x64-gnu": {
- "version": "1.11.21",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.21.tgz",
- "integrity": "sha512-NesdBXv4CvVEaFUlqKj+GA4jJMNUzK2NtKOrUNEtTbXaVyNiXjFCSaDajMTedEB0jTAd9ybB0aBvwhgkJUWkWA==",
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.11.24.tgz",
+ "integrity": "sha512-IM7d+STVZD48zxcgo69L0yYptfhaaE9cMZ+9OoMxirNafhKKXwoZuufol1+alEFKc+Wbwp+aUPe/DeWC/Lh3dg==",
"cpu": [
"x64"
],
@@ -4860,9 +4967,9 @@
}
},
"node_modules/@swc/core-linux-x64-musl": {
- "version": "1.11.21",
- "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.21.tgz",
- "integrity": "sha512-qFV60pwpKVOdmX67wqQzgtSrUGWX9Cibnp1CXyqZ9Mmt8UyYGvmGu7p6PMbTyX7vdpVUvWVRf8DzrW2//wmVHg==",
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.11.24.tgz",
+ "integrity": "sha512-DZByJaMVzSfjQKKQn3cqSeqwy6lpMaQDQQ4HPlch9FWtDx/dLcpdIhxssqZXcR2rhaQVIaRQsCqwV6orSDGAGw==",
"cpu": [
"x64"
],
@@ -4876,6 +4983,57 @@
"node": ">=10"
}
},
+ "node_modules/@swc/core-win32-arm64-msvc": {
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.11.24.tgz",
+ "integrity": "sha512-Q64Ytn23y9aVDKN5iryFi8mRgyHw3/kyjTjT4qFCa8AEb5sGUuSj//AUZ6c0J7hQKMHlg9do5Etvoe61V98/JQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-ia32-msvc": {
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.11.24.tgz",
+ "integrity": "sha512-9pKLIisE/Hh2vJhGIPvSoTK4uBSPxNVyXHmOrtdDot4E1FUUI74Vi8tFdlwNbaj8/vusVnb8xPXsxF1uB0VgiQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-x64-msvc": {
+ "version": "1.11.24",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.11.24.tgz",
+ "integrity": "sha512-sybnXtOsdB+XvzVFlBVGgRHLqp3yRpHK7CrmpuDKszhj/QhmsaZzY/GHSeALlMtLup13M0gqbcQvsTNlAHTg3w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0 AND MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/@swc/counter": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
@@ -4905,23 +5063,23 @@
}
},
"node_modules/@testcontainers/postgresql": {
- "version": "10.24.2",
- "resolved": "https://registry.npmjs.org/@testcontainers/postgresql/-/postgresql-10.24.2.tgz",
- "integrity": "sha512-s4k/QVSmpXFzxNBeft84x172Hx5tNiGeDRWwU8iOAHjtcnyXd4aBORF0GruNojTo7TOIuAM0ArBZUMqRBLJKwQ==",
+ "version": "10.25.0",
+ "resolved": "https://registry.npmjs.org/@testcontainers/postgresql/-/postgresql-10.25.0.tgz",
+ "integrity": "sha512-VkpqpX9YZ8aq4wfk6sJRopGTmlBdE1kErzAFWJ/1pY/XrEZ7nxdfFBG+En2icQnbv3BIFQYysEKxEFMNB+hQVw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "testcontainers": "^10.24.2"
+ "testcontainers": "^10.25.0"
}
},
"node_modules/@testcontainers/redis": {
- "version": "10.24.2",
- "resolved": "https://registry.npmjs.org/@testcontainers/redis/-/redis-10.24.2.tgz",
- "integrity": "sha512-m4/FZW5ltZPaK9pQTKNipjpBk73Vdj7Ql3sFr26A9dOr0wJyM3Wnc9jeHTNRal7RDnY5rvumXAIUWbBlvKMJEw==",
+ "version": "10.25.0",
+ "resolved": "https://registry.npmjs.org/@testcontainers/redis/-/redis-10.25.0.tgz",
+ "integrity": "sha512-ALNrrnYnB59kV5c/EjiUkzn0roCtcnOu2KfHHF8xBi3vq3dYSqzADL8rL2BExeoFhyaEtlUT9P4ZecRB60O+/Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "testcontainers": "^10.24.2"
+ "testcontainers": "^10.25.0"
}
},
"node_modules/@tokenizer/inflate": {
@@ -5527,17 +5685,17 @@
"license": "MIT"
},
"node_modules/@typescript-eslint/eslint-plugin": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.0.tgz",
- "integrity": "sha512-evaQJZ/J/S4wisevDvC1KFZkPzRetH8kYZbkgcTRyql3mcKsf+ZFDV1BVWUGTCAW5pQHoqn5gK5b8kn7ou9aFQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz",
+ "integrity": "sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
- "@typescript-eslint/scope-manager": "8.31.0",
- "@typescript-eslint/type-utils": "8.31.0",
- "@typescript-eslint/utils": "8.31.0",
- "@typescript-eslint/visitor-keys": "8.31.0",
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/type-utils": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"graphemer": "^1.4.0",
"ignore": "^5.3.1",
"natural-compare": "^1.4.0",
@@ -5557,16 +5715,16 @@
}
},
"node_modules/@typescript-eslint/parser": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.0.tgz",
- "integrity": "sha512-67kYYShjBR0jNI5vsf/c3WG4u+zDnCTHTPqVMQguffaWWFs7artgwKmfwdifl+r6XyM5LYLas/dInj2T0SgJyw==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.1.tgz",
+ "integrity": "sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/scope-manager": "8.31.0",
- "@typescript-eslint/types": "8.31.0",
- "@typescript-eslint/typescript-estree": "8.31.0",
- "@typescript-eslint/visitor-keys": "8.31.0",
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/typescript-estree": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"debug": "^4.3.4"
},
"engines": {
@@ -5582,14 +5740,14 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.0.tgz",
- "integrity": "sha512-knO8UyF78Nt8O/B64i7TlGXod69ko7z6vJD9uhSlm0qkAbGeRUSudcm0+K/4CrRjrpiHfBCjMWlc08Vav1xwcw==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz",
+ "integrity": "sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.31.0",
- "@typescript-eslint/visitor-keys": "8.31.0"
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5600,14 +5758,14 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.0.tgz",
- "integrity": "sha512-DJ1N1GdjI7IS7uRlzJuEDCgDQix3ZVYVtgeWEyhyn4iaoitpMBX6Ndd488mXSx0xah/cONAkEaYyylDyAeHMHg==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz",
+ "integrity": "sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/typescript-estree": "8.31.0",
- "@typescript-eslint/utils": "8.31.0",
+ "@typescript-eslint/typescript-estree": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1",
"debug": "^4.3.4",
"ts-api-utils": "^2.0.1"
},
@@ -5624,9 +5782,9 @@
}
},
"node_modules/@typescript-eslint/types": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.0.tgz",
- "integrity": "sha512-Ch8oSjVyYyJxPQk8pMiP2FFGYatqXQfQIaMp+TpuuLlDachRWpUAeEu1u9B/v/8LToehUIWyiKcA/w5hUFRKuQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.1.tgz",
+ "integrity": "sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==",
"dev": true,
"license": "MIT",
"engines": {
@@ -5638,14 +5796,14 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.0.tgz",
- "integrity": "sha512-xLmgn4Yl46xi6aDSZ9KkyfhhtnYI15/CvHbpOy/eR5NWhK/BK8wc709KKwhAR0m4ZKRP7h07bm4BWUYOCuRpQQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz",
+ "integrity": "sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.31.0",
- "@typescript-eslint/visitor-keys": "8.31.0",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/visitor-keys": "8.31.1",
"debug": "^4.3.4",
"fast-glob": "^3.3.2",
"is-glob": "^4.0.3",
@@ -5691,16 +5849,16 @@
}
},
"node_modules/@typescript-eslint/utils": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.0.tgz",
- "integrity": "sha512-qi6uPLt9cjTFxAb1zGNgTob4x9ur7xC6mHQJ8GwEzGMGE9tYniublmJaowOJ9V2jUzxrltTPfdG2nKlWsq0+Ww==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.1.tgz",
+ "integrity": "sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
- "@typescript-eslint/scope-manager": "8.31.0",
- "@typescript-eslint/types": "8.31.0",
- "@typescript-eslint/typescript-estree": "8.31.0"
+ "@typescript-eslint/scope-manager": "8.31.1",
+ "@typescript-eslint/types": "8.31.1",
+ "@typescript-eslint/typescript-estree": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5715,13 +5873,13 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.0.tgz",
- "integrity": "sha512-QcGHmlRHWOl93o64ZUMNewCdwKGU6WItOU52H0djgNmn1EOrhVudrDzXz4OycCRSCPwFCDrE2iIt5vmuUdHxuQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz",
+ "integrity": "sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/types": "8.31.0",
+ "@typescript-eslint/types": "8.31.1",
"eslint-visitor-keys": "^4.2.0"
},
"engines": {
@@ -6886,9 +7044,9 @@
}
},
"node_modules/bullmq": {
- "version": "5.51.0",
- "resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.51.0.tgz",
- "integrity": "sha512-YjX+CO2U4nmbCq2ZgNb/Hnu6Xk953j8EFmp0eehTuudavPyNstoZsbnyvvM6PX9rfD9clhcc5kRLyyWoFEM3Lg==",
+ "version": "5.52.1",
+ "resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.52.1.tgz",
+ "integrity": "sha512-u7CSV9wID3MBEX2DNubEErbAlrADgm8abUBAi6h8rQTnuTkhhgMs2iD7uhqplK8lIgUOkBIW3sDJWaMSInH47A==",
"license": "MIT",
"dependencies": {
"cron-parser": "^4.9.0",
@@ -7332,13 +7490,13 @@
"license": "MIT"
},
"node_modules/class-validator": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.1.tgz",
- "integrity": "sha512-2VEG9JICxIqTpoK1eMzZqaV+u/EiwEJkMGzTrZf6sU/fwsnOITVgYJ8yojSy6CaXtO9V0Cc6ZQZ8h8m4UBuLwQ==",
+ "version": "0.14.2",
+ "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.2.tgz",
+ "integrity": "sha512-3kMVRF2io8N8pY1IFIXlho9r8IPUUIfHe2hYVtiebvAzU2XeQFXTv+XI4WX+TnXmtwXMDcjngcpkiPM0O9PvLw==",
"license": "MIT",
"dependencies": {
"@types/validator": "^13.11.8",
- "libphonenumber-js": "^1.10.53",
+ "libphonenumber-js": "^1.11.1",
"validator": "^13.9.0"
}
},
@@ -8739,9 +8897,9 @@
}
},
"node_modules/eslint": {
- "version": "9.25.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz",
- "integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==",
+ "version": "9.26.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz",
+ "integrity": "sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -8751,11 +8909,12 @@
"@eslint/config-helpers": "^0.2.1",
"@eslint/core": "^0.13.0",
"@eslint/eslintrc": "^3.3.1",
- "@eslint/js": "9.25.1",
+ "@eslint/js": "9.26.0",
"@eslint/plugin-kit": "^0.2.8",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
+ "@modelcontextprotocol/sdk": "^1.8.0",
"@types/estree": "^1.0.6",
"@types/json-schema": "^7.0.15",
"ajv": "^6.12.4",
@@ -8779,7 +8938,8 @@
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.3"
+ "optionator": "^0.9.3",
+ "zod": "^3.24.2"
},
"bin": {
"eslint": "bin/eslint.js"
@@ -8813,9 +8973,9 @@
}
},
"node_modules/eslint-plugin-prettier": {
- "version": "5.2.6",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.6.tgz",
- "integrity": "sha512-mUcf7QG2Tjk7H055Jk0lGBjbgDnfrvqjhXh9t2xLMSCjZVcw9Rb1V6sVNXO0th3jgeO7zllWPTNRil3JW94TnQ==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.3.1.tgz",
+ "integrity": "sha512-vad9VWgEm9xaVXRNmb4aeOt0PWDc61IAdzghkbYQ2wavgax148iKoX1rNJcgkBGCipzLzOnHYVgL7xudM9yccQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -9051,6 +9211,29 @@
"node": ">=0.8.x"
}
},
+ "node_modules/eventsource": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
+ "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eventsource-parser": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
+ "node_modules/eventsource-parser": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.1.tgz",
+ "integrity": "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=18.0.0"
+ }
+ },
"node_modules/exiftool-vendored": {
"version": "28.8.0",
"resolved": "https://registry.npmjs.org/exiftool-vendored/-/exiftool-vendored-28.8.0.tgz",
@@ -9137,6 +9320,22 @@
"url": "https://opencollective.com/express"
}
},
+ "node_modules/express-rate-limit": {
+ "version": "7.5.0",
+ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz",
+ "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/express-rate-limit"
+ },
+ "peerDependencies": {
+ "express": "^4.11 || 5 || ^5.0.0-beta.1"
+ }
+ },
"node_modules/express/node_modules/cookie": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
@@ -13108,13 +13307,13 @@
}
},
"node_modules/pg": {
- "version": "8.15.5",
- "resolved": "https://registry.npmjs.org/pg/-/pg-8.15.5.tgz",
- "integrity": "sha512-EpAhHFQc+aH9VfeffWIVC+XXk6lmAhS9W1FxtxcPXs94yxhrI1I6w/zkWfIOII/OkBv3Be04X3xMOj0kQ78l6w==",
+ "version": "8.15.6",
+ "resolved": "https://registry.npmjs.org/pg/-/pg-8.15.6.tgz",
+ "integrity": "sha512-yvao7YI3GdmmrslNVsZgx9PfntfWrnXwtR+K/DjI0I/sTKif4Z623um+sjVZ1hk5670B+ODjvHDAckKdjmPTsg==",
"license": "MIT",
"dependencies": {
"pg-connection-string": "^2.8.5",
- "pg-pool": "^3.9.5",
+ "pg-pool": "^3.9.6",
"pg-protocol": "^1.9.5",
"pg-types": "^2.1.0",
"pgpass": "1.x"
@@ -13234,6 +13433,16 @@
"node": ">= 6"
}
},
+ "node_modules/pkce-challenge": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz",
+ "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
"node_modules/pluralize": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
@@ -16198,9 +16407,9 @@
}
},
"node_modules/testcontainers": {
- "version": "10.24.2",
- "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.24.2.tgz",
- "integrity": "sha512-Don3EXEQuSw14+nFG9pj48fL9ck/jXDfR9Rb0K3acOyn/gg97+gsnfZaLzpdejl9GcPJVKxACNRe3SYVC2uWqg==",
+ "version": "10.25.0",
+ "resolved": "https://registry.npmjs.org/testcontainers/-/testcontainers-10.25.0.tgz",
+ "integrity": "sha512-X3x6cjorEMgei1vVx3M7dnTMzWoWOTi4krpUf3C2iOvOcwsaMUHbca9J4yzpN65ieiWhcK2dA5dxpZyUonwC2Q==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16822,15 +17031,15 @@
}
},
"node_modules/typescript-eslint": {
- "version": "8.31.0",
- "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.31.0.tgz",
- "integrity": "sha512-u+93F0sB0An8WEAPtwxVhFby573E8ckdjwUUQUj9QA4v8JAvgtoDdIyYR3XFwFHq2W1KJ1AurwJCO+w+Y1ixyQ==",
+ "version": "8.31.1",
+ "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.31.1.tgz",
+ "integrity": "sha512-j6DsEotD/fH39qKzXTQRwYYWlt7D+0HmfpOK+DVhwJOFLcdmn92hq3mBb7HlKJHbjjI/gTOqEcc9d6JfpFf/VA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "8.31.0",
- "@typescript-eslint/parser": "8.31.0",
- "@typescript-eslint/utils": "8.31.0"
+ "@typescript-eslint/eslint-plugin": "8.31.1",
+ "@typescript-eslint/parser": "8.31.1",
+ "@typescript-eslint/utils": "8.31.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -17986,6 +18195,26 @@
"engines": {
"node": ">= 14"
}
+ },
+ "node_modules/zod": {
+ "version": "3.24.4",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz",
+ "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zod-to-json-schema": {
+ "version": "3.24.5",
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz",
+ "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==",
+ "dev": true,
+ "license": "ISC",
+ "peerDependencies": {
+ "zod": "^3.24.1"
+ }
}
}
}
diff --git a/server/package.json b/server/package.json
index b4a8841156..fa52fcb009 100644
--- a/server/package.json
+++ b/server/package.json
@@ -48,7 +48,7 @@
"@opentelemetry/context-async-hooks": "^2.0.0",
"@opentelemetry/exporter-prometheus": "^0.200.0",
"@opentelemetry/sdk-node": "^0.200.0",
- "@react-email/components": "^0.0.36",
+ "@react-email/components": "^0.0.38",
"@socket.io/redis-adapter": "^8.3.0",
"archiver": "^7.0.0",
"async-lock": "^1.4.0",
diff --git a/server/src/controllers/activity.controller.spec.ts b/server/src/controllers/activity.controller.spec.ts
new file mode 100644
index 0000000000..bf2038048f
--- /dev/null
+++ b/server/src/controllers/activity.controller.spec.ts
@@ -0,0 +1,81 @@
+import { ActivityController } from 'src/controllers/activity.controller';
+import { ActivityService } from 'src/services/activity.service';
+import request from 'supertest';
+import { factory } from 'test/small.factory';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(ActivityController.name, () => {
+ let ctx: ControllerContext;
+ const service = mockBaseService(ActivityService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(ActivityController, [{ provide: ActivityService, useValue: service }]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ service.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('GET /activities', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/activities');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require an albumId', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/activities');
+ expect(status).toEqual(400);
+ expect(body).toEqual(factory.responses.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
+ });
+
+ it('should reject an invalid albumId', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/activities').query({ albumId: '123' });
+ expect(status).toEqual(400);
+ expect(body).toEqual(factory.responses.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
+ });
+
+ it('should reject an invalid assetId', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .get('/activities')
+ .query({ albumId: factory.uuid(), assetId: '123' });
+ expect(status).toEqual(400);
+ expect(body).toEqual(factory.responses.badRequest(expect.arrayContaining(['assetId must be a UUID'])));
+ });
+ });
+
+ describe('POST /activities', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/activities');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require an albumId', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/activities').send({ albumId: '123' });
+ expect(status).toEqual(400);
+ expect(body).toEqual(factory.responses.badRequest(expect.arrayContaining(['albumId must be a UUID'])));
+ });
+
+ it('should require a comment when type is comment', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/activities')
+ .send({ albumId: factory.uuid(), type: 'comment', comment: null });
+ expect(status).toEqual(400);
+ expect(body).toEqual(factory.responses.badRequest(['comment must be a string', 'comment should not be empty']));
+ });
+ });
+
+ describe('DELETE /activities/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).delete(`/activities/${factory.uuid()}`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a valid uuid', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).delete(`/activities/123`);
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest(['id must be a UUID']));
+ });
+ });
+});
diff --git a/server/src/controllers/album.controller.spec.ts b/server/src/controllers/album.controller.spec.ts
new file mode 100644
index 0000000000..9b8a19c129
--- /dev/null
+++ b/server/src/controllers/album.controller.spec.ts
@@ -0,0 +1,88 @@
+import { AlbumController } from 'src/controllers/album.controller';
+import { AlbumService } from 'src/services/album.service';
+import request from 'supertest';
+import { factory } from 'test/small.factory';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(AlbumController.name, () => {
+ let ctx: ControllerContext;
+ const service = mockBaseService(AlbumService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(AlbumController, [{ provide: AlbumService, useValue: service }]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ service.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('GET /albums', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/albums');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should reject an invalid shared param', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/albums?shared=invalid');
+ expect(status).toEqual(400);
+ expect(body).toEqual(factory.responses.badRequest(['shared must be a boolean value']));
+ });
+
+ it('should reject an invalid assetId param', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/albums?assetId=invalid');
+ expect(status).toEqual(400);
+ expect(body).toEqual(factory.responses.badRequest(['assetId must be a UUID']));
+ });
+ });
+
+ describe('GET /albums/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/albums/${factory.uuid()}`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('GET /albums/statistics', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/albums/statistics');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('POST /albums', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/albums').send({ albumName: 'New album' });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('PUT /albums/:id/assets', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).put(`/albums/${factory.uuid()}/assets`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('PATCH /albums/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).patch(`/albums/${factory.uuid()}`).send({ albumName: 'New album name' });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('DELETE /albums/:id/assets', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).delete(`/albums/${factory.uuid()}/assets`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('PUT :id/users', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).put(`/albums/${factory.uuid()}/users`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/server/src/controllers/api-key.controller.spec.ts b/server/src/controllers/api-key.controller.spec.ts
new file mode 100644
index 0000000000..3246eb9b77
--- /dev/null
+++ b/server/src/controllers/api-key.controller.spec.ts
@@ -0,0 +1,73 @@
+import { APIKeyController } from 'src/controllers/api-key.controller';
+import { ApiKeyService } from 'src/services/api-key.service';
+import request from 'supertest';
+import { factory } from 'test/small.factory';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(APIKeyController.name, () => {
+ let ctx: ControllerContext;
+ const service = mockBaseService(ApiKeyService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(APIKeyController, [{ provide: ApiKeyService, useValue: service }]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ service.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('POST /api-keys', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/api-keys').send({ name: 'API Key' });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('GET /api-keys', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/api-keys');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('GET /api-keys/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/api-keys/${factory.uuid()}`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a valid uuid', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get(`/api-keys/123`);
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest(['id must be a UUID']));
+ });
+ });
+
+ describe('PUT /api-keys/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).put(`/api-keys/${factory.uuid()}`).send({ name: 'new name' });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a valid uuid', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).put(`/api-keys/123`).send({ name: 'new name' });
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest(['id must be a UUID']));
+ });
+ });
+
+ describe('DELETE /api-keys/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).delete(`/api-keys/${factory.uuid()}`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a valid uuid', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).delete(`/api-keys/123`);
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest(['id must be a UUID']));
+ });
+ });
+});
diff --git a/server/src/controllers/app.controller.spec.ts b/server/src/controllers/app.controller.spec.ts
new file mode 100644
index 0000000000..4cc00e78c5
--- /dev/null
+++ b/server/src/controllers/app.controller.spec.ts
@@ -0,0 +1,49 @@
+import { AppController } from 'src/controllers/app.controller';
+import { SystemConfigService } from 'src/services/system-config.service';
+import request from 'supertest';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(AppController.name, () => {
+ let ctx: ControllerContext;
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(AppController, [
+ { provide: SystemConfigService, useValue: mockBaseService(SystemConfigService) },
+ ]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ ctx.reset();
+ });
+
+ describe('GET /.well-known/immich', () => {
+ it('should not be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/.well-known/immich');
+ expect(ctx.authenticate).not.toHaveBeenCalled();
+ });
+
+ it('should return a 200 status code', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/.well-known/immich');
+ expect(status).toBe(200);
+ expect(body).toEqual({
+ api: {
+ endpoint: '/api',
+ },
+ });
+ });
+ });
+
+ describe('GET /custom.css', () => {
+ it('should not be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/custom.css');
+ expect(ctx.authenticate).not.toHaveBeenCalled();
+ });
+
+ it('should reply with text/css', async () => {
+ const { status, headers } = await request(ctx.getHttpServer()).get('/custom.css');
+ expect(status).toBe(200);
+ expect(headers['content-type']).toEqual('text/css; charset=utf-8');
+ });
+ });
+});
diff --git a/server/src/controllers/asset-media.controller.spec.ts b/server/src/controllers/asset-media.controller.spec.ts
new file mode 100644
index 0000000000..67bdeff222
--- /dev/null
+++ b/server/src/controllers/asset-media.controller.spec.ts
@@ -0,0 +1,128 @@
+import { AssetMediaController } from 'src/controllers/asset-media.controller';
+import { LoggingRepository } from 'src/repositories/logging.repository';
+import { AssetMediaService } from 'src/services/asset-media.service';
+import request from 'supertest';
+import { factory } from 'test/small.factory';
+import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+const makeUploadDto = (options?: { omit: string }): Record => {
+ const dto: Record = {
+ deviceAssetId: 'example-image',
+ deviceId: 'TEST',
+ fileCreatedAt: new Date().toISOString(),
+ fileModifiedAt: new Date().toISOString(),
+ isFavorite: 'testing',
+ duration: '0:00:00.000000',
+ };
+
+ const omit = options?.omit;
+ if (omit) {
+ delete dto[omit];
+ }
+
+ return dto;
+};
+
+describe(AssetMediaController.name, () => {
+ let ctx: ControllerContext;
+ const assetData = Buffer.from('123');
+ const filename = 'example.png';
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(AssetMediaController, [
+ { provide: LoggingRepository, useValue: automock(LoggingRepository, { strict: false }) },
+ { provide: AssetMediaService, useValue: mockBaseService(AssetMediaService) },
+ ]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ ctx.reset();
+ });
+
+ describe('POST /assets', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post(`/assets`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require `deviceAssetId`', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/assets')
+ .attach('assetData', assetData, filename)
+ .field({ ...makeUploadDto({ omit: 'deviceAssetId' }) });
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ });
+
+ it('should require `deviceId`', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/assets')
+ .attach('assetData', assetData, filename)
+ .field({ ...makeUploadDto({ omit: 'deviceId' }) });
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ });
+
+ it('should require `fileCreatedAt`', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/assets')
+ .attach('assetData', assetData, filename)
+ .field({ ...makeUploadDto({ omit: 'fileCreatedAt' }) });
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ });
+
+ it('should require `fileModifiedAt`', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/assets')
+ .attach('assetData', assetData, filename)
+ .field({ ...makeUploadDto({ omit: 'fileModifiedAt' }) });
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ });
+
+ it('should require `duration`', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/assets')
+ .attach('assetData', assetData, filename)
+ .field({ ...makeUploadDto({ omit: 'duration' }) });
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ });
+
+ it('should throw if `isFavorite` is not a boolean', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/assets')
+ .attach('assetData', assetData, filename)
+ .field({ ...makeUploadDto(), isFavorite: 'not-a-boolean' });
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ });
+
+ it('should throw if `visibility` is not an enum', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/assets')
+ .attach('assetData', assetData, filename)
+ .field({ ...makeUploadDto(), visibility: 'not-a-boolean' });
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ });
+
+ // TODO figure out how to deal with `sendFile`
+ describe.skip('GET /assets/:id/original', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/assets/${factory.uuid()}/original`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ // TODO figure out how to deal with `sendFile`
+ describe.skip('GET /assets/:id/thumbnail', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/assets/${factory.uuid()}/thumbnail`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+ });
+});
diff --git a/server/src/controllers/asset.controller.spec.ts b/server/src/controllers/asset.controller.spec.ts
new file mode 100644
index 0000000000..66d2d7c206
--- /dev/null
+++ b/server/src/controllers/asset.controller.spec.ts
@@ -0,0 +1,118 @@
+import { AssetController } from 'src/controllers/asset.controller';
+import { AssetService } from 'src/services/asset.service';
+import request from 'supertest';
+import { factory } from 'test/small.factory';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(AssetController.name, () => {
+ let ctx: ControllerContext;
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(AssetController, [{ provide: AssetService, useValue: mockBaseService(AssetService) }]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ ctx.reset();
+ });
+
+ describe('PUT /assets', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).put(`/assets`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('DELETE /assets', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer())
+ .delete(`/assets`)
+ .send({ ids: [factory.uuid()] });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a valid uuid', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .delete(`/assets`)
+ .send({ ids: ['123'] });
+
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest(['each value in ids must be a UUID']));
+ });
+ });
+
+ describe('GET /assets/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/assets/${factory.uuid()}`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a valid id', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get(`/assets/123`);
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest(['id must be a UUID']));
+ });
+ });
+
+ describe('PUT /assets/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/assets/123`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a valid id', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).put(`/assets/123`);
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest(['id must be a UUID']));
+ });
+
+ it('should reject invalid gps coordinates', async () => {
+ for (const test of [
+ { latitude: 12 },
+ { longitude: 12 },
+ { latitude: 12, longitude: 'abc' },
+ { latitude: 'abc', longitude: 12 },
+ { latitude: null, longitude: 12 },
+ { latitude: 12, longitude: null },
+ { latitude: 91, longitude: 12 },
+ { latitude: -91, longitude: 12 },
+ { latitude: 12, longitude: -181 },
+ { latitude: 12, longitude: 181 },
+ ]) {
+ const { status, body } = await request(ctx.getHttpServer()).put(`/assets/${factory.uuid()}`).send(test);
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ }
+ });
+
+ it('should reject invalid rating', async () => {
+ for (const test of [{ rating: 7 }, { rating: 3.5 }, { rating: null }]) {
+ const { status, body } = await request(ctx.getHttpServer()).put(`/assets/${factory.uuid()}`).send(test);
+ expect(status).toBe(400);
+ expect(body).toEqual(factory.responses.badRequest());
+ }
+ });
+ });
+
+ describe('GET /assets/statistics', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/assets/statistics`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('GET /assets/random', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/assets/random`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should not allow count to be a string', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/assets/random?count=ABC');
+ expect(status).toBe(400);
+ expect(body).toEqual(
+ factory.responses.badRequest(['count must be a positive number', 'count must be an integer number']),
+ );
+ });
+ });
+});
diff --git a/server/src/controllers/auth.controller.spec.ts b/server/src/controllers/auth.controller.spec.ts
new file mode 100644
index 0000000000..4129b24124
--- /dev/null
+++ b/server/src/controllers/auth.controller.spec.ts
@@ -0,0 +1,191 @@
+import { AuthController } from 'src/controllers/auth.controller';
+import { LoginResponseDto } from 'src/dtos/auth.dto';
+import { AuthService } from 'src/services/auth.service';
+import request from 'supertest';
+import { errorDto } from 'test/medium/responses';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(AuthController.name, () => {
+ let ctx: ControllerContext;
+ const service = mockBaseService(AuthService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(AuthController, [{ provide: AuthService, useValue: service }]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ service.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('POST /auth/admin-sign-up', () => {
+ const name = 'admin';
+ const email = 'admin@immich.cloud';
+ const password = 'password';
+
+ it('should require an email address', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/auth/admin-sign-up').send({ name, password });
+ expect(status).toEqual(400);
+ expect(body).toEqual(errorDto.badRequest());
+ });
+
+ it('should require a password', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/auth/admin-sign-up').send({ name, email });
+ expect(status).toEqual(400);
+ expect(body).toEqual(errorDto.badRequest());
+ });
+
+ it('should require a name', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/auth/admin-sign-up').send({ email, password });
+ expect(status).toEqual(400);
+ expect(body).toEqual(errorDto.badRequest());
+ });
+
+ it('should require a valid email', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/auth/admin-sign-up')
+ .send({ name, email: 'immich', password });
+ expect(status).toEqual(400);
+ expect(body).toEqual(errorDto.badRequest());
+ });
+
+ it('should transform email to lower case', async () => {
+ service.adminSignUp.mockReset();
+ const { status } = await request(ctx.getHttpServer())
+ .post('/auth/admin-sign-up')
+ .send({ name: 'admin', password: 'password', email: 'aDmIn@IMMICH.cloud' });
+ expect(status).toEqual(201);
+ expect(service.adminSignUp).toHaveBeenCalledWith(expect.objectContaining({ email: 'admin@immich.cloud' }));
+ });
+
+ it('should accept an email with a local domain', async () => {
+ const { status } = await request(ctx.getHttpServer())
+ .post('/auth/admin-sign-up')
+ .send({ name: 'admin', password: 'password', email: 'admin@local' });
+ expect(status).toEqual(201);
+ });
+ });
+
+ describe('POST /auth/login', () => {
+ it(`should require an email and password`, async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/auth/login').send({ name: 'admin' });
+ expect(status).toBe(400);
+ expect(body).toEqual(
+ errorDto.badRequest([
+ 'email should not be empty',
+ 'email must be an email',
+ 'password should not be empty',
+ 'password must be a string',
+ ]),
+ );
+ });
+
+ it(`should not allow null email`, async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/auth/login')
+ .send({ name: 'admin', email: null, password: 'password' });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['email should not be empty', 'email must be an email']));
+ });
+
+ it(`should not allow null password`, async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/auth/login')
+ .send({ name: 'admin', email: 'admin@immich.cloud', password: null });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['password should not be empty', 'password must be a string']));
+ });
+
+ it('should reject an invalid email', async () => {
+ service.login.mockResolvedValue({ accessToken: 'access-token' } as LoginResponseDto);
+
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/auth/login')
+ .send({ name: 'admin', email: [], password: 'password' });
+
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['email must be an email']));
+ });
+
+ it('should transform the email to all lowercase', async () => {
+ service.login.mockResolvedValue({ accessToken: 'access-token' } as LoginResponseDto);
+
+ const { status } = await request(ctx.getHttpServer())
+ .post('/auth/login')
+ .send({ name: 'admin', email: 'aDmIn@iMmIcH.ApP', password: 'password' });
+
+ expect(status).toBe(201);
+ expect(service.login).toHaveBeenCalledWith(
+ expect.objectContaining({ email: 'admin@immich.app' }),
+ expect.anything(),
+ );
+ });
+
+ it('should accept an email with a local domain', async () => {
+ service.login.mockResolvedValue({ accessToken: 'access-token' } as LoginResponseDto);
+
+ const { status } = await request(ctx.getHttpServer())
+ .post('/auth/login')
+ .send({ name: 'admin', email: 'admin@local', password: 'password' });
+
+ expect(status).toEqual(201);
+ expect(service.login).toHaveBeenCalledWith(expect.objectContaining({ email: 'admin@local' }), expect.anything());
+ });
+ });
+
+ describe('POST /auth/change-password', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer())
+ .post('/auth/change-password')
+ .send({ password: 'password', newPassword: 'Password1234' });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('POST /auth/pin-code', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/auth/pin-code').send({ pinCode: '123456' });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should reject 5 digits', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/auth/pin-code').send({ pinCode: '12345' });
+ expect(status).toEqual(400);
+ expect(body).toEqual(errorDto.badRequest(['pinCode must be a 6-digit numeric string']));
+ });
+
+ it('should reject 7 digits', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/auth/pin-code').send({ pinCode: '1234567' });
+ expect(status).toEqual(400);
+ expect(body).toEqual(errorDto.badRequest(['pinCode must be a 6-digit numeric string']));
+ });
+
+ it('should reject non-numbers', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/auth/pin-code').send({ pinCode: 'A12345' });
+ expect(status).toEqual(400);
+ expect(body).toEqual(errorDto.badRequest(['pinCode must be a 6-digit numeric string']));
+ });
+ });
+
+ describe('PUT /auth/pin-code', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).put('/auth/pin-code').send({ pinCode: '123456', newPinCode: '654321' });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('DELETE /auth/pin-code', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).delete('/auth/pin-code').send({ pinCode: '123456' });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('GET /auth/status', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/auth/status');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/server/src/controllers/auth.controller.ts b/server/src/controllers/auth.controller.ts
index 92fa59f6bf..56acaa5c6d 100644
--- a/server/src/controllers/auth.controller.ts
+++ b/server/src/controllers/auth.controller.ts
@@ -1,12 +1,15 @@
-import { Body, Controller, HttpCode, HttpStatus, Post, Req, Res } from '@nestjs/common';
+import { Body, Controller, Delete, Get, HttpCode, HttpStatus, Post, Put, Req, Res } from '@nestjs/common';
import { ApiTags } from '@nestjs/swagger';
import { Request, Response } from 'express';
import {
AuthDto,
+ AuthStatusResponseDto,
ChangePasswordDto,
LoginCredentialDto,
LoginResponseDto,
LogoutResponseDto,
+ PinCodeChangeDto,
+ PinCodeSetupDto,
SignUpDto,
ValidateAccessTokenResponseDto,
} from 'src/dtos/auth.dto';
@@ -23,8 +26,8 @@ export class AuthController {
@Post('login')
async login(
- @Body() loginCredential: LoginCredentialDto,
@Res({ passthrough: true }) res: Response,
+ @Body() loginCredential: LoginCredentialDto,
@GetLoginDetails() loginDetails: LoginDetails,
): Promise {
const body = await this.service.login(loginCredential, loginDetails);
@@ -74,4 +77,28 @@ export class AuthController {
ImmichCookie.IS_AUTHENTICATED,
]);
}
+
+ @Get('status')
+ @Authenticated()
+ getAuthStatus(@Auth() auth: AuthDto): Promise {
+ return this.service.getAuthStatus(auth);
+ }
+
+ @Post('pin-code')
+ @Authenticated()
+ setupPinCode(@Auth() auth: AuthDto, @Body() dto: PinCodeSetupDto): Promise {
+ return this.service.setupPinCode(auth, dto);
+ }
+
+ @Put('pin-code')
+ @Authenticated()
+ async changePinCode(@Auth() auth: AuthDto, @Body() dto: PinCodeChangeDto): Promise {
+ return this.service.changePinCode(auth, dto);
+ }
+
+ @Delete('pin-code')
+ @Authenticated()
+ async resetPinCode(@Auth() auth: AuthDto, @Body() dto: PinCodeChangeDto): Promise {
+ return this.service.resetPinCode(auth, dto);
+ }
}
diff --git a/server/src/controllers/download.controller.spec.ts b/server/src/controllers/download.controller.spec.ts
new file mode 100644
index 0000000000..9385c445b5
--- /dev/null
+++ b/server/src/controllers/download.controller.spec.ts
@@ -0,0 +1,46 @@
+import { DownloadController } from 'src/controllers/download.controller';
+import { DownloadService } from 'src/services/download.service';
+import request from 'supertest';
+import { factory } from 'test/small.factory';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+import { Readable } from 'typeorm/platform/PlatformTools.js';
+
+describe(DownloadController.name, () => {
+ let ctx: ControllerContext;
+ const service = mockBaseService(DownloadService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(DownloadController, [{ provide: DownloadService, useValue: service }]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ service.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('POST /download/info', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer())
+ .post('/download/info')
+ .send({ assetIds: [factory.uuid()] });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('POST /download/archive', () => {
+ it('should be an authenticated route', async () => {
+ const stream = new Readable({
+ read() {
+ this.push('test');
+ this.push(null);
+ },
+ });
+ service.downloadArchive.mockResolvedValue({ stream });
+ await request(ctx.getHttpServer())
+ .post('/download/archive')
+ .send({ assetIds: [factory.uuid()] });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/server/src/controllers/notification.controller.spec.ts b/server/src/controllers/notification.controller.spec.ts
new file mode 100644
index 0000000000..0dce7d73b5
--- /dev/null
+++ b/server/src/controllers/notification.controller.spec.ts
@@ -0,0 +1,64 @@
+import { NotificationController } from 'src/controllers/notification.controller';
+import { NotificationService } from 'src/services/notification.service';
+import request from 'supertest';
+import { errorDto } from 'test/medium/responses';
+import { factory } from 'test/small.factory';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(NotificationController.name, () => {
+ let ctx: ControllerContext;
+ const service = mockBaseService(NotificationService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(NotificationController, [{ provide: NotificationService, useValue: service }]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ service.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('GET /notifications', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/notifications');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it(`should reject an invalid notification level`, async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .get(`/notifications`)
+ .query({ level: 'invalid' })
+ .set('Authorization', `Bearer token`);
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest([expect.stringContaining('level must be one of the following values')]));
+ });
+ });
+
+ describe('PUT /notifications', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/notifications');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('GET /notifications/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/notifications/${factory.uuid()}`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a valid uuid', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get(`/notifications/123`);
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest([expect.stringContaining('id must be a UUID')]));
+ });
+ });
+
+ describe('PUT /notifications/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).put(`/notifications/${factory.uuid()}`).send({ readAt: factory.date() });
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/server/src/controllers/search.controller.spec.ts b/server/src/controllers/search.controller.spec.ts
new file mode 100644
index 0000000000..14130fabcb
--- /dev/null
+++ b/server/src/controllers/search.controller.spec.ts
@@ -0,0 +1,197 @@
+import { SearchController } from 'src/controllers/search.controller';
+import { SearchService } from 'src/services/search.service';
+import request from 'supertest';
+import { errorDto } from 'test/medium/responses';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(SearchController.name, () => {
+ let ctx: ControllerContext;
+ const service = mockBaseService(SearchService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(SearchController, [{ provide: SearchService, useValue: service }]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ service.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('POST /search/metadata', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/search/metadata');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should reject page as a string', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/search/metadata').send({ page: 'abc' });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['page must not be less than 1', 'page must be an integer number']));
+ });
+
+ it('should reject page as a negative number', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/search/metadata').send({ page: -10 });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['page must not be less than 1']));
+ });
+
+ it('should reject page as 0', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/search/metadata').send({ page: 0 });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['page must not be less than 1']));
+ });
+
+ it('should reject size as a string', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/search/metadata').send({ size: 'abc' });
+ expect(status).toBe(400);
+ expect(body).toEqual(
+ errorDto.badRequest([
+ 'size must not be greater than 1000',
+ 'size must not be less than 1',
+ 'size must be an integer number',
+ ]),
+ );
+ });
+
+ it('should reject an invalid size', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/search/metadata').send({ size: -1.5 });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['size must not be less than 1', 'size must be an integer number']));
+ });
+
+ it('should reject an visibility as not an enum', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/search/metadata')
+ .send({ visibility: 'immich' });
+ expect(status).toBe(400);
+ expect(body).toEqual(
+ errorDto.badRequest(['visibility must be one of the following values: archive, timeline, hidden']),
+ );
+ });
+
+ it('should reject an isFavorite as not a boolean', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/search/metadata')
+ .send({ isFavorite: 'immich' });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['isFavorite must be a boolean value']));
+ });
+
+ it('should reject an isEncoded as not a boolean', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/search/metadata')
+ .send({ isEncoded: 'immich' });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['isEncoded must be a boolean value']));
+ });
+
+ it('should reject an isOffline as not a boolean', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/search/metadata')
+ .send({ isOffline: 'immich' });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['isOffline must be a boolean value']));
+ });
+
+ it('should reject an isMotion as not a boolean', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/search/metadata').send({ isMotion: 'immich' });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['isMotion must be a boolean value']));
+ });
+
+ describe('POST /search/random', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/search/random');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should reject if withStacked is not a boolean', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/search/random')
+ .send({ withStacked: 'immich' });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['withStacked must be a boolean value']));
+ });
+
+ it('should reject if withPeople is not a boolean', async () => {
+ const { status, body } = await request(ctx.getHttpServer())
+ .post('/search/random')
+ .send({ withPeople: 'immich' });
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['withPeople must be a boolean value']));
+ });
+ });
+
+ describe('POST /search/smart', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).post('/search/smart');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a query', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).post('/search/smart').send({});
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['query should not be empty', 'query must be a string']));
+ });
+ });
+
+ describe('GET /search/explore', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/search/explore');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('POST /search/person', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/search/person');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a name', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/search/person').send({});
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['name should not be empty', 'name must be a string']));
+ });
+ });
+
+ describe('GET /search/places', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/search/places');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a name', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/search/places').send({});
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest(['name should not be empty', 'name must be a string']));
+ });
+ });
+
+ describe('GET /search/cities', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/search/cities');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('GET /search/suggestions', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/search/suggestions');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ it('should require a type', async () => {
+ const { status, body } = await request(ctx.getHttpServer()).get('/search/suggestions').send({});
+ expect(status).toBe(400);
+ expect(body).toEqual(
+ errorDto.badRequest([
+ 'type should not be empty',
+ expect.stringContaining('type must be one of the following values:'),
+ ]),
+ );
+ });
+ });
+ });
+});
diff --git a/server/src/controllers/server.controller.spec.ts b/server/src/controllers/server.controller.spec.ts
new file mode 100644
index 0000000000..cc373162eb
--- /dev/null
+++ b/server/src/controllers/server.controller.spec.ts
@@ -0,0 +1,32 @@
+import { ServerController } from 'src/controllers/server.controller';
+import { ServerService } from 'src/services/server.service';
+import { VersionService } from 'src/services/version.service';
+import request from 'supertest';
+import { ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(ServerController.name, () => {
+ let ctx: ControllerContext;
+ const serverService = mockBaseService(ServerService);
+ const versionService = mockBaseService(VersionService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(ServerController, [
+ { provide: ServerService, useValue: serverService },
+ { provide: VersionService, useValue: versionService },
+ ]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ serverService.resetAllMocks();
+ versionService.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('GET /server/license', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/server/license');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/server/src/controllers/user.controller.spec.ts b/server/src/controllers/user.controller.spec.ts
new file mode 100644
index 0000000000..19f9e919de
--- /dev/null
+++ b/server/src/controllers/user.controller.spec.ts
@@ -0,0 +1,79 @@
+import { UserController } from 'src/controllers/user.controller';
+import { LoggingRepository } from 'src/repositories/logging.repository';
+import { UserService } from 'src/services/user.service';
+import request from 'supertest';
+import { errorDto } from 'test/medium/responses';
+import { factory } from 'test/small.factory';
+import { automock, ControllerContext, controllerSetup, mockBaseService } from 'test/utils';
+
+describe(UserController.name, () => {
+ let ctx: ControllerContext;
+ const service = mockBaseService(UserService);
+
+ beforeAll(async () => {
+ ctx = await controllerSetup(UserController, [
+ { provide: LoggingRepository, useValue: automock(LoggingRepository, { strict: false }) },
+ { provide: UserService, useValue: service },
+ ]);
+ return () => ctx.close();
+ });
+
+ beforeEach(() => {
+ service.resetAllMocks();
+ ctx.reset();
+ });
+
+ describe('GET /users', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/users');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('GET /users/me', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get('/users/me');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('PUT /users/me', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).put('/users/me');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+
+ for (const key of ['email', 'name']) {
+ it(`should not allow null ${key}`, async () => {
+ const dto = { [key]: null };
+ const { status, body } = await request(ctx.getHttpServer())
+ .put(`/users/me`)
+ .set('Authorization', `Bearer token`)
+ .send(dto);
+ expect(status).toBe(400);
+ expect(body).toEqual(errorDto.badRequest());
+ });
+ }
+ });
+
+ describe('GET /users/:id', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).get(`/users/${factory.uuid()}`);
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('PUT /users/me/license', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).put('/users/me/license');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+
+ describe('DELETE /users/me/license', () => {
+ it('should be an authenticated route', async () => {
+ await request(ctx.getHttpServer()).delete('/users/me/license');
+ expect(ctx.authenticate).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/server/src/database.ts b/server/src/database.ts
index a93873ef42..a13b074448 100644
--- a/server/src/database.ts
+++ b/server/src/database.ts
@@ -5,6 +5,7 @@ import {
AlbumUserRole,
AssetFileType,
AssetType,
+ AssetVisibility,
MemoryType,
Permission,
SharedLinkType,
@@ -108,7 +109,7 @@ export type Asset = {
fileCreatedAt: Date;
fileModifiedAt: Date;
isExternal: boolean;
- isVisible: boolean;
+ visibility: AssetVisibility;
libraryId: string | null;
livePhotoVideoId: string | null;
localDateTime: Date;
@@ -285,7 +286,7 @@ export const columns = {
'assets.fileCreatedAt',
'assets.fileModifiedAt',
'assets.isExternal',
- 'assets.isVisible',
+ 'assets.visibility',
'assets.libraryId',
'assets.livePhotoVideoId',
'assets.localDateTime',
@@ -345,7 +346,7 @@ export const columns = {
'type',
'deletedAt',
'isFavorite',
- 'isVisible',
+ 'visibility',
'updateId',
],
stack: ['stack.id', 'stack.primaryAssetId', 'ownerId'],
diff --git a/server/src/db.d.ts b/server/src/db.d.ts
index 85be9d5208..1b039f9982 100644
--- a/server/src/db.d.ts
+++ b/server/src/db.d.ts
@@ -10,6 +10,7 @@ import {
AssetOrder,
AssetStatus,
AssetType,
+ AssetVisibility,
MemoryType,
NotificationLevel,
NotificationType,
@@ -148,11 +149,10 @@ export interface Assets {
fileCreatedAt: Timestamp;
fileModifiedAt: Timestamp;
id: Generated;
- isArchived: Generated;
isExternal: Generated;
isFavorite: Generated;
isOffline: Generated;
- isVisible: Generated;
+ visibility: Generated;
libraryId: string | null;
livePhotoVideoId: string | null;
localDateTime: Timestamp;
diff --git a/server/src/dtos/asset-media.dto.ts b/server/src/dtos/asset-media.dto.ts
index 8837138599..a647b4515f 100644
--- a/server/src/dtos/asset-media.dto.ts
+++ b/server/src/dtos/asset-media.dto.ts
@@ -1,7 +1,8 @@
import { ApiProperty } from '@nestjs/swagger';
import { Type } from 'class-transformer';
import { ArrayNotEmpty, IsArray, IsEnum, IsNotEmpty, IsString, ValidateNested } from 'class-validator';
-import { Optional, ValidateBoolean, ValidateDate, ValidateUUID } from 'src/validation';
+import { AssetVisibility } from 'src/enum';
+import { Optional, ValidateAssetVisibility, ValidateBoolean, ValidateDate, ValidateUUID } from 'src/validation';
export enum AssetMediaSize {
/**
@@ -55,11 +56,8 @@ export class AssetMediaCreateDto extends AssetMediaBase {
@ValidateBoolean({ optional: true })
isFavorite?: boolean;
- @ValidateBoolean({ optional: true })
- isArchived?: boolean;
-
- @ValidateBoolean({ optional: true })
- isVisible?: boolean;
+ @ValidateAssetVisibility({ optional: true })
+ visibility?: AssetVisibility;
@ValidateUUID({ optional: true })
livePhotoVideoId?: string;
diff --git a/server/src/dtos/asset-response.dto.ts b/server/src/dtos/asset-response.dto.ts
index 3732e665cd..480ad0b9b9 100644
--- a/server/src/dtos/asset-response.dto.ts
+++ b/server/src/dtos/asset-response.dto.ts
@@ -12,7 +12,7 @@ import {
} from 'src/dtos/person.dto';
import { TagResponseDto, mapTag } from 'src/dtos/tag.dto';
import { UserResponseDto, mapUser } from 'src/dtos/user.dto';
-import { AssetStatus, AssetType } from 'src/enum';
+import { AssetStatus, AssetType, AssetVisibility } from 'src/enum';
import { mimeTypes } from 'src/utils/mime-types';
export class SanitizedAssetResponseDto {
@@ -74,11 +74,10 @@ export type MapAsset = {
fileCreatedAt: Date;
fileModifiedAt: Date;
files?: AssetFile[];
- isArchived: boolean;
isExternal: boolean;
isFavorite: boolean;
isOffline: boolean;
- isVisible: boolean;
+ visibility: AssetVisibility;
libraryId: string | null;
livePhotoVideoId: string | null;
localDateTime: Date;
@@ -183,7 +182,7 @@ export function mapAsset(entity: MapAsset, options: AssetMapOptions = {}): Asset
localDateTime: entity.localDateTime,
updatedAt: entity.updatedAt,
isFavorite: options.auth?.user.id === entity.ownerId ? entity.isFavorite : false,
- isArchived: entity.isArchived,
+ isArchived: entity.visibility === AssetVisibility.ARCHIVE,
isTrashed: !!entity.deletedAt,
duration: entity.duration ?? '0:00:00.00000',
exifInfo: entity.exifInfo ? mapExif(entity.exifInfo) : undefined,
diff --git a/server/src/dtos/asset.dto.ts b/server/src/dtos/asset.dto.ts
index 32b14055d5..0789633878 100644
--- a/server/src/dtos/asset.dto.ts
+++ b/server/src/dtos/asset.dto.ts
@@ -14,9 +14,9 @@ import {
ValidateIf,
} from 'class-validator';
import { BulkIdsDto } from 'src/dtos/asset-ids.response.dto';
-import { AssetType } from 'src/enum';
+import { AssetType, AssetVisibility } from 'src/enum';
import { AssetStats } from 'src/repositories/asset.repository';
-import { Optional, ValidateBoolean, ValidateUUID } from 'src/validation';
+import { Optional, ValidateAssetVisibility, ValidateBoolean, ValidateUUID } from 'src/validation';
export class DeviceIdDto {
@IsNotEmpty()
@@ -32,8 +32,8 @@ export class UpdateAssetBase {
@ValidateBoolean({ optional: true })
isFavorite?: boolean;
- @ValidateBoolean({ optional: true })
- isArchived?: boolean;
+ @ValidateAssetVisibility({ optional: true })
+ visibility?: AssetVisibility;
@Optional()
@IsDateString()
@@ -105,8 +105,8 @@ export class AssetJobsDto extends AssetIdsDto {
}
export class AssetStatsDto {
- @ValidateBoolean({ optional: true })
- isArchived?: boolean;
+ @ValidateAssetVisibility({ optional: true })
+ visibility?: AssetVisibility;
@ValidateBoolean({ optional: true })
isFavorite?: boolean;
diff --git a/server/src/dtos/auth.dto.ts b/server/src/dtos/auth.dto.ts
index a1978d39dd..cc05d2d860 100644
--- a/server/src/dtos/auth.dto.ts
+++ b/server/src/dtos/auth.dto.ts
@@ -3,7 +3,7 @@ import { Transform } from 'class-transformer';
import { IsEmail, IsNotEmpty, IsString, MinLength } from 'class-validator';
import { AuthApiKey, AuthSession, AuthSharedLink, AuthUser, UserAdmin } from 'src/database';
import { ImmichCookie } from 'src/enum';
-import { Optional, toEmail } from 'src/validation';
+import { Optional, PinCode, toEmail } from 'src/validation';
export type CookieResponse = {
isSecure: boolean;
@@ -78,6 +78,26 @@ export class ChangePasswordDto {
newPassword!: string;
}
+export class PinCodeSetupDto {
+ @PinCode()
+ pinCode!: string;
+}
+
+export class PinCodeResetDto {
+ @PinCode({ optional: true })
+ pinCode?: string;
+
+ @Optional()
+ @IsString()
+ @IsNotEmpty()
+ password?: string;
+}
+
+export class PinCodeChangeDto extends PinCodeResetDto {
+ @PinCode()
+ newPinCode!: string;
+}
+
export class ValidateAccessTokenResponseDto {
authStatus!: boolean;
}
@@ -114,3 +134,8 @@ export class OAuthConfigDto {
export class OAuthAuthorizeResponseDto {
url!: string;
}
+
+export class AuthStatusResponseDto {
+ pinCode!: boolean;
+ password!: boolean;
+}
diff --git a/server/src/dtos/env.dto.ts b/server/src/dtos/env.dto.ts
index 6c238252a6..7f0df8abb9 100644
--- a/server/src/dtos/env.dto.ts
+++ b/server/src/dtos/env.dto.ts
@@ -1,6 +1,6 @@
import { Transform, Type } from 'class-transformer';
import { IsEnum, IsInt, IsString } from 'class-validator';
-import { ImmichEnvironment, LogLevel } from 'src/enum';
+import { DatabaseSslMode, ImmichEnvironment, LogLevel } from 'src/enum';
import { IsIPRange, Optional, ValidateBoolean } from 'src/validation';
export class EnvDto {
@@ -142,6 +142,10 @@ export class EnvDto {
@ValidateBoolean({ optional: true })
DB_SKIP_MIGRATIONS?: boolean;
+ @IsEnum(DatabaseSslMode)
+ @Optional()
+ DB_SSL_MODE?: DatabaseSslMode;
+
@IsString()
@Optional()
DB_URL?: string;
diff --git a/server/src/dtos/search.dto.ts b/server/src/dtos/search.dto.ts
index a7633dce78..579cba680e 100644
--- a/server/src/dtos/search.dto.ts
+++ b/server/src/dtos/search.dto.ts
@@ -5,8 +5,8 @@ import { Place } from 'src/database';
import { PropertyLifecycle } from 'src/decorators';
import { AlbumResponseDto } from 'src/dtos/album.dto';
import { AssetResponseDto } from 'src/dtos/asset-response.dto';
-import { AssetOrder, AssetType } from 'src/enum';
-import { Optional, ValidateBoolean, ValidateDate, ValidateUUID } from 'src/validation';
+import { AssetOrder, AssetType, AssetVisibility } from 'src/enum';
+import { Optional, ValidateAssetVisibility, ValidateBoolean, ValidateDate, ValidateUUID } from 'src/validation';
class BaseSearchDto {
@ValidateUUID({ optional: true, nullable: true })
@@ -22,13 +22,6 @@ class BaseSearchDto {
@ApiProperty({ enumName: 'AssetTypeEnum', enum: AssetType })
type?: AssetType;
- @ValidateBoolean({ optional: true })
- isArchived?: boolean;
-
- @ValidateBoolean({ optional: true })
- @ApiProperty({ default: false })
- withArchived?: boolean;
-
@ValidateBoolean({ optional: true })
isEncoded?: boolean;
@@ -41,8 +34,8 @@ class BaseSearchDto {
@ValidateBoolean({ optional: true })
isOffline?: boolean;
- @ValidateBoolean({ optional: true })
- isVisible?: boolean;
+ @ValidateAssetVisibility({ optional: true })
+ visibility?: AssetVisibility;
@ValidateBoolean({ optional: true })
withDeleted?: boolean;
diff --git a/server/src/dtos/sync.dto.ts b/server/src/dtos/sync.dto.ts
index a035f8ecb9..cc11c3410b 100644
--- a/server/src/dtos/sync.dto.ts
+++ b/server/src/dtos/sync.dto.ts
@@ -1,7 +1,7 @@
import { ApiProperty } from '@nestjs/swagger';
import { IsEnum, IsInt, IsPositive, IsString } from 'class-validator';
import { AssetResponseDto } from 'src/dtos/asset-response.dto';
-import { AssetType, SyncEntityType, SyncRequestType } from 'src/enum';
+import { AssetType, AssetVisibility, SyncEntityType, SyncRequestType } from 'src/enum';
import { Optional, ValidateDate, ValidateUUID } from 'src/validation';
export class AssetFullSyncDto {
@@ -67,7 +67,7 @@ export class SyncAssetV1 {
type!: AssetType;
deletedAt!: Date | null;
isFavorite!: boolean;
- isVisible!: boolean;
+ visibility!: AssetVisibility;
}
export class SyncAssetDeleteV1 {
diff --git a/server/src/dtos/time-bucket.dto.ts b/server/src/dtos/time-bucket.dto.ts
index a9dfa49a07..51d46871ae 100644
--- a/server/src/dtos/time-bucket.dto.ts
+++ b/server/src/dtos/time-bucket.dto.ts
@@ -1,8 +1,8 @@
import { ApiProperty } from '@nestjs/swagger';
import { IsEnum, IsNotEmpty, IsString } from 'class-validator';
-import { AssetOrder } from 'src/enum';
+import { AssetOrder, AssetVisibility } from 'src/enum';
import { TimeBucketSize } from 'src/repositories/asset.repository';
-import { Optional, ValidateBoolean, ValidateUUID } from 'src/validation';
+import { Optional, ValidateAssetVisibility, ValidateBoolean, ValidateUUID } from 'src/validation';
export class TimeBucketDto {
@IsNotEmpty()
@@ -22,9 +22,6 @@ export class TimeBucketDto {
@ValidateUUID({ optional: true })
tagId?: string;
- @ValidateBoolean({ optional: true })
- isArchived?: boolean;
-
@ValidateBoolean({ optional: true })
isFavorite?: boolean;
@@ -41,6 +38,9 @@ export class TimeBucketDto {
@Optional()
@ApiProperty({ enum: AssetOrder, enumName: 'AssetOrder' })
order?: AssetOrder;
+
+ @ValidateAssetVisibility({ optional: true })
+ visibility?: AssetVisibility;
}
export class TimeBucketAssetDto extends TimeBucketDto {
diff --git a/server/src/dtos/user.dto.ts b/server/src/dtos/user.dto.ts
index 31275f9c28..9efb531bc7 100644
--- a/server/src/dtos/user.dto.ts
+++ b/server/src/dtos/user.dto.ts
@@ -4,7 +4,7 @@ import { IsBoolean, IsEmail, IsEnum, IsNotEmpty, IsNumber, IsString, Min } from
import { User, UserAdmin } from 'src/database';
import { UserAvatarColor, UserMetadataKey, UserStatus } from 'src/enum';
import { UserMetadataItem } from 'src/types';
-import { Optional, ValidateBoolean, toEmail, toSanitized } from 'src/validation';
+import { Optional, PinCode, ValidateBoolean, toEmail, toSanitized } from 'src/validation';
export class UserUpdateMeDto {
@Optional()
@@ -116,6 +116,9 @@ export class UserAdminUpdateDto {
@IsString()
password?: string;
+ @PinCode({ optional: true, nullable: true, emptyToNull: true })
+ pinCode?: string | null;
+
@Optional()
@IsString()
@IsNotEmpty()
diff --git a/server/src/enum.ts b/server/src/enum.ts
index 4e725e1c13..f214593975 100644
--- a/server/src/enum.ts
+++ b/server/src/enum.ts
@@ -610,3 +610,21 @@ export enum OAuthTokenEndpointAuthMethod {
CLIENT_SECRET_POST = 'client_secret_post',
CLIENT_SECRET_BASIC = 'client_secret_basic',
}
+
+export enum DatabaseSslMode {
+ Disable = 'disable',
+ Allow = 'allow',
+ Prefer = 'prefer',
+ Require = 'require',
+ VerifyFull = 'verify-full',
+}
+
+export enum AssetVisibility {
+ ARCHIVE = 'archive',
+ TIMELINE = 'timeline',
+
+ /**
+ * Video part of the LivePhotos and MotionPhotos
+ */
+ HIDDEN = 'hidden',
+}
diff --git a/server/src/queries/access.repository.sql b/server/src/queries/access.repository.sql
index 03f1af3b28..f550c5b0c1 100644
--- a/server/src/queries/access.repository.sql
+++ b/server/src/queries/access.repository.sql
@@ -110,8 +110,11 @@ from
and "assets"."deletedAt" is null
where
"partner"."sharedWithId" = $1
- and "assets"."isArchived" = $2
- and "assets"."id" in ($3)
+ and (
+ "assets"."visibility" = 'timeline'
+ or "assets"."visibility" = 'hidden'
+ )
+ and "assets"."id" in ($2)
-- AccessRepository.asset.checkSharedLinkAccess
select
diff --git a/server/src/queries/asset.job.repository.sql b/server/src/queries/asset.job.repository.sql
index d8e8430be7..577635a912 100644
--- a/server/src/queries/asset.job.repository.sql
+++ b/server/src/queries/asset.job.repository.sql
@@ -7,7 +7,7 @@ select
"ownerId",
"duplicateId",
"stackId",
- "isVisible",
+ "visibility",
"smart_search"."embedding",
(
select
@@ -83,7 +83,7 @@ from
inner join "asset_job_status" on "asset_job_status"."assetId" = "assets"."id"
where
"assets"."deletedAt" is null
- and "assets"."isVisible" = $1
+ and "assets"."visibility" != $1
and (
"asset_job_status"."previewAt" is null
or "asset_job_status"."thumbnailAt" is null
@@ -118,7 +118,7 @@ where
-- AssetJobRepository.getForGenerateThumbnailJob
select
"assets"."id",
- "assets"."isVisible",
+ "assets"."visibility",
"assets"."originalFileName",
"assets"."originalPath",
"assets"."ownerId",
@@ -155,7 +155,7 @@ select
"assets"."fileCreatedAt",
"assets"."fileModifiedAt",
"assets"."isExternal",
- "assets"."isVisible",
+ "assets"."visibility",
"assets"."libraryId",
"assets"."livePhotoVideoId",
"assets"."localDateTime",
@@ -201,7 +201,7 @@ from
"assets"
inner join "asset_job_status" as "job_status" on "assetId" = "assets"."id"
where
- "assets"."isVisible" = $1
+ "assets"."visibility" != $1
and "assets"."deletedAt" is null
and "job_status"."previewAt" is not null
and not exists (
@@ -220,7 +220,7 @@ from
"assets"
inner join "asset_job_status" as "job_status" on "assetId" = "assets"."id"
where
- "assets"."isVisible" = $1
+ "assets"."visibility" != $1
and "assets"."deletedAt" is null
and "job_status"."previewAt" is not null
and not exists (
@@ -234,7 +234,7 @@ where
-- AssetJobRepository.getForClipEncoding
select
"assets"."id",
- "assets"."isVisible",
+ "assets"."visibility",
(
select
coalesce(json_agg(agg), '[]')
@@ -259,7 +259,7 @@ where
-- AssetJobRepository.getForDetectFacesJob
select
"assets"."id",
- "assets"."isVisible",
+ "assets"."visibility",
to_json("exif") as "exifInfo",
(
select
@@ -312,7 +312,7 @@ where
-- AssetJobRepository.getForAssetDeletion
select
"assets"."id",
- "assets"."isVisible",
+ "assets"."visibility",
"assets"."libraryId",
"assets"."ownerId",
"assets"."livePhotoVideoId",
@@ -372,7 +372,7 @@ from
"assets" as "stacked"
where
"stacked"."deletedAt" is not null
- and "stacked"."isArchived" = $1
+ and "stacked"."visibility" != $1
and "stacked"."stackId" = "asset_stack"."id"
group by
"asset_stack"."id"
@@ -391,7 +391,7 @@ where
"assets"."encodedVideoPath" is null
or "assets"."encodedVideoPath" = $2
)
- and "assets"."isVisible" = $3
+ and "assets"."visibility" != $3
and "assets"."deletedAt" is null
-- AssetJobRepository.getForVideoConversion
@@ -417,7 +417,7 @@ where
"asset_job_status"."metadataExtractedAt" is null
or "asset_job_status"."assetId" is null
)
- and "assets"."isVisible" = $1
+ and "assets"."visibility" != $1
and "assets"."deletedAt" is null
-- AssetJobRepository.getForStorageTemplateJob
@@ -480,7 +480,7 @@ where
"assets"."sidecarPath" = $1
or "assets"."sidecarPath" is null
)
- and "assets"."isVisible" = $2
+ and "assets"."visibility" != $2
-- AssetJobRepository.streamForDetectFacesJob
select
@@ -489,7 +489,7 @@ from
"assets"
inner join "asset_job_status" as "job_status" on "assetId" = "assets"."id"
where
- "assets"."isVisible" = $1
+ "assets"."visibility" != $1
and "assets"."deletedAt" is null
and "job_status"."previewAt" is not null
and "job_status"."facesRecognizedAt" is null
diff --git a/server/src/queries/asset.repository.sql b/server/src/queries/asset.repository.sql
index cb438e1c6d..4a3fbf0e39 100644
--- a/server/src/queries/asset.repository.sql
+++ b/server/src/queries/asset.repository.sql
@@ -43,21 +43,20 @@ with
"asset_job_status"."previewAt" is not null
and (assets."localDateTime" at time zone 'UTC')::date = today.date
and "assets"."ownerId" = any ($3::uuid[])
- and "assets"."isVisible" = $4
- and "assets"."isArchived" = $5
+ and "assets"."visibility" = $4
and exists (
select
from
"asset_files"
where
"assetId" = "assets"."id"
- and "asset_files"."type" = $6
+ and "asset_files"."type" = $5
)
and "assets"."deletedAt" is null
order by
(assets."localDateTime" at time zone 'UTC')::date desc
limit
- $7
+ $6
) as "a" on true
inner join "exif" on "a"."id" = "exif"."assetId"
)
@@ -159,7 +158,7 @@ from
where
"ownerId" = $1::uuid
and "deviceId" = $2
- and "isVisible" = $3
+ and "visibility" != $3
and "deletedAt" is null
-- AssetRepository.getLivePhotoCount
@@ -241,7 +240,10 @@ with
"assets"
where
"assets"."deletedAt" is null
- and "assets"."isVisible" = $2
+ and (
+ "assets"."visibility" = $2
+ or "assets"."visibility" = $3
+ )
)
select
"timeBucket",
@@ -271,7 +273,7 @@ from
where
"stacked"."stackId" = "asset_stack"."id"
and "stacked"."deletedAt" is null
- and "stacked"."isArchived" = $1
+ and "stacked"."visibility" != $1
group by
"asset_stack"."id"
) as "stacked_assets" on "asset_stack"."id" is not null
@@ -281,8 +283,11 @@ where
or "assets"."stackId" is null
)
and "assets"."deletedAt" is null
- and "assets"."isVisible" = $2
- and date_trunc($3, "localDateTime" at time zone 'UTC') at time zone 'UTC' = $4
+ and (
+ "assets"."visibility" = $2
+ or "assets"."visibility" = $3
+ )
+ and date_trunc($4, "localDateTime" at time zone 'UTC') at time zone 'UTC' = $5
order by
"assets"."localDateTime" desc
@@ -307,7 +312,7 @@ with
"assets"."ownerId" = $1::uuid
and "assets"."duplicateId" is not null
and "assets"."deletedAt" is null
- and "assets"."isVisible" = $2
+ and "assets"."visibility" != $2
and "assets"."stackId" is null
group by
"assets"."duplicateId"
@@ -365,12 +370,11 @@ from
inner join "cities" on "exif"."city" = "cities"."city"
where
"ownerId" = $2::uuid
- and "isVisible" = $3
- and "isArchived" = $4
- and "type" = $5
+ and "visibility" = $3
+ and "type" = $4
and "deletedAt" is null
limit
- $6
+ $5
-- AssetRepository.getAllForUserFullSync
select
@@ -394,7 +398,7 @@ from
) as "stacked_assets" on "asset_stack"."id" is not null
where
"assets"."ownerId" = $1::uuid
- and "assets"."isVisible" = $2
+ and "assets"."visibility" != $2
and "assets"."updatedAt" <= $3
and "assets"."id" > $4
order by
@@ -424,7 +428,7 @@ from
) as "stacked_assets" on "asset_stack"."id" is not null
where
"assets"."ownerId" = any ($1::uuid[])
- and "assets"."isVisible" = $2
+ and "assets"."visibility" != $2
and "assets"."updatedAt" > $3
limit
$4
diff --git a/server/src/queries/library.repository.sql b/server/src/queries/library.repository.sql
index 43500a8748..f17d9663d6 100644
--- a/server/src/queries/library.repository.sql
+++ b/server/src/queries/library.repository.sql
@@ -35,14 +35,14 @@ select
where
(
"assets"."type" = $1
- and "assets"."isVisible" = $2
+ and "assets"."visibility" != $2
)
) as "photos",
count(*) filter (
where
(
"assets"."type" = $3
- and "assets"."isVisible" = $4
+ and "assets"."visibility" != $4
)
) as "videos",
coalesce(sum("exif"."fileSizeInByte"), $5) as "usage"
diff --git a/server/src/queries/map.repository.sql b/server/src/queries/map.repository.sql
index b3bb207946..edfdec13d2 100644
--- a/server/src/queries/map.repository.sql
+++ b/server/src/queries/map.repository.sql
@@ -14,7 +14,7 @@ from
and "exif"."latitude" is not null
and "exif"."longitude" is not null
where
- "isVisible" = $1
+ "assets"."visibility" = $1
and "deletedAt" is null
and (
"ownerId" in ($2)
diff --git a/server/src/queries/person.repository.sql b/server/src/queries/person.repository.sql
index f9ba32262d..c77d9835fa 100644
--- a/server/src/queries/person.repository.sql
+++ b/server/src/queries/person.repository.sql
@@ -107,7 +107,7 @@ select
(
select
"assets"."ownerId",
- "assets"."isArchived",
+ "assets"."visibility",
"assets"."fileCreatedAt"
from
"assets"
@@ -143,23 +143,20 @@ select
"asset_faces"."boundingBoxY2" as "y2",
"asset_faces"."imageWidth" as "oldWidth",
"asset_faces"."imageHeight" as "oldHeight",
- "exif"."exifImageWidth",
- "exif"."exifImageHeight",
"assets"."type",
"assets"."originalPath",
- "asset_files"."path" as "previewPath"
+ "asset_files"."path" as "previewPath",
+ "exif"."orientation" as "exifOrientation"
from
"person"
inner join "asset_faces" on "asset_faces"."id" = "person"."faceAssetId"
inner join "assets" on "asset_faces"."assetId" = "assets"."id"
- inner join "exif" on "exif"."assetId" = "assets"."id"
- inner join "asset_files" on "asset_files"."assetId" = "assets"."id"
+ left join "exif" on "exif"."assetId" = "assets"."id"
+ left join "asset_files" on "asset_files"."assetId" = "assets"."id"
where
"person"."id" = $1
and "asset_faces"."deletedAt" is null
and "asset_files"."type" = $2
- and "exif"."exifImageWidth" > $3
- and "exif"."exifImageHeight" > $4
-- PersonRepository.reassignFace
update "asset_faces"
@@ -203,7 +200,7 @@ from
"asset_faces"
left join "assets" on "assets"."id" = "asset_faces"."assetId"
and "asset_faces"."personId" = $1
- and "assets"."isArchived" = $2
+ and "assets"."visibility" != $2
and "assets"."deletedAt" is null
where
"asset_faces"."deletedAt" is null
@@ -220,7 +217,7 @@ from
inner join "asset_faces" on "asset_faces"."personId" = "person"."id"
inner join "assets" on "assets"."id" = "asset_faces"."assetId"
and "assets"."deletedAt" is null
- and "assets"."isArchived" = $2
+ and "assets"."visibility" != $2
where
"person"."ownerId" = $3
and "asset_faces"."deletedAt" is null
diff --git a/server/src/queries/search.repository.sql b/server/src/queries/search.repository.sql
index 4fce272365..c18fe02418 100644
--- a/server/src/queries/search.repository.sql
+++ b/server/src/queries/search.repository.sql
@@ -7,11 +7,11 @@ from
"assets"
inner join "exif" on "assets"."id" = "exif"."assetId"
where
- "assets"."fileCreatedAt" >= $1
- and "exif"."lensModel" = $2
- and "assets"."ownerId" = any ($3::uuid[])
- and "assets"."isFavorite" = $4
- and "assets"."isArchived" = $5
+ "assets"."visibility" = $1
+ and "assets"."fileCreatedAt" >= $2
+ and "exif"."lensModel" = $3
+ and "assets"."ownerId" = any ($4::uuid[])
+ and "assets"."isFavorite" = $5
and "assets"."deletedAt" is null
order by
"assets"."fileCreatedAt" desc
@@ -28,11 +28,11 @@ offset
"assets"
inner join "exif" on "assets"."id" = "exif"."assetId"
where
- "assets"."fileCreatedAt" >= $1
- and "exif"."lensModel" = $2
- and "assets"."ownerId" = any ($3::uuid[])
- and "assets"."isFavorite" = $4
- and "assets"."isArchived" = $5
+ "assets"."visibility" = $1
+ and "assets"."fileCreatedAt" >= $2
+ and "exif"."lensModel" = $3
+ and "assets"."ownerId" = any ($4::uuid[])
+ and "assets"."isFavorite" = $5
and "assets"."deletedAt" is null
and "assets"."id" < $6
order by
@@ -48,11 +48,11 @@ union all
"assets"
inner join "exif" on "assets"."id" = "exif"."assetId"
where
- "assets"."fileCreatedAt" >= $8
- and "exif"."lensModel" = $9
- and "assets"."ownerId" = any ($10::uuid[])
- and "assets"."isFavorite" = $11
- and "assets"."isArchived" = $12
+ "assets"."visibility" = $8
+ and "assets"."fileCreatedAt" >= $9
+ and "exif"."lensModel" = $10
+ and "assets"."ownerId" = any ($11::uuid[])
+ and "assets"."isFavorite" = $12
and "assets"."deletedAt" is null
and "assets"."id" > $13
order by
@@ -71,11 +71,11 @@ from
inner join "exif" on "assets"."id" = "exif"."assetId"
inner join "smart_search" on "assets"."id" = "smart_search"."assetId"
where
- "assets"."fileCreatedAt" >= $1
- and "exif"."lensModel" = $2
- and "assets"."ownerId" = any ($3::uuid[])
- and "assets"."isFavorite" = $4
- and "assets"."isArchived" = $5
+ "assets"."visibility" = $1
+ and "assets"."fileCreatedAt" >= $2
+ and "exif"."lensModel" = $3
+ and "assets"."ownerId" = any ($4::uuid[])
+ and "assets"."isFavorite" = $5
and "assets"."deletedAt" is null
order by
smart_search.embedding <=> $6
@@ -97,7 +97,7 @@ with
where
"assets"."ownerId" = any ($2::uuid[])
and "assets"."deletedAt" is null
- and "assets"."isVisible" = $3
+ and "assets"."visibility" != $3
and "assets"."type" = $4
and "assets"."id" != $5::uuid
and "assets"."stackId" is null
@@ -176,14 +176,13 @@ with recursive
inner join "assets" on "assets"."id" = "exif"."assetId"
where
"assets"."ownerId" = any ($1::uuid[])
- and "assets"."isVisible" = $2
- and "assets"."isArchived" = $3
- and "assets"."type" = $4
+ and "assets"."visibility" = $2
+ and "assets"."type" = $3
and "assets"."deletedAt" is null
order by
"city"
limit
- $5
+ $4
)
union all
(
@@ -200,16 +199,15 @@ with recursive
"exif"
inner join "assets" on "assets"."id" = "exif"."assetId"
where
- "assets"."ownerId" = any ($6::uuid[])
- and "assets"."isVisible" = $7
- and "assets"."isArchived" = $8
- and "assets"."type" = $9
+ "assets"."ownerId" = any ($5::uuid[])
+ and "assets"."visibility" = $6
+ and "assets"."type" = $7
and "assets"."deletedAt" is null
and "exif"."city" > "cte"."city"
order by
"city"
limit
- $10
+ $8
) as "l" on true
)
)
@@ -231,7 +229,7 @@ from
inner join "assets" on "assets"."id" = "exif"."assetId"
where
"ownerId" = any ($1::uuid[])
- and "isVisible" = $2
+ and "visibility" != $2
and "deletedAt" is null
and "state" is not null
@@ -243,7 +241,7 @@ from
inner join "assets" on "assets"."id" = "exif"."assetId"
where
"ownerId" = any ($1::uuid[])
- and "isVisible" = $2
+ and "visibility" != $2
and "deletedAt" is null
and "city" is not null
@@ -255,7 +253,7 @@ from
inner join "assets" on "assets"."id" = "exif"."assetId"
where
"ownerId" = any ($1::uuid[])
- and "isVisible" = $2
+ and "visibility" != $2
and "deletedAt" is null
and "make" is not null
@@ -267,6 +265,6 @@ from
inner join "assets" on "assets"."id" = "exif"."assetId"
where
"ownerId" = any ($1::uuid[])
- and "isVisible" = $2
+ and "visibility" != $2
and "deletedAt" is null
and "model" is not null
diff --git a/server/src/queries/sync.repository.sql b/server/src/queries/sync.repository.sql
index e08335d9f1..54c1292d80 100644
--- a/server/src/queries/sync.repository.sql
+++ b/server/src/queries/sync.repository.sql
@@ -84,7 +84,7 @@ select
"type",
"deletedAt",
"isFavorite",
- "isVisible",
+ "visibility",
"updateId"
from
"assets"
@@ -106,7 +106,7 @@ select
"type",
"deletedAt",
"isFavorite",
- "isVisible",
+ "visibility",
"updateId"
from
"assets"
diff --git a/server/src/queries/user.repository.sql b/server/src/queries/user.repository.sql
index e8ab5018fc..33f2960266 100644
--- a/server/src/queries/user.repository.sql
+++ b/server/src/queries/user.repository.sql
@@ -87,6 +87,16 @@ where
"users"."isAdmin" = $1
and "users"."deletedAt" is null
+-- UserRepository.getForPinCode
+select
+ "users"."pinCode",
+ "users"."password"
+from
+ "users"
+where
+ "users"."id" = $1
+ and "users"."deletedAt" is null
+
-- UserRepository.getByEmail
select
"id",
@@ -285,14 +295,14 @@ select
where
(
"assets"."type" = 'IMAGE'
- and "assets"."isVisible" = true
+ and "assets"."visibility" != 'hidden'
)
) as "photos",
count(*) filter (
where
(
"assets"."type" = 'VIDEO'
- and "assets"."isVisible" = true
+ and "assets"."visibility" != 'hidden'
)
) as "videos",
coalesce(
diff --git a/server/src/queries/view.repository.sql b/server/src/queries/view.repository.sql
index 1510521526..a2260ce5f6 100644
--- a/server/src/queries/view.repository.sql
+++ b/server/src/queries/view.repository.sql
@@ -7,8 +7,7 @@ from
"assets"
where
"ownerId" = $2::uuid
- and "isVisible" = $3
- and "isArchived" = $4
+ and "visibility" = $3
and "deletedAt" is null
and "fileCreatedAt" is not null
and "fileModifiedAt" is not null
@@ -23,13 +22,12 @@ from
left join "exif" on "assets"."id" = "exif"."assetId"
where
"ownerId" = $1::uuid
- and "isVisible" = $2
- and "isArchived" = $3
+ and "visibility" = $2
and "deletedAt" is null
and "fileCreatedAt" is not null
and "fileModifiedAt" is not null
and "localDateTime" is not null
- and "originalPath" like $4
- and "originalPath" not like $5
+ and "originalPath" like $3
+ and "originalPath" not like $4
order by
- regexp_replace("assets"."originalPath", $6, $7) asc
+ regexp_replace("assets"."originalPath", $5, $6) asc
diff --git a/server/src/repositories/access.repository.ts b/server/src/repositories/access.repository.ts
index c24209e482..5680ce2c64 100644
--- a/server/src/repositories/access.repository.ts
+++ b/server/src/repositories/access.repository.ts
@@ -3,7 +3,7 @@ import { Kysely, sql } from 'kysely';
import { InjectKysely } from 'nestjs-kysely';
import { DB } from 'src/db';
import { ChunkedSet, DummyValue, GenerateSql } from 'src/decorators';
-import { AlbumUserRole } from 'src/enum';
+import { AlbumUserRole, AssetVisibility } from 'src/enum';
import { asUuid } from 'src/utils/database';
class ActivityAccess {
@@ -199,7 +199,13 @@ class AssetAccess {
)
.select('assets.id')
.where('partner.sharedWithId', '=', userId)
- .where('assets.isArchived', '=', false)
+ .where((eb) =>
+ eb.or([
+ eb('assets.visibility', '=', sql.lit(AssetVisibility.TIMELINE)),
+ eb('assets.visibility', '=', sql.lit(AssetVisibility.HIDDEN)),
+ ]),
+ )
+
.where('assets.id', 'in', [...assetIds])
.execute()
.then((assets) => new Set(assets.map((asset) => asset.id)));
diff --git a/server/src/repositories/asset-job.repository.ts b/server/src/repositories/asset-job.repository.ts
index 1506f2997f..132bef6988 100644
--- a/server/src/repositories/asset-job.repository.ts
+++ b/server/src/repositories/asset-job.repository.ts
@@ -5,7 +5,7 @@ import { InjectKysely } from 'nestjs-kysely';
import { Asset, columns } from 'src/database';
import { DB } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
-import { AssetFileType, AssetType } from 'src/enum';
+import { AssetFileType, AssetType, AssetVisibility } from 'src/enum';
import { StorageAsset } from 'src/types';
import {
anyUuid,
@@ -34,7 +34,7 @@ export class AssetJobRepository {
'ownerId',
'duplicateId',
'stackId',
- 'isVisible',
+ 'visibility',
'smart_search.embedding',
withFiles(eb, AssetFileType.PREVIEW),
])
@@ -70,7 +70,7 @@ export class AssetJobRepository {
.select(['assets.id', 'assets.thumbhash'])
.select(withFiles)
.where('assets.deletedAt', 'is', null)
- .where('assets.isVisible', '=', true)
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
.$if(!force, (qb) =>
qb
// If there aren't any entries, metadata extraction hasn't run yet which is required for thumbnails
@@ -102,7 +102,7 @@ export class AssetJobRepository {
.selectFrom('assets')
.select([
'assets.id',
- 'assets.isVisible',
+ 'assets.visibility',
'assets.originalFileName',
'assets.originalPath',
'assets.ownerId',
@@ -138,7 +138,7 @@ export class AssetJobRepository {
private assetsWithPreviews() {
return this.db
.selectFrom('assets')
- .where('assets.isVisible', '=', true)
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
.where('assets.deletedAt', 'is', null)
.innerJoin('asset_job_status as job_status', 'assetId', 'assets.id')
.where('job_status.previewAt', 'is not', null);
@@ -169,7 +169,7 @@ export class AssetJobRepository {
getForClipEncoding(id: string) {
return this.db
.selectFrom('assets')
- .select(['assets.id', 'assets.isVisible'])
+ .select(['assets.id', 'assets.visibility'])
.select((eb) => withFiles(eb, AssetFileType.PREVIEW))
.where('assets.id', '=', id)
.executeTakeFirst();
@@ -179,7 +179,7 @@ export class AssetJobRepository {
getForDetectFacesJob(id: string) {
return this.db
.selectFrom('assets')
- .select(['assets.id', 'assets.isVisible'])
+ .select(['assets.id', 'assets.visibility'])
.$call(withExifInner)
.select((eb) => withFaces(eb, true))
.select((eb) => withFiles(eb, AssetFileType.PREVIEW))
@@ -209,7 +209,7 @@ export class AssetJobRepository {
.selectFrom('assets')
.select([
'assets.id',
- 'assets.isVisible',
+ 'assets.visibility',
'assets.libraryId',
'assets.ownerId',
'assets.livePhotoVideoId',
@@ -228,7 +228,7 @@ export class AssetJobRepository {
.select(['asset_stack.id', 'asset_stack.primaryAssetId'])
.select((eb) => eb.fn('array_agg', [eb.table('stacked')]).as('assets'))
.where('stacked.deletedAt', 'is not', null)
- .where('stacked.isArchived', '=', false)
+ .where('stacked.visibility', '!=', AssetVisibility.ARCHIVE)
.whereRef('stacked.stackId', '=', 'asset_stack.id')
.groupBy('asset_stack.id')
.as('stacked_assets'),
@@ -248,7 +248,7 @@ export class AssetJobRepository {
.$if(!force, (qb) =>
qb
.where((eb) => eb.or([eb('assets.encodedVideoPath', 'is', null), eb('assets.encodedVideoPath', '=', '')]))
- .where('assets.isVisible', '=', true),
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN),
)
.where('assets.deletedAt', 'is', null)
.stream();
@@ -275,7 +275,7 @@ export class AssetJobRepository {
.where((eb) =>
eb.or([eb('asset_job_status.metadataExtractedAt', 'is', null), eb('asset_job_status.assetId', 'is', null)]),
)
- .where('assets.isVisible', '=', true),
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN),
)
.where('assets.deletedAt', 'is', null)
.stream();
@@ -331,7 +331,7 @@ export class AssetJobRepository {
.$if(!force, (qb) =>
qb.where((eb) => eb.or([eb('assets.sidecarPath', '=', ''), eb('assets.sidecarPath', 'is', null)])),
)
- .where('assets.isVisible', '=', true)
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
.stream();
}
diff --git a/server/src/repositories/asset.repository.ts b/server/src/repositories/asset.repository.ts
index 89062c210a..9bd115089f 100644
--- a/server/src/repositories/asset.repository.ts
+++ b/server/src/repositories/asset.repository.ts
@@ -6,7 +6,7 @@ import { Stack } from 'src/database';
import { AssetFiles, AssetJobStatus, Assets, DB, Exif } from 'src/db';
import { Chunked, ChunkedArray, DummyValue, GenerateSql } from 'src/decorators';
import { MapAsset } from 'src/dtos/asset-response.dto';
-import { AssetFileType, AssetOrder, AssetStatus, AssetType } from 'src/enum';
+import { AssetFileType, AssetOrder, AssetStatus, AssetType, AssetVisibility } from 'src/enum';
import {
anyUuid,
asUuid,
@@ -14,6 +14,7 @@ import {
removeUndefinedKeys,
truncatedDate,
unnest,
+ withDefaultVisibility,
withExif,
withFaces,
withFacesAndPeople,
@@ -30,8 +31,8 @@ export type AssetStats = Record;
export interface AssetStatsOptions {
isFavorite?: boolean;
- isArchived?: boolean;
isTrashed?: boolean;
+ visibility?: AssetVisibility;
}
export interface LivePhotoSearchOptions {
@@ -52,7 +53,6 @@ export enum TimeBucketSize {
}
export interface AssetBuilderOptions {
- isArchived?: boolean;
isFavorite?: boolean;
isTrashed?: boolean;
isDuplicate?: boolean;
@@ -64,6 +64,7 @@ export interface AssetBuilderOptions {
exifInfo?: boolean;
status?: AssetStatus;
assetType?: AssetType;
+ visibility?: AssetVisibility;
}
export interface TimeBucketOptions extends AssetBuilderOptions {
@@ -258,8 +259,7 @@ export class AssetRepository {
.where('asset_job_status.previewAt', 'is not', null)
.where(sql`(assets."localDateTime" at time zone 'UTC')::date`, '=', sql`today.date`)
.where('assets.ownerId', '=', anyUuid(ownerIds))
- .where('assets.isVisible', '=', true)
- .where('assets.isArchived', '=', false)
+ .where('assets.visibility', '=', AssetVisibility.TIMELINE)
.where((eb) =>
eb.exists((qb) =>
qb
@@ -348,7 +348,7 @@ export class AssetRepository {
.select(['deviceAssetId'])
.where('ownerId', '=', asUuid(ownerId))
.where('deviceId', '=', deviceId)
- .where('isVisible', '=', true)
+ .where('visibility', '!=', AssetVisibility.HIDDEN)
.where('deletedAt', 'is', null)
.execute();
@@ -393,7 +393,7 @@ export class AssetRepository {
.whereRef('stacked.stackId', '=', 'asset_stack.id')
.whereRef('stacked.id', '!=', 'asset_stack.primaryAssetId')
.where('stacked.deletedAt', 'is', null)
- .where('stacked.isArchived', '=', false)
+ .where('stacked.visibility', '=', AssetVisibility.TIMELINE)
.groupBy('asset_stack.id')
.as('stacked_assets'),
(join) => join.on('asset_stack.id', 'is not', null),
@@ -503,7 +503,7 @@ export class AssetRepository {
.executeTakeFirst();
}
- getStatistics(ownerId: string, { isArchived, isFavorite, isTrashed }: AssetStatsOptions): Promise {
+ getStatistics(ownerId: string, { visibility, isFavorite, isTrashed }: AssetStatsOptions): Promise {
return this.db
.selectFrom('assets')
.select((eb) => eb.fn.countAll().filterWhere('type', '=', AssetType.AUDIO).as(AssetType.AUDIO))
@@ -511,8 +511,8 @@ export class AssetRepository {
.select((eb) => eb.fn.countAll().filterWhere('type', '=', AssetType.VIDEO).as(AssetType.VIDEO))
.select((eb) => eb.fn.countAll().filterWhere('type', '=', AssetType.OTHER).as(AssetType.OTHER))
.where('ownerId', '=', asUuid(ownerId))
- .where('isVisible', '=', true)
- .$if(isArchived !== undefined, (qb) => qb.where('isArchived', '=', isArchived!))
+ .$if(visibility === undefined, withDefaultVisibility)
+ .$if(!!visibility, (qb) => qb.where('assets.visibility', '=', visibility!))
.$if(isFavorite !== undefined, (qb) => qb.where('isFavorite', '=', isFavorite!))
.$if(!!isTrashed, (qb) => qb.where('assets.status', '!=', AssetStatus.DELETED))
.where('deletedAt', isTrashed ? 'is not' : 'is', null)
@@ -525,7 +525,7 @@ export class AssetRepository {
.selectAll('assets')
.$call(withExif)
.where('ownerId', '=', anyUuid(userIds))
- .where('isVisible', '=', true)
+ .where('visibility', '!=', AssetVisibility.HIDDEN)
.where('deletedAt', 'is', null)
.orderBy((eb) => eb.fn('random'))
.limit(take)
@@ -542,7 +542,8 @@ export class AssetRepository {
.select(truncatedDate(options.size).as('timeBucket'))
.$if(!!options.isTrashed, (qb) => qb.where('assets.status', '!=', AssetStatus.DELETED))
.where('assets.deletedAt', options.isTrashed ? 'is not' : 'is', null)
- .where('assets.isVisible', '=', true)
+ .$if(options.visibility === undefined, withDefaultVisibility)
+ .$if(!!options.visibility, (qb) => qb.where('assets.visibility', '=', options.visibility!))
.$if(!!options.albumId, (qb) =>
qb
.innerJoin('albums_assets_assets', 'assets.id', 'albums_assets_assets.assetsId')
@@ -559,7 +560,6 @@ export class AssetRepository {
.where((eb) => eb.or([eb('assets.stackId', 'is', null), eb(eb.table('asset_stack'), 'is not', null)])),
)
.$if(!!options.userIds, (qb) => qb.where('assets.ownerId', '=', anyUuid(options.userIds!)))
- .$if(options.isArchived !== undefined, (qb) => qb.where('assets.isArchived', '=', options.isArchived!))
.$if(options.isFavorite !== undefined, (qb) => qb.where('assets.isFavorite', '=', options.isFavorite!))
.$if(!!options.assetType, (qb) => qb.where('assets.type', '=', options.assetType!))
.$if(options.isDuplicate !== undefined, (qb) =>
@@ -594,7 +594,6 @@ export class AssetRepository {
)
.$if(!!options.personId, (qb) => hasPeople(qb, [options.personId!]))
.$if(!!options.userIds, (qb) => qb.where('assets.ownerId', '=', anyUuid(options.userIds!)))
- .$if(options.isArchived !== undefined, (qb) => qb.where('assets.isArchived', '=', options.isArchived!))
.$if(options.isFavorite !== undefined, (qb) => qb.where('assets.isFavorite', '=', options.isFavorite!))
.$if(!!options.withStacked, (qb) =>
qb
@@ -610,7 +609,7 @@ export class AssetRepository {
.select((eb) => eb.fn.count(eb.table('stacked')).as('assetCount'))
.whereRef('stacked.stackId', '=', 'asset_stack.id')
.where('stacked.deletedAt', 'is', null)
- .where('stacked.isArchived', '=', false)
+ .where('stacked.visibility', '!=', AssetVisibility.ARCHIVE)
.groupBy('asset_stack.id')
.as('stacked_assets'),
(join) => join.on('asset_stack.id', 'is not', null),
@@ -624,7 +623,8 @@ export class AssetRepository {
.$if(!!options.isTrashed, (qb) => qb.where('assets.status', '!=', AssetStatus.DELETED))
.$if(!!options.tagId, (qb) => withTagId(qb, options.tagId!))
.where('assets.deletedAt', options.isTrashed ? 'is not' : 'is', null)
- .where('assets.isVisible', '=', true)
+ .$if(options.visibility == undefined, withDefaultVisibility)
+ .$if(!!options.visibility, (qb) => qb.where('assets.visibility', '=', options.visibility!))
.where(truncatedDate(options.size), '=', timeBucket.replace(/^[+-]/, ''))
.orderBy('assets.localDateTime', options.order ?? 'desc')
.execute();
@@ -658,7 +658,7 @@ export class AssetRepository {
.where('assets.duplicateId', 'is not', null)
.$narrowType<{ duplicateId: NotNull }>()
.where('assets.deletedAt', 'is', null)
- .where('assets.isVisible', '=', true)
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
.where('assets.stackId', 'is', null)
.groupBy('assets.duplicateId'),
)
@@ -703,8 +703,7 @@ export class AssetRepository {
.select(['assetId as data', 'exif.city as value'])
.$narrowType<{ value: NotNull }>()
.where('ownerId', '=', asUuid(ownerId))
- .where('isVisible', '=', true)
- .where('isArchived', '=', false)
+ .where('visibility', '=', AssetVisibility.TIMELINE)
.where('type', '=', AssetType.IMAGE)
.where('deletedAt', 'is', null)
.limit(maxFields)
@@ -743,7 +742,7 @@ export class AssetRepository {
)
.select((eb) => eb.fn.toJson(eb.table('stacked_assets')).$castTo().as('stack'))
.where('assets.ownerId', '=', asUuid(ownerId))
- .where('assets.isVisible', '=', true)
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
.where('assets.updatedAt', '<=', updatedUntil)
.$if(!!lastId, (qb) => qb.where('assets.id', '>', lastId!))
.orderBy('assets.id')
@@ -771,7 +770,7 @@ export class AssetRepository {
)
.select((eb) => eb.fn.toJson(eb.table('stacked_assets').$castTo()).as('stack'))
.where('assets.ownerId', '=', anyUuid(options.userIds))
- .where('assets.isVisible', '=', true)
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
.where('assets.updatedAt', '>', options.updatedAfter)
.limit(options.limit)
.execute();
diff --git a/server/src/repositories/audit.repository.ts b/server/src/repositories/audit.repository.ts
index 5961e4f25d..48d7f28d12 100644
--- a/server/src/repositories/audit.repository.ts
+++ b/server/src/repositories/audit.repository.ts
@@ -29,7 +29,9 @@ export class AuditRepository {
.$if(!!options.entityType, (qb) => qb.where('audit.entityType', '=', options.entityType!))
.where('audit.ownerId', 'in', options.userIds)
.distinctOn(['audit.entityId', 'audit.entityType'])
- .orderBy(['audit.entityId desc', 'audit.entityType desc', 'audit.createdAt desc'])
+ .orderBy('audit.entityId', 'desc')
+ .orderBy('audit.entityType', 'desc')
+ .orderBy('audit.createdAt', 'desc')
.select('audit.entityId')
.execute();
diff --git a/server/src/repositories/config.repository.spec.ts b/server/src/repositories/config.repository.spec.ts
index 9e9ed71191..143892fdd0 100644
--- a/server/src/repositories/config.repository.spec.ts
+++ b/server/src/repositories/config.repository.spec.ts
@@ -23,6 +23,7 @@ const resetEnv = () => {
'DB_USERNAME',
'DB_PASSWORD',
'DB_DATABASE_NAME',
+ 'DB_SSL_MODE',
'DB_SKIP_MIGRATIONS',
'DB_VECTOR_EXTENSION',
@@ -92,6 +93,17 @@ describe('getEnv', () => {
});
});
+ it('should validate DB_SSL_MODE', () => {
+ process.env.DB_SSL_MODE = 'invalid';
+ expect(() => getEnv()).toThrowError('Invalid environment variables: DB_SSL_MODE');
+ });
+
+ it('should accept a valid DB_SSL_MODE', () => {
+ process.env.DB_SSL_MODE = 'prefer';
+ const { database } = getEnv();
+ expect(database.config).toMatchObject(expect.objectContaining({ ssl: 'prefer' }));
+ });
+
it('should allow skipping migrations', () => {
process.env.DB_SKIP_MIGRATIONS = 'true';
const { database } = getEnv();
diff --git a/server/src/repositories/config.repository.ts b/server/src/repositories/config.repository.ts
index 9b88a78e6b..9b3e406437 100644
--- a/server/src/repositories/config.repository.ts
+++ b/server/src/repositories/config.repository.ts
@@ -193,6 +193,7 @@ const getEnv = (): EnvData => {
username: dto.DB_USERNAME || 'postgres',
password: dto.DB_PASSWORD || 'postgres',
database: dto.DB_DATABASE_NAME || 'immich',
+ ssl: dto.DB_SSL_MODE || undefined,
};
return {
diff --git a/server/src/repositories/download.repository.ts b/server/src/repositories/download.repository.ts
index c9c62c90ce..4c4bed07ff 100644
--- a/server/src/repositories/download.repository.ts
+++ b/server/src/repositories/download.repository.ts
@@ -2,6 +2,7 @@ import { Injectable } from '@nestjs/common';
import { Kysely } from 'kysely';
import { InjectKysely } from 'nestjs-kysely';
import { DB } from 'src/db';
+import { AssetVisibility } from 'src/enum';
import { anyUuid } from 'src/utils/database';
const builder = (db: Kysely) =>
@@ -31,6 +32,9 @@ export class DownloadRepository {
}
downloadUserId(userId: string) {
- return builder(this.db).where('assets.ownerId', '=', userId).where('assets.isVisible', '=', true).stream();
+ return builder(this.db)
+ .where('assets.ownerId', '=', userId)
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
+ .stream();
}
}
diff --git a/server/src/repositories/library.repository.ts b/server/src/repositories/library.repository.ts
index fd9dd81b7b..b6c5ebbe08 100644
--- a/server/src/repositories/library.repository.ts
+++ b/server/src/repositories/library.repository.ts
@@ -4,7 +4,7 @@ import { InjectKysely } from 'nestjs-kysely';
import { DB, Libraries } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
import { LibraryStatsResponseDto } from 'src/dtos/library.dto';
-import { AssetType } from 'src/enum';
+import { AssetType, AssetVisibility } from 'src/enum';
export enum AssetSyncResult {
DO_NOTHING,
@@ -77,13 +77,17 @@ export class LibraryRepository {
.select((eb) =>
eb.fn
.countAll()
- .filterWhere((eb) => eb.and([eb('assets.type', '=', AssetType.IMAGE), eb('assets.isVisible', '=', true)]))
+ .filterWhere((eb) =>
+ eb.and([eb('assets.type', '=', AssetType.IMAGE), eb('assets.visibility', '!=', AssetVisibility.HIDDEN)]),
+ )
.as('photos'),
)
.select((eb) =>
eb.fn
.countAll()
- .filterWhere((eb) => eb.and([eb('assets.type', '=', AssetType.VIDEO), eb('assets.isVisible', '=', true)]))
+ .filterWhere((eb) =>
+ eb.and([eb('assets.type', '=', AssetType.VIDEO), eb('assets.visibility', '!=', AssetVisibility.HIDDEN)]),
+ )
.as('videos'),
)
.select((eb) => eb.fn.coalesce((eb) => eb.fn.sum('exif.fileSizeInByte'), eb.val(0)).as('usage'))
diff --git a/server/src/repositories/map.repository.ts b/server/src/repositories/map.repository.ts
index f9998ad179..3f559442aa 100644
--- a/server/src/repositories/map.repository.ts
+++ b/server/src/repositories/map.repository.ts
@@ -8,7 +8,7 @@ import readLine from 'node:readline';
import { citiesFile } from 'src/constants';
import { DB, GeodataPlaces, NaturalearthCountries } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
-import { SystemMetadataKey } from 'src/enum';
+import { AssetVisibility, SystemMetadataKey } from 'src/enum';
import { ConfigRepository } from 'src/repositories/config.repository';
import { LoggingRepository } from 'src/repositories/logging.repository';
import { SystemMetadataRepository } from 'src/repositories/system-metadata.repository';
@@ -75,9 +75,11 @@ export class MapRepository {
}
@GenerateSql({ params: [[DummyValue.UUID], [DummyValue.UUID]] })
- getMapMarkers(ownerIds: string[], albumIds: string[], options: MapMarkerSearchOptions = {}) {
- const { isArchived, isFavorite, fileCreatedAfter, fileCreatedBefore } = options;
-
+ getMapMarkers(
+ ownerIds: string[],
+ albumIds: string[],
+ { isArchived, isFavorite, fileCreatedAfter, fileCreatedBefore }: MapMarkerSearchOptions = {},
+ ) {
return this.db
.selectFrom('assets')
.innerJoin('exif', (builder) =>
@@ -88,8 +90,17 @@ export class MapRepository {
)
.select(['id', 'exif.latitude as lat', 'exif.longitude as lon', 'exif.city', 'exif.state', 'exif.country'])
.$narrowType<{ lat: NotNull; lon: NotNull }>()
- .where('isVisible', '=', true)
- .$if(isArchived !== undefined, (q) => q.where('isArchived', '=', isArchived!))
+ .$if(isArchived === true, (qb) =>
+ qb.where((eb) =>
+ eb.or([
+ eb('assets.visibility', '=', AssetVisibility.TIMELINE),
+ eb('assets.visibility', '=', AssetVisibility.ARCHIVE),
+ ]),
+ ),
+ )
+ .$if(isArchived === false || isArchived === undefined, (qb) =>
+ qb.where('assets.visibility', '=', AssetVisibility.TIMELINE),
+ )
.$if(isFavorite !== undefined, (q) => q.where('isFavorite', '=', isFavorite!))
.$if(fileCreatedAfter !== undefined, (q) => q.where('fileCreatedAt', '>=', fileCreatedAfter!))
.$if(fileCreatedBefore !== undefined, (q) => q.where('fileCreatedAt', '<=', fileCreatedBefore!))
diff --git a/server/src/repositories/person.repository.ts b/server/src/repositories/person.repository.ts
index 0383a54a27..789c47ccaf 100644
--- a/server/src/repositories/person.repository.ts
+++ b/server/src/repositories/person.repository.ts
@@ -4,7 +4,7 @@ import { jsonObjectFrom } from 'kysely/helpers/postgres';
import { InjectKysely } from 'nestjs-kysely';
import { AssetFaces, DB, FaceSearch, Person } from 'src/db';
import { ChunkedArray, DummyValue, GenerateSql } from 'src/decorators';
-import { AssetFileType, SourceType } from 'src/enum';
+import { AssetFileType, AssetVisibility, SourceType } from 'src/enum';
import { removeUndefinedKeys } from 'src/utils/database';
import { paginationHelper, PaginationOptions } from 'src/utils/pagination';
@@ -157,7 +157,7 @@ export class PersonRepository {
.innerJoin('assets', (join) =>
join
.onRef('asset_faces.assetId', '=', 'assets.id')
- .on('assets.isArchived', '=', false)
+ .on('assets.visibility', '!=', AssetVisibility.ARCHIVE)
.on('assets.deletedAt', 'is', null),
)
.where('person.ownerId', '=', userId)
@@ -248,7 +248,7 @@ export class PersonRepository {
jsonObjectFrom(
eb
.selectFrom('assets')
- .select(['assets.ownerId', 'assets.isArchived', 'assets.fileCreatedAt'])
+ .select(['assets.ownerId', 'assets.visibility', 'assets.fileCreatedAt'])
.whereRef('assets.id', '=', 'asset_faces.assetId'),
).as('asset'),
)
@@ -264,8 +264,8 @@ export class PersonRepository {
.selectFrom('person')
.innerJoin('asset_faces', 'asset_faces.id', 'person.faceAssetId')
.innerJoin('assets', 'asset_faces.assetId', 'assets.id')
- .innerJoin('exif', 'exif.assetId', 'assets.id')
- .innerJoin('asset_files', 'asset_files.assetId', 'assets.id')
+ .leftJoin('exif', 'exif.assetId', 'assets.id')
+ .leftJoin('asset_files', 'asset_files.assetId', 'assets.id')
.select([
'person.ownerId',
'asset_faces.boundingBoxX1 as x1',
@@ -274,17 +274,14 @@ export class PersonRepository {
'asset_faces.boundingBoxY2 as y2',
'asset_faces.imageWidth as oldWidth',
'asset_faces.imageHeight as oldHeight',
- 'exif.exifImageWidth',
- 'exif.exifImageHeight',
'assets.type',
'assets.originalPath',
'asset_files.path as previewPath',
+ 'exif.orientation as exifOrientation',
])
.where('person.id', '=', id)
.where('asset_faces.deletedAt', 'is', null)
.where('asset_files.type', '=', AssetFileType.PREVIEW)
- .where('exif.exifImageWidth', '>', 0)
- .where('exif.exifImageHeight', '>', 0)
.$narrowType<{ exifImageWidth: NotNull; exifImageHeight: NotNull }>()
.executeTakeFirst();
}
@@ -346,7 +343,7 @@ export class PersonRepository {
join
.onRef('assets.id', '=', 'asset_faces.assetId')
.on('asset_faces.personId', '=', personId)
- .on('assets.isArchived', '=', false)
+ .on('assets.visibility', '!=', AssetVisibility.ARCHIVE)
.on('assets.deletedAt', 'is', null),
)
.select((eb) => eb.fn.count(eb.fn('distinct', ['assets.id'])).as('count'))
@@ -369,7 +366,7 @@ export class PersonRepository {
join
.onRef('assets.id', '=', 'asset_faces.assetId')
.on('assets.deletedAt', 'is', null)
- .on('assets.isArchived', '=', false),
+ .on('assets.visibility', '!=', AssetVisibility.ARCHIVE),
)
.select((eb) => eb.fn.count(eb.fn('distinct', ['person.id'])).as('total'))
.select((eb) =>
diff --git a/server/src/repositories/search.repository.ts b/server/src/repositories/search.repository.ts
index b991ecc78b..4e6b6e0fcf 100644
--- a/server/src/repositories/search.repository.ts
+++ b/server/src/repositories/search.repository.ts
@@ -5,7 +5,7 @@ import { randomUUID } from 'node:crypto';
import { DB, Exif } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
import { MapAsset } from 'src/dtos/asset-response.dto';
-import { AssetStatus, AssetType } from 'src/enum';
+import { AssetStatus, AssetType, AssetVisibility } from 'src/enum';
import { ConfigRepository } from 'src/repositories/config.repository';
import { anyUuid, asUuid, searchAssetBuilder, vectorIndexQuery } from 'src/utils/database';
import { paginationHelper } from 'src/utils/pagination';
@@ -26,17 +26,16 @@ export interface SearchUserIdOptions {
export type SearchIdOptions = SearchAssetIdOptions & SearchUserIdOptions;
export interface SearchStatusOptions {
- isArchived?: boolean;
isEncoded?: boolean;
isFavorite?: boolean;
isMotion?: boolean;
isOffline?: boolean;
- isVisible?: boolean;
isNotInAlbum?: boolean;
type?: AssetType;
status?: AssetStatus;
withArchived?: boolean;
withDeleted?: boolean;
+ visibility?: AssetVisibility;
}
export interface SearchOneToOneRelationOptions {
@@ -276,7 +275,7 @@ export class SearchRepository {
.innerJoin('smart_search', 'assets.id', 'smart_search.assetId')
.where('assets.ownerId', '=', anyUuid(userIds))
.where('assets.deletedAt', 'is', null)
- .where('assets.isVisible', '=', true)
+ .where('assets.visibility', '!=', AssetVisibility.HIDDEN)
.where('assets.type', '=', type)
.where('assets.id', '!=', asUuid(assetId))
.where('assets.stackId', 'is', null)
@@ -367,8 +366,7 @@ export class SearchRepository {
.select(['city', 'assetId'])
.innerJoin('assets', 'assets.id', 'exif.assetId')
.where('assets.ownerId', '=', anyUuid(userIds))
- .where('assets.isVisible', '=', true)
- .where('assets.isArchived', '=', false)
+ .where('assets.visibility', '=', AssetVisibility.TIMELINE)
.where('assets.type', '=', AssetType.IMAGE)
.where('assets.deletedAt', 'is', null)
.orderBy('city')
@@ -384,8 +382,7 @@ export class SearchRepository {
.select(['city', 'assetId'])
.innerJoin('assets', 'assets.id', 'exif.assetId')
.where('assets.ownerId', '=', anyUuid(userIds))
- .where('assets.isVisible', '=', true)
- .where('assets.isArchived', '=', false)
+ .where('assets.visibility', '=', AssetVisibility.TIMELINE)
.where('assets.type', '=', AssetType.IMAGE)
.where('assets.deletedAt', 'is', null)
.whereRef('exif.city', '>', 'cte.city')
@@ -518,7 +515,7 @@ export class SearchRepository {
.distinctOn(field)
.innerJoin('assets', 'assets.id', 'exif.assetId')
.where('ownerId', '=', anyUuid(userIds))
- .where('isVisible', '=', true)
+ .where('visibility', '!=', AssetVisibility.HIDDEN)
.where('deletedAt', 'is', null)
.where(field, 'is not', null);
}
diff --git a/server/src/repositories/sync.repository.ts b/server/src/repositories/sync.repository.ts
index 613142cb99..f0c535ecf2 100644
--- a/server/src/repositories/sync.repository.ts
+++ b/server/src/repositories/sync.repository.ts
@@ -159,7 +159,7 @@ export class SyncRepository {
return builder
.where('deletedAt', '<', sql.raw("now() - interval '1 millisecond'"))
.$if(!!ack, (qb) => qb.where('id', '>', ack!.updateId))
- .orderBy(['id asc']) as SelectQueryBuilder;
+ .orderBy('id', 'asc') as SelectQueryBuilder;
}
private upsertTableFilters, D>(
@@ -170,6 +170,6 @@ export class SyncRepository {
return builder
.where('updatedAt', '<', sql.raw("now() - interval '1 millisecond'"))
.$if(!!ack, (qb) => qb.where('updateId', '>', ack!.updateId))
- .orderBy(['updateId asc']) as SelectQueryBuilder;
+ .orderBy('updateId', 'asc') as SelectQueryBuilder;
}
}
diff --git a/server/src/repositories/user.repository.ts b/server/src/repositories/user.repository.ts
index e2e396f7b2..f8710746aa 100644
--- a/server/src/repositories/user.repository.ts
+++ b/server/src/repositories/user.repository.ts
@@ -6,7 +6,7 @@ import { InjectKysely } from 'nestjs-kysely';
import { columns } from 'src/database';
import { DB, UserMetadata as DbUserMetadata } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
-import { AssetType, UserStatus } from 'src/enum';
+import { AssetType, AssetVisibility, UserStatus } from 'src/enum';
import { UserTable } from 'src/schema/tables/user.table';
import { UserMetadata, UserMetadataItem } from 'src/types';
import { asUuid } from 'src/utils/database';
@@ -89,13 +89,23 @@ export class UserRepository {
return !!admin;
}
+ @GenerateSql({ params: [DummyValue.UUID] })
+ getForPinCode(id: string) {
+ return this.db
+ .selectFrom('users')
+ .select(['users.pinCode', 'users.password'])
+ .where('users.id', '=', id)
+ .where('users.deletedAt', 'is', null)
+ .executeTakeFirstOrThrow();
+ }
+
@GenerateSql({ params: [DummyValue.EMAIL] })
- getByEmail(email: string, withPassword?: boolean) {
+ getByEmail(email: string, options?: { withPassword?: boolean }) {
return this.db
.selectFrom('users')
.select(columns.userAdmin)
.select(withMetadata)
- .$if(!!withPassword, (eb) => eb.select('password'))
+ .$if(!!options?.withPassword, (eb) => eb.select('password'))
.where('email', '=', email)
.where('users.deletedAt', 'is', null)
.executeTakeFirst();
@@ -205,13 +215,19 @@ export class UserRepository {
eb.fn
.countAll()
.filterWhere((eb) =>
- eb.and([eb('assets.type', '=', sql.lit(AssetType.IMAGE)), eb('assets.isVisible', '=', sql.lit(true))]),
+ eb.and([
+ eb('assets.type', '=', sql.lit(AssetType.IMAGE)),
+ eb('assets.visibility', '!=', sql.lit(AssetVisibility.HIDDEN)),
+ ]),
)
.as('photos'),
eb.fn
.countAll()
.filterWhere((eb) =>
- eb.and([eb('assets.type', '=', sql.lit(AssetType.VIDEO)), eb('assets.isVisible', '=', sql.lit(true))]),
+ eb.and([
+ eb('assets.type', '=', sql.lit(AssetType.VIDEO)),
+ eb('assets.visibility', '!=', sql.lit(AssetVisibility.HIDDEN)),
+ ]),
)
.as('videos'),
eb.fn
diff --git a/server/src/repositories/view-repository.ts b/server/src/repositories/view-repository.ts
index e32933065c..03e8b3763f 100644
--- a/server/src/repositories/view-repository.ts
+++ b/server/src/repositories/view-repository.ts
@@ -2,6 +2,7 @@ import { Kysely } from 'kysely';
import { InjectKysely } from 'nestjs-kysely';
import { DB } from 'src/db';
import { DummyValue, GenerateSql } from 'src/decorators';
+import { AssetVisibility } from 'src/enum';
import { asUuid, withExif } from 'src/utils/database';
export class ViewRepository {
@@ -14,8 +15,7 @@ export class ViewRepository {
.select((eb) => eb.fn('substring', ['assets.originalPath', eb.val('^(.*/)[^/]*$')]).as('directoryPath'))
.distinct()
.where('ownerId', '=', asUuid(userId))
- .where('isVisible', '=', true)
- .where('isArchived', '=', false)
+ .where('visibility', '=', AssetVisibility.TIMELINE)
.where('deletedAt', 'is', null)
.where('fileCreatedAt', 'is not', null)
.where('fileModifiedAt', 'is not', null)
@@ -34,8 +34,7 @@ export class ViewRepository {
.selectAll('assets')
.$call(withExif)
.where('ownerId', '=', asUuid(userId))
- .where('isVisible', '=', true)
- .where('isArchived', '=', false)
+ .where('visibility', '=', AssetVisibility.TIMELINE)
.where('deletedAt', 'is', null)
.where('fileCreatedAt', 'is not', null)
.where('fileModifiedAt', 'is not', null)
diff --git a/server/src/schema/enums.ts b/server/src/schema/enums.ts
index 100b92aa63..a1134df6bc 100644
--- a/server/src/schema/enums.ts
+++ b/server/src/schema/enums.ts
@@ -1,4 +1,4 @@
-import { AssetStatus, SourceType } from 'src/enum';
+import { AssetStatus, AssetVisibility, SourceType } from 'src/enum';
import { registerEnum } from 'src/sql-tools';
export const assets_status_enum = registerEnum({
@@ -10,3 +10,8 @@ export const asset_face_source_type = registerEnum({
name: 'sourcetype',
values: Object.values(SourceType),
});
+
+export const asset_visibility_enum = registerEnum({
+ name: 'asset_visibility_enum',
+ values: Object.values(AssetVisibility),
+});
diff --git a/server/src/schema/index.ts b/server/src/schema/index.ts
index c62681d049..735dfd3ae9 100644
--- a/server/src/schema/index.ts
+++ b/server/src/schema/index.ts
@@ -1,4 +1,4 @@
-import { asset_face_source_type, assets_status_enum } from 'src/schema/enums';
+import { asset_face_source_type, asset_visibility_enum, assets_status_enum } from 'src/schema/enums';
import {
assets_delete_audit,
f_concat_ws,
@@ -101,5 +101,5 @@ export class ImmichDatabase {
assets_delete_audit,
];
- enum = [assets_status_enum, asset_face_source_type];
+ enum = [assets_status_enum, asset_face_source_type, asset_visibility_enum];
}
diff --git a/server/src/schema/migrations/1745902563899-AddAssetVisibilityColumn.ts b/server/src/schema/migrations/1745902563899-AddAssetVisibilityColumn.ts
new file mode 100644
index 0000000000..6fe9dab1a0
--- /dev/null
+++ b/server/src/schema/migrations/1745902563899-AddAssetVisibilityColumn.ts
@@ -0,0 +1,37 @@
+import { Kysely, sql } from 'kysely';
+
+export async function up(db: Kysely): Promise {
+ await sql`CREATE TYPE "asset_visibility_enum" AS ENUM ('archive','timeline','hidden');`.execute(db);
+ await sql`ALTER TABLE "assets"
+ ADD "visibility" asset_visibility_enum NOT NULL DEFAULT 'timeline';`.execute(db);
+
+ await sql`
+ UPDATE "assets"
+ SET "visibility" = CASE
+ WHEN "isArchived" THEN 'archive'::asset_visibility_enum
+ WHEN "isVisible" THEN 'timeline'::asset_visibility_enum
+ ELSE 'hidden'::asset_visibility_enum
+ END;
+ `.execute(db);
+
+ await sql`ALTER TABLE "assets" DROP COLUMN "isVisible";`.execute(db);
+ await sql`ALTER TABLE "assets" DROP COLUMN "isArchived";`.execute(db);
+}
+
+export async function down(db: Kysely): Promise {
+ await sql`ALTER TABLE "assets" ADD COLUMN "isArchived" BOOLEAN NOT NULL DEFAULT FALSE;`.execute(db);
+ await sql`ALTER TABLE "assets" ADD COLUMN "isVisible" BOOLEAN NOT NULL DEFAULT TRUE;`.execute(db);
+
+ await sql`
+ UPDATE "assets"
+ SET
+ "isArchived" = ("visibility" = 'archive'::asset_visibility_enum),
+ "isVisible" = CASE
+ WHEN "visibility" = 'timeline'::asset_visibility_enum THEN TRUE
+ WHEN "visibility" = 'archive'::asset_visibility_enum THEN TRUE
+ ELSE FALSE
+ END;
+ `.execute(db);
+ await sql`ALTER TABLE "assets" DROP COLUMN "visibility";`.execute(db);
+ await sql`DROP TYPE "asset_visibility_enum";`.execute(db);
+}
diff --git a/server/src/schema/migrations/1746636476623-DropExtraIndexes.ts b/server/src/schema/migrations/1746636476623-DropExtraIndexes.ts
new file mode 100644
index 0000000000..1518593428
--- /dev/null
+++ b/server/src/schema/migrations/1746636476623-DropExtraIndexes.ts
@@ -0,0 +1,29 @@
+import { Kysely, sql } from 'kysely';
+
+export async function up(db: Kysely): Promise {
+ const { rows } = await sql<{ db: string }>`SELECT current_database() as db`.execute(db);
+ const databaseName = rows[0].db;
+ await sql.raw(`ALTER DATABASE "${databaseName}" SET search_path TO "$user", public, vectors`).execute(db);
+ const naturalearth_pkey = await sql<{ constraint_name: string }>`SELECT constraint_name
+ FROM information_schema.table_constraints
+ WHERE table_schema = 'public'
+ AND table_name = 'naturalearth_countries'
+ AND constraint_type = 'PRIMARY KEY';`.execute(db);
+ const naturalearth_pkey_name = naturalearth_pkey.rows[0]?.constraint_name;
+ if(naturalearth_pkey_name) {
+ await sql`ALTER TABLE "naturalearth_countries"
+ DROP CONSTRAINT ${sql.ref(naturalearth_pkey_name)};`.execute(db);
+ }
+ await sql`ALTER TABLE "naturalearth_countries" ADD CONSTRAINT "naturalearth_countries_pkey" PRIMARY KEY ("id") WITH (FILLFACTOR = 100);`.execute(db);
+ await sql`DROP INDEX IF EXISTS "IDX_02a43fd0b3c50fb6d7f0cb7282";`.execute(db);
+ await sql`DROP INDEX IF EXISTS "IDX_95ad7106dd7b484275443f580f";`.execute(db);
+ await sql`DROP INDEX IF EXISTS "IDX_7e077a8b70b3530138610ff5e0";`.execute(db);
+ await sql`DROP INDEX IF EXISTS "IDX_92e67dc508c705dd66c9461557";`.execute(db);
+ await sql`DROP INDEX IF EXISTS "IDX_6afb43681a21cf7815932bc38a";`.execute(db);
+}
+
+export async function down(db: Kysely): Promise {
+ const { rows } = await sql<{ db: string }>`SELECT current_database() as db`.execute(db);
+ const databaseName = rows[0].db;
+ await sql.raw(`ALTER DATABASE "${databaseName}" RESET "search_path"`).execute(db);
+}
diff --git a/server/src/schema/migrations/1746768490606-AddUserPincode.ts b/server/src/schema/migrations/1746768490606-AddUserPincode.ts
new file mode 100644
index 0000000000..12dc3c2d12
--- /dev/null
+++ b/server/src/schema/migrations/1746768490606-AddUserPincode.ts
@@ -0,0 +1,9 @@
+import { Kysely, sql } from 'kysely';
+
+export async function up(db: Kysely): Promise {
+ await sql`ALTER TABLE "users" ADD "pinCode" character varying;`.execute(db);
+}
+
+export async function down(db: Kysely): Promise {
+ await sql`ALTER TABLE "users" DROP COLUMN "pinCode";`.execute(db);
+}
diff --git a/server/src/schema/tables/asset.table.ts b/server/src/schema/tables/asset.table.ts
index 19ec8d2ef4..d337984a46 100644
--- a/server/src/schema/tables/asset.table.ts
+++ b/server/src/schema/tables/asset.table.ts
@@ -1,6 +1,6 @@
import { UpdatedAtTrigger, UpdateIdColumn } from 'src/decorators';
-import { AssetStatus, AssetType } from 'src/enum';
-import { assets_status_enum } from 'src/schema/enums';
+import { AssetStatus, AssetType, AssetVisibility } from 'src/enum';
+import { asset_visibility_enum, assets_status_enum } from 'src/schema/enums';
import { assets_delete_audit } from 'src/schema/functions';
import { LibraryTable } from 'src/schema/tables/library.table';
import { StackTable } from 'src/schema/tables/stack.table';
@@ -95,9 +95,6 @@ export class AssetTable {
@Column({ type: 'bytea', index: true })
checksum!: Buffer; // sha1 checksum
- @Column({ type: 'boolean', default: true })
- isVisible!: boolean;
-
@ForeignKeyColumn(() => AssetTable, { nullable: true, onUpdate: 'CASCADE', onDelete: 'SET NULL' })
livePhotoVideoId!: string | null;
@@ -107,9 +104,6 @@ export class AssetTable {
@CreateDateColumn()
createdAt!: Date;
- @Column({ type: 'boolean', default: false })
- isArchived!: boolean;
-
@Column({ index: true })
originalFileName!: string;
@@ -145,4 +139,7 @@ export class AssetTable {
@UpdateIdColumn({ indexName: 'IDX_assets_update_id' })
updateId?: string;
+
+ @Column({ enum: asset_visibility_enum, default: AssetVisibility.TIMELINE })
+ visibility!: AssetVisibility;
}
diff --git a/server/src/schema/tables/natural-earth-countries.table.ts b/server/src/schema/tables/natural-earth-countries.table.ts
index df1132d17d..e5e6ead772 100644
--- a/server/src/schema/tables/natural-earth-countries.table.ts
+++ b/server/src/schema/tables/natural-earth-countries.table.ts
@@ -1,6 +1,6 @@
import { Column, PrimaryGeneratedColumn, Table } from 'src/sql-tools';
-@Table({ name: 'naturalearth_countries' })
+@Table({ name: 'naturalearth_countries', primaryConstraintName: 'naturalearth_countries_pkey' })
export class NaturalEarthCountriesTable {
@PrimaryGeneratedColumn({ strategy: 'identity' })
id!: number;
diff --git a/server/src/schema/tables/shared-link.table.ts b/server/src/schema/tables/shared-link.table.ts
index 3bb36b36ed..39693f3893 100644
--- a/server/src/schema/tables/shared-link.table.ts
+++ b/server/src/schema/tables/shared-link.table.ts
@@ -16,7 +16,7 @@ export class SharedLinkTable {
userId!: string;
@Column({ type: 'bytea', indexName: 'IDX_sharedlink_key' })
- key!: Buffer; // use to access the inidividual asset
+ key!: Buffer; // use to access the individual asset
@Column()
type!: SharedLinkType;
diff --git a/server/src/schema/tables/user.table.ts b/server/src/schema/tables/user.table.ts
index 7525a739a6..c806d6e3f7 100644
--- a/server/src/schema/tables/user.table.ts
+++ b/server/src/schema/tables/user.table.ts
@@ -37,6 +37,9 @@ export class UserTable {
@Column({ default: '' })
password!: Generated;
+ @Column({ nullable: true })
+ pinCode!: string | null;
+
@CreateDateColumn()
createdAt!: Generated;
diff --git a/server/src/services/asset-media.service.spec.ts b/server/src/services/asset-media.service.spec.ts
index d25067f1c9..8490e8aaea 100644
--- a/server/src/services/asset-media.service.spec.ts
+++ b/server/src/services/asset-media.service.spec.ts
@@ -9,7 +9,7 @@ import { AssetFile } from 'src/database';
import { AssetMediaStatus, AssetRejectReason, AssetUploadAction } from 'src/dtos/asset-media-response.dto';
import { AssetMediaCreateDto, AssetMediaReplaceDto, AssetMediaSize, UploadFieldName } from 'src/dtos/asset-media.dto';
import { MapAsset } from 'src/dtos/asset-response.dto';
-import { AssetFileType, AssetStatus, AssetType, CacheControl, JobName } from 'src/enum';
+import { AssetFileType, AssetStatus, AssetType, AssetVisibility, CacheControl, JobName } from 'src/enum';
import { AuthRequest } from 'src/middleware/auth.guard';
import { AssetMediaService } from 'src/services/asset-media.service';
import { ASSET_CHECKSUM_CONSTRAINT } from 'src/utils/database';
@@ -142,7 +142,6 @@ const createDto = Object.freeze({
fileCreatedAt: new Date('2022-06-19T23:41:36.910Z'),
fileModifiedAt: new Date('2022-06-19T23:41:36.910Z'),
isFavorite: false,
- isArchived: false,
duration: '0:00:00.000000',
}) as AssetMediaCreateDto;
@@ -164,7 +163,6 @@ const assetEntity = Object.freeze({
fileCreatedAt: new Date('2022-06-19T23:41:36.910Z'),
updatedAt: new Date('2022-06-19T23:41:36.910Z'),
isFavorite: false,
- isArchived: false,
encodedVideoPath: '',
duration: '0:00:00.000000',
files: [] as AssetFile[],
@@ -437,7 +435,10 @@ describe(AssetMediaService.name, () => {
});
it('should hide the linked motion asset', async () => {
- mocks.asset.getById.mockResolvedValueOnce({ ...assetStub.livePhotoMotionAsset, isVisible: true });
+ mocks.asset.getById.mockResolvedValueOnce({
+ ...assetStub.livePhotoMotionAsset,
+ visibility: AssetVisibility.TIMELINE,
+ });
mocks.asset.create.mockResolvedValueOnce(assetStub.livePhotoStillAsset);
await expect(
@@ -452,7 +453,10 @@ describe(AssetMediaService.name, () => {
});
expect(mocks.asset.getById).toHaveBeenCalledWith('live-photo-motion-asset');
- expect(mocks.asset.update).toHaveBeenCalledWith({ id: 'live-photo-motion-asset', isVisible: false });
+ expect(mocks.asset.update).toHaveBeenCalledWith({
+ id: 'live-photo-motion-asset',
+ visibility: AssetVisibility.HIDDEN,
+ });
});
it('should handle a sidecar file', async () => {
diff --git a/server/src/services/asset-media.service.ts b/server/src/services/asset-media.service.ts
index 78e23fa802..87d617ede6 100644
--- a/server/src/services/asset-media.service.ts
+++ b/server/src/services/asset-media.service.ts
@@ -21,7 +21,7 @@ import {
UploadFieldName,
} from 'src/dtos/asset-media.dto';
import { AuthDto } from 'src/dtos/auth.dto';
-import { AssetStatus, AssetType, CacheControl, JobName, Permission, StorageFolder } from 'src/enum';
+import { AssetStatus, AssetType, AssetVisibility, CacheControl, JobName, Permission, StorageFolder } from 'src/enum';
import { AuthRequest } from 'src/middleware/auth.guard';
import { BaseService } from 'src/services/base.service';
import { UploadFile } from 'src/types';
@@ -146,7 +146,6 @@ export class AssetMediaService extends BaseService {
{ userId: auth.user.id, livePhotoVideoId: dto.livePhotoVideoId },
);
}
-
const asset = await this.create(auth.user.id, dto, file, sidecarFile);
await this.userRepository.updateUsage(auth.user.id, file.size);
@@ -416,9 +415,8 @@ export class AssetMediaService extends BaseService {
type: mimeTypes.assetType(file.originalPath),
isFavorite: dto.isFavorite,
- isArchived: dto.isArchived ?? false,
duration: dto.duration || null,
- isVisible: dto.isVisible ?? true,
+ visibility: dto.visibility ?? AssetVisibility.TIMELINE,
livePhotoVideoId: dto.livePhotoVideoId,
originalFileName: file.originalName,
sidecarPath: sidecarFile?.originalPath,
diff --git a/server/src/services/asset.service.spec.ts b/server/src/services/asset.service.spec.ts
index ecfb7936d2..1e4cfddcf5 100755
--- a/server/src/services/asset.service.spec.ts
+++ b/server/src/services/asset.service.spec.ts
@@ -2,7 +2,7 @@ import { BadRequestException } from '@nestjs/common';
import { DateTime } from 'luxon';
import { MapAsset } from 'src/dtos/asset-response.dto';
import { AssetJobName, AssetStatsResponseDto } from 'src/dtos/asset.dto';
-import { AssetStatus, AssetType, JobName, JobStatus } from 'src/enum';
+import { AssetStatus, AssetType, AssetVisibility, JobName, JobStatus } from 'src/enum';
import { AssetStats } from 'src/repositories/asset.repository';
import { AssetService } from 'src/services/asset.service';
import { assetStub } from 'test/fixtures/asset.stub';
@@ -46,14 +46,22 @@ describe(AssetService.name, () => {
describe('getStatistics', () => {
it('should get the statistics for a user, excluding archived assets', async () => {
mocks.asset.getStatistics.mockResolvedValue(stats);
- await expect(sut.getStatistics(authStub.admin, { isArchived: false })).resolves.toEqual(statResponse);
- expect(mocks.asset.getStatistics).toHaveBeenCalledWith(authStub.admin.user.id, { isArchived: false });
+ await expect(sut.getStatistics(authStub.admin, { visibility: AssetVisibility.TIMELINE })).resolves.toEqual(
+ statResponse,
+ );
+ expect(mocks.asset.getStatistics).toHaveBeenCalledWith(authStub.admin.user.id, {
+ visibility: AssetVisibility.TIMELINE,
+ });
});
it('should get the statistics for a user for archived assets', async () => {
mocks.asset.getStatistics.mockResolvedValue(stats);
- await expect(sut.getStatistics(authStub.admin, { isArchived: true })).resolves.toEqual(statResponse);
- expect(mocks.asset.getStatistics).toHaveBeenCalledWith(authStub.admin.user.id, { isArchived: true });
+ await expect(sut.getStatistics(authStub.admin, { visibility: AssetVisibility.ARCHIVE })).resolves.toEqual(
+ statResponse,
+ );
+ expect(mocks.asset.getStatistics).toHaveBeenCalledWith(authStub.admin.user.id, {
+ visibility: AssetVisibility.ARCHIVE,
+ });
});
it('should get the statistics for a user for favorite assets', async () => {
@@ -192,9 +200,9 @@ describe(AssetService.name, () => {
describe('update', () => {
it('should require asset write access for the id', async () => {
- await expect(sut.update(authStub.admin, 'asset-1', { isArchived: false })).rejects.toBeInstanceOf(
- BadRequestException,
- );
+ await expect(
+ sut.update(authStub.admin, 'asset-1', { visibility: AssetVisibility.TIMELINE }),
+ ).rejects.toBeInstanceOf(BadRequestException);
expect(mocks.asset.update).not.toHaveBeenCalled();
});
@@ -242,7 +250,10 @@ describe(AssetService.name, () => {
id: assetStub.livePhotoStillAsset.id,
livePhotoVideoId: assetStub.livePhotoMotionAsset.id,
});
- expect(mocks.asset.update).not.toHaveBeenCalledWith({ id: assetStub.livePhotoMotionAsset.id, isVisible: true });
+ expect(mocks.asset.update).not.toHaveBeenCalledWith({
+ id: assetStub.livePhotoMotionAsset.id,
+ visibility: AssetVisibility.TIMELINE,
+ });
expect(mocks.event.emit).not.toHaveBeenCalledWith('asset.show', {
assetId: assetStub.livePhotoMotionAsset.id,
userId: userStub.admin.id,
@@ -263,7 +274,10 @@ describe(AssetService.name, () => {
id: assetStub.livePhotoStillAsset.id,
livePhotoVideoId: assetStub.livePhotoMotionAsset.id,
});
- expect(mocks.asset.update).not.toHaveBeenCalledWith({ id: assetStub.livePhotoMotionAsset.id, isVisible: true });
+ expect(mocks.asset.update).not.toHaveBeenCalledWith({
+ id: assetStub.livePhotoMotionAsset.id,
+ visibility: AssetVisibility.TIMELINE,
+ });
expect(mocks.event.emit).not.toHaveBeenCalledWith('asset.show', {
assetId: assetStub.livePhotoMotionAsset.id,
userId: userStub.admin.id,
@@ -284,7 +298,10 @@ describe(AssetService.name, () => {
id: assetStub.livePhotoStillAsset.id,
livePhotoVideoId: assetStub.livePhotoMotionAsset.id,
});
- expect(mocks.asset.update).not.toHaveBeenCalledWith({ id: assetStub.livePhotoMotionAsset.id, isVisible: true });
+ expect(mocks.asset.update).not.toHaveBeenCalledWith({
+ id: assetStub.livePhotoMotionAsset.id,
+ visibility: AssetVisibility.TIMELINE,
+ });
expect(mocks.event.emit).not.toHaveBeenCalledWith('asset.show', {
assetId: assetStub.livePhotoMotionAsset.id,
userId: userStub.admin.id,
@@ -296,7 +313,7 @@ describe(AssetService.name, () => {
mocks.asset.getById.mockResolvedValueOnce({
...assetStub.livePhotoMotionAsset,
ownerId: authStub.admin.user.id,
- isVisible: true,
+ visibility: AssetVisibility.TIMELINE,
});
mocks.asset.getById.mockResolvedValueOnce(assetStub.image);
mocks.asset.update.mockResolvedValue(assetStub.image);
@@ -305,7 +322,10 @@ describe(AssetService.name, () => {
livePhotoVideoId: assetStub.livePhotoMotionAsset.id,
});
- expect(mocks.asset.update).toHaveBeenCalledWith({ id: assetStub.livePhotoMotionAsset.id, isVisible: false });
+ expect(mocks.asset.update).toHaveBeenCalledWith({
+ id: assetStub.livePhotoMotionAsset.id,
+ visibility: AssetVisibility.HIDDEN,
+ });
expect(mocks.event.emit).toHaveBeenCalledWith('asset.hide', {
assetId: assetStub.livePhotoMotionAsset.id,
userId: userStub.admin.id,
@@ -335,7 +355,10 @@ describe(AssetService.name, () => {
id: assetStub.livePhotoStillAsset.id,
livePhotoVideoId: null,
});
- expect(mocks.asset.update).toHaveBeenCalledWith({ id: assetStub.livePhotoMotionAsset.id, isVisible: true });
+ expect(mocks.asset.update).toHaveBeenCalledWith({
+ id: assetStub.livePhotoMotionAsset.id,
+ visibility: assetStub.livePhotoStillAsset.visibility,
+ });
expect(mocks.event.emit).toHaveBeenCalledWith('asset.show', {
assetId: assetStub.livePhotoMotionAsset.id,
userId: userStub.admin.id,
@@ -361,7 +384,6 @@ describe(AssetService.name, () => {
await expect(
sut.updateAll(authStub.admin, {
ids: ['asset-1'],
- isArchived: false,
}),
).rejects.toBeInstanceOf(BadRequestException);
});
@@ -369,9 +391,11 @@ describe(AssetService.name, () => {
it('should update all assets', async () => {
mocks.access.asset.checkOwnerAccess.mockResolvedValue(new Set(['asset-1', 'asset-2']));
- await sut.updateAll(authStub.admin, { ids: ['asset-1', 'asset-2'], isArchived: true });
+ await sut.updateAll(authStub.admin, { ids: ['asset-1', 'asset-2'], visibility: AssetVisibility.ARCHIVE });
- expect(mocks.asset.updateAll).toHaveBeenCalledWith(['asset-1', 'asset-2'], { isArchived: true });
+ expect(mocks.asset.updateAll).toHaveBeenCalledWith(['asset-1', 'asset-2'], {
+ visibility: AssetVisibility.ARCHIVE,
+ });
});
it('should not update Assets table if no relevant fields are provided', async () => {
@@ -381,7 +405,6 @@ describe(AssetService.name, () => {
ids: ['asset-1'],
latitude: 0,
longitude: 0,
- isArchived: undefined,
isFavorite: undefined,
duplicateId: undefined,
rating: undefined,
@@ -389,14 +412,14 @@ describe(AssetService.name, () => {
expect(mocks.asset.updateAll).not.toHaveBeenCalled();
});
- it('should update Assets table if isArchived field is provided', async () => {
+ it('should update Assets table if visibility field is provided', async () => {
mocks.access.asset.checkOwnerAccess.mockResolvedValue(new Set(['asset-1']));
await sut.updateAll(authStub.admin, {
ids: ['asset-1'],
latitude: 0,
longitude: 0,
- isArchived: undefined,
+ visibility: undefined,
isFavorite: false,
duplicateId: undefined,
rating: undefined,
@@ -416,7 +439,6 @@ describe(AssetService.name, () => {
latitude: 30,
longitude: 50,
dateTimeOriginal,
- isArchived: undefined,
isFavorite: false,
duplicateId: undefined,
rating: undefined,
@@ -431,6 +453,20 @@ describe(AssetService.name, () => {
{ name: JobName.SIDECAR_WRITE, data: { id: 'asset-1', dateTimeOriginal, latitude: 30, longitude: 50 } },
]);
});
+
+ it('should update Assets table if duplicateId is provided as null', async () => {
+ mocks.access.asset.checkOwnerAccess.mockResolvedValue(new Set(['asset-1']));
+
+ await sut.updateAll(authStub.admin, {
+ ids: ['asset-1'],
+ latitude: 0,
+ longitude: 0,
+ isFavorite: undefined,
+ duplicateId: null,
+ rating: undefined,
+ });
+ expect(mocks.asset.updateAll).toHaveBeenCalled();
+ });
});
describe('deleteAll', () => {
diff --git a/server/src/services/asset.service.ts b/server/src/services/asset.service.ts
index bcbe86875b..3ab6fcb8a7 100644
--- a/server/src/services/asset.service.ts
+++ b/server/src/services/asset.service.ts
@@ -92,8 +92,12 @@ export class AssetService extends BaseService {
const asset = await this.assetRepository.update({ id, ...rest });
- if (previousMotion) {
- await onAfterUnlink(repos, { userId: auth.user.id, livePhotoVideoId: previousMotion.id });
+ if (previousMotion && asset) {
+ await onAfterUnlink(repos, {
+ userId: auth.user.id,
+ livePhotoVideoId: previousMotion.id,
+ visibility: asset.visibility,
+ });
}
if (!asset) {
@@ -115,10 +119,10 @@ export class AssetService extends BaseService {
}
if (
- options.isArchived != undefined ||
- options.isFavorite != undefined ||
- options.duplicateId != undefined ||
- options.rating != undefined
+ options.visibility !== undefined ||
+ options.isFavorite !== undefined ||
+ options.duplicateId !== undefined ||
+ options.rating !== undefined
) {
await this.assetRepository.updateAll(ids, options);
}
diff --git a/server/src/services/auth.service.spec.ts b/server/src/services/auth.service.spec.ts
index 75f5b8a52d..82172d6b95 100644
--- a/server/src/services/auth.service.spec.ts
+++ b/server/src/services/auth.service.spec.ts
@@ -1,5 +1,6 @@
import { BadRequestException, ForbiddenException, UnauthorizedException } from '@nestjs/common';
import { DateTime } from 'luxon';
+import { SALT_ROUNDS } from 'src/constants';
import { UserAdmin } from 'src/database';
import { AuthDto, SignUpDto } from 'src/dtos/auth.dto';
import { AuthType, Permission } from 'src/enum';
@@ -118,7 +119,7 @@ describe(AuthService.name, () => {
await sut.changePassword(auth, dto);
- expect(mocks.user.getByEmail).toHaveBeenCalledWith(auth.user.email, true);
+ expect(mocks.user.getByEmail).toHaveBeenCalledWith(auth.user.email, { withPassword: true });
expect(mocks.crypto.compareBcrypt).toHaveBeenCalledWith('old-password', 'hash-password');
});
@@ -859,4 +860,77 @@ describe(AuthService.name, () => {
expect(mocks.user.update).toHaveBeenCalledWith(auth.user.id, { oauthId: '' });
});
});
+
+ describe('setupPinCode', () => {
+ it('should setup a PIN code', async () => {
+ const user = factory.userAdmin();
+ const auth = factory.auth({ user });
+ const dto = { pinCode: '123456' };
+
+ mocks.user.getForPinCode.mockResolvedValue({ pinCode: null, password: '' });
+ mocks.user.update.mockResolvedValue(user);
+
+ await sut.setupPinCode(auth, dto);
+
+ expect(mocks.user.getForPinCode).toHaveBeenCalledWith(user.id);
+ expect(mocks.crypto.hashBcrypt).toHaveBeenCalledWith('123456', SALT_ROUNDS);
+ expect(mocks.user.update).toHaveBeenCalledWith(user.id, { pinCode: expect.any(String) });
+ });
+
+ it('should fail if the user already has a PIN code', async () => {
+ const user = factory.userAdmin();
+ const auth = factory.auth({ user });
+
+ mocks.user.getForPinCode.mockResolvedValue({ pinCode: '123456 (hashed)', password: '' });
+
+ await expect(sut.setupPinCode(auth, { pinCode: '123456' })).rejects.toThrow('User already has a PIN code');
+ });
+ });
+
+ describe('changePinCode', () => {
+ it('should change the PIN code', async () => {
+ const user = factory.userAdmin();
+ const auth = factory.auth({ user });
+ const dto = { pinCode: '123456', newPinCode: '012345' };
+
+ mocks.user.getForPinCode.mockResolvedValue({ pinCode: '123456 (hashed)', password: '' });
+ mocks.user.update.mockResolvedValue(user);
+ mocks.crypto.compareBcrypt.mockImplementation((a, b) => `${a} (hashed)` === b);
+
+ await sut.changePinCode(auth, dto);
+
+ expect(mocks.crypto.compareBcrypt).toHaveBeenCalledWith('123456', '123456 (hashed)');
+ expect(mocks.user.update).toHaveBeenCalledWith(user.id, { pinCode: '012345 (hashed)' });
+ });
+
+ it('should fail if the PIN code does not match', async () => {
+ const user = factory.userAdmin();
+ mocks.user.getForPinCode.mockResolvedValue({ pinCode: '123456 (hashed)', password: '' });
+ mocks.crypto.compareBcrypt.mockImplementation((a, b) => `${a} (hashed)` === b);
+
+ await expect(
+ sut.changePinCode(factory.auth({ user }), { pinCode: '000000', newPinCode: '012345' }),
+ ).rejects.toThrow('Wrong PIN code');
+ });
+ });
+
+ describe('resetPinCode', () => {
+ it('should reset the PIN code', async () => {
+ const user = factory.userAdmin();
+ mocks.user.getForPinCode.mockResolvedValue({ pinCode: '123456 (hashed)', password: '' });
+ mocks.crypto.compareBcrypt.mockImplementation((a, b) => `${a} (hashed)` === b);
+
+ await sut.resetPinCode(factory.auth({ user }), { pinCode: '123456' });
+
+ expect(mocks.user.update).toHaveBeenCalledWith(user.id, { pinCode: null });
+ });
+
+ it('should throw if the PIN code does not match', async () => {
+ const user = factory.userAdmin();
+ mocks.user.getForPinCode.mockResolvedValue({ pinCode: '123456 (hashed)', password: '' });
+ mocks.crypto.compareBcrypt.mockImplementation((a, b) => `${a} (hashed)` === b);
+
+ await expect(sut.resetPinCode(factory.auth({ user }), { pinCode: '000000' })).rejects.toThrow('Wrong PIN code');
+ });
+ });
});
diff --git a/server/src/services/auth.service.ts b/server/src/services/auth.service.ts
index b250b63a5e..65dd84693b 100644
--- a/server/src/services/auth.service.ts
+++ b/server/src/services/auth.service.ts
@@ -9,11 +9,15 @@ import { StorageCore } from 'src/cores/storage.core';
import { UserAdmin } from 'src/database';
import {
AuthDto,
+ AuthStatusResponseDto,
ChangePasswordDto,
LoginCredentialDto,
LogoutResponseDto,
OAuthCallbackDto,
OAuthConfigDto,
+ PinCodeChangeDto,
+ PinCodeResetDto,
+ PinCodeSetupDto,
SignUpDto,
mapLoginResponse,
} from 'src/dtos/auth.dto';
@@ -56,9 +60,9 @@ export class AuthService extends BaseService {
throw new UnauthorizedException('Password login has been disabled');
}
- let user = await this.userRepository.getByEmail(dto.email, true);
+ let user = await this.userRepository.getByEmail(dto.email, { withPassword: true });
if (user) {
- const isAuthenticated = this.validatePassword(dto.password, user);
+ const isAuthenticated = this.validateSecret(dto.password, user.password);
if (!isAuthenticated) {
user = undefined;
}
@@ -86,12 +90,12 @@ export class AuthService extends BaseService {
async changePassword(auth: AuthDto, dto: ChangePasswordDto): Promise