/* 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":70846,"date":"2026-05-22T21:33:50","date_gmt":"2026-05-22T21:33:50","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=70846"},"modified":"2026-05-22T21:33:51","modified_gmt":"2026-05-22T21:33:51","slug":"usa-tu-bono-desprovisto-deposito-sobre-estas-tragamonedas-joviales-gran-rtp-desplazandolo-hacia-el-pelo-gigantesco-capacidad-sobre-margen","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/usa-tu-bono-desprovisto-deposito-sobre-estas-tragamonedas-joviales-gran-rtp-desplazandolo-hacia-el-pelo-gigantesco-capacidad-sobre-margen\/","title":{"rendered":"Usa tu bono desprovisto deposito sobre estas tragamonedas joviales gran RTP desplazandolo hacia el pelo gigantesco capacidad sobre margen"},"content":{"rendered":"

Estos son los bonos desprovisto deposito mixtos de cual podras gozar de cesion de balde tanto para situar, para gozar de slots, ruletas desplazandolo hacia el pelo demas juegos de casino online. Muchas veces, puedes apartar nuestro bono de casino de 5 euros de balde sin tanque posteriormente de apostar un valor determinado (como podri\ufffda ser, 100 o bien 200 euros). Cada bono sobre casino carente deposito fue vivido debido al aparato libreria a traves de registros reales empezando por Ciertas zonas de espana, verificacion de personalidad y no ha transpirado tratamiento eficaz del cesion promocional en los juegos permitidos. Debido a lo anterior, vale revisar invariablemente los palabras de todo cirujano en utilizar un bono de apuestas gratuito carente tanque.<\/p>\n

El estudio de 32 operadores en compania de facultad espanola revelo unico 6 con el pasar del tiempo bonos sin tanque dinamicos en 2026. Evaluamos campos sobre puesta, limites sobre retiro, juegos que hay en el comercio asi\ufffd como transparencia referente a la prediccion. Acerca de Betzoid hemos analizado algunas 10 operadores en compania de autorizacion de una DGOJ con el fin de reconocer cuales tienen los mejores bonos desprovisto deposito de espanoles acerca de 2026. Es muy exacto, pero no los esposos bonos merecen tu tiempo-bastantes llevan con manga larga instalaciones sobre postura imposibles indumentarias tapujos ocultas cual frustran a las jugadores. Esta pagina y tambien en la documentacion cual contiene durante bastante ha sido revisada por Rosa Lopez, profesionalizada referente a casinos online de Mexico, Espana desplazandolo hacia el pelo LATAM.<\/p>\n

Con mayoridad de los casinos en internet, no se trata preciso proporcionar pormenores de el papeleta para obtener Vodds<\/a> un bono gratuito desprovisto tanque. Sin embargo, algunas de las bonos traen en compania de campos de puesta cual poseen practicarse en conseguir arrinconar cualquier ganancia obtenida. Si, se podri? conseguir ganancias reales a los giros sin cargo carente tanque. Suelen, el bono se acredita automaticamente a tu cuenta de casino despues de su produccion la misma, pero de vez en cuando suele cual requieras demandar nuestro bono. Si administras empezando por otra competencia, hazte llevando preferiblemente bono sobre admision carente deposito para Argentina, Colombia o en la barra Peru aqui mismo.<\/p>\n

Acostumbran a estar asociados a los bonos sobre recibimiento. Aunque estas promociones nunca necesitan usar recursos personal acerca de cualquier inicial instante, nuestro entretenimiento deberia quedar siempre entre limites que se encargan. Ademi?s, antes de reclamar una, atane examinar siempre las palabras desplazandolo hacia el pelo caracteristicas sobre cada oferta desplazandolo hacia el pelo concebir acerca de como juega la propaganda. Si, los bonos falto deposito acerca de De cualquier parte del mundo son legales continuamente que lleguen a ser ofrecidos para casinos con manga larga atribucion de la DGOJ (Gestion General de Ordenamiento del Entretenimiento). Los bonos regalado falto tanque para los casinos acerca de Chile resultan sobre ciertos clases.<\/p>\n

Aquellos mas jugadores cual llegan a convertirse en focos de luces disenaron para inicial vez en cualquier casino en internet tienen recto a conseguir cualquier bono gratuito carente deposito. Por lo tanto, suin competir en un casino inclusive con manga larga algun bono desprovisto tanque, pienselo ya asi\ufffd como estudie detenidamente los consejos de otras jugadores. Inscribiri? hace cada cosa que viable con el fin de seducir a cero millas clientes desplazandolo hacia el pelo darles a conocer nuestro casino falto tanque. Si algun casino en internet promociona insistentemente anuncios igual que tiradas gratis en el caso de que nos lo olvidemos creditos sobre bonificacion, tiene que pensarse 2 veces si aceptarlas. Muchos casinos online joviales licencias sobre juego extremadamente debiles se fabrican con bonos igual que creditos primeros o giros gratuito carente tanque.<\/p>\n

Acerca de Espana, las casinos en compania de autorizacion necesitan DNI y no ha transpirado, a veces, noticia anadida<\/h2>\n

Obten acceso VIP en anuncios sobre bonos de casino, productos validos, eBooks asi\ufffd como diferentes ente acerca de tu correo. Los bonos sin tanque son una util grandiosa de los jugadores sobre casinos en linea, especialmente estos mas que quieren percibir fortuna falto peligros. Si, todas las bonos sin tanque tienen cualquier termino sobre decrepitud, asi que asegurate de usarlos antes de que expiren.<\/p>\n

Nuestro bono llega igual que venta promocional sin tanque asi\ufffd como esta acotado a la propaganda por sujeto desplazandolo hacia el pelo mecanismo. Es una de estas alternativas sobra solidas con el fin de comenzar sin tanque, con tiempos ya definidos desplazandolo hacia el pelo grado de conversion llana. Buscando eximir nuestro cesion demostracion bonos sobre recibimiento moderados con el fin de seguir capitalizando promos con campos claros. Los bonos carente deposito resultan opiniones para calcular UX, estrategias sobre remuneracion asi\ufffd como soporte. Cualquier bono desprovisto deposito concede liquidacion o en la barra tiradas de balde carente urgencia de ingresar recursos. Alrededor primer semestre sobre 2025 los bonos carente tanque generaron algun incremento de el 9,iv % sobre registros verificados.<\/p>\n

El conjunto de los bonos sin tanque se encuentran creados para tragamonedas (ponderacion de el 500 %)<\/h2>\n

Nuestro bono desprovisto tanque deshabilita aquel peligro original, aunque normalmente compensa esa utilidad que usan limites mayormente estrictos asi\ufffd como cantidades promocionales mas bajas. Los bonos en compania de deposito igualan pleno indumentarias parcialmente el primer alta de el participante y no ha transpirado acostumbran a mostrar valores de mas altos. Pero nunca necesitan tanque, estos bonos en muchas ocasiones incluyen instalaciones de envite para impedir poder arrinconar ganancias.<\/p>\n

Es excelente para algunos que quieren sufrir otras opciones carente gastar dinero favorable. Determinados casinos online ofrecen un bono desprovisto deposito en buena condicion fisica de recursos presumiblemente o creditos en el registrarte. Suelen, cualquier bono desprovisto deposito suele mostrar entre diez desplazandolo hacia el pelo 50 giros, en ocasiones incluso mayormente. A continuacion, te indicamos las tipos mas profusamente populares de bonos desprovisto deposito que hallaras sobre las superiores casinos en internet.<\/p>\n

Las bonos falto deposito tienen la ocasii?n atrayente con el fin de que experimentes joviales diversos juegos de casino desprovisto demandar un gasto inicial. Incluso si cumple con los campos de postura, las casinos aseguran limites a las ganancias maximas permitidas de bonos desprovisto tanque.<\/p>\n","protected":false},"excerpt":{"rendered":"

Estos son los bonos desprovisto deposito mixtos de cual podras gozar de cesion de balde tanto para situar, para gozar de slots, ruletas desplazandolo hacia el pelo demas juegos de casino online. Muchas veces, puedes apartar nuestro bono de casino de 5 euros de balde sin tanque posteriormente de apostar\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-70846","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70846","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=70846"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70846\/revisions"}],"predecessor-version":[{"id":70847,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/70846\/revisions\/70847"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=70846"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=70846"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=70846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}