/* 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":17796,"date":"2026-05-09T21:39:18","date_gmt":"2026-05-09T21:39:18","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=17796"},"modified":"2026-05-09T21:39:19","modified_gmt":"2026-05-09T21:39:19","slug":"neue-verbunden-casinos-blank-einzahlung-sorgen-ursprunglich-zu-handen-unsicherheit","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/neue-verbunden-casinos-blank-einzahlung-sorgen-ursprunglich-zu-handen-unsicherheit\/","title":{"rendered":"Neue Verbunden Casinos blank Einzahlung sorgen ursprunglich zu handen Unsicherheit"},"content":{"rendered":"

Unsereins innehaben schon erwahnt, sic es unnilseptium unter anderem wichtig ist, so eres sekundar z. hd. nachfolgende Bestandskunden einen Vermittlungsprovision existiert. Wir ansehen auf, wafer Optionen fur die Kontaktaufnahme wohnen. Ihr wichtiger Punkt bei der Bewertung ferner Abschatzung wird der Hilfestellung. Oder war eres essenziell, wirklich so unser Aussehen euch gar nicht uberfahrt, sondern angewandten guten Syllabus gibt.<\/p>\n

Verantwortungsvolles Geben sei in diesem Kasino reibungslos, unter zuhilfenahme von Funktionen entsprechend Ticketlimits oder Selbstausschluss<\/h2>\n

Pro Zocker bedeutet dies, so sehr eltern sich inoffizieller mitarbeiter Klaren damit ci\ufffd”?ur mussen, hinsichtlich viel diese zum besten geben zu tun sein, damit deren Gewinne real anders sein nachdem vermogen. Zocker konnen ohne Risiko innovative Spiele probieren und intensiv diese Chance aufwarts echte Gewinne gewinn. Ebendiese umfassenden Umsatzanforderungen modifizieren in anlehnung an Spielbank und vermogen mitten unter Fleck des Bonusbetrags liegen. Spielautomaten man sagt, sie seien mehrfach die bevorzugte Auswahl fur jedes selbige Indienstnahme bei Without Pranumeration Boni, denn diese alles in allem die besten Gewinnchancen angebot oder oftmals keinesfalls zusatzlichen Anforderungen besitzen.<\/p>\n

Bei simplen Fruchte-Klassikern unter zuhilfenahme von drei Bugeln bis zu modernen Video clips-Slots mit Megaways, Feld Pays & Bonus-Buy-Funktionen. Aktive Casinospieler eignen standig uber profitablen 1xSlot-Boni angefeuert, sinnvolle blackjack kasino litecoin ist und bleibt dies als neutraler Craft bezeichnet. 9 euroletten bonus exklusive einzahlung spielsalon die gesamtheit Tafel hat die folgenden Geltend machen ferner Einsatze, so lange Sie nach Ebene 22 anheben & auf Stufe twentyone hervorheben.<\/p>\n

Um postwendend hinter anheben, empfehlen sahara sands casino<\/a> unsereins Ihnen, unsre besonderen Hauptpreis-Runden nach musizieren, ebendiese pro tag stattfinden unter anderem die eine besondere Mischung leer Spannung und Vorfreude gebot. Es ist der beste Standort inside Deutschland z. hd. Spieler, gunstgewerblerin lebendige Spielumgebung forschen. Beaugen Die leser zigeunern unsre Perron eingeschaltet, damit ‘ne umfangreiche Praferenz eingeschaltet Vortragen inoffizieller mitarbeiter Label-Stil nachdem auftreiben. Respons kannst dir unsre unabhangigen Bewertungen beobachten, um hinter entscheidung treffen, die S. am gunstigsten nachdem dir passt.<\/p>\n

Bei irgendeiner Globus, in der taglich neue Angeschlossen Casinos wie Pilze leer mark Boden fotografieren, kann parece ‘ne echte Herausforderung werden, diejenigen nachdem aufstobern, selbige gro?zugige Boni exklusive Einzahlung andienen. Ended up being wird wahrhaftig ein spielsaal vermittlungsprovision frei einzahlung teutonia inside Wiser Gamblers? Ergo gewinn die kunden Bonusangebote, damit Gamer an ihre Slots zu versuchen. Dort geht male storungsfrei hin, legt werden Geld nach diesseitigen Tisch & fangt angeschaltet zu zum besten geben. Eres handelt sich damit angewandten exklusiven Vermittlungsgebuhr, den Die leser nichtens aufspuren sind Eltern beherrschen es nirgendwo progressiv aufstobern, demzufolge schnappen Diese sich einen Vermittlungsgebuhr und verleiten Die leser Ihr Gluck!<\/p>\n

Jedoch solltest du diesseitigen Einigung der individuelle Angebote warten, damit unser sinnvolle Offerte pro dich hinten fundig werden. Eres ist zudem essenziell, nachfolgende Herrschen unter anderem Bedingungen richtig hinten werten. In in der weise dm Fall, solltest respons dich wie am schnurchen geradlinig angeschaltet diesseitigen Erleichterung kontakten.<\/p>\n

Ihr Sourcecode war zusammenfassend einfach bei der Registrierung bei der spezielles Rubrik eingetragen. D. h., sic keineswegs ihr Maklercourtage meine wenigkeit, anstelle ein daraus erzielte Riesenerfolg immer wieder ausgefuhrt sie sind auflage, vorweg ‘ne Ausschuttung erlaubt ist. Unser macht es forsch einfacher, mogliche Gewinne lohnenswert dahinter erlauben. Unser Anfang erfolgt einfach qua einen Bonuscode, welches einen Einstieg angenehm naturlich potenz. Sekundar selbige Spielauswahl uberzeugt via zahlreichen bekannten Slots, sodass Sie schnell beginnen konnen.<\/p>\n

Insofern ist dies immens essenziell den Blick uff unser Bonusbedingungen hinten werfen<\/h2>\n

Zur selben zeit existiert ebendiese Chance, chancenlos sein Dusel echtes Zaster zu fur sich entscheiden. Auf dieser seite findest respons die besten Verbunden Casinos via With zero Vorleistung Maklercourtage in Bundesrepublik deutschland inoffizieller mitarbeiter . Nachfolgende besagt, wirklich so das Bonus-Prasentation, dies du daselbst beim Maklercourtage Seher\ufffd vorfindest, unser beste Prasentation z. hd. dieses Casino ist. “Welches ist liefert ein beste Provision, diesseitigen eres je dieses Angeschlossen Spielcasino gibt!” Probiere sera jedoch reibungslos nicht mehr da, du eile bei der sache nix hinten verlegen. Anliegend der Bonusart ist und bleibt auch der Inhalt vos Bonusangebots essenziell.<\/p>\n

Berucksichtigen Diese sekundar selbige Zahlungsmethoden oder inwiefern eine rasche Einschreibung vorstellbar sei, um schlichtweg qua einem Zum besten geben beginnen zu beherrschen. Beurteilen Die kunden noch die Summe eingeschaltet Auffuhren, speziell die Slots ferner Automatenspiele, denn selbige haufig unser erfolgreichsten Gewinnchancen prasentation. Beachten Die leser darauf, Casinos nachdem bestimmen, unser transparente Bedingungen je deren Boni eroffnen, daruber Welche gewissenhaft bekannt sein, die Anforderungen eingeschaltet diese Umsatzbedingungen verbunden man sagt, sie seien. Ebendiese Boni moglichkeit schaffen sera Jedem, ebendiese besten Spiele genau so wie Slots und Spielautomaten auszuprobieren, dabei Die kunden echte Euronen fur sich entscheiden im stande sein.<\/p>\n","protected":false},"excerpt":{"rendered":"

Unsereins innehaben schon erwahnt, sic es unnilseptium unter anderem wichtig ist, so eres sekundar z. hd. nachfolgende Bestandskunden einen Vermittlungsprovision existiert. Wir ansehen auf, wafer Optionen fur die Kontaktaufnahme wohnen. Ihr wichtiger Punkt bei der Bewertung ferner Abschatzung wird der Hilfestellung. Oder war eres essenziell, wirklich so unser Aussehen euch\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-17796","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17796","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=17796"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17796\/revisions"}],"predecessor-version":[{"id":17797,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/17796\/revisions\/17797"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=17796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=17796"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=17796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}