Commit Graph

3963 Commits (e36516f76699d9df18344df92f73d62ca681538a)

Author SHA1 Message Date
Stéphane Adjemian (Charybdis) 2f7e9959f0 Changed dates constructor so that an object can be instantiated by passing the freq and time member or the freq member, the first column of the time member and the second column of the time member (mandatory only for non annual frequency). 2013-10-16 13:04:48 +02:00
Stéphane Adjemian (Charybdis) f28bc166f6 dynDate --> dates in load_xls_file_data. 2013-10-16 12:30:14 +02:00
Stéphane Adjemian (Charybdis) 73df682eb8 Added consistency test between INIT__ and FREQ__. 2013-10-16 12:05:39 +02:00
Stéphane Adjemian (Charybdis) fb08f5c133 dynDate --> dates in load_mat_file_data routine. Fixed unitary test. 2013-10-16 12:03:39 +02:00
Stéphane Adjemian (Charybdis) d0220e8685 Rewrote headers. 2013-10-16 11:56:36 +02:00
Stéphane Adjemian (Charybdis) 97580b84bb dynDate --> dates in load_m_file_data routine. Fixed unitary test. 2013-10-16 11:40:55 +02:00
Stéphane Adjemian (Charybdis) c4667fedbb Replaced instantiation of dynDate objects by instantiation of dates objects in load/csv_file_data (initial date of the dataset). 2013-10-16 11:34:45 +02:00
Stéphane Adjemian (Charybdis) c8d4949c52 Rewrote header. 2013-10-16 11:33:23 +02:00
Stéphane Adjemian (Charybdis) f30b88f50c Changed default options_.initial_period (has to be a dates object). 2013-10-15 16:18:46 +02:00
Stéphane Adjemian (Charybdis) d588fce95d Fixed unitary test #4 in @dates/dates (constructor). 2013-10-15 15:53:16 +02:00
Stéphane Adjemian (Charybdis) 667e895a26 Fixed unitary test in @dates/colon. 2013-10-15 15:51:33 +02:00
Stéphane Adjemian (Charybdis) 786ad2b6eb Fixed typo in comments (unitary testof @dates/isempty). 2013-10-15 15:50:17 +02:00
Stéphane Adjemian (Charybdis) 24d68dceab Fixed unitary test in @dates/union. 2013-10-15 15:48:02 +02:00
Stéphane Adjemian (Charybdis) abdf266608 Fixed unitary test in @dates/intersect. 2013-10-15 15:45:55 +02:00
Michel Juillard 63430a54ea dynSeries: replacing strmatch by strcmp 2013-10-15 15:39:15 +02:00
Stéphane Adjemian (Charybdis) e681fff99f Oups! Rename the constructor also... 2013-10-15 15:39:14 +02:00
Stéphane Adjemian (Charybdis) 868c3c6a5e Renamed dynDates class as dates. 2013-10-15 15:36:21 +02:00
Stéphane Adjemian (Charybdis) aec191c825 Removed @dynDate class. 2013-10-15 15:13:43 +02:00
Stéphane Adjemian (Charybdis) f836e485f9 Rewrote @dynDates/subsref method. Added unitary tests. 2013-10-15 15:06:32 +02:00
Stéphane Adjemian (Charybdis) f813702b32 Added a routine to test if an integer (a vector of integers) can be interpreted as a subperiod (a vector of subperiods). 2013-10-15 15:03:43 +02:00
Johannes Pfeifer 13bd1622e2 Fix variable name and document saving of conditional forecasts 2013-10-15 13:31:11 +02:00
Stéphane Adjemian (Charybdis) ff292fa67b Use new version of isdate routine. 2013-10-14 22:43:11 +02:00
Stéphane Adjemian (Charybdis) 068564628d Added condition (input must be a string) in isyearly, isquaterly, ismonthly and isweekly functions. 2013-10-14 18:17:32 +02:00
Stéphane Adjemian (Charybdis) 941d7b7c5d Use isfreq function in constructor. 2013-10-14 18:13:21 +02:00
Stéphane Adjemian (Charybdis) db7f431010 Added routine. 2013-10-14 18:12:50 +02:00
Stéphane Adjemian (Charybdis) 264e0851ae Rewrote @dynDates/append and @dynDates/pop (without dynDate objects). 2013-10-13 09:39:27 +02:00
Stéphane Adjemian (Charybdis) 7e6fbb1752 Code factorization. 2013-10-12 23:52:21 +02:00
Stéphane Adjemian (Charybdis) 04c206a9b6 Routine string2freq should not be case sensitive. Character 'A' is allowed for yearly (annual) dates. 2013-10-12 23:47:51 +02:00
Stéphane Adjemian (Charybdis) 49a6e265e3 Changed methods used to display dynDates objects (do not use dynDate objects). 2013-10-12 23:44:06 +02:00
Stéphane Adjemian (Charybdis) 5ba5556004 Removed @dynDate/format function. 2013-10-12 23:43:12 +02:00
Stéphane Adjemian (Charybdis) 586aa13e41 Added routines for manipulating dates. 2013-10-12 23:42:12 +02:00
Stéphane Adjemian (Charybdis) ff53b55603 Removed @dynDate/max and @dynDate/min methods. 2013-10-12 17:38:38 +02:00
Stéphane Adjemian (Charybdis) 4001918210 Added @dynDates/min and @dynDates/max methods. 2013-10-12 17:36:33 +02:00
Stéphane Adjemian (Charybdis) 9e282140fb Removed dynDate/colon method. 2013-10-12 16:15:11 +02:00
Stéphane Adjemian (Charybdis) a20740d1de Added @dynDates/colon method, overloads the colon operator (:) for dynDates objects. 2013-10-12 16:13:50 +02:00
Stéphane Adjemian (Charybdis) 91a69e7905 Merged @dynDates/minus and @dynDate/minus. Removed dynDate/minus.
This  commit  changes  the   behaviour  of  @dynDates/minus  that  was
previously  returning  the relative  complement  of  B  in A.  I  will
implement a setdiff function for dynDates objects later...
2013-10-12 13:15:15 +02:00
Stéphane Adjemian (Charybdis) cce8b1adc6 Fixed bug (returned argument not assigned). 2013-10-12 13:07:41 +02:00
Stéphane Adjemian (Charybdis) 5c8d335b0e Added @dynDates/mtimes method, overload the * operator. Acts like the repmat matlab's function for matrices. 2013-10-12 13:01:26 +02:00
Stéphane Adjemian (Charybdis) 8eded4251a Added @dynDates/isequal function. Returns 1 if dynDates A and B (the inputs) are equal, 0 otherwise. 2013-10-12 12:33:07 +02:00
Stéphane Adjemian (Charybdis) 6ebc967197 Changed the behaviour of @dynDates/eq overloaded method. The size of the returned argument must be consistent with the size of the inputs. If the inputs have more than one element, then the boolean output must also have more than one element. 2013-10-12 12:32:08 +02:00
Stéphane Adjemian (Charybdis) 87c8083b16 Fixed bug (return wrong type when one of the argument is an integer). 2013-10-12 11:42:13 +02:00
Stéphane Adjemian (Charybdis) f9315f1409 Added missing commented string (first line) for triggering the unitary tests. 2013-10-11 23:36:29 +02:00
Johannes Pfeifer e192f739b7 Filter out shocks specified twice for IRF generation 2013-10-11 19:32:52 +02:00
Stéphane Adjemian (Charybdis) ffe6b792da Rewrote header of dynDates/plus. 2013-10-11 18:47:20 +02:00
Stéphane Adjemian (Charybdis) d17ed416dc Merged @dynDate/plus and @dynDates/plus methods (overload the plus operator). Removed @dynDate/plus. 2013-10-11 18:41:26 +02:00
Stéphane Adjemian (Charybdis) d6ddc61281 Added @dynDates/length to overload length function for dynDates objects. 2013-10-11 18:39:56 +02:00
Stéphane Adjemian (Charybdis) fe28887409 Added new (low level) routine to add periods to a date or vector of dates (using the internal representation of dates). 2013-10-11 17:49:42 +02:00
Stéphane Adjemian (Charybdis) 45ec7c6953 Added unitary tests in @dynDates/uplus and @dynDates/uminus methods. 2013-10-11 14:15:56 +02:00
Stéphane Adjemian (Charybdis) 31af73f4e3 Added @dynDates/uminus method to overload the unary minus operator. Removed @dynDate/minus method. 2013-10-11 14:08:12 +02:00
Stéphane Adjemian (Charybdis) d8e03ff805 Added @dynDates/uplus to overload unary addition. Removed @dynDate/uplus. 2013-10-11 13:59:19 +02:00
Stéphane Adjemian (Charybdis) 6280f35842 Added @dynDates/ge method to overload >= operator. Removed @dynDate/ge method. 2013-10-11 13:42:16 +02:00
Stéphane Adjemian (Charybdis) 1543a380c6 Expanded unitary test in compare_vectors routine to cover more cases. 2013-10-11 13:39:16 +02:00
Stéphane Adjemian (Charybdis) af4005f836 Fixed bugs. 2013-10-11 13:38:19 +02:00
Stéphane Adjemian (Charybdis) 6fff2fe75b Changed logic in the routine performing lexicographic comparison of vectors. 2013-10-11 12:09:31 +02:00
Stéphane Adjemian (Charybdis) be32e645af Fixed typo. 2013-10-11 10:58:35 +02:00
Stéphane Adjemian (Charybdis) f431e6ac90 Added @dynDates/le method to overload the <= operator. Removed the @dynDate/le method. 2013-10-11 10:56:32 +02:00
Stéphane Adjemian (Charybdis) 563ffdcd15 Deactivated unitary tests #2 and #3 in @dynDates/subsref, changed unitary test #1 (do not use colon operator to instantiate a dynDates object) and added a new unitary test (to test the selection of one element in a dynDates object). 2013-10-11 10:20:08 +02:00
Stéphane Adjemian (Charybdis) 049ba8d527 Changed @dynDates/subsref so that the selection of a single element in a dynDates object returns a dynDates object with one element (not a dynDate object). 2013-10-11 10:17:48 +02:00
Stéphane Adjemian (Charybdis) 153fe1ca82 Changed unitary test for @dynDates/eq (do not use the colon operator to instantiate the dynDates object). Added unitary test for the case where dynDates objects have only one element. 2013-10-11 09:59:02 +02:00
Stéphane Adjemian (Charybdis) 4118165b88 Removed @dynDate/isempty. 2013-10-11 09:51:26 +02:00
Stéphane Adjemian (Charybdis) b98c390ed8 Only test the value of ndat member in @dynDates/isempty function. 2013-10-11 09:48:55 +02:00
Stéphane Adjemian (Charybdis) 18a19f3200 Added @dynDates/gt method to overload the > operator. Deleted @dynDate/gt method. 2013-10-11 09:44:42 +02:00
Stéphane Adjemian (Charybdis) a2534c5bbc Added unitary test. 2013-10-11 09:37:20 +02:00
Stéphane Adjemian (Charybdis) b957545c73 Removed @dynDate/lt method. 2013-10-11 09:37:05 +02:00
Stéphane Adjemian (Charybdis) c3e06c70bc Added dynDates::lt method. Overloads < opterator. 2013-10-10 18:28:26 +02:00
Stéphane Adjemian (Charybdis) c37c34a102 Fixed typo. 2013-10-10 18:27:31 +02:00
Stéphane Adjemian (Charybdis) a22852afad Added routine to compare vectors of common length by lexicographical order. 2013-10-10 16:56:42 +02:00
Stéphane Adjemian (Charybdis) 55cf9ebde1 Replaced texinfo header by a plain text header. 2013-10-10 16:01:37 +02:00
Stéphane Adjemian (Charybdis) 21fa2b949d Rewrote @dynDates::eq method so that it handles correctly objects with only one element. 2013-10-10 15:52:50 +02:00
Stéphane Adjemian (Charybdis) 74d7bcbc71 Changed dynDates constructor. 2013-10-10 15:13:50 +02:00
Stéphane Adjemian (Charybdis) 294356db22 Fixed unitary test #3 in dynDates constructor. 2013-10-10 15:13:12 +02:00
Stéphane Adjemian (Charybdis) e9bb2ba77f Deactivated unitary test #4 in dynDates constructor. 2013-10-10 14:58:15 +02:00
Stéphane Adjemian (Charybdis) 22144ef359 Added a routine for converting a string into a date structure.
A date structure has two fields:

 o freq, an integer scalar (=1, 4, 12, 52) specifying the frequency.

 o time, a 1*2 matrix of integers, time(1) is the year and time(2) the subperiod number.
