@substrat-run/kernel 0.148.0 → 0.149.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 (80) hide show
  1. package/dist/attachment-sweep.d.ts +208 -0
  2. package/dist/attachment-sweep.d.ts.map +1 -0
  3. package/dist/attachment-sweep.js +318 -0
  4. package/dist/attachment-sweep.js.map +1 -0
  5. package/dist/index.d.ts +15 -9
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +11 -7
  8. package/dist/index.js.map +1 -1
  9. package/dist/invocation-line.d.ts +85 -0
  10. package/dist/invocation-line.d.ts.map +1 -1
  11. package/dist/invocation-line.js +43 -0
  12. package/dist/invocation-line.js.map +1 -1
  13. package/dist/migration-digest.d.ts +56 -0
  14. package/dist/migration-digest.d.ts.map +1 -1
  15. package/dist/migration-digest.js +92 -0
  16. package/dist/migration-digest.js.map +1 -1
  17. package/dist/migration-fence.d.ts +14 -0
  18. package/dist/migration-fence.d.ts.map +1 -0
  19. package/dist/migration-fence.js +515 -0
  20. package/dist/migration-fence.js.map +1 -0
  21. package/dist/migration-replay.d.ts +52 -0
  22. package/dist/migration-replay.d.ts.map +1 -0
  23. package/dist/migration-replay.js +140 -0
  24. package/dist/migration-replay.js.map +1 -0
  25. package/dist/module-migrations.d.ts +3 -3
  26. package/dist/module-migrations.js +3 -3
  27. package/dist/peer.d.ts +32 -2
  28. package/dist/peer.d.ts.map +1 -1
  29. package/dist/peer.js +99 -3
  30. package/dist/peer.js.map +1 -1
  31. package/dist/permission-eval.d.ts +8 -0
  32. package/dist/permission-eval.d.ts.map +1 -1
  33. package/dist/permission-eval.js +14 -0
  34. package/dist/permission-eval.js.map +1 -1
  35. package/dist/platform-sweep.d.ts +94 -1
  36. package/dist/platform-sweep.d.ts.map +1 -1
  37. package/dist/platform-sweep.js +130 -0
  38. package/dist/platform-sweep.js.map +1 -1
  39. package/dist/promote-review.d.ts +125 -0
  40. package/dist/promote-review.d.ts.map +1 -0
  41. package/dist/promote-review.js +181 -0
  42. package/dist/promote-review.js.map +1 -0
  43. package/dist/scope-host.d.ts +204 -42
  44. package/dist/scope-host.d.ts.map +1 -1
  45. package/dist/scope-host.js.map +1 -1
  46. package/dist/scope-store.d.ts +5 -5
  47. package/dist/scope-store.d.ts.map +1 -1
  48. package/dist/spine-restore.d.ts +2 -0
  49. package/dist/spine-restore.d.ts.map +1 -1
  50. package/dist/spine-restore.js +5 -0
  51. package/dist/spine-restore.js.map +1 -1
  52. package/dist/store-driver-releases.d.ts +306 -0
  53. package/dist/store-driver-releases.d.ts.map +1 -0
  54. package/dist/store-driver-releases.js +581 -0
  55. package/dist/store-driver-releases.js.map +1 -0
  56. package/dist/table-ownership.d.ts +5 -2
  57. package/dist/table-ownership.d.ts.map +1 -1
  58. package/dist/table-ownership.js +19 -10
  59. package/dist/table-ownership.js.map +1 -1
  60. package/dist/testing.d.ts +2 -0
  61. package/dist/testing.d.ts.map +1 -1
  62. package/dist/testing.js +2 -0
  63. package/dist/testing.js.map +1 -1
  64. package/dist/upload-link.d.ts +60 -7
  65. package/dist/upload-link.d.ts.map +1 -1
  66. package/dist/upload-link.js +189 -25
  67. package/dist/upload-link.js.map +1 -1
  68. package/dist/version-migrations.d.ts +63 -1
  69. package/dist/version-migrations.d.ts.map +1 -1
  70. package/dist/version-migrations.js +174 -8
  71. package/dist/version-migrations.js.map +1 -1
  72. package/dist/vertical-scope-stores.d.ts +9 -9
  73. package/dist/vertical-scope-stores.d.ts.map +1 -1
  74. package/dist/vertical-scope-stores.js +29 -29
  75. package/dist/vertical-scope-stores.js.map +1 -1
  76. package/package.json +2 -2
  77. package/dist/store-kind-releases.d.ts +0 -137
  78. package/dist/store-kind-releases.d.ts.map +0 -1
  79. package/dist/store-kind-releases.js +0 -252
  80. package/dist/store-kind-releases.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"platform-sweep.js","sourceRoot":"","sources":["../src/platform-sweep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAyB/E,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,UAAU,EAAiC,MAAM,oBAAoB,CAAC;AACjI,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC3H,OAAO,EAAE,qBAAqB,EAAyB,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAmB,MAAM,WAAW,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAyErD,4EAA4E;AAC5E,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,4DAA4D;AAC5D,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAiR9B,wFAAwF;AACxF,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,mFAAmF;AACnF,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,CAAC;AAEnD;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAa,EAAE,GAAiB;IACzD,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC1D,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAA2B,MAAoB,EAAE,KAAa,EAAE,GAAiB;IACvG,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5F,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC,CAAC;AACzF,CAAC;AAyJD;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IACtC,WAAW,GAAG,IAAa,CAAC;CACtC;AAED,MAAM,aAAa,GAAG,CAAC,GAAY,EAAW,EAAE,CAC9C,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAK,GAAiC,CAAC,WAAW,KAAK,IAAI,CAAC;AAErG,uGAAuG;AACvG,KAAK,UAAU,cAAc,CAAI,IAAgB,EAAE,EAAU,EAAE,IAAY;IACzE,IAAI,KAAgD,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAChD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,qBAAqB,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9C,CAAC;YAAS,CAAC;QACT,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACxC,oFAAoF;AACpF,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;AAEpD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAkJ5C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AA8FrD;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,OAA6B;IACvD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;QAAE,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnG,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;QAAE,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACnG,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC;IACnC,IAAI,KAAK,EAAE,UAAU,KAAK,SAAS;QAAE,cAAc,CAAC,yBAAyB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACjG,yFAAyF;IACzF,IAAI,KAAK,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QACvF,MAAM,aAAa,CAAC,mBAAmB,EAAE,0DAA0D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5H,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAe,EACf,OAA6B;IAE7B,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAwB;QAClC,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;QACzE,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE,CAAC;QACrB,eAAe,EAAE,CAAC;QAClB,oBAAoB,EAAE,CAAC;QACvB,aAAa,EAAE,CAAC;QAChB,qBAAqB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;QAC7H,kBAAkB,EAAE,IAAI;QACxB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE,IAAI;QACnB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE;KACX,CAAC;IAEF,8EAA8E;IAC9E,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,EAAE;IACF,0EAA0E;IAC1E,0EAA0E;IAC1E,+EAA+E;IAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,IACE,OAAO,CAAC,mBAAmB,KAAK,KAAK;QACrC,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU;QACvC,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU,EAC5C,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,OAAO,CAAC,sBAAsB,IAAI,wBAAwB,CAAC;QACjF,MAAM,KAAK,GAAG;YACZ,WAAW,EAAE,MAAM,CAAC,gBAAgB,EAAE,oDAAoD;YAC1F,WAAW,EAAE,OAAO,CAAC,gBAAgB,EAAE,WAAW,IAAI,MAAM;YAC5D,UAAU,EAAE,OAAO,CAAC,gBAAgB,EAAE,UAAU,IAAI,SAAS;SAC9D,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,4EAA4E;QAC5E,8EAA8E;QAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;YACxD,MAAM,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAC;SACnC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QAErC,wEAAwE;QACxE,2EAA2E;QAC3E,kEAAkE;QAClE,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC/C,IAAI,KAAK,KAAK,UAAU;gBAAE,SAAS;YACnC,MAAM,OAAO,GAAG,CAAC,CAAC,gBAAgB,CAAC;YACnC,IACE,OAAO;gBACP,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,GAAG,EACzE,CAAC;gBACD,QAAQ,IAAI,CAAC,CAAC;gBACd,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QAED,4EAA4E;QAC5E,2EAA2E;QAC3E,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC7C,SAAS,IAAI,CAAC,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;oBAClC,QAAQ,IAAI,CAAC,CAAC;oBACd,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1F,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACvC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACd,GAAG,CAAC;wBACJ,gBAAgB,EAAE;4BAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO;4BAChC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;4BAC5B,QAAQ,EAAE,CAAC,CAAC,CAAC,gBAAgB,EAAE,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC;4BACjD,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC;yBAClC;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,sEAAsE;oBACtE,oEAAoE;oBACpE,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,sEAAsE;gBACtE,uEAAuE;gBACvE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QACrF,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC1E,0EAA0E;QAC1E,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/B,IAAI,mBAAmB,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,QAAQ;gBAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,qBAAqB,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,2FAA2F;IAC3F,6FAA6F;IAC7F,0DAA0D;IAC1D,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiB,CAAC;IACjD,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAElE,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChF,MAAM,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,OAAO,CAAC,wCAAwC;YAC9E,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChD,IAAI,CAAC,gBAAgB;oBAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACpD,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;gBAC1B,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC;gBAC5C,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC;gBAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC;gBAC1C,MAAM,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;YACpD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0FAA0F;IAC1F,iGAAiG;IACjG,kGAAkG;IAClG,4FAA4F;IAC5F,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,uBAAuB,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChF,MAAM,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxC,IAAI,CAAC,CAAC,WAAW;oBAAE,MAAM,CAAC,qBAAqB,CAAC,WAAW,IAAI,CAAC,CAAC;;oBAC5D,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC;oBAAE,MAAM,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC5D,MAAM,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;gBAClD,MAAM,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;gBAC5C,MAAM,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;gBAChD,MAAM,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;gBAClD,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;oBACnB,MAAM,CAAC,qBAAqB,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;oBAClE,CAAC,MAAM,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC/G,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,0FAA0F;IAC1F,qFAAqF;IACrF,IACE,OAAO,CAAC,YAAY;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,UAAU;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,KAAK,UAAU,EACzD,CAAC;QACD,MAAM,CAAC,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAC/G,CAAC;IAED,8EAA8E;IAC9E,sFAAsF;IACtF,oFAAoF;IACpF,qFAAqF;IACrF,yFAAyF;IACzF,EAAE;IACF,qFAAqF;IACrF,qFAAqF;IACrF,iDAAiD;IACjD,EAAE;IACF,kFAAkF;IAClF,mFAAmF;IACnF,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC3C,MAAM,kBAAkB,GAA6B;YACnD,MAAM,EAAE,CAAC;YACT,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACvC,QAAQ,EAAE,CAAC;SACZ,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CACtF,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtD,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAkF,EAAE,CAAC;QACjG,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjF,iFAAiF;YACjF,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,gFAAgF;YAChF,iFAAiF;YACjF,gFAAgF;YAChF,6EAA6E;YAC7E,0FAA0F;YAC1F,6FAA6F;YAC7F,wFAAwF;YACxF,uFAAuF;YACvF,IAAI,CAAC,CAAC,oBAAoB,KAAK,OAAO,IAAI,CAAC,CAAC,4BAA4B,KAAK,OAAO,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,KAAK,OAAO;gBAAE,SAAS;YACvI,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC,oBAAoB,KAAK,OAAO,EAAE,CAAC,CAAC;QACtH,CAAC;QACD,kBAAkB,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,uBAAuB,IAAI,yBAAyB,CAAC;QAC3E,gGAAgG;QAChG,iGAAiG;QACjG,iGAAiG;QACjG,mGAAmG;QACnG,iGAAiG;QACjG,gGAAgG;QAChG,6DAA6D;QAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,qBAAqB,IAAI,IAAI,CAAC,MAAM,CAAC;QACzD,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,eAAe,CAAC,aAAa,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,eAAe,CAAC,eAAe,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1F,kBAAkB,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5D,MAAM,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5D,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;oBAC9B,yEAAyE;oBACzE,2EAA2E;oBAC3E,8EAA8E;oBAC9E,kBAAkB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC;oBAC1C,IAAI,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,gCAAgC,EAAE,CAAC;wBACtF,kBAAkB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACrD,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,4EAA4E;gBAC5E,+EAA+E;gBAC/E,8EAA8E;gBAC9E,iFAAiF;gBACjF,4DAA4D;gBAC5D,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACpI,kBAAkB,CAAC,UAAU,IAAI,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,+EAA+E;gBAC/E,8EAA8E;gBAC9E,iDAAiD;gBACjD,kBAAkB,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACjD,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,oFAAoF;IACpF,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;QACrF,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAwB,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YACtF,uFAAuF;YACvF,oFAAoF;YACpF,0FAA0F;YAC1F,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACzG,MAAM,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAE,OAAO;gBACrC,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACrE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;4BAAE,OAAO,GAAG,IAAI,CAAC;wBAChD,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;wBAC3B,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;wBAC/B,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;wBAC7B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;4BACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;wBACzF,CAAC;wBACD,yEAAyE;wBACzE,sEAAsE;wBACtE,uDAAuD;wBACvD,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;4BAC/B,OAAO,CAAC,cAAc,EAAE,CAAC;gCACvB,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,SAAS,EAAE;gCAChC,OAAO,EAAE,GAAG,CAAC,OAAO;gCACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACpB,OAAO,EAAE,CAAC,CAAC,EAAE;gCACb,QAAQ,EAAE,CAAC,CAAC,QAAQ;gCACpB,OAAO,EAAE,CAAC,CAAC,iBAAiB;gCAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;gCACxB,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ;oCAC1B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,IAAI,EAAE;oCAC/E,CAAC,CAAC,EAAE,CAAC;6BACR,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,gEAAgE;wBAChE,iEAAiE;wBACjE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC/F,CAAC;gBACH,CAAC;gBACD,IAAI,OAAO;oBAAE,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,gFAAgF;IAChF,+EAA+E;IAC/E,0EAA0E;IAC1E,6EAA6E;IAC7E,yEAAyE;IACzE,8CAA8C;IAC9C,IACE,OAAO,CAAC,YAAY,KAAK,KAAK;QAC9B,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU;QAC9C,OAAO,IAAI,CAAC,cAAc,KAAK,UAAU,EACzC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,0DAA0D;YAC1D,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACzG,MAAM,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAChD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAE,OAAO;gBACrC,sEAAsE;gBACtE,yEAAyE;gBACzE,yEAAyE;gBACzE,mEAAmE;gBACnE,IAAI,CAAC;oBACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,cAAe,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/E,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;wBAC7B,OAAO,CAAC,cAAc,EAAE,CAAC;4BACvB,IAAI,EAAE,WAAW;4BACjB,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE;4BAClC,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,OAAO,EAAE,CAAC,CAAC,EAAE;4BACb,QAAQ,EAAE,CAAC,CAAC,QAAQ;4BACpB,OAAO,EAAE,CAAC,CAAC,iBAAiB;4BAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;yBAC7B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,qFAAqF;QACrF,mFAAmF;QACnF,mFAAmF;QACnF,wFAAwF;QACxF,wFAAwF;QACxF,0FAA0F;QAC1F,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,CACrG,CAAC;QACF,MAAM,IAAI,GACR,OAAO,CAAC,gBAAgB;YACxB,CAAC,CAAC,QAAkB,EAAE,OAAgB,EAAE,EAAE,CACxC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,oFAAoF;IACpF,sFAAsF;IACtF,uFAAuF;IACvF,mFAAmF;IACnF,mFAAmF;IACnF,8EAA8E;IAC9E,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC;QACtF,MAAM,MAAM,GAAG,IAAI,IAAI,CACrB,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,qBAAqB,GAAG,UAAU,CACxD,CAAC,WAAW,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;QACpF,MAAM,IAAI,GACR,OAAO,CAAC,WAAW;YACnB,mFAAmF;YACnF,iFAAiF;YACjF,CAAC,CAAC,QAAkB,EAAE,OAAgB,EAAE,EAAE,CACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7B,MAAM,CAAC,oBAAoB,IAAI,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,qFAAqF;IACrF,uFAAuF;IACvF,sFAAsF;IACtF,4EAA4E;IAC5E,uFAAuF;IACvF,uFAAuF;IACvF,sFAAsF;IACtF,uDAAuD;IACvD,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,IAAI,OAAO,CAAC,qBAAqB,IAAI,CAAC,EAAE,CAAC;QACtF,MAAM,MAAM,GAAG,IAAI,IAAI,CACrB,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,qBAAqB,GAAG,UAAU,CACxD,CAAC,WAAW,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAClF,CAAC;QACF,MAAM,YAAY,GAChB,OAAO,CAAC,WAAW;YACnB,sFAAsF;YACtF,CAAC,CAAC,QAAkB,EAAE,OAAgB,EAAE,EAAE,CACxC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GACd,OAAO,CAAC,YAAY;YACpB,CAAC,KAAK,EAAE,QAAkB,EAAE,EAAE;gBAC5B,8EAA8E;gBAC9E,iFAAiF;gBACjF,oEAAoE;gBACpE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACvB,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ;wBAAE,SAAS;oBACpC,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;wBAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/D,CAAC;oBACD,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrC,CAAC;gBACD,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,MAAM,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,MAAM,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACrD,4EAA4E;QAC5E,oEAAoE;QACpE,MAAM,MAAM,GAAG,CAAC,OAAoC,EAAE,KAA8B,EAAE,EAAE,CACtF,OAAO,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,CAAC,CAAC,EAAE;YACV,OAAO;YACP,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,mBAAmB,CAAC,CAAC,QAAQ,EAAE;YAC1C,YAAY,EAAE,CAAC,CAAC,EAAE;YAClB,GAAG,KAAK;SACT,CAAC,CAAC;QACL,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YACzB,2EAA2E;YAC3E,2EAA2E;YAC3E,kEAAkE;YAClE,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC/B,4EAA4E;YAC5E,4EAA4E;YAC5E,8CAA8C;YAC9C,MAAM,CAAC,SAAS,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;YAC7B,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gFAAgF;IAChF,yFAAyF;IACzF,yFAAyF;IACzF,0FAA0F;IAC1F,mCAAmC;IACnC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,CAAC,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAChH,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,gEAAgE;IAChE,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,CAAC,UAAU,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;QAC/B,4EAA4E;QAC5E,4EAA4E;QAC5E,wEAAwE;QACxE,6EAA6E;QAC7E,oBAAoB;QACpB,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,iBAAiB,CAAC;QAChE,MAAM,MAAM,GACV,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC9F,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnF,MAAM,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACnD,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;oBACvE,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,OAAO,EAAE,CAAC,CAAC,EAAE;oBACb,MAAM;iBACP,CAAC,CAAC;gBACH,IAAI,OAAO,EAAE,CAAC;oBACZ,CAAC,MAAM,CAAC,UAAW,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;gBAChG,CAAC;gBACD,IAAI,OAAO,KAAK,CAAC;oBAAE,OAAO;gBAC1B,MAAM,CAAC,UAAW,CAAC,MAAM,IAAI,CAAC,CAAC;gBAC/B,MAAM,CAAC,UAAW,CAAC,OAAO,IAAI,OAAO,CAAC;gBACtC,yEAAyE;gBACzE,gEAAgE;gBAChE,IAAI,OAAO,KAAK,MAAM;oBAAE,MAAM,CAAC,UAAW,CAAC,UAAU,IAAI,CAAC,CAAC;YAC7D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,uEAAuE;gBACvE,wEAAwE;gBACxE,+BAA+B;gBAC/B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,mFAAmF;IACnF,oFAAoF;IACpF,iEAAiE;IACjE,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAChD,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,cAAc,IAAI,qBAAqB,CAChD,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,4FAA4F;IAC5F,iFAAiF;IACjF,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,cAAc,IAAI,qBAAqB,CAAC,CAAC;QACnH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,kFAAkF;IAClF,6DAA6D;IAC7D,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,CAAC,SAAS,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,4EAA4E;YAC5E,4DAA4D;YAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,kBAAkB,CAC/B,IAAe,EACf,OAA+E,EAC/E,EAAwB,EACxB,cAAmC,EACnC,MAA2C;AAC3C,qFAAqF;AACrF,IAA+C;IAE/C,MAAM,GAAG,GAAwB;QAC/B,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;QACT,UAAU,EAAE,CAAC;QACb,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,CAAC;KACZ,CAAC;IACF,MAAM,KAAK,GAAuB,EAAE,CAAC,KAAK,IAAI;QAC5C,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;QACvF,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;KAC1D,CAAC;IACF,wFAAwF;IACxF,sEAAsE;IACtE,MAAM,YAAY,GAChB,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,0FAA0F;IAC1F,+EAA+E;IAC/E,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,IAAI,iBAAiB,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC3H,0FAA0F;IAC1F,4FAA4F;IAC5F,yFAAyF;IACzF,qCAAqC;IACrC,EAAE;IACF,yFAAyF;IACzF,8FAA8F;IAC9F,MAAM,MAAM,GAAG,CACb,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC/G,CAAC,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;IAC7F,0FAA0F;IAC1F,yFAAyF;IACzF,uEAAuE;IACvE,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7G,IAAI,CAAC,KAAK,IAAI,QAAQ,EAAE,OAAO,KAAK,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE;YAAE,OAAO,GAAG,CAAC;QACrG,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,IAAuB,EAAQ,EAAE;QAC/C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAChC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY;YAAE,GAAG,CAAC,UAAU,IAAI,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACjB,IAAI,EAAE,iBAAiB;gBACvB,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;gBACxD,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,uFAAuF;QACvF,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO;QAClC,2FAA2F;QAC3F,uFAAuF;QACvF,0FAA0F;QAC1F,0FAA0F;QAC1F,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO;QAC1E,OAAO,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,EAAE,iBAAiB;YACvB,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC1D,OAAO,EAAE,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC3F,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;YAChC,SAAS,EAAE,yBAAyB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YAC5D,KAAK,EACH,IAAI,CAAC,KAAK,KAAK,WAAW;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC;oBACrC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,eAAe,IAAI,CAAC,YAAY,mBAAmB,IAAI,CAAC,QAAQ,2BAA2B;oBAC9G,CAAC,CAAC,IAAI;gBACR,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,2FAA2F;IAC3F,uFAAuF;IACvF,4FAA4F;IAC5F,+FAA+F;IAC/F,uDAAuD;IACvD,qGAAqG;IACrG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,uFAAuF;IACvF,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,IAAI,UAA4B,CAAC;IACjC,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;YACtC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,KAAK,EAAE,CAAC,QAAQ,EAAE,EAAE;gBAClB,KAAK,MAAM,EAAE,IAAI,QAAQ;oBAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAChC,KAAK,MAAM,EAAE,IAAI,QAAQ;oBAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5C,4EAA4E;gBAC5E,IAAI,IAAI;oBAAE,OAAO;gBACjB,OAAO,CAAC,cAAc,EAAE,CAAC;oBACvB,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,WAAW,IAAI,EAAE;oBACvB,OAAO,EAAE,QAAQ;oBACjB,SAAS,EAAE,iCAAiC;oBAC5C,KAAK,EACH,2CAA2C,IAAI,sBAAsB,MAAM,KAAK;wBAChF,yCAAyC;iBAC5C,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvF,OAAO,GAAG,CAAC;IACb,CAAC;IACD,6FAA6F;IAC7F,8FAA8F;IAC9F,gDAAgD;IAChD,IAAI,IAAI;QAAE,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrE,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;IACnC,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,IAAI,iCAAiC,CAAC;IAC3E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,iCAAiC,CAAC;IACjI,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEnD,MAAM,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QACtE,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO;QAC5C,0FAA0F;QAC1F,4FAA4F;QAC5F,MAAM,cAAc,GAAG,CAAC,MAAc,EAAQ,EAAE,CAC9C,MAAM,CAAC;YACL,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE;YACrE,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;YAC1C,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,MAAM;SACP,CAAC,CAAC;QACL,IAAI,KAAkB,CAAC;QACvB,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc,CAAC,0CAA0C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QACD,8FAA8F;QAC9F,6FAA6F;QAC7F,4FAA4F;QAC5F,6FAA6F;QAC7F,+FAA+F;QAC/F,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACnE,cAAc,CACZ,iGAAiG;gBAC/F,8FAA8F,CACjG,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACnF,sFAAsF;QACtF,mFAAmF;QACnF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,CAAC,MAAM,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAe,EACf,OAEC,EACD,QAAkD;IAElD,MAAM,MAAM,GAAwC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACnE,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;AAClD,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAMxC;IACC,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC;QACpH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmD,CAAC;QAC3E,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,KAAK,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;YACjD,MAAM,IAAI,GAAoB,IAAI,IAAI;gBACpC,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,8DAA8D;aACvE,CAAC;YACF,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YACnC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;gBACxB,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAChB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvB,CAAC;gBACD,SAAS;YACX,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YACpE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,OAAO;YAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,OAAO,GAAG,CAAC,EAAY,EAAc,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,SAAS,QAAQ,CACf,MAAwB,EACxB,QAAe,EACf,IAAY;IAEZ,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAS,CAAC;IACpC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,QAAQ,0DAA0D,EAAE,CAAC;IACjH,MAAM,IAAI,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IACvF,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;QACzE,OAAO;YACL,MAAM,EAAE,sDAAsD,QAAQ,0DAA0D;SACjI,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACvF,IAAI,QAAQ,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACpC,OAAO;YACL,MAAM,EACJ,QAAQ,CAAC,OAAO,KAAK,eAAe;gBAClC,CAAC,CAAC,IAAI,IAAI,mCAAmC;gBAC7C,CAAC,CAAC,sDAAsD,IAAI,wCAAwC;SACzG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;AAC5E,CAAC;AAED,6EAA6E;AAC7E,SAAS,aAAa,CAAC,QAAiC,EAAE,IAAI,GAA8B,GAAG,EAAE,CAAC,IAAI;IACpG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5D,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,SAAS,CACtB,KAAyB,EACzB,MAAwB,EACxB,QAAe,EACf,IAAY,EACZ,KAAoB,EACpB,KAAkB,EAClB,MAAc;IAEd,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAS,CAAC;IACpC,MAAM,IAAI,GAAG,CACX,IAAmE,EAChD,EAAE,CAAC,CAAC;QACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE;QAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;QAC3C,SAAS,EAAE,CAAC;QACZ,YAAY,EAAE,CAAC;QACf,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;QACb,GAAG,IAAI;KACR,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9C,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC;IACrF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;YACvE,QAAQ,EAAE,QAAuC;YACjD,KAAK;YACL,KAAK;YACL,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;gBACV,GAAG,EAAE;gBACL,GAAG,UAAU;gBACb,KAAK,EAAE,QAAQ;gBACf,MAAM,EACJ,qBAAqB,IAAI,6BAA6B,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACtG,mDAAmD;aACtD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;YACjE,MAAM;YACN,KAAK;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;gBACV,GAAG,EAAE;gBACL,GAAG,UAAU;gBACb,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,qBAAqB,QAAQ,cAAc,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,8CAA8C;aACjI,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,uFAAuF,EAAE,CAAC,CAAC;QAC1I,CAAC;QACD,OAAO,IAAI,CAAC;YACV,GAAG,EAAE;YACL,GAAG,UAAU;YACb,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAe,EACf,OAgBC;IAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAqB;QAC/B,QAAQ;QACR,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAmC;QACzE,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,IAAI;QACjB,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;KAC3C,CAAC;IACF,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IACvC,iGAAiG;IACjG,gGAAgG;IAChG,4FAA4F;IAC5F,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,EAAE,CAAC;QAChD,MAAM,CAAC,WAAW;YAChB,qGAAqG;gBACrG,+DAA+D,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAuB,EAAE,CAAC,KAAK,IAAI;QAC5C,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1D,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;QAC/E,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KACvE,CAAC;IACF,MAAM,YAAY,GAChB,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;QAC7B,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,MAAM,GACV,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,KAAK,GAAG,CAAC,GAAuB,EAAE,EAAE;QACxC,KAAK,MAAM,EAAE,IAAI,GAAG;YAAE,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CACxF,CAAC,CAAC,EAAqC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CACnF,CAAC;QACF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACtG,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAsB,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtC,YAAY,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;YAChC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;SACtD,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC7F,CAAC,CAAC,EAAE,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,GAAG,CAAC,EAAE,CAAC,EACpC,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAChE,CAAC;IACJ,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,WAAW,GAAG,yDAAyD,MAAM,CAAC,KAAK,EAAE,CAAC;QAC7F,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACtC,MAAM,UAAU,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,MAAM,aAAa,GAAG,UAAU,EAAE,QAAQ,CAAC;IAE3C,6FAA6F;IAC7F,6FAA6F;IAC7F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IAE7C,MAAM,UAAU,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,IAAqD,EAAc,EAAE,CAAC,CAAC;YACjG,QAAQ;YACR,QAAQ,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE;YAC5C,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YAC3C,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,IAAI;YACnB,WAAW,EAAE,IAAI;YACjB,GAAG,IAAI;SACR,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,QAAgB,EAAc,EAAE;YAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,iFAAiF;QACjF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,aAAa,CAAC;QACxH,4FAA4F;QAC5F,+EAA+E;QAC/E,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,KAAK,EAAE,CAAC,EACzC,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAChE;YACD,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAChC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAa,EAAE,OAAO,EAAE,CAAC,EAC7C,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAc,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAChE;SACF,CAAC,CAAC;QACH,4FAA4F;QAC5F,yFAAyF;QACzF,0FAA0F;QAC1F,6DAA6D;QAC7D,MAAM,OAAO,GAAG,CAAC,MAAc,EAAc,EAAE,CAC7C,KAAK,CACH,UAAU,IAAI,QAAQ,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE;YACzC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC;YAClI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,EAC/C,GAAG,CACJ,CAAC;QACJ,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,2CAA2C,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzF,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,OAAO,CACL,+FAA+F;oBAC7F,8FAA8F,CACjG,CACF,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;QACD,sFAAsF;QACtF,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE;YACtB,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/G,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3D,MAAM,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;YAC7D,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,KAAoB;YAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;YAC9E,MAAM,EAAE,GAAG;gBACT,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI;aAC1F,CAAC;YACF,IAAI,KAAoB,CAAC;YACzB,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE;oBACxD,QAAQ,EAAE,QAAuC;oBACjD,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI;oBAC7B,KAAK;oBACL,KAAK,EAAE,CAAC;iBACT,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,kBAAkB,IAAI,sBAAsB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YACzH,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC,IAAI,EAAE;oBAChB,GAAG,EAAE;oBACL,UAAU;oBACV,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,IAAI,IAAI,6BAA6B,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,mDAAmD;iBAC5I,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC5D,MAAM,KAAK,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpG,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC,IAAI,EAAE;oBAChB,GAAG,OAAO;oBACV,KAAK,EAAE,QAAQ;oBACf,MAAM,EACJ,IAAI,CAAC,KAAK,KAAK,KAAK;wBAClB,CAAC,CAAC,iBAAiB,IAAI,iBAAiB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,qEAAqE;wBACnJ,CAAC,CAAC,gCAAgC,IAAI,+EAA+E;iBAC1H,CAAC,CAAC;YACL,CAAC;YACD,2FAA2F;YAC3F,uFAAuF;YACvF,0BAA0B;YAC1B,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAChF,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,8BAA8B,IAAI,wBAAwB,QAAQ,CAAC,KAAK,GAAG,CAAC;YAChH,OAAO,IAAI,CAAC,IAAI,EAAE;gBAChB,GAAG,OAAO;gBACV,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,kEAAkE,QAAQ,EAAE;aACrF,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IACH,iGAAiG;IACjG,+FAA+F;IAC/F,8FAA8F;IAC9F,oEAAoE;IACpE,MAAM,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAA0B,EAAE,EAAE,CAC1C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YACpG,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,CAAC,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;gBACpC,OAAO;YACT,CAAC;YACD,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAA+B,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QAClH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,wCAAwC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACxG,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACpD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACzD,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,KAAK,UAAU,gBAAgB,CAC7B,IAAe,EACf,OAA6B,EAC7B,IAAe,EACf,KAA+D;IAE/D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAC/C,OAAO,CAAC,KAAK,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAM,CACb,CAAC;IACF,sFAAsF;IACtF,oEAAoE;IACpE,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;;YACxC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAE,KAAiC,EAAE,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;IACxD,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9E,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAChC,OAAO,CAAC,KAAK,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,EACb,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACxB,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,IAAkC,EAAE,OAAiB;IACtE,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAClD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,EAAE,CAAC;AACtG,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,cAAc,CAC3B,IAAe,EACf,OAA6B,EAC7B,IAAmB,EACnB,GAAyB;IAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,IAAI,gBAAgB,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE;QACxD,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK,EAAE,iDAAiD;QAC/D,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QACd,mFAAmF;QACnF,kFAAkF;QAClF,8DAA8D;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAChD,OAAO,CAAC,KAAK,EACb,MAAM,EACN,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CACxC,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACrE,CAAC;AAqBD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAe,EACf,OAAoC;IAEpC,yFAAyF;IACzF,+DAA+D;IAC/D,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,MAAe,CAAC;IAEpB,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;QACrC,IAAI,OAAO;YAAE,OAAO;QACpB,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO;QACL,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,MAAM,KAAK,SAAS;gBAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3E;;;;;GAKG;AAEH,KAAK,UAAU,iBAAiB,CAC9B,KAAgB,EAChB,OAA6B,EAC7B,KAA+B,EAC/B,eAA2C,EAC3C,MAA2B;IAE3B,MAAM,GAAG,GAA4B;QACnC,OAAO,EAAE,eAAe,CAAC,IAAI;QAC7B,OAAO,EAAE,CAAC;QACV,GAAG,EAAE,CAAC;QACN,QAAQ,EAAE,CAAC;QACX,IAAI,EAAE,CAAC;QACP,MAAM,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;QACV,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC;QACX,MAAM,EAAE,CAAC;KACV,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,oBAAoB,CAAC;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,yBAAyB,CAAC;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,CAAC;QACH,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,wFAAwF;YACxF,mCAAmC;YACnC,MAAM,OAAO,GAAG,CACd,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC,CACvG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;YAC7B,MAAM,UAAU,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,KAAK,GAAG,IAAI,GAAG,CACnB,CAAC,MAAM,KAAK,CAAC,wBAAyB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAiB,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CACxG,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACzE,+EAA+E;YAC/E,MAAM,GAAG,GAAG,UAAU;iBACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3B,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,IAAI,WAAW,CAAC;YAC/C,CAAC,CAAC;iBACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACxF,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACjC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;YACrB,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACxC,MAAM,QAAQ,GAA+B,EAAE,CAAC;YAChD,MAAM,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC3D,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;gBACvE,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,gFAAgF;wBAChF,yEAAyE;wBACzE,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;wBACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;wBAC3C,OAAO;oBACT,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;wBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC3F,4EAA4E;oBAC5E,sEAAsE;oBACtE,IAAI,MAA+D,CAAC;oBACpE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;wBACrB,IAAI,CAAC;4BACH,MAAM,GAAG,MAAM,cAAc,CAC3B,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EACnB,KAAK,CAAC,kBAAkB,IAAI,qBAAqB,EACjD,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAC9B,CAAC;wBACJ,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;gCACvB,kFAAkF;gCAClF,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;gCACd,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;gCACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gCACrC,OAAO;4BACT,CAAC;4BACD,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;4BAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAC1D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACvE,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBACvC,CAAC;yBAAM,CAAC;wBACN,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC;gBAChB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;oBAChB,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChE,IAAI,aAAa,CAAC,GAAG,CAAC;wBAAE,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;;wBACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,kBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC9G,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,IAAI,yBAAyB,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,wFAAwF;QACxF,2CAA2C;QAC3C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"platform-sweep.js","sourceRoot":"","sources":["../src/platform-sweep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * The promote review's binding (#2333), shared by both adapters and the control plane's
3
+ * migrations read.
4
+ *
5
+ * A promote review is computed from the version being promoted over the channel's CURRENT
6
+ * version. The acknowledgement a person gives after reading it used to be a bare flag, so a
7
+ * concurrent promote between showing the review and acknowledging it changed the base, and the
8
+ * person acknowledged a diff that was no longer the one applied. The review now hands out a
9
+ * binding — the base it was computed against, and a digest of the stored rows it was computed
10
+ * from — and the promote refuses unless both still hold.
11
+ *
12
+ * The digest is the server's, over the server's stored rows, on both ends: the migrations read
13
+ * computes it beside the diff it shows, and the promote recomputes it. What a client sends is
14
+ * only compared with it, never read as the diff (the same rule the push digests keep: nothing
15
+ * re-derives a review from a client's digest).
16
+ */
17
+ import { type PromotionAcknowledgement, type PromotionReviewBinding } from '@substrat-run/contracts';
18
+ /** One side of a review, as the directory stores it. */
19
+ export interface ReviewedVersion {
20
+ id: string;
21
+ permissionDigest: string;
22
+ migrationDigest: string;
23
+ /** The stored migrations, in host order, with what each declares. Null = the version carries none. */
24
+ migrations: readonly {
25
+ moduleId: string;
26
+ version: string;
27
+ sql: string;
28
+ moves?: Readonly<Record<string, string>>;
29
+ discards?: Readonly<Record<string, string>>;
30
+ }[] | null;
31
+ }
32
+ /** The digest of a review of `incoming` over `base` (null: nothing serves). Lowercase hex SHA-256. */
33
+ export declare function promoteReviewDigest(base: ReviewedVersion | null, incoming: ReviewedVersion): Promise<string>;
34
+ /**
35
+ * The digest of a rebind review (#2347): the target lineage's serving version over the version
36
+ * the scope is bound to (null: bound to none). Each side names its lineage too, since the two are
37
+ * different verticals. Its own tag, so a promote's binding is never accepted as a rebind's, nor
38
+ * the reverse: the two answer different questions over what can be the same two rows.
39
+ */
40
+ export declare function rebindReviewDigest(base: {
41
+ vertical: string;
42
+ version: ReviewedVersion;
43
+ } | null, target: {
44
+ vertical: string;
45
+ version: ReviewedVersion;
46
+ }): Promise<string>;
47
+ /**
48
+ * The refusal for a promote that lost a race (#2333): the channel moved to another version after
49
+ * this promote's gates and review binding were judged against it. Its acknowledgements answered a
50
+ * diff that is no longer the one it would apply, so it is refused as stale whether bound or not.
51
+ */
52
+ export declare function promoteRaceRefusal(channel: string): Error;
53
+ /** Whether a throw is one of the refusals below, and which. */
54
+ export declare function promoteReviewRefusalOf(err: unknown): 'stale' | 'unbound' | null;
55
+ /**
56
+ * The promote gate's binding check. `baseId` is what the channel points at now (null: nothing).
57
+ * `read` loads both sides' stored rows, and is only called when a binding was sent.
58
+ *
59
+ * - A binding is always checked, whatever it acknowledges: the base it names must be the
60
+ * channel's, and the digest must be the one the stored rows give now.
61
+ * - Without one, a `migrationChange` the gate is about to consume is refused: that is the
62
+ * acknowledgement that lets a migration — and any data loss it declares — reach live data.
63
+ * A permission-only acknowledgement without one is still honoured (an older client's).
64
+ *
65
+ * The refusals carry neither the current base's digest nor anything to retry with: a client
66
+ * that wants to proceed reads the review again, and reading is what shows its person the diff
67
+ * that would now apply.
68
+ */
69
+ export declare function assertPromoteReviewCurrent(opts: {
70
+ ack: PromotionAcknowledgement;
71
+ channel: string;
72
+ baseId: string | null;
73
+ /** The migration digest moved, so the gate consumes `migrationChange`. */
74
+ migrationsChange: boolean;
75
+ read: () => Promise<{
76
+ base: ReviewedVersion | null;
77
+ incoming: ReviewedVersion;
78
+ }>;
79
+ }): Promise<void>;
80
+ /**
81
+ * The refusal for a rebind that lost a race (#2347): the scope's bound version, or the target's
82
+ * serving version, moved after the rebind's gate and review binding were judged against them, so
83
+ * its acknowledgement answered a diff that is no longer the one it would apply.
84
+ */
85
+ export declare function rebindRaceRefusal(target: string): Error;
86
+ /** Whether a throw is one of the rebind review refusals, and which. */
87
+ export declare function rebindReviewRefusalOf(err: unknown): 'stale' | 'unbound' | null;
88
+ /**
89
+ * The rebind gate's binding check (#2347), `assertPromoteReviewCurrent`'s rule for a scope
90
+ * moving onto another lineage. `baseId` is the version the scope is bound to now (null: none),
91
+ * `target` the lineage it moves onto. `read` loads both sides' stored rows, and is only called
92
+ * when a binding was sent.
93
+ *
94
+ * - A binding is always checked: its base must be the scope's bound version, and its digest the
95
+ * one the stored rows of both sides give now. The target's serving version is inside the
96
+ * digest, so a promote on either lineage since the review was read turns it stale.
97
+ * - Without one, an `ackMigrations` the gate is about to consume (the digests differ) is refused.
98
+ *
99
+ * Neither refusal hands back the current digest: the client reads the review again.
100
+ */
101
+ export declare function assertRebindReviewCurrent(opts: {
102
+ ackMigrations: boolean;
103
+ review: PromotionReviewBinding | undefined;
104
+ target: string;
105
+ baseId: string | null;
106
+ /** The two lineages' migration digests differ (or the scope is bound to none), so the gate consumes `ackMigrations`. */
107
+ migrationsChange: boolean;
108
+ read: () => Promise<{
109
+ base: ReviewedVersion | null;
110
+ baseVertical: string | null;
111
+ target: ReviewedVersion;
112
+ }>;
113
+ }): Promise<void>;
114
+ /** #2347: what a rebind expects the target lineage's serving script to run when its write lands. */
115
+ export interface ExpectedServing {
116
+ vertical: string;
117
+ ref: string;
118
+ versionId: string;
119
+ }
120
+ /** The serving row a rebind was judged against, as a `verticals` WHERE. Params: `servesNowParams`. */
121
+ export declare const SERVES_NOW_CONDITION = "slug = ? AND serving_ref IS ? AND serving_version_id IS ?";
122
+ /** Appended to a rebind's `UPDATE scopes … WHERE`, so the route and pointer move only onto what was judged. */
123
+ export declare const SERVES_NOW_PREDICATE = "\n AND EXISTS (SELECT 1 FROM verticals WHERE slug = ? AND serving_ref IS ? AND serving_version_id IS ?)";
124
+ export declare const servesNowParams: (e: ExpectedServing) => string[];
125
+ //# sourceMappingURL=promote-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote-review.d.ts","sourceRoot":"","sources":["../src/promote-review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * The promote review's binding (#2333), shared by both adapters and the control plane's
3
+ * migrations read.
4
+ *
5
+ * A promote review is computed from the version being promoted over the channel's CURRENT
6
+ * version. The acknowledgement a person gives after reading it used to be a bare flag, so a
7
+ * concurrent promote between showing the review and acknowledging it changed the base, and the
8
+ * person acknowledged a diff that was no longer the one applied. The review now hands out a
9
+ * binding — the base it was computed against, and a digest of the stored rows it was computed
10
+ * from — and the promote refuses unless both still hold.
11
+ *
12
+ * The digest is the server's, over the server's stored rows, on both ends: the migrations read
13
+ * computes it beside the diff it shows, and the promote recomputes it. What a client sends is
14
+ * only compared with it, never read as the diff (the same rule the push digests keep: nothing
15
+ * re-derives a review from a client's digest).
16
+ */
17
+ import { PROMOTE_REVIEW_REASONS, REBIND_REVIEW_REASONS, reviewLine, substratError, errorCodeOf, } from '@substrat-run/contracts';
18
+ /** A declaration record as sorted pairs, so key order never moves the digest. */
19
+ const pairs = (r) => Object.entries(r ?? {}).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
20
+ /**
21
+ * Exactly what a review shows, and nothing else: each side's id, its two pushed digests (the
22
+ * gate's own comparison) and its stored migrations with their declared moves and discards. A
23
+ * version's admission, origin, label or deployment are left out, so changing them never turns a
24
+ * current review stale.
25
+ */
26
+ const sideOf = (v) => v === null
27
+ ? null
28
+ : [
29
+ v.id,
30
+ v.permissionDigest,
31
+ v.migrationDigest,
32
+ v.migrations === null
33
+ ? null
34
+ : v.migrations.map((m) => [m.moduleId, m.version, m.sql, pairs(m.moves), pairs(m.discards)]),
35
+ ];
36
+ /** Lowercase hex SHA-256 of a value's JSON. */
37
+ async function digestOf(value) {
38
+ const hash = new Uint8Array(await crypto.subtle.digest('SHA-256', new TextEncoder().encode(JSON.stringify(value))));
39
+ return Array.from(hash, (b) => b.toString(16).padStart(2, '0')).join('');
40
+ }
41
+ /** The digest of a review of `incoming` over `base` (null: nothing serves). Lowercase hex SHA-256. */
42
+ export async function promoteReviewDigest(base, incoming) {
43
+ return digestOf(['promote-review/1', sideOf(base), sideOf(incoming)]);
44
+ }
45
+ /**
46
+ * The digest of a rebind review (#2347): the target lineage's serving version over the version
47
+ * the scope is bound to (null: bound to none). Each side names its lineage too, since the two are
48
+ * different verticals. Its own tag, so a promote's binding is never accepted as a rebind's, nor
49
+ * the reverse: the two answer different questions over what can be the same two rows.
50
+ */
51
+ export async function rebindReviewDigest(base, target) {
52
+ return digestOf([
53
+ 'rebind-review/1',
54
+ base === null ? null : [base.vertical, sideOf(base.version)],
55
+ [target.vertical, sideOf(target.version)],
56
+ ]);
57
+ }
58
+ /**
59
+ * Where the unbound refusal sends a person, by what the release does rather than its number: the
60
+ * number is the release tooling's to assign, and a version named here before it is cut can name
61
+ * one that does not carry `--review`.
62
+ */
63
+ const PROMOTE_REVIEW_DOCS = 'https://substrat.net/guide/deploying#acknowledgement-answers-one-review';
64
+ /**
65
+ * The refusal for a promote that lost a race (#2333): the channel moved to another version after
66
+ * this promote's gates and review binding were judged against it. Its acknowledgements answered a
67
+ * diff that is no longer the one it would apply, so it is refused as stale whether bound or not.
68
+ */
69
+ export function promoteRaceRefusal(channel) {
70
+ return substratError('precondition_failed', `the promote review is stale: ${reviewLine(channel)} moved to another version while this promote was being ` +
71
+ 'judged. Read the review again and acknowledge what it shows now', { reason: PROMOTE_REVIEW_REASONS.stale });
72
+ }
73
+ /** Whether a throw is one of the refusals below, and which. */
74
+ export function promoteReviewRefusalOf(err) {
75
+ if (errorCodeOf(err) !== 'precondition_failed')
76
+ return null;
77
+ const reason = err.extensions?.reason;
78
+ return reason === PROMOTE_REVIEW_REASONS.stale ? 'stale' : reason === PROMOTE_REVIEW_REASONS.unbound ? 'unbound' : null;
79
+ }
80
+ /**
81
+ * The promote gate's binding check. `baseId` is what the channel points at now (null: nothing).
82
+ * `read` loads both sides' stored rows, and is only called when a binding was sent.
83
+ *
84
+ * - A binding is always checked, whatever it acknowledges: the base it names must be the
85
+ * channel's, and the digest must be the one the stored rows give now.
86
+ * - Without one, a `migrationChange` the gate is about to consume is refused: that is the
87
+ * acknowledgement that lets a migration — and any data loss it declares — reach live data.
88
+ * A permission-only acknowledgement without one is still honoured (an older client's).
89
+ *
90
+ * The refusals carry neither the current base's digest nor anything to retry with: a client
91
+ * that wants to proceed reads the review again, and reading is what shows its person the diff
92
+ * that would now apply.
93
+ */
94
+ export async function assertPromoteReviewCurrent(opts) {
95
+ const review = opts.ack.review;
96
+ if (review === undefined) {
97
+ if (opts.migrationsChange && opts.ack.migrationChange) {
98
+ throw substratError('precondition_failed', `acknowledging a migration change needs the review it answers: send acknowledge.review (the base and ` +
99
+ `digest the migrations read returned beside the diff that was shown). From the command line, upgrade ` +
100
+ `to a CLI release whose 'substrat promote' supports --review, and run it without --ack-migrations: it ` +
101
+ `prints the migrations and the --review token to acknowledge them with (${PROMOTE_REVIEW_DOCS})`, { reason: PROMOTE_REVIEW_REASONS.unbound });
102
+ }
103
+ return;
104
+ }
105
+ if (review.base !== opts.baseId) {
106
+ throw substratError('precondition_failed',
107
+ // The ids are a publisher's text (#2322): every control, format and bidi character made visible.
108
+ `the promote review is stale: it was read against ${review.base === null ? 'no serving version' : `version ${reviewLine(review.base)}`}, ` +
109
+ `and ${opts.channel} now points at ${opts.baseId === null ? 'none' : `version ${reviewLine(opts.baseId)}`}. ` +
110
+ 'Read the review again and acknowledge what it shows now', { reason: PROMOTE_REVIEW_REASONS.stale });
111
+ }
112
+ const { base, incoming } = await opts.read();
113
+ if ((await promoteReviewDigest(base, incoming)) !== review.digest) {
114
+ throw substratError('precondition_failed', 'the promote review is stale: the stored versions it was computed from no longer give the digest it was ' +
115
+ 'acknowledged with. Read the review again and acknowledge what it shows now', { reason: PROMOTE_REVIEW_REASONS.stale });
116
+ }
117
+ }
118
+ /** Where the unbound rebind refusal sends a person; by what the release does, as `PROMOTE_REVIEW_DOCS`. */
119
+ const REBIND_REVIEW_DOCS = 'https://substrat.net/guide/deploying#a-rebind-answers-one-review';
120
+ const rebindStale = (why) => substratError('precondition_failed', `the rebind review is stale: ${why}. Read the review again and acknowledge what it shows now`, {
121
+ reason: REBIND_REVIEW_REASONS.stale,
122
+ });
123
+ /**
124
+ * The refusal for a rebind that lost a race (#2347): the scope's bound version, or the target's
125
+ * serving version, moved after the rebind's gate and review binding were judged against them, so
126
+ * its acknowledgement answered a diff that is no longer the one it would apply.
127
+ */
128
+ export function rebindRaceRefusal(target) {
129
+ return rebindStale(`the scope's bound version or what ${reviewLine(target)} serves moved while this rebind was being judged`);
130
+ }
131
+ /** Whether a throw is one of the rebind review refusals, and which. */
132
+ export function rebindReviewRefusalOf(err) {
133
+ if (errorCodeOf(err) !== 'precondition_failed')
134
+ return null;
135
+ const reason = err.extensions?.reason;
136
+ return reason === REBIND_REVIEW_REASONS.stale ? 'stale' : reason === REBIND_REVIEW_REASONS.unbound ? 'unbound' : null;
137
+ }
138
+ /**
139
+ * The rebind gate's binding check (#2347), `assertPromoteReviewCurrent`'s rule for a scope
140
+ * moving onto another lineage. `baseId` is the version the scope is bound to now (null: none),
141
+ * `target` the lineage it moves onto. `read` loads both sides' stored rows, and is only called
142
+ * when a binding was sent.
143
+ *
144
+ * - A binding is always checked: its base must be the scope's bound version, and its digest the
145
+ * one the stored rows of both sides give now. The target's serving version is inside the
146
+ * digest, so a promote on either lineage since the review was read turns it stale.
147
+ * - Without one, an `ackMigrations` the gate is about to consume (the digests differ) is refused.
148
+ *
149
+ * Neither refusal hands back the current digest: the client reads the review again.
150
+ */
151
+ export async function assertRebindReviewCurrent(opts) {
152
+ const review = opts.review;
153
+ if (review === undefined) {
154
+ if (opts.migrationsChange && opts.ackMigrations) {
155
+ throw substratError('precondition_failed', `acknowledging the migrations of a rebind needs the review it answers: send acknowledge.review (the base and ` +
156
+ `digest the rebind-review read returned beside the diff that was shown). From the command line, upgrade ` +
157
+ `to a CLI release whose 'substrat scope rebind' supports --review, and run it without --ack-migrations: it ` +
158
+ `prints the migrations and the --review token to acknowledge them with (${REBIND_REVIEW_DOCS})`, { reason: REBIND_REVIEW_REASONS.unbound });
159
+ }
160
+ return;
161
+ }
162
+ if (review.base !== opts.baseId) {
163
+ throw rebindStale(
164
+ // The ids are a publisher's text (#2322): every control, format and bidi character made visible.
165
+ `it was read against ${review.base === null ? 'no bound version' : `version ${reviewLine(review.base)}`}, ` +
166
+ `and the scope is now bound to ${opts.baseId === null ? 'none' : `version ${reviewLine(opts.baseId)}`}`);
167
+ }
168
+ const { base, baseVertical, target } = await opts.read();
169
+ const digest = await rebindReviewDigest(base && baseVertical !== null ? { vertical: baseVertical, version: base } : null, { vertical: opts.target, version: target });
170
+ if (digest !== review.digest) {
171
+ throw rebindStale(`the stored versions it was computed from, the target's serving version among them, no longer give the ` +
172
+ 'digest it was acknowledged with');
173
+ }
174
+ }
175
+ /** The serving row a rebind was judged against, as a `verticals` WHERE. Params: `servesNowParams`. */
176
+ export const SERVES_NOW_CONDITION = 'slug = ? AND serving_ref IS ? AND serving_version_id IS ?';
177
+ /** Appended to a rebind's `UPDATE scopes … WHERE`, so the route and pointer move only onto what was judged. */
178
+ export const SERVES_NOW_PREDICATE = `
179
+ AND EXISTS (SELECT 1 FROM verticals WHERE ${SERVES_NOW_CONDITION})`;
180
+ export const servesNowParams = (e) => [e.vertical, e.ref, e.versionId];
181
+ //# sourceMappingURL=promote-review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote-review.js","sourceRoot":"","sources":["../src/promote-review.ts"],"names":[],"mappings":"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"}