@legendapp/state 0.23.2 → 1.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +4 -0
  3. package/helpers/pageHash.js +1 -1
  4. package/helpers/pageHash.js.map +1 -1
  5. package/helpers/pageHash.mjs +1 -1
  6. package/helpers/pageHash.mjs.map +1 -1
  7. package/helpers/pageHashParams.js +1 -1
  8. package/helpers/pageHashParams.js.map +1 -1
  9. package/helpers/pageHashParams.mjs +1 -1
  10. package/helpers/pageHashParams.mjs.map +1 -1
  11. package/history.js +3 -3
  12. package/history.js.map +1 -1
  13. package/history.mjs +4 -4
  14. package/history.mjs.map +1 -1
  15. package/index.d.ts +2 -2
  16. package/index.js +99 -67
  17. package/index.js.map +1 -1
  18. package/index.mjs +97 -64
  19. package/index.mjs.map +1 -1
  20. package/package.json +1 -1
  21. package/persist-plugins/indexeddb-preloader.js +13 -11
  22. package/persist-plugins/indexeddb-preloader.js.map +1 -1
  23. package/persist-plugins/indexeddb-preloader.mjs +13 -11
  24. package/persist-plugins/indexeddb-preloader.mjs.map +1 -1
  25. package/persist-plugins/indexeddb.d.ts +3 -2
  26. package/persist-plugins/indexeddb.js +87 -57
  27. package/persist-plugins/indexeddb.js.map +1 -1
  28. package/persist-plugins/indexeddb.mjs +88 -58
  29. package/persist-plugins/indexeddb.mjs.map +1 -1
  30. package/persist-plugins/local-storage.d.ts +4 -3
  31. package/persist-plugins/local-storage.js +18 -8
  32. package/persist-plugins/local-storage.js.map +1 -1
  33. package/persist-plugins/local-storage.mjs +18 -8
  34. package/persist-plugins/local-storage.mjs.map +1 -1
  35. package/persist-plugins/mmkv.d.ts +3 -2
  36. package/persist-plugins/mmkv.js +27 -18
  37. package/persist-plugins/mmkv.js.map +1 -1
  38. package/persist-plugins/mmkv.mjs +27 -18
  39. package/persist-plugins/mmkv.mjs.map +1 -1
  40. package/persist.d.ts +3 -2
  41. package/persist.js +274 -112
  42. package/persist.js.map +1 -1
  43. package/persist.mjs +274 -113
  44. package/persist.mjs.map +1 -1
  45. package/react-hooks/usePersistedObservable.js.map +1 -1
  46. package/react-hooks/usePersistedObservable.mjs.map +1 -1
  47. package/react.js +1 -1
  48. package/react.js.map +1 -1
  49. package/react.mjs +2 -2
  50. package/react.mjs.map +1 -1
  51. package/src/batching.d.ts +2 -9
  52. package/src/helpers.d.ts +4 -4
  53. package/src/notify.d.ts +1 -1
  54. package/src/observableInterfaces.d.ts +56 -17
  55. package/src/onChange.d.ts +4 -1
  56. package/src/persist/fieldTransformer.d.ts +8 -3
  57. package/src/persist/persistHelpers.d.ts +2 -0
  58. package/src/persist/persistObservable.d.ts +7 -3
  59. package/src/persist-plugins/indexeddb.d.ts +3 -2
  60. package/src/persist-plugins/local-storage.d.ts +4 -3
  61. package/src/persist-plugins/mmkv.d.ts +3 -2
  62. package/trace.js.map +1 -1
  63. package/trace.mjs.map +1 -1
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/tracking.ts","../../src/globals.ts","../../src/helpers.ts","../../src/batching.ts","../../src/notify.ts","../../src/onChange.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/is.ts","../../src/tracking.ts","../../src/globals.ts","../../src/helpers.ts","../../src/batching.ts","../../src/notify.ts","../../src/onChange.ts","../../src/ObservablePrimitive.ts","../../src/observable.ts","../../src/observe.ts","../../src/computed.ts","../../src/event.ts","../../src/when.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;AAEM,SAAU,OAAO,CAAC,GAAY,EAAA;AAChC,IAAA,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AACK,SAAU,QAAQ,CAAC,GAAY,EAAA;AACjC,IAAA,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACnC,CAAC;AACK,SAAU,QAAQ,CAAC,GAAY,EAAA;AACjC,IAAA,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC7D,CAAC;AACK,SAAU,UAAU,CAAC,GAAY,EAAA;AACnC,IAAA,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC;AACrC,CAAC;AACK,SAAU,WAAW,CAAC,GAAY,EAAA;AACpC,IAAA,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC;IACxB,OAAO,GAAG,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,UAAU,CAAC;AACzE,CAAC;AACK,SAAU,QAAQ,CAAC,GAAY,EAAA;AACjC,IAAA,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;AACnC,CAAC;AACK,SAAU,SAAS,CAAC,GAAY,EAAA;AAClC,IAAA,OAAO,OAAO,GAAG,KAAK,SAAS,CAAC;AACpC,CAAC;AACK,SAAU,SAAS,CAAI,GAAY,EAAA;IACrC,OAAO,GAAG,YAAY,OAAO,CAAC;AAClC,CAAC;AACK,SAAU,OAAO,CAAC,GAAW,EAAA;AAC/B,IAAA,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAChD,CAAC;AACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC/D;AACM,SAAU,iBAAiB,CAAC,GAAY,EAAA;AAC1C,IAAA,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;AACzC,CAAC;AACD;AACM,SAAU,gBAAgB,CAAC,IAAe,EAAA;AAC5C,IAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACzB;;AC7BA,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,MAAM,aAAa,GAAkC,EAAE,CAAC;AAE3C,MAAA,QAAQ,GAAG;AACpB,IAAA,OAAO,EAAE,SAAsC;AAC/C,IAAA,cAAc,EAAE,KAAK;EACvB;SAEc,aAAa,GAAA;;;AAGzB,IAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACrC,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,QAAQ,CAAC,OAAO,GAAG,EAAE,CAAC;AAC1B,CAAC;SACe,WAAW,GAAA;;AAEvB,IAAA,UAAU,EAAE,CAAC;IACb,IAAI,UAAU,GAAG,CAAC,EAAE;QAChB,UAAU,GAAG,CAAC,CAAC;AACf,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;;AAE3E,YAAA,SAAS;AACZ,SAAA;AACJ,KAAA;AACD,IAAA,QAAQ,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,EAAE,CAAC;AAC3C,CAAC;AAEe,SAAA,cAAc,CAAC,IAAe,EAAE,KAAoB,EAAA;AAChE,IAAA,IAAI,UAAU,EAAE;AACZ,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,OAAO,EAAE;AACT,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;AAChB,gBAAA,OAAO,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,aAAA;AAGD,YAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5C,YAAA,IAAI,QAAQ,EAAE;gBACV,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC;gBACzC,QAAQ,CAAC,GAAG,EAAE,CAAC;AAClB,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,aAAA;AACJ,SAAA;AACJ,KAAA;AACL;;ACnDA;AACO,MAAM,eAAe,GAAG,IAAI;AACtB,MAAA,kBAAkB,mBAAmB,MAAM,CAAC,cAAc,EAAE;MAC5D,kBAAkB,GAAG,MAAM,CAAC,cAAc,EAAE;MAC5C,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE;AACxC,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AACxC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAC9B,MAAA,YAAY,mBAAmB,MAAM,CAAC,QAAQ,EAAE;AACtD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAEtC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAA2B;IACtE,CAAC,UAAU,EAAE,IAAI,CAAC;AAClB,IAAA,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC;AAC7B,CAAA,CAAC,CAAC;AACU,MAAA,mBAAmB,GAAG,IAAI,GAAG,GAAyB;AAE5D,MAAM,UAAU,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAEzB,SAAA,GAAG,CAAC,IAAe,EAAE,KAAoB,EAAA;;AAErD,IAAA,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAE5B,IAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAEK,SAAU,IAAI,CAAC,IAAe,EAAA;AAChC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC7B,KAAA;AACD,IAAA,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAEK,SAAU,YAAY,CAAC,IAAe,EAAA;IACxC,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,IAAI,CAAC,GAAc,IAAI,CAAC;AACxB,IAAA,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE;AACxB,QAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAChB,QAAA,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAChB,KAAA;AACD,IAAA,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,IAAA,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,EAAE;YAC/B,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEe,SAAA,YAAY,CAAC,IAAe,EAAE,GAAoB,EAAA;;AAC9D,IAAA,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AACf,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;;;AAGf,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,GAAG,GAAG,CAAC,CAAC;AAC1B,KAAA;;IAGD,IAAI,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;;IAGpC,IAAI,CAAC,KAAK,EAAE;AACR,QAAA,KAAK,GAAG;AACJ,YAAA,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,YAAA,MAAM,EAAE,IAAI;YACZ,GAAG;;SAEN,CAAC;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AAC7B,SAAA;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACjC,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAEK,SAAU,eAAe,CAAC,IAAe,EAAA;AAC3C,IAAA,IAAI,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE;AACR,QAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC5C,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACjC,SAAA;AAAM,aAAA;YACH,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AAC5B,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAKK,SAAU,SAAS,CAAC,GAAwB,EAAA;IAC9C,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,KAAK,IAAI,GAAG,GAAG,KAAK,GAAG,MAAM,IAAI,GAAG,GAAG,MAAM,GAAG,SAAS,IAAI,SAAS,CAAC;AACxH;;ACvFM,SAAU,YAAY,CAAC,GAAQ,EAAA;IACjC,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,kBAAyB,CAAC,CAAC;AACnD,CAAC;AAEe,SAAA,eAAe,CAAI,QAAqB,EAAE,CAAmB,EAAA;IACzE,IAAI,CAAC,GAAG,QAAe,CAAC;AACxB,IAAA,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AACf,QAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;AACtB,KAAA;AAED,IAAA,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACzC,CAAC;AAEK,SAAU,OAAO,CAAC,GAAuB,EAAA;AAC3C,IAAA,OAAQ,GAAW,CAAC,aAAa,CAAC,CAAC;AACvC,CAAC;AAEK,SAAU,kBAAkB,CAAC,GAAuB,EAAA;AACtD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1B,IAAA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAc,CAAC;AAC/B,IAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAEK,SAAU,YAAY,CAAmB,KAAQ,EAAA;AAClD,IAAA,KAAyB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AAChD,IAAA,OAAO,KAAwB,CAAC;AACpC,CAAC;AAEe,SAAA,cAAc,CAAC,GAAuB,EAAE,KAAc,EAAA;;IAClE,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,GAAG,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC;AAChC,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB,KAAA;AACL,CAAC;AACK,SAAU,SAAS,CAAC,GAAwB,EAAE,IAAc,EAAE,KAAU,EAAE,IAAsB,EAAA;IAClG,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,IAAI,CAAC,GAAG,KAAK,CAAC;AACd,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACX,QAAA,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAChB,KAAA;IAED,IAAI,CAAC,KAAK,YAAY,EAAE;QACnB,CAAqB,CAAC,MAAM,EAAE,CAAC;AACnC,KAAA;;AAEI,SAAA,IAAI,IAAI,KAAK,QAAQ,IAAK,CAAsB,CAAC,MAAM,EAAE;AACzD,QAAA,CAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACrC,KAAA;AAAM,SAAA;AACH,QAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACZ,KAAA;AACL,CAAC;SACe,mBAAmB,CAAsC,MAAS,EAAE,GAAG,OAAc,EAAA;;IACjG,IAAI,CAAC,OAAO,CAAC,MAAM;AAAE,QAAA,OAAO,MAAM,CAAC;AAEnC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;AAE/B,IAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AACtC,IAAA,IAAI,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC;AAEpD,IAAA,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE1D,IAAA,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE;AACvE,QAAA,MAAM,IAAI,GAAU,WAAW,GAAI,MAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1E,QAAA,IAAI,YAAY,GAAG,MAAM,CAAC,kBAAyB,CAAC,CAAC;AACrD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,GAAI,IAAI,CAAC,CAAC,CAAY,CAAC;AAClD,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,WAAW,KAAK,YAAY,EAAE;gBAC9B,QAAQ,KAAI,CAAA,EAAA,GAAA,MAAM,CAAC,GAAG,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,CAAA,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,OAAQ,MAA8B,CAAC,GAAG,CAAC,CAAC;AACxG,aAAA;AAAM,iBAAA,IAAI,QAAQ,CAAC,WAAW,CAAC,EAAE;AAC9B,gBAAA,IAAI,CAAC,QAAQ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AACvD,oBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACpB,iBAAA;gBACD,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;AAC9C,gBAAA,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,EAAE,WAAW,CAAC,kBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3F,aAAA;AAAM,iBAAA,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE;AAC7B,gBAAA,IAAI,CAAC,QAAQ,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AACtD,oBAAA,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACpB,iBAAA;gBACD,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;AACjD,aAAA;AAAM,iBAAA;gBACH,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,IAAK,MAAM,CAAC,GAAG,CAAS,GAAG,WAAW,CAAC,CAAC;AAClF,aAAA;AACJ,SAAA;AACD,QAAA,IAAI,YAAY,EAAE;YACd,QAAQ;kBACF,MAAM,CAAC,kBAAyB,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;mBAClD,MAAM,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAAC,CAAC;AACrD,SAAA;AACJ,KAAA;AAAM,SAAA;AACH,QAAA,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAK,MAAc,GAAG,MAAM,CAAC,CAAC;AAC9D,KAAA;AAED,IAAA,OAAO,OAAO,CAAC,MAAM,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC;AAC7E,CAAC;SAEe,uBAAuB,CAAC,IAAyB,EAAE,KAAU,EAAE,SAAuB,EAAA;AAClG,IAAA,IAAI,GAAG,CAAC;AACR,IAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;AACnB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,YAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC;AAC1E,YAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,SAAA;AACJ,KAAA;AAAM,SAAA;QACH,GAAG,GAAG,KAAK,CAAC;AACf,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AACe,SAAA,yBAAyB,CAAC,IAAyB,EAAE,KAAU,EAAA;IAC3E,IAAI,CAAC,GAAG,KAAK,CAAC;AACd,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClC,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,QAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACZ,KAAA;AAED,IAAA,OAAO,CAAC,CAAC;AACb;;ACjIA,IAAI,OAAkD,CAAC;AACvD,IAAI,UAAU,GAAG,CAAC,CAAC;AACnB,IAAI,MAAM,GAAiC,EAAE,CAAC;AAC9C;AACA,IAAI,SAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;AAExD,SAAS,eAAe,GAAA;AACpB,IAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACnB,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;AACxC,YAAA,OAAO,CAAC,KAAK,CACT,uIAAuI,CAC1I,CAAC;AACL,SAAA;AACD,QAAA,QAAQ,WAAW,IAAI,CAAC,CAAC;AAC5B,KAAA;AACL,CAAC;AAEK,SAAU,WAAW,CAAC,CAA2B,EAAA;AACnD,IAAA,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AAC7B,IAAA,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;IAC7B,IAAI,UAAU,GAAG,CAAC,EAAE;QAChB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC;;AAE7B,QAAA,IAAI,QAAQ,EAAE;YACV,IAAI,CAAC,MAAM,EAAE;AACT,gBAAA,MAAM,MAAM,GAAI,QAAsB,CAAC,MAAM,CAAC;gBAC9C,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9B,gBAAA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC5C,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACf,YAAA,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACzB,SAAA;AACJ,KAAA;AAAM,SAAA;AACH,QAAA,MAAM,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACjC,KAAA;AACL,CAAC;AAEK,SAAU,KAAK,CAAC,EAAc,EAAA;AAChC,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,EAAE,EAAE,CAAC;AACL,IAAA,QAAQ,EAAE,CAAC;AACf,CAAC;SACe,UAAU,GAAA;AACtB,IAAA,UAAU,EAAE,CAAC;;IAEb,IAAI,CAAC,OAAO,EAAE;AACV,QAAA,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAC5C,KAAA;AACL,CAAC;AACK,SAAU,QAAQ,CAAC,KAAe,EAAA;AACpC,IAAA,UAAU,EAAE,CAAC;AACb,IAAA,IAAI,UAAU,IAAI,CAAC,IAAI,KAAK,EAAE;QAC1B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,SAAS,CAAC;QACpB,UAAU,GAAG,CAAC,CAAC;;;QAGf,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,MAAM,GAAG,EAAE,CAAC;AACZ,QAAA,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;AACf,gBAAA,CAAC,EAAE,CAAC;AACP,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACjB,gBAAA,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChB,aAAA;AACJ,SAAA;AACJ,KAAA;AACL;;AC1EA,SAAS,qBAAqB,CAAC,KAAU,EAAE,IAAyB,EAAE,UAAe,EAAA;;IAEjF,OAAO,YAAA;AACH,QAAA,IAAI,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrF,IAAI,CAAC,GAAG,KAAK,CAAC;AACd,QAAA,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AACjB,YAAA,IAAI,CAAS,CAAC;AACd,YAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAClC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClB,aAAA;YACD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;AAC3B,SAAA;AAAM,aAAA;YACH,KAAK,GAAG,UAAU,CAAC;AACtB,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAC;AACN,CAAC;SAEe,QAAQ,CACpB,IAAe,EACf,KAAU,EACV,IAAyB,EACzB,SAAiC,EACjC,WAAgB,EAChB,UAAe,EACf,KAAa,EACb,mBAA6B,EAAA;AAE7B,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACjC,IAAA,IAAI,SAAS,EAAE;AACX,QAAA,IAAI,WAAW,CAAC;QAChB,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,MAAM,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1B,YAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;YAErC,MAAM,EAAE,GACJ,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;kBAC/B,KAAK,IAAI,CAAC;kBACV,KAAK,KAAK,UAAU;AACtB,sBAAE,mBAAmB,IAAI,KAAK,IAAI,CAAC;sBACjC,IAAI,CAAC;;AAGf,YAAA,IAAI,EAAE,EAAE;;;AAGJ,gBAAA,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE;oBACzB,WAAW,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;AAChE,iBAAA;AACD,gBAAA,WAAW,CACP,MAAM;sBACC,UAAU,CAAC,QAAuB;AACrC,sBAAE;wBACI,EAAE,EAAE,UAAU,CAAC,QAAQ;AACvB,wBAAA,MAAM,EAAE;4BACJ,KAAK;4BACL,WAAW;AACX,4BAAA,OAAO,EAAE;AACL,gCAAA;oCACI,IAAI;oCACJ,SAAS;oCACT,WAAW;oCACX,UAAU;AACb,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACJ,qBAAA,CACV,CAAC;AACL,aAAA;AACJ,SAAA;AACJ,KAAA;AACL,CAAC;AAED,SAAS,cAAc,CACnB,IAAe,EACf,KAAU,EACV,IAAyB,EACzB,SAAuB,EACvB,WAAgB,EAChB,UAAe,EACf,KAAa,EACb,mBAA6B,EAAA;;AAG7B,IAAA,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;;IAE5F,IAAI,IAAI,CAAC,MAAM,EAAE;AACb,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;AAC3B,QAAA,IAAI,MAAM,EAAE;AACR,YAAA,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACzC,cAAc,CACV,MAAM,EACN,WAAW,EACX,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EACvB,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,EACvE,WAAW,EACX,UAAU,EACV,KAAK,GAAG,CAAC,EACT,mBAAmB,CACtB,CAAC;AACL,SAAA;AACJ,KAAA;AACL,CAAC;AACK,SAAU,MAAM,CAAC,IAAe,EAAE,KAAU,EAAE,IAAS,EAAE,KAAa,EAAE,mBAA6B,EAAA;;AAEvG,IAAA,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC;AACjF;;AC5GM,SAAU,QAAQ,CACpB,IAAe,EACf,QAAyB,EACzB,OAA4D,EAC5D,MAAgB,EAAA;AAEhB,IAAA,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,SAAS,EAAE;QACZ,IAAI,CAAC,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1C,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,YAAY,EAAE,MAAM,EAAE,CAAC;AAE9E,IAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAExB,IAAA,IAAI,OAAO,KAAP,IAAA,IAAA,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;AAClB,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAClD,KAAA;IAED,OAAO,MAAM,SAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7C;;ACNM,SAAU,wBAAwB,CAA6D,IAAe,EAAA;AAChH,IAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AACD;AACA,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;AACrE,IAAA,YAAY,EAAE,IAAI;IAClB,GAAG,GAAA;QACC,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AACJ,CAAA,CAAC,CAAC;AACH,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,EAAE,kBAAkB,EAAE;AAC1E,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,KAAK,EAAE,IAAI;AACd,CAAA,CAAC,CAAC;AACH,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,SAAS,EAAE,aAAa,EAAE;AACrE,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,KAAK,EAAE,KAAK;AACf,CAAA,CAAC,CAAC;AACH,wBAAwB,CAAC,SAAS,CAAC,IAAI,GAAG,YAAA;AACtC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE;QACf,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;AAC7B,KAAA;IACD,OAAO,IAAI,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AACF,wBAAwB,CAAC,SAAS,CAAC,GAAG,GAAG,YAAA;AACrC,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IACxB,cAAc,CAAC,IAAI,CAAC,CAAC;AAErB,IAAA,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC,CAAC;AACF;AACA,wBAAwB,CAAC,SAAS,CAAC,GAAG,GAAG,UAAa,KAA2B,EAAA;AAC7E,IAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACnB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpC,KAAA;AACD,IAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;QACxB,MAAM,IAAI,KAAK,CACX,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAClC,cAAE,uIAAuI;cACvI,2CAA2C,CACpD,CAAC;AACL,KAAA;AACD,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC7B,IAAA,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AACpB,IAAA,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;AACf,IAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACpD,IAAA,OAAO,IAAqC,CAAC;AACjD,CAAC,CAAC;AACF,wBAAwB,CAAC,SAAS,CAAC,MAAM,GAAG,YAAA;AACxC,IAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAC1B,IAAA,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClB,QAAA,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACpB,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AAClF,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACvE,KAAA;IAED,OAAO,CAAC,KAAK,CAAC;AAClB,CAAC,CAAC;AACF;AACA,wBAAwB,CAAC,SAAS,CAAC,QAAQ,GAAG,UAC1C,EAAiB,EACjB,OAA4D,EAC5D,MAAgB,EAAA;AAEhB,IAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;;AC/CD,IAAI,KAAK,GAAG,KAAK,CAAC;AAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC3B,YAAY;IACZ,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;AACZ,CAAA,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACtG,MAAM,SAAS,GAAG,IAAI,GAAG,CAAmB;IACxC,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,UAAU,EAAE,QAAQ,CAAC;IACtB,CAAC,QAAQ,EAAE,MAAM,CAAC;IAClB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,MAAM,CAAC;AACrB,CAAA,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,IAAe,EAAE,MAAW,EAAE,IAAY,EAAE,GAAG,IAAW,EAAA;;AAChF,IAAA,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,MAAM,CAAC;AAEhE,IAAA,MAAM,GAAG,GAAI,MAAM,CAAC,IAAI,CAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAE3D,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACzC,QAAA,MAAM,GAAG,GAAoB,SAAS,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;AACxD,QAAA,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;;AAGtE,QAAA,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;;QAG7B,MAAM,CAAC,MAAA,IAAI,CAAC,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,EAAE,SAAS,GAAG,GAAG,GAAI,WAAmB,EAAE,MAAM,CAAC,CAAC;AAC/E,KAAA;;AAGD,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,MAAiB,EAAE,GAA8C,EAAE,SAAe,EAAA;IACnG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,YAAmB,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,YAAmB,CAAC,CAAC,EAAE;AACxG,QAAA,MAAM,MAAM,GAAG,GAAG,KAAK,SAAS,CAAC;AACjC,QAAA,IAAI,MAAM,EAAE;YACR,IAAI,MAAM,CAAC,SAAS,EAAE;AAClB,gBAAA,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;AACjB,KAAA;AACD,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAE3B,IAAA,IAAI,gBAAkE,CAAC;AACvE,IAAA,IAAI,KAAsD,CAAC;;IAG3D,MAAM,IAAI,GAAa,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AAEjE,IAAA,IAAI,OAA0B,CAAC;IAC/B,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,IAAA,IAAI,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE;;AAE7B,QAAA,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AACtB,YAAA,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACpC,YAAA,IAAI,cAAc,EAAE;AAChB,gBAAA,OAAO,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;AAEpC,gBAAA,IAAI,OAAO,EAAE;AACT,oBAAA,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;oBAC7B,KAAK,GAAG,EAAE,CAAC;oBACX,IAAI,MAAM,CAAC,QAAQ,EAAE;AACjB,wBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,4BAAA,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACvB,4BAAA,IAAI,CAAC,EAAE;gCACH,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrC,gCAAA,IAAI,KAAK,EAAE;oCACP,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;AAC3C,iCAAA;AACJ,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA;SAAM,IAAI,SAAS,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE;;QAElD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxC,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AACxB,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACrB,QAAQ,GAAG,IAAI,CAAC;gBAChB,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,gBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAC5B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;AACpB,oBAAA,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AACvC,iBAAA;gBAED,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB,oBAAA,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1D,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;AAC1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,QAAQ,GAAG,QAAQ,IAAI,CAAA,GAAG,KAAH,IAAA,IAAA,GAAG,uBAAH,GAAG,CAAE,MAAM,OAAK,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM,CAAA,CAAC;QACzD,MAAM,SAAS,GAAG,QAAQ,CAAC;QAC3B,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7B,YAAA,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,KAAK,GAAI,GAAW,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,IAAI,GAAG,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAG,GAAG,CAAC,CAAC;AAE9B,YAAA,IAAI,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC;AAC5B,YAAA,IAAI,MAAM,EAAE;gBACR,MAAM,EAAE,GAAG,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAG,OAAgB,CAAC,CAAC;gBAErC,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;;AAItC,gBAAA,IAAI,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE;;oBAE3B,MAAM,SAAS,GAAG,EAAE,KAAK,SAAS,GAAG,gBAAgB,KAAhB,IAAA,IAAA,gBAAgB,uBAAhB,gBAAgB,CAAE,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;oBAC3E,IAAI,CAAC,SAAS,EAAE;;wBAEZ,MAAM,GAAG,KAAK,CAAC;wBACf,QAAQ,GAAG,IAAI,CAAC;AACnB,qBAAA;yBAAM,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,GAAG,KAAK,GAAG,EAAE;;;;AAIzD,wBAAA,IAAI,SAAS,EAAE;4BACX,KAAK,GAAG,SAAS,CAAC;4BAClB,MAAM,CAAC,QAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnC,4BAAA,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;4BAChB,KAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7B,yBAAA;wBAED,OAAO,GAAG,IAAI,CAAC;;wBAGf,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,wBAAA,MAAM,GAAG,UAAU,KAAK,KAAK,CAAC;AACjC,qBAAA;AACJ,iBAAA;AAED,gBAAA,IAAI,MAAM,EAAE;;;AAGR,oBAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;wBACpB,QAAQ,GAAG,IAAI,CAAC;AACnB,qBAAA;AAAM,yBAAA;wBACH,QAAQ,GAAG,QAAQ,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1D,qBAAA;AACJ,iBAAA;AACD,gBAAA,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE;;;;;oBAKtB,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB,wBAAA,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC9D,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,KAAK,EAAE;AACP,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,CAAC,QAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACpC,aAAA;AACJ,SAAA;;;QAID,OAAO,QAAQ,IAAI,OAAO,CAAC;AAC9B,KAAA;AAAM,SAAA,IAAI,SAAS,EAAE;;AAElB,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,CAAmB,EAAA;;IAElD,IAAI,CAAC,KAAK,SAAS;AAAE,QAAA,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;;AAGlD,IAAA,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAY,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,YAAY,GAAsB;IACpC,GAAG,CAAC,IAAe,EAAE,CAAM,EAAA;;;QAEvB,IAAI,CAAC,KAAK,kBAAkB,EAAE;AAC1B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QACD,IAAI,CAAC,KAAK,aAAa,EAAE;AACrB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,IAAI,CAAC,KAAK,aAAa,EAAE;AACrB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;AAE5B,QAAA,IAAI,EAAE,EAAE;AACJ,YAAA,OAAO,UAAU,CAAU,EAAE,CAAU,EAAE,CAAU,EAAA;AAC/C,gBAAA,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;;;;AAI3B,gBAAA,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC5E,aAAC,CAAC;AACL,SAAA;AAED,QAAA,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;AAEvB,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAE5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,gBAAgB,EAAE;AAC3D,YAAA,IAAI,mBAAmB,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5F,gBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,oBAAA,OAAO,MAAA,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,KAAK,CAAC;AACjD,iBAAA;AACJ,aAAA;AACJ,SAAA;QAED,MAAM,KAAK,GAAG,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;QAEzB,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,YAAmB,CAAC,EAAE;AAC/C,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;;AAGD,QAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACnB,YAAA,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;AAChB,gBAAA,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;AAEvB,oBAAA,OAAO,CAAC,GAAG,IAAW,KAAK,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;AACxE,iBAAA;AAAM,qBAAA,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;;;AAG5B,oBAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC3B,OAAO,UAAU,MAAW,EAAE,OAAY,EAAA;AACtC,wBAAA,SAAS,EAAE,CAAC,CAAM,EAAE,KAAa,EAAE,KAAY,EAAA;AAC3C,4BAAA,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;yBACtD;wBACD,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACjC,qBAAC,CAAC;AACL,iBAAA;AACJ,aAAA;;AAED,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5B,SAAA;;AAGD,QAAA,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE;;YAEpB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE;AAClC,gBAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;;AAG3B,gBAAA,OAAO,KAAK,CAAC;AAChB,aAAA;AACJ,SAAA;;AAGD,QAAA,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KAC5B;;AAED,IAAA,cAAc,CAAC,IAAI,EAAA;AACf,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;KAC7F;AACD,IAAA,OAAO,CAAC,IAAe,EAAA;AACnB,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,WAAW,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,EAAE,CAAC;AAElC,QAAA,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;;AAGjD,QAAA,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;;;AAK3B,QAAA,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;IACD,wBAAwB,CAAC,IAAI,EAAE,CAAC,EAAA;AAC5B,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,wBAAwB,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC;KACvF;AACD,IAAA,GAAG,CAAC,IAAe,EAAE,IAAY,EAAE,KAAK,EAAA;;AAEpC,QAAA,IAAI,KAAK,EAAE;YACP,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACzC,SAAA;QAED,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1B,QAAA,OAAO,IAAI,CAAC;KACf;IACD,cAAc,CAAC,MAAiB,EAAE,IAAI,EAAA;;AAElC,QAAA,IAAI,KAAK,EAAE;YACP,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/C,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;KACJ;IACD,GAAG,CAAC,MAAM,EAAE,IAAI,EAAA;AACZ,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KACnC;CACJ,CAAC;AAEF,SAAS,GAAG,CAAC,IAAe,EAAE,QAAc,EAAA;AACxC,IAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QACd,OAAO,MAAM,CAAC,IAAI,EAAE,WAAkB,EAAE,QAAQ,CAAC,CAAC;AACrD,KAAA;AAAM,SAAA;AACH,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAClD,KAAA;AACL,CAAC;AACD,SAAS,MAAM,CAAC,IAAe,EAAA;AAC3B,IAAA,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AACjC,IAAA,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;AAClB,QAAA,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC;AACjB,KAAA;AAAM,SAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;AAClF,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACvE,KAAA;AACL,CAAC;AAED,SAAS,MAAM,CAAC,IAAe,EAAE,GAAoB,EAAE,QAAc,EAAE,KAAc,EAAA;AACjF,IAAA,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;QACxC,IAAI,OAAO,WAAW,KAAK,WAAW,IAAI,QAAQ,YAAY,WAAW,EAAE;AACvE,YAAA,OAAO,CAAC,IAAI,CAAC,CAAA,iFAAA,CAAmF,CAAC,CAAC;AACrG,SAAA;AACJ,KAAA;AAED,IAAA,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAClB,MAAM,IAAI,KAAK,CACX,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;AAClC,cAAE,uIAAuI;cACvI,2CAA2C,CACpD,CAAC;AACL,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,QAAQ,KAAK,WAAW,CAAC;AAC1C,IAAA,IAAI,QAAQ;QAAE,QAAQ,GAAG,SAAS,CAAC;AAEnC,IAAA,MAAM,MAAM,GAAI,GAAW,KAAK,WAAW,CAAC;;AAG5C,IAAA,IAAI,SAAS,GAAc,MAAM,GAAG,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;;AAGnE,IAAA,IAAI,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;AAE7D,IAAA,IAAI,MAAM,EAAE;QACR,GAAG,GAAG,GAAG,CAAC;AACb,KAAA;;AAGD,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;;IAGnC,QAAQ;AACJ,QAAA,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC;AAC7B,cAAE,QAAQ,CAAC,SAAS,CAAC;AACrB,cAAE,QAAQ,CAAC,QAAQ,CAAC,KAAI,QAAQ,KAAR,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAAG,kBAAyB,CAAC,CAAA;AAC7D,kBAAE,QAAQ,CAAC,GAAG,EAAE;kBACd,QAAQ,CAAC;IAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,QAAQ,YAAY,IAAI,CAAC;IAEjE,KAAK,GAAG,IAAI,CAAC;;AAEb,IAAA,IAAI,QAAQ,EAAE;AACV,QAAA,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;AAC3B,KAAA;AAAM,SAAA;AACH,QAAA,WAAW,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC/B,KAAA;IACD,KAAK,GAAG,KAAK,CAAC;;AAGd,IAAA,UAAU,EAAE,CAAC;IAEb,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,IAAI,mBAAmB,GAAG,KAAK,CAAC;;AAEhC,IAAA,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE;QACnD,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACvD,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AACnB,YAAA,mBAAmB,GAAG,CAAA,QAAQ,aAAR,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAR,QAAQ,CAAE,MAAM,OAAK,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,MAAM,CAAA,CAAC;AAChE,SAAA;AACJ,KAAA;IAED,IAAI,MAAM,GAAG,QAAQ,KAAK,SAAS,GAAG,QAAQ,EAAE;;QAE5C,MAAM,CACF,MAAM,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,QAAQ,EACR,SAAS,EACT,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAK,GAAI,SAAS,KAAK,SAAS,IAAG,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC,EACxD,mBAAmB,CACtB,CAAC;AACL,KAAA;AAED,IAAA,QAAQ,EAAE,CAAC;AAEX,IAAA,OAAO,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,MAAM,CAAC,IAAe,EAAE,KAAU,EAAA;AACvC,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE7B,IAAA,UAAU,EAAE,CAAC;IAEb,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;AACpB,KAAA;;IAGD,QAAQ,GAAG,IAAI,CAAC;IAChB,IAAI;AACA,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/B,KAAA;AAAS,YAAA;QACN,QAAQ,GAAG,KAAK,CAAC;AACpB,KAAA;AAED,IAAA,QAAQ,EAAE,CAAC;AAEX,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,GAAqB,EAAA;;IAEpD,IAAI,GAAG,KAAK,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;AAC7C,QAAA,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;AACf,QAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB,KAAA;;AAED,IAAA,MAAM,CAAC,IAAI,EAAE,GAAsB,EAAE,WAAW,YAAY,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAGD,SAAS,gBAAgB,CACrB,KAAsB,EACtB,aAAuB,EAAA;AAEvB,IAAA,MAAM,cAAc,GAAG,SAAS,CAAI,KAAK,CAAC,CAAC;AAC3C,IAAA,MAAM,IAAI,GAAmB;QACzB,CAAC,EAAE,cAAc,GAAG,SAAS,GAAG,KAAK;KACxC,CAAC;AAEF,IAAA,MAAM,IAAI,GAAc;AACpB,QAAA,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE;QACxB,IAAI;KACP,CAAC;AAEF,IAAA,MAAM,GAAG,GACL,aAAa,IAAI,iBAAiB,CAAC,KAAK,CAAC;AACrC,UAAG,IAAK,wBAAgC,CAAC,IAAI,CAA4B;AACzE,UAAG,QAAQ,CAAC,IAAI,CAAgC,CAAC;AAEzD,IAAA,IAAI,cAAc,EAAE;AAChB,QAAA,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,KAAI;AAClB,YAAA,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAS,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;AACH,QAAA,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,KAAI;AACjB,YAAA,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,SAAC,CAAC,CAAC;AACN,KAAA;AAED,IAAA,OAAO,GAAG,CAAC;AACf,CAAC;AAEK,SAAU,UAAU,CAAI,KAAsB,EAAA;AAChD,IAAA,OAAO,gBAAgB,CAAC,KAAK,CAAkB,CAAC;AACpD,CAAC;AAEK,SAAU,mBAAmB,CAAI,KAAsB,EAAA;IACzD,OAAO,gBAAgB,CAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC;AAC9D;;AC9hBA,SAAS,aAAa,CAAC,KAA4C,EAAE,MAAkB,EAAE,MAAgB,EAAA;IACrG,IAAI,SAAS,GAA+B,EAAE,CAAC;;AAE/C,IAAA,IAAI,KAAK,EAAE;AACP,QAAA,KAAK,IAAI,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;AAChC,YAAA,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;AAChC,YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3E,SAAA;AACJ,KAAA;AAED,IAAA,OAAO,MAAK;AACR,QAAA,IAAI,SAAS,EAAE;AACX,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,gBAAA,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AAClB,aAAA;YACD,SAAS,GAAG,SAAS,CAAC;AACzB,SAAA;AACL,KAAC,CAAC;AACN,CAAC;AAIe,SAAA,OAAO,CACnB,aAA+D,EAC/D,QAAmD,EAAA;AAEnD,IAAA,IAAI,OAAmB,CAAC;AACxB,IAAA,MAAM,CAAC,GAA4B,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;AAE9C,IAAA,IAAI,MAAM,GAAG,YAAA;;QACT,IAAI,CAAC,CAAC,SAAS,EAAE;YACb,CAAC,CAAC,SAAS,EAAE,CAAC;AACd,YAAA,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,SAAA;;AAGD,QAAA,OAAO,KAAP,IAAA,IAAA,OAAO,KAAP,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,OAAO,EAAI,CAAC;;AAGZ,QAAA,UAAU,EAAE,CAAC;;AAGb,QAAA,aAAa,EAAE,CAAC;;QAGhB,OAAO,CAAC,CAAC,KAAK,CAAC;AACf,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC5B,CAAC,CAAC,QAAQ,GAAG,eAAe,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;AAE/C,QAAA,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;AACX,YAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;;YAEjC,IAAI,MAAM,GAAG,IAAI,CAAC;AAClB,YAAA,IAAI,OAAO,EAAE;gBACT,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,OAAO,CAAC,KAAK,EAAE;oBACzD,CAAA,EAAA,GAAA,OAAO,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,OAAA,EAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBACxC,IAAI,OAAO,CAAC,YAAY,EAAE;wBACtB,MAAM,GAAG,KAAK,CAAC;AACf,wBAAA,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAe,CAAC;AACvD,qBAAA;;AAED,oBAAA,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;AACpC,iBAAA;;gBAGD,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC1D,aAAA;AACJ,SAAA;AAED,QAAA,WAAW,EAAE,CAAC;QAEd,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACrB,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACtB,YAAA,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC;AACnC,SAAA;QACD,IAAI,QAAQ,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAE,aAAqB,CAAC,aAAa,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE;AAC9F,YAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,CAAC;YACrB,QAAQ,CAAC,CAAC,CAAC,CAAC;AACf,SAAA;;QAGD,CAAC,CAAC,GAAG,EAAE,CAAC;AAER,QAAA,QAAQ,EAAE,CAAC;AACf,KAAC,CAAC;AAEF,IAAA,MAAM,EAAE,CAAC;;AAGT,IAAA,OAAO,MAAK;;AACR,QAAA,CAAA,EAAA,GAAA,CAAC,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAI,CAAC;AAChB,QAAA,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;AACxB,QAAA,CAAA,EAAA,GAAA,CAAC,CAAC,iBAAiB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,CAAA,CAAI,CAAC;AACxB,QAAA,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC;AAChC,QAAA,OAAO,EAAE,CAAC;AACd,KAAC,CAAC;AACN;;AClGM,SAAU,QAAQ,CAAI,OAA6B,EAAA;;AAErD,IAAA,IAAI,GAAG,GAAG,UAAU,EAAK,CAAC;AAC1B,IAAA,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;IAG1B,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAK;QAC9B,MAAM,GAAG,GAAG,UAAU,GAAQ,EAAA;;AAE1B,YAAA,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC3B,YAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACb,YAAA,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAC9B,SAAC,CAAC;AACF,QAAA,MAAM,EAAE,GAAG,YAAA;AACP,YAAA,IAAI,GAAG,GAAG,OAAO,EAAE,CAAC;AACpB,YAAA,IAAI,SAAS,CAAI,GAAG,CAAC,EAAE;AACnB,gBAAA,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,aAAA;AAAM,iBAAA;gBACH,GAAG,CAAC,GAAG,CAAC,CAAC;AACZ,aAAA;AACL,SAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,CAAC;AAChB,KAAC,CAAC;AAEF,IAAA,OAAO,GAAuC,CAAC;AACnD;;SC5BgB,KAAK,GAAA;;;AAGjB,IAAA,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO;AACH,QAAA,IAAI,EAAE,YAAA;;AAEF,YAAA,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;SACzB;QACD,EAAE,EAAE,UAAU,EAAE,EAAA;AACZ,YAAA,OAAO,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC3B;AACD,QAAA,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;;QAEpB,CAAC,kBAAkB,GAAG,IAAI;QAC1B,CAAC,aAAa,GAAG,IAAI;KACxB,CAAC;AACN;;ACdgB,SAAA,IAAI,CAAI,SAAsB,EAAE,MAAwC,EAAA;AACpF,IAAA,IAAI,KAAQ,CAAC;;IAEb,SAAS,GAAG,CAAC,CAAkB,EAAA;AAC3B,QAAA,MAAM,GAAG,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;AAEvC,QAAA,IAAI,GAAG,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,EAAE;YACjF,KAAK,GAAG,GAAG,CAAC;;AAEZ,YAAA,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAG,GAAG,CAAC,CAAC;;AAGd,YAAA,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;AACnB,SAAA;KACJ;;AAED,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;;;IAI7B,IAAI,KAAK,KAAK,SAAS,EAAE;AACrB,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AAAM,SAAA;;QAEH,MAAM,OAAO,GACT,CAAC,MAAM;AACP,YAAA,IAAI,OAAO,CAAI,CAAC,OAAO,KAAI;gBACvB,MAAM,GAAG,OAAO,CAAC;AACrB,aAAC,CAAC,CAAC;QAEP,OAAO,OAAO,IAAI,OAAO,CAAC;AAC7B,KAAA;AACL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/index.mjs CHANGED
@@ -128,6 +128,7 @@ function getChildNode(node, key) {
128
128
  if (isString(key)) {
129
129
  const n = +key;
130
130
  // Convert to number if it's a string representing a valid number
131
+ // This is faster than isNaN
131
132
  if (n - n < 1)
132
133
  key = n;
133
134
  }
@@ -195,51 +196,78 @@ function lockObservable(obs, value) {
195
196
  root.locked = value;
196
197
  }
197
198
  }
