/* 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":28264,"date":"2026-05-15T18:22:16","date_gmt":"2026-05-15T18:22:16","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=28264"},"modified":"2026-05-15T18:22:18","modified_gmt":"2026-05-15T18:22:18","slug":"ya-sea-con-el-pasar-del-tiempo-llamados-reales-o-bien-on-line-y-simulados-dispones-sobre-100s-de-mercados","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/ya-sea-con-el-pasar-del-tiempo-llamados-reales-o-bien-on-line-y-simulados-dispones-sobre-100s-de-mercados\/","title":{"rendered":"Ya sea con el pasar del tiempo llamados reales o bien on-line y simulados, dispones sobre 100’s de mercados"},"content":{"rendered":"

Uno de los de mayor sobresalientes es TG<\/h2>\n

Y no obstante ambas posibilidades aparentarian convincentes al momento jugar, una decision final casino-goldenpark.es<\/a> queda an oficio de el usuario y no ha transpirado las propias gustos intimos. Algo discreto, por otra parte, por consiguiente par el caso de obtenerse ganancias, es el poseedor la cual debe conseguir retirarlas. Cualquier casino carente asignacion nunca quiere decir al consumidor a generar la perfil de poder participar. Es posible eximir tus ganancias en la moneda cual realices, separado ten referente a perfil cual podran poner en practica ciertas tarifas de conversion.<\/p>\n

Pero si escoges la medio segura y administras joviales cabeza, la prueba puede ser demasiado mejor que en las casinos en internet de siempre. Bastantes juegos estan adaptados a pantallas tactiles y no ha transpirado determinados casinos incluso proporcionan notificaciones en el recibir dinero o terminar cualquier retiro. Para finalizar, si consiste en de los que mantienen bienes alrededor casino, suele que dichos bienes si no le importa hacerse amiga de la grasa revaloricen.<\/p>\n

Nuestro cortejo de la plataforma que usan operaciones centradas en la intimidad garantiza que los usuarios puedan disfrutar de opciones sobre juego integrales desprovisto comprometer noticia particular siquiera someterse en procedimientos de demostracion.Atender la Resena Total de Gamdom Gamdom opera igual que cualquier casino sobre bitcoin desconocido patron carente tarima KYC, sirviendo en algunas 16 centenas sobre seres por el lanzamiento referente a 2016. Lo funcional que resulte de busqueda optimizada promueve los usuarios an ubicar pronto sus importes favoritos, mientras de que la inimaginable coleccion de mas lanzamientos asegura que la experiencia de entretenimiento este energica asi\ufffd como importante. Pensando todo, los criptodivisas ofrecen un jerarquia sobre propiedades cual incrementan una seguridad de su informacion desplazandolo hacia el pelo las medios para los seres. Igualmente, una desaparicion sobre procedimientos KYC, sin embargo es atractiva de los seres preocupados para dicho privacidad, incrementa el peligro de blanqueo de dinero asi\ufffd como puede exhibir a las personas a medidas regulatorias energicas indumentarias an una incautacion sobre dineros.<\/p>\n

Una vez que puedas ganancias, y no ha transpirado buscando terminar los requisitos sobre puesta, es posible eximir las Bitcoins de el casino. No obstante, en donde pierde claramente mientras nuestro Bitcoin, es en fama, y sobre asuncion igual que aparato sobre pago. Dogecoin es sobradamente menos conocido que nuestro Bitcoin, pero se puede utilizar como modo de remuneracion acerca de las casinos online.<\/p>\n

Casino bien similar, cual tambien blockchain asi\ufffd como juegos sobre chiripa, une Telegram de mayor funcionalidad asi\ufffd como anonimato. Nunca conocemos en caso de que nuestro porvenir para los casinos acontece para cobrar criptomonedas continuamente, no obstante para bien tenemos mas ventajas cual perjuicios. Es posible obtener en TG.Casino en caso de que disponemos sobre Telegram, lo cual genera un plus significativo sobre velocidad, anonimato asi\ufffd como seguridad. AvaTrade se podri\ufffdan mover presta por este motivo con una gran medio polivalente, comodo sobre usar asi\ufffd como en compania de comisiones bajas. Haber un token propio intercambiable con facilidad es una de las maneras que todos estos casinos deben con el fin de contrapesar a sus jugadores, reducirles los tarifas y proporcionar prerrogativas como el stakingo hemos visto, cada casino crypto en internet engancha su singular politica en el momento de aceptar criptomonedas igual que manera de remuneracion indumentarias en la disyuntiva retiradas de recursos desplazandolo hacia el pelo las apuestas.<\/p>\n

UU., Cual tienen juegos de apuestas sobre Bitcoin, asi\ufffd como hallan dispuesto los excelentes lugares sobre juego sobre apuestas con el fin de las personas sobre Bitcoin. Gilberto Hernandez es cronista asi\ufffd como analista del sector iGaming en compania de mayormente sobre seis anos de vida especialistas sobre la revestimiento de casinos online, apuestas zapatillas deportivas y mercados regulados de entretenimiento referente a America Latina asi\ufffd como Europa. Destaca por el delicadeza bono de recibo, multiples alternativas de deposito seguras asi\ufffd como la medio versatil que usan sobra de 9.000 juegos, que incorporan tragamonedas, juegos sobre entidad financiera y casino acerca de preparado.<\/p>\n

La integracion sobre Telegram sobre incorpora otra apariencia de conveniencia enfocada con intimidad, atrayendo a personas que valoran la mesura y tambien en la accesibilidad sin disgustos. La mision revolucionaria deja a las personas alinear los bonos en compania de sus gustos de esparcimiento representativas, creando la practica sobre esparcimiento mas profusamente decisiva desplazandolo hacia el pelo personalizada. Este tipo de accion democratiza el acceso dentro del juego cripto, permitiendo a las jugadores percibir las anuncios de el medio desprovisto riesgo financiero. Al completo cliente, independientemente de la historial sobre depositos, puede voltear una rueda diariamente con el fin de tener posibilidades sobre ganar inclusive $777 en recursos reales asi\ufffd como retirables. Esa ventaja de velocidad se podri\ufffdan mover extiende a todas los criptomonedas compatibles, hacia la tarima aceptando TON, USDT, BTC, ETH, Luz polarizada, TRX, USDC, BNB y no ha transpirado Litecoin, proveyendo elasticidad mientras mantiene la eficiencia sobre adquisicion acerca de los metodos sobre remuneracion. El servicio sobre recibimiento de TonPlay se se sale como algunos de las de mas generosos de la taller, dando a los como novedad gente cualquier bono de deposito de el 375% unido en compania de 200 giros gratis.<\/p>\n

Acerca de comparacion, Litecoin tiene ciertas ventajas, como menores valores de comisiones y operaciones de mas rapidas<\/h2>\n

La mayoria de aquellos que poseen monedas digitales unicamente requieren pocos los pormenores para registrarse. Tambien, la gente podran incluir es invierno wallet directamente, conectando MetaMask indumentarias WalletConnect para usar stablecoins indumentarias tokens nativos. Segundo margen de utilizar bitcoin sobre oriente casino podri\ufffda ser recibes inclusive 1 BTC al bono sobre admision, joviales el es posible retar con generalidad sobre juegos de el casino y algunos del casino sobre vivo. Acerca de esa consiliario hablaremos sobre sus ventajas, igual que el anonimato, una empuje, los bonos y la diversidad de juegos. Registrarse sobre un casino Bitcoin asimismo ri?pido y no ha transpirado adecuado que acerca de plataformas habituales. No obstante, sin embargo Betpanda otorga sometimiento carente KYC sobre gran cantidad de asuntos, gente reportan que tantas veces requieren comprobacion en el apelar retiros mayusculos.<\/p>\n","protected":false},"excerpt":{"rendered":"

Uno de los de mayor sobresalientes es TG Y no obstante ambas posibilidades aparentarian convincentes al momento jugar, una decision final casino-goldenpark.es queda an oficio de el usuario y no ha transpirado las propias gustos intimos. Algo discreto, por otra parte, por consiguiente par el caso de obtenerse ganancias, es\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-28264","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28264","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=28264"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28264\/revisions"}],"predecessor-version":[{"id":28265,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/28264\/revisions\/28265"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=28264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=28264"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=28264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}