@agentplat/inference-control 0.3.0-beta.2 → 0.3.0-beta.3

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 (150) hide show
  1. package/README.md +360 -0
  2. package/dist/anytime-semantic-guarantees.d.ts +216 -0
  3. package/dist/anytime-semantic-guarantees.d.ts.map +1 -0
  4. package/dist/anytime-semantic-guarantees.js +817 -0
  5. package/dist/anytime-semantic-guarantees.js.map +1 -0
  6. package/dist/assessor-ensemble-contracts.d.ts +145 -0
  7. package/dist/assessor-ensemble-contracts.d.ts.map +1 -0
  8. package/dist/assessor-ensemble-contracts.js +29 -0
  9. package/dist/assessor-ensemble-contracts.js.map +1 -0
  10. package/dist/assessor-ensemble-runtime.d.ts +55 -0
  11. package/dist/assessor-ensemble-runtime.d.ts.map +1 -0
  12. package/dist/assessor-ensemble-runtime.js +308 -0
  13. package/dist/assessor-ensemble-runtime.js.map +1 -0
  14. package/dist/assessor-ensemble-validation.d.ts +12 -0
  15. package/dist/assessor-ensemble-validation.d.ts.map +1 -0
  16. package/dist/assessor-ensemble-validation.js +156 -0
  17. package/dist/assessor-ensemble-validation.js.map +1 -0
  18. package/dist/assessor-ensemble.d.ts +4 -0
  19. package/dist/assessor-ensemble.d.ts.map +1 -0
  20. package/dist/assessor-ensemble.js +4 -0
  21. package/dist/assessor-ensemble.js.map +1 -0
  22. package/dist/cognitive-adapters.d.ts +92 -0
  23. package/dist/cognitive-adapters.d.ts.map +1 -0
  24. package/dist/cognitive-adapters.js +263 -0
  25. package/dist/cognitive-adapters.js.map +1 -0
  26. package/dist/context-integrity-analyzers.d.ts +35 -0
  27. package/dist/context-integrity-analyzers.d.ts.map +1 -0
  28. package/dist/context-integrity-analyzers.js +387 -0
  29. package/dist/context-integrity-analyzers.js.map +1 -0
  30. package/dist/context-integrity-contracts.d.ts +304 -0
  31. package/dist/context-integrity-contracts.d.ts.map +1 -0
  32. package/dist/context-integrity-contracts.js +24 -0
  33. package/dist/context-integrity-contracts.js.map +1 -0
  34. package/dist/context-integrity-model.d.ts +25 -0
  35. package/dist/context-integrity-model.d.ts.map +1 -0
  36. package/dist/context-integrity-model.js +192 -0
  37. package/dist/context-integrity-model.js.map +1 -0
  38. package/dist/context-integrity-portable-agent.d.ts +79 -0
  39. package/dist/context-integrity-portable-agent.d.ts.map +1 -0
  40. package/dist/context-integrity-portable-agent.js +511 -0
  41. package/dist/context-integrity-portable-agent.js.map +1 -0
  42. package/dist/context-integrity-role-alignment.d.ts +28 -0
  43. package/dist/context-integrity-role-alignment.d.ts.map +1 -0
  44. package/dist/context-integrity-role-alignment.js +95 -0
  45. package/dist/context-integrity-role-alignment.js.map +1 -0
  46. package/dist/context-integrity-runtime.d.ts +95 -0
  47. package/dist/context-integrity-runtime.d.ts.map +1 -0
  48. package/dist/context-integrity-runtime.js +1512 -0
  49. package/dist/context-integrity-runtime.js.map +1 -0
  50. package/dist/context-integrity.d.ts +5 -0
  51. package/dist/context-integrity.d.ts.map +1 -0
  52. package/dist/context-integrity.js +5 -0
  53. package/dist/context-integrity.js.map +1 -0
  54. package/dist/governed-role-evolution.d.ts +172 -0
  55. package/dist/governed-role-evolution.d.ts.map +1 -0
  56. package/dist/governed-role-evolution.js +613 -0
  57. package/dist/governed-role-evolution.js.map +1 -0
  58. package/dist/heterogeneous-agent-composition.d.ts +96 -0
  59. package/dist/heterogeneous-agent-composition.d.ts.map +1 -0
  60. package/dist/heterogeneous-agent-composition.js +512 -0
  61. package/dist/heterogeneous-agent-composition.js.map +1 -0
  62. package/dist/index.d.ts +21 -13
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +21 -13
  65. package/dist/index.js.map +1 -1
  66. package/dist/intervention-adapters.d.ts +29 -0
  67. package/dist/intervention-adapters.d.ts.map +1 -0
  68. package/dist/intervention-adapters.js +107 -0
  69. package/dist/intervention-adapters.js.map +1 -0
  70. package/dist/intervention-contracts.d.ts +311 -0
  71. package/dist/intervention-contracts.d.ts.map +1 -0
  72. package/dist/intervention-contracts.js +28 -0
  73. package/dist/intervention-contracts.js.map +1 -0
  74. package/dist/intervention-runtime.d.ts +86 -0
  75. package/dist/intervention-runtime.d.ts.map +1 -0
  76. package/dist/intervention-runtime.js +958 -0
  77. package/dist/intervention-runtime.js.map +1 -0
  78. package/dist/intervention-validation.d.ts +27 -0
  79. package/dist/intervention-validation.d.ts.map +1 -0
  80. package/dist/intervention-validation.js +273 -0
  81. package/dist/intervention-validation.js.map +1 -0
  82. package/dist/intervention.d.ts +6 -0
  83. package/dist/intervention.d.ts.map +1 -0
  84. package/dist/intervention.js +6 -0
  85. package/dist/intervention.js.map +1 -0
  86. package/dist/model.d.ts +18 -0
  87. package/dist/model.d.ts.map +1 -1
  88. package/dist/model.js +60 -2
  89. package/dist/model.js.map +1 -1
  90. package/dist/operational-cognitive-control.d.ts +208 -0
  91. package/dist/operational-cognitive-control.d.ts.map +1 -0
  92. package/dist/operational-cognitive-control.js +590 -0
  93. package/dist/operational-cognitive-control.js.map +1 -0
  94. package/dist/portable-agent.d.ts +50 -0
  95. package/dist/portable-agent.d.ts.map +1 -0
  96. package/dist/portable-agent.js +243 -0
  97. package/dist/portable-agent.js.map +1 -0
  98. package/dist/reference-controllers.d.ts +121 -0
  99. package/dist/reference-controllers.d.ts.map +1 -0
  100. package/dist/reference-controllers.js +411 -0
  101. package/dist/reference-controllers.js.map +1 -0
  102. package/dist/role-alignment-portable-agent.d.ts +145 -0
  103. package/dist/role-alignment-portable-agent.d.ts.map +1 -0
  104. package/dist/role-alignment-portable-agent.js +484 -0
  105. package/dist/role-alignment-portable-agent.js.map +1 -0
  106. package/dist/role-alignment.d.ts +226 -0
  107. package/dist/role-alignment.d.ts.map +1 -0
  108. package/dist/role-alignment.js +1074 -0
  109. package/dist/role-alignment.js.map +1 -0
  110. package/dist/role-realignment-portable-agent.d.ts +163 -0
  111. package/dist/role-realignment-portable-agent.d.ts.map +1 -0
  112. package/dist/role-realignment-portable-agent.js +634 -0
  113. package/dist/role-realignment-portable-agent.js.map +1 -0
  114. package/dist/role-realignment.d.ts +368 -0
  115. package/dist/role-realignment.d.ts.map +1 -0
  116. package/dist/role-realignment.js +1609 -0
  117. package/dist/role-realignment.js.map +1 -0
  118. package/dist/semantic-alignment-assessors.d.ts +12 -0
  119. package/dist/semantic-alignment-assessors.d.ts.map +1 -0
  120. package/dist/semantic-alignment-assessors.js +55 -0
  121. package/dist/semantic-alignment-assessors.js.map +1 -0
  122. package/dist/semantic-alignment-contracts.d.ts +385 -0
  123. package/dist/semantic-alignment-contracts.d.ts.map +1 -0
  124. package/dist/semantic-alignment-contracts.js +16 -0
  125. package/dist/semantic-alignment-contracts.js.map +1 -0
  126. package/dist/semantic-alignment-memory.d.ts +53 -0
  127. package/dist/semantic-alignment-memory.d.ts.map +1 -0
  128. package/dist/semantic-alignment-memory.js +170 -0
  129. package/dist/semantic-alignment-memory.js.map +1 -0
  130. package/dist/semantic-alignment-runtime.d.ts +67 -0
  131. package/dist/semantic-alignment-runtime.d.ts.map +1 -0
  132. package/dist/semantic-alignment-runtime.js +778 -0
  133. package/dist/semantic-alignment-runtime.js.map +1 -0
  134. package/dist/semantic-alignment-validation.d.ts +31 -0
  135. package/dist/semantic-alignment-validation.d.ts.map +1 -0
  136. package/dist/semantic-alignment-validation.js +477 -0
  137. package/dist/semantic-alignment-validation.js.map +1 -0
  138. package/dist/semantic-alignment.d.ts +8 -0
  139. package/dist/semantic-alignment.d.ts.map +1 -0
  140. package/dist/semantic-alignment.js +8 -0
  141. package/dist/semantic-alignment.js.map +1 -0
  142. package/dist/semantic-horizon-budget.d.ts +118 -0
  143. package/dist/semantic-horizon-budget.d.ts.map +1 -0
  144. package/dist/semantic-horizon-budget.js +536 -0
  145. package/dist/semantic-horizon-budget.js.map +1 -0
  146. package/dist/semantic-metric-engine.d.ts +96 -0
  147. package/dist/semantic-metric-engine.d.ts.map +1 -0
  148. package/dist/semantic-metric-engine.js +396 -0
  149. package/dist/semantic-metric-engine.js.map +1 -0
  150. package/package.json +79 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-alignment-runtime.js","sourceRoot":"","sources":["../src/semantic-alignment-runtime.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAK7E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EACL,8BAA8B,GAkB/B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,mCAAmC,EACnC,4BAA4B,EAC5B,8BAA8B,GAC/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,mCAAmC,EACnC,yCAAyC,EACzC,uBAAuB,EACvB,gCAAgC,EAChC,kBAAkB,EAClB,oCAAoC,EACpC,oCAAoC,EACpC,gCAAgC,EAChC,+BAA+B,EAC/B,gCAAgC,EAChC,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,MAAM,0BAA0B,GAAG;IACjC,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,aAAa;CACL,CAAC;AACX,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAA6B;IAC/D,gBAAgB;IAChB,mBAAmB;IACnB,yBAAyB;IACzB,uBAAuB;CACxB,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAOlC,MAAM,OAAO,iCAAiC;IAMvB;IALZ,KAAK,CAA8B;IACnC,MAAM,CAAmC;IACzC,QAAQ,CAAS;IACjB,iBAAiB,CAAS;IAEnC,YAAqB,OAAwC;QAAxC,YAAO,GAAP,OAAO,CAAiC;QAC3D,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,+BAA+B,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB;YAChG,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,oCAAoC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;YACnG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC;YACnG,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;YAC5E,IAAI,UAAU,CAAC,KAAK,KAAK,4BAA4B;gBACnD,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;QACvE,CAAC;QACD,KAAK,MAAM,SAAS,IAAI,0BAA0B,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB,OAAO,CAAC,SAAS;iBACd,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;iBACjF,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAC5D,CAAC;YACF,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,yBAAyB;gBACxD,MAAM,IAAI,SAAS,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;YACvE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;YACrE,IAAI,OAAO,OAAO,CAAC,QAAQ,CAAC,aAAa,KAAK,UAAU;gBACtD,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;YAC/E,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;YAC7E,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,mBAAmB,KAAK,UAAU;gBAChE,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;YAChC,YAAY,CACV,OAAO,CAAC,mBAAmB,CAAC,oBAAoB,EAChD,0CAA0C,CAC3C,CAAC;YACF,gBAAgB,CACd,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAClC,4BAA4B,CAC7B,CAAC;YACF,YAAY,CACV,OAAO,CAAC,mBAAmB,CAAC,aAAa,EACzC,mCAAmC,CACpC,CAAC;YACF,gBAAgB,CACd,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,EAC9C,8BAA8B,CAC/B,CAAC;YACF,YAAY,CACV,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,eAAe,EACrD,qCAAqC,CACtC,CAAC;YACF,IACE,OAAO,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,KAAK,KAAK,UAAU;gBACjE,OAAO,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,eAAe,KAAK,UAAU;gBAC3E,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAC9C,cAAc,EACd;YACE,SAAS,EAAE,OAAO,CAAC,SAAS;iBACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;iBAC/C,IAAI,EAAE;YACT,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBACxB,CAAC,CAAC;oBACE,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa;oBAC7C,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;iBAC5C;gBACH,CAAC,CAAC,IAAI;YACR,YAAY,EAAE,OAAO,CAAC,YAAY;gBAChC,CAAC,CAAC;oBACE,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,aAAa;oBACjD,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,YAAY;iBAChD;gBACH,CAAC,CAAC,IAAI;YACR,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;gBAC9C,CAAC,CAAC;oBACE,oBAAoB,EAAE,OAAO,CAAC,mBAAmB,CAAC,oBAAoB;oBACtE,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,MAAM;oBAC1C,aAAa,EAAE,OAAO,CAAC,mBAAmB,CAAC,aAAa;oBACxD,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ;oBACxD,eAAe,EAAE,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,eAAe;iBACvE;gBACH,CAAC,CAAC,IAAI;SACe,CAC1B,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,sBAAsB,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,mCAAmC,EAAE,CAAC;QACxE,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,eAAe;gBACtB,IAAI,CAAC,KAAqD,CAAC;QAC9D,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU;YAC9C,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,KAAK;YAAE,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACtC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAClD,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAuC;QACnD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAuC;QACtD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAuC;QACrD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,KAAuC,EAAE,GAAyB;QACjF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,aAAa,CAAI,KAAuC,EAAE,OAA6B;QAC3F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAuC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO;YACnB,OAAO,UAAU,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAClD,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,gCAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI;YACtC,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxC,IACE,CAAC,SAAS;YACV,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,sBAAsB;YACpD,CAAC;gBACC,SAAS,CAAC,YAAY,EAAE,cAAc;gBACtC,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;aAChE,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;YACnC,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;QAChE,MAAM,oBAAoB,GACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC;QAClE,MAAM,uBAAuB,GAC3B,KAAK,GAAG,oBAAoB,GAAG,OAAO,CAAC,aAAa;YAClD,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC;QACpC,MAAM,MAAM,GAAG,yCAAyC,CAAC;YACvD,aAAa,EAAE,CAAU;YACzB,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY;YAC9C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;YACvD,sBAAsB,EAAE,OAAO,CAAC,aAAa;YAC7C,uBAAuB;SACxB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,qCAAqC,CAClD,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACtC,QAAQ,CAAC,SAAS,CACnB,CAAC;QACF,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;YACpD,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC;YACzD,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,oBAAoB,EAAE,MAAM,CAAC,YAAY;YACzC,2BAA2B,EAAE,MAAM,CAAC,mBAAmB;YACvD,oBAAoB,EAAE,OAAO,CAAC,aAAa;SAC5C,CAAC,CAAC;QACH,OAAO,UAAU,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,KAM/B;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAClD,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,gBAAgB,CAAC,KAAK,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS;YACzC,YAAY,CAAC,KAAK,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;QACjE,YAAY,CAAC,KAAK,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;QACjE,YAAY,CAAC,KAAK,CAAC,2BAA2B,EAAE,6BAA6B,CAAC,CAAC;QAC/E,iBAAiB,CAAC,KAAK,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB;YAC9E,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;QACjF,IAAI,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB;YAC7D,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;YACxD,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACvD,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;YACnD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;YAChD,oBAAoB,EAAE,OAAO,CAAC,QAAQ;SACvC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,qCAAqC,CACzD,QAAQ,EACR,QAAQ,CAAC,SAAS,CACnB,CAAC;QACF,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;QACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAC3C,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;YAC7C,MAAM,CAAC,cAAc,KAAK,MAAM,CAAC,cAAc;YAC/C,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;YACnC,MAAM,CAAC,UAAU,KAAK,YAAY;YAClC,MAAM,CAAC,WAAW,KAAK,OAAO,CACjC,CAAC;QACF,IACE,MAAM,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe;YAChD,MAAM,CAAC,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;YAC3D,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe;YAC/D,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY;YACxD,MAAM,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB;YACnD,MAAM,CAAC,oBAAoB,KAAK,QAAQ,CAAC,oBAAoB;YAC7D,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YACjC,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;YAC/C,MAAM,CAAC,YAAY,KAAK,KAAK,CAAC,oBAAoB;YAClD,MAAM,CAAC,mBAAmB,KAAK,KAAK,CAAC,2BAA2B;YAChE,MAAM,CAAC,sBAAsB,GAAG,OAAO,CAAC,QAAQ;YAChD,CAAC,QAAQ;YACT,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAC,sBAAsB;YAC1D,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAC,uBAAuB;YAC3D,MAAM,IAAI,SAAS,CAAC,mDAAmD,CAAC,CAAC;QAC3E,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,KAMC,EACD,IAAgC;QAKhC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YACnC,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC7C,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC;QACvD,YAAY,CAAC,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,CAAC;QACrE,IACE,OAAO,IAAI,CAAC,SAAS,KAAK,UAAU;YACpC,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU;YACxC,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAClD,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;QACzE,IACE,IAAI,CAAC,oBAAoB,KAAK,QAAQ,CAAC,oBAAoB;YAC3D,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YAC/B,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;YAC7C,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,qCAAqC,CACzD,MAAM,IAAI,CAAC,SAAS,CAAC;YACnB,aAAa;YACb,YAAY,EAAE,KAAK,CAAC,oBAAoB;YACxC,mBAAmB,EAAE,KAAK,CAAC,2BAA2B;SACvD,CAAC,CACH,CAAC;QACF,IACE,aAAa,CAAC,mBAAmB,KAAK,aAAa,CAAC,mBAAmB;YACvE,aAAa,CAAC,oBAAoB,KAAK,QAAQ,CAAC,oBAAoB;YACpE,aAAa,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YACxC,aAAa,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa;YACtD,aAAa,CAAC,wBAAwB;gBACpC,aAAa,CAAC,MAAM,CAAC,sBAAsB;YAC7C,aAAa,CAAC,wBAAwB;gBACpC,aAAa,CAAC,MAAM,CAAC,uBAAuB;YAC9C,aAAa,CAAC,wBAAwB,GAAG,KAAK,CAAC,oBAAoB;YACnE,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC1C,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACnE,OAAO,UAAU,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,KAAuC,EACvC,oBAA4B,EAC5B,IAAgC;QAEhC,iBAAiB,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;QAChE,IAAI,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,oBAAoB;YACxE,MAAM,IAAI,UAAU,CAAC,qDAAqD,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,aAAa;YAC3B,OAAO,UAAU,CAAC,EAAE,GAAG,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,gCAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACpD;YACE,eAAe,EAAE,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,eAAe;YAChE,mBAAmB,EAAE,UAAU,CAAC,aAAa,CAAC,mBAAmB;YACjE,oBAAoB,EAAE,OAAO,CAAC,YAAY;YAC1C,2BAA2B,EAAE,OAAO,CAAC,mBAAoB;YACzD,oBAAoB;SACrB,EACD,IAAI,CACL,CAAC;QACF,OAAO,UAAU,CAAC;YAChB,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,GAAG,UAAU;SACd,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAqC;QAClD,MAAM,OAAO,GAAG,gCAAgC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC;QACnC,IAAI,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa;YAAE,OAAO,MAAM,CAAC;QACnE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE7D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1G,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAA6B,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;QAC7G,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACxC,IAAI,gBAAgB,GAAkD,IAAI,CAAC;QAC3E,IAAI,qBAAqB,GAAkB,IAAI,CAAC;QAChD,IAAI,mBAAmB,GAAmB,IAAI,CAAC;QAC/C,IAAI,6BAA6B,GAAa,EAAE,CAAC;QAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG;oBACpB,YAAY,EAAE,OAAO,CAAC,SAAS;oBAC/B,YAAY,EAAE,SAAS,CAAC,gBAAgB;oBACxC,eAAe,EAAE,OAAO,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;oBAC7E,OAAO,EAAE,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBACjH,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,IAAI,EAAE,OAAO,CAAC,QAAQ;oBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;iBAC5B,CAAC;gBACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBACnE,MAAM,uBAAuB,GAAG,+BAA+B,CAAC;oBAC9D,aAAa,EAAE,CAAC;oBAChB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa;oBAClD,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY;oBAChD,GAAG,aAAa;iBACjB,CAAC,CAAC;gBACH,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC3D,MAAM,OAAO,GAAG,+BAA+B,CAAC,WAAW,CAAC,CAAC;gBAC7D,IACE,QAAQ,CAAC,OAAO,CAAC,aAAa,KAAK,CAAC;oBACpC,OAAO,CAAC,aAAa,KAAK,aAAa;oBACvC,OAAO,CAAC,aAAa,KAAK,uBAAuB,CAAC,aAAa;oBAC/D,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;oBAC3D,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;wBAC1C,aAAa,EAAE,uBAAuB,CAAC,aAAa;wBACpD,aAAa,EAAE,OAAO,CAAC,aAAa;qBACrC,CAAC,CAAC;oBACH,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAC;gBACnE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACpC,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;gBAC9C,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;oBACjC,WAAW,GAAG,OAAO,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBAC9C,CAAC;qBAAM,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;oBACzC,WAAW,GAAG,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC9D,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,CAAC;qBAAM,IAAI,gBAAgB,KAAK,YAAY,EAAE,CAAC;oBAC7C,WAAW,GAAG,SAAS,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,OAAO,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YACnE,WAAW,GAAG,OAAO,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAChG,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;oBACzD,WAAW,EAAE,OAAO,CAAC,SAAS;oBAC9B,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,OAAO,CAAC,QAAQ;oBACtB,aAAa,EAAE,OAAO,CAAC,aAAa;oBACpC,OAAO,EAAE,GAAG,CAAC,mBAAoB;iBAClC,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,GAAG,CAAC,mBAAoB,EAAE,IAAI,CAAC,CAAC;gBAC7E,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC;gBACnC,6BAA6B,GAAG,IAAI,CAAC,WAAW;qBAC7C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC;qBACpC,IAAI,EAAE,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClB,WAAW,GAAG,OAAO,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,OAAO,CAAC;gBACtB,mBAAmB,GAAG,KAAK,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjG,qEAAqE;QACrE,2EAA2E;QAC3E,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE;YAClE,gBAAgB;YAChB,qBAAqB;YACrB,mBAAmB;YACnB,6BAA6B;YAC7B,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,GAAG,CACf,QAAgC,EAChC,OAA6E;QAE7E,IAAI,KAAgD,CAAC;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBAC/C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACzH,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5F,OAAO;gBACL,QAAQ;gBACR,UAAU,EAAE,oCAAoC,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aAChH,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,KAAK;gBAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,SAAS,CACf,OAA6E,EAC7E,QAAsC;QAEtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;QACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC/E,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwC,CAAC;QACxE,KAAK,MAAM,SAAS,IAAI,8BAA8B;YAAE,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC3F,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,KAAK,MAAM,SAAS,IAAI,8BAA8B,EAAE,CAAC;gBACvD,MAAM,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;gBAC5H,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,SAAS;gBAC7B,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;gBACrG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;QACD,MAAM,cAAc,GAAG,CAAC,SAAqC,EAAiB,EAAE;YAC9E,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YAChC,IAAI,SAAS,KAAK,gBAAgB,IAAI,SAAS,KAAK,mBAAmB;gBACrE,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAC3B,IAAI,SAAS,KAAK,kBAAkB,IAAI,SAAS,KAAK,aAAa;gBACjE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;YAC3C,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,OAAO,GAA2B,UAAU,CAAC;YACjD,gBAAgB,EAAE,cAAc,CAAC,gBAAgB,CAAC;YAClD,mBAAmB,EAAE,cAAc,CAAC,mBAAmB,CAAC;YACxD,kBAAkB,EAAE,cAAc,CAAC,kBAAkB,CAAC;YACtD,cAAc,EAAE,cAAc,CAAC,aAAa,CAAC;YAC7C,wBAAwB,EAAE,cAAc,CAAC,yBAAyB,CAAC;YACnE,sBAAsB,EAAE,cAAc,CAAC,uBAAuB,CAAC;SAChE,CAAC,CAAC;QACH,MAAM,oBAAoB,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,CACxD,8BAA8B,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAC9D,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,wBAAwB,GAAG,CAAC,GAAG,IAAI,GAAG,CAC1C,QAAQ;iBACL,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;iBACpE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAC/D,CAAC,CAAC,IAAI,EAAqC,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,IAAI,WAAW,GAAiC,OAAO,CAAC;QACxD,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;YAChE,WAAW,GAAG,SAAS,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;YACpI,WAAW,GAAG,SAAS,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACxD,CAAC;QACD,IACE,OAAO,CAAC,UAAU,KAAK,UAAU;YACjC,OAAO,CAAC,4BAA4B,CAAC,MAAM,GAAG,CAAC;YAC/C,oBAAoB,CAAC,uBAAuB;gBAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAC/C,CAAC;YACD,WAAW,GAAG,SAAS,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;QACD,IACE,OAAO,CAAC,UAAU,KAAK,UAAU;YACjC,OAAO,CAAC,0BAA0B,KAAK,IAAI;YAC3C,oBAAoB,CAAC,qBAAqB;gBACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,yBAAyB,EAC/C,CAAC;YACD,WAAW,GAAG,SAAS,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,wBAAwB,CAAC,MAAM,EAAE,CAAC;YACpC,WAAW,GAAG,OAAO,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;QACzC,IAAI,OAAO,CAAC,gBAAgB,KAAK,IAAI,IAAI,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,uBAAuB,EAAE,CAAC;YAC9F,WAAW,GAAG,OAAO,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,IAAI,OAAO,CAAC,mBAAmB,GAAG,CAAC,CAAC,0BAA0B,EAAE,CAAC;YACvG,WAAW,GAAG,OAAO,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,OAAO,CAAC,kBAAkB,KAAK,IAAI,IAAI,OAAO,CAAC,kBAAkB,GAAG,CAAC,CAAC,yBAAyB,EAAE,CAAC;YACpG,WAAW,GAAG,OAAO,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9G,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI,IAAI,OAAO,CAAC,cAAc,GAAG,CAAC,CAAC,qBAAqB,EAAE,CAAC;YACxF,WAAW,GAAG,OAAO,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9G,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,wBAAwB,KAAK,IAAI,IAAI,OAAO,CAAC,wBAAwB,GAAG,CAAC,CAAC,+BAA+B,EAAE,CAAC;gBACtH,IAAI,WAAW,KAAK,OAAO;oBAAE,WAAW,GAAG,OAAO,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,OAAO,CAAC,sBAAsB,KAAK,IAAI,IAAI,OAAO,CAAC,sBAAsB,GAAG,CAAC,CAAC,6BAA6B,EAAE,CAAC;gBAChH,IAAI,WAAW,KAAK,OAAO;oBAAE,WAAW,GAAG,OAAO,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,KAAK,OAAO,CAAC,EAAE,CAAC;YACtH,IAAI,WAAW,KAAK,OAAO;gBAAE,WAAW,GAAG,OAAO,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;aAC9F,IAAI,EAAE;aACN,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC/D,OAAO,mCAAmC,CAAC;YACzC,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW;YACX,OAAO;YACP,wBAAwB;YACxB,kBAAkB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;YACtF,yBAAyB,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACpD,oBAAoB;YACpB,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;iBACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;iBACzC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC;iBACpF,IAAI,EAAE;YACT,WAAW,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACxF,eAAe;SAChB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,OAA+B,EAC/B,OAA6E,EAC7E,SAAwC,EACxC,WAAyC,EACzC,KAMC;QAED,IAAI,KAAK,GAAG,OAAO,CAAC;QACpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,OAAO,EAAE,EAAE,CAAC;YAC5F,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC;YACpC,IAAI,QAAQ,EAAE,aAAa,KAAK,OAAO,CAAC,aAAa;gBAAE,OAAO,QAAQ,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACnE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;YAC5D,MAAM,OAAO,GACX,WAAW,KAAK,OAAO;gBACvB,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,IAAI,WAAW,KAAK,OAAO,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,UAAU,CAAC;gBAC9B,aAAa,EAAE,CAAU;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,WAAW;gBACX,OAAO;gBACP,SAAS;gBACT,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;gBACxC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;gBAC9C,6BAA6B,EAAE,CAAC,GAAG,KAAK,CAAC,6BAA6B,CAAC,CAAC,IAAI,EAAE;gBAC9E,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;gBAC/B,kBAAkB,EAAE,KAAK,CAAC,QAAQ;gBAClC,sBAAsB,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,UAAU,CAAC;gBAC1B,GAAG,YAAY;gBACf,cAAc,EAAE,uBAAuB,CAAC,UAAU,EAAE,YAAoC,CAAC;aAC1F,CAAC,CAAC;YACH,MAAM,mBAAmB,GACvB,OAAO,CAAC,UAAU,KAAK,UAAU;gBACjC,CAAC,OAAO;gBACR,OAAO,CAAC,0BAA0B,KAAK,IAAI;gBAC3C,CAAC,CAAC,KAAK,CAAC,mBAAmB;gBAC3B,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,0BAA0B,CAAC;qBAC/D,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,UAAU,CAAC;gBACxB,aAAa,EAAE,CAAU;gBACzB,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,WAAW;gBACX,yBAAyB,EAAE,SAAS,CAAC,gBAAgB;gBACrD,cAAc,EAAE,QAAQ,CAAC,cAAc;aACxC,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,UAAU,CAAC;gBAC3B,GAAG,KAAK;gBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,CAAC;gBAC5B,iBAAiB,EAAE,OAAO,CAAC,QAAQ;gBACnC,sBAAsB,EAAE,OAAO,CAAC,aAAa;gBAC7C,mBAAmB;gBACnB,eAAe,EAAE,CAAC,GAAG,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC;gBAC/G,YAAY,EAAE,QAAQ;gBACtB,sBAAsB,EAAE,KAAK,CAAC,WAAW;aAC1C,CAAC,CAAC;YACH,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,aAAa,EAAE,GAAG,SAAS,CAAC;YAC1D,MAAM,IAAI,GAAG,UAAU,CAAC;gBACtB,GAAG,aAAa;gBAChB,WAAW,EAAE,uBAAuB,CAAC,OAAO,EAAE,aAAqC,CAAC;aACrF,CAAC,CAAC;YACH,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxB,KAAK,EAAE,IAAI;gBACX,gBAAgB,EAAE,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAC9D,mBAAmB,EAAE,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW;aACrE,CAAC,EAAE,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC,SAAS;oBACZ,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;gBAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACpC,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7C,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,OAAO,4BAA4B,CAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;YACjD,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY;YAC9C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAA6B;QACvD,8BAA8B,CAAC,KAAK,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;YACjD,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY;YAC9C,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC5B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,IACE,KAAK,CAAC,QAAQ,GAAG,CAAC;YAClB,CAAC,CAAC,MAAM;gBACN,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;gBAClC,KAAK,CAAC,iBAAiB,KAAK,MAAM,CAAC,iBAAiB;gBACpD,KAAK,CAAC,sBAAsB,KAAK,MAAM,CAAC,sBAAsB;gBAC9D,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW,CAAC;YAE3C,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAC1D,CAAC;IAEO,mBAAmB,CAAC,OAA6E;QACvG,IACE,OAAO,CAAC,aAAa,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;YAC5D,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB;YACxE,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB;YAClE,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe;YAChE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1C,IAAI,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,oBAAoB;YAClG,MAAM,IAAI,UAAU,CAAC,iCAAiC,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,4BAA4B,CAAC,MAAM,GAAG,MAAM,CAAC,6BAA6B,IAAI,OAAO,CAAC,wBAAwB,CAAC,MAAM,GAAG,MAAM,CAAC,0BAA0B;YACnK,MAAM,IAAI,UAAU,CAAC,uCAAuC,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,OAA6E,EAC7E,OAAe,EACf,IAAgD;QAEhD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAa,CAAC;QACxC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YAChF,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;QAClE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW;YACvC,oCAAoC,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YACrC,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;QAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5C,YAAY,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;QACtD,IACE,WAAW,KAAK,6BAA6B,CAAC,OAAO,EAAE,SAAS,CAAC;YACjE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa;YAC1C,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY;YACxC,KAAK,CAAC,gBAAgB,KAAK,IAAI;YAC/B,KAAK,CAAC,gBAAgB,KAAK,IAAI;YAC/B,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,UAAU,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,mBAAmB,EAAE;YAC1E,YAAY,EAAE,OAAO,CAAC,SAAS;YAC/B,eAAe,EAAE,QAAQ;YACzB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW;YACX,cAAc,EAAE,EAAE;YAClB,sBAAsB,EAAE,6BAA6B,CAAC,YAAY,EAAE,EAAE,CAAC;YACvE,uBAAuB,EAAE,IAAI;YAC7B,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;QACtC,IACE,CAAC,QAAQ;YACT,QAAQ,CAAC,YAAY,KAAK,OAAO,CAAC,SAAS;YAC3C,QAAQ,CAAC,gBAAgB,KAAK,gBAAgB;YAC9C,QAAQ,CAAC,eAAe,KAAK,QAAQ;YACrC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ;YAClC,KAAK,CAAC,oBAAoB,KAAK,gBAAgB;YAC/C,KAAK,CAAC,aAAa,KAAK,OAAO,CAAC,QAAQ;YACxC,KAAK,CAAC,sBAAsB,KAAK,OAAO,CAAC,aAAa;YACtD,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,OAAO;YAClD,MAAM,IAAI,SAAS,CAAC,gDAAgD,CAAC,CAAC;QACxE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC;YACnC,WAAW,EAAE,OAAO,CAAC,SAAS;YAC9B,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,OAAO;YACP,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;IACvE,CAAC;IAEO,oBAAoB,CAAC,OAA6E,EAAE,OAA2B;QACrI,IAAI,OAAO,CAAC,UAAU,KAAK,YAAY,EAAE,CAAC;YACxC,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI;YAC/D,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;QAC1D,IACE,gCAAgC,CAC9B,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB,CACrD,KAAK,OAAO,CAAC,mBAAmB;YAEjC,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACnE,CAAC;IAEO,aAAa,CAAC,KAA6B,EAAE,QAAgB,EAAE,aAAqB;QAC1F,IAAI,QAAQ,IAAI,KAAK,CAAC,iBAAiB,IAAI,aAAa,GAAG,KAAK,CAAC,sBAAsB;YACrF,MAAM,IAAI,UAAU,CAAC,6CAA6C,CAAC,CAAC;IACxE,CAAC;IAEO,aAAa,CAAC,KAA6B,EAAE,QAA2B;QAC9E,IACE,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,mBAAmB,CAAC,MAAM;YACpD,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7E,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;IACnE,CAAC;IAEO,iBAAiB,CAAC,KAAuC,EAAE,QAAiF;QAClJ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;IAC7G,CAAC;CACF;AAED,SAAS,oCAAoC,CAC3C,KAAwC;IAExC,IACE,CAAC,KAAK;QACN,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ;QACpC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAC7B,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC;QAC5C,KAAK,CAAC,eAAe,GAAG,CAAC;QACzB,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAChE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,MAAM,CACnE;QACD,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC;QACjC,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;QAC7B,KAAK,CAAC,WAAW,CAAC,IAAI,CACpB,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,CAAC,MAAM,KAAK,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,CACxC;QACD,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;QACrC,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,EAAE;QACjC,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAClE,YAAY,CAAC,KAAK,CAAC,4BAA4B,EAAE,8BAA8B,CAAC,CAAC;IACjF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,eAAe;QACxC,YAAY,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IACtD,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAC5C,YAAY,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACnD,IAAI,gBAAgB,KAAK,6BAA6B,CAAC,YAAY,EAAE,IAAI,CAAC;QACxE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;AAC3E,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { JsonValue } from "@agentplat/core";
