{"ast":null,"code":"var _jsxFileName = \"D:\\\\Project\\\\UC_Trains_Voice\\\\react-demo\\\\src\\\\gavt\\\\CaliTable.jsx\",\n  _s = $RefreshSig$(),\n  _s2 = $RefreshSig$(),\n  _s3 = $RefreshSig$();\nimport React, { useState, useContext, useEffect, useRef } from 'react';\nimport { Table, Input, Form } from 'antd';\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst EditableContext = /*#__PURE__*/React.createContext(null);\n\n// From antd documentation: https://ant.design/components/table/\nconst EditableRow = ({\n  index,\n  ...props\n}) => {\n  _s();\n  const [form] = Form.useForm();\n  return /*#__PURE__*/_jsxDEV(Form, {\n    form: form,\n    component: false,\n    children: /*#__PURE__*/_jsxDEV(EditableContext.Provider, {\n      value: form,\n      children: /*#__PURE__*/_jsxDEV(\"tr\", {\n        ...props\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 12,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 11,\n      columnNumber: 7\n    }, this)\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 10,\n    columnNumber: 5\n  }, this);\n};\n_s(EditableRow, \"rI7DrJIrFu7YmlGWYiMFTzs8jF0=\", false, function () {\n  return [Form.useForm];\n});\n_c = EditableRow;\nconst EditableCell = ({\n  title,\n  editable,\n  children,\n  dataIndex,\n  record,\n  handleSave,\n  inputType = 'number',\n  index,\n  ...restProps\n}) => {\n  _s2();\n  const [editing, setEditing] = useState(false);\n  const inputRef = useRef(null);\n  const form = useContext(EditableContext);\n  useEffect(() => {\n    if (editing) {\n      var _inputRef$current;\n      (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n    }\n  }, [editing]);\n  const toggleEdit = () => {\n    setEditing(!editing);\n    form.setFieldsValue({\n      [dataIndex]: record[dataIndex]\n    });\n  };\n  const save = async () => {\n    try {\n      const values = await form.validateFields();\n      toggleEdit();\n      handleSave({\n        ...record,\n        ...values\n      });\n    } catch (errInfo) {\n      console.log('Save failed:', errInfo);\n    }\n  };\n  let childNode = children;\n  if (editable) {\n    childNode = editing ? /*#__PURE__*/_jsxDEV(Form.Item, {\n      style: {\n        margin: 0\n      },\n      name: dataIndex,\n      rules: [{\n        required: false,\n        message: `${title} is required.`\n      }, {\n        type: 'number',\n        min: 0,\n        max: 4096,\n        transform: value => Number(value),\n        message: 'The value must be an integer between 0 and 4096.'\n      }],\n      children: /*#__PURE__*/_jsxDEV(Input, {\n        ref: inputRef,\n        onPressEnter: save,\n        onBlur: save,\n        type: inputType\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 80,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 63,\n      columnNumber: 7\n    }, this) : /*#__PURE__*/_jsxDEV(\"div\", {\n      className: \"editable-cell-value-wrap\",\n      style: {\n        paddingRight: 24,\n        minHeight: '32px',\n        display: 'flex',\n        alignItems: 'center'\n      },\n      onClick: toggleEdit,\n      children: children\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 83,\n      columnNumber: 7\n    }, this);\n  }\n  return /*#__PURE__*/_jsxDEV(\"td\", {\n    ...restProps,\n    children: childNode\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 97,\n    columnNumber: 10\n  }, this);\n};\n_s2(EditableCell, \"IMw7TsWhFd8T/FybyizRtPpww8A=\");\n_c2 = EditableCell;\nconst CaliTable = () => {\n  _s3();\n  const [data, setData] = useState([]);\n  const [form] = Form.useForm();\n\n  // Initialize data from localStorage\n  useEffect(() => {\n    const fetchData = () => {\n      const caliBaselineRaw = localStorage.getItem('caliBaseline');\n      const customFrequenciesRaw = localStorage.getItem('customFrequencies');\n      if (!caliBaselineRaw) return;\n      const caliBaseline = JSON.parse(caliBaselineRaw);\n      const customFrequencies = customFrequenciesRaw ? JSON.parse(customFrequenciesRaw) : {};\n      const processedData = Object.keys(caliBaseline).map(key => {\n        const measuredValue = caliBaseline[key];\n        return {\n          key,\n          vowel: key,\n          measuredValue,\n          moderatelyDarker: Math.round(measuredValue * 0.92),\n          slightlyDarker: Math.round(measuredValue * 0.98),\n          slightlyBrighter: Math.round(measuredValue * 1.02),\n          moderatelyBrighter: Math.round(measuredValue * 1.08),\n          customFrequency: customFrequencies[key] || ''\n        };\n      });\n      setData(processedData);\n    };\n    fetchData();\n  }, []);\n  const columns = [{\n    title: 'Vowel',\n    dataIndex: 'vowel',\n    key: 'vowel',\n    editable: false\n  }, {\n    title: 'Calibrated Baseline',\n    dataIndex: 'measuredValue',\n    key: 'measuredValue',\n    editable: true\n  }, {\n    title: 'Moderately Darker',\n    dataIndex: 'moderatelyDarker',\n    key: 'moderatelyDarker',\n    editable: false\n  }, {\n    title: 'Slightly Darker',\n    dataIndex: 'slightlyDarker',\n    key: 'slightlyDarker',\n    editable: false\n  }, {\n    title: 'Slightly Brighter',\n    dataIndex: 'slightlyBrighter',\n    key: 'slightlyBrighter',\n    editable: false\n  }, {\n    title: 'Moderately Brighter',\n    dataIndex: 'moderatelyBrighter',\n    key: 'moderatelyBrighter',\n    editable: false\n  }, {\n    title: 'Custom Frequency',\n    dataIndex: 'customFrequency',\n    key: 'customFrequency',\n    editable: true\n  }].map(col => {\n    if (!col.editable) {\n      return col;\n    }\n    return {\n      ...col,\n      onCell: record => ({\n        record,\n        editable: col.editable,\n        dataIndex: col.dataIndex,\n        title: col.title,\n        handleSave\n      })\n    };\n  });\n  const handleSave = row => {\n    const newData = [...data];\n    const index = newData.findIndex(item => row.key === item.key);\n    const item = newData[index];\n    if (row.measuredValue !== item.measuredValue) {\n      if (row.measuredValue) {\n        item.moderatelyDarker = Math.round(row.measuredValue * 0.92);\n        item.slightlyDarker = Math.round(row.measuredValue * 0.98);\n        item.slightlyBrighter = Math.round(row.measuredValue * 1.02);\n        item.moderatelyBrighter = Math.round(row.measuredValue * 1.08);\n      } else {\n        item.moderatelyDarker = '';\n        item.slightlyDarker = '';\n        item.slightlyBrighter = '';\n        item.moderatelyBrighter = '';\n      }\n    }\n    newData[index] = {\n      ...item,\n      ...row\n    };\n    newData.splice(index, 1, {\n      ...item,\n      ...row\n    });\n    setData(newData);\n\n    // Save to localStorage\n    const updatedCaliBaseline = {};\n    const updatedCustomFrequencies = {};\n    newData.forEach(({\n      key,\n      measuredValue,\n      customFrequency\n    }) => {\n      updatedCaliBaseline[key] = measuredValue;\n      updatedCustomFrequencies[key] = customFrequency;\n    });\n    localStorage.setItem('caliBaseline', JSON.stringify(updatedCaliBaseline));\n    localStorage.setItem('customFrequencies', JSON.stringify(updatedCustomFrequencies));\n  };\n  const components = {\n    body: {\n      row: EditableRow,\n      cell: EditableCell\n    }\n  };\n  return /*#__PURE__*/_jsxDEV(Form, {\n    form: form,\n    component: false,\n    children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n      children: \"Resonance Frequency Analysis - F2\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 247,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n      children: \" The calibrated Baseline and Custom Value are editable. You can click the cell to edit.\"\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 248,\n      columnNumber: 7\n    }, this), /*#__PURE__*/_jsxDEV(Table, {\n      components: components,\n      rowClassName: \"editable-row\",\n      bordered: true,\n      dataSource: data,\n      columns: columns,\n      pagination: false\n      // onRow={(record) => ({\n      //   onClick: () => {\n      //     if (record.key !== editingKey) edit(record);\n      //   },\n      // })}\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 249,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 246,\n    columnNumber: 5\n  }, this);\n};\n_s3(CaliTable, \"a64iuYz7HmfyuDLaJDA4We3HJts=\", false, function () {\n  return [Form.useForm];\n});\n_c3 = CaliTable;\nexport default CaliTable;\nvar _c, _c2, _c3;\n$RefreshReg$(_c, \"EditableRow\");\n$RefreshReg$(_c2, \"EditableCell\");\n$RefreshReg$(_c3, \"CaliTable\");","map":{"version":3,"names":["React","useState","useContext","useEffect","useRef","Table","Input","Form","jsxDEV","_jsxDEV","EditableContext","createContext","EditableRow","index","props","_s","form","useForm","component","children","Provider","value","fileName","_jsxFileName","lineNumber","columnNumber","_c","EditableCell","title","editable","dataIndex","record","handleSave","inputType","restProps","_s2","editing","setEditing","inputRef","_inputRef$current","current","focus","toggleEdit","setFieldsValue","save","values","validateFields","errInfo","console","log","childNode","Item","style","margin","name","rules","required","message","type","min","max","transform","Number","ref","onPressEnter","onBlur","className","paddingRight","minHeight","display","alignItems","onClick","_c2","CaliTable","_s3","data","setData","fetchData","caliBaselineRaw","localStorage","getItem","customFrequenciesRaw","caliBaseline","JSON","parse","customFrequencies","processedData","Object","keys","map","key","measuredValue","vowel","moderatelyDarker","Math","round","slightlyDarker","slightlyBrighter","moderatelyBrighter","customFrequency","columns","col","onCell","row","newData","findIndex","item","splice","updatedCaliBaseline","updatedCustomFrequencies","forEach","setItem","stringify","components","body","cell","rowClassName","bordered","dataSource","pagination","_c3","$RefreshReg$"],"sources":["D:/Project/UC_Trains_Voice/react-demo/src/gavt/CaliTable.jsx"],"sourcesContent":["import React, { useState, useContext, useEffect, useRef } from 'react';\r\nimport { Table, Input, Form } from 'antd';\r\nconst EditableContext = React.createContext(null);\r\n\r\n\r\n// From antd documentation: https://ant.design/components/table/\r\nconst EditableRow = ({ index, ...props }) => {\r\n  const [form] = Form.useForm();\r\n  return (\r\n    <Form form={form} component={false}>\r\n      <EditableContext.Provider value={form}>\r\n        <tr {...props} />\r\n      </EditableContext.Provider>\r\n    </Form>\r\n  );\r\n};\r\n\r\nconst EditableCell = ({\r\n  title,\r\n  editable,\r\n  children,\r\n  dataIndex,\r\n  record,\r\n  handleSave,\r\n  inputType = 'number',\r\n  index,\r\n  ...restProps\r\n}) => {\r\n  const [editing, setEditing] = useState(false);\r\n  const inputRef = useRef(null);\r\n  const form = useContext(EditableContext);\r\n\r\n  useEffect(() => {\r\n    if (editing) {\r\n      inputRef.current?.focus();\r\n    }\r\n  }, [editing]);\r\n\r\n  const toggleEdit = () => {\r\n    setEditing(!editing);\r\n    form.setFieldsValue({\r\n      [dataIndex]: record[dataIndex],\r\n    });\r\n  };\r\n\r\n  const save = async () => {\r\n    try {\r\n      const values = await form.validateFields();\r\n      toggleEdit();\r\n      handleSave({\r\n        ...record,\r\n        ...values,\r\n      });\r\n    } catch (errInfo) {\r\n      console.log('Save failed:', errInfo);\r\n    }\r\n  };\r\n\r\n  let childNode = children;\r\n\r\n  if (editable) {\r\n    childNode = editing ? (\r\n      <Form.Item\r\n        style={{ margin: 0 }}\r\n        name={dataIndex}\r\n        rules={[\r\n          {\r\n            required: false,\r\n            message: `${title} is required.`,\r\n          },\r\n          {\r\n            type: 'number',\r\n            min: 0,\r\n            max: 4096,\r\n            transform: value => Number(value),\r\n            message: 'The value must be an integer between 0 and 4096.'\r\n          }          \r\n        ]}\r\n      >\r\n        <Input ref={inputRef} onPressEnter={save} onBlur={save} type={inputType}/>\r\n      </Form.Item>\r\n    ) : (\r\n      <div\r\n        className=\"editable-cell-value-wrap\"\r\n        style={{\r\n          paddingRight: 24,\r\n          minHeight: '32px',\r\n          display: 'flex',\r\n          alignItems: 'center'\r\n        }}\r\n        onClick={toggleEdit}\r\n      >\r\n        {children}\r\n      </div>\r\n    );\r\n  }  \r\n  return <td {...restProps}>{childNode}</td>;\r\n};\r\n\r\nconst CaliTable = () => {\r\n  const [data, setData] = useState([]);\r\n  const [form] = Form.useForm();\r\n\r\n  // Initialize data from localStorage\r\n  useEffect(() => {\r\n    const fetchData = () => {\r\n      const caliBaselineRaw = localStorage.getItem('caliBaseline');\r\n      const customFrequenciesRaw = localStorage.getItem('customFrequencies');\r\n\r\n      if (!caliBaselineRaw) return;\r\n\r\n      const caliBaseline = JSON.parse(caliBaselineRaw);\r\n      const customFrequencies = customFrequenciesRaw ? JSON.parse(customFrequenciesRaw) : {};\r\n\r\n      const processedData = Object.keys(caliBaseline).map(key => {\r\n        const measuredValue = caliBaseline[key];\r\n        return {\r\n          key,\r\n          vowel: key,\r\n          measuredValue,\r\n          moderatelyDarker: Math.round((measuredValue * 0.92)),\r\n          slightlyDarker: Math.round((measuredValue * 0.98)),\r\n          slightlyBrighter: Math.round((measuredValue * 1.02)),\r\n          moderatelyBrighter: Math.round((measuredValue * 1.08)),\r\n          customFrequency: customFrequencies[key] || ''\r\n        };\r\n      });\r\n      setData(processedData);\r\n    };\r\n    fetchData();\r\n  }, []);\r\n\r\n  const columns = [\r\n    {\r\n      title: 'Vowel',\r\n      dataIndex: 'vowel',\r\n      key: 'vowel',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Calibrated Baseline',\r\n      dataIndex: 'measuredValue',\r\n      key: 'measuredValue',\r\n      editable: true\r\n    },\r\n    {\r\n      title: 'Moderately Darker',\r\n      dataIndex: 'moderatelyDarker',\r\n      key: 'moderatelyDarker',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Slightly Darker',\r\n      dataIndex: 'slightlyDarker',\r\n      key: 'slightlyDarker',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Slightly Brighter',\r\n      dataIndex: 'slightlyBrighter',\r\n      key: 'slightlyBrighter',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Moderately Brighter',\r\n      dataIndex: 'moderatelyBrighter',\r\n      key: 'moderatelyBrighter',\r\n      editable: false\r\n    },\r\n    {\r\n      title: 'Custom Frequency',\r\n      dataIndex: 'customFrequency',\r\n      key: 'customFrequency',\r\n      editable: true\r\n    }\r\n  ].map(col => {\r\n    if (!col.editable) {\r\n      return col;\r\n    }\r\n    return {\r\n      ...col,\r\n      onCell: (record) => ({\r\n        record,\r\n        editable: col.editable,\r\n        dataIndex: col.dataIndex,\r\n        title: col.title,\r\n        handleSave,\r\n      }),\r\n    };\r\n  });\r\n\r\n  const handleSave = (row) => {\r\n    const newData = [...data];\r\n    const index = newData.findIndex((item) => row.key === item.key);\r\n    const item = newData[index];\r\n\r\n    if (row.measuredValue !== item.measuredValue) {\r\n      if (row.measuredValue) {\r\n        item.moderatelyDarker = Math.round(row.measuredValue * 0.92);\r\n        item.slightlyDarker = Math.round(row.measuredValue * 0.98);\r\n        item.slightlyBrighter = Math.round(row.measuredValue * 1.02);\r\n        item.moderatelyBrighter = Math.round(row.measuredValue * 1.08);\r\n      } else {\r\n        item.moderatelyDarker = '';\r\n        item.slightlyDarker = '';\r\n        item.slightlyBrighter = '';\r\n        item.moderatelyBrighter = '';\r\n      }\r\n\r\n    }\r\n\r\n    newData[index] = {\r\n      ...item,\r\n      ...row,\r\n    };\r\n\r\n    newData.splice(index, 1, {\r\n      ...item,\r\n      ...row,\r\n    });\r\n\r\n    setData(newData);\r\n\r\n    // Save to localStorage\r\n    const updatedCaliBaseline = {};\r\n    const updatedCustomFrequencies = {};\r\n\r\n    newData.forEach(({ key, measuredValue, customFrequency }) => {\r\n      updatedCaliBaseline[key] = measuredValue;\r\n      updatedCustomFrequencies[key] = customFrequency;\r\n    });\r\n\r\n    localStorage.setItem('caliBaseline', JSON.stringify(updatedCaliBaseline));\r\n    localStorage.setItem('customFrequencies', JSON.stringify(updatedCustomFrequencies));\r\n\r\n  };\r\n\r\n  const components = {\r\n    body: {\r\n      row: EditableRow,\r\n      cell: EditableCell,\r\n    },\r\n  };\r\n\r\n  return (\r\n    <Form form={form} component={false}>\r\n      <h2>Resonance Frequency Analysis - F2</h2>\r\n      <p> The calibrated Baseline and Custom Value are editable. You can click the cell to edit.</p>\r\n      <Table\r\n        components={components}\r\n        rowClassName=\"editable-row\"\r\n        bordered\r\n        dataSource={data}\r\n        columns={columns}\r\n        pagination={false}\r\n        // onRow={(record) => ({\r\n        //   onClick: () => {\r\n        //     if (record.key !== editingKey) edit(record);\r\n        //   },\r\n        // })}\r\n      />\r\n    </Form>\r\n  );\r\n};\r\n\r\nexport default CaliTable;\r\n"],"mappings":";;;;AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACtE,SAASC,KAAK,EAAEC,KAAK,EAAEC,IAAI,QAAQ,MAAM;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAC1C,MAAMC,eAAe,gBAAGV,KAAK,CAACW,aAAa,CAAC,IAAI,CAAC;;AAGjD;AACA,MAAMC,WAAW,GAAGA,CAAC;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,KAAK;EAAAC,EAAA;EAC3C,MAAM,CAACC,IAAI,CAAC,GAAGT,IAAI,CAACU,OAAO,CAAC,CAAC;EAC7B,oBACER,OAAA,CAACF,IAAI;IAACS,IAAI,EAAEA,IAAK;IAACE,SAAS,EAAE,KAAM;IAAAC,QAAA,eACjCV,OAAA,CAACC,eAAe,CAACU,QAAQ;MAACC,KAAK,EAAEL,IAAK;MAAAG,QAAA,eACpCV,OAAA;QAAA,GAAQK;MAAK;QAAAQ,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAG;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACO;EAAC;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACvB,CAAC;AAEX,CAAC;AAACV,EAAA,CATIH,WAAW;EAAA,QACAL,IAAI,CAACU,OAAO;AAAA;AAAAS,EAAA,GADvBd,WAAW;AAWjB,MAAMe,YAAY,GAAGA,CAAC;EACpBC,KAAK;EACLC,QAAQ;EACRV,QAAQ;EACRW,SAAS;EACTC,MAAM;EACNC,UAAU;EACVC,SAAS,GAAG,QAAQ;EACpBpB,KAAK;EACL,GAAGqB;AACL,CAAC,KAAK;EAAAC,GAAA;EACJ,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGpC,QAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMqC,QAAQ,GAAGlC,MAAM,CAAC,IAAI,CAAC;EAC7B,MAAMY,IAAI,GAAGd,UAAU,CAACQ,eAAe,CAAC;EAExCP,SAAS,CAAC,MAAM;IACd,IAAIiC,OAAO,EAAE;MAAA,IAAAG,iBAAA;MACX,CAAAA,iBAAA,GAAAD,QAAQ,CAACE,OAAO,cAAAD,iBAAA,uBAAhBA,iBAAA,CAAkBE,KAAK,CAAC,CAAC;IAC3B;EACF,CAAC,EAAE,CAACL,OAAO,CAAC,CAAC;EAEb,MAAMM,UAAU,GAAGA,CAAA,KAAM;IACvBL,UAAU,CAAC,CAACD,OAAO,CAAC;IACpBpB,IAAI,CAAC2B,cAAc,CAAC;MAClB,CAACb,SAAS,GAAGC,MAAM,CAACD,SAAS;IAC/B,CAAC,CAAC;EACJ,CAAC;EAED,MAAMc,IAAI,GAAG,MAAAA,CAAA,KAAY;IACvB,IAAI;MACF,MAAMC,MAAM,GAAG,MAAM7B,IAAI,CAAC8B,cAAc,CAAC,CAAC;MAC1CJ,UAAU,CAAC,CAAC;MACZV,UAAU,CAAC;QACT,GAAGD,MAAM;QACT,GAAGc;MACL,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOE,OAAO,EAAE;MAChBC,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEF,OAAO,CAAC;IACtC;EACF,CAAC;EAED,IAAIG,SAAS,GAAG/B,QAAQ;EAExB,IAAIU,QAAQ,EAAE;IACZqB,SAAS,GAAGd,OAAO,gBACjB3B,OAAA,CAACF,IAAI,CAAC4C,IAAI;MACRC,KAAK,EAAE;QAAEC,MAAM,EAAE;MAAE,CAAE;MACrBC,IAAI,EAAExB,SAAU;MAChByB,KAAK,EAAE,CACL;QACEC,QAAQ,EAAE,KAAK;QACfC,OAAO,EAAG,GAAE7B,KAAM;MACpB,CAAC,EACD;QACE8B,IAAI,EAAE,QAAQ;QACdC,GAAG,EAAE,CAAC;QACNC,GAAG,EAAE,IAAI;QACTC,SAAS,EAAExC,KAAK,IAAIyC,MAAM,CAACzC,KAAK,CAAC;QACjCoC,OAAO,EAAE;MACX,CAAC,CACD;MAAAtC,QAAA,eAEFV,OAAA,CAACH,KAAK;QAACyD,GAAG,EAAEzB,QAAS;QAAC0B,YAAY,EAAEpB,IAAK;QAACqB,MAAM,EAAErB,IAAK;QAACc,IAAI,EAAEzB;MAAU;QAAAX,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAC;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACjE,CAAC,gBAEZhB,OAAA;MACEyD,SAAS,EAAC,0BAA0B;MACpCd,KAAK,EAAE;QACLe,YAAY,EAAE,EAAE;QAChBC,SAAS,EAAE,MAAM;QACjBC,OAAO,EAAE,MAAM;QACfC,UAAU,EAAE;MACd,CAAE;MACFC,OAAO,EAAE7B,UAAW;MAAAvB,QAAA,EAEnBA;IAAQ;MAAAG,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACN,CACN;EACH;EACA,oBAAOhB,OAAA;IAAA,GAAQyB,SAAS;IAAAf,QAAA,EAAG+B;EAAS;IAAA5B,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OAAK,CAAC;AAC5C,CAAC;AAACU,GAAA,CAhFIR,YAAY;AAAA6C,GAAA,GAAZ7C,YAAY;AAkFlB,MAAM8C,SAAS,GAAGA,CAAA,KAAM;EAAAC,GAAA;EACtB,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG3E,QAAQ,CAAC,EAAE,CAAC;EACpC,MAAM,CAACe,IAAI,CAAC,GAAGT,IAAI,CAACU,OAAO,CAAC,CAAC;;EAE7B;EACAd,SAAS,CAAC,MAAM;IACd,MAAM0E,SAAS,GAAGA,CAAA,KAAM;MACtB,MAAMC,eAAe,GAAGC,YAAY,CAACC,OAAO,CAAC,cAAc,CAAC;MAC5D,MAAMC,oBAAoB,GAAGF,YAAY,CAACC,OAAO,CAAC,mBAAmB,CAAC;MAEtE,IAAI,CAACF,eAAe,EAAE;MAEtB,MAAMI,YAAY,GAAGC,IAAI,CAACC,KAAK,CAACN,eAAe,CAAC;MAChD,MAAMO,iBAAiB,GAAGJ,oBAAoB,GAAGE,IAAI,CAACC,KAAK,CAACH,oBAAoB,CAAC,GAAG,CAAC,CAAC;MAEtF,MAAMK,aAAa,GAAGC,MAAM,CAACC,IAAI,CAACN,YAAY,CAAC,CAACO,GAAG,CAACC,GAAG,IAAI;QACzD,MAAMC,aAAa,GAAGT,YAAY,CAACQ,GAAG,CAAC;QACvC,OAAO;UACLA,GAAG;UACHE,KAAK,EAAEF,GAAG;UACVC,aAAa;UACbE,gBAAgB,EAAEC,IAAI,CAACC,KAAK,CAAEJ,aAAa,GAAG,IAAK,CAAC;UACpDK,cAAc,EAAEF,IAAI,CAACC,KAAK,CAAEJ,aAAa,GAAG,IAAK,CAAC;UAClDM,gBAAgB,EAAEH,IAAI,CAACC,KAAK,CAAEJ,aAAa,GAAG,IAAK,CAAC;UACpDO,kBAAkB,EAAEJ,IAAI,CAACC,KAAK,CAAEJ,aAAa,GAAG,IAAK,CAAC;UACtDQ,eAAe,EAAEd,iBAAiB,CAACK,GAAG,CAAC,IAAI;QAC7C,CAAC;MACH,CAAC,CAAC;MACFd,OAAO,CAACU,aAAa,CAAC;IACxB,CAAC;IACDT,SAAS,CAAC,CAAC;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMuB,OAAO,GAAG,CACd;IACExE,KAAK,EAAE,OAAO;IACdE,SAAS,EAAE,OAAO;IAClB4D,GAAG,EAAE,OAAO;IACZ7D,QAAQ,EAAE;EACZ,CAAC,EACD;IACED,KAAK,EAAE,qBAAqB;IAC5BE,SAAS,EAAE,eAAe;IAC1B4D,GAAG,EAAE,eAAe;IACpB7D,QAAQ,EAAE;EACZ,CAAC,EACD;IACED,KAAK,EAAE,mBAAmB;IAC1BE,SAAS,EAAE,kBAAkB;IAC7B4D,GAAG,EAAE,kBAAkB;IACvB7D,QAAQ,EAAE;EACZ,CAAC,EACD;IACED,KAAK,EAAE,iBAAiB;IACxBE,SAAS,EAAE,gBAAgB;IAC3B4D,GAAG,EAAE,gBAAgB;IACrB7D,QAAQ,EAAE;EACZ,CAAC,EACD;IACED,KAAK,EAAE,mBAAmB;IAC1BE,SAAS,EAAE,kBAAkB;IAC7B4D,GAAG,EAAE,kBAAkB;IACvB7D,QAAQ,EAAE;EACZ,CAAC,EACD;IACED,KAAK,EAAE,qBAAqB;IAC5BE,SAAS,EAAE,oBAAoB;IAC/B4D,GAAG,EAAE,oBAAoB;IACzB7D,QAAQ,EAAE;EACZ,CAAC,EACD;IACED,KAAK,EAAE,kBAAkB;IACzBE,SAAS,EAAE,iBAAiB;IAC5B4D,GAAG,EAAE,iBAAiB;IACtB7D,QAAQ,EAAE;EACZ,CAAC,CACF,CAAC4D,GAAG,CAACY,GAAG,IAAI;IACX,IAAI,CAACA,GAAG,CAACxE,QAAQ,EAAE;MACjB,OAAOwE,GAAG;IACZ;IACA,OAAO;MACL,GAAGA,GAAG;MACNC,MAAM,EAAGvE,MAAM,KAAM;QACnBA,MAAM;QACNF,QAAQ,EAAEwE,GAAG,CAACxE,QAAQ;QACtBC,SAAS,EAAEuE,GAAG,CAACvE,SAAS;QACxBF,KAAK,EAAEyE,GAAG,CAACzE,KAAK;QAChBI;MACF,CAAC;IACH,CAAC;EACH,CAAC,CAAC;EAEF,MAAMA,UAAU,GAAIuE,GAAG,IAAK;IAC1B,MAAMC,OAAO,GAAG,CAAC,GAAG7B,IAAI,CAAC;IACzB,MAAM9D,KAAK,GAAG2F,OAAO,CAACC,SAAS,CAAEC,IAAI,IAAKH,GAAG,CAACb,GAAG,KAAKgB,IAAI,CAAChB,GAAG,CAAC;IAC/D,MAAMgB,IAAI,GAAGF,OAAO,CAAC3F,KAAK,CAAC;IAE3B,IAAI0F,GAAG,CAACZ,aAAa,KAAKe,IAAI,CAACf,aAAa,EAAE;MAC5C,IAAIY,GAAG,CAACZ,aAAa,EAAE;QACrBe,IAAI,CAACb,gBAAgB,GAAGC,IAAI,CAACC,KAAK,CAACQ,GAAG,CAACZ,aAAa,GAAG,IAAI,CAAC;QAC5De,IAAI,CAACV,cAAc,GAAGF,IAAI,CAACC,KAAK,CAACQ,GAAG,CAACZ,aAAa,GAAG,IAAI,CAAC;QAC1De,IAAI,CAACT,gBAAgB,GAAGH,IAAI,CAACC,KAAK,CAACQ,GAAG,CAACZ,aAAa,GAAG,IAAI,CAAC;QAC5De,IAAI,CAACR,kBAAkB,GAAGJ,IAAI,CAACC,KAAK,CAACQ,GAAG,CAACZ,aAAa,GAAG,IAAI,CAAC;MAChE,CAAC,MAAM;QACLe,IAAI,CAACb,gBAAgB,GAAG,EAAE;QAC1Ba,IAAI,CAACV,cAAc,GAAG,EAAE;QACxBU,IAAI,CAACT,gBAAgB,GAAG,EAAE;QAC1BS,IAAI,CAACR,kBAAkB,GAAG,EAAE;MAC9B;IAEF;IAEAM,OAAO,CAAC3F,KAAK,CAAC,GAAG;MACf,GAAG6F,IAAI;MACP,GAAGH;IACL,CAAC;IAEDC,OAAO,CAACG,MAAM,CAAC9F,KAAK,EAAE,CAAC,EAAE;MACvB,GAAG6F,IAAI;MACP,GAAGH;IACL,CAAC,CAAC;IAEF3B,OAAO,CAAC4B,OAAO,CAAC;;IAEhB;IACA,MAAMI,mBAAmB,GAAG,CAAC,CAAC;IAC9B,MAAMC,wBAAwB,GAAG,CAAC,CAAC;IAEnCL,OAAO,CAACM,OAAO,CAAC,CAAC;MAAEpB,GAAG;MAAEC,aAAa;MAAEQ;IAAgB,CAAC,KAAK;MAC3DS,mBAAmB,CAAClB,GAAG,CAAC,GAAGC,aAAa;MACxCkB,wBAAwB,CAACnB,GAAG,CAAC,GAAGS,eAAe;IACjD,CAAC,CAAC;IAEFpB,YAAY,CAACgC,OAAO,CAAC,cAAc,EAAE5B,IAAI,CAAC6B,SAAS,CAACJ,mBAAmB,CAAC,CAAC;IACzE7B,YAAY,CAACgC,OAAO,CAAC,mBAAmB,EAAE5B,IAAI,CAAC6B,SAAS,CAACH,wBAAwB,CAAC,CAAC;EAErF,CAAC;EAED,MAAMI,UAAU,GAAG;IACjBC,IAAI,EAAE;MACJX,GAAG,EAAE3F,WAAW;MAChBuG,IAAI,EAAExF;IACR;EACF,CAAC;EAED,oBACElB,OAAA,CAACF,IAAI;IAACS,IAAI,EAAEA,IAAK;IAACE,SAAS,EAAE,KAAM;IAAAC,QAAA,gBACjCV,OAAA;MAAAU,QAAA,EAAI;IAAiC;MAAAG,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAI,CAAC,eAC1ChB,OAAA;MAAAU,QAAA,EAAG;IAAuF;MAAAG,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAG,CAAC,eAC9FhB,OAAA,CAACJ,KAAK;MACJ4G,UAAU,EAAEA,UAAW;MACvBG,YAAY,EAAC,cAAc;MAC3BC,QAAQ;MACRC,UAAU,EAAE3C,IAAK;MACjByB,OAAO,EAAEA,OAAQ;MACjBmB,UAAU,EAAE;MACZ;MACA;MACA;MACA;MACA;IAAA;MAAAjG,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACD,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACE,CAAC;AAEX,CAAC;AAACiD,GAAA,CApKID,SAAS;EAAA,QAEElE,IAAI,CAACU,OAAO;AAAA;AAAAuG,GAAA,GAFvB/C,SAAS;AAsKf,eAAeA,SAAS;AAAC,IAAA/C,EAAA,EAAA8C,GAAA,EAAAgD,GAAA;AAAAC,YAAA,CAAA/F,EAAA;AAAA+F,YAAA,CAAAjD,GAAA;AAAAiD,YAAA,CAAAD,GAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}