@rashidazarang/airtable-mcp 3.1.0 → 3.2.5

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 (100) hide show
  1. package/README.md +62 -25
  2. package/bin/airtable-mcp.js +12 -32
  3. package/dist/typescript/airtable-mcp-server.js +77 -0
  4. package/dist/typescript/airtable-mcp-server.js.map +1 -0
  5. package/dist/typescript/app/airtable-client.js +325 -0
  6. package/dist/typescript/app/airtable-client.js.map +1 -0
  7. package/dist/typescript/app/config.js +141 -0
  8. package/dist/typescript/app/config.js.map +1 -0
  9. package/dist/typescript/app/context.js +3 -0
  10. package/dist/typescript/app/context.js.map +1 -0
  11. package/dist/typescript/app/exceptions.js +85 -0
  12. package/dist/typescript/app/exceptions.js.map +1 -0
  13. package/dist/typescript/app/governance.js +58 -0
  14. package/dist/typescript/app/governance.js.map +1 -0
  15. package/dist/typescript/app/logger.js +47 -0
  16. package/dist/typescript/app/logger.js.map +1 -0
  17. package/dist/typescript/app/rateLimiter.js +37 -0
  18. package/dist/typescript/app/rateLimiter.js.map +1 -0
  19. package/dist/typescript/app/tools/create.js +54 -0
  20. package/dist/typescript/app/tools/create.js.map +1 -0
  21. package/dist/typescript/app/tools/describe.js +146 -0
  22. package/dist/typescript/app/tools/describe.js.map +1 -0
  23. package/dist/typescript/app/tools/handleError.js +54 -0
  24. package/dist/typescript/app/tools/handleError.js.map +1 -0
  25. package/dist/typescript/app/tools/index.js +24 -0
  26. package/dist/typescript/app/tools/index.js.map +1 -0
  27. package/dist/typescript/app/tools/listBases.js +52 -0
  28. package/dist/typescript/app/tools/listBases.js.map +1 -0
  29. package/dist/typescript/app/tools/listExceptions.js +18 -0
  30. package/dist/typescript/app/tools/listExceptions.js.map +1 -0
  31. package/dist/typescript/app/tools/listGovernance.js +17 -0
  32. package/dist/typescript/app/tools/listGovernance.js.map +1 -0
  33. package/dist/typescript/app/tools/query.js +126 -0
  34. package/dist/typescript/app/tools/query.js.map +1 -0
  35. package/dist/typescript/app/tools/update.js +56 -0
  36. package/dist/typescript/app/tools/update.js.map +1 -0
  37. package/dist/typescript/app/tools/upsert.js +65 -0
  38. package/dist/typescript/app/tools/upsert.js.map +1 -0
  39. package/dist/typescript/app/tools/webhooks.js +44 -0
  40. package/dist/typescript/app/tools/webhooks.js.map +1 -0
  41. package/dist/typescript/app/types.js +282 -0
  42. package/dist/typescript/app/types.js.map +1 -0
  43. package/dist/typescript/apps-sdk/mappers.js +70 -0
  44. package/dist/typescript/apps-sdk/mappers.js.map +1 -0
  45. package/dist/typescript/errors.js +75 -0
  46. package/dist/typescript/errors.js.map +1 -0
  47. package/dist/typescript/index.js +27 -0
  48. package/dist/typescript/index.js.map +1 -0
  49. package/package.json +49 -30
  50. package/tsconfig.json +10 -4
  51. package/types/typescript/airtable-mcp-server.d.ts +2 -0
  52. package/types/typescript/app/airtable-client.d.ts +49 -0
  53. package/types/typescript/app/config.d.ts +16 -0
  54. package/types/typescript/app/context.d.ts +12 -0
  55. package/types/typescript/app/exceptions.d.ts +12 -0
  56. package/types/typescript/app/governance.d.ts +18 -0
  57. package/types/typescript/app/logger.d.ts +13 -0
  58. package/types/typescript/app/rateLimiter.d.ts +13 -0
  59. package/types/typescript/app/tools/create.d.ts +3 -0
  60. package/types/typescript/app/tools/describe.d.ts +3 -0
  61. package/types/typescript/app/tools/handleError.d.ts +8 -0
  62. package/types/typescript/app/tools/index.d.ts +3 -0
  63. package/types/typescript/app/tools/listBases.d.ts +33 -0
  64. package/types/typescript/app/tools/listExceptions.d.ts +3 -0
  65. package/types/typescript/app/tools/listGovernance.d.ts +3 -0
  66. package/types/typescript/app/tools/query.d.ts +3 -0
  67. package/types/typescript/app/tools/update.d.ts +3 -0
  68. package/types/typescript/app/tools/upsert.d.ts +3 -0
  69. package/types/typescript/app/tools/webhooks.d.ts +3 -0
  70. package/types/typescript/app/types.d.ts +830 -0
  71. package/types/typescript/apps-sdk/mappers.d.ts +53 -0
  72. package/types/typescript/errors.d.ts +55 -0
  73. package/types/typescript/index.d.ts +10 -0
  74. package/types/typescript/prompt-templates.d.ts +5 -0
  75. package/types/typescript/tools-schemas.d.ts +5 -0
  76. package/airtable_simple.js +0 -1561
  77. package/airtable_simple_production.js +0 -1564
  78. package/dist/airtable-mcp-server.js +0 -660
  79. package/dist/airtable-mcp-server.js.map +0 -1
  80. package/dist/test-suite.js +0 -421
  81. package/dist/test-suite.js.map +0 -1
  82. package/examples/airtable-crud-example.js +0 -203
  83. package/examples/building-mcp.md +0 -6666
  84. package/examples/claude_config.json +0 -4
  85. package/examples/claude_simple_config.json +0 -7
  86. package/examples/env-demo.js +0 -172
  87. package/examples/example-tasks-update.json +0 -23
  88. package/examples/example-tasks.json +0 -26
  89. package/examples/example_usage.md +0 -124
  90. package/examples/python_debug_patch.txt +0 -27
  91. package/examples/sample-transform.js +0 -76
  92. package/examples/typescript/advanced-ai-prompts.ts +0 -447
  93. package/examples/typescript/basic-usage.ts +0 -174
  94. package/examples/typescript/claude-desktop-config.json +0 -29
  95. package/examples/windsurf_mcp_config.json +0 -17
  96. package/types/ai-prompts.d.ts +0 -321
  97. package/types/airtable-mcp-server.d.ts +0 -52
  98. package/types/index.d.ts +0 -357
  99. package/types/tools.d.ts +0 -514
  100. /package/types/{test-suite.d.ts → typescript/test-suite.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"airtable-mcp-server.js","sourceRoot":"","sources":["../src/airtable-mcp-server.ts"],"names":[],"mappings":";;AAEA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,6CAA+B;AAC/B,uCAAyB;AACzB,2CAA6B;AAC7B,mCAAgC;AAEhC,eAAe;AACf,0CAWwB;AAExB,oDAM6B;AAE7B,0CAQwB;AAExB,6BAA6B;AAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACnD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3B,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED,gDAAgD;AAChD,MAAM,IAAI,GAAa,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7C,MAAM,UAAU,GAAW,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACnD,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjD,MAAM,KAAK,GAAuB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;AACvE,MAAM,MAAM,GAAuB,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAEpE,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACrD,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAC;IAC5G,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACjF,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,mCAAmC;AACnC,MAAM,MAAM,GAAiB;IAC3B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC;IAC7C,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW;IACxC,uBAAuB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,IAAI,CAAC;IACjF,SAAS,EAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAA+B,IAAI,MAAM;CAC7E,CAAC;AAEF,MAAM,WAAW,GAAe;IAC9B,cAAc,EAAE,KAAK;IACrB,gBAAgB,EAAE,MAAM;CACzB,CAAC;AAEF,oCAAoC;AACpC,IAAK,QAMJ;AAND,WAAK,QAAQ;IACX,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,yCAAS,CAAA;AACX,CAAC,EANI,QAAQ,KAAR,QAAQ,QAMZ;AAED,MAAM,UAAU,GAA6B;IAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;IACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;IACrB,KAAK,EAAE,QAAQ,CAAC,KAAK;CACtB,CAAC;AAEF,IAAI,eAAe,GAAa,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC;AAM9E,SAAS,GAAG,CAAC,KAAe,EAAE,OAAe,EAAE,WAAwB,EAAE;IACvE,IAAI,KAAK,IAAI,eAAe,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,SAAS,CAAC;QAC9F,oDAAoD;QACpD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,IAAI,SAAS,MAAM,SAAS,KAAK,WAAW,EAAE,CAAC;QAE9D,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,0DAA0D;YAC1D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;AACH,CAAC;AAOD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;AAErD,SAAS,cAAc,CAAC,QAAgB;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,WAAW,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,kBAAkB;IAEnD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACxC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC;IAE1E,IAAI,cAAc,CAAC,MAAM,IAAI,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAyCD,SAAS,eAAe,CAAc,EACpC,QAAQ,EACR,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,IAAI,EACX,WAAW,GAAG,EAAE,EACG;IACnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,cAAc,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,gBAAgB,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QAE1F,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC;YACrD,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,MAAM,GAAG,+BAA+B,OAAO,GAAG,WAAW,EAAE,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/B,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAyB;YACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM;YACrC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,WAAW,CAAC,cAAc,EAAE;gBACvD,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,mBAAmB;aAClC;SACF,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,CAAC,OAA2C,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACzC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YACzC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAElC,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;wBACpE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;wBAC/D,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE;4BAC/B,MAAM,EAAE,GAAG,CAAC,UAAU;4BACtB,QAAQ,EAAE,QAAQ;yBACnB,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,qBAAa,CACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,IAAI,cAAc,GAAG,CAAC,UAAU,EAAE,EACzD,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,WAAW,EACnC,GAAG,CAAC,UAAU,CACf,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;oBAChE,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE;YACzB,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qDAAqD;AACrD,MAAM,iBAAiB;IAOrB;QANQ,WAAM,GAAuB,IAAI,CAAC;QAOxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,6BAAqB,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,gCAAmB,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG;YACX;gBACE,GAAG,EAAE,mBAAmB;gBACxB,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,oDAAoD;aAClE;YACD;gBACE,GAAG,EAAE,kBAAkB;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,4CAA4C;aAC1D;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,yCAAyC,CAAC,CAAC;QAE9D,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,YAAY;YAC7B,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC7B,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC/B,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;gBACnD,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC7B,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,MAA+B;QAChE,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAElD,IAAI,CAAC;YACH,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,aAAa;oBAChB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAoC,CAAC,CAAC;gBAC3E,KAAK,cAAc;oBACjB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAqC,CAAC,CAAC;gBAC7E,KAAK,eAAe;oBAClB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAsC,CAAC,CAAC;gBAC/E,KAAK,eAAe;oBAClB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAsC,CAAC,CAAC;gBAC/E,KAAK,eAAe;oBAClB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAsC,CAAC,CAAC;gBAC/E;oBACE,MAAM,IAAI,uBAAe,CAAC,iBAAiB,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9G,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;qBAC3F,CAAC;gBACF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAwE;YAC5G,QAAQ,EAAE,YAAY;YACtB,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE;SAChE,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS;oBACpD,IAAI,EAAE,QAAQ,CAAC,MAAM;iBACtB,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAAwB;QACtD,MAAM,WAAW,GAA2B,EAAE,CAAC;QAC/C,IAAI,MAAM,CAAC,YAAY,CAAC;YAAE,WAAW,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,MAAM,CAAC;YAAE,WAAW,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,iBAAiB,CAAC;YAAE,WAAW,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE/F,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACrC,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;YAC3B,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,0BAA0B,MAAM,CAAC,KAAK,EAAE;oBAC9C,IAAI,EAAE,QAAQ;iBACf,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAyB;QACxD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACrC,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;aACnC;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,qBAAqB,MAAM,CAAC,KAAK,EAAE;oBACzC,IAAI,EAAE,QAAQ;iBACf,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAyB;QACxD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACrC,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC9C,MAAM,EAAE,OAAO;YACf,IAAI,EAAE;gBACJ,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;aACnC;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kBAAkB,MAAM,CAAC,QAAQ,OAAO,MAAM,CAAC,KAAK,EAAE;oBAC5D,IAAI,EAAE,QAAQ;iBACf,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAyB;QACxD,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;YACrC,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC9C,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kBAAkB,MAAM,CAAC,QAAQ,SAAS,MAAM,CAAC,KAAK,EAAE;oBAC9D,IAAI,EAAE,QAAQ;iBACf,CAAC;SACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,IAA6B;QAC/D,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,uBAAe,CAAC,mBAAmB,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;QACtE,CAAC;QAED,4BAA4B;QAC5B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAoC,CAAC,CAAC;YAC5E,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAqC,CAAC,CAAC;YAC9E,KAAK,sBAAsB;gBACzB,OAAO,IAAI,CAAC,+BAA+B,CAAC,IAA4C,CAAC,CAAC;YAC5F,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,gCAAgC,CAAC,IAA6C,CAAC,CAAC;YAC9F;gBACE,OAAO;oBACL,QAAQ,EAAE,CAAC;4BACT,IAAI,EAAE,WAAW;4BACjB,OAAO,EAAE;gCACP,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,uBAAuB,IAAI,8DAA8D;6BAChG;yBACF,CAAC;iBACH,CAAC;QACN,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,IAAuB;QAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC;QACzD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC;QAEtD,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mDAAmD,IAAI,CAAC,KAAK;;qBAExD,YAAY;wBACT,eAAe,GAAG,GAAG;mBAC1B,IAAI,CAAC,WAAW,IAAI,YAAY;;;8BAGrB,eAAe,GAAG,GAAG;;;;;;;;;;wFAUqC;qBAC/E;iBACF,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,IAAwB;QAC7D,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,eAAe,IAAI,CAAC,KAAK;;uBAExD,IAAI,CAAC,eAAe;qBACtB,IAAI,CAAC,iBAAiB,IAAI,OAAO;;;qCAGjB,IAAI,CAAC,KAAK;;;;;;;;0BAQrB,IAAI,CAAC,eAAe;;;;+EAIiC;qBACtE;iBACF,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,IAA+B;QAC3E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAE9C,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,0CAA0C,IAAI,CAAC,YAAY;;iBAE1D,SAAS;0BACA,OAAO;4BACL,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;;;;;;;;;;4BAU3D,IAAI,CAAC,gBAAgB,IAAI,kBAAkB;;;;;;;;wFAQiB;qBAC/E;iBACF,CAAC;SACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAAC,IAAgC;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,IAAI,kBAAkB,CAAC;QAClE,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,IAAI,GAAG,CAAC;QAE7D,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;;iBAEC,IAAI,CAAC,QAAQ;uBACP,cAAc;4BACT,mBAAmB,GAAG,GAAG;;;;;;kBAMnC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,uBAAuB;;;;;;;EAOnF,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC,CAAC,EAAE;;;;2EAIT;qBAClE;iBACF,CAAC;SACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAE/D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;gBAC1D,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,yDAAyD,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpH,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,IAAI,CAAC,OAAO,CAAC,MAAM,mBAAmB,CAAC,CAAC;gBAClF,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,IAAI,CAAC,KAAK,CAAC,MAAM,uBAAuB,CAAC,CAAC;gBAC3E,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,2DAA2D,CAAC,CAAC;gBAChF,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,EAAE;oBACtB,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBACrC,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAyB,EAAE,GAAwB;QAC7E,gBAAgB;QAChB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAW,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,IAAI,SAAS,CAAC;QACnG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,eAAe;QACf,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;QACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,6BAA6B,CAAC,CAAC;QAE7E,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;QAE/B,wBAAwB;QACxB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBACxB,QAAQ,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;aACpE,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,IAAI,OAAO,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAChD,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;YACvC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC;oBACH,MAAM,OAAO,GAAe,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAEtD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,aAAa,GAAgB;wBACjC,OAAO,EAAE,KAAK;wBACd,EAAE,EAAE,OAAO;wBACX,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC,KAAK;4BACZ,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;yBAClE;qBACF,CAAC;oBAEF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAmB;QAChD,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,OAAO,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,IAAI,MAAe,CAAC;YAEpB,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;gBACvB,KAAK,YAAY;oBACf,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjC,MAAM;gBACR,KAAK,YAAY;oBACf,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/B,MAAM;gBACR,KAAK,YAAY;oBACf,MAAM,UAAU,GAAG,OAAO,CAAC,MAA8D,CAAC;oBAC1F,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC1E,MAAM;gBACR,KAAK,cAAc;oBACjB,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM;gBACR,KAAK,aAAa;oBAChB,MAAM,YAAY,GAAG,OAAO,CAAC,MAA8D,CAAC;oBAC5F,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;oBAC/E,MAAM;gBACR,KAAK,YAAY;oBACf,MAAM,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/B,MAAM;gBACR;oBACE,MAAM,IAAI,uBAAe,CAAC,mBAAmB,OAAO,CAAC,MAAM,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC7E,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM;aACP,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,KAAK,YAAY,uBAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;oBACxD,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAClE;aACF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AA8BQ,8CAAiB;AA5B1B,iBAAiB;AACjB,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAEvC,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,8CAA8C,CAAC,CAAC;QACnE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,+CAA+C,CAAC,CAAC;QACpE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,mBAAmB;AACnB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAGD,kBAAe,iBAAiB,CAAC"}
@@ -1,421 +0,0 @@
1
- "use strict";
2
- /**
3
- * TypeScript Test Suite for Airtable MCP Server
4
- * Comprehensive type-safe testing with enterprise validation
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MockAirtableMCPServer = exports.TypeScriptTestRunner = void 0;
8
- exports.runAllTests = runAllTests;
9
- const index_1 = require("../types/index");
10
- // Enhanced test runner with type safety
11
- class TypeScriptTestRunner {
12
- constructor() {
13
- this.results = [];
14
- }
15
- async runTest(name, testFn) {
16
- const startTime = Date.now();
17
- try {
18
- await testFn();
19
- const duration = Date.now() - startTime;
20
- return { name, passed: true, duration };
21
- }
22
- catch (error) {
23
- const duration = Date.now() - startTime;
24
- return {
25
- name,
26
- passed: false,
27
- error: error instanceof Error ? error.message : String(error),
28
- duration
29
- };
30
- }
31
- }
32
- async runSuite(suiteName, tests) {
33
- console.log(`\n🧪 Running test suite: ${suiteName}`);
34
- const suiteStartTime = Date.now();
35
- const testResults = [];
36
- for (const test of tests) {
37
- console.log(` ā³ ${test.name}...`);
38
- const result = await this.runTest(test.name, test.fn);
39
- testResults.push(result);
40
- if (result.passed) {
41
- console.log(` āœ… ${test.name} (${result.duration}ms)`);
42
- }
43
- else {
44
- console.log(` āŒ ${test.name} (${result.duration}ms): ${result.error}`);
45
- }
46
- }
47
- const totalDuration = Date.now() - suiteStartTime;
48
- const totalPassed = testResults.filter(r => r.passed).length;
49
- const totalFailed = testResults.filter(r => !r.passed).length;
50
- const suite = {
51
- name: suiteName,
52
- tests: testResults,
53
- totalPassed,
54
- totalFailed,
55
- totalDuration
56
- };
57
- this.results.push(suite);
58
- console.log(`\nšŸ“Š Suite "${suiteName}" completed:`);
59
- console.log(` āœ… Passed: ${totalPassed}`);
60
- console.log(` āŒ Failed: ${totalFailed}`);
61
- console.log(` ā±ļø Duration: ${totalDuration}ms`);
62
- return suite;
63
- }
64
- generateReport() {
65
- console.log('\nšŸ“‹ TypeScript Test Report');
66
- console.log('='.repeat(50));
67
- let overallPassed = 0;
68
- let overallFailed = 0;
69
- let overallDuration = 0;
70
- for (const suite of this.results) {
71
- console.log(`\nšŸ“¦ ${suite.name}:`);
72
- console.log(` Tests: ${suite.tests.length}`);
73
- console.log(` Passed: ${suite.totalPassed}`);
74
- console.log(` Failed: ${suite.totalFailed}`);
75
- console.log(` Duration: ${suite.totalDuration}ms`);
76
- overallPassed += suite.totalPassed;
77
- overallFailed += suite.totalFailed;
78
- overallDuration += suite.totalDuration;
79
- if (suite.totalFailed > 0) {
80
- console.log(' Failed tests:');
81
- suite.tests
82
- .filter(t => !t.passed)
83
- .forEach(t => console.log(` - ${t.name}: ${t.error}`));
84
- }
85
- }
86
- console.log('\nšŸŽÆ Overall Results:');
87
- console.log(` Total Tests: ${overallPassed + overallFailed}`);
88
- console.log(` Passed: ${overallPassed}`);
89
- console.log(` Failed: ${overallFailed}`);
90
- console.log(` Success Rate: ${((overallPassed / (overallPassed + overallFailed)) * 100).toFixed(1)}%`);
91
- console.log(` Total Duration: ${overallDuration}ms`);
92
- if (overallFailed === 0) {
93
- console.log('\nšŸŽ‰ All tests passed with TypeScript type safety!');
94
- }
95
- else {
96
- console.log(`\nāš ļø ${overallFailed} test(s) failed. Review and fix before deployment.`);
97
- }
98
- }
99
- }
100
- exports.TypeScriptTestRunner = TypeScriptTestRunner;
101
- // Mock server for testing (no real API calls)
102
- class MockAirtableMCPServer {
103
- async initialize() {
104
- return {
105
- name: 'mock-airtable-mcp-server',
106
- version: '3.1.0',
107
- protocolVersion: '2024-11-05',
108
- capabilities: {
109
- tools: { listChanged: false },
110
- prompts: { listChanged: false }
111
- }
112
- };
113
- }
114
- async handleToolCall(name, params) {
115
- // Mock successful responses for testing
116
- switch (name) {
117
- case 'list_tables':
118
- return {
119
- content: [{
120
- type: 'text',
121
- text: 'Mock tables response',
122
- data: [{ id: 'tbl123', name: 'Test Table' }]
123
- }]
124
- };
125
- case 'list_records':
126
- return {
127
- content: [{
128
- type: 'text',
129
- text: 'Mock records response',
130
- data: { records: [{ id: 'rec123', fields: { Name: 'Test Record' } }] }
131
- }]
132
- };
133
- case 'create_record':
134
- return {
135
- content: [{
136
- type: 'text',
137
- text: 'Mock create response',
138
- data: { id: 'rec456', fields: params }
139
- }]
140
- };
141
- default:
142
- throw new index_1.ValidationError(`Unknown tool: ${name}`, 'tool_name');
143
- }
144
- }
145
- async handlePromptGet(_name, _args) {
146
- return {
147
- messages: [{
148
- role: 'assistant',
149
- content: {
150
- type: 'text',
151
- text: `Mock AI response for ${_name} with TypeScript validation`
152
- }
153
- }]
154
- };
155
- }
156
- }
157
- exports.MockAirtableMCPServer = MockAirtableMCPServer;
158
- // Comprehensive test suites
159
- async function typeValidationTests(runner) {
160
- const mockServer = new MockAirtableMCPServer();
161
- await runner.runSuite('Type Validation Tests', [
162
- {
163
- name: 'Valid ListRecordsInput parameters',
164
- fn: async () => {
165
- const validParams = {
166
- table: 'TestTable',
167
- maxRecords: 10,
168
- filterByFormula: 'Status = "Active"'
169
- };
170
- const result = await mockServer.handleToolCall('list_records', validParams);
171
- if (!result.content || !Array.isArray(result.content)) {
172
- throw new Error('Invalid response structure');
173
- }
174
- }
175
- },
176
- {
177
- name: 'Valid CreateRecordInput with type casting',
178
- fn: async () => {
179
- const validParams = {
180
- table: 'TestTable',
181
- fields: {
182
- 'Name': 'Test Record',
183
- 'Priority': 'High',
184
- 'Count': 42
185
- },
186
- typecast: true
187
- };
188
- const result = await mockServer.handleToolCall('create_record', validParams);
189
- if (!result.content) {
190
- throw new Error('No response content');
191
- }
192
- }
193
- },
194
- {
195
- name: 'Valid AnalyzeDataPrompt with confidence level',
196
- fn: async () => {
197
- const validParams = {
198
- table: 'SalesData',
199
- analysis_type: 'predictive',
200
- confidence_level: 0.95,
201
- field_focus: 'revenue,conversion_rate'
202
- };
203
- const result = await mockServer.handlePromptGet('analyze_data', validParams);
204
- if (!result.messages || !Array.isArray(result.messages)) {
205
- throw new Error('Invalid AI response structure');
206
- }
207
- }
208
- },
209
- {
210
- name: 'Invalid tool name handling',
211
- fn: async () => {
212
- try {
213
- await mockServer.handleToolCall('invalid_tool', {});
214
- throw new Error('Should have thrown ValidationError');
215
- }
216
- catch (error) {
217
- if (!(error instanceof index_1.ValidationError)) {
218
- throw new Error('Expected ValidationError for invalid tool');
219
- }
220
- }
221
- }
222
- }
223
- ]);
224
- }
225
- async function serverInitializationTests(runner) {
226
- await runner.runSuite('Server Initialization Tests', [
227
- {
228
- name: 'Server initialization with capabilities',
229
- fn: async () => {
230
- const server = new MockAirtableMCPServer();
231
- const serverInfo = await server.initialize();
232
- if (!serverInfo.name || !serverInfo.version || !serverInfo.protocolVersion) {
233
- throw new Error('Invalid server info structure');
234
- }
235
- if (serverInfo.protocolVersion !== '2024-11-05') {
236
- throw new Error('Incorrect protocol version');
237
- }
238
- }
239
- },
240
- {
241
- name: 'Server capabilities validation',
242
- fn: async () => {
243
- const server = new MockAirtableMCPServer();
244
- const serverInfo = await server.initialize();
245
- if (!serverInfo.capabilities.tools || !serverInfo.capabilities.prompts) {
246
- throw new Error('Missing required capabilities');
247
- }
248
- }
249
- }
250
- ]);
251
- }
252
- async function aiPromptTests(runner) {
253
- const mockServer = new MockAirtableMCPServer();
254
- await runner.runSuite('AI Prompt Tests', [
255
- {
256
- name: 'Statistical analysis prompt',
257
- fn: async () => {
258
- const params = {
259
- table: 'Analytics',
260
- analysis_type: 'statistical',
261
- confidence_level: 0.99
262
- };
263
- const result = await mockServer.handlePromptGet('analyze_data', params);
264
- if (!result.messages || result.messages.length === 0) {
265
- throw new Error('Empty AI response');
266
- }
267
- if (result.messages[0].role !== 'assistant') {
268
- throw new Error('Invalid message role');
269
- }
270
- }
271
- },
272
- {
273
- name: 'Predictive analytics with all parameters',
274
- fn: async () => {
275
- const params = {
276
- table: 'Revenue',
277
- target_field: 'monthly_revenue',
278
- prediction_periods: 12,
279
- algorithm: 'random_forest',
280
- include_confidence_intervals: true,
281
- historical_periods: 24
282
- };
283
- const result = await mockServer.handlePromptGet('predictive_analytics', params);
284
- if (!result.messages) {
285
- throw new Error('No AI response messages');
286
- }
287
- }
288
- },
289
- {
290
- name: 'Natural language query processing',
291
- fn: async () => {
292
- const params = {
293
- question: 'What are the top 5 products by revenue?',
294
- response_format: 'natural_language',
295
- confidence_threshold: 0.8
296
- };
297
- const result = await mockServer.handlePromptGet('natural_language_query', params);
298
- if (!result.messages[0].content.text.includes('Mock AI response')) {
299
- throw new Error('Unexpected AI response content');
300
- }
301
- }
302
- }
303
- ]);
304
- }
305
- async function errorHandlingTests(runner) {
306
- await runner.runSuite('Error Handling Tests', [
307
- {
308
- name: 'ValidationError for missing required parameters',
309
- fn: async () => {
310
- const mockServer = new MockAirtableMCPServer();
311
- try {
312
- // Missing required 'table' parameter
313
- await mockServer.handleToolCall('list_records', {});
314
- throw new Error('Should have thrown an error');
315
- }
316
- catch (error) {
317
- // Should handle gracefully with proper error response
318
- if (!(error instanceof Error)) {
319
- throw new Error('Expected Error instance');
320
- }
321
- }
322
- }
323
- },
324
- {
325
- name: 'AirtableError simulation',
326
- fn: async () => {
327
- const error = new index_1.AirtableError('API Error', 'INVALID_REQUEST', 400);
328
- if (error.code !== 'INVALID_REQUEST') {
329
- throw new Error('Incorrect error code');
330
- }
331
- if (error.statusCode !== 400) {
332
- throw new Error('Incorrect status code');
333
- }
334
- }
335
- },
336
- {
337
- name: 'Type safety enforcement',
338
- fn: async () => {
339
- // This test validates that TypeScript compilation would catch type errors
340
- const params = {
341
- table: 'ValidTable',
342
- maxRecords: 10
343
- // TypeScript would catch if we tried to add invalid properties
344
- };
345
- if (typeof params.table !== 'string') {
346
- throw new Error('Type validation failed');
347
- }
348
- }
349
- }
350
- ]);
351
- }
352
- async function performanceTests(runner) {
353
- await runner.runSuite('Performance Tests', [
354
- {
355
- name: 'Multiple concurrent tool calls',
356
- fn: async () => {
357
- const mockServer = new MockAirtableMCPServer();
358
- const startTime = Date.now();
359
- const promises = Array.from({ length: 10 }, (_, i) => mockServer.handleToolCall('list_records', { table: `Table${i}` }));
360
- await Promise.all(promises);
361
- const duration = Date.now() - startTime;
362
- if (duration > 1000) { // Should complete within 1 second for mock calls
363
- throw new Error(`Too slow: ${duration}ms`);
364
- }
365
- }
366
- },
367
- {
368
- name: 'Large parameter validation',
369
- fn: async () => {
370
- const mockServer = new MockAirtableMCPServer();
371
- const largeFields = {};
372
- for (let i = 0; i < 100; i++) {
373
- largeFields[`field_${i}`] = `value_${i}`;
374
- }
375
- const params = {
376
- table: 'LargeTable',
377
- fields: largeFields
378
- };
379
- const startTime = Date.now();
380
- await mockServer.handleToolCall('create_record', params);
381
- const duration = Date.now() - startTime;
382
- if (duration > 500) { // Should handle large objects efficiently
383
- throw new Error(`Parameter validation too slow: ${duration}ms`);
384
- }
385
- }
386
- }
387
- ]);
388
- }
389
- // Main test execution
390
- async function runAllTests() {
391
- console.log('šŸš€ Starting TypeScript Airtable MCP Test Suite');
392
- console.log('='.repeat(60));
393
- const runner = new TypeScriptTestRunner();
394
- try {
395
- // Run all test suites
396
- await typeValidationTests(runner);
397
- await serverInitializationTests(runner);
398
- await aiPromptTests(runner);
399
- await errorHandlingTests(runner);
400
- await performanceTests(runner);
401
- // Generate comprehensive report
402
- runner.generateReport();
403
- }
404
- catch (error) {
405
- console.error('\nšŸ’„ Test suite execution failed:', error);
406
- process.exit(1);
407
- }
408
- }
409
- // Run tests if executed directly
410
- if (require.main === module) {
411
- runAllTests()
412
- .then(() => {
413
- console.log('\nšŸŽ‰ TypeScript test suite completed successfully!');
414
- process.exit(0);
415
- })
416
- .catch((error) => {
417
- console.error('\nšŸ’„ Test suite failed:', error);
418
- process.exit(1);
419
- });
420
- }
421
- //# sourceMappingURL=test-suite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-suite.js","sourceRoot":"","sources":["../src/test-suite.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA2eD,kCAAW;AAzeb,0CAMwB;AAoBxB,wCAAwC;AACxC,MAAM,oBAAoB;IAA1B;QACU,YAAO,GAAgB,EAAE,CAAC;IAoGpC,CAAC;IAlGC,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAA2B;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,MAAM,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACxC,OAAO;gBACL,IAAI;gBACJ,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,QAAQ;aACT,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB,EAAE,KAAuD;QACvF,OAAO,CAAC,GAAG,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;QAErD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEzB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;QAClD,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAC7D,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;QAE9D,MAAM,KAAK,GAAc;YACvB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,WAAW;YAClB,WAAW;YACX,WAAW;YACX,aAAa;SACd,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,OAAO,CAAC,GAAG,CAAC,eAAe,SAAS,cAAc,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,IAAI,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,aAAa,IAAI,CAAC,CAAC;YAEpD,aAAa,IAAI,KAAK,CAAC,WAAW,CAAC;YACnC,aAAa,IAAI,KAAK,CAAC,WAAW,CAAC;YACnC,eAAe,IAAI,KAAK,CAAC,aAAa,CAAC;YAEvC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC/B,KAAK,CAAC,KAAK;qBACR,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;qBACtB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,kBAAkB,aAAa,GAAG,aAAa,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,aAAa,aAAa,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACxG,OAAO,CAAC,GAAG,CAAC,qBAAqB,eAAe,IAAI,CAAC,CAAC;QAEtD,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,QAAQ,aAAa,oDAAoD,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;CACF;AAuWC,oDAAoB;AArWtB,8CAA8C;AAC9C,MAAM,qBAAqB;IACzB,KAAK,CAAC,UAAU;QACd,OAAO;YACL,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,OAAO;YAChB,eAAe,EAAE,YAAY;YAC7B,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBAC7B,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;aAChC;SACF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,MAA+B;QAChE,wCAAwC;QACxC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa;gBAChB,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,sBAAsB;4BAC5B,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;yBAC7C,CAAC;iBACH,CAAC;YACJ,KAAK,cAAc;gBACjB,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,uBAAuB;4BAC7B,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE;yBACvE,CAAC;iBACH,CAAC;YACJ,KAAK,eAAe;gBAClB,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,sBAAsB;4BAC5B,IAAI,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;yBACvC,CAAC;iBACH,CAAC;YACJ;gBACE,MAAM,IAAI,uBAAe,CAAC,iBAAiB,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,KAA8B;QACjE,OAAO;YACL,QAAQ,EAAE,CAAC;oBACT,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,wBAAwB,KAAK,6BAA6B;qBACjE;iBACF,CAAC;SACH,CAAC;IACJ,CAAC;CACF;AA8SC,sDAAqB;AA5SvB,4BAA4B;AAC5B,KAAK,UAAU,mBAAmB,CAAC,MAA4B;IAC7D,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE/C,MAAM,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE;QAC7C;YACE,IAAI,EAAE,mCAAmC;YACzC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,WAAW,GAAqB;oBACpC,KAAK,EAAE,WAAW;oBAClB,UAAU,EAAE,EAAE;oBACd,eAAe,EAAE,mBAAmB;iBACrC,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,WAAkB,CAAC,CAAC;gBACnF,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,2CAA2C;YACjD,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,WAAW,GAAsB;oBACrC,KAAK,EAAE,WAAW;oBAClB,MAAM,EAAE;wBACN,MAAM,EAAE,aAAa;wBACrB,UAAU,EAAE,MAAM;wBAClB,OAAO,EAAE,EAAE;qBACZ;oBACD,QAAQ,EAAE,IAAI;iBACf,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,WAAkB,CAAC,CAAC;gBACpF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,+CAA+C;YACrD,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,WAAW,GAAsB;oBACrC,KAAK,EAAE,WAAW;oBAClB,aAAa,EAAE,YAAY;oBAC3B,gBAAgB,EAAE,IAAI;oBACtB,WAAW,EAAE,yBAAyB;iBACvC,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,cAAc,EAAE,WAAkB,CAAC,CAAC;gBACpF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,4BAA4B;YAClC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBACpD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACxD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAe,CAAC,EAAE,CAAC;wBACxC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;oBAC/D,CAAC;gBACH,CAAC;YACH,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,MAA4B;IACnE,MAAM,MAAM,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QACnD;YACE,IAAI,EAAE,yCAAyC;YAC/C,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;gBAE3C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;oBAC3E,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBAED,IAAI,UAAU,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;oBAChD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,gCAAgC;YACtC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;gBAE3C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAE7C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;oBACvE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,MAA4B;IACvD,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE/C,MAAM,MAAM,CAAC,QAAQ,CAAC,iBAAiB,EAAE;QACvC;YACE,IAAI,EAAE,6BAA6B;YACnC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,MAAM,GAAsB;oBAChC,KAAK,EAAE,WAAW;oBAClB,aAAa,EAAE,aAAa;oBAC5B,gBAAgB,EAAE,IAAI;iBACvB,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,cAAc,EAAE,MAAa,CAAC,CAAC;gBAE/E,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACrD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC;gBAED,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,0CAA0C;YAChD,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,MAAM,GAAG;oBACb,KAAK,EAAE,SAAS;oBAChB,YAAY,EAAE,iBAAiB;oBAC/B,kBAAkB,EAAE,EAAE;oBACtB,SAAS,EAAE,eAAwB;oBACnC,4BAA4B,EAAE,IAAI;oBAClC,kBAAkB,EAAE,EAAE;iBACvB,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;gBAEhF,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,mCAAmC;YACzC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,MAAM,GAAG;oBACb,QAAQ,EAAE,yCAAyC;oBACnD,eAAe,EAAE,kBAA2B;oBAC5C,oBAAoB,EAAE,GAAG;iBAC1B,CAAC;gBAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;gBAElF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAClE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAA4B;IAC5D,MAAM,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE;QAC5C;YACE,IAAI,EAAE,iDAAiD;YACvD,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;gBAE/C,IAAI,CAAC;oBACH,qCAAqC;oBACrC,MAAM,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBACpD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;gBACjD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,sDAAsD;oBACtD,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;wBAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,CAAC;gBACH,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,0BAA0B;YAChC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,KAAK,GAAG,IAAI,qBAAa,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAC;gBAErE,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC1C,CAAC;gBAED,IAAI,KAAK,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,yBAAyB;YAC/B,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,0EAA0E;gBAC1E,MAAM,MAAM,GAAqB;oBAC/B,KAAK,EAAE,YAAY;oBACnB,UAAU,EAAE,EAAE;oBACd,+DAA+D;iBAChE,CAAC;gBAEF,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,MAA4B;IAC1D,MAAM,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE;QACzC;YACE,IAAI,EAAE,gCAAgC;YACtC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE7B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnD,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAClE,CAAC;gBAEF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACxC,IAAI,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,iDAAiD;oBACtE,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,IAAI,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;SACF;QAED;YACE,IAAI,EAAE,4BAA4B;YAClC,EAAE,EAAE,KAAK,IAAI,EAAE;gBACb,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;gBAE/C,MAAM,WAAW,GAA4B,EAAE,CAAC;gBAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7B,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;gBAC3C,CAAC;gBAED,MAAM,MAAM,GAAsB;oBAChC,KAAK,EAAE,YAAY;oBACnB,MAAM,EAAE,WAAW;iBACpB,CAAC;gBAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,MAAa,CAAC,CAAC;gBAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAExC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,0CAA0C;oBAC9D,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,IAAI,CAAC,CAAC;gBAClE,CAAC;YACH,CAAC;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,sBAAsB;AACtB,KAAK,UAAU,WAAW;IACxB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7B,MAAM,MAAM,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE/B,gCAAgC;QAChC,MAAM,CAAC,cAAc,EAAE,CAAC;IAE1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAWD,iCAAiC;AACjC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE;SACV,IAAI,CAAC,GAAG,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACP,CAAC"}