92 lines
88 KiB
JavaScript
92 lines
88 KiB
JavaScript
"use strict";
|
|
/*
|
|
* ATTENTION: An "eval-source-map" devtool has been used.
|
|
* This devtool is neither made for production nor for readable output files.
|
|
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
|
|
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
|
|
* or disable the default devtool with "devtool: false".
|
|
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
|
|
*/
|
|
self["webpackHotUpdate_N_E"]("app/page",{
|
|
|
|
/***/ "(app-pages-browser)/./src/components/CameraCapture.tsx":
|
|
/*!******************************************!*\
|
|
!*** ./src/components/CameraCapture.tsx ***!
|
|
\******************************************/
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ CameraCapture; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,Camera,CheckCircle2,Sparkles,Upload!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/camera.js\");\n/* harmony import */ var _barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,Camera,CheckCircle2,Sparkles,Upload!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/check-circle-2.js\");\n/* harmony import */ var _barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,Camera,CheckCircle2,Sparkles,Upload!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/upload.js\");\n/* harmony import */ var _barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,Camera,CheckCircle2,Sparkles,Upload!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/alert-circle.js\");\n/* harmony import */ var _barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! __barrel_optimize__?names=AlertCircle,Camera,CheckCircle2,Sparkles,Upload!=!lucide-react */ \"(app-pages-browser)/./node_modules/lucide-react/dist/esm/icons/sparkles.js\");\n/* harmony import */ var _supabase_auth_helpers_nextjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @supabase/auth-helpers-nextjs */ \"(app-pages-browser)/./node_modules/@supabase/auth-helpers-nextjs/dist/index.js\");\n/* harmony import */ var _supabase_auth_helpers_nextjs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_supabase_auth_helpers_nextjs__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _services_analyze_bottle__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/services/analyze-bottle */ \"(app-pages-browser)/./src/services/analyze-bottle.ts\");\n/* harmony import */ var _services_save_bottle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/services/save-bottle */ \"(app-pages-browser)/./src/services/save-bottle.ts\");\n/* harmony import */ var _lib_offline_db__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/offline-db */ \"(app-pages-browser)/./src/lib/offline-db.ts\");\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! uuid */ \"(app-pages-browser)/./node_modules/uuid/dist/v4.js\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\n\n\nfunction CameraCapture(param) {\n let { onImageCaptured, onAnalysisComplete, onSaveComplete } = param;\n _s();\n const supabase = (0,_supabase_auth_helpers_nextjs__WEBPACK_IMPORTED_MODULE_2__.createClientComponentClient)();\n const fileInputRef = (0,react__WEBPACK_IMPORTED_MODULE_1__.useRef)(null);\n const [isProcessing, setIsProcessing] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [isSaving, setIsSaving] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const [previewUrl, setPreviewUrl] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [analysisResult, setAnalysisResult] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [isQueued, setIsQueued] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);\n const handleCapture = async (event)=>{\n var _event_target_files;\n const file = (_event_target_files = event.target.files) === null || _event_target_files === void 0 ? void 0 : _event_target_files[0];\n if (!file) return;\n setIsProcessing(true);\n setError(null);\n setAnalysisResult(null);\n setIsQueued(false);\n try {\n const compressedBase64 = await compressImage(file);\n setPreviewUrl(compressedBase64);\n if (onImageCaptured) {\n onImageCaptured(compressedBase64);\n }\n // Check if Offline\n if (!navigator.onLine) {\n console.log(\"Offline detected. Queuing image...\");\n await (0,_lib_offline_db__WEBPACK_IMPORTED_MODULE_5__.savePendingBottle)({\n id: (0,uuid__WEBPACK_IMPORTED_MODULE_6__[\"default\"])(),\n imageBase64: compressedBase64,\n timestamp: Date.now()\n });\n setIsQueued(true);\n return;\n }\n const response = await (0,_services_analyze_bottle__WEBPACK_IMPORTED_MODULE_3__.analyzeBottle)(compressedBase64);\n if (response.success && response.data) {\n setAnalysisResult(response.data);\n if (onAnalysisComplete) {\n onAnalysisComplete(response.data);\n }\n } else {\n setError(response.error || \"Analyse fehlgeschlagen.\");\n }\n } catch (err) {\n console.error(\"Processing failed:\", err);\n setError(\"Verarbeitung fehlgeschlagen. Bitte erneut versuchen.\");\n } finally{\n setIsProcessing(false);\n }\n };\n const handleSave = async ()=>{\n if (!analysisResult || !previewUrl) return;\n setIsSaving(true);\n setError(null);\n try {\n // Get current user (simple check for now, can be improved with Auth)\n const { data: { user } } = await supabase.auth.getUser();\n if (!user) {\n throw new Error(\"Bitte melde dich an, um Flaschen zu speichern.\");\n }\n const response = await (0,_services_save_bottle__WEBPACK_IMPORTED_MODULE_4__.saveBottle)(analysisResult, previewUrl, user.id);\n if (response.success) {\n setPreviewUrl(null);\n setAnalysisResult(null);\n if (onSaveComplete) onSaveComplete();\n // Optionale Erfolgsmeldung oder Redirect\n } else {\n setError(response.error || \"Speichern fehlgeschlagen.\");\n }\n } catch (err) {\n console.error(\"Save failed:\", err);\n setError(err instanceof Error ? err.message : \"Speichern fehlgeschlagen.\");\n } finally{\n setIsSaving(false);\n }\n };\n const compressImage = (file)=>{\n return new Promise((resolve, reject)=>{\n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = (event)=>{\n var _event_target;\n const img = new Image();\n img.src = (_event_target = event.target) === null || _event_target === void 0 ? void 0 : _event_target.result;\n img.onload = ()=>{\n const canvas = document.createElement(\"canvas\");\n const MAX_WIDTH = 1024;\n let width = img.width;\n let height = img.height;\n if (width > MAX_WIDTH) {\n height = height * MAX_WIDTH / width;\n width = MAX_WIDTH;\n }\n canvas.width = width;\n canvas.height = height;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) {\n reject(new Error(\"Canvas context not available\"));\n return;\n }\n ctx.drawImage(img, 0, 0, width, height);\n const base64 = canvas.toDataURL(\"image/jpeg\", 0.8);\n resolve(base64);\n };\n img.onerror = reject;\n };\n reader.onerror = reject;\n });\n };\n const triggerUpload = ()=>{\n var _fileInputRef_current;\n (_fileInputRef_current = fileInputRef.current) === null || _fileInputRef_current === void 0 ? void 0 : _fileInputRef_current.click();\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center gap-6 w-full max-w-md mx-auto p-6 bg-white dark:bg-zinc-900 rounded-3xl shadow-2xl border border-zinc-200 dark:border-zinc-800 transition-all hover:shadow-whisky-amber/20\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-2xl font-bold text-zinc-800 dark:text-zinc-100 italic\",\n children: \"Magic Shot\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 149,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative group cursor-pointer w-full aspect-square rounded-2xl border-2 border-dashed border-zinc-300 dark:border-zinc-700 overflow-hidden flex items-center justify-center bg-zinc-50 dark:bg-zinc-800/50 hover:border-amber-500 transition-colors\",\n onClick: triggerUpload,\n children: [\n previewUrl ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"img\", {\n src: previewUrl,\n alt: \"Preview\",\n className: \"w-full h-full object-cover\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 156,\n columnNumber: 21\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col items-center gap-2 text-zinc-400 group-hover:text-amber-500 transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n size: 48,\n strokeWidth: 1.5\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 159,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-medium\",\n children: \"Flasche scannen\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 160,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 158,\n columnNumber: 21\n }, this),\n isProcessing && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"absolute inset-0 bg-black/50 backdrop-blur-sm flex items-center justify-center\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-spin rounded-full h-12 w-12 border-b-2 border-white\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 166,\n columnNumber: 25\n }, this)\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 165,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 151,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"file\",\n accept: \"image/*\",\n capture: \"environment\",\n ref: fileInputRef,\n onChange: handleCapture,\n className: \"hidden\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 171,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: previewUrl && analysisResult ? handleSave : triggerUpload,\n disabled: isProcessing || isSaving,\n className: \"w-full py-4 px-6 bg-amber-600 hover:bg-amber-700 text-white rounded-xl font-semibold flex items-center justify-center gap-2 transition-all active:scale-[0.98] shadow-lg shadow-amber-600/20 disabled:opacity-50\",\n children: isSaving ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-spin rounded-full h-5 w-5 border-b-2 border-white\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 187,\n columnNumber: 25\n }, this),\n \"Wird gespeichert...\"\n ]\n }, void 0, true) : previewUrl && analysisResult ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n size: 20\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 192,\n columnNumber: 25\n }, this),\n \"Im Vault speichern\"\n ]\n }, void 0, true) : previewUrl ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n size: 20\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 197,\n columnNumber: 25\n }, this),\n \"Neu aufnehmen\"\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n size: 20\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 202,\n columnNumber: 25\n }, this),\n \"Kamera \\xf6ffnen\"\n ]\n }, void 0, true)\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 180,\n columnNumber: 13\n }, this),\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 text-red-500 text-sm bg-red-50 dark:bg-red-900/10 p-3 rounded-lg w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_10__[\"default\"], {\n size: 16\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 210,\n columnNumber: 21\n }, this),\n error\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 209,\n columnNumber: 17\n }, this),\n previewUrl && !isProcessing && !error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-3 w-full animate-in fade-in slide-in-from-top-4 duration-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 text-green-500 text-sm bg-green-50 dark:bg-green-900/10 p-3 rounded-lg w-full\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n size: 16\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 218,\n columnNumber: 25\n }, this),\n \"Bild erfolgreich analysiert\"\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 217,\n columnNumber: 21\n }, this),\n analysisResult && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"p-4 bg-zinc-50 dark:bg-zinc-800/50 rounded-2xl border border-zinc-200 dark:border-zinc-700\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2 mb-3 text-amber-600 dark:text-amber-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_barrel_optimize_names_AlertCircle_Camera_CheckCircle2_Sparkles_Upload_lucide_react__WEBPACK_IMPORTED_MODULE_11__[\"default\"], {\n size: 18\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 225,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-bold text-sm uppercase tracking-wider\",\n children: \"Ergebnisse\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 226,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 224,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-zinc-500\",\n children: \"Name:\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 230,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold\",\n children: analysisResult.name || \"-\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 231,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 229,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-zinc-500\",\n children: \"Distille:\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 234,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold\",\n children: analysisResult.distillery || \"-\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 235,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 233,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-zinc-500\",\n children: \"Kategorie:\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 238,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold\",\n children: analysisResult.category || \"-\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 239,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 237,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-zinc-500\",\n children: \"ABV:\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 242,\n columnNumber: 37\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-semibold\",\n children: analysisResult.abv ? \"\".concat(analysisResult.abv, \"%\") : \"-\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 243,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 241,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 228,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 223,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 216,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/components/CameraCapture.tsx\",\n lineNumber: 148,\n columnNumber: 9\n }, this);\n}\n_s(CameraCapture, \"7XvkPg/F124RCy/D3OnKuj3w5lE=\");\n_c = CameraCapture;\nvar _c;\n$RefreshReg$(_c, \"CameraCapture\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9jb21wb25lbnRzL0NhbWVyYUNhcHR1cmUudHN4IiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWdEO0FBQ21DO0FBQ1A7QUFDbEI7QUFDTjtBQUVDO0FBQ2pCO0FBUXJCLFNBQVNjLGNBQWMsS0FBMkU7UUFBM0UsRUFBRUMsZUFBZSxFQUFFQyxrQkFBa0IsRUFBRUMsY0FBYyxFQUFzQixHQUEzRTs7SUFDbEMsTUFBTUMsV0FBV1YsMEZBQTJCQTtJQUM1QyxNQUFNVyxlQUFlbEIsNkNBQU1BLENBQW1CO0lBQzlDLE1BQU0sQ0FBQ21CLGNBQWNDLGdCQUFnQixHQUFHbkIsK0NBQVFBLENBQUM7SUFDakQsTUFBTSxDQUFDb0IsVUFBVUMsWUFBWSxHQUFHckIsK0NBQVFBLENBQUM7SUFDekMsTUFBTSxDQUFDc0IsWUFBWUMsY0FBYyxHQUFHdkIsK0NBQVFBLENBQWdCO0lBQzVELE1BQU0sQ0FBQ3dCLE9BQU9DLFNBQVMsR0FBR3pCLCtDQUFRQSxDQUFnQjtJQUNsRCxNQUFNLENBQUMwQixnQkFBZ0JDLGtCQUFrQixHQUFHM0IsK0NBQVFBLENBQXdCO0lBQzVFLE1BQU0sQ0FBQzRCLFVBQVVDLFlBQVksR0FBRzdCLCtDQUFRQSxDQUFDO0lBRXpDLE1BQU04QixnQkFBZ0IsT0FBT0M7WUFDWkE7UUFBYixNQUFNQyxRQUFPRCxzQkFBQUEsTUFBTUUsTUFBTSxDQUFDQyxLQUFLLGNBQWxCSCwwQ0FBQUEsbUJBQW9CLENBQUMsRUFBRTtRQUNwQyxJQUFJLENBQUNDLE1BQU07UUFFWGIsZ0JBQWdCO1FBQ2hCTSxTQUFTO1FBQ1RFLGtCQUFrQjtRQUNsQkUsWUFBWTtRQUVaLElBQUk7WUFDQSxNQUFNTSxtQkFBbUIsTUFBTUMsY0FBY0o7WUFDN0NULGNBQWNZO1lBRWQsSUFBSXRCLGlCQUFpQjtnQkFDakJBLGdCQUFnQnNCO1lBQ3BCO1lBRUEsbUJBQW1CO1lBQ25CLElBQUksQ0FBQ0UsVUFBVUMsTUFBTSxFQUFF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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBU3JIO0dBMU93QnpGO0tBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9jb21wb25lbnRzL0NhbWVyYUNhcHR1cmUudHN4PzFjMzQiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IENhbWVyYSwgVXBsb2FkLCBDaGVja0NpcmNsZTIsIEFsZXJ0Q2lyY2xlLCBTcGFya2xlcyB9IGZyb20gJ2x1Y2lkZS1yZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVDbGllbnRDb21wb25lbnRDbGllbnQgfSBmcm9tICdAc3VwYWJhc2UvYXV0aC1oZWxwZXJzLW5leHRqcyc7XG5pbXBvcnQgeyBhbmFseXplQm90dGxlIH0gZnJvbSAnQC9zZXJ2aWNlcy9hbmFseXplLWJvdHRsZSc7XG5pbXBvcnQgeyBzYXZlQm90dGxlIH0gZnJvbSAnQC9zZXJ2aWNlcy9zYXZlLWJvdHRsZSc7XG5pbXBvcnQgeyBCb3R0bGVNZXRhZGF0YSB9IGZyb20gJ0AvdHlwZXMvd2hpc2t5JztcbmltcG9ydCB7IHNhdmVQZW5kaW5nQm90dGxlIH0gZnJvbSAnQC9saWIvb2ZmbGluZS1kYic7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcblxuaW50ZXJmYWNlIENhbWVyYUNhcHR1cmVQcm9wcyB7XG4gICAgb25JbWFnZUNhcHR1cmVkPzogKGJhc2U2NEltYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gICAgb25BbmFseXNpc0NvbXBsZXRlPzogKGRhdGE6IEJvdHRsZU1ldGFkYXRhKSA9PiB2b2lkO1xuICAgIG9uU2F2ZUNvbXBsZXRlPzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2FtZXJhQ2FwdHVyZSh7IG9uSW1hZ2VDYXB0dXJlZCwgb25BbmFseXNpc0NvbXBsZXRlLCBvblNhdmVDb21wbGV0ZSB9OiBDYW1lcmFDYXB0dXJlUHJvcHMpIHtcbiAgICBjb25zdCBzdXBhYmFzZSA9IGNyZWF0ZUNsaWVudENvbXBvbmVudENsaWVudCgpO1xuICAgIGNvbnN0IGZpbGVJbnB1dFJlZiA9IHVzZVJlZjxIVE1MSW5wdXRFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbaXNQcm9jZXNzaW5nLCBzZXRJc1Byb2Nlc3NpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtpc1NhdmluZywgc2V0SXNTYXZpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IFtwcmV2aWV3VXJsLCBzZXRQcmV2aWV3VXJsXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gICAgY29uc3QgW2FuYWx5c2lzUmVzdWx0LCBzZXRBbmFseXNpc1Jlc3VsdF0gPSB1c2VTdGF0ZTxCb3R0bGVNZXRhZGF0YSB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IFtpc1F1ZXVlZCwgc2V0SXNRdWV1ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgaGFuZGxlQ2FwdHVyZSA9IGFzeW5jIChldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlcz8uWzBdO1xuICAgICAgICBpZiAoIWZpbGUpIHJldHVybjtcblxuICAgICAgICBzZXRJc1Byb2Nlc3NpbmcodHJ1ZSk7XG4gICAgICAgIHNldEVycm9yKG51bGwpO1xuICAgICAgICBzZXRBbmFseXNpc1Jlc3VsdChudWxsKTtcbiAgICAgICAgc2V0SXNRdWV1ZWQoZmFsc2UpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBjb21wcmVzc2VkQmFzZTY0ID0gYXdhaXQgY29tcHJlc3NJbWFnZShmaWxlKTtcbiAgICAgICAgICAgIHNldFByZXZpZXdVcmwoY29tcHJlc3NlZEJhc2U2NCk7XG5cbiAgICAgICAgICAgIGlmIChvbkltYWdlQ2FwdHVyZWQpIHtcbiAgICAgICAgICAgICAgICBvbkltYWdlQ2FwdHVyZWQoY29tcHJlc3NlZEJhc2U2NCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENoZWNrIGlmIE9mZmxpbmVcbiAgICAgICAgICAgIGlmICghbmF2aWdhdG9yLm9uTGluZSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdPZmZsaW5lIGRldGVjdGVkLiBRdWV1aW5nIGltYWdlLi4uJyk7XG4gICAgICAgICAgICAgICAgYXdhaXQgc2F2ZVBlbmRpbmdCb3R0bGUoe1xuICAgICAgICAgICAgICAgICAgICBpZDogdXVpZHY0KCksXG4gICAgICAgICAgICAgICAgICAgIGltYWdlQmFzZTY0OiBjb21wcmVzc2VkQmFzZTY0LFxuICAgICAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc2V0SXNRdWV1ZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGFuYWx5emVCb3R0bGUoY29tcHJlc3NlZEJhc2U2NCk7XG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzICYmIHJlc3BvbnNlLmRhdGEpIHtcbiAgICAgICAgICAgICAgICBzZXRBbmFseXNpc1Jlc3VsdChyZXNwb25zZS5kYXRhKTtcbiAgICAgICAgICAgICAgICBpZiAob25BbmFseXNpc0NvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uQW5hbHlzaXNDb21wbGV0ZShyZXNwb25zZS5kYXRhKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNldEVycm9yKHJlc3BvbnNlLmVycm9yIHx8ICdBbmFseXNlIGZlaGxnZXNjaGxhZ2VuLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1Byb2Nlc3NpbmcgZmFpbGVkOicsIGVycik7XG4gICAgICAgICAgICBzZXRFcnJvcignVmVyYXJiZWl0dW5nIGZlaGxnZXNjaGxhZ2VuLiBCaXR0ZSBlcm5ldXQgdmVyc3VjaGVuLicpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgc2V0SXNQcm9jZXNzaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVTYXZlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICBpZiAoIWFuYWx5c2lzUmVzdWx0IHx8ICFwcmV2aWV3VXJsKSByZXR1cm47XG5cbiAgICAgICAgc2V0SXNTYXZpbmcodHJ1ZSk7XG4gICAgICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBHZXQgY3VycmVudCB1c2VyIChzaW1wbGUgY2hlY2sgZm9yIG5vdywgY2FuIGJlIGltcHJvdmVkIHdpdGggQXV0aClcbiAgICAgICAgICAgIGNvbnN0IHsgZGF0YTogeyB1c2VyIH0gfSA9IGF3YWl0IHN1cGFiYXNlLmF1dGguZ2V0VXNlcigpO1xuICAgICAgICAgICAgaWYgKCF1c2VyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdCaXR0ZSBtZWxkZSBkaWNoIGFuLCB1bSBGbGFzY2hlbiB6dSBzcGVpY2hlcm4uJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc2F2ZUJvdHRsZShhbmFseXNpc1Jlc3VsdCwgcHJldmlld1VybCwgdXNlci5pZCk7XG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgc2V0UHJldmlld1VybChudWxsKTtcbiAgICAgICAgICAgICAgICBzZXRBbmFseXNpc1Jlc3VsdChudWxsKTtcbiAgICAgICAgICAgICAgICBpZiAob25TYXZlQ29tcGxldGUpIG9uU2F2ZUNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgLy8gT3B0aW9uYWxlIEVyZm9sZ3NtZWxkdW5nIG9kZXIgUmVkaXJlY3RcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3IocmVzcG9uc2UuZXJyb3IgfHwgJ1NwZWljaGVybiBmZWhsZ2VzY2hsYWdlbi4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdTYXZlIGZhaWxlZDonLCBlcnIpO1xuICAgICAgICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdTcGVpY2hlcm4gZmVobGdlc2NobGFnZW4uJyk7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBzZXRJc1NhdmluZyhmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgY29tcHJlc3NJbWFnZSA9IChmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+ID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgICAgICAgICBpbWcuc3JjID0gZXZlbnQudGFyZ2V0Py5yZXN1bHQgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBNQVhfV0lEVEggPSAxMDI0O1xuICAgICAgICAgICAgICAgICAgICBsZXQgd2lkdGggPSBpbWcud2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGxldCBoZWlnaHQgPSBpbWcuaGVpZ2h0O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+IE1BWF9XSURUSCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gKGhlaWdodCAqIE1BWF9XSURUSCkgLyB3aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoID0gTUFYX1dJRFRIO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY2FudmFzLndpZHRoID0gd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghY3R4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QobmV3IEVycm9yKCdDYW52YXMgY29udGV4dCBub3QgYXZhaWxhYmxlJykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY3R4LmRyYXdJbWFnZShpbWcsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBiYXNlNjQgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywgMC44KTtcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShiYXNlNjQpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaW1nLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCB0cmlnZ2VyVXBsb2FkID0gKCkgPT4ge1xuICAgICAgICBmaWxlSW5wdXRSZWYuY3VycmVudD8uY2xpY2soKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtNiB3LWZ1bGwgbWF4LXctbWQgbXgtYXV0byBwLTYgYmctd2hpdGUgZGFyazpiZy16aW5jLTkwMCByb3VuZGVkLTN4bCBzaGFkb3ctMnhsIGJvcmRlciBib3JkZXItemluYy0yMDAgZGFyazpib3JkZXItemluYy04MDAgdHJhbnNpdGlvbi1hbGwgaG92ZXI6c2hhZG93LXdoaXNreS1hbWJlci8yMFwiPlxuICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtYm9sZCB0ZXh0LXppbmMtODAwIGRhcms6dGV4dC16aW5jLTEwMCBpdGFsaWNcIj5NYWdpYyBTaG90PC9oMj5cblxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJlbGF0aXZlIGdyb3VwIGN1cnNvci1wb2ludGVyIHctZnVsbCBhc3BlY3Qtc3F1YXJlIHJvdW5kZWQtMnhsIGJvcmRlci0yIGJvcmRlci1kYXNoZWQgYm9yZGVyLXppbmMtMzAwIGRhcms6Ym9yZGVyLXppbmMtNzAwIG92ZXJmbG93LWhpZGRlbiBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBiZy16aW5jLTUwIGRhcms6YmctemluYy04MDAvNTAgaG92ZXI6Ym9yZGVyLWFtYmVyLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgb25DbGljaz17dHJpZ2dlclVwbG9hZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cHJldmlld1VybCA/IChcbiAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9e3ByZXZpZXdVcmx9IGFsdD1cIlByZXZpZXdcIiBjbGFzc05hbWU9XCJ3LWZ1bGwgaC1mdWxsIG9iamVjdC1jb3ZlclwiIC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXppbmMtNDAwIGdyb3VwLWhvdmVyOnRleHQtYW1iZXItNTAwIHRyYW5zaXRpb24tY29sb3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2FtZXJhIHNpemU9ezQ4fSBzdHJva2VXaWR0aD17MS41fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LW1lZGl1bVwiPkZsYXNjaGUgc2Nhbm5lbjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgIHtpc1Byb2Nlc3NpbmcgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFic29sdXRlIGluc2V0LTAgYmctYmxhY2svNTAgYmFja2Ryb3AtYmx1ci1zbSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhbmltYXRlLXNwaW4gcm91bmRlZC1mdWxsIGgtMTIgdy0xMiBib3JkZXItYi0yIGJvcmRlci13aGl0ZVwiPjwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICBhY2NlcHQ9XCJpbWFnZS8qXCJcbiAgICAgICAgICAgICAgICBjYXB0dXJlPVwiZW52aXJvbm1lbnRcIlxuICAgICAgICAgICAgICAgIHJlZj17ZmlsZUlucHV0UmVmfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDYXB0dXJlfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhpZGRlblwiXG4gICAgICAgICAgICAvPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgb25DbGljaz17cHJldmlld1VybCAmJiBhbmFseXNpc1Jlc3VsdCA/IGhhbmRsZVNhdmUgOiB0cmlnZ2VyVXBsb2FkfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpc1Byb2Nlc3NpbmcgfHwgaXNTYXZpbmd9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHB5LTQgcHgtNiBiZy1hbWJlci02MDAgaG92ZXI6YmctYW1iZXItNzAwIHRleHQtd2hpdGUgcm91bmRlZC14bCBmb250LXNlbWlib2xkIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGdhcC0yIHRyYW5zaXRpb24tYWxsIGFjdGl2ZTpzY2FsZS1bMC45OF0gc2hhZG93LWxnIHNoYWRvdy1hbWJlci02MDAvMjAgZGlzYWJsZWQ6b3BhY2l0eS01MFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2lzU2F2aW5nID8gKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhbmltYXRlLXNwaW4gcm91bmRlZC1mdWxsIGgtNSB3LTUgYm9yZGVyLWItMiBib3JkZXItd2hpdGVcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIFdpcmQgZ2VzcGVpY2hlcnQuLi5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKSA6IHByZXZpZXdVcmwgJiYgYW5hbHlzaXNSZXN1bHQgPyAoXG4gICAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2tDaXJjbGUyIHNpemU9ezIwfSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgSW0gVmF1bHQgc3BlaWNoZXJuXG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICkgOiBwcmV2aWV3VXJsID8gKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFVwbG9hZCBzaXplPXsyMH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIE5ldSBhdWZuZWhtZW5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYW1lcmEgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICBLYW1lcmEgw7ZmZm5lblxuICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiB0ZXh0LXJlZC01MDAgdGV4dC1zbSBiZy1yZWQtNTAgZGFyazpiZy1yZWQtOTAwLzEwIHAtMyByb3VuZGVkLWxnIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8QWxlcnRDaXJjbGUgc2l6ZT17MTZ9IC8+XG4gICAgICAgICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHtwcmV2aWV3VXJsICYmICFpc1Byb2Nlc3NpbmcgJiYgIWVycm9yICYmIChcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZmxleC1jb2wgZ2FwLTMgdy1mdWxsIGFuaW1hdGUtaW4gZmFkZS1pbiBzbGlkZS1pbi1mcm9tLXRvcC00IGR1cmF0aW9uLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yIHRleHQtZ3JlZW4tNTAwIHRleHQtc20gYmctZ3JlZW4tNTAgZGFyazpiZy1ncmVlbi05MDAvMTAgcC0zIHJvdW5kZWQtbGcgdy1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q2hlY2tDaXJjbGUyIHNpemU9ezE2fSAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgQmlsZCBlcmZvbGdyZWljaCBhbmFseXNpZXJ0XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgIHthbmFseXNpc1Jlc3VsdCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInAtNCBiZy16aW5jLTUwIGRhcms6YmctemluYy04MDAvNTAgcm91bmRlZC0yeGwgYm9yZGVyIGJvcmRlci16aW5jLTIwMCBkYXJrOmJvcmRlci16aW5jLTcwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgbWItMyB0ZXh0LWFtYmVyLTYwMCBkYXJrOnRleHQtYW1iZXItNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxTcGFya2xlcyBzaXplPXsxOH0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1ib2xkIHRleHQtc20gdXBwZXJjYXNlIHRyYWNraW5nLXdpZGVyXCI+RXJnZWJuaXNzZTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtemluYy01MDBcIj5OYW1lOjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGRcIj57YW5hbHlzaXNSZXN1bHQubmFtZSB8fCAnLSd9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXppbmMtNTAwXCI+RGlzdGlsbGU6PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZFwiPnthbmFseXNpc1Jlc3VsdC5kaXN0aWxsZXJ5IHx8ICctJ308L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIHRleHQtc21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtemluYy01MDBcIj5LYXRlZ29yaWU6PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiZm9udC1zZW1pYm9sZFwiPnthbmFseXNpc1Jlc3VsdC5jYXRlZ29yeSB8fCAnLSd9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiB0ZXh0LXNtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXppbmMtNTAwXCI+QUJWOjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtc2VtaWJvbGRcIj57YW5hbHlzaXNSZXN1bHQuYWJ2ID8gYCR7YW5hbHlzaXNSZXN1bHQuYWJ2fSVgIDogJy0nfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59XG4iXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIkNhbWVyYSIsIlVwbG9hZCIsIkNoZWNrQ2lyY2xlMiIsIkFsZXJ0Q2lyY2xlIiwiU3BhcmtsZXMiLCJjcmVhdGVDbGllbnRDb21wb25lbnRDbGllbnQiLCJhbmFseXplQm90dGxlIiwic2F2ZUJvdHRsZSIsInNhdmVQZW5kaW5nQm90dGxlIiwidjQiLCJ1dWlkdjQiLCJDYW1lcmFDYXB0dXJlIiwib25JbWFnZUNhcHR1cmVkIiwib25BbmFseXNpc0NvbXBsZXRlIiwib25TYXZlQ29tcGxldGUiLCJzdXBhYmFzZSIsImZpbGVJbnB1dFJlZiIsImlzUHJvY2Vzc2luZyIsInNldElzUHJvY2Vzc2luZyIsImlzU2F2aW5nIiwic2V0SXNTYXZpbmciLCJwcmV2aWV3VXJsIiwic2V0UHJldmlld1VybCIsImVycm9yIiwic2V0RXJyb3IiLCJhbmFseXNpc1Jlc3VsdCIsInNldEFuYWx5c2lzUmVzdWx0IiwiaXNRdWV1ZWQiLCJzZXRJc1F1ZXVlZCIsImhhbmRsZUNhcHR1cmUiLCJldmVudCIsImZpbGUiLCJ0YXJnZXQiLCJmaWxlcyIsImNvbXByZXNzZWRCYXNlNjQiLCJjb21wcmVzc0ltYWdlIiwibmF2aWdhdG9yIiwib25MaW5lIiwiY29uc29sZSIsImxvZyIsImlkIiwiaW1hZ2VCYXNlNjQiLCJ0aW1lc3RhbXAiLCJEYXRlIiwibm93IiwicmVzcG9uc2UiLCJzdWNjZXNzIiwiZGF0YSIsImVyciIsImhhbmRsZVNhdmUiLCJ1c2VyIiwiYXV0aCIsImdldFVzZXIiLCJFcnJvciIsIm1lc3NhZ2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInJlYWRlciIsIkZpbGVSZWFkZXIiLCJyZWFkQXNEYXRhVVJMIiwib25sb2FkIiwiaW1nIiwiSW1hZ2UiLCJzcmMiLCJyZXN1bHQiLCJjYW52YXMiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJNQVhfV0lEVEgiLCJ3aWR0aCIsImhlaWdodCIsImN0eCIsImdldENvbnRleHQiLCJkcmF3SW1hZ2UiLCJiYXNlNjQiLCJ0b0RhdGFVUkwiLCJvbmVycm9yIiwidHJpZ2dlclVwbG9hZCIsImN1cnJlbnQiLCJjbGljayIsImRpdiIsImNsYXNzTmFtZSIsImgyIiwib25DbGljayIsImFsdCIsInNpemUiLCJzdHJva2VXaWR0aCIsInNwYW4iLCJpbnB1dCIsInR5cGUiLCJhY2NlcHQiLCJjYXB0dXJlIiwicmVmIiwib25DaGFuZ2UiLCJidXR0b24iLCJkaXNhYmxlZCIsIm5hbWUiLCJkaXN0aWxsZXJ5IiwiY2F0ZWdvcnkiLCJhYnYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/components/CameraCapture.tsx\n"));
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(app-pages-browser)/./src/lib/offline-db.ts":
|
|
/*!*******************************!*\
|
|
!*** ./src/lib/offline-db.ts ***!
|
|
\*******************************/
|
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ deletePendingBottle: function() { return /* binding */ deletePendingBottle; },\n/* harmony export */ getAllPendingBottles: function() { return /* binding */ getAllPendingBottles; },\n/* harmony export */ openDB: function() { return /* binding */ openDB; },\n/* harmony export */ savePendingBottle: function() { return /* binding */ savePendingBottle; }\n/* harmony export */ });\nconst DB_NAME = \"WhiskyVaultOffline\";\nconst STORE_NAME = \"pendingCaptures\";\nconst DB_VERSION = 1;\nconst openDB = ()=>{\n return new Promise((resolve, reject)=>{\n const request = indexedDB.open(DB_NAME, DB_VERSION);\n request.onupgradeneeded = (event)=>{\n const db = event.target.result;\n if (!db.objectStoreNames.contains(STORE_NAME)) {\n db.createObjectStore(STORE_NAME, {\n keyPath: \"id\"\n });\n }\n };\n request.onsuccess = (event)=>{\n resolve(event.target.result);\n };\n request.onerror = (event)=>{\n reject(event.target.error);\n };\n });\n};\nconst savePendingBottle = async (bottle)=>{\n const db = await openDB();\n return new Promise((resolve, reject)=>{\n const transaction = db.transaction(STORE_NAME, \"readwrite\");\n const store = transaction.objectStore(STORE_NAME);\n const request = store.put(bottle);\n request.onsuccess = ()=>resolve();\n request.onerror = ()=>reject(request.error);\n });\n};\nconst getAllPendingBottles = async ()=>{\n const db = await openDB();\n return new Promise((resolve, reject)=>{\n const transaction = db.transaction(STORE_NAME, \"readonly\");\n const store = transaction.objectStore(STORE_NAME);\n const request = store.getAll();\n request.onsuccess = ()=>resolve(request.result);\n request.onerror = ()=>reject(request.error);\n });\n};\nconst deletePendingBottle = async (id)=>{\n const db = await openDB();\n return new Promise((resolve, reject)=>{\n const transaction = db.transaction(STORE_NAME, \"readwrite\");\n const store = transaction.objectStore(STORE_NAME);\n const request = store.delete(id);\n request.onsuccess = ()=>resolve();\n request.onerror = ()=>reject(request.error);\n });\n};\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL3NyYy9saWIvb2ZmbGluZS1kYi50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUEsTUFBTUEsVUFBVTtBQUNoQixNQUFNQyxhQUFhO0FBQ25CLE1BQU1DLGFBQWE7QUFFWixNQUFNQyxTQUFTO0lBQ2xCLE9BQU8sSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUN6QixNQUFNQyxVQUFVQyxVQUFVQyxJQUFJLENBQUNULFNBQVNFO1FBRXhDSyxRQUFRRyxlQUFlLEdBQUcsQ0FBQ0M7WUFDdkIsTUFBTUMsS0FBSyxNQUFPQyxNQUFNLENBQXNCQyxNQUFNO1lBQ3BELElBQUksQ0FBQ0YsR0FBR0csZ0JBQWdCLENBQUNDLFFBQVEsQ0FBQ2YsYUFBYTtnQkFDM0NXLEdBQUdLLGlCQUFpQixDQUFDaEIsWUFBWTtvQkFBRWlCLFNBQVM7Z0JBQUs7WUFDckQ7UUFDSjtRQUVBWCxRQUFRWSxTQUFTLEdBQUcsQ0FBQ1I7WUFDakJOLFFBQVEsTUFBT1EsTUFBTSxDQUFzQkMsTUFBTTtRQUNyRDtRQUVBUCxRQUFRYSxPQUFPLEdBQUcsQ0FBQ1Q7WUFDZkwsT0FBTyxNQUFPTyxNQUFNLENBQXNCUSxLQUFLO1FBQ25EO0lBQ0o7QUFDSixFQUFFO0FBRUssTUFBTUMsb0JBQW9CLE9BQU9DO0lBQ3BDLE1BQU1YLEtBQUssTUFBTVQ7SUFDakIsT0FBTyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1FBQ3pCLE1BQU1rQixjQUFjWixHQUFHWSxXQUFXLENBQUN2QixZQUFZO1FBQy9DLE1BQU13QixRQUFRRCxZQUFZRSxXQUFXLENBQUN6QjtRQUN0QyxNQUFNTSxVQUFVa0IsTUFBTUUsR0FBRyxDQUFDSjtRQUUxQmhCLFFBQVFZLFNBQVMsR0FBRyxJQUFNZDtRQUMxQkUsUUFBUWEsT0FBTyxHQUFHLElBQU1kLE9BQU9DLFFBQVFjLEtBQUs7SUFDaEQ7QUFDSixFQUFFO0FBRUssTUFBTU8sdUJBQXVCO0lBQ2hDLE1BQU1oQixLQUFLLE1BQU1UO0lBQ2pCLE9BQU8sSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUN6QixNQUFNa0IsY0FBY1osR0FBR1ksV0FBVyxDQUFDdkIsWUFBWTtRQUMvQyxNQUFNd0IsUUFBUUQsWUFBWUUsV0FBVyxDQUFDekI7UUFDdEMsTUFBTU0sVUFBVWtCLE1BQU1JLE1BQU07UUFFNUJ0QixRQUFRWSxTQUFTLEdBQUcsSUFBTWQsUUFBUUUsUUFBUU8sTUFBTTtRQUNoRFAsUUFBUWEsT0FBTyxHQUFHLElBQU1kLE9BQU9DLFFBQVFjLEtBQUs7SUFDaEQ7QUFDSixFQUFFO0FBRUssTUFBTVMsc0JBQXNCLE9BQU9DO0lBQ3RDLE1BQU1uQixLQUFLLE1BQU1UO0lBQ2pCLE9BQU8sSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUN6QixNQUFNa0IsY0FBY1osR0FBR1ksV0FBVyxDQUFDdkIsWUFBWTtRQUMvQyxNQUFNd0IsUUFBUUQsWUFBWUUsV0FBVyxDQUFDekI7UUFDdEMsTUFBTU0sVUFBVWtCLE1BQU1PLE1BQU0sQ0FBQ0Q7UUFFN0J4QixRQUFRWSxTQUFTLEdBQUcsSUFBTWQ7UUFDMUJFLFFBQVFhLE9BQU8sR0FBRyxJQUFNZCxPQUFPQyxRQUFRYyxLQUFLO0lBQ2hEO0FBQ0osRUFBRSIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9zcmMvbGliL29mZmxpbmUtZGIudHM/YmI4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFBlbmRpbmdCb3R0bGUge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgaW1hZ2VCYXNlNjQ6IHN0cmluZztcbiAgICB0aW1lc3RhbXA6IG51bWJlcjtcbn1cblxuY29uc3QgREJfTkFNRSA9ICdXaGlza3lWYXVsdE9mZmxpbmUnO1xuY29uc3QgU1RPUkVfTkFNRSA9ICdwZW5kaW5nQ2FwdHVyZXMnO1xuY29uc3QgREJfVkVSU0lPTiA9IDE7XG5cbmV4cG9ydCBjb25zdCBvcGVuREIgPSAoKTogUHJvbWlzZTxJREJEYXRhYmFzZT4gPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBpbmRleGVkREIub3BlbihEQl9OQU1FLCBEQl9WRVJTSU9OKTtcblxuICAgICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGIgPSAoZXZlbnQudGFyZ2V0IGFzIElEQk9wZW5EQlJlcXVlc3QpLnJlc3VsdDtcbiAgICAgICAgICAgIGlmICghZGIub2JqZWN0U3RvcmVOYW1lcy5jb250YWlucyhTVE9SRV9OQU1FKSkge1xuICAgICAgICAgICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKFNUT1JFX05BTUUsIHsga2V5UGF0aDogJ2lkJyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IChldmVudCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSgoZXZlbnQudGFyZ2V0IGFzIElEQk9wZW5EQlJlcXVlc3QpLnJlc3VsdCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcmVxdWVzdC5vbmVycm9yID0gKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoKGV2ZW50LnRhcmdldCBhcyBJREJPcGVuREJSZXF1ZXN0KS5lcnJvcik7XG4gICAgICAgIH07XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2F2ZVBlbmRpbmdCb3R0bGUgPSBhc3luYyAoYm90dGxlOiBQZW5kaW5nQm90dGxlKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgZGIgPSBhd2FpdCBvcGVuREIoKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFNUT1JFX05BTUUsICdyZWFkd3JpdGUnKTtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShTVE9SRV9OQU1FKTtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLnB1dChib3R0bGUpO1xuXG4gICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4gcmVzb2x2ZSgpO1xuICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVxdWVzdC5lcnJvcik7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QWxsUGVuZGluZ0JvdHRsZXMgPSBhc3luYyAoKTogUHJvbWlzZTxQZW5kaW5nQm90dGxlW10+ID0+IHtcbiAgICBjb25zdCBkYiA9IGF3YWl0IG9wZW5EQigpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oU1RPUkVfTkFNRSwgJ3JlYWRvbmx5Jyk7XG4gICAgICAgIGNvbnN0IHN0b3JlID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoU1RPUkVfTkFNRSk7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5nZXRBbGwoKTtcblxuICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICgpID0+IHJlc29sdmUocmVxdWVzdC5yZXN1bHQpO1xuICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVxdWVzdC5lcnJvcik7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlUGVuZGluZ0JvdHRsZSA9IGFzeW5jIChpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3QgZGIgPSBhd2FpdCBvcGVuREIoKTtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKFNUT1JFX05BTUUsICdyZWFkd3JpdGUnKTtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZShTVE9SRV9OQU1FKTtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmRlbGV0ZShpZCk7XG5cbiAgICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKSA9PiByZXNvbHZlKCk7XG4gICAgICAgIHJlcXVlc3Qub25lcnJvciA9ICgpID0+IHJlamVjdChyZXF1ZXN0LmVycm9yKTtcbiAgICB9KTtcbn07XG4iXSwibmFtZXMiOlsiREJfTkFNRSIsIlNUT1JFX05BTUUiLCJEQl9WRVJTSU9OIiwib3BlbkRCIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJyZXF1ZXN0IiwiaW5kZXhlZERCIiwib3BlbiIsIm9udXBncmFkZW5lZWRlZCIsImV2ZW50IiwiZGIiLCJ0YXJnZXQiLCJyZXN1bHQiLCJvYmplY3RTdG9yZU5hbWVzIiwiY29udGFpbnMiLCJjcmVhdGVPYmplY3RTdG9yZSIsImtleVBhdGgiLCJvbnN1Y2Nlc3MiLCJvbmVycm9yIiwiZXJyb3IiLCJzYXZlUGVuZGluZ0JvdHRsZSIsImJvdHRsZSIsInRyYW5zYWN0aW9uIiwic3RvcmUiLCJvYmplY3RTdG9yZSIsInB1dCIsImdldEFsbFBlbmRpbmdCb3R0bGVzIiwiZ2V0QWxsIiwiZGVsZXRlUGVuZGluZ0JvdHRsZSIsImlkIiwiZGVsZXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/lib/offline-db.ts\n"));
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(app-pages-browser)/./node_modules/uuid/dist/native.js":
|
|
/*!******************************************!*\
|
|
!*** ./node_modules/uuid/dist/native.js ***!
|
|
\******************************************/
|
|
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\nconst randomUUID = typeof crypto !== \"undefined\" && crypto.randomUUID && crypto.randomUUID.bind(crypto);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n randomUUID\n});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvbmF0aXZlLmpzIiwibWFwcGluZ3MiOiI7QUFBQSxNQUFNQSxhQUFhLE9BQU9DLFdBQVcsZUFBZUEsT0FBT0QsVUFBVSxJQUFJQyxPQUFPRCxVQUFVLENBQUNFLElBQUksQ0FBQ0Q7QUFDaEcsK0RBQWU7SUFBRUQ7QUFBVyxDQUFDLEVBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL3V1aWQvZGlzdC9uYXRpdmUuanM/NzJiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByYW5kb21VVUlEID0gdHlwZW9mIGNyeXB0byAhPT0gJ3VuZGVmaW5lZCcgJiYgY3J5cHRvLnJhbmRvbVVVSUQgJiYgY3J5cHRvLnJhbmRvbVVVSUQuYmluZChjcnlwdG8pO1xuZXhwb3J0IGRlZmF1bHQgeyByYW5kb21VVUlEIH07XG4iXSwibmFtZXMiOlsicmFuZG9tVVVJRCIsImNyeXB0byIsImJpbmQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/uuid/dist/native.js\n"));
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(app-pages-browser)/./node_modules/uuid/dist/regex.js":
|
|
/*!*****************************************!*\
|
|
!*** ./node_modules/uuid/dist/regex.js ***!
|
|
\*****************************************/
|
|
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvcmVnZXguanMiLCJtYXBwaW5ncyI6IjtBQUFBLCtEQUFlLDBKQUEwSixFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvcmVnZXguanM/ZGViNiJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCAvXig/OlswLTlhLWZdezh9LVswLTlhLWZdezR9LVsxLThdWzAtOWEtZl17M30tWzg5YWJdWzAtOWEtZl17M30tWzAtOWEtZl17MTJ9fDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMHxmZmZmZmZmZi1mZmZmLWZmZmYtZmZmZi1mZmZmZmZmZmZmZmYpJC9pO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/uuid/dist/regex.js\n"));
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(app-pages-browser)/./node_modules/uuid/dist/rng.js":
|
|
/*!***************************************!*\
|
|
!*** ./node_modules/uuid/dist/rng.js ***!
|
|
\***************************************/
|
|
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ rng; }\n/* harmony export */ });\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nfunction rng() {\n if (!getRandomValues) {\n if (typeof crypto === \"undefined\" || !crypto.getRandomValues) {\n throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");\n }\n getRandomValues = crypto.getRandomValues.bind(crypto);\n }\n return getRandomValues(rnds8);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3Qvcm5nLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxJQUFJQTtBQUNKLE1BQU1DLFFBQVEsSUFBSUMsV0FBVztBQUNkLFNBQVNDO0lBQ3BCLElBQUksQ0FBQ0gsaUJBQWlCO1FBQ2xCLElBQUksT0FBT0ksV0FBVyxlQUFlLENBQUNBLE9BQU9KLGVBQWUsRUFBRTtZQUMxRCxNQUFNLElBQUlLLE1BQU07UUFDcEI7UUFDQUwsa0JBQWtCSSxPQUFPSixlQUFlLENBQUNNLElBQUksQ0FBQ0Y7SUFDbEQ7SUFDQSxPQUFPSixnQkFBZ0JDO0FBQzNCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3Qvcm5nLmpzPzRhNGQiXSwic291cmNlc0NvbnRlbnQiOlsibGV0IGdldFJhbmRvbVZhbHVlcztcbmNvbnN0IHJuZHM4ID0gbmV3IFVpbnQ4QXJyYXkoMTYpO1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcm5nKCkge1xuICAgIGlmICghZ2V0UmFuZG9tVmFsdWVzKSB7XG4gICAgICAgIGlmICh0eXBlb2YgY3J5cHRvID09PSAndW5kZWZpbmVkJyB8fCAhY3J5cHRvLmdldFJhbmRvbVZhbHVlcykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKCkgbm90IHN1cHBvcnRlZC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS91dWlkanMvdXVpZCNnZXRyYW5kb212YWx1ZXMtbm90LXN1cHBvcnRlZCcpO1xuICAgICAgICB9XG4gICAgICAgIGdldFJhbmRvbVZhbHVlcyA9IGNyeXB0by5nZXRSYW5kb21WYWx1ZXMuYmluZChjcnlwdG8pO1xuICAgIH1cbiAgICByZXR1cm4gZ2V0UmFuZG9tVmFsdWVzKHJuZHM4KTtcbn1cbiJdLCJuYW1lcyI6WyJnZXRSYW5kb21WYWx1ZXMiLCJybmRzOCIsIlVpbnQ4QXJyYXkiLCJybmciLCJjcnlwdG8iLCJFcnJvciIsImJpbmQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/uuid/dist/rng.js\n"));
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(app-pages-browser)/./node_modules/uuid/dist/stringify.js":
|
|
/*!*********************************************!*\
|
|
!*** ./node_modules/uuid/dist/stringify.js ***!
|
|
\*********************************************/
|
|
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ unsafeStringify: function() { return /* binding */ unsafeStringify; }\n/* harmony export */ });\n/* harmony import */ var _validate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./validate.js */ \"(app-pages-browser)/./node_modules/uuid/dist/validate.js\");\n\nconst byteToHex = [];\nfor(let i = 0; i < 256; ++i){\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nfunction unsafeStringify(arr) {\n let offset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + \"-\" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + \"-\" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + \"-\" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + \"-\" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr) {\n let offset = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;\n const uuid = unsafeStringify(arr, offset);\n if (!(0,_validate_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(uuid)) {\n throw TypeError(\"Stringified UUID is invalid\");\n }\n return uuid;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (stringify);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3Qvc3RyaW5naWZ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXFDO0FBQ3JDLE1BQU1DLFlBQVksRUFBRTtBQUNwQixJQUFLLElBQUlDLElBQUksR0FBR0EsSUFBSSxLQUFLLEVBQUVBLEVBQUc7SUFDMUJELFVBQVVFLElBQUksQ0FBQyxDQUFDRCxJQUFJLEtBQUksRUFBR0UsUUFBUSxDQUFDLElBQUlDLEtBQUssQ0FBQztBQUNsRDtBQUNPLFNBQVNDLGdCQUFnQkMsR0FBRztRQUFFQyxTQUFBQSxpRUFBUztJQUMxQyxPQUFPLENBQUNQLFNBQVMsQ0FBQ00sR0FBRyxDQUFDQyxTQUFTLEVBQUUsQ0FBQyxHQUM5QlAsU0FBUyxDQUFDTSxHQUFHLENBQUNDLFNBQVMsRUFBRSxDQUFDLEdBQzFCUCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0MsU0FBUyxFQUFFLENBQUMsR0FDMUJQLFNBQVMsQ0FBQ00sR0FBRyxDQUFDQyxTQUFTLEVBQUUsQ0FBQyxHQUMxQixNQUNBUCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0MsU0FBUyxFQUFFLENBQUMsR0FDMUJQLFNBQVMsQ0FBQ00sR0FBRyxDQUFDQyxTQUFTLEVBQUUsQ0FBQyxHQUMxQixNQUNBUCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0MsU0FBUyxFQUFFLENBQUMsR0FDMUJQLFNBQVMsQ0FBQ00sR0FBRyxDQUFDQyxTQUFTLEVBQUUsQ0FBQyxHQUMxQixNQUNBUCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0MsU0FBUyxFQUFFLENBQUMsR0FDMUJQLFNBQVMsQ0FBQ00sR0FBRyxDQUFDQyxTQUFTLEVBQUUsQ0FBQyxHQUMxQixNQUNBUCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0MsU0FBUyxHQUFHLENBQUMsR0FDM0JQLFNBQVMsQ0FBQ00sR0FBRyxDQUFDQyxTQUFTLEdBQUcsQ0FBQyxHQUMzQlAsU0FBUyxDQUFDTSxHQUFHLENBQUNDLFNBQVMsR0FBRyxDQUFDLEdBQzNCUCxTQUFTLENBQUNNLEdBQUcsQ0FBQ0MsU0FBUyxHQUFHLENBQUMsR0FDM0JQLFNBQVMsQ0FBQ00sR0FBRyxDQUFDQyxTQUFTLEdBQUcsQ0FBQyxHQUMzQlAsU0FBUyxDQUFDTSxHQUFHLENBQUNDLFNBQVMsR0FBRyxDQUFDLEVBQUVDLFdBQVc7QUFDaEQ7QUFDQSxTQUFTQyxVQUFVSCxHQUFHO1FBQUVDLFNBQUFBLGlFQUFTO0lBQzdCLE1BQU1HLE9BQU9MLGdCQUFnQkMsS0FBS0M7SUFDbEMsSUFBSSxDQUFDUix3REFBUUEsQ0FBQ1csT0FBTztRQUNqQixNQUFNQyxVQUFVO0lBQ3BCO0lBQ0EsT0FBT0Q7QUFDWDtBQUNBLCtEQUFlRCxTQUFTQSxFQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3Qvc3RyaW5naWZ5LmpzPzEwMjgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHZhbGlkYXRlIGZyb20gJy4vdmFsaWRhdGUuanMnO1xuY29uc3QgYnl0ZVRvSGV4ID0gW107XG5mb3IgKGxldCBpID0gMDsgaSA8IDI1NjsgKytpKSB7XG4gICAgYnl0ZVRvSGV4LnB1c2goKGkgKyAweDEwMCkudG9TdHJpbmcoMTYpLnNsaWNlKDEpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB1bnNhZmVTdHJpbmdpZnkoYXJyLCBvZmZzZXQgPSAwKSB7XG4gICAgcmV0dXJuIChieXRlVG9IZXhbYXJyW29mZnNldCArIDBdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMV1dICtcbiAgICAgICAgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyAyXV0gK1xuICAgICAgICBieXRlVG9IZXhbYXJyW29mZnNldCArIDNdXSArXG4gICAgICAgICctJyArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgNF1dICtcbiAgICAgICAgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyA1XV0gK1xuICAgICAgICAnLScgK1xuICAgICAgICBieXRlVG9IZXhbYXJyW29mZnNldCArIDZdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgN11dICtcbiAgICAgICAgJy0nICtcbiAgICAgICAgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyA4XV0gK1xuICAgICAgICBieXRlVG9IZXhbYXJyW29mZnNldCArIDldXSArXG4gICAgICAgICctJyArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTBdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTFdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTJdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTNdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTRdXSArXG4gICAgICAgIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTVdXSkudG9Mb3dlckNhc2UoKTtcbn1cbmZ1bmN0aW9uIHN0cmluZ2lmeShhcnIsIG9mZnNldCA9IDApIHtcbiAgICBjb25zdCB1dWlkID0gdW5zYWZlU3RyaW5naWZ5KGFyciwgb2Zmc2V0KTtcbiAgICBpZiAoIXZhbGlkYXRlKHV1aWQpKSB7XG4gICAgICAgIHRocm93IFR5cGVFcnJvcignU3RyaW5naWZpZWQgVVVJRCBpcyBpbnZhbGlkJyk7XG4gICAgfVxuICAgIHJldHVybiB1dWlkO1xufVxuZXhwb3J0IGRlZmF1bHQgc3RyaW5naWZ5O1xuIl0sIm5hbWVzIjpbInZhbGlkYXRlIiwiYnl0ZVRvSGV4IiwiaSIsInB1c2giLCJ0b1N0cmluZyIsInNsaWNlIiwidW5zYWZlU3RyaW5naWZ5IiwiYXJyIiwib2Zmc2V0IiwidG9Mb3dlckNhc2UiLCJzdHJpbmdpZnkiLCJ1dWlkIiwiVHlwZUVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/uuid/dist/stringify.js\n"));
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(app-pages-browser)/./node_modules/uuid/dist/v4.js":
|
|
/*!**************************************!*\
|
|
!*** ./node_modules/uuid/dist/v4.js ***!
|
|
\**************************************/
|
|
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _native_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./native.js */ \"(app-pages-browser)/./node_modules/uuid/dist/native.js\");\n/* harmony import */ var _rng_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./rng.js */ \"(app-pages-browser)/./node_modules/uuid/dist/rng.js\");\n/* harmony import */ var _stringify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./stringify.js */ \"(app-pages-browser)/./node_modules/uuid/dist/stringify.js\");\n\n\n\nfunction _v4(options, buf, offset) {\n var _options_rng;\n options = options || {};\n var _options_random, _ref;\n const rnds = (_ref = (_options_random = options.random) !== null && _options_random !== void 0 ? _options_random : (_options_rng = options.rng) === null || _options_rng === void 0 ? void 0 : _options_rng.call(options)) !== null && _ref !== void 0 ? _ref : (0,_rng_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])();\n if (rnds.length < 16) {\n throw new Error(\"Random bytes length must be >= 16\");\n }\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n if (buf) {\n offset = offset || 0;\n if (offset < 0 || offset + 16 > buf.length) {\n throw new RangeError(\"UUID byte range \".concat(offset, \":\").concat(offset + 15, \" is out of buffer bounds\"));\n }\n for(let i = 0; i < 16; ++i){\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return (0,_stringify_js__WEBPACK_IMPORTED_MODULE_1__.unsafeStringify)(rnds);\n}\nfunction v4(options, buf, offset) {\n if (_native_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].randomUUID && !buf && !options) {\n return _native_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].randomUUID();\n }\n return _v4(options, buf, offset);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (v4);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvdjQuanMiLCJtYXBwaW5ncyI6Ijs7OztBQUFpQztBQUNOO0FBQ3NCO0FBQ2pELFNBQVNHLElBQUlDLE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxNQUFNO1FBRUVGO0lBRC9CQSxVQUFVQSxXQUFXLENBQUM7UUFDVEEsaUJBQUFBO0lBQWIsTUFBTUcsT0FBT0gsQ0FBQUEsT0FBQUEsQ0FBQUEsa0JBQUFBLFFBQVFJLE1BQU0sY0FBZEosNkJBQUFBLG1CQUFrQkEsZUFBQUEsUUFBUUgsR0FBRyxjQUFYRyxtQ0FBQUEsa0JBQUFBLHNCQUFsQkEsa0JBQUFBLE9BQXFDSCxtREFBR0E7SUFDckQsSUFBSU0sS0FBS0UsTUFBTSxHQUFHLElBQUk7UUFDbEIsTUFBTSxJQUFJQyxNQUFNO0lBQ3BCO0lBQ0FILElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSyxDQUFDLEVBQUUsR0FBRyxPQUFRO0lBQzdCQSxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUssQ0FBQyxFQUFFLEdBQUcsT0FBUTtJQUM3QixJQUFJRixLQUFLO1FBQ0xDLFNBQVNBLFVBQVU7UUFDbkIsSUFBSUEsU0FBUyxLQUFLQSxTQUFTLEtBQUtELElBQUlJLE1BQU0sRUFBRTtZQUN4QyxNQUFNLElBQUlFLFdBQVcsbUJBQTZCTCxPQUFWQSxRQUFPLEtBQWUsT0FBWkEsU0FBUyxJQUFHO1FBQ2xFO1FBQ0EsSUFBSyxJQUFJTSxJQUFJLEdBQUdBLElBQUksSUFBSSxFQUFFQSxFQUFHO1lBQ3pCUCxHQUFHLENBQUNDLFNBQVNNLEVBQUUsR0FBR0wsSUFBSSxDQUFDSyxFQUFFO1FBQzdCO1FBQ0EsT0FBT1A7SUFDWDtJQUNBLE9BQU9ILDhEQUFlQSxDQUFDSztBQUMzQjtBQUNBLFNBQVNNLEdBQUdULE9BQU8sRUFBRUMsR0FBRyxFQUFFQyxNQUFNO0lBQzVCLElBQUlOLGtEQUFNQSxDQUFDYyxVQUFVLElBQUksQ0FBQ1QsT0FBTyxDQUFDRCxTQUFTO1FBQ3ZDLE9BQU9KLGtEQUFNQSxDQUFDYyxVQUFVO0lBQzVCO0lBQ0EsT0FBT1gsSUFBSUMsU0FBU0MsS0FBS0M7QUFDN0I7QUFDQSwrREFBZU8sRUFBRUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L3Y0LmpzPzA3YWQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5hdGl2ZSBmcm9tICcuL25hdGl2ZS5qcyc7XG5pbXBvcnQgcm5nIGZyb20gJy4vcm5nLmpzJztcbmltcG9ydCB7IHVuc2FmZVN0cmluZ2lmeSB9IGZyb20gJy4vc3RyaW5naWZ5LmpzJztcbmZ1bmN0aW9uIF92NChvcHRpb25zLCBidWYsIG9mZnNldCkge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIGNvbnN0IHJuZHMgPSBvcHRpb25zLnJhbmRvbSA/PyBvcHRpb25zLnJuZz8uKCkgPz8gcm5nKCk7XG4gICAgaWYgKHJuZHMubGVuZ3RoIDwgMTYpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSYW5kb20gYnl0ZXMgbGVuZ3RoIG11c3QgYmUgPj0gMTYnKTtcbiAgICB9XG4gICAgcm5kc1s2XSA9IChybmRzWzZdICYgMHgwZikgfCAweDQwO1xuICAgIHJuZHNbOF0gPSAocm5kc1s4XSAmIDB4M2YpIHwgMHg4MDtcbiAgICBpZiAoYnVmKSB7XG4gICAgICAgIG9mZnNldCA9IG9mZnNldCB8fCAwO1xuICAgICAgICBpZiAob2Zmc2V0IDwgMCB8fCBvZmZzZXQgKyAxNiA+IGJ1Zi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKGBVVUlEIGJ5dGUgcmFuZ2UgJHtvZmZzZXR9OiR7b2Zmc2V0ICsgMTV9IGlzIG91dCBvZiBidWZmZXIgYm91bmRzYCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgKytpKSB7XG4gICAgICAgICAgICBidWZbb2Zmc2V0ICsgaV0gPSBybmRzW2ldO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBidWY7XG4gICAgfVxuICAgIHJldHVybiB1bnNhZmVTdHJpbmdpZnkocm5kcyk7XG59XG5mdW5jdGlvbiB2NChvcHRpb25zLCBidWYsIG9mZnNldCkge1xuICAgIGlmIChuYXRpdmUucmFuZG9tVVVJRCAmJiAhYnVmICYmICFvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuYXRpdmUucmFuZG9tVVVJRCgpO1xuICAgIH1cbiAgICByZXR1cm4gX3Y0KG9wdGlvbnMsIGJ1Ziwgb2Zmc2V0KTtcbn1cbmV4cG9ydCBkZWZhdWx0IHY0O1xuIl0sIm5hbWVzIjpbIm5hdGl2ZSIsInJuZyIsInVuc2FmZVN0cmluZ2lmeSIsIl92NCIsIm9wdGlvbnMiLCJidWYiLCJvZmZzZXQiLCJybmRzIiwicmFuZG9tIiwibGVuZ3RoIiwiRXJyb3IiLCJSYW5nZUVycm9yIiwiaSIsInY0IiwicmFuZG9tVVVJRCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/uuid/dist/v4.js\n"));
|
|
|
|
/***/ }),
|
|
|
|
/***/ "(app-pages-browser)/./node_modules/uuid/dist/validate.js":
|
|
/*!********************************************!*\
|
|
!*** ./node_modules/uuid/dist/validate.js ***!
|
|
\********************************************/
|
|
/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
|
|
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./regex.js */ \"(app-pages-browser)/./node_modules/uuid/dist/regex.js\");\n\nfunction validate(uuid) {\n return typeof uuid === \"string\" && _regex_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].test(uuid);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (validate);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy91dWlkL2Rpc3QvdmFsaWRhdGUuanMiLCJtYXBwaW5ncyI6Ijs7QUFBK0I7QUFDL0IsU0FBU0MsU0FBU0MsSUFBSTtJQUNsQixPQUFPLE9BQU9BLFNBQVMsWUFBWUYsaURBQUtBLENBQUNHLElBQUksQ0FBQ0Q7QUFDbEQ7QUFDQSwrREFBZUQsUUFBUUEsRUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvdXVpZC9kaXN0L3ZhbGlkYXRlLmpzP2Y4YWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJFR0VYIGZyb20gJy4vcmVnZXguanMnO1xuZnVuY3Rpb24gdmFsaWRhdGUodXVpZCkge1xuICAgIHJldHVybiB0eXBlb2YgdXVpZCA9PT0gJ3N0cmluZycgJiYgUkVHRVgudGVzdCh1dWlkKTtcbn1cbmV4cG9ydCBkZWZhdWx0IHZhbGlkYXRlO1xuIl0sIm5hbWVzIjpbIlJFR0VYIiwidmFsaWRhdGUiLCJ1dWlkIiwidGVzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/uuid/dist/validate.js\n"));
|
|
|
|
/***/ })
|
|
|
|
}); |