patchback[bot]
bfcdeeab91
[PR #11468/80d21f2a backport][stable-12] keycloak_realm_key: add full support for all Keycloak key providers ( #11519 )
...
keycloak_realm_key: add full support for all Keycloak key providers (#11468 )
* feat(keycloak_realm_key): add support for auto-generated key providers
Add support for Keycloak's auto-generated key providers where Keycloak
manages the key material automatically:
- rsa-generated: Auto-generates RSA signing keys
- hmac-generated: Auto-generates HMAC signing keys
- aes-generated: Auto-generates AES encryption keys
- ecdsa-generated: Auto-generates ECDSA signing keys
New algorithms:
- HMAC: HS256, HS384, HS512
- ECDSA: ES256, ES384, ES512
- AES: AES (no algorithm parameter needed)
New config options:
- secret_size: For HMAC/AES providers (key size in bytes)
- key_size: For RSA-generated provider (key size in bits)
- elliptic_curve: For ECDSA-generated provider (P-256, P-384, P-521)
Changes:
- Make private_key/certificate optional (only required for rsa/rsa-enc)
- Add provider-algorithm validation with clear error messages
- Fix KeyError when managing default realm keys (issue #11459 )
- Maintain backward compatibility: RS256 default works for rsa/rsa-generated
Fixes : #11459
* fix: address sanity test failures
- Add 'default: RS256' to algorithm documentation to match spec
- Add no_log=True to secret_size parameter per sanity check
* feat(keycloak_realm_key): extend support for all Keycloak key providers
Add support for remaining auto-generated key providers:
- rsa-enc-generated (RSA encryption keys with RSA1_5, RSA-OAEP, RSA-OAEP-256)
- ecdh-generated (ECDH key exchange with ECDH_ES, ECDH_ES_A128KW/A192KW/A256KW)
- eddsa-generated (EdDSA signing with Ed25519, Ed448 curves)
Changes:
- Add provider-specific elliptic curve config key mapping
(ecdsaEllipticCurveKey, ecdhEllipticCurveKey, eddsaEllipticCurveKey)
- Add PROVIDERS_WITHOUT_ALGORITHM constant for providers that don't need algorithm
- Add elliptic curve validation per provider type
- Update documentation with all supported algorithms and examples
- Add comprehensive integration tests for all new providers
This completes full coverage of all Keycloak key provider types.
* style: apply ruff formatting
* feat(keycloak_realm_key): add java-keystore provider and update_password
Add support for java-keystore provider to import keys from Java
Keystore (JKS or PKCS12) files on the Keycloak server filesystem.
Add update_password parameter to control password handling for
java-keystore provider:
- always (default): Always send passwords to Keycloak
- on_create: Only send passwords when creating, preserve existing
passwords when updating (enables idempotent playbooks)
The on_create mode sends the masked value ("**********") that Keycloak
recognizes as "preserve existing password", matching the behavior when
re-importing an exported realm.
Replace password_checksum with update_password - the checksum approach
was complex and error-prone. The update_password parameter is simpler
and follows the pattern used by ansible.builtin.user module.
Also adds key_info return value containing kid, certificate fingerprint,
status, and expiration for java-keystore keys.
* address PR review feedback
- Remove no_log=True from secret_size (just an int, not sensitive)
- Add version_added: 12.4.0 to new parameters and return values
- Remove "Added in community.general 12.4.0" from description text
- Consolidate changelog entries into 4 focused entries
- Remove bugfix from changelog (now in separate PR #11470 )
* address review feedback from russoz and felixfontein
- remove docstrings from module-local helpers
- remove line-by-line comments and unnecessary null guard
- use specific exceptions instead of bare except Exception
- use module.params["key"] instead of .get("key")
- consolidate changelog into single entry
- avoid "complete set" claim, reference Keycloak 26 instead
* address round 2 review feedback
- Extract remove_sensitive_config_keys() helper (DRY refactor)
- Simplify RS256 validation to single code path
- Add TypeError to inner except in compute_certificate_fingerprint()
- Remove redundant comments (L812, L1031)
- Switch .get() to direct dict access for module.params
(cherry picked from commit 80d21f2a0d )
Co-authored-by: Ivan Kokalovic <67540157+koke1997@users.noreply.github.com >
2026-02-18 18:36:48 +01:00
..
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-12-16 07:02:24 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-19 18:22:29 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2025-11-12 21:58:36 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-11 07:23:07 +01:00
2025-11-29 14:16:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-05 18:57:41 +01:00
2025-11-12 21:59:03 +01:00
2025-11-12 21:59:03 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-07 16:34:38 +01:00
2026-01-09 19:36:52 +01:00
2025-12-30 22:43:24 +01:00
2025-12-30 22:43:24 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2025-11-07 06:48:36 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-12 21:59:09 +01:00
2025-11-25 21:59:06 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-26 17:43:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:07 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-12 21:59:09 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-12 21:58:36 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:07 +01:00
2025-11-09 09:59:07 +01:00
2025-11-12 21:58:36 +01:00
2025-11-09 09:59:07 +01:00
2025-11-09 09:59:07 +01:00
2025-11-09 09:59:07 +01:00
2025-11-09 09:59:07 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:42 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-12-22 11:14:16 +01:00
2025-11-12 21:58:55 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-31 10:03:36 +01:00
2025-11-09 09:59:42 +01:00
2025-11-09 09:59:42 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-12 21:32:10 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-07 16:34:46 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-14 21:14:17 +01:00
2026-01-09 19:36:52 +01:00
2026-02-18 18:36:48 +01:00
2026-01-09 19:36:52 +01:00
2026-02-18 07:44:44 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:42 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-26 06:29:35 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-08 09:49:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-14 21:14:36 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-20 22:21:14 +01:00
2025-11-11 07:23:07 +01:00
2025-11-12 21:59:09 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-18 06:57:33 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:42 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-04 09:04:00 +01:00
2026-02-04 09:04:00 +01:00
2026-02-04 09:04:00 +01:00
2026-02-04 09:04:00 +01:00
2026-02-04 09:04:00 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-11-10 20:34:42 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-16 07:09:40 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-12-30 16:31:29 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-04 09:04:00 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-11 07:12:04 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-12-30 16:31:29 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-25 21:05:27 +00:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-25 21:05:10 +00:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2025-11-11 07:23:07 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-12-30 16:31:29 +01:00
2025-12-30 16:31:29 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-02-14 21:14:44 +01:00
2025-12-30 16:31:29 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-12-30 16:31:29 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-25 18:56:23 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-12-30 16:31:29 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-09 09:59:07 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-12 21:32:10 +01:00
2026-01-09 19:36:52 +01:00
2025-11-11 07:23:07 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-01 13:46:53 +01:00
2026-01-09 19:36:52 +01:00
2025-11-30 15:03:32 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00
2025-11-05 22:42:14 +01:00
2026-01-09 19:36:52 +01:00
2026-01-09 19:36:52 +01:00