@studious-lms/server 1.23.0 → 1.25.0

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 (298) hide show
  1. package/.env.example +0 -1
  2. package/data/curriculum/nepal-cdc-g4-g5/README.md +90 -0
  3. package/data/curriculum/nepal-cdc-g4-g5/manifest.json +97 -0
  4. package/data/curriculum/nepal-cdc-g4-g5/proficiency-scale.json +76 -0
  5. package/data/curriculum/nepal-cdc-g4-g5/subjects/english.json +6936 -0
  6. package/data/curriculum/nepal-cdc-g4-g5/subjects/health-physical-creative-arts.json +3401 -0
  7. package/data/curriculum/nepal-cdc-g4-g5/subjects/mathematics.json +1511 -0
  8. package/data/curriculum/nepal-cdc-g4-g5/subjects/nepali.json +7928 -0
  9. package/data/curriculum/nepal-cdc-g4-g5/subjects/science-technology.json +2420 -0
  10. package/data/curriculum/nepal-cdc-g4-g5/subjects/social-studies.json +2177 -0
  11. package/dist/lib/assignmentTypeDefaults.d.ts +41 -0
  12. package/dist/lib/assignmentTypeDefaults.d.ts.map +1 -0
  13. package/dist/lib/assignmentTypeDefaults.js +167 -0
  14. package/dist/lib/assignmentTypeDefaults.js.map +1 -0
  15. package/dist/lib/config/env.d.ts +0 -8
  16. package/dist/lib/config/env.d.ts.map +1 -1
  17. package/dist/lib/config/env.js +2 -5
  18. package/dist/lib/config/env.js.map +1 -1
  19. package/dist/lib/feePdf.d.ts +19 -0
  20. package/dist/lib/feePdf.d.ts.map +1 -0
  21. package/dist/lib/feePdf.js +167 -0
  22. package/dist/lib/feePdf.js.map +1 -0
  23. package/dist/lib/feePdfFormat.d.ts +4 -0
  24. package/dist/lib/feePdfFormat.d.ts.map +1 -0
  25. package/dist/lib/feePdfFormat.js +16 -0
  26. package/dist/lib/feePdfFormat.js.map +1 -0
  27. package/dist/lib/idCardPdf.d.ts +26 -0
  28. package/dist/lib/idCardPdf.d.ts.map +1 -0
  29. package/dist/lib/idCardPdf.js +272 -0
  30. package/dist/lib/idCardPdf.js.map +1 -0
  31. package/dist/lib/pdfLetterhead.d.ts +41 -0
  32. package/dist/lib/pdfLetterhead.d.ts.map +1 -0
  33. package/dist/lib/pdfLetterhead.js +86 -0
  34. package/dist/lib/pdfLetterhead.js.map +1 -0
  35. package/dist/lib/transcriptPdf.d.ts +55 -0
  36. package/dist/lib/transcriptPdf.d.ts.map +1 -0
  37. package/dist/lib/transcriptPdf.js +303 -0
  38. package/dist/lib/transcriptPdf.js.map +1 -0
  39. package/dist/models/academicCalendar.d.ts +198 -0
  40. package/dist/models/academicCalendar.d.ts.map +1 -0
  41. package/dist/models/academicCalendar.js +106 -0
  42. package/dist/models/academicCalendar.js.map +1 -0
  43. package/dist/models/agenda.d.ts +8 -0
  44. package/dist/models/agenda.d.ts.map +1 -1
  45. package/dist/models/announcement.d.ts +2 -0
  46. package/dist/models/announcement.d.ts.map +1 -1
  47. package/dist/models/assignment.d.ts +66 -0
  48. package/dist/models/assignment.d.ts.map +1 -1
  49. package/dist/models/attendance.d.ts +659 -21
  50. package/dist/models/attendance.d.ts.map +1 -1
  51. package/dist/models/attendance.js +547 -75
  52. package/dist/models/attendance.js.map +1 -1
  53. package/dist/models/auth.d.ts +2 -0
  54. package/dist/models/auth.d.ts.map +1 -1
  55. package/dist/models/class.d.ts +12 -0
  56. package/dist/models/class.d.ts.map +1 -1
  57. package/dist/models/class.js +3 -2
  58. package/dist/models/class.js.map +1 -1
  59. package/dist/models/event.d.ts +16 -0
  60. package/dist/models/event.d.ts.map +1 -1
  61. package/dist/models/fees.d.ts +554 -0
  62. package/dist/models/fees.d.ts.map +1 -0
  63. package/dist/models/fees.js +278 -0
  64. package/dist/models/fees.js.map +1 -0
  65. package/dist/models/file.d.ts +29 -0
  66. package/dist/models/file.d.ts.map +1 -1
  67. package/dist/models/folder.d.ts +2 -0
  68. package/dist/models/folder.d.ts.map +1 -1
  69. package/dist/models/labChat.d.ts +2 -0
  70. package/dist/models/labChat.d.ts.map +1 -1
  71. package/dist/models/marketplace.d.ts +180 -0
  72. package/dist/models/marketplace.d.ts.map +1 -0
  73. package/dist/models/marketplace.js +116 -0
  74. package/dist/models/marketplace.js.map +1 -0
  75. package/dist/models/moduleItem.d.ts +308 -0
  76. package/dist/models/moduleItem.d.ts.map +1 -0
  77. package/dist/models/moduleItem.js +93 -0
  78. package/dist/models/moduleItem.js.map +1 -0
  79. package/dist/models/newtonChat.d.ts +1 -0
  80. package/dist/models/newtonChat.d.ts.map +1 -1
  81. package/dist/models/school.d.ts +18 -0
  82. package/dist/models/school.d.ts.map +1 -1
  83. package/dist/models/school.js +7 -2
  84. package/dist/models/school.js.map +1 -1
  85. package/dist/models/section.d.ts +4 -0
  86. package/dist/models/section.d.ts.map +1 -1
  87. package/dist/models/worksheet.d.ts +19 -0
  88. package/dist/models/worksheet.d.ts.map +1 -1
  89. package/dist/models/worksheet.js +2 -2
  90. package/dist/models/worksheet.js.map +1 -1
  91. package/dist/routers/_app.d.ts +12024 -7778
  92. package/dist/routers/_app.d.ts.map +1 -1
  93. package/dist/routers/_app.js +12 -2
  94. package/dist/routers/_app.js.map +1 -1
  95. package/dist/routers/academicCalendar.d.ts +229 -0
  96. package/dist/routers/academicCalendar.d.ts.map +1 -0
  97. package/dist/routers/academicCalendar.js +75 -0
  98. package/dist/routers/academicCalendar.js.map +1 -0
  99. package/dist/routers/admin.d.ts +2 -0
  100. package/dist/routers/admin.d.ts.map +1 -1
  101. package/dist/routers/agenda.d.ts +8 -0
  102. package/dist/routers/agenda.d.ts.map +1 -1
  103. package/dist/routers/assignment.d.ts +75 -0
  104. package/dist/routers/assignment.d.ts.map +1 -1
  105. package/dist/routers/assignment.js +10 -2
  106. package/dist/routers/assignment.js.map +1 -1
  107. package/dist/routers/attendance.d.ts +103 -0
  108. package/dist/routers/attendance.d.ts.map +1 -1
  109. package/dist/routers/attendance.js +8 -5
  110. package/dist/routers/attendance.js.map +1 -1
  111. package/dist/routers/class.d.ts +27 -0
  112. package/dist/routers/class.d.ts.map +1 -1
  113. package/dist/routers/class.js +6 -2
  114. package/dist/routers/class.js.map +1 -1
  115. package/dist/routers/event.d.ts +8 -0
  116. package/dist/routers/event.d.ts.map +1 -1
  117. package/dist/routers/fees.d.ts +513 -0
  118. package/dist/routers/fees.d.ts.map +1 -0
  119. package/dist/routers/fees.js +88 -0
  120. package/dist/routers/fees.js.map +1 -0
  121. package/dist/routers/file.d.ts +2 -0
  122. package/dist/routers/file.d.ts.map +1 -1
  123. package/dist/routers/gradebook.d.ts +4 -1
  124. package/dist/routers/gradebook.d.ts.map +1 -1
  125. package/dist/routers/marketplace.d.ts +371 -0
  126. package/dist/routers/marketplace.d.ts.map +1 -0
  127. package/dist/routers/marketplace.js +87 -0
  128. package/dist/routers/marketplace.js.map +1 -0
  129. package/dist/routers/moduleItem.d.ts +263 -0
  130. package/dist/routers/moduleItem.d.ts.map +1 -0
  131. package/dist/routers/moduleItem.js +61 -0
  132. package/dist/routers/moduleItem.js.map +1 -0
  133. package/dist/routers/parent.d.ts +170 -0
  134. package/dist/routers/parent.d.ts.map +1 -0
  135. package/dist/routers/parent.js +49 -0
  136. package/dist/routers/parent.js.map +1 -0
  137. package/dist/routers/school.d.ts +363 -7
  138. package/dist/routers/school.d.ts.map +1 -1
  139. package/dist/routers/school.js +110 -3
  140. package/dist/routers/school.js.map +1 -1
  141. package/dist/routers/worksheet.d.ts +27 -0
  142. package/dist/routers/worksheet.d.ts.map +1 -1
  143. package/dist/routers/worksheet.js +10 -3
  144. package/dist/routers/worksheet.js.map +1 -1
  145. package/dist/services/academicCalendar.d.ts +173 -0
  146. package/dist/services/academicCalendar.d.ts.map +1 -0
  147. package/dist/services/academicCalendar.js +242 -0
  148. package/dist/services/academicCalendar.js.map +1 -0
  149. package/dist/services/adminInstitution.d.ts +2 -0
  150. package/dist/services/adminInstitution.d.ts.map +1 -1
  151. package/dist/services/agenda.d.ts +8 -0
  152. package/dist/services/agenda.d.ts.map +1 -1
  153. package/dist/services/assignment.d.ts +75 -0
  154. package/dist/services/assignment.d.ts.map +1 -1
  155. package/dist/services/assignment.js +91 -12
  156. package/dist/services/assignment.js.map +1 -1
  157. package/dist/services/attendance.d.ts +327 -10
  158. package/dist/services/attendance.d.ts.map +1 -1
  159. package/dist/services/attendance.js +389 -25
  160. package/dist/services/attendance.js.map +1 -1
  161. package/dist/services/attendanceMerge.d.ts +53 -0
  162. package/dist/services/attendanceMerge.d.ts.map +1 -0
  163. package/dist/services/attendanceMerge.js +87 -0
  164. package/dist/services/attendanceMerge.js.map +1 -0
  165. package/dist/services/attendanceRate.d.ts +24 -0
  166. package/dist/services/attendanceRate.d.ts.map +1 -0
  167. package/dist/services/attendanceRate.js +31 -0
  168. package/dist/services/attendanceRate.js.map +1 -0
  169. package/dist/services/attendanceStats.d.ts +22 -0
  170. package/dist/services/attendanceStats.d.ts.map +1 -0
  171. package/dist/services/attendanceStats.js +45 -0
  172. package/dist/services/attendanceStats.js.map +1 -0
  173. package/dist/services/class.d.ts +34 -2
  174. package/dist/services/class.d.ts.map +1 -1
  175. package/dist/services/class.js +27 -4
  176. package/dist/services/class.js.map +1 -1
  177. package/dist/services/event.d.ts +8 -0
  178. package/dist/services/event.d.ts.map +1 -1
  179. package/dist/services/fees.d.ts +422 -0
  180. package/dist/services/fees.d.ts.map +1 -0
  181. package/dist/services/fees.js +330 -0
  182. package/dist/services/fees.js.map +1 -0
  183. package/dist/services/feesAuthz.d.ts +46 -0
  184. package/dist/services/feesAuthz.d.ts.map +1 -0
  185. package/dist/services/feesAuthz.js +49 -0
  186. package/dist/services/feesAuthz.js.map +1 -0
  187. package/dist/services/file.d.ts +4 -0
  188. package/dist/services/file.d.ts.map +1 -1
  189. package/dist/services/gradebook.d.ts +18 -1
  190. package/dist/services/gradebook.d.ts.map +1 -1
  191. package/dist/services/gradebook.js +57 -2
  192. package/dist/services/gradebook.js.map +1 -1
  193. package/dist/services/idCard.d.ts +11 -0
  194. package/dist/services/idCard.d.ts.map +1 -0
  195. package/dist/services/idCard.js +122 -0
  196. package/dist/services/idCard.js.map +1 -0
  197. package/dist/services/marketplace.d.ts +301 -0
  198. package/dist/services/marketplace.d.ts.map +1 -0
  199. package/dist/services/marketplace.js +631 -0
  200. package/dist/services/marketplace.js.map +1 -0
  201. package/dist/services/moduleItem.d.ts +196 -0
  202. package/dist/services/moduleItem.d.ts.map +1 -0
  203. package/dist/services/moduleItem.js +204 -0
  204. package/dist/services/moduleItem.js.map +1 -0
  205. package/dist/services/notification.d.ts +58 -0
  206. package/dist/services/notification.d.ts.map +1 -1
  207. package/dist/services/notification.js +30 -2
  208. package/dist/services/notification.js.map +1 -1
  209. package/dist/services/parentPortal.d.ts +131 -0
  210. package/dist/services/parentPortal.d.ts.map +1 -0
  211. package/dist/services/parentPortal.js +314 -0
  212. package/dist/services/parentPortal.js.map +1 -0
  213. package/dist/services/school.d.ts +28 -3
  214. package/dist/services/school.d.ts.map +1 -1
  215. package/dist/services/school.js +98 -54
  216. package/dist/services/school.js.map +1 -1
  217. package/dist/services/studentImport.d.ts +34 -0
  218. package/dist/services/studentImport.d.ts.map +1 -0
  219. package/dist/services/studentImport.js +249 -0
  220. package/dist/services/studentImport.js.map +1 -0
  221. package/dist/services/transcript.d.ts +60 -0
  222. package/dist/services/transcript.d.ts.map +1 -0
  223. package/dist/services/transcript.js +231 -0
  224. package/dist/services/transcript.js.map +1 -0
  225. package/dist/services/worksheet.d.ts +22 -0
  226. package/dist/services/worksheet.d.ts.map +1 -1
  227. package/dist/services/worksheet.js +94 -2
  228. package/dist/services/worksheet.js.map +1 -1
  229. package/dist/trpc.d.ts +1 -1
  230. package/dist/trpc.d.ts.map +1 -1
  231. package/dist/trpc.js +5 -5
  232. package/dist/trpc.js.map +1 -1
  233. package/dist/utils/adminPanelAccess.d.ts +4 -5
  234. package/dist/utils/adminPanelAccess.d.ts.map +1 -1
  235. package/dist/utils/adminPanelAccess.js +12 -34
  236. package/dist/utils/adminPanelAccess.js.map +1 -1
  237. package/package.json +2 -1
  238. package/prisma/migrations/20260804120000_add_attendance_records_and_excusals/migration.sql +114 -0
  239. package/prisma/migrations/20260804120100_add_fee_plans_invoices_payments/migration.sql +101 -0
  240. package/prisma/migrations/20260804120200_add_marketplace_listings/migration.sql +54 -0
  241. package/prisma/migrations/20260804120300_content_platform_b3_b9/migration.sql +63 -0
  242. package/prisma/migrations/20260804120400_c_academic_ops/migration.sql +77 -0
  243. package/prisma/schema.prisma +371 -11
  244. package/scripts/import-nepal-cdc-curriculum.ts +402 -0
  245. package/src/lib/assignmentTypeDefaults.ts +222 -0
  246. package/src/lib/config/env.ts +0 -3
  247. package/src/lib/feePdf.ts +199 -0
  248. package/src/lib/feePdfFormat.ts +14 -0
  249. package/src/lib/idCardPdf.ts +336 -0
  250. package/src/lib/pdfLetterhead.ts +124 -0
  251. package/src/lib/transcriptPdf.ts +502 -0
  252. package/src/models/academicCalendar.ts +139 -0
  253. package/src/models/attendance.ts +702 -73
  254. package/src/models/class.ts +1 -0
  255. package/src/models/fees.ts +349 -0
  256. package/src/models/marketplace.ts +161 -0
  257. package/src/models/moduleItem.ts +125 -0
  258. package/src/models/school.ts +6 -0
  259. package/src/models/worksheet.ts +2 -0
  260. package/src/routers/_app.ts +10 -0
  261. package/src/routers/academicCalendar.ts +103 -0
  262. package/src/routers/assignment.ts +8 -0
  263. package/src/routers/attendance.ts +7 -3
  264. package/src/routers/class.ts +4 -0
  265. package/src/routers/fees.ts +126 -0
  266. package/src/routers/marketplace.ts +134 -0
  267. package/src/routers/moduleItem.ts +91 -0
  268. package/src/routers/parent.ts +68 -0
  269. package/src/routers/school.ts +149 -1
  270. package/src/routers/worksheet.ts +11 -0
  271. package/src/services/academicCalendar.ts +327 -0
  272. package/src/services/assignment.ts +122 -12
  273. package/src/services/attendance.ts +552 -26
  274. package/src/services/attendanceMerge.ts +139 -0
  275. package/src/services/attendanceRate.ts +41 -0
  276. package/src/services/attendanceStats.ts +63 -0
  277. package/src/services/class.ts +26 -2
  278. package/src/services/fees.ts +447 -0
  279. package/src/services/feesAuthz.ts +73 -0
  280. package/src/services/gradebook.ts +70 -0
  281. package/src/services/idCard.ts +147 -0
  282. package/src/services/marketplace.ts +790 -0
  283. package/src/services/moduleItem.ts +298 -0
  284. package/src/services/notification.ts +43 -0
  285. package/src/services/parentPortal.ts +367 -0
  286. package/src/services/school.ts +100 -54
  287. package/src/services/studentImport.ts +285 -0
  288. package/src/services/transcript.ts +301 -0
  289. package/src/services/worksheet.ts +111 -0
  290. package/src/trpc.ts +3 -3
  291. package/src/utils/adminPanelAccess.ts +12 -35
  292. package/tests/unit/assignmentTypeDefaults.test.ts +52 -0
  293. package/tests/unit/lib/feePdf.test.ts +15 -0
  294. package/tests/unit/lib/idCardPdf.test.ts +40 -0
  295. package/tests/unit/lib/transcriptPdf.test.ts +111 -0
  296. package/tests/unit/services/attendanceMerge.test.ts +90 -0
  297. package/tests/unit/services/attendanceRate.test.ts +38 -0
  298. package/tests/unit/services/attendanceStats.test.ts +54 -0
