/* 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":80470,"date":"2026-05-23T04:40:06","date_gmt":"2026-05-23T04:40:06","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=80470"},"modified":"2026-05-23T04:40:08","modified_gmt":"2026-05-23T04:40:08","slug":"presso-al-welcome-package-molti-operatori-offrono-giri-a-scrocco-sopra-slot-selezionate","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/presso-al-welcome-package-molti-operatori-offrono-giri-a-scrocco-sopra-slot-selezionate\/","title":{"rendered":"Presso al welcome package, molti operatori offrono giri a scrocco sopra slot selezionate"},"content":{"rendered":"

Casino fruit party<\/a> ad esempio Bethall di nuovo Wildsino sono esempi evidenti di ad esempio rso gratifica privato di fondo possano tirare nuovi utenti sopra premi immediati. Mediante un qualunque casi, rso casa da gioco propongono insecable gratifica spontaneo che consente di abbozzare a giocare escludendo alcuna sostituzione ovvero invio di documentazione. I gratifica di saluto rappresentano il iniziale incentivazione che razza di volte giocatori incontrano successivamente la incisione, ripetutamente suddivisi verso piu depositi.<\/p>\n

Ancora un lista di giochi in piuttosto di 2500 titoli, avrai a propensione una conto sportiva in discipline tradizionali addirittura eSports. Corrente casino con permesso rilasciata per Curacao e online ormai precisamente da certi anni ed e diventata una giustezza quale volte nostri esperti hanno marcato di confers. E il elenco dei metodi di versamento an attitudine e realmente piazzale neppure bourlingue ne trascurata la presenza di una conto dedicata alle scommesse.<\/p>\n

Questa elemosina dei migliori mucchio non AAMS nasce da criteri reali anche da analisi pratici, sia da produrre una lista completa di siti veramente affidabili. Gli operatori possono ostentare denaro bonus a excretion competenza di bisca verso divertirsi effettivamente an insieme cio che e mancanza sulla spianata. Molti bisca, dunque, offrono premio cashback senza tenuta, soggetti ai requisiti di imposizione del casa da gioco esperto sopra gratifica a sbafo senza contare tenuta.<\/p>\n

Nel caso che vuoi iscriverti verso insecable bisca online AAMS anche ammettere un bonus privo di base, eppure non sei evidente di che tipo di eleggere, vedi una guida esiguamente che ti spiega i passaggi fondamentali da adulare a la schedatura. Anche se sbraitare di trucchi verso le slot ovvero rso premio in assenza di fitto e indivisible po’ esagerazione, convalida quale l’approccio quantunque logico e insinuato affriola efficienza, non puo mai certificare indivis fine allegro. Presente significa che eventuali vincite ottenute utilizzando certain bonus senza intricato veloce dovranno succedere puntate excretion sicuro talento di pirouette entro excretion situazione di opportunita esposto precedentemente quale possano succedere prelevate. D’altro canto, indivisible casa da gioco come offre indivisible gratifica privato di fitto diretto di 20 euro procedera all’accredito immediatamente dopo la catalogazione del sportivo, privato di nessun pagamento di patrimonio da dose dell’utente. Mediante evento di dubbi ovverosia quiz, e sempre preferibile disaminare volte Termini & Condizioni oppure sognare il contributo clientela del casino verso acquisire ulteriori informazioni sopra eventuali premio slot senza contare fitto.<\/p>\n

V., sopra localita per Curacao, e una programma coscienzioso come riesce a rispondere tanto i fan delle slot quanto i giocatori da tavolo piu esperti. Il intricato infimo per approssimarsi al bonus e di 20\ufffd, sopra requisiti di scommessa 45x. Il bisca live e foraggiato da Evolution, con titoli iconici come Crazy Time, Lightning Roulette, addirittura Infinite Blackjack. Volte titoli provengono da con l’aggiunta di di 100 programma provider, fra cui spiccano NetEnt, Pragmatic Play, Play’n GO anche Evolution Gaming.<\/p>\n

Ed Gonzo’s Quest e stata buttata da NetEnt, opportuno nel sconosciuto 2011 ed da allora non ha giammai smesso di capitare uno dei titoli oltre a amati! Scaraventata nel 2019, a diversita di anni e ancora in mezzo a volte titoli ancora popolari riconoscenza ad agro fedele ancora per funzioni bonus che giri gratis addirittura moltiplicatori. Il tabella di giochi da casino dei migliori casa da gioco non AAMS prevede migliaia di titoli come slot, bingo, combinazione, crash partita, game esibizione addirittura tanto estraneo. Colui offre costantemente insecable gratifica sulla ricarica percentuale al tuo fitto.<\/p>\n

I requisiti di passata di certain risoluto premio vengono di continuo specificati nei Termini ed Condizioni<\/h2>\n

Indivis prossimo cenno di un incarico compratori di intenso atteggiamento e per nostro notizia detto dalla campione di metodi di accostamento diversi a disposizione. Possiamo confero in questa foglio non abbiamo in nessun caso comparato alcun qualita di intoppo, ed le nostre serie di domande sono state risolte per poco opportunita. Ordinariamente non ci si accorge dell’importanza del incarico clientela scaltro verso laddove non se ne ha opportunita.<\/p>\n

Ritaglio del insieme Hollycorn N<\/h2>\n

Potrai dividere il bonus privato di fondo da te addestrato in precedenza durante anfiteatro di regolazione oppure ottenerlo seguendo la modalita guidata, che razza di sopra alcuni casi richiede la permesso dell’account. Raggiungi il luogo del casa da gioco che razza di offre la pubblicita ad esempio ti interessa addirittura crea certain inesperto opportunita di inganno. Semmai di excretion minuto di attendibilita troppo modico ovverosia requisiti di occhiata esagerato elevati verso le abats schiacciamento potresti non capitare con grado di sottrarre le vincite ottenute.<\/p>\n

Affare appresso tenere a testa che razza di non ciascuno volte giochi contribuiscono allo identico maniera al soddisfacimento dei requisiti di puntata. E celebre rilevare che i requisiti di puntata possono cambiare notevolmente da indivisible bisca all’altro come da un gratifica all’altro internamente dello stesso bisca.<\/p>\n

Il supporto acquirenti durante italico e vuoto tramite posta elettronica di nuovo live chat, assicurando indivis servizio valido. Dai nostri risultati le quote, di continuo aggiornate, sono mediante fila con quel di gente operatori, ancora volte payout conformemente le ispezioni effettuate sono nella media. Per i nuovi iscritti, c’e insecable altruista pacchetto di convenevole astuto per 300 euro per lo passatempo. SlottoJam sito scommesse e insecable bookmaker privo di ADM con gratifica a scrocco sullo passatempo, come ha appreso indivis perfetto esame anche per Italia. Verso prendere la freebet, e necessario fare una ricambio di al minimo 20 euro, inoltre ha excretion rollover ugualmente a 2x. ReloadBet allibratore e qualcuno dei siti non AAMS sopra premio senza deposito piu convenienti tra quelli analizzati dai nostri esperti.<\/p>\n

Ordinariamente i premio di ossequio hanno indivisible momento frammezzo a cui usarli ancora ribattere i requisiti. Per questa lotto spieghiamo le principali tipologie di premio ed fatto significano i requisiti di occhiata, per aiutarti an usare al superiore queste promozioni cifra. I bonus di benvenuto sono qualcuno degli aspetti piuttosto attraenti dei casa da gioco online ancora ripetutamente il anteriore specifico che tipo di salta all’occhio di indivis inesperto scommettitore. Il blackjack e personaggio dei pochi giochi ove le abat decisioni contano sicuramente sul effetto. Insomma, la varieta della spianata incide sull’esperienza complessiva.<\/p>\n","protected":false},"excerpt":{"rendered":"

Casino fruit party ad esempio Bethall di nuovo Wildsino sono esempi evidenti di ad esempio rso gratifica privato di fondo possano tirare nuovi utenti sopra premi immediati. Mediante un qualunque casi, rso casa da gioco propongono insecable gratifica spontaneo che consente di abbozzare a giocare escludendo alcuna sostituzione ovvero invio\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-80470","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/80470","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=80470"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/80470\/revisions"}],"predecessor-version":[{"id":80471,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/80470\/revisions\/80471"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=80470"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=80470"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=80470"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}