anchor.diff:  %% @see //stdlib/gen_fsm:handle_info/3
   %% @private
   %%
  -handle_info(_Event, _StateName, StateData) ->
  -	{stop, not_implemented, StateData}.
  +handle_info(#diameter_event{service = ?AUTHENTICATION, info = EventInfo},
  +		_StateName, StateData) ->
  +	change_state(EventInfo, StateData).
   
   -spec terminate(Reason, StateName, StateData) -> any()
   	when
  
positive.code: %% @see //stdlib/gen_fsm:init/1
  %% @private
  %%
  init( [Address, Port] = _Args) ->
  	SvcName = ?AUTHENTICATION,
  	SOptions = service_options(SvcName),
  	TOptions = transport_options(diameter_tcp, Address, Port),
  	diameter:start_service(SvcName, SOptions),
  	diameter:add_transport(SvcName, TOptions),
  	{ok, start, #statedata{}}.
  
  -spec start(Event, StateData) -> Result
  	when
  		Event :: timeout | term(), 
  		StateData :: #statedata{},
  
negative.code: 		Timeout :: non_neg_integer() | infinity,
  		Reason :: normal | term().
  %% @doc Handle events sent with {@link //stdlib/gen_fsm:send_event/2.
  %%		gen_fsm:send_event/2} in the <b>wait_for_stop</b> state.
  %% @@see //stdlib/gen_fsm:StateName/2
  %% @private
  %%
  wait_for_stop(timeout, StateData) ->
  	{stop, shutdown, StateData}.
  
  -spec handle_event(Event, StateName, StateData) -> Result
  	when
  