{"version":3,"file":"static/chunks/7086-3fce269e45d05d76.js","mappings":"0NASe,SAASA,EAAkBC,CAAkC,MAO/DC,EAUJA,KAjBiC,CAAEA,OAAAA,CAAM,CAA0B,CAAlCD,EACxC,MACE,GAAAE,EAAAC,IAAA,EAACC,IAAIA,CACHC,UAAU,qHACVC,KAAM,WAAuBC,MAAA,CAAZN,EAAOO,IAAI,YAE5B,GAAAN,EAAAO,GAAA,EAACC,IAAKA,CACJC,IAAKV,OAAAA,CAAAA,EAAAA,EAAOW,KAAK,GAAZX,KAAAA,IAAAA,EAAAA,EAAgB,4BACrBY,IAAI,eACJC,MAAO,IACPC,OAAQ,IACRV,UAAU,kIAEZ,GAAAH,EAAAO,GAAA,EAACO,MAAAA,CAAIX,UAAU,iHACZJ,EAAOgB,IAAI,GAEd,GAAAf,EAAAO,GAAA,EAACO,MAAAA,CAAIX,UAAU,8FACZJ,OAAAA,CAAAA,EAAAA,EAAOiB,OAAO,GAAdjB,KAAAA,IAAAA,EAAAA,EAAkB,oBAI3B,yQCvBAkB,EAAAA,EAAUA,CAACC,GAAG,CAAC,CAACC,EAAAA,EAAUA,CAAC,EAa3B,IAAMC,EAAgBC,CAAAA,EAAAA,EAAAA,EAAAA,EAAOC,EAAAA,EAAMA,EAAAA,UAAAA,CAAAA,6EASpB,SAASC,EAAYzB,CAA4B,KAA5B,CAAE0B,QAAAA,CAAO,CAAmB,CAA5B1B,EAC5B,CAAC2B,EAAaC,EAAe,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IACzC,CAACC,EAAcC,EAAgB,CAAGF,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAE3CG,EAAUC,CAAAA,EAAAA,EAAAA,MAAAA,EAAuB,MACjCC,EAAUD,CAAAA,EAAAA,EAAAA,MAAAA,EAAuB,MAiBvC,MACE,GAAA/B,EAAAC,IAAA,EAACa,MAAAA,CAAIX,UAAU,iEACb,GAAAH,EAAAC,IAAA,EAACa,MAAAA,CAAIX,UAAU,8CACb,GAAAH,EAAAO,GAAA,EAAC0B,KAAAA,CAAG9B,UAAU,oHAA2G,gBAGzH,GAAAH,EAAAO,GAAA,EAACO,MAAAA,CAAIX,UAAU,gBACb,GAAAH,EAAAC,IAAA,EAACa,MAAAA,CAAIX,UAAU,uBACb,GAAAH,EAAAO,GAAA,EAACO,MAAAA,CAAIoB,IAAKJ,EAAS3B,UAAU,gBAC3B,GAAAH,EAAAO,GAAA,EAAC4B,EAAAA,CAAiBA,CAAAA,CAACP,aAAcA,MAEnC,GAAA5B,EAAAO,GAAA,EAACO,MAAAA,CAAIoB,IAAKF,EAAS7B,UAAU,gBAC3B,GAAAH,EAAAO,GAAA,EAAC6B,EAAAA,CAAkBA,CAAAA,CAACX,YAAaA,cAMzC,GAAAzB,EAAAO,GAAA,EAACa,EAAAA,CACCiB,cAAe,EACfC,aAAc,GACdC,WAAU,GACVC,cArCoB,IACxBd,EAAee,EAAOC,KAAK,EAC3Bb,EAAgBY,EAAOE,WAAW,CACpC,EAmCMC,OAjCmB,IACvBH,EAAOI,MAAM,CAACC,UAAU,CAACC,MAAM,CAAGjB,EAAQkB,OAAO,CACjDP,EAAOI,MAAM,CAACC,UAAU,CAACG,MAAM,CAAGjB,EAAQgB,OAAO,CACjDP,EAAOK,UAAU,CAACI,IAAI,GACtBT,EAAOK,UAAU,CAACK,MAAM,GAExBtB,EAAgBY,EAAOE,WAAW,EAClCjB,EAAee,EAAOC,KAAK,CAC7B,EA0BMI,WAAY,CAAEC,OAAQjB,EAAQkB,OAAO,CAAEC,OAAQjB,EAAQgB,OAAO,EAC9DI,YAAa,CACX,IAAK,CAAEf,cAAe,CAAE,EACxB,IAAK,CAAEA,cAAe,CAAE,EACxB,IAAK,CAAEA,cAAe,CAAE,EACxB,IAAK,CAAEA,cAAe,CAAE,EACxB,KAAM,CAAEA,cAAe,CAAE,EACzB,KAAM,CAAEA,cAAe,CAAE,EACzB,KAAM,CAAEA,cAAe,CAAE,EACzB,KAAM,CAAEA,cAAe,CAAE,EACzB,KAAM,CAAEA,cAAe,CAAE,EACzB,KAAM,CAAEA,cAAe,CAAE,CAC3B,WAECb,MAAAA,EAAAA,KAAAA,EAAAA,EAAS6B,GAAG,CAAC,CAACtD,EAAQuD,IACrB,GAAAtD,EAAAO,GAAA,EAACgD,EAAAA,EAAWA,CAAAA,UACV,GAAAvD,EAAAO,GAAA,EAACV,EAAiBA,CAACE,OAAQA,KADXuD,QAO5B,u6BCtFArC,EAAAA,EAAUA,CAACC,GAAG,CAAC,CAACC,EAAAA,EAAUA,CAAC,EAe3B,IAAMqC,EAAenC,CAAAA,EAAAA,EAAAA,EAAAA,EAAOC,EAAAA,EAAMA,EAAAA,IAefmC,GAAUA,QAAAA,EAAMC,YAAY,CAAc,OAAQ,MACjDD,IAAUA,EAAMhC,WAAW,CAAc,QAExCgC,GAAUA,QAAAA,EAAMC,YAAY,CAAc,OAAQ,OAqBxD,SAASC,EAAqB7D,CAMjB,KANiB,CAC3C8D,MAAAA,CAAK,CACLC,YAAAA,CAAW,CACXC,kBAAAA,CAAiB,CACjBC,iBAAAA,CAAgB,CAChBC,aAAAA,CAAY,CACc,CANiBlE,EAOrC,CAACmE,EAAkBC,EAAoB,CAAGvC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,aACnD,CAACwC,EAAaC,EAAe,CAAGzC,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,GAEzC0C,EAAsB,IAC1BH,EAAoBI,GACpBN,EAAaM,EACf,EAMA,MACE,GAAAC,EAAAtE,IAAA,EAACa,MAAAA,CAAIX,UAAU,yCACb,GAAAoE,EAAAhE,GAAA,EAACO,MAAAA,CACCX,UAAU,8EACVqE,GAAG,kBAEH,GAAAD,EAAAhE,GAAA,EAAC0B,KAAAA,CAAG9B,UAAU,sFACXyD,MAoBL,GAAAW,EAAAhE,GAAA,EAACO,MAAAA,CAAI0D,GAAG,kBACN,GAAAD,EAAAtE,IAAA,EAACuD,EAAAA,CACCnB,cAAe,GACfC,aAAc,GACdC,WAAU,GACVO,WAAY,CACVG,OAAQ,sBACRF,OAAQ,qBACV,EACAP,cAxCkB,IACxB4B,EAAe3B,EAAO0B,WAAW,CACnC,EAuCQT,aAAc,CAACS,IAAAA,CAAgB,EAAGM,QAAQ,GAC1ChD,YAAa,CAAC0C,IAAgBJ,EAAiBW,MAAM,CAAG,GAAGD,QAAQ,GACnErB,YAAa,CACX,IAAK,CAAEf,cAAe,IAAK,EAC3B,IAAK,CAAEA,cAAe,IAAK,EAC3B,IAAK,CAAEA,cAAe,IAAK,EAC3B,IAAK,CAAEA,cAAe,IAAK,EAC3B,IAAK,CAAEA,cAAe,IAAK,EAC3B,IAAK,CAAEA,cAAe,IAAK,EAC3B,IAAK,CAAEA,cAAe,IAAK,EAC3B,IAAK,CAAEA,cAAe,GAAI,EAC1B,IAAK,CAAEA,cAAe,CAAE,EACxB,IAAK,CAAEA,cAAe,IAAK,EAC3B,KAAM,CAAEA,cAAe,IAAK,EAC5B,KAAM,CAAEA,cAAe,GAAI,EAC3B,KAAM,CAAEA,cAAe,IAAK,EAC5B,KAAM,CAAEA,cAAe,IAAK,EAC5B,KAAM,CAAEA,cAAe,IAAK,EAC5B,KAAM,CAAEA,cAAe,EAAG,EAC1B,KAAM,CAAEA,cAAe,EAAG,EAC1B,KAAM,CAAEA,cAAe,EAAG,CAC5B,EACAlC,UAAU,0BAET4D,MAAAA,EAAAA,KAAAA,EAAAA,EACGY,MAAM,CAACC,GAAQA,OAAAA,GAChBvB,GAAG,CAAC,CAACuB,EAAMtB,IACV,GAAAiB,EAAAhE,GAAA,EAACgD,EAAAA,EAAWA,CAAAA,CAEVsB,QAAS,IAAMR,EAAoBO,EAAKJ,EAAE,WAE1C,GAAAD,EAAAhE,GAAA,EAACO,MAAAA,CACCX,UAAW,qFAIVE,MAAA,CAHC4D,IAAqBW,EAAKJ,EAAE,CACxB,8BACA,0CAGN,GAAAD,EAAAhE,GAAA,EAACuE,IAAAA,CAAE3E,UAAU,kGACVyE,EAAK7D,IAAI,MAXTuC,IAiBX,GAAAiB,EAAAhE,GAAA,EAACO,MAAAA,CACCX,UAAY,iJAGZ,GAAAoE,EAAAhE,GAAA,EAACC,IAAKA,CACJC,IACE0D,IAAAA,EACI,+BACA,8BAENxD,IAAI,YACJC,MAAO,GACPC,OAAQ,GACRV,UAAU,0BACV4E,SAAU,OAGd,GAAAR,EAAAhE,GAAA,EAACO,MAAAA,CACCX,UAAY,iIAEZ,GAAAoE,EAAAhE,GAAA,EAACC,IAAKA,CACJC,IACE0D,IAAgBJ,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAkBW,MAAM,EAAG,EACvC,gCACA,+BAEN/D,IAAI,aACJC,MAAO,GACPC,OAAQ,GACRV,UAAU,0BACV4E,SAAU,cAOxB,mcCzMA,IAAMC,EAA0BC,CAAAA,EAAAA,EAAAA,EAAAA,EAAGA,mcE+InC,IAAAC,EArImB,OAAC,EAAE,CAAApF,EACd,CAAEqF,KAAAA,CAAI,CAAE,CAAQC,CAAAA,EAAAA,EAAAA,EAAAA,IAChB,CAACC,EAAOC,EAAS,CAAG3D,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAC7B,CAAC4D,EAAsB,CAAGC,CAAAA,EAAAA,EAAAA,CAAAA,EFJnBR,GEKbS,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRH,EAASH,OAAAA,GAAiBA,EAAKO,aAAa,CAAGP,EAAKE,KAAK,CAAG,GAC9D,EAAG,CAACF,EAAK,EAET,IAAMQ,EAAe,MAAOC,IAC1B,IAAMC,EAAWC,SDrBWT,CAAK,EACnC,IAAMU,EAAQV,EAAMW,KAAK,CAAC,KACpBH,EAAWE,CAAK,CAAC,EAAE,CACnBE,EAAgBJ,EAASK,OAAO,CAAC,aAAc,IACrD,OAAOD,CACT,ECgBqCZ,GAEjCO,EAAMO,cAAc,GACpBP,EAAMQ,eAAe,GACrB,GAAI,CACF,GAAM,CAAEC,KAAAA,CAAI,CAAE,CAAG,MAAMd,EAAsB,CAC3Ce,UAAW,CACTjB,MAAOA,EACPkB,OAAQ,YACV,CACF,EACIF,CAAAA,EAAKG,sCAAsC,CAACC,aAAa,CAAG,GAK9D,MAAMC,MAAM,yBAA0B,CACpCC,OAAQ,OACRC,KAAMC,KAAKC,SAAS,CANJ,CAChBC,SAAUlB,EACVR,MAAOA,CACT,EAIA,GACA2B,EAAAA,EAAKA,CAACC,OAAO,CAAC,gDAGdD,EAAAA,EAAKA,CAACE,KAAK,CAAC,gDACZ5B,EAAS,GAEb,CAAE,MAAO4B,EAAO,CAEZA,aAAiBC,OACjBD,EAAMzC,QAAQ,GAAG2C,QAAQ,CAAC,wBAE1BJ,EAAAA,EAAKA,CAACE,KAAK,CACT,mEAGFF,EAAAA,EAAKA,CAACE,KAAK,CAAC,6CAEhB,CACF,EAEMG,EAAoBhG,EAAAA,EAAMA,CAACY,EAAE,CAAAqF,UAAA,iFAK7BC,EAAgBlG,EAAAA,EAAMA,CAACP,GAAG,CAAAwG,UAAA,6EAK1BE,EAAanG,EAAAA,EAAMA,CAACyD,CAAC,CAAAwC,UAAA,8DAK3B,MADeG,CAAAA,EAAAA,EAAAA,SAAAA,IAEb,GAAAzH,EAAAO,GAAA,EAAAP,EAAA0H,QAAA,WACE,GAAA1H,EAAAO,GAAA,EAACoH,UAAAA,CACCnD,GAAG,aACHrE,UAAY,uFAEZ,GAAAH,EAAAC,IAAA,EAACa,MAAAA,CAAIX,UAAU,8FAmBb,GAAAH,EAAAC,IAAA,EAACa,MAAAA,CAAIX,UAAY,gCACf,GAAAH,EAAAO,GAAA,EAACuE,IAAAA,CAAE3E,UAAU,kGAAyF,eAGtG,GAAAH,EAAAO,GAAA,EAAC8G,EAAAA,CAAkBlH,UAAU,0FAAiF,iCAG9G,GAAAH,EAAAO,GAAA,EAACgH,EAAAA,CAAcpH,UAAU,4CAE3B,GAAAH,EAAAO,GAAA,EAACO,MAAAA,CAAIX,UAAU,+BACb,GAAAH,EAAAO,GAAA,EAACiH,EAAAA,CAAWrH,UAAU,mFAA0E,4FAMlG,GAAAH,EAAAO,GAAA,EAACqH,OAAAA,CAAKC,SAAUlC,WACd,GAAA3F,EAAAC,IAAA,EAACa,MAAAA,CAAIX,UAAU,wFACb,GAAAH,EAAAO,GAAA,EAACuH,QAAAA,CACC3H,UAAU,sOACV4H,YAAY,mBACZhH,KAAK,QACLiH,SAAQ,GACRC,KAAK,QACLC,SAAUC,GAAK7C,EAAS6C,EAAEC,MAAM,CAACC,KAAK,EACtCC,UAAW,GACXC,UAAW,EACXF,MAAOhD,IAET,GAAArF,EAAAO,GAAA,EAACiI,SAAAA,CACCrI,UAAY,wbACZsI,kBAAgB,OAChBC,wBAAsB,iBACvB,yBASf,29BC3HA,IAAMC,EAAgBtH,EAAAA,EAAMA,CAACP,GAAG,CAAAwG,UAAA,2EAqB1BsB,EAAcvH,CAAAA,EAAAA,EAAAA,EAAAA,EAAOb,KAAKA,UAAAA,CAAAA,wEAI1BqI,EAAcxH,EAAAA,EAAMA,CAACyH,KAAK,CAAAxB,UAAA,wEA6GhCyB,CAAAA,EAAAC,CAAA,CA5FiB,OAAC,CAChBpF,MAAAA,CAAK,CACLqF,QAAAA,CAAO,CACPC,MAAAA,CAAK,CACLC,SAAAA,CAAQ,CACRL,MAAAA,CAAK,CACLM,QAAAA,CAAO,CACPC,QAAAA,CAAO,CACPC,gBAAAA,CAAe,CACfC,YAAAA,CAAW,CACJ,CAAAzJ,EACP,MACE,GAAAyE,EAAAhE,GAAA,EAACoH,UAAAA,CAAQxH,UAAU,yCACjB,GAAAoE,EAAAtE,IAAA,EAAC0I,EAAAA,CACCnE,GAAG,WACHrE,UAAU,sFAEV,GAAAoE,EAAAhE,GAAA,EAACO,MAAAA,CAAIX,UAAU,wDAEf,GAAAoE,EAAAhE,GAAA,EAACO,MAAAA,CACCX,UAAW,GAEVE,MAAA,CADC,CAACyI,GAAS,sDAGb,CAACA,GACA,GAAAvE,EAAAhE,GAAA,EAACqI,EAAAA,CACCjI,IAAKwI,GAAsBvF,EAC3BnD,IAAKyI,EACLM,OAAO,OACPC,QAAS,MAIZX,GACC,GAAAvE,EAAAtE,IAAA,EAAAsE,EAAAmD,QAAA,YACE,GAAAnD,EAAAhE,GAAA,EAACO,MAAAA,CAAIX,UAAU,2BACb,GAAAoE,EAAAhE,GAAA,EAACsI,EAAAA,CAAYpI,IAAKyI,EAAOQ,MAAK,GAACC,KAAI,GAACC,SAAQ,GAACC,YAAW,OAG1D,GAAAtF,EAAAhE,GAAA,EAACqI,EAAAA,CACCjI,IAAI,cACJF,IAAI,gHACJ+I,OAAO,OACPrJ,UAAU,iBACV4E,SAAU,GACV0E,QAAS,QAIf,GAAAlF,EAAAhE,GAAA,EAACO,MAAAA,CAAIX,UAAU,6CACb,GAAAoE,EAAAtE,IAAA,EAACa,MAAAA,CAAIX,UAAU,qDACb,GAAAoE,EAAAtE,IAAA,EAAC6J,KAAAA,CAAG3J,UAAU,iFACX,IACAiJ,GACC,GAAA7E,EAAAhE,GAAA,EAACwJ,OAAAA,CAAK5J,UAAU,sCAA6B,UAC5C,IACFyD,KAAAA,EAAMoG,OAAO,CAAC,SAAkBpG,EAAMoC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAGpC,KAG5D2F,GACC,GAAAhF,EAAAhE,GAAA,EAACO,MAAAA,CAAIX,UAAU,uCACb,GAAAoE,EAAAhE,GAAA,EAAC0J,KAAAA,CAAG9J,UAAU,4DAAmD,mCAKpE8I,iBAAAA,GACC,GAAA1E,EAAAhE,GAAA,EAACuE,IAAAA,CAAE3E,UAAU,gHACV8I,IAGJI,GACC,GAAA9E,EAAAhE,GAAA,EAACO,MAAAA,CAAIX,UAAU,oCACb,GAAAoE,EAAAhE,GAAA,EAACiI,SAAAA,CACC3D,QAAS,SACPyE,CAAAA,OAAAA,GAAAA,OAAAA,CAAAA,EAAAA,EAAiBtG,OAAO,GAAxBsG,KAAAA,IAAAA,GAAAA,EAA0BY,cAAc,CAAC,CACvCC,SAAU,SACVC,MAAO,QACT,EACF,EACAjK,UAAU,kDACX,gCAUjB,qFCvCA4I,CAAAA,EAAAC,CAAA,CAzGmB,OAAC,CAClBqB,WAAAA,CAAU,CACVC,YAAAA,CAAW,CACXC,iBAAAA,CAAgB,CACA,CAAAzK,EA0DhB,MACE,GAAA0K,EAAAvK,IAAA,EAACa,MAAAA,CAAIX,UAAU,mGACb,GAAAqK,EAAAjK,GAAA,EAACiI,SAAAA,CACCrI,UAAU,mCACV0E,QAAS,IAAM0F,EAAiBD,EAAc,GAC9CG,SAAUH,IAAAA,WAEV,GAAAE,EAAAjK,GAAA,EAACC,IAAKA,CACJC,IACE6J,IAAAA,EACI,+BACA,8BAEN1J,MAAO,GACPC,OAAQ,GACRF,IAAI,cACJR,UAAU,wEAGd,GAAAqK,EAAAjK,GAAA,EAACO,MAAAA,CAAIX,UAAU,wDACZuK,CA7EmB,KACxB,IAAMC,EAAmC,EAAE,CAM3C,GAHAA,EAAYC,IAAI,CAAC,GAGbP,GAAc,EAChB,IAAK,IAAIQ,EAAI,EAAGA,EAAIR,EAAYQ,IAC9BF,EAAYC,IAAI,CAACC,QAInB,GAAIP,GAAe,EAAG,CACpB,IAAK,IAAIO,EAAI,EAAGA,GAAK,EAAGA,IACtBF,EAAYC,IAAI,CAACC,GAEnBF,EAAYC,IAAI,CAAC,MACnB,MAEK,GAAIN,EAAc,GAAKA,EAAcD,EAAa,EACrDM,EAAYC,IAAI,CAAC,OACjBD,EAAYC,IAAI,CAACN,EAAc,GAC/BK,EAAYC,IAAI,CAACN,GACjBK,EAAYC,IAAI,CAAC,WAGd,CACHD,EAAYC,IAAI,CAAC,OACjB,IAAK,IAAIC,EAAIR,EAAa,EAAGQ,EAAIR,EAAYQ,IAC3CF,EAAYC,IAAI,CAACC,EAErB,CAMF,OAFAF,EAAYC,IAAI,CAACP,GAEVM,EAAYtH,GAAG,CAAC,CAACyH,EAAYxH,IAClC,GAAAkH,EAAAjK,GAAA,EAACiI,SAAAA,CAECrI,UAAW,kHAIVE,MAAA,CAHCiK,IAAgBQ,EACZ,wBACA,6BAENjG,QAAS,IACP0F,EACE,iBAAOO,EAA0BA,EAAaR,YAIjDQ,GAZIxH,GAeX,OAwBI,GAAAkH,EAAAjK,GAAA,EAACiI,SAAAA,CACCrI,UAAU,mCACV0E,QAAS,IAAM0F,EAAiBD,EAAc,GAC9CG,SAAUH,IAAgBD,WAE1B,GAAAG,EAAAjK,GAAA,EAACC,IAAKA,CACJC,IACE6J,IAAgBD,EACZ,gCACA,+BAENzJ,MAAO,GACPC,OAAQ,GACRF,IAAI,eACJR,UAAU,0EAKpB,oHCzGO,IAAMgC,EAAoB,OAAC,CAAEP,aAAAA,CAAY,CAA0B,CAAA9B,EACxE,MACE,GAAA0K,EAAAjK,GAAA,EAACO,MAAAA,UACEc,EACC,GAAA4I,EAAAvK,IAAA,EAAC8K,MAAAA,CACCnK,MAAM,KACNC,OAAO,KACPmK,QAAQ,YACRC,KAAK,OACLC,MAAM,uCAEN,GAAAV,EAAAjK,GAAA,EAAC4K,OAAAA,CACCC,EAAE,OACFC,EAAE,MACFzK,MAAM,KACNC,OAAO,KACPyK,GAAG,OACHC,UAAU,0BACVC,OAAO,YAET,GAAAhB,EAAAjK,GAAA,EAACkL,OAAAA,CACCC,EAAE,mDACFF,OAAO,UACPG,oBAAkB,KAClBC,iBAAe,QACfC,kBAAgB,UAElB,GAAArB,EAAAjK,GAAA,EAACkL,OAAAA,CACCC,EAAE,sBACFF,OAAO,UACPG,oBAAkB,KAClBC,iBAAe,QACfC,kBAAgB,aAIpB,GAAArB,EAAAvK,IAAA,EAAC8K,MAAAA,CACCG,MAAM,6BACNtK,MAAM,KACNC,OAAO,KACPmK,QAAQ,YACRC,KAAK,iBAEL,GAAAT,EAAAjK,GAAA,EAACuL,SAAAA,CAAOC,GAAG,OAAOC,GAAG,OAAOC,EAAE,OAAOhB,KAAK,YAC1C,GAAAT,EAAAjK,GAAA,EAACkL,OAAAA,CACCC,EAAE,8VACFT,KAAK,cAMjB,EACa7I,EAAqB,OAAC,CACjCX,YAAAA,CAAW,CACa,CAAA3B,EACxB,MACE,GAAA0K,EAAAjK,GAAA,EAACO,MAAAA,UACEW,EACC,GAAA+I,EAAAvK,IAAA,EAAC8K,MAAAA,CACCnK,MAAM,KACNC,OAAO,KACPmK,QAAQ,YACRC,KAAK,OACLC,MAAM,uCAEN,GAAAV,EAAAjK,GAAA,EAAC4K,OAAAA,CACCC,EAAE,MACFC,EAAE,MACFzK,MAAM,KACNC,OAAO,KACPyK,GAAG,OACHE,OAAO,YAET,GAAAhB,EAAAjK,GAAA,EAACkL,OAAAA,CACCC,EAAE,mDACFF,OAAO,UACPG,oBAAkB,KAClBC,iBAAe,QACfC,kBAAgB,UAElB,GAAArB,EAAAjK,GAAA,EAACkL,OAAAA,CACCC,EAAE,oBACFF,OAAO,UACPG,oBAAkB,KAClBC,iBAAe,QACfC,kBAAgB,aAIpB,GAAArB,EAAAvK,IAAA,EAAC8K,MAAAA,CACCG,MAAM,6BACNtK,MAAM,KACNC,OAAO,KACPmK,QAAQ,YACRC,KAAK,iBAEL,GAAAT,EAAAjK,GAAA,EAACuL,SAAAA,CAAOC,GAAG,OAAOC,GAAG,OAAOC,EAAE,OAAOhB,KAAK,YAC1C,GAAAT,EAAAjK,GAAA,EAACkL,OAAAA,CACCC,EAAE,kVACFT,KAAK,cAMjB,kCCtGAlC,CAAAA,EAAAC,CAAA,CAVA,SAAyBxE,CAAU,EACjC,IAAI0H,EAAUC,SAASC,cAAc,CAAC5H,GAClC0H,GACFA,EAAQhC,cAAc,CAAC,CACrBC,SAAU,SACVC,MAAO,QACPiC,OAAQ,SACV,EAEJ,iECiCO,SAASC,EAAgCxE,CAAK,EAEnD,GAAIA,MAAAA,EAAe,OAAOA,EAK1B,IAAMyE,EAAgC,OACpC,qHACA,MAMF,GAAI,iBAAOzE,EAAoB,CAE7B,IAAM0E,EAAe,EAAE,CACnBC,EAAkB3E,EAAM5B,OAAO,CACjCqG,EACAG,IACEF,EAAa5B,IAAI,CAAC8B,GACX,yBAKXD,EAAkBA,EACfvG,OAAO,CAfK,uBAeMyG,GAEVA,EAAIzG,OAAO,CAAC,iBAAkB,mBAEtCA,OAAO,CAAC,iBAAkB,mBAC1BA,OAAO,CAAC,gBAAiB,mBACzBA,OAAO,CAAC,gBAAiB,kBACzBA,OAAO,CAAC,gBAAiB,kBACzBA,OAAO,CAAC,4BAA6B,2BAGxC,IAAI0G,EAAmB,EAKvB,OAJkBH,EAAgBvG,OAAO,CAAC,wBAAyB,IAC1DsG,CAAY,CAACI,IAAmB,CAI3C,CAGA,GAAIC,MAAMC,OAAO,CAAChF,GAChB,OAAOA,EAAMzE,GAAG,CAAC0J,GAAQT,EAAgCS,IAI3D,GAAI,iBAAOjF,EAAoB,CAC7B,IAAMkF,EAAS,CAAC,EAChB,IAAK,IAAMC,KAAOnF,EACZoF,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACvF,EAAOmF,IAC9CD,CAAAA,CAAM,CAACC,EAAI,CAAGX,EAAgCxE,CAAK,CAACmF,EAAI,GAG5D,OAAOD,CACT,CAGA,OAAOlF,CACT,2NIrDO,SAAAtC,EAAA8H,CAAA,CAAAC,CAAA,EACP,IAAAC,EAAiB,GAAAC,EAAArC,CAAA,EAAemC,MAAAA,EAAA,OAAAA,EAAAC,MAAA,EAC5B,GAAAE,EAAAC,EAAA,EAAkBL,EAAWI,EAAAE,EAAY,CAAAC,QAAA,EAC7C,IAAAC,EAAaC,EAAApM,QAAc,EAC3BqM,OAAA,GACAC,QAAA,GACAT,OAAAA,CACA,GAAKU,EAAAJ,CAAA,IAAAK,EAAAL,CAAA,IACL5L,EAAc6L,EAAAhM,MAAY,EAC1BmM,OAAAA,EACAE,WAAA,EACAC,UAAA,GACAb,OAAAA,EACAF,SAAAA,EACAC,QAAAA,CACA,GACI,GAAAe,EAAAC,CAAA,EAAyB,WAC7BrB,OAAAsB,MAAA,CAAAtM,EAAAc,OAAA,EAAqCwK,OAAAA,EAAAD,QAAAA,EAAAD,SAAAA,CAAA,EACrC,GACA,IAAAmB,EAAkBV,EAAAW,WAAiB,UAAAC,CAAA,EACnC,SAAAA,GAAyCA,CAAAA,EAAA,IACzC,IAAAb,EAAA5L,EAAAc,OAAA,CAAAuK,EAAAO,EAAAP,OAAA,CAAAD,EAAAQ,EAAAR,QAAA,CACAsB,EAA0B,GAAAC,EAAAC,EAAA,EAAS,GAAAD,EAAAC,EAAA,EAAQ,GAAGvB,GAAA,CAAcD,SAAAA,CAAA,GAC5DE,EAAAmB,EAAAnB,MAAA,EAAAtL,EAAAc,OAAA,CAAAwK,MAAA,CACAtL,EAAAc,OAAA,CAAAkL,MAAA,CAAAD,OAAA,EACAW,EAAAG,aAAA,GACA7M,EAAAc,OAAA,CAAAqL,SAAA,EACAF,EAAAjM,EAAAc,OAAA,CAAAkL,MAAA,EACAD,QAAA,GACA/G,MAAA,OACAb,KAAA,OACA2H,OAAA,GACAR,OAAAA,CACA,GAEA,IAAAY,EAAA,EAAAlM,EAAAc,OAAA,CAAAoL,UAAA,CACAY,EAA4B,GAAAC,EAAAC,CAAA,EAAYN,EAAAD,GACxC,OAAAnB,EACA2B,MAAA,CAAAH,GACAI,IAAA,UAAAC,CAAA,EAEA,IADAvB,EAAAwB,EACAjJ,EAAAgJ,EAAAhJ,IAAA,CAAAkJ,EAAAF,EAAAE,MAAA,CACArI,EAAAqI,GAAAA,EAAA7K,MAAA,GACA,IAAoB8K,EAAAC,EAAW,EAAGC,cAAAH,CAAA,GAClC,OACAI,EAAAhB,EAAAgB,OAAA,UAAA7B,CAAAA,EAAA5L,EAAAc,OAAA,CAAAuK,OAAA,GAAAO,KAAA,IAAAA,EAAA,OAAAA,EAAA6B,OAAA,EAIA,GAHAzI,GAAAyI,GACAA,EAAAzI,EAAA8H,GAEAZ,IAAAlM,EAAAc,OAAA,CAAAoL,UAAA,EACA,CAAAY,EAAAD,aAAA,EACA,IAAAa,EAAA,CACA5B,OAAA,GACAC,QAAA,GACA5H,KAAAA,EACAa,MAAAA,EACAsG,OAAAA,CACA,CACAtL,CAAAA,EAAAc,OAAA,CAAAqL,SAAA,GAA8C,GAAAwB,EAAAC,CAAA,EAAK5N,EAAAc,OAAA,CAAAkL,MAAA,CAAA0B,IACnDzB,EAAAjM,EAAAc,OAAA,CAAAkL,MAAA,CAAA0B,EAEA,CACA,IAAAG,EAAApB,EAAAoB,WAAA,UAAAT,CAAAA,EAAApN,EAAAc,OAAA,CAAAuK,OAAA,GAAA+B,KAAA,IAAAA,EAAA,OAAAA,EAAAS,WAAA,EAIA,OAHA7I,GACA6I,MAAAA,GAAAA,EAAAV,EAAAhJ,IAAA,CAAA2I,GAEAK,CACA,GACAW,KAAA,UAAA9I,CAAA,EAEA,GAAAkH,IAAAlM,EAAAc,OAAA,CAAAoL,UAAA,EAAAlM,EAAAc,OAAA,CAAAqL,SAAA,EACA,IAFAP,EAEAmC,EAAA,CACAhC,QAAA,GACA/G,MAAAA,EACAb,KAAA,OACA2H,OAAA,GACAR,OAAAA,CACA,EACqB,GAAAqC,EAAAC,CAAA,EAAK5N,EAAAc,OAAA,CAAAkL,MAAA,CAAA+B,IAC1B9B,EAAAjM,EAAAc,OAAA,CAAAkL,MAAA,CAAA+B,EAEA,CACA,IAAAN,EAAAhB,EAAAgB,OAAA,UAAA7B,CAAAA,EAAA5L,EAAAc,OAAA,CAAAuK,OAAA,GAAAO,KAAA,IAAAA,EAAA,OAAAA,EAAA6B,OAAA,EACA,GAAAA,EAGA,OAFAA,EAAAzI,EAAA8H,GAEA,CAAyB3I,KAAA,OAAAkJ,OAAArI,CAAA,CAEzB,OAAAA,CACA,EACA,EAAK,IACLgJ,EAAgBnC,EAAAW,WAAiB,YACjC,GAAAxM,EAAAc,OAAA,CAAAqL,SAAA,EACA,IAAA8B,EAAA,CACAnC,OAAA,GACAC,QAAA,GACAT,OAAAtL,EAAAc,OAAA,CAAAwK,MAAA,EAEAN,OAAAsB,MAAA,CAAAtM,EAAAc,OAAA,EAAyCoL,WAAA,EAAAF,OAAAiC,CAAA,GACzChC,EAAAgC,EACA,CACA,EAAK,IAQL,OAPIpC,EAAAtI,SAAe,YACnB,IAAAzC,EAAAd,EAAAc,OAAA,CAEA,OADAA,EAAAqL,SAAA,IACA,WACArL,EAAAqL,SAAA,GACA,CACA,EAAK,IACL,CAAAI,EAAqB,GAAAI,EAAAC,EAAA,EAAQ,CAAGoB,MAAAA,CAAA,EAAchC,GAAA,AAC9C","sources":["webpack://_N_E/./components/Blogs/RevampedBlogs/BlogAuthors/AuthorProfileCard.tsx","webpack://_N_E/./components/Blogs/RevampedBlogs/BlogAuthors/BlogAuthors.tsx","webpack://_N_E/./components/Blogs/RevampedBlogs/SearchAndFilterBlogs/SearchAndFilterBlogs.tsx","webpack://_N_E/./api/newsletterSubscriptionMutation.ts","webpack://_N_E/./utils/getUserName.js","webpack://_N_E/./layouts/Newsletter/Newsletter.tsx","webpack://_N_E/./layouts/PageHero.tsx","webpack://_N_E/./shared-components/Pagination/Pagination.tsx","webpack://_N_E/./shared-components/SwipperArrows/SwipperArrows.tsx","webpack://_N_E/./utils/scrollIntoView.tsx","webpack://_N_E/./utils/trip-sheppered-text.js","webpack://_N_E/./node_modules/swiper/modules/navigation/navigation.min.css","webpack://_N_E/./node_modules/swiper/modules/pagination/pagination.min.css","webpack://_N_E/./node_modules/swiper/swiper.min.css","webpack://_N_E/./node_modules/@apollo/client/react/hooks/useMutation.js","webpack://_N_E/<anon>"],"sourcesContent":["import Image from 'next/image';\nimport React from 'react';\nimport Link from 'next/link';\nimport { Author } from '../../../../pages/blog';\n\ninterface AuthorProfileCardProps {\n  author: Author;\n}\n\nexport default function AuthorProfileCard({ author }: AuthorProfileCardProps) {\n  return (\n    <Link\n      className=\"2xl:w-[200px] 2xl:h-[250px] sm:w-[150px] sm:h-[183px] xl:h-[214px] flex flex-col items-center gap-3 cursor-pointer\"\n      href={`/author/${author.slug}`}\n    >\n      <Image\n        src={author.image ?? '/default-profile-icon.svg'}\n        alt=\"profile-icon\"\n        width={120}\n        height={120}\n        className=\"rounded-full w-[80px] h-[80px] sm:w-[110px] sm:h-[110px] xl:w-[130px] xl:h-[130px] object-cover border-[#DDDDDD] border-[2px]\"\n      />\n      <div className=\"text-black2 text-sm sm:text-base 2xl:text-lg font-normal leading-[21px] text-center whitespace-nowrap\">\n        {author.name}\n      </div>\n      <div className=\"text-gray75 text-xs sm:text-sm xl:text-base font-normal leading-[21px] text-center\">\n        {author.tagLine ?? 'Travel Writer'}\n      </div>\n    </Link>\n  );\n}\n","import React, { useState, useRef } from 'react';\nimport AuthorProfileCard from './AuthorProfileCard';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport SwiperCore, { Navigation } from 'swiper';\nimport 'swiper/css';\nimport 'swiper/css/navigation';\nimport 'swiper/css/pagination';\nSwiperCore.use([Navigation]);\n\nimport styled from 'styled-components';\nimport {\n  LeftSwipperArrows,\n  RightSwipperArrows\n} from '../../../../shared-components/SwipperArrows/SwipperArrows';\nimport { Author } from '../../../../pages/blog';\n\ninterface BlogAuthorProps {\n  authors: Author[];\n}\n\nconst StyledSwipper = styled(Swiper)`\n  margin: 0px !important;\n  .swiper-slide {\n    width: 350px;\n    justify-content: center;\n    display: flex;\n  }\n`;\n\nexport default function BlogAuthors({ authors }: BlogAuthorProps) {\n  const [isLastSlide, setIsLastSlide] = useState(false);\n  const [isFirstSlide, setIsFirstSlide] = useState(false);\n\n  const prevRef = useRef<HTMLDivElement>(null);\n  const nextRef = useRef<HTMLDivElement>(null);\n\n  const handleSlideChange = (swiper: any) => {\n    setIsLastSlide(swiper.isEnd);\n    setIsFirstSlide(swiper.isBeginning);\n  };\n\n  const handleSwiperInit = (swiper: any) => {\n    swiper.params.navigation.prevEl = prevRef.current;\n    swiper.params.navigation.nextEl = nextRef.current;\n    swiper.navigation.init();\n    swiper.navigation.update();\n\n    setIsFirstSlide(swiper.isBeginning);\n    setIsLastSlide(swiper.isEnd);\n  };\n\n  return (\n    <div className=\"flex flex-col gap-[22px] sm:gap-[40px] xl:gap-[60px]\">\n      <div className=\"flex items-center justify-between\">\n        <h2 className=\"text-black2 text-xl sm:text-[22px] md:text-[26px] lg:text-[26px] 2xl:text-3xl 3xl:text-4xl font-semibold\">\n          Our Authors\n        </h2>\n        <div className=\"flex\">\n          <div className=\"flex gap-2\">\n            <div ref={prevRef} className=\"prev\">\n              <LeftSwipperArrows isFirstSlide={isFirstSlide} />\n            </div>\n            <div ref={nextRef} className=\"next\">\n              <RightSwipperArrows isLastSlide={isLastSlide} />\n            </div>\n          </div>\n        </div>\n      </div>\n\n      <StyledSwipper\n        slidesPerView={5}\n        spaceBetween={10}\n        grabCursor\n        onSlideChange={handleSlideChange}\n        onInit={handleSwiperInit}\n        navigation={{ prevEl: prevRef.current, nextEl: nextRef.current }}\n        breakpoints={{\n          320: { slidesPerView: 2 },\n          425: { slidesPerView: 3 },\n          640: { slidesPerView: 3 },\n          768: { slidesPerView: 4 },\n          1024: { slidesPerView: 5 },\n          1280: { slidesPerView: 6 },\n          1440: { slidesPerView: 6 },\n          1800: { slidesPerView: 7 },\n          1920: { slidesPerView: 8 },\n          2200: { slidesPerView: 9 }\n        }}\n      >\n        {authors?.map((author, index) => (\n          <SwiperSlide key={index}>\n            <AuthorProfileCard author={author} />\n          </SwiperSlide>\n        ))}\n      </StyledSwipper>\n    </div>\n  );\n}\n","import Image from 'next/image';\nimport React, { useState } from 'react';\nimport SwiperCore, { Navigation } from 'swiper';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport 'swiper/css';\nimport 'swiper/css/pagination';\nimport 'swiper/css/navigation';\nimport { styled } from 'styled-components';\nimport { BlogCity } from '../../../../pages/blog';\n\n// Install Swiper modules\nSwiperCore.use([Navigation]);\n\ninterface SearchAndFilterBlogsProps {\n  title: string;\n  searchQuery: string;\n  handleInputChange: (e: any) => void;\n  sliderCategories: BlogCity[];\n  onCityChange: (newCityId: string) => void;\n}\n\ninterface StyledSwiperProps {\n  isfirstslide: string;\n  isLastSlide: string;\n}\n\nconst StyledSwiper = styled(Swiper)<StyledSwiperProps>`\n  width: auto !important;\n  height: 32px;\n\n  .swiper {\n    width: auto !important;\n  }\n  .swiper-slide {\n    width: auto !important;\n    display: flex;\n    align-items: center;\n  }\n  .swiper-wrapper {\n    display: flex !important;\n\n    margin-left: ${props => (props.isfirstslide == 'true' ? `50px` : '0px')};\n    margin-right: ${props => (props.isLastSlide == 'true' ? `50px` : '50px')};\n    @media (max-width: 767px) {\n      margin-left: ${props => (props.isfirstslide == 'true' ? `40px` : '0px')};\n    }\n  }\n  .swiper-button-prev:after,\n  .swiper-rtl .swiper-button-next:after {\n    display: none;\n  }\n\n  .swiper-button-prev {\n    left: 0px !important;\n  }\n  .swiper-button-next:after,\n  .swiper-rtl .swiper-button-prev:after {\n    display: none;\n  }\n\n  .swiper-button-next {\n    right: 0px !important;\n  }\n`;\n\nexport default function SearchAndFilterBlogs({\n  title,\n  searchQuery,\n  handleInputChange,\n  sliderCategories,\n  onCityChange\n}: SearchAndFilterBlogsProps) {\n  const [selectedCategory, setSelectedCategory] = useState('all-blogs');\n  const [activeIndex, setActiveIndex] = useState(0);\n\n  const handleCategoryClick = (cityId: string) => {\n    setSelectedCategory(cityId);\n    onCityChange(cityId);\n  };\n\n  const handleSlideChange = (swiper: any) => {\n    setActiveIndex(swiper.activeIndex);\n  };\n\n  return (\n    <div className=\"flex flex-col gap-6 sm:gap-8\">\n      <div\n        className=\"flex sm:justify-between flex-col sm:flex-row gap-6 sm:gap-0 sm:items-center\"\n        id=\"search\"\n      >\n        <h2 className=\"text-black2 text-xl md:text-[26px] 2xl:text-3xl 3xl:text-4xl font-semibold\">\n          {title}\n        </h2>\n        {/*  commenting for later implementation\n        <div className=\"rounded-[30px] flex border border-[#e0e0e0] justify-between items-center py-1.5 2xl:py-[0.4rem] 3xl:py-2.5 px-4 w-full sm:w-[285px]\">\n          <input\n            className=\"rounded-[30px] bg-grayFA px-1 placeholder:text-[#9e9e9e] text-black2 text-sm sm:text-base font-normal leading-7 tracking-wide focus:outline-none\"\n            type=\"text\"\n            placeholder=\"Search\"\n            value={searchQuery}\n            onChange={handleInputChange}\n          />\n          <Image\n            height={24}\n            width={24}\n            src=\"/lightGray-search-icon.svg\"\n            alt=\"search-normal\"\n            className={`w-5 h-5 cursor-pointer transition-all duration-300 ease-in-out`}\n          />\n        </div> */}\n      </div>\n      <div id=\"filter\">\n        <StyledSwiper\n          slidesPerView={10}\n          spaceBetween={25}\n          grabCursor\n          navigation={{\n            nextEl: '.swiper-button-next',\n            prevEl: '.swiper-button-prev'\n          }}\n          onSlideChange={handleSlideChange}\n          isfirstslide={(activeIndex === 0).toString()}\n          isLastSlide={(activeIndex === sliderCategories.length - 1).toString()}\n          breakpoints={{\n            320: { slidesPerView: 3.28 },\n            340: { slidesPerView: 3.48 },\n            360: { slidesPerView: 3.67 },\n            375: { slidesPerView: 3.82 },\n            390: { slidesPerView: 3.96 },\n            414: { slidesPerView: 4.15 },\n            425: { slidesPerView: 3.83 },\n            540: { slidesPerView: 4.8 },\n            640: { slidesPerView: 5 },\n            768: { slidesPerView: 5.74 },\n            1024: { slidesPerView: 7.84 },\n            1280: { slidesPerView: 9.4 },\n            1440: { slidesPerView: 10.5 },\n            1536: { slidesPerView: 10.6 },\n            1700: { slidesPerView: 11.7 },\n            1800: { slidesPerView: 13 },\n            1920: { slidesPerView: 14 },\n            2200: { slidesPerView: 16 }\n          }}\n          className=\"custom-swiper\"\n        >\n          {sliderCategories\n            ?.filter(city => city !== null)\n            .map((city, index) => (\n              <SwiperSlide\n                key={index}\n                onClick={() => handleCategoryClick(city.id)}\n              >\n                <div\n                  className={`flex flex-col items-center justify-between cursor-pointer border-b-2 border-solid ${\n                    selectedCategory === city.id\n                      ? 'border-primary text-primary'\n                      : 'border-transparent text-black'\n                  }`}\n                >\n                  <p className=\"text-xs msm:text-sm sm:text-base font-normal whitespace-nowrap leading-7 tracking-wide\">\n                    {city.name}\n                  </p>\n                </div>\n              </SwiperSlide>\n            ))}\n\n          <div\n            className={`flex w-[2.5rem] h-[4.15rem] bg-white justify-start  absolute z-20 cursor-pointer swiper-button-prev items-center left-0 \n      top-0`}\n          >\n            <Image\n              src={\n                activeIndex === 0\n                  ? '/gray-circled-left-arrow.svg'\n                  : '/red-circled-left-arrow.svg'\n              }\n              alt=\"left-icon\"\n              width={50}\n              height={50}\n              className=\"w-8 h-8 md:w-12 md:h-12\"\n              priority={true}\n            />\n          </div>\n          <div\n            className={`flex w-[2.5rem] h-[4.15rem] bg-white justify-end absolute z-20 cursor-pointer swiper-button-next items-center right-0`}\n          >\n            <Image\n              src={\n                activeIndex === sliderCategories?.length - 1\n                  ? '/gray-circled-right-arrow.svg'\n                  : '/red-circled-right-arrow.svg'\n              }\n              alt=\"right-icon\"\n              width={50}\n              height={50}\n              className=\"w-8 h-8 md:w-12 md:h-12\"\n              priority={true}\n            />\n          </div>\n        </StyledSwiper>\n      </div>\n    </div>\n  );\n}\n","import { gql } from '@apollo/client';\n\nconst SUBSCRIBE_TO_NEWSLETTER = gql`\n  mutation SubscribeToNewsletter($status: String, $email: String) {\n    insert_boatnew_news_letter_subscribers(\n      objects: { status: $status, email: $email }\n    ) {\n      affected_rows\n    }\n  }\n`;\nexport default SUBSCRIBE_TO_NEWSLETTER;\n","export function extractUserName(email) {\n  const parts = email.split('@');\n  const username = parts[0];\n  const cleanUsername = username.replace(/[^a-zA-Z]/g, '');\n  return cleanUsername;\n}\n","import React, { useEffect, useState } from 'react';\nimport { toast } from 'react-toastify';\nimport styled from 'styled-components';\nimport 'react-toastify/dist/ReactToastify.css';\nimport { useMutation } from '@apollo/client';\nimport SUBSCRIBE_TO_NEWSLETTER from '../../api/newsletterSubscriptionMutation';\nimport { extractUserName } from '../../utils/getUserName';\nimport { useAuthContext } from '../../utils/context/authContext';\nimport { useRouter } from 'next/router';\nimport Image from 'next/image';\nimport { SocialMediaIcons } from '../../shared-components/SocialMediaIcons';\n\nconst Newsletter = ({}) => {\n  const { user }: any = useAuthContext();\n  const [email, setEmail] = useState('');\n  const [subscribeToNewsletter] = useMutation(SUBSCRIBE_TO_NEWSLETTER);\n  useEffect(() => {\n    setEmail(user !== null && user.emailVerified ? user.email : '');\n  }, [user]);\n\n  const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {\n    const username = extractUserName(email);\n\n    event.preventDefault();\n    event.stopPropagation();\n    try {\n      const { data } = await subscribeToNewsletter({\n        variables: {\n          email: email,\n          status: 'Subscribed'\n        }\n      });\n      if (data.insert_boatnew_news_letter_subscribers.affected_rows > 0) {\n        const emailData = {\n          userName: username,\n          email: email\n        };\n        await fetch('/api/subscription_mail', {\n          method: 'POST',\n          body: JSON.stringify(emailData)\n        });\n        toast.success('Successfully subscribed to our Newsletters!');\n        setEmail('');\n      } else {\n        toast.error('Subscription failed. Please try again later.');\n        setEmail('');\n      }\n    } catch (error) {\n      if (\n        error instanceof Error &&\n        error.toString().includes('Uniqueness violation')\n      ) {\n        toast.error(\n          'This email is already subscribed. Please use a different email.'\n        );\n      } else {\n        toast.error('An error occurred. Please try again later.');\n      }\n    }\n  };\n\n  const NewsletterHeading = styled.h2`\n    font-weight: 600;\n    text-align: center;\n    color: #333333;\n  `;\n  const SeparatorLine = styled.div`\n    height: 1px;\n    background: rgba(5, 7, 60, 0.6);\n    border: 1px rgba(19, 19, 19, 0.6);\n  `;\n  const Newsletter = styled.p`\n    font-weight: 400;\n    text-align: center;\n  `;\n  const router = useRouter();\n  return (\n    <>\n      <section\n        id=\"newsletter\"\n        className={`sm:pt-16 sm:pb-32 pb-5 pt-14 flex justify-center items-center relative z-10`}\n      >\n        <div className=\"flex flex-col gap-3 sm:gap-4 w-[80%] md:w-[80%] lg:w-[80%] xl:w-[55%] 3xl:w-[45%]\">\n          {/* <div\n            className={`${\n              router.route === '/things-to-do' ? 'block' : 'hidden'\n            }`}\n          >\n            <div className=\"flex justify-center\">\n              <Image\n                src=\"/logo.svg\"\n                width={110}\n                height={110}\n                alt=\"calendar\"\n                className=\"xl:h-[110px] xl:w-[110px] md:h-[110px] md:w-[90px] h-[110px] w-[90px] \"\n              />\n            </div>\n            <div className=\"text-[20px] xsm:text-[22px] sm:text-[32px] md:text-[50px] xl:text-[70px] flex justify-center text-[#222] tracking-[10px] \">\n              COMING SOON\n            </div>\n          </div> */}\n          <div className={`flex flex-col gap-3`}>\n            <p className=\"text-center text-black13 text-opacity-60 text-base sm:text-lg font-normal leading-snug\">\n              Newsletter\n            </p>\n            <NewsletterHeading className=\"text-center text-black13 text-base sm:text-2xl font-semibold sm:leading-[40px]\">\n              Subscribe to our newsletter!\n            </NewsletterHeading>\n            <SeparatorLine className=\"mx-[1rem] sm:mx-[5rem] lg:mx-[10rem]\" />\n          </div>\n          <div className=\"flex justify-center\">\n            <Newsletter className=\"text-sm  sm:text-base md:text-lg text-black13 text-opacity-60 w-[528px]\">\n              Signup to our newsletter and we will make sure to let you know\n              whenever we have news!\n            </Newsletter>\n          </div>\n\n          <form onSubmit={handleSubmit}>\n            <div className=\"flex justify-center relative sm:mx-20 lg:mx-28 2xl:mx-[6rem] 4xl:mx-[14rem]\">\n              <input\n                className=\"rounded-full text-start pl-[5%] md:pl-[3%] text-black13 xxsm:text-[10px] mmsm:text-base msm:text-sm md:text-lg font-medium leading-[18px] p-2 w-[100%] border   border-gray-400 focus:outline-none h-[50px] sm:h-[55px] lg:h-[65px]\"\n                placeholder=\"Enter your email\"\n                name=\"email\"\n                required\n                type=\"email\"\n                onChange={e => setEmail(e.target.value)}\n                maxLength={50}\n                minLength={2}\n                value={email}\n              />\n              <button\n                className={`xxsm:text-xs mmsm:text-sm lg:text-base w-fit leading-[0.5rem] cursor-pointer absolute xxsm:top-[0.2rem] mmsm:top-[0.1rem] sm:top-[0.45rem] xxsm:right-[0.25rem] mmsm:right-0 sm:right-2   bg-primary border-[#1F2C5B] rounded-full font-medium border-2  sm:leading-none text-white  hover:bg-[#2E3D7A] active:bg-[#2E3D7A] hover:shadow-lg focus:shadow-lg focus:outline-none focus:ring-0  active:shadow-lg transition duration-150 ease-in-out p-3`}\n                data-mdb-ripple=\"true\"\n                data-mdb-ripple-color=\"light\"\n              >\n                Subscribe\n              </button>\n            </div>\n          </form>\n        </div>\n      </section>\n    </>\n  );\n};\n\nexport default Newsletter;\n","import styled from 'styled-components';\nimport Image from 'next/image';\nimport { RefObject } from 'react';\n\ninterface IProps {\n  title: string;\n  snippet: string;\n  media: string;\n  altImage?: string;\n  video: boolean;\n  landing?: boolean;\n  totalReviews?: Record<string, any>;\n  rating?: number;\n  trustworthy?: boolean;\n  partner?: boolean;\n  partnerApplyRef?: RefObject<HTMLButtonElement>;\n}\ninterface StyleProps {\n  isVideo: boolean;\n}\nconst PageHeroStyle = styled.div`\n  height: 55vh;\n  position: relative;\n  overflow: hidden !important;\n\n  display: flex;\n  @media (max-width: 540px) {\n    height: 50vh;\n  }\n  .PageHero_container {\n    display: flex;\n    justify-content: center;\n    flex-direction: column;\n    gap: 1.5rem;\n    width: 100%;\n    z-index: 30;\n    @media (max-width: 540px) {\n      gap: 1rem;\n    }\n  }\n`;\nconst StyledImage = styled(Image)`\n  z-index: 0;\n  object-fit: cover;\n`;\nconst StyledVideo = styled.video`\n  height: 60vh;\n  max-height: 69vh;\n  object-fit: cover;\n  position: absolute;\n  z-index: 0;\n  top: 0;\n  @media (max-width: 2200px) {\n    height: 69vh;\n    max-height: 69vh;\n  }\n  @media (max-width: 540px) {\n    height: 50vh;\n  }\n  width: 100vw !important;\n  z-index: 1;\n`;\nconst PageHero = ({\n  title,\n  snippet,\n  media,\n  altImage,\n  video,\n  landing,\n  partner,\n  partnerApplyRef,\n  trustworthy\n}: IProps): JSX.Element => {\n  return (\n    <section className=\"Hero_Section  overflow-hidden\">\n      <PageHeroStyle\n        id=\"PageHero\"\n        className=\"relative bg-no-repeat bg-cover bg-center flex justify-start items-center \"\n      >\n        <div className=\"absolute w-full h-full z-30 bg-opacity-40 bg-black \" />\n\n        <div\n          className={`${\n            !video && 'absolute top-0 left-0 w-[100%] h-[inherit]  z-20'\n          }`}\n        ></div>\n        {!video && (\n          <StyledImage\n            alt={altImage ? altImage : title}\n            src={media}\n            layout=\"fill\"\n            quality={100}\n            // sizes=\"(max-width: 768px) 50vw\"\n          />\n        )}\n        {video && (\n          <>\n            <div className=\"hidden xl:flex \">\n              <StyledVideo src={media} muted loop autoPlay playsInline />\n            </div>\n\n            <StyledImage\n              alt=\"guidesImage\"\n              src=\"https://res.cloudinary.com/see-sight-tours/image/upload/w_350,q_300/v1682684366/strapi/image1_f0cf2fc9c5.webp\"\n              layout=\"fill\"\n              className=\"flex xl:hidden\"\n              priority={true}\n              quality={60}\n            />\n          </>\n        )}\n        <div className=\"PageHero_container flex flex-col \">\n          <div className=\"flex-col  text-white text-center w-full \">\n            <h1 className=\"text-3xl lg:text-4xl xl:text-5xl 2xl:text-6xl font-bold text-white  \">\n              {' '}\n              {landing && (\n                <span className=\"text-[#F15C5A] opacity-80 \">ULTRA</span>\n              )}{' '}\n              {title.indexOf('ULTRA') !== -1 ? title.split('ULTRA')[1] : title}\n            </h1>\n\n            {trustworthy && (\n              <div className=\"text-white text-center mt-6\">\n                <h3 className=\"text-sm sm:text-[22px] lg:text-[28px] font-[600]\">\n                  Personal | Authentic | Local\n                </h3>\n              </div>\n            )}\n            {snippet !== 'Size Matters' && (\n              <p className=\"w-full text-xl lg:text-2xl xl:text-3xl 2xl:text-4xl font-normal text-center text-white mt-2 md:mt-6 \">\n                {snippet}\n              </p>\n            )}\n            {partner && (\n              <div className=\"flex justify-center mt-5\">\n                <button\n                  onClick={() => {\n                    partnerApplyRef?.current?.scrollIntoView({\n                      behavior: 'smooth',\n                      block: 'center'\n                    });\n                  }}\n                  className=\"p-3 bg-[#F15C5A] text-white rounded-xl\"\n                >\n                  Let&apos;s Partner Up\n                </button>\n              </div>\n            )}\n          </div>\n        </div>\n      </PageHeroStyle>\n    </section>\n  );\n};\nexport default PageHero;\n","import React from 'react';\nimport Image from 'next/image';\n\ninterface PaginationProps {\n  totalPages: number;\n  currentPage: number;\n  handlePageChange: (page: number) => void;\n}\n\nconst Pagination = ({\n  totalPages,\n  currentPage,\n  handlePageChange\n}: PaginationProps) => {\n  const renderPageNumbers = () => {\n    const pageNumbers: (number | string)[] = [];\n\n    // Always show the first page\n    pageNumbers.push(1);\n\n    // If total pages are 5 or less, show all page numbers\n    if (totalPages <= 5) {\n      for (let i = 2; i < totalPages; i++) {\n        pageNumbers.push(i);\n      }\n    } else {\n      // Show pages near the start (when currentPage <= 3)\n      if (currentPage <= 3) {\n        for (let i = 2; i <= 3; i++) {\n          pageNumbers.push(i);\n        }\n        pageNumbers.push('...');\n      }\n      // Show middle pages like 1 ... 3 4 ... totalPages\n      else if (currentPage > 3 && currentPage < totalPages - 2) {\n        pageNumbers.push('...');\n        pageNumbers.push(currentPage - 1);\n        pageNumbers.push(currentPage);\n        pageNumbers.push('...');\n      }\n      // Show pages near the end (when currentPage >= totalPages - 2)\n      else {\n        pageNumbers.push('...');\n        for (let i = totalPages - 2; i < totalPages; i++) {\n          pageNumbers.push(i);\n        }\n      }\n    }\n\n    // Always show the last page\n    pageNumbers.push(totalPages);\n\n    return pageNumbers.map((pageNumber, index) => (\n      <button\n        key={index}\n        className={`text-xs sm:text-sm md:text-base w-[24px] h-[24px] sm:w-[26px] sm:h-[26px] xl:w-[30px] xl:h-[30px] rounded-full ${\n          currentPage === pageNumber\n            ? 'bg-primary text-white'\n            : 'bg-transparent text-black'\n        }`}\n        onClick={() =>\n          handlePageChange(\n            typeof pageNumber === 'number' ? pageNumber : currentPage\n          )\n        }\n      >\n        {pageNumber}\n      </button>\n    ));\n  };\n\n  return (\n    <div className=\"flex items-center justify-center xxsm:gap-2 xsm:gap-2 mmsm:gap-3 sm:gap-6 sm:py-3 py-0\">\n      <button\n        className=\"flex justify-center items-center\"\n        onClick={() => handlePageChange(currentPage - 1)}\n        disabled={currentPage === 1}\n      >\n        <Image\n          src={\n            currentPage === 1\n              ? '/gray-circled-left-arrow.svg'\n              : '/red-circled-left-arrow.svg'\n          }\n          width={30}\n          height={30}\n          alt=\"left-button\"\n          className=\"w-[24px] h-[24px] sm:w-[26px] sm:h-[26px] xl:w-[30px] xl:h-[30px]\"\n        />\n      </button>\n      <div className=\"flex flex-row xxsm:gap-2 mmsm:gap-2 sm:gap-3\">\n        {renderPageNumbers()}\n      </div>\n      <button\n        className=\"flex justify-center items-center\"\n        onClick={() => handlePageChange(currentPage + 1)}\n        disabled={currentPage === totalPages}\n      >\n        <Image\n          src={\n            currentPage === totalPages\n              ? '/gray-circled-right-arrow.svg'\n              : '/red-circled-right-arrow.svg'\n          }\n          width={30}\n          height={30}\n          alt=\"right-button\"\n          className=\"w-[24px] h-[24px] sm:w-[26px] sm:h-[26px] xl:w-[30px] xl:h-[30px]\"\n        />\n      </button>\n    </div>\n  );\n};\n\nexport default Pagination;\n","import React from 'react';\ninterface LeftSwipperArrowsProps {\n  isFirstSlide: boolean;\n}\ninterface RightSwipperArrowsProps {\n  isLastSlide: boolean;\n}\nexport const LeftSwipperArrows = ({ isFirstSlide }: LeftSwipperArrowsProps) => {\n  return (\n    <div>\n      {isFirstSlide ? (\n        <svg\n          width=\"30\"\n          height=\"31\"\n          viewBox=\"0 0 30 31\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <rect\n            x=\"-0.5\"\n            y=\"0.5\"\n            width=\"29\"\n            height=\"29\"\n            rx=\"14.5\"\n            transform=\"matrix(-1 0 0 1 29 0.5)\"\n            stroke=\"#AAAAAA\"\n          />\n          <path\n            d=\"M13.1797 10.9492L8.62719 15.5017L13.1797 20.0542\"\n            stroke=\"#AAAAAA\"\n            stroke-miterlimit=\"10\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          />\n          <path\n            d=\"M21.375 15.5H8.7525\"\n            stroke=\"#AAAAAA\"\n            stroke-miterlimit=\"10\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          />\n        </svg>\n      ) : (\n        <svg\n          xmlns=\"http://www.w3.org/2000/svg\"\n          width=\"31\"\n          height=\"31\"\n          viewBox=\"0 0 31 31\"\n          fill=\"none\"\n        >\n          <circle cx=\"15.5\" cy=\"15.5\" r=\"15.5\" fill=\"#1F2C5B\" />\n          <path\n            d=\"M9.29289 14.2929C8.90237 14.6834 8.90237 15.3166 9.29289 15.7071L15.6569 22.0711C16.0474 22.4616 16.6805 22.4616 17.0711 22.0711C17.4616 21.6805 17.4616 21.0474 17.0711 20.6569L11.4142 15L17.0711 9.34315C17.4616 8.95262 17.4616 8.31946 17.0711 7.92893C16.6805 7.53841 16.0474 7.53841 15.6569 7.92893L9.29289 14.2929ZM21 14L10 14L10 16L21 16L21 14Z\"\n            fill=\"white\"\n          />\n        </svg>\n      )}\n    </div>\n  );\n};\nexport const RightSwipperArrows = ({\n  isLastSlide\n}: RightSwipperArrowsProps) => {\n  return (\n    <div>\n      {isLastSlide ? (\n        <svg\n          width=\"30\"\n          height=\"30\"\n          viewBox=\"0 0 30 30\"\n          fill=\"none\"\n          xmlns=\"http://www.w3.org/2000/svg\"\n        >\n          <rect\n            x=\"0.5\"\n            y=\"0.5\"\n            width=\"29\"\n            height=\"29\"\n            rx=\"14.5\"\n            stroke=\"#AAAAAA\"\n          />\n          <path\n            d=\"M16.8203 10.4492L21.3728 15.0017L16.8203 19.5542\"\n            stroke=\"#AAAAAA\"\n            stroke-miterlimit=\"10\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          />\n          <path\n            d=\"M8.625 15H21.2475\"\n            stroke=\"#AAAAAA\"\n            stroke-miterlimit=\"10\"\n            stroke-linecap=\"round\"\n            stroke-linejoin=\"round\"\n          />\n        </svg>\n      ) : (\n        <svg\n          xmlns=\"http://www.w3.org/2000/svg\"\n          width=\"31\"\n          height=\"31\"\n          viewBox=\"0 0 31 31\"\n          fill=\"none\"\n        >\n          <circle cx=\"15.5\" cy=\"15.5\" r=\"15.5\" fill=\"#1F2C5B\" />\n          <path\n            d=\"M21.7071 15.7071C22.0976 15.3166 22.0976 14.6834 21.7071 14.2929L15.3431 7.92893C14.9526 7.53841 14.3195 7.53841 13.9289 7.92893C13.5384 8.31946 13.5384 8.95262 13.9289 9.34315L19.5858 15L13.9289 20.6569C13.5384 21.0474 13.5384 21.6805 13.9289 22.0711C14.3195 22.4616 14.9526 22.4616 15.3431 22.0711L21.7071 15.7071ZM10 16H21V14H10V16Z\"\n            fill=\"white\"\n          />\n        </svg>\n      )}\n    </div>\n  );\n};\n","/* eslint-disable prefer-const */\nfunction scrollToElement(id: string) {\n  let element = document.getElementById(id);\n  if (element) {\n    element.scrollIntoView({\n      behavior: 'smooth',\n      block: 'start',\n      inline: 'nearest'\n    });\n  }\n}\nexport default scrollToElement;\n","function replaceText(inputString) {\n  // Replace \"https://www.seesight-tours.com\" with \"https://www.tripshepherd.com\"\n  const replacedString1 = inputString?.replace(\n    /https:\\/\\/www\\.seesight-tours\\.com/g,\n    'https://www.tripshepherd.com'\n  );\n\n  // Replace \"See Sight Tours\", \"seesight\", and \"see sight\" with  \"Trip Shepperd\"\n  const replacedString2 = replacedString1?.replace(\n    /See Sight Tours|See Sight Tour|Seesight Tours|Trip Shepperd/gi,\n    'Tripshepherd'\n  );\n\n  return replacedString2;\n}\nexport function replaceTripShepherd(inputString) {\n  // Replace \"https://www.seesight-tours.com\" with \"http://trip-shepperd.com\"\n  // const replacedString1 = inputString.replace(\n  //   /https:\\/\\/www\\.seesight-tours\\.com/g,\n  //   'http://trip-shepperd.com'\n  // );\n\n  // Replace \"See Sight Tours\", \"seesight\", and \"see sight\" with  \"Trip Shepperd\"\n  const replacedString2 = inputString?.replace(\n    /Tripshepherd/gi,\n    'See Sight Tours'\n  );\n\n  return replacedString2;\n}\n\nexport function replaceCanonical(inputString) {\n  // Replace \"https://www.seesight-tours.com\" with \"http://trip-shepperd.com\"\n  if (!inputString) {\n    return;\n  }\n  const replacedString1 = inputString?.replace(\n    /https:\\/\\/www\\.seesight-tours\\.com/g,\n    'https://www.trip-shepperd.com'\n  );\n\n  return replacedString1;\n}\nexport function replaceTripshepherdWithSeeSight(input) {\n  // Check if the input is null or undefined\n  if (input == null) return input;\n\n  // Regex to detect any Firebase storage URL referencing tripshepherd-prod\n  // (e.g. https://firebasestorage.googleapis.com/v0/b/tripshepherd-prod.firebasestorage.app/o/... )\n  // We want to skip these entirely, leaving them untouched.\n  const firebaseTripshepherdProdRegex = new RegExp(\n    'https?:\\\\/\\\\/firebasestorage\\\\.googleapis\\\\.com\\\\/v0\\\\/b\\\\/tripshepherd-prod\\\\.firebasestorage\\\\.app\\\\/o\\\\/[^\\\\s]*',\n    'gi'\n  );\n\n  // Regex to detect general URLs anywhere else\n  const urlRegex = /(https?:\\/\\/[^\\s]+)/g;\n\n  if (typeof input === 'string') {\n    // Step 1: Protect any link containing \"tripshepherd-prod\" by replacing it with a placeholder\n    const placeholders = [];\n    let protectedString = input.replace(\n      firebaseTripshepherdProdRegex,\n      match => {\n        placeholders.push(match);\n        return '__FIREBASE_TS_PROD__'; // unique placeholder\n      }\n    );\n\n    // Step 2: Perform normal replacements on everything else\n    protectedString = protectedString\n      .replace(urlRegex, url => {\n        // For any URL that wasn't matched above, replace \"tripshepherd\" with \"seesight-tours\"\n        return url.replace(/tripshepherd/gi, 'seesight-tours');\n      })\n      .replace(/Trip Shepperd/g, 'See Sight Tours') // Replace text\n      .replace(/Tripshepherd/g, 'See Sight Tours') // Replace text\n      .replace(/TripShepherd/g, 'seesight-tours') // Replace text\n      .replace(/tripshepherd/g, 'seesight-tours') // Replace text\n      .replace(/Formerly See Sight Tours/g, 'Powered By Tripshepherd'); // Replace text\n\n    // Step 3: Restore the untouched \"tripshepherd-prod\" Firebase links\n    let placeholderIndex = 0;\n    protectedString = protectedString.replace(/__FIREBASE_TS_PROD__/g, () => {\n      return placeholders[placeholderIndex++];\n    });\n\n    return protectedString;\n  }\n\n  // If it's an array, apply the function recursively\n  if (Array.isArray(input)) {\n    return input.map(item => replaceTripshepherdWithSeeSight(item));\n  }\n\n  // If it's an object, apply the function recursively to each field\n  if (typeof input === 'object') {\n    const newObj = {};\n    for (const key in input) {\n      if (Object.prototype.hasOwnProperty.call(input, key)) {\n        newObj[key] = replaceTripshepherdWithSeeSight(input[key]);\n      }\n    }\n    return newObj;\n  }\n\n  // Return the input if it's neither a string, object, nor array\n  return input;\n}\n\nexport default replaceText;\n","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","// extracted by mini-css-extract-plugin","import { __assign } from \"tslib\";\nimport * as React from \"rehackt\";\nimport { mergeOptions } from \"../../utilities/index.js\";\nimport { equal } from \"@wry/equality\";\nimport { DocumentType, verifyDocumentType } from \"../parser/index.js\";\nimport { ApolloError } from \"../../errors/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\n/**\n *\n *\n * > Refer to the [Mutations](https://www.apollographql.com/docs/react/data/mutations/) section for a more in-depth overview of `useMutation`.\n *\n * @example\n * ```jsx\n * import { gql, useMutation } from '@apollo/client';\n *\n * const ADD_TODO = gql`\n *   mutation AddTodo($type: String!) {\n *     addTodo(type: $type) {\n *       id\n *       type\n *     }\n *   }\n * `;\n *\n * function AddTodo() {\n *   let input;\n *   const [addTodo, { data }] = useMutation(ADD_TODO);\n *\n *   return (\n *     <div>\n *       <form\n *         onSubmit={e => {\n *           e.preventDefault();\n *           addTodo({ variables: { type: input.value } });\n *           input.value = '';\n *         }}\n *       >\n *         <input\n *           ref={node => {\n *             input = node;\n *           }}\n *         />\n *         <button type=\"submit\">Add Todo</button>\n *       </form>\n *     </div>\n *   );\n * }\n * ```\n * @since 3.0.0\n * @param mutation - A GraphQL mutation document parsed into an AST by `gql`.\n * @param options - Options to control how the mutation is executed.\n * @returns A tuple in the form of `[mutate, result]`\n */\nexport function useMutation(mutation, options) {\n    var client = useApolloClient(options === null || options === void 0 ? void 0 : options.client);\n    verifyDocumentType(mutation, DocumentType.Mutation);\n    var _a = React.useState({\n        called: false,\n        loading: false,\n        client: client,\n    }), result = _a[0], setResult = _a[1];\n    var ref = React.useRef({\n        result: result,\n        mutationId: 0,\n        isMounted: true,\n        client: client,\n        mutation: mutation,\n        options: options,\n    });\n    useIsomorphicLayoutEffect(function () {\n        Object.assign(ref.current, { client: client, options: options, mutation: mutation });\n    });\n    var execute = React.useCallback(function (executeOptions) {\n        if (executeOptions === void 0) { executeOptions = {}; }\n        var _a = ref.current, options = _a.options, mutation = _a.mutation;\n        var baseOptions = __assign(__assign({}, options), { mutation: mutation });\n        var client = executeOptions.client || ref.current.client;\n        if (!ref.current.result.loading &&\n            !baseOptions.ignoreResults &&\n            ref.current.isMounted) {\n            setResult((ref.current.result = {\n                loading: true,\n                error: void 0,\n                data: void 0,\n                called: true,\n                client: client,\n            }));\n        }\n        var mutationId = ++ref.current.mutationId;\n        var clientOptions = mergeOptions(baseOptions, executeOptions);\n        return client\n            .mutate(clientOptions)\n            .then(function (response) {\n            var _a, _b;\n            var data = response.data, errors = response.errors;\n            var error = errors && errors.length > 0 ?\n                new ApolloError({ graphQLErrors: errors })\n                : void 0;\n            var onError = executeOptions.onError || ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError);\n            if (error && onError) {\n                onError(error, clientOptions);\n            }\n            if (mutationId === ref.current.mutationId &&\n                !clientOptions.ignoreResults) {\n                var result_1 = {\n                    called: true,\n                    loading: false,\n                    data: data,\n                    error: error,\n                    client: client,\n                };\n                if (ref.current.isMounted && !equal(ref.current.result, result_1)) {\n                    setResult((ref.current.result = result_1));\n                }\n            }\n            var onCompleted = executeOptions.onCompleted || ((_b = ref.current.options) === null || _b === void 0 ? void 0 : _b.onCompleted);\n            if (!error) {\n                onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(response.data, clientOptions);\n            }\n            return response;\n        })\n            .catch(function (error) {\n            var _a;\n            if (mutationId === ref.current.mutationId && ref.current.isMounted) {\n                var result_2 = {\n                    loading: false,\n                    error: error,\n                    data: void 0,\n                    called: true,\n                    client: client,\n                };\n                if (!equal(ref.current.result, result_2)) {\n                    setResult((ref.current.result = result_2));\n                }\n            }\n            var onError = executeOptions.onError || ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError);\n            if (onError) {\n                onError(error, clientOptions);\n                // TODO(brian): why are we returning this here???\n                return { data: void 0, errors: error };\n            }\n            throw error;\n        });\n    }, []);\n    var reset = React.useCallback(function () {\n        if (ref.current.isMounted) {\n            var result_3 = {\n                called: false,\n                loading: false,\n                client: ref.current.client,\n            };\n            Object.assign(ref.current, { mutationId: 0, result: result_3 });\n            setResult(result_3);\n        }\n    }, []);\n    React.useEffect(function () {\n        var current = ref.current;\n        current.isMounted = true;\n        return function () {\n            current.isMounted = false;\n        };\n    }, []);\n    return [execute, __assign({ reset: reset }, result)];\n}\n//# sourceMappingURL=useMutation.js.map"],"names":["AuthorProfileCard","param","author","jsx_runtime","jsxs","Link","className","href","concat","slug","jsx","Image","src","image","alt","width","height","div","name","tagLine","SwiperCore","use","Navigation","StyledSwipper","styled","Swiper","BlogAuthors","authors","isLastSlide","setIsLastSlide","useState","isFirstSlide","setIsFirstSlide","prevRef","useRef","nextRef","h2","ref","LeftSwipperArrows","RightSwipperArrows","slidesPerView","spaceBetween","grabCursor","onSlideChange","swiper","isEnd","isBeginning","onInit","params","navigation","prevEl","current","nextEl","init","update","breakpoints","map","index","SwiperSlide","StyledSwiper","props","isfirstslide","SearchAndFilterBlogs","title","searchQuery","handleInputChange","sliderCategories","onCityChange","selectedCategory","setSelectedCategory","activeIndex","setActiveIndex","handleCategoryClick","cityId","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__","id","toString","length","filter","city","onClick","p","priority","SUBSCRIBE_TO_NEWSLETTER","gql","Newsletter_Newsletter","user","useAuthContext","email","setEmail","subscribeToNewsletter","useMutation","useEffect","emailVerified","handleSubmit","event","username","extractUserName","parts","split","cleanUsername","replace","preventDefault","stopPropagation","data","variables","status","insert_boatnew_news_letter_subscribers","affected_rows","fetch","method","body","JSON","stringify","userName","toast","success","error","Error","includes","NewsletterHeading","withConfig","SeparatorLine","Newsletter","useRouter","Fragment","section","form","onSubmit","input","placeholder","required","type","onChange","e","target","value","maxLength","minLength","button","data-mdb-ripple","data-mdb-ripple-color","PageHeroStyle","StyledImage","StyledVideo","video","__webpack_exports__","Z","snippet","media","altImage","landing","partner","partnerApplyRef","trustworthy","layout","quality","muted","loop","autoPlay","playsInline","h1","span","indexOf","h3","scrollIntoView","behavior","block","totalPages","currentPage","handlePageChange","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","disabled","renderPageNumbers","pageNumbers","push","i","pageNumber","svg","viewBox","fill","xmlns","rect","x","y","rx","transform","stroke","path","d","stroke-miterlimit","stroke-linecap","stroke-linejoin","circle","cx","cy","r","element","document","getElementById","inline","replaceTripshepherdWithSeeSight","firebaseTripshepherdProdRegex","placeholders","protectedString","match","url","placeholderIndex","Array","isArray","item","newObj","key","Object","prototype","hasOwnProperty","call","mutation","options","client","_useApolloClient_js__WEBPACK_IMPORTED_MODULE_2__","_parser_index_js__WEBPACK_IMPORTED_MODULE_3__","Vp","n_","Mutation","_a","rehackt__WEBPACK_IMPORTED_MODULE_0__","called","loading","result","setResult","mutationId","isMounted","_internal_useIsomorphicLayoutEffect_js__WEBPACK_IMPORTED_MODULE_4__","L","assign","execute","useCallback","executeOptions","baseOptions","tslib__WEBPACK_IMPORTED_MODULE_5__","pi","ignoreResults","clientOptions","_utilities_index_js__WEBPACK_IMPORTED_MODULE_6__","J","mutate","then","response","_b","errors","_errors_index_js__WEBPACK_IMPORTED_MODULE_7__","cA","graphQLErrors","onError","result_1","_wry_equality__WEBPACK_IMPORTED_MODULE_1__","D","onCompleted","catch","result_2","reset","result_3"],"sourceRoot":""}