@reckona/mreact-compat 0.0.87 → 0.0.88
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.
- package/README.md +1 -0
- package/dist/class-component.d.ts +2 -0
- package/dist/class-component.d.ts.map +1 -1
- package/dist/class-component.js +12 -1
- package/dist/class-component.js.map +1 -1
- package/dist/element.d.ts +1 -0
- package/dist/element.d.ts.map +1 -1
- package/dist/element.js +5 -0
- package/dist/element.js.map +1 -1
- package/dist/fiber-reconciler.d.ts.map +1 -1
- package/dist/fiber-reconciler.js +3 -1
- package/dist/fiber-reconciler.js.map +1 -1
- package/dist/hooks.d.ts +3 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +9 -3
- package/dist/hooks.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/react-default.d.ts +74 -0
- package/dist/react-default.d.ts.map +1 -0
- package/dist/react-default.js +68 -0
- package/dist/react-default.js.map +1 -0
- package/package.json +2 -2
- package/src/class-component.ts +24 -1
- package/src/element.ts +8 -0
- package/src/fiber-reconciler.ts +3 -0
- package/src/hooks.ts +13 -5
- package/src/index.ts +1 -0
- package/src/react-default.ts +133 -0
package/dist/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,oBAAoB,GAKrB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,mBAAmB,IAAI,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAiIvF,IAAI,cAAuC,CAAC;AAC5C,IAAI,eAA8C,CAAC;AACnD,IAAI,iBAAyC,CAAC;AAC9C,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AACnE,MAAM,oBAAoB,GAAa,EAAE,CAAC;AAC1C,IAAI,WAAW,GAAG,CAAC,CAAC;AACpB,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,IAAI,wBAAuD,CAAC;AAC5D,IAAI,2BAA2B,GAAG,KAAK,CAAC;AACxC,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,IAAI,oBAAoB,GAAkB,SAAS,CAAC;AACpD,IAAI,sBAAsB,GAAG,KAAK,CAAC;AACnC,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAkC,CAAC;AAC5E,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAe,CAAC;AACpD,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAEhC,MAAM,UAAU,GAAG,CAAI,QAAiB;IACtC,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;IAE1B,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAE9E,CAAC;AACX,CAAC;AA8BD,MAAM,UAAU,iBAAiB,CAC/B,QAA6C,EAC7C,UAA8B,EAAE;IAEhC,OAAO;QACL,SAAS,EAAE,IAAI,GAAG,EAAE;QACpB,kBAAkB,EAAE,SAAS;QAC7B,mBAAmB,EAAE,SAAS;QAC9B,oBAAoB,EAAE,IAAI,GAAG,EAAE;QAC/B,qBAAqB,EAAE,IAAI,GAAG,EAAE;QAChC,sBAAsB,EAAE,EAAE;QAC1B,uBAAuB,EAAE,EAAE;QAC3B,oBAAoB,EAAE,EAAE;QACxB,cAAc,EAAE,EAAE;QAClB,mBAAmB,EAAE,EAAE;QACvB,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,SAAS,EAAE,CAAC;QACZ,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,EAAE;QAChD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,QAAQ;QAClC,eAAe,EAAE,CAAC;QAClB,kBAAkB,EAAE,CAAC;QACrB,QAAQ;QACR,WAAW;YACT,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;YACrC,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAChC,CAAC;QACD,SAAS,CAAC,SAAS,GAAG,IAAI;YACxB,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACrD,IAAI,SAAS,EAAE,CAAC;gBACd,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,oBAAoB;oBACvB,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,cAAc,GAAG,SAAS,CAAC;YAC3B,eAAe,GAAG,SAAS,CAAC;YAC5B,IAAI,SAAS,EAAE,CAAC;gBACd,oBAAoB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,YAAY;YACV,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC;gBACH,mBAAmB,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBAClD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAC3E,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/D,MAAM,mBAAmB,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,aAAa,CAAC,CAAC;gBACvE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;gBAC1C,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YAC3C,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QACD,OAAO;YACL,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/C,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACnC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC9C,SAAS,CAAC,eAAe,EAAE,CAAC;YAC9B,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,cAAc,EAAE,IAAI,OAAO,EAAE;QAC7B,UAAU,EAAE,IAAI,eAAe,EAAE;QACjC,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAiB;IACjD,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,KAAK,CAAC,cAAc,GAAG,IAAI,OAAO,EAAE,CAAC;IACrC,KAAK,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAI,KAAiB,EAAE,QAAiB;IACvE,MAAM,aAAa,GAAG,iBAAiB,CAAC;IACxC,MAAM,mBAAmB,GAAG,mBAAmB,EAAE,CAAC;IAClD,iBAAiB,GAAG,KAAK,CAAC;IAC1B,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAE1B,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1C,iBAAiB,GAAG,aAAa,CAAC;gBAClC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YAC3C,CAAC,CAAM,CAAC;QACV,CAAC;QAED,iBAAiB,GAAG,aAAa,CAAC;QAClC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iBAAiB,GAAG,aAAa,CAAC;QAClC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QACzC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAoB,EACpB,IAAY,EACZ,KAA8B,EAC9B,MAAe;IAEf,MAAM,SAAS,GAAG,cAAc,EAAE,CAAC;IACnC,MAAM,KAAK,GACT,OAAO,CAAC,kBAAkB,GAAG,CAAC;QAC5B,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,OAAO,CAAC;IAEhB,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QAEpB,IAAI,OAAO,QAAQ,KAAK,UAAU,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAC3B,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5C,cAAc,CACf,CAAC;YACF,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACtD,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC;gBAClC,EAAE;gBACF,KAAK;gBACL,QAAQ,EAAE,QAA4B;gBACtC,cAAc;gBACd,YAAY;gBACZ,SAAS;aACV,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAoB,EACpB,IAAY,EACZ,MAAe;IAEf,MAAM,eAAe,GAAG,cAAc,CAAC;IACvC,MAAM,gBAAgB,GAAG,eAAe,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;QAC9C,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,KAAK;QACZ,aAAa,EAAE,EAAE;QACjB,iBAAiB,EAAE,EAAE;QACrB,4BAA4B,EAAE,CAAC;KAChC,CAAC;IACF,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAChC,QAAQ,CAAC,4BAA4B,GAAG,CAAC,CAAC;IAC1C,cAAc,GAAG,OAAO,CAAC;IACzB,eAAe,GAAG,QAAQ,CAAC;IAE3B,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,cAAc,GAAG,eAAe,CAAC;QACjC,eAAe,GAAG,gBAAgB,CAAC;IACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAoB,EACpB,IAAY;IAEZ,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;QAClC,SAAS,EAAE,CAAC,GAAG,QAAQ,CAAC,iBAAiB,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAoB,EACpB,MAAe;IAEf,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;IAE7B,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC;IAClB,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,eAAe,IAAI,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAoB;IACtD,OAAO;QACL,YAAY,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/C,gBAAgB,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC;QACnD,6BAA6B,EAAE,OAAO,CAAC,uBAAuB,CAAC,MAAM;QACrE,0BAA0B,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM;QAC/D,oBAAoB,EAAE,OAAO,CAAC,cAAc,CAAC,MAAM;QACnD,4BAA4B,EAAE,OAAO,CAAC,sBAAsB,CAAC,MAAM;QACnE,qBAAqB,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC7D,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAoB,EACpB,QAAyB;IAEzB,OAAO,CAAC,uBAAuB,CAAC,MAAM,GAAG,QAAQ,CAAC,6BAA6B,CAAC;IAChF,OAAO,CAAC,oBAAoB,CAAC,MAAM,GAAG,QAAQ,CAAC,0BAA0B,CAAC;IAC1E,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,QAAQ,CAAC,oBAAoB,CAAC;IAC9D,OAAO,CAAC,sBAAsB,CAAC,MAAM,GAAG,QAAQ,CAAC,4BAA4B,CAAC;IAC9E,OAAO,CAAC,qBAAqB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IACxE,OAAO,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACvC,OAAO,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;IACrD,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IACjC,OAAO,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;IACnD,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAC;IAEzD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9C,SAAS,CAAC,eAAe,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAClD,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAAsB;IAEtB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAE,OAAmB,EAAE,CAAC,CAAC,CAAC,OAAO;SACxE,CAAC;QACF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,KAA+B,EAAQ,EAAE;QACzD,MAAM,SAAS,GACb,OAAO,KAAK,KAAK,UAAU;YACzB,CAAC,CAAE,KAA4B,CAAC,IAAI,CAAC,KAAU,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC;QAEZ,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC;IAEF,kBAAkB,CAAC,UAAU,EAAE;QAC7B,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,KAAU,EAAE,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,OAAmD,EACnD,UAAoB,EACpB,IAAuC;IAEvC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAC5D,QAAQ,CAAS,GAAG,EAAE,CACpB,IAAI,KAAK,SAAS,CAAC,CAAC,CAAE,UAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAC1E,CACF,CAAC;IACF,MAAM,UAAU,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,8BAA8B,CAAC,GAAG,EAAE,CACtD,MAAM,CACJ,SAAS,CACV,CACF,CAAC;IACF,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAE7B,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACtC,WAAW,CAAC,OAAO,GAAG,CAAC,MAAe,EAAQ,EAAE;YAC9C,QAAQ,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,YAAY,EAAE;QAC/B,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,KAAK;KACb,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,MAAM,CAAI,OAAU;IAClC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,kBAAkB,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,KAAuB,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAChD,MAAM,CAAqB,SAAS,CAAC,CACtC,CAAC;IAEF,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACrD,KAAK,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC;QAC5E,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,kBAAkB,CAAC,OAAO,EAAE;QAC1B,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK,CAAC,OAAO;KACrB,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,GAAY,EACZ,MAAe,EACf,IAAyB;IAEzB,MAAM,MAAM,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3E,8BAA8B,CAAC,GAAG,EAAE,CAClC,kBAAkB,CAAC,GAAG,EAAE;QACtB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAClB,CAAC;IACF,kBAAkB,CAAC,qBAAqB,EAAE,IAAI,KAAK,SAAS;QAC1D,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE;QAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,OAAgB,EAAE,IAAyB;IACpE,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,IACE,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,SAAS;QAClB,IAAI,CAAC,IAAI,KAAK,SAAS;QACvB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EACpC,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC;QACxB,IAAI;YACF,IAAI,KAAK,SAAS;gBAChB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;gBACzB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACnD,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;QACrC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1D,OAAO,IAAI,CAAC,KAAU,CAAC;AACzB,CAAC;AAED,SAAS,SAAS,CAAI,GAAY,EAAE,KAAe;IACjD,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QAC9B,GAAG,CAAC,KAAK,CAAC,CAAC;QACX,OAAO;IACT,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QAC/D,GAA6B,CAAC,OAAO,GAAG,KAAK,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,KAAwB;IAChE,MAAM,QAAQ,GAAG,eAAe,CAAC;IAEjC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,4BAA4B,GAAG,CAAC,EAAE,CAAC;QACxE,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,8BAA8B,CAAI,QAAiB;IAC1D,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,QAAQ,CAAC,4BAA4B,IAAI,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,4BAA4B,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,QAAW,EACX,IAAyB;IAEzB,MAAM,KAAK,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAClF,kBAAkB,CAAC,aAAa,EAAE,IAAI,KAAK,SAAS;QAClD,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;QAC7B,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAe,EAAE,OAAqC;IAClF,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IAExB,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAChC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC7B,kBAAkB,CAAC,eAAe,EAAE;YAClC,IAAI,EAAE,OAAO;YACb,KAAK;SACN,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACnB,kBAAkB,CAAC,eAAe,EAAE;QAClC,IAAI,EAAE,OAAO;QACb,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAqC;IAErC,MAAM,GAAG,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnE,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;IAEvB,MAAM,KAAK,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAChD,WAAW,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAC1D,CAAC;IACF,kBAAkB,CAAC,gBAAgB,EAAE;QACnC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CACvB,QAAwB,EACxB,IAAyB;IAEzB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,kBAAkB,CAAC,WAAW,EAAE,IAAI,KAAK,SAAS;QAChD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAwB,EACxB,IAAyB;IAEzB,aAAa,CAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,oBAAoB,EAAE,IAAI,KAAK,SAAS;QACzD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE;QAC7C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAwB,EACxB,IAAyB;IAEzB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,kBAAkB,CAAC,iBAAiB,EAAE,IAAI,KAAK,SAAS;QACtD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,SAA+C,EAC/C,WAAoB,EACpB,oBAA6B,WAAW;IAExC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IACxB,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC;QACrD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,eAAe,GAAG,WAAW,EAAE,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;IAC/B,CAAC;IAED,wBAAwB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAEvD,8BAA8B,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;QAClD,MAAM,eAAe,GAAG,GAAS,EAAE;YACjC,MAAM,YAAY,GAAG,WAAW,EAAE,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;gBAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC;QAEF,eAAe,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAE9B,kBAAkB,CAAC,sBAAsB,EAAE;QACzC,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC,KAAU,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAA8E,EAC9E,YAAoB;IAEpB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IACxB,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG;YACL,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,YAAY;YACnB,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,MAA+D;SACxE,CAAC;QACF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,MAA+D,CAAC;IAE9E,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAgB,EAAQ,EAAE;YACzC,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,gBAAgB,EAAE;QACnC,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,CAAC,KAAe;QACpB,IAAI,CAAC,QAAuC;QAC5C,IAAI,CAAC,YAAY,GAAG,CAAC;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,MAAqD;IAErD,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IACxB,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,QAAQ,GACZ,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,CAAC,QAAiB,EAAE,OAAgB,EAAE,EAAE,CAAC,OAAO;QAClD,CAAC,CAAC,MAAuD,CAAC;IAE9D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG;YACL,IAAI,EAAE,YAAY;YAClB,SAAS,EAAE,KAAK;YAChB,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,QAAQ;SACjB,CAAC;QACF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IAEvB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,CAAC,OAAgB,EAAQ,EAAE;YACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAClE,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,eAAe,EAAE;QAClC,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,IAAI,CAAC,eAAe;KAC5B,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,eAAyB,EAAE,IAAI,CAAC,QAAuC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,GAAG,CAAI,MAAgC;IACrD,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC,MAAM,CAAM,CAAC;IACjC,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,YAAY,CAAC,MAAwB,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,KAAK,CACnB,QAAqC;IAErC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG,oBAAoB,EAAE,CAAC;QAErC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,KAAgB,CAAC;QAC/B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,oBAAoB,EAAE,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,KAAK,GAAG,oBAAoB,EAAE,EAAE,UAAU,IAAI,oBAAoB,CAAC;IACzE,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,WAAW,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAoB;IAEpB,OAAO,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,SAA6C,EAC7C,KAAc,EACd,UAA8B,EAAE;IAEhC,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE;QACjD,GAAG,OAAO;QACV,MAAM,EAAE,QAAQ;KACjB,CAAC,CAAC;IAEH,OAAO,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE;QAChD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAe,CAAC,CAAC,CAAC;YACvF,OAAO,OAAO,QAAQ,KAAK,QAAQ;gBACjC,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAqB,EACrB,OAAoB,EACpB,IAAY;IAEZ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA2B,EAC3B,OAAoB,EACpB,IAAY;IAEZ,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO;YACzC,CAAC,CAAC,6BAA6B,CAAC,OAAO,CAAC,KAAK,CAAC;YAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;iBAC1B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBACxD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC;iBACvC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,UAAU,IAAI,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,UAAU,IAAI,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC;IACtI,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAK,OAAO,CAAC,KAA4B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,WAAW,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC;IACvG,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,yBAAyB,CAC9B,OAAO,CAAC,IAAI,EACX,OAAO,CAAC,KAA6B,CAAC,KAAK,EAC5C,GAAG,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC,CAC9E,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;QAExC,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO,kBAAkB,CACtB,QAAgD,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EACnF,OAAO,EACP,GAAG,IAAI,WAAW,CACnB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;QACpC,OAAO,kBAAkB,CACvB,qBAAqB,CAAC,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,GAAG,EAAE,CACxD,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAClD,EACD,OAAO,EACP,GAAG,IAAI,aAAa,CACrB,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,kBAAkB,CACvB;YACE,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;SACxB,EACD,OAAO,EACP,GAAG,IAAI,OAAO,CACf,CAAC;IACJ,CAAC;IAED,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,kBAAkB,CACvB,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAC7D,OAAO,EACP,IAAI,CACL,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAwD,CAAC;QACnF,OAAO,kBAAkB,CACvB,qBAAqB,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACpE,OAAO,EACP,IAAI,CACL,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,UAAU;QAC3B,OAAQ,KAA8C,CAAC,SAAS,EAAE,MAAM,KAAK,UAAU,CACxF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAA2B,EAC3B,OAAoB,EACpB,IAAY;IAEZ,MAAM,KAAK,GACR,OAAO,CAAC,KAAqD,CAAC,KAAK;QACnE,OAAO,CAAC,KAAqD,CAAC,YAAY;QAC3E,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,cAAc,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACxD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC;SACvC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,YAAY,UAAU,IAAI,kBAAkB,CAAC,KAAwB,EAAE,OAAO,EAAE,GAAG,IAAI,WAAW,CAAC,aAAa,CAAC;AAC1H,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAA2B,EAC3B,OAAoB,EACpB,IAAY;IAEZ,MAAM,aAAa,GAChB,OAAO,CAAC,KAAqD,CAAC,KAAK;QACnE,OAAO,CAAC,KAAqD,CAAC,YAAY,CAAC;IAC9E,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,cAAc,CAAC;SAC/D,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACxD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC;SACvC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,UAAU,UAAU,IAAI,4BAA4B,CACzD,OAAO,CAAC,KAAK,CAAC,QAAQ,EACtB,aAAa,EACb,OAAO,EACP,GAAG,IAAI,SAAS,CACjB,WAAW,CAAC;AACf,CAAC;AAED,SAAS,4BAA4B,CACnC,QAAyB,EACzB,aAAsB,EACtB,OAAoB,EACpB,IAAY;IAEZ,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEnE,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,WAAW,GACd,KAAK,CAAC,KAA6B,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;QACrE,MAAM,QAAQ,GACZ,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,QAAQ;YACpB,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAEhB,OAAO,qBAAqB,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,6BAA6B,CAAC,KAA8B;IACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC;IAE/C,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CACjB,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,UAAU,CAAC,CAAC,CACtF;SACA,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,CAChC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CACnF;SACA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;SAClF,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC;SACvC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY,EAAE,KAAc;IACvD,IACE,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,KAAK;QACd,IAAI,KAAK,KAAK;QACd,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QACrB,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,SAAS;QACnB,KAAK,KAAK,KAAK;QACf,OAAO,KAAK,KAAK,UAAU,EAC3B,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7D,CAAC;IAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,wBAAwB,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,OAAO,oBAAoB,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG;YACnD,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,aAAa,KAAK,CAAC;IAChC,CAAC;IAED,OAAO,IAAI,aAAa,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,cAAc,CAAC;AACrD,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC9C,CAAC;AAED,MAAM,sBAAsB,GAA2B;IACrD,aAAa,EAAE,gBAAgB;IAC/B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,OAAO;IAClB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,EAAE,CAC5B,aAAa,KAAK,IAAI;QACtB,aAAa,KAAK,SAAS;QAC3B,OAAO,aAAa,KAAK,SAAS;QAClC,aAAa,KAAK,EAAE,CACrB;SACA,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,EAAE,CAC7B,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAC9D;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAAc;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5E,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,GAAG,KAAK,IAAI,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,CACL,IAAI,KAAK,MAAM;QACf,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,MAAM,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,OAAO;IACP,IAAI;IACJ,KAAK;IACL,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAgC,CAAC,QAAQ,KAAK,gBAAgB,CAChE,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAgC,CAAC,QAAQ,KAAK,SAAS,CACzD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAI,QAAwB;IAC/C,MAAM,MAAM,GAAG,QAId,CAAC;IAEF,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,KAAU,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,MAAM,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,QAAQ,CAAC,IAAI,CACX,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC5B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC,EACD,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;gBAC3B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,CAAC;AACjB,CAAC;AAKD,MAAM,UAAU,eAAe,CAAC,KAAsB;IACpD,MAAM,OAAO,GAAG;QACd,WAAW;QACX,iBAAiB,EAAE,EAAE,iBAAiB;KACvC,CAAC;IACF,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE;QAC3B,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAuB,EACvB,QAAiB;IAEjB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;IAC9C,oBAAoB,GAAG,QAAQ,CAAC;IAChC,eAAe,IAAI,CAAC,CAAC;IAErB,IAAI,CAAC;QACH,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,eAAe,IAAI,CAAC,CAAC;QACrB,oBAAoB,GAAG,gBAAgB,CAAC;QAExC,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAI,QAAiB;IACnD,MAAM,uBAAuB,GAAG,eAAe,CAAC;IAChD,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;IACnD,eAAe,GAAG,CAAC,CAAC;IACpB,oBAAoB,GAAG,UAAU,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QACzB,yBAAyB,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;YAAS,CAAC;QACT,eAAe,GAAG,uBAAuB,CAAC;QAC1C,oBAAoB,GAAG,qBAAqB,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACpF,MAAM,0BAA0B,GAAoB,CAAC,KAAK,EAAE,EAAE;QAC5D,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG;YACd,WAAW;YACX,iBAAiB,EAAE,EAAE,iBAAiB;SACvC,CAAC;QACF,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;gBACzC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,kBAAkB,CAAC,GAAG,EAAE;gBACtB,KAAK,EAAE,CAAC;gBACR,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,EAAE,OAAO,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,kBAAkB,CAAC,eAAe,EAAE;QAClC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IAEH,OAAO;QACL,OAAO;QACP,0BAA0B;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAI,KAAQ;IAC1C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,8BAA8B,CAAC,GAAG,EAAE,CAC5E,QAAQ,CAAC,KAAK,CAAC,CAChB,CAAC;IAEF,8BAA8B,CAAC,GAAG,EAAE,CAClC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,eAAe,CAAC,GAAG,EAAE;YACnB,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;IAE7E,kBAAkB,CAAC,kBAAkB,EAAE;QACrC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,YAAY;KACpB,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAsB,EACtB,OAA0B;IAE1B,eAAe,IAAI,CAAC,CAAC;IACrB,MAAM,eAAe,GAAG,wBAAwB,CAAC;IACjD,wBAAwB,GAAG,OAAO,CAAC;IAEnC,IAAI,CAAC;QACH,KAAK,EAAE,CAAC;IACV,CAAC;YAAS,CAAC;QACT,wBAAwB,GAAG,eAAe,CAAC;QAC3C,eAAe,IAAI,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAAoB,EACpB,OAA0B;IAE1B,yBAAyB,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEhD,IAAI,2BAA2B,EAAE,CAAC;QAChC,OAAO;IACT,CAAC;IAED,2BAA2B,GAAG,IAAI,CAAC;IACnC,gBAAgB,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAoB;IAC9C,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,8BAA8B,CAAC,QAAuB;IAC7D,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,yBAAyB,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,IAAI,sBAAsB,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,sBAAsB,GAAG,IAAI,CAAC;IAC9B,gBAAgB,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE;QAClE,sBAAsB,GAAG,KAAK,CAAC;QAC/B,yBAAyB,CACvB,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAClD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,WAA2B,MAAM;IAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAClD,oBAAoB,CAAC,KAAK,EAAE,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B;IACrC,2BAA2B,GAAG,KAAK,CAAC;IACpC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,yBAAyB,CAAC,KAAK,EAAE,CAAC;IAElC,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,OAAO,EAAE,CAAC;QACzC,IAAI,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,OAA0B;IAC5D,OAAO,CACL,OAAO,CAAC,WAAW,KAAK,WAAW;QACnC,OAAO,CAAC,iBAAiB,KAAK,iBAAiB,CAChD,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,UAA6C,EAC7C,QAAwB,EACxB,IAAyB;IAEzB,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IAExB,IAAI,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,SAAS,GACb,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,SAAS;QAClB,IAAI,CAAC,IAAI,KAAK,SAAS;QACvB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI;YACF,IAAI,KAAK,SAAS;gBAChB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;gBAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY;QACf,OAAO,CAAC,eAAe,GAAG,CAAC,IAAI,UAAU,KAAK,WAAW,CAAC;IAE5D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GACT,UAAU,KAAK,WAAW;YACxB,CAAC,CAAC,OAAO,CAAC,uBAAuB;YACjC,CAAC,CAAC,UAAU,KAAK,QAAQ;gBACzB,CAAC,CAAC,OAAO,CAAC,oBAAoB;gBAC9B,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAAoB,EACpB,KAAQ;IAER,cAAc,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAsB;IACjD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,MAAM,YAAY,GAAoB,EAAE,CAAC;IAEzC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACjB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;QAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAwB;IACnD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhC,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,OAAoB,EACpB,OAAgC;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC;IAEhC,IAAI,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,QAAQ,CACb,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,SAAS,EAChB,UAAU,CACX,CAAC;QACJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAiD,EACjD,OAAoB,EACpB,QAA2B,EAC3B,OAAgB;IAEhB,IAAI,MAAe,CAAC;IAEpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;QACpB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;IACvB,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CACT,CAAC,SAAS,EAAE,EAAE;QACZ,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvD,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvD,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAAoB,EACpB,QAA2B;IAE3B,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;QAC1B,WAAW,IAAI,CAAC,CAAC;QACjB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzB,OAAO;IACT,CAAC;IAED,IAAI,wBAAwB,KAAK,SAAS,EAAE,CAAC;QAC3C,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,KAAiB,EACjB,QAAuC,EACvC,IAAwB;IAExB,IAAI,IAAI,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,GAAG,mBAAmB,EAAE,CAAC;QAC7B,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,IAAmB,EAAE,GAAY;IACtD,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;QAC3E,MAAM,SAAS,GAAG,GAAa,CAAC;QAChC,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,GAAG,mBAAmB,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,iBAAiB,EAAE,IAAI,GAAG,EAAE;QAC5B,cAAc,EAAE,IAAI,OAAO,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,iBAAiB,IAAI,mBAAmB,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAQ,UAAoD,CAAC,kBAAkB,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA6B;IACxD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAQ,UAAoD,CAAC,kBAAkB,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAEA,UAAoD,CAAC,kBAAkB,CAAC,GAAG,KAAK,CAAC;AACpF,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAwB;IACpD,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAoB;IACpD,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEtD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,QAA2B;IAClD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,cAAc;IACrB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAS,eAAe;IACtB,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CACzB,QAA4B,EAC5B,YAAgC;IAEhC,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;AAC7E,CAAC","sourcesContent":["import { scheduleCallback } from \"./fiber-scheduler.js\";\nimport {\n Activity,\n Fragment,\n FORWARD_REF_TYPE,\n MEMO_TYPE,\n Profiler,\n isReactCompatElement,\n type ForwardRefType,\n type MemoType,\n type ReactCompatElement,\n type ReactCompatNode,\n} from \"./element.js\";\nimport {\n isReactCompatContext,\n isReactCompatConsumer,\n isReactCompatProvider,\n renderWithContextProvider,\n useContext,\n} from \"./context.js\";\nimport { isThenable } from \"./thenable.js\";\nimport { isDangerousHtmlAttribute, isDangerousHtmlOptIn } from \"./url-safety.js\";\nimport { escapeHtmlAttribute as escapeHtml } from \"@reckona/mreact-shared/html-escape\";\n\nexport interface RootRuntime {\n currentElement?: unknown;\n instances: Map<string, ComponentInstance>;\n activeInstanceKeys: Set<string> | undefined;\n activeProfilerPaths: Set<string> | undefined;\n mountedProfilerPaths: Set<string>;\n profilerBaseDurations: Map<string, number>;\n pendingProfilerCommits: PendingProfilerCommit[];\n pendingInsertionEffects: PendingEffect[];\n pendingLayoutEffects: PendingEffect[];\n pendingEffects: PendingEffect[];\n externalStoreChecks: ExternalStoreCheck[];\n portalContainers: Set<Element>;\n idCounter: number;\n identifierPrefix: string;\n idMode: \"client\" | \"server\";\n strictModeDepth: number;\n profilerFlushDepth: number;\n rerender(priority?: RenderPriority): void;\n beginRender(): void;\n endRender(committed?: boolean): void;\n flushEffects(): void;\n dispose(): void;\n}\n\ninterface ComponentInstance {\n hooks: HookSlot[];\n hookIndex: number;\n dirty: boolean;\n devToolsHooks: DevToolsHookValue[];\n devToolsHookTypes: string[];\n devToolsHookSuppressionDepth: number;\n}\n\ntype EffectCallback = () => void | (() => void);\ntype ProfilerPhase = \"mount\" | \"update\" | \"nested-update\";\ntype ProfilerOnRender = (\n id: string,\n phase: ProfilerPhase,\n actualDuration: number,\n baseDuration: number,\n startTime: number,\n commitTime: number,\n) => void;\n\ninterface PendingEffect {\n slot: Extract<HookSlot, { kind: \"effect\" }>;\n}\n\ninterface PendingProfilerCommit {\n id: string;\n phase: ProfilerPhase;\n onRender: ProfilerOnRender;\n actualDuration: number;\n baseDuration: number;\n startTime: number;\n}\n\ninterface ExternalStoreCheck {\n getSnapshot: () => unknown;\n value: unknown;\n}\n\nexport interface CacheScope {\n functionCaches: WeakMap<(...args: never[]) => unknown, CacheTrieNode>;\n controller: AbortController;\n ownerStack: string[];\n}\n\ninterface CacheTrieNode {\n primitiveChildren: Map<unknown, CacheTrieNode>;\n objectChildren: WeakMap<object, CacheTrieNode>;\n status?: \"fulfilled\" | \"rejected\";\n value?: unknown;\n reason?: unknown;\n}\n\nexport interface DevToolsHookState {\n hooks: DevToolsHookValue[];\n hookTypes: string[];\n}\n\nexport type DevToolsHookValue =\n | { kind: \"state\"; value: unknown }\n | { kind: \"reducer\"; value: unknown }\n | { kind: \"store\"; value: unknown }\n | { kind: \"ref\"; value: unknown }\n | { kind: \"memo\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"callback\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"id\"; value: unknown }\n | { kind: \"imperative-handle\"; deps?: readonly unknown[] }\n | { kind: \"transition\"; value: unknown }\n | { kind: \"deferred\"; value: unknown }\n | { kind: \"debug\"; value: unknown }\n | { kind: \"effect\"; effectKind: \"insertion\" | \"layout\" | \"normal\"; deps?: readonly unknown[] };\n\ntype HookSlot =\n | { kind: \"state\"; value: unknown }\n | {\n kind: \"action-state\";\n state: unknown;\n pendingCount: number;\n action: (previousState: unknown, payload: unknown) => unknown;\n dispatch?: (payload: unknown) => void;\n error?: unknown;\n }\n | {\n kind: \"optimistic\";\n baseState: unknown;\n optimisticState: unknown;\n update: (state: unknown, payload: unknown) => unknown;\n dispatch?: (payload: unknown) => void;\n }\n | { kind: \"store\"; value: unknown }\n | { kind: \"ref\"; value: { current: unknown } }\n | { kind: \"memo\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"debug\"; value: unknown }\n | {\n kind: \"effect\";\n effectKind: \"insertion\" | \"layout\" | \"normal\";\n callback: EffectCallback;\n deps?: readonly unknown[];\n cleanup?: () => void;\n disposed?: boolean;\n strictReplay?: boolean;\n };\n\nlet currentRuntime: RootRuntime | undefined;\nlet currentInstance: ComponentInstance | undefined;\nlet currentCacheScope: CacheScope | undefined;\nconst CACHE_SCOPE_SYMBOL = Symbol.for(\"modular.react.cache_scope\");\nconst emptyCacheOwnerStack: string[] = [];\nlet syncVersion = 0;\nlet transitionVersion = 0;\nlet transitionDepth = 0;\nlet currentTransitionContext: TransitionContext | undefined;\nlet transitionRerenderScheduled = false;\nlet eventBatchDepth = 0;\nlet currentEventPriority: EventPriority = \"default\";\nlet eventRerenderScheduled = false;\nconst queuedTransitionRerenders = new Map<RootRuntime, TransitionContext>();\nconst queuedEventRerenders = new Set<RootRuntime>();\nexport const version = \"19.2.6\";\n\nexport function act<T>(callback: () => T): T extends PromiseLike<unknown> ? Promise<void> : void {\n const result = callback();\n\n return (isThenable(result) ? Promise.resolve(result).then(() => undefined) : undefined) as T extends PromiseLike<unknown>\n ? Promise<void>\n : void;\n}\n\nexport type EventPriority = \"discrete\" | \"continuous\" | \"default\";\nexport type RenderPriority = \"sync\" | \"transition\" | \"continuous\";\n\ninterface TransitionContext {\n syncVersion: number;\n transitionVersion: number;\n}\n\nexport interface RootRuntimeOptions {\n identifierPrefix?: string;\n idMode?: \"client\" | \"server\";\n}\n\nexport interface RuntimeSnapshot {\n instanceKeys: Set<string>;\n portalContainers: Set<Element>;\n pendingInsertionEffectsLength: number;\n pendingLayoutEffectsLength: number;\n pendingEffectsLength: number;\n pendingProfilerCommitsLength: number;\n profilerBaseDurations: Map<string, number>;\n idCounter: number;\n identifierPrefix: string;\n idMode: \"client\" | \"server\";\n strictModeDepth: number;\n profilerFlushDepth: number;\n}\n\nexport function createRootRuntime(\n rerender: (priority?: RenderPriority) => void,\n options: RootRuntimeOptions = {},\n): RootRuntime {\n return {\n instances: new Map(),\n activeInstanceKeys: undefined,\n activeProfilerPaths: undefined,\n mountedProfilerPaths: new Set(),\n profilerBaseDurations: new Map(),\n pendingProfilerCommits: [],\n pendingInsertionEffects: [],\n pendingLayoutEffects: [],\n pendingEffects: [],\n externalStoreChecks: [],\n portalContainers: new Set(),\n idCounter: 0,\n identifierPrefix: options.identifierPrefix ?? \"\",\n idMode: options.idMode ?? \"client\",\n strictModeDepth: 0,\n profilerFlushDepth: 0,\n rerender,\n beginRender() {\n this.activeInstanceKeys = new Set();\n this.activeProfilerPaths = new Set();\n this.pendingProfilerCommits = [];\n this.pendingInsertionEffects = [];\n this.pendingLayoutEffects = [];\n this.pendingEffects = [];\n this.externalStoreChecks = [];\n },\n endRender(committed = true) {\n const profilerCommits = committed ? this.pendingProfilerCommits.splice(0) : [];\n const activeProfilerPaths = this.activeProfilerPaths;\n if (committed) {\n cleanupInactiveInstances(this);\n this.mountedProfilerPaths =\n activeProfilerPaths === undefined ? new Set() : new Set(activeProfilerPaths);\n } else {\n this.pendingProfilerCommits = [];\n }\n this.activeInstanceKeys = undefined;\n this.activeProfilerPaths = undefined;\n currentRuntime = undefined;\n currentInstance = undefined;\n if (committed) {\n flushProfilerCommits(this, profilerCommits);\n }\n },\n flushEffects() {\n this.profilerFlushDepth += 1;\n try {\n flushPendingEffects(this.pendingInsertionEffects);\n const strictLayoutEffects = flushPendingEffects(this.pendingLayoutEffects);\n const strictEffects = flushPendingEffects(this.pendingEffects);\n const strictReplayEffects = [...strictLayoutEffects, ...strictEffects];\n cleanupStrictEffects(strictReplayEffects);\n replayStrictEffects(strictReplayEffects);\n } finally {\n this.profilerFlushDepth -= 1;\n }\n },\n dispose() {\n for (const instance of this.instances.values()) {\n cleanupInstance(instance);\n }\n\n this.pendingLayoutEffects = [];\n this.pendingInsertionEffects = [];\n this.pendingEffects = [];\n this.pendingProfilerCommits = [];\n this.activeProfilerPaths = undefined;\n this.mountedProfilerPaths.clear();\n this.profilerBaseDurations.clear();\n for (const container of this.portalContainers) {\n container.replaceChildren();\n }\n this.portalContainers.clear();\n },\n };\n}\n\nexport function createCacheScope(): CacheScope {\n return {\n functionCaches: new WeakMap(),\n controller: new AbortController(),\n ownerStack: [],\n };\n}\n\nexport function refreshCacheScope(scope: CacheScope): void {\n scope.controller.abort();\n scope.functionCaches = new WeakMap();\n scope.controller = new AbortController();\n}\n\nexport function runWithCacheScope<T>(scope: CacheScope, callback: () => T): T {\n const previousScope = currentCacheScope;\n const previousGlobalScope = getGlobalCacheScope();\n currentCacheScope = scope;\n setGlobalCacheScope(scope);\n\n try {\n const result = callback();\n\n if (isThenable(result)) {\n return Promise.resolve(result).finally(() => {\n currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n }) as T;\n }\n\n currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n return result;\n } catch (error) {\n currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n throw error;\n }\n}\n\nexport function renderWithProfiler<T>(\n runtime: RootRuntime,\n path: string,\n props: Record<string, unknown>,\n render: () => T,\n): T {\n const startTime = getCurrentTime();\n const phase: ProfilerPhase =\n runtime.profilerFlushDepth > 0\n ? \"nested-update\"\n : runtime.mountedProfilerPaths.has(path)\n ? \"update\"\n : \"mount\";\n\n try {\n return render();\n } finally {\n runtime.activeProfilerPaths?.add(path);\n const onRender = props.onRender;\n const id = props.id;\n\n if (typeof onRender === \"function\" && typeof id === \"string\") {\n const actualDuration = Math.max(0, getCurrentTime() - startTime);\n const baseDuration = Math.max(\n runtime.profilerBaseDurations.get(path) ?? 0,\n actualDuration,\n );\n runtime.profilerBaseDurations.set(path, baseDuration);\n runtime.pendingProfilerCommits.push({\n id,\n phase,\n onRender: onRender as ProfilerOnRender,\n actualDuration,\n baseDuration,\n startTime,\n });\n }\n }\n}\n\nexport function renderWithRootRuntime<T>(\n runtime: RootRuntime,\n path: string,\n render: () => T,\n): T {\n const previousRuntime = currentRuntime;\n const previousInstance = currentInstance;\n const instance = runtime.instances.get(path) ?? {\n hooks: [],\n hookIndex: 0,\n dirty: false,\n devToolsHooks: [],\n devToolsHookTypes: [],\n devToolsHookSuppressionDepth: 0,\n };\n runtime.instances.set(path, instance);\n runtime.activeInstanceKeys?.add(path);\n instance.hookIndex = 0;\n instance.dirty = false;\n instance.devToolsHooks = [];\n instance.devToolsHookTypes = [];\n instance.devToolsHookSuppressionDepth = 0;\n currentRuntime = runtime;\n currentInstance = instance;\n\n try {\n return render();\n } finally {\n currentRuntime = previousRuntime;\n currentInstance = previousInstance;\n }\n}\n\nexport function getDevToolsHookState(\n runtime: RootRuntime,\n path: string,\n): DevToolsHookState | undefined {\n const instance = runtime.instances.get(path);\n\n if (instance === undefined) {\n return undefined;\n }\n\n return {\n hooks: [...instance.devToolsHooks],\n hookTypes: [...instance.devToolsHookTypes],\n };\n}\n\nexport function renderWithStrictMode<T>(\n runtime: RootRuntime,\n render: () => T,\n): T {\n runtime.strictModeDepth += 1;\n\n try {\n return render();\n } finally {\n runtime.strictModeDepth -= 1;\n }\n}\n\nexport function takeRuntimeSnapshot(runtime: RootRuntime): RuntimeSnapshot {\n return {\n instanceKeys: new Set(runtime.instances.keys()),\n portalContainers: new Set(runtime.portalContainers),\n pendingInsertionEffectsLength: runtime.pendingInsertionEffects.length,\n pendingLayoutEffectsLength: runtime.pendingLayoutEffects.length,\n pendingEffectsLength: runtime.pendingEffects.length,\n pendingProfilerCommitsLength: runtime.pendingProfilerCommits.length,\n profilerBaseDurations: new Map(runtime.profilerBaseDurations),\n idCounter: runtime.idCounter,\n identifierPrefix: runtime.identifierPrefix,\n idMode: runtime.idMode,\n strictModeDepth: runtime.strictModeDepth,\n profilerFlushDepth: runtime.profilerFlushDepth,\n };\n}\n\nexport function restoreRuntimeSnapshot(\n runtime: RootRuntime,\n snapshot: RuntimeSnapshot,\n): void {\n runtime.pendingInsertionEffects.length = snapshot.pendingInsertionEffectsLength;\n runtime.pendingLayoutEffects.length = snapshot.pendingLayoutEffectsLength;\n runtime.pendingEffects.length = snapshot.pendingEffectsLength;\n runtime.pendingProfilerCommits.length = snapshot.pendingProfilerCommitsLength;\n runtime.profilerBaseDurations = new Map(snapshot.profilerBaseDurations);\n runtime.idCounter = snapshot.idCounter;\n runtime.identifierPrefix = snapshot.identifierPrefix;\n runtime.idMode = snapshot.idMode;\n runtime.strictModeDepth = snapshot.strictModeDepth;\n runtime.profilerFlushDepth = snapshot.profilerFlushDepth;\n\n for (const key of runtime.instances.keys()) {\n if (!snapshot.instanceKeys.has(key)) {\n runtime.instances.delete(key);\n }\n }\n\n for (const container of runtime.portalContainers) {\n if (!snapshot.portalContainers.has(container)) {\n container.replaceChildren();\n }\n }\n\n runtime.portalContainers.clear();\n for (const container of snapshot.portalContainers) {\n runtime.portalContainers.add(container);\n }\n}\n\nexport function useState<T>(\n initial: T | (() => T),\n): [T, (value: T | ((previous: T) => T)) => void] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = {\n kind: \"state\",\n value: typeof initial === \"function\" ? (initial as () => T)() : initial,\n };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"state\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const setState = (value: T | ((previous: T) => T)): void => {\n const nextValue =\n typeof value === \"function\"\n ? (value as (previous: T) => T)(slot.value as T)\n : value;\n\n if (Object.is(slot.value, nextValue)) {\n return;\n }\n\n slot.value = nextValue;\n scheduleInstanceUpdate(runtime, instance);\n };\n\n recordDevToolsHook(\"useState\", {\n kind: \"state\",\n value: slot.value,\n });\n\n return [slot.value as T, setState];\n}\n\nexport function useReducer<TState, TAction, TInitial = TState>(\n reducer: (state: TState, action: TAction) => TState,\n initialArg: TInitial,\n init?: (initialArg: TInitial) => TState,\n): [TState, (action: TAction) => void] {\n const [state, setState] = runWithoutDevToolsHookTracking(() =>\n useState<TState>(() =>\n init === undefined ? (initialArg as unknown as TState) : init(initialArg),\n ),\n );\n const reducerRef = runWithoutDevToolsHookTracking(() => useRef(reducer));\n const dispatchRef = runWithoutDevToolsHookTracking(() =>\n useRef<((action: TAction) => void) | undefined>(\n undefined,\n )\n );\n reducerRef.current = reducer;\n\n if (dispatchRef.current === undefined) {\n dispatchRef.current = (action: TAction): void => {\n setState((previousState) => reducerRef.current(previousState, action));\n };\n }\n\n recordDevToolsHook(\"useReducer\", {\n kind: \"reducer\",\n value: state,\n });\n\n return [state, dispatchRef.current];\n}\n\nexport function useRef<T>(initial: T): { current: T } {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = { kind: \"ref\", value: { current: initial } };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"ref\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n recordDevToolsHook(\"useRef\", {\n kind: \"ref\",\n value: slot.value,\n });\n\n return slot.value as { current: T };\n}\n\nexport function useId(): string {\n const runtime = requireRuntime();\n const idRef = runWithoutDevToolsHookTracking(() =>\n useRef<string | undefined>(undefined)\n );\n\n if (idRef.current === undefined) {\n const mode = runtime.idMode === \"server\" ? \"R\" : \"r\";\n idRef.current = `_${runtime.identifierPrefix}${mode}_${runtime.idCounter}_`;\n runtime.idCounter += 1;\n }\n\n recordDevToolsHook(\"useId\", {\n kind: \"id\",\n value: idRef.current,\n });\n\n return idRef.current;\n}\n\nexport function useImperativeHandle<T>(\n ref: unknown,\n create: () => T,\n deps?: readonly unknown[],\n): void {\n const handle = runWithoutDevToolsHookTracking(() => useMemo(create, deps));\n\n runWithoutDevToolsHookTracking(() =>\n useInsertionEffect(() => {\n assignRef(ref, handle);\n return () => {\n assignRef(ref, null);\n };\n }, [ref, handle])\n );\n recordDevToolsHook(\"useImperativeHandle\", deps === undefined\n ? { kind: \"imperative-handle\" }\n : { kind: \"imperative-handle\", deps });\n}\n\nexport function useMemo<T>(factory: () => T, deps?: readonly unknown[]): T {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"memo\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (\n slot === undefined ||\n deps === undefined ||\n slot.deps === undefined ||\n !areHookInputsEqual(deps, slot.deps)\n ) {\n const value = factory();\n slot =\n deps === undefined\n ? { kind: \"memo\", value }\n : { kind: \"memo\", value, deps };\n instance.hooks[index] = slot;\n }\n\n recordDevToolsHook(\"useMemo\", slot.deps === undefined\n ? { kind: \"memo\", value: slot.value }\n : { kind: \"memo\", value: slot.value, deps: slot.deps });\n\n return slot.value as T;\n}\n\nfunction assignRef<T>(ref: unknown, value: T | null): void {\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n\n if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n (ref as { current: T | null }).current = value;\n }\n}\n\nfunction recordDevToolsHook(type: string, value: DevToolsHookValue): void {\n const instance = currentInstance;\n\n if (instance === undefined || instance.devToolsHookSuppressionDepth > 0) {\n return;\n }\n\n instance.devToolsHookTypes.push(type);\n instance.devToolsHooks.push(value);\n}\n\nfunction runWithoutDevToolsHookTracking<T>(callback: () => T): T {\n const instance = requireInstance();\n instance.devToolsHookSuppressionDepth += 1;\n\n try {\n return callback();\n } finally {\n instance.devToolsHookSuppressionDepth -= 1;\n }\n}\n\nexport function useCallback<T extends (...args: never[]) => unknown>(\n callback: T,\n deps?: readonly unknown[],\n): T {\n const value = runWithoutDevToolsHookTracking(() => useMemo(() => callback, deps));\n recordDevToolsHook(\"useCallback\", deps === undefined\n ? { kind: \"callback\", value }\n : { kind: \"callback\", value, deps });\n return value;\n}\n\nexport function useDebugValue(_value: unknown, _format?: (value: unknown) => unknown): void {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n const value = _format === undefined ? _value : _format(_value);\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"debug\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = { kind: \"debug\", value };\n instance.hooks[index] = slot;\n recordDevToolsHook(\"useDebugValue\", {\n kind: \"debug\",\n value,\n });\n return;\n }\n\n slot.value = value;\n recordDevToolsHook(\"useDebugValue\", {\n kind: \"debug\",\n value,\n });\n}\n\nexport function useEffectEvent<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n const ref = runWithoutDevToolsHookTracking(() => useRef(callback));\n ref.current = callback;\n\n const event = runWithoutDevToolsHookTracking(() =>\n useCallback((...args: TArgs) => ref.current(...args), [])\n );\n recordDevToolsHook(\"useEffectEvent\", {\n kind: \"callback\",\n value: event,\n deps: [],\n });\n return event;\n}\n\nexport function useEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"normal\", callback, deps);\n recordDevToolsHook(\"useEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"normal\" }\n : { kind: \"effect\", effectKind: \"normal\", deps });\n}\n\nexport function useInsertionEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"insertion\", callback, deps);\n recordDevToolsHook(\"useInsertionEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"insertion\" }\n : { kind: \"effect\", effectKind: \"insertion\", deps });\n}\n\nexport function useLayoutEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"layout\", callback, deps);\n recordDevToolsHook(\"useLayoutEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"layout\" }\n : { kind: \"effect\", effectKind: \"layout\", deps });\n}\n\nexport function useSyncExternalStore<T>(\n subscribe: (listener: () => void) => () => void,\n getSnapshot: () => T,\n getServerSnapshot: () => T = getSnapshot,\n): T {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = { kind: \"store\", value: getServerSnapshot() };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"store\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const currentSnapshot = getSnapshot();\n\n if (!Object.is(slot.value, currentSnapshot)) {\n slot.value = currentSnapshot;\n }\n\n recordExternalStoreCheck(getSnapshot, currentSnapshot);\n\n runWithoutDevToolsHookTracking(() => useEffect(() => {\n const checkForUpdates = (): void => {\n const nextSnapshot = getSnapshot();\n\n if (!Object.is(slot.value, nextSnapshot)) {\n slot.value = nextSnapshot;\n runtime.rerender(\"sync\");\n }\n };\n\n checkForUpdates();\n return subscribe(checkForUpdates);\n }, [subscribe, getSnapshot]));\n\n recordDevToolsHook(\"useSyncExternalStore\", {\n kind: \"store\",\n value: slot.value,\n });\n\n return slot.value as T;\n}\n\nexport function useActionState<TState, TPayload>(\n action: (previousState: TState, payload: TPayload) => TState | Promise<TState>,\n initialState: TState,\n): [TState, (payload: TPayload) => void, boolean] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"action-state\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = {\n kind: \"action-state\",\n state: initialState,\n pendingCount: 0,\n action: action as (previousState: unknown, payload: unknown) => unknown,\n };\n instance.hooks[index] = slot;\n }\n\n if (\"error\" in slot) {\n throw slot.error;\n }\n\n slot.action = action as (previousState: unknown, payload: unknown) => unknown;\n\n if (slot.dispatch === undefined) {\n slot.dispatch = (payload: unknown): void => {\n runActionStateDispatch(slot, runtime, instance, payload);\n };\n }\n\n recordDevToolsHook(\"useActionState\", {\n kind: \"state\",\n value: slot.state,\n });\n\n return [\n slot.state as TState,\n slot.dispatch as (payload: TPayload) => void,\n slot.pendingCount > 0,\n ];\n}\n\nexport function useOptimistic<TState, TPayload>(\n state: TState,\n update?: (state: TState, payload: TPayload) => TState,\n): [TState, (payload: TPayload) => void] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n const updateFn =\n update === undefined\n ? (_current: unknown, payload: unknown) => payload\n : update as (state: unknown, payload: unknown) => unknown;\n\n if (slot !== undefined && slot.kind !== \"optimistic\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = {\n kind: \"optimistic\",\n baseState: state,\n optimisticState: state,\n update: updateFn,\n };\n instance.hooks[index] = slot;\n }\n\n slot.update = updateFn;\n\n if (!Object.is(slot.baseState, state)) {\n slot.baseState = state;\n slot.optimisticState = state;\n }\n\n if (slot.dispatch === undefined) {\n slot.dispatch = (payload: unknown): void => {\n slot.optimisticState = slot.update(slot.optimisticState, payload);\n scheduleInstanceUpdate(runtime, instance);\n };\n }\n\n recordDevToolsHook(\"useOptimistic\", {\n kind: \"state\",\n value: slot.optimisticState,\n });\n\n return [slot.optimisticState as TState, slot.dispatch as (payload: TPayload) => void];\n}\n\nexport function use<T>(usable: PromiseLike<T> | unknown): T {\n if (isReactCompatContext(usable)) {\n return useContext(usable) as T;\n }\n\n if (isThenable(usable)) {\n return readThenable(usable as PromiseLike<T>);\n }\n\n return usable as T;\n}\n\nexport function cache<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n return (...args) => {\n const scope = getCurrentCacheScope();\n\n if (scope === undefined) {\n return callback(...args);\n }\n\n const leaf = getCacheLeaf(scope, callback, args);\n\n if (leaf.status === \"fulfilled\") {\n return leaf.value as TResult;\n }\n\n if (leaf.status === \"rejected\") {\n throw leaf.reason;\n }\n\n try {\n const value = callback(...args);\n leaf.status = \"fulfilled\";\n leaf.value = value;\n return value;\n } catch (error) {\n leaf.status = \"rejected\";\n leaf.reason = error;\n throw error;\n }\n };\n}\n\nexport function cacheSignal(): AbortSignal | null {\n return getCurrentCacheScope()?.controller.signal ?? null;\n}\n\nexport function captureOwnerStack(): string | null {\n const stack = getCurrentCacheScope()?.ownerStack ?? emptyCacheOwnerStack;\n return stack.length === 0 ? null : stack.join(\"\\n\");\n}\n\nexport function unstable_useCacheRefresh(): () => void {\n return useCallback(() => undefined, []);\n}\n\nexport function hasStableExternalStores(\n runtime: RootRuntime,\n): boolean {\n return runtime.externalStoreChecks.every((check) =>\n Object.is(check.getSnapshot(), check.value),\n );\n}\n\nexport function renderToString<TProps>(\n component: (props: TProps) => ReactCompatNode,\n props?: TProps,\n options: RootRuntimeOptions = {},\n): string {\n const runtime = createRootRuntime(() => undefined, {\n ...options,\n idMode: \"server\",\n });\n\n return runWithCacheScope(createCacheScope(), () => {\n try {\n const rendered = renderWithRootRuntime(runtime, \"0\", () => component(props as TProps));\n return typeof rendered === \"string\"\n ? rendered\n : renderNodeToString(rendered, runtime, \"0\");\n } finally {\n runtime.dispose();\n }\n });\n}\n\nfunction renderNodeToString(\n node: ReactCompatNode,\n runtime: RootRuntime,\n path: string,\n): string {\n if (node === null || node === undefined || typeof node === \"boolean\") {\n return \"\";\n }\n\n if (typeof node === \"string\" || typeof node === \"number\") {\n return escapeHtml(node);\n }\n\n if (Array.isArray(node)) {\n return node.map((child, index) => renderNodeToString(child, runtime, `${path}.${index}`)).join(\"\");\n }\n\n if (!isReactCompatElement(node)) {\n return \"\";\n }\n\n return renderElementToString(node, runtime, path);\n}\n\nfunction renderElementToString(\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n): string {\n if (typeof element.type === \"string\") {\n if (element.type === \"textarea\") {\n return renderTextareaToString(element, runtime, path);\n }\n\n if (element.type === \"select\") {\n return renderSelectToString(element, runtime, path);\n }\n\n const attributes = element.type === \"input\"\n ? renderInputAttributesToString(element.props)\n : Object.entries(element.props)\n .map(([name, value]) => renderHtmlAttribute(name, value))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n if (voidHtmlElements.has(element.type)) {\n return `<${element.type}${attributes}/>`;\n }\n\n return `<${element.type}${attributes}>${renderNodeToString(element.props.children, runtime, `${path}.children`)}</${element.type}>`;\n }\n\n if (element.type === Fragment) {\n return renderNodeToString(element.props.children, runtime, `${path}.fragment`);\n }\n\n if (element.type === Activity) {\n if ((element.props as { mode?: unknown }).mode === \"hidden\") {\n return \"\";\n }\n\n return `<!--&-->${renderNodeToString(element.props.children, runtime, `${path}.activity`)}<!--/&-->`;\n }\n\n if (element.type === Profiler) {\n return renderNodeToString(element.props.children, runtime, `${path}.profiler`);\n }\n\n if (isReactCompatProvider(element.type)) {\n return renderWithContextProvider(\n element.type,\n (element.props as { value?: unknown }).value,\n () => renderNodeToString(element.props.children, runtime, `${path}.provider`),\n );\n }\n\n if (isReactCompatConsumer(element.type)) {\n const children = element.props.children;\n\n if (typeof children === \"function\") {\n return renderNodeToString(\n (children as (value: unknown) => ReactCompatNode)(useContext(element.type.context)),\n runtime,\n `${path}.consumer`,\n );\n }\n\n return \"\";\n }\n\n if (isForwardRefType(element.type)) {\n const forwardRefType = element.type;\n return renderNodeToString(\n renderWithRootRuntime(runtime, `${path}.forwardRef`, () =>\n forwardRefType.render(element.props, element.ref),\n ),\n runtime,\n `${path}.forwardRef`,\n );\n }\n\n if (isMemoType(element.type)) {\n return renderNodeToString(\n {\n ...element,\n type: element.type.type,\n },\n runtime,\n `${path}.memo`,\n );\n }\n\n if (isClassComponentType(element.type)) {\n const instance = new element.type(element.props);\n return renderNodeToString(\n renderWithRootRuntime(runtime, path, () => instance.render()),\n runtime,\n path,\n );\n }\n\n if (typeof element.type === \"function\") {\n const component = element.type as (props: typeof element.props) => ReactCompatNode;\n return renderNodeToString(\n renderWithRootRuntime(runtime, path, () => component(element.props)),\n runtime,\n path,\n );\n }\n\n return \"\";\n}\n\nfunction isClassComponentType(\n value: unknown,\n): value is new (props: Record<string, unknown>) => { render(): ReactCompatNode } {\n return (\n typeof value === \"function\" &&\n typeof (value as { prototype?: { render?: unknown } }).prototype?.render === \"function\"\n );\n}\n\nfunction renderTextareaToString(\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n): string {\n const value =\n (element.props as { value?: unknown; defaultValue?: unknown }).value ??\n (element.props as { value?: unknown; defaultValue?: unknown }).defaultValue ??\n element.props.children;\n const attributes = Object.entries(element.props)\n .filter(([name]) => name !== \"value\" && name !== \"defaultValue\")\n .map(([name, child]) => renderHtmlAttribute(name, child))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n\n return `<textarea${attributes}>${renderNodeToString(value as ReactCompatNode, runtime, `${path}.textarea`)}</textarea>`;\n}\n\nfunction renderSelectToString(\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n): string {\n const selectedValue =\n (element.props as { value?: unknown; defaultValue?: unknown }).value ??\n (element.props as { value?: unknown; defaultValue?: unknown }).defaultValue;\n const attributes = Object.entries(element.props)\n .filter(([name]) => name !== \"value\" && name !== \"defaultValue\")\n .map(([name, child]) => renderHtmlAttribute(name, child))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n\n return `<select${attributes}>${renderSelectChildrenToString(\n element.props.children,\n selectedValue,\n runtime,\n `${path}.select`,\n )}</select>`;\n}\n\nfunction renderSelectChildrenToString(\n children: ReactCompatNode,\n selectedValue: unknown,\n runtime: RootRuntime,\n path: string,\n): string {\n const childArray = Array.isArray(children) ? children : [children];\n\n return childArray.map((child, index) => {\n if (!isReactCompatElement(child) || child.type !== \"option\") {\n return renderNodeToString(child, runtime, `${path}.${index}`);\n }\n\n const optionValue =\n (child.props as { value?: unknown }).value ?? child.props.children;\n const selected =\n selectedValue !== undefined && String(optionValue) === String(selectedValue);\n const props = selected\n ? { ...child.props, selected: true }\n : child.props;\n\n return renderElementToString({ ...child, props }, runtime, `${path}.${index}`);\n }).join(\"\");\n}\n\nfunction renderInputAttributesToString(props: Record<string, unknown>): string {\n const hasValue = props.value !== undefined;\n const hasChecked = props.checked !== undefined;\n\n return Object.entries(props)\n .filter(([name]) =>\n !((name === \"defaultValue\" && hasValue) || (name === \"defaultChecked\" && hasChecked))\n )\n .sort(([leftName], [rightName]) =>\n Number(isInputValueAttribute(leftName)) - Number(isInputValueAttribute(rightName))\n )\n .map(([name, value]) => renderHtmlAttribute(toInputHtmlAttributeName(name), value))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n}\n\nfunction renderHtmlAttribute(name: string, value: unknown): string {\n if (\n name === \"children\" ||\n name === \"key\" ||\n name === \"ref\" ||\n /^on[A-Z]/.test(name) ||\n value === null ||\n value === undefined ||\n value === false ||\n typeof value === \"function\"\n ) {\n return \"\";\n }\n\n if (name === \"style\") {\n const style = renderStyleAttribute(value);\n return style === \"\" ? \"\" : ` style=\"${escapeHtml(style)}\"`;\n }\n\n const attributeName = toHtmlAttributeName(name);\n if (isDangerousHtmlAttribute(attributeName)) {\n return isDangerousHtmlOptIn(value)\n ? ` ${attributeName}=\"${escapeHtml(value.__html)}\"`\n : \"\";\n }\n\n if (typeof value === \"object\") {\n return \"\";\n }\n\n if (value === true) {\n return ` ${attributeName}=\"\"`;\n }\n\n return ` ${attributeName}=\"${escapeHtml(value)}\"`;\n}\n\nfunction isInputValueAttribute(name: string): boolean {\n return name === \"value\" || name === \"defaultValue\";\n}\n\nfunction toInputHtmlAttributeName(name: string): string {\n if (name === \"defaultValue\") {\n return \"value\";\n }\n\n if (name === \"defaultChecked\") {\n return \"checked\";\n }\n\n return name;\n}\n\nfunction toHtmlAttributeName(name: string): string {\n return HTML_ATTRIBUTE_ALIASES[name] ?? name;\n}\n\nconst HTML_ATTRIBUTE_ALIASES: Record<string, string> = {\n acceptCharset: \"accept-charset\",\n autoFocus: \"autofocus\",\n autoPlay: \"autoplay\",\n charSet: \"charset\",\n className: \"class\",\n colSpan: \"colspan\",\n contentEditable: \"contenteditable\",\n crossOrigin: \"crossorigin\",\n encType: \"enctype\",\n formAction: \"formaction\",\n frameBorder: \"frameborder\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n maxLength: \"maxlength\",\n minLength: \"minlength\",\n noValidate: \"novalidate\",\n playsInline: \"playsinline\",\n readOnly: \"readOnly\",\n rowSpan: \"rowspan\",\n spellCheck: \"spellcheck\",\n srcDoc: \"srcdoc\",\n srcSet: \"srcset\",\n tabIndex: \"tabindex\",\n useMap: \"usemap\",\n};\n\nfunction renderStyleAttribute(value: unknown): string {\n if (typeof value !== \"object\" || value === null) {\n return \"\";\n }\n\n return Object.entries(value)\n .filter(([, propertyValue]) =>\n propertyValue !== null &&\n propertyValue !== undefined &&\n typeof propertyValue !== \"boolean\" &&\n propertyValue !== \"\",\n )\n .map(([name, propertyValue]) =>\n `${toKebabCase(name)}:${renderCssValue(name, propertyValue)}`,\n )\n .join(\";\");\n}\n\nfunction renderCssValue(name: string, value: unknown): string {\n if (typeof value !== \"number\" || value === 0 || isUnitlessCssProperty(name)) {\n return String(value);\n }\n\n return `${value}px`;\n}\n\nfunction toKebabCase(value: string): string {\n return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);\n}\n\nfunction isUnitlessCssProperty(name: string): boolean {\n return (\n name === \"flex\" ||\n name === \"fontWeight\" ||\n name === \"lineHeight\" ||\n name === \"opacity\" ||\n name === \"order\" ||\n name === \"zIndex\" ||\n name === \"zoom\"\n );\n}\n\nconst voidHtmlElements = new Set([\n \"area\",\n \"base\",\n \"br\",\n \"col\",\n \"embed\",\n \"hr\",\n \"img\",\n \"input\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n\nfunction isForwardRefType(value: unknown): value is ForwardRefType {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === FORWARD_REF_TYPE\n );\n}\n\nfunction isMemoType(value: unknown): value is MemoType {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === MEMO_TYPE\n );\n}\n\nfunction readThenable<T>(thenable: PromiseLike<T>): T {\n const record = thenable as PromiseLike<T> & {\n status?: \"pending\" | \"fulfilled\" | \"rejected\";\n value?: T;\n reason?: unknown;\n };\n\n if (record.status === \"fulfilled\") {\n return record.value as T;\n }\n\n if (record.status === \"rejected\") {\n throw record.reason;\n }\n\n if (record.status === undefined) {\n record.status = \"pending\";\n thenable.then(\n (value) => {\n if (record.status === \"pending\") {\n record.status = \"fulfilled\";\n record.value = value;\n }\n },\n (reason) => {\n if (record.status === \"pending\") {\n record.status = \"rejected\";\n record.reason = reason;\n }\n },\n );\n }\n\n throw thenable;\n}\n\nexport type TransitionScope = () => void;\nexport type StartTransition = (scope: TransitionScope) => void;\n\nexport function startTransition(scope: TransitionScope): void {\n const context = {\n syncVersion,\n transitionVersion: ++transitionVersion,\n };\n scheduleCallback(\"low\", () => {\n if (!isTransitionContextCurrent(context)) {\n return;\n }\n\n runTransitionScope(scope, context);\n });\n}\n\nexport function runWithEventPriority<T>(\n priority: EventPriority,\n callback: () => T,\n): T {\n const previousPriority = currentEventPriority;\n currentEventPriority = priority;\n eventBatchDepth += 1;\n\n try {\n return callback();\n } finally {\n eventBatchDepth -= 1;\n currentEventPriority = previousPriority;\n\n if (eventBatchDepth === 0) {\n flushEventRerendersForPriority(priority);\n }\n }\n}\n\nexport function flushSyncUpdates<T>(callback: () => T): T {\n const previousEventBatchDepth = eventBatchDepth;\n const previousEventPriority = currentEventPriority;\n eventBatchDepth = 0;\n currentEventPriority = \"discrete\";\n\n try {\n const value = callback();\n flushQueuedEventRerenders();\n return value;\n } finally {\n eventBatchDepth = previousEventBatchDepth;\n currentEventPriority = previousEventPriority;\n }\n}\n\nexport function useTransition(): [boolean, StartTransition] {\n const [pending, setPending] = runWithoutDevToolsHookTracking(() => useState(false));\n const startTransitionWithPending: StartTransition = (scope) => {\n setPending(true);\n const context = {\n syncVersion,\n transitionVersion: ++transitionVersion,\n };\n scheduleCallback(\"low\", () => {\n if (!isTransitionContextCurrent(context)) {\n setPending(false);\n return;\n }\n\n runTransitionScope(() => {\n scope();\n setPending(false);\n }, context);\n });\n };\n\n recordDevToolsHook(\"useTransition\", {\n kind: \"transition\",\n value: pending,\n });\n\n return [\n pending,\n startTransitionWithPending,\n ];\n}\n\nexport function useDeferredValue<T>(value: T): T {\n const [deferredValue, setDeferredValue] = runWithoutDevToolsHookTracking(() =>\n useState(value)\n );\n\n runWithoutDevToolsHookTracking(() =>\n useEffect(() => {\n if (Object.is(deferredValue, value)) {\n return;\n }\n\n startTransition(() => {\n setDeferredValue(value);\n });\n }, [value, deferredValue])\n );\n\n const currentValue = Object.is(deferredValue, value) ? value : deferredValue;\n\n recordDevToolsHook(\"useDeferredValue\", {\n kind: \"deferred\",\n value: currentValue,\n });\n\n return currentValue;\n}\n\nfunction runTransitionScope(\n scope: TransitionScope,\n context: TransitionContext,\n): void {\n transitionDepth += 1;\n const previousContext = currentTransitionContext;\n currentTransitionContext = context;\n\n try {\n scope();\n } finally {\n currentTransitionContext = previousContext;\n transitionDepth -= 1;\n }\n}\n\nfunction queueTransitionRerender(\n runtime: RootRuntime,\n context: TransitionContext,\n): void {\n queuedTransitionRerenders.set(runtime, context);\n\n if (transitionRerenderScheduled) {\n return;\n }\n\n transitionRerenderScheduled = true;\n scheduleCallback(\"low\", flushQueuedTransitionRerenders);\n}\n\nfunction queueEventRerender(runtime: RootRuntime): void {\n queuedEventRerenders.add(runtime);\n}\n\nfunction flushEventRerendersForPriority(priority: EventPriority): void {\n if (priority === \"discrete\") {\n flushQueuedEventRerenders(\"sync\");\n return;\n }\n\n if (eventRerenderScheduled || queuedEventRerenders.size === 0) {\n return;\n }\n\n eventRerenderScheduled = true;\n scheduleCallback(priority === \"continuous\" ? \"normal\" : \"low\", () => {\n eventRerenderScheduled = false;\n flushQueuedEventRerenders(\n priority === \"continuous\" ? \"continuous\" : \"sync\",\n );\n });\n}\n\nfunction flushQueuedEventRerenders(priority: RenderPriority = \"sync\"): void {\n const runtimes = Array.from(queuedEventRerenders);\n queuedEventRerenders.clear();\n\n for (const runtime of runtimes) {\n runtime.rerender(priority);\n }\n}\n\nfunction flushQueuedTransitionRerenders(): void {\n transitionRerenderScheduled = false;\n const entries = Array.from(queuedTransitionRerenders.entries());\n queuedTransitionRerenders.clear();\n\n for (const [runtime, context] of entries) {\n if (isTransitionContextCurrent(context)) {\n runtime.rerender(\"transition\");\n }\n }\n}\n\nfunction isTransitionContextCurrent(context: TransitionContext): boolean {\n return (\n context.syncVersion === syncVersion &&\n context.transitionVersion === transitionVersion\n );\n}\n\nfunction useEffectImpl(\n effectKind: \"insertion\" | \"layout\" | \"normal\",\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"effect\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const shouldRun =\n slot === undefined ||\n deps === undefined ||\n slot.deps === undefined ||\n !areHookInputsEqual(deps, slot.deps);\n\n if (slot === undefined) {\n slot =\n deps === undefined\n ? { kind: \"effect\", effectKind, callback }\n : { kind: \"effect\", effectKind, callback, deps };\n instance.hooks[index] = slot;\n } else {\n slot.effectKind = effectKind;\n slot.callback = callback;\n slot.disposed = false;\n\n if (deps === undefined) {\n delete slot.deps;\n } else {\n slot.deps = deps;\n }\n }\n\n slot.strictReplay =\n runtime.strictModeDepth > 0 && effectKind !== \"insertion\";\n\n if (shouldRun) {\n const queue =\n effectKind === \"insertion\"\n ? runtime.pendingInsertionEffects\n : effectKind === \"layout\"\n ? runtime.pendingLayoutEffects\n : runtime.pendingEffects;\n queue.push({ slot });\n }\n}\n\nfunction recordExternalStoreCheck<T>(\n getSnapshot: () => T,\n value: T,\n): void {\n currentRuntime?.externalStoreChecks.push({ getSnapshot, value });\n}\n\nfunction flushPendingEffects(queue: PendingEffect[]): PendingEffect[] {\n const pending = queue.splice(0);\n const strictReplay: PendingEffect[] = [];\n\n for (const { slot } of pending) {\n if (slot.disposed === true) {\n continue;\n }\n\n slot.cleanup?.();\n const shouldReplay = slot.strictReplay === true && slot.cleanup === undefined;\n const cleanup = slot.callback();\n\n if (typeof cleanup === \"function\") {\n slot.cleanup = cleanup;\n } else {\n delete slot.cleanup;\n }\n\n if (shouldReplay) {\n strictReplay.push({ slot });\n }\n }\n\n return strictReplay;\n}\n\nfunction replayStrictEffects(effects: PendingEffect[]): void {\n for (const { slot } of effects) {\n if (slot.disposed === true) {\n continue;\n }\n\n const cleanup = slot.callback();\n\n if (typeof cleanup === \"function\") {\n slot.cleanup = cleanup;\n } else {\n delete slot.cleanup;\n }\n }\n}\n\nfunction flushProfilerCommits(\n runtime: RootRuntime,\n commits: PendingProfilerCommit[],\n): void {\n if (commits.length === 0) {\n return;\n }\n\n const commitTime = getCurrentTime();\n runtime.profilerFlushDepth += 1;\n\n try {\n for (const commit of commits) {\n commit.onRender(\n commit.id,\n commit.phase,\n commit.actualDuration,\n commit.baseDuration,\n commit.startTime,\n commitTime,\n );\n }\n } finally {\n runtime.profilerFlushDepth -= 1;\n }\n}\n\nfunction runActionStateDispatch(\n slot: Extract<HookSlot, { kind: \"action-state\" }>,\n runtime: RootRuntime,\n instance: ComponentInstance,\n payload: unknown,\n): void {\n let result: unknown;\n\n try {\n result = slot.action(slot.state, payload);\n } catch (error) {\n slot.error = error;\n scheduleInstanceUpdate(runtime, instance);\n return;\n }\n\n if (!isThenable(result)) {\n slot.state = result;\n scheduleInstanceUpdate(runtime, instance);\n return;\n }\n\n slot.pendingCount += 1;\n scheduleInstanceUpdate(runtime, instance);\n result.then(\n (nextState) => {\n slot.state = nextState;\n slot.pendingCount = Math.max(0, slot.pendingCount - 1);\n scheduleInstanceUpdate(runtime, instance);\n },\n (error) => {\n slot.error = error;\n slot.pendingCount = Math.max(0, slot.pendingCount - 1);\n scheduleInstanceUpdate(runtime, instance);\n },\n );\n}\n\nfunction scheduleInstanceUpdate(\n runtime: RootRuntime,\n instance: ComponentInstance,\n): void {\n instance.dirty = true;\n if (transitionDepth === 0) {\n syncVersion += 1;\n if (eventBatchDepth > 0) {\n queueEventRerender(runtime);\n return;\n }\n runtime.rerender(\"sync\");\n return;\n }\n\n if (currentTransitionContext !== undefined) {\n queueTransitionRerender(runtime, currentTransitionContext);\n }\n}\n\nfunction getCacheLeaf(\n scope: CacheScope,\n callback: (...args: never[]) => unknown,\n args: readonly unknown[],\n): CacheTrieNode {\n let node = scope.functionCaches.get(callback);\n\n if (node === undefined) {\n node = createCacheTrieNode();\n scope.functionCaches.set(callback, node);\n }\n\n for (const arg of args) {\n node = getCacheChild(node, arg);\n }\n\n return node;\n}\n\nfunction getCacheChild(node: CacheTrieNode, key: unknown): CacheTrieNode {\n if ((typeof key === \"object\" && key !== null) || typeof key === \"function\") {\n const objectKey = key as object;\n let child = node.objectChildren.get(objectKey);\n\n if (child === undefined) {\n child = createCacheTrieNode();\n node.objectChildren.set(objectKey, child);\n }\n\n return child;\n }\n\n let child = node.primitiveChildren.get(key);\n\n if (child === undefined) {\n child = createCacheTrieNode();\n node.primitiveChildren.set(key, child);\n }\n\n return child;\n}\n\nfunction createCacheTrieNode(): CacheTrieNode {\n return {\n primitiveChildren: new Map(),\n objectChildren: new WeakMap(),\n };\n}\n\nfunction getCurrentCacheScope(): CacheScope | undefined {\n return currentCacheScope ?? getGlobalCacheScope();\n}\n\nfunction getGlobalCacheScope(): CacheScope | undefined {\n return (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL];\n}\n\nfunction setGlobalCacheScope(scope: CacheScope | undefined): void {\n if (scope === undefined) {\n delete (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL];\n return;\n }\n\n (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL] = scope;\n}\n\nfunction cleanupStrictEffects(effects: PendingEffect[]): void {\n for (const { slot } of effects) {\n if (slot.disposed !== true) {\n slot.cleanup?.();\n }\n }\n}\n\nfunction cleanupInactiveInstances(runtime: RootRuntime): void {\n const activeInstanceKeys = runtime.activeInstanceKeys;\n\n if (activeInstanceKeys === undefined) {\n return;\n }\n\n for (const [key, instance] of runtime.instances) {\n if (!activeInstanceKeys.has(key)) {\n cleanupInstance(instance);\n runtime.instances.delete(key);\n }\n }\n}\n\nfunction cleanupInstance(instance: ComponentInstance): void {\n for (const slot of instance.hooks) {\n if (slot?.kind === \"effect\") {\n slot.disposed = true;\n slot.cleanup?.();\n delete slot.cleanup;\n }\n }\n}\n\nfunction requireRuntime(): RootRuntime {\n if (currentRuntime === undefined) {\n throw new Error(\"Hooks can only be called while rendering.\");\n }\n\n return currentRuntime;\n}\n\nfunction requireInstance(): ComponentInstance {\n if (currentInstance === undefined) {\n throw new Error(\"Hooks can only be called while rendering.\");\n }\n\n return currentInstance;\n}\n\nfunction areHookInputsEqual(\n nextDeps: readonly unknown[],\n previousDeps: readonly unknown[],\n): boolean {\n if (nextDeps.length !== previousDeps.length) {\n return false;\n }\n\n for (let index = 0; index < nextDeps.length; index += 1) {\n if (!Object.is(nextDeps[index], previousDeps[index])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getCurrentTime(): number {\n return typeof performance === \"undefined\" ? Date.now() : performance.now();\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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","sourcesContent":["import { scheduleCallback } from \"./fiber-scheduler.js\";\nimport {\n Activity,\n Fragment,\n FORWARD_REF_TYPE,\n MEMO_TYPE,\n Profiler,\n isReactCompatElement,\n type ForwardRefType,\n type MemoType,\n type ReactCompatElement,\n type ReactCompatNode,\n} from \"./element.js\";\nimport {\n isReactCompatContext,\n isReactCompatConsumer,\n isReactCompatProvider,\n renderWithContextProvider,\n useContext,\n} from \"./context.js\";\nimport { isThenable } from \"./thenable.js\";\nimport { isDangerousHtmlAttribute, isDangerousHtmlOptIn } from \"./url-safety.js\";\nimport { escapeHtmlAttribute as escapeHtml } from \"@reckona/mreact-shared/html-escape\";\n\nexport interface RootRuntime {\n currentElement?: unknown;\n instances: Map<string, ComponentInstance>;\n activeInstanceKeys: Set<string> | undefined;\n activeProfilerPaths: Set<string> | undefined;\n mountedProfilerPaths: Set<string>;\n profilerBaseDurations: Map<string, number>;\n pendingProfilerCommits: PendingProfilerCommit[];\n pendingInsertionEffects: PendingEffect[];\n pendingLayoutEffects: PendingEffect[];\n pendingEffects: PendingEffect[];\n externalStoreChecks: ExternalStoreCheck[];\n portalContainers: Set<Element>;\n idCounter: number;\n identifierPrefix: string;\n idMode: \"client\" | \"server\";\n strictModeDepth: number;\n profilerFlushDepth: number;\n rerender(priority?: RenderPriority): void;\n beginRender(): void;\n endRender(committed?: boolean): void;\n flushEffects(): void;\n dispose(): void;\n}\n\ninterface ComponentInstance {\n hooks: HookSlot[];\n hookIndex: number;\n dirty: boolean;\n devToolsHooks: DevToolsHookValue[];\n devToolsHookTypes: string[];\n devToolsHookSuppressionDepth: number;\n}\n\ntype EffectCallback = () => void | (() => void);\ntype ProfilerPhase = \"mount\" | \"update\" | \"nested-update\";\ntype ProfilerOnRender = (\n id: string,\n phase: ProfilerPhase,\n actualDuration: number,\n baseDuration: number,\n startTime: number,\n commitTime: number,\n) => void;\n\ninterface PendingEffect {\n slot: Extract<HookSlot, { kind: \"effect\" }>;\n}\n\ninterface PendingProfilerCommit {\n id: string;\n phase: ProfilerPhase;\n onRender: ProfilerOnRender;\n actualDuration: number;\n baseDuration: number;\n startTime: number;\n}\n\ninterface ExternalStoreCheck {\n getSnapshot: () => unknown;\n value: unknown;\n}\n\nexport interface CacheScope {\n functionCaches: WeakMap<(...args: never[]) => unknown, CacheTrieNode>;\n controller: AbortController;\n ownerStack: string[];\n}\n\ninterface CacheTrieNode {\n primitiveChildren: Map<unknown, CacheTrieNode>;\n objectChildren: WeakMap<object, CacheTrieNode>;\n status?: \"fulfilled\" | \"rejected\";\n value?: unknown;\n reason?: unknown;\n}\n\nexport interface DevToolsHookState {\n hooks: DevToolsHookValue[];\n hookTypes: string[];\n}\n\nexport type DevToolsHookValue =\n | { kind: \"state\"; value: unknown }\n | { kind: \"reducer\"; value: unknown }\n | { kind: \"store\"; value: unknown }\n | { kind: \"ref\"; value: unknown }\n | { kind: \"memo\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"callback\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"id\"; value: unknown }\n | { kind: \"imperative-handle\"; deps?: readonly unknown[] }\n | { kind: \"transition\"; value: unknown }\n | { kind: \"deferred\"; value: unknown }\n | { kind: \"debug\"; value: unknown }\n | { kind: \"effect\"; effectKind: \"insertion\" | \"layout\" | \"normal\"; deps?: readonly unknown[] };\n\ntype HookSlot =\n | { kind: \"state\"; value: unknown }\n | {\n kind: \"action-state\";\n state: unknown;\n pendingCount: number;\n action: (previousState: unknown, payload: unknown) => unknown;\n dispatch?: (payload: unknown) => void;\n error?: unknown;\n }\n | {\n kind: \"optimistic\";\n baseState: unknown;\n optimisticState: unknown;\n update: (state: unknown, payload: unknown) => unknown;\n dispatch?: (payload: unknown) => void;\n }\n | { kind: \"store\"; value: unknown }\n | { kind: \"ref\"; value: { current: unknown } }\n | { kind: \"memo\"; value: unknown; deps?: readonly unknown[] }\n | { kind: \"debug\"; value: unknown }\n | {\n kind: \"effect\";\n effectKind: \"insertion\" | \"layout\" | \"normal\";\n callback: EffectCallback;\n deps?: readonly unknown[];\n cleanup?: () => void;\n disposed?: boolean;\n strictReplay?: boolean;\n };\n\nlet currentRuntime: RootRuntime | undefined;\nlet currentInstance: ComponentInstance | undefined;\nlet currentCacheScope: CacheScope | undefined;\nconst CACHE_SCOPE_SYMBOL = Symbol.for(\"modular.react.cache_scope\");\nconst emptyCacheOwnerStack: string[] = [];\nlet syncVersion = 0;\nlet transitionVersion = 0;\nlet transitionDepth = 0;\nlet currentTransitionContext: TransitionContext | undefined;\nlet transitionRerenderScheduled = false;\nlet eventBatchDepth = 0;\nlet currentEventPriority: EventPriority = \"default\";\nlet eventRerenderScheduled = false;\nconst queuedTransitionRerenders = new Map<RootRuntime, TransitionContext>();\nconst queuedEventRerenders = new Set<RootRuntime>();\nexport const version = \"19.2.6\";\n\nexport function act<T>(callback: () => T): T extends PromiseLike<unknown> ? Promise<void> : void {\n const result = callback();\n\n return (isThenable(result) ? Promise.resolve(result).then(() => undefined) : undefined) as T extends PromiseLike<unknown>\n ? Promise<void>\n : void;\n}\n\nexport type EventPriority = \"discrete\" | \"continuous\" | \"default\";\nexport type RenderPriority = \"sync\" | \"transition\" | \"continuous\";\n\ninterface TransitionContext {\n syncVersion: number;\n transitionVersion: number;\n}\n\nexport interface RootRuntimeOptions {\n identifierPrefix?: string;\n idMode?: \"client\" | \"server\";\n}\n\nexport interface RuntimeSnapshot {\n instanceKeys: Set<string>;\n portalContainers: Set<Element>;\n pendingInsertionEffectsLength: number;\n pendingLayoutEffectsLength: number;\n pendingEffectsLength: number;\n pendingProfilerCommitsLength: number;\n profilerBaseDurations: Map<string, number>;\n idCounter: number;\n identifierPrefix: string;\n idMode: \"client\" | \"server\";\n strictModeDepth: number;\n profilerFlushDepth: number;\n}\n\nexport function createRootRuntime(\n rerender: (priority?: RenderPriority) => void,\n options: RootRuntimeOptions = {},\n): RootRuntime {\n return {\n instances: new Map(),\n activeInstanceKeys: undefined,\n activeProfilerPaths: undefined,\n mountedProfilerPaths: new Set(),\n profilerBaseDurations: new Map(),\n pendingProfilerCommits: [],\n pendingInsertionEffects: [],\n pendingLayoutEffects: [],\n pendingEffects: [],\n externalStoreChecks: [],\n portalContainers: new Set(),\n idCounter: 0,\n identifierPrefix: options.identifierPrefix ?? \"\",\n idMode: options.idMode ?? \"client\",\n strictModeDepth: 0,\n profilerFlushDepth: 0,\n rerender,\n beginRender() {\n this.activeInstanceKeys = new Set();\n this.activeProfilerPaths = new Set();\n this.pendingProfilerCommits = [];\n this.pendingInsertionEffects = [];\n this.pendingLayoutEffects = [];\n this.pendingEffects = [];\n this.externalStoreChecks = [];\n },\n endRender(committed = true) {\n const profilerCommits = committed ? this.pendingProfilerCommits.splice(0) : [];\n const activeProfilerPaths = this.activeProfilerPaths;\n if (committed) {\n cleanupInactiveInstances(this);\n this.mountedProfilerPaths =\n activeProfilerPaths === undefined ? new Set() : new Set(activeProfilerPaths);\n } else {\n this.pendingProfilerCommits = [];\n }\n this.activeInstanceKeys = undefined;\n this.activeProfilerPaths = undefined;\n currentRuntime = undefined;\n currentInstance = undefined;\n if (committed) {\n flushProfilerCommits(this, profilerCommits);\n }\n },\n flushEffects() {\n this.profilerFlushDepth += 1;\n try {\n flushPendingEffects(this.pendingInsertionEffects);\n const strictLayoutEffects = flushPendingEffects(this.pendingLayoutEffects);\n const strictEffects = flushPendingEffects(this.pendingEffects);\n const strictReplayEffects = [...strictLayoutEffects, ...strictEffects];\n cleanupStrictEffects(strictReplayEffects);\n replayStrictEffects(strictReplayEffects);\n } finally {\n this.profilerFlushDepth -= 1;\n }\n },\n dispose() {\n for (const instance of this.instances.values()) {\n cleanupInstance(instance);\n }\n\n this.pendingLayoutEffects = [];\n this.pendingInsertionEffects = [];\n this.pendingEffects = [];\n this.pendingProfilerCommits = [];\n this.activeProfilerPaths = undefined;\n this.mountedProfilerPaths.clear();\n this.profilerBaseDurations.clear();\n for (const container of this.portalContainers) {\n container.replaceChildren();\n }\n this.portalContainers.clear();\n },\n };\n}\n\nexport function createCacheScope(): CacheScope {\n return {\n functionCaches: new WeakMap(),\n controller: new AbortController(),\n ownerStack: [],\n };\n}\n\nexport function refreshCacheScope(scope: CacheScope): void {\n scope.controller.abort();\n scope.functionCaches = new WeakMap();\n scope.controller = new AbortController();\n}\n\nexport function runWithCacheScope<T>(scope: CacheScope, callback: () => T): T {\n const previousScope = currentCacheScope;\n const previousGlobalScope = getGlobalCacheScope();\n currentCacheScope = scope;\n setGlobalCacheScope(scope);\n\n try {\n const result = callback();\n\n if (isThenable(result)) {\n return Promise.resolve(result).finally(() => {\n currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n }) as T;\n }\n\n currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n return result;\n } catch (error) {\n currentCacheScope = previousScope;\n setGlobalCacheScope(previousGlobalScope);\n throw error;\n }\n}\n\nexport function renderWithProfiler<T>(\n runtime: RootRuntime,\n path: string,\n props: Record<string, unknown>,\n render: () => T,\n): T {\n const startTime = getCurrentTime();\n const phase: ProfilerPhase =\n runtime.profilerFlushDepth > 0\n ? \"nested-update\"\n : runtime.mountedProfilerPaths.has(path)\n ? \"update\"\n : \"mount\";\n\n try {\n return render();\n } finally {\n runtime.activeProfilerPaths?.add(path);\n const onRender = props.onRender;\n const id = props.id;\n\n if (typeof onRender === \"function\" && typeof id === \"string\") {\n const actualDuration = Math.max(0, getCurrentTime() - startTime);\n const baseDuration = Math.max(\n runtime.profilerBaseDurations.get(path) ?? 0,\n actualDuration,\n );\n runtime.profilerBaseDurations.set(path, baseDuration);\n runtime.pendingProfilerCommits.push({\n id,\n phase,\n onRender: onRender as ProfilerOnRender,\n actualDuration,\n baseDuration,\n startTime,\n });\n }\n }\n}\n\nexport function renderWithRootRuntime<T>(\n runtime: RootRuntime,\n path: string,\n render: () => T,\n): T {\n const previousRuntime = currentRuntime;\n const previousInstance = currentInstance;\n const instance = runtime.instances.get(path) ?? {\n hooks: [],\n hookIndex: 0,\n dirty: false,\n devToolsHooks: [],\n devToolsHookTypes: [],\n devToolsHookSuppressionDepth: 0,\n };\n runtime.instances.set(path, instance);\n runtime.activeInstanceKeys?.add(path);\n instance.hookIndex = 0;\n instance.dirty = false;\n instance.devToolsHooks = [];\n instance.devToolsHookTypes = [];\n instance.devToolsHookSuppressionDepth = 0;\n currentRuntime = runtime;\n currentInstance = instance;\n\n try {\n return render();\n } finally {\n currentRuntime = previousRuntime;\n currentInstance = previousInstance;\n }\n}\n\nexport function getDevToolsHookState(\n runtime: RootRuntime,\n path: string,\n): DevToolsHookState | undefined {\n const instance = runtime.instances.get(path);\n\n if (instance === undefined) {\n return undefined;\n }\n\n return {\n hooks: [...instance.devToolsHooks],\n hookTypes: [...instance.devToolsHookTypes],\n };\n}\n\nexport function renderWithStrictMode<T>(\n runtime: RootRuntime,\n render: () => T,\n): T {\n runtime.strictModeDepth += 1;\n\n try {\n return render();\n } finally {\n runtime.strictModeDepth -= 1;\n }\n}\n\nexport function takeRuntimeSnapshot(runtime: RootRuntime): RuntimeSnapshot {\n return {\n instanceKeys: new Set(runtime.instances.keys()),\n portalContainers: new Set(runtime.portalContainers),\n pendingInsertionEffectsLength: runtime.pendingInsertionEffects.length,\n pendingLayoutEffectsLength: runtime.pendingLayoutEffects.length,\n pendingEffectsLength: runtime.pendingEffects.length,\n pendingProfilerCommitsLength: runtime.pendingProfilerCommits.length,\n profilerBaseDurations: new Map(runtime.profilerBaseDurations),\n idCounter: runtime.idCounter,\n identifierPrefix: runtime.identifierPrefix,\n idMode: runtime.idMode,\n strictModeDepth: runtime.strictModeDepth,\n profilerFlushDepth: runtime.profilerFlushDepth,\n };\n}\n\nexport function restoreRuntimeSnapshot(\n runtime: RootRuntime,\n snapshot: RuntimeSnapshot,\n): void {\n runtime.pendingInsertionEffects.length = snapshot.pendingInsertionEffectsLength;\n runtime.pendingLayoutEffects.length = snapshot.pendingLayoutEffectsLength;\n runtime.pendingEffects.length = snapshot.pendingEffectsLength;\n runtime.pendingProfilerCommits.length = snapshot.pendingProfilerCommitsLength;\n runtime.profilerBaseDurations = new Map(snapshot.profilerBaseDurations);\n runtime.idCounter = snapshot.idCounter;\n runtime.identifierPrefix = snapshot.identifierPrefix;\n runtime.idMode = snapshot.idMode;\n runtime.strictModeDepth = snapshot.strictModeDepth;\n runtime.profilerFlushDepth = snapshot.profilerFlushDepth;\n\n for (const key of runtime.instances.keys()) {\n if (!snapshot.instanceKeys.has(key)) {\n runtime.instances.delete(key);\n }\n }\n\n for (const container of runtime.portalContainers) {\n if (!snapshot.portalContainers.has(container)) {\n container.replaceChildren();\n }\n }\n\n runtime.portalContainers.clear();\n for (const container of snapshot.portalContainers) {\n runtime.portalContainers.add(container);\n }\n}\n\nexport function useState<T>(\n initial: T | (() => T),\n): [T, (value: T | ((previous: T) => T)) => void] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = {\n kind: \"state\",\n value: typeof initial === \"function\" ? (initial as () => T)() : initial,\n };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"state\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const setState = (value: T | ((previous: T) => T)): void => {\n const nextValue =\n typeof value === \"function\"\n ? (value as (previous: T) => T)(slot.value as T)\n : value;\n\n if (Object.is(slot.value, nextValue)) {\n return;\n }\n\n slot.value = nextValue;\n scheduleInstanceUpdate(runtime, instance);\n };\n\n recordDevToolsHook(\"useState\", {\n kind: \"state\",\n value: slot.value,\n });\n\n return [slot.value as T, setState];\n}\n\nexport function useReducer<TState, TAction, TInitial = TState>(\n reducer: (state: TState, action: TAction) => TState,\n initialArg: TInitial,\n init?: (initialArg: TInitial) => TState,\n): [TState, (action: TAction) => void] {\n const [state, setState] = runWithoutDevToolsHookTracking(() =>\n useState<TState>(() =>\n init === undefined ? (initialArg as unknown as TState) : init(initialArg),\n ),\n );\n const reducerRef = runWithoutDevToolsHookTracking(() => useRef(reducer));\n const dispatchRef = runWithoutDevToolsHookTracking(() =>\n useRef<((action: TAction) => void) | undefined>(\n undefined,\n )\n );\n reducerRef.current = reducer;\n\n if (dispatchRef.current === undefined) {\n dispatchRef.current = (action: TAction): void => {\n setState((previousState) => reducerRef.current(previousState, action));\n };\n }\n\n recordDevToolsHook(\"useReducer\", {\n kind: \"reducer\",\n value: state,\n });\n\n return [state, dispatchRef.current];\n}\n\nexport function useRef<T>(initial: T): { current: T } {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = { kind: \"ref\", value: { current: initial } };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"ref\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n recordDevToolsHook(\"useRef\", {\n kind: \"ref\",\n value: slot.value,\n });\n\n return slot.value as { current: T };\n}\n\nexport function useId(): string {\n const runtime = requireRuntime();\n const idRef = runWithoutDevToolsHookTracking(() =>\n useRef<string | undefined>(undefined)\n );\n\n if (idRef.current === undefined) {\n const mode = runtime.idMode === \"server\" ? \"R\" : \"r\";\n idRef.current = `_${runtime.identifierPrefix}${mode}_${runtime.idCounter}_`;\n runtime.idCounter += 1;\n }\n\n recordDevToolsHook(\"useId\", {\n kind: \"id\",\n value: idRef.current,\n });\n\n return idRef.current;\n}\n\nexport function useImperativeHandle<T>(\n ref: unknown,\n create: () => T,\n deps?: readonly unknown[],\n): void {\n runWithoutDevToolsHookTracking(() =>\n useInsertionEffect(() => {\n const handle = create();\n assignRef(ref, handle);\n return () => {\n assignRef(ref, null);\n };\n }, deps === undefined ? undefined : [ref, ...deps])\n );\n recordDevToolsHook(\"useImperativeHandle\", deps === undefined\n ? { kind: \"imperative-handle\" }\n : { kind: \"imperative-handle\", deps });\n}\n\nexport function useMemo<T>(factory: () => T, deps?: readonly unknown[]): T {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"memo\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (\n slot === undefined ||\n deps === undefined ||\n slot.deps === undefined ||\n !areHookInputsEqual(deps, slot.deps)\n ) {\n const value = factory();\n slot =\n deps === undefined\n ? { kind: \"memo\", value }\n : { kind: \"memo\", value, deps };\n instance.hooks[index] = slot;\n }\n\n recordDevToolsHook(\"useMemo\", slot.deps === undefined\n ? { kind: \"memo\", value: slot.value }\n : { kind: \"memo\", value: slot.value, deps: slot.deps });\n\n return slot.value as T;\n}\n\nfunction assignRef<T>(ref: unknown, value: T | null): void {\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n\n if (typeof ref === \"object\" && ref !== null && \"current\" in ref) {\n (ref as { current: T | null }).current = value;\n }\n}\n\nfunction recordDevToolsHook(type: string, value: DevToolsHookValue): void {\n const instance = currentInstance;\n\n if (instance === undefined || instance.devToolsHookSuppressionDepth > 0) {\n return;\n }\n\n instance.devToolsHookTypes.push(type);\n instance.devToolsHooks.push(value);\n}\n\nfunction runWithoutDevToolsHookTracking<T>(callback: () => T): T {\n const instance = requireInstance();\n instance.devToolsHookSuppressionDepth += 1;\n\n try {\n return callback();\n } finally {\n instance.devToolsHookSuppressionDepth -= 1;\n }\n}\n\nexport function useCallback<T extends (...args: never[]) => unknown>(\n callback: T,\n deps?: readonly unknown[],\n): T {\n const value = runWithoutDevToolsHookTracking(() => useMemo(() => callback, deps));\n recordDevToolsHook(\"useCallback\", deps === undefined\n ? { kind: \"callback\", value }\n : { kind: \"callback\", value, deps });\n return value;\n}\n\nexport function useDebugValue(_value: unknown, _format?: (value: unknown) => unknown): void {\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n const value = _format === undefined ? _value : _format(_value);\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"debug\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = { kind: \"debug\", value };\n instance.hooks[index] = slot;\n recordDevToolsHook(\"useDebugValue\", {\n kind: \"debug\",\n value,\n });\n return;\n }\n\n slot.value = value;\n recordDevToolsHook(\"useDebugValue\", {\n kind: \"debug\",\n value,\n });\n}\n\nexport function useEffectEvent<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n const ref = runWithoutDevToolsHookTracking(() => useRef(callback));\n ref.current = callback;\n\n const event = runWithoutDevToolsHookTracking(() =>\n useCallback((...args: TArgs) => ref.current(...args), [])\n );\n recordDevToolsHook(\"useEffectEvent\", {\n kind: \"callback\",\n value: event,\n deps: [],\n });\n return event;\n}\n\nexport function useEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"normal\", callback, deps);\n recordDevToolsHook(\"useEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"normal\" }\n : { kind: \"effect\", effectKind: \"normal\", deps });\n}\n\nexport function useInsertionEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"insertion\", callback, deps);\n recordDevToolsHook(\"useInsertionEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"insertion\" }\n : { kind: \"effect\", effectKind: \"insertion\", deps });\n}\n\nexport function useLayoutEffect(\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n useEffectImpl(\"layout\", callback, deps);\n recordDevToolsHook(\"useLayoutEffect\", deps === undefined\n ? { kind: \"effect\", effectKind: \"layout\" }\n : { kind: \"effect\", effectKind: \"layout\", deps });\n}\n\nexport function useSyncExternalStore<T>(\n subscribe: (listener: () => void) => () => void,\n getSnapshot: () => T,\n getServerSnapshot: () => T = getSnapshot,\n): T {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n\n if (slot === undefined) {\n slot = { kind: \"store\", value: getServerSnapshot() };\n instance.hooks[index] = slot;\n }\n\n if (slot.kind !== \"store\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const currentSnapshot = getSnapshot();\n\n if (!Object.is(slot.value, currentSnapshot)) {\n slot.value = currentSnapshot;\n }\n\n recordExternalStoreCheck(getSnapshot, currentSnapshot);\n\n runWithoutDevToolsHookTracking(() => useEffect(() => {\n const checkForUpdates = (): void => {\n const nextSnapshot = getSnapshot();\n\n if (!Object.is(slot.value, nextSnapshot)) {\n slot.value = nextSnapshot;\n runtime.rerender(\"sync\");\n }\n };\n\n checkForUpdates();\n return subscribe(checkForUpdates);\n }, [subscribe, getSnapshot]));\n\n recordDevToolsHook(\"useSyncExternalStore\", {\n kind: \"store\",\n value: slot.value,\n });\n\n return slot.value as T;\n}\n\nexport function useActionState<TState, TPayload>(\n action: (previousState: TState, payload: TPayload) => TState | Promise<TState>,\n initialState: TState,\n): [TState, (payload: TPayload) => void, boolean] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"action-state\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = {\n kind: \"action-state\",\n state: initialState,\n pendingCount: 0,\n action: action as (previousState: unknown, payload: unknown) => unknown,\n };\n instance.hooks[index] = slot;\n }\n\n if (\"error\" in slot) {\n throw slot.error;\n }\n\n slot.action = action as (previousState: unknown, payload: unknown) => unknown;\n\n if (slot.dispatch === undefined) {\n slot.dispatch = (payload: unknown): void => {\n runActionStateDispatch(slot, runtime, instance, payload);\n };\n }\n\n recordDevToolsHook(\"useActionState\", {\n kind: \"state\",\n value: slot.state,\n });\n\n return [\n slot.state as TState,\n slot.dispatch as (payload: TPayload) => void,\n slot.pendingCount > 0,\n ];\n}\n\nexport function useOptimistic<TState, TPayload>(\n state: TState,\n update?: (state: TState, payload: TPayload) => TState,\n): [TState, (payload: TPayload) => void] {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n let slot = instance.hooks[index];\n const updateFn =\n update === undefined\n ? (_current: unknown, payload: unknown) => payload\n : update as (state: unknown, payload: unknown) => unknown;\n\n if (slot !== undefined && slot.kind !== \"optimistic\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n if (slot === undefined) {\n slot = {\n kind: \"optimistic\",\n baseState: state,\n optimisticState: state,\n update: updateFn,\n };\n instance.hooks[index] = slot;\n }\n\n slot.update = updateFn;\n\n if (!Object.is(slot.baseState, state)) {\n slot.baseState = state;\n slot.optimisticState = state;\n }\n\n if (slot.dispatch === undefined) {\n slot.dispatch = (payload: unknown): void => {\n slot.optimisticState = slot.update(slot.optimisticState, payload);\n scheduleInstanceUpdate(runtime, instance);\n };\n }\n\n recordDevToolsHook(\"useOptimistic\", {\n kind: \"state\",\n value: slot.optimisticState,\n });\n\n return [slot.optimisticState as TState, slot.dispatch as (payload: TPayload) => void];\n}\n\nexport function use<T>(usable: PromiseLike<T> | unknown): T {\n if (isReactCompatContext(usable)) {\n return useContext(usable) as T;\n }\n\n if (isThenable(usable)) {\n return readThenable(usable as PromiseLike<T>);\n }\n\n return usable as T;\n}\n\nexport function cache<TArgs extends unknown[], TResult>(\n callback: (...args: TArgs) => TResult,\n): (...args: TArgs) => TResult {\n return (...args) => {\n const scope = getCurrentCacheScope();\n\n if (scope === undefined) {\n return callback(...args);\n }\n\n const leaf = getCacheLeaf(scope, callback, args);\n\n if (leaf.status === \"fulfilled\") {\n return leaf.value as TResult;\n }\n\n if (leaf.status === \"rejected\") {\n throw leaf.reason;\n }\n\n try {\n const value = callback(...args);\n leaf.status = \"fulfilled\";\n leaf.value = value;\n return value;\n } catch (error) {\n leaf.status = \"rejected\";\n leaf.reason = error;\n throw error;\n }\n };\n}\n\nexport function cacheSignal(): AbortSignal | null {\n return getCurrentCacheScope()?.controller.signal ?? null;\n}\n\nexport function captureOwnerStack(): string | null {\n const stack = getCurrentCacheScope()?.ownerStack ?? emptyCacheOwnerStack;\n return stack.length === 0 ? null : stack.join(\"\\n\");\n}\n\nexport function unstable_useCacheRefresh(): () => void {\n return useCallback(() => undefined, []);\n}\n\nexport function hasStableExternalStores(\n runtime: RootRuntime,\n): boolean {\n return runtime.externalStoreChecks.every((check) =>\n Object.is(check.getSnapshot(), check.value),\n );\n}\n\nexport function renderToString<TProps>(\n component:\n | ((props: TProps) => ReactCompatNode)\n | (new (props: TProps) => { render(): ReactCompatNode }),\n props?: TProps,\n options: RootRuntimeOptions = {},\n): string {\n const runtime = createRootRuntime(() => undefined, {\n ...options,\n idMode: \"server\",\n });\n\n return runWithCacheScope(createCacheScope(), () => {\n try {\n const rendered = renderWithRootRuntime(runtime, \"0\", () => {\n if (isClassComponentType(component)) {\n const instance = new component(props as Record<string, unknown>);\n return instance.render();\n }\n\n return (component as (props: TProps) => ReactCompatNode)(props as TProps);\n });\n return typeof rendered === \"string\"\n ? rendered\n : renderNodeToString(rendered, runtime, \"0\");\n } finally {\n runtime.dispose();\n }\n });\n}\n\nfunction renderNodeToString(\n node: ReactCompatNode,\n runtime: RootRuntime,\n path: string,\n): string {\n if (node === null || node === undefined || typeof node === \"boolean\") {\n return \"\";\n }\n\n if (typeof node === \"string\" || typeof node === \"number\") {\n return escapeHtml(node);\n }\n\n if (Array.isArray(node)) {\n return node.map((child, index) => renderNodeToString(child, runtime, `${path}.${index}`)).join(\"\");\n }\n\n if (!isReactCompatElement(node)) {\n return \"\";\n }\n\n return renderElementToString(node, runtime, path);\n}\n\nfunction renderElementToString(\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n): string {\n if (typeof element.type === \"string\") {\n if (element.type === \"textarea\") {\n return renderTextareaToString(element, runtime, path);\n }\n\n if (element.type === \"select\") {\n return renderSelectToString(element, runtime, path);\n }\n\n const attributes = element.type === \"input\"\n ? renderInputAttributesToString(element.props)\n : Object.entries(element.props)\n .map(([name, value]) => renderHtmlAttribute(name, value))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n if (voidHtmlElements.has(element.type)) {\n return `<${element.type}${attributes}/>`;\n }\n\n return `<${element.type}${attributes}>${renderNodeToString(element.props.children, runtime, `${path}.children`)}</${element.type}>`;\n }\n\n if (element.type === Fragment) {\n return renderNodeToString(element.props.children, runtime, `${path}.fragment`);\n }\n\n if (element.type === Activity) {\n if ((element.props as { mode?: unknown }).mode === \"hidden\") {\n return \"\";\n }\n\n return `<!--&-->${renderNodeToString(element.props.children, runtime, `${path}.activity`)}<!--/&-->`;\n }\n\n if (element.type === Profiler) {\n return renderNodeToString(element.props.children, runtime, `${path}.profiler`);\n }\n\n if (isReactCompatProvider(element.type)) {\n return renderWithContextProvider(\n element.type,\n (element.props as { value?: unknown }).value,\n () => renderNodeToString(element.props.children, runtime, `${path}.provider`),\n );\n }\n\n if (isReactCompatConsumer(element.type)) {\n const children = element.props.children;\n\n if (typeof children === \"function\") {\n return renderNodeToString(\n (children as (value: unknown) => ReactCompatNode)(useContext(element.type.context)),\n runtime,\n `${path}.consumer`,\n );\n }\n\n return \"\";\n }\n\n if (isForwardRefType(element.type)) {\n const forwardRefType = element.type;\n return renderNodeToString(\n renderWithRootRuntime(runtime, `${path}.forwardRef`, () =>\n forwardRefType.render(element.props, element.ref),\n ),\n runtime,\n `${path}.forwardRef`,\n );\n }\n\n if (isMemoType(element.type)) {\n return renderNodeToString(\n {\n ...element,\n type: element.type.type,\n },\n runtime,\n `${path}.memo`,\n );\n }\n\n if (isClassComponentType(element.type)) {\n const instance = new element.type(element.props);\n return renderNodeToString(\n renderWithRootRuntime(runtime, path, () => instance.render()),\n runtime,\n path,\n );\n }\n\n if (typeof element.type === \"function\") {\n const component = element.type as (props: typeof element.props) => ReactCompatNode;\n return renderNodeToString(\n renderWithRootRuntime(runtime, path, () => component(element.props)),\n runtime,\n path,\n );\n }\n\n return \"\";\n}\n\nfunction isClassComponentType(\n value: unknown,\n): value is new (props: Record<string, unknown>) => { render(): ReactCompatNode } {\n return (\n typeof value === \"function\" &&\n typeof (value as { prototype?: { render?: unknown } }).prototype?.render === \"function\"\n );\n}\n\nfunction renderTextareaToString(\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n): string {\n const value =\n (element.props as { value?: unknown; defaultValue?: unknown }).value ??\n (element.props as { value?: unknown; defaultValue?: unknown }).defaultValue ??\n element.props.children;\n const attributes = Object.entries(element.props)\n .filter(([name]) => name !== \"value\" && name !== \"defaultValue\")\n .map(([name, child]) => renderHtmlAttribute(name, child))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n\n return `<textarea${attributes}>${renderNodeToString(value as ReactCompatNode, runtime, `${path}.textarea`)}</textarea>`;\n}\n\nfunction renderSelectToString(\n element: ReactCompatElement,\n runtime: RootRuntime,\n path: string,\n): string {\n const selectedValue =\n (element.props as { value?: unknown; defaultValue?: unknown }).value ??\n (element.props as { value?: unknown; defaultValue?: unknown }).defaultValue;\n const attributes = Object.entries(element.props)\n .filter(([name]) => name !== \"value\" && name !== \"defaultValue\")\n .map(([name, child]) => renderHtmlAttribute(name, child))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n\n return `<select${attributes}>${renderSelectChildrenToString(\n element.props.children,\n selectedValue,\n runtime,\n `${path}.select`,\n )}</select>`;\n}\n\nfunction renderSelectChildrenToString(\n children: ReactCompatNode,\n selectedValue: unknown,\n runtime: RootRuntime,\n path: string,\n): string {\n const childArray = Array.isArray(children) ? children : [children];\n\n return childArray.map((child, index) => {\n if (!isReactCompatElement(child) || child.type !== \"option\") {\n return renderNodeToString(child, runtime, `${path}.${index}`);\n }\n\n const optionValue =\n (child.props as { value?: unknown }).value ?? child.props.children;\n const selected =\n selectedValue !== undefined && String(optionValue) === String(selectedValue);\n const props = selected\n ? { ...child.props, selected: true }\n : child.props;\n\n return renderElementToString({ ...child, props }, runtime, `${path}.${index}`);\n }).join(\"\");\n}\n\nfunction renderInputAttributesToString(props: Record<string, unknown>): string {\n const hasValue = props.value !== undefined;\n const hasChecked = props.checked !== undefined;\n\n return Object.entries(props)\n .filter(([name]) =>\n !((name === \"defaultValue\" && hasValue) || (name === \"defaultChecked\" && hasChecked))\n )\n .sort(([leftName], [rightName]) =>\n Number(isInputValueAttribute(leftName)) - Number(isInputValueAttribute(rightName))\n )\n .map(([name, value]) => renderHtmlAttribute(toInputHtmlAttributeName(name), value))\n .filter((attribute) => attribute !== \"\")\n .join(\"\");\n}\n\nfunction renderHtmlAttribute(name: string, value: unknown): string {\n if (\n name === \"children\" ||\n name === \"key\" ||\n name === \"ref\" ||\n /^on[A-Z]/.test(name) ||\n value === null ||\n value === undefined ||\n value === false ||\n typeof value === \"function\"\n ) {\n return \"\";\n }\n\n if (name === \"style\") {\n const style = renderStyleAttribute(value);\n return style === \"\" ? \"\" : ` style=\"${escapeHtml(style)}\"`;\n }\n\n const attributeName = toHtmlAttributeName(name);\n if (isDangerousHtmlAttribute(attributeName)) {\n return isDangerousHtmlOptIn(value)\n ? ` ${attributeName}=\"${escapeHtml(value.__html)}\"`\n : \"\";\n }\n\n if (typeof value === \"object\") {\n return \"\";\n }\n\n if (value === true) {\n return ` ${attributeName}=\"\"`;\n }\n\n return ` ${attributeName}=\"${escapeHtml(value)}\"`;\n}\n\nfunction isInputValueAttribute(name: string): boolean {\n return name === \"value\" || name === \"defaultValue\";\n}\n\nfunction toInputHtmlAttributeName(name: string): string {\n if (name === \"defaultValue\") {\n return \"value\";\n }\n\n if (name === \"defaultChecked\") {\n return \"checked\";\n }\n\n return name;\n}\n\nfunction toHtmlAttributeName(name: string): string {\n return HTML_ATTRIBUTE_ALIASES[name] ?? name;\n}\n\nconst HTML_ATTRIBUTE_ALIASES: Record<string, string> = {\n acceptCharset: \"accept-charset\",\n autoFocus: \"autofocus\",\n autoPlay: \"autoplay\",\n charSet: \"charset\",\n className: \"class\",\n colSpan: \"colspan\",\n contentEditable: \"contenteditable\",\n crossOrigin: \"crossorigin\",\n encType: \"enctype\",\n formAction: \"formaction\",\n frameBorder: \"frameborder\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n maxLength: \"maxlength\",\n minLength: \"minlength\",\n noValidate: \"novalidate\",\n playsInline: \"playsinline\",\n readOnly: \"readOnly\",\n rowSpan: \"rowspan\",\n spellCheck: \"spellcheck\",\n srcDoc: \"srcdoc\",\n srcSet: \"srcset\",\n tabIndex: \"tabindex\",\n useMap: \"usemap\",\n};\n\nfunction renderStyleAttribute(value: unknown): string {\n if (typeof value !== \"object\" || value === null) {\n return \"\";\n }\n\n return Object.entries(value)\n .filter(([, propertyValue]) =>\n propertyValue !== null &&\n propertyValue !== undefined &&\n typeof propertyValue !== \"boolean\" &&\n propertyValue !== \"\",\n )\n .map(([name, propertyValue]) =>\n `${toKebabCase(name)}:${renderCssValue(name, propertyValue)}`,\n )\n .join(\";\");\n}\n\nfunction renderCssValue(name: string, value: unknown): string {\n if (typeof value !== \"number\" || value === 0 || isUnitlessCssProperty(name)) {\n return String(value);\n }\n\n return `${value}px`;\n}\n\nfunction toKebabCase(value: string): string {\n return value.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);\n}\n\nfunction isUnitlessCssProperty(name: string): boolean {\n return (\n name === \"flex\" ||\n name === \"fontWeight\" ||\n name === \"lineHeight\" ||\n name === \"opacity\" ||\n name === \"order\" ||\n name === \"zIndex\" ||\n name === \"zoom\"\n );\n}\n\nconst voidHtmlElements = new Set([\n \"area\",\n \"base\",\n \"br\",\n \"col\",\n \"embed\",\n \"hr\",\n \"img\",\n \"input\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n\nfunction isForwardRefType(value: unknown): value is ForwardRefType {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === FORWARD_REF_TYPE\n );\n}\n\nfunction isMemoType(value: unknown): value is MemoType {\n return (\n typeof value === \"object\" &&\n value !== null &&\n (value as { $$typeof?: unknown }).$$typeof === MEMO_TYPE\n );\n}\n\nfunction readThenable<T>(thenable: PromiseLike<T>): T {\n const record = thenable as PromiseLike<T> & {\n status?: \"pending\" | \"fulfilled\" | \"rejected\";\n value?: T;\n reason?: unknown;\n };\n\n if (record.status === \"fulfilled\") {\n return record.value as T;\n }\n\n if (record.status === \"rejected\") {\n throw record.reason;\n }\n\n if (record.status === undefined) {\n record.status = \"pending\";\n thenable.then(\n (value) => {\n if (record.status === \"pending\") {\n record.status = \"fulfilled\";\n record.value = value;\n }\n },\n (reason) => {\n if (record.status === \"pending\") {\n record.status = \"rejected\";\n record.reason = reason;\n }\n },\n );\n }\n\n throw thenable;\n}\n\nexport type TransitionScope = () => void;\nexport type StartTransition = (scope: TransitionScope) => void;\n\nexport function startTransition(scope: TransitionScope): void {\n const context = {\n syncVersion,\n transitionVersion: ++transitionVersion,\n };\n scheduleCallback(\"low\", () => {\n if (!isTransitionContextCurrent(context)) {\n return;\n }\n\n runTransitionScope(scope, context);\n });\n}\n\nexport function runWithEventPriority<T>(\n priority: EventPriority,\n callback: () => T,\n): T {\n const previousPriority = currentEventPriority;\n currentEventPriority = priority;\n eventBatchDepth += 1;\n\n try {\n return callback();\n } finally {\n eventBatchDepth -= 1;\n currentEventPriority = previousPriority;\n\n if (eventBatchDepth === 0) {\n flushEventRerendersForPriority(priority);\n }\n }\n}\n\nexport function flushSyncUpdates<T>(callback: () => T): T {\n const previousEventBatchDepth = eventBatchDepth;\n const previousEventPriority = currentEventPriority;\n eventBatchDepth = 0;\n currentEventPriority = \"discrete\";\n\n try {\n const value = callback();\n flushQueuedEventRerenders();\n return value;\n } finally {\n eventBatchDepth = previousEventBatchDepth;\n currentEventPriority = previousEventPriority;\n }\n}\n\nexport function useTransition(): [boolean, StartTransition] {\n const [pending, setPending] = runWithoutDevToolsHookTracking(() => useState(false));\n const startTransitionWithPending: StartTransition = (scope) => {\n setPending(true);\n const context = {\n syncVersion,\n transitionVersion: ++transitionVersion,\n };\n scheduleCallback(\"low\", () => {\n if (!isTransitionContextCurrent(context)) {\n setPending(false);\n return;\n }\n\n runTransitionScope(() => {\n scope();\n setPending(false);\n }, context);\n });\n };\n\n recordDevToolsHook(\"useTransition\", {\n kind: \"transition\",\n value: pending,\n });\n\n return [\n pending,\n startTransitionWithPending,\n ];\n}\n\nexport function useDeferredValue<T>(value: T): T {\n const [deferredValue, setDeferredValue] = runWithoutDevToolsHookTracking(() =>\n useState(value)\n );\n\n runWithoutDevToolsHookTracking(() =>\n useEffect(() => {\n if (Object.is(deferredValue, value)) {\n return;\n }\n\n startTransition(() => {\n setDeferredValue(value);\n });\n }, [value, deferredValue])\n );\n\n const currentValue = Object.is(deferredValue, value) ? value : deferredValue;\n\n recordDevToolsHook(\"useDeferredValue\", {\n kind: \"deferred\",\n value: currentValue,\n });\n\n return currentValue;\n}\n\nfunction runTransitionScope(\n scope: TransitionScope,\n context: TransitionContext,\n): void {\n transitionDepth += 1;\n const previousContext = currentTransitionContext;\n currentTransitionContext = context;\n\n try {\n scope();\n } finally {\n currentTransitionContext = previousContext;\n transitionDepth -= 1;\n }\n}\n\nfunction queueTransitionRerender(\n runtime: RootRuntime,\n context: TransitionContext,\n): void {\n queuedTransitionRerenders.set(runtime, context);\n\n if (transitionRerenderScheduled) {\n return;\n }\n\n transitionRerenderScheduled = true;\n scheduleCallback(\"low\", flushQueuedTransitionRerenders);\n}\n\nfunction queueEventRerender(runtime: RootRuntime): void {\n queuedEventRerenders.add(runtime);\n}\n\nfunction flushEventRerendersForPriority(priority: EventPriority): void {\n if (priority === \"discrete\") {\n flushQueuedEventRerenders(\"sync\");\n return;\n }\n\n if (eventRerenderScheduled || queuedEventRerenders.size === 0) {\n return;\n }\n\n eventRerenderScheduled = true;\n scheduleCallback(priority === \"continuous\" ? \"normal\" : \"low\", () => {\n eventRerenderScheduled = false;\n flushQueuedEventRerenders(\n priority === \"continuous\" ? \"continuous\" : \"sync\",\n );\n });\n}\n\nfunction flushQueuedEventRerenders(priority: RenderPriority = \"sync\"): void {\n const runtimes = Array.from(queuedEventRerenders);\n queuedEventRerenders.clear();\n\n for (const runtime of runtimes) {\n runtime.rerender(priority);\n }\n}\n\nfunction flushQueuedTransitionRerenders(): void {\n transitionRerenderScheduled = false;\n const entries = Array.from(queuedTransitionRerenders.entries());\n queuedTransitionRerenders.clear();\n\n for (const [runtime, context] of entries) {\n if (isTransitionContextCurrent(context)) {\n runtime.rerender(\"transition\");\n }\n }\n}\n\nfunction isTransitionContextCurrent(context: TransitionContext): boolean {\n return (\n context.syncVersion === syncVersion &&\n context.transitionVersion === transitionVersion\n );\n}\n\nfunction useEffectImpl(\n effectKind: \"insertion\" | \"layout\" | \"normal\",\n callback: EffectCallback,\n deps?: readonly unknown[],\n): void {\n const runtime = requireRuntime();\n const instance = requireInstance();\n const index = instance.hookIndex;\n instance.hookIndex += 1;\n\n let slot = instance.hooks[index];\n\n if (slot !== undefined && slot.kind !== \"effect\") {\n throw new Error(\"Hook order changed between renders.\");\n }\n\n const shouldRun =\n slot === undefined ||\n deps === undefined ||\n slot.deps === undefined ||\n !areHookInputsEqual(deps, slot.deps);\n\n if (slot === undefined) {\n slot =\n deps === undefined\n ? { kind: \"effect\", effectKind, callback }\n : { kind: \"effect\", effectKind, callback, deps };\n instance.hooks[index] = slot;\n } else {\n slot.effectKind = effectKind;\n slot.callback = callback;\n slot.disposed = false;\n\n if (deps === undefined) {\n delete slot.deps;\n } else {\n slot.deps = deps;\n }\n }\n\n slot.strictReplay =\n runtime.strictModeDepth > 0 && effectKind !== \"insertion\";\n\n if (shouldRun) {\n const queue =\n effectKind === \"insertion\"\n ? runtime.pendingInsertionEffects\n : effectKind === \"layout\"\n ? runtime.pendingLayoutEffects\n : runtime.pendingEffects;\n queue.push({ slot });\n }\n}\n\nfunction recordExternalStoreCheck<T>(\n getSnapshot: () => T,\n value: T,\n): void {\n currentRuntime?.externalStoreChecks.push({ getSnapshot, value });\n}\n\nfunction flushPendingEffects(queue: PendingEffect[]): PendingEffect[] {\n const pending = queue.splice(0);\n const strictReplay: PendingEffect[] = [];\n\n for (const { slot } of pending) {\n if (slot.disposed === true) {\n continue;\n }\n\n slot.cleanup?.();\n const shouldReplay = slot.strictReplay === true && slot.cleanup === undefined;\n const cleanup = slot.callback();\n\n if (typeof cleanup === \"function\") {\n slot.cleanup = cleanup;\n } else {\n delete slot.cleanup;\n }\n\n if (shouldReplay) {\n strictReplay.push({ slot });\n }\n }\n\n return strictReplay;\n}\n\nfunction replayStrictEffects(effects: PendingEffect[]): void {\n for (const { slot } of effects) {\n if (slot.disposed === true) {\n continue;\n }\n\n const cleanup = slot.callback();\n\n if (typeof cleanup === \"function\") {\n slot.cleanup = cleanup;\n } else {\n delete slot.cleanup;\n }\n }\n}\n\nfunction flushProfilerCommits(\n runtime: RootRuntime,\n commits: PendingProfilerCommit[],\n): void {\n if (commits.length === 0) {\n return;\n }\n\n const commitTime = getCurrentTime();\n runtime.profilerFlushDepth += 1;\n\n try {\n for (const commit of commits) {\n commit.onRender(\n commit.id,\n commit.phase,\n commit.actualDuration,\n commit.baseDuration,\n commit.startTime,\n commitTime,\n );\n }\n } finally {\n runtime.profilerFlushDepth -= 1;\n }\n}\n\nfunction runActionStateDispatch(\n slot: Extract<HookSlot, { kind: \"action-state\" }>,\n runtime: RootRuntime,\n instance: ComponentInstance,\n payload: unknown,\n): void {\n let result: unknown;\n\n try {\n result = slot.action(slot.state, payload);\n } catch (error) {\n slot.error = error;\n scheduleInstanceUpdate(runtime, instance);\n return;\n }\n\n if (!isThenable(result)) {\n slot.state = result;\n scheduleInstanceUpdate(runtime, instance);\n return;\n }\n\n slot.pendingCount += 1;\n scheduleInstanceUpdate(runtime, instance);\n result.then(\n (nextState) => {\n slot.state = nextState;\n slot.pendingCount = Math.max(0, slot.pendingCount - 1);\n scheduleInstanceUpdate(runtime, instance);\n },\n (error) => {\n slot.error = error;\n slot.pendingCount = Math.max(0, slot.pendingCount - 1);\n scheduleInstanceUpdate(runtime, instance);\n },\n );\n}\n\nfunction scheduleInstanceUpdate(\n runtime: RootRuntime,\n instance: ComponentInstance,\n): void {\n instance.dirty = true;\n if (transitionDepth === 0) {\n syncVersion += 1;\n if (eventBatchDepth > 0) {\n queueEventRerender(runtime);\n return;\n }\n runtime.rerender(\"sync\");\n return;\n }\n\n if (currentTransitionContext !== undefined) {\n queueTransitionRerender(runtime, currentTransitionContext);\n }\n}\n\nfunction getCacheLeaf(\n scope: CacheScope,\n callback: (...args: never[]) => unknown,\n args: readonly unknown[],\n): CacheTrieNode {\n let node = scope.functionCaches.get(callback);\n\n if (node === undefined) {\n node = createCacheTrieNode();\n scope.functionCaches.set(callback, node);\n }\n\n for (const arg of args) {\n node = getCacheChild(node, arg);\n }\n\n return node;\n}\n\nfunction getCacheChild(node: CacheTrieNode, key: unknown): CacheTrieNode {\n if ((typeof key === \"object\" && key !== null) || typeof key === \"function\") {\n const objectKey = key as object;\n let child = node.objectChildren.get(objectKey);\n\n if (child === undefined) {\n child = createCacheTrieNode();\n node.objectChildren.set(objectKey, child);\n }\n\n return child;\n }\n\n let child = node.primitiveChildren.get(key);\n\n if (child === undefined) {\n child = createCacheTrieNode();\n node.primitiveChildren.set(key, child);\n }\n\n return child;\n}\n\nfunction createCacheTrieNode(): CacheTrieNode {\n return {\n primitiveChildren: new Map(),\n objectChildren: new WeakMap(),\n };\n}\n\nfunction getCurrentCacheScope(): CacheScope | undefined {\n return currentCacheScope ?? getGlobalCacheScope();\n}\n\nfunction getGlobalCacheScope(): CacheScope | undefined {\n return (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL];\n}\n\nfunction setGlobalCacheScope(scope: CacheScope | undefined): void {\n if (scope === undefined) {\n delete (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL];\n return;\n }\n\n (globalThis as { [CACHE_SCOPE_SYMBOL]?: CacheScope })[CACHE_SCOPE_SYMBOL] = scope;\n}\n\nfunction cleanupStrictEffects(effects: PendingEffect[]): void {\n for (const { slot } of effects) {\n if (slot.disposed !== true) {\n slot.cleanup?.();\n }\n }\n}\n\nfunction cleanupInactiveInstances(runtime: RootRuntime): void {\n const activeInstanceKeys = runtime.activeInstanceKeys;\n\n if (activeInstanceKeys === undefined) {\n return;\n }\n\n for (const [key, instance] of runtime.instances) {\n if (!activeInstanceKeys.has(key)) {\n cleanupInstance(instance);\n runtime.instances.delete(key);\n }\n }\n}\n\nfunction cleanupInstance(instance: ComponentInstance): void {\n for (const slot of instance.hooks) {\n if (slot?.kind === \"effect\") {\n slot.disposed = true;\n slot.cleanup?.();\n delete slot.cleanup;\n }\n }\n}\n\nfunction requireRuntime(): RootRuntime {\n if (currentRuntime === undefined) {\n throw new Error(\"Hooks can only be called while rendering.\");\n }\n\n return currentRuntime;\n}\n\nfunction requireInstance(): ComponentInstance {\n if (currentInstance === undefined) {\n throw new Error(\"Hooks can only be called while rendering.\");\n }\n\n return currentInstance;\n}\n\nfunction areHookInputsEqual(\n nextDeps: readonly unknown[],\n previousDeps: readonly unknown[],\n): boolean {\n if (nextDeps.length !== previousDeps.length) {\n return false;\n }\n\n for (let index = 0; index < nextDeps.length; index += 1) {\n if (!Object.is(nextDeps[index], previousDeps[index])) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getCurrentTime(): number {\n return typeof performance === \"undefined\" ? Date.now() : performance.now();\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export { applyStreamingHydrationFragments, createRoot, createStreamingHydrationR
|
|
|
7
7
|
export type { EventHydrationManifest, EventHydrationManifestEntry, HydrateRootOptions, HydrationRecoverableErrorInfo, Root, RootOptions, SelectiveHydrationBoundary, SelectiveHydrationOptions, StreamingHydrationRoot, StreamingHydrationRootOptions, } from "./render.js";
|
|
8
8
|
export { useCallback, useDebugValue, useDeferredValue, useEffectEvent, useEffect, useId, useImperativeHandle, useInsertionEffect, useLayoutEffect, useMemo, useOptimistic, useReducer, useRef, useState, useSyncExternalStore, use, useActionState, act, cache, cacheSignal, captureOwnerStack, renderToString, startTransition, unstable_useCacheRefresh, useTransition, version, } from "./hooks.js";
|
|
9
9
|
export type { StartTransition, TransitionScope } from "./hooks.js";
|
|
10
|
+
export { default } from "./react-default.js";
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,cAAc,EACd,IAAI,EACJ,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,6BAA6B,EAC7B,6BAA6B,EAC7B,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gCAAgC,EAChC,UAAU,EACV,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,EACN,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,EAC7B,IAAI,EACJ,WAAW,EACX,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,GAAG,EACH,cAAc,EACd,GAAG,EACH,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,cAAc,EACd,IAAI,EACJ,IAAI,GACL,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,6BAA6B,EAC7B,6BAA6B,EAC7B,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gCAAgC,EAChC,UAAU,EACV,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,EACN,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,EAC7B,IAAI,EACJ,WAAW,EACX,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,GAAG,EACH,cAAc,EACd,GAAG,EACH,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,OAAO,GACR,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { Fragment, Activity, Profiler, Suspense, SuspenseList, StrictMode, Child
|
|
|
3
3
|
export { createContext, renderContextConsumerToString, renderContextProviderToString, useContext, } from "./context.js";
|
|
4
4
|
export { applyStreamingHydrationFragments, createRoot, createStreamingHydrationRoot, enableEventHydrationManifestReplay, enableHydrationEventReplay, flushSync, hydrateRoot, queueHydrationEvent, readEventHydrationManifest, render, unmountComponentAtNode, } from "./render.js";
|
|
5
5
|
export { useCallback, useDebugValue, useDeferredValue, useEffectEvent, useEffect, useId, useImperativeHandle, useInsertionEffect, useLayoutEffect, useMemo, useOptimistic, useReducer, useRef, useState, useSyncExternalStore, use, useActionState, act, cache, cacheSignal, captureOwnerStack, renderToString, startTransition, unstable_useCacheRefresh, useTransition, version, } from "./hooks.js";
|
|
6
|
+
export { default } from "./react-default.js";
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,cAAc,EACd,IAAI,EACJ,IAAI,GACL,MAAM,cAAc,CAAC;AActB,OAAO,EACL,aAAa,EACb,6BAA6B,EAC7B,6BAA6B,EAC7B,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gCAAgC,EAChC,UAAU,EACV,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,EACN,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAarB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,GAAG,EACH,cAAc,EACd,GAAG,EACH,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,OAAO,GACR,MAAM,YAAY,CAAC","sourcesContent":["export {\n Component,\n PureComponent,\n} from \"./class-component.js\";\nexport {\n Fragment,\n Activity,\n Profiler,\n Suspense,\n SuspenseList,\n StrictMode,\n Children,\n cloneElement,\n createElement,\n createErrorBoundary,\n createPortal,\n createRef,\n forwardRef,\n isValidElement,\n lazy,\n memo,\n} from \"./element.js\";\nexport type {\n ErrorBoundaryOptions,\n ElementType,\n ReactCompatElement,\n ReactCompatNode,\n} from \"./element.js\";\nexport type {\n FormEvent,\n FormEventHandler,\n JSXEvent,\n JSXEventHandler,\n} from \"./jsx-runtime.js\";\n\nexport {\n createContext,\n renderContextConsumerToString,\n renderContextProviderToString,\n useContext,\n} from \"./context.js\";\nexport {\n applyStreamingHydrationFragments,\n createRoot,\n createStreamingHydrationRoot,\n enableEventHydrationManifestReplay,\n enableHydrationEventReplay,\n flushSync,\n hydrateRoot,\n queueHydrationEvent,\n readEventHydrationManifest,\n render,\n unmountComponentAtNode,\n} from \"./render.js\";\nexport type {\n EventHydrationManifest,\n EventHydrationManifestEntry,\n HydrateRootOptions,\n HydrationRecoverableErrorInfo,\n Root,\n RootOptions,\n SelectiveHydrationBoundary,\n SelectiveHydrationOptions,\n StreamingHydrationRoot,\n StreamingHydrationRootOptions,\n} from \"./render.js\";\nexport {\n useCallback,\n useDebugValue,\n useDeferredValue,\n useEffectEvent,\n useEffect,\n useId,\n useImperativeHandle,\n useInsertionEffect,\n useLayoutEffect,\n useMemo,\n useOptimistic,\n useReducer,\n useRef,\n useState,\n useSyncExternalStore,\n use,\n useActionState,\n act,\n cache,\n cacheSignal,\n captureOwnerStack,\n renderToString,\n startTransition,\n unstable_useCacheRefresh,\n useTransition,\n version,\n} from \"./hooks.js\";\nexport type { StartTransition, TransitionScope } from \"./hooks.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,GACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,cAAc,EACd,IAAI,EACJ,IAAI,GACL,MAAM,cAAc,CAAC;AActB,OAAO,EACL,aAAa,EACb,6BAA6B,EAC7B,6BAA6B,EAC7B,UAAU,GACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gCAAgC,EAChC,UAAU,EACV,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,EACN,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAarB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,GAAG,EACH,cAAc,EACd,GAAG,EACH,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,OAAO,GACR,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC","sourcesContent":["export {\n Component,\n PureComponent,\n} from \"./class-component.js\";\nexport {\n Fragment,\n Activity,\n Profiler,\n Suspense,\n SuspenseList,\n StrictMode,\n Children,\n cloneElement,\n createElement,\n createErrorBoundary,\n createPortal,\n createRef,\n forwardRef,\n isValidElement,\n lazy,\n memo,\n} from \"./element.js\";\nexport type {\n ErrorBoundaryOptions,\n ElementType,\n ReactCompatElement,\n ReactCompatNode,\n} from \"./element.js\";\nexport type {\n FormEvent,\n FormEventHandler,\n JSXEvent,\n JSXEventHandler,\n} from \"./jsx-runtime.js\";\n\nexport {\n createContext,\n renderContextConsumerToString,\n renderContextProviderToString,\n useContext,\n} from \"./context.js\";\nexport {\n applyStreamingHydrationFragments,\n createRoot,\n createStreamingHydrationRoot,\n enableEventHydrationManifestReplay,\n enableHydrationEventReplay,\n flushSync,\n hydrateRoot,\n queueHydrationEvent,\n readEventHydrationManifest,\n render,\n unmountComponentAtNode,\n} from \"./render.js\";\nexport type {\n EventHydrationManifest,\n EventHydrationManifestEntry,\n HydrateRootOptions,\n HydrationRecoverableErrorInfo,\n Root,\n RootOptions,\n SelectiveHydrationBoundary,\n SelectiveHydrationOptions,\n StreamingHydrationRoot,\n StreamingHydrationRootOptions,\n} from \"./render.js\";\nexport {\n useCallback,\n useDebugValue,\n useDeferredValue,\n useEffectEvent,\n useEffect,\n useId,\n useImperativeHandle,\n useInsertionEffect,\n useLayoutEffect,\n useMemo,\n useOptimistic,\n useReducer,\n useRef,\n useState,\n useSyncExternalStore,\n use,\n useActionState,\n act,\n cache,\n cacheSignal,\n captureOwnerStack,\n renderToString,\n startTransition,\n unstable_useCacheRefresh,\n useTransition,\n version,\n} from \"./hooks.js\";\nexport type { StartTransition, TransitionScope } from \"./hooks.js\";\nexport { default } from \"./react-default.js\";\n"]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Component, PureComponent } from "./class-component.js";
|
|
2
|
+
import { Fragment, Activity, Profiler, Suspense, SuspenseList, cloneElement, createElement, createErrorBoundary, createPortal, createRef, forwardRef, lazy, memo } from "./element.js";
|
|
3
|
+
import { createContext, renderContextConsumerToString, renderContextProviderToString, useContext } from "./context.js";
|
|
4
|
+
import { applyStreamingHydrationFragments, createRoot, createStreamingHydrationRoot, enableEventHydrationManifestReplay, enableHydrationEventReplay, flushSync, hydrateRoot, queueHydrationEvent, readEventHydrationManifest, render, unmountComponentAtNode } from "./render.js";
|
|
5
|
+
import { useCallback, useDebugValue, useDeferredValue, useEffectEvent, useEffect, useId, useImperativeHandle, useInsertionEffect, useLayoutEffect, useMemo, useOptimistic, useReducer, useRef, useState, useSyncExternalStore, use, useActionState, act, cache, cacheSignal, captureOwnerStack, renderToString, startTransition, unstable_useCacheRefresh, useTransition } from "./hooks.js";
|
|
6
|
+
declare const ReactCompat: {
|
|
7
|
+
readonly Component: typeof Component;
|
|
8
|
+
readonly PureComponent: typeof PureComponent;
|
|
9
|
+
readonly Fragment: typeof Fragment;
|
|
10
|
+
readonly Activity: typeof Activity;
|
|
11
|
+
readonly Profiler: typeof Profiler;
|
|
12
|
+
readonly Suspense: typeof Suspense;
|
|
13
|
+
readonly SuspenseList: typeof SuspenseList;
|
|
14
|
+
readonly StrictMode: symbol;
|
|
15
|
+
readonly Children: {
|
|
16
|
+
map<T>(children: import("./element.js").ReactCompatNode, fn: (child: Exclude<import("./element.js").ReactCompatNode, null | undefined | boolean>, index: number) => T): T[] | null;
|
|
17
|
+
forEach(children: import("./element.js").ReactCompatNode, fn: (child: Exclude<import("./element.js").ReactCompatNode, null | undefined | boolean>, index: number) => void): void;
|
|
18
|
+
count(children: import("./element.js").ReactCompatNode): number;
|
|
19
|
+
toArray(children: import("./element.js").ReactCompatNode): Exclude<import("./element.js").ReactCompatNode, null | undefined | boolean>[];
|
|
20
|
+
only(children: import("./element.js").ReactCompatNode): Exclude<import("./element.js").ReactCompatNode, null | undefined | boolean>;
|
|
21
|
+
};
|
|
22
|
+
readonly cloneElement: typeof cloneElement;
|
|
23
|
+
readonly createElement: typeof createElement;
|
|
24
|
+
readonly createErrorBoundary: typeof createErrorBoundary;
|
|
25
|
+
readonly createPortal: typeof createPortal;
|
|
26
|
+
readonly createRef: typeof createRef;
|
|
27
|
+
readonly forwardRef: typeof forwardRef;
|
|
28
|
+
readonly isValidElement: typeof import("./element.js").isReactCompatElement;
|
|
29
|
+
readonly lazy: typeof lazy;
|
|
30
|
+
readonly memo: typeof memo;
|
|
31
|
+
readonly createContext: typeof createContext;
|
|
32
|
+
readonly renderContextConsumerToString: typeof renderContextConsumerToString;
|
|
33
|
+
readonly renderContextProviderToString: typeof renderContextProviderToString;
|
|
34
|
+
readonly useContext: typeof useContext;
|
|
35
|
+
readonly applyStreamingHydrationFragments: typeof applyStreamingHydrationFragments;
|
|
36
|
+
readonly createRoot: typeof createRoot;
|
|
37
|
+
readonly createStreamingHydrationRoot: typeof createStreamingHydrationRoot;
|
|
38
|
+
readonly enableEventHydrationManifestReplay: typeof enableEventHydrationManifestReplay;
|
|
39
|
+
readonly enableHydrationEventReplay: typeof enableHydrationEventReplay;
|
|
40
|
+
readonly flushSync: typeof flushSync;
|
|
41
|
+
readonly hydrateRoot: typeof hydrateRoot;
|
|
42
|
+
readonly queueHydrationEvent: typeof queueHydrationEvent;
|
|
43
|
+
readonly readEventHydrationManifest: typeof readEventHydrationManifest;
|
|
44
|
+
readonly render: typeof render;
|
|
45
|
+
readonly unmountComponentAtNode: typeof unmountComponentAtNode;
|
|
46
|
+
readonly useCallback: typeof useCallback;
|
|
47
|
+
readonly useDebugValue: typeof useDebugValue;
|
|
48
|
+
readonly useDeferredValue: typeof useDeferredValue;
|
|
49
|
+
readonly useEffectEvent: typeof useEffectEvent;
|
|
50
|
+
readonly useEffect: typeof useEffect;
|
|
51
|
+
readonly useId: typeof useId;
|
|
52
|
+
readonly useImperativeHandle: typeof useImperativeHandle;
|
|
53
|
+
readonly useInsertionEffect: typeof useInsertionEffect;
|
|
54
|
+
readonly useLayoutEffect: typeof useLayoutEffect;
|
|
55
|
+
readonly useMemo: typeof useMemo;
|
|
56
|
+
readonly useOptimistic: typeof useOptimistic;
|
|
57
|
+
readonly useReducer: typeof useReducer;
|
|
58
|
+
readonly useRef: typeof useRef;
|
|
59
|
+
readonly useState: typeof useState;
|
|
60
|
+
readonly useSyncExternalStore: typeof useSyncExternalStore;
|
|
61
|
+
readonly use: typeof use;
|
|
62
|
+
readonly useActionState: typeof useActionState;
|
|
63
|
+
readonly act: typeof act;
|
|
64
|
+
readonly cache: typeof cache;
|
|
65
|
+
readonly cacheSignal: typeof cacheSignal;
|
|
66
|
+
readonly captureOwnerStack: typeof captureOwnerStack;
|
|
67
|
+
readonly renderToString: typeof renderToString;
|
|
68
|
+
readonly startTransition: typeof startTransition;
|
|
69
|
+
readonly unstable_useCacheRefresh: typeof unstable_useCacheRefresh;
|
|
70
|
+
readonly useTransition: typeof useTransition;
|
|
71
|
+
readonly version: "19.2.6";
|
|
72
|
+
};
|
|
73
|
+
export default ReactCompat;
|
|
74
|
+
//# sourceMappingURL=react-default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-default.d.ts","sourceRoot":"","sources":["../src/react-default.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,EAGZ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,SAAS,EACT,UAAU,EAEV,IAAI,EACJ,IAAI,EACL,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,6BAA6B,EAC7B,6BAA6B,EAC7B,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gCAAgC,EAChC,UAAU,EACV,4BAA4B,EAC5B,kCAAkC,EAClC,0BAA0B,EAC1B,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,EACN,sBAAsB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,KAAK,EACL,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,oBAAoB,EACpB,GAAG,EACH,cAAc,EACd,GAAG,EACH,KAAK,EACL,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DP,CAAC;AAEX,eAAe,WAAW,CAAC"}
|