Commit Graph

1216 Commits

Author SHA1 Message Date
514b2de963 make <alloca.h> inclusion conditional on HAVE_ALLOCA_H
svn path=/trunk/; revision=1820
2000-02-17 04:24:56 +00:00
a646fdac36 update for bonobo changes
svn path=/trunk/; revision=1819
2000-02-17 04:23:51 +00:00
f369e9ef06 include camel.h for camel_init
svn path=/trunk/; revision=1818
2000-02-17 04:23:13 +00:00
ec023d0744 fix library ordering on link line
svn path=/trunk/; revision=1817
2000-02-17 04:22:33 +00:00
89fefc5c8c fix license and indent style
svn path=/trunk/; revision=1814
2000-02-17 02:10:05 +00:00
704369d070 automakify libibex
svn path=/trunk/; revision=1813
2000-02-17 01:45:58 +00:00
cd9df589ea Finds if a word is indexed under a given name.
2000-02-16  NotZed  <NotZed@HelixCode.com>

	* find.[ch] (ibex_find_name): Finds if a word is indexed under a
	given name.

svn path=/trunk/; revision=1812
2000-02-17 01:25:49 +00:00
5a80143a52 s/GNOME2_DIR/GNOME2_PATH/, for consistency
svn path=/trunk/; revision=1801
2000-02-16 23:51:01 +00:00
f8f771b3f3 Add session.c
svn path=/trunk/; revision=1800
2000-02-16 19:57:02 +00:00
8400162c31 Add session.h
svn path=/trunk/; revision=1799
2000-02-16 19:34:17 +00:00
7f04720b1e don't seek the begining of the substream. (_eos): fix eos condition
2000-02-16  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/camel-seekable-substream.c (_set_bounds): don't
	seek the begining of the substream.
	(_eos): fix eos condition testing.
	(_finalize): unref parent stream
	(_init_with_seekable_stream_and_bounds): ref parent stream

	* camel/gstring-util.c (g_string_equal_for_hash):
	(g_string_equal_for_glist): return type is int.

	* camel/camel.h:
	* camel/camel.c (camel_init): use (void)
	instead of ().

A lot of other small changes to make the set_input_stream
scheme work. It actually works.

svn path=/trunk/; revision=1798
2000-02-16 18:04:40 +00:00
d2239da3e7 Simplify the code a lot and add support for RFC2384 POP URLs.
svn path=/trunk/; revision=1797
2000-02-16 17:05:57 +00:00
8176cca8d0 Make md5_final take the MD5Context first, like md5_init and md5_update.
svn path=/trunk/; revision=1796
2000-02-16 16:03:14 +00:00
cd9e88989f fix minor typos
svn path=/trunk/; revision=1795
2000-02-16 15:44:55 +00:00
4cd1c91c5a Improve spelling and English a bit
svn path=/trunk/; revision=1794
2000-02-16 15:42:48 +00:00
d1d1579d84 added skel and stub files
svn path=/trunk/; revision=1793
2000-02-16 15:16:54 +00:00
42f41bd963 forgot this one
svn path=/trunk/; revision=1792
2000-02-16 15:16:00 +00:00
08f2b4e43f Change iCalObject.organizer from char* to iCalPerson*
2000-02-16  Russell Steinthal  <rms39@columbia.edu>

	* calobj.[ch], eventedit.c, main.c: Change iCalObject.organizer
	from char* to iCalPerson*

	* calobj.[ch]: Change iCalObject.related from list of char* to
	list of iCalRelation*; assorted related fixes

	* icalendar.c: interface between libical and the gnomecal
	internal representation

svn path=/trunk/; revision=1791
2000-02-16 14:27:38 +00:00
f926f10e86 this routine replaces the _read_part routine and does not store the part
2000-02-15  bertrand  <bertrand@helixcode.com>

	* camel/camel-multipart.c (_localize_part):
	this routine replaces the _read_part routine
	and does not store the part in a buffer.
	(_set_input_stream): use the set_input_stream
	instead of the construct_from_stream.
	each bodypart is given an input stream.

	* camel/camel-mime-part-utils.c:
	include the data-wrapper-repository header.
	(camel_mime_part_construct_content_from_stream):
	use the set_input_stream instead of the
	construct_from_stream method.

	* camel/camel-seekable-substream.c (_set_bounds):
	cur position is set to 0 not to inf_bound.

