@openmixer/plugin-qualify 0.5.1 → 0.6.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 (47) hide show
  1. package/README.md +17 -0
  2. package/dist/clap-qualify.js +8 -10
  3. package/dist/clap-qualify.js.map +1 -1
  4. package/dist/cost-fields.d.ts +46 -0
  5. package/dist/cost-fields.js +46 -0
  6. package/dist/cost-fields.js.map +1 -0
  7. package/dist/hosting-codes.d.ts +2 -0
  8. package/dist/hosting-codes.js +2 -0
  9. package/dist/hosting-codes.js.map +1 -1
  10. package/dist/hosting-suitability.d.ts +15 -2
  11. package/dist/hosting-suitability.js +44 -12
  12. package/dist/hosting-suitability.js.map +1 -1
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/measure-host.d.ts +21 -0
  17. package/dist/measure-host.js +124 -0
  18. package/dist/measure-host.js.map +1 -0
  19. package/dist/measurement/cli.d.ts +47 -7
  20. package/dist/measurement/cli.js +117 -9
  21. package/dist/measurement/cli.js.map +1 -1
  22. package/dist/measurement/format.d.ts +5 -0
  23. package/dist/measurement/format.js +2 -0
  24. package/dist/measurement/format.js.map +1 -1
  25. package/dist/measurement/vocabulary.d.ts +7 -2
  26. package/dist/measurement/vocabulary.js +7 -2
  27. package/dist/measurement/vocabulary.js.map +1 -1
  28. package/dist/qualify-declarations.d.ts +43 -5
  29. package/dist/qualify-declarations.js +44 -5
  30. package/dist/qualify-declarations.js.map +1 -1
  31. package/dist/tool-paths.d.ts +11 -0
  32. package/dist/tool-paths.js +18 -1
  33. package/dist/tool-paths.js.map +1 -1
  34. package/package.json +1 -1
  35. package/src/clap-qualify.ts +6 -11
  36. package/src/cost-fields.ts +72 -0
  37. package/src/hosting-codes.ts +2 -0
  38. package/src/hosting-suitability.ts +58 -12
  39. package/src/index.ts +2 -0
  40. package/src/measure-host.ts +112 -0
  41. package/src/measurement/cli.ts +146 -15
  42. package/src/measurement/format.ts +7 -0
  43. package/src/measurement/vocabulary.ts +8 -2
  44. package/src/qualify-declarations.ts +49 -5
  45. package/src/tool-paths.ts +29 -1
  46. package/tools/benchmark.py +126 -6
  47. package/tools/lv2-measure.mjs +76 -9
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/measurement/format.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAKL,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,4FAA4F;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAE/D,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C;;;+FAG+F;AAC/F,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAE1C,0DAA0D;AAC1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,wBAAwB,IAAI,wBAAwB,EAAE,CAAC;AAQpG;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACnF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B,CAAC;AA+YD,MAAM,YAAY,GAAG,CAAC,CAAU,EAAiB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1H,MAAM,UAAU,GAAG,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAErG;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;IACvF,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACzF,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACjG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IACrG,IAAI,cAAc,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,8DAA8D,EAAE,CAAC;IAChG,CAAC;IACD,IAAI,OAAO,WAAW,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;IAClG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,sEAAsE,EAAE,CAAC;IACxG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;IACvE,CAAC;IACD,IAAI,CAAE,qBAA4C,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACvF,CAAC;IACD,IAAI,CAAE,eAAsC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,qBAAqB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IACnF,CAAC;IACD,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACP,EAAE;YACF,WAAW;YACX,cAAc;YACd,WAAW;YACX,IAAI,EAAE,EAAE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;YAC/F,OAAO,EAAE,OAA8B;YACvC,SAAS,EAAE,SAA0B;SACtC;KACF,CAAC;AACJ,CAAC;AAED,yGAAyG;AACzG,SAAS,WAAW,CAAC,KAAc,EAAE,KAA0B;IAC7D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAI,eAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,MAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5H,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1G,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAClE,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACnG,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,UAAU,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;AAC1H,CAAC;AA6CD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC1C,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,QAAQ,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC3F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,QAAQ;QACR,gBAAgB;QAChB,YAAY;QACZ,GAAG,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3C,GAAG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrD,GAAG,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvD,GAAG,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnE,GAAG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,GAAG,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7D,GAAG,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC5G,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChD,IACE,MAAM,KAAK,SAAS;QACpB,WAAW,KAAK,SAAS;QACzB,YAAY,KAAK,SAAS;QAC1B,UAAU,KAAK,SAAS;QACxB,QAAQ,KAAK,SAAS;QACtB,QAAQ,KAAK,SAAS,EACtB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,MAAM;QACN,WAAW;QACX,YAAY;QACZ,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,wBAAwB,EAAE,YAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACjF,GAAG,QAAQ,CAAC,uBAAuB,EAAE,YAAY,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;KAChF,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACxF,CAAC,CAAC,SAAS,CAAC;IACd,IACE,EAAE,KAAK,SAAS;QAChB,UAAU,KAAK,SAAS;QACxB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,SAAS;QAClB,mBAAmB,KAAK,SAAS;QACjC,UAAU,KAAK,SAAS;QACxB,KAAK,KAAK,SAAS;QACnB,IAAI,EAAE,IAAI,KAAK,SAAS;QACxB,IAAI,CAAC,OAAO,KAAK,SAAS,EAC1B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,OAAO;QACL,EAAE;QACF,UAAU;QACV,UAAU;QACV,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;QAChD,IAAI;QACJ,MAAM,EAAE;YACN,GAAG,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzD,GAAG,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACjD;QACD,mBAAmB;QACnB,IAAI;QACJ,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9E,OAAO;QACL,WAAW;QACX,YAAY;QACZ,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,GAAG,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KAChE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAI,KAAc,EAAE,IAAsC;IAC5E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAAsB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,SAAS;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,MAAM,KAAK,SAAS;YAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;IACvD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,IAAI,MAAM,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/D,OAAO;QACL,MAAM;QACN,EAAE;QACF,GAAG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,GAAG,QAAQ,CAAC,gBAAgB,EAAE,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,MAAM,GAAG,GAA6D,EAAE,CAAC;IACzE,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,SAAS;QAC/B,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS;QACjE,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5G,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC9D,OAAO;QACL,OAAO;QACP,GAAG,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC/D,GAAG,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7D,GAAG,QAAQ,CAAC,oBAAoB,EAAE,cAAc,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC3E,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrE,GAAG,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC3D,GAAG,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACvE,GAAG,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChE,MAAM,qBAAqB,GAAG,YAAY,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACtD,IACE,iBAAiB,KAAK,SAAS;QAC/B,qBAAqB,KAAK,SAAS;QACnC,MAAM,KAAK,SAAS;QACpB,WAAW,KAAK,SAAS,EACzB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,iBAAiB;QACjB,qBAAqB;QACrB,MAAM;QACN,WAAW;QACX,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,yBAAyB,EAAE,YAAY,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACnF,GAAG,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC;QACnD,GAAG,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACvE,GAAG,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAA8B;IAC9C,OAAO;QACL,GAAG,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACvE,GAAG,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACxE,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjG,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,qBAAqB,GAAG,YAAY,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACxE,IAAI,MAAM,KAAK,SAAS,IAAI,qBAAqB,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAClF,OAAO;QACL,MAAM;QACN,qBAAqB;QACrB,GAAG,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/D,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAClD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO;QACL,GAAG,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,GAAG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,GAAG,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzD,GAAG,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,GAAG,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7D,GAAG,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,GAAG,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7D,GAAG,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,GAAG,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrE,GAAG,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/D,GAAG,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7D,GAAG,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3D,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrD,GAAG,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpD,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAChD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO;QACL,GAAG,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,GAAG,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,GAAG,QAAQ,CAAC,KAAK,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,GAAG,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC7D,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjD,GAAG,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,GAAG,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,GAAG,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACnE,GAAG,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACrE,GAAG,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACzD,GAAG,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC/D,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrD,GAAG,QAAQ,CAAC,KAAK,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,OAAO;QACL,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACjE,GAAG,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,GAAG,QAAQ,CAAC,KAAK,CAAC;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,gBAAgB,CAAC;AAEpC,oGAAoG;AACpG,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACxF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1G,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,OAAO,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC/G,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,MAAM,KAAK,GAAG,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC9F,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,KAAK,GACT,KAAK,KAAK,SAAS;QACnB,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;QACnC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM;QACxD,MAAM,EAAE,MAAM,KAAK,SAAS;QAC5B,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;YAC/B,KAAK,EAAG,KAAsB,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,EAAE,EAAE,MAAM,EAAE,MAAO,CAAC,MAAO,EAAE,MAAM,EAAE,MAAO,CAAC,MAAO,EAAE;SAC7D,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAClG,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,wCAAwC,EAAE,CAAC;AAC1I,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAAC,CAAmC,EAAE,CAAmC;IACpG,IAAI,CAAC,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,EAAE,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACvH,OAAO,CACL,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM;QACnC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM;QACnC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM;QACjC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,KAAM,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAC1F,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,GAAG,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAClE,OAAO;QACL,GAAG;QACH,QAAQ;QACR,GAAG,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,GAAG,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrD,GAAG,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,GAAG,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvD,GAAG,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClD,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,GAAG,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACxD,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrD,GAAG,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACrD,GAAG,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAc;IACpD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,qBAAqB,EAAE,CAAC;QAC3C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,oBAAoB,qBAAqB,GAAG;YACpD,GAAG,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACnD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,yCAAyC;YACjD,GAAG,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,GAAG,wBAAwB,EAAE,CAAC;QAC7C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,gCAAgC,wBAAwB,+CAA+C;YAC/G,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE;SAC3C,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,gFAAgF;SACzF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACvF,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GAAwB;QACpC,MAAM,EAAE,qBAAqB;QAC7B,aAAa,EAAE,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE;QAClD,GAAG;QACH,OAAO;QACP,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;KAClG,CAAC;IACF,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ;QACR,OAAO;QACP,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM;QACrD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACpE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,wBAAwB,IAAI,OAAO,CAAC,KAAK,GAAG,wBAAwB;YACxF,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;YACxB,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,SAAS,UAAU,CACjB,KAA8B;IAE9B,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACvF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7C,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC7B,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACzC,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,OAAO;QACL,YAAY;QACZ,QAAQ;QACR,OAAO,EAAE,WAAW,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;KAC3F,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,GAAmB,EACnB,OAAkC,EAClC,MAAyG;IAEzG,OAAO;QACL,MAAM,EAAE,qBAAqB;QAC7B,aAAa,EAAE,0BAA0B;QACzC,GAAG;QACH,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;KAClG,CAAC;AACJ,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,4BAA4B,CAAC,QAA6B;IACxE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED;sEACsE;AACtE,OAAO,EAAE,sBAAsB,EAA6B,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/measurement/format.ts"],"names":[],"mappings":"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"}
@@ -102,10 +102,15 @@ export declare const MEASUREMENT_DIMENSIONS: readonly ["latency", "cost", "stabi
102
102
  /**
103
103
  * The dimensions the standalone prober (`scan.py` + `benchmark.py`, driven by `lv2-measure.mjs`
104
104
  * and the console's Setup analysis) can measure. The three hosting dimensions come from a
105
- * different tool — the `lv2-measure.c` sweep, read by `sweep-jsonl.ts` — so a run asked of the
106
- * prober for `stability` would be asking it for something it cannot take.
105
+ * different tool — the native measurer `native/lv2-measure.c`, read by `sweep-jsonl.ts` — so a
106
+ * run asked of the prober for `stability` would be asking it for something it cannot take.
107
107
  */
108
108
  export declare const PROBED_DIMENSIONS: readonly ["latency", "cost"];
109
+ /**
110
+ * The dimensions `lv2-measure.mjs`'s hosting pass measures: one run of the native measurer per
111
+ * plugin, under the interposer, writes all three.
112
+ */
113
+ export declare const HOSTING_PASS_DIMENSIONS: readonly ["stability", "rtSafety", "features"];
109
114
  /** One measurable dimension. */
110
115
  export type MeasurementDimension = (typeof MEASUREMENT_DIMENSIONS)[number];
111
116
  /** `value` as a dimension, or `undefined` when it is not one. */
@@ -201,10 +201,15 @@ export const MEASUREMENT_DIMENSIONS = ["latency", "cost", "stability", "rtSafety
201
201
  /**
202
202
  * The dimensions the standalone prober (`scan.py` + `benchmark.py`, driven by `lv2-measure.mjs`
203
203
  * and the console's Setup analysis) can measure. The three hosting dimensions come from a
204
- * different tool — the `lv2-measure.c` sweep, read by `sweep-jsonl.ts` — so a run asked of the
205
- * prober for `stability` would be asking it for something it cannot take.
204
+ * different tool — the native measurer `native/lv2-measure.c`, read by `sweep-jsonl.ts` — so a
205
+ * run asked of the prober for `stability` would be asking it for something it cannot take.
206
206
  */
207
207
  export const PROBED_DIMENSIONS = ["latency", "cost"];
208
+ /**
209
+ * The dimensions `lv2-measure.mjs`'s hosting pass measures: one run of the native measurer per
210
+ * plugin, under the interposer, writes all three.
211
+ */
212
+ export const HOSTING_PASS_DIMENSIONS = ["stability", "rtSafety", "features"];
208
213
  /** `value` as a dimension, or `undefined` when it is not one. */
209
214
  export function readDimension(value) {
210
215
  const text = nonEmptyString(value);
@@ -1 +1 @@
1
- {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../../src/measurement/vocabulary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../../src/measurement/vocabulary.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA8B7C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA8B;IACzD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,mFAAmF;KACjG;IACD;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,yFAAyF;YACzF,4FAA4F;KAC/F;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,oFAAoF;KAClG;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,oGAAoG;YACpG,iHAAiH;KACpH;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8DAA8D;KAC5E;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oEAAoE;KAClF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,iEAAiE;KAC/E;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,+EAA+E;KAC7F;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,uFAAuF;YACvF,uDAAuD;KAC1D;IACD;QACE,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2FAA2F;YAC3F,sFAAsF;KACzF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,sFAAsF;KACpG;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAwC,IAAI,GAAG,CACrE,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAClD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAwB;IACrD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC;IAC/C,OAAO,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,cAAc,CAAC;AAC9D,CAAC;AAgBD,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,+FAA+F;KAC7G;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0FAA0F;KACxG;IACD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,mDAAmD,EAAE;IAClF;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2FAA2F;YAC3F,2EAA2E;KAC9E;IACD,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,8CAA8C,EAAE;IACpF,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,4BAA4B,EAAE;CAClE,CAAC;AAEF,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAErF,6EAA6E;AAC7E,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,2FAA2F;YAC3F,wEAAwE;KAC3E;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,2FAA2F;YAC3F,sFAAsF;KACzF;CACwC,CAAC;AAK5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD;QACE,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,4FAA4F;YAC5F,+EAA+E;KAClF;CACF,CAAC;AAEF,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,wDAAwD;AACxD,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,2FAA2F;YAC3F,4DAA4D;KAC/D;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,6EAA6E;KAC3F;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,yFAAyF;YACzF,kDAAkD;KACrD;CACF,CAAC;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAEnF,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,CAAU,CAAC;AAExG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,MAAM,CAAuE,CAAC;AAE3H;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAuE,CAAC;AAKnJ,iEAAiE;AACjE,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,CAAU,CAAC;AAG7F,wEAAwE;AACxE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,YAAY,EAAE,aAAa,EAAE,gBAAgB,CAAU,CAAC;AAGxF,iGAAiG;AACjG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,aAAa,EAAE,eAAe,CAAU,CAAC"}
@@ -29,6 +29,24 @@ export declare const PLUGIN_TIMEOUT_S = 15;
29
29
  export declare const BOOT_TIMEOUT_S = 120;
30
30
  /** Seconds one plugin's cost pass may take (a sustained tone runs longer than an impulse). */
31
31
  export declare const COST_TIMEOUT_S = 60;
32
+ /**
33
+ * The soak's control sweep is bounded to musically sane ranges (spec §2a.4): a `units:db` port
34
+ * is swept at most this many dB either side of its default, and a strictly-positive-default
35
+ * linear port at most this ratio either side. Calf's linear gains reach 64x (+36 dB); a startup
36
+ * blast the sweep itself drives is not the plugin's. The measuring host reads both from the
37
+ * environment this package sets (`soakSweepEnv`), so the C default and this value cannot differ.
38
+ */
39
+ export declare const SOAK_SWEEP_DB = 12;
40
+ export declare const SOAK_SWEEP_RATIO = 4;
41
+ /**
42
+ * A soak's wall-clock limit is SIZED, never fixed (spec §2a): the calibration soak's wall seconds
43
+ * per audio second, times the soak length, times this margin, plus this floor in seconds.
44
+ * 2026-10-01: a fixed 900 s cut ZamGEQ31's 51-minute wall at 192 kHz and read as "died".
45
+ */
46
+ export declare const SOAK_TIMEOUT_MARGIN = 2;
47
+ export declare const SOAK_TIMEOUT_FLOOR_S = 60;
48
+ /** Audio seconds the calibration soak renders to measure the host's speed on this plugin and rate. */
49
+ export declare const SOAK_CALIBRATION_S = 30;
32
50
  /**
33
51
  * The ONE setting that locates the CLAP scanner (spec §7): the environment variable that names
34
52
  * the `omx-clap-scan` binary, and what is run when it is unset (looked up on `PATH`).
@@ -38,17 +56,27 @@ export declare const CLAP_SCAN_TOOL_DEFAULT = "omx-clap-scan";
38
56
  /** Seconds one run of the CLAP scanner may take over everything it was pointed at. */
39
57
  export declare const CLAP_SCAN_TIMEOUT_S = 300;
40
58
  /**
41
- * The CLAP prober (`native/clap-qualify.c`) and the interposer it runs under (`native/rt-interpose.c`):
42
- * each located by one environment variable, else the first of `NATIVE_TOOL_DIRS` that holds it, else
43
- * the package's own build in `native/build/`.
59
+ * The CLAP prober (`native/clap-qualify.c`), the LV2 measurer (`native/lv2-measure.c`) and the
60
+ * interposer both run under (`native/rt-interpose.c`): each located by one environment variable, else
61
+ * the first of `NATIVE_TOOL_DIRS` that holds it, else the package's own build in `native/build/`.
44
62
  */
45
63
  export declare const CLAP_QUALIFY_TOOL_ENV = "OMX_CLAP_QUALIFY";
64
+ export declare const LV2_MEASURE_TOOL_ENV = "OMX_LV2_MEASURE";
46
65
  export declare const RT_INTERPOSE_ENV = "OMX_RT_INTERPOSE";
47
- /** The file names of the prober and the interposer, in every place they are looked for. */
66
+ /** The file names of the native tools, in every place they are looked for. */
48
67
  export declare const CLAP_QUALIFY_TOOL_NAME = "clap-qualify";
68
+ export declare const LV2_MEASURE_TOOL_NAME = "lv2_measure";
49
69
  export declare const RT_INTERPOSE_NAME = "rt_interpose.so";
50
70
  /**
51
- * Where the RPM and the DEB install the prober and the interposer: the libexec directory on Fedora,
71
+ * The ONE list of the native tools the packages install, each with the setting that names it.
72
+ * `make -C native install` installs exactly these; a test holds the Makefile to the list.
73
+ */
74
+ export declare const NATIVE_TOOLS: readonly {
75
+ readonly name: string;
76
+ readonly env: string;
77
+ }[];
78
+ /**
79
+ * Where the RPM and the DEB install the native tools: the libexec directory on Fedora,
52
80
  * `/usr/lib/<package>` on Debian (policy keeps a package's private programs there). The packaging
53
81
  * installs into exactly these; a test holds the spec and `debian/rules` to them.
54
82
  */
@@ -58,6 +86,16 @@ export declare const CLAP_SWEEP_BLOCKS = 512;
58
86
  export declare const CLAP_SWEEP_FRAMES = 512;
59
87
  /** Seconds one `.clap` may take to qualify at every rate before the prober is killed. */
60
88
  export declare const CLAP_QUALIFY_TIMEOUT_S = 120;
89
+ /**
90
+ * The LV2 hosting pass (`lv2-measure.mjs`, the native `lv2_measure`): each plugin at the run's highest
91
+ * rate, in blocks of `LV2_HOSTING_BLOCK_FRAMES` frames, `LV2_HOSTING_LIFECYCLES` instantiate/destroy
92
+ * cycles and `LV2_HOSTING_REPEATS` swept RT-safety runs (the worst kept), under the noise stimulus:
93
+ * the figures openmixer's hosting sweep took. One plugin may take `LV2_HOSTING_TIMEOUT_S` seconds.
94
+ */
95
+ export declare const LV2_HOSTING_BLOCK_FRAMES = 512;
96
+ export declare const LV2_HOSTING_LIFECYCLES = 30;
97
+ export declare const LV2_HOSTING_REPEATS = 3;
98
+ export declare const LV2_HOSTING_TIMEOUT_S = 240;
61
99
  /** Every threshold, so none is baked into the code. */
62
100
  export interface HostingPolicy {
63
101
  /** Minimum instantiate/destroy lifecycles. The operator's §14.4 ruling: 1000. */
@@ -31,6 +31,24 @@ export const PLUGIN_TIMEOUT_S = 15;
31
31
  export const BOOT_TIMEOUT_S = 120;
32
32
  /** Seconds one plugin's cost pass may take (a sustained tone runs longer than an impulse). */
33
33
  export const COST_TIMEOUT_S = 60;
34
+ /**
35
+ * The soak's control sweep is bounded to musically sane ranges (spec §2a.4): a `units:db` port
36
+ * is swept at most this many dB either side of its default, and a strictly-positive-default
37
+ * linear port at most this ratio either side. Calf's linear gains reach 64x (+36 dB); a startup
38
+ * blast the sweep itself drives is not the plugin's. The measuring host reads both from the
39
+ * environment this package sets (`soakSweepEnv`), so the C default and this value cannot differ.
40
+ */
41
+ export const SOAK_SWEEP_DB = 12;
42
+ export const SOAK_SWEEP_RATIO = 4;
43
+ /**
44
+ * A soak's wall-clock limit is SIZED, never fixed (spec §2a): the calibration soak's wall seconds
45
+ * per audio second, times the soak length, times this margin, plus this floor in seconds.
46
+ * 2026-10-01: a fixed 900 s cut ZamGEQ31's 51-minute wall at 192 kHz and read as "died".
47
+ */
48
+ export const SOAK_TIMEOUT_MARGIN = 2;
49
+ export const SOAK_TIMEOUT_FLOOR_S = 60;
50
+ /** Audio seconds the calibration soak renders to measure the host's speed on this plugin and rate. */
51
+ export const SOAK_CALIBRATION_S = 30;
34
52
  /**
35
53
  * The ONE setting that locates the CLAP scanner (spec §7): the environment variable that names
36
54
  * the `omx-clap-scan` binary, and what is run when it is unset (looked up on `PATH`).
@@ -40,17 +58,28 @@ export const CLAP_SCAN_TOOL_DEFAULT = "omx-clap-scan";
40
58
  /** Seconds one run of the CLAP scanner may take over everything it was pointed at. */
41
59
  export const CLAP_SCAN_TIMEOUT_S = 300;
42
60
  /**
43
- * The CLAP prober (`native/clap-qualify.c`) and the interposer it runs under (`native/rt-interpose.c`):
44
- * each located by one environment variable, else the first of `NATIVE_TOOL_DIRS` that holds it, else
45
- * the package's own build in `native/build/`.
61
+ * The CLAP prober (`native/clap-qualify.c`), the LV2 measurer (`native/lv2-measure.c`) and the
62
+ * interposer both run under (`native/rt-interpose.c`): each located by one environment variable, else
63
+ * the first of `NATIVE_TOOL_DIRS` that holds it, else the package's own build in `native/build/`.
46
64
  */
47
65
  export const CLAP_QUALIFY_TOOL_ENV = "OMX_CLAP_QUALIFY";
66
+ export const LV2_MEASURE_TOOL_ENV = "OMX_LV2_MEASURE";
48
67
  export const RT_INTERPOSE_ENV = "OMX_RT_INTERPOSE";
49
- /** The file names of the prober and the interposer, in every place they are looked for. */
68
+ /** The file names of the native tools, in every place they are looked for. */
50
69
  export const CLAP_QUALIFY_TOOL_NAME = "clap-qualify";
70
+ export const LV2_MEASURE_TOOL_NAME = "lv2_measure";
51
71
  export const RT_INTERPOSE_NAME = "rt_interpose.so";
52
72
  /**
53
- * Where the RPM and the DEB install the prober and the interposer: the libexec directory on Fedora,
73
+ * The ONE list of the native tools the packages install, each with the setting that names it.
74
+ * `make -C native install` installs exactly these; a test holds the Makefile to the list.
75
+ */
76
+ export const NATIVE_TOOLS = [
77
+ { name: CLAP_QUALIFY_TOOL_NAME, env: CLAP_QUALIFY_TOOL_ENV },
78
+ { name: LV2_MEASURE_TOOL_NAME, env: LV2_MEASURE_TOOL_ENV },
79
+ { name: RT_INTERPOSE_NAME, env: RT_INTERPOSE_ENV },
80
+ ];
81
+ /**
82
+ * Where the RPM and the DEB install the native tools: the libexec directory on Fedora,
54
83
  * `/usr/lib/<package>` on Debian (policy keeps a package's private programs there). The packaging
55
84
  * installs into exactly these; a test holds the spec and `debian/rules` to them.
56
85
  */
@@ -60,6 +89,16 @@ export const CLAP_SWEEP_BLOCKS = 512;
60
89
  export const CLAP_SWEEP_FRAMES = 512;
61
90
  /** Seconds one `.clap` may take to qualify at every rate before the prober is killed. */
62
91
  export const CLAP_QUALIFY_TIMEOUT_S = 120;
92
+ /**
93
+ * The LV2 hosting pass (`lv2-measure.mjs`, the native `lv2_measure`): each plugin at the run's highest
94
+ * rate, in blocks of `LV2_HOSTING_BLOCK_FRAMES` frames, `LV2_HOSTING_LIFECYCLES` instantiate/destroy
95
+ * cycles and `LV2_HOSTING_REPEATS` swept RT-safety runs (the worst kept), under the noise stimulus:
96
+ * the figures openmixer's hosting sweep took. One plugin may take `LV2_HOSTING_TIMEOUT_S` seconds.
97
+ */
98
+ export const LV2_HOSTING_BLOCK_FRAMES = 512;
99
+ export const LV2_HOSTING_LIFECYCLES = 30;
100
+ export const LV2_HOSTING_REPEATS = 3;
101
+ export const LV2_HOSTING_TIMEOUT_S = 240;
63
102
  /**
64
103
  * Defaults. The cycle floor is the operator's ruling of 2026-09-05 (§14.4, option c) and the
65
104
  * soak is §3's default show length. The per-instance cost ceiling is the HOST's budget and
@@ -1 +1 @@
1
- {"version":3,"file":"qualify-declarations.js","sourceRoot":"","sources":["../src/qualify-declarations.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C,sFAAsF;AACtF,MAAM,CAAC,MAAM,aAAa,GAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAExG,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;AAEjF,wGAAwG;AACxG,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,8FAA8F;AAC9F,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAEtD,sFAAsF;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,6BAA6B,EAAE,yBAAyB,CAAC,CAAC;AAE9G,2GAA2G;AAC3G,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAErC,yFAAyF;AACzF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAsB1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE;IACxB,oBAAoB,EAAE,CAAC;IACvB,cAAc,EAAE,EAAE;CACnB,CAAC;AAOF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,cAAc,EAAE;IACtG,IAAI,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE;IAC1E,UAAU,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE;CACzB,CAAC"}
1
+ {"version":3,"file":"qualify-declarations.js","sourceRoot":"","sources":["../src/qualify-declarations.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,16 @@ export declare function lv2MeasureToolPath(): string;
10
10
  export declare function clapQualifyToolPath(): string;
11
11
  /** The package's own build of the interposer the CLAP prober runs under. */
12
12
  export declare function rtInterposePath(): string;
13
+ /** The package's own build of the LV2 measurer (`make -C native`). */
14
+ export declare function lv2MeasureNativePath(): string;
13
15
  /** Where a native tool is looked for when no setting names it, in order: the installed directories, then the own build. */
14
16
  export declare function nativeToolCandidates(name: string): string[];
17
+ /**
18
+ * One of `NATIVE_TOOLS`: its setting when set (and only that), else the first candidate that exists.
19
+ * `path` is absent when none does; `looked` is every place tried, for the refusal to name.
20
+ */
21
+ export declare function locateNativeTool(name: string, env: Readonly<Record<string, string | undefined>>, exists: (path: string) => boolean): {
22
+ readonly path?: string;
23
+ readonly looked: readonly string[];
24
+ readonly setting: string;
25
+ };
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { join } from "node:path";
9
9
  import { fileURLToPath } from "node:url";
10
- import { CLAP_QUALIFY_TOOL_NAME, NATIVE_TOOL_DIRS, RT_INTERPOSE_NAME } from "./qualify-declarations.js";
10
+ import { CLAP_QUALIFY_TOOL_NAME, LV2_MEASURE_TOOL_NAME, NATIVE_TOOLS, NATIVE_TOOL_DIRS, RT_INTERPOSE_NAME, } from "./qualify-declarations.js";
11
11
  /**
12
12
  * `tools/` — `scan.py`, `benchmark.py`, `lv2-measure.mjs`, `hosting-sweep.mjs`. Resolved when a
13
13
  * console asks, never at import: a consumer that only reads this package's declarations from a
@@ -32,8 +32,25 @@ export function clapQualifyToolPath() {
32
32
  export function rtInterposePath() {
33
33
  return join(nativeBuildDir(), RT_INTERPOSE_NAME);
34
34
  }
35
+ /** The package's own build of the LV2 measurer (`make -C native`). */
36
+ export function lv2MeasureNativePath() {
37
+ return join(nativeBuildDir(), LV2_MEASURE_TOOL_NAME);
38
+ }
35
39
  /** Where a native tool is looked for when no setting names it, in order: the installed directories, then the own build. */
36
40
  export function nativeToolCandidates(name) {
37
41
  return [...NATIVE_TOOL_DIRS, nativeBuildDir()].map((dir) => join(dir, name));
38
42
  }
43
+ /**
44
+ * One of `NATIVE_TOOLS`: its setting when set (and only that), else the first candidate that exists.
45
+ * `path` is absent when none does; `looked` is every place tried, for the refusal to name.
46
+ */
47
+ export function locateNativeTool(name, env, exists) {
48
+ const setting = NATIVE_TOOLS.find((t) => t.name === name)?.env;
49
+ if (setting === undefined)
50
+ throw new Error(`${name} is not one of NATIVE_TOOLS`);
51
+ const v = env[setting];
52
+ const looked = v === undefined || v === "" ? nativeToolCandidates(name) : [v];
53
+ const path = looked.find((p) => exists(p));
54
+ return { ...(path === undefined ? {} : { path }), looked, setting };
55
+ }
39
56
  //# sourceMappingURL=tool-paths.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-paths.js","sourceRoot":"","sources":["../src/tool-paths.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;GAIG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAExG;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB;IAChC,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,sEAAsE;AACtE,SAAS,cAAc;IACrB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,sBAAsB,CAAC,CAAC;AACxD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC;AAED,2HAA2H;AAC3H,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,CAAC,GAAG,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"tool-paths.js","sourceRoot":"","sources":["../src/tool-paths.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,sDAAsD;AACtD;;;;GAIG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,QAAQ;IACtB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,kBAAkB;IAChC,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,sEAAsE;AACtE,SAAS,cAAc;IACrB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,mBAAmB;IACjC,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,sBAAsB,CAAC,CAAC;AACxD,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe;IAC7B,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACnD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,CAAC,cAAc,EAAE,EAAE,qBAAqB,CAAC,CAAC;AACvD,CAAC;AAED,2HAA2H;AAC3H,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,CAAC,GAAG,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,GAAiD,EACjD,MAAiC;IAEjC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC;IAC/D,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,6BAA6B,CAAC,CAAC;IACjF,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,MAAM,GAAG,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACtE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmixer/plugin-qualify",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Qualify audio plugins for real-time hosting: scan, offline latency and cost measurement, a mod-host hosting sweep, and a fail-closed rating.",
5
5
  "type": "module",
6
6
  "license": "GPL-3.0-or-later",
@@ -15,11 +15,9 @@ import { existsSync } from "node:fs";
15
15
 
16
16
  import {
17
17
  CLAP_QUALIFY_TIMEOUT_S,
18
- CLAP_QUALIFY_TOOL_ENV,
19
18
  CLAP_QUALIFY_TOOL_NAME,
20
19
  CLAP_SWEEP_BLOCKS,
21
20
  CLAP_SWEEP_FRAMES,
22
- RT_INTERPOSE_ENV,
23
21
  RT_INTERPOSE_NAME,
24
22
  } from "./qualify-declarations.js";
25
23
  import {
@@ -35,7 +33,7 @@ import { OPENMIXER_CONSOLE_PROFILE, type HostProfile } from "./host-profiles.js"
35
33
  import type { PluginTarget } from "./loader.js";
36
34
  import type { QualifyVerdict } from "./qualify-cli.js";
37
35
  import { RATING_SEVERITY, worstRating, type SuitabilityRating } from "./rating.js";
38
- import { nativeToolCandidates } from "./tool-paths.js";
36
+ import { locateNativeTool } from "./tool-paths.js";
39
37
  import { readIntegrity, type IntegrityMeasurement } from "./measurement/format.js";
40
38
 
41
39
  export class ClapQualifyError extends Error {
@@ -307,19 +305,16 @@ export interface ClapQualifyOptions {
307
305
  readonly exists?: (path: string) => boolean;
308
306
  }
309
307
 
310
- /** One native tool: its setting when set, else the first candidate that exists. Absent, it throws, naming where it looked. */
308
+ /** One native tool, located (`locateNativeTool`). Absent, it throws, naming where it looked. */
311
309
  function locate(
312
310
  env: Readonly<Record<string, string | undefined>>,
313
311
  what: string,
314
- name: string,
315
312
  file: string,
316
313
  exists: (path: string) => boolean,
317
314
  ): string {
318
- const v = env[name];
319
- const looked = v === undefined || v === "" ? nativeToolCandidates(file) : [v];
320
- const path = looked.find((p) => exists(p));
315
+ const { path, looked, setting } = locateNativeTool(file, env, exists);
321
316
  if (path === undefined) {
322
- throw new ClapQualifyError(`no CLAP ${what} at ${looked.join(", ")}: install the plugin-qualify package, build it with make -C native, or set ${name}`);
317
+ throw new ClapQualifyError(`no CLAP ${what} at ${looked.join(", ")}: install the plugin-qualify package, build it with make -C native, or set ${setting}`);
323
318
  }
324
319
  return path;
325
320
  }
@@ -333,8 +328,8 @@ export function clapQualifyTools(
333
328
  exists: (path: string) => boolean = existsSync,
334
329
  ): { tool: string; interposer: string } {
335
330
  return {
336
- tool: locate(env, "prober", CLAP_QUALIFY_TOOL_ENV, CLAP_QUALIFY_TOOL_NAME, exists),
337
- interposer: locate(env, "interposer", RT_INTERPOSE_ENV, RT_INTERPOSE_NAME, exists),
331
+ tool: locate(env, "prober", CLAP_QUALIFY_TOOL_NAME, exists),
332
+ interposer: locate(env, "interposer", RT_INTERPOSE_NAME, exists),
338
333
  };
339
334
  }
340
335
 
@@ -0,0 +1,72 @@
1
+ // SPDX-License-Identifier: GPL-3.0-or-later
2
+ // Copyright (C) 2026 Pau Aliagas <linuxnow@gmail.com>
3
+ /**
4
+ * The ONE declaration of how a cost reading is named on each side of the landing door, and the
5
+ * only reader of those names.
6
+ *
7
+ * The interchange document names the headline cost figure `nsPerSamplePercentile` (the percentile
8
+ * is a property of the run); the classifier's cost gate judges `nsPerSampleP95` and
9
+ * `coreFractionP95`. A hand join that leaves the classifier's fields undefined makes
10
+ * `undefined > ceiling` false, and the gate passes every plugin. So the names live here once,
11
+ * the gate asks {@link costFieldsMissing} before it compares anything, and a reading that lacks
12
+ * a field is REFUSED, never passed by absence.
13
+ */
14
+ import type { CostAtRate } from "./measurement/format.js";
15
+ import { isRecord } from "./measurement/guards.js";
16
+
17
+ /** The figures the cost gate judges, per rate: what a plugin's `cpuCost.perRate[rate]` must carry. */
18
+ export interface ClassifierCostReading {
19
+ readonly nsPerSampleMedian: number;
20
+ readonly nsPerSampleP95: number;
21
+ readonly coreFractionP95: number;
22
+ }
23
+
24
+ /**
25
+ * Field names, by side. Each side's names are checked against its own type, so renaming a field
26
+ * in the document type or the classifier type is a compile error here, not a silent `undefined`.
27
+ */
28
+ export const COST_FIELDS = {
29
+ document: { median: "nsPerSampleMedian", percentile: "nsPerSamplePercentile" },
30
+ classifier: { median: "nsPerSampleMedian", percentile: "nsPerSampleP95", coreFraction: "coreFractionP95" },
31
+ } as const satisfies {
32
+ document: Record<string, keyof CostAtRate>;
33
+ classifier: Record<string, keyof ClassifierCostReading>;
34
+ };
35
+
36
+ /** Nanoseconds in one second: the constant every budget figure divides by. */
37
+ const NS_PER_SECOND = 1e9;
38
+
39
+ /**
40
+ * Fraction of one core a cost of `nsPerSample` takes at `rate`. `undefined` for a non-positive
41
+ * rate or a non-finite cost: an unmeasurable cost is never a cheap one.
42
+ */
43
+ export function coreFraction(nsPerSample: number, rate: number): number | undefined {
44
+ if (!(rate > 0) || !Number.isFinite(nsPerSample)) return undefined;
45
+ return (nsPerSample * rate) / NS_PER_SECOND;
46
+ }
47
+
48
+ /** The classifier fields `reading` lacks (absent, or not a finite number). Empty = judgeable. */
49
+ export function costFieldsMissing(reading: unknown): string[] {
50
+ const record = isRecord(reading) ? reading : {};
51
+ return Object.values(COST_FIELDS.classifier).filter((name) => {
52
+ const v = record[name];
53
+ return typeof v !== "number" || !Number.isFinite(v);
54
+ });
55
+ }
56
+
57
+ /**
58
+ * A document's cost reading as the figures the cost gate judges, or `undefined` when the rate or
59
+ * a figure is unusable. The derived `coreFractionP95` is computed here, from the measured
60
+ * primitive: derived figures are not carried in the document.
61
+ */
62
+ export function classifierCostFromDocument(reading: CostAtRate, rate: number): ClassifierCostReading | undefined {
63
+ const median = reading[COST_FIELDS.document.median];
64
+ const p95 = reading[COST_FIELDS.document.percentile];
65
+ const fraction = coreFraction(p95, rate);
66
+ if (fraction === undefined || !Number.isFinite(median)) return undefined;
67
+ return {
68
+ [COST_FIELDS.classifier.median]: median,
69
+ [COST_FIELDS.classifier.percentile]: p95,
70
+ [COST_FIELDS.classifier.coreFraction]: fraction,
71
+ };
72
+ }
@@ -15,6 +15,7 @@ export const HOSTING_CODE = {
15
15
  stabilityCrashedLive: 'hosting.stability.crashed-live-on-this-rig',
16
16
  stabilityBelowFloor: 'hosting.stability.cycles-below-floor',
17
17
  stabilityUnsoaked: 'hosting.stability.unsoaked',
18
+ stabilitySoakFailedAtRate: 'hosting.stability.soak-failed-at-rate',
18
19
  stabilityUnmeasured: 'hosting.stability.unmeasured',
19
20
  stabilityCrashUnattributed: 'hosting.stability.crash-unattributed',
20
21
  stabilitySpawnsThreads: 'hosting.stability.spawns-threads',
@@ -33,6 +34,7 @@ export const HOSTING_CODE = {
33
34
  costAboveCeiling: 'hosting.cost.above-ceiling',
34
35
  costSpiky: 'hosting.cost.spiky-tail',
35
36
  costUnmeasured: 'hosting.cost.unmeasured-at-rate-and-quantum',
37
+ costFieldsMissing: 'hosting.cost.fields-missing',
36
38
  latencyResolved: 'hosting.latency.resolved',
37
39
  latencyUnmeasured: 'hosting.latency.unmeasured',
38
40
  latencyNonconforming: 'hosting.latency.nonconforming',