/* Widget Name: Button Description: Create a custom button with flexible styling, icon support, and click tracking functionality. Author: SiteOrigin Author URI: https://siteorigin.com Documentation: https://siteorigin.com/widgets-bundle/button-widget-documentation/ Keywords: event, icon, link */ class SiteOrigin_Widget_Button_Widget extends SiteOrigin_Widget { public function __construct() { parent::__construct( 'sow-button', __( 'SiteOrigin Button', 'so-widgets-bundle' ), array( 'description' => __( 'Create a custom button with flexible styling, icon support, and click tracking functionality.', 'so-widgets-bundle' ), 'help' => 'https://siteorigin.com/widgets-bundle/button-widget-documentation/', ), array( ), false, plugin_dir_path( __FILE__ ) ); } public function get_settings_form() { return array( 'responsive_breakpoint' => array( 'type' => 'measurement', 'label' => __( 'Responsive Breakpoint', 'so-widgets-bundle' ), 'default' => '780px', 'description' => __( 'This setting controls when the Mobile Align setting will be used. The default value is 780px.', 'so-widgets-bundle' ), ), ); } public function initialize() { $this->register_frontend_styles( array( array( 'sow-button-base', plugin_dir_url( __FILE__ ) . 'css/style.css', array(), SOW_BUNDLE_VERSION, ), ) ); } public function get_widget_form() { return array( 'text' => array( 'type' => 'text', 'label' => __( 'Button Text', 'so-widgets-bundle' ), ), 'url' => array( 'type' => 'link', 'label' => __( 'Destination URL', 'so-widgets-bundle' ), 'allow_shortcode' => true, ), 'new_window' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Open in a new window', 'so-widgets-bundle' ), ), 'download' => array( 'type' => 'checkbox', 'default' => false, 'label' => __( 'Download', 'so-widgets-bundle' ), 'description' => __( 'The Destination URL will be downloaded when a user clicks on the button.', 'so-widgets-bundle' ), ), 'button_icon' => array( 'type' => 'section', 'label' => __( 'Icon', 'so-widgets-bundle' ), 'fields' => array( 'icon_selected' => array( 'type' => 'icon', 'label' => __( 'Icon', 'so-widgets-bundle' ), ), 'icon_color' => array( 'type' => 'color', 'label' => __( 'Icon Color', 'so-widgets-bundle' ), ), 'icon' => array( 'type' => 'media', 'label' => __( 'Image Icon', 'so-widgets-bundle' ), 'description' => __( 'Replaces the icon with your own image icon.', 'so-widgets-bundle' ), ), 'icon_placement' => array( 'type' => 'select', 'label' => __( 'Icon Placement', 'so-widgets-bundle' ), 'default' => 'left', 'options' => array( 'top' => __( 'Top', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'bottom' => __( 'Bottom', 'so-widgets-bundle' ), 'left' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), 'design' => array( 'type' => 'section', 'label' => __( 'Design and Layout', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'width' => array( 'type' => 'measurement', 'label' => __( 'Width', 'so-widgets-bundle' ), 'description' => __( 'Leave blank to let the button resize according to content.', 'so-widgets-bundle' ), ), 'align' => array( 'type' => 'select', 'label' => __( 'Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'mobile_align' => array( 'type' => 'select', 'label' => __( 'Mobile Align', 'so-widgets-bundle' ), 'default' => 'center', 'options' => array( 'left' => __( 'Left', 'so-widgets-bundle' ), 'right' => __( 'Right', 'so-widgets-bundle' ), 'center' => __( 'Center', 'so-widgets-bundle' ), 'justify' => __( 'Full Width', 'so-widgets-bundle' ), ), ), 'theme' => array( 'type' => 'select', 'label' => __( 'Button Theme', 'so-widgets-bundle' ), 'default' => 'flat', 'options' => array( 'atom' => __( 'Atom', 'so-widgets-bundle' ), 'flat' => __( 'Flat', 'so-widgets-bundle' ), 'wire' => __( 'Wire', 'so-widgets-bundle' ), ), ), 'button_color' => array( 'type' => 'color', 'label' => __( 'Button Color', 'so-widgets-bundle' ), ), 'text_color' => array( 'type' => 'color', 'label' => __( 'Text Color', 'so-widgets-bundle' ), ), 'hover' => array( 'type' => 'checkbox', 'default' => true, 'label' => __( 'Use hover effects', 'so-widgets-bundle' ), 'state_emitter' => array( 'callback' => 'conditional', 'args' => array( 'hover[show]: val', 'hover[hide]: ! val', ), ), ), 'hover_background_color' => array( 'type' => 'color', 'label' => __( 'Hover Background Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'hover_text_color' => array( 'type' => 'color', 'label' => __( 'Hover Text Color', 'so-widgets-bundle' ), 'state_handler' => array( 'hover[show]' => array( 'show' ), 'hover[hide]' => array( 'hide' ), ), ), 'font' => array( 'type' => 'font', 'label' => __( 'Font', 'so-widgets-bundle' ), 'default' => 'default', ), 'font_size' => array( 'type' => 'measurement', 'label' => __( 'Font Size', 'so-widgets-bundle' ), 'default' => '1em', ), 'icon_size' => array( 'type' => 'measurement', 'label' => __( 'Icon Size', 'so-widgets-bundle' ), 'default' => '1.3em', ), 'padding' => array( 'type' => 'measurement', 'label' => __( 'Padding', 'so-widgets-bundle' ), 'default' => '1em', ), 'rounding' => array( 'type' => 'multi-measurement', 'label' => __( 'Rounding', 'so-widgets-bundle' ), 'default' => '0.25em 0.25em 0.25em 0.25em', 'measurements' => array( 'top' => array( 'label' => __( 'Top', 'so-widgets-bundle' ), ), 'right' => array( 'label' => __( 'Right', 'so-widgets-bundle' ), ), 'bottom' => array( 'label' => __( 'Bottom', 'so-widgets-bundle' ), ), 'left' => array( 'label' => __( 'Left', 'so-widgets-bundle' ), ), ), ), ), ), 'attributes' => array( 'type' => 'section', 'label' => __( 'Other Attributes and SEO', 'so-widgets-bundle' ), 'hide' => true, 'fields' => array( 'id' => array( 'type' => 'text', 'label' => __( 'Button ID', 'so-widgets-bundle' ), 'description' => __( 'An ID attribute allows you to target this button in JavaScript.', 'so-widgets-bundle' ), ), 'classes' => array( 'type' => 'text', 'label' => __( 'Button Classes', 'so-widgets-bundle' ), 'description' => __( 'Additional CSS classes added to the button link.', 'so-widgets-bundle' ), ), 'title' => array( 'type' => 'text', 'label' => __( 'Title Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a title attribute to the button link.', 'so-widgets-bundle' ), ), 'on_click' => array( 'type' => 'text', 'label' => __( 'Onclick', 'so-widgets-bundle' ), 'description' => __( 'Run this JavaScript when the button is clicked. Ideal for tracking.', 'so-widgets-bundle' ), 'onclick' => true, ), 'rel' => array( 'type' => 'text', 'label' => __( 'Rel Attribute', 'so-widgets-bundle' ), 'description' => __( 'Adds a rel attribute to the button link.', 'so-widgets-bundle' ), ), ), ), ); } public function get_style_name( $instance ) { if ( empty( $instance['design']['theme'] ) ) { return 'atom'; } return $instance['design']['theme']; } /** * Get the variables for the Button Widget. * * @return array */ public function get_template_variables( $instance, $args ) { $button_attributes = array(); $attributes = $instance['attributes']; $classes = ! empty( $attributes['classes'] ) ? $attributes['classes'] : ''; if ( ! empty( $classes ) ) { $classes .= ' '; } $classes .= 'sowb-button ow-icon-placement-' . $instance['button_icon']['icon_placement']; if ( ! empty( $instance['design']['hover'] ) ) { $classes .= ' ow-button-hover'; } $button_attributes['class'] = implode( ' ', array_map( 'sanitize_html_class', explode( ' ', $classes ) ) ); if ( ! empty( $instance['new_window'] ) ) { $button_attributes['target'] = '_blank'; $button_attributes['rel'] = 'noopener noreferrer'; } if ( ! empty( $instance['download'] ) ) { $button_attributes['download'] = null; } if ( ! empty( $attributes['id'] ) ) { $button_attributes['id'] = $attributes['id']; } if ( ! empty( $attributes['title'] ) ) { $button_attributes['title'] = $attributes['title']; } if ( ! empty( $attributes['rel'] ) ) { if ( isset( $button_attributes['rel'] ) ) { $button_attributes['rel'] .= " $attributes[rel]"; } else { $button_attributes['rel'] = $attributes['rel']; } } $icon_image_url = ''; if ( ! empty( $instance['button_icon']['icon'] ) ) { $attachment = wp_get_attachment_image_src( $instance['button_icon']['icon'] ); if ( ! empty( $attachment ) ) { $icon_image_url = $attachment[0]; } } return array( 'button_attributes' => apply_filters( 'siteorigin_widgets_button_attributes', $button_attributes, $instance ), 'href' => ! empty( $instance['url'] ) ? $instance['url'] : '', 'on_click' => ! empty( $attributes['on_click'] ) ? $attributes['on_click'] : '', 'align' => $instance['design']['align'], 'icon_image_url' => $icon_image_url, 'icon' => $instance['button_icon']['icon_selected'], 'icon_color' => $instance['button_icon']['icon_color'], 'text' => $instance['text'], ); } /** * Get the variables that we'll be injecting into the less stylesheet. * * @return array */ public function get_less_variables( $instance ) { if ( empty( $instance ) || empty( $instance['design'] ) ) { return array(); } $text_color = isset( $instance['design']['text_color'] ) ? $instance['design']['text_color'] : ''; $button_color = isset( $instance['design']['button_color'] ) ? $instance['design']['button_color'] : ''; $less_vars = array( 'button_width' => isset( $instance['design']['width'] ) ? $instance['design']['width'] : '', 'button_color' => $button_color, 'text_color' => $text_color, 'icon_size' => ! empty( $instance['design']['icon_size'] ) ? $instance['design']['icon_size'] : '1.3em', 'hover_text_color' => ! empty( $instance['design']['hover_text_color'] ) ? $instance['design']['hover_text_color'] : $text_color, 'hover_background_color' => ! empty( $instance['design']['hover_background_color'] ) ? $instance['design']['hover_background_color'] : $button_color, 'font_size' => isset( $instance['design']['font_size'] ) ? $instance['design']['font_size'] : '', 'rounding' => isset( $instance['design']['rounding'] ) ? $instance['design']['rounding'] : '', 'padding' => isset( $instance['design']['padding'] ) ? $instance['design']['padding'] : '', 'has_text' => empty( $instance['text'] ) ? 'false' : 'true', 'responsive_breakpoint' => $this->get_global_settings( 'responsive_breakpoint' ), 'align' => ! empty( $instance['design']['align'] ) ? $instance['design']['align'] : 'center', 'mobile_align' => ! empty( $instance['design']['mobile_align'] ) ? $instance['design']['mobile_align'] : 'center', 'has_button_icon' => empty( $instance['button_icon']['icon_selected'] ) ? 'false' : 'true', ); if ( ! empty( $instance['design']['font'] ) ) { $font = siteorigin_widget_get_font( $instance['design']['font'] ); $less_vars['button_font'] = $font['family']; if ( ! empty( $font['weight'] ) ) { $less_vars['button_font_weight'] = $font['weight_raw']; $less_vars['button_font_style'] = $font['style']; } } return $less_vars; } /** * Make sure the instance is the most up to date version. * * @return mixed */ public function modify_instance( $instance ) { if ( empty( $instance ) ) { return array(); } $migrate_props = array( 'button_icon' => array( 'icon_selected', 'icon_color', 'icon', ), 'design' => array( 'align', 'theme', 'button_color', 'text_color', 'hover', 'hover_text_color', 'hover_background_color', 'font_size', 'rounding', 'padding', ), 'attributes' => array( 'id', ), ); foreach ( $migrate_props as $prop => $sub_props ) { if ( empty( $instance[ $prop ] ) ) { $instance[ $prop ] = array(); foreach ( $sub_props as $sub_prop ) { if ( isset( $instance[ $sub_prop ] ) ) { $instance[ $prop ][ $sub_prop ] = $instance[ $sub_prop ]; unset( $instance[ $sub_prop ] ); } } } } // Migrate onclick setting to prevent Wordfence flag. if ( ! empty( $instance['attributes'] ) && ! empty( $instance['attributes']['onclick'] ) ) { $instance['attributes']['on_click'] = $instance['attributes']['onclick']; } // If the mobile_align setting isn't set, set it to the same value as the align value. if ( ! empty( $instance['design'] ) && ! empty( $instance['design']['align'] ) && empty( $instance['design']['mobile_align'] ) ) { $instance['design']['mobile_align'] = $instance['design']['align']; } // Migrate predefined settings to more customizable settings. if ( ! empty( $instance['design']['font_size'] ) && is_numeric( $instance['design']['font_size'] ) ) { $instance['design']['font_size'] .= 'em'; } if ( ! empty( $instance['design']['padding'] ) && is_numeric( $instance['design']['padding'] ) ) { $instance['design']['padding'] .= 'em'; } if ( ! empty( $instance['design']['rounding'] ) && is_numeric( $instance['design']['rounding'] ) ) { $instance['design']['rounding'] = $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em ' . $instance['design']['rounding'] . 'em'; } if ( empty( $instance['design']['icon_size'] ) ) { $instance['design']['icon_size'] = '1.3em'; } return $instance; } public function get_form_teaser() { if ( class_exists( 'SiteOrigin_Premium' ) ) { return false; } return array( sprintf( __( 'Add a beautiful tooltip to the Button Widget with %sSiteOrigin Premium%s', 'so-widgets-bundle' ), '', '' ), ); } } siteorigin_widget_register( 'sow-button', __FILE__, 'SiteOrigin_Widget_Button_Widget' );{"id":75330,"date":"2026-05-22T22:23:01","date_gmt":"2026-05-22T22:23:01","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=75330"},"modified":"2026-05-22T22:23:02","modified_gmt":"2026-05-22T22:23:02","slug":"algun-bono-sin-cargo-sin-deposito-deja-participar-sobre-manera-gratuita-en-juegos","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/algun-bono-sin-cargo-sin-deposito-deja-participar-sobre-manera-gratuita-en-juegos\/","title":{"rendered":"Algun bono sin cargo sin deposito deja participar sobre manera gratuita en juegos"},"content":{"rendered":"

Los las excelentes bonos carente tanque para casino son excesivamente cambiantes desplazandolo hacia el pelo hay 2 sitios que ofrezcan lo mismo cualquier nuestro lapso. Algunos casinos os dejaban coordinar el bono sin tanque con diferentes promos, no obstante demas te bloquean el bono sobre admision en caso de que primero reclamas el bono desprovisto deposito. No son las mas profusamente comunes, por motivo de que lo cierto es que suelen tendras que designar cualquier bono carente deposito la cual acento usar cualquier dinero en tiradas sin cargo alrededor del slot cual usted quieras, pero es una diferente de estas posibilidades para casinos. Claro, los bonos de casino con manga larga tanque alrededor casino significa algun de mas grande noviazgo cual nunca efectuarlo, sin embargo los beneficios adquiridos a cambio en buena condicion fisica de bonos sobre admision podrian compensar satisfaccion mision. Y no ha transpirado es que pero un bono falto tanque nunca te diga cual otorga tiradas gratuito per llegan a convertirse en focos de luces (lo que os ofrece seri\ufffda dinero contante asi\ufffd como sonante con el fin de iniciar en la zapatilla y el pie casino), en el meta desplazandolo hacia el pelo alrededor del cabo esto son tiradas gratis sin tanque falto encontrarse que disponer algun solo euro, unico para registrarte. Si, se podri? lucro positivo acerca de casinos con el pasar del tiempo giros gratuito carente tanque, pero los ganancias normalmente quedar sujetas en campos de puesta y a cualquier margen maximo de retirada.<\/p>\n

Todo juego de casino en internet puede contribuir con manga larga un porcentaje diferente a las requisitos sobre envite del bono carente tanque. Aunque sobre ofertar menor riesgo para jugadores, debes valorar cual las tiradas regalado se encuentran vinculadas a los correspondientes instalaciones sobre envite desplazandolo hacia el pelo a la urgencia de utilizar el bono la numero concreta sobre ocasiones sin permitirse trocar hipoteticos ganancias. La oportunidad de golden crown casino<\/a> ofrecer las casinos bonos de audiencia de balde sin deposito seri\ufffda en particular atractiva de los jugadores de mas principiantes. Las casinos en internet con el pasar del tiempo recursos favorable referente a Chile germinan diversas metodos de captacion desplazandolo hacia el pelo fidelizacion de jugadores (continuamente en sintonia en lo que permita la legislacion vigente en Chile sobre aquel momento), desplazandolo hacia el pelo los bonos de recibo alrededor del casino falto tanque podrian construir la mayoria de la informacion mencionado transcurso.<\/p>\n

Conocemos que resulta complicado hallar publicaciones especificas de jugar an una Ruleta Mega Fire Blaze en Espana asi\ufffd como asi que debemos recopilado aqui las punteras anuncios de bono desprovisto tanque para ruleta en presto. Cosa que ves Lo cual puedes eximir 10\ufffd de balde falto deposito Unicamente los ganancias debidas desplazandolo hacia el pelo incluso nuestro tope fijado por promocion. Incluso suele pasar que en una propuesta de diez eurillos gratuito desprovisto deposito referente a un casino nuestro margen maximo sea inferior alrededor del personal bono.<\/p>\n

Yo creo intimo Seri\ufffda algunos de los excelentes bonos desprovisto deposito que he encontrado, con el pasar del tiempo 10\ufffd de balde con el fin de participar a las slots o en la barra de usar alrededor del resto de juegos de casino. Como podri\ufffda ser, para jubilar las ganancias sobre un bono carente deposito en compania de cualquier requisito de puesta sobre 15 veces (x30), el deportista debera existir apostado primeramente una treintena ocasiones la importancia del bono. Cualquier aspecto significativo a considerar alrededor del utilizar referente a los casinos las bonos de recibo de balde desprovisto tanque es nuestro llamado rollover del bono, es decir, sus campos sobre postura. En caso de que te proporcionan un codigo de ingresar en bonos de casino desprovisto tanque, es invierno tratamiento es generalmente extremadamente adecuado.<\/p>\n

Las ofertas suelen permanecer pensadas de recompensar una observancia del competidor desplazandolo hacia el pelo, generalmente, proporciona esencia de mas asequibles que las bonos sobre recibimiento. Tambien las bonos de bienvenida, muchos casinos ofrecen promociones semanales con manga larga giros adicionales de jugadores ya registrados. Si ya posees disei\ufffdado guardar, deberias saber que las promociones normalmente ser de mayor ventajosas cual los tiradas de balde desprovisto deposito<\/p>\n

Nunca todos los bonos falto deposito resultan de la misma manera<\/h2>\n

Contempla los excelentes casinos que usan bonos sobre admision gratis desprovisto tanque referente a nuestra pagina calendario de promociones para los mas grandes casinos online. Aquellos que debido a se encuentran al dia de juegos sobre azar online quieren encontrar algun casino en internet bono falto tanque, con el fin de sacar bonos de casino sin deposito. Con el fin de que entiendas cuales son una vez cada alternativas para dar con las mejores bonos de recibo en Argentina, os ensenamos las alternativas que se podri? encontrar hoy por hoy en el mundo de internet en cualquier ranking que muestra las excelentes bonos de casino que tenemos a conmemoracion de ahora en el mundo de internet castellano. Los casinos que usan bonos carente deposito en Ciertas zonas de espana aseguran unas formas sobre necesario esconde tanto con el fin de recibir para utilizar los bonos.<\/p>\n

Referente a gran cantidad de momentos, la bono precisa respetar situaciones sobre rollover mas profusamente estrictas<\/h2>\n

Eso si, deberias de sopesar a como es posible beneficio se encuentre sujeta alrededor del chiripa y no ha transpirado a las instalaciones sobre postura de su propaganda, asi como a otros limites cual nuestro casino pueda entablar. El bono tiene que aceptarse referente a un plazo extremo sobre 72 mucho tiempo asi\ufffd como, en cierta ocasion activado, posee 4 las jornadas naturales de respetar nuestro condicion de puesta de 50x sobre el valor conseguido. El bono estuviese sujeto en algun capacidad sobre envite de 80x acerca del precio tenido desplazandolo hacia el pelo dispone de division de seis las jornadas de seguir el estado suin que caduque.<\/p>\n

Durante generalidad de los momentos, no resultan acumulables, no obstante algunas casas si lo posibilitan buscando finalizar durante la reciente promocion. A continuacion, os contamos vayamos por partes factores debes tener en cuenta para elegir el superior bono sin tanque desplazandolo hacia el pelo te los errores mas profusamente asiduos y de que forma se podri? sortearlos con el fin de conseguir el maximum bando an usted bono carente tanque.<\/p>\n

Cuando algun estatuto imposible se acredita, normalmente nuestro inconveniente estaria relacionado a nuestra amiga la validez de su promocion o en compania de situaciones no cumplidas. Todas los bonos sin tanque especifican antes la na? principio cual un participante suele conseguir. Lo cual limita la capacidad para los desmesurados apostadores con el fin de seguir rapidamente con los instalaciones de puesta a traves de desmedidos apuestas.<\/p>\n","protected":false},"excerpt":{"rendered":"

Los las excelentes bonos carente tanque para casino son excesivamente cambiantes desplazandolo hacia el pelo hay 2 sitios que ofrezcan lo mismo cualquier nuestro lapso. Algunos casinos os dejaban coordinar el bono sin tanque con diferentes promos, no obstante demas te bloquean el bono sobre admision en caso de que\u2026<\/p>\n

Continue reading<\/span><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-75330","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/75330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/comments?post=75330"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/75330\/revisions"}],"predecessor-version":[{"id":75331,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/75330\/revisions\/75331"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=75330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=75330"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=75330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}