Sync

svn path=/trunk/; revision=1790
2000-02-16 10:44:35 +00:00
0dfd58ef20 Initial revision
svn path=/trunk/; revision=1786
2000-02-16 09:16:10 +00:00
9877d1b489 Add new files
svn path=/trunk/; revision=1784
2000-02-15 19:33:36 +00:00
d53eea370b Add the unicode libraries as well.
2000-02-14  Miguel de Icaza  <miguel@gnu.org>

	* camel/providers/mbox/Makefile.am (libcamelmbox_la_LIBADD): Add
	the unicode libraries as well.

	* camel/camel-provider.c (camel_provider_register_as_module): Add
	error reporting here.  Desire to use Solaris increases.  Hair loss
	in the last two hours: 5,400.

	* camel/providers/mbox/camel-mbox-provider.c
	(camel_mbox_get_provider): Renamed function.

	* camel/camel.h: All include files use camel/ now here.

	* camel/providers/mbox/Makefile.am: Drop all the dynamism from
	Camel, and make this a standard library.

	* configure.in: set the UNICODE_LIBS variable here.
2000-02-14  Miguel de Icaza  <miguel@gnu.org>

	* folder-browser.c (folder_browser_load_folder): New routine,
	loads a camel folder.
	(folder_browser_set_uri): redo.

	* session.c: new file.  Implements SessionStores to keep track of
	a Session/Store tuple.

svn path=/trunk/; revision=1783
2000-02-15 17:28:34 +00:00
f9cdc1e009 thou shall not shout
svn path=/trunk/; revision=1782
2000-02-15 14:20:25 +00:00
a020ef5168 include gmime-base64.h various compilation and runtime fixes.
2000-02-15  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/camel-mime-part.c: include gmime-base64.h
	various compilation and runtime fixes.
	(_set_input_stream): store the input substream
	for the content object.

	* camel/camel-data-wrapper.h: declare the
	set/get function on input/output stream.

	* camel/camel-mime-part.c (_get_content_object):
	don't use a temporary mem stream.

	* camel/camel-seekable-substream.c (_seek):
	(_eos):
	(_read): the substream can be unlimited in length

	* camel/camel-data-wrapper.c (camel_data_wrapper_class_init):
	set the get/set_input/output_stream methods.

	* camel/camel-multipart.c (_construct_from_stream):
	camel_stream_seek -> camel_seekable_stream_seek

work on the new parser scheme.
temporary sync to laptop.

svn path=/trunk/; revision=1781
2000-02-15 14:17:01 +00:00
8d959d83b2 use the eos stream method. (gmime_read_line_from_stream): ditto.
2000-02-14  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/gmime-utils.c (get_header_array_from_stream): use the
	eos stream method.
	(gmime_read_line_from_stream): ditto.

	* camel/camel-stream-fs.h (struct ): add the eof field
	cosmetics changes.

	* camel/camel-stream-fs.c (camel_stream_fs_init): set eof.
	(_read): set eof on end of file.
	(_eos): implemented.

	* camel/gmime-utils.c (get_header_array_from_stream):
	make a blocking version of the header parser.
	When the fs stream uses gnome-vfs, this should
	be changed.
	(gmime_read_line_from_stream): ditto.

svn path=/trunk/; revision=1780
2000-02-14 22:45:13 +00:00
6cffd8501c use the eos stream method. (gmime_read_line_from_stream): ditto.
2000-02-14  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/gmime-utils.c (get_header_array_from_stream): use the
	eos stream method.
	(gmime_read_line_from_stream): ditto.

	* camel/camel-stream-fs.h (struct ): add the eof field
	cosmetics changes.

	* camel/camel-stream-fs.c (camel_stream_fs_init): set eof.
	(_read): set eof on end of file.
	(_eos): implemented.

	* camel/gmime-utils.c (get_header_array_from_stream):
	make a blocking version of the header parser.
	When the fs stream uses gnome-vfs, this should
	be changed.
	(gmime_read_line_from_stream): ditto.

