code: def _mcse_quantile(ary, prob):
      """Compute the Markov Chain quantile error at quantile=prob."""
      ary = np.asarray(ary)
      if _not_valid(ary, shape_kwargs=dict(min_draws=4, min_chains=1)):
          return np.nan
      ess = _ess_quantile(ary, prob)
      probability = [0.1586553, 0.8413447]
      with np.errstate(invalid="ignore"):
          ppf = stats.beta.ppf(
              probability, ess * prob + 1, ess * (1 - prob) + 1
          )
      sorted_ary = np.sort(ary.ravel())
      size = sorted_ary.size
      ppf_size = ppf * size - 1
      th1 = sorted_ary[int(np.floor(np.nanmax((ppf_size[0], 0))))]
      th2 = sorted_ary[int(np.ceil(np.nanmin((ppf_size[1], size - 1))))]
      return (th2 - th1) / 2
  
imports: import warnings
  from collections.abc import Sequence
  import numpy
  import packaging
  import pandas
  import scipy
  from scipy import stats
  from ..data import convert_to_dataset
  from ..utils import Numba, _numba_var, _stack, _var_names
  from .density_utils import histogram
  from .stats_utils import _circular_standard_deviation, _sqrt
  from .stats_utils import autocov
  from .stats_utils import not_valid
  from .stats_utils import quantile
  from .stats_utils import stats_variance_2d
  from .stats_utils import wrap_xarray_ufunc
label_desc: Use image node_id 32 for calling a global function with example usage: _mcse_quantile(ary, prob) and returns: unknown, np