
marker ::= "#" stamp [ "/" [ "-" ] offset ] SPACE spec 
	[ SPACE range ] [ SPACE "(" type ")" ]
range ::= "+" count | "-" delim | "/" indent
ident ::= [ nick ] "[" origin "]" [ "!" addr ]
	| [ [ nick ] "[" origin "]" "!"] addr
origin ::= ( "tcp" | "icq" ) [ version ] ":" uin [ "+" stat ]
addr ::= user "@" host

spec ::= ident SPACE event SPACE ident

version: [0-9]+
indent: [0-9]+
count: [0-9]*
delim: [-*=@;,+~0-9a-zA-Z]+
stamp: [0-9]{14}
offset: [0-9]+
host: [a-zA-Z0-9]([-.]?[a-zA-Z0-9])*
user: [a-zA-Z][-_.a-zA-Z0-9]*
nick: [a-zA-Z][a-zA-Z0-9]*
type: [0-9]+

event              description
----------         ------------
->                 sent message
<-                 received message
::                 status change
:!                 status report
:?                 status guess
:-                 went offline
:+                 went online
<#                 ACK to message
<*                 added to contact list by someone
*>                 added someone to contact list
=>                 automatic message

# time/delay NICK[icq:UIN]!USER@HOST <- NICK[icq:UIN+STAT] +9
# time/delay ... -delim