svn path=/trunk/; revision=1779
2000-02-14 22:27:54 +00:00
fe058b1be7 make a blocking version of the header parser. When the fs stream uses
2000-02-14  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/gmime-utils.c (get_header_array_from_stream):
	make a blocking version of the header parser.
	When the fs stream uses gnome-vfs, this should
	be changed.
	(gmime_read_line_from_stream): ditto.

2000-02-11  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/camel-stream-fs.c:
	everywhere, when using the cur_pos field, do it
	on the CamelSeekableStream object.
	(_seek): small fix.

	* camel/camel-seekable-stream.c (camel_seekable_stream_seek):
	s/camel_stream_seek/camel_seekable_stream_seek/g

	* camel/camel-seekable-stream.h:
	(struct ): added a field to store the
	current position.

	* camel/camel-seekable-stream.c (camel_seekable_stream_get_current_position):
	New function. Allows to get the current position
	of a seekable stream.


In fact much more changes, but I am lazy.
This is the begining of some major changes
in camel.

svn path=/trunk/; revision=1778
2000-02-14 22:03:58 +00:00
d8efd64ed0 by default, a message/rfc822 object is handled by the CamelMimeMessage
2000-02-14  bertrand  <Bertrand.Guiheneuf@aful.org>

	* camel/data-wrapper-repository.c (data_wrapper_repository_init):
	by default, a message/rfc822 object is handled by the
	CamelMimeMessage class. Should fix Matt's fantastic
	Message viewer test.

svn path=/trunk/; revision=1776
2000-02-14 18:04:46 +00:00
5db48f5ddd remove camel-stream-buffer from compilation process. It is not here
svn path=/trunk/; revision=1775
2000-02-14 10:46:26 +00:00
64c513f9fe Add libunicode to CFLAGS/LIBS.
2000-02-14  NotZed  <notzed@zedzone.helixcode.com>

        * configure.in (EXTRA_GNOME_CFLAGS): Add libunicode to CFLAGS/LIBS.

2000-02-13  NotZed  <notzed@zedzone.helixcode.com>

        * configure.in: Added check for libunicode.

        * Makefile.am (SUBDIRS): Added libibex.

        * tests/test11.c (main): New test, tests search api.

svn path=/trunk/; revision=1774
2000-02-14 05:44:48 +00:00
c145f90b49 Hack together a build using libtool. This should all be auto*'d at some
2000-02-14  NotZed  <notzed@zedzone.helixcode.com>

	* Makefile: Hack together a build using libtool.  This should all
	be auto*'d at some point I guess.

svn path=/trunk/; revision=1773
2000-02-14 05:43:42 +00:00
aeaa2ed700 New file, implements the search api for mbox folders.
2000-02-13  NotZed  <notzed@zedzone.helixcode.com>

        * providers/mbox/camel-mbox-search.c: New file, implements the
        search api for mbox folders.

        * providers/mbox/Makefile.am: Link with ibex.

        * camel-folder.c (camel_folder_has_search_capability): Api
        additions.
        (camel_folder_search_by_expression): Ditto.

2000-02-12  NotZed  <notzed@zedzone.helixcode.com>

        * providers/mbox/camel-mbox-folder.c (_set_name): Setup index
        filename as well.
        (_init_with_store): Init index filename.  Hmm, none of these
        names ever seem to get free'd (FIXME?)

        * providers/mbox/camel-mbox-folder.h: Add index file name.

2000-02-12  NotZed  <notzed@helixcode.com>

        * camel-folder.h: Add folder search functions.

        ** Created ChangeLog just for camel **
         - refer to ../ChangeLog for changes prior to this date.

svn path=/trunk/; revision=1772
2000-02-14 05:39:02 +00:00
ddcfc699c7 + * tests/ui-tests/test-multipart-mixed.msg: New rfc822 file, which
+	crashes message-browser.
+
+	* tests/ui-tests/message-browser.c (get_gtk_html_window): Takes a
+	CamelMimeMessage as a param, rather than a filename.
+	(main): Puts our windows in an hpane rather than a vbox. Also
+	opens a file dlg box if a filename wasn't given as a first param.

