anchor.diff:  	    {reply, ok, State};
   
   	{add_socks_methods, Ls} -> 
  -	    [{_,As}] = ets:lookup(Db, socks5_methods),
  +	    As = ets:lookup_element(Db, socks5_methods, 2),
   	    As1 = lists_subtract(As, Ls),
   	    ets:insert(Db, {socks5_methods, As1 ++ Ls}),
   	    {reply, ok, State};
   	    
   	{del_socks_methods, Ls} ->
  -	    [{_,As}] = ets:lookup(Db, socks5_methods),
  +	    As = ets:lookup_element(Db, socks5_methods, 2),
   	    As1 = lists_subtract(As, Ls),
   	    case lists:member(none, As1) of
   		false -> ets:insert(Db, {socks5_methods, As1 ++ [none]});
  
positive.code: 
  	{add_socks_noproxy, {{A,B,C,D},{MA,MB,MC,MD}}} 
  	when ?ip(A,B,C,D), ?ip(MA,MB,MC,MD) ->
  	    [{_,As}] = ets:lookup(Db, socks5_noproxy),
  	    ets:insert(Db, {socks5_noproxy, As++[{{A,B,C,D},{MA,MB,MC,MD}}]}),
  	    {reply, ok, State};
  
  	{del_socks_noproxy, {A,B,C,D}=IP} when ?ip(A,B,C,D) ->
  	    [{_,As}] = ets:lookup(Db, socks5_noproxy),
  	    ets:insert(Db, {socks5_noproxy, lists_keydelete(IP, 1, As)}),
  	    {reply, ok, State};
  
  
negative.code:     %%
      %% Maybe update file content
      %%
      try ets:lookup_element(Db, TagTm, 2) of
          Tm ->
              %% Current update request
              File = ets:lookup_element(Db, res_optname(Option), 2),
              Finfo = ets:lookup_element(Db, TagInfo, 2),
              handle_update_file(
                Finfo, File, TagTm, TagInfo, ParseFun, From, State);
          _ ->
              %% Late request - ignore update
              {reply, ok, State}
      catch error:badarg ->
              %% Option no longer set - ignore update
              {reply, ok, State}
      end;
  handle_set_file(
  