botmux 2.77.0 → 2.79.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 (77) hide show
  1. package/dist/bot-registry.d.ts +7 -0
  2. package/dist/bot-registry.d.ts.map +1 -1
  3. package/dist/bot-registry.js +3 -0
  4. package/dist/bot-registry.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +71 -8
  7. package/dist/cli.js.map +1 -1
  8. package/dist/core/command-handler.d.ts.map +1 -1
  9. package/dist/core/command-handler.js +90 -2
  10. package/dist/core/command-handler.js.map +1 -1
  11. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  12. package/dist/core/dashboard-ipc-server.js +4 -0
  13. package/dist/core/dashboard-ipc-server.js.map +1 -1
  14. package/dist/core/session-marker.d.ts +19 -0
  15. package/dist/core/session-marker.d.ts.map +1 -1
  16. package/dist/core/session-marker.js +26 -0
  17. package/dist/core/session-marker.js.map +1 -1
  18. package/dist/core/types.d.ts +11 -0
  19. package/dist/core/types.d.ts.map +1 -1
  20. package/dist/core/types.js.map +1 -1
  21. package/dist/core/worker-pool.d.ts +41 -0
  22. package/dist/core/worker-pool.d.ts.map +1 -1
  23. package/dist/core/worker-pool.js +142 -1
  24. package/dist/core/worker-pool.js.map +1 -1
  25. package/dist/daemon.d.ts.map +1 -1
  26. package/dist/daemon.js +152 -1
  27. package/dist/daemon.js.map +1 -1
  28. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  29. package/dist/dashboard/web/bot-defaults.js +25 -0
  30. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  31. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  32. package/dist/dashboard/web/i18n.js +8 -0
  33. package/dist/dashboard/web/i18n.js.map +1 -1
  34. package/dist/dashboard-web/app.js +283 -270
  35. package/dist/i18n/en.d.ts.map +1 -1
  36. package/dist/i18n/en.js +21 -3
  37. package/dist/i18n/en.js.map +1 -1
  38. package/dist/i18n/zh.d.ts.map +1 -1
  39. package/dist/i18n/zh.js +21 -3
  40. package/dist/i18n/zh.js.map +1 -1
  41. package/dist/im/lark/card-builder.d.ts.map +1 -1
  42. package/dist/im/lark/card-builder.js +91 -11
  43. package/dist/im/lark/card-builder.js.map +1 -1
  44. package/dist/im/lark/card-handler.d.ts.map +1 -1
  45. package/dist/im/lark/card-handler.js +156 -106
  46. package/dist/im/lark/card-handler.js.map +1 -1
  47. package/dist/im/lark/client.d.ts.map +1 -1
  48. package/dist/im/lark/client.js +19 -11
  49. package/dist/im/lark/client.js.map +1 -1
  50. package/dist/im/lark/doc-comment.d.ts +97 -0
  51. package/dist/im/lark/doc-comment.d.ts.map +1 -0
  52. package/dist/im/lark/doc-comment.js +376 -0
  53. package/dist/im/lark/doc-comment.js.map +1 -0
  54. package/dist/im/lark/event-dispatcher.d.ts +18 -0
  55. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  56. package/dist/im/lark/event-dispatcher.js +155 -1
  57. package/dist/im/lark/event-dispatcher.js.map +1 -1
  58. package/dist/services/card-prefs-store.d.ts +2 -0
  59. package/dist/services/card-prefs-store.d.ts.map +1 -1
  60. package/dist/services/card-prefs-store.js +16 -0
  61. package/dist/services/card-prefs-store.js.map +1 -1
  62. package/dist/services/doc-subs-store.d.ts +43 -0
  63. package/dist/services/doc-subs-store.d.ts.map +1 -0
  64. package/dist/services/doc-subs-store.js +83 -0
  65. package/dist/services/doc-subs-store.js.map +1 -0
  66. package/dist/setup/verify-permissions.d.ts +4 -0
  67. package/dist/setup/verify-permissions.d.ts.map +1 -1
  68. package/dist/setup/verify-permissions.js +21 -0
  69. package/dist/setup/verify-permissions.js.map +1 -1
  70. package/dist/types.d.ts +14 -0
  71. package/dist/types.d.ts.map +1 -1
  72. package/dist/utils/user-token.d.ts +11 -1
  73. package/dist/utils/user-token.d.ts.map +1 -1
  74. package/dist/utils/user-token.js +20 -2
  75. package/dist/utils/user-token.js.map +1 -1
  76. package/dist/workflows/definition.d.ts +8 -8
  77. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/im/lark/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAc,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAc,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAInF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,CAAM,EAAE,GAAW,EAAE,SAA4B,EAAE;IAC/E,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,gFAAgF;AAChF,IAAI,aAAa,GAAwF,IAAI,CAAC;AAC9G,SAAS,gBAAgB;IACvB,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,aAAa,GAAG,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7C,KAAK,EAAE,GAAG,CAAC,SAAS;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;SACzJ,CAAC,CAAC,CAAC;IACN,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,iFAAiF;AAEjF,4EAA4E;AAC5E,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,SAAiB;QAC3B,KAAK,CAAC,WAAW,SAAS,qBAAqB,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,4DAA4D;AAC5D,SAAS,gBAAgB,CAAC,GAAQ;IAChC,OAAO,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC;AAChD,CAAC;AAED,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAe,EAAE,UAAkB,MAAM,EAAE,IAAa,EAAE,WAAqC;IAClK,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE9E,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;YACjC,MAAM,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE;YACtC,IAAI,EAAE;gBACJ,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,OAAc;gBACxB,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,2BAA2B,EAAE,CAAC;YAC1D,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,KAAK,2BAA2B;YAAE,MAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;IACvC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,CAAC,gBAAgB,SAAS,YAAY,MAAM,EAAE,CAAC,CAAC;IAC3D,aAAa,CAAC,eAAe,EAAE;QAC7B,GAAG,WAAW;QACd,SAAS;QACT,MAAM;QACN,SAAS;QACT,OAAO;QACP,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAe,EAAE,UAAkB,MAAM,EAAE,gBAAyB,KAAK,EAAE,IAAa,EAAE,WAAqC;IACtM,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE9E,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;YAC/B,IAAI,EAAE;gBACJ,QAAQ,EAAE,OAAc;gBACxB,OAAO,EAAE,IAAI;gBACb,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,2BAA2B,EAAE,CAAC;YAC1D,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,KAAK,2BAA2B;YAAE,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;IACrC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjE,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,eAAe,SAAS,aAAa,OAAO,mBAAmB,aAAa,GAAG,CAAC,CAAC;IAC/G,aAAa,CAAC,gBAAgB,EAAE;QAC9B,GAAG,WAAW;QACd,SAAS;QACT,SAAS;QACT,OAAO;QACP,OAAO;QACP,aAAa;QACb,IAAI;QACJ,OAAO;KACR,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,SAAiB,EAAE,SAAiB;IACvF,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAO,CAAS,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;QACxD,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;QAC/B,IAAI,EAAE,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE;KACnD,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC;IACzC,MAAM,CAAC,IAAI,CAAC,kBAAkB,SAAS,KAAK,UAAU,gBAAgB,SAAS,EAAE,CAAC,CAAC;IACnF,OAAO,UAAU,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,SAAiB,EAAE,SAAiB,EAAE,UAAkB;IAC3F,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAO,CAAS,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;QACxD,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE;KACzD,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,oBAAoB,UAAU,iBAAiB,SAAS,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAiB,EACjB,MAAc;IAEd,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,+BAA+B,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;YACxF,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QACH,IAAI,GAAG,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,IAAI,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;YAClH,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAuB,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC9D,OAAO,OAAO,IAAI,IAAI,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;2CAC2C;AAC3C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuD,CAAC;AACxF,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,MAAc,EACd,SAAiC,SAAS;IAE1C,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IAClC,IAAI,GAAG,GAAgD,IAAI,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,+BAA+B,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;YACxF,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;YACZ,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC;QACtG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,mCAAmC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1H,CAAC;IACD,IAAI,gBAAgB,CAAC,IAAI,IAAI,sBAAsB;QAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAC9E,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,MAAc;IACnE,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,+BAA+B,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE;YACxF,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAc,EAAE,OAAe,EAAE,UAAkB,MAAM;IAChH,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAE9E,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QACvC,MAAM,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE;QACtC,IAAI,EAAE;YACJ,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,OAAc;YACxB,OAAO,EAAE,IAAI;SACd;KACF,CAAC,CAAC;IAEH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;IACvC,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC7D,MAAM,CAAC,IAAI,CAAC,WAAW,SAAS,YAAY,MAAM,EAAE,CAAC,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc;IACjE,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrF,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,gFAAgF;IAChF,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,MAAc;IAC3E,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,SAA6B,CAAC;IAClC,2EAA2E;IAC3E,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;QACrC,MAAM,MAAM,GAA2B,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACvF,IAAI,SAAS;YAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;QAC7C,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACrG,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QACjF,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;YACzC,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,CAAC;YACzB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU;YAAE,MAAM;QACxD,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IAClC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;qBAMqB;AACrB,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,MAAc;IACjE,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAeD,6EAA6E;AAC7E,+EAA+E;AAC/E,MAAM,aAAa,GAAG,IAAI,UAAU,CAA6B,IAAI,CAAC,CAAC;AACvE,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,MAAc;IAEd,MAAM,QAAQ,GAAG,GAAG,SAAS,KAAK,MAAM,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,IAAI,GAAa,OAAO,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACxE,qDAAqD;YACrD,IAAI,OAAO,KAAK,KAAK;gBAAE,IAAI,GAAG,KAAK,CAAC;iBAC/B,IAAI,OAAO,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ;gBAAE,IAAI,GAAG,OAAO,CAAC;;gBAC/D,IAAI,GAAG,OAAO,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAClE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAkBD,MAAM,aAAa,GAAG,IAAI,UAAU,CAA+C,IAAI,CAAC,CAAC;AACzF,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,uEAAuE;AAE/G;;;;;;;;;yBASyB;AACzB;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAc;IACvE,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,aAAa,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACnF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,0EAA0E;QAC1E,6EAA6E;QAC7E,kEAAkE;QAClE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAChE,oEAAoE;QACpE,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,IAAI,IAAc,CAAC;QACnB,IAAI,OAAO,KAAK,KAAK;YAAE,IAAI,GAAG,KAAK,CAAC;aAC/B,IAAI,OAAO,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ;YAAE,IAAI,GAAG,OAAO,CAAC;aAC/D,IAAI,OAAO,KAAK,OAAO;YAAE,IAAI,GAAG,OAAO,CAAC;aACxC,CAAC;YACJ,yEAAyE;YACzE,qEAAqE;YACrE,sEAAsE;YACtE,0EAA0E;YAC1E,4DAA4D;YAC5D,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,6BAA6B,OAAO,yBAAyB,CAAC,CAAC;YACtG,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,qBAAqB,MAAM,cAAc,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,MAAc;IACjE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,KAAK,MAAM,EAAE,CAAC,CAAC;IAC5D,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,gBAAgB;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,SAAiB,EACjB,MAAc,EACd,UAAsC,EAAE;IAExC,MAAM,QAAQ,GAAG,GAAG,SAAS,KAAK,MAAM,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,gBAAgB,EAAE,CAAC;QACvF,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,8EAA8E;IAC9E,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1D,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,IAAI,GAAa,OAAO,CAAC;IAC/B,MAAM,CAAC,IAAI,CAAC,eAAe,MAAM,wCAAwC,CAAC,CAAC;IAC3E,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,SAAiB;IACtE,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAQ,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACnF,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,4BAA4B,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;YACjG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,4BAA4B,SAAS,KAAK,GAAG,EAAE,CAAC,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,SAAiB,EAAE,MAAc,EAAE,MAAc,EAAE,QAAgB;IAEnE,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,GAAG,GAAQ,MAAO,CAAS,CAAC,OAAO,CAAC;QACxC,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,8BAA8B;QACnC,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE;KAC1E,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;IACvC,MAAM,CAAC,IAAI,CAAC,uBAAuB,SAAS,IAAI,SAAS,OAAO,MAAM,YAAY,MAAM,EAAE,CAAC,CAAC;IAC5F,OAAO,SAAS,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAAgB;IACxF,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YAChC,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;YAC/B,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,2BAA2B,EAAE,CAAC;YAC1D,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,IAAI,KAAK,2BAA2B;YAAE,MAAM,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EACjB,SAAiB,EACjB,UAAyC,EAAE;IAE3C,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,yEAAyE;IACzE,4EAA4E;IAC5E,+DAA+D;IAC/D,wEAAwE;IACxE,uEAAuE;IACvE,oEAAoE;IACpE,0DAA0D;IAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC;IACxD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,6BAA6B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAAE;QACzF,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAe,EAAE,IAAsB,EAAE,QAAgB;IAC3I,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB;IACtB,IAAI,CAAC;QACH,MAAM,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC1E,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,OAAO,MAAM,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAAC,OAAO,MAAW,EAAE,CAAC;QACrB,qEAAqE;QACrE,MAAM,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,EAAE,QAAQ,EAAE,UAAU;eAClE,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,UAAU,CAAC;QAC1C,qFAAqF;QACrF,IAAI,MAAM,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM,MAAM,CAAC;QAC7D,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,IAAI,SAAS,kCAAkC,CAAC,CAAC;IACpG,CAAC;IAED,kDAAkD;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAChG,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,qBAAqB,CAC7B,uCAAuC;YACvC,yBAAyB,CAC1B,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAClF,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,OAAO,MAAM,QAAQ,mBAAmB,CAAC,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAe,EAAE,IAAsB,EAAE,QAAgB;IACjI,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,uEAAuE;IACvE,0EAA0E;IAC1E,2EAA2E;IAC3E,qEAAqE;IACrE,MAAM,GAAG,GAAG,MAAO,CAAS,CAAC,OAAO,CAAC;QACnC,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,6BAA6B,kBAAkB,CAAC,SAAS,CAAC,cAAc,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAC1G,MAAM,EAAE,EAAE,IAAI,EAAE;QAChB,YAAY,EAAE,QAAQ;KACvB,CAAC,CAAC;IACH,MAAM,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,SAAiB,EAAE,SAAiB,EAAE,OAAe,EAAE,IAAsB,EAAE,QAAgB,EAAE,QAAe,QAAQ;IAC3J,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,6BAA6B,SAAS,cAAc,OAAO,SAAS,IAAI,EAAE,CAAC;IAClH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE;KAClD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,MAAM,IAAI,qBAAqB,CAAC,kDAAkD,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACjD,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAQ,EAAE,QAAgB;IAC3D,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;QAC1B,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QAChE,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,0EAA0E;QAC1E,sEAAsE;QACtE,2EAA2E;QAC3E,2EAA2E;QAC3E,0CAA0C;QAC1C,MAAM,QAAQ,CAAC,GAA4B,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAA2B;IAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC7C,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IAC5D,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;CAC9B,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAiB,EAAE,SAAiB;IACpE,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,qEAAqE;IACrE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC;QACrC,IAAI,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;KAC5C,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,GAAG,EAAE,SAAS,CAAC;IAChC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5G,MAAM,CAAC,IAAI,CAAC,kBAAkB,SAAS,MAAM,QAAQ,EAAE,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,QAAgB,EAAE,IAA4B;IAChG,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC;IACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpC,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,QAAQ,GAAG,QAAQ,KAAK,MAAM,IAAI,IAAI,EAAE,QAAQ;QACpD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,SAAS,CAAC;IACd,oEAAoE;IACpE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,EAAE,SAAS,EAAE,QAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;KACxG,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,GAAG,EAAE,QAAQ,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzG,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,MAAM,OAAO,EAAE,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAiB,EAAE,GAAa;IAEhC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,8CAA8C;YAC9C,mDAAmD;YACnD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAEpF,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAElC,0DAA0D;IAC1D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAO,CAAS,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC/C,IAAI,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;gBACtB,MAAM,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE;aACrC,CAAC,CAAC;YACH,MAAM,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAA6B,CAAC;YAC3D,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,YAAY,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,gBAAgB,GAAG,EAAE,GAAG,WAAW,GAAG,EAAE,IAAI,GAAG,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,oBAAoB,GAAG,YAAY,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAO,CAAS,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACtD,MAAM,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE;YACnC,IAAI,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE;SAC1C,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,yCAAyC,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACpF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,QAAQ,GAAU,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;QAClD,kEAAkE;QAClE,0DAA0D;QAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK;gBAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;iBACtF,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/C,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC,IAAI,CAAC,YAAY,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,MAAc;IACxE,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,GAAG,GAAG,MAAO,CAAS,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/C,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;YACzB,MAAM,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE;SACpC,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE,CAAC;QACjG,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,uBAAuB,SAAS,cAAc,MAAM,qBAAqB;gBACnF,oDAAoD,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,SAAiB,EAAE,GAAa;IACxE,OAAO,CAAC,MAAM,0BAA0B,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,MAAc,EAAE,aAAqB,EAAE,WAAmB,EAAE;IACtH,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAElC,6DAA6D;IAC7D,uFAAuF;IACvF,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAEzD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7C,CAAC;IACD,qDAAqD;IACrD,OAAO,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AAC9D,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,eAAe,CAAC,CAAM,EAAE,aAAqB;IAC1D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,6BAA6B,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC/F,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;6EAC6E;AAC7E,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,yEAAyE;AACzE,KAAK,UAAU,YAAY,CAAC,CAAM,EAAE,QAAgB,EAAE,QAAgB;IACpE,MAAM,WAAW,GAAU,EAAE,CAAC;IAC9B,IAAI,SAA6B,CAAC;IAElC,GAAG,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,2BAA2B,EAAE;YACxD,iBAAiB,EAAE,QAAQ;YAC3B,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,0BAA0B,CAAC;YACzD,SAAS,EAAE,iBAAiB;YAC5B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;QACjC,IAAI,WAAW,CAAC,MAAM,IAAI,QAAQ;YAAE,MAAM;IAC5C,CAAC,QAAQ,SAAS,EAAE;IAEpB,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED;;;;;gDAKgD;AAChD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,SAAiB,EAAE,MAAc,EAAE,WAAmB,EAAE;IAExD,MAAM,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,WAAW,GAAU,EAAE,CAAC;IAC9B,IAAI,SAA6B,CAAC;IAElC,GAAG,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,2BAA2B,EAAE;YACxD,iBAAiB,EAAE,MAAM;YACzB,YAAY,EAAE,MAAM;YACpB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,0BAA0B,CAAC;YACzD,SAAS,EAAE,kBAAkB;YAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;QACjC,IAAI,WAAW,CAAC,MAAM,IAAI,QAAQ;YAAE,MAAM;IAC5C,CAAC,QAAQ,SAAS,EAAE;IAEpB,wEAAwE;IACxE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;AAClD,CAAC;AAgBD,MAAM,UAAU,yBAAyB,CACvC,QAAe,EACf,QAAgB,EAChB,UAAwF,EAAE;IAE1F,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,IAAI,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAE1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE;QAC1C,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACxE,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACxC,qEAAqE;YACrE,uEAAuE;YACvE,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAK,QAAmB;gBAAE,OAAO,KAAK,CAAC;QACpF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,SAAiB,EACjB,MAAc,EACd,WAAmB,EAAE,EACrB,UAAqC,EAAE;IAEvC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACrG,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACjE,OAAO,yBAAyB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,0DAA0D;AAC1D,KAAK,UAAU,gBAAgB,CAAC,CAAM,EAAE,MAAc,EAAE,aAAqB,EAAE,QAAgB;IAC7F,MAAM,WAAW,GAAU,EAAE,CAAC;IAC9B,IAAI,SAA6B,CAAC;IAElC,GAAG,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,EAAE,2BAA2B,EAAE;YACxD,iBAAiB,EAAE,MAAM;YACzB,YAAY,EAAE,MAAM;YACpB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,0BAA0B,CAAC;YACzD,SAAS,EAAE,kBAAkB;YAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACpB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,UAAU,KAAK,aAAa,IAAI,IAAI,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;oBACxE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC;QACjC,IAAI,WAAW,CAAC,MAAM,IAAI,QAAQ;YAAE,MAAM;IAC5C,CAAC,QAAQ,SAAS,EAAE;IAEpB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IACrF,OAAO,WAAW,CAAC;AACrB,CAAC;AAwCD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,SAAiB,EAAE,MAAc;IACxE,iFAAiF;IACjF,iFAAiF;IACjF,0EAA0E;IAC1E,yCAAyC;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,SAAS,OAAO,CAAC,CAAC;QACnF,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAA2B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;YACrF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAExB,iEAAiE;IACjE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgE,CAAC;IAC5F,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAChE,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAmF,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5I,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAiC,EAAE;QAC5E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC7G,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACpC,2EAA2E;gBAC3E,MAAM,QAAQ,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtF,MAAM,MAAM,GAAG,QAAQ,IAAI,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC;gBACpD,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC;gBACnC,mEAAmE;gBACnE,mEAAmE;gBACnE,yEAAyE;gBACzE,MAAM,aAAa,GAAmC,QAAQ;oBAC5D,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC5C,MAAM,WAAW,GAAG,MAAM,IAAI,aAAa,KAAK,WAAW,CAAC;gBAC5D,OAAO;oBACL,SAAS,EAAE,KAAK;oBAChB,MAAM;oBACN,IAAI,EAAE,KAAK;oBACX,WAAW,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK;oBACnC,MAAM,EAAE,YAAY;oBACpB,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,SAAS;oBACxE,WAAW,EAAE,mBAAmB,CAAC,KAAK,CAAC,KAAK,IAAI;oBAChD,WAAW;oBACX,aAAa;iBACd,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CACH,CAAC;IACF,MAAM,UAAU,GAAoB,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAEpG,4EAA4E;IAC5E,0EAA0E;IAC1E,8BAA8B;IAC9B,+EAA+E;IAC/E,0EAA0E;IAC1E,uEAAuE;IACvE,6EAA6E;IAC7E,+EAA+E;IAC/E,mEAAmE;IACnE,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACjF,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAyC,CAAC;QAC9E,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;gBACpD,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,GAAG;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAAM,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,CAAC,IAAI,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,SAAS;YACxC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,2DAA2D;gBAC3D,IAAI,GAAG,CAAC,aAAa,KAAK,WAAW,EAAE,CAAC;oBACtC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;oBACpG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5B,CAAC;gBACD,SAAS,CAAC,uDAAuD;YACnE,CAAC;YACD,UAAU,CAAC,IAAI,CAAC;gBACd,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,IAAI;gBACnB,MAAM,EAAE,WAAW;gBACnB,WAAW,EAAE,KAAK;gBAClB,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,UAAU;aAC1B,CAAC,CAAC;YACH,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,oCAAoC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/im/lark/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * bot 回复的隐形哨兵:追加在 bot 发表的评论末尾(零宽字符,用户不可见)。
