';\n\n for (let diagnostic of diagnostics) {\n let stack = diagnostic.frames.length ? diagnostic.frames.reduce((p, frame) => {\n return `${p}\n
${frame.location}\n${frame.code}`;\n }, '') : diagnostic.stack;\n errorHTML += `\n
\n
\n 🚨 ${diagnostic.message}\n
\n
${stack}\n
\n ${diagnostic.hints.map(hint => '
💡 ' + hint + '
').join('')}\n
\n ${diagnostic.documentation ? `
` : ''}\n
\n `;\n }\n\n errorHTML += '
';\n overlay.innerHTML = errorHTML;\n return overlay;\n}\n\nfunction fullReload() {\n if ('reload' in location) {\n location.reload();\n } else if (extCtx && extCtx.runtime && extCtx.runtime.reload) {\n extCtx.runtime.reload();\n }\n}\n\nfunction getParents(bundle, id)\n/*: Array<[ParcelRequire, string]> */\n{\n var modules = bundle.modules;\n\n if (!modules) {\n return [];\n }\n\n var parents = [];\n var k, d, dep;\n\n for (k in modules) {\n for (d in modules[k][1]) {\n dep = modules[k][1][d];\n\n if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {\n parents.push([bundle, k]);\n }\n }\n }\n\n if (bundle.parent) {\n parents = parents.concat(getParents(bundle.parent, id));\n }\n\n return parents;\n}\n\nfunction updateLink(link) {\n var newLink = link.cloneNode();\n\n newLink.onload = function () {\n if (link.parentNode !== null) {\n // $FlowFixMe\n link.parentNode.removeChild(link);\n }\n };\n\n newLink.setAttribute('href', // $FlowFixMe\n link.getAttribute('href').split('?')[0] + '?' + Date.now()); // $FlowFixMe\n\n link.parentNode.insertBefore(newLink, link.nextSibling);\n}\n\nvar cssTimeout = null;\n\nfunction reloadCSS() {\n if (cssTimeout) {\n return;\n }\n\n cssTimeout = setTimeout(function () {\n var links = document.querySelectorAll('link[rel=\"stylesheet\"]');\n\n for (var i = 0; i < links.length; i++) {\n // $FlowFixMe[incompatible-type]\n var href\n /*: string */\n = links[i].getAttribute('href');\n var hostname = getHostname();\n var servedFromHMRServer = hostname === 'localhost' ? new RegExp('^(https?:\\\\/\\\\/(0.0.0.0|127.0.0.1)|localhost):' + getPort()).test(href) : href.indexOf(hostname + ':' + getPort());\n var absolute = /^https?:\\/\\//i.test(href) && href.indexOf(location.origin) !== 0 && !servedFromHMRServer;\n\n if (!absolute) {\n updateLink(links[i]);\n }\n }\n\n cssTimeout = null;\n }, 50);\n}\n\nfunction hmrDownload(asset) {\n if (asset.type === 'js') {\n if (typeof document !== 'undefined') {\n let script = document.createElement('script');\n script.src = asset.url + '?t=' + Date.now();\n\n if (asset.outputFormat === 'esmodule') {\n script.type = 'module';\n }\n\n return new Promise((resolve, reject) => {\n var _document$head;\n\n script.onload = () => resolve(script);\n\n script.onerror = reject;\n (_document$head = document.head) === null || _document$head === void 0 ? void 0 : _document$head.appendChild(script);\n });\n } else if (typeof importScripts === 'function') {\n // Worker scripts\n if (asset.outputFormat === 'esmodule') {\n return __parcel__import__(asset.url + '?t=' + Date.now());\n } else {\n return new Promise((resolve, reject) => {\n try {\n __parcel__importScripts__(asset.url + '?t=' + Date.now());\n\n resolve();\n } catch (err) {\n reject(err);\n }\n });\n }\n }\n }\n}\n\nasync function hmrApplyUpdates(assets) {\n global.parcelHotUpdate = Object.create(null);\n let scriptsToRemove;\n\n try {\n // If sourceURL comments aren't supported in eval, we need to load\n // the update from the dev server over HTTP so that stack traces\n // are correct in errors/logs. This is much slower than eval, so\n // we only do it if needed (currently just Safari).\n // https://bugs.webkit.org/show_bug.cgi?id=137297\n // This path is also taken if a CSP disallows eval.\n if (!supportsSourceURL) {\n let promises = assets.map(asset => {\n var _hmrDownload;\n\n return (_hmrDownload = hmrDownload(asset)) === null || _hmrDownload === void 0 ? void 0 : _hmrDownload.catch(err => {\n // Web extension bugfix for Chromium\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1255412#c12\n if (extCtx && extCtx.runtime && extCtx.runtime.getManifest().manifest_version == 3) {\n if (typeof ServiceWorkerGlobalScope != 'undefined' && global instanceof ServiceWorkerGlobalScope) {\n extCtx.runtime.reload();\n return;\n }\n\n asset.url = extCtx.runtime.getURL('/__parcel_hmr_proxy__?url=' + encodeURIComponent(asset.url + '?t=' + Date.now()));\n return hmrDownload(asset);\n }\n\n throw err;\n });\n });\n scriptsToRemove = await Promise.all(promises);\n }\n\n assets.forEach(function (asset) {\n hmrApply(module.bundle.root, asset);\n });\n } finally {\n delete global.parcelHotUpdate;\n\n if (scriptsToRemove) {\n scriptsToRemove.forEach(script => {\n if (script) {\n var _document$head2;\n\n (_document$head2 = document.head) === null || _document$head2 === void 0 ? void 0 : _document$head2.removeChild(script);\n }\n });\n }\n }\n}\n\nfunction hmrApply(bundle\n/*: ParcelRequire */\n, asset\n/*: HMRAsset */\n) {\n var modules = bundle.modules;\n\n if (!modules) {\n return;\n }\n\n if (asset.type === 'css') {\n reloadCSS();\n } else if (asset.type === 'js') {\n let deps = asset.depsByBundle[bundle.HMR_BUNDLE_ID];\n\n if (deps) {\n if (modules[asset.id]) {\n // Remove dependencies that are removed and will become orphaned.\n // This is necessary so that if the asset is added back again, the cache is gone, and we prevent a full page reload.\n let oldDeps = modules[asset.id][1];\n\n for (let dep in oldDeps) {\n if (!deps[dep] || deps[dep] !== oldDeps[dep]) {\n let id = oldDeps[dep];\n let parents = getParents(module.bundle.root, id);\n\n if (parents.length === 1) {\n hmrDelete(module.bundle.root, id);\n }\n }\n }\n }\n\n if (supportsSourceURL) {\n // Global eval. We would use `new Function` here but browser\n // support for source maps is better with eval.\n (0, eval)(asset.output);\n } // $FlowFixMe\n\n\n let fn = global.parcelHotUpdate[asset.id];\n modules[asset.id] = [fn, deps];\n } else if (bundle.parent) {\n hmrApply(bundle.parent, asset);\n }\n }\n}\n\nfunction hmrDelete(bundle, id) {\n let modules = bundle.modules;\n\n if (!modules) {\n return;\n }\n\n if (modules[id]) {\n // Collect dependencies that will become orphaned when this module is deleted.\n let deps = modules[id][1];\n let orphans = [];\n\n for (let dep in deps) {\n let parents = getParents(module.bundle.root, deps[dep]);\n\n if (parents.length === 1) {\n orphans.push(deps[dep]);\n }\n } // Delete the module. This must be done before deleting dependencies in case of circular dependencies.\n\n\n delete modules[id];\n delete bundle.cache[id]; // Now delete the orphans.\n\n orphans.forEach(id => {\n hmrDelete(module.bundle.root, id);\n });\n } else if (bundle.parent) {\n hmrDelete(bundle.parent, id);\n }\n}\n\nfunction hmrAcceptCheck(bundle\n/*: ParcelRequire */\n, id\n/*: string */\n, depsByBundle\n/*: ?{ [string]: { [string]: string } }*/\n) {\n if (hmrAcceptCheckOne(bundle, id, depsByBundle)) {\n return true;\n } // Traverse parents breadth first. All possible ancestries must accept the HMR update, or we'll reload.\n\n\n let parents = getParents(module.bundle.root, id);\n let accepted = false;\n\n while (parents.length > 0) {\n let v = parents.shift();\n let a = hmrAcceptCheckOne(v[0], v[1], null);\n\n if (a) {\n // If this parent accepts, stop traversing upward, but still consider siblings.\n accepted = true;\n } else {\n // Otherwise, queue the parents in the next level upward.\n let p = getParents(module.bundle.root, v[1]);\n\n if (p.length === 0) {\n // If there are no parents, then we've reached an entry without accepting. Reload.\n accepted = false;\n break;\n }\n\n parents.push(...p);\n }\n }\n\n return accepted;\n}\n\nfunction hmrAcceptCheckOne(bundle\n/*: ParcelRequire */\n, id\n/*: string */\n, depsByBundle\n/*: ?{ [string]: { [string]: string } }*/\n) {\n var modules = bundle.modules;\n\n if (!modules) {\n return;\n }\n\n if (depsByBundle && !depsByBundle[bundle.HMR_BUNDLE_ID]) {\n // If we reached the root bundle without finding where the asset should go,\n // there's nothing to do. Mark as \"accepted\" so we don't reload the page.\n if (!bundle.parent) {\n return true;\n }\n\n return hmrAcceptCheck(bundle.parent, id, depsByBundle);\n }\n\n if (checkedAssets[id]) {\n return true;\n }\n\n checkedAssets[id] = true;\n var cached = bundle.cache[id];\n assetsToDispose.push([bundle, id]);\n\n if (!cached || cached.hot && cached.hot._acceptCallbacks.length) {\n assetsToAccept.push([bundle, id]);\n return true;\n }\n}\n\nfunction hmrDispose(bundle\n/*: ParcelRequire */\n, id\n/*: string */\n) {\n var cached = bundle.cache[id];\n bundle.hotData[id] = {};\n\n if (cached && cached.hot) {\n cached.hot.data = bundle.hotData[id];\n }\n\n if (cached && cached.hot && cached.hot._disposeCallbacks.length) {\n cached.hot._disposeCallbacks.forEach(function (cb) {\n cb(bundle.hotData[id]);\n });\n }\n\n delete bundle.cache[id];\n}\n\nfunction hmrAccept(bundle\n/*: ParcelRequire */\n, id\n/*: string */\n) {\n // Execute the module.\n bundle(id); // Run the accept callbacks in the new version of the module.\n\n var cached = bundle.cache[id];\n\n if (cached && cached.hot && cached.hot._acceptCallbacks.length) {\n cached.hot._acceptCallbacks.forEach(function (cb) {\n var assetsToAlsoAccept = cb(function () {\n return getParents(module.bundle.root, id);\n });\n\n if (assetsToAlsoAccept && assetsToAccept.length) {\n assetsToAlsoAccept.forEach(function (a) {\n hmrDispose(a[0], a[1]);\n }); // $FlowFixMe[method-unbinding]\n\n assetsToAccept.push.apply(assetsToAccept, assetsToAlsoAccept);\n }\n });\n }\n}","import React from \"react\";\nimport { Header } from \"./components/Header\";\nimport { Body } from \"./components/Body\";\nimport { About } from \"./components/About\"; // Named import\nimport Contact from \"./components/Contact\"; // Default import\nimport Cart from \"./components/Cart\";\nimport ErrorPage from \"./components/Error\";\nimport RestaurantMenu from \"./components/RestrauntMenu\";\nimport { createBrowserRouter, RouterProvider,Outlet } from \"react-router-dom\";\nimport { createRoot } from 'react-dom/client';\n\n// RouterProvider is a context provider that provides routing context to all descendants.\n\n/** react router dom provides something called as Outlet \n * Outlet is a placeholder for the content of the current route.\n * Outlet is a component that renders the content of the current route.\n*/\n\nimport { Outlet } from \"react-router-dom\";\nconst AppLayout = () => {\n return (\n