2013-10-10 14:33:31 +02:00
Stéphane Adjemian (Charybdis) adcc218a0d Added new routine to test if a string can be interpreted as a date. 2013-10-10 14:30:38 +02:00
Stéphane Adjemian (Charybdis) 5a1b5aaf73 Fixed bug (month number 10 was missing). 2013-10-10 14:05:12 +02:00
Stéphane Adjemian (Charybdis) f4e32dbd6f Efficiency improvements. Rewrote some routines using regular expressions. 2013-10-10 12:52:27 +02:00
Stéphane Adjemian (Charybdis) f3334357a5 Merge branch 'master' into maxit 2013-10-09 15:43:43 +02:00
Stéphane Adjemian (Charybdis) 6d71f76762 Renamed options_.solve_maxit as options_.simul.maxit 2013-10-09 15:38:35 +02:00
Stéphane Adjemian (Charybdis) 969fe3c209 Renamed options_.solve_maxit as options_.steady.maxit. 2013-10-09 15:38:07 +02:00
Stéphane Adjemian (Charybdis) bde961feca Renamed options_.solve_maxit as options_.dp.maxit. 2013-10-09 15:37:21 +02:00
Stéphane Adjemian (Charybdis) 99b6326540 Same as 38712d987c. 2013-10-09 15:31:48 +02:00
Stéphane Adjemian (Charybdis) 38712d987c Renamed options_.solve_maxit as options_.simul.maxit in det_cond_forecast.
Probably needs another option name...
2013-10-09 15:21:32 +02:00
Houtan Bastani d08fdb675d reporting: fix syntax for dynSeries change 2013-10-09 14:43:43 +02:00
Stéphane Adjemian (Charybdis) 5625900214 Changed name of some occurences of options_.solve_maxit as options_.simul.maxit. 2013-10-09 14:07:15 +02:00
Michel Juillard 0264a6b055 adding a function dynDates@decimal(dd) that transforms dynDates into a vector of double
where the integer part represents the period and the fractional part
the subperiod. Maybe we could think of a better name for the function.
2013-10-09 13:43:27 +02:00
Stéphane Adjemian (Charybdis) cc0d9b42f0 Changed name of options_.maxit as options_.simul.maxit. 2013-10-09 13:06:06 +02:00
Stéphane Adjemian (Charybdis) 28740370e6 Removed general maxit from options_ (maxit_). 2013-10-09 12:32:37 +02:00
Michel Juillard 0ac8f4e5b1 dynSeries: fixed size of 'time' field 2013-10-09 12:29:45 +02:00
Michel Juillard af62f3e35d dynSeries: update 'time' field in align() 2013-10-09 12:28:52 +02:00
Stéphane Adjemian (Charybdis) 8997ae8a70 Merge branch 'master' into maxit 2013-10-09 12:19:17 +02:00
Sébastien Villemot 40a4678afd Merge pull request #490 from JohannesPfeifer/more_explicit_message_file_not_found
Add more explicit error message if mod-file cannot be located of file in...
2013-10-09 01:41:52 -07:00
Johannes Pfeifer 3dd62b37c6 Add more explicit error message if mod-file cannot be located of file in different folder is called 2013-10-09 10:22:44 +02:00
Stéphane Adjemian (Charybdis) c660219188 Fixes #493. 2013-10-08 17:37:36 +02:00
Stéphane Adjemian (Charybdis) 90d8efd147 Added unitary test. 2013-10-08 17:21:17 +02:00
Stéphane Adjemian (Charybdis) 2967328bb0 Changed behaviour of dynSeries objects.
Let ts be a dynSeries object. The following syntaxes are equivalent:

