@modplayjs/fmt-med 0.0.0-stage → 0.2.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"med4.js","sourceRoot":"","sources":["../src/med4.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,sDAAsD;AACtD,iEAAiE;AACjE,mEAAmE;AACnE,iEAAiE;AACjE,8DAA8D;AAY9D,OAAO,EACL,UAAU,EACV,KAAK,EACL,aAAa,EACb,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,8BAA8B;AAC9B,MAAM,UAAU,QAAQ,CAAC,KAAiB;IACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAC1F,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,GAAW;IACvC,OAAO;QACL,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;QACvD,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,IAAI,KAAK,CAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACnC,MAAM,EAAE,IAAI,KAAK,CAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QAC/E,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;QAC/E,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;KAChF,CAAC;AACJ,CAAC;AAED,uCAAuC;AACvC,SAAS,SAAS,CAAC,CAA4C,EAAE,MAAc;IAC7E,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,CAAC,WAAW;QACtB,KAAK,IAAI,CAAC,CAAC,WAAW;QACtB,KAAK,IAAI,CAAC,CAAC,aAAa;QACxB,KAAK,IAAI,CAAC,CAAC,aAAa;QACxB,KAAK,IAAI,EAAE,WAAW;YACpB,MAAM;QACR,KAAK,IAAI,EAAE,oBAAoB;YAC7B,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBACnC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACZ,CAAC;YACD,MAAM;QACR,KAAK,IAAI,EAAE,mBAAmB;YAC5B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;YACjE,CAAC;YACD,MAAM;QACR,KAAK,IAAI,EAAE,gBAAgB;YACzB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC;YACpB,MAAM;QACR,KAAK,IAAI,EAAE,cAAc;YACvB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC;gBAChB,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC;YACnB,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACZ,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,4BAA4B;gBAC5B,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC;gBACpB,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,sBAAsB;gBACtB,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC;gBACpB,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC1B,yCAAyC;gBACzC,CAAC,CAAC,GAAG,GAAG,aAAa,CAAC;gBACtB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBACzB,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC;gBACnB,CAAC,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,CAAC;iBAAM,CAAC;gBACN,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBACV,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACZ,CAAC;YACD,MAAM;QACR;YACE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACV,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACd,CAAC;AACH,CAAC;AAED,2CAA2C;AAC3C,MAAM,MAAM;IAIW,KAAK;IAH1B,SAAS,GAAG,KAAK,CAAC;IAClB,KAAK,GAAG,CAAC,CAAC;IACV,GAAG,CAAS;IACZ,YAAqB,KAAiB,EAAE,GAAW;qBAA9B,KAAK;QAA6B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAAC,CAAC;IACxE,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,KAAK;QACH,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,MAAM;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,MAAM;QACJ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC;IACxD,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACzC,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,IAAI,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF;AAWD,MAAM,UAAU,QAAQ,CAAC,KAAiB,EAAE,GAAY;IACtD,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa;IAC1B,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,sEAAsE;IACtE,8DAA8D;IAC9D,+DAA+D;IAC/D,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3E,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,GAAG,CAAC;IACjB,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,GAAG,EAAE;QACf,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAE,IAAI,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,IAAI,EAAE,CAAC;YACtD,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC;QAClD,GAAG,IAAI,CAAC,CAAC;QACT,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,uDAAuD;IACvD,yBAAyB;IACzB,CAAC;QACC,MAAM,IAAI,GAAG,GAAG,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YACpC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI;oBAC7D,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;oBAC3D,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAE,CAAC;oBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,CAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,GAAG,GAAG,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAE5E,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;IAEhB,yEAAyE;IACzE,sEAAsE;IACtE,4BAA4B;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,CAAC;QACC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YAC3D,IAAI,CAAC,GAAG,IAAI;gBAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,QAAQ;gBAAE,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxD,GAAG,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1C,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;YAC5C,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAE9G,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,CAAC;QACC,wEAAwE;QACxE,wEAAwE;QACxE,oEAAoE;QACpE,+BAA+B;QAC/B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,0DAA0D;YAC1D,8DAA8D;YAC9D,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC;YAC3D,IAAI,GAAG,KAAK,EAAE;gBAAE,MAAM;YACtB,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC3D,IAAI,KAAK,GAAG,EAAE;gBAAE,SAAS;YAEzB,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;YACf,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAEvB,cAAc;YACd,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;YAEf,wBAAwB;YACxB,MAAM,IAAI,GAAG,EAAE,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;YAChD,GAAG,IAAI,IAAI,CAAC;YACZ,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;gBACvB,IAAI,EAAE,KAAK,CAAC;oBAAE,MAAM;gBACpB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;YAEX,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YAEhB,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAAE,CAAC,CAAC,UAAU,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAAE,EAAE,EAAE,CAAC,CAAC,2BAA2B;YACvD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAAE,EAAE,EAAE,CAAC,CAAC,uBAAuB;YACnD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAAE,CAAC,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAAE,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC;YAEzC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC;YAEpC,oEAAoE;YACpE,8DAA8D;YAC9D,mEAAmE;YACnE,kEAAkE;YAClE,+DAA+D;YAC/D,8DAA8D;YAC9D,oEAAoE;YACpE,gEAAgE;YAChE,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;IAClB,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC;IAElB,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM;QAAE,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,CAAC;IACvE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;QAAE,MAAM,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAC;IAE/F,cAAc;IACd,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAE7C,yEAAyE;IACzE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;IACpB,MAAM,MAAM,GAAG,EAAE,EAAE,CAAC;IACpB,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;IACnB,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;IAElB,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,eAAe,CAAC;IAEnC,IAAI,MAAM,GAAW,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,UAAU;IAC1E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAAE,MAAM,GAAG,CAAC,CAAC,CAAC,kBAAkB;IAExD,gDAAgD;IAChD,IAAI,MAAM,KAAK,CAAC;QAAE,KAAK,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,GAAG,IAAI,EAAE,CAAC;IACV,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,EAAE,EAAE,CAAC,CAAC,aAAa;IAEnB,kEAAkE;IAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,SAAS,IAAI,MAAM,CAAC;IAE9D,uEAAuE;IACvE,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,MAAM,OAAO,GAAG,GAAG,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,wBAAwB;QAC3C,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,GAAG;YAAE,GAAG,GAAG,CAAC,CAAC;QACrB,EAAE,EAAE,CAAC,CAAC,sBAAsB;QAC5B,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,gBAAgB;IAChB,IAAI,GAAG,GAAG,EAAE;QAAE,MAAM,IAAI,UAAU,CAAC,6BAA6B,CAAC,CAAC;IAElE,mDAAmD;IACnD,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,GAAG,GAAG,OAAO,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,wBAAwB;QAC3C,wEAAwE;QACxE,gEAAgE;QAChE,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC;QACrB,MAAM,QAAQ,GAAG,EAAE,EAAE,CAAC;QACtB,IAAI,QAAQ,GAAG,GAAG;YAAE,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,EAAE,CAAC,CAAC;QACzF,MAAM,IAAI,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC;QAEnB,2CAA2C;QAC3C,MAAM,GAAG,GAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE;gBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;;gBAC5B,MAAM;QACb,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,IAAI,IAAI,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtB,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;oBAChD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU;oBAC9C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACxC,QAAQ,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAc,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAY,EAAE,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACrG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACxB,IAAI,IAAI,IAAI,IAAI;oBAAE,MAAM;gBAExB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtC,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;wBACjE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BAC1B,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,CAAE,CAAC;4BAC/B,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;4BAChB,IAAI,CAAC,CAAC,IAAI;gCAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;4BACzB,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;wBACnB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,CAAC,CAAE,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC;wBACjE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;4BAC1B,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,CAAE,CAAC;4BAC/B,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;4BACf,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;4BACjB,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAsB,EAAE,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE;YAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,oEAAoE;IACpE,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;QAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAErF,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,MAAM,WAAW,GAAG,GAAS,EAAE;QAC7B,gEAAgE;IAClE,CAAC,CAAC;IAEF,0DAA0D;IAC1D,MAAM,WAAW,GAAG,CAClB,CAAS,EAAE,MAAc,EAAE,EAAO,EAC5B,EAAE;QACR,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;QAC5B,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QACZ,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;QACxB,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;QAC9B,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC;QACjC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC;QAEjB,WAAW,EAAE,CAAC;QAEd,MAAM,CAAC,GAAc;YACnB,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;YACvB,MAAM;YACN,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU;YAClC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,QAAQ;YAC9B,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,CAAC,GAAG;YACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvD,KAAK,EAAE,IAAI;SACZ,CAAC;QACF,MAAM,IAAI,GAAG,KAAK,CAAC;QACnB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QAClD,EAAE,CAAC,GAAG,IAAI,OAAO,CAAC;QAClB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEpB,oEAAoE;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,IAAI,CAAC,GAAG,CAAC;oBAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;qBACzB,IAAI,CAAC,GAAG,CAAC;oBAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;IAEF,wDAAwD;IACxD,MAAM,SAAS,GAAG,CAChB,CAAS,EAAE,IAAY,EAAE,EAAO,EAC1B,EAAE;QACR,MAAM,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC;QAExB,cAAc;QACd,IAAI,QAAQ,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC,CAAC,UAAU;YACpC,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,qCAAqC;QAC3D,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAAC,sBAAsB,KAAK,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,KAAK,IAAI,CAAC;QAEV,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC;QACjB,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAAC,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QAAC,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAAC,CAAC,IAAI,CAAC,CAAC;QAClD,KAAK,QAAQ,CAAC;QAAC,KAAK,WAAW,CAAC;QAEhC,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO;QAE9B,gBAAgB;QAChB,IAAI,SAAS,GAAG,GAAG,IAAI,QAAQ,GAAG,GAAG,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,UAAU,CAAC,4CAA4C,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,CAAC;QACpB,CAAC,IAAI,SAAS,CAAC;QACf,MAAM,QAAQ,GAAG,CAAC,CAAC;QACnB,CAAC,IAAI,QAAQ,CAAC;QAEd,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACpC,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;QAC5B,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC;QACjB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE;YAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7D,GAAG,CAAC,MAAM,GAAG;YACX,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ;YAC9D,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YAChD,iBAAiB,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC;YACpD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;YAC1D,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC;SACxD,CAAC;QACF,wDAAwD;QAExD,WAAW,EAAE,CAAC;QAEd,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,+BAA+B;YAC9D,MAAM,IAAI,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;YAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,UAAU,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC;YACpE,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YACxB,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;YAC9B,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,SAAS,CAAC;YACjC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC;YAEjB,MAAM,CAAC,GAAc;gBACnB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;gBACvB,MAAM;gBACN,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU;gBAClC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,QAAQ;gBAC9B,YAAY,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,GAAG,CAAC,GAAG;gBACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvD,KAAK,EAAE,IAAI;aACZ,CAAC;YACF,MAAM,IAAI,GAAG,KAAK,CAAC;YACnB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,EAAE,CAAC;YACT,CAAC,EAAE,CAAC;QACN,CAAC;QAED,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YAExB,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACd,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC;YAEjB,MAAM,IAAI,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAE/C,MAAM,CAAC,GAAc;gBACnB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC;gBACvB,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,GAAG,CAAC,GAAG;gBACf,KAAK,EAAE,WAAW,CAAC,IAAI;gBACvB,KAAK,EAAE,IAAI;aACZ,CAAC;YACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACpB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,kDAAkD;IAClD,MAAM,cAAc,GAAG,CACrB,CAAS,EAAE,MAAc,EAAE,IAAY,EAAE,EAAO,EAC1C,EAAE;QACR,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU;YAC1B,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB;YACtD,MAAM,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC;YACpB,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACvB,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC;YACvB,OAAO;QACT,CAAC;QAED,gCAAgC;QAChC,EAAE,CAAC,GAAG,IAAI,MAAM,CAAC;IACnB,CAAC,CAAC;IAEF,IAAI,CAAC,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,iEAAiE;QACjE,kEAAkE;QAClE,sEAAsE;QACtE,iEAAiE;QACjE,+CAA+C;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,WAAW,CAAC,CAAC,CAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;YACzC,WAAW,CAAC,CAAC,CAAE,CAAC,GAAG,GAAG,CAAC,CAAC;YACxB,qEAAqE;YACrE,iEAAiE;YACjE,kEAAkE;QACpE,CAAC;QAED,sEAAsE;QACtE,kEAAkE;QAClE,mEAAmE;QACnE,kEAAkE;QAClE,wCAAwC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/E,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAExE,MAAM,UAAU,GAAG,QAAQ,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC;YACxB,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,GAAG,GAAG,CAAC;YACb,IAAI,CAAC;gBACH,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;oBAChB,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACtC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBACpC,IAAI,KAAK,KAAK,UAAU,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU;wBACpE,wDAAwD;wBACxD,MAAM,EAAE,GAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;wBAC3B,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;wBACvB,QAAQ,GAAG,UAAU,CAAC;wBACtB,MAAM,GAAG,QAAQ,CAAC;wBAClB,SAAS;oBACX,CAAC;gBACH,CAAC;gBACD,sDAAsD;gBACtD,yDAAyD;gBACzD,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;oBAAS,CAAC;gBACT,QAAQ,GAAG,UAAU,CAAC;gBACtB,MAAM,GAAG,QAAQ,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,yEAAyE;QACzE,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG;YAAE,MAAM,IAAI,UAAU,CAAC,4CAA4C,CAAC,CAAC;QAE/F,0CAA0C;QAC1C,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC;QACrB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC,CAAC,kCAAkC;YAC7D,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC;QAEvB,qDAAqD;QACrD,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,mBAAmB,CAAC,CAAC;QAE1G,MAAM,OAAO,GAAG,GAAG,CAAC;QACpB,8DAA8D;QAC9D,uEAAuE;QACvE,6DAA6D;QAC7D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,CAAC;YACC,MAAM,GAAG,CAAC,CAAC;YACX,IAAI,CAAC,GAAG,QAAQ,CAAC;YACjB,IAAI,CAAC,GAAG,OAAO,CAAC;YAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC;gBAC7E,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,KAAK,GAAG,EAAE;oBAAE,SAAS;gBACzB,oEAAoE;gBACpE,iEAAiE;gBACjE,kEAAkE;gBAClE,qCAAqC;gBACrC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM;oBAAE,MAAM;gBAEhC,IAAI,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClC,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBACzC,CAAC,IAAI,CAAC,CAAC;gBAEP,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChB,MAAM,EAAE,CAAC;gBACX,CAAC;qBAAM,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxC,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;wBACd,MAAM,IAAI,UAAU,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;oBAC1D,CAAC;oBACD,CAAC,IAAI,EAAE,CAAC;oBACR,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAClC,CAAC,IAAI,CAAC,CAAC;oBACP,IAAI,IAAI,EAAE,CAAC;gBACb,CAAC;gBAED,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBACpC,MAAM,IAAI,UAAU,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBAC3D,CAAC;gBACD,CAAC,IAAI,IAAI,CAAC;YACZ,CAAC;QACH,CAAC;QAED,GAAG,GAAG,OAAO,CAAC;QACd,IAAI,CAAC,GAAG,QAAQ,CAAC;QACjB,MAAM,EAAE,GAAQ,EAAE,GAAG,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC;YACjF,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,KAAK,GAAG,EAAE;gBAAE,SAAS;YAEzB,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7C,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAEZ,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IACf,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG;YAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,0CAA0C;IAC1C,CAAC;QACC,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,SAAS,CAAC;YACR,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM;gBAAE,MAAM;YAChC,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;gBAAE,MAAM;YAChC,CAAC,IAAI,CAAC,CAAC;YAEP,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC,CAAC,SAAS;gBAChC,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACpC,MAAM,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC;YACtB,CAAC;iBAAM,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC,CAAC,SAAS;gBACvC,mEAAmE;gBACnE,oEAAoE;gBACpE,0DAA0D;gBAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;oBACzB,IAAI,EAAE,KAAK,CAAC;wBAAE,MAAM;oBACpB,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B;gBAC/D,CAAC;gBACD,WAAW,GAAG,CAAC,CAAC;YAClB,CAAC;YACD,iCAAiC;YAEjC,CAAC,IAAI,IAAI,CAAC;QACZ,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,kEAAkE;QAClE,uEAAuE;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IAED,MAAM,GAAG,GAAe;QACtB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,WAAW;QACpB,GAAG;QACH,GAAG;QACH,GAAG,EAAE,MAAM;QACX,GAAG;QACH,OAAO,EAAE,CAAC;QACV,GAAG;QACH,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3L,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,EAAE;QACb,KAAK;QACL,GAAG;QACH,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,IAAI;QACV,MAAM;QACN,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,aAAa,CAAC,GAAG;QAChC,UAAU,EAAE,CAAC;QACb,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE,GAAG;QACV,MAAM,EAAE,IAAI;QACZ,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE;KAChE,CAAC;IAEF,KAAK,GAAG,CAAC,UAAU,CAAC;IACpB,KAAK,GAAG,CAAC,UAAU,CAAC;IACpB,KAAK,WAAW,CAAC;IACjB,OAAO,GAAG,CAAC;AACb,CAAC"}
package/dist/mmd1.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ import type { LoadCtx, ModuleData } from '@modplayjs/core';
2
+ /** mmd1_test (mmd1_load.c:40-49) — signature check only; the title probe
3
+ * is folded into the registry test() contract. */
4
+ export declare function mmd1Test(bytes: Uint8Array): boolean;
5
+ /** Title read (mmd1_test :51-62 / mmd3_test :55-68): expdata->songname. */
6
+ export declare function mmdReadTitle(bytes: Uint8Array, start?: number): string;
7
+ /**
8
+ * mmd1_load (mmd1_load.c:68-628). Handles MMD0, MMD1 and MMDC (packed MMD0).
9
+ */
10
+ export declare function mmd1Load(bytes: Uint8Array, ctx: LoadCtx): ModuleData;
11
+ //# sourceMappingURL=mmd1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mmd1.d.ts","sourceRoot":"","sources":["../src/mmd1.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAIV,OAAO,EACP,UAAU,EAGX,MAAM,iBAAiB,CAAC;AAgCzB;mDACmD;AACnD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAInD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,SAAI,GAAG,MAAM,CAoBjE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU,CAscpE"}
package/dist/mmd1.js ADDED
@@ -0,0 +1,496 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ // Copyright (c) 2026 Bitti09 — modplayjs contributors
3
+ // Ported from: libxmp src/loaders/mmd1_load.c (mmd1_test :40-65,
4
+ // mmd1_load :68-628). MMD0/MMD1/MMDC = MED 2.10 / OctaMED. Instrument
5
+ // loading lives in instr.ts (mmd_common.c port).
6
+ import { C4_NTSC_RATE, ParseError, Quirk, ReadEventType, } from '@modplayjs/core';
7
+ import { FLAG2_BMASK, FLAG2_BPM, FLAG_8CHANNEL, FLAG_STSLIDE, FLAG_VOLHEX, MMD_NUM_OCT, mmdSetBpm, mmdTrackerVersion, mmdXlatFx, readInstrExtArray, readInstrInfoArray, zeroExpData, zeroInstrExt, } from './mmdCommon.js';
8
+ import { mmdLoadInstrument, } from './instr.js';
9
+ /** XMP_MAX_KEYS — note clamp. */
10
+ const XMP_MAX_KEYS = 121;
11
+ /** mmd1_test (mmd1_load.c:40-49) — signature check only; the title probe
12
+ * is folded into the registry test() contract. */
13
+ export function mmd1Test(bytes) {
14
+ if (bytes.length < 4)
15
+ return false;
16
+ const id = String.fromCharCode(bytes[0], bytes[1], bytes[2], bytes[3]);
17
+ return id === 'MMD0' || id === 'MMD1' || id === 'MMDC';
18
+ }
19
+ /** Title read (mmd1_test :51-62 / mmd3_test :55-68): expdata->songname. */
20
+ export function mmdReadTitle(bytes, start = 0) {
21
+ if (bytes.length < 36)
22
+ return '';
23
+ const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
24
+ const offset = dv.getUint32(32, false); // expdata_offset
25
+ if (offset) {
26
+ const p = start + offset + 44;
27
+ if (p + 8 > bytes.length)
28
+ return '';
29
+ const off2 = dv.getUint32(p, false);
30
+ const len = dv.getUint32(p + 4, false);
31
+ const q = start + off2;
32
+ if (q >= bytes.length)
33
+ return '';
34
+ let s = '';
35
+ for (let i = 0; i < len && q + i < bytes.length; i++) {
36
+ const c = bytes[q + i];
37
+ if (c === 0)
38
+ break;
39
+ s += String.fromCharCode(c);
40
+ }
41
+ return s;
42
+ }
43
+ return '';
44
+ }
45
+ /**
46
+ * mmd1_load (mmd1_load.c:68-628). Handles MMD0, MMD1 and MMDC (packed MMD0).
47
+ */
48
+ export function mmd1Load(bytes, ctx) {
49
+ const start = 0;
50
+ let pos = start;
51
+ // hio_read8/16b/32b return all-ones on EOF (dataio.c read8/read16b/
52
+ // read32b error returns) — a truncated header must be seen as 0xffff...,
53
+ // not as zeros (load_mmd0_truncated.med).
54
+ const u8 = () => {
55
+ const v = pos < bytes.length ? bytes[pos] : 0xff;
56
+ pos++;
57
+ return v;
58
+ };
59
+ const s8 = () => ((u8() << 24) >> 24);
60
+ const u16 = () => {
61
+ if (pos + 2 > bytes.length) {
62
+ pos += 2;
63
+ return 0xffff;
64
+ }
65
+ const v = (bytes[pos] << 8) | bytes[pos + 1];
66
+ pos += 2;
67
+ return v;
68
+ };
69
+ const s16 = () => (u16() << 16) >> 16;
70
+ const u32 = () => {
71
+ if (pos + 4 > bytes.length) {
72
+ pos += 4;
73
+ return 0xffffffff;
74
+ }
75
+ const v = ((bytes[pos] << 24) | (bytes[pos + 1] << 16) |
76
+ (bytes[pos + 2] << 8) | bytes[pos + 3]) >>> 0;
77
+ pos += 4;
78
+ return v;
79
+ };
80
+ /** C `int` read of a 32-bit field (offset fields are signed ints). */
81
+ const s32 = () => u32() | 0;
82
+ const seek = (p) => {
83
+ // hio_seek fails (C: goto err) for negative targets; offsets are C
84
+ // `int`, so 0xffffffff is -1 (load_mmd0_truncated.med).
85
+ if (p < 0)
86
+ throw new ParseError('MED: seek error');
87
+ pos = p;
88
+ };
89
+ const skip = (n) => { pos += n; };
90
+ const raw = (n) => { const s = bytes.subarray(pos, pos + n); pos += n; return s; };
91
+ // ver = id[3] - '1' + 1; MMDC ("C" > "1") wraps to ver 0 + mmdc flag.
92
+ let ver = bytes[3] - '1'.charCodeAt(0) + 1;
93
+ let mmdc = 0;
94
+ if (ver > 1) {
95
+ ver = 0;
96
+ mmdc = 1;
97
+ }
98
+ // Header (mmd1_load.c:107-128).
99
+ seek(start + 4);
100
+ u32(); // modlen
101
+ const songOffset = s32();
102
+ skip(4); // psecnum + pseq
103
+ const blockarrOffset = s32();
104
+ u32(); // reserved
105
+ const smplarrOffset = s32();
106
+ u32(); // reserved2
107
+ const expdataOffset = s32();
108
+ u32(); // reserved3
109
+ skip(10); // pstate/pblock/pline/pseqnum/actplayline
110
+ u8(); // counter
111
+ u8(); // extra_songs
112
+ // Song structure (mmd1_load.c:133-173).
113
+ seek(start + songOffset);
114
+ const song = [];
115
+ for (let i = 0; i < 63; i++) {
116
+ song.push({
117
+ rep: u16(), replen: u16(), midich: u8(), midipreset: u8(),
118
+ svol: u8(), strans: s8(),
119
+ });
120
+ }
121
+ const numblocks = u16();
122
+ const songlen = u16();
123
+ // Sanity check.
124
+ if (numblocks > 255 || songlen > 256) {
125
+ throw new ParseError(`MED: unsupported block count (${numblocks}) or song length (${songlen})`);
126
+ }
127
+ const playseq = [];
128
+ for (let i = 0; i < 256; i++)
129
+ playseq.push(u8());
130
+ const deftempo = u16();
131
+ const playtransp = s8();
132
+ const flags = u8();
133
+ const flags2 = u8();
134
+ const tempo2 = u8();
135
+ const trkvol = [];
136
+ for (let i = 0; i < 16; i++)
137
+ trkvol.push(u8());
138
+ u8(); // mastervol
139
+ const numsamples = u8();
140
+ if (numsamples > 63) {
141
+ throw new ParseError(`MED: invalid instrument count ${numsamples}`);
142
+ }
143
+ // Convert header (mmd1_load.c:176-196).
144
+ let quirks = Quirk.RTONCE; /* FF1 */
145
+ const stslide = (flags & FLAG_STSLIDE) !== 0;
146
+ if (!stslide)
147
+ quirks |= Quirk.VSALL | Quirk.PBALL;
148
+ const hexvol = (flags & FLAG_VOLHEX) !== 0 ? 1 : 0;
149
+ const med8ch = (flags & FLAG_8CHANNEL) !== 0 ? 1 : 0;
150
+ const bpmOn = (flags2 & FLAG2_BPM) !== 0 ? 1 : 0;
151
+ const bpmlen = 1 + (flags2 & FLAG2_BMASK);
152
+ const { bpm, timeFactor } = mmdSetBpm(med8ch, deftempo, bpmOn, bpmlen);
153
+ const pat = numblocks;
154
+ const ins = numsamples;
155
+ const len = songlen;
156
+ const xxo = playseq.slice(0, len);
157
+ // Read smplarr (mmd1_load.c:201-216).
158
+ const smplarr = [];
159
+ seek(start + smplarrOffset);
160
+ for (let i = 0; i < ins; i++) {
161
+ if (pos >= bytes.length)
162
+ throw new ParseError(`MED: read error at smplarr pos ${i}`);
163
+ smplarr.push(s32());
164
+ }
165
+ // Sample count scan (mmd1_load.c:221-250).
166
+ let smp = 0;
167
+ for (let i = 0; i < ins; i++) {
168
+ if (smplarr[i] === 0)
169
+ continue;
170
+ seek(start + smplarr[i]);
171
+ u32(); // length
172
+ const type = s16();
173
+ if (type === -1 || type === -2) { // synth
174
+ skip(14);
175
+ const wforms = u16();
176
+ if (wforms > 256) {
177
+ throw new ParseError(`MED: invalid wform count at instrument ${i}`);
178
+ }
179
+ smp += wforms;
180
+ }
181
+ else if (type >= 1 && type <= 6) {
182
+ smp += MMD_NUM_OCT[type - 1];
183
+ }
184
+ else {
185
+ smp++;
186
+ }
187
+ }
188
+ // Sample count sanity (libxmp_init_instrument, loaders/common.c:46-52):
189
+ // an initial sample count above MAX_SAMPLES fails the load.
190
+ if (smp > 1024 /* MAX_SAMPLES */) {
191
+ throw new ParseError(`MED: too many samples (${smp})`);
192
+ }
193
+ // Expdata (mmd1_load.c:255-315).
194
+ const expdata = zeroExpData();
195
+ let expsmpOffset = 0;
196
+ let iinfoOffset = 0;
197
+ let annotxtOffset = 0;
198
+ let songnameOffset = 0;
199
+ let title = '';
200
+ let comment = '';
201
+ if (expdataOffset) {
202
+ seek(start + expdataOffset);
203
+ u32(); // nextmod
204
+ expsmpOffset = s32();
205
+ expdata.s_ext_entries = u16();
206
+ expdata.s_ext_entrsz = u16();
207
+ annotxtOffset = s32();
208
+ expdata.annolen = u32();
209
+ iinfoOffset = s32();
210
+ expdata.i_ext_entries = u16();
211
+ expdata.i_ext_entrsz = u16();
212
+ // Sanity check (mmd1_load.c:278-288).
213
+ if (expsmpOffset < 0 || annotxtOffset < 0 || expdata.annolen > 0x10000 || iinfoOffset < 0) {
214
+ throw new ParseError(`MED: invalid expdata (annotxt=0x${(annotxtOffset >>> 0).toString(16)} annolen=0x${expdata.annolen.toString(16)})`);
215
+ }
216
+ u32(); // jumpmask
217
+ u32(); // rgbtable
218
+ skip(4); // channelsplit
219
+ u32(); // n_info
220
+ songnameOffset = s32();
221
+ expdata.songnamelen = u32();
222
+ seek(start + songnameOffset);
223
+ let s = '';
224
+ for (let i = 0; i < expdata.songnamelen; i++) {
225
+ if (i >= 64)
226
+ break; // XMP_NAME_SIZE
227
+ const c = u8();
228
+ if (c === 0)
229
+ break;
230
+ s += String.fromCharCode(c);
231
+ }
232
+ title = s;
233
+ // Read annotation.
234
+ if (annotxtOffset !== 0 && expdata.annolen !== 0) {
235
+ seek(start + annotxtOffset);
236
+ const buf = raw(expdata.annolen);
237
+ let c = '';
238
+ for (let i = 0; i < buf.length; i++) {
239
+ const ch = buf[i];
240
+ if (ch === 0)
241
+ break;
242
+ c += String.fromCharCode(ch);
243
+ }
244
+ comment = c;
245
+ }
246
+ }
247
+ // Read blockarr (mmd1_load.c:319-335).
248
+ const blockarr = [];
249
+ seek(start + blockarrOffset);
250
+ for (let i = 0; i < pat; i++) {
251
+ if (pos > bytes.length)
252
+ throw new ParseError(`MED: read error at blockarr pos ${i}`);
253
+ blockarr.push(u32());
254
+ }
255
+ // Scan patterns for channel count (mmd1_load.c:340-380).
256
+ let chn = 0;
257
+ for (let i = 0; i < pat; i++) {
258
+ if (blockarr[i] === 0)
259
+ continue;
260
+ seek(start + blockarr[i]);
261
+ let numtracks;
262
+ let lines;
263
+ if (ver > 0) {
264
+ numtracks = u16();
265
+ lines = u16();
266
+ }
267
+ else {
268
+ numtracks = u8();
269
+ lines = u8();
270
+ }
271
+ // Amiga OctaMED files have an upper bound of 3200 lines per block.
272
+ if (lines + 1 > 3200) {
273
+ throw new ParseError(`MED: invalid line count ${lines + 1} in block ${i}`);
274
+ }
275
+ if (numtracks > chn)
276
+ chn = numtracks;
277
+ }
278
+ // MMD0/MMD1 can't have more than 16 channels.
279
+ if (chn > Math.min(16, 64)) {
280
+ throw new ParseError(`MED: invalid channel count ${chn}`);
281
+ }
282
+ const { medver, type } = mmdTrackerVersion(ver, mmdc, med8ch, expdataOffset ? expdata : null);
283
+ // Patterns (mmd1_load.c:396-508).
284
+ const patterns = [];
285
+ for (let i = 0; i < pat; i++) {
286
+ if (blockarr[i] === 0) {
287
+ // Empty block pointer: libxmp leaves the pattern zero-filled.
288
+ const tracks = [];
289
+ for (let k = 0; k < chn; k++) {
290
+ const ev = [];
291
+ for (let j = 0; j < 64; j++)
292
+ ev.push({ note: 0, ins: 0, vol: 0, fxt: 0, fxp: 0, f2t: 0, f2p: 0 });
293
+ tracks.push({ rows: 64, event: ev });
294
+ }
295
+ patterns.push({ rows: 64, tracks });
296
+ continue;
297
+ }
298
+ seek(start + blockarr[i]);
299
+ let numtracks;
300
+ let lines;
301
+ if (ver > 0) {
302
+ numtracks = u16();
303
+ lines = u16();
304
+ u32(); // blockinfo pointer
305
+ }
306
+ else {
307
+ numtracks = u8();
308
+ lines = u8();
309
+ }
310
+ const rows = lines + 1;
311
+ const size = numtracks * rows * (ver ? 4 : 3);
312
+ // MMDC is just MMD0 with simple pattern packing (mmd1_load.c:427-452).
313
+ const patbuf = new Uint8Array(size);
314
+ if (mmdc) {
315
+ let j = 0;
316
+ while (j < size) {
317
+ const pack = u8();
318
+ if (pack & 0x80) {
319
+ // Run of 0.
320
+ j += 256 - pack;
321
+ continue;
322
+ }
323
+ // Uncompressed block.
324
+ let n = pack + 1;
325
+ if (n > size - j)
326
+ n = size - j;
327
+ patbuf.set(bytes.subarray(pos, pos + n), j);
328
+ pos += n;
329
+ j += n;
330
+ }
331
+ }
332
+ else {
333
+ if (pos + size > bytes.length) {
334
+ throw new ParseError(`MED: read error in block ${i}`);
335
+ }
336
+ patbuf.set(bytes.subarray(pos, pos + size));
337
+ pos += size;
338
+ }
339
+ const perTrack = [];
340
+ for (let k = 0; k < chn; k++) {
341
+ const evs = [];
342
+ for (let j = 0; j < rows; j++)
343
+ evs.push({ note: 0, ins: 0, vol: 0, fxt: 0, fxp: 0, f2t: 0, f2p: 0 });
344
+ perTrack.push(evs);
345
+ }
346
+ let p = 0;
347
+ if (ver > 0) { // MMD1
348
+ for (let j = 0; j < rows; j++) {
349
+ for (let k = 0; k < numtracks; k++) {
350
+ const e = { note: patbuf[p] & 0x7f, ins: 0, vol: 0, fxt: 0, fxp: 0, f2t: 0, f2p: 0 };
351
+ if (e.note)
352
+ e.note += 12 + playtransp;
353
+ if (e.note >= XMP_MAX_KEYS)
354
+ e.note = 0;
355
+ e.ins = patbuf[p + 1] & 0x3f;
356
+ e.fxt = patbuf[p + 2];
357
+ e.fxp = patbuf[p + 3];
358
+ mmdXlatFx(e, bpmOn, bpmlen, med8ch, hexvol);
359
+ perTrack[k][j] = e;
360
+ p += 4;
361
+ }
362
+ }
363
+ }
364
+ else { // MMD0
365
+ for (let j = 0; j < rows; j++) {
366
+ for (let k = 0; k < numtracks; k++) {
367
+ const e = { note: patbuf[p] & 0x3f, ins: 0, vol: 0, fxt: 0, fxp: 0, f2t: 0, f2p: 0 };
368
+ if (e.note)
369
+ e.note += 12 + playtransp;
370
+ if (e.note >= XMP_MAX_KEYS)
371
+ e.note = 0;
372
+ e.ins =
373
+ (patbuf[p + 1] >> 4) | ((patbuf[p] & 0x80) >> 3) |
374
+ ((patbuf[p] & 0x40) >> 1);
375
+ e.fxt = patbuf[p + 1] & 0x0f;
376
+ e.fxp = patbuf[p + 2];
377
+ mmdXlatFx(e, bpmOn, bpmlen, med8ch, hexvol);
378
+ perTrack[k][j] = e;
379
+ p += 3;
380
+ }
381
+ }
382
+ }
383
+ const tracksArr = [];
384
+ for (let k = 0; k < chn; k++)
385
+ tracksArr.push({ rows, event: perTrack[k] });
386
+ patterns.push({ rows, tracks: tracksArr });
387
+ }
388
+ // Instruments (mmd1_load.c:519-611).
389
+ const instruments = [];
390
+ for (let i = 0; i < ins; i++) {
391
+ instruments.push({
392
+ name: '',
393
+ volume: 0x40,
394
+ nsm: 0,
395
+ rls: 0,
396
+ map: new Array(121).fill(0),
397
+ mapXpo: new Array(121).fill(0),
398
+ sub: [],
399
+ aei: { flags: 0, npt: 0, scl: 0, sus: 0, sue: 0, lps: 0, lpe: 0, x: [], y: [] },
400
+ fei: { flags: 0, npt: 0, scl: 0, sus: 0, sue: 0, lps: 0, lpe: 0, x: [], y: [] },
401
+ pei: { flags: 0, npt: 0, scl: 0, sus: 0, sue: 0, lps: 0, lpe: 0, x: [], y: [] },
402
+ });
403
+ }
404
+ // Instrument extras (InstrExt array).
405
+ const expSmp = new Array(ins);
406
+ for (let i = 0; i < ins; i++)
407
+ expSmp[i] = zeroInstrExt();
408
+ if (expsmpOffset) {
409
+ seek(start + expsmpOffset);
410
+ const list = readInstrExtArray((n) => { if (n)
411
+ skip(n); return u8(); }, () => u16(), () => u32(), (d) => skip(d), ins, expdata, false);
412
+ // hio_error(f) after each entry read (mmd1_load.c:553-556): reading past
413
+ // EOF fails the instrument-extras block.
414
+ if (pos > bytes.length)
415
+ throw new ParseError('MED: read error at expsmp');
416
+ for (let i = 0; i < list.length; i++)
417
+ expSmp[i] = list[i];
418
+ }
419
+ // Instrument names.
420
+ if (iinfoOffset) {
421
+ seek(start + iinfoOffset);
422
+ const names = readInstrInfoArray((n) => raw(n), (d) => skip(d), ins, expdata);
423
+ for (let i = 0; i < names.length && i < ins; i++) {
424
+ // libxmp_instrument_name (common.c:230-234) clamps to 31 chars.
425
+ instruments[i].name = names[i].slice(0, 31);
426
+ }
427
+ }
428
+ // Sample data — register through the load context (the store assigns
429
+ // the sample ids that sub.sid values reference).
430
+ const samples = new Array(smp);
431
+ const st = {
432
+ bytes, start, pos, ver, samples, instruments, expdata, expSmp, song,
433
+ };
434
+ let smpIdx = 0;
435
+ for (let i = 0; i < ins; i++) {
436
+ if (smplarr[i] === 0)
437
+ continue;
438
+ st.pos = start + smplarr[i];
439
+ smpIdx = mmdLoadInstrument(st, i, smpIdx);
440
+ }
441
+ void smpIdx;
442
+ for (const raw of samples) {
443
+ if (raw)
444
+ ctx.addSample(raw);
445
+ }
446
+ // Channel volumes + LRLR pans (mmd1_load.c:613-616). DEFPAN(x) with the
447
+ // context default defpan=100 is identity — but the pan VALUE here is the
448
+ // LRLR pattern through DEFPAN: 0x80 + (pattern - 0x80) with pattern 0/255
449
+ // (clamped by the shared load_helpers epilogue).
450
+ const channels = [];
451
+ for (let i = 0; i < chn; i++) {
452
+ const pattern = Math.floor((i + 1) / 2) % 2 * 0xff;
453
+ channels.push({
454
+ vol: trkvol[i] ?? 0,
455
+ pan: Math.min(255, Math.max(0, 0x80 + (pattern - 0x80))),
456
+ flg: 0,
457
+ });
458
+ }
459
+ const mod = {
460
+ title,
461
+ format: 'med',
462
+ comment,
463
+ chn,
464
+ pat,
465
+ ins,
466
+ len,
467
+ restart: 0,
468
+ xxo,
469
+ channels,
470
+ patterns,
471
+ instruments,
472
+ samples: samples.map((s) => s ?? { name: '', data: new Uint8Array(0), length: 0, loopStart: 0, loopEnd: 0, sustainStart: 0, sustainEnd: 0, finetune: 0, volume: 0, flags: 0, c5spd: 8363 }),
473
+ num_sequences: 0,
474
+ sequences: [],
475
+ speed: tempo2,
476
+ bpm,
477
+ volbase: 0x40,
478
+ gvolbase: 0x40,
479
+ gvol: 0x40,
480
+ quirks,
481
+ flowMode: 0,
482
+ readEventType: ReadEventType.MED,
483
+ periodType: 0,
484
+ defpan: 0x80,
485
+ time_factor: timeFactor,
486
+ rrate: 250,
487
+ c4rate: C4_NTSC_RATE,
488
+ compare_vblank: false,
489
+ tracker: type,
490
+ extras: { kind: 'med', trackerVersion: medver },
491
+ };
492
+ void ctx.sampleRate;
493
+ void ctx.outputRate;
494
+ return mod;
495
+ }
496
+ //# sourceMappingURL=mmd1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mmd1.js","sourceRoot":"","sources":["../src/mmd1.ts"],"names":[],"mappings":"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"}
package/dist/mmd3.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ import type { LoadCtx, ModuleData } from '@modplayjs/core';
2
+ /** mmd3_test (mmd3_load.c:48-72). */
3
+ export declare function mmd3Test(bytes: Uint8Array): boolean;
4
+ /** Title read shared with mmd1 (mmd3_test). */
5
+ export { mmdReadTitle } from './mmd1.js';
6
+ /**
7
+ * mmd3_load (mmd3_load.c:74-597).
8
+ */
9
+ export declare function mmd3Load(bytes: Uint8Array, ctx: LoadCtx): ModuleData;
10
+ //# sourceMappingURL=mmd3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mmd3.d.ts","sourceRoot":"","sources":["../src/mmd3.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAIV,OAAO,EACP,UAAU,EAGX,MAAM,iBAAiB,CAAC;AAgCzB,qCAAqC;AACrC,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAInD;AAED,+CAA+C;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAG,UAAU,CA4apE"}