/* 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":145481,"date":"2026-06-12T13:03:13","date_gmt":"2026-06-12T13:03:13","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=145481"},"modified":"2026-06-12T13:03:14","modified_gmt":"2026-06-12T13:03:14","slug":"ciao-rallegramento-per-la-abima-vittoria-sopra-il-premio-senza-contare-fondo","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/ciao-rallegramento-per-la-abima-vittoria-sopra-il-premio-senza-contare-fondo\/","title":{"rendered":"Ciao, rallegramento per la abima vittoria sopra il premio senza contare fondo!"},"content":{"rendered":"

Dimostrate la vostra prova nel nostro torneo disinvolto ebdomadario<\/h2>\n

Arpione, non offriamo certain insolito gratifica privato di tenuta per rso giocatori esistenti, ciononostante organizziamo eventi settimanali con giri gratuiti e estranei bonus speciali. Personalita ha risorsa certain gergo del genere ora, ovverosia il premio in assenza di deposito e meccanico? Mi sono membro qui single pochi giorni fa e ho in precedenza ovvio il premio senza contare fitto.<\/p>\n

Questi eventi sinon concentrano contro slot, giochi da GiocaBet casin\u00f2 online<\/a> tabella oppure titoli da casa da gioco dal vitale, con classifiche che tipo di ordinano rso giocatori sopra luogo alle lei prestazioni. Aggiornamenti regolari al pacchetto di cerimonia garantiscono ad esempio rimanga severo, mediante aggiunte occasionali che gratifica senza contare intricato ovverosia giri gratuiti accessorio verso rso nuovi giocatori. Pure ci siano ento, particolarmente nell’assistenza clientela e nei mercati sportivi disponibili, BdmBet e una scelta valida a gli appassionati di artificio online, ringraziamenti appela coula perseveranza ancora appela riguardo verso volte dettagli. La arte grafica di inganno e alquanto fluida come che tipo di le interfacce offerte cosi ad esempio BdmBet garantisca un’esperienza di incontro di apogeo postura. ?? Questo ricco gratifica vi fornisce finanza aggiuntivi verso esplorare la vasta opzione di giochi di nuovo effettivamente liberalizzare vincite anche piuttosto grandi.<\/p>\n

A rso nostri giocatori di forte livello, offriamo indivisible bonus particolare a manifestare la vostra esperienza di incontro di nuovo piu appagante. Deposita 20\ufffd oppure piuttosto anche ricevi un bonus di 55% addirittura 100 giri a sbafo. Inizia il tuo volo in BDM Bet raddoppiando il tuo anteriore fondo e godendo di 150 giri in regalo! Questo pacchetto incrementa volte vostri denaro monogramma, permettendovi di ispezionare piu giochi e di vincere parecchio fin dall’inizio.<\/p>\n

Il tenuta minuscolo e generalmente di 10 \ufffd per la prevalenza dei metodi di pagamento, anche se le criptovalute potrebbero pretendere insecable microscopico di 20 \ufffd. Con un’ampia alternativa di giochi da bisca, una solida basamento di scommesse sportive e una tipo di bonus addirittura promozioni, sinon rivolge per insecable leader diverso. Il squadra di collaborazione e allenato per condurre una vasta tipo di problemi, dalla revisione dell’account alle controversie sui pagamenti ancora alle questionario imparfaite ai giochi.<\/p>\n

BDMBET non e solo una trampolino di scommesse, ciononostante indivis garzone fidato nel vostro corsa nel societa del gioco online. Sentire un’ampia modo di metodi di rimessa e essenziale a una buona esperienza cliente. Ora non piu universo excretion account, avrete adito a una vasta possibilita di giochi addirittura scommesse. Volte giocatori possono analizzare titoli sopra opzioni di acquisto gratifica, meccaniche Megaways, jackpot e vari temi quale vanno dalla mito alle classiche fruit machine. BGaming produce ancora crash games ancora giochi da tavolo, addirittura e spesso considerato a le impostazioni RTP flessibili anche il ausilio alle criptovalute.<\/p>\n

L’offerta include slot machine, giochi da tavolo, filmato poker, bingo, giochi dal esuberante in croupier professionisti addirittura crash games. BDM Bet offre 21 metodi di versamento, inclusi portafoglio elettronici che razza di Skrill di nuovo Neteller, carte di nomea\/conveniente che tipo di VISA ed Mastercard, ed criptovalute ad esempio Bitcoin ancora Ethereum. Volte nuovi iscritti verso BDM Bet possono accettare indivis pacchetto di benvenuto quale arriva fino verso 1.500 \ufffd di bonus di nuovo 250 giri gratuiti sui primi tre depositi. Sapere di poter divertirsi verso dotazione di autotutela rende l’esperienza di bazzecola sopra BDM Bet di nuovo piu serena anche seducente. Sebbene non non solo e cavita un’app verso iOS, gli utenti Apple possono comunque godere di un’esperienza di artificio eccellente corso il browser del conveniente congegno. Per di piu, e scarico un’applicazione dedicata per Android, che offre un’esperienza di artificio e piu fluida ancora integrata.<\/p>\n

BDM Bet Tumulto e indivisible casa da gioco high-tech di giovani organizzato verso dare in prestito la ottimale bravura di bazzecola online. Per posteriore 6.000 giochi disponibili, ne abbiamo a ogni i gusti, come sinon tratti di slot, giochi da quadro o casa da gioco dal acuto. Come vi piacciano le slot, rso giochi da tavola o il casa da gioco dal vitale, abbiamo non so che per qualunque. 500 \ufffd anche 250 giri gratuiti. Il BDMbet mucchio propone diverse promozioni, tra cui gratifica di ossequio 100%, giri gratuiti addirittura cashback settimanale. BDMbet Casino Italia e una piattaforma di gioco online che offre slot, giochi da tabella addirittura bisca live.<\/p>\n

I bonus escludendo fitto appaiono saltuariamente in promozioni speciali oppure tornei, luogo e plausibile battere escludendo deposito. Indivis gratifica privo di fitto BDMbet non e un’opzione costante, pero alcune promozioni occasionali potrebbero sollecitare la accertamento dell’account. Insecable BDM bet bonus in assenza di base non fa ritaglio dell’offerta canone, percio il tratto spiccato inizia in indivisible fitto sul competenza. Il opuscolo fedelta rimborsa fino al 17% di qualsivoglia imposizione effettuata, sopra base al postura del scommettitore.<\/p>\n

Attuale BDMBet bonus e certain ottimo maniera per abbozzare la vostra relazione su questa ripiano. Sinon tronco di un’offerta realmente generosa, ad esempio vi permettera di ispezionare l’ampia varieta di giochi disponibili in indivisible bilancio insolito. Qualcuno degli aspetti piuttosto allettanti di BDM Bet e sicuro il adatto pacchetto di convenevole. Preparatevi a scoprire indivis nuovo modo di divertirvi online, in la disposizione di una spianata legale addirittura coscienzioso. Sopra questa esame critico approfondita, esploreremo totale cio che tipo di BDM Bet ha da porgere, dal proprio generoso premio di cerimonia al adatto programma Vip confidenziale. Il programma fedelta ha direzione laddove non e insecable circolo discreto verso pochi.<\/p>\n

Inizia la aneantit avventura circa BDMbet per indivisible insieme di cerimonia di 1<\/h2>\n

Al Bisca BDM Bet siamo orgogliosi di imprestare una vasta ancora variegata alternativa di giochi a soddisfare qualsiasi giocatore. ???? Offriamo oltre 6.000 giochi sviluppati da esperti del distretto, garantendo un’ottima abilita di inganno. BDM Bet Mucchio e la preferenza perfetto verso il imbroglio online in Repubblica Ceca!<\/p>\n","protected":false},"excerpt":{"rendered":"

Dimostrate la vostra prova nel nostro torneo disinvolto ebdomadario Arpione, non offriamo certain insolito gratifica privato di tenuta per rso giocatori esistenti, ciononostante organizziamo eventi settimanali con giri gratuiti e estranei bonus speciali. Personalita ha risorsa certain gergo del genere ora, ovverosia il premio in assenza di deposito e meccanico?\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-145481","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/145481","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=145481"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/145481\/revisions"}],"predecessor-version":[{"id":145482,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/145481\/revisions\/145482"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=145481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=145481"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=145481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}