@coffeerunhobby/mcp-ha-connect 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +12 -1
  2. package/dist/omadaClient/index.d.ts +7 -0
  3. package/dist/omadaClient/index.js +6 -0
  4. package/dist/omadaClient/index.js.map +1 -1
  5. package/dist/omadaClient/request.d.ts +4 -0
  6. package/dist/omadaClient/request.js +6 -0
  7. package/dist/omadaClient/request.js.map +1 -1
  8. package/dist/omadaClient/site.d.ts +129 -0
  9. package/dist/omadaClient/site.js +184 -0
  10. package/dist/omadaClient/site.js.map +1 -1
  11. package/dist/server/instructions.js +1 -1
  12. package/dist/server/instructions.js.map +1 -1
  13. package/dist/tools/omada/getSiteNtpStatus.d.ts +3 -0
  14. package/dist/tools/omada/getSiteNtpStatus.js +8 -0
  15. package/dist/tools/omada/getSiteNtpStatus.js.map +1 -0
  16. package/dist/tools/omada/index.js +7 -2
  17. package/dist/tools/omada/index.js.map +1 -1
  18. package/dist/tools/omada/namespace.js +8 -0
  19. package/dist/tools/omada/namespace.js.map +1 -1
  20. package/dist/tools/omada/setSiteNtpServers.d.ts +10 -0
  21. package/dist/tools/omada/setSiteNtpServers.js +22 -0
  22. package/dist/tools/omada/setSiteNtpServers.js.map +1 -0
  23. package/dist/version.d.ts +1 -1
  24. package/dist/version.js +1 -1
  25. package/docs/CHANGELOG.md +5 -0
  26. package/openapi.json +1 -1
  27. package/package.json +1 -1
  28. package/src/omadaClient/index.ts +12 -1
  29. package/src/omadaClient/request.ts +7 -0
  30. package/src/omadaClient/site.ts +264 -1
  31. package/src/server/instructions.ts +1 -1
  32. package/src/tools/omada/getSiteNtpStatus.ts +14 -0
  33. package/src/tools/omada/index.ts +7 -2
  34. package/src/tools/omada/namespace.ts +8 -0
  35. package/src/tools/omada/setSiteNtpServers.ts +36 -0
  36. package/src/version.ts +1 -1
  37. package/tests/omadaClient/ntp.test.ts +366 -0
  38. package/tests/tools/omada/graph.test.ts +21 -2
@@ -297,6 +297,14 @@ export const OMADA_RESOURCES = [
297
297
  description: 'Internet/WAN connection information for the site.',
298
298
  fetch: (c, a) => c.getInternetInfo(a.siteId),
299
299
  },