3
+ *
4
+ * 为什么需要:bot 用 **user_access_token** 发评论 → 评论作者 = 授权用户本人,
5
+ * 无法靠「作者是不是 bot」区分「bot 的回复」和「用户自己的评论」。若不区分,
6
+ * bot 发评论 → 触发 comment_add 事件 → 又喂给 bot → 死循环。
7
+ *
8
+ * 双保险:① 记录 bot 创建过的 reply_id({@link isBotAuthoredReply},同一 daemon
9
+ * 生命周期内权威)② 文本末尾哨兵(跨重启 / reply_id 拿不到时的兜底)。
10
+ */
11
+ export declare const BOT_REPLY_SENTINEL = "\u200B\u2063\u200B";
12
+ export declare function markBotAuthoredReply(id: string): void;
13
+ export declare function isBotAuthoredReply(id: string | undefined): boolean;
14
+ export declare function hasBotSentinel(text: string | undefined): boolean;
15
+ /** 飞书云文档评论里富文本元素的最小子集(够 bot 发纯文本 + @人)。 */
16
+ export interface CommentElement {
17
+ type: 'text_run' | 'person' | 'docs_link';
18
+ text_run?: {
19
+ text: string;
20
+ };
21
+ person?: {
22
+ user_id: string;
23
+ };
24
+ docs_link?: {
25
+ url: string;
26
+ };
27
+ }
28
+ /** 一条评论(含其下回复)的归一化形态,listDocComments 返回。 */
29
+ export interface DocComment {
30
+ commentId: string;
31
+ /** 评论是否已解决。 */
32
+ isSolved: boolean;
33
+ /** 该评论 thread 下所有回复(飞书把评论建模成 reply_list)。 */
34
+ replies: Array<{
35
+ replyId: string;
36
+ /** 发表者 open_id(user_id_type=open_id 时)。 */
37
+ userId?: string;
38
+ /** 纯文本内容(拼接所有 text_run)。 */
39
+ text: string;
40
+ /** 该回复 @ 到的 open_id 列表(从 person 元素提取)。 */
41
+ mentions: string[];
42
+ createdAt?: number;
43
+ }>;
44
+ }
45
+ export interface ResolvedDocFile {
46
+ fileToken: string;
47
+ /** 飞书 file_type:docx / doc / sheet / bitable / file / slides。本特性主攻 docx。 */
48
+ fileType: string;
49
+ }
50
+ /**
51
+ * 把用户输入解析成 { kind, token }。支持完整飞书链接、`/docx/<token>` 片段、
52
+ * 或裸 token(裸 token 当 docx 处理)。`wiki` 类型需要再过一次节点解析(见
53
+ * {@link resolveDocFile})。无法识别返回 null。
54
+ */
55
+ export declare function parseDocRef(input: string): {
56
+ kind: string;
57
+ token: string;
58
+ } | null;
59
+ /**
60
+ * 解析成可直接调评论 / 订阅 API 的 { fileToken, fileType }。wiki 节点先调
61
+ * get_node 换出底层 obj_token + obj_type;其余类型直接映射。
62
+ */
63
+ export declare function resolveDocFile(larkAppId: string, input: string): Promise<ResolvedDocFile>;
64
+ /** 订阅文档事件(评论新增等靠此推送)。幂等:重复订阅飞书返回成功。 */
65
+ export declare function subscribeDocFile(larkAppId: string, file: ResolvedDocFile): Promise<void>;
66
+ /** 退订文档事件。best-effort:失败只告警不抛。 */
67
+ export declare function unsubscribeDocFile(larkAppId: string, file: ResolvedDocFile): Promise<void>;
68
+ /**
69
+ * 读某条评论(含其下所有回复)。用于事件来后取 thread 上下文 + 判断是否 @bot。
70
+ * 拿不到返回 null。
71
+ */
72
+ export declare function getDocComment(larkAppId: string, file: ResolvedDocFile, commentId: string): Promise<DocComment | null>;
73
+ /**
74
+ * 往**已有评论 thread 里追加一条回复**(真正的嵌套回复,用户看到 bot 的回复
75
+ * 就挂在自己那条评论下面)。
76
+ *
77
+ * 端点 `POST .../comments/{comment_id}/replies` 是飞书 drive-v1 的公开 API
78
+ * (file.comment.reply.create)—— 我们装的 node-sdk 1.64.0 恰好没暴露 create,
79
+ * 但裸 endpoint 存在,故这里直接打。返回新回复的 reply_id(已登记防自触发)。
80
+ */
81
+ export declare function replyToDocComment(larkAppId: string, file: ResolvedDocFile, commentId: string, text: string, mentionOpenId?: string): Promise<{
82
+ replyId?: string;
83
+ commentId?: string;
84
+ }>;
85
+ /**
86
+ * 新建一条**全文评论**(独立的新评论,非嵌套)。用于没有可挂靠 comment_id 的
87
+ * 场景(如主动向文档发评论)。返回 comment_id。
88
+ */
89
+ export declare function createDocComment(larkAppId: string, file: ResolvedDocFile, text: string, mentionOpenId?: string): Promise<{
90
+ commentId: string;
91
+ replyId?: string;
92
+ }>;
93
+ /** 飞书文档评论内容长度上限的保守值,超长 bot 回复按此分块发多条评论。 */
94
+ export declare const DOC_COMMENT_MAX_CHARS = 3000;
95
+ /** 把长文本按 {@link DOC_COMMENT_MAX_CHARS} 切块(尽量按段落/换行边界)。 */
96
+ export declare function chunkCommentText(text: string, max?: number): string[];
97
+ //# sourceMappingURL=doc-comment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-comment.d.ts","sourceRoot":"","sources":["../../../src/im/lark/doc-comment.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,376 @@
1
+ /**
2
+ * 飞书云文档「评论」桥接 —— 把一个 docx 文档变成会话的输入/输出通道。
3
+ *
4
+ * 这一层封装四件事:
5
+ * 1. 把用户贴的文档链接 / token 解析成 { fileToken, fileType }(含 wiki 节点解析)
6
+ * 2. 订阅 / 退订文档事件(评论新增等靠此推送)
7
+ * 3. 读评论(取上下文 / 解析 @bot)
8
+ * 4. 回评论(bot 的回复落点 —— 注意飞书无「往已有评论追加回复」的公开 API,
9
+ * 只能新建一条全文评论,见 {@link createDocComment})
10
+ *
11
+ * 身份:评论 / 订阅事件官方推荐 user_access_token(文档可见性跟着授权用户走)。
12
+ * 因此所有调用 **优先 user token**(裸 fetch + Bearer),失败再回退 tenant(SDK
13
+ * client.request,自动带 tenant_access_token)。和 client.ts 的资源下载同套路,
14
+ * 只是 app/user 的优先级反过来。
15
+ */
16
+ import { getBotClient, getBot } from '../../bot-registry.js';
17
+ import { resolveUserToken } from '../../utils/user-token.js';
18
+ import { logger } from '../../utils/logger.js';
19
+ import { UserTokenMissingError } from './client.js';
20
+ import { larkHosts, normalizeBrand } from './lark-hosts.js';
21
+ /**
22
+ * bot 回复的隐形哨兵:追加在 bot 发表的评论末尾(零宽字符,用户不可见)。
23
+ *
24
+ * 为什么需要:bot 用 **user_access_token** 发评论 → 评论作者 = 授权用户本人,
25
+ * 无法靠「作者是不是 bot」区分「bot 的回复」和「用户自己的评论」。若不区分,
26
+ * bot 发评论 → 触发 comment_add 事件 → 又喂给 bot → 死循环。
27
+ *
28
+ * 双保险:① 记录 bot 创建过的 reply_id({@link isBotAuthoredReply},同一 daemon
29
+ * 生命周期内权威)② 文本末尾哨兵(跨重启 / reply_id 拿不到时的兜底)。
30
+ */
31
+ export const BOT_REPLY_SENTINEL = '​⁣​';
32
+ /** 记录 / 查询 bot 自己创建的评论回复 id(防自触发死循环)。环形上限防泄漏。 */
33
+ const botAuthoredReplyIds = [];
34
+ const BOT_AUTHORED_MAX = 2000;
35
+ export function markBotAuthoredReply(id) {
36
+ if (!id)
37
+ return;
38
+ botAuthoredReplyIds.push(id);
39
+ if (botAuthoredReplyIds.length > BOT_AUTHORED_MAX)
40
+ botAuthoredReplyIds.splice(0, botAuthoredReplyIds.length - BOT_AUTHORED_MAX);
41
+ }
42
+ export function isBotAuthoredReply(id) {
43
+ return !!id && botAuthoredReplyIds.includes(id);
44
+ }
45
+ export function hasBotSentinel(text) {
46
+ return !!text && text.includes(BOT_REPLY_SENTINEL);
47
+ }
48
+ // ─── URL / token 解析 ──────────────────────────────────────────────────────────
49
+ const URL_TYPE_RE = /\/(docx|docs|wiki|sheets|base|bitable|file|slides|mindnote)\/([A-Za-z0-9]+)/;
50
+ const RAW_TOKEN_RE = /^[A-Za-z0-9]{20,}$/;
51
+ /** URL path 段的类型 → 飞书 file_type。 */
52
+ function pathKindToFileType(kind) {
53
+ switch (kind) {
54
+ case 'docx': return 'docx';
55
+ case 'docs': return 'doc';
56
+ case 'sheets': return 'sheet';
57
+ case 'base':
58
+ case 'bitable': return 'bitable';
59
+ case 'slides': return 'slides';
60
+ case 'mindnote': return 'mindnote';
61
+ case 'file': return 'file';
62
+ default: return kind;
63
+ }
64
+ }
65
+ /**
66
+ * 把用户输入解析成 { kind, token }。支持完整飞书链接、`/docx/<token>` 片段、
67
+ * 或裸 token(裸 token 当 docx 处理)。`wiki` 类型需要再过一次节点解析(见
68
+ * {@link resolveDocFile})。无法识别返回 null。
69
+ */
70
+ export function parseDocRef(input) {
71
+ const s = input.trim();
72
+ const m = s.match(URL_TYPE_RE);
73
+ if (m)
74
+ return { kind: m[1], token: m[2] };
75
+ if (RAW_TOKEN_RE.test(s))
76
+ return { kind: 'docx', token: s };
77
+ return null;
78
+ }
79
+ /**
80
+ * 解析成可直接调评论 / 订阅 API 的 { fileToken, fileType }。wiki 节点先调
81
+ * get_node 换出底层 obj_token + obj_type;其余类型直接映射。
82
+ */
83
+ export async function resolveDocFile(larkAppId, input) {
84
+ const ref = parseDocRef(input);
85
+ if (!ref)
86
+ throw new Error(`无法从「${input.slice(0, 40)}」识别出飞书文档链接或 token`);
87
+ if (ref.kind === 'wiki') {
88
+ const res = await driveApiCall(larkAppId, {
89
+ method: 'GET',
90
+ path: '/open-apis/wiki/v2/spaces/get_node',
91
+ params: { token: ref.token, obj_type: 'wiki' },
92
+ });
93
+ const node = res?.data?.node;
94
+ if (!node?.obj_token || !node?.obj_type) {
95
+ throw new Error(`wiki 节点 ${ref.token} 解析失败(缺 obj_token/obj_type)`);
96
+ }
97
+ return { fileToken: node.obj_token, fileType: node.obj_type };
98
+ }
99
+ return { fileToken: ref.token, fileType: pathKindToFileType(ref.kind) };
100
+ }
101
+ function buildQuery(params) {
102
+ if (!params)
103
+ return '';
104
+ const usp = new URLSearchParams();
105
+ for (const [k, v] of Object.entries(params)) {
106
+ if (v !== undefined)
107
+ usp.set(k, String(v));
108
+ }
109
+ const q = usp.toString();
110
+ return q ? `?${q}` : '';
111
+ }
112
+ /**
113
+ * 调一个 drive/wiki OpenAPI。优先 user token(裸 fetch),拿不到 token 或遇
114
+ * 401/403 时回退 tenant(SDK client.request 自带 tenant_access_token + GET
115
+ * 空 body 守卫)。返回飞书统一响应体 `{ code, msg, data }`。
116
+ */
117
+ async function driveApiCall(larkAppId, opts) {
118
+ const bot = getBot(larkAppId);
119
+ const brand = normalizeBrand(bot.config.brand);
120
+ // tenant(应用身份):走 SDK client.request(带 token/缓存/GET 空 body 守卫)。
121
+ const callTenant = async () => {
122
+ const c = getBotClient(larkAppId);
123
+ return c.request({
124
+ method: opts.method,
125
+ url: opts.path,
126
+ params: opts.params,
127
+ ...(opts.data !== undefined ? { data: opts.data } : {}),
128
+ });
129
+ };
130
+ const callUser = async () => {
131
+ const userToken = await resolveUserToken(bot.config.larkAppId, bot.config.larkAppSecret, brand);
132
+ if (!userToken)
133
+ throw new UserTokenMissingError('该操作需要 User Token(请在话题中 /login 授权)。');
134
+ return fetchWithUserToken(brand, userToken, opts);
135
+ };
136
+ if (opts.userOnly)
137
+ return callUser();
138
+ // 发评论:优先应用身份(回复显示为 bot),bot 无访问权(抛错或 code!=0)时回退用户身份。
139
+ if (opts.preferTenant) {
140
+ try {
141
+ const res = await callTenant();
142
+ if (res?.code === 0)
143
+ return res;
144
+ logger.debug(`[doc-comment] tenant call code=${res?.code} (${opts.path});回退 user 身份`);
145
+ }
146
+ catch (err) {
147
+ logger.debug(`[doc-comment] tenant call threw (${opts.path});回退 user 身份:${err instanceof Error ? err.message : err}`);
148
+ }
149
+ return callUser();
150
+ }
151
+ // 默认:优先 user(有 token),401/403 回退 tenant。
152
+ const userToken = await resolveUserToken(bot.config.larkAppId, bot.config.larkAppSecret, brand);
153
+ if (userToken) {
154
+ try {
155
+ return await fetchWithUserToken(brand, userToken, opts);
156
+ }
157
+ catch (err) {
158
+ if (!(err instanceof UserTokenMissingError))
159
+ throw err;
160
+ logger.debug(`[doc-comment] user token rejected (${opts.path}); falling back to tenant`);
161
+ }
162
+ }
163
+ return callTenant();
164
+ }
165
+ async function fetchWithUserToken(brand, userToken, opts) {
166
+ const url = `${larkHosts(brand).openApi}${opts.path}${buildQuery(opts.params)}`;
167
+ const res = await fetch(url, {
168
+ method: opts.method,
169
+ headers: {
170
+ Authorization: `Bearer ${userToken}`,
171
+ ...(opts.data !== undefined ? { 'Content-Type': 'application/json' } : {}),
172
+ },
173
+ ...(opts.data !== undefined ? { body: JSON.stringify(opts.data) } : {}),
174
+ });
175
+ if (res.status === 401) {
176
+ throw new UserTokenMissingError('User Token 已失效(HTTP 401)。请在话题中 /login 重新授权。');
177
+ }
178
+ if (res.status === 403) {
179
+ // token 有效但无权访问该文档 —— 视作可回退(也许 tenant 有权)
180
+ throw new UserTokenMissingError(`User Token 无权访问该文档(HTTP 403)。`);
181
+ }
182
+ const body = await res.json().catch(() => ({}));
183
+ if (!res.ok) {
184
+ throw new Error(`drive API ${opts.path} HTTP ${res.status}: ${body?.msg ?? ''}`);
185
+ }
186
+ return body;
187
+ }
188
+ function ensureOk(res, what) {
189
+ if (res?.code !== 0) {
190
+ throw new Error(`${what} 失败: ${res?.msg ?? 'unknown'} (code: ${res?.code})`);
191
+ }
192
+ return res.data;
193
+ }
194
+ // ─── 订阅 / 退订 ────────────────────────────────────────────────────────────────
195
+ /** 订阅文档事件(评论新增等靠此推送)。幂等:重复订阅飞书返回成功。 */
196
+ export async function subscribeDocFile(larkAppId, file) {
197
+ const res = await driveApiCall(larkAppId, {
198
+ method: 'POST',
199
+ path: `/open-apis/drive/v1/files/${encodeURIComponent(file.fileToken)}/subscribe`,
200
+ params: { file_type: file.fileType },
201
+ });
202
+ ensureOk(res, '订阅文档');
203
+ logger.info(`[doc-comment] subscribed file=${file.fileToken.slice(0, 12)} type=${file.fileType}`);
204
+ }
205
+ /** 退订文档事件。best-effort:失败只告警不抛。 */
206
+ export async function unsubscribeDocFile(larkAppId, file) {
207
+ try {
208
+ // 飞书取消订阅是 DELETE .../delete_subscribe(不是 DELETE .../subscribe,后者 404)。
209
+ const res = await driveApiCall(larkAppId, {
210
+ method: 'DELETE',
211
+ path: `/open-apis/drive/v1/files/${encodeURIComponent(file.fileToken)}/delete_subscribe`,
212
+ params: { file_type: file.fileType },
213
+ });
214
+ ensureOk(res, '退订文档');
215
+ logger.info(`[doc-comment] unsubscribed file=${file.fileToken.slice(0, 12)}`);
216
+ }
217
+ catch (err) {
218
+ logger.warn(`[doc-comment] unsubscribe failed for ${file.fileToken.slice(0, 12)}: ${err instanceof Error ? err.message : err}`);
219
+ }
220
+ }
221
+ // ─── 读评论 ─────────────────────────────────────────────────────────────────────
222
+ /** 拼接评论内容元素为纯文本。 */
223
+ function elementsToText(elements) {
224
+ if (!Array.isArray(elements))
225
+ return '';
226
+ return elements.map((el) => el?.text_run?.text ?? '').join('');
227
+ }
228
+ /** 从评论内容元素提取 @ 到的 open_id。 */
229
+ function elementsMentions(elements) {
230
+ if (!Array.isArray(elements))
231
+ return [];
232
+ return elements.map((el) => el?.person?.user_id).filter((x) => typeof x === 'string');
233
+ }
234
+ /**
235
+ * 读某条评论(含其下所有回复)。用于事件来后取 thread 上下文 + 判断是否 @bot。
236
+ * 拿不到返回 null。
237
+ */
238
+ export async function getDocComment(larkAppId, file, commentId) {
239
+ try {
240
+ // 用 batch_query 而非 GET /comments/{id}——后者只认「全文评论」,对**局部/锚定
241
+ // 评论**(is_whole:false,真实用户在 UI 选中文字评论就是这种)返回 1069307 not exist。
242
+ // batch_query 两种都支持。
243
+ const res = await driveApiCall(larkAppId, {
244
+ method: 'POST',
245
+ path: `/open-apis/drive/v1/files/${encodeURIComponent(file.fileToken)}/comments/batch_query`,
246
+ params: { file_type: file.fileType, user_id_type: 'open_id' },
247
+ data: { comment_ids: [commentId] },
248
+ });
249
+ const data = ensureOk(res, '获取评论');
250
+ const raw = Array.isArray(data?.items) ? data.items[0] : undefined;
251
+ if (!raw)
252
+ return null;
253
+ return normalizeComment(raw);
254
+ }
255
+ catch (err) {
256
+ logger.warn(`[doc-comment] getDocComment ${commentId.slice(0, 12)} failed: ${err instanceof Error ? err.message : err}`);
257
+ return null;
258
+ }
259
+ }
260
+ function normalizeComment(raw) {
261
+ const replies = Array.isArray(raw?.reply_list?.replies) ? raw.reply_list.replies : [];
262
+ return {
263
+ commentId: raw?.comment_id ?? '',
264
+ isSolved: raw?.is_solved === true,
265
+ replies: replies.map((r) => ({
266
+ replyId: r?.reply_id ?? '',
267
+ userId: r?.user_id,
268
+ text: elementsToText(r?.content?.elements),
269
+ mentions: elementsMentions(r?.content?.elements),
270
+ createdAt: typeof r?.create_time === 'number' ? r.create_time : undefined,
271
+ })),
272
+ };
273
+ }
274
+ // ─── 回评论 ─────────────────────────────────────────────────────────────────────
275
+ /**
276
+ * 往**已有评论 thread 里追加一条回复**(真正的嵌套回复,用户看到 bot 的回复
277
+ * 就挂在自己那条评论下面)。
278
+ *
279
+ * 端点 `POST .../comments/{comment_id}/replies` 是飞书 drive-v1 的公开 API
280
+ * (file.comment.reply.create)—— 我们装的 node-sdk 1.64.0 恰好没暴露 create,
281
+ * 但裸 endpoint 存在,故这里直接打。返回新回复的 reply_id(已登记防自触发)。
282
+ */
283
+ export async function replyToDocComment(larkAppId, file, commentId, text, mentionOpenId) {
284
+ const elements = buildCommentElements(text, mentionOpenId);
285
+ let res;
286
+ try {
287
+ res = await driveApiCall(larkAppId, {
288
+ method: 'POST',
289
+ path: `/open-apis/drive/v1/files/${encodeURIComponent(file.fileToken)}/comments/${encodeURIComponent(commentId)}/replies`,
290
+ params: { file_type: file.fileType, user_id_type: 'open_id' },
291
+ data: { content: { elements } },
292
+ preferTenant: true, // 回复显示为 bot 本身(应用身份);bot 无访问权时回退 user
293
+ });
294
+ }
295
+ catch (err) {
296
+ // 有的评论不允许被回复(飞书 1069302:全文评论 / 已解决 / 文档评论设置受限)。
297
+ // 退回新建一条全文评论,保证 bot 的答复总能落到文档(不嵌套但仍在评论区)。
298
+ if (isReplyNotAllowed(err)) {
299
+ logger.warn(`[doc-comment] comment=${commentId.slice(0, 12)} 不允许回复,退回新建全文评论`);
300
+ const c = await createDocComment(larkAppId, file, text, mentionOpenId);
301
+ return { replyId: c.replyId, commentId: c.commentId };
302
+ }
303
+ throw err;
304
+ }
305
+ // ensureOk 对 code!==0 抛错;同样要识别"不允许回复"并退回新建。
306
+ if (res?.code !== 0) {
307
+ if (isReplyNotAllowed(res)) {
308
+ logger.warn(`[doc-comment] comment=${commentId.slice(0, 12)} 不允许回复(code=${res?.code}),退回新建全文评论`);
309
+ const c = await createDocComment(larkAppId, file, text, mentionOpenId);
310
+ return { replyId: c.replyId, commentId: c.commentId };
311
+ }
312
+ throw new Error(`回复评论 失败: ${res?.msg ?? 'unknown'} (code: ${res?.code})`);
313
+ }
314
+ const replyId = res.data?.reply_id;
315
+ if (replyId)
316
+ markBotAuthoredReply(replyId);
317
+ logger.info(`[doc-comment] replied to comment=${commentId.slice(0, 12)} reply=${String(replyId ?? '').slice(0, 12)} on file=${file.fileToken.slice(0, 12)} (${text.length} chars)`);
318
+ return { replyId };
319
+ }
320
+ /** 构造评论内容元素:可选在开头 @ 某人(person 元素,user_id=open_id),末尾追加
321
+ * 隐形哨兵供事件侧自触发兜底识别。 */
322
+ function buildCommentElements(text, mentionOpenId) {
323
+ const els = [];
324
+ if (mentionOpenId) {
325
+ els.push({ type: 'person', person: { user_id: mentionOpenId } });
326
+ els.push({ type: 'text_run', text_run: { text: ' ' } });
327
+ }
328
+ els.push({ type: 'text_run', text_run: { text: text + BOT_REPLY_SENTINEL } });
329
+ return els;
330
+ }
331
+ /** 识别飞书"该评论不允许回复"的错误(code 1069302 或消息含 does not allow replies)。 */
332
+ function isReplyNotAllowed(errOrRes) {
333
+ const s = errOrRes instanceof Error ? errOrRes.message : JSON.stringify(errOrRes ?? '');
334
+ return s.includes('1069302') || /does not allow replies|不允许回复/.test(s);
335
+ }
336
+ /**
337
+ * 新建一条**全文评论**(独立的新评论,非嵌套)。用于没有可挂靠 comment_id 的
338
+ * 场景(如主动向文档发评论)。返回 comment_id。
339
+ */
340
+ export async function createDocComment(larkAppId, file, text, mentionOpenId) {
341
+ const elements = buildCommentElements(text, mentionOpenId);
342
+ const res = await driveApiCall(larkAppId, {
343
+ method: 'POST',
344
+ path: `/open-apis/drive/v1/files/${encodeURIComponent(file.fileToken)}/comments`,
345
+ params: { file_type: file.fileType, user_id_type: 'open_id' },
346
+ data: { reply_list: { replies: [{ content: { elements } }] } },
347
+ preferTenant: true, // 评论显示为 bot 本身(应用身份);bot 无访问权时回退 user
348
+ });
349
+ const data = ensureOk(res, '发表评论');
350
+ const commentId = data?.comment_id ?? '';
351
+ const replyId = data?.reply_list?.replies?.[0]?.reply_id;
352
+ if (replyId)
353
+ markBotAuthoredReply(replyId);
354
+ logger.info(`[doc-comment] created comment=${String(commentId).slice(0, 12)} reply=${String(replyId ?? '').slice(0, 12)} on file=${file.fileToken.slice(0, 12)} (${text.length} chars)`);
355
+ return { commentId, replyId };
356
+ }
357
+ /** 飞书文档评论内容长度上限的保守值,超长 bot 回复按此分块发多条评论。 */
358
+ export const DOC_COMMENT_MAX_CHARS = 3000;
359
+ /** 把长文本按 {@link DOC_COMMENT_MAX_CHARS} 切块(尽量按段落/换行边界)。 */
360
+ export function chunkCommentText(text, max = DOC_COMMENT_MAX_CHARS) {
361
+ if (text.length <= max)
362
+ return [text];
363
+ const chunks = [];
364
+ let rest = text;
365
+ while (rest.length > max) {
366
+ let cut = rest.lastIndexOf('\n', max);
367
+ if (cut < max * 0.5)
368
+ cut = max; // 没有靠后的换行就硬切
369
+ chunks.push(rest.slice(0, cut));
370
+ rest = rest.slice(cut).replace(/^\n+/, '');
371
+ }
372
+ if (rest)
373
+ chunks.push(rest);
374
+ return chunks;
375
+ }
376
+ //# sourceMappingURL=doc-comment.js.map