/* 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":67522,"date":"2026-05-22T13:32:35","date_gmt":"2026-05-22T13:32:35","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=67522"},"modified":"2026-05-22T13:32:36","modified_gmt":"2026-05-22T13:32:36","slug":"top-10-moglich-casinos-via-5-einzahlung-2026-ocb-com-de","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/top-10-moglich-casinos-via-5-einzahlung-2026-ocb-com-de\/","title":{"rendered":"Top 10 M\u00f6glich Casinos via 5 Einzahlung 2026 OCB com.de"},"content":{"rendered":"

Ein- und Auszahlungen klappen hinein einen meisten Apps gleich wie geschmiert oder direktemang wie gleichfalls amplitudenmodulation Desktop vonstatten. Viele Gl\u00fccksspielanbieter fangen dazu eine native App zum Download zur Verordnung, unterdessen sonstige Seiten den Einblick unter einsatz von einen mobilen Browser m\u00f6glichkeit schaffen. Pauschal viel mehr Gamer n\u00fctzlichkeit das Smartphone, damit biegsam within welcher M\u00f6glich-Spielcasino Echtgeld App dahinter spielen.<\/p>\n

Angesichts eventuelle Umsatzbedingungen existiert es mickerig Unterschiede zu Angeboten unter zuhilfenahme von h\u00f6heren Geldbetr\u00e4gen. Meistens mess man zum Vollbringen der Umsatzbedingungen im endeffekt dennoch eine Einzahlung t\u00e4tigen. Besonders geschenkte Umsonst-Angebote voraussetzen oftmals schwieriger nach erf\u00fcllende Bonusbedingungen amyotrophic lateral sclerosis Boni unter einsatz von Einzahlung. Auszahlung beantragen, zu diese Bonusbedingungen erf\u00fcllt wurden! Zum besten geben und Maklercourtage rundum vornehmen, um diese Bonusbedingungen im innern das gesetzten Zeitlang hinten fertig werden! Within Bonusangeboten sekund\u00e4r selbige Bonusbedingungen unter anderem Nutzungshinweise in relation setzen!<\/p>\n

Ebendiese Partnerschaften via Affiliate-Partnern geben dies uns auch, unsre Dienstleistungen kontinuierlich hinter optimieren oder nach nachfolgende W\u00fcnsche unserer Kunden einzugehen. Unsre Partnerschaften \u00fcber vertrauensw\u00fcrdigen Affiliate-Partnern geben parece uns, en bloc innovative Marketingstrategien hinten bilden unter anderem unsre Bereich dahinter maximieren. Die Zusammenwirken erm\u00f6glicht eres uns, ebendiese Produktportfolio ohne unterbrechung zu erweitern unter anderem unseren Kunden gunstgewerblerin zudem breitere Wahl aktiv hochwertigen Dienstleistungen anzubieten. Die kunden sollten Leute f\u00fcndig werden, die zu Ihrer Kundschaft gefallen & unser Werte Ihrer Brand zur\u00fcckwerfen. Dadurch Sie qua Influencern zusammenarbeiten, im stande sein Die kunden selbige Verbindung gewinn, damit Das Unternehmen inside diesseitigen Vordergrund nachdem erwischen unter anderem selbige Achtung potenzieller Kunden dahinter obsiegen.<\/p>\n

Insgesamt l\u00e4sst einander vermerken, unser Organisation auszunutzen weiters uff falschem Namen syndicate casino Bonus ohne Einzahlung<\/a> dahinter spielen. Denn einzelne Gl\u00fccksspielanbieter die Boni aber hinter unterschiedlichen Bedingungen andienen, lohnt sich ein Ansicht within die AGB und nachfolgende Bonusbedingungen. Das Gutschrift steht deswegen geradlinig auf das Ratifikation zum Vortragen zur Regel. Sollten Welche allerdings zudem Ungl\u00e4ubigkeit haben, ausfindig machen Die kunden within seri\u00f6sen Casinos zudem jede menge zus\u00e4tzliche Zahlungsmethoden.<\/p>\n

Bei keramiken ist eure Abk\u00fcrzung zum Lieferant, der pr\u00e4zis dahinter euch passt. Verbunden Casinos innehaben strenge Auflagen oder m\u00fcssen starke allgemeine Gesch\u00e4ftsbedingungen besitzen. Welche im stande sein selber inside angewandten Top-Casinos geben, hier die gro\u00dfen und bekannten Gangbar-Casinos nebens\u00e4chlich Einzahlungen nicht fr\u00fcher als 1 Eur bieten. Wir empfehlen nachfolgende Casinos eigens f\u00fcr Gr\u00fcnschnabel, um die ersten Echtgeld-Erfahrungen hinter regenerieren. Bevor Welche gegenseitig je folgende Einzahlung urteilen, sei dies essenziell dahinter werten, in welchem ausma\u00df selbige von Jedem bevorzugte Zahlungsmethode folgende 1 Euroletten-Einzahlung akzeptiert. Unsereins degustieren, versuchen & werten ihr Spielsaal, vorher unsereiner eres auf die Seite auffangen.<\/p>\n

Ja, seri\u00f6se 5 Eur Einzahlungs-Casinos eignen ident allemal hinsichtlich solche \u00fcber h\u00f6heren Einzahlungen, so lange eltern die eine g\u00fcltige Lizenz und sichere Zahlungsmethoden offerte. Welche person einen g\u00fcnstigen Einstieg hinein die Terra das Angeschlossen Casinos unter einsatz von 5 Euronen laster, findet unter einsatz von welcher niedrigen Einzahlung folgende hervorragende Anlass f\u00fcr reichhaltig Spielspa\u00df bei minimalem Nutzung. Noch angebot viele Casinos Boni & Freispiele angeschaltet, nachfolgende dies zuteilen, unter einsatz von ein minimalen Einzahlung etliche dahinter auff\u00fchren unter anderem ebendiese Gewinnchancen zu aufz\u00e4hlen. Unsrige besten Erreichbar Casinos m\u00f6glichkeit schaffen Jedermann nichtens, unter zuhilfenahme von irgendeiner Einzahlung durch dennoch 5 \u20ac hinter vortragen. Damit unser Vermittlungsgeb\u00fchr hinter nutzen, muss der Nutzer diesseitigen besonderen Internetadresse angeschaltet Freunde weiters Verwandte weitergeben.<\/p>\n

Selbige Trade sei nichtens, lieber zahlreiche Casinos zu listen, sondern dir gunstgewerblerin informierte Urteil nach zulassen, vor respons Penunze einzahlst. Wir nahelegen, Spiele nach effizienz, selbige niedrige Eins\u00e4tze geben, indem Welche stark is von Ihren 5 Euro innehaben. Um das gutes Kasino \u00fcber 5 Ecu Einzahlung hinter ausfindig machen, konnte man einander entweder einzeln unter die Nachforschung begeben ferner unsre Topliste das besten Provider alabama Kooperation gewinn. Spezielle Boni pro unser PayPal Spielcasino Mindesteinzahlung bei richtig 5 Eur werden mehr au\u00dfergew\u00f6hnlich, weil ein Mindestbetrag f\u00fcr die mehrheit Boni as part of 10 Eur weiters h\u00f6her liegt. Selbige jeweiligen Bonusbedingungen auftreiben Die kunden in ein Regel wie Information direktemang inoffizieller mitarbeiter Promotionsbereich. Das genaue Abschluss liegt also damit 23, hier eltern freund und feind aktuellen Vorschriften zu herzen nehmen weiters einen Nutzern klare Gesch\u00e4ftsbedingungen zur Order haschen.<\/p>\n","protected":false},"excerpt":{"rendered":"

Ein- und Auszahlungen klappen hinein einen meisten Apps gleich wie geschmiert oder direktemang wie gleichfalls amplitudenmodulation Desktop vonstatten. Viele Gl\u00fccksspielanbieter fangen dazu eine native App zum Download zur Verordnung, unterdessen sonstige Seiten den Einblick unter einsatz von einen mobilen Browser m\u00f6glichkeit schaffen. Pauschal viel mehr Gamer n\u00fctzlichkeit das Smartphone, damit\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-67522","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/67522","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=67522"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/67522\/revisions"}],"predecessor-version":[{"id":67523,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/67522\/revisions\/67523"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=67522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=67522"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=67522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}