300
+ {
301
+ path: '/network/ntp',
302
+ kind: 'leaf',
303
+ permission: Q,
304
+ estimatedSize: 'small',
305
+ description: 'NTP (network time) server configuration and status for the site.',
306
+ fetch: (c, a) => c.getSiteNtpStatus(a.siteId),
307
+ },
300
308
  {
301
309
  path: '/network/lan-networks',
302
310
  kind: 'collection',
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/tools/omada/namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAqCxD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;AAE3B,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA0C,EAC1C,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/D,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IAC5F,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAA0C,EAC1C,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAEhB,MAAM,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAChF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,MAA0C;IACrE,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,MAAM,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C;QACE,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,kFAAkF;KAChG;IAED,2EAA2E;IAC3E;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,oGAAoG;QACjH,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE;KAC5B;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,QAAQ;QACvB,WAAW,EAAE,6FAA6F;QAC1G,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;QAC7F,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KAChF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,sFAAsF;QACnG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,sCAAsC;YACpD,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,QAAQ;QACvB,WAAW,EAAE,8EAA8E;QAC3F,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;KACvF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,wCAAwC;QACrD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;QACrF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;KAC3E;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,uFAAuF;QACpG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;QAChH,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;KAC5D;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,kFAAkF;KAChG;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,oEAAoE;QACjF,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QAClF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,uDAAuD;YACrE,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,EAAE;SACrD,CAAC;KACL;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,iGAAiG;QAC9G,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QAClF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,8DAA8D;YAC5E,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,EAAE;SACrD,CAAC;KACL;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QAClF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,sDAAsD;YACpE,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,EAAE;SACrD,CAAC;KACL;IACD;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,oGAAoG;QACjH,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,yCAAyC;YACvD,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,yFAAyF;QACtG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAC5F;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,qFAAqF;QAClG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qCAAqC,EAAE,CAAC;QAC7F,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;KAChF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,iCAAiC;QAC9C,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC;KACnD;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,QAAQ;QACvB,WAAW,EAAE,4GAA4G;QACzH,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACjF,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8BAA8B,EAAE;SAC9E;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,mBAAmB,CAAC;YACpB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;SACpE,CAAC;KACL;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,+DAA+D;QAC5E,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;KACnH;IAED,2EAA2E;IAC3E,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE;IAC9G;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,iHAAiH;QAC9H,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACpF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,kDAAkD;YAChE,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE;SACvD,CAAC;KACL;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,iFAAiF;QAC9F,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,CAAC;QACpF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,2DAA2D;YACzE,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,EAAE;SACvD,CAAC;KACL;IAED,2EAA2E;IAC3E,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,+DAA+D,EAAE;IACpI;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,mDAAmD;QAChE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC;KAC7C;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,kCAAkC;QAC/C,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;KAC/C;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,eAAe;QAC5B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;KAC/C;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,cAAc;QAC3B,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC;KAC9C;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,yCAAyC;QACtD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;KAChD;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,gFAAgF;QAC7F,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;QACtF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;KAClH;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,4GAA4G;QACzH,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,sCAAsC;YACpD,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,QAAQ;QACvB,WAAW,EAAE,gJAAgJ;QAC7J,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,gDAAgD;YAC9D,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,4FAA4F;QACzG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,8CAA8C,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACpH;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,yHAAyH;QACtI,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,sCAAsC;YACpD,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,yCAAyC;YACvD,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,kGAAkG;QAC/G,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,8BAA8B;YAC5C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,uFAAuF;QACpG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gCAAgC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACtG;IAED,0EAA0E;IAC1E,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,sEAAsE,EAAE;IAChJ;QACE,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,0CAA0C;QACvD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,+BAA+B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC3I;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,yCAAyC;QACtD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,+BAA+B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC3I;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,yCAAyC;QACtD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,+BAA+B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC3I;IAED,0EAA0E;IAC1E,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,uEAAuE,EAAE;IACxJ;QACE,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,sCAAsC;QACnD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,qCAAqC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KACjJ;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,qCAAqC;QAClD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,iCAAiC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC7I;IAED,2EAA2E;IAC3E,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,0CAA0C,EAAE;IAC3H;QACE,IAAI,EAAE,4BAA4B;QAClC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,6CAA6C;QAC1D,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,mCAAmC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC/I;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,4CAA4C;QACzD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,kCAAkC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;KAC9I;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC;KAClD;IAED,0EAA0E;IAC1E,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,iEAAiE,EAAE;IACnI;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,mFAAmF;QAChG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;QACpF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,+CAA+C;YAC7D,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,EAAE;SAC7C,CAAC;KACL;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,4EAA4E;QACzF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,kCAAkC;YAChD,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,qFAAqF;YACrF,oFAAoF;YACpF,uEAAuE;QACzE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,8BAA8B;YAC5C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,+FAA+F;QAC5G,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+CAA+C,EAAE;YAChG,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kEAAkE,EAAE;SACrH;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,MAAM,EAAE,MAAM;YACd,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACnE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;KACtD;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,oFAAoF;QACjG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,+BAA+B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACrG;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,wGAAwG;YACxG,qGAAqG;YACrG,kEAAkE;QACpE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8CAA8C,EAAE;YACnG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qCAAqC,EAAE;YACxF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,oDAAoD,EAAE;SACvG;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACd,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,KAAK,GAA4B,EAAE,mBAAmB,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACtG,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACrB,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5C,CAAC;YACD,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACvJ,CAAC;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,wGAAwG;YACxG,0GAA0G;YAC1G,uGAAuG;QACzG,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8CAA8C,EAAE;YACnG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qCAAqC,EAAE;YACxF,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,oDAAoD,EAAE;YACtG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iDAAiD,EAAE;SACtG;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACd,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5D,MAAM,KAAK,GAA4B,EAAE,mBAAmB,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;YACtG,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACrB,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACpE,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChD,CAAC;YACD,OAAO,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,6BAA6B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACvJ,CAAC;KACF;IAED,2EAA2E;IAC3E;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,QAAQ;QACvB,WAAW,EAAE,uDAAuD;QACpE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,4CAA4C,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAClH;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,8GAA8G;YAC9G,kDAAkD;QACpD,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACrG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0CAA0C,EAAE;SAC9F;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gDAAgD,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC/I;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,iHAAiH;YACjH,kDAAkD;QACpD,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACrG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0CAA0C,EAAE;SAC9F;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,mDAAmD,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAClJ;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,mGAAmG;QAChH,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,+CAA+C,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACrH;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,gHAAgH;YAChH,iCAAiC;QACnC,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACrG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0CAA0C,EAAE;SAC9F;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gDAAgD,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC/I;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,QAAQ;QACvB,WAAW,EACT,iHAAiH;YACjH,oDAAoD;QACtD,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gDAAgD,EAAE;YACrG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,0CAA0C,EAAE;SAC9F;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,8CAA8C,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;KAC7I;IAED,2EAA2E;IAC3E;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,sFAAsF;QACnG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;QAClF,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,0DAA0D;YACxE,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,EAAE;SACrD,CAAC;KACL;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,2EAA2E;QACxF,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,4BAA4B,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;KAChG;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,8EAA8E;KAC5F;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,qEAAqE;QAClF,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;QACtG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,EAAE;YACF,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBACb,YAAY,EAAE,+CAA+C;gBAC7D,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;aAC5B,CAAC;YACJ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,uCAAuC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAClG;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,+EAA+E;KAC7F;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,4DAA4D;QACzE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gDAAgD,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACvG;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,iEAAiE;QAC9E,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gDAAgD,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACvG;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,qDAAqD;QAClE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gCAAgC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACtG;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,8DAA8D;QAC3E,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,yCAAyC;YACvD,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC;KACL;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,mFAAmF;KACjG;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,wGAAwG;YACxG,sEAAsE;QACxE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;QACxG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,+BAA+B;YAC7C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;SACxC,CAAC;KACL;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,oFAAoF;QACjG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,qCAAqC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAC3G;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EACT,iFAAiF;YACjF,uGAAuG;KAC1G;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,iEAAiE;QAC9E,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,+BAA+B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACrG;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,kEAAkE;QAC/E,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,gCAAgC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACtG;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,+EAA+E;QAC5F,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,mCAAmC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACzG;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,+EAA+E;KAC7F;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,sCAAsC;QACnD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,0CAA0C,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KAChH;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,OAAO;QACtB,WAAW,EAAE,kDAAkD;QAC/D,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,+BAA+B,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;KACrG;IAED,0EAA0E;IAC1E;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EACT,uGAAuG;KAC1G;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,8FAA8F;YAC9F,uEAAuE;QACzE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kCAAkC,EAAE;YACvF,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACnF,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8BAA8B,EAAE;SACpF;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,4BAA4B;YAC1C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;SAC9B,CAAC;KACL;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,iGAAiG;YACjG,oEAAoE;QACtE,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,kCAAkC,EAAE;YACvF,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACnF,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,8BAA8B,EAAE;SACpF;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,YAAY,CAAC;YACb,YAAY,EAAE,aAAa;YAC3B,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,IAAI;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;SAC9B,CAAC;KACL;IAED,2EAA2E;IAC3E;QACE,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,CAAC;QACb,WAAW,EAAE,sDAAsD;KACpE;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,EAAE;QACnB,aAAa,EAAE,OAAO;QACtB,WAAW,EACT,gHAAgH;YAChH,wGAAwG;YACxG,uGAAuG;YACvG,gDAAgD;QAClD,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,+CAA+C,EAAE;YACnG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,6CAA6C,EAAE;YAC/F,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,mCAAmC,EAAE;YACvF,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,4CAA4C,EAAE;YAChG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,+BAA+B,EAAE;YACnF,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,4CAA4C,EAAE;YACjG,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,+CAA+C,EAAE;SACpG;QACD,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACd,CAAC,CAAC,aAAa,CAAC;YACd,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ;YAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM;YACvC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;YACjB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,EAAE;YAC1B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC;YACtC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC;YAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YACnG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS;SAC/B,CAAC;KACL;CACF,CAAC;AAEF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAuB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtF,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,uDAAuD;AACvD,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/tools/omada/namespace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { McpServer } from '@modelcontextprotocol/server';
2
+ import { z } from 'zod';
3
+ import type { OmadaClient } from '../../omadaClient/index.js';
4
+ export declare const setSiteNtpServersSchema: z.ZodObject<{
5
+ servers: z.ZodArray<z.ZodString>;
6
+ enabled: z.ZodOptional<z.ZodBoolean>;
7
+ siteId: z.ZodOptional<z.ZodString>;
8
+ dryRun: z.ZodOptional<z.ZodBoolean>;
9
+ }, z.core.$strip>;
10
+ export declare function registerSetSiteNtpServersTool(server: McpServer, client: OmadaClient): void;
@@ -0,0 +1,22 @@
1
+ import { z } from 'zod';
2
+ import { MAX_NTP_SERVERS } from '../../omadaClient/site.js';
3
+ import { toToolResult, wrapToolHandler, Permission } from '../common.js';
4
+ export const setSiteNtpServersSchema = z.object({
5
+ servers: z
6
+ .array(z.string().min(1))
7
+ .max(MAX_NTP_SERVERS)
8
+ .describe(`NTP server addresses (hostname or IPv4), in priority order; at most ${MAX_NTP_SERVERS}. Replaces the current list.`),
9
+ enabled: z.boolean().optional().describe('Turn the site NTP setting on (default) or off'),
10
+ siteId: z.string().min(1).optional(),
11
+ dryRun: z.boolean().optional().describe('If true, return the exact change without writing it'),
12
+ });
13
+ export function registerSetSiteNtpServersTool(server, client) {
14
+ server.registerTool('omada_setSiteNtpServers', {
15
+ description: "Set a site's NTP (network time) servers, replacing the current list. " +
16
+ 'Omada stores NTP in the site settings, so this re-writes the site settings with only the NTP fields changed; ' +
17
+ 'the result shows the list before and after. Use dryRun first to preview. ' +
18
+ 'Wrong time breaks certificates, logs and schedules on every network device - confirm with the user before applying.',
19
+ inputSchema: setSiteNtpServersSchema,
20
+ }, wrapToolHandler('omada_setSiteNtpServers', async ({ servers, enabled, siteId, dryRun }) => toToolResult(await client.setSiteNtpServers(servers, { enabled, siteId, dryRun })), Permission.CONFIGURE));
21
+ }
22
+ //# sourceMappingURL=setSiteNtpServers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setSiteNtpServers.js","sourceRoot":"","sources":["../../../src/tools/omada/setSiteNtpServers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEzE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACxB,GAAG,CAAC,eAAe,CAAC;SACpB,QAAQ,CAAC,uEAAuE,eAAe,8BAA8B,CAAC;IACnI,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;IACzF,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;CACjG,CAAC,CAAC;AAEH,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,MAAmB;IAChF,MAAM,CAAC,YAAY,CACf,yBAAyB,EACzB;QACI,WAAW,EACP,uEAAuE;YACvE,+GAA+G;YAC/G,2EAA2E;YAC3E,qHAAqH;QACzH,WAAW,EAAE,uBAAuB;KACvC,EACD,eAAe,CACX,yBAAyB,EACzB,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAA2C,EAAE,EAAE,CACpF,YAAY,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,EACtF,UAAU,CAAC,SAAS,CACvB,CACJ,CAAC;AACN,CAAC"}
package/dist/version.d.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  * Package version - hardcoded at build time for reliability
3
3
  * Keep in sync with package.json version
4
4
  */
5
- export declare const VERSION = "2.0.0";
5
+ export declare const VERSION = "2.1.0";
package/dist/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  * Package version - hardcoded at build time for reliability
3
3
  * Keep in sync with package.json version
4
4
  */
5
- export const VERSION = '2.0.0';
5
+ export const VERSION = '2.1.0';
6
6
  //# sourceMappingURL=version.js.map
package/docs/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### 2.1.0
2
+ - **New: site NTP tools for Omada.** `omada_getSiteNtpStatus` (QUERY; also `omada_read /network/ntp` in graph mode) reads the NTP configuration and status. `omada_setSiteNtpServers` (**CONFIGURE**, not CONTROL: it changes site-wide configuration) replaces the site NTP server list (hostnames or IPv4, at most 5) and can turn NTP on or off. Omada has no NTP-only write: NTP lives in the site settings, so the tool reads the site, changes only the NTP fields and writes the whole site back (`PUT /sites/{siteId}`), translating the read and write shapes (servers are strings on read, `{ address }` objects on write; read-only DST fields are dropped). It refuses to write if the site lacks a required field, validates every address before contacting the controller, supports `dryRun` to preview the exact request, and reports the before/after lists as the controller holds them. The controller has no conditional update, so writes are serialized per site and the site is re-read just before the PUT: if a non-NTP setting changed in between, nothing is written and the call fails with a conflict. Not exposed on the Open WebUI REST bridge.
3
+ - README: the Omada tool list was stale (said 24, missed the block/unblock, PoE and SSID action tools); it now lists all 30.
4
+ - +42 tests (address validation, the update body, dry run, read-modify-write, conflict refusal, per-site serialization, controller rejection, the `/network/ntp` graph read, and RBAC: a CONTROL token cannot change NTP; mutation-checked).
5
+
1
6
  ### 2.0.0
2
7
  - **Major version for the two major dependency upgrades below (MCP SDK v2, zod 4).** No configuration changes are needed and MCP clients are unaffected: same tools, same protocol versions, same auth.
3
8
  - **MCP SDK v2 (split packages).** `@modelcontextprotocol/sdk` 1.x → `@modelcontextprotocol/server` 2.2 + `@modelcontextprotocol/node` 2.1. The production dependency tree shrinks from **95 packages to 8**: Express, body-parser, qs, cors, cross-spawn (Socket "shell access"), ajv (Socket "uses eval"), eventsource and the long tail of unmaintained Express helpers are gone. `npm audit` (incl. dev) reports 0. Client compatibility is unchanged: v2 still negotiates `2025-11-25` and older protocol versions (verified with `mcp-remote`, the Claude Desktop client, plus raw `2025-06-18` initialize). Applied with the official codemod, then by hand: tool `inputSchema`s pass schema objects (raw shapes are deprecated), and the REST bridge's synthetic request context moved to the v2 shape (`http.authInfo`) — without that, Open WebUI's tool calls would have been denied.
package/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "Home Assistant MCP Wrapper",
5
- "version": "2.0.0",
5
+ "version": "2.1.0",
6
6
  "description": "REST endpoints that wrap MCP tools for Home Assistant integration."
7
7
  },
