anchor.diff:  	{struct, subscriber(record_info(fields, subscriber),
   		Subscriber, [])}.
   %% @hidden
  -subscriber([{"name", Name} | T], Acc) ->
  +subscriber([{"id", Name} | T], Acc) ->
   	subscriber(T, Acc#subscriber{name = list_to_binary(Name)});
   subscriber([{"password", Password} | T], Acc) ->
   	subscriber(T, Acc#subscriber{password = list_to_binary(Password)});
  -subscriber([{"attributes", Attributes} | T], Acc) ->
  +subscriber([{"attributes", {array, Attributes}} | T], Acc) ->
   	subscriber(T, Acc#subscriber{attributes = json_to_radius(Attributes)});
   subscriber([{"multisession", Multi} | T], Acc) ->
   	subscriber(T, Acc#subscriber{multisession = Multi});
   subscriber([{"enabled", Enabled} | T], Acc) ->
   	subscriber(T, Acc#subscriber{enabled = Enabled});
   subscriber([{"product", _} = Product | T], #subscriber{product = undefined} = Acc) ->
  -	subscriber(T, Acc#subscriber{product = {struct, [Product]}});
  +	subscriber(T, Acc#subscriber{product = product({struct, [Product]})});
   subscriber([{"product", _} = Product | T], #subscriber{product = ProdInst} = Acc) ->
   	#product_instance{product = ProdID} = product({struct, [Product]}),
   	NewProdInst = ProdInst#product_instance{product = ProdID},
  
positive.code: 	#product_instance{characteristics = NewChars} = product({struct, [Chars]}),
  	NewProdInst = ProdInst#product_instance{characteristics = NewChars},
  	subscriber(T, Acc#subscriber{product = NewProdInst});
  subscriber([_ | T], Acc) ->
  	subscriber(T, Acc);
  subscriber([], Acc) ->
  	Acc.
  %% @hidden
  subscriber([name | T], #subscriber{name = Name} = Subscriber, Acc) ->
  	subscriber(T, Subscriber, [{"name", binary_to_list(Name)} | Acc]);
  subscriber([password | T], #subscriber{password = Password} = Subscriber, Acc) ->
  	subscriber(T, Subscriber, [{"password", binary_to_list(Password)} | Acc]);
  subscriber([attributes | T], #subscriber{attributes = []} = Subscriber, Acc) ->
  
negative.code: 	bucket(T, Bucket, [{"terminationDate", ocs_rest:iso8601(TDate)} | Acc]);
  bucket([remain_amount | T], #bucket{remain_amount = Amount} = Bucket, Acc) ->
  	bucket(T, Bucket, [{"remainAmount", Amount} | Acc]);
  bucket([_A | T], Bucket, Acc) ->
  	bucket(T, Bucket, Acc);
  bucket([], _Bucket, Acc) ->
  	{struct, Acc}.
  