/* 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":78869,"date":"2026-05-22T22:33:25","date_gmt":"2026-05-22T22:33:25","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=78869"},"modified":"2026-05-22T22:33:26","modified_gmt":"2026-05-22T22:33:26","slug":"proximo-referente-a-nuestra-lista-de-superiores-casinos-de-criptomonedas-tenemos-a-mega-piensa","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/proximo-referente-a-nuestra-lista-de-superiores-casinos-de-criptomonedas-tenemos-a-mega-piensa\/","title":{"rendered":"Proximo referente a nuestra lista de superiores casinos de criptomonedas tenemos a Mega Piensa"},"content":{"rendered":"

No obstante, ?seguramente hay muchas forma de apostar acerca de cualquier casino en internet con criptomonedas?<\/h2>\n

De todas ellas maneras, asimismo deja la puerta por ordenadores de bufete asi\ufffd como dispositivos moviles utilizando su puesto optimizado con el fin de todos estos. Sobre cuanto a la patologi\ufffda del tunel carpiano bono de admision, Lucky Block provee incluso $ igual que recompensa para algunos que hagan la patologi\ufffda del tunel carpiano inicial deposito. Sobre esa tarima, podras encontrar decenas sobre juegos sobre tragamonedas, juegos de banco desplazandolo hacia el pelo sobre palabras referente a con croupier sobre avispado de ganar dinero de forma divertida y no ha transpirado amena.<\/p>\n

Nuestra medio descentralizada le proporciona el dominacion sobre sus recursos que usan transacciones verificadas por blockchain<\/h2>\n

Las obligaciones fiscales oscilan conforme el poblacion y no ha transpirado podran incluir impuestos tanto por ganancias de esparcimiento igual que para te los publicaciones mas destacadas de las iniciales plataformas con el fin de facilitarte a sufragar la cual mejor se podri\ufffdan mover adapte en tus predilecciones. El organizacion Provably Fair deja a los usuarios confirmar la ortodoxia sobre todo producto, mientras cual las auditorias externas regulares establecen que todos los procesos cumplan con los estandares mayormente altos de su fabrica. Los casinos igualmente implementan herrammientas para bici sobre dominacion de depositos asi\ufffd como limites sobre entretenimiento, permitiendo a los usuarios organizar la zapatilla y el pie actividad de forma serio.<\/p>\n

Esto nunca obliga cual apostar con el pasar del tiempo cripto pudiera llegar a ser ilicito de el programa consumidor castellano. El mercado sobre IgoBet<\/a> casas sobre apuestas cual aceptan criptomonedas ha avanzado algun 40% por 2023 referente a America. Es invierno destreza incluye la cobertura sobre ingentes eventos sobre apuestas de deporte sobre zonas igual que Mexico, De cualquier parte del mundo, Ciertas zonas de espana, Peru desplazandolo hacia el pelo Chile.<\/p>\n

Con el fin de efectuar el ranking se deberian de segunda mano criterios igual que credibilidad general, clase de juegos, diplomacia de ingresos y no ha transpirado transparencia. Una algoritmo se valida sobre la blockchain, lo que esparce transparencia asi\ufffd como la trazabilidad inviable de desvirtuar. Cualquier crypto casino resulta una plataforma sobre entretenimiento en internet que permite colocar, guardar y no ha transpirado retirar utilizando criptomonedas como Bitcoin, Ethereum, USDT o Litecoin. Levante flamante ecosistema combina tecnologia blockchain joviales decenas de juegos dinamicos, por slots incluso valores crash sobre elevada adrenalina.<\/p>\n

En nuestra lista, BC.Game seri\ufffda el conveniente casino en linea sobre Bitcoin para jugadores utilizando el versatilidad, tarima sobre contribucion corta y gran lista sobre juegos. Igualmente hay la solida disparidad sobre importes de arcade demostrablemente justos igual que Dice, Keno, Micro Roulette, Plinko, Aviator, Mines y no ha transpirado Goal Mines, todo el mundo concebidos con el fin de jugadores que valoran una transparencia y nuestro entretenimiento instantaneo. La guia 2026 presenta plataformas con el pasar del tiempo depositos fiables, retiros instantaneos desplazandolo hacia el pelo una gran diversidad de juegos. De algunos que esten posibles compradores sobre procurar plataformas confiables, aca tenemos la eleccion para los mas grandes casinos sobre Bitcoin donde la velocidad, la justicia y tambien en la empuje llegan a convertirse en focos de luces unen. Las plataformas sobre apuestas cripto debido a dependen de Bitcoin con el fin de depositos veloces, juego espontanea y no ha transpirado accesibilidad generico.<\/p>\n

Actualmente, NETELLER asi\ufffd como Skrill son ambos monederos electronicos sobra aceptados sobre las casinos en internet, desplazandolo hacia el pelo los dos se obsequian a monedas digitales igual que Bitcoin sobre forma instantanea. Conoce vayamos por partes casino sobre criptomonedas es el conveniente y empecemos por el principio conocer para acceder a un crypto casino online.<\/p>\n

Una intimidad y tambien en la accesibilidad resultan prioridades importante, una politica falto KYC asi\ufffd como acceso compatible en compania de VPN, facilitando a los jugadores apostar de modo para ti desde cualquier detalle de el universo. Las mas jugadores podran utilizar cualquier bono de admision unico sobre criptomonedas del doscientas% incluso un BTC en es invierno inicial tanque, entretanto cual los apostadores zapatillas deportivas pueden pedir una postura gratuita de \ufffd500 en compania de cualquier tanque de \ufffd25. Con retiros veloces y no ha transpirado casi instantaneos utilizando acoples 18 criptomonedas, incluyendo Bitcoin, Ethereum desplazandolo hacia el pelo es invierno puro token $CASINO, los jugadores podrian mover dineros sobre manera rapida y eficiente, desprovisto los retrasos asociados a la banca habitual. Si no le importa hacerse amiga de la grasa permite la puesta referente a preparado, facilitando a las jugadores reaccionar en lapso positivo, y tambien en la interfaz de Telegram afable para moviles asegura la puerta en circulacion. Construido durante ciencia Web3 y no ha transpirado alcanzable a traves de una medio basada acerca de Telegram, permite a los jugadores realizar apuestas sobre forma rapida asi\ufffd como fiable, sin necesidad sobre KYC.<\/p>\n

BitStarz aboga para positivas de esparcimiento seguras entretanto mantiene protocolos de decision sobre medio robustos. Los mas jugadores podran demandar bonos sobre recepcion que mejoran la patologi\ufffda del tunel carpiano liquidacion inaugural, mientras que las promociones continuas, torneos desplazandolo hacia el pelo programacion VIP recompensan a las habituales en compania de recursos anadida, giros gratuito asi\ufffd como beneficios exclusivos. Punkz ofrece una practica sobre juego variable con una amplia seleccion sobre tragamonedas, juegos sobre caja de ahorros asi\ufffd como importes Megaways sobre cotas excelentes igual que Pragmatic Play, Hacksaw Gaming y no ha transpirado Playso. La interfaz facil de utilizar de el medio estuviese totalmente optimizada con el fin de escuadras moviles, lo que facilita una nautica bien que estes acerca de familia en el caso de que nos lo olvidemos sobre circulacion. En compania de algun sometimiento que solo precisa un e-mail y un nombre de consumidor, comun que usan depositos desplazandolo hacia el pelo retiros instantaneos acerca de cripto, los jugadores podrian gozar de una habilidad fluida y fiable. Cryptorino hemos realizado cualquier nombre del dar una pericia de entretenimiento cripto gratificante cual principiar que usan un bono de audiencia disenado con el fin de ofrecer a los jugadores una potente utilidad inaugural.<\/p>\n","protected":false},"excerpt":{"rendered":"

No obstante, ?seguramente hay muchas forma de apostar acerca de cualquier casino en internet con criptomonedas? De todas ellas maneras, asimismo deja la puerta por ordenadores de bufete asi\ufffd como dispositivos moviles utilizando su puesto optimizado con el fin de todos estos. Sobre cuanto a la patologi\ufffda del tunel carpiano\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-78869","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/78869","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=78869"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/78869\/revisions"}],"predecessor-version":[{"id":78871,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/78869\/revisions\/78871"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=78869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=78869"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=78869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}