{"ast":null,"code":"var _jsxFileName = \"/Users/dwindown/CascadeProjects/developer-tools/src/pages/SerializeTool.js\",\n _s = $RefreshSig$();\nimport React, { useState } from 'react';\nimport { Database } from 'lucide-react';\nimport ToolLayout from '../components/ToolLayout';\nimport CopyButton from '../components/CopyButton';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst SerializeTool = () => {\n _s();\n const [input, setInput] = useState('');\n const [output, setOutput] = useState('');\n const [mode, setMode] = useState('serialize'); // 'serialize' or 'unserialize'\n\n // Simple PHP serialize implementation for common data types\n const phpSerialize = data => {\n if (data === null) return 'N;';\n if (typeof data === 'boolean') return data ? 'b:1;' : 'b:0;';\n if (typeof data === 'number') {\n return Number.isInteger(data) ? `i:${data};` : `d:${data};`;\n }\n if (typeof data === 'string') {\n return `s:${data.length}:\"${data}\";`;\n }\n if (Array.isArray(data)) {\n let result = `a:${data.length}:{`;\n data.forEach((item, index) => {\n result += phpSerialize(index) + phpSerialize(item);\n });\n result += '}';\n return result;\n }\n if (typeof data === 'object') {\n const keys = Object.keys(data);\n let result = `a:${keys.length}:{`;\n keys.forEach(key => {\n result += phpSerialize(key) + phpSerialize(data[key]);\n });\n result += '}';\n return result;\n }\n return 'N;';\n };\n\n // Simple PHP unserialize implementation\n const phpUnserialize = str => {\n let index = 0;\n const parseValue = () => {\n const type = str[index];\n index += 2; // Skip type and ':'\n\n switch (type) {\n case 'N':\n index++; // Skip ';'\n return null;\n case 'b':\n const boolVal = str[index] === '1';\n index += 2; // Skip value and ';'\n return boolVal;\n case 'i':\n let intStr = '';\n while (str[index] !== ';') {\n intStr += str[index++];\n }\n index++; // Skip ';'\n return parseInt(intStr);\n case 'd':\n let floatStr = '';\n while (str[index] !== ';') {\n floatStr += str[index++];\n }\n index++; // Skip ';'\n return parseFloat(floatStr);\n case 's':\n let lenStr = '';\n while (str[index] !== ':') {\n lenStr += str[index++];\n }\n index++; // Skip ':'\n index++; // Skip '\"'\n const length = parseInt(lenStr);\n const stringVal = str.substr(index, length);\n index += length + 2; // Skip string and '\";'\n return stringVal;\n case 'a':\n let arrayLenStr = '';\n while (str[index] !== ':') {\n arrayLenStr += str[index++];\n }\n index += 2; // Skip ':{'\n const arrayLength = parseInt(arrayLenStr);\n const result = {};\n let isArray = true;\n for (let i = 0; i < arrayLength; i++) {\n const key = parseValue();\n const value = parseValue();\n result[key] = value;\n if (typeof key !== 'number' || key !== i) {\n isArray = false;\n }\n }\n index++; // Skip '}'\n\n // Convert to array if all keys are sequential integers\n if (isArray && arrayLength > 0) {\n const arr = [];\n for (let i = 0; i < arrayLength; i++) {\n arr[i] = result[i];\n }\n return arr;\n }\n return result;\n default:\n throw new Error(`Unknown type: ${type}`);\n }\n };\n return parseValue();\n };\n const handleSerialize = () => {\n try {\n const data = JSON.parse(input);\n const serialized = phpSerialize(data);\n setOutput(serialized);\n } catch (err) {\n setOutput(`Error: ${err.message}`);\n }\n };\n const handleUnserialize = () => {\n try {\n const unserialized = phpUnserialize(input);\n setOutput(JSON.stringify(unserialized, null, 2));\n } catch (err) {\n setOutput(`Error: ${err.message}`);\n }\n };\n const handleProcess = () => {\n if (mode === 'serialize') {\n handleSerialize();\n } else {\n handleUnserialize();\n }\n };\n const clearAll = () => {\n setInput('');\n setOutput('');\n };\n const loadSample = () => {\n if (mode === 'serialize') {\n setInput(`{\n \"name\": \"John Doe\",\n \"age\": 30,\n \"active\": true,\n \"scores\": [85, 92, 78],\n \"address\": {\n \"street\": \"123 Main St\",\n \"city\": \"New York\"\n }\n}`);\n } else {\n setInput('a:4:{s:4:\"name\";s:8:\"John Doe\";s:3:\"age\";i:30;s:6:\"active\";b:1;s:6:\"scores\";a:3:{i:0;i:85;i:1;i:92;i:2;i:78;}}');\n }\n };\n return /*#__PURE__*/_jsxDEV(ToolLayout, {\n title: \"Serialize Encoder/Decoder\",\n description: \"Encode and decode serialized data (PHP serialize format)\",\n icon: Database,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex bg-gray-100 dark:bg-gray-800 rounded-lg p-1 mb-6 w-fit\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n onClick: () => setMode('serialize'),\n className: `px-4 py-2 rounded-md font-medium transition-colors ${mode === 'serialize' ? 'bg-white dark:bg-gray-700 text-primary-600 shadow-sm' : 'text-gray-600 dark:text-gray-400'}`,\n children: \"Serialize\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 177,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: () => setMode('unserialize'),\n className: `px-4 py-2 rounded-md font-medium transition-colors ${mode === 'unserialize' ? 'bg-white dark:bg-gray-700 text-primary-600 shadow-sm' : 'text-gray-600 dark:text-gray-400'}`,\n children: \"Unserialize\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 187,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 176,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"flex flex-wrap gap-3 mb-6\",\n children: [/*#__PURE__*/_jsxDEV(\"button\", {\n onClick: handleProcess,\n className: \"tool-button\",\n children: mode === 'serialize' ? 'Serialize Data' : 'Unserialize Data'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 201,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: loadSample,\n className: \"tool-button-secondary\",\n children: \"Load Sample\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 204,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: clearAll,\n className: \"tool-button-secondary\",\n children: \"Clear All\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 207,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 200,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"grid grid-cols-1 lg:grid-cols-2 gap-6\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: \"space-y-2\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n className: \"block text-sm font-medium text-gray-700 dark:text-gray-300\",\n children: mode === 'serialize' ? 'JSON to Serialize' : 'Serialized Data to Decode'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 216,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"relative\",\n children: /*#__PURE__*/_jsxDEV(\"textarea\", {\n value: input,\n onChange: e => setInput(e.target.value),\n placeholder: mode === 'serialize' ? 'Enter JSON data to serialize...' : 'Enter serialized data to decode...',\n className: \"tool-input h-96\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 220,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 219,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 215,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"space-y-2\",\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n className: \"block text-sm font-medium text-gray-700 dark:text-gray-300\",\n children: mode === 'serialize' ? 'Serialized Output' : 'JSON Output'\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 235,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"relative\",\n children: [/*#__PURE__*/_jsxDEV(\"textarea\", {\n value: output,\n readOnly: true,\n placeholder: mode === 'serialize' ? 'Serialized data will appear here...' : 'Decoded JSON will appear here...',\n className: \"tool-input h-96 bg-gray-50 dark:bg-gray-800\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 239,\n columnNumber: 13\n }, this), output && /*#__PURE__*/_jsxDEV(CopyButton, {\n text: output\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 249,\n columnNumber: 24\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 238,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 234,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 213,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"bg-gray-50 dark:bg-gray-800 rounded-md p-4 mt-6\",\n children: [/*#__PURE__*/_jsxDEV(\"h4\", {\n className: \"text-gray-800 dark:text-gray-200 font-medium mb-3\",\n children: \"PHP Serialize Format Reference\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 256,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"grid grid-cols-1 md:grid-cols-2 gap-4 text-sm\",\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"span\", {\n className: \"text-gray-600 dark:text-gray-400\",\n children: \"String:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 259,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"ml-2 font-mono text-gray-800 dark:text-gray-200\",\n children: \"s:length:\\\"value\\\";\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 260,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 258,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"span\", {\n className: \"text-gray-600 dark:text-gray-400\",\n children: \"Integer:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 263,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"ml-2 font-mono text-gray-800 dark:text-gray-200\",\n children: \"i:value;\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 264,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 262,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"span\", {\n className: \"text-gray-600 dark:text-gray-400\",\n children: \"Boolean:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 267,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"ml-2 font-mono text-gray-800 dark:text-gray-200\",\n children: \"b:0; or b:1;\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 268,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 266,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"span\", {\n className: \"text-gray-600 dark:text-gray-400\",\n children: \"Null:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 271,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"ml-2 font-mono text-gray-800 dark:text-gray-200\",\n children: \"N;\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 272,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 270,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"span\", {\n className: \"text-gray-600 dark:text-gray-400\",\n children: \"Array:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 275,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"ml-2 font-mono\",\n children: \"a:length:{...}\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 276,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 274,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n children: [/*#__PURE__*/_jsxDEV(\"span\", {\n className: \"text-gray-600 dark:text-gray-400\",\n children: \"Float:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 279,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"span\", {\n className: \"ml-2 font-mono text-gray-800 dark:text-gray-200\",\n children: \"d:value;\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 280,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 278,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 257,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 255,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: \"bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-md p-4 mt-6\",\n children: [/*#__PURE__*/_jsxDEV(\"h4\", {\n className: \"text-blue-800 dark:text-blue-200 font-medium mb-2\",\n children: \"Usage Tips\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 287,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"ul\", {\n className: \"text-blue-700 dark:text-blue-300 text-sm space-y-1\",\n children: [/*#__PURE__*/_jsxDEV(\"li\", {\n children: \"\\u2022 PHP serialize format is commonly used for storing complex data structures\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 289,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: \"\\u2022 Input JSON data to serialize it into PHP format\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 290,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: \"\\u2022 Paste serialized data to convert it back to readable JSON\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 291,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"li\", {\n children: \"\\u2022 Supports strings, integers, floats, booleans, arrays, and objects\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 292,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 288,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 286,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 170,\n columnNumber: 5\n }, this);\n};\n_s(SerializeTool, \"uWgFyclVhNwbqzB2RByiveW5Sh8=\");\n_c = SerializeTool;\nexport default SerializeTool;\nvar _c;\n$RefreshReg$(_c, \"SerializeTool\");","map":{"version":3,"names":["React","useState","Database","ToolLayout","CopyButton","jsxDEV","_jsxDEV","SerializeTool","_s","input","setInput","output","setOutput","mode","setMode","phpSerialize","data","Number","isInteger","length","Array","isArray","result","forEach","item","index","keys","Object","key","phpUnserialize","str","parseValue","type","boolVal","intStr","parseInt","floatStr","parseFloat","lenStr","stringVal","substr","arrayLenStr","arrayLength","i","value","arr","Error","handleSerialize","JSON","parse","serialized","err","message","handleUnserialize","unserialized","stringify","handleProcess","clearAll","loadSample","title","description","icon","children","className","onClick","fileName","_jsxFileName","lineNumber","columnNumber","onChange","e","target","placeholder","readOnly","text","_c","$RefreshReg$"],"sources":["/Users/dwindown/CascadeProjects/developer-tools/src/pages/SerializeTool.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { Database } from 'lucide-react';\nimport ToolLayout from '../components/ToolLayout';\nimport CopyButton from '../components/CopyButton';\n\nconst SerializeTool = () => {\n const [input, setInput] = useState('');\n const [output, setOutput] = useState('');\n const [mode, setMode] = useState('serialize'); // 'serialize' or 'unserialize'\n\n // Simple PHP serialize implementation for common data types\n const phpSerialize = (data) => {\n if (data === null) return 'N;';\n if (typeof data === 'boolean') return data ? 'b:1;' : 'b:0;';\n if (typeof data === 'number') {\n return Number.isInteger(data) ? `i:${data};` : `d:${data};`;\n }\n if (typeof data === 'string') {\n return `s:${data.length}:\"${data}\";`;\n }\n if (Array.isArray(data)) {\n let result = `a:${data.length}:{`;\n data.forEach((item, index) => {\n result += phpSerialize(index) + phpSerialize(item);\n });\n result += '}';\n return result;\n }\n if (typeof data === 'object') {\n const keys = Object.keys(data);\n let result = `a:${keys.length}:{`;\n keys.forEach(key => {\n result += phpSerialize(key) + phpSerialize(data[key]);\n });\n result += '}';\n return result;\n }\n return 'N;';\n };\n\n // Simple PHP unserialize implementation\n const phpUnserialize = (str) => {\n let index = 0;\n \n const parseValue = () => {\n const type = str[index];\n index += 2; // Skip type and ':'\n \n switch (type) {\n case 'N':\n index++; // Skip ';'\n return null;\n case 'b':\n const boolVal = str[index] === '1';\n index += 2; // Skip value and ';'\n return boolVal;\n case 'i':\n let intStr = '';\n while (str[index] !== ';') {\n intStr += str[index++];\n }\n index++; // Skip ';'\n return parseInt(intStr);\n case 'd':\n let floatStr = '';\n while (str[index] !== ';') {\n floatStr += str[index++];\n }\n index++; // Skip ';'\n return parseFloat(floatStr);\n case 's':\n let lenStr = '';\n while (str[index] !== ':') {\n lenStr += str[index++];\n }\n index++; // Skip ':'\n index++; // Skip '\"'\n const length = parseInt(lenStr);\n const stringVal = str.substr(index, length);\n index += length + 2; // Skip string and '\";'\n return stringVal;\n case 'a':\n let arrayLenStr = '';\n while (str[index] !== ':') {\n arrayLenStr += str[index++];\n }\n index += 2; // Skip ':{'\n const arrayLength = parseInt(arrayLenStr);\n const result = {};\n let isArray = true;\n \n for (let i = 0; i < arrayLength; i++) {\n const key = parseValue();\n const value = parseValue();\n result[key] = value;\n if (typeof key !== 'number' || key !== i) {\n isArray = false;\n }\n }\n index++; // Skip '}'\n \n // Convert to array if all keys are sequential integers\n if (isArray && arrayLength > 0) {\n const arr = [];\n for (let i = 0; i < arrayLength; i++) {\n arr[i] = result[i];\n }\n return arr;\n }\n \n return result;\n default:\n throw new Error(`Unknown type: ${type}`);\n }\n };\n \n return parseValue();\n };\n\n const handleSerialize = () => {\n try {\n const data = JSON.parse(input);\n const serialized = phpSerialize(data);\n setOutput(serialized);\n } catch (err) {\n setOutput(`Error: ${err.message}`);\n }\n };\n\n const handleUnserialize = () => {\n try {\n const unserialized = phpUnserialize(input);\n setOutput(JSON.stringify(unserialized, null, 2));\n } catch (err) {\n setOutput(`Error: ${err.message}`);\n }\n };\n\n const handleProcess = () => {\n if (mode === 'serialize') {\n handleSerialize();\n } else {\n handleUnserialize();\n }\n };\n\n const clearAll = () => {\n setInput('');\n setOutput('');\n };\n\n const loadSample = () => {\n if (mode === 'serialize') {\n setInput(`{\n \"name\": \"John Doe\",\n \"age\": 30,\n \"active\": true,\n \"scores\": [85, 92, 78],\n \"address\": {\n \"street\": \"123 Main St\",\n \"city\": \"New York\"\n }\n}`);\n } else {\n setInput('a:4:{s:4:\"name\";s:8:\"John Doe\";s:3:\"age\";i:30;s:6:\"active\";b:1;s:6:\"scores\";a:3:{i:0;i:85;i:1;i:92;i:2;i:78;}}');\n }\n };\n\n return (\n \n {/* Mode Toggle */}\n
\n setMode('serialize')}\n className={`px-4 py-2 rounded-md font-medium transition-colors ${\n mode === 'serialize'\n ? 'bg-white dark:bg-gray-700 text-primary-600 shadow-sm'\n : 'text-gray-600 dark:text-gray-400'\n }`}\n >\n Serialize\n \n setMode('unserialize')}\n className={`px-4 py-2 rounded-md font-medium transition-colors ${\n mode === 'unserialize'\n ? 'bg-white dark:bg-gray-700 text-primary-600 shadow-sm'\n : 'text-gray-600 dark:text-gray-400'\n }`}\n >\n Unserialize\n \n
\n\n {/* Controls */}\n
\n \n \n \n
\n\n {/* Input/Output Grid */}\n
\n {/* Input */}\n
\n \n
\n setInput(e.target.value)}\n placeholder={\n mode === 'serialize' \n ? 'Enter JSON data to serialize...' \n : 'Enter serialized data to decode...'\n }\n className=\"tool-input h-96\"\n />\n
\n
\n\n {/* Output */}\n
\n \n
\n \n {output && }\n
\n
\n
\n\n {/* Serialize Format Reference */}\n
\n

PHP Serialize Format Reference

\n
\n
\n String:\n s:length:\"value\";\n
\n
\n Integer:\n i:value;\n
\n
\n Boolean:\n b:0; or b:1;\n
\n
\n Null:\n N;\n
\n
\n Array:\n a:length:{...}\n
\n
\n Float:\n d:value;\n
\n
\n
\n\n {/* Usage Tips */}\n
\n

Usage Tips

\n \n
\n \n );\n};\n\nexport default SerializeTool;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}