Test results for amd64, speed2supercop, crypto_dh/claus
[Page version: 20260104 15:01:38]
Measurements for amd64, speed2supercop, crypto_dh
Test results for amd64, speed2supercop, crypto_dh
Test results for crypto_dh/claus
Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20251114
Operation: crypto_dh
Primitive: claus
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 4823416 | 1939 16 0 | 230691 1224 1672 | T:gmp | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4823624 | 2298 16 0 | 230571 1248 1640 | T:gmp | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4824024 | 2252 16 0 | 234841 1256 1640 | T:gmp | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4824180 | 2252 16 0 | 234777 1256 1640 | T:gmp | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4826044 | 1907 16 0 | 229951 1224 1672 | T:gmp | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4828288 | 1766 16 0 | 228071 1216 1640 | T:gmp | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4838004 | 2252 16 0 | 230001 1256 1576 | T:gmp | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4839436 | 1939 16 0 | 232491 1224 1672 | T:gmp | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4985952 | 3060 320 0 | 436891 3160 3504 | T:ntl | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4989488 | 3717 320 0 | 439391 3184 3504 | T:ntl | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4991696 | 3717 320 0 | 437559 3184 3504 | T:ntl | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4992032 | 3583 320 0 | 441466 3168 3504 | T:ntl | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4994340 | 3583 320 0 | 436562 3168 3440 | T:ntl | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 4995272 | 3663 320 0 | 441386 3168 3504 | T:ntl | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5012468 | 1473 0 0 | 23074 896 1640 | T:opensslnew | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5013220 | 1270 0 0 | 27276 920 1640 | T:opensslnew | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5013244 | 1270 0 0 | 27332 920 1640 | T:opensslnew | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5013704 | 1393 0 0 | 22612 920 1576 | T:opensslnew | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5015248 | 1254 0 0 | 25370 896 1640 | T:opensslnew | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5017292 | 1254 0 0 | 23538 896 1640 | T:opensslnew | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5054616 | 1243 0 0 | 21202 888 1608 | T:opensslnew | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5055176 | 1326 0 0 | 28796 920 1576 | T:opensslnew | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5061080 | 1267 0 0 | 23165 912 1640 | T:opensslnew | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5310224 | 3742 320 0 | 436721 3184 3504 | T:ntl | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 5313160 | 2704 320 0 | 434904 3120 3472 | T:ntl | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 7599596 | 2278 16 168 | 1773801 147320 11096 | T:cryptopp | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 7609292 | 2146 16 168 | 1774335 147312 11160 | T:cryptopp | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 7614312 | 2278 16 168 | 1778641 147320 11160 | T:cryptopp | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 7628316 | 2321 16 168 | 1778641 147320 11160 | T:cryptopp | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 7664944 | 2105 16 224 | 1771963 147272 11256 | T:cryptopp | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 7668040 | 2664 16 224 | 1774999 147280 11288 | T:cryptopp | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 7690944 | 2532 16 224 | 1774087 147280 11288 | T:cryptopp | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
| 7712956 | 2705 16 224 | 1776827 147280 11288 | T:cryptopp | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251216 | 20251114 |
Compiler output
keypair.c: keypair.c:19:8: warning: 'DH_new' is deprecated [-Wdeprecated-declarations]
keypair.c: 19 | dh = DH_new();
keypair.c: | ^
keypair.c: /usr/include/openssl/dh.h:210:1: note: 'DH_new' has been explicitly marked deprecated here
keypair.c: 210 | OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:217:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: 217 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: | ^
keypair.c: keypair.c:25:5: error: incomplete definition of type 'DH' (aka 'struct dh_st')
keypair.c: 25 | dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: | ~~^
keypair.c: /usr/include/openssl/types.h:146:16: note: forward declaration of 'struct dh_st'
keypair.c: 146 | typedef struct dh_st DH;
keypair.c: | ^
keypair.c: keypair.c:25:28: error: incomplete definition of type 'DH' (aka 'struct dh_st')
keypair.c: 25 | dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: | ~~^
keypair.c: /usr/include/openssl/types.h:146:16: note: forward declaration of 'struct dh_st'
keypair.c: 146 | typedef struct dh_st DH;
keypair.c: | ^
keypair.c: keypair.c:26:5: error: incomplete definition of type 'DH' (aka 'struct dh_st')
keypair.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| T:openssl | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:openssl | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:openssl | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:openssl | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:openssl | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
Compiler output
keypair.c: keypair.c: In function 'crypto_dh_claus_openssl_timingleaks_keypair':
keypair.c: keypair.c:19:3: warning: 'DH_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 19 | dh = DH_new();
keypair.c: | ^~
keypair.c: In file included from keypair.c:3:
keypair.c: /usr/include/openssl/dh.h:210:27: note: declared here
keypair.c: 210 | OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);
keypair.c: | ^~~~~~
keypair.c: keypair.c:25:5: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
keypair.c: 25 | dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: | ^~
keypair.c: keypair.c:25:28: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
keypair.c: 25 | dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: | ^~
keypair.c: keypair.c:26:5: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
keypair.c: 26 | dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: | ^~
keypair.c: keypair.c:26:28: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
keypair.c: 26 | dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: | ^~
keypair.c: keypair.c:28:39: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
keypair.c: 28 | if (!BN_bin2bn(prime,sizeof prime,dh->p)) goto error;
keypair.c: | ^~
keypair.c: keypair.c:29:22: error: invalid use of incomplete typedef 'DH' {aka 'struct dh_st'}
keypair.c: 29 | if (!BN_set_word(dh->g,2)) goto error;
keypair.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:openssl | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:openssl | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:openssl | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:openssl | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
Compiler output
keypair.c: keypair.c:32:8: warning: 'DH_new' is deprecated [-Wdeprecated-declarations]
keypair.c: 32 | dh = DH_new(); if (!dh) goto error;
keypair.c: | ^
keypair.c: /usr/include/openssl/dh.h:210:1: note: 'DH_new' has been explicitly marked deprecated here
keypair.c: 210 | OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:217:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: 217 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: | ^
keypair.c: keypair.c:34:8: warning: 'DH_set0_pqg' is deprecated [-Wdeprecated-declarations]
keypair.c: 34 | if (!DH_set0_pqg(dh,p,0,g)) goto error;
keypair.c: | ^
keypair.c: /usr/include/openssl/dh.h:266:1: note: 'DH_set0_pqg' has been explicitly marked deprecated here
keypair.c: 266 | OSSL_DEPRECATEDIN_3_0 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:217:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
keypair.c: 217 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
keypair.c: | ^
keypair.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
keypair.c: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
keypair.c: | ^
keypair.c: keypair.c:37:8: warning: 'DH_generate_key' is deprecated [-Wdeprecated-declarations]
keypair.c: ...
sharedsecret.c: sharedsecret.c:27:11: warning: 'DH_new' is deprecated [-Wdeprecated-declarations]
sharedsecret.c: 27 | alice = DH_new(); if (!alice) goto error;
sharedsecret.c: | ^
sharedsecret.c: /usr/include/openssl/dh.h:210:1: note: 'DH_new' has been explicitly marked deprecated here
sharedsecret.c: 210 | OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);
sharedsecret.c: | ^
sharedsecret.c: /usr/include/openssl/macros.h:217:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
sharedsecret.c: 217 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
sharedsecret.c: | ^
sharedsecret.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
sharedsecret.c: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
sharedsecret.c: | ^
sharedsecret.c: sharedsecret.c:35:8: warning: 'DH_set0_pqg' is deprecated [-Wdeprecated-declarations]
sharedsecret.c: 35 | if (!DH_set0_pqg(alice,p,0,g)) goto error;
sharedsecret.c: | ^
sharedsecret.c: /usr/include/openssl/dh.h:266:1: note: 'DH_set0_pqg' has been explicitly marked deprecated here
sharedsecret.c: 266 | OSSL_DEPRECATEDIN_3_0 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
sharedsecret.c: | ^
sharedsecret.c: /usr/include/openssl/macros.h:217:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
sharedsecret.c: 217 | # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
sharedsecret.c: | ^
sharedsecret.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
sharedsecret.c: 62 | # define OSSL_DEPRECATED(since) __attribute__((deprecated))
sharedsecret.c: | ^
sharedsecret.c: sharedsecret.c:44:8: warning: 'DH_set0_key' is deprecated [-Wdeprecated-declarations]
sharedsecret.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| T:opensslnew | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:opensslnew | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:opensslnew | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:opensslnew | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:opensslnew | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
Compiler output
keypair.c: keypair.c: In function 'crypto_dh_claus_opensslnew_timingleaks_keypair':
keypair.c: keypair.c:32:3: warning: 'DH_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 32 | dh = DH_new(); if (!dh) goto error;
keypair.c: | ^~
keypair.c: In file included from keypair.c:3:
keypair.c: /usr/include/openssl/dh.h:210:27: note: declared here
keypair.c: 210 | OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);
keypair.c: | ^~~~~~
keypair.c: keypair.c:34:3: warning: 'DH_set0_pqg' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 34 | if (!DH_set0_pqg(dh,p,0,g)) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/dh.h:266:27: note: declared here
keypair.c: 266 | OSSL_DEPRECATEDIN_3_0 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
keypair.c: | ^~~~~~~~~~~
keypair.c: keypair.c:37:3: warning: 'DH_generate_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 37 | if (!DH_generate_key(dh)) goto error;
keypair.c: | ^~
keypair.c: /usr/include/openssl/dh.h:234:27: note: declared here
keypair.c: 234 | OSSL_DEPRECATEDIN_3_0 int DH_generate_key(DH *dh);
keypair.c: | ^~~~~~~~~~~~~~~
keypair.c: keypair.c:39:3: warning: 'DH_get0_pub_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
keypair.c: 39 | z = DH_get0_pub_key(dh);
keypair.c: | ^
keypair.c: /usr/include/openssl/dh.h:274:37: note: declared here
keypair.c: 274 | OSSL_DEPRECATEDIN_3_0 const BIGNUM *DH_get0_pub_key(const DH *dh);
keypair.c: ...
sharedsecret.c: sharedsecret.c: In function 'crypto_dh_claus_opensslnew_timingleaks':
sharedsecret.c: sharedsecret.c:27:3: warning: 'DH_new' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
sharedsecret.c: 27 | alice = DH_new(); if (!alice) goto error;
sharedsecret.c: | ^~~~~
sharedsecret.c: In file included from sharedsecret.c:3:
sharedsecret.c: /usr/include/openssl/dh.h:210:27: note: declared here
sharedsecret.c: 210 | OSSL_DEPRECATEDIN_3_0 DH *DH_new(void);
sharedsecret.c: | ^~~~~~
sharedsecret.c: sharedsecret.c:35:3: warning: 'DH_set0_pqg' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
sharedsecret.c: 35 | if (!DH_set0_pqg(alice,p,0,g)) goto error;
sharedsecret.c: | ^~
sharedsecret.c: /usr/include/openssl/dh.h:266:27: note: declared here
sharedsecret.c: 266 | OSSL_DEPRECATEDIN_3_0 int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g);
sharedsecret.c: | ^~~~~~~~~~~
sharedsecret.c: sharedsecret.c:44:3: warning: 'DH_set0_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
sharedsecret.c: 44 | if (!DH_set0_key(alice,pub_key,priv_key)) goto error;
sharedsecret.c: | ^~
sharedsecret.c: /usr/include/openssl/dh.h:269:27: note: declared here
sharedsecret.c: 269 | OSSL_DEPRECATEDIN_3_0 int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key);
sharedsecret.c: | ^~~~~~~~~~~
sharedsecret.c: sharedsecret.c:47:3: warning: 'DH_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
sharedsecret.c: 47 | if (DH_size(alice) > SHAREDSECRET_BYTES) goto error;
sharedsecret.c: | ^~
sharedsecret.c: /usr/include/openssl/dh.h:214:27: note: declared here
sharedsecret.c: 214 | OSSL_DEPRECATEDIN_3_0 int DH_size(const DH *dh);
sharedsecret.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:opensslnew | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:opensslnew | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:opensslnew | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:opensslnew | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |