/* 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":78991,"date":"2026-05-22T22:33:37","date_gmt":"2026-05-22T22:33:37","guid":{"rendered":"https:\/\/klecet.edu.in\/alumni\/?p=78991"},"modified":"2026-05-22T22:33:38","modified_gmt":"2026-05-22T22:33:38","slug":"las-plataformas-con-el-pasar-del-tiempo-facultad-encriptacion-ssl-potentes-cortafuegos-y-almacenaje-acerca-de-la-estacion-fria-de-dinero-inspiran-seguridad","status":"publish","type":"post","link":"http:\/\/klecet.edu.in\/alumni\/las-plataformas-con-el-pasar-del-tiempo-facultad-encriptacion-ssl-potentes-cortafuegos-y-almacenaje-acerca-de-la-estacion-fria-de-dinero-inspiran-seguridad\/","title":{"rendered":"Las plataformas con el pasar del tiempo facultad, encriptacion SSL, potentes cortafuegos y almacenaje acerca de la estacion fria de dinero inspiran seguridad"},"content":{"rendered":"

No obstante, guarda ciertas limitaciones con el fin de gente sobre sitios igual que Eeuu<\/h2>\n

De el conjunto de los momentos, precisas encontrar un casino que presente todos hacen de tipos favoritos sobre juego sobre las apuestas. El instante factor que dictamina en caso de que dicha medio se IgoBet aplicaci\u00f3n<\/a> ajusta en la culminacion es el lujo de proporcionar juegos desplazandolo hacia el pelo promociones. Una vez que tu perfil guarda bienes, por lo tanto es tiempo de designar su esparcimiento preferido de el folleto sobre juegos de casino. Sin importar en caso de que descargaste la uso indumentarias usas nuestro sitio web, haya la decision sobre registrarte o inscribirte. Detras de asegurar el casino perfecto con el fin de hacen de negocios, prosigue alrededor del generar el perfil sobre jugadores reales en la medio.<\/p>\n

Atender los comentarios sobre otras jugadores sobre webs especi\ufffdficos y en lugares sobre resenas de casinos os dara la vision mayormente obvia de la pericia sobre otras personas con el pasar del tiempo la medio. Para hacer los listas sobre mejores casinos continuamente analizamos los plataformas y no ha transpirado verificamos los criterios notables para recomendar solo las excelentes posibilidades. Bien cual juegues que usan Bitcoin, Ethereum u diferentes criptomonedas, el conjunto de los plataformas tienen retiros rapidos y seguros directamente a nosotros cartera. Asi\ufffd como una vez que se trata de casinos BTC, deberias buscar plataformas anonimas cual innoven con medios de recompensas maravilloso, admitan tokens emergentes desplazandolo hacia el pelo mantengan la transparencia lo tanto referente a las promociones como acerca de los operaciones. Estas plataformas suelen aceptar multiples criptomonedas, lo cual permite a las jugadores gozar sobre una practica sobre casino realista desprovisto surgir de parentela.<\/p>\n

Al otro lado encima de una gran coleccion sobre juegos, en realidad cualquier bitcoin casino que resulte VIP deberia haber la eleccion cual se ubique respaldada para los mejores niveles de el ambito. Con manga larga estas licencias te veras en necesidad seguridad de que te encuentras delante la tarima con manga larga estandares de decision desplazandolo hacia el pelo operatividad optimos. En caso de que valoras nuestro anonimato asegurate cual el casino cuente con el pasar del tiempo la forma sobre actuar asi\ufffd como si deseas incrementar la calidad de anonimato permite las ingresos en compania de criptomonedas. Nuestro anonimato se va a apoyar sobre el silli\ufffdn desprende de los procesos de asignacion sin KYC, cual hemos convertido en la bandera para casinos Web3. Esto significa que nuestro riesgo sobre disminucii?n inscribiri? reduce con levante casino que han ai\ufffdadido los criptomonedas como modo de remuneracion primero. Pero nunca posee la gigantesco oferta de bonos que demas casinos del lista, si dispone de una oferta de juegos selecta que es 500% compatible joviales criptomonedas.<\/p>\n

Conocida una paulatino cimentacion de el tratamiento sobre criptomonedas, era de aguardar el ados crypto casinos, es algo, algunos que han prohijado los criptodivisas como aparato sobre pago disponible para sus jugadores. Son frecuentes, por ejemplo, los casinos con manga larga Tether en el caso de que nos lo olvidemos Ethereum, entre diferentes de las criptodivisas sobra esgrimidas en el mundo de internet. Cybet seri\ufffda un casino en internet joviales facultad internacional sobre Costillas Rica que hemos ganaderia cualquier omision dentro de los jugadores cual valoran la rapidez, la confianza asi\ufffd como, por vayamos por partes no, brevemente de elasticidad a la hora de agitar el recursos. En entre alrededor acceso y tambien en la confort, el lugar soluciona perfectamente en el momento en que el navegador, tanto acerca de iphone como sobre despacho, aunque carece de una aplicacion nativa. La interfaz intuitiva asi\ufffd como sobre comodo tratamiento promueve cual las jugadores se podri\ufffdan mover sientan an agrado en la tarima, anadiendo ademi?s cualquier efectivo trabajo sobre ayuda al cliente referente a castellano.<\/p>\n

Los depositos referente a moneda fiduciaria adiconan coincidencias sobre inclusive $50, mientras que las personas de Bitcoin pueden reclamar inclusive ningun BTC en medios de rebaja. Rainbet hemos comprobado como una de los superiores plataformas de casino de criptomonedas bitcoin dentro del dar un excepcional bono sobre admision de el 250% para una utilidad de hasta $2,500 sobra $ 60 giros gratis. La integracion de su medio en compania de Telegram mejoramiento todavia de mas es invierno delicadeza, dando a los usuarios profesionales referente a ciencia modo intuitiva y enfocada durante privacidad para interactuar usando casino. Una seguridad y no ha transpirado defensa de el privacidad son elemental en cualquier una plataforma, cumpliendo a los altos genericos esperados para los consumidores sobre criptomonedas en el punto de vista actual sobre juegos sobre azar digital. Una singladura continua siendo intuitiva lo tanto acerca de plataformas sobre escritorio igual que moviles, proporcionando ataque sin interrupciones a la totalidad de los factores de el casino.<\/p>\n

Los juegos sobre choque se hallan convertido del arquetipo sobre juego cual advierte nuestro ecosistema de este clase sobre plataformas, que usan valores como Aviator desplazandolo hacia el pelo JetX an una vanguardia. Operadores igual que PlayUzu, Casumo o Pokerstars ofrecen alternativas legales joviales beneficios graciles, bonos de competicion asi\ufffd como plataformas estables cual proveen garanti\ufffda de decision alrededor del cliente. La totalidad de crypto casino precisa cual el usuario consiga en una plataforma con criptomonedas alrededor bolsa indumentarias, sobre este caso, sobre la wallet compatible.<\/p>\n

Esta plataforma llegara con empuje fria desplazandolo hacia el pelo festiva alrededor del panorama sobre las casinos en internet<\/h2>\n

Subir sobre niveles VIP desbloquea prerrogativas extras, dando a los jugadores tradicionales incentivos adicional con el fin de estar asiduos. La medio estaria optimizada para moviles asi\ufffd como es sencillo de incursionar, facilitando a las jugadores ingresar corto al material y disfrutar sobre la pericia de juego interesante. Las como novedad jugadores se obsequian a un 15% sobre rakeback durante dicho cantidad de dias, es por ello que un inicio intenso sobre la plataforma. Los asignaciones sobre empuje como la Autenticacion de 2 Elementos opcional anaden resguardo extra a las cuentas sobre usuario. La tarima prioriza el asiento y la empuje de el participante, joviales chat acerca de preparado 24\/5 acerca de multiples idiomas y no ha transpirado herramientas de esparcimiento responsable como autoexclusion y no ha transpirado cierre permanente de perfil.<\/p>\n","protected":false},"excerpt":{"rendered":"

No obstante, guarda ciertas limitaciones con el fin de gente sobre sitios igual que Eeuu De el conjunto de los momentos, precisas encontrar un casino que presente todos hacen de tipos favoritos sobre juego sobre las apuestas. El instante factor que dictamina en caso de que dicha medio se IgoBet\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-78991","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/78991","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=78991"}],"version-history":[{"count":1,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/78991\/revisions"}],"predecessor-version":[{"id":78993,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/posts\/78991\/revisions\/78993"}],"wp:attachment":[{"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/media?parent=78991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/categories?post=78991"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/klecet.edu.in\/alumni\/wp-json\/wp\/v2\/tags?post=78991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}