@bigbinary/neeto-editor-frontend 2.2.2 → 2.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/Attachments.js +3 -3
  3. package/dist/Editor.js +10 -10
  4. package/dist/EditorContent.js +4 -4
  5. package/dist/FormikEditor.js +10 -10
  6. package/dist/Menu.js +7 -7
  7. package/dist/{chunk-BfQ_Kj4i.js → chunk-AexVHCkr.js} +4 -4
  8. package/dist/{chunk-BfQ_Kj4i.js.map → chunk-AexVHCkr.js.map} +1 -1
  9. package/dist/{chunk-CRUXOawK.js → chunk-B5LsYrmv.js} +4 -4
  10. package/dist/{chunk-CRUXOawK.js.map → chunk-B5LsYrmv.js.map} +1 -1
  11. package/dist/chunk-BHi0J28T.js +1970 -0
  12. package/dist/chunk-BHi0J28T.js.map +1 -0
  13. package/dist/{chunk-CxFTIgDS.js → chunk-BIgc5m-h.js} +2 -2
  14. package/dist/{chunk-CxFTIgDS.js.map → chunk-BIgc5m-h.js.map} +1 -1
  15. package/dist/{chunk-BNyLNMnb.js → chunk-Bktpw5vs.js} +5 -5
  16. package/dist/{chunk-BNyLNMnb.js.map → chunk-Bktpw5vs.js.map} +1 -1
  17. package/dist/{chunk-lEnpEBRB.js → chunk-BozdxlzB.js} +5 -5
  18. package/dist/{chunk-lEnpEBRB.js.map → chunk-BozdxlzB.js.map} +1 -1
  19. package/dist/{chunk-BpMZjml2.js → chunk-C9H9LYpP.js} +2 -2
  20. package/dist/chunk-C9H9LYpP.js.map +1 -0
  21. package/dist/{chunk-DhFieQe2.js → chunk-CLjWv4gG.js} +4 -4
  22. package/dist/{chunk-DhFieQe2.js.map → chunk-CLjWv4gG.js.map} +1 -1
  23. package/dist/{chunk-D_Lgx0N7.js → chunk-C_4zmIBQ.js} +2 -2
  24. package/dist/{chunk-D_Lgx0N7.js.map → chunk-C_4zmIBQ.js.map} +1 -1
  25. package/dist/{chunk-YhV82e9I.js → chunk-CivYrffM.js} +6 -6
  26. package/dist/{chunk-YhV82e9I.js.map → chunk-CivYrffM.js.map} +1 -1
  27. package/dist/{chunk-BV_wep_Y.js → chunk-D37Dlp9s.js} +4 -4
  28. package/dist/{chunk-BV_wep_Y.js.map → chunk-D37Dlp9s.js.map} +1 -1
  29. package/dist/{chunk-DYRpf9PJ.js → chunk-DPx9v04U.js} +3 -3
  30. package/dist/{chunk-DYRpf9PJ.js.map → chunk-DPx9v04U.js.map} +1 -1
  31. package/dist/{chunk-7ioLE0kx.js → chunk-DcxOAiAp.js} +2 -2
  32. package/dist/{chunk-7ioLE0kx.js.map → chunk-DcxOAiAp.js.map} +1 -1
  33. package/dist/{chunk-DN9pYQV5.js → chunk-DqSrbxqC.js} +2 -2
  34. package/dist/{chunk-DN9pYQV5.js.map → chunk-DqSrbxqC.js.map} +1 -1
  35. package/dist/{chunk-BGx6BSFw.js → chunk-DwQ7NJtm.js} +4 -4
  36. package/dist/{chunk-BGx6BSFw.js.map → chunk-DwQ7NJtm.js.map} +1 -1
  37. package/dist/{chunk-Br5h7rjn.js → chunk-GA-wADEN.js} +3 -3
  38. package/dist/{chunk-Br5h7rjn.js.map → chunk-GA-wADEN.js.map} +1 -1
  39. package/dist/{chunk-DfH1lF5p.js → chunk-LtUevT4I.js} +2 -2
  40. package/dist/{chunk-DfH1lF5p.js.map → chunk-LtUevT4I.js.map} +1 -1
  41. package/dist/{chunk-sn8HEeT6.js → chunk-yBvbLjSM.js} +4 -4
  42. package/dist/{chunk-sn8HEeT6.js.map → chunk-yBvbLjSM.js.map} +1 -1
  43. package/dist/cjs/Attachments.cjs.js +3 -3
  44. package/dist/cjs/Editor.cjs.js +10 -10
  45. package/dist/cjs/EditorContent.cjs.js +4 -4
  46. package/dist/cjs/FormikEditor.cjs.js +10 -10
  47. package/dist/cjs/Menu.cjs.js +7 -7
  48. package/dist/cjs/{chunk-BAse0j9m.cjs.js → chunk-BfHU_Ynq.cjs.js} +4 -4
  49. package/dist/cjs/{chunk-BAse0j9m.cjs.js.map → chunk-BfHU_Ynq.cjs.js.map} +1 -1
  50. package/dist/cjs/{chunk-QnVNXaqt.cjs.js → chunk-CAaxrndK.cjs.js} +6 -6
  51. package/dist/cjs/{chunk-QnVNXaqt.cjs.js.map → chunk-CAaxrndK.cjs.js.map} +1 -1
  52. package/dist/cjs/{chunk-DRnP2LQe.cjs.js → chunk-CJIIbW7G.cjs.js} +2 -2
  53. package/dist/cjs/{chunk-DRnP2LQe.cjs.js.map → chunk-CJIIbW7G.cjs.js.map} +1 -1
  54. package/dist/cjs/{chunk-V1V-Gqfy.cjs.js → chunk-CKbuSSOi.cjs.js} +5 -5
  55. package/dist/cjs/{chunk-V1V-Gqfy.cjs.js.map → chunk-CKbuSSOi.cjs.js.map} +1 -1
  56. package/dist/cjs/{chunk-CQLQEN5P.cjs.js → chunk-CU6dMPZV.cjs.js} +2 -2
  57. package/dist/cjs/{chunk-CQLQEN5P.cjs.js.map → chunk-CU6dMPZV.cjs.js.map} +1 -1
  58. package/dist/cjs/{chunk-BPJBeVDI.cjs.js → chunk-C_XHzWXy.cjs.js} +2 -2
  59. package/dist/cjs/chunk-C_XHzWXy.cjs.js.map +1 -0
  60. package/dist/cjs/{chunk-bfmPXyQJ.cjs.js → chunk-CddQ0UHU.cjs.js} +3 -3
  61. package/dist/cjs/{chunk-bfmPXyQJ.cjs.js.map → chunk-CddQ0UHU.cjs.js.map} +1 -1
  62. package/dist/cjs/{chunk-BPLEmkMA.cjs.js → chunk-CfiRFXt2.cjs.js} +2 -2
  63. package/dist/cjs/{chunk-BPLEmkMA.cjs.js.map → chunk-CfiRFXt2.cjs.js.map} +1 -1
  64. package/dist/cjs/{chunk-78VpxO0R.cjs.js → chunk-CkSG3yNC.cjs.js} +4 -4
  65. package/dist/cjs/{chunk-78VpxO0R.cjs.js.map → chunk-CkSG3yNC.cjs.js.map} +1 -1
  66. package/dist/cjs/{chunk-CHk_Gq2n.cjs.js → chunk-CpQ8t9br.cjs.js} +2 -2
  67. package/dist/cjs/{chunk-CHk_Gq2n.cjs.js.map → chunk-CpQ8t9br.cjs.js.map} +1 -1
  68. package/dist/cjs/chunk-Cr0FBhRs.cjs.js +1990 -0
  69. package/dist/cjs/chunk-Cr0FBhRs.cjs.js.map +1 -0
  70. package/dist/cjs/{chunk-DGPpvE8O.cjs.js → chunk-Ct6vCCZ0.cjs.js} +4 -4
  71. package/dist/cjs/{chunk-DGPpvE8O.cjs.js.map → chunk-Ct6vCCZ0.cjs.js.map} +1 -1
  72. package/dist/cjs/{chunk-CwY6UgZq.cjs.js → chunk-CxKWZyHq.cjs.js} +3 -3
  73. package/dist/cjs/{chunk-CwY6UgZq.cjs.js.map → chunk-CxKWZyHq.cjs.js.map} +1 -1
  74. package/dist/cjs/{chunk-j4T5BDua.cjs.js → chunk-Df33Mipq.cjs.js} +5 -5
  75. package/dist/cjs/{chunk-j4T5BDua.cjs.js.map → chunk-Df33Mipq.cjs.js.map} +1 -1
  76. package/dist/cjs/{chunk-D86ONI5s.cjs.js → chunk-Df43FB6u.cjs.js} +4 -4
  77. package/dist/cjs/{chunk-D86ONI5s.cjs.js.map → chunk-Df43FB6u.cjs.js.map} +1 -1
  78. package/dist/cjs/{chunk--47DtZYn.cjs.js → chunk-DuwgLqpD.cjs.js} +4 -4
  79. package/dist/cjs/{chunk--47DtZYn.cjs.js.map → chunk-DuwgLqpD.cjs.js.map} +1 -1
  80. package/dist/cjs/{chunk-bxP1kilM.cjs.js → chunk-Dwv-JqJN.cjs.js} +2 -2
  81. package/dist/cjs/{chunk-bxP1kilM.cjs.js.map → chunk-Dwv-JqJN.cjs.js.map} +1 -1
  82. package/dist/cjs/{chunk-CBswWnmM.cjs.js → chunk-Niprqtd_.cjs.js} +3 -3
  83. package/dist/cjs/{chunk-CBswWnmM.cjs.js.map → chunk-Niprqtd_.cjs.js.map} +1 -1
  84. package/dist/cjs/index.cjs.js +12 -12
  85. package/dist/cjs/utils.cjs.js +6 -6
  86. package/dist/cjs/v2/Attachments.cjs.js +3 -3
  87. package/dist/cjs/v2/Editor.cjs.js +872 -236
  88. package/dist/cjs/v2/Editor.cjs.js.map +1 -1
  89. package/dist/cjs/v2/EditorContent.cjs.js +4 -4
  90. package/dist/cjs/v2/FormikEditor.cjs.js +9 -9
  91. package/dist/cjs/v2/Menu.cjs.js +6 -6
  92. package/dist/cjs/v2/index.cjs.js +11 -11
  93. package/dist/cjs/v2/utils.cjs.js +6 -6
  94. package/dist/editor-stats.html +1 -19
  95. package/dist/index.js +12 -12
  96. package/dist/utils.js +6 -6
  97. package/dist/v2/Attachments.js +3 -3
  98. package/dist/v2/Editor.js +872 -236
  99. package/dist/v2/Editor.js.map +1 -1
  100. package/dist/v2/EditorContent.js +4 -4
  101. package/dist/v2/FormikEditor.js +9 -9
  102. package/dist/v2/Menu.js +6 -6
  103. package/dist/v2/index.js +11 -11
  104. package/dist/v2/styles.css +1 -1
  105. package/dist/v2/styles.js +1 -1
  106. package/dist/v2/utils.js +6 -6
  107. package/package.json +6 -4
  108. package/dist/chunk-BpMZjml2.js.map +0 -1
  109. package/dist/chunk-OP-lX765.js +0 -8654
  110. package/dist/chunk-OP-lX765.js.map +0 -1
  111. package/dist/cjs/chunk-BPJBeVDI.cjs.js.map +0 -1
  112. package/dist/cjs/chunk-Bde8Sbb1.cjs.js +0 -8674
  113. package/dist/cjs/chunk-Bde8Sbb1.cjs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chunk-CHk_Gq2n.cjs.js","sources":["../../app/javascript/src/components/Editor/MediaUploader/constants.js","../../app/javascript/src/components/Editor/MediaUploader/utils.js","../../app/javascript/src/hooks/utils/fileUploader.js","../../app/javascript/src/hooks/useFileUploader.js","../../app/javascript/src/components/Common/FileIcon.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nimport { DIRECT_UPLOAD_ENDPOINT, URL_REGEXP } from \"src/common/constants\";\n\nconst MAX_VIDEO_SIZE_IN_MB = 100;\n\nconst maxVideoSizeInMb = globalProps.directUploadsMaxFileSizeInMb\n ? Math.min(MAX_VIDEO_SIZE_IN_MB, globalProps.directUploadsMaxFileSizeInMb)\n : MAX_VIDEO_SIZE_IN_MB;\n\nexport const FILE_SIZE_UNITS = [\"B\", \"KB\", \"MB\", \"GB\"];\n\nexport const ALLOWED_IMAGE_TYPES = [\".jpg\", \".jpeg\", \".png\", \".gif\"];\nexport const ALLOWED_VIDEO_TYPES = [\".mp4\", \".mov\", \".avi\", \".mkv\"];\n\nexport const DEFAULT_IMAGE_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_IMAGE_TYPES,\n },\n};\n\nexport const DEFAULT_VIDEO_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: maxVideoSizeInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_VIDEO_TYPES,\n },\n};\n\nexport const VIDEO_EMBED_FORM_VALIDATION_SCHEMA = yup.object().shape({\n url: yup\n .string()\n .required(t(\"neetoEditor.error.fieldRequired\"))\n .matches(URL_REGEXP, t(\"neetoEditor.error.invalidUrl\")),\n});\n\nexport const DEFAULT_ASPECT_RATIO = \"16/9\";\n","import { t } from \"i18next\";\nimport {\n LeftAlign,\n CenterAlign,\n RightAlign,\n Delete,\n CustomSize,\n BorderDisable,\n BorderEnable,\n AspectRatio11,\n AspectRatio169,\n AspectRatio916,\n AspectRatio43,\n AspectRatio32,\n} from \"neetoicons\";\n\nimport { FILE_SIZE_UNITS } from \"./constants\";\n\nexport const convertToFileSize = (size = 10 * 1024 * 1024) => {\n let fileSize = size;\n let i = 0;\n while (fileSize >= 1024 && i < FILE_SIZE_UNITS.length) {\n fileSize /= 1024;\n ++i;\n }\n\n return `${fileSize.toFixed(1)} ${FILE_SIZE_UNITS[i]}`;\n};\n\nexport const buildImageOptions = (border = true, showAspectRatio = false) => {\n const options = [\n {\n Icon: LeftAlign,\n type: \"button\",\n alignPos: \"left\",\n optionName: t(\"neetoEditor.menu.alignLeft\"),\n },\n {\n Icon: CenterAlign,\n type: \"button\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.alignCenter\"),\n },\n {\n Icon: RightAlign,\n type: \"button\",\n alignPos: \"right\",\n optionName: t(\"neetoEditor.menu.alignRight\"),\n },\n ];\n\n if (showAspectRatio) {\n options.push({\n Icon: CustomSize,\n type: \"dropdown\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.aspectRatio\"),\n items: [\n { ratio: \"16/9\", tooltipLabel: \"16/9\", icon: AspectRatio169 },\n { ratio: \"9/16\", tooltipLabel: \"9/16\", icon: AspectRatio916 },\n { ratio: \"4/3\", tooltipLabel: \"4/3\", icon: AspectRatio43 },\n { ratio: \"3/2\", tooltipLabel: \"3/2\", icon: AspectRatio32 },\n { ratio: \"1/1\", tooltipLabel: \"1/1\", icon: AspectRatio11 },\n ],\n });\n }\n\n options.push(\n {\n Icon: border ? BorderDisable : BorderEnable,\n type: \"button\",\n alignPos: \"center\",\n borderToggle: true,\n optionName: border\n ? t(\"neetoEditor.menu.removeBorder\")\n : t(\"neetoEditor.menu.addBorder\"),\n },\n {\n Icon: Delete,\n type: \"button\",\n optionName: t(\"neetoEditor.menu.delete\"),\n }\n );\n\n return options;\n};\n\nexport const getTabs = mediaUploader => {\n if (mediaUploader.video) {\n return [\n { title: \"Upload\", key: \"local\" },\n { title: \"Embed\", key: \"embed\" },\n ];\n }\n\n return [];\n};\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nconst getFileExtension = filename => {\n if (!filename) return \"\";\n const parts = filename.split(\".\");\n\n return parts.length > 1 ? `.${parts.pop()}` : \"\";\n};\n\nconst showWarningToastr = ({\n selectedFiles,\n initialFiles,\n config,\n largeFilesCount,\n unSupportedFilesCount,\n}) => {\n const { maxNumberOfFiles, maxFileSize } = config.restrictions;\n\n if (unSupportedFilesCount > 0 || largeFilesCount > 0) {\n if (unSupportedFilesCount > 0) {\n Toastr.error(t(\"neetoEditor.error.fileNotAllowed\"));\n }\n\n if (largeFilesCount > 0) {\n Toastr.error(\n t(\"neetoEditor.error.fileIsTooLarge\", {\n maxFileSize: convertToFileSize(maxFileSize),\n })\n );\n }\n } else if (selectedFiles.length < initialFiles.length) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n }\n};\n\nexport const shouldAddFile = config => file => {\n const { maxFileSize, allowedFileTypes } = config.restrictions;\n\n if (isPresent(maxFileSize) && file.size > maxFileSize) {\n return { canAdd: false };\n }\n\n if (isPresent(allowedFileTypes)) {\n const fileExtension = getFileExtension(file.name);\n const mimeType = file.type;\n\n const extensionAllowed = allowedFileTypes.includes(fileExtension);\n const mimeAllowed = allowedFileTypes.includes(mimeType);\n\n const canAdd = extensionAllowed || mimeAllowed;\n\n return { canAdd, isUnsupportedFile: !canAdd };\n }\n\n return { canAdd: true };\n};\n\nexport const selectFiles = ({ previousAttachmentsCount, config, files }) => {\n let addedFilesCount = 0,\n largeFilesCount = 0,\n unSupportedFilesCount = 0;\n const fallbackMaxNumberOfFiles = previousAttachmentsCount + files.length;\n const { maxNumberOfFiles = fallbackMaxNumberOfFiles } = config.restrictions;\n const canAddFile = shouldAddFile(config);\n\n const remainingAttachments = maxNumberOfFiles - previousAttachmentsCount;\n\n if (remainingAttachments <= 0) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n\n return [];\n }\n\n const selectedFiles = files.filter(file => {\n const { canAdd, isUnsupportedFile } = canAddFile(file);\n\n if (canAdd && addedFilesCount + 1 <= remainingAttachments) {\n addedFilesCount += 1;\n\n return true;\n }\n\n if (isUnsupportedFile) unSupportedFilesCount += 1;\n else if (!canAdd) largeFilesCount += 1;\n\n return false;\n });\n\n showWarningToastr({\n selectedFiles,\n initialFiles: files,\n config,\n unSupportedFilesCount,\n largeFilesCount,\n });\n\n return selectedFiles;\n};\n","// eslint-disable-next-line @bigbinary/neeto/use-snake-case-for-api-connector-filename\nimport { useRef } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis,\nimport axios from \"axios\";\nimport { noop, hyphenate, isNot, isNotPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useFileUploadStore from \"src/stores/useFileUploadStore\";\nimport DirectUpload from \"utils/DirectUpload\";\n\nimport { FILE_UPLOAD_STATUS } from \"./constants/fileUploader\";\nimport { getRandomString } from \"./utils\";\nimport { selectFiles } from \"./utils/fileUploader\";\n\nlet uploadControllers = {};\n\nconst useFileUploader = ({\n config,\n attachments: previousAttachments = [],\n setIsUploadingOnHost = noop,\n}) => {\n const contextIdRef = useRef(getRandomString());\n const { t } = useTranslation();\n\n const { current: contextId } = contextIdRef;\n const {\n addFiles: addFilesToStore,\n getNextQueuedFile,\n updateFileStatus,\n removeFilesFromQueue,\n setIsUploading,\n updateFileUploadProgress,\n removeFile,\n } = useFileUploadStore.pick();\n const { files = [], isUploading } = useFileUploadStore.pick([contextId]);\n\n const handleUploadProgress = (xhr, file) => {\n if (!xhr.event.lengthComputable) return;\n const bytesUploaded = xhr.loaded;\n const bytesTotal = xhr.total;\n const progress = Math.round((bytesUploaded / bytesTotal) * 100);\n updateFileUploadProgress(contextId, file.id, progress);\n };\n\n const uploadFile = async file => {\n const upload = new DirectUpload({\n file: file.data,\n url: config.directUploadEndpoint,\n progress: xhr => handleUploadProgress(xhr, file),\n });\n\n uploadControllers[file.id] = upload;\n\n try {\n const { data = {}, ...response } = await upload.create();\n updateFileStatus(contextId, file.id, FILE_UPLOAD_STATUS.UPLOADED);\n\n return {\n id: file.id,\n filename: file.filename,\n signedId: data.signed_id ?? response.signed_id,\n url: data.blob_url ?? response.blob_url,\n contentType: data.content_type ?? response.content_type,\n };\n } catch (error) {\n if (!axios.isCancel(error)) {\n Toastr.error(t(\"neetoEditor.error.uploadFileFailed\"));\n }\n // eslint-disable-next-line no-console\n console.error(\"Attachment upload failed\", error);\n removeFile(contextId, file.id);\n\n return null;\n }\n };\n\n const handleUploadFiles = async () => {\n const queuedFile = getNextQueuedFile(contextId);\n\n if (isNotPresent(queuedFile)) {\n setIsUploading(contextId, false);\n setIsUploadingOnHost(false);\n\n return [];\n }\n\n updateFileStatus(contextId, queuedFile.id, FILE_UPLOAD_STATUS.UPLOADING);\n\n const [uploadedFile, remainingUploadedFiles] = await Promise.all([\n uploadFile(queuedFile),\n handleUploadFiles(),\n ]);\n\n const uploadedFiles = [uploadedFile, ...remainingUploadedFiles];\n const uploadedFileIds = pluck(\"id\", uploadedFiles);\n removeFilesFromQueue(contextId, uploadedFileIds);\n uploadControllers = omit(uploadedFileIds, uploadControllers);\n\n return uploadedFiles.filter(isNot(null));\n };\n\n const uploadFiles = () => {\n setIsUploading(contextId, true);\n setIsUploadingOnHost(true);\n\n return handleUploadFiles();\n };\n\n const addFiles = addedFiles => {\n const selectedFiles = selectFiles({\n previousAttachmentsCount: previousAttachments.length,\n config,\n files: Array.from(addedFiles),\n }).map(file => ({\n id: hyphenate(`${file.name.toLowerCase()}-${Date.now()}`),\n data: file,\n filename: file.name,\n signedId: \"awaiting\",\n url: \"\",\n type: file.type,\n status: FILE_UPLOAD_STATUS.QUEUED,\n }));\n\n addFilesToStore(contextId, selectedFiles);\n };\n\n const cancelUpload = fileId => {\n uploadControllers[fileId]?.abort?.();\n removeFile(contextId, fileId);\n };\n\n return {\n addFiles,\n uploadFiles,\n queuedFiles: files,\n cancelUpload,\n isUploading,\n };\n};\n\nexport default useFileUploader;\n","import { FileIcon, defaultStyles } from \"react-file-icon\";\n\nconst File = ({ fileName, className }) => {\n const extension = fileName.match(/([^.]+)$/) & [1];\n\n return (\n <div {...{ className }}>\n <FileIcon\n {...{ extension }}\n labelColor=\"#4558f9\"\n {...defaultStyles[extension]}\n />\n </div>\n );\n};\n\nexport default File;\n"],"names":["MAX_VIDEO_SIZE_IN_MB","maxVideoSizeInMb","globalProps","directUploadsMaxFileSizeInMb","Math","min","FILE_SIZE_UNITS","ALLOWED_IMAGE_TYPES","ALLOWED_VIDEO_TYPES","DEFAULT_IMAGE_UPLOAD_CONFIG","directUploadEndpoint","DIRECT_UPLOAD_ENDPOINT","restrictions","maxNumberOfFiles","maxFileSize","endUserUploadedFileSizeLimitInMb","allowedFileTypes","DEFAULT_VIDEO_UPLOAD_CONFIG","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","yup","object","shape","url","string","required","t","matches","URL_REGEXP","DEFAULT_ASPECT_RATIO","convertToFileSize","size","arguments","length","undefined","fileSize","i","concat","toFixed","buildImageOptions","border","showAspectRatio","options","Icon","LeftAlign","type","alignPos","optionName","CenterAlign","RightAlign","push","CustomSize","items","ratio","tooltipLabel","icon","AspectRatio169","AspectRatio916","AspectRatio43","AspectRatio32","AspectRatio11","BorderDisable","BorderEnable","borderToggle","Delete","getTabs","mediaUploader","video","title","key","getFileExtension","filename","parts","split","pop","showWarningToastr","_ref","selectedFiles","initialFiles","config","largeFilesCount","unSupportedFilesCount","_config$restrictions","Toastr","error","warning","entity","shouldAddFile","file","_config$restrictions2","isPresent","canAdd","fileExtension","name","mimeType","extensionAllowed","includes","mimeAllowed","isUnsupportedFile","selectFiles","_ref2","previousAttachmentsCount","files","addedFilesCount","fallbackMaxNumberOfFiles","_config$restrictions$","canAddFile","remainingAttachments","filter","_canAddFile","e","r","Symbol","n","iterator","o","toStringTag","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","uploadControllers","useFileUploader","_ref$attachments","attachments","previousAttachments","_ref$setIsUploadingOn","setIsUploadingOnHost","noop","contextIdRef","useRef","getRandomString","_useTranslation","useTranslation","contextId","current","_useFileUploadStore","useFileUploadStore","useShallow","store","addFiles","getNextQueuedFile","updateFileStatus","removeFilesFromQueue","setIsUploading","updateFileUploadProgress","removeFile","addFilesToStore","_useFileUploadStore2","_store$contextId","_store$contextId2","isUploading","_useFileUploadStore2$","handleUploadProgress","xhr","event","lengthComputable","bytesUploaded","loaded","bytesTotal","total","progress","round","id","uploadFile","_asyncToGenerator","_callee","upload","_data$signed_id","_data$blob_url","_data$content_type","_yield$upload$create","_yield$upload$create$","data","response","_t","_context","DirectUpload","_objectWithoutProperties","_excluded","FILE_UPLOAD_STATUS","UPLOADED","signedId","signed_id","blob_url","contentType","content_type","axios","isCancel","console","_x","apply","handleUploadFiles","_ref3","_callee2","queuedFile","_yield$Promise$all","_yield$Promise$all2","uploadedFile","remainingUploadedFiles","uploadedFiles","uploadedFileIds","_context2","isNotPresent","UPLOADING","Promise","all","_slicedToArray","_toConsumableArray","pluck","omit","isNot","uploadFiles","addedFiles","Array","from","map","hyphenate","toLowerCase","Date","now","status","QUEUED","cancelUpload","fileId","_uploadControllers$fi","_uploadControllers$fi2","abort","queuedFiles","File","fileName","className","extension","match","_jsx","children","FileIcon","_objectSpread","labelColor","defaultStyles"],"mappings":"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"}
1
+ {"version":3,"file":"chunk-CpQ8t9br.cjs.js","sources":["../../app/javascript/src/components/Editor/MediaUploader/constants.js","../../app/javascript/src/components/Editor/MediaUploader/utils.js","../../app/javascript/src/hooks/utils/fileUploader.js","../../app/javascript/src/hooks/useFileUploader.js","../../app/javascript/src/components/Common/FileIcon.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nimport { DIRECT_UPLOAD_ENDPOINT, URL_REGEXP } from \"src/common/constants\";\n\nconst MAX_VIDEO_SIZE_IN_MB = 100;\n\nconst maxVideoSizeInMb = globalProps.directUploadsMaxFileSizeInMb\n ? Math.min(MAX_VIDEO_SIZE_IN_MB, globalProps.directUploadsMaxFileSizeInMb)\n : MAX_VIDEO_SIZE_IN_MB;\n\nexport const FILE_SIZE_UNITS = [\"B\", \"KB\", \"MB\", \"GB\"];\n\nexport const ALLOWED_IMAGE_TYPES = [\".jpg\", \".jpeg\", \".png\", \".gif\"];\nexport const ALLOWED_VIDEO_TYPES = [\".mp4\", \".mov\", \".avi\", \".mkv\"];\n\nexport const DEFAULT_IMAGE_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_IMAGE_TYPES,\n },\n};\n\nexport const DEFAULT_VIDEO_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: maxVideoSizeInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_VIDEO_TYPES,\n },\n};\n\nexport const VIDEO_EMBED_FORM_VALIDATION_SCHEMA = yup.object().shape({\n url: yup\n .string()\n .required(t(\"neetoEditor.error.fieldRequired\"))\n .matches(URL_REGEXP, t(\"neetoEditor.error.invalidUrl\")),\n});\n\nexport const DEFAULT_ASPECT_RATIO = \"16/9\";\n","import { t } from \"i18next\";\nimport {\n LeftAlign,\n CenterAlign,\n RightAlign,\n Delete,\n CustomSize,\n BorderDisable,\n BorderEnable,\n AspectRatio11,\n AspectRatio169,\n AspectRatio916,\n AspectRatio43,\n AspectRatio32,\n} from \"neetoicons\";\n\nimport { FILE_SIZE_UNITS } from \"./constants\";\n\nexport const convertToFileSize = (size = 10 * 1024 * 1024) => {\n let fileSize = size;\n let i = 0;\n while (fileSize >= 1024 && i < FILE_SIZE_UNITS.length) {\n fileSize /= 1024;\n ++i;\n }\n\n return `${fileSize.toFixed(1)} ${FILE_SIZE_UNITS[i]}`;\n};\n\nexport const buildImageOptions = (border = true, showAspectRatio = false) => {\n const options = [\n {\n Icon: LeftAlign,\n type: \"button\",\n alignPos: \"left\",\n optionName: t(\"neetoEditor.menu.alignLeft\"),\n },\n {\n Icon: CenterAlign,\n type: \"button\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.alignCenter\"),\n },\n {\n Icon: RightAlign,\n type: \"button\",\n alignPos: \"right\",\n optionName: t(\"neetoEditor.menu.alignRight\"),\n },\n ];\n\n if (showAspectRatio) {\n options.push({\n Icon: CustomSize,\n type: \"dropdown\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.aspectRatio\"),\n items: [\n { ratio: \"16/9\", tooltipLabel: \"16/9\", icon: AspectRatio169 },\n { ratio: \"9/16\", tooltipLabel: \"9/16\", icon: AspectRatio916 },\n { ratio: \"4/3\", tooltipLabel: \"4/3\", icon: AspectRatio43 },\n { ratio: \"3/2\", tooltipLabel: \"3/2\", icon: AspectRatio32 },\n { ratio: \"1/1\", tooltipLabel: \"1/1\", icon: AspectRatio11 },\n ],\n });\n }\n\n options.push(\n {\n Icon: border ? BorderDisable : BorderEnable,\n type: \"button\",\n alignPos: \"center\",\n borderToggle: true,\n optionName: border\n ? t(\"neetoEditor.menu.removeBorder\")\n : t(\"neetoEditor.menu.addBorder\"),\n },\n {\n Icon: Delete,\n type: \"button\",\n optionName: t(\"neetoEditor.menu.delete\"),\n }\n );\n\n return options;\n};\n\nexport const getTabs = mediaUploader => {\n if (mediaUploader.video) {\n return [\n { title: \"Upload\", key: \"local\" },\n { title: \"Embed\", key: \"embed\" },\n ];\n }\n\n return [];\n};\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nconst getFileExtension = filename => {\n if (!filename) return \"\";\n const parts = filename.split(\".\");\n\n return parts.length > 1 ? `.${parts.pop()}` : \"\";\n};\n\nconst showWarningToastr = ({\n selectedFiles,\n initialFiles,\n config,\n largeFilesCount,\n unSupportedFilesCount,\n}) => {\n const { maxNumberOfFiles, maxFileSize } = config.restrictions;\n\n if (unSupportedFilesCount > 0 || largeFilesCount > 0) {\n if (unSupportedFilesCount > 0) {\n Toastr.error(t(\"neetoEditor.error.fileNotAllowed\"));\n }\n\n if (largeFilesCount > 0) {\n Toastr.error(\n t(\"neetoEditor.error.fileIsTooLarge\", {\n maxFileSize: convertToFileSize(maxFileSize),\n })\n );\n }\n } else if (selectedFiles.length < initialFiles.length) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n }\n};\n\nexport const shouldAddFile = config => file => {\n const { maxFileSize, allowedFileTypes } = config.restrictions;\n\n if (isPresent(maxFileSize) && file.size > maxFileSize) {\n return { canAdd: false };\n }\n\n if (isPresent(allowedFileTypes)) {\n const fileExtension = getFileExtension(file.name);\n const mimeType = file.type;\n\n const extensionAllowed = allowedFileTypes.includes(fileExtension);\n const mimeAllowed = allowedFileTypes.includes(mimeType);\n\n const canAdd = extensionAllowed || mimeAllowed;\n\n return { canAdd, isUnsupportedFile: !canAdd };\n }\n\n return { canAdd: true };\n};\n\nexport const selectFiles = ({ previousAttachmentsCount, config, files }) => {\n let addedFilesCount = 0,\n largeFilesCount = 0,\n unSupportedFilesCount = 0;\n const fallbackMaxNumberOfFiles = previousAttachmentsCount + files.length;\n const { maxNumberOfFiles = fallbackMaxNumberOfFiles } = config.restrictions;\n const canAddFile = shouldAddFile(config);\n\n const remainingAttachments = maxNumberOfFiles - previousAttachmentsCount;\n\n if (remainingAttachments <= 0) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n\n return [];\n }\n\n const selectedFiles = files.filter(file => {\n const { canAdd, isUnsupportedFile } = canAddFile(file);\n\n if (canAdd && addedFilesCount + 1 <= remainingAttachments) {\n addedFilesCount += 1;\n\n return true;\n }\n\n if (isUnsupportedFile) unSupportedFilesCount += 1;\n else if (!canAdd) largeFilesCount += 1;\n\n return false;\n });\n\n showWarningToastr({\n selectedFiles,\n initialFiles: files,\n config,\n unSupportedFilesCount,\n largeFilesCount,\n });\n\n return selectedFiles;\n};\n","// eslint-disable-next-line @bigbinary/neeto/use-snake-case-for-api-connector-filename\nimport { useRef } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis,\nimport axios from \"axios\";\nimport { noop, hyphenate, isNot, isNotPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useFileUploadStore from \"src/stores/useFileUploadStore\";\nimport DirectUpload from \"utils/DirectUpload\";\n\nimport { FILE_UPLOAD_STATUS } from \"./constants/fileUploader\";\nimport { getRandomString } from \"./utils\";\nimport { selectFiles } from \"./utils/fileUploader\";\n\nlet uploadControllers = {};\n\nconst useFileUploader = ({\n config,\n attachments: previousAttachments = [],\n setIsUploadingOnHost = noop,\n}) => {\n const contextIdRef = useRef(getRandomString());\n const { t } = useTranslation();\n\n const { current: contextId } = contextIdRef;\n const {\n addFiles: addFilesToStore,\n getNextQueuedFile,\n updateFileStatus,\n removeFilesFromQueue,\n setIsUploading,\n updateFileUploadProgress,\n removeFile,\n } = useFileUploadStore.pick();\n const { files = [], isUploading } = useFileUploadStore.pick([contextId]);\n\n const handleUploadProgress = (xhr, file) => {\n if (!xhr.event.lengthComputable) return;\n const bytesUploaded = xhr.loaded;\n const bytesTotal = xhr.total;\n const progress = Math.round((bytesUploaded / bytesTotal) * 100);\n updateFileUploadProgress(contextId, file.id, progress);\n };\n\n const uploadFile = async file => {\n const upload = new DirectUpload({\n file: file.data,\n url: config.directUploadEndpoint,\n progress: xhr => handleUploadProgress(xhr, file),\n });\n\n uploadControllers[file.id] = upload;\n\n try {\n const { data = {}, ...response } = await upload.create();\n updateFileStatus(contextId, file.id, FILE_UPLOAD_STATUS.UPLOADED);\n\n return {\n id: file.id,\n filename: file.filename,\n signedId: data.signed_id ?? response.signed_id,\n url: data.blob_url ?? response.blob_url,\n contentType: data.content_type ?? response.content_type,\n };\n } catch (error) {\n if (!axios.isCancel(error)) {\n Toastr.error(t(\"neetoEditor.error.uploadFileFailed\"));\n }\n // eslint-disable-next-line no-console\n console.error(\"Attachment upload failed\", error);\n removeFile(contextId, file.id);\n\n return null;\n }\n };\n\n const handleUploadFiles = async () => {\n const queuedFile = getNextQueuedFile(contextId);\n\n if (isNotPresent(queuedFile)) {\n setIsUploading(contextId, false);\n setIsUploadingOnHost(false);\n\n return [];\n }\n\n updateFileStatus(contextId, queuedFile.id, FILE_UPLOAD_STATUS.UPLOADING);\n\n const [uploadedFile, remainingUploadedFiles] = await Promise.all([\n uploadFile(queuedFile),\n handleUploadFiles(),\n ]);\n\n const uploadedFiles = [uploadedFile, ...remainingUploadedFiles];\n const uploadedFileIds = pluck(\"id\", uploadedFiles);\n removeFilesFromQueue(contextId, uploadedFileIds);\n uploadControllers = omit(uploadedFileIds, uploadControllers);\n\n return uploadedFiles.filter(isNot(null));\n };\n\n const uploadFiles = () => {\n setIsUploading(contextId, true);\n setIsUploadingOnHost(true);\n\n return handleUploadFiles();\n };\n\n const addFiles = addedFiles => {\n const selectedFiles = selectFiles({\n previousAttachmentsCount: previousAttachments.length,\n config,\n files: Array.from(addedFiles),\n }).map(file => ({\n id: hyphenate(`${file.name.toLowerCase()}-${Date.now()}`),\n data: file,\n filename: file.name,\n signedId: \"awaiting\",\n url: \"\",\n type: file.type,\n status: FILE_UPLOAD_STATUS.QUEUED,\n }));\n\n addFilesToStore(contextId, selectedFiles);\n };\n\n const cancelUpload = fileId => {\n uploadControllers[fileId]?.abort?.();\n removeFile(contextId, fileId);\n };\n\n return {\n addFiles,\n uploadFiles,\n queuedFiles: files,\n cancelUpload,\n isUploading,\n };\n};\n\nexport default useFileUploader;\n","import { FileIcon, defaultStyles } from \"react-file-icon\";\n\nconst File = ({ fileName, className }) => {\n const extension = fileName.match(/([^.]+)$/) & [1];\n\n return (\n <div {...{ className }}>\n <FileIcon\n {...{ extension }}\n labelColor=\"#4558f9\"\n {...defaultStyles[extension]}\n />\n </div>\n );\n};\n\nexport default File;\n"],"names":["MAX_VIDEO_SIZE_IN_MB","maxVideoSizeInMb","globalProps","directUploadsMaxFileSizeInMb","Math","min","FILE_SIZE_UNITS","ALLOWED_IMAGE_TYPES","ALLOWED_VIDEO_TYPES","DEFAULT_IMAGE_UPLOAD_CONFIG","directUploadEndpoint","DIRECT_UPLOAD_ENDPOINT","restrictions","maxNumberOfFiles","maxFileSize","endUserUploadedFileSizeLimitInMb","allowedFileTypes","DEFAULT_VIDEO_UPLOAD_CONFIG","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","yup","object","shape","url","string","required","t","matches","URL_REGEXP","DEFAULT_ASPECT_RATIO","convertToFileSize","size","arguments","length","undefined","fileSize","i","concat","toFixed","buildImageOptions","border","showAspectRatio","options","Icon","LeftAlign","type","alignPos","optionName","CenterAlign","RightAlign","push","CustomSize","items","ratio","tooltipLabel","icon","AspectRatio169","AspectRatio916","AspectRatio43","AspectRatio32","AspectRatio11","BorderDisable","BorderEnable","borderToggle","Delete","getTabs","mediaUploader","video","title","key","getFileExtension","filename","parts","split","pop","showWarningToastr","_ref","selectedFiles","initialFiles","config","largeFilesCount","unSupportedFilesCount","_config$restrictions","Toastr","error","warning","entity","shouldAddFile","file","_config$restrictions2","isPresent","canAdd","fileExtension","name","mimeType","extensionAllowed","includes","mimeAllowed","isUnsupportedFile","selectFiles","_ref2","previousAttachmentsCount","files","addedFilesCount","fallbackMaxNumberOfFiles","_config$restrictions$","canAddFile","remainingAttachments","filter","_canAddFile","e","r","Symbol","n","iterator","o","toStringTag","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","uploadControllers","useFileUploader","_ref$attachments","attachments","previousAttachments","_ref$setIsUploadingOn","setIsUploadingOnHost","noop","contextIdRef","useRef","getRandomString","_useTranslation","useTranslation","contextId","current","_useFileUploadStore","useFileUploadStore","useShallow","store","addFiles","getNextQueuedFile","updateFileStatus","removeFilesFromQueue","setIsUploading","updateFileUploadProgress","removeFile","addFilesToStore","_useFileUploadStore2","_store$contextId","_store$contextId2","isUploading","_useFileUploadStore2$","handleUploadProgress","xhr","event","lengthComputable","bytesUploaded","loaded","bytesTotal","total","progress","round","id","uploadFile","_asyncToGenerator","_callee","upload","_data$signed_id","_data$blob_url","_data$content_type","_yield$upload$create","_yield$upload$create$","data","response","_t","_context","DirectUpload","_objectWithoutProperties","_excluded","FILE_UPLOAD_STATUS","UPLOADED","signedId","signed_id","blob_url","contentType","content_type","axios","isCancel","console","_x","apply","handleUploadFiles","_ref3","_callee2","queuedFile","_yield$Promise$all","_yield$Promise$all2","uploadedFile","remainingUploadedFiles","uploadedFiles","uploadedFileIds","_context2","isNotPresent","UPLOADING","Promise","all","_slicedToArray","_toConsumableArray","pluck","omit","isNot","uploadFiles","addedFiles","Array","from","map","hyphenate","toLowerCase","Date","now","status","QUEUED","cancelUpload","fileId","_uploadControllers$fi","_uploadControllers$fi2","abort","queuedFiles","File","fileName","className","extension","match","_jsx","children","FileIcon","_objectSpread","labelColor","defaultStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,oBAAoB,GAAG,GAAG;AAEhC,IAAMC,gBAAgB,GAAGC,wBAAW,CAACC,4BAA4B,GAC7DC,IAAI,CAACC,GAAG,CAACL,oBAAoB,EAAEE,wBAAW,CAACC,4BAA4B,CAAC,GACxEH,oBAAoB;AAEjB,IAAMM,eAAe,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;AAE/C,IAAMC,mBAAmB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;AAC5D,IAAMC,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;AAE3D,IAAMC,2BAA2B,GAAG;AACzCC,EAAAA,oBAAoB,EAAEC,gCAAsB;AAC5CC,EAAAA,YAAY,EAAE;AACZC,IAAAA,gBAAgB,EAAE,CAAC;AACnBC,IAAAA,WAAW,EAAEZ,wBAAW,CAACa,gCAAgC,GAAG,IAAI,GAAG,IAAI;AACvEC,IAAAA,gBAAgB,EAAET;AACpB;AACF;AAEO,IAAMU,2BAA2B,GAAG;AACzCP,EAAAA,oBAAoB,EAAEC,gCAAsB;AAC5CC,EAAAA,YAAY,EAAE;AACZC,IAAAA,gBAAgB,EAAE,CAAC;AACnBC,IAAAA,WAAW,EAAEb,gBAAgB,GAAG,IAAI,GAAG,IAAI;AAC3Ce,IAAAA,gBAAgB,EAAER;AACpB;AACF;AAEO,IAAMU,kCAAkC,GAAGC,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;EACnEC,GAAG,EAAEH,cAAG,CACLI,MAAM,EAAE,CACRC,QAAQ,CAACC,MAAC,CAAC,iCAAiC,CAAC,CAAC,CAC9CC,OAAO,CAACC,oBAAU,EAAEF,MAAC,CAAC,8BAA8B,CAAC;AAC1D,CAAC;AAEM,IAAMG,oBAAoB,GAAG;;ICxBvBC,iBAAiB,GAAG,SAApBA,iBAAiBA,GAAgC;AAAA,EAAA,IAA5BC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;EACvD,IAAIG,QAAQ,GAAGJ,IAAI;EACnB,IAAIK,CAAC,GAAG,CAAC;EACT,OAAOD,QAAQ,IAAI,IAAI,IAAIC,CAAC,GAAG7B,eAAe,CAAC0B,MAAM,EAAE;AACrDE,IAAAA,QAAQ,IAAI,IAAI;AAChB,IAAA,EAAEC,CAAC;AACL,EAAA;AAEA,EAAA,OAAA,EAAA,CAAAC,MAAA,CAAUF,QAAQ,CAACG,OAAO,CAAC,CAAC,CAAC,EAAA,GAAA,CAAA,CAAAD,MAAA,CAAI9B,eAAe,CAAC6B,CAAC,CAAC,CAAA;AACrD;IAEaG,iBAAiB,GAAG,SAApBA,iBAAiBA,GAA+C;AAAA,EAAA,IAA3CC,MAAM,GAAAR,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AAAA,EAAA,IAAES,eAAe,GAAAT,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,KAAK;EACtE,IAAMU,OAAO,GAAG,CACd;AACEC,IAAAA,IAAI,EAAEC,0BAAS;AACfC,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,QAAQ,EAAE,MAAM;IAChBC,UAAU,EAAErB,MAAC,CAAC,4BAA4B;AAC5C,GAAC,EACD;AACEiB,IAAAA,IAAI,EAAEK,4BAAW;AACjBH,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,QAAQ,EAAE,QAAQ;IAClBC,UAAU,EAAErB,MAAC,CAAC,8BAA8B;AAC9C,GAAC,EACD;AACEiB,IAAAA,IAAI,EAAEM,2BAAU;AAChBJ,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,QAAQ,EAAE,OAAO;IACjBC,UAAU,EAAErB,MAAC,CAAC,6BAA6B;AAC7C,GAAC,CACF;AAED,EAAA,IAAIe,eAAe,EAAE;IACnBC,OAAO,CAACQ,IAAI,CAAC;AACXP,MAAAA,IAAI,EAAEQ,2BAAU;AAChBN,MAAAA,IAAI,EAAE,UAAU;AAChBC,MAAAA,QAAQ,EAAE,QAAQ;AAClBC,MAAAA,UAAU,EAAErB,MAAC,CAAC,8BAA8B,CAAC;AAC7C0B,MAAAA,KAAK,EAAE,CACL;AAAEC,QAAAA,KAAK,EAAE,MAAM;AAAEC,QAAAA,YAAY,EAAE,MAAM;AAAEC,QAAAA,IAAI,EAAEC;AAAe,OAAC,EAC7D;AAAEH,QAAAA,KAAK,EAAE,MAAM;AAAEC,QAAAA,YAAY,EAAE,MAAM;AAAEC,QAAAA,IAAI,EAAEE;AAAe,OAAC,EAC7D;AAAEJ,QAAAA,KAAK,EAAE,KAAK;AAAEC,QAAAA,YAAY,EAAE,KAAK;AAAEC,QAAAA,IAAI,EAAEG;AAAc,OAAC,EAC1D;AAAEL,QAAAA,KAAK,EAAE,KAAK;AAAEC,QAAAA,YAAY,EAAE,KAAK;AAAEC,QAAAA,IAAI,EAAEI;AAAc,OAAC,EAC1D;AAAEN,QAAAA,KAAK,EAAE,KAAK;AAAEC,QAAAA,YAAY,EAAE,KAAK;AAAEC,QAAAA,IAAI,EAAEK;OAAe;AAE9D,KAAC,CAAC;AACJ,EAAA;EAEAlB,OAAO,CAACQ,IAAI,CACV;AACEP,IAAAA,IAAI,EAAEH,MAAM,GAAGqB,8BAAa,GAAGC,6BAAY;AAC3CjB,IAAAA,IAAI,EAAE,QAAQ;AACdC,IAAAA,QAAQ,EAAE,QAAQ;AAClBiB,IAAAA,YAAY,EAAE,IAAI;IAClBhB,UAAU,EAAEP,MAAM,GACdd,MAAC,CAAC,+BAA+B,CAAC,GAClCA,MAAC,CAAC,4BAA4B;AACpC,GAAC,EACD;AACEiB,IAAAA,IAAI,EAAEqB,uBAAM;AACZnB,IAAAA,IAAI,EAAE,QAAQ;IACdE,UAAU,EAAErB,MAAC,CAAC,yBAAyB;AACzC,GACF,CAAC;AAED,EAAA,OAAOgB,OAAO;AAChB;IAEauB,OAAO,GAAG,SAAVA,OAAOA,CAAGC,aAAa,EAAI;EACtC,IAAIA,aAAa,CAACC,KAAK,EAAE;AACvB,IAAA,OAAO,CACL;AAAEC,MAAAA,KAAK,EAAE,QAAQ;AAAEC,MAAAA,GAAG,EAAE;AAAQ,KAAC,EACjC;AAAED,MAAAA,KAAK,EAAE,OAAO;AAAEC,MAAAA,GAAG,EAAE;AAAQ,KAAC,CACjC;AACH,EAAA;AAEA,EAAA,OAAO,EAAE;AACX;;AC1FA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,QAAQ,EAAI;AACnC,EAAA,IAAI,CAACA,QAAQ,EAAE,OAAO,EAAE;AACxB,EAAA,IAAMC,KAAK,GAAGD,QAAQ,CAACE,KAAK,CAAC,GAAG,CAAC;AAEjC,EAAA,OAAOD,KAAK,CAACvC,MAAM,GAAG,CAAC,GAAA,GAAA,CAAAI,MAAA,CAAOmC,KAAK,CAACE,GAAG,EAAE,IAAK,EAAE;AAClD,CAAC;AAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAC,IAAA,EAMjB;AAAA,EAAA,IALJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,MAAM,GAAAH,IAAA,CAANG,MAAM;IACNC,eAAe,GAAAJ,IAAA,CAAfI,eAAe;IACfC,qBAAqB,GAAAL,IAAA,CAArBK,qBAAqB;AAErB,EAAA,IAAAC,oBAAA,GAA0CH,MAAM,CAAClE,YAAY;IAArDC,gBAAgB,GAAAoE,oBAAA,CAAhBpE,gBAAgB;IAAEC,WAAW,GAAAmE,oBAAA,CAAXnE,WAAW;AAErC,EAAA,IAAIkE,qBAAqB,GAAG,CAAC,IAAID,eAAe,GAAG,CAAC,EAAE;IACpD,IAAIC,qBAAqB,GAAG,CAAC,EAAE;AAC7BE,MAAAA,uBAAM,CAACC,KAAK,CAAC1D,MAAC,CAAC,kCAAkC,CAAC,CAAC;AACrD,IAAA;IAEA,IAAIsD,eAAe,GAAG,CAAC,EAAE;AACvBG,MAAAA,uBAAM,CAACC,KAAK,CACV1D,MAAC,CAAC,kCAAkC,EAAE;QACpCX,WAAW,EAAEe,iBAAiB,CAACf,WAAW;AAC5C,OAAC,CACH,CAAC;AACH,IAAA;EACF,CAAC,MAAM,IAAI8D,aAAa,CAAC5C,MAAM,GAAG6C,YAAY,CAAC7C,MAAM,EAAE;AACrDkD,IAAAA,uBAAM,CAACE,OAAO,CACZ3D,MAAC,CAAC,0CAA0C,EAAE;AAC5C4D,MAAAA,MAAM,EAAExE;AACV,KAAC,CACH,CAAC;AACH,EAAA;AACF,CAAC;AAEM,IAAMyE,aAAa,GAAG,SAAhBA,aAAaA,CAAGR,MAAM,EAAA;EAAA,OAAI,UAAAS,IAAI,EAAI;AAC7C,IAAA,IAAAC,qBAAA,GAA0CV,MAAM,CAAClE,YAAY;MAArDE,WAAW,GAAA0E,qBAAA,CAAX1E,WAAW;MAAEE,gBAAgB,GAAAwE,qBAAA,CAAhBxE,gBAAgB;IAErC,IAAIyE,mBAAS,CAAC3E,WAAW,CAAC,IAAIyE,IAAI,CAACzD,IAAI,GAAGhB,WAAW,EAAE;MACrD,OAAO;AAAE4E,QAAAA,MAAM,EAAE;OAAO;AAC1B,IAAA;AAEA,IAAA,IAAID,mBAAS,CAACzE,gBAAgB,CAAC,EAAE;AAC/B,MAAA,IAAM2E,aAAa,GAAGtB,gBAAgB,CAACkB,IAAI,CAACK,IAAI,CAAC;AACjD,MAAA,IAAMC,QAAQ,GAAGN,IAAI,CAAC3C,IAAI;AAE1B,MAAA,IAAMkD,gBAAgB,GAAG9E,gBAAgB,CAAC+E,QAAQ,CAACJ,aAAa,CAAC;AACjE,MAAA,IAAMK,WAAW,GAAGhF,gBAAgB,CAAC+E,QAAQ,CAACF,QAAQ,CAAC;AAEvD,MAAA,IAAMH,MAAM,GAAGI,gBAAgB,IAAIE,WAAW;MAE9C,OAAO;AAAEN,QAAAA,MAAM,EAANA,MAAM;AAAEO,QAAAA,iBAAiB,EAAE,CAACP;OAAQ;AAC/C,IAAA;IAEA,OAAO;AAAEA,MAAAA,MAAM,EAAE;KAAM;EACzB,CAAC;AAAA,CAAA;AAEM,IAAMQ,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA,EAAoD;AAAA,EAAA,IAA9CC,wBAAwB,GAAAD,KAAA,CAAxBC,wBAAwB;IAAEtB,MAAM,GAAAqB,KAAA,CAANrB,MAAM;IAAEuB,KAAK,GAAAF,KAAA,CAALE,KAAK;EACnE,IAAIC,eAAe,GAAG,CAAC;AACrBvB,IAAAA,eAAe,GAAG,CAAC;AACnBC,IAAAA,qBAAqB,GAAG,CAAC;AAC3B,EAAA,IAAMuB,wBAAwB,GAAGH,wBAAwB,GAAGC,KAAK,CAACrE,MAAM;AACxE,EAAA,IAAAwE,qBAAA,GAAwD1B,MAAM,CAAClE,YAAY,CAAnEC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAA2F,qBAAA,KAAA,MAAA,GAAGD,wBAAwB,GAAAC,qBAAA;AACnD,EAAA,IAAMC,UAAU,GAAGnB,aAAa,CAACR,MAAM,CAAC;AAExC,EAAA,IAAM4B,oBAAoB,GAAG7F,gBAAgB,GAAGuF,wBAAwB;EAExE,IAAIM,oBAAoB,IAAI,CAAC,EAAE;AAC7BxB,IAAAA,uBAAM,CAACE,OAAO,CACZ3D,MAAC,CAAC,0CAA0C,EAAE;AAC5C4D,MAAAA,MAAM,EAAExE;AACV,KAAC,CACH,CAAC;AAED,IAAA,OAAO,EAAE;AACX,EAAA;EAEA,IAAM+D,aAAa,GAAGyB,KAAK,CAACM,MAAM,CAAC,UAAApB,IAAI,EAAI;AACzC,IAAA,IAAAqB,WAAA,GAAsCH,UAAU,CAAClB,IAAI,CAAC;MAA9CG,MAAM,GAAAkB,WAAA,CAANlB,MAAM;MAAEO,iBAAiB,GAAAW,WAAA,CAAjBX,iBAAiB;AAEjC,IAAA,IAAIP,MAAM,IAAIY,eAAe,GAAG,CAAC,IAAII,oBAAoB,EAAE;AACzDJ,MAAAA,eAAe,IAAI,CAAC;AAEpB,MAAA,OAAO,IAAI;AACb,IAAA;AAEA,IAAA,IAAIL,iBAAiB,EAAEjB,qBAAqB,IAAI,CAAC,CAAC,KAC7C,IAAI,CAACU,MAAM,EAAEX,eAAe,IAAI,CAAC;AAEtC,IAAA,OAAO,KAAK;AACd,EAAA,CAAC,CAAC;AAEFL,EAAAA,iBAAiB,CAAC;AAChBE,IAAAA,aAAa,EAAbA,aAAa;AACbC,IAAAA,YAAY,EAAEwB,KAAK;AACnBvB,IAAAA,MAAM,EAANA,MAAM;AACNE,IAAAA,qBAAqB,EAArBA,qBAAqB;AACrBD,IAAAA,eAAe,EAAfA;AACF,GAAC,CAAC;AAEF,EAAA,OAAOH,aAAa;AACtB,CAAC;;;AC5GD,SAAA,YAAA,GAAA,qKAAA,IAAAiC,CAAA,EAAApF,CAAA,EAAAqF,CAAA,GAAA,UAAA,IAAA,OAAAC,MAAA,GAAAA,MAAA,GAAA,EAAA,EAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,IAAA,YAAA,EAAAC,CAAA,GAAAJ,CAAA,CAAAK,WAAA,IAAA,eAAA,CAAA,CAAA,SAAAhF,EAAA2E,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA/E,CAAA,EAAA,EAAA,IAAAiF,CAAA,GAAAJ,CAAA,IAAAA,CAAA,CAAAK,SAAA,YAAAC,SAAA,GAAAN,CAAA,GAAAM,SAAA,EAAAC,CAAA,GAAAC,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAAC,SAAA,CAAA,CAAA,CAAA,OAAAK,mBAAA,CAAAH,CAAA,EAAA,SAAA,EAAA,UAAAT,CAAA,EAAAE,CAAA,EAAAE,CAAA,EAAA,EAAA,IAAA/E,CAAA,EAAAiF,CAAA,EAAAG,CAAA,EAAAI,CAAA,GAAA,CAAA,EAAAC,CAAA,GAAAV,CAAA,IAAA,EAAA,EAAAW,CAAA,GAAA,KAAA,EAAAC,CAAA,GAAA,EAAAF,CAAA,EAAA,CAAA,EAAAZ,CAAA,EAAA,CAAA,EAAAe,CAAA,EAAAlB,CAAA,EAAAmB,CAAA,EAAAC,CAAA,EAAAN,CAAA,EAAAM,CAAA,CAAAC,IAAA,CAAArB,CAAA,EAAA,CAAA,CAAA,EAAAoB,CAAA,WAAAA,CAAAA,CAAAxG,CAAA,EAAAqF,CAAA,WAAA3E,CAAA,GAAAV,CAAA,EAAA2F,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAAV,CAAA,EAAAiB,CAAA,CAAAd,CAAA,GAAAF,CAAA,EAAAkB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,SAAAC,EAAAnB,CAAA,EAAAE,CAAA,EAAA,EAAA,KAAAI,CAAA,GAAAN,CAAA,EAAAS,CAAA,GAAAP,CAAA,EAAAvF,CAAA,OAAAoG,CAAA,IAAAF,CAAA,IAAA,CAAAT,CAAA,IAAAzF,CAAA,GAAAmG,CAAA,CAAA5F,MAAA,EAAAP,CAAA,UAAAyF,CAAA,EAAA/E,CAAA,GAAAyF,CAAA,CAAAnG,CAAA,CAAA,EAAAwG,CAAA,GAAAH,CAAA,CAAAF,CAAA,EAAAO,CAAA,GAAAhG,CAAA,KAAA2E,CAAA,GAAA,CAAA,GAAA,CAAAI,CAAA,GAAAiB,CAAA,KAAAnB,CAAA,MAAAO,CAAA,GAAApF,CAAA,CAAA,CAAAiF,CAAA,GAAAjF,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,IAAAiF,CAAA,GAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAAjF,CAAA,CAAA,CAAA,CAAA,GAAAA,CAAA,CAAA,CAAA,CAAA,GAAA0E,CAAA,IAAA1E,CAAA,CAAA,CAAA,CAAA,IAAA8F,CAAA,KAAA,CAAAf,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAAmB,CAAA,GAAA9F,CAAA,CAAA,CAAA,CAAA,KAAAiF,CAAA,MAAAU,CAAA,CAAAC,CAAA,GAAAf,CAAA,EAAAc,CAAA,CAAAd,CAAA,GAAA7E,CAAA,CAAA,CAAA,CAAA,IAAA8F,CAAA,GAAAE,CAAA,KAAAjB,CAAA,GAAAJ,CAAA,GAAA,CAAA,IAAA3E,CAAA,CAAA,CAAA,CAAA,GAAA6E,CAAA,IAAAA,CAAA,GAAAmB,CAAA,MAAAhG,CAAA,CAAA,CAAA,CAAA,GAAA2E,CAAA,EAAA3E,CAAA,CAAA,CAAA,CAAA,GAAA6E,CAAA,EAAAc,CAAA,CAAAd,CAAA,GAAAmB,CAAA,EAAAf,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAF,CAAA,IAAAJ,CAAA,GAAA,CAAA,EAAA,OAAAkB,CAAA,CAAA,CAAA,MAAAH,CAAA,GAAA,IAAA,EAAAb,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,UAAAE,CAAA,EAAAU,CAAA,EAAAO,CAAA,EAAA,EAAA,IAAAR,CAAA,GAAA,CAAA,EAAA,MAAAS,SAAA,CAAA,8BAAA,CAAA,CAAA,CAAA,KAAAP,CAAA,UAAAD,CAAA,IAAAK,CAAA,CAAAL,CAAA,EAAAO,CAAA,CAAA,EAAAf,CAAA,GAAAQ,CAAA,EAAAL,CAAA,GAAAY,CAAA,EAAA,CAAA1G,CAAA,GAAA2F,CAAA,GAAA,CAAA,GAAAP,CAAA,GAAAU,CAAA,KAAA,CAAAM,CAAA,GAAA,EAAA1F,CAAA,KAAAiF,CAAA,GAAAA,CAAA,GAAA,CAAA,IAAAA,CAAA,GAAA,CAAA,KAAAU,CAAA,CAAAd,CAAA,GAAA,EAAA,CAAA,EAAAiB,CAAA,CAAAb,CAAA,EAAAG,CAAA,CAAA,IAAAO,CAAA,CAAAd,CAAA,GAAAO,CAAA,GAAAO,CAAA,CAAAC,CAAA,GAAAR,CAAA,aAAAI,CAAA,GAAA,CAAA,EAAAxF,CAAA,EAAA,EAAA,IAAAiF,CAAA,KAAAF,CAAA,GAAA,MAAA,CAAA,EAAAzF,CAAA,GAAAU,CAAA,CAAA+E,CAAA,WAAAzF,CAAA,GAAAA,CAAA,CAAA4G,IAAA,CAAAlG,CAAA,EAAAoF,CAAA,CAAA,CAAA,EAAA,MAAAa,SAAA,CAAA,kCAAA,CAAA,CAAA,CAAA,IAAA,CAAA3G,CAAA,CAAA6G,IAAA,EAAA,OAAA7G,CAAA,CAAA,CAAA8F,CAAA,GAAA9F,CAAA,CAAA8G,KAAA,EAAAnB,CAAA,GAAA,CAAA,KAAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAAA,CAAA,KAAAA,CAAA,KAAA3F,CAAA,GAAAU,CAAA,CAAA,QAAA,CAAA,CAAA,IAAAV,CAAA,CAAA4G,IAAA,CAAAlG,CAAA,CAAA,EAAAiF,CAAA,SAAAG,CAAA,GAAAa,SAAA,CAAA,mCAAA,GAAAlB,CAAA,GAAA,UAAA,CAAA,EAAAE,CAAA,GAAA,CAAA,CAAA,CAAA,CAAAjF,CAAA,GAAA0E,CAAA,CAAA,CAAA,CAAA,MAAA,IAAA,CAAApF,CAAA,IAAAoG,CAAA,GAAAC,CAAA,CAAAd,CAAA,GAAA,CAAA,IAAAO,CAAA,GAAAT,CAAA,CAAAuB,IAAA,CAAArB,CAAA,EAAAc,CAAA,CAAA,MAAAE,CAAA,EAAA,MAAA,CAAA,CAAA,CAAA,OAAAvG,CAAA,EAAA,EAAAU,CAAA,GAAA0E,CAAA,EAAAO,CAAA,GAAA,CAAA,EAAAG,CAAA,GAAA9F,CAAA,CAAA,CAAA,CAAA,SAAA,EAAAkG,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAAAY,KAAA,EAAA9G,CAAA,EAAA6G,IAAA,EAAAT,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAf,CAAA,EAAAI,CAAA,EAAA/E,CAAA,CAAA,EAAA,IAAA,CAAA,EAAAoF,CAAA,CAAA,CAAA,CAAA,CAAA,IAAAS,CAAA,GAAA,EAAA,CAAA,CAAA,SAAAV,SAAAA,eAAAkB,iBAAAA,GAAA,CAAA,CAAA,CAAA,SAAAC,0BAAAA,GAAA,CAAA,CAAA,CAAAhH,CAAA,GAAA+F,MAAA,CAAAkB,cAAA,CAAA,CAAA,IAAAtB,CAAA,GAAA,EAAA,CAAAJ,CAAA,CAAA,GAAAvF,CAAA,CAAAA,CAAA,IAAAuF,CAAA,CAAA,EAAA,CAAA,CAAA,IAAAU,mBAAA,CAAAjG,CAAA,GAAA,EAAA,EAAAuF,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAvF,CAAA,GAAA8F,CAAA,GAAAkB,0BAAA,CAAApB,SAAA,GAAAC,SAAA,CAAAD,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAL,CAAA,CAAA,CAAA,CAAA,SAAAO,CAAAA,CAAAd,CAAA,WAAAW,MAAA,CAAAmB,cAAA,GAAAnB,MAAA,CAAAmB,cAAA,CAAA9B,CAAA,EAAA4B,0BAAA,CAAA,IAAA5B,CAAA,CAAA+B,SAAA,GAAAH,0BAAA,EAAAf,mBAAA,CAAAb,CAAA,EAAAK,CAAA,EAAA,mBAAA,CAAA,CAAA,EAAAL,CAAA,CAAAQ,SAAA,GAAAG,MAAA,CAAAC,MAAA,CAAAF,CAAA,CAAA,EAAAV,CAAA,CAAA,CAAA,CAAA,CAAA,OAAA2B,iBAAA,CAAAnB,SAAA,GAAAoB,0BAAA,EAAAf,mBAAA,CAAAH,CAAA,iBAAAkB,0BAAA,CAAA,EAAAf,mBAAA,CAAAe,0BAAA,EAAA,aAAA,EAAAD,iBAAA,CAAA,EAAAA,iBAAA,CAAAK,WAAA,GAAA,mBAAA,EAAAnB,mBAAA,CAAAe,0BAAA,EAAAvB,CAAA,EAAA,mBAAA,CAAA,EAAAQ,mBAAA,CAAAH,CAAA,CAAA,EAAAG,mBAAA,CAAAH,CAAA,EAAAL,CAAA,EAAA,WAAA,CAAA,EAAAQ,mBAAA,CAAAH,CAAA,EAAAP,CAAA,EAAA,YAAA,EAAA,OAAA,IAAA,CAAA,CAAA,CAAA,CAAA,EAAAU,mBAAA,CAAAH,CAAA,8DAAAuB,YAAA,GAAA,SAAAA,YAAAA,GAAA,EAAA,OAAA,EAAAC,CAAA,EAAA5G,CAAA,EAAA6G,CAAA,EAAArB,CAAA,EAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,SAAAD,mBAAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAvF,CAAA,EAAA,EAAA,IAAAU,CAAA,GAAAqF,MAAA,CAAAyB,cAAA,CAAA,CAAA,IAAA,EAAA9G,CAAA,uBAAA0E,CAAA,EAAA,EAAA1E,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAAuF,mBAAA,GAAA,SAAAwB,mBAAArC,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAvF,CAAA,EAAA,EAAA,SAAAyF,CAAAA,CAAAJ,CAAA,EAAAE,CAAA,IAAAU,mBAAA,CAAAb,CAAA,EAAAC,CAAA,YAAAD,CAAA,EAAA,EAAA,OAAA,IAAA,CAAAsC,OAAA,CAAArC,CAAA,EAAAE,CAAA,EAAAH,CAAA,SAAAC,CAAA,GAAA3E,CAAA,GAAAA,CAAA,CAAA0E,CAAA,EAAAC,CAAA,IAAAyB,KAAA,EAAAvB,CAAA,EAAAoC,UAAA,GAAA3H,CAAA,EAAA4H,YAAA,EAAA,CAAA5H,CAAA,EAAA6H,QAAA,EAAA,CAAA7H,CAAA,MAAAoF,CAAA,CAAAC,CAAA,CAAA,GAAAE,CAAA,IAAAE,CAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAAA,CAAA,cAAAA,CAAA,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAAQ,mBAAA,CAAAb,CAAA,EAAAC,CAAA,EAAAE,CAAA,EAAAvF,CAAA,CAAA,CAAA,CAAA;AAgBA,IAAI8H,iBAAiB,GAAG,EAAE;AAE1B,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA7E,IAAA,EAIf;AAAA,EAAA,IAHJG,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAA2E,gBAAA,GAAA9E,IAAA,CACN+E,WAAW;AAAEC,IAAAA,mBAAmB,GAAAF,gBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,gBAAA;IAAAG,qBAAA,GAAAjF,IAAA,CACrCkF,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAD,qBAAA,KAAA,MAAA,GAAGE,cAAI,GAAAF,qBAAA;AAE3B,EAAA,IAAMG,YAAY,GAAGC,YAAM,CAACC,iCAAe,EAAE,CAAC;AAC9C,EAAA,IAAAC,eAAA,GAAcC,2BAAc,EAAE;IAAtB1I,CAAC,GAAAyI,eAAA,CAADzI,CAAC;AAET,EAAA,IAAiB2I,SAAS,GAAKL,YAAY,CAAnCM,OAAO;AACf,EAAA,IAAAC,mBAAA,GAAAC,oCAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;AAAA,MAAA,OAAA;AACEC,QAAAA,QAAQ,EAAAD,KAAA,CAAA,UAAA,CAAA;AACRE,QAAAA,iBAAiB,EAAAF,KAAA,CAAA,mBAAA,CAAA;AACjBG,QAAAA,gBAAgB,EAAAH,KAAA,CAAA,kBAAA,CAAA;AAChBI,QAAAA,oBAAoB,EAAAJ,KAAA,CAAA,sBAAA,CAAA;AACpBK,QAAAA,cAAc,EAAAL,KAAA,CAAA,gBAAA,CAAA;AACdM,QAAAA,wBAAwB,EAAAN,KAAA,CAAA,0BAAA,CAAA;AACxBO,QAAAA,UAAU,EAAAP,KAAA,CAAA,YAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IANAQ,eAAe,GAAAX,mBAAA,CAAzBI,QAAQ;IACRC,iBAAiB,GAAAL,mBAAA,CAAjBK,iBAAiB;IACjBC,gBAAgB,GAAAN,mBAAA,CAAhBM,gBAAgB;IAChBC,oBAAoB,GAAAP,mBAAA,CAApBO,oBAAoB;IACpBC,cAAc,GAAAR,mBAAA,CAAdQ,cAAc;IACdC,wBAAwB,GAAAT,mBAAA,CAAxBS,wBAAwB;IACxBC,UAAU,GAAAV,mBAAA,CAAVU,UAAU;AAEZ,EAAA,IAAAE,oBAAA,GAAAX,oCAAA,CAAAC,kBAAA,WAAAC,KAAA,EAAA;MAAA,IAAAU,gBAAA,EAAAC,iBAAA;AAAA,MAAA,OAAA;QAAQ/E,KAAK,EAAA,CAAA8E,gBAAA,GAAAV,KAAA,CAAgDL,SAAS,CAAA,MAAA,IAAA,IAAAe,gBAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,gBAAA,CAAA,OAAA,CAAA;QAAlDE,WAAW,EAAA,CAAAD,iBAAA,GAAAX,KAAA,CAA8BL,SAAS,CAAA,MAAA,IAAA,IAAAgB,iBAAA,KAAA,MAAA,GAAA,MAAA,GAAAA,iBAAA,CAAA,aAAA;AAAA,OAAA;AAAA,IAAA,CAAA,CAAA,CAAA;IAAAE,qBAAA,GAAAJ,oBAAA,CAA9D7E,KAAK;AAALA,IAAAA,KAAK,GAAAiF,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;IAAED,WAAW,GAAAH,oBAAA,CAAXG,WAAW;EAE/B,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,GAAG,EAAEjG,IAAI,EAAK;AAC1C,IAAA,IAAI,CAACiG,GAAG,CAACC,KAAK,CAACC,gBAAgB,EAAE;AACjC,IAAA,IAAMC,aAAa,GAAGH,GAAG,CAACI,MAAM;AAChC,IAAA,IAAMC,UAAU,GAAGL,GAAG,CAACM,KAAK;IAC5B,IAAMC,QAAQ,GAAG3L,IAAI,CAAC4L,KAAK,CAAEL,aAAa,GAAGE,UAAU,GAAI,GAAG,CAAC;IAC/Dd,wBAAwB,CAACX,SAAS,EAAE7E,IAAI,CAAC0G,EAAE,EAAEF,QAAQ,CAAC;EACxD,CAAC;AAED,EAAA,IAAMG,UAAU,gBAAA,YAAA;IAAA,IAAA/F,KAAA,GAAAgG,kCAAA,cAAArD,YAAA,GAAAE,CAAA,CAAG,SAAAoD,OAAAA,CAAM7G,IAAI,EAAA;AAAA,MAAA,IAAA8G,MAAA,EAAAC,eAAA,EAAAC,cAAA,EAAAC,kBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,IAAA,EAAAC,QAAA,EAAAC,EAAA;AAAA,MAAA,OAAA/D,YAAA,EAAA,CAAAC,CAAA,CAAA,UAAA+D,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAlF,CAAA,GAAAkF,QAAA,CAAA9F,CAAA;AAAA,UAAA,KAAA,CAAA;YACrBqF,MAAM,GAAG,IAAIU,8BAAY,CAAC;cAC9BxH,IAAI,EAAEA,IAAI,CAACoH,IAAI;cACfrL,GAAG,EAAEwD,MAAM,CAACpE,oBAAoB;AAChCqL,cAAAA,QAAQ,EAAE,SAAVA,QAAQA,CAAEP,GAAG,EAAA;AAAA,gBAAA,OAAID,oBAAoB,CAACC,GAAG,EAAEjG,IAAI,CAAC;AAAA,cAAA;AAClD,aAAC,CAAC;AAEFgE,YAAAA,iBAAiB,CAAChE,IAAI,CAAC0G,EAAE,CAAC,GAAGI,MAAM;AAACS,YAAAA,QAAA,CAAAlF,CAAA,GAAA,CAAA;AAAAkF,YAAAA,QAAA,CAAA9F,CAAA,GAAA,CAAA;AAAA,YAAA,OAGOqF,MAAM,CAAC5E,MAAM,EAAE;AAAA,UAAA,KAAA,CAAA;YAAAgF,oBAAA,GAAAK,QAAA,CAAA/E,CAAA;YAAA2E,qBAAA,GAAAD,oBAAA,CAAhDE,IAAI;AAAJA,YAAAA,IAAI,GAAAD,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AAAKE,YAAAA,QAAQ,GAAAI,yCAAA,CAAAP,oBAAA,EAAAQ,SAAA,CAAA;YAC9BrC,gBAAgB,CAACR,SAAS,EAAE7E,IAAI,CAAC0G,EAAE,EAAEiB,oCAAkB,CAACC,QAAQ,CAAC;YAAC,OAAAL,QAAA,CAAA9E,CAAA,CAAA,CAAA,EAE3D;cACLiE,EAAE,EAAE1G,IAAI,CAAC0G,EAAE;cACX3H,QAAQ,EAAEiB,IAAI,CAACjB,QAAQ;AACvB8I,cAAAA,QAAQ,EAAA,CAAAd,eAAA,GAAEK,IAAI,CAACU,SAAS,MAAA,IAAA,IAAAf,eAAA,KAAA,MAAA,GAAAA,eAAA,GAAIM,QAAQ,CAACS,SAAS;AAC9C/L,cAAAA,GAAG,EAAA,CAAAiL,cAAA,GAAEI,IAAI,CAACW,QAAQ,MAAA,IAAA,IAAAf,cAAA,KAAA,MAAA,GAAAA,cAAA,GAAIK,QAAQ,CAACU,QAAQ;AACvCC,cAAAA,WAAW,EAAA,CAAAf,kBAAA,GAAEG,IAAI,CAACa,YAAY,MAAA,IAAA,IAAAhB,kBAAA,KAAA,MAAA,GAAAA,kBAAA,GAAII,QAAQ,CAACY;aAC5C,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAV,YAAAA,QAAA,CAAAlF,CAAA,GAAA,CAAA;YAAAiF,EAAA,GAAAC,QAAA,CAAA/E,CAAA;AAED,YAAA,IAAI,CAAC0F,sBAAK,CAACC,QAAQ,CAAAb,EAAM,CAAC,EAAE;AAC1B3H,cAAAA,uBAAM,CAACC,KAAK,CAAC1D,CAAC,CAAC,oCAAoC,CAAC,CAAC;AACvD,YAAA;AACA;AACAkM,YAAAA,OAAO,CAACxI,KAAK,CAAC,0BAA0B,EAAA0H,EAAO,CAAC;AAChD7B,YAAAA,UAAU,CAACZ,SAAS,EAAE7E,IAAI,CAAC0G,EAAE,CAAC;AAAC,YAAA,OAAAa,QAAA,CAAA9E,CAAA,CAAA,CAAA,EAExB,IAAI,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAoE,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAAA,CAEd,CAAA,CAAA;IAAA,OAAA,SA9BKF,UAAUA,CAAA0B,EAAA,EAAA;AAAA,MAAA,OAAAzH,KAAA,CAAA0H,KAAA,CAAA,IAAA,EAAA9L,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EA8Bf;AAED,EAAA,IAAM+L,kBAAiB,gBAAA,YAAA;IAAA,IAAAC,KAAA,GAAA5B,kCAAA,cAAArD,YAAA,EAAA,CAAAE,CAAA,CAAG,SAAAgF,QAAAA,GAAA;AAAA,MAAA,IAAAC,UAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,YAAA,EAAAC,sBAAA,EAAAC,aAAA,EAAAC,eAAA;AAAA,MAAA,OAAAzF,YAAA,EAAA,CAAAC,CAAA,CAAA,UAAAyF,SAAA,EAAA;QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAxH,CAAA;AAAA,UAAA,KAAA,CAAA;AAClBiH,YAAAA,UAAU,GAAGtD,iBAAiB,CAACP,SAAS,CAAC;YAAA,IAAA,CAE3CqE,sBAAY,CAACR,UAAU,CAAC,EAAA;AAAAO,cAAAA,SAAA,CAAAxH,CAAA,GAAA,CAAA;AAAA,cAAA;AAAA,YAAA;AAC1B8D,YAAAA,cAAc,CAACV,SAAS,EAAE,KAAK,CAAC;YAChCP,oBAAoB,CAAC,KAAK,CAAC;AAAC,YAAA,OAAA2E,SAAA,CAAAxG,CAAA,CAAA,CAAA,EAErB,EAAE,CAAA;AAAA,UAAA,KAAA,CAAA;YAGX4C,gBAAgB,CAACR,SAAS,EAAE6D,UAAU,CAAChC,EAAE,EAAEiB,oCAAkB,CAACwB,SAAS,CAAC;AAACF,YAAAA,SAAA,CAAAxH,CAAA,GAAA,CAAA;AAAA,YAAA,OAEpB2H,OAAO,CAACC,GAAG,CAAC,CAC/D1C,UAAU,CAAC+B,UAAU,CAAC,EACtBH,kBAAiB,EAAE,CACpB,CAAC;AAAA,UAAA,KAAA,CAAA;YAAAI,kBAAA,GAAAM,SAAA,CAAAzG,CAAA;YAAAoG,mBAAA,GAAAU,+BAAA,CAAAX,kBAAA,EAAA,CAAA,CAAA;AAHKE,YAAAA,YAAY,GAAAD,mBAAA,CAAA,CAAA,CAAA;AAAEE,YAAAA,sBAAsB,GAAAF,mBAAA,CAAA,CAAA,CAAA;AAKrCG,YAAAA,aAAa,IAAIF,YAAY,CAAA,CAAAhM,MAAA,CAAA0M,mCAAA,CAAKT,sBAAsB,CAAA,CAAA;AACxDE,YAAAA,eAAe,GAAGQ,WAAK,CAAC,IAAI,EAAET,aAAa,CAAC;AAClDzD,YAAAA,oBAAoB,CAACT,SAAS,EAAEmE,eAAe,CAAC;AAChDhF,YAAAA,iBAAiB,GAAGyF,UAAI,CAACT,eAAe,EAAEhF,iBAAiB,CAAC;AAAC,YAAA,OAAAiF,SAAA,CAAAxG,CAAA,CAAA,CAAA,EAEtDsG,aAAa,CAAC3H,MAAM,CAACsI,eAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAAA;AAAA,MAAA,CAAA,EAAAjB,QAAA,CAAA;IAAA,CACzC,CAAA,CAAA;AAAA,IAAA,OAAA,SAvBKF,iBAAiBA,GAAA;AAAA,MAAA,OAAAC,KAAA,CAAAF,KAAA,CAAA,IAAA,EAAA9L,SAAA,CAAA;AAAA,IAAA,CAAA;EAAA,CAAA,EAuBtB;AAED,EAAA,IAAMmN,WAAW,GAAG,SAAdA,WAAWA,GAAS;AACxBpE,IAAAA,cAAc,CAACV,SAAS,EAAE,IAAI,CAAC;IAC/BP,oBAAoB,CAAC,IAAI,CAAC;IAE1B,OAAOiE,kBAAiB,EAAE;EAC5B,CAAC;AAED,EAAA,IAAMpD,QAAQ,GAAG,SAAXA,QAAQA,CAAGyE,UAAU,EAAI;IAC7B,IAAMvK,aAAa,GAAGsB,WAAW,CAAC;MAChCE,wBAAwB,EAAEuD,mBAAmB,CAAC3H,MAAM;AACpD8C,MAAAA,MAAM,EAANA,MAAM;AACNuB,MAAAA,KAAK,EAAE+I,KAAK,CAACC,IAAI,CAACF,UAAU;AAC9B,KAAC,CAAC,CAACG,GAAG,CAAC,UAAA/J,IAAI,EAAA;MAAA,OAAK;QACd0G,EAAE,EAAEsD,mBAAS,CAAA,EAAA,CAAAnN,MAAA,CAAImD,IAAI,CAACK,IAAI,CAAC4J,WAAW,EAAE,EAAA,GAAA,CAAA,CAAApN,MAAA,CAAIqN,IAAI,CAACC,GAAG,EAAE,CAAE,CAAC;AACzD/C,QAAAA,IAAI,EAAEpH,IAAI;QACVjB,QAAQ,EAAEiB,IAAI,CAACK,IAAI;AACnBwH,QAAAA,QAAQ,EAAE,UAAU;AACpB9L,QAAAA,GAAG,EAAE,EAAE;QACPsB,IAAI,EAAE2C,IAAI,CAAC3C,IAAI;QACf+M,MAAM,EAAEzC,oCAAkB,CAAC0C;OAC5B;AAAA,IAAA,CAAC,CAAC;AAEH3E,IAAAA,eAAe,CAACb,SAAS,EAAExF,aAAa,CAAC;EAC3C,CAAC;AAED,EAAA,IAAMiL,YAAY,GAAG,SAAfA,YAAYA,CAAGC,MAAM,EAAI;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC7B,CAAAD,qBAAA,GAAAxG,iBAAiB,CAACuG,MAAM,CAAC,MAAA,IAAA,IAAAC,qBAAA,KAAA,MAAA,IAAA,CAAAC,sBAAA,GAAzBD,qBAAA,CAA2BE,KAAK,cAAAD,sBAAA,KAAA,MAAA,IAAhCA,sBAAA,CAAA3H,IAAA,CAAA0H,qBAAmC,CAAC;AACpC/E,IAAAA,UAAU,CAACZ,SAAS,EAAE0F,MAAM,CAAC;EAC/B,CAAC;EAED,OAAO;AACLpF,IAAAA,QAAQ,EAARA,QAAQ;AACRwE,IAAAA,WAAW,EAAXA,WAAW;AACXgB,IAAAA,WAAW,EAAE7J,KAAK;AAClBwJ,IAAAA,YAAY,EAAZA,YAAY;AACZxE,IAAAA,WAAW,EAAXA;GACD;AACH;;;;AC3IA,IAAM8E,IAAI,GAAG,SAAPA,IAAIA,CAAAxL,IAAA,EAAgC;AAAA,EAAA,IAA1ByL,QAAQ,GAAAzL,IAAA,CAARyL,QAAQ;IAAEC,SAAS,GAAA1L,IAAA,CAAT0L,SAAS;EACjC,IAAMC,SAAS,GAAGF,QAAQ,CAACG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAElD,EAAA,oBACEC,cAAA,CAAA,KAAA,EAAA;AAAWH,IAAAA,SAAS,EAATA,SAAS;AAAAI,IAAAA,QAAA,eAClBD,cAAA,CAACE,0BAAQ,EAAAC,aAAA,CAAA;AACDL,MAAAA,SAAS,EAATA,SAAS;AACfM,MAAAA,UAAU,EAAC;AAAS,KAAA,EAChBC,+BAAa,CAACP,SAAS,CAAC,CAC7B;AAAC,GACC,CAAC;AAEV;;;;;;;;;;;;;;"}