a = ts.lead
a = ts(1)

b = ts.lag(2)
b = ts(-2)

Advantage: If (some of) the variables used in the model block are known as dynSeries in matlab's workspace, then we can create new dynSeries objects with simple copy/pastes of the model's equations (because dynSeries objects understands leads and lags as Dynare's preprocessor).
2013-10-08 17:21:07 +02:00
Stéphane Adjemian (Charybdis) 3a7fa012a8 Merge branch 'master' into set-optimization-options 2013-10-08 16:29:25 +02:00
Stéphane Adjemian (Charybdis) 1f884db8ea If TolX is set to any negative number, let cmaes choose the value of TolX. 2013-10-08 16:18:54 +02:00
Stéphane Adjemian (Charybdis) 6a250f894d Removed interface for H0 (cmaes). 2013-10-08 16:18:00 +02:00
Stéphane Adjemian (Charybdis) 8d8407f906 Changed default options for cmaes (reduced tolfun and tolx). 2013-10-08 15:56:14 +02:00
Stéphane Adjemian (Charybdis) 0f12404246 Added interface for some options of cmaes. 2013-10-08 15:53:55 +02:00
Stéphane Adjemian (Charybdis) 334d9976d6 Add interface to the main options of the simpsa optimization algorithm. 2013-10-08 15:18:14 +02:00
Stéphane Adjemian (Charybdis) 36b69355f2 Added a routine to copy options organized in struct into a cell. 2013-10-08 15:17:18 +02:00
Stéphane Adjemian (Charybdis) 60e1d1b75e Changed the organization of the options for the dynare's implementation of the simplex optimization algorithm. 2013-10-08 12:55:11 +02:00
Stéphane Adjemian (Charybdis) b01aee4daf Changed the default value for the maximum number of iterations (defined in the dynare'es implementation of the simplex optimization algorithm). 2013-10-08 12:53:19 +02:00
Stéphane Adjemian (Charybdis) f5c9621ca9 Changed the definition of the maximum number of function evaluations in dynare'es iplementation of simplex algorithm (mode_compute=8). 2013-10-08 11:11:35 +02:00
Stéphane Adjemian (Charybdis) 842277447c Added comment. 2013-10-08 11:06:23 +02:00
Stéphane Adjemian (Charybdis) c7d82e0bf0 Do not print H0. 2013-10-08 11:02:46 +02:00
Michel Juillard 5f483c7d2c the field 'time' was not updated when adding two time series 2013-10-07 17:17:05 +02:00
Johannes Pfeifer 878ce60f51 Take care of NaN or Inf in residuals or endogenous values
Also adds more debugging information. Closes #491
2013-10-07 15:41:38 +02:00
Stéphane Adjemian (Charybdis) 51be957fb6 Changed the organization of the options for gmhmaxlik (mode_compute=6) so that options can be set using the optim option of the estimation command. Added an option (targeted acceptance rate). 2013-10-04 16:12:14 +02:00
Stéphane Adjemian (Charybdis) 36e3fb496c Do not crash if an unknown optimization option is declared (replaced an error by a warning). 2013-10-04 12:17:30 +02:00
Stéphane Adjemian (Charybdis) 05946cd684 Changed names of some options for csminwel (mode_compute=4). 2013-10-04 11:59:35 +02:00
Stéphane Adjemian (Charybdis) b2db159cdd Added the possibility to pass options for csminwell (mode_compute=4) through the optim option (in the estimation command). 2013-10-03 12:35:06 +02:00
Stéphane Adjemian (Charybdis) 49989504ea Cosmetic changes. 2013-10-03 11:06:07 +02:00
Stéphane Adjemian (Charybdis) 62cad6ff44 Cosmetic changes. 2013-10-03 11:01:11 +02:00
Sébastien Villemot d9e6985e5b Fix license info for simpsa 2013-10-02 18:42:36 +02:00
Stéphane Adjemian (Charybdis) 979a55a334 Added missing semicolon. 2013-10-02 18:26:57 +02:00
Stéphane Adjemian (Charybdis) 5d07145411 Merge branch 'master' into add-simpsa-optimization-routine 2013-10-02 17:48:46 +02:00
Stéphane Adjemian (Charybdis) 581f97bada Linked simpsa's tolerance options to dynare's defaults. 2013-10-02 17:09:05 +02:00
Stéphane Adjemian (Charybdis) 1ff6b2de7b Fixed bug caused by the size of the vector of parameters (transposition needed). 2013-10-02 17:08:04 +02:00
Stéphane Adjemian (Charybdis) ab7f0ddedc Removed the seed set on clock. Changed default values for the options. 2013-10-02 17:07:00 +02:00
Stéphane Adjemian (Charybdis) fb0ccdd5d2 Provide more sensible lower and upper bounds for simpsa algorithm. 2013-10-02 16:45:16 +02:00
Stéphane Adjemian (Charybdis) 3f16129e49 mode_compute = 10 calls simpsa algorithm. 2013-10-02 15:30:55 +02:00
Stéphane Adjemian (Charybdis) 9428007bcb Added simpsa routines (new optimization algorithm) 2013-10-02 15:29:56 +02:00
Johannes Pfeifer 4b060c47d2 Add more information when IRFs are not displayed due to explosive simulations 2013-10-02 09:50:31 +02:00
Houtan Bastani 45942b244c stop dynare.m if onlymacro is passed, closes #487 2013-10-01 15:13:18 +02:00
Sébastien Villemot e043966906 Merge pull request #486 from JohannesPfeifer/prior_check
Check initial values for violation of inverse gamma prior
2013-09-30 08:23:08 -07:00
Johannes Pfeifer ad73d1fd93 Fixes bug in display of parameters at prior bound 2013-09-30 17:10:39 +02:00
Johannes Pfeifer 7e7cadb878 Check initial values for violation of inverse gamma prior
The inverse gamma distribution does not allow for the value 0, but the current check at the lower bound set LB=0 and tested for <LB instead of <=0.

Also fixes
2013-09-30 17:10:16 +02:00
Sébastien Villemot 1f8b4d9a86 Fix bug in display of parameter names violating the bounds condition 2013-09-30 17:02:25 +02:00
Houtan Bastani 48c428d748 reporting: make tableSubSectionHeader prettier when vlineAfterEndOfPeriod is true 2013-09-27 11:14:00 +02:00
Houtan Bastani d1c012d289 reporting: annualAverages option for addTable 2013-09-26 16:34:36 +02:00
Houtan Bastani 79d62d85d0 reporting: fix hline for table 2013-09-26 16:08:13 +02:00
Houtan Bastani ff3774a4a2 reporting: table: remove unused variable 2013-09-26 15:21:08 +02:00
Houtan Bastani 34b3b94c5f reporting: series: tableRowColor add missing check 2013-09-26 14:48:59 +02:00
Houtan Bastani a9eb95ff2a reporting: series: fix spacing of table cell separators and eol's 2013-09-26 14:45:46 +02:00
Houtan Bastani 79f03773d7 reporting: add new series option tableSubSectionHeader 2013-09-26 14:43:13 +02:00
Johannes Pfeifer 90fa92f8a9 Adds chi2cdf function if Statistics toolbox is missing 2013-09-26 10:19:05 +02:00
Sébastien Villemot b3d835bd48 Provisions for MATLAB 8.2 (R2013b) 2013-09-25 16:00:07 +02:00
Houtan Bastani 6a9e9dfdea reporting: new table option vlineAfterEndOfPeriod 2013-09-25 15:28:34 +02:00
Houtan Bastani 4522c011d6 reporting: default value bug fix 2013-09-25 15:28:34 +02:00
Sébastien Villemot cfea63b4de Merge pull request #474 from houtanb/geweke
Geweke
2013-09-25 05:54:31 -07:00
Houtan Bastani 2fbd75d11c reporting: add series option tableRowColor 2013-09-25 14:11:58 +02:00
Stéphane Adjemian (Charybdis) db485235b5 data, name and tex of the dynSeries class are also private members that cannot be overwritten.
(cherry picked from commit 609f94881f)
2013-09-24 16:47:52 +02:00
Stéphane Adjemian (Charybdis) 3dee1674d5 Added unitary tests.
(cherry picked from commit 667e308585)
2013-09-24 16:47:52 +02:00
Stéphane Adjemian (Charybdis) 2ae0812012 Added the possibility to overwrite the time and init member of a dynSeries object (not allowed for freq, nobs and vobs).
(cherry picked from commit b0d6e2b7b6)
2013-09-24 16:47:52 +02:00
Houtan Bastani d369b8ad0e front end for maxit: ref #293, #262 2013-09-24 15:40:13 +02:00
Houtan Bastani 941cda7655 Merge remote-tracking branch 'johannes/geweke_convergence' into geweke 2013-09-23 14:17:58 +02:00
Stéphane Adjemian (Charybdis) 0cdfe4d6c7 Added new routines for computing gradients (options 13 and 15). 2013-09-20 23:17:18 +02:00
Stéphane Adjemian (Charybdis) cdc7e6b945 Changed logic in numgrad3 and numgrad5 (same as for numgrad2) + Cosmetic and efficiency changes. 2013-09-20 23:17:18 +02:00