@netless/app-presentation 0.1.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../node_modules/.pnpm/@wopjs+disposable@0.1.4/node_modules/@wopjs/disposable/dist/index.mjs","../node_modules/.pnpm/@wopjs+dom@0.1.3/node_modules/@wopjs/dom/dist/index.js","../node_modules/.pnpm/vanilla-lazyload@17.8.5/node_modules/vanilla-lazyload/dist/lazyload.esm.js","../src/icons/sidebar.ts","../src/icons/arrow-left.ts","../src/icons/arrow-right.ts","../src/preload.ts","../src/presentation.ts","../src/style.scss","../src/app-presentation.ts","../src/index.ts"],"sourcesContent":null,"names":["addEventListener","loadHandler","errorHandler","_a","width","height"],"mappings":";AAuBA,IAAI,WAAc,GAAA,CAAC,UAAe,KAAA,UAAA,IAAc,UAAW,CAAA,SAAA,CAAA;AAG3D,IAAI,aAAA,GAAgB,CAAC,UAAe,KAAA;AAClC,EAAI,IAAA;AACF,IAAA,IAAI,WAAW,OAAS,EAAA;AACtB,MAAA,UAAA,CAAW,OAAQ,EAAA,CAAA;AAAA,KACd,MAAA;AACL,MAAW,UAAA,EAAA,CAAA;AAAA,KACb;AAAA,WACO,CAAG,EAAA;AACV,IAAA,OAAA,CAAQ,MAAM,CAAC,CAAA,CAAA;AAAA,GACjB;AACF,CAAA,CAAA;AAGA,IAAI,OAAU,GAAA;AAAA,EACZ,IAAO,GAAA;AACL,IAAA,OAAO,KAAK,EAAG,CAAA,IAAA,CAAA;AAAA,GACjB;AAAA,EACA,IAAI,UAAY,EAAA;AACd,IAAO,OAAA,IAAA,CAAK,EAAG,CAAA,GAAA,CAAI,UAAU,CAAA,CAAA;AAAA,GAC/B;AAAA,EACA,IAAI,UAAY,EAAA;AACd,IAAA,MAAM,cAAc,KAAM,CAAA,OAAA,CAAQ,UAAU,CAAI,GAAA,UAAA,GAAa,CAAC,UAAU,CAAA,CAAA;AACxE,IAAA,KAAA,MAAW,eAAe,WAAa,EAAA;AACrC,MAAA,IAAI,CAAC,IAAA,CAAK,EAAG,CAAA,GAAA,CAAI,WAAW,CAAG,EAAA;AAC7B,QAAK,IAAA,CAAA,EAAA,CAAG,IAAI,WAAW,CAAA,CAAA;AACvB,QAAI,IAAA,WAAA,CAAY,WAAW,CAAG,EAAA;AAC5B,UAAA,WAAA,CAAY,SAAU,CAAA,MAAM,IAAK,CAAA,MAAA,CAAO,WAAW,CAAC,CAAA,CAAA;AAAA,SACtD;AAAA,OACF;AAAA,KACF;AACA,IAAO,OAAA,UAAA,CAAA;AAAA,GACT;AAAA,EACA,KAAK,QAAU,EAAA;AACb,IAAA,MAAM,aAAa,QAAS,EAAA,CAAA;AAC5B,IAAA,IAAI,UAAY,EAAA;AACd,MAAO,OAAA,IAAA,CAAK,IAAI,UAAU,CAAA,CAAA;AAAA,KAC5B;AAAA,GACF;AAAA,EACA,OAAO,UAAY,EAAA;AACjB,IAAO,OAAA,IAAA,CAAK,EAAG,CAAA,MAAA,CAAO,UAAU,CAAA,CAAA;AAAA,GAClC;AAAA,EACA,MAAM,UAAY,EAAA;AAChB,IAAA,IAAI,UAAY,EAAA;AACd,MAAI,IAAA,IAAA,CAAK,MAAO,CAAA,UAAU,CAAG,EAAA;AAC3B,QAAA,aAAA,CAAc,UAAU,CAAA,CAAA;AAAA,OAC1B;AAAA,KACK,MAAA;AACL,MAAA,IAAA,CAAK,OAAQ,EAAA,CAAA;AAAA,KACf;AAAA,GACF;AACF,CAAA,CAAA;AACA,IAAI,eAAA,GAAkB,CAAC,WAAgB,KAAA;AACrC,EAAA,MAAM,mBAAmB,MAAM;AAC7B,IAAiB,gBAAA,CAAA,EAAA,CAAG,QAAQ,aAAa,CAAA,CAAA;AACzC,IAAA,gBAAA,CAAiB,GAAG,KAAM,EAAA,CAAA;AAAA,GAC5B,CAAA;AACA,EAAiB,gBAAA,CAAA,EAAA,uBAAyB,GAAI,EAAA,CAAA;AAC9C,EAAA,gBAAA,CAAiB,OAAU,GAAA,gBAAA,CAAA;AAC3B,EAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,MAAO,CAAA,gBAAA,EAAkB,OAAO,CAAA,CAAA;AACrD,EAAA,IAAI,WAAa,EAAA;AACf,IAAA,KAAA,CAAM,IAAI,WAAW,CAAA,CAAA;AAAA,GACvB;AACA,EAAO,OAAA,KAAA,CAAA;AACT,CAAA,CAAA;;;ACxFA,SAAS,gBAAiB,CAAA,MAAA,EAAQ,IAAM,EAAA,QAAA,EAAU,OAAS,EAAA;AACzD,EAAO,MAAA,CAAA,gBAAA,CAAiB,IAAM,EAAA,QAAA,EAAU,OAAO,CAAA,CAAA;AAC/C,EAAA,OAAO,MAAM,MAAA,CAAO,mBAAoB,CAAA,IAAA,EAAM,UAAU,OAAO,CAAA,CAAA;AACjE,CAAA;AACA,IAAI,MAAS,GAAA,gBAAA,CAAA;;;ACLb,IAAM,gBAAA,GAAmB,OAAO,MAAW,KAAA,WAAA,CAAA;AAE3C,IAAM,KAAA,GACH,gBAAoB,IAAA,EAAE,UAAc,IAAA,MAAA,CAAA,IACpC,OAAO,SAAA,KAAc,WAAe,IAAA,+BAAA,CAAgC,IAAK,CAAA,SAAA,CAAU,SAAS,CAAA,CAAA;AAE/F,IAAM,4BAAA,GAA+B,oBAAoB,sBAA0B,IAAA,MAAA,CAAA;AAEnF,IAAM,iBAAoB,GAAA,gBAAA,IAAoB,WAAe,IAAA,QAAA,CAAS,cAAc,GAAG,CAAA,CAAA;AAEvF,IAAM,OAAA,GAAU,gBAAoB,IAAA,MAAA,CAAO,gBAAmB,GAAA,CAAA,CAAA;AAE9D,IAAM,eAAkB,GAAA;AAAA,EACtB,iBAAmB,EAAA,OAAA;AAAA,EACnB,SAAA,EAAW,KAAS,IAAA,gBAAA,GAAmB,QAAW,GAAA,IAAA;AAAA,EAClD,SAAW,EAAA,GAAA;AAAA,EACX,UAAY,EAAA,IAAA;AAAA,EACZ,QAAU,EAAA,KAAA;AAAA,EACV,WAAa,EAAA,QAAA;AAAA,EACb,UAAY,EAAA,OAAA;AAAA,EACZ,OAAS,EAAA,IAAA;AAAA,EACT,aAAe,EAAA,UAAA;AAAA,EACf,aAAe,EAAA,UAAA;AAAA,EACf,mBAAqB,EAAA,gBAAA;AAAA,EACrB,WAAa,EAAA,QAAA;AAAA,EACb,WAAa,EAAA,QAAA;AAAA,EACb,aAAe,EAAA,SAAA;AAAA,EACf,aAAe,EAAA,SAAA;AAAA,EACf,YAAc,EAAA,QAAA;AAAA,EACd,WAAa,EAAA,OAAA;AAAA,EACb,aAAe,EAAA,SAAA;AAAA,EACf,YAAc,EAAA,QAAA;AAAA,EACd,mBAAqB,EAAA,IAAA;AAAA,EACrB,iBAAmB,EAAA,KAAA;AAAA,EACnB,cAAgB,EAAA,IAAA;AAAA,EAChB,cAAgB,EAAA,IAAA;AAAA,EAChB,aAAe,EAAA,IAAA;AAAA,EACf,gBAAkB,EAAA,IAAA;AAAA,EAClB,gBAAkB,EAAA,IAAA;AAAA,EAClB,eAAiB,EAAA,IAAA;AAAA,EACjB,cAAgB,EAAA,IAAA;AAAA,EAChB,eAAiB,EAAA,IAAA;AAAA,EACjB,eAAiB,EAAA,IAAA;AAAA,EACjB,UAAY,EAAA,KAAA;AAAA,EACZ,gBAAkB,EAAA,KAAA;AACpB,CAAA,CAAA;AAEA,IAAM,mBAAA,GAAsB,CAAC,cAAmB,KAAA;AAC9C,EAAA,OAAO,MAAO,CAAA,MAAA,CAAO,EAAC,EAAG,iBAAiB,cAAc,CAAA,CAAA;AAC1D,CAAA,CAAA;AAGA,IAAM,cAAA,GAAiB,SAAS,QAAA,EAAU,OAAS,EAAA;AACjD,EAAI,IAAA,KAAA,CAAA;AACJ,EAAA,MAAM,WAAc,GAAA,uBAAA,CAAA;AACpB,EAAM,MAAA,QAAA,GAAW,IAAI,QAAA,CAAS,OAAO,CAAA,CAAA;AACrC,EAAI,IAAA;AAEF,IAAQ,KAAA,GAAA,IAAI,YAAY,WAAa,EAAA,EAAE,QAAQ,EAAE,QAAA,IAAY,CAAA,CAAA;AAAA,WACtD,GAAK,EAAA;AAEZ,IAAQ,KAAA,GAAA,QAAA,CAAS,YAAY,aAAa,CAAA,CAAA;AAC1C,IAAA,KAAA,CAAM,gBAAgB,WAAa,EAAA,KAAA,EAAO,KAAO,EAAA,EAAE,UAAU,CAAA,CAAA;AAAA,GAC/D;AACA,EAAA,MAAA,CAAO,cAAc,KAAK,CAAA,CAAA;AAC5B,CAAA,CAAA;AAIA,IAAM,cAAA,GAAiB,CAAC,QAAA,EAAU,OAAY,KAAA;AAC5C,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,OAAA;AAAA,GACF;AACA,EAAI,IAAA,CAAC,QAAQ,MAAQ,EAAA;AAEnB,IAAA,cAAA,CAAe,UAAU,OAAO,CAAA,CAAA;AAAA,GAC3B,MAAA;AAEL,IAAS,KAAA,IAAA,CAAA,GAAI,GAAG,WAAc,EAAA,WAAA,GAAc,QAAQ,CAAC,CAAA,EAAI,KAAK,CAAG,EAAA;AAC/D,MAAA,cAAA,CAAe,UAAU,WAAW,CAAA,CAAA;AAAA,KACtC;AAAA,GACF;AACF,CAAA,CAAA;AAEA,IAAM,GAAM,GAAA,KAAA,CAAA;AACZ,IAAM,MAAS,GAAA,QAAA,CAAA;AACf,IAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAS,GAAA,QAAA,CAAA;AACf,IAAM,SAAY,GAAA,iBAAA,CAAA;AAClB,IAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,aAAgB,GAAA,SAAA,CAAA;AACtB,IAAM,YAAe,GAAA,QAAA,CAAA;AACrB,IAAM,aAAgB,GAAA,SAAA,CAAA;AACtB,IAAM,aAAgB,GAAA,SAAA,CAAA;AACtB,IAAM,WAAc,GAAA,OAAA,CAAA;AACpB,IAAM,YAAe,GAAA,QAAA,CAAA;AAErB,IAAM,UAAa,GAAA,OAAA,CAAA;AACnB,IAAM,cAAiB,GAAA,WAAA,CAAA;AAEvB,IAAM,OAAA,GAAU,CAAC,OAAA,EAAS,SAAc,KAAA;AACtC,EAAO,OAAA,OAAA,CAAQ,YAAa,CAAA,UAAA,GAAa,SAAS,CAAA,CAAA;AACpD,CAAA,CAAA;AAEA,IAAM,OAAU,GAAA,CAAC,OAAS,EAAA,SAAA,EAAW,KAAU,KAAA;AAC7C,EAAA,MAAM,WAAW,UAAa,GAAA,SAAA,CAAA;AAC9B,EAAA,IAAI,UAAU,IAAM,EAAA;AAClB,IAAA,OAAA,CAAQ,gBAAgB,QAAQ,CAAA,CAAA;AAChC,IAAA,OAAA;AAAA,GACF;AACA,EAAQ,OAAA,CAAA,YAAA,CAAa,UAAU,KAAK,CAAA,CAAA;AACtC,CAAA,CAAA;AAEA,IAAM,SAAY,GAAA,CAAC,OAAY,KAAA,OAAA,CAAQ,SAAS,cAAc,CAAA,CAAA;AAC9D,IAAM,YAAY,CAAC,OAAA,EAAS,WAAW,OAAQ,CAAA,OAAA,EAAS,gBAAgB,MAAM,CAAA,CAAA;AAC9E,IAAM,WAAc,GAAA,CAAC,OAAY,KAAA,SAAA,CAAU,SAAS,IAAI,CAAA,CAAA;AAExD,IAAM,cAAiB,GAAA,CAAC,OAAY,KAAA,SAAA,CAAU,OAAO,CAAM,KAAA,IAAA,CAAA;AAC3D,IAAM,gBAAmB,GAAA,CAAC,OAAY,KAAA,SAAA,CAAU,OAAO,CAAM,KAAA,aAAA,CAAA;AAC7D,IAAM,cAAiB,GAAA,CAAC,OAAY,KAAA,SAAA,CAAU,OAAO,CAAM,KAAA,WAAA,CAAA;AAC3D,IAAM,eAAkB,GAAA,CAAC,OAAY,KAAA,SAAA,CAAU,OAAO,CAAM,KAAA,YAAA,CAAA;AAE5D,IAAM,oBAAuB,GAAA,CAAC,aAAe,EAAA,YAAA,EAAc,eAAe,WAAW,CAAA,CAAA;AACrF,IAAM,iBAAA,GAAoB,CAAC,OAAY,KAAA,oBAAA,CAAqB,QAAQ,SAAU,CAAA,OAAO,CAAC,CAAK,IAAA,CAAA,CAAA;AAE3F,IAAM,YAAe,GAAA,CAAC,QAAU,EAAA,IAAA,EAAM,MAAM,IAAS,KAAA;AACnD,EAAA,IAAI,CAAC,QAAA,IAAY,OAAO,QAAA,KAAa,UAAY,EAAA;AAC/C,IAAA,OAAA;AAAA,GACF;AACA,EAAA,IAAI,SAAS,KAAW,CAAA,EAAA;AACtB,IAAS,QAAA,CAAA,IAAA,EAAM,MAAM,IAAI,CAAA,CAAA;AACzB,IAAA,OAAA;AAAA,GACF;AACA,EAAA,IAAI,SAAS,KAAW,CAAA,EAAA;AACtB,IAAA,QAAA,CAAS,MAAM,IAAI,CAAA,CAAA;AACnB,IAAA,OAAA;AAAA,GACF;AACA,EAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AACf,CAAA,CAAA;AAEA,IAAM,QAAA,GAAW,CAAC,OAAA,EAAS,SAAc,KAAA;AACvC,EAAA,IAAI,iBAAmB,EAAA;AACrB,IAAQ,OAAA,CAAA,SAAA,CAAU,IAAI,SAAS,CAAA,CAAA;AAC/B,IAAA,OAAA;AAAA,GACF;AACA,EAAA,OAAA,CAAQ,SAAc,IAAA,CAAA,OAAA,CAAQ,SAAY,GAAA,GAAA,GAAM,EAAM,IAAA,SAAA,CAAA;AACxD,CAAA,CAAA;AAEA,IAAM,WAAA,GAAc,CAAC,OAAA,EAAS,SAAc,KAAA;AAC1C,EAAA,IAAI,iBAAmB,EAAA;AACrB,IAAQ,OAAA,CAAA,SAAA,CAAU,OAAO,SAAS,CAAA,CAAA;AAClC,IAAA,OAAA;AAAA,GACF;AACA,EAAA,OAAA,CAAQ,YAAY,OAAQ,CAAA,SAAA,CAAU,QAAQ,IAAI,MAAA,CAAO,aAAa,SAAY,GAAA,UAAU,CAAG,EAAA,GAAG,EAAE,OAAQ,CAAA,MAAA,EAAQ,EAAE,CAAE,CAAA,OAAA,CAAQ,QAAQ,EAAE,CAAA,CAAA;AAC5I,CAAA,CAAA;AAEA,IAAM,YAAA,GAAe,CAAC,OAAY,KAAA;AAChC,EAAQ,OAAA,CAAA,WAAA,GAAc,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACpD,CAAA,CAAA;AAEA,IAAM,eAAA,GAAkB,CAAC,OAAY,KAAA;AACnC,EAAA,OAAO,OAAQ,CAAA,WAAA,CAAA;AACjB,CAAA,CAAA;AAEA,IAAM,YAAA,GAAe,CAAC,OAAA,KAAY,OAAQ,CAAA,WAAA,CAAA;AAE1C,IAAM,SAAA,GAAY,CAAC,OAAA,EAAS,QAAa,KAAA;AACvC,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,MAAM,WAAW,QAAS,CAAA,SAAA,CAAA;AAC1B,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,QAAA,CAAS,UAAU,OAAO,CAAA,CAAA;AAC5B,CAAA,CAAA;AAEA,IAAM,aAAA,GAAgB,CAAC,QAAa,KAAA;AAClC,EAAA,QAAA,CAAS,UAAW,EAAA,CAAA;AACtB,CAAA,CAAA;AAEA,IAAM,gBAAmB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AACxD,EAAA,IAAI,QAAS,CAAA,iBAAA;AAAmB,IAAA,SAAA,CAAU,SAAS,QAAQ,CAAA,CAAA;AAC7D,CAAA,CAAA;AAEA,IAAM,kBAAA,GAAqB,CAAC,QAAA,EAAU,KAAU,KAAA;AAC9C,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,QAAA,CAAS,YAAgB,IAAA,KAAA,CAAA;AAC3B,CAAA,CAAA;AAEA,IAAM,mBAAA,GAAsB,CAAC,QAAa,KAAA;AACxC,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,QAAA,CAAS,WAAe,IAAA,CAAA,CAAA;AAC1B,CAAA,CAAA;AAEA,IAAM,cAAA,GAAiB,CAAC,QAAA,EAAU,KAAU,KAAA;AAC1C,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,QAAA,CAAS,WAAc,GAAA,KAAA,CAAA;AACzB,CAAA,CAAA;AAEA,IAAM,kBAAqB,GAAA,CAAC,QAAa,KAAA,QAAA,CAAS,YAAe,GAAA,CAAA,CAAA;AAEjE,IAAM,kBAAqB,GAAA,CAAC,QAAa,KAAA,QAAA,CAAS,WAAc,GAAA,CAAA,CAAA;AAEhE,IAAM,aAAA,GAAgB,CAAC,SAAc,KAAA;AACnC,EAAA,IAAI,aAAa,EAAC,CAAA;AAClB,EAAS,KAAA,IAAA,CAAA,GAAI,GAAG,QAAW,EAAA,QAAA,GAAW,UAAU,QAAS,CAAA,CAAC,CAAI,EAAA,CAAA,IAAK,CAAG,EAAA;AACpE,IAAI,IAAA,QAAA,CAAS,YAAY,QAAU,EAAA;AACjC,MAAA,UAAA,CAAW,KAAK,QAAQ,CAAA,CAAA;AAAA,KAC1B;AAAA,GACF;AACA,EAAO,OAAA,UAAA,CAAA;AACT,CAAA,CAAA;AAEA,IAAM,oBAAA,GAAuB,CAAC,OAAA,EAAS,EAAO,KAAA;AAC5C,EAAA,MAAM,SAAS,OAAQ,CAAA,UAAA,CAAA;AACvB,EAAA,IAAI,CAAC,MAAA,IAAU,MAAO,CAAA,OAAA,KAAY,SAAW,EAAA;AAC3C,IAAA,OAAA;AAAA,GACF;AACA,EAAI,IAAA,UAAA,GAAa,cAAc,MAAM,CAAA,CAAA;AACrC,EAAA,UAAA,CAAW,QAAQ,EAAE,CAAA,CAAA;AACvB,CAAA,CAAA;AAEA,IAAM,kBAAA,GAAqB,CAAC,OAAA,EAAS,EAAO,KAAA;AAC1C,EAAI,IAAA,UAAA,GAAa,cAAc,OAAO,CAAA,CAAA;AACtC,EAAA,UAAA,CAAW,QAAQ,EAAE,CAAA,CAAA;AACvB,CAAA,CAAA;AAEA,IAAM,QAAA,GAAW,CAAC,GAAG,CAAA,CAAA;AACrB,IAAM,cAAA,GAAiB,CAAC,GAAA,EAAK,MAAM,CAAA,CAAA;AACnC,IAAM,mBAAsB,GAAA,CAAC,GAAK,EAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AAC/C,IAAM,SAAA,GAAY,CAAC,IAAI,CAAA,CAAA;AAEvB,IAAM,mBAAmB,CAAC,OAAA,KAAY,CAAC,CAAC,QAAQ,SAAS,CAAA,CAAA;AACzD,IAAM,gBAAmB,GAAA,CAAC,OAAY,KAAA,OAAA,CAAQ,SAAS,CAAA,CAAA;AACvD,IAAM,mBAAsB,GAAA,CAAC,OAAY,KAAA,OAAO,QAAQ,SAAS,CAAA,CAAA;AAIjE,IAAM,kBAAA,GAAqB,CAAC,OAAA,EAAS,UAAe,KAAA;AAClD,EAAI,IAAA,gBAAA,CAAiB,OAAO,CAAG,EAAA;AAC7B,IAAA,OAAA;AAAA,GACF;AACA,EAAA,MAAM,YAAY,EAAC,CAAA;AACnB,EAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,SAAc,KAAA;AAChC,IAAA,SAAA,CAAU,SAAS,CAAA,GAAI,OAAQ,CAAA,YAAA,CAAa,SAAS,CAAA,CAAA;AAAA,GACtD,CAAA,CAAA;AACD,EAAA,OAAA,CAAQ,SAAS,CAAI,GAAA,SAAA,CAAA;AACvB,CAAA,CAAA;AAEA,IAAM,2BAAA,GAA8B,CAAC,OAAY,KAAA;AAC/C,EAAI,IAAA,gBAAA,CAAiB,OAAO,CAAG,EAAA;AAC7B,IAAA,OAAA;AAAA,GACF;AACA,EAAA,OAAA,CAAQ,SAAS,CAAI,GAAA,EAAE,eAAiB,EAAA,OAAA,CAAQ,MAAM,eAAgB,EAAA,CAAA;AACxE,CAAA,CAAA;AAIA,IAAM,mBAAsB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,KAAU,KAAA;AACxD,EAAA,IAAI,CAAC,KAAO,EAAA;AACV,IAAA,OAAA,CAAQ,gBAAgB,QAAQ,CAAA,CAAA;AAChC,IAAA,OAAA;AAAA,GACF;AACA,EAAQ,OAAA,CAAA,YAAA,CAAa,UAAU,KAAK,CAAA,CAAA;AACtC,CAAA,CAAA;AAEA,IAAM,oBAAA,GAAuB,CAAC,OAAA,EAAS,UAAe,KAAA;AACpD,EAAI,IAAA,CAAC,gBAAiB,CAAA,OAAO,CAAG,EAAA;AAC9B,IAAA,OAAA;AAAA,GACF;AACA,EAAM,MAAA,SAAA,GAAY,iBAAiB,OAAO,CAAA,CAAA;AAC1C,EAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,SAAc,KAAA;AAChC,IAAA,mBAAA,CAAoB,OAAS,EAAA,SAAA,EAAW,SAAU,CAAA,SAAS,CAAC,CAAA,CAAA;AAAA,GAC7D,CAAA,CAAA;AACH,CAAA,CAAA;AAEA,IAAM,sBAAA,GAAyB,CAAC,OAAY,KAAA;AAC1C,EAAI,IAAA,CAAC,gBAAiB,CAAA,OAAO,CAAG,EAAA;AAC9B,IAAA,OAAA;AAAA,GACF;AACA,EAAM,MAAA,SAAA,GAAY,iBAAiB,OAAO,CAAA,CAAA;AAC1C,EAAQ,OAAA,CAAA,KAAA,CAAM,kBAAkB,SAAU,CAAA,eAAA,CAAA;AAC5C,CAAA,CAAA;AAEA,IAAM,aAAgB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AACrD,EAAS,QAAA,CAAA,OAAA,EAAS,SAAS,aAAa,CAAA,CAAA;AACxC,EAAA,SAAA,CAAU,SAAS,aAAa,CAAA,CAAA;AAEhC,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,IAAI,SAAS,mBAAqB,EAAA;AAEhC,IAAA,SAAA,CAAU,SAAS,QAAQ,CAAA,CAAA;AAAA,GAC7B;AACA,EAAa,YAAA,CAAA,QAAA,CAAS,gBAAkB,EAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AAC3D,CAAA,CAAA;AAEA,IAAM,aAAgB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AACrD,EAAS,QAAA,CAAA,OAAA,EAAS,SAAS,aAAa,CAAA,CAAA;AACxC,EAAA,SAAA,CAAU,SAAS,aAAa,CAAA,CAAA;AAEhC,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,OAAA;AACf,EAAA,kBAAA,CAAmB,UAAU,CAAE,CAAA,CAAA;AAC/B,EAAa,YAAA,CAAA,QAAA,CAAS,gBAAkB,EAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AAC3D,CAAA,CAAA;AAEA,IAAM,mBAAsB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,KAAU,KAAA;AACxD,EAAA,IAAI,CAAC,KAAO,EAAA;AACV,IAAA,OAAA;AAAA,GACF;AACA,EAAQ,OAAA,CAAA,YAAA,CAAa,UAAU,KAAK,CAAA,CAAA;AACtC,CAAA,CAAA;AAEA,IAAM,kBAAA,GAAqB,CAAC,OAAA,EAAS,QAAa,KAAA;AAChD,EAAA,mBAAA,CAAoB,SAAS,KAAO,EAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,UAAU,CAAC,CAAA,CAAA;AACzE,EAAA,mBAAA,CAAoB,SAAS,MAAQ,EAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,WAAW,CAAC,CAAA,CAAA;AAC3E,EAAA,mBAAA,CAAoB,SAAS,GAAK,EAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,QAAQ,CAAC,CAAA,CAAA;AACvE,CAAA,CAAA;AAEA,IAAM,aAAA,GAAgB,CAAC,KAAA,EAAO,QAAa,KAAA;AACzC,EAAqB,oBAAA,CAAA,KAAA,EAAO,CAAC,SAAc,KAAA;AACzC,IAAA,kBAAA,CAAmB,WAAW,mBAAmB,CAAA,CAAA;AACjD,IAAA,kBAAA,CAAmB,WAAW,QAAQ,CAAA,CAAA;AAAA,GACvC,CAAA,CAAA;AACD,EAAA,kBAAA,CAAmB,OAAO,mBAAmB,CAAA,CAAA;AAC7C,EAAA,kBAAA,CAAmB,OAAO,QAAQ,CAAA,CAAA;AACpC,CAAA,CAAA;AAEA,IAAM,gBAAA,GAAmB,CAAC,MAAA,EAAQ,QAAa,KAAA;AAC7C,EAAA,kBAAA,CAAmB,QAAQ,QAAQ,CAAA,CAAA;AACnC,EAAA,mBAAA,CAAoB,QAAQ,GAAK,EAAA,OAAA,CAAQ,MAAQ,EAAA,QAAA,CAAS,QAAQ,CAAC,CAAA,CAAA;AACrE,CAAA,CAAA;AAEA,IAAM,eAAA,GAAkB,CAAC,OAAA,EAAS,QAAa,KAAA;AAC7C,EAAmB,kBAAA,CAAA,OAAA,EAAS,CAAC,QAAa,KAAA;AACxC,IAAA,kBAAA,CAAmB,UAAU,QAAQ,CAAA,CAAA;AACrC,IAAA,mBAAA,CAAoB,UAAU,GAAK,EAAA,OAAA,CAAQ,QAAU,EAAA,QAAA,CAAS,QAAQ,CAAC,CAAA,CAAA;AAAA,GACxE,CAAA,CAAA;AACD,EAAA,kBAAA,CAAmB,SAAS,cAAc,CAAA,CAAA;AAE1C,EAAA,mBAAA,CAAoB,SAAS,MAAQ,EAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,WAAW,CAAC,CAAA,CAAA;AAC3E,EAAA,mBAAA,CAAoB,SAAS,GAAK,EAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,QAAQ,CAAC,CAAA,CAAA;AACrE,EAAA,OAAA,CAAQ,IAAK,EAAA,CAAA;AACf,CAAA,CAAA;AAEA,IAAM,gBAAA,GAAmB,CAAC,MAAA,EAAQ,QAAa,KAAA;AAC7C,EAAA,kBAAA,CAAmB,QAAQ,SAAS,CAAA,CAAA;AACpC,EAAA,mBAAA,CAAoB,QAAQ,IAAM,EAAA,OAAA,CAAQ,MAAQ,EAAA,QAAA,CAAS,QAAQ,CAAC,CAAA,CAAA;AACtE,CAAA,CAAA;AAEA,IAAM,aAAgB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AACrD,EAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,OAAO,CAAA,CAAA;AACnD,EAAA,MAAM,YAAe,GAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AAC5D,EAAM,MAAA,WAAA,GAAc,OAAW,IAAA,YAAA,GAAe,YAAe,GAAA,SAAA,CAAA;AAC7D,EAAA,IAAI,CAAC,WAAA;AAAa,IAAA,OAAA;AAClB,EAAQ,OAAA,CAAA,KAAA,CAAM,eAAkB,GAAA,CAAA,KAAA,EAAQ,WAAW,CAAA,EAAA,CAAA,CAAA;AACnD,EAAA,YAAA,CAAa,OAAO,CAAA,CAAE,YAAa,CAAA,GAAA,EAAK,WAAW,CAAA,CAAA;AACnD,EAAc,aAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAC3C,CAAA,CAAA;AAKA,IAAM,kBAAqB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AAC1D,EAAA,MAAM,SAAY,GAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,aAAa,CAAA,CAAA;AACzD,EAAA,MAAM,YAAe,GAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,mBAAmB,CAAA,CAAA;AAClE,EAAM,MAAA,WAAA,GAAc,OAAW,IAAA,YAAA,GAAe,YAAe,GAAA,SAAA,CAAA;AAC7D,EAAA,IAAI,CAAC,WAAa,EAAA;AAChB,IAAA,OAAA;AAAA,GACF;AACA,EAAA,OAAA,CAAQ,MAAM,eAAkB,GAAA,WAAA,CAAA;AAChC,EAAc,aAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAC3C,CAAA,CAAA;AAEA,IAAM,mBAAsB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AAC3D,EAAA,MAAM,iBAAoB,GAAA,OAAA,CAAQ,OAAS,EAAA,QAAA,CAAS,WAAW,CAAA,CAAA;AAC/D,EAAA,IAAI,CAAC,iBAAmB,EAAA;AACtB,IAAA,OAAA;AAAA,GACF;AACA,EAAM,MAAA,YAAA,GAAe,iBAAkB,CAAA,KAAA,CAAM,GAAG,CAAA,CAAA;AAChD,EAAA,IAAI,gBAAgB,YAAa,CAAA,GAAA,CAAI,CAAC,KAAU,KAAA,CAAA,UAAA,EAAa,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA;AACrE,EAAQ,OAAA,CAAA,KAAA,CAAM,eAAkB,GAAA,aAAA,CAAc,IAAK,EAAA,CAAA;AAEnD,EAAI,IAAA,OAAA,CAAQ,KAAM,CAAA,eAAA,KAAoB,EAAI,EAAA;AACxC,IAAA,aAAA,GAAgB,aAAa,GAAI,CAAA,CAAC,KAAU,KAAA,CAAA,kBAAA,EAAqB,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA;AACzE,IAAQ,OAAA,CAAA,KAAA,CAAM,eAAkB,GAAA,aAAA,CAAc,IAAK,EAAA,CAAA;AAAA,GACrD;AACA,EAAc,aAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAC3C,CAAA,CAAA;AAEA,IAAM,mBAAsB,GAAA;AAAA,EAC1B,GAAK,EAAA,aAAA;AAAA,EACL,MAAQ,EAAA,gBAAA;AAAA,EACR,KAAO,EAAA,eAAA;AAAA,EACP,MAAQ,EAAA,gBAAA;AACV,CAAA,CAAA;AAEA,IAAM,gBAAA,GAAmB,CAAC,OAAA,EAAS,QAAa,KAAA;AAC9C,EAAM,MAAA,kBAAA,GAAqB,mBAAoB,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AAC9D,EAAA,IAAI,CAAC,kBAAoB,EAAA;AACvB,IAAA,OAAA;AAAA,GACF;AACA,EAAA,kBAAA,CAAmB,SAAS,QAAQ,CAAA,CAAA;AACtC,CAAA,CAAA;AAEA,IAAM,UAAa,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AAClD,EAAM,MAAA,kBAAA,GAAqB,mBAAoB,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AAC9D,EAAA,IAAI,CAAC,kBAAoB,EAAA;AACvB,IAAA,OAAA;AAAA,GACF;AACA,EAAA,kBAAA,CAAmB,SAAS,QAAQ,CAAA,CAAA;AACpC,EAAc,aAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAC3C,CAAA,CAAA;AAEA,IAAM,qBAAwB,GAAA,CAAC,KAAO,EAAA,QAAA,EAAU,SAAS,QAAQ,CAAA,CAAA;AACjE,IAAM,eAAe,CAAC,OAAA,KAAY,sBAAsB,OAAQ,CAAA,OAAA,CAAQ,OAAO,CAAI,GAAA,CAAA,CAAA,CAAA;AAEnF,IAAM,WAAA,GAAc,CAAC,QAAA,EAAU,QAAa,KAAA;AAC1C,EAAI,IAAA,QAAA,IAAY,CAAC,kBAAmB,CAAA,QAAQ,KAAK,CAAC,kBAAA,CAAmB,QAAQ,CAAG,EAAA;AAC9E,IAAa,YAAA,CAAA,QAAA,CAAS,iBAAiB,QAAQ,CAAA,CAAA;AAAA,GACjD;AACF,CAAA,CAAA;AAEA,IAAMA,iBAAmB,GAAA,CAAC,OAAS,EAAA,SAAA,EAAW,OAAY,KAAA;AACxD,EAAQ,OAAA,CAAA,gBAAA,CAAiB,WAAW,OAAO,CAAA,CAAA;AAC3C,EAAQ,OAAA,CAAA,UAAA,CAAW,SAAS,CAAI,GAAA,OAAA,CAAA;AAClC,CAAA,CAAA;AAEA,IAAM,mBAAsB,GAAA,CAAC,OAAS,EAAA,SAAA,EAAW,OAAY,KAAA;AAC3D,EAAQ,OAAA,CAAA,mBAAA,CAAoB,WAAW,OAAO,CAAA,CAAA;AAChD,CAAA,CAAA;AAEA,IAAM,iBAAA,GAAoB,CAAC,OAAY,KAAA;AACrC,EAAO,OAAA,CAAC,CAAC,OAAQ,CAAA,UAAA,CAAA;AACnB,CAAA,CAAA;AAEA,IAAM,iBAAoB,GAAA,CAAC,OAASC,EAAAA,YAAAA,EAAaC,aAAiB,KAAA;AAChE,EAAI,IAAA,CAAC,kBAAkB,OAAO,CAAA;AAAG,IAAA,OAAA,CAAQ,aAAa,EAAC,CAAA;AACvD,EAAA,MAAM,aAAgB,GAAA,OAAA,CAAQ,OAAY,KAAA,OAAA,GAAU,YAAe,GAAA,MAAA,CAAA;AACnE,EAAAF,iBAAAA,CAAiB,OAAS,EAAA,aAAA,EAAeC,YAAW,CAAA,CAAA;AACpD,EAAAD,iBAAAA,CAAiB,OAAS,EAAA,OAAA,EAASE,aAAY,CAAA,CAAA;AACjD,CAAA,CAAA;AAEA,IAAM,oBAAA,GAAuB,CAAC,OAAY,KAAA;AACxC,EAAI,IAAA,CAAC,iBAAkB,CAAA,OAAO,CAAG,EAAA;AAC/B,IAAA,OAAA;AAAA,GACF;AACA,EAAA,MAAM,iBAAiB,OAAQ,CAAA,UAAA,CAAA;AAC/B,EAAA,KAAA,IAAS,aAAa,cAAgB,EAAA;AACpC,IAAM,MAAA,OAAA,GAAU,eAAe,SAAS,CAAA,CAAA;AACxC,IAAoB,mBAAA,CAAA,OAAA,EAAS,WAAW,OAAO,CAAA,CAAA;AAAA,GACjD;AACA,EAAA,OAAO,OAAQ,CAAA,UAAA,CAAA;AACjB,CAAA,CAAA;AAEA,IAAM,WAAc,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AACnD,EAAA,eAAA,CAAgB,OAAO,CAAA,CAAA;AACvB,EAAA,kBAAA,CAAmB,UAAU,CAAE,CAAA,CAAA,CAAA;AAC/B,EAAA,mBAAA,CAAoB,QAAQ,CAAA,CAAA;AAC5B,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,aAAa,CAAA,CAAA;AAC3C,EAAA,IAAI,SAAS,mBAAqB,EAAA;AAChC,IAAA,SAAA,CAAU,SAAS,QAAQ,CAAA,CAAA;AAAA,GAC7B;AACF,CAAA,CAAA;AAEA,IAAM,WAAc,GAAA,CAAC,KAAO,EAAA,OAAA,EAAS,UAAU,QAAa,KAAA;AAC1D,EAAM,MAAA,WAAA,GAAc,gBAAgB,OAAO,CAAA,CAAA;AAC3C,EAAY,WAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AACvC,EAAS,QAAA,CAAA,OAAA,EAAS,SAAS,YAAY,CAAA,CAAA;AACvC,EAAA,SAAA,CAAU,SAAS,YAAY,CAAA,CAAA;AAC/B,EAAa,YAAA,CAAA,QAAA,CAAS,eAAiB,EAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AACxD,EAAA,IAAI,CAAC,WAAA;AAAa,IAAA,WAAA,CAAY,UAAU,QAAQ,CAAA,CAAA;AAClD,CAAA,CAAA;AAEA,IAAM,YAAe,GAAA,CAAC,KAAO,EAAA,OAAA,EAAS,UAAU,QAAa,KAAA;AAC3D,EAAM,MAAA,WAAA,GAAc,gBAAgB,OAAO,CAAA,CAAA;AAC3C,EAAY,WAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AACvC,EAAS,QAAA,CAAA,OAAA,EAAS,SAAS,WAAW,CAAA,CAAA;AACtC,EAAA,SAAA,CAAU,SAAS,WAAW,CAAA,CAAA;AAC9B,EAAa,YAAA,CAAA,QAAA,CAAS,cAAgB,EAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;AACvD,EAAA,IAAI,QAAS,CAAA,gBAAA;AAAkB,IAAA,oBAAA,CAAqB,SAAS,mBAAmB,CAAA,CAAA;AAChF,EAAA,IAAI,CAAC,WAAA;AAAa,IAAA,WAAA,CAAY,UAAU,QAAQ,CAAA,CAAA;AAClD,CAAA,CAAA;AAEA,IAAM,wBAA2B,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AAChE,EAAM,MAAA,iBAAA,GAAoB,YAAa,CAAA,OAAO,CAAK,IAAA,OAAA,CAAA;AACnD,EAAI,IAAA,iBAAA,CAAkB,iBAAiB,CAAG,EAAA;AAExC,IAAA,OAAA;AAAA,GACF;AACA,EAAM,MAAA,YAAA,GAAe,CAAC,KAAU,KAAA;AAC9B,IAAY,WAAA,CAAA,KAAA,EAAO,OAAS,EAAA,QAAA,EAAU,QAAQ,CAAA,CAAA;AAC9C,IAAA,oBAAA,CAAqB,iBAAiB,CAAA,CAAA;AAAA,GACxC,CAAA;AACA,EAAM,MAAA,aAAA,GAAgB,CAAC,KAAU,KAAA;AAC/B,IAAa,YAAA,CAAA,KAAA,EAAO,OAAS,EAAA,QAAA,EAAU,QAAQ,CAAA,CAAA;AAC/C,IAAA,oBAAA,CAAqB,iBAAiB,CAAA,CAAA;AAAA,GACxC,CAAA;AACA,EAAkB,iBAAA,CAAA,iBAAA,EAAmB,cAAc,aAAa,CAAA,CAAA;AAClE,CAAA,CAAA;AAEA,IAAM,cAAiB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AACtD,EAAA,YAAA,CAAa,OAAO,CAAA,CAAA;AACpB,EAAyB,wBAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AACpD,EAAA,2BAAA,CAA4B,OAAO,CAAA,CAAA;AACnC,EAAc,aAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AACzC,EAAmB,kBAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAC9C,EAAoB,mBAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AACjD,CAAA,CAAA;AAEA,IAAM,WAAc,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AACnD,EAAyB,wBAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AACpD,EAAW,UAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AACxC,CAAA,CAAA;AAEA,IAAM,IAAO,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AAC5C,EAAI,IAAA,YAAA,CAAa,OAAO,CAAG,EAAA;AACzB,IAAY,WAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAAA,GAClC,MAAA;AACL,IAAe,cAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAAA,GAC5C;AACF,CAAA,CAAA;AAEA,IAAM,UAAa,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AAClD,EAAQ,OAAA,CAAA,YAAA,CAAa,WAAW,MAAM,CAAA,CAAA;AACtC,EAAyB,wBAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AACpD,EAAA,gBAAA,CAAiB,SAAS,QAAQ,CAAA,CAAA;AAClC,EAAA,SAAA,CAAU,SAAS,YAAY,CAAA,CAAA;AACjC,CAAA,CAAA;AAEA,IAAM,qBAAA,GAAwB,CAAC,OAAY,KAAA;AACzC,EAAA,OAAA,CAAQ,gBAAgB,GAAG,CAAA,CAAA;AAC3B,EAAA,OAAA,CAAQ,gBAAgB,MAAM,CAAA,CAAA;AAC9B,EAAA,OAAA,CAAQ,gBAAgB,KAAK,CAAA,CAAA;AAC/B,CAAA,CAAA;AAEA,IAAM,eAAA,GAAkB,CAAC,OAAY,KAAA;AACnC,EAAqB,oBAAA,CAAA,OAAA,EAAS,CAAC,SAAc,KAAA;AAC3C,IAAA,qBAAA,CAAsB,SAAS,CAAA,CAAA;AAAA,GAChC,CAAA,CAAA;AACD,EAAA,qBAAA,CAAsB,OAAO,CAAA,CAAA;AAC/B,CAAA,CAAA;AAEA,IAAM,UAAA,GAAa,CAAC,KAAU,KAAA;AAC5B,EAAqB,oBAAA,CAAA,KAAA,EAAO,CAAC,QAAa,KAAA;AACxC,IAAA,oBAAA,CAAqB,UAAU,mBAAmB,CAAA,CAAA;AAAA,GACnD,CAAA,CAAA;AACD,EAAA,oBAAA,CAAqB,OAAO,mBAAmB,CAAA,CAAA;AACjD,CAAA,CAAA;AAEA,IAAM,YAAA,GAAe,CAAC,OAAY,KAAA;AAChC,EAAmB,kBAAA,CAAA,OAAA,EAAS,CAAC,QAAa,KAAA;AACxC,IAAA,oBAAA,CAAqB,UAAU,QAAQ,CAAA,CAAA;AAAA,GACxC,CAAA,CAAA;AACD,EAAA,oBAAA,CAAqB,SAAS,cAAc,CAAA,CAAA;AAC5C,EAAA,OAAA,CAAQ,IAAK,EAAA,CAAA;AACf,CAAA,CAAA;AAEA,IAAM,aAAA,GAAgB,CAAC,QAAa,KAAA;AAClC,EAAA,oBAAA,CAAqB,UAAU,QAAQ,CAAA,CAAA;AACzC,CAAA,CAAA;AAEA,IAAM,aAAA,GAAgB,CAAC,QAAa,KAAA;AAClC,EAAA,oBAAA,CAAqB,UAAU,SAAS,CAAA,CAAA;AAC1C,CAAA,CAAA;AAEA,IAAM,gBAAmB,GAAA;AAAA,EACvB,GAAK,EAAA,UAAA;AAAA,EACL,MAAQ,EAAA,aAAA;AAAA,EACR,KAAO,EAAA,YAAA;AAAA,EACP,MAAQ,EAAA,aAAA;AACV,CAAA,CAAA;AAEA,IAAM,iBAAA,GAAoB,CAAC,OAAY,KAAA;AACrC,EAAM,MAAA,eAAA,GAAkB,gBAAiB,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;AACxD,EAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,IAAA,sBAAA,CAAuB,OAAO,CAAA,CAAA;AAC9B,IAAA,OAAA;AAAA,GACF;AACA,EAAA,eAAA,CAAgB,OAAO,CAAA,CAAA;AACzB,CAAA,CAAA;AAEA,IAAM,YAAA,GAAe,CAAC,OAAA,EAAS,QAAa,KAAA;AAC1C,EAAA,IAAI,cAAe,CAAA,OAAO,CAAK,IAAA,eAAA,CAAgB,OAAO,CAAG,EAAA;AACvD,IAAA,OAAA;AAAA,GACF;AACA,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,aAAa,CAAA,CAAA;AAC3C,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,YAAY,CAAA,CAAA;AAC1C,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,aAAa,CAAA,CAAA;AAC3C,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,aAAa,CAAA,CAAA;AAC3C,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,YAAY,CAAA,CAAA;AAC1C,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,WAAW,CAAA,CAAA;AAC3C,CAAA,CAAA;AAEA,IAAM,OAAA,GAAU,CAAC,OAAA,EAAS,QAAa,KAAA;AACrC,EAAA,iBAAA,CAAkB,OAAO,CAAA,CAAA;AACzB,EAAA,YAAA,CAAa,SAAS,QAAQ,CAAA,CAAA;AAC9B,EAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AACnB,EAAA,mBAAA,CAAoB,OAAO,CAAA,CAAA;AAC7B,CAAA,CAAA;AAEA,IAAM,aAAgB,GAAA,CAAC,OAAS,EAAA,KAAA,EAAO,UAAU,QAAa,KAAA;AAC5D,EAAA,IAAI,CAAC,QAAS,CAAA,cAAA;AAAgB,IAAA,OAAA;AAC9B,EAAI,IAAA,CAAC,iBAAiB,OAAO,CAAA;AAAG,IAAA,OAAA;AAChC,EAAA,IAAI,QAAQ,OAAY,KAAA,KAAA;AAAO,IAAA,OAAA;AAC/B,EAAA,oBAAA,CAAqB,OAAO,CAAA,CAAA;AAC5B,EAAA,eAAA,CAAgB,OAAO,CAAA,CAAA;AACvB,EAAA,UAAA,CAAW,OAAO,CAAA,CAAA;AAClB,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,aAAa,CAAA,CAAA;AAC3C,EAAA,kBAAA,CAAmB,UAAU,CAAE,CAAA,CAAA,CAAA;AAC/B,EAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AACnB,EAAA,YAAA,CAAa,QAAS,CAAA,eAAA,EAAiB,OAAS,EAAA,KAAA,EAAO,QAAQ,CAAA,CAAA;AACjE,CAAA,CAAA;AAEA,IAAM,OAAU,GAAA,CAAC,OAAS,EAAA,KAAA,EAAO,UAAU,QAAa,KAAA;AACtD,EAAM,MAAA,QAAA,GAAW,kBAAkB,OAAO,CAAA,CAAA;AAE1C,EAAA,SAAA,CAAU,SAAS,aAAa,CAAA,CAAA;AAChC,EAAS,QAAA,CAAA,OAAA,EAAS,SAAS,aAAa,CAAA,CAAA;AACxC,EAAY,WAAA,CAAA,OAAA,EAAS,SAAS,YAAY,CAAA,CAAA;AAC1C,EAAiB,gBAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAC5C,EAAA,YAAA,CAAa,QAAS,CAAA,cAAA,EAAgB,OAAS,EAAA,KAAA,EAAO,QAAQ,CAAA,CAAA;AAC9D,EAAI,IAAA,QAAA;AAAU,IAAA,OAAA;AACd,EAAK,IAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAClC,CAAA,CAAA;AAEA,IAAM,MAAS,GAAA,CAAC,OAAS,EAAA,KAAA,EAAO,UAAU,QAAa,KAAA;AACrD,EAAA,IAAI,eAAe,OAAO,CAAA;AAAG,IAAA,OAAA;AAC7B,EAAS,QAAA,CAAA,OAAA,EAAS,SAAS,YAAY,CAAA,CAAA;AACvC,EAAc,aAAA,CAAA,OAAA,EAAS,KAAO,EAAA,QAAA,EAAU,QAAQ,CAAA,CAAA;AAChD,EAAA,YAAA,CAAa,QAAS,CAAA,aAAA,EAAe,OAAS,EAAA,KAAA,EAAO,QAAQ,CAAA,CAAA;AAC/D,CAAA,CAAA;AAEA,IAAM,kBAAqB,GAAA,CAAC,KAAO,EAAA,QAAA,EAAU,OAAO,CAAA,CAAA;AAEpD,IAAM,kBAAkB,CAAC,QAAA,KACvB,QAAS,CAAA,UAAA,IAAc,aAAa,gBAAiB,CAAA,SAAA,CAAA;AAEvD,IAAM,aAAgB,GAAA,CAAC,QAAU,EAAA,QAAA,EAAU,QAAa,KAAA;AACtD,EAAS,QAAA,CAAA,OAAA,CAAQ,CAAC,OAAY,KAAA;AAC5B,IAAA,IAAI,kBAAmB,CAAA,OAAA,CAAQ,OAAQ,CAAA,OAAO,MAAM,CAAI,CAAA,EAAA;AACtD,MAAA,OAAA;AAAA,KACF;AACA,IAAW,UAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAAA,GACvC,CAAA,CAAA;AACD,EAAA,cAAA,CAAe,UAAU,CAAC,CAAA,CAAA;AAC5B,CAAA,CAAA;AAEA,IAAM,iBAAiB,CAAC,KAAA,KAAU,KAAM,CAAA,cAAA,IAAkB,MAAM,iBAAoB,GAAA,CAAA,CAAA;AAEpF,IAAM,mBAAA,GAAsB,CAAC,QAAc,MAAA;AAAA,EACzC,IAAM,EAAA,QAAA,CAAS,SAAc,KAAA,QAAA,GAAW,OAAO,QAAS,CAAA,SAAA;AAAA,EACxD,UAAY,EAAA,QAAA,CAAS,UAAc,IAAA,QAAA,CAAS,SAAY,GAAA,IAAA;AAC1D,CAAA,CAAA,CAAA;AAEA,IAAM,mBAAsB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,QAAa,KAAA;AAC3D,EAAQ,OAAA,CAAA,OAAA;AAAA,IAAQ,CAAC,KACf,KAAA,cAAA,CAAe,KAAK,CAAA,GAChB,QAAQ,KAAM,CAAA,MAAA,EAAQ,KAAO,EAAA,QAAA,EAAU,QAAQ,CAC/C,GAAA,MAAA,CAAO,MAAM,MAAQ,EAAA,KAAA,EAAO,UAAU,QAAQ,CAAA;AAAA,GACpD,CAAA;AACF,CAAA,CAAA;AAEA,IAAM,eAAA,GAAkB,CAAC,QAAA,EAAU,QAAa,KAAA;AAC9C,EAAS,QAAA,CAAA,OAAA,CAAQ,CAAC,OAAY,KAAA;AAC5B,IAAA,QAAA,CAAS,QAAQ,OAAO,CAAA,CAAA;AAAA,GACzB,CAAA,CAAA;AACH,CAAA,CAAA;AAEA,IAAM,cAAA,GAAiB,CAAC,QAAA,EAAU,iBAAsB,KAAA;AACtD,EAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACtB,EAAA,eAAA,CAAgB,UAAU,iBAAiB,CAAA,CAAA;AAC7C,CAAA,CAAA;AAEA,IAAM,WAAA,GAAc,CAAC,QAAA,EAAU,QAAa,KAAA;AAC1C,EAAA,IAAI,CAAC,4BAAA,IAAgC,eAAgB,CAAA,QAAQ,CAAG,EAAA;AAC9D,IAAA,OAAA;AAAA,GACF;AACA,EAAA,QAAA,CAAS,SAAY,GAAA,IAAI,oBAAqB,CAAA,CAAC,OAAY,KAAA;AACzD,IAAoB,mBAAA,CAAA,OAAA,EAAS,UAAU,QAAQ,CAAA,CAAA;AAAA,GACjD,EAAG,mBAAoB,CAAA,QAAQ,CAAC,CAAA,CAAA;AAClC,CAAA,CAAA;AAEA,IAAM,UAAU,CAAC,OAAA,KAAY,MAAM,SAAU,CAAA,KAAA,CAAM,KAAK,OAAO,CAAA,CAAA;AAE/D,IAAM,gBAAgB,CAAC,QAAA,KACrB,SAAS,SAAU,CAAA,gBAAA,CAAiB,SAAS,iBAAiB,CAAA,CAAA;AAEhE,IAAM,yBAAyB,CAAC,QAAA,KAAa,QAAQ,QAAQ,CAAA,CAAE,OAAO,cAAc,CAAA,CAAA;AAEpF,IAAM,QAAW,GAAA,CAAC,OAAY,KAAA,cAAA,CAAe,OAAO,CAAA,CAAA;AACpD,IAAM,sBAAsB,CAAC,QAAA,KAAa,QAAQ,QAAQ,CAAA,CAAE,OAAO,QAAQ,CAAA,CAAA;AAE3E,IAAM,iBAAA,GAAoB,CAAC,QAAU,EAAA,QAAA,KACnC,uBAAuB,QAAY,IAAA,aAAA,CAAc,QAAQ,CAAC,CAAA,CAAA;AAE5D,IAAM,aAAA,GAAgB,CAAC,QAAA,EAAU,QAAa,KAAA;AAC5C,EAAA,MAAM,aAAgB,GAAA,mBAAA,CAAoB,aAAc,CAAA,QAAQ,CAAC,CAAA,CAAA;AACjE,EAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,OAAY,KAAA;AACjC,IAAY,WAAA,CAAA,OAAA,EAAS,SAAS,WAAW,CAAA,CAAA;AACzC,IAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AAAA,GACpB,CAAA,CAAA;AACD,EAAA,QAAA,CAAS,MAAO,EAAA,CAAA;AAClB,CAAA,CAAA;AAEA,IAAM,cAAA,GAAiB,CAAC,QAAA,EAAU,QAAa,KAAA;AAC7C,EAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,IAAA,OAAA;AAAA,GACF;AACA,EAAA,QAAA,CAAS,iBAAiB,MAAM;AAC9B,IAAA,aAAA,CAAc,UAAU,QAAQ,CAAA,CAAA;AAAA,GAClC,CAAA;AACA,EAAO,MAAA,CAAA,gBAAA,CAAiB,QAAU,EAAA,QAAA,CAAS,cAAc,CAAA,CAAA;AAC3D,CAAA,CAAA;AAEA,IAAM,gBAAA,GAAmB,CAAC,QAAa,KAAA;AACrC,EAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,IAAA,OAAA;AAAA,GACF;AACA,EAAO,MAAA,CAAA,mBAAA,CAAoB,QAAU,EAAA,QAAA,CAAS,cAAc,CAAA,CAAA;AAC9D,CAAA,CAAA;AAEA,IAAM,QAAA,GAAW,SAAS,cAAA,EAAgB,QAAU,EAAA;AAClD,EAAM,MAAA,QAAA,GAAW,oBAAoB,cAAc,CAAA,CAAA;AACnD,EAAA,IAAA,CAAK,SAAY,GAAA,QAAA,CAAA;AACjB,EAAA,IAAA,CAAK,YAAe,GAAA,CAAA,CAAA;AACpB,EAAA,WAAA,CAAY,UAAU,IAAI,CAAA,CAAA;AAC1B,EAAA,cAAA,CAAe,UAAU,IAAI,CAAA,CAAA;AAC7B,EAAA,IAAA,CAAK,OAAO,QAAQ,CAAA,CAAA;AACtB,CAAA,CAAA;AAEA,QAAA,CAAS,SAAY,GAAA;AAAA,EACnB,MAAA,EAAQ,SAAS,YAAc,EAAA;AAC7B,IAAA,MAAM,WAAW,IAAK,CAAA,SAAA,CAAA;AACtB,IAAM,MAAA,cAAA,GAAiB,iBAAkB,CAAA,YAAA,EAAc,QAAQ,CAAA,CAAA;AAC/D,IAAe,cAAA,CAAA,IAAA,EAAM,eAAe,MAAM,CAAA,CAAA;AAE1C,IAAI,IAAA,KAAA,IAAS,CAAC,4BAA8B,EAAA;AAC1C,MAAA,IAAA,CAAK,QAAQ,cAAc,CAAA,CAAA;AAC3B,MAAA,OAAA;AAAA,KACF;AACA,IAAI,IAAA,eAAA,CAAgB,QAAQ,CAAG,EAAA;AAC7B,MAAc,aAAA,CAAA,cAAA,EAAgB,UAAU,IAAI,CAAA,CAAA;AAC5C,MAAA,OAAA;AAAA,KACF;AAEA,IAAe,cAAA,CAAA,IAAA,CAAK,WAAW,cAAc,CAAA,CAAA;AAAA,GAC/C;AAAA,EAEA,SAAS,WAAW;AAElB,IAAA,IAAI,KAAK,SAAW,EAAA;AAClB,MAAA,IAAA,CAAK,UAAU,UAAW,EAAA,CAAA;AAAA,KAC5B;AAEA,IAAA,gBAAA,CAAiB,IAAI,CAAA,CAAA;AAErB,IAAA,aAAA,CAAc,IAAK,CAAA,SAAS,CAAE,CAAA,OAAA,CAAQ,CAAC,OAAY,KAAA;AACjD,MAAA,mBAAA,CAAoB,OAAO,CAAA,CAAA;AAAA,KAC5B,CAAA,CAAA;AAED,IAAA,OAAO,IAAK,CAAA,SAAA,CAAA;AACZ,IAAA,OAAO,IAAK,CAAA,SAAA,CAAA;AACZ,IAAA,OAAO,IAAK,CAAA,cAAA,CAAA;AACZ,IAAA,OAAO,IAAK,CAAA,YAAA,CAAA;AACZ,IAAA,OAAO,IAAK,CAAA,WAAA,CAAA;AAAA,GACd;AAAA,EAEA,OAAA,EAAS,SAAS,QAAU,EAAA;AAC1B,IAAA,MAAM,WAAW,IAAK,CAAA,SAAA,CAAA;AACtB,IAAM,MAAA,cAAA,GAAiB,iBAAkB,CAAA,QAAA,EAAU,QAAQ,CAAA,CAAA;AAC3D,IAAe,cAAA,CAAA,OAAA,CAAQ,CAAC,OAAY,KAAA;AAClC,MAAA,SAAA,CAAU,SAAS,IAAI,CAAA,CAAA;AACvB,MAAK,IAAA,CAAA,OAAA,EAAS,UAAU,IAAI,CAAA,CAAA;AAAA,KAC7B,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,YAAY,WAAW;AACrB,IAAA,MAAM,WAAW,IAAK,CAAA,SAAA,CAAA;AACtB,IAAA,aAAA,CAAc,QAAQ,CAAA,CAAE,OAAQ,CAAA,CAAC,OAAY,KAAA;AAC3C,MAAA,OAAA,CAAQ,SAAS,QAAQ,CAAA,CAAA;AAAA,KAC1B,CAAA,CAAA;AAAA,GACH;AACF,CAAA,CAAA;AAEA,QAAS,CAAA,IAAA,GAAO,CAAC,OAAA,EAAS,cAAmB,KAAA;AAC3C,EAAM,MAAA,QAAA,GAAW,oBAAoB,cAAc,CAAA,CAAA;AACnD,EAAA,IAAA,CAAK,SAAS,QAAQ,CAAA,CAAA;AACxB,CAAA,CAAA;AAEA,QAAS,CAAA,WAAA,GAAc,CAAC,OAAY,KAAA;AAClC,EAAA,WAAA,CAAY,OAAO,CAAA,CAAA;AACrB,CAAA,CAAA;AAGA,IAAI,gBAAkB,EAAA;AACpB,EAAe,cAAA,CAAA,QAAA,EAAU,OAAO,eAAe,CAAA,CAAA;AACjD,CAAA;;;AC1xBO,SAAS,WAAW,SAA+B,EAAA;AACxD,EAAA,MAAM,EAAK,GAAA,4BAAA,CAAA;AAEX,EAAA,MAAM,IAAO,GAAA,QAAA,CAAS,eAAgB,CAAA,EAAA,EAAI,KAAK,CAAA,CAAA;AAC/C,EAAA,IAAA,CAAK,YAAa,CAAA,OAAA,EAAS,CAAG,EAAA,SAAS,CAAsB,oBAAA,CAAA,CAAA,CAAA;AAC7D,EAAK,IAAA,CAAA,YAAA,CAAa,WAAW,WAAW,CAAA,CAAA;AAExC,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,eAAgB,CAAA,EAAA,EAAI,MAAM,CAAA,CAAA;AACjD,EAAM,KAAA,CAAA,YAAA,CAAa,QAAQ,cAAc,CAAA,CAAA;AACzC,EAAM,KAAA,CAAA,YAAA,CAAa,KAAK,kNAAkN,CAAA,CAAA;AAE1O,EAAA,IAAA,CAAK,YAAY,KAAK,CAAA,CAAA;AAEtB,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;;;ACdO,SAAS,aAAa,SAA+B,EAAA;AAC1D,EAAA,MAAM,EAAK,GAAA,4BAAA,CAAA;AAEX,EAAA,MAAM,IAAO,GAAA,QAAA,CAAS,eAAgB,CAAA,EAAA,EAAI,KAAK,CAAA,CAAA;AAC/C,EAAA,IAAA,CAAK,YAAa,CAAA,OAAA,EAAS,CAAG,EAAA,SAAS,CAAyB,uBAAA,CAAA,CAAA,CAAA;AAChE,EAAK,IAAA,CAAA,YAAA,CAAa,WAAW,aAAa,CAAA,CAAA;AAE1C,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,eAAgB,CAAA,EAAA,EAAI,MAAM,CAAA,CAAA;AACjD,EAAM,KAAA,CAAA,YAAA,CAAa,QAAQ,cAAc,CAAA,CAAA;AACzC,EAAM,KAAA,CAAA,YAAA,CAAa,KAAK,iPAAiP,CAAA,CAAA;AAEzQ,EAAA,IAAA,CAAK,YAAY,KAAK,CAAA,CAAA;AAEtB,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;;;ACdO,SAAS,cAAc,SAA+B,EAAA;AAC3D,EAAA,MAAM,EAAK,GAAA,4BAAA,CAAA;AAEX,EAAA,MAAM,IAAO,GAAA,QAAA,CAAS,eAAgB,CAAA,EAAA,EAAI,KAAK,CAAA,CAAA;AAC/C,EAAA,IAAA,CAAK,YAAa,CAAA,OAAA,EAAS,CAAG,EAAA,SAAS,CAA0B,wBAAA,CAAA,CAAA,CAAA;AACjE,EAAK,IAAA,CAAA,YAAA,CAAa,WAAW,aAAa,CAAA,CAAA;AAE1C,EAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,eAAgB,CAAA,EAAA,EAAI,MAAM,CAAA,CAAA;AACjD,EAAM,KAAA,CAAA,YAAA,CAAa,QAAQ,cAAc,CAAA,CAAA;AACzC,EAAM,KAAA,CAAA,YAAA,CAAa,KAAK,iPAAiP,CAAA,CAAA;AAEzQ,EAAA,IAAA,CAAK,YAAY,KAAK,CAAA,CAAA;AAEtB,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;;;ACXO,IAAM,UAAN,MAAqC;AAAA,EAW1C,YAAqB,KAA2B,EAAA;AAA3B,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA,CAAA;AARrB,IAAO,IAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AACP,IAAO,IAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AACP,IAAQ,IAAA,CAAA,KAAA,GAAA,CAAA,CAAA;AAON,IAAA,IAAA,CAAK,KAAQ,GAAA,IAAI,KAAM,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AACnC,IAAA,IAAA,CAAK,MAAM,CAAC,CAAA,CAAA;AAAA,GACd;AAAA,EAPA,IAAI,IAAgB,GAAA;AAClB,IAAA,OAAO,KAAK,IAAQ,IAAA,CAAA,IAAK,IAAK,CAAA,IAAA,IAAQ,KAAK,KAAM,CAAA,MAAA,CAAA;AAAA,GACnD;AAAA,EAOA,MAAM,KAAe,EAAA;AACnB,IAAA,IAAI,IAAK,CAAA,IAAA;AAAM,MAAA,OAAA;AACf,IAAK,IAAA,CAAA,IAAA,GAAO,KAAK,IAAO,GAAA,KAAA,CAAA;AACxB,IAAK,IAAA,CAAA,KAAA,KAAL,KAAK,KAAU,GAAA,UAAA,CAAW,KAAK,OAAQ,CAAA,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA,CAAA;AAAA,GACnD;AAAA,EAEA,OAAU,GAAA;AACR,IAAM,MAAA,EAAE,OAAU,GAAA,IAAA,CAAA;AAElB,IAAA,OAAO,IAAK,CAAA,IAAA,GAAO,CAAK,IAAA,KAAA,CAAM,KAAK,IAAI,CAAA;AAAG,MAAK,IAAA,CAAA,IAAA,EAAA,CAAA;AAC/C,IAAA,IAAI,CAAC,KAAA,CAAM,IAAK,CAAA,IAAI,CAAG,EAAA;AACrB,MAAM,MAAA,IAAA,GAAO,QAAS,CAAA,aAAA,CAAc,MAAM,CAAA,CAAA;AAC1C,MAAM,KAAA,CAAA,IAAA,CAAK,IAAI,CAAI,GAAA,IAAA,CAAA;AACnB,MAAA,IAAA,CAAK,GAAM,GAAA,SAAA,CAAA;AACX,MAAA,IAAA,CAAK,EAAK,GAAA,OAAA,CAAA;AACV,MAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,IAAI,CAAE,CAAA,GAAA,CAAA;AAClC,MAAS,QAAA,CAAA,IAAA,CAAK,YAAY,IAAI,CAAA,CAAA;AAAA,KAChC;AAEA,IAAO,OAAA,KAAA,CAAM,KAAK,IAAI,CAAA;AAAG,MAAK,IAAA,CAAA,IAAA,EAAA,CAAA;AAC9B,IAAI,IAAA,IAAA,CAAK,OAAO,IAAK,CAAA,KAAA,CAAM,UAAU,CAAC,KAAA,CAAM,IAAK,CAAA,IAAI,CAAG,EAAA;AACtD,MAAM,MAAA,IAAA,GAAO,QAAS,CAAA,aAAA,CAAc,MAAM,CAAA,CAAA;AAC1C,MAAM,KAAA,CAAA,IAAA,CAAK,IAAI,CAAI,GAAA,IAAA,CAAA;AACnB,MAAA,IAAA,CAAK,GAAM,GAAA,SAAA,CAAA;AACX,MAAA,IAAA,CAAK,EAAK,GAAA,OAAA,CAAA;AACV,MAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,IAAI,CAAE,CAAA,GAAA,CAAA;AAClC,MAAS,QAAA,CAAA,IAAA,CAAK,YAAY,IAAI,CAAA,CAAA;AAAA,KAChC;AAEA,IAAA,IAAA,CAAK,QAAQ,UAAW,CAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,IAAI,GAAG,GAAK,CAAA,CAAA;AAAA,GACxD;AAAA,EAEA,OAAU,GAAA;AACR,IAAA,YAAA,CAAa,KAAK,KAAK,CAAA,CAAA;AACvB,IAAW,KAAA,MAAA,IAAA,IAAQ,KAAK,KAAO,EAAA;AAC7B,MAAQ,IAAA,IAAA,QAAA,CAAS,KAAK,QAAS,CAAA,IAAI,KAAK,QAAS,CAAA,IAAA,CAAK,YAAY,IAAI,CAAA,CAAA;AAAA,KACxE;AACA,IAAA,IAAA,CAAK,MAAM,MAAS,GAAA,CAAA,CAAA;AAAA,GACtB;AACF,CAAA,CAAA;;;ACJO,IAAM,eAAN,MAAgD;AAAA,EAqBrD,YAAY,MAA4B,EAAA;AApBxC,IAAA,IAAA,CAAS,SAAY,GAAA,0BAAA,CAAA;AACrB,IAAA,IAAA,CAAS,UAAU,eAAgB,EAAA,CAAA;AAcnC,IAAc,IAAA,CAAA,WAAA,GAAA,KAAA,CAAA;AACd,IAAc,IAAA,CAAA,WAAA,GAAA,KAAA,CAAA;AACd,IAAY,IAAA,CAAA,SAAA,GAAA,CAAA,CAAA;AACZ,IAA4C,IAAA,CAAA,eAAA,GAAA,IAAA,CAAA;AAzE9C,IAAA,IAAA,EAAA,CAAA;AA4EI,IAAA,IAAA,CAAK,QAAQ,MAAO,CAAA,KAAA,CAAA;AACpB,IAAA,IAAA,CAAK,OAAU,GAAA,IAAI,OAAQ,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACrC,IAAK,IAAA,CAAA,OAAA,CAAQ,GAAI,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA;AAC7B,IAAK,IAAA,CAAA,QAAA,GAAA,CAAW,EAAO,GAAA,MAAA,CAAA,QAAA,KAAP,IAAmB,GAAA,EAAA,GAAA,KAAA,CAAA;AACnC,IAAK,IAAA,CAAA,GAAA,GAAM,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACvC,IAAK,IAAA,CAAA,GAAA,CAAI,YAAY,IAAK,CAAA,SAAA,CAAA;AAC1B,IAAK,IAAA,CAAA,UAAA,GAAa,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC9C,IAAA,IAAA,CAAK,UAAW,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,SAAS,CAAA,CAAA;AAC5C,IAAK,IAAA,CAAA,UAAA,GAAa,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC9C,IAAA,IAAA,CAAK,UAAW,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,SAAS,CAAA,CAAA;AAC5C,IAAK,IAAA,CAAA,QAAA,GAAW,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC5C,IAAA,IAAA,CAAK,QAAS,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,OAAO,CAAA,CAAA;AACxC,IAAK,IAAA,CAAA,KAAA,GAAQ,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACzC,IAAK,IAAA,CAAA,aAAA,GAAgB,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACjD,IAAA,IAAA,CAAK,aAAc,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,SAAS,CAAA,CAAA;AAC/C,IAAK,IAAA,CAAA,SAAA,GAAY,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC7C,IAAA,IAAA,CAAK,SAAU,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,QAAQ,CAAA,CAAA;AAC1C,IAAK,IAAA,CAAA,kBAAA,GAAqB,QAAS,CAAA,aAAA,CAAc,OAAO,CAAA,CAAA;AACxD,IAAA,IAAA,CAAK,kBAAmB,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,mBAAmB,CAAA,CAAA;AAC9D,IAAA,IAAA,CAAK,UAAW,EAAA,CAAA;AAAA,GAClB;AAAA,EAEA,UAAa,GAAA;AAlGf,IAAA,IAAA,EAAA,CAAA;AAmGI,IAAA,IAAI,IAAK,CAAA,WAAA;AAAa,MAAA,OAAA;AACtB,IAAA,IAAA,CAAK,WAAc,GAAA,IAAA,CAAA;AAEnB,IAAK,IAAA,CAAA,OAAA,CAAQ,IAAI,MAAG;AAtGxB,MAAAC,IAAAA,GAAAA,CAAAA;AAsG2B,MAAA,OAAA,CAAAA,GAAA,GAAA,IAAA,CAAK,eAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAsB,CAAA,OAAA,EAAA,CAAA;AAAA,KAAS,CAAA,CAAA;AAEtD,IAAK,IAAA,CAAA,UAAA,CAAW,UAAU,MAAO,CAAA,IAAA,CAAK,EAAE,UAAU,CAAA,EAAG,KAAK,QAAQ,CAAA,CAAA;AAClE,IAAK,IAAA,CAAA,GAAA,CAAI,WAAY,CAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AAEpC,IAAA,MAAM,cAAc,IAAK,CAAA,UAAA,CAAW,YAAY,QAAS,CAAA,aAAA,CAAc,KAAK,CAAC,CAAA,CAAA;AAC7E,IAAY,WAAA,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,cAAc,CAAA,CAAA;AAC7C,IAAA,IAAA,CAAK,OAAQ,CAAA,GAAA,CAAI,MAAO,CAAA,WAAA,EAAa,SAAS,CAAM,EAAA,KAAA;AAClD,MAAA,IAAI,IAAK,CAAA,QAAA;AAAU,QAAA,OAAA;AACnB,MAAI,IAAA,EAAA,CAAG,UAAU,WAAa,EAAA;AAC5B,QAAA,IAAA,CAAK,cAAc,KAAK,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAC,CAAA,CAAA;AAEF,IAAK,IAAA,CAAA,UAAA,CAAW,WAAY,CAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AAC3C,IAAK,IAAA,CAAA,UAAA,CAAW,SAAU,CAAA,GAAA,CAAI,sBAAsB,CAAA,CAAA;AACpD,IAAM,MAAA,aAAA,GAAgB,IAAK,CAAA,CAAA,CAAE,cAAc,CAAA,CAAA;AAC3C,IAAM,MAAA,iBAAA,GAAoB,IAAK,CAAA,CAAA,CAAE,mBAAmB,CAAA,CAAA;AACpD,IAAA,KAAA,IAAS,QAAQ,CAAG,EAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,MAAA,EAAQ,EAAE,KAAO,EAAA;AACtD,MAAM,MAAA,IAAA,GAAO,IAAK,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAC7B,MAAA,MAAM,aAAa,IAAK,CAAA,SAAA,IAAa,IAAK,CAAA,aAAA,CAAc,KAAK,GAAG,CAAA,CAAA;AAEhE,MAAM,MAAA,WAAA,GAAc,QAAS,CAAA,aAAA,CAAc,GAAG,CAAA,CAAA;AAC9C,MAAY,WAAA,CAAA,SAAA,GAAY,GAAG,aAAa,CAAA,CAAA,EAAI,KAAK,CAAE,CAAA,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,CAAC,CAAA,CAAA,CAAA;AAC3E,MAAY,WAAA,CAAA,YAAA,CAAa,QAAQ,GAAG,CAAA,CAAA;AACpC,MAAY,WAAA,CAAA,OAAA,CAAQ,SAAY,GAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAE5C,MAAM,MAAA,GAAA,GAAM,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACxC,MAAA,GAAA,CAAI,QAAQ,IAAK,CAAA,KAAA,CAAA;AACjB,MAAA,GAAA,CAAI,SAAS,IAAK,CAAA,MAAA,CAAA;AAClB,MAAA,GAAA,CAAI,QAAQ,GAAM,GAAA,UAAA,CAAA;AAClB,MAAI,GAAA,CAAA,OAAA,CAAQ,SAAY,GAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAEpC,MAAM,MAAA,IAAA,GAAO,QAAS,CAAA,aAAA,CAAc,MAAM,CAAA,CAAA;AAC1C,MAAA,IAAA,CAAK,SAAY,GAAA,iBAAA,CAAA;AACjB,MAAK,IAAA,CAAA,WAAA,GAAc,MAAO,CAAA,KAAA,GAAQ,CAAC,CAAA,CAAA;AACnC,MAAK,IAAA,CAAA,OAAA,CAAQ,SAAY,GAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAErC,MAAA,WAAA,CAAY,YAAY,GAAG,CAAA,CAAA;AAC3B,MAAA,WAAA,CAAY,YAAY,IAAI,CAAA,CAAA;AAC5B,MAAK,IAAA,CAAA,UAAA,CAAW,YAAY,WAAW,CAAA,CAAA;AAAA,KACzC;AACA,IAAA,CAAA,EAAA,GAAA,IAAA,CAAK,oBAAL,IAAsB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAEtB,IAAA,IAAA,CAAK,QAAQ,GAAI,CAAA,MAAA,CAAO,IAAK,CAAA,UAAA,EAAY,SAAS,CAAM,EAAA,KAAA;AAlJ5D,MAAAA,IAAAA,GAAAA,CAAAA;AAmJM,MAAA,IAAI,IAAK,CAAA,QAAA;AAAU,QAAA,OAAA;AACnB,MAAA,MAAM,aAAaA,GAAA,GAAA,EAAA,CAAG,MAAuB,CAAA,OAAA,KAA1B,gBAAAA,GAAmC,CAAA,SAAA,CAAA;AACtD,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,QAAA,EAAA,CAAG,eAAgB,EAAA,CAAA;AACnB,QAAA,EAAA,CAAG,wBAAyB,EAAA,CAAA;AAC5B,QAAA,IAAA,CAAK,cAAe,CAAA,MAAA,CAAO,SAAS,CAAA,EAAG,SAAS,CAAA,CAAA;AAChD,QAAA,IAAA,CAAK,cAAc,KAAK,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAC,CAAA,CAAA;AAEF,IAAK,IAAA,CAAA,QAAA,CAAS,WAAY,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AACpC,IAAK,IAAA,CAAA,UAAA,CAAW,WAAY,CAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;AACzC,IAAA,IAAA,CAAK,WAAY,EAAA,CAAA;AAEjB,IAAK,IAAA,CAAA,UAAA,CAAW,WAAY,CAAA,IAAA,CAAK,aAAa,CAAA,CAAA;AAE9C,IAAK,IAAA,CAAA,SAAA,CAAU,UAAU,MAAO,CAAA,IAAA,CAAK,EAAE,UAAU,CAAA,EAAG,KAAK,QAAQ,CAAA,CAAA;AACjE,IAAK,IAAA,CAAA,GAAA,CAAI,WAAY,CAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AAEnC,IAAM,MAAA,UAAA,GAAa,QAAS,CAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AAClD,IAAW,UAAA,CAAA,SAAA,GAAY,CAAG,EAAA,IAAA,CAAK,CAAE,CAAA,YAAY,CAAC,CAAI,CAAA,EAAA,IAAA,CAAK,CAAE,CAAA,aAAa,CAAC,CAAA,CAAA,CAAA;AACvE,IAAA,UAAA,CAAW,WAAY,CAAA,UAAA,CAAW,IAAK,CAAA,SAAS,CAAC,CAAA,CAAA;AACjD,IAAK,IAAA,CAAA,SAAA,CAAU,YAAY,UAAU,CAAA,CAAA;AACrC,IAAA,IAAA,CAAK,OAAQ,CAAA,GAAA,CAAI,MAAO,CAAA,UAAA,EAAY,SAAS,MAAM;AACjD,MAAA,IAAI,IAAK,CAAA,QAAA;AAAU,QAAA,OAAA;AACnB,MAAA,IAAA,CAAK,aAAc,EAAA,CAAA;AAAA,KACpB,CAAC,CAAA,CAAA;AAEF,IAAM,MAAA,SAAA,GAAY,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC9C,IAAU,SAAA,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,YAAY,CAAA,CAAA;AACzC,IAAK,IAAA,CAAA,SAAA,CAAU,YAAY,SAAS,CAAA,CAAA;AAEpC,IAAM,MAAA,WAAA,GAAc,QAAS,CAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACnD,IAAY,WAAA,CAAA,SAAA,GAAY,CAAG,EAAA,IAAA,CAAK,CAAE,CAAA,YAAY,CAAC,CAAI,CAAA,EAAA,IAAA,CAAK,CAAE,CAAA,eAAe,CAAC,CAAA,CAAA,CAAA;AAC1E,IAAA,WAAA,CAAY,WAAY,CAAA,YAAA,CAAa,IAAK,CAAA,SAAS,CAAC,CAAA,CAAA;AACpD,IAAA,SAAA,CAAU,YAAY,WAAW,CAAA,CAAA;AACjC,IAAA,IAAA,CAAK,OAAQ,CAAA,GAAA,CAAI,MAAO,CAAA,WAAA,EAAa,SAAS,MAAM;AAClD,MAAA,IAAI,IAAK,CAAA,QAAA;AAAU,QAAA,OAAA;AACnB,MAAA,IAAI,KAAK,SAAY,GAAA,CAAA;AAAG,QAAA,IAAA,CAAK,cAAe,CAAA,IAAA,CAAK,SAAY,GAAA,CAAA,EAAG,YAAY,CAAA,CAAA;AAAA,KAC7E,CAAC,CAAA,CAAA;AAEF,IAAM,MAAA,WAAA,GAAc,QAAS,CAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACnD,IAAY,WAAA,CAAA,SAAA,GAAY,CAAG,EAAA,IAAA,CAAK,CAAE,CAAA,YAAY,CAAC,CAAI,CAAA,EAAA,IAAA,CAAK,CAAE,CAAA,eAAe,CAAC,CAAA,CAAA,CAAA;AAC1E,IAAA,WAAA,CAAY,WAAY,CAAA,aAAA,CAAc,IAAK,CAAA,SAAS,CAAC,CAAA,CAAA;AACrD,IAAA,SAAA,CAAU,YAAY,WAAW,CAAA,CAAA;AACjC,IAAA,IAAA,CAAK,OAAQ,CAAA,GAAA,CAAI,MAAO,CAAA,WAAA,EAAa,SAAS,MAAM;AAClD,MAAA,IAAI,IAAK,CAAA,QAAA;AAAU,QAAA,OAAA;AACnB,MAAA,IAAI,IAAK,CAAA,SAAA,GAAY,IAAK,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA;AAAG,QAAA,IAAA,CAAK,cAAe,CAAA,IAAA,CAAK,SAAY,GAAA,CAAA,EAAG,YAAY,CAAA,CAAA;AAAA,KACjG,CAAC,CAAA,CAAA;AAEF,IAAM,MAAA,UAAA,GAAa,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC/C,IAAW,UAAA,CAAA,SAAA,GAAY,IAAK,CAAA,CAAA,CAAE,aAAa,CAAA,CAAA;AAC3C,IAAK,IAAA,CAAA,SAAA,CAAU,YAAY,UAAU,CAAA,CAAA;AAErC,IAAW,UAAA,CAAA,WAAA,CAAY,KAAK,kBAAkB,CAAA,CAAA;AAC9C,IAAA,IAAA,CAAK,kBAAmB,CAAA,KAAA,GAAQ,MAAO,CAAA,IAAA,CAAK,YAAY,CAAC,CAAA,CAAA;AACzD,IAAK,IAAA,CAAA,kBAAA,CAAmB,WAAW,IAAK,CAAA,QAAA,CAAA;AACxC,IAAA,IAAA,CAAK,QAAQ,GAAI,CAAA,MAAA,CAAO,IAAK,CAAA,kBAAA,EAAoB,SAAS,MAAM;AAC9D,MAAA,IAAI,IAAK,CAAA,QAAA;AAAU,QAAA,OAAA;AACnB,MAAA,IAAA,CAAK,mBAAmB,MAAO,EAAA,CAAA;AAAA,KAChC,CAAC,CAAA,CAAA;AACF,IAAA,IAAA,CAAK,QAAQ,GAAI,CAAA,MAAA,CAAO,IAAK,CAAA,kBAAA,EAAoB,UAAU,MAAM;AAC/D,MAAA,IAAI,IAAK,CAAA,QAAA;AAAU,QAAA,OAAA;AACnB,MAAI,IAAA,IAAA,CAAK,mBAAmB,KAAO,EAAA;AACjC,QAAA,IAAA,CAAK,eAAe,MAAO,CAAA,IAAA,CAAK,mBAAmB,KAAK,CAAA,GAAI,GAAG,OAAO,CAAA,CAAA;AAAA,OACxE;AAAA,KACD,CAAC,CAAA,CAAA;AAEF,IAAM,MAAA,SAAA,GAAY,QAAS,CAAA,aAAA,CAAc,MAAM,CAAA,CAAA;AAC/C,IAAA,SAAA,CAAU,WAAc,GAAA,CAAA,GAAA,EAAM,IAAK,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA,CAAA;AAC/C,IAAA,UAAA,CAAW,YAAY,SAAS,CAAA,CAAA;AAEhC,IAAA,IAAA,CAAK,OAAQ,CAAA,GAAA,CAAI,MAAO,CAAA,MAAA,EAAQ,WAAW,CAAM,EAAA,KAAA;AAC/C,MAAA,IAAI,IAAK,CAAA,QAAA,IAAY,IAAK,CAAA,UAAA,CAAW,GAAG,MAAM,CAAA;AAAG,QAAA,OAAA;AACjD,MAAA,IAAA,CAAK,GAAG,GAAO,IAAA,SAAA,IAAa,GAAG,GAAO,IAAA,WAAA,KAAgB,KAAK,SAAY,GAAA,CAAA;AACrE,QAAA,IAAA,CAAK,cAAe,CAAA,IAAA,CAAK,SAAY,GAAA,CAAA,EAAG,SAAS,CAAA,CAAA;AAAA,WACzC,IAAA,CAAA,EAAA,CAAG,GAAO,IAAA,WAAA,IAAe,EAAG,CAAA,GAAA,IAAO,iBAAiB,IAAK,CAAA,SAAA,GAAY,IAAK,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA;AACjG,QAAA,IAAA,CAAK,cAAe,CAAA,IAAA,CAAK,SAAY,GAAA,CAAA,EAAG,SAAS,CAAA,CAAA;AAAA,KACpD,CAAC,CAAA,CAAA;AAAA,GACJ;AAAA,EAEA,OAAO,GAAiC,EAAA;AACtC,IAAA,IAAI,KAAK,GAAO,IAAA,GAAA;AAAK,MAAA,OAAA;AACrB,IAAI,GAAA,CAAA,WAAA,CAAY,KAAK,UAAU,CAAA,CAAA;AAC/B,IAAI,GAAA,CAAA,WAAA,CAAY,KAAK,SAAS,CAAA,CAAA;AAC9B,IAAA,IAAA,CAAK,GAAM,GAAA,GAAA,CAAA;AAAA,GACb;AAAA,EAEA,YAAY,QAAmB,EAAA;AAC7B,IAAA,IAAI,KAAK,QAAY,IAAA,QAAA;AAAU,MAAA,OAAA;AAC/B,IAAA,IAAA,CAAK,WAAW,SAAU,CAAA,MAAA,CAAO,KAAK,CAAE,CAAA,UAAU,GAAG,QAAQ,CAAA,CAAA;AAC7D,IAAA,IAAA,CAAK,UAAU,SAAU,CAAA,MAAA,CAAO,KAAK,CAAE,CAAA,UAAU,GAAG,QAAQ,CAAA,CAAA;AAC5D,IAAA,IAAA,CAAK,mBAAmB,QAAW,GAAA,QAAA,CAAA;AACnC,IAAA,IAAA,CAAK,cAAc,KAAK,CAAA,CAAA;AACxB,IAAA,IAAA,CAAK,QAAW,GAAA,QAAA,CAAA;AAAA,GAClB;AAAA,EAEA,aAAa,SAAmB,EAAA;AAC9B,IAAI,IAAA,MAAA,CAAO,aAAc,CAAA,SAAS,CAAG,EAAA;AACnC,MAAA,IAAA,CAAK,SAAY,GAAA,SAAA,CAAA;AACjB,MAAA,IAAA,CAAK,kBAAmB,CAAA,KAAA,GAAQ,MAAO,CAAA,SAAA,GAAY,CAAC,CAAA,CAAA;AACpD,MAAA,IAAA,CAAK,WAAY,EAAA,CAAA;AAAA,KACnB;AAAA,GACF;AAAA,EAEA,cAAc,WAAuB,EAAA;AACnC,IAAK,IAAA,CAAA,WAAA,GAAc,WAAe,IAAA,IAAA,GAAA,WAAA,GAAA,CAAC,IAAK,CAAA,WAAA,CAAA;AACxC,IAAK,IAAA,CAAA,UAAA,CAAW,UAAU,MAAO,CAAA,IAAA,CAAK,EAAE,gBAAgB,CAAA,EAAG,KAAK,WAAW,CAAA,CAAA;AAC3E,IAAA,IAAI,KAAK,WAAa,EAAA;AACpB,MAAM,MAAA,cAAA,GAAiB,IAAK,CAAA,UAAA,CAAW,aAA2B,CAAA,GAAA,GAAM,IAAK,CAAA,CAAA,CAAE,CAAgB,aAAA,EAAA,IAAA,CAAK,SAAS,CAAA,CAAE,CAAC,CAAA,CAAA;AAChH,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA,IAAA,CAAK,eAAL,KAAA,IAAA,CAAK,eAAoB,GAAA,IAAI,QAAS,CAAA;AAAA,UACpC,WAAW,IAAK,CAAA,UAAA;AAAA,UAChB,iBAAmB,EAAA,CAAA,CAAA,EAAI,IAAK,CAAA,CAAA,CAAE,kBAAkB,CAAC,CAAA,CAAA;AAAA,SAClD,CAAA,CAAA,CAAA;AACD,QAAA,IAAA,CAAK,WAAW,QAAS,CAAA,EAAE,KAAK,cAAe,CAAA,SAAA,GAAY,IAAI,CAAA,CAAA;AAAA,OACjE;AAAA,KACF;AAAA,GACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,cAAA,CAAe,OAAe,OAAyD,EAAA;AACrF,IAAA,IAAI,CAAK,IAAA,KAAA,IAAS,KAAQ,GAAA,IAAA,CAAK,MAAM,MAAQ,EAAA;AAC3C,MAAA,IAAA,CAAK,aAAa,KAAK,CAAA,CAAA;AAAA,KACzB;AAAA,GACF;AAAA,EAEA,IAAqC,GAAA;AACnC,IAAO,OAAA,IAAA,CAAK,KAAM,CAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AAAA,GAClC;AAAA,EAEA,WAAc,GAAA;AACZ,IAAM,MAAA,IAAA,GAAO,KAAK,IAAK,EAAA,CAAA;AACvB,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAA,IAAA,CAAK,MAAM,GAAM,GAAA,EAAA,CAAA;AACjB,MAAA,OAAA;AAAA,KACF;AACA,IAAK,IAAA,CAAA,KAAA,CAAM,QAAQ,IAAK,CAAA,KAAA,CAAA;AACxB,IAAK,IAAA,CAAA,KAAA,CAAM,SAAS,IAAK,CAAA,MAAA,CAAA;AACzB,IAAK,IAAA,CAAA,KAAA,CAAM,MAAM,IAAK,CAAA,GAAA,CAAA;AACtB,IAAK,IAAA,CAAA,OAAA,CAAQ,KAAM,CAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AAAA,GACnC;AAAA,EAEQ,EAAE,SAA2B,EAAA;AACnC,IAAA,OAAO,CAAG,EAAA,IAAA,CAAK,SAAS,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,CAAA;AAAA,GACvC;AAAA,EAEQ,WAAW,EAAiC,EAAA;AAClD,IAAA,IAAI,CAAC,EAAA;AAAI,MAAO,OAAA,KAAA,CAAA;AAChB,IAAM,MAAA,EAAE,SAAY,GAAA,EAAA,CAAA;AACpB,IAAA,OAAO,OAAW,IAAA,OAAA,IAAW,OAAW,IAAA,UAAA,IAAc,OAAW,IAAA,QAAA,CAAA;AAAA,GACnE;AAAA,EAEQ,cAAc,GAAqB,EAAA;AACzC,IAAI,IAAA;AACF,MAAM,MAAA,GAAA,GAAM,IAAI,GAAA,CAAI,GAAG,CAAA,CAAA;AACvB,MAAI,GAAA,CAAA,YAAA,CAAa,GAAI,CAAA,eAAA,EAAiB,mBAAmB,CAAA,CAAA;AACzD,MAAA,OAAO,IAAI,QAAS,EAAA,CAAA;AAAA,aACb,GAAK,EAAA;AACZ,MAAA,OAAA,CAAQ,MAAM,GAAG,CAAA,CAAA;AACjB,MAAO,OAAA,GAAA,CAAA;AAAA,KACT;AAAA,GACF;AACF,EAAA;;;AC5TA,IAAA,aAAA,GAAA,46IAAA;;;ACkCA,IAAM,WAAW,CAAC,GAAA,KAChB,GAAM,GAAA,EAAE,OAAO,GAAI,CAAA,KAAA,EAAO,MAAQ,EAAA,GAAA,CAAI,QAAQ,GAAK,EAAA,GAAA,CAAI,KAAK,SAAW,EAAA,GAAA,CAAI,YAAe,GAAA,IAAA,CAAA;AAE5F,IAAM,YAAA,GAAe,CAAC,IAAmC,KAAA;AACvD,EAAI,IAAA,IAAA,IAAS,KAAa,MAAQ,EAAA;AAChC,IAAA,OAAO,IAAI,IAAU,KAAA,IAAA,CAAa,MAAO,CAAA,IAAA,CAAK,GAAG,IAAI,CAAA,CAAA;AAAA,GAChD,MAAA;AACL,IAAA,OAAO,CAAI,GAAA,IAAA,KAAS,OAAQ,CAAA,GAAA,CAAI,GAAG,IAAI,CAAA,CAAA;AAAA,GACzC;AACF,CAAA,CAAA;AAEO,IAAM,sBAAkG,GAAA;AAAA,EAC7G,IAAM,EAAA,cAAA;AAAA,EACN,MAAM,OAAS,EAAA;AA/CjB,IAAA,IAAA,EAAA,CAAA;AAgDI,IAAM,MAAA,IAAA,GAAO,QAAQ,OAAQ,EAAA,CAAA;AAC7B,IAAA,IAAI,CAAC,IAAA;AACH,MAAM,MAAA,IAAI,MAAM,4FAA4F,CAAA,CAAA;AAE9G,IAAA,MAAM,KAAQ,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,SAAU,EAAA,KAAlB,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAI,CAAC,EAAE,GAAI,EAAA,KAAM,QAAS,CAAA,GAAG,GAAG,MAAO,CAAA,OAAA,CAAA,CAAA;AAC1E,IAAI,IAAA,CAAC,KAAS,IAAA,KAAA,CAAM,MAAW,KAAA,CAAA;AAC7B,MAAM,MAAA,IAAI,MAAM,mFAAmF,CAAA,CAAA;AACrG,IAAA,IAAI,KAAM,CAAA,CAAC,CAAE,CAAA,GAAA,CAAI,WAAW,KAAK,CAAA;AAC/B,MAAM,MAAA,IAAI,MAAM,uHAAuH,CAAA,CAAA;AAIzI,IAAM,MAAA,SAAA,GAAY,QAAQ,gBAAiB,EAAA,CAAA;AAE3C,IAAA,MAAM,OAAU,GAAA,OAAA,CAAQ,aAAc,EAAA,IAAK,EAAC,CAAA;AAC5C,IAAA,MAAM,MAAM,OAAQ,CAAA,GAAA,IAAO,YAAa,CAAA,OAAA,CAAQ,SAAS,CAAA,CAAA;AACzD,IAAI,GAAA,CAAA,CAAA,mBAAA,EAAsB,OAAQ,CAAA,KAAK,CAAE,CAAA,CAAA,CAAA;AAIzC,IAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,MAAA,IAAI,MAAM,MAAS,GAAA,GAAA;AACjB,QAAA,OAAA,CAAQ,IAAK,CAAA,CAAA,gCAAA,EAAmC,KAAM,CAAA,MAAM,CAAiC,+BAAA,CAAA,CAAA,CAAA;AAE/F,MAAM,MAAA,IAAA,GAAO,QAAQ,OAAQ,EAAA,CAAA;AAC7B,MAAI,IAAA,IAAA,IAAQ,KAAK,UAAY,EAAA;AAC3B,QAAA,MAAM,MAAS,GAAA,IAAA,CAAK,YAAa,EAAA,CAAE,SAAS,CAAA,CAAA;AAC5C,QAAI,IAAA,MAAA,CAAO,MAAS,GAAA,KAAA,CAAM,MAAQ,EAAA;AAEhC,UAAA,IAAA,CAAK,SAAU,CAAA,SAAA,EAAW,KAAM,CAAA,GAAA,CAAI,CAAC,CAAG,EAAA,KAAA,MAAW,EAAE,IAAA,EAAM,MAAO,CAAA,KAAA,GAAQ,CAAC,CAAA,GAAI,CAAC,CAAA,CAAA;AAAA,SAClF;AAAA,OACF;AAAA,KACF;AAEA,IAAA,MAAM,UAAU,eAAgB,EAAA,CAAA;AAChC,IAAA,OAAA,CAAQ,IAAI,MAAM,GAAA,CAAI,0BAA0B,OAAQ,CAAA,KAAK,EAAE,CAAC,CAAA,CAAA;AAEhE,IAAA,MAAM,SAAS,OAAQ,CAAA,aAAA,CAAc,QAAQ,EAAE,KAAA,EAAO,GAAG,CAAA,CAAA;AAEzD,IAAA,IAAI,SAAY,GAAA,CAAA,CAAA,CAAA;AAChB,IAAM,MAAA,QAAA,GAAW,OAAO,KAAkB,KAAA;AACxC,MAAA,IAAI,cAAc,KAAO,EAAA;AACvB,QAAY,SAAA,GAAA,KAAA,CAAA;AACZ,QAAA,OAAA,CAAQ,iBAAiB,iBAAmB,EAAA,EAAE,OAAO,MAAQ,EAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,OAC7E;AAEA,MAAI,IAAA,CAAC,QAAQ,aAAc,EAAA;AAAG,QAAA,OAAA;AAE9B,MAAA,MAAM,SAAS,OAAQ,CAAA,YAAA,EAAe,CAAA,YAAA,GAAe,SAAS,CAAA,CAAA;AAC9D,MAAA,IAAI,CAAC,MAAA;AAAQ,QAAA,OAAA;AAEb,MAAM,MAAA,IAAA,GAAO,MAAO,CAAA,KAAA,GAAQ,CAAC,CAAA,CAAA;AAI7B,MAAA,IAAI,CAAC,MAAO,CAAA,IAAA,CAAK,WAAS,KAAM,CAAA,IAAA,KAAS,IAAI,CAAG,EAAA;AAC9C,QAAA,MAAM,QAAQ,OAAQ,CAAA,EAAE,OAAO,EAAE,IAAA,IAAQ,CAAA,CAAA;AAAA,OAC3C;AAGA,MAAA,MAAM,QAAQ,YAAa,CAAA,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,CAAA,CAAA;AAAA,KACnD,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,CAAC,KAA2B,KAAA;AAC3C,MAAI,IAAA,CAAC,OAAQ,CAAA,aAAA,EAAiB,EAAA;AAC5B,QAAA,OAAA,CAAQ,KAAK,wEAAwE,CAAA,CAAA;AACrF,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAEA,MAAA,IAAI,EAAE,CAAA,IAAK,KAAS,IAAA,KAAA,GAAQ,MAAM,MAAS,CAAA,EAAA;AACzC,QAAA,OAAA,CAAQ,KAAK,CAAwB,qBAAA,EAAA,KAAA,GAAQ,CAAC,CAAsB,mBAAA,EAAA,KAAA,CAAM,MAAM,CAAG,CAAA,CAAA,CAAA,CAAA;AACnF,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAEA,MAAA,MAAM,SAAS,OAAQ,CAAA,YAAA,EAAe,CAAA,YAAA,GAAe,SAAS,CAAA,CAAA;AAC9D,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAQ,OAAA,CAAA,IAAA,CAAK,CAAsC,mCAAA,EAAA,SAAS,CAA0D,wDAAA,CAAA,CAAA,CAAA;AACtH,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAEA,MAAM,MAAA,IAAA,GAAO,MAAO,CAAA,KAAA,GAAQ,CAAC,CAAA,CAAA;AAC7B,MAAA,IAAI,CAAC,MAAO,CAAA,IAAA,CAAK,WAAS,KAAM,CAAA,IAAA,KAAS,IAAI,CAAG,EAAA;AAC9C,QAAA,OAAA,CAAQ,QAAQ,EAAE,KAAA,EAAO,EAAE,IAAA,IAAQ,CAAA,CAAA;AAAA,OACrC;AAEA,MAAO,MAAA,CAAA,QAAA,CAAS,EAAE,KAAA,EAAO,CAAA,CAAA;AACzB,MAAO,OAAA,IAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM,QAAA,CAAS,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA,CAAA;AACtD,IAAA,MAAM,WAAW,MAAM,QAAA,CAAS,MAAO,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA,CAAA;AACtD,IAAM,MAAA,SAAA,GAAY,OAAO,EAAE,KAAA,EAAO,OAAO,KAAM,CAAA,KAAA,EAAO,MAAQ,EAAA,KAAA,CAAM,MAAO,EAAA,CAAA,CAAA;AAE3E,IAAA,MAAM,iBAAiB,MAAM;AAC3B,MAAA,MAAM,EAAE,KAAO,EAAA,MAAA,KAAW,GAAI,CAAA,IAAA,MAAU,EAAC,CAAA;AACzC,MAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,QAAA,IAAA,CAAK,mBAAoB,CAAA;AAAA,UACvB,OAAA,EAAS,CAAC,KAAQ,GAAA,CAAA;AAAA,UAAG,OAAA,EAAS,CAAC,MAAS,GAAA,CAAA;AAAA,UAAG,KAAA;AAAA,UAAO,MAAA;AAAA,UAClD,aAAe,EAAA,aAAA;AAAA,SAChB,CAAA,CAAA;AACD,QAAA,IAAA,CAAK,cAAe,CAAA;AAAA,UAClB,OAAS,EAAA,CAAA;AAAA,UACT,cAAA,EAAgB,MAAM,IAAA,CAAK,MAAO,CAAA,KAAA;AAAA,UAClC,cAAA,EAAgB,MAAM,IAAA,CAAK,MAAO,CAAA,KAAA;AAAA,UAClC,OAAS,EAAA,CAAA;AAAA,UAAG,OAAS,EAAA,CAAA;AAAA,UAAG,KAAA;AAAA,UAAO,MAAA;AAAA,SAChC,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAEA,IAAS,QAAA,CAAA,MAAA,CAAO,MAAM,KAAK,CAAA,CAAA;AAC3B,IAAQ,OAAA,CAAA,GAAA,CAAI,OAAO,uBAAwB,CAAA,MAAM,SAAS,MAAO,CAAA,KAAA,CAAM,KAAK,CAAC,CAAC,CAAA,CAAA;AAW9E,IAAA,OAAA,CAAQ,IAAI,OAAQ,CAAA,OAAA,CAAQ,EAAG,CAAA,iBAAA,EAAmB,CAAC,KAAU,KAAA;AAzKjE,MAAAA,IAAAA,GAAAA,CAAAA;AA0KM,MAAA,IAAA,CAAIA,MAAA,KAAM,CAAA,UAAA,KAAN,gBAAAA,GAAkB,CAAA,SAAA,CAAU,SAAS,IAAO,CAAA,EAAA;AAI9C,QAAS,QAAA,CAAA,MAAA,CAAO,MAAM,KAAK,CAAA,CAAA;AAAA,OAC7B;AAAA,KACD,CAAC,CAAA,CAAA;AAEF,IAAM,MAAA,GAAA,GAAM,QAAQ,MAAO,EAAA,CAAA;AAC3B,IAAM,MAAA,GAAA,GAAM,QAAQ,GAAI,CAAA,kBAAA,CAAmB,KAAK,KAAO,EAAA,QAAA,EAAU,MAAM,CAAC,CAAA,CAAA;AACxE,IAAI,GAAA,CAAA,UAAA,CAAW,QAAQ,sBAAyB,GAAA,cAAA,CAAA;AAChD,IAAA,GAAA,CAAI,cAAiB,GAAA,cAAA,CAAA;AACrB,IAAA,GAAA,CAAI,GAAM,GAAA,GAAA,CAAA;AAEV,IAAQ,OAAA,CAAA,SAAA,CAAU,IAAI,aAAa,CAAA,CAAA;AACnC,IAAA,IAAA,CAAK,sBAAyB,GAAA,IAAA,CAAA;AAC9B,IAAe,cAAA,EAAA,CAAA;AACf,IAAA,OAAA,CAAQ,KAAK,MAAM;AACjB,MAAK,IAAA,CAAA,SAAA,CAAU,EAAG,CAAA,eAAA,EAAiB,cAAc,CAAA,CAAA;AACjD,MAAA,OAAO,MAAM,IAAA,CAAK,SAAU,CAAA,GAAA,CAAI,iBAAiB,cAAc,CAAA,CAAA;AAAA,KAChE,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,IAAI,OAAQ,CAAA,OAAA,CAAQ,EAAG,CAAA,gBAAA,EAAkB,CAAC,UAA8B,KAAA;AAC9E,MAAI,GAAA,CAAA,WAAA,CAAY,CAAC,UAAU,CAAA,CAAA;AAAA,KAC5B,CAAC,CAAA,CAAA;AAEF,IAAA,OAAA,CAAQ,OAAQ,CAAA,EAAA,CAAG,SAAW,EAAA,MAAM,SAAS,CAAA,CAAA;AAE7C,IAAM,MAAA,cAAA,GAAiB,CAAC,QAAA,EAAkB,MAAuD,KAAA;AAC/F,MAAO,MAAA,CAAA,WAAA,CAAY,EAAE,IAAA,EAAM,4BAA8B,EAAA,KAAA,EAAO,QAAQ,KAAO,EAAA,QAAA,EAAU,MAAO,EAAA,EAAG,GAAG,CAAA,CAAA;AACtG,MAAO,OAAA,MAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAM,MAAA,SAAA,GAAY,OAAO,GAAiC,KAAA;AACxD,MAAI,IAAA;AACF,QAAM,MAAA,CAAA,GAAI,IAAI,GAAA,CAAI,GAAG,CAAA,CAAA;AACrB,QAAA,CAAA,CAAE,aAAa,GAAI,CAAA,GAAA,EAAK,KAAK,GAAI,EAAA,CAAE,UAAU,CAAA,CAAA;AAC7C,QAAA,GAAA,GAAM,EAAE,QAAS,EAAA,CAAA;AAAA,OACX,CAAA,OAAA,CAAA,EAAA;AAAA,OAAC;AAET,MAAM,MAAA,IAAA,GAAO,MAAM,KAAA,CAAM,GAAG,CAAA,CAAA;AAC5B,MAAA,IAAI,CAAC,IAAK,CAAA,EAAA;AAAI,QAAM,MAAA,IAAI,MAAM,CAAmC,gCAAA,EAAA,GAAG,MAAM,MAAM,IAAA,CAAK,IAAK,EAAC,CAAE,CAAA,CAAA,CAAA;AAE7F,MAAM,MAAA,IAAA,GAAO,MAAM,IAAA,CAAK,IAAK,EAAA,CAAA;AAC7B,MAAM,MAAA,MAAA,GAAS,IAAI,UAAW,EAAA,CAAA;AAC9B,MAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AACtC,QAAA,MAAA,CAAO,MAAS,GAAA,MAAM,OAAQ,CAAA,MAAA,CAAO,MAAgB,CAAA,CAAA;AACrD,QAAA,MAAA,CAAO,OAAU,GAAA,MAAM,MAAO,CAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AAC1C,QAAA,MAAA,CAAO,cAAc,IAAI,CAAA,CAAA;AAAA,OAC1B,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAA,MAAM,QAAQ,YAAiE;AAC7E,MAAA,MAAM,GAAM,GAAA,IAAA,CAAA;AACZ,MAAM,MAAA,SAAA,GAAY,MAAM,CAAC,CAAA,CAAA;AACzB,MAAM,MAAA,EAAE,KAAO,EAAA,MAAA,EAAW,GAAA,SAAA,CAAA;AAC1B,MAAI,IAAA,QAAA,GAAW,KAAK,KAAM,CAAA,KAAK,GAAG,SAAY,GAAA,IAAA,CAAK,MAAM,MAAM,CAAA,CAAA;AAC/D,MAAA,IAAI,WAAW,GAAK,EAAA;AAClB,QAAW,QAAA,GAAA,GAAA,CAAA;AACX,QAAA,SAAA,GAAY,IAAK,CAAA,KAAA,CAAM,MAAS,GAAA,QAAA,GAAW,KAAK,CAAA,CAAA;AAAA,OAClD;AACA,MAAA,IAAI,YAAY,GAAK,EAAA;AACnB,QAAY,SAAA,GAAA,GAAA,CAAA;AACZ,QAAA,QAAA,GAAW,IAAK,CAAA,KAAA,CAAM,KAAQ,GAAA,SAAA,GAAY,MAAM,CAAA,CAAA;AAAA,OAClD;AACA,MAAA,MAAM,SAAS,OAAQ,CAAA,YAAA,EAAe,CAAA,YAAA,GAAe,SAAS,CAAA,CAAA;AAE9D,MAAM,MAAA,YAAA,GAAe,QAAS,CAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACpD,MAAA,YAAA,CAAa,KAAQ,GAAA,QAAA,CAAA;AACrB,MAAA,YAAA,CAAa,MAAS,GAAA,SAAA,CAAA;AACtB,MAAM,MAAA,KAAA,GAAQ,YAAa,CAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAE1C,MAAM,MAAA,SAAA,GAAY,QAAS,CAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AACjD,MAAA,SAAA,CAAU,KAAQ,GAAA,QAAA,CAAA;AAClB,MAAA,SAAA,CAAU,MAAS,GAAA,SAAA,CAAA;AACnB,MAAM,MAAA,EAAA,GAAK,SAAU,CAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AACpC,MAAI,IAAA,CAAC,MAAM,CAAC,KAAA;AAAO,QAAO,OAAA,cAAA,CAAe,KAAK,IAAI,CAAA,CAAA;AAElD,MAAA,MAAM,EAAE,KAAA,EAAU,GAAA,MAAM,OAAO,OAAO,CAAA,CAAA;AACtC,MAAM,MAAA,GAAA,GAAM,IAAI,KAAM,CAAA;AAAA,QACpB,MAAQ,EAAA,CAAC,SAAU,CAAA,KAAA,EAAO,UAAU,MAAM,CAAA;AAAA,QAC1C,WAAa,EAAA,SAAA,CAAU,KAAQ,GAAA,SAAA,CAAU,SAAS,GAAM,GAAA,GAAA;AAAA,QACxD,QAAU,EAAA,IAAA;AAAA,OACX,CAAA,CAAA;AAED,MAAA,KAAA,IAAS,QAAQ,CAAG,EAAA,KAAA,GAAQ,KAAM,CAAA,MAAA,EAAQ,EAAE,KAAO,EAAA;AACjD,QAAM,MAAA,EAAE,OAAAC,MAAO,EAAA,MAAA,EAAAC,SAAQ,GAAI,EAAA,GAAI,MAAM,KAAK,CAAA,CAAA;AAE1C,QAAM,MAAA,GAAA,GAAM,MAAM,SAAA,CAAU,GAAG,CAAA,CAAA;AAC/B,QAAM,MAAA,GAAA,GAAM,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACxC,QAAM,MAAA,IAAI,QAAQ,CAAW,OAAA,KAAA;AAAE,UAAA,GAAA,CAAI,MAAS,GAAA,OAAA,CAAA;AAAS,UAAA,GAAA,CAAI,GAAM,GAAA,GAAA,CAAA;AAAA,SAAK,CAAA,CAAA;AACpE,QAAM,KAAA,CAAA,SAAA,CAAU,GAAK,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAEzB,QAAA,EAAA,CAAG,SAAU,CAAA,CAAA,EAAG,CAAG,EAAA,QAAA,EAAU,SAAS,CAAA,CAAA;AACtC,QAAI,IAAA,MAAA,CAAO,KAAK,CAAS,KAAA,KAAA,KAAA,CAAM,QAAQ,MAAO,CAAA,KAAA,GAAQ,CAAC,CAAC,CAAG,EAAA;AACzD,UAAK,IAAA,CAAA,kBAAA;AAAA,YACH,EAAA;AAAA,YAAI,CAAG,EAAA,SAAS,CAAI,CAAA,EAAA,KAAA,GAAQ,CAAC,CAAA,CAAA;AAAA,YAC7B,SAAU,CAAA,KAAA;AAAA,YAAO,SAAU,CAAA,MAAA;AAAA,YAC3B,EAAE,OAAA,EAAS,CAAG,EAAA,OAAA,EAAS,GAAG,KAAO,EAAA,IAAA,CAAK,GAAI,CAAA,SAAA,CAAU,KAAQD,GAAAA,MAAAA,EAAO,SAAU,CAAA,MAAA,GAASC,OAAM,CAAE,EAAA;AAAA,WAChG,CAAA;AACA,UAAI,IAAA;AACF,YAAM,MAAA,MAAA,GAAS,SAAU,CAAA,SAAA,CAAU,WAAW,CAAA,CAAA;AAC9C,YAAM,MAAA,MAAA,GAAS,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAC3C,YAAM,MAAA,IAAI,QAAQ,CAAW,OAAA,KAAA;AAAE,cAAA,MAAA,CAAO,MAAS,GAAA,OAAA,CAAA;AAAS,cAAA,MAAA,CAAO,GAAM,GAAA,MAAA,CAAA;AAAA,aAAQ,CAAA,CAAA;AAC7E,YAAA,KAAA,CAAM,SAAU,CAAA,MAAA,EAAQ,CAAG,EAAA,CAAA,EAAG,UAAU,SAAS,CAAA,CAAA;AAAA,mBAC1C,GAAK,EAAA;AACZ,YAAA,OAAA,CAAQ,KAAK,GAAG,CAAA,CAAA;AAAA,WAClB;AAAA,SACF;AAEA,QAAA,MAAM,MAAS,GAAA,YAAA,CAAa,SAAU,CAAA,YAAA,EAAc,GAAG,CAAA,CAAA;AACvD,QAAA,IAAI,KAAQ,GAAA,CAAA;AAAG,UAAA,GAAA,CAAI,OAAQ,EAAA,CAAA;AAE3B,QAAI,GAAA,CAAA,QAAA,CAAS,QAAQ,MAAQ,EAAA,CAAA,EAAG,GAAG,QAAU,EAAA,SAAA,EAAW,IAAI,MAAM,CAAA,CAAA;AAClE,QAAA,KAAA,CAAM,SAAU,CAAA,CAAA,EAAG,CAAG,EAAA,QAAA,EAAU,SAAS,CAAA,CAAA;AACzC,QAAA,MAAM,WAAW,IAAK,CAAA,IAAA,CAAA,CAAM,QAAQ,CAAK,IAAA,KAAA,CAAM,SAAS,GAAG,CAAA,CAAA;AAC3D,QAAA,IAAI,QAAW,GAAA,GAAA;AAAK,UAAA,cAAA,CAAe,UAAU,IAAI,CAAA,CAAA;AAAA,OACnD;AAEA,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,MAAA,CAAO,aAAa,CAAA,CAAA;AACrC,MAAA,MAAM,QAAQ,GAAI,CAAA,KAAA,CAAA;AAClB,MAAA,OAAO,eAAe,GAAK,EAAA,EAAE,GAAK,EAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AAAA,KACjD,CAAA;AAEA,IAAA,OAAA,CAAQ,GAAI,CAAA,MAAA,CAAO,MAAQ,EAAA,SAAA,EAAW,CAAC,EAA6E,KAAA;AAClH,MAAI,IAAA,EAAA,CAAG,IAAQ,IAAA,EAAA,CAAG,IAAK,CAAA,IAAA,IAAQ,iCAAiC,EAAG,CAAA,IAAA,CAAK,KAAS,IAAA,OAAA,CAAQ,KAAO,EAAA;AAC9F,QAAM,KAAA,EAAA,CAAE,MAAM,CAAO,GAAA,KAAA;AAAE,UAAA,OAAA,CAAQ,KAAK,GAAG,CAAA,CAAA;AAAG,UAAA,cAAA,CAAe,KAAK,IAAI,CAAA,CAAA;AAAA,SAAG,CAAA,CAAA;AAAA,OACvE;AAAA,KACD,CAAC,CAAA,CAAA;AAEF,IAAM,MAAA,UAAA,GAAqC,EAAE,GAAA,EAAK,IAAM,EAAA,OAAA,EAAS,UAAU,QAAU,EAAA,QAAA,EAAU,SAAW,EAAA,KAAA,EAAO,GAAI,EAAA,CAAA;AAErH,IAAA,OAAA,CAAQ,GAAI,CAAA,MAAA,CAAO,MAAQ,EAAA,SAAA,EAAW,CAAC,EAAgD,KAAA;AACrF,MAAI,IAAA,EAAA,CAAG,SAAS,yBAA2B,EAAA;AACzC,QAAA,IAAI,OAAO,MAAW,KAAA,WAAA;AAAa,UAAA,OAAA,CAAQ,KAAK,MAAM;AACpD,YAAA,MAAM,QAAuC,MAAe,CAAA,cAAA,KAAf,MAAe,CAAA,cAAA,uBAAuB,GAAI,EAAA,CAAA,CAAA;AACvF,YAAA,KAAA,CAAM,IAAI,UAAU,CAAA,CAAA;AACpB,YAAO,OAAA,MAAM,KAAM,CAAA,MAAA,CAAO,UAAU,CAAA,CAAA;AAAA,WACrC,CAAA,CAAA;AACD,QAAA,OAAA,CAAQ,IAAI,UAAU,CAAA,CAAA;AAAA,OACxB;AAAA,KACD,CAAC,CAAA,CAAA;AAEF,IAAO,OAAA,UAAA,CAAA;AAAA,GACT;AACF,EAAA;AAKA,IAAM,eAAA,GAAN,cAA8B,YAAa,CAAA;AAAA,EAMzC,YAAY,MAAoE,EAAA;AAC9E,IAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AACZ,IAAA,IAAA,CAAK,WAAW,MAAO,CAAA,QAAA,CAAA;AAAA,GACzB;AAAA,EAES,cAAA,CAAe,OAAe,MAAwD,EAAA;AAG7F,IAAA,IAAI,WAAW,SAAa,IAAA,IAAA,CAAK,GAAO,IAAA,CAAC,KAAK,GAAI,CAAA,KAAA;AAChD,MAAA,OAAA;AACF,IAAA,IAAI,IAAK,CAAA,GAAA;AACP,MAAA,IAAA,CAAK,IAAI,iCAAmC,EAAA,KAAA,GAAQ,CAAG,EAAA,CAAA,CAAA,EAAI,MAAM,CAAG,CAAA,CAAA,CAAA,CAAA;AACtE,IAAA,IAAI,CAAK,IAAA,KAAA,IAAS,KAAQ,GAAA,IAAA,CAAK,MAAM,MAAQ,EAAA;AAC3C,MAAA,IAAA,CAAK,SAAS,KAAK,CAAA,CAAA;AAAA,KACd,MAAA;AACL,MAAQ,OAAA,CAAA,IAAA,CAAK,8BAA8B,KAAK,CAAA,mBAAA,EAAsB,KAAK,KAAM,CAAA,MAAA,GAAS,CAAC,CAAG,CAAA,CAAA,CAAA,CAAA;AAAA,KAChG;AAAA,GACF;AACF,CAAA,CAAA;AAEA,IAAM,kBAAqB,GAAA,CACzB,GACA,EAAA,KAAA,EACA,UACA,MACG,KAAA;AACH,EAAA,GAAA,CAAI,YAAY,aAAM,CAAA,CAAA;AAEtB,EAAM,MAAA,GAAA,GAAM,IAAI,eAAgB,CAAA,EAAE,OAAO,QAAU,EAAA,GAAA,CAAI,QAAU,EAAA,QAAA,EAAU,CAAA,CAAA;AAC3E,EAAA,GAAA,CAAI,GAAM,GAAA,GAAA,CAAA;AACV,EAAI,GAAA,CAAA,YAAA,CAAa,IAAI,UAAU,CAAA,CAAA;AAC/B,EAAI,GAAA,CAAA,WAAA,CAAY,IAAI,SAAS,CAAA,CAAA;AAE7B,EAAI,GAAA,CAAA,YAAA,CAAa,MAAO,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACnC,EAAA,GAAA,CAAI,OAAQ,CAAA,GAAA,CAAI,MAAO,CAAA,uBAAA,CAAwB,MAAM;AACnD,IAAI,GAAA,CAAA,YAAA,CAAa,MAAO,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,GACpC,CAAC,CAAA,CAAA;AAEF,EAAO,OAAA,GAAA,CAAA;AACT,CAAA,CAAA;AAoBO,IAAM,OAAU,GAAA,CAAC,QAAsB,EAAA,OAAA,GAA0B,EAAsB,KAAA;AAC5F,EAAA,IAAI,GAAM,GAAA,sBAAA,CAAA;AACV,EAAA,IAAI,QAAQ,EAAI,EAAA;AACd,IAAM,GAAA,GAAA,MAAA,CAAO,OAAO,EAAC,EAAG,KAAK,EAAE,IAAA,EAAM,OAAQ,CAAA,EAAA,EAAI,CAAA,CAAA;AAAA,GACnD;AACA,EAAA,OAAO,SAAS,EAAE,IAAA,EAAM,IAAI,IAAM,EAAA,GAAA,EAAK,KAAK,CAAA,CAAA;AAC9C,EAAA;;;ACnYO,IAAM,OAAU,GAAA;;;;","x_google_ignoreList":[0,1,2]}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@netless/app-presentation",
3
+ "version": "0.1.0-beta.0",
4
+ "description": "Netless App for presentation slides (images)",
5
+ "author": "netless",
6
+ "license": "MIT",
7
+ "repository": "netless-io/app-presentation",
8
+ "main": "dist/index.js",
9
+ "module": "dist/index.mjs",
10
+ "types": "dist/index.d.ts",
11
+ "unpkg": "dist/index.global.js",
12
+ "jsdelivr": "dist/index.global.js",
13
+ "files": [
14
+ "src",
15
+ "dist",
16
+ "build.ts"
17
+ ],
18
+ "peerDependencies": {
19
+ "jspdf": "^2.5.1"
20
+ },
21
+ "peerDependenciesMeta": {
22
+ "jspdf": {
23
+ "optional": true
24
+ }
25
+ },
26
+ "devDependencies": {
27
+ "@hyrious/configs": "^0.1.1",
28
+ "@hyrious/dts": "^0.2.1",
29
+ "@hyrious/esbuild-dev": "^0.10.5",
30
+ "@netless/fastboard": "^0.3.10",
31
+ "@netless/window-manager": "^0.4.67",
32
+ "@types/node": "^20.11.10",
33
+ "@wopjs/disposable": "^0.1.4",
34
+ "@wopjs/dom": "^0.1.3",
35
+ "esbuild": "^0.19.12",
36
+ "jspdf": "^2.5.1",
37
+ "rollup": "^4.9.6",
38
+ "sass": "^1.70.0",
39
+ "vanilla-lazyload": "^17.8.5",
40
+ "vite": "^5.0.12"
41
+ },
42
+ "scripts": {
43
+ "dev": "vite",
44
+ "build": "esbuild-dev build.ts"
45
+ }
46
+ }
@@ -0,0 +1,392 @@
1
+ import type { AnimationMode, AppContext, NetlessApp, ReadonlyTeleBox, Room, SceneDefinition, Storage, View, WindowManager } from "@netless/window-manager"
2
+
3
+ import { disposableStore } from '@wopjs/disposable'
4
+ import { listen } from '@wopjs/dom'
5
+
6
+ import styles from './style.scss?inline'
7
+ import { Presentation, type PresentationConfig, type PresentationPage } from "./presentation";
8
+
9
+ export type Logger = (...data: any[]) => void
10
+
11
+ export interface PresentationAppOptions {
12
+ log?: Logger;
13
+ }
14
+
15
+ export interface PresentationController {
16
+ readonly app: Presentation;
17
+ readonly view: View;
18
+ readonly context: AppContext;
19
+ /** Returns false if failed to jump (either because out of bounds or lack of permissions). */
20
+ jumpPage(index: number): boolean;
21
+ /** Returns false if failed to jump */
22
+ prevPage(): boolean;
23
+ /** Returns false if failed to jump */
24
+ nextPage(): boolean;
25
+ /** `index` ranges from 0 to `length - 1` */
26
+ pageState(): { index: number, length: number };
27
+
28
+ toPdf(): Promise<{ pdf: ArrayBuffer, title: string } | null>;
29
+
30
+ log: Logger;
31
+ }
32
+
33
+ export { styles }
34
+
35
+ const ppt2page = (ppt: SceneDefinition["ppt"]): PresentationPage | null =>
36
+ ppt ? { width: ppt.width, height: ppt.height, src: ppt.src, thumbnail: ppt.previewURL } : null
37
+
38
+ const createLogger = (room: Room | undefined): Logger => {
39
+ if (room && (room as any).logger) {
40
+ return (...args) => (room as any).logger.info(...args)
41
+ } else {
42
+ return (...args) => console.log(...args)
43
+ }
44
+ }
45
+
46
+ export const NetlessAppPresentation: NetlessApp<{}, unknown, PresentationAppOptions, PresentationController> = {
47
+ kind: "Presentation",
48
+ setup(context) {
49
+ const view = context.getView()
50
+ if (!view)
51
+ throw new Error("[Presentation]: no whiteboard view, make sure you have added options.scenePath in addApp()")
52
+
53
+ const pages = context.getScenes()?.map(({ ppt }) => ppt2page(ppt)).filter(Boolean) as PresentationPage[]
54
+ if (!pages || pages.length === 0)
55
+ throw new Error("[Presentation]: empty scenes, make sure you have added options.scenes in addApp()")
56
+ if (pages[0].src.startsWith('ppt'))
57
+ throw new Error("[Presentation]: legacy dynamic PPT is unsupported, please use the projector converter and @netless/slide to render it")
58
+
59
+ // Now it must have a blank scene points to "{scenePath}/{scenes[0].name}", e.g. "/pdf/123456/1"
60
+ // https://github.com/netless-io/window-manager/blob/c87df17/src/index.ts#L465-L476
61
+ const scenePath = context.getInitScenePath()!
62
+
63
+ const options = context.getAppOptions() || {}
64
+ const log = options.log || createLogger(context.getRoom())
65
+ log(`[Presentation] new ${context.appId}`)
66
+
67
+ // Prepare scenes.
68
+ // Caution: some user may insert a 500-page PDF.
69
+ if (context.isAddApp) {
70
+ if (pages.length > 100)
71
+ console.warn(`[Presentation]: too many pages (${pages.length}), may cause performance issues`)
72
+
73
+ const room = context.getRoom()
74
+ if (room && room.isWritable) {
75
+ const scenes = room.entireScenes()[scenePath]
76
+ if (scenes.length < pages.length) {
77
+ // Note: scenes with the same name will be overwritten.
78
+ room.putScenes(scenePath, pages.map((_, index) => ({ name: String(index + 1) })))
79
+ }
80
+ }
81
+ }
82
+
83
+ const dispose = disposableStore()
84
+ dispose.add(() => log(`[Presentation] dispose ${context.appId}`))
85
+
86
+ const page$$ = context.createStorage('page', { index: 0 })
87
+
88
+ let lastIndex = -1
89
+ const syncPage = async (index: number) => {
90
+ if (lastIndex !== index) {
91
+ lastIndex = index
92
+ context.dispatchAppEvent('pageStateChange', { index, length: pages.length })
93
+ }
94
+
95
+ if (!context.getIsWritable()) return
96
+
97
+ const scenes = context.getDisplayer().entireScenes()[scenePath]
98
+ if (!scenes) return
99
+
100
+ const name = String(index + 1)
101
+
102
+ // "Prepare scenes" may not run correctly if the user suddenly disconnected after adding the app.
103
+ // So here we add the missing pages again if not found. This is rare to happen.
104
+ if (!scenes.some(scene => scene.name === name)) {
105
+ await context.addPage({ scene: { name } })
106
+ }
107
+
108
+ // Switch to that page.
109
+ await context.setScenePath(`${scenePath}/${name}`)
110
+ }
111
+
112
+ const jumpPage = (index: number): boolean => {
113
+ if (!context.getIsWritable()) {
114
+ console.warn('[Presentation]: no permission, make sure you have test room.isWritable')
115
+ return false
116
+ }
117
+
118
+ if (!(0 <= index && index < pages.length)) {
119
+ console.warn(`[Presentation]: page ${index + 1} out of bounds [1, ${pages.length}]`)
120
+ return false
121
+ }
122
+
123
+ const scenes = context.getDisplayer().entireScenes()[scenePath]
124
+ if (!scenes) {
125
+ console.warn(`[Presentation]: no scenes found at ${scenePath}, make sure you have added options.scenePath in addApp()`)
126
+ return false
127
+ }
128
+
129
+ const name = String(index + 1)
130
+ if (!scenes.some(scene => scene.name === name)) {
131
+ context.addPage({ scene: { name } })
132
+ }
133
+
134
+ page$$.setState({ index })
135
+ return true
136
+ }
137
+
138
+ const prevPage = () => jumpPage(page$$.state.index - 1)
139
+ const nextPage = () => jumpPage(page$$.state.index + 1)
140
+ const pageState = () => ({ index: page$$.state.index, length: pages.length })
141
+
142
+ const scaleDocsToFit = () => {
143
+ const { width, height } = app.page() || {}
144
+ if (width && height) {
145
+ view.moveCameraToContain({
146
+ originX: -width / 2, originY: -height / 2, width, height,
147
+ animationMode: 'immediately' as AnimationMode.Immediately
148
+ })
149
+ view.setCameraBound({
150
+ damping: 1,
151
+ maxContentMode: () => view.camera.scale,
152
+ minContentMode: () => view.camera.scale,
153
+ centerX: 0, centerY: 0, width, height
154
+ })
155
+ }
156
+ }
157
+
158
+ syncPage(page$$.state.index)
159
+ dispose.add(page$$.addStateChangedListener(() => syncPage(page$$.state.index)))
160
+
161
+ // Workaround for window-manager also listens to room state and change scene.
162
+ // https://github.com/netless-io/window-manager/blob/5e6b79f/src/AppManager.ts#L666
163
+ //
164
+ // When we close some app with a whiteboard view, the related scenes will be deleted.
165
+ // Then whiteboard's room.state.sceneState will automatically navigate to an existing scene.
166
+ // Then it goes to "/pdf/123456", which is a folder, so it will open the first scene "/pdf/123456/0".
167
+ //
168
+ // But we actually does not use that scene, our scenes' names are ["1", "2", ...].
169
+ // So if we found this situation, force sync page once.
170
+ dispose.add(context.emitter.on('roomStateChange', (state) => {
171
+ if (state.sceneState?.scenePath.endsWith('/0')) {
172
+ // About timing things:
173
+ // window-manager's listener runs in sync, but context.emitter is based on Emittery
174
+ // which runs callbacks in the next micro task, so this code will run after the "/0" task.
175
+ syncPage(page$$.state.index)
176
+ }
177
+ }))
178
+
179
+ const box = context.getBox()
180
+ const app = dispose.add(createPresentation(box, pages, jumpPage, page$$))
181
+ app.contentDOM.dataset.appPresentationVersion = __VERSION__
182
+ app.scaleDocsToFit = scaleDocsToFit
183
+ app.log = log
184
+
185
+ context.mountView(app.whiteboardDOM)
186
+ view.disableCameraTransform = true
187
+ scaleDocsToFit()
188
+ dispose.make(() => {
189
+ view.callbacks.on('onSizeUpdated', scaleDocsToFit)
190
+ return () => view.callbacks.off('onSizeUpdated', scaleDocsToFit)
191
+ })
192
+
193
+ dispose.add(context.emitter.on("writableChange", (isWritable: boolean): void => {
194
+ app.setReadonly(!isWritable)
195
+ }))
196
+
197
+ context.emitter.on('destroy', () => dispose())
198
+
199
+ const reportProgress = (progress: number, result: { pdf: ArrayBuffer, title: string } | null) => {
200
+ window.postMessage({ type: '@netless/_result_save_pdf_', appId: context.appId, progress, result }, '*')
201
+ return result
202
+ }
203
+
204
+ const base64url = async (url: string): Promise<string> => {
205
+ try {
206
+ const a = new URL(url)
207
+ a.searchParams.set('t', Date.now().toString())
208
+ url = a.toString()
209
+ } catch {}
210
+
211
+ const data = await fetch(url)
212
+ if (!data.ok) throw new Error(`[Presentation]: failed to fetch ${url} - ${await data.text()}`)
213
+
214
+ const blob = await data.blob()
215
+ const reader = new FileReader()
216
+ return new Promise((resolve, reject) => {
217
+ reader.onload = () => resolve(reader.result as string)
218
+ reader.onerror = () => reject(reader.error)
219
+ reader.readAsDataURL(blob)
220
+ })
221
+ }
222
+
223
+ const toPdf = async (): Promise<{ pdf: ArrayBuffer, title: string } | null> => {
224
+ const MAX = 1920
225
+ const firstPage = pages[0]
226
+ const { width, height } = firstPage
227
+ let pdfWidth = Math.floor(width), pdfHeight = Math.floor(height)
228
+ if (pdfWidth > MAX) {
229
+ pdfWidth = MAX
230
+ pdfHeight = Math.floor(height * pdfWidth / width)
231
+ }
232
+ if (pdfHeight > MAX) {
233
+ pdfHeight = MAX
234
+ pdfWidth = Math.floor(width * pdfHeight / height)
235
+ }
236
+ const scenes = context.getDisplayer().entireScenes()[scenePath]
237
+
238
+ const stage_canvas = document.createElement('canvas')
239
+ stage_canvas.width = pdfWidth
240
+ stage_canvas.height = pdfHeight
241
+ const stage = stage_canvas.getContext('2d')
242
+
243
+ const wb_canvas = document.createElement('canvas')
244
+ wb_canvas.width = pdfWidth
245
+ wb_canvas.height = pdfHeight
246
+ const wb = wb_canvas.getContext('2d')
247
+ if (!wb || !stage) return reportProgress(100, null)
248
+
249
+ const { jsPDF } = await import("jspdf")
250
+ const pdf = new jsPDF({
251
+ format: [firstPage.width, firstPage.height],
252
+ orientation: firstPage.width > firstPage.height ? 'l' : 'p',
253
+ compress: true,
254
+ })
255
+
256
+ for (let index = 0; index < pages.length; ++index) {
257
+ const { width, height, src } = pages[index]
258
+
259
+ const url = await base64url(src)
260
+ const img = document.createElement('img')
261
+ await new Promise(resolve => { img.onload = resolve; img.src = url })
262
+ stage.drawImage(img, 0, 0)
263
+
264
+ wb.clearRect(0, 0, pdfWidth, pdfHeight)
265
+ if (scenes.some(scene => scene.name == String(index + 1))) {
266
+ view.screenshotToCanvas(
267
+ wb, `${scenePath}/${index + 1}`,
268
+ wb_canvas.width, wb_canvas.height,
269
+ { centerX: 0, centerY: 0, scale: Math.min(wb_canvas.width / width, wb_canvas.height / height) },
270
+ )
271
+ try {
272
+ const wb_url = wb_canvas.toDataURL('image/png')
273
+ const wb_img = document.createElement('img')
274
+ await new Promise(resolve => { wb_img.onload = resolve; wb_img.src = wb_url })
275
+ stage.drawImage(wb_img, 0, 0, pdfWidth, pdfHeight)
276
+ } catch (err) {
277
+ console.warn(err)
278
+ }
279
+ }
280
+
281
+ const output = stage_canvas.toDataURL('image/jpeg', 0.6)
282
+ if (index > 0) pdf.addPage()
283
+
284
+ pdf.addImage(output, 'JPEG', 0, 0, pdfWidth, pdfHeight, "", "FAST")
285
+ stage.clearRect(0, 0, pdfWidth, pdfHeight)
286
+ const progress = Math.ceil((index + 1) / pages.length * 100)
287
+ if (progress < 100) reportProgress(progress, null)
288
+ }
289
+
290
+ const data = pdf.output('arraybuffer')
291
+ const title = box.title
292
+ return reportProgress(100, { pdf: data, title })
293
+ }
294
+
295
+ dispose.add(listen(window, 'message', (ev: MessageEvent<{ appId: string, type: "@netless/_request_save_pdf_" }>) => {
296
+ if (ev.data && ev.data.type == '@netless/_request_save_pdf_' && ev.data.appId == context.appId) {
297
+ toPdf().catch(err => { console.warn(err); reportProgress(100, null) })
298
+ }
299
+ }))
300
+
301
+ const controller: PresentationController = { app, view, context, jumpPage, prevPage, nextPage, pageState, toPdf, log }
302
+
303
+ dispose.add(listen(window, 'message', (ev: MessageEvent<"@netless/_presentation_">) => {
304
+ if (ev.data === "@netless/_presentation_") {
305
+ if (typeof window !== 'undefined') dispose.make(() => {
306
+ const debug: Set<PresentationController> = ((window as any)._presentation_ ||= new Set())
307
+ debug.add(controller)
308
+ return () => debug.delete(controller)
309
+ })
310
+ console.log(controller)
311
+ }
312
+ }))
313
+
314
+ return controller
315
+ }
316
+ }
317
+
318
+ /**
319
+ * Add synchronization to the local presentation.
320
+ */
321
+ class AppPresentation extends Presentation {
322
+ log?: Logger;
323
+ box?: ReadonlyTeleBox;
324
+ scaleDocsToFit?: () => void;
325
+ readonly jumpPage: (index: number) => void
326
+
327
+ constructor(config: PresentationConfig & { jumpPage: (index: number) => void }) {
328
+ super(config)
329
+ this.jumpPage = config.jumpPage
330
+ }
331
+
332
+ override onNewPageIndex(index: number, origin: "navigation" | "keydown" | "input" | "preview") {
333
+ // If it is triggered by global keydown (left or right arrow),
334
+ // only the focused one should work
335
+ if (origin === "keydown" && this.box && !this.box.focus)
336
+ return
337
+ if (this.log)
338
+ this.log("[Presentation] user navigate to", index + 1, `(${origin})`)
339
+ if (0 <= index && index < this.pages.length) {
340
+ this.jumpPage(index)
341
+ } else {
342
+ console.warn(`[Presentation]: page index ${index} out of bounds [0, ${this.pages.length - 1}]`)
343
+ }
344
+ }
345
+ }
346
+
347
+ const createPresentation = (
348
+ box: ReadonlyTeleBox,
349
+ pages: PresentationPage[],
350
+ jumpPage: (index: number) => void,
351
+ page$$: Storage<{ index: number }>,
352
+ ) => {
353
+ box.mountStyles(styles)
354
+
355
+ const app = new AppPresentation({ pages, readonly: box.readonly, jumpPage })
356
+ app.box = box
357
+ box.mountContent(app.contentDOM)
358
+ box.mountFooter(app.footerDOM)
359
+
360
+ app.setPageIndex(page$$.state.index)
361
+ app.dispose.add(page$$.addStateChangedListener(() => {
362
+ app.setPageIndex(page$$.state.index)
363
+ }))
364
+
365
+ return app
366
+ }
367
+
368
+ export type RegisterFn = typeof WindowManager["register"]
369
+
370
+ export interface InstallOptions {
371
+ /**
372
+ * Register as another "kind", to hijack existing apps.
373
+ * The default kind is "Presentation".
374
+ *
375
+ * @example "DocsViewer"
376
+ */
377
+ as?: string
378
+ }
379
+
380
+ /**
381
+ * Call `register({ kind: "Presentation", src: NetlessAppPresentation })` to register this app.
382
+ * Optionally accepts an options object to override the default kind.
383
+ *
384
+ * @example install(register, { as: "DocsViewer" })
385
+ */
386
+ export const install = (register: RegisterFn, options: InstallOptions = {}): Promise<void> => {
387
+ let app = NetlessAppPresentation
388
+ if (options.as) {
389
+ app = Object.assign({}, app, { kind: options.as })
390
+ }
391
+ return register({ kind: app.kind, src: app })
392
+ }
@@ -0,0 +1,6 @@
1
+ declare module "*?inline" {
2
+ const contents: string
3
+ export default contents
4
+ }
5
+
6
+ declare const __VERSION__: string
@@ -0,0 +1,15 @@
1
+ export function arrowLeftSVG(namespace: string): SVGElement {
2
+ const NS = "http://www.w3.org/2000/svg";
3
+
4
+ const $svg = document.createElementNS(NS, "svg");
5
+ $svg.setAttribute("class", `${namespace}-footer-icon-arrow-left`);
6
+ $svg.setAttribute("viewBox", "0 0 500 500");
7
+
8
+ const $path = document.createElementNS(NS, "path");
9
+ $path.setAttribute("fill", "currentColor");
10
+ $path.setAttribute("d", "M177.81 249.959L337.473 90.295c2.722-2.865 2.651-7.378-.143-10.1-2.793-2.65-7.163-2.65-9.956 0l-164.75 164.75c-2.793 2.793-2.793 7.306 0 10.1l164.75 164.75c2.865 2.722 7.378 2.65 10.099-.143 2.651-2.794 2.651-7.163 0-9.957L177.809 249.959z");
11
+
12
+ $svg.appendChild($path);
13
+
14
+ return $svg;
15
+ }
@@ -0,0 +1,15 @@
1
+ export function arrowRightSVG(namespace: string): SVGElement {
2
+ const NS = "http://www.w3.org/2000/svg";
3
+
4
+ const $svg = document.createElementNS(NS, "svg");
5
+ $svg.setAttribute("class", `${namespace}-footer-icon-arrow-right`);
6
+ $svg.setAttribute("viewBox", "0 0 500 500");
7
+
8
+ const $path = document.createElementNS(NS, "path");
9
+ $path.setAttribute("fill", "currentColor");
10
+ $path.setAttribute("d", "M322.19 250.041L162.527 409.705c-2.722 2.865-2.651 7.378.143 10.1 2.793 2.65 7.163 2.65 9.956 0l164.75-164.75c2.793-2.793 2.793-7.306 0-10.1l-164.75-164.75c-2.865-2.722-7.378-2.65-10.099.143-2.651 2.794-2.651 7.163 0 9.957l159.664 159.736z");
11
+
12
+ $svg.appendChild($path);
13
+
14
+ return $svg;
15
+ }
@@ -0,0 +1,3 @@
1
+ export * from './sidebar'
2
+ export * from './arrow-left'
3
+ export * from './arrow-right'
@@ -0,0 +1,15 @@
1
+ export function sidebarSVG(namespace: string): SVGElement {
2
+ const NS = "http://www.w3.org/2000/svg";
3
+
4
+ const $svg = document.createElementNS(NS, "svg");
5
+ $svg.setAttribute("class", `${namespace}-footer-icon-sidebar`);
6
+ $svg.setAttribute("viewBox", "0 0 64 64");
7
+
8
+ const $path = document.createElementNS(NS, "path");
9
+ $path.setAttribute("fill", "currentColor");
10
+ $path.setAttribute("d", "M50 8H14c-3.309 0-6 2.691-6 6v36c0 3.309 2.691 6 6 6h36c3.309 0 6-2.691 6-6V14c0-3.309-2.691-6-6-6zM12 50V14c0-1.103.897-2 2-2h8v40h-8c-1.103 0-2-.897-2-2zm40 0c0 1.103-.897 2-2 2H26V12h24c1.103 0 2 .897 2 2z");
11
+
12
+ $svg.appendChild($path);
13
+
14
+ return $svg;
15
+ }
package/src/index.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from "./presentation"
2
+ export * from "./app-presentation"
3
+ export { NetlessAppPresentation as default } from "./app-presentation"
4
+
5
+ export const version = __VERSION__