code: def _gpinv(probs, kappa, sigma):
      """Inverse Generalized Pareto distribution function."""
      # pylint: disable=unsupported-assignment-operation, invalid-unary-operand-type
      x = np.full_like(probs, np.nan)
      if sigma <= 0:
          return x
      ok = (probs > 0) & (probs < 1)
      if np.all(ok):
          if np.abs(kappa) < np.finfo(float).eps:
              x = -np.log1p(-probs)
          else:
              x = np.expm1(-kappa * np.log1p(-probs)) / kappa
          x *= sigma
      else:
          if np.abs(kappa) < np.finfo(float).eps:
              x[ok] = -np.log1p(-probs[ok])
          else:
              x[ok] = np.expm1(-kappa * np.log1p(-probs[ok])) / kappa
          x *= sigma
          x[probs == 0] = 0
          x[probs == 1] = np.inf if kappa >= 0 else -sigma / kappa
      return x
  
imports: import itertools
  import warnings
  from copy import deepcopy
  from typing import List, Optional, Tuple, Union, Mapping, cast, Callable
  import numpy
  import pandas
  import scipy.stats
  from xarray_einstats import stats
  import xarray
  from scipy.optimize import minimize
  from typing_extensions import Literal
  from ..None import _log
  from ..data import InferenceData, convert_to_dataset, convert_to_inference_data, extract
  from ..rcparams import rcParams, ScaleKeyword, ICKeyword
  from ..utils import Numba, _numba_var, _var_names, get_coords
  from .density_utils import get_bins
  from .density_utils import histogram
  from .density_utils import kde
  from .diagnostics import _mc_error, _multichain_statistics, ess
  from .stats_utils import ELPDData, _circular_standard_deviation, smooth_data
  from .stats_utils import get_log_likelihood
  from .stats_utils import get_log_prior
  from .stats_utils import logsumexp
  from .stats_utils import make_ufunc
  from .stats_utils import stats_variance_2d
  from .stats_utils import wrap_xarray_ufunc
  from ..sel_utils import xarray_var_iter
  from ..labels import BaseLabeller
label_desc: Use image node_id 11 for calling a global function with example usage: _gpinv(probs, kappa, sigma) and returns: x, x