{"version":3,"sources":["../../src/schemas/lessonPlanSchema.ts","../../src/schemas/activitySchema.ts","../../src/schemas/codeLabSchema.ts","../../src/schemas/worksheetSchema.ts","../../src/schemas/handoutSchema.ts","../../src/schemas/slideDeckSchema.ts","../../src/schemas/teacherGuideSchema.ts","../../src/schemas/extensionSchema.ts","../../src/schemas/judgeSchema.ts","../../src/schemas/projectGraphSchema.ts","../../src/schemas/instructionSchema.ts","../../src/schemas/selfLabSchema.ts","../../src/schemas/diagnosticQuizSchema.ts","../../src/schemas/selfPacedBundleSchema.ts","../../src/schemas/rubricSchema.ts","../../src/schemas/exitTicketSchema.ts","../../src/schemas/tieredPracticeSchema.ts","../../src/schemas/bellRingerSchema.ts","../../src/schemas/glossarySchema.ts","../../src/schemas/choiceBoardSchema.ts","../../src/schemas/graphicOrganizerSchema.ts","../../src/schemas/scienceLabSchema.ts","../../src/schemas/stationRotationSchema.ts","../../src/schemas/taskCardsSchema.ts","../../src/schemas/reviewGameSchema.ts","../../src/schemas/curriculumPlanSchema.ts","../../src/schemas/index.ts"],"names":["z"],"mappings":";;;;;AAIO,IAAM,0BAAA,GAA6BA,MAAE,MAAA,CAAO;AAAA,EACjD,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC/C,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAChE,QAAA,EAAUA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACpE,eAAA,EAAiBA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gCAAgC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMrE,YAAA,EAAcA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,+DAA+D,CAAA;AAAA;AAAA,EAEjI,WAAA,EAAaA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,wDAAwD;AAC3H,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,GAAA,EAAKA,KAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI;AAAA,EAC3B,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uBAAuB,CAAA;AAAA,EAClD,YAAA,EAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yDAAyD,CAAA;AAAA,EAC3F,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C,CAAA;AAAA,EAC1E,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2BAA2B,CAAA;AAAA,EACxD,aAAA,EAAeA,MAAE,MAAA,EAAO;AAAA,EACxB,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,cAAA,EAAgBA,MAAE,MAAA,EAAO;AAAA,EACzB,EAAA,EAAIA,MAAE,KAAA,CAAMA,KAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,oBAAoB,CAAA;AAAA,EACrD,iBAAiBA,KAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7C,gBAAA,EAAkBA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD;AAChG,CAAC;AAEM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,YAAA,EAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gEAAgE,CAAA;AAAA,EAClG,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,QAAA,EAAUA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AACjC,CAAC;AAEM,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mEAAmE,CAAA;AAAA,EAC7F,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uCAAuC,CAAA;AAAA,EACjE,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAC5D,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,iBAAA,EAAmBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EACxC,eAAA,EAAiBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AACxC,CAAC;AAEM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,EACvB,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,EACtB,gBAAA,EAAkBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EACvC,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7B,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAC9B,CAAC;AAEM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2CAA2C,CAAA;AAAA,EACtE,eAAA,EAAiBA,KAAA,CAAE,MAAA,CAAO,MAAA,EAAO;AAAA,EACjC,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wFAAwF;AACvH,CAAC;AAEM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,cAAA,EAAgBA,MAAE,MAAA,EAAO;AAAA,EACzB,QAAA,EAAUA,MAAE,MAAA;AACd,CAAC;AAID,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EAChC,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA,EACjC,iBAAA,EAAmBA,KAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAC1D,gBAAA,EAAkBA,MAAE,MAAA,EAAO;AAAA,EAC3B,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAChC,oBAAoBA,KAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAC7D,kBAAkBA,KAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACrD,aAAaA,KAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACrD,eAAeA,KAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACzD,kBAAkBA,KAAA,CAAE,KAAA,CAAM,yBAAyB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC/D,YAAYA,KAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAChD,cAAcA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,iBAAiBA,KAAA,CAAE,KAAA,CAAM,wBAAwB,CAAA,CAAE,OAAA,CAAQ,EAAE;AAC/D,CAAC,CAAA;AASM,IAAM,YAAA,GAAeA,MAAE,IAAA,CAAK;AAAA,EACjC,KAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,gBAAA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,mBAAA,GAAsB,iBAAiB,MAAA,CAAO;AAAA,EACzD,cAAcA,KAAA,CAAE,OAAA,CAAQ,YAAY,CAAA,CAAE,QAAQ,YAAY;AAC5D,CAAC;AAWM,IAAM,cAAA,GAAiBA,MAAE,IAAA,CAAK;AAAA,EACnC,QAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,oBAAA,GAAuB,sBAAsB,MAAA,CAAO;AAAA,EAC/D,cAAcA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,oDAAoD,CAAA;AAAA,EACjG,cAAcA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACvF,oBAAoBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0DAA0D,CAAA;AAAA,EAC7G,iBAAA,EAAmBA,MAAE,MAAA,CAAO;AAAA,IAC1B,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC7B,MAAA,EAAQA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC7B,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAAA,GAC5B,EAAE,QAAA,EAAS;AAAA,EACZ,qBAAqBA,KAAA,CAAE,KAAA,CAAMA,MAAE,MAAA,EAAQ,EAAE,QAAA;AAC3C,CAAC;AAEM,IAAM,kBAAA,GAAqB,iBAAiB,MAAA,CAAO;AAAA,EACxD,cAAcA,KAAA,CAAE,OAAA,CAAQ,WAAW,CAAA,CAAE,QAAQ,WAAW,CAAA;AAAA,EACxD,YAAYA,KAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAC/C,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AAC1C,CAAC,EAAE,IAAA,CAAK,EAAE,YAAY,IAAA,EAAM,EAAE,MAAA,CAAO;AAAA,EACnC,YAAYA,KAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,IAAI,CAAC;AACjD,CAAC;AAMM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9B,cAAA,EAAgBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EACrC,eAAA,EAAiBA,MAAE,MAAA,CAAO;AAAA,IACxB,OAAA,EAASA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,QAAQ,CAAA;AAAA,IAC3B,IAAA,EAAMA,MAAE,KAAA,CAAMA,KAAA,CAAE,MAAMA,KAAA,CAAE,MAAA,EAAQ,CAAC;AAAA,GAClC,EAAE,QAAA,EAAS;AAAA,EACZ,eAAeA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AACjD,CAAC;AAEM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,iBAAiBA,KAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7C,cAAA,EAAgBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EACrC,cAAA,EAAgBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EACrC,SAAA,EAAWA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACpD,gBAAgBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AAClD,CAAC;AAMM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,cAAcA,KAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,QAAQ,QAAQ,CAAA;AAAA,EAClD,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA,EACjC,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,eAAe,CAAA;AAAA,EACzC,qBAAA,EAAuBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,UAAU,CAAA;AAAA,EACpD,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,kBAAA,EAAoBA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,MAAA,CAAO;AAAA,IACnC,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA,IAC7B,MAAMA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,IACtC,WAAA,EAAaA,MAAE,MAAA,EAAO;AAAA,IACtB,UAAA,EAAYA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,YAAY,CAAA;AAAA,IAC3C,iBAAiBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,IACjD,cAAcA,KAAA,CAAE,KAAA,CAAMA,MAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,IAC3C,aAAaA,KAAA,CAAE,KAAA,CAAMA,MAAE,MAAA,EAAQ,EAAE,QAAA;AAAS,GAC3C,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACd,eAAeA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC/C,kBAAkBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAClD,QAAA,EAAUA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACnD,WAAWA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC3C,YAAA,EAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EACnC,aAAA,EAAeA,KAAA,CAAE,KAAA,CAAMA,KAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxD,YAAA,EAAcA,MAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC9D,cAAA,EAAgBA,MAAE,MAAA,CAAO;AAAA,IACvB,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC5B,WAAA,EAAaA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAClC,WAAA,EAAaA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAClC,YAAA,EAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,YAAY,CAAA;AAAA,IAC7C,gBAAgBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AAAA,GACjD,EAAE,QAAA,EAAS;AAAA,EACZ,mBAAA,EAAqBA,MAAE,MAAA,CAAO;AAAA,IAC5B,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC5B,WAAA,EAAaA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAAA,GACnC,EAAE,QAAA,EAAS;AAAA,EACZ,eAAA,EAAiBA,MAAE,MAAA,CAAO;AAAA,IACxB,UAAA,EAAYA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IACjC,UAAA,EAAYA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IACjC,QAAA,EAAUA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAAA,GAChC,CAAA,CAAE,OAAA,CAAQ,EAAE,UAAA,EAAY,IAAI,UAAA,EAAY,EAAA,EAAI,QAAA,EAAU,EAAA,EAAI,CAAA;AAAA,EAC3D,UAAUA,KAAA,CAAE,KAAA,CAAM,mBAAmB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAC5C,UAAA,EAAYA,MAAE,MAAA,CAAO;AAAA,IACnB,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,IACvB,sBAAA,EAAwBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC7C,mBAAA,EAAqBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAAA,GAC3C,CAAA;AAAA,EACD,YAAA,EAAcA,MAAE,MAAA,CAAO;AAAA,IACrB,cAAA,EAAgBA,MAAE,KAAA,CAAMA,KAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IAC9C,uBAAuBA,KAAA,CAAE,KAAA,CAAM,wBAAwB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IACnE,gBAAgBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AAAA,GACjD,CAAA,CAAE,QAAA,EAAS,CAAE,QAAQ,EAAE,cAAA,EAAgB,EAAC,EAAG,qBAAA,EAAuB,EAAC,EAAG,cAAA,EAAgB,IAAI;AAC7F,CAAC;AC5NM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,YAAYA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,EACvC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sCAAsC,CAAA;AAAA,EACjE,eAAA,EAAiBA,MAAE,MAAA,CAAO,MAAA,GAAS,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,kCAAkC,CAAA;AAAA,EAC1F,mBAAA,EAAqBA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA,EACnG,mBAAA,EAAqBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kEAAkE,CAAA;AAAA,EAC3G,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,gEAAgE;AACzH,CAAC;AAEM,IAAM,2BAAA,GAA8BA,MAAE,MAAA,CAAO;AAAA,EAClD,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qGAAkD,CAAA;AAAA,EACxF,aAAA,EAAeA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,gGAAkD,CAAA;AAAA,EAC9F,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iHAA2D;AAClG,CAAC;AAEM,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,cAAA,EAAgBA,MAAE,MAAA,CAAO;AAAA,IACvB,iBAAiBA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC7C,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2HAA2D,CAAA;AAAA,IAC5F,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sFAAoD,CAAA;AAAA,IACvF,gBAAA,EAAkBA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AAAA,GACjD,CAAA;AAAA,EACD,oBAAA,EAAsBA,MAAE,MAAA,CAAO;AAAA,IAC7B,iBAAiBA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC7C,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qGAAyD,CAAA;AAAA,IAC1F,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0FAAmD,CAAA;AAAA,IACtF,cAAA,EAAgBA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AAAA,GAC/C,CAAA;AAAA,EACD,eAAA,EAAiBA,MAAE,MAAA,CAAO;AAAA,IACxB,iBAAiBA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC7C,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kFAA8C,CAAA;AAAA,IAChF,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0GAA6D;AAAA,GACjG;AACH,CAAC;AAEM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAQ,KAAK,CAAA;AAAA,EAC5C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC1D,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC3C,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAC7F,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC,CAAA;AAAA,EACxE,oBAAA,EAAsBA,MAAE,MAAA,CAAO,MAAA,GAAS,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,0CAA0C,CAAA;AAAA;AAAA,EAGvG,qBAAA,EAAuB,4BAA4B,QAAA,EAAS;AAAA;AAAA,EAG5D,YAAA,EAAcA,MAAE,MAAA,CAAO;AAAA,IACrB,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,oGAA+F,CAAA;AAAA,IAClJ,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,kEAAkE,CAAA;AAAA,IACrH,WAAA,EAAaA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,yCAAyC,CAAA;AAAA,IAC/F,cAAA,EAAgBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,0CAA0C;AAAA,GACpG,CAAA;AAAA;AAAA,EAGD,cAAA,EAAgBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,mEAAmE,CAAA;AAAA,EAC5H,iBAAA,EAAmBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,0DAA0D,CAAA;AAAA,EACtH,WAAA,EAAaA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,uDAAuD,CAAA;AAAA;AAAA,EAG7G,sBAAA,EAAwB,6BAA6B,QAAA,EAAS;AAAA,EAC9D,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAM,kBAAkB,CAAA,CAAE,QAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,wCAAwC,CAAA;AAAA;AAAA,EAGhG,oBAAA,EAAsBA,MAAE,MAAA,CAAO;AAAA,IAC7B,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,wDAA0B,CAAA;AAAA,IACtE,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,yDAAkC,CAAA;AAAA,IAC9E,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,sDAA4B;AAAA,GACvE,EAAE,QAAA,EAAS;AAAA,EACZ,kBAAA,EAAoBA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,yCAAyC,CAAA;AAAA,EAC7F,gBAAA,EAAkBA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA;AAAA,EAGhG,kBAAA,EAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,oFAA6C;AAC9G,CAAC;AC1EM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+DAA+D,CAAA;AAAA,EAC7F,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sEAAsE,CAAA;AAAA,EACpG,OAAA,EAASA,KAAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,UAAA,EAAY,aAAA,EAAe,UAAU,CAAC,CAAA,CAAE,QAAA,CAAS,wBAAwB,CAAA;AAAA,EACrG,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iFAAiF,CAAA;AAAA,EAC9G,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,0DAA0D;AACzG,CAAC;AAEM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,MAAMA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAClC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAA4B,CAAA;AAAA,EAC3D,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mDAAuB,CAAA;AAAA,EACjD,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oDAA8B;AACjE,CAAC;AAEM,IAAM,aAAA,GAAgBA,MAAE,MAAA,CAAO;AAAA,EACpC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,MAAM,CAAA,CAAE,QAAQ,MAAM,CAAA;AAAA,EAC9C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC1D,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC3C,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,yDAAyD,CAAA;AAAA,EACrG,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,uEAAuE,CAAA;AAAA;AAAA,EAG3H,gBAAA,EAAkBA,MAAE,MAAA,CAAO;AAAA,IACzB,iBAAA,EAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IACxC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAChC,iBAAA,EAAmBA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IACjD,yBAAyBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AAAA,GAC1D,EAAE,QAAA,EAAS;AAAA;AAAA,EAGZ,cAAA,EAAgBA,MAAE,MAAA,CAAO;AAAA,IACvB,MAAA,EAAQ,iBAAA;AAAA,IACR,MAAA,EAAQ,iBAAA;AAAA,IACR,IAAA,EAAM;AAAA,GACP,EAAE,QAAA,EAAS;AAAA;AAAA,EAGZ,WAAA,EAAa,iBAAA,CAAkB,QAAA,CAAS,wEAAwE,CAAA;AAAA,EAChH,YAAA,EAAc,iBAAA,CAAkB,QAAA,CAAS,2CAA2C,CAAA;AAAA,EACpF,WAAWA,KAAAA,CAAE,KAAA;AAAA,IACXA,MAAE,MAAA,CAAO;AAAA,MACP,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA,MAC/D,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,0BAA0B,CAAA;AAAA,MAC5E,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4CAA4C;AAAA,KACjF;AAAA,IACD,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,mDAAmD,CAAA;AAAA;AAAA,EAG1E,uBAAuBA,KAAAA,CAAE,KAAA;AAAA,IACvBA,MAAE,MAAA,CAAO;AAAA,MACP,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oDAAgC,CAAA;AAAA,MAC3D,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qCAAqB,CAAA;AAAA,MACzD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+DAA8B;AAAA,KAC7D;AAAA,GACH,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACZ,oBAAoBA,KAAAA,CAAE,KAAA;AAAA,IACpBA,MAAE,MAAA,CAAO;AAAA,MACP,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC,CAAA;AAAA,MAC7E,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4BAA4B;AAAA,KAC/D;AAAA,GACH,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAGZ,mBAAA,EAAqBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,8DAAsC;AACtG,CAAC;ACnEM,IAAM,qBAAA,GAAwBA,MAAE,IAAA,CAAK;AAAA,EAC1C,YAAA;AAAA;AAAA,EACA,iBAAA;AAAA;AAAA,EACA,UAAA;AAAA;AAAA,EACA,cAAA;AAAA;AAAA,EACA,YAAA;AAAA;AAAA,EACA,cAAA;AAAA;AAAA,EACA,YAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAEM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,UAAA,EAAYA,MAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,QAAQ,CAAC,CAAA;AAAA,EAC7C,QAAA,EAAU,qBAAA;AAAA,EACV,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAC7E,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IACpC;AAAA,GACF;AAAA,EACA,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,QAAA,CAAS,gDAAgD,CAAA;AAAA,EACjG,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC3E,oBAAoBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAA;AAAA,IAC7C;AAAA;AAEJ,CAAC;AAIM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,UAAA,EAAYA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI;AAAA,EAClC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4EAA4E,CAAA;AAAA,EAC3G,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC3C,OAAOA,KAAAA,CAAE,KAAA,CAAM,mBAAmB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACzC,qBAAA,EAAuBA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IAC3C;AAAA;AAEJ,CAAC;AAUM,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAQ,KAAK,CAAA;AAAA,EAC5C,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA;AAAA,EAGjC,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7C,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA;AAAA,EAG5C,OAAOA,KAAAA,CAAE,KAAA,CAAM,mBAAmB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EAGzC,iBAAA,EAAmBA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AACnD,CAAC;AC1DM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAAkD,CAAA;AAAA,EAC/E,aAAA,EAAeA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,8DAA8D,CAAA;AAAA,EAC1G,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,8CAA8C,CAAA;AAAA,EAC1F,SAAA,EAAWA,MAAE,MAAA,CAAO;AAAA,IAClB,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA;AAAA,IAC3B,IAAA,EAAMA,MAAE,KAAA,CAAMA,KAAAA,CAAE,MAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAC;AAAA,GAClC,CAAA,CAAE,QAAA,EAAS,CAAE,SAAS,sDAAsD,CAAA;AAAA,EAC7E,UAAA,EAAYA,MAAE,MAAA,CAAO;AAAA,IACnB,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,aAAa,CAAA;AAAA,IACtC,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,IAChB,OAAA,EAASA,MAAE,MAAA;AAAO,GACnB,EAAE,QAAA;AACL,CAAC;AAEM,IAAM,aAAA,GAAgBA,MAAE,MAAA,CAAO;AAAA,EACpC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,SAAS,CAAA,CAAE,QAAQ,SAAS,CAAA;AAAA,EACpD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC1D,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,eAAe,CAAA;AAAA,EAC1C,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAC7F,OAAA,EAASA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA;AAAA,EAGnE,qBAAqBA,KAAAA,CAAE,KAAA;AAAA,IACrBA,MAAE,MAAA,CAAO;AAAA,MACP,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0BAAe,CAAA;AAAA,MAC5C,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mEAAqC;AAAA,KACtE;AAAA,GACH,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAGZ,aAAaA,KAAAA,CAAE,KAAA;AAAA,IACbA,MAAE,MAAA,CAAO;AAAA,MACP,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sDAAmC,CAAA;AAAA,MAC/D,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uCAAqB,CAAA;AAAA,MAClD,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAA8B;AAAA,KAC5D;AAAA,GACH,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAGZ,uBAAA,EAAyBA,MAAE,MAAA,CAAO;AAAA,IAChC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,uDAAkC,CAAA;AAAA,IACnE,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,2EAAyC,CAAA;AAAA,IACxE,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,wGAAqD;AAAA,GACtF,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ;AAAA,IACpB,YAAA,EAAc,uDAAA;AAAA,IACd,UAAA,EAAY,2EAAA;AAAA,IACZ,WAAA,EAAa;AAAA,GACd,CAAA;AAAA;AAAA,EAGD,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,+CAAwB,CAAA;AAAA;AAAA,EAG1E,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,QAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,8BAA8B,CAAA;AAAA,EAC3F,UAAUA,KAAAA,CAAE,KAAA;AAAA,IACVA,MAAE,MAAA,CAAO;AAAA,MACP,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2BAA2B,CAAA;AAAA,MACrD,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gCAAgC;AAAA,KACjE;AAAA,IACD,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,yDAAyD;AAClF,CAAC;AC7DM,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA;AAAA,EAC3C,SAAA,EAAWA,MAAE,IAAA,CAAK;AAAA,IAChB,OAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,MAAA;AAAA,IACA,aAAA;AAAA,IACA,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,WAAA;AAAA,IACA,iBAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yBAAyB,CAAA;AAAA,EACpD,QAAA,EAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,YAAY,YAAA,EAAc,OAAA,EAAS,SAAA,EAAW,UAAA,EAAY,QAAA,EAAU,MAAM,CAAC,CAAA,CAAE,QAAQ,MAAM,CAAA;AAAA,EAC7G,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,0CAA0C,CAAA;AAAA,EAC5F,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA,EAClF,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EAC/F,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mDAAmD;AACpG,CAAC;AAEM,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,QAAQ,OAAO,CAAA;AAAA,EAChD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC1D,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oBAAoB,CAAA;AAAA,EAC/C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAC/E,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,MAAM,CAAA;AAAA,EACpC,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAM,eAAe,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,EAAE,CAAA,CAAE,QAAA,CAAS,+DAA+D;AAC1H,CAAC;ACtCM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAA,IAChB;AAAA,GACF;AAAA,EACA,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qBAAqB,CAAA;AAAA,EACxD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sDAAsD,CAAA;AAAA,EACpF,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAChF,mBAAA,EAAqBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,yCAAyC,CAAA;AAAA,EACvG,qBAAqBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA,EAC1F,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0DAA0D,CAAA;AAAA,EACvG,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,kDAAkD;AAC5F,CAAC;AAIM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C,CAAA;AAAA,EAClF,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yDAAyD;AAChG,CAAC;AAIM,IAAM,0BAAA,GAA6BA,MAAE,MAAA,CAAO;AAAA,EACjD,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2CAA2C,CAAA;AAAA,EACxE,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAChD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sBAAsB;AACtD,CAAC;AAIM,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,EACvB,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C,CAAA;AAAA,EAClF,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iCAAiC;AACxE,CAAC;AAaM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,CAAE,QAAQ,OAAO,CAAA;AAAA,EAChD,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA;AAAA,EAGjC,oBAAA,EAAsBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sEAAiE,CAAA;AAAA,EAC3G,sBAAsBA,KAAAA,CAAE,KAAA,CAAM,mBAAmB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACxD,kBAAA,EAAoBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA;AAAA,IAClD;AAAA,GACF;AAAA;AAAA,EAGA,gBAAgBA,KAAAA,CAAE,KAAA,CAAM,yBAAyB,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA;AAAA,IACxD;AAAA,GACF;AAAA;AAAA,EAGA,sBAAsBA,KAAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EAG/D,eAAeA,KAAAA,CAAE,KAAA,CAAM,sBAAsB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACzD,mBAAA,EAAqBA,MAAE,MAAA,CAAO;AAAA,IAC5B,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+CAA+C,CAAA;AAAA,IAC/E,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gDAAgD,CAAA;AAAA,IAC9E,oBAAoBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iDAAiD;AAAA,GACrG,EAAE,QAAA;AACL,CAAC;AC1EM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,iBAAiBA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,IAAI,CAAC,CAAA;AAAA,EACvC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wCAAwC,CAAA;AAAA,EACnE,kBAAA,EAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACzF,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACtF,mBAAA,EAAqBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qDAAqD,CAAA;AAAA,EAC9F,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAChF,CAAC;AAEM,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,KAAK,CAAA,CAAE,QAAQ,KAAK,CAAA;AAAA,EAC5C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC1D,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iBAAiB,CAAA;AAAA,EAC5C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAC/E,8BAAA,EAAgCA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC,CAAA;AAAA,EAC7F,UAAA,EAAYA,MAAE,KAAA,CAAM,wBAAwB,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,yCAAyC;AACzG,CAAC;AChBM,IAAM,4BAA4BA,KAAAA,CAAE,IAAA,CAAK,CAAC,MAAA,EAAQ,gBAAA,EAAkB,MAAM,CAAC;AAG3E,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+GAA+G,CAAA;AAAA,EACzI,MAAA,EAAQA,MAAE,OAAA,EAAQ;AAAA,EAClB,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,QAAA,CAAS,kBAAkB,CAAA;AAAA,EAC7D,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6CAA6C;AAC7E,CAAC;AAOM,IAAM,4BAAA,GAA+BA,MAAE,IAAA,CAAK;AAAA,EACjD,YAAA;AAAA,EACA,qBAAA;AAAA,EACA,cAAA;AAAA,EACA,oBAAA;AAAA,EACA,qBAAA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,MAAA,EAAQ,4BAAA;AAAA,EACR,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iFAAiF,CAAA;AAAA,EAC/G,QAAA,EAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,WAAW,MAAM,CAAC,CAAA,CAAE,OAAA,CAAQ,SAAS,CAAA;AAAA,EACnE,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oEAAoE,CAAA;AAAA,EACnG,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+EAA+E;AAClH,CAAC;AAMM,IAAM,uBAAA,GAA0BA,MAAE,MAAA,CAAO;AAAA,EAC9C,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,EACpC,SAAA,EAAWA,MAAE,MAAA,EAAO;AAAA,EACpB,cAAA,EAAgB,yBAAA;AAAA,EAChB,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EACrC,oBAAA,EAAsB,oBAAA,CAAqB,QAAA,CAAS,0DAA0D,CAAA;AAAA,EAC9G,oBAAA,EAAsB,oBAAA,CAAqB,QAAA,CAAS,uFAAuF,CAAA;AAAA,EAC3I,uBAAA,EAAyB,oBAAA,CAAqB,QAAA,CAAS,oEAAoE,CAAA;AAAA,EAC3H,gBAAA,EAAkB,oBAAA,CAAqB,QAAA,CAAS,yEAAyE,CAAA;AAAA,EACzH,mBAAmBA,KAAAA,CAAE,KAAA,CAAM,4BAA4B,CAAA,CAAE,OAAA,CAAQ,EAAE;AACrE,CAAC;AAOM,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,EACpC,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,cAAA,EAAgB,yBAAA;AAAA,EAChB,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EACrC,YAAA,EAAcA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,qDAAqD,CAAA;AAAA,EACvG,kBAAA,EAAoB,oBAAA,CAAqB,QAAA,CAAS,oEAAoE,CAAA;AAAA,EACtH,aAAA,EAAe,oBAAA,CAAqB,QAAA,CAAS,oFAAoF,CAAA;AAAA,EACjI,sBAAA,EAAwB,oBAAA,CAAqB,QAAA,CAAS,sEAAsE,CAAA;AAAA,EAC5H,gBAAA,EAAkB,oBAAA,CAAqB,QAAA,CAAS,wEAAwE,CAAA;AAAA,EACxH,uBAAA,EAAyB,oBAAA,CAAqB,QAAA,CAAS,4DAA4D,CAAA;AAAA,EACnH,mBAAmBA,KAAAA,CAAE,KAAA,CAAM,4BAA4B,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACnE,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC;AACxE,CAAC;AAMM,IAAM,6BAAA,GAAgCA,MAAE,MAAA,CAAO;AAAA,EACpD,kBAAA,EAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8DAA8D,CAAA;AAAA,EACtG,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,cAAA,EAAgB,yBAAA;AAAA,EAChB,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,GAAG,CAAA;AAAA,EACrC,uBAAA,EAAyBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,SAAS,gEAAgE,CAAA;AAAA,EAC9G,UAAUA,KAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAC7C,uBAAA,EAAyBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,6EAA6E,CAAA;AAAA,EAC/I,iBAAA,EAAmBA,KAAAA,CAAE,KAAA,CAAM,4BAA4B,EAAE,QAAA;AAC3D,CAAC;AClFM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACnD,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,MAAA,CAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAC,GAAGA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,EAAGA,KAAAA,CAAE,MAAA,CAAOA,MAAE,MAAA,EAAQ,CAAC,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACrH,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACvD,MAAA,EAAQA,MAAE,MAAA,CAAO;AAAA,IACf,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAChC,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC5B,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC/B,EAAE,QAAA;AACL,CAAC;AAOM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,WAAA,EAAaA,MAAE,MAAA;AACjB,CAAC;AAEM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAChD,eAAA,EAAiBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AAC5D,CAAC;AAKM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,CAAC,CAAA;AAAA,EAC/C,OAAA,EAAS,oBAAA;AAAA,EACT,OAAA,EAASA,MAAE,MAAA,CAAO;AAAA,IAChB,KAAA,EAAOA,MAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IACvD,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IAC7C,QAAA,EAAUA,MAAE,KAAA,CAAM,iBAAiB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IAC1D,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AAAA,GACrD,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxB,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACzB,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACxB,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACjC,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IACrD,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AAAA,GACrD,CAAC,CAAA,CAAE,UAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACzB,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACpD,YAAA,EAAcA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EAC/B,UAAA,EAAYA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EAC7B,gBAAA,EAAkBA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EACnC,cAAA,EAAgBA,MAAE,MAAA,CAAO;AAAA,IACvB,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IAC7C,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IAC/C,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,GAAA,EAAK,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AAAA,GAChD,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxB,UAAA,EAAYA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EAC7B,QAAA,EAAUA,KAAAA,CAAE,GAAA,EAAI,CAAE,QAAA;AACpB,CAAC;AC/DM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,mBAAmB,CAAA;AAAA,EAClE,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4DAA4D,CAAA;AAAA,EAC7F,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8DAA8D,CAAA;AAAA,EAC/F,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,iHAAiH,CAAA;AAAA,EACxK,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,mFAAmF,CAAA;AAAA,EAC3I,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,OAAO,CAAA,CAAE,QAAA,CAAS,6EAA6E,CAAA;AAAA,EAC3I,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,0CAA0C,CAAA;AAAA,EAC1F,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,wCAAwC,CAAA;AAAA,EAC5F,cAAA,EAAgBA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,4EAA4E,CAAA;AAAA,EAC5H,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,sEAAsE;AACrI,CAAC;AAEM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,eAAeA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,EAC1C,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,eAAe,CAAA;AAAA,EAC1C,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACpE,kBAAkBA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,eAAA,EAAiBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,8DAA8D,CAAA;AAAA,EACxH,OAAOA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAC3C,iBAAA,EAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,+CAA+C;AAC/G,CAAC;AAEM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,cAAcA,KAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA;AAAA,EAC5D,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2CAA2C,CAAA;AAAA,EAC9E,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC3C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC,CAAA;AAAA,EACvE,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,cAAc,CAAA;AAAA,EAC7C,qBAAA,EAAuBA,MAAE,MAAA,CAAO,MAAA,GAAS,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,qCAAqC,CAAA;AAAA,EACnG,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,WAAW,CAAA;AAAA,EACzC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,sBAAsB,CAAA;AAAA,EAC/E,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,GAAW,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,oBAAoB,CAAA;AAAA,EAC3E,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA,EACpF,aAAA,EAAeA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,uCAAuC,CAAA;AAAA,EAC/F,iBAAA,EAAmBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,kDAAkD,CAAA;AAAA,EAC9G,UAAUA,KAAAA,CAAE,KAAA,CAAM,wBAAwB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACjD,qBAAA,EAAuBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,2EAA2E;AAC7I,CAAC;ACtCM,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uGAAsD,CAAA;AAAA,EACxF,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gEAAiD,CAAA;AAAA,EACpF,aAAA,EAAeA,MAAE,MAAA,CAAO;AAAA,IACtB,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mEAAiD,CAAA;AAAA,IAC3E,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sIAA6D;AAAA,GAC/F;AACH,CAAC;AAKM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,MAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,QAAA,EAAU,MAAM,CAAC,CAAA;AAAA,EACzC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0BAAe,CAAA;AAAA,EAC1C,kBAAkBA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8DAA+B,CAAA;AAAA,EAC9D,KAAA,EAAOA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,0EAAsC,CAAA;AAAA,EAC1E,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uHAA+E,CAAA;AAAA,EAClH,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qGAAuD,CAAA;AAAA,EAC3F,KAAA,EAAO;AACT,CAAC;AAEM,IAAM,aAAA,GAAgBA,MAAE,MAAA,CAAO;AAAA,EACpC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,UAAU,CAAA,CAAE,QAAQ,UAAU,CAAA;AAAA,EACtD,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4CAA4C,CAAA;AAAA,EACvE,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,WAAW,CAAA;AAAA,EACtC,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,6CAA6C,CAAA;AAAA,EACzF,UAAA,EAAYA,KAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,gBAAgB,UAAU,CAAC,CAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EACnF,uBAAuBA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EACnD,SAAA,EAAWA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAGzC,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oFAA2C,CAAA;AAAA,EAChF,kBAAA,EAAoBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,gGAAgD,CAAA;AAAA;AAAA,EAG7G,UAAA,EAAYA,MAAE,MAAA,CAAO;AAAA,IACnB,MAAA,EAAQ,wBAAA;AAAA,IACR,MAAA,EAAQ,wBAAA;AAAA,IACR,IAAA,EAAM;AAAA,GACP,CAAA;AAAA;AAAA,EAGD,uBAAuBA,KAAAA,CAAE,KAAA;AAAA,IACvBA,MAAE,MAAA,CAAO;AAAA,MACP,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0DAAgC,CAAA;AAAA,MAC7D,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oCAAoB,CAAA;AAAA,MACnD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qFAAuC;AAAA,KACtE;AAAA,GACH,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAGZ,wBAAA,EAA0BA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,yEAA8C;AACnH,CAAC;ACvDM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uCAAuC,CAAA;AAAA,EACnE,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6CAA6C,CAAA;AAAA,EAC5E,UAAA,EAAYA,KAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,cAAc,OAAA,EAAS,SAAA,EAAW,UAAA,EAAY,QAAQ,CAAC,CAAA;AAAA,EACvF,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2CAA2C,CAAA;AAAA;AAAA,EAE1E,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,+DAA+D;AACnI,CAAC;AAIM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qCAAqC,CAAA;AAAA,EAC7D,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yEAAyE,CAAA;AAAA,EACnG,SAAA,EAAWA,KAAAA,CAAE,OAAA,EAAQ,CAAE,SAAS,2CAA2C,CAAA;AAAA,EAC3E,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6EAA6E;AAChH,CAAC;AAIM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wBAAwB,CAAA;AAAA,EAChD,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qCAAqC,CAAA;AAAA;AAAA,EAE/E,UAAA,EAAYA,MAAE,IAAA,CAAK;AAAA,IAAC,UAAA;AAAA,IAAY,YAAA;AAAA,IAAc,OAAA;AAAA,IAAS,SAAA;AAAA,IAAW,UAAA;AAAA,IAAY,QAAA;AAAA,IAC1D,UAAA;AAAA,IAAY,YAAA;AAAA,IAAc,OAAA;AAAA,IAAS,SAAA;AAAA,IAAW,UAAA;AAAA,IAAY;AAAA,GAAS,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA;AAAA,EACxG,YAAA,EAAcA,KAAAA,CAAE,IAAA,CAAK,CAAC,iBAAA,EAAmB,eAAA,EAAiB,UAAA,EAAY,YAAY,CAAC,CAAA,CAAE,OAAA,CAAQ,iBAAiB,CAAA;AAAA;AAAA,EAE9G,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gEAAgE,CAAA;AAAA;AAAA,EAE/G,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,yCAAyC,CAAA;AAAA,EAClF,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mDAAmD,CAAA;AAAA,EACxF,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA,EACpF,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,KAAK,CAAA;AAAA,EACjD,OAAA,EAASA,MAAE,KAAA,CAAM,gBAAgB,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA;AAAA,EAE/C,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,6BAA6B,CAAA;AAAA,EAC3E,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA;AAAA,EAExF,iBAAiBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0EAAqE;AACvH,CAAC;AAIM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,mBAAA,EAAqBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wEAAwE,CAAA;AAAA,EACjH,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uCAAkC,CAAA;AAAA,EAClE,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+BAA0B,CAAA;AAAA,EAC1D,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iCAA4B,CAAA;AAAA,EAC1D,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,oCAA+B;AAChE,CAAC;AASM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,MAAM,CAAA;AAAA,EAC9B,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uDAAuD,CAAA;AAAA,EACnF,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,MAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA,CAAE,SAAS,cAAc,CAAA;AAAA,EAC1D,cAAA,EAAgBA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,CAAC,CAAA;AAAA,EACtD,qBAAA,EAAuBA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9D,iBAAiBA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA;AAAA,EAG7C,oBAAA,EAAsBA,MAAE,KAAA,CAAM,yBAAyB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAG9E,WAAWA,KAAAA,CAAE,KAAA,CAAM,wBAAwB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EAGlD,MAAA,EAAQA,MAAE,KAAA,CAAM,yBAAyB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AAClE,CAAC;ACtEM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mCAAmC,CAAA;AAAA,EACjE,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,cAAc,CAAA;AAAA,EACzC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA,EACjC,SAAA,EAAWA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACzC,WAAA,EAAa,wBAAA,CAAyB,QAAA,CAAS,qCAAqC,CAAA;AAAA,EACpF,OAAA,EAAS,aAAA,CAAc,QAAA,CAAS,+DAA+D,CAAA;AAAA,EAC/F,IAAA,EAAM,oBAAA,CAAqB,QAAA,CAAS,iDAAiD,CAAA;AAAA,EACrF,UAAA,EAAY,aAAA,CAAc,QAAA,CAAS,8CAA8C,CAAA;AAAA,EACjF,OAAA,EAAS,aAAA,CAAc,QAAA,EAAS,CAAE,SAAS,uCAAuC;AACpF,CAAC;AChBM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EAC1F,aAAA,EAAeA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,SAAS,8BAA8B,CAAA;AAAA,EAC9F,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAA4C,CAAA;AAAA,EAC3E,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAA6C,CAAA;AAAA,EAC7E,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAA6C,CAAA;AAAA,EAC7E,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAA4C;AAC7E,CAAC;AAIM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,YAAA,EAAcA,MAAE,IAAA,CAAK,CAAC,mBAAmB,YAAA,EAAc,cAAA,EAAgB,YAAY,CAAC,CAAA;AAAA,EACpF,oBAAA,EAAsBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAC7C,CAAC;AASM,IAAM,YAAA,GAAeA,MAAE,MAAA,CAAO;AAAA,EACnC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA,CAAE,QAAQ,QAAQ,CAAA;AAAA,EAClD,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA;AAAA,EAGjC,cAAA,EAAgBA,MAAE,IAAA,CAAK,CAAC,aAAa,WAAA,EAAa,iBAAA,EAAmB,aAAa,CAAC,CAAA;AAAA,EACnF,gBAAA,EAAkBA,MAAE,IAAA,CAAK;AAAA,IACvB,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,mBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,SAAA,EAAWA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA,EACtF,cAAA,EAAgBA,KAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,UAAU,CAAC,CAAA,CAAE,OAAA,CAAQ,UAAU,CAAA,CAAE,QAAA;AAAA,IACnE;AAAA,GACF;AAAA;AAAA,EAGA,UAAUA,KAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EAG7C,UAAA,EAAYA,MAAE,KAAA,CAAM,yBAAyB,EAAE,GAAA,CAAI,CAAC,EAAE,QAAA,EAAS;AAAA;AAAA,EAG/D,yBAAyBA,KAAAA,CAAE,KAAA,CAAMA,MAAE,MAAA,EAAQ,EAAE,QAAA,EAAS;AAAA,EACtD,wBAAA,EAA0BA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IAC9C;AAAA;AAEJ,CAAC;ACtDM,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qEAAqE,CAAA;AAAA,EACnG,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,6BAA6B;AACnE,CAAC;AAEM,IAAM,uBAAA,GAA0BA,MAAE,MAAA,CAAO;AAAA,EAC9C,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6EAA6E,CAAA;AAAA,EAC9G,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,OAAO,CAAA;AAAA,EACxC,OAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA;AAAA,IACzB;AAAA,GACF;AAAA,EACA,sBAAA,EAAwBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uDAAuD,CAAA;AAAA,EACnG,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,mCAAmC;AACxE,CAAC;AAEM,IAAM,6BAAA,GAAgCA,MAAE,MAAA,CAAO;AAAA,EACpD,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACxB,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0DAAqC,CAAA;AAAA,IAChE,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD;AAAA,GAC1F,CAAC,CAAA,CAAE,OAAA,CAAQ;AAAA,IACV,EAAE,KAAA,EAAO,4BAAA,EAAuB,WAAA,EAAa,mEAAA,EAAoE;AAAA,IACjH,EAAE,KAAA,EAAO,mCAAA,EAA8B,WAAA,EAAa,qEAAA,EAAsE;AAAA,IAC1H,EAAE,KAAA,EAAO,yBAAA,EAAoB,WAAA,EAAa,0DAAA;AAA2D,GACtG,CAAA;AAAA,EACD,iBAAA,EAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,iEAAkE;AAC1G,CAAC;AAcM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,cAAcA,KAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA,CAAE,QAAQ,aAAa,CAAA;AAAA,EAC5D,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA,EACjC,kBAAkBA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA;AAAA,EAG7C,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC1B,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8BAA8B,CAAA;AAAA,IACxD,MAAA,EAAQA,MAAE,IAAA,CAAK,CAAC,OAAO,KAAA,EAAO,KAAK,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,IAC/C,WAAA,EAAaA,MAAE,MAAA;AAAO,GACvB,CAAC,CAAA;AAAA;AAAA,EAGF,YAAA,EAAc,4BAAA;AAAA;AAAA,EAGd,iBAAA,EAAmB,uBAAA;AAAA;AAAA,EAGnB,aAAA,EAAe,6BAAA;AAAA;AAAA,EAGf,YAAA,EAAcA,MAAE,MAAA,CAAO;AAAA,IACrB,oBAAA,EAAsBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qDAAqD,CAAA;AAAA,IAC/F,oBAAA,EAAsBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2EAAsE;AAAA,GACjH;AACH,CAAC;ACnEM,IAAM,gBAAgBA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,QAAA,EAAU,MAAM,CAAC;AAEzD,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,IAAA,EAAM,aAAA;AAAA,EACN,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wEAAwE,CAAA;AAAA,EACzG,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAC7E,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,2CAA2C;AAClF,CAAC;AAIM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,oCAAoC,CAAA;AAAA,EACvE,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,8CAA8C,CAAA;AAAA,EACjF,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,oDAAoD,CAAA;AAAA,EACjG,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,OAAO,CAAA;AAAA,EACxC,WAAA,EAAaA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC5B,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wBAAwB,CAAA;AAAA,IACvD,WAAA,EAAaA,MAAE,MAAA;AAAO,GACvB,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACd,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,sBAAsB;AAC7D,CAAC;AAIM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,2DAA2D,CAAA;AAAA,EAC9F,aAAA,EAAeA,MAAE,MAAA,EAAO;AAAA,EACxB,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,+DAA+D,CAAA;AAAA,EACjH,oBAAA,EAAsBA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,8CAA8C,CAAA;AAAA,EACpG,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,OAAO,CAAA;AAAA,EACxC,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,gCAAgC;AACvE,CAAC;AAIM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,8CAA8C,CAAA;AAAA,EACjF,sBAAA,EAAwBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+BAA+B,CAAA;AAAA,EAC3E,WAAA,EAAaA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,mEAAmE,CAAA;AAAA,EACpH,kBAAkBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,6BAA6B;AAC/E,CAAC;AAIM,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC3E,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA,CAAE,SAAS,4BAA4B,CAAA;AAAA,EAC3E,sBAAsBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C;AACnG,CAAC;AAeM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,cAAcA,KAAAA,CAAE,OAAA,CAAQ,iBAAiB,CAAA,CAAE,QAAQ,iBAAiB,CAAA;AAAA,EACpE,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,IAAI,CAAA;AAAA;AAAA,EAGjC,UAAA,EAAYA,MAAE,KAAA,CAAM,mBAAmB,EAAE,MAAA,CAAO,CAAC,CAAA,CAAE,QAAA,CAAS,0CAA0C,CAAA;AAAA;AAAA,EAGtG,MAAA,EAAQ,gBAAA;AAAA,EACR,MAAA,EAAQ,gBAAA;AAAA,EACR,IAAA,EAAM,cAAA;AAAA;AAAA,EAGN,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA;AAAA,EAG/F,gBAAA,EAAkB,uBAAuB,QAAA;AAC3C,CAAC;ACnFM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kCAAkC,CAAA;AAAA,EAChE,UAAA,EAAYA,MAAE,IAAA,CAAK;AAAA,IACjB,UAAA;AAAA,IAAY,YAAA;AAAA,IAAc,OAAA;AAAA,IAAS,SAAA;AAAA,IAAW,UAAA;AAAA,IAAY;AAAA,GAC3D,EAAE,QAAA,EAAS;AAAA,EACZ,UAAA,EAAYA,MAAE,IAAA,CAAK;AAAA,IACjB,qBAAA;AAAA,IACA,cAAA;AAAA,IACA,UAAA;AAAA,IACA,iBAAA;AAAA,IACA,oBAAA;AAAA,IACA;AAAA,GACD,CAAA,CAAE,OAAA,CAAQ,iBAAiB,CAAA;AAAA,EAC5B,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,EAC7E,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACpE,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,KAAK,CAAA;AAAA,EACjD,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+CAA+C;AAC3F,CAAC;AAUM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EACrC,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC5C,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAClE,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,OAAA;AAAA,IACrC;AAAA,GACF;AAAA,EACA,IAAA,EAAMA,MAAE,KAAA,CAAM,mBAAmB,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC;AACjD,CAAC;ACrCM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6BAA6B,CAAA;AAAA,EAC3D,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA,EACnF,UAAA,EAAYA,MAAE,IAAA,CAAK,CAAC,YAAY,YAAA,EAAc,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACjE,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6CAA6C,CAAA;AAAA,EACnF,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAAkD,CAAA;AAAA,EACrF,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yDAAyD,CAAA;AAAA,EAC/F,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,gDAAgD,CAAA;AAAA,EAC9F,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,oBAAoB;AACnF,CAAC;AAIM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,MAAA,EAAQA,MAAE,MAAA,EAAO;AAAA,EACjB,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7C,UAAA,EAAYA,MAAE,IAAA,CAAK,CAAC,YAAY,YAAA,EAAc,OAAO,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACjE,kBAAkBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AACpD,CAAC;AAIM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,aAAA,EAAeA,MAAE,MAAA,EAAO;AAAA,EACxB,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AAC5C,CAAC;AASM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,EAClC,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC5C,KAAA,EAAOA,MAAE,KAAA,CAAM,kBAAkB,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,CAAS,gCAAgC,CAAA;AAAA,EACnF,mBAAA,EAAqBA,MAAE,KAAA,CAAM,yBAAyB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC7E,iBAAA,EAAmBA,MAAE,KAAA,CAAM,yBAAyB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AAC7E,CAAC;AC5CM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,YAAA,EAAcA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EAClD,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAClE,QAAA,EAAUA,MAAE,IAAA,CAAK,CAAC,cAAc,qBAAA,EAAuB,kBAAkB,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACrF,MAAA,EAAQA,MAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC1C,cAAA,EAAgBA,MAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA,CAAE,SAAS,gDAA2C,CAAA;AAAA,EAC/F,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0BAA0B,CAAA;AAAA,EAC3D,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wDAAwD,CAAA;AAAA,EACpG,kBAAA,EAAoBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC7D,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mDAAmD;AAC5F,CAAC;AAIM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,KAAA,EAAOA,KAAAA,CAAE,IAAA,CAAK,CAAC,aAAA,EAAe,iBAAiB,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EAC/E,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,4CAA4C,CAAA;AAAA,EAC7E,aAAA,EAAeA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wCAAwC,CAAA;AAAA,EAC7F,mBAAA,EAAqBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AAChE,CAAC;AAIM,IAAM,0BAAA,GAA6BA,MAAE,MAAA,CAAO;AAAA,EACjD,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,EACvB,SAAA,EAAWA,MAAE,MAAA,EAAO;AAAA,EACpB,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,SAAA,EAAWA,MAAE,MAAA;AACf,CAAC;AASM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,cAAc,CAAA;AAAA,EACtC,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC5C,iBAAA,EAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,wDAAwD,CAAA;AAAA,EAC/F,UAAA,EAAY,gBAAA;AAAA,EACZ,OAAA,EAASA,MAAE,KAAA,CAAM,kBAAkB,EAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA;AAAA,EACjD,MAAA,EAAQA,MAAE,KAAA,CAAM,0BAA0B,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AACnE,CAAC;AC/CM,IAAM,iBAAA,GAAoBA,MAAE,IAAA,CAAK;AAAA,EACtC,mBAAA;AAAA;AAAA,EACA,kBAAA;AAAA;AAAA,EACA,eAAA;AAAA;AAAA,EACA,YAAA;AAAA;AAAA,EACA,eAAA;AAAA;AAAA,EACA,iBAAA;AAAA;AAAA,EACA,cAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAEM,IAAM,0BAAA,GAA6BA,MAAE,MAAA,CAAO;AAAA,EACjD,eAAA,EAAiBA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI;AAAA,EACvC,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,+DAA+D,CAAA;AAAA,EACnG,aAAA,EAAe,iBAAA;AAAA,EACf,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mCAAmC,CAAA;AAAA,EAC/E,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAChF,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAC/F,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,mDAAmD,CAAA;AAAA,EACjG,cAAA,EAAgBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,qCAAqC;AAC3G,CAAC;AASM,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,mBAAmB,CAAA;AAAA,EAC3C,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC5C,gBAAA,EAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IACtC;AAAA,GACF;AAAA,EACA,YAAYA,KAAAA,CAAE,KAAA,CAAM,0BAA0B,CAAA,CAAE,IAAI,CAAC;AACvD,CAAC;ACtCM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,kDAAkD,CAAA;AAAA,EAC7E,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,sDAAsD,CAAA;AAAA,EACpF,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yDAAyD;AAC1F,CAAC;AAIM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,kBAAA,EAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAA,IAC7B;AAAA,GACF;AAAA,EACA,mBAAA,EAAqBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gCAAgC,CAAA;AAAA,EACzE,iBAAA,EAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,6BAA6B,CAAA;AAAA,EACpE,gBAAA,EAAkBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,sBAAsB;AAC9F,CAAC;AAUM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EACrC,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC5C,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA;AAAA,EAGlF,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC,CAAA;AAAA,EAC9E,uBAAuBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2CAA2C,CAAA;AAAA;AAAA,EAGjG,kBAAA,EAAoB,wBAAA;AAAA;AAAA,EAGpB,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACvF,sBAAsBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,KAAK,CAAA;AAAA,EACzD,qBAAA,EAAuBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,sBAAsB,CAAA;AAAA,EACjG,UAAA,EAAYA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,CAAC,CAAA;AAAA;AAAA,EAGlD,YAAA,EAAc,mBAAA,CAAoB,QAAA,EAAS,CAAE,SAAS,sCAAsC,CAAA;AAAA;AAAA,EAG5F,kBAAA,EAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IACxC;AAAA,GACF;AAAA,EACA,2BAAA,EAA6BA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AACtE,CAAC;ACrDM,IAAM,eAAA,GAAkBA,MAAE,IAAA,CAAK;AAAA,EACpC,aAAA;AAAA;AAAA,EACA,UAAA;AAAA;AAAA,EACA,oBAAA;AAAA;AAAA,EACA,kBAAA;AAAA;AAAA,EACA;AACF,CAAC;AAEM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,aAAA,EAAeA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI;AAAA,EACrC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gDAAgD,CAAA;AAAA,EAClF,WAAA,EAAa,eAAA;AAAA,EACb,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uCAAuC,CAAA;AAAA,EACjE,eAAA,EAAiBA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EACxD,sBAAA,EAAwBA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IAC5C;AAAA,GACF;AAAA,EACA,qBAAqBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,2BAA2B,CAAA;AAAA,EAC/E,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACpD,kBAAkBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC,CAAA;AAAA,EAClF,wBAAwBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,iCAAiC;AAC1F,CAAC;AAIM,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,aAAA,EAAeA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI;AAAA,EACrC,aAAA,EAAeA,MAAE,MAAA,EAAO;AAAA,EACxB,kBAAA,EAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,iDAAiD,CAAA;AAAA,EACzF,kBAAkBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,qCAAqC;AACvF,CAAC;AAUM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,kBAAkB,CAAA;AAAA,EAC1C,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC5C,oBAAA,EAAsBA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7D,uBAAA,EAAyBA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAChE,uBAAA,EAAyBA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,CAAC,CAAA;AAAA,EAC/D,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,cAAc,CAAA;AAAA,EACvD,kBAAkBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,eAAe,CAAA;AAAA,EAC/D,UAAUA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAC9C,cAAA,EAAgBA,MAAE,KAAA,CAAM,sBAAsB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AACvE,CAAC;ACpDM,IAAM,eAAeA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,QAAA,EAAU,MAAM,CAAC;AAIxD,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,gBAAgB,CAAA;AAAA,EAC5C,UAAA,EAAYA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI;AAAA,EAClC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IAC9B;AAAA,GACF;AAAA,EACA,IAAA,EAAM,YAAA,CAAa,QAAA,EAAS,CAAE,QAAQ,QAAQ,CAAA;AAAA,EAC9C,MAAA,EAAQA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EACpD,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,QAAA;AAAA,IAC9B;AAAA,GACF;AAAA,EACA,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,yCAAyC,CAAA;AAAA,EACrE,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,wBAAwB,CAAA;AAAA,EACpE,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,KAAK,CAAA;AAAA,EACjD,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACxB,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,IACb,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,IACf,SAAA,EAAWA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAAS,GACjC,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,6BAA6B,CAAA;AAAA,EACjE,MAAMA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,qBAAqB,CAAA;AAAA,EAC1D,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,qDAAqD,CAAA;AAAA,EACpF,YAAA,EAAcA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,KAAI,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,CAAC;AAC5D,CAAC;AAUM,IAAM,eAAA,GAAkBA,MAAE,MAAA,CAAO;AAAA,EACtC,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,YAAY,CAAA;AAAA,EACpC,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC5C,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA;AAAA,IACvD;AAAA,GACF;AAAA,EACA,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,qBAAqB,CAAA;AAAA,EAC/D,aAAA,EAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,UAAS,CAAE,OAAA;AAAA,IACnC;AAAA,GACF;AAAA,EACA,OAAOA,KAAAA,CAAE,KAAA,CAAM,cAAc,CAAA,CAAE,IAAI,CAAC;AACtC,CAAC;ACjDM,IAAM,wBAAA,GAA2BA,MAAE,MAAA,CAAO;AAAA,EAC/C,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,KAAA,EAAOA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,SAAS,oCAAoC,CAAA;AAAA,EAC1F,MAAA,EAAQA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI;AAAA,EAC9B,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,4CAA4C,CAAA;AAAA,EACrF,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,0CAA0C,CAAA;AAAA,EACtE,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,OAAA,EAASA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACxB,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,IACb,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,IACf,SAAA,EAAWA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAAS,GACjC,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,yBAAyB,CAAA;AAAA,EAC7D,mBAAA,EAAqBA,KAAAA,CAAE,MAAA,EAAO,CAAE,SAAS,uCAAuC,CAAA;AAAA,EAChF,SAAA,EAAWA,KAAAA,CAAE,MAAA,CAAO,MAAA,EAAO,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,QAAA,CAAS,SAAS,CAAA;AAAA,EACtE,eAAeA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,SAAS,+BAA+B;AAC/E,CAAC;AAIM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,EAClB,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,EAClB,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EACzC,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EACzC,aAAA,EAAeA,KAAAA,CAAE,MAAA,CAAO,MAAA,GAAS,GAAA,EAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,SAAS,0BAA0B,CAAA;AAAA,EACxF,YAAA,EAAcA,MAAE,MAAA,CAAO,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AACvD,CAAC;AAUM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,YAAA,EAAcA,KAAAA,CAAE,OAAA,CAAQ,aAAa,CAAA;AAAA,EACrC,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA;AAAA,EAG5C,QAAQA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,gDAAgD,CAAA;AAAA,EACtF,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,cAAc,CAAA;AAAA,EACtD,aAAA,EAAeA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,GAAW,OAAA,CAAQ,IAAI,CAAA,CAAE,QAAA,CAAS,mCAAmC,CAAA;AAAA;AAAA,EAGhG,WAAWA,KAAAA,CAAE,KAAA,CAAM,wBAAwB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EAGlD,UAAA,EAAYA,MAAE,KAAA,CAAM,yBAAyB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AACtE,CAAC;AC7CM,IAAM,0BAAA,GAA6BA,MAAE,IAAA,CAAK;AAAA,EAC/C,wBAAA;AAAA;AAAA,EACA,wBAAA;AAAA;AAAA,EACA,iBAAA;AAAA;AAAA,EACA,yBAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAGM,IAAM,sBAAA,GAAyBA,MAAE,IAAA,CAAK;AAAA,EAC3C,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,mBAAmBA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,KAAA,EAAO,KAAK,CAAC;AAGrD,IAAM,gBAAA,GAAmBA,MAAE,IAAA,CAAK;AAAA,EACrC,UAAA;AAAA,EAAY,YAAA;AAAA,EAAc,OAAA;AAAA,EAAS,SAAA;AAAA,EAAW,UAAA;AAAA,EAAY;AAC5D,CAAC;AAGM,IAAM,mBAAmBA,KAAAA,CAAE,IAAA,CAAK,CAAC,UAAA,EAAY,cAAA,EAAgB,UAAU,CAAC;AACxE,IAAM,iBAAiBA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,SAAA,EAAW,cAAc,CAAC;AAIzE,IAAM,mBAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,KAAA,CAAM,0BAA0B,oCAAoC,CAAA;AAExG,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EAChC,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxC,aAAA,EAAeA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AAC/C,CAAC,CAAA;AAEM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EAC3B,KAAA,EAAO,gBAAA;AAAA,EACP,OAAA,EAAS;AACX,CAAC;AAGM,IAAM,cAAA,GAAiBA,MAAE,MAAA,CAAO;AAAA,EACrC,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,UAAU,CAAA;AAAA,EAC/B,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACtB,YAAYA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EAChD,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACnC,eAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACzC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EAE3B,SAAA,EAAWA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAEzC,kBAAA,EAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAC3C,CAAC;AAKM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,EAClB,KAAA,EAAO,gBAAA;AAAA,EACP,QAAQA,KAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,SAAA,EAAW,WAAW,CAAC,CAAA;AAAA;AAAA;AAAA;AAAA,EAIpD,IAAA,EAAMA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACvC,WAAA,EAAaA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA;AAAA,EAE9C,aAAA,EAAeA,MAAE,MAAA,CAAO;AAAA,IACtB,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC1B,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC1B,GAAA,EAAKA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AAAA,GACpC,EAAE,QAAA,EAAS;AAAA;AAAA,EAEZ,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AAGM,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,EAClB,QAAA,EAAU,0BAAA;AAAA,EACV,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC;AAC1B,CAAC;AAGM,IAAM,2BAAA,GAA8BA,MAAE,MAAA,CAAO;AAAA,EAClD,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACtB,QAAA,EAAU,sBAAA;AAAA,EACV,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EACvD,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC;AAC1B,CAAC;AAKM,IAAM,mBAAmBA,KAAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,cAAA,EAAgB,eAAe,CAAC;AAGvE,IAAM,sBAAA,GAAyBA,MAAE,MAAA,CAAO;AAAA,EAC7C,OAAA,EAAS,gBAAA;AAAA,EACT,iBAAA,EAAmBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EAC3D,mBAAA,EAAqBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7D,iBAAA,EAAmBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EAC3D,mBAAA,EAAqBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA;AAAA,EAE7D,gBAAgBA,KAAAA,CAAE,MAAA,GAAS,WAAA,EAAY,CAAE,QAAQ,CAAC,CAAA;AAAA,EAClD,MAAA,EAAQA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AACxC,CAAC;AAGM,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,EACvB,UAAA,EAAY,gBAAA;AAAA,EACZ,iBAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EAC3C,SAAA,EAAW,gBAAA;AAAA,EACX,KAAA,EAAO;AACT,CAAC;AAGM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,KAAK,CAAA;AAAA,EACzC,oBAAA,EAAsBA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACpD,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC7B,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,IAClB,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,IACrB,aAAA,EAAeA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AAAA,GAC9C,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE;AAChB,CAAC;AAGM,IAAM,kBAAA,GAAqBA,MAAE,IAAA,CAAK;AAAA,EACvC,aAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAC;AAGM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,KAAA,EAAOA,MAAE,MAAA,EAAO;AAAA,EAChB,KAAA,EAAOA,MAAE,IAAA,CAAK,CAAC,MAAM,IAAA,EAAM,IAAA,EAAM,IAAI,CAAC,CAAA;AAAA,EACtC,KAAA,EAAOA,MAAE,IAAA,CAAK,CAAC,mBAAmB,iBAAA,EAAmB,gBAAA,EAAkB,UAAU,CAAC,CAAA;AAAA,EAClF,OAAA,EAASA,MAAE,MAAA,CAAO;AAAA,IAChB,YAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,IACzC,QAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,IACrC,aAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA;AAAY,GAC3C,CAAA;AAAA,EACD,UAAA,EAAYA,MAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EACnC,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC3B,IAAA,EAAM,kBAAA;AAAA,IACN,UAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,IACvC,YAAA,EAAcA,KAAAA,CAAE,MAAA,EAAO,CAAE,WAAA,EAAY;AAAA,IACrC,SAAA,EAAWA,MAAE,MAAA,CAAOA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IAC1C,mBAAA,EAAqBA,MAAE,OAAA;AAAQ,GAChC,CAAC,CAAA,CAAE,QAAA;AACN,CAAC;AAGM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,gBAAA,EAAkBA,MAAE,MAAA,EAAO;AAAA,EAC3B,SAAA,EAAWA,MAAE,MAAA,EAAO;AAAA,EACpB,aAAA,EAAeA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACxC,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,EACvB,WAAA,EAAaA,MAAE,MAAA,CAAO;AAAA,IACpB,OAAA,EAASA,KAAAA,CAAE,OAAA,CAAQ,oBAAoB,CAAA;AAAA,IACvC,eAAeA,KAAAA,CAAE,MAAA,GAAS,GAAA,EAAI,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC1C,MAAA,EAAQA,MAAE,MAAA;AAAO,GAClB;AACH,CAAC;AAGM,IAAM,6BAAA,GAAgCA,MAAE,MAAA,CAAO;AAAA,EACpD,YAAA,EAAcA,MAAE,MAAA,EAAO;AAAA,EACvB,QAAA,EAAUA,MAAE,MAAA,EAAO;AAAA,EACnB,MAAA,EAAQA,KAAAA,CAAE,IAAA,CAAK,CAAC,aAAA,EAAe,YAAY,sBAAsB,CAAC,CAAA,CAAE,OAAA,CAAQ,sBAAsB,CAAA;AAAA,EAClG,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,GAAG,CAAA;AAAA,EAChD,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,EAChC,mBAAA,EAAqBA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC7C,YAAA,EAAcA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK,CAAA;AAAA,EACvC,GAAA,EAAKA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AAChC,CAAC;AAGM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,SAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EACtC,eAAA,EAAiBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,GAAc,QAAA,EAAS;AAAA,EACzD,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EACvC,WAAA,EAAaA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,GAAA,CAAI,CAAC,CAAA,CAAE,OAAA,CAAQ,CAAC;AAChD,CAAC;AAGM,IAAM,iBAAA,GAAoBA,MAAE,MAAA,CAAO;AAAA,EACxC,EAAA,EAAI,gBAAA;AAAA,EACJ,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,MAAM,UAAU,CAAA;AAAA,EACpC,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,EACjC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EAEvB,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,EAAE,CAAA;AAAA,EAClC,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACnC,mBAAmBA,KAAAA,CAAE,KAAA,CAAM,iBAAiB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAExD,SAAA,EAAWA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACzC,YAAA,EAAcA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC5C,qBAAA,EAAuBA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACrD,mBAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAChD,kBAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC/C,kBAAkBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAC/C,mBAAmBA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACvD,wBAAwBA,KAAAA,CAAE,KAAA,CAAM,+BAA+B,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC3E,oBAAoBA,KAAAA,CAAE,KAAA,CAAM,2BAA2B,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA,EAEnE,aAAA,EAAeA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,EACxC,iBAAiBA,KAAAA,CAAE,MAAA,CAAO,EAAE,MAAA,EAAQA,MAAE,MAAA,EAAO,EAAG,MAAA,EAAQA,KAAAA,CAAE,QAAO,EAAG,IAAA,EAAMA,KAAAA,CAAE,MAAA,IAAU,CAAA;AAAA;AAAA,EAEtF,UAAA,EAAY,uBAAuB,OAAA,CAAQ;AAAA,IACzC,OAAA,EAAS,IAAA;AAAA,IACT,iBAAA,EAAmB,CAAA;AAAA,IACnB,mBAAA,EAAqB,CAAA;AAAA,IACrB,iBAAA,EAAmB,CAAA;AAAA,IACnB,mBAAA,EAAqB,CAAA;AAAA,IACrB,cAAA,EAAgB,CAAA;AAAA,IAChB,QAAQ;AAAC,GACV;AACH,CAAC;AAKM,IAAM,uBAAA,GAA0BA,MACpC,MAAA,CAAO;AAAA,EACN,MAAA,EAAQA,KAAAA,CAAE,IAAA,CAAK,CAAC,gBAAA,EAAkB,aAAA,EAAe,YAAA,EAAc,QAAQ,CAAC,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAA;AAAA,EAC1F,iBAAiBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI;AACrD,CAAC,CAAA,CACA,MAAA;AAAA,EACC,CAAC,IAAA,KAAS;AACR,IAAA,IAAI,IAAA,CAAK,WAAW,QAAA,EAAU;AAC5B,MAAA,OAAO,OAAO,KAAK,eAAA,KAAoB,QAAA,IAAY,KAAK,eAAA,CAAgB,IAAA,GAAO,MAAA,GAAS,CAAA;AAAA,IAC1F;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAA;AAAA,EACA;AAAA,IACE,OAAA,EAAS,iFAAA;AAAA,IACT,IAAA,EAAM,CAAC,iBAAiB;AAAA;AAE5B;AAGK,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,iBAAA,EAAmBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA;AAAA,EACrC,mBAAA,EAAqBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA;AAAA,EACvC,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ;AAC9B,CAAC;AAGM,IAAM,qBAAA,GAAwBA,MAAE,MAAA,CAAO;AAAA,EAC5C,QAAA,EAAUA,KAAAA,CAAE,KAAA,CAAM,CAACA,MAAE,MAAA,EAAO,CAAE,GAAA,EAAI,EAAGA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAK,CAAC,CAAA;AAAA,EACtD,WAAA,EAAa,gBAAA;AAAA,EACb,0BAA0BA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA;AAAA,EAEpD,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,CAAI,CAAC,CAAA,CAAE,GAAA,CAAI,GAAG,CAAA,CAAE,OAAA,CAAQ,IAAI,CAAA;AAAA,EACvD,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,IAAI,CAAA;AAAA;AAAA,EAEnE,cAAA,EAAgBA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC9C,YAAA,EAAcA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC5C,UAAUA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI;AAC9C,CAAC;AAGM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,UAAUA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,SAAS,CAAC,CAAA;AAAA,EACrC,IAAA,EAAMA,MAAE,IAAA,CAAK;AAAA,IACX,mBAAA;AAAA,IACA,uBAAA;AAAA,IACA,sBAAA;AAAA,IACA,4BAAA;AAAA,IACA,uBAAA;AAAA,IACA,wBAAA;AAAA,IACA,8BAAA;AAAA,IACA,yBAAA;AAAA,IACA,yBAAA;AAAA,IACA,6BAAA;AAAA;AAAA,IAEA,qBAAA;AAAA,IACA;AAAA,GACD,CAAA;AAAA,EACD,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,OAAA,EAASA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,EAClB,OAAA,EAASA,MAAE,MAAA,CAAOA,KAAAA,CAAE,KAAK,CAAA,CAAE,OAAA,CAAQ,EAAE;AACvC,CAAC;AAGM,IAAM,0BAAA,GAA6BA,MAAE,MAAA,CAAO;AAAA,EACjD,KAAA,EAAOA,MAAE,OAAA,EAAQ;AAAA,EACjB,QAAQA,KAAAA,CAAE,IAAA,CAAK,CAAC,QAAA,EAAU,YAAA,EAAc,eAAe,CAAC,CAAA;AAAA,EACxD,OAAA,EAASA,MAAE,MAAA,CAAO;AAAA,IAChB,cAAA,EAAgBA,MAAE,MAAA,EAAO;AAAA,IACzB,mBAAA,EAAqBA,MAAE,MAAA,EAAO;AAAA,IAC9B,kBAAA,EAAoBA,MAAE,MAAA,EAAO;AAAA,IAC7B,cAAA,EAAgBA,MAAE,MAAA,EAAO;AAAA,IACzB,sBAAA,EAAwBA,MAAE,MAAA,EAAO;AAAA,IACjC,6BAAA,EAA+BA,MAAE,MAAA,EAAO;AAAA;AAAA,IAExC,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC,CAAA;AAAA,IACrC,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,CAAC;AAAA,GACrC,CAAA;AAAA,EACD,QAAQA,KAAAA,CAAE,KAAA,CAAM,yBAAyB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACrD,UAAUA,KAAAA,CAAE,KAAA,CAAM,yBAAyB,CAAA,CAAE,OAAA,CAAQ,EAAE;AACzD,CAAC;AAGM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,cAAA,EAAgBA,KAAAA,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EAC3B,OAAA,EAASA,MAAE,MAAA,EAAO;AAAA,EAClB,SAAA,EAAWA,MAAE,MAAA,EAAO;AAAA,EACpB,UAAA,EAAYA,MAAE,MAAA,EAAO;AAAA,EACrB,MAAA,EAAQA,MAAE,MAAA,CAAO;AAAA,IACf,UAAA,EAAYA,MAAE,IAAA,CAAK,CAAC,mBAAmB,eAAA,EAAiB,iBAAA,EAAmB,cAAc,CAAC,CAAA;AAAA,IAC1F,qBAAqBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,IACvD,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IACxC,mBAAA,EAAqBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,CAAC;AAAA,GAC9D,CAAA;AAAA,EACD,WAAA,EAAa,qBAAA;AAAA,EACb,MAAA,EAAQA,MAAE,MAAA,CAAO;AAAA;AAAA,IAEf,YAAYA,KAAAA,CAAE,KAAA,CAAM,qBAAqB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,IAChD,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI;AAAA,GACjD,CAAA;AAAA,EACD,OAAOA,KAAAA,CAAE,KAAA,CAAM,cAAc,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA,EACpC,UAAUA,KAAAA,CAAE,KAAA,CAAM,iBAAiB,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA;AAAA;AAAA,EAE1C,gBAAA,EAAkB,sBAAsB,QAAA,EAAS;AAAA,EACjD,eAAeA,KAAAA,CAAE,KAAA,CAAM,iBAAiB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACpD,4BAA4BA,KAAAA,CAAE,KAAA,CAAM,4BAA4B,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC5E,uBAAuBA,KAAAA,CAAE,KAAA,CAAM,6BAA6B,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxE,cAAA,EAAgBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC/B,UAAA,EAAY,gBAAA;AAAA,IACZ,KAAA,EAAOA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ;AAAA,GAC1B,CAAC,CAAA;AAAA,EACF,WAAA,EAAa,uBAAA;AAAA,EACb,eAAA,EAAiB,oBAAA;AAAA,EACjB,QAAA,EAAUA,MAAE,MAAA,CAAO;AAAA,IACjB,QAAQA,KAAAA,CAAE,IAAA,CAAK,CAAC,OAAA,EAAS,UAAA,EAAY,YAAY,CAAC,CAAA;AAAA,IAClD,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA;AAAA,IAE/C,WAAWA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI;AAAA,GAC9C,CAAA;AAAA,EACD,iBAAA,EAAmB,2BAA2B,QAAA,EAAS;AAAA;AAAA;AAAA,EAGvD,cAAA,EAAgBA,MAAE,KAAA,CAAM,oBAAoB,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE;AACrE,CAAC;AAKM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,IAAA,EAAM,cAAA;AAAA,EACN,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,IAAI,CAAC,CAAA;AAAA,EACtB,aAAA,EAAeA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC7C,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxC,YAAA,EAAcA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC5C,qBAAA,EAAuBA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACrD,mBAAmBA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,EAChD,UAAA,EAAY,gBAAA,CAAiB,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EACpD,UAAA,EAAY,gBAAA,CAAiB,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EACpD,gBAAA,EAAkBA,KAAAA,CAAE,IAAA,CAAK,CAAC,KAAA,EAAO,YAAY,SAAS,CAAC,CAAA,CAAE,OAAA,CAAQ,UAAU,CAAA;AAAA,EAC3E,mBAAA,EAAqBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACpC,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,IACf,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC7B,aAAA,EAAeA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,IACvD,OAAA,EAAS,sBAAA,CAAuB,OAAA,CAAQ,cAAc;AAAA,GACvD,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACd,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC3B,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,IACf,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAAA,GAChC,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACd,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA;AAAA;AAAA,EAG/B,wBAAA,EAA0BA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ/C,cAAA,EAAgBA,KAAAA,CAAE,MAAA,CAAO,EAAE,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,EAAG,KAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,EAAG,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,EAAI,CAAE,WAAA,EAAY,EAAG,EAAE,QAAA,EAAS;AAAA,EACrJ,yBAAA,EAA2BA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC1C,UAAA,EAAY,gBAAA;AAAA,IACZ,QAAA,EAAU,gBAAA;AAAA,IACV,eAAeA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,WAAA,EAAY;AAAA,IAC5C,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAAA,GAC9B,CAAC,CAAA,CAAE,QAAA,EAAS;AAAA,EACb,aAAA,EAAeA,MAAE,MAAA,CAAO;AAAA,IACtB,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC1B,GAAA,EAAKA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC1B,GAAA,EAAKA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE;AAAA,GACpC,EAAE,QAAA,EAAS;AAAA,EACZ,OAAA,EAASA,KAAAA,CAAE,OAAA,EAAQ,CAAE,QAAQ,KAAK;AACpC,CAAC;AAIM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,EACb,MAAMA,KAAAA,CAAE,IAAA,CAAK,CAAC,WAAA,EAAa,MAAM,CAAC,CAAA;AAAA,EAClC,MAAA,EAAQA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAC/B,CAAC;AAGM,IAAM,mBAAA,GAAsBA,MAAE,MAAA,CAAO;AAAA,EAC1C,UAAA,EAAYA,MAAE,IAAA,CAAK,CAAC,mBAAmB,eAAA,EAAiB,iBAAA,EAAmB,cAAc,CAAC,CAAA;AAAA,EAC1F,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxC,mBAAA,EAAqBA,MAAE,MAAA,EAAO,CAAE,KAAI,CAAE,WAAA,EAAY,CAAE,OAAA,CAAQ,CAAC,CAAA;AAAA,EAC7D,OAAOA,KAAAA,CAAE,KAAA,CAAM,kBAAkB,CAAA,CAAE,GAAA,CAAI,GAAG,+CAA+C,CAAA;AAAA,EACzF,OAAOA,KAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAC/C,SAAA,EAAWA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IAC1B,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,IACb,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,IACf,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,IAAI,CAAC,CAAA;AAAA,IACnC,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE;AAAA,GACjC,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA;AAAA;AAAA,EAGd,MAAA,EAAQA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,CAAO;AAAA,IACvB,EAAA,EAAIA,MAAE,MAAA,EAAO;AAAA,IACb,OAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAA,GAAM,QAAA,EAAS;AAAA,IACjC,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,IACf,kBAAA,EAAoBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAQ,EAAE,CAAA;AAAA,IACzC,QAAA,EAAUA,MAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,IAAI,CAAC;AAAA,GACpC,CAAC,CAAA,CAAE,OAAA,CAAQ,EAAE;AAChB,CAAC;AAMM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,KAAA,EAAOA,MAAE,OAAA,EAAQ;AAAA,EACjB,WAAA,EAAa,qBAAA;AAAA,EACb,WAAA,EAAa,wBAAwB,OAAA,CAAQ,EAAE,QAAQ,YAAA,EAAc,eAAA,EAAiB,MAAM;AAC9F,CAAC;AAIM,SAAS,uBAAuB,IAAA,EAA+B;AACpE,EAAA,MAAM,MAAA,GAAS,oBAAA,CAAqB,KAAA,CAAM,IAAI,CAAA;AAC9C,EAAA,KAAA,MAAW,CAAA,IAAK,OAAO,QAAA,EAAU;AAC/B,IAAA,MAAM,KAAA,GAAQ,CAAA,CAAE,iBAAA,GAAoB,CAAA,CAAE,mBAAmB,CAAA,CAAE,gBAAA;AAC3D,IAAA,IAAI,KAAA,GAAQ,MAAA,CAAO,WAAA,CAAY,wBAAA,EAA0B;AACvD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,UAAA,GAAa,EAAE,EAAA,GAAK,oBAAA,GAAuB,QAAQ,KAAA,GAAQ,MAAA,CAAO,YAAY,wBAAA,GAA2B;AAAA,OAC3G;AAAA,IACF;AAAA,EACF;AACA,EAAA,OAAO,MAAA;AACT;;;ACvaO,IAAM,wBAAA,GAA2BA,KAAAA,CAAE,kBAAA,CAAmB,cAAA,EAAgB;AAAA;AAAA,EAE3E,gBAAA;AAAA;AAAA,EACA,mBAAA;AAAA;AAAA,EACA,kBAAA;AAAA;AAAA;AAAA,EAEA,iBAAA;AAAA;AAAA,EACA,oBAAA;AAAA;AAAA,EACA,gBAAA;AAAA;AAAA,EACA,iBAAA;AAAA;AAAA;AAAA,EAEA,aAAA;AAAA;AAAA;AAAA,EAEA,oBAAA;AAAA;AAAA,EACA,YAAA;AAAA;AAAA,EACA,gBAAA;AAAA;AAAA;AAAA,EAEA,eAAA;AAAA;AAAA,EACA,aAAA;AAAA;AAAA,EACA,eAAA;AAAA;AAAA,EACA,kBAAA;AAAA;AAAA,EACA,eAAA;AAAA;AAAA,EACA,cAAA;AAAA;AAAA,EACA,sBAAA;AAAA;AAAA,EACA,gBAAA;AAAA;AAAA,EACA,qBAAA;AAAA;AAAA,EACA,eAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAC;AAOM,IAAM,4BAAA,GAA+BA,MAAE,MAAA,CAAO;AAAA,EACnD,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7C,OAAA,EAASA,KAAAA,CAAE,IAAA,CAAK,CAAC,aAAa,iBAAA,EAAmB,eAAA,EAAiB,KAAA,EAAO,KAAA,EAAO,KAAK,CAAC,CAAA,CAAE,EAAA,CAAGA,KAAAA,CAAE,QAAQ,CAAA;AAAA,EACrG,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,YAAY,CAAA;AAAA,EACvD,qBAAqBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,YAAY,CAAA;AAAA,EAC/D,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,eAAe,CAAA;AAAA,EACzD,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EACzC,SAASA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EACzC,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE;AAChD,CAAC;AAmBM,IAAM,oBAAA,GAAuBA,MAAE,MAAA,CAAO;AAAA,EAC3C,EAAA,EAAIA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACxB,IAAA,EAAMA,MAAE,MAAA,EAAO;AAAA,EACf,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7C,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,IAAI,CAAA;AAAA,EAC9C,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,cAAcA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC9C,kBAAkBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,MAAM,CAAA;AAAA,EACtD,YAAYA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,UAAU,CAAA;AAAA,EACpD,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,YAAY,CAAA;AAAA,EACvD,aAAA,EAAeA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACxD,0BAAA,EAA4BA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EACrE,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,wEAAwE,CAAA;AAAA,EAC1I,YAAA,EAAcA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,0DAA0D,CAAA;AAAA,EAC5H,qBAAA,EAAuBA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,QAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA,CAAE,SAAS,mDAAmD,CAAA;AAAA,EAC9H,mBAAA,EAAqBA,MAAE,KAAA,CAAM,4BAA4B,EAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,EAChF,SAAA,EAAWA,KAAAA,CAAE,MAAA,EAAO,CAAE,GAAGA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EACnE,eAAA,EAAiBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA,EAErC,YAAYA,KAAAA,CAAE,KAAA,CAAM,CAACA,KAAAA,CAAE,QAAO,CAAE,GAAA,EAAI,EAAGA,KAAAA,CAAE,QAAO,CAAE,GAAA,EAAK,CAAC,EAAE,QAAA;AAC5D,CAAC;AA2BM,IAAM,gBAAA,GAAmBA,MAAE,MAAA,CAAO;AAAA,EACvC,UAAUA,KAAAA,CAAE,MAAA,GAAS,EAAA,CAAGA,KAAAA,CAAE,QAAQ,CAAA;AAAA,EAClC,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,UAAA,EAAYA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAChC,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC7C,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACpC,YAAYA,KAAAA,CAAE,KAAA,CAAM,oBAAoB,CAAA,CAAE,OAAA,CAAQ,EAAE;AACtD,CAAC;AAOM,IAAM,kBAAA,GAAqBA,MAAE,MAAA,CAAO;AAAA,EACzC,aAAA,EAAeA,MAAE,MAAA,CAAO;AAAA,IACtB,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,KAAA,EAAOA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC3B,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC1B,aAAaA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,IAC7C,UAAA,EAAYA,KAAAA,CAAE,KAAA,CAAMA,KAAAA,CAAE,MAAA,EAAQ,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,EAAE,CAAA;AAAA,IACrD,iBAAiBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,CAAC,CAAA;AAAA,IAChD,iBAAiBA,KAAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,CAAC,CAAA;AAAA,IAChD,cAAA,EAAgBA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IACpC,QAAA,EAAUA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,IAC9B,IAAA,EAAMA,KAAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AAAS,GAC3B,CAAA;AAAA,EACD,QAAQA,KAAAA,CAAE,KAAA,CAAM,gBAAgB,CAAA,CAAE,OAAA,CAAQ,EAAE;AAC9C,CAAC","file":"index.cjs","sourcesContent":["import { z } from 'zod';\n\n// ─── Shared sub-schemas ───────────────────────────────────────────────────────\n\nexport const LearningObjectiveRowSchema = z.object({\n  code: z.string().describe('LO code, e.g. \"LO1\"'),\n  objective: z.string().describe('Bloom-tagged learning objective'),\n  evidence: z.string().describe('Observable student evidence / output'),\n  successCriteria: z.string().describe('Measurable pass/fail condition'),\n  /**\n   * Standards anchors (Phase 1: optional). Format: \"statementId\" or\n   * \"packId:statementId\", e.g. \"csta-k12-2017:1B-AP-10\". IDs MUST exist in an\n   * adopted Framework Pack — the Standards Coverage Gate resolves and audits them.\n   */\n  standardRefs: z.array(z.string()).optional().default([]).describe('Anchoring standard statement IDs from adopted Framework Packs'),\n  /** Ontora knowledge-tree anchors, e.g. \"ontora:WHILE_LOOP\" (optional, Phase 1). */\n  conceptRefs: z.array(z.string()).optional().default([]).describe('Anchoring ontora concept codes, e.g. \"ontora:FOR_LOOP\"'),\n});\n\nexport const ActivitySeqRowSchema = z.object({\n  seq: z.coerce.number().int(),\n  phase: z.string().describe('EDP or 5E phase label'),\n  activityType: z.string().describe('e.g. \"Mini-lecture\", \"Brainstorming\", \"Hands-on Coding\"'),\n  actor: z.string().describe('\"Teacher\" | \"Students\" | \"Teacher + Students\"'),\n  purpose: z.string().describe('Why this activity is done'),\n  studentAction: z.string(),\n  teacherMove: z.string(),\n  outputEvidence: z.string(),\n  lo: z.array(z.string()).describe('e.g. [\"LO1\",\"LO2\"]'),\n  durationMinutes: z.coerce.number().default(10),\n  artifactContract: z.string().describe('Satellite artifact(s) linked, e.g. \"SLIDE_U03_M01_L13\"'),\n});\n\nexport const ResourceMapRowSchema = z.object({\n  resourceType: z.string().describe('\"Slide Deck\" | \"Handout\" | \"Starter Code\" | \"Lab Tools\" | etc.'),\n  identifier: z.string(),\n  description: z.string(),\n  location: z.string().default(''),\n});\n\nexport const AssessmentMapRowSchema = z.object({\n  form: z.string().describe('\"Formative Checkpoint\" | \"Summative Assessment\" | \"Peer Feedback\"'),\n  when: z.string().describe('When in the sequence this is assessed'),\n  tool: z.string().describe('Assessment tool or artifact used'),\n  criteria: z.string(),\n  performanceLevels: z.string().default(''),\n  remediationPath: z.string().default(''),\n});\n\nexport const ArtifactContractRowSchema = z.object({\n  artifactId: z.string(),\n  artifactType: z.string(),\n  description: z.string(),\n  requiredSections: z.string().default(''),\n  format: z.string().default(''),\n  owner: z.string().default(''),\n});\n\nexport const LessonFlowPhaseSchema = z.object({\n  phase: z.string().describe('Phase title, e.g. \"ASK\", \"ENGAGE\", \"PLAN\"'),\n  durationMinutes: z.coerce.number(),\n  content: z.string().describe('Full narrative content of this phase (teacher actions, student actions, code, outputs)'),\n});\n\nexport const TroubleshootingRowSchema = z.object({\n  issue: z.string(),\n  potentialCause: z.string(),\n  solution: z.string(),\n});\n\n// ─── Shared base for both Lesson models ──────────────────────────────────────\n\nconst LessonBaseSchema = z.object({\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().default('en'),\n  estimatedDuration: z.string().describe('e.g. \"90 minutes\"'),\n  projectObjective: z.string(),\n  materials: z.string().default(''),\n  learningObjectives: z.array(LearningObjectiveRowSchema).min(1),\n  activitySequence: z.array(ActivitySeqRowSchema).min(1),\n  resourceMap: z.array(ResourceMapRowSchema).default([]),\n  assessmentMap: z.array(AssessmentMapRowSchema).default([]),\n  artifactContract: z.array(ArtifactContractRowSchema).default([]),\n  lessonFlow: z.array(LessonFlowPhaseSchema).min(1),\n  teacherNotes: z.string().optional().default(''),\n  troubleshooting: z.array(TroubleshootingRowSchema).default([]),\n});\n\n// ─── LESSON_EDP: Engineering Design Process ───────────────────────────────────\n\n/**\n * Lesson Plan Schema — EDP (Engineering Design Process) Model\n * Template: LESSON_EDP_template.md\n * Phases: Ask → Imagine → Plan → Create → Test & Improve → Share & Evaluate\n */\nexport const EDPPhaseEnum = z.enum([\n  'Ask',\n  'Imagine',\n  'Plan',\n  'Create',\n  'Test & Improve',\n  'Share & Evaluate',\n]);\n\nexport const LessonPlanEDPSchema = LessonBaseSchema.extend({\n  artifactType: z.literal('LESSON_EDP').default('LESSON_EDP'),\n});\n\nexport type LessonPlanEDP = z.infer<typeof LessonPlanEDPSchema>;\n\n// ─── LESSON_5E: 5E Instructional Model ──────────────────────────────────────\n\n/**\n * Lesson Plan Schema — 5E Instructional Model\n * Template: LESSON_5E_template.md\n * Phases: Engage → Explore → Explain → Elaborate → Evaluate\n */\nexport const FiveEPhaseEnum = z.enum([\n  'Engage',\n  'Explore',\n  'Explain',\n  'Elaborate',\n  'Evaluate',\n]);\n\n/** Additional 5E-specific Lesson Flow fields */\nexport const FiveEFlowPhaseSchema = LessonFlowPhaseSchema.extend({\n  hookScenario: z.string().optional().describe('Hook story/roleplay for Engage phase (5E-specific)'),\n  openQuestion: z.string().optional().describe('Explicit guiding question posed to class'),\n  visualIllustration: z.string().optional().describe('Mermaid diagram, code, or JSON snippet for Explain phase'),\n  tieredScaffolding: z.object({\n    bronze: z.string().default(''),\n    silver: z.string().default(''),\n    gold: z.string().default(''),\n  }).optional(),\n  exitTicketQuestions: z.array(z.string()).optional(),\n});\n\nexport const LessonPlan5ESchema = LessonBaseSchema.extend({\n  artifactType: z.literal('LESSON_5E').default('LESSON_5E'),\n  lessonFlow: z.array(FiveEFlowPhaseSchema).min(1),\n  keywords: z.array(z.string()).default([]),\n}).omit({ lessonFlow: true }).extend({\n  lessonFlow: z.array(FiveEFlowPhaseSchema).min(1),\n});\n\nexport type LessonPlan5E = z.infer<typeof LessonPlan5ESchema>;\n\n// ─── Legacy LESSON schema (kept for backward compatibility) ──────────────────\n\nexport const CoreConceptSchema = z.object({\n  name: z.string(),\n  analogy: z.string().default(''),\n  technicalDepth: z.string().default(''),\n  comparisonTable: z.object({\n    headers: z.array(z.string()),\n    rows: z.array(z.array(z.string())),\n  }).optional(),\n  formulaOrRule: z.string().optional().default(''),\n});\n\nexport const LessonSectionSchema = z.object({\n  title: z.string(),\n  durationMinutes: z.coerce.number().default(15),\n  teacherActions: z.string().default(''),\n  studentActions: z.string().default(''),\n  analogies: z.array(z.string()).optional().default([]),\n  formativeCheck: z.string().optional().default(''),\n});\n\n/**\n * @deprecated Use LessonPlanEDPSchema or LessonPlan5ESchema instead.\n * Kept for backward compatibility with existing data.\n */\nexport const LessonPlanSchema = z.object({\n  artifactType: z.literal('LESSON').default('LESSON'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().default('vi'),\n  topic: z.string().default('General Topic'),\n  targetGradeOrAudience: z.string().default('Learners'),\n  overview: z.string(),\n  learningObjectives: z.array(z.object({\n    code: z.string().default('LO'),\n    name: z.string().optional().default(''),\n    description: z.string(),\n    bloomLevel: z.string().default('understand'),\n    successCriteria: z.string().optional().default(''),\n    standardRefs: z.array(z.string()).optional(),\n    conceptRefs: z.array(z.string()).optional(),\n  })).default([]),\n  prerequisites: z.string().optional().default(''),\n  materialsSummary: z.string().optional().default(''),\n  keywords: z.array(z.string()).optional().default([]),\n  hookTitle: z.string().optional().default(''),\n  hookScenario: z.string().default(''),\n  hookQuestions: z.array(z.string()).optional().default([]),\n  coreConcepts: z.array(CoreConceptSchema).optional().default([]),\n  guidedPractice: z.object({\n    title: z.string().default(''),\n    explanation: z.string().default(''),\n    codeSnippet: z.string().default(''),\n    codeLanguage: z.string().default('typescript'),\n    mermaidDiagram: z.string().optional().default(''),\n  }).optional(),\n  independentPractice: z.object({\n    title: z.string().default(''),\n    description: z.string().default(''),\n  }).optional(),\n  differentiation: z.object({\n    bronzeTier: z.string().default(''),\n    silverTier: z.string().default(''),\n    goldTier: z.string().default(''),\n  }).default({ bronzeTier: '', silverTier: '', goldTier: '' }),\n  sections: z.array(LessonSectionSchema).min(1),\n  exitTicket: z.object({\n    questionStem: z.string(),\n    expectedAnswerOrRubric: z.string().default(''),\n    metacognitivePrompt: z.string().default(''),\n  }),\n  teacherNotes: z.object({\n    commonPitfalls: z.array(z.string()).default([]),\n    troubleshootingMatrix: z.array(TroubleshootingRowSchema).default([]),\n    extensionNotes: z.string().optional().default(''),\n  }).optional().default({ commonPitfalls: [], troubleshootingMatrix: [], extensionNotes: '' }),\n});\n\nexport type LessonPlan = z.infer<typeof LessonPlanSchema>;\nexport type CoreConcept = z.infer<typeof CoreConceptSchema>;\nexport type TroubleshootingRow = z.infer<typeof TroubleshootingRowSchema>;\nexport type ActivitySeqRow = z.infer<typeof ActivitySeqRowSchema>;\nexport type LessonFlowPhase = z.infer<typeof LessonFlowPhaseSchema>;\nexport type LearningObjectiveRow = z.infer<typeof LearningObjectiveRowSchema>;\nexport type ResourceMapRow = z.infer<typeof ResourceMapRowSchema>;\nexport type AssessmentMapRow = z.infer<typeof AssessmentMapRowSchema>;\nexport type ArtifactContractRow = z.infer<typeof ArtifactContractRowSchema>;\n","import { z } from 'zod';\n\n/**\n * Activity Lab Schema — Hands-on Step-by-Step Inquiry-Based Practical Lab\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/ACT_template.md\n */\nexport const ActivityStepSchema = z.object({\n  stepNumber: z.coerce.number().default(1),\n  title: z.string().describe('Short descriptive title of this step'),\n  durationMinutes: z.coerce.number().default(10).describe('Estimated duration for this step'),\n  teacherInstructions: z.string().default('').describe('Guidance and checkpoint tips for the teacher'),\n  studentInstructions: z.string().describe('Direct, clear, actionable step-by-step instructions for students'),\n  checkpoint: z.string().optional().default('').describe('Clear observable checkpoint or success indicator for this step'),\n});\n\nexport const ComputationalThinkingSchema = z.object({\n  problemStatement: z.string().describe('Tình huống thực tế đầy thách thức cần giải quyết'),\n  decomposition: z.array(z.string()).describe('Các bước phân rã bài toán lớn thành các phần nhỏ'),\n  algorithmDesign: z.string().describe('Thiết kế luồng thuật toán và xử lý dữ liệu trước khi code'),\n});\n\nexport const ActiveLearningWorkflowSchema = z.object({\n  phase1Planning: z.object({\n    durationMinutes: z.coerce.number().default(15),\n    studentTask: z.string().describe('Vẽ sơ đồ, thiết kế luồng trên giấy/bảng trước khi gõ phím'),\n    teacherAction: z.string().describe('Quan sát và đặt câu hỏi gợi mở (Inquiry questions)'),\n    inquiryQuestions: z.array(z.string()).default([]),\n  }),\n  phase2Implementation: z.object({\n    durationMinutes: z.coerce.number().default(40),\n    studentTask: z.string().describe('Hiện thực hóa giải pháp qua code hoặc lắp ráp phần cứng'),\n    teacherAction: z.string().describe('Hỗ trợ khi học sinh bị tắc > 5 phút, tránh làm hộ'),\n    codeOrCommands: z.array(z.string()).default([]),\n  }),\n  phase3Debugging: z.object({\n    durationMinutes: z.coerce.number().default(15),\n    testingSteps: z.string().describe('Quy trình chạy thử nghiệm và kiểm tra đầu ra'),\n    errorAnalysis: z.string().describe('Phân tích mã lỗi và tự gỡ lỗi dựa trên bảng Troubleshooting'),\n  }),\n});\n\nexport const ActivityLabSchema = z.object({\n  artifactType: z.literal('ACT').default('ACT'),\n  lessonId: z.string().describe('Matching lesson identifier'),\n  title: z.string().describe('Activity title'),\n  language: z.string().default('vi').describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n  objective: z.string().describe('Core hands-on objective of the activity'),\n  totalDurationMinutes: z.coerce.number().default(60).describe('Total estimated duration of the activity'),\n  \n  // 1. Computational Thinking Focus\n  computationalThinking: ComputationalThinkingSchema.optional(),\n\n  // 2. Bill of Materials (BOM)\n  materialsBOM: z.object({\n    hardware: z.array(z.string()).default([]).describe('Hardware boards, components, sensors, or devices required (bọc trong <!-- [HARDWARE_BOM] -->)'),\n    software: z.array(z.string()).default([]).describe('IDE, compilers, browser tools, libraries, or simulators required'),\n    consumables: z.array(z.string()).default([]).describe('Paper, pens, wires, or disposable items'),\n    otherResources: z.array(z.string()).default([]).describe('Worksheets, handouts, or reference links'),\n  }),\n\n  // 3. Constraints & Safety\n  safetyWarnings: z.array(z.string()).default([]).describe('Essential safety cautions, electrical warnings, or common hazards'),\n  designConstraints: z.array(z.string()).default([]).describe('Design constraints to stimulate creative problem solving'),\n  teacherTips: z.array(z.string()).default([]).describe('Pedagogical facilitation tips, troubleshooting tricks'),\n\n  // 4. Workflow (Phases or Steps)\n  activeLearningWorkflow: ActiveLearningWorkflowSchema.optional(),\n  steps: z.array(ActivityStepSchema).default([]).describe('Step-by-step procedure of the activity'),\n\n  // 5. Differentiation (3-Tier)\n  differentiation3Tier: z.object({\n    bronzeTier: z.string().default('').describe('Nhiệm vụ nền tảng cơ bản'),\n    silverTier: z.string().default('').describe('Nhiệm vụ ứng dụng logic nâng cao'),\n    goldTier: z.string().default('').describe('Thử thách sáng tạo mở rộng'),\n  }).optional(),\n  scaffoldingSupport: z.string().default('').describe('How to simplify for struggling students'),\n  levelUpExtension: z.string().default('').describe('Extension task for students who finish early'),\n\n  // 6. Reflection\n  reflectionQuestion: z.string().optional().default('').describe('Câu hỏi phản tư kích thích tư duy phản biện'),\n});\n\nexport type ActivityLab = z.infer<typeof ActivityLabSchema>;\nexport type ComputationalThinking = z.infer<typeof ComputationalThinkingSchema>;\nexport type ActiveLearningWorkflow = z.infer<typeof ActiveLearningWorkflowSchema>;\n","import { z } from 'zod';\n\n/**\n * Code Lab Schema — Executable Source Code, Starters, Solutions & Test Cases\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/LAB_TEMPLATE.md\n */\nexport const CodeSnippetSchema = z.object({\n  filename: z.string().describe('Filename with extension, e.g. main.py, App.swift, solution.ts'),\n  language: z.string().describe('Programming language identifier, e.g. python, swift, typescript, cpp'),\n  purpose: z.enum(['starter', 'solution', 'test_runner', 'scaffold']).describe('Role of this code file'),\n  content: z.string().describe('Complete, clean, runnable source code with standardized comments and docstrings'),\n  explanation: z.string().default('').describe('Explanation of key algorithmic blocks and syntax nuances'),\n});\n\nexport const LabTierTaskSchema = z.object({\n  mins: z.coerce.number().default(15),\n  objective: z.string().describe('Mục tiêu của tầng nhiệm vụ'),\n  task: z.string().describe('Mô tả nhiệm vụ cụ thể'),\n  requirement: z.string().describe('Tiêu chí hoàn thành bắt buộc'),\n});\n\nexport const CodeLabSchema = z.object({\n  artifactType: z.literal('CODE').default('CODE'),\n  lessonId: z.string().describe('Matching lesson identifier'),\n  title: z.string().describe('Code Lab title'),\n  language: z.string().default('vi').describe('Language code for human explanations, e.g. \"vi\" or \"en\"'),\n  techStack: z.array(z.string()).default([]).describe('Technologies used, e.g. [\"Python\", \"PyTorch\"] or [\"Swift\", \"SwiftUI\"]'),\n  \n  // 1. Environment & Setup\n  environmentSetup: z.object({\n    languageFramework: z.string().default(''),\n    ideEditor: z.string().default(''),\n    requiredLibraries: z.array(z.string()).default([]),\n    hardwareOrEnvConnection: z.string().optional().default(''),\n  }).optional(),\n\n  // 2. 3-Tier Differentiation Tasks\n  threeTierTasks: z.object({\n    bronze: LabTierTaskSchema,\n    silver: LabTierTaskSchema,\n    gold: LabTierTaskSchema,\n  }).optional(),\n\n  // 3. Verified Runnable Code Snippets (bọc trong <!-- [SME_MANDATE] -->)\n  starterCode: CodeSnippetSchema.describe('Starter code provided to the learner with fill-in markers or skeletons'),\n  solutionCode: CodeSnippetSchema.describe('Complete verified reference solution code'),\n  testCases: z.array(\n    z.object({\n      description: z.string().describe('What this test case verifies'),\n      input: z.string().optional().default('').describe('Input or mock parameters'),\n      expectedOutput: z.string().describe('Expected return value, output, or UI state'),\n    })\n  ).default([]).describe('Automated verification tests or validation checks'),\n\n  // 4. Troubleshooting & Debugging Matrix\n  troubleshootingMatrix: z.array(\n    z.object({\n      issue: z.string().describe('Hiện tượng lỗi runtime/compile'),\n      potentialCause: z.string().describe('Nguyên nhân tiềm ẩn'),\n      solution: z.string().describe('Giải pháp khắc phục dứt điểm'),\n    })\n  ).default([]),\n  commonBugsAndFixes: z.array(\n    z.object({\n      bugDescription: z.string().describe('Common error message or logical pitfall'),\n      solutionHint: z.string().describe('How to diagnose and fix it'),\n    })\n  ).default([]),\n\n  // 5. Submission Checklist\n  submissionChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra hoàn thành nộp bài'),\n});\n\nexport type CodeLab = z.infer<typeof CodeLabSchema>;\nexport type CodeSnippet = z.infer<typeof CodeSnippetSchema>;\nexport type LabTierTask = z.infer<typeof LabTierTaskSchema>;\n","import { z } from 'zod';\n\n// ─── Worksheet Item ───────────────────────────────────────────────────────────\n\nexport const WorksheetItemTypeEnum = z.enum([\n  'fill_blank',         // Fill in the blanks sentence/table\n  'multiple_choice',    // Select the correct option\n  'matching',           // Match left column to right column\n  'short_answer',       // Open-ended text response\n  'code_trace',         // Trace through code and write output\n  'diagram_fill',       // Complete a circuit/flow diagram\n  'true_false',         // True or False statement\n  'ordering',           // Arrange steps/phases in correct order\n]);\n\nexport const WorksheetItemSchema = z.object({\n  itemNumber: z.coerce.number().int().default(1),\n  itemType: WorksheetItemTypeEnum,\n  prompt: z.string().describe('The question, fill-in stem, or task instruction'),\n  starterContent: z.string().optional().describe(\n    'Pre-filled content: code with blanks, table skeleton, diagram description, or matching columns'\n  ),\n  options: z.array(z.string()).optional().describe('Options for multiple_choice / true_false items'),\n  answerKey: z.string().optional().describe('Expected answer for teacher use'),\n  checkpointRequired: z.boolean().default(false).describe(\n    'If true, student must get teacher sign-off before proceeding'\n  ),\n});\n\n// ─── Worksheet Part ───────────────────────────────────────────────────────────\n\nexport const WorksheetPartSchema = z.object({\n  partNumber: z.coerce.number().int(),\n  partTitle: z.string().describe('e.g. \"Knowledge Check\", \"Guided Practice\", \"Concept Tracing\", \"Reflection\"'),\n  objective: z.string().optional().default(''),\n  items: z.array(WorksheetItemSchema).min(1),\n  checkpointInstruction: z.string().optional().describe(\n    'Instruction shown at the end of this part, e.g. \"☐ Hoàn thành Part 1 — Xin giáo viên kiểm tra\"'\n  ),\n});\n\n// ─── Full Worksheet ───────────────────────────────────────────────────────────\n\n/**\n * Worksheet Schema — Student-Facing Guided Practice Document\n * Template: WKS_template.md\n * Sections: Knowledge Check → Guided Practice → Reflection\n * (Actual lessons expand to 4-5 parts with circuit/code tasks)\n */\nexport const WorksheetSchema = z.object({\n  artifactType: z.literal('WKS').default('WKS'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().default('en'),\n\n  // Student header fields\n  studentName: z.string().optional().default(''),\n  classLabel: z.string().optional().default(''),\n\n  // Main content: array of Parts (Part 1: Knowledge Check, Part 2: Guided Practice, etc.)\n  parts: z.array(WorksheetPartSchema).min(1),\n\n  // Reflection / Computational Thinking prompts (Part 3 in template, standalone)\n  reflectionPrompts: z.array(z.string()).default([]),\n});\n\nexport type Worksheet = z.infer<typeof WorksheetSchema>;\nexport type WorksheetPart = z.infer<typeof WorksheetPartSchema>;\nexport type WorksheetItem = z.infer<typeof WorksheetItemSchema>;\n","import { z } from 'zod';\n\n/**\n * Handout Schema — Student-Facing Quick-Reference Cheat Sheet (5-Second Rule)\n * Ported from /Users/tonypham/MEGA/ai-platform/my-mcp/_templates/HANDOUT_template.md\n */\nexport const HandoutSectionSchema = z.object({\n  heading: z.string().describe('Short descriptive section heading (Max 3 levels)'),\n  summaryPoints: z.array(z.string()).describe('Scannable bullet points in second-person voice (You will...)'),\n  codeSnippet: z.string().optional().describe('Essential copy-paste ready syntax or command'),\n  tableData: z.object({\n    headers: z.array(z.string()),\n    rows: z.array(z.array(z.string())),\n  }).optional().describe('Structured table for comparisons or hardware pinouts'),\n  calloutBox: z.object({\n    type: z.string().default('key_formula'),\n    title: z.string(),\n    content: z.string(),\n  }).optional(),\n});\n\nexport const HandoutSchema = z.object({\n  artifactType: z.literal('HANDOUT').default('HANDOUT'),\n  lessonId: z.string().describe('Matching lesson identifier'),\n  title: z.string().describe('Handout title'),\n  language: z.string().default('vi').describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n  tagline: z.string().default('').describe('1-sentence core takeaway'),\n\n  // 1. Core Concepts Summary\n  coreConceptsSummary: z.array(\n    z.object({\n      concept: z.string().describe('Tên khái niệm'),\n      definition: z.string().describe('Định nghĩa ngắn gọn, chuẩn 5-second'),\n    })\n  ).default([]),\n\n  // 2. Syntax & Configs Table\n  syntaxTable: z.array(\n    z.object({\n      syntax: z.string().describe('Cú pháp lệnh hoặc tên Node/Config'),\n      meaning: z.string().describe('Ý nghĩa & chức năng'),\n      example: z.string().describe('Ví dụ code hoặc cấu hình mẫu'),\n    })\n  ).default([]),\n\n  // 3. General 3-Step Problem Solving Procedure\n  problemSolvingProcedure: z.object({\n    step1Trigger: z.string().default('Xác định input/trigger kích hoạt'),\n    step2Logic: z.string().default('Xử lý logic, tính toán hoặc lọc dữ liệu'),\n    step3Output: z.string().default('Xuất kết quả, cập nhật trạng thái hoặc gửi cảnh báo'),\n  }).optional().default({\n    step1Trigger: 'Xác định input/trigger kích hoạt',\n    step2Logic: 'Xử lý logic, tính toán hoặc lọc dữ liệu',\n    step3Output: 'Xuất kết quả, cập nhật trạng thái hoặc gửi cảnh báo',\n  }),\n\n  // 4. Pro Tips\n  proTips: z.array(z.string()).default([]).describe('Mẹo thực chiến hữu ích'),\n\n  // 5. Sections & Glossary (Backward Compatibility)\n  sections: z.array(HandoutSectionSchema).default([]).describe('Scannable reference sections'),\n  glossary: z.array(\n    z.object({\n      term: z.string().describe('Technical term or acronym'),\n      definition: z.string().describe('Plain, jargon-free explanation'),\n    })\n  ).default([]).describe('Zero-jargon glossary of terms introduced in this lesson'),\n});\n\nexport type Handout = z.infer<typeof HandoutSchema>;\nexport type HandoutSection = z.infer<typeof HandoutSectionSchema>;\n","import { z } from 'zod';\n\n/**\n * Slide Deck Schema — Dynamic Micro-Pedagogy Marp Presentation Deck\n * Dynamic Sizing: 4-6 slides per core concept + opening/closing anchors (9-25+ slides)\n */\nexport const MarpSlideSchema = z.object({\n  slideNumber: z.number().int().min(1).max(60),\n  slideType: z.enum([\n    'title',\n    'agenda',\n    'review',\n    'hook',\n    'concept_def',\n    'concept_visual',\n    'concept_compare',\n    'concept_check',\n    'concept_recap',\n    'code_demo',\n    'guided_practice',\n    'activity_intro',\n    'activity_steps',\n    'checkpoint',\n    'exit_ticket',\n    'summary_next',\n    'custom',\n  ]),\n  title: z.string().describe('Slide title or headline'),\n  bloomTag: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create', 'None']).default('None'),\n  bulletPoints: z.array(z.string()).max(6).describe('Concise bullet points, max 15 words each'),\n  codeSnippet: z.string().optional().describe('Formatted fenced code block for demo'),\n  diagramMermaid: z.string().optional().describe('Mermaid diagram definition for visual concepts'),\n  presenterNotes: z.string().optional().describe('Teacher speaker notes hidden in presentation mode'),\n});\n\nexport const SlideDeckSchema = z.object({\n  artifactType: z.literal('SLIDE').default('SLIDE'),\n  lessonId: z.string().describe('Matching lesson identifier'),\n  title: z.string().describe('Presentation title'),\n  language: z.string().describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n  marpTheme: z.string().default('gaia'),\n  slides: z.array(MarpSlideSchema).min(6).max(60).describe('Sequential Marp slides scaled dynamically by knowledge volume'),\n});\n\nexport type MarpSlide = z.infer<typeof MarpSlideSchema>;\nexport type SlideDeck = z.infer<typeof SlideDeckSchema>;\n","import { z } from 'zod';\n\n// ─── Teaching Script Phase ────────────────────────────────────────────────────\n\nexport const TeachingScriptPhaseSchema = z.object({\n  phase: z.string().describe(\n    'Phase label from GUIDE template: \"Hook / Engage\" | \"Explore / Core Concepts\" | \"Elaborate / Hands-on Activity\" | \"Evaluate / Wrap-up\"'\n  ),\n  durationRange: z.string().describe('e.g. \"5-10 minutes\"'),\n  delivery: z.string().describe('Real-world story, demo, analogy, or inquiry activity'),\n  keyPoints: z.string().describe('What to emphasize; what to skip if running late'),\n  quickCheckQuestions: z.array(z.string()).default([]).describe('2-3 rapid comprehension check questions'),\n  classroomManagement: z.string().optional().describe('Grouping, device management, seating'),\n  facilitation: z.string().optional().describe('When to intervene vs. let students struggle productively'),\n  proTips: z.string().optional().describe('Experience-based tips for this specific activity'),\n});\n\n// ─── Misconception entry ─────────────────────────────────────────────────────\n\nexport const MisconceptionSchema = z.object({\n  misconception: z.string().describe('What students often wrongly assume or confuse'),\n  counterStrategy: z.string().describe('How the teacher should explain or demonstrate the truth'),\n});\n\n// ─── Troubleshooting entry ────────────────────────────────────────────────────\n\nexport const TroubleshootingEntrySchema = z.object({\n  symptom: z.string().describe('Error message or hardware failure symptom'),\n  rootCause: z.string().describe('Why this occurs'),\n  solution: z.string().describe('Exact step to fix it'),\n});\n\n// ─── Scoring Rubric row ───────────────────────────────────────────────────────\n\nexport const ScoringRubricRowSchema = z.object({\n  criteriaName: z.string(),\n  meetsStandard: z.string().describe('Description of acceptable student performance'),\n  exceedsStandard: z.string().describe('Description of advanced mastery'),\n});\n\n// ─── Teacher Guide ────────────────────────────────────────────────────────────\n\n/**\n * Teacher Guide Schema — Pedagogical Facilitation Script\n * Template: GUIDE_template.md\n * Sections:\n *   1. Objectives & Preparation\n *   2. Teaching Script & Progression (Hook → Explore → Elaborate → Evaluate)\n *   3. Troubleshooting & FAQs\n *   4. Assessment & Differentiation Tips\n */\nexport const TeacherGuideSchema = z.object({\n  artifactType: z.literal('GUIDE').default('GUIDE'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().default('en'),\n\n  // 1. Objectives & Preparation\n  pedagogicalRationale: z.string().describe('The main instructional goal — mindset shift, not just knowledge'),\n  commonMisconceptions: z.array(MisconceptionSchema).min(1),\n  technicalChecklist: z.array(z.string()).default([]).describe(\n    'Software/hardware to install; links to have open before class'\n  ),\n\n  // 2. Teaching Script & Progression\n  teachingScript: z.array(TeachingScriptPhaseSchema).min(1).describe(\n    'Ordered phases: Hook/Engage → Explore/Core Concepts → Elaborate/Hands-on → Evaluate/Wrap-up'\n  ),\n\n  // 3. Troubleshooting & FAQs\n  troubleshootingGuide: z.array(TroubleshootingEntrySchema).min(1),\n\n  // 4. Assessment & Differentiation\n  scoringRubric: z.array(ScoringRubricRowSchema).default([]),\n  differentiationTips: z.object({\n    proficient: z.string().describe('Minimum threshold description for proficiency'),\n    advanced: z.string().describe('Extension tasks / Peer mentoring opportunities'),\n    enrichmentQuestion: z.string().optional().describe('1-2 deep-thinking questions for gifted students'),\n  }).optional(),\n});\n\nexport type TeacherGuide = z.infer<typeof TeacherGuideSchema>;\nexport type TeachingScriptPhase = z.infer<typeof TeachingScriptPhaseSchema>;\nexport type TroubleshootingEntry = z.infer<typeof TroubleshootingEntrySchema>;\nexport type Misconception = z.infer<typeof MisconceptionSchema>;\n","import { z } from 'zod';\n\n/**\n * Extension Schema — Advanced Challenges & Novel Context Problems\n */\nexport const ExtensionChallengeSchema = z.object({\n  challengeNumber: z.number().int().min(1),\n  title: z.string().describe('Catchy title for the extension project'),\n  contextDescription: z.string().describe('Novel real-world context for applying the skill'),\n  taskDescription: z.string().describe('Specific goal and requirements of the challenge'),\n  expectedDeliverable: z.string().describe('What the student produces (code, prototype, report)'),\n  hintOrGuidance: z.string().optional().describe('Open-ended exploration prompt'),\n});\n\nexport const ExtensionSchema = z.object({\n  artifactType: z.literal('EXT').default('EXT'),\n  lessonId: z.string().describe('Matching lesson identifier'),\n  title: z.string().describe('Extension title'),\n  language: z.string().describe('Language code of the content, e.g. \"vi\" or \"en\"'),\n  coreLearningObjectivePreserved: z.string().describe('The core LO that this challenge extends'),\n  challenges: z.array(ExtensionChallengeSchema).min(2).describe('At least 2 diverse extension challenges'),\n});\n\nexport type Extension = z.infer<typeof ExtensionSchema>;\n","import { z } from 'zod';\n\n/**\n * LLM-as-Judge Schema — Pedagogical & Technical Quality Audit Report\n */\nexport const QualityAuditVerdictSchema = z.enum(['PASS', 'NEEDS_REVISION', 'FAIL']);\nexport type QualityAuditVerdict = z.infer<typeof QualityAuditVerdictSchema>;\n\nexport const JudgeCriterionSchema = z.object({\n  name: z.string().describe('Criterion name, e.g. Bloom Alignment, Code Validity, Word Count Gate, Language Adherence, Step Incrementality'),\n  passed: z.boolean(),\n  score: z.number().min(0).max(100).describe('Score out of 100'),\n  feedback: z.string().describe('Constructive feedback or citation of issues'),\n});\nexport type JudgeCriterion = z.infer<typeof JudgeCriterionSchema>;\n\n/**\n * Structured Actionable Repair Prescription:\n * Used by the closed-loop autonomous repair pipeline to patch plans deterministically.\n */\nexport const ActionableRepairActionSchema = z.enum([\n  'SPLIT_STEP',\n  'REVISE_PROVISIONING',\n  'INSERT_RECAP',\n  'ADJUST_TIME_BUDGET',\n  'SUBSTITUTE_FALLBACK',\n  'REVISE_EXIT_EVIDENCE',\n]);\nexport type ActionableRepairAction = z.infer<typeof ActionableRepairActionSchema>;\n\nexport const ActionableRepairPromptSchema = z.object({\n  action: ActionableRepairActionSchema,\n  targetId: z.string().describe('ID of the session, feature, or step requiring repair, e.g. U01_M01_L02 or F1-S3'),\n  severity: z.enum(['CRITICAL', 'WARNING', 'INFO']).default('WARNING'),\n  rationale: z.string().describe('Pedagogical or technical rationale for why this repair is mandated'),\n  instruction: z.string().describe('Exact, actionable text instruction for the planner/generator in the next turn'),\n});\nexport type ActionableRepairPrompt = z.infer<typeof ActionableRepairPromptSchema>;\n\n/**\n * Stage 1: Project Graph Engineering & Toolchain Audit Schema\n */\nexport const ProjectGraphAuditSchema = z.object({\n  schema_version: z.number().default(1),\n  projectId: z.string(),\n  overallVerdict: QualityAuditVerdictSchema,\n  totalScore: z.number().min(0).max(100),\n  toolchainFeasibility: JudgeCriterionSchema.describe('Installation friction, admin rights, IDE/compiler matrix'),\n  provisioningStrategy: JudgeCriterionSchema.describe('Clear model for heavy runtimes: Pre-installed lab, Cloud instance, or Dedicated setup'),\n  hardwareRuntimeEnvelope: JudgeCriterionSchema.describe('Memory/Flash limits, pinout conflicts, hardware platform alignment'),\n  timeToHelloWorld: JudgeCriterionSchema.describe('Student time to achieve first working feedback loop (target <= 15 mins)'),\n  actionableRepairs: z.array(ActionableRepairPromptSchema).default([]),\n});\nexport type ProjectGraphAuditReport = z.infer<typeof ProjectGraphAuditSchema>;\n\n/**\n * Stage 2: Macro-Pedagogical Curriculum Plan Audit Schema\n * Evaluates the full session sequence against real classroom friction and cognitive load.\n */\nexport const MacroPedagogyPlanAuditSchema = z.object({\n  schema_version: z.number().default(1),\n  planHash: z.string(),\n  overallVerdict: QualityAuditVerdictSchema,\n  totalScore: z.number().min(0).max(100),\n  autoApproved: z.boolean().default(false).describe('True if totalScore >= 85 and overallVerdict is PASS'),\n  stepIncrementality: JudgeCriterionSchema.describe('Single leap principle: <= 1 new syntax or 1 new algorithm per step'),\n  zpdSaturation: JudgeCriterionSchema.describe('Vygotsky ZPD: <= 2 new concepts per session (K-12) / 3 (Adults), with prior anchor'),\n  frictionAdjustedBudget: JudgeCriterionSchema.describe('Student time multiplier (2.5x): total content <= 85% session minutes'),\n  epitomeViability: JudgeCriterionSchema.describe('Reigeluth Walking Skeleton: Unit 1 produces an end-to-end runnable MVP'),\n  exitEvidenceSpecificity: JudgeCriterionSchema.describe('Tangible, measurable student deliverable for every session'),\n  actionableRepairs: z.array(ActionableRepairPromptSchema).default([]),\n  summary: z.string().describe('High-level executive evaluation summary'),\n});\nexport type MacroPedagogyPlanAuditReport = z.infer<typeof MacroPedagogyPlanAuditSchema>;\n\n/**\n * Legacy SOT / Lesson Quality Report Schema (Retained for Backward Compatibility)\n */\nexport const CurriculumQualityReportSchema = z.object({\n  targetArtifactType: z.string().describe('Type of artifact audited, e.g. LESSON, ACT, CODE, WKS, SLIDE'),\n  lessonId: z.string(),\n  overallVerdict: QualityAuditVerdictSchema,\n  totalScore: z.number().min(0).max(100),\n  languageAdherencePassed: z.boolean().describe('True if content strictly matches the requested target language'),\n  criteria: z.array(JudgeCriterionSchema).min(3),\n  actionableRepairPrompts: z.array(z.string()).default([]).describe('Concrete instruction prompts to fix detected issues in the next repair turn'),\n  structuredRepairs: z.array(ActionableRepairPromptSchema).optional(),\n});\nexport type CurriculumQualityReport = z.infer<typeof CurriculumQualityReportSchema>;\n","import { z } from 'zod';\n\n/**\n * Project Profile & General Info\n */\nexport const ProjectProfileSchema = z.object({\n  id: z.string().optional(),\n  name: z.string(),\n  version: z.string().optional(),\n  purpose: z.string().optional(),\n  project_type: z.string().optional(),\n  platform: z.array(z.string()).optional().default([]),\n  tech_stack: z.union([z.record(z.array(z.string())), z.array(z.string()), z.record(z.string())]).optional().default([]),\n  architecture: z.array(z.string()).optional().default([]),\n  source: z.object({\n    repository: z.string().optional(),\n    commit: z.string().optional(),\n    scan_dir: z.string().optional(),\n  }).optional(),\n});\n\nexport type ProjectProfile = z.infer<typeof ProjectProfileSchema>;\n\n/**\n * Product Goals & User Journeys\n */\nexport const ProductGoalSchema = z.object({\n  id: z.string(),\n  description: z.string(),\n});\n\nexport const UserJourneySchema = z.object({\n  id: z.string(),\n  name: z.string(),\n  steps: z.array(z.string()).optional().default([]),\n  requirement_ids: z.array(z.string()).optional().default([]),\n});\n\n/**\n * Project Graph Schema — Full knowledge graph of a software/hardware project\n */\nexport const ProjectGraphSchema = z.object({\n  schema_version: z.number().optional().default(3),\n  project: ProjectProfileSchema,\n  product: z.object({\n    goals: z.array(ProductGoalSchema).optional().default([]),\n    users: z.array(z.any()).optional().default([]),\n    journeys: z.array(UserJourneySchema).optional().default([]),\n    requirements: z.array(z.any()).optional().default([]),\n  }).optional().default({}),\n  features: z.array(z.object({\n    id: z.string().optional(),\n    name: z.string().optional(),\n    description: z.string().optional(),\n    components: z.array(z.string()).optional().default([]),\n    requirements: z.array(z.any()).optional().default([]),\n  })).optional().default([]),\n  capabilities: z.array(z.any()).optional().default([]),\n  architecture: z.any().optional(),\n  experience: z.any().optional(),\n  data_integration: z.any().optional(),\n  implementation: z.object({\n    files: z.array(z.any()).optional().default([]),\n    symbols: z.array(z.any()).optional().default([]),\n    modules: z.array(z.any()).optional().default([]),\n  }).optional().default({}),\n  validation: z.any().optional(),\n  evidence: z.any().optional(),\n});\n\nexport type ProjectGraph = z.infer<typeof ProjectGraphSchema>;\n","import { z } from 'zod';\n\n/**\n * Step schema matching Instructable-style tutorial format from tutorial.md\n */\nexport const InstructionStepSchema = z.object({\n  stepNumber: z.string().default('1.1').describe('e.g. \"1.1\", \"1.2\"'),\n  actionTitle: z.string().describe('Action verb title, e.g. \"Create Bonjour Discovery Browser\"'),\n  explanation: z.string().describe('Explanation of why this action is performed and how it works'),\n  targetFile: z.string().optional().default('').describe('Relative path of the target file being created or edited, e.g. \"Sources/WledLib/Discovery/BonjourBrowser.swift\"'),\n  codeSnippet: z.string().optional().default('').describe('Complete or focused code snippet following grow-by-step or snippet-per-step style'),\n  codeLanguage: z.string().optional().default('swift').describe('Language for syntax highlighting, e.g. \"swift\", \"typescript\", \"cpp\", \"bash\"'),\n  tip: z.string().optional().default('').describe('Helpful operational tip or best practice'),\n  warning: z.string().optional().default('').describe('Operational gotcha or critical warning'),\n  expectedResult: z.string().default('').describe('Explicit observable output or success condition after completing this step'),\n  imagePlaceholder: z.string().optional().default('').describe('Description of visual screenshot or diagram placeholder [IMAGE: ...]'),\n});\n\nexport const InstructionSectionSchema = z.object({\n  sectionNumber: z.coerce.number().default(1),\n  title: z.string().describe('Section title'),\n  goal: z.string().describe('What the reader achieves in this section'),\n  estimatedMinutes: z.coerce.number().default(15),\n  preflightChecks: z.array(z.string()).default([]).describe('Commands or conditions to check before starting this section'),\n  steps: z.array(InstructionStepSchema).min(1),\n  rollbackOrCleanup: z.string().optional().default('').describe('How to undo or reset state if something fails'),\n});\n\nexport const ProjectInstructionSchema = z.object({\n  artifactType: z.literal('INSTRUCTION').default('INSTRUCTION'),\n  instructionId: z.string().describe('Milestone or instruction ID, e.g. \"F0-S1\"'),\n  title: z.string().describe('Tutorial title'),\n  language: z.string().describe('Target language code, e.g. \"vi\" or \"en\"'),\n  difficulty: z.string().default('intermediate'),\n  estimatedTotalMinutes: z.coerce.number().default(45).describe('Total estimated duration in minutes'),\n  scopeMode: z.string().default('milestone'),\n  milestoneRef: z.string().optional().default('').describe('Milestone code or ID'),\n  featureRef: z.string().optional().default('').describe('Feature ID or name'),\n  techStack: z.array(z.string()).default([]).describe('List of tools, SDKs, libraries'),\n  prerequisites: z.array(z.string()).default([]).describe('Prerequisites assumed before starting'),\n  materialsAndTools: z.array(z.string()).default([]).describe('Required software, SDKs, accounts, or simulators'),\n  sections: z.array(InstructionSectionSchema).min(1),\n  verificationChecklist: z.array(z.string()).default([]).describe('Final end-to-end verification checklist to confirm working implementation'),\n});\n\nexport type InstructionStep = z.infer<typeof InstructionStepSchema>;\nexport type InstructionSection = z.infer<typeof InstructionSectionSchema>;\nexport type ProjectInstruction = z.infer<typeof ProjectInstructionSchema>;\n","import { z } from 'zod';\n\n/**\n * 3-Level Progressive Hints Schema (Concept -> Skeleton -> Full Solution)\n */\nexport const ProgressiveHintsSchema = z.object({\n  hint1Concept: z.string().describe('Level 1: Gợi ý định hướng tư duy / khái niệm cốt lõi'),\n  hint2Skeleton: z.string().describe('Level 2: Khung sườn code / method signature mẫu'),\n  hint3Solution: z.object({\n    code: z.string().describe('Level 3: Lời giải code hoàn chỉnh 100% runnable'),\n    explanation: z.string().describe('Phân tích tại sao giải pháp này tối ưu và xử lý được vấn đề'),\n  }),\n});\n\n/**\n * Self-Learner Progressive Challenge Schema\n */\nexport const SelfPacedChallengeSchema = z.object({\n  tier: z.enum(['bronze', 'silver', 'gold']),\n  title: z.string().describe('Tên thử thách'),\n  estimatedMinutes: z.coerce.number().default(15),\n  objective: z.string().describe('Mục tiêu cụ thể của thử thách'),\n  tasks: z.array(z.string()).describe('Danh sách nhiệm vụ từng bước cần làm'),\n  verifyCommand: z.string().describe('Lệnh terminal hoặc test runner để tự kiểm chứng (VD: curl... hoặc swift test)'),\n  expectedOutput: z.string().describe('Kết quả mong đợi hiển thị trên terminal khi chạy đúng'),\n  hints: ProgressiveHintsSchema,\n});\n\nexport const SelfLabSchema = z.object({\n  artifactType: z.literal('SELF_LAB').default('SELF_LAB'),\n  labId: z.string().describe('Identifier matching milestone (e.g. F0-S1)'),\n  title: z.string().describe('Lab title'),\n  language: z.string().default('vi').describe('Language code of content, e.g. \"vi\" or \"en\"'),\n  difficulty: z.enum(['beginner', 'intermediate', 'advanced']).default('intermediate'),\n  estimatedTotalMinutes: z.coerce.number().default(60),\n  techStack: z.array(z.string()).default([]),\n  \n  // Mission Briefing & Preflight\n  missionBriefing: z.string().describe('Bối cảnh kịch bản và nhiệm vụ của bài lab'),\n  preflightChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra môi trường trước khi bắt đầu'),\n\n  // 3 Progressive Challenges (Bronze -> Silver -> Gold)\n  challenges: z.object({\n    bronze: SelfPacedChallengeSchema,\n    silver: SelfPacedChallengeSchema,\n    gold: SelfPacedChallengeSchema,\n  }),\n\n  // Troubleshooting Matrix\n  troubleshootingMatrix: z.array(\n    z.object({\n      symptom: z.string().describe('Triệu chứng hoặc thông báo lỗi'),\n      rootCause: z.string().describe('Nguyên nhân gốc rễ'),\n      exactFix: z.string().describe('Hướng dẫn sửa lỗi chính xác từng bước'),\n    })\n  ).default([]),\n\n  // Final Checklist\n  finalSubmissionChecklist: z.array(z.string()).default([]).describe('Danh mục kiểm tra hoàn thành toàn bộ bài lab'),\n});\n\nexport type SelfLab = z.infer<typeof SelfLabSchema>;\nexport type SelfPacedChallenge = z.infer<typeof SelfPacedChallengeSchema>;\nexport type ProgressiveHints = z.infer<typeof ProgressiveHintsSchema>;\n","import { z } from 'zod';\n\n// ─── Quiz Assessment Objective (per template: ## Assessment Objectives) ───────\n\nexport const AssessmentObjectiveSchema = z.object({\n  aoCode: z.string().describe('Assessment Objective code, e.g. \"AO1\"'),\n  alignedLO: z.string().describe('Matched learning objective code, e.g. \"LO1\"'),\n  bloomLevel: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create']),\n  objective: z.string().describe('Measurable assessment objective statement'),\n  /** Standards anchors: \"statementId\" or \"packId:statementId\" from adopted Framework Packs (Phase 1: optional). */\n  standardRefs: z.array(z.string()).optional().default([]).describe('Anchoring standard statement IDs from adopted Framework Packs'),\n});\n\n// ─── Quiz Option ─────────────────────────────────────────────────────────────\n\nexport const QuizOptionSchema = z.object({\n  id: z.string().describe('Option label: \"A\" | \"B\" | \"C\" | \"D\"'),\n  text: z.string().describe('Full text of the option (may be a table row, code snippet, or sentence)'),\n  isCorrect: z.boolean().describe('True if this option is the correct answer'),\n  explanation: z.string().describe('Detailed distractor rationale or confirmation why this is correct/incorrect'),\n});\n\n// ─── Individual Question ──────────────────────────────────────────────────────\n\nexport const DiagnosticQuestionSchema = z.object({\n  id: z.string().describe('Question ID, e.g. \"Q1\"'),\n  alignedAO: z.string().optional().describe('Matched AO code(s), e.g. \"AO1, AO2\"'),\n  // Accept both PascalCase (new) and lowercase (legacy) for backward compat\n  bloomLevel: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n                      'remember', 'understand', 'apply', 'analyze', 'evaluate', 'create']).default('Apply'),\n  questionType: z.enum(['multiple_choice', 'code_analysis', 'matching', 'open_ended']).default('multiple_choice'),\n  // scenarioOrStem: PRIMARY field — kept for backward compat with evaluators & serializers\n  scenarioOrStem: z.string().optional().describe('Legacy combined field. Evaluators read this for stem analysis.'),\n  // scenario + stem: richer decomposition for new content (both optional)\n  scenario: z.string().optional().describe('Real-world context framing the question'),\n  stem: z.string().optional().describe('The core question prompt (new authoring standard)'),\n  codeSnippet: z.string().optional().describe('Code block for code analysis questions'),\n  codeLanguage: z.string().optional().default('cpp'),\n  options: z.array(QuizOptionSchema).min(2).max(6),\n  // correctAnswer: optional for backward compat with old fixtures (legacy used isCorrect on options)\n  correctAnswer: z.string().optional().describe('Correct option id, e.g. \"A\"'),\n  teacherNote: z.string().optional().describe('Pedagogical note for assessor/teacher only'),\n  // takeawayMessage: backward-compat alias for teacherNote\n  takeawayMessage: z.string().optional().describe('@deprecated — use teacherNote. Kept for serializer backward compat.'),\n});\n\n// ─── 4-Level Competency Rubric (per template: ## Competency Rubric) ──────────\n\nexport const CompetencyRubricRowSchema = z.object({\n  competencyDimension: z.string().describe('Competency label with linked LO, e.g. \"C1: Hardware Integration (LO1)\"'),\n  developing: z.string().describe('Level 1 — does not meet standard'),\n  proficient: z.string().describe('Level 2 — meets standard'),\n  advanced: z.string().describe('Level 3 — exceeds standard'),\n  exemplary: z.string().describe('Level 4 — outstanding mastery'),\n});\n\n// ─── Full Diagnostic Quiz ─────────────────────────────────────────────────────\n\n/**\n * Diagnostic Quiz Schema — v4.6\n * Template: QUIZ_v4.6_template.md\n * Sections: Metadata → Assessment Objectives → MCQ Bank → Code Analysis → Competency Rubric\n */\nexport const DiagnosticQuizSchema = z.object({\n  artifactType: z.literal('QUIZ'),\n  quizId: z.string().describe('Matching artifact identifier, e.g. \"QUIZ_U03_M01_L13\"'),\n  title: z.string(),\n  language: z.string().default('en').describe('\"en\" or \"vi\"'),\n  totalQuestions: z.coerce.number().optional().default(5),\n  timeAllocationMinutes: z.coerce.number().optional().default(15),\n  passingScorePct: z.coerce.number().default(80),\n\n  // Assessment Objectives table (## [REQUIRED] Assessment Objectives)\n  assessmentObjectives: z.array(AssessmentObjectiveSchema).optional().default([]),\n\n  // Question bank (## [REQUIRED] Multiple-Choice + ## [REQUIRED] Code Analysis)\n  questions: z.array(DiagnosticQuestionSchema).min(1),\n\n  // Competency Rubric (## [REQUIRED] Competency Rubric)\n  rubric: z.array(CompetencyRubricRowSchema).optional().default([]),\n});\n\n// Output types (after defaults are applied — for reading/processing parsed data)\nexport type DiagnosticQuiz = z.infer<typeof DiagnosticQuizSchema>;\nexport type DiagnosticQuestion = z.infer<typeof DiagnosticQuestionSchema>;\nexport type QuizOption = z.infer<typeof QuizOptionSchema>;\nexport type AssessmentObjective = z.infer<typeof AssessmentObjectiveSchema>;\nexport type CompetencyRubricRow = z.infer<typeof CompetencyRubricRowSchema>;\n\n// Input types (for writing/authoring — fields with defaults are optional)\nexport type DiagnosticQuizInput = z.input<typeof DiagnosticQuizSchema>;\nexport type DiagnosticQuestionInput = z.input<typeof DiagnosticQuestionSchema>;\n","import { z } from 'zod';\nimport { ProjectInstructionSchema } from './instructionSchema';\nimport { SelfLabSchema } from './selfLabSchema';\nimport { DiagnosticQuizSchema } from './diagnosticQuizSchema';\nimport { HandoutSchema } from './handoutSchema';\nimport { CodeLabSchema } from './codeLabSchema';\n\n/**\n * Self-Paced Learning Bundle Schema — Autonomous Learner Package\n */\nexport const SelfPacedBundleSchema = z.object({\n  bundleId: z.string().describe('Milestone identifier (e.g. F0-S1)'),\n  title: z.string().describe('Bundle title'),\n  language: z.string().default('vi'),\n  techStack: z.array(z.string()).default([]),\n  instruction: ProjectInstructionSchema.describe('Instructable Step-by-Step Blueprint'),\n  selfLab: SelfLabSchema.describe('Self-Paced Lab with Progressive Hints & Verification Commands'),\n  quiz: DiagnosticQuizSchema.describe('Diagnostic Quiz Kit with Comprehensive Feedback'),\n  cheatSheet: HandoutSchema.describe('5-Second Rule Reference & Syntax Cheat Sheet'),\n  codeLab: CodeLabSchema.optional().describe('Code Lab with Starter & Solution Code'),\n});\n\nexport type SelfPacedBundle = z.infer<typeof SelfPacedBundleSchema>;\n","import { z } from 'zod';\n\n// ─── Rubric Criteria Row ──────────────────────────────────────────────────────\n\nexport const RubricCriteriaSchema = z.object({\n  criteriaName: z.string().describe('Criteria label, e.g. \"Circuitry\" or \"Code Correctness\"'),\n  weightPercent: z.coerce.number().int().min(1).max(100).describe('Relative weight as integer %'),\n  excellent: z.string().describe('Level 4 — Excellent performance descriptor'),\n  proficient: z.string().describe('Level 3 — Proficient performance descriptor'),\n  developing: z.string().describe('Level 2 — Developing performance descriptor'),\n  beginning: z.string().describe('Level 1 — Beginning performance descriptor'),\n});\n\n// ─── Exit Ticket (OPTIONAL within RUBRIC) ─────────────────────────────────────\n\nexport const ExitTicketQuickItemSchema = z.object({\n  question: z.string(),\n  questionType: z.enum(['multiple_choice', 'true_false', 'short_answer', 'open_ended']),\n  answerOrScoringGuide: z.string().default(''),\n});\n\n// ─── Full Rubric ──────────────────────────────────────────────────────────────\n\n/**\n * Rubric Schema — Summative / Formative Assessment Scoring Guide\n * Template: RUBRIC_template.md\n * Sections: Assessment Overview → Rubric Table → Exit Ticket → Self-Assessment Checklist\n */\nexport const RubricSchema = z.object({\n  artifactType: z.literal('RUBRIC').default('RUBRIC'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().default('en'),\n\n  // Assessment Overview\n  assessmentType: z.enum(['Formative', 'Summative', 'Self-assessment', 'Peer-review']),\n  assessmentFormat: z.enum([\n    'Short Exercise',\n    'Exit Ticket',\n    'Practical Product',\n    'Project Presentation',\n  ]),\n  targetLOs: z.array(z.string()).describe('LO codes being assessed, e.g. [\"LO1\", \"LO2\"]'),\n  targetAudience: z.enum(['Teachers', 'Students']).default('Teachers').describe(\n    '\"Teachers\" = technical/pedagogical language; \"Students\" = simple \"I can...\" language'\n  ),\n\n  // Rubric Table (weights should sum to ~100)\n  criteria: z.array(RubricCriteriaSchema).min(1),\n\n  // Optional quick exit ticket at end of session (≤3 items)\n  exitTicket: z.array(ExitTicketQuickItemSchema).max(3).optional(),\n\n  // Student self-assessment checklist\n  selfAssessmentChecklist: z.array(z.string()).optional(),\n  selfAssessmentReflection: z.string().optional().describe(\n    'Open-ended reflection prompt, e.g. \"One thing I am most proud of is:\"'\n  ),\n});\n\nexport type Rubric = z.infer<typeof RubricSchema>;\nexport type RubricCriteria = z.infer<typeof RubricCriteriaSchema>;\n","import { z } from 'zod';\n\n// ─── Exit Ticket Parts ────────────────────────────────────────────────────────\n\nexport const ExitTicketRecallPromptSchema = z.object({\n  question: z.string().describe('Conceptual scenario or analogy comparison testing core mental model'),\n  answerAreaLabel: z.string().default('Write 1-2 concise sentences'),\n});\n\nexport const ExitTicketBugHuntSchema = z.object({\n  codeSnippet: z.string().describe('4-8 line realistic code snippet containing exactly 1 bug/missing annotation'),\n  codeLanguage: z.string().default('swift'),\n  tasks: z.array(z.string()).describe(\n    'Ordered task list, e.g. [\"Identify the Compiler/Runtime Error\", \"Write the corrected line\"]'\n  ),\n  expectedBugDescription: z.string().describe('The exact error type/message students should identify'),\n  correctedLine: z.string().describe('The single corrected line of code'),\n});\n\nexport const ExitTicketMetacognitionSchema = z.object({\n  options: z.array(z.object({\n    label: z.string().describe('\"🟢 Green\" | \"🟡 Yellow\" | \"🔴 Red\"'),\n    description: z.string().describe('e.g. \"I can build and explain to a peer without hints\"'),\n  })).default([\n    { label: '🟢 Green (Mastered)', description: 'I can build and explain this concept to a peer without any hints.' },\n    { label: '🟡 Yellow (Needs Practice)', description: 'I understand the concept but got stuck on syntax or error messages.' },\n    { label: '🔴 Red (Blocked)', description: 'I need help understanding why this architecture is used.' },\n  ]),\n  lingeringQuestion: z.string().default('What is one question you still have before leaving today\\'s lab?'),\n});\n\n// ─── Full Exit Ticket ─────────────────────────────────────────────────────────\n\n/**\n * Exit Ticket Schema — Formative End-of-Session Assessment\n * Template: EXIT_TICKET_template.md\n * Sections:\n *   Target LOs\n *   Part 1: Recall & Conceptual Anchor\n *   Part 2: Application & Bug Hunt\n *   Part 3: Metacognitive Reflection & Confidence Check\n *   Scoring & Teacher Intervention Trigger\n */\nexport const ExitTicketSchema = z.object({\n  artifactType: z.literal('EXIT_TICKET').default('EXIT_TICKET'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().default('en'),\n  estimatedMinutes: z.coerce.number().default(7),\n\n  // Target Learning Objectives\n  targetLOs: z.array(z.object({\n    code: z.string().describe('LO code, e.g. \"ULO\" or \"LO1\"'),\n    loType: z.enum(['ULO', 'CIO', 'SIO']).optional(),\n    description: z.string(),\n  })),\n\n  // Part 1: Recall & Conceptual Anchor\n  recallPrompt: ExitTicketRecallPromptSchema,\n\n  // Part 2: Application & Bug Hunt\n  applicationPrompt: ExitTicketBugHuntSchema,\n\n  // Part 3: Metacognitive Reflection\n  metacognition: ExitTicketMetacognitionSchema,\n\n  // Scoring & Intervention Trigger\n  scoringGuide: z.object({\n    proficiencyThreshold: z.string().describe('e.g. \"Green/Yellow check + Correct Bug Hunt answer\"'),\n    interventionProtocol: z.string().describe('e.g. \"If ≥25% Red, start next session with 5-min Live Debug Warm-up\"'),\n  }),\n});\n\nexport type ExitTicket = z.infer<typeof ExitTicketSchema>;\nexport type ExitTicketBugHunt = z.infer<typeof ExitTicketBugHuntSchema>;\n","import { z } from 'zod';\n\n// ─── Tier Definition ──────────────────────────────────────────────────────────\n\nexport const TierLevelEnum = z.enum(['Bronze', 'Silver', 'Gold']);\n\nexport const TierObjectiveSchema = z.object({\n  tier: TierLevelEnum,\n  bloomTarget: z.string().describe('e.g. \"Remember / Understand\" | \"Apply / Analyze\" | \"Evaluate / Create\"'),\n  scaffoldingRatio: z.string().describe('e.g. \"70% Starter Code / 30% Fill-in\"'),\n  successCriteria: z.string().describe('Condition that determines tier completion'),\n});\n\n// ─── Bronze Tier ──────────────────────────────────────────────────────────────\n\nexport const BronzeTierSchema = z.object({\n  targetAudience: z.string().default('All learners (mandatory milestone)'),\n  guidingPrompt: z.string().describe('Clear instruction with references to Handout'),\n  starterCode: z.string().default('').describe('Pre-filled boilerplate code with TODO placeholders'),\n  codeLanguage: z.string().default('swift'),\n  fillInSlots: z.array(z.object({\n    todoLabel: z.string().describe('e.g. \"TODO 1 [Bronze]\"'),\n    instruction: z.string(),\n  })).default([]),\n  verificationTest: z.string().default('testBronzeBaseline()'),\n});\n\n// ─── Silver Tier ──────────────────────────────────────────────────────────────\n\nexport const SilverTierSchema = z.object({\n  targetAudience: z.string().default('Learners who completed Bronze without mentor intervention'),\n  guidingPrompt: z.string(),\n  requirements: z.array(z.string()).min(1).describe('Numbered requirements: validation, state logic, user feedback'),\n  implementationTarget: z.string().default('').describe('Skeleton or description of what to implement'),\n  codeLanguage: z.string().default('swift'),\n  verificationTest: z.string().default('testSilverLogicAndValidation()'),\n});\n\n// ─── Gold Tier ────────────────────────────────────────────────────────────────\n\nexport const GoldTierSchema = z.object({\n  targetAudience: z.string().default('Advanced learners finished ahead of schedule'),\n  architecturalChallenge: z.string().describe('Open-ended architectural task'),\n  constraints: z.array(z.string()).min(1).describe('Hard invariants, e.g. \"zero data-race under concurrent mutations\"'),\n  verificationTest: z.string().optional().default('testGoldConcurrencySafety()'),\n});\n\n// ─── Mentor Debugging Cheatsheet ─────────────────────────────────────────────\n\nexport const MentorCheatsheetSchema = z.object({\n  bronzeStumble: z.string().default('').describe('Most common Bronze mistake'),\n  silverStumble: z.string().default('').describe('Most common Silver mistake'),\n  goldDiscussionPrompt: z.string().optional().describe('Scaling / architecture discussion question'),\n});\n\n// ─── Full Tiered Practice ─────────────────────────────────────────────────────\n\n/**\n * Tiered Practice Schema — 3-Level Differentiated Practice Lab\n * Template: TIERED_PRACTICE_template.md\n * Sections:\n *   Computational Objective & Tier Matrix\n *   Bronze Tier (Foundational Scaffolding)\n *   Silver Tier (Independent Application)\n *   Gold Tier (Enrichment & Optimization)\n *   Automated Test Verification Matrix\n *   Mentor Debugging Cheatsheet\n */\nexport const TieredPracticeSchema = z.object({\n  artifactType: z.literal('TIERED_PRACTICE').default('TIERED_PRACTICE'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().default('en'),\n\n  // Tier matrix overview\n  tierMatrix: z.array(TierObjectiveSchema).length(3).describe('One entry per tier: Bronze, Silver, Gold'),\n\n  // Tier content\n  bronze: BronzeTierSchema,\n  silver: SilverTierSchema,\n  gold: GoldTierSchema,\n\n  // Test suite reference\n  testSuiteClass: z.string().optional().describe('XCTest class name, e.g. \"AlarmSystemTestSuite\"'),\n\n  // Mentor hints\n  mentorCheatsheet: MentorCheatsheetSchema.optional(),\n});\n\nexport type TieredPractice = z.infer<typeof TieredPracticeSchema>;\nexport type BronzeTier = z.infer<typeof BronzeTierSchema>;\nexport type SilverTier = z.infer<typeof SilverTierSchema>;\nexport type GoldTier = z.infer<typeof GoldTierSchema>;\n","import { z } from 'zod';\n\n// ─── Single Bell Ringer day ───────────────────────────────────────────────────\n\nexport const BellRingerDaySchema = z.object({\n  dayLabel: z.string().describe('e.g. \"Day 1 (Monday)\" or \"Day 1\"'),\n  bloomLevel: z.enum([\n    'Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n  ]).optional(),\n  promptType: z.enum([\n    'mental_model_recall',\n    'code_tracing',\n    'bug_hunt',\n    'diagram_tracing',\n    'creative_synthesis',\n    'open_reflection',\n  ]).default('open_reflection'),\n  prompt: z.string().describe('The warm-up question or task shown on projector'),\n  codeSnippet: z.string().optional().describe('Code to trace or debug'),\n  codeLanguage: z.string().optional().default('cpp'),\n  answerKey: z.string().optional().describe('Teacher-facing expected answer or rubric note'),\n});\n\n// ─── Full Bell Ringer (5-day weekly pack) ────────────────────────────────────\n\n/**\n * Bell Ringer Schema — 5-Day Weekly Warm-Up Pack\n * Template: BELL_RINGER_template.md\n * Sections: Weekly Objective → Day 1-5 prompts → Answer Key\n * Time: 3-5 min each session\n */\nexport const BellRingerSchema = z.object({\n  artifactType: z.literal('BELL_RINGER'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().optional().default('en'),\n  weeklyTheme: z.string().describe('Core concept theme for the week'),\n  routineProtocol: z.string().optional().default(\n    'Display prompt on projector as students enter. Students write in Daily Journal before class discussion.'\n  ),\n  days: z.array(BellRingerDaySchema).min(1).max(7),\n});\n\nexport type BellRinger = z.infer<typeof BellRingerSchema>;\nexport type BellRingerDay = z.infer<typeof BellRingerDaySchema>;\nexport type BellRingerInput = z.input<typeof BellRingerSchema>;\n","import { z } from 'zod';\n\n// ─── Glossary Term ────────────────────────────────────────────────────────────\n\nexport const GlossaryTermSchema = z.object({\n  termName: z.string().describe('Term in the target language'),\n  termNameEN: z.string().optional().describe('English term (for code/docs reference)'),\n  bloomLevel: z.enum(['Remember', 'Understand', 'Apply']).optional(),\n  simpleDefinition: z.string().describe('Max 2 sentences, age-appropriate, no jargon'),\n  memoryAnalogy: z.string().describe('Analogy: \"This term is like [familiar thing]...\"'),\n  realWorldExample: z.string().describe('1-3 line code snippet or 1-sentence real-world use case'),\n  codeLanguage: z.string().optional().default(''),\n  commonMistake: z.string().optional().describe('What students often confuse this with, and why'),\n  seeMore: z.array(z.string()).optional().default([]).describe('Related term names'),\n});\n\n// ─── Quick Reference Row ──────────────────────────────────────────────────────\n\nexport const GlossaryQuickRefRowSchema = z.object({\n  termEN: z.string(),\n  translation: z.string().optional().default(''),\n  bloomLevel: z.enum(['Remember', 'Understand', 'Apply']).optional(),\n  mnemonicKeywords: z.string().optional().default(''),\n});\n\n// ─── Standardized Term ────────────────────────────────────────────────────────\n\nexport const StandardizedTermRowSchema = z.object({\n  technicalTerm: z.string(),\n  note: z.string(),\n  doNotUse: z.string().optional().default(''),\n});\n\n// ─── Full Glossary ────────────────────────────────────────────────────────────\n\n/**\n * Glossary Schema — Module Vocabulary Reference\n * Template: GLOSSARY_template.md\n * Sections: Term entries (8-15 per module) → Quick Reference Table → Standardized Terms\n */\nexport const GlossarySchema = z.object({\n  artifactType: z.literal('GLOSSARY'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().optional().default('en'),\n  terms: z.array(GlossaryTermSchema).min(1).describe('Ordered from basic to advanced'),\n  quickReferenceTable: z.array(GlossaryQuickRefRowSchema).optional().default([]),\n  standardizedTerms: z.array(StandardizedTermRowSchema).optional().default([]),\n});\n\nexport type Glossary = z.infer<typeof GlossarySchema>;\nexport type GlossaryTerm = z.infer<typeof GlossaryTermSchema>;\nexport type GlossaryInput = z.input<typeof GlossarySchema>;\n","import { z } from 'zod';\n\n// ─── 9-Square Choice Activity ─────────────────────────────────────────────────\n\nexport const ChoiceSquareSchema = z.object({\n  squareNumber: z.coerce.number().int().min(1).max(9),\n  squareLabel: z.string().describe('e.g. \"Square 1: The Bug Hunter\"'),\n  category: z.enum(['analytical', 'visual_architecture', 'creative_applied']).optional(),\n  points: z.coerce.number().int().default(30),\n  isCenterMaster: z.boolean().default(false).describe('True for the mandatory center ⭐ challenge'),\n  description: z.string().describe('What the student must do'),\n  deliverable: z.string().optional().describe('What to submit, e.g. \"Pull Request diff + clean build\"'),\n  acceptanceCriteria: z.array(z.string()).optional().default([]),\n  format: z.string().optional().describe('Submission format, e.g. \"Mermaid sequenceDiagram\"'),\n});\n\n// ─── Choice Rule ─────────────────────────────────────────────────────────────\n\nexport const ChoiceRuleSchema = z.object({\n  model: z.enum(['tic_tac_toe', 'point_balance', 'custom']).default('tic_tac_toe'),\n  description: z.string().describe('How the student wins / completes the board'),\n  minimumPoints: z.coerce.number().optional().describe('Minimum points for point_balance model'),\n  mandatoryCategories: z.array(z.string()).optional().default([]),\n});\n\n// ─── Rubric Row (reused from choice board context) ────────────────────────────\n\nexport const ChoiceBoardRubricRowSchema = z.object({\n  criteriaName: z.string(),\n  exemplary: z.string(),\n  proficient: z.string(),\n  developing: z.string(),\n  beginning: z.string(),\n});\n\n// ─── Full Choice Board ────────────────────────────────────────────────────────\n\n/**\n * Choice Board Schema — 9-Square Differentiated Activity Matrix\n * Template: CHOICE_BOARD_template.md\n * Sections: Learning Goals & Rule → 9-Square Matrix → Activity Blueprints → Rubric\n */\nexport const ChoiceBoardSchema = z.object({\n  artifactType: z.literal('CHOICE_BOARD'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().optional().default('en'),\n  coreConceptAnchor: z.string().describe('All options must demonstrate mastery of this invariant'),\n  choiceRule: ChoiceRuleSchema,\n  squares: z.array(ChoiceSquareSchema).min(1).max(9),\n  rubric: z.array(ChoiceBoardRubricRowSchema).optional().default([]),\n});\n\nexport type ChoiceBoard = z.infer<typeof ChoiceBoardSchema>;\nexport type ChoiceSquare = z.infer<typeof ChoiceSquareSchema>;\nexport type ChoiceBoardInput = z.input<typeof ChoiceBoardSchema>;\n","import { z } from 'zod';\n\n// ─── Graphic Organizer Item ───────────────────────────────────────────────────\n\nexport const OrganizerTypeEnum = z.enum([\n  'mermaid_flowchart',     // Architectural data flow (graph TD/LR)\n  'mermaid_sequence',      // Sequence / message flow diagram\n  'mermaid_state',         // State machine / lifecycle diagram\n  'mermaid_er',            // Entity-relationship diagram\n  'mermaid_class',         // Class / OOP diagram\n  'venn_comparison',       // Comparative analysis (2+ sets)\n  'fill_in_text',          // ASCII/text fill-in exercise\n  'concept_map',           // Node-link concept map (freeform)\n]);\n\nexport const GraphicOrganizerItemSchema = z.object({\n  organizerNumber: z.coerce.number().int(),\n  organizerTitle: z.string().describe('e.g. \"Architectural Data Flow\" or \"State Machine & Lifecycle\"'),\n  organizerType: OrganizerTypeEnum,\n  mermaidCode: z.string().optional().describe('Raw Mermaid.js diagram definition'),\n  fillInTemplate: z.string().optional().describe('ASCII text fill-in box template'),\n  wordBank: z.array(z.string()).optional().default([]).describe('Word bank for fill-in exercises'),\n  cognitiveGoal: z.string().optional().describe('Why this diagram helps (Paivio dual-coding, etc.)'),\n  requiredLabels: z.array(z.string()).optional().default([]).describe('Items students must correctly label'),\n});\n\n// ─── Full Graphic Organizer ───────────────────────────────────────────────────\n\n/**\n * Graphic Organizer Schema — Visual Diagram-Based Learning Tool\n * Template: GRAPHIC_ORGANIZER_template.md\n * Sections: Visual Paradigm Overview → Organizer 1/2/3 → Student Fill-in Worksheet\n */\nexport const GraphicOrganizerSchema = z.object({\n  artifactType: z.literal('GRAPHIC_ORGANIZER'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().optional().default('en'),\n  cognitivePurpose: z.string().optional().describe(\n    'Cognitive design rationale, e.g. \"Dual-coding theory: spatial + verbal processing\"'\n  ),\n  organizers: z.array(GraphicOrganizerItemSchema).min(1),\n});\n\nexport type GraphicOrganizer = z.infer<typeof GraphicOrganizerSchema>;\nexport type GraphicOrganizerItem = z.infer<typeof GraphicOrganizerItemSchema>;\nexport type GraphicOrganizerInput = z.input<typeof GraphicOrganizerSchema>;\n","import { z } from 'zod';\n\n// ─── CER (Claim-Evidence-Reasoning) conclusion ───────────────────────────────\n\nexport const CERConclusionSchema = z.object({\n  claim: z.string().describe('Direct 1-sentence answer to the driving question'),\n  evidence: z.string().describe('Specific quantitative data from the collection table'),\n  reasoning: z.string().describe('Connection between evidence and the technical principle'),\n});\n\n// ─── Experimental Variable Design ────────────────────────────────────────────\n\nexport const ExperimentalDesignSchema = z.object({\n  hypothesisTemplate: z.string().describe(\n    '\"If [action], then [predicted outcome] because [rationale].\"'\n  ),\n  independentVariable: z.string().describe('The variable being manipulated'),\n  dependentVariable: z.string().describe('The variable being measured'),\n  controlVariables: z.array(z.string()).optional().default([]).describe('Constants held fixed'),\n});\n\n// ─── Science Lab ─────────────────────────────────────────────────────────────\n\n/**\n * Science Lab (CER Investigation) Schema\n * Template: SCIENCE_LAB_template.md\n * Sections: Guiding Inquiry → Hypothesis & Design → Data Protocol → CER Conclusion → Peer Review\n * Format: STEM/Code Investigation with Claim-Evidence-Reasoning framework\n */\nexport const ScienceLabSchema = z.object({\n  artifactType: z.literal('SCIENCE_LAB'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().optional().default('en'),\n  domain: z.string().optional().describe('e.g. \"Software Engineering / Concurrency\"'),\n\n  // Guiding Inquiry\n  drivingQuestion: z.string().describe('Real-world engineering driving question'),\n  engineeringPhenomenon: z.string().optional().describe('Observed phenomenon requiring explanation'),\n\n  // Hypothesis & Experimental Design\n  experimentalDesign: ExperimentalDesignSchema,\n\n  // Data Collection\n  labSetupCode: z.string().optional().describe('Instrumentation / benchmark harness code'),\n  labSetupCodeLanguage: z.string().optional().default('cpp'),\n  dataCollectionColumns: z.array(z.string()).optional().default([]).describe('Table column headers'),\n  trialCount: z.coerce.number().optional().default(4),\n\n  // CER Conclusion\n  cerTemplates: CERConclusionSchema.optional().describe('Pre-filled example or rubric for CER'),\n\n  // Peer Review\n  peerReviewProtocol: z.string().optional().describe(\n    'How groups exchange and verify each other\\'s results'\n  ),\n  reproducibilityTolerancePct: z.coerce.number().optional().default(10),\n});\n\nexport type ScienceLab = z.infer<typeof ScienceLabSchema>;\nexport type ScienceLabInput = z.input<typeof ScienceLabSchema>;\nexport type CERConclusion = z.infer<typeof CERConclusionSchema>;\n","import { z } from 'zod';\n\n// ─── Individual Rotation Station ─────────────────────────────────────────────\n\nexport const StationTypeEnum = z.enum([\n  'teacher_led',        // Station 1: Small-group guided inquiry with teacher\n  'pair_lab',           // Station 2: Collaborative hands-on pair programming\n  'digital_self_paced', // Station 3: Independent async code lab / LMS\n  'offline_modeling',   // Station 4: No-screen diagram / whiteboard activity\n  'custom',\n]);\n\nexport const RotationStationSchema = z.object({\n  stationNumber: z.coerce.number().int(),\n  stationLabel: z.string().describe('e.g. \"Station 1: Teacher-Led (Guided Inquiry)\"'),\n  stationType: StationTypeEnum,\n  goal: z.string().describe('What students achieve at this station'),\n  durationMinutes: z.coerce.number().optional().default(15),\n  teacherScriptOrInquiry: z.string().optional().describe(\n    'Teacher talking points or inquiry prompts (for teacher_led station)'\n  ),\n  studentInstructions: z.string().optional().describe('Step-by-step student task'),\n  materials: z.array(z.string()).optional().default([]),\n  successMilestone: z.string().optional().describe('Observable completion criterion'),\n  differentiationTrigger: z.string().optional().describe('What to do if students struggle'),\n});\n\n// ─── Recording Sheet Row (Student Passport) ───────────────────────────────────\n\nexport const StationRecordRowSchema = z.object({\n  stationNumber: z.coerce.number().int(),\n  taskCompleted: z.string(),\n  verificationMethod: z.string().describe('Teacher stamp, peer signature, auto-token, etc.'),\n  keyInsightPrompt: z.string().optional().default('What did you learn at this station?'),\n});\n\n// ─── Full Station Rotation Pack ───────────────────────────────────────────────\n\n/**\n * Station Rotation Schema — 4-Station Learning Pack\n * Template: STATION_ROTATION_template.md\n * Format: 4 stations × 15 min (60-75 min total) with rotation bell protocol\n * Grouping: Heterogeneous groups of 4-6 students\n */\nexport const StationRotationSchema = z.object({\n  artifactType: z.literal('STATION_ROTATION'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().optional().default('en'),\n  totalDurationMinutes: z.coerce.number().optional().default(60),\n  rotationDurationMinutes: z.coerce.number().optional().default(15),\n  transitionBufferMinutes: z.coerce.number().optional().default(2),\n  groupSize: z.string().optional().default('4-6 students'),\n  groupingStrategy: z.string().optional().default('Heterogeneous'),\n  stations: z.array(RotationStationSchema).min(2),\n  recordingSheet: z.array(StationRecordRowSchema).optional().default([]),\n});\n\nexport type StationRotation = z.infer<typeof StationRotationSchema>;\nexport type RotationStation = z.infer<typeof RotationStationSchema>;\nexport type StationRotationInput = z.input<typeof StationRotationSchema>;\n","import { z } from 'zod';\n\n// ─── Difficulty Tier Enum ─────────────────────────────────────────────────────\n\nexport const CardTierEnum = z.enum(['bronze', 'silver', 'gold']);\n\n// ─── Individual Task Card ─────────────────────────────────────────────────────\n\nexport const TaskCardSchema = z.object({\n  cardId: z.string().describe('e.g. \"CARD_01\"'),\n  cardNumber: z.coerce.number().int(),\n  setLabel: z.string().optional().describe(\n    'e.g. \"Set A: Foundational Concepts\" or \"Set B: Code Diagnosis\"'\n  ),\n  tier: CardTierEnum.optional().default('bronze'),\n  points: z.coerce.number().int().optional().default(1),\n  category: z.string().optional().describe(\n    'e.g. \"Vocabulary\", \"Code Tracing\", \"Bug Hunt\", \"Architecture\"'\n  ),\n  prompt: z.string().describe('The task / question printed on the card'),\n  codeSnippet: z.string().optional().describe('Code to trace or debug'),\n  codeLanguage: z.string().optional().default('cpp'),\n  options: z.array(z.object({\n    id: z.string(),\n    text: z.string(),\n    isCorrect: z.boolean().optional(),\n  })).optional().default([]).describe('MCQ options (if applicable)'),\n  hint: z.string().optional().describe('Student-facing hint'),\n  answerKey: z.string().describe('Teacher-facing correct answer or solution blueprint'),\n  answerPoints: z.coerce.number().int().optional().default(1),\n});\n\n// ─── Full Task Cards Deck ─────────────────────────────────────────────────────\n\n/**\n * Task Cards Schema — Printable Task Card Deck\n * Template: TASK_CARDS_template.md\n * Sets: A (Foundational), B (Debugging), C (Application/Synthesis)\n * Usage: Centers, Fast Finishers, Small Group Review, Station 4 Offline Activity\n */\nexport const TaskCardsSchema = z.object({\n  artifactType: z.literal('TASK_CARDS'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().optional().default('en'),\n  targetSkills: z.array(z.string()).optional().default([]).describe(\n    'e.g. [\"Conceptual Understanding\", \"Code Tracing\", \"Bug Hunting\"]'\n  ),\n  cardFormat: z.string().optional().default('4 cards per A4 page'),\n  scoringSystem: z.string().optional().default(\n    'Bronze (1 pt), Silver (2 pts), Gold (3 pts)'\n  ),\n  cards: z.array(TaskCardSchema).min(1),\n});\n\nexport type TaskCards = z.infer<typeof TaskCardsSchema>;\nexport type TaskCard = z.infer<typeof TaskCardSchema>;\nexport type TaskCardsInput = z.input<typeof TaskCardsSchema>;\n","import { z } from 'zod';\n\n// ─── Game Question / Challenge ────────────────────────────────────────────────\n\nexport const ReviewGameQuestionSchema = z.object({\n  questionId: z.string().optional(),\n  round: z.coerce.number().int().min(1).max(3).describe('1=Speed, 2=Code Duel, 3=Final Boss'),\n  points: z.coerce.number().int(),\n  category: z.string().optional().describe('e.g. \"Vocabulary & Syntax\", \"Mental Model\"'),\n  prompt: z.string().describe('The question or challenge shown to teams'),\n  codeSnippet: z.string().optional(),\n  codeLanguage: z.string().optional().default(''),\n  options: z.array(z.object({\n    id: z.string(),\n    text: z.string(),\n    isCorrect: z.boolean().optional(),\n  })).optional().default([]).describe('MCQ options for Round 1'),\n  answerOrExplanation: z.string().describe('Correct answer or winning explanation'),\n  timeLimit: z.coerce.number().optional().default(20).describe('Seconds'),\n  bonusMechanic: z.string().optional().describe('e.g. \"Teams can wager points\"'),\n});\n\n// ─── Kahoot/Quizizz Export Row ────────────────────────────────────────────────\n\nexport const ReviewGameExportRowSchema = z.object({\n  question: z.string(),\n  option1: z.string(),\n  option2: z.string(),\n  option3: z.string().optional().default(''),\n  option4: z.string().optional().default(''),\n  correctAnswer: z.coerce.number().int().min(1).max(4).describe('1-indexed correct option'),\n  timeLimitSec: z.coerce.number().optional().default(20),\n});\n\n// ─── Full Review Game Pack ────────────────────────────────────────────────────\n\n/**\n * Review Game Schema — Interactive Quiz Show Pack\n * Template: REVIEW_GAME_template.md\n * Format: 3 Rounds (Speed → Code Duel → Final Boss Architecture)\n * Compatible with: Kahoot, Quizizz, Jeopardy live classroom format\n */\nexport const ReviewGameSchema = z.object({\n  artifactType: z.literal('REVIEW_GAME'),\n  lessonId: z.string(),\n  title: z.string(),\n  language: z.string().optional().default('en'),\n\n  // Setup\n  format: z.string().optional().default('3 rounds, progressive difficulty, team buzzers'),\n  teamSize: z.string().optional().default('3-5 students'),\n  hasBonusWager: z.boolean().optional().default(true).describe('Teams can wager points on Round 3'),\n\n  // Questions per round\n  questions: z.array(ReviewGameQuestionSchema).min(1),\n\n  // Export-ready format for Kahoot / Quizizz\n  exportRows: z.array(ReviewGameExportRowSchema).optional().default([]),\n});\n\nexport type ReviewGame = z.infer<typeof ReviewGameSchema>;\nexport type ReviewGameQuestion = z.infer<typeof ReviewGameQuestionSchema>;\nexport type ReviewGameInput = z.input<typeof ReviewGameSchema>;\n","import { z } from 'zod';\n\n/**\n * CurriculumPlan — machine-readable SOT for curriculum planning.\n *\n * Produced by the Curriculum Planner (curriculumPlannerService) from a domain\n * planning graph (CurriculumFeed v2 or raw domain-kit graph shapes) plus\n * course constraints and policy. CURRICULUM_FRAMEWORK.md is a human-readable\n * projection of this plan; LESSON production consumes a session slice of it.\n */\n\n// [7] Canonical decision vocabularies (the ONLY legal values)\n\nexport const PrerequisiteDecisionSchema = z.enum([\n  'mastered_before_course',   // entry-level knowledge — referenced, not taught\n  'taught_in_prior_lesson',   // formally taught in an earlier session\n  'recap_in_lesson',          // re-activated at the start of this session\n  'jit_introduce_in_lesson',  // introduced just-in-time inside this session\n  'scaffolded_provide',       // not taught — supplied ready-made (scaffold)\n]);\nexport type PrerequisiteDecision = z.infer<typeof PrerequisiteDecisionSchema>;\n\nexport const ScaffoldDecisionSchema = z.enum([\n  'student_builds',\n  'provide_partial',\n  'provide_full',\n  'provide_reference',\n]);\nexport type ScaffoldDecision = z.infer<typeof ScaffoldDecisionSchema>;\n\nexport const DepthLevelSchema = z.enum(['ulo', 'cio', 'sio']);\nexport type DepthLevel = z.infer<typeof DepthLevelSchema>;\n\nexport const BloomLevelSchema = z.enum([\n  'Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create',\n]);\nexport type BloomLevel = z.infer<typeof BloomLevelSchema>;\n\nexport const EntryLevelSchema = z.enum(['beginner', 'intermediate', 'advanced']);\nexport const NodeKindSchema = z.enum(['skill', 'concept', 'product_step']);\n\n// Shared atoms\n\nconst LessonCodeSchema = z.string().regex(/^U\\d{2}_M\\d{2}_L\\d{2}$/, 'lesson code must match UXX_MYY_LZZ');\n\nconst SourceCiteSchema = z.object({\n  node_ids: z.array(z.string()).default([]),\n  concept_codes: z.array(z.string()).default([]),\n});\n\nexport const CourseObjectiveSchema = z.object({\n  id: z.string(),\n  statement: z.string().min(8),\n  bloom: BloomLevelSchema,\n  sources: SourceCiteSchema,\n});\nexport type CourseObjective = z.infer<typeof CourseObjectiveSchema>;\n\nexport const UnitPlanSchema = z.object({\n  id: z.string().regex(/^U\\d{2}$/),\n  name: z.string().min(3),\n  objectives: z.array(CourseObjectiveSchema).min(1),\n  node_ids: z.array(z.string()).min(1),\n  total_minutes: z.number().int().positive(),\n  rationale: z.string().min(3),\n  // Phases fully contained in this unit (empty for non-phase plans)\n  phase_ids: z.array(z.string()).default([]),\n  // Product completion description carried from the domain analysis (optional)\n  product_completion: z.string().default(''),\n});\nexport type UnitPlan = z.infer<typeof UnitPlanSchema>;\n\n// Session plan ([3][4][5][6] outputs)\n\nexport const DepthAssignmentSchema = z.object({\n  node_id: z.string(),\n  depth: DepthLevelSchema,\n  source: z.enum(['feed_hint', 'planner', 'escalated']),\n  // 2026-09-23 (swift-101 F5-S1): strand-guard / oversized splits continue a\n  // node across consecutive sessions. Parts are marked so consumers can\n  // distinguish a continuation from a genuine duplicate assignment.\n  part: z.number().int().min(1).optional(),\n  total_parts: z.number().int().min(2).optional(),\n  // Depth layer authored text carried from the planning node (optional)\n  depth_context: z.object({\n    ulo: z.string().default(''),\n    cio: z.string().default(''),\n    sio: z.array(z.string()).default([]),\n  }).optional(),\n  // Display name of the node for consumer prompts (optional)\n  node_name: z.string().optional(),\n});\nexport type DepthAssignment = z.infer<typeof DepthAssignmentSchema>;\n\nexport const PrerequisiteDecisionEntrySchema = z.object({\n  node_id: z.string(),\n  decision: PrerequisiteDecisionSchema,\n  reason: z.string().min(3),\n});\nexport type PrerequisiteDecisionEntry = z.infer<typeof PrerequisiteDecisionEntrySchema>;\n\nexport const ScaffoldDecisionEntrySchema = z.object({\n  item: z.string().min(1),\n  decision: ScaffoldDecisionSchema,\n  minutes_saved: z.number().int().nonnegative().default(0),\n  reason: z.string().min(3),\n});\nexport type ScaffoldDecisionEntry = z.infer<typeof ScaffoldDecisionEntrySchema>;\n\n// P50: Macro-Pedagogical Schemas (ZPD, Bruner Spiral, Walking Skeleton, Mastery Gates)\n\nexport const ZpdVerdictSchema = z.enum(['OK', 'TOO_MANY_NEW', 'NO_ZPD_BRIDGE']);\nexport type ZpdVerdict = z.infer<typeof ZpdVerdictSchema>;\n\nexport const SessionZpdStatusSchema = z.object({\n  verdict: ZpdVerdictSchema,\n  new_concept_count: z.number().int().nonnegative().default(0),\n  known_concept_count: z.number().int().nonnegative().default(0),\n  // 2026-09-19 (contract split, regen7/8 audit): keyword load lives in its\n  // OWN fields. The writer used to borrow new_concept_count as a keyword\n  // counter for concept-free sessions; judges read the field name and turned\n  // '3 keywords' into '3 new concepts' (40 judge points lost in regen7).\n  new_keyword_count: z.number().int().nonnegative().default(0),\n  known_keyword_count: z.number().int().nonnegative().default(0),\n  // ADR-0007: Cognitive load budget points (ULO=3, CIO=2, SIO=1, fallback=2)\n  cognitive_load: z.number().nonnegative().default(0),\n  issues: z.array(z.string()).default([]),\n});\nexport type SessionZpdStatus = z.infer<typeof SessionZpdStatusSchema>;\n\nexport const ConceptSpiralEncounterSchema = z.object({\n  concept_code: z.string(),\n  session_id: LessonCodeSchema,\n  encounter_index: z.number().int().positive(),\n  bloom_cap: BloomLevelSchema,\n  depth: DepthLevelSchema,\n});\nexport type ConceptSpiralEncounter = z.infer<typeof ConceptSpiralEncounterSchema>;\n\nexport const WalkingSkeletonSchema = z.object({\n  epitome_unit_id: z.string().default('U01'),\n  epitome_deliverables: z.array(z.string()).default([]),\n  elaborations: z.array(z.object({\n    unit_id: z.string(),\n    focus_area: z.string(),\n    elaborates_on: z.array(z.string()).default([]),\n  })).default([]),\n});\nexport type WalkingSkeleton = z.infer<typeof WalkingSkeletonSchema>;\n\nexport const ActivityTypeSchema = z.enum([\n  'instruction',\n  'read',\n  'watch',\n  'code',\n  'discuss',\n  'quiz',\n  'project',\n]);\nexport type ActivityType = z.infer<typeof ActivityTypeSchema>;\n\nexport const LoTimeEstimateSchema = z.object({\n  lo_id: z.string(),\n  level: z.enum(['L0', 'L1', 'L2', 'L3']),\n  basis: z.enum(['reference_class', 'bundle_template', 'activity_count', 'observed']),\n  minutes: z.object({\n    optimistic: z.number().int().nonnegative(),\n    likely: z.number().int().nonnegative(),\n    pessimistic: z.number().int().nonnegative(),\n  }),\n  confidence: z.number().min(0).max(1), // 0..1\n  activities: z.array(z.object({\n    type: ActivityTypeSchema,\n    quantity: z.number().int().nonnegative(),\n    unit_minutes: z.number().nonnegative(),\n    modifiers: z.record(z.number()).default({}),\n    counts_toward_total: z.boolean(),\n  })).optional(),\n});\nexport type LoTimeEstimate = z.infer<typeof LoTimeEstimateSchema>;\n\nexport const MasteryGateSchema = z.object({\n  phase_or_unit_id: z.string(),\n  gate_name: z.string(),\n  exit_criteria: z.array(z.string()).min(1),\n  next_unit_id: z.string(),\n  remediation: z.object({\n    trigger: z.literal('FAIL_GATE_CRITERIA'),\n    focus_minutes: z.number().int().default(15),\n    action: z.string(),\n  }),\n});\nexport type MasteryGate = z.infer<typeof MasteryGateSchema>;\n\nexport const ConceptPrerequisiteEdgeSchema = z.object({\n  concept_code: z.string(),\n  requires: z.string(),\n  source: z.enum(['MASTER_TREE', 'INFERRED', 'CONCEPT_LEVEL_PREREQ']).default('CONCEPT_LEVEL_PREREQ'),\n  confidence: z.number().min(0).max(1).default(0.8),\n  rationale: z.string().default(''),\n  structure_supported: z.boolean().default(true),\n  needs_review: z.boolean().default(false),\n  hub: z.boolean().default(false),\n});\nexport type ConceptPrerequisiteEdge = z.infer<typeof ConceptPrerequisiteEdgeSchema>;\n\nexport const PackedEntrySchema = z.object({\n  id: z.string(),\n  minutes: z.number().int().nonnegative(),\n  nominal_minutes: z.number().int().nonnegative().optional(),\n  part: z.number().int().min(1).default(1),\n  total_parts: z.number().int().min(1).default(1),\n});\nexport type PackedEntry = z.infer<typeof PackedEntrySchema>;\n\nexport const SessionPlanSchema = z.object({\n  id: LessonCodeSchema,\n  unit_id: z.string().regex(/^U\\d{2}$/),\n  order: z.number().int().positive(),\n  title: z.string().min(3),\n  // [4] Free-text session objective — no ULO/CIO/SIO mapping at this stage.\n  prose_objective: z.string().min(10),\n  node_ids: z.array(z.string()).min(1),\n  allocated_entries: z.array(PackedEntrySchema).default([]),\n  // Development phases this session contributes to (empty when the feed has no phases)\n  phase_ids: z.array(z.string()).default([]),\n  new_keywords: z.array(z.string()).default([]),\n  prerequisite_keywords: z.array(z.string()).default([]),\n  knowledge_minutes: z.number().int().nonnegative(),\n  practice_minutes: z.number().int().nonnegative(),\n  overhead_minutes: z.number().int().nonnegative(),\n  depth_assignments: z.array(DepthAssignmentSchema).min(1),\n  prerequisite_decisions: z.array(PrerequisiteDecisionEntrySchema).default([]),\n  scaffold_decisions: z.array(ScaffoldDecisionEntrySchema).default([]),\n  // What the student can demonstrate after this session — feeds exit tickets.\n  exit_evidence: z.array(z.string()).min(1),\n  differentiation: z.object({ bronze: z.string(), silver: z.string(), gold: z.string() }),\n  // P50: ZPD cognitive load status for this session\n  zpd_status: SessionZpdStatusSchema.default({\n    verdict: 'OK',\n    new_concept_count: 0,\n    known_concept_count: 0,\n    new_keyword_count: 0,\n    known_keyword_count: 0,\n    cognitive_load: 0,\n    issues: [],\n  }),\n});\nexport type SessionPlan = z.infer<typeof SessionPlanSchema>;\n\n// Root plan\n\nexport const TranslationPolicySchema = z\n  .object({\n    policy: z.enum(['after_artifact', 'end_of_unit', 'at_publish', 'native']).default('native'),\n    target_language: z.string().nullable().default(null),\n  })\n  .refine(\n    (data) => {\n      if (data.policy === 'native') {\n        return typeof data.target_language === 'string' && data.target_language.trim().length > 0;\n      }\n      return true;\n    },\n    {\n      message: \"When translation policy is 'native', target_language must be a non-empty string\",\n      path: ['target_language'],\n    }\n  );\nexport type TranslationPolicy = z.infer<typeof TranslationPolicySchema>;\n\nexport const CoverageReportSchema = z.object({\n  assigned_node_ids: z.array(z.string()),\n  unassigned_node_ids: z.array(z.string()),\n  warnings: z.array(z.string()),\n});\nexport type CoverageReport = z.infer<typeof CoverageReportSchema>;\n\nexport const PlanConstraintsSchema = z.object({\n  age_band: z.tuple([z.number().int(), z.number().int()]),\n  entry_level: EntryLevelSchema,\n  session_duration_minutes: z.number().int().positive(),\n  // Overhead (setup/recap/wrap-up) share of a session, 0..0.5.\n  overhead_ratio: z.number().min(0).max(0.5).default(0.15),\n  total_sessions: z.number().int().positive().nullable().default(null),\n  // Keywords the entry level already masters (drives mastered_before_course).\n  entry_keywords: z.array(z.string()).default([]),\n  course_goals: z.array(z.string()).default([]),\n  capstone: z.string().nullable().default(null),\n});\nexport type PlanConstraints = z.infer<typeof PlanConstraintsSchema>;\n\nexport const PlanValidationIssueSchema = z.object({\n  severity: z.enum(['error', 'warning']),\n  code: z.enum([\n    'CAPACITY_OVERFLOW',\n    'SESSION_NODE_OVERLOAD',\n    'ZPD_CONCEPT_OVERLOAD',\n    'TEACH_BEFORE_USE_VIOLATION',\n    'SPIRAL_DEPTH_MISMATCH',\n    'CAPSTONE_BUILD_DEFICIT',\n    'ASYMMETRIC_UNIT_DISTRIBUTION',\n    'TOTAL_SESSIONS_MISMATCH',\n    'SILENT_MINUTE_SHRINKAGE',\n    'MISSING_SESSION_DELIVERABLE',\n    // LO time-estimation model (plan 2026-10-09-lo-time-estimation-model-implementation-plan):\n    'BLOOM_FLOOR_MISSING',\n    'TIME_PRICE_INCONSISTENCY',\n  ]),\n  session_id: z.string().optional(),\n  unit_id: z.string().optional(),\n  message: z.string(),\n  details: z.record(z.any()).default({}),\n});\nexport type PlanValidationIssue = z.infer<typeof PlanValidationIssueSchema>;\n\nexport const PlanValidationResultSchema = z.object({\n  valid: z.boolean(),\n  status: z.enum(['passed', 'infeasible', 'warnings_only']),\n  summary: z.object({\n    total_sessions: z.number(),\n    nominal_minutes_sum: z.number(),\n    content_budget_sum: z.number(),\n    capacity_ratio: z.number(),\n    max_nodes_in_a_session: z.number(),\n    max_new_concepts_in_a_session: z.number(),\n    // Plan C3 — pooled time buffer over plan.time_estimates (√Σσ², P75 point).\n    p75_minutes_sum: z.number().default(0),\n    buffer_minutes: z.number().default(0),\n  }),\n  errors: z.array(PlanValidationIssueSchema).default([]),\n  warnings: z.array(PlanValidationIssueSchema).default([]),\n});\nexport type PlanValidationResult = z.infer<typeof PlanValidationResultSchema>;\n\nexport const CurriculumPlanSchema = z.object({\n  schema_version: z.literal(1),\n  plan_id: z.string(),\n  plan_hash: z.string(),\n  created_at: z.string(),\n  source: z.object({\n    graph_type: z.enum(['curriculum_feed', 'project_graph', 'knowledge_graph', 'hybrid_graph']),\n    feed_schema_version: z.number().nullable().default(null),\n    warnings: z.array(z.string()).default([]),\n    hallucination_count: z.number().int().nonnegative().default(0),\n  }),\n  constraints: PlanConstraintsSchema,\n  course: z.object({\n    // [1] Course-level objectives, each citing source nodes (anti-fabrication)\n    objectives: z.array(CourseObjectiveSchema).min(1),\n    capstone_ref: z.string().nullable().default(null),\n  }),\n  units: z.array(UnitPlanSchema).min(1),      // [2]\n  sessions: z.array(SessionPlanSchema).min(1), // [3][4][5][6]\n  // P50: Macro-pedagogical course structures\n  walking_skeleton: WalkingSkeletonSchema.optional(),\n  mastery_gates: z.array(MasteryGateSchema).default([]),\n  concept_spiral_progression: z.array(ConceptSpiralEncounterSchema).default([]),\n  concept_prerequisites: z.array(ConceptPrerequisiteEdgeSchema).default([]),\n  glossary_scope: z.array(z.object({\n    session_id: LessonCodeSchema,\n    terms: z.array(z.string()),\n  })),\n  translation: TranslationPolicySchema,\n  coverage_report: CoverageReportSchema,\n  approval: z.object({\n    status: z.enum(['draft', 'approved', 'infeasible']),\n    approved_at: z.string().nullable().default(null),\n    // Hash of the plan payload the approval covers — invalidation key for EXPOSITION.\n    plan_hash: z.string().nullable().default(null),\n  }),\n  validation_report: PlanValidationResultSchema.optional(),\n  // LO time estimates (L0–L3) per node — see services/loTimeEstimator.ts.\n  // optional().default([]): absent on legacy payloads, always [] after parse.\n  time_estimates: z.array(LoTimeEstimateSchema).optional().default([]),\n});\nexport type CurriculumPlan = z.infer<typeof CurriculumPlanSchema>;\n\n// Normalized planning graph (Stage 0 output, internal + feed-facing)\n\nexport const PlanningNodeSchema = z.object({\n  id: z.string(),\n  kind: NodeKindSchema,\n  name: z.string().min(1),\n  concept_codes: z.array(z.string()).default([]),\n  keywords: z.array(z.string()).default([]),\n  new_keywords: z.array(z.string()).default([]),\n  prerequisite_keywords: z.array(z.string()).default([]),\n  estimated_minutes: z.number().int().nonnegative(),\n  bloom_hint: BloomLevelSchema.nullable().default(null),\n  depth_hint: DepthLevelSchema.nullable().default(null),\n  completion_level: z.enum(['mvp', 'standard', 'stretch']).default('standard'),\n  scaffold_candidates: z.array(z.object({\n    item: z.string(),\n    reason: z.string().default(''),\n    minutes_saved: z.number().int().nonnegative().default(0),\n    suggest: ScaffoldDecisionSchema.default('provide_full'),\n  })).default([]),\n  references: z.array(z.object({\n    file: z.string(),\n    evidence: z.string().default(''),\n  })).default([]),\n  phase_id: z.string().default(''),\n  // P52/T2.1: tangible user-visible outcome projected from the graph step\n  // (checkpoint candidate for session cutting). Empty = not a checkpoint.\n  user_visible_deliverable: z.string().default(''),\n  // P52/T3.1 — depth-reconcile inputs (mirrored from the feed; optional so\n  // raw graphs without variants keep planning unchanged):\n  // • depth_variants: minutes to teach this node at each depth level (ULO ≤\n  //   CIO ≤ SIO) — the reconciler's price list for downgrades.\n  // • depth_scaffold_candidates: parallel to scaffold_candidates but acting\n  //   on DEPTH (SIO→CIO, CIO→ULO) instead of lesson time.\n  // • is_core: Master-Tree core concept — never downgraded; escalate instead.\n  depth_variants: z.object({ ulo: z.number().int().nonnegative(), cio: z.number().int().nonnegative(), sio: z.number().int().nonnegative() }).optional(),\n  depth_scaffold_candidates: z.array(z.object({\n    from_depth: DepthLevelSchema,\n    to_depth: DepthLevelSchema,\n    minutes_saved: z.number().int().nonnegative(),\n    reason: z.string().default(''),\n  })).optional(),\n  depth_context: z.object({\n    ulo: z.string().default(''),\n    cio: z.string().default(''),\n    sio: z.array(z.string()).default([]),\n  }).optional(),\n  is_core: z.boolean().default(false),\n});\nexport type PlanningNode = z.infer<typeof PlanningNodeSchema>;\n\n/** knowledge = must be understood before; task = needs the source node's output first. */\nexport const DependencyEdgeSchema = z.object({\n  from: z.string(),\n  to: z.string(),\n  kind: z.enum(['knowledge', 'task']),\n  reason: z.string().default(''),\n});\nexport type DependencyEdge = z.infer<typeof DependencyEdgeSchema>;\n\nexport const PlanningGraphSchema = z.object({\n  graph_type: z.enum(['curriculum_feed', 'project_graph', 'knowledge_graph', 'hybrid_graph']),\n  warnings: z.array(z.string()).default([]),\n  hallucination_count: z.number().int().nonnegative().default(0),\n  nodes: z.array(PlanningNodeSchema).min(1, 'planning graph must contain at least one node'),\n  edges: z.array(DependencyEdgeSchema).default([]),\n  groupings: z.array(z.object({\n    id: z.string(),\n    name: z.string(),\n    node_ids: z.array(z.string()).min(1),\n    rationale: z.string().default(''),\n  })).default([]),\n  // Progressive completion phases (from CurriculumFeed.phases). When non-empty\n  // they define units and the teaching sequence; groupings stay informational.\n  phases: z.array(z.object({\n    id: z.string(),\n    order: z.number().int().positive(),\n    name: z.string(),\n    product_completion: z.string().default(''),\n    node_ids: z.array(z.string()).min(1),\n  })).default([]),\n});\nexport type PlanningGraph = z.infer<typeof PlanningGraphSchema>;\nexport type PlanningPhase = PlanningGraph['phases'][number];\n\n// Planner input\n\nexport const PlannerInputSchema = z.object({\n  graph: z.unknown(),\n  constraints: PlanConstraintsSchema,\n  translation: TranslationPolicySchema.default({ policy: 'at_publish', target_language: null }),\n});\nexport type PlannerInput = z.infer<typeof PlannerInputSchema>;\n\n/** Validates a plan and enforces the cross-field budget invariant per session. */\nexport function validateCurriculumPlan(plan: unknown): CurriculumPlan {\n  const parsed = CurriculumPlanSchema.parse(plan);\n  for (const s of parsed.sessions) {\n    const total = s.knowledge_minutes + s.practice_minutes + s.overhead_minutes;\n    if (total > parsed.constraints.session_duration_minutes) {\n      throw new Error(\n        'Session ' + s.id + ' budget violated: ' + total + ' > ' + parsed.constraints.session_duration_minutes + ' minutes',\n      );\n    }\n  }\n  return parsed;\n}\n","import { z } from 'zod';\n\n// ─── Existing schemas ─────────────────────────────────────────────────────────\nexport * from './lessonPlanSchema';\nexport * from './activitySchema';\nexport * from './codeLabSchema';\nexport * from './worksheetSchema';\nexport * from './handoutSchema';\nexport * from './slideDeckSchema';\nexport * from './teacherGuideSchema';\nexport * from './extensionSchema';\nexport * from './judgeSchema';\nexport * from './projectGraphSchema';\nexport * from './instructionSchema';\nexport * from './selfLabSchema';\nexport * from './diagnosticQuizSchema';\nexport * from './selfPacedBundleSchema';\n\n// ─── New schemas (derived from canonical templates) ───────────────────────────\nexport * from './rubricSchema';\nexport * from './exitTicketSchema';\nexport * from './tieredPracticeSchema';\nexport * from './bellRingerSchema';\nexport * from './glossarySchema';\nexport * from './choiceBoardSchema';\nexport * from './graphicOrganizerSchema';\nexport * from './scienceLabSchema';\nexport * from './stationRotationSchema';\nexport * from './taskCardsSchema';\nexport * from './reviewGameSchema';\n\nimport { LessonPlanSchema, LessonPlanEDPSchema, LessonPlan5ESchema } from './lessonPlanSchema';\nimport { ActivityLabSchema } from './activitySchema';\nimport { CodeLabSchema } from './codeLabSchema';\nimport { WorksheetSchema } from './worksheetSchema';\nimport { HandoutSchema } from './handoutSchema';\nimport { SlideDeckSchema } from './slideDeckSchema';\nimport { TeacherGuideSchema } from './teacherGuideSchema';\nimport { ExtensionSchema } from './extensionSchema';\nimport { DiagnosticQuizSchema } from './diagnosticQuizSchema';\nimport { RubricSchema } from './rubricSchema';\nimport { ExitTicketSchema } from './exitTicketSchema';\nimport { TieredPracticeSchema } from './tieredPracticeSchema';\nimport { BellRingerSchema } from './bellRingerSchema';\nimport { GlossarySchema } from './glossarySchema';\nimport { ChoiceBoardSchema } from './choiceBoardSchema';\nimport { GraphicOrganizerSchema } from './graphicOrganizerSchema';\nimport { ScienceLabSchema } from './scienceLabSchema';\nimport { StationRotationSchema } from './stationRotationSchema';\nimport { TaskCardsSchema } from './taskCardsSchema';\nimport { ReviewGameSchema } from './reviewGameSchema';\n\n/**\n * Discriminated Union of all Curriculum Artifacts.\n * Keyed on `artifactType` literal field.\n *\n * Lesson variants:\n *  - 'LESSON'      → LessonPlanSchema (legacy, deprecated — kept for backward compat)\n *  - 'LESSON_EDP'  → LessonPlanEDPSchema (Engineering Design Process model)\n *  - 'LESSON_5E'   → LessonPlan5ESchema  (5E Instructional Model)\n */\nexport const CurriculumArtifactSchema = z.discriminatedUnion('artifactType', [\n  // ─── Lesson variants ───────────────────────────────────────────\n  LessonPlanSchema,      // 'LESSON'      — legacy (deprecated)\n  LessonPlanEDPSchema,   // 'LESSON_EDP'  — Engineering Design Process\n  LessonPlan5ESchema,    // 'LESSON_5E'   — 5E Instructional Model\n  // ─── Activity & Practice ───────────────────────────────────────\n  ActivityLabSchema,     // 'ACT'\n  TieredPracticeSchema,  // 'TIERED_PRACTICE'\n  BellRingerSchema,      // 'BELL_RINGER'\n  ChoiceBoardSchema,     // 'CHOICE_BOARD'\n  // ─── Code ─────────────────────────────────────────────────────\n  CodeLabSchema,         // 'CODE'\n  // ─── Assessment ───────────────────────────────────────────────\n  DiagnosticQuizSchema,  // 'QUIZ'\n  RubricSchema,          // 'RUBRIC'\n  ExitTicketSchema,      // 'EXIT_TICKET'\n  // ─── Student-facing resources ──────────────────────────────────\n  WorksheetSchema,       // 'WKS'\n  HandoutSchema,         // 'HANDOUT'\n  SlideDeckSchema,       // 'SLIDE'\n  TeacherGuideSchema,    // 'GUIDE'\n  ExtensionSchema,       // 'EXT'\n  GlossarySchema,        // 'GLOSSARY'\n  GraphicOrganizerSchema,// 'GRAPHIC_ORGANIZER'\n  ScienceLabSchema,      // 'SCIENCE_LAB'\n  StationRotationSchema, // 'STATION_ROTATION'\n  TaskCardsSchema,       // 'TASK_CARDS'\n  ReviewGameSchema,      // 'REVIEW_GAME'\n]);\n\nexport type CurriculumArtifact = z.infer<typeof CurriculumArtifactSchema>;\n\n/**\n * Basic Learning Objective schema from Knowledge Graph / Tree\n */\nexport const LearningObjectiveInputSchema = z.object({\n  code: z.string(),\n  name: z.string(),\n  description: z.string().optional().default(''),\n  lo_type: z.enum(['UNIVERSAL', 'CONCEPTUAL_IMPL', 'SPECIFIC_IMPL', 'ULO', 'CIO', 'SIO']).or(z.string()),\n  bloom_level: z.string().optional().default('understand'),\n  knowledge_dimension: z.string().optional().default('CONCEPTUAL'),\n  assessment: z.string().optional().default('concept-check'),\n  keyword: z.string().optional().default(''),\n  concept: z.string().optional().default(''),\n  concept_code: z.string().optional().default(''),\n  concept_name: z.string().optional().default(''),\n});\n\nexport interface LearningObjectiveInput {\n  code: string;\n  name: string;\n  description?: string;\n  lo_type?: 'UNIVERSAL' | 'CONCEPTUAL_IMPL' | 'SPECIFIC_IMPL' | 'ULO' | 'CIO' | 'SIO' | string;\n  bloom_level?: string;\n  knowledge_dimension?: string;\n  assessment?: string;\n  keyword?: string;\n  concept?: string;\n  concept_code?: string;\n  concept_name?: string;\n}\n\n/**\n * Milestone input schema matching knowledge-tree Roadmap & Learning Path JSON\n */\nexport const MilestoneInputSchema = z.object({\n  id: z.string().optional(),\n  name: z.string(),\n  description: z.string().optional().default(''),\n  feature_id: z.string().optional().default('F0'),\n  feature_name: z.string().optional().default(''),\n  concept_code: z.string().optional().default(''),\n  concept_name: z.string().optional().default(''),\n  completion_level: z.string().optional().default('base'),\n  difficulty: z.string().optional().default('Beginner'),\n  bloom_level: z.string().optional().default('Understand'),\n  tech_keywords: z.array(z.string()).optional().default([]),\n  prerequisite_concept_codes: z.array(z.string()).optional().default([]),\n  all_keywords: z.array(z.string()).optional().default([]).describe('All keywords associated with this milestone (aggregated from concepts)'),\n  new_keywords: z.array(z.string()).optional().default([]).describe('Keywords introduced for the first time at this milestone'),\n  prerequisite_keywords: z.array(z.string()).optional().default([]).describe('Keywords already introduced in earlier milestones'),\n  learning_objectives: z.array(LearningObjectiveInputSchema).optional().default([]),\n  rationale: z.string().or(z.array(z.string())).optional().default(''),\n  instruction_ref: z.string().optional(),\n  /** Canonical numeric grade band [min, max] for standards retrieval (Phase 2). */\n  grade_band: z.tuple([z.number().int(), z.number().int()]).optional(),\n});\n\nexport interface MilestoneInput {\n  id?: string;\n  name: string;\n  description?: string;\n  feature_id?: string;\n  feature_name?: string;\n  concept_code?: string;\n  concept_name?: string;\n  completion_level?: string;\n  difficulty?: string;\n  bloom_level?: string;\n  tech_keywords?: string[];\n  prerequisite_concept_codes?: string[];\n  all_keywords?: string[];\n  new_keywords?: string[];\n  prerequisite_keywords?: string[];\n  learning_objectives?: LearningObjectiveInput[];\n  rationale?: string | string[];\n  instruction_ref?: string;\n  grade_band?: [number, number];\n}\n\n/**\n * Phase input schema\n */\nexport const PhaseInputSchema = z.object({\n  phase_id: z.number().or(z.string()),\n  title: z.string().optional(),\n  phase_name: z.string().optional(),\n  description: z.string().optional().default(''),\n  target_outcome: z.string().optional(),\n  milestones: z.array(MilestoneInputSchema).default([]),\n});\n\nexport type PhaseInput = z.input<typeof PhaseInputSchema>;\n\n/**\n * Full Roadmap input schema\n */\nexport const RoadmapInputSchema = z.object({\n  project_brief: z.object({\n    name: z.string().optional(),\n    title: z.string().optional(),\n    goal: z.string().optional(),\n    description: z.string().optional().default(''),\n    tech_stack: z.array(z.string()).optional().default([]),\n    estimated_hours: z.number().optional().default(0),\n    estimated_weeks: z.number().optional().default(0),\n    target_learner: z.string().optional(),\n    audience: z.string().optional(),\n    icon: z.string().optional(),\n  }),\n  phases: z.array(PhaseInputSchema).default([]),\n});\n\nexport type RoadmapInput = z.infer<typeof RoadmapInputSchema>;\n\nexport interface ProjectRoadmap {\n  title: string;\n  goal?: string;\n  topic?: string;\n  target_language?: string;\n  target_audience?: string;\n  tech_stack?: string[];\n  milestones: MilestoneInput[];\n}\nexport * from './curriculumPlanSchema';\n"]}