8
8
  "servers": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coffeerunhobby/mcp-ha-connect",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Smart home MCP server for Home Assistant plus Local AI integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,7 +25,7 @@ import { DeviceOperations } from './device.js';
25
25
  import { NetworkOperations, type SsidEnableResult } from './network.js';
26
26
  import { RequestHandler, type RequestOptions } from './request.js';
27
27
  import { SecurityOperations } from './security.js';
28
- import { SiteOperations } from './site.js';
28
+ import { SiteOperations, type SiteNtpChangeResult } from './site.js';
29
29
 
30
30
  export interface OmadaClientOptions {
31
31
  baseUrl: string;
@@ -94,6 +94,17 @@ export class OmadaClient {
94
94
  return await this.siteOps.listSites();
95
95
  }
96
96
 
97
+ public async getSiteNtpStatus(siteId?: string): Promise<unknown> {
98
+ return await this.siteOps.getSiteNtpStatus(siteId);
99
+ }
100
+
101
+ public async setSiteNtpServers(
102
+ servers: string[],
103
+ options: { enabled?: boolean; siteId?: string; dryRun?: boolean } = {}
104
+ ): Promise<SiteNtpChangeResult> {
105
+ return await this.siteOps.setSiteNtpServers(servers, options);
106
+ }
107
+
97
108
  // Device operations
98
109
  public async listDevices(siteId?: string): Promise<OmadaDeviceInfo[]> {
99
110
  return await this.deviceOps.listDevices(siteId);
@@ -53,6 +53,13 @@ export class RequestHandler {
53
53
  return await this.request<T>({ method: 'PATCH', url: path, data });
54
54
  }
55
55
 
56
+ /**
57
+ * Make a PUT request to the Omada API.
58
+ */
59
+ public async put<T>(path: string, data?: unknown): Promise<T> {
60
+ return await this.request<T>({ method: 'PUT', url: path, data });
61
+ }
62
+
56
63
  /**
57
64
  * Make a POST request to the Omada API.
58
65
  */
@@ -1,7 +1,145 @@
1
- import type { OmadaSiteSummary } from '../types/index.js';
1
+ import type { OmadaApiResponse, OmadaSiteSummary } from '../types/index.js';
2
2
 
3
3
  import type { RequestHandler } from './request.js';
4
4
 
5
+ /** Omada caps a site's NTP server list at 5 entries. */
6
+ export const MAX_NTP_SERVERS = 5;
7
+
8
+ /**
9
+ * The controller's own pattern for an NTP server address (`ntp server` schema in
10
+ * the Open API spec): 3-64 chars, dot-separated labels. It accepts hostnames and
11
+ * dotted IPv4 alike.
12
+ */
13
+ const NTP_ADDRESS_PATTERN = /^(?=.{3,64}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/;
14
+
15
+ const IPV4_LIKE = /^[0-9.]+$/;
16
+
17
+ /**
18
+ * Validate one NTP server address before it reaches the controller. Anything that
19
+ * looks numeric must be a real IPv4 address (the controller's pattern alone would
20
+ * accept `999.1.1.1`).
21
+ * @returns an error message, or null if the address is acceptable
22
+ */
23
+ export function ntpAddressError(address: string): string | null {
24
+ if (!NTP_ADDRESS_PATTERN.test(address)) {
25
+ return `'${address}' is not a valid NTP server address (expected a hostname or IPv4 address)`;
26
+ }
27
+ if (IPV4_LIKE.test(address)) {
28
+ const octets = address.split('.');
29
+ if (octets.length !== 4 || octets.some((o) => o === '' || Number(o) > 255 || (o.length > 1 && o.startsWith('0')))) {
30
+ return `'${address}' is not a valid IPv4 address`;
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+
36
+ /** Daylight-saving start/end point, identical in the site GET and PUT shapes. */
37
+ export interface DstTime {
38
+ month: number;
39
+ serial: number;
40
+ day: number;
41
+ hour: number;
42
+ minute: number;
43
+ }
44
+
45
+ /** `GET /sites/{siteId}` result (OperationId: getSiteEntity). */
46
+ export interface OmadaSiteInfo {
47
+ siteId?: string;
48
+ name?: string;
49
+ type?: number;
50
+ tagIds?: string[];
51
+ region: string;
52
+ timeZone: string;
53
+ scenario: string;
54
+ ntpEnable?: boolean;
55
+ ntpServers?: string[];
56
+ dst?: {
57
+ enable?: boolean;
58
+ mode?: number;
59
+ start?: DstTime;
60
+ end?: DstTime;
61
+ offset?: number;
62
+ // Read-only fields the PUT does not accept: status, startTime, endTime, nextStart, ...
63
+ [readOnly: string]: unknown;
64
+ };
65
+ longitude?: number;
66
+ latitude?: number;
67
+ address?: string;
68
+ supportES?: boolean;
69
+ supportL2?: boolean;
70
+ }
71
+
72
+ /** `PUT /sites/{siteId}` body (UpdateSiteEntity). */
73
+ export interface SiteUpdateBody {
74
+ name?: string;
75
+ region: string;
76
+ timeZone: string;
77
+ scenario: string;
78
+ tagIds?: string[];
79
+ ntpEnable: boolean;
80
+ ntpServers: Array<{ address: string }>;
81
+ dst?: { enable?: boolean; mode?: number; start?: DstTime; end?: DstTime; offset?: number };
82
+ longitude?: number;
83
+ latitude?: number;
84
+ address?: string;
85
+ supportES?: boolean;
86
+ supportL2?: boolean;
87
+ }
88
+
89
+ export interface SiteNtpChangeResult {
90
+ siteId: string;
91
+ siteName?: string;
92
+ applied: boolean;
93
+ before: { ntpEnable?: boolean; ntpServers: string[] };
94
+ after: { ntpEnable: boolean; ntpServers: string[] };
95
+ /** The exact body sent (or, on a dry run, that would be sent) to PUT /sites/{siteId}. */
96
+ request: SiteUpdateBody;
97
+ }
98
+
99
+ /**
100
+ * Build the full-replacement `PUT /sites/{siteId}` body from the site's current
101
+ * settings, changing only the NTP fields.
102
+ *
103
+ * The PUT replaces the site's settings as a whole (region, timeZone and scenario
104
+ * are required), so every writable field is carried over from the GET. The GET
105
+ * and PUT shapes differ: NTP servers are plain strings on read but
106
+ * `{ address }` objects on write, and the read-only DST fields (status,
107
+ * timestamps) must be dropped.
108
+ */
109
+ export function buildSiteUpdateBody(site: OmadaSiteInfo, ntpServers: string[], ntpEnable: boolean): SiteUpdateBody {
110
+ for (const field of ['region', 'timeZone', 'scenario'] as const) {
111
+ if (typeof site[field] !== 'string' || site[field] === '') {
112
+ throw new Error(`Site info is missing '${field}', which the controller requires to update the site; refusing to write`);
113
+ }
114
+ }
115
+
116
+ const body: SiteUpdateBody = {
117
+ region: site.region,
118
+ timeZone: site.timeZone,
119
+ scenario: site.scenario,
120
+ ntpEnable,
121
+ ntpServers: ntpServers.map((address) => ({ address })),
122
+ };
123
+ if (site.name !== undefined) body.name = site.name;
124
+ if (site.tagIds !== undefined) body.tagIds = site.tagIds;
125
+ if (site.longitude !== undefined) body.longitude = site.longitude;
126
+ if (site.latitude !== undefined) body.latitude = site.latitude;
127
+ if (site.address !== undefined) body.address = site.address;
128
+ if (site.supportES !== undefined) body.supportES = site.supportES;
129
+ if (site.supportL2 !== undefined) body.supportL2 = site.supportL2;
130
+ if (site.dst) {
131
+ const { enable, mode, start, end, offset } = site.dst;
132
+ const dst: NonNullable<SiteUpdateBody['dst']> = {};
133
+ if (enable !== undefined) dst.enable = enable;
134
+ if (mode !== undefined) dst.mode = mode;
135
+ if (start !== undefined) dst.start = start;
136
+ if (end !== undefined) dst.end = end;
137
+ if (offset !== undefined) dst.offset = offset;
138
+ body.dst = dst;
139
+ }
140
+ return body;
141
+ }
142
+
5
143
  /**
6
144
  * Validate a configured default site (`OMADA_SITE_ID`) against the controller's
7
145
  * live site list.
@@ -35,6 +173,9 @@ export function checkConfiguredSite(
35
173
  * Site-related operations for the Omada API.
36
174
  */
37
175
  export class SiteOperations {
176
+ /** Tail of the queued site-settings writes, per site (see withSiteLock). */
177
+ private readonly siteWriteQueues = new Map<string, Promise<void>>();
178
+
38
179
  constructor(
39
180
  private readonly request: RequestHandler,
40
181
  private readonly buildPath: (path: string) => string,
@@ -63,4 +204,126 @@ export class SiteOperations {
63
204
 
64
205
  throw new Error('A site id must be provided either in the environment or as a parameter. Use omada_browse at path / to discover available sites and their IDs.');
65
206
  }
207
+
208
+ /**
209
+ * Get a site's full settings.
210
+ * OperationId: getSiteEntity
211
+ */
212
+ public async getSiteInfo(siteId?: string): Promise<OmadaSiteInfo> {
213
+ const resolvedSiteId = this.resolveSiteId(siteId);
214
+ const response = await this.request.get<OmadaApiResponse<OmadaSiteInfo>>(
215
+ this.buildPath(`/sites/${encodeURIComponent(resolvedSiteId)}`)
216
+ );
217
+ return this.request.ensureSuccess(response);
218
+ }
219
+
220
+ /**
221
+ * Get a site's NTP server status and configuration.
222
+ * OperationId: getNtpStatus
223
+ */
224
+ public async getSiteNtpStatus(siteId?: string): Promise<unknown> {
225
+ const resolvedSiteId = this.resolveSiteId(siteId);
226
+ const response = await this.request.get<OmadaApiResponse<unknown>>(
227
+ this.buildPath(`/sites/${encodeURIComponent(resolvedSiteId)}/setting/ntp`)
228
+ );
229
+ return this.request.ensureSuccess(response);
230
+ }
231
+
232
+ /**
233
+ * Run site-settings writes for one site one at a time, so two read-modify-write
234
+ * calls from this server never interleave (the second reads after the first
235
+ * has written).
236
+ */
237
+ private async withSiteLock<T>(siteId: string, fn: () => Promise<T>): Promise<T> {
238
+ const previous = this.siteWriteQueues.get(siteId) ?? Promise.resolve();
239
+ let release!: () => void;
240
+ const current = new Promise<void>((resolve) => {
241
+ release = resolve;
242
+ });
243
+ const tail = previous.then(() => current);
244
+ this.siteWriteQueues.set(siteId, tail);
245
+ await previous;
246
+ try {
247
+ return await fn();
248
+ } finally {
249
+ release();
250
+ if (this.siteWriteQueues.get(siteId) === tail) {
251
+ this.siteWriteQueues.delete(siteId);
252
+ }
253
+ }
254
+ }
255
+
256
+ /**
257
+ * Set a site's NTP servers (and NTP on/off) by read-modify-write of the site
258
+ * settings: Omada has no NTP-only write, NTP lives on `PUT /sites/{siteId}`.
259
+ * With `dryRun`, returns the exact body without writing.
260
+ *
261
+ * The controller offers no conditional update (no version field or If-Match),
262
+ * so a change made elsewhere between our read and our write would be undone.
263
+ * Writes are serialized per site within this server, and the site is re-read
264
+ * just before the PUT: if anything other than NTP changed since the first
265
+ * read, the write is refused. Only the moment between that re-read and the
266
+ * PUT remains unprotected.
267
+ * OperationId: modifySite
268
+ */
269
+ public async setSiteNtpServers(
270
+ servers: string[],
271
+ options: { enabled?: boolean; siteId?: string; dryRun?: boolean } = {}
272
+ ): Promise<SiteNtpChangeResult> {
273
+ const enabled = options.enabled ?? true;
274
+ if (enabled && servers.length === 0) {
275
+ throw new Error('At least one NTP server is required to enable NTP');
276
+ }
277
+ if (servers.length > MAX_NTP_SERVERS) {
278
+ throw new Error(`Omada allows at most ${MAX_NTP_SERVERS} NTP servers per site (got ${servers.length})`);
279
+ }
280
+ const errors = servers.map(ntpAddressError).filter((e): e is string => e !== null);
281
+ if (errors.length > 0) {
282
+ throw new Error(errors.join('; '));
283
+ }
284
+ if (new Set(servers).size !== servers.length) {
285
+ throw new Error('NTP server list contains duplicates');
286
+ }
287
+
288
+ const resolvedSiteId = this.resolveSiteId(options.siteId);
289
+ if (options.dryRun) {
290
+ return this.planNtpChange(resolvedSiteId, await this.getSiteInfo(resolvedSiteId), servers, enabled);
291
+ }
292
+
293
+ return await this.withSiteLock(resolvedSiteId, async () => {
294
+ const site = await this.getSiteInfo(resolvedSiteId);
295
+ const result = this.planNtpChange(resolvedSiteId, site, servers, enabled);
296
+
297
+ // Re-read right before writing; refuse if a non-NTP setting moved.
298
+ const latest = await this.getSiteInfo(resolvedSiteId);
299
+ if (JSON.stringify(buildSiteUpdateBody(latest, servers, enabled)) !== JSON.stringify(result.request)) {
300
+ throw new Error(
301
+ 'Site settings changed while preparing the NTP update (another change is in progress); nothing was written. Try again.'
302
+ );
303
+ }
304
+
305
+ const response = await this.request.put<OmadaApiResponse<unknown>>(
306
+ this.buildPath(`/sites/${encodeURIComponent(resolvedSiteId)}`),
307
+ result.request
308
+ );
309
+ this.request.ensureSuccess(response);
310
+
311
+ // Report what the controller now holds, not what we asked for.
312
+ const updated = await this.getSiteInfo(resolvedSiteId);
313
+ result.applied = true;
314
+ result.after = { ntpEnable: updated.ntpEnable ?? enabled, ntpServers: updated.ntpServers ?? [] };
315
+ return result;
316
+ });
317
+ }
318
+
319
+ private planNtpChange(siteId: string, site: OmadaSiteInfo, servers: string[], enabled: boolean): SiteNtpChangeResult {
320
+ return {
321
+ siteId,
322
+ siteName: site.name,
323
+ applied: false,
324
+ before: { ntpEnable: site.ntpEnable, ntpServers: site.ntpServers ?? [] },
325
+ after: { ntpEnable: enabled, ntpServers: servers },
326
+ request: buildSiteUpdateBody(site, servers, enabled),
327
+ };
328
+ }
66
329
  }
@@ -77,7 +77,7 @@ function getOmadaInstructions(): string {
77
77
  'RATE LIMITS: Use omada_getRateLimitProfiles before setting limits. omada_setClientRateLimitProfile applies predefined profiles; omada_setClientRateLimit sets custom Kbps values.',
78
78
 
79
79
  // Remote-hands actions (v1.6)
80
- 'ACTIONS: omada_cyclePoePort power-cycles PoE ports (remote-reboots APs/cameras; switch MAC via omada_listDevices). omada_setSsidEnabled toggles an SSID by name (guest WiFi on/off).',
80
+ 'ACTIONS: omada_cyclePoePort power-cycles PoE ports (remote-reboots APs/cameras; switch MAC via omada_listDevices). omada_setSsidEnabled toggles an SSID by name (guest WiFi on/off). omada_setSiteNtpServers sets site NTP.',
81
81
 
82
82
  // Read-only preference
83
83
  'SAFETY: Prefer read-only Omada tools. Rate limits, PoE cycling, and SSID toggles affect real availability - confirm with user before applying.',
@@ -0,0 +1,14 @@
1
+ import type { McpServer } from '@modelcontextprotocol/server';
2
+ import type { OmadaClient } from '../../omadaClient/index.js';
3
+ import { siteInputSchema, toToolResult, wrapToolHandler, Permission } from '../common.js';
4
+
5
+ export function registerGetSiteNtpStatusTool(server: McpServer, client: OmadaClient): void {
6
+ server.registerTool(
7
+ 'omada_getSiteNtpStatus',
8
+ {
9
+ description: 'Get the NTP (network time) server configuration and status for a site',
10
+ inputSchema: siteInputSchema,
11
+ },
12
+ wrapToolHandler('omada_getSiteNtpStatus', async ({ siteId }) => toToolResult(await client.getSiteNtpStatus(siteId)), Permission.QUERY)
13
+ );
14
+ }
@@ -9,6 +9,7 @@ import { logger } from '../../utils/logger.js';
9
9
  import { registerBlockClientTool } from './blockClient.js';
10
10
  import { registerCyclePoePortTool } from './cyclePoePort.js';
11
11
  import { registerOmadaGraphTools } from './graph.js';
12
+ import { registerSetSiteNtpServersTool } from './setSiteNtpServers.js';
12
13
  import { registerSetSsidEnabledTool } from './setSsidEnabled.js';
13
14
  import { registerDisableClientRateLimitTool } from './disableClientRateLimit.js';
14
15
  import { registerGetClientTool } from './getClient.js';
@@ -19,6 +20,7 @@ import { registerGetLanNetworkListTool } from './getLanNetworkList.js';
19
20
  import { registerGetLanProfileListTool } from './getLanProfileList.js';
20
21
  import { registerGetPortForwardingStatusTool } from './getPortForwardingStatus.js';
21
22
  import { registerGetRateLimitProfilesTool } from './getRateLimitProfiles.js';
23
+ import { registerGetSiteNtpStatusTool } from './getSiteNtpStatus.js';
22
24
  import { registerGetSsidDetailTool } from './getSsidDetail.js';
23
25
  import { registerGetSsidListTool } from './getSsidList.js';
24
26
  import { registerGetSwitchStackDetailTool } from './getSwitchStackDetail.js';
@@ -59,7 +61,9 @@ export function registerOmadaTools(
59
61
 
60
62
  // Site tools
61
63
  registerListSitesTool(server, client);
62
- toolCount += 1;
64
+ registerGetSiteNtpStatusTool(server, client);
65
+ registerSetSiteNtpServersTool(server, client);
66
+ toolCount += 3;
63
67
 
64
68
  // Device tools
65
69
  registerListDevicesTool(server, client);
@@ -136,7 +140,8 @@ function registerOmadaToolsGraph(server: McpServer, client: OmadaClient): number
136
140
  registerUnblockClientTool(server, client);
137
141
  registerCyclePoePortTool(server, client);
138
142
  registerSetSsidEnabledTool(server, client);
139
- toolCount += 7;
143
+ registerSetSiteNtpServersTool(server, client);
144
+ toolCount += 8;
140
145
 
141
146
  logger.info('Omada tools registered', { mode: 'graph', toolCount });
142
147
  return toolCount;