199
+ function setAtPath(obs, path, value, mode) {
200
+ let o = obs;
201
+ let v = value;
202
+ for (let i = 0; i < path.length; i++) {
203
+ const p = path[i];
204
+ o = obs[p];
205
+ v = value[p];
206
+ }
207
+ if (v === symbolDelete) {
208
+ o.delete();
209
+ }
210
+ // Assign if possible, or set otherwise
211
+ else if (mode === 'assign' && o.assign) {
212
+ o.assign(v);
213
+ }
214
+ else {
215
+ o.set(v);
216
+ }
217
+ }
198
218
  function mergeIntoObservable(target, ...sources) {
199
- var _a, _b;
219
+ var _a;
200
220
  if (!sources.length)
201
221
  return target;
202
222
  const source = sources.shift();
203
223
  const needsSet = isObservable(target);
204
- const targetValue = needsSet ? target.peek() : target;
205
- const isTargetObj = isObject(targetValue);
224
+ let targetValue = needsSet ? target.peek() : target;
206
225
  const isTargetArr = isArray(targetValue);
226
+ const isTargetObj = !isTargetArr && isObject(targetValue);
207
227
  if ((isTargetObj && isObject(source)) || (isTargetArr && isArray(source))) {
208
228
  const keys = isTargetArr ? source : Object.keys(source);
209
- if (source[symbolDateModified]) {
210
- keys.push(symbolDateModified);
211
- }
229
+ let dateModified = source[symbolDateModified];
212
230
  for (let i = 0; i < keys.length; i++) {
213
231
  const key = isTargetArr ? i : keys[i];
214
232
  const sourceValue = source[key];
215
- if (isObject(sourceValue)) {
216
- if (!needsSet && (!targetValue[key] || !isObject(targetValue[key]))) {
233
+ if (sourceValue === symbolDelete) {
234
+ needsSet && ((_a = target[key]) === null || _a === void 0 ? void 0 : _a.delete) ? target[key].delete() : delete target[key];
235
+ }
236
+ else if (isObject(sourceValue)) {
237
+ if (!needsSet && (!target[key] || !isObject(target[key]))) {
217
238
  target[key] = {};
218
239
  }
219
240
  mergeIntoObservable(target[key], sourceValue);
241
+ dateModified = Math.max(dateModified || 0, sourceValue[symbolDateModified] || 0);
220
242
  }
221
- else if (sourceValue === symbolDelete) {
222
- needsSet && ((_a = target[key]) === null || _a === void 0 ? void 0 : _a.delete) ? target[key].delete() : delete target[key];
243
+ else if (isArray(sourceValue)) {
244
+ if (!needsSet && (!target[key] || !isArray(target[key]))) {
245
+ target[key] = [];
246
+ }
247
+ mergeIntoObservable(target[key], sourceValue);
223
248
  }
224
249
  else {
225
- needsSet && ((_b = target[key]) === null || _b === void 0 ? void 0 : _b.set)
226
- ? target[key].set(sourceValue)
227
- : (target[key] = sourceValue);
250
+ needsSet ? target[key].set(sourceValue) : (target[key] = sourceValue);
228
251
  }
229
252
  }
253
+ if (dateModified) {
254
+ needsSet
255
+ ? target[symbolDateModified].set(dateModified)
256
+ : (target[symbolDateModified] = dateModified);
257
+ }
230
258
  }
231
- else if (needsSet && !(isTargetObj && source === undefined)) {
232
- target.set(source);
259
+ else {
260
+ needsSet ? target.set(source) : (target = source);
233
261
  }
234
- return mergeIntoObservable(target, ...sources);
262
+ return sources.length ? mergeIntoObservable(target, ...sources) : target;
235
263
  }
236
- function constructObject(path, value) {
264
+ function constructObjectWithPath(path, value, pathTypes) {
237
265
  let out;
238
266
  if (path.length > 0) {
239
267
  let o = (out = {});
240
268
  for (let i = 0; i < path.length; i++) {
241
269
  const p = path[i];
242
- o[p] = i === path.length - 1 ? value : {};
270
+ o[p] = i === path.length - 1 ? value : pathTypes[i] === 'array' ? [] : {};
243
271
  o = o[p];
244
272
  }
245
273
  }
@@ -248,7 +276,7 @@ function constructObject(path, value) {
248
276
  }
249
277
  return out;
250
278
  }
251
- function deconstructObject(path, value) {
279
+ function deconstructObjectWithPath(path, value) {
252
280
  let o = value;
253
281
  for (let i = 0; i < path.length; i++) {
254
282
  const p = path[i];
@@ -256,9 +284,6 @@ function deconstructObject(path, value) {
256
284
  }
257
285
  return o;
258
286
  }
259
- function clone(obj) {
260
- return JSON.parse(JSON.stringify(obj));
261
- }
262
287
 
263
288
  let timeout;
264
289
  let numInBatch = 0;
@@ -282,8 +307,9 @@ function batchNotify(b) {
282
307
  // If this callback already exists, make sure it has the latest value but do not add it
283
308
  if (existing) {
284
309
  if (!isFunc) {
285
- existing.value = b.value;
286
- existing.changes.push(...b.changes);
310
+ const params = existing.params;
311
+ params.value = b.params.value;
312
+ params.changes.push(...b.params.changes);
287
313
  }
288
314
  }
289
315
  else {
@@ -292,7 +318,7 @@ function batchNotify(b) {
292
318
  }
293
319
  }
294
320
  else {
295
- isFunc ? b() : b.cb(b.value, b.getPrevious, b.changes, b.node);
321
+ isFunc ? b() : b.cb(b.params);
296
322
  }
297
323
  }
298
324
  function batch(fn) {
@@ -324,8 +350,8 @@ function endBatch(force) {
324
350
  b();
325
351
  }
326
352
  else {
327
- const { cb, value, getPrevious: prev, changes, node } = b;
328
- cb(value, prev, changes, node);
353
+ const { cb } = b;
354
+ cb(b.params);
329
355
  }
330
356
  }
331
357
  }
@@ -349,7 +375,7 @@ function createPreviousHandler(value, path, prevAtPath) {
349
375
  return clone;
350
376
  };
351
377
  }
352
- function doNotify(node, value, path, valueAtPath, prevAtPath, level, whenOptimizedOnlyIf) {
378
+ function doNotify(node, value, path, pathTypes, valueAtPath, prevAtPath, level, whenOptimizedOnlyIf) {
353
379
  const listeners = node.listeners;
354
380
  if (listeners) {
355
381
  let getPrevious;
@@ -357,7 +383,11 @@ function doNotify(node, value, path, valueAtPath, prevAtPath, level, whenOptimiz
357
383
  for (let i = 0; i < arr.length; i++) {
358
384
  const listenerFn = arr[i];
359
385
  const { track, noArgs } = listenerFn;
360
- const ok = track === true ? level <= 0 : track === 'optimize' ? whenOptimizedOnlyIf && level <= 0 : true;
386
+ const ok = track === true || track === 'shallow'
387
+ ? level <= 0
388
+ : track === 'optimize'
389
+ ? whenOptimizedOnlyIf && level <= 0
390
+ : true;
361
391
  // Notify if listener is not shallow or if this is the first level
362
392
  if (ok) {
363
393
  // Create a function to get the previous data. Computing a clone of previous data can be expensive if doing
@@ -369,45 +399,51 @@ function doNotify(node, value, path, valueAtPath, prevAtPath, level, whenOptimiz
369
399
  ? listenerFn.listener
370
400
  : {
371
401
  cb: listenerFn.listener,
372
- value,
373
- getPrevious,
374
- changes: [
375
- {
376
- path,
377
- valueAtPath,
378
- prevAtPath,
379
- },
380
- ],
381
- node,
402
+ params: {
403
+ value,
404
+ getPrevious,
405
+ changes: [
406
+ {
407
+ path,
408
+ pathTypes,
409
+ valueAtPath,
410
+ prevAtPath,
411
+ },
412
+ ],
413
+ },
382
414
  });
383
415
  }
384
416
  }
385
417
  }
386
418
  }
387
- function _notifyParents(node, value, path, valueAtPath, prevAtPath, level, whenOptimizedOnlyIf) {
419
+ function _notifyParents(node, value, path, pathTypes, valueAtPath, prevAtPath, level, whenOptimizedOnlyIf) {
388
420
  // Do the notify
389
- doNotify(node, value, path, valueAtPath, prevAtPath, level, whenOptimizedOnlyIf);
421
+ doNotify(node, value, path, pathTypes, valueAtPath, prevAtPath, level, whenOptimizedOnlyIf);
390
422
  // If not root notify up through parents
391
423
  if (node.parent) {
392
424
  const parent = node.parent;
393
425
  if (parent) {
394
426
  const parentValue = getNodeValue(parent);
395
- _notifyParents(parent, parentValue, [node.key].concat(path), valueAtPath, prevAtPath, level + 1, whenOptimizedOnlyIf);
427
+ _notifyParents(parent, parentValue, [node.key].concat(path), [(isArray(value) ? 'array' : 'object')].concat(pathTypes), valueAtPath, prevAtPath, level + 1, whenOptimizedOnlyIf);
396
428
  }
397
429
  }
398
430
  }
399
431
  function notify(node, value, prev, level, whenOptimizedOnlyIf) {
400
432
  // Notify self and up through parents
401
- _notifyParents(node, value, [], value, prev, level, whenOptimizedOnlyIf);
433
+ _notifyParents(node, value, [], [], value, prev, level, whenOptimizedOnlyIf);
402
434
  }
403
435
 
404
- function onChange(node, callback, track, noArgs) {
436
+ function onChange(node, callback, options, noArgs) {
405
437
  let listeners = node.listeners;
406
438
  if (!listeners) {
407
439
  node.listeners = listeners = new Set();
408
440
  }
409
- const listener = { listener: callback, track: track, noArgs };
441
+ const listener = { listener: callback, track: options === null || options === void 0 ? void 0 : options.trackingType, noArgs };
410
442
  listeners.add(listener);
443
+ if (options === null || options === void 0 ? void 0 : options.initial) {
444
+ const value = getNodeValue(node);
445
+ doNotify(node, value, [], [], value, value, 0);
446
+ }
411
447
  return () => listeners.delete(listener);
412
448
  }
413
449
 
@@ -457,7 +493,7 @@ ObservablePrimitiveClass.prototype.set = function (value) {
457
493
  const root = this._node.root;
458
494
  const prev = root._;
459
495
  root._ = value;
460
- doNotify(this._node, value, [], value, prev, 0);
496
+ doNotify(this._node, value, [], [], value, prev, 0);
461
497
  return this;
462
498
  };
463
499
  ObservablePrimitiveClass.prototype.toggle = function () {
@@ -471,8 +507,8 @@ ObservablePrimitiveClass.prototype.toggle = function () {
471
507
  return !value;
472
508
  };
473
509
  // Listener
474
- ObservablePrimitiveClass.prototype.onChange = function (cb, track, noArgs) {
475
- return onChange(this._node, cb, track, noArgs);
510
+ ObservablePrimitiveClass.prototype.onChange = function (cb, options, noArgs) {
511
+ return onChange(this._node, cb, options, noArgs);
476
512
  };
477
513
 
478
514
  let inSet = false;
@@ -490,7 +526,6 @@ const ArrayModifiers = new Set([
490
526
  'unshift',
491
527
  ]);
492
528
  const ArrayLoopers = new Set(['every', 'some', 'filter', 'forEach', 'map', 'join']);
493
- const NotifySpecifically = new Set([symbolDateModified]);
494
529
  const objectFns = new Map([
495
530
  ['get', get],
496
531
  ['set', set],
@@ -517,11 +552,11 @@ function collectionSetter(node, target, prop, ...args) {
517
552
  return ret;
518
553
  }
519
554
  function updateNodes(parent, obj, prevValue) {
520
- if (isObject(obj) && obj[symbolOpaque]) {
555
+ if ((isObject(obj) && obj[symbolOpaque]) || (isObject(prevValue) && prevValue[symbolOpaque])) {
521
556
  const isDiff = obj !== prevValue;
522
557
  if (isDiff) {
523
558
  if (parent.listeners) {
524
- doNotify(parent, obj, [], obj, prevValue, 0);
559
+ doNotify(parent, obj, [], [], obj, prevValue, 0);
525
560
  }
526
561
  }
527
562
  return isDiff;
@@ -571,7 +606,7 @@ function updateNodes(parent, obj, prevValue) {
571
606
  updateNodes(child, undefined, prev);
572
607
  }
573
608
  if (child.listeners) {
574
- doNotify(child, undefined, [], undefined, prev, 0);
609
+ doNotify(child, undefined, [], [], undefined, prev, 0);
575
610
  }
576
611
  }
577
612
  }
@@ -617,10 +652,12 @@ function updateNodes(parent, obj, prevValue) {
617
652
  }
618
653
  if (isDiff) {
619
654
  // Array has a new / modified element
620
- hasADiff = true;
621
655
  // If object iterate through its children
622
- if (!isPrimitive(value)) {
623
- updateNodes(child, value, prev);
656
+ if (isPrimitive(value)) {
657
+ hasADiff = true;
658
+ }
659
+ else {
660
+ hasADiff = hasADiff || updateNodes(child, value, prev);
624
661
  }
625
662
  }
626
663
  if (isDiff || !isArrDiff) {
@@ -629,7 +666,7 @@ function updateNodes(parent, obj, prevValue) {
629
666
  // But do not notify child if the parent is an array with changing length -
630
667
  // the array's listener will cover it
631
668
  if (child.listeners) {
632
- doNotify(child, value, [], value, prev, 0, !isArrDiff);
669
+ doNotify(child, value, [], [], value, prev, 0, !isArrDiff);
633
670
  }
634
671
  }
635
672
  }
@@ -681,7 +718,7 @@ const proxyHandler = {
681
718
  return l > 2 ? fn(node, a, b, c) : l > 1 ? fn(node, a, b) : fn(node, a);
682
719
  };
683
720
  }
684
- let value = getNodeValue(node);
721
+ let value = peek(node);
685
722
  const isValuePrimitive = isPrimitive(value);
686
723
  if (value === undefined || value === null || isValuePrimitive) {
687
724
  if (extraPrimitiveProps.size && (node.isActivatedPrimitive || extraPrimitiveActivators.has(p))) {
@@ -850,11 +887,7 @@ function setKey(node, key, newValue, level) {
850
887
  whenOptimizedOnlyIf = (newValue === null || newValue === void 0 ? void 0 : newValue.length) !== (prevValue === null || prevValue === void 0 ? void 0 : prevValue.length);
851
888
  }
852
889
  }
853
- if (NotifySpecifically.has(key)) {
854
- // Notify specifically at the child, not through children or parents
855
- doNotify(childNode, newValue, [], newValue, prevValue, 0);
856
- }
857
- else if (isPrim ? newValue !== prevValue : hasADiff) {
890
+ if (isPrim ? newValue !== prevValue : hasADiff) {
858
891
  // Notify for this element if something inside it has changed
859
892
  notify(isPrim && isRoot ? node : childNode, newValue, prevValue, (level !== null && level !== void 0 ? level : prevValue === undefined) ? -1 : hasADiff ? 0 : 1, whenOptimizedOnlyIf);
860
893
  }
@@ -922,7 +955,7 @@ function setupTracking(nodes, update, noArgs) {
922
955
  if (nodes) {
923
956
  for (let tracked of nodes.values()) {
924
957
  const { node, track } = tracked;
925
- listeners.push(onChange(node, update, track, noArgs));
958
+ listeners.push(onChange(node, update, { trackingType: track }, noArgs));
926
959
  }
927
960
  }
928
961
  return () => {
@@ -1073,5 +1106,5 @@ function when(predicate, effect) {
1073
1106
  }
1074
1107
  }
1075
1108
 
1076
- export { ObservablePrimitiveClass, batch, beginBatch, beginTracking, clone, computeSelector, computed, constructObject, dateModifiedKey, deconstructObject, endBatch, endTracking, event, extraPrimitiveProps, getNode, getNodeValue, getObservableIndex, isArray, isBoolean, isEmpty, isFunction, isObject, isObservable, isPrimitive, isPromise, isString, isSymbol, lockObservable, mergeIntoObservable, observable, observablePrimitive, observe, onChange, opaqueObject, symbolDateModified, symbolDelete, symbolIsEvent, symbolIsObservable, symbolUndef, tracking, updateTracking, when };
1109
+ export { ObservablePrimitiveClass, batch, beginBatch, beginTracking, computeSelector, computed, constructObjectWithPath, dateModifiedKey, deconstructObjectWithPath, endBatch, endTracking, event, extraPrimitiveProps, getNode, getNodeValue, getObservableIndex, isArray, isBoolean, isEmpty, isFunction, isObject, isObservable, isPrimitive, isPromise, isString, isSymbol, lockObservable, mergeIntoObservable, observable, observablePrimitive, observe, onChange, opaqueObject, setAtPath, symbolDateModified, symbolDelete, symbolIsEvent, symbolIsObservable, tracking, updateTracking, when };
1077
1110
  //# sourceMappingURL=index.mjs.map