<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Besige Breintjies</provider_name><provider_url>https://besigebreintjies.co.za/af</provider_url><author_name>Michelle Henningse</author_name><author_url>https://besigebreintjies.co.za/af/author/michellebesige/</author_url><title>Ice cream in a bag - Besige Breintjies</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="UuzaagPort"&gt;&lt;a href="https://besigebreintjies.co.za/af/ice-cream-in-a-bag/"&gt;Ice cream in a bag&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://besigebreintjies.co.za/af/ice-cream-in-a-bag/embed/#?secret=UuzaagPort" width="600" height="338" title="&#x201C;Ice cream in a bag&#x201D; &#x2014; Besige Breintjies" data-secret="UuzaagPort" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/**
 * WordPress inline HTML embed
 *
 * @since 4.4.0
 * @output wp-includes/js/wp-embed.js
 *
 * Single line comments should not be used since they will break
 * the script when inlined in get_post_embed_html(), specifically
 * when the comments are not stripped out due to SCRIPT_DEBUG
 * being turned on.
 */
(function ( window, document ) {
	'use strict';

	/* Abort for ancient browsers. */
	if ( ! document.querySelector || ! window.addEventListener || typeof URL === 'undefined' ) {
		return;
	}

	/** @namespace wp */
	window.wp = window.wp || {};

	/* Abort if script was already executed. */
	if ( !! window.wp.receiveEmbedMessage ) {
		return;
	}

	/**
	 * Receive embed message.
	 *
	 * @param {MessageEvent} e
	 */
	window.wp.receiveEmbedMessage = function( e ) {
		var data = e.data;

		/* Verify shape of message. */
		if (
			! ( data || data.secret || data.message || data.value ) ||
			/[^a-zA-Z0-9]/.test( data.secret )
		) {
			return;
		}

		var iframes = document.querySelectorAll( 'iframe[data-secret="' + data.secret + '"]' ),
			blockquotes = document.querySelectorAll( 'blockquote[data-secret="' + data.secret + '"]' ),
			allowedProtocols = new RegExp( '^https?:$', 'i' ),
			i, source, height, sourceURL, targetURL;

		for ( i = 0; i &lt; blockquotes.length; i++ ) {
			blockquotes[ i ].style.display = 'none';
		}

		for ( i = 0; i &lt; iframes.length; i++ ) {
			source = iframes[ i ];

			if ( e.source !== source.contentWindow ) {
				continue;
			}

			source.removeAttribute( 'style' );

			if ( 'height' === data.message ) {
				/* Resize the iframe on request. */
				height = parseInt( data.value, 10 );
				if ( height &gt; 1000 ) {
					height = 1000;
				} else if ( ~~height &lt; 200 ) {
					height = 200;
				}

				source.height = height;
			} else if ( 'link' === data.message ) {
				/* Link to a specific URL on request. */
				sourceURL = new URL( source.getAttribute( 'src' ) );
				targetURL = new URL( data.value );

				if (
					allowedProtocols.test( targetURL.protocol ) &amp;&amp;
					targetURL.host === sourceURL.host &amp;&amp;
					document.activeElement === source
				) {
					window.top.location.href = data.value;
				}
			}
		}
	};

	function onLoad() {
		var iframes = document.querySelectorAll( 'iframe.wp-embedded-content' ),
			i, source, secret;

		for ( i = 0; i &lt; iframes.length; i++ ) {
			/** @var {IframeElement} */
			source = iframes[ i ];

			secret = source.getAttribute( 'data-secret' );
			if ( ! secret ) {
				/* Add secret to iframe */
				secret = Math.random().toString( 36 ).substring( 2, 12 );
				source.src += '#?secret=' + secret;
				source.setAttribute( 'data-secret', secret );
			}

			/*
			 * Let post embed window know that the parent is ready for receiving the height message, in case the iframe
			 * loaded before wp-embed.js was loaded. When the ready message is received by the post embed window, the
			 * window will then (re-)send the height message right away.
			 */
			source.contentWindow.postMessage( {
				message: 'ready',
				secret: secret
			}, '*' );
		}
	}

	window.addEventListener( 'message', window.wp.receiveEmbedMessage, false );
	document.addEventListener( 'DOMContentLoaded', onLoad, false );
})( window, document );
//# sourceURL=https://besigebreintjies.co.za/wp-includes/js/wp-embed.js
&lt;/script&gt;</html><thumbnail_url>https://besigebreintjies.co.za/wp-content/uploads/2021/09/ice-cream-in-a-bag.png</thumbnail_url><thumbnail_width>1500</thumbnail_width><thumbnail_height>845</thumbnail_height><description>You will need: &#xBD; cup milk &#xBD; cup cream 2 tablespoons sugar A pinch of salt 6 tablespoons kosher or rock salt Ice (about 2 trays) 1 small resealable bag 1 large resealable bag Toppings of your choice Different flavours: Vanilla: 1 teaspoon vanilla extract Chocolate: 1 tablespoon chocolate syrup Strawberry: &#xBC; cup of crushed strawberries Directions: In the small bag, combine the milk, cream, sugar, a pinch of salt and flavouring of choice, removing the air and sealing tightly. Combine the ice and salt in the larger bag. Place the small bag inside the bigger bag and massage and shake the bag until the picture becomes the consistency of ice cream, about 7-10 minutes. You can use a kitchen towel or oven mitts to protect your hand from the cold. Remove the ice cream bag from the larger bag and rinse off excess salt. Enjoy with your favourite ice cream toppings.</description></oembed>
