CVE-2025-12084 json
Quadratic complexity in node ID cache clearing
published 2025-12-03 11 mo ago modified 2026-09-08 2 mo ago also BIT-libpython-2025-12084 , BIT-python-2025-12084 , BIT-python-min-2025-12084 , EUVD-2025-201088
- cvss
- 5.3
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 58%
- public exploits
- 0
- none known
Summary
When building nested elements using xml.dom.minidom methods such as appendChild() that have a dependency on _clear_id_cache() the algorithm is quadratic. Availability can be impacted when building excessively nested documents.
Patch / fix
- bitnami libpython 3.10.20, 3.11.15, 3.12.13, 3.13.11, 3.14.2
- bitnami python 3.10.20, 3.11.15, 3.12.13, 3.13.11, 3.14.2
- bitnami python-min 3.10.20, 3.11.15, 3.12.13, 3.13.11, 3.14.2
- Python Software Foundation CPython 3.10.20, 3.11.15, 3.12.13, 3.13.11, 3.14.2, 3.15.0a3
- pypy3 Debian 14 7.3.21+dfsg-1
- python3.11 Debian 12 3.11.2-6+deb12u7
- python3.13 Debian 13 3.13.5-2+deb13u1
- python3.14 Debian 14 3.14.2-1
debian advisories DEBIAN-CVE-2025-12084
- python3.10 Ubuntu 22.04 LTS 3.10.12-1~22.04.14
- python3.12 Ubuntu 24.04 LTS 3.12.3-1ubuntu0.11
- python3.13 Ubuntu 25.10 3.13.7-1ubuntu0.3
- python3.14 Ubuntu 25.10 3.14.0-1ubuntu0.2
- python2.7 Ubuntu Pro 14.04 LTS 2.7.6-8ubuntu0.6+esm29
- python2.7 Ubuntu Pro 16.04 LTS 2.7.12-1ubuntu0~16.04.18+esm19
- python2.7 Ubuntu Pro 18.04 LTS 2.7.17-1~18.04ubuntu1.13+esm14
- python2.7 Ubuntu Pro 22.04 LTS 2.7.18-13ubuntu1.5+esm8
ubuntu advisories UBUNTU-CVE-2025-12084
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- python3.11 hummingbird 1 3.11.15-4.hum1
- python3.11-idle hummingbird 1 3.11.15-4.hum1
- python3.11-libs hummingbird 1 3.11.15-4.hum1
- python3.11-test hummingbird 1 3.11.15-4.hum1
- python3.11-tkinter hummingbird 1 3.11.15-4.hum1
- python3.12 hummingbird 1 3.12.13-3.hum1
- python3.12-idle hummingbird 1 3.12.13-3.hum1
- python3.12-libs hummingbird 1 3.12.13-3.hum1
red hat advisories RHSA-2026:8822RHSA-2026:8824RHSA-2026:7661RHSA-2026:7443RHSA-2026:2713RHSA-2026:2393
- python311 SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +6 more 3.11.15-150400.9.80.1
- python311-core SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +6 more 3.11.15-150400.9.80.1
- python311-documentation SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +5 more 3.11.15-150400.9.80.1
- python311 SLES for SAP 15 SP6, SLES 15 SP6-LTSS, SLE Module for Python 3 15 SP7 +1 more 3.11.15-150600.3.53.1
- python311-core SLES for SAP 15 SP6, SLES 15 SP6-LTSS, SLE Module for Python 3 15 SP7 +2 more 3.11.15-150600.3.53.1
- python311-documentation openSUSE Leap 15.6 3.11.15-150600.3.53.1
- python311 Linux Micro 6.1 3.11.15-slfo.1.1_1.1
- python311-core Linux Micro 6.1 3.11.15-slfo.1.1_1.1
suse advisories SUSE-SU-2026:1117-1SUSE-SU-2026:1349-1SUSE-SU-2026:20768-1SUSE-SU-2026:20796-1SUSE-SU-2026:20374-1SUSE-SU-2026:0314-1
- python313 openSUSE Leap 16.0 3.13.11-160000.1.1
- python313-core openSUSE Leap 16.0 3.13.11-160000.1.1
- python313-nogil openSUSE Leap 16.0 3.13.11-160000.1.1
- python313-documentation openSUSE Leap 16.0 3.13.11-160000.1.1
- python313-nogil-nogil-core openSUSE Leap 16.0 3.13.11-160000.1.1
- python314 openSUSE Tumbleweed 3.14.2-1.1
- python311 openSUSE Tumbleweed 3.11.14-3.1
- python312 openSUSE Tumbleweed 3.12.12-4.1
opensuse advisories openSUSE-SU-2026:20081-1openSUSE-SU-2026:10011-1openSUSE-SU-2025:15849-1openSUSE-SU-2025:15850-1openSUSE-SU-2025:15851-1openSUSE-SU-2025:15846-1
- python-unversioned-command AlmaLinux 10 3.12.12-3.el10_1
- python3-idle AlmaLinux 8 3.6.8-72.el8_10.alma.1
- python3-libs AlmaLinux 8 3.6.8-72.el8_10.alma.1
- python3-test AlmaLinux 8 3.6.8-72.el8_10.alma.1
- platform-python AlmaLinux 8 3.6.8-72.el8_10.alma.1
- python3-tkinter AlmaLinux 8 3.6.8-72.el8_10.alma.1
- python3 AlmaLinux 9 3.9.25-3.el9_7
- python3-idle AlmaLinux 9 3.9.25-3.el9_7
almalinux advisories ALSA-2026:1828ALSA-2026:1631ALSA-2026:1478ALSA-2026:1374ALSA-2026:1408ALSA-2026:1410
- python3 Rocky Linux 8 3.6.8-72.el8_10.rocky.0
- python3.9 Rocky Linux 9 3.9.25-3.el9_7
- python3.12 Rocky Linux 10 3.12.12-3.el10_1
- python3.12 Rocky Linux 9 3.12.12-4.el9_7
- python3.11 Rocky Linux 9 3.11.13-5.el9_7
- python3.11 Rocky Linux 8 3.11.13-4.el8_10
- python3.12 Rocky Linux 8 3.12.12-1.el8_10
rocky linux advisories RLSA-2026:1631RLSA-2026:1478RLSA-2026:1828RLSA-2026:1408RLSA-2026:1410RLSA-2026:1374
- python3 CBL-Mariner 2.0 3.9.19-19
- python3 Azure Linux 3.0 3.12.9-7
azure linux advisories AZL-71441AZL-71450
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- github.com/python/cpython@08d8e18 commit
- github.com/python/cpython@027f21e commit
- github.com/python/cpython@ddcd2ac commit
- github.com/python/cpython@27648a1 commit
- github.com/python/cpython@8d2d7bb commit
- github.com/python/cpython@9c9dda6 commit
- github.com/python/cpython@a696ba8 commit
- github.com/python/cpython@41f4687 commit
- github.com/python/cpython@57937a8 commit
- github.com/python/cpython@e91c114 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-12084 updated cvss 7.5
cpython: python: cpython: Quadratic algorithm in xml.dom.minidom leads to denial of service
-
Red Hat Enterprise Linux 6 python, tkinter, python-libs, python-test, python-tools Red Hat Enterprise Linux 8 numpy, scipy, PyYAML, mod_wsgi, python39, python-ply, +49 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux AI (RHEL AI) rhelai1/bootc-amd-rhel9, rhelai1/bootc-nvidia-rhel9, rhelai1/bootc-azure-amd-rhel9, rhelai1/bootc-aws-nvidia-rhel9, rhelai1/bootc-gcp-nvidia-rhel9, rhelai1/bootc-azure-nvidia-rhel9 Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-cuda-rhel9, rhelai3/bootc-aws-cuda-rhel9, rhelai3/bootc-gcp-cuda-rhel9, rhelai3/bootc-azure-cuda-rhel9affected: workaround, no fix planned “Will not fix”
-
Red Hat CodeReady Linux Builder EUS (v.9.4) python3 3.9.18-3.el9_4.10, python3.12 3.12.1-4.el9_4.9, python3.11 3.11.7-1.el9_4.10, python3-idle 3.9.18-3.el9_4.10, python3-test 3.9.18-3.el9_4.10, python3.12-idle 3.12.1-4.el9_4.9, +6 morefixed: vendor fix RHSA-2026:2276
-
Red Hat CodeReady Linux Builder EUS (v.9.6) python3 3.9.21-2.el9_6.3, python3.12 3.12.9-1.el9_6.4, python3.11 3.11.11-2.el9_6.4, python3-idle 3.9.21-2.el9_6.3, python3-test 3.9.21-2.el9_6.3, python3-tkinter 3.9.21-2.el9_6.3, +6 morefixed: vendor fix RHSA-2026:2275
-
Red Hat Discovery 2 discovery 1769104765, discovery 1769111774fixed: vendor fix RHSA-2026:1736
-
Red Hat Enterprise Linux AppStream (v. 8) python3.11 3.11.13-4.el8_10, python3.12 3.12.12-1.el8_10, python3-idle 3.6.8-72.el8_10, python3-test 3.6.8-72.el8_10, platform-python 3.6.8-72.el8_10, python3-tkinter 3.6.8-72.el8_10, +6 morefixed: vendor fix RHSA-2026:1631
-
Red Hat Enterprise Linux AppStream (v. 9) python3.11 3.11.13-5.el9_7, python3.12 3.12.12-4.el9_7, python3-tkinter 3.9.25-3.el9_7, python3.11-libs 3.11.13-5.el9_7, python3.12-libs 3.12.12-4.el9_7, python3.11-tkinter 3.11.13-5.el9_7, +2 morefixed: vendor fix RHSA-2026:1478
-
Red Hat Enterprise Linux AppStream (v. 10) python3-tkinter 3.12.12-3.el10_1, python-unversioned-command 3.12.12-3.el10_1fixed: vendor fix RHSA-2026:1828
show 28 moreshow fewer
-
Red Hat Enterprise Linux AppStream AUS (v. 8.2) python3-idle 3.6.8-24.el8_2.5, python3-test 3.6.8-24.el8_2.5, platform-python 3.6.8-24.el8_2.5, python3-tkinter 3.6.8-24.el8_2.5fixed: vendor fix RHSA-2026:1620
-
Red Hat Enterprise Linux AppStream AUS (v.8.4) python3-idle 3.6.8-39.el8_4.8, python3-test 3.6.8-39.el8_4.8, platform-python 3.6.8-39.el8_4.8, python3-tkinter 3.6.8-39.el8_4.8fixed: vendor fix RHSA-2026:1558
-
Red Hat Enterprise Linux AppStream AUS (v.8.6) python3-idle 3.6.8-47.el8_6.10, python3-test 3.6.8-47.el8_6.10, platform-python 3.6.8-47.el8_6.10, python3-tkinter 3.6.8-47.el8_6.10 Red Hat Enterprise Linux AppStream E4S (v.8.6) python3-idle 3.6.8-47.el8_6.10, python3-test 3.6.8-47.el8_6.10, platform-python 3.6.8-47.el8_6.10, python3-tkinter 3.6.8-47.el8_6.10fixed: vendor fix RHSA-2026:2391
-
Red Hat Enterprise Linux AppStream E4S (v.8.8) python3.11 3.11.2-2.el8_8.7, python3-idle 3.6.8-51.el8_8.12, python3-test 3.6.8-51.el8_8.12, python3.11-libs 3.11.2-2.el8_8.7, platform-python 3.6.8-51.el8_8.12, python3-tkinter 3.6.8-51.el8_8.12, +2 morefixed: vendor fix RHSA-2026:2330
-
Red Hat Enterprise Linux AppStream E4S (v.9.0) python3-tkinter 3.9.10-4.el9_0.8, python-unversioned-command 3.9.10-4.el9_0.8fixed: vendor fix RHSA-2026:2393
-
Red Hat Enterprise Linux AppStream E4S (v.9.2) python3.11 3.11.2-2.el9_2.9, python3.11-libs 3.11.2-2.el9_2.9, python3-tkinter 3.9.16-1.el9_2.11, python3.11-tkinter 3.11.2-2.el9_2.9, python-unversioned-command 3.9.16-1.el9_2.11fixed: vendor fix RHSA-2026:2392
-
Red Hat Enterprise Linux AppStream EUS (v. 10.0) python3-tkinter 3.12.9-2.el10_0.6, python-unversioned-command 3.12.9-2.el10_0.6fixed: vendor fix RHSA-2026:2233
-
Red Hat Enterprise Linux AppStream EUS (v.9.4) python3.12 3.12.1-4.el9_4.9, python3.11 3.11.7-1.el9_4.10, python3.12-libs 3.12.1-4.el9_4.9, python3-tkinter 3.9.18-3.el9_4.10, python3.11-libs 3.11.7-1.el9_4.10, python3.12-tkinter 3.12.1-4.el9_4.9, +2 morefixed: vendor fix RHSA-2026:2276
-
Red Hat Enterprise Linux AppStream EUS (v.9.6) python3.12 3.12.9-1.el9_6.4, python3.11 3.11.11-2.el9_6.4, python3-tkinter 3.9.21-2.el9_6.3, python3.12-libs 3.12.9-1.el9_6.4, python3.11-libs 3.11.11-2.el9_6.4, python3.12-tkinter 3.12.9-1.el9_6.4, +2 morefixed: vendor fix RHSA-2026:2275
-
Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4) python3-idle 3.6.8-39.el8_4.8, python3-test 3.6.8-39.el8_4.8, platform-python 3.6.8-39.el8_4.8, python3-tkinter 3.6.8-39.el8_4.8fixed: vendor fix RHSA-2026:1558
-
Red Hat Enterprise Linux AppStream TUS (v.8.6) python3-idle 3.6.8-47.el8_6.10, python3-test 3.6.8-47.el8_6.10, platform-python 3.6.8-47.el8_6.10, python3-tkinter 3.6.8-47.el8_6.10fixed: vendor fix RHSA-2026:2391
-
Red Hat Enterprise Linux AppStream TUS (v.8.8) python3.11 3.11.2-2.el8_8.7, python3-idle 3.6.8-51.el8_8.12, python3-test 3.6.8-51.el8_8.12, python3.11-libs 3.11.2-2.el8_8.7, platform-python 3.6.8-51.el8_8.12, python3-tkinter 3.6.8-51.el8_8.12, +2 morefixed: vendor fix RHSA-2026:2330
-
Red Hat Enterprise Linux BaseOS (v. 8) python3 3.6.8-72.el8_10, python3-libs 3.6.8-72.el8_10, python3-test 3.6.8-72.el8_10, platform-python 3.6.8-72.el8_10fixed: vendor fix RHSA-2026:1631
-
Red Hat Enterprise Linux BaseOS (v. 9) python3 3.9.25-3.el9_7, python3.9 3.9.25-3.el9_7, python3-libs 3.9.25-3.el9_7fixed: vendor fix RHSA-2026:1478
-
Red Hat Enterprise Linux BaseOS (v. 10) python3 3.12.12-3.el10_1, python3.12 3.12.12-3.el10_1, python3-libs 3.12.12-3.el10_1fixed: vendor fix RHSA-2026:1828
-
Red Hat Enterprise Linux BaseOS AUS (v. 8.2) python3 3.6.8-24.el8_2.5, python3-libs 3.6.8-24.el8_2.5, python3-test 3.6.8-24.el8_2.5, platform-python 3.6.8-24.el8_2.5fixed: vendor fix RHSA-2026:1620
-
Red Hat Enterprise Linux BaseOS AUS (v.8.4) python3 3.6.8-39.el8_4.8, python3-libs 3.6.8-39.el8_4.8, python3-test 3.6.8-39.el8_4.8, platform-python 3.6.8-39.el8_4.8fixed: vendor fix RHSA-2026:1558
-
Red Hat Enterprise Linux BaseOS AUS (v.8.6) python3 3.6.8-47.el8_6.10, python3-libs 3.6.8-47.el8_6.10, python3-test 3.6.8-47.el8_6.10, platform-python 3.6.8-47.el8_6.10 Red Hat Enterprise Linux BaseOS E4S (v.8.6) python3 3.6.8-47.el8_6.10, python3-libs 3.6.8-47.el8_6.10, python3-test 3.6.8-47.el8_6.10, platform-python 3.6.8-47.el8_6.10fixed: vendor fix RHSA-2026:2391
-
Red Hat Enterprise Linux BaseOS E4S (v.8.8) python3 3.6.8-51.el8_8.12, python3-libs 3.6.8-51.el8_8.12, python3-test 3.6.8-51.el8_8.12, platform-python 3.6.8-51.el8_8.12fixed: vendor fix RHSA-2026:2330
-
Red Hat Enterprise Linux BaseOS E4S (v.9.0) python3 3.9.10-4.el9_0.8, python3.9 3.9.10-4.el9_0.8, python3-libs 3.9.10-4.el9_0.8fixed: vendor fix RHSA-2026:2393
-
Red Hat Enterprise Linux BaseOS E4S (v.9.2) python3 3.9.16-1.el9_2.11, python3.9 3.9.16-1.el9_2.11, python3-libs 3.9.16-1.el9_2.11fixed: vendor fix RHSA-2026:2392
-
Red Hat Enterprise Linux BaseOS EUS (v. 10.0) python3 3.12.9-2.el10_0.6, python3.12 3.12.9-2.el10_0.6, python3-libs 3.12.9-2.el10_0.6fixed: vendor fix RHSA-2026:2233
-
Red Hat Enterprise Linux BaseOS EUS (v.9.4) python3 3.9.18-3.el9_4.10, python3.9 3.9.18-3.el9_4.10, python3-libs 3.9.18-3.el9_4.10fixed: vendor fix RHSA-2026:2276
-
Red Hat Enterprise Linux BaseOS EUS (v.9.6) python3 3.9.21-2.el9_6.3, python3.9 3.9.21-2.el9_6.3, python3-libs 3.9.21-2.el9_6.3fixed: vendor fix RHSA-2026:2275
-
Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) python3 3.6.8-39.el8_4.8, python3-libs 3.6.8-39.el8_4.8, python3-test 3.6.8-39.el8_4.8, platform-python 3.6.8-39.el8_4.8fixed: vendor fix RHSA-2026:1558
-
Red Hat Enterprise Linux BaseOS TUS (v.8.6) python3 3.6.8-47.el8_6.10, python3-libs 3.6.8-47.el8_6.10, python3-test 3.6.8-47.el8_6.10, platform-python 3.6.8-47.el8_6.10fixed: vendor fix RHSA-2026:2391
-
Red Hat Enterprise Linux BaseOS TUS (v.8.8) python3 3.6.8-51.el8_8.12, python3-libs 3.6.8-51.el8_8.12, python3-test 3.6.8-51.el8_8.12, platform-python 3.6.8-51.el8_8.12fixed: vendor fix RHSA-2026:2330
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) python3 3.9.25-3.el9_7, python3.11 3.11.13-5.el9_7, python3.12 3.12.12-4.el9_7, python3-idle 3.9.25-3.el9_7, python3-test 3.9.25-3.el9_7, python3-tkinter 3.9.25-3.el9_7, +6 morefixed: vendor fix RHSA-2026:1478
7 more fixed, 5 more not affected in the full advisory
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 11 mo ago
Exploit prediction
0.86% chance of exploitation in the next 30 days, higher than 58% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N |
| CNA | 4.0 | 6.3 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | libpython | <3.10.20 >=3.11.0, <3.11.15 >=3.12.0, <3.12.13 >=3.13.0, <3.13.11 >=3.14.0, <3.14.2 |
3.10.20 3.11.15 3.12.13 3.13.11 3.14.2 |
| bitnami | python | <3.10.20 >=3.11.0, <3.11.15 >=3.12.0, <3.12.13 >=3.13.0, <3.13.11 >=3.14.0, <3.14.2 |
3.10.20 3.11.15 3.12.13 3.13.11 3.14.2 |
| bitnami | python-min | <3.10.20 >=3.11.0, <3.11.15 >=3.12.0, <3.12.13 >=3.13.0, <3.13.11 >=3.14.0, <3.14.2 |
3.10.20 3.11.15 3.12.13 3.13.11 3.14.2 |
Affected products
- Python Software Foundation CPython
Classification
- Weakness
-
- CWE-407 Inefficient Algorithmic Complexity
References
-
github.com
/python/cpython/pull/142146
patch, issue-tracking
-
github.com
/python/cpython/commit/08d8e18ad81cd45bc4a27d6da478b51ea49486e4
patch
-
github.com
/python/cpython/commit/027f21e417b26eed4505ac2db101a4352b7c51a0
patch
-
github.com
/python/cpython/commit/ddcd2acd85d891a53e281c773b3093f9db953964
patch
-
github.com
/python/cpython/commit/27648a1818749ef44c420afe6173af6868715437
patch, web
-
github.com
/python/cpython/commit/8d2d7bb2e754f8649a68ce4116271a4932f76907
patch, web
-
github.com
/python/cpython/commit/9c9dda6625a2a90d2a06c657eee021d6be19842d
patch, web
-
github.com
/python/cpython/commit/a696ba8b4d42fd632afc9bc88ad830a2e4cceed8
patch, web
-
github.com
/python/cpython/commit/41f468786762348960486c166833a218a0a436af
patch, web
-
github.com
/python/cpython/commit/57937a8e5e293f0dcba5115f7b7a11b1e0c9a273
patch, web
-
github.com
/python/cpython/commit/e91c11449cad34bac3ea55ee09ca557691d92b53
patch, web
-
github.com
/python/cpython/commit/a46c10ec9d4050ab67b8a932e0859a2ea60c3cb8
patch, web
-
github.com
/python/cpython/commit/c97e87593063d84a2bd9fe7068b30eb44de23dc0
patch, web
-
github.com
/python/cpython/issues/142145
issue-tracking, patch
-
nvd.nist.gov
/vuln/detail/CVE-2025-12084
web
Sources
- CVE List CVE-2025-12084
- NVD CVE-2025-12084
- OSV BIT-libpython-2025-12084
- OSV BIT-python-2025-12084
- OSV BIT-python-min-2025-12084
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.