2
+ import { type SemanticAggregateAssessmentV1, type SemanticActionAuthorizationClaimsV1, type SemanticActionAuthorizationV1, type SemanticActionEffectReceiptV1, type SemanticAssessorAssessmentV1, type SemanticAssessorBasisV1, type SemanticAssessorDescriptorV1, type SemanticConstraintViolationV1, type SemanticControlBindingV1, type SemanticControlDecisionV1, type SemanticControlDimensionV1, type SemanticControlDispositionV1, type SemanticControlPolicyV1, type SemanticControlRequestV1, type SemanticMetricVectorV1 } from "./semantic-alignment-contracts.js";
3
+ export declare function digestSemanticControlV1(domain: "policy" | "binding" | "descriptor" | "request" | "assessor-assessment" | "aggregate-assessment" | "decision" | "state" | "assessor-set" | "route" | "operation-payload" | "action-authorization-claims" | "action-authorization" | "action-effect-receipt", value: JsonValue): string;
4
+ export declare function createSemanticControlPolicyV1(input: Omit<SemanticControlPolicyV1, "policyDigest">): SemanticControlPolicyV1;
5
+ export declare function validateSemanticControlPolicyV1(input: SemanticControlPolicyV1): SemanticControlPolicyV1;
6
+ export declare function createSemanticControlBindingV1(input: Omit<SemanticControlBindingV1, "bindingDigest">): SemanticControlBindingV1;
7
+ export declare function validateSemanticControlBindingV1(input: SemanticControlBindingV1): SemanticControlBindingV1;
8
+ export declare function createSemanticAssessorDescriptorV1(input: Omit<SemanticAssessorDescriptorV1, "descriptorDigest">): SemanticAssessorDescriptorV1;
9
+ export declare function validateSemanticAssessorDescriptorV1(input: SemanticAssessorDescriptorV1): SemanticAssessorDescriptorV1;
10
+ export declare function createSemanticControlRequestV1(input: Omit<SemanticControlRequestV1, "requestDigest">): SemanticControlRequestV1;
11
+ export declare function digestSemanticOperationPayloadV1(payload: string, maximumBytes?: number): string;
12
+ export declare function createSemanticActionAuthorizationClaimsV1(input: Omit<SemanticActionAuthorizationClaimsV1, "claimsDigest">): SemanticActionAuthorizationClaimsV1;
13
+ export declare function validateSemanticActionAuthorizationClaimsV1(input: SemanticActionAuthorizationClaimsV1): SemanticActionAuthorizationClaimsV1;
14
+ export declare function validateSemanticActionAuthorizationV1(input: SemanticActionAuthorizationV1, expected?: {
15
+ readonly issuerId: string;
16
+ readonly issuerKeyDigest: string;
17
+ }): SemanticActionAuthorizationV1;
18
+ export declare function createSemanticActionEffectReceiptV1(input: Omit<SemanticActionEffectReceiptV1, "receiptDigest">): SemanticActionEffectReceiptV1;
19
+ export declare function validateSemanticActionEffectReceiptV1(input: SemanticActionEffectReceiptV1): SemanticActionEffectReceiptV1;
20
+ export declare function validateSemanticControlRequestV1(input: SemanticControlRequestV1): SemanticControlRequestV1;
21
+ export declare function createSemanticAssessorAssessmentV1(input: Omit<SemanticAssessorAssessmentV1, "assessmentDigest">): SemanticAssessorAssessmentV1;
22
+ export declare function validateSemanticAssessorAssessmentV1(input: SemanticAssessorAssessmentV1, descriptor: SemanticAssessorDescriptorV1, request: SemanticControlRequestV1, policy: SemanticControlPolicyV1): SemanticAssessorAssessmentV1;
23
+ export declare function createSemanticAggregateAssessmentV1(input: Omit<SemanticAggregateAssessmentV1, "assessmentDigest">): SemanticAggregateAssessmentV1;
24
+ export declare function validateSemanticAggregateAssessmentV1(input: SemanticAggregateAssessmentV1): SemanticAggregateAssessmentV1;
25
+ export declare function validateSemanticControlDecisionV1(input: SemanticControlDecisionV1): SemanticControlDecisionV1;
26
+ export declare function metricEntries(metrics: SemanticMetricVectorV1): readonly (readonly [SemanticControlDimensionV1, number | null])[];
27
+ export declare function dimensionMetricKey(dimension: SemanticControlDimensionV1): keyof SemanticMetricVectorV1;
28
+ export declare function semanticAssessorBasisV1(value: SemanticAssessorBasisV1): SemanticAssessorBasisV1;
29
+ export declare function semanticDispositionV1(value: SemanticControlDispositionV1): SemanticControlDispositionV1;
30
+ export declare function semanticViolationV1(value: SemanticConstraintViolationV1): SemanticConstraintViolationV1;
31
+ //# sourceMappingURL=semantic-alignment-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-alignment-validation.d.ts","sourceRoot":"","sources":["../src/semantic-alignment-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,477 @@
1
+ import { canonicalizeControlJsonV1 } from "./canonical.js";
2
+ import { SEMANTIC_CONTROL_CHECKPOINTS_V1, SEMANTIC_CONTROL_DIMENSIONS_V1, } from "./semantic-alignment-contracts.js";
3
+ import { sha256Hex } from "./sha256.js";
4
+ import { assertDigest, assertExactKeys, assertIdentifier, assertOneOf, assertSafeInteger, assertString, deepFreeze, } from "./validation.js";
5
+ const encoder = new TextEncoder();
6
+ const dispositions = ["allow", "steer", "block", "abstain"];
7
+ const bases = [
8
+ "application_semantic_model",
9
+ "provider_semantic_model",
10
+ "representation_model",
11
+ "structured_policy",
12
+ "reference_digest_heuristic",
13
+ ];
14
+ const violations = ["role_constraint", "mission_constraint"];
15
+ const modalities = ["text", "image", "audio", "video", "sensor"];
16
+ const policyInputKeys = ["enforcingAssessorIds", "limits", "minimumGroupsPerDimension", "minimumIndependenceGroups", "policyId", "policyVersion", "schemaVersion", "thresholds"];
17
+ const thresholdKeys = ["maximumContextConflictBps", "maximumUncertaintyBps", "minimumCourseActionDiversityBps", "minimumCourseActionNoveltyBps", "minimumMissionAlignmentBps", "minimumRoleCoherenceBps"];
18
+ const limitKeys = ["actionAuthorizationTtlMs", "assessorTimeoutMs", "maximumActionPayloadBytes", "maximumAssessors", "maximumCommitAttempts", "maximumCourseActionCandidates", "maximumCourseActionHistory", "maximumEvidenceDigests", "maximumLogicalTimeMs", "maximumReasonCodes", "maximumRetainedDecisions", "maximumSequence"];
19
+ const bindingInputKeys = ["agentId", "authorityDigest", "bindingId", "missionAnchorDigest", "missionId", "roleAnchorDigest", "roleId", "schemaVersion", "sessionId"];
20
+ const descriptorInputKeys = ["assessorId", "assessorImplementationDigest", "assessorVersion", "basis", "independenceGroup", "schemaVersion", "supportedDimensions"];
21
+ const requestInputKeys = ["actionPayloadDigest", "authorityDigest", "bindingDigest", "candidateCourseActionDigests", "checkpoint", "contextDigest", "logicalTimeMs", "materialDigest", "materialHandle", "missionAnchorDigest", "modalities", "priorCourseActionDigests", "requestId", "roleAnchorDigest", "schemaVersion", "selectedCourseActionDigest", "sequence", "step", "targetDigest"];
22
+ const metricKeys = ["contextConflictBps", "courseActionDiversityBps", "courseActionNoveltyBps", "missionAlignmentBps", "roleCoherenceBps", "uncertaintyBps"];
23
+ const assessorAssessmentInputKeys = ["assessorId", "assessorImplementationDigest", "assessorVersion", "evidenceDigests", "hardConstraintViolations", "independenceGroup", "metrics", "reasonCodes", "recommendation", "requestDigest", "schemaVersion"];
24
+ const actionAuthorizationClaimsInputKeys = ["actionPayloadDigest", "assessorSetDigest", "authorityDigest", "authorizationId", "bindingDigest", "committedStateRevision", "decisionDigest", "effectConsumerDigest", "materialDigest", "policyDigest", "requestDigest", "schemaVersion", "sequence", "sinkId", "sinkKeyDigest", "targetDigest", "validFromLogicalTimeMs", "validUntilLogicalTimeMs"];
25
+ const actionAuthorizationKeys = ["authorizationDigest", "claims", "issuerId", "issuerKeyDigest", "schemaVersion"];
26
+ const actionEffectReceiptInputKeys = ["authorizationDigest", "committedAtLogicalTimeMs", "effectConsumerDigest", "outcomeDigest", "schemaVersion", "sinkId", "sinkKeyDigest"];
27
+ export function digestSemanticControlV1(domain, value) {
28
+ return `sha256:${sha256Hex(encoder.encode(`agentplat.inference-control/semantic-alignment-agility/${domain}/v1\0${canonicalizeControlJsonV1(value)}`))}`;
29
+ }
30
+ export function createSemanticControlPolicyV1(input) {
31
+ assertExactKeys(input, policyInputKeys, "semantic policy input");
32
+ assertExactKeys(input.thresholds, thresholdKeys, "semantic policy thresholds");
33
+ assertExactKeys(input.limits, limitKeys, "semantic policy limits");
34
+ if (input.schemaVersion !== 1)
35
+ fail("semantic_policy_schema_invalid");
36
+ id(input.policyId, "policyId");
37
+ positive(input.policyVersion, "policyVersion");
38
+ const thresholds = deepFreeze({
39
+ minimumRoleCoherenceBps: bps(input.thresholds.minimumRoleCoherenceBps, "minimumRoleCoherenceBps"),
40
+ minimumMissionAlignmentBps: bps(input.thresholds.minimumMissionAlignmentBps, "minimumMissionAlignmentBps"),
41
+ maximumContextConflictBps: bps(input.thresholds.maximumContextConflictBps, "maximumContextConflictBps"),
42
+ maximumUncertaintyBps: bps(input.thresholds.maximumUncertaintyBps, "maximumUncertaintyBps"),
43
+ minimumCourseActionDiversityBps: bps(input.thresholds.minimumCourseActionDiversityBps, "minimumCourseActionDiversityBps"),
44
+ minimumCourseActionNoveltyBps: bps(input.thresholds.minimumCourseActionNoveltyBps, "minimumCourseActionNoveltyBps"),
45
+ });
46
+ const limits = deepFreeze({
47
+ maximumAssessors: positive(input.limits.maximumAssessors, "maximumAssessors"),
48
+ maximumReasonCodes: positive(input.limits.maximumReasonCodes, "maximumReasonCodes"),
49
+ maximumEvidenceDigests: positive(input.limits.maximumEvidenceDigests, "maximumEvidenceDigests"),
50
+ maximumCourseActionCandidates: positive(input.limits.maximumCourseActionCandidates, "maximumCourseActionCandidates"),
51
+ maximumCourseActionHistory: positive(input.limits.maximumCourseActionHistory, "maximumCourseActionHistory"),
52
+ maximumRetainedDecisions: positive(input.limits.maximumRetainedDecisions, "maximumRetainedDecisions"),
53
+ maximumCommitAttempts: positive(input.limits.maximumCommitAttempts, "maximumCommitAttempts"),
54
+ maximumSequence: positive(input.limits.maximumSequence, "maximumSequence"),
55
+ maximumLogicalTimeMs: positive(input.limits.maximumLogicalTimeMs, "maximumLogicalTimeMs"),
56
+ maximumActionPayloadBytes: positive(input.limits.maximumActionPayloadBytes, "maximumActionPayloadBytes"),
57
+ actionAuthorizationTtlMs: positive(input.limits.actionAuthorizationTtlMs, "actionAuthorizationTtlMs"),
58
+ assessorTimeoutMs: positive(input.limits.assessorTimeoutMs, "assessorTimeoutMs"),
59
+ });
60
+ const enforcingAssessorIds = identifiers(input.enforcingAssessorIds, "enforcingAssessorIds", limits.maximumAssessors);
61
+ const minimumIndependenceGroups = positive(input.minimumIndependenceGroups, "minimumIndependenceGroups");
62
+ const minimumGroupsPerDimension = positive(input.minimumGroupsPerDimension, "minimumGroupsPerDimension");
63
+ if (minimumIndependenceGroups > limits.maximumAssessors || minimumGroupsPerDimension > limits.maximumAssessors)
64
+ fail("semantic_policy_quorum_exceeds_assessor_limit");
65
+ const body = deepFreeze({
66
+ schemaVersion: 1,
67
+ policyId: input.policyId,
68
+ policyVersion: input.policyVersion,
69
+ thresholds,
70
+ minimumIndependenceGroups,
71
+ minimumGroupsPerDimension,
72
+ enforcingAssessorIds,
73
+ limits,
74
+ });
75
+ return deepFreeze({
76
+ ...body,
77
+ policyDigest: digestSemanticControlV1("policy", body),
78
+ });
79
+ }
80
+ export function validateSemanticControlPolicyV1(input) {
81
+ const { policyDigest, ...body } = input;
82
+ assertDigest(policyDigest, "policyDigest");
83
+ const rebuilt = createSemanticControlPolicyV1(body);
84
+ if (rebuilt.policyDigest !== policyDigest)
85
+ fail("semantic_policy_digest_invalid");
86
+ return rebuilt;
87
+ }
88
+ export function createSemanticControlBindingV1(input) {
89
+ assertExactKeys(input, bindingInputKeys, "semantic binding input");
90
+ if (input.schemaVersion !== 1)
91
+ fail("semantic_binding_schema_invalid");
92
+ for (const [key, value] of Object.entries(input)) {
93
+ if (key.endsWith("Digest"))
94
+ assertDigest(value, key);
95
+ else if (key !== "schemaVersion")
96
+ id(value, key);
97
+ }
98
+ const body = deepFreeze({ ...input });
99
+ return deepFreeze({
100
+ ...body,
101
+ bindingDigest: digestSemanticControlV1("binding", body),
102
+ });
103
+ }
104
+ export function validateSemanticControlBindingV1(input) {
105
+ const { bindingDigest, ...body } = input;
106
+ assertDigest(bindingDigest, "bindingDigest");
107
+ const rebuilt = createSemanticControlBindingV1(body);
108
+ if (rebuilt.bindingDigest !== bindingDigest)
109
+ fail("semantic_binding_digest_invalid");
110
+ return rebuilt;
111
+ }
112
+ export function createSemanticAssessorDescriptorV1(input) {
113
+ assertExactKeys(input, descriptorInputKeys, "semantic assessor descriptor input");
114
+ if (input.schemaVersion !== 1)
115
+ fail("semantic_assessor_schema_invalid");
116
+ id(input.assessorId, "assessorId");
117
+ positive(input.assessorVersion, "assessorVersion");
118
+ assertDigest(input.assessorImplementationDigest, "assessorImplementationDigest");
119
+ id(input.independenceGroup, "independenceGroup");
120
+ assertOneOf(input.basis, bases, "basis");
121
+ const supportedDimensions = dimensions(input.supportedDimensions, "supportedDimensions");
122
+ if (!supportedDimensions.length)
123
+ fail("semantic_assessor_dimensions_empty");
124
+ if (input.basis === "reference_digest_heuristic" &&
125
+ supportedDimensions.some((dimension) => !["course_action_diversity", "course_action_novelty"].includes(dimension)))
126
+ fail("reference_digest_heuristic_cannot_claim_semantic_dimensions");
127
+ const body = deepFreeze({ ...input, supportedDimensions });
128
+ return deepFreeze({
129
+ ...body,
130
+ descriptorDigest: digestSemanticControlV1("descriptor", body),
131
+ });
132
+ }
133
+ export function validateSemanticAssessorDescriptorV1(input) {
134
+ const { descriptorDigest, ...body } = input;
135
+ assertDigest(descriptorDigest, "descriptorDigest");
136
+ const rebuilt = createSemanticAssessorDescriptorV1(body);
137
+ if (rebuilt.descriptorDigest !== descriptorDigest)
138
+ fail("semantic_assessor_descriptor_digest_invalid");
139
+ return rebuilt;
140
+ }
141
+ export function createSemanticControlRequestV1(input) {
142
+ assertExactKeys(input, requestInputKeys, "semantic request input");
143
+ if (input.schemaVersion !== 1)
144
+ fail("semantic_request_schema_invalid");
145
+ id(input.requestId, "requestId");
146
+ assertOneOf(input.checkpoint, SEMANTIC_CONTROL_CHECKPOINTS_V1, "checkpoint");
147
+ assertDigest(input.bindingDigest, "bindingDigest");
148
+ assertDigest(input.missionAnchorDigest, "missionAnchorDigest");
149
+ assertDigest(input.roleAnchorDigest, "roleAnchorDigest");
150
+ assertDigest(input.authorityDigest, "authorityDigest");
151
+ positive(input.sequence, "sequence");
152
+ nonNegative(input.step, "step");
153
+ nonNegative(input.logicalTimeMs, "logicalTimeMs");
154
+ assertDigest(input.targetDigest, "targetDigest");
155
+ assertDigest(input.contextDigest, "contextDigest");
156
+ assertDigest(input.materialDigest, "materialDigest");
157
+ if (input.actionPayloadDigest !== null)
158
+ assertDigest(input.actionPayloadDigest, "actionPayloadDigest");
159
+ if ((input.checkpoint === "pre_action") !== (input.actionPayloadDigest !== null))
160
+ fail("semantic_action_payload_digest_checkpoint_mismatch");
161
+ if (input.selectedCourseActionDigest !== null)
162
+ assertDigest(input.selectedCourseActionDigest, "selectedCourseActionDigest");
163
+ const candidateCourseActionDigests = digestList(input.candidateCourseActionDigests, "candidateCourseActionDigests");
164
+ const priorCourseActionDigests = digestList(input.priorCourseActionDigests, "priorCourseActionDigests");
165
+ const normalizedModalities = uniqueSorted(input.modalities, "modalities");
166
+ for (const modality of normalizedModalities)
167
+ assertOneOf(modality, modalities, "modality");
168
+ assertString(input.materialHandle, "materialHandle");
169
+ if (encoder.encode(input.materialHandle).byteLength > 2048)
170
+ fail("semantic_material_handle_too_large");
171
+ const digestBody = deepFreeze({
172
+ schemaVersion: 1,
173
+ requestId: input.requestId,
174
+ checkpoint: input.checkpoint,
175
+ bindingDigest: input.bindingDigest,
176
+ missionAnchorDigest: input.missionAnchorDigest,
177
+ roleAnchorDigest: input.roleAnchorDigest,
178
+ authorityDigest: input.authorityDigest,
179
+ sequence: input.sequence,
180
+ step: input.step,
181
+ logicalTimeMs: input.logicalTimeMs,
182
+ targetDigest: input.targetDigest,
183
+ contextDigest: input.contextDigest,
184
+ selectedCourseActionDigest: input.selectedCourseActionDigest,
185
+ candidateCourseActionDigests,
186
+ priorCourseActionDigests,
187
+ modalities: normalizedModalities,
188
+ materialDigest: input.materialDigest,
189
+ actionPayloadDigest: input.actionPayloadDigest,
190
+ });
191
+ return deepFreeze({
192
+ ...digestBody,
193
+ materialHandle: input.materialHandle,
194
+ requestDigest: digestSemanticControlV1("request", digestBody),
195
+ });
196
+ }
197
+ export function digestSemanticOperationPayloadV1(payload, maximumBytes) {
198
+ assertString(payload, "operationPayload");
199
+ if (maximumBytes !== undefined) {
200
+ positive(maximumBytes, "maximumActionPayloadBytes");
201
+ if (encoder.encode(payload).byteLength > maximumBytes)
202
+ fail("semantic_action_payload_too_large");
203
+ }
204
+ return digestSemanticControlV1("operation-payload", payload);
205
+ }
206
+ export function createSemanticActionAuthorizationClaimsV1(input) {
207
+ assertExactKeys(input, actionAuthorizationClaimsInputKeys, "semantic action authorization claims input");
208
+ if (input.schemaVersion !== 1)
209
+ fail("semantic_action_authorization_claims_schema_invalid");
210
+ id(input.authorizationId, "authorizationId");
211
+ assertDigest(input.requestDigest, "requestDigest");
212
+ assertDigest(input.decisionDigest, "decisionDigest");
213
+ assertDigest(input.bindingDigest, "bindingDigest");
214
+ assertDigest(input.authorityDigest, "authorityDigest");
215
+ assertDigest(input.policyDigest, "policyDigest");
216
+ assertDigest(input.assessorSetDigest, "assessorSetDigest");
217
+ assertDigest(input.effectConsumerDigest, "effectConsumerDigest");
218
+ id(input.sinkId, "sinkId");
219
+ assertDigest(input.sinkKeyDigest, "sinkKeyDigest");
220
+ assertDigest(input.targetDigest, "targetDigest");
221
+ assertDigest(input.materialDigest, "materialDigest");
222
+ assertDigest(input.actionPayloadDigest, "actionPayloadDigest");
223
+ positive(input.sequence, "sequence");
224
+ positive(input.committedStateRevision, "committedStateRevision");
225
+ nonNegative(input.validFromLogicalTimeMs, "validFromLogicalTimeMs");
226
+ nonNegative(input.validUntilLogicalTimeMs, "validUntilLogicalTimeMs");
227
+ if (input.validUntilLogicalTimeMs < input.validFromLogicalTimeMs)
228
+ fail("semantic_action_authorization_window_invalid");
229
+ const body = deepFreeze({ ...input });
230
+ return deepFreeze({
231
+ ...body,
232
+ claimsDigest: digestSemanticControlV1("action-authorization-claims", body),
233
+ });
234
+ }
235
+ export function validateSemanticActionAuthorizationClaimsV1(input) {
236
+ const { claimsDigest, ...body } = input;
237
+ assertDigest(claimsDigest, "claimsDigest");
238
+ const rebuilt = createSemanticActionAuthorizationClaimsV1(body);
239
+ if (rebuilt.claimsDigest !== claimsDigest)
240
+ fail("semantic_action_authorization_claims_digest_invalid");
241
+ return rebuilt;
242
+ }
243
+ export function validateSemanticActionAuthorizationV1(input, expected) {
244
+ assertExactKeys(input, actionAuthorizationKeys, "semantic action authorization");
245
+ if (input.schemaVersion !== 1)
246
+ fail("semantic_action_authorization_schema_invalid");
247
+ const claims = validateSemanticActionAuthorizationClaimsV1(input.claims);
248
+ id(input.issuerId, "issuerId");
249
+ assertDigest(input.issuerKeyDigest, "issuerKeyDigest");
250
+ assertDigest(input.authorizationDigest, "authorizationDigest");
251
+ if (expected &&
252
+ (input.issuerId !== expected.issuerId ||
253
+ input.issuerKeyDigest !== expected.issuerKeyDigest))
254
+ fail("semantic_action_authorization_issuer_mismatch");
255
+ return deepFreeze({ ...input, claims });
256
+ }
257
+ export function createSemanticActionEffectReceiptV1(input) {
258
+ assertExactKeys(input, actionEffectReceiptInputKeys, "semantic action effect receipt input");
259
+ if (input.schemaVersion !== 1)
260
+ fail("semantic_action_effect_receipt_schema_invalid");
261
+ assertDigest(input.authorizationDigest, "authorizationDigest");
262
+ assertDigest(input.effectConsumerDigest, "effectConsumerDigest");
263
+ id(input.sinkId, "sinkId");
264
+ assertDigest(input.sinkKeyDigest, "sinkKeyDigest");
265
+ assertDigest(input.outcomeDigest, "outcomeDigest");
266
+ nonNegative(input.committedAtLogicalTimeMs, "committedAtLogicalTimeMs");
267
+ const body = deepFreeze({ ...input });
268
+ return deepFreeze({
269
+ ...body,
270
+ receiptDigest: digestSemanticControlV1("action-effect-receipt", body),
271
+ });
272
+ }
273
+ export function validateSemanticActionEffectReceiptV1(input) {
274
+ const { receiptDigest, ...body } = input;
275
+ assertDigest(receiptDigest, "receiptDigest");
276
+ const rebuilt = createSemanticActionEffectReceiptV1(body);
277
+ if (rebuilt.receiptDigest !== receiptDigest)
278
+ fail("semantic_action_effect_receipt_digest_invalid");
279
+ return rebuilt;
280
+ }
281
+ export function validateSemanticControlRequestV1(input) {
282
+ const { requestDigest, ...body } = input;
283
+ assertDigest(requestDigest, "requestDigest");
284
+ const rebuilt = createSemanticControlRequestV1(body);
285
+ if (rebuilt.requestDigest !== requestDigest)
286
+ fail("semantic_request_digest_invalid");
287
+ return rebuilt;
288
+ }
289
+ export function createSemanticAssessorAssessmentV1(input) {
290
+ assertExactKeys(input, assessorAssessmentInputKeys, "semantic assessor assessment input");
291
+ assertExactKeys(input.metrics, metricKeys, "semantic assessor metrics");
292
+ if (input.schemaVersion !== 1)
293
+ fail("semantic_assessment_schema_invalid");
294
+ assertDigest(input.requestDigest, "requestDigest");
295
+ id(input.assessorId, "assessorId");
296
+ positive(input.assessorVersion, "assessorVersion");
297
+ assertDigest(input.assessorImplementationDigest, "assessorImplementationDigest");
298
+ id(input.independenceGroup, "independenceGroup");
299
+ const metrics = normalizeMetrics(input.metrics);
300
+ const hardConstraintViolations = uniqueSorted(input.hardConstraintViolations, "hardConstraintViolations");
301
+ for (const violation of hardConstraintViolations)
302
+ assertOneOf(violation, violations, "hardConstraintViolation");
303
+ assertOneOf(input.recommendation, dispositions, "recommendation");
304
+ const reasonCodes = tokens(input.reasonCodes, "reasonCodes", 64);
305
+ const evidenceDigests = digests(input.evidenceDigests, "evidenceDigests");
306
+ const body = deepFreeze({ ...input, metrics, hardConstraintViolations, reasonCodes, evidenceDigests });
307
+ return deepFreeze({
308
+ ...body,
309
+ assessmentDigest: digestSemanticControlV1("assessor-assessment", body),
310
+ });
311
+ }
312
+ export function validateSemanticAssessorAssessmentV1(input, descriptor, request, policy) {
313
+ const { assessmentDigest, ...body } = input;
314
+ const rebuilt = createSemanticAssessorAssessmentV1(body);
315
+ if (rebuilt.assessmentDigest !== assessmentDigest)
316
+ fail("semantic_assessment_digest_invalid");
317
+ if (rebuilt.requestDigest !== request.requestDigest ||
318
+ rebuilt.assessorId !== descriptor.assessorId ||
319
+ rebuilt.assessorVersion !== descriptor.assessorVersion ||
320
+ rebuilt.assessorImplementationDigest !== descriptor.assessorImplementationDigest ||
321
+ rebuilt.independenceGroup !== descriptor.independenceGroup)
322
+ fail("semantic_assessment_binding_invalid");
323
+ const values = metricEntries(rebuilt.metrics);
324
+ for (const [dimension, value] of values)
325
+ if (value !== null && !descriptor.supportedDimensions.includes(dimension))
326
+ fail("semantic_assessment_unsupported_dimension");
327
+ if (rebuilt.reasonCodes.length > policy.limits.maximumReasonCodes || rebuilt.evidenceDigests.length > policy.limits.maximumEvidenceDigests)
328
+ fail("semantic_assessment_bounds_exceeded");
329
+ return rebuilt;
330
+ }
331
+ export function createSemanticAggregateAssessmentV1(input) {
332
+ assertDigest(input.requestDigest, "aggregate.requestDigest");
333
+ assertOneOf(input.disposition, dispositions, "aggregate.disposition");
334
+ normalizeMetrics(input.metrics);
335
+ for (const count of Object.values(input.dimensionGroupCounts))
336
+ assertSafeInteger(count, "aggregate.dimensionGroupCount");
337
+ for (const digest of input.evidenceDigests)
338
+ assertDigest(digest, "aggregate.evidenceDigest");
339
+ const body = deepFreeze({ ...input });
340
+ return deepFreeze({
341
+ ...body,
342
+ assessmentDigest: digestSemanticControlV1("aggregate-assessment", body),
343
+ });
344
+ }
345
+ export function validateSemanticAggregateAssessmentV1(input) {
346
+ const { assessmentDigest, ...body } = input;
347
+ assertDigest(assessmentDigest, "aggregate.assessmentDigest");
348
+ const rebuilt = createSemanticAggregateAssessmentV1(body);
349
+ if (rebuilt.assessmentDigest !== assessmentDigest)
350
+ fail("semantic_aggregate_assessment_digest_invalid");
351
+ return rebuilt;
352
+ }
353
+ export function validateSemanticControlDecisionV1(input) {
354
+ if (input.schemaVersion !== 1)
355
+ fail("semantic_decision_schema_invalid");
356
+ id(input.requestId, "decision.requestId");
357
+ assertDigest(input.requestDigest, "decision.requestDigest");
358
+ assertOneOf(input.checkpoint, SEMANTIC_CONTROL_CHECKPOINTS_V1, "decision.checkpoint");
359
+ assertOneOf(input.disposition, dispositions, "decision.disposition");
360
+ if (typeof input.proceed !== "boolean")
361
+ fail("semantic_decision_proceed_invalid");
362
+ if (input.proceed !==
363
+ (input.disposition === "allow" ||
364
+ (input.checkpoint === "pre_step" && input.disposition === "steer")))
365
+ fail("semantic_decision_proceed_disposition_mismatch");
366
+ validateSemanticAggregateAssessmentV1(input.aggregate);
367
+ if (input.aggregate.requestDigest !== input.requestDigest)
368
+ fail("semantic_decision_aggregate_binding_invalid");
369
+ if (input.ensembleDecision !== null)
370
+ assertOneOf(input.ensembleDecision, ["allow", "modify", "block", "unresolved"], "decision.ensembleDecision");
371
+ if (input.ensembleVerdictDigest !== null)
372
+ assertDigest(input.ensembleVerdictDigest, "decision.ensembleVerdictDigest");
373
+ if ((input.ensembleDecision === null) !== (input.ensembleVerdictDigest === null))
374
+ fail("semantic_decision_ensemble_evidence_mismatch");
375
+ if (input.interventionAllowed !== null && typeof input.interventionAllowed !== "boolean")
376
+ fail("semantic_decision_intervention_allowed_invalid");
377
+ for (const digest of input.interventionAssessmentDigests)
378
+ assertDigest(digest, "decision.interventionAssessmentDigest");
379
+ assertSafeInteger(input.priorStateRevision, "decision.priorStateRevision");
380
+ assertSafeInteger(input.committedStateRevision, "decision.committedStateRevision");
381
+ const { decisionDigest, ...body } = input;
382
+ assertDigest(decisionDigest, "decision.decisionDigest");
383
+ if (digestSemanticControlV1("decision", body) !== decisionDigest)
384
+ fail("semantic_decision_digest_invalid");
385
+ return deepFreeze(input);
386
+ }
387
+ export function metricEntries(metrics) {
388
+ return [
389
+ ["role_coherence", metrics.roleCoherenceBps],
390
+ ["mission_alignment", metrics.missionAlignmentBps],
391
+ ["context_conflict", metrics.contextConflictBps],
392
+ ["uncertainty", metrics.uncertaintyBps],
393
+ ["course_action_diversity", metrics.courseActionDiversityBps],
394
+ ["course_action_novelty", metrics.courseActionNoveltyBps],
395
+ ];
396
+ }
397
+ export function dimensionMetricKey(dimension) {
398
+ return {
399
+ role_coherence: "roleCoherenceBps",
400
+ mission_alignment: "missionAlignmentBps",
401
+ context_conflict: "contextConflictBps",
402
+ uncertainty: "uncertaintyBps",
403
+ course_action_diversity: "courseActionDiversityBps",
404
+ course_action_novelty: "courseActionNoveltyBps",
405
+ }[dimension];
406
+ }
407
+ function normalizeMetrics(input) {
408
+ return deepFreeze({
409
+ roleCoherenceBps: nullableBps(input.roleCoherenceBps, "roleCoherenceBps"),
410
+ missionAlignmentBps: nullableBps(input.missionAlignmentBps, "missionAlignmentBps"),
411
+ contextConflictBps: nullableBps(input.contextConflictBps, "contextConflictBps"),
412
+ uncertaintyBps: nullableBps(input.uncertaintyBps, "uncertaintyBps"),
413
+ courseActionDiversityBps: nullableBps(input.courseActionDiversityBps, "courseActionDiversityBps"),
414
+ courseActionNoveltyBps: nullableBps(input.courseActionNoveltyBps, "courseActionNoveltyBps"),
415
+ });
416
+ }
417
+ function dimensions(values, label) {
418
+ const result = uniqueSorted(values, label);
419
+ for (const value of result)
420
+ assertOneOf(value, SEMANTIC_CONTROL_DIMENSIONS_V1, label);
421
+ return result;
422
+ }
423
+ function identifiers(values, label, maximum) {
424
+ if (values.length > maximum)
425
+ fail(`${label}_too_many`);
426
+ const result = uniqueSorted(values, label);
427
+ for (const value of result)
428
+ id(value, label);
429
+ return result;
430
+ }
431
+ function tokens(values, label, maximum) {
432
+ if (values.length > maximum)
433
+ fail(`${label}_too_many`);
434
+ const result = uniqueSorted(values, label);
435
+ for (const value of result)
436
+ if (!/^[a-z0-9][a-z0-9._:-]{0,127}$/.test(value))
437
+ fail(`${label}_invalid`);
438
+ return result;
439
+ }
440
+ function digests(values, label) {
441
+ const result = uniqueSorted(values, label);
442
+ for (const [index, value] of result.entries())
443
+ assertDigest(value, `${label}[${index}]`);
444
+ return result;
445
+ }
446
+ function digestList(values, label) {
447
+ const result = [...values];
448
+ for (const [index, value] of result.entries())
449
+ assertDigest(value, `${label}[${index}]`);
450
+ return deepFreeze(result);
451
+ }
452
+ function uniqueSorted(values, label) {
453
+ const result = [...new Set(values)].sort();
454
+ if (result.length !== values.length)
455
+ fail(`${label}_must_be_unique`);
456
+ return deepFreeze(result);
457
+ }
458
+ function nullableBps(value, label) { return value === null ? null : bps(value, label); }
459
+ function bps(value, label) { assertSafeInteger(value, label); if (value > 10_000)
460
+ fail(`${label}_must_be_bps`); return value; }
461
+ function positive(value, label) { assertSafeInteger(value, label, 1); return value; }
462
+ function nonNegative(value, label) { assertSafeInteger(value, label); return value; }
463
+ function id(value, label) { assertIdentifier(value, label); return value; }
464
+ function fail(code) { throw new TypeError(code); }
465
+ export function semanticAssessorBasisV1(value) {
466
+ assertOneOf(value, bases, "basis");
467
+ return value;
468
+ }
469
+ export function semanticDispositionV1(value) {
470
+ assertOneOf(value, dispositions, "disposition");
471
+ return value;
472
+ }
473
+ export function semanticViolationV1(value) {
474
+ assertOneOf(value, violations, "violation");
475
+ return value;
476
+ }
477
+ //# sourceMappingURL=semantic-alignment-validation.js.map