@@ -0,0 +1,1511 @@
1
+ {
2
+ "key": "mathematics",
3
+ "nameEn": "Mathematics",
4
+ "nameNe": "गणित",
5
+ "annex": "3 (ग)",
6
+ "units": [
7
+ {
8
+ "id": "g4-mathematics-u01",
9
+ "grade": 4,
10
+ "subjectKey": "mathematics",
11
+ "unitNumber": 1,
12
+ "titleEn": "Geometry",
13
+ "titleNe": "ज्यामिति",
14
+ "transcriptionStatus": "ocr-corrected",
15
+ "notes": null,
16
+ "tags": [
17
+ "Grade 4",
18
+ "mathematics",
19
+ "CDC-2083",
20
+ "formative"
21
+ ],
22
+ "markScheme": {
23
+ "name": "CDC G4 mathematics — Unit 1: Geometry",
24
+ "description": "Nepal CDC G4 formative learning-outcome form — Geometry. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
25
+ "category": "CDC-G4-5",
26
+ "totalPoints": 16,
27
+ "criteria": [
28
+ {
29
+ "id": "lo-1",
30
+ "title": "1. Measure and draw angles from 0° to 180° using a protractor",
31
+ "description": "Measure and draw angles from 0° to 180° using a protractor",
32
+ "levels": [
33
+ {
34
+ "id": "advanced",
35
+ "name": "Advanced",
36
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
37
+ "points": 4,
38
+ "color": "#059669"
39
+ },
40
+ {
41
+ "id": "proficient",
42
+ "name": "Proficient",
43
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
44
+ "points": 3,
45
+ "color": "#2563eb"
46
+ },
47
+ {
48
+ "id": "basic",
49
+ "name": "Basic",
50
+ "description": "Learning outcome partially achieved; remedial learning needed",
51
+ "points": 2,
52
+ "color": "#ca8a04"
53
+ },
54
+ {
55
+ "id": "below-basic",
56
+ "name": "Below Basic",
57
+ "description": "Learning outcome not achieved; remedial learning needed",
58
+ "points": 1,
59
+ "color": "#dc2626"
60
+ }
61
+ ],
62
+ "meta": {
63
+ "index": 1,
64
+ "transcriptionStatus": "ocr-corrected"
65
+ }
66
+ },
67
+ {
68
+ "id": "lo-2",
69
+ "title": "2. Identify vertices, sides and angles of triangles and quadrilaterals",
70
+ "description": "Identify vertices, sides and angles of triangles and quadrilaterals",
71
+ "levels": [
72
+ {
73
+ "id": "advanced",
74
+ "name": "Advanced",
75
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
76
+ "points": 4,
77
+ "color": "#059669"
78
+ },
79
+ {
80
+ "id": "proficient",
81
+ "name": "Proficient",
82
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
83
+ "points": 3,
84
+ "color": "#2563eb"
85
+ },
86
+ {
87
+ "id": "basic",
88
+ "name": "Basic",
89
+ "description": "Learning outcome partially achieved; remedial learning needed",
90
+ "points": 2,
91
+ "color": "#ca8a04"
92
+ },
93
+ {
94
+ "id": "below-basic",
95
+ "name": "Below Basic",
96
+ "description": "Learning outcome not achieved; remedial learning needed",
97
+ "points": 1,
98
+ "color": "#dc2626"
99
+ }
100
+ ],
101
+ "meta": {
102
+ "index": 2,
103
+ "transcriptionStatus": "ocr-corrected"
104
+ }
105
+ },
106
+ {
107
+ "id": "lo-3",
108
+ "title": "3. Measure side lengths of triangles and quadrilaterals",
109
+ "description": "Measure side lengths of triangles and quadrilaterals",
110
+ "levels": [
111
+ {
112
+ "id": "advanced",
113
+ "name": "Advanced",
114
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
115
+ "points": 4,
116
+ "color": "#059669"
117
+ },
118
+ {
119
+ "id": "proficient",
120
+ "name": "Proficient",
121
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
122
+ "points": 3,
123
+ "color": "#2563eb"
124
+ },
125
+ {
126
+ "id": "basic",
127
+ "name": "Basic",
128
+ "description": "Learning outcome partially achieved; remedial learning needed",
129
+ "points": 2,
130
+ "color": "#ca8a04"
131
+ },
132
+ {
133
+ "id": "below-basic",
134
+ "name": "Below Basic",
135
+ "description": "Learning outcome not achieved; remedial learning needed",
136
+ "points": 1,
137
+ "color": "#dc2626"
138
+ }
139
+ ],
140
+ "meta": {
141
+ "index": 3,
142
+ "transcriptionStatus": "ocr-corrected"
143
+ }
144
+ },
145
+ {
146
+ "id": "lo-4",
147
+ "title": "4. Distinguish vertices, edges and faces of cubes and cuboids",
148
+ "description": "Distinguish vertices, edges and faces of cubes and cuboids",
149
+ "levels": [
150
+ {
151
+ "id": "advanced",
152
+ "name": "Advanced",
153
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
154
+ "points": 4,
155
+ "color": "#059669"
156
+ },
157
+ {
158
+ "id": "proficient",
159
+ "name": "Proficient",
160
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
161
+ "points": 3,
162
+ "color": "#2563eb"
163
+ },
164
+ {
165
+ "id": "basic",
166
+ "name": "Basic",
167
+ "description": "Learning outcome partially achieved; remedial learning needed",
168
+ "points": 2,
169
+ "color": "#ca8a04"
170
+ },
171
+ {
172
+ "id": "below-basic",
173
+ "name": "Below Basic",
174
+ "description": "Learning outcome not achieved; remedial learning needed",
175
+ "points": 1,
176
+ "color": "#dc2626"
177
+ }
178
+ ],
179
+ "meta": {
180
+ "index": 4,
181
+ "transcriptionStatus": "ocr-corrected"
182
+ }
183
+ }
184
+ ]
185
+ }
186
+ },
187
+ {
188
+ "id": "g4-mathematics-u02",
189
+ "grade": 4,
190
+ "subjectKey": "mathematics",
191
+ "unitNumber": 2,
192
+ "titleEn": "Arithmetic",
193
+ "titleNe": "अङ्कगणित",
194
+ "transcriptionStatus": "ocr-corrected",
195
+ "notes": null,
196
+ "tags": [
197
+ "Grade 4",
198
+ "mathematics",
199
+ "CDC-2083",
200
+ "formative"
201
+ ],
202
+ "markScheme": {
203
+ "name": "CDC G4 mathematics — Unit 2: Arithmetic",
204
+ "description": "Nepal CDC G4 formative learning-outcome form — Arithmetic. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
205
+ "category": "CDC-G4-5",
206
+ "totalPoints": 44,
207
+ "criteria": [
208
+ {
209
+ "id": "lo-1",
210
+ "title": "1. Present, read and write numbers up to seven digits using place-value tables (Devanagari and Hindu-Arabic)",
211
+ "description": "Present, read and write numbers up to seven digits using place-value tables (Devanagari and Hindu-Arabic)",
212
+ "levels": [
213
+ {
214
+ "id": "advanced",
215
+ "name": "Advanced",
216
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
217
+ "points": 4,
218
+ "color": "#059669"
219
+ },
220
+ {
221
+ "id": "proficient",
222
+ "name": "Proficient",
223
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
224
+ "points": 3,
225
+ "color": "#2563eb"
226
+ },
227
+ {
228
+ "id": "basic",
229
+ "name": "Basic",
230
+ "description": "Learning outcome partially achieved; remedial learning needed",
231
+ "points": 2,
232
+ "color": "#ca8a04"
233
+ },
234
+ {
235
+ "id": "below-basic",
236
+ "name": "Below Basic",
237
+ "description": "Learning outcome not achieved; remedial learning needed",
238
+ "points": 1,
239
+ "color": "#dc2626"
240
+ }
241
+ ],
242
+ "meta": {
243
+ "index": 1,
244
+ "transcriptionStatus": "ocr-corrected"
245
+ }
246
+ },
247
+ {
248
+ "id": "lo-2",
249
+ "title": "2. Round numbers up to four digits to nearest ten and hundred",
250
+ "description": "Round numbers up to four digits to nearest ten and hundred",
251
+ "levels": [
252
+ {
253
+ "id": "advanced",
254
+ "name": "Advanced",
255
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
256
+ "points": 4,
257
+ "color": "#059669"
258
+ },
259
+ {
260
+ "id": "proficient",
261
+ "name": "Proficient",
262
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
263
+ "points": 3,
264
+ "color": "#2563eb"
265
+ },
266
+ {
267
+ "id": "basic",
268
+ "name": "Basic",
269
+ "description": "Learning outcome partially achieved; remedial learning needed",
270
+ "points": 2,
271
+ "color": "#ca8a04"
272
+ },
273
+ {
274
+ "id": "below-basic",
275
+ "name": "Below Basic",
276
+ "description": "Learning outcome not achieved; remedial learning needed",
277
+ "points": 1,
278
+ "color": "#dc2626"
279
+ }
280
+ ],
281
+ "meta": {
282
+ "index": 2,
283
+ "transcriptionStatus": "ocr-corrected"
284
+ }
285
+ },
286
+ {
287
+ "id": "lo-3",
288
+ "title": "3. Add numbers up to five digits",
289
+ "description": "Add numbers up to five digits",
290
+ "levels": [
291
+ {
292
+ "id": "advanced",
293
+ "name": "Advanced",
294
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
295
+ "points": 4,
296
+ "color": "#059669"
297
+ },
298
+ {
299
+ "id": "proficient",
300
+ "name": "Proficient",
301
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
302
+ "points": 3,
303
+ "color": "#2563eb"
304
+ },
305
+ {
306
+ "id": "basic",
307
+ "name": "Basic",
308
+ "description": "Learning outcome partially achieved; remedial learning needed",
309
+ "points": 2,
310
+ "color": "#ca8a04"
311
+ },
312
+ {
313
+ "id": "below-basic",
314
+ "name": "Below Basic",
315
+ "description": "Learning outcome not achieved; remedial learning needed",
316
+ "points": 1,
317
+ "color": "#dc2626"
318
+ }
319
+ ],
320
+ "meta": {
321
+ "index": 3,
322
+ "transcriptionStatus": "ocr-corrected"
323
+ }
324
+ },
325
+ {
326
+ "id": "lo-4",
327
+ "title": "4. Subtract numbers up to five digits",
328
+ "description": "Subtract numbers up to five digits",
329
+ "levels": [
330
+ {
331
+ "id": "advanced",
332
+ "name": "Advanced",
333
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
334
+ "points": 4,
335
+ "color": "#059669"
336
+ },
337
+ {
338
+ "id": "proficient",
339
+ "name": "Proficient",
340
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
341
+ "points": 3,
342
+ "color": "#2563eb"
343
+ },
344
+ {
345
+ "id": "basic",
346
+ "name": "Basic",
347
+ "description": "Learning outcome partially achieved; remedial learning needed",
348
+ "points": 2,
349
+ "color": "#ca8a04"
350
+ },
351
+ {
352
+ "id": "below-basic",
353
+ "name": "Below Basic",
354
+ "description": "Learning outcome not achieved; remedial learning needed",
355
+ "points": 1,
356
+ "color": "#dc2626"
357
+ }
358
+ ],
359
+ "meta": {
360
+ "index": 4,
361
+ "transcriptionStatus": "ocr-corrected"
362
+ }
363
+ },
364
+ {
365
+ "id": "lo-5",
366
+ "title": "5. Multiply numbers up to three digits by numbers up to three digits",
367
+ "description": "Multiply numbers up to three digits by numbers up to three digits",
368
+ "levels": [
369
+ {
370
+ "id": "advanced",
371
+ "name": "Advanced",
372
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
373
+ "points": 4,
374
+ "color": "#059669"
375
+ },
376
+ {
377
+ "id": "proficient",
378
+ "name": "Proficient",
379
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
380
+ "points": 3,
381
+ "color": "#2563eb"
382
+ },
383
+ {
384
+ "id": "basic",
385
+ "name": "Basic",
386
+ "description": "Learning outcome partially achieved; remedial learning needed",
387
+ "points": 2,
388
+ "color": "#ca8a04"
389
+ },
390
+ {
391
+ "id": "below-basic",
392
+ "name": "Below Basic",
393
+ "description": "Learning outcome not achieved; remedial learning needed",
394
+ "points": 1,
395
+ "color": "#dc2626"
396
+ }
397
+ ],
398
+ "meta": {
399
+ "index": 5,
400
+ "transcriptionStatus": "ocr-corrected"
401
+ }
402
+ },
403
+ {
404
+ "id": "lo-6",
405
+ "title": "6. Divide numbers up to three digits by numbers up to two digits",
406
+ "description": "Divide numbers up to three digits by numbers up to two digits",
407
+ "levels": [
408
+ {
409
+ "id": "advanced",
410
+ "name": "Advanced",
411
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
412
+ "points": 4,
413
+ "color": "#059669"
414
+ },
415
+ {
416
+ "id": "proficient",
417
+ "name": "Proficient",
418
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
419
+ "points": 3,
420
+ "color": "#2563eb"
421
+ },
422
+ {
423
+ "id": "basic",
424
+ "name": "Basic",
425
+ "description": "Learning outcome partially achieved; remedial learning needed",
426
+ "points": 2,
427
+ "color": "#ca8a04"
428
+ },
429
+ {
430
+ "id": "below-basic",
431
+ "name": "Below Basic",
432
+ "description": "Learning outcome not achieved; remedial learning needed",
433
+ "points": 1,
434
+ "color": "#dc2626"
435
+ }
436
+ ],
437
+ "meta": {
438
+ "index": 6,
439
+ "transcriptionStatus": "ocr-corrected"
440
+ }
441
+ },
442
+ {
443
+ "id": "lo-7",
444
+ "title": "7. Solve problems involving addition and subtraction",
445
+ "description": "Solve problems involving addition and subtraction",
446
+ "levels": [
447
+ {
448
+ "id": "advanced",
449
+ "name": "Advanced",
450
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
451
+ "points": 4,
452
+ "color": "#059669"
453
+ },
454
+ {
455
+ "id": "proficient",
456
+ "name": "Proficient",
457
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
458
+ "points": 3,
459
+ "color": "#2563eb"
460
+ },
461
+ {
462
+ "id": "basic",
463
+ "name": "Basic",
464
+ "description": "Learning outcome partially achieved; remedial learning needed",
465
+ "points": 2,
466
+ "color": "#ca8a04"
467
+ },
468
+ {
469
+ "id": "below-basic",
470
+ "name": "Below Basic",
471
+ "description": "Learning outcome not achieved; remedial learning needed",
472
+ "points": 1,
473
+ "color": "#dc2626"
474
+ }
475
+ ],
476
+ "meta": {
477
+ "index": 7,
478
+ "transcriptionStatus": "ocr-corrected"
479
+ }
480
+ },
481
+ {
482
+ "id": "lo-8",
483
+ "title": "8. Compare fractions with the same denominator",
484
+ "description": "Compare fractions with the same denominator",
485
+ "levels": [
486
+ {
487
+ "id": "advanced",
488
+ "name": "Advanced",
489
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
490
+ "points": 4,
491
+ "color": "#059669"
492
+ },
493
+ {
494
+ "id": "proficient",
495
+ "name": "Proficient",
496
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
497
+ "points": 3,
498
+ "color": "#2563eb"
499
+ },
500
+ {
501
+ "id": "basic",
502
+ "name": "Basic",
503
+ "description": "Learning outcome partially achieved; remedial learning needed",
504
+ "points": 2,
505
+ "color": "#ca8a04"
506
+ },
507
+ {
508
+ "id": "below-basic",
509
+ "name": "Below Basic",
510
+ "description": "Learning outcome not achieved; remedial learning needed",
511
+ "points": 1,
512
+ "color": "#dc2626"
513
+ }
514
+ ],
515
+ "meta": {
516
+ "index": 8,
517
+ "transcriptionStatus": "ocr-corrected"
518
+ }
519
+ },
520
+ {
521
+ "id": "lo-9",
522
+ "title": "9. Distinguish proper, improper and mixed numbers",
523
+ "description": "Distinguish proper, improper and mixed numbers",
524
+ "levels": [
525
+ {
526
+ "id": "advanced",
527
+ "name": "Advanced",
528
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
529
+ "points": 4,
530
+ "color": "#059669"
531
+ },
532
+ {
533
+ "id": "proficient",
534
+ "name": "Proficient",
535
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
536
+ "points": 3,
537
+ "color": "#2563eb"
538
+ },
539
+ {
540
+ "id": "basic",
541
+ "name": "Basic",
542
+ "description": "Learning outcome partially achieved; remedial learning needed",
543
+ "points": 2,
544
+ "color": "#ca8a04"
545
+ },
546
+ {
547
+ "id": "below-basic",
548
+ "name": "Below Basic",
549
+ "description": "Learning outcome not achieved; remedial learning needed",
550
+ "points": 1,
551
+ "color": "#dc2626"
552
+ }
553
+ ],
554
+ "meta": {
555
+ "index": 9,
556
+ "transcriptionStatus": "ocr-corrected"
557
+ }
558
+ },
559
+ {
560
+ "id": "lo-10",
561
+ "title": "10. Represent tenths and hundredths with pictures, fractions and decimals",
562
+ "description": "Represent tenths and hundredths with pictures, fractions and decimals",
563
+ "levels": [
564
+ {
565
+ "id": "advanced",
566
+ "name": "Advanced",
567
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
568
+ "points": 4,
569
+ "color": "#059669"
570
+ },
571
+ {
572
+ "id": "proficient",
573
+ "name": "Proficient",
574
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
575
+ "points": 3,
576
+ "color": "#2563eb"
577
+ },
578
+ {
579
+ "id": "basic",
580
+ "name": "Basic",
581
+ "description": "Learning outcome partially achieved; remedial learning needed",
582
+ "points": 2,
583
+ "color": "#ca8a04"
584
+ },
585
+ {
586
+ "id": "below-basic",
587
+ "name": "Below Basic",
588
+ "description": "Learning outcome not achieved; remedial learning needed",
589
+ "points": 1,
590
+ "color": "#dc2626"
591
+ }
592
+ ],
593
+ "meta": {
594
+ "index": 10,
595
+ "transcriptionStatus": "ocr-corrected"
596
+ }
597
+ },
598
+ {
599
+ "id": "lo-11",
600
+ "title": "11. Relate fractions, decimals and percentages using pictures",
601
+ "description": "Relate fractions, decimals and percentages using pictures",
602
+ "levels": [
603
+ {
604
+ "id": "advanced",
605
+ "name": "Advanced",
606
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
607
+ "points": 4,
608
+ "color": "#059669"
609
+ },
610
+ {
611
+ "id": "proficient",
612
+ "name": "Proficient",
613
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
614
+ "points": 3,
615
+ "color": "#2563eb"
616
+ },
617
+ {
618
+ "id": "basic",
619
+ "name": "Basic",
620
+ "description": "Learning outcome partially achieved; remedial learning needed",
621
+ "points": 2,
622
+ "color": "#ca8a04"
623
+ },
624
+ {
625
+ "id": "below-basic",
626
+ "name": "Below Basic",
627
+ "description": "Learning outcome not achieved; remedial learning needed",
628
+ "points": 1,
629
+ "color": "#dc2626"
630
+ }
631
+ ],
632
+ "meta": {
633
+ "index": 11,
634
+ "transcriptionStatus": "ocr-corrected"
635
+ }
636
+ }
637
+ ]
638
+ }
639
+ },
640
+ {
641
+ "id": "g4-mathematics-u03",
642
+ "grade": 4,
643
+ "subjectKey": "mathematics",
644
+ "unitNumber": 3,
645
+ "titleEn": "Measurement",
646
+ "titleNe": "नाप",
647
+ "transcriptionStatus": "ocr-corrected",
648
+ "notes": null,
649
+ "tags": [
650
+ "Grade 4",
651
+ "mathematics",
652
+ "CDC-2083",
653
+ "formative"
654
+ ],
655
+ "markScheme": {
656
+ "name": "CDC G4 mathematics — Unit 3: Measurement",
657
+ "description": "Nepal CDC G4 formative learning-outcome form — Measurement. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
658
+ "category": "CDC-G4-5",
659
+ "totalPoints": 40,
660
+ "criteria": [
661
+ {
662
+ "id": "lo-1",
663
+ "title": "1. Convert units of time",
664
+ "description": "Convert units of time",
665
+ "levels": [
666
+ {
667
+ "id": "advanced",
668
+ "name": "Advanced",
669
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
670
+ "points": 4,
671
+ "color": "#059669"
672
+ },
673
+ {
674
+ "id": "proficient",
675
+ "name": "Proficient",
676
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
677
+ "points": 3,
678
+ "color": "#2563eb"
679
+ },
680
+ {
681
+ "id": "basic",
682
+ "name": "Basic",
683
+ "description": "Learning outcome partially achieved; remedial learning needed",
684
+ "points": 2,
685
+ "color": "#ca8a04"
686
+ },
687
+ {
688
+ "id": "below-basic",
689
+ "name": "Below Basic",
690
+ "description": "Learning outcome not achieved; remedial learning needed",
691
+ "points": 1,
692
+ "color": "#dc2626"
693
+ }
694
+ ],
695
+ "meta": {
696
+ "index": 1,
697
+ "transcriptionStatus": "ocr-corrected"
698
+ }
699
+ },
700
+ {
701
+ "id": "lo-2",
702
+ "title": "2. Add and subtract units of time (year/month, day/hour, hour/minute, week/day)",
703
+ "description": "Add and subtract units of time (year/month, day/hour, hour/minute, week/day)",
704
+ "levels": [
705
+ {
706
+ "id": "advanced",
707
+ "name": "Advanced",
708
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
709
+ "points": 4,
710
+ "color": "#059669"
711
+ },
712
+ {
713
+ "id": "proficient",
714
+ "name": "Proficient",
715
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
716
+ "points": 3,
717
+ "color": "#2563eb"
718
+ },
719
+ {
720
+ "id": "basic",
721
+ "name": "Basic",
722
+ "description": "Learning outcome partially achieved; remedial learning needed",
723
+ "points": 2,
724
+ "color": "#ca8a04"
725
+ },
726
+ {
727
+ "id": "below-basic",
728
+ "name": "Below Basic",
729
+ "description": "Learning outcome not achieved; remedial learning needed",
730
+ "points": 1,
731
+ "color": "#dc2626"
732
+ }
733
+ ],
734
+ "meta": {
735
+ "index": 2,
736
+ "transcriptionStatus": "ocr-corrected"
737
+ }
738
+ },
739
+ {
740
+ "id": "lo-3",
741
+ "title": "3. Multiply and divide involving rupees and paisa",
742
+ "description": "Multiply and divide involving rupees and paisa",
743
+ "levels": [
744
+ {
745
+ "id": "advanced",
746
+ "name": "Advanced",
747
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
748
+ "points": 4,
749
+ "color": "#059669"
750
+ },
751
+ {
752
+ "id": "proficient",
753
+ "name": "Proficient",
754
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
755
+ "points": 3,
756
+ "color": "#2563eb"
757
+ },
758
+ {
759
+ "id": "basic",
760
+ "name": "Basic",
761
+ "description": "Learning outcome partially achieved; remedial learning needed",
762
+ "points": 2,
763
+ "color": "#ca8a04"
764
+ },
765
+ {
766
+ "id": "below-basic",
767
+ "name": "Below Basic",
768
+ "description": "Learning outcome not achieved; remedial learning needed",
769
+ "points": 1,
770
+ "color": "#dc2626"
771
+ }
772
+ ],
773
+ "meta": {
774
+ "index": 3,
775
+ "transcriptionStatus": "ocr-corrected"
776
+ }
777
+ },
778
+ {
779
+ "id": "lo-4",
780
+ "title": "4. Convert units of length (cm/mm, m/cm, km/m)",
781
+ "description": "Convert units of length (cm/mm, m/cm, km/m)",
782
+ "levels": [
783
+ {
784
+ "id": "advanced",
785
+ "name": "Advanced",
786
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
787
+ "points": 4,
788
+ "color": "#059669"
789
+ },
790
+ {
791
+ "id": "proficient",
792
+ "name": "Proficient",
793
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
794
+ "points": 3,
795
+ "color": "#2563eb"
796
+ },
797
+ {
798
+ "id": "basic",
799
+ "name": "Basic",
800
+ "description": "Learning outcome partially achieved; remedial learning needed",
801
+ "points": 2,
802
+ "color": "#ca8a04"
803
+ },
804
+ {
805
+ "id": "below-basic",
806
+ "name": "Below Basic",
807
+ "description": "Learning outcome not achieved; remedial learning needed",
808
+ "points": 1,
809
+ "color": "#dc2626"
810
+ }
811
+ ],
812
+ "meta": {
813
+ "index": 4,
814
+ "transcriptionStatus": "ocr-corrected"
815
+ }
816
+ },
817
+ {
818
+ "id": "lo-5",
819
+ "title": "5. Add and subtract length units (cm/m, m/km)",
820
+ "description": "Add and subtract length units (cm/m, m/km)",
821
+ "levels": [
822
+ {
823
+ "id": "advanced",
824
+ "name": "Advanced",
825
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
826
+ "points": 4,
827
+ "color": "#059669"
828
+ },
829
+ {
830
+ "id": "proficient",
831
+ "name": "Proficient",
832
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
833
+ "points": 3,
834
+ "color": "#2563eb"
835
+ },
836
+ {
837
+ "id": "basic",
838
+ "name": "Basic",
839
+ "description": "Learning outcome partially achieved; remedial learning needed",
840
+ "points": 2,
841
+ "color": "#ca8a04"
842
+ },
843
+ {
844
+ "id": "below-basic",
845
+ "name": "Below Basic",
846
+ "description": "Learning outcome not achieved; remedial learning needed",
847
+ "points": 1,
848
+ "color": "#dc2626"
849
+ }
850
+ ],
851
+ "meta": {
852
+ "index": 5,
853
+ "transcriptionStatus": "ocr-corrected"
854
+ }
855
+ },
856
+ {
857
+ "id": "lo-6",
858
+ "title": "6. Convert litres and millilitres",
859
+ "description": "Convert litres and millilitres",
860
+ "levels": [
861
+ {
862
+ "id": "advanced",
863
+ "name": "Advanced",
864
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
865
+ "points": 4,
866
+ "color": "#059669"
867
+ },
868
+ {
869
+ "id": "proficient",
870
+ "name": "Proficient",
871
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
872
+ "points": 3,
873
+ "color": "#2563eb"
874
+ },
875
+ {
876
+ "id": "basic",
877
+ "name": "Basic",
878
+ "description": "Learning outcome partially achieved; remedial learning needed",
879
+ "points": 2,
880
+ "color": "#ca8a04"
881
+ },
882
+ {
883
+ "id": "below-basic",
884
+ "name": "Below Basic",
885
+ "description": "Learning outcome not achieved; remedial learning needed",
886
+ "points": 1,
887
+ "color": "#dc2626"
888
+ }
889
+ ],
890
+ "meta": {
891
+ "index": 6,
892
+ "transcriptionStatus": "ocr-corrected"
893
+ }
894
+ },
895
+ {
896
+ "id": "lo-7",
897
+ "title": "7. Add and subtract litres and millilitres",
898
+ "description": "Add and subtract litres and millilitres",
899
+ "levels": [
900
+ {
901
+ "id": "advanced",
902
+ "name": "Advanced",
903
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
904
+ "points": 4,
905
+ "color": "#059669"
906
+ },
907
+ {
908
+ "id": "proficient",
909
+ "name": "Proficient",
910
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
911
+ "points": 3,
912
+ "color": "#2563eb"
913
+ },
914
+ {
915
+ "id": "basic",
916
+ "name": "Basic",
917
+ "description": "Learning outcome partially achieved; remedial learning needed",
918
+ "points": 2,
919
+ "color": "#ca8a04"
920
+ },
921
+ {
922
+ "id": "below-basic",
923
+ "name": "Below Basic",
924
+ "description": "Learning outcome not achieved; remedial learning needed",
925
+ "points": 1,
926
+ "color": "#dc2626"
927
+ }
928
+ ],
929
+ "meta": {
930
+ "index": 7,
931
+ "transcriptionStatus": "ocr-corrected"
932
+ }
933
+ },
934
+ {
935
+ "id": "lo-8",
936
+ "title": "8. Convert units of weight (kg/g, kg/quintal)",
937
+ "description": "Convert units of weight (kg/g, kg/quintal)",
938
+ "levels": [
939
+ {
940
+ "id": "advanced",
941
+ "name": "Advanced",
942
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
943
+ "points": 4,
944
+ "color": "#059669"
945
+ },
946
+ {
947
+ "id": "proficient",
948
+ "name": "Proficient",
949
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
950
+ "points": 3,
951
+ "color": "#2563eb"
952
+ },
953
+ {
954
+ "id": "basic",
955
+ "name": "Basic",
956
+ "description": "Learning outcome partially achieved; remedial learning needed",
957
+ "points": 2,
958
+ "color": "#ca8a04"
959
+ },
960
+ {
961
+ "id": "below-basic",
962
+ "name": "Below Basic",
963
+ "description": "Learning outcome not achieved; remedial learning needed",
964
+ "points": 1,
965
+ "color": "#dc2626"
966
+ }
967
+ ],
968
+ "meta": {
969
+ "index": 8,
970
+ "transcriptionStatus": "ocr-corrected"
971
+ }
972
+ },
973
+ {
974
+ "id": "lo-9",
975
+ "title": "9. Add and subtract weight units (g, kg, quintal)",
976
+ "description": "Add and subtract weight units (g, kg, quintal)",
977
+ "levels": [
978
+ {
979
+ "id": "advanced",
980
+ "name": "Advanced",
981
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
982
+ "points": 4,
983
+ "color": "#059669"
984
+ },
985
+ {
986
+ "id": "proficient",
987
+ "name": "Proficient",
988
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
989
+ "points": 3,
990
+ "color": "#2563eb"
991
+ },
992
+ {
993
+ "id": "basic",
994
+ "name": "Basic",
995
+ "description": "Learning outcome partially achieved; remedial learning needed",
996
+ "points": 2,
997
+ "color": "#ca8a04"
998
+ },
999
+ {
1000
+ "id": "below-basic",
1001
+ "name": "Below Basic",
1002
+ "description": "Learning outcome not achieved; remedial learning needed",
1003
+ "points": 1,
1004
+ "color": "#dc2626"
1005
+ }
1006
+ ],
1007
+ "meta": {
1008
+ "index": 9,
1009
+ "transcriptionStatus": "ocr-corrected"
1010
+ }
1011
+ },
1012
+ {
1013
+ "id": "lo-10",
1014
+ "title": "10. Find area and perimeter of rectangular and square surfaces using square tiles",
1015
+ "description": "Find area and perimeter of rectangular and square surfaces using square tiles",
1016
+ "levels": [
1017
+ {
1018
+ "id": "advanced",
1019
+ "name": "Advanced",
1020
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1021
+ "points": 4,
1022
+ "color": "#059669"
1023
+ },
1024
+ {
1025
+ "id": "proficient",
1026
+ "name": "Proficient",
1027
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1028
+ "points": 3,
1029
+ "color": "#2563eb"
1030
+ },
1031
+ {
1032
+ "id": "basic",
1033
+ "name": "Basic",
1034
+ "description": "Learning outcome partially achieved; remedial learning needed",
1035
+ "points": 2,
1036
+ "color": "#ca8a04"
1037
+ },
1038
+ {
1039
+ "id": "below-basic",
1040
+ "name": "Below Basic",
1041
+ "description": "Learning outcome not achieved; remedial learning needed",
1042
+ "points": 1,
1043
+ "color": "#dc2626"
1044
+ }
1045
+ ],
1046
+ "meta": {
1047
+ "index": 10,
1048
+ "transcriptionStatus": "ocr-corrected"
1049
+ }
1050
+ }
1051
+ ]
1052
+ }
1053
+ },
1054
+ {
1055
+ "id": "g4-mathematics-u04",
1056
+ "grade": 4,
1057
+ "subjectKey": "mathematics",
1058
+ "unitNumber": 4,
1059
+ "titleEn": "Statistics",
1060
+ "titleNe": "तथ्याङ्कशास्त्र",
1061
+ "transcriptionStatus": "partial",
1062
+ "notes": null,
1063
+ "tags": [
1064
+ "Grade 4",
1065
+ "mathematics",
1066
+ "CDC-2083",
1067
+ "formative"
1068
+ ],
1069
+ "markScheme": {
1070
+ "name": "CDC G4 mathematics — Unit 4: Statistics",
1071
+ "description": "Nepal CDC G4 formative learning-outcome form — Statistics. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
1072
+ "category": "CDC-G4-5",
1073
+ "totalPoints": 12,
1074
+ "criteria": [
1075
+ {
1076
+ "id": "lo-1",
1077
+ "title": "1. Read and give information from pictographs",
1078
+ "description": "Read and give information from pictographs",
1079
+ "levels": [
1080
+ {
1081
+ "id": "advanced",
1082
+ "name": "Advanced",
1083
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1084
+ "points": 4,
1085
+ "color": "#059669"
1086
+ },
1087
+ {
1088
+ "id": "proficient",
1089
+ "name": "Proficient",
1090
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1091
+ "points": 3,
1092
+ "color": "#2563eb"
1093
+ },
1094
+ {
1095
+ "id": "basic",
1096
+ "name": "Basic",
1097
+ "description": "Learning outcome partially achieved; remedial learning needed",
1098
+ "points": 2,
1099
+ "color": "#ca8a04"
1100
+ },
1101
+ {
1102
+ "id": "below-basic",
1103
+ "name": "Below Basic",
1104
+ "description": "Learning outcome not achieved; remedial learning needed",
1105
+ "points": 1,
1106
+ "color": "#dc2626"
1107
+ }
1108
+ ],
1109
+ "meta": {
1110
+ "index": 1,
1111
+ "transcriptionStatus": "ocr-corrected"
1112
+ }
1113
+ },
1114
+ {
1115
+ "id": "lo-2",
1116
+ "title": "2. Read and give information from a simple budget",
1117
+ "description": "Read and give information from a simple budget",
1118
+ "levels": [
1119
+ {
1120
+ "id": "advanced",
1121
+ "name": "Advanced",
1122
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1123
+ "points": 4,
1124
+ "color": "#059669"
1125
+ },
1126
+ {
1127
+ "id": "proficient",
1128
+ "name": "Proficient",
1129
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1130
+ "points": 3,
1131
+ "color": "#2563eb"
1132
+ },
1133
+ {
1134
+ "id": "basic",
1135
+ "name": "Basic",
1136
+ "description": "Learning outcome partially achieved; remedial learning needed",
1137
+ "points": 2,
1138
+ "color": "#ca8a04"
1139
+ },
1140
+ {
1141
+ "id": "below-basic",
1142
+ "name": "Below Basic",
1143
+ "description": "Learning outcome not achieved; remedial learning needed",
1144
+ "points": 1,
1145
+ "color": "#dc2626"
1146
+ }
1147
+ ],
1148
+ "meta": {
1149
+ "index": 2,
1150
+ "transcriptionStatus": "ocr-corrected"
1151
+ }
1152
+ },
1153
+ {
1154
+ "id": "lo-3",
1155
+ "title": "3. TODO: remaining G4 statistics outcomes — verify from Annex 3 (ग)",
1156
+ "description": "TODO: remaining G4 statistics outcomes — verify from Annex 3 (ग)",
1157
+ "levels": [
1158
+ {
1159
+ "id": "advanced",
1160
+ "name": "Advanced",
1161
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1162
+ "points": 4,
1163
+ "color": "#059669"
1164
+ },
1165
+ {
1166
+ "id": "proficient",
1167
+ "name": "Proficient",
1168
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1169
+ "points": 3,
1170
+ "color": "#2563eb"
1171
+ },
1172
+ {
1173
+ "id": "basic",
1174
+ "name": "Basic",
1175
+ "description": "Learning outcome partially achieved; remedial learning needed",
1176
+ "points": 2,
1177
+ "color": "#ca8a04"
1178
+ },
1179
+ {
1180
+ "id": "below-basic",
1181
+ "name": "Below Basic",
1182
+ "description": "Learning outcome not achieved; remedial learning needed",
1183
+ "points": 1,
1184
+ "color": "#dc2626"
1185
+ }
1186
+ ],
1187
+ "meta": {
1188
+ "index": 3,
1189
+ "transcriptionStatus": "todo"
1190
+ }
1191
+ }
1192
+ ]
1193
+ }
1194
+ },
1195
+ {
1196
+ "id": "g5-mathematics-u01",
1197
+ "grade": 5,
1198
+ "subjectKey": "mathematics",
1199
+ "unitNumber": 1,
1200
+ "titleEn": "Geometry",
1201
+ "titleNe": "ज्यामिति",
1202
+ "transcriptionStatus": "scaffold",
1203
+ "notes": null,
1204
+ "tags": [
1205
+ "Grade 5",
1206
+ "mathematics",
1207
+ "CDC-2083",
1208
+ "formative"
1209
+ ],
1210
+ "markScheme": {
1211
+ "name": "CDC G5 mathematics — Unit 1: Geometry",
1212
+ "description": "Nepal CDC G5 formative learning-outcome form — Geometry. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
1213
+ "category": "CDC-G4-5",
1214
+ "totalPoints": 4,
1215
+ "criteria": [
1216
+ {
1217
+ "id": "lo-1",
1218
+ "title": "1. TODO: G5 geometry outcomes from Annex 3 (ग)",
1219
+ "description": "TODO: G5 geometry outcomes from Annex 3 (ग)",
1220
+ "levels": [
1221
+ {
1222
+ "id": "advanced",
1223
+ "name": "Advanced",
1224
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1225
+ "points": 4,
1226
+ "color": "#059669"
1227
+ },
1228
+ {
1229
+ "id": "proficient",
1230
+ "name": "Proficient",
1231
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1232
+ "points": 3,
1233
+ "color": "#2563eb"
1234
+ },
1235
+ {
1236
+ "id": "basic",
1237
+ "name": "Basic",
1238
+ "description": "Learning outcome partially achieved; remedial learning needed",
1239
+ "points": 2,
1240
+ "color": "#ca8a04"
1241
+ },
1242
+ {
1243
+ "id": "below-basic",
1244
+ "name": "Below Basic",
1245
+ "description": "Learning outcome not achieved; remedial learning needed",
1246
+ "points": 1,
1247
+ "color": "#dc2626"
1248
+ }
1249
+ ],
1250
+ "meta": {
1251
+ "index": 1,
1252
+ "transcriptionStatus": "todo"
1253
+ }
1254
+ }
1255
+ ]
1256
+ }
1257
+ },
1258
+ {
1259
+ "id": "g5-mathematics-u02",
1260
+ "grade": 5,
1261
+ "subjectKey": "mathematics",
1262
+ "unitNumber": 2,
1263
+ "titleEn": "Arithmetic",
1264
+ "titleNe": "अङ्कगणित",
1265
+ "transcriptionStatus": "scaffold",
1266
+ "notes": null,
1267
+ "tags": [
1268
+ "Grade 5",
1269
+ "mathematics",
1270
+ "CDC-2083",
1271
+ "formative"
1272
+ ],
1273
+ "markScheme": {
1274
+ "name": "CDC G5 mathematics — Unit 2: Arithmetic",
1275
+ "description": "Nepal CDC G5 formative learning-outcome form — Arithmetic. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
1276
+ "category": "CDC-G4-5",
1277
+ "totalPoints": 4,
1278
+ "criteria": [
1279
+ {
1280
+ "id": "lo-1",
1281
+ "title": "1. TODO: G5 arithmetic outcomes from Annex 3 (ग)",
1282
+ "description": "TODO: G5 arithmetic outcomes from Annex 3 (ग)",
1283
+ "levels": [
1284
+ {
1285
+ "id": "advanced",
1286
+ "name": "Advanced",
1287
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1288
+ "points": 4,
1289
+ "color": "#059669"
1290
+ },
1291
+ {
1292
+ "id": "proficient",
1293
+ "name": "Proficient",
1294
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1295
+ "points": 3,
1296
+ "color": "#2563eb"
1297
+ },
1298
+ {
1299
+ "id": "basic",
1300
+ "name": "Basic",
1301
+ "description": "Learning outcome partially achieved; remedial learning needed",
1302
+ "points": 2,
1303
+ "color": "#ca8a04"
1304
+ },
1305
+ {
1306
+ "id": "below-basic",
1307
+ "name": "Below Basic",
1308
+ "description": "Learning outcome not achieved; remedial learning needed",
1309
+ "points": 1,
1310
+ "color": "#dc2626"
1311
+ }
1312
+ ],
1313
+ "meta": {
1314
+ "index": 1,
1315
+ "transcriptionStatus": "todo"
1316
+ }
1317
+ }
1318
+ ]
1319
+ }
1320
+ },
1321
+ {
1322
+ "id": "g5-mathematics-u03",
1323
+ "grade": 5,
1324
+ "subjectKey": "mathematics",
1325
+ "unitNumber": 3,
1326
+ "titleEn": "Measurement",
1327
+ "titleNe": "नाप",
1328
+ "transcriptionStatus": "scaffold",
1329
+ "notes": null,
1330
+ "tags": [
1331
+ "Grade 5",
1332
+ "mathematics",
1333
+ "CDC-2083",
1334
+ "formative"
1335
+ ],
1336
+ "markScheme": {
1337
+ "name": "CDC G5 mathematics — Unit 3: Measurement",
1338
+ "description": "Nepal CDC G5 formative learning-outcome form — Measurement. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
1339
+ "category": "CDC-G4-5",
1340
+ "totalPoints": 4,
1341
+ "criteria": [
1342
+ {
1343
+ "id": "lo-1",
1344
+ "title": "1. TODO: G5 measurement outcomes from Annex 3 (ग)",
1345
+ "description": "TODO: G5 measurement outcomes from Annex 3 (ग)",
1346
+ "levels": [
1347
+ {
1348
+ "id": "advanced",
1349
+ "name": "Advanced",
1350
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1351
+ "points": 4,
1352
+ "color": "#059669"
1353
+ },
1354
+ {
1355
+ "id": "proficient",
1356
+ "name": "Proficient",
1357
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1358
+ "points": 3,
1359
+ "color": "#2563eb"
1360
+ },
1361
+ {
1362
+ "id": "basic",
1363
+ "name": "Basic",
1364
+ "description": "Learning outcome partially achieved; remedial learning needed",
1365
+ "points": 2,
1366
+ "color": "#ca8a04"
1367
+ },
1368
+ {
1369
+ "id": "below-basic",
1370
+ "name": "Below Basic",
1371
+ "description": "Learning outcome not achieved; remedial learning needed",
1372
+ "points": 1,
1373
+ "color": "#dc2626"
1374
+ }
1375
+ ],
1376
+ "meta": {
1377
+ "index": 1,
1378
+ "transcriptionStatus": "todo"
1379
+ }
1380
+ }
1381
+ ]
1382
+ }
1383
+ },
1384
+ {
1385
+ "id": "g5-mathematics-u04",
1386
+ "grade": 5,
1387
+ "subjectKey": "mathematics",
1388
+ "unitNumber": 4,
1389
+ "titleEn": "Algebra",
1390
+ "titleNe": "बीजगणित",
1391
+ "transcriptionStatus": "scaffold",
1392
+ "notes": null,
1393
+ "tags": [
1394
+ "Grade 5",
1395
+ "mathematics",
1396
+ "CDC-2083",
1397
+ "formative"
1398
+ ],
1399
+ "markScheme": {
1400
+ "name": "CDC G5 mathematics — Unit 4: Algebra",
1401
+ "description": "Nepal CDC G5 formative learning-outcome form — Algebra. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
1402
+ "category": "CDC-G4-5",
1403
+ "totalPoints": 4,
1404
+ "criteria": [
1405
+ {
1406
+ "id": "lo-1",
1407
+ "title": "1. TODO: G5 algebra outcomes from Annex 3 (ग)",
1408
+ "description": "TODO: G5 algebra outcomes from Annex 3 (ग)",
1409
+ "levels": [
1410
+ {
1411
+ "id": "advanced",
1412
+ "name": "Advanced",
1413
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1414
+ "points": 4,
1415
+ "color": "#059669"
1416
+ },
1417
+ {
1418
+ "id": "proficient",
1419
+ "name": "Proficient",
1420
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1421
+ "points": 3,
1422
+ "color": "#2563eb"
1423
+ },
1424
+ {
1425
+ "id": "basic",
1426
+ "name": "Basic",
1427
+ "description": "Learning outcome partially achieved; remedial learning needed",
1428
+ "points": 2,
1429
+ "color": "#ca8a04"
1430
+ },
1431
+ {
1432
+ "id": "below-basic",
1433
+ "name": "Below Basic",
1434
+ "description": "Learning outcome not achieved; remedial learning needed",
1435
+ "points": 1,
1436
+ "color": "#dc2626"
1437
+ }
1438
+ ],
1439
+ "meta": {
1440
+ "index": 1,
1441
+ "transcriptionStatus": "todo"
1442
+ }
1443
+ }
1444
+ ]
1445
+ }
1446
+ },
1447
+ {
1448
+ "id": "g5-mathematics-u05",
1449
+ "grade": 5,
1450
+ "subjectKey": "mathematics",
1451
+ "unitNumber": 5,
1452
+ "titleEn": "Statistics",
1453
+ "titleNe": "तथ्याङ्कशास्त्र",
1454
+ "transcriptionStatus": "scaffold",
1455
+ "notes": null,
1456
+ "tags": [
1457
+ "Grade 5",
1458
+ "mathematics",
1459
+ "CDC-2083",
1460
+ "formative"
1461
+ ],
1462
+ "markScheme": {
1463
+ "name": "CDC G5 mathematics — Unit 5: Statistics",
1464
+ "description": "Nepal CDC G5 formative learning-outcome form — Statistics. Indicators rated 1–4 (Below Basic / Basic / Proficient / Advanced).",
1465
+ "category": "CDC-G4-5",
1466
+ "totalPoints": 4,
1467
+ "criteria": [
1468
+ {
1469
+ "id": "lo-1",
1470
+ "title": "1. TODO: G5 statistics outcomes from Annex 3 (ग)",
1471
+ "description": "TODO: G5 statistics outcomes from Annex 3 (ग)",
1472
+ "levels": [
1473
+ {
1474
+ "id": "advanced",
1475
+ "name": "Advanced",
1476
+ "description": "Learning outcome fully achieved (सिकाइ उपलब्धि पूर्ण रूपमा हासिल गरेको)",
1477
+ "points": 4,
1478
+ "color": "#059669"
1479
+ },
1480
+ {
1481
+ "id": "proficient",
1482
+ "name": "Proficient",
1483
+ "description": "Learning outcome mostly achieved (सिकाइ उपलब्धि धेरैजसो हासिल गरेको)",
1484
+ "points": 3,
1485
+ "color": "#2563eb"
1486
+ },
1487
+ {
1488
+ "id": "basic",
1489
+ "name": "Basic",
1490
+ "description": "Learning outcome partially achieved; remedial learning needed",
1491
+ "points": 2,
1492
+ "color": "#ca8a04"
1493
+ },
1494
+ {
1495
+ "id": "below-basic",
1496
+ "name": "Below Basic",
1497
+ "description": "Learning outcome not achieved; remedial learning needed",
1498
+ "points": 1,
1499
+ "color": "#dc2626"
1500
+ }
1501
+ ],
1502
+ "meta": {
1503
+ "index": 1,
1504
+ "transcriptionStatus": "todo"
1505
+ }
1506
+ }
1507
+ ]
1508
+ }
1509
+ }
1510
+ ]
1511
+ }