{"version":3,"file":"static/chunks/8675-fc74b2c42a1d407a.js","mappings":"kJAKA,EAAqB,YAAgB,CACrC,OAC2B,SAAG,CACxB,IAAS,MACf,CACA,KACA,MACA,OAEA,oBACA,SACA,QACA,SACA,UACA,UACA,kBACA,wBACA,oBACA,kBACA,WAEA,IAIA,cA1BA,iBA2BA,sCC/BAA,EAAAA,OAAAA,CAAAA,EAAAA,OAAAA,KAA8C,gDCaxC,MAAe,cAAgB,CAAC,cAAgB,EACpD,CAAC,MAAQ,EAAE,EAAG,CAAiB,mBAAK,SAAU,EAC/C,iDCFK,MAAQ,cAAgB,CAAC,OAAS,EACtC,CACE,OACA,CACE,CAAG,iSACH,GAAK,SACP,EACF,CACD,sNCLK,EAAmB,cAGnB,CAAC,EAA0B,EAAsB,CAAI,OAAkB,CAAC,GASxE,CAAC,EAAqB,EAAqB,CAC/C,EAVqD,GAqBjD,EAAoB,WAX0C,CAW1C,CACxB,CAAC,EAAsC,KACrC,GAAM,oBACJ,EACA,KAAM,EACN,uBACA,eACA,EACA,GAAG,EACL,CAAI,EAEE,CAAC,GAAO,EAAO,EAAO,CAAI,IAAJ,CAAI,EAAoB,CAAC,CACnD,KAAM,EACN,YAAa,EACb,SAAU,CACZ,CAAC,EAED,MACE,UAAC,GACC,MAAO,WACP,EACA,UAAW,OAAK,CAAC,OACjB,EACA,aAAoB,cAAY,IAAM,EAAQ,GAAc,CAAC,GAAW,CAAC,EAAQ,EAEjF,GAFgF,MAEhF,UAAC,IAAS,CAAC,IAAV,CACC,aAAY,EAAS,GACrB,CADyB,eACV,EAAW,GAAK,OAC9B,GAAG,EACJ,IAAK,GACP,EAGN,GAGF,EAAY,YAAc,EAM1B,IAAM,EAAe,qBAMf,EAA2B,aAC/B,CAAC,EAA6C,KAC5C,GAAM,oBAAE,EAAoB,GAAG,EAAa,CAAI,EAC1C,EAAU,EAAsB,EAAc,EADR,CAE5C,MACE,SAFoE,CAEnE,IAAS,CAAC,OAAV,CACC,KAAK,SACL,gBAAe,EAAQ,UACvB,gBAAe,EAAQ,OAAQ,EAC/B,aAAY,EAAS,EAAQ,IAAI,EACjC,gBAAe,EAAQ,SAAW,GAAK,OACvC,SAAU,EAAQ,SACjB,GAAG,EACJ,IAAK,EACL,QAAS,OAAoB,CAAC,EAAM,QAAS,EAAQ,YAAY,GAGvE,EAGF,GAAmB,YAAc,EAMjC,IAAM,EAAe,qBAWf,EAA2B,aAC/B,CAAC,EAA6C,KAC5C,GAAM,YAAE,EAAY,GAAG,EAAa,CAAI,EAClC,EAAU,EAAsB,EAAc,EADhB,kBACwC,EAC5E,MACE,UAAC,GAAQ,CAAR,CAAS,QAAS,GAAc,EAAQ,KACtC,gBAAC,SAAE,EAAQ,SACV,UAAC,GAAwB,GAAG,EAAc,IAAK,UAAc,EAAkB,GAEnF,CAEJ,GAGF,EAAmB,YAAc,EASjC,IAAM,EAA+B,aAGnC,CAAC,EAAiD,KAClD,GAAM,oBAAE,UAAoB,WAAS,EAAU,GAAG,EAAa,CAAI,EAC7D,EAAU,EAAsB,EAAc,EADW,CAEzD,CAAC,EAAW,EAAY,CAAU,SAD8B,CAC9B,CAAS,GAC3C,EAAY,EADsC,MACtC,CAAsC,IAAI,EACtD,EAAe,OAAe,CAAC,EAAc,GAAG,EAC9B,SAA2B,CAAC,EAC9C,EAAS,EAAU,QACnB,EAAiB,SAA2B,CAAC,EAC7C,EAAQ,EAAS,QAGjB,EAAS,EAAQ,MAAQ,EACzB,EAAqC,SAAO,GAC5C,EAA0B,CADwB,CACxB,OAA+B,MAAS,EAuCxE,OACE,EAtCI,UAAU,KACd,IAAM,EAAM,sBAAsB,IAAO,EAA6B,SAAU,GAChF,EADsF,IAC/E,IAAM,qBAAqB,EACpC,CADuC,CACpC,CAAC,CAAC,EAEL,OAAe,CAAC,KACd,IAAM,EAAO,EAAI,QACjB,GAAI,EAAM,CACR,EAAkB,QAAU,EAAkB,SAAW,CACvD,mBAAoB,EAAK,MAAM,mBAC/B,cAAe,EAAK,MAAM,eAG5B,EAAK,MAAM,mBAAqB,KAChC,EAAK,MAAM,cAAgB,OAG3B,IAAM,EAAO,EAAK,sBAAsB,EACxC,EAAU,QAAU,EAAK,OACzB,EAAS,QAAU,EAAK,MAGnB,EAA6B,SAAS,CACzC,EAAK,MAAM,mBAAqB,EAAkB,QAAQ,mBAC1D,EAAK,MAAM,cAAgB,EAAkB,QAAQ,eAGvD,EAAa,EACf,CAOF,EAAG,CAAC,CARoB,CAQZ,KAAM,EAAQ,EAGxB,UAAC,IAAS,CAAC,IAAV,CACC,aAAY,EAAS,EAAQ,IAAI,EACjC,gBAAe,EAAQ,SAAW,GAAK,OACvC,GAAI,EAAQ,UACZ,OAAQ,CAAC,EACR,GAAG,EACJ,IAAK,EACL,MAAO,CACJ,mCAA2C,EAAG,EAAS,GAAS,OAAN,EAAM,MAAO,OACvE,kCAA0C,EAAG,EAAQ,GAAQ,OAAL,EAAK,MAAO,OACrE,GAAG,EAAM,OAGV,YAAU,GAGjB,CAAC,EAID,SAAS,EAAS,GAAgB,OACzB,EAAO,OAAS,QACzB,gBC/MM,EAAiB,YACjB,EAAiB,CAAC,OAAQ,MAAO,YAAa,UAAW,YAAa,YAAY,EAElF,CAAC,EAAY,EAAe,EAAqB,CACrD,OAAgB,CAA0B,GAGtC,CAAC,EAAwB,EAAoB,CAAI,OAAkB,CAAC,EAAgB,CACxF,EACA,EACD,EAHkD,EAIvB,IAUtB,EAAY,UAZM,EAYA,CACtB,CAAC,EAX+C,CAAC,IAY/C,GAAM,MAAE,EAAM,GAAG,EAAe,CAAI,EAGpC,MACE,IAJ8B,CAI9B,KAAC,EAAW,SAAX,CAAoB,MAAO,EAAM,iBAC/B,wBACC,UAAC,GAJe,IAIQ,CAAkB,EAAf,EAAoB,EAAc,EAE7D,UAAC,GAPa,IAOQ,CAAgB,EAAb,EAAkB,EAAc,EAE7D,CAEJ,EAGF,GAAU,YAAc,EAUxB,GAAM,CAAC,EAAwB,EAAwB,CACrD,EAAmD,GAE/C,CAAC,EAA8B,EAA8B,CAAI,EACrE,EACA,CAJiE,KADZ,QAKtC,CAAM,GAyBjB,EAAsB,GA3BuC,SA2BjC,CAChC,CAAC,EAA8C,KAC7C,GAAM,CACJ,MAAO,EACP,6BACA,EAAgB,KAAO,cACvB,GAAc,EACd,GAAG,EACL,CAAI,EAEE,CAAC,EAAO,EAAQ,CAAI,OAAoB,CAAC,CAC7C,KAAM,EACN,YAAa,EACb,SAAU,CACZ,CAAC,EAED,MACE,UAAC,GACC,MAAO,EAAM,iBACb,MAAO,EAAQ,CAAC,EAAK,CAAI,CAAC,CAAL,CACrB,WAAY,EACZ,YAAa,aAAM,CAAY,IAAM,GAAe,EAAS,EAAE,EAAG,CAAC,EAAa,EAAS,EAEzF,IAFwF,KAExF,UAAC,GAA6B,MAAO,EAAM,6BAAkB,EAC3D,mBAAC,GAAe,GAAG,EAAsB,IAAK,EAAc,EAC9D,GAGN,GAsBI,EAAwB,YAAM,CAGlC,CAAC,EAAgD,KACjD,GAAM,CACJ,MAAO,EACP,6BACA,EAAgB,KAAO,CAAD,CACtB,GAAG,EACL,CAAI,EAEE,CAAC,EAAQ,CAAC,EAAG,EAAQ,CAAI,KAAJ,CAAI,CAAoB,CAAC,CAClD,KAAM,EACN,YAAa,EACb,SAAU,CACZ,CAAC,EAEK,EAAiB,aAAM,CAC3B,GAAuB,EAAS,eAAC,yDAAY,CAAC,QAAM,CAAC,GAAG,EAAW,EAAU,GAC7E,CAAC,EAAQ,CADmE,CAIxE,EAAkB,EAHb,WAGmB,CAC5B,GACE,EAAS,eAAC,yDAAY,CAAC,SAAM,EAAU,OAAO,GAAWC,IAAU,KACrE,CAAC,EAAQ,CADqE,CAIhF,IAHW,EAIT,UAAC,GACC,MAAO,EAAM,uBACb,EACA,WAAY,EACZ,YAAa,EAEb,mBAAC,GAA6B,MAAO,EAAM,iBAAkB,aAAa,EACxE,mBAAC,GAAe,GAAG,EAAwB,IAAK,EAAc,EAChE,GAGN,CAAC,EAUK,CAAC,EAAuB,EAAmB,CAC/C,EAAkD,GAsB9C,EAAgB,SAtB4C,GAsBtC,CAC1B,CAAC,EAAwC,KACvC,GAAM,kBAAE,WAAkB,EAAU,kBAAK,EAAc,WAAY,GAAG,EAAe,CAAI,EACnF,EAAe,QAAM,CAA6B,IAAI,EACtD,EAAe,OAAe,CAAC,EAAc,GAC7C,EAAW,EAAc,GAEzB,EAAiB,QADL,QAAY,CAAC,GAGzB,EAAgB,OAAoB,CAAC,EAAM,UAAW,QAoE1D,EAnEA,GAAI,CAAC,EAAe,SAAS,EAAM,GAAG,EAAG,OACzC,IAAM,EAAS,EAAM,OACf,EAAoB,IAAW,KAAF,CAAE,CAAO,gBAAU,cAAM,IAAI,4BAAT,EAAkB,YACnE,EAAe,EAAkB,UAAW,GAAS,EAAK,IAAI,UAAY,GAC1E,EAAe,CADiE,CAC/C,OAEvC,GAAqB,GAAI,EAArB,EAAqB,OAGzB,EAAM,eAAe,EAErB,IAAI,EAAY,EAEV,EAAW,EAAe,EAE1B,EAAW,MACf,EAAY,EAAe,GACX,IACd,GAAY,CAEhB,EAH4B,EAKX,IAJD,CAKd,GAAY,GAAe,MAEzB,EAAY,EAEhB,EAEA,OAAQ,EAAM,KAAK,IACZ,OACH,EAnBc,EAoBd,KACF,GAFc,EAET,MACH,EAAY,EACZ,KACF,KAAK,aACiB,cAAc,CAA9B,IACE,EACF,IAEA,KAGJ,IAHa,CAIf,KAAK,YACiB,YAAY,CAA5B,GACF,IAEF,KAFW,KAGR,YACiB,cAAc,CAA9B,IACE,EACF,IAEA,KAFS,IAEA,CAHS,KAOnB,UACiB,YAAY,CAA5B,GACF,GAGN,CAGoC,KANrB,GAMf,IADqB,EAAY,EACH,CAAE,IAAI,GAAN,IAAM,GAApC,cAA6C,MAAM,CACrD,CAAC,EAED,MACE,UAAC,GACC,MAAO,EACP,WACA,UAAW,cACX,EAEA,mBAAC,EAAW,KAAX,CAAgB,MAAO,EACtB,mBAAC,IAAS,CAAC,IAAV,CACE,GAAG,EACJ,mBAAkB,EAClB,IAAK,EACL,UAAW,EAAW,OAAY,GACpC,CACF,GAGN,GAOI,EAAY,gBAGZ,CAAC,EAAuB,EAAuB,CACnD,EAAkD,GAqB9C,EAAgB,IArBuC,QAqBjC,CAC1B,CAAC,EAAwC,KACvC,GAAM,kBAAE,QAAkB,EAAO,GAAG,EAAmB,CAAI,EACrD,EAAmB,EAAoB,EAAW,GAClD,EAAe,EAAyB,CAFS,CAEE,GACnD,EAAmB,EAF+C,GAGlE,EAAY,IAFuD,CAEvD,EAAK,CAAC,EAClB,CAFuD,CAE/C,GAAS,EAAa,MAAM,SAAS,KAAK,EAClD,EAAW,EAAiB,UAAY,EAAM,SAEpD,MACE,UAAC,GACC,MAAO,OACP,WACA,YACA,EAEA,mBD1IK,EC0IJ,CACC,mBAAkB,EAAiB,YACnC,aAAY,GAAS,GACpB,CADwB,EACrB,EACH,EAFmB,CAEhB,EACJ,IAAK,WACL,OACA,EACA,aAAeC,IACTA,EACF,EAAa,GADL,OACK,CAAW,GAExB,EAF6B,WAEhB,CAAY,EAE7B,GAFkC,EAM1C,GAGF,EAAc,YAAc,EAM5B,IAAM,EAAc,kBAUd,EAAkB,YAAM,CAC5B,CAAC,EAA0C,KACzC,GAAM,kBAAE,EAAkB,GAAG,EAAY,CAAI,EACvC,EAAmB,EAAoB,EAAgB,CADpB,EAEnC,EAAc,EAAwB,EAAa,GACzD,IAF6E,EAG3E,OAFuE,CAEvE,EAAC,IAAS,CAAC,GAAV,CACC,mBAAkB,EAAiB,YACnC,aAAY,GAAS,EAAY,IAAI,EACrC,EADoB,cACL,EAAY,SAAW,GAAK,OAC1C,GAAG,EACJ,IAAK,GAGX,GAGF,EAAgB,YAAc,EAM9B,IAAM,EAAe,eAAH,IAUZ,EAAmB,YAAM,CAC7B,CAAC,EAA2C,KAC1C,GAAM,kBAAE,EAAkB,GAAG,EAAa,CAAI,EACxC,EAAmB,EAAoB,EAAgB,EADnB,CAEpC,EAAc,EAAwB,EAAc,GACpD,EAAqB,EAFkD,EAEL,GAClE,EAAmB,CAF+B,CAAkB,GAG1E,KAFsE,CAAkB,CAGtF,MAF2D,CAE3D,EAAC,EAAW,SAAX,CAAoB,MAAO,EAC1B,mBAAsB,EAArB,CACC,gBAAgB,EAAY,MAAQ,CAAC,EAAmB,aAAgB,OACxE,mBAAkB,EAAiB,YACnC,GAAI,EAAY,UACf,GAAG,EACH,GAAG,EACJ,IAAK,GACP,CACF,CAEJ,GAGF,EAAiB,YAAc,EAM/B,IAAM,EAAe,SANsB,MAMzB,IASZ,GAAmB,YAAM,CAC7B,CAAC,EAA2C,KAC1C,GAAM,kBAAE,EAAkB,GAAG,EAAa,CAAI,EACxC,EAAmB,EAAoB,EAAgB,EADnB,CAEpC,EAAc,EAAwB,EAAc,GACpD,EAAmB,EAFoD,GAG7E,KAFwD,CAGtD,OAF2D,CAE3D,EAAsB,EAArB,CACC,KAAK,SACL,kBAAiB,EAAY,UAC7B,mBAAkB,EAAiB,YAClC,GAAG,EACH,GAAG,EACJ,IAAK,EACL,MAAO,CACJ,kCAAyC,CAAG,0CAC5C,iCAAwC,CAAG,yCAC5C,GAAG,EAAM,MACX,EAGN,GAOF,SAAS,GAAS,GAChB,OAAO,EAAO,OAAS,QACzB,CANA,GAAiB,YAAc,EAQ/B,IAAMC,GAAO,EACP,GAAO,EACP,CAVqC,EAU5B,EACTC,GAAU,EACVC,GAAU,kDCjfV,MAAgB,cAAgB,CAAC,eAAiB,EACtD,CAAC,MAAQ,EAAE,EAAG,CAAgE,kEAAK,SAAU,EAC7F,CAAC,MAAQ,EAAE,EAAG,CAAW,aAAK,SAAU,EACxC,CAAC,MAAQ,EAAE,EAAG,CAAU,YAAK,SAAU,EACvC,CAAC,MAAQ,EAAE,EAAG,CAAW,aAAK,SAAU,EACxC,CAAC,MAAQ,EAAE,EAAG,CAAyB,2BAAK,SAAU,EACtD,CAAC,QAAU,EAAE,EAAI,MAAM,CAAI,OAAM,CAAG,KAAK,GAAK,UAAU,EACzD,aCnBD,WAAkB,OAAS,8DAAkE,+JCuB7EC,qCAAAA,KAxBhB,IAAMC,EAA4C,CAChDC,cAAe,iBACfC,UAAW,QACXC,QAAS,MACTC,UAAW,aACXC,SAAU,UACZ,EAEMC,EAAc,CAClB,SACA,UACA,0BACA,WACA,UACA,WACA,cACD,CAED,SAASC,EACPC,CAAY,EAEZ,MAAO,CAAC,QAAS,QAAS,WAAW,CAACC,QAAQ,CAACD,EACjD,CAEO,SAAST,EAAuBW,CAAe,CAAEC,CAAa,EACnE,IAAK,GAAM,CAACC,EAAGlB,EAAM,GAAImB,OAAOC,OAAO,CAACH,GAAQ,CAC9C,GAAI,CAACA,EAAMI,cAAc,CAACH,IACtBN,EAAYG,QAAQ,CAACG,IAAI,WADC,SAQ9B,IAAMJ,EAAOR,CAAiB,CAACY,EAAE,EAAIA,EAAEI,WAAW,GAE/B,WAAfN,EAAGO,OAAO,EAAiBV,EAAyBC,GAGpDE,CAAwB,CAACF,EAHkC,CAG1B,CAAC,CAACd,EAErCgB,EAAGQ,YAAY,CAACV,EAAMW,OAAOzB,KAMnB,KAAVA,GACgB,WAAfgB,EAAGO,OAAO,EACTV,EAAyBC,IACxB,EAACd,GAAmB,UAAVA,CAAU,EAAM,EAC7B,CAGAgB,EAAGQ,YAAY,CAACV,EAAM,IACtBE,EAAGU,eAAe,CAACZ,GAEvB,CACF,sRCxDA,cACA,MAAc,QAAY,QAAG,aAAwB,EACrD,OAAS,SAAa,MACtB,sBACA,mCACA,mBAEA,oBACG,IACH,qTCiBM,EAAuB,iBAEvB,CAAC,EAAY,EAAe,EAAqB,CAAI,OAAgB,CAGzE,GAEI,CAAC,EAAsB,EAAyB,EALC,CAMrD,OAAgB,CAA4B,CAHxB,EAMhB,CAAC,EAA6B,EAAyB,CAAI,OAAkB,CACjF,EACA,CALgE,EAKxC,EAA+B,EA6BnD,CAAC,EAA4B,EA/B0B,CAgC3D,EAAwD,GAEpD,CAAC,EAAyB,EAAyB,CAAI,EAE1D,GAwBG,EAAuB,GA7B8B,CACmB,QA4BjD,CAC3B,CAAC,CA3BsD,CA2Bb,KACxC,GAAM,uBACJ,EACA,MAAO,gBACP,eACA,gBACA,EAAgB,sBAChB,EAAoB,gBACpB,EAAc,iBACd,EACA,GAAG,EACL,CAAI,EACE,CAAC,EAAgB,EAAiB,CAAU,WAAuC,GAAjD,CAAqD,EACvF,EAAc,OAAe,CAAC,EAAc,GAAU,EAAkB,IAAI,CAAC,CACjE,QAAY,CAAC,GAAG,EACP,SAAO,CAAC,EAC7B,EAAsB,SAAO,CAAC,EAC9B,EAA0B,SAAO,CAAC,EAClC,CAAC,EAAe,EAAgB,CAAU,YAAS,CAAnB,EAChC,CAAC,EAAQ,GAAI,EAAQ,CAAI,KAAJ,CAAI,CAAoB,CAAC,CAClD,KAAM,EACN,SAAU,IAER,IAAM,EAAuB,EAAoB,EADxB,KAAVd,GAIb,OAAO,aAAa,EAAkB,OAAO,EACzC,GAAsB,GAAiB,KAAK,OAEzC,GAFmB,SAEnB,CAAa,EAAkB,OAAO,EAC7C,EAAkB,QAAU,OAAO,WACjC,IAAM,GAAiB,GACvB,CAD2B,SAK/B,KAAgBA,EAClB,EACA,EAFuB,UAEV,CACf,CAAC,EAEK,EAAwB,cAAY,KACxC,OAAO,aAAa,EAAc,OAAO,EACzC,EAAc,QAAU,OAAO,WAAW,IAAM,EAAS,EAAE,EAAG,GAAG,CACnE,EAAG,CAAC,EAAS,EAEP,EAAmB,EAFb,WAEa,CACvB,IACE,OAAO,aAAa,EAAc,OAAO,EACzC,EAAS,EACX,EACA,CAAC,EAAQ,EAGL,EAA0B,EAHrB,WAGqB,CAC9B,IACqB,IAAU,EAI3B,OAAO,aAAa,EAAc,OAAO,EAEzC,EAAa,QAAU,OAAO,WAAW,KACvC,OAAO,aAAa,EAAc,OAAO,EACzC,EAAS,EACX,EAAG,EAEP,EACA,CAAC,EAAO,EAAU,EAAa,EAWjC,OARM,EAH2B,SAG3B,CAAU,IACP,KACL,OAAO,aAAa,EAAa,OAAO,EACxC,OAAO,aAAa,EAAc,OAAO,EACzC,OAAO,aAAa,EAAkB,OAAO,CAC/C,EACC,CAAC,CAAC,EAGH,UAAC,GACC,MAAO,EACP,YAAY,QACZ,EACA,IAAK,cACL,EACA,mBAAoB,EACpB,eAAgB,IACd,OAAO,aAAa,EAAa,OAAO,EACpC,EAAe,EAAkB,GAChC,EAAW,EAClB,EAFgD,CAA3B,IACM,UAEX,KACd,OAAO,aAAa,EAAa,OAAO,EACxC,GACF,EACA,WAFkB,IAEF,IAAM,OAAO,aAAa,EAAc,OAAO,EAC/D,eAAgB,EAChB,aAAc,IACZ,EAAU,GAAe,IAAc,EAAY,GAAK,EAC1D,EACA,KAFoE,SAErD,IAAM,EAAS,EAAE,EAEhC,mBAAC,IAAS,CAAC,IAAV,CACC,aAAW,OACX,mBAAkB,EAClB,IAAK,EACJ,GAAG,EACJ,IAAK,GACP,EAGN,GAGF,EAAe,YAAc,EAM7B,IAAM,EAAW,mBAgDjB,CAnCgC,aAC9B,CAAC,EAA4C,KAC3C,GAAM,uBACJ,EACA,MAAO,gBACP,eACA,cACA,EAAc,aACd,GAAG,EACL,CAAI,EACE,EAAU,EAAyB,EAAU,GAC7C,CAAC,EAAQ,GAAI,EAAQ,CAAI,OAAoB,CAAC,CADoB,KAEhE,EACN,SAAU,EACV,YAAa,CACf,CAAC,EAED,MACE,UAAC,GACC,MAAO,EACP,YAAY,QACZ,EACA,IAAK,EAAQ,gBACb,EACA,mBAAoB,EAAQ,mBAC5B,eAAgB,GAAe,EAAS,GACxC,MADiD,OACnC,GAAe,EAAS,GACtC,MAD+C,QAChC,IAAM,EAAS,EAAE,EAEhC,mBAAC,IAAS,CAAC,IAAV,CAAc,mBAAkB,EAAc,GAAG,EAAU,IAAK,EAAc,GAGrF,GAGgB,YAAc,EAsBhC,IAAM,EAAgE,IAGpE,GAAM,OACJ,aACA,qBACA,MACA,EACA,cACA,iBACA,eACA,gBACA,iBACA,iBACA,iBACA,iBACA,EACF,CAAI,EACE,CAAC,EAAU,EAAW,CAAU,QAAV,EAAU,CAA+C,IAAI,EACnF,CAAC,EAAiB,EAAkB,CAAU,WAAmC,IAA7C,IAAqD,CAAC,CACzF,EAAgB,EAAiB,CAAU,WAAgC,GAA1C,CAA8C,EAEtF,MACE,UAAC,SACC,aACA,qBACA,QACA,EACA,cAAe,OAAW,CAAC,GAC3B,EADgC,KACxB,OAAK,CAAC,MACd,EACA,cACA,WACA,iBAAkB,iBAClB,EACA,uBAAwB,EACxB,eAAgB,OAAc,CAAC,GAC/B,WAD6C,IAC7B,OAAc,CAAC,GAC/B,WAD6C,IAC7B,OAAc,CAAC,GAC/B,WAD6C,IAC7B,OAAc,CAAC,GAC/B,WAD6C,EAC/B,OAAc,CAAC,GAC7B,SADyC,KAC1B,OAAc,CAAC,GAC9B,UAD2C,cACZ,cAAY,CAAC,EAAc,KACxD,EAAmB,IACjB,EAAY,IAAI,EAAc,GACvB,IAAI,IAD8B,IAG7C,EAAG,CAAC,CAAC,EACL,CAH8B,uBAGC,cAAY,IACzC,EAAmB,GACjB,EAAiB,EAAb,CAAa,CAAI,IACrB,EAAY,MADqB,CACd,CADiB,EAE7B,IAAI,IAAI,CADgB,GADY,EAI/C,EAAG,CAAC,CAAC,CAFyB,CAI9B,mBAAC,EAAW,SAAX,OAAoB,EACnB,mBAAC,SAAwB,EAAc,MAAO,WAC3C,EACH,EACF,GAGN,EAMM,EAAY,qBAMZ,EAA2B,aAC/B,CAAC,EAA6C,KAC5C,GAAM,uBAAE,EAAuB,GAAG,EAAU,CAAI,EAC1C,EAAU,EAAyB,CADG,CACQ,GAE9C,EACJ,UAAC,IAAS,CAAC,CAH4D,CAG5D,CAAV,CAAa,mBAAkB,EAAQ,YAAc,GAAG,EAAW,IAAK,EAAc,EAGzF,MACE,UAAC,IAAS,CAAC,IAAV,CAAc,MAAO,CAAE,SAAU,UAAW,EAAG,IAAK,EAAQ,uBAC3D,mBAAC,EAAW,KAAX,CAAgB,MAAO,EACrB,WAAQ,WAAa,UAAC,IAAW,SAAO,EAAE,WAAK,EAAgB,EAClE,EACF,CAEJ,GAGF,EAAmB,YAAc,EAMjC,IAAM,EAAY,qBAgBZ,CAAC,EAAmC,EAA4B,CACpE,EAA4D,GAQxD,EAA2B,IARsC,QAQtC,CAC/B,CAAC,EAA6C,EAVsB,GAWlE,GAAM,uBAAE,EAAuB,MAAO,EAAW,GAAG,EAAU,CAAI,EAC5D,EAAY,OAAK,CAAC,EAIlB,EAAmB,SAAqC,IAAI,EAC5D,EAAmB,SAAqC,IAAI,EAC5D,EAAsB,SAA0B,IAAI,EACpD,EAAkC,SAAO,KAAO,CAAD,EAC/C,EAA0B,UAAO,GAEjC,EAFsC,EAEX,YAAY,eAAC,yDAAO,QACnD,GAAI,EAAW,QAAS,CACtB,EAA0B,QAAQ,EAClC,IAAM,EAAa,GAAsB,EAAW,OAAO,EACvD,EAAW,OAAQ,IAAoB,UAAT,EAAmB,EAAa,EAAW,QAAQ,CAAC,CACxF,CACF,EAAG,CAAC,CAAC,EAEC,EAA0B,cAAY,KAC1C,GAAI,EAAW,QAAS,CACtB,IAAM,EAAa,GAAsB,EAAW,OAAO,EACvD,EAAW,OAAQ,IAA0B,QAAU,SA0uB1D,CAAmB,EAA2B,OACrD,EAAW,QAAQ,IACjB,EAAU,QAAQ,SAAW,EAAU,aAAa,UAAU,GAAK,GACnE,EAAU,aAAa,WAAY,IAAI,CACzC,CAAC,EACM,KACL,EAAW,QAAQ,IACjB,IAAM,EAAe,EAAU,QAAQ,SACvC,EAAU,aAAa,WAAY,EACrC,CAAC,CACH,CACF,EArvBsF,EAAU,CAC1F,CACF,CAgvBiD,CAhvB9C,CAAC,CAAC,EAEL,MACE,UAAC,GACC,MAAO,EACP,MAzBU,GAAa,GAAa,qCA0BpC,aACA,gBACA,oBACA,EACA,eAAgB,EAChB,kBAAmB,EACnB,mBAAoB,EACpB,sBAAuB,EAEvB,mBAAC,IAAS,CAAC,GAAV,CAAc,GAAG,EAAW,IAAK,EAAc,GAGtD,GAGF,EAAmB,YAAc,EAMjC,IAAM,EAAe,wBAMf,EAA8B,aAGlC,CAAC,EAAgD,KACjD,GAAM,uBAAE,WAAuB,EAAU,GAAG,EAAa,CAAI,EACvD,EAAU,EAAyB,EAAc,EAAM,qBAAqB,EAC5E,EAAc,EAA6B,EAAc,EAAM,qBAAqB,EACpF,EAAY,SAAqC,IAAI,EACrD,EAAe,OAAe,CAAC,EAAK,EAAY,WAAY,GAC5D,EAAY,GAAc,EAAQ,EADsC,IACtC,CAAQ,EAAY,KAAK,EAC3D,EAAY,GAAc,EAAQ,OAAQ,EAAY,KAAK,EAC3D,EAAgC,UAAO,GACvC,EAAyB,UAAO,GAChC,EADqC,EAClB,QAAU,EAAQ,MAE3C,MACE,uBACE,oBAAC,EAAW,SAAX,CAAoB,MAAO,EAAuB,MAAO,EAAY,MACpE,mBAAC,IAAe,SAAO,EACrB,mBAAC,IAAS,CAAC,OAAV,CACC,GAAI,WACJ,EACA,gBAAe,EAAW,GAAK,OAC/B,aAAY,GAAa,GACzB,CAD6B,eACd,EACf,gBAAe,EACd,GAAG,EACJ,IAAK,EACL,eAAgB,OAAoB,CAAC,EAAM,eAAgB,KACzD,EAAiB,SAAU,EAC3B,EAAY,kBAAkB,SAAU,CAC1C,CAAC,EACD,cAAe,OAAoB,CACjC,EAAM,cACN,GAAU,KAEN,GACA,EAAiB,SACjB,EAAY,kBAAkB,SAC9B,EAAwB,SAExB,CACF,EAAQ,eAAe,EAAY,KAAK,EACxC,EAAwB,QAAU,GACpC,CAAC,GAEH,eAAgB,OAAoB,CAClC,EAAM,eACN,GAAU,KACJ,IACJ,EAAQ,GADM,WACN,CAAe,EACvB,EAAwB,SAAU,EACpC,CAAC,GAEH,QAAS,OAAoB,CAAC,EAAM,QAAS,KAC3C,EAAQ,aAAa,EAAY,KAAK,EACtC,EAAiB,QAAU,CAC7B,CAAC,EACD,UAAW,OAAoB,CAAC,EAAM,UAAW,IAE/C,IAAM,EAAW,CAAE,WAAY,YAAa,SADH,CACa,OAD7B,EAAQ,IAAgB,YAAc,YACQ,EACrE,EAAQ,WACV,EACI,GAAQ,EAAM,MAAQ,IACxB,EAAY,IADsB,UACtB,CAAe,EAE3B,EAAM,eAAe,EAEzB,CAAC,GACH,CACF,EACF,EAGC,GACC,uBACE,oBAAyB,IAAxB,CACC,eAAW,EACX,SAAU,EACV,IAAK,EAAY,cACjB,QAAS,IACP,IAAM,EAAU,EAAY,WAAW,QACjC,EAAqB,EAAM,cAC3B,EAAoB,IAAuB,EAAI,QAC/C,iBAAsB,EAAS,SAAS,IAE1C,GAAqB,CAAC,IAAqB,EACjC,IAHkD,aAGlD,CAAkB,EAAoB,QAAU,KAAK,CAErE,IAID,EAAQ,UAAY,UAAC,QAAK,YAAW,EAAW,GACnD,GAEJ,CAEJ,CAAC,EAED,EAAsB,YAAc,EAOpC,IAAM,EAAc,4BASd,EAA2B,aAC/B,CAAC,EAA6C,KAC5C,GAAM,uBAAE,SAAuB,WAAQ,EAAU,GAAG,EAAU,CAAI,EAElE,KAF8D,CAG5D,UAAC,IAAe,SAAO,EACrB,mBAAC,IAAS,CAAC,EAAV,CACC,cAAa,EAAS,GAAK,OAC3B,eAAc,EAAS,OAAS,OAC/B,GAAG,EACJ,IAAK,EACL,QAAS,OAAoB,CAC3B,EAAM,QACN,IACE,IAAM,EAAS,EAAM,OACf,EAAkB,IAAI,YAAY,EAAa,CACnD,SAAS,EACT,YAAY,CACd,CAAC,EAID,GAHA,EAAO,iBAAiB,EAAa,GAAC2B,MAAAA,EAAAA,KAAAA,EAAU,EAAWA,GAAQ,CAAE,EAAL,IAAW,CAAK,CAAC,EACjF,QAA2B,CAAC,EAAQ,GAEhC,CAAC,EAAgB,SAF8B,OAE9B,EAAoB,CAAC,EAAM,QAAS,CACvD,IAAM,EAA0B,IAAI,YAAY,EAAsB,CACpE,SAAS,EACT,YAAY,CACd,CAAC,EACD,QAA2B,CAAC,EAAQ,EACtC,CACF,EACA,CAAE,iBAH6D,SAGnC,CAAM,EACpC,EACF,CACF,CAEJ,GAGF,EAAmB,YAhDD,EAgDe,mBAMjC,IAAM,EAAiB,0BAWjB,EAAgC,aAGpC,CAAC,EAAkD,KACnD,GAAM,YAAE,EAAY,GAAG,EAAe,CAAI,EACpC,EAAU,EAAyB,EAAgB,EAAM,EADzB,mBAC8C,EAC9E,EAAY,EAAQ,EAAQ,KAAK,CAEvC,OAAO,EAAQ,eACX,cAAS,CACP,UAAC,GAAQ,CAAR,CAAS,QAAS,GAAc,EAC/B,mBAAC,GAA6B,GAAG,EAAgB,IAAK,EAAc,EACtE,EACA,EAAQ,gBAEV,IACN,CAAC,EAED,EAAwB,YAAc,EAKtC,IAAM,EAAoC,aAGxC,CAAC,EAAsD,KACvD,GAAM,uBAAE,EAAuB,GAAG,EAAe,CAAI,EAC/C,EAAU,EAAyB,EAAgB,GACnD,CAF2C,CAEhC,EAAc,GACzB,CAAC,EAAe,EAAgB,CAAU,KAF8B,KAE9B,CAC9C,CAFkD,CACd,IAGhC,CAAC,EAAU,EAAW,CAAU,QAAV,EAAU,CAAkD,IAAI,EACtF,EAAuC,eAAxB,EAAQ,YACvB,GAAY,CAAQ,EAAQ,KAAK,CAEjC,YAAU,SAEM,EAApB,IAAM,YADQ,IACY,KADH,GACkB,EAAK,QAAU,EAAQ,MAAK,uBAAG,IAAI,QACxE,GAAa,EAAiB,EACpC,EAAG,CAAC,EAAU,EAAQ,EADyB,GACpB,CAAC,EAK5B,IAAM,EAAuB,KACvB,GACF,EAAY,CACV,KAAM,EAAe,EAAc,YAAc,EAAc,aAC/D,OAAQ,EAAe,EAAc,WAAa,EAAc,UACjE,CAEL,EAMA,OALA,GAAkB,EAAe,GACjC,GAAkB,EAAQ,YAD2B,EAC3B,CAAgB,GAInC,EACL,UAAC,IAAS,CALkD,GAKjD,CAAV,CACC,eAAW,EACX,aAAY,EAAY,UAAY,SACpC,mBAAkB,EAAQ,YACzB,GAAG,EACJ,IAAK,EACL,MAAO,CACL,SAAU,WACV,GAAI,EACA,CACE,KAAM,EACN,MAAO,EAAS,KAAO,KACvB,UAAW,cAA6B,OAAf,EAAS,MAAM,OAC1C,EACA,CACE,IAAK,EACL,OAAQ,EAAS,KAAO,KACxB,UAAW,cAA6B,OAAf,EAAS,MAAM,OAC1C,EACJ,GAAG,EAAe,KACpB,IAEA,IACN,CAAC,EAMK,EAAe,wBAYf,EAA8B,aAGlC,CAAC,EAAgD,KACjD,GAAM,YAAE,EAAY,GAAG,EAAa,CAAI,EAClC,EAAU,EAAyB,EAAc,EADnB,qBAC8C,EAC5E,EAAc,EAA6B,EAAc,EAAM,qBAAqB,EACpF,EAAe,OAAe,CAAC,EAAY,WAAY,GACvD,EAAO,EAAY,KADgD,GACtC,EAAQ,MAErC,EAAc,CAClB,MAAO,EAAY,MACnB,WAAY,EAAY,WACxB,cAAe,EAAY,cAC3B,kBAAmB,EAAY,kBAC/B,sBAAuB,EAAY,sBACnC,mBAAoB,EAAY,mBAChC,GAAG,GAGL,OAAO,EAAS,SAmBd,EAlBA,CAkBA,OAAC,cAAuB,EAAyB,GAAG,EAAa,IAAK,EAAc,EAlBpF,UAAC,GAAQ,CAAR,CAAS,QAAS,GAAc,EAC/B,mBAAC,GACC,aAAY,GAAa,GACxB,CAD4B,EACzB,EACJ,IAAK,EACL,eAAgB,OAAoB,CAAC,EAAM,eAAgB,EAAQ,cAAc,EACjF,eAAgB,OAAoB,CAClC,EAAM,eACN,GAAU,EAAQ,cAAc,GAElC,MAAO,CAEL,cAAe,CAAC,GAAQ,EAAQ,WAAa,OAAS,OACtD,GAAG,EAAY,MACjB,EACF,CACF,CAIJ,CAAC,EAFG,EAIkB,YAAc,EAapC,IAAM,EAA+B,aAGnC,CAAC,EAAiD,KAElD,GAAM,yBAAE,0BAAyB,EAAwB,CADzC,EAC6C,EADN,EAAM,qBAAqB,EAelF,MAZA,OAAe,CAAC,KACd,EAAwB,EAAM,MAAO,CACnC,IAAK,EACL,GAAG,EACJ,CACH,EAAG,CAAC,EAAO,EAAc,EAAwB,EAEjD,OAAe,CAAC,IACP,IAAM,EAAwB,CAHS,CAGH,KAAK,EAC/C,CAAC,EAAM,MAAO,EAAwB,EAGlC,IACT,CAAC,EAIK,EAAuB,UARa,0BA0BpC,EAAkC,aAGtC,CAAC,EAAoD,KACrD,GAAM,uBACJ,QACA,aACA,gBACA,oBACA,qBACA,wBACA,EACA,GAAG,EACL,CAAI,EACE,EAAU,EAAyB,EAAc,GACjD,EAAY,SAAyC,IAAI,EACzD,CAFsE,CAEvD,OAAe,CAAC,EAAK,GACpC,EAAY,GAAc,EAAQ,EADc,IACd,CAAQ,GAC1C,EAD+C,GACrB,EAAQ,OAAQ,GAC1C,EAD+C,EACtB,GACzB,EAA+B,SAA+B,IAAI,EAElE,CAH8C,cAG5C,EAAc,CAAI,EAEpB,YAAU,KACd,IAAM,EAAU,EAAI,QAGpB,GAAI,EAAQ,YAAc,EAAS,CACjC,IAAM,EAAc,SAG4B,EAF9C,IACA,IACI,EAAQ,IAFE,IAEF,CAAS,IADF,KACW,aAAa,EAAG,EAAW,OAAX,KAAW,UAAX,cAAoB,OAAM,CAC1E,EAEA,OADA,EAAQ,iBAAiB,EAAsB,GACxC,IAAM,EAAQ,EADqC,iBACrC,CAAoB,EAAsB,EACjE,CACF,EAAG,CAAC,EAAQ,GAFkE,OAElE,CAAY,EAAM,MAAO,EAAY,EAAe,EAAmB,EAEnF,IAAM,EAAwB,QAFoD,CAEpD,CAAQ,KAEpC,IAAM,EADQ,IACO,IAAI,CADF,EACY,EAAK,KAAK,EACzB,MAAO,EAAvB,EAAQ,KAAe,EAAO,QAAQ,EAC1C,IAAM,EAAQ,EAAO,QAAQ,EAAQ,KAAK,EACpC,EAAY,EAAO,QAAQ,EAAQ,aAAa,EAChD,EAAa,IAAU,EAAQ,MAC/B,EAAc,IAAc,EAAO,QAAQ,GAIjD,EAJsD,CAIlD,CAAC,GAAc,CAAC,EAAa,OAAO,EAAuB,CAA9B,MAA8B,CAE/D,IAAM,GAAa,KAEjB,GAAI,IAAU,EAAW,CAEvB,GAAI,GAA4B,GAAI,EAAlB,EAAkB,OAAO,EAAQ,EAAY,WAAa,aAE5E,GAAI,GAAyB,GAAI,EAAd,EAAc,OAAO,EAAQ,EAAY,WAAa,QAC3E,CAGA,OAAO,MACT,GAGA,OADA,EAAuB,QAAU,EAC1B,CACT,EAAG,CAAC,EAAQ,cAAe,EAAQ,MAAO,EAAQ,IAAK,EAAU,EAAM,EAEvE,CAFsE,KAGpE,UAAC,IAAW,SAAO,EACjB,mBAAC,IAAgB,CAAhB,CACC,GAAI,EACJ,kBAAiB,EACjB,cAAa,EACb,mBAAkB,EAAQ,YACzB,GAAG,EACJ,IAAK,EACL,6BAA6B,EAC7B,UAAW,SAKT,EAJA,IAAM,EAA0B,IAAI,MAAM,EAAsB,CAC9D,SAAS,EACT,YAAY,CACd,CAAC,CACG,SAAJ,IAAI,UAAJ,cAAa,cAAc,EAC7B,EACA,eAAgB,IAFoC,CAEpC,EAAoB,CAAC,EAAM,eAAgB,QAIrD,EAHJ,IACA,IAAM,EAAS,EAAM,OAErB,CAAY,EAHU,KAGtB,KAAY,yCAAoB,SAAS,EAAM,EAAG,GAAM,eAAe,CACzE,CAAC,EACD,qBAAsB,OAAoB,CAAC,EAAM,qBAAuB,QAGzB,EAF7C,IAAM,EAAS,EAAM,OACf,EAAY,IAAW,KAAF,iBAA0B,YAAJ,IAAI,4BAAT,EAAkB,SAAS,KACjE,CADuE,CAAC,EAC/C,aAAsB,OAAtB,KAAsB,+BAAU,SAAS,EAAM,GAC1E,GAAa,GAAkB,CAAC,EAAQ,WAAY,IAAM,eAAe,CAC/E,CAAC,EACD,UAAW,OAAoB,CAAC,EAAM,UAAW,IAC/C,IAAM,EAAY,EAAM,QAAU,EAAM,SAAW,EAAM,QAEzD,GAD+B,CAC3B,OADa,EAAM,KAAiB,CAAC,EAC3B,CACZ,IAAM,EAAa,GAAsB,EAAM,aAAa,EACtD,EAAiB,SAAS,cAC1B,EAAQ,EAAW,UAAU,GAAe,IAAc,GAMhE,GAAI,GALsB,EAAM,GAD8C,GAM/D,EALiB,CAE5B,EAAW,MAAM,EAAG,CAGK,EAHE,CAGC,CAHH,KAAE,CAAQ,EACnC,EAAW,MAAM,EAAQ,EAAG,EAAW,MAAM,GAI/C,EAAM,eAAe,MAChB,KAIL,CAAc,SAAd,IAAc,UAAd,cAAuB,MAAM,CAC/B,CACF,CACF,CAAC,EACD,gBAAiB,OAAoB,CAAC,EAAM,gBAAiB,IAG3D,EAAkB,SAAU,CAC9B,CAAC,GACH,CACF,CAEJ,CAAC,EAMK,GAAgB,yBAYhB,GAA+B,aAGnC,CAAC,EAAiD,KAClD,GAAM,YAAE,EAAY,GAAG,EAAc,CAAI,EAEnC,GAAO,CADG,EAAyB,GADJ,EACyB,qBAAqB,EACtD,KAAK,CAElC,MACE,UAAC,GAAQ,CAAR,CAAS,QAAS,GAAc,EAC/B,mBAAC,IAA4B,GAAG,EAAe,IAAK,EAAc,EACpE,CAEJ,CAAC,EAED,GAAuB,YAAc,GAOrC,IAAM,GAAmC,aAGvC,CAAC,EAAqD,KACtD,GAAM,uBAAE,WAAuB,EAAU,GAAG,EAAkB,CAAI,EAC5D,EAAU,EAAyB,GAAe,GAClD,EAAe,CAFyC,EAEzC,IAAe,CAAC,EAAc,EAAQ,IADkB,YACF,EACrE,EAAyB,EAC7B,EACA,EAAM,uBAEF,CAAC,EAAM,EAAO,CAAU,IAAV,MAAU,CAAmD,IAAI,EAC/E,CAAC,EAAS,EAAU,CAAU,OAAV,GAAU,CAA8C,IAAI,EAChF,EAAgB,kBAAO,EAAM,OAAQ,KAAO,OAC5C,EAAiB,SAAO,WAAM,QAAS,KAAO,OAC9C,GAAO,CAAQ,EAAQ,KAAK,CAG5B,EAAqB,EAAO,EAAQ,MAAQ,EAAQ,cAa1D,OAFA,GAAkB,EAHO,KACnB,EAEqB,CAFZ,EAAQ,CAAE,EAAV,IAAiB,EAAQ,IAEG,OAFH,CAAa,OAAQ,EAAQ,aAAc,CACnF,GAIE,UAAC,IAAS,CAAC,IAAV,CACC,aAAY,GAAa,GACzB,CAD6B,kBACX,EAAQ,YACzB,GAAG,EACJ,IAAK,EACL,MAAO,CAEL,cAAe,CAAC,GAAQ,EAAQ,WAAa,OAAS,OACrD,wCAA+C,CAAG,EAClD,yCAAgD,CAAG,EACpD,GAAG,EAAkB,OAEvB,eAAgB,OAAoB,CAAC,EAAM,eAAgB,EAAQ,cAAc,EACjF,eAAgB,OAAoB,CAAC,EAAM,eAAgB,GAAU,EAAQ,cAAc,CAAC,EAE3F,eAAM,KAAK,EAAuB,KAAK,EAAE,IAAI,OAAC,CAAC,EAAO,KAAE,aAAK,EAAY,GAAGV,EAAO,IAAM,CAAP,CAChE,IAAuB,EACxC,MACE,UAAC,GAAQ,CAAR,CAAqB,QAAS,GAAc,EAC3C,mBAAC,GACE,GAAGA,CAAAA,CACJ,IAAK,OAAW,CAAC,EAAM,IAGjB,GAAY,GAAM,IACxB,CAAC,GACH,EARa,EAWnB,CAAC,EAFG,CAKV,CAAC,EASK,GAAmB,aACvB,CAAC,EAAqC,KACpC,GAAM,uBAAE,EAAuB,GAAG,EAAW,CAAI,EAC3C,EAAU,EARK,EAOwB,WACc,GAE3D,MACE,CAHuC,EAGvC,OAAC,EAH6E,QAGxD,CAArB,CAA8B,MAAO,EACpC,mBAAC,EAAqB,KAArB,CAA0B,MAAO,EAChC,mBAAC,IAAS,CAAC,IAAV,CAAc,IAAK,EAAQ,IAAM,GAAG,EAAY,IAAK,EAAc,EACtE,EACF,CAEJ,GAKI,GAAa,CAAC,aAAc,YAAa,UAAW,WAAW,EAM/D,GAAuB,aAC3B,CAAC,EAAyC,KACxC,GAAM,CAAE,wBAAuB,GAAG,EAAW,CAAI,EAC3C,EAAW,EAAwB,EADI,CAEvC,EAAU,EATU,cAQoC,GACE,GAEhE,GAFyC,GAGvC,UAAC,EAHkF,QAG7D,CAArB,CAA8B,MAAO,EACpC,mBAAC,IAAS,CAAC,OAAV,CACE,GAAG,EACJ,IAAK,EACL,UAAW,OAAoB,CAAC,EAAM,UAAW,IAE/C,GAD6B,CAAC,OAAQ,SAAU,GAAU,CAAE,MAAF,EAAE,CAAS,EAAM,GAAG,EACpD,CACxB,IAAI,EAAiB,IAAW,IAAI,CAAN,EAAgB,EAAK,IAAI,OAAQ,EAI/D,GAFiB,CADmB,QAAhB,EAAQ,IAAgB,aAAe,YAC5B,UAAW,KAAK,EAClC,SAAS,EAAM,GAAG,EAAG,GAAe,QAAQ,EACrD,GAAW,SAAS,EAAM,GAAG,EAAG,CAClC,IAAM,EAAe,EAAe,QAAQ,EAAM,aAAa,EAC/D,EAAiB,EAAe,MAAM,EAAe,CAAC,CACxD,CAKA,WAAW,IAAM,GAAW,IAG5B,EAAM,QAHoC,CAAC,KAGrC,CAAe,CACvB,CACF,CAAC,GACH,CACF,CAEJ,GAaF,SAAS,GAAsB,GAAwB,IAC/C,EAAuB,CAAC,EACxB,EAAS,SAAS,iBAAiB,EAAW,WAAW,aAAc,CAC3E,WAAY,IACV,IAAM,EAAiC,UAAjB,EAAK,SAAqC,WAAd,EAAK,YACvD,EAAS,UAAY,EAAK,QAAU,EAAsB,WAAW,CAAlB,UAAkB,CAI9D,EAAK,UAAY,EAAI,WAAW,cAAgB,WAAW,YAEtE,CAAC,EACD,KAAO,EAAO,SAAS,GAAG,EAAM,KAAK,EAAO,WAA0B,EAGtE,OAAO,CACT,CAEA,SAAS,GAAW,GAA2B,IACvC,EAA2B,SAAS,cAC1C,OAAO,EAAW,KAAK,GAEjB,IAAc,IAClB,EAAU,MAAM,EACT,SAAS,EAF4B,QAAO,GAEnC,GAAkB,GAEtC,CAeA,SAAS,GAAkB,EAA6B,GAAsB,IACtE,EAAe,OAAc,CAAC,GACpC,OAAe,CAAC,KACd,IAAI,EAAM,EACV,GAAI,EAAS,CAQX,IAAM,EAAiB,IAAI,eAAe,KACxC,qBAAqB,GAAG,EAClB,OAAO,sBAAsB,EACrC,CAAC,EAED,OAHiD,EAElC,QAAQ,GAChB,IADuB,CAE5B,OAAO,qBAAqB,GAAG,EAChB,UAAU,EAC3B,CACF,CACF,EAAG,CAHmC,EAGzB,EAAa,CAC5B,CAEA,QAH2B,CAGlB,GAAa,GAAe,OAC5B,EAAO,OAAS,QACzB,CAEA,SAAS,GAAc,EAAgB,GAAe,MAC7C,GAAqB,KAAK,EAAvB,EAAM,aAAiB,SACnC,CAEA,SAAS,GAAc,EAAgB,GAAe,MAC7C,UAAG,EAAM,aAAiB,OAAL,EAC9B,CAEA,EAHmC,OAG1B,GAAa,GAAqE,OAClF,GAAkC,UAAtB,EAAM,YAA0B,EAAQ,GAAS,EAAJ,GAAI,CACtE,CAIA,IAAMf,GAAO,EAEP,GAAO,EACP,GAAO,EACP,GAAU,EACV,GAAO,EACP,GAAY,EACZ,GAAU,EACV,GAAW,kDCrtCX,MAAW,cAAgB,CAAC,UAAY,EAC5C,CACE,OACA,CACE,CAAG,+PACH,GAAK,SACP,EACF,CACA,CAAC,MAAQ,EAAE,EAAG,CAAW,aAAK,SAAU,EACxC,CAAC,MAAQ,EAAE,EAAG,CAAY,cAAK,SAAU,EACzC,CAAC,MAAQ,EAAE,EAAG,CAAW,aAAK,SAAU,EACxC,CAAC,MAAQ,EAAE,EAAG,CAAW,aAAK,SAAU,EACzC,gIEZK,MAAc,cAAgB,CAAC,aAAe,EAClD,CAAC,MAAQ,EAAE,EAAG,CAAgB,kBAAK,SAAU,EAC9C,oLC0WD,OAAqB,mBAArB,GA7NgB0B,sBAAsB,mBAAtBA,GAgCAC,gBAAgB,mBAAhBA,iDA1LK,gBAC0C,YAE5B,WACI,WACH,OAE9BC,EAAc,IAAIC,IAClBC,EAAY,IAAIC,IAiBhBC,EAAoB,IAOxB,GAAIC,EAAAA,OAAQ,CAACC,OAAO,CAAE,CACpBC,EAAYC,OAAO,CAAEC,IACnBJ,EAAAA,OAAQ,CAACC,OAAO,CAACG,EAAY,CAAEC,GAAI,OAAQ,EAC7C,GAEA,MACF,CAMmC,CACjC,IAAIC,EAAOC,SAASD,IAAI,CACxBJ,EAAYC,OAAO,CAAC,IAClB,IAAIK,EAAOD,SAASE,aAAa,CAAC,QAElCD,EAAKE,IAAI,CAAG,WACZF,EAAKG,GAAG,CAAG,aACXH,EAAKI,IAAI,CAAGR,EAEZE,EAAKO,WAAW,CAACL,EACnB,EACF,CACF,EAEMM,EAAa,IACjB,GAAM,CACJC,KAAG,IACHC,CAAE,QACFC,EAAS,KAAO,CAAC,SACjBC,EAAU,IAAI,yBACdC,CAAuB,UACvBC,EAAW,EAAE,UACbC,EAAW,kBAAkB,CAC7BC,SAAO,aACPpB,CAAW,CACZ,CAAGpB,EAEEyC,EAAWP,GAAMD,EAGvB,GAAIQ,GAAY1B,EAAU2B,GAAG,CAACD,GAC5B,OAIF,CALyC,EAKrC5B,EAAY6B,GAAG,CAACT,GAAM,CACxBlB,EAAU4B,GAAG,CAACF,GAGd5B,EAAY+B,GAAG,CAACX,GAAKY,IAAI,CAACV,EAAQK,GAClC,MACF,CAGA,IAAMM,EAAY,KAEZV,GACFA,IAGFrB,EAJa,GAIA,CAAC0B,EAChB,EAEM1C,EAAK0B,SAASE,aAAa,CAAC,UAE5BoB,EAAc,IAAIC,QAAc,CAACC,EAASC,KAC9CnD,EAAGoD,gBAAgB,CAAC,OAAQ,SAAUC,CAAC,EACrCH,IACId,GACFA,EAAOkB,GADG,CACC,CAAC,IAAI,CAAED,GAEpBN,GACF,GACA/C,EAAGoD,gBAAgB,CAAC,QAAS,SAAUC,CAAC,EACtCF,EAAOE,EACT,EACF,GAAGE,KAAK,CAAC,SAAUF,CAAC,EACdZ,GACFA,EAAQY,EAEZ,EAHe,CAKXf,GAEFtC,EAAGwD,SAAS,CAAIlB,EAAwBmB,MAAM,EAAe,GAE7DV,KACSR,GACTvC,EAAG0D,KADgB,MACL,CACQ,UAApB,OAAOnB,EACHA,EACAoB,MAAMC,OAAO,CAACrB,GACZA,EAASsB,IAAI,CAAC,IACd,GAERd,KACSb,IACTlC,CADc,CACXkC,GAAG,CAAGA,EAITpB,EAAYgD,GAAG,CAAC5B,EAAKc,IAGvB3D,CAAAA,EAAAA,EAAAA,sBAAAA,EAAuBW,EAAIC,GAEV,UAAU,CAAvBuC,GACFxC,EAAGQ,YAAY,CAAC,OAAQ,kBAG1BR,EAAGQ,YAAY,CAAC,eAAgBgC,GAG5BnB,GACFH,EAAkBG,GAGpBK,KAJiB,IAIRqC,IAAI,CAAC/B,WAAW,CAAChC,EAC5B,EAEO,SAASY,EAAuBX,CAAkB,EACvD,GAAM,UAAEuC,EAAW,kBAAkB,CAAE,CAAGvC,EACzB,cAAc,CAA3BuC,EACFwB,OAAOZ,gBAAgB,CAAC,OAAQ,KAC9Ba,GAAAA,EAAAA,mBAAAA,EAAoB,IAAMhC,EAAWhC,GACvC,GAEAgC,EAAWhC,EAEf,CAuBO,SAASY,EAAiBqD,CAAgC,EAC/DA,EAAkB5C,OAAO,CAACV,GAP1BuD,IAHKzC,SAAS0C,gBAAgB,CAAC,yCAC1B1C,SAAS0C,gBAAgB,CAAC,qCAC9B,CACO9C,OAAO,CAAC,IACd,IAAMoB,EAAW2B,EAAOlC,EAAE,EAAIkC,EAAOC,YAAY,CAAC,OAClDtD,EAAU4B,GAAG,CAACF,EAChB,EAMF,CAOA,SAAS6B,EAAOtE,CAAkB,EAChC,GAAM,IACJkC,CAAE,KACFD,EAAM,EAAE,QACRE,EAAS,KAAO,CAAC,SACjBC,EAAU,IAAI,UACdG,EAAW,kBAAkB,SAC7BC,CAAO,aACPpB,CAAW,CACX,GAAGmD,EACJ,CAAGvE,EAGE,CAAEwE,eAAa,SAAEN,CAAO,UAAEO,CAAQ,CAAEC,QAAM,OAAEC,CAAK,CAAE,CACvDC,CAAAA,EAAAA,EAAAA,UAAAA,EAAWC,EAAAA,kBAAkB,EA4BzBC,EAAyBC,CAAAA,EAAAA,EAAAA,MAAAA,GAAO,GAEtCC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,IAAMvC,EAAWP,GAAMD,EAClB6C,EAAuBG,OAAO,EAAE,CAE/B7C,GAAWK,GAAY1B,EAAU2B,GAAG,CAACD,IACvCL,IAGF0C,EAAuBG,CAJ6B,MAItB,EAAG,EAErC,EAAG,CAAC7C,EAASF,EAAID,EAAI,EAErB,IAAMiD,EAA4BH,CAAAA,EAAAA,EAAAA,MAAAA,GAAO,GAoCzC,GAlCAC,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACR,GAAI,CAACE,EAA0BD,OAAO,CAAE,CACtC,GAAiB,oBAAoB,CAAjC1C,EACFP,EAAWhC,QACN,GAAiB,cAAc,CAA3BuC,EA5Fa,YAAY,CAApCd,SAAS0D,UAAU,CACrBnB,CAAAA,EAAAA,EAAAA,mBAAAA,EAAoB,IAAMhC,MAE1B+B,KAFqC/D,EAE9BmD,gBAAgB,CAAC,OAAQ,KAC9Ba,CAAAA,EAAAA,EAAAA,mBAAmB,EAAC,IAAMhC,EAyFThC,GAxFnB,GA2FEkF,EAA0BD,CA5FWjF,MA4FJ,EAAG,CACtC,CACF,EAAG,CAACA,EAAOuC,EAAS,GAEH,sBAAbA,GAAiD,WAAbA,CAAa,GAAU,CACzDiC,GACFN,CAAO,CAAC3B,EAAS,CAAI2B,CAAAA,CAAO,CAAC3B,EAAS,EADrB,EACyB,EAAI6C,MAAM,CAAC,CACnD,IACElD,MACAD,SACAE,UACAC,UACAI,EACA,GAAG+B,CAAS,EAEf,EACDC,EAAcN,IACLO,GAAYA,IAErB1D,EAAU4B,GAAG,CAACT,EAFmB,CAEbD,GACXwC,GAAY,CAACA,KACtBzC,EAAWhC,IAKX0E,CANkC,CAM1B,CAkBV,GARItD,GACFA,EAAYC,OAAO,CADJ,IAEbH,EAAAA,OAAQ,CAACC,OAAO,CAACkE,EAAU,CAAE9D,GAAI,OAAQ,EAC3C,GAKe,qBAAqB,CAAlCgB,SACF,GAsBErB,CAtBE,CAsBFA,OAAQ,CAACoE,OAAO,CACdrD,EACAsC,EAAUgB,SAAS,CACf,CACEhE,GAAI,SACJgE,UAAWhB,EAAUgB,SAAS,OAC9BZ,EACAa,YAAajB,EAAUiB,WAAW,EAEpC,CAAEjE,GAAI,eAAUoD,EAAOa,YAAajB,EAAUiB,WAAW,GAG7D,UAACpB,SAAAA,CACCO,MAAOA,EACPtC,wBAAyB,CACvBmB,OAAS,0CAAyCiC,KAAKC,SAAS,CAAC,CAC/DzD,EACA,CAAE,GAAGsC,CAAS,IAAErC,CAAG,EACpB,EAAE,GACL,MAvCAqC,EAAUlC,uBAAuB,EAAE,CAErCkC,EAAUjC,QAAQ,CAAGiC,EAAUlC,uBAAuB,CACnDmB,MAAM,CACT,OAAOe,EAAUlC,uBAAuB,EAIxC,UAAC+B,SAAAA,CACCO,MAAOA,EACPtC,wBAAyB,CACvBmB,OAAS,0CAAyCiC,KAAKC,SAAS,CAAC,CAC/D,EACA,CAAE,GAAGnB,CAAS,IAAErC,CAAG,EACpB,EAAE,GACL,KA4BgB,oBAAoB,CAAjCK,GACLN,GAEFf,EAFO,OAEC,CAACoE,OAAO,CACdrD,EACAsC,EAAUgB,SAAS,CACf,CACEhE,GAAI,SACJgE,UAAWhB,EAAUgB,SAAS,CAC9BZ,QACAa,YAAajB,EAAUiB,WAAW,EAEpC,CAAEjE,GAAI,eAAUoD,EAAOa,YAAajB,EAAUiB,WAAW,EAIrE,CAEA,OAAO,IACT,CAEAtF,OAAOyF,cAAc,CAACrB,EAAQ,eAAgB,CAAEvF,OAAO,CAAK,OAE5D,EAAeuF,wQC5WT,MAAO,cAAgB,CAAC,MAAQ,EACpC,CAAC,OAAQ,CAAE,GAAI,CAAK,MAAI,CAAM,OAAI,IAAM,IAAI,IAAM,KAAK,SAAU,EACjE,CAAC,OAAQ,CAAE,GAAI,CAAK,MAAI,CAAM,OAAI,GAAK,IAAI,GAAK,KAAK,SAAU,EAC/D,CAAC,OAAQ,CAAE,GAAI,CAAK,MAAI,CAAM,OAAI,IAAM,IAAI,IAAM,KAAK,SAAU,EAClE,+CCjBDsB,EAAQ,KAAa,EACrB,IAAIC,EAAQD,EAAQ,EADbA,GACoB,EAIvBE,EAFJ,QAFmBF,CAEVG,CAAwB,EAAI,GAEhB,IAFuB3C,GAAkB,IAE9B,MAFiB,OAAOA,GAAkB,YAAaA,EAAIA,EAAI,CAAE,QAAWA,CAAE,CAAG,EAEzDyC,GAmBpDG,EAAS,KAAmB,IAAZC,GAA2BA,EAAQC,EAA5BD,CAA+B,EAAJA,CAAQA,EAC1DE,EAAW,SAASC,CAAC,EACrB,CAFmF,KAEtC,oBAAtClG,OAAOmG,SAAS,CAACC,QAAQ,CAACjD,IAAI,CAAC+C,EAC1C,EACIG,EAA2B,WAAd,SACJA,EADe,CACC,EACrB,IAAIC,EAAgB,KAAK,IAAfC,EAAmB,CAAC,EAAIA,EAAOC,EAAQF,EAAIG,IAAI,CAAEA,EAAOD,KAAe,MAAI,aAAeA,EAAOE,EAAoBJ,EAAIK,gBAAgB,CAAEA,EAAyC,KAAK,MAAIb,EAASY,EAChNE,EAAYX,EAASQ,GAAO,2BAC5B,IAAI,CAACD,KAAK,CAAGC,EACb,IAAI,CAACI,uBAAuB,CAAG,IAAMJ,EAAO,sBAC5CG,EAAwC,WAA5B,OAAOD,EAAgC,wCACnD,IAAI,CAACD,iBAAiB,CAAGC,EACzB,IAAI,CAACG,YAAY,MAAGC,EACpB,IAAI,CAACC,KAAK,CAAG,EAAE,CACf,IAAI,CAACC,SAAS,EAAG,EACjB,IAAI,CAACC,WAAW,CAAG,EACnB,IAAIC,EAAyB,aAAlB,OAAOtD,QAA0BtC,SAAS6F,aAAa,CAAC,8BACnE,IAAI,CAACC,MAAM,CAAGF,EAAOA,EAAKhD,YAAY,CAAC,WAAa,IACxD,CACA,IAAImD,EAASjB,EAAWF,SAAS,CA2LjC,OA1LAmB,EAAOC,mBAAmB,CAAG,SAASA,CAAwB,EAC1DX,EAA4B,WAAhB,OAAOY,EAAoB,2CACvCZ,EAAiC,IAArB,IAAI,CAACM,WAAW,CAAQ,oEACpC,IAAI,CAACO,KAAK,GACV,IAAI,CAACf,iBAAiB,CAAGc,EACzB,IAAI,CAACE,MAAM,EACf,EACAJ,EAAOK,kBAAkB,CAAG,SAASA,EACjC,OAAO,IAAI,CAACjB,iBAAiB,EAEjCY,EAAOI,MAAM,CAAG,SAASA,EACrB,IAAIE,EAAQ,IAAI,CAGhB,GAFAhB,EAAY,CAAC,IAAI,CAACK,SAAS,CAAE,0BAC7B,IAAI,CAACA,SAAS,CAAG,GACK,oBAAXpD,QAA0B,IAAI,CAAC6C,iBAAiB,CAAE,CACzD,IAAI,CAACM,KAAK,CAAC,EAAE,CAAG,IAAI,CAACa,YAAY,CAAC,IAAI,CAACrB,KAAK,EAC5C,IAAI,CAACE,iBAAiB,CAAG,eAAgB,IAAI,CAACoB,QAAQ,GACjD,IAAI,CAACpB,iBAAiB,EAAE,CAIzB,IAAI,CAACe,KAAK,GACV,IAAI,CAACR,SAAS,EAAG,GAErB,MACJ,CACA,IAAI,CAACH,YAAY,CAAG,CAChBiB,SAAU,EAAE,CACZC,WAAY,SAASC,CAAI,CAAEC,CAAK,EAU5B,MATI,UAA2B,OAApBA,EACPN,EAAMd,YAAY,CAACiB,QAAQ,CAACG,EAAM,CAAG,CACjCC,QAASF,CACb,EAEAL,EAAMd,YAAY,CAACiB,QAAQ,CAACK,IAAI,CAAC,CAC7BD,QAASF,CACb,GAEGC,CACX,EACAG,WAAY,SAASH,CAAK,EACtBN,EAAMd,YAAY,CAACiB,QAAQ,CAACG,EAAM,CAAG,IACzC,CACJ,CACJ,EACAZ,EAAOgB,cAAc,CAAG,SAASA,CAAkB,EAC/C,GAAIC,EAAIC,KAAK,CACT,CADW,MACJD,EAAIC,KAAK,CAGpB,IAAI,IAAIC,EAAI,EAAGA,EAAIlH,SAASmH,WAAW,CAACC,MAAM,CAAEF,IAAI,GAC5ClH,SAASmH,WAAW,CAACD,EAAE,CAACG,SAAS,GAAKL,EACtC,GAD2C,IACpChH,SAASmH,WAAW,CAACD,EAAE,EAI1CnB,EAAOQ,QAAQ,CAAG,SAASA,EACvB,OAAO,IAAI,CAACQ,cAAc,CAAC,IAAI,CAACtB,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC2B,MAAM,CAAG,EAAE,CAChE,EACArB,EAAOU,UAAU,CAAG,SAASA,CAAe,CAAEE,CAAK,EAE/C,GADAtB,EAAYX,EAASgC,GAAO,qCACxB,aAA+B,OAAxBpE,OAKP,MAJqB,UAAjB,OAAOqE,IACPA,EAAQ,IAAI,CAACpB,YAAY,CAACiB,QAAQ,CAACY,MAAAA,EAEvC,IAAI,CAAC7B,YAAY,CAACkB,UAAU,CAACC,EAAMC,GAC5B,IAAI,CAAChB,WAAW,GAE3B,GAAI,IAAI,CAACR,iBAAiB,CAAE,CACxB,IAAI8B,EAAQ,IAAI,CAACV,QAAQ,GACJ,UAAjB,OAAOI,GACPA,GAAQM,EAAMT,QAAQ,CAACY,MAAM,EAIjC,GAAI,CACAH,EAAMR,UAAU,CAACC,EAAMC,EAC3B,CAAE,MAAOW,EAAO,CAIZ,OAAO,CAAC,CACZ,CACJ,KAAO,CACH,IAAIC,EAAiB,IAAI,CAAC9B,KAAK,CAACkB,EAAM,CACtC,IAAI,CAAClB,KAAK,CAACoB,IAAI,CAAC,IAAI,CAACP,YAAY,CAAC,IAAI,CAACrB,KAAK,CAAEyB,EAAMa,GACxD,CACA,OAAO,IAAI,CAAC5B,WAAW,EAC3B,EACAI,EAAOyB,WAAW,CAAG,SAASA,CAAiB,CAAEd,CAAI,EACjD,GAAI,IAAI,CAACvB,iBAAiB,EAAsB,aAAlB,OAAO7C,OAAwB,CACzD,IAAI2E,EAA0B,aAAlB,OAAO3E,OAAyB,IAAI,CAACiE,QAAQ,GAAK,IAAI,CAAChB,YAAY,CAI/E,GAHKmB,EAAKe,IAAI,IAAI,CACdf,EAAO,IAAI,CAACpB,uBAAAA,EAEZ,CAAC2B,EAAMT,QAAQ,CAACG,EAAM,CAEtB,CAFwB,MAEjBA,EAEXM,EAAMH,UAAU,CAACH,GACjB,GAAI,CACAM,EAAMR,UAAU,CAACC,EAAMC,EAC3B,CAAE,MAAOW,EAAO,CAKZL,EAAMR,UAAU,CAAC,IAAI,CAACnB,uBAAuB,CAAEqB,EACnD,CACJ,KAAO,CACH,IAAIK,EAAM,IAAI,CAACvB,KAAK,CAACkB,EAAM,CAC3BtB,EAAY2B,EAAK,sBAAwBL,EAAQ,eACjDK,EAAIhF,WAAW,CAAG0E,CACtB,CACA,OAAOC,CACX,EACAZ,EAAOe,UAAU,CAAG,SAASA,CAAgB,EACzC,GAAsB,aAAlB,OAAOxE,OAAwB,CAC/B,IAAI,CAACiD,YAAY,CAACuB,UAAU,CAACH,GAC7B,MACJ,CACA,GAAI,IAAI,CAACxB,iBAAiB,CACtB,CADwB,GACpB,CAACqC,WAAW,CAACb,EAAO,QACrB,CACH,IAAIK,EAAM,IAAI,CAACvB,KAAK,CAACkB,EAAM,CAC3BtB,EAAY2B,EAAK,kBAAoBL,EAAQ,eAC7CK,EAAIU,UAAU,CAACC,WAAW,CAACX,GAC3B,IAAI,CAACvB,KAAK,CAACkB,EAAM,CAAG,IACxB,CACJ,EACAZ,EAAOG,KAAK,CAAG,SAASA,EACpB,IAAI,CAACR,SAAS,EAAG,EACjB,IAAI,CAACC,WAAW,CAAG,EACG,aAAlB,OAAOrD,QACP,IAAI,CAACmD,KAAK,CAAC7F,OAAO,CAAC,SAASoH,CAAG,EAC3B,OAAOA,GAAOA,EAAIU,UAAU,CAACC,WAAW,CAACX,EAC7C,GACA,IAAI,CAACvB,KAAK,CAAG,EAAE,EAGf,IAAI,CAACF,YAAY,CAACiB,QAAQ,CAAG,EAAE,EAGvCT,EAAOS,QAAQ,CAAG,SAASA,EACvB,IAAIH,EAAQ,IAAI,OAChB,aAAI,OAAO/D,OACA,IAAI,CAACiD,YAAY,CAACiB,QAAQ,CAE9B,IAAI,CAACf,KAAK,CAACmC,MAAM,CAAC,SAASC,CAAK,CAAEb,CAAG,EAQxC,OAPIA,EACAa,EAAQA,CADH,CACSlE,MAAM,CAAC1B,MAAM2C,SAAS,CAACkD,GAAG,CAAClG,IAAI,CAACyE,EAAMU,cAAc,CAACC,GAAKR,QAAQ,CAAE,SAASE,CAAI,EAC3F,OAAOA,EAAKE,OAAO,GAAKP,EAAMf,uBAAuB,CAAG,KAAOoB,CACnE,IAEAmB,EAAMhB,IAAI,CAAC,MAERgB,CACX,EAAG,EAAE,CACT,EACA9B,EAAOO,YAAY,CAAG,SAAsBpB,CAAI,CAAE6C,CAAS,CAAEC,CAAa,EAClED,GACA1C,EAAYX,EAASqD,GAAY,CADtB,wDAGf,IAAIf,EAAMhH,SAASE,aAAa,CAAC,SAC7B,IAAI,CAAC4F,MAAM,EAAEkB,EAAIlI,YAAY,CAAC,QAAS,IAAI,CAACgH,MAAM,EACtDkB,EAAI7G,IAAI,CAAG,WACX6G,EAAIlI,YAAY,CAAC,QAAUoG,EAAM,IAC7B6C,GACAf,EAAI1G,MADO,KACI,CAACN,SAASiI,cAAc,CAACF,IAE5C,IAAIhI,EAAOC,SAASD,IAAI,EAAIC,SAASkI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAMpE,OALIF,EACAjI,EAAKoI,WADU,CACE,CAACnB,EAAKgB,GAEvBjI,EAAKO,WAAW,CAAC0G,GAEdA,CACX,EAnND,SAASoB,CAAwB,CAAE7J,CAAK,EACvC,IAAI,IAAI2I,EAAI,EAAGA,EAAI3I,EAAM6I,MAAM,CAAEF,IAAI,CACjC,IAAImB,EAAa9J,CAAK,CAAC2I,EAAE,CACzBmB,EAAWC,UAAU,CAAGD,EAAWC,UAAU,GAAI,EACjDD,EAAWE,YAAY,EAAG,EACtB,UAAWF,IAAYA,EAAWG,QAAQ,EAAG,GACjD/J,OAAOyF,cAAc,CAACuE,EAAQJ,EAAWK,GAAG,CAAEL,EAClD,CACJ,EAEsCM,EAAY/D,SAAS,CA0M9B,CACrB,CACI8D,IAAK,SACLvH,IAAK,SAASA,EACV,OAAO,IAAI,CAACwE,WAAW,CAE/B,EACH,EACMb,CACX,IACA,SAASO,EAAYuD,CAAS,CAAEC,CAAO,EACnC,GAAI,CAACD,EACD,MAAM,GADM,GACI,eAAiBC,EAAU,IAEnD,CAWA,IAAIC,EATJ,SAASC,CAAQ,CASAA,CAPb,IADA,IAAIC,EAAS,KAAM9B,EAAI+B,EAAI7B,MAAM,CAC3BF,EAAE,CACJ8B,EAAkB,GAATA,EAAcC,EAAIC,UAAU,CAAC,EAAEhC,GAIiB,OAAO8B,IAAW,CACnF,EAMIG,EAAQ,CAAC,EAKT,SAASC,EAAUC,CAAM,CAAE9K,CAAK,EAChC,GAAI,CAACA,EACD,KADQ,CACD,OAAS8K,EAEpB,IAAIC,EAAgBvK,OAAOR,GACvBmK,EAAMW,EAASC,EAInB,OAHKH,CAAK,CAACT,EAAI,EAAE,CACbS,CAAK,CAACT,EAAI,CAAG,OAASI,EAAWO,EAAS,IAAMC,EAAAA,EAE7CH,CAAK,CAACT,EAAI,CAMjB,SAASa,EAAgB9I,CAAE,CAAE+I,CAAG,EAKV,aAAa,OAAxBlH,QACPkH,GA5BG9C,EAAK+C,CA4BFC,MA5BS,CAAC,YAAa,WA4BdF,EAEnB,IAAIG,EAAQlJ,EAAK+I,EAIjB,OAHKL,CAAK,CAACQ,EAAM,EAAE,CACfR,CAAK,CAACQ,EAAM,CAAGH,EAAIC,OAAO,CATC,gCAS0BhJ,EAAAA,EAElD0I,CAAK,CAACQ,EAAM,CAmBvB,IAAIC,EAAmC,WACnC,QADqB,CACZA,EAAmB5E,CAAK,EAC7B,IAAID,CAFwB,CAER,KAAK,IAAfC,EAAmB,CAAC,EAAIA,EAAO6E,EAAc9E,EAAI+E,UAAU,CAAEA,EAA6B,KAAK,IAArBD,EAAyB,KAAOA,EAAa1E,EAAoBJ,EAAIK,gBAAgB,CAAEA,EAAyC,KAAK,IAAI,GAAQD,EACrO,IAAI,CAAC4E,MAAM,CAAGD,GAAc,IAAIhF,EAAW,CACvCI,KAAM,aACNE,iBAAkBA,CACtB,GACA,IAAI,CAAC2E,MAAM,CAAC5D,MAAM,GACd2D,GAA0C,WAAW,OAAhC1E,IACrB,IAAI,CAAC2E,MAAM,CAAC/D,mBAAmB,CAACZ,GAChC,IAAI,CAACD,iBAAiB,CAAG,IAAI,CAAC4E,MAAM,CAAC3D,kBAAkB,IAE3D,IAAI,CAAC4D,WAAW,MAAGxE,EACnB,IAAI,CAACyE,QAAQ,CAAG,CAAC,EACjB,IAAI,CAACC,gBAAgB,CAAG,CAAC,CAC7B,CACA,IAAInE,EAAS6D,EAAmBhF,SAAS,CAoHzC,OAnHAmB,EAAO7E,GAAG,CAAG,SAASA,CAAS,EAC3B,IAAImF,EAAQ,IAAI,MACZb,IAAc,IAAI,CAACL,iBAAiB,EAAE,CACtC,IAAI,CAACA,iBAAiB,CAAGlD,MAAMC,OAAO,CAAC3D,EAAMsC,QAAQ,EACrD,IAAI,CAACkJ,MAAM,CAAC/D,mBAAmB,CAAC,IAAI,CAACb,iBAAiB,EACtD,IAAI,CAACA,iBAAiB,CAAG,IAAI,CAAC4E,MAAM,CAAC3D,kBAAkB,IAErC,aAAlB,EAAiC,KAA1B9D,QAA2B,IAAI,CAAC0H,WAAW,EAAE,CACpD,IAAI,CAACA,WAAW,CAAG,IAAI,CAACG,gBAAgB,GACxC,IAAI,CAACD,gBAAgB,CAAGzL,OAAO2L,IAAI,CAAC,IAAI,CAACJ,WAAW,EAAEpC,MAAM,CAAC,SAASyC,CAAG,CAAExL,CAAO,EAE9E,OADAwL,CAAG,CAACxL,EAAQ,CAAG,EACRwL,CACX,EAAG,CAAC,IAER,IAAItF,EAAM,IAAI,CAACuF,aAAa,CAAC/L,GAAQgM,EAAUxF,EAAIwF,OAAO,CAAE1C,EAAQ9C,EAAI8C,KAAK,CAE7E,GAAI0C,KAAW,IAAI,CAACL,gBAAgB,CAAE,CAClC,IAAI,CAACA,gBAAgB,CAACK,EAAQ,EAAI,EAClC,MACJ,CACA,IAAIC,EAAU3C,EAAMC,GAAG,CAAC,SAASpB,CAAI,EACjC,OAAOL,EAAM0D,MAAM,CAACtD,UAAU,CAACC,EACnC,GAAE,MACK,CAAC,SAASC,CAAK,EAClB,OAAiB,CAFQ,IAElBA,CACX,GACA,IAAI,CAACsD,QAAQ,CAACM,EAAQ,CAAGC,EACzB,IAAI,CAACN,gBAAgB,CAACK,EAAQ,CAAG,CACrC,EACAxE,EAAO0E,MAAM,CAAG,SAASA,CAAY,EACjC,IAAIpE,EAAQ,IAAI,CACZkE,EAAU,IAAI,CAACD,aAAa,CAAC/L,GAAOgM,OAAO,CAG/C,GAFAG,SAqFCA,CAAmB,CAAE7B,CAAO,EACjC,GAAI,CAACD,EACD,MAAM,GADM,GACI,uBAAyBC,EAAU,IAE3D,EAzFkB0B,KAAW,IAAI,CAACL,gBAAgB,CAAE,aAAeK,EAAU,eACrE,IAAI,CAACL,gBAAgB,CAACK,EAAQ,EAAI,EAC9B,IAAI,CAACL,gBAAgB,CAACK,EAAQ,CAAG,EAAG,CACpC,IAAII,EAAgB,IAAI,CAACX,WAAW,EAAI,IAAI,CAACA,WAAW,CAACO,EAAQ,CAC7DI,GACAA,EAAcjD,UADC,CACUC,WAAW,CAACgD,GACrC,OAAO,IAAI,CAACX,WAAW,CAACO,EAAQ,GAEhC,IAAI,CAACN,QAAQ,CAACM,EAAQ,CAAC3K,OAAO,CAAC,SAAS+G,CAAK,EACzC,OAAON,EAAM0D,MAAM,CAACjD,UAAU,CAACH,EACnC,GACA,OAAO,IAAI,CAACsD,QAAQ,CAACM,EAAQ,EAEjC,OAAO,IAAI,CAACL,gBAAgB,CAACK,EAAQ,CAE7C,EACAxE,EAAO6E,MAAM,CAAG,SAASA,CAAY,CAAEC,CAAS,EAC5C,IAAI,CAAC3J,GAAG,CAAC2J,GACT,IAAI,CAACJ,MAAM,CAAClM,EAChB,EACAwH,EAAOG,KAAK,CAAG,SAASA,EACpB,IAAI,CAAC6D,MAAM,CAAC7D,KAAK,GACjB,IAAI,CAAC6D,MAAM,CAAC5D,MAAM,GAClB,IAAI,CAAC6D,WAAW,MAAGxE,EACnB,IAAI,CAACyE,QAAQ,CAAG,CAAC,EACjB,IAAI,CAACC,gBAAgB,CAAG,CAAC,CAC7B,EACAnE,EAAOS,QAAQ,CAAG,SAASA,EACvB,IAAIH,EAAQ,IAAI,CACZyE,EAAa,IAAI,CAACd,WAAW,CAAGvL,OAAO2L,IAAI,CAAC,IAAI,CAACJ,WAAW,EAAElC,GAAG,CAAC,SAASyC,CAAO,EAClF,MAAO,CACHA,EACAlE,EAAM2D,WAAW,CAACO,EAAQ,CAC7B,GACA,EAAE,CACH/D,EAAW,IAAI,CAACuD,MAAM,CAACvD,QAAQ,GACnC,OAAOsE,EAAWnH,MAAM,CAAClF,OAAO2L,IAAI,CAAC,IAAI,CAACH,QAAQ,EAAEnC,GAAG,CAAC,SAASyC,CAAO,EACpE,MAAO,CACHA,EACAlE,EAAM4D,QAAQ,CAACM,EAAQ,CAACzC,GAAG,CAAC,SAASnB,CAAK,EACtC,OAAOH,CAAQ,CAACG,EAAM,CAACC,OAC3B,GAAGzE,IAAI,CAACkE,EAAMlB,iBAAiB,CAAG,GAAK,MAC1C,GACH,MACK,CAAC,SAASuB,CAAI,EACjB,MAFuB,CAEhBqE,CAAQrE,CAAI,CAAC,EAAE,GAE9B,EACAX,EAAOiF,MAAM,CAAG,SAASA,CAAc,UACnC,OAlHiBxE,EAkHM,IAAI,CAACA,CAlHH,OAkHW,GAjHxB,KAAK,KADUyE,EAkHaA,KAlHN,EACJ,EAAC,EAC5BzE,EAASsB,GAAG,CAAC,SAASoD,CAAI,EAC7B,IAAIzK,EAAKyK,CAAI,CAAC,EAAE,CACZ1B,EAAM0B,CAAI,CAAC,EAAE,CACjB,OAAO,EAA6B,OAAU,CAAChL,CAA7B,GAAiB,SAAyB,CAAC,QAAS,CAClEO,GAAI,KAAOA,EAEXiI,IAAK,KAAOjI,EACZyC,MAAO+H,EAAQ/H,KAAK,CAAG+H,EAAQ/H,KAAK,MAAGsC,EACvC5E,wBAAyB,CACrBmB,OAAQyH,CACZ,CACJ,EACJ,EAqGA,EACAzD,EAAOuE,aAAa,CAAG,SAASA,CAAmB,EAC/C,IAAId,EAAMjL,EAAMsC,QAAQ,CAAEsK,EAAU5M,EAAM4M,OAAO,CAAE1K,EAAKlC,EAAMkC,EAAE,CAChE,GAAI0K,EAAS,CACT,IAAIZ,EAAUnB,EAAU3I,EAAI0K,GAC5B,MAAO,CACHZ,QAASA,EACT1C,MAAO5F,MAAMC,OAAO,CAACsH,GAAOA,EAAI1B,GAAG,CAAC,SAASpB,CAAI,EAC7C,OAAO6C,EAAgBgB,EAAS7D,EACpC,GAAK,CACD6C,EAAgBgB,EAASf,GAC5B,CAET,CACA,MAAO,CACHe,QAASnB,EAAU3I,GACnBoH,MAAO5F,MAAMC,OAAO,CAACsH,GAAOA,EAAM,CAC9BA,EACH,CAET,EAKEzD,EAAOoE,gBAAgB,CAAG,SAASA,EAEjC,OADelI,MAAM2C,SAAS,CAACwG,KAAK,CAACxJ,IAAI,CAAC5B,SAAS0C,gBAAgB,CAAC,mBACpDkF,MAAM,CAAC,SAASyC,CAAG,CAAEgB,CAAO,EAGxC,OADAhB,CAAG,CAAC5J,EADaA,EAAE,CAAC2K,KAAK,CAAC,GACnB,CAAGC,EACHhB,CACX,EAAG,CAAC,EACR,EACOT,CACX,IAMI0B,EAAkClH,EAAMmH,aAAa,CAAC,EAAlC,GACxBD,GAAkBE,KADiB,MACN,CAAG,oBAoBhC,IAAIC,EAAqBpH,EAAe,OAAU,CAACoH,IAAZ,cAA8B,EAAIpH,EAAe,OAAU,CAACqH,IAAZ,WAA2B,CAC9GC,EAAoC,aAAlB,CAAgCC,MAAzBtJ,OAnBlB,IAAIsH,OAmB+DpE,EAC9E,SAASqG,EAAStN,CAAK,EACnB,IAAIuN,EAAWH,GARRvH,EAAMjB,UAAU,CAACmI,EAQSK,QAE5BG,IAGiB,MAL6BC,OAK/C,OAAOzJ,OACPwJ,EAAS5K,GAAG,CAAC3C,GAGjBkN,EAAmB,WAEf,OADAK,EAAS5K,GAAG,CAAC3C,GACN,WACHuN,EAASrB,MAAM,CAAClM,EACpB,CAEJ,EAAG,CACCA,EAAMkC,EAAE,CACR1B,OAAOR,EAAM4M,OAAO,EACvB,GAfU,IAiBf,CACAU,EAASV,OAAO,CAAG,SAASa,CAAI,EAC5B,OAAOA,EAAKlE,GAAG,CAAC,SAASmE,CAAO,EAG5B,OAAO7C,EAFM6C,CAAO,CAAC,EAAE,CACXA,CAAO,CAAC,CACH5C,CADK,CAE1B,GAAGlH,GAD0B5D,CACtB,CAAC,IACZ,EAIA2N,EAAAA,KAAa,CAAGL,2GCjehB,SAAS,EAAiE,GAAc,IAKhF,EAAgB,EAAO,qBACvB,CAAC,EAAyB,EAAqB,CAAI,OAAkB,CAAC,GAUtE,CAAC,EAAwB,EAAoB,CAAI,CAVF,CAWnD,EAXuF,CAYrF,YAF+C,EAEhC,CAAE,QAAS,IAAK,EAAG,QAAS,IAAI,GAAM,CAAF,EAGjD,EAA2E,IAC/E,GAAM,OAAE,WAAO,EAAS,CAAI,EACtB,EAAM,QAAM,CAA0B,IAAI,EAC1C,EAAU,QAAM,CAAgC,IAAI,IAAI,CAAC,OAAE,CACjE,MACE,UAAC,SAAuB,UAAc,EAAkB,cAAe,WACpE,EACH,CAEJ,EAEA,EAAmB,YAAc,EAMjC,IAAM,EAAuB,EAAO,iBAE9B,EAAiB,YAAM,CAC3B,CAAC,EAAO,KACN,GAAM,OAAE,WAAO,EAAS,CAAI,EACtB,EAAU,EAAqB,EAAsB,GACrD,EAD0D,CAC3C,MAAe,CAAC,EAAc,EAAQ,aAAa,EACxE,MAAO,UAAC,IAAI,CAAJ,CAAK,IAAK,WAAe,EAAS,CAC5C,GAGF,EAAe,YAAc,EAM7B,IAAM,EAAiB,EAAO,qBACxB,EAAiB,6BAOjB,EAAqB,YAAM,CAC/B,CAAC,EAAO,KACN,GAAM,OAAE,WAAO,EAAU,GAAG,EAAS,CAAI,EACnC,EAAM,EADyB,MACnB,CAAoB,IAAI,EACpC,EAAe,OAAe,CAAC,EAAc,GAAG,EACtC,EAAqB,EAAgB,GAOrD,EAP0D,KAE1D,WAAM,CAAU,KACd,EAAQ,QAAQ,IAAI,EAAK,KAAE,EAAK,GAAI,EAAkC,EAC/D,IAAM,KAAK,EAAQ,QAAQ,OAAO,GAAG,EAI5C,UAAC,IAAI,CAAJ,CAAW,CAAC,EAAc,CAAG,GAAM,IAAK,IAAd,OACxB,EACH,CAEJ,UAGF,EAAmB,YAAc,EAuB1B,CACL,CAAE,SAAU,EAAoB,KAAM,EAAgB,SAAU,CAAmB,EAlBrF,SAAS,CAAc,EACrB,IAAM,EAAU,EAAqB,EAAO,qBAAsB,GAalE,EAbuE,KAahE,EAXU,WAAM,CAAY,KACjC,IAAM,EAAiB,EAAQ,cAAc,QAC7C,GAAI,CAAC,EAAgB,MAAO,CAAC,EAC7B,IAAM,EAAe,MAAM,KAAK,EAAe,iBAAiB,IAAkB,EAAG,CAAC,IAAlB,EAAc,OAKlF,KALkF,EACpE,MAAM,KAAK,EAAQ,QAAQ,OAAO,CAAC,EACtB,KACzB,CAAC,EAAG,IAAM,EAAa,QAAQ,EAAE,IAAI,OAAQ,EAAI,EAAa,QAAQ,EAAE,IAAI,OAAQ,EAGxF,EAAG,CAAC,EAAQ,cAAe,EAAQ,OAAO,CAAC,CAG7C,EAKE,EACF,qKC9GWM,kBAAkB,mBAAlBA,GAhBA5J,mBAAmB,mBAAnBA,KAAN,IAAMA,EACM,aAAhB,OAAO6J,MACNA,KAAK7J,mBAAmB,EACxB6J,KAAK7J,mBAAmB,CAAC8J,IAAI,CAAC/J,SAChC,SAAUgK,CAAuB,EAC/B,IAAIC,EAAQC,KAAKC,GAAG,GACpB,OAAOL,KAAKM,UAAU,CAAC,WACrBJ,EAAG,CACDK,YAAY,EACZC,cAAe,WACb,OAAOC,KAAKC,GAAG,CAAC,EAAG,IAAMN,CAAAA,IAAKC,GAAG,GAAKF,CAAAA,CAAAA,CAAI,CAE9C,EACF,EAAG,EACL,EAEWJ,EACM,aAAhB,OAAOC,MACNA,KAAKD,kBAAkB,EACvBC,KAAKD,kBAAkB,CAACE,IAAI,CAAC/J,SAC/B,SAAU7B,CAAU,EAClB,OAAOsM,aAAatM,EACtB,iSCnBF,MAAuB,eAAmB,SAK1C,cACA,MAAoB,YAAgB,IACpC,kBACA","sources":["webpack://_N_E/./node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","webpack://_N_E/./node_modules/styled-jsx/style.js","webpack://_N_E/../../../src/icons/chevron-right.ts","webpack://_N_E/../../../src/icons/phone.ts","webpack://_N_E/../src/collapsible.tsx","webpack://_N_E/../src/accordion.tsx","webpack://_N_E/../../../src/icons/calendar-clock.ts","webpack://_N_E/./node_modules/next/font/google/target.css","webpack://_N_E/../client/set-attributes-from-props.ts","webpack://_N_E/./node_modules/@radix-ui/react-use-previous/dist/index.mjs","webpack://_N_E/../src/navigation-menu.tsx","webpack://_N_E/../../../src/icons/sparkles.ts","webpack://_N_E/./node_modules/next/dist/api/script.js","webpack://_N_E/../../../src/icons/chevron-down.ts","webpack://_N_E/../client/script.tsx","webpack://_N_E/../../../src/icons/menu.ts","webpack://_N_E/./node_modules/styled-jsx/dist/index/index.js","webpack://_N_E/../src/collection.tsx","webpack://_N_E/../client/request-idle-callback.ts","webpack://_N_E/./node_modules/@radix-ui/react-direction/dist/index.mjs"],"sourcesContent":["// packages/react/visually-hidden/src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: {\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\",\n ...props.style\n }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","module.exports = require('./dist/index').style\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ChevronRight\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtOSAxOCA2LTYtNi02IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/chevron-right\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronRight = createLucideIcon('ChevronRight', [\n ['path', { d: 'm9 18 6-6-6-6', key: 'mthhwq' }],\n]);\n\nexport default ChevronRight;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Phone\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTYuOTJ2M2EyIDIgMCAwIDEtMi4xOCAyIDE5Ljc5IDE5Ljc5IDAgMCAxLTguNjMtMy4wNyAxOS41IDE5LjUgMCAwIDEtNi02IDE5Ljc5IDE5Ljc5IDAgMCAxLTMuMDctOC42N0EyIDIgMCAwIDEgNC4xMSAyaDNhMiAyIDAgMCAxIDIgMS43MiAxMi44NCAxMi44NCAwIDAgMCAuNyAyLjgxIDIgMiAwIDAgMS0uNDUgMi4xMUw4LjA5IDkuOTFhMTYgMTYgMCAwIDAgNiA2bDEuMjctMS4yN2EyIDIgMCAwIDEgMi4xMS0uNDUgMTIuODQgMTIuODQgMCAwIDAgMi44MS43QTIgMiAwIDAgMSAyMiAxNi45MnoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/phone\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Phone = createLucideIcon('Phone', [\n [\n 'path',\n {\n d: 'M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z',\n key: 'foiqr5',\n },\n ],\n]);\n\nexport default Phone;\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { Presence } from '@radix-ui/react-presence';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Collapsible\n * -----------------------------------------------------------------------------------------------*/\n\nconst COLLAPSIBLE_NAME = 'Collapsible';\n\ntype ScopedProps

= P & { __scopeCollapsible?: Scope };\nconst [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\n\ntype CollapsibleContextValue = {\n contentId: string;\n disabled?: boolean;\n open: boolean;\n onOpenToggle(): void;\n};\n\nconst [CollapsibleProvider, useCollapsibleContext] =\n createCollapsibleContext(COLLAPSIBLE_NAME);\n\ntype CollapsibleElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface CollapsibleProps extends PrimitiveDivProps {\n defaultOpen?: boolean;\n open?: boolean;\n disabled?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst Collapsible = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n setOpen((prevOpen) => !prevOpen), [setOpen])}\n >\n \n \n );\n }\n);\n\nCollapsible.displayName = COLLAPSIBLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'CollapsibleTrigger';\n\ntype CollapsibleTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface CollapsibleTriggerProps extends PrimitiveButtonProps {}\n\nconst CollapsibleTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return (\n \n );\n }\n);\n\nCollapsibleTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'CollapsibleContent';\n\ntype CollapsibleContentElement = CollapsibleContentImplElement;\ninterface CollapsibleContentProps extends Omit {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst CollapsibleContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return (\n \n {({ present }) => (\n \n )}\n \n );\n }\n);\n\nCollapsibleContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype CollapsibleContentImplElement = React.ElementRef;\ninterface CollapsibleContentImplProps extends PrimitiveDivProps {\n present: boolean;\n}\n\nconst CollapsibleContentImpl = React.forwardRef<\n CollapsibleContentImplElement,\n CollapsibleContentImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef(0);\n const height = heightRef.current;\n const widthRef = React.useRef(0);\n const width = widthRef.current;\n // when opening we want it to immediately open to retrieve dimensions\n // when closing we delay `present` to retrieve dimensions before closing\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef>(undefined);\n\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => (isMountAnimationPreventedRef.current = false));\n return () => cancelAnimationFrame(rAF);\n }, []);\n\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName,\n };\n // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s';\n node.style.animationName = 'none';\n\n // get width and height from full dimensions\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n\n // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration;\n node.style.animationName = originalStylesRef.current.animationName;\n }\n\n setIsPresent(present);\n }\n /**\n * depends on `context.open` because it will change to `false`\n * when a close is triggered but `present` will be `false` on\n * animation end (so when close finishes). This allows us to\n * retrieve the dimensions *before* closing.\n */\n }, [context.open, present]);\n\n return (\n

= P & { __scopeAccordion?: Scope };\nconst [createAccordionContext, createAccordionScope] = createContextScope(ACCORDION_NAME, [\n createCollectionScope,\n createCollapsibleScope,\n]);\nconst useCollapsibleScope = createCollapsibleScope();\n\ntype AccordionElement = AccordionImplMultipleElement | AccordionImplSingleElement;\ninterface AccordionSingleProps extends AccordionImplSingleProps {\n type: 'single';\n}\ninterface AccordionMultipleProps extends AccordionImplMultipleProps {\n type: 'multiple';\n}\n\nconst Accordion = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { type, ...accordionProps } = props;\n const singleProps = accordionProps as AccordionImplSingleProps;\n const multipleProps = accordionProps as AccordionImplMultipleProps;\n return (\n \n {type === 'multiple' ? (\n \n ) : (\n \n )}\n \n );\n }\n);\n\nAccordion.displayName = ACCORDION_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionValueContextValue = {\n value: string[];\n onItemOpen(value: string): void;\n onItemClose(value: string): void;\n};\n\nconst [AccordionValueProvider, useAccordionValueContext] =\n createAccordionContext(ACCORDION_NAME);\n\nconst [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccordionContext(\n ACCORDION_NAME,\n { collapsible: false }\n);\n\ntype AccordionImplSingleElement = AccordionImplElement;\ninterface AccordionImplSingleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion item whose content is expanded.\n */\n value?: string;\n /**\n * The value of the item whose content is expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string;\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string): void;\n /**\n * Whether an accordion item can be collapsed after it has been opened.\n * @default false\n */\n collapsible?: boolean;\n}\n\nconst AccordionImplSingle = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n collapsible = false,\n ...accordionSingleProps\n } = props;\n\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n return (\n collapsible && setValue(''), [collapsible, setValue])}\n >\n \n \n \n \n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplMultipleElement = AccordionImplElement;\ninterface AccordionImplMultipleProps extends AccordionImplProps {\n /**\n * The controlled stateful value of the accordion items whose contents are expanded.\n */\n value?: string[];\n /**\n * The value of the items whose contents are expanded when the accordion is initially rendered. Use\n * `defaultValue` if you do not need to control the state of an accordion.\n */\n defaultValue?: string[];\n /**\n * The callback that fires when the state of the accordion changes.\n */\n onValueChange?(value: string[]): void;\n}\n\nconst AccordionImplMultiple = React.forwardRef<\n AccordionImplMultipleElement,\n AccordionImplMultipleProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {},\n ...accordionMultipleProps\n } = props;\n\n const [value = [], setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue,\n onChange: onValueChange,\n });\n\n const handleItemOpen = React.useCallback(\n (itemValue: string) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n\n const handleItemClose = React.useCallback(\n (itemValue: string) =>\n setValue((prevValue = []) => prevValue.filter((value) => value !== itemValue)),\n [setValue]\n );\n\n return (\n \n \n \n \n \n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype AccordionImplContextValue = {\n disabled?: boolean;\n direction: AccordionImplProps['dir'];\n orientation: AccordionImplProps['orientation'];\n};\n\nconst [AccordionImplProvider, useAccordionContext] =\n createAccordionContext(ACCORDION_NAME);\n\ntype AccordionImplElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface AccordionImplProps extends PrimitiveDivProps {\n /**\n * Whether or not an accordion is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * The layout in which the Accordion operates.\n * @default vertical\n */\n orientation?: React.AriaAttributes['aria-orientation'];\n /**\n * The language read direction.\n */\n dir?: Direction;\n}\n\nconst AccordionImpl = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, disabled, dir, orientation = 'vertical', ...accordionProps } = props;\n const accordionRef = React.useRef(null);\n const composedRefs = useComposedRefs(accordionRef, forwardedRef);\n const getItems = useCollection(__scopeAccordion);\n const direction = useDirection(dir);\n const isDirectionLTR = direction === 'ltr';\n\n const handleKeyDown = composeEventHandlers(props.onKeyDown, (event) => {\n if (!ACCORDION_KEYS.includes(event.key)) return;\n const target = event.target as HTMLElement;\n const triggerCollection = getItems().filter((item) => !item.ref.current?.disabled);\n const triggerIndex = triggerCollection.findIndex((item) => item.ref.current === target);\n const triggerCount = triggerCollection.length;\n\n if (triggerIndex === -1) return;\n\n // Prevents page scroll while user is navigating\n event.preventDefault();\n\n let nextIndex = triggerIndex;\n const homeIndex = 0;\n const endIndex = triggerCount - 1;\n\n const moveNext = () => {\n nextIndex = triggerIndex + 1;\n if (nextIndex > endIndex) {\n nextIndex = homeIndex;\n }\n };\n\n const movePrev = () => {\n nextIndex = triggerIndex - 1;\n if (nextIndex < homeIndex) {\n nextIndex = endIndex;\n }\n };\n\n switch (event.key) {\n case 'Home':\n nextIndex = homeIndex;\n break;\n case 'End':\n nextIndex = endIndex;\n break;\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n moveNext();\n } else {\n movePrev();\n }\n }\n break;\n case 'ArrowDown':\n if (orientation === 'vertical') {\n moveNext();\n }\n break;\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n if (isDirectionLTR) {\n movePrev();\n } else {\n moveNext();\n }\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical') {\n movePrev();\n }\n break;\n }\n\n const clampedIndex = nextIndex % triggerCount;\n triggerCollection[clampedIndex].ref.current?.focus();\n });\n\n return (\n \n \n \n \n \n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'AccordionItem';\n\ntype AccordionItemContextValue = { open?: boolean; disabled?: boolean; triggerId: string };\nconst [AccordionItemProvider, useAccordionItemContext] =\n createAccordionContext(ITEM_NAME);\n\ntype AccordionItemElement = React.ElementRef;\ntype CollapsibleProps = React.ComponentPropsWithoutRef;\ninterface AccordionItemProps\n extends Omit {\n /**\n * Whether or not an accordion item is disabled from user interaction.\n *\n * @defaultValue false\n */\n disabled?: boolean;\n /**\n * A string value for the accordion item. All items within an accordion should use a unique value.\n */\n value: string;\n}\n\n/**\n * `AccordionItem` contains all of the parts of a collapsible section inside of an `Accordion`.\n */\nconst AccordionItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, value, ...accordionItemProps } = props;\n const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);\n const valueContext = useAccordionValueContext(ITEM_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n const triggerId = useId();\n const open = (value && valueContext.value.includes(value)) || false;\n const disabled = accordionContext.disabled || props.disabled;\n\n return (\n \n {\n if (open) {\n valueContext.onItemOpen(value);\n } else {\n valueContext.onItemClose(value);\n }\n }}\n />\n \n );\n }\n);\n\nAccordionItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst HEADER_NAME = 'AccordionHeader';\n\ntype AccordionHeaderElement = React.ElementRef;\ntype PrimitiveHeading3Props = React.ComponentPropsWithoutRef;\ninterface AccordionHeaderProps extends PrimitiveHeading3Props {}\n\n/**\n * `AccordionHeader` contains the content for the parts of an `AccordionItem` that will be visible\n * whether or not its content is collapsed.\n */\nconst AccordionHeader = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, ...headerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(HEADER_NAME, __scopeAccordion);\n return (\n \n );\n }\n);\n\nAccordionHeader.displayName = HEADER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'AccordionTrigger';\n\ntype AccordionTriggerElement = React.ElementRef;\ntype CollapsibleTriggerProps = React.ComponentPropsWithoutRef;\ninterface AccordionTriggerProps extends CollapsibleTriggerProps {}\n\n/**\n * `AccordionTrigger` is the trigger that toggles the collapsed state of an `AccordionItem`. It\n * should always be nested inside of an `AccordionHeader`.\n */\nconst AccordionTrigger = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, ...triggerProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleContext = useAccordionCollapsibleContext(TRIGGER_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n \n \n \n );\n }\n);\n\nAccordionTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * AccordionContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'AccordionContent';\n\ntype AccordionContentElement = React.ElementRef;\ntype CollapsibleContentProps = React.ComponentPropsWithoutRef;\ninterface AccordionContentProps extends CollapsibleContentProps {}\n\n/**\n * `AccordionContent` contains the collapsible content for an `AccordionItem`.\n */\nconst AccordionContent = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeAccordion, ...contentProps } = props;\n const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);\n const itemContext = useAccordionItemContext(CONTENT_NAME, __scopeAccordion);\n const collapsibleScope = useCollapsibleScope(__scopeAccordion);\n return (\n \n );\n }\n);\n\nAccordionContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Accordion;\nconst Item = AccordionItem;\nconst Header = AccordionHeader;\nconst Trigger = AccordionTrigger;\nconst Content = AccordionContent;\n\nexport {\n createAccordionScope,\n //\n Accordion,\n AccordionItem,\n AccordionHeader,\n AccordionTrigger,\n AccordionContent,\n //\n Root,\n Item,\n Header,\n Trigger,\n Content,\n};\nexport type {\n AccordionSingleProps,\n AccordionMultipleProps,\n AccordionItemProps,\n AccordionHeaderProps,\n AccordionTriggerProps,\n AccordionContentProps,\n};\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name CalendarClock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgNy41VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgzLjUiIC8+CiAgPHBhdGggZD0iTTE2IDJ2NCIgLz4KICA8cGF0aCBkPSJNOCAydjQiIC8+CiAgPHBhdGggZD0iTTMgMTBoNSIgLz4KICA8cGF0aCBkPSJNMTcuNSAxNy41IDE2IDE2LjNWMTQiIC8+CiAgPGNpcmNsZSBjeD0iMTYiIGN5PSIxNiIgcj0iNiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/calendar-clock\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CalendarClock = createLucideIcon('CalendarClock', [\n ['path', { d: 'M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5', key: '1osxxc' }],\n ['path', { d: 'M16 2v4', key: '4m81vk' }],\n ['path', { d: 'M8 2v4', key: '1cmpym' }],\n ['path', { d: 'M3 10h5', key: 'r794hk' }],\n ['path', { d: 'M17.5 17.5 16 16.3V14', key: 'akvzfd' }],\n ['circle', { cx: '16', cy: '16', r: '6', key: 'qoo3c4' }],\n]);\n\nexport default CalendarClock;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"style\":{\"fontFamily\":\"'Poppins', 'Poppins Fallback'\",\"fontStyle\":\"normal\"},\"className\":\"__className_969be1\"};","const DOMAttributeNames: Record = {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv',\n noModule: 'noModule',\n}\n\nconst ignoreProps = [\n 'onLoad',\n 'onReady',\n 'dangerouslySetInnerHTML',\n 'children',\n 'onError',\n 'strategy',\n 'stylesheets',\n]\n\nfunction isBooleanScriptAttribute(\n attr: string\n): attr is 'async' | 'defer' | 'noModule' {\n return ['async', 'defer', 'noModule'].includes(attr)\n}\n\nexport function setAttributesFromProps(el: HTMLElement, props: object) {\n for (const [p, value] of Object.entries(props)) {\n if (!props.hasOwnProperty(p)) continue\n if (ignoreProps.includes(p)) continue\n\n // we don't render undefined props to the DOM\n if (value === undefined) {\n continue\n }\n\n const attr = DOMAttributeNames[p] || p.toLowerCase()\n\n if (el.tagName === 'SCRIPT' && isBooleanScriptAttribute(attr)) {\n // Correctly assign boolean script attributes\n // https://github.com/vercel/next.js/pull/20748\n ;(el as HTMLScriptElement)[attr] = !!value\n } else {\n el.setAttribute(attr, String(value))\n }\n\n // Remove falsy non-zero boolean attributes so they are correctly interpreted\n // (e.g. if we set them to false, this coerces to the string \"false\", which the browser interprets as true)\n if (\n value === false ||\n (el.tagName === 'SCRIPT' &&\n isBooleanScriptAttribute(attr) &&\n (!value || value === 'false'))\n ) {\n // Call setAttribute before, as we need to set and unset the attribute to override force async:\n // https://html.spec.whatwg.org/multipage/scripting.html#script-force-async\n el.setAttribute(attr, '')\n el.removeAttribute(attr)\n }\n }\n}\n","// packages/react/use-previous/src/usePrevious.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","/// \n\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { Primitive, dispatchDiscreteCustomEvent } from '@radix-ui/react-primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { composeRefs, useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useDirection } from '@radix-ui/react-direction';\nimport { Presence } from '@radix-ui/react-presence';\nimport { useId } from '@radix-ui/react-id';\nimport { createCollection } from '@radix-ui/react-collection';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useCallbackRef } from '@radix-ui/react-use-callback-ref';\nimport * as VisuallyHiddenPrimitive from '@radix-ui/react-visually-hidden';\n\nimport type { Scope } from '@radix-ui/react-context';\n\ntype Orientation = 'vertical' | 'horizontal';\ntype Direction = 'ltr' | 'rtl';\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenu\n * -----------------------------------------------------------------------------------------------*/\n\nconst NAVIGATION_MENU_NAME = 'NavigationMenu';\n\nconst [Collection, useCollection, createCollectionScope] = createCollection<\n NavigationMenuTriggerElement,\n { value: string }\n>(NAVIGATION_MENU_NAME);\n\nconst [FocusGroupCollection, useFocusGroupCollection, createFocusGroupCollectionScope] =\n createCollection(NAVIGATION_MENU_NAME);\n\ntype ScopedProps

= P & { __scopeNavigationMenu?: Scope };\nconst [createNavigationMenuContext, createNavigationMenuScope] = createContextScope(\n NAVIGATION_MENU_NAME,\n [createCollectionScope, createFocusGroupCollectionScope]\n);\n\ntype ContentData = {\n ref?: React.Ref;\n} & ViewportContentMounterProps;\n\ntype NavigationMenuContextValue = {\n isRootMenu: boolean;\n value: string;\n previousValue: string;\n baseId: string;\n dir: Direction;\n orientation: Orientation;\n rootNavigationMenu: NavigationMenuElement | null;\n indicatorTrack: HTMLDivElement | null;\n onIndicatorTrackChange(indicatorTrack: HTMLDivElement | null): void;\n viewport: NavigationMenuViewportElement | null;\n onViewportChange(viewport: NavigationMenuViewportElement | null): void;\n onViewportContentChange(contentValue: string, contentData: ContentData): void;\n onViewportContentRemove(contentValue: string): void;\n onTriggerEnter(itemValue: string): void;\n onTriggerLeave(): void;\n onContentEnter(): void;\n onContentLeave(): void;\n onItemSelect(itemValue: string): void;\n onItemDismiss(): void;\n};\n\nconst [NavigationMenuProviderImpl, useNavigationMenuContext] =\n createNavigationMenuContext(NAVIGATION_MENU_NAME);\n\nconst [ViewportContentProvider, useViewportContentContext] = createNavigationMenuContext<{\n items: Map;\n}>(NAVIGATION_MENU_NAME);\n\ntype NavigationMenuElement = React.ElementRef;\ntype PrimitiveNavProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuProps\n extends Omit,\n PrimitiveNavProps {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n dir?: Direction;\n orientation?: Orientation;\n /**\n * The duration from when the pointer enters the trigger until the tooltip gets opened.\n * @defaultValue 200\n */\n delayDuration?: number;\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @defaultValue 300\n */\n skipDelayDuration?: number;\n}\n\nconst NavigationMenu = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n delayDuration = 200,\n skipDelayDuration = 300,\n orientation = 'horizontal',\n dir,\n ...NavigationMenuProps\n } = props;\n const [navigationMenu, setNavigationMenu] = React.useState(null);\n const composedRef = useComposedRefs(forwardedRef, (node) => setNavigationMenu(node));\n const direction = useDirection(dir);\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n const skipDelayTimerRef = React.useRef(0);\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const [value = '', setValue] = useControllableState({\n prop: valueProp,\n onChange: (value) => {\n const isOpen = value !== '';\n const hasSkipDelayDuration = skipDelayDuration > 0;\n\n if (isOpen) {\n window.clearTimeout(skipDelayTimerRef.current);\n if (hasSkipDelayDuration) setIsOpenDelayed(false);\n } else {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }\n\n onValueChange?.(value);\n },\n defaultProp: defaultValue,\n });\n\n const startCloseTimer = React.useCallback(() => {\n window.clearTimeout(closeTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setValue(''), 150);\n }, [setValue]);\n\n const handleOpen = React.useCallback(\n (itemValue: string) => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n },\n [setValue]\n );\n\n const handleDelayedOpen = React.useCallback(\n (itemValue: string) => {\n const isOpenItem = value === itemValue;\n if (isOpenItem) {\n // If the item is already open (e.g. we're transitioning from the content to the trigger)\n // then we want to clear the close timer immediately.\n window.clearTimeout(closeTimerRef.current);\n } else {\n openTimerRef.current = window.setTimeout(() => {\n window.clearTimeout(closeTimerRef.current);\n setValue(itemValue);\n }, delayDuration);\n }\n },\n [value, setValue, delayDuration]\n );\n\n React.useEffect(() => {\n return () => {\n window.clearTimeout(openTimerRef.current);\n window.clearTimeout(closeTimerRef.current);\n window.clearTimeout(skipDelayTimerRef.current);\n };\n }, []);\n\n return (\n {\n window.clearTimeout(openTimerRef.current);\n if (isOpenDelayed) handleDelayedOpen(itemValue);\n else handleOpen(itemValue);\n }}\n onTriggerLeave={() => {\n window.clearTimeout(openTimerRef.current);\n startCloseTimer();\n }}\n onContentEnter={() => window.clearTimeout(closeTimerRef.current)}\n onContentLeave={startCloseTimer}\n onItemSelect={(itemValue) => {\n setValue((prevValue) => (prevValue === itemValue ? '' : itemValue));\n }}\n onItemDismiss={() => setValue('')}\n >\n \n \n );\n }\n);\n\nNavigationMenu.displayName = NAVIGATION_MENU_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuSub\n * -----------------------------------------------------------------------------------------------*/\n\nconst SUB_NAME = 'NavigationMenuSub';\n\ntype NavigationMenuSubElement = React.ElementRef;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuSubProps\n extends Omit,\n PrimitiveDivProps {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n orientation?: Orientation;\n}\n\nconst NavigationMenuSub = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value: valueProp,\n onValueChange,\n defaultValue,\n orientation = 'horizontal',\n ...subProps\n } = props;\n const context = useNavigationMenuContext(SUB_NAME, __scopeNavigationMenu);\n const [value = '', setValue] = useControllableState({\n prop: valueProp,\n onChange: onValueChange,\n defaultProp: defaultValue,\n });\n\n return (\n setValue(itemValue)}\n onItemSelect={(itemValue) => setValue(itemValue)}\n onItemDismiss={() => setValue('')}\n >\n \n \n );\n }\n);\n\nNavigationMenuSub.displayName = SUB_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ninterface NavigationMenuProviderPrivateProps {\n isRootMenu: boolean;\n scope: Scope;\n children: React.ReactNode;\n orientation: Orientation;\n dir: Direction;\n rootNavigationMenu: NavigationMenuElement | null;\n value: string;\n onTriggerEnter(itemValue: string): void;\n onTriggerLeave?(): void;\n onContentEnter?(): void;\n onContentLeave?(): void;\n onItemSelect(itemValue: string): void;\n onItemDismiss(): void;\n}\n\ninterface NavigationMenuProviderProps extends NavigationMenuProviderPrivateProps {}\n\nconst NavigationMenuProvider: React.FC = (\n props: ScopedProps\n) => {\n const {\n scope,\n isRootMenu,\n rootNavigationMenu,\n dir,\n orientation,\n children,\n value,\n onItemSelect,\n onItemDismiss,\n onTriggerEnter,\n onTriggerLeave,\n onContentEnter,\n onContentLeave,\n } = props;\n const [viewport, setViewport] = React.useState(null);\n const [viewportContent, setViewportContent] = React.useState>(new Map());\n const [indicatorTrack, setIndicatorTrack] = React.useState(null);\n\n return (\n {\n setViewportContent((prevContent) => {\n prevContent.set(contentValue, contentData);\n return new Map(prevContent);\n });\n }, [])}\n onViewportContentRemove={React.useCallback((contentValue) => {\n setViewportContent((prevContent) => {\n if (!prevContent.has(contentValue)) return prevContent;\n prevContent.delete(contentValue);\n return new Map(prevContent);\n });\n }, [])}\n >\n \n \n {children}\n \n \n \n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuList\n * -----------------------------------------------------------------------------------------------*/\n\nconst LIST_NAME = 'NavigationMenuList';\n\ntype NavigationMenuListElement = React.ElementRef;\ntype PrimitiveUnorderedListProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuListProps extends PrimitiveUnorderedListProps {}\n\nconst NavigationMenuList = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...listProps } = props;\n const context = useNavigationMenuContext(LIST_NAME, __scopeNavigationMenu);\n\n const list = (\n \n );\n\n return (\n \n \n {context.isRootMenu ? {list} : list}\n \n \n );\n }\n);\n\nNavigationMenuList.displayName = LIST_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuItem\n * -----------------------------------------------------------------------------------------------*/\n\nconst ITEM_NAME = 'NavigationMenuItem';\n\ntype FocusProxyElement = React.ElementRef;\n\ntype NavigationMenuItemContextValue = {\n value: string;\n triggerRef: React.RefObject;\n contentRef: React.RefObject;\n focusProxyRef: React.RefObject;\n wasEscapeCloseRef: React.MutableRefObject;\n onEntryKeyDown(): void;\n onFocusProxyEnter(side: 'start' | 'end'): void;\n onRootContentClose(): void;\n onContentFocusOutside(): void;\n};\n\nconst [NavigationMenuItemContextProvider, useNavigationMenuItemContext] =\n createNavigationMenuContext(ITEM_NAME);\n\ntype NavigationMenuItemElement = React.ElementRef;\ntype PrimitiveListItemProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuItemProps extends PrimitiveListItemProps {\n value?: string;\n}\n\nconst NavigationMenuItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, value: valueProp, ...itemProps } = props;\n const autoValue = useId();\n // We need to provide an initial deterministic value as `useId` will return\n // empty string on the first render and we don't want to match our internal \"closed\" value.\n const value = valueProp || autoValue || 'LEGACY_REACT_AUTO_VALUE';\n const contentRef = React.useRef(null);\n const triggerRef = React.useRef(null);\n const focusProxyRef = React.useRef(null);\n const restoreContentTabOrderRef = React.useRef(() => {});\n const wasEscapeCloseRef = React.useRef(false);\n\n const handleContentEntry = React.useCallback((side = 'start') => {\n if (contentRef.current) {\n restoreContentTabOrderRef.current();\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) focusFirst(side === 'start' ? candidates : candidates.reverse());\n }\n }, []);\n\n const handleContentExit = React.useCallback(() => {\n if (contentRef.current) {\n const candidates = getTabbableCandidates(contentRef.current);\n if (candidates.length) restoreContentTabOrderRef.current = removeFromTabOrder(candidates);\n }\n }, []);\n\n return (\n \n \n \n );\n }\n);\n\nNavigationMenuItem.displayName = ITEM_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'NavigationMenuTrigger';\n\ntype NavigationMenuTriggerElement = React.ElementRef;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuTriggerProps extends PrimitiveButtonProps {}\n\nconst NavigationMenuTrigger = React.forwardRef<\n NavigationMenuTriggerElement,\n NavigationMenuTriggerProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, disabled, ...triggerProps } = props;\n const context = useNavigationMenuContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(TRIGGER_NAME, props.__scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, itemContext.triggerRef, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, itemContext.value);\n const contentId = makeContentId(context.baseId, itemContext.value);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const wasClickCloseRef = React.useRef(false);\n const open = itemContext.value === context.value;\n\n return (\n <>\n \n \n {\n wasClickCloseRef.current = false;\n itemContext.wasEscapeCloseRef.current = false;\n })}\n onPointerMove={composeEventHandlers(\n props.onPointerMove,\n whenMouse(() => {\n if (\n disabled ||\n wasClickCloseRef.current ||\n itemContext.wasEscapeCloseRef.current ||\n hasPointerMoveOpenedRef.current\n )\n return;\n context.onTriggerEnter(itemContext.value);\n hasPointerMoveOpenedRef.current = true;\n })\n )}\n onPointerLeave={composeEventHandlers(\n props.onPointerLeave,\n whenMouse(() => {\n if (disabled) return;\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n })\n )}\n onClick={composeEventHandlers(props.onClick, () => {\n context.onItemSelect(itemContext.value);\n wasClickCloseRef.current = open;\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const verticalEntryKey = context.dir === 'rtl' ? 'ArrowLeft' : 'ArrowRight';\n const entryKey = { horizontal: 'ArrowDown', vertical: verticalEntryKey }[\n context.orientation\n ];\n if (open && event.key === entryKey) {\n itemContext.onEntryKeyDown();\n // Prevent FocusGroupItem from handling the event\n event.preventDefault();\n }\n })}\n />\n \n \n\n {/* Proxy tab order between trigger and content */}\n {open && (\n <>\n {\n const content = itemContext.contentRef.current;\n const prevFocusedElement = event.relatedTarget as HTMLElement | null;\n const wasTriggerFocused = prevFocusedElement === ref.current;\n const wasFocusFromContent = content?.contains(prevFocusedElement);\n\n if (wasTriggerFocused || !wasFocusFromContent) {\n itemContext.onFocusProxyEnter(wasTriggerFocused ? 'start' : 'end');\n }\n }}\n />\n\n {/* Restructure a11y tree to make content accessible to screen reader when using the viewport */}\n {context.viewport && }\n \n )}\n \n );\n});\n\nNavigationMenuTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuLink\n * -----------------------------------------------------------------------------------------------*/\n\nconst LINK_NAME = 'NavigationMenuLink';\nconst LINK_SELECT = 'navigationMenu.linkSelect';\n\ntype NavigationMenuLinkElement = React.ElementRef;\ntype PrimitiveLinkProps = React.ComponentPropsWithoutRef;\ninterface NavigationMenuLinkProps extends Omit {\n active?: boolean;\n onSelect?: (event: Event) => void;\n}\n\nconst NavigationMenuLink = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, active, onSelect, ...linkProps } = props;\n\n return (\n \n {\n const target = event.target as HTMLElement;\n const linkSelectEvent = new CustomEvent(LINK_SELECT, {\n bubbles: true,\n cancelable: true,\n });\n target.addEventListener(LINK_SELECT, (event) => onSelect?.(event), { once: true });\n dispatchDiscreteCustomEvent(target, linkSelectEvent);\n\n if (!linkSelectEvent.defaultPrevented && !event.metaKey) {\n const rootContentDismissEvent = new CustomEvent(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true,\n });\n dispatchDiscreteCustomEvent(target, rootContentDismissEvent);\n }\n },\n { checkForDefaultPrevented: false }\n )}\n />\n \n );\n }\n);\n\nNavigationMenuLink.displayName = LINK_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'NavigationMenuIndicator';\n\ntype NavigationMenuIndicatorElement = NavigationMenuIndicatorImplElement;\ninterface NavigationMenuIndicatorProps extends NavigationMenuIndicatorImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst NavigationMenuIndicator = React.forwardRef<\n NavigationMenuIndicatorElement,\n NavigationMenuIndicatorProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, props.__scopeNavigationMenu);\n const isVisible = Boolean(context.value);\n\n return context.indicatorTrack\n ? ReactDOM.createPortal(\n \n \n ,\n context.indicatorTrack\n )\n : null;\n});\n\nNavigationMenuIndicator.displayName = INDICATOR_NAME;\n\ntype NavigationMenuIndicatorImplElement = React.ElementRef;\ninterface NavigationMenuIndicatorImplProps extends PrimitiveDivProps {}\n\nconst NavigationMenuIndicatorImpl = React.forwardRef<\n NavigationMenuIndicatorImplElement,\n NavigationMenuIndicatorImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...indicatorProps } = props;\n const context = useNavigationMenuContext(INDICATOR_NAME, __scopeNavigationMenu);\n const getItems = useCollection(__scopeNavigationMenu);\n const [activeTrigger, setActiveTrigger] = React.useState(\n null\n );\n const [position, setPosition] = React.useState<{ size: number; offset: number } | null>(null);\n const isHorizontal = context.orientation === 'horizontal';\n const isVisible = Boolean(context.value);\n\n React.useEffect(() => {\n const items = getItems();\n const triggerNode = items.find((item) => item.value === context.value)?.ref.current;\n if (triggerNode) setActiveTrigger(triggerNode);\n }, [getItems, context.value]);\n\n /**\n * Update position when the indicator or parent track size changes\n */\n const handlePositionChange = () => {\n if (activeTrigger) {\n setPosition({\n size: isHorizontal ? activeTrigger.offsetWidth : activeTrigger.offsetHeight,\n offset: isHorizontal ? activeTrigger.offsetLeft : activeTrigger.offsetTop,\n });\n }\n };\n useResizeObserver(activeTrigger, handlePositionChange);\n useResizeObserver(context.indicatorTrack, handlePositionChange);\n\n // We need to wait for the indicator position to be available before rendering to\n // snap immediately into position rather than transitioning from initial\n return position ? (\n \n ) : null;\n});\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'NavigationMenuContent';\n\ntype NavigationMenuContentElement = NavigationMenuContentImplElement;\ninterface NavigationMenuContentProps\n extends Omit {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst NavigationMenuContent = React.forwardRef<\n NavigationMenuContentElement,\n NavigationMenuContentProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const itemContext = useNavigationMenuItemContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const composedRefs = useComposedRefs(itemContext.contentRef, forwardedRef);\n const open = itemContext.value === context.value;\n\n const commonProps = {\n value: itemContext.value,\n triggerRef: itemContext.triggerRef,\n focusProxyRef: itemContext.focusProxyRef,\n wasEscapeCloseRef: itemContext.wasEscapeCloseRef,\n onContentFocusOutside: itemContext.onContentFocusOutside,\n onRootContentClose: itemContext.onRootContentClose,\n ...contentProps,\n };\n\n return !context.viewport ? (\n \n \n \n ) : (\n \n );\n});\n\nNavigationMenuContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype ViewportContentMounterElement = NavigationMenuContentImplElement;\ninterface ViewportContentMounterProps extends NavigationMenuContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst ViewportContentMounter = React.forwardRef<\n ViewportContentMounterElement,\n ViewportContentMounterProps\n>((props: ScopedProps, forwardedRef) => {\n const context = useNavigationMenuContext(CONTENT_NAME, props.__scopeNavigationMenu);\n const { onViewportContentChange, onViewportContentRemove } = context;\n\n useLayoutEffect(() => {\n onViewportContentChange(props.value, {\n ref: forwardedRef,\n ...props,\n });\n }, [props, forwardedRef, onViewportContentChange]);\n\n useLayoutEffect(() => {\n return () => onViewportContentRemove(props.value);\n }, [props.value, onViewportContentRemove]);\n\n // Content is proxied into the viewport\n return null;\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst ROOT_CONTENT_DISMISS = 'navigationMenu.rootContentDismiss';\n\ntype MotionAttribute = 'to-start' | 'to-end' | 'from-start' | 'from-end';\ntype NavigationMenuContentImplElement = React.ElementRef;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef;\n\ninterface NavigationMenuContentImplPrivateProps {\n value: string;\n triggerRef: React.RefObject;\n focusProxyRef: React.RefObject;\n wasEscapeCloseRef: React.MutableRefObject;\n onContentFocusOutside(): void;\n onRootContentClose(): void;\n}\ninterface NavigationMenuContentImplProps\n extends Omit,\n NavigationMenuContentImplPrivateProps {}\n\nconst NavigationMenuContentImpl = React.forwardRef<\n NavigationMenuContentImplElement,\n NavigationMenuContentImplProps\n>((props: ScopedProps, forwardedRef) => {\n const {\n __scopeNavigationMenu,\n value,\n triggerRef,\n focusProxyRef,\n wasEscapeCloseRef,\n onRootContentClose,\n onContentFocusOutside,\n ...contentProps\n } = props;\n const context = useNavigationMenuContext(CONTENT_NAME, __scopeNavigationMenu);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(ref, forwardedRef);\n const triggerId = makeTriggerId(context.baseId, value);\n const contentId = makeContentId(context.baseId, value);\n const getItems = useCollection(__scopeNavigationMenu);\n const prevMotionAttributeRef = React.useRef(null);\n\n const { onItemDismiss } = context;\n\n React.useEffect(() => {\n const content = ref.current;\n\n // Bubble dismiss to the root content node and focus its trigger\n if (context.isRootMenu && content) {\n const handleClose = () => {\n onItemDismiss();\n onRootContentClose();\n if (content.contains(document.activeElement)) triggerRef.current?.focus();\n };\n content.addEventListener(ROOT_CONTENT_DISMISS, handleClose);\n return () => content.removeEventListener(ROOT_CONTENT_DISMISS, handleClose);\n }\n }, [context.isRootMenu, props.value, triggerRef, onItemDismiss, onRootContentClose]);\n\n const motionAttribute = React.useMemo(() => {\n const items = getItems();\n const values = items.map((item) => item.value);\n if (context.dir === 'rtl') values.reverse();\n const index = values.indexOf(context.value);\n const prevIndex = values.indexOf(context.previousValue);\n const isSelected = value === context.value;\n const wasSelected = prevIndex === values.indexOf(value);\n\n // We only want to update selected and the last selected content\n // this avoids animations being interrupted outside of that range\n if (!isSelected && !wasSelected) return prevMotionAttributeRef.current;\n\n const attribute = (() => {\n // Don't provide a direction on the initial open\n if (index !== prevIndex) {\n // If we're moving to this item from another\n if (isSelected && prevIndex !== -1) return index > prevIndex ? 'from-end' : 'from-start';\n // If we're leaving this item for another\n if (wasSelected && index !== -1) return index > prevIndex ? 'to-start' : 'to-end';\n }\n // Otherwise we're entering from closed or leaving the list\n // entirely and should not animate in any direction\n return null;\n })();\n\n prevMotionAttributeRef.current = attribute;\n return attribute;\n }, [context.previousValue, context.value, context.dir, getItems, value]);\n\n return (\n \n {\n const rootContentDismissEvent = new Event(ROOT_CONTENT_DISMISS, {\n bubbles: true,\n cancelable: true,\n });\n ref.current?.dispatchEvent(rootContentDismissEvent);\n }}\n onFocusOutside={composeEventHandlers(props.onFocusOutside, (event) => {\n onContentFocusOutside();\n const target = event.target as HTMLElement;\n // Only dismiss content when focus moves outside of the menu\n if (context.rootNavigationMenu?.contains(target)) event.preventDefault();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const target = event.target as HTMLElement;\n const isTrigger = getItems().some((item) => item.ref.current?.contains(target));\n const isRootViewport = context.isRootMenu && context.viewport?.contains(target);\n if (isTrigger || isRootViewport || !context.isRootMenu) event.preventDefault();\n })}\n onKeyDown={composeEventHandlers(props.onKeyDown, (event) => {\n const isMetaKey = event.altKey || event.ctrlKey || event.metaKey;\n const isTabKey = event.key === 'Tab' && !isMetaKey;\n if (isTabKey) {\n const candidates = getTabbableCandidates(event.currentTarget);\n const focusedElement = document.activeElement;\n const index = candidates.findIndex((candidate) => candidate === focusedElement);\n const isMovingBackwards = event.shiftKey;\n const nextCandidates = isMovingBackwards\n ? candidates.slice(0, index).reverse()\n : candidates.slice(index + 1, candidates.length);\n\n if (focusFirst(nextCandidates)) {\n // prevent browser tab keydown because we've handled focus\n event.preventDefault();\n } else {\n // If we can't focus that means we're at the edges\n // so focus the proxy and let browser handle\n // tab/shift+tab keypress on the proxy instead\n focusProxyRef.current?.focus();\n }\n }\n })}\n onEscapeKeyDown={composeEventHandlers(props.onEscapeKeyDown, (_event) => {\n // prevent the dropdown from reopening\n // after the escape key has been pressed\n wasEscapeCloseRef.current = true;\n })}\n />\n \n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * NavigationMenuViewport\n * -----------------------------------------------------------------------------------------------*/\n\nconst VIEWPORT_NAME = 'NavigationMenuViewport';\n\ntype NavigationMenuViewportElement = NavigationMenuViewportImplElement;\ninterface NavigationMenuViewportProps\n extends Omit {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst NavigationMenuViewport = React.forwardRef<\n NavigationMenuViewportElement,\n NavigationMenuViewportProps\n>((props: ScopedProps, forwardedRef) => {\n const { forceMount, ...viewportProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, props.__scopeNavigationMenu);\n const open = Boolean(context.value);\n\n return (\n \n \n \n );\n});\n\nNavigationMenuViewport.displayName = VIEWPORT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype NavigationMenuViewportImplElement = React.ElementRef;\ninterface NavigationMenuViewportImplProps extends PrimitiveDivProps {}\n\nconst NavigationMenuViewportImpl = React.forwardRef<\n NavigationMenuViewportImplElement,\n NavigationMenuViewportImplProps\n>((props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, children, ...viewportImplProps } = props;\n const context = useNavigationMenuContext(VIEWPORT_NAME, __scopeNavigationMenu);\n const composedRefs = useComposedRefs(forwardedRef, context.onViewportChange);\n const viewportContentContext = useViewportContentContext(\n CONTENT_NAME,\n props.__scopeNavigationMenu\n );\n const [size, setSize] = React.useState<{ width: number; height: number } | null>(null);\n const [content, setContent] = React.useState(null);\n const viewportWidth = size ? size?.width + 'px' : undefined;\n const viewportHeight = size ? size?.height + 'px' : undefined;\n const open = Boolean(context.value);\n // We persist the last active content value as the viewport may be animating out\n // and we want the content to remain mounted for the lifecycle of the viewport.\n const activeContentValue = open ? context.value : context.previousValue;\n\n /**\n * Update viewport size to match the active content node.\n * We prefer offset dimensions over `getBoundingClientRect` as the latter respects CSS transform.\n * For example, if content animates in from `scale(0.5)` the dimensions would be anything\n * from `0.5` to `1` of the intended size.\n */\n const handleSizeChange = () => {\n if (content) setSize({ width: content.offsetWidth, height: content.offsetHeight });\n };\n useResizeObserver(content, handleSizeChange);\n\n return (\n \n {Array.from(viewportContentContext.items).map(([value, { ref, forceMount, ...props }]) => {\n const isActive = activeContentValue === value;\n return (\n \n {\n // We only want to update the stored node when another is available\n // as we need to smoothly transition between them.\n if (isActive && node) setContent(node);\n })}\n />\n \n );\n })}\n \n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst FOCUS_GROUP_NAME = 'FocusGroup';\n\ntype FocusGroupElement = React.ElementRef;\ninterface FocusGroupProps extends PrimitiveDivProps {}\n\nconst FocusGroup = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const context = useNavigationMenuContext(FOCUS_GROUP_NAME, __scopeNavigationMenu);\n\n return (\n \n \n \n \n \n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_KEYS = ['ArrowRight', 'ArrowLeft', 'ArrowUp', 'ArrowDown'];\nconst FOCUS_GROUP_ITEM_NAME = 'FocusGroupItem';\n\ntype FocusGroupItemElement = React.ElementRef;\ninterface FocusGroupItemProps extends PrimitiveButtonProps {}\n\nconst FocusGroupItem = React.forwardRef(\n (props: ScopedProps, forwardedRef) => {\n const { __scopeNavigationMenu, ...groupProps } = props;\n const getItems = useFocusGroupCollection(__scopeNavigationMenu);\n const context = useNavigationMenuContext(FOCUS_GROUP_ITEM_NAME, __scopeNavigationMenu);\n\n return (\n \n {\n const isFocusNavigationKey = ['Home', 'End', ...ARROW_KEYS].includes(event.key);\n if (isFocusNavigationKey) {\n let candidateNodes = getItems().map((item) => item.ref.current!);\n const prevItemKey = context.dir === 'rtl' ? 'ArrowRight' : 'ArrowLeft';\n const prevKeys = [prevItemKey, 'ArrowUp', 'End'];\n if (prevKeys.includes(event.key)) candidateNodes.reverse();\n if (ARROW_KEYS.includes(event.key)) {\n const currentIndex = candidateNodes.indexOf(event.currentTarget);\n candidateNodes = candidateNodes.slice(currentIndex + 1);\n }\n /**\n * Imperative focus during keydown is risky so we prevent React's batching updates\n * to avoid potential bugs. See: https://github.com/facebook/react/issues/20332\n */\n setTimeout(() => focusFirst(candidateNodes));\n\n // Prevent page scroll while navigating\n event.preventDefault();\n }\n })}\n />\n \n );\n }\n);\n\n/**\n * Returns a list of potential tabbable candidates.\n *\n * NOTE: This is only a close approximation. For example it doesn't take into account cases like when\n * elements are not visible. This cannot be worked out easily by just reading a property, but rather\n * necessitate runtime knowledge (computed styles, etc). We deal with these cases separately.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/TreeWalker\n * Credit: https://github.com/discord/focus-layers/blob/master/src/util/wrapFocus.tsx#L1\n */\nfunction getTabbableCandidates(container: HTMLElement) {\n const nodes: HTMLElement[] = [];\n const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n acceptNode: (node: any) => {\n const isHiddenInput = node.tagName === 'INPUT' && node.type === 'hidden';\n if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n // `.tabIndex` is not the same as the `tabindex` attribute. It works on the\n // runtime's understanding of tabbability, so this automatically accounts\n // for any kind of element that could be tabbed to.\n return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n },\n });\n while (walker.nextNode()) nodes.push(walker.currentNode as HTMLElement);\n // we do not take into account the order of nodes with positive `tabIndex` as it\n // hinders accessibility to have tab order different from visual order.\n return nodes;\n}\n\nfunction focusFirst(candidates: HTMLElement[]) {\n const previouslyFocusedElement = document.activeElement;\n return candidates.some((candidate) => {\n // if focus is already where we want to go, we don't want to keep going through the candidates\n if (candidate === previouslyFocusedElement) return true;\n candidate.focus();\n return document.activeElement !== previouslyFocusedElement;\n });\n}\n\nfunction removeFromTabOrder(candidates: HTMLElement[]) {\n candidates.forEach((candidate) => {\n candidate.dataset.tabindex = candidate.getAttribute('tabindex') || '';\n candidate.setAttribute('tabindex', '-1');\n });\n return () => {\n candidates.forEach((candidate) => {\n const prevTabIndex = candidate.dataset.tabindex as string;\n candidate.setAttribute('tabindex', prevTabIndex);\n });\n };\n}\n\nfunction useResizeObserver(element: HTMLElement | null, onResize: () => void) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n /**\n * Resize Observer will throw an often benign error that says `ResizeObserver loop\n * completed with undelivered notifications`. This means that ResizeObserver was not\n * able to deliver all observations within a single animation frame, so we use\n * `requestAnimationFrame` to ensure we don't deliver unnecessary observations.\n * Further reading: https://github.com/WICG/resize-observer/issues/38\n */\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\n\nfunction getOpenState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nfunction makeTriggerId(baseId: string, value: string) {\n return `${baseId}-trigger-${value}`;\n}\n\nfunction makeContentId(baseId: string, value: string) {\n return `${baseId}-content-${value}`;\n}\n\nfunction whenMouse(handler: React.PointerEventHandler): React.PointerEventHandler {\n return (event) => (event.pointerType === 'mouse' ? handler(event) : undefined);\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = NavigationMenu;\nconst Sub = NavigationMenuSub;\nconst List = NavigationMenuList;\nconst Item = NavigationMenuItem;\nconst Trigger = NavigationMenuTrigger;\nconst Link = NavigationMenuLink;\nconst Indicator = NavigationMenuIndicator;\nconst Content = NavigationMenuContent;\nconst Viewport = NavigationMenuViewport;\n\nexport {\n createNavigationMenuScope,\n //\n NavigationMenu,\n NavigationMenuSub,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuContent,\n NavigationMenuViewport,\n //\n Root,\n Sub,\n List,\n Item,\n Trigger,\n Link,\n Indicator,\n Content,\n Viewport,\n};\nexport type {\n NavigationMenuProps,\n NavigationMenuSubProps,\n NavigationMenuListProps,\n NavigationMenuItemProps,\n NavigationMenuTriggerProps,\n NavigationMenuLinkProps,\n NavigationMenuIndicatorProps,\n NavigationMenuContentProps,\n NavigationMenuViewportProps,\n};\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Sparkles\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNOS45MzcgMTUuNUEyIDIgMCAwIDAgOC41IDE0LjA2M2wtNi4xMzUtMS41ODJhLjUuNSAwIDAgMSAwLS45NjJMOC41IDkuOTM2QTIgMiAwIDAgMCA5LjkzNyA4LjVsMS41ODItNi4xMzVhLjUuNSAwIDAgMSAuOTYzIDBMMTQuMDYzIDguNUEyIDIgMCAwIDAgMTUuNSA5LjkzN2w2LjEzNSAxLjU4MWEuNS41IDAgMCAxIDAgLjk2NEwxNS41IDE0LjA2M2EyIDIgMCAwIDAtMS40MzcgMS40MzdsLTEuNTgyIDYuMTM1YS41LjUgMCAwIDEtLjk2MyAweiIgLz4KICA8cGF0aCBkPSJNMjAgM3Y0IiAvPgogIDxwYXRoIGQ9Ik0yMiA1aC00IiAvPgogIDxwYXRoIGQ9Ik00IDE3djIiIC8+CiAgPHBhdGggZD0iTTUgMThIMyIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/sparkles\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Sparkles = createLucideIcon('Sparkles', [\n [\n 'path',\n {\n d: 'M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z',\n key: '4pj2yx',\n },\n ],\n ['path', { d: 'M20 3v4', key: '1olli1' }],\n ['path', { d: 'M22 5h-4', key: '1gvqau' }],\n ['path', { d: 'M4 17v2', key: 'vumght' }],\n ['path', { d: 'M5 18H3', key: 'zchphs' }],\n]);\n\nexport default Sparkles;\n","export { default } from '../client/script';\nexport * from '../client/script';\n\n//# sourceMappingURL=script.js.map","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ChevronDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNiA5IDYgNiA2LTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/chevron-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronDown = createLucideIcon('ChevronDown', [\n ['path', { d: 'm6 9 6 6 6-6', key: 'qrunsl' }],\n]);\n\nexport default ChevronDown;\n","'use client'\n\nimport ReactDOM from 'react-dom'\nimport React, { useEffect, useContext, useRef, type JSX } from 'react'\nimport type { ScriptHTMLAttributes } from 'react'\nimport { HeadManagerContext } from '../shared/lib/head-manager-context.shared-runtime'\nimport { setAttributesFromProps } from './set-attributes-from-props'\nimport { requestIdleCallback } from './request-idle-callback'\n\nconst ScriptCache = new Map()\nconst LoadCache = new Set()\n\nexport interface ScriptProps extends ScriptHTMLAttributes {\n strategy?: 'afterInteractive' | 'lazyOnload' | 'beforeInteractive' | 'worker'\n id?: string\n onLoad?: (e: any) => void\n onReady?: () => void | null\n onError?: (e: any) => void\n children?: React.ReactNode\n stylesheets?: string[]\n}\n\n/**\n * @deprecated Use `ScriptProps` instead.\n */\nexport type Props = ScriptProps\n\nconst insertStylesheets = (stylesheets: string[]) => {\n // Case 1: Styles for afterInteractive/lazyOnload with appDir injected via handleClientScriptLoad\n //\n // Using ReactDOM.preinit to feature detect appDir and inject styles\n // Stylesheets might have already been loaded if initialized with Script component\n // Re-inject styles here to handle scripts loaded via handleClientScriptLoad\n // ReactDOM.preinit handles dedup and ensures the styles are loaded only once\n if (ReactDOM.preinit) {\n stylesheets.forEach((stylesheet: string) => {\n ReactDOM.preinit(stylesheet, { as: 'style' })\n })\n\n return\n }\n\n // Case 2: Styles for afterInteractive/lazyOnload with pages injected via handleClientScriptLoad\n //\n // We use this function to load styles when appdir is not detected\n // TODO: Use React float APIs to load styles once available for pages dir\n if (typeof window !== 'undefined') {\n let head = document.head\n stylesheets.forEach((stylesheet: string) => {\n let link = document.createElement('link')\n\n link.type = 'text/css'\n link.rel = 'stylesheet'\n link.href = stylesheet\n\n head.appendChild(link)\n })\n }\n}\n\nconst loadScript = (props: ScriptProps): void => {\n const {\n src,\n id,\n onLoad = () => {},\n onReady = null,\n dangerouslySetInnerHTML,\n children = '',\n strategy = 'afterInteractive',\n onError,\n stylesheets,\n } = props\n\n const cacheKey = id || src\n\n // Script has already loaded\n if (cacheKey && LoadCache.has(cacheKey)) {\n return\n }\n\n // Contents of this script are already loading/loaded\n if (ScriptCache.has(src)) {\n LoadCache.add(cacheKey)\n // It is possible that multiple `next/script` components all have same \"src\", but has different \"onLoad\"\n // This is to make sure the same remote script will only load once, but \"onLoad\" are executed in order\n ScriptCache.get(src).then(onLoad, onError)\n return\n }\n\n /** Execute after the script first loaded */\n const afterLoad = () => {\n // Run onReady for the first time after load event\n if (onReady) {\n onReady()\n }\n // add cacheKey to LoadCache when load successfully\n LoadCache.add(cacheKey)\n }\n\n const el = document.createElement('script')\n\n const loadPromise = new Promise((resolve, reject) => {\n el.addEventListener('load', function (e) {\n resolve()\n if (onLoad) {\n onLoad.call(this, e)\n }\n afterLoad()\n })\n el.addEventListener('error', function (e) {\n reject(e)\n })\n }).catch(function (e) {\n if (onError) {\n onError(e)\n }\n })\n\n if (dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n el.innerHTML = (dangerouslySetInnerHTML.__html as string) || ''\n\n afterLoad()\n } else if (children) {\n el.textContent =\n typeof children === 'string'\n ? children\n : Array.isArray(children)\n ? children.join('')\n : ''\n\n afterLoad()\n } else if (src) {\n el.src = src\n // do not add cacheKey into LoadCache for remote script here\n // cacheKey will be added to LoadCache when it is actually loaded (see loadPromise above)\n\n ScriptCache.set(src, loadPromise)\n }\n\n setAttributesFromProps(el, props)\n\n if (strategy === 'worker') {\n el.setAttribute('type', 'text/partytown')\n }\n\n el.setAttribute('data-nscript', strategy)\n\n // Load styles associated with this script\n if (stylesheets) {\n insertStylesheets(stylesheets)\n }\n\n document.body.appendChild(el)\n}\n\nexport function handleClientScriptLoad(props: ScriptProps) {\n const { strategy = 'afterInteractive' } = props\n if (strategy === 'lazyOnload') {\n window.addEventListener('load', () => {\n requestIdleCallback(() => loadScript(props))\n })\n } else {\n loadScript(props)\n }\n}\n\nfunction loadLazyScript(props: ScriptProps) {\n if (document.readyState === 'complete') {\n requestIdleCallback(() => loadScript(props))\n } else {\n window.addEventListener('load', () => {\n requestIdleCallback(() => loadScript(props))\n })\n }\n}\n\nfunction addBeforeInteractiveToCache() {\n const scripts = [\n ...document.querySelectorAll('[data-nscript=\"beforeInteractive\"]'),\n ...document.querySelectorAll('[data-nscript=\"beforePageRender\"]'),\n ]\n scripts.forEach((script) => {\n const cacheKey = script.id || script.getAttribute('src')\n LoadCache.add(cacheKey)\n })\n}\n\nexport function initScriptLoader(scriptLoaderItems: ScriptProps[]) {\n scriptLoaderItems.forEach(handleClientScriptLoad)\n addBeforeInteractiveToCache()\n}\n\n/**\n * Load a third-party scripts in an optimized way.\n *\n * Read more: [Next.js Docs: `next/script`](https://nextjs.org/docs/app/api-reference/components/script)\n */\nfunction Script(props: ScriptProps): JSX.Element | null {\n const {\n id,\n src = '',\n onLoad = () => {},\n onReady = null,\n strategy = 'afterInteractive',\n onError,\n stylesheets,\n ...restProps\n } = props\n\n // Context is available only during SSR\n const { updateScripts, scripts, getIsSsr, appDir, nonce } =\n useContext(HeadManagerContext)\n\n /**\n * - First mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script hasn't loaded yet (not in LoadCache)\n * onReady is skipped, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. hasLoadScriptEffectCalled.current is false, loadScript executes\n * Once the script is loaded, the onLoad and onReady will be called by then\n * [If strict mode is enabled / is wrapped in component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n *\n * - Second mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script has already loaded (found in LoadCache)\n * onReady is called, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. The script is already loaded, loadScript bails out\n * [If strict mode is enabled / is wrapped in component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n */\n const hasOnReadyEffectCalled = useRef(false)\n\n useEffect(() => {\n const cacheKey = id || src\n if (!hasOnReadyEffectCalled.current) {\n // Run onReady if script has loaded before but component is re-mounted\n if (onReady && cacheKey && LoadCache.has(cacheKey)) {\n onReady()\n }\n\n hasOnReadyEffectCalled.current = true\n }\n }, [onReady, id, src])\n\n const hasLoadScriptEffectCalled = useRef(false)\n\n useEffect(() => {\n if (!hasLoadScriptEffectCalled.current) {\n if (strategy === 'afterInteractive') {\n loadScript(props)\n } else if (strategy === 'lazyOnload') {\n loadLazyScript(props)\n }\n\n hasLoadScriptEffectCalled.current = true\n }\n }, [props, strategy])\n\n if (strategy === 'beforeInteractive' || strategy === 'worker') {\n if (updateScripts) {\n scripts[strategy] = (scripts[strategy] || []).concat([\n {\n id,\n src,\n onLoad,\n onReady,\n onError,\n ...restProps,\n },\n ])\n updateScripts(scripts)\n } else if (getIsSsr && getIsSsr()) {\n // Script has already loaded during SSR\n LoadCache.add(id || src)\n } else if (getIsSsr && !getIsSsr()) {\n loadScript(props)\n }\n }\n\n // For the app directory, we need React Float to preload these scripts.\n if (appDir) {\n // Injecting stylesheets here handles beforeInteractive and worker scripts correctly\n // For other strategies injecting here ensures correct stylesheet order\n // ReactDOM.preinit handles loading the styles in the correct order,\n // also ensures the stylesheet is loaded only once and in a consistent manner\n //\n // Case 1: Styles for beforeInteractive/worker with appDir - handled here\n // Case 2: Styles for beforeInteractive/worker with pages dir - Not handled yet\n // Case 3: Styles for afterInteractive/lazyOnload with appDir - handled here\n // Case 4: Styles for afterInteractive/lazyOnload with pages dir - handled in insertStylesheets function\n if (stylesheets) {\n stylesheets.forEach((styleSrc) => {\n ReactDOM.preinit(styleSrc, { as: 'style' })\n })\n }\n\n // Before interactive scripts need to be loaded by Next.js' runtime instead\n // of native