Commit graph

1216 commits

Author SHA1 Message Date
Giannis Adamopoulos cc25a266f2 [COMCTL32] imagelist: Make the exported functions use the internal IImageList2
- Add a hack to rename the exported functions and use the Internal_ prefix for them so that the IImageList can use them with minimal code changes.
- Add the correct implementation of the affected exported functions making them now use the IImageList of the passed HIMAGELIST.

This indirection is possible because an HIMAGELIST is also a IImageList*.
This indirection is also needed because we can end up using image lists created by either comctl32 v5 or comctl32 v6.
This is how windows manage to use an HIMAGELIST created by comctl32 v5 when it is passed to comctl32 v6.
What really happens in this scenario is that the exported functions of both versions end up using the interface
stored in the object without checking if this interface is the version provided in the same dll or in the other.
2019-06-12 19:20:44 +03:00
Pierre Schweitzer f381137c89
[BTRFS] Upgrade to 1.3
CORE-16111
2019-06-11 12:35:19 +02:00
Eric Kohl 90aa2c26f8 [NETCFGX] Improvements to the TCP/IP settings dialog.
- Separate the gateway settings from the DHCP settings.
- Enable Edit and Delete buttons only if an item in a list box has been selected.

CORE-9908
2019-06-11 06:58:42 +02:00
Eric Kohl 8f285f71c9 [NETCFGX] Do not update the TCP/IP properties when the cancels the advanced properties dialog.
CORE-9908
2019-06-10 20:28:58 +02:00
Yaroslav Kibysh f0163f124f
[MSGINA] Update Ukrainian translation. (#1642) 2019-06-10 17:00:44 +02:00
Yaroslav Kibysh b2e4ff8cfd
[SHELL32] Update Ukrainian translation. (#1637) 2019-06-10 16:45:20 +02:00
Pierre Schweitzer a7b6a1a97d
[MSGINA] Update French translation 2019-06-10 15:37:32 +02:00
Eric Kohl f2f698587c [MSGINA] Add missing logon restriction messages. 2019-06-09 22:42:10 +02:00
Serge Gautherie 8a8453494f [SHELL32] SHCreateShellFolderView(): Fix parameter validation order. (#1632)
Fixes one modification from commit ae2a85d0.
CORE-16098
2019-06-09 15:57:45 +02:00
Eric Kohl c1421c4108 [NETAPI32] Ignore usriX_logon_hours and usriX_units_per_week if usriX_logon_hours is NULL. 2019-06-09 15:25:13 +02:00
Eric Kohl 1b05c9586c [NETAPI32] Do not try to set usriX_max_storage. Just ignore it. 2019-06-09 14:50:07 +02:00
Serge Gautherie 92e5fabb55
[BROWSEUI] Fix SHEnumClassesOfCategories() parameter validation. (#1622)
Addendum to fdfef818. CORE-11711
2019-06-08 20:05:54 +02:00
Hermès Bélusca-Maïto ae2a85d003
[SHELL32] Fix some NULL-pointers validation.
- In the exported SHCreateDefaultContextMenu() and
  IDataObject_Constructor() functions (called amongst others by
  the exported CIDLData_CreateFromIDArray() function).

- In the exported SHCreateShellFolderView() function.

- In CDefView::GetItemObject(), where data was written to *ppvOut before
  ppvOut was being checked for NULL.
2019-06-08 19:43:02 +02:00
Yaroslav Kibysh 47d76db311
[BROWSEUI] Update Ukrainian translation. (#1626) 2019-06-08 18:43:13 +02:00
Yaroslav Kibysh 6a8e99e235
[NEWDEV] Update Ukrainian translation. (#1625) 2019-06-08 18:37:29 +02:00
Yaroslav Kibysh 4d44e11f1e
[SHELL32] Update Ukrainian translation. (#1623) 2019-06-08 17:58:42 +02:00
Eric Kohl c47ad98ff7 [SETUPAPI] Fix a typo in CM_Query_Resource_Conflict_List. 2019-06-06 19:12:44 +02:00
Eric Kohl adc9bd48b7 [SETUPAPI] GetDeviceInstanceKeyPath: Create a new driver instance property if needed and SEH-protect calls to umpnpmgr. 2019-06-06 19:08:43 +02:00
Hermès Bélusca-Maïto fdfef818ef
[BROWSEUI] Fix CSHEnumClassesOfCategories::Initialize() parameters validation. (#1559)
CORE-11711
2019-06-06 17:07:38 +02:00
Serge Gautherie 1f8250f700
[BROWSEUI] browseui.spec: Fix SHEnumClassesOfCategories() parameters. (#1559) 2019-06-06 17:06:52 +02:00
Serge Gautherie addfb61d8b [NTDLL_VISTA] Check _DEBUG with #ifdef, not #if (#1615) 2019-06-06 01:49:18 +02:00
Serge Gautherie 46259092f9 [ADVAPI32:REG] Remove some useless casts (#1614) 2019-06-05 18:37:07 +02:00
Serge Gautherie 38db074491 Misc addendum to CORE-14271 (#1529)
* [ADVAPI32] Simplify RtlCreateUnicodeStringFromAsciiz() return value check

RtlCreateUnicodeStringFromAsciiz() returns a BOOLEAN, not a BOOL.

No functional change.

Addendum to
CORE-14271

* [USER32] Simplify RtlCreateUnicodeStringFromAsciiz() return value check

RtlCreateUnicodeStringFromAsciiz() returns a BOOLEAN, not a UINT.

Also, add a FIXME.

No functional change.

Addendum to
CORE-14271

* [USER32] Simplify RegisterClipboardFormatA/W() a bit

No functional change.

* [UDFS] Simplify SeSinglePrivilegeCheck() return value check

No functional change.

Addendum to
CORE-14271
2019-06-04 16:56:33 +02:00
Joachim Henze bc3eed68ca [MSHTML] Fake Success in HTMLDocument_put_bgColor()
This avoids at startup of Instant Messenger "QIP 2005 8095"
a message-box with "OLE Error 8004001".
The issue is a subtask of CORE-11537
Many Thanks to the patches author
Andreas Maier <staubim@quantentunnel.de>
JIRA-nick: andy-123

Note you still need to install Gecko 2.40 and Samba 1.3 from rapps for QIP.
2019-06-01 22:53:16 +02:00
Eric Kohl adceb3807e [NETAPI32] Implement parts of NetGetDCName and declare some parameters optional. 2019-05-29 15:35:55 +02:00
Eric Kohl 968bdeddf3 [NETAPI32] Implement NetpAllocWStrFromStr(), NetpAllocWStrFromAnsiStr() (not public, but useful) and NetpAllocWStrFromWStr(). 2019-05-29 12:59:44 +02:00
Katayama Hirofumi MZ 9a39315d46
[SYSSETUP] Set registry hostname in WriteComputerSettings (#1589)
Based on @Doug-Lyons's patch. CORE-16067
2019-05-29 19:59:40 +09:00
Timo Kreuzer 801ec51a91 [BROWSEUI] Fix indentation
Fixes GCC 8 warning:
dll/win32/browseui/explorerband.cpp:1332:17: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
                 if (!SUCCEEDED(hr) || !pParent.p)
                 ^~
dll/win32/browseui/explorerband.cpp:1335:21: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
                     hr = pParent->SetNameOf(0, pidlChild, dispInfo->item.pszText, SHGDN_INFOLDER, &pidlNew);
                     ^~
2019-05-27 13:22:40 +02:00
Timo Kreuzer 207a0f520e [MSHTML] Convert tabs to spaces
Fixes GCC 8 warning:
dll/win32/mshtml/script.c:844:4: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
    if(!new_buf)
    ^~
dll/win32/mshtml/script.c:846:13: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
             This->size <<= 1;
             ^~~~
2019-05-27 13:22:40 +02:00
Timo Kreuzer 089d59bc6c [RSAENH] Use StringCbPrintfA instead of sprintf
Fixes GCC 8 warning:
dll/win32/rsaenh/rsaenh.c:161:23: error: '%s' directive writing up to 259 bytes into a region of size 235 [-Werror=format-overflow=]
 #define RSAENH_REGKEY "Software\\Wine\\Crypto\\RSA\\%s"
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dll/win32/rsaenh/rsaenh.c:161:23: note: in definition of macro 'RSAENH_REGKEY'
 #define RSAENH_REGKEY "Software\\Wine\\Crypto\\RSA\\%s"
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dll/win32/rsaenh/rsaenh.c:1107:5: note: 'sprintf' output between 26 and 285 bytes into a destination of size 260
     sprintf(szRSABase, RSAENH_REGKEY, pKeyContainer->szName);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-05-27 13:22:40 +02:00
Timo Kreuzer 81bdf4e360 [CRT] Add missing posix error codes
These are required by latest mingw-w64 stl and we are mixing this with our crt headers.
Define _CRT_NO_POSIX_ERROR_CODES in all modules that define their own constants.
2019-05-27 13:22:40 +02:00
Katayama Hirofumi MZ 2db0e159a4
[KERNEL32] Fix SetComputerNameExW (#1583)
Based on @Doug-Lyons's patch. CORE-16058
2019-05-27 16:18:38 +09:00
Jose Carlos Jesus 7f5e960e32
[TRANSLATIONS] Update/Add Portuguese translations.
Translations for: reactos/setup, usetup, syssetup, netshell, shell32.
2019-05-26 21:19:31 +02:00
Jose Carlos Jesus 73d7fd1415
[TRANSLATIONS] Update/Add Portuguese translations. (#1564)
Translations for: deskadp, deskmon, reactos/setup, usetup, syssetup.

Co-Authored-By: Bișoc George <fraizeraust99@gmail.com>
2019-05-19 17:04:47 +02:00
Pierre Schweitzer ea7aca8bdd
[KERNEL32] Drop unused line breaks 2019-05-08 18:34:28 +02:00
Pierre Schweitzer 204bfa8574
[KERNEL32] Misc. fixes to DefineDosDeviceW
- Add support for LUIDDeviceMapsEnabled;
- Broadcast proper message in case of device removal;
- Use less memory for strings management;
- Make code a bit cleaner.
2019-05-05 18:33:15 +02:00
Pierre Schweitzer 5d20d512be
[KERNEL32] Rewrite QueryDosDeviceW to handle global and local MS-DOS namespaces
It also comes with a small performance boost: instead of performing object
queries one after another, we query them all at once.
2019-05-05 14:18:09 +02:00
Pierre Schweitzer 8d128aa441
[KERNEL32] Reduce QueryDosDeviceA memory footprint
by using TEB static unicode string (which is already
preallocated).
Also, properly handle RtlUnicodeStringToAnsiString failures.
Finally, make sure output buffer is properly 0 terminated.
2019-05-05 10:17:16 +02:00
Pierre Schweitzer 1ed7f27466
[KERNEL32] Reduce DefineDosDeviceA memory footprint
by using TEB static unicode string (which is already
preallocated).
2019-05-05 10:17:16 +02:00
Eric Kohl 5164c852e8 [POWERPROF] ValidatePowerPolicies: Do not fail because of legal power states which were set by FixSystemPowerState. 2019-05-02 20:39:58 +02:00
Hervé Poussineau 7033ab18df [HID] Use hidparser static library for HidP_* functions
hid.dll and hidparse.sys must understand the same HID preparsed data,
so use the same code in hid.dll and in hidparse.sys

At the same time, this permis implementation of some HidP_* functions.
2019-05-02 20:06:47 +02:00
Katayama Hirofumi MZ dcaaf3e7af
[COMDLG32] Fix treatment of wrong filename extension (#1545)
Fix treatment of wrong filename extensions upon GetOpenFileName/GetSaveFileName. CORE-15270
2019-05-02 22:48:01 +09:00
Hermès Bélusca-Maïto 77d234b049
[KERNEL32] Addendum to 0e3a0435 (PR #803): always return TRUE in the stub-plemented SetThreadStackGuarantee() to continue satisfying programs that use it. CORE-15989 2019-04-29 22:51:35 +02:00
Serge Gautherie cf48f8bf8a [REACTOS] Replace remnant legacy SPIF_SENDWININICHANGE by SPIF_SENDCHANGE (#1526)
No functional change otherwise.
2019-04-28 21:19:42 +02:00
Katayama Hirofumi MZ 2da24f7274 [COMDLG32] Follow up of #1514 CORE-7114 Don't load asterisk extension 2019-04-28 08:44:52 +09:00
Hermès Bélusca-Maïto 0e3a043526
[KERNEL32] Add an (incomplete) pre-implementation for SetThreadStackGuarantee(). (#803)
This should remove some of the "SetThreadStackGuarantee(): stub" messages in some simple cases.
2019-04-27 18:41:50 +02:00
Katayama Hirofumi MZ 6a7d8112c3
[COMDLG32] Save open/save location by extension (#1514)
Use the proper open/save initial folder for comdlg32.GetOpenFileName and comdlg32.GetSaveFileName. CORE-7114
2019-04-27 23:02:34 +09:00
Andrew Cook 716613cddc [CMAKE] Use new policies for CMP0005 and CMP0018 (#1481)
* [CMAKE] Fix for CMP0018
The new behaviour lets us explicitly disabling position independent code, avoiding the need to change undocumented variables

* LINK_DEPENDS is semicolon separated

* [CMAKE] Fix for CMP0005
it seems impossible to have cmake correct escape PROXY_CLSID_IS so move it to the header
2019-04-27 11:33:37 +02:00
Jared Smudde 7e18b6d0eb
[BROWSEUI] Enable the Disconnect Network Drive menu item. (#1522)
CORE-13516, CORE-13518
2019-04-24 04:28:05 +02:00
Jared Smudde bf431dd278
[MPR] Implement the function WNetDisconnectDialog(). (#1522)
CORE-13516, CORE-13518
2019-04-24 04:28:01 +02:00
Hermès Bélusca-Maïto 62823a08ce
[SHELL32] Make the new-item menu work (aka. make it dynamic) when the .lnk handler doesn't have any ShellNew entry. 2019-04-24 03:41:41 +02:00
Hermès Bélusca-Maïto 0416c598f8
[SHELL32] Code formatting/style/whitespace fix + fix two memory leaks in failure paths of CNewMenu::LoadItem(). 2019-04-24 03:36:27 +02:00
Katayama Hirofumi MZ 8e60c2efee
[SHELL32] Implement 'New Link' (Retrial of #1510), CORE-15511 (#1518)
Correctly create cache about ".lnk" and handling in the member functions.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2019-04-24 03:28:17 +02:00
Mark Jansen 774f497721
[SYSSETUP] Fix a broken DPRINT
Thanks to Thomas for spotting it.
2019-04-22 16:24:59 +02:00
Eric Kohl eabae983e0 [POWRPROF] EnumPwrSchemes: Fix callback string lengths
The callback routine should get the real lengths of the name and description strings in bytes instead of the buffer sizes in characters. This fixes buffer overflows in powercfg.cpl.
2019-04-22 00:44:47 +02:00
Eric Kohl afca8367ea [KERNEL32] GetSystemPowerStatus(): Set the BATTERY_FLAG_CRITICAL flag if the battery life gets lower than 5 percent. 2019-04-19 22:30:46 +02:00
Eric Kohl 333eb16f30 [KERNEL32] GetSystemPowerStatus(): Fix coding style. No code changes! 2019-04-19 22:28:11 +02:00
Andreas Maier 0263151f3c
[DBGHELP] SymFromAddr: Handle 2 or more symbols at the same address correct.
There could be more then 2 symbols at the same addr.
Adjust function to handle that case correct.
2019-04-19 21:09:45 +02:00
Andreas Maier b2bcd8afdd
[DBGHELP] Set LastError for SymGetModuleBase-calls to ERROR_MOD_NOT_FOUND.
Correct last error in module_find_by_addr.
2019-04-19 21:09:45 +02:00
Andreas Maier 6175044aed
[DBGHELP] set correct values in symt_fill_sym_info (SYMBOL_INFO).
* symtype: set to SymPdb not SymCv (may be for old pdb-files pre VS 6.0)
* flags: return SYMFLAG_PUBLIC_CODE for SymTagPublicSymbol if its a function.
* flags: do not return SYMFLAG_FUNCTION for SymTagFuncion.
2019-04-19 21:09:45 +02:00
Andreas Maier 9466a005e9
[DBGHELP] Add SYMFLAG_- and SYMTYPE_-defines. 2019-04-19 21:09:44 +02:00
Andreas Maier e3447d02c1
[DBGHELP] use correct record in codeview_snarf_public.
Use public_vx iststead of data_vx for public symbols.
2019-04-19 21:09:44 +02:00
Andreas Maier 183294a12e
[DBGHELP] search for debugfiles in modulepath too.
Debug symbols (like PDB, ...) could not be found if the direcory of
the module and application differs. Applying this patch they will
be found.
Dbghelp searches the module path too. (See MS docs).
2019-04-19 21:09:38 +02:00
Mark Jansen 9f00854bad
[MSGINA] Disable exceptions in atl when compiling without exceptions 2019-04-18 19:21:38 +02:00
Mark Jansen f5731a41f8
[SHELL32] Use the same definitions for shell32 and it's static libs 2019-04-18 19:21:37 +02:00
Mark Jansen 9824a0154e
[ATL] Retire atlnew 2019-04-18 19:21:37 +02:00
Katayama Hirofumi MZ 083d6be31e [KERNEL32] Implement InvalidateNLSCache 2019-04-16 21:41:58 +09:00
Katayama Hirofumi MZ a004233bd3 [KERNEL32] Fix handle leak and caching (follow-up of 7e38267) 2019-04-16 20:57:02 +09:00
Katayama Hirofumi MZ 7e3826786e [KERNEL32] Era first year is GANNEN 2019-04-16 11:10:00 +09:00
Thomas Faber 6122f3f436
[COMCTL32] Remove an unnecessary include. 2019-04-14 14:35:29 +02:00
Thomas Faber 5685ad4a12
[CMAKE] Don't use the PCH for generated files.
The PCH must be used with the same compiler flags it was generated with,
so don't use it for files that use modified flags.
2019-04-13 15:58:22 +02:00
Timo Kreuzer 146096cd2e [3RDPARTY] Make some warnings non-fatal 2019-04-13 14:07:50 +02:00
Timo Kreuzer c2e16abc91 [DBGHELP] Fix 64 bit issue 2019-04-13 14:07:50 +02:00
Timo Kreuzer f9a967b2ae [REACTOS] Fix misc 64 bit issues 2019-04-13 14:07:50 +02:00
Katayama Hirofumi MZ c65156002c
[SHELL32] Fix SHFileOperation Move operation (#1487)
Reduce failures of Move operation of shell32!SHFileOperation function. CORE-13450
2019-04-08 21:59:33 +09:00
Stanislav Motylkov d2a2632fd9 [SYSSETUP] Update Russian translation
Addendum to 5d4d48a, 21b7648, and ea799b7.
2019-04-07 23:51:34 +02:00
Foxlet ea799b74f1 [SYSSETUP] Add Mizu to syssetup. 2019-04-07 22:47:20 +02:00
Hervé Poussineau 11d11cf6d0 [CMAKE] Temporarly disable pch in some modules to fix travis-ci
Problem appeared after 09c4d0a74b
2019-04-07 21:00:49 +02:00
Hervé Poussineau 10ecbaddd0 [ADVAPI32] Send correct type to ElfrChangeNotify()
This fixes the following compiler error:
../dll/win32/advapi32/service/eventlog.c:658:59: error: passing argument 3 of 'ElfrChangeNotify' makes integer from pointer without a cast [-Werror=int-conversion]
dll/win32/advapi32/eventlogrpc_c.h:391:20: note: expected 'ULONG {aka long unsigned int}' but argument is of type 'HANDLE {aka void *}'
2019-04-07 18:32:29 +02:00
Hervé Poussineau 09c4d0a74b [CMAKE] Prevent out-of-bound accesses in parser/lexer files
which try to remove path prefix from them.
2019-04-07 18:32:29 +02:00
Joachim Henze b71429059a [COMCTL32] Improve status bar margin for unthemed and themed CORE-15834
Improve further what was recently committed in
0.4.12-dev-361-g
da9accfba6
2019-04-07 15:15:25 +02:00
Katayama Hirofumi MZ f762aa3dd2 [SHELL32] Fix explorer file item label background CORE-15937 2019-04-07 21:38:00 +09:00
Katayama Hirofumi MZ 15537c3bbe
[KERNEL32] Support Japanese calendar (#1482)
Implement the Japanese calendar in kernel32. Locale info and date formatting. CORE-15920
2019-04-07 20:20:23 +09:00
Jérôme Gardou 23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Katayama Hirofumi MZ c7bebe40cb
[KERNEL32] Improve MultiByteToWideChar (#1477)
Reduce MultiByteToWideChar failures. CORE-13349
2019-04-06 20:11:07 +09:00
Katayama Hirofumi MZ 6150baf414 [SHELL32] pl-PL.rc escape sequence fix 2019-04-06 11:41:08 +09:00
Adam Słaboń 21b7648f15 [SYSSETUP] Add Lunar theme option to 2nd setup stage
This adds Lunar theme option to the 2nd setup stage theme chooser page.
2019-04-06 01:10:52 +02:00
Mark Jansen 5d4d48a850
[SYSSETUP] Add a theme chooser that can handle multiple styles 2019-04-05 21:56:31 +02:00
Adam Słaboń 7047aa80ef [TRANSLATION] Polish translation update
Polish translation update for calc, fltmc, magnify, notepad, osk, sndvol32, usetup, fdebug, appwiz, mmsys, sysdm, acppage, ziplfdr, browseui, cryptui, jscript, shell32, themeui and inf. Added translation for cyrptext, vcdcontroltool, and (not yet complete) getuname.
2019-04-05 10:34:10 +02:00
Katayama Hirofumi MZ f55ded91a4
[SHIMGVW] Fix cursor (#1471)
Fix the cursor of shimgvw.dll. CORE-15219
2019-04-05 16:52:11 +09:00
Katayama Hirofumi MZ d04b4e65d6
[SHELL32] Implement Explorer background image (Retrial of #801) (#1463)
IconArea_Image, IconArea_Text and IconArea_TextBackground values in desktop.ini in a folder will be supported. It denies network paths. CORE-5516
2019-04-05 07:59:35 +09:00
Mark Jansen d71712e909
[SYSSETUP] Ask for common controls v6 when using v6 features 2019-04-03 19:44:27 +02:00
Mark Jansen bae083355d
[SYSSETUP] Add a missing break 2019-04-03 19:44:16 +02:00
Maxim Smirnov 39c0fd5722 [SHELL32] Fix version info in the file dialog 2019-04-03 00:51:24 +02:00
Julien Schueller 23d0aead53 [KERNEL32] Fix typo in kernel32.spec (#1453) 2019-04-02 15:48:41 +02:00
Timo Kreuzer be97da34ac [NETAPI32] Fix NetUserEnum to work on x64
The previous implementation used the resume_handle parameter to return a pointer to the active enumeration context, but resume_handle is a DWORD. To support 64 bit pointers, the enumeration context is inserted into a global linked list and given a unique 32 bit value as identifier for later lookup.
The way the function is implemented, leaking a data structure while the MSDN description does not indicate that, seems a little questionable in general, but that is something that I leave to the original author to investigate.
2019-04-02 01:45:51 +02:00
Timo Kreuzer 61e35141e8 [SETUPAPI] Use ClassInstallReserved field instead of Reserved to store a pointer.
The Reserved field is ULONG and we need ULONG_PTR. ClassInstallReserved was unused so far. I have no idea whether this is correct, but it cannot be more incorrect than what we had.
2019-04-01 22:20:39 +02:00
Hervé Poussineau 6cc607bac2 [SETUPAPI] SetupDiGetDeviceInfoListClass: fix buffer overflow (and return correct results) 2019-04-01 11:38:32 +02:00
Hervé Poussineau faa938e9dc [USERENV] Initialize variable before using it 2019-04-01 11:38:32 +02:00
Hervé Poussineau 6668178cff [PSDK] Remove throw specifiers, deprecated in C++11 2019-04-01 11:38:32 +02:00