anchor.diff:  unhide(SharedSecret, Authenticator, UserPassword)
   		when length(SharedSecret) > 0, length(Authenticator) == 16,
   		length(UserPassword) div 16 >= 1, length(UserPassword) div 16 =< 8,
  -		length(UserPassword) rem 16 == 0 -> 
  +		length(UserPassword) rem 16 == 0 ->
   	unhide(SharedSecret, Authenticator, UserPassword, []).
   
   %%----------------------------------------------------------------------
  
positive.code: attributes([{?UserName, UserName} | T], Acc) ->
  	UN = list_to_binary(UserName),
  	Length = size(UN) + 2,
  	attributes(T, <<Acc/binary, ?UserName, Length, UN/binary>>); 
  attributes([{?UserPassword, UserPassword} | T], Acc) ->
  	UP = list_to_binary(UserPassword),
  	Length = size(UP) + 2,
  	attributes(T, <<Acc/binary, ?UserPassword, Length, UP/binary>>); 
  attributes([{?ChapPassword, {ChapId, ChapPassword}} | T], Acc)
  		when is_integer(ChapId), length(ChapPassword) =:= 16 ->
  	BinChapPassword = list_to_binary(ChapPassword),
  
negative.code: %% @doc Returns the value for an attribute in a RADIUS protocol
  %% 	attributes list.  Assumes that the attribute is present.
  %%
  fetch(Attribute, Attributes) ->
  	orddict:fetch(Attribute, Attributes).
  
  -spec find(Attribute :: pos_integer(), Attributes :: attributes()) ->
  