/* 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":133539,"date":"2026-05-25T20:49:24","date_gmt":"2026-05-25T20:49:24","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=133539"},"modified":"2026-05-25T20:49:25","modified_gmt":"2026-05-25T20:49:25","slug":"mobile-ports-cobber-casino-mobile-app-play-the-best-online-thumb-game-on-your-mobile-visa-features","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/mobile-ports-cobber-casino-mobile-app-play-the-best-online-thumb-game-on-your-mobile-visa-features\/","title":{"rendered":"Mobile Ports cobber casino mobile app Play the Best Online thumb game on your Mobile Visa Features"},"content":{"rendered":"

Play https:\/\/bcasino-casino-nz.com\/<\/a> free ports online rather than talking about unpleasant pop-ups or very long packing moments. Such game change easy spinning to the interactive adventures that have present spins, expanding wilds, and you can multipliers that can drastically boost your virtual winnings. Have the sentimental appeal out of vintage ports you to take the new essence out of old-fashioned casino gambling.<\/p>\n

Very promos come with wagering criteria, game restrictions, and you can date restrictions, so always check the new fine print. The new free casino slot as well as thinks outside the box out of bonus has, bringing free spins, re-spins, sticky symbols, expanding multipliers, and more. Known for ambitious templates and you can creative mechanics such as DuelReels and you can FeatureSpins, Hacksaw has quickly carved away a reputation to have high-volatility ports that have massive win potential. The new Swedish iGaming powerhouse has motivated the new wide world time and date again, giving landmark innovations such as three dimensional image and you can tumbling reels (which they call Avalanche reels). After until the bonus cycles, you\u2019ll find free spins, sticky wilds, converting symbols, expanding reels, award find has, and more.<\/p>\n

Our line of demo ports allows you to benefit from the thrill out of spinning reels without any trouble of creating an account or downloading one app. Whether or not you\u2019re also investigating the new Megaways, jackpots, or vintage game, or just experimenting with the new steps prior to to play for real currency, this is where fun fits freedom. I love casinos and have been working in the new ports world for over a dozen years. Such replenish over the years or after you rejuvenate the game, allowing you to keep to play rather than spending real money. No need to risk your protection and you can waste time inputting address details to have a go on your favourite game. More than, we offer a list of factors to adopt when to play free online slots for real currency to find the best of them.<\/p>\n

It\u2019s low volatility, available for frequent, shorter wins, and it has something easy\u2014no much time bonus cycles. It\u2019s high volatility, that have a good listed RTP out of 96.21% and you can a good 5,000x max win, as well as an optional play feature anywhere between wins. Jam Jar wilds property, pick up multipliers, and you can \u201cwalk\u201d along the dancefloor, flipping short strikes to the chunky winnings. Just check out the vendor\u2019s name on the search bar and try our page serious about it and its particular best ports. Because you spin the new reels, you\u2019ll come across interactive bonus has, amazing graphics, and you can steeped sound effects you to transportation you to the heart out of the game. As they might not boast the new flashy image of modern videos ports, vintage ports give a pure, unadulterated gambling feel.<\/p>\n

It has group-design or means-to-win mechanics, depending on the configuration used by the new casino. You could enter the free spins bullet thanks to step 3 or more scatters, where the game brings up high multipliers and additional Wilds. The new winnings here are much more uniform, and the slot\u2019s 5\u00d7step 3 design has expanding wilds. Of course, the new winnings will be the chief attraction, and you can even after a modest 5,000x max win, Fantasy Princess delivers great step as it is most notable low in volatility than the most modern launches.<\/p>\n

Basically, if you have five or half a dozen matching symbols all the in this a good room of every most other, you could win, even if the symbols don\u2019t start on the original reel. Slots have come a long way on the old days after they all the looked a single spinning reel and a few symbols. Very multipliers is lower than 5x, but some free slots has 100x multipliers or more. Certain casino pros guess you to up to 30% out of a slot\u2019s RTP stems from free spin wins, so such cycles are very important in fact. Of many game feature special symbols you to, when caused, is also activate massive paydays or other has.<\/p>\n

Demo ports use the same gameplay mechanics, paylines and features as the real-currency models. I support safe gambling sense and you can prompt in control play at all moments. Play on iphone, Android or desktop web browsers no matter where you\u2019re. Demo ports are made for free play, allowing you to enjoy online slots without using real money. They are vintage game, jackpot ports and you can branded launches which might be attractive to Uk players. Talk about free casino-design demo game beyond old-fashioned ports, as well as Plinko, crash game and you can instant-win headings.<\/p>\n

The new Thunderstruck II status is part of Microgaming\u2019s 243 A way to Win diversity (most other they are Immortal Romance and the Playboy Slot machine). You could\u2019t change the amount of active invest lines (it\u2019s not that type of slot), you could change your bet amount of road. The new Thunderstruck dos Status is a keen cobber casino mobile app glamorous game and one out of Microgaming\u2019s classics as well as Immortal Dating! Vegas favorites, sentimental classics, and you can private strikes\u2014DoubleDown Casino has it all!<\/p>\n

Hackaw Gambling also offers a good harmony out of average and you can high volatility ports, while you\u2019ll be hard-pushed to find low volatility ports that have a keen RTP on the 98% diversity. As a result when not here are some Hacksaw for those who such as away-of-the-box slot game. Hacksaw Gambling ports tend to have creative templates that you won\u2019t find anywhere else. They\u2019re also beefed up that have a certain templates, soundtracks and you can different features for maximum entertainment. Such ports generally feature trending mechanics such as Flowing Reels, Megaways, Keep and you can Win, Free Spins bonuses, random causes \u2013 and more. There is special tournaments, bonus drops or coin bundles with more free South carolina available for a limited date.<\/p>\n

Free ports is virtual slots that you can enjoy rather than the need to bet real money. All the online slots is personally available on all the browser, so you can play rather than downloading something directly from SlotJava or by the connecting to the casino site. Yes, you could play all new ports, such as the free demo models, on your mobile phone.<\/p>\n

Highlights are expanding reels, the new Lock and you can Respin feature, and you can x100 multipliers. Here, you\u2019ll again be transferred so you can ancient Egypt. In addition to causing the new Monster Brawls, scatters is also award up to 100x multipliers. Based on how of many scatters caused that it bonus, you\u2019ll get bigger awards. The new Megaline bonus will allow you to property much more wins along the reels. One reels that have at least one successful icon tend to nudge off you to reel status.<\/p>\n

Today, very slot machine admirers like to play on mobile or a good tablet, as opposed to desktop. It\u2019s worth applying to the new mailing lists and you can joining in the the new free tournaments to find limit likelihood of free Sweepstakes Gold coins You could play at the sweepstake casinos, that are free to play social casinos and offer the danger so you can redeem wins to have awards. That being said, there are some ways you can score a slight risk of bringing currency to the you savings account, by the redeeming wins, if you live in america. Well, the fact is that if your casinos welcome that it, they would all the wade bankrupt in this weeks. Betsoft (create three dimensional Ports, as well as Gladiator, Lucky 7, The new Slotfather, Sugar Pop, dos Million BC and you can Boomanji)<\/p>\n

Listed below are the new steps to love such exciting game rather than spending a dime. That have a thorough type of templates, out of fruit and you can pets so you can mighty Gods, our line of play-free online ports has something for everyone. Free slot machine will be the prime hobby when you has time to kill.<\/p>\n

Certain online casinos give loyal casino apps too, but if you are concerned about taking up room on your device, we recommend the new in the-browser option. That have mobile gambling, you either play game personally through your browser or download a slot game app. One ports that have fun bonus cycles and you can big names is popular that have ports players. Don\u2019t forget, you can also here are some our casino reviews for those who\u2019re also looking for free casinos so you can download.<\/p>\n","protected":false},"excerpt":{"rendered":"

Play https:\/\/bcasino-casino-nz.com\/ free ports online rather than talking about unpleasant pop-ups or very long packing moments. Such game change easy spinning to the interactive adventures that have present spins, expanding wilds, and you can multipliers that can drastically boost your virtual winnings. Have the sentimental appeal out of vintage ports\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-133539","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133539","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=133539"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133539\/revisions"}],"predecessor-version":[{"id":133540,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/133539\/revisions\/133540"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=133539"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=133539"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=133539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}