cruddl 4.2.3 → 5.0.0-0.deploytest.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 (58) hide show
  1. package/.github/workflows/ci.yml +5 -3
  2. package/.husky/pre-commit +1 -0
  3. package/README.md +0 -1
  4. package/dist/src/authorization/move-errors-to-output-nodes.js +1 -0
  5. package/dist/src/authorization/move-errors-to-output-nodes.js.map +1 -1
  6. package/dist/src/authorization/transformers/traversal.js +13 -2
  7. package/dist/src/authorization/transformers/traversal.js.map +1 -1
  8. package/dist/src/cruddl-version.js +1 -1
  9. package/dist/src/database/arangodb/aql-generator.js +856 -185
  10. package/dist/src/database/arangodb/aql-generator.js.map +1 -1
  11. package/dist/src/database/arangodb/arangodb-adapter.js +30 -10
  12. package/dist/src/database/arangodb/arangodb-adapter.js.map +1 -1
  13. package/dist/src/database/arangodb/config.js +3 -8
  14. package/dist/src/database/arangodb/config.js.map +1 -1
  15. package/dist/src/database/arangodb/traversal-helpers.d.ts +10 -0
  16. package/dist/src/database/arangodb/traversal-helpers.js +52 -0
  17. package/dist/src/database/arangodb/traversal-helpers.js.map +1 -0
  18. package/dist/src/database/inmemory/inmemory-adapter.js +3 -7
  19. package/dist/src/database/inmemory/inmemory-adapter.js.map +1 -1
  20. package/dist/src/database/inmemory/js-generator.js +75 -55
  21. package/dist/src/database/inmemory/js-generator.js.map +1 -1
  22. package/dist/src/execution/runtime-errors.d.ts +1 -0
  23. package/dist/src/execution/runtime-errors.js +3 -3
  24. package/dist/src/execution/runtime-errors.js.map +1 -1
  25. package/dist/src/model/implementation/indices.js +17 -1
  26. package/dist/src/model/implementation/indices.js.map +1 -1
  27. package/dist/src/query-tree/queries.d.ts +102 -7
  28. package/dist/src/query-tree/queries.js +77 -10
  29. package/dist/src/query-tree/queries.js.map +1 -1
  30. package/dist/src/schema/schema-builder.js +5 -1
  31. package/dist/src/schema/schema-builder.js.map +1 -1
  32. package/dist/src/schema-generation/field-nodes.d.ts +10 -5
  33. package/dist/src/schema-generation/field-nodes.js +32 -4
  34. package/dist/src/schema-generation/field-nodes.js.map +1 -1
  35. package/dist/src/schema-generation/filter-augmentation.js +0 -1
  36. package/dist/src/schema-generation/filter-augmentation.js.map +1 -1
  37. package/dist/src/schema-generation/flex-search-post-filter-augmentation.js +0 -1
  38. package/dist/src/schema-generation/flex-search-post-filter-augmentation.js.map +1 -1
  39. package/dist/src/schema-generation/order-by-and-pagination-augmentation.js +41 -22
  40. package/dist/src/schema-generation/order-by-and-pagination-augmentation.js.map +1 -1
  41. package/dist/src/schema-generation/output-type-generator.js +5 -3
  42. package/dist/src/schema-generation/output-type-generator.js.map +1 -1
  43. package/dist/src/schema-generation/query-node-object-type/context.d.ts +1 -1
  44. package/dist/src/schema-generation/query-node-object-type/context.js +1 -1
  45. package/dist/src/schema-generation/query-node-object-type/query-node-generator.js +37 -3
  46. package/dist/src/schema-generation/query-node-object-type/query-node-generator.js.map +1 -1
  47. package/dist/src/schema-generation/root-field-helper.d.ts +3 -23
  48. package/dist/src/schema-generation/root-field-helper.js +9 -109
  49. package/dist/src/schema-generation/root-field-helper.js.map +1 -1
  50. package/dist/src/schema-generation/utils/filtering.d.ts +1 -2
  51. package/dist/src/schema-generation/utils/filtering.js +28 -6
  52. package/dist/src/schema-generation/utils/filtering.js.map +1 -1
  53. package/dist/src/schema-generation/utils/relations.js +0 -1
  54. package/dist/src/schema-generation/utils/relations.js.map +1 -1
  55. package/dist/src/utils/util-types.d.ts +6 -0
  56. package/knip.json +6 -1
  57. package/package.json +6 -11
  58. package/tsconfig.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"inmemory-adapter.js","sourceRoot":"","sources":["../../../../src/database/inmemory/inmemory-adapter.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAIpD,iDAA4F;AAQ5F,kDAAsD;AACtD,uDAAiG;AAEjG,iDAA4C;AAE5C,yEAA6F;AAC7F,6CAAoD;AAEpD,MAAa,UAAU;IACnB,WAAW,GAA2C,EAAE,CAAC;CAC5D;AAFD,gCAEC;AAED,MAAa,eAAe;IAMZ;IALJ,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;IACtB,MAAM,CAAS;IAEvB,YACI,UAA+B,EAAE,EACzB,aAA8B;QAA9B,kBAAa,GAAb,aAAa,CAAiB;QAEtC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,sBAAa,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAC7C,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,sBAAa,CAAC,cAAc,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC5E,CAAC;gBAAS,CAAC;YACP,sBAAa,CAAC,iBAAiB,EAAE,CAAC;QACtC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,cAAc,CAClB,OAAyC,EACzC,EAAE,WAAW,EAAgC;QAE7C,MAAM,UAAU,GAAG,IAAI,GAAG,CACtB,0DAA6C,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC;YAChF,QAAQ,CAAC,gBAAgB,EAAE;YAC3B,QAAQ,CAAC,oBAAoB,EAAE;SAClC,CAAC,CACL,CAAC;QAEF,MAAM,OAAO,GAAG;YACZ,OAAO,CACH,GAAuD,EACvD,GAAuD;gBAEvD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;oBACnB,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;wBACnB,OAAO,CAAC,CAAC;oBACb,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;oBACnB,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC1B,IAAI,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;wBAC1B,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACzB,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;wBACzB,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACzB,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACzB,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;wBACzB,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACzB,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;wBACxB,OAAO,CAAC,CAAC,CAAC;oBACd,CAAC;oBAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;wBACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM,kBAAkB,GAAW,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBACvE,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;4BAC3B,OAAO,kBAAkB,CAAC;wBAC9B,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,mBAAmB;gBAEnB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CACzB,IAAI,GAAG,CAAC;oBACJ,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC;oBAClC,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC;iBACrC,CAAC,CACL,CAAC,IAAI,EAAE,CAAC;gBACT,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM,kBAAkB,GAAW,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACvE,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;wBAC3B,OAAO,kBAAkB,CAAC;oBAC9B,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,CAAC;YACb,CAAC;YAED,GAAG,CAAC,KAAqC;gBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,CAAC;YAED,GAAG,CAAC,KAAqC;gBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,CAAC;YAED,kBAAkB,CACd,GAAG,QAAgF;gBAEnF,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;gBACnB,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACtC,OAAO,CAAC,GAAM,EAAE,GAAM,EAAE,EAAE,CACtB,MAAM;wBACF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC7C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxC,OAAO,CAAC,GAAM,EAAE,GAAM,EAAE,EAAE;wBACtB,MAAM,UAAU,GAAG,OAAO;4BACtB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;4BAC/C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;4BAClB,OAAO,UAAU,CAAC;wBACtB,CAAC;wBACD,OAAO,OAAO;4BACV,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;4BAC/C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxD,CAAC,CAAC;gBACN,CAAC;gBAED,OAAO,CAAC,GAAM,EAAE,GAAM,EAAU,EAAE;oBAC9B,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;wBACvC,MAAM,UAAU,GAAG,MAAM;4BACrB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;4BAC7C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;wBAClD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;4BAClB,OAAO,UAAU,CAAC;wBACtB,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,CAAC;gBACb,CAAC,CAAC;YACN,CAAC;YAED,mBAAmB,EAAnB,kCAAmB;YAEnB,WAAW,EAAE,CAAC,GAAY,EAAE,EAAE;gBAC1B,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAC;gBACf,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YAED,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SACtE,CAAC;QAEF,IAAI,YAAY,GAAyB,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,uBAAuB;YAC9D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;gBAC7C,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,uBAAuB;YAE3C,wBAAwB;YACxB,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,sDAAsD;YAC5F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,GAAG,CAAC;YACd,CAAC;YAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnB,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;gBACxC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzE,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACtC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtC,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;oBACtD,CAAC;oBACD,IAAI,CAAC;wBACD,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;oBAClD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,KAAK,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAoB;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAmB;QAChC,sBAAa,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,iBAAmD,CAAC;QACxD,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACD,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,SAAS,EAAE;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,gCAAY,EAAE;gBACvC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,iCAAa,EAAE;aACvD,CAAC,CAAC;YACH,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACvD,CAAC;gBAAS,CAAC;YACP,sBAAa,CAAC,iBAAiB,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE;YAChD,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,iCAAa,EAAE;SACvD,CAAC,CAAC;QACH,OAAO;YACH,IAAI;SACP,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAY;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC;QAC3C,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CACtC,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,8CAA4B,CAAC,CAAC,CAC7D,CAAC;QAEF,MAAM,mBAAmB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpD,IAAA,gDAA8B,EAAC,MAAM,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,iBAAiB,CAAC,EAAE,CAAC;YACpE,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,mBAAmB,EAAE,GAAG,uBAAuB,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACrB,aAAmD;QAEnD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO;gBACH,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;aACtC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAzSD,0CAySC"}
