1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5<meta charset="UTF-8"> 6<meta name="viewport" content="width=device-width, initial-scale=1"> 7<link rel="profile" href="http://gmpg.org/xfn/11"> 8<link rel="pingback" href="https://samlearnsazure.blog/xmlrpc.php"> 9 10<title>About this blog – Sam Learns Azure</title> 11<meta name='robots' content='max-image-preview:large' /> 12 13<!-- Async WordPress.com Remote Login -->
14<script id="wpcom_remote_login_js"> 15var wpcom_remote_login_extra_auth = ''; 16function wpcom_remote_login_remove_dom_node_id( element_id ) { 17 var dom_node = document.getElementById( element_id ); 18 if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); } 19} 20function wpcom_remote_login_remove_dom_node_classes( class_name ) { 21 var dom_nodes = document.querySelectorAll( '.' + class_name ); 22 for ( var i = 0; i < dom_nodes.length; i++ ) { 23 dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] ); 24 } 25} 26function wpcom_remote_login_final_cleanup() { 27 wpcom_remote_login_remove_dom_node_classes( "wpcom_remote_login_msg" ); 28 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" ); 29 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_validate" ); 30 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_js" ); 31 wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_iframe" ); 32 wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_styles" ); 33} 34 35// Watch for messages back from the remote login 36window.addEventListener( "message", function( e ) { 37 if ( e.origin === "https://r-login.wordpress.com" ) { 38 var data = {}; 39 try { 40 data = JSON.parse( e.data ); 41 } catch( e ) { 42 wpcom_remote_login_final_cleanup(); 43 return; 44 } 45 46 if ( data.msg === 'LOGIN' ) { 47 // Clean up the login check iframe 48 wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" ); 49 50 var id_regex = new RegExp( /^[0-9]+$/ ); 51 var token_regex = new RegExp( /^.*|.*|.*$/ ); 52 if ( 53 token_regex.test( data.token ) 54 && id_regex.test( data.wpcomid ) 55 ) { 56 // We have everything we need to ask for a login 57 var script = document.createElement( "script" ); 58 script.setAttribute( "id", "wpcom_remote_login_validate" ); 59 script.src = '/remote-login.php?wpcom_remote_login=validate' 60 + '&wpcomid=' + data.wpcomid 61 + '&token=' + encodeURIComponent( data.token ) 62 + '&host=' + window.location.protocol 63 + '//' + window.location.hostname 64 + '&postid=33' 65 + '&is_singular='; 66 document.body.appendChild( script ); 67 } 68 69 return; 70 } 71 72 // Safari ITP, not logged in, so redirect 73 if ( data.msg === 'LOGIN-REDIRECT' ) { 74 window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href; 75 return; 76 } 77 78 // Safari ITP, storage access failed, remove the request 79 if ( data.msg === 'LOGIN-REMOVE' ) { 80 var css_zap = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } @media screen and ( max-width: 782px ) { html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } }'; 81 var style_zap = document.createElement( 'style' ); 82 style_zap.type = 'text/css'; 83 style_zap.appendChild( document.createTextNode( css_zap ) ); 84 document.body.appendChild( style_zap ); 85 86 var e = document.getElementById( 'wpcom_request_access_iframe' ); 87 e.parentNode.removeChild( e ); 88 89 document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000'; 90 91 return; 92 } 93 94 // Safari ITP 95 if ( data.msg === 'REQUEST_ACCESS' ) { 96 console.log( 'request access: safari' ); 97 98 // Check ITP iframe enable/disable knob 99 if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) { 100 return; 101 } 102 103 // If we are in a "private window" there is no ITP. 104 var private_window = false; 105 try { 106 var opendb = window.openDatabase( null, null, null, null ); 107 } catch( e ) { 108 private_window = true; 109 } 110 111 if ( private_window ) { 112 console.log( 'private window' ); 113 return; 114 } 115 116 var iframe = document.createElement( 'iframe' ); 117 iframe.id = 'wpcom_request_access_iframe'; 118 iframe.setAttribute( 'scrolling', 'no' ); 119 iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' ); 120 iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid ); 121 122 var css = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 46px !important; } * html body { margin-top: 46px !important; } @media screen and ( max-width: 660px ) { html { margin-top: 71px !important; } * html body { margin-top: 71px !important; } #wpcom_request_access_iframe { display: block; height: 71px !important; } } #wpcom_request_access_iframe { border: 0px; height: 46px; position: fixed; top: 0; left: 0; width: 100%; min-width: 100%; z-index: 99999; background: #23282d; } '; 123 124 var style = document.createElement( 'style' ); 125 style.type = 'text/css'; 126 style.id = 'wpcom_request_access_styles'; 127 style.appendChild( document.createTextNode( css ) ); 128 document.body.appendChild( style ); 129 130 document.body.appendChild( iframe ); 131 } 132 133 if ( data.msg === 'DONE' ) { 134 wpcom_remote_login_final_cleanup(); 135 } 136 } 137}, false ); 138 139// Inject the remote login iframe after the page has had a chance to load 140// more critical resources 141window.addEventListener( "DOMContentLoaded", function( e ) { 142 var iframe = document.createElement( "iframe" );
143 iframe.style.display = "none"; 144 iframe.setAttribute( "scrolling", "no" ); 145 iframe.setAttribute( "id", "wpcom_remote_login_key" ); 146 iframe.src = "https://r-login.wordpress.com/remote-login.php" 147 + "?wpcom_remote_login=key" 148 + "&origin=aHR0cHM6Ly9zYW1sZWFybnNhenVyZS5ibG9n" 149 + "&wpcomid=157191818" 150 + "&time=" + Math.floor( Date.now() / 1000 ); 151 document.body.appendChild( iframe ); 152}, false ); 153</script>
153 154<link rel='dns-prefetch' href='//s2.wp.com' /> 155<link rel='dns-prefetch' href='//wordpress.com' /> 156<link rel='dns-prefetch' href='//fonts-api.wp.com' /> 157<link rel='dns-prefetch' href='//s1.wp.com' /> 158<link rel='dns-prefetch' href='//s0.wp.com' /> 159<link rel="alternate" type="application/rss+xml" title="Sam Learns Azure » Feed" href="https://samlearnsazure.blog/feed/" /> 160<link rel="alternate" type="application/rss+xml" title="Sam Learns Azure » Comments Feed" href="https://samlearnsazure.blog/comments/feed/" /> 161
161<script type="text/javascript"> 162 /* <![CDATA[ */ 163 function addLoadEvent(func) { 164 var oldonload = window.onload; 165 if (typeof window.onload != 'function') { 166 window.onload = func; 167 } else { 168 window.onload = function () { 169 oldonload(); 170 func(); 171 } 172 } 173 } 174 /* ]]> */ 175 </script>
175 176 <style id="wp-img-auto-sizes-contain-inline-css"> 177img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 178/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 179</style> 180<link crossorigin='anonymous' rel='stylesheet' id='all-css-2-1' href='/wp-content/mu-plugins/likes/jetpack-likes.css?m=1743883414i&cssminify=yes' type='text/css' media='all' /> 181<style id="wp-emoji-styles-inline-css"> 182 183 img.wp-smiley, img.emoji { 184 display: inline !important; 185 border: none !important; 186 box-shadow: none !important; 187 height: 1em !important; 188 width: 1em !important; 189 margin: 0 0.07em !important; 190 vertical-align: -0.1em !important; 191 background: none !important; 192 padding: 0 !important; 193 } 194/*# sourceURL=wp-emoji-styles-inline-css */ 195</style> 196<style id="wp-block-library-inline-css"> 197:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
197--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 198 199/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/common.min.css */ 200</style> 201<style id="wp-block-image-inline-css"> 202.wp-block-image>a,.wp-block-image>figure>a{display:inline-block}.wp-block-image img{box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom}@media not (prefers-reduced-motion){.wp-block-image img.hide{visibility:hidden}.wp-block-image img.show{animation:show-content-image .4s}}.wp-block-image[style*=border-radius] img,.wp-block-image[style*=border-radius]>a{border-radius:inherit}.wp-block-image.has-custom-border img{box-sizing:border-box}.wp-block-image.aligncenter{text-align:center}.wp-block-image.alignfull>a,.wp-block-image.alignwide>a{width:100%}.wp-block-image.alignfull img,.wp-block-image.alignwide img{height:auto;width:100%}.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright{display:table}.wp-block-image .aligncenter>figcaption,.wp-block-image .alignleft>figcaption,.wp-block-image .alignright>figcaption,.wp-block-image.aligncenter>figcaption,.wp-block-image.alignleft>figcaption,.wp-block-image.alignright>figcaption{caption-side:bottom;display:table-caption}.wp-block-image .alignleft{float:left;margin:.5em 1em .5em 0}.wp-block-image .alignright{float:right;margin:.5em 0 .5em 1em}.wp-block-image .aligncenter{margin-left:auto;margin-right:auto}.wp-block-image :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-image.is-style-circle-mask img{border-radius:9999px}@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none){.wp-block-image.is-style-circle-mask img{border-radius:0;-webkit-mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/></svg>');mask-mode:alpha;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}}:root :where(.wp-block-image.is-style-rounded img,.wp-block-image .is-style-rounded img){border-radius:9999px}.wp-block-image figure{margin:0}.wp-lightbox-container{display:flex;flex-direction:column;position:relative}.wp-lightbox-container img{cursor:zoom-in}.wp-lightbox-container img:hover+button{opacity:1}.wp-lightbox-container button{align-items:center;backdrop-filter:blur(16px) saturate(180%);background-color:rgba(90,90,90,.25);border:none;border-radius:4px;cursor:zoom-in;display:flex;height:20px;justify-content:center;opacity:0;padding:0;position:absolute;right:16px;text-align:center;top:16px;width:20px;z-index:100}@media not (prefers-reduced-motion){.wp-lightbox-container button{transition:opacity .2s ease}}.wp-lightbox-container button:focus-visible{outline:3px auto rgba(90,90,90,.25);outline:3px auto -webkit-focus-ring-color;outline-offset:3px}.wp-lightbox-container button:hover{cursor:pointer;opacity:1}.wp-lightbox-container button:focus{opacity:1}.wp-lightbox-container button:focus,.wp-lightbox-container button:hover,.wp-lightbox-container button:not(:hover):not(:active):not(.has-background){background-color:rgba(90,90,90,.25);border:none}.wp-lightbox-overlay{box-sizing:border-box;
202cursor:zoom-out;height:100vh;left:0;overflow:hidden;position:fixed;top:0;visibility:hidden;width:100%;z-index:100000}.wp-lightbox-overlay .wp-lightbox-close-button{align-items:center;cursor:pointer;display:flex;font-family:inherit;gap:8px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 4px;position:absolute;right:calc(env(safe-area-inset-right) + 16px);top:calc(env(safe-area-inset-top) + 16px);z-index:5000000}.wp-lightbox-overlay .wp-lightbox-close-button:focus,.wp-lightbox-overlay .wp-lightbox-close-button:hover,.wp-lightbox-overlay .wp-lightbox-close-button:not(:hover):not(:active):not(.has-background){background:none;border:none}.wp-lightbox-overlay .wp-lightbox-close-button:has(.wp-lightbox-close-text:not([hidden])) .wp-lightbox-close-icon svg{height:1em;width:1em}.wp-lightbox-overlay .wp-lightbox-close-icon svg{display:block}.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{align-items:center;bottom:16px;cursor:pointer;display:flex;font-family:inherit;gap:4px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0 8px;position:absolute;z-index:2000002}.wp-lightbox-overlay .wp-lightbox-navigation-button-next[hidden],.wp-lightbox-overlay .wp-lightbox-navigation-button-prev[hidden]{display:none}@media (min-width:960px){.wp-lightbox-overlay .wp-lightbox-navigation-button-next,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{bottom:50%;transform:translateY(-50%)}}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-next:not(:hover):not(:active):not(.has-background),.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:focus,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:hover,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:not(:hover):not(:active):not(.has-background){background:none;border:none;padding:0 8px}.wp-lightbox-overlay .wp-lightbox-navigation-button-next:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg,.wp-lightbox-overlay .wp-lightbox-navigation-button-prev:has(.wp-lightbox-navigation-text:not([hidden])) .wp-lightbox-navigation-icon svg{display:block;height:1.5em;width:1.5em}.wp-lightbox-overlay .wp-lightbox-navigation-button-prev{left:calc(env(safe-area-inset-left) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-button-next{right:calc(env(safe-area-inset-right) + 16px)}.wp-lightbox-overlay .wp-lightbox-navigation-icon svg{vertical-align:middle}.wp-lightbox-overlay .lightbox-image-container{height:var(--wp--lightbox-container-height);left:50%;overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);transform-origin:top left;width:var(--wp--lightbox-container-width);z-index:2000001}.wp-lightbox-overlay .wp-block-image{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:center;margin:0;position:relative;transform-origin:0 0;width:100%;z-index:3000000}.wp-lightbox-overlay .wp-block-image img{height:var(--wp--lightbox-image-height);min-height:var(--wp--lightbox-image-height);min-width:var(--wp--lightbox-image-width);width:var(--wp--lightbox-image-width)}.wp-lightbox-overlay .wp-block-image figcaption{display:none}.wp-lightbox-overlay button{background:none;border:none}.wp-lightbox-overlay .scrim{background-color:#fff;height:100%;opacity:.9;position:absolute;width:100%;z-index:2000000}.wp-lightbox-overlay.active{visibility:visible}@media not (prefers-reduced-motion){.wp-lightbox-overlay.active{animation:turn-on-visibility .25s both}.wp-lightbox-overlay.active img{animation:turn-on-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active){animation:turn-off-visibility .35s both}.wp-lightbox-overlay.show-closing-animation:not(.active) img{animation:turn-off-visibility .25s both}.wp-lightbox-overlay.zoom.active{animation:none;opacity:1;visibility:visible}.wp-lightbox-overlay.zoom.active .lightbox-image-container{animation:lightbox-zoom-in .4s}.wp-lightbox-overlay.zoom.active .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.active .scrim{animation:turn-on-visibility .4s forwards}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active){animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container{animation:lightbox-zoom-out .4s}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img{animation:none}.wp-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim{animation:turn-off-visibility .4s forwards}}
202@keyframes show-content-image{0%{visibility:hidden}99%{visibility:hidden}to{visibility:visible}}@keyframes turn-on-visibility{0%{opacity:0}to{opacity:1}}@keyframes turn-off-visibility{0%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes lightbox-zoom-in{0%{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale))}to{transform:translate(-50%,-50%) scale(1)}}@keyframes lightbox-zoom-out{0%{transform:translate(-50%,-50%) scale(1);visibility:visible}99%{visibility:visible}to{transform:translate(calc((-100vw + var(--wp--lightbox-scrollbar-width))/2 + var(--wp--lightbox-initial-left-position)),calc(-50vh + var(--wp--lightbox-initial-top-position))) scale(var(--wp--lightbox-scale));visibility:hidden}} 203/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/image/style.min.css */ 204</style> 205<style id="wp-block-list-inline-css"> 206ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:var(--wp--style--block-background-padding,1.25em 2.375em)} 207/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/list/style.min.css */ 208</style> 209<style id="wp-block-paragraph-inline-css"> 210.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:var(--wp--style--block-background-padding,1.25em 2.375em)}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg} 211/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/paragraph/style.min.css */ 212</style> 213<style id="wp-block-library-inline-css-extra"> 214.has-text-align-justify { 215 text-align:justify; 216} 217.has-text-align-justify{text-align:justify;} 218/*# sourceURL=wp-block-library-inline-css */ 219</style> 220 221<style id="classic-theme-styles-inline-css"> 222.wp-block-button__link{background-color:#32373c;border-radius:9999px;box-shadow:none;color:#fff;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-file__button{background:#32373c;color:#fff}.wp-block-accordion-heading{margin:0}.wp-block-accordion-heading__toggle{background-color:inherit!important;color:inherit!important}.wp-block-accordion-heading__toggle:not(:focus-visible){outline:none}.wp-block-accordion-heading__toggle:focus,.wp-block-accordion-heading__toggle:hover{background-color:inherit!important;border:none;box-shadow:none;color:inherit;padding:var(--wp--preset--spacing--20,1em) 0;text-decoration:none}.wp-block-accordion-heading__toggle:focus-visible{outline:auto;outline-offset:0}.wp-block-tab:not(.has-text-color){color:inherit!important}.wp-block-tab:not(.has-background){background-color:inherit!important}.wp-block-tab:focus,.wp-block-tab:hover{text-decoration:none}.wp-block-tab:focus-visible{outline:auto;outline-offset:0} 223/*# sourceURL=/wp-content/plugins/gutenberg-core/v24.0.0/build/styles/block-library/classic.min.css */ 224</style> 225 226<style id="coblocks-inline-format-inline-css"> 227.uppercase{text-transform:uppercase} 228/*# sourceURL=coblocks-inline-format-inline-css */ 229</style> 230<link crossorigin='anonymous' rel='stylesheet' id='all-css-12-1' href='/_static/??-eJx9jEEOAiEQBD/kQECjeDC+ZWEnijIwYWA3/l72op689KFTVXplCCU3zE1z6reYRYfiUwlP0VYZpwxIJE4IFRd10HOU9iFA2iuhCiI7/ROiDt9WxfETT20jCOc4YUIa2D9t5eGA91xRBMZS7ATtPkTZvCtdzNEZt7f2fHq8Afl7R7w=&cssminify=yes' type='text/css' media='all' /> 231<style id="global-styles-inline-css"> 232:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--primary: #33bbcc;--wp--preset--color--secondary: #0d95a6;--wp--preset--color--accent: #fa023e;--wp--preset--color--highlight: #48a60d;
232--wp--preset--color--light-gray: #dddddd;--wp--preset--color--gray: #808080;--wp--preset--color--dark-gray: #303030;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 14px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 24px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--huge: 36px;--wp--preset--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-color{color: var(--wp--preset--color--primary) !important;}.has-secondary-color{color: var(--wp--preset--color--secondary) !important;}.has-accent-color{color: var(--wp--preset--color--accent) !important;}.has-highlight-color{color: var(--wp--preset--color--highlight) !important;}.has-light-gray-color{color: var(--wp--preset--color--light-gray) !important;}.has-gray-color{color: var(--wp--preset--color--gray) !important;}.has-dark-gray-color{color: var(--wp--preset--color--dark-gray) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-background-color{background-color: var(--wp--preset--color--primary) !important;}.has-secondary-background-color{background-color: var(--wp--preset--color--secondary) !important;}.has-accent-background-color{background-color: var(--wp--preset--color--accent) !important;}.has-highlight-background-color{background-color: var(--wp--preset--color--highlight) !important;}.has-light-gray-background-color{background-color: var(--wp--preset--color--light-gray) !important;}.has-gray-background-color{background-color: var(--wp--preset--color--gray) !important;}.has-dark-gray-background-color{background-color: var(--wp--preset--color--dark-gray) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-primary-border-color{border-color: var(--wp--preset--color--primary) !important;}.has-secondary-border-color{border-color: var(--wp--preset--color--secondary) !important;}.has-accent-border-color{border-color: var(--wp--preset--color--accent) !important;}.has-highlight-border-color{border-color: var(--wp--preset--color--highlight) !important;}.has-light-gray-border-color{border-color: var(--wp--preset--color--light-gray) !important;}.has-gray-border-color{border-color: var(--wp--preset--color--gray) !important;}.has-dark-gray-border-color{border-color: var(--wp--preset--color--dark-gray) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
232.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-huge-font-size{font-size: var(--wp--preset--font-size--huge) !important;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;} 233/*# sourceURL=global-styles-inline-css */ 234</style> 235 236<link crossorigin='anonymous' rel='stylesheet' id='all-css-14-1' href='/_static/??-eJxtjtEOgjAMRX/IWXiAPRk/xZClwcLaLbQL+vfOQAxR3+49be8trNmFJIZiwMXlWEYShZCYK3KRZqxOv8i5khMQSDKq1/oR2+CQaXfkmpAXZCoMPDxWjBHUnhF/lg8PTGh5CPPuQYvAjSTAiILL1vlXvjOvfGm9b/vGd003vQAo6VSl&cssminify=yes' type='text/css' media='all' /> 237<link rel='stylesheet' id='maxwell-default-fonts-css' href='https://fonts-api.wp.com/css?family=Titillium+Web%3A400%2C400italic%2C700%2C700italic%7CAmaranth%3A400%2C400italic%2C700%2C700italic&subset=latin%2Clatin-ext' media='all' /> 238<link crossorigin='anonymous' rel='stylesheet' id='all-css-16-1' href='/_static/??-eJzTLy/QTc7PK0nNK9HPLdUtyClNz8wr1i9KTcrJTwcy0/WTi5G5ekCujj52Temp+bo5+cmJJZn5eSgc3bScxMwikFb7XFtDE1NLExMLc0OTLACohS2q&cssminify=yes' type='text/css' media='all' /> 239<style id="jetpack-global-styles-frontend-style-inline-css"> 240:root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;} 241/*# sourceURL=jetpack-global-styles-frontend-style-inline-css */ 242</style> 243<link crossorigin='anonymous' rel='stylesheet' id='all-css-18-1' href='/_static/??-eJyNjcsKAjEMRX/ImhmUURfip0inLW3GNCmmQfx7H7gRN+7ugcs5cGsuCPfEHaq5RpaRFZbUmw+XD4MaQ5VolBS0+GuKPsb7eyLndVBdwd+iM3KA2ZAiqAT05Eiy6Bf8KHtJ9RkvW8gks6fX4VSP426/mQ7TMA7LA38FSqA=&cssminify=yes' type='text/css' media='all' />
244<script id="maxwell-jquery-navigation-js-extra"> 245var maxwell_menu_title = "Menu"; 246//# sourceURL=maxwell-jquery-navigation-js-extra 247</script>
vendor: 1 bytes, line 247
247
248<script id="wpcom-actionbar-placeholder-js-extra"> 249var actionbardata = {"siteID":"157191818","postID":"33","siteURL":"https://samlearnsazure.blog","xhrURL":"https://samlearnsazure.blog/wp-admin/admin-ajax.php","nonce":"7f38534519","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https://s0.wp.com/wp-content/js/wpcom-proxy-request.js?m=1513050504i&ver=20211021","shortlink":"https://wp.me/PaDyLU-x","i18n":{"followedText":"New posts from this site will now appear in your \u003Ca href=\"https://wordpress.com/reader\"\u003EReader\u003C/a\u003E","foldBar":"Collapse this bar","unfoldBar":"Expand this bar","shortLinkCopied":"Copied to clipboard."}}; 250//# sourceURL=wpcom-actionbar-placeholder-js-extra 251</script>
vendor: 1 bytes, line 251
251
252<script id="jetpack-mu-wpcom-settings-js-before"> 253var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https://s1.wp.com/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/sun/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/"}; 254//# sourceURL=jetpack-mu-wpcom-settings-js-before 255</script>
vendor: 1 bytes, line 255
255
256<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJyFjUsOwjAMRC9E6gLit0CcJSpWcRQ7wXFoe3saCSR2rGbx5s3AlN2QxFAMQgGN5rKmeelC2cDKSIZY71gaDM+KunyiY5K/Jcc0qjf8LX/f7IG8KlmRqTKwnyeMsU2If9HojVJzbnzdnnb9Yd8fz5fwBqO3QH4='></script>
vendor: 1 bytes, line 256
256
257<script id="rlt-proxy-js-after"> 258 rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} ); 259//# sourceURL=rlt-proxy-js-after 260</script>
260 261<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://samlearnsazure.wordpress.com/xmlrpc.php?rsd" /> 262<meta name="generator" content="WordPress.com" /> 263<link rel="canonical" href="https://samlearnsazure.blog/about-this-blog/" /> 264<link rel='shortlink' href='https://wp.me/PaDyLU-x' /> 265<link rel="alternate" type="application/json+oembed" href="https://public-api.wordpress.com/oembed/?format=json&url=https%3A%2F%2Fsamlearnsazure.blog%2Fabout-this-blog%2F&for=wpcom-auto-discovery" /><link rel="alternate" type="application/xml+oembed" href="https://public-api.wordpress.com/oembed/?format=xml&url=https%3A%2F%2Fsamlearnsazure.blog%2Fabout-this-blog%2F&for=wpcom-auto-discovery" /> 266<!-- Jetpack Open Graph Tags --> 267<meta property="og:type" content="article" /> 268<meta property="og:title" content="About this blog" /> 269<meta property="og:url" content="https://samlearnsazure.blog/about-this-blog/" /> 270<meta property="og:description" content="Why “Sam Learns Azure”? I want this blog to be about learning – we don’t know everything, and as I blog and explore what we can do when starting from scratch in the Azure cl…" /> 271<meta property="article:published_time" content="2019-01-20T22:57:18+00:00" /> 272<meta property="article:modified_time" content="2020-07-31T16:44:05+00:00" /> 273<meta property="og:site_name" content="Sam Learns Azure" /> 274<meta property="og:image" content="https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png" /> 275<meta property="og:image:width" content="1717" /> 276<meta property="og:image:height" content="760" /> 277<meta property="og:image:alt" content="" /> 278<meta property="og:locale" content="en_US" /> 279<meta property="article:publisher" content="https://www.facebook.com/WordPresscom" /> 280<meta name="twitter:text:title" content="About this blog" /> 281<meta name="twitter:image" content="https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png?w=640" /> 282<meta name="twitter:card" content="summary_large_image" /> 283 284<!-- End Jetpack Open Graph Tags --> 285<link rel="search" type="application/opensearchdescription+xml" href="https://samlearnsazure.blog/osd.xml" title="Sam Learns Azure" /> 286<link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" /> 287<meta name="theme-color" content="#303030" /> 288<meta name="description" content="Why "Sam Learns Azure"? I want this blog to be about learning - we don't know everything, and as I blog and explore what we can do when starting from scratch in the Azure cloud. This allows us multiple opportunities to understand what it’s like to be ‘born in the cloud’, and share all of…" /> 289<style type="text/css" id="custom-colors-css">.infinite-scroll #infinite-handle span:hover, 290 .main-navigation-menu ul, 291 .main-navigation-menu ul a:link, 292 .main-navigation-menu ul a:visited, 293 .more-link:active, 294 .more-link:hover, 295 .pagination .current, 296 .pagination a, 297 .top-navigation-menu ul, 298 .widget_wpcom_social_media_icons_widget ul li a:hover, 299 button:active, 300 button:focus, 301 button:hover, 302 input[type="button"]:active, 303 input[type="button"]:focus, 304 input[type="button"]:hover, 305 input[type="reset"]:active, 306 input[type="reset"]:focus, 307 input[type="reset"]:hover, 308 input[type="submit"]:active, 309 input[type="submit"]:focus, 310 input[type="submit"]:hover, 311 .infinite-scroll #infinite-handle span, 312 .pagination a:active, 313 .pagination a:hover, 314 .widget_wpcom_social_media_icons_widget ul li a, 315 button, 316 input[type="button"], 317 input[type="reset"], 318 input[type="submit"], 319 .search-form .search-submit .genericon-search, 320 .main-navigation-menu ul .menu-item-has-children > a:after, 321 .main-navigation-menu ul .page_item_has_children > a:after, 322 .top-navigation-menu ul a:link, 323 .top-navigation-menu ul a:visited, 324 .more-link:link, 325 .more-link:visited { color: #FFFFFF;} 326.entry-tags .meta-tags a:active, 327 .entry-tags .meta-tags a:hover, 328 .footer-navigation-menu a:link, 329 .footer-navigation-menu a:visited, 330 .jetpack-social-navigation .menu li a:before, 331 .main-navigation-menu > .menu-item-has-children > a:after, 332 .main-navigation-menu > .page_item_has_children > a:after, 333 .main-navigation-menu a:link, 334 .main-navigation-menu a:visited, 335 .post-navigation .nav-links .nav-link-text, 336 .top-navigation-menu > .menu-item-has-children > a:after, 337 .top-navigation-menu a:link, 338 .top-navigation-menu a:visited, 339 .widget_flickr #flickr_badge_uber_wrapper a:active, 340 .widget_flickr #flickr_badge_uber_wrapper a:hover, 341 .widget_tag_cloud .tagcloud a:active,
342 .widget_tag_cloud .tagcloud a:hover, 343 .widget_tag_cloud div a:active, 344 .widget_tag_cloud div a:hover, 345 .wp_widget_tag_cloud div a:active, 346 .wp_widget_tag_cloud div a:hover, 347 a:active, 348 a:focus, 349 a:hover, 350 body, 351 button, 352 .main-navigation-toggle, 353 .main-navigation-toggle:before, 354 .header-bar { color: #303030;} 355.main-navigation-toggle, 356 .main-navigation-menu li.current-menu-item > a, 357 .main-navigation-menu li.current_page_item > a, 358 blockquote { border-color: #303030;} 359.main-navigation-toggle, 360 .main-navigation-menu li.current-menu-item > a, 361 .main-navigation-menu li.current_page_item > a, 362 blockquote { border-color: rgba( 48, 48, 48, 0.25 );} 363.main-navigation-toggle:active, 364 .main-navigation-toggle:active:before, 365 .main-navigation-toggle:hover, 366 .main-navigation-toggle:hover:before, 367 .entry-meta, 368 .entry-meta .meta-date:after, 369 .entry-meta a:link, 370 .entry-meta a:visited, 371 .entry-tags .meta-tags a:link, 372 .entry-tags .meta-tags a:visited, 373 .footer-navigation-menu a:active, 374 .footer-navigation-menu a:hover, 375 .jetpack-social-navigation .menu li a:hover:before, 376 .main-navigation-menu a:active, 377 .main-navigation-menu a:hover, 378 .post-navigation .nav-links a:hover .nav-link-text, 379 .top-navigation-menu a:active, 380 .top-navigation-menu a:hover, 381 .top-navigation-menu a:hover:after, 382 .widget_tag_cloud .tagcloud a:link, 383 .widget_tag_cloud .tagcloud a:visited, 384 .widget_tag_cloud div a:link, 385 .widget_tag_cloud div a:visited, 386 .wp_widget_tag_cloud div a:link, 387 .wp_widget_tag_cloud div a:visited { color: #6D6D6D;} 388.entry-tags .meta-tags a:active, 389 .entry-tags .meta-tags a:hover, 390 .widget_tag_cloud .tagcloud a:active, 391 .widget_tag_cloud .tagcloud a:hover, 392 .widget_tag_cloud div a:active, 393 .widget_tag_cloud div a:hover, 394 .wp_widget_tag_cloud div a:active, 395 .wp_widget_tag_cloud div a:hover { border-color: #999999;} 396.entry-tags .meta-tags a:active, 397 .entry-tags .meta-tags a:hover, 398 .widget_tag_cloud .tagcloud a:active, 399 .widget_tag_cloud .tagcloud a:hover, 400 .widget_tag_cloud div a:active, 401 .widget_tag_cloud div a:hover, 402 .wp_widget_tag_cloud div a:active, 403 .wp_widget_tag_cloud div a:hover { border-color: rgba( 153, 153, 153, 0.3 );} 404.footer-navigation, 405 .featured-posts-wrap, 406 .header-bar, 407 .widget_goodreads div[class^="gr_custom_each_container"], 408 .comment, 409 .entry-author, 410 .footer-widgets-wrap, 411 .footer-wrap, 412 .post-navigation, 413 .primary-navigation, 414 .entry-tags .meta-tags a, 415 .widget_tag_cloud .tagcloud a, 416 .widget_tag_cloud div a, 417 .wp_widget_tag_cloud div a, 418 input[type="email"], 419 input[type="password"], 420 input[type="search"], 421 input[type="text"], 422 input[type="url"], 423 pre, 424 td, 425 textarea, 426 th { border-color: #dddddd;} 427.footer-navigation, 428 .featured-posts-wrap, 429 .header-bar, 430 .widget_goodreads div[class^="gr_custom_each_container"], 431 .comment, 432 .entry-author, 433 .footer-widgets-wrap, 434 .footer-wrap, 435 .post-navigation, 436 .primary-navigation, 437 .entry-tags .meta-tags a, 438 .widget_tag_cloud .tagcloud a, 439 .widget_tag_cloud div a, 440 .wp_widget_tag_cloud div a, 441 input[type="email"], 442 input[type="password"], 443 input[type="search"], 444 input[type="text"], 445 input[type="url"], 446 pre, 447 td, 448 textarea,
449 th { border-color: rgba( 221, 221, 221, 0.3 );} 450blockquote { color: #6D6D6D;} 451blockquote cite, 452 blockquote small { color: #404040;} 453body { background-color: #303030;} 454.archive-title, 455 .comment-reply-title, 456 .comments-header .comments-title, 457 .entry-title, 458 .entry-title a:link, 459 .entry-title a:visited, 460 .site-title, 461 .site-title a:link, 462 .site-title a:visited, 463 .widget-title, 464 .widget-title a:link, 465 .widget-title a:visited { color: #303030;} 466.widget_flickr #flickr_badge_uber_wrapper a:link, 467 .widget_flickr #flickr_badge_uber_wrapper a:visited, 468 a, 469 a:link, 470 a:visited { color: #0000EE;} 471.infinite-scroll #infinite-handle span:hover, 472 .main-navigation-menu ul, 473 .more-link:active, 474 .more-link:hover, 475 .pagination a, 476 .top-navigation-menu ul, 477 .widget_wpcom_social_media_icons_widget ul li a:hover, 478 button:active, 479 button:focus, 480 button:hover, 481 input[type="button"]:active, 482 input[type="button"]:focus, 483 input[type="button"]:hover, 484 input[type="reset"]:active, 485 input[type="reset"]:focus, 486 input[type="reset"]:hover, 487 input[type="submit"]:active, 488 input[type="submit"]:focus, 489 input[type="submit"]:hover, 490 .infinite-scroll #infinite-handle span, 491 .more-link, 492 .pagination .current, 493 .pagination a:active, 494 .pagination a:hover, 495 .widget_wpcom_social_media_icons_widget ul li a, 496 button, 497 input[type="button"], 498 input[type="reset"], 499 input[type="submit"] { background-color: #0000ee;} 500.site, 501 pre, 502 .header-bar { background-color: #ffffff;} 503.widget_calendar table thead tr { background-color: #F9F9F9;} 504</style> 505<link rel="icon" href="https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=32" sizes="32x32" /> 506<link rel="icon" href="https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=192" sizes="192x192" /> 507<link rel="apple-touch-icon" href="https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=180" /> 508<meta name="msapplication-TileImage" content="https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=270" /> 509 <link rel="stylesheet" id="custom-css-css" type="text/css" href="https://s2.wp.com/?custom-css=1&csblog=aDyLU&cscache=6&csrev=5" /> 510 <link crossorigin='anonymous' rel='stylesheet' id='all-css-0-5' href='/_static/??-eJyNjMEKgzAQBX9IfVpq60X8lGLXRaLJJrhZ/P1SUM8eZxgGeyopSmbJCFYmb7MTxcI5jbQeDDXBxwnh6yOtCt1d4q0i1QK3ByFO5llB4xZN2V/NKf6/IfTNu2sfzbPuXssPrlM6pw==&cssminify=yes' type='text/css' media='all' /> 511 512</head> 513 514<body class="wp-singular page-template-default page page-id-33 wp-custom-logo wp-embed-responsive wp-theme-premiummaxwell customizer-styles-applied jetpack-reblog-enabled custom-colors"> 515 516 517<div id="header-bar" class="header-bar container clearfix"> 518 519 520</div> 521 522 <div id="page" class="hfeed site"> 523 524 <a class="skip-link screen-reader-text" href="#content">Skip to content</a> 525 526 <header id="masthead" class="site-header clearfix" role="banner"> 527 528 <div class="header-main container clearfix"> 529 530 <div id="logo" class="site-branding clearfix"> 531 532 <a href="https://samlearnsazure.blog/" class="custom-logo-link" rel="home"><img width="810" height="810" src="https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg" class="custom-logo" alt="Sam Learns Azure" decoding="async" srcset="https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=810&h=810 810w, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=1620&h=1619 1620w, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=150&h=150 150w, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=300&h=300 300w, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=768&h=768 768w, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=1024&
532h=1024 1024w, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=1440&h=1440 1440w" sizes="(max-width: 810px) 100vw, 810px" data-attachment-id="960" data-permalink="https://samlearnsazure.blog/cropped-me/" data-orig-file="https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg" data-orig-size="3024,3023" data-comments-opened="1" data-image-title="cropped-me" data-image-description="" data-image-caption="" data-large-file="https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=810" /></a> 533 <p class="site-title"><a href="https://samlearnsazure.blog/" rel="home">Sam Learns Azure</a></p> 534 535 536 </div><!-- .site-branding --> 537 538 539 <p class="site-description">Learning and sharing Azure architecture and DevOps tips with GitHub </p> 540 541 542 </div><!-- .header-main --> 543 544 <nav id="main-navigation" class="primary-navigation navigation container clearfix" role="navigation"> 545 546 <div class="main-navigation-menu-wrap"> 547 <ul id="menu-primary" class="main-navigation-menu"><li id="menu-item-6" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6"><a href="/">Home</a></li> 548<li id="menu-item-67" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-33 current_page_item menu-item-67"><a href="https://samlearnsazure.blog/about-this-blog/" aria-current="page">About this blog</a></li> 549<li id="menu-item-68" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-68"><a href="https://samlearnsazure.blog/about-me/">About me</a></li> 550</ul> </div> 551 552 </nav><!-- #main-navigation --> 553 554 </header><!-- #masthead --> 555 556 557 <div id="content" class="site-content container clearfix"> 558 559 <section id="primary" class="content-single content-area"> 560 <main id="main" class="site-main" role="main"> 561 562 563<article id="post-33" class="post-33 page type-page status-publish hentry"> 564 565 566 <header class="entry-header"> 567 568 <h1 class="entry-title">About this blog</h1> 569 </header><!-- .entry-header --> 570 571 <div class="entry-content clearfix"> 572 573 574<p class="wp-block-paragraph"><strong>Why “Sam Learns Azure”? I want this blog to be about learning – we don’t know everything, and as I blog and explore what we can do when starting from scratch in the Azure cloud. This allows us multiple opportunities to understand what it’s like to be ‘born in the cloud’, and share all of the learnings and pitfalls around this journey.</strong> There are 3 main pillars of focus in this project: building infrastructure (with code), developing features with DevOps best practices, and using monitoring to generate feedback</p> 575 576 577 578<ul class="wp-block-list"><li><strong>Developing features with DevOps</strong>: using Azure DevOps and Visual Studio, create a workflow to streamline the delivery of value to end users, using Kanban boards, development, and automated testing. DevOps is our primary interest: <a href="https://docs.microsoft.com/en-us/azure/architecture/example-scenario/apps/devops-dotnet-webapp"></a></li></ul> 579 580 581 582<figure class="wp-block-image"><img data-attachment-id="51" data-permalink="https://samlearnsazure.blog/devops/" data-orig-file="https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png" data-orig-size="1717,760" data-comments-opened="1" data-image-title="devops" data-image-description="" data-image-caption="" data-large-file="https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png?w=810" width="1717" height="760" src="https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png" alt="" class="wp-image-51" srcset="https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png 1717w, https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png?w=150&h=66 150w, https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png?w=300&h=133 300w, https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png?w=768&h=340 768w, https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png?w=1024&h=453 1024w, https://samlearnsazure.blog/wp-content/uploads/2019/01/devops.png?w=1440&
582h=637 1440w" sizes="(max-width: 1717px) 100vw, 1717px" /></figure> 583 584 585 586<ul class="wp-block-list"><li><strong>Building infrastructure</strong>: using Azure and infrastructure as code with “ARM templates”, create a secure, scalable, and reliable web solution. We will be using Platform as a Service (or PaaS) features: </li></ul> 587 588 589 590<figure class="wp-block-image"><img data-attachment-id="49" data-permalink="https://samlearnsazure.blog/scaledarchitecture/" data-orig-file="https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png" data-orig-size="2006,1084" data-comments-opened="1" data-image-title="scaledarchitecture" data-image-description="" data-image-caption="" data-large-file="https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png?w=810" width="2006" height="1084" src="https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png" alt="" class="wp-image-49" srcset="https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png 2006w, https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png?w=150&h=81 150w, https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png?w=300&h=162 300w, https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png?w=768&h=415 768w, https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png?w=1024&h=553 1024w, https://samlearnsazure.blog/wp-content/uploads/2019/01/scaledarchitecture.png?w=1440&h=778 1440w" sizes="(max-width: 2006px) 100vw, 2006px" /></figure> 591 592 593 594<ul class="wp-block-list"><li><strong>Monitoring strategies</strong>: using Azure Monitor and Application Insights, create a series of dashboards and alerts to understand bottlenecks, discover and debug issues, and learn from users:</li></ul> 595 596 597 598<figure class="wp-block-image"><img data-attachment-id="54" data-permalink="https://samlearnsazure.blog/monitoringarchitecture-1/" data-orig-file="https://samlearnsazure.blog/wp-content/uploads/2019/01/monitoringarchitecture-1.png" data-orig-size="803,781" data-comments-opened="1" data-image-title="monitoringarchitecture-1" data-image-description="" data-image-caption="" data-large-file="https://samlearnsazure.blog/wp-content/uploads/2019/01/monitoringarchitecture-1.png?w=803" width="803" height="781" src="https://samlearnsazure.blog/wp-content/uploads/2019/01/monitoringarchitecture-1.png" alt="" class="wp-image-54" srcset="https://samlearnsazure.blog/wp-content/uploads/2019/01/monitoringarchitecture-1.png 803w, https://samlearnsazure.blog/wp-content/uploads/2019/01/monitoringarchitecture-1.png?w=150&h=146 150w, https://samlearnsazure.blog/wp-content/uploads/2019/01/monitoringarchitecture-1.png?w=300&h=292 300w, https://samlearnsazure.blog/wp-content/uploads/2019/01/monitoringarchitecture-1.png?w=768&h=747 768w" sizes="(max-width: 803px) 100vw, 803px" /></figure> 599 600 601 602<p class="wp-block-paragraph">We will accomplish these pillars in a number of chapters, with the first step in our journey involving us building a basic Azure architecture piece by piece, with infrastructure as code, a DevOps pipeline, a MVP (minimum viable product) web application and database, and essential monitoring. This is a lot, but will give us a fully fleshed out and working website, and we will layer on more core features to scale the application, such as a mobile app, and AI, as well as providing optional enhancements that we think you may find interesting. </p> 603 604 605 606<p class="wp-block-paragraph">We will communicate this progress on this blog, but the output is also available at <a href="https://samlearnsazure.com">https://samlearnsazure.com</a>. We will be using a public instance of Azure DevOps, (<a href="https://samsmithnz.visualstudio.com/SamLearnsAzure">https://samsmithnz.visualstudio.com/SamLearnsAzure</a>), which can be used as a reference, just like a real project. </p> 607 608 609 610<p class="has-medium-font-size wp-block-paragraph"><strong>References: </strong></p> 611 612 613 614<ul class="wp-block-list"><li>Azure Architecture: <br>
614<a href="https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/multi-region">https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/multi-region</a> </li><li>DevOps: <br><a href="https://docs.microsoft.com/en-us/azure/architecture/example-scenario/apps/devops-dotnet-webapp">https://docs.microsoft.com/en-us/azure/architecture/example-scenario/apps/devops-dotnet-webapp</a> </li><li>Monitoring: <br><a href="https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/app-monitoring">https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/app-service-web-app/app-monitoring</a> </li></ul> 615<div id="jp-post-flair" class="sharedaddy sd-like-enabled sd-sharing-enabled"><div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li class="share-twitter"><a rel="nofollow noopener noreferrer" 616 data-shared="sharing-twitter-33" 617 class="share-twitter sd-button share-icon" 618 href="https://samlearnsazure.blog/about-this-blog/?share=twitter" 619 target="_blank" 620 aria-labelledby="sharing-twitter-33" 621 > 622 <span id="sharing-twitter-33" hidden>Share on X (Opens in new window)</span> 623 <span>X</span> 624 </a></li><li class="share-linkedin"><a rel="nofollow noopener noreferrer" 625 data-shared="sharing-linkedin-33" 626 class="share-linkedin sd-button share-icon" 627 href="https://samlearnsazure.blog/about-this-blog/?share=linkedin" 628 target="_blank" 629 aria-labelledby="sharing-linkedin-33" 630 > 631 <span id="sharing-linkedin-33" hidden>Share on LinkedIn (Opens in new window)</span> 632 <span>LinkedIn</span> 633 </a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer" 634 data-shared="sharing-facebook-33" 635 class="share-facebook sd-button share-icon" 636 href="https://samlearnsazure.blog/about-this-blog/?share=facebook" 637 target="_blank" 638 aria-labelledby="sharing-facebook-33" 639 > 640 <span id="sharing-facebook-33" hidden>Share on Facebook (Opens in new window)</span> 641 <span>Facebook</span> 642 </a></li><li class="share-email"><a rel="nofollow noopener noreferrer" 643 data-shared="sharing-email-33" 644 class="share-email sd-button share-icon" 645 href="mailto:?subject=%5BShared%20Post%5D%20About%20this%20blog&body=https%3A%2F%2Fsamlearnsazure.blog%2Fabout-this-blog%2F&share=email" 646 target="_blank" 647 aria-labelledby="sharing-email-33" 648 data-email-share-error-title="Do you have email set up?" data-email-share-error-text="If you're having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself." data-email-share-nonce="709c9b8926" data-email-share-track-url="https://samlearnsazure.blog/about-this-blog/?share=email"> 649 <span id="sharing-email-33" hidden>Email a link to a friend (Opens in new window)</span> 650 <span>Email</span> 651 </a></li><li class="share-end"></li></ul></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-157191818-33-6abca9ad27e38' data-src='//widgets.wp.com/likes/index.html?ver=20260930#blog_id=157191818&post_id=33&origin=samlearnsazure.wordpress.com&obj_id=157191818-33-6abca9ad27e38&domain=samlearnsazure.blog' data-name='like-post-frame-157191818-33-6abca9ad27e38' data-title='Like or Reblog'><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class='loading'>Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div></div> 652 653 </div><!-- .entry-content --> 654 655</article> 656 657 </main><!-- #main --> 658 </section><!-- #primary --> 659 660 661 <section id="secondary" class="sidebar widget-area clearfix" role="complementary"> 662 663 <aside id="search-1" class="widget widget_search clearfix"> 664<form role="search" method="get" class="search-form" action="https://samlearnsazure.blog/"> 665 <label> 666 <span class="screen-reader-text">Search for:</span> 667 <input type="search" class="search-field" 668 placeholder="Search …" 669 value="" name="s" 670 title="Search for:" /> 671 </label> 672 <button type="submit" class="search-submit"> 673 <span class="genericon-search"></span> 674 <span class="screen-reader-text">Search</span> 675 </button> 676</form> 677</aside><aside id="categories-3" class="widget widget_categories clearfix"><h3 class="widget-title">Categories</h3> 678 <ul> 679 <li class="cat-item cat-item-12374"><a href="https://samlearnsazure.blog/category/artificial-intelligence/">Artificial Intelligence</a> (2) 680</li> 681 <li class="cat-item cat-item-22379"><a href="https://samlearnsazure.blog/category/data/">Data</a> (7) 682</li> 683 <li class="cat-item cat-item-780"><a href="https://samlearnsazure.blog/category/development/">Development</a> (27) 684</li> 685 <li class="cat-item cat-item-28070474"><a href="https://samlearnsazure.blog/category/devops/">DevOps</a> (54) 686</li> 687 <li class="cat-item cat-item-32">
687<a href="https://samlearnsazure.blog/category/infrastructure/">Infrastructure</a> (22) 688</li> 689 <li class="cat-item cat-item-111949"><a href="https://samlearnsazure.blog/category/monitoring/">Monitoring</a> (7) 690</li> 691 <li class="cat-item cat-item-6335"><a href="https://samlearnsazure.blog/category/organization/">Organization</a> (7) 692</li> 693 <li class="cat-item cat-item-801"><a href="https://samlearnsazure.blog/category/security/">Security</a> (13) 694</li> 695 <li class="cat-item cat-item-12"><a href="https://samlearnsazure.blog/category/testing/">Testing</a> (5) 696</li> 697 <li class="cat-item cat-item-1"><a href="https://samlearnsazure.blog/category/uncategorized/">Uncategorized</a> (1) 698</li> 699 </ul> 700 701 </aside><aside id="wp_tag_cloud-3" class="widget wp_widget_tag_cloud clearfix"><h3 class="widget-title">Tags</h3><a href="https://samlearnsazure.blog/tag/net/" class="tag-cloud-link tag-link-2427 tag-link-position-1" style="font-size: 11.783783783784pt;" aria-label=".NET (3 items)">.NET</a> 702<a href="https://samlearnsazure.blog/tag/net-5/" class="tag-cloud-link tag-link-4359769 tag-link-position-2" style="font-size: 11.783783783784pt;" aria-label=".NET 5 (3 items)">.NET 5</a> 703<a href="https://samlearnsazure.blog/tag/net-core/" class="tag-cloud-link tag-link-6277562 tag-link-position-3" style="font-size: 15.567567567568pt;" aria-label=".NET Core (7 items)">.NET Core</a> 704<a href="https://samlearnsazure.blog/tag/net-core-2-2/" class="tag-cloud-link tag-link-671915602 tag-link-position-4" style="font-size: 13.045045045045pt;" aria-label=".Net Core 2.2 (4 items)">.Net Core 2.2</a> 705<a href="https://samlearnsazure.blog/tag/net-core-3-0/" class="tag-cloud-link tag-link-633924125 tag-link-position-5" style="font-size: 10.27027027027pt;" aria-label=".Net Core 3.0 (2 items)">.Net Core 3.0</a> 706<a href="https://samlearnsazure.blog/tag/accelerate/" class="tag-cloud-link tag-link-609063 tag-link-position-6" style="font-size: 10.27027027027pt;" aria-label="Accelerate (2 items)">Accelerate</a> 707<a href="https://samlearnsazure.blog/tag/ai/" class="tag-cloud-link tag-link-14067 tag-link-position-7" style="font-size: 10.27027027027pt;" aria-label="AI (2 items)">AI</a> 708<a href="https://samlearnsazure.blog/tag/application-insights/" class="tag-cloud-link tag-link-93586227 tag-link-position-8" style="font-size: 11.783783783784pt;" aria-label="Application Insights (3 items)">Application Insights</a> 709<a href="https://samlearnsazure.blog/tag/arm-template/" class="tag-cloud-link tag-link-410183291 tag-link-position-9" style="font-size: 18.720720720721pt;" aria-label="ARM Template (13 items)">ARM Template</a> 710<a href="https://samlearnsazure.blog/tag/asp-net-core/" class="tag-cloud-link tag-link-442511426 tag-link-position-10" style="font-size: 16.828828828829pt;" aria-label="ASP.NET Core (9 items)">ASP.NET Core</a> 711<a href="https://samlearnsazure.blog/tag/authentication/" class="tag-cloud-link tag-link-44620 tag-link-position-11" style="font-size: 10.27027027027pt;" aria-label="Authentication (2 items)">Authentication</a> 712<a href="https://samlearnsazure.blog/tag/authorize/" class="tag-cloud-link tag-link-1856664 tag-link-position-12" style="font-size: 10.27027027027pt;" aria-label="Authorize (2 items)">Authorize</a> 713<a href="https://samlearnsazure.blog/tag/automated-testing/" class="tag-cloud-link tag-link-45453 tag-link-position-13" style="font-size: 11.783783783784pt;" aria-label="Automated Testing (3 items)">Automated Testing</a> 714<a href="https://samlearnsazure.blog/tag/azure/" class="tag-cloud-link tag-link-335778 tag-link-position-14" style="font-size: 11.783783783784pt;" aria-label="Azure (3 items)">Azure</a> 715<a href="https://samlearnsazure.blog/tag/azure-advisor/" class="tag-cloud-link tag-link-548555412 tag-link-position-15" style="font-size: 10.27027027027pt;" aria-label="Azure Advisor (2 items)">Azure Advisor</a> 716<a href="https://samlearnsazure.blog/tag/azure-cli/" class="tag-cloud-link tag-link-144302099 tag-link-position-16" style="font-size: 13.045045045045pt;" aria-label="Azure CLI (4 items)">Azure CLI</a> 717<a href="https://samlearnsazure.blog/tag/azure-devops/" class="tag-cloud-link tag-link-328543109 tag-link-position-17" style="font-size: 22pt;" aria-label="Azure DevOps (25 items)">Azure DevOps</a> 718<a href="https://samlearnsazure.blog/tag/azure-keyvault/" class="tag-cloud-link tag-link-512893472 tag-link-position-18" style="font-size: 14.054054054054pt;" aria-label="Azure KeyVault (5 items)">Azure KeyVault</a> 719<a href="https://samlearnsazure.blog/tag/azure-monitor/" class="tag-cloud-link tag-link-326242772 tag-link-position-19" style="font-size: 13.045045045045pt;" aria-label="Azure Monitor (4 items)">Azure Monitor</a> 720<a href="https://samlearnsazure.blog/tag/azure-pipelines/" class="tag-cloud-link tag-link-651643519 tag-link-position-20" style="font-size: 19.099099099099pt;" aria-label="Azure Pipelines (14 items)">Azure Pipelines</a> 721<a href="https://samlearnsazure.blog/tag/azure-sql/" class="tag-cloud-link tag-link-35003967 tag-link-position-21" style="font-size: 10.27027027027pt;" aria-label="Azure SQL (2 items)">Azure SQL</a> 722<a href="https://samlearnsazure.blog/tag/azure-storage/" class="tag-cloud-link tag-link-27221212 tag-link-position-22" style="font-size: 14.054054054054pt;" aria-label="Azure Storage (5 items)">Azure Storage</a> 723<a href="https://samlearnsazure.blog/tag/azure-web-app/" class="tag-cloud-link tag-link-350754092 tag-link-position-23" style="font-size: 11.783783783784pt;" aria-label="Azure Web App (3 items)">Azure Web App</a> 724<a href="https://samlearnsazure.blog/tag/branch-policies/" class="tag-cloud-link tag-link-149325903 tag-link-position-24" style="font-size: 10.27027027027pt;" aria-label="Branch Policies (2 items)">Branch Policies</a> 725<a href="https://samlearnsazure.blog/tag/cd/" class="tag-cloud-link tag-link-3729 tag-link-position-25" style="font-size: 8pt;" aria-label="CD (1 item)">CD</a> 726<a href="https://samlearnsazure.blog/tag/ci/" class="tag-cloud-link tag-link-39104 tag-link-position-26" style="font-size: 8pt;" aria-label="CI (1 item)">CI</a> 727<a href="https://samlearnsazure.blog/tag/code-coverage/" class="tag-cloud-link tag-link-328899 tag-link-position-27" style="font-size: 11.783783783784pt;" aria-label="Code Coverage (3 items)">Code Coverage</a> 728<a href="https://samlearnsazure.blog/tag/cognitive-services/" class="tag-cloud-link tag-link-74290730 tag-link-position-28" style="font-size: 10.27027027027pt;" aria-label="Cognitive Services (2 items)">Cognitive Services</a> 729<a href="https://samlearnsazure.blog/tag/credscan/" class="tag-cloud-link tag-link-670250321 tag-link-position-29" style="font-size: 10.27027027027pt;" aria-label="CredScan (2 items)">CredScan</a> 730<a href="https://samlearnsazure.blog/tag/data/" class="tag-cloud-link tag-link-22379 tag-link-position-30" style="font-size: 10.27027027027pt;" aria-label="Data (2 items)">Data</a> 731<a href="https://samlearnsazure.blog/tag/dependabot/" class="tag-cloud-link tag-link-672587234 tag-link-position-31" style="font-size: 14.936936936937pt;" aria-label="DependaBot (6 items)">DependaBot</a> 732<a href="https://samlearnsazure.blog/tag/deployment-frequency/" class="tag-cloud-link tag-link-698495681 tag-link-position-32" style="font-size: 10.27027027027pt;" aria-label="Deployment Frequency (2 items)">Deployment Frequency</a> 733<a href="https://samlearnsazure.blog/tag/devops/" class="tag-cloud-link tag-link-28070474 tag-link-position-33" style="font-size: 19.351351351351pt;" aria-label="DevOps (15 items)">DevOps</a> 734<a href="https://samlearnsazure.blog/tag/devsecops/" class="tag-cloud-link tag-link-304054034 tag-link-position-34" style="font-size: 10.27027027027pt;" aria-label="DevSecOps (2 items)">DevSecOps</a> 735<a href="https://samlearnsazure.blog/tag/dns/" class="tag-cloud-link tag-link-17846 tag-link-position-35" style="font-size: 13.045045045045pt;" aria-label="DNS (4 items)">DNS</a> 736<a href="https://samlearnsazure.blog/tag/feature-flags/" class="tag-cloud-link tag-link-54536061 tag-link-position-36" style="font-size: 10.27027027027pt;" aria-label="Feature Flags (2 items)">Feature Flags</a> 737<a href="https://samlearnsazure.blog/tag/front-door/" class="tag-cloud-link tag-link-1174032 tag-link-position-37" style="font-size: 11.783783783784pt;" aria-label="Front Door (3 items)">Front Door</a> 738<a href="https://samlearnsazure.blog/tag/git/" class="tag-cloud-link tag-link-209196 tag-link-position-38" style="font-size: 10.27027027027pt;" aria-label="Git (2 items)">Git</a> 739<a href="https://samlearnsazure.blog/tag/gitguardian/" class="tag-cloud-link tag-link-690989744 tag-link-position-39" style="font-size: 10.27027027027pt;" aria-label="GitGuardian (2 items)">GitGuardian</a> 740<a href="https://samlearnsazure.blog/tag/github/" class="tag-cloud-link tag-link-5603054 tag-link-position-40" style="font-size: 19.72972972973pt;" aria-label="GitHub (16 items)">GitHub</a> 741<a href="https://samlearnsazure.blog/tag/github-actions/" class="tag-cloud-link tag-link-670498141 tag-link-position-41" style="font-size: 17.837837837838pt;" aria-label="GitHub Actions (11 items)">GitHub Actions</a> 742<a href="https://samlearnsazure.blog/tag/github-packages/" class="tag-cloud-link tag-link-705353801 tag-link-position-42" style="font-size: 10.27027027027pt;" aria-label="GitHub Packages (2 items)">GitHub Packages</a> 743<a href="https://samlearnsazure.blog/tag/github-release/" class="tag-cloud-link tag-link-710992818 tag-link-position-43" style="font-size: 10.27027027027pt;" aria-label="GitHub Release (2 items)">GitHub Release</a> 744<a href="https://samlearnsazure.blog/tag/gitversion/" class="tag-cloud-link tag-link-222863573 tag-link-position-44" style="font-size: 10.27027027027pt;" aria-label="GitVersion (2 items)">GitVersion</a> 745<a href="https://samlearnsazure.blog/tag/godaddy/" class="tag-cloud-link tag-link-32777 tag-link-position-45" style="font-size: 13.045045045045pt;" aria-label="GoDaddy (4 items)">GoDaddy</a> 746<a href="https://samlearnsazure.blog/tag/high-performing-devops-team-metrics/" class="tag-cloud-link tag-link-698495702 tag-link-position-46" style="font-size: 10.27027027027pt;" aria-label="High Performing DevOps Team Metrics (2 items)">High Performing DevOps Team Metrics</a> 747<a href="https://samlearnsazure.blog/tag/https/" class="tag-cloud-link tag-link-164265 tag-link-position-47" style="font-size: 10.27027027027pt;" aria-label="HTTPS (2 items)">HTTPS</a>
748<a href="https://samlearnsazure.blog/tag/infrastructure-as-code/" class="tag-cloud-link tag-link-59002157 tag-link-position-48" style="font-size: 10.27027027027pt;" aria-label="Infrastructure as Code (2 items)">Infrastructure as Code</a> 749<a href="https://samlearnsazure.blog/tag/kanban/" class="tag-cloud-link tag-link-1136966 tag-link-position-49" style="font-size: 8pt;" aria-label="Kanban (1 item)">Kanban</a> 750<a href="https://samlearnsazure.blog/tag/key-vault/" class="tag-cloud-link tag-link-261255782 tag-link-position-50" style="font-size: 13.045045045045pt;" aria-label="Key Vault (4 items)">Key Vault</a> 751<a href="https://samlearnsazure.blog/tag/lets-encrypt/" class="tag-cloud-link tag-link-304549859 tag-link-position-51" style="font-size: 11.783783783784pt;" aria-label="Let's Encrypt (3 items)">Let's Encrypt</a> 752<a href="https://samlearnsazure.blog/tag/live-unit-testing/" class="tag-cloud-link tag-link-565663747 tag-link-position-52" style="font-size: 10.27027027027pt;" aria-label="Live Unit Testing (2 items)">Live Unit Testing</a> 753<a href="https://samlearnsazure.blog/tag/migration/" class="tag-cloud-link tag-link-1158 tag-link-position-53" style="font-size: 10.27027027027pt;" aria-label="Migration (2 items)">Migration</a> 754<a href="https://samlearnsazure.blog/tag/multi-stage-pipelines/" class="tag-cloud-link tag-link-680266292 tag-link-position-54" style="font-size: 10.27027027027pt;" aria-label="multi-stage pipelines (2 items)">multi-stage pipelines</a> 755<a href="https://samlearnsazure.blog/tag/nuget/" class="tag-cloud-link tag-link-21555412 tag-link-position-55" style="font-size: 13.045045045045pt;" aria-label="NuGet (4 items)">NuGet</a> 756<a href="https://samlearnsazure.blog/tag/parallel-jobs/" class="tag-cloud-link tag-link-49040343 tag-link-position-56" style="font-size: 11.783783783784pt;" aria-label="Parallel Jobs (3 items)">Parallel Jobs</a> 757<a href="https://samlearnsazure.blog/tag/powershell/" class="tag-cloud-link tag-link-178495 tag-link-position-57" style="font-size: 15.567567567568pt;" aria-label="PowerShell (7 items)">PowerShell</a> 758<a href="https://samlearnsazure.blog/tag/privacy/" class="tag-cloud-link tag-link-3279 tag-link-position-58" style="font-size: 10.27027027027pt;" aria-label="Privacy (2 items)">Privacy</a> 759<a href="https://samlearnsazure.blog/tag/pull-request/" class="tag-cloud-link tag-link-63990352 tag-link-position-59" style="font-size: 14.936936936937pt;" aria-label="Pull Request (6 items)">Pull Request</a> 760<a href="https://samlearnsazure.blog/tag/release-annotations/" class="tag-cloud-link tag-link-446781779 tag-link-position-60" style="font-size: 8pt;" aria-label="Release Annotations (1 item)">Release Annotations</a> 761<a href="https://samlearnsazure.blog/tag/security/" class="tag-cloud-link tag-link-801 tag-link-position-61" style="font-size: 11.783783783784pt;" aria-label="Security (3 items)">Security</a> 762<a href="https://samlearnsazure.blog/tag/selenium/" class="tag-cloud-link tag-link-111899 tag-link-position-62" style="font-size: 8pt;" aria-label="Selenium (1 item)">Selenium</a> 763<a href="https://samlearnsazure.blog/tag/single-pane-of-glass/" class="tag-cloud-link tag-link-81276834 tag-link-position-63" style="font-size: 8pt;" aria-label="Single pane of glass (1 item)">Single pane of glass</a> 764<a href="https://samlearnsazure.blog/tag/smoke-tests/" class="tag-cloud-link tag-link-13711061 tag-link-position-64" style="font-size: 10.27027027027pt;" aria-label="Smoke Tests (2 items)">Smoke Tests</a> 765<a href="https://samlearnsazure.blog/tag/sonarcloud/" class="tag-cloud-link tag-link-593356132 tag-link-position-65" style="font-size: 11.783783783784pt;" aria-label="SonarCloud (3 items)">SonarCloud</a> 766<a href="https://samlearnsazure.blog/tag/spn/" class="tag-cloud-link tag-link-1332937 tag-link-position-66" style="font-size: 8pt;" aria-label="SPN (1 item)">SPN</a> 767<a href="https://samlearnsazure.blog/tag/testing/" class="tag-cloud-link tag-link-12 tag-link-position-67" style="font-size: 11.783783783784pt;" aria-label="Testing (3 items)">Testing</a> 768<a href="https://samlearnsazure.blog/tag/unit-tests/" class="tag-cloud-link tag-link-414616 tag-link-position-68" style="font-size: 11.783783783784pt;" aria-label="Unit Tests (3 items)">Unit Tests</a> 769<a href="https://samlearnsazure.blog/tag/versioning/" class="tag-cloud-link tag-link-328105 tag-link-position-69" style="font-size: 11.783783783784pt;" aria-label="Versioning (3 items)">Versioning</a> 770<a href="https://samlearnsazure.blog/tag/visual-studio/" class="tag-cloud-link tag-link-6678 tag-link-position-70" style="font-size: 10.27027027027pt;" aria-label="Visual Studio (2 items)">Visual Studio</a> 771<a href="https://samlearnsazure.blog/tag/webapi/" class="tag-cloud-link tag-link-425343 tag-link-position-71" style="font-size: 10.27027027027pt;" aria-label="WebAPI (2 items)">WebAPI</a> 772<a href="https://samlearnsazure.blog/tag/webhook/" class="tag-cloud-link tag-link-17852159 tag-link-position-72" style="font-size: 10.27027027027pt;" aria-label="Webhook (2 items)">Webhook</a> 773<a href="https://samlearnsazure.blog/tag/webjob/" class="tag-cloud-link tag-link-3248967 tag-link-position-73" style="font-size: 10.27027027027pt;" aria-label="Webjob (2 items)">Webjob</a> 774<a href="https://samlearnsazure.blog/tag/web-service/" class="tag-cloud-link tag-link-13849 tag-link-position-74" style="font-size: 10.27027027027pt;" aria-label="Web Service (2 items)">Web Service</a> 775<a href="https://samlearnsazure.blog/tag/yaml/" class="tag-cloud-link tag-link-550844 tag-link-position-75" style="font-size: 20.108108108108pt;" aria-label="YAML (17 items)">YAML</a></aside>
775<aside id="rss_links-3" class="widget widget_rss_links clearfix"><h3 class="widget-title">Sam Learns Azure</h3><p class="size-large"><a class="feed-image-link" href="https://samlearnsazure.blog/feed/" title="Subscribe to Posts"><img src="https://samlearnsazure.blog/i/rss/green-large.png" alt="RSS Feed" /></a></p> 776</aside><aside id="archives-3" class="widget widget_archive clearfix"><h3 class="widget-title">Archives</h3> 777 <ul> 778 <li><a href='https://samlearnsazure.blog/2025/08/'>August 2025</a></li> 779 <li><a href='https://samlearnsazure.blog/2023/08/'>August 2023</a></li> 780 <li><a href='https://samlearnsazure.blog/2022/12/'>December 2022</a></li> 781 <li><a href='https://samlearnsazure.blog/2022/08/'>August 2022</a></li> 782 <li><a href='https://samlearnsazure.blog/2022/01/'>January 2022</a></li> 783 <li><a href='https://samlearnsazure.blog/2021/12/'>December 2021</a></li> 784 <li><a href='https://samlearnsazure.blog/2021/09/'>September 2021</a></li> 785 <li><a href='https://samlearnsazure.blog/2021/08/'>August 2021</a></li> 786 <li><a href='https://samlearnsazure.blog/2021/07/'>July 2021</a></li> 787 <li><a href='https://samlearnsazure.blog/2021/05/'>May 2021</a></li> 788 <li><a href='https://samlearnsazure.blog/2021/01/'>January 2021</a></li> 789 <li><a href='https://samlearnsazure.blog/2020/12/'>December 2020</a></li> 790 <li><a href='https://samlearnsazure.blog/2020/11/'>November 2020</a></li> 791 <li><a href='https://samlearnsazure.blog/2020/10/'>October 2020</a></li> 792 <li><a href='https://samlearnsazure.blog/2020/09/'>September 2020</a></li> 793 <li><a href='https://samlearnsazure.blog/2020/08/'>August 2020</a></li> 794 <li><a href='https://samlearnsazure.blog/2020/07/'>July 2020</a></li> 795 <li><a href='https://samlearnsazure.blog/2020/06/'>June 2020</a></li> 796 <li><a href='https://samlearnsazure.blog/2020/04/'>April 2020</a></li> 797 <li><a href='https://samlearnsazure.blog/2020/03/'>March 2020</a></li> 798 <li><a href='https://samlearnsazure.blog/2020/02/'>February 2020</a></li> 799 <li><a href='https://samlearnsazure.blog/2020/01/'>January 2020</a></li> 800 <li><a href='https://samlearnsazure.blog/2019/12/'>December 2019</a></li> 801 <li><a href='https://samlearnsazure.blog/2019/11/'>November 2019</a></li> 802 <li><a href='https://samlearnsazure.blog/2019/10/'>October 2019</a></li> 803 <li><a href='https://samlearnsazure.blog/2019/09/'>September 2019</a></li> 804 <li><a href='https://samlearnsazure.blog/2019/08/'>August 2019</a></li> 805 <li><a href='https://samlearnsazure.blog/2019/07/'>July 2019</a></li> 806 <li><a href='https://samlearnsazure.blog/2019/06/'>June 2019</a></li> 807 <li><a href='https://samlearnsazure.blog/2019/05/'>May 2019</a></li> 808 <li><a href='https://samlearnsazure.blog/2019/04/'>April 2019</a></li> 809 <li><a href='https://samlearnsazure.blog/2019/03/'>March 2019</a></li> 810 <li><a href='https://samlearnsazure.blog/2019/02/'>
810February 2019</a></li> 811 <li><a href='https://samlearnsazure.blog/2019/01/'>January 2019</a></li> 812 <li><a href='https://samlearnsazure.blog/2018/12/'>December 2018</a></li> 813 </ul> 814 815 </aside> 816 </section><!-- #secondary --> 817 818 819 820 </div><!-- #content --> 821 822 823 <div id="footer" class="footer-wrap"> 824 825 <footer id="colophon" class="site-footer container clearfix" role="contentinfo"> 826 827 828 <div class="site-info"> 829 830 <a href="https://wordpress.com/?ref=footer_blog" rel="nofollow">Blog at WordPress.com.</a> 831 832 833 </div><!-- .site-info --> 834 835 </footer><!-- #colophon --> 836 837 </div> 838 839</div><!-- #page --> 840 841<!-- -->
842<script type="speculationrules"> 843{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/files/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/premium/maxwell/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 844</script>
vendor: 1 bytes, line 844
844
845<script id="grofiles-cards-js" src="//0.gravatar.com/js/hovercards/hovercards.min.js?ver=202640d1133547e8a1f2801609f51cef12522abe7f6647d869e9fbc974fe356a37e613"></script>
vendor: 1 bytes, line 845
845
846<script id="wpgroho-js-extra"> 847var WPGroHo = {"my_hash":""}; 848//# sourceURL=wpgroho-js-extra 849</script>
vendor: 1 bytes, line 849
849
850<script crossorigin='anonymous' type='text/javascript' src='/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1610363240i'></script>
850 851 852
852<script> 853 // Initialize and attach hovercards to all gravatars 854 ( function() { 855 function init() { 856 if ( typeof Gravatar === 'undefined' ) { 857 return; 858 } 859 860 if ( typeof Gravatar.init !== 'function' ) { 861 return; 862 } 863 864 Gravatar.profile_cb = function ( hash, id ) { 865 WPGroHo.syncProfileData( hash, id ); 866 }; 867 868 Gravatar.my_hash = WPGroHo.my_hash; 869 Gravatar.init( 870 'body', 871 '#wp-admin-bar-my-account', 872 { 873 i18n: { 874 'Edit your profile →': 'Edit your profile →', 875 'View profile →': 'View profile →', 876 'Contact': 'Contact', 877 'Send money': 'Send money', 878 'Sorry, we are unable to load this Gravatar profile.': 'Sorry, we are unable to load this Gravatar profile.', 879 'Gravatar not found.': 'Gravatar not found.', 880 'Too Many Requests.': 'Too Many Requests.', 881 'Internal Server Error.': 'Internal Server Error.', 882 'Is this you?': 'Is this you?', 883 'Claim your free profile.': 'Claim your free profile.', 884 'Email': 'Email', 885 'Home Phone': 'Home Phone', 886 'Work Phone': 'Work Phone', 887 'Cell Phone': 'Cell Phone', 888 'Contact Form': 'Contact Form', 889 'Calendar': 'Calendar', 890 }, 891 } 892 ); 893 } 894 895 if ( document.readyState !== 'loading' ) { 896 init(); 897 } else { 898 document.addEventListener( 'DOMContentLoaded', init ); 899 } 900 } )(); 901 </script>
901 902 903 <div style="display:none"> 904 </div> 905 <div id="actionbar" dir="ltr" style="display: none;" 906 class="actnbr-premium-maxwell" role="region" aria-label="Site actions"> 907 <span class="actnbr-live" aria-live="polite"></span> 908 <ul> 909 <li class="actnbr-btn actnbr-hidden"> 910 <a class="actnbr-action actnbr-actn-follow " href="" role="button" aria-haspopup="dialog" aria-expanded="false"> 911 <svg class="actnbr-icon actnbr-icon-bell" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M17 11.5c0 1.353.17 2.368.976 3 .266.209.602.376 1.024.5v1H5v-1c.422-.124.757-.291 1.024-.5.806-.632.976-1.647.976-3V9c0-2.8 2.2-5 5-5s5 2.2 5 5v2.5ZM15.5 9v2.5c0 .93.066 1.98.515 2.897l.053.103H7.932a4.018 4.018 0 0 0 .053-.103c.449-.917.515-1.967.515-2.897V9c0-1.972 1.528-3.5 3.5-3.5s3.5 1.528 3.5 3.5Zm-5.492 9.008c0-.176.023-.346.065-.508h3.854A1.996 1.996 0 0 1 12 20c-1.1 0-1.992-.892-1.992-1.992Z"/></svg> <span>Subscribe</span> 912 </a> 913 <a class="actnbr-action actnbr-actn-following no-display" href="" role="button"> 914 <svg class="actnbr-icon actnbr-icon-check" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" style="fill: none" stroke="currentColor" stroke-width="1.5"><path d="M7 12L10 15L17 8" vector-effect="non-scaling-stroke"/></svg> <span>Subscribed</span> 915 </a> 916 <div class="actnbr-popover actnbr-panel actnbr-notice" id="follow-bubble" role="dialog" aria-label="Subscribe to Sam Learns Azure"> 917 <div class="actnbr-follow-bubble"> 918 <div class="actnbr-panel__group"><a class="actnbr-menu__item actnbr-sitename" href="https://samlearnsazure.blog"><img loading='lazy' alt='' src='https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=50' srcset='https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=50 1x, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=75 1.5x, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=100 2x, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=150 3x, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=200 4x' class='avatar avatar-50' height='50' width='50' /><span class="actnbr-menu__label">Sam Learns Azure</span></a></div> <div class="actnbr-panel__group"> 919 <div class="actnbr-message no-display" aria-live="polite"></div> 920 <form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" class="no-display"> 921 <div class="actnbr-follow-count">Join 68 other subscribers</div> 922 <input type="email" name="email" placeholder="Want updates? Enter your email" class="actnbr-email-field" aria-label="Email address" /> 923 <input type="hidden" name="action" value="subscribe" /> 924 <input type="hidden" name="blog_id" value="157191818" /> 925 <input type="hidden" name="source" value="https://samlearnsazure.blog/about-this-blog/" /> 926 <input type="hidden" name="sub-type" value="actionbar-follow" /> 927 <input type="hidden" id="_wpnonce" name="_wpnonce" value="4be2cb3969" /> <button type="submit" class="actnbr-button">Sign me up</button> 928 </form> 929 <p class="actnbr-login-nudge"> 930 Have a WordPress.com account? <a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fsamlearnsazure.blog%252Fabout-this-blog%252F">Log in now.</a> </p> 931 </div> 932 </div> 933 </div> 934 </li> 935 <li class="actnbr-ellipsis actnbr-hidden"> 936 <button type="button" class="actnbr-more-toggle" aria-haspopup="true" aria-expanded="false" aria-label="More options"> 937 <svg class="actnbr-icon actnbr-icon-more-horizontal" width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path d="M11 13h2v-2h-2v2zm-6 0h2v-2H5v2zm12-2v2h2v-2h-2z"/></svg> </button> 938 <div class="actnbr-popover actnbr-menu" role="menu" aria-label="Site options"> 939 <div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-sitename" href="https://samlearnsazure.blog"><img loading='lazy' alt='' src='https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=50' srcset='https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=50 1x, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=75 1.5x, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=100 2x, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=150 3x, https://samlearnsazure.blog/wp-content/uploads/2019/04/cropped-me.jpg?w=200 4x' class='avatar avatar-50' height='50' width='50' /><span class="actnbr-menu__label">Sam Learns Azure</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-shortlink" href="https://wp.me/PaDyLU-x"><span class="actnbr-menu__label actnbr-shortlink__text">Copy shortlink</span><span class="actnbr-menu__icon actnbr-shortlink__icon"><svg class="actnbr-icon actnbr-icon-copy" width="18" height="18" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path fill-rule="evenodd" clip-rule="evenodd" d="M5 4.5h11a.5.5 0 0 1 .5.5v11a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V5a.5.5 0 0 1 .5-.5ZM3 5a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5Zm17 3v10.75c0 .69-.56 1.25-1.25 1.25H6v1.5h12.75a2.75 2.75 0 0 0 2.75-2.75V8H20Z"/></svg></span><span class="actnbr-menu__icon actnbr-shortlink__icon-copied"><svg class="actnbr-icon actnbr-icon-check" width="18" height="18" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" style="fill: none" stroke="currentColor" stroke-width="1.5"><path d="M7 12L10 15L17 8" vector-effect="non-scaling-stroke"/></svg></span></a><a role="menuitem" class="actnbr-menu__item actnbr-reader" href="https://wordpress.com/reader/blogs/157191818/posts/33"><span class="actnbr-menu__label">View post in Reader</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-subs" href="https://subscribe.wordpress.com/"><span class="actnbr-menu__label">Manage subscriptions</span></a><a role="menuitem" class="actnbr-menu__item actnbr-signup" href="https://wordpress.com/start/"><span class="actnbr-menu__label">Sign up</span></a><a role="menuitem" class="actnbr-menu__item actnbr-login" href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fsamlearnsazure.blog%252Fabout-this-blog%252F"><span class="actnbr-menu__label">Log in</span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item flb-report" href="https://wordpress.com/abuse/?report_url=https://samlearnsazure.blog/about-this-blog/" target="_blank" rel="noopener noreferrer"><span class="actnbr-menu__label">Report this content</span><span class="actnbr-menu__icon"><svg class="actnbr-icon actnbr-icon-external" width="18" height="18" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" fill="currentColor"><path d="M19.5 4.5h-7V6h4.44l-5.97 5.97 1.06 1.06L18 7.06v4.44h1.5v-7Zm-13 1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3H17v3a.5.5 0 0 1-.5.5h-10a.5.5 0 0 1-.5-.5v-10a.5.5 0 0 1 .5-.5h3V5.5h-3Z"/></svg></span></a></div><div class="actnbr-menu__group" role="group"><a role="menuitem" class="actnbr-menu__item actnbr-fold" href=""><span class="actnbr-menu__label">Collapse this bar</span></a></div> </div> 940 </li> 941 </ul> 942 </div> 943
943<script> 944window.addEventListener( "DOMContentLoaded", function () { 945 var link = document.createElement( "link" ); 946 link.href = "\/wp-content\/mu-plugins\/jetpack-plugin\/sun\/jetpack_vendor\/automattic\/jetpack-newsletter\/src\/..\/build\/action-bar.css?ver=9e2715140ce0af99d983"; 947 link.rel = "stylesheet"; 948 document.head.appendChild( link ); 949 950 var script = document.createElement( "script" ); 951 script.src = "\/wp-content\/mu-plugins\/jetpack-plugin\/sun\/jetpack_vendor\/automattic\/jetpack-newsletter\/src\/..\/build\/action-bar.js?ver=9e2715140ce0af99d983"; 952 document.body.appendChild( script ); 953 } ); 954</script>
954 955<link rel="prefetch" href="/wp-content/mu-plugins/jetpack-plugin/sun/_inc/blocks/swiper.js" as="script" /> 956 <div id="jp-carousel-loading-overlay" style="display: none;"> 957 <div id="jp-carousel-loading-wrapper"> 958 <span id="jp-carousel-library-loading"><svg class="jetpack-spinner" width="40" height="40" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="50" cy="50" r="46" fill="none" stroke="#ddd" stroke-width="8"/><path d="M 50 4 A 46 46 0 0 1 96 50" fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round"><animateTransform attributeName="transform" type="rotate" dur="1.4s" from="0 50 50" to="360 50 50" repeatCount="indefinite"/></path></svg></span> 959 </div> 960 </div> 961 <div class="jp-carousel-overlay" style="display: none;"> 962 963 <div class="jp-carousel-container"> 964 <!-- The Carousel Swiper --> 965 <div 966 class="jp-carousel-wrap swiper jp-carousel-swiper-container jp-carousel-transitions" 967 itemscope 968 itemtype="https://schema.org/ImageGallery"> 969 <div class="jp-carousel swiper-wrapper"></div> 970 <div class="jp-swiper-button-prev swiper-button-prev"> 971 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 972 <mask id="maskPrev" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="9" height="12"> 973 <path d="M16.2072 16.59L11.6496 12L16.2072 7.41L14.8041 6L8.8335 12L14.8041 18L16.2072 16.59Z" fill="white"/> 974 </mask> 975 <g mask="url(#maskPrev)"> 976 <rect x="0.579102" width="23.8823" height="24" fill="#FFFFFF"/> 977 </g> 978 </svg> 979 </div> 980 <div class="jp-swiper-button-next swiper-button-next"> 981 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 982 <mask id="maskNext" mask-type="alpha" maskUnits="userSpaceOnUse" x="8" y="6" width="8" height="12"> 983 <path d="M8.59814 16.59L13.1557 12L8.59814 7.41L10.0012 6L15.9718 12L10.0012 18L8.59814 16.59Z" fill="white"/> 984 </mask> 985 <g mask="url(#maskNext)"> 986 <rect x="0.34375" width="23.8822" height="24" fill="#FFFFFF"/> 987 </g> 988 </svg> 989 </div> 990 </div> 991 <!-- The main close buton --> 992 <div class="jp-carousel-close-hint"> 993 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 994 <mask id="maskClose" mask-type="alpha" maskUnits="userSpaceOnUse" x="5" y="5" width="15" height="14"> 995 <path d="M19.3166 6.41L17.9135 5L12.3509 10.59L6.78834 5L5.38525 6.41L10.9478 12L5.38525 17.59L6.78834 19L12.3509 13.41L17.9135 19L19.3166 17.59L13.754 12L19.3166 6.41Z" fill="white"/> 996 </mask> 997 <g mask="url(#maskClose)"> 998 <rect x="0.409668" width="23.8823" height="24" fill="#FFFFFF"/> 999 </g> 1000 </svg> 1001 </div> 1002 <!-- Image info, comments and meta --> 1003 <div class="jp-carousel-info"> 1004 <div class="jp-carousel-info-footer"> 1005 <div class="jp-carousel-pagination-container"> 1006 <div class="jp-swiper-pagination swiper-pagination"></div> 1007 <div class="jp-carousel-pagination"></div> 1008 </div> 1009 <div class="jp-carousel-photo-title-container"> 1010 <div class="jp-carousel-photo-caption"></div> 1011 </div> 1012 <div class="jp-carousel-photo-icons-container"> 1013 <a href="#" class="jp-carousel-icon-btn jp-carousel-icon-info" aria-label="Toggle photo metadata visibility"> 1014 <span class="jp-carousel-icon"> 1015 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1016 <mask id="maskInfo" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20"> 1017 <path fill-rule="evenodd" clip-rule="evenodd" d="M12.7537 2C7.26076 2 2.80273 6.48 2.80273 12C2.80273 17.52 7.26076 22 12.7537 22C18.2466 22 22.7046 17.52 22.7046 12C22.7046 6.48 18.2466 2 12.7537 2ZM11.7586 7V9H13.7488V7H11.7586ZM11.7586 11V17H13.7488V11H11.7586ZM4.79292 12C4.79292 16.41 8.36531 20 12.7537 20C17.142 20 20.7144 16.41 20.7144 12C20.7144 7.59 17.142 4 12.7537 4C8.36531 4 4.79292 7.59 4.79292 12Z" fill="white"/> 1018 </mask> 1019 <g mask="url(#maskInfo)"> 1020 <rect x="0.8125" width="23.8823" height="24" fill="#FFFFFF"/> 1021 </g> 1022 </svg> 1023 </span> 1024 </a> 1025 <a href="#" class="jp-carousel-icon-btn jp-carousel-icon-comments" aria-label="Toggle photo comments visibility"> 1026 <span class="jp-carousel-icon"> 1027 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1028 <mask id="maskComments" mask-type="alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="21" height="20"> 1029 <path fill-rule="evenodd" clip-rule="evenodd" d="M4.3271 2H20.2486C21.3432 2 22.2388 2.9 22.2388 4V16C22.2388 17.1 21.3432 18 20.2486 18H6.31729L2.33691 22V4C2.33691 2.9 3.2325 2 4.3271 2ZM6.31729 16H20.2486V4H4.3271V18L6.31729 16Z" fill="white"/> 1030 </mask> 1031 <g mask="url(#maskComments)"> 1032 <rect x="0.34668" width="23.8823" height="24" fill="#FFFFFF"/> 1033 </g> 1034 </svg> 1035 1036 <span class="jp-carousel-has-comments-indicator" aria-label="This image has comments."></span> 1037 </span> 1038 </a> 1039 </div>
1040 </div> 1041 <div class="jp-carousel-info-extra"> 1042 <div class="jp-carousel-info-content-wrapper"> 1043 <div class="jp-carousel-photo-title-container"> 1044 <div class="jp-carousel-photo-title"></div> 1045 </div> 1046 <div class="jp-carousel-comments-wrapper"> 1047 <div id="jp-carousel-comments-loading"> 1048 <span>Loading Comments...</span> 1049 </div> 1050 <div class="jp-carousel-comments"></div> 1051 <div id="jp-carousel-comment-form-container"> 1052 <span id="jp-carousel-comment-form-spinner"><svg class="jetpack-spinner" width="20" height="20" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false"><circle cx="50" cy="50" r="46" fill="none" stroke="#ddd" stroke-width="8"/><path d="M 50 4 A 46 46 0 0 1 96 50" fill="none" stroke="currentColor" stroke-width="8" stroke-linecap="round"><animateTransform attributeName="transform" type="rotate" dur="1.4s" from="0 50 50" to="360 50 50" repeatCount="indefinite"/></path></svg></span> 1053 <div id="jp-carousel-comment-post-results"></div> 1054 <form id="jp-carousel-comment-form"> 1055 <label for="jp-carousel-comment-form-comment-field" class="screen-reader-text">Write a Comment...</label> 1056 <textarea 1057 name="comment" 1058 class="jp-carousel-comment-form-field jp-carousel-comment-form-textarea" 1059 id="jp-carousel-comment-form-comment-field" 1060 placeholder="Write a Comment..." 1061 ></textarea> 1062 <div id="jp-carousel-comment-form-submit-and-info-wrapper"> 1063 <div id="jp-carousel-comment-form-commenting-as"> 1064 <fieldset> 1065 <label for="jp-carousel-comment-form-email-field">Email (Required)</label> 1066 <input type="text" name="email" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-email-field" /> 1067 </fieldset> 1068 <fieldset> 1069 <label for="jp-carousel-comment-form-author-field">Name (Required)</label> 1070 <input type="text" name="author" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-author-field" /> 1071 </fieldset> 1072 <fieldset> 1073 <label for="jp-carousel-comment-form-url-field">Website</label> 1074 <input type="text" name="url" class="jp-carousel-comment-form-field jp-carousel-comment-form-text-field" id="jp-carousel-comment-form-url-field" /> 1075 </fieldset> 1076 </div> 1077 <input 1078 type="submit" 1079 name="submit" 1080 class="jp-carousel-comment-form-button" 1081 id="jp-carousel-comment-form-button-submit" 1082 value="Post Comment" /> 1083 </div> 1084 </form> 1085 </div> 1086 </div> 1087 <div class="jp-carousel-image-meta"> 1088 <div class="jp-carousel-title-and-caption"> 1089 <div class="jp-carousel-photo-info"> 1090 <div class="jp-carousel-caption" itemprop="caption description"></div> 1091 </div> 1092 1093 <div class="jp-carousel-photo-description"></div> 1094 </div> 1095 <a class="jp-carousel-image-download" href="#" aria-label="Download image" target="_blank" style="display: none;"> 1096 <svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1097 <mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="3" y="3" width="19" height="18"> 1098 <path fill-rule="evenodd" clip-rule="evenodd" d="M5.84615 5V19H19.7775V12H21.7677V19C21.7677 20.1 20.8721 21 19.7775 21H5.84615C4.74159 21 3.85596 20.1 3.85596 19V5C3.85596 3.9 4.74159 3 5.84615 3H12.8118V5H5.84615ZM14.802 5V3H21.7677V10H19.7775V6.41L9.99569 16.24L8.59261 14.83L18.3744 5H14.802Z" fill="white"/> 1099 </mask> 1100 <g mask="url(#mask0)"> 1101 <rect x="0.870605" width="23.8823" height="24" fill="#FFFFFF"/> 1102 </g> 1103 </svg> 1104 <span class="jp-carousel-download-text"></span> 1105 </a> 1106 <div class="jp-carousel-image-map" style="display: none;"></div> 1107 </div> 1108 </div>
1109 </div> 1110 </div> 1111 </div> 1112 1113 </div> 1114 1115
1115<script type="text/javascript"> 1116 window.WPCOM_sharing_counts = {"https://samlearnsazure.blog/about-this-blog/":33}; 1117 </script>
1117 1118 1119
1119<script type="text/javascript"> 1120 (function () { 1121 var wpcom_reblog = { 1122 source: 'toolbar', 1123 1124 toggle_reblog_box_flair: function (obj_id, post_id) { 1125 1126 // Go to site selector. This will redirect to their blog if they only have one. 1127 const postEndpoint = `https://wordpress.com/post`; 1128 1129 // Ideally we would use the permalink here, but fortunately this will be replaced with the 1130 // post permalink in the editor. 1131 const originalURL = `${ document.location.href }?page_id=${ post_id }`; 1132 1133 const url = 1134 postEndpoint + 1135 '?url=' + 1136 encodeURIComponent( originalURL ) + 1137 '&is_post_share=true' + 1138 '&v=5'; 1139 1140 const redirect = function () { 1141 if ( 1142 ! window.open( url, '_blank' ) 1143 ) { 1144 location.href = url; 1145 } 1146 }; 1147 1148 if ( /Firefox/.test( navigator.userAgent ) ) { 1149 setTimeout( redirect, 0 ); 1150 } else { 1151 redirect(); 1152 } 1153 }, 1154 }; 1155 1156 window.wpcom_reblog = wpcom_reblog; 1157 })(); 1158 </script>
vendor: 1 bytes, line 1158
1158
1159<script id="comment-like-js-extra"> 1160var comment_like_text = {"loading":"Loading...","swipeUrl":"https://s2.wp.com/wp-content/mu-plugins/comment-likes/js/lib/swipe.js?m=1382645497i&ver=20131008"}; 1161//# sourceURL=comment-like-js-extra 1162</script>
vendor: 1 bytes, line 1162
1162
1163<script id="coblocks-loader-js-extra"> 1164var wpcom_coblocks_js = {"coblocks_masonry_js":"https://s2.wp.com/wp-content/plugins/coblocks/2.18.1-simple-rev.4/dist/js/coblocks-masonry.min.js?m=1681832297i","coblocks_lightbox_js":"https://s2.wp.com/wp-content/plugins/coblocks/2.18.1-simple-rev.4/dist/js/coblocks-lightbox.min.js?m=1681832297i","jquery_core_js":"/wp-includes/js/jquery/jquery.min.js","jquery_migrate_js":"/wp-includes/js/jquery/jquery-migrate.min.js","masonry_js":"/wp-includes/js/masonry.min.js","imagesloaded_js":"/wp-includes/js/imagesloaded.min.js"}; 1165var coblocksLigthboxData = {"closeLabel":"Close Gallery","leftLabel":"Previous","rightLabel":"Next"}; 1166//# sourceURL=coblocks-loader-js-extra 1167</script>
vendor: 1 bytes, line 1167
1167
1168<script id="jetpack-carousel-js-extra"> 1169var jetpackSwiperLibraryPath = {"url":"/wp-content/mu-plugins/jetpack-plugin/sun/_inc/blocks/swiper.js"}; 1170var jetpackCarouselStrings = {"widths":[370,700,1000,1200,1400,2000],"is_logged_in":"","lang":"en","ajaxurl":"https://samlearnsazure.blog/wp-admin/admin-ajax.php","nonce":"f8a59d4b08","display_exif":"1","display_comments":"1","single_image_gallery":"1","single_image_gallery_media_file":"","background_color":"black","comment":"Comment","post_comment":"Post Comment","write_comment":"Write a Comment...","loading_comments":"Loading Comments...","image_label":"Open image in full-screen.","download_original":"View full size \u003Cspan class=\"photo-size\"\u003E{0}\u003Cspan class=\"photo-size-times\"\u003E\u00d7\u003C/span\u003E{1}\u003C/span\u003E","no_comment_text":"Please be sure to submit some text with your comment.","no_comment_email":"Please provide an email address to comment.","no_comment_author":"Please provide your name to comment.","comment_post_error":"Sorry, but there was an error posting your comment. Please try again later.","comment_approved":"Your comment was approved.","comment_unapproved":"Your comment is in moderation.","camera":"Camera","aperture":"Aperture","shutter_speed":"Shutter Speed","focal_length":"Focal Length","copyright":"Copyright","comment_registration":"0","require_name_email":"1","login_url":"https://samlearnsazure.wordpress.com/wp-login.php?redirect_to=https%3A%2F%2Fsamlearnsazure.blog%2Fabout-this-blog%2F","blog_id":"157191818","meta_data":["camera","aperture","shutter_speed","focal_length","copyright"],"stats_query_args":"blog=157191818&v=wpcom&tz=-4&user_id=0&subd=samlearnsazure","is_public":"1"}; 1171//# sourceURL=jetpack-carousel-js-extra 1172</script>
vendor: 1 bytes, line 1172
1172
1173<script id="sharing-js-js-extra"> 1174var sharing_js_options = {"lang":"en","counts":"1","is_stats_active":"1"}; 1175//# sourceURL=sharing-js-js-extra 1176</script>
vendor: 1 bytes, line 1176
1176
1177<script crossorigin='anonymous' type='text/javascript' src='/_static/??-eJydj10KwjAQhC9kuq0Wqg/iUSRNlpo0f2YTi7e32FahiIJvO8M3wywMgQnvEroENrNgcqccgVE9ElwzZrxwJw3GQtMGPsPCWztabArplbEOvlOt8aIn2BbVvqgYKRsMsoi3ogapKE1NE8SM53IcYZX7MkRjClz0swbKDs7KCWizMhIEjz4Tmhe2GD9aF4wNYXxsJf9eQxceUXIp789TuW6ecbLHqjmUZVPu6lo/AOTamnw='></script>
vendor: 1 bytes, line 1177
1177
1178<script id="sharing-js-js-after"> 1179window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {}; 1180window.WPCOM_sharing_popups[ "twitter" ] = "menubar=1,resizable=1,width=600,height=350"; 1181window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {}; 1182window.WPCOM_sharing_popups[ "linkedin" ] = "menubar=1,resizable=1,width=580,height=450"; 1183window.WPCOM_sharing_popups = window.WPCOM_sharing_popups || {}; 1184window.WPCOM_sharing_popups[ "facebook" ] = "menubar=1,resizable=1,width=600,height=400"; 1185//# sourceURL=sharing-js-js-after 1186</script>
vendor: 1 bytes, line 1186
1186
1187<script id="wp-emoji-settings" type="application/json"> 1188{"baseUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/","ext":".png","svgUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/svg/","svgExt":".svg","source":{"concatemoji":"/wp-includes/js/wp-emoji-release.min.js?m=1783090810i&ver=7.1.1-alpha-63587"}} 1189</script>
vendor: 1 bytes, line 1189
1189
1190<script type="module"> 1191/*! This file is auto-generated */ 1192var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 1193//# sourceURL=/wp-includes/js/wp-emoji-loader.min.js 1194</script>
1194 1195 <iframe src='https://widgets.wp.com/likes/master.html?ver=20260930#ver=20260930' scrolling='no' id='likes-master' name='likes-master' style='display:none;'></iframe> 1196 <div id='likes-other-gravatars' role="dialog" aria-hidden="true" tabindex="-1"><div class="likes-text"><span>%d</span></div><ul class="wpl-avatars sd-like-gravatars"></ul></div> 1197
1197<script src="//stats.wp.com/w.js?69" defer></script>
1197
1197<script type="text/javascript"> 1198_tkq = window._tkq || []; 1199_stq = window._stq || []; 1200_tkq.push(['storeContext', {'blog_id':'157191818','blog_tz':'-4','user_lang':'en','blog_lang':'en','user_id':'0'}]); 1201 // Prevent sending pageview tracking from WP-Admin pages. 1202 _stq.push(['view', {'blog':'157191818','v':'wpcom','tz':'-4','user_id':'0','post':'33','subd':'samlearnsazure'}]); 1203 _stq.push(['extra', {'crypt':'UE5tW3cvZGRRbjJQRiZEdTgmRUtaQksuS0RSU2ddYzk9YkwmZk02LiVzMER5cXB4Z0ZJbUstX0RbOG9XRGpoK35pZkNBbW9VZ1dweGttVGJJWmhCd2lTOFlFVVBzVno3LWNDU25oVjV8MjJfWVlVVXVSMzUsLGFqeV15LUwzX3FWL0w9YUNML2UwVzgmeGYwWVBySEZdUmlVLH52T19kdHMtQXMxVVouZD1PSFEvbnJMP3pocHc4M3lBK1RBK3JQPzVNeSxvLyVwNWomRVFhSnc0L1M/Vl1nb10uL29sXXh0ei1UWA=='}]); 1204_stq.push([ 'clickTrackerInit', '157191818', '33' ]); 1205</script>
1205 1206<noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript> 1207<meta id="bilmur" property="bilmur:data" content="" data-provider="wordpress.com" data-service="simple" data-site-tz="America/New_York" data-custom-props="{"enq_jquery":"1","logged_in":"0","wptheme":"premium\/maxwell","wptheme_is_block":"0"}" > 1208
1208<script defer src="/wp-content/js/bilmur.min.js?i=19&m=202640"></script>
1208 1209</body> 1210</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.