func (s *ThirdPartyStore) ThirdPartyInfo(ctx context.Context, loc string) (ThirdPartyInfo, error) {
	s.mu.RLock()
	defer s.mu.RUnlock()
	if info, ok := s.m[canonicalLocation(loc)]; ok {
		return info, nil
	}
	return ThirdPartyInfo{}, ErrNotFound
}
// ThirdPartyInfo implements the ThirdPartyLocator interface.
ThirdPartyInfo implements the ThirdPartyLocator interface.
// ThirdPartyInfo implements the ThirdPartyLocator interface .
func (s *ThirdPartyStore) ThirdPartyInfo(ctx context.Context, loc string) (ThirdPartyInfo, error) {
	s.mu.RLock()
	defer s.mu.RUnlock()
	if info, ok := s.m[canonicalLocation(loc)]; ok {
		return info, nil
	}
	return ThirdPartyInfo{}, ErrNotFound
}
func ( s * ThirdPartyStore ) ThirdPartyInfo ( ctx context . Context , loc string ) ( ThirdPartyInfo , error ) { s . mu . RLock ( ) defer s . mu . RUnlock ( ) if info , ok := s . m [ canonicalLocation ( loc ) ] ; ok { return info , nil } return ThirdPartyInfo { } , ErrNotFound }
ThirdPartyInfo implements the ThirdPartyLocator interface.
ThirdPartyInfo implements the ThirdPartyLocator interface .