wrong-notebook 2026.10.23 → 2026.10.25-2

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 (1026) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +3 -1
  3. package/.next/build-manifest.json +219 -9
  4. package/.next/prerender-manifest.json +4 -4
  5. package/.next/required-server-files.json +16 -1
  6. package/.next/routes-manifest.json +18 -6
  7. package/.next/server/app/_global-error/page/build-manifest.json +8 -6
  8. package/.next/server/app/_global-error/page.js +9 -8
  9. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  10. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +18 -14
  13. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -16
  14. package/.next/server/app/_global-error.segments/_full.segment.rsc +18 -14
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +2 -1
  16. package/.next/server/app/_not-found/page/build-manifest.json +8 -6
  17. package/.next/server/app/_not-found/page.js +12 -12
  18. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  19. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/admin/page/build-manifest.json +8 -6
  21. package/.next/server/app/admin/page.js +13 -13
  22. package/.next/server/app/admin/page.js.nft.json +1 -1
  23. package/.next/server/app/admin/page_client-reference-manifest.js +1 -1
  24. package/.next/server/app/admin/user/[id]/page/build-manifest.json +8 -6
  25. package/.next/server/app/admin/user/[id]/page.js +13 -13
  26. package/.next/server/app/admin/user/[id]/page.js.nft.json +1 -1
  27. package/.next/server/app/admin/user/[id]/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/admin/dashboard/route.js +20 -15
  29. package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -1
  30. package/.next/server/app/api/admin/migrate-tags/route.js +10 -8
  31. package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -1
  32. package/.next/server/app/api/admin/system-reset/route.js +9 -7
  33. package/.next/server/app/api/admin/system-reset/route.js.nft.json +1 -1
  34. package/.next/server/app/api/admin/users/[id]/detail/route.js +20 -15
  35. package/.next/server/app/api/admin/users/[id]/detail/route.js.nft.json +1 -1
  36. package/.next/server/app/api/admin/users/[id]/route.js +10 -7
  37. package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -1
  38. package/.next/server/app/api/admin/users/route.js +12 -7
  39. package/.next/server/app/api/admin/users/route.js.nft.json +1 -1
  40. package/.next/server/app/api/ai/models/route.js +17 -13
  41. package/.next/server/app/api/ai/models/route.js.nft.json +1 -1
  42. package/.next/server/app/api/ai/test/route.js +18 -14
  43. package/.next/server/app/api/ai/test/route.js.nft.json +1 -1
  44. package/.next/server/app/api/analytics/route.js +12 -8
  45. package/.next/server/app/api/analytics/route.js.nft.json +1 -1
  46. package/.next/server/app/api/analyze/route.js +20 -15
  47. package/.next/server/app/api/analyze/route.js.nft.json +1 -1
  48. package/.next/server/app/api/auth/[...nextauth]/route.js +8 -6
  49. package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -1
  50. package/.next/server/app/api/error-items/[id]/delete/route.js +9 -7
  51. package/.next/server/app/api/error-items/[id]/delete/route.js.nft.json +1 -1
  52. package/.next/server/app/api/error-items/[id]/figure/route.js +19 -14
  53. package/.next/server/app/api/error-items/[id]/figure/route.js.nft.json +1 -1
  54. package/.next/server/app/api/error-items/[id]/fix-latex/route.js +19 -15
  55. package/.next/server/app/api/error-items/[id]/fix-latex/route.js.nft.json +1 -1
  56. package/.next/server/app/api/error-items/[id]/geogebra/route.js +17 -13
  57. package/.next/server/app/api/error-items/[id]/geogebra/route.js.nft.json +1 -1
  58. package/.next/server/app/api/error-items/[id]/image/route.js +11 -8
  59. package/.next/server/app/api/error-items/[id]/image/route.js.nft.json +1 -1
  60. package/.next/server/app/api/error-items/[id]/notes/route.js +9 -7
  61. package/.next/server/app/api/error-items/[id]/notes/route.js.nft.json +1 -1
  62. package/.next/server/app/api/error-items/[id]/practice-records/route.js +10 -7
  63. package/.next/server/app/api/error-items/[id]/practice-records/route.js.nft.json +1 -1
  64. package/.next/server/app/api/error-items/[id]/reanswer/route.js +19 -15
  65. package/.next/server/app/api/error-items/[id]/reanswer/route.js.nft.json +1 -1
  66. package/.next/server/app/api/error-items/[id]/retag/route.js +21 -15
  67. package/.next/server/app/api/error-items/[id]/retag/route.js.nft.json +1 -1
  68. package/.next/server/app/api/error-items/[id]/route.js +8 -6
  69. package/.next/server/app/api/error-items/[id]/route.js.nft.json +1 -1
  70. package/.next/server/app/api/error-items/[id]/svg-animation/route.js +19 -15
  71. package/.next/server/app/api/error-items/[id]/svg-animation/route.js.nft.json +1 -1
  72. package/.next/server/app/api/error-items/batch-delete/route.js +9 -7
  73. package/.next/server/app/api/error-items/batch-delete/route.js.nft.json +1 -1
  74. package/.next/server/app/api/error-items/clear/route.js +9 -7
  75. package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -1
  76. package/.next/server/app/api/error-items/list/route.js +12 -9
  77. package/.next/server/app/api/error-items/list/route.js.nft.json +1 -1
  78. package/.next/server/app/api/error-items/route.js +23 -16
  79. package/.next/server/app/api/error-items/route.js.nft.json +1 -1
  80. package/.next/server/app/api/error-items/short/[shortId]/route.js +10 -7
  81. package/.next/server/app/api/error-items/short/[shortId]/route.js.nft.json +1 -1
  82. package/.next/server/app/api/error-items/similarity/route.js +11 -8
  83. package/.next/server/app/api/error-items/similarity/route.js.nft.json +1 -1
  84. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js +20 -15
  85. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.nft.json +1 -1
  86. package/.next/server/app/api/exams/[id]/results/route.js +21 -15
  87. package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -1
  88. package/.next/server/app/api/exams/[id]/retry/route.js +20 -15
  89. package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -1
  90. package/.next/server/app/api/exams/[id]/route.js +18 -13
  91. package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -1
  92. package/.next/server/app/api/exams/route.js +20 -15
  93. package/.next/server/app/api/exams/route.js.nft.json +1 -1
  94. package/.next/server/app/api/export/route.js +12 -9
  95. package/.next/server/app/api/export/route.js.nft.json +1 -1
  96. package/.next/server/app/api/geogebra-analyze/route.js +19 -14
  97. package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -1
  98. package/.next/server/app/api/health/route.js +7 -6
  99. package/.next/server/app/api/health/route.js.nft.json +1 -1
  100. package/.next/server/app/api/import/route.js +23 -16
  101. package/.next/server/app/api/import/route.js.nft.json +1 -1
  102. package/.next/server/app/api/logs/frontend/route.js +9 -7
  103. package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -1
  104. package/.next/server/app/api/notebooks/[id]/retag/route.js +21 -15
  105. package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -1
  106. package/.next/server/app/api/notebooks/[id]/route.js +9 -8
  107. package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -1
  108. package/.next/server/app/api/notebooks/route.js +11 -9
  109. package/.next/server/app/api/notebooks/route.js.nft.json +1 -1
  110. package/.next/server/app/api/openclaw/batch-upload/route.js +22 -14
  111. package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -1
  112. package/.next/server/app/api/practice/generate/route.js +19 -14
  113. package/.next/server/app/api/practice/generate/route.js.nft.json +1 -1
  114. package/.next/server/app/api/practice/grade/route/app-paths-manifest.json +3 -0
  115. package/.next/server/app/api/practice/grade/route/build-manifest.json +12 -0
  116. package/.next/server/app/api/practice/grade/route.js +20 -0
  117. package/.next/server/app/api/practice/grade/route.js.nft.json +1 -0
  118. package/.next/server/app/api/practice/grade/route_client-reference-manifest.js +3 -0
  119. package/.next/server/app/api/practice/record/[id]/route.js +20 -14
  120. package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -1
  121. package/.next/server/app/api/practice/record/route.js +20 -15
  122. package/.next/server/app/api/practice/record/route.js.nft.json +1 -1
  123. package/.next/server/app/api/reanswer/route.js +19 -14
  124. package/.next/server/app/api/reanswer/route.js.nft.json +1 -1
  125. package/.next/server/app/api/register/route.js +9 -6
  126. package/.next/server/app/api/register/route.js.nft.json +1 -1
  127. package/.next/server/app/api/register/status/route.js +10 -7
  128. package/.next/server/app/api/register/status/route.js.nft.json +1 -1
  129. package/.next/server/app/api/review/due/route/app-paths-manifest.json +3 -0
  130. package/.next/server/app/api/review/due/route/build-manifest.json +12 -0
  131. package/.next/server/app/api/review/due/route/server-reference-manifest.json +4 -0
  132. package/.next/server/app/api/review/due/route.js +13 -0
  133. package/.next/server/app/api/review/due/route.js.map +5 -0
  134. package/.next/server/app/api/review/due/route.js.nft.json +1 -0
  135. package/.next/server/app/api/review/due/route_client-reference-manifest.js +3 -0
  136. package/.next/server/app/api/settings/route.js +12 -9
  137. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  138. package/.next/server/app/api/stats/practice/clear/route.js +9 -7
  139. package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -1
  140. package/.next/server/app/api/stats/practice/route.js +12 -8
  141. package/.next/server/app/api/stats/practice/route.js.nft.json +1 -1
  142. package/.next/server/app/api/tags/route.js +9 -8
  143. package/.next/server/app/api/tags/route.js.nft.json +1 -1
  144. package/.next/server/app/api/tags/stats/route.js +10 -7
  145. package/.next/server/app/api/tags/stats/route.js.nft.json +1 -1
  146. package/.next/server/app/api/tags/suggestions/route.js +9 -7
  147. package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -1
  148. package/.next/server/app/api/tasks/route.js +10 -7
  149. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  150. package/.next/server/app/api/user/route.js +11 -9
  151. package/.next/server/app/api/user/route.js.nft.json +1 -1
  152. package/.next/server/app/api/version/route.js +7 -6
  153. package/.next/server/app/api/version/route.js.nft.json +1 -1
  154. package/.next/server/app/error-items/[id]/page/build-manifest.json +8 -6
  155. package/.next/server/app/error-items/[id]/page.js +13 -13
  156. package/.next/server/app/error-items/[id]/page.js.nft.json +1 -1
  157. package/.next/server/app/error-items/[id]/page_client-reference-manifest.js +1 -1
  158. package/.next/server/app/exams/[id]/page/build-manifest.json +8 -6
  159. package/.next/server/app/exams/[id]/page.js +13 -13
  160. package/.next/server/app/exams/[id]/page.js.nft.json +1 -1
  161. package/.next/server/app/exams/[id]/page_client-reference-manifest.js +1 -1
  162. package/.next/server/app/exams/[id]/print/page/build-manifest.json +8 -6
  163. package/.next/server/app/exams/[id]/print/page.js +13 -13
  164. package/.next/server/app/exams/[id]/print/page.js.nft.json +1 -1
  165. package/.next/server/app/exams/[id]/print/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/exams/page/build-manifest.json +8 -6
  167. package/.next/server/app/exams/page.js +13 -13
  168. package/.next/server/app/exams/page.js.nft.json +1 -1
  169. package/.next/server/app/exams/page_client-reference-manifest.js +1 -1
  170. package/.next/server/app/favicon.ico/route.js +7 -7
  171. package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  172. package/.next/server/app/login/page/build-manifest.json +8 -6
  173. package/.next/server/app/login/page.js +13 -13
  174. package/.next/server/app/login/page.js.nft.json +1 -1
  175. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  176. package/.next/server/app/manifest.webmanifest/route.js +7 -7
  177. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  178. package/.next/server/app/notebooks/[id]/add/page/build-manifest.json +8 -6
  179. package/.next/server/app/notebooks/[id]/add/page.js +13 -13
  180. package/.next/server/app/notebooks/[id]/add/page.js.nft.json +1 -1
  181. package/.next/server/app/notebooks/[id]/add/page_client-reference-manifest.js +1 -1
  182. package/.next/server/app/notebooks/[id]/page/build-manifest.json +8 -6
  183. package/.next/server/app/notebooks/[id]/page.js +13 -13
  184. package/.next/server/app/notebooks/[id]/page.js.nft.json +1 -1
  185. package/.next/server/app/notebooks/[id]/page_client-reference-manifest.js +1 -1
  186. package/.next/server/app/notebooks/page/build-manifest.json +8 -6
  187. package/.next/server/app/notebooks/page.js +13 -13
  188. package/.next/server/app/notebooks/page.js.nft.json +1 -1
  189. package/.next/server/app/notebooks/page_client-reference-manifest.js +1 -1
  190. package/.next/server/app/page/build-manifest.json +8 -6
  191. package/.next/server/app/page.js +13 -13
  192. package/.next/server/app/page.js.nft.json +1 -1
  193. package/.next/server/app/page_client-reference-manifest.js +1 -1
  194. package/.next/server/app/practice/page/build-manifest.json +8 -6
  195. package/.next/server/app/practice/page.js +13 -13
  196. package/.next/server/app/practice/page.js.nft.json +1 -1
  197. package/.next/server/app/practice/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/print-preview/page/build-manifest.json +8 -6
  199. package/.next/server/app/print-preview/page.js +13 -13
  200. package/.next/server/app/print-preview/page.js.nft.json +1 -1
  201. package/.next/server/app/print-preview/page_client-reference-manifest.js +1 -1
  202. package/.next/server/app/register/page/build-manifest.json +8 -6
  203. package/.next/server/app/register/page.js +11 -11
  204. package/.next/server/app/register/page.js.nft.json +1 -1
  205. package/.next/server/app/register/page_client-reference-manifest.js +1 -1
  206. package/.next/server/app/review/page/app-paths-manifest.json +3 -0
  207. package/.next/server/app/review/page/build-manifest.json +22 -0
  208. package/.next/server/app/review/page/next-font-manifest.json +11 -0
  209. package/.next/server/app/review/page/server-reference-manifest.json +4 -0
  210. package/.next/server/app/review/page.js +14 -0
  211. package/.next/server/app/review/page.js.map +5 -0
  212. package/.next/server/app/review/page.js.nft.json +1 -0
  213. package/.next/server/app/review/page_client-reference-manifest.js +3 -0
  214. package/.next/server/app/stats/page/build-manifest.json +8 -6
  215. package/.next/server/app/stats/page.js +13 -13
  216. package/.next/server/app/stats/page.js.nft.json +1 -1
  217. package/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  218. package/.next/server/app/tags/page/build-manifest.json +8 -6
  219. package/.next/server/app/tags/page.js +13 -13
  220. package/.next/server/app/tags/page.js.nft.json +1 -1
  221. package/.next/server/app/tags/page_client-reference-manifest.js +1 -1
  222. package/.next/server/app-paths-manifest.json +3 -1
  223. package/.next/server/chunks/0ivl_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3ywjhli.js +3 -0
  224. package/.next/server/chunks/1oeh_server_app_api_admin_users_[id]_detail_route_actions_0oe_wktcsiz6j.js +3 -0
  225. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_delete_route_actions_1w26boq5bpk6f.js +3 -0
  226. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_figure_route_actions_0adlts0sguhrk.js +3 -0
  227. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhxtl9kc9.js +3 -0
  228. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uvettiij.js +3 -0
  229. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1oxdmh0.js +3 -0
  230. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2l65i8t.js +3 -0
  231. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3idsy15.js +3 -0
  232. package/.next/server/chunks/1oeh_server_app_api_error-items_batch-delete_route_actions_0hiq_1kd60tc2.js +3 -0
  233. package/.next/server/chunks/1oeh_server_app_api_error-items_short_[shortId]_route_actions_02976v-fif6-5.js +3 -0
  234. package/.next/server/chunks/[externals]__04n7qbralh87n._.js +3 -0
  235. package/.next/server/chunks/[externals]__0jzwjtlwxxyw6._.js +3 -0
  236. package/.next/server/chunks/[externals]__0pot68n2q47fn._.js +3 -0
  237. package/.next/server/chunks/[externals]__1oyo6y4k5ao25._.js +3 -0
  238. package/.next/server/chunks/[externals]__1yyxisf-dquqj._.js +3 -0
  239. package/.next/server/chunks/[externals]_assert_1pwe1ri__g5hw._.js +3 -0
  240. package/.next/server/chunks/[externals]_fs_0pplqgcyv2l7l._.js +3 -0
  241. package/.next/server/chunks/[root-of-the-server]__0-d9f8_x-uokl._.js +3 -0
  242. package/.next/server/chunks/[root-of-the-server]__003ii50e63ws5._.js +3 -0
  243. package/.next/server/chunks/[root-of-the-server]__00atddp_h2wsm._.js +3 -0
  244. package/.next/server/chunks/[root-of-the-server]__00l2rz_disfkg._.js +3 -0
  245. package/.next/server/chunks/[root-of-the-server]__00vnodiir_2d4._.js +3 -0
  246. package/.next/server/chunks/[root-of-the-server]__03_k40ubn0a9g._.js +3 -0
  247. package/.next/server/chunks/[root-of-the-server]__04894g43fsy-j._.js +3 -0
  248. package/.next/server/chunks/[root-of-the-server]__061dm-7_xqjef._.js +3 -0
  249. package/.next/server/chunks/[root-of-the-server]__076sanerpxzzq._.js +3 -0
  250. package/.next/server/chunks/[root-of-the-server]__08ftj1z8v5lqc._.js +3 -0
  251. package/.next/server/chunks/[root-of-the-server]__09-twlny39tdc._.js +3 -0
  252. package/.next/server/chunks/[root-of-the-server]__09mpwfp41rtdc._.js +3 -0
  253. package/.next/server/chunks/[root-of-the-server]__0_qgrtzrjahhc._.js +3 -0
  254. package/.next/server/chunks/[root-of-the-server]__0_t7bbz2btvts._.js +3 -0
  255. package/.next/server/chunks/[root-of-the-server]__0an5a3hedd42o._.js +3 -0
  256. package/.next/server/chunks/[root-of-the-server]__0an9s6-nn3kpq._.js +3 -0
  257. package/.next/server/chunks/[root-of-the-server]__0brc9a9ftklux._.js +3 -0
  258. package/.next/server/chunks/[root-of-the-server]__0dql4kl3n1jq6._.js +3 -0
  259. package/.next/server/chunks/[root-of-the-server]__0fyho53bjgbss._.js +3 -0
  260. package/.next/server/chunks/[root-of-the-server]__0g-kb21pws7qu._.js +3 -0
  261. package/.next/server/chunks/[root-of-the-server]__0hgoyp7m26_hk._.js +3 -0
  262. package/.next/server/chunks/[root-of-the-server]__0hjv7gm7tjgzr._.js +3 -0
  263. package/.next/server/chunks/[root-of-the-server]__0j-pkzf61aot8._.js +3 -0
  264. package/.next/server/chunks/[root-of-the-server]__0k0-mj3lzqicn._.js +3 -0
  265. package/.next/server/chunks/[root-of-the-server]__0l7y2xk1m7h84._.js +3 -0
  266. package/.next/server/chunks/[root-of-the-server]__0ld-3rbaj1m8-._.js +56 -0
  267. package/.next/server/chunks/[root-of-the-server]__0p4dqz2jo4o3r._.js +3 -0
  268. package/.next/server/chunks/[root-of-the-server]__0rg4hkgdxbjou._.js +3 -0
  269. package/.next/server/chunks/[root-of-the-server]__0rk_yxyba4meu._.js +9 -0
  270. package/.next/server/chunks/[root-of-the-server]__0ry-pq8_6mc_0._.js +3 -0
  271. package/.next/server/chunks/[root-of-the-server]__0swyn0_rzg_pb._.js +3 -0
  272. package/.next/server/chunks/[root-of-the-server]__0tua5u4r1xt_r._.js +3 -0
  273. package/.next/server/chunks/[root-of-the-server]__0vtzo5ex73ywq._.js +3 -0
  274. package/.next/server/chunks/[root-of-the-server]__0yd-eoiuoru2o._.js +3 -0
  275. package/.next/server/chunks/[root-of-the-server]__0zjg773epx4r_._.js +3 -0
  276. package/.next/server/chunks/[root-of-the-server]__1-2dj_mbdiqvl._.js +3 -0
  277. package/.next/server/chunks/[root-of-the-server]__1-g3tlhljmfsp._.js +3 -0
  278. package/.next/server/chunks/[root-of-the-server]__1-hc0q3ck7id_._.js +3 -0
  279. package/.next/server/chunks/[root-of-the-server]__1-ti76u3720cd._.js +3 -0
  280. package/.next/server/chunks/[root-of-the-server]__10-um36nto0ht._.js +3 -0
  281. package/.next/server/chunks/[root-of-the-server]__10jwy1-wzrjon._.js +3 -0
  282. package/.next/server/chunks/[root-of-the-server]__123tftn1fdgwu._.js +3 -0
  283. package/.next/server/chunks/[root-of-the-server]__12czp5_up_ywb._.js +3 -0
  284. package/.next/server/chunks/[root-of-the-server]__15eu8gun_s7xv._.js +3 -0
  285. package/.next/server/chunks/[root-of-the-server]__15g3fbcq719hq._.js +3 -0
  286. package/.next/server/chunks/[root-of-the-server]__15tkoe60wvpdf._.js +10 -0
  287. package/.next/server/chunks/[root-of-the-server]__15vjk2wddz8hx._.js +3 -0
  288. package/.next/server/chunks/[root-of-the-server]__18j9-n7s671bt._.js +3 -0
  289. package/.next/server/chunks/[root-of-the-server]__18si67df5ho67._.js +3 -0
  290. package/.next/server/chunks/[root-of-the-server]__1_gkx5xy1-3em._.js +3 -0
  291. package/.next/server/chunks/[root-of-the-server]__1bqziovn_k5u5._.js +3 -0
  292. package/.next/server/chunks/[root-of-the-server]__1bvjyahgm4s-0._.js +3 -0
  293. package/.next/server/chunks/[root-of-the-server]__1cbj5r83fs2up._.js +3 -0
  294. package/.next/server/chunks/[root-of-the-server]__1d25c4t27ht5c._.js +3 -0
  295. package/.next/server/chunks/[root-of-the-server]__1dll9dp1pfrtj._.js +3 -0
  296. package/.next/server/chunks/[root-of-the-server]__1dxa-5wqgxi3y._.js +3 -0
  297. package/.next/server/chunks/[root-of-the-server]__1e_3xwt459gzy._.js +3 -0
  298. package/.next/server/chunks/[root-of-the-server]__1fc23i58z_ao2._.js +122 -0
  299. package/.next/server/chunks/[root-of-the-server]__1i0nyuimhqkda._.js +3 -0
  300. package/.next/server/chunks/[root-of-the-server]__1i75c6j1-yn3y._.js +3 -0
  301. package/.next/server/chunks/[root-of-the-server]__1jtd2ara5taim._.js +6 -0
  302. package/.next/server/chunks/[root-of-the-server]__1jvkc3eu49g96._.js +3 -0
  303. package/.next/server/chunks/[root-of-the-server]__1k0zrfx1r08xk._.js +3 -0
  304. package/.next/server/chunks/[root-of-the-server]__1k_8n_p3i4my_._.js +3 -0
  305. package/.next/server/chunks/[root-of-the-server]__1klj9kp10-bta._.js +3 -0
  306. package/.next/server/chunks/[root-of-the-server]__1n8ih5ow23_12._.js +3 -0
  307. package/.next/server/chunks/[root-of-the-server]__1nmtv65uajre3._.js +10 -0
  308. package/.next/server/chunks/[root-of-the-server]__1q9wd_k6hcd5m._.js +38 -0
  309. package/.next/server/chunks/[root-of-the-server]__1unmu-s-yg7fk._.js +3 -0
  310. package/.next/server/chunks/[root-of-the-server]__1ve3j8ooyhjgv._.js +3 -0
  311. package/.next/server/chunks/[root-of-the-server]__1vgkjjilvagrv._.js +3 -0
  312. package/.next/server/chunks/[root-of-the-server]__1wfua4wupbgjj._.js +3 -0
  313. package/.next/server/chunks/[root-of-the-server]__1wpzmu_3tg_74._.js +3 -0
  314. package/.next/server/chunks/[root-of-the-server]__1ztojnklvdebx._.js +3 -0
  315. package/.next/server/chunks/[root-of-the-server]__1zyka21s1ahtj._.js +3 -0
  316. package/.next/server/chunks/[root-of-the-server]__1zzfvs1z1_tig._.js +3 -0
  317. package/.next/server/chunks/[root-of-the-server]__20khcxfcwy16p._.js +38 -0
  318. package/.next/server/chunks/[turbopack]_runtime.js +146 -16
  319. package/.next/server/chunks/_0-ne-bwuvd_6w._.js +3 -0
  320. package/.next/server/chunks/_011-ll5i30j2e._.js +3 -0
  321. package/.next/server/chunks/_029zt0rilrwvt._.js +3 -0
  322. package/.next/server/chunks/_03ovgh1-4xf3f._.js +3 -0
  323. package/.next/server/chunks/_0431fxnqiloso._.js +3 -0
  324. package/.next/server/chunks/_07amw8ha9rney._.js +3 -0
  325. package/.next/server/chunks/_0_3_65z6ak-5i._.js +3 -0
  326. package/.next/server/chunks/_0_e736ff6uhew._.js +3 -0
  327. package/.next/server/chunks/_0anbzuivml30d._.js +3 -0
  328. package/.next/server/chunks/_0at03z7sgwdv3._.js +3 -0
  329. package/.next/server/chunks/_0axy8rynlghzq._.js +3 -0
  330. package/.next/server/chunks/_0c25unp5_llaq._.js +3 -0
  331. package/.next/server/chunks/_0d66myj_8567o._.js +3 -0
  332. package/.next/server/chunks/_0ekrwj-qx_6uh._.js +36 -0
  333. package/.next/server/chunks/_0geyrqrvyak26._.js +11 -0
  334. package/.next/server/chunks/_0gxi3zrkhyvx_._.js +3 -0
  335. package/.next/server/chunks/_0h1rbua_hqkox._.js +3 -0
  336. package/.next/server/chunks/_0kkvpy2s_y3-n._.js +11 -0
  337. package/.next/server/chunks/_0kreo-8xn80hb._.js +3 -0
  338. package/.next/server/chunks/_0l2j3br2g32zp._.js +3 -0
  339. package/.next/server/chunks/_0lz3t4lsygbtv._.js +19 -0
  340. package/.next/server/chunks/_0mt2ctbvzfero._.js +3 -0
  341. package/.next/server/chunks/_0ne4rbj35w-io._.js +11 -0
  342. package/.next/server/chunks/_0qaoat396e0_3._.js +3 -0
  343. package/.next/server/chunks/_0qsjdkq-39qbo._.js +11 -0
  344. package/.next/server/chunks/_0tl0cy5j96d7h._.js +3 -0
  345. package/.next/server/chunks/_0tz5wpjdgntj3._.js +3 -0
  346. package/.next/server/chunks/_0uxp3uhmyw1h3._.js +3 -0
  347. package/.next/server/chunks/_0wegi_sv1s4wx._.js +3 -0
  348. package/.next/server/chunks/_0x3ltk09eli_f._.js +36 -0
  349. package/.next/server/chunks/_0z0zrluul2idw._.js +3 -0
  350. package/.next/server/chunks/_0zs7jfzzshbfq._.js +3 -0
  351. package/.next/server/chunks/_11w6ynlxuzl55._.js +3 -0
  352. package/.next/server/chunks/_12i51zlq-xxrl._.js +3 -0
  353. package/.next/server/chunks/_12w5k19rc45j_._.js +3 -0
  354. package/.next/server/chunks/_13ffmxv8qrwi0._.js +3 -0
  355. package/.next/server/chunks/_14w9nrdlajz24._.js +3 -0
  356. package/.next/server/chunks/_15fpgekhvv214._.js +3 -0
  357. package/.next/server/chunks/_16jdov0rxh99d._.js +3 -0
  358. package/.next/server/chunks/_17zw8m241gfs3._.js +3 -0
  359. package/.next/server/chunks/_18amra5328v90._.js +3 -0
  360. package/.next/server/chunks/_18hm5aaxkr500._.js +3 -0
  361. package/.next/server/chunks/_1_273cgnpyl9j._.js +3 -0
  362. package/.next/server/chunks/_1_ns7o3cqznv6._.js +3 -0
  363. package/.next/server/chunks/_1a1aqmie1d3u_._.js +3 -0
  364. package/.next/server/chunks/_1a1udq0c4_6ad._.js +3 -0
  365. package/.next/server/chunks/_1b0269xt-c8f7._.js +3 -0
  366. package/.next/server/chunks/_1b7qjlv0nxovi._.js +3 -0
  367. package/.next/server/chunks/_1be-y660a8z-q._.js +3 -0
  368. package/.next/server/chunks/_1cydcmia78z15._.js +3 -0
  369. package/.next/server/chunks/_1e8w9uuebtrcb._.js +3 -0
  370. package/.next/server/chunks/_1ex6ovo_j2jzv._.js +3 -0
  371. package/.next/server/chunks/_1fgb9ve_nfat4._.js +3 -0
  372. package/.next/server/chunks/_1hj7iit2u6xez._.js +3 -0
  373. package/.next/server/chunks/_1lrt8e26anbnm._.js +11 -0
  374. package/.next/server/chunks/_1m-yyz-pl9-03._.js +3 -0
  375. package/.next/server/chunks/_1pvqo-qnv-nqm._.js +3 -0
  376. package/.next/server/chunks/_1q65ai1_dwgjp._.js +3 -0
  377. package/.next/server/chunks/_1s5-ldt8xhtpp._.js +3 -0
  378. package/.next/server/chunks/_1sp0xk1c5jx5r._.js +3 -0
  379. package/.next/server/chunks/_1taeg5t2ai7_x._.js +3 -0
  380. package/.next/server/chunks/_1tjis3pqfxk7_._.js +3 -0
  381. package/.next/server/chunks/_1vtmdpk7p4al9._.js +3 -0
  382. package/.next/server/chunks/_1wulydy4wg9ow._.js +3 -0
  383. package/.next/server/chunks/_1xpj9uk-9zhl8._.js +3 -0
  384. package/.next/server/chunks/_1y5_49ip8l9oe._.js +3 -0
  385. package/.next/server/chunks/_1z_ujac_e_65s._.js +3 -0
  386. package/.next/server/chunks/_211va-dk9519v._.js +3 -0
  387. package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-r2eove.js +3 -0
  388. package/.next/server/chunks/_next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhxi2qsxd.js +3 -0
  389. package/.next/server/chunks/_next-internal_server_app_api_admin_system-reset_route_actions_15aseltajrio-.js +3 -0
  390. package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4kr8kus.js +3 -0
  391. package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1e15wl4.js +3 -0
  392. package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-_fbzuj.js +3 -0
  393. package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8zn22_3.js +3 -0
  394. package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17qxwn3t.js +3 -0
  395. package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h7r4czj.js +3 -0
  396. package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdks3z54l.js +3 -0
  397. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5ylrz4c3i.js +3 -0
  398. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7zwbv-yr.js +3 -0
  399. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4nf1m1rv.js +3 -0
  400. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4uxgcnwcc.js +3 -0
  401. package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-b4usht.js +3 -0
  402. package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue0aseaq.js +3 -0
  403. package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0pe68kn6.js +3 -0
  404. package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9-yrnuz.js +3 -0
  405. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4cjl6y6.js +3 -0
  406. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f5xqz2a.js +3 -0
  407. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq8qisud.js +3 -0
  408. package/.next/server/chunks/_next-internal_server_app_api_exams_route_actions_1c_zhtjquazbz.js +3 -0
  409. package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc9jg57-.js +3 -0
  410. package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_cc6l98n.js +3 -0
  411. package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkbeskq31.js +3 -0
  412. package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04xh42fpe.js +3 -0
  413. package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxeptyjby8s8.js +3 -0
  414. package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t80igzxy.js +3 -0
  415. package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxgeuqf90.js +3 -0
  416. package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r04tykl.js +3 -0
  417. package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oenvuk9lp.js +3 -0
  418. package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_f0vpz7.js +3 -0
  419. package/.next/server/chunks/_next-internal_server_app_api_practice_grade_route_actions_09b_8m8ydpzgk.js +3 -0
  420. package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiomdy_l4b.js +3 -0
  421. package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__efurdf.js +3 -0
  422. package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_hfqgvy.js +3 -0
  423. package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c4r8obw.js +3 -0
  424. package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sjq7yjzh.js +3 -0
  425. package/.next/server/chunks/_next-internal_server_app_api_review_due_route_actions_1_d8euuffodv6.js +3 -0
  426. package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9acuq1z18.js +3 -0
  427. package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0hyvj4g.js +3 -0
  428. package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-2uzhl0.js +3 -0
  429. package/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_1nb9ma2pi6m41.js +3 -0
  430. package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc45lqi1.js +3 -0
  431. package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyvywz3qh.js +3 -0
  432. package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_123tq1_b3dlgw.js +3 -0
  433. package/.next/server/chunks/_next-internal_server_app_api_user_route_actions_1k-4clgaupijh.js +3 -0
  434. package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30hro8e93.js +3 -0
  435. package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjlssn1kss.js +3 -0
  436. package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz02cjxld.js +3 -0
  437. package/.next/server/chunks/node_modules_@anthropic-ai_sdk_1nnmjtbtp2rc6._.js +3 -0
  438. package/.next/server/chunks/node_modules_next_1zdbrneapig6o._.js +10 -0
  439. package/.next/server/chunks/node_modules_node-fetch_src_utils_multipart-parser_0a9aeam58e52_.js +3 -0
  440. package/.next/server/chunks/node_modules_zod_v4_classic_external_19886v847zvfd.js +3 -0
  441. package/.next/server/chunks/node_modules_zod_v4_classic_external_1h9u5hd8e7zk0.js +57 -0
  442. package/.next/server/chunks/src_0tzpy5j8n_1bx._.js +3 -0
  443. package/.next/server/chunks/src_lib_01n35ubnvj7qr._.js +3 -0
  444. package/.next/server/chunks/src_lib_05svhzm9a162-._.js +3 -0
  445. package/.next/server/chunks/src_lib_0csk5er_yd1v8._.js +3 -0
  446. package/.next/server/chunks/src_lib_0d4p429mhjazy._.js +3 -0
  447. package/.next/server/chunks/src_lib_0if7dmbrjhhw_._.js +3 -0
  448. package/.next/server/chunks/src_lib_0zxy_zn_mlaya._.js +3 -0
  449. package/.next/server/chunks/src_lib_1-tw3_3nqx6ug._.js +3 -0
  450. package/.next/server/chunks/src_lib_15kwif87cuv22._.js +3 -0
  451. package/.next/server/chunks/src_lib_1geq39r7va9gy._.js +3 -0
  452. package/.next/server/chunks/src_lib_1k0xki4wmn54_._.js +3 -0
  453. package/.next/server/chunks/src_lib_1wgxqrl1loni_._.js +3 -0
  454. package/.next/server/chunks/src_lib_1wh1pqmstnzzt._.js +3 -0
  455. package/.next/server/chunks/src_lib_1wm8ay-jqxakc._.js +3 -0
  456. package/.next/server/chunks/src_lib_ai_prompts_ts_0z36zms4djibp._.js +589 -0
  457. package/.next/server/chunks/src_lib_auth-utils_ts_20i7biv4dj8pm._.js +3 -0
  458. package/.next/server/chunks/src_lib_current-user_ts_20jgxch2zjmt3._.js +3 -0
  459. package/.next/server/chunks/src_lib_date-time_ts_14chb270f3epb._.js +3 -0
  460. package/.next/server/chunks/src_lib_exam_ts_0d3a4q4r41hcf._.js +3 -0
  461. package/.next/server/chunks/src_lib_logger_ts_067l8txrna0gg._.js +3 -0
  462. package/.next/server/chunks/src_lib_mastery_ts_0ybi94uxn8ut6._.js +3 -0
  463. package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-vwl9ue._.js +3 -0
  464. package/.next/server/chunks/src_lib_retag_ts_0eu8ld_86kt3a._.js +3 -0
  465. package/.next/server/chunks/src_lib_tag-recognition_ts_1wkzrdiapau86._.js +3 -0
  466. package/.next/server/chunks/ssr/[root-of-the-server]__03jq7w4crcz_u._.js +3 -0
  467. package/.next/server/chunks/ssr/[root-of-the-server]__070lhtl_a6l81._.js +3 -0
  468. package/.next/server/chunks/ssr/[root-of-the-server]__0egzlmtf23a_j._.js +3 -0
  469. package/.next/server/chunks/ssr/[root-of-the-server]__0fl_sbe1q-l5j._.js +3 -0
  470. package/.next/server/chunks/ssr/[root-of-the-server]__0i73t4kmj3-mp._.js +3 -0
  471. package/.next/server/chunks/ssr/[root-of-the-server]__0py1t7q9ntzgc._.js +3 -0
  472. package/.next/server/chunks/ssr/[root-of-the-server]__0s0807tegp2v8._.js +3 -0
  473. package/.next/server/chunks/ssr/[root-of-the-server]__0snw-y9tp0_06._.js +3 -0
  474. package/.next/server/chunks/ssr/[root-of-the-server]__0u-q2sah-le20._.js +3 -0
  475. package/.next/server/chunks/ssr/[root-of-the-server]__0uulvxrtw9ld4._.js +3 -0
  476. package/.next/server/chunks/ssr/[root-of-the-server]__0x_ihemma9171._.js +3 -0
  477. package/.next/server/chunks/ssr/[root-of-the-server]__0zqp_pztbsqqc._.js +3 -0
  478. package/.next/server/chunks/ssr/[root-of-the-server]__102i99h9qhhnc._.js +3 -0
  479. package/.next/server/chunks/ssr/[root-of-the-server]__18ej8rcn5j4hs._.js +3 -0
  480. package/.next/server/chunks/ssr/[root-of-the-server]__18i084ru7sq9w._.js +3 -0
  481. package/.next/server/chunks/ssr/[root-of-the-server]__18sucwsgl0hdl._.js +3 -0
  482. package/.next/server/chunks/ssr/[root-of-the-server]__1a50a5t_t8z_e._.js +3 -0
  483. package/.next/server/chunks/ssr/[root-of-the-server]__1b9f3v7g4ocyf._.js +3 -0
  484. package/.next/server/chunks/ssr/[root-of-the-server]__1gulcy2-2jrfj._.js +3 -0
  485. package/.next/server/chunks/ssr/[root-of-the-server]__1hcwd0rtvz96c._.js +3 -0
  486. package/.next/server/chunks/ssr/[root-of-the-server]__1i2zrji0j2c3l._.js +3 -0
  487. package/.next/server/chunks/ssr/[root-of-the-server]__1qpe9xti5ipq0._.js +3 -0
  488. package/.next/server/chunks/ssr/[root-of-the-server]__1qpi6ed0efnfg._.js +3 -0
  489. package/.next/server/chunks/ssr/[root-of-the-server]__1qwt10yvul4gg._.js +3 -0
  490. package/.next/server/chunks/ssr/[root-of-the-server]__1upv9f0hlagx7._.js +3 -0
  491. package/.next/server/chunks/ssr/[root-of-the-server]__1urwx866fvhi4._.js +3 -0
  492. package/.next/server/chunks/ssr/[root-of-the-server]__1uw-g6-ij61rl._.js +3 -0
  493. package/.next/server/chunks/ssr/[root-of-the-server]__1vwegr-t8j6qe._.js +3 -0
  494. package/.next/server/chunks/ssr/[root-of-the-server]__1xfc5gf4weasu._.js +3 -0
  495. package/.next/server/chunks/ssr/[root-of-the-server]__1xufj5ntr9bm3._.js +3 -0
  496. package/.next/server/chunks/ssr/[root-of-the-server]__1yy2y09x1rvba._.js +3 -0
  497. package/.next/server/chunks/ssr/[turbopack]_runtime.js +146 -16
  498. package/.next/server/chunks/ssr/_00np6xqvkg6u-._.js +32 -0
  499. package/.next/server/chunks/ssr/_08fq-uch-l1g6._.js +8 -0
  500. package/.next/server/chunks/ssr/_09y2uhjubswp4._.js +3 -0
  501. package/.next/server/chunks/ssr/_0bsjhzelppbjh._.js +3 -0
  502. package/.next/server/chunks/ssr/_0di9wj37_9zhf._.js +3 -0
  503. package/.next/server/chunks/ssr/_0h6qsip9mphaq._.js +3 -0
  504. package/.next/server/chunks/ssr/_0ng735s0jio00._.js +3 -0
  505. package/.next/server/chunks/ssr/_0rd-teluypcd2._.js +3 -0
  506. package/.next/server/chunks/ssr/_0t2jed64ec8vu._.js +3 -0
  507. package/.next/server/chunks/ssr/_0uvml2k65e53w._.js +3 -0
  508. package/.next/server/chunks/ssr/_1-bq77e5afl30._.js +3 -0
  509. package/.next/server/chunks/ssr/_1-sbpqghw1pn7._.js +3 -0
  510. package/.next/server/chunks/ssr/_110r17vqu8gol._.js +3 -0
  511. package/.next/server/chunks/ssr/_14d3enlxi54zl._.js +3 -0
  512. package/.next/server/chunks/ssr/_17edi6l2a0p76._.js +8 -0
  513. package/.next/server/chunks/ssr/_19ktk2l66yngc._.js +3 -0
  514. package/.next/server/chunks/ssr/_1b9b1aq5b_1sj._.js +3 -0
  515. package/.next/server/chunks/ssr/_1f1l6ubybak3a._.js +3 -0
  516. package/.next/server/chunks/ssr/_1g12ubvpxwe-j._.js +3 -0
  517. package/.next/server/chunks/ssr/_1g8mzz6qxv2mr._.js +3 -0
  518. package/.next/server/chunks/ssr/_1i0mdte5du0e1._.js +3 -0
  519. package/.next/server/chunks/ssr/_1pnt2b76-xt6_._.js +3 -0
  520. package/.next/server/chunks/ssr/_1prnv9r-jt4dy._.js +3 -0
  521. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-psc_d2.js +3 -0
  522. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yrisjoev.js +3 -0
  523. package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickzfofbmo.js +3 -0
  524. package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gsw9br4u.js +3 -0
  525. package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9akl69m75.js +3 -0
  526. package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_page_actions_1kushg5crt5ed.js +3 -0
  527. package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxqldskme.js +3 -0
  528. package/.next/server/chunks/ssr/_next-internal_server_app_exams_page_actions_0av69f-jb4_80.js +3 -0
  529. package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0ny9dmg.js +3 -0
  530. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2lc_po5.js +3 -0
  531. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7tmcbrj.js +3 -0
  532. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_page_actions_06x1kdz034ff8.js +3 -0
  533. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1jew5ls7.js +3 -0
  534. package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n6gnmoq.js +3 -0
  535. package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaalnnytwbd.js +3 -0
  536. package/.next/server/chunks/ssr/_next-internal_server_app_register_page_actions_1op-s-xpplkgy.js +3 -0
  537. package/.next/server/chunks/ssr/_next-internal_server_app_review_page_actions_1gf_x78pgriy6.js +3 -0
  538. package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_ad6s7ee.js +3 -0
  539. package/.next/server/chunks/ssr/_next-internal_server_app_tags_page_actions_20v_n--6ltjkg.js +3 -0
  540. package/.next/server/chunks/ssr/node_modules_0fm0peui_p0ra._.js +3 -0
  541. package/.next/server/chunks/ssr/node_modules_0gxlxpuufujz9._.js +33 -0
  542. package/.next/server/chunks/ssr/node_modules_1y5ym6hiirb6m._.js +3 -0
  543. package/.next/server/chunks/ssr/node_modules_1yow452htx6uk._.js +3 -0
  544. package/.next/server/chunks/ssr/node_modules_@radix-ui_0im69oqv_i2ki._.js +3 -0
  545. package/.next/server/chunks/ssr/node_modules_@radix-ui_0jungqz8-8rpt._.js +3 -0
  546. package/.next/server/chunks/ssr/node_modules_@radix-ui_react-roving-focus_dist_index_mjs_0jdjq3jxbmizo._.js +3 -0
  547. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_15-zi1i74qu9j._.js +3 -0
  548. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1_p6srzucwl-s._.js +3 -0
  549. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_1g_su6v6_1gmz._.js +3 -0
  550. package/.next/server/chunks/ssr/node_modules_lucide-react_dist_esm_icons_printer_0pprvafgadlwd.js +3 -0
  551. package/.next/server/chunks/ssr/node_modules_next_dist_0janj0i6dqko7._.js +6 -0
  552. package/.next/server/chunks/ssr/node_modules_next_dist_0ufsi7bhcumza._.js +23 -0
  553. package/.next/server/chunks/ssr/node_modules_next_dist_1g0hsq_f-fygr._.js +14 -0
  554. package/.next/server/chunks/ssr/node_modules_next_dist_1gey_lsf9b_wo._.js +5 -0
  555. package/.next/server/chunks/ssr/node_modules_next_dist_1khq67j4vo9y4._.js +3 -0
  556. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i643j53._.js +33 -0
  557. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j32_ibz4._.js +3 -0
  558. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9mbf-fh.js +3 -0
  559. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892nagajq.js +3 -0
  560. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0xky89qu.js +3 -0
  561. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0-620erc29b8l.js +3 -0
  562. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_02t4jbzz34_x5.js +3 -0
  563. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_06zp_1r4dyujd.js +3 -0
  564. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_07zpyh6_aix9e.js +3 -0
  565. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_08b8vpe4ydv2l.js +3 -0
  566. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0927yli_zsjiv.js +3 -0
  567. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0ab39qicq17ku.js +3 -0
  568. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0dq5iwc4xesq1.js +3 -0
  569. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0mfa8uq-ofoud.js +3 -0
  570. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_0tz1eth8tnoyx.js +3 -0
  571. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_14rvnul2svrv8.js +3 -0
  572. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_15yshykizhy_t.js +3 -0
  573. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_17vx074zs1h7f.js +3 -0
  574. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_18uzvmzy5tpu_.js +3 -0
  575. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_196bmtjcgr159.js +3 -0
  576. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1aq9r3iw9g7qi.js +3 -0
  577. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1e1odqisoi2pv.js +3 -0
  578. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1l6unubiwsg9f.js +3 -0
  579. package/.next/server/chunks/ssr/node_modules_next_dist_esm_build_templates_app-page_1ya73f4o4_7mr.js +3 -0
  580. package/.next/server/chunks/ssr/src_13u20tdu4gmgj._.js +3 -0
  581. package/.next/server/chunks/ssr/src_1gayunqs8u2e2._.js +3 -0
  582. package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0w90cx_._.js +3 -0
  583. package/.next/server/chunks/ssr/src_app_admin_user_[id]_page_tsx_0zidp-8hr5upa._.js +3 -0
  584. package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdmyh7_9q._.js +3 -0
  585. package/.next/server/chunks/ssr/src_app_exams_[id]_page_tsx_0xcjflkgkwzgd._.js +3 -0
  586. package/.next/server/chunks/ssr/src_app_exams_[id]_print_page_tsx_1i-xvhk8ul1l1._.js +35 -0
  587. package/.next/server/chunks/ssr/src_app_exams_page_tsx_17_d4_gy2i1ds._.js +3 -0
  588. package/.next/server/chunks/ssr/src_app_login_page_tsx_0yrgg2z_juzv9._.js +3 -0
  589. package/.next/server/chunks/ssr/src_app_notebooks_[id]_add_page_tsx_179tow1ql6vc_._.js +3 -0
  590. package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5-txm8_._.js +3 -0
  591. package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5gnz_40._.js +3 -0
  592. package/.next/server/chunks/ssr/src_app_page_tsx_1chiuahujsxm1._.js +3 -0
  593. package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53v3kpzb._.js +3 -0
  594. package/.next/server/chunks/ssr/src_app_print-preview_page_tsx_001yt-fzrj7tf._.js +3 -0
  595. package/.next/server/chunks/ssr/src_app_register_page_tsx_0l87b3754fa2j._.js +3 -0
  596. package/.next/server/chunks/ssr/src_app_review_page_tsx_1rq4ygvo_szv0._.js +3 -0
  597. package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4hv_zlp._.js +3 -0
  598. package/.next/server/chunks/ssr/src_components_difficulty-stars_tsx_1af9qqfurq7_t._.js +3 -0
  599. package/.next/server/chunks/ssr/src_components_error-list_error-item-card_tsx_1zsiqsrj-jjd7._.js +3 -0
  600. package/.next/server/chunks/ssr/src_components_mastery-panel_tsx_1--j5c7mhomdp._.js +3 -0
  601. package/.next/server/chunks/ssr/src_components_practice-result-picker_tsx_06jytymet6adu._.js +3 -0
  602. package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv3nb6xs._.js +193 -0
  603. package/.next/server/chunks/ssr/src_components_settings_duplicate-threshold-setting_tsx_06bbmwo1pkaim._.js +3 -0
  604. package/.next/server/chunks/ssr/src_components_tag-input_tsx_0b9sxffna5c9i._.js +3 -0
  605. package/.next/server/chunks/ssr/src_components_ui_checkbox_tsx_0xdylzmai9n53._.js +3 -0
  606. package/.next/server/chunks/ssr/src_components_ui_dialog_tsx_1tn-i_6d3rhzt._.js +3 -0
  607. package/.next/server/chunks/ssr/src_components_ui_tabs_tsx_0skssvsquc-9c._.js +3 -0
  608. package/.next/server/chunks/ssr/src_lib_constants_pagination_ts_02h78dpuabai5._.js +3 -0
  609. package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctny6_q66._.js +3 -0
  610. package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u3yic3e._.js +3 -0
  611. package/.next/server/edge/chunks/_1s0wgnupch4sb._.js +3 -0
  612. package/.next/server/edge/chunks/node_modules_0um8zwzayafzq._.js +13 -0
  613. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_0dxg4rr5z738i.js +3 -0
  614. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_0dzf5yhexv02u.js +3 -0
  615. package/.next/server/instrumentation.js +3 -3
  616. package/.next/server/middleware-build-manifest.js +219 -9
  617. package/.next/server/middleware-manifest.json +11 -11
  618. package/.next/server/next-font-manifest.js +1 -1
  619. package/.next/server/next-font-manifest.json +4 -4
  620. package/.next/server/pages/500.html +1 -1
  621. package/.next/server/preview-props.json +5 -0
  622. package/.next/server/server-reference-manifest.js +1 -1
  623. package/.next/server/server-reference-manifest.json +1 -1
  624. package/.next/static/chunks/00kfvk-buhhsb.js +191 -0
  625. package/.next/static/chunks/08wadcj8wbdsy.js +1 -0
  626. package/.next/static/chunks/093w4w_19h9qh.js +31 -0
  627. package/.next/static/chunks/0_9gv911-tqmk.css +3 -0
  628. package/.next/static/chunks/0a-rekt06v0sv.js +1 -0
  629. package/.next/static/chunks/0aqlzwgn78ncm.js +1 -0
  630. package/.next/static/chunks/0e7mao0hn_nw4.js +1 -0
  631. package/.next/static/chunks/0pdeh9usti0bj.js +3 -0
  632. package/.next/static/chunks/0pvlg-25ddo6e.js +33 -0
  633. package/.next/static/chunks/0ykhi6pk49so-.js +1 -0
  634. package/.next/static/chunks/14a1tth-1ddn-.js +1 -0
  635. package/.next/static/chunks/15e5p9740moee.js +1 -0
  636. package/.next/static/chunks/181--wh89vylg.js +1 -0
  637. package/.next/static/chunks/1_h2h09t_394a.js +1 -0
  638. package/.next/static/chunks/1enxsrqonvvxr.js +1 -0
  639. package/.next/static/chunks/1fl98iro7y1bv.js +1 -0
  640. package/.next/static/chunks/1m3ompn8ev8gr.js +1 -0
  641. package/.next/static/chunks/1wqqkfg03tuu1.js +1 -0
  642. package/.next/static/chunks/23v229-qd9o6o.js +1 -0
  643. package/.next/static/chunks/242x7dx0zu3hf.js +1 -0
  644. package/.next/static/chunks/29m8r4g8_em2g.js +1 -0
  645. package/.next/static/chunks/2a86gw0-qil9m.css +1 -0
  646. package/.next/static/chunks/2ir3p1tlsazez.js +1 -0
  647. package/.next/static/chunks/2l-1t8-pfq4ph.js +1 -0
  648. package/.next/static/chunks/2tayqxc443yyh.js +1 -0
  649. package/.next/static/chunks/2v3rvsf6-bnfs.js +1 -0
  650. package/.next/static/chunks/2wk_a0jmwmybn.js +1 -0
  651. package/.next/static/chunks/2ysjbje-zsbdp.js +1 -0
  652. package/.next/static/chunks/3-u1evjqom016.js +1 -0
  653. package/.next/static/chunks/30eew6y-03vg8.js +1 -0
  654. package/.next/static/chunks/32oh815gi42ey.js +1 -0
  655. package/.next/static/chunks/37jrjuqt8f_ee.js +1 -0
  656. package/.next/static/chunks/37v5zj-q3hku_.js +1 -0
  657. package/.next/static/chunks/3aiz227rfearv.js +1 -0
  658. package/.next/static/chunks/3gvzs1nxarb0s.js +1 -0
  659. package/.next/static/chunks/3mb_v650fie_i.js +22 -0
  660. package/.next/static/chunks/3neepxbq9_bd3.css +1 -0
  661. package/.next/static/chunks/3q82qxm1otmz4.js +6 -0
  662. package/.next/static/chunks/3r4z_6i5z0hd5.js +1 -0
  663. package/.next/static/chunks/3s_9841ksp5zw.js +1 -0
  664. package/.next/static/chunks/3wm2jhitfeeue.js +1 -0
  665. package/.next/static/chunks/turbopack-2c3mg3r-05n1w.js +1 -0
  666. package/package.json +4 -5
  667. package/prisma/migrations/20261024000000_add_last_practice/migration.sql +2 -0
  668. package/prisma/migrations/20261024203954_add_ai_usage/migration.sql +11 -0
  669. package/prisma/schema.prisma +13 -0
  670. package/prisma/seed.db +0 -0
  671. package/server.js +1 -1
  672. package/.next/server/app/latex-test/page/app-paths-manifest.json +0 -3
  673. package/.next/server/app/latex-test/page/build-manifest.json +0 -20
  674. package/.next/server/app/latex-test/page/next-font-manifest.json +0 -11
  675. package/.next/server/app/latex-test/page.js +0 -14
  676. package/.next/server/app/latex-test/page.js.nft.json +0 -1
  677. package/.next/server/app/latex-test/page_client-reference-manifest.js +0 -3
  678. package/.next/server/chunks/1jng_app_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3.js +0 -3
  679. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1.js +0 -3
  680. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3.js +0 -3
  681. package/.next/server/chunks/[externals]__04n7qbr._.js +0 -3
  682. package/.next/server/chunks/[externals]__0jzwjtl._.js +0 -3
  683. package/.next/server/chunks/[externals]__0pot68n._.js +0 -3
  684. package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +0 -3
  685. package/.next/server/chunks/[root-of-the-server]__0-2l_pu._.js +0 -3
  686. package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +0 -153
  687. package/.next/server/chunks/[root-of-the-server]__00moo9h._.js +0 -3
  688. package/.next/server/chunks/[root-of-the-server]__012xcq-._.js +0 -3
  689. package/.next/server/chunks/[root-of-the-server]__01bzczj._.js +0 -3
  690. package/.next/server/chunks/[root-of-the-server]__02pqrw_._.js +0 -3
  691. package/.next/server/chunks/[root-of-the-server]__033ri9p._.js +0 -3
  692. package/.next/server/chunks/[root-of-the-server]__04pjde6._.js +0 -3
  693. package/.next/server/chunks/[root-of-the-server]__064krqp._.js +0 -3
  694. package/.next/server/chunks/[root-of-the-server]__07iraov._.js +0 -3
  695. package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +0 -3
  696. package/.next/server/chunks/[root-of-the-server]__07q7nsp._.js +0 -3
  697. package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +0 -3
  698. package/.next/server/chunks/[root-of-the-server]__0_unb90._.js +0 -3
  699. package/.next/server/chunks/[root-of-the-server]__0a1zwxf._.js +0 -3
  700. package/.next/server/chunks/[root-of-the-server]__0aefi10._.js +0 -3
  701. package/.next/server/chunks/[root-of-the-server]__0akadps._.js +0 -3
  702. package/.next/server/chunks/[root-of-the-server]__0cfjgye._.js +0 -3
  703. package/.next/server/chunks/[root-of-the-server]__0d-37yj._.js +0 -3
  704. package/.next/server/chunks/[root-of-the-server]__0d2kpnm._.js +0 -3
  705. package/.next/server/chunks/[root-of-the-server]__0dqgi36._.js +0 -3
  706. package/.next/server/chunks/[root-of-the-server]__0dz5c04._.js +0 -3
  707. package/.next/server/chunks/[root-of-the-server]__0e_u82_._.js +0 -3
  708. package/.next/server/chunks/[root-of-the-server]__0f3jyg0._.js +0 -3
  709. package/.next/server/chunks/[root-of-the-server]__0gwwa9b._.js +0 -3
  710. package/.next/server/chunks/[root-of-the-server]__0hars8c._.js +0 -3
  711. package/.next/server/chunks/[root-of-the-server]__0iozebm._.js +0 -3
  712. package/.next/server/chunks/[root-of-the-server]__0k-5uu2._.js +0 -3
  713. package/.next/server/chunks/[root-of-the-server]__0k3mm05._.js +0 -3
  714. package/.next/server/chunks/[root-of-the-server]__0l-xu_t._.js +0 -3
  715. package/.next/server/chunks/[root-of-the-server]__0lggrcf._.js +0 -3
  716. package/.next/server/chunks/[root-of-the-server]__0m0eall._.js +0 -3
  717. package/.next/server/chunks/[root-of-the-server]__0m37xyb._.js +0 -3
  718. package/.next/server/chunks/[root-of-the-server]__0m8p-6f._.js +0 -3
  719. package/.next/server/chunks/[root-of-the-server]__0pa47kn._.js +0 -3
  720. package/.next/server/chunks/[root-of-the-server]__0r42_o7._.js +0 -3
  721. package/.next/server/chunks/[root-of-the-server]__0rgjh3q._.js +0 -3
  722. package/.next/server/chunks/[root-of-the-server]__0rk_yxy._.js +0 -9
  723. package/.next/server/chunks/[root-of-the-server]__0scij0p._.js +0 -3
  724. package/.next/server/chunks/[root-of-the-server]__0sixhu9._.js +0 -3
  725. package/.next/server/chunks/[root-of-the-server]__0sj18kk._.js +0 -3
  726. package/.next/server/chunks/[root-of-the-server]__0sp4_zo._.js +0 -3
  727. package/.next/server/chunks/[root-of-the-server]__0t2o8v-._.js +0 -3
  728. package/.next/server/chunks/[root-of-the-server]__0w58v6b._.js +0 -3
  729. package/.next/server/chunks/[root-of-the-server]__0wp40ty._.js +0 -3
  730. package/.next/server/chunks/[root-of-the-server]__0wsj4a_._.js +0 -3
  731. package/.next/server/chunks/[root-of-the-server]__0wvvsah._.js +0 -3
  732. package/.next/server/chunks/[root-of-the-server]__0xg5h56._.js +0 -3
  733. package/.next/server/chunks/[root-of-the-server]__0zpazf3._.js +0 -3
  734. package/.next/server/chunks/[root-of-the-server]__10hs-qn._.js +0 -3
  735. package/.next/server/chunks/[root-of-the-server]__119xork._.js +0 -3
  736. package/.next/server/chunks/[root-of-the-server]__11_-ncy._.js +0 -3
  737. package/.next/server/chunks/[root-of-the-server]__11jhplo._.js +0 -3
  738. package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +0 -32
  739. package/.next/server/chunks/[root-of-the-server]__15tkoe6._.js +0 -10
  740. package/.next/server/chunks/[root-of-the-server]__15y1l96._.js +0 -3
  741. package/.next/server/chunks/[root-of-the-server]__16hnc6-._.js +0 -3
  742. package/.next/server/chunks/[root-of-the-server]__17i9sje._.js +0 -3
  743. package/.next/server/chunks/[root-of-the-server]__19_wn9u._.js +0 -3
  744. package/.next/server/chunks/[root-of-the-server]__1_gkx5x._.js +0 -3
  745. package/.next/server/chunks/[root-of-the-server]__1_hp3ol._.js +0 -3
  746. package/.next/server/chunks/[root-of-the-server]__1_ogacf._.js +0 -3
  747. package/.next/server/chunks/[root-of-the-server]__1a4-26x._.js +0 -3
  748. package/.next/server/chunks/[root-of-the-server]__1b6i9mu._.js +0 -3
  749. package/.next/server/chunks/[root-of-the-server]__1b_y2wk._.js +0 -3
  750. package/.next/server/chunks/[root-of-the-server]__1bl7t8i._.js +0 -3
  751. package/.next/server/chunks/[root-of-the-server]__1c0vatt._.js +0 -3
  752. package/.next/server/chunks/[root-of-the-server]__1c7a0rs._.js +0 -3
  753. package/.next/server/chunks/[root-of-the-server]__1chx4lo._.js +0 -3
  754. package/.next/server/chunks/[root-of-the-server]__1cngnud._.js +0 -3
  755. package/.next/server/chunks/[root-of-the-server]__1d82zkk._.js +0 -3
  756. package/.next/server/chunks/[root-of-the-server]__1ezju_2._.js +0 -3
  757. package/.next/server/chunks/[root-of-the-server]__1fc23i5._.js +0 -122
  758. package/.next/server/chunks/[root-of-the-server]__1flnfu4._.js +0 -3
  759. package/.next/server/chunks/[root-of-the-server]__1gya7jq._.js +0 -3
  760. package/.next/server/chunks/[root-of-the-server]__1hng_h2._.js +0 -3
  761. package/.next/server/chunks/[root-of-the-server]__1i40psm._.js +0 -3
  762. package/.next/server/chunks/[root-of-the-server]__1ijkds_._.js +0 -3
  763. package/.next/server/chunks/[root-of-the-server]__1j4v2e3._.js +0 -3
  764. package/.next/server/chunks/[root-of-the-server]__1jtd2ar._.js +0 -6
  765. package/.next/server/chunks/[root-of-the-server]__1kpo44g._.js +0 -3
  766. package/.next/server/chunks/[root-of-the-server]__1lbcdia._.js +0 -3
  767. package/.next/server/chunks/[root-of-the-server]__1m86czr._.js +0 -3
  768. package/.next/server/chunks/[root-of-the-server]__1mnpqkx._.js +0 -3
  769. package/.next/server/chunks/[root-of-the-server]__1n4b6nb._.js +0 -3
  770. package/.next/server/chunks/[root-of-the-server]__1nmrlew._.js +0 -3
  771. package/.next/server/chunks/[root-of-the-server]__1nmtv65._.js +0 -10
  772. package/.next/server/chunks/[root-of-the-server]__1o34kp3._.js +0 -3
  773. package/.next/server/chunks/[root-of-the-server]__1q7yl7l._.js +0 -3
  774. package/.next/server/chunks/[root-of-the-server]__1qv60vg._.js +0 -3
  775. package/.next/server/chunks/[root-of-the-server]__1ry8uat._.js +0 -3
  776. package/.next/server/chunks/[root-of-the-server]__1s2rww3._.js +0 -3
  777. package/.next/server/chunks/[root-of-the-server]__1svvf40._.js +0 -3
  778. package/.next/server/chunks/[root-of-the-server]__1tk0-4v._.js +0 -3
  779. package/.next/server/chunks/[root-of-the-server]__1v-71me._.js +0 -3
  780. package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +0 -32
  781. package/.next/server/chunks/[root-of-the-server]__1x_ud_-._.js +0 -3
  782. package/.next/server/chunks/[root-of-the-server]__1yt_xxr._.js +0 -3
  783. package/.next/server/chunks/_0-eguqv._.js +0 -3
  784. package/.next/server/chunks/_008zx49._.js +0 -3
  785. package/.next/server/chunks/_011-ll5._.js +0 -3
  786. package/.next/server/chunks/_0389uce._.js +0 -3
  787. package/.next/server/chunks/_0431fxn._.js +0 -3
  788. package/.next/server/chunks/_0ekrwj-._.js +0 -36
  789. package/.next/server/chunks/_0gwg6ba._.js +0 -3
  790. package/.next/server/chunks/_0gxi3zr._.js +0 -3
  791. package/.next/server/chunks/_0lz3t4l._.js +0 -19
  792. package/.next/server/chunks/_0n36ev0._.js +0 -3
  793. package/.next/server/chunks/_0oc8oe4._.js +0 -3
  794. package/.next/server/chunks/_0rjzgi0._.js +0 -3
  795. package/.next/server/chunks/_0uxp3uh._.js +0 -3
  796. package/.next/server/chunks/_0x3ltk0._.js +0 -36
  797. package/.next/server/chunks/_10y361h._.js +0 -3
  798. package/.next/server/chunks/_12w5k19._.js +0 -3
  799. package/.next/server/chunks/_13ffmxv._.js +0 -3
  800. package/.next/server/chunks/_14tz_k9._.js +0 -3
  801. package/.next/server/chunks/_15neond._.js +0 -11
  802. package/.next/server/chunks/_16jdov0._.js +0 -3
  803. package/.next/server/chunks/_18amra5._.js +0 -3
  804. package/.next/server/chunks/_1_ns7o3._.js +0 -3
  805. package/.next/server/chunks/_1a1aqmi._.js +0 -3
  806. package/.next/server/chunks/_1a1udq0._.js +0 -3
  807. package/.next/server/chunks/_1b0269x._.js +0 -3
  808. package/.next/server/chunks/_1b7qjlv._.js +0 -3
  809. package/.next/server/chunks/_1be-y66._.js +0 -3
  810. package/.next/server/chunks/_1ex6ovo._.js +0 -3
  811. package/.next/server/chunks/_1fgb9ve._.js +0 -3
  812. package/.next/server/chunks/_1m-yyz-._.js +0 -3
  813. package/.next/server/chunks/_1n1xsqj._.js +0 -3
  814. package/.next/server/chunks/_1oj6gy_._.js +0 -3
  815. package/.next/server/chunks/_1pvqo-q._.js +0 -3
  816. package/.next/server/chunks/_1z_ujac._.js +0 -3
  817. package/.next/server/chunks/_211va-d._.js +0 -3
  818. package/.next/server/chunks/_2194yr7._.js +0 -11
  819. package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-.js +0 -3
  820. package/.next/server/chunks/_next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhx.js +0 -3
  821. package/.next/server/chunks/_next-internal_server_app_api_admin_system-reset_route_actions_15aselt.js +0 -3
  822. package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_detail_route_actions_0oe_wkt.js +0 -3
  823. package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4.js +0 -3
  824. package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1.js +0 -3
  825. package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-.js +0 -3
  826. package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8.js +0 -3
  827. package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17.js +0 -3
  828. package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +0 -3
  829. package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +0 -3
  830. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_delete_route_actions_1w26boq.js +0 -3
  831. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_figure_route_actions_0adlts0.js +0 -3
  832. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhx.js +0 -3
  833. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uv.js +0 -3
  834. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5yl.js +0 -3
  835. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7z.js +0 -3
  836. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2.js +0 -3
  837. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4n.js +0 -3
  838. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4ux.js +0 -3
  839. package/.next/server/chunks/_next-internal_server_app_api_error-items_batch-delete_route_actions_0hiq_1k.js +0 -3
  840. package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-.js +0 -3
  841. package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue.js +0 -3
  842. package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0p.js +0 -3
  843. package/.next/server/chunks/_next-internal_server_app_api_error-items_short_[shortId]_route_actions_02976v-.js +0 -3
  844. package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9.js +0 -3
  845. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4.js +0 -3
  846. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f.js +0 -3
  847. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq.js +0 -3
  848. package/.next/server/chunks/_next-internal_server_app_api_exams_route_actions_1c_zhtj.js +0 -3
  849. package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc.js +0 -3
  850. package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_c.js +0 -3
  851. package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkb.js +0 -3
  852. package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04x.js +0 -3
  853. package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxepty.js +0 -3
  854. package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t8.js +0 -3
  855. package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxg.js +0 -3
  856. package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r.js +0 -3
  857. package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oen.js +0 -3
  858. package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_.js +0 -3
  859. package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiom.js +0 -3
  860. package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__.js +0 -3
  861. package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_.js +0 -3
  862. package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c.js +0 -3
  863. package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sj.js +0 -3
  864. package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +0 -3
  865. package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0.js +0 -3
  866. package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-.js +0 -3
  867. package/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_1nb9ma2.js +0 -3
  868. package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc.js +0 -3
  869. package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyv.js +0 -3
  870. package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_123tq1_.js +0 -3
  871. package/.next/server/chunks/_next-internal_server_app_api_user_route_actions_1k-4clg.js +0 -3
  872. package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.js +0 -3
  873. package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +0 -3
  874. package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz0.js +0 -3
  875. package/.next/server/chunks/node_modules_next_1zdbrne._.js +0 -10
  876. package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +0 -22
  877. package/.next/server/chunks/src_0tzpy5j._.js +0 -3
  878. package/.next/server/chunks/src_lib_ai_prompts_ts_0z36zms._.js +0 -562
  879. package/.next/server/chunks/src_lib_date-time_ts_14chb27._.js +0 -3
  880. package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-._.js +0 -3
  881. package/.next/server/chunks/ssr/[externals]_fs_0pplqgc._.js +0 -3
  882. package/.next/server/chunks/ssr/[root-of-the-server]__00gewu3._.js +0 -35
  883. package/.next/server/chunks/ssr/[root-of-the-server]__03psbtz._.js +0 -3
  884. package/.next/server/chunks/ssr/[root-of-the-server]__05f8wbh._.js +0 -3
  885. package/.next/server/chunks/ssr/[root-of-the-server]__0a0nty7._.js +0 -3
  886. package/.next/server/chunks/ssr/[root-of-the-server]__0ax9dog._.js +0 -3
  887. package/.next/server/chunks/ssr/[root-of-the-server]__0bvtza7._.js +0 -33
  888. package/.next/server/chunks/ssr/[root-of-the-server]__0g_-bym._.js +0 -3
  889. package/.next/server/chunks/ssr/[root-of-the-server]__0gwwr7e._.js +0 -3
  890. package/.next/server/chunks/ssr/[root-of-the-server]__0hzktoi._.js +0 -3
  891. package/.next/server/chunks/ssr/[root-of-the-server]__0koj8h0._.js +0 -3
  892. package/.next/server/chunks/ssr/[root-of-the-server]__0s87xha._.js +0 -3
  893. package/.next/server/chunks/ssr/[root-of-the-server]__0skyo1a._.js +0 -3
  894. package/.next/server/chunks/ssr/[root-of-the-server]__0snpjfe._.js +0 -3
  895. package/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +0 -3
  896. package/.next/server/chunks/ssr/[root-of-the-server]__0ybs_4c._.js +0 -3
  897. package/.next/server/chunks/ssr/[root-of-the-server]__14l7peq._.js +0 -3
  898. package/.next/server/chunks/ssr/[root-of-the-server]__1507q8a._.js +0 -3
  899. package/.next/server/chunks/ssr/[root-of-the-server]__15ppb9j._.js +0 -3
  900. package/.next/server/chunks/ssr/[root-of-the-server]__191jn5n._.js +0 -3
  901. package/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +0 -33
  902. package/.next/server/chunks/ssr/[root-of-the-server]__1gth76-._.js +0 -3
  903. package/.next/server/chunks/ssr/[root-of-the-server]__1ko_dw5._.js +0 -3
  904. package/.next/server/chunks/ssr/[root-of-the-server]__1l84pks._.js +0 -3
  905. package/.next/server/chunks/ssr/[root-of-the-server]__1m7qw-2._.js +0 -3
  906. package/.next/server/chunks/ssr/[root-of-the-server]__1ma2oml._.js +0 -3
  907. package/.next/server/chunks/ssr/[root-of-the-server]__1o8jotz._.js +0 -3
  908. package/.next/server/chunks/ssr/[root-of-the-server]__1o__w27._.js +0 -3
  909. package/.next/server/chunks/ssr/[root-of-the-server]__1p7f0va._.js +0 -3
  910. package/.next/server/chunks/ssr/[root-of-the-server]__1sg9eoj._.js +0 -3
  911. package/.next/server/chunks/ssr/[root-of-the-server]__1u74hyi._.js +0 -3
  912. package/.next/server/chunks/ssr/[root-of-the-server]__1xsovpr._.js +0 -3
  913. package/.next/server/chunks/ssr/_054yhx9._.js +0 -3
  914. package/.next/server/chunks/ssr/_07ls0n_._.js +0 -3
  915. package/.next/server/chunks/ssr/_0i9hwpv._.js +0 -3
  916. package/.next/server/chunks/ssr/_0iqp5hs._.js +0 -3
  917. package/.next/server/chunks/ssr/_0m1-rq-._.js +0 -3
  918. package/.next/server/chunks/ssr/_0mgbe2b._.js +0 -3
  919. package/.next/server/chunks/ssr/_0nv22wt._.js +0 -3
  920. package/.next/server/chunks/ssr/_0rz2_qb._.js +0 -151
  921. package/.next/server/chunks/ssr/_0sbbx9z._.js +0 -7
  922. package/.next/server/chunks/ssr/_0sf1gd9._.js +0 -3
  923. package/.next/server/chunks/ssr/_0uemk57._.js +0 -3
  924. package/.next/server/chunks/ssr/_0zj7dlu._.js +0 -3
  925. package/.next/server/chunks/ssr/_11ut-6_._.js +0 -3
  926. package/.next/server/chunks/ssr/_17igtpd._.js +0 -3
  927. package/.next/server/chunks/ssr/_1aot_70._.js +0 -3
  928. package/.next/server/chunks/ssr/_1filpif._.js +0 -3
  929. package/.next/server/chunks/ssr/_1jniqsj._.js +0 -3
  930. package/.next/server/chunks/ssr/_1kgnhmo._.js +0 -8
  931. package/.next/server/chunks/ssr/_1lt1lhz._.js +0 -8
  932. package/.next/server/chunks/ssr/_1yeu09q._.js +0 -3
  933. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +0 -3
  934. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +0 -3
  935. package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickz.js +0 -3
  936. package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gs.js +0 -3
  937. package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9ak.js +0 -3
  938. package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_page_actions_1kushg5.js +0 -3
  939. package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxq.js +0 -3
  940. package/.next/server/chunks/ssr/_next-internal_server_app_exams_page_actions_0av69f-.js +0 -3
  941. package/.next/server/chunks/ssr/_next-internal_server_app_latex-test_page_actions_19v7ka0.js +0 -3
  942. package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0.js +0 -3
  943. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2.js +0 -3
  944. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7.js +0 -3
  945. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_page_actions_06x1kdz.js +0 -3
  946. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +0 -3
  947. package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n.js +0 -3
  948. package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaaln.js +0 -3
  949. package/.next/server/chunks/ssr/_next-internal_server_app_register_page_actions_1op-s-x.js +0 -3
  950. package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_a.js +0 -3
  951. package/.next/server/chunks/ssr/_next-internal_server_app_tags_page_actions_20v_n--.js +0 -3
  952. package/.next/server/chunks/ssr/node_modules_0o2aki7._.js +0 -3
  953. package/.next/server/chunks/ssr/node_modules_1y5ym6h._.js +0 -3
  954. package/.next/server/chunks/ssr/node_modules_next_1lnqo1a._.js +0 -5
  955. package/.next/server/chunks/ssr/node_modules_next_dist_077yo5w._.js +0 -3
  956. package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +0 -6
  957. package/.next/server/chunks/ssr/node_modules_next_dist_1_c-t1n._.js +0 -14
  958. package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +0 -3
  959. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +0 -33
  960. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +0 -3
  961. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +0 -3
  962. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +0 -3
  963. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +0 -3
  964. package/.next/server/chunks/ssr/src_1biegcg._.js +0 -3
  965. package/.next/server/chunks/ssr/src_1gayunq._.js +0 -3
  966. package/.next/server/chunks/ssr/src_1o363ao._.js +0 -3
  967. package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0._.js +0 -3
  968. package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +0 -3
  969. package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +0 -3
  970. package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5._.js +0 -3
  971. package/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +0 -3
  972. package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53._.js +0 -3
  973. package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4._.js +0 -3
  974. package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +0 -193
  975. package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctn._.js +0 -3
  976. package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u._.js +0 -3
  977. package/.next/server/edge/chunks/_1s0wgnu._.js +0 -3
  978. package/.next/server/edge/chunks/node_modules_0g4gi6f._.js +0 -13
  979. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1iafar9.js +0 -3
  980. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1x1n1fx.js +0 -3
  981. package/.next/static/chunks/03gmdewlo3s6u.js +0 -1
  982. package/.next/static/chunks/06q8lm6y95ac4.css +0 -1
  983. package/.next/static/chunks/0_w084ms_lq25.js +0 -22
  984. package/.next/static/chunks/0dzfsm6h13fyr.js +0 -1
  985. package/.next/static/chunks/0ehjiuuxbbhq9.js +0 -1
  986. package/.next/static/chunks/0ij2dqb0qj5ry.js +0 -1
  987. package/.next/static/chunks/0iq53qkw5hvrs.js +0 -1
  988. package/.next/static/chunks/0lxsaj3bivcgo.css +0 -1
  989. package/.next/static/chunks/0m81l71kojx8j.js +0 -1
  990. package/.next/static/chunks/0nckb2-62ooyq.js +0 -1
  991. package/.next/static/chunks/0pwdmc9gw8ben.js +0 -33
  992. package/.next/static/chunks/0snej-v5yglxr.js +0 -1
  993. package/.next/static/chunks/1-7k9gbbjkcml.js +0 -1
  994. package/.next/static/chunks/1c92up8k2x0z4.js +0 -1
  995. package/.next/static/chunks/1cd32rtomdngh.js +0 -1
  996. package/.next/static/chunks/1io3-cth_2-cd.js +0 -1
  997. package/.next/static/chunks/1oiuiyv1cv06v.js +0 -31
  998. package/.next/static/chunks/1t4-pobw0y5cf.js +0 -1
  999. package/.next/static/chunks/1xg811762s1p1.js +0 -1
  1000. package/.next/static/chunks/1z_5sj1wqi06v.js +0 -1
  1001. package/.next/static/chunks/24dymggis4suf.css +0 -3
  1002. package/.next/static/chunks/24jbwfpgmio7x.js +0 -1
  1003. package/.next/static/chunks/27fr34_1v7xyh.js +0 -1
  1004. package/.next/static/chunks/2dlme2fdlkms6.js +0 -1
  1005. package/.next/static/chunks/2eu_bls12m1wj.js +0 -1
  1006. package/.next/static/chunks/2pmzqbg-qabof.js +0 -1
  1007. package/.next/static/chunks/2w2uo9jjxt-re.js +0 -1
  1008. package/.next/static/chunks/2x8e_fbze06sd.js +0 -1
  1009. package/.next/static/chunks/2z1_5umv36es6.js +0 -191
  1010. package/.next/static/chunks/32bl-oqw9oso0.js +0 -1
  1011. package/.next/static/chunks/3b-g5_r9nto3s.js +0 -6
  1012. package/.next/static/chunks/3g1rm2suowncy.js +0 -3
  1013. package/.next/static/chunks/3helovsg02qr4.js +0 -1
  1014. package/.next/static/chunks/3jta6jrk-jubq.js +0 -1
  1015. package/.next/static/chunks/3m4c1r8_2ga_1.js +0 -1
  1016. package/.next/static/chunks/3whzkc6d8oefw.js +0 -1
  1017. package/.next/static/chunks/3yhf6xyypekz6.js +0 -1
  1018. package/.next/static/chunks/3z9gc_02gl8n9.js +0 -1
  1019. package/.next/static/chunks/427wg73nuzpiz.js +0 -5
  1020. package/.next/static/chunks/turbopack-1-0r7_puvz3eq.js +0 -1
  1021. /package/.next/server/app/{latex-test/page → api/practice/grade/route}/server-reference-manifest.json +0 -0
  1022. /package/.next/server/app/{latex-test/page.js.map → api/practice/grade/route.js.map} +0 -0
  1023. /package/.next/server/app/{latex-test → review}/page/react-loadable-manifest.json +0 -0
  1024. /package/.next/static/{Y0pwgmRdVAifh_zukihNt → ZH3ew12HOzoE3JRl8c_8L}/_buildManifest.js +0 -0
  1025. /package/.next/static/{Y0pwgmRdVAifh_zukihNt → ZH3ew12HOzoE3JRl8c_8L}/_clientMiddlewareManifest.js +0 -0
  1026. /package/.next/static/{Y0pwgmRdVAifh_zukihNt → ZH3ew12HOzoE3JRl8c_8L}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98591,e=>{"use strict";var t=e.i(18050),r=e.i(71645),n=e.i(18566),a=e.i(19455),o=e.i(93842),l=e.i(86963),i=e.i(7233),s=e.i(88699),c=e.i(22016),d=e.i(15288),u=e.i(87486),p=e.i(93479),f=e.i(57428),h=e.i(12505),m=e.i(75254);let g=(0,m.default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),x=(0,m.default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var v=e.i(64659),y=e.i(3281),j=e.i(63804);let w=(0,m.default)("git-compare-arrows",[["circle",{cx:"5",cy:"6",r:"3",key:"1qnov2"}],["path",{d:"M12 6h5a2 2 0 0 1 2 2v7",key:"1yj91y"}],["path",{d:"m15 9-3-3 3-3",key:"1lwv8l"}],["circle",{cx:"19",cy:"18",r:"3",key:"1qljk2"}],["path",{d:"M12 18H7a2 2 0 0 1-2-2V9",key:"16sdep"}],["path",{d:"m9 15 3 3-3 3",key:"1m3kbl"}]]),b=(0,m.default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var C=e.i(15519),k=e.i(30691),S=e.i(11110),N=e.i(81140),R=e.i(20783),E=e.i(30030),M=e.i(69340),D=e.i(74080),P=Symbol("radix.slottable");function T(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===P}var A=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{var a,o;let l,i,s,c=(o=a=`Primitive.${n}`,(l=r.forwardRef((e,t)=>{let{children:n,...a}=e;if(r.isValidElement(n)){var o;let e,l,i=(o=n,(l=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(l=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),s=function(e,t){let r={...t};for(let n in t){let a=e[n],o=t[n];/^on[A-Z]/.test(n)?a&&o?r[n]=(...e)=>{let t=o(...e);return a(...e),t}:a&&(r[n]=a):"style"===n?r[n]={...a,...o}:"className"===n&&(r[n]=[a,o].filter(Boolean).join(" "))}return{...e,...r}}(a,n.props);return n.type!==r.Fragment&&(s.ref=t?(0,R.composeRefs)(t,i):i),r.cloneElement(n,s)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${o}.SlotClone`,i=l,(s=r.forwardRef((e,n)=>{let{children:a,...o}=e,l=r.Children.toArray(a),s=l.find(T);if(s){let e=s.props.children,a=l.map(t=>t!==s?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,t.jsx)(i,{...o,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,a):null})}return(0,t.jsx)(i,{...o,ref:n,children:a})})).displayName=`${a}.Slot`,s),d=r.forwardRef((e,r)=>{let{asChild:a,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(a?c:n,{...o,ref:r})});return d.displayName=`Primitive.${n}`,{...e,[n]:d}},{}),I=e.i(75830),_=e.i(86318),L=e.i(26330),F=e.i(3536),B=e.i(65491),O=e.i(10772),$=e.i(53660),H=e.i(74606),z=e.i(96626);function q(e){var n;let a,o=(n=e,(a=r.forwardRef((e,t)=>{let{children:n,...a}=e;if(r.isValidElement(n)){var o;let e,l,i=(o=n,(l=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(l=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),s=function(e,t){let r={...t};for(let n in t){let a=e[n],o=t[n];/^on[A-Z]/.test(n)?a&&o?r[n]=(...e)=>{let t=o(...e);return a(...e),t}:a&&(r[n]=a):"style"===n?r[n]={...a,...o}:"className"===n&&(r[n]=[a,o].filter(Boolean).join(" "))}return{...e,...r}}(a,n.props);return n.type!==r.Fragment&&(s.ref=t?(0,R.composeRefs)(t,i):i),r.cloneElement(n,s)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${n}.SlotClone`,a),l=r.forwardRef((e,n)=>{let{children:a,...l}=e,i=r.Children.toArray(a),s=i.find(K);if(s){let e=s.props.children,a=i.map(t=>t!==s?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,t.jsx)(o,{...l,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,a):null})}return(0,t.jsx)(o,{...l,ref:n,children:a})});return l.displayName=`${e}.Slot`,l}var G=Symbol("radix.slottable");function K(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===G}var V=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{let a=q(`Primitive.${n}`),o=r.forwardRef((e,r)=>{let{asChild:o,...l}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(o?a:n,{...l,ref:r})});return o.displayName=`Primitive.${n}`,{...e,[n]:o}},{}),U=e.i(42727),W=e.i(30207),Z=e.i(86312),X=e.i(85369),Y=["Enter"," "],Q=["ArrowUp","PageDown","End"],J=["ArrowDown","PageUp","Home",...Q],ee={ltr:[...Y,"ArrowRight"],rtl:[...Y,"ArrowLeft"]},et={ltr:["ArrowLeft"],rtl:["ArrowRight"]},er="Menu",[en,ea,eo]=(0,I.createCollection)(er),[el,ei]=(0,E.createContextScope)(er,[eo,$.createPopperScope,U.createRovingFocusGroupScope]),es=(0,$.createPopperScope)(),ec=(0,U.createRovingFocusGroupScope)(),[ed,eu]=el(er),[ep,ef]=el(er),eh=e=>{let{__scopeMenu:n,open:a=!1,children:o,dir:l,onOpenChange:i,modal:s=!0}=e,c=es(n),[d,u]=r.useState(null),p=r.useRef(!1),f=(0,W.useCallbackRef)(i),h=(0,_.useDirection)(l);return r.useEffect(()=>{let e=()=>{p.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>p.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,t.jsx)($.Root,{...c,children:(0,t.jsx)(ed,{scope:n,open:a,onOpenChange:f,content:d,onContentChange:u,children:(0,t.jsx)(ep,{scope:n,onClose:r.useCallback(()=>f(!1),[f]),isUsingKeyboardRef:p,dir:h,modal:s,children:o})})})};eh.displayName=er;var em=r.forwardRef((e,r)=>{let{__scopeMenu:n,...a}=e,o=es(n);return(0,t.jsx)($.Anchor,{...o,...a,ref:r})});em.displayName="MenuAnchor";var eg="MenuPortal",[ex,ev]=el(eg,{forceMount:void 0}),ey=e=>{let{__scopeMenu:r,forceMount:n,children:a,container:o}=e,l=eu(eg,r);return(0,t.jsx)(ex,{scope:r,forceMount:n,children:(0,t.jsx)(z.Presence,{present:n||l.open,children:(0,t.jsx)(H.Portal,{asChild:!0,container:o,children:a})})})};ey.displayName=eg;var ej="MenuContent",[ew,eb]=el(ej),eC=r.forwardRef((e,r)=>{let n=ev(ej,e.__scopeMenu),{forceMount:a=n.forceMount,...o}=e,l=eu(ej,e.__scopeMenu),i=ef(ej,e.__scopeMenu);return(0,t.jsx)(en.Provider,{scope:e.__scopeMenu,children:(0,t.jsx)(z.Presence,{present:a||l.open,children:(0,t.jsx)(en.Slot,{scope:e.__scopeMenu,children:i.modal?(0,t.jsx)(ek,{...o,ref:r}):(0,t.jsx)(eS,{...o,ref:r})})})})}),ek=r.forwardRef((e,n)=>{let a=eu(ej,e.__scopeMenu),o=r.useRef(null),l=(0,R.useComposedRefs)(n,o);return r.useEffect(()=>{let e=o.current;if(e)return(0,Z.hideOthers)(e)},[]),(0,t.jsx)(eR,{...e,ref:l,trapFocus:a.open,disableOutsidePointerEvents:a.open,disableOutsideScroll:!0,onFocusOutside:(0,N.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>a.onOpenChange(!1)})}),eS=r.forwardRef((e,r)=>{let n=eu(ej,e.__scopeMenu);return(0,t.jsx)(eR,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),eN=q("MenuContent.ScrollLock"),eR=r.forwardRef((e,n)=>{let{__scopeMenu:a,loop:o=!1,trapFocus:l,onOpenAutoFocus:i,onCloseAutoFocus:s,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:f,onInteractOutside:h,onDismiss:m,disableOutsideScroll:g,...x}=e,v=eu(ej,a),y=ef(ej,a),j=es(a),w=ec(a),b=ea(a),[C,k]=r.useState(null),S=r.useRef(null),E=(0,R.useComposedRefs)(n,S,v.onContentChange),M=r.useRef(0),D=r.useRef(""),P=r.useRef(0),T=r.useRef(null),A=r.useRef("right"),I=r.useRef(0),_=g?X.RemoveScroll:r.Fragment;r.useEffect(()=>()=>window.clearTimeout(M.current),[]),(0,F.useFocusGuards)();let O=r.useCallback(e=>{var t,r;return A.current===T.current?.side&&(t=e,!!(r=T.current?.area)&&function(e,t){let{x:r,y:n}=e,a=!1;for(let e=0,o=t.length-1;e<t.length;o=e++){let l=t[e],i=t[o],s=l.x,c=l.y,d=i.x,u=i.y;c>n!=u>n&&r<(d-s)*(n-c)/(u-c)+s&&(a=!a)}return a}({x:t.clientX,y:t.clientY},r))},[]);return(0,t.jsx)(ew,{scope:a,searchRef:D,onItemEnter:r.useCallback(e=>{O(e)&&e.preventDefault()},[O]),onItemLeave:r.useCallback(e=>{O(e)||(S.current?.focus(),k(null))},[O]),onTriggerLeave:r.useCallback(e=>{O(e)&&e.preventDefault()},[O]),pointerGraceTimerRef:P,onPointerGraceIntentChange:r.useCallback(e=>{T.current=e},[]),children:(0,t.jsx)(_,{...g?{as:eN,allowPinchZoom:!0}:void 0,children:(0,t.jsx)(B.FocusScope,{asChild:!0,trapped:l,onMountAutoFocus:(0,N.composeEventHandlers)(i,e=>{e.preventDefault(),S.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:s,children:(0,t.jsx)(L.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:u,onPointerDownOutside:p,onFocusOutside:f,onInteractOutside:h,onDismiss:m,children:(0,t.jsx)(U.Root,{asChild:!0,...w,dir:y.dir,orientation:"vertical",loop:o,currentTabStopId:C,onCurrentTabStopIdChange:k,onEntryFocus:(0,N.composeEventHandlers)(d,e=>{y.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,t.jsx)($.Content,{role:"menu","aria-orientation":"vertical","data-state":eJ(v.open),"data-radix-menu-content":"",dir:y.dir,...j,...x,ref:E,style:{outline:"none",...x.style},onKeyDown:(0,N.composeEventHandlers)(x.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;if(t){var a;let t,o,l,i,s,c;"Tab"===e.key&&e.preventDefault(),!r&&n&&(a=e.key,t=D.current+a,o=b().filter(e=>!e.disabled),l=document.activeElement,i=o.find(e=>e.ref.current===l)?.textValue,s=function(e,t,r){var n;let a=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,o=r?e.indexOf(r):-1,l=(n=Math.max(o,0),e.map((t,r)=>e[(n+r)%e.length]));1===a.length&&(l=l.filter(e=>e!==r));let i=l.find(e=>e.toLowerCase().startsWith(a.toLowerCase()));return i!==r?i:void 0}(o.map(e=>e.textValue),t,i),c=o.find(e=>e.textValue===s)?.ref.current,function e(t){D.current=t,window.clearTimeout(M.current),""!==t&&(M.current=window.setTimeout(()=>e(""),1e3))}(t),c&&setTimeout(()=>c.focus()))}let o=S.current;if(e.target!==o||!J.includes(e.key))return;e.preventDefault();let l=b().filter(e=>!e.disabled).map(e=>e.ref.current);Q.includes(e.key)&&l.reverse(),function(e){let t=document.activeElement;for(let r of e)if(r===t||(r.focus(),document.activeElement!==t))return}(l)}),onBlur:(0,N.composeEventHandlers)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(M.current),D.current="")}),onPointerMove:(0,N.composeEventHandlers)(e.onPointerMove,e2(e=>{let t=e.target,r=I.current!==e.clientX;e.currentTarget.contains(t)&&r&&(A.current=e.clientX>I.current?"right":"left",I.current=e.clientX)}))})})})})})})});eC.displayName=ej;var eE=r.forwardRef((e,r)=>{let{__scopeMenu:n,...a}=e;return(0,t.jsx)(V.div,{role:"group",...a,ref:r})});eE.displayName="MenuGroup";var eM=r.forwardRef((e,r)=>{let{__scopeMenu:n,...a}=e;return(0,t.jsx)(V.div,{...a,ref:r})});eM.displayName="MenuLabel";var eD="MenuItem",eP="menu.itemSelect",eT=r.forwardRef((e,n)=>{let{disabled:a=!1,onSelect:o,...l}=e,i=r.useRef(null),s=ef(eD,e.__scopeMenu),c=eb(eD,e.__scopeMenu),d=(0,R.useComposedRefs)(n,i),u=r.useRef(!1);return(0,t.jsx)(eA,{...l,ref:d,disabled:a,onClick:(0,N.composeEventHandlers)(e.onClick,()=>{let e=i.current;if(!a&&e){let t=new CustomEvent(eP,{bubbles:!0,cancelable:!0});e.addEventListener(eP,e=>o?.(e),{once:!0}),e&&D.flushSync(()=>e.dispatchEvent(t)),t.defaultPrevented?u.current=!1:s.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),u.current=!0},onPointerUp:(0,N.composeEventHandlers)(e.onPointerUp,e=>{u.current||e.currentTarget?.click()}),onKeyDown:(0,N.composeEventHandlers)(e.onKeyDown,e=>{let t=""!==c.searchRef.current;a||t&&" "===e.key||Y.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});eT.displayName=eD;var eA=r.forwardRef((e,n)=>{let{__scopeMenu:a,disabled:o=!1,textValue:l,...i}=e,s=eb(eD,a),c=ec(a),d=r.useRef(null),u=(0,R.useComposedRefs)(n,d),[p,f]=r.useState(!1),[h,m]=r.useState("");return r.useEffect(()=>{let e=d.current;e&&m((e.textContent??"").trim())},[i.children]),(0,t.jsx)(en.ItemSlot,{scope:a,disabled:o,textValue:l??h,children:(0,t.jsx)(U.Item,{asChild:!0,...c,focusable:!o,children:(0,t.jsx)(V.div,{role:"menuitem","data-highlighted":p?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...i,ref:u,onPointerMove:(0,N.composeEventHandlers)(e.onPointerMove,e2(e=>{o?s.onItemLeave(e):(s.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,N.composeEventHandlers)(e.onPointerLeave,e2(e=>s.onItemLeave(e))),onFocus:(0,N.composeEventHandlers)(e.onFocus,()=>f(!0)),onBlur:(0,N.composeEventHandlers)(e.onBlur,()=>f(!1))})})})}),eI=r.forwardRef((e,r)=>{let{checked:n=!1,onCheckedChange:a,...o}=e;return(0,t.jsx)(ez,{scope:e.__scopeMenu,checked:n,children:(0,t.jsx)(eT,{role:"menuitemcheckbox","aria-checked":e0(n)?"mixed":n,...o,ref:r,"data-state":e1(n),onSelect:(0,N.composeEventHandlers)(o.onSelect,()=>a?.(!!e0(n)||!n),{checkForDefaultPrevented:!1})})})});eI.displayName="MenuCheckboxItem";var e_="MenuRadioGroup",[eL,eF]=el(e_,{value:void 0,onValueChange:()=>{}}),eB=r.forwardRef((e,r)=>{let{value:n,onValueChange:a,...o}=e,l=(0,W.useCallbackRef)(a);return(0,t.jsx)(eL,{scope:e.__scopeMenu,value:n,onValueChange:l,children:(0,t.jsx)(eE,{...o,ref:r})})});eB.displayName=e_;var eO="MenuRadioItem",e$=r.forwardRef((e,r)=>{let{value:n,...a}=e,o=eF(eO,e.__scopeMenu),l=n===o.value;return(0,t.jsx)(ez,{scope:e.__scopeMenu,checked:l,children:(0,t.jsx)(eT,{role:"menuitemradio","aria-checked":l,...a,ref:r,"data-state":e1(l),onSelect:(0,N.composeEventHandlers)(a.onSelect,()=>o.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});e$.displayName=eO;var eH="MenuItemIndicator",[ez,eq]=el(eH,{checked:!1}),eG=r.forwardRef((e,r)=>{let{__scopeMenu:n,forceMount:a,...o}=e,l=eq(eH,n);return(0,t.jsx)(z.Presence,{present:a||e0(l.checked)||!0===l.checked,children:(0,t.jsx)(V.span,{...o,ref:r,"data-state":e1(l.checked)})})});eG.displayName=eH;var eK=r.forwardRef((e,r)=>{let{__scopeMenu:n,...a}=e;return(0,t.jsx)(V.div,{role:"separator","aria-orientation":"horizontal",...a,ref:r})});eK.displayName="MenuSeparator";var eV=r.forwardRef((e,r)=>{let{__scopeMenu:n,...a}=e,o=es(n);return(0,t.jsx)($.Arrow,{...o,...a,ref:r})});eV.displayName="MenuArrow";var[eU,eW]=el("MenuSub"),eZ="MenuSubTrigger",eX=r.forwardRef((e,n)=>{let a=eu(eZ,e.__scopeMenu),o=ef(eZ,e.__scopeMenu),l=eW(eZ,e.__scopeMenu),i=eb(eZ,e.__scopeMenu),s=r.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=i,u={__scopeMenu:e.__scopeMenu},p=r.useCallback(()=>{s.current&&window.clearTimeout(s.current),s.current=null},[]);return r.useEffect(()=>p,[p]),r.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),d(null)}},[c,d]),(0,t.jsx)(em,{asChild:!0,...u,children:(0,t.jsx)(eA,{id:l.triggerId,"aria-haspopup":"menu","aria-expanded":a.open,"aria-controls":l.contentId,"data-state":eJ(a.open),...e,ref:(0,R.composeRefs)(n,l.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),a.open||a.onOpenChange(!0))},onPointerMove:(0,N.composeEventHandlers)(e.onPointerMove,e2(t=>{i.onItemEnter(t),!t.defaultPrevented&&(e.disabled||a.open||s.current||(i.onPointerGraceIntentChange(null),s.current=window.setTimeout(()=>{a.onOpenChange(!0),p()},100)))})),onPointerLeave:(0,N.composeEventHandlers)(e.onPointerLeave,e2(e=>{p();let t=a.content?.getBoundingClientRect();if(t){let r=a.content?.dataset.side,n="right"===r,o=t[n?"left":"right"],l=t[n?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+(n?-5:5),y:e.clientY},{x:o,y:t.top},{x:l,y:t.top},{x:l,y:t.bottom},{x:o,y:t.bottom}],side:r}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:(0,N.composeEventHandlers)(e.onKeyDown,t=>{let r=""!==i.searchRef.current;e.disabled||r&&" "===t.key||ee[o.dir].includes(t.key)&&(a.onOpenChange(!0),a.content?.focus(),t.preventDefault())})})})});eX.displayName=eZ;var eY="MenuSubContent",eQ=r.forwardRef((e,n)=>{let a=ev(ej,e.__scopeMenu),{forceMount:o=a.forceMount,...l}=e,i=eu(ej,e.__scopeMenu),s=ef(ej,e.__scopeMenu),c=eW(eY,e.__scopeMenu),d=r.useRef(null),u=(0,R.useComposedRefs)(n,d);return(0,t.jsx)(en.Provider,{scope:e.__scopeMenu,children:(0,t.jsx)(z.Presence,{present:o||i.open,children:(0,t.jsx)(en.Slot,{scope:e.__scopeMenu,children:(0,t.jsx)(eR,{id:c.contentId,"aria-labelledby":c.triggerId,...l,ref:u,align:"start",side:"rtl"===s.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{s.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,N.composeEventHandlers)(e.onFocusOutside,e=>{e.target!==c.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:(0,N.composeEventHandlers)(e.onEscapeKeyDown,e=>{s.onClose(),e.preventDefault()}),onKeyDown:(0,N.composeEventHandlers)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),r=et[s.dir].includes(e.key);t&&r&&(i.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});function eJ(e){return e?"open":"closed"}function e0(e){return"indeterminate"===e}function e1(e){return e0(e)?"indeterminate":e?"checked":"unchecked"}function e2(e){return t=>"mouse"===t.pointerType?e(t):void 0}eQ.displayName=eY;var e4="DropdownMenu",[e5,e3]=(0,E.createContextScope)(e4,[ei]),e6=ei(),[e8,e7]=e5(e4),e9=e=>{let{__scopeDropdownMenu:n,children:a,dir:o,open:l,defaultOpen:i,onOpenChange:s,modal:c=!0}=e,d=e6(n),u=r.useRef(null),[p,f]=(0,M.useControllableState)({prop:l,defaultProp:i??!1,onChange:s,caller:e4});return(0,t.jsx)(e8,{scope:n,triggerId:(0,O.useId)(),triggerRef:u,contentId:(0,O.useId)(),open:p,onOpenChange:f,onOpenToggle:r.useCallback(()=>f(e=>!e),[f]),modal:c,children:(0,t.jsx)(eh,{...d,open:p,onOpenChange:f,dir:o,modal:c,children:a})})};e9.displayName=e4;var te="DropdownMenuTrigger",tt=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,disabled:a=!1,...o}=e,l=e7(te,n),i=e6(n);return(0,t.jsx)(em,{asChild:!0,...i,children:(0,t.jsx)(A.button,{type:"button",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":l.open,"aria-controls":l.open?l.contentId:void 0,"data-state":l.open?"open":"closed","data-disabled":a?"":void 0,disabled:a,...o,ref:(0,R.composeRefs)(r,l.triggerRef),onPointerDown:(0,N.composeEventHandlers)(e.onPointerDown,e=>{!a&&0===e.button&&!1===e.ctrlKey&&(l.onOpenToggle(),l.open||e.preventDefault())}),onKeyDown:(0,N.composeEventHandlers)(e.onKeyDown,e=>{!a&&(["Enter"," "].includes(e.key)&&l.onOpenToggle(),"ArrowDown"===e.key&&l.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});tt.displayName=te;var tr=e=>{let{__scopeDropdownMenu:r,...n}=e,a=e6(r);return(0,t.jsx)(ey,{...a,...n})};tr.displayName="DropdownMenuPortal";var tn="DropdownMenuContent",ta=r.forwardRef((e,n)=>{let{__scopeDropdownMenu:a,...o}=e,l=e7(tn,a),i=e6(a),s=r.useRef(!1);return(0,t.jsx)(eC,{id:l.contentId,"aria-labelledby":l.triggerId,...i,...o,ref:n,onCloseAutoFocus:(0,N.composeEventHandlers)(e.onCloseAutoFocus,e=>{s.current||l.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:(0,N.composeEventHandlers)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;(!l.modal||n)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});ta.displayName=tn,r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eE,{...o,...a,ref:r})}).displayName="DropdownMenuGroup";var to=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eM,{...o,...a,ref:r})});to.displayName="DropdownMenuLabel";var tl=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eT,{...o,...a,ref:r})});tl.displayName="DropdownMenuItem";var ti=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eI,{...o,...a,ref:r})});ti.displayName="DropdownMenuCheckboxItem",r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eB,{...o,...a,ref:r})}).displayName="DropdownMenuRadioGroup";var ts=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(e$,{...o,...a,ref:r})});ts.displayName="DropdownMenuRadioItem";var tc=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eG,{...o,...a,ref:r})});tc.displayName="DropdownMenuItemIndicator";var td=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eK,{...o,...a,ref:r})});td.displayName="DropdownMenuSeparator",r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eV,{...o,...a,ref:r})}).displayName="DropdownMenuArrow";var tu=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eX,{...o,...a,ref:r})});tu.displayName="DropdownMenuSubTrigger";var tp=r.forwardRef((e,r)=>{let{__scopeDropdownMenu:n,...a}=e,o=e6(n);return(0,t.jsx)(eQ,{...o,...a,ref:r,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});tp.displayName="DropdownMenuSubContent";var tf=e.i(43531),th=e.i(63059);let tm=(0,m.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var tg=e.i(75157);r.forwardRef(({className:e,inset:r,children:n,...a},o)=>(0,t.jsxs)(tu,{ref:o,className:(0,tg.cn)("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent",r&&"pl-8",e),...a,children:[n,(0,t.jsx)(th.ChevronRight,{className:"ml-auto h-4 w-4"})]})).displayName=tu.displayName,r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(tp,{ref:n,className:(0,tg.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...r})).displayName=tp.displayName;let tx=r.forwardRef(({className:e,sideOffset:r=4,...n},a)=>(0,t.jsx)(tr,{children:(0,t.jsx)(ta,{ref:a,sideOffset:r,className:(0,tg.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));tx.displayName=ta.displayName;let tv=r.forwardRef(({className:e,inset:r,...n},a)=>(0,t.jsx)(tl,{ref:a,className:(0,tg.cn)("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",r&&"pl-8",e),...n}));tv.displayName=tl.displayName,r.forwardRef(({className:e,children:r,checked:n,...a},o)=>(0,t.jsxs)(ti,{ref:o,className:(0,tg.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),checked:n,...a,children:[(0,t.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(tc,{children:(0,t.jsx)(tf.Check,{className:"h-4 w-4"})})}),r]})).displayName=ti.displayName,r.forwardRef(({className:e,children:r,...n},a)=>(0,t.jsxs)(ts,{ref:a,className:(0,tg.cn)("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...n,children:[(0,t.jsx)("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(tc,{children:(0,t.jsx)(tm,{className:"h-2 w-2 fill-current"})})}),r]})).displayName=ts.displayName;let ty=r.forwardRef(({className:e,inset:r,...n},a)=>(0,t.jsx)(to,{ref:a,className:(0,tg.cn)("px-2 py-1.5 text-sm font-semibold",r&&"pl-8",e),...n}));ty.displayName=to.displayName;let tj=r.forwardRef(({className:e,...r},n)=>(0,t.jsx)(td,{ref:n,className:(0,tg.cn)("-mx-1 my-1 h-px bg-muted",e),...r}));tj.displayName=td.displayName;var tw=e.i(27612),tb=e.i(37727),tC=e.i(31278),tk=e.i(76639),tS=e.i(7364),tN=e.i(11445),tR=e.i(41931),tE=e.i(1276);function tM({ids:e}){let{t:n}=(0,S.useLanguage)(),[o,l]=(0,r.useState)(!1),[i,s]=(0,r.useState)(null),[d,u]=(0,r.useState)(!1),[p,f]=(0,r.useState)(null),[h,m]=(0,r.useState)(0),[g,x]=e,v=()=>{u(!0),s(null),f(null),m(e=>e+1)};return(0,r.useEffect)(()=>{if(!o||!g||!x)return;let e=!0;return tR.apiClient.post("/api/error-items/similarity",{ids:[g,x]}).then(t=>{e&&s(t)}).catch(t=>{e&&(f("Question text is required for similarity comparison"===t?.data?.message?n.questionSimilarity.missingText:n.questionSimilarity.failed),tE.frontendLogger.error("[Similarity]","相似度比较失败",{error:t instanceof Error?t.message:String(t)}))}).finally(()=>{e&&u(!1)}),()=>{e=!1}},[o,g,x,h,n.questionSimilarity.failed,n.questionSimilarity.missingText]),(0,t.jsxs)(tk.Dialog,{open:o,onOpenChange:e=>{l(e),e&&v()},children:[(0,t.jsx)(tk.DialogTrigger,{asChild:!0,children:(0,t.jsxs)(a.Button,{variant:"outline",disabled:2!==e.length,title:n.questionSimilarity.selectTwo,children:[(0,t.jsx)(w,{className:"mr-2 h-4 w-4"}),n.questionSimilarity.title]})}),(0,t.jsxs)(tk.DialogContent,{className:"w-[calc(100vw-2rem)] sm:max-w-3xl max-h-[85vh] overflow-y-auto",children:[(0,t.jsxs)(tk.DialogHeader,{children:[(0,t.jsx)(tk.DialogTitle,{children:n.questionSimilarity.title}),(0,t.jsx)(tk.DialogDescription,{children:n.questionSimilarity.description})]}),d&&(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",role:"status",children:[(0,t.jsx)(tC.Loader2,{className:"h-4 w-4 animate-spin"}),n.common.loading]}),p&&(0,t.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:p}),p&&(0,t.jsx)(a.Button,{variant:"outline",onClick:v,children:n.questionSimilarity.retry}),i&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"space-y-2 rounded-lg bg-muted p-4",role:"status",children:[(0,t.jsx)("p",{className:"text-sm",children:n.questionSimilarity.score}),(0,t.jsxs)("p",{className:"text-3xl font-bold tabular-nums",children:[Number((100*i.similarity).toFixed(4)),"%"]}),(0,t.jsx)("p",{className:"text-sm",children:n.questionSimilarity.threshold.replace("{threshold}",String(i.threshold))}),(0,t.jsx)("p",{className:"text-sm font-medium",children:i.duplicate?n.questionSimilarity.duplicate:n.questionSimilarity.different})]}),(0,t.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:i.items.map((e,r)=>(0,t.jsxs)("div",{className:"min-w-0 space-y-2 rounded-lg border p-3",children:[(0,t.jsxs)(c.default,{href:`/error-items/${e.id}`,className:"text-sm font-medium text-primary hover:underline",children:[n.questionSimilarity.question.replace("{index}",String(r+1))," · ",e.shortId||"-"]}),e.notebookName&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:e.notebookName}),(0,t.jsx)("div",{className:"max-h-56 overflow-auto text-sm",children:(0,t.jsx)(tN.MarkdownRenderer,{content:e.questionText})})]},e.id))})]}),(0,t.jsx)(tS.DuplicateThresholdSetting,{onSaved:v})]})]})}function tD({selectedIds:e,deleting:r,onCancel:n,onDelete:o}){let{t:l}=(0,S.useLanguage)();return(0,t.jsx)("div",{className:"pb-safe fixed bottom-0 left-0 right-0 z-50 border-t bg-card/95 p-4 shadow-lg backdrop-blur",children:(0,t.jsxs)("div",{className:"mx-auto flex max-w-6xl flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,t.jsxs)("div",{className:"space-y-1 text-sm text-muted-foreground",children:[(0,t.jsx)("p",{children:l.notebook.selectedCount.replace("{count}",String(e.length))}),(0,t.jsx)("p",{className:"text-xs",children:l.questionSimilarity.selectTwo})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(tM,{ids:e}),(0,t.jsxs)(a.Button,{variant:"outline",onClick:n,children:[(0,t.jsx)(tb.X,{className:"mr-2 h-4 w-4"}),l.notebook.cancelSelect]}),(0,t.jsxs)(a.Button,{variant:"destructive",onClick:o,disabled:0===e.length||r,children:[(0,t.jsx)(tw.Trash2,{className:"mr-2 h-4 w-4"}),l.notebook.deleteSelected]})]})]})})}var tP=e.i(69937),tT=e.i(67489),tA=e.i(52122);let tI={1:["一年级"],2:["二年级"],3:["三年级"],4:["四年级"],5:["五年级"],6:["六年级"],7:["七年级上","七年级下","七年级"],8:["八年级上","八年级下","八年级"],9:["九年级上","九年级下","九年级"],10:["高一上","高一下","高一"],11:["高二上","高二下","高二"],12:["高三上","高三下","高三"]};function t_({gradeSemester:e,tag:n,subjectName:a,onFilterChange:o,className:l}){let{t:i}=(0,S.useLanguage)(),{timeZone:s}=(0,C.useTimeZone)(),[c,d]=(0,r.useState)(e||""),[u,p]=(0,r.useState)(""),[f,h]=(0,r.useState)(n||""),[m,g]=(0,r.useState)([]),[x,v]=(0,r.useState)(!0),[y,j]=(0,r.useState)({}),[w,b]=(0,r.useState)([]);(0,r.useEffect)(()=>{void 0!==e&&d(e)},[e]),(0,r.useEffect)(()=>{void 0!==n&&h(n||"")},[n]);let N=(0,r.useCallback)((e,t)=>{let r=(0,k.getCalendarDate)(new Date,s),n=r.getFullYear(),a=(r.getMonth()+1>=9?n:n-1)-t+1;return"primary"===e?a:"junior_high"===e?a+6:"senior_high"===e?a+9:0},[s]),R=(0,r.useCallback)((e,t)=>{let r=[];return e?"primary"===e?r=[1,2,3,4,5,6]:"junior_high"===e?(r=[7,8,9],t&&N(e,t)>=10&&r.push(10,11,12)):r="senior_high"===e?[10,11,12]:[1,2,3,4,5,6,7,8,9,10,11,12]:r=[1,2,3,4,5,6,7,8,9,10,11,12],r.flatMap(e=>tI[e]||[])},[N]);(0,r.useEffect)(()=>{(async()=>{v(!0);try{let e=await tR.apiClient.get("/api/user");j(e);let t=R(e.educationStage,e.enrollmentYear);b(t);let r=a?(0,tA.inferSubjectFromName)(a):"math";try{let e=await tR.apiClient.get(`/api/tags?subject=${r}`);g(e.tags)}catch(e){console.warn(`Failed to fetch tags for subject ${r}`,e),g([])}}catch(e){console.error("Failed to load filter data:",e)}finally{v(!1)}})()},[a,R]);let E=m.find(e=>e.name===c),M=E?.children||[],D=M.find(e=>e.name===u),P=e=>0===e.children.length?[e.name]:e.children.flatMap(e=>P(e)),T=D?[...new Set(P(D))]:[],A=w.filter(e=>m.some(t=>t.name===e));return(0,t.jsxs)("div",{className:`flex gap-2 ${l}`,children:[(0,t.jsxs)(tT.Select,{value:c,onValueChange:e=>{d(e),p(""),h(""),o({gradeSemester:"all"===e?void 0:e,chapter:void 0,tag:void 0})},disabled:x,children:[(0,t.jsx)(tT.SelectTrigger,{className:"w-[140px]",children:(0,t.jsx)(tT.SelectValue,{placeholder:i.filter?.gradeShort||"Grade"})}),(0,t.jsxs)(tT.SelectContent,{children:[(0,t.jsx)(tT.SelectItem,{value:"all",children:i.filter?.allGrades||"All grades"}),A.map(e=>(0,t.jsx)(tT.SelectItem,{value:e,children:e},e))]})]}),(0,t.jsxs)(tT.Select,{value:u,onValueChange:e=>{p(e),h(""),o({gradeSemester:"all"===c?void 0:c,chapter:"all"===e?void 0:e,tag:void 0})},disabled:!c||"all"===c,children:[(0,t.jsx)(tT.SelectTrigger,{className:"w-[180px]",children:(0,t.jsx)(tT.SelectValue,{placeholder:i.filter?.chapter||"Chapter"})}),(0,t.jsxs)(tT.SelectContent,{children:[(0,t.jsx)(tT.SelectItem,{value:"all",children:i.filter?.allChapters||"All chapters"}),M.map(e=>(0,t.jsx)(tT.SelectItem,{value:e.name,children:e.name.replace(/^第\d+章\s*/,"")},e.id))]})]}),(0,t.jsxs)(tT.Select,{value:f,onValueChange:e=>{h(e),o({gradeSemester:"all"===c?void 0:c,chapter:"all"===u?void 0:u,tag:"all"===e?void 0:e})},disabled:!u||"all"===u,children:[(0,t.jsx)(tT.SelectTrigger,{className:"w-[140px]",children:(0,t.jsx)(tT.SelectValue,{placeholder:i.filter?.knowledgePoint||"Tag"})}),(0,t.jsxs)(tT.SelectContent,{children:[(0,t.jsx)(tT.SelectItem,{value:"all",children:i.filter?.allKnowledgePoints||"All tags"}),T.map(e=>(0,t.jsx)(tT.SelectItem,{value:e,children:e},e))]})]})]})}var tL=e.i(46968),tF=e.i(13059);let tB={}.hasOwnProperty,tO={}.hasOwnProperty;var t$=e.i(83664),tH=e.i(32066),tz=e.i(86281);let tq=[function(e,t,r,n){if("code"===t.type&&(0,tH.formatCodeAsIndented)(t,n)&&("list"===e.type||e.type===t.type&&(0,tH.formatCodeAsIndented)(e,n)))return!1;if("spread"in r&&"boolean"==typeof r.spread){if("paragraph"===e.type&&(e.type===t.type||"definition"===t.type||"heading"===t.type&&(0,tz.formatHeadingAsSetext)(t,n)))return;return+!!r.spread}}],tG=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"],tK=[{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"\r",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:"\n",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde","codeFencedMetaGraveAccent","codeFencedMetaTilde","destinationLiteral","headingAtx"]},{character:" ",after:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",before:"[\\r\\n]",inConstruct:"phrasing"},{character:" ",inConstruct:["codeFencedLangGraveAccent","codeFencedLangTilde"]},{character:"!",after:"\\[",inConstruct:"phrasing",notInConstruct:tG},{character:'"',inConstruct:"titleQuote"},{atBreak:!0,character:"#"},{character:"#",inConstruct:"headingAtx",after:"(?:[\r\n]|$)"},{character:"&",after:"[#A-Za-z]",inConstruct:"phrasing"},{character:"'",inConstruct:"titleApostrophe"},{character:"(",inConstruct:"destinationRaw"},{before:"\\]",character:"(",inConstruct:"phrasing",notInConstruct:tG},{atBreak:!0,before:"\\d+",character:")"},{character:")",inConstruct:"destinationRaw"},{atBreak:!0,character:"*",after:"(?:[ \r\n*])"},{character:"*",inConstruct:"phrasing",notInConstruct:tG},{atBreak:!0,character:"+",after:"(?:[ \r\n])"},{atBreak:!0,character:"-",after:"(?:[ \r\n-])"},{atBreak:!0,before:"\\d+",character:".",after:"(?:[ \r\n]|$)"},{atBreak:!0,character:"<",after:"[!/?A-Za-z]"},{character:"<",after:"[!/?A-Za-z]",inConstruct:"phrasing",notInConstruct:tG},{character:"<",inConstruct:"destinationLiteral"},{atBreak:!0,character:"="},{atBreak:!0,character:">"},{character:">",inConstruct:"destinationLiteral"},{atBreak:!0,character:"["},{character:"[",inConstruct:"phrasing",notInConstruct:tG},{character:"[",inConstruct:["label","reference"]},{character:"\\",after:"[\\r\\n]",inConstruct:"phrasing"},{character:"]",inConstruct:["label","reference"]},{atBreak:!0,character:"_"},{character:"_",inConstruct:"phrasing",notInConstruct:tG},{atBreak:!0,character:"`"},{character:"`",inConstruct:["codeFencedLangGraveAccent","codeFencedMetaGraveAccent"]},{character:"`",inConstruct:"phrasing",notInConstruct:tG},{atBreak:!0,character:"~"}];var tV=e.i(35198);function tU(e){return e.label||!e.identifier?e.label||"":(0,tV.decodeString)(e.identifier)}function tW(e){if(!e._compiled){let t=(e.atBreak?"[\\r\\n][\\t ]*":"")+(e.before?"(?:"+e.before+")":"");e._compiled=RegExp((t?"("+t+")":"")+(/[|\\{}()[\]^$+*?.-]/.test(e.character)?"\\":"")+e.character+(e.after?"(?:"+e.after+")":""),"g")}return e._compiled}var tZ=e.i(77049);let tX=/\r?\n|\r/g;function tY(e,t){let r,n=[],a=0,o=0;for(;r=tX.exec(e);)l(e.slice(a,r.index)),n.push(r[0]),a=r.index+r[0].length,o++;return l(e.slice(a)),n.join("");function l(e){n.push(t(e,o,!e))}}var tQ=e.i(54751);function tJ(e,t){return e-t}function t0(e,t){let r,n=/\\(?=[!-/:-@[-`{-~])/g,a=[],o=[],l=e+t,i=-1,s=0;for(;r=n.exec(l);)a.push(r.index);for(;++i<a.length;)s!==a[i]&&o.push(e.slice(s,a[i])),o.push("\\"),s=a[i];return o.push(e.slice(s)),o.join("")}function t1(e){let t=e||{},r=t.now||{},n=t.lineShift||0,a=r.line||1,o=r.column||1;return{move:function(e){let t=e||"",r=t.split(/\r?\n|\r/g),l=r[r.length-1];return a+=r.length-1,o=1===r.length?o+l.length:1+l.length+n,t},current:function(){return{now:{line:a,column:o},lineShift:n}},shift:function(e){n+=e}}}function t2(e){throw Error("Cannot handle value `"+e+"`, expected node")}function t4(e){throw Error("Cannot handle unknown node `"+e.type+"`")}function t5(e,t){if("definition"===e.type&&e.type===t.type)return 0}function t3(e,t){return function(e,t,r){let n,a=t.indexStack,o=e.children||[],l=[],i=-1,s=r.before;a.push(-1);let c=t.createTracker(r);for(;++i<o.length;){let d,u=o[i];if(a[a.length-1]=i,i+1<o.length){let r=t.handle.handlers[o[i+1].type];r&&r.peek&&(r=r.peek),d=r?r(o[i+1],e,t,{before:"",after:"",...c.current()}).charAt(0):""}else d=r.after;l.length>0&&("\r"===s||"\n"===s)&&"html"===u.type&&(l[l.length-1]=l[l.length-1].replace(/(\r?\n|\r)$/," "),s=" ",(c=t.createTracker(r)).move(l.join("")));let p=t.handle(u,e,t,{...c.current(),after:d,before:s});n&&n===p.slice(0,1)&&(p=(0,tZ.encodeCharacterReference)(n.charCodeAt(0))+p.slice(1));let f=t.attentionEncodeSurroundingInfo;t.attentionEncodeSurroundingInfo=void 0,n=void 0,f&&(l.length>0&&f.before&&s===l[l.length-1].slice(-1)&&(l[l.length-1]=l[l.length-1].slice(0,-1)+(0,tZ.encodeCharacterReference)(s.charCodeAt(0))),f.after&&(n=d)),c.move(p),l.push(p),s=p.slice(-1)}return a.pop(),l.join("")}(e,this,t)}function t6(e,t){return function(e,t,r){let n=t.indexStack,a=e.children||[],o=t.createTracker(r),l=[],i=-1;for(n.push(-1);++i<a.length;){let r=a[i];n[n.length-1]=i,l.push(o.move(t.handle(r,e,t,{before:"\n",after:"\n",...o.current()}))),"list"!==r.type&&(t.bulletLastUsed=void 0),i<a.length-1&&l.push(o.move(function(e,t,r,n){let a=n.join.length;for(;a--;){let o=n.join[a](e,t,r,n);if(!0===o||1===o)break;if("number"==typeof o)return"\n".repeat(1+o);if(!1===o)return"\n\n<!---->\n\n"}return"\n\n"}(r,a[i+1],e,t)))}return n.pop(),l.join("")}(e,this,t)}function t8(e,t){return function(e,t,r){let n=(r.before||"")+(t||"")+(r.after||""),a=[],o=[],l={},i=-1;for(;++i<e.unsafe.length;){let t,r=e.unsafe[i];if(!(0,tQ.patternInScope)(e.stack,r))continue;let o=e.compilePattern(r);for(;t=o.exec(n);){let e="before"in r||!!r.atBreak,n="after"in r,o=t.index+(e?t[1].length:0);a.includes(o)?(l[o].before&&!e&&(l[o].before=!1),l[o].after&&!n&&(l[o].after=!1)):(a.push(o),l[o]={before:e,after:n})}}a.sort(tJ);let s=r.before?r.before.length:0,c=n.length-(r.after?r.after.length:0);for(i=-1;++i<a.length;){let e=a[i];!(e<s)&&!(e>=c)&&(!(e+1<c)||a[i+1]!==e+1||!l[e].after||l[e+1].before||l[e+1].after)&&(a[i-1]!==e-1||!l[e].before||l[e-1].before||l[e-1].after)&&(s!==e&&o.push(t0(n.slice(s,e),"\\")),s=e,!/[!-/:-@[-`{-~]/.test(n.charAt(e))||r.encode&&r.encode.includes(n.charAt(e))?(o.push((0,tZ.encodeCharacterReference)(n.charCodeAt(e))),s++):o.push("\\"))}return o.push(t0(n.slice(s,c),r.after)),o.join("")}(this,e,t)}let t7=(0,e.i(75765).unified)().use(tF.default).use(function(e){let t=this;t.compiler=function(r){var n;let a,o;return n={...t.data("settings"),...e,extensions:t.data("toMarkdownExtensions")||[]},!function e(t,r){var n,a,o,l;let i,s=-1;if(r.extensions)for(;++s<r.extensions.length;)e(t,r.extensions[s]);for(i in r)if(tO.call(r,i))switch(i){case"extensions":break;case"unsafe":case"join":n=t[i],(a=r[i])&&n.push(...a);break;case"handlers":o=t[i],(l=r[i])&&Object.assign(o,l);break;default:t.options[i]=r[i]}return t}(a={associationId:tU,containerPhrasing:t3,containerFlow:t6,createTracker:t1,compilePattern:tW,enter:function(e){return a.stack.push(e),function(){a.stack.pop()}},handlers:{...t$.handle},handle:void 0,indentLines:tY,indexStack:[],join:[...tq],options:{},safe:t8,stack:[],unsafe:[...tK]},n||{}),a.options.tightDefinitions&&a.join.push(t5),a.handle=function(e,t){let r=t||{};function n(t,...r){let a=n.invalid,o=n.handlers;if(t&&tB.call(t,e)){let r=String(t[e]);a=tB.call(o,r)?o[r]:n.unknown}if(a)return a.call(this,t,...r)}return n.handlers=r.handlers||{},n.invalid=r.invalid,n.unknown=r.unknown,n}("type",{invalid:t2,unknown:t4,handlers:a.handlers}),(o=a.handle(r,void 0,a,{before:"\n",after:"\n",now:{line:1,column:1},lineShift:0}))&&10!==o.charCodeAt(o.length-1)&&13!==o.charCodeAt(o.length-1)&&(o+="\n"),o}}).freeze(),t9={blockquote:ro,break:function(){return{type:"text",value:"\n"}},code:rl,definition:rl,delete:ro,emphasis:ro,footnoteReference:rl,footnoteDefinition:rl,heading:function(e){return{type:"paragraph",children:e.children}},html:rl,image:rn,imageReference:rn,inlineCode:ra,list:ro,listItem:ro,link:ro,linkReference:ro,strong:ro,table:rl,tableCell:rl,text:ra,thematicBreak:rl,toml:rl,yaml:rl},re={},rt=[];function rr(e){let t={...t9},r=e||re,n=r.keep||rt,a=r.remove||rt,o=-1;for(;++o<a.length;){let e=a[o];"string"==typeof e?t[e]=rl:t[e[0]]=e[1]}let l={};if(0===n.length)l=t;else{let e;for(e in t)n.includes(e)||(l[e]=t[e]);for(o=-1;++o<n.length;)if(!Object.hasOwn(t,e=n[o]))throw Error("Unknown node type `"+e+"` in `keep`, use a replace tuple with a handle instead: `remove: [['"+e+"', handle]]`")}return function(e){return i(e)};function i(e){let t=e.type,r=e;if(Object.hasOwn(l,t)){let e=l[t];e&&(r=e(r)||void 0)}return(r=Array.isArray(r)?s(r):r)&&"children"in r&&(r.children=s(r.children)),r}function s(e){let t=-1,r=[];for(;++t<e.length;){let n=i(e[t]);Array.isArray(n)?r.push(...s(n)):n&&r.push(n)}var n=r;let a,o=-1,l=[];for(;++o<n.length;){let e=n[o];a&&e.type===a.type&&"value"in e&&"value"in a?a.value+=e.value:(l.push(e),a=e)}return l}}function rn(e){let t="title"in e?e.title:"",r=e.alt||t||"";return r?{type:"text",value:r}:void 0}function ra(e){return{type:"text",value:e.value}}function ro(e){return e.children}function rl(){}let ri=(0,m.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),rs=(0,m.default)("chevrons-left",[["path",{d:"m11 17-5-5 5-5",key:"13zhaf"}],["path",{d:"m18 17-5-5 5-5",key:"h8a8et"}]]),rc=(0,m.default)("chevrons-right",[["path",{d:"m6 17 5-5-5-5",key:"xnjwq"}],["path",{d:"m13 17 5-5-5-5",key:"17xmmf"}]]);var rd=e.i(69817);function ru({page:e,totalPages:r,onPageChange:n,total:o,pageSize:l}){let{t:i}=(0,S.useLanguage)();if(r<=1)return null;let s=e>1,c=e<r,d=(()=>{let t=[];if(r<=rd.MAX_VISIBLE_PAGES)for(let e=1;e<=r;e++)t.push(e);else{t.push(1),e>3&&t.push("ellipsis");let n=Math.max(2,e-1),a=Math.min(r-1,e+1);for(let e=n;e<=a;e++)t.push(e);e<r-2&&t.push("ellipsis"),t.push(r)}return t})();return(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row items-center justify-between gap-4 py-4",children:[void 0!==o&&void 0!==l&&(0,t.jsx)("div",{className:"text-sm text-muted-foreground order-2 sm:order-1",children:(i.pagination?.showing||"Showing {start}-{end} of {total}").replace("{start}",((e-1)*l+1).toString()).replace("{end}",Math.min(e*l,o).toString()).replace("{total}",o.toString())}),(0,t.jsxs)("div",{className:"flex items-center gap-1 order-1 sm:order-2",children:[(0,t.jsx)(a.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>n(1),disabled:!s,title:i.pagination?.first||"First page",children:(0,t.jsx)(rs,{className:"h-4 w-4"})}),(0,t.jsx)(a.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>n(e-1),disabled:!s,title:i.pagination?.prev||"Previous page",children:(0,t.jsx)(ri,{className:"h-4 w-4"})}),(0,t.jsx)("div",{className:"hidden sm:flex items-center gap-1",children:d.map((r,o)=>"ellipsis"===r?(0,t.jsx)("span",{className:"px-2 text-muted-foreground",children:"..."},`ellipsis-${o}`):(0,t.jsx)(a.Button,{variant:r===e?"default":"outline",size:"icon",className:"h-8 w-8",onClick:()=>n(r),children:r},r))}),(0,t.jsxs)("span",{className:"sm:hidden text-sm px-2",children:[e," / ",r]}),(0,t.jsx)(a.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>n(e+1),disabled:!c,title:i.pagination?.next||"Next page",children:(0,t.jsx)(th.ChevronRight,{className:"h-4 w-4"})}),(0,t.jsx)(a.Button,{variant:"outline",size:"icon",className:"h-8 w-8",onClick:()=>n(r),disabled:!c,title:i.pagination?.last||"Last page",children:(0,t.jsx)(rc,{className:"h-4 w-4"})})]})]})}var rp=e.i(62825),rf=e.i(47279),rh=e.i(33547),rm=e.i(94114);function rg({subjectId:e,subjectName:o}={}){let{timeZone:l}=(0,C.useTimeZone)(),[i,s]=(0,r.useState)([]),[m,N]=(0,r.useState)(!0),[R,E]=(0,r.useState)(""),[M,D]=(0,r.useState)("all"),[P,T]=(0,r.useState)("all"),[A,I]=(0,r.useState)(""),[_,L]=(0,r.useState)(""),[F,B]=(0,r.useState)("all"),[O,$]=(0,r.useState)(null),[H,z]=(0,r.useState)(new Set),[q,G]=(0,r.useState)(1),[K]=(0,r.useState)(rd.DEFAULT_PAGE_SIZE),[V,U]=(0,r.useState)(0),[W,Z]=(0,r.useState)(0),[X,Y]=(0,r.useState)(!1),[Q,J]=(0,r.useState)(new Set),[ee,et]=(0,r.useState)(!1),{t:er,language:en}=(0,S.useLanguage)(),ea=(0,n.useRouter)(),eo=()=>{Y(!X),J(new Set)},el=async()=>{if(0===Q.size)return;let e=(er.notebook?.confirmBatchDelete||"Delete {count} items?").replace("{count}",Q.size.toString());if(await (0,rm.confirmDialog)(e,{destructive:!0})){et(!0);try{await tR.apiClient.post("/api/error-items/batch-delete",{ids:Array.from(Q)}),rm.toast.success(er.notebook?.batchDeleteSuccess||"Deleted successfully"),Y(!1),J(new Set),es()}catch(e){console.error(e),rm.toast.error(er.common?.messages?.deleteFailed||"Delete failed")}finally{et(!1)}}},ei=(0,r.useRef)({search:R,masteryFilter:M,timeFilter:P,selectedTag:O,subjectId:e,gradeFilter:A,chapterFilter:_,paperLevelFilter:F});(0,r.useEffect)(()=>{let t=ei.current,r=t.search!==R||t.masteryFilter!==M||t.timeFilter!==P||t.selectedTag!==O||t.subjectId!==e||t.gradeFilter!==A||t.chapterFilter!==_||t.paperLevelFilter!==F;(ei.current={search:R,masteryFilter:M,timeFilter:P,selectedTag:O,subjectId:e,gradeFilter:A,chapterFilter:_,paperLevelFilter:F},r&&1!==q)?G(1):es()},[q,R,M,P,O,e,A,_,F]);let es=async()=>{N(!0);try{let t=new URLSearchParams;e&&t.append("subjectId",e),R&&t.append("query",R),"all"!==M&&t.append("mastery",M),"all"!==P&&t.append("timeRange",P),O&&t.append("tag",O),A&&t.append("gradeSemester",A),_&&t.append("chapter",_),"all"!==F&&t.append("paperLevel",F),t.append("page",q.toString()),t.append("pageSize",K.toString());let r=await tR.apiClient.get(`/api/error-items/list?${t.toString()}`);s(r.items),U(r.total),Z(r.totalPages)}catch(e){console.error(e)}finally{N(!1)}};return(0,t.jsxs)("div",{className:`space-y-6 ${X?"pb-40 sm:pb-24":""}`,children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row",children:[(0,t.jsxs)("div",{className:"relative w-full lg:flex-1",children:[(0,t.jsx)(g,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),(0,t.jsx)(p.Input,{placeholder:er.notebook.search,title:er.shortId.searchHint,className:"h-10 rounded-xl bg-card pl-9",value:R,onChange:e=>E(e.target.value),onKeyDown:async e=>{let t=R.trim();if("Enter"!==e.key||!(0,rf.isShortId)(t))return;let r=await (0,rh.locateByShortId)(t);r&&ea.push(`/error-items/${r}`)}})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsxs)(e9,{children:[(0,t.jsx)(tt,{asChild:!0,children:(0,t.jsxs)(a.Button,{variant:"outline",size:"sm",className:"h-10",children:[(0,t.jsx)(x,{className:"mr-2 h-4 w-4"}),er.notebook.filter,(0,t.jsx)(v.ChevronDown,{className:"ml-2 h-4 w-4"})]})}),(0,t.jsxs)(tx,{align:"end",className:"w-48",children:[(0,t.jsx)(ty,{children:er.filter.masteryStatus||"Mastery Status"}),(0,t.jsxs)(tv,{onClick:()=>D("all"),children:["all"===M&&"✓ ",er.filter.all||"All"]}),(0,t.jsxs)(tv,{onClick:()=>D("new"),children:["new"===M&&"✓ ",er.filter.review||"To Review"]}),(0,t.jsxs)(tv,{onClick:()=>D("reviewing"),children:["reviewing"===M&&"✓ ",er.filter.reviewing||"Reviewing"]}),(0,t.jsxs)(tv,{onClick:()=>D("mastered"),children:["mastered"===M&&"✓ ",er.filter.mastered||"Mastered"]}),(0,t.jsx)(tj,{}),(0,t.jsx)(ty,{children:er.filter.timeRange||"Time Range"}),(0,t.jsxs)(tv,{onClick:()=>T("all"),children:["all"===P&&"✓ ",er.filter.allTime||"All Time"]}),(0,t.jsxs)(tv,{onClick:()=>T("week"),children:["week"===P&&"✓ ",er.filter.lastWeek||"Last Week"]}),(0,t.jsxs)(tv,{onClick:()=>T("month"),children:["month"===P&&"✓ ",er.filter.lastMonth||"Last Month"]})]})]}),(0,t.jsxs)(a.Button,{variant:"outline",size:"sm",className:"h-10",onClick:()=>{let t=new URLSearchParams;e&&t.append("subjectId",e),R&&t.append("query",R),"all"!==M&&t.append("mastery",M),"all"!==P&&t.append("timeRange",P),O&&t.append("tag",O),A&&t.append("gradeSemester",A),_&&t.append("chapter",_),"all"!==F&&t.append("paperLevel",F),ea.push(`/print-preview?${t.toString()}`)},children:[(0,t.jsx)(y.Printer,{className:"mr-2 h-4 w-4"}),er.notebook?.exportPrint||"导出打印"]}),!X&&(0,t.jsxs)(a.Button,{variant:"outline",size:"sm",className:"h-10",onClick:eo,children:[(0,t.jsx)(w,{className:"mr-2 h-4 w-4"}),er.questionSimilarity.title]}),(0,t.jsxs)(a.Button,{variant:X?"secondary":"outline",size:"sm",className:"h-10",onClick:eo,children:[(0,t.jsx)(j.ListChecks,{className:"mr-2 h-4 w-4"}),X?er.notebook?.cancelSelect||"取消":er.notebook?.selectMode||"多选"]})]})]}),(0,t.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 items-stretch sm:items-center",children:[(0,t.jsx)("div",{className:"w-full sm:w-auto",children:(0,t.jsx)(t_,{gradeSemester:A,tag:O,onFilterChange:({gradeSemester:e,chapter:t,tag:r})=>{void 0!==e&&I(e),void 0!==t&&L(t),$(void 0===r?null:r),e?t||L(""):(I(""),L(""),$(null)),G(1)},subjectName:o})}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(a.Button,{variant:"all"===F?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>B("all"),children:er.filter.all||"All"}),(0,t.jsx)(a.Button,{variant:"a"===F?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>B("a"),children:er.editor.paperLevels?.a||"Paper A"}),(0,t.jsx)(a.Button,{variant:"b"===F?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>B("b"),children:er.editor.paperLevels?.b||"Paper B"}),(0,t.jsx)(a.Button,{variant:"other"===F?"default":"outline",size:"sm",className:"rounded-full",onClick:()=>B("other"),children:er.editor.paperLevels?.other||"Other"})]})]}),O&&(0,t.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-muted rounded-lg",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground",children:[er.filter.filteringByTag||"Filtering by tag",":"]}),(0,t.jsxs)(u.Badge,{variant:"secondary",className:"cursor-pointer",onClick:()=>$(null),children:[O,(0,t.jsx)("span",{className:"ml-1 text-xs",children:"×"})]})]}),!m&&0===i.length&&(0,t.jsx)(h.EmptyState,{icon:b,title:er.notebook.emptyList,description:er.notebook.emptyListHint}),m&&0===i.length&&(0,t.jsx)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6},(e,r)=>(0,t.jsx)("div",{className:"h-44 animate-pulse rounded-2xl bg-muted"},r))}),(0,t.jsx)("div",{className:`grid gap-4 md:grid-cols-2 lg:grid-cols-3 transition-opacity ${m?"opacity-60":""}`,children:i.map(e=>{let r,n=[];if(e.tags&&e.tags.length>0)n=e.tags.map(e=>e.name);else try{n=JSON.parse(e.knowledgePoints||"[]")}catch{n=[]}return(0,t.jsxs)("div",{className:"relative animate-in fade-in duration-300",children:[X&&(0,t.jsx)("div",{className:"absolute top-2 left-2 z-10",onClick:t=>{var r;return r=e.id,void(t.preventDefault(),t.stopPropagation(),J(e=>{let t=new Set(e);return t.has(r)?t.delete(r):t.add(r),t}))},children:(0,t.jsx)(f.Checkbox,{checked:Q.has(e.id),"aria-label":er.questionSimilarity.selectQuestion.replace("{id}",e.shortId||e.id),className:"h-5 w-5 border-2 bg-background shadow-sm"})}),(0,t.jsx)(c.default,{href:X?"#":`/error-items/${e.id}`,onClick:e=>X&&e.preventDefault(),children:(0,t.jsxs)(d.Card,{className:`h-full cursor-pointer gap-2 rounded-2xl border-l-4 pt-4 transition-all hover:-translate-y-0.5 hover:shadow-md ${tL.MASTERY_STATUS_BORDER[e.masteryStatus??"new"]} ${X&&Q.has(e.id)?"ring-2 ring-primary":"hover:border-primary/40"}`,children:[(0,t.jsx)(d.CardHeader,{className:"pb-0",children:(0,t.jsxs)("div",{className:`flex justify-between items-start ${X?"pl-7":""}`,children:[(0,t.jsx)(tL.MasteryStatusBadge,{status:e.masteryStatus??"new"}),(0,t.jsxs)("span",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:["number"==typeof e.masteryProbability&&(0,t.jsxs)("span",{title:er.mastery.probability,children:[Math.round(100*e.masteryProbability),"%"]}),e.shortId&&(0,t.jsx)("span",{className:"font-mono",children:e.shortId}),(0,k.formatDateTime)(e.createdAt,"MM/dd",l)]})]})}),(0,t.jsxs)(d.CardContent,{children:[(0,t.jsx)("div",{className:"text-sm line-clamp-3",children:(r=function(e){if(!e)return"";try{let t=e.replace(/\\_/g,"_"),r=t7().use(rr).processSync(t);return t=(t=String(r)).replace(/\\left/g,"").replace(/\\right/g,"").replace(/\\begin\{.*?\}/g,"").replace(/\\end\{.*?\}/g,"").replace(/\\text\{.*?\}/g,"").replace(/\\mbox\{.*?\}/g,"").replace(/\\frac\s*\{([^{}]+)\}\s*\{([^{}]+)\}/g,"$1/$2").replace(/\\sqrt\s*\{([^{}]+)\}/g,"√$1").replace(/\^\{([^{}]+)\}/g,"^$1").replace(/_\{([^{}]+)\}/g,"_$1").replace(/\\times/g,"×").replace(/\\div/g,"÷").replace(/\\cdot/g,"·").replace(/\\le/g,"≤").replace(/\\ge/g,"≥").replace(/\\neq/g,"≠").replace(/\\approx/g,"≈").replace(/\\pm/g,"±").replace(/\\infty/g,"∞").replace(/\\circ/g,"°").replace(/\\triangle/g,"△").replace(/\\angle/g,"∠").replace(/\\because/g,"∵").replace(/\\therefore/g,"∴").replace(/\$/g,"").replace(/\\/g,"").trim()}catch(t){return console.error("Failed to strip markdown:",t),e}}((e.questionText||"").split("\n\n")[0])).length>80?r.substring(0,80)+"...":r}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mt-3",children:[(0,t.jsx)(u.Badge,{variant:"secondary",className:"text-xs",children:(0,rp.getMistakeStatusLabel)(e.mistakeStatus,en)}),(0,t.jsx)(tP.DifficultyStars,{value:e.difficultyStars,showUnrated:!1})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2 mt-3",children:[(H.has(e.id)?n:n.slice(0,3)).map(e=>(0,t.jsx)(u.Badge,{variant:O===e?"default":"outline",className:"text-xs cursor-pointer hover:bg-primary/10 transition-colors",onClick:t=>{t.preventDefault(),$(O===e?null:e)},children:e},e)),n.length>3&&(0,t.jsx)(u.Badge,{variant:"secondary",className:"text-xs cursor-pointer hover:bg-secondary/80 transition-colors",title:H.has(e.id)?er.notebooks?.collapseTagsTooltip||"Click to collapse":(er.notebooks?.expandTagsTooltip||"Click to expand {count} tags").replace("{count}",(n.length-3).toString()),onClick:t=>{var r;return r=e.id,void(t.preventDefault(),t.stopPropagation(),z(e=>{let t=new Set(e);return t.has(r)?t.delete(r):t.add(r),t}))},children:H.has(e.id)?(0,t.jsx)(t.Fragment,{children:er.notebooks?.collapseTags||"Collapse"}):(0,t.jsx)(t.Fragment,{children:(er.notebooks?.expandTags||"+{count} more").replace("{count}",(n.length-3).toString())})})]})]})]})})]},e.id)})}),(0,t.jsx)(ru,{page:q,totalPages:W,total:V,pageSize:K,onPageChange:G}),X&&(0,t.jsx)(tD,{selectedIds:[...Q],deleting:ee,onCancel:eo,onDelete:el})]})}var rx=e.i(67153),rv=e.i(83086);function ry({notebookId:e,onFinished:n}){let{t:o}=(0,S.useLanguage)(),[l,i]=(0,r.useState)(null),[s,c]=(0,r.useState)(null),d=(0,r.useRef)(!1),u=(0,r.useCallback)(()=>{tR.apiClient.get(`/api/notebooks/${e}/retag`).then(e=>{d.current&&e&&!e.running&&n?.(),d.current=!!e?.running,i(e)}).catch(()=>void 0)},[e,n]);(0,r.useEffect)(u,[u]),(0,r.useEffect)(()=>{if(!l?.running)return;let e=setTimeout(u,2e3);return()=>clearTimeout(e)},[l,u]);let p=async()=>{if(await (0,rm.confirmDialog)(o.retag.notebookConfirm)){c(null);try{let t=await tR.apiClient.post(`/api/notebooks/${e}/retag`,{});if(0===t.total)return void c(o.retag.empty);d.current=t.running,i(t)}catch{c(o.retag.itemFailed)}}},f=s??(l?.running?o.retag.progress.replace("{done}",String(l.done)).replace("{total}",String(l.total)):l?.finishedAt&&l.total>0?o.retag.finished.replace("{success}",String(l.total-l.failed)).replace("{failed}",String(l.failed)):null);return(0,t.jsxs)("div",{className:"flex flex-col items-start sm:items-end gap-1",children:[(0,t.jsxs)(a.Button,{variant:"outline",size:"sm",onClick:p,disabled:l?.running,"aria-label":o.retag.notebookButton,children:[l?.running?(0,t.jsx)(tC.Loader2,{className:"h-4 w-4 animate-spin sm:mr-2"}):(0,t.jsx)(rv.Sparkles,{className:"h-4 w-4 sm:mr-2"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:o.retag.notebookButton})]}),f&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:f})]})}var rj=e.i(9830),rw=e.i(35209);e.s(["default",0,function(){let e=(0,n.useParams)(),d=(0,n.useRouter)(),{t:u}=(0,S.useLanguage)(),[p,f]=(0,r.useState)(null);(0,rw.usePageTitle)(u.notebooks.title,p?.name);let[h,m]=(0,r.useState)(!0),[g,x]=(0,r.useState)(!1),[v,y]=(0,r.useState)(0);(0,r.useEffect)(()=>{e.id&&j(e.id)},[e.id]);let j=async e=>{try{let t=await tR.apiClient.get(`/api/notebooks/${e}`);f(t)}catch(e){console.error("Failed to fetch notebook:",e),rm.toast.error(u.notebooks?.notFound||"Notebook not found"),d.push("/notebooks")}finally{m(!1)}},w=async e=>{p&&f(await tR.apiClient.put(`/api/notebooks/${p.id}`,{name:e}))};return h?(0,t.jsx)(l.PageLoading,{label:u.common.loading}):p?(0,t.jsx)("main",{className:"mx-auto min-h-screen max-w-6xl px-4 py-6 md:px-8 md:py-8",children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(o.PageHeader,{backHref:"/notebooks",title:p.name,titleAddon:(0,t.jsx)(a.Button,{variant:"ghost",size:"icon-sm",className:"shrink-0 text-muted-foreground",onClick:()=>x(!0),title:u.notebooks?.rename||"Rename",children:(0,t.jsx)(s.Pencil,{className:"h-4 w-4"})}),description:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(rj.NotebookScopeLabel,{notebook:p})," · ",(u.notebooks?.totalErrors||"Total {count} errors").replace("{count}",(p._count?.errorItems||0).toString())]}),actions:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(ry,{notebookId:p.id,onFinished:()=>y(e=>e+1)}),(0,t.jsx)(c.default,{href:`/notebooks/${p.id}/add`,children:(0,t.jsxs)(a.Button,{"aria-label":u.notebooks?.addError||"Add Error",children:[(0,t.jsx)(i.Plus,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"hidden sm:inline",children:u.notebooks?.addError||"Add Error"})]})})]})}),(0,t.jsx)(rg,{subjectId:p.id,subjectName:p.name},v),(0,t.jsx)(rx.RenameNotebookDialog,{open:g,onOpenChange:x,currentName:p.name,onRename:w})]})}):null}],98591)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71689,e=>{"use strict";let t=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],71689)},13572,e=>{"use strict";var t=e.i(18050),a=e.i(71645),r=e.i(18566),n=e.i(98469),s=e.i(78197),i=e.i(12130),o=e.i(41931),l=e.i(11110),d=e.i(35209),c=e.i(28928),g=e.i(68553),u=e.i(83086),m=e.i(93842),f=e.i(56738),p=e.i(4843),y=e.i(1276),x=e.i(17448),A=e.i(30634),h=e.i(47819),w=e.i(64002),b=e.i(94114);e.s(["default",0,function(){let e=(0,r.useParams)(),j=(0,r.useRouter)(),v=e.id,[S,L]=(0,a.useState)("upload"),[C,k]=(0,a.useState)("idle"),[z,I]=(0,a.useState)(null),[N,T]=(0,a.useState)(null),{t:P,language:E}=(0,l.useLanguage)(),[D,F]=(0,a.useState)(null);(0,d.usePageTitle)(P.notebooks.title,D?.name,P.pageTitle.addError);let[R,U]=(0,a.useState)(null),[B,O]=(0,a.useState)("image"),[$,H]=(0,a.useState)(null),[_,M]=(0,a.useState)(!1),[K,Q]=(0,a.useState)(!1),[Z,q]=(0,a.useState)(null),[J,V]=(0,a.useState)(null),G=R?.timeouts?.analyze||18e4,W=G+1e4;(0,a.useEffect)(()=>()=>{$&&URL.revokeObjectURL($)},[$]),(0,a.useEffect)(()=>{o.apiClient.get(`/api/notebooks/${v}`).then(e=>F(e)).catch(e=>{console.error("Failed to fetch notebook:",e),j.push("/notebooks")}),(0,w.fetchConfirmBeforeImport)().then(Q),o.apiClient.get("/api/settings").then(e=>{U(e),e.timeouts?.analyze&&y.frontendLogger.info("[Config]","Loaded timeout settings",{analyze:e.timeouts.analyze})}).catch(e=>console.error("Failed to fetch config:",e))},[v,j]),(0,a.useEffect)(()=>{if("idle"===C)return;let e=setTimeout(()=>{y.frontendLogger.warn("[Progress]","处理超时,关闭进度提示",{analysisStep:C,safetyTimeout:W}),k("idle")},W);return()=>clearTimeout(e)},[C,W]);let X=async e=>{M(!1),Y(new File([e],"cropped-image.jpg",{type:"image/jpeg"}))},Y=async e=>{let t=Date.now();y.frontendLogger.info("[AddAnalyze]","Starting analysis flow",{timeoutSettings:{apiTimeout:G,safetyTimeout:W}});try{y.frontendLogger.info("[AddAnalyze]","Step 1/5: Compressing image"),k("compressing");let a=await (0,c.processImageFile)(e);T(a),y.frontendLogger.info("[AddAnalyze]","Image compressed successfully",{size:a.length}),y.frontendLogger.info("[AddAnalyze]","Step 2/5: Calling API endpoint /api/analyze"),k("analyzing");let r=Date.now(),n=await o.apiClient.post("/api/analyze",{imageBase64:a,language:E,subjectId:v},{timeout:G}),s=Date.now()-r;if(y.frontendLogger.info("[AddAnalyze]","API response received, validating data",{apiDuration:s}),!n||"object"!=typeof n)throw y.frontendLogger.error("[AddAnalyze]","Validation failed - invalid response data",{data:n}),Error("Invalid API response: data is null or not an object");if(y.frontendLogger.info("[AddAnalyze]","Response data validated successfully"),y.frontendLogger.info("[AddAnalyze]","开始处理 AI 返回结果"),k("processing"),!K){k("saving");let e=await (0,w.saveParsedQuestion)(n,{subjectId:v,imageUrl:a});q(e),T(null),y.frontendLogger.info("[AddAnalyze]","Imported without review",{id:e.id});return}y.frontendLogger.info("[AddAnalyze]","Step 4/5: Setting parsed data into state");let i=JSON.stringify(n).length,l=Date.now();I(n);let d=Date.now()-l;y.frontendLogger.info("[AddAnalyze]","Parsed data set successfully",{dataSize:i,setDataDuration:d}),y.frontendLogger.info("[AddAnalyze]","Step 5/5: Switching to review page");let g=Date.now();L("review");let u=Date.now()-g;y.frontendLogger.info("[AddAnalyze]","Step switched to review",{setStepDuration:u});let m=Date.now()-t;y.frontendLogger.info("[AddAnalyze]","Analysis completed successfully",{totalDuration:m})}catch(a){let e=Date.now()-t;y.frontendLogger.error("[AddError]","Analysis failed",{errorDuration:e,error:a.message||String(a)});try{let e=P.common.messages?.analysisFailed||"Analysis failed",t=a?.data?.message;if(t&&"string"==typeof t)if(P.errors&&"object"==typeof P.errors&&t in P.errors){let a=P.errors[t];"string"==typeof a&&(e=a,y.frontendLogger.info("[AddError]",`Matched error type: ${t}`,{errorMessage:e}))}else e=t,y.frontendLogger.info("[AddError]","Using backend error message",{errorMessage:e});else a?.message&&(a.message.includes("fetch")||a.message.includes("network")?e=P.errors?.AI_CONNECTION_FAILED||"网络连接失败":"string"==typeof a.data&&(y.frontendLogger.info("[AddError]","Raw error data",{errorDataPreview:a.data.substring(0,100)}),e+=` (${a.status||"Error"})`));b.toast.error(e)}catch(e){y.frontendLogger.error("[AddError]","Failed to process error message",{innerError:String(e)}),b.toast.error("Analysis failed. Please try again.")}}finally{y.frontendLogger.info("[AddAnalyze]","Finally: Resetting analysis state to idle"),k("idle"),y.frontendLogger.info("[AddAnalyze]","Analysis state reset complete")}},ee=async e=>{let t=Date.now();y.frontendLogger.info("[AddTextSubmit]","Starting text-based analysis",{textLength:e.length});try{k("analyzing");let a=await o.apiClient.post("/api/reanswer",{questionText:e,language:E,subject:D?.name||void 0,subjectId:v},{timeout:G});k("processing");let r={questionText:e,answerText:a.answerText,analysis:a.analysis,knowledgePoints:a.knowledgePoints||[],wrongAnswerText:a.wrongAnswerText||"",mistakeAnalysis:a.mistakeAnalysis||"",mistakeStatus:a.mistakeStatus||"unknown",subject:a.subject||"其他",requiresImage:!1,difficultyStars:a.difficultyStars??null};if(!K){k("saving");let e=await (0,w.saveParsedQuestion)(r,{subjectId:v,imageUrl:null});q(e);return}T(null),I(r),L("review");let n=Date.now()-t;y.frontendLogger.info("[AddTextSubmit]","Text analysis completed",{totalDuration:n})}catch(a){let e=Date.now()-t;y.frontendLogger.error("[AddTextSubmit]","Analysis failed",{errorDuration:e,error:a.message||String(a)});try{let e=P.common.messages?.analysisFailed||"Analysis failed",t=a?.data?.message;if(t&&"string"==typeof t)if(P.errors&&"object"==typeof P.errors&&t in P.errors){let a=P.errors[t];"string"==typeof a&&(e=a)}else e=t;b.toast.error(e)}catch{b.toast.error("Analysis failed. Please try again.")}}finally{k("idle")}},et=async e=>{try{let t=await o.apiClient.post("/api/error-items",{...e,originalImageUrl:N||"",subjectId:v});t.duplicate&&y.frontendLogger.info("[AddSave]","Duplicate submission detected, using existing record"),b.toast.success(t.duplicate?P.importFlow.duplicate:P.common.messages.saveSuccess),j.push(t.duplicate?`/error-items/${t.id}`:`/notebooks/${v}`)}catch(e){y.frontendLogger.error("[AddSave]","Save failed",{error:e instanceof Error?e.message:String(e)}),b.toast.error(P.common.messages?.saveFailed||"Save failed")}};return D?(0,t.jsxs)("main",{className:"min-h-screen",children:[(0,t.jsx)(f.ProgressFeedback,{status:C}),(0,t.jsxs)("div",{className:`mx-auto space-y-6 px-4 py-6 md:px-8 md:py-8 ${"review"===S?"max-w-6xl":"max-w-4xl"}`,children:[(0,t.jsx)(m.PageHeader,{backHref:`/notebooks/${v}`,title:P.app.addError,description:D?.name}),"upload"===S&&(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(p.SegmentedControl,{options:[{value:"image",icon:g.Camera,label:P.app?.uploadImage||"拍照上传"},{value:"text",icon:u.Sparkles,label:P.app?.manualInput||"手动输入"}],value:B,onChange:O}),Z&&(0,t.jsx)(A.ImportResultBanner,{imported:Z,onDismiss:()=>q(null)}),J?(0,t.jsx)(h.BatchImportPanel,{blobs:J,subjectId:v,timeout:G,onClose:()=>V(null)}):"image"===B?(0,t.jsx)(n.UploadZone,{onImageSelect:e=>{q(null),H(URL.createObjectURL(e)),M(!0)},isAnalyzing:"idle"!==C}):(0,t.jsx)(x.TextInputZone,{onSubmit:ee,isAnalyzing:"idle"!==C,defaultNotebookName:D?.name})]}),"review"===S&&z&&(0,t.jsx)(s.CorrectionEditor,{initialData:z,imagePreview:N,onSave:et,onCancel:()=>L("upload"),initialSubjectId:v,aiTimeout:G})]}),(0,t.jsx)(i.ImageCropper,{imageSrc:$||"",open:_,onClose:()=>M(!1),onCropComplete:X,onMultiCropComplete:e=>{M(!1),q(null),V(e)}})]}):(0,t.jsx)("div",{className:"min-h-screen flex items-center justify-center",children:(0,t.jsx)("p",{className:"text-muted-foreground",children:P.common.loading})})}])},90546,e=>{"use strict";var t=e.i(18050),a=e.i(18566),r=e.i(19455),n=e.i(71689);e.s(["BackButton",0,function({fallbackUrl:e,className:s}){let i=(0,a.useRouter)();return(0,t.jsx)(r.Button,{variant:"ghost",size:"icon",onClick:()=>{i.push(e)},className:s,children:(0,t.jsx)(n.ArrowLeft,{className:"h-5 w-5"})})}])},15288,e=>{"use strict";var t=e.i(18050),a=e.i(75157);e.s(["Card",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...r})},"CardContent",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...r})},"CardDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",e),...r})},"CardHeader",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...r})},"CardTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...r})}])},93842,e=>{"use strict";var t=e.i(18050),a=e.i(90546),r=e.i(75157);e.s(["PageHeader",0,function({title:e,description:n,backHref:s,actions:i,titleAddon:o,className:l}){return(0,t.jsxs)("div",{className:(0,r.cn)("flex items-start gap-3",l),children:[s&&(0,t.jsx)(a.BackButton,{fallbackUrl:s,className:"-ml-2 shrink-0"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsx)("h1",{className:"truncate text-2xl font-bold tracking-tight sm:text-3xl",children:e}),o]}),n&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground sm:text-base",children:n})]}),i&&(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:i})]})}])},35209,e=>{"use strict";var t=e.i(71645),a=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t:r}=(0,a.useLanguage)(),n=[r.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,t.useEffect)(()=>{document.title=n},[n])}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71689,t=>{"use strict";let e=(0,t.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);t.s(["ArrowLeft",0,e],71689)},20278,t=>{"use strict";let e=(0,t.i(75254).default)("target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);t.s(["Target",0,e],20278)},25652,t=>{"use strict";let e=(0,t.i(75254).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);t.s(["TrendingUp",0,e],25652)},90546,t=>{"use strict";var e=t.i(18050),a=t.i(18566),s=t.i(19455),r=t.i(71689);t.s(["BackButton",0,function({fallbackUrl:t,className:c}){let i=(0,a.useRouter)();return(0,e.jsx)(s.Button,{variant:"ghost",size:"icon",onClick:()=>{i.push(t)},className:c,children:(0,e.jsx)(r.ArrowLeft,{className:"h-5 w-5"})})}])},15288,t=>{"use strict";var e=t.i(18050),a=t.i(75157);t.s(["Card",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",t),...s})},"CardContent",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",t),...s})},"CardDescription",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",t),...s})},"CardHeader",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",t),...s})},"CardTitle",0,function({className:t,...s}){return(0,e.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",t),...s})}])},93842,t=>{"use strict";var e=t.i(18050),a=t.i(90546),s=t.i(75157);t.s(["PageHeader",0,function({title:t,description:r,backHref:c,actions:i,titleAddon:n,className:l}){return(0,e.jsxs)("div",{className:(0,s.cn)("flex items-start gap-3",l),children:[c&&(0,e.jsx)(a.BackButton,{fallbackUrl:c,className:"-ml-2 shrink-0"}),(0,e.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1",children:[(0,e.jsx)("h1",{className:"truncate text-2xl font-bold tracking-tight sm:text-3xl",children:t}),n]}),r&&(0,e.jsx)("p",{className:"text-sm text-muted-foreground sm:text-base",children:r})]}),i&&(0,e.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:i})]})}])},35209,t=>{"use strict";var e=t.i(71645),a=t.i(11110);t.s(["usePageTitle",0,function(...t){let{t:s}=(0,a.useLanguage)(),r=[s.pageTitle.base,...t.map(t=>"string"==typeof t?t.trim():"").filter(t=>t.length>0)].join("-");(0,e.useEffect)(()=>{document.title=r},[r])}])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,71689,e=>{"use strict";let s=(0,e.i(75254).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,s],71689)},63209,e=>{"use strict";let s=(0,e.i(75254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",0,s],63209)},3116,e=>{"use strict";let s=(0,e.i(75254).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",0,s],3116)},41966,52008,e=>{"use strict";var s=e.i(75254);let a=(0,s.default)("pen-tool",[["path",{d:"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z",key:"nt11vn"}],["path",{d:"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18",key:"15qc1e"}],["path",{d:"m2.3 2.3 7.286 7.286",key:"1wuzzi"}],["circle",{cx:"11",cy:"11",r:"2",key:"xmgehs"}]]);e.s(["PenTool",0,a],41966);let t=(0,s.default)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);e.s(["Layers",0,t],52008)},45514,e=>{"use strict";var s=e.i(18050),a=e.i(71645),t=e.i(17255),r=e.i(18566),d=e.i(11110),i=e.i(35209),l=e.i(15519),n=e.i(30691),c=e.i(41931),o=e.i(31278),m=e.i(71689),x=e.i(84614),u=e.i(10980),h=e.i(41966),j=e.i(52008),b=e.i(75254);let g=(0,b.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),p=(0,b.default)("tag",[["path",{d:"M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",key:"vktsd0"}],["circle",{cx:"7.5",cy:"7.5",r:".5",fill:"currentColor",key:"kqv944"}]]);var y=e.i(69638),f=e.i(3116),N=e.i(63209),v=e.i(86536),C=e.i(19455),w=e.i(15288),k=e.i(87486);e.s(["default",0,function(){let{timeZone:e}=(0,l.useTimeZone)(),{data:b,status:T}=(0,t.useSession)(),D=(0,r.useRouter)(),M=(0,r.useParams)(),{t:A}=(0,d.useLanguage)(),[B,L]=(0,a.useState)(null);(0,i.usePageTitle)(A.admin.dashboard.title,B?.user.name||B?.user.email);let[z,H]=(0,a.useState)(!0),P=M.id,S=(0,a.useCallback)(async()=>{H(!0);try{let e=await c.apiClient.get(`/api/admin/users/${P}/detail`);L(e)}catch(e){console.error("Failed to fetch user detail",e)}finally{H(!1)}},[P]);if((0,a.useEffect)(()=>{if("loading"!==T){if(!b?.user||"admin"!==b.user.role)return void D.push("/");S()}},[b,T,D,S]),"loading"===T||z)return(0,s.jsx)("div",{className:"flex items-center justify-center min-h-[60vh]",children:(0,s.jsx)(o.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"})});if(!B)return(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center min-h-[60vh] gap-4",children:[(0,s.jsx)("p",{className:"text-muted-foreground",children:A.common?.error||"加载失败"}),(0,s.jsx)(C.Button,{onClick:S,children:"重试"})]});let q=[{key:"new",label:A.admin?.dashboard?.masteryNew||"待复习",count:B.masteryDistribution.new,icon:N.AlertCircle,color:"text-red-500"},{key:"reviewing",label:A.admin?.dashboard?.masteryReviewing||"复习中",count:B.masteryDistribution.reviewing,icon:f.Clock,color:"text-yellow-500"},{key:"mastered",label:A.admin?.dashboard?.masteryMastered||"已掌握",count:B.masteryDistribution.mastered,icon:y.CheckCircle,color:"text-green-500"}],E=B.masteryDistribution.new+B.masteryDistribution.reviewing+B.masteryDistribution.mastered;return(0,s.jsxs)("div",{className:"max-w-5xl mx-auto p-4 sm:p-6 space-y-6",children:[(0,s.jsxs)("div",{className:"flex items-center gap-4",children:[(0,s.jsxs)(C.Button,{variant:"ghost",size:"sm",onClick:()=>D.push("/admin"),children:[(0,s.jsx)(m.ArrowLeft,{className:"h-4 w-4 mr-1"}),A.common?.back||"返回"]}),(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"p-2 rounded-full bg-blue-50 dark:bg-blue-950/30",children:(0,s.jsx)(x.User,{className:"h-6 w-6 text-blue-500"})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{className:"text-xl font-bold",children:B.user.name||"N/A"}),(0,s.jsx)("p",{className:"text-sm text-muted-foreground",children:B.user.email})]}),"admin"===B.user.role&&(0,s.jsx)(k.Badge,{variant:"default",children:A.admin?.admin||"管理员"}),(0,s.jsx)(k.Badge,{variant:B.user.isActive?"default":"destructive",children:B.user.isActive?A.admin?.active||"启用":A.admin?.disabled||"禁用"})]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 sm:grid-cols-4 gap-4",children:[(0,s.jsx)(w.Card,{className:"border-0 shadow-sm",children:(0,s.jsxs)(w.CardContent,{className:"p-4 text-center",children:[(0,s.jsx)(j.Layers,{className:"h-5 w-5 text-purple-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:B.notebookCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:A.admin?.dashboard?.notebooks||"错题本"})]})}),(0,s.jsx)(w.Card,{className:"border-0 shadow-sm",children:(0,s.jsxs)(w.CardContent,{className:"p-4 text-center",children:[(0,s.jsx)(u.BookOpen,{className:"h-5 w-5 text-red-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:B.errorCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:A.admin?.dashboard?.errors||"错题"})]})}),(0,s.jsx)(w.Card,{className:"border-0 shadow-sm",children:(0,s.jsxs)(w.CardContent,{className:"p-4 text-center",children:[(0,s.jsx)(h.PenTool,{className:"h-5 w-5 text-green-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:B.practiceCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:A.admin?.dashboard?.practice||"练习"})]})}),(0,s.jsx)(w.Card,{className:"border-0 shadow-sm",children:(0,s.jsxs)(w.CardContent,{className:"p-4 text-center",children:[(0,s.jsx)(g,{className:"h-5 w-5 text-blue-500 mx-auto mb-1"}),(0,s.jsx)("div",{className:"text-2xl font-bold",children:B.recent7DaysCount}),(0,s.jsx)("div",{className:"text-xs text-muted-foreground",children:A.admin?.dashboard?.recent7Days||"近7天录入"})]})})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,s.jsxs)(w.Card,{className:"border-0 shadow-sm",children:[(0,s.jsx)(w.CardHeader,{className:"pb-2",children:(0,s.jsxs)(w.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(j.Layers,{className:"h-4 w-4 text-purple-500"}),A.admin?.dashboard?.userNotebooks||"错题本列表"]})}),(0,s.jsx)(w.CardContent,{children:0===B.notebooks.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:A.admin?.dashboard?.noData||"暂无数据"}):(0,s.jsx)("div",{className:"space-y-2",children:B.notebooks.map(e=>(0,s.jsxs)("div",{className:"flex justify-between items-center p-2 rounded-lg bg-muted/30",children:[(0,s.jsx)("span",{className:"font-medium text-sm",children:e.name}),(0,s.jsxs)(k.Badge,{variant:"secondary",className:"text-xs",children:[e.errorCount," 题"]})]},e.id))})})]}),(0,s.jsxs)(w.Card,{className:"border-0 shadow-sm",children:[(0,s.jsx)(w.CardHeader,{className:"pb-2",children:(0,s.jsxs)(w.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(y.CheckCircle,{className:"h-4 w-4 text-green-500"}),A.admin?.dashboard?.masteryDistribution||"掌握度分布"]})}),(0,s.jsx)(w.CardContent,{children:0===E?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:A.admin?.dashboard?.noData||"暂无数据"}):(0,s.jsx)("div",{className:"space-y-3",children:q.map(e=>{let a=E>0?Math.round(e.count/E*100):0;return(0,s.jsxs)("div",{className:"space-y-1",children:[(0,s.jsxs)("div",{className:"flex justify-between text-sm items-center",children:[(0,s.jsxs)("span",{className:"flex items-center gap-1.5 font-medium",children:[(0,s.jsx)(e.icon,{className:`h-4 w-4 ${e.color}`}),e.label]}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[e.count," (",a,"%)"]})]}),(0,s.jsx)("div",{className:"w-full bg-muted rounded-full h-2",children:(0,s.jsx)("div",{className:"h-2 rounded-full bg-current opacity-60 transition-all duration-500",style:{width:`${a}%`}})})]},e.key)})})})]})]}),B.subjectDistribution.length>0&&(0,s.jsxs)(w.Card,{className:"border-0 shadow-sm",children:[(0,s.jsx)(w.CardHeader,{className:"pb-2",children:(0,s.jsxs)(w.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(p,{className:"h-4 w-4 text-blue-500"}),A.admin?.dashboard?.subjectDistribution||"学科错题分布"]})}),(0,s.jsx)(w.CardContent,{children:(0,s.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:B.subjectDistribution.map(e=>(0,s.jsxs)("div",{className:"flex items-center justify-between p-3 rounded-lg bg-muted/30",children:[(0,s.jsx)("span",{className:"font-medium text-sm",children:e.name}),(0,s.jsx)(k.Badge,{variant:"secondary",children:e.count})]},e.name))})})]}),(0,s.jsxs)(w.Card,{className:"border-0 shadow-sm",children:[(0,s.jsx)(w.CardHeader,{className:"pb-2",children:(0,s.jsxs)(w.CardTitle,{className:"text-base flex items-center gap-2",children:[(0,s.jsx)(v.Eye,{className:"h-4 w-4 text-orange-500"}),A.admin?.dashboard?.recentErrors||"最近录入的错题"]})}),(0,s.jsx)(w.CardContent,{children:0===B.recentErrorItems.length?(0,s.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:A.admin?.dashboard?.noData||"暂无数据"}):(0,s.jsx)("div",{className:"space-y-2",children:B.recentErrorItems.map(a=>(0,s.jsxs)("div",{className:"flex items-start justify-between p-3 rounded-lg bg-muted/30 gap-3",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsx)("p",{className:"text-sm font-medium truncate",children:a.questionText||a.ocrText||"(无题目文本)"}),(0,s.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[a.subject&&(0,s.jsx)(k.Badge,{variant:"outline",className:"text-xs",children:a.subject.name}),"mastered"===a.masteryStatus&&(0,s.jsx)(k.Badge,{variant:"default",className:"text-xs",children:A.admin?.dashboard?.masteryMastered||"已掌握"}),"reviewing"===a.masteryStatus&&(0,s.jsx)(k.Badge,{variant:"secondary",className:"text-xs",children:A.admin?.dashboard?.masteryReviewing||"复习中"}),"new"===a.masteryStatus&&(0,s.jsx)(k.Badge,{variant:"outline",className:"text-xs",children:A.admin?.dashboard?.masteryNew||"待复习"})]})]}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:(0,n.formatDateTime)(a.createdAt,"yyyy-MM-dd",e)})]},a.id))})})]})]})}],45514)},15288,e=>{"use strict";var s=e.i(18050),a=e.i(75157);e.s(["Card",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})},"CardContent",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...t})},"CardDescription",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",e),...t})},"CardHeader",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...t})},"CardTitle",0,function({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...t})}])},35209,e=>{"use strict";var s=e.i(71645),a=e.i(11110);e.s(["usePageTitle",0,function(...e){let{t}=(0,a.useLanguage)(),r=[t.pageTitle.base,...e.map(e=>"string"==typeof e?e.trim():"").filter(e=>e.length>0)].join("-");(0,s.useEffect)(()=>{document.title=r},[r])}])}]);