{"version":3,"file":"static/js/694.2bcf97a2.chunk.js","mappings":"8HAEAA,GAAQ,WAAaC,GACrBD,GAAQ,YAAcE,EACtBF,GAAQ,cAAgBG,GAOxB,QALIC,GAAS,CAAC,EACVC,EAAY,CAAC,EACbC,GAAM,OAAOC,WAAe,IAAcA,WAAaC,MAEvDC,GAAO,mEACFC,GAAI,EAAGC,GAAMF,GAAKG,OAAQF,GAAIC,GAAK,EAAED,GAC5CN,GAAOM,EAAC,EAAID,GAAKC,EAAC,EAClBL,EAAUI,GAAKI,WAAWH,EAAC,CAAC,EAAIA,GAKlCL,EAAU,EAAiB,EAAI,GAC/BA,EAAU,EAAiB,EAAI,GAE/B,SAASS,EAASC,EAAK,CACrB,IAAIJ,EAAMI,EAAIH,OAEd,GAAID,EAAM,EAAI,EACZ,MAAM,IAAIK,MAAM,gDAAgD,EAKlE,IAAIC,EAAWF,EAAIG,QAAQ,GAAG,EAC1BD,IAAa,KAAIA,EAAWN,GAEhC,IAAIQ,GAAkBF,IAAaN,EAC/B,EACA,EAAKM,EAAW,EAEpB,MAAO,CAACA,EAAUE,EAAe,CACnC,CAGA,SAASlB,GAAYc,EAAK,CACxB,IAAIK,EAAON,EAAQC,CAAG,EAClBE,EAAWG,EAAK,CAAC,EACjBD,GAAkBC,EAAK,CAAC,EAC5B,OAASH,EAAWE,IAAmB,EAAI,EAAKA,EAClD,CAEA,SAASE,EAAaN,EAAKE,EAAUE,EAAiB,CACpD,OAASF,EAAWE,GAAmB,EAAI,EAAKA,CAClD,CAEA,SAASjB,EAAaa,EAAK,CACzB,IAAIO,EACAF,EAAON,EAAQC,CAAG,EAClBE,GAAWG,EAAK,CAAC,EACjBD,GAAkBC,EAAK,CAAC,EAExBG,GAAM,IAAIjB,GAAIe,EAAYN,EAAKE,GAAUE,EAAe,CAAC,EAEzDK,GAAU,EAGVb,GAAMQ,GAAkB,EACxBF,GAAW,EACXA,GAEAP,GACJ,IAAKA,GAAI,EAAGA,GAAIC,GAAKD,IAAK,EACxBY,EACGjB,EAAUU,EAAIF,WAAWH,EAAC,CAAC,GAAK,GAChCL,EAAUU,EAAIF,WAAWH,GAAI,CAAC,CAAC,GAAK,GACpCL,EAAUU,EAAIF,WAAWH,GAAI,CAAC,CAAC,GAAK,EACrCL,EAAUU,EAAIF,WAAWH,GAAI,CAAC,CAAC,EACjCa,GAAIC,IAAS,EAAKF,GAAO,GAAM,IAC/BC,GAAIC,IAAS,EAAKF,GAAO,EAAK,IAC9BC,GAAIC,IAAS,EAAIF,EAAM,IAGzB,OAAIH,KAAoB,IACtBG,EACGjB,EAAUU,EAAIF,WAAWH,EAAC,CAAC,GAAK,EAChCL,EAAUU,EAAIF,WAAWH,GAAI,CAAC,CAAC,GAAK,EACvCa,GAAIC,IAAS,EAAIF,EAAM,KAGrBH,KAAoB,IACtBG,EACGjB,EAAUU,EAAIF,WAAWH,EAAC,CAAC,GAAK,GAChCL,EAAUU,EAAIF,WAAWH,GAAI,CAAC,CAAC,GAAK,EACpCL,EAAUU,EAAIF,WAAWH,GAAI,CAAC,CAAC,GAAK,EACvCa,GAAIC,IAAS,EAAKF,GAAO,EAAK,IAC9BC,GAAIC,IAAS,EAAIF,EAAM,KAGlBC,EACT,CAEA,SAASE,EAAiBC,EAAK,CAC7B,OAAOtB,GAAOsB,GAAO,GAAK,EAAI,EAC5BtB,GAAOsB,GAAO,GAAK,EAAI,EACvBtB,GAAOsB,GAAO,EAAI,EAAI,EACtBtB,GAAOsB,EAAM,EAAI,CACrB,CAEA,SAASC,EAAaC,EAAOC,EAAOC,EAAK,CAGvC,QAFIR,GACAS,GAAS,CAAC,EACLrB,GAAImB,EAAOnB,GAAIoB,EAAKpB,IAAK,EAChCY,IACIM,EAAMlB,EAAC,GAAK,GAAM,WAClBkB,EAAMlB,GAAI,CAAC,GAAK,EAAK,QACtBkB,EAAMlB,GAAI,CAAC,EAAI,KAClBqB,GAAOC,KAAKP,EAAgBH,EAAG,CAAC,EAElC,OAAOS,GAAOE,KAAK,EAAE,CACvB,CAEA,SAAS9B,GAAeyB,EAAO,CAQ7B,QAPIN,EACAX,EAAMiB,EAAMhB,OACZsB,GAAavB,EAAM,EACnBwB,GAAQ,CAAC,EACTC,GAAiB,MAGZ1B,GAAI,EAAG2B,GAAO1B,EAAMuB,GAAYxB,GAAI2B,GAAM3B,IAAK0B,GACtDD,GAAMH,KAAKL,EAAYC,EAAOlB,GAAIA,GAAI0B,GAAkBC,GAAOA,GAAQ3B,GAAI0B,EAAe,CAAC,EAI7F,OAAIF,KAAe,GACjBZ,EAAMM,EAAMjB,EAAM,CAAC,EACnBwB,GAAMH,KACJ5B,GAAOkB,GAAO,CAAC,EACflB,GAAQkB,GAAO,EAAK,EAAI,EACxB,IACF,GACSY,KAAe,IACxBZ,GAAOM,EAAMjB,EAAM,CAAC,GAAK,GAAKiB,EAAMjB,EAAM,CAAC,EAC3CwB,GAAMH,KACJ5B,GAAOkB,GAAO,EAAE,EAChBlB,GAAQkB,GAAO,EAAK,EAAI,EACxBlB,GAAQkB,GAAO,EAAK,EAAI,EACxB,GACF,GAGKa,GAAMF,KAAK,EAAE,CACtB,C,wCCrJA;AAAA;AAAA;AAAA;AAAA;AAAA,GAUA,MAAMK,GAASC,GAAQ,KAAW,EAC5BC,GAAUD,GAAQ,KAAS,EAC3BE,GACH,OAAOC,QAAW,YAAc,OAAOA,OAAO,KAAW,WACtDA,OAAO,IAAO,4BAA4B,EAC1C,KAEN1C,GAAQ,GAAS2C,EACjB3C,EAAqB4C,GACrB5C,GAAQ,GAAoB,GAE5B,MAAM6C,GAAe,WACrB7C,EAAqB6C,GAgBrBF,EAAOG,oBAAsBC,EAAkB,EAE3C,CAACJ,EAAOG,qBAAuB,OAAOE,QAAY,KAClD,OAAOA,QAAQC,OAAU,YAC3BD,QAAQC,MACN,+IAEF,EAGF,SAASF,GAAqB,CAE5B,GAAI,CACF,MAAMxB,EAAM,IAAIhB,WAAW,CAAC,EACtB2C,EAAQ,CAAEC,IAAK,UAAY,CAAE,MAAO,GAAG,CAAE,EAC/CC,cAAOC,eAAeH,EAAO3C,WAAW+C,SAAS,EACjDF,OAAOC,eAAe9B,EAAK2B,CAAK,EACzB3B,EAAI4B,IAAI,IAAM,EACvB,MAAY,CACV,MAAO,EACT,CACF,CAEAC,OAAOG,eAAeZ,EAAOW,UAAW,SAAU,CAChDE,WAAY,GACZC,IAAK,UAAY,CACf,GAAKd,EAAOe,SAAS,IAAI,EACzB,OAAO,KAAKC,MACd,CACF,CAAC,EAEDP,OAAOG,eAAeZ,EAAOW,UAAW,SAAU,CAChDE,WAAY,GACZC,IAAK,UAAY,CACf,GAAKd,EAAOe,SAAS,IAAI,EACzB,OAAO,KAAKE,UACd,CACF,CAAC,EAED,SAASC,GAAcjD,EAAQ,CAC7B,GAAIA,EAASiC,GACX,MAAM,IAAIiB,WAAW,cAAgBlD,EAAS,gCAAgC,EAGhF,MAAMmD,EAAM,IAAIxD,WAAWK,CAAM,EACjCwC,cAAOC,eAAeU,EAAKpB,EAAOW,SAAS,EACpCS,CACT,CAYA,SAASpB,EAAQqB,EAAKC,EAAkBrD,EAAQ,CAE9C,GAAI,OAAOoD,GAAQ,SAAU,CAC3B,GAAI,OAAOC,GAAqB,SAC9B,MAAM,IAAIC,UACR,oEACF,EAEF,OAAOC,GAAYH,CAAG,CACxB,CACA,OAAOI,EAAKJ,EAAKC,EAAkBrD,CAAM,CAC3C,CAEA+B,EAAO0B,SAAW,KAElB,SAASD,EAAME,EAAOL,EAAkBrD,EAAQ,CAC9C,GAAI,OAAO0D,GAAU,SACnB,OAAOC,EAAWD,EAAOL,CAAgB,EAG3C,GAAIO,YAAYC,OAAOH,CAAK,EAC1B,OAAOI,EAAcJ,CAAK,EAG5B,GAAIA,GAAS,KACX,MAAM,IAAIJ,UACR,kHAC0C,OAAOI,CACnD,EAQF,GALIK,GAAWL,EAAOE,WAAW,GAC5BF,GAASK,GAAWL,EAAMX,OAAQa,WAAW,GAI9C,OAAOI,kBAAsB,MAC5BD,GAAWL,EAAOM,iBAAiB,GACnCN,GAASK,GAAWL,EAAMX,OAAQiB,iBAAiB,GACtD,OAAOC,GAAgBP,EAAOL,EAAkBrD,CAAM,EAGxD,GAAI,OAAO0D,GAAU,SACnB,MAAM,IAAIJ,UACR,uEACF,EAGF,MAAMY,EAAUR,EAAMQ,SAAWR,EAAMQ,QAAQ,EAC/C,GAAIA,GAAW,MAAQA,IAAYR,EACjC,OAAO3B,EAAOyB,KAAKU,EAASb,EAAkBrD,CAAM,EAGtD,MAAMmE,EAAIC,GAAWV,CAAK,EAC1B,GAAIS,EAAG,OAAOA,EAEd,GAAI,OAAOrC,OAAW,KAAeA,OAAOuC,aAAe,MACvD,OAAOX,EAAM5B,OAAOuC,WAAW,GAAM,WACvC,OAAOtC,EAAOyB,KAAKE,EAAM5B,OAAOuC,WAAW,EAAE,QAAQ,EAAGhB,EAAkBrD,CAAM,EAGlF,MAAM,IAAIsD,UACR,kHAC0C,OAAOI,CACnD,CACF,CAUA3B,EAAOyB,KAAO,SAAUE,EAAOL,EAAkBrD,EAAQ,CACvD,OAAOwD,EAAKE,EAAOL,EAAkBrD,CAAM,CAC7C,EAIAwC,OAAOC,eAAeV,EAAOW,UAAW/C,WAAW+C,SAAS,EAC5DF,OAAOC,eAAeV,EAAQpC,UAAU,EAExC,SAAS2E,EAAYC,EAAM,CACzB,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAIjB,UAAU,wCAAwC,EACvD,GAAIiB,EAAO,EAChB,MAAM,IAAIrB,WAAW,cAAgBqB,EAAO,gCAAgC,CAEhF,CAEA,SAASC,EAAOD,EAAME,EAAMC,EAAU,CAEpC,OADAJ,EAAWC,CAAI,EACXA,GAAQ,EACHtB,GAAasB,CAAI,EAEtBE,IAASE,OAIJ,OAAOD,GAAa,SACvBzB,GAAasB,CAAI,EAAEE,KAAKA,EAAMC,CAAQ,EACtCzB,GAAasB,CAAI,EAAEE,KAAKA,CAAI,EAE3BxB,GAAasB,CAAI,CAC1B,CAMAxC,EAAOyC,MAAQ,SAAUD,EAAME,EAAMC,EAAU,CAC7C,OAAOF,EAAMD,EAAME,EAAMC,CAAQ,CACnC,EAEA,SAASnB,GAAagB,EAAM,CAC1BD,OAAAA,EAAWC,CAAI,EACRtB,GAAasB,EAAO,EAAI,EAAIK,GAAQL,CAAI,EAAI,CAAC,CACtD,CAKAxC,EAAOwB,YAAc,SAAUgB,EAAM,CACnC,OAAOhB,GAAYgB,CAAI,CACzB,EAIAxC,EAAO8C,gBAAkB,SAAUN,EAAM,CACvC,OAAOhB,GAAYgB,CAAI,CACzB,EAEA,SAASZ,EAAYmB,EAAQJ,EAAU,CAKrC,IAJI,OAAOA,GAAa,UAAYA,IAAa,MAC/CA,EAAW,QAGT,CAAC3C,EAAOgD,WAAWL,CAAQ,EAC7B,MAAM,IAAIpB,UAAU,qBAAuBoB,CAAQ,EAGrD,MAAM1E,EAASX,GAAWyF,EAAQJ,CAAQ,EAAI,EAC9C,IAAIvB,EAAMF,GAAajD,CAAM,EAE7B,MAAMgF,EAAS7B,EAAI8B,MAAMH,EAAQJ,CAAQ,EAEzC,OAAIM,IAAWhF,IAIbmD,EAAMA,EAAI+B,MAAM,EAAGF,CAAM,GAGpB7B,CACT,CAEA,SAASgC,EAAeC,EAAO,CAC7B,MAAMpF,EAASoF,EAAMpF,OAAS,EAAI,EAAI4E,GAAQQ,EAAMpF,MAAM,EAAI,EACxDmD,EAAMF,GAAajD,CAAM,EAC/B,QAASF,EAAI,EAAGA,EAAIE,EAAQF,GAAK,EAC/BqD,EAAIrD,CAAC,EAAIsF,EAAMtF,CAAC,EAAI,IAEtB,OAAOqD,CACT,CAEA,SAASW,EAAeuB,EAAW,CACjC,GAAItB,GAAWsB,EAAW1F,UAAU,EAAG,CACrC,MAAM2F,EAAO,IAAI3F,WAAW0F,CAAS,EACrC,OAAOpB,GAAgBqB,EAAKvC,OAAQuC,EAAKtC,WAAYsC,EAAKjG,UAAU,CACtE,CACA,OAAO8F,EAAcE,CAAS,CAChC,CAEA,SAASpB,GAAiBmB,EAAOpC,EAAYhD,EAAQ,CACnD,GAAIgD,EAAa,GAAKoC,EAAM/F,WAAa2D,EACvC,MAAM,IAAIE,WAAW,sCAAsC,EAG7D,GAAIkC,EAAM/F,WAAa2D,GAAchD,GAAU,GAC7C,MAAM,IAAIkD,WAAW,sCAAsC,EAG7D,IAAIC,EACJ,OAAIH,IAAe2B,QAAa3E,IAAW2E,OACzCxB,EAAM,IAAIxD,WAAWyF,CAAK,EACjBpF,IAAW2E,OACpBxB,EAAM,IAAIxD,WAAWyF,EAAOpC,CAAU,EAEtCG,EAAM,IAAIxD,WAAWyF,EAAOpC,EAAYhD,CAAM,EAIhDwC,OAAOC,eAAeU,EAAKpB,EAAOW,SAAS,EAEpCS,CACT,CAEA,SAASiB,GAAYmB,EAAK,CACxB,GAAIxD,EAAOe,SAASyC,CAAG,EAAG,CACxB,MAAMxF,EAAM6E,GAAQW,EAAIvF,MAAM,EAAI,EAC5BmD,EAAMF,GAAalD,CAAG,EAE5B,OAAIoD,EAAInD,SAAW,GAInBuF,EAAID,KAAKnC,EAAK,EAAG,EAAGpD,CAAG,EAChBoD,CACT,CAEA,GAAIoC,EAAIvF,SAAW2E,OACjB,OAAI,OAAOY,EAAIvF,QAAW,UAAYwF,GAAYD,EAAIvF,MAAM,EACnDiD,GAAa,CAAC,EAEhBkC,EAAcI,CAAG,EAG1B,GAAIA,EAAIE,OAAS,UAAY7F,MAAM8F,QAAQH,EAAII,IAAI,EACjD,OAAOR,EAAcI,EAAII,IAAI,CAEjC,CAEA,SAASf,GAAS5E,EAAQ,CAGxB,GAAIA,GAAUiC,GACZ,MAAM,IAAIiB,WAAW,0DACajB,GAAa2D,SAAS,EAAE,EAAI,QAAQ,EAExE,OAAO5F,EAAS,CAClB,CAEA,SAASgC,GAAYhC,EAAQ,CAC3B,MAAI,CAACA,GAAUA,IACbA,EAAS,GAEJ+B,EAAOyC,MAAM,CAACxE,CAAM,CAC7B,CAEA+B,EAAOe,SAAW,SAAmBqB,EAAG,CACtC,OAAOA,GAAK,MAAQA,EAAE0B,YAAc,IAClC1B,IAAMpC,EAAOW,SACjB,EAEAX,EAAO+D,QAAU,SAAkBC,EAAG5B,EAAG,CAGvC,GAFIJ,GAAWgC,EAAGpG,UAAU,IAAGoG,EAAIhE,EAAOyB,KAAKuC,EAAGA,EAAEC,OAAQD,EAAE1G,UAAU,GACpE0E,GAAWI,EAAGxE,UAAU,IAAGwE,EAAIpC,EAAOyB,KAAKW,EAAGA,EAAE6B,OAAQ7B,EAAE9E,UAAU,GACpE,CAAC0C,EAAOe,SAASiD,CAAC,GAAK,CAAChE,EAAOe,SAASqB,CAAC,EAC3C,MAAM,IAAIb,UACR,uEACF,EAGF,GAAIyC,IAAM5B,EAAG,MAAO,GAEpB,IAAI8B,EAAIF,EAAE/F,OACNkG,EAAI/B,EAAEnE,OAEV,QAASF,EAAI,EAAGC,EAAMoG,KAAKC,IAAIH,EAAGC,CAAC,EAAGpG,EAAIC,EAAK,EAAED,EAC/C,GAAIiG,EAAEjG,CAAC,IAAMqE,EAAErE,CAAC,EAAG,CACjBmG,EAAIF,EAAEjG,CAAC,EACPoG,EAAI/B,EAAErE,CAAC,EACP,KACF,CAGF,OAAImG,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAEAlE,EAAOgD,WAAa,SAAqBL,EAAU,CACjD,OAAQ2B,OAAO3B,CAAQ,EAAE4B,YAAY,EAAG,CACtC,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAO,GACT,QACE,MAAO,EACX,CACF,EAEAvE,EAAOwE,OAAS,SAAiBC,EAAMxG,EAAQ,CAC7C,GAAI,CAACJ,MAAM8F,QAAQc,CAAI,EACrB,MAAM,IAAIlD,UAAU,6CAA6C,EAGnE,GAAIkD,EAAKxG,SAAW,EAClB,OAAO+B,EAAOyC,MAAM,CAAC,EAGvB,IAAI1E,EACJ,GAAIE,IAAW2E,OAEb,IADA3E,EAAS,EACJF,EAAI,EAAGA,EAAI0G,EAAKxG,OAAQ,EAAEF,EAC7BE,GAAUwG,EAAK1G,CAAC,EAAEE,OAItB,MAAM+C,EAAShB,EAAOwB,YAAYvD,CAAM,EACxC,IAAIyG,EAAM,EACV,IAAK3G,EAAI,EAAGA,EAAI0G,EAAKxG,OAAQ,EAAEF,EAAG,CAChC,IAAIqD,EAAMqD,EAAK1G,CAAC,EAChB,GAAIiE,GAAWZ,EAAKxD,UAAU,EACxB8G,EAAMtD,EAAInD,OAAS+C,EAAO/C,QACvB+B,EAAOe,SAASK,CAAG,IAAGA,EAAMpB,EAAOyB,KAAKL,CAAG,GAChDA,EAAImC,KAAKvC,EAAQ0D,CAAG,GAEpB9G,WAAW+C,UAAUgE,IAAIC,KACvB5D,EACAI,EACAsD,CACF,UAEQ1E,EAAOe,SAASK,CAAG,EAG7BA,EAAImC,KAAKvC,EAAQ0D,CAAG,MAFpB,OAAM,IAAInD,UAAU,6CAA6C,EAInEmD,GAAOtD,EAAInD,MACb,CACA,OAAO+C,CACT,EAEA,SAAS1D,GAAYyF,EAAQJ,EAAU,CACrC,GAAI3C,EAAOe,SAASgC,CAAM,EACxB,OAAOA,EAAO9E,OAEhB,GAAI4D,YAAYC,OAAOiB,CAAM,GAAKf,GAAWe,EAAQlB,WAAW,EAC9D,OAAOkB,EAAOzF,WAEhB,GAAI,OAAOyF,GAAW,SACpB,MAAM,IAAIxB,UACR,2FACmB,OAAOwB,CAC5B,EAGF,MAAM/E,EAAM+E,EAAO9E,OACb4G,EAAaC,UAAU7G,OAAS,GAAK6G,UAAU,CAAC,IAAM,GAC5D,GAAI,CAACD,GAAa7G,IAAQ,EAAG,MAAO,GAGpC,IAAI+G,EAAc,GAClB,OACE,OAAQpC,EAAU,CAChB,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAO3E,EACT,IAAK,OACL,IAAK,QACH,OAAOgH,GAAYjC,CAAM,EAAE9E,OAC7B,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOD,EAAM,EACf,IAAK,MACH,OAAOA,IAAQ,EACjB,IAAK,SACH,OAAOiH,GAAclC,CAAM,EAAE9E,OAC/B,QACE,GAAI8G,EACF,OAAOF,EAAY,GAAKG,GAAYjC,CAAM,EAAE9E,OAE9C0E,GAAY,GAAKA,GAAU4B,YAAY,EACvCQ,EAAc,EAClB,CAEJ,CACA/E,EAAO1C,WAAaA,GAEpB,SAAS4H,GAAcvC,EAAUzD,EAAOC,EAAK,CAC3C,IAAI4F,EAAc,GA8BlB,IArBI7F,IAAU0D,QAAa1D,EAAQ,KACjCA,EAAQ,GAINA,EAAQ,KAAKjB,UAIbkB,IAAQyD,QAAazD,EAAM,KAAKlB,UAClCkB,EAAM,KAAKlB,QAGTkB,GAAO,KAKXA,KAAS,EACTD,KAAW,EAEPC,GAAOD,GACT,MAAO,GAKT,IAFKyD,IAAUA,EAAW,UAGxB,OAAQA,EAAU,CAChB,IAAK,MACH,OAAOwC,GAAS,KAAMjG,EAAOC,CAAG,EAElC,IAAK,OACL,IAAK,QACH,OAAOiG,GAAU,KAAMlG,EAAOC,CAAG,EAEnC,IAAK,QACH,OAAOkG,GAAW,KAAMnG,EAAOC,CAAG,EAEpC,IAAK,SACL,IAAK,SACH,OAAOmG,GAAY,KAAMpG,EAAOC,CAAG,EAErC,IAAK,SACH,OAAOoG,GAAY,KAAMrG,EAAOC,CAAG,EAErC,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOqG,GAAa,KAAMtG,EAAOC,CAAG,EAEtC,QACE,GAAI4F,EAAa,MAAM,IAAIxD,UAAU,qBAAuBoB,CAAQ,EACpEA,GAAYA,EAAW,IAAI4B,YAAY,EACvCQ,EAAc,EAClB,CAEJ,CAQA/E,EAAOW,UAAUmD,UAAY,GAE7B,SAAS2B,GAAMrD,EAAGsD,EAAGC,EAAG,CACtB,MAAM5H,EAAIqE,EAAEsD,CAAC,EACbtD,EAAEsD,CAAC,EAAItD,EAAEuD,CAAC,EACVvD,EAAEuD,CAAC,EAAI5H,CACT,CAEAiC,EAAOW,UAAUiF,OAAS,UAAmB,CAC3C,MAAM5H,EAAM,KAAKC,OACjB,GAAID,EAAM,IAAM,EACd,MAAM,IAAImD,WAAW,2CAA2C,EAElE,QAASpD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B0H,GAAK,KAAM1H,EAAGA,EAAI,CAAC,EAErB,OAAO,IACT,EAEAiC,EAAOW,UAAUkF,OAAS,UAAmB,CAC3C,MAAM7H,EAAM,KAAKC,OACjB,GAAID,EAAM,IAAM,EACd,MAAM,IAAImD,WAAW,2CAA2C,EAElE,QAASpD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B0H,GAAK,KAAM1H,EAAGA,EAAI,CAAC,EACnB0H,GAAK,KAAM1H,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACT,EAEAiC,EAAOW,UAAUmF,OAAS,UAAmB,CAC3C,MAAM9H,EAAM,KAAKC,OACjB,GAAID,EAAM,IAAM,EACd,MAAM,IAAImD,WAAW,2CAA2C,EAElE,QAASpD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B0H,GAAK,KAAM1H,EAAGA,EAAI,CAAC,EACnB0H,GAAK,KAAM1H,EAAI,EAAGA,EAAI,CAAC,EACvB0H,GAAK,KAAM1H,EAAI,EAAGA,EAAI,CAAC,EACvB0H,GAAK,KAAM1H,EAAI,EAAGA,EAAI,CAAC,EAEzB,OAAO,IACT,EAEAiC,EAAOW,UAAUkD,SAAW,UAAqB,CAC/C,MAAM5F,EAAS,KAAKA,OACpB,OAAIA,IAAW,EAAU,GACrB6G,UAAU7G,SAAW,EAAUmH,GAAU,KAAM,EAAGnH,CAAM,EACrDiH,GAAaa,MAAM,KAAMjB,SAAS,CAC3C,EAEA9E,EAAOW,UAAUqF,eAAiBhG,EAAOW,UAAUkD,SAEnD7D,EAAOW,UAAUsF,OAAS,SAAiB7D,EAAG,CAC5C,GAAI,CAACpC,EAAOe,SAASqB,CAAC,EAAG,MAAM,IAAIb,UAAU,2BAA2B,EACxE,OAAI,OAASa,EAAU,GAChBpC,EAAO+D,QAAQ,KAAM3B,CAAC,IAAM,CACrC,EAEApC,EAAOW,UAAUuF,QAAU,UAAoB,CAC7C,IAAIC,EAAM,GACV,MAAMC,EAAM/I,GAAQ,GACpB8I,OAAAA,EAAM,KAAKtC,SAAS,MAAO,EAAGuC,CAAG,EAAEC,QAAQ,UAAW,KAAK,EAAEC,KAAK,EAC9D,KAAKrI,OAASmI,IAAKD,GAAO,SACvB,WAAaA,EAAM,GAC5B,EACIrG,KACFE,EAAOW,UAAUb,EAAmB,EAAIE,EAAOW,UAAUuF,SAG3DlG,EAAOW,UAAUoD,QAAU,SAAkBwC,EAAQrH,EAAOC,EAAKqH,EAAWC,EAAS,CAInF,GAHIzE,GAAWuE,EAAQ3I,UAAU,IAC/B2I,EAASvG,EAAOyB,KAAK8E,EAAQA,EAAOtC,OAAQsC,EAAOjJ,UAAU,GAE3D,CAAC0C,EAAOe,SAASwF,CAAM,EACzB,MAAM,IAAIhF,UACR,iFACoB,OAAOgF,CAC7B,EAgBF,GAbIrH,IAAU0D,SACZ1D,EAAQ,GAENC,IAAQyD,SACVzD,EAAMoH,EAASA,EAAOtI,OAAS,GAE7BuI,IAAc5D,SAChB4D,EAAY,GAEVC,IAAY7D,SACd6D,EAAU,KAAKxI,QAGbiB,EAAQ,GAAKC,EAAMoH,EAAOtI,QAAUuI,EAAY,GAAKC,EAAU,KAAKxI,OACtE,MAAM,IAAIkD,WAAW,oBAAoB,EAG3C,GAAIqF,GAAaC,GAAWvH,GAASC,EACnC,MAAO,GAET,GAAIqH,GAAaC,EACf,MAAO,GAET,GAAIvH,GAASC,EACX,MAAO,GAQT,GALAD,KAAW,EACXC,KAAS,EACTqH,KAAe,EACfC,KAAa,EAET,OAASF,EAAQ,MAAO,GAE5B,IAAIrC,EAAIuC,EAAUD,EACdrC,EAAIhF,EAAMD,EACd,MAAMlB,GAAMoG,KAAKC,IAAIH,EAAGC,CAAC,EAEnBuC,GAAW,KAAKvD,MAAMqD,EAAWC,CAAO,EACxCE,GAAaJ,EAAOpD,MAAMjE,EAAOC,CAAG,EAE1C,QAASpB,GAAI,EAAGA,GAAIC,GAAK,EAAED,GACzB,GAAI2I,GAAS3I,EAAC,IAAM4I,GAAW5I,EAAC,EAAG,CACjCmG,EAAIwC,GAAS3I,EAAC,EACdoG,EAAIwC,GAAW5I,EAAC,EAChB,KACF,CAGF,OAAImG,EAAIC,EAAU,GACdA,EAAID,EAAU,EACX,CACT,EAWA,SAAS0C,GAAsB5F,EAAQ6F,EAAK5F,EAAY0B,EAAUmE,EAAK,CAErE,GAAI9F,EAAO/C,SAAW,EAAG,MAAO,GAmBhC,GAhBI,OAAOgD,GAAe,UACxB0B,EAAW1B,EACXA,EAAa,GACJA,EAAa,WACtBA,EAAa,WACJA,EAAa,cACtBA,EAAa,aAEfA,EAAa,CAACA,EACVwC,GAAYxC,CAAU,IAExBA,EAAa6F,EAAM,EAAK9F,EAAO/C,OAAS,GAItCgD,EAAa,IAAGA,EAAaD,EAAO/C,OAASgD,GAC7CA,GAAcD,EAAO/C,OAAQ,CAC/B,GAAI6I,EAAK,MAAO,GACX7F,EAAaD,EAAO/C,OAAS,CACpC,SAAWgD,EAAa,EACtB,GAAI6F,EAAK7F,EAAa,MACjB,OAAO,GASd,GALI,OAAO4F,GAAQ,WACjBA,EAAM7G,EAAOyB,KAAKoF,EAAKlE,CAAQ,GAI7B3C,EAAOe,SAAS8F,CAAG,EAErB,OAAIA,EAAI5I,SAAW,EACV,GAEF8I,GAAa/F,EAAQ6F,EAAK5F,EAAY0B,EAAUmE,CAAG,EACrD,GAAI,OAAOD,GAAQ,SAExB,OADAA,EAAMA,EAAM,IACR,OAAOjJ,WAAW+C,UAAUpC,SAAY,WACtCuI,EACKlJ,WAAW+C,UAAUpC,QAAQqG,KAAK5D,EAAQ6F,EAAK5F,CAAU,EAEzDrD,WAAW+C,UAAUqG,YAAYpC,KAAK5D,EAAQ6F,EAAK5F,CAAU,EAGjE8F,GAAa/F,EAAQ,CAAC6F,CAAG,EAAG5F,EAAY0B,EAAUmE,CAAG,EAG9D,MAAM,IAAIvF,UAAU,sCAAsC,CAC5D,CAEA,SAASwF,GAAcnI,EAAKiI,EAAK5F,EAAY0B,EAAUmE,EAAK,CAC1D,IAAIG,EAAY,EACZC,EAAYtI,EAAIX,OAChBkJ,EAAYN,EAAI5I,OAEpB,GAAI0E,IAAaC,SACfD,EAAW2B,OAAO3B,CAAQ,EAAE4B,YAAY,EACpC5B,IAAa,QAAUA,IAAa,SACpCA,IAAa,WAAaA,IAAa,YAAY,CACrD,GAAI/D,EAAIX,OAAS,GAAK4I,EAAI5I,OAAS,EACjC,MAAO,GAETgJ,EAAY,EACZC,GAAa,EACbC,GAAa,EACblG,GAAc,CAChB,CAGF,SAASmG,GAAMhG,GAAKrD,GAAG,CACrB,OAAIkJ,IAAc,EACT7F,GAAIrD,EAAC,EAELqD,GAAIiG,aAAatJ,GAAIkJ,CAAS,CAEzC,CAEA,IAAIlJ,GACJ,GAAI+I,EAAK,CACP,IAAIQ,GAAa,GACjB,IAAKvJ,GAAIkD,EAAYlD,GAAImJ,EAAWnJ,KAClC,GAAIqJ,GAAKxI,EAAKb,EAAC,IAAMqJ,GAAKP,EAAKS,KAAe,GAAK,EAAIvJ,GAAIuJ,EAAU,GAEnE,GADIA,KAAe,KAAIA,GAAavJ,IAChCA,GAAIuJ,GAAa,IAAMH,EAAW,OAAOG,GAAaL,OAEtDK,KAAe,KAAIvJ,IAAKA,GAAIuJ,IAChCA,GAAa,EAGnB,KAEE,KADIrG,EAAakG,EAAYD,IAAWjG,EAAaiG,EAAYC,GAC5DpJ,GAAIkD,EAAYlD,IAAK,EAAGA,KAAK,CAChC,IAAIwJ,GAAQ,GACZ,QAASC,GAAI,EAAGA,GAAIL,EAAWK,KAC7B,GAAIJ,GAAKxI,EAAKb,GAAIyJ,EAAC,IAAMJ,GAAKP,EAAKW,EAAC,EAAG,CACrCD,GAAQ,GACR,KACF,CAEF,GAAIA,GAAO,OAAOxJ,EACpB,CAGF,MAAO,EACT,CAEAiC,EAAOW,UAAU8G,SAAW,SAAmBZ,EAAK5F,EAAY0B,EAAU,CACxE,OAAO,KAAKpE,QAAQsI,EAAK5F,EAAY0B,CAAQ,IAAM,EACrD,EAEA3C,EAAOW,UAAUpC,QAAU,SAAkBsI,EAAK5F,EAAY0B,EAAU,CACtE,OAAOiE,GAAqB,KAAMC,EAAK5F,EAAY0B,EAAU,EAAI,CACnE,EAEA3C,EAAOW,UAAUqG,YAAc,SAAsBH,EAAK5F,EAAY0B,EAAU,CAC9E,OAAOiE,GAAqB,KAAMC,EAAK5F,EAAY0B,EAAU,EAAK,CACpE,EAEA,SAAS+E,EAAUtG,EAAK2B,EAAQkB,EAAQhG,EAAQ,CAC9CgG,EAAS0D,OAAO1D,CAAM,GAAK,EAC3B,MAAM2D,EAAYxG,EAAInD,OAASgG,EAC1BhG,GAGHA,EAAS0J,OAAO1J,CAAM,EAClBA,EAAS2J,IACX3J,EAAS2J,IAJX3J,EAAS2J,EAQX,MAAMC,EAAS9E,EAAO9E,OAElBA,EAAS4J,EAAS,IACpB5J,EAAS4J,EAAS,GAEpB,IAAI9J,EACJ,IAAKA,EAAI,EAAGA,EAAIE,EAAQ,EAAEF,EAAG,CAC3B,MAAM+J,EAASC,SAAShF,EAAOiF,OAAOjK,EAAI,EAAG,CAAC,EAAG,EAAE,EACnD,GAAI0F,GAAYqE,CAAM,EAAG,OAAO/J,EAChCqD,EAAI6C,EAASlG,CAAC,EAAI+J,CACpB,CACA,OAAO/J,CACT,CAEA,SAASkK,GAAW7G,EAAK2B,EAAQkB,EAAQhG,EAAQ,CAC/C,OAAOiK,GAAWlD,GAAYjC,EAAQ3B,EAAInD,OAASgG,CAAM,EAAG7C,EAAK6C,EAAQhG,CAAM,CACjF,CAEA,SAASkK,GAAY/G,EAAK2B,EAAQkB,EAAQhG,EAAQ,CAChD,OAAOiK,GAAWE,GAAarF,CAAM,EAAG3B,EAAK6C,EAAQhG,CAAM,CAC7D,CAEA,SAASoK,GAAajH,EAAK2B,EAAQkB,EAAQhG,EAAQ,CACjD,OAAOiK,GAAWjD,GAAclC,CAAM,EAAG3B,EAAK6C,EAAQhG,CAAM,CAC9D,CAEA,SAASqK,GAAWlH,EAAK2B,EAAQkB,EAAQhG,EAAQ,CAC/C,OAAOiK,GAAWK,GAAexF,EAAQ3B,EAAInD,OAASgG,CAAM,EAAG7C,EAAK6C,EAAQhG,CAAM,CACpF,CAEA+B,EAAOW,UAAUuC,MAAQ,SAAgBH,EAAQkB,EAAQhG,EAAQ0E,EAAU,CAEzE,GAAIsB,IAAWrB,OACbD,EAAW,OACX1E,EAAS,KAAKA,OACdgG,EAAS,UAEAhG,IAAW2E,QAAa,OAAOqB,GAAW,SACnDtB,EAAWsB,EACXhG,EAAS,KAAKA,OACdgG,EAAS,UAEAuE,SAASvE,CAAM,EACxBA,EAASA,IAAW,EAChBuE,SAASvK,CAAM,GACjBA,EAASA,IAAW,EAChB0E,IAAaC,SAAWD,EAAW,UAEvCA,EAAW1E,EACXA,EAAS2E,YAGX,OAAM,IAAIvE,MACR,yEACF,EAGF,MAAMuJ,EAAY,KAAK3J,OAASgG,EAGhC,IAFIhG,IAAW2E,QAAa3E,EAAS2J,KAAW3J,EAAS2J,GAEpD7E,EAAO9E,OAAS,IAAMA,EAAS,GAAKgG,EAAS,IAAOA,EAAS,KAAKhG,OACrE,MAAM,IAAIkD,WAAW,wCAAwC,EAG1DwB,IAAUA,EAAW,QAE1B,IAAIoC,EAAc,GAClB,OACE,OAAQpC,EAAU,CAChB,IAAK,MACH,OAAO+E,EAAS,KAAM3E,EAAQkB,EAAQhG,CAAM,EAE9C,IAAK,OACL,IAAK,QACH,OAAOgK,GAAU,KAAMlF,EAAQkB,EAAQhG,CAAM,EAE/C,IAAK,QACL,IAAK,SACL,IAAK,SACH,OAAOkK,GAAW,KAAMpF,EAAQkB,EAAQhG,CAAM,EAEhD,IAAK,SAEH,OAAOoK,GAAY,KAAMtF,EAAQkB,EAAQhG,CAAM,EAEjD,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAOqK,GAAU,KAAMvF,EAAQkB,EAAQhG,CAAM,EAE/C,QACE,GAAI8G,EAAa,MAAM,IAAIxD,UAAU,qBAAuBoB,CAAQ,EACpEA,GAAY,GAAKA,GAAU4B,YAAY,EACvCQ,EAAc,EAClB,CAEJ,EAEA/E,EAAOW,UAAU8H,OAAS,UAAmB,CAC3C,MAAO,CACL/E,KAAM,SACNE,KAAM/F,MAAM8C,UAAUwC,MAAMyB,KAAK,KAAK8D,MAAQ,KAAM,CAAC,CACvD,CACF,EAEA,SAASnD,GAAanE,EAAKlC,EAAOC,EAAK,CACrC,OAAID,IAAU,GAAKC,IAAQiC,EAAInD,OACtB0B,GAAOnC,cAAc4D,CAAG,EAExBzB,GAAOnC,cAAc4D,EAAI+B,MAAMjE,EAAOC,CAAG,CAAC,CAErD,CAEA,SAASiG,GAAWhE,EAAKlC,EAAOC,EAAK,CACnCA,EAAMiF,KAAKC,IAAIjD,EAAInD,OAAQkB,CAAG,EAC9B,MAAMwJ,EAAM,CAAC,EAEb,IAAI5K,EAAImB,EACR,KAAOnB,EAAIoB,GAAK,CACd,MAAMyJ,EAAYxH,EAAIrD,CAAC,EACvB,IAAI8K,EAAY,KACZC,EAAoBF,EAAY,IAChC,EACCA,EAAY,IACT,EACCA,EAAY,IACT,EACA,EAEZ,GAAI7K,EAAI+K,GAAoB3J,EAAK,CAC/B,IAAI4J,GAAYC,GAAWC,GAAYC,GAEvC,OAAQJ,EAAkB,CACxB,IAAK,GACCF,EAAY,MACdC,EAAYD,GAEd,MACF,IAAK,GACHG,GAAa3H,EAAIrD,EAAI,CAAC,GACjBgL,GAAa,OAAU,MAC1BG,IAAiBN,EAAY,KAAS,EAAOG,GAAa,GACtDG,GAAgB,MAClBL,EAAYK,KAGhB,MACF,IAAK,GACHH,GAAa3H,EAAIrD,EAAI,CAAC,EACtBiL,GAAY5H,EAAIrD,EAAI,CAAC,GAChBgL,GAAa,OAAU,MAASC,GAAY,OAAU,MACzDE,IAAiBN,EAAY,KAAQ,IAAOG,GAAa,KAAS,EAAOC,GAAY,GACjFE,GAAgB,OAAUA,GAAgB,OAAUA,GAAgB,SACtEL,EAAYK,KAGhB,MACF,IAAK,GACHH,GAAa3H,EAAIrD,EAAI,CAAC,EACtBiL,GAAY5H,EAAIrD,EAAI,CAAC,EACrBkL,GAAa7H,EAAIrD,EAAI,CAAC,GACjBgL,GAAa,OAAU,MAASC,GAAY,OAAU,MAASC,GAAa,OAAU,MACzFC,IAAiBN,EAAY,KAAQ,IAAQG,GAAa,KAAS,IAAOC,GAAY,KAAS,EAAOC,GAAa,GAC/GC,GAAgB,OAAUA,GAAgB,UAC5CL,EAAYK,IAGpB,CACF,CAEIL,IAAc,MAGhBA,EAAY,MACZC,EAAmB,GACVD,EAAY,QAErBA,GAAa,MACbF,EAAItJ,KAAKwJ,IAAc,GAAK,KAAQ,KAAM,EAC1CA,EAAY,MAASA,EAAY,MAGnCF,EAAItJ,KAAKwJ,CAAS,EAClB9K,GAAK+K,CACP,CAEA,OAAOK,GAAsBR,CAAG,CAClC,CAKA,MAAMS,GAAuB,KAE7B,SAASD,GAAuBE,EAAY,CAC1C,MAAMrL,EAAMqL,EAAWpL,OACvB,GAAID,GAAOoL,GACT,OAAO9E,OAAOgF,aAAavD,MAAMzB,OAAQ+E,CAAU,EAIrD,IAAIV,EAAM,GACN5K,EAAI,EACR,KAAOA,EAAIC,GACT2K,GAAOrE,OAAOgF,aAAavD,MACzBzB,OACA+E,EAAWlG,MAAMpF,EAAGA,GAAKqL,EAAoB,CAC/C,EAEF,OAAOT,CACT,CAEA,SAAStD,GAAYjE,EAAKlC,EAAOC,EAAK,CACpC,IAAIoK,EAAM,GACVpK,EAAMiF,KAAKC,IAAIjD,EAAInD,OAAQkB,CAAG,EAE9B,QAASpB,EAAImB,EAAOnB,EAAIoB,EAAK,EAAEpB,EAC7BwL,GAAOjF,OAAOgF,aAAalI,EAAIrD,CAAC,EAAI,GAAI,EAE1C,OAAOwL,CACT,CAEA,SAASjE,GAAalE,EAAKlC,EAAOC,EAAK,CACrC,IAAIoK,EAAM,GACVpK,EAAMiF,KAAKC,IAAIjD,EAAInD,OAAQkB,CAAG,EAE9B,QAASpB,EAAImB,EAAOnB,EAAIoB,EAAK,EAAEpB,EAC7BwL,GAAOjF,OAAOgF,aAAalI,EAAIrD,CAAC,CAAC,EAEnC,OAAOwL,CACT,CAEA,SAASpE,GAAU/D,EAAKlC,EAAOC,EAAK,CAClC,MAAMnB,EAAMoD,EAAInD,QAEZ,CAACiB,GAASA,EAAQ,KAAGA,EAAQ,IAC7B,CAACC,GAAOA,EAAM,GAAKA,EAAMnB,KAAKmB,EAAMnB,GAExC,IAAIwL,EAAM,GACV,QAASzL,EAAImB,EAAOnB,EAAIoB,EAAK,EAAEpB,EAC7ByL,GAAOC,GAAoBrI,EAAIrD,CAAC,CAAC,EAEnC,OAAOyL,CACT,CAEA,SAAShE,GAAcpE,EAAKlC,EAAOC,EAAK,CACtC,MAAMuK,EAAQtI,EAAI+B,MAAMjE,EAAOC,CAAG,EAClC,IAAIwJ,EAAM,GAEV,QAAS5K,EAAI,EAAGA,EAAI2L,EAAMzL,OAAS,EAAGF,GAAK,EACzC4K,GAAOrE,OAAOgF,aAAaI,EAAM3L,CAAC,EAAK2L,EAAM3L,EAAI,CAAC,EAAI,GAAI,EAE5D,OAAO4K,CACT,CAEA3I,EAAOW,UAAUwC,MAAQ,SAAgBjE,EAAOC,EAAK,CACnD,MAAMnB,EAAM,KAAKC,OACjBiB,EAAQ,CAAC,CAACA,EACVC,EAAMA,IAAQyD,OAAY5E,EAAM,CAAC,CAACmB,EAE9BD,EAAQ,GACVA,GAASlB,EACLkB,EAAQ,IAAGA,EAAQ,IACdA,EAAQlB,IACjBkB,EAAQlB,GAGNmB,EAAM,GACRA,GAAOnB,EACHmB,EAAM,IAAGA,EAAM,IACVA,EAAMnB,IACfmB,EAAMnB,GAGJmB,EAAMD,IAAOC,EAAMD,GAEvB,MAAMyK,EAAS,KAAKC,SAAS1K,EAAOC,CAAG,EAEvCsB,cAAOC,eAAeiJ,EAAQ3J,EAAOW,SAAS,EAEvCgJ,CACT,EAKA,SAASE,GAAa5F,EAAQ6F,EAAK7L,EAAQ,CACzC,GAAKgG,EAAS,IAAO,GAAKA,EAAS,EAAG,MAAM,IAAI9C,WAAW,oBAAoB,EAC/E,GAAI8C,EAAS6F,EAAM7L,EAAQ,MAAM,IAAIkD,WAAW,uCAAuC,CACzF,CAEAnB,EAAOW,UAAUoJ,WACjB/J,EAAOW,UAAUqJ,WAAa,SAAqB/F,EAAQ3G,EAAY2M,EAAU,CAC/EhG,EAASA,IAAW,EACpB3G,EAAaA,IAAe,EACvB2M,GAAUJ,GAAY5F,EAAQ3G,EAAY,KAAKW,MAAM,EAE1D,IAAI4I,EAAM,KAAK5C,CAAM,EACjBiG,EAAM,EACNnM,EAAI,EACR,KAAO,EAAEA,EAAIT,IAAe4M,GAAO,MACjCrD,GAAO,KAAK5C,EAASlG,CAAC,EAAImM,EAG5B,OAAOrD,CACT,EAEA7G,EAAOW,UAAUwJ,WACjBnK,EAAOW,UAAUyJ,WAAa,SAAqBnG,EAAQ3G,EAAY2M,EAAU,CAC/EhG,EAASA,IAAW,EACpB3G,EAAaA,IAAe,EACvB2M,GACHJ,GAAY5F,EAAQ3G,EAAY,KAAKW,MAAM,EAG7C,IAAI4I,EAAM,KAAK5C,EAAS,EAAE3G,CAAU,EAChC4M,EAAM,EACV,KAAO5M,EAAa,IAAM4M,GAAO,MAC/BrD,GAAO,KAAK5C,EAAS,EAAE3G,CAAU,EAAI4M,EAGvC,OAAOrD,CACT,EAEA7G,EAAOW,UAAU0J,UACjBrK,EAAOW,UAAU2J,UAAY,SAAoBrG,EAAQgG,EAAU,CACjEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAC1C,KAAKgG,CAAM,CACpB,EAEAjE,EAAOW,UAAU4J,aACjBvK,EAAOW,UAAU6J,aAAe,SAAuBvG,EAAQgG,EAAU,CACvEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAC1C,KAAKgG,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,CAC7C,EAEAjE,EAAOW,UAAU8J,aACjBzK,EAAOW,UAAU0G,aAAe,SAAuBpD,EAAQgG,EAAU,CACvEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EACzC,KAAKgG,CAAM,GAAK,EAAK,KAAKA,EAAS,CAAC,CAC9C,EAEAjE,EAAOW,UAAU+J,aACjB1K,EAAOW,UAAUgK,aAAe,SAAuB1G,EAAQgG,EAAU,CACvEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,GAExC,KAAKgG,CAAM,EACf,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,IACpB,KAAKA,EAAS,CAAC,EAAI,QAC1B,EAEAjE,EAAOW,UAAUiK,aACjB5K,EAAOW,UAAUkK,aAAe,SAAuB5G,EAAQgG,EAAU,CACvEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAEzC,KAAKgG,CAAM,EAAI,UACnB,KAAKA,EAAS,CAAC,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,EACrB,KAAKA,EAAS,CAAC,EACnB,EAEAjE,EAAOW,UAAUmK,gBAAkBC,GAAmB,SAA0B9G,EAAQ,CACtFA,EAASA,IAAW,EACpB+G,GAAe/G,EAAQ,QAAQ,EAC/B,MAAMgH,EAAQ,KAAKhH,CAAM,EACnBiH,EAAO,KAAKjH,EAAS,CAAC,GACxBgH,IAAUrI,QAAasI,IAAStI,SAClCuI,GAAYlH,EAAQ,KAAKhG,OAAS,CAAC,EAGrC,MAAMmN,EAAKH,EACT,KAAK,EAAEhH,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GAElBoH,EAAK,KAAK,EAAEpH,CAAM,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtBiH,EAAO,GAAK,GAEd,OAAOI,OAAOF,CAAE,GAAKE,OAAOD,CAAE,GAAKC,OAAO,EAAE,EAC9C,CAAC,EAEDtL,EAAOW,UAAU4K,gBAAkBR,GAAmB,SAA0B9G,EAAQ,CACtFA,EAASA,IAAW,EACpB+G,GAAe/G,EAAQ,QAAQ,EAC/B,MAAMgH,EAAQ,KAAKhH,CAAM,EACnBiH,EAAO,KAAKjH,EAAS,CAAC,GACxBgH,IAAUrI,QAAasI,IAAStI,SAClCuI,GAAYlH,EAAQ,KAAKhG,OAAS,CAAC,EAGrC,MAAMoN,EAAKJ,EAAQ,GAAK,GACtB,KAAK,EAAEhH,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAETmH,EAAK,KAAK,EAAEnH,CAAM,EAAI,GAAK,GAC/B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtBiH,EAEF,OAAQI,OAAOD,CAAE,GAAKC,OAAO,EAAE,GAAKA,OAAOF,CAAE,CAC/C,CAAC,EAEDpL,EAAOW,UAAU6K,UAAY,SAAoBvH,EAAQ3G,EAAY2M,EAAU,CAC7EhG,EAASA,IAAW,EACpB3G,EAAaA,IAAe,EACvB2M,GAAUJ,GAAY5F,EAAQ3G,EAAY,KAAKW,MAAM,EAE1D,IAAI4I,EAAM,KAAK5C,CAAM,EACjBiG,EAAM,EACNnM,EAAI,EACR,KAAO,EAAEA,EAAIT,IAAe4M,GAAO,MACjCrD,GAAO,KAAK5C,EAASlG,CAAC,EAAImM,EAE5BA,OAAAA,GAAO,IAEHrD,GAAOqD,IAAKrD,GAAOzC,KAAKqH,IAAI,EAAG,EAAInO,CAAU,GAE1CuJ,CACT,EAEA7G,EAAOW,UAAU+K,UAAY,SAAoBzH,EAAQ3G,EAAY2M,EAAU,CAC7EhG,EAASA,IAAW,EACpB3G,EAAaA,IAAe,EACvB2M,GAAUJ,GAAY5F,EAAQ3G,EAAY,KAAKW,MAAM,EAE1D,IAAIF,EAAIT,EACJ4M,EAAM,EACNrD,EAAM,KAAK5C,EAAS,EAAElG,CAAC,EAC3B,KAAOA,EAAI,IAAMmM,GAAO,MACtBrD,GAAO,KAAK5C,EAAS,EAAElG,CAAC,EAAImM,EAE9BA,OAAAA,GAAO,IAEHrD,GAAOqD,IAAKrD,GAAOzC,KAAKqH,IAAI,EAAG,EAAInO,CAAU,GAE1CuJ,CACT,EAEA7G,EAAOW,UAAUgL,SAAW,SAAmB1H,EAAQgG,EAAU,CAG/D,OAFAhG,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAC3C,KAAKgG,CAAM,EAAI,KACZ,IAAO,KAAKA,CAAM,EAAI,GAAK,GADA,KAAKA,CAAM,CAEjD,EAEAjE,EAAOW,UAAUiL,YAAc,SAAsB3H,EAAQgG,EAAU,CACrEhG,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EACjD,MAAM4I,EAAM,KAAK5C,CAAM,EAAK,KAAKA,EAAS,CAAC,GAAK,EAChD,OAAQ4C,EAAM,MAAUA,EAAM,WAAaA,CAC7C,EAEA7G,EAAOW,UAAUkL,YAAc,SAAsB5H,EAAQgG,EAAU,CACrEhG,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EACjD,MAAM4I,EAAM,KAAK5C,EAAS,CAAC,EAAK,KAAKA,CAAM,GAAK,EAChD,OAAQ4C,EAAM,MAAUA,EAAM,WAAaA,CAC7C,EAEA7G,EAAOW,UAAUmL,YAAc,SAAsB7H,EAAQgG,EAAU,CACrEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAEzC,KAAKgG,CAAM,EAChB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACzB,EAEAjE,EAAOW,UAAUoL,YAAc,SAAsB9H,EAAQgG,EAAU,CACrEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAEzC,KAAKgG,CAAM,GAAK,GACrB,KAAKA,EAAS,CAAC,GAAK,GACpB,KAAKA,EAAS,CAAC,GAAK,EACpB,KAAKA,EAAS,CAAC,CACpB,EAEAjE,EAAOW,UAAUqL,eAAiBjB,GAAmB,SAAyB9G,EAAQ,CACpFA,EAASA,IAAW,EACpB+G,GAAe/G,EAAQ,QAAQ,EAC/B,MAAMgH,EAAQ,KAAKhH,CAAM,EACnBiH,EAAO,KAAKjH,EAAS,CAAC,GACxBgH,IAAUrI,QAAasI,IAAStI,SAClCuI,GAAYlH,EAAQ,KAAKhG,OAAS,CAAC,EAGrC,MAAM4I,EAAM,KAAK5C,EAAS,CAAC,EACzB,KAAKA,EAAS,CAAC,EAAI,GAAK,EACxB,KAAKA,EAAS,CAAC,EAAI,GAAK,IACvBiH,GAAQ,IAEX,OAAQI,OAAOzE,CAAG,GAAKyE,OAAO,EAAE,GAC9BA,OAAOL,EACP,KAAK,EAAEhH,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EAAE,CAC5B,CAAC,EAEDjE,EAAOW,UAAUsL,eAAiBlB,GAAmB,SAAyB9G,EAAQ,CACpFA,EAASA,IAAW,EACpB+G,GAAe/G,EAAQ,QAAQ,EAC/B,MAAMgH,EAAQ,KAAKhH,CAAM,EACnBiH,EAAO,KAAKjH,EAAS,CAAC,GACxBgH,IAAUrI,QAAasI,IAAStI,SAClCuI,GAAYlH,EAAQ,KAAKhG,OAAS,CAAC,EAGrC,MAAM4I,GAAOoE,GAAS,IACpB,KAAK,EAAEhH,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtB,KAAK,EAAEA,CAAM,EAEf,OAAQqH,OAAOzE,CAAG,GAAKyE,OAAO,EAAE,GAC9BA,OAAO,KAAK,EAAErH,CAAM,EAAI,GAAK,GAC7B,KAAK,EAAEA,CAAM,EAAI,GAAK,GACtB,KAAK,EAAEA,CAAM,EAAI,GAAK,EACtBiH,CAAI,CACR,CAAC,EAEDlL,EAAOW,UAAUuL,YAAc,SAAsBjI,EAAQgG,EAAU,CACrEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAC1C4B,GAAQuH,KAAK,KAAMnD,EAAQ,GAAM,GAAI,CAAC,CAC/C,EAEAjE,EAAOW,UAAUwL,YAAc,SAAsBlI,EAAQgG,EAAU,CACrEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAC1C4B,GAAQuH,KAAK,KAAMnD,EAAQ,GAAO,GAAI,CAAC,CAChD,EAEAjE,EAAOW,UAAUyL,aAAe,SAAuBnI,EAAQgG,EAAU,CACvEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAC1C4B,GAAQuH,KAAK,KAAMnD,EAAQ,GAAM,GAAI,CAAC,CAC/C,EAEAjE,EAAOW,UAAU0L,aAAe,SAAuBpI,EAAQgG,EAAU,CACvEhG,OAAAA,EAASA,IAAW,EACfgG,GAAUJ,GAAY5F,EAAQ,EAAG,KAAKhG,MAAM,EAC1C4B,GAAQuH,KAAK,KAAMnD,EAAQ,GAAO,GAAI,CAAC,CAChD,EAEA,SAASqI,EAAUlL,EAAKO,EAAOsC,EAAQ6F,EAAK1D,EAAK/B,EAAK,CACpD,GAAI,CAACrE,EAAOe,SAASK,CAAG,EAAG,MAAM,IAAIG,UAAU,6CAA6C,EAC5F,GAAII,EAAQyE,GAAOzE,EAAQ0C,EAAK,MAAM,IAAIlD,WAAW,mCAAmC,EACxF,GAAI8C,EAAS6F,EAAM1I,EAAInD,OAAQ,MAAM,IAAIkD,WAAW,oBAAoB,CAC1E,CAEAnB,EAAOW,UAAU4L,YACjBvM,EAAOW,UAAU6L,YAAc,SAAsB7K,EAAOsC,EAAQ3G,EAAY2M,EAAU,CAIxF,GAHAtI,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACpB3G,EAAaA,IAAe,EACxB,CAAC2M,EAAU,CACb,MAAMwC,EAAWrI,KAAKqH,IAAI,EAAG,EAAInO,CAAU,EAAI,EAC/CgP,EAAS,KAAM3K,EAAOsC,EAAQ3G,EAAYmP,EAAU,CAAC,CACvD,CAEA,IAAIvC,EAAM,EACNnM,EAAI,EAER,IADA,KAAKkG,CAAM,EAAItC,EAAQ,IAChB,EAAE5D,EAAIT,IAAe4M,GAAO,MACjC,KAAKjG,EAASlG,CAAC,EAAK4D,EAAQuI,EAAO,IAGrC,OAAOjG,EAAS3G,CAClB,EAEA0C,EAAOW,UAAU+L,YACjB1M,EAAOW,UAAUgM,YAAc,SAAsBhL,EAAOsC,EAAQ3G,EAAY2M,EAAU,CAIxF,GAHAtI,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACpB3G,EAAaA,IAAe,EACxB,CAAC2M,EAAU,CACb,MAAMwC,EAAWrI,KAAKqH,IAAI,EAAG,EAAInO,CAAU,EAAI,EAC/CgP,EAAS,KAAM3K,EAAOsC,EAAQ3G,EAAYmP,EAAU,CAAC,CACvD,CAEA,IAAI1O,EAAIT,EAAa,EACjB4M,EAAM,EAEV,IADA,KAAKjG,EAASlG,CAAC,EAAI4D,EAAQ,IACpB,EAAE5D,GAAK,IAAMmM,GAAO,MACzB,KAAKjG,EAASlG,CAAC,EAAK4D,EAAQuI,EAAO,IAGrC,OAAOjG,EAAS3G,CAClB,EAEA0C,EAAOW,UAAUiM,WACjB5M,EAAOW,UAAUkM,WAAa,SAAqBlL,EAAOsC,EAAQgG,EAAU,CAC1EtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,IAAM,CAAC,EACvD,KAAKA,CAAM,EAAKtC,EAAQ,IACjBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUmM,cACjB9M,EAAOW,UAAUoM,cAAgB,SAAwBpL,EAAOsC,EAAQgG,EAAU,CAChFtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAKtC,EAAQ,IACxB,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,EACvBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUqM,cACjBhN,EAAOW,UAAUsM,cAAgB,SAAwBtL,EAAOsC,EAAQgG,EAAU,CAChFtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,MAAQ,CAAC,EACzD,KAAKA,CAAM,EAAKtC,IAAU,EAC1B,KAAKsC,EAAS,CAAC,EAAKtC,EAAQ,IACrBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUuM,cACjBlN,EAAOW,UAAUwM,cAAgB,SAAwBxL,EAAOsC,EAAQgG,EAAU,CAChFtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,EAAS,CAAC,EAAKtC,IAAU,GAC9B,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,GAC9B,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,EAC9B,KAAKsC,CAAM,EAAKtC,EAAQ,IACjBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUyM,cACjBpN,EAAOW,UAAU0M,cAAgB,SAAwB1L,EAAOsC,EAAQgG,EAAU,CAChFtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,WAAY,CAAC,EAC7D,KAAKA,CAAM,EAAKtC,IAAU,GAC1B,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,GAC9B,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,EAC9B,KAAKsC,EAAS,CAAC,EAAKtC,EAAQ,IACrBsC,EAAS,CAClB,EAEA,SAASqJ,GAAgBlM,EAAKO,EAAOsC,EAAQI,EAAK+B,EAAK,CACrDmH,GAAW5L,EAAO0C,EAAK+B,EAAKhF,EAAK6C,EAAQ,CAAC,EAE1C,IAAImH,EAAKzD,OAAOhG,EAAQ2J,OAAO,UAAU,CAAC,EAC1ClK,EAAI6C,GAAQ,EAAImH,EAChBA,EAAKA,GAAM,EACXhK,EAAI6C,GAAQ,EAAImH,EAChBA,EAAKA,GAAM,EACXhK,EAAI6C,GAAQ,EAAImH,EAChBA,EAAKA,GAAM,EACXhK,EAAI6C,GAAQ,EAAImH,EAChB,IAAIC,EAAK1D,OAAOhG,GAAS2J,OAAO,EAAE,EAAIA,OAAO,UAAU,CAAC,EACxDlK,OAAAA,EAAI6C,GAAQ,EAAIoH,EAChBA,EAAKA,GAAM,EACXjK,EAAI6C,GAAQ,EAAIoH,EAChBA,EAAKA,GAAM,EACXjK,EAAI6C,GAAQ,EAAIoH,EAChBA,EAAKA,GAAM,EACXjK,EAAI6C,GAAQ,EAAIoH,EACTpH,CACT,CAEA,SAASuJ,GAAgBpM,EAAKO,EAAOsC,EAAQI,EAAK+B,EAAK,CACrDmH,GAAW5L,EAAO0C,EAAK+B,EAAKhF,EAAK6C,EAAQ,CAAC,EAE1C,IAAImH,EAAKzD,OAAOhG,EAAQ2J,OAAO,UAAU,CAAC,EAC1ClK,EAAI6C,EAAS,CAAC,EAAImH,EAClBA,EAAKA,GAAM,EACXhK,EAAI6C,EAAS,CAAC,EAAImH,EAClBA,EAAKA,GAAM,EACXhK,EAAI6C,EAAS,CAAC,EAAImH,EAClBA,EAAKA,GAAM,EACXhK,EAAI6C,EAAS,CAAC,EAAImH,EAClB,IAAIC,EAAK1D,OAAOhG,GAAS2J,OAAO,EAAE,EAAIA,OAAO,UAAU,CAAC,EACxDlK,OAAAA,EAAI6C,EAAS,CAAC,EAAIoH,EAClBA,EAAKA,GAAM,EACXjK,EAAI6C,EAAS,CAAC,EAAIoH,EAClBA,EAAKA,GAAM,EACXjK,EAAI6C,EAAS,CAAC,EAAIoH,EAClBA,EAAKA,GAAM,EACXjK,EAAI6C,CAAM,EAAIoH,EACPpH,EAAS,CAClB,CAEAjE,EAAOW,UAAU8M,iBAAmB1C,GAAmB,SAA2BpJ,EAAOsC,EAAS,EAAG,CACnG,OAAOqJ,GAAe,KAAM3L,EAAOsC,EAAQqH,OAAO,CAAC,EAAGA,OAAO,oBAAoB,CAAC,CACpF,CAAC,EAEDtL,EAAOW,UAAU+M,iBAAmB3C,GAAmB,SAA2BpJ,EAAOsC,EAAS,EAAG,CACnG,OAAOuJ,GAAe,KAAM7L,EAAOsC,EAAQqH,OAAO,CAAC,EAAGA,OAAO,oBAAoB,CAAC,CACpF,CAAC,EAEDtL,EAAOW,UAAUgN,WAAa,SAAqBhM,EAAOsC,EAAQ3G,EAAY2M,EAAU,CAGtF,GAFAtI,EAAQ,CAACA,EACTsC,EAASA,IAAW,EAChB,CAACgG,EAAU,CACb,MAAM2D,GAAQxJ,KAAKqH,IAAI,EAAI,EAAInO,EAAc,CAAC,EAE9CgP,EAAS,KAAM3K,EAAOsC,EAAQ3G,EAAYsQ,GAAQ,EAAG,CAACA,EAAK,CAC7D,CAEA,IAAI7P,EAAI,EACJmM,EAAM,EACN2D,EAAM,EAEV,IADA,KAAK5J,CAAM,EAAItC,EAAQ,IAChB,EAAE5D,EAAIT,IAAe4M,GAAO,MAC7BvI,EAAQ,GAAKkM,IAAQ,GAAK,KAAK5J,EAASlG,EAAI,CAAC,IAAM,IACrD8P,EAAM,GAER,KAAK5J,EAASlG,CAAC,GAAM4D,EAAQuI,GAAQ,GAAK2D,EAAM,IAGlD,OAAO5J,EAAS3G,CAClB,EAEA0C,EAAOW,UAAUmN,WAAa,SAAqBnM,EAAOsC,EAAQ3G,EAAY2M,EAAU,CAGtF,GAFAtI,EAAQ,CAACA,EACTsC,EAASA,IAAW,EAChB,CAACgG,EAAU,CACb,MAAM2D,GAAQxJ,KAAKqH,IAAI,EAAI,EAAInO,EAAc,CAAC,EAE9CgP,EAAS,KAAM3K,EAAOsC,EAAQ3G,EAAYsQ,GAAQ,EAAG,CAACA,EAAK,CAC7D,CAEA,IAAI7P,EAAIT,EAAa,EACjB4M,EAAM,EACN2D,EAAM,EAEV,IADA,KAAK5J,EAASlG,CAAC,EAAI4D,EAAQ,IACpB,EAAE5D,GAAK,IAAMmM,GAAO,MACrBvI,EAAQ,GAAKkM,IAAQ,GAAK,KAAK5J,EAASlG,EAAI,CAAC,IAAM,IACrD8P,EAAM,GAER,KAAK5J,EAASlG,CAAC,GAAM4D,EAAQuI,GAAQ,GAAK2D,EAAM,IAGlD,OAAO5J,EAAS3G,CAClB,EAEA0C,EAAOW,UAAUoN,UAAY,SAAoBpM,EAAOsC,EAAQgG,EAAU,CACxEtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,IAAM,IAAK,EACvDtC,EAAQ,IAAGA,EAAQ,IAAOA,EAAQ,GACtC,KAAKsC,CAAM,EAAKtC,EAAQ,IACjBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUqN,aAAe,SAAuBrM,EAAOsC,EAAQgG,EAAU,CAC9EtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAKtC,EAAQ,IACxB,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,EACvBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUsN,aAAe,SAAuBtM,EAAOsC,EAAQgG,EAAU,CAC9EtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,MAAQ,MAAO,EAC/D,KAAKA,CAAM,EAAKtC,IAAU,EAC1B,KAAKsC,EAAS,CAAC,EAAKtC,EAAQ,IACrBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUuN,aAAe,SAAuBvM,EAAOsC,EAAQgG,EAAU,CAC9EtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,WAAY,WAAW,EACvE,KAAKA,CAAM,EAAKtC,EAAQ,IACxB,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,EAC9B,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,GAC9B,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,GACvBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUwN,aAAe,SAAuBxM,EAAOsC,EAAQgG,EAAU,CAC9EtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GAAUqC,EAAS,KAAM3K,EAAOsC,EAAQ,EAAG,WAAY,WAAW,EACnEtC,EAAQ,IAAGA,EAAQ,WAAaA,EAAQ,GAC5C,KAAKsC,CAAM,EAAKtC,IAAU,GAC1B,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,GAC9B,KAAKsC,EAAS,CAAC,EAAKtC,IAAU,EAC9B,KAAKsC,EAAS,CAAC,EAAKtC,EAAQ,IACrBsC,EAAS,CAClB,EAEAjE,EAAOW,UAAUyN,gBAAkBrD,GAAmB,SAA0BpJ,EAAOsC,EAAS,EAAG,CACjG,OAAOqJ,GAAe,KAAM3L,EAAOsC,EAAQ,CAACqH,OAAO,oBAAoB,EAAGA,OAAO,oBAAoB,CAAC,CACxG,CAAC,EAEDtL,EAAOW,UAAU0N,gBAAkBtD,GAAmB,SAA0BpJ,EAAOsC,EAAS,EAAG,CACjG,OAAOuJ,GAAe,KAAM7L,EAAOsC,EAAQ,CAACqH,OAAO,oBAAoB,EAAGA,OAAO,oBAAoB,CAAC,CACxG,CAAC,EAED,SAASgD,GAAclN,EAAKO,EAAOsC,EAAQ6F,EAAK1D,EAAK/B,EAAK,CACxD,GAAIJ,EAAS6F,EAAM1I,EAAInD,OAAQ,MAAM,IAAIkD,WAAW,oBAAoB,EACxE,GAAI8C,EAAS,EAAG,MAAM,IAAI9C,WAAW,oBAAoB,CAC3D,CAEA,SAASoN,GAAYnN,EAAKO,EAAOsC,EAAQuK,EAAcvE,EAAU,CAC/DtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GACHqE,GAAalN,EAAKO,EAAOsC,EAAQ,EAAG,qBAAwB,qBAAuB,EAErFpE,GAAQqD,MAAM9B,EAAKO,EAAOsC,EAAQuK,EAAc,GAAI,CAAC,EAC9CvK,EAAS,CAClB,CAEAjE,EAAOW,UAAU8N,aAAe,SAAuB9M,EAAOsC,EAAQgG,EAAU,CAC9E,OAAOsE,GAAW,KAAM5M,EAAOsC,EAAQ,GAAMgG,CAAQ,CACvD,EAEAjK,EAAOW,UAAU+N,aAAe,SAAuB/M,EAAOsC,EAAQgG,EAAU,CAC9E,OAAOsE,GAAW,KAAM5M,EAAOsC,EAAQ,GAAOgG,CAAQ,CACxD,EAEA,SAAS0E,GAAavN,EAAKO,EAAOsC,EAAQuK,EAAcvE,EAAU,CAChEtI,OAAAA,EAAQ,CAACA,EACTsC,EAASA,IAAW,EACfgG,GACHqE,GAAalN,EAAKO,EAAOsC,EAAQ,EAAG,sBAAyB,sBAAwB,EAEvFpE,GAAQqD,MAAM9B,EAAKO,EAAOsC,EAAQuK,EAAc,GAAI,CAAC,EAC9CvK,EAAS,CAClB,CAEAjE,EAAOW,UAAUiO,cAAgB,SAAwBjN,EAAOsC,EAAQgG,EAAU,CAChF,OAAO0E,GAAY,KAAMhN,EAAOsC,EAAQ,GAAMgG,CAAQ,CACxD,EAEAjK,EAAOW,UAAUkO,cAAgB,SAAwBlN,EAAOsC,EAAQgG,EAAU,CAChF,OAAO0E,GAAY,KAAMhN,EAAOsC,EAAQ,GAAOgG,CAAQ,CACzD,EAGAjK,EAAOW,UAAU4C,KAAO,SAAegD,EAAQuI,EAAa5P,EAAOC,EAAK,CACtE,GAAI,CAACa,EAAOe,SAASwF,CAAM,EAAG,MAAM,IAAIhF,UAAU,6BAA6B,EAS/E,GARKrC,IAAOA,EAAQ,GAChB,CAACC,GAAOA,IAAQ,IAAGA,EAAM,KAAKlB,QAC9B6Q,GAAevI,EAAOtI,SAAQ6Q,EAAcvI,EAAOtI,QAClD6Q,IAAaA,EAAc,GAC5B3P,EAAM,GAAKA,EAAMD,IAAOC,EAAMD,GAG9BC,IAAQD,GACRqH,EAAOtI,SAAW,GAAK,KAAKA,SAAW,EAAG,MAAO,GAGrD,GAAI6Q,EAAc,EAChB,MAAM,IAAI3N,WAAW,2BAA2B,EAElD,GAAIjC,EAAQ,GAAKA,GAAS,KAAKjB,OAAQ,MAAM,IAAIkD,WAAW,oBAAoB,EAChF,GAAIhC,EAAM,EAAG,MAAM,IAAIgC,WAAW,yBAAyB,EAGvDhC,EAAM,KAAKlB,SAAQkB,EAAM,KAAKlB,QAC9BsI,EAAOtI,OAAS6Q,EAAc3P,EAAMD,IACtCC,EAAMoH,EAAOtI,OAAS6Q,EAAc5P,GAGtC,MAAMlB,EAAMmB,EAAMD,EAElB,OAAI,OAASqH,GAAU,OAAO3I,WAAW+C,UAAUoO,YAAe,WAEhE,KAAKA,WAAWD,EAAa5P,EAAOC,CAAG,EAEvCvB,WAAW+C,UAAUgE,IAAIC,KACvB2B,EACA,KAAKqD,SAAS1K,EAAOC,CAAG,EACxB2P,CACF,EAGK9Q,CACT,EAMAgC,EAAOW,UAAU+B,KAAO,SAAemE,EAAK3H,EAAOC,EAAKwD,EAAU,CAEhE,GAAI,OAAOkE,GAAQ,SAAU,CAS3B,GARI,OAAO3H,GAAU,UACnByD,EAAWzD,EACXA,EAAQ,EACRC,EAAM,KAAKlB,QACF,OAAOkB,GAAQ,WACxBwD,EAAWxD,EACXA,EAAM,KAAKlB,QAET0E,IAAaC,QAAa,OAAOD,GAAa,SAChD,MAAM,IAAIpB,UAAU,2BAA2B,EAEjD,GAAI,OAAOoB,GAAa,UAAY,CAAC3C,EAAOgD,WAAWL,CAAQ,EAC7D,MAAM,IAAIpB,UAAU,qBAAuBoB,CAAQ,EAErD,GAAIkE,EAAI5I,SAAW,EAAG,CACpB,MAAMH,EAAO+I,EAAI3I,WAAW,CAAC,GACxByE,IAAa,QAAU7E,EAAO,KAC/B6E,IAAa,YAEfkE,EAAM/I,EAEV,CACF,MAAW,OAAO+I,GAAQ,SACxBA,EAAMA,EAAM,IACH,OAAOA,GAAQ,YACxBA,EAAMc,OAAOd,CAAG,GAIlB,GAAI3H,EAAQ,GAAK,KAAKjB,OAASiB,GAAS,KAAKjB,OAASkB,EACpD,MAAM,IAAIgC,WAAW,oBAAoB,EAG3C,GAAIhC,GAAOD,EACT,OAAO,KAGTA,EAAQA,IAAU,EAClBC,EAAMA,IAAQyD,OAAY,KAAK3E,OAASkB,IAAQ,EAE3C0H,IAAKA,EAAM,GAEhB,IAAI9I,EACJ,GAAI,OAAO8I,GAAQ,SACjB,IAAK9I,EAAImB,EAAOnB,EAAIoB,EAAK,EAAEpB,EACzB,KAAKA,CAAC,EAAI8I,MAEP,CACL,MAAM6C,EAAQ1J,EAAOe,SAAS8F,CAAG,EAC7BA,EACA7G,EAAOyB,KAAKoF,EAAKlE,CAAQ,EACvB3E,EAAM0L,EAAMzL,OAClB,GAAID,IAAQ,EACV,MAAM,IAAIuD,UAAU,cAAgBsF,EAClC,mCAAmC,EAEvC,IAAK9I,EAAI,EAAGA,EAAIoB,EAAMD,EAAO,EAAEnB,EAC7B,KAAKA,EAAImB,CAAK,EAAIwK,EAAM3L,EAAIC,CAAG,CAEnC,CAEA,OAAO,IACT,EAMA,MAAMgR,GAAS,CAAC,EAChB,SAASC,GAAGC,EAAKC,EAAYC,EAAM,CACjCJ,GAAOE,CAAG,EAAI,cAAwBE,CAAK,CACzCC,aAAe,CACb,MAAM,EAEN5O,OAAOG,eAAe,KAAM,UAAW,CACrCe,MAAOwN,EAAWpJ,MAAM,KAAMjB,SAAS,EACvCwK,SAAU,GACVC,aAAc,EAChB,CAAC,EAGD,KAAKC,KAAQ,GAAE,KAAKA,IAAK,KAAIN,CAAI,IAGjC,KAAKO,MAEL,OAAO,KAAKD,IACd,CAEA,IAAI1R,MAAQ,CACV,OAAOoR,CACT,CAEA,IAAIpR,KAAM6D,EAAO,CACflB,OAAOG,eAAe,KAAM,OAAQ,CAClC2O,aAAc,GACd1O,WAAY,GACZc,MAAAA,EACA2N,SAAU,EACZ,CAAC,CACH,CAEAzL,UAAY,CACV,MAAQ,GAAE,KAAK2L,IAAK,KAAIN,CAAI,MAAK,KAAKQ,OAAQ,EAChD,CACF,CACF,CAEAT,GAAE,2BACA,SAAUO,EAAM,CACd,OAAIA,EACM,GAAEA,CAAK,+BAGV,gDACT,EAAGrO,UAAU,EACf8N,GAAE,uBACA,SAAUO,EAAMvM,EAAQ,CACtB,MAAQ,QAAOuM,CAAK,oDAAmD,OAAOvM,CAAO,EACvF,EAAG1B,SAAS,EACd0N,GAAE,mBACA,SAAU9I,EAAKwJ,EAAOC,EAAO,CAC3B,IAAIC,EAAO,iBAAgB1J,CAAI,qBAC3B2J,EAAWF,EACf,OAAIjI,OAAOoI,UAAUH,CAAK,GAAKxL,KAAK4L,IAAIJ,CAAK,EAAI,GAAK,GACpDE,EAAWG,GAAsB3L,OAAOsL,CAAK,CAAC,EACrC,OAAOA,GAAU,WAC1BE,EAAWxL,OAAOsL,CAAK,GACnBA,EAAQtE,OAAO,CAAC,GAAKA,OAAO,EAAE,GAAKsE,EAAQ,EAAEtE,OAAO,CAAC,GAAKA,OAAO,EAAE,MACrEwE,EAAWG,GAAsBH,CAAQ,GAE3CA,GAAY,KAEdD,GAAQ,eAAcF,CAAM,cAAaG,CAAS,GAC3CD,CACT,EAAG1O,UAAU,EAEf,SAAS8O,GAAuBpJ,EAAK,CACnC,IAAI8B,EAAM,GACN5K,EAAI8I,EAAI5I,OACZ,MAAMiB,EAAQ2H,EAAI,CAAC,IAAM,IAAM,EAAI,EACnC,KAAO9I,GAAKmB,EAAQ,EAAGnB,GAAK,EAC1B4K,EAAO,IAAG9B,EAAI1D,MAAMpF,EAAI,EAAGA,CAAC,CAAE,GAAE4K,CAAI,GAEtC,MAAQ,GAAE9B,EAAI1D,MAAM,EAAGpF,CAAC,CAAE,GAAE4K,CAAI,EAClC,CAKA,SAASuH,GAAa9O,EAAK6C,EAAQ3G,EAAY,CAC7C0N,GAAe/G,EAAQ,QAAQ,GAC3B7C,EAAI6C,CAAM,IAAMrB,QAAaxB,EAAI6C,EAAS3G,CAAU,IAAMsF,SAC5DuI,GAAYlH,EAAQ7C,EAAInD,QAAUX,EAAa,EAAE,CAErD,CAEA,SAASiQ,GAAY5L,EAAO0C,EAAK+B,EAAKhF,EAAK6C,EAAQ3G,EAAY,CAC7D,GAAIqE,EAAQyE,GAAOzE,EAAQ0C,EAAK,CAC9B,MAAMqB,EAAI,OAAOrB,GAAQ,SAAW,IAAM,GAC1C,IAAIsL,EACJ,MAAIrS,EAAa,EACX+G,IAAQ,GAAKA,IAAQiH,OAAO,CAAC,EAC/BqE,EAAS,OAAMjK,CAAE,WAAUA,CAAE,QAAOpI,EAAa,GAAK,CAAE,GAAEoI,CAAE,GAE5DiK,EAAS,SAAQjK,CAAE,QAAOpI,EAAa,GAAK,EAAI,CAAE,GAAEoI,CAAE,iBAC1CpI,EAAa,GAAK,EAAI,CAAE,GAAEoI,CAAE,GAG1CiK,EAAS,MAAKtL,CAAI,GAAEqB,CAAE,WAAUU,CAAI,GAAEV,CAAE,GAEpC,IAAIsJ,GAAOmB,iBAAiB,QAASR,EAAOhO,CAAK,CACzD,CACAuO,GAAY9O,EAAK6C,EAAQ3G,CAAU,CACrC,CAEA,SAAS0N,GAAgBrJ,EAAO6N,EAAM,CACpC,GAAI,OAAO7N,GAAU,SACnB,MAAM,IAAIqN,GAAOoB,qBAAqBZ,EAAM,SAAU7N,CAAK,CAE/D,CAEA,SAASwJ,GAAaxJ,EAAO1D,EAAQyF,EAAM,CACzC,MAAIU,KAAKiM,MAAM1O,CAAK,IAAMA,GACxBqJ,GAAerJ,EAAO+B,CAAI,EACpB,IAAIsL,GAAOmB,iBAAiBzM,GAAQ,SAAU,aAAc/B,CAAK,GAGrE1D,EAAS,EACL,IAAI+Q,GAAOsB,yBAGb,IAAItB,GAAOmB,iBAAiBzM,GAAQ,SACP,MAAKA,EAAO,EAAI,CAAE,WAAUzF,CAAO,GACpC0D,CAAK,CACzC,CAKA,MAAM4O,GAAoB,oBAE1B,SAASC,GAAarK,EAAK,CAMzB,GAJAA,EAAMA,EAAIsK,MAAM,GAAG,EAAE,CAAC,EAEtBtK,EAAMA,EAAIG,KAAK,EAAED,QAAQkK,GAAmB,EAAE,EAE1CpK,EAAIlI,OAAS,EAAG,MAAO,GAE3B,KAAOkI,EAAIlI,OAAS,IAAM,GACxBkI,EAAMA,EAAM,IAEd,OAAOA,CACT,CAEA,SAASnB,GAAajC,EAAQ2N,EAAO,CACnCA,EAAQA,GAASC,IACjB,IAAI9H,EACJ,MAAM5K,EAAS8E,EAAO9E,OACtB,IAAI2S,EAAgB,KACpB,MAAMlH,EAAQ,CAAC,EAEf,QAAS3L,EAAI,EAAGA,EAAIE,EAAQ,EAAEF,EAAG,CAI/B,GAHA8K,EAAY9F,EAAO7E,WAAWH,CAAC,EAG3B8K,EAAY,OAAUA,EAAY,MAAQ,CAE5C,GAAI,CAAC+H,EAAe,CAElB,GAAI/H,EAAY,MAAQ,EAEjB6H,GAAS,GAAK,IAAIhH,EAAMrK,KAAK,IAAM,IAAM,GAAI,EAClD,QACF,SAAWtB,EAAI,IAAME,EAAQ,EAEtByS,GAAS,GAAK,IAAIhH,EAAMrK,KAAK,IAAM,IAAM,GAAI,EAClD,QACF,CAGAuR,EAAgB/H,EAEhB,QACF,CAGA,GAAIA,EAAY,MAAQ,EACjB6H,GAAS,GAAK,IAAIhH,EAAMrK,KAAK,IAAM,IAAM,GAAI,EAClDuR,EAAgB/H,EAChB,QACF,CAGAA,GAAa+H,EAAgB,OAAU,GAAK/H,EAAY,OAAU,KACpE,MAAW+H,IAEJF,GAAS,GAAK,IAAIhH,EAAMrK,KAAK,IAAM,IAAM,GAAI,EAMpD,GAHAuR,EAAgB,KAGZ/H,EAAY,IAAM,CACpB,IAAK6H,GAAS,GAAK,EAAG,MACtBhH,EAAMrK,KAAKwJ,CAAS,CACtB,SAAWA,EAAY,KAAO,CAC5B,IAAK6H,GAAS,GAAK,EAAG,MACtBhH,EAAMrK,KACJwJ,GAAa,EAAM,IACnBA,EAAY,GAAO,GACrB,CACF,SAAWA,EAAY,MAAS,CAC9B,IAAK6H,GAAS,GAAK,EAAG,MACtBhH,EAAMrK,KACJwJ,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,GACrB,CACF,SAAWA,EAAY,QAAU,CAC/B,IAAK6H,GAAS,GAAK,EAAG,MACtBhH,EAAMrK,KACJwJ,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IAC1BA,EAAY,GAAO,GACrB,CACF,KACE,OAAM,IAAIxK,MAAM,oBAAoB,CAExC,CAEA,OAAOqL,CACT,CAEA,SAAStB,GAAcjC,EAAK,CAC1B,MAAM0K,EAAY,CAAC,EACnB,QAAS9S,EAAI,EAAGA,EAAIoI,EAAIlI,OAAQ,EAAEF,EAEhC8S,EAAUxR,KAAK8G,EAAIjI,WAAWH,CAAC,EAAI,GAAI,EAEzC,OAAO8S,CACT,CAEA,SAAStI,GAAgBpC,EAAKuK,EAAO,CACnC,IAAII,EAAGzF,EAAID,EACX,MAAMyF,EAAY,CAAC,EACnB,QAAS9S,EAAI,EAAGA,EAAIoI,EAAIlI,QACjByS,GAAAA,GAAS,GAAK,GADW,EAAE3S,EAGhC+S,EAAI3K,EAAIjI,WAAWH,CAAC,EACpBsN,EAAKyF,GAAK,EACV1F,EAAK0F,EAAI,IACTD,EAAUxR,KAAK+L,CAAE,EACjByF,EAAUxR,KAAKgM,CAAE,EAGnB,OAAOwF,CACT,CAEA,SAAS5L,GAAekB,EAAK,CAC3B,OAAOxG,GAAOpC,YAAYiT,GAAYrK,CAAG,CAAC,CAC5C,CAEA,SAAS+B,GAAY6I,EAAKC,EAAK/M,EAAQhG,EAAQ,CAC7C,IAAIF,EACJ,IAAKA,EAAI,EAAGA,EAAIE,GACTF,EAAAA,EAAIkG,GAAU+M,EAAI/S,QAAYF,GAAKgT,EAAI9S,QADtB,EAAEF,EAExBiT,EAAIjT,EAAIkG,CAAM,EAAI8M,EAAIhT,CAAC,EAEzB,OAAOA,CACT,CAKA,SAASiE,GAAYwB,EAAKE,EAAM,CAC9B,OAAOF,aAAeE,GACnBF,GAAO,MAAQA,EAAI6L,aAAe,MAAQ7L,EAAI6L,YAAYG,MAAQ,MACjEhM,EAAI6L,YAAYG,OAAS9L,EAAK8L,IACpC,CACA,SAAS/L,GAAaD,EAAK,CAEzB,OAAOA,IAAQA,CACjB,CAIA,MAAMiG,GAAuB,UAAY,CACvC,MAAMwH,EAAW,mBACXC,EAAQ,IAAIrT,MAAM,GAAG,EAC3B,QAASE,EAAI,EAAGA,EAAI,GAAI,EAAEA,EAAG,CAC3B,MAAMoT,EAAMpT,EAAI,GAChB,QAASyJ,EAAI,EAAGA,EAAI,GAAI,EAAEA,EACxB0J,EAAMC,EAAM3J,CAAC,EAAIyJ,EAASlT,CAAC,EAAIkT,EAASzJ,CAAC,CAE7C,CACA,OAAO0J,CACT,EAAG,EAGH,SAASnG,GAAoBqG,EAAI,CAC/B,OAAO,OAAO9F,OAAW,IAAc+F,GAAyBD,CAClE,CAEA,SAASC,IAA0B,CACjC,MAAM,IAAIhT,MAAM,sBAAsB,CACxC,C,oCCzjECiT,GAAQ,CACT,aACA,IAAIC,GAAY9Q,OAAOG,eACnB4Q,GAAmB/Q,OAAOgR,yBAC1BC,GAAoBjR,OAAOkR,oBAC3BC,GAAenR,OAAOE,UAAUkR,eAChCC,EAAWA,CAACvL,EAAQwL,IAAQ,CAC9B,QAASvC,KAAQuC,EACfR,GAAUhL,EAAQiJ,EAAM,CAAE1O,IAAKiR,EAAIvC,CAAI,EAAG3O,WAAY,EAAK,CAAC,CAChE,EACImR,GAAcA,CAACC,EAAIxQ,EAAMyQ,EAAQC,IAAS,CAC5C,GAAI1Q,GAAQ,OAAOA,GAAS,UAAY,OAAOA,GAAS,WACtD,QAAS2Q,KAAOV,GAAkBjQ,CAAI,EAChC,CAACmQ,GAAahN,KAAKqN,EAAIG,CAAG,GAAKA,IAAQF,GACzCX,GAAUU,EAAIG,EAAK,CAAEtR,IAAKA,IAAMW,EAAK2Q,CAAG,EAAGvR,WAAY,EAAEsR,EAAOX,GAAiB/P,EAAM2Q,CAAG,IAAMD,EAAKtR,UAAW,CAAC,EAEvH,OAAOoR,CACT,EACII,EAAgBC,GAAQN,GAAYT,GAAU,CAAC,EAAG,aAAc,CAAE5P,MAAO,EAAK,CAAC,EAAG2Q,CAAG,EACrFC,EAAUA,CAACC,EAAQC,EAAaC,IAC3B,IAAIC,QAAQ,CAACC,EAASC,IAAW,CACtC,IAAIC,EAAanR,GAAU,CACzB,GAAI,CACFoR,EAAKL,EAAUM,KAAKrR,CAAK,CAAC,CAC5B,OAASsR,EAAG,CACVJ,EAAOI,CAAC,CACV,CACF,EACIC,EAAYvR,GAAU,CACxB,GAAI,CACFoR,EAAKL,EAAUS,MAAMxR,CAAK,CAAC,CAC7B,OAASsR,EAAG,CACVJ,EAAOI,CAAC,CACV,CACF,EACIF,EAAQ7O,GAAMA,EAAEkP,KAAOR,EAAQ1O,EAAEvC,KAAK,EAAIgR,QAAQC,QAAQ1O,EAAEvC,KAAK,EAAE0R,KAAKP,EAAWI,CAAQ,EAC/FH,GAAML,EAAYA,EAAU3M,MAAMyM,EAAQC,CAAW,GAAGO,KAAK,CAAC,CAChE,CAAC,EAICM,EAAkB,CAAC,EACvBxB,EAASwB,EAAiB,CACxBC,gBAAiBA,IAAMA,EACvBC,oBAAqBA,IAAMA,EAC3BC,MAAOA,IAAMA,GACbC,UAAWA,IAAMA,EACjBC,QAASA,IAAMA,GACfC,QAASA,IAAMC,GACfC,eAAgBA,IAAMA,EACtBC,mBAAoBA,IAAMA,EAC1BC,WAAYA,IAAMA,GAClBC,UAAWA,IAAMA,EACjBC,cAAeA,IAAMA,EACrBC,QAASA,IAAMA,EACjB,CAAC,EACD7C,EAAOjU,QAAUgV,EAAaiB,CAAe,EAG7C,SAASc,EAAaC,EAAQ,CAC5B,IAAIC,EAAS3S,GAAU,CACrB,GAAIA,IAAU,KACZ4S,EAAGC,OAAO,CAAC,UACF,OAAO7S,GAAU,UAC1B4S,EAAGC,OAAO,CAAC,EACXD,EAAGC,OAAO,CAAC7S,CAAK,UACP,OAAOA,GAAU,SAC1B4S,EAAGC,OAAO,CAAC,EACXD,EAAGE,QAAQ9S,EAAQ,CAAC,UACX,OAAOA,GAAU,SAC1B4S,EAAGC,OAAO,CAAC,EACXD,EAAGrR,MAAMwR,EAAW/S,CAAK,CAAC,UACjBA,aAAiB/D,WAC1B2W,EAAGC,OAAO,CAAC,EACXD,EAAGrR,MAAMvB,CAAK,UACLA,aAAiB9D,MAAO,CACjC0W,EAAGC,OAAO,CAAC,EACXD,EAAGE,QAAQ9S,EAAM1D,MAAM,EACvB,QAAS0W,KAAQhT,EACf2S,EAAMK,CAAI,CAEd,KAAO,CACL,IAAIC,EAAOnU,OAAOmU,KAAKjT,CAAK,EAC5B4S,EAAGC,OAAO,CAAC,EACXD,EAAGE,QAAQG,EAAK3W,MAAM,EACtB,QAASmU,KAAOwC,EACdL,EAAGrR,MAAMwR,EAAWtC,CAAG,CAAC,EACxBkC,EAAM3S,EAAMyQ,CAAG,CAAC,CAEpB,CACF,EACImC,EAAK,IAAIM,EACbN,OAAAA,EAAGE,QAAQ,CAAC,EACZF,EAAGE,QAAQJ,EAAOS,IAAM,EAAI,CAAC,CAACT,EAAOU,SAAS,EAC9CT,EAAMD,EAAO1S,KAAK,EAClBwL,GAAcoH,EAAGnT,IAAKmT,EAAGvW,IAAM,EAAG,CAAC,EAC5BuW,EAAGnT,IAAIwI,SAAS,EAAG2K,EAAGvW,GAAG,CAClC,CACA,SAASgX,GAAatL,EAAO,CAC3B,IAAI4K,EAAQA,IAAM,CAChB,OAAQC,EAAGU,MAAM,EAAG,CAClB,IAAK,GACH,OAAO,KACT,IAAK,GACH,MAAO,CAAC,CAACV,EAAGU,MAAM,EACpB,IAAK,GACH,OAAOV,EAAGW,OAAO,EACnB,IAAK,GACH,OAAOC,EAAWZ,EAAGnN,KAAK,CAAC,EAC7B,IAAK,GACH,OAAOmN,EAAGnN,KAAK,EACjB,IAAK,GAAG,CACN,IAAIgO,EAAQb,EAAGW,OAAO,EAClBG,EAAS,CAAC,EACd,QAAStX,EAAI,EAAGA,EAAIqX,EAAOrX,IACzBsX,EAAOhW,KAAKiV,EAAM,CAAC,EAErB,OAAOe,CACT,CACA,IAAK,GAAG,CACN,IAAID,EAAQb,EAAGW,OAAO,EAClBG,EAAS,CAAC,EACd,QAAStX,EAAI,EAAGA,EAAIqX,EAAOrX,IACzBsX,EAAOF,EAAWZ,EAAGnN,KAAK,CAAC,CAAC,EAAIkN,EAAM,EAExC,OAAOe,CACT,CACA,QACE,MAAM,IAAIhX,MAAM,gBAAgB,CACpC,CACF,EACIkW,EAAK,IAAIM,EAAWnL,CAAK,EACzBoL,EAAKP,EAAGW,OAAO,EACfH,GAAaD,EAAK,KAAO,EAC7BA,KAAQ,EACR,IAAInT,EAAQ2S,EAAM,EAClB,GAAIC,EAAGe,MAAQ5L,EAAMzL,OACnB,MAAM,IAAII,MAAM,gBAAgB,EAElC,MAAO,CAAEyW,GAAAA,EAAIC,UAAAA,EAAWpT,MAAAA,CAAM,CAChC,CACA,IAAIkT,EAAa,KAAM,CACrBxF,YAAYjO,EAAM,IAAIxD,WAAW,IAAI,EAAG,CACtC,KAAKwD,IAAMA,EACX,KAAKpD,IAAM,EACX,KAAKsX,IAAM,CACb,CACAC,OAAOC,EAAO,CACZ,GAAI,KAAKxX,IAAMwX,EAAQ,KAAKpU,IAAInD,OAAQ,CACtC,IAAIwX,EAAQ,IAAI7X,YAAY,KAAKI,IAAMwX,GAAS,CAAC,EACjDC,EAAM9Q,IAAI,KAAKvD,GAAG,EAClB,KAAKA,IAAMqU,CACb,CACA,YAAKzX,KAAOwX,EACL,KAAKxX,IAAMwX,CACpB,CACAhB,OAAO7S,EAAO,CACZ,IAAIsC,EAAS,KAAKsR,OAAO,CAAC,EAC1B,KAAKnU,IAAI6C,CAAM,EAAItC,CACrB,CACA8S,QAAQ9S,EAAO,CACb,IAAIsC,EAAS,KAAKsR,OAAO,CAAC,EAC1BpI,GAAc,KAAK/L,IAAKO,EAAOsC,CAAM,CACvC,CACAf,MAAMwG,EAAO,CACX,IAAIzF,EAAS,KAAKsR,OAAO,EAAI7L,EAAMzL,MAAM,EACzCkP,GAAc,KAAK/L,IAAKsI,EAAMzL,OAAQgG,CAAM,EAC5C,KAAK7C,IAAIuD,IAAI+E,EAAOzF,EAAS,CAAC,CAChC,CACAyR,MAAMF,EAAO,CACX,GAAI,KAAKF,IAAME,EAAQ,KAAKpU,IAAInD,OAC9B,MAAM,IAAII,MAAM,gBAAgB,EAElC,YAAKiX,KAAOE,EACL,KAAKF,IAAME,CACpB,CACAP,OAAQ,CACN,OAAO,KAAK7T,IAAI,KAAKsU,MAAM,CAAC,CAAC,CAC/B,CACAR,QAAS,CACP,OAAOvK,GAAa,KAAKvJ,IAAK,KAAKsU,MAAM,CAAC,CAAC,CAC7C,CACAtO,MAAO,CACL,IAAInJ,EAAS,KAAKiX,OAAO,EACrBxL,EAAQ,IAAI9L,WAAWK,CAAM,EAC7BqX,EAAM,KAAKI,MAAMhM,EAAMzL,MAAM,EACjCyL,OAAAA,EAAM/E,IAAI,KAAKvD,IAAIwI,SAAS0L,EAAKA,EAAMrX,CAAM,CAAC,EACvCyL,CACT,CACF,EACIgL,EACAS,EACAQ,GACJ,GAAI,OAAOC,YAAgB,KAAe,OAAOC,YAAgB,IAAa,CAC5E,IAAIC,EAAU,IAAIF,YACdG,EAAU,IAAIF,YAClBnB,EAAcsB,GAASF,EAAQG,OAAOD,CAAI,EAC1Cb,EAAczL,GAAUqM,EAAQG,OAAOxM,CAAK,EAC5CiM,GAAkB,8BACpB,SAAW,OAAO3V,OAAW,IAC3B0U,EAAcsB,GAAShW,OAAOyB,KAAKuU,CAAI,EACvCb,EAAczL,GAAU,CACtB,GAAI,CAAE1I,OAAAA,EAAQC,WAAAA,EAAY3D,WAAAA,CAAW,EAAIoM,EACzC,OAAO1J,OAAOyB,KAAKT,EAAQC,EAAY3D,CAAU,EAAEuG,SAAS,CAC9D,EACA8R,GAAkB,sBAElB,OAAM,IAAItX,MAAM,sBAAsB,EAExC,GAAI,EAAEqW,EAAW,EAAE,YAAa9W,YAC9B,MAAM,IAAIS,MAAO,yBAAwBsX,EAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,CAK1D,EACD,SAAShL,GAAa3J,EAAQiD,EAAQ,CACpC,OAAOjD,EAAOiD,GAAQ,EAAIjD,EAAOiD,GAAQ,GAAK,EAAIjD,EAAOiD,GAAQ,GAAK,GAAKjD,EAAOiD,GAAQ,GAAK,EACjG,CACA,SAASkJ,GAAcnM,EAAQW,EAAOsC,EAAQ,CAC5CjD,EAAOiD,GAAQ,EAAItC,EACnBX,EAAOiD,GAAQ,EAAItC,GAAS,EAC5BX,EAAOiD,GAAQ,EAAItC,GAAS,GAC5BX,EAAOiD,GAAQ,EAAItC,GAAS,EAC9B,CAGA,IAAIwU,GAAQC,KAAKC,UACbC,GAAuB,UACvBC,GAA2B,SAC/B,SAASC,GAAejQ,EAAQ,CAE9B,GADAkQ,GAAoBlQ,EAAQ,QAAQ,EAChCA,EAAOhI,QAAQ,GAAG,GAAK,EACzB,MAAM,IAAIF,MAAO,mBAAkBkI,CAAO,EAAC,EAC7C,OAAOA,CACT,CACA,IAAImQ,GAAgBA,IAAM,KACtBC,GAAiBhV,GAAU,OAAOA,GAAU,UAAY,KAAO,YAC/DiV,EAAgBjV,GAAU,OAAOA,GAAU,SAAW,KAAO,WAC7DkV,GAAgBlV,GAAUA,aAAiBmV,OAAS,KAAO,kBAC3DC,GAAiBpV,GAAU,OAAOA,GAAU,UAAYA,KAAWA,EAAQ,GAAK,KAAO,aACvFqV,GAAkBrV,GAAU,OAAOA,GAAU,WAAa,KAAO,aACjEsV,GAAetV,GAAU9D,MAAM8F,QAAQhC,CAAK,EAAI,KAAO,WACvDuV,GAAgBvV,GAAU,OAAOA,GAAU,UAAYA,IAAU,MAAQ,CAAC9D,MAAM8F,QAAQhC,CAAK,EAAI,KAAO,YACxGwV,GAAqBxV,GAAU,OAAOA,GAAU,UAAYA,IAAU,KAAO,KAAO,wBACpFyV,GAA2BzV,GAAUA,aAAiB0V,YAAYC,OAAS,KAAO,uBAClFC,GAAsB5V,GAAU,OAAOA,GAAU,UAAY,CAAC9D,MAAM8F,QAAQhC,CAAK,EAAI,KAAO,oBAC5F6V,GAAyB7V,GAAU,OAAOA,GAAU,UAAY,OAAOA,GAAU,UAAY,KAAO,wBACpG8V,GAAwB9V,GAAU,OAAOA,GAAU,UAAY,OAAOA,GAAU,UAAYA,IAAU,MAAQ,CAAC9D,MAAM8F,QAAQhC,CAAK,EAAI,KAAO,wBAC7I+V,GAAuB/V,GAAU,OAAOA,GAAU,UAAY9D,MAAM8F,QAAQhC,CAAK,EAAI,KAAO,uBAC5FgW,GAA4BhW,GAAU,OAAOA,GAAU,UAAYA,aAAiB/D,WAAa,KAAO,2BACxGga,GAAqBjW,GAAU,OAAOA,GAAU,UAAYA,aAAiBkW,IAAM,KAAO,oBAC9F,SAASC,EAAQC,EAAQnD,EAAMxC,EAAK4F,EAAU,CAC5C,IAAIrW,EAAQoW,EAAO3F,CAAG,EAEtB,GADAwC,EAAKxC,EAAM,EAAE,EAAI,GACbzQ,IAAU,OACZ,OACF,IAAIsW,EAASD,EAASrW,CAAK,EAC3B,GAAIsW,IAAW,KACb,MAAM,IAAI5Z,MAAO,GAAE8X,GAAM/D,CAAG,CAAE,YAAW6F,CAAO,EAAC,EACnD,OAAOtW,CACT,CACA,SAASuW,GAAqBH,EAAQnD,EAAMuD,EAAO,CACjD,QAAS/F,KAAO2F,EACd,GAAI,EAAE3F,KAAOwC,GACX,MAAM,IAAIvW,MAAO,kBAAiB8Z,CAAM,KAAIhC,GAAM/D,CAAG,CAAE,EAAC,CAG9D,CACA,SAASgG,GAA0BC,EAAS,CAC1C,IAAIzD,EAAuBnU,OAAO6X,OAAO,IAAI,EACzCC,EAAUT,EAAQO,EAASzD,EAAM,UAAWgD,EAAiB,EAC7DY,EAAaV,EAAQO,EAASzD,EAAM,aAAcwC,EAAuB,EACzEqB,EAASX,EAAQO,EAASzD,EAAM,SAAU+B,EAAa,EAC3DuB,OAAAA,GAAqBG,EAASzD,EAAM,sBAAsB,EACnD,CACL2D,QAAAA,EACAC,WAAAA,EACAC,OAAAA,CACF,CACF,CACA,SAASC,GAAoBC,EAAa,CACxC,IAAIC,EACJ,GAAID,IAAgB,OAAQ,CAC1BC,EAA4BnY,OAAO6X,OAAO,IAAI,EAC9C,QAASlG,KAAOuG,EAAa,CAC3B,IAAIhX,EAAQgX,EAAYvG,CAAG,EAC3B,GAAI,OAAOzQ,GAAU,UAAYA,IAAU,GACzCiX,EAAUxG,CAAG,EAAIzQ,MAEjB,OAAM,IAAItD,MAAO,YAAW8X,GAAM/D,CAAG,CAAE,qDAAoD,CAE/F,CACF,CACA,OAAOwG,CACT,CACA,SAASC,GAAaC,EAAOT,EAASzD,EAAMmE,EAAOC,EAAiB,CAClE,IAAIC,EAAQnB,EAAQO,EAASzD,EAAM,QAAS+B,EAAa,EACrDuC,EAAWpB,EAAQO,EAASzD,EAAM,WAAYgC,CAAY,EAC1DuC,EAAWrB,EAAQO,EAASzD,EAAM,WAAYmC,EAAa,EAC3DkC,IAAU,OACZH,EAAMzZ,KAAM,WAAU4Z,CAAM,EAAC,EACtBF,GACPD,EAAMzZ,KAAM,cAAa,EAC3ByZ,EAAMzZ,KAAM,eAAc6Z,GAAYF,CAAgB,EAAC,EACvDF,EAAMzZ,KAAM,eAAc8Z,GAAY,CAAE,EAAC,CAC3C,CACA,SAAS1C,GAAoB9U,EAAOyX,EAAMhH,EAAK,CAC7C,GAAI,OAAOzQ,GAAU,SACnB,MAAM,IAAItD,MAAO,sBAAqB+a,CAAK,GAAEhH,IAAQ,OAAS,IAAM+D,GAAM/D,CAAG,EAAI,EAAG,wBAAuB,OAAOzQ,CAAM,UAAS,EAEnI,OAAOA,CACT,CACA,SAAS0X,GAAgBP,EAAOT,EAASzD,EAAM,CAC7C,IAAI0E,EAAgBxB,EAAQO,EAASzD,EAAM,gBAAiBgC,CAAY,EACpE2C,EAAazB,EAAQO,EAASzD,EAAM,aAAcgC,CAAY,EAC9D4C,EAAiB1B,EAAQO,EAASzD,EAAM,iBAAkB+B,EAAa,EACvEpQ,EAASuR,EAAQO,EAASzD,EAAM,SAAU8C,EAAmB,EAC7D+B,EAAS3B,EAAQO,EAASzD,EAAM,SAAUgC,CAAY,EACtD8C,EAAa5B,EAAQO,EAASzD,EAAM,aAAcgC,CAAY,EAC9D+C,EAAc7B,EAAQO,EAASzD,EAAM,cAAeiC,EAAY,EAChE+C,EAAe9B,EAAQO,EAASzD,EAAM,eAAgBiC,EAAY,EAClEgD,EAAe/B,EAAQO,EAASzD,EAAM,eAAgB+B,EAAa,EACnEmD,GAAShC,EAAQO,EAASzD,EAAM,SAAU+B,EAAa,EACvDoD,EAAejC,EAAQO,EAASzD,EAAM,eAAgB+B,EAAa,EACnEqD,GAAmBlC,EAAQO,EAASzD,EAAM,mBAAoB+B,EAAa,EAC3EsD,EAAoBnC,EAAQO,EAASzD,EAAM,oBAAqB+B,EAAa,EAC7EuD,EAAOpC,EAAQO,EAASzD,EAAM,OAAQqC,EAAW,EACjDkD,EAAUrC,EAAQO,EAASzD,EAAM,UAAWgC,CAAY,EACxDwD,EAActC,EAAQO,EAASzD,EAAM,cAAe+B,EAAa,EACjE0D,EAAoBvC,EAAQO,EAASzD,EAAM,oBAAqB+B,EAAa,EAC7E2D,EAAMxC,EAAQO,EAASzD,EAAM,MAAOgC,CAAY,EAChD2D,EAAazC,EAAQO,EAASzD,EAAM,aAAcgC,CAAY,EAC9D4D,EAAc1C,EAAQO,EAASzD,EAAM,cAAegC,CAAY,EAChE6D,EAAkB3C,EAAQO,EAASzD,EAAM,kBAAmBgC,CAAY,EACxE8D,EAAS5C,EAAQO,EAASzD,EAAM,SAAU+B,EAAa,EACvDgE,EAAiB7C,EAAQO,EAASzD,EAAM,iBAAkB+B,EAAa,EACvEiE,EAAS9C,EAAQO,EAASzD,EAAM,SAAUsC,EAAY,EACtD2D,EAAc/C,EAAQO,EAASzD,EAAM,cAAesC,EAAY,EAChE4D,EAAYhD,EAAQO,EAASzD,EAAM,YAAasC,EAAY,EAC5D6D,EAAOjD,EAAQO,EAASzD,EAAM,OAAQqC,EAAW,EACjD+D,EAAYlD,EAAQO,EAASzD,EAAM,YAAa+B,EAAa,EAC7DsE,EAAWnD,EAAQO,EAASzD,EAAM,WAAYgC,CAAY,EAiC9D,GAhCI0C,GACFR,EAAMzZ,KAAM,oBAAmBia,CAAc,EAAC,EAC5CC,IAAe,QACjBT,EAAMzZ,KAAM,iBAAgBka,CAAW,EAAC,EACtCC,IAAmB,QACrBV,EAAMzZ,KAAM,qBAAoBma,CAAe,EAAC,EAC9CjT,IACE1I,MAAM8F,QAAQ4C,CAAM,EACtBuS,EAAMzZ,KAAM,YAAWxB,MAAM4D,KAAK8E,CAAM,EAAE2U,IAAI1E,EAAc,EAAElX,KAAK,GAAG,CAAE,EAAC,EAEzEwZ,EAAMzZ,KAAM,YAAWmX,GAAejQ,CAAM,CAAE,EAAC,GAE/CkT,GACFX,EAAMzZ,KAAM,YAAWoa,CAAO,EAAC,EAC7BC,GACFZ,EAAMzZ,KAAM,iBAAgBqa,CAAW,EAAC,EACtCuB,GACFnC,EAAMzZ,KAAM,cAAa4b,CAAS,EAAC,EACjCnB,IACFhB,EAAMzZ,KAAK,UAAU,EACnB0a,GACFjB,EAAMzZ,KAAK,iBAAiB,EAC1B2a,IACFlB,EAAMzZ,KAAK,qBAAqB,EAC9B4a,GACFnB,EAAMzZ,KAAK,sBAAsB,EAC/B8a,GACFrB,EAAMzZ,KAAM,aAAY8a,CAAQ,EAAC,EAC/BC,IAAgB,QAClBtB,EAAMzZ,KAAM,kBAAiB+a,CAAY,EAAC,EACxCC,GACFvB,EAAMzZ,KAAM,sBAAqB,EAC/B6a,EACF,QAASd,KAAQc,EACfpB,EAAMzZ,KAAM,UAASoX,GAAoB2C,EAAM,MAAM,CAAE,EAAC,EAmB5D,GAlBIO,GACFb,EAAMzZ,KAAM,kBAAiBsa,EAAYwB,MAAO,EAAC,EAC/CvB,GACFd,EAAMzZ,KAAM,mBAAkBua,EAAauB,MAAO,EAAC,EACjDtB,IAAiB,QACnBf,EAAMzZ,KAAM,mBAAkBwa,CAAa,EAAC,EAC1CS,GACFxB,EAAMzZ,KAAM,SAAQib,CAAI,EAAC,EACvBC,GACFzB,EAAMzZ,KAAM,iBAAgBkb,CAAW,EAAC,EACtCC,GACF1B,EAAMzZ,KAAM,kBAAiBmb,CAAY,EAAC,EACxCC,GACF3B,EAAMzZ,KAAM,uBAAsBob,CAAgB,EAAC,EACjDC,GACF5B,EAAMzZ,KAAM,WAAU,EACpBsb,GACF7B,EAAMzZ,KAAM,oBAAmB,EAC7Bub,EACF,QAASxI,KAAOwI,EAAQ,CACtB,GAAIxI,EAAI7T,QAAQ,GAAG,GAAK,EACtB,MAAM,IAAIF,MAAO,mBAAkB+T,CAAI,EAAC,EAC1C0G,EAAMzZ,KAAM,YAAW+S,CAAI,IAAGqE,GAAoBmE,EAAOxI,CAAG,EAAG,SAAUA,CAAG,CAAE,EAAC,CACjF,CAEF,GAAIyI,EACF,QAASzI,KAAOyI,EAAa,CAC3B,GAAIzI,EAAI7T,QAAQ,GAAG,GAAK,EACtB,MAAM,IAAIF,MAAO,yBAAwB+T,CAAI,EAAC,EAChD0G,EAAMzZ,KAAM,kBAAiB+S,CAAI,IAAGqE,GAAoBoE,EAAYzI,CAAG,EAAG,eAAgBA,CAAG,CAAE,EAAC,CAClG,CAEF,GAAI0I,EACF,QAAS1I,KAAO0I,EAAW,CACzB,GAAI1I,EAAI7T,QAAQ,GAAG,GAAK,EACtB,MAAM,IAAIF,MAAO,sBAAqB+T,CAAI,EAAC,EAC7C,MAAMzQ,EAAQmZ,EAAU1I,CAAG,EAC3B,GAAI,OAAOzQ,GAAU,UACnB,MAAM,IAAItD,MAAO,gCAA+B8X,GAAM/D,CAAG,CAAE,yBAAwB,OAAOzQ,CAAM,UAAS,EAC3GmX,EAAMzZ,KAAM,eAAc+S,CAAI,IAAGzQ,CAAM,EAAC,CAC1C,CAEF,GAAIoZ,EACF,QAAS3J,KAAM2J,EACbjC,EAAMzZ,KAAM,UAASoX,GAAoBrF,EAAI,MAAM,CAAE,EAAC,EACtD4J,GACFlC,EAAMzZ,KAAM,cAAa,CAC7B,CACA,SAAS+b,GAAqBC,EAAUhD,EAASU,EAAOC,EAAiBsC,EAAc,CACrF,IAAIC,EACJ,IAAIzC,EAAQ,CAAC,EACT0C,EAAU,CAAC,EACX5G,EAAuBnU,OAAO6X,OAAO,IAAI,EACzCmD,EAAgB,KAChBC,EAAkB,KACtB7C,GAAaC,EAAOT,EAASzD,EAAMmE,EAAOC,CAAe,EACzDK,GAAgBP,EAAOT,EAASzD,CAAI,EACpC,IAAI+G,EAAY7D,EAAQO,EAASzD,EAAM,YAAa4C,EAAqB,EACrEoE,GAAS9D,EAAQO,EAASzD,EAAM,SAAU+B,EAAa,EACvDkF,EAAY/D,EAAQO,EAASzD,EAAM,YAAa+B,EAAa,EAC7DmF,GAAmBhE,EAAQO,EAASzD,EAAM,mBAAoB+B,EAAa,EAC3EoF,EAAWjE,EAAQO,EAASzD,EAAM,WAAY+B,EAAa,EAC3DqF,EAAUlE,EAAQO,EAASzD,EAAM,UAAWgC,CAAY,EACxDqF,EAASnE,EAAQO,EAASzD,EAAM,SAAUgC,CAAY,EACtDsF,EAAUpE,EAAQO,EAASzD,EAAM,UAAWgC,CAAY,EACxDuF,EAAWrE,EAAQO,EAASzD,EAAM,WAAYgC,CAAY,EAC1DwF,EAAoBtE,EAAQO,EAASzD,EAAM,oBAAqBqC,EAAW,EAC3EoF,EAAiBvE,EAAQO,EAASzD,EAAM,YAAaqC,EAAW,EAChEqF,EAAaxE,EAAQO,EAASzD,EAAM,aAAcqC,EAAW,EAC7DsF,EAAazE,EAAQO,EAASzD,EAAM,aAAcqC,EAAW,EAC7DuF,EAAW1E,EAAQO,EAASzD,EAAM,WAAYqC,EAAW,EACzDwF,EAAW3E,EAAQO,EAASzD,EAAM,WAAYgC,CAAY,EAC1D8F,EAAQ5E,EAAQO,EAASzD,EAAM,QAASsC,EAAY,EACpDyF,EAAS7E,EAAQO,EAASzD,EAAM,SAAUsC,EAAY,EACtD0F,EAAe9E,EAAQO,EAASzD,EAAM,eAAgBsC,EAAY,EAClE2F,EAAa/E,EAAQO,EAASzD,EAAM,aAAcgC,CAAY,EAC9DkG,EAAahF,EAAQO,EAASzD,EAAM,aAAcgC,CAAY,EAC9DmG,EAAajF,EAAQO,EAASzD,EAAM,aAAcgC,CAAY,EAC9DoG,EAAalF,EAAQO,EAASzD,EAAM,aAAcgC,CAAY,EAC9DqG,EAASnF,EAAQO,EAASzD,EAAM,SAAUqC,EAAW,EACrDiG,GAASpF,EAAQO,EAASzD,EAAM,SAAUsC,EAAY,EACtDiG,GAASrF,EAAQO,EAASzD,EAAM,SAAUsC,EAAY,EACtDkG,EAActF,EAAQO,EAASzD,EAAM,cAAeuC,EAAiB,EACrEkG,GAAgBvF,EAAQO,EAASzD,EAAM,gBAAiBgC,CAAY,EACpE0G,EAAQxF,EAAQO,EAASzD,EAAM,QAASsC,EAAY,EACpDhU,IAASqY,EAAKzD,EAAQO,EAASzD,EAAM,QAAS+B,EAAa,IAAM,KAAO4E,EAAKD,EAC7EiC,GAAiBzF,EAAQO,EAASzD,EAAM,iBAAkB+B,EAAa,EACvEgC,GAAcb,EAAQO,EAASzD,EAAM,cAAesC,EAAY,EAyBpE,GAxBAtC,EAAK4I,QAAU,GACftF,GAAqBG,EAASzD,EAAO,MAAKyG,CAAS,SAAQ,EACvDM,GACF7C,EAAMzZ,KAAM,cAAasc,IAAc,GAAO,GAAM,IAAGA,CAAU,EAAE,EAAC,EAClEC,IACF9C,EAAMzZ,KAAK,UAAU,EACnBke,IACFzE,EAAMzZ,KAAK,mBAAmB,EAC5Bwc,GACF/C,EAAMzZ,KAAK,aAAa,EACtByc,IACFhD,EAAMzZ,KAAK,qBAAqB,EAC9B0c,GACFjD,EAAMzZ,KAAM,YAAW,EACrB2c,GACFlD,EAAMzZ,KAAM,aAAY2c,CAAQ,EAAC,EAC/BC,GACFnD,EAAMzZ,KAAM,YAAW4c,CAAO,EAAC,EAC7BC,GACFpD,EAAMzZ,KAAM,aAAY6c,CAAQ,EAAC,EAC/BC,GACFrD,EAAMzZ,KAAM,cAAa8c,CAAS,EAAC,EACjCM,GACF3D,EAAMzZ,KAAM,cAAaod,CAAS,EAAC,EACjCL,EAAmB,CACrB,IAAIqB,EAAS,CAAC,EACd,QAAS9b,MAASya,EAAmB,CAEnC,GADA3F,GAAoB9U,GAAO,mBAAmB,EAC1CA,GAAMpD,QAAQ,GAAG,GAAK,EACxB,MAAM,IAAIF,MAAO,8BAA6BsD,EAAM,EAAC,EACvD8b,EAAOpe,KAAKsC,EAAK,CACnB,CACAmX,EAAMzZ,KAAM,wBAAuBoe,EAAOne,KAAK,GAAG,CAAE,EAAC,CACvD,CASA,GARIud,GACF/D,EAAMzZ,KAAM,iBAAgBwd,CAAW,EAAC,EACtCC,GACFhE,EAAMzZ,KAAM,iBAAgByd,CAAW,EAAC,EACtCC,GACFjE,EAAMzZ,KAAM,iBAAgB0d,CAAW,EAAC,EACtCC,GACFlE,EAAMzZ,KAAM,iBAAgB2d,CAAW,EAAC,EACtCV,EAAY,CACd,IAAImB,EAAS,CAAC,EACd,QAAS9b,MAAS2a,EAAY,CAE5B,GADA7F,GAAoB9U,GAAO,YAAY,EACnCA,GAAMpD,QAAQ,GAAG,GAAK,EACxB,MAAM,IAAIF,MAAO,uBAAsBsD,EAAM,EAAC,EAChD8b,EAAOpe,KAAKsC,EAAK,CACnB,CACAmX,EAAMzZ,KAAM,iBAAgBoe,EAAOne,KAAK,GAAG,CAAE,EAAC,CAChD,CACA,GAAIid,EAAY,CACd,IAAIkB,EAAS,CAAC,EACd,QAAS9b,MAAS4a,EAAY,CAE5B,GADA9F,GAAoB9U,GAAO,WAAW,EAClCA,GAAMpD,QAAQ,GAAG,GAAK,EACxB,MAAM,IAAIF,MAAO,sBAAqBsD,EAAM,EAAC,EAC/C8b,EAAOpe,KAAKsC,EAAK,CACnB,CACAmX,EAAMzZ,KAAM,gBAAeoe,EAAOne,KAAK,GAAG,CAAE,EAAC,CAC/C,CACA,GAAIkd,EACF,QAAShN,KAAQgN,EACf1D,EAAMzZ,KAAM,cAAaoX,GAAoBjH,EAAM,UAAU,CAAE,EAAC,EACpE,GAAIkN,EACF,QAASgB,KAAOhB,EAAO,CACrB,GAAIgB,EAAInf,QAAQ,GAAG,GAAK,EACtB,MAAM,IAAIF,MAAO,kCAAiCqf,CAAI,EAAC,EACzD5E,EAAMzZ,KAAM,WAAUqe,CAAI,IAAGjH,GAAoBiG,EAAMgB,CAAG,EAAG,QAASA,CAAG,CAAE,EAAC,CAC9E,CAEF,GAAIR,GACF,QAASxZ,KAAQwZ,GAAQ,CACvB,GAAIxZ,EAAKnF,QAAQ,GAAG,GAAK,EACvB,MAAM,IAAIF,MAAO,6BAA4BqF,CAAK,EAAC,EACrDoV,EAAMzZ,KAAM,YAAWqE,CAAK,IAAG+S,GAAoByG,GAAOxZ,CAAI,EAAG,SAAUA,CAAI,CAAE,EAAC,CACpF,CAEF,GAAIyZ,GACF,QAASzZ,KAAQyZ,GAAQ,CACvB,GAAIzZ,EAAKnF,QAAQ,GAAG,GAAK,EACvB,MAAM,IAAIF,MAAO,6BAA4BqF,CAAK,EAAC,EACrDoV,EAAMzZ,KAAM,YAAWqE,CAAK,IAAG+S,GAAoB0G,GAAOzZ,CAAI,EAAG,SAAUA,CAAI,CAAE,EAAC,CACpF,CAEF,GAAIuZ,EACF,QAASU,KAAQV,EACfnE,EAAMzZ,KAAM,YAAWoX,GAAoBkH,EAAM,QAAQ,CAAE,EAAC,EAChE,GAAIhB,EACF,QAAS7S,KAAO6S,EAAQ,CACtB,GAAI7S,EAAIvL,QAAQ,GAAG,GAAK,EACtB,MAAM,IAAIF,MAAO,6BAA4ByL,CAAI,EAAC,EACpDgP,EAAMzZ,KAAM,YAAWyK,CAAI,IAAG2M,GAAoBkG,EAAO7S,CAAG,EAAG,SAAUA,CAAG,CAAE,EAAC,CACjF,CAEF,GAAI8S,EACF,QAAS9S,KAAO8S,EAAc,CAC5B,GAAI9S,EAAIvL,QAAQ,GAAG,GAAK,EACtB,MAAM,IAAIF,MAAO,0BAAyByL,CAAI,EAAC,EACjDgP,EAAMzZ,KAAM,mBAAkByK,CAAI,IAAG2M,GAAoBmG,EAAa9S,CAAG,EAAG,gBAAiBA,CAAG,CAAE,EAAC,CACrG,CAEF,GAAIsT,EACF,GAAIvf,MAAM8F,QAAQyZ,CAAW,EAC3B,QAASrf,EAAI,EAAG2H,GAAI0X,EAAYnf,OAAQF,EAAI2H,GAAG3H,IAAK,CAClD,IAAI6f,GAAaR,EAAYrf,CAAC,EAC9B,GAAI,OAAO6f,IAAe,UAAYA,KAAe,KAAM,CACzD,IAAIC,GAAiCpd,OAAO6X,OAAO,IAAI,EACnD1I,GAAQkI,EAAQ8F,GAAYC,GAAgB,KAAMjH,CAAY,EAC9DxX,GAAS0Y,EAAQ8F,GAAYC,GAAgB,MAAOjH,CAAY,EAEpE,GADAsB,GAAqB0F,GAAYC,GAAgB,2BAA6B9f,CAAC,EAC3E6R,KAAU,OACZ,MAAM,IAAIvR,MAAM,kDAAoDN,CAAC,EACvE,GAAIqB,KAAW,OACb,MAAM,IAAIf,MAAM,mDAAqDN,CAAC,EACxEyd,EAAQnc,KAAK,CAACD,GAAQwQ,EAAK,CAAC,CAC9B,MACE4L,EAAQnc,KAAK,CAAC,GAAIoX,GAAoBmH,GAAY,wBAA0B7f,CAAC,CAAC,CAAC,CAEnF,KAEA,SAASqU,KAAOgL,EACd5B,EAAQnc,KAAK,CAAC+S,EAAKqE,GAAoB2G,EAAYhL,CAAG,EAAG,cAAeA,CAAG,CAAC,CAAC,EAInF,GAAIkL,EAAO,CACT,IAAIQ,EAA4Brd,OAAO6X,OAAO,IAAI,EAC9CyF,GAAWjG,EAAQwF,EAAOQ,EAAW,WAAYnG,EAAwB,EACzEqG,GAAalG,EAAQwF,EAAOQ,EAAW,aAAclH,CAAY,EACjEqH,GAAanG,EAAQwF,EAAOQ,EAAW,aAAclH,CAAY,EACjEsH,GAAUpG,EAAQwF,EAAOQ,EAAW,SAAUlH,CAAY,EAC9DsB,GAAqBoF,EAAOQ,EAAW,mBAAmB,EACtDG,IACFnF,EAAMzZ,KAAM,gBAAe4e,EAAW,EAAC,EACrCC,IACFpF,EAAMzZ,KAAM,YAAW6e,EAAQ,EAAC,EAC9BF,KACFtC,EAAkBsC,IAChB,OAAOD,IAAa,SACtBtC,EAAgB/G,EAAWqJ,EAAQ,EAC5BA,cAAoBngB,aAC3B6d,EAAgBsC,GACpB,CACA,IAAII,GAAY,CAAC,EACjB,GAAI9B,EACF,QAAS1a,KAAS0a,EAChB1a,GAAS,GACTwc,GAAU9e,KAAKsC,CAAK,EAGxB,MAAO,CACL6Z,QAAAA,EACA1C,MAAAA,EACA5V,MAAAA,GACAuY,cAAAA,EACAC,gBAAAA,EACA2B,cAAAA,GACAc,UAAAA,GACAxF,YAAaD,GAAoBC,EAAW,CAC9C,CACF,CACA,SAASyF,GAAyB/C,EAAUhD,EAASU,EAAOC,EAAiB,CAC3E,IAAIF,EAAQ,CAAC,EACTlE,EAAuBnU,OAAO6X,OAAO,IAAI,EAC7CO,GAAaC,EAAOT,EAASzD,EAAMmE,EAAOC,CAAe,EACzDK,GAAgBP,EAAOT,EAASzD,CAAI,EACpC,IAAI+G,EAAY7D,EAAQO,EAASzD,EAAM,YAAa4C,EAAqB,EACrE6G,EAAcvG,EAAQO,EAASzD,EAAM,cAAe6C,EAAoB,EACxEwG,EAAanG,EAAQO,EAASzD,EAAM,aAAcgC,CAAY,EAC9D+F,EAAS7E,EAAQO,EAASzD,EAAM,SAAUgC,CAAY,EACtDsG,EAASpF,EAAQO,EAASzD,EAAM,SAAUgC,CAAY,EACtDuG,EAASrF,EAAQO,EAASzD,EAAM,SAAUgC,CAAY,EACtD+B,GAAcb,EAAQO,EAASzD,EAAM,cAAesC,EAAY,EACpEgB,OAAAA,GAAqBG,EAASzD,EAAO,MAAKyG,CAAS,SAAQ,EACvDM,GACF7C,EAAMzZ,KAAM,eAAcsc,IAAc,GAAO,WAAaA,CAAU,EAAC,EACrE0C,GACFvF,EAAMzZ,KAAM,kBAAiB,OAAOgf,GAAgB,SAAWA,EAAcjI,KAAKC,UAAUgI,CAAW,CAAE,EAAC,EACxGJ,GACFnF,EAAMzZ,KAAM,gBAAe4e,CAAW,EAAC,EACrCtB,GACF7D,EAAMzZ,KAAM,YAAWsd,CAAO,EAAC,EAC7BO,GACFpE,EAAMzZ,KAAM,YAAW6d,CAAO,EAAC,EAC7BC,GACFrE,EAAMzZ,KAAM,YAAW8d,CAAO,EAAC,EAC1B,CACLrE,MAAAA,EACAH,YAAaD,GAAoBC,EAAW,CAC9C,CACF,CACA,SAAS2F,GAAcC,EAAU,CAC/B,MAAMC,EAAwB,CAAC,EACzBC,EAAY,CAAEC,SAAU,GAAOC,OAAQ,EAAG,EAChD,IAAIC,EAAoB,CAAC,EACrBC,EAAgB,EAChBC,EAAe,EACfC,EAAS,IAAInhB,WAAW,GAAK,IAAI,EACjCohB,EAAa,EACbC,EAAkBC,GAAU,CAC9B,IAAItR,EAAQoR,EAAaE,EAAMjhB,OAC/B,GAAI2P,EAAQmR,EAAO9gB,OAAQ,CACzB,IAAIwH,EAAO,IAAI7H,WAAWgQ,EAAQ,CAAC,EACnCnI,EAAKd,IAAIoa,CAAM,EACfA,EAAStZ,CACX,CACAsZ,EAAOpa,IAAIua,EAAOF,CAAU,EAC5BA,GAAcE,EAAMjhB,OACpB,IAAIgG,EAAS,EACb,KAAOA,EAAS,GAAK+a,GAAY,CAC/B,IAAI/gB,EAAS0M,GAAaoU,EAAQ9a,CAAM,EACxC,GAAIA,EAAS,EAAIhG,EAAS+gB,EACxB,MAEF/a,GAAU,EACVkb,GAAqBJ,EAAOnV,SAAS3F,EAAQA,EAAShG,CAAM,CAAC,EAC7DgG,GAAUhG,CACZ,CACIgG,EAAS,IACX8a,EAAOhQ,WAAW,EAAG9K,EAAQ+a,CAAU,EACvCA,GAAc/a,EAElB,EACImb,EAAc9e,GAAU,CAC1Bme,EAAUC,SAAW,GACjBpe,IACFme,EAAUE,OAAS,MAAQre,EAAMoP,SAAWpP,IAC9C,MAAM0V,EAAO,0BAA4ByI,EAAUE,OACnD,QAAS7J,KAAM8J,EACbA,EAAkB9J,CAAE,EAAEkB,EAAM,IAAI,EAElC4I,EAAoB,CAAC,CACvB,EACIS,EAAcA,CAACC,EAAM3d,EAAO4d,IAAa,CAC3C,GAAId,EAAUC,SACZ,OAAOa,EAAS,mCAAqCd,EAAUE,OAAQ,IAAI,EAC7E,IAAI7J,EAAK+J,IACTD,EAAkB9J,CAAE,EAAI,CAACxU,EAAOkf,IAAa,CAC3C,GAAI,CACFD,EAASjf,EAAOkf,CAAQ,CAC1B,QAAE,CACIF,GACFA,EAAKG,MAAM,CACf,CACF,EACIH,GACFA,EAAKI,IAAI,EACXnB,EAASoB,aAAavL,EAAa,CAAEU,GAAAA,EAAIC,UAAW,GAAMpT,MAAAA,CAAM,CAAC,CAAC,CACpE,EACIie,EAAeA,CAAC9K,EAAInT,IAAU,CAChC,GAAI8c,EAAUC,SACZ,MAAM,IAAIrgB,MAAM,mCAAqCogB,EAAUE,MAAM,EACvEJ,EAASoB,aAAavL,EAAa,CAAEU,GAAAA,EAAIC,UAAW,GAAOpT,MAAAA,CAAM,CAAC,CAAC,CACrE,EACIke,GAAgBA,CAAC/K,EAAIgL,IAAYvN,EAAQ,KAAM,KAAM,WAAa,CACpE,GAAI,CACF,GAAIuN,EAAQC,UAAY,OAAQ,CAC9BH,EAAa9K,EAAI,CAAC,CAAC,EACnB,MACF,CACA,GAAI,OAAOgL,EAAQ1N,KAAQ,SAAU,CACnC,MAAM4N,EAAmBxB,EAAsBsB,EAAQ1N,GAAG,EAC1D,GAAI4N,EAAkB,CACpB,MAAMT,EAAWS,EAAiBF,EAAQC,OAAO,EACjD,GAAIR,EAAU,CACZ,MAAMA,EAASzK,EAAIgL,CAAO,EAC1B,MACF,CACF,CACF,CACA,MAAM,IAAIzhB,MAAO,oBAAqByhB,EAAQC,OAAO,CACvD,OAAS9M,EAAG,CACV2M,EAAa9K,EAAI,CAAE9F,OAAQ,CAACiR,GAAsBhN,EAAGsL,EAAU,KAAM,OAAQ,EAAE,CAAC,CAAE,CAAC,CACrF,CACF,CAAC,EACG2B,EAAgB,GAChBf,GAAwBzV,GAAU,CACpC,GAAIwW,EAAe,CACjBA,EAAgB,GAChB,IAAIC,EAAgB7b,OAAOgF,aAAa,GAAGI,CAAK,EAChD,GAAIyW,IAAkB,UACpB,MAAM,IAAI9hB,MAAO,8EAAkF8X,GAAMgK,CAAa,CAAE,EAAC,EAE3H,MACF,CACA,IAAI9L,EAASW,GAAatL,CAAK,EAC/B,GAAI2K,EAAOU,UACT8K,GAAcxL,EAAOS,GAAIT,EAAO1S,KAAK,MAChC,CACL,IAAI4d,EAAWX,EAAkBvK,EAAOS,EAAE,EAC1C,OAAO8J,EAAkBvK,EAAOS,EAAE,EAC9BT,EAAO1S,MAAMrB,MACfif,EAASlL,EAAO1S,MAAMrB,MAAO,CAAC,CAAC,EAE/Bif,EAAS,KAAMlL,EAAO1S,KAAK,CAC/B,CACF,EAgLA,MAAO,CACLsd,eAAAA,EACAG,WAAAA,EACAgB,QAAS,CACPC,eAnLiBA,CAAC,CAAEhF,SAAAA,EAAUiE,KAAAA,EAAMjH,QAAAA,EAASU,MAAAA,EAAOuH,UAAAA,EAAWf,SAAAA,CAAS,IAAM,CAChF,IAAIgB,EAAW,EACf,MAAMC,EAAW1B,IACXkB,EAAmB,CAAC,EACpBS,EAAY,CAChBf,KAAM,CACA,EAAEa,IAAa,GACbjB,GACFA,EAAKI,IAAI,CAEf,EACAD,OAAQ,CACF,EAAEc,IAAa,IACjB,OAAO/B,EAAsBgC,CAAQ,EACjClB,GACFA,EAAKG,MAAM,EAEjB,CACF,EACAjB,EAAsBgC,CAAQ,EAAIR,EAClCS,EAAUf,IAAI,EACdgB,GACErF,EACAmF,EACAnB,EACAO,EACAa,EACAlC,EACAyB,EACA3H,EACAU,EACAuH,EACA,CAACK,EAAKhY,IAAQ,CACZ,GAAI,CACF4W,EAASoB,EAAKhY,CAAG,CACnB,QAAE,CACA8X,EAAUhB,MAAM,CAClB,CACF,CACF,CACF,EA4IIxL,UA3Ia2M,CAAC,CAAEvF,SAAAA,EAAUiE,KAAAA,EAAM1P,MAAAA,EAAOyI,QAAAA,EAASU,MAAAA,EAAO8H,GAAAA,EAAItB,SAAAA,CAAS,IAAM,CAC5E,MAAMuB,EAAUC,GAAkB,EAClC,IAAI7hB,EAAS8hB,GAAc,CACzB,GAAI,CACF,GAAI,OAAOpR,GAAU,UAAY,EAAEA,aAAiBhS,YAClD,MAAM,IAAIS,MAAM,2DAA2D,EAC7E,GAAI,CACFya,MAAAA,EACAH,YAAAA,CACF,EAAIyF,GAAyB/C,EAAUhD,EAASU,EAAOxC,EAAwB,EAC3EuJ,EAAU,CACZC,QAAS,YACTjH,MAAAA,EACAmI,QAASD,IAAc,KACvBpR,MAAOoR,IAAc,KAAOtM,EAAWsM,CAAS,EAAI,OAAOpR,GAAU,SAAW8E,EAAW9E,CAAK,EAAIA,CACtG,EACI+I,IACFmH,EAAQnH,YAAcA,GACxB0G,EAAYC,EAAMQ,EAAS,CAACxf,EAAOkf,IAAa,CAC9C,GAAIlf,EACF,OAAOif,EAAS,IAAIlhB,MAAMiC,CAAK,EAAG,IAAI,EACxC,IAAI0O,GAASkS,GAAyB1B,EAASxQ,OAAQ8R,CAAO,EAC1DK,GAAWD,GAAyB1B,EAAS2B,SAAUL,CAAO,EAC9DM,EAAc,EACdpO,GAAOA,IAAM,CACf,GAAI,EAAEoO,IAAgB,EAAG,CACvB,IAAIC,EAAS,CACXF,SAAAA,GACArjB,KAAM0hB,EAAS1hB,KACfod,IAAKsE,EAAStE,IACdvC,YAAa,OACbW,cAAe,MACjB,EACI,kBAAmBkG,IACrB6B,EAAO/H,cAA4CkG,GAASlG,eAC1DkG,EAAS7G,cACX0I,EAAO1I,YAA0C6G,GAAS7G,aAC5D4G,EAAS,KAAM8B,CAAM,CACvB,CACF,EACA,GAAIrS,GAAO/Q,OAAS,EAClB,OAAOshB,EAAS+B,GAAoB,mBAAoBtS,GAAQmS,EAAQ,EAAG,IAAI,EAC7E3B,EAAS+B,SACXH,IACAP,EAAGW,SAAShC,EAAS1hB,KAAM,CAAC6iB,EAAK5C,KAAa,CACxC4C,IAAQ,KACVpB,EAASoB,EAAK,IAAI,GAElBnB,EAAS1hB,KAAOigB,GAChB/K,GAAK,EAET,CAAC,GAECwM,EAASiC,QACXL,IACAP,EAAGW,SAAShC,EAAStE,IAAK,CAACyF,EAAK5C,KAAa,CACvC4C,IAAQ,KACVpB,EAASoB,EAAK,IAAI,GAElBnB,EAAStE,IAAM6C,GACf/K,GAAK,EAET,CAAC,GAEHA,GAAK,CACP,CAAC,CACH,OAASC,EAAG,CACV,IAAI6F,EAAQ,CAAC,EACb,GAAI,CACFD,GAAaC,EAAOT,EAAS,CAAC,EAAGU,EAAOxC,EAAwB,CAClE,MAAa,CACb,CACA,MAAMjW,EAAQ2f,GAAsBhN,EAAGsL,EAAUuC,EAAS,OAAQ,EAAE,EACpEzB,EAAYC,EAAM,CAAES,QAAS,QAASjH,MAAAA,EAAOxY,MAAAA,CAAM,EAAG,IAAM,CAC1DA,EAAMohB,OAASZ,EAAQa,KAAKrhB,EAAMohB,MAAM,EACxCnC,EAAS+B,GAAoB,mBAAoB,CAAChhB,CAAK,EAAG,CAAC,CAAC,EAAG,IAAI,CACrE,CAAC,CACH,CACF,EACA,IAAK,OAAOsP,GAAU,UAAYA,aAAiBhS,aAAegS,EAAM3R,OAAS,KAAO,KAAM,CAC5F,IAAI+U,EAAO9T,EACXA,EAAQA,IAAM2hB,EAAGe,UAAUhS,EAAOoD,CAAI,CACxC,CACA9T,EAAM,IAAI,CACZ,EAwDI4U,eAvDkB+N,CAAC,CAAExG,SAAAA,EAAUiE,KAAAA,EAAMwC,SAAAA,EAAUzJ,QAAAA,EAASkH,SAAAA,CAAS,IAAM,CACzE,IAAI8B,EAASU,GAAiBD,EAAU,WAAY,KAAM,EAAE,EAC5D,GAAI,CAACzJ,EACH,MAAM,IAAIha,MAAO,8BAA6Bgd,CAAS,SAAQ,EACjE,IAAIzG,EAAO,CAAC,EACRoN,EAAOlK,EAAQO,EAASzD,EAAM,OAAQgC,CAAY,EAClDqC,EAAQnB,EAAQO,EAASzD,EAAM,QAAS+B,EAAa,EACrDsL,EAAgBnK,EAAQO,EAASzD,EAAM,gBAAiBmC,EAAa,EAEzE,GADAmB,GAAqBG,EAASzD,EAAO,MAAKyG,CAAS,SAAQ,EACvD2G,IAAS,OACX,MAAM,IAAI3jB,MAAO,qBAAoBgd,CAAS,SAAQ,EACxD,GAAI2G,IAAS,SAAWA,IAAS,UAC/B,MAAM,IAAI3jB,MAAO,iDAAgDgd,CAAS,SAAQ,EACpF,IAAIyE,EAAU,CACZC,QAAS,cACT+B,SAAUT,EACVa,UAAWF,IAAS,SACtB,EACI/I,IAAU,SACZ6G,EAAQ7G,MAAQA,GACdgJ,IAAkB,SACpBnC,EAAQmC,cAAgBA,GAC1B5C,EAAYC,EAAMQ,EAAS,CAACxf,EAAOkf,IAAa,CAC9C,GAAIlf,EACF,OAAOif,EAAS,IAAIlhB,MAAMiC,CAAK,EAAG,IAAI,EACxCif,EAAS,KAAMC,EAASsC,QAAQ,CAClC,CAAC,CACH,EA6BIvO,gBA5BmB4O,CAAC,CAAE9G,SAAAA,EAAUiE,KAAAA,EAAMvD,SAAAA,EAAU1D,QAAAA,EAASkH,SAAAA,CAAS,IAAM,CACtElH,IAAY,SACdA,EAAU,CAAC,GACb,IAAIzD,EAAO,CAAC,EACRqE,EAAQnB,EAAQO,EAASzD,EAAM,QAAS+B,EAAa,EACrDyL,EAAUtK,EAAQO,EAASzD,EAAM,UAAW+B,EAAa,EAC7DuB,GAAqBG,EAASzD,EAAO,MAAKyG,CAAS,SAAQ,EAC3D,IAAIyE,EAAU,CACZC,QAAS,mBACThE,SAAAA,CACF,EACI9C,IAAU,SACZ6G,EAAQ7G,MAAQA,GACdmJ,IAAY,SACdtC,EAAQsC,QAAUA,GACpB/C,EAAYC,EAAMQ,EAAS,CAACxf,EAAOkf,IAAa,CAC9C,GAAIlf,EACF,OAAOif,EAAS,IAAIlhB,MAAMiC,CAAK,EAAG,IAAI,EACxCif,EAAS,KAAMC,EAAS6B,MAAM,CAChC,CAAC,CACH,CASE,CACF,CACF,CACA,SAASX,GAAmBrF,EAAUmF,EAAUnB,EAAaO,EAAcN,EAAMf,EAAUyB,EAAkB3H,EAASU,EAAOuH,EAAWf,EAAU,CAChJ,MAAMuB,EAAUC,GAAkB,EAC5BsB,GAAYhH,IAAa,UACzBiH,EAAcA,CAACrP,EAAGsP,IAAe,CACrC,MAAMzJ,EAAQ,CAAC,EACf,GAAI,CACFD,GAAaC,EAAOT,EAAS,CAAC,EAAGU,EAAOzC,EAAoB,CAC9D,MAAa,CACb,CACA,MAAM5G,EAAUuQ,GAAsBhN,EAAGsL,EAAUuC,EAAS,OAAQyB,CAAU,EAC9ElD,EAAYC,EAAM,CAAES,QAAS,QAASjH,MAAAA,EAAOxY,MAAOoP,CAAQ,EAAG,IAAM,CACnEA,EAAQgS,OAASZ,EAAQa,KAAKjS,EAAQgS,MAAM,EAC5CnC,EAAS+B,GAAoBe,GAAY,iBAAmB,eAAgB,CAAC3S,CAAO,EAAG,CAAC,CAAC,EAAG,IAAI,CAClG,CAAC,CACH,EACA,IAAI8N,GACJ,GAAI,OAAOnF,GAAY,SAAU,CAC/B,MAAM1W,EAAQ0W,EAAQmF,QACtB,GAAI7b,IAAU,OAAQ,CACpB,GAAI,CAAC9D,MAAM8F,QAAQhC,CAAK,EACtB,OAAO2gB,EAAY,IAAIjkB,MAAO,4BAA2B,EAAG,EAAE,EAChEmf,GAAU7b,CACZ,CACF,CACA,GAAI6b,IAAWA,GAAQvf,OAAS,EAAG,CACjC,GAAIsgB,EAASiE,OACX,OAAOF,EAAY,IAAIjkB,MAAM,6CAA6C,EAAG,EAAE,EACjFokB,GACEjC,EACAnB,EACAO,EACAN,EACAf,EACAyB,EACA3H,EACAmF,GACAsD,CACF,EAAEzN,KACCgO,GAAW,CACV,GAAI,CAACA,EAAOqB,GACV,OAAOJ,EAAYjB,EAAO/gB,MAAO+gB,EAAOkB,UAAU,EACpD,GAAI,CACFI,EAAuBtB,EAAOuB,eAAgBvB,EAAOwB,kBAAmBxB,EAAOyB,0BAA0B,CAC3G,OAAS7P,EAAG,CACVqP,EAAYrP,EAAG,EAAE,CACnB,CACF,EACCA,GAAMqP,EAAYrP,EAAG,EAAE,CAC1B,EACA,MACF,CACA,GAAI,CACF0P,EAAuB,KAAM,CAACtB,EAAQjO,IAASA,EAAK,CAAC,EAAG,CAAC,CAAC,EAAG,IAAM,CACnE,CAAC,CACH,OAASH,EAAG,CACVqP,EAAYrP,EAAG,EAAE,CACnB,CACA,SAAS0P,EAAuBC,EAAgBC,EAAmBC,EAA4B,CAC7F,MAAMxH,EAAeiD,EAASwE,MACxB,CACJvH,QAAAA,EACA1C,MAAAA,EACA5V,MAAAA,EACAuY,cAAAA,EACAC,gBAAAA,EACA2B,cAAAA,EACAc,UAAAA,EACAxF,YAAAA,CACF,EAAIyC,GAAqBC,EAAUhD,EAASU,EAAOzC,GAAsBgF,CAAY,EACrF,GAAIpY,GAAS,CAACqb,EAASwE,MACrB,MAAM,IAAI1kB,MAAO,uDAAsD,EACzE,MAAMyhB,EAAU,CACdC,QAAS,QACT3N,IAAKoO,EACLhF,QAAAA,EACA1C,MAAAA,EACA5V,MAAAA,EACAuY,cAAAA,EACAC,gBAAAA,EACA2B,cAAeA,GAAiBiD,EAChCnC,UAAAA,EACAxK,QAAS0O,EACX,EACIO,IACF9C,EAAQtC,QAAUoF,GAChBjK,IACFmH,EAAQnH,YAAcA,GACxB,MAAMqK,EAAwBA,CAACxD,EAAUyD,IAAc,CACrD,MAAM5B,GAAS,CACbrS,OAAQkS,GAAyB1B,EAASxQ,OAAQ8R,CAAO,EACzDK,SAAUD,GAAyB1B,EAAS2B,SAAUL,CAAO,EAC7DoC,YAAa,OACbnH,SAAU,OACVpD,YAAa,MACf,EACMwK,GAAiB9B,GAAOrS,OAAO7L,MAAM,EACrCigB,EAAmB/B,GAAOF,SAAShe,MAAM,EAC3Cqc,EAAS0D,cACX7B,GAAO6B,YAAc1D,EAAS0D,YAAYhI,IAAImI,EAAkB,GAC9D7D,EAASzD,WACXsF,GAAOtF,SAAW3F,KAAKkN,MAAM9D,EAASzD,QAAQ,GAC5CyD,EAAS7G,cACX0I,GAAO1I,YAAc6G,EAAS7G,aAC5B6G,EAAS+D,gBAAkB,QAC7BljB,QAAQmjB,IAAIrO,EAAWqK,EAAS+D,aAAa,EAAEld,QAAQ,MAAO,EAAE,CAAC,EACnEwc,EAAkBxB,GAAQ,CAACoC,GAAaC,IAAkB,CACxD,GAAIP,GAAellB,OAAS,GAAKwlB,GAAYxlB,OAAS,EAAG,CACvD,MAAMqC,GAAQghB,GAAoB,eAAgB6B,GAAe3e,OAAOif,EAAW,EAAGL,EAAiB5e,OAAOkf,CAAa,CAAC,EAC5H,OAAOT,EAAU3iB,GAAO,KAAMmjB,GAAaC,CAAa,CAC1D,CACAT,EAAU,KAAM5B,GAAQoC,GAAaC,CAAa,CACpD,CAAC,CACH,EACA,IAAIC,EACAC,EACAvB,KACFrC,EAAiB,QAAQ,EAAI,CAAClL,EAAI+O,IAAa,IAAIlR,QAASC,IAAY,CACtEoQ,EAAsBa,EAAU,CAAClD,GAAKU,EAAQoC,GAAaC,IAAkB,CAC3E,MAAMlE,GAAW,CACfxQ,OAAQyU,GACRtC,SAAUuC,CACZ,EACIE,GACFA,EAAoBjD,GAAKU,CAAM,EACjCsC,EAAsB,OACtBC,EAAsB,OACtBhE,EAAa9K,EAAI0K,EAAQ,EACzB5M,GAAQ,CACV,CAAC,CACH,CAAC,GACHyM,EAAYC,EAAMQ,EAAS,CAACxf,EAAOkf,IAAa,CAC9C,GAAIlf,EACF,OAAOif,EAAS,IAAIlhB,MAAMiC,CAAK,EAAG,IAAI,EACxC,GAAI,CAAC+hB,GACH,OAAOW,EAAsBxD,EAAU,CAACmB,EAAKhY,MAC3Cma,EAA2B,EACpBvD,EAASoB,EAAKhY,EAAG,EACzB,EAEH,GAAI6W,EAASxQ,OAAO/Q,OAAS,EAC3B,OAAOshB,EAAS+B,GAAoB,iBAAkB9B,EAASxQ,OAAQwQ,EAAS2B,QAAQ,EAAG,IAAI,EAEjG,IAAI2C,GAAa,GACjB,MAAMzC,GAAS,CACb0C,QAASA,KACFJ,IACHA,EAAsB,IAAIhR,QAAQ,CAACC,EAASC,KAAW,CACrD,IAAImR,EACJJ,EAAsBA,CAACjD,GAAKsD,KAAY,CACjCD,IACHA,EAAgBA,IAAMrD,GAAM9N,GAAO8N,EAAG,EAAI/N,EAAQqR,EAAO,EAC7D,EACA,MAAMC,GAAsBA,IAAM,CAKhC7E,EAAYC,EAJK,CACfS,QAAS,UACT3N,IAAKoO,CACP,EAC4B,CAAC2D,GAAQC,KAAc,CAC7CD,GACFtR,GAAO,IAAIxU,MAAM8lB,EAAM,CAAC,EACfH,EACTA,EAAc,EAEdE,GAAoB,CAExB,CAAC,CACH,EACAA,GAAoB,CACtB,CAAC,GACIP,GAETU,MAAOA,CAACC,EAAW,CAAC,IAAM,IAAI3R,QAAQ,CAACC,GAASC,IAAW,CACzD,GAAI,CAAC0L,EAASwE,MACZ,MAAM,IAAI1kB,MAAO,gDAA+C,EAElE6Z,GAAqBoM,EADR,CAAC,EACwB,iBAAgB,EAKtDjF,EAAYC,EAJK,CACfS,QAAS,QACT3N,IAAKoO,CACP,EAC6B2D,IAAW,CAClCA,GACFtR,EAAO,IAAIxU,MAAM8lB,EAAM,CAAC,EAExBvR,GAAQ,MAAM,CAClB,CAAC,CACH,CAAC,EACD2R,MAAOA,CAACD,EAAW,CAAC,IAAM,IAAI3R,QAAQ,CAACC,GAASC,IAAW,CACzD,GAAI,CAAC0L,EAASwE,MACZ,MAAM,IAAI1kB,MAAO,gDAA+C,EAClE,MAAMuW,GAAO,CAAC,EACR4P,GAAO1M,EAAQwM,EAAU1P,GAAM,OAAQmC,EAAa,EACpD0N,GAAO3M,EAAQwM,EAAU1P,GAAM,OAAQgC,CAAY,EACnD8N,GAAW5M,EAAQwM,EAAU1P,GAAM,WAAYgC,CAAY,EAC3D+N,EAAU7M,EAAQwM,EAAU1P,GAAM,UAAWgC,CAAY,EACzDgO,GAAW9M,EAAQwM,EAAU1P,GAAM,WAAYgC,CAAY,EAC3DiO,GAAY/M,EAAQwM,EAAU1P,GAAM,YAAaoC,EAAc,EACrEkB,GAAqBoM,EAAU1P,GAAO,iBAAgB,EACtD,MAAMiP,GAAW,CACf9D,QAAS,QACT3N,IAAKoO,EACLqE,UAAW,CAAC,CAACA,EACf,EACIL,KAAS,SACXX,GAASW,KAAOA,IACdC,KAAS,SACXZ,GAASY,KAAOA,IACdC,KAAa,SACfb,GAASa,SAAWA,IAClBC,IAAY,SACdd,GAASc,QAAUA,GACjBC,KAAa,SACff,GAASe,SAAWA,IACtBvF,EAAYC,EAAMuE,GAAU,CAACM,GAAQC,KAAc,CACjD,GAAID,GACF,OAAOtR,EAAO,IAAIxU,MAAM8lB,EAAM,CAAC,EAC7BU,KACF7E,EAAiB,eAAe,EAAI,CAAClL,GAAIgQ,KAAa,CACpDD,GAAUC,GAASC,IAAI,EACvBnF,EAAa9K,GAAI,CAAC,CAAC,CACrB,GAEFlC,GAAQwR,EAAS,CACnB,CAAC,CACH,CAAC,EACDY,OAAQA,IAAM,IAAIrS,QAASC,GAAY,CACrC,GAAIkR,GACF,OAAOlR,EAAQ,EAKjByM,EAAYC,EAJK,CACfS,QAAS,SACT3N,IAAKoO,CACP,EAC4B,IAAM,CAChC5N,EAAQ,CACV,CAAC,CACH,CAAC,EACDqS,QAASA,IAAM,IAAItS,QAASC,GAAY,CACtC,GAAIkR,GACF,OAAOlR,EAAQ,EACjBkR,GAAa,GAKbzE,EAAYC,EAJK,CACfS,QAAS,UACT3N,IAAKoO,CACP,EAC4B,IAAM,CAChC5N,EAAQ,EACRkQ,EAA2B,EAC3BxD,EAAKG,MAAM,CACb,CAAC,CACH,CAAC,CACH,EACAH,EAAKI,IAAI,EACTH,EAAS,KAAM8B,EAAM,CACvB,CAAC,CACH,CACF,CACA,IAAIoB,GAAgBA,CAACjC,EAAUnB,EAAaO,EAAcN,EAAMf,EAAUyB,EAAkBkF,EAAgB1H,EAASsD,IAAYvO,EAAQ,OAAQ,KAAM,WAAa,CAClK,IAAI4S,EAAmB,CAAC,EACpBC,EAAiB,CAAC,EAClBC,EAAqB,CAAC,EACtBC,GAAkB,CAAC,EACnBC,EAAqB,CAAC,EACtBC,GAAiB,EACjBznB,EAAI,EACJ6kB,EAAiB,CAAC,EAClB6C,EAAc,GAClBjI,EAAU,CAAC,GAAGA,CAAO,EACrB,QAAS7I,KAAQ6I,EAAS,CACxB,IAAI5I,EAAO,CAAC,EACZ,GAAI,OAAOD,GAAS,SAClB,MAAM,IAAItW,MAAO,mBAAkBN,CAAE,oBAAmB,EAC1D,MAAMyR,EAAOsI,EAAQnD,EAAMC,EAAM,OAAQgC,CAAY,EACrD,GAAI,OAAOpH,GAAS,UAAYA,IAAS,GACvC,MAAM,IAAInR,MAAO,mBAAkBN,CAAE,oBAAmB,EAC1D,GAAI,CACF,IAAI2nB,EAAQ5N,EAAQnD,EAAMC,EAAM,QAASoC,EAAc,EACvD,GAAI,OAAO0O,GAAU,WACnB,MAAM,IAAIrnB,MAAO,oCAAmC,EACtD6Z,GAAqBvD,EAAMC,EAAO,aAAYuB,GAAM3G,CAAI,CAAE,EAAC,EAC3D,IAAImW,EAAS,CACXnW,KAAAA,EACAoW,QAAS,GACTC,MAAO,GACPC,UAAW,CAAC,EACZC,OAAQ,CAAC,CACX,EACAhoB,IAoDA,IAAIioB,EAAUN,EAAM,CAClBR,eAAAA,EACAtS,QArDYA,CAAC+K,EAAMtF,EAAU,CAAC,IAAM,CACpC,GAAI,CAACoN,EACH,MAAM,IAAIpnB,MAAM,yDAAyD,EAC3E,GAAI,OAAOsf,GAAS,SAClB,MAAM,IAAItf,MAAO,sCAAqC,EACxD,IAAI4nB,EAAwBxlB,OAAO6X,OAAO,IAAI,EAC1CiK,EAAazK,EAAQO,EAAS4N,EAAO,aAAcrP,CAAY,EAC/DsP,EAAWpO,EAAQO,EAAS4N,EAAO,WAAYrP,CAAY,EAC3DuP,EAAYrO,EAAQO,EAAS4N,EAAO,YAAarP,CAAY,EAC7DoH,EAAalG,EAAQO,EAAS4N,EAAO,aAAcrP,CAAY,EAC/DoL,GAAOlK,EAAQO,EAAS4N,EAAO,OAAQrP,CAAY,EACnDwP,GAAatO,EAAQO,EAAS4N,EAAO,aAAcvP,EAAa,EACpEwB,OAAAA,GAAqBG,EAAS4N,EAAO,mBAAmB,EACjD,IAAItT,QAAQ,CAAC0T,EAAUxT,KAAW,CACvC,MAAMiN,EAAU,CACdC,QAAS,UACTpC,KAAAA,EACAvL,IAAKoO,EACL+B,WAAY/S,CACd,EASA,GARI+S,GAAc,OAChBzC,EAAQyC,WAAaA,GACnB2D,GAAY,OACdpG,EAAQoG,SAAWA,GACjBC,GAAa,OACfrG,EAAQqG,UAAYA,GAClBnI,GAAc,OAChB8B,EAAQ9B,WAAaA,GACnBgE,IAAQ,KACVlC,EAAQkC,KAAOA,OAEf,OAAM,IAAI3jB,MAAO,4CAA2C,EAC1D+nB,IAAc,OAChBtG,EAAQsG,WAAatF,EAAQwF,MAAMF,EAAU,GAC/C/G,EAAYC,EAAMQ,EAAS,CAACxf,GAAOkf,KAAa,CAC1Clf,KAAU,KACZuS,GAAO,IAAIxU,MAAMiC,EAAK,CAAC,EAEvB+lB,EAAS,CACPrX,OAAQkS,GAAyB1B,GAASxQ,OAAQ8R,CAAO,EACzDK,SAAUD,GAAyB1B,GAAS2B,SAAUL,CAAO,EAC7DnD,KAAM6B,GAAS7B,KACfnB,SAAUgD,GAAShD,SACnB+J,YAAa/G,GAAS+G,YACtBJ,UAAW3G,GAAS2G,UACpBK,OAAQhH,GAASgH,OACjBJ,WAAYtF,EAAQa,KAAKnC,GAAS4G,UAAU,CAC9C,CAAC,CACL,CAAC,CACH,CAAC,CACH,EAIER,QAAQrG,EAAU,CAChB,IAAIkH,EAAkB,+DAClBC,EAAiBC,GAAgB,IAAItoB,MAAMooB,CAAc,EAAGlI,EAAU,SAAS,EACnF4G,EAAiB9lB,KAAK,CAAEmQ,KAAAA,EAAM+P,SAAAA,EAAUqH,KAAMF,CAAe,CAAC,EAC9Df,EAAOC,QAAU,EACnB,EACAC,MAAMtG,EAAU,CACd,IAAIkH,EAAkB,6DAClBC,EAAiBC,GAAgB,IAAItoB,MAAMooB,CAAc,EAAGlI,EAAU,OAAO,EACjF6G,EAAe/lB,KAAK,CAAEmQ,KAAAA,EAAM+P,SAAAA,EAAUqH,KAAMF,CAAe,CAAC,EAC5Df,EAAOE,MAAQ,EACjB,EACAC,UAAUzN,EAASkH,EAAU,CAC3B,IAAIkH,EAAkB,iEAClBC,EAAiBC,GAAgB,IAAItoB,MAAMooB,CAAc,EAAGlI,EAAU,WAAW,EACjF0H,EAAQ,CAAC,EACTY,EAAS/O,EAAQO,EAAS4N,EAAO,SAAUpP,EAAY,EACvDsP,EAAYrO,EAAQO,EAAS4N,EAAO,YAAarP,CAAY,EAEjE,GADAsB,GAAqBG,EAAS4N,EAAQ,kCAAiC9P,GAAM3G,CAAI,CAAE,EAAC,EAChFqX,GAAU,KACZ,MAAM,IAAIxoB,MAAO,sCAAqC,EACxD,IAAIyW,GAAK0Q,KACTH,EAAmBvQ,EAAE,EAAI,CAAEtF,KAAAA,EAAM+P,SAAAA,EAAUqH,KAAMF,CAAe,EAChEf,EAAOG,UAAUzmB,KAAK,CAAEyV,GAAAA,GAAI+R,OAAQA,EAAO1L,OAAQgL,UAAWA,GAAa,EAAG,CAAC,CACjF,EACAJ,OAAO1N,EAASkH,EAAU,CACxB,IAAIkH,EAAkB,8DAClBC,EAAiBC,GAAgB,IAAItoB,MAAMooB,CAAc,EAAGlI,EAAU,QAAQ,EAC9E0H,EAAQ,CAAC,EACTY,EAAS/O,EAAQO,EAAS4N,EAAO,SAAUpP,EAAY,EACvDsP,EAAYrO,EAAQO,EAAS4N,EAAO,YAAarP,CAAY,EAEjE,GADAsB,GAAqBG,EAAS4N,EAAQ,+BAA8B9P,GAAM3G,CAAI,CAAE,EAAC,EAC7EqX,GAAU,KACZ,MAAM,IAAIxoB,MAAO,mCAAkC,EACrD,IAAIyW,GAAK0Q,KACTF,GAAgBxQ,EAAE,EAAI,CAAEtF,KAAAA,EAAM+P,SAAAA,EAAUqH,KAAMF,CAAe,EAC7Df,EAAOI,OAAO1mB,KAAK,CAAEyV,GAAAA,GAAI+R,OAAQA,EAAO1L,OAAQgL,UAAWA,GAAa,EAAG,CAAC,CAC9E,EACAW,UAAUvH,EAAU,CAClBgG,EAAmBlmB,KAAKkgB,CAAQ,CAClC,EACAwH,QAASxI,EAASwI,OACpB,CAAC,EACGf,IACF,MAAMA,GACRpD,EAAevjB,KAAKsmB,CAAM,CAC5B,OAAS1S,EAAG,CACV,MAAO,CAAEyP,GAAI,GAAOpiB,MAAO2S,EAAGsP,WAAY/S,CAAK,CACjD,CACF,CACAwQ,EAAiB,UAAU,EAAI,CAAClL,EAAIgL,IAAYvN,EAAQ,OAAQ,KAAM,WAAa,CACjF,IAAIiN,EAAW,CAAExQ,OAAQ,CAAC,EAAGmS,SAAU,CAAC,CAAE,EAC1C,MAAMxO,QAAQZ,IAAIoT,EAAiBjK,IAAK8L,GAAOzU,EAAQ,OAAQ,CAACyU,CAAE,EAAG,UAAW,CAAExX,KAAAA,EAAM+P,SAAAA,EAAUqH,KAAAA,CAAK,EAAG,CACxG,GAAI,CACF,IAAIvF,EAAS,MAAM9B,EAAS,EAC5B,GAAI8B,GAAU,KAAM,CAClB,GAAI,OAAOA,GAAW,SACpB,MAAM,IAAIhjB,MAAO,yCAAwC8X,GAAM3G,CAAI,CAAE,sBAAqB,EAC5F,IAAIoF,EAAO,CAAC,EACR5F,EAAS8I,EAAQuJ,EAAQzM,EAAM,SAAUqC,EAAW,EACpDkK,EAAWrJ,EAAQuJ,EAAQzM,EAAM,WAAYqC,EAAW,EAC5DiB,GAAqBmJ,EAAQzM,EAAO,qCAAoCuB,GAAM3G,CAAI,CAAE,EAAC,EACjFR,GAAU,MACZwQ,EAASxQ,OAAO3P,KAAK,GAAG0iB,GAAiB/S,EAAQ,SAAU8R,EAAStR,CAAI,CAAC,EACvE2R,GAAY,MACd3B,EAAS2B,SAAS9hB,KAAK,GAAG0iB,GAAiBZ,EAAU,WAAYL,EAAStR,CAAI,CAAC,CACnF,CACF,OAASyD,EAAG,CACVuM,EAASxQ,OAAO3P,KAAK4gB,GAAsBhN,EAAGsL,EAAUuC,EAAS8F,GAAQA,EAAK,EAAGpX,CAAI,CAAC,CACxF,CACF,CAAC,CAAC,CAAC,EACHoQ,EAAa9K,EAAI0K,CAAQ,CAC3B,CAAC,EACDQ,EAAiB,YAAY,EAAI,CAAClL,EAAIgL,IAAYvN,EAAQ,OAAQ,KAAM,WAAa,CACnF,IAAIiN,EAAW,CAAC,EAAGhQ,EAAO,GAAI+P,EAAUqH,EACxC,QAASK,KAAOnH,EAAQoH,IACtB,GAAI,EACD,CAAE1X,KAAAA,EAAM+P,SAAAA,EAAUqH,KAAAA,CAAK,EAAIvB,EAAmB4B,CAAG,GAClD,IAAI5F,EAAS,MAAM9B,EAAS,CAC1B5B,KAAMmC,EAAQnC,KACduI,SAAUpG,EAAQoG,SAClBC,UAAWrG,EAAQqG,UACnBnI,WAAY8B,EAAQ9B,WACpBgE,KAAMlC,EAAQkC,KACdoE,WAAYtF,EAAQa,KAAK7B,EAAQsG,UAAU,CAC7C,CAAC,EACD,GAAI/E,GAAU,KAAM,CAClB,GAAI,OAAOA,GAAW,SACpB,MAAM,IAAIhjB,MAAO,2CAA0C8X,GAAM3G,CAAI,CAAE,sBAAqB,EAC9F,IAAIoF,EAAO,CAAC,EACR2N,EAAazK,EAAQuJ,EAAQzM,EAAM,aAAcgC,CAAY,EAC7D+G,EAAO7F,EAAQuJ,EAAQzM,EAAM,OAAQgC,CAAY,EACjDuP,EAAYrO,EAAQuJ,EAAQzM,EAAM,YAAagC,CAAY,EAC3D4P,EAAS1O,EAAQuJ,EAAQzM,EAAM,SAAUgC,CAAY,EACrD4F,EAAW1E,EAAQuJ,EAAQzM,EAAM,WAAY+B,EAAa,EAC1D4P,GAAczO,EAAQuJ,EAAQzM,EAAM,cAAe+B,EAAa,EAChEyP,GAAatO,EAAQuJ,EAAQzM,EAAM,aAAc8B,EAAa,EAC9D1H,EAAS8I,EAAQuJ,EAAQzM,EAAM,SAAUqC,EAAW,EACpDkK,GAAWrJ,EAAQuJ,EAAQzM,EAAM,WAAYqC,EAAW,EACxDkQ,EAAarP,EAAQuJ,EAAQzM,EAAM,aAAcqC,EAAW,EAC5DmQ,GAAYtP,EAAQuJ,EAAQzM,EAAM,YAAaqC,EAAW,EAC9DiB,GAAqBmJ,EAAQzM,EAAO,uCAAsCuB,GAAM3G,CAAI,CAAE,EAAC,EACvFgQ,EAAS1K,GAAKmS,EACV1E,GAAc,OAChB/C,EAAS+C,WAAaA,GACpB5E,GAAQ,OACV6B,EAAS7B,KAAOA,GACdwI,GAAa,OACf3G,EAAS2G,UAAYA,GACnBK,GAAU,OACZhH,EAASgH,OAASA,GAChBhK,GAAY,OACdgD,EAAShD,SAAWA,GAClB+J,IAAe,OACjB/G,EAAS+G,YAAcA,IACrBH,IAAc,OAChB5G,EAAS4G,WAAatF,EAAQwF,MAAMF,EAAU,GAC5CpX,GAAU,OACZwQ,EAASxQ,OAAS+S,GAAiB/S,EAAQ,SAAU8R,EAAStR,CAAI,GAChE2R,IAAY,OACd3B,EAAS2B,SAAWY,GAAiBZ,GAAU,WAAYL,EAAStR,CAAI,GACtE2X,GAAc,OAChB3H,EAAS2H,WAAaE,GAAoBF,EAAY,YAAY,GAChEC,IAAa,OACf5H,EAAS4H,UAAYC,GAAoBD,GAAW,WAAW,GACjE,KACF,CACF,OAASnU,EAAG,CACVuM,EAAW,CAAE1K,GAAImS,EAAKjY,OAAQ,CAACiR,GAAsBhN,EAAGsL,EAAUuC,EAAS8F,GAAQA,EAAK,EAAGpX,CAAI,CAAC,CAAE,EAClG,KACF,CAEFoQ,EAAa9K,EAAI0K,CAAQ,CAC3B,CAAC,EACDQ,EAAiB,SAAS,EAAI,CAAClL,EAAIgL,IAAYvN,EAAQ,OAAQ,KAAM,WAAa,CAChF,IAAIiN,EAAW,CAAC,EAAGhQ,EAAO,GAAI+P,EAAUqH,EACxC,QAASK,KAAOnH,EAAQoH,IACtB,GAAI,EACD,CAAE1X,KAAAA,EAAM+P,SAAAA,EAAUqH,KAAAA,CAAK,EAAItB,GAAgB2B,CAAG,GAC/C,IAAI5F,EAAS,MAAM9B,EAAS,CAC1B5B,KAAMmC,EAAQnC,KACdwI,UAAWrG,EAAQqG,UACnBK,OAAQ1G,EAAQ0G,OAChBJ,WAAYtF,EAAQa,KAAK7B,EAAQsG,UAAU,CAC7C,CAAC,EACD,GAAI/E,GAAU,KAAM,CAClB,GAAI,OAAOA,GAAW,SACpB,MAAM,IAAIhjB,MAAO,wCAAuC8X,GAAM3G,CAAI,CAAE,sBAAqB,EAC3F,IAAIoF,EAAO,CAAC,EACR2N,EAAazK,EAAQuJ,EAAQzM,EAAM,aAAcgC,CAAY,EAC7DmH,EAAWjG,EAAQuJ,EAAQzM,EAAM,WAAY+C,EAAwB,EACrEqG,EAAalG,EAAQuJ,EAAQzM,EAAM,aAAcgC,CAAY,EAC7DwP,EAAatO,EAAQuJ,EAAQzM,EAAM,aAAc8B,EAAa,EAC9DiG,EAAS7E,EAAQuJ,EAAQzM,EAAM,SAAUgC,CAAY,EACrD5H,GAAS8I,EAAQuJ,EAAQzM,EAAM,SAAUqC,EAAW,EACpDkK,GAAWrJ,EAAQuJ,EAAQzM,EAAM,WAAYqC,EAAW,EACxDkQ,EAAarP,EAAQuJ,EAAQzM,EAAM,aAAcqC,EAAW,EAC5DmQ,GAAYtP,EAAQuJ,EAAQzM,EAAM,YAAaqC,EAAW,EAC9DiB,GAAqBmJ,EAAQzM,EAAO,oCAAmCuB,GAAM3G,CAAI,CAAE,EAAC,EACpFgQ,EAAS1K,GAAKmS,EACV1E,GAAc,OAChB/C,EAAS+C,WAAaA,GACpBxE,aAAoBngB,WACtB4hB,EAASzB,SAAWA,EACbA,GAAY,OACnByB,EAASzB,SAAWrJ,EAAWqJ,CAAQ,GACrCC,GAAc,OAChBwB,EAASxB,WAAaA,GACpBoI,GAAc,OAChB5G,EAAS4G,WAAatF,EAAQwF,MAAMF,CAAU,GAC5CzJ,GAAU,OACZ6C,EAAS7C,OAASA,GAChB3N,IAAU,OACZwQ,EAASxQ,OAAS+S,GAAiB/S,GAAQ,SAAU8R,EAAStR,CAAI,GAChE2R,IAAY,OACd3B,EAAS2B,SAAWY,GAAiBZ,GAAU,WAAYL,EAAStR,CAAI,GACtE2X,GAAc,OAChB3H,EAAS2H,WAAaE,GAAoBF,EAAY,YAAY,GAChEC,IAAa,OACf5H,EAAS4H,UAAYC,GAAoBD,GAAW,WAAW,GACjE,KACF,CACF,OAASnU,EAAG,CACVuM,EAAW,CAAE1K,GAAImS,EAAKjY,OAAQ,CAACiR,GAAsBhN,EAAGsL,EAAUuC,EAAS8F,GAAQA,EAAK,EAAGpX,CAAI,CAAC,CAAE,EAClG,KACF,CAEFoQ,EAAa9K,EAAI0K,CAAQ,CAC3B,CAAC,EACD,IAAIqD,EAAoBA,CAACxB,EAAQjO,IAASA,EAAK,CAAC,EAAG,CAAC,CAAC,EACjDgS,EAAennB,OAAS,IAC1B4kB,EAAoBA,CAACxB,EAAQjO,IAAS,CAC7Bb,EAAQ,OAAQ,KAAM,WAAa,CACxC,MAAMkR,EAAc,CAAC,EACfC,EAAgB,CAAC,EACvB,SAAW,CAAElU,KAAAA,EAAM+P,SAAAA,EAAUqH,KAAAA,CAAK,IAAKxB,EAAgB,CACrD,IAAIkC,EACAC,EACJ,GAAI,CACF,MAAM5lB,EAAQ,MAAM4d,EAAS8B,CAAM,EACnC,GAAI1f,GAAS,KAAM,CACjB,GAAI,OAAOA,GAAU,SACnB,MAAM,IAAItD,MAAO,uCAAsC8X,GAAM3G,CAAI,CAAE,sBAAqB,EAC1F,IAAIoF,EAAO,CAAC,EACR5F,EAAS8I,EAAQnW,EAAOiT,EAAM,SAAUqC,EAAW,EACnDkK,EAAWrJ,EAAQnW,EAAOiT,EAAM,WAAYqC,EAAW,EAC3DiB,GAAqBvW,EAAOiT,EAAO,mCAAkCuB,GAAM3G,CAAI,CAAE,EAAC,EAC9ER,GAAU,OACZsY,EAAYvF,GAAiB/S,EAAQ,SAAU8R,EAAStR,CAAI,GAC1D2R,GAAY,OACdoG,EAAcxF,GAAiBZ,EAAU,WAAYL,EAAStR,CAAI,EACtE,CACF,OAASyD,EAAG,CACVqU,EAAY,CAACrH,GAAsBhN,EAAGsL,EAAUuC,EAAS8F,GAAQA,EAAK,EAAGpX,CAAI,CAAC,CAChF,CACA,GAAI8X,EAAW,CACb7D,EAAYpkB,KAAK,GAAGioB,CAAS,EAC7B,GAAI,CACFjG,EAAOrS,OAAO3P,KAAK,GAAGioB,CAAS,CACjC,MAAY,CACZ,CACF,CACA,GAAIC,EAAa,CACf7D,EAAcrkB,KAAK,GAAGkoB,CAAW,EACjC,GAAI,CACFlG,EAAOF,SAAS9hB,KAAK,GAAGkoB,CAAW,CACrC,MAAY,CACZ,CACF,CACF,CACAnU,EAAKqQ,EAAaC,CAAa,CACjC,CAAC,CACH,GAEF,IAAIZ,EAA6BA,IAAM,CACrC,UAAW0E,KAAMjC,EACfkC,WAAW,IAAMD,EAAG,EAAG,CAAC,CAE5B,EACA/B,OAAAA,EAAc,GACP,CACL/C,GAAI,GACJE,eAAAA,EACAC,kBAAAA,EACAC,2BAAAA,CACF,CACF,CAAC,EACD,SAAS/B,IAAoB,CAC3B,MAAM7F,EAAsB,IAAIwM,IAChC,IAAIC,EAAS,EACb,MAAO,CACLhG,KAAK7M,EAAI,CACP,OAAOoG,EAAIpa,IAAIgU,CAAE,CACnB,EACAwR,MAAM3kB,EAAO,CACX,GAAIA,IAAU,OACZ,MAAO,GACT,MAAMmT,EAAK6S,IACXzM,OAAAA,EAAIvW,IAAImQ,EAAInT,CAAK,EACVmT,CACT,CACF,CACF,CACA,SAAS6R,GAAgB1T,EAAGsL,EAAUqJ,EAAO,CAC3C,IAAIhB,EACAiB,EAAQ,GACZ,MAAO,IAAM,CACX,GAAIA,EACF,OAAOjB,EACTiB,EAAQ,GACR,GAAI,CACF,IAAIC,GAAS7U,EAAExD,MAAQ,IAAIgB,MAAM;AAAA,CAAI,EACrCqX,EAAMC,OAAO,EAAG,CAAC,EACjB,IAAIC,EAAYC,GAAkB1J,EAAUuJ,EAAOF,CAAK,EACxD,GAAII,EACFpB,OAAAA,EAAO,CAAE5Q,KAAM/C,EAAEvD,QAASwY,SAAUF,CAAU,EACvCpB,CAEX,MAAa,CACb,CACF,CACF,CACA,SAAS3G,GAAsBhN,EAAGsL,EAAU4J,EAAOvB,EAAMrE,EAAY,CACnE,IAAIvM,EAAO,iBACPgS,EAAY,KAChB,GAAI,CACFhS,GAAQ/C,GAAKA,EAAEvD,SAAWuD,GAAK,EACjC,MAAa,CACb,CACA,GAAI,CACF+U,EAAYC,GAAkB1J,GAAWtL,EAAExD,MAAQ,IAAIgB,MAAM;AAAA,CAAI,EAAG,EAAE,CACxE,MAAa,CACb,CACA,MAAO,CAAEqE,GAAI,GAAIyN,WAAAA,EAAYvM,KAAAA,EAAMkS,SAAUF,EAAWI,MAAOxB,EAAO,CAACA,CAAI,EAAI,CAAC,EAAGlF,OAAQyG,EAAQA,EAAM7B,MAAMrT,CAAC,EAAI,EAAG,CACzH,CACA,SAASgV,GAAkB1J,EAAUuJ,EAAOF,EAAO,CACjD,IAAIS,EAAK,UACT,GAAI9J,EAAS+J,cAAgB,CAACR,EAAM,CAAC,EAAES,WAAWF,CAAE,GAAKP,EAAM,CAAC,EAAES,WAAWF,CAAE,EAC7E,QAAStqB,EAAI,EAAGA,EAAI+pB,EAAM7pB,OAAQF,IAAK,CACrC,IAAIyqB,EAAOV,EAAM/pB,CAAC,EAClB,GAAKyqB,EAAKD,WAAWF,CAAE,EAGvB,IADAG,EAAOA,EAAKrlB,MAAMklB,EAAGpqB,MAAM,IACd,CACX,IAAIwqB,EAAQ,iCAAiCC,KAAKF,CAAI,EACtD,GAAIC,EAAO,CACTD,EAAOC,EAAM,CAAC,EACd,QACF,CAEA,GADAA,EAAQ,2CAA2CC,KAAKF,CAAI,EACxDC,EAAO,CACTD,EAAOC,EAAM,CAAC,EACd,QACF,CAEA,GADAA,EAAQ,sBAAsBC,KAAKF,CAAI,EACnCC,EAAO,CACT,IAAI1K,EACJ,GAAI,CACFA,EAAWQ,EAAS+J,aAAaG,EAAM,CAAC,EAAG,MAAM,CACnD,MAAY,CACV,KACF,CACA,IAAIE,EAAW5K,EAAStN,MAAM,0BAA0B,EAAE,CAACgY,EAAM,CAAC,EAAI,CAAC,GAAK,GACxEG,EAAS,CAACH,EAAM,CAAC,EAAI,EACrBxqB,EAAS0qB,EAASxlB,MAAMylB,EAAQA,EAAShB,EAAM3pB,MAAM,IAAM2pB,EAAQA,EAAM3pB,OAAS,EACtF,MAAO,CACL4qB,KAAMJ,EAAM,CAAC,EACbtC,UAAW,OACXqC,KAAM,CAACC,EAAM,CAAC,EACdG,OAAQlU,EAAWiU,EAASxlB,MAAM,EAAGylB,CAAM,CAAC,EAAE3qB,OAC9CA,OAAQyW,EAAWiU,EAASxlB,MAAMylB,EAAQA,EAAS3qB,CAAM,CAAC,EAAEA,OAC5D0qB,SAAUA,EAAW;AAAA,EAAOb,EAAM3kB,MAAM,CAAC,EAAE7D,KAAK;AAAA,CAAI,EACpDwpB,WAAY,EACd,CACF,CACA,KACF,CACF,CAEF,OAAO,IACT,CACA,SAASxH,GAAoBtL,EAAMhH,EAAQmS,EAAU,CACnD,IAAIvT,EAAQ,EACRmb,EAAU/Z,EAAO/Q,OAAS,EAAI,GAAM,SAAQ+Q,EAAO/Q,MAAO,SAAQ+Q,EAAO/Q,OAAS,EAAI,GAAK,GAAI,IAAK+Q,EAAO7L,MAAM,EAAGyK,EAAQ,CAAC,EAAEsN,IAAI,CAACjI,EAAGlV,IAAM,CAC/I,GAAIA,IAAM6P,EACR,MAAO;AAAA,KACT,GAAI,CAACqF,EAAEiV,SACL,MAAQ;AAAA,SACLjV,EAAE+C,IAAK,GACZ,GAAI,CAAE6S,KAAAA,EAAML,KAAAA,EAAMI,OAAAA,CAAO,EAAI3V,EAAEiV,SAC3Bc,EAAa/V,EAAEsP,WAAc,YAAWtP,EAAEsP,UAAW,KAAM,GAC/D,MAAQ;AAAA,EACVsG,CAAK,IAAGL,CAAK,IAAGI,CAAO,YAAWI,CAAW,GAAE/V,EAAE+C,IAAK,EACtD,CAAC,EAAE1W,KAAK,EAAE,EACNgB,EAAQ,IAAIjC,MAAO,GAAE2X,CAAK,GAAE+S,CAAQ,EAAC,EACzCzoB,OAAAA,EAAM0O,OAASA,EACf1O,EAAM6gB,SAAWA,EACV7gB,CACT,CACA,SAAS4gB,GAAyBY,EAAUqG,EAAO,CACjD,UAAWzY,KAAWoS,EACpBpS,EAAQgS,OAASyG,EAAMxG,KAAKjS,EAAQgS,MAAM,EAE5C,OAAOI,CACT,CACA,SAASmH,GAAiBjB,EAAW7P,EAAO,CAC1C,GAAI6P,GAAa,KACf,OAAO,KACT,IAAIpT,EAAO,CAAC,EACRiU,EAAO/Q,EAAQkQ,EAAWpT,EAAM,OAAQgC,CAAY,EACpDuP,EAAYrO,EAAQkQ,EAAWpT,EAAM,YAAagC,CAAY,EAC9D4R,EAAO1Q,EAAQkQ,EAAWpT,EAAM,OAAQmC,EAAa,EACrD6R,EAAS9Q,EAAQkQ,EAAWpT,EAAM,SAAUmC,EAAa,EACzD9Y,EAAS6Z,EAAQkQ,EAAWpT,EAAM,SAAUmC,EAAa,EACzD4R,EAAW7Q,EAAQkQ,EAAWpT,EAAM,WAAYgC,CAAY,EAC5DkS,EAAahR,EAAQkQ,EAAWpT,EAAM,aAAcgC,CAAY,EACpEsB,OAAAA,GAAqB8P,EAAWpT,EAAMuD,CAAK,EACpC,CACL0Q,KAAMA,GAAQ,GACd1C,UAAWA,GAAa,GACxBqC,KAAMA,GAAQ,EACdI,OAAQA,GAAU,EAClB3qB,OAAQA,GAAU,EAClB0qB,SAAUA,GAAY,GACtBG,WAAYA,GAAc,EAC5B,CACF,CACA,SAAS/G,GAAiBD,EAAUoH,EAAUf,EAAOgB,EAAoB,CACvE,IAAIC,EAAgB,CAAC,EACjBC,EAAQ,EACZ,UAAW3Z,KAAWoS,EAAU,CAC9B,IAAIlN,EAAO,CAAC,EACRE,EAAKgD,EAAQpI,EAASkF,EAAM,KAAMgC,CAAY,EAC9C2L,EAAazK,EAAQpI,EAASkF,EAAM,aAAcgC,CAAY,EAC9DZ,EAAO8B,EAAQpI,EAASkF,EAAM,OAAQgC,CAAY,EAClDoR,EAAYlQ,EAAQpI,EAASkF,EAAM,WAAY2C,EAAkB,EACjE6Q,GAAQtQ,EAAQpI,EAASkF,EAAM,QAASqC,EAAW,EACnDyK,EAAS5J,EAAQpI,EAASkF,EAAM,SAAU8B,EAAa,EACvDyB,GAAS,cAAakR,CAAM,QAAOH,CAAS,IAChDhR,GAAqBxI,EAASkF,EAAMuD,EAAK,EACzC,IAAImR,EAAa,CAAC,EAClB,GAAIlB,GACF,UAAWxB,KAAQwB,GAAO,CACxB,IAAImB,EAAW,CAAC,EACZC,EAAW1R,EAAQ8O,EAAM2C,EAAU,OAAQ3S,CAAY,EACvD6S,EAAe3R,EAAQ8O,EAAM2C,EAAU,WAAYhS,EAAkB,EACzEW,GAAqB0O,EAAM2C,EAAUpR,EAAK,EAC1CmR,EAAWjqB,KAAK,CACd2W,KAAMwT,GAAY,GAClBtB,SAAUe,GAAiBQ,EAActR,EAAK,CAChD,CAAC,CACH,CAEFiR,EAAc/pB,KAAK,CACjByV,GAAIA,GAAM,GACVyN,WAAYA,GAAc4G,EAC1BnT,KAAMA,GAAQ,GACdkS,SAAUe,GAAiBjB,EAAW7P,EAAK,EAC3CiQ,MAAOkB,EACP5H,OAAQyG,EAAQA,EAAM7B,MAAM5E,CAAM,EAAI,EACxC,CAAC,EACD2H,GACF,CACA,OAAOD,CACT,CACA,SAAS/B,GAAoB5J,EAAQyL,EAAU,CAC7C,MAAM7H,EAAS,CAAC,EAChB,UAAW1f,KAAS8b,EAAQ,CAC1B,GAAI,OAAO9b,GAAU,SACnB,MAAM,IAAItD,MAAO,GAAE8X,GAAM+S,CAAQ,CAAE,8BAA6B,EAClE7H,EAAOhiB,KAAKsC,CAAK,CACnB,CACA,OAAO0f,CACT,CACA,SAASgC,GAAmB,CAAE1F,KAAAA,EAAMI,SAAAA,CAAS,EAAG,CAC9C,IAAI/H,EAAO,KACX,MAAO,CACL2H,KAAAA,EACAI,SAAAA,EACA,IAAI/H,MAAO,CACT,MAAM0T,EAAS,KAAK3L,SACpB,OAAI/H,IAAS,MAAQ0T,IAAW3L,KAC9BA,EAAW2L,EACX1T,EAAOb,EAAWuU,CAAM,GAEnB1T,CACT,CACF,CACF,CAGA,IAAI7B,GAAU,UACVV,GAAS4E,GAAYsR,GAAuB,EAAElW,MAAM4E,CAAO,EAC3D1E,GAAW0E,GAAYsR,GAAuB,EAAEhW,QAAQ0E,CAAO,EAC/DpE,EAAYA,CAACrE,EAAOyI,IAAYsR,GAAuB,EAAE1V,UAAUrE,EAAOyI,CAAO,EACjFvE,EAAiBA,CAACgO,EAAUzJ,IAAYsR,GAAuB,EAAE7V,eAAegO,EAAUzJ,CAAO,EACjG9E,EAAkBA,CAACwI,EAAU1D,IAAYsR,GAAuB,EAAEpW,gBAAgBwI,EAAU1D,CAAO,EACnG3E,EAAYA,IAAM,CACpB,MAAM,IAAIrV,MAAO,wCAAuC,CAC1D,EACI6V,EAAgBA,IAAM,CACxB,MAAM,IAAI7V,MAAO,4CAA2C,CAC9D,EACI0V,EAAqBA,IAAM,CAC7B,MAAM,IAAI1V,MAAO,iDAAgD,CACnE,EACImV,EAAsBA,IAAM,CAC9B,MAAM,IAAInV,MAAO,kDAAiD,CACpE,EACIurB,EACAC,GACAF,GAAyBA,IAAM,CACjC,GAAIE,GACF,OAAOA,GACT,MAAID,EACI,IAAIvrB,MAAM,gGAAgG,EAC5G,IAAIA,MAAM,mDAAmD,CACrE,EACI2V,GAAcqE,GAAY,CAC5BA,EAAUD,GAA0BC,GAAW,CAAC,CAAC,EACjD,IAAIE,EAAUF,EAAQE,QAClBC,EAAaH,EAAQG,WACrBsR,EAAYzR,EAAQI,SAAW,GACnC,GAAI,CAACF,GAAW,CAACC,EACf,MAAM,IAAIna,MAAM,qEAAqE,EACvF,GAAIurB,EACF,MAAM,IAAIvrB,MAAM,yCAAyC,EAC3DurB,OAAAA,EAAoBG,GAAoBxR,GAAW,GAAIC,EAAYsR,CAAS,EAC5EF,EAAkBI,MAAM,IAAM,CAC5BJ,EAAoB,MACtB,CAAC,EACMA,CACT,EACIG,GAAsBA,CAACxR,EAASC,EAAYsR,IAAcvX,EAAQ,OAAQ,KAAM,WAAa,CAC/F,IAAIkG,EACJ,GAAIqR,EAAW,CACb,IAAIG,EAAO,IAAIC,KAAK,CAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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","sources":["../../node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js","../../node_modules/.pnpm/buffer@6.0.3/node_modules/buffer/index.js","../../node_modules/.pnpm/esbuild-wasm@0.17.10/node_modules/esbuild-wasm/lib/browser.js","../../node_modules/.pnpm/ieee754@1.2.1/node_modules/ieee754/index.js","../../node_modules/.pnpm/@fal-works+esbuild-plugin-global-externals@2.1.2/node_modules/@fal-works/esbuild-plugin-global-externals/lib/module-info.js","../../node_modules/.pnpm/@fal-works+esbuild-plugin-global-externals@2.1.2/node_modules/@fal-works/esbuild-plugin-global-externals/lib/on-load.js","../../node_modules/.pnpm/@fal-works+esbuild-plugin-global-externals@2.1.2/node_modules/@fal-works/esbuild-plugin-global-externals/lib/with-reg-exp.js","../../node_modules/.pnpm/@fal-works+esbuild-plugin-global-externals@2.1.2/node_modules/@fal-works/esbuild-plugin-global-externals/lib/with-object.js","../../node_modules/.pnpm/svg64@2.0.0/node_modules/svg64/src/svg64.ts"],"sourcesContent":["'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","(module=>{\n\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e) {\n reject(e);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n};\n\n// lib/npm/browser.ts\nvar browser_exports = {};\n__export(browser_exports, {\n analyzeMetafile: () => analyzeMetafile,\n analyzeMetafileSync: () => analyzeMetafileSync,\n build: () => build,\n buildSync: () => buildSync,\n context: () => context,\n default: () => browser_default,\n formatMessages: () => formatMessages,\n formatMessagesSync: () => formatMessagesSync,\n initialize: () => initialize,\n transform: () => transform,\n transformSync: () => transformSync,\n version: () => version\n});\nmodule.exports = __toCommonJS(browser_exports);\n\n// lib/shared/stdio_protocol.ts\nfunction encodePacket(packet) {\n let visit = (value) => {\n if (value === null) {\n bb.write8(0);\n } else if (typeof value === \"boolean\") {\n bb.write8(1);\n bb.write8(+value);\n } else if (typeof value === \"number\") {\n bb.write8(2);\n bb.write32(value | 0);\n } else if (typeof value === \"string\") {\n bb.write8(3);\n bb.write(encodeUTF8(value));\n } else if (value instanceof Uint8Array) {\n bb.write8(4);\n bb.write(value);\n } else if (value instanceof Array) {\n bb.write8(5);\n bb.write32(value.length);\n for (let item of value) {\n visit(item);\n }\n } else {\n let keys = Object.keys(value);\n bb.write8(6);\n bb.write32(keys.length);\n for (let key of keys) {\n bb.write(encodeUTF8(key));\n visit(value[key]);\n }\n }\n };\n let bb = new ByteBuffer();\n bb.write32(0);\n bb.write32(packet.id << 1 | +!packet.isRequest);\n visit(packet.value);\n writeUInt32LE(bb.buf, bb.len - 4, 0);\n return bb.buf.subarray(0, bb.len);\n}\nfunction decodePacket(bytes) {\n let visit = () => {\n switch (bb.read8()) {\n case 0:\n return null;\n case 1:\n return !!bb.read8();\n case 2:\n return bb.read32();\n case 3:\n return decodeUTF8(bb.read());\n case 4:\n return bb.read();\n case 5: {\n let count = bb.read32();\n let value2 = [];\n for (let i = 0; i < count; i++) {\n value2.push(visit());\n }\n return value2;\n }\n case 6: {\n let count = bb.read32();\n let value2 = {};\n for (let i = 0; i < count; i++) {\n value2[decodeUTF8(bb.read())] = visit();\n }\n return value2;\n }\n default:\n throw new Error(\"Invalid packet\");\n }\n };\n let bb = new ByteBuffer(bytes);\n let id = bb.read32();\n let isRequest = (id & 1) === 0;\n id >>>= 1;\n let value = visit();\n if (bb.ptr !== bytes.length) {\n throw new Error(\"Invalid packet\");\n }\n return { id, isRequest, value };\n}\nvar ByteBuffer = class {\n constructor(buf = new Uint8Array(1024)) {\n this.buf = buf;\n this.len = 0;\n this.ptr = 0;\n }\n _write(delta) {\n if (this.len + delta > this.buf.length) {\n let clone = new Uint8Array((this.len + delta) * 2);\n clone.set(this.buf);\n this.buf = clone;\n }\n this.len += delta;\n return this.len - delta;\n }\n write8(value) {\n let offset = this._write(1);\n this.buf[offset] = value;\n }\n write32(value) {\n let offset = this._write(4);\n writeUInt32LE(this.buf, value, offset);\n }\n write(bytes) {\n let offset = this._write(4 + bytes.length);\n writeUInt32LE(this.buf, bytes.length, offset);\n this.buf.set(bytes, offset + 4);\n }\n _read(delta) {\n if (this.ptr + delta > this.buf.length) {\n throw new Error(\"Invalid packet\");\n }\n this.ptr += delta;\n return this.ptr - delta;\n }\n read8() {\n return this.buf[this._read(1)];\n }\n read32() {\n return readUInt32LE(this.buf, this._read(4));\n }\n read() {\n let length = this.read32();\n let bytes = new Uint8Array(length);\n let ptr = this._read(bytes.length);\n bytes.set(this.buf.subarray(ptr, ptr + length));\n return bytes;\n }\n};\nvar encodeUTF8;\nvar decodeUTF8;\nvar encodeInvariant;\nif (typeof TextEncoder !== \"undefined\" && typeof TextDecoder !== \"undefined\") {\n let encoder = new TextEncoder();\n let decoder = new TextDecoder();\n encodeUTF8 = (text) => encoder.encode(text);\n decodeUTF8 = (bytes) => decoder.decode(bytes);\n encodeInvariant = 'new TextEncoder().encode(\"\")';\n} else if (typeof Buffer !== \"undefined\") {\n encodeUTF8 = (text) => Buffer.from(text);\n decodeUTF8 = (bytes) => {\n let { buffer, byteOffset, byteLength } = bytes;\n return Buffer.from(buffer, byteOffset, byteLength).toString();\n };\n encodeInvariant = 'Buffer.from(\"\")';\n} else {\n throw new Error(\"No UTF-8 codec found\");\n}\nif (!(encodeUTF8(\"\") instanceof Uint8Array))\n throw new Error(`Invariant violation: \"${encodeInvariant} instanceof Uint8Array\" is incorrectly false\n\nThis indicates that your JavaScript environment is broken. You cannot use\nesbuild in this environment because esbuild relies on this invariant. This\nis not a problem with esbuild. You need to fix your environment instead.\n`);\nfunction readUInt32LE(buffer, offset) {\n return buffer[offset++] | buffer[offset++] << 8 | buffer[offset++] << 16 | buffer[offset++] << 24;\n}\nfunction writeUInt32LE(buffer, value, offset) {\n buffer[offset++] = value;\n buffer[offset++] = value >> 8;\n buffer[offset++] = value >> 16;\n buffer[offset++] = value >> 24;\n}\n\n// lib/shared/common.ts\nvar quote = JSON.stringify;\nvar buildLogLevelDefault = \"warning\";\nvar transformLogLevelDefault = \"silent\";\nfunction validateTarget(target) {\n validateStringValue(target, \"target\");\n if (target.indexOf(\",\") >= 0)\n throw new Error(`Invalid target: ${target}`);\n return target;\n}\nvar canBeAnything = () => null;\nvar mustBeBoolean = (value) => typeof value === \"boolean\" ? null : \"a boolean\";\nvar mustBeString = (value) => typeof value === \"string\" ? null : \"a string\";\nvar mustBeRegExp = (value) => value instanceof RegExp ? null : \"a RegExp object\";\nvar mustBeInteger = (value) => typeof value === \"number\" && value === (value | 0) ? null : \"an integer\";\nvar mustBeFunction = (value) => typeof value === \"function\" ? null : \"a function\";\nvar mustBeArray = (value) => Array.isArray(value) ? null : \"an array\";\nvar mustBeObject = (value) => typeof value === \"object\" && value !== null && !Array.isArray(value) ? null : \"an object\";\nvar mustBeEntryPoints = (value) => typeof value === \"object\" && value !== null ? null : \"an array or an object\";\nvar mustBeWebAssemblyModule = (value) => value instanceof WebAssembly.Module ? null : \"a WebAssembly.Module\";\nvar mustBeObjectOrNull = (value) => typeof value === \"object\" && !Array.isArray(value) ? null : \"an object or null\";\nvar mustBeStringOrBoolean = (value) => typeof value === \"string\" || typeof value === \"boolean\" ? null : \"a string or a boolean\";\nvar mustBeStringOrObject = (value) => typeof value === \"string\" || typeof value === \"object\" && value !== null && !Array.isArray(value) ? null : \"a string or an object\";\nvar mustBeStringOrArray = (value) => typeof value === \"string\" || Array.isArray(value) ? null : \"a string or an array\";\nvar mustBeStringOrUint8Array = (value) => typeof value === \"string\" || value instanceof Uint8Array ? null : \"a string or a Uint8Array\";\nvar mustBeStringOrURL = (value) => typeof value === \"string\" || value instanceof URL ? null : \"a string or a URL\";\nfunction getFlag(object, keys, key, mustBeFn) {\n let value = object[key];\n keys[key + \"\"] = true;\n if (value === void 0)\n return void 0;\n let mustBe = mustBeFn(value);\n if (mustBe !== null)\n throw new Error(`${quote(key)} must be ${mustBe}`);\n return value;\n}\nfunction checkForInvalidFlags(object, keys, where) {\n for (let key in object) {\n if (!(key in keys)) {\n throw new Error(`Invalid option ${where}: ${quote(key)}`);\n }\n }\n}\nfunction validateInitializeOptions(options) {\n let keys = /* @__PURE__ */ Object.create(null);\n let wasmURL = getFlag(options, keys, \"wasmURL\", mustBeStringOrURL);\n let wasmModule = getFlag(options, keys, \"wasmModule\", mustBeWebAssemblyModule);\n let worker = getFlag(options, keys, \"worker\", mustBeBoolean);\n checkForInvalidFlags(options, keys, \"in initialize() call\");\n return {\n wasmURL,\n wasmModule,\n worker\n };\n}\nfunction validateMangleCache(mangleCache) {\n let validated;\n if (mangleCache !== void 0) {\n validated = /* @__PURE__ */ Object.create(null);\n for (let key in mangleCache) {\n let value = mangleCache[key];\n if (typeof value === \"string\" || value === false) {\n validated[key] = value;\n } else {\n throw new Error(`Expected ${quote(key)} in mangle cache to map to either a string or false`);\n }\n }\n }\n return validated;\n}\nfunction pushLogFlags(flags, options, keys, isTTY, logLevelDefault) {\n let color = getFlag(options, keys, \"color\", mustBeBoolean);\n let logLevel = getFlag(options, keys, \"logLevel\", mustBeString);\n let logLimit = getFlag(options, keys, \"logLimit\", mustBeInteger);\n if (color !== void 0)\n flags.push(`--color=${color}`);\n else if (isTTY)\n flags.push(`--color=true`);\n flags.push(`--log-level=${logLevel || logLevelDefault}`);\n flags.push(`--log-limit=${logLimit || 0}`);\n}\nfunction validateStringValue(value, what, key) {\n if (typeof value !== \"string\") {\n throw new Error(`Expected value for ${what}${key !== void 0 ? \" \" + quote(key) : \"\"} to be a string, got ${typeof value} instead`);\n }\n return value;\n}\nfunction pushCommonFlags(flags, options, keys) {\n let legalComments = getFlag(options, keys, \"legalComments\", mustBeString);\n let sourceRoot = getFlag(options, keys, \"sourceRoot\", mustBeString);\n let sourcesContent = getFlag(options, keys, \"sourcesContent\", mustBeBoolean);\n let target = getFlag(options, keys, \"target\", mustBeStringOrArray);\n let format = getFlag(options, keys, \"format\", mustBeString);\n let globalName = getFlag(options, keys, \"globalName\", mustBeString);\n let mangleProps = getFlag(options, keys, \"mangleProps\", mustBeRegExp);\n let reserveProps = getFlag(options, keys, \"reserveProps\", mustBeRegExp);\n let mangleQuoted = getFlag(options, keys, \"mangleQuoted\", mustBeBoolean);\n let minify = getFlag(options, keys, \"minify\", mustBeBoolean);\n let minifySyntax = getFlag(options, keys, \"minifySyntax\", mustBeBoolean);\n let minifyWhitespace = getFlag(options, keys, \"minifyWhitespace\", mustBeBoolean);\n let minifyIdentifiers = getFlag(options, keys, \"minifyIdentifiers\", mustBeBoolean);\n let drop = getFlag(options, keys, \"drop\", mustBeArray);\n let charset = getFlag(options, keys, \"charset\", mustBeString);\n let treeShaking = getFlag(options, keys, \"treeShaking\", mustBeBoolean);\n let ignoreAnnotations = getFlag(options, keys, \"ignoreAnnotations\", mustBeBoolean);\n let jsx = getFlag(options, keys, \"jsx\", mustBeString);\n let jsxFactory = getFlag(options, keys, \"jsxFactory\", mustBeString);\n let jsxFragment = getFlag(options, keys, \"jsxFragment\", mustBeString);\n let jsxImportSource = getFlag(options, keys, \"jsxImportSource\", mustBeString);\n let jsxDev = getFlag(options, keys, \"jsxDev\", mustBeBoolean);\n let jsxSideEffects = getFlag(options, keys, \"jsxSideEffects\", mustBeBoolean);\n let define = getFlag(options, keys, \"define\", mustBeObject);\n let logOverride = getFlag(options, keys, \"logOverride\", mustBeObject);\n let supported = getFlag(options, keys, \"supported\", mustBeObject);\n let pure = getFlag(options, keys, \"pure\", mustBeArray);\n let keepNames = getFlag(options, keys, \"keepNames\", mustBeBoolean);\n let platform = getFlag(options, keys, \"platform\", mustBeString);\n if (legalComments)\n flags.push(`--legal-comments=${legalComments}`);\n if (sourceRoot !== void 0)\n flags.push(`--source-root=${sourceRoot}`);\n if (sourcesContent !== void 0)\n flags.push(`--sources-content=${sourcesContent}`);\n if (target) {\n if (Array.isArray(target))\n flags.push(`--target=${Array.from(target).map(validateTarget).join(\",\")}`);\n else\n flags.push(`--target=${validateTarget(target)}`);\n }\n if (format)\n flags.push(`--format=${format}`);\n if (globalName)\n flags.push(`--global-name=${globalName}`);\n if (platform)\n flags.push(`--platform=${platform}`);\n if (minify)\n flags.push(\"--minify\");\n if (minifySyntax)\n flags.push(\"--minify-syntax\");\n if (minifyWhitespace)\n flags.push(\"--minify-whitespace\");\n if (minifyIdentifiers)\n flags.push(\"--minify-identifiers\");\n if (charset)\n flags.push(`--charset=${charset}`);\n if (treeShaking !== void 0)\n flags.push(`--tree-shaking=${treeShaking}`);\n if (ignoreAnnotations)\n flags.push(`--ignore-annotations`);\n if (drop)\n for (let what of drop)\n flags.push(`--drop:${validateStringValue(what, \"drop\")}`);\n if (mangleProps)\n flags.push(`--mangle-props=${mangleProps.source}`);\n if (reserveProps)\n flags.push(`--reserve-props=${reserveProps.source}`);\n if (mangleQuoted !== void 0)\n flags.push(`--mangle-quoted=${mangleQuoted}`);\n if (jsx)\n flags.push(`--jsx=${jsx}`);\n if (jsxFactory)\n flags.push(`--jsx-factory=${jsxFactory}`);\n if (jsxFragment)\n flags.push(`--jsx-fragment=${jsxFragment}`);\n if (jsxImportSource)\n flags.push(`--jsx-import-source=${jsxImportSource}`);\n if (jsxDev)\n flags.push(`--jsx-dev`);\n if (jsxSideEffects)\n flags.push(`--jsx-side-effects`);\n if (define) {\n for (let key in define) {\n if (key.indexOf(\"=\") >= 0)\n throw new Error(`Invalid define: ${key}`);\n flags.push(`--define:${key}=${validateStringValue(define[key], \"define\", key)}`);\n }\n }\n if (logOverride) {\n for (let key in logOverride) {\n if (key.indexOf(\"=\") >= 0)\n throw new Error(`Invalid log override: ${key}`);\n flags.push(`--log-override:${key}=${validateStringValue(logOverride[key], \"log override\", key)}`);\n }\n }\n if (supported) {\n for (let key in supported) {\n if (key.indexOf(\"=\") >= 0)\n throw new Error(`Invalid supported: ${key}`);\n const value = supported[key];\n if (typeof value !== \"boolean\")\n throw new Error(`Expected value for supported ${quote(key)} to be a boolean, got ${typeof value} instead`);\n flags.push(`--supported:${key}=${value}`);\n }\n }\n if (pure)\n for (let fn of pure)\n flags.push(`--pure:${validateStringValue(fn, \"pure\")}`);\n if (keepNames)\n flags.push(`--keep-names`);\n}\nfunction flagsForBuildOptions(callName, options, isTTY, logLevelDefault, writeDefault) {\n var _a;\n let flags = [];\n let entries = [];\n let keys = /* @__PURE__ */ Object.create(null);\n let stdinContents = null;\n let stdinResolveDir = null;\n pushLogFlags(flags, options, keys, isTTY, logLevelDefault);\n pushCommonFlags(flags, options, keys);\n let sourcemap = getFlag(options, keys, \"sourcemap\", mustBeStringOrBoolean);\n let bundle = getFlag(options, keys, \"bundle\", mustBeBoolean);\n let splitting = getFlag(options, keys, \"splitting\", mustBeBoolean);\n let preserveSymlinks = getFlag(options, keys, \"preserveSymlinks\", mustBeBoolean);\n let metafile = getFlag(options, keys, \"metafile\", mustBeBoolean);\n let outfile = getFlag(options, keys, \"outfile\", mustBeString);\n let outdir = getFlag(options, keys, \"outdir\", mustBeString);\n let outbase = getFlag(options, keys, \"outbase\", mustBeString);\n let tsconfig = getFlag(options, keys, \"tsconfig\", mustBeString);\n let resolveExtensions = getFlag(options, keys, \"resolveExtensions\", mustBeArray);\n let nodePathsInput = getFlag(options, keys, \"nodePaths\", mustBeArray);\n let mainFields = getFlag(options, keys, \"mainFields\", mustBeArray);\n let conditions = getFlag(options, keys, \"conditions\", mustBeArray);\n let external = getFlag(options, keys, \"external\", mustBeArray);\n let packages = getFlag(options, keys, \"packages\", mustBeString);\n let alias = getFlag(options, keys, \"alias\", mustBeObject);\n let loader = getFlag(options, keys, \"loader\", mustBeObject);\n let outExtension = getFlag(options, keys, \"outExtension\", mustBeObject);\n let publicPath = getFlag(options, keys, \"publicPath\", mustBeString);\n let entryNames = getFlag(options, keys, \"entryNames\", mustBeString);\n let chunkNames = getFlag(options, keys, \"chunkNames\", mustBeString);\n let assetNames = getFlag(options, keys, \"assetNames\", mustBeString);\n let inject = getFlag(options, keys, \"inject\", mustBeArray);\n let banner = getFlag(options, keys, \"banner\", mustBeObject);\n let footer = getFlag(options, keys, \"footer\", mustBeObject);\n let entryPoints = getFlag(options, keys, \"entryPoints\", mustBeEntryPoints);\n let absWorkingDir = getFlag(options, keys, \"absWorkingDir\", mustBeString);\n let stdin = getFlag(options, keys, \"stdin\", mustBeObject);\n let write = (_a = getFlag(options, keys, \"write\", mustBeBoolean)) != null ? _a : writeDefault;\n let allowOverwrite = getFlag(options, keys, \"allowOverwrite\", mustBeBoolean);\n let mangleCache = getFlag(options, keys, \"mangleCache\", mustBeObject);\n keys.plugins = true;\n checkForInvalidFlags(options, keys, `in ${callName}() call`);\n if (sourcemap)\n flags.push(`--sourcemap${sourcemap === true ? \"\" : `=${sourcemap}`}`);\n if (bundle)\n flags.push(\"--bundle\");\n if (allowOverwrite)\n flags.push(\"--allow-overwrite\");\n if (splitting)\n flags.push(\"--splitting\");\n if (preserveSymlinks)\n flags.push(\"--preserve-symlinks\");\n if (metafile)\n flags.push(`--metafile`);\n if (outfile)\n flags.push(`--outfile=${outfile}`);\n if (outdir)\n flags.push(`--outdir=${outdir}`);\n if (outbase)\n flags.push(`--outbase=${outbase}`);\n if (tsconfig)\n flags.push(`--tsconfig=${tsconfig}`);\n if (packages)\n flags.push(`--packages=${packages}`);\n if (resolveExtensions) {\n let values = [];\n for (let value of resolveExtensions) {\n validateStringValue(value, \"resolve extension\");\n if (value.indexOf(\",\") >= 0)\n throw new Error(`Invalid resolve extension: ${value}`);\n values.push(value);\n }\n flags.push(`--resolve-extensions=${values.join(\",\")}`);\n }\n if (publicPath)\n flags.push(`--public-path=${publicPath}`);\n if (entryNames)\n flags.push(`--entry-names=${entryNames}`);\n if (chunkNames)\n flags.push(`--chunk-names=${chunkNames}`);\n if (assetNames)\n flags.push(`--asset-names=${assetNames}`);\n if (mainFields) {\n let values = [];\n for (let value of mainFields) {\n validateStringValue(value, \"main field\");\n if (value.indexOf(\",\") >= 0)\n throw new Error(`Invalid main field: ${value}`);\n values.push(value);\n }\n flags.push(`--main-fields=${values.join(\",\")}`);\n }\n if (conditions) {\n let values = [];\n for (let value of conditions) {\n validateStringValue(value, \"condition\");\n if (value.indexOf(\",\") >= 0)\n throw new Error(`Invalid condition: ${value}`);\n values.push(value);\n }\n flags.push(`--conditions=${values.join(\",\")}`);\n }\n if (external)\n for (let name of external)\n flags.push(`--external:${validateStringValue(name, \"external\")}`);\n if (alias) {\n for (let old in alias) {\n if (old.indexOf(\"=\") >= 0)\n throw new Error(`Invalid package name in alias: ${old}`);\n flags.push(`--alias:${old}=${validateStringValue(alias[old], \"alias\", old)}`);\n }\n }\n if (banner) {\n for (let type in banner) {\n if (type.indexOf(\"=\") >= 0)\n throw new Error(`Invalid banner file type: ${type}`);\n flags.push(`--banner:${type}=${validateStringValue(banner[type], \"banner\", type)}`);\n }\n }\n if (footer) {\n for (let type in footer) {\n if (type.indexOf(\"=\") >= 0)\n throw new Error(`Invalid footer file type: ${type}`);\n flags.push(`--footer:${type}=${validateStringValue(footer[type], \"footer\", type)}`);\n }\n }\n if (inject)\n for (let path of inject)\n flags.push(`--inject:${validateStringValue(path, \"inject\")}`);\n if (loader) {\n for (let ext in loader) {\n if (ext.indexOf(\"=\") >= 0)\n throw new Error(`Invalid loader extension: ${ext}`);\n flags.push(`--loader:${ext}=${validateStringValue(loader[ext], \"loader\", ext)}`);\n }\n }\n if (outExtension) {\n for (let ext in outExtension) {\n if (ext.indexOf(\"=\") >= 0)\n throw new Error(`Invalid out extension: ${ext}`);\n flags.push(`--out-extension:${ext}=${validateStringValue(outExtension[ext], \"out extension\", ext)}`);\n }\n }\n if (entryPoints) {\n if (Array.isArray(entryPoints)) {\n for (let i = 0, n = entryPoints.length; i < n; i++) {\n let entryPoint = entryPoints[i];\n if (typeof entryPoint === \"object\" && entryPoint !== null) {\n let entryPointKeys = /* @__PURE__ */ Object.create(null);\n let input = getFlag(entryPoint, entryPointKeys, \"in\", mustBeString);\n let output = getFlag(entryPoint, entryPointKeys, \"out\", mustBeString);\n checkForInvalidFlags(entryPoint, entryPointKeys, \"in entry point at index \" + i);\n if (input === void 0)\n throw new Error('Missing property \"in\" for entry point at index ' + i);\n if (output === void 0)\n throw new Error('Missing property \"out\" for entry point at index ' + i);\n entries.push([output, input]);\n } else {\n entries.push([\"\", validateStringValue(entryPoint, \"entry point at index \" + i)]);\n }\n }\n } else {\n for (let key in entryPoints) {\n entries.push([key, validateStringValue(entryPoints[key], \"entry point\", key)]);\n }\n }\n }\n if (stdin) {\n let stdinKeys = /* @__PURE__ */ Object.create(null);\n let contents = getFlag(stdin, stdinKeys, \"contents\", mustBeStringOrUint8Array);\n let resolveDir = getFlag(stdin, stdinKeys, \"resolveDir\", mustBeString);\n let sourcefile = getFlag(stdin, stdinKeys, \"sourcefile\", mustBeString);\n let loader2 = getFlag(stdin, stdinKeys, \"loader\", mustBeString);\n checkForInvalidFlags(stdin, stdinKeys, 'in \"stdin\" object');\n if (sourcefile)\n flags.push(`--sourcefile=${sourcefile}`);\n if (loader2)\n flags.push(`--loader=${loader2}`);\n if (resolveDir)\n stdinResolveDir = resolveDir;\n if (typeof contents === \"string\")\n stdinContents = encodeUTF8(contents);\n else if (contents instanceof Uint8Array)\n stdinContents = contents;\n }\n let nodePaths = [];\n if (nodePathsInput) {\n for (let value of nodePathsInput) {\n value += \"\";\n nodePaths.push(value);\n }\n }\n return {\n entries,\n flags,\n write,\n stdinContents,\n stdinResolveDir,\n absWorkingDir,\n nodePaths,\n mangleCache: validateMangleCache(mangleCache)\n };\n}\nfunction flagsForTransformOptions(callName, options, isTTY, logLevelDefault) {\n let flags = [];\n let keys = /* @__PURE__ */ Object.create(null);\n pushLogFlags(flags, options, keys, isTTY, logLevelDefault);\n pushCommonFlags(flags, options, keys);\n let sourcemap = getFlag(options, keys, \"sourcemap\", mustBeStringOrBoolean);\n let tsconfigRaw = getFlag(options, keys, \"tsconfigRaw\", mustBeStringOrObject);\n let sourcefile = getFlag(options, keys, \"sourcefile\", mustBeString);\n let loader = getFlag(options, keys, \"loader\", mustBeString);\n let banner = getFlag(options, keys, \"banner\", mustBeString);\n let footer = getFlag(options, keys, \"footer\", mustBeString);\n let mangleCache = getFlag(options, keys, \"mangleCache\", mustBeObject);\n checkForInvalidFlags(options, keys, `in ${callName}() call`);\n if (sourcemap)\n flags.push(`--sourcemap=${sourcemap === true ? \"external\" : sourcemap}`);\n if (tsconfigRaw)\n flags.push(`--tsconfig-raw=${typeof tsconfigRaw === \"string\" ? tsconfigRaw : JSON.stringify(tsconfigRaw)}`);\n if (sourcefile)\n flags.push(`--sourcefile=${sourcefile}`);\n if (loader)\n flags.push(`--loader=${loader}`);\n if (banner)\n flags.push(`--banner=${banner}`);\n if (footer)\n flags.push(`--footer=${footer}`);\n return {\n flags,\n mangleCache: validateMangleCache(mangleCache)\n };\n}\nfunction createChannel(streamIn) {\n const requestCallbacksByKey = {};\n const closeData = { didClose: false, reason: \"\" };\n let responseCallbacks = {};\n let nextRequestID = 0;\n let nextBuildKey = 0;\n let stdout = new Uint8Array(16 * 1024);\n let stdoutUsed = 0;\n let readFromStdout = (chunk) => {\n let limit = stdoutUsed + chunk.length;\n if (limit > stdout.length) {\n let swap = new Uint8Array(limit * 2);\n swap.set(stdout);\n stdout = swap;\n }\n stdout.set(chunk, stdoutUsed);\n stdoutUsed += chunk.length;\n let offset = 0;\n while (offset + 4 <= stdoutUsed) {\n let length = readUInt32LE(stdout, offset);\n if (offset + 4 + length > stdoutUsed) {\n break;\n }\n offset += 4;\n handleIncomingPacket(stdout.subarray(offset, offset + length));\n offset += length;\n }\n if (offset > 0) {\n stdout.copyWithin(0, offset, stdoutUsed);\n stdoutUsed -= offset;\n }\n };\n let afterClose = (error) => {\n closeData.didClose = true;\n if (error)\n closeData.reason = \": \" + (error.message || error);\n const text = \"The service was stopped\" + closeData.reason;\n for (let id in responseCallbacks) {\n responseCallbacks[id](text, null);\n }\n responseCallbacks = {};\n };\n let sendRequest = (refs, value, callback) => {\n if (closeData.didClose)\n return callback(\"The service is no longer running\" + closeData.reason, null);\n let id = nextRequestID++;\n responseCallbacks[id] = (error, response) => {\n try {\n callback(error, response);\n } finally {\n if (refs)\n refs.unref();\n }\n };\n if (refs)\n refs.ref();\n streamIn.writeToStdin(encodePacket({ id, isRequest: true, value }));\n };\n let sendResponse = (id, value) => {\n if (closeData.didClose)\n throw new Error(\"The service is no longer running\" + closeData.reason);\n streamIn.writeToStdin(encodePacket({ id, isRequest: false, value }));\n };\n let handleRequest = (id, request) => __async(this, null, function* () {\n try {\n if (request.command === \"ping\") {\n sendResponse(id, {});\n return;\n }\n if (typeof request.key === \"number\") {\n const requestCallbacks = requestCallbacksByKey[request.key];\n if (requestCallbacks) {\n const callback = requestCallbacks[request.command];\n if (callback) {\n yield callback(id, request);\n return;\n }\n }\n }\n throw new Error(`Invalid command: ` + request.command);\n } catch (e) {\n sendResponse(id, { errors: [extractErrorMessageV8(e, streamIn, null, void 0, \"\")] });\n }\n });\n let isFirstPacket = true;\n let handleIncomingPacket = (bytes) => {\n if (isFirstPacket) {\n isFirstPacket = false;\n let binaryVersion = String.fromCharCode(...bytes);\n if (binaryVersion !== \"0.17.10\") {\n throw new Error(`Cannot start service: Host version \"${\"0.17.10\"}\" does not match binary version ${quote(binaryVersion)}`);\n }\n return;\n }\n let packet = decodePacket(bytes);\n if (packet.isRequest) {\n handleRequest(packet.id, packet.value);\n } else {\n let callback = responseCallbacks[packet.id];\n delete responseCallbacks[packet.id];\n if (packet.value.error)\n callback(packet.value.error, {});\n else\n callback(null, packet.value);\n }\n };\n let buildOrContext = ({ callName, refs, options, isTTY, defaultWD, callback }) => {\n let refCount = 0;\n const buildKey = nextBuildKey++;\n const requestCallbacks = {};\n const buildRefs = {\n ref() {\n if (++refCount === 1) {\n if (refs)\n refs.ref();\n }\n },\n unref() {\n if (--refCount === 0) {\n delete requestCallbacksByKey[buildKey];\n if (refs)\n refs.unref();\n }\n }\n };\n requestCallbacksByKey[buildKey] = requestCallbacks;\n buildRefs.ref();\n buildOrContextImpl(\n callName,\n buildKey,\n sendRequest,\n sendResponse,\n buildRefs,\n streamIn,\n requestCallbacks,\n options,\n isTTY,\n defaultWD,\n (err, res) => {\n try {\n callback(err, res);\n } finally {\n buildRefs.unref();\n }\n }\n );\n };\n let transform2 = ({ callName, refs, input, options, isTTY, fs, callback }) => {\n const details = createObjectStash();\n let start = (inputPath) => {\n try {\n if (typeof input !== \"string\" && !(input instanceof Uint8Array))\n throw new Error('The input to \"transform\" must be a string or a Uint8Array');\n let {\n flags,\n mangleCache\n } = flagsForTransformOptions(callName, options, isTTY, transformLogLevelDefault);\n let request = {\n command: \"transform\",\n flags,\n inputFS: inputPath !== null,\n input: inputPath !== null ? encodeUTF8(inputPath) : typeof input === \"string\" ? encodeUTF8(input) : input\n };\n if (mangleCache)\n request.mangleCache = mangleCache;\n sendRequest(refs, request, (error, response) => {\n if (error)\n return callback(new Error(error), null);\n let errors = replaceDetailsInMessages(response.errors, details);\n let warnings = replaceDetailsInMessages(response.warnings, details);\n let outstanding = 1;\n let next = () => {\n if (--outstanding === 0) {\n let result = {\n warnings,\n code: response.code,\n map: response.map,\n mangleCache: void 0,\n legalComments: void 0\n };\n if (\"legalComments\" in response)\n result.legalComments = response == null ? void 0 : response.legalComments;\n if (response.mangleCache)\n result.mangleCache = response == null ? void 0 : response.mangleCache;\n callback(null, result);\n }\n };\n if (errors.length > 0)\n return callback(failureErrorWithLog(\"Transform failed\", errors, warnings), null);\n if (response.codeFS) {\n outstanding++;\n fs.readFile(response.code, (err, contents) => {\n if (err !== null) {\n callback(err, null);\n } else {\n response.code = contents;\n next();\n }\n });\n }\n if (response.mapFS) {\n outstanding++;\n fs.readFile(response.map, (err, contents) => {\n if (err !== null) {\n callback(err, null);\n } else {\n response.map = contents;\n next();\n }\n });\n }\n next();\n });\n } catch (e) {\n let flags = [];\n try {\n pushLogFlags(flags, options, {}, isTTY, transformLogLevelDefault);\n } catch (e2) {\n }\n const error = extractErrorMessageV8(e, streamIn, details, void 0, \"\");\n sendRequest(refs, { command: \"error\", flags, error }, () => {\n error.detail = details.load(error.detail);\n callback(failureErrorWithLog(\"Transform failed\", [error], []), null);\n });\n }\n };\n if ((typeof input === \"string\" || input instanceof Uint8Array) && input.length > 1024 * 1024) {\n let next = start;\n start = () => fs.writeFile(input, next);\n }\n start(null);\n };\n let formatMessages2 = ({ callName, refs, messages, options, callback }) => {\n let result = sanitizeMessages(messages, \"messages\", null, \"\");\n if (!options)\n throw new Error(`Missing second argument in ${callName}() call`);\n let keys = {};\n let kind = getFlag(options, keys, \"kind\", mustBeString);\n let color = getFlag(options, keys, \"color\", mustBeBoolean);\n let terminalWidth = getFlag(options, keys, \"terminalWidth\", mustBeInteger);\n checkForInvalidFlags(options, keys, `in ${callName}() call`);\n if (kind === void 0)\n throw new Error(`Missing \"kind\" in ${callName}() call`);\n if (kind !== \"error\" && kind !== \"warning\")\n throw new Error(`Expected \"kind\" to be \"error\" or \"warning\" in ${callName}() call`);\n let request = {\n command: \"format-msgs\",\n messages: result,\n isWarning: kind === \"warning\"\n };\n if (color !== void 0)\n request.color = color;\n if (terminalWidth !== void 0)\n request.terminalWidth = terminalWidth;\n sendRequest(refs, request, (error, response) => {\n if (error)\n return callback(new Error(error), null);\n callback(null, response.messages);\n });\n };\n let analyzeMetafile2 = ({ callName, refs, metafile, options, callback }) => {\n if (options === void 0)\n options = {};\n let keys = {};\n let color = getFlag(options, keys, \"color\", mustBeBoolean);\n let verbose = getFlag(options, keys, \"verbose\", mustBeBoolean);\n checkForInvalidFlags(options, keys, `in ${callName}() call`);\n let request = {\n command: \"analyze-metafile\",\n metafile\n };\n if (color !== void 0)\n request.color = color;\n if (verbose !== void 0)\n request.verbose = verbose;\n sendRequest(refs, request, (error, response) => {\n if (error)\n return callback(new Error(error), null);\n callback(null, response.result);\n });\n };\n return {\n readFromStdout,\n afterClose,\n service: {\n buildOrContext,\n transform: transform2,\n formatMessages: formatMessages2,\n analyzeMetafile: analyzeMetafile2\n }\n };\n}\nfunction buildOrContextImpl(callName, buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, options, isTTY, defaultWD, callback) {\n const details = createObjectStash();\n const isContext = callName === \"context\";\n const handleError = (e, pluginName) => {\n const flags = [];\n try {\n pushLogFlags(flags, options, {}, isTTY, buildLogLevelDefault);\n } catch (e2) {\n }\n const message = extractErrorMessageV8(e, streamIn, details, void 0, pluginName);\n sendRequest(refs, { command: \"error\", flags, error: message }, () => {\n message.detail = details.load(message.detail);\n callback(failureErrorWithLog(isContext ? \"Context failed\" : \"Build failed\", [message], []), null);\n });\n };\n let plugins;\n if (typeof options === \"object\") {\n const value = options.plugins;\n if (value !== void 0) {\n if (!Array.isArray(value))\n return handleError(new Error(`\"plugins\" must be an array`), \"\");\n plugins = value;\n }\n }\n if (plugins && plugins.length > 0) {\n if (streamIn.isSync)\n return handleError(new Error(\"Cannot use plugins in synchronous API calls\"), \"\");\n handlePlugins(\n buildKey,\n sendRequest,\n sendResponse,\n refs,\n streamIn,\n requestCallbacks,\n options,\n plugins,\n details\n ).then(\n (result) => {\n if (!result.ok)\n return handleError(result.error, result.pluginName);\n try {\n buildOrContextContinue(result.requestPlugins, result.runOnEndCallbacks, result.scheduleOnDisposeCallbacks);\n } catch (e) {\n handleError(e, \"\");\n }\n },\n (e) => handleError(e, \"\")\n );\n return;\n }\n try {\n buildOrContextContinue(null, (result, done) => done([], []), () => {\n });\n } catch (e) {\n handleError(e, \"\");\n }\n function buildOrContextContinue(requestPlugins, runOnEndCallbacks, scheduleOnDisposeCallbacks) {\n const writeDefault = streamIn.hasFS;\n const {\n entries,\n flags,\n write,\n stdinContents,\n stdinResolveDir,\n absWorkingDir,\n nodePaths,\n mangleCache\n } = flagsForBuildOptions(callName, options, isTTY, buildLogLevelDefault, writeDefault);\n if (write && !streamIn.hasFS)\n throw new Error(`The \"write\" option is unavailable in this environment`);\n const request = {\n command: \"build\",\n key: buildKey,\n entries,\n flags,\n write,\n stdinContents,\n stdinResolveDir,\n absWorkingDir: absWorkingDir || defaultWD,\n nodePaths,\n context: isContext\n };\n if (requestPlugins)\n request.plugins = requestPlugins;\n if (mangleCache)\n request.mangleCache = mangleCache;\n const buildResponseToResult = (response, callback2) => {\n const result = {\n errors: replaceDetailsInMessages(response.errors, details),\n warnings: replaceDetailsInMessages(response.warnings, details),\n outputFiles: void 0,\n metafile: void 0,\n mangleCache: void 0\n };\n const originalErrors = result.errors.slice();\n const originalWarnings = result.warnings.slice();\n if (response.outputFiles)\n result.outputFiles = response.outputFiles.map(convertOutputFiles);\n if (response.metafile)\n result.metafile = JSON.parse(response.metafile);\n if (response.mangleCache)\n result.mangleCache = response.mangleCache;\n if (response.writeToStdout !== void 0)\n console.log(decodeUTF8(response.writeToStdout).replace(/\\n$/, \"\"));\n runOnEndCallbacks(result, (onEndErrors, onEndWarnings) => {\n if (originalErrors.length > 0 || onEndErrors.length > 0) {\n const error = failureErrorWithLog(\"Build failed\", originalErrors.concat(onEndErrors), originalWarnings.concat(onEndWarnings));\n return callback2(error, null, onEndErrors, onEndWarnings);\n }\n callback2(null, result, onEndErrors, onEndWarnings);\n });\n };\n let latestResultPromise;\n let provideLatestResult;\n if (isContext)\n requestCallbacks[\"on-end\"] = (id, request2) => new Promise((resolve) => {\n buildResponseToResult(request2, (err, result, onEndErrors, onEndWarnings) => {\n const response = {\n errors: onEndErrors,\n warnings: onEndWarnings\n };\n if (provideLatestResult)\n provideLatestResult(err, result);\n latestResultPromise = void 0;\n provideLatestResult = void 0;\n sendResponse(id, response);\n resolve();\n });\n });\n sendRequest(refs, request, (error, response) => {\n if (error)\n return callback(new Error(error), null);\n if (!isContext) {\n return buildResponseToResult(response, (err, res) => {\n scheduleOnDisposeCallbacks();\n return callback(err, res);\n });\n }\n if (response.errors.length > 0) {\n return callback(failureErrorWithLog(\"Context failed\", response.errors, response.warnings), null);\n }\n let didDispose = false;\n const result = {\n rebuild: () => {\n if (!latestResultPromise)\n latestResultPromise = new Promise((resolve, reject) => {\n let settlePromise;\n provideLatestResult = (err, result2) => {\n if (!settlePromise)\n settlePromise = () => err ? reject(err) : resolve(result2);\n };\n const triggerAnotherBuild = () => {\n const request2 = {\n command: \"rebuild\",\n key: buildKey\n };\n sendRequest(refs, request2, (error2, response2) => {\n if (error2) {\n reject(new Error(error2));\n } else if (settlePromise) {\n settlePromise();\n } else {\n triggerAnotherBuild();\n }\n });\n };\n triggerAnotherBuild();\n });\n return latestResultPromise;\n },\n watch: (options2 = {}) => new Promise((resolve, reject) => {\n if (!streamIn.hasFS)\n throw new Error(`Cannot use the \"watch\" API in this environment`);\n const keys = {};\n checkForInvalidFlags(options2, keys, `in watch() call`);\n const request2 = {\n command: \"watch\",\n key: buildKey\n };\n sendRequest(refs, request2, (error2) => {\n if (error2)\n reject(new Error(error2));\n else\n resolve(void 0);\n });\n }),\n serve: (options2 = {}) => new Promise((resolve, reject) => {\n if (!streamIn.hasFS)\n throw new Error(`Cannot use the \"serve\" API in this environment`);\n const keys = {};\n const port = getFlag(options2, keys, \"port\", mustBeInteger);\n const host = getFlag(options2, keys, \"host\", mustBeString);\n const servedir = getFlag(options2, keys, \"servedir\", mustBeString);\n const keyfile = getFlag(options2, keys, \"keyfile\", mustBeString);\n const certfile = getFlag(options2, keys, \"certfile\", mustBeString);\n const onRequest = getFlag(options2, keys, \"onRequest\", mustBeFunction);\n checkForInvalidFlags(options2, keys, `in serve() call`);\n const request2 = {\n command: \"serve\",\n key: buildKey,\n onRequest: !!onRequest\n };\n if (port !== void 0)\n request2.port = port;\n if (host !== void 0)\n request2.host = host;\n if (servedir !== void 0)\n request2.servedir = servedir;\n if (keyfile !== void 0)\n request2.keyfile = keyfile;\n if (certfile !== void 0)\n request2.certfile = certfile;\n sendRequest(refs, request2, (error2, response2) => {\n if (error2)\n return reject(new Error(error2));\n if (onRequest) {\n requestCallbacks[\"serve-request\"] = (id, request3) => {\n onRequest(request3.args);\n sendResponse(id, {});\n };\n }\n resolve(response2);\n });\n }),\n cancel: () => new Promise((resolve) => {\n if (didDispose)\n return resolve();\n const request2 = {\n command: \"cancel\",\n key: buildKey\n };\n sendRequest(refs, request2, () => {\n resolve();\n });\n }),\n dispose: () => new Promise((resolve) => {\n if (didDispose)\n return resolve();\n didDispose = true;\n const request2 = {\n command: \"dispose\",\n key: buildKey\n };\n sendRequest(refs, request2, () => {\n resolve();\n scheduleOnDisposeCallbacks();\n refs.unref();\n });\n })\n };\n refs.ref();\n callback(null, result);\n });\n }\n}\nvar handlePlugins = (buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, initialOptions, plugins, details) => __async(void 0, null, function* () {\n let onStartCallbacks = [];\n let onEndCallbacks = [];\n let onResolveCallbacks = {};\n let onLoadCallbacks = {};\n let onDisposeCallbacks = [];\n let nextCallbackID = 0;\n let i = 0;\n let requestPlugins = [];\n let isSetupDone = false;\n plugins = [...plugins];\n for (let item of plugins) {\n let keys = {};\n if (typeof item !== \"object\")\n throw new Error(`Plugin at index ${i} must be an object`);\n const name = getFlag(item, keys, \"name\", mustBeString);\n if (typeof name !== \"string\" || name === \"\")\n throw new Error(`Plugin at index ${i} is missing a name`);\n try {\n let setup = getFlag(item, keys, \"setup\", mustBeFunction);\n if (typeof setup !== \"function\")\n throw new Error(`Plugin is missing a setup function`);\n checkForInvalidFlags(item, keys, `on plugin ${quote(name)}`);\n let plugin = {\n name,\n onStart: false,\n onEnd: false,\n onResolve: [],\n onLoad: []\n };\n i++;\n let resolve = (path, options = {}) => {\n if (!isSetupDone)\n throw new Error('Cannot call \"resolve\" before plugin setup has completed');\n if (typeof path !== \"string\")\n throw new Error(`The path to resolve must be a string`);\n let keys2 = /* @__PURE__ */ Object.create(null);\n let pluginName = getFlag(options, keys2, \"pluginName\", mustBeString);\n let importer = getFlag(options, keys2, \"importer\", mustBeString);\n let namespace = getFlag(options, keys2, \"namespace\", mustBeString);\n let resolveDir = getFlag(options, keys2, \"resolveDir\", mustBeString);\n let kind = getFlag(options, keys2, \"kind\", mustBeString);\n let pluginData = getFlag(options, keys2, \"pluginData\", canBeAnything);\n checkForInvalidFlags(options, keys2, \"in resolve() call\");\n return new Promise((resolve2, reject) => {\n const request = {\n command: \"resolve\",\n path,\n key: buildKey,\n pluginName: name\n };\n if (pluginName != null)\n request.pluginName = pluginName;\n if (importer != null)\n request.importer = importer;\n if (namespace != null)\n request.namespace = namespace;\n if (resolveDir != null)\n request.resolveDir = resolveDir;\n if (kind != null)\n request.kind = kind;\n else\n throw new Error(`Must specify \"kind\" when calling \"resolve\"`);\n if (pluginData != null)\n request.pluginData = details.store(pluginData);\n sendRequest(refs, request, (error, response) => {\n if (error !== null)\n reject(new Error(error));\n else\n resolve2({\n errors: replaceDetailsInMessages(response.errors, details),\n warnings: replaceDetailsInMessages(response.warnings, details),\n path: response.path,\n external: response.external,\n sideEffects: response.sideEffects,\n namespace: response.namespace,\n suffix: response.suffix,\n pluginData: details.load(response.pluginData)\n });\n });\n });\n };\n let promise = setup({\n initialOptions,\n resolve,\n onStart(callback) {\n let registeredText = `This error came from the \"onStart\" callback registered here:`;\n let registeredNote = extractCallerV8(new Error(registeredText), streamIn, \"onStart\");\n onStartCallbacks.push({ name, callback, note: registeredNote });\n plugin.onStart = true;\n },\n onEnd(callback) {\n let registeredText = `This error came from the \"onEnd\" callback registered here:`;\n let registeredNote = extractCallerV8(new Error(registeredText), streamIn, \"onEnd\");\n onEndCallbacks.push({ name, callback, note: registeredNote });\n plugin.onEnd = true;\n },\n onResolve(options, callback) {\n let registeredText = `This error came from the \"onResolve\" callback registered here:`;\n let registeredNote = extractCallerV8(new Error(registeredText), streamIn, \"onResolve\");\n let keys2 = {};\n let filter = getFlag(options, keys2, \"filter\", mustBeRegExp);\n let namespace = getFlag(options, keys2, \"namespace\", mustBeString);\n checkForInvalidFlags(options, keys2, `in onResolve() call for plugin ${quote(name)}`);\n if (filter == null)\n throw new Error(`onResolve() call is missing a filter`);\n let id = nextCallbackID++;\n onResolveCallbacks[id] = { name, callback, note: registeredNote };\n plugin.onResolve.push({ id, filter: filter.source, namespace: namespace || \"\" });\n },\n onLoad(options, callback) {\n let registeredText = `This error came from the \"onLoad\" callback registered here:`;\n let registeredNote = extractCallerV8(new Error(registeredText), streamIn, \"onLoad\");\n let keys2 = {};\n let filter = getFlag(options, keys2, \"filter\", mustBeRegExp);\n let namespace = getFlag(options, keys2, \"namespace\", mustBeString);\n checkForInvalidFlags(options, keys2, `in onLoad() call for plugin ${quote(name)}`);\n if (filter == null)\n throw new Error(`onLoad() call is missing a filter`);\n let id = nextCallbackID++;\n onLoadCallbacks[id] = { name, callback, note: registeredNote };\n plugin.onLoad.push({ id, filter: filter.source, namespace: namespace || \"\" });\n },\n onDispose(callback) {\n onDisposeCallbacks.push(callback);\n },\n esbuild: streamIn.esbuild\n });\n if (promise)\n yield promise;\n requestPlugins.push(plugin);\n } catch (e) {\n return { ok: false, error: e, pluginName: name };\n }\n }\n requestCallbacks[\"on-start\"] = (id, request) => __async(void 0, null, function* () {\n let response = { errors: [], warnings: [] };\n yield Promise.all(onStartCallbacks.map((_0) => __async(void 0, [_0], function* ({ name, callback, note }) {\n try {\n let result = yield callback();\n if (result != null) {\n if (typeof result !== \"object\")\n throw new Error(`Expected onStart() callback in plugin ${quote(name)} to return an object`);\n let keys = {};\n let errors = getFlag(result, keys, \"errors\", mustBeArray);\n let warnings = getFlag(result, keys, \"warnings\", mustBeArray);\n checkForInvalidFlags(result, keys, `from onStart() callback in plugin ${quote(name)}`);\n if (errors != null)\n response.errors.push(...sanitizeMessages(errors, \"errors\", details, name));\n if (warnings != null)\n response.warnings.push(...sanitizeMessages(warnings, \"warnings\", details, name));\n }\n } catch (e) {\n response.errors.push(extractErrorMessageV8(e, streamIn, details, note && note(), name));\n }\n })));\n sendResponse(id, response);\n });\n requestCallbacks[\"on-resolve\"] = (id, request) => __async(void 0, null, function* () {\n let response = {}, name = \"\", callback, note;\n for (let id2 of request.ids) {\n try {\n ({ name, callback, note } = onResolveCallbacks[id2]);\n let result = yield callback({\n path: request.path,\n importer: request.importer,\n namespace: request.namespace,\n resolveDir: request.resolveDir,\n kind: request.kind,\n pluginData: details.load(request.pluginData)\n });\n if (result != null) {\n if (typeof result !== \"object\")\n throw new Error(`Expected onResolve() callback in plugin ${quote(name)} to return an object`);\n let keys = {};\n let pluginName = getFlag(result, keys, \"pluginName\", mustBeString);\n let path = getFlag(result, keys, \"path\", mustBeString);\n let namespace = getFlag(result, keys, \"namespace\", mustBeString);\n let suffix = getFlag(result, keys, \"suffix\", mustBeString);\n let external = getFlag(result, keys, \"external\", mustBeBoolean);\n let sideEffects = getFlag(result, keys, \"sideEffects\", mustBeBoolean);\n let pluginData = getFlag(result, keys, \"pluginData\", canBeAnything);\n let errors = getFlag(result, keys, \"errors\", mustBeArray);\n let warnings = getFlag(result, keys, \"warnings\", mustBeArray);\n let watchFiles = getFlag(result, keys, \"watchFiles\", mustBeArray);\n let watchDirs = getFlag(result, keys, \"watchDirs\", mustBeArray);\n checkForInvalidFlags(result, keys, `from onResolve() callback in plugin ${quote(name)}`);\n response.id = id2;\n if (pluginName != null)\n response.pluginName = pluginName;\n if (path != null)\n response.path = path;\n if (namespace != null)\n response.namespace = namespace;\n if (suffix != null)\n response.suffix = suffix;\n if (external != null)\n response.external = external;\n if (sideEffects != null)\n response.sideEffects = sideEffects;\n if (pluginData != null)\n response.pluginData = details.store(pluginData);\n if (errors != null)\n response.errors = sanitizeMessages(errors, \"errors\", details, name);\n if (warnings != null)\n response.warnings = sanitizeMessages(warnings, \"warnings\", details, name);\n if (watchFiles != null)\n response.watchFiles = sanitizeStringArray(watchFiles, \"watchFiles\");\n if (watchDirs != null)\n response.watchDirs = sanitizeStringArray(watchDirs, \"watchDirs\");\n break;\n }\n } catch (e) {\n response = { id: id2, errors: [extractErrorMessageV8(e, streamIn, details, note && note(), name)] };\n break;\n }\n }\n sendResponse(id, response);\n });\n requestCallbacks[\"on-load\"] = (id, request) => __async(void 0, null, function* () {\n let response = {}, name = \"\", callback, note;\n for (let id2 of request.ids) {\n try {\n ({ name, callback, note } = onLoadCallbacks[id2]);\n let result = yield callback({\n path: request.path,\n namespace: request.namespace,\n suffix: request.suffix,\n pluginData: details.load(request.pluginData)\n });\n if (result != null) {\n if (typeof result !== \"object\")\n throw new Error(`Expected onLoad() callback in plugin ${quote(name)} to return an object`);\n let keys = {};\n let pluginName = getFlag(result, keys, \"pluginName\", mustBeString);\n let contents = getFlag(result, keys, \"contents\", mustBeStringOrUint8Array);\n let resolveDir = getFlag(result, keys, \"resolveDir\", mustBeString);\n let pluginData = getFlag(result, keys, \"pluginData\", canBeAnything);\n let loader = getFlag(result, keys, \"loader\", mustBeString);\n let errors = getFlag(result, keys, \"errors\", mustBeArray);\n let warnings = getFlag(result, keys, \"warnings\", mustBeArray);\n let watchFiles = getFlag(result, keys, \"watchFiles\", mustBeArray);\n let watchDirs = getFlag(result, keys, \"watchDirs\", mustBeArray);\n checkForInvalidFlags(result, keys, `from onLoad() callback in plugin ${quote(name)}`);\n response.id = id2;\n if (pluginName != null)\n response.pluginName = pluginName;\n if (contents instanceof Uint8Array)\n response.contents = contents;\n else if (contents != null)\n response.contents = encodeUTF8(contents);\n if (resolveDir != null)\n response.resolveDir = resolveDir;\n if (pluginData != null)\n response.pluginData = details.store(pluginData);\n if (loader != null)\n response.loader = loader;\n if (errors != null)\n response.errors = sanitizeMessages(errors, \"errors\", details, name);\n if (warnings != null)\n response.warnings = sanitizeMessages(warnings, \"warnings\", details, name);\n if (watchFiles != null)\n response.watchFiles = sanitizeStringArray(watchFiles, \"watchFiles\");\n if (watchDirs != null)\n response.watchDirs = sanitizeStringArray(watchDirs, \"watchDirs\");\n break;\n }\n } catch (e) {\n response = { id: id2, errors: [extractErrorMessageV8(e, streamIn, details, note && note(), name)] };\n break;\n }\n }\n sendResponse(id, response);\n });\n let runOnEndCallbacks = (result, done) => done([], []);\n if (onEndCallbacks.length > 0) {\n runOnEndCallbacks = (result, done) => {\n (() => __async(void 0, null, function* () {\n const onEndErrors = [];\n const onEndWarnings = [];\n for (const { name, callback, note } of onEndCallbacks) {\n let newErrors;\n let newWarnings;\n try {\n const value = yield callback(result);\n if (value != null) {\n if (typeof value !== \"object\")\n throw new Error(`Expected onEnd() callback in plugin ${quote(name)} to return an object`);\n let keys = {};\n let errors = getFlag(value, keys, \"errors\", mustBeArray);\n let warnings = getFlag(value, keys, \"warnings\", mustBeArray);\n checkForInvalidFlags(value, keys, `from onEnd() callback in plugin ${quote(name)}`);\n if (errors != null)\n newErrors = sanitizeMessages(errors, \"errors\", details, name);\n if (warnings != null)\n newWarnings = sanitizeMessages(warnings, \"warnings\", details, name);\n }\n } catch (e) {\n newErrors = [extractErrorMessageV8(e, streamIn, details, note && note(), name)];\n }\n if (newErrors) {\n onEndErrors.push(...newErrors);\n try {\n result.errors.push(...newErrors);\n } catch (e) {\n }\n }\n if (newWarnings) {\n onEndWarnings.push(...newWarnings);\n try {\n result.warnings.push(...newWarnings);\n } catch (e) {\n }\n }\n }\n done(onEndErrors, onEndWarnings);\n }))();\n };\n }\n let scheduleOnDisposeCallbacks = () => {\n for (const cb of onDisposeCallbacks) {\n setTimeout(() => cb(), 0);\n }\n };\n isSetupDone = true;\n return {\n ok: true,\n requestPlugins,\n runOnEndCallbacks,\n scheduleOnDisposeCallbacks\n };\n});\nfunction createObjectStash() {\n const map = /* @__PURE__ */ new Map();\n let nextID = 0;\n return {\n load(id) {\n return map.get(id);\n },\n store(value) {\n if (value === void 0)\n return -1;\n const id = nextID++;\n map.set(id, value);\n return id;\n }\n };\n}\nfunction extractCallerV8(e, streamIn, ident) {\n let note;\n let tried = false;\n return () => {\n if (tried)\n return note;\n tried = true;\n try {\n let lines = (e.stack + \"\").split(\"\\n\");\n lines.splice(1, 1);\n let location2 = parseStackLinesV8(streamIn, lines, ident);\n if (location2) {\n note = { text: e.message, location: location2 };\n return note;\n }\n } catch (e2) {\n }\n };\n}\nfunction extractErrorMessageV8(e, streamIn, stash, note, pluginName) {\n let text = \"Internal error\";\n let location2 = null;\n try {\n text = (e && e.message || e) + \"\";\n } catch (e2) {\n }\n try {\n location2 = parseStackLinesV8(streamIn, (e.stack + \"\").split(\"\\n\"), \"\");\n } catch (e2) {\n }\n return { id: \"\", pluginName, text, location: location2, notes: note ? [note] : [], detail: stash ? stash.store(e) : -1 };\n}\nfunction parseStackLinesV8(streamIn, lines, ident) {\n let at = \" at \";\n if (streamIn.readFileSync && !lines[0].startsWith(at) && lines[1].startsWith(at)) {\n for (let i = 1; i < lines.length; i++) {\n let line = lines[i];\n if (!line.startsWith(at))\n continue;\n line = line.slice(at.length);\n while (true) {\n let match = /^(?:new |async )?\\S+ \\((.*)\\)$/.exec(line);\n if (match) {\n line = match[1];\n continue;\n }\n match = /^eval at \\S+ \\((.*)\\)(?:, \\S+:\\d+:\\d+)?$/.exec(line);\n if (match) {\n line = match[1];\n continue;\n }\n match = /^(\\S+):(\\d+):(\\d+)$/.exec(line);\n if (match) {\n let contents;\n try {\n contents = streamIn.readFileSync(match[1], \"utf8\");\n } catch (e) {\n break;\n }\n let lineText = contents.split(/\\r\\n|\\r|\\n|\\u2028|\\u2029/)[+match[2] - 1] || \"\";\n let column = +match[3] - 1;\n let length = lineText.slice(column, column + ident.length) === ident ? ident.length : 0;\n return {\n file: match[1],\n namespace: \"file\",\n line: +match[2],\n column: encodeUTF8(lineText.slice(0, column)).length,\n length: encodeUTF8(lineText.slice(column, column + length)).length,\n lineText: lineText + \"\\n\" + lines.slice(1).join(\"\\n\"),\n suggestion: \"\"\n };\n }\n break;\n }\n }\n }\n return null;\n}\nfunction failureErrorWithLog(text, errors, warnings) {\n let limit = 5;\n let summary = errors.length < 1 ? \"\" : ` with ${errors.length} error${errors.length < 2 ? \"\" : \"s\"}:` + errors.slice(0, limit + 1).map((e, i) => {\n if (i === limit)\n return \"\\n...\";\n if (!e.location)\n return `\nerror: ${e.text}`;\n let { file, line, column } = e.location;\n let pluginText = e.pluginName ? `[plugin: ${e.pluginName}] ` : \"\";\n return `\n${file}:${line}:${column}: ERROR: ${pluginText}${e.text}`;\n }).join(\"\");\n let error = new Error(`${text}${summary}`);\n error.errors = errors;\n error.warnings = warnings;\n return error;\n}\nfunction replaceDetailsInMessages(messages, stash) {\n for (const message of messages) {\n message.detail = stash.load(message.detail);\n }\n return messages;\n}\nfunction sanitizeLocation(location2, where) {\n if (location2 == null)\n return null;\n let keys = {};\n let file = getFlag(location2, keys, \"file\", mustBeString);\n let namespace = getFlag(location2, keys, \"namespace\", mustBeString);\n let line = getFlag(location2, keys, \"line\", mustBeInteger);\n let column = getFlag(location2, keys, \"column\", mustBeInteger);\n let length = getFlag(location2, keys, \"length\", mustBeInteger);\n let lineText = getFlag(location2, keys, \"lineText\", mustBeString);\n let suggestion = getFlag(location2, keys, \"suggestion\", mustBeString);\n checkForInvalidFlags(location2, keys, where);\n return {\n file: file || \"\",\n namespace: namespace || \"\",\n line: line || 0,\n column: column || 0,\n length: length || 0,\n lineText: lineText || \"\",\n suggestion: suggestion || \"\"\n };\n}\nfunction sanitizeMessages(messages, property, stash, fallbackPluginName) {\n let messagesClone = [];\n let index = 0;\n for (const message of messages) {\n let keys = {};\n let id = getFlag(message, keys, \"id\", mustBeString);\n let pluginName = getFlag(message, keys, \"pluginName\", mustBeString);\n let text = getFlag(message, keys, \"text\", mustBeString);\n let location2 = getFlag(message, keys, \"location\", mustBeObjectOrNull);\n let notes = getFlag(message, keys, \"notes\", mustBeArray);\n let detail = getFlag(message, keys, \"detail\", canBeAnything);\n let where = `in element ${index} of \"${property}\"`;\n checkForInvalidFlags(message, keys, where);\n let notesClone = [];\n if (notes) {\n for (const note of notes) {\n let noteKeys = {};\n let noteText = getFlag(note, noteKeys, \"text\", mustBeString);\n let noteLocation = getFlag(note, noteKeys, \"location\", mustBeObjectOrNull);\n checkForInvalidFlags(note, noteKeys, where);\n notesClone.push({\n text: noteText || \"\",\n location: sanitizeLocation(noteLocation, where)\n });\n }\n }\n messagesClone.push({\n id: id || \"\",\n pluginName: pluginName || fallbackPluginName,\n text: text || \"\",\n location: sanitizeLocation(location2, where),\n notes: notesClone,\n detail: stash ? stash.store(detail) : -1\n });\n index++;\n }\n return messagesClone;\n}\nfunction sanitizeStringArray(values, property) {\n const result = [];\n for (const value of values) {\n if (typeof value !== \"string\")\n throw new Error(`${quote(property)} must be an array of strings`);\n result.push(value);\n }\n return result;\n}\nfunction convertOutputFiles({ path, contents }) {\n let text = null;\n return {\n path,\n contents,\n get text() {\n const binary = this.contents;\n if (text === null || binary !== contents) {\n contents = binary;\n text = decodeUTF8(binary);\n }\n return text;\n }\n };\n}\n\n// lib/npm/browser.ts\nvar version = \"0.17.10\";\nvar build = (options) => ensureServiceIsRunning().build(options);\nvar context = (options) => ensureServiceIsRunning().context(options);\nvar transform = (input, options) => ensureServiceIsRunning().transform(input, options);\nvar formatMessages = (messages, options) => ensureServiceIsRunning().formatMessages(messages, options);\nvar analyzeMetafile = (metafile, options) => ensureServiceIsRunning().analyzeMetafile(metafile, options);\nvar buildSync = () => {\n throw new Error(`The \"buildSync\" API only works in node`);\n};\nvar transformSync = () => {\n throw new Error(`The \"transformSync\" API only works in node`);\n};\nvar formatMessagesSync = () => {\n throw new Error(`The \"formatMessagesSync\" API only works in node`);\n};\nvar analyzeMetafileSync = () => {\n throw new Error(`The \"analyzeMetafileSync\" API only works in node`);\n};\nvar initializePromise;\nvar longLivedService;\nvar ensureServiceIsRunning = () => {\n if (longLivedService)\n return longLivedService;\n if (initializePromise)\n throw new Error('You need to wait for the promise returned from \"initialize\" to be resolved before calling this');\n throw new Error('You need to call \"initialize\" before calling this');\n};\nvar initialize = (options) => {\n options = validateInitializeOptions(options || {});\n let wasmURL = options.wasmURL;\n let wasmModule = options.wasmModule;\n let useWorker = options.worker !== false;\n if (!wasmURL && !wasmModule)\n throw new Error('Must provide either the \"wasmURL\" option or the \"wasmModule\" option');\n if (initializePromise)\n throw new Error('Cannot call \"initialize\" more than once');\n initializePromise = startRunningService(wasmURL || \"\", wasmModule, useWorker);\n initializePromise.catch(() => {\n initializePromise = void 0;\n });\n return initializePromise;\n};\nvar startRunningService = (wasmURL, wasmModule, useWorker) => __async(void 0, null, function* () {\n let worker;\n if (useWorker) {\n let blob = new Blob([`onmessage=${'((postMessage) => {\\n // Copyright 2018 The Go Authors. All rights reserved.\\n // Use of this source code is governed by a BSD-style\\n // license that can be found in the LICENSE file.\\n var __async = (__this, __arguments, generator) => {\\n return new Promise((resolve, reject) => {\\n var fulfilled = (value) => {\\n try {\\n step(generator.next(value));\\n } catch (e) {\\n reject(e);\\n }\\n };\\n var rejected = (value) => {\\n try {\\n step(generator.throw(value));\\n } catch (e) {\\n reject(e);\\n }\\n };\\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\\n step((generator = generator.apply(__this, __arguments)).next());\\n });\\n };\\n let onmessage;\\n let globalThis = {};\\n for (let o = self; o; o = Object.getPrototypeOf(o))\\n for (let k of Object.getOwnPropertyNames(o))\\n if (!(k in globalThis))\\n Object.defineProperty(globalThis, k, { get: () => self[k] });\\n \"use strict\";\\n (() => {\\n const enosys = () => {\\n const err = new Error(\"not implemented\");\\n err.code = \"ENOSYS\";\\n return err;\\n };\\n if (!globalThis.fs) {\\n let outputBuf = \"\";\\n globalThis.fs = {\\n constants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1 },\\n // unused\\n writeSync(fd, buf) {\\n outputBuf += decoder.decode(buf);\\n const nl = outputBuf.lastIndexOf(\"\\\\n\");\\n if (nl != -1) {\\n console.log(outputBuf.substring(0, nl));\\n outputBuf = outputBuf.substring(nl + 1);\\n }\\n return buf.length;\\n },\\n write(fd, buf, offset, length, position, callback) {\\n if (offset !== 0 || length !== buf.length || position !== null) {\\n callback(enosys());\\n return;\\n }\\n const n = this.writeSync(fd, buf);\\n callback(null, n);\\n },\\n chmod(path, mode, callback) {\\n callback(enosys());\\n },\\n chown(path, uid, gid, callback) {\\n callback(enosys());\\n },\\n close(fd, callback) {\\n callback(enosys());\\n },\\n fchmod(fd, mode, callback) {\\n callback(enosys());\\n },\\n fchown(fd, uid, gid, callback) {\\n callback(enosys());\\n },\\n fstat(fd, callback) {\\n callback(enosys());\\n },\\n fsync(fd, callback) {\\n callback(null);\\n },\\n ftruncate(fd, length, callback) {\\n callback(enosys());\\n },\\n lchown(path, uid, gid, callback) {\\n callback(enosys());\\n },\\n link(path, link, callback) {\\n callback(enosys());\\n },\\n lstat(path, callback) {\\n callback(enosys());\\n },\\n mkdir(path, perm, callback) {\\n callback(enosys());\\n },\\n open(path, flags, mode, callback) {\\n callback(enosys());\\n },\\n read(fd, buffer, offset, length, position, callback) {\\n callback(enosys());\\n },\\n readdir(path, callback) {\\n callback(enosys());\\n },\\n readlink(path, callback) {\\n callback(enosys());\\n },\\n rename(from, to, callback) {\\n callback(enosys());\\n },\\n rmdir(path, callback) {\\n callback(enosys());\\n },\\n stat(path, callback) {\\n callback(enosys());\\n },\\n symlink(path, link, callback) {\\n callback(enosys());\\n },\\n truncate(path, length, callback) {\\n callback(enosys());\\n },\\n unlink(path, callback) {\\n callback(enosys());\\n },\\n utimes(path, atime, mtime, callback) {\\n callback(enosys());\\n }\\n };\\n }\\n if (!globalThis.process) {\\n globalThis.process = {\\n getuid() {\\n return -1;\\n },\\n getgid() {\\n return -1;\\n },\\n geteuid() {\\n return -1;\\n },\\n getegid() {\\n return -1;\\n },\\n getgroups() {\\n throw enosys();\\n },\\n pid: -1,\\n ppid: -1,\\n umask() {\\n throw enosys();\\n },\\n cwd() {\\n throw enosys();\\n },\\n chdir() {\\n throw enosys();\\n }\\n };\\n }\\n if (!globalThis.crypto) {\\n throw new Error(\"globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)\");\\n }\\n if (!globalThis.performance) {\\n throw new Error(\"globalThis.performance is not available, polyfill required (performance.now only)\");\\n }\\n if (!globalThis.TextEncoder) {\\n throw new Error(\"globalThis.TextEncoder is not available, polyfill required\");\\n }\\n if (!globalThis.TextDecoder) {\\n throw new Error(\"globalThis.TextDecoder is not available, polyfill required\");\\n }\\n const encoder = new TextEncoder(\"utf-8\");\\n const decoder = new TextDecoder(\"utf-8\");\\n globalThis.Go = class {\\n constructor() {\\n this.argv = [\"js\"];\\n this.env = {};\\n this.exit = (code) => {\\n if (code !== 0) {\\n console.warn(\"exit code:\", code);\\n }\\n };\\n this._exitPromise = new Promise((resolve) => {\\n this._resolveExitPromise = resolve;\\n });\\n this._pendingEvent = null;\\n this._scheduledTimeouts = /* @__PURE__ */ new Map();\\n this._nextCallbackTimeoutID = 1;\\n const setInt64 = (addr, v) => {\\n this.mem.setUint32(addr + 0, v, true);\\n this.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true);\\n };\\n const getInt64 = (addr) => {\\n const low = this.mem.getUint32(addr + 0, true);\\n const high = this.mem.getInt32(addr + 4, true);\\n return low + high * 4294967296;\\n };\\n const loadValue = (addr) => {\\n const f = this.mem.getFloat64(addr, true);\\n if (f === 0) {\\n return void 0;\\n }\\n if (!isNaN(f)) {\\n return f;\\n }\\n const id = this.mem.getUint32(addr, true);\\n return this._values[id];\\n };\\n const storeValue = (addr, v) => {\\n const nanHead = 2146959360;\\n if (typeof v === \"number\" && v !== 0) {\\n if (isNaN(v)) {\\n this.mem.setUint32(addr + 4, nanHead, true);\\n this.mem.setUint32(addr, 0, true);\\n return;\\n }\\n this.mem.setFloat64(addr, v, true);\\n return;\\n }\\n if (v === void 0) {\\n this.mem.setFloat64(addr, 0, true);\\n return;\\n }\\n let id = this._ids.get(v);\\n if (id === void 0) {\\n id = this._idPool.pop();\\n if (id === void 0) {\\n id = this._values.length;\\n }\\n this._values[id] = v;\\n this._goRefCounts[id] = 0;\\n this._ids.set(v, id);\\n }\\n this._goRefCounts[id]++;\\n let typeFlag = 0;\\n switch (typeof v) {\\n case \"object\":\\n if (v !== null) {\\n typeFlag = 1;\\n }\\n break;\\n case \"string\":\\n typeFlag = 2;\\n break;\\n case \"symbol\":\\n typeFlag = 3;\\n break;\\n case \"function\":\\n typeFlag = 4;\\n break;\\n }\\n this.mem.setUint32(addr + 4, nanHead | typeFlag, true);\\n this.mem.setUint32(addr, id, true);\\n };\\n const loadSlice = (addr) => {\\n const array = getInt64(addr + 0);\\n const len = getInt64(addr + 8);\\n return new Uint8Array(this._inst.exports.mem.buffer, array, len);\\n };\\n const loadSliceOfValues = (addr) => {\\n const array = getInt64(addr + 0);\\n const len = getInt64(addr + 8);\\n const a = new Array(len);\\n for (let i = 0; i < len; i++) {\\n a[i] = loadValue(array + i * 8);\\n }\\n return a;\\n };\\n const loadString = (addr) => {\\n const saddr = getInt64(addr + 0);\\n const len = getInt64(addr + 8);\\n return decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len));\\n };\\n const timeOrigin = Date.now() - performance.now();\\n this.importObject = {\\n go: {\\n // Go\\'s SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters)\\n // may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported\\n // function. A goroutine can switch to a new stack if the current stack is too small (see morestack function).\\n // This changes the SP, thus we have to update the SP used by the imported function.\\n // func wasmExit(code int32)\\n \"runtime.wasmExit\": (sp) => {\\n sp >>>= 0;\\n const code = this.mem.getInt32(sp + 8, true);\\n this.exited = true;\\n delete this._inst;\\n delete this._values;\\n delete this._goRefCounts;\\n delete this._ids;\\n delete this._idPool;\\n this.exit(code);\\n },\\n // func wasmWrite(fd uintptr, p unsafe.Pointer, n int32)\\n \"runtime.wasmWrite\": (sp) => {\\n sp >>>= 0;\\n const fd = getInt64(sp + 8);\\n const p = getInt64(sp + 16);\\n const n = this.mem.getInt32(sp + 24, true);\\n globalThis.fs.writeSync(fd, new Uint8Array(this._inst.exports.mem.buffer, p, n));\\n },\\n // func resetMemoryDataView()\\n \"runtime.resetMemoryDataView\": (sp) => {\\n sp >>>= 0;\\n this.mem = new DataView(this._inst.exports.mem.buffer);\\n },\\n // func nanotime1() int64\\n \"runtime.nanotime1\": (sp) => {\\n sp >>>= 0;\\n setInt64(sp + 8, (timeOrigin + performance.now()) * 1e6);\\n },\\n // func walltime() (sec int64, nsec int32)\\n \"runtime.walltime\": (sp) => {\\n sp >>>= 0;\\n const msec = (/* @__PURE__ */ new Date()).getTime();\\n setInt64(sp + 8, msec / 1e3);\\n this.mem.setInt32(sp + 16, msec % 1e3 * 1e6, true);\\n },\\n // func scheduleTimeoutEvent(delay int64) int32\\n \"runtime.scheduleTimeoutEvent\": (sp) => {\\n sp >>>= 0;\\n const id = this._nextCallbackTimeoutID;\\n this._nextCallbackTimeoutID++;\\n this._scheduledTimeouts.set(id, setTimeout(\\n () => {\\n this._resume();\\n while (this._scheduledTimeouts.has(id)) {\\n console.warn(\"scheduleTimeoutEvent: missed timeout event\");\\n this._resume();\\n }\\n },\\n getInt64(sp + 8) + 1\\n // setTimeout has been seen to fire up to 1 millisecond early\\n ));\\n this.mem.setInt32(sp + 16, id, true);\\n },\\n // func clearTimeoutEvent(id int32)\\n \"runtime.clearTimeoutEvent\": (sp) => {\\n sp >>>= 0;\\n const id = this.mem.getInt32(sp + 8, true);\\n clearTimeout(this._scheduledTimeouts.get(id));\\n this._scheduledTimeouts.delete(id);\\n },\\n // func getRandomData(r []byte)\\n \"runtime.getRandomData\": (sp) => {\\n sp >>>= 0;\\n crypto.getRandomValues(loadSlice(sp + 8));\\n },\\n // func finalizeRef(v ref)\\n \"syscall/js.finalizeRef\": (sp) => {\\n sp >>>= 0;\\n const id = this.mem.getUint32(sp + 8, true);\\n this._goRefCounts[id]--;\\n if (this._goRefCounts[id] === 0) {\\n const v = this._values[id];\\n this._values[id] = null;\\n this._ids.delete(v);\\n this._idPool.push(id);\\n }\\n },\\n // func stringVal(value string) ref\\n \"syscall/js.stringVal\": (sp) => {\\n sp >>>= 0;\\n storeValue(sp + 24, loadString(sp + 8));\\n },\\n // func valueGet(v ref, p string) ref\\n \"syscall/js.valueGet\": (sp) => {\\n sp >>>= 0;\\n const result = Reflect.get(loadValue(sp + 8), loadString(sp + 16));\\n sp = this._inst.exports.getsp() >>> 0;\\n storeValue(sp + 32, result);\\n },\\n // func valueSet(v ref, p string, x ref)\\n \"syscall/js.valueSet\": (sp) => {\\n sp >>>= 0;\\n Reflect.set(loadValue(sp + 8), loadString(sp + 16), loadValue(sp + 32));\\n },\\n // func valueDelete(v ref, p string)\\n \"syscall/js.valueDelete\": (sp) => {\\n sp >>>= 0;\\n Reflect.deleteProperty(loadValue(sp + 8), loadString(sp + 16));\\n },\\n // func valueIndex(v ref, i int) ref\\n \"syscall/js.valueIndex\": (sp) => {\\n sp >>>= 0;\\n storeValue(sp + 24, Reflect.get(loadValue(sp + 8), getInt64(sp + 16)));\\n },\\n // valueSetIndex(v ref, i int, x ref)\\n \"syscall/js.valueSetIndex\": (sp) => {\\n sp >>>= 0;\\n Reflect.set(loadValue(sp + 8), getInt64(sp + 16), loadValue(sp + 24));\\n },\\n // func valueCall(v ref, m string, args []ref) (ref, bool)\\n \"syscall/js.valueCall\": (sp) => {\\n sp >>>= 0;\\n try {\\n const v = loadValue(sp + 8);\\n const m = Reflect.get(v, loadString(sp + 16));\\n const args = loadSliceOfValues(sp + 32);\\n const result = Reflect.apply(m, v, args);\\n sp = this._inst.exports.getsp() >>> 0;\\n storeValue(sp + 56, result);\\n this.mem.setUint8(sp + 64, 1);\\n } catch (err) {\\n sp = this._inst.exports.getsp() >>> 0;\\n storeValue(sp + 56, err);\\n this.mem.setUint8(sp + 64, 0);\\n }\\n },\\n // func valueInvoke(v ref, args []ref) (ref, bool)\\n \"syscall/js.valueInvoke\": (sp) => {\\n sp >>>= 0;\\n try {\\n const v = loadValue(sp + 8);\\n const args = loadSliceOfValues(sp + 16);\\n const result = Reflect.apply(v, void 0, args);\\n sp = this._inst.exports.getsp() >>> 0;\\n storeValue(sp + 40, result);\\n this.mem.setUint8(sp + 48, 1);\\n } catch (err) {\\n sp = this._inst.exports.getsp() >>> 0;\\n storeValue(sp + 40, err);\\n this.mem.setUint8(sp + 48, 0);\\n }\\n },\\n // func valueNew(v ref, args []ref) (ref, bool)\\n \"syscall/js.valueNew\": (sp) => {\\n sp >>>= 0;\\n try {\\n const v = loadValue(sp + 8);\\n const args = loadSliceOfValues(sp + 16);\\n const result = Reflect.construct(v, args);\\n sp = this._inst.exports.getsp() >>> 0;\\n storeValue(sp + 40, result);\\n this.mem.setUint8(sp + 48, 1);\\n } catch (err) {\\n sp = this._inst.exports.getsp() >>> 0;\\n storeValue(sp + 40, err);\\n this.mem.setUint8(sp + 48, 0);\\n }\\n },\\n // func valueLength(v ref) int\\n \"syscall/js.valueLength\": (sp) => {\\n sp >>>= 0;\\n setInt64(sp + 16, parseInt(loadValue(sp + 8).length));\\n },\\n // valuePrepareString(v ref) (ref, int)\\n \"syscall/js.valuePrepareString\": (sp) => {\\n sp >>>= 0;\\n const str = encoder.encode(String(loadValue(sp + 8)));\\n storeValue(sp + 16, str);\\n setInt64(sp + 24, str.length);\\n },\\n // valueLoadString(v ref, b []byte)\\n \"syscall/js.valueLoadString\": (sp) => {\\n sp >>>= 0;\\n const str = loadValue(sp + 8);\\n loadSlice(sp + 16).set(str);\\n },\\n // func valueInstanceOf(v ref, t ref) bool\\n \"syscall/js.valueInstanceOf\": (sp) => {\\n sp >>>= 0;\\n this.mem.setUint8(sp + 24, loadValue(sp + 8) instanceof loadValue(sp + 16) ? 1 : 0);\\n },\\n // func copyBytesToGo(dst []byte, src ref) (int, bool)\\n \"syscall/js.copyBytesToGo\": (sp) => {\\n sp >>>= 0;\\n const dst = loadSlice(sp + 8);\\n const src = loadValue(sp + 32);\\n if (!(src instanceof Uint8Array || src instanceof Uint8ClampedArray)) {\\n this.mem.setUint8(sp + 48, 0);\\n return;\\n }\\n const toCopy = src.subarray(0, dst.length);\\n dst.set(toCopy);\\n setInt64(sp + 40, toCopy.length);\\n this.mem.setUint8(sp + 48, 1);\\n },\\n // func copyBytesToJS(dst ref, src []byte) (int, bool)\\n \"syscall/js.copyBytesToJS\": (sp) => {\\n sp >>>= 0;\\n const dst = loadValue(sp + 8);\\n const src = loadSlice(sp + 16);\\n if (!(dst instanceof Uint8Array || dst instanceof Uint8ClampedArray)) {\\n this.mem.setUint8(sp + 48, 0);\\n return;\\n }\\n const toCopy = src.subarray(0, dst.length);\\n dst.set(toCopy);\\n setInt64(sp + 40, toCopy.length);\\n this.mem.setUint8(sp + 48, 1);\\n },\\n \"debug\": (value) => {\\n console.log(value);\\n }\\n }\\n };\\n }\\n run(instance) {\\n return __async(this, null, function* () {\\n if (!(instance instanceof WebAssembly.Instance)) {\\n throw new Error(\"Go.run: WebAssembly.Instance expected\");\\n }\\n this._inst = instance;\\n this.mem = new DataView(this._inst.exports.mem.buffer);\\n this._values = [\\n // JS values that Go currently has references to, indexed by reference id\\n NaN,\\n 0,\\n null,\\n true,\\n false,\\n globalThis,\\n this\\n ];\\n this._goRefCounts = new Array(this._values.length).fill(Infinity);\\n this._ids = /* @__PURE__ */ new Map([\\n // mapping from JS values to reference ids\\n [0, 1],\\n [null, 2],\\n [true, 3],\\n [false, 4],\\n [globalThis, 5],\\n [this, 6]\\n ]);\\n this._idPool = [];\\n this.exited = false;\\n let offset = 4096;\\n const strPtr = (str) => {\\n const ptr = offset;\\n const bytes = encoder.encode(str + \"\\\\0\");\\n new Uint8Array(this.mem.buffer, offset, bytes.length).set(bytes);\\n offset += bytes.length;\\n if (offset % 8 !== 0) {\\n offset += 8 - offset % 8;\\n }\\n return ptr;\\n };\\n const argc = this.argv.length;\\n const argvPtrs = [];\\n this.argv.forEach((arg) => {\\n argvPtrs.push(strPtr(arg));\\n });\\n argvPtrs.push(0);\\n const keys = Object.keys(this.env).sort();\\n keys.forEach((key) => {\\n argvPtrs.push(strPtr(`${key}=${this.env[key]}`));\\n });\\n argvPtrs.push(0);\\n const argv = offset;\\n argvPtrs.forEach((ptr) => {\\n this.mem.setUint32(offset, ptr, true);\\n this.mem.setUint32(offset + 4, 0, true);\\n offset += 8;\\n });\\n const wasmMinDataAddr = 4096 + 8192;\\n if (offset >= wasmMinDataAddr) {\\n throw new Error(\"total length of command line and environment variables exceeds limit\");\\n }\\n this._inst.exports.run(argc, argv);\\n if (this.exited) {\\n this._resolveExitPromise();\\n }\\n yield this._exitPromise;\\n });\\n }\\n _resume() {\\n if (this.exited) {\\n throw new Error(\"Go program has already exited\");\\n }\\n this._inst.exports.resume();\\n if (this.exited) {\\n this._resolveExitPromise();\\n }\\n }\\n _makeFuncWrapper(id) {\\n const go = this;\\n return function() {\\n const event = { id, this: this, args: arguments };\\n go._pendingEvent = event;\\n go._resume();\\n return event.result;\\n };\\n }\\n };\\n })();\\n onmessage = ({ data: wasm }) => {\\n let decoder = new TextDecoder();\\n let fs = globalThis.fs;\\n let stderr = \"\";\\n fs.writeSync = (fd, buffer) => {\\n if (fd === 1) {\\n postMessage(buffer);\\n } else if (fd === 2) {\\n stderr += decoder.decode(buffer);\\n let parts = stderr.split(\"\\\\n\");\\n if (parts.length > 1)\\n console.log(parts.slice(0, -1).join(\"\\\\n\"));\\n stderr = parts[parts.length - 1];\\n } else {\\n throw new Error(\"Bad write\");\\n }\\n return buffer.length;\\n };\\n let stdin = [];\\n let resumeStdin;\\n let stdinPos = 0;\\n onmessage = ({ data }) => {\\n if (data.length > 0) {\\n stdin.push(data);\\n if (resumeStdin)\\n resumeStdin();\\n }\\n };\\n fs.read = (fd, buffer, offset, length, position, callback) => {\\n if (fd !== 0 || offset !== 0 || length !== buffer.length || position !== null) {\\n throw new Error(\"Bad read\");\\n }\\n if (stdin.length === 0) {\\n resumeStdin = () => fs.read(fd, buffer, offset, length, position, callback);\\n return;\\n }\\n let first = stdin[0];\\n let count = Math.max(0, Math.min(length, first.length - stdinPos));\\n buffer.set(first.subarray(stdinPos, stdinPos + count), offset);\\n stdinPos += count;\\n if (stdinPos === first.length) {\\n stdin.shift();\\n stdinPos = 0;\\n }\\n callback(null, count);\\n };\\n let go = new globalThis.Go();\\n go.argv = [\"\", `--service=${\"0.17.10\"}`];\\n tryToInstantiateModule(wasm, go).then(\\n (instance) => {\\n postMessage(null);\\n go.run(instance);\\n },\\n (error) => {\\n postMessage(error);\\n }\\n );\\n };\\n function tryToInstantiateModule(wasm, go) {\\n return __async(this, null, function* () {\\n if (wasm instanceof WebAssembly.Module) {\\n return WebAssembly.instantiate(wasm, go.importObject);\\n }\\n const res = yield fetch(wasm);\\n if (!res.ok)\\n throw new Error(`Failed to download ${JSON.stringify(wasm)}`);\\n if (\"instantiateStreaming\" in WebAssembly && /^application\\\\/wasm($|;)/i.test(res.headers.get(\"Content-Type\") || \"\")) {\\n const result2 = yield WebAssembly.instantiateStreaming(res, go.importObject);\\n return result2.instance;\\n }\\n const bytes = yield res.arrayBuffer();\\n const result = yield WebAssembly.instantiate(bytes, go.importObject);\\n return result.instance;\\n });\\n }\\n return (m) => onmessage(m);\\n })'}(postMessage)`], { type: \"text/javascript\" });\n worker = new Worker(URL.createObjectURL(blob));\n } else {\n let onmessage = ((postMessage) => {\n // Copyright 2018 The Go Authors. All rights reserved.\n // Use of this source code is governed by a BSD-style\n // license that can be found in the LICENSE file.\n var __async = (__this, __arguments, generator) => {\n return new Promise((resolve, reject) => {\n var fulfilled = (value) => {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n };\n var rejected = (value) => {\n try {\n step(generator.throw(value));\n } catch (e) {\n reject(e);\n }\n };\n var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);\n step((generator = generator.apply(__this, __arguments)).next());\n });\n };\n let onmessage;\n let globalThis = {};\n for (let o = self; o; o = Object.getPrototypeOf(o))\n for (let k of Object.getOwnPropertyNames(o))\n if (!(k in globalThis))\n Object.defineProperty(globalThis, k, { get: () => self[k] });\n \"use strict\";\n (() => {\n const enosys = () => {\n const err = new Error(\"not implemented\");\n err.code = \"ENOSYS\";\n return err;\n };\n if (!globalThis.fs) {\n let outputBuf = \"\";\n globalThis.fs = {\n constants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1 },\n // unused\n writeSync(fd, buf) {\n outputBuf += decoder.decode(buf);\n const nl = outputBuf.lastIndexOf(\"\\n\");\n if (nl != -1) {\n console.log(outputBuf.substring(0, nl));\n outputBuf = outputBuf.substring(nl + 1);\n }\n return buf.length;\n },\n write(fd, buf, offset, length, position, callback) {\n if (offset !== 0 || length !== buf.length || position !== null) {\n callback(enosys());\n return;\n }\n const n = this.writeSync(fd, buf);\n callback(null, n);\n },\n chmod(path, mode, callback) {\n callback(enosys());\n },\n chown(path, uid, gid, callback) {\n callback(enosys());\n },\n close(fd, callback) {\n callback(enosys());\n },\n fchmod(fd, mode, callback) {\n callback(enosys());\n },\n fchown(fd, uid, gid, callback) {\n callback(enosys());\n },\n fstat(fd, callback) {\n callback(enosys());\n },\n fsync(fd, callback) {\n callback(null);\n },\n ftruncate(fd, length, callback) {\n callback(enosys());\n },\n lchown(path, uid, gid, callback) {\n callback(enosys());\n },\n link(path, link, callback) {\n callback(enosys());\n },\n lstat(path, callback) {\n callback(enosys());\n },\n mkdir(path, perm, callback) {\n callback(enosys());\n },\n open(path, flags, mode, callback) {\n callback(enosys());\n },\n read(fd, buffer, offset, length, position, callback) {\n callback(enosys());\n },\n readdir(path, callback) {\n callback(enosys());\n },\n readlink(path, callback) {\n callback(enosys());\n },\n rename(from, to, callback) {\n callback(enosys());\n },\n rmdir(path, callback) {\n callback(enosys());\n },\n stat(path, callback) {\n callback(enosys());\n },\n symlink(path, link, callback) {\n callback(enosys());\n },\n truncate(path, length, callback) {\n callback(enosys());\n },\n unlink(path, callback) {\n callback(enosys());\n },\n utimes(path, atime, mtime, callback) {\n callback(enosys());\n }\n };\n }\n if (!globalThis.process) {\n globalThis.process = {\n getuid() {\n return -1;\n },\n getgid() {\n return -1;\n },\n geteuid() {\n return -1;\n },\n getegid() {\n return -1;\n },\n getgroups() {\n throw enosys();\n },\n pid: -1,\n ppid: -1,\n umask() {\n throw enosys();\n },\n cwd() {\n throw enosys();\n },\n chdir() {\n throw enosys();\n }\n };\n }\n if (!globalThis.crypto) {\n throw new Error(\"globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)\");\n }\n if (!globalThis.performance) {\n throw new Error(\"globalThis.performance is not available, polyfill required (performance.now only)\");\n }\n if (!globalThis.TextEncoder) {\n throw new Error(\"globalThis.TextEncoder is not available, polyfill required\");\n }\n if (!globalThis.TextDecoder) {\n throw new Error(\"globalThis.TextDecoder is not available, polyfill required\");\n }\n const encoder = new TextEncoder(\"utf-8\");\n const decoder = new TextDecoder(\"utf-8\");\n globalThis.Go = class {\n constructor() {\n this.argv = [\"js\"];\n this.env = {};\n this.exit = (code) => {\n if (code !== 0) {\n console.warn(\"exit code:\", code);\n }\n };\n this._exitPromise = new Promise((resolve) => {\n this._resolveExitPromise = resolve;\n });\n this._pendingEvent = null;\n this._scheduledTimeouts = /* @__PURE__ */ new Map();\n this._nextCallbackTimeoutID = 1;\n const setInt64 = (addr, v) => {\n this.mem.setUint32(addr + 0, v, true);\n this.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true);\n };\n const getInt64 = (addr) => {\n const low = this.mem.getUint32(addr + 0, true);\n const high = this.mem.getInt32(addr + 4, true);\n return low + high * 4294967296;\n };\n const loadValue = (addr) => {\n const f = this.mem.getFloat64(addr, true);\n if (f === 0) {\n return void 0;\n }\n if (!isNaN(f)) {\n return f;\n }\n const id = this.mem.getUint32(addr, true);\n return this._values[id];\n };\n const storeValue = (addr, v) => {\n const nanHead = 2146959360;\n if (typeof v === \"number\" && v !== 0) {\n if (isNaN(v)) {\n this.mem.setUint32(addr + 4, nanHead, true);\n this.mem.setUint32(addr, 0, true);\n return;\n }\n this.mem.setFloat64(addr, v, true);\n return;\n }\n if (v === void 0) {\n this.mem.setFloat64(addr, 0, true);\n return;\n }\n let id = this._ids.get(v);\n if (id === void 0) {\n id = this._idPool.pop();\n if (id === void 0) {\n id = this._values.length;\n }\n this._values[id] = v;\n this._goRefCounts[id] = 0;\n this._ids.set(v, id);\n }\n this._goRefCounts[id]++;\n let typeFlag = 0;\n switch (typeof v) {\n case \"object\":\n if (v !== null) {\n typeFlag = 1;\n }\n break;\n case \"string\":\n typeFlag = 2;\n break;\n case \"symbol\":\n typeFlag = 3;\n break;\n case \"function\":\n typeFlag = 4;\n break;\n }\n this.mem.setUint32(addr + 4, nanHead | typeFlag, true);\n this.mem.setUint32(addr, id, true);\n };\n const loadSlice = (addr) => {\n const array = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n return new Uint8Array(this._inst.exports.mem.buffer, array, len);\n };\n const loadSliceOfValues = (addr) => {\n const array = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n const a = new Array(len);\n for (let i = 0; i < len; i++) {\n a[i] = loadValue(array + i * 8);\n }\n return a;\n };\n const loadString = (addr) => {\n const saddr = getInt64(addr + 0);\n const len = getInt64(addr + 8);\n return decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len));\n };\n const timeOrigin = Date.now() - performance.now();\n this.importObject = {\n go: {\n // Go's SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters)\n // may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported\n // function. A goroutine can switch to a new stack if the current stack is too small (see morestack function).\n // This changes the SP, thus we have to update the SP used by the imported function.\n // func wasmExit(code int32)\n \"runtime.wasmExit\": (sp) => {\n sp >>>= 0;\n const code = this.mem.getInt32(sp + 8, true);\n this.exited = true;\n delete this._inst;\n delete this._values;\n delete this._goRefCounts;\n delete this._ids;\n delete this._idPool;\n this.exit(code);\n },\n // func wasmWrite(fd uintptr, p unsafe.Pointer, n int32)\n \"runtime.wasmWrite\": (sp) => {\n sp >>>= 0;\n const fd = getInt64(sp + 8);\n const p = getInt64(sp + 16);\n const n = this.mem.getInt32(sp + 24, true);\n globalThis.fs.writeSync(fd, new Uint8Array(this._inst.exports.mem.buffer, p, n));\n },\n // func resetMemoryDataView()\n \"runtime.resetMemoryDataView\": (sp) => {\n sp >>>= 0;\n this.mem = new DataView(this._inst.exports.mem.buffer);\n },\n // func nanotime1() int64\n \"runtime.nanotime1\": (sp) => {\n sp >>>= 0;\n setInt64(sp + 8, (timeOrigin + performance.now()) * 1e6);\n },\n // func walltime() (sec int64, nsec int32)\n \"runtime.walltime\": (sp) => {\n sp >>>= 0;\n const msec = (/* @__PURE__ */ new Date()).getTime();\n setInt64(sp + 8, msec / 1e3);\n this.mem.setInt32(sp + 16, msec % 1e3 * 1e6, true);\n },\n // func scheduleTimeoutEvent(delay int64) int32\n \"runtime.scheduleTimeoutEvent\": (sp) => {\n sp >>>= 0;\n const id = this._nextCallbackTimeoutID;\n this._nextCallbackTimeoutID++;\n this._scheduledTimeouts.set(id, setTimeout(\n () => {\n this._resume();\n while (this._scheduledTimeouts.has(id)) {\n console.warn(\"scheduleTimeoutEvent: missed timeout event\");\n this._resume();\n }\n },\n getInt64(sp + 8) + 1\n // setTimeout has been seen to fire up to 1 millisecond early\n ));\n this.mem.setInt32(sp + 16, id, true);\n },\n // func clearTimeoutEvent(id int32)\n \"runtime.clearTimeoutEvent\": (sp) => {\n sp >>>= 0;\n const id = this.mem.getInt32(sp + 8, true);\n clearTimeout(this._scheduledTimeouts.get(id));\n this._scheduledTimeouts.delete(id);\n },\n // func getRandomData(r []byte)\n \"runtime.getRandomData\": (sp) => {\n sp >>>= 0;\n crypto.getRandomValues(loadSlice(sp + 8));\n },\n // func finalizeRef(v ref)\n \"syscall/js.finalizeRef\": (sp) => {\n sp >>>= 0;\n const id = this.mem.getUint32(sp + 8, true);\n this._goRefCounts[id]--;\n if (this._goRefCounts[id] === 0) {\n const v = this._values[id];\n this._values[id] = null;\n this._ids.delete(v);\n this._idPool.push(id);\n }\n },\n // func stringVal(value string) ref\n \"syscall/js.stringVal\": (sp) => {\n sp >>>= 0;\n storeValue(sp + 24, loadString(sp + 8));\n },\n // func valueGet(v ref, p string) ref\n \"syscall/js.valueGet\": (sp) => {\n sp >>>= 0;\n const result = Reflect.get(loadValue(sp + 8), loadString(sp + 16));\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 32, result);\n },\n // func valueSet(v ref, p string, x ref)\n \"syscall/js.valueSet\": (sp) => {\n sp >>>= 0;\n Reflect.set(loadValue(sp + 8), loadString(sp + 16), loadValue(sp + 32));\n },\n // func valueDelete(v ref, p string)\n \"syscall/js.valueDelete\": (sp) => {\n sp >>>= 0;\n Reflect.deleteProperty(loadValue(sp + 8), loadString(sp + 16));\n },\n // func valueIndex(v ref, i int) ref\n \"syscall/js.valueIndex\": (sp) => {\n sp >>>= 0;\n storeValue(sp + 24, Reflect.get(loadValue(sp + 8), getInt64(sp + 16)));\n },\n // valueSetIndex(v ref, i int, x ref)\n \"syscall/js.valueSetIndex\": (sp) => {\n sp >>>= 0;\n Reflect.set(loadValue(sp + 8), getInt64(sp + 16), loadValue(sp + 24));\n },\n // func valueCall(v ref, m string, args []ref) (ref, bool)\n \"syscall/js.valueCall\": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const m = Reflect.get(v, loadString(sp + 16));\n const args = loadSliceOfValues(sp + 32);\n const result = Reflect.apply(m, v, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 56, result);\n this.mem.setUint8(sp + 64, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 56, err);\n this.mem.setUint8(sp + 64, 0);\n }\n },\n // func valueInvoke(v ref, args []ref) (ref, bool)\n \"syscall/js.valueInvoke\": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const args = loadSliceOfValues(sp + 16);\n const result = Reflect.apply(v, void 0, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, result);\n this.mem.setUint8(sp + 48, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, err);\n this.mem.setUint8(sp + 48, 0);\n }\n },\n // func valueNew(v ref, args []ref) (ref, bool)\n \"syscall/js.valueNew\": (sp) => {\n sp >>>= 0;\n try {\n const v = loadValue(sp + 8);\n const args = loadSliceOfValues(sp + 16);\n const result = Reflect.construct(v, args);\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, result);\n this.mem.setUint8(sp + 48, 1);\n } catch (err) {\n sp = this._inst.exports.getsp() >>> 0;\n storeValue(sp + 40, err);\n this.mem.setUint8(sp + 48, 0);\n }\n },\n // func valueLength(v ref) int\n \"syscall/js.valueLength\": (sp) => {\n sp >>>= 0;\n setInt64(sp + 16, parseInt(loadValue(sp + 8).length));\n },\n // valuePrepareString(v ref) (ref, int)\n \"syscall/js.valuePrepareString\": (sp) => {\n sp >>>= 0;\n const str = encoder.encode(String(loadValue(sp + 8)));\n storeValue(sp + 16, str);\n setInt64(sp + 24, str.length);\n },\n // valueLoadString(v ref, b []byte)\n \"syscall/js.valueLoadString\": (sp) => {\n sp >>>= 0;\n const str = loadValue(sp + 8);\n loadSlice(sp + 16).set(str);\n },\n // func valueInstanceOf(v ref, t ref) bool\n \"syscall/js.valueInstanceOf\": (sp) => {\n sp >>>= 0;\n this.mem.setUint8(sp + 24, loadValue(sp + 8) instanceof loadValue(sp + 16) ? 1 : 0);\n },\n // func copyBytesToGo(dst []byte, src ref) (int, bool)\n \"syscall/js.copyBytesToGo\": (sp) => {\n sp >>>= 0;\n const dst = loadSlice(sp + 8);\n const src = loadValue(sp + 32);\n if (!(src instanceof Uint8Array || src instanceof Uint8ClampedArray)) {\n this.mem.setUint8(sp + 48, 0);\n return;\n }\n const toCopy = src.subarray(0, dst.length);\n dst.set(toCopy);\n setInt64(sp + 40, toCopy.length);\n this.mem.setUint8(sp + 48, 1);\n },\n // func copyBytesToJS(dst ref, src []byte) (int, bool)\n \"syscall/js.copyBytesToJS\": (sp) => {\n sp >>>= 0;\n const dst = loadValue(sp + 8);\n const src = loadSlice(sp + 16);\n if (!(dst instanceof Uint8Array || dst instanceof Uint8ClampedArray)) {\n this.mem.setUint8(sp + 48, 0);\n return;\n }\n const toCopy = src.subarray(0, dst.length);\n dst.set(toCopy);\n setInt64(sp + 40, toCopy.length);\n this.mem.setUint8(sp + 48, 1);\n },\n \"debug\": (value) => {\n console.log(value);\n }\n }\n };\n }\n run(instance) {\n return __async(this, null, function* () {\n if (!(instance instanceof WebAssembly.Instance)) {\n throw new Error(\"Go.run: WebAssembly.Instance expected\");\n }\n this._inst = instance;\n this.mem = new DataView(this._inst.exports.mem.buffer);\n this._values = [\n // JS values that Go currently has references to, indexed by reference id\n NaN,\n 0,\n null,\n true,\n false,\n globalThis,\n this\n ];\n this._goRefCounts = new Array(this._values.length).fill(Infinity);\n this._ids = /* @__PURE__ */ new Map([\n // mapping from JS values to reference ids\n [0, 1],\n [null, 2],\n [true, 3],\n [false, 4],\n [globalThis, 5],\n [this, 6]\n ]);\n this._idPool = [];\n this.exited = false;\n let offset = 4096;\n const strPtr = (str) => {\n const ptr = offset;\n const bytes = encoder.encode(str + \"\\0\");\n new Uint8Array(this.mem.buffer, offset, bytes.length).set(bytes);\n offset += bytes.length;\n if (offset % 8 !== 0) {\n offset += 8 - offset % 8;\n }\n return ptr;\n };\n const argc = this.argv.length;\n const argvPtrs = [];\n this.argv.forEach((arg) => {\n argvPtrs.push(strPtr(arg));\n });\n argvPtrs.push(0);\n const keys = Object.keys(this.env).sort();\n keys.forEach((key) => {\n argvPtrs.push(strPtr(`${key}=${this.env[key]}`));\n });\n argvPtrs.push(0);\n const argv = offset;\n argvPtrs.forEach((ptr) => {\n this.mem.setUint32(offset, ptr, true);\n this.mem.setUint32(offset + 4, 0, true);\n offset += 8;\n });\n const wasmMinDataAddr = 4096 + 8192;\n if (offset >= wasmMinDataAddr) {\n throw new Error(\"total length of command line and environment variables exceeds limit\");\n }\n this._inst.exports.run(argc, argv);\n if (this.exited) {\n this._resolveExitPromise();\n }\n yield this._exitPromise;\n });\n }\n _resume() {\n if (this.exited) {\n throw new Error(\"Go program has already exited\");\n }\n this._inst.exports.resume();\n if (this.exited) {\n this._resolveExitPromise();\n }\n }\n _makeFuncWrapper(id) {\n const go = this;\n return function() {\n const event = { id, this: this, args: arguments };\n go._pendingEvent = event;\n go._resume();\n return event.result;\n };\n }\n };\n })();\n onmessage = ({ data: wasm }) => {\n let decoder = new TextDecoder();\n let fs = globalThis.fs;\n let stderr = \"\";\n fs.writeSync = (fd, buffer) => {\n if (fd === 1) {\n postMessage(buffer);\n } else if (fd === 2) {\n stderr += decoder.decode(buffer);\n let parts = stderr.split(\"\\n\");\n if (parts.length > 1)\n console.log(parts.slice(0, -1).join(\"\\n\"));\n stderr = parts[parts.length - 1];\n } else {\n throw new Error(\"Bad write\");\n }\n return buffer.length;\n };\n let stdin = [];\n let resumeStdin;\n let stdinPos = 0;\n onmessage = ({ data }) => {\n if (data.length > 0) {\n stdin.push(data);\n if (resumeStdin)\n resumeStdin();\n }\n };\n fs.read = (fd, buffer, offset, length, position, callback) => {\n if (fd !== 0 || offset !== 0 || length !== buffer.length || position !== null) {\n throw new Error(\"Bad read\");\n }\n if (stdin.length === 0) {\n resumeStdin = () => fs.read(fd, buffer, offset, length, position, callback);\n return;\n }\n let first = stdin[0];\n let count = Math.max(0, Math.min(length, first.length - stdinPos));\n buffer.set(first.subarray(stdinPos, stdinPos + count), offset);\n stdinPos += count;\n if (stdinPos === first.length) {\n stdin.shift();\n stdinPos = 0;\n }\n callback(null, count);\n };\n let go = new globalThis.Go();\n go.argv = [\"\", `--service=${\"0.17.10\"}`];\n tryToInstantiateModule(wasm, go).then(\n (instance) => {\n postMessage(null);\n go.run(instance);\n },\n (error) => {\n postMessage(error);\n }\n );\n };\n function tryToInstantiateModule(wasm, go) {\n return __async(this, null, function* () {\n if (wasm instanceof WebAssembly.Module) {\n return WebAssembly.instantiate(wasm, go.importObject);\n }\n const res = yield fetch(wasm);\n if (!res.ok)\n throw new Error(`Failed to download ${JSON.stringify(wasm)}`);\n if (\"instantiateStreaming\" in WebAssembly && /^application\\/wasm($|;)/i.test(res.headers.get(\"Content-Type\") || \"\")) {\n const result2 = yield WebAssembly.instantiateStreaming(res, go.importObject);\n return result2.instance;\n }\n const bytes = yield res.arrayBuffer();\n const result = yield WebAssembly.instantiate(bytes, go.importObject);\n return result.instance;\n });\n }\n return (m) => onmessage(m);\n })((data) => worker.onmessage({ data }));\n worker = {\n onmessage: null,\n postMessage: (data) => setTimeout(() => onmessage({ data })),\n terminate() {\n }\n };\n }\n let firstMessageResolve;\n let firstMessageReject;\n const firstMessagePromise = new Promise((resolve, reject) => {\n firstMessageResolve = resolve;\n firstMessageReject = reject;\n });\n worker.onmessage = ({ data: error }) => {\n worker.onmessage = ({ data }) => readFromStdout(data);\n if (error)\n firstMessageReject(error);\n else\n firstMessageResolve();\n };\n worker.postMessage(wasmModule || new URL(wasmURL, location.href).toString());\n let { readFromStdout, service } = createChannel({\n writeToStdin(bytes) {\n worker.postMessage(bytes);\n },\n isSync: false,\n hasFS: false,\n esbuild: browser_exports\n });\n yield firstMessagePromise;\n longLivedService = {\n build: (options) => new Promise((resolve, reject) => service.buildOrContext({\n callName: \"build\",\n refs: null,\n options,\n isTTY: false,\n defaultWD: \"/\",\n callback: (err, res) => err ? reject(err) : resolve(res)\n })),\n context: (options) => new Promise((resolve, reject) => service.buildOrContext({\n callName: \"context\",\n refs: null,\n options,\n isTTY: false,\n defaultWD: \"/\",\n callback: (err, res) => err ? reject(err) : resolve(res)\n })),\n transform: (input, options) => new Promise((resolve, reject) => service.transform({\n callName: \"transform\",\n refs: null,\n input,\n options: options || {},\n isTTY: false,\n fs: {\n readFile(_, callback) {\n callback(new Error(\"Internal error\"), null);\n },\n writeFile(_, callback) {\n callback(null);\n }\n },\n callback: (err, res) => err ? reject(err) : resolve(res)\n })),\n formatMessages: (messages, options) => new Promise((resolve, reject) => service.formatMessages({\n callName: \"formatMessages\",\n refs: null,\n messages,\n options,\n callback: (err, res) => err ? reject(err) : resolve(res)\n })),\n analyzeMetafile: (metafile, options) => new Promise((resolve, reject) => service.analyzeMetafile({\n callName: \"analyzeMetafile\",\n refs: null,\n metafile: typeof metafile === \"string\" ? metafile : JSON.stringify(metafile),\n options,\n callback: (err, res) => err ? reject(err) : resolve(res)\n }))\n };\n});\nvar browser_default = browser_exports;\n})(typeof module===\"object\"?module:{set exports(x){(typeof self!==\"undefined\"?self:this).esbuild=x}});\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","export const normalizeModuleInfo = (value) => {\n const {\n type = \"esm\",\n varName,\n namedExports = null,\n defaultExport = true,\n } = typeof value === \"string\" ? { varName: value } : value;\n return { type, varName, namedExports, defaultExport };\n};\n","const createCjsContents = (variableName) => `module.exports = ${variableName};`;\nconst a = 0;\nconst createEsmContents = (variableName, namedExports, defaultExport) => {\n const codeElements = defaultExport ? [`export default ${variableName};`] : [];\n if (namedExports && namedExports.length) {\n const exportNames = [...new Set(namedExports)].join(\", \");\n codeElements.push(`const { ${exportNames} } = ${variableName};`);\n codeElements.push(`export { ${exportNames} };`);\n }\n return codeElements.join(\"\\n\");\n};\n\n/**\n * Creates value for `OnLoadResult.contents`.\n */\nexport const createContents = (moduleInfo) => {\n const { type, varName, namedExports, defaultExport } = moduleInfo;\n switch (type) {\n case \"esm\":\n return createEsmContents(varName, namedExports, defaultExport);\n case \"cjs\":\n return createCjsContents(varName);\n }\n};\n","import { normalizeModuleInfo } from \"./module-info.js\";\nimport { createContents } from \"./on-load.js\";\nconst PLUGIN_NAME = \"global-externals\";\n\n/**\n * Create a `Plugin` for replacing modules with corresponding global variables.\n *\n * @param globals See type declaration.\n */\nexport const globalExternalsWithRegExp = (globals) => {\n const { modulePathFilter, getModuleInfo } = globals;\n return {\n name: PLUGIN_NAME,\n setup(build) {\n build.onResolve({ filter: modulePathFilter }, (args) => ({\n path: args.path,\n namespace: PLUGIN_NAME,\n }));\n build.onLoad({ filter: /.*/, namespace: PLUGIN_NAME }, (args) => {\n // eslint-disable-next-line total-functions/no-unsafe-type-assertion\n const modulePath = args.path;\n const moduleInfo = normalizeModuleInfo(getModuleInfo(modulePath));\n return { contents: createContents(moduleInfo) };\n });\n },\n };\n};\n","import { globalExternalsWithRegExp } from \"./with-reg-exp.js\";\n\n/**\n * Create a `Plugin` for replacing modules with corresponding global variables.\n *\n * @param globals Object that maps between the two below:\n *\n * - From: Module path used in any `import` statements that should be replaced\n * with a global variable.\n * - To: String for a global variable name, or any `ModuleInfo` object\n * which also includes the global variable name.\n *\n * @example\n *\n * ```\n * const plugins = [globalExternals({ jquery: \"$\" })];\n * ```\n */\nexport const globalExternals = (globals) => {\n const normalizedGlobals = {\n modulePathFilter: new RegExp(`^(?:${Object.keys(globals).join(\"|\")})$`),\n getModuleInfo: (modulePath) => globals[modulePath],\n };\n return globalExternalsWithRegExp(normalizedGlobals);\n};\n","// prettier-ignore\nconst CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst PREFIX = 'data:image/svg+xml;base64,';\n\nexport const utf8Encode = (input: string): string => {\n\tinput = input.replace(/\\r\\n/g, '\\n');\n\n\tlet i = 0;\n\tlet output = '';\n\n\tfor (; i < input.length; i++) {\n\t\tconst c = input.charCodeAt(i);\n\n\t\tif (c < 128) {\n\t\t\toutput += String.fromCharCode(c);\n\t\t} else if (c > 127 && c < 2048) {\n\t\t\toutput += String.fromCharCode((c >> 6) | 192);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t} else {\n\t\t\toutput += String.fromCharCode((c >> 12) | 224);\n\t\t\toutput += String.fromCharCode(((c >> 6) & 63) | 128);\n\t\t\toutput += String.fromCharCode((c & 63) | 128);\n\t\t}\n\t}\n\n\treturn output;\n};\n\nexport const encode = (input: string): string => {\n\tlet i = 0;\n\tlet chr1: number;\n\tlet chr2: number;\n\tlet chr3: number;\n\tlet enc1: number;\n\tlet enc2: number;\n\tlet enc3: number;\n\tlet enc4: number;\n\tlet output = '';\n\n\tinput = utf8Encode(input);\n\n\twhile (i < input.length) {\n\t\tchr1 = input.charCodeAt(i++);\n\t\tchr2 = input.charCodeAt(i++);\n\t\tchr3 = input.charCodeAt(i++);\n\n\t\tenc1 = chr1 >> 2;\n\t\tenc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n\t\tenc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n\t\tenc4 = chr3 & 63;\n\n\t\tif (isNaN(chr2)) {\n\t\t\tenc3 = enc4 = 64;\n\t\t} else if (isNaN(chr3)) {\n\t\t\tenc4 = 64;\n\t\t}\n\n\t\toutput = output + CHARS.charAt(enc1) + CHARS.charAt(enc2) + CHARS.charAt(enc3) + CHARS.charAt(enc4);\n\t}\n\n\treturn output;\n};\n\nexport const detectInputType = (input: string | SVGElement): 'string' | 'element' | void => {\n\tif (typeof input === 'string') {\n\t\treturn 'string';\n\t}\n\n\tif (typeof SVGElement !== 'undefined' && input instanceof SVGElement) {\n\t\treturn 'element';\n\t}\n};\n\nexport const getBase64 = (input: string) => PREFIX + encode(input);\n\nexport const convertElement = (input: SVGElement): string => getBase64(new XMLSerializer().serializeToString(input));\n\nexport const svg64 = (input: string | SVGElement): string => {\n\tconst type = detectInputType(input);\n\n\tswitch (type) {\n\t\tcase 'string':\n\t\t\treturn getBase64(input as string);\n\n\t\tcase 'element':\n\t\t\treturn convertElement(input as SVGElement);\n\n\t\tdefault:\n\t\t\treturn input as string;\n\t}\n};\n\nexport default svg64;\n"],"names":["exports","byteLength","toByteArray","fromByteArray","lookup","revLookup","Arr","Uint8Array","Array","code","i","len","length","charCodeAt","getLens","b64","Error","validLen","indexOf","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","start","end","output","push","join","extraBytes","parts","maxChunkLength","len2","base64","require","ieee754","customInspectSymbol","Symbol","Buffer","SlowBuffer","K_MAX_LENGTH","TYPED_ARRAY_SUPPORT","typedArraySupport","console","error","proto","foo","Object","setPrototypeOf","prototype","defineProperty","enumerable","get","isBuffer","buffer","byteOffset","createBuffer","RangeError","buf","arg","encodingOrOffset","TypeError","allocUnsafe","from","poolSize","value","fromString","ArrayBuffer","isView","fromArrayView","isInstance","SharedArrayBuffer","fromArrayBuffer","valueOf","b","fromObject","toPrimitive","assertSize","size","alloc","fill","encoding","undefined","checked","allocUnsafeSlow","string","isEncoding","actual","write","slice","fromArrayLike","array","arrayView","copy","obj","numberIsNaN","type","isArray","data","toString","_isBuffer","compare","a","offset","x","y","Math","min","String","toLowerCase","concat","list","pos","set","call","mustMatch","arguments","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","swap16","swap32","swap64","apply","toLocaleString","equals","inspect","str","max","replace","trim","target","thisStart","thisEnd","thisCopy","targetCopy","bidirectionalIndexOf","val","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","j","includes","hexWrite","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","asciiToBytes","base64Write","ucs2Write","utf16leToBytes","isFinite","toJSON","_arr","res","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","hexSliceLookupTable","bytes","newBuf","subarray","checkOffset","ext","readUintLE","readUIntLE","noAssert","mul","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","lo","hi","BigInt","readBigUInt64BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","checkInt","writeUintLE","writeUIntLE","maxBytes","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","checkIEEE754","writeFloat","littleEndian","writeFloatLE","writeFloatBE","writeDouble","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","sym","getMessage","Base","constructor","writable","configurable","name","stack","message","range","input","msg","received","isInteger","abs","addNumericalSeparator","checkBounds","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","INVALID_BASE64_RE","base64clean","split","units","Infinity","leadSurrogate","byteArray","c","src","dst","alphabet","table","i16","fn","BufferBigIntNotDefined","module","__defProp","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","hasOwnProperty","__export","all","__copyProps","to","except","desc","key","__toCommonJS","mod","__async","__this","__arguments","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","throw","done","then","browser_exports","analyzeMetafile","analyzeMetafileSync","build","buildSync","context","default","browser_default","formatMessages","formatMessagesSync","initialize","transform","transformSync","version","encodePacket","packet","visit","bb","write8","write32","encodeUTF8","item","keys","ByteBuffer","id","isRequest","decodePacket","read8","read32","decodeUTF8","count","value2","ptr","_write","delta","clone","_read","encodeInvariant","TextEncoder","TextDecoder","encoder","decoder","text","encode","decode","quote","JSON","stringify","buildLogLevelDefault","transformLogLevelDefault","validateTarget","validateStringValue","canBeAnything","mustBeBoolean","mustBeString","mustBeRegExp","RegExp","mustBeInteger","mustBeFunction","mustBeArray","mustBeObject","mustBeEntryPoints","mustBeWebAssemblyModule","WebAssembly","Module","mustBeObjectOrNull","mustBeStringOrBoolean","mustBeStringOrObject","mustBeStringOrArray","mustBeStringOrUint8Array","mustBeStringOrURL","URL","getFlag","object","mustBeFn","mustBe","checkForInvalidFlags","where","validateInitializeOptions","options","create","wasmURL","wasmModule","worker","validateMangleCache","mangleCache","validated","pushLogFlags","flags","isTTY","logLevelDefault","color","logLevel","logLimit","what","pushCommonFlags","legalComments","sourceRoot","sourcesContent","format","globalName","mangleProps","reserveProps","mangleQuoted","minify","minifySyntax","minifyWhitespace","minifyIdentifiers","drop","charset","treeShaking","ignoreAnnotations","jsx","jsxFactory","jsxFragment","jsxImportSource","jsxDev","jsxSideEffects","define","logOverride","supported","pure","keepNames","platform","map","source","flagsForBuildOptions","callName","writeDefault","_a","entries","stdinContents","stdinResolveDir","sourcemap","bundle","splitting","preserveSymlinks","metafile","outfile","outdir","outbase","tsconfig","resolveExtensions","nodePathsInput","mainFields","conditions","external","packages","alias","loader","outExtension","publicPath","entryNames","chunkNames","assetNames","inject","banner","footer","entryPoints","absWorkingDir","stdin","allowOverwrite","plugins","values","old","path","entryPoint","entryPointKeys","stdinKeys","contents","resolveDir","sourcefile","loader2","nodePaths","flagsForTransformOptions","tsconfigRaw","createChannel","streamIn","requestCallbacksByKey","closeData","didClose","reason","responseCallbacks","nextRequestID","nextBuildKey","stdout","stdoutUsed","readFromStdout","chunk","handleIncomingPacket","afterClose","sendRequest","refs","callback","response","unref","ref","writeToStdin","sendResponse","handleRequest","request","command","requestCallbacks","extractErrorMessageV8","isFirstPacket","binaryVersion","service","buildOrContext","defaultWD","refCount","buildKey","buildRefs","buildOrContextImpl","err","transform2","fs","details","createObjectStash","inputPath","inputFS","replaceDetailsInMessages","warnings","outstanding","result","failureErrorWithLog","codeFS","readFile","mapFS","detail","load","writeFile","formatMessages2","messages","sanitizeMessages","kind","terminalWidth","isWarning","analyzeMetafile2","verbose","isContext","handleError","pluginName","isSync","handlePlugins","ok","buildOrContextContinue","requestPlugins","runOnEndCallbacks","scheduleOnDisposeCallbacks","hasFS","buildResponseToResult","callback2","outputFiles","originalErrors","originalWarnings","convertOutputFiles","parse","writeToStdout","log","onEndErrors","onEndWarnings","latestResultPromise","provideLatestResult","request2","didDispose","rebuild","settlePromise","result2","triggerAnotherBuild","error2","response2","watch","options2","serve","port","host","servedir","keyfile","certfile","onRequest","request3","args","cancel","dispose","initialOptions","onStartCallbacks","onEndCallbacks","onResolveCallbacks","onLoadCallbacks","onDisposeCallbacks","nextCallbackID","isSetupDone","setup","plugin","onStart","onEnd","onResolve","onLoad","promise","keys2","importer","namespace","pluginData","resolve2","store","sideEffects","suffix","registeredText","registeredNote","extractCallerV8","note","filter","onDispose","esbuild","_0","id2","ids","watchFiles","watchDirs","sanitizeStringArray","newErrors","newWarnings","cb","setTimeout","Map","nextID","ident","tried","lines","splice","location2","parseStackLinesV8","location","stash","notes","at","readFileSync","startsWith","line","match","exec","lineText","column","file","suggestion","summary","pluginText","sanitizeLocation","property","fallbackPluginName","messagesClone","index","notesClone","noteKeys","noteText","noteLocation","binary","ensureServiceIsRunning","initializePromise","longLivedService","useWorker","startRunningService","catch","blob","Blob","Worker","createObjectURL","onmessage","postMessage","globalThis","o","self","getPrototypeOf","k","enosys","outputBuf","constants","O_WRONLY","O_RDWR","O_CREAT","O_TRUNC","O_APPEND","O_EXCL","writeSync","fd","nl","substring","position","chmod","mode","chown","uid","gid","close","fchmod","fchown","fstat","fsync","ftruncate","lchown","link","lstat","mkdir","perm","open","readdir","readlink","rename","rmdir","stat","symlink","truncate","unlink","utimes","atime","mtime","process","getuid","getgid","geteuid","getegid","getgroups","pid","ppid","umask","cwd","chdir","crypto","performance","Go","argv","env","exit","warn","_exitPromise","_resolveExitPromise","_pendingEvent","_scheduledTimeouts","_nextCallbackTimeoutID","setInt64","addr","v","mem","setUint32","getInt64","low","getUint32","high","getInt32","loadValue","f","getFloat64","isNaN","_values","storeValue","nanHead","setFloat64","_ids","_idPool","pop","_goRefCounts","typeFlag","loadSlice","_inst","loadSliceOfValues","loadString","saddr","DataView","timeOrigin","Date","now","importObject","go","sp","exited","p","msec","getTime","setInt32","_resume","has","clearTimeout","delete","getRandomValues","Reflect","getsp","deleteProperty","setUint8","construct","Uint8ClampedArray","toCopy","run","instance","Instance","NaN","strPtr","argc","argvPtrs","forEach","sort","resume","_makeFuncWrapper","event","this","wasm","stderr","resumeStdin","stdinPos","shift","tryToInstantiateModule","instantiate","fetch","test","headers","instantiateStreaming","arrayBuffer","terminate","firstMessageResolve","firstMessageReject","firstMessagePromise","href","_","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","s","rt","LN2","normalizeModuleInfo","varName","namedExports","defaultExport","createCjsContents","variableName","createEsmContents","codeElements","exportNames","Set","createContents","moduleInfo","PLUGIN_NAME","globalExternalsWithRegExp","globals","modulePathFilter","getModuleInfo","modulePath","globalExternals","normalizedGlobals","r","t","h","C","g","charAt","SVGElement","XMLSerializer","serializeToString"],"sourceRoot":""}