1<!DOCTYPE html> 2 <!-- Published 710f1a33-9a87-409e-a268-7fe7ad81a9b2 created by Magic Patterns: https://www.magicpatterns.com/ --> 3 <html lang="en" dir="ltr" style="overflow:auto;" class="light"> 4 <head> 5 <meta charset="UTF-8" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge" /> 8 <title>Food Pavilion Events Hub</title> 9 <meta property="og:title" content="Food Pavilion Events Hub" /> 10 11 12 13 <meta property="og:type" content="website" /> 14 15 <meta property="og:image" content="https://cdn.magicpatterns.com/previews/artifact/710f1a33-9a87-409e-a268-7fe7ad81a9b2.png" /> 16 <meta property="og:image:width" content="1200" /> 17 <meta property="og:image:height" content="630" /> 18 <meta property="og:image:secure_url" content="https://cdn.magicpatterns.com/previews/artifact/710f1a33-9a87-409e-a268-7fe7ad81a9b2.png" /> 19 <meta property="og:image:type" content="image/png" /> 20 <meta name="twitter:card" content="summary_large_image" /> 21 <meta name="twitter:image" content="https://cdn.magicpatterns.com/previews/artifact/710f1a33-9a87-409e-a268-7fe7ad81a9b2.png" /> 22 <meta name="twitter:image:src" content="https://cdn.magicpatterns.com/previews/artifact/710f1a33-9a87-409e-a268-7fe7ad81a9b2.png" /> 23 <link rel="image_src" href="https://cdn.magicpatterns.com/previews/artifact/710f1a33-9a87-409e-a268-7fe7ad81a9b2.png" /> 24 25 <link rel="stylesheet" type="text/css" href="https://cdn.magicpatterns.com/patterns/bundles/1ef99c8e-6d2d-4ae3-8f39-16ad40b53eca/d3ec60da-4eb2-418b-abff-80fa47a80793/index-1ef99c8e-6d2d-4ae3-8f39-16ad40b53eca.css" crossorigin="anonymous"> 26 <link rel="preconnect" href="https://fonts.googleapis.com"> 27 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 28 <link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> 29 30 31 </head> 32 <body style="margin:0;font-family:"'Inter','Inter',sans-serif;"> 33 34 <style> 35 @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap'); 36 .mp-badge .close-btn { opacity: 0; pointer-events: none; } 37 .mp-badge:hover .close-btn { opacity: 1; pointer-events: auto; } 38 </style> 39 <div 40 class="mp-badge" 41 style="position: fixed; bottom: 16px; right: 16px; z-index: 99999; font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif;"> 42 <div class="close-btn" 43 aria-label="Close Magic Patterns Badge" 44 onclick="event.stopPropagation(); this.parentElement.style.display='none';" 45 style=" 46 position: absolute; 47 top: -8px; 48 right: -8px; 49 width: 18px; 50 height: 18px; 51 font-size: 12px; 52 cursor: pointer; 53 color: rgba(0,22,23,0.55); 54 font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif; 55 line-height: 18px; 56 text-align: center; 57 background-color: #FFFFFF; 58 border-radius: 9999px; 59 display: flex; 60 align-items: center; 61 justify-content: center; 62 transition: all 0.15s ease; 63 z-index: 1; 64 user-select: none; 65 box-shadow: 0 1px 3px rgba(0,22,23,0.12); 66 border: 1px solid rgba(0,22,23,0.12);" 67 > 68 <svg width="6" height="6" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg" style="display: block;"> 69 <path d="M1 1L9 9M9 1L1 9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/> 70 </svg> 71 </div> 72 <a target="_blank" href="https://www.magicpatterns.com/c/x7mebslcfdeyrgz4wp71xn" style=" 73 border-radius: 9999px; 74 border: 1px solid rgba(0,22,23,0.12); 75 display: flex; 76 align-items: center; 77 gap: 8px; 78 padding: 8px 16px 8px 14px; 79 box-shadow: 0 2px 8px rgba(0,22,23,0.08), 0 1px 2px rgba(0,22,23,0.06); 80 cursor: pointer; 81 transition: box-shadow 0.2s ease; 82 text-decoration: none; 83 background: #FFFFFF;" 84 onmouseenter="this.style.boxShadow='0 4px 14px rgba(0,22,23,0.12), 0 2px 4px rgba(0,22,23,0.08)';" 85 onmouseleave="this.style.boxShadow='0 2px 8px rgba(0,22,23,0.08), 0 1px 2px rgba(0,22,23,0.06)';" 86 > 87 <img src="https://www.magicpatterns.com/MP_logo.png" alt="Magic Patterns" style=" 88 height: 18px; 89 width: auto; 90 display: block; 91 position: relative; 92 z-index: 1; 93 ">
94 <span style="font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif; font-size: 14px; font-weight: 500; color: rgb(0,22,23);"> 95 Built with Magic Patterns 96 </span> 97 </a> 98 </div> 99 100 <div id="root" /> 101 102 103 104 105 106
106<script src="https://cdn.magicpatterns.com/patterns/bundles/1ef99c8e-6d2d-4ae3-8f39-16ad40b53eca/d3ec60da-4eb2-418b-abff-80fa47a80793/index-1ef99c8e-6d2d-4ae3-8f39-16ad40b53eca.js" type="module" crossorigin="anonymous" async></script>
106 107
107<script> 108(function() { 109 // Track the last known path to avoid duplicate messages 110 let lastPath = window.location.pathname; 111 112 // Helper function to notify parent of route changes 113 function notifyRouteChange(path) { 114 if (path !== lastPath) { 115 lastPath = path; 116 window.parent.postMessage({ 117 id: '32e19ac5-03a9-4f3f-ad41-3d1dbb43ea96', 118 type: 'ROUTE_CHANGED', 119 path: path 120 }, '*'); 121 } 122 } 123 124 // Override pushState 125 const originalPushState = history.pushState; 126 history.pushState = function() { 127 originalPushState.apply(history, arguments); 128 notifyRouteChange(window.location.pathname); 129 }; 130 131 // Override replaceState 132 const originalReplaceState = history.replaceState; 133 history.replaceState = function() { 134 originalReplaceState.apply(history, arguments); 135 notifyRouteChange(window.location.pathname); 136 }; 137 138 // Listen for popstate (browser back/forward) 139 window.addEventListener('popstate', function() { 140 notifyRouteChange(window.location.pathname); 141 }); 142 143 // Listen for hash changes 144 window.addEventListener('hashchange', function() { 145 notifyRouteChange(window.location.pathname + window.location.hash); 146 }); 147 148 // Also monitor clicks for client-side routing that might not use History API 149 // This is a fallback for edge cases 150 let checkInterval; 151 document.addEventListener('click', function(e) { 152 // Clear any existing interval 153 if (checkInterval) clearInterval(checkInterval); 154 155 // Check for route changes over the next 100ms 156 let checks = 0; 157 checkInterval = setInterval(function() { 158 checks++; 159 const currentPath = window.location.pathname; 160 if (currentPath !== lastPath) { 161 notifyRouteChange(currentPath); 162 clearInterval(checkInterval); 163 } 164 // Stop checking after 10 attempts (100ms total) 165 if (checks >= 10) { 166 clearInterval(checkInterval); 167 } 168 }, 10); 169 }); 170 171 // Notify parent of initial path on load 172 window.addEventListener('load', function() { 173 window.parent.postMessage({ 174 id: '32e19ac5-03a9-4f3f-ad41-3d1dbb43ea96', 175 type: 'ROUTE_CHANGED', 176 path: window.location.pathname 177 }, '*'); 178 }); 179})(); 180</script>
180 181 182 183 184 185 186 187 188 189 190
190<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"e867a81586484a148de12267bf4d1b46","spa":2}' crossorigin="anonymous"></script>
190 191</body> 192 </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.