1
+ {"version":3,"file":"inmemory-adapter.js","sourceRoot":"","sources":["../../../../src/database/inmemory/inmemory-adapter.ts"],"names":[],"mappings":";;;AAAA,gDAAoD;AAEpD,kDAAuE;AAEvE,iDAA4F;AAQ5F,kDAAsD;AACtD,uDAAiG;AAEjG,iDAA4C;AAE5C,yEAA6F;AAC7F,6CAAoD;AAEpD,MAAa,UAAU;IACnB,WAAW,GAA2C,EAAE,CAAC;CAC5D;AAFD,gCAEC;AAED,MAAa,eAAe;IAMZ;IALJ,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;IACtB,MAAM,CAAS;IAEvB,YACI,UAA+B,EAAE,EACzB,aAA8B;QAA9B,kBAAa,GAAb,aAAa,CAAiB;QAEtC,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,cAAc,GAAG,aAAa,EAAE,cAAc,IAAI,iCAAuB,CAAC;QAChF,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACK,cAAc,CAClB,OAAyC,EACzC,EAAE,WAAW,EAAgC;QAE7C,MAAM,UAAU,GAAG,IAAI,GAAG,CACtB,0DAA6C,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC;YAChF,QAAQ,CAAC,gBAAgB,EAAE;YAC3B,QAAQ,CAAC,oBAAoB,EAAE;SAClC,CAAC,CACL,CAAC;QAEF,MAAM,OAAO,GAAG;YACZ,OAAO,CACH,GAAuD,EACvD,GAAuD;gBAEvD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;oBACnB,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;wBACnB,OAAO,CAAC,CAAC;oBACb,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;oBACnB,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC1B,IAAI,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;wBAC1B,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACzB,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;wBACzB,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACzB,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACzB,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;wBACzB,OAAO,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBACD,OAAO,CAAC,CAAC,CAAC;gBACd,CAAC;gBACD,IAAI,OAAO,GAAG,IAAI,QAAQ,EAAE,CAAC;oBACzB,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;wBACxB,OAAO,CAAC,CAAC,CAAC;oBACd,CAAC;oBAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;oBACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;wBACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM,kBAAkB,GAAW,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBACvE,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;4BAC3B,OAAO,kBAAkB,CAAC;wBAC9B,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,CAAC;gBACb,CAAC;gBAED,mBAAmB;gBAEnB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CACzB,IAAI,GAAG,CAAC;oBACJ,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC;oBAClC,GAAG,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC;iBACrC,CAAC,CACL,CAAC,IAAI,EAAE,CAAC;gBACT,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;oBAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM,kBAAkB,GAAW,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACvE,IAAI,kBAAkB,KAAK,CAAC,EAAE,CAAC;wBAC3B,OAAO,kBAAkB,CAAC;oBAC9B,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,CAAC;YACb,CAAC;YAED,GAAG,CAAC,KAAqC;gBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,CAAC;YAED,GAAG,CAAC,KAAqC;gBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAChB,OAAO,IAAI,CAAC;gBAChB,CAAC;gBACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACtF,CAAC;YAED,kBAAkB,CACd,GAAG,QAAgF;gBAEnF,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;gBACnB,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACtC,OAAO,CAAC,GAAM,EAAE,GAAM,EAAE,EAAE,CACtB,MAAM;wBACF,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;wBAC7C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxC,OAAO,CAAC,GAAM,EAAE,GAAM,EAAE,EAAE;wBACtB,MAAM,UAAU,GAAG,OAAO;4BACtB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;4BAC/C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;4BAClB,OAAO,UAAU,CAAC;wBACtB,CAAC;wBACD,OAAO,OAAO;4BACV,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;4BAC/C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;oBACxD,CAAC,CAAC;gBACN,CAAC;gBAED,OAAO,CAAC,GAAM,EAAE,GAAM,EAAU,EAAE;oBAC9B,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;wBACvC,MAAM,UAAU,GAAG,MAAM;4BACrB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;4BAC7C,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;wBAClD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;4BAClB,OAAO,UAAU,CAAC;wBACtB,CAAC;oBACL,CAAC;oBACD,OAAO,CAAC,CAAC;gBACb,CAAC,CAAC;YACN,CAAC;YAED,mBAAmB,EAAnB,kCAAmB;YAEnB,WAAW,EAAE,CAAC,GAAY,EAAE,EAAE;gBAC1B,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,GAAG,CAAC;gBACf,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;YAED,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;SACtE,CAAC;QAEF,IAAI,YAAY,GAAyB,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,uBAAuB;YAC9D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;gBAC7C,WAAW,CAAC,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,uBAAuB;YAE3C,wBAAwB;YACxB,IAAI,MAAM,CAAC;YACX,IAAI,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,sDAAsD;YAC5F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,GAAG,CAAC;YACd,CAAC;YAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACnB,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC;gBACxC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACzE,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBACtC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtC,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;oBACtD,CAAC;oBACD,IAAI,CAAC;wBACD,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;oBAClD,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,KAAK,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,IAAI,mBAAmB,EAAE,CAAC;YACtB,OAAO,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACJ,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAoB;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAmB;QAChC,sBAAa,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,iBAAmD,CAAC;QACxD,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC;YACD,OAAO,GAAG,IAAA,yBAAU,EAAC,IAAI,CAAC,SAAS,EAAE;gBACjC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,gCAAY,EAAE;gBACvC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,iCAAa,EAAE;aACvD,CAAC,CAAC;YACH,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;QACvD,CAAC;gBAAS,CAAC;YACP,sBAAa,CAAC,iBAAiB,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE;YAChD,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,iCAAa,EAAE;SACvD,CAAC,CAAC;QACH,OAAO;YACH,IAAI;SACP,CAAC;IACN,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAY;QAC3B,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC;QAC3C,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CACtC,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,8CAA4B,CAAC,CAAC,CAC7D,CAAC;QAEF,MAAM,mBAAmB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACpD,IAAA,gDAA8B,EAAC,MAAM,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,iBAAiB,CAAC,EAAE,CAAC;YACpE,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,mBAAmB,EAAE,GAAG,uBAAuB,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACrB,aAAmD;QAEnD,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,OAAO;gBACH,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;aACtC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AArSD,0CAqSC"}
@@ -43,9 +43,9 @@ class QueryContext {
43
43
  /**
44
44
  * Creates a new QueryContext that is identical to this one but has one additional variable binding
45
45
  * @param variableNode the variable token as it is referenced in the query tree
46
- * @param jsVariable the variable token as it will be available within the JS fragment
46
+ * @param jsVariable the token as it will be available within the JS fragment
47
47
  */
48
- newNestedContextWithNewVariable(variableNode, jsVariable) {
48
+ newNestedContextWithVariableBinding(variableNode, jsVariable) {
49
49
  if (this.variableMap.has(variableNode)) {
50
50
  throw new Error(`Variable ${variableNode} is introduced twice`);
51
51
  }
@@ -58,14 +58,21 @@ class QueryContext {
58
58
  /**
59
59
  * Creates a new QueryContext that is identical to this one but has one additional variable binding
60
60
  *
61
- * The JSFragment for the variable will be available via getVariable().
61
+ * If aqlFrag is omitted, a new JSVariable will be created using the name of the variableNode.
62
62
  *
63
- * @param {VariableQueryNode} variableNode the variable as referenced in the query tree
64
- * @returns {QueryContext} the nested context
63
+ * For jsFrag, you can specify a JSVariable or a different JSFragment (e.g. a field access).
64
+ * Do not specify complex expressions because they would be repeated for every use of the
65
+ * variable.
66
+ *
67
+ * @param variableNode the variable as referenced in the query tree
68
+ * @param jsFrag the fragment representing the variable in javascript
69
+ * @returns the new context
65
70
  */
66
- introduceVariable(variableNode) {
67
- const variable = new js_1.JSVariable(variableNode.label);
68
- return this.newNestedContextWithNewVariable(variableNode, variable);
71
+ bindVariable(variableNode, jsFrag = new js_1.JSVariable(variableNode.label)) {
72
+ if (this.variableMap.has(variableNode)) {
73
+ throw new Error(`Variable ${variableNode} is introduced twice`);
74
+ }
75
+ return this.newNestedContextWithVariableBinding(variableNode, jsFrag);
69
76
  }
70
77
  /**
71
78
  * Creates a new QueryContext that includes an additional transaction step and adds resultVariable to the scope
@@ -83,7 +90,7 @@ class QueryContext {
83
90
  let newContext;
84
91
  if (resultVariable) {
85
92
  resultVar = new js_1.JSQueryResultVariable(resultVariable.label);
86
- newContext = this.newNestedContextWithNewVariable(resultVariable, resultVar);
93
+ newContext = this.newNestedContextWithVariableBinding(resultVariable, resultVar);
87
94
  }
88
95
  else {
89
96
  resultVar = undefined;
@@ -182,7 +189,7 @@ register(query_tree_1.VariableQueryNode, (node, context) => {
182
189
  return context.getVariable(node);
183
190
  });
184
191
  register(query_tree_1.VariableAssignmentQueryNode, (node, context) => {
185
- const newContext = context.introduceVariable(node.variableNode);
192
+ const newContext = context.bindVariable(node.variableNode);
186
193
  const tmpVar = newContext.getVariable(node.variableNode);
187
194
  return jsExt.executingFunction((0, js_1.js) `const ${tmpVar} = ${processNode(node.variableValueNode, newContext)};`, (0, js_1.js) `return ${processNode(node.resultNode, newContext)}`);
188
195
  });
@@ -231,8 +238,17 @@ register(query_tree_1.DynamicPropertyAccessQueryNode, (node, context) => {
231
238
  register(query_tree_1.RootEntityIDQueryNode, (node, context) => {
232
239
  return getPropertyAccessFrag('id', processNode(node.objectNode, context));
233
240
  });
241
+ function getPaginationFrag({ maxCount = undefined, skip = 0, }) {
242
+ if (maxCount != undefined) {
243
+ return (0, js_1.js) `.slice(${skip}, ${skip + maxCount})`;
244
+ }
245
+ if (skip > 0) {
246
+ return (0, js_1.js) `.slice(${skip})`;
247
+ }
248
+ return (0, js_1.js) ``;
249
+ }
234
250
  register(query_tree_1.TransformListQueryNode, (node, context) => {
235
- let itemContext = context.introduceVariable(node.itemVariable);
251
+ let itemContext = context.bindVariable(node.itemVariable);
236
252
  const itemVar = itemContext.getVariable(node.itemVariable);
237
253
  function lambda(exprNode) {
238
254
  return jsExt.lambda(itemVar, processNode(exprNode, itemContext));
@@ -242,18 +258,8 @@ register(query_tree_1.TransformListQueryNode, (node, context) => {
242
258
  : getComparatorForOrderSpecification(node.orderBy, itemVar, itemContext);
243
259
  const isFiltered = !(node.filterNode instanceof query_tree_1.ConstBoolQueryNode) || node.filterNode.value != true;
244
260
  const isMapped = node.innerNode != node.itemVariable;
245
- let sliceClause;
246
- if (node.maxCount != undefined) {
247
- sliceClause = (0, js_1.js) `.slice(${node.skip}, ${node.skip + node.maxCount})`;
248
- }
249
- else if (node.skip > 0) {
250
- sliceClause = (0, js_1.js) `.slice(${node.skip})`;
251
- }
252
- else {
253
- sliceClause = (0, js_1.js) ``;
254
- }
255
261
  return js_1.js.lines(processNode(node.listNode, context), js_1.js.indent(js_1.js.lines(isFiltered ? (0, js_1.js) `.filter(${lambda(node.filterNode)})` : (0, js_1.js) ``, comparator ? (0, js_1.js) `.slice().sort(${comparator})` : (0, js_1.js) ``, // need slice() to not replace something in-place
256
- sliceClause, isMapped ? (0, js_1.js) `.map(${lambda(node.innerNode)})` : (0, js_1.js) ``)));
262
+ getPaginationFrag(node), isMapped ? (0, js_1.js) `.map(${lambda(node.innerNode)})` : (0, js_1.js) ``)));
257
263
  });
258
264
  register(query_tree_1.CountQueryNode, (node, context) => {
259
265
  // in arangodb LENGTH(null) is 0, which can be useful sometimes, so let's just mimick the behavior
@@ -325,7 +331,7 @@ register(query_tree_1.UpdateChildEntitiesQueryNode, (node, context) => {
325
331
  return processNode(node.originalList, context);
326
332
  }
327
333
  const itemsVar = js_1.js.variable('items');
328
- const childContext = context.introduceVariable(node.dictionaryVar);
334
+ const childContext = context.bindVariable(node.dictionaryVar);
329
335
  const dictVar = childContext.getVariable(node.dictionaryVar);
330
336
  const updatedDictVar = js_1.js.variable('updatedDict');
331
337
  const itemVar = js_1.js.variable('item');
@@ -490,7 +496,9 @@ function getFollowEdgeFragment(relationSide, sourceIDFrag, context) {
490
496
  const targetIDOnEdge = relationSide.isFromSide ? (0, js_1.js) `${edgeVar}._to` : (0, js_1.js) `${edgeVar}._from`;
491
497
  const idOnItem = (0, js_1.js) `${itemVar}.${js_1.js.identifier(ID_FIELD_NAME)}`;
492
498
  const idOnItemEqualsTargetIDOnEdge = (0, js_1.js) `${idOnItem} === ${targetIDOnEdge}`;
493
- return js_1.js.lines((0, js_1.js) `${edgeColl}`, js_1.js.indent(js_1.js.lines((0, js_1.js) `.filter(${jsExt.lambda(edgeVar, (0, js_1.js) `${sourceIDOnEdge} == ${sourceIDFrag}`)})`, (0, js_1.js) `.map(${jsExt.lambda(edgeVar, (0, js_1.js) `${targetColl}.find(${jsExt.lambda(itemVar, idOnItemEqualsTargetIDOnEdge)})`)})`, (0, js_1.js) `.filter(${jsExt.lambda(itemVar, itemVar)})`)));
499
+ return js_1.js.lines((0, js_1.js) `(${edgeColl}`, js_1.js.indent(js_1.js.lines(
500
+ // arangodb edge traversal seems to be newest-first. Replicate this here for regression tests that do not sort
501
+ (0, js_1.js) `.slice().reverse()`, (0, js_1.js) `.filter(${jsExt.lambda(edgeVar, (0, js_1.js) `${sourceIDOnEdge} == ${sourceIDFrag}`)})`, (0, js_1.js) `.map(${jsExt.lambda(edgeVar, (0, js_1.js) `${targetColl}.find(${jsExt.lambda(itemVar, idOnItemEqualsTargetIDOnEdge)})`)})`, (0, js_1.js) `.filter(${jsExt.lambda(itemVar, itemVar)})`)), (0, js_1.js) `)`);
494
502
  }
495
503
  register(query_tree_1.TraversalQueryNode, (node, context) => {
496
504
  let currentFrag = processNode(node.sourceEntityNode, context);
@@ -507,23 +515,23 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
507
515
  }
508
516
  const nodeVar = js_1.js.variable('node');
509
517
  const idFrag = isAlreadyID ? nodeVar : (0, js_1.js) `${nodeVar}.${js_1.js.identifier(ID_FIELD_NAME)}`;
518
+ const treatAsListSegment = segment.isListSegment ||
519
+ (segmentIndex === node.relationSegments.length - 1 && node.alwaysProduceList);
510
520
  if (isList) {
511
- const accVar = js_1.js.variable('acc');
512
- let edgeListFragment = (0, js_1.js) `${nodeVar} ? ${getFollowEdgeFragment(segment.relationSide, idFrag, context)} : null`;
513
- if (!segment.isListSegment &&
514
- (!node.alwaysProduceList || segmentIndex < node.relationSegments.length - 1)) {
521
+ let edgeListFragment = (0, js_1.js) `${nodeVar} ? ${getFollowEdgeFragment(segment.relationSide, idFrag, context)} : []`;
522
+ if (treatAsListSegment) {
523
+ currentFrag = (0, js_1.js) `${currentFrag}.flatMap(${jsExt.lambda(nodeVar, edgeListFragment)})`;
524
+ }
525
+ else {
515
526
  // to-1 relations can be nullable and we need to keep the NULL values (and not just pretend the source didn't exist)
516
- const edgeListVar = js_1.js.variable('edges');
517
- edgeListFragment = jsExt.evaluatingLambda(edgeListVar, (0, js_1.js) `${edgeListVar}.length ? ${edgeListVar} : [null]`, edgeListFragment);
527
+ currentFrag = (0, js_1.js) `${currentFrag}.map(${jsExt.lambda(nodeVar, (0, js_1.js) `(${edgeListFragment})?.[0] || null`)})`;
518
528
  }
519
- const reducer = (0, js_1.js) `(${accVar}, ${nodeVar}) => ${accVar}.concat(${edgeListFragment})`;
520
- currentFrag = (0, js_1.js) `${currentFrag}.reduce(${reducer}, [])`;
521
529
  }
522
530
  else {
523
- currentFrag = jsExt.evaluatingLambda(nodeVar, (0, js_1.js) `${nodeVar} ? ${getFollowEdgeFragment(segment.relationSide, idFrag, context)} : null`, currentFrag);
524
- if (!segment.isListSegment) {
525
- // to-1 relations can be nullable and we need to keep the NULL values (and not just pretend the source didn't exist)
526
- currentFrag = (0, js_1.js) `(${currentFrag}[0] || null)`;
531
+ currentFrag = jsExt.evaluatingLambda(nodeVar, (0, js_1.js) `${nodeVar} ? ${getFollowEdgeFragment(segment.relationSide, idFrag, context)} : []`, currentFrag);
532
+ if (!treatAsListSegment) {
533
+ // if there is no related entity, currentFrag is []. We want to convert that to null.
534
+ currentFrag = (0, js_1.js) `((${currentFrag})[0] || null)`;
527
535
  }
528
536
  }
529
537
  if (segment.minDepth !== 1 || segment.maxDepth !== 1) {
@@ -534,13 +542,15 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
534
542
  }
535
543
  segmentIndex++;
536
544
  }
537
- // if we need to capture the root, do this (pseudo-code)
545
+ // The root needs to available in innerNode, but we need to apply that last (after filter and sort)
546
+ // Therefore, we capture both item and root:
538
547
  // source.rel1.flatMap(o => o.rel2).flatMap(o2 => o2.rel3).flatMap(root => { root, obj: root.field1.flatMap(o => o.field2) })
539
- // if the relations don't return a list, call the mapper directly
540
548
  const relationTraversalReturnsList = isList;
541
549
  let rootVar;
542
550
  let relationFrag;
543
- if (node.captureRootEntity) {
551
+ let isRootCaptured = false;
552
+ if (node.fieldSegments.some((s) => s.isListSegment)) {
553
+ isRootCaptured = true;
544
554
  relationFrag = currentFrag;
545
555
  rootVar = js_1.js.variable('root');
546
556
  currentFrag = rootVar;
@@ -550,11 +560,10 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
550
560
  if (isList) {
551
561
  if (segment.isListSegment) {
552
562
  const nodeVar = js_1.js.variable('node');
553
- const accVar = js_1.js.variable('acc');
554
- const safeListVar = js_1.js.variable('list');
555
- // || [] to not concat `null` to a list
556
- const reducer = (0, js_1.js) `(${accVar}, ${nodeVar}) => ${accVar}.concat(${getPropertyAccessFrag(segment.field.name, nodeVar)} || [])`;
557
- currentFrag = jsExt.evaluatingLambda(safeListVar, (0, js_1.js) `${safeListVar}.reduce(${reducer}, [])`, (0, js_1.js) `${currentFrag} || []`);
563
+ const mapper = jsExt.lambda(nodeVar,
564
+ // || [] so that null or undefined don't end up in the final list
565
+ (0, js_1.js) `${getPropertyAccessFrag(segment.field.name, nodeVar)} || []`);
566
+ currentFrag = (0, js_1.js) `(${currentFrag} || []).flatMap(${mapper})`;
558
567
  }
559
568
  else {
560
569
  const nodeVar = js_1.js.variable('node');
@@ -569,18 +578,13 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
569
578
  isList = true;
570
579
  }
571
580
  }
572
- if (relationFrag && rootVar && node.captureRootEntity) {
581
+ if (relationFrag && rootVar) {
573
582
  if (relationTraversalReturnsList) {
574
583
  if (node.fieldSegments.some((f) => f.isListSegment)) {
575
- const accVar = js_1.js.variable('acc');
576
- const objVar = js_1.js.variable('obj');
577
- const mapper = (0, js_1.js) `${objVar} => ({ obj: ${objVar}, root: ${rootVar} })`;
578
- const reducer = (0, js_1.js) `(${accVar}, ${rootVar}) => ${accVar}.concat((${currentFrag}).map(${mapper}))`;
579
- currentFrag = (0, js_1.js) `${relationFrag}.reduce(${reducer}, [])`;
584
+ currentFrag = (0, js_1.js) `${relationFrag}.flatMap(${rootVar} => (${currentFrag}).map(obj => ({ obj: obj, root: ${rootVar} })))`;
580
585
  }
581
586
  else {
582
- const mapper = (0, js_1.js) `${rootVar} => ({ obj: ${currentFrag}, root: ${rootVar} })`;
583
- currentFrag = (0, js_1.js) `${relationFrag}.map(${mapper})`;
587
+ currentFrag = (0, js_1.js) `${relationFrag}.map(${rootVar} => ({ obj: ${currentFrag}, root: ${rootVar} }))`;
584
588
  }
585
589
  }
586
590
  else {
@@ -598,7 +602,23 @@ register(query_tree_1.TraversalQueryNode, (node, context) => {
598
602
  const resultVar = js_1.js.variable('result');
599
603
  currentFrag = jsExt.evaluatingLambda(resultVar, (0, js_1.js) `${currentFrag} == null ? [] : [ ${currentFrag} ]`, currentFrag);
600
604
  }
601
- return currentFrag;
605
+ if (!isList) {
606
+ return currentFrag;
607
+ }
608
+ const loopVar = js_1.js.variable(`item`);
609
+ const itemFrag = isRootCaptured ? (0, js_1.js) `${loopVar}.obj` : loopVar;
610
+ const itemContext = context
611
+ .bindVariable(node.itemVariable, itemFrag)
612
+ .bindVariable(node.rootEntityVariable, (0, js_1.js) `${loopVar}.root`);
613
+ const filterFrag = node.filterNode
614
+ ? (0, js_1.js) `.filter(${jsExt.lambda(loopVar, processNode(node.filterNode, itemContext))})`
615
+ : (0, js_1.js) ``;
616
+ const orderFrag = node.orderBy.isUnordered()
617
+ ? (0, js_1.js) ``
618
+ : (0, js_1.js) `.slice().sort(${getComparatorForOrderSpecification(node.orderBy, loopVar, itemContext)})`;
619
+ const mapFrag = (0, js_1.js) `.map(${jsExt.lambda(loopVar, node.innerNode ? processNode(node.innerNode, itemContext) : itemFrag)})`;
620
+ const paginationFrag = getPaginationFrag(node);
621
+ return (0, js_1.js) `${currentFrag}\n${js_1.js.indent(js_1.js.lines(filterFrag, orderFrag, paginationFrag, mapFrag))}`;
602
622
  });
603
623
  register(query_tree_1.CreateEntityQueryNode, (node, context) => {
604
624
  const objVar = js_1.js.variable('obj');
@@ -615,7 +635,7 @@ register(query_tree_1.CreateEntitiesQueryNode, (node, context) => {
615
635
  return processNode(transformedNode, context);
616
636
  });
617
637
  register(query_tree_1.UpdateEntitiesQueryNode, (node, context) => {
618
- const newContext = context.introduceVariable(node.currentEntityVariable);
638
+ const newContext = context.bindVariable(node.currentEntityVariable);
619
639
  const entityVar = newContext.getVariable(node.currentEntityVariable);
620
640
  function lambda(inner) {
621
641
  return jsExt.lambda(entityVar, inner);
@@ -724,7 +744,7 @@ register(query_tree_1.OperatorWithAnalyzerQueryNode, (node, context) => {
724
744
  return (0, js_1.js) `${lhsArray}.some(${itemVar} => ${opFrag})`;
725
745
  });
726
746
  register(flex_search_2.FlexSearchQueryNode, (node, context) => {
727
- let itemContext = context.introduceVariable(node.itemVariable);
747
+ let itemContext = context.bindVariable(node.itemVariable);
728
748
  const itemVar = itemContext.getVariable(node.itemVariable);
729
749
  function lambda(exprNode) {
730
750
  return jsExt.lambda(itemVar, processNode(exprNode, itemContext));
@@ -1 +1 @@
1
- {"version":3,"file":"js-generator.js","sourceRoot":"","sources":["../../../../src/database/inmemory/js-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"js-generator.js","sourceRoot":"","sources":["../../../../src/database/inmemory/js-generator.ts"],"names":[],"mappings":";;;AAs1CA,gCAaC;AAn2CD,mCAAiC;AACjC,wEAA6F;AAC7F,uCAA0F;AAC1F,iDAyD0B;AAC1B,8DAIsC;AACtC,8DAAoE;AACpE,6EAA8E;AAC9E,2EAAgE;AAChE,6CAA8D;AAC9D,kDAAsD;AACtD,uDAAiG;AACjG,6BAA0F;AAC1F,yEAAoG;AAEpG,MAAM,aAAa,GAAG,IAAI,CAAC;AAc3B,MAAM,YAAY;IAQD;IAPL,WAAW,GAAG,IAAI,GAAG,EAAiC,CAAC;IACvD,cAAc,GAAsB,EAAE,CAAC;IAE/C;IACI;;OAEG;IACM,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;IACzC,CAAC;IAEJ;;;OAGG;IACK,iBAAiB;QACrB,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACxC,IAAI,KAAK,YAAY,0BAAqB,EAAE,CAAC;gBACzC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACK,mCAAmC,CACvC,YAA+B,EAC/B,UAAsB;QAEtB,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,YAAY,YAAY,sBAAsB,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,UAAU,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACrD,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAChD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,YAAY,CACR,YAA+B,EAC/B,SAAqB,IAAI,eAAU,CAAC,YAAY,CAAC,KAAK,CAAC;QAEvD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,YAAY,YAAY,sBAAsB,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,IAAI,CAAC,mCAAmC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;;;;;OAUG;IACH,kBAAkB,CACd,YAAuB,EACvB,cAAkC,EAClC,eAAsC;QAEtC,IAAI,SAA4C,CAAC;QACjD,IAAI,UAAwB,CAAC;QAC7B,IAAI,cAAc,EAAE,CAAC;YACjB,SAAS,GAAG,IAAI,0BAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC5D,UAAU,GAAG,IAAI,CAAC,mCAAmC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACJ,SAAS,GAAG,SAAS,CAAC;YACtB,UAAU,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,MAAM,OAAO,GAAG,qBAAqB,CACjC,YAAY,EACZ,SAAS,EACT,eAAe,EACf,IAAI,CAAC,iBAAiB,EAAE,CAC3B,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,YAA+B;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,YAAY,YAAY,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;QACtF,CAAC;QACD,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,oBAAoB;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;CACJ;AAED,SAAS,qBAAqB,CAC1B,IAAe,EACf,cAAiD,EACjD,eAAiD,EACjD,OAAqB;IAErB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAEtD,OAAO,IAAI,oBAAe,CAAC,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,CAAC,CAAC;AACzF,CAAC;AAID,IAAU,KAAK,CAwBd;AAxBD,WAAU,KAAK;IACX,SAAgB,WAAW,CAAC,GAAW;QACnC,IAAI,OAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAA,OAAE,EAAA,GAAG,OAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,+BAA+B;QACjE,CAAC;aAAM,CAAC;YACJ,OAAO,IAAA,OAAE,EAAA,GAAG,GAAG,EAAE,CAAC,CAAC,4BAA4B;QACnD,CAAC;IACL,CAAC;IANe,iBAAW,cAM1B,CAAA;IAED,SAAgB,iBAAiB,CAAC,GAAG,OAAkC;QACnE,OAAO,OAAE,CAAC,KAAK,CAAC,IAAA,OAAE,EAAA,eAAe,EAAE,OAAE,CAAC,MAAM,CAAC,OAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,IAAA,OAAE,EAAA,MAAM,CAAC,CAAC;IAClF,CAAC;IAFe,uBAAiB,oBAEhC,CAAA;IAED,SAAgB,MAAM,CAAC,QAAoB,EAAE,UAAsB;QAC/D,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,QAAQ,UAAU,GAAG,CAAC;IAC9C,CAAC;IAFe,YAAM,SAErB,CAAA;IAED,SAAgB,gBAAgB,CAC5B,QAAoB,EACpB,UAAsB,EACtB,KAAiB;QAEjB,OAAO,IAAA,OAAE,EAAA,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,KAAK,GAAG,CAAC;IACjE,CAAC;IANe,sBAAgB,mBAM/B,CAAA;AACL,CAAC,EAxBS,KAAK,KAAL,KAAK,QAwBd;AAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoD,CAAC;AAE/E,SAAS,QAAQ,CAAsB,IAAoB,EAAE,SAA2B;IACpF,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,SAAqC,CAAC,CAAC,CAAC,iCAAiC;AAClG,CAAC;AAED,QAAQ,CAAC,6BAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;IAChC,OAAO,OAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAAa,EAAE,GAAG,EAAE;IACzB,OAAO,IAAA,OAAE,EAAA,MAAM,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAqB,EAAE,CAAC,IAAI,EAAE,EAAE;IACrC,MAAM,iBAAiB,GAAG,OAAE,CAAC,IAAI,CAAC,gCAAmB,CAAC,CAAC;IACvD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,OAAE,CAAC,IAAI,CAAC,wCAA2B,CAAC,CAAC;QACtD,OAAO,IAAA,OAAE,EAAA,KAAK,QAAQ,KAAK,IAAI,CAAC,IAAI,KAAK,iBAAiB,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC;IACpF,CAAC;IACD,OAAO,IAAA,OAAE,EAAA,KAAK,iBAAiB,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,MAAM,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,OAAO,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;IACjC,OAAO,OAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,IAAA,OAAE,EAAA,IAAI,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,OAAE,EAAA,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CACxF,CAAC;IACF,OAAO,OAAE,CAAC,KAAK,CAAC,IAAA,OAAE,EAAA,GAAG,EAAE,OAAE,CAAC,MAAM,CAAC,OAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAA,OAAE,EAAA,KAAK,CAAC,CAAC,EAAE,IAAA,OAAE,EAAA,GAAG,CAAC,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAAa,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,IAAA,OAAE,EAAA,IAAI,CAAC;IAClB,CAAC;IAED,OAAO,OAAE,CAAC,KAAK,CACX,IAAA,OAAE,EAAA,GAAG,EACL,OAAE,CAAC,MAAM,CACL,OAAE,CAAC,IAAI,CACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAChE,IAAA,OAAE,EAAA,KAAK,CACV,CACJ,EACD,IAAA,OAAE,EAAA,GAAG,CACR,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,OAAE,EAAA,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,OAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAA,OAAE,EAAA,IAAI,CAAC,CAAC;IAC/C,OAAO,IAAA,OAAE,EAAA,IAAI,WAAW,GAAG,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1C,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,wCAA2B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACpD,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,iBAAiB,CAC1B,IAAA,OAAE,EAAA,SAAS,MAAM,MAAM,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,GAAG,EACzE,IAAA,OAAE,EAAA,UAAU,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CACzD,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAyB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAClD,IAAI,cAAc,GAAG,OAAO,CAAC;IAC7B,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5C,cAAc,GAAG,cAAc,CAAC,kBAAkB,CAC9C,WAAW,CAAC,KAAK,EACjB,WAAW,CAAC,cAAc,EAC1B,WAAW,CAAC,eAAe,CAC9B,CAAC;IACN,CAAC;IAED,OAAO,IAAA,OAAE,EAAA,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9C,MAAM,YAAY,GAAG,IAAI,8BAAiB,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACnF,OAAO,WAAW,CACd,IAAI,iCAAoB,CACpB,IAAI,mCAAsB,CAAC;QACvB,QAAQ,EAAE,IAAI,8BAAiB,CAAC,IAAI,CAAC,cAAc,CAAC;QACpD,YAAY;QACZ,UAAU,EAAE,IAAI,qCAAwB,CACpC,IAAI,kCAAqB,CAAC,YAAY,CAAC,EACvC,2BAAc,CAAC,KAAK,EACpB,IAAI,CAAC,MAAM,CACd;KACJ,CAAC,CACL,EACD,OAAO,CACV,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAAc,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAAC,YAAoB,EAAE,UAAsB;IACvE,MAAM,SAAS,GAAG,OAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IACnD,8DAA8D;IAC9D,yFAAyF;IACzF,MAAM,GAAG,GAAG,IAAA,OAAE,EAAA,GAAG,UAAU,OAAO,SAAS,MAAM,SAAS,IAAI,UAAU,UAAU,CAAC;IAEnF,oDAAoD;IACpD,OAAO,KAAK,CAAC,gBAAgB,CACzB,SAAS,EACT,IAAA,OAAE,EAAA,aAAa,SAAS,qBAAqB,SAAS,iBAAiB,GAAG,WAAW,EACrF,UAAU,CACb,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,2CAA8B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvD,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,OAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACxD,8DAA8D;IAC9D,yFAAyF;IACzF,MAAM,GAAG,GAAG,IAAA,OAAE,EAAA,GAAG,OAAO,OAAO,SAAS,MAAM,SAAS,IAAI,OAAO,UAAU,CAAC;IAE7E,oDAAoD;IACpD,OAAO,KAAK,CAAC,gBAAgB,CACzB,SAAS,EACT,IAAA,OAAE,EAAA,aAAa,SAAS,qBAAqB,SAAS,iBAAiB,GAAG,WAAW,EACrF,UAAU,CACb,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9C,OAAO,qBAAqB,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,EACvB,QAAQ,GAAG,SAAS,EACpB,IAAI,GAAG,CAAC,GAIX;IACG,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;QACxB,OAAO,IAAA,OAAE,EAAA,UAAU,IAAI,KAAK,IAAI,GAAG,QAAQ,GAAG,CAAC;IACnD,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACX,OAAO,IAAA,OAAE,EAAA,UAAU,IAAI,GAAG,CAAC;IAC/B,CAAC;IACD,OAAO,IAAA,OAAE,EAAA,EAAE,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,mCAAsB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC/C,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE3D,SAAS,MAAM,CAAC,QAAmB;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QACzC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,kCAAkC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC7E,MAAM,UAAU,GACZ,CAAC,CAAC,IAAI,CAAC,UAAU,YAAY,+BAAkB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,IAAI,CAAC;IACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC;IAErD,OAAO,OAAE,CAAC,KAAK,CACX,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EACnC,OAAE,CAAC,MAAM,CACL,OAAE,CAAC,KAAK,CACJ,UAAU,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,WAAW,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,EAAE,EAC3D,UAAU,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,iBAAiB,UAAU,GAAG,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,EAAE,EAAE,iDAAiD;IACvG,iBAAiB,CAAC,IAAI,CAAC,EACvB,QAAQ,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,QAAQ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,EAAE,CACxD,CACJ,CACJ,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2BAAc,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvC,kGAAkG;IAClG,OAAO,IAAA,OAAE,EAAA,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC;AACrE,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7C,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,cAAc,GAAG,OAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,MAAM,oBAAoB,GAAG,IAAA,OAAE,EAAA,GAAG,QAAQ,WAAW,OAAO,OAAO,OAAO,WAAW,CAAC;IAEtF,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,2BAAmB,CAAC,GAAG;YACxB,OAAO,IAAA,OAAE,EAAA,GAAG,oBAAoB,YAAY,OAAO,KAAK,cAAc,QAAQ,cAAc,MAAM,OAAO,MAAM,CAAC;QACpH,KAAK,2BAAmB,CAAC,OAAO;YAC5B,OAAO,KAAK,CAAC,gBAAgB,CACzB,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,OAAO,cAAc,OAAO,YAAY,OAAO,KAAK,cAAc,QAAQ,cAAc,MAAM,OAAO,OAAO,OAAO,iBAAiB,EACzI,oBAAoB,CACvB,CAAC;QACN,KAAK,2BAAmB,CAAC,GAAG;YACxB,OAAO,IAAA,OAAE,EAAA,eAAe,oBAAoB,GAAG,CAAC;QACpD,KAAK,2BAAmB,CAAC,GAAG;YACxB,OAAO,IAAA,OAAE,EAAA,eAAe,oBAAoB,GAAG,CAAC;QACpD,KAAK,2BAAmB,CAAC,SAAS;YAC9B,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,SAAS,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;QACnE,KAAK,2BAAmB,CAAC,aAAa;YAClC,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,SAAS,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,IAAI,OAAO,EAAE,CAAC,GAAG,CAAC;QAC3E,KAAK,2BAAmB,CAAC,UAAU;YAC/B,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,UAAU,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC;QACpE,KAAK,2BAAmB,CAAC,SAAS;YAC9B,OAAO,IAAA,OAAE,EAAA,KAAK,QAAQ,SAAS,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;QACtE,KAAK,2BAAmB,CAAC,UAAU;YAC/B,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;QAC5E,KAAK,2BAAmB,CAAC,cAAc;YACnC,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,IAAI,OAAO,EAAE,CAAC,UAAU,CAAC;QACpF,KAAK,2BAAmB,CAAC,SAAS;YAC9B,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,SAAS,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,GAAG,OAAO,UAAU,CAAC,GAAG,CAAC;QAClF,KAAK,2BAAmB,CAAC,aAAa;YAClC,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,SAAS,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,GAAG,OAAO,UAAU,CAAC,GAAG,CAAC;QAClF,KAAK,2BAAmB,CAAC,UAAU;YAC/B,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,UAAU,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,GAAG,OAAO,UAAU,CAAC,GAAG,CAAC;QACnF,KAAK,2BAAmB,CAAC,SAAS;YAC9B,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,UAAU,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,GAAG,OAAO,UAAU,CAAC,GAAG,CAAC;QACnF,KAAK,2BAAmB,CAAC,UAAU;YAC/B,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,GAAG,OAAO,UAAU,CAAC,UAAU,CAAC;QAC3F,KAAK,2BAAmB,CAAC,cAAc;YACnC,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,GAAG,OAAO,UAAU,CAAC,UAAU,CAAC;QAC3F,KAAK,2BAAmB,CAAC,KAAK;YAC1B,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,SAAS,CAAC;QAClC,KAAK,2BAAmB,CAAC,IAAI;YACzB,OAAO,IAAA,OAAE,EAAA,MAAM,QAAQ,UAAU,CAAC;QACtC,KAAK,2BAAmB,CAAC,IAAI;YACzB,OAAO,IAAA,OAAE,EAAA,KAAK,QAAQ,UAAU,CAAC;QAErC,qDAAqD;QACrD,KAAK,2BAAmB,CAAC,QAAQ;YAC7B,MAAM,QAAQ,GAAG,OAAE,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,CAC/B,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,OAAO,YAAY,OAAO,KAAK,QAAQ,SAAS,OAAO,eAAe,OAAO,cAAc,QAAQ,sBAAsB,OAAO,wBAAwB,QAAQ,UAAU,QAAQ,IAAI,EAC3L,oBAAoB,CACvB,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,IAAA,OAAE,EAAA,GAAG,IAAI,wBAAwB,CAAC;YAC7C,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,KAAK,2BAAmB,CAAC,cAAc;YACnC,OAAO,KAAK,CAAC,gBAAgB,CACzB,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,OAAO,YAAY,OAAO,KAAK,QAAQ,SAAS,OAAO,eAAe,OAAO,YAAY,OAAO,SAAS,QAAQ,WAAW,EACjI,oBAAoB,CACvB,CAAC;QACN;YACI,MAAM,IAAI,KAAK,CAAC,qCAAsC,IAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yCAA4B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACrD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,yDAAyD;QACzD,OAAO,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,OAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7D,MAAM,cAAc,GAAG,OAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAEzC,uDAAuD;IAEvD,OAAO,KAAK,CAAC,iBAAiB;IAC1B,0FAA0F;IAC1F,IAAA,OAAE,EAAA,SAAS,QAAQ,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE;IAElE,qFAAqF;IACrF,oFAAoF;IACpF,qFAAqF;IACrF,yFAAyF;IACzF,oCAAoC;IACpC,yFAAyF;IACzF,wEAAwE;IACxE,6EAA6E;IAC7E,wFAAwF;IACxF,IAAA,OAAE,EAAA,SAAS,OAAO,wBAAwB,EAC1C,OAAE,CAAC,MAAM,CACL,OAAE,CAAC,KAAK,CACJ,IAAA,OAAE,EAAA,GAAG,QAAQ,SAAS,OAAO,KAAK,QAAQ,QAAQ,EAClD,OAAE,CAAC,MAAM,CACL,OAAE,CAAC,KAAK;IACJ,wCAAwC;IACxC,IAAA,OAAE,EAAA,GAAG,OAAO,MAAM,EAClB,IAAA,OAAE,EAAA,QAAQ,OAAO,cAAc,QAAQ,IAAI,CAC9C,CACJ,EACD,IAAA,OAAE,EAAA,IAAI,CACT,CACJ,EACD,IAAA,OAAE,EAAA,IAAI;IAEN,0FAA0F;IAC1F,IAAA,OAAE,EAAA,SAAS,cAAc,MAAM,EAC/B,OAAE,CAAC,MAAM,CACL,OAAE,CAAC,KAAK,CACJ,IAAA,OAAE,EAAA,MAAM,OAAO,GAAG,EAClB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAc,EAAE;QACvC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACxD,8EAA8E;QAC9E,kCAAkC;QAClC,+DAA+D;QAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QACvE,OAAO,IAAA,OAAE,EAAA,IAAI,MAAM,MAAM,SAAS,GAAG,CAAC;IAC1C,CAAC,CAAC,CACL,CACJ,EACD,IAAA,OAAE,EAAA,IAAI;IAEN,0GAA0G;IAC1G,iCAAiC;IACjC,8CAA8C;IAC9C,IAAA,OAAE,EAAA,wBAAwB,cAAc,uEAAuE,OAAO,UAAU,OAAO,IAAI,CAC9I,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,OAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAA,OAAE,EAAA,IAAI,CAAC,CAAC;IACpD,OAAO,IAAA,OAAE,EAAA,qBAAqB,eAAe,GAAG,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mCAAsB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,OAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC,gBAAgB,CACzB,MAAM,EACN,IAAA,OAAE,EAAA,IAAI,MAAM,cAAc,MAAM,mCAAmC,MAAM,QAAQ,EACjF,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CACxC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7C,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,gBAAgB,CACzB,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,OAAO,aAAa,OAAO,YAAY,EAC5C,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CACtC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,gBAAgB,CACzB,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,OAAO,aAAa,IAAI,CAAC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,UAAU,EACxE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CACtC,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACjD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,OAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,OAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAC1C,MAAM,EACN,IAAA,OAAE,EAAA,kBAAkB,MAAM,OAAO,MAAM,aAAa,MAAM,IAAI,EAC9D,GAAG,CACN,CAAC;IACF,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAC1C,MAAM,EACN,IAAA,OAAE,EAAA,kBAAkB,MAAM,OAAO,MAAM,aAAa,MAAM,IAAI,EAC9D,GAAG,CACN,CAAC;IACF,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,EAAE,EAAE,CAAC;QACL,OAAO,IAAA,OAAE,EAAA,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC;IACrC,CAAC;IAED,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,2BAAc,CAAC,SAAS;YACzB,OAAO,OAAO,CAAC,IAAA,OAAE,EAAA,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,KAAK,2BAAc,CAAC,kBAAkB;YAClC,OAAO,OAAO,CAAC,IAAA,OAAE,EAAA,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,2BAAc,CAAC,YAAY;YAC5B,OAAO,OAAO,CAAC,IAAA,OAAE,EAAA,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACpC,KAAK,2BAAc,CAAC,qBAAqB;YACrC,OAAO,OAAO,CAAC,IAAA,OAAE,EAAA,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,2BAAc,CAAC,QAAQ;YACxB,OAAO,IAAA,OAAE,EAAA,GAAG,eAAe,aAAa,GAAG,GAAG,CAAC;QACnD,KAAK,2BAAc,CAAC,EAAE;YAClB,OAAO,IAAA,OAAE,EAAA,GAAG,eAAe,aAAa,GAAG,GAAG,CAAC;QACnD,KAAK,2BAAc,CAAC,WAAW;YAC3B,OAAO,IAAA,OAAE,EAAA,UAAU,GAAG,gBAAgB,GAAG,GAAG,CAAC;QACjD,KAAK,2BAAc,CAAC,SAAS;YACzB,OAAO,IAAA,OAAE,EAAA,UAAU,GAAG,cAAc,GAAG,GAAG,CAAC;QAC/C,KAAK,2BAAc,CAAC,IAAI;YACpB,IAAI,IAAI,CAAC,GAAG,YAAY,6BAAgB,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC7E,MAAM,MAAM,GAAG,IAAA,kCAAmB,EAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnD,OAAO,IAAA,OAAE,EAAA,YAAY,GAAG,WAAW,OAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;YAC3D,CAAC;YACD,OAAO,IAAA,OAAE,EAAA,YAAY,GAAG,uCAAuC,GAAG,GAAG,CAAC;QAC1E,KAAK,2BAAc,CAAC,MAAM,EAAE,qDAAqD;YAC7E,OAAO,IAAA,OAAE,EAAA,UAAU,GAAG,cAAc,GAAG,GAAG,CAAC;QAC/C,KAAK,2BAAc,CAAC,OAAO;YACvB,OAAO,IAAA,OAAE,EAAA,UAAU,GAAG,cAAc,GAAG,GAAG,CAAC;QAC/C,KAAK,2BAAc,CAAC,cAAc;YAC9B,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,IAAA,OAAE,EAAA,IAAI,GAAG,YAAY,OAAO,QAAQ,GAAG,aAAa,OAAO,IAAI,CAAC;QAC3E;YACI,MAAM,IAAI,KAAK,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChD,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,0BAAa,CAAC,GAAG;YAClB,OAAO,IAAA,OAAE,EAAA,KAAK,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;QAC1D,KAAK,0BAAa,CAAC,cAAc;YAC7B,OAAO,IAAA,OAAE,EAAA,kBAAkB,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;QACvE,KAAK,0BAAa,CAAC,KAAK;YACpB,OAAO,IAAA,OAAE,EAAA,cAAc,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;QACnE;YACI,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxE,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,IAAA,OAAE,EAAA,IAAI,IAAI,MAAM,KAAK,MAAM,KAAK,GAAG,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,IAAA,OAAE,EAAA,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEtC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,sBAAS,CAAC,MAAM;YACjB,OAAO,KAAK,CAAC,gBAAgB,CACzB,QAAQ,EACR,IAAA,OAAE,EAAA,WAAW,QAAQ,2BAA2B,QAAQ,yBAAyB,QAAQ,eAAe,EACxG,KAAK,CACR,CAAC;QACN,KAAK,sBAAS,CAAC,IAAI;YACf,OAAO,IAAA,OAAE,EAAA,iBAAiB,KAAK,GAAG,CAAC;QACvC,KAAK,sBAAS,CAAC,MAAM;YACjB,OAAO,KAAK,CAAC,gBAAgB,CACzB,QAAQ,EACR,IAAA,OAAE,EAAA,UAAU,QAAQ,mBAAmB,QAAQ,8BAA8B,QAAQ,GAAG,EACxF,KAAK,CACR,CAAC;QACN,KAAK,sBAAS,CAAC,IAAI;YACf,OAAO,IAAA,OAAE,EAAA,GAAG,KAAK,UAAU,CAAC;IACpC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,WAAW,GAAG,IAAI,iCAAoB,CACxC,IAAI,+BAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAS,CAAC,IAAI,CAAC,EACvD,IAAI,CAAC,UAAU,EACf,0BAAa,CAAC,KAAK,CACtB,CAAC;IACF,OAAO,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7C,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEjE,sEAAsE;IACtE,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACzB,UAAU,GAAG,MAAM,CAAC;QACpB,aAAa,GAAG,IAAA,iBAAG,EAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,mCAAsB,CAAC;QAChD,QAAQ;QACR,UAAU,EAAE,aAAa;QACzB,YAAY;KACf,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAI,qCAAwB,CAC1C,IAAI,2BAAc,CAAC,gBAAgB,CAAC,EACpC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,2BAAc,CAAC,KAAK,CAAC,CAAC,CAAC,2BAAc,CAAC,YAAY,EAC1E,IAAI,6BAAgB,CAAC,CAAC,CAAC,CAC1B,CAAC;IACF,OAAO,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1C,OAAO,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gCAAmB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,kCAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;IACxF,OAAO,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAC1B,YAA0B,EAC1B,YAAwB,EACxB,OAAqB;IAErB,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,wBAAwB,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,IAAA,oBAAY,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,MAAM,CAAC;IAC3F,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,QAAQ,CAAC;IAC3F,MAAM,QAAQ,GAAG,IAAA,OAAE,EAAA,GAAG,OAAO,IAAI,OAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;IAChE,MAAM,4BAA4B,GAAG,IAAA,OAAE,EAAA,GAAG,QAAQ,QAAQ,cAAc,EAAE,CAAC;IAE3E,OAAO,OAAE,CAAC,KAAK,CACX,IAAA,OAAE,EAAA,IAAI,QAAQ,EAAE,EAChB,OAAE,CAAC,MAAM,CACL,OAAE,CAAC,KAAK;IACJ,8GAA8G;IAC9G,IAAA,OAAE,EAAA,oBAAoB,EACtB,IAAA,OAAE,EAAA,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,GAAG,cAAc,OAAO,YAAY,EAAE,CAAC,GAAG,EAC/E,IAAA,OAAE,EAAA,QAAQ,KAAK,CAAC,MAAM,CAClB,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,UAAU,SAAS,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,GAAG,CACjF,GAAG,EACJ,IAAA,OAAE,EAAA,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CACjD,CACJ,EACD,IAAA,OAAE,EAAA,GAAG,CACR,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,+BAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAc,EAAE;IACvD,IAAI,WAAW,GAAe,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;IAC/B,IAAI,WAAW,GAAG,IAAI,CAAC,sBAAsB,KAAK,mCAAsB,CAAC,EAAE,CAAC;IAE5E,IACI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM;QAC7B,IAAI,CAAC,sBAAsB,KAAK,mCAAsB,CAAC,MAAM,EAC/D,CAAC;QACC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACX,4EAA4E,CAC/E,CAAC;QACN,CAAC;QAED,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,IAAI,OAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtF,MAAM,kBAAkB,GACpB,OAAO,CAAC,aAAa;YACrB,CAAC,YAAY,KAAK,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClF,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,gBAAgB,GAAG,IAAA,OAAE,EAAA,GAAG,OAAO,MAAM,qBAAqB,CAC1D,OAAO,CAAC,YAAY,EACpB,MAAM,EACN,OAAO,CACV,OAAO,CAAC;YACT,IAAI,kBAAkB,EAAE,CAAC;gBACrB,WAAW,GAAG,IAAA,OAAE,EAAA,GAAG,WAAW,YAAY,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACJ,oHAAoH;gBACpH,WAAW,GAAG,IAAA,OAAE,EAAA,GAAG,WAAW,QAAQ,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAA,OAAE,EAAA,IAAI,gBAAgB,gBAAgB,CAAC,GAAG,CAAC;YAC3G,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAChC,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,OAAO,MAAM,qBAAqB,CACnC,OAAO,CAAC,YAAY,EACpB,MAAM,EACN,OAAO,CACV,OAAO,EACR,WAAW,CACd,CAAC;YACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,qFAAqF;gBACrF,WAAW,GAAG,IAAA,OAAE,EAAA,KAAK,WAAW,eAAe,CAAC;YACpD,CAAC;QACL,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,YAAY,EAAE,CAAC;IACnB,CAAC;IAED,mGAAmG;IACnG,4CAA4C;IAC5C,8HAA8H;IAE9H,MAAM,4BAA4B,GAAG,MAAM,CAAC;IAC5C,IAAI,OAA+B,CAAC;IACpC,IAAI,YAAoC,CAAC;IACzC,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QAClD,cAAc,GAAG,IAAI,CAAC;QACtB,YAAY,GAAG,WAAW,CAAC;QAC3B,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9B,WAAW,GAAG,OAAO,CAAC;QACtB,MAAM,GAAG,KAAK,CAAC,CAAC,wDAAwD;IAC5E,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CACvB,OAAO;gBACP,iEAAiE;gBACjE,IAAA,OAAE,EAAA,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAClE,CAAC;gBACF,WAAW,GAAG,IAAA,OAAE,EAAA,IAAI,WAAW,mBAAmB,MAAM,GAAG,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACJ,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CACvB,OAAO,EACP,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CACrD,CAAC;gBACF,WAAW,GAAG,IAAA,OAAE,EAAA,GAAG,WAAW,QAAQ,MAAM,GAAG,CAAC;YACpD,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC;IACL,CAAC;IAED,IAAI,YAAY,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,4BAA4B,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClD,WAAW,GAAG,IAAA,OAAE,EAAA,GAAG,YAAY,YAAY,OAAO,QAAQ,WAAW,mCAAmC,OAAO,OAAO,CAAC;YAC3H,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,IAAA,OAAE,EAAA,GAAG,YAAY,QAAQ,OAAO,eAAe,WAAW,WAAW,OAAO,MAAM,CAAC;YACrG,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,OAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAClC,MAAM,MAAM,GAAG,IAAA,OAAE,EAAA,GAAG,MAAM,eAAe,MAAM,WAAW,OAAO,KAAK,CAAC;gBACvE,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAChC,OAAO,EACP,IAAA,OAAE,EAAA,IAAI,WAAW,SAAS,MAAM,GAAG,EACnC,YAAY,CACf,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAChC,OAAO,EACP,IAAA,OAAE,EAAA,WAAW,WAAW,WAAW,OAAO,KAAK,EAC/C,YAAY,CACf,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,OAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAChC,SAAS,EACT,IAAA,OAAE,EAAA,GAAG,WAAW,qBAAqB,WAAW,IAAI,EACpD,WAAW,CACd,CAAC;IACN,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC/D,MAAM,WAAW,GAAG,OAAO;SACtB,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;SACzC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAA,OAAE,EAAA,GAAG,OAAO,OAAO,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;QAC9B,CAAC,CAAC,IAAA,OAAE,EAAA,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,GAAG;QAClF,CAAC,CAAC,IAAA,OAAE,EAAA,EAAE,CAAC;IACX,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;QACxC,CAAC,CAAC,IAAA,OAAE,EAAA,EAAE;QACN,CAAC,CAAC,IAAA,OAAE,EAAA,iBAAiB,kCAAkC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC;IACnG,MAAM,OAAO,GAAG,IAAA,OAAE,EAAA,QAAQ,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;IACzH,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE/C,OAAO,IAAA,OAAE,EAAA,GAAG,WAAW,KAAK,OAAE,CAAC,MAAM,CAAC,OAAE,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;AACtG,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kCAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9C,MAAM,MAAM,GAAG,OAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,OAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,OAAO,KAAK,CAAC,iBAAiB,CAC1B,IAAA,OAAE,EAAA,SAAS,MAAM,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,EAC/D,IAAA,OAAE,EAAA,SAAS,KAAK,0BAA0B,EAC1C,IAAA,OAAE,EAAA,GAAG,MAAM,IAAI,OAAE,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,KAAK,GAAG,EACzD,IAAA,OAAE,EAAA,GAAG,OAAE,CAAC,UAAU,CAAC,IAAA,gDAA8B,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,EAC1F,IAAA,OAAE,EAAA,UAAU,KAAK,GAAG,CACvB,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChD,MAAM,SAAS,GAAG,IAAI,8BAAiB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,IAAI,mCAAsB,CAAC;QAC/C,QAAQ,EAAE,IAAI,CAAC,WAAW;QAC1B,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,IAAI,kCAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;KAC5F,CAAC,CAAC;IACH,OAAO,WAAW,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAErE,SAAS,MAAM,CAAC,KAAiB;QAC7B,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,cAAc,GAAe,KAAK,CAAC,iBAAiB,CACtD,IAAA,OAAE,EAAA,iBAAiB,SAAS,KAAK,WAAW,CACxC,IAAI,4BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EACjC,UAAU,CACb,IAAI,EACL,IAAA,OAAE,EAAA,UAAU,SAAS,IAAI,OAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAC3D,CAAC;IAEF,OAAO,OAAE,CAAC,KAAK,CACX,IAAA,OAAE,EAAA,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAC1C,OAAE,CAAC,MAAM,CAAC,OAAE,CAAC,KAAK,CAAC,IAAA,OAAE,EAAA,QAAQ,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAC3D,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oCAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChD,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,OAAE,CAAC,UAAU,CAAC,IAAA,gDAA8B,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAChF,MAAM,MAAM,GAAG,OAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAI,UAAU,CAAC;IACf,IAAI,QAAQ,CAAC;IACb,QAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAClC,KAAK,mCAAsB,CAAC,MAAM;YAC9B,UAAU,GAAG,IAAA,OAAE,EAAA,GAAG,OAAO,QAAQ,KAAK,CAAC,MAAM,CACzC,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,OAAO,IAAI,OAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CACjD,GAAG,CAAC;YACL,QAAQ,GAAG,OAAO,CAAC;YACnB,MAAM;QACV,KAAK,mCAAsB,CAAC,EAAE;YAC1B,UAAU,GAAG,OAAO,CAAC;YACrB,MAAM,QAAQ,GAAG,OAAE,CAAC,QAAQ,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,0DAA0D;YAC1D,QAAQ,GAAG,IAAA,OAAE,EAAA,GAAG,UAAU,QAAQ,KAAK,CAAC,MAAM,CAC1C,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,IAAI,SAAS,KAAK,CAAC,MAAM,CAC1B,QAAQ,EACR,IAAA,OAAE,EAAA,GAAG,QAAQ,IAAI,OAAE,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,OAAO,EAAE,CACjE,GAAG,CACP,GAAG,CAAC;YACL,MAAM;QACV;YACI,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,KAAK,CAAC,iBAAiB,CAC1B,IAAA,OAAE,EAAA,SAAS,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAC7D,IAAA,OAAE,EAAA,SAAS,MAAM,cAAc,UAAU,IAAI,EAC7C,IAAA,OAAE,EAAA,SAAS,OAAO,MAAM,QAAQ,GAAG,EACnC,IAAA,OAAE,EAAA,GAAG,IAAI,MAAM,IAAI,WAAW,KAAK,CAAC,MAAM,CACtC,OAAO,EACP,IAAA,OAAE,EAAA,IAAI,MAAM,QAAQ,OAAO,IAAI,OAAE,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CACjE,IAAI,EACL,IAAA,OAAE,EAAA,UAAU,OAAO,GAAG,CACzB,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8BAAiB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1C,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,OAAE,CAAC,KAAK,CACpB,IAAA,OAAE,EAAA,GAAG,EACL,OAAE,CAAC,MAAM,CACL,OAAE,CAAC,IAAI,CACH,IAAI,CAAC,KAAK,CAAC,GAAG,CACV,CAAC,IAAI,EAAE,EAAE,CACL,IAAA,OAAE,EAAA,YAAY,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,WAAW,CACpE,IAAI,CAAC,QAAQ,EACb,OAAO,CACV,IAAI,CACZ,EACD,IAAA,OAAE,EAAA,KAAK,CACV,CACJ,EACD,IAAA,OAAE,EAAA,GAAG,CACR,CAAC;IAEF,SAAS,UAAU,CAAC,IAAgB;QAChC,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,OAAO,IAAA,OAAE,EAAA,GAAG,IAAI,SAAS,KAAK,CAAC,MAAM,CACjC,OAAO,EACP,IAAA,OAAE,EAAA,GAAG,OAAO,aAAa,IAAI,aAAa,OAAO,YAAY,IAAI,MAAM,CAC1E,GAAG,CAAC;IACT,CAAC;IAED,MAAM,KAAK,GAAG,OAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO,IAAA,OAAE,EAAA,GAAG,OAAO,YAAY,KAAK,CAAC,MAAM,CACvC,KAAK,EACL,IAAA,OAAE,EAAA,GAAG,UAAU,CAAC,KAAK,CAAC,kBAAkB,IAAI,SAAS,KAAK,GAAG,CAChE,GAAG,CAAC;AACT,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAoB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW;QACvC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS;QACnC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,mBAAmB,GAAG,IAAA,gBAAO,EAAC;QAChC,OAAO,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,aAAa,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS;QAC/D,KAAK,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,KAAK,aAAa,OAAO,OAAO,CAAC,CAAC,CAAC,SAAS;KAC5D,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,IAAA,OAAE,EAAA,KAAK,OAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAA,OAAE,EAAA,MAAM,CAAC,GAAG,CAAC;IAExE,OAAO,KAAK,CAAC,iBAAiB,CAC1B,IAAA,OAAE,EAAA,GAAG,IAAI,MAAM,IAAI,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAC1E,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0CAA6B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtD,IACI,IAAI,CAAC,QAAQ,KAAK,8BAAgB;QAClC,IAAI,CAAC,QAAQ,KAAK,+BAAiB;QACnC,IAAI,CAAC,QAAQ,KAAK,IAAI,EACxB,CAAC;QACC,MAAM,IAAI,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,KAAK,8BAAgB,CAAC;IAE7D,IAAI,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzC,IAAI,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAEzC,kGAAkG;IAClG,mDAAmD;IACnD,MAAM,QAAQ,GAAG,IAAA,OAAE,EAAA,uBAAuB,GAAG,GAAG,CAAC;IACjD,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,QAAQ,GAAG,OAAO,CAAC;IAEvB,IAAI,iBAAiB,EAAE,CAAC;QACpB,QAAQ,GAAG,IAAA,OAAE,EAAA,IAAI,QAAQ,kBAAkB,CAAC;QAC5C,MAAM,MAAM,GAAG,OAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClC,GAAG,GAAG,KAAK,CAAC,gBAAgB,CACxB,MAAM,EACN,IAAA,OAAE,EAAA,kBAAkB,MAAM,OAAO,MAAM,0CAA0C,MAAM,mBAAmB,EAC1G,GAAG,CACN,CAAC;IACN,CAAC;IAED,IAAI,MAAkB,CAAC;IACvB,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,uCAA0B,CAAC,KAAK;YACjC,MAAM,GAAG,IAAA,OAAE,EAAA,IAAI,QAAQ,QAAQ,GAAG,GAAG,CAAC;YACtC,MAAM;QACV,KAAK,uCAA0B,CAAC,OAAO;YACnC,MAAM,GAAG,IAAA,OAAE,EAAA,IAAI,QAAQ,QAAQ,GAAG,GAAG,CAAC;YACtC,MAAM;QACV,KAAK,uCAA0B,CAAC,qBAAqB;YACjD,MAAM,GAAG,OAAO,CAAC,IAAA,OAAE,EAAA,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM;QACV,KAAK,uCAA0B,CAAC,8BAA8B;YAC1D,MAAM,GAAG,OAAO,CAAC,IAAA,OAAE,EAAA,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM;QACV,KAAK,uCAA0B,CAAC,wBAAwB;YACpD,MAAM,GAAG,OAAO,CAAC,IAAA,OAAE,EAAA,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACvC,MAAM;QACV,KAAK,uCAA0B,CAAC,iCAAiC;YAC7D,MAAM,GAAG,OAAO,CAAC,IAAA,OAAE,EAAA,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM;QACV,KAAK,uCAA0B,CAAC,EAAE;YAC9B,MAAM,GAAG,IAAA,OAAE,EAAA,GAAG,GAAG,aAAa,QAAQ,GAAG,CAAC;YAC1C,MAAM;QACV,KAAK,uCAA0B,CAAC,6BAA6B,CAAC;QAC9D,KAAK,uCAA0B,CAAC,2BAA2B,CAAC;QAC5D,KAAK,uCAA0B,CAAC,2BAA2B,CAAC;QAC5D;YACI,MAAM,IAAI,KAAK,CAAC,8CAA8C,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,IAAA,OAAE,EAAA,GAAG,QAAQ,SAAS,OAAO,OAAO,MAAM,GAAG,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,iCAAmB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC5C,IAAI,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAE3D,SAAS,MAAM,CAAC,QAAmB;QAC/B,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,UAAU,GACZ,CAAC,CAAC,IAAI,CAAC,cAAc,YAAY,+BAAkB,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,IAAI,IAAI,CAAC;IAE9F,IAAI,SAAS,GAAG,IAAA,OAAE,EAAA,EAAE,CAAC;IACrB,IAAI,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,+BAAkB,CAChC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,GAAG,CACzC,CAAC,CAAC,EAAE,EAAE,CACF,IAAI,wBAAW,CAAC,IAAA,qCAAmB,EAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CACpF,CACJ,CAAC;QACF,MAAM,UAAU,GAAG,kCAAkC,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACnF,SAAS,GAAG,IAAA,OAAE,EAAA,iBAAiB,UAAU,GAAG,CAAC;IACjD,CAAC;IAED,OAAO,OAAE,CAAC,KAAK,CACX,oBAAoB,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,EAClD,OAAE,CAAC,MAAM,CAAC,OAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,WAAW,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,EAAE,CAAC,CAAC,EACpF,SAAS,CACZ,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4CAA8B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvD,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,4DAA4D;IAC5D,OAAO,KAAK,CAAC,gBAAgB,CACzB,QAAQ,EACR,IAAA,OAAE,EAAA,GAAG,QAAQ,+BAA+B,QAAQ,QAAQ,QAAQ,UAAU,EAC9E,SAAS,CACZ,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAAkB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,sCAAsC,EAAE,CAAC;QACvD,CAAC;IACL,CAAC;IACD,IAAI,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0CAA6B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,IAAA,OAAE,EAAA,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gDAAkC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC3D,MAAM,IAAI,KAAK,CACX,kGAAkG,CACrG,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yCAA4B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACrD,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACrE,MAAM,eAAe,GAAG,OAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,iBAAiB,CAC1B,IAAA,OAAE,EAAA;4BACkB,eAAe,iCAC3B,IAAI,CAAC,GACT,sBAAsB,IAAI,CAAC,kBAAkB;;kBAEvC,eAAe;2BACN,IAAI,CAAC,GAAG;4BACP,IAAI,CAAC,kBAAkB;gCACnB,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;gCACvC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;;;iCAGtC,gBAAgB;iCAChB,gBAAgB;;aAEpC,CACR,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uCAA0B,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACnD,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;IACrE,MAAM,eAAe,GAAG,OAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAEzD,OAAO,KAAK,CAAC,iBAAiB,CAC1B,IAAA,OAAE,EAAA;4BACkB,eAAe,iCAAiC,GAAG,sBAC/D,IAAI,CAAC,kBACT;;kBAEM,eAAe;2BACN,GAAG;4BACF,IAAI,CAAC,kBAAkB;;gCAEnB,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;gCACvC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;;4CAE3B,gBAAgB;iCAC3B,gBAAgB;iCAChB,gBAAgB;;;;8CAIH,gBAAgB;aACjD,CACR,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,6BAAgB,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,mBAAmB,GAAG,IAAA,gBAAO,EAAC;QAChC,IAAI,CAAC,YAAY,CAAC,UAAU;YACxB,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,aAAa,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE;YAC/E,CAAC,CAAC,SAAS;QACf,IAAI,CAAC,YAAY,CAAC,QAAQ;YACtB,CAAC,CAAC,IAAA,OAAE,EAAA,GAAG,OAAO,WAAW,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC3E,CAAC,CAAC,SAAS;KAClB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,IAAA,OAAE,EAAA,KAAK,OAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAA,OAAE,EAAA,MAAM,CAAC,GAAG,CAAC;IAExE,OAAO,KAAK,CAAC,iBAAiB,CAC1B,IAAA,OAAE,EAAA,GAAG,IAAI,MAAM,IAAI,WAAW,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,EACvE,IAAA,OAAE,EAAA,GAAG,IAAI,kBAAkB,WAAW,CAClC,IAAI,CAAC,OAAO,CAAC,UAAU,EACvB,OAAO,CACV,UAAU,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAC/D,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,SAAS,aAAa,CAAC,EAAkB;IACrC,QAAQ,EAAE,EAAE,CAAC;QACT,KAAK,2BAAc,CAAC,GAAG;YACnB,OAAO,IAAA,OAAE,EAAA,IAAI,CAAC;QAClB,KAAK,2BAAc,CAAC,EAAE;YAClB,OAAO,IAAA,OAAE,EAAA,IAAI,CAAC;QAClB,KAAK,2BAAc,CAAC,KAAK;YACrB,OAAO,IAAA,OAAE,EAAA,KAAK,CAAC;QACnB,KAAK,2BAAc,CAAC,OAAO;YACvB,OAAO,IAAA,OAAE,EAAA,KAAK,CAAC;QACnB,KAAK,2BAAc,CAAC,GAAG;YACnB,OAAO,IAAA,OAAE,EAAA,GAAG,CAAC;QACjB,KAAK,2BAAc,CAAC,QAAQ;YACxB,OAAO,IAAA,OAAE,EAAA,GAAG,CAAC;QACjB,KAAK,2BAAc,CAAC,QAAQ;YACxB,OAAO,IAAA,OAAE,EAAA,GAAG,CAAC;QACjB,KAAK,2BAAc,CAAC,MAAM;YACtB,OAAO,IAAA,OAAE,EAAA,GAAG,CAAC;QACjB,KAAK,2BAAc,CAAC,MAAM;YACtB,OAAO,IAAA,OAAE,EAAA,GAAG,CAAC;QACjB;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAS,kCAAkC,CACvC,OAA2B,EAC3B,OAAmB,EACnB,OAAqB;IAErB,SAAS,oBAAoB,CAAC,MAAmB;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAClF,OAAO,IAAA,OAAE,EAAA,IAAI,WAAW,KACpB,MAAM,CAAC,SAAS,IAAI,2BAAc,CAAC,UAAU,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,MAAM,CAAC,CAAC,CAAC,IAAA,OAAE,EAAA,OACjE,GAAG,CAAC;IACR,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAE3E,OAAO,IAAA,OAAE,EAAA,8BAA8B,OAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAA,OAAE,EAAA,IAAI,CAAC,GAAG,CAAC;AACpE,CAAC;AAED,SAAS,WAAW,CAAC,IAAe,EAAE,OAAqB;IACvD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAqC,CAAC,CAAC;IAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,qFAAqF;AACrF,yFAAyF;AACzF,SAAgB,UAAU,CACtB,IAAe,EACf,UAA2C,EAAE;IAE7C,OAAO,qBAAqB,CACxB,IAAI,EACJ,OAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAChC,SAAS,EACT,IAAI,YAAY,CAAC;QACb,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,gCAAY,EAAE;QAC1C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,iCAAa,EAAE;KAC1D,CAAC,CACL,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAoB,EAAE,OAAqB;IACrE,MAAM,IAAI,GAAG,IAAA,gDAA8B,EAAC,IAAI,CAAC,CAAC;IAClD,OAAO,OAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAkB,EAAE,OAAqB;IACvE,MAAM,IAAI,GAAG,IAAA,8CAA4B,EAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,OAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,OAAO,CAAC,IAAgB,EAAE,GAAe,EAAE,GAAe;IAC/D,OAAO,OAAE,CAAC,KAAK,CACX,IAAA,OAAE,EAAA,kBAAkB,EACpB,OAAE,CAAC,MAAM,CAAC,OAAE,CAAC,KAAK,CAAC,IAAA,OAAE,EAAA,GAAG,GAAG,GAAG,EAAE,IAAA,OAAE,EAAA,GAAG,GAAG,EAAE,CAAC,CAAC,EAC5C,IAAA,OAAE,EAAA,KAAK,IAAI,IAAI,CAClB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAa,mCAAoC,SAAQ,KAAK;IAC1D,YAAY,QAAgB;QACxB,KAAK,CACD,qEAAqE,QAAQ,6CAA6C,CAC7H,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AAPD,kFAOC;AAED;;GAEG;AACH,MAAa,sCAAuC,SAAQ,KAAK;IAC7D;QACI,KAAK,CACD,mGAAmG,CACtG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AAPD,wFAOC"}
@@ -17,6 +17,7 @@ export declare class TransactionCancelledError extends Error {
17
17
  export declare class ConflictRetriesExhaustedError extends ErrorWithCause {
18
18
  static readonly CODE = "CONFLICT_RETRIES_EXHAUSTED";
19
19
  readonly code = "CONFLICT_RETRIES_EXHAUSTED";
20
+ readonly retries: number;
20
21
  constructor({ causedBy, retries }: {
21
22
  causedBy: unknown;
22
23
  retries: number;
@@ -27,10 +27,10 @@ exports.TransactionCancelledError = TransactionCancelledError;
27
27
  class ConflictRetriesExhaustedError extends error_with_cause_1.ErrorWithCause {
28
28
  static CODE = 'CONFLICT_RETRIES_EXHAUSTED';
29
29
  code = ConflictRetriesExhaustedError.CODE;
30
+ retries;
30
31
  constructor({ causedBy, retries }) {
31
- super(`Operation detected conflicts and was aborted after ${retries} retries`, {
32
- causedBy,
33
- });
32
+ super(`Operation detected conflicts and was aborted after ${retries} retries`, causedBy);
33
+ this.retries = retries;
34
34
  }
35
35
  }
36
36
  exports.ConflictRetriesExhaustedError = ConflictRetriesExhaustedError;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-errors.js","sourceRoot":"","sources":["../../../src/execution/runtime-errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,gEAA2D;AAE3D,MAAa,uBAAwB,SAAQ,KAAK;IACrC,SAAS,CAAqB;IAEvC,YAAY,EAAE,SAAS,KAAsC,EAAE;QAC3D,KAAK,CACD,+BACI,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EACrC,sBAAsB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAZD,0DAYC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,KAAK;IAChD;QACI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AALD,8DAKC;AAED,MAAa,6BAA8B,SAAQ,iCAAc;IAC7D,MAAM,CAAU,IAAI,GAAG,4BAA4B,CAAC;IAE3C,IAAI,GAAG,6BAA6B,CAAC,IAAI,CAAC;IAEnD,YAAY,EAAE,QAAQ,EAAE,OAAO,EAA0C;QACrE,KAAK,CAAC,sDAAsD,OAAO,UAAU,EAAE;YAC3E,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;;AATL,sEAUC"}
1
+ {"version":3,"file":"runtime-errors.js","sourceRoot":"","sources":["../../../src/execution/runtime-errors.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,gEAA2D;AAE3D,MAAa,uBAAwB,SAAQ,KAAK;IACrC,SAAS,CAAqB;IAEvC,YAAY,EAAE,SAAS,KAAsC,EAAE;QAC3D,KAAK,CACD,+BACI,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,EACrC,sBAAsB,CACzB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;CACJ;AAZD,0DAYC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,KAAK;IAChD;QACI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACtC,CAAC;CACJ;AALD,8DAKC;AAED,MAAa,6BAA8B,SAAQ,iCAAc;IAC7D,MAAM,CAAU,IAAI,GAAG,4BAA4B,CAAC;IAE3C,IAAI,GAAG,6BAA6B,CAAC,IAAI,CAAC;IAC1C,OAAO,CAAS;IAEzB,YAAY,EAAE,QAAQ,EAAE,OAAO,EAA0C;QACrE,KAAK,CAAC,sDAAsD,OAAO,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;;AATL,sEAUC"}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Index = exports.IndexField = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const config_1 = require("../config");
5
6
  const validation_1 = require("../validation");
6
7
  const constants_1 = require("../../schema/constants");
8
+ const memorize_decorator_1 = tslib_1.__importDefault(require("memorize-decorator"));
7
9
  class IndexField {
8
10
  dotSeparatedPath;
9
11
  declaringType;
@@ -62,7 +64,7 @@ class IndexField {
62
64
  return undefined;
63
65
  }
64
66
  if (nextField.type.kind === config_1.TypeKind.ROOT_ENTITY) {
65
- addMessage(validation_1.ValidationMessage.error(`Field "${type.name}.${nextField.name}" resolves to a root entity, but indices can not cross root entity boundaries.`, this.astNode));
67
+ addMessage(validation_1.ValidationMessage.error(`Field "${type.name}.${nextField.name}" resolves to a root entity, but indices cannot cross root entity boundaries.`, this.astNode));
66
68
  return undefined;
67
69
  }
68
70
  field = nextField;
@@ -80,10 +82,24 @@ class IndexField {
80
82
  addMessage(validation_1.ValidationMessage.error(`Indices can not be defined on scalar fields of type "JSON", but the type of "${field.declaringType.name}.${field.name}" is "JSON".`, this.astNode));
81
83
  return undefined;
82
84
  }
85
+ // https://docs.arangodb.com/3.12/index-and-search/indexing/basics/#indexing-array-values
86
+ // https://github.com/arangodb/arangodb/blob/0005e46aa971fce177833747c3f66bb182bb1c3c/lib/Basics/AttributeNameParser.cpp#L136
87
+ const listFields = fieldsInPath.filter((f) => f.isList);
88
+ if (listFields.length > 1) {
89
+ const desc = listFields.map((f) => `"${f.declaringType.name}.${f.name}"`).join(', ');
90
+ addMessage(validation_1.ValidationMessage.error(`Index paths with more than one list field are not supported by ArangoDB (list fields: ${desc}).`, this.astNode));
91
+ return undefined;
92
+ }
83
93
  return { field, fieldsInPath };
84
94
  }
85
95
  }
86
96
  exports.IndexField = IndexField;
97
+ tslib_1.__decorate([
98
+ (0, memorize_decorator_1.default)()
99
+ ], IndexField.prototype, "field", null);
100
+ tslib_1.__decorate([
101
+ (0, memorize_decorator_1.default)()
102
+ ], IndexField.prototype, "fieldsInPath", null);
87
103
  class Index {
88
104
  input;
89
105
  declaringType;
@@ -1 +1 @@
1
- {"version":3,"file":"indices.js","sourceRoot":"","sources":["../../../../src/model/implementation/indices.ts"],"names":[],"mappings":";;;AAAA,sCAA4D;AAK5D,8CAAgF;AAEhF,sDAAqD;AAErD,MAAa,UAAU;IAIC;IACA;IACA;IALX,IAAI,CAAwB;IAErC,YACoB,gBAAwB,EACxB,aAA6B,EAC7B,OAA2D;QAF3D,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,kBAAa,GAAb,aAAa,CAAgB;QAC7B,YAAO,GAAP,OAAO,CAAoD;QAE3E,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAED,QAAQ,CAAC,OAA0B;QAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,CAAC;IAEO,YAAY,CAChB,UAA6C;QAE7C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACpD,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,8DAA8D,EAC9D,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,GAAS,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,KAAK,GAAsB,SAAS,CAAC;QACzC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrB,IAAI,KAAK,EAAE,CAAC;oBACR,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,UAAU,KAAK,CAAC,IAAI,oBAAoB,EACxC,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;gBACN,CAAC;qBAAM,CAAC;oBACJ,yEAAyE;oBACzE,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,wEAAwE,EACxE,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;gBACN,CAAC;gBACD,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,SAAS,IAAI,CAAC,IAAI,4BAA4B,SAAS,GAAG,EAC1D,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;gBACF,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC1B,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,UAAU,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,qDAAqD,EAC1F,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;gBACF,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBACxB,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,UAAU,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,mDAAmD,EACxF,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;gBACF,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAQ,CAAC,WAAW,EAAE,CAAC;gBAC/C,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,UAAU,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,gFAAgF,EACrH,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;gBACF,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,KAAK,GAAG,SAAS,CAAC;YAClB,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAQ,CAAC,IAAI,EAAE,CAAC;YAC3E,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,0EAA0E,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,mGAAmG,EACnN,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,iBAAQ,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAW,EAAE,CAAC;YACvE,UAAU,CACN,8BAAiB,CAAC,KAAK,CACnB,gFAAgF,KAAK,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,cAAc,EACpI,IAAI,CAAC,OAAO,CACf,CACJ,CAAC;YACF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACnC,CAAC;CACJ;AAzID,gCAyIC;AAED,MAAa,KAAK;IAgBF;IACQ;IAhBX,IAAI,CAAU;IACd,MAAM,CAAU;IAChB,MAAM,CAAU;IAChB,MAAM,CAA4B;IAClC,OAAO,CAAmC;IAC1C,WAAW,CAAmB;IAEvC;;OAEG;IACH,IAAI,EAAE;QACF,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,YACY,KAA4B,EACpB,aAA6B;QADrC,UAAK,GAAL,KAAK,CAAuB;QACpB,kBAAa,GAAb,aAAa,CAAgB;QAE7C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC;QACpC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAClC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CACjB,IAAI,UAAU,CACV,SAAS,EACT,aAAa,EACb,CAAC,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CACtD,CACR,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAY;QACf,IACI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACxB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAC5C,CAAC;YACC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;gBACvE,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,OAA0B;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,CAAC,UAAU,CACd,8BAAiB,CAAC,KAAK,CAAC,2CAA2C,EAAE,IAAI,CAAC,OAAO,CAAC,CACrF,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,UAAU,CACd,8BAAiB,CAAC,KAAK,CACnB,6DAA6D,EAC7D,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CACnC,CACJ,CAAC;QACN,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;CACJ;AAvED,sBAuEC"}
1
+ {"version":3,"file":"indices.js","sourceRoot":"","sources":["../../../../src/model/implementation/indices.ts"],"names":[],"mappings":"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"}