def METHOD_NAME(jso: dict) -> None:
    """
    Check if markup calls for randomization, or previous state contains randomization data
    Update answer options, explanations and points accordingly.
    :param jso: request json to modify
    """
    markup = jso["markup"]
    rand_arr = None
    prev_state = jso.get("state", None)
    if prev_state and isinstance(prev_state, dict):
        rand_arr = prev_state.get("order")
        jso["state"] = prev_state.get("c")
    rows = markup.get("rows", [])
    if (
        not prev_state and rand_arr is None
    ):  # no previous answer, check markup for new order
        rcount = markup.get("randomizedRows", 0)
        # TODO: try to convert string
        if not isinstance(rcount, int):
            rcount = 0
        if rcount is None:
            rcount = 0
        if rcount > 0:
            # markup['rows'] = qst_randomize_rows(rows,rcount,jso['user_id'])
            random_seed = markup.get("randomSeed", 0)
            # TODO: use random seed generation within qst_rand_array if seed was string
            if not isinstance(random_seed, int):
                random_seed = 0
            locks = markup.get("doNotMove", [])
            # TODO: MarkupModel should handle these checks?
            if locks is None:
                locks = []
            if isinstance(locks, int):
                locks = [locks]
            for val in locks:
                if not isinstance(val, int):
                    locks = []
                    break
            if random_seed is None:
                random_seed = 0
            seed_string = str(jso.get("user_id", "")) + str(jso.get("taskID", ""))
            rand_arr = qst_rand_array(
                len(rows), rcount, seed_string, random_seed, locks
            )
    if rand_arr is not None:  # specific order found in prev.ans or markup
        markup["rows"] = qst_set_array_order(rows, rand_arr)
        markup["expl"] = qst_pick_expls(markup["expl"], rand_arr)
        points = markup.get("points")
        if points:
            question_type = markup.get("questionType")
            points = qst_filter_markup_points(points, question_type, rand_arr)
            markup["points"] = points