svn path=/trunk/; revision=1771
2000-02-14 04:23:14 +00:00
add8821e99 Initial revision
svn path=/trunk/; revision=1768
2000-02-14 02:00:22 +00:00
e4bbdf696c + * camel/camel-stream-fs.c (_init_with_name): Set stream_fs->fd to
+	-1 if we fail to load the file.
+	(camel_stream_fs_new_with_name): If stream_fs->fd is -1, return
+	NULL. These changes make it so that a CamelStreamFs won't be
+	created if you give it a bogus filename; they may be replaced once
+	exception handling is in place.

svn path=/trunk/; revision=1767
2000-02-14 00:53:16 +00:00
204e08f870 + * tests/ui-tests/message-browser.c (handle_tree_item): Expand tree
+	items.
+	(mime_message_to_html): New function; translates a
+	CamelMimeMessage into two strings (one for the header, and one for
+	the body).
+	(get_gtk_html_window): New function; fills out a window with
+	html. The html is taken from a processed rfc822 file, via a
+	CamelFormatter.
+
+	* camel/camel-formatter.c: Added assertions.
+	(handle_text_html): Don't call text_to_html on something that's
+	already html.
+	(multipart_foreach): function deleted.
+
+	* mail/html-stream.c (html_stream_new): Second param of
+       gtk_html_begin should be "", not NULL.
+	(html_stream_new): gtk_html_parse() is deprecated, so the call was
+	removed.

svn path=/trunk/; revision=1766
2000-02-14 00:27:01 +00:00
7dbc45ac3e HTMLStreamClass's parent changed to CamelStreamClass, not CamelStream.
* mail/html-stream.h: HTMLStreamClass's parent changed to
	CamelStreamClass, not CamelStream.

	* tests/ui-tests/message-browser.c: Added preliminary support for
	the viewing of messages via gtkhtml. Lots of commenting.

svn path=/trunk/; revision=1765
2000-02-13 21:49:15 +00:00
c656db137c Major rationalization of pts vs pixels and the use of margins.
Some redraw speedups and the addition of XL2000 style alpha bended selections.

2000-02-13  Jody Goldberg <jgoldberg@home.com>

	* ./src/sheet-view.c (sheet_view_redraw_cell_region) : redraw the
	  bounding grid lines too.

	* src/item-cursor.c (item_cursor_get_pixel_coords) : Clip the cursor
	  region to the visible range.  The layout still needs cleaning to
	  match the 'correct' way of implementing canvas-items, but this
	  heuristic saves us lots of iterations through the accumulator for
	  the size of the entire sheet.

2000-02-12  Jody Goldberg <jgoldberg@home.com>

	* src/gnumeric-sheet.c : Use visible flag and adjust to naming and
	  margin changes.

	* src/item-bar.c (colrow_tip_setlabel) : Use the format provided by
	  XL2000.  Things are correct for rows, colwidth are quoted in pts
	  rather than char widths.
	(get_col_from_pos) : Use visible flag.
	(item_bar_start_resize) : Function renaming.
	(is_pointer_on_division) : Ditto.
	(item_bar_draw) : Changes to margins.

	* src/item-edit.c : Function renaming.
	* src/item-cursor.c : Ditto.  decrease spacing for auto handle.

	* src/item-grid.c (item_grid_draw) : Remove inversion process for the
	  selection.  Instead have the cells draw their background
	  differently.  Use the visible flag.
	(item_grid_paint_empty_cell) : Ditto.
	(item_grid_paint_cell) : Ditto.

	* src/mstyle.c (mstyle_new_default) : The default vert alignment is BOTTOM.

	* src/pattern.c (gnumeric_background_set_gc) : Draw the background of
	  a selected cell differently.

	* src/print-cell.c (DIM) : margins are already included.
	(print_cell_text) : Adjust argument order to more closely match
	  cell_draw.  Add support for vertical alignment of 1 line cells.
	  Invert control of single vs multiple lines.
	(print_cell) : Adjust to changes in the arguments.
	(print_cell_range) : Use the visible flag.
	  Draw line at the boundary rather than pretending there were
	  additional rows/cols.

	* src/print.c (compute_groups) : size_pts INCLUDES margins.  Use 'visible' flag.
	(print_page) : Adjust to function renaming.
	(print_range_used_units) : Ditto.

	* src/selection.c : Include sheet-view directly for now.
	(cb_set_row_height) : Adjust to function renaming.

	* src/sheet-view.c (sheet_view_redraw_cell_region) : Adjust to function
	  renaming.
	(sheet_view_redraw_headers) : Ditto.
	(sheet_view_set_zoom_factor) : Ditto.
	(sheet_view_col_size_changed) : Ditto.
	(sheet_view_row_size_changed) : Ditto.
	(sheet_view_comment_get_points) : Ditto.

	* src/sheet.[ch] : Rationalize function names, and add glossary.
	Make the use of margins and sizes (in points and pixels) consistant.

	(sheet_col_get_external_width : Delete.
	(sheet_row_get_external_height : Delete.
	(sheet_col_get_distance : Rename sheet_col_get_distance_pixels.
	(sheet_row_get_distance : Rename sheet_row_get_distance_pixels.
	(sheet_row_get_unit_distance : Rename sheet_row_get_distance_pts.
	(sheet_col_get_unit_distance : Rename sheet_col_get_distance_pts.
	(sheet_col_set_width : Rename sheet_col_set_size_pixels.
	(sheet_col_set_width_units : Rename sheet_col_set_size_pts.
	(sheet_row_set_height : Rename sheet_row_set_size_pixels.
	(sheet_row_set_height_units) : Rename sheet_row_set_size_pts.
	(sheet_get_default_external_col_width) : Rename sheet_col_get_default_size_pts.
	(sheet_get_default_external_row_height): Rename sheet_row_get_default_size_pts.
	(sheet_col_set_internal_width) : sheet_col_set_internal_size_pts.
	(sheet_row_set_internal_height): sheet_row_set_internal_size_pts.
	(sheet_{row,col}_set_default_size_pts) : New functions.

	(sheet_init_default_styles) : Tune to match XL defaults.

	* src/sort.c : Use g_strcasecmp, and include <stdlib.h>

	* src/style.c (style_color_new) : Init the selection colour as a 50%
	  alpha blend with lavender.

	* src/style.h : Change default font to be Helvetica 9 because it will
	  scale better when the standard 96 dpi resolution is assumed.
	  Add a selected_color to StyleColor.

	* src/value-sheet.c : Include <gnome.h> to get the
	  internationalization support.

	* src/workbook-cmd-format.c (workbook_cmd_format_column_auto_fit) :
	  sheet_col_set_width -> sheet_col_set_size_pixels.
	(workbook_cmd_format_column_width) :
	  sheet_col_set_width_units -> sheet_col_set_size_pts.
	(workbook_cmd_format_row_auto_fit) :
          sheet_row_set_height -> sheet_row_set_size_pixels
	(workbook_cmd_format_row_height) :
	  sheet_row_set_height_units -> sheet_row_set_size_pts.

	* src/xml-io.c (xml_read_rows_info) : Rename
	  sheet_row_set_height_units -> sheet_row_set_size_pts.
	(xml_read_cols_info) : Rename
	  sheet_col_set_height_units -> sheet_col_set_size_pts.
	(xml_read_colrow_info) : Remove hack with negative pixels.
	  Use 'visible' flag instead.
	(xml_write_colrow_info) : Ditto.

svn path=/trunk/; revision=1764
2000-02-13 14:32:30 +00:00
2cd2216b73 These shouldn't be here
svn path=/trunk/; revision=1763
2000-02-13 11:11:51 +00:00
25faacf139 I am sure that kabalak didn't mean to remove gnome-common/macros :)
svn path=/trunk/; revision=1747
2000-02-13 11:05:13 +00:00
61657f8452 removed gtranslator for re-checkin
svn path=/trunk/; revision=1746
2000-02-13 10:35:30 +00:00
e07a05c550 Check the ethi is actually the one being dragged. Prevents crashes when
2000-02-12  Iain Holmes  <ih@csd.abdn.ac.uk>

	* e-table-header-item.c (ethi_drag_motion): Check the ethi is actually
	the one being dragged. Prevents crashes when trying to drag headeritems
	and there are multiple headeritems on the same canvas.
	(ethi_drag_end): Same.
	(ethi_drag_drop): Same.
	(ethi_drag_leave): Same.

svn path=/trunk/; revision=1745
2000-02-12 20:36:48 +00:00
29201b7558 Add the e-text directory to the includes list.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * Makefile.am: Add the e-text directory to the includes list.

        * message-list.c: Change the call to e_cell_text_new, since
        there's an added argument.

svn path=/trunk/; revision=1744
2000-02-12 04:35:53 +00:00
4ddf8af33a Added test of sort arrows.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * test-check.c: Added test of sort arrows.

        * e-table-col.h, e-table-col.c: Added sort arrows for column
        headers (It doesn't actually sort.  It just displays the arrows.)

        * e-table-header-item.c: Added display of arrows.

svn path=/trunk/; revision=1743
2000-02-12 04:13:14 +00:00
d2fe58c568 Implemented.
2000-02-11  Federico Mena Quintero  <federico@helixcode.com>

	* cal-client.c (cal_client_update_object): Implemented.

	* cal.c (cal_notify_update): New function to notify the listener
	about an updated object.
	(Cal_update_object): Implemented.
	(Cal_get_uids): set_release() the sequence to TRUE.
	(Cal_get_events_in_range): Likewise.

	* cal-backend.c (remove_object): New function to remove objects
	from a calendar backend.
	(cal_backend_update_object): New public function to update an
	object and notify clients about it.

	* evolution-calendar.idl (Cal): Added update_object() and
	delete_object() methods.
	(Listener): Removed the obj_changed method and renamed obj_added
	to obj_updated.  We now only have updated and removed notifiers.

	* cal-listener.[ch]: Removed the "changed" notification code.
	Changed the "added" notification code to the "updated"
	notification.

	* cal-client.c: Likewise.

	* tlacuache.c (create_cal_factory): Connect to "destroy" on the
	factory and exit the main loop when the factory is destroyed.

	* cal-factory.c (backend_destroy_cb): New callback used when a
	backend is destroyed.  Removes the backend from the factory's hash
	table and unrefs the factory if all backends go away.
	(add_calendar_client): Free the environment.

	* cal.c (cal_new): Use bonobo_object_unref() if we fail to
	initialize.

	* cal-listener.c (cal_listener_new): Likewise.

	* layout.c (layout_events): Plug li.partition memory leak.

svn path=/trunk/; revision=1742
2000-02-12 02:03:58 +00:00
123f506198 Fixed the location the first time you see the drop down menus for changing
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * addressbook/contact-editor/e-contact-editor.c: Fixed the
        location the first time you see the drop down menus for changing
        which phone, email, or snail mail address you see.

svn path=/trunk/; revision=1741
2000-02-12 01:07:16 +00:00
88dec7a258 Made a click on a text widget set the cursor properly.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.c (e_text_event): Made a click on a text
        widget set the cursor properly.

svn path=/trunk/; revision=1740
2000-02-12 01:07:15 +00:00
04bb0a4fb0 Test column header image.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * clip.png: Test column header image.

        * test-check.c: Test pixbuf column headers.

        * e-table-col.h, e-table-col.c: Added pixbufs for column headers.

        * e-table-header-item.c (draw_button): Draw pixbuf column headers properly.

svn path=/trunk/; revision=1739
2000-02-12 00:27:22 +00:00
07d9ddab8e Add an editable argument to e_cell_text_new.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * e-cell-text.h, e-cell-text.c: Add an editable argument to
        e_cell_text_new.

        * test-table.c, test-cols.c, test-check.c: Set the editable
        argument to e_cell_text_new.

svn path=/trunk/; revision=1738
2000-02-11 23:53:07 +00:00
e8fbeb4881 Removed some arguments from the .h that will never be implemented.
2000-02-11  Christopher James Lahey  <clahey@helixcode.com>

        * widgets/e-text/e-text.h: Removed some arguments from the .h that
        will never be implemented.

svn path=/trunk/; revision=1737
2000-02-11 22:49:14 +00:00