anchor.diff:  retry_spartan(State) ->
       push_state_to_spartan(State).
   
  -push_state_to_spartan(State) ->
  +push_state_to_spartan(State0) ->
       ZoneNames = ?ZONE_NAMES,
  -    Zones = lists:map(fun(ZoneName) -> zone(ZoneName, State) end, ZoneNames),
  -    push_zones(Zones).
  +    Zones = lists:map(fun(ZoneName) -> zone(ZoneName, State0) end, ZoneNames),
  +    push_zones(Zones),
  +    Timer = timer:send_after(?RPC_RETRY_TIME, retry_spartan),
  +    State1 = State0#state{retry_timer = Timer},
  +    State1.
   
   push_zones([]) ->
       ok;
  
positive.code: handle_info({lashup_kv_events, Event = #{ref := Reference}}, State0 = #state{ref = Ref}) when Ref == Reference ->
      State1 = handle_event(Event, State0),
      {noreply, State1};
  handle_info(retry_spartan, State) ->
      retry_spartan(State),
      {noreply, State};
  handle_info(_Info, State) ->
      {noreply, State}.
  
  
negative.code: handle_event(_Event = #{value := VIPs}, State) ->
      handle_value(VIPs, State).
  
  handle_value(VIPs0, State0 = #state{retry_timer = Timer}) ->
      timer:cancel(Timer),
      VIPs1 = process_vips(VIPs0, State0),
      State1 = State0#state{vips = VIPs1},
      State2 = push_state_to_spartan(State1),
      minuteman_lb_mgr:push_vips(VIPs1),
      State2.
  
  process_vips(VIPs0, State) ->
      VIPs1 = lists:map(fun rewrite_keys/1, VIPs0),
  