{"version":3,"file":"static/js/app-7c36387c_b0adf1263ab95fab4339.js","mappings":"owBAeA,MAAMA,EAAqB,QACrBC,EAAmB,QAelB,SAASC,GAAkB,sBAChCC,GAAwB,EAAI,QAC5BC,EAAO,OACPC,EAAM,MACNC,IAnCF,QAqCE,MAAM,KAAEC,EAAI,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACnD,IAAAC,cAA4B,CAC1BV,wBACAW,IAAK,kBAAkBR,GAAgB,KACvCF,QAAS,GACPW,kBAAkB,GACfX,GAELC,OAAQ,KAAKA,KAGXW,GAAmB,IAAAC,iBAEnB,aAAEC,IAAiB,IAAAC,iBAAgB,CACvCH,mBACAI,WAAY,UAGRC,EAAe,eAAAH,OAAA,EAAAA,EAAcI,qBAAd,IAA8BC,WAC7CC,EAAa,eAAAN,OAAA,EAAAA,EAAcI,qBAAd,IAA8BG,SA8CjD,MAAO,CACLC,qBA7C0B,IAAAC,UAC1B,IACE,EAAAC,WAAA,QAAkB,CAACC,EAAKC,KACtB,MAAMC,EAAuB,aAARD,GAA8B,WAARA,EACrCE,EAAY,MAAAX,EAAAA,EAAgBrB,EAC5BiC,EAAU,MAAAT,EAAAA,EAAcvB,EAM9B,OAJA4B,EAAI,GAAGC,YAAgBC,EACvBF,EAAI,GAAGC,UAAcC,EAAeC,EAAY,GAChDH,EAAI,GAAGC,QAAYC,EAAeE,EAAU,GAErCJ,CAAG,GACT,CAAC,IACN,CAACR,EAAcG,IAiCfU,qBA/B4B3B,IAC5B,GAAKA,EAKL,OAAOC,EAAQ,CACb2B,OAAQ,OACRrB,IAAK,kBACLP,KAAAA,IAPA6B,QAAQ1B,MAAM,wCAQd,EAsBF2B,qBAnB2B,CAC3BC,EACA/B,KAEA,GAAK+B,GAAmB/B,EAKxB,OAAOC,EAAQ,CACb2B,OAAQ,QACRrB,IAAK,mBAAmBwB,IACxB/B,KAAAA,IAPA6B,QAAQ1B,MAAM,0DAQd,EAOFY,eAAgBf,EAChBgC,kBAAmB/B,EACnBgC,yBAA0B/B,EAC1BgC,qBAAsB/B,EACtBgC,wBAAyB/B,EACzBgC,sBAAuBC,QAAQlC,GAC/BmC,2BAA4BjC,EAEhC,C,okBCzGO,SAASkC,EACdC,EACA5C,GAAwB,GAExB,MAAM,YAAE6C,EAAW,eAAEC,IAAmB,IAAAC,SAAQ,CAC9C/C,2BAEI,UAAEgD,IAAc,IAAAC,sBACfC,EAASC,IAAc,IAAAC,aACvBC,EAAOC,IAAY,IAAAF,aACnB7C,EAAOgD,IAAY,IAAAH,aAEpB,gBAAEI,IAAoB,IAAAC,UAAS,CACnCzD,wBACA6C,cACAa,qBAAsBZ,IAiExB,OA9DA,IAAAa,YAAU,MAiDJd,GAAgBQ,GAAUH,GAAY3C,IAASqC,GAhDnD,WAA8B,yBA5BlC,QA6BMO,GAAW,GACX,IACE,MAAMS,QAAoBJ,EAA0C,CAClE7C,IAAK,cACLT,OAAQ,CAAE0C,YAAWiB,QAASb,GAC9BhB,OAAQ,UAEF5B,KAAM0D,GAAcF,GACtB,KAAExD,EAAI,OAAE2D,EAAM,QAAEC,EAAO,OAAEC,EAAM,KAAEC,GAASJ,EAChD,GAAe,YAAXC,IAAwB,MAAA3D,OAAA,EAAAA,EAAM+D,SAAU,EAAG,CAC7ClC,QAAQmC,IAAI,4BAA6B,CAAEF,OAAMF,UAASC,WAC1D,MAAMI,EACJJ,GAAUA,EAAOE,OAAS,EACtBF,EAAOK,SAAS/D,GAAUA,EAAMyD,UAASO,KAAK,KAC9CP,EACAQ,EAAY,IAAIC,MAAMJ,GAE5B,MADAG,EAAUE,KAAO,GAAGR,IACdM,CACR,CACAlB,EAASlD,EAAK,GAAGiD,OACjBF,GAAW,EACb,CAAE,MAAOwB,GACP,MAAMC,EACJ,kDACIC,EAAmB,gBACrBC,EAAA,eAAmBH,IAAQA,aAAeF,OAC5CxC,QAAQ1B,MAAM,CAAEoE,QAChBpB,EAAS,CACPS,QAAS,eAAAW,OAAA,EAAAA,EAAKX,SAAL,EAAgBY,EACzBV,KAAM,eAAAS,OAAA,EAAAA,EAAKD,MAAL,EAAaG,IAErB,EAAAE,YAAA,aAAyB,gBAAiB,KACrCJ,MAGL,EAAAI,YAAA,aAAyB,gBAAiB,CACxCf,QAASY,EACTD,QAEFpB,EAAS,CACPW,KAAM,gBACNF,QAASY,KAGbzB,GAAW,EACb,CACF,IAEE6B,EACF,GACC,CACDnC,EACAQ,EACAH,EACA3C,EACAqC,EACAY,EACAR,IAGK,CACLzC,QACA8C,QAEJ,C,iWC3EO,MAAM,EAAkB,CAC7BxC,EACAZ,KAGA,MAAM,QAAEgF,IAAY,IAAAC,aAAY,CAC9BjF,QAAS,KACJA,MAKD,kBACJkF,EACAC,SAAUC,EAAW,eACrBC,EAAc,eACdC,IACE,IAAAC,aAAY,CACdvF,QAAS,KACJA,KAIDwF,EAAU,MAAAJ,OAAA,EAAAA,EAAaK,GAAG,GAE1BC,EAAmB,MAAAF,OAAA,EAAAA,EAASxE,WAE5B2E,GAAyB,IAAAC,cAC5B5E,GACKwE,EACKH,EAAeG,EAAQK,GAAI,CAAE7E,WAAAA,IAC3BgE,EACFM,EAAe,CAAEN,QAASA,EAAQa,GAAI7E,WAAAA,SADxC,GAIT,CAACsE,EAAgBN,EAASQ,EAASH,IAG/BS,GAAmB,IAAAF,cACvB,CACE5E,EACA+E,KACG,O,OAAA,E,EAAA,K,EAAA,kBACGJ,EAAuB3E,IAC7B,IAAAgF,uBAAsB,CAAEhF,WAAAA,EAAY+E,iBACtC,E,yMAAA,GACA,CAACJ,KAGG,WAAE3E,EAAU,qBAAEiF,IAAyB,IAAAC,uBAC3CtF,EACAuF,GACAL,EACAZ,EACAQ,EACA,KACK1F,IAIP,MAAO,CACLgB,aACAiF,uBACD,E,skBCnDI,SAASG,EAAU,YACxBC,YAAAA,EAAc,yBACdtG,GAAwB,GAFA,EAGrBuG,EAAA,EAHqB,EAGrB,CAFH,cACA,0BAGA,MAAM1F,GAAmB,IAAAC,iBAEnB,WAAEG,GAAe,EAAgBJ,IAEjC,aAAEE,IAAiB,IAAAC,iBAAgB,CACvCH,sBAGI,WAAE2F,IAAe,IAAAC,yBAAwB,CAC7C5F,mBACAI,eAEIyF,EAAUF,EAAWF,GAErBK,EAAmB,MAAA5F,OAAA,EAAAA,EAAc6F,WAAWlC,KAC5CmC,EAAiB,MAAA9F,OAAA,EAAAA,EAAc+F,iBAE/B,YAAEjE,EAAW,eAAEC,IAAmB,IAAAC,SAAQ,CAC9C/C,2BAEI,UAAEgD,IAAc,IAAAC,qBAEhB8D,GAAwD,IAAAC,cAK5D,OACGT,GADH,CAEAU,aAAa,EACbC,eAAgB,SAChBC,QAASC,EAAA,UACTpH,wBACA6C,cACAa,qBAAsBZ,EACtBe,QAAS,MAAAb,EAAAA,EAAa,MAkFxB,OAAO,OACF+D,GADE,CAELM,UAAWN,EAAKO,WAChBC,UAAWR,EAAK1G,QAChBmH,gBAAiBT,EAAKU,UACtBC,iBAAkBX,EAAKY,WACvBC,iBAAkBb,EAAKc,WACvBC,cAAef,EAAKgB,QACpBC,mBAAoBjB,EAAKvG,UACzByH,iBAAkBlB,EAAKmB,QACvBC,mBAAoBpB,EAAKqB,UACzBC,uBAjF6B,KAlFjC,IAAAC,EAAAC,EAAA,oCAmFI,MAAMC,EAAc,OAAAF,EAAA,MAAA5B,OAAA,EAAAA,EAAS+B,sBAAT,EAAAH,EAA0BI,aACxCpC,EAAc,MAAAI,OAAA,EAAAA,EAASiC,SAAS7C,GAAG8C,QAEzC,MAAO,CACLC,UAAW,aACXnE,KAAM,MAAAgC,OAAA,EAAAA,EAASiC,SAASG,aACxBC,YAAa,OAAAR,EAAA,MAAA7B,OAAA,EAAAA,EAAS+B,sBAAT,EAAAF,EAA0BS,oBACvCC,KAAM3C,EACN4C,eAAgB,GAAGC,OAAOC,SAASC,mBAAmB/C,IACtDgD,qBAAsB,GAAGH,OAAOC,SAASC,mBAAmB/C,eAC5DiD,uBAAwB,GAAGJ,OAAOC,SAASC,mBAAmB/C,iBAC9DkD,KAAM,CACJ1D,GAAI,wBAAA0C,OAAA,EAAAA,EAAaG,eAAb,IAAuB7C,SAAvB,IAA2B8C,QAC/Ba,KAAM,wBAAAjB,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCF,KAC9CG,KAAM,wBAAApB,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCC,KAC9CC,cAAe,iCAAArB,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCG,YAAxC,IAA+CC,SAC9DC,gBACE,iCAAAxB,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCG,YAAxC,IAA+CG,WACjDC,gBACE,iCAAA1B,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCQ,cAAxC,IAAiDJ,SACnDK,kBACE,iCAAA5B,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCQ,cAAxC,IAAiDF,YAEtD,EA0DDI,4BA3FkC,KAC3B,CACLpB,KAAMpI,EACNF,IAAKwI,OAAOC,SAASC,OACrB3E,KAAMiC,EACN2D,eAAgB,GAAGnB,OAAOC,SAASC,iBAuFrCkB,oBA3B2BC,IA1I/B,IAAAlC,EAAAC,EA2II,MAAMkC,EAAmB,OAAAlC,EAAA,OAAAD,EAAA,MAAAzB,OAAA,EAAAA,EAAgB6D,iBAAhB,EAAApC,EAA4BqC,MAClDC,GACCA,EAAaC,mBAAmBjC,UAAY4B,EAAKM,qBAF5B,EAAAvC,EAGtBwC,mBAEH,MAAO,CACLC,SAAUR,EAAKS,UACfL,aAAcH,EACdS,WAAYV,EAAKzG,OACjBoH,QAAS,GAAGhC,OAAOC,SAASC,gBAAgBmB,EAAK1E,KAClD,EAiBDsF,wBAzD+BC,GAC/BA,EAASC,KAAK5E,IA9GlB,IAAA4B,EAAAC,EAAA,oCA+GM,MAAMC,EAAc,OAAAF,EAAA,MAAA5B,OAAA,EAAAA,EAAS+B,sBAAT,EAAAH,EAA0BI,aACxCpC,EAAc,MAAAI,OAAA,EAAAA,EAASiC,SAAS7C,GAAG8C,QAEzC,MAAO,CACLC,UAAW,aACXnE,KAAM,MAAAgC,OAAA,EAAAA,EAASiC,SAASG,aACxBC,YAAa,OAAAR,EAAA,MAAA7B,OAAA,EAAAA,EAAS+B,sBAAT,EAAAF,EAA0BS,oBACvCC,KAAM3C,EACN4C,eAAgB,GAAGC,OAAOC,SAASC,mBAAmB/C,IACtDgD,qBAAsB,GAAGH,OAAOC,SAASC,mBAAmB/C,eAC5DiD,uBAAwB,GAAGJ,OAAOC,SAASC,mBAAmB/C,iBAC9DkD,KAAM,CACJ1D,GAAI,wBAAA0C,OAAA,EAAAA,EAAaG,eAAb,IAAuB7C,SAAvB,IAA2B8C,QAC/Ba,KAAM,wBAAAjB,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCF,KAC9CG,KAAM,wBAAApB,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCC,KAC9CC,cACE,iCAAArB,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCG,YAAxC,IAA+CC,SACjDC,gBACE,iCAAAxB,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCG,YAAxC,IAA+CG,WACjDC,gBACE,iCAAA1B,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCQ,cAAxC,IAAiDJ,SACnDK,kBACE,iCAAA5B,OAAA,EAAAA,EAAakB,wBAAb,IAAgCC,aAAhC,IAAwCQ,cAAxC,IAAiDF,YAEtD,KAiCP,C,8UCrKO,SAASsB,IAAS,sBACvBvL,GAAwB,EAAI,QAC5BC,IAEA,MAAM,KACJG,EAAI,QACJC,EAAO,WACPC,EAAU,MACVC,EAAK,UACLC,EAAS,aACTC,EAAY,WACZ+K,IACE,IAAA9K,cAAoB,CACtBV,wBACAW,IAAK,SACLV,QAAS,IACPW,kBAAkB,GACfX,KAIP,MAAO,CACLwL,MAAOrL,EACPsL,SAAUrL,EACVsL,gBAAiBrL,EACjBsL,WAAYrL,EACZsL,eAAgBrL,EAChBsL,kBAAmBrL,EACnBsL,aAActJ,QAAQlC,GACtByL,gBAAiBR,EAErB,C,6fCLO,SAASS,IAAwB,sBACtCjM,GAAwB,EAAI,OAC5BE,EAAM,QACND,IAEA,MAAMY,GAAmB,IAAAC,gBACM,QAAAZ,EAAAA,EAAU,CAAC,GAAlC0C,UAAAA,GAAuB,EAATsJ,EAAA,GAAS,EAAT,CAAd,eACF,KAAE9L,EAAI,KAAE+L,EAAI,QAAE9L,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACzD,IAAAC,cAAmC,CACjCV,wBACAW,IAAKiC,EACD,yBAAyBA,IACzB,wBACJ1C,OAAQ,SACH,CAAEW,qBACFqL,GAELjM,QAAS,IACPW,kBAAkB,GACfX,KAIT,MAAO,CACLmM,qBAAsBhM,EACtBiM,gBAAiBF,EACjBG,wBAAyBjM,EACzBkM,+BAAgCjM,EAChCkM,2BAA4BjM,EAC5BkM,8BAA+BjM,EAC/BkM,4BAA6BjK,QAAQlC,GACrCoM,iCAAkClM,EAEtC,C,4dCjDO,SAASmM,GAAkBC,EAAQ,CAAC,GAb3C,QAcE,MAAM,oBAAEC,EAAmB,UAAEC,GAAcF,EACrChL,EAAYmL,KAAKC,MACjB7D,GAAW,WAEX8D,GAAqB,IAAArH,cACzB,CAACkH,EAAmBI,KAClB,WAAeJ,EAAW,SACrBI,GADqB,CAExBC,UAAWhE,EAASiE,SACpBC,SAAUC,SAASD,YAGrBrL,QAAQmC,IAAI,SAAS2I,gBAAwB3D,EAASiE,WAAW,GAEnE,CAACjE,IAGGoE,GAAe,IAAA3H,cACnB,KAAM,CAAG4H,OAAO,IAAAC,iCAAgCV,KAAKC,UACrD,IAGIU,GAAoB,IAAA9H,cAAY,KAE7B,CAAE,wBADkBmH,KAAKC,MAAQpL,GAAa,OAEpD,CAACA,IAEE+L,GAA6B,IAAA/H,cACjC,IAAO,SAAK2H,KAAmBG,MAC/B,CAACH,EAAcG,IAGXE,GAAa,IAAAhI,cACjB,CAACkH,EAAmBI,KAClBD,EAAmBH,EAAW,SACzBS,KACAL,GACH,GAEJ,CAACD,EAAoBM,IAGjBM,GAAkB,IAAAjI,cACtB,CAACkH,EAAmBI,KAClBD,EAAmBH,EAAW,SACzBY,KACAR,GACH,GAEJ,CAACD,EAAoBS,IAGjBI,GAA0B,IAAAlI,cAC9B,CAACkH,EAAmBI,KAClBW,EAAgBf,EAAW,SACtBa,KACAT,GACH,GAEJ,CAACW,EAAiBF,IAuBpB,OAZA,IAAAjK,YAAU,KACJoJ,GACFG,EAAmBH,EACrB,GACC,CAACA,EAAWG,KAEf,IAAAvJ,YAAU,KACJmJ,GACFI,EAAmB,gBAAgBJ,IACrC,GACC,CAACA,EAAqBI,IAElB,CACLc,oBAAoB,IAAAN,iCAAgC7L,GACpDqL,qBACAW,aACAC,kBACAC,0BACAE,kBA1ByBpB,IACzB,gBAAoBA,EAAM,EA0B1BqB,qBAvB4BrN,IAC5B,eAAmB,kBAAmBA,EAAiB,EAuBvDsN,kBAAmB,WACnBC,kBAAmB,+BAAiBC,MACpCC,sBAAuB,+BAAiBC,UAE5C,C,4BC1GO,SAASC,KACd,MAAMC,GAAQ,EAAAC,GAAA,KAEd,OADiB,EAAAC,GAAA,GAAcF,EAAMG,YAAYC,KAAK,MAExD,C,6fCaO,SAASC,GAAS,YACvB9O,sBAAAA,GAAwB,GADD,EAEpBE,EAAA,GAFoB,EAEpB,CADH,0BAGA,MAAM,KACJE,EAAI,QACJC,EAAO,WACPC,EAAU,MACVC,EAAK,UACLC,EAAS,aACTC,EAAY,WACZ+K,IACE,IAAA9K,cAA2D,IAC7DV,wBACAW,IAAK,UACFT,IAEL,MAAO,CACL6O,MAAO3O,EACP4O,SAAU3O,EACV4O,gBAAiB3O,EACjB4O,WAAY3O,EACZ4O,eAAgB3O,EAChB4O,kBAAmB3O,EACnB4O,gBAAiB7D,EACjB8D,aAAc7M,QAAQlC,GAE1B,C,4BC3CO,MAAMgP,GAAoB,KAE/B,MAAM,KAAEC,IAAS,IAAAC,UAAS,CAAC,GACrBC,EAAeF,EAAOA,EAAKG,aAAU,GAErC,QAAEzM,EAAO,SAAE0M,IAAa,KAAAC,YAAW,CAAC,IAGpC,QAAE5K,EAAO,kBAAE6K,IAAsB,IAAA5K,aAAY,CAAC,GAC9C6K,EAAiB,MAAA9K,OAAA,EAAAA,EAAS0K,QAUhC,MAAO,CACLK,SAHe,GAPG,MAAA/K,OAAA,EAAAA,EAASgL,UAAUC,OAAO,GAAGC,gBAC9B,MAAAlL,OAAA,EAAAA,EAASmL,SAASF,OAAO,GAAGC,gBAU7CjN,SARiBsM,IAASvK,GAAW6K,GAAqB5M,EAS1DyM,QAPeI,EAAgCH,EAASG,GAAxBL,EAQjC,E,0VCXI,SAASW,IAAW,sBACzBrQ,GAAwB,EAAI,QAC5BC,EAAO,OACPC,IAEA,MAAM,KACJE,EAAI,QACJC,EAAO,WACPC,EAAU,MACVC,EAAK,UACLC,EAAS,aACTC,EAAY,WACZ+K,IACE,IAAA9K,cAAkE,CACpEV,wBACAW,IAAK,WACLV,QAAS,IACPW,kBAAkB,GACfX,GAELC,OAAQ,MAAKA,KAGf,MAAO,CACLoQ,QAASlQ,EACTmQ,WAAYlQ,EACZmQ,kBAAmBlQ,EACnBmQ,cAAelQ,EACfmQ,iBAAkBlQ,EAClBmQ,kBAAmBnF,EACnBoF,eAAgBnO,QAAQlC,GACxBsQ,oBAAqBpQ,EAEzB,C,0VC5CYqQ,GAAL,CAAKA,IACVA,EAAA,kBAAoB,yBADVA,GAAL,CAAKA,IAAA,IAIL,MAAM1K,GAAqB,SAC7B0K,IACA,EAAAC,0BAGE,SAASC,GACdC,EACAC,GAEA,OAAO,IAAAC,mBAAgDF,EAAKC,EAC9D,C,6fCXO,SAASE,GAAY,YAC1BpR,sBAAAA,GAAwB,GADE,EAEvBkM,EAAA,GAFuB,EAEvB,CADH,0BAGA,MAAM,KACJ9L,EAAI,QACJC,EAAO,WACPC,EAAU,KACV6L,EAAI,MACJ5L,EAAK,UACLC,EAAS,aACTC,EAAY,WACZ+K,IACE,IAAA9K,cAAuB,IACzBV,wBACAW,IAAK,aACFuL,IAGL,MAAO,CACLmF,SAAUjR,EACVkR,aAAcnF,EACdoF,YAAalR,EACbmR,mBAAoBlR,EACpBmR,eAAgBlR,EAChBmR,kBAAmBlR,EACnBmR,gBAAiBlP,QAAQlC,GACzBqR,qBAAsBnR,EACtBoR,mBAAoBrG,EAExB,C,mdCrBO,SAASsG,IAAW,sBACzB9R,GAAwB,EAAI,OAC5BE,EAAM,QAEND,IAEA,MAAM,KACJG,EAAI,QACJC,EAAO,WACPC,EAAU,MACVC,EAAK,UACLC,EAAS,aACTC,EAAY,WACZ+K,IACE,IAAA9K,cAAkE,CACpEV,wBACAC,QAAS,IACPW,kBAAkB,GACfX,GAELU,IAAK,WACLT,OAAQ,MACHA,KASP,MAAO,CACL6R,QAAS3R,EACT4R,WAAY3R,EACZ4R,cATqB7R,GACrBC,EAAQ,CACN2B,OAAQ,OACRrB,IAAK,WACLP,KAAAA,IAMF8R,kBAAmB5R,EACnB6R,aAAc5R,EACd6R,iBAAkB5R,EAClB6R,oBAAqB5R,EACrB6R,eAAgB7P,QAAQlC,GACxBgS,kBAAmB/G,EAEvB,C,gBCvCO,SAASgH,IAAmB,WACjCC,EAAU,aACVC,EAAY,KACZlD,IAtBF,8CAwBE,MAAM,SAAEnC,IAAa,WACfsF,EAAsBtF,EAASuF,WAAW,UAC1C/R,GAAmB,IAAAC,iBACnB,WAAEG,GAAe,EAAgBJ,IACjC,SAAEwK,IAAa,IAAA5E,yBAAwB,CAC3C5F,mBACAI,eAGF,IAAKyR,IAAiBlD,EACpB,MAAO,CAAC,EAGV,MAAM9I,EAAU2E,EAASV,MACtBjE,GAAYA,EAAQiC,SAAS7C,GAAG8C,UAAY8J,EAAapM,cAEtDuM,EAAc,MAAAnM,OAAA,EAAAA,EAASiC,SAASG,aAChCiJ,EAAU,MAAArL,OAAA,EAAAA,EAASqL,QACnBe,EAAS,MAAAf,OAAA,EAAAA,EAAUU,GACnB5I,EACJ,4DAAAnD,OAAA,EAAAA,EAAS+B,sBAAT,IAA0BC,mBAA1B,IAAwCgB,wBAAxC,IAA2DC,aAA3D,IAAmEG,YAAnE,IACIC,UADJ,EACgB,QACZG,EACJ,4DAAAxD,OAAA,EAAAA,EAAS+B,sBAAT,IAA0BC,mBAA1B,IAAwCgB,wBAAxC,IAA2DC,aAA3D,IAAmEQ,cAAnE,IACIJ,UADJ,EACgB,UAEZgJ,EACJL,EAAaM,2BAA6B,EAAAC,kBAAA,OAErCC,GACJ,eAAAR,OAAA,EAAAA,EAAcS,eAAd,EAAuD,IACnDC,GACJ,eAAAV,OAAA,EAAAA,EAAcW,iBAAd,EAAyD,GACtDC,GAAU,MAAAJ,OAAA,EAAAA,EAAcK,WAAW,MAAA/D,OAAA,EAAAA,EAAM1J,IACzC0N,EAAY,MAAAN,OAAA,EAAAA,EAAcO,YAC1BC,EAAc,MAAAN,OAAA,EAAAA,EAAgBK,YAE9B/O,EAAO4O,EAAUI,EAAcF,EAC/BG,EAAOL,EAAUpJ,EAAkBL,EACnC+J,EAAQ,eAAAd,OAAA,EAAAA,EAAQc,OAAR,EAAiB,GACzB7K,EAAc,eAAA+J,OAAA,EAAAA,EAAQ/J,aAAR,EAAuB,GACrC8K,EACH,SAAAd,EAAkB,eAAAL,OAAA,EAAAA,EAAcoB,YAAd,IAAyCF,MAAQlP,GAAnE,EACD,GACIqP,EACH,SAAAhB,EAAiBF,EAAc,QAAQc,OAAUd,KAAjD,EAAmE,GAGhEmB,GADW,eAAAtB,OAAA,EAAAA,EAAcrB,UAAd,EAA0B,IACblN,OACxB8P,EAAe,eAAAnB,OAAA,EAAAA,EAAQoB,QAAR,EAAkB,GACjCC,EAAcF,EAAaG,QAAQC,IACvC,SAAsBA,EAAaL,KAE/BM,GAAgBL,EAAaG,QAAQC,IACzC,QAAwBA,EAAaL,KAGvC,MAAO,CACLJ,QACA7K,cACA8K,UACAE,aACA9O,QAASqO,EAAUJ,EAAeE,EAClCa,aAAcX,EAAUa,EAAcG,GACtChB,UACAP,iBACAwB,gBAAiB,MAAAzB,OAAA,EAAAA,EAAQ0B,QACzB7B,sBAEJ,C,sWCrFO,SAAS8B,IAAoB,sBAClCzU,GAAwB,EAAI,QAC5BC,IAEA,MAAM,KAAEG,EAAI,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACnD,IAAAC,cAA8B,CAC5BV,wBACAW,IAAK,oBACLV,QAAS,IACPW,kBAAkB,GACfX,KAIT,MAAO,CACLyU,iBAAkBtU,EAClBuU,oBAAqBtU,EACrBuU,2BAA4BtU,EAC5BuU,uBAAwBtU,EACxBuU,0BAA2BtU,EAC3BuU,wBAAyBtS,QAAQlC,GACjCyU,6BAA8BvU,EAElC,C,gNC1BA,MAAM,uBAAEwU,IAA2B,o6CAE5B,SAASC,GAAgBlV,GAAwB,GACtD,MAAO2P,EAASwF,IAAc,IAAA/R,eAA2B,IAClD7C,EAAOgD,IAAY,IAAAH,eAAc,IACjCF,EAASC,IAAc,IAAAC,WAAkB,IAG1C,YAAEP,IAAgB,IAAAE,SAAQ,CAC9B/C,2BAEI,UAAEgD,IAAc,IAAAC,qBAEhBmS,GAAa,IAAAvP,cAAY,IAAY,0BACzC1C,GAAW,GACX,IACE,MAAM,KAAE/C,SAAe0E,EAAA,MACrB,GAAGmQ,kBACH,CACEI,QAAS,CACP,eAAgB,YAChBC,cAAe,UAAUzS,KAE3B0S,aAAc,OACdrV,OAAQ,CAAE2D,QAASb,KAGvB,GAAkB,IAAd5C,EAAKoV,KAAY,OACrBL,EAAW/U,EACb,CAAE,MAAOG,GACPgD,EAAShD,EACX,CAAE,QACA4C,GAAW,EACb,CACF,KAAG,CAACN,EAAaG,IAQjB,OANA,IAAAW,YAAU,KACHd,GAELuS,GAAY,GACX,CAACvS,EAAauS,IAEV,CAAEzF,UAASzM,UAAS3C,QAC7B,CC9CA,MAAMkV,GAAsB,KAC1B,MAAQC,WAAYC,EAAOC,YAAaC,GAAW1M,OACnD,MAAO,CACLwM,QACAE,SACD,EAGUC,GAAsB,KACjC,MAAOC,EAAkBC,IAAuB,IAAA5S,UAC9CqS,MAYF,OATA,IAAA9R,YAAU,KACR,MAAMsS,EAAe,KACnBD,EAAoBP,KAAsB,EAI5C,OADAtM,OAAO+M,iBAAiB,SAAUD,GAC3B,IAAM9M,OAAOgN,oBAAoB,SAAUF,EAAa,GAC9D,IAEIF,CAAgB,E,gNCPlB,SAASK,IAAoB,iBAClCvV,EAAgB,OAChB0S,EAAM,KACN8C,EAAI,SACJC,IAEA,MAAOC,EAA2BC,IAChC,IAAApT,WAAS,IACJqT,EAAkBC,IAAuB,IAAAtT,UAC9C,CAAC,IAGG,YAAEP,EAAW,eAAEC,IAAmB,IAAAC,SAAQ,CAAC,IAC3C,gBAAES,IAAoB,IAAAC,UAAS,CACnCzD,uBAAuB,EACvB6C,cACAa,qBAAsBZ,KAElB,UAAEE,IAAc,IAAAC,qBAkCtB,OAhCA,IAAAU,YAAU,KACR,KAAK9C,GAAqB0S,GAAW8C,GAASC,GAAU,OAE5B,MAAY,0BACtC,IACEE,GAA6B,GAC7B,MAAM5S,QAAoBJ,EAAgB,CACxC7C,IAAK,oBACLT,OAAQ,CACNW,mBACA0S,SACA8C,OACAM,SAAUL,EACVzS,QAASb,MAGL5C,KAAMqW,GACZ7S,EAAYxD,KACdsW,EAAoBD,EACtB,CAAE,MAAOlW,GACP,EAAAwE,YAAA,aAAyB,0CAA2C,CAClExE,UAEF0B,QAAQ1B,MAAMA,EAChB,CAAE,QACAiW,GAA6B,EAC/B,CACF,KAEAI,EAAqB,GACpB,CAAC/V,EAAkB0S,EAAQ8C,EAAMC,EAAU9S,EAAiBR,IAExD,CACLuT,4BACAE,mBAEJ,C,6fClDO,SAASI,GAAqB,YACnC7W,sBAAAA,GAAwB,GADW,EAEhCkM,EAAA,GAFgC,EAEhC,CADH,0BAGA,MAAM,KAAE9L,EAAI,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACnD,IAAAC,cAIE,IACAV,wBACAW,IAAK,sBACFuL,IAGP,MAAO,CACL4K,kBAAmB1W,EACnB2W,qBAAsB1W,EACtB2W,4BAA6B1W,EAC7B2W,uBAAwB1W,EACxB2W,2BAA4B1W,EAC5B2W,8BAA+B1W,EAC/B2W,yBAA0B3U,QAAQlC,GAEtC,C,2XC5CO,SAAS8W,GAAoB,sBAClCrX,GAAwB,EAAI,QAC5BC,IAEA,MAAM,KAAEG,EAAI,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACnD,IAAAC,cAA+B,CAC7BV,wBACAW,IAAK,oBACLV,QAAS,GACPW,kBAAkB,GACfX,KAIT,MAAO,CACLqX,iBAAkBlX,EAClBmX,oBAAqBlX,EACrBmX,2BAA4BlX,EAC5BmX,sBAAuBlX,EACvBmX,0BAA2BlX,EAC3BmX,6BAA8BlX,EAC9BmX,wBAAyBnV,QAAQlC,GAErC,C,ohBCLA,MAkPA,EAlPgC,EAC9BsX,iBACA9E,iBACAO,UACAhN,cACAkC,cACA3H,mBACAiX,WACAC,mBA7BF,YA+BE,MAAMC,GAAW,UACXC,GAAW,WACX,mBAAE/K,IAAuB,WACzB,WAAEjM,IAAe,QAAgBJ,IAGjC,iBAAEqX,EAAgB,wBAAEC,EAAuB,cAAEC,IACjD,IAAAC,kBAAiB,CAAC,IAGd,SAAEC,IAAa,IAAApT,aAAY,CAAC,GAC5BD,EAAU,MAAAqT,OAAA,EAAAA,EAAU5S,GAAG,GACvB9C,EAAY,MAAAqC,OAAA,EAAAA,EAASa,IAGrB,aAAEyS,IAAiB,IAAAC,iBAAgB,CAAEvX,eAErCwX,EACJ,iCAAAF,OAAA,EAAAA,EAAcG,cAAd,IAAuB/O,aAAvB,IAA+BgP,qBAA/B,EAAsD,SAElDC,EACJ,eAAAL,OAAA,EAAAA,EAAcH,oBAAd,IAA6BS,2BACzBC,EAAsB,MAAAV,OAAA,EAAAA,EAAezN,MACxC+H,GAAiBA,EAAa5M,KAAO+R,IAElCkB,EAA4B,MAAAH,OAAA,EAAAA,EAAsB9E,MAoFlDkF,EAAa,KA5IrB,IAAA1Q,EAAAC,EAAA0Q,EAAAC,EAAA,4BA6II,MAAMC,EACJ,gBAAAD,EAAA,OAAAD,EAAA,OAAA1Q,EAAA,OAAAD,EAAA,MAAAE,OAAA,EAAAA,EAAakB,wBAAb,EAAApB,EAAgC8Q,iBAAhC,EAAA7Q,EAA4CuL,YAA5C,EAAAmF,EAAmDb,oBAAnD,EAAAc,EAAkEpP,YAAlE,IACIuP,sBACAC,EACJ,mDAAA9Q,OAAA,EAAAA,EAAakB,wBAAb,IAAgC0P,iBAAhC,IAA4CtF,YAA5C,IAAmDsE,oBAAnD,IAAkEjO,cAAlE,IACIkP,sBACAE,EACJ,0CAAA/Q,OAAA,EAAAA,EAAakB,wBAAb,IAAgC0P,iBAAhC,IAA4CG,iBAA5C,IAAwDnB,oBAAxD,IACIiB,sBAEN,OAAIvB,EAEA,eAAAc,OAAA,EAAAA,EAAsBY,4CAAtB,EAAoE,GAGlEzG,EACKO,EACH,eAAA6F,OAAA,EAAAA,EAAYM,4BAA4BC,oBAAxC,EAA8D,GAC9D,eAAAJ,OAAA,EAAAA,EAAcG,4BAA4BC,oBAA1C,EAAgE,GAE/D,eAAAH,OAAA,EAAAA,EAAYE,4BAA4BC,oBAAxC,EAA8D,EACvE,EAGIC,EAAW,KArKnB,IAAArR,EAAAC,EAAA0Q,EAAAC,EAAA,4BAsKI,MAAMC,EACJ,gBAAAD,EAAA,OAAAD,EAAA,OAAA1Q,EAAA,OAAAD,EAAA,MAAAE,OAAA,EAAAA,EAAakB,wBAAb,EAAApB,EAAgC8Q,iBAAhC,EAAA7Q,EAA4CuL,YAA5C,EAAAmF,EAAmDb,oBAAnD,EAAAc,EAAkEpP,YAAlE,IACIuP,sBACAC,EACJ,mDAAA9Q,OAAA,EAAAA,EAAakB,wBAAb,IAAgC0P,iBAAhC,IAA4CtF,YAA5C,IAAmDsE,oBAAnD,IAAkEjO,cAAlE,IACIkP,sBACAE,EACJ,0CAAA/Q,OAAA,EAAAA,EAAakB,wBAAb,IAAgC0P,iBAAhC,IAA4CG,iBAA5C,IAAwDnB,oBAAxD,IACIiB,sBAEN,OAAIvB,EAEA,eAAAc,OAAA,EAAAA,EAAsBgB,0CAAtB,EAAkE,GAGhE7G,EACKO,EACH,eAAA6F,OAAA,EAAAA,EAAYM,4BAA4BI,kBAAxC,EAA4D,GAC5D,eAAAP,OAAA,EAAAA,EAAcG,4BAA4BI,kBAA1C,EAA8D,GAE7D,eAAAN,OAAA,EAAAA,EAAYE,4BAA4BI,kBAAxC,EAA4D,EACrE,EAyEF,MAAO,CAAEC,qBAtEoB,IAAY,2BACvC,IAAI1R,GAAY,EAChB2P,GAAa,GAEb,MAAM3X,EACH2S,GAAkBO,IAAaP,EAC5B,CAAEgH,aAAa,GACf,CAAE1G,gBAAiBzQ,EAAY,CAACA,GAAa,IAQnDwF,EAA0C,mBANT8P,EAAiB,CAChDlW,OAAQ,QACRrB,IAAK,kBAAkBkX,IACvBzX,UAG6B2D,OAE3BqE,GACF8E,EAAmB,2BAA4B,CAC7C,gBAAgB,IAAAQ,iCAAgCV,KAAKC,OACrD+M,QAAS1T,EACT,eAAgBgN,EAAU,QAAU,YAIxC0E,GACE,QAAa,CACXiC,SAAU7R,EAAY,UAAY,QAClCpE,QAASoE,EAAY4Q,IAAeW,IACpCO,QAAS,aAIP/B,IAENF,EAAS,kBACTF,GAAa,EACf,IAiC+BoC,eA1MR,KA1DzB,IAAA7R,EAAAC,EAAA0Q,EAAAC,EAAA,oFA2DI,MAAMC,EACJ,gBAAAD,EAAA,OAAAD,EAAA,OAAA1Q,EAAA,OAAAD,EAAA,MAAAE,OAAA,EAAAA,EAAakB,wBAAb,EAAApB,EAAgC8Q,iBAAhC,EAAA7Q,EAA4CuL,YAA5C,EAAAmF,EAAmDb,oBAAnD,EAAAc,EAAkEpP,YAAlE,IACIuP,sBACAC,GACJ,mDAAA9Q,OAAA,EAAAA,EAAakB,wBAAb,IAAgC0P,iBAAhC,IAA4CtF,YAA5C,IAAmDsE,oBAAnD,IAAkEjO,cAAlE,IACIkP,sBACAE,GACJ,0CAAA/Q,OAAA,EAAAA,EAAakB,wBAAb,IAAgC0P,iBAAhC,IAA4CG,iBAA5C,IAAwDnB,oBAAxD,IACIiB,sBAEN,IAAIxF,GACAuG,GACAC,GACAC,GACAC,GAyDJ,OAvDIzC,EACE/E,GACFc,GACE,eAAAkF,OAAA,EAAAA,EAA2ByB,qCAA3B,EAAkE,GACpEJ,GACE,eAAArB,OAAA,EAAAA,EAA2B0B,2CAA3B,EACA,GACFJ,GACE,eAAAtB,OAAA,EAAAA,EAA2ByB,qCAA3B,EAAkE,GACpEF,GACE,eAAA1B,OAAA,EAAAA,EAAsB8B,wCAAtB,EAAgE,GAClEH,GACE,eAAA3B,OAAA,EAAAA,EAAsB+B,sCAAtB,EAA8D,KAEhE9G,GACE,eAAA+E,OAAA,EAAAA,EAAsBgC,sCAAtB,EAA8D,GAChER,GACE,eAAAxB,OAAA,EAAAA,EAAsBiC,4CAAtB,EACA,GACFR,GACE,eAAAzB,OAAA,EAAAA,EAAsBgC,sCAAtB,EAA8D,GAChEN,GACE,eAAA1B,OAAA,EAAAA,EAAsB8B,wCAAtB,EAAgE,GAClEH,GACE,eAAA3B,OAAA,EAAAA,EAAsB+B,sCAAtB,EAA8D,IAG9D5H,EACEO,GACFO,GAAU,eAAAsF,OAAA,EAAAA,EAAY2B,cAAZ,EAA4B,GACtCV,GAAW,eAAAjB,OAAA,EAAAA,EAAY4B,oBAAZ,EAAkC,GAC7CV,GAAc,wBAAAlB,OAAA,EAAAA,EAAYM,kCAAZ,IAAyC7F,OAAzC,EAAkD,GAChE0G,GACE,wBAAAnB,OAAA,EAAAA,EAAYM,kCAAZ,IAAyC1Q,aAAzC,EAAwD,GAC1DwR,GAAe,eAAApB,OAAA,EAAAA,EAAY2B,cAAZ,EAA4B,aAE3CjH,GAAU,eAAAyF,QAAA,EAAAA,GAAcwB,cAAd,EAA8B,GACxCV,GAAW,eAAAd,QAAA,EAAAA,GAAcyB,oBAAd,EAAoC,GAC/CV,GAAc,wBAAAf,QAAA,EAAAA,GAAcG,kCAAd,IAA2C7F,OAA3C,EAAoD,GAClE0G,GACE,wBAAAhB,QAAA,EAAAA,GAAcG,kCAAd,IAA2C1Q,aAA3C,EAA0D,GAC5DwR,GAAe,eAAAjB,QAAA,EAAAA,GAAcwB,cAAd,EAA8B,aAG/CjH,GAAU,eAAA0F,QAAA,EAAAA,GAAYuB,cAAZ,EAA4B,GACtCV,GAAW,eAAAb,QAAA,EAAAA,GAAYwB,oBAAZ,EAAkC,GAC7CV,GAAc,wBAAAd,QAAA,EAAAA,GAAYE,kCAAZ,IAAyC7F,OAAzC,EAAkD,GAChE0G,GACE,wBAAAf,QAAA,EAAAA,GAAYE,kCAAZ,IAAyC1Q,aAAzC,EAAwD,GAC1DwR,GACE,wBAAAhB,QAAA,EAAAA,GAAYE,kCAAZ,IACIuB,oCADJ,EAC0C,YAIzC,CACLnH,WACAuG,YACAxG,MAAOyG,GACPtR,YAAauR,GACbW,YAAaV,GACb9B,oBACD,EA2H4CyC,uBA/BhB,IAAY,2BACzC,IAAI9S,GAAY,EAChB2P,GAAa,GAEb,MAAM,YAAEoD,GAAgBrC,GAAuB,CAAC,EAE1CsC,E,mHAAa,EACjBrB,aAAa,GACToB,GAAe,CAAEA,YAAa,OAQpC/S,EAA0C,mBANT8P,EAAiB,CAChDlW,OAAQ,QACRrB,IAAK,kBAAkBkX,IACvBzX,KAAMgb,KAGuBrX,OAE/BiU,GACE,QAAa,CACXiC,SAAU7R,EAAY,UAAY,QAClCpE,QAASoE,EAAY4Q,IAAeW,IACpCO,QAAS,aAIP/B,IAENJ,GAAa,EACf,IAEuE,C,yXCrPlE,SAASsD,GAAW,sBACzBrb,GAAwB,EAAI,OAC5BE,EAAM,MACNC,EAAK,QACLF,IAEA,MAAM,KAAEG,EAAI,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACnD,IAAAC,cAAgE,CAC9DV,wBACAC,QAAS,GACPW,kBAAkB,GACfX,GAELU,IAAK,WAAWR,IAChBD,OAAQ,KACHA,KAIT,MAAO,CACLob,QAASlb,EACTmb,WAAYlb,EACZmb,kBAAmBlb,EACnBmb,aAAclb,EACdmb,iBAAkBlb,EAClBmb,oBAAqBlb,EACrBmb,eAAgBnZ,QAAQlC,GAE5B,C,2XCtBO,SAASsb,GAAiB,sBAC/B7b,GAAwB,EAAI,QAC5BC,EAAO,OACPC,IAEA,MAAM,KAAEE,EAAI,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACnD,IAAAC,cAIE,CACAV,wBACAW,IAAK,iBACLV,QAAS,GACPW,kBAAkB,GACfX,GAELC,OAAQ,KAAKA,KAGjB,MAAO,CACL4b,cAAe1b,EACf2b,iBAAkB1b,EAClB2b,wBAAyB1b,EACzB2b,oBAAqB1b,EACrB2b,uBAAwB1b,EACxB2b,qBAAsB1Z,QAAQlC,GAC9B6b,0BAA2B3b,EAE/B,C,kDC5BO,SAAS4b,GAAc,QAAEpc,EAAO,OAAEC,EAAM,GAAE4F,IAC/C,MAAM,KAAE1F,EAAI,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACnD,IAAAC,cAAyB,CACvBC,IAAK,gBAAgBmF,IACrB7F,UACAC,WAGJ,MAAO,CACLoc,WAAYlc,EACZmc,cAAelc,EACfmc,qBAAsBlc,EACtBmc,iBAAkBlc,EAClBmc,oBAAqBlc,EACrBmc,kBAAmBla,QAAQlC,GAC3Bqc,uBAAwBnc,EAE5B,C,mFCjCA,MAAM,uBAAEwU,EAAsB,0BAAE4H,GAA8B,o6CAqBjDC,EAAoB,KAC/B,MAAMjc,GAAmB,IAAAC,iBACnB,WAAEG,IAAe,QAAgBJ,IAGhCN,EAAOgD,IAAY,IAAAH,aACnB2Z,EAAWC,IAAgB,IAAA5Z,aAC3BF,EAASC,IAAc,IAAAC,WAAkB,IACzC6Z,EAAWC,IAAgB,IAAA9Z,YA4DlC,OAnDA,IAAAO,YAAU,KACR,IAAKsZ,EAAW,OACK,I,aAIQ,E,EAAA,CAyChBA,G,EAzCgB,WAJD,eAC1BE,EAAc,iBACdxW,EAAgB,MAChByW,IAEAja,GAAW,GACX,IACE,MAAM9C,QACE,YAAc,CAClB2B,OAAQ,OACRrB,IAAK,GAAGsU,wBAA6CkI,IACrD/c,KAAM,CACJid,QAAS,CACP3Y,KAAMiC,GAER2W,QAAS,CACPF,SAEFG,UAAWV,EACXW,cAAe,CACbvc,iBAIR,GAAuB,MAAnBZ,EAAQ0D,OACV,OAGF,IAAK1D,EAAQD,KAEX,YADAmD,EAAS,oBAGX,MAAMwZ,EAAY1c,EAAQD,KAAKA,KAAKqd,cACpC,IAAKV,EAEH,YADAxZ,EAAS,0BAGXyZ,EAAaD,EACf,CAAE,MAAOpY,GACPpB,EAAS,yBAAyBoB,IACpC,CAAE,QACAxB,GAAW,EACb,CACF,E,gMAGA+Z,OAAa,EAAU,GACtB,CAACD,EAAWhc,IAER,CACLV,QACAwc,YACA7Z,UACAwa,gBA9DsB,EACtBP,iBACAxW,mBACAyW,WAEAF,EAAa,CAAEC,iBAAgBxW,mBAAkByW,UA0DlD,C,sYC9FI,SAASO,EACdzd,EACAF,GAAwB,GAExB,MAAM,UAAEuH,EAAS,UAAE/G,IAAc,QAAU,CAAER,0BAQ7C,OANmB,IAAA4d,sBAAqB,GACtCpd,UAAWA,IACX+G,aACGrH,GAIP,C,2XCFO,SAAS2d,GAAe,sBAC7B7d,GAAwB,EAAI,OAC5BE,EAAM,QAEND,IAEA,MAAM,KAAEG,EAAI,QAAEC,EAAO,WAAEC,EAAU,MAAEC,EAAK,UAAEC,EAAS,aAAEC,IACnD,IAAAC,cAIE,CACAV,wBACAC,QAAS,GACPW,kBAAkB,GACfX,GAELU,IAAK,eACLT,OAAQ,KACHA,KAIT,MAAO,CACL4d,YAAa1d,EACb2d,eAAgB1d,EAChB2d,sBAAuB1d,EACvB2d,iBAAkB1d,EAClB2d,qBAAsB1d,EACtB2d,wBAAyB1d,EACzB2d,mBAAoB3b,QAAQlC,GAEhC,C,wHCvCA,MAAM,+BACJ8d,EAA8B,uBAC9BC,EAAsB,kCACtBC,EAAiC,+BACjCC,GACE,o6CAeJ,MAAMC,EAA0D,SAAnCD,EAEvBE,EAAYnR,SAASoR,eAAe,QAEpCC,GAAO,OAAWF,GAEpBD,EACFG,EAAKC,QACH,SAAC,cACC,mBAAC,KAAe,OAIpBD,EAAKC,QACH,SAAC,cACC,mBAAC,EAAAC,SAAQ,CAACC,MAAK,IACb,mBAAC,OACCC,OA9BV,SAAsBze,EAAgB0e,GAElCZ,GACAC,GACAC,GAEA,EAAAxZ,YAAA,aAAyB,wBAAyB,CAChDxE,QACA0e,aAGN,EAoBUC,SAAU,CAAChb,EAAMF,KAAY,QAAe,CAAEA,UAASE,SAEvD,mBAAC,KAAG,U","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useAvailabilities/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useChatToken/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useLocalization/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useEvents/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useGoals/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useLeaderboardPosition/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useMixpanelEvents/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useMobileMediaQuery/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useNotes/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useProfilePicture/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useReviews/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSessionStorageTyped/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSessions/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSurveys/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useSurveyResources/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useUserIntegrations/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useUserPictures/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useWindowDimensions/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useUnavailabilities/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useVideoParticipants/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useChatParticipants/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useConcludeRelationship/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useMatches/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useNotifications/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useOTPSurveys/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useRegisterInvite/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useTrackEvent/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/hooks/useVideoTokens/index.ts","file:////home/runner/work/platform/platform/apps/front-end/src/index.tsx"],"sourcesContent":["import {\n DayOfWeekAvailabilities,\n DaysOfWeek,\n IAvailability,\n} from '@guider-global/shared-types';\n\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useOrganization } from '@guider-global/sanity-hooks';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\nimport { useMemo } from 'react';\n\nconst DEFAULT_START_TIME = '09:00';\nconst DEFAULT_END_TIME = '18:00';\n\ninterface IUseAvailabilitiesORequestParams extends IPaginationParams {}\ninterface UseAvailabilitiesOptions\n extends Omit<\n IUseGuiderSWRParams<\n IAvailability,\n Partial,\n IUseAvailabilitiesORequestParams\n >,\n 'url'\n > {\n query?: string;\n}\n\nexport function useAvailabilities({\n waitForAuthentication = true,\n options,\n params,\n query,\n}: UseAvailabilitiesOptions) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR({\n waitForAuthentication,\n url: `/availabilities${query ? query : ''}`,\n options: {\n keepPreviousData: true,\n ...options,\n },\n params: { ...params },\n });\n\n const organizationSlug = getSubDomain();\n\n const { organization } = useOrganization({\n organizationSlug: organizationSlug,\n localeCode: 'en_GB',\n });\n\n const orgStartTime = organization?.availabilities?.start_time;\n const orgEndTime = organization?.availabilities?.end_time;\n\n const defaultAvailability = useMemo(\n () =>\n DaysOfWeek.reduce((acc, day) => {\n const isNotWeekend = day !== 'saturday' && day !== 'sunday';\n const startTime = orgStartTime ?? DEFAULT_START_TIME;\n const endTime = orgEndTime ?? DEFAULT_END_TIME;\n\n acc[`${day}Enabled`] = isNotWeekend;\n acc[`${day}Start`] = isNotWeekend ? startTime : '';\n acc[`${day}End`] = isNotWeekend ? endTime : '';\n\n return acc;\n }, {} as DayOfWeekAvailabilities),\n [orgStartTime, orgEndTime],\n );\n const createAvailabilities = (data: Record) => {\n if (!data) {\n console.error('Missing data for createAvailabilities');\n return;\n }\n\n return request({\n method: 'POST',\n url: `/availabilities`,\n data,\n });\n };\n\n const updateAvailabilities = (\n availabilityId: string,\n data: Record,\n ) => {\n if (!availabilityId || !data) {\n console.error('Missing availabilityId or data for updateAvailabilities');\n return;\n }\n\n return request({\n method: 'PATCH',\n url: `/availabilities/${availabilityId}`,\n data,\n });\n };\n\n return {\n defaultAvailability,\n createAvailabilities,\n updateAvailabilities,\n availabilities: data,\n reqAvailabilities: request,\n availabilitiesRevalidate: revalidate,\n errorsAvailabilities: error,\n isLoadingAvailabilities: isLoading,\n isErrorAvailabilities: Boolean(error),\n isValidatingAvailabilities: isValidating,\n };\n}\n","import { CommunicationAccessToken } from '@azure/communication-identity';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useAxios } from '@guider-global/redux-axios-hooks';\nimport { IError } from '@guider-global/shared-types';\nimport axios from 'axios';\nimport { useEffect, useState } from 'react';\nimport { IUseChatTokenResult } from './types';\nimport { datadogLogs, useDatadogContext } from '@guider-global/datadog';\n\nexport function useChatToken(\n profileId?: string | false,\n waitForAuthentication = true,\n): IUseChatTokenResult {\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n const [loading, setLoading] = useState();\n const [token, setToken] = useState();\n const [error, setError] = useState();\n\n const { requestCallback } = useAxios({\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n });\n\n useEffect(() => {\n async function getChatToken() {\n setLoading(true);\n try {\n const axiosResult = await requestCallback({\n url: '/chat/token',\n params: { profileId, traceId: sessionId },\n method: 'POST',\n });\n const { data: axiosData } = axiosResult;\n const { data, status, message, errors, code } = axiosData;\n if (status !== 'success' || data?.length <= 0) {\n console.log('Error getting chat token!', { code, message, errors });\n const errorMessage =\n errors && errors.length > 0\n ? errors.flatMap((error) => error.message).join(',')\n : message;\n const chatError = new Error(errorMessage);\n chatError.name = `${code}`;\n throw chatError;\n }\n setToken(data[0].token);\n setLoading(false);\n } catch (err) {\n const unknownErrorMessage =\n 'Unknown error occurred getting users chat token';\n const unknownErrorCode = 'UNKNOWN_ERROR';\n if (axios.isAxiosError(err) || err instanceof Error) {\n console.error({ err });\n setError({\n message: err?.message ?? unknownErrorMessage,\n code: err?.name ?? unknownErrorCode,\n });\n datadogLogs.logger.error('useChatToken:', {\n ...err,\n });\n } else {\n datadogLogs.logger.error('useChatToken:', {\n message: unknownErrorMessage,\n err,\n });\n setError({\n code: 'UNKNOWN_ERROR',\n message: unknownErrorMessage,\n });\n }\n setLoading(false);\n }\n }\n if (accessToken && !token && !loading && !error && profileId) {\n getChatToken();\n }\n }, [\n accessToken,\n token,\n loading,\n error,\n profileId,\n requestCallback,\n sessionId,\n ]);\n\n return {\n error,\n token,\n };\n}\n","import { useProfiles, useSettings } from '@guider-global/front-end-hooks';\nimport { setDocAttrsAndMetaTag } from '@guider-global/front-end-utils';\nimport { useSanityLocalization } from '@guider-global/sanity-hooks';\nimport { SanityBaseLanguage } from '@guider-global/shared-types';\nimport { SessionStorageKeys } from 'hooks';\nimport { useCallback } from 'react';\nimport { RootState } from 'store';\n\ninterface UseLocalizationResults {\n localeCode?: string;\n handleLanguageChange: (localeCode: string) => Promise;\n}\ninterface UseLocalizationOptions {\n revalidateIfStale: boolean;\n revalidateOnFocus: boolean;\n revalidateOnReconnect: boolean;\n}\n\nexport const useLocalization = (\n organizationSlug: string,\n options?: UseLocalizationOptions,\n): UseLocalizationResults => {\n // Profile\n const { profile } = useProfiles({\n options: {\n ...options,\n },\n });\n\n // Setting\n const {\n isLoadingSettings,\n settings: getSettings,\n updateSettings,\n createSettings,\n } = useSettings({\n options: {\n ...options,\n },\n });\n\n const setting = getSettings?.at(0);\n\n const lastUsedLanguage = setting?.localeCode;\n\n const createOrUpdateSettings = useCallback(\n (localeCode: string) => {\n if (setting) {\n return updateSettings(setting.id, { localeCode });\n } else if (profile) {\n return createSettings({ profile: profile.id, localeCode });\n }\n },\n [createSettings, profile, setting, updateSettings],\n );\n\n const onLanguageChange = useCallback(\n async (\n localeCode: string,\n textDirection?: SanityBaseLanguage['text_direction'],\n ) => {\n await createOrUpdateSettings(localeCode);\n setDocAttrsAndMetaTag({ localeCode, textDirection });\n },\n [createOrUpdateSettings],\n );\n\n const { localeCode, handleLanguageChange } = useSanityLocalization(\n organizationSlug,\n SessionStorageKeys,\n onLanguageChange,\n isLoadingSettings,\n lastUsedLanguage,\n {\n ...options,\n },\n );\n\n return {\n localeCode,\n handleLanguageChange,\n };\n};\n","import { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n IUseRestReduxResult,\n RestReduxHook,\n useRestRedux,\n} from '@guider-global/redux-axios-hooks';\nimport {\n useOrganization,\n useOrganizationPrograms,\n} from '@guider-global/sanity-hooks';\nimport { IEvent, IGoal, Program } from '@guider-global/shared-types';\nimport { useLocalization } from 'hooks/useLocalization';\nimport { RestRootState, RestRootStateTypes, RootState } from 'store';\nimport eventsSlice from 'store/slices/eventsSlice';\n\ninterface IUseEvents extends RestReduxHook {\n programSlug?: string;\n}\n\n/**\n * A custom hook to handle Events REST API requests connected the redux store\n * @deprectaion This hook is deprecated and will be removed in the future. Please use the useEvents hook from the @guider-global/front-end-hooks package instead\n * @param {RestReduxHook} args are the arguments to be passed to the useRestRedux hook\n * @returns ...hook - all return values via the `useRestRedux()` hook\n * @returns relationships - array of relationships in the RestRootState reducer\n * @returns reqEvents - makes requests and stores results in the relationshipsReducer\n * @returns getErrorsEvents - gets API errors from the relationshipsReducer\n */\nexport function useEvents({\n programSlug = '',\n waitForAuthentication = true,\n ...args\n}: IUseEvents) {\n const organizationSlug = getSubDomain();\n\n const { localeCode } = useLocalization(organizationSlug);\n\n const { organization } = useOrganization({\n organizationSlug: organizationSlug,\n });\n\n const { getProgram } = useOrganizationPrograms({\n organizationSlug: organizationSlug,\n localeCode: localeCode,\n });\n const program = getProgram(programSlug);\n\n const organizationName = organization?.basic_info.name;\n const goalCategories = organization?.goal_categories;\n\n const { accessToken, getAccessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n\n const hook: IUseRestReduxResult = useRestRedux<\n IEvent,\n RestRootState,\n RestRootStateTypes,\n RootState\n >({\n ...args,\n getSilently: false,\n resultDataName: 'events',\n actions: eventsSlice.actions,\n waitForAuthentication,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n traceId: sessionId ?? '',\n });\n\n const getOrganizationDataForEvent = () => {\n return {\n slug: organizationSlug,\n url: window.location.origin,\n name: organizationName,\n learningHubURL: `${window.location.origin}/learn`,\n };\n };\n\n const getProgramDataForEvent = () => {\n const programType = program?.program_details?.program_type;\n const programSlug = program?.metadata.id.current;\n\n return {\n variation: 'individual',\n name: program?.metadata.program_name,\n description: program?.program_details?.program_description,\n slug: programSlug,\n landingPageURL: `${window.location.origin}/programs/${programSlug}`,\n guideRegistrationUrl: `${window.location.origin}/programs/${programSlug}/join/guide`,\n traineeRegistrationUrl: `${window.location.origin}/programs/${programSlug}/join/trainee`,\n type: {\n id: programType?.metadata?.id?.current,\n noun: programType?.program_type_text?.common?.noun,\n verb: programType?.program_type_text?.common?.verb,\n guideSingular: programType?.program_type_text?.common?.guide?.singular,\n guidePluralized:\n programType?.program_type_text?.common?.guide?.pluralized,\n traineeSingular:\n programType?.program_type_text?.common?.trainee?.singular,\n traineePluralized:\n programType?.program_type_text?.common?.trainee?.pluralized,\n },\n };\n };\n\n const getProgramsDataForEvent = (programs: Program[]) =>\n programs.map((program) => {\n const programType = program?.program_details?.program_type;\n const programSlug = program?.metadata.id.current;\n\n return {\n variation: 'individual',\n name: program?.metadata.program_name,\n description: program?.program_details?.program_description,\n slug: programSlug,\n landingPageURL: `${window.location.origin}/programs/${programSlug}`,\n guideRegistrationUrl: `${window.location.origin}/programs/${programSlug}/join/guide`,\n traineeRegistrationUrl: `${window.location.origin}/programs/${programSlug}/join/trainee`,\n type: {\n id: programType?.metadata?.id?.current,\n noun: programType?.program_type_text?.common?.noun,\n verb: programType?.program_type_text?.common?.verb,\n guideSingular:\n programType?.program_type_text?.common?.guide?.singular,\n guidePluralized:\n programType?.program_type_text?.common?.guide?.pluralized,\n traineeSingular:\n programType?.program_type_text?.common?.trainee?.singular,\n traineePluralized:\n programType?.program_type_text?.common?.trainee?.pluralized,\n },\n };\n });\n\n const getGoalDataForEvent = (goal: Partial) => {\n const goalCategoryName = goalCategories?.categories?.find(\n (goalCategory) =>\n goalCategory.goal_category_slug.current === goal.categorySlug,\n )?.goal_category_name;\n\n return {\n goalName: goal.objective,\n goalCategory: goalCategoryName,\n goalStatus: goal.status,\n goalUrl: `${window.location.origin}/goals/${goal.id}`,\n };\n };\n\n return {\n ...hook,\n getEvents: hook.getResults,\n reqEvents: hook.request,\n getErrorsEvents: hook.getErrors,\n hasResultsEvents: hook.hasResults,\n getMessageEvents: hook.getMessage,\n getCodeEvents: hook.getCode,\n getIsLoadingEvents: hook.isLoading,\n getIsErrorEvents: hook.isError,\n getIsSuccessEvents: hook.isSuccess,\n getProgramDataForEvent,\n getOrganizationDataForEvent,\n getGoalDataForEvent,\n getProgramsDataForEvent,\n };\n}\n","import { IGoal } from '@guider-global/shared-types';\nimport { IUseGuiderSWRParams, useGuiderSWR } from '@guider-global/swr';\n\nexport function useGoals({\n waitForAuthentication = true,\n options,\n}: Omit, 'url'>) {\n const {\n data,\n request,\n revalidate,\n error,\n isLoading,\n isValidating,\n isMutating,\n } = useGuiderSWR({\n waitForAuthentication,\n url: '/goals',\n options: {\n keepPreviousData: true,\n ...options,\n },\n });\n\n return {\n goals: data,\n reqGoals: request,\n revalidateGoals: revalidate,\n errorGoals: error,\n isLoadingGoals: isLoading,\n isValidatingGoals: isValidating,\n isErrorGoals: Boolean(error),\n isMutatingGoals: isMutating,\n };\n}\n","import { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n ILeaderboardPosition,\n ILeaderboardPositionQuery,\n} from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface IUseLeaderboardPositionsRequestParams\n extends IPaginationParams,\n Omit {\n profileId?: string;\n}\ninterface UseLeaderboardPositionsParams\n extends Omit<\n IUseGuiderSWRParams<\n ILeaderboardPosition,\n Partial,\n IUseLeaderboardPositionsRequestParams\n >,\n 'url'\n > {}\n\n/**\n * @returns returns leaderboard positions\n */\nexport function useLeaderboardPositions({\n waitForAuthentication = true,\n params,\n options,\n}: UseLeaderboardPositionsParams) {\n const organizationSlug = getSubDomain();\n const { profileId, ...rest } = params ?? {};\n const { data, meta, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR({\n waitForAuthentication,\n url: profileId\n ? `/leaderboardPositions/${profileId}`\n : `/leaderboardPositions`,\n params: {\n ...{ organizationSlug },\n ...rest,\n },\n options: {\n keepPreviousData: true,\n ...options,\n },\n });\n\n return {\n leaderboardPositions: data,\n leaderboardMeta: meta,\n reqLeaderboardPositions: request,\n LeaderboardPositionsRevalidate: revalidate,\n errorsLeaderboardPositions: error,\n isLoadingLeaderboardPositions: isLoading,\n isErrorLeaderboardPositions: Boolean(error),\n isValidatingLeaderboardPositions: isValidating,\n };\n}\n","import { getISOStringWithoutMilliseconds } from '@guider-global/front-end-utils';\nimport mixpanel from 'mixpanel-browser';\nimport { useCallback, useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\ntype MixpanelEventCustomProps = Record;\n\ninterface UseMixpanelEventsProps {\n navigationEventName?: string;\n eventName?: string;\n properties?: MixpanelEventCustomProps;\n}\n\nexport function useMixpanelEvents(props = {} as UseMixpanelEventsProps) {\n const { navigationEventName, eventName } = props;\n const startTime = Date.now();\n const location = useLocation();\n\n const trackMixpanelEvent = useCallback(\n (eventName: string, properties?: MixpanelEventCustomProps) => {\n mixpanel.track(eventName, {\n ...properties,\n page_name: location.pathname,\n referrer: document.referrer,\n });\n\n console.log(`Event ${eventName} tracked on ${location.pathname}`);\n },\n [location],\n );\n\n const getClickProp = useCallback(\n () => ({ Click: getISOStringWithoutMilliseconds(Date.now()) }),\n [],\n );\n\n const getScreenTimeProp = useCallback(() => {\n const screenTimeSeconds = (Date.now() - startTime) / 1000;\n return { 'Time spent on screen': screenTimeSeconds };\n }, [startTime]);\n\n const getScreenTimeAndClickProps = useCallback(\n () => ({ ...getClickProp(), ...getScreenTimeProp() }),\n [getClickProp, getScreenTimeProp],\n );\n\n const trackClick = useCallback(\n (eventName: string, properties?: MixpanelEventCustomProps) => {\n trackMixpanelEvent(eventName, {\n ...getClickProp(),\n ...properties,\n });\n },\n [trackMixpanelEvent, getClickProp],\n );\n\n const trackScreenTime = useCallback(\n (eventName: string, properties?: MixpanelEventCustomProps) => {\n trackMixpanelEvent(eventName, {\n ...getScreenTimeProp(),\n ...properties,\n });\n },\n [trackMixpanelEvent, getScreenTimeProp],\n );\n\n const trackScreenTimeAndClick = useCallback(\n (eventName: string, properties?: MixpanelEventCustomProps) => {\n trackScreenTime(eventName, {\n ...getScreenTimeAndClickProps(),\n ...properties,\n });\n },\n [trackScreenTime, getScreenTimeAndClickProps],\n );\n\n const setUserProperties = (props: Record): void => {\n mixpanel.people.set(props);\n };\n\n const setOrganizationGroup = (organizationSlug: string): void => {\n mixpanel.set_group('Organization ID', organizationSlug);\n };\n\n useEffect(() => {\n if (eventName) {\n trackMixpanelEvent(eventName);\n }\n }, [eventName, trackMixpanelEvent]);\n\n useEffect(() => {\n if (navigationEventName) {\n trackMixpanelEvent(`Navigation - ${navigationEventName}`);\n }\n }, [navigationEventName, trackMixpanelEvent]);\n\n return {\n startTimeISOString: getISOStringWithoutMilliseconds(startTime),\n trackMixpanelEvent,\n trackClick,\n trackScreenTime,\n trackScreenTimeAndClick,\n setUserProperties,\n setOrganizationGroup,\n resetUserIdentity: mixpanel.reset,\n unionUserProperty: mixpanel.people?.union,\n incrementUserPropetry: mixpanel.people?.increment,\n };\n}\n","import { useTheme, useMediaQuery } from '@mui/material';\n\nexport function useMobileMediaQuery(): boolean {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n return isMobile;\n}\n","import { INote } from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface UseNotesRequestParams extends IPaginationParams {\n id?: string;\n relationshipId?: string;\n}\n\ntype UseNotesSWRParams = IUseGuiderSWRParams<\n INote,\n Partial,\n UseNotesRequestParams\n>;\ninterface UseNotesParams extends Omit {}\n\nexport function useNotes({\n waitForAuthentication = true,\n ...params\n}: UseNotesParams) {\n const {\n data,\n request,\n revalidate,\n error,\n isLoading,\n isValidating,\n isMutating,\n } = useGuiderSWR, UseNotesRequestParams>({\n waitForAuthentication,\n url: '/notes',\n ...params,\n });\n return {\n notes: data,\n reqNotes: request,\n revalidateNotes: revalidate,\n errorNotes: error,\n isLoadingNotes: isLoading,\n isValidatingNotes: isValidating,\n isMutatingNotes: isMutating,\n isErrorNotes: Boolean(error),\n };\n}\n","import { usePicture } from '@guider-global/azure-storage-hooks';\nimport { useProfiles, useUsers } from '@guider-global/front-end-hooks';\n\nexport const useProfilePicture = () => {\n // Users\n const { user } = useUsers({});\n const oauthPicture = user ? user.picture : undefined;\n\n const { loading, getImage } = usePicture({});\n\n // Profiles\n const { profile, isLoadingProfiles } = useProfiles({});\n const profilePicture = profile?.picture;\n const firstLetter = profile?.firstName.charAt(0).toUpperCase();\n const lastLetter = profile?.lastName.charAt(0).toUpperCase();\n\n const isLoading = !user || !profile || isLoadingProfiles || loading;\n\n const picture = !profilePicture ? oauthPicture : getImage(profilePicture);\n\n const initials = `${firstLetter}${lastLetter}`;\n\n return {\n initials,\n loading: isLoading,\n picture,\n };\n};\n","import { IReview } from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface IUseReviewsRequestParams extends IPaginationParams {}\n\ninterface IUseReviewsParams\n extends Omit<\n IUseGuiderSWRParams, IUseReviewsRequestParams>,\n 'url'\n > {}\n\nexport function useReviews({\n waitForAuthentication = true,\n options,\n params,\n}: IUseReviewsParams) {\n const {\n data,\n request,\n revalidate,\n error,\n isLoading,\n isValidating,\n isMutating,\n } = useGuiderSWR, IUseReviewsRequestParams>({\n waitForAuthentication,\n url: '/reviews',\n options: {\n keepPreviousData: true,\n ...options,\n },\n params: { ...params },\n });\n\n return {\n reviews: data,\n reqReviews: request,\n reviewsRevalidate: revalidate,\n errorsReviews: error,\n isLoadingReviews: isLoading,\n isMutatingReviews: isMutating,\n isErrorReviews: Boolean(error),\n isValidatingReviews: isValidating,\n };\n}\n","import { useSessionStorageResults } from '@guider-global/front-end-utils';\nimport { useSessionStorage } from '@guider-global/front-end-utils';\nimport { SharedSessionStorageKeys } from '@guider-global/shared-types';\n\nexport enum FrontEndSessionStorageKeys {\n REGISTER_REDIRECT = 'post-register-redirect',\n}\n\nexport const SessionStorageKeys = {\n ...FrontEndSessionStorageKeys,\n ...SharedSessionStorageKeys,\n} as const;\n\nexport function useSessionStorageTyped

(\n key: (typeof SessionStorageKeys)[keyof typeof SessionStorageKeys],\n defaultValue?: P,\n): useSessionStorageResults

{\n return useSessionStorage(key, defaultValue);\n}\n","import { ISession } from '@guider-global/shared-types';\nimport { IUseGuiderSWRParams, useGuiderSWR } from '@guider-global/swr';\n\ninterface UseSessionParams extends Omit, 'url'> {\n url?: string;\n}\n\nexport function useSessions({\n waitForAuthentication = true,\n ...rest\n}: UseSessionParams) {\n const {\n data,\n request,\n revalidate,\n meta,\n error,\n isLoading,\n isValidating,\n isMutating,\n } = useGuiderSWR({\n waitForAuthentication,\n url: '/sessions',\n ...rest,\n });\n\n return {\n sessions: data,\n sessionsMeta: meta,\n reqSessions: request,\n sessionsRevalidate: revalidate,\n errorsSessions: error,\n isLoadingSessions: isLoading,\n isErrorSessions: Boolean(error),\n isValidatingSessions: isValidating,\n isMutatingSessions: isMutating,\n };\n}\n","import { TSurvey } from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface CreateSurveysData\n extends Omit {}\n\ninterface IUseSurveysRequestParams extends IPaginationParams {}\ninterface IUseSurveysParams\n extends Omit<\n IUseGuiderSWRParams, IUseSurveysRequestParams>,\n 'url'\n > {}\nexport function useSurveys({\n waitForAuthentication = true,\n params,\n\n options,\n}: IUseSurveysParams) {\n const {\n data,\n request,\n revalidate,\n error,\n isLoading,\n isValidating,\n isMutating,\n } = useGuiderSWR, IUseSurveysRequestParams>({\n waitForAuthentication,\n options: {\n keepPreviousData: true,\n ...options,\n },\n url: `/surveys`,\n params: {\n ...params,\n },\n });\n const createSurveys = (data: CreateSurveysData) =>\n request({\n method: 'POST',\n url: '/surveys',\n data,\n });\n return {\n surveys: data,\n reqSurveys: request,\n createSurveys,\n revalidateSurveys: revalidate,\n errorSurveys: error,\n isLoadingSurveys: isLoading,\n isValidatingSurveys: isValidating,\n isErrorSurveys: Boolean(error),\n isMutatingSurveys: isMutating,\n };\n}\n","import { useLocation } from 'react-router-dom';\nimport {\n EProgramVariation,\n IGroup,\n IProfile,\n IRelationship,\n IUser,\n} from '@guider-global/shared-types';\nimport { useOrganizationPrograms } from '@guider-global/sanity-hooks';\nimport { isSurveyFieldForGuide, isSurveyFieldForTrainee } from 'functions';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useLocalization } from 'hooks';\n\nexport interface UseSurveyResourcesProps {\n surveyType: 'post_session_survey' | 'post_relationship_survey';\n relationship: IRelationship | undefined;\n user: IUser | undefined;\n}\n\nexport function useSurveyResources({\n surveyType,\n relationship,\n user,\n}: UseSurveyResourcesProps) {\n const { pathname } = useLocation();\n const isOnGuiderVideoPage = pathname.startsWith('/video');\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { programs } = useOrganizationPrograms({\n organizationSlug,\n localeCode,\n });\n\n if (!relationship || !user) {\n return {};\n }\n\n const program = programs.find(\n (program) => program.metadata.id.current === relationship.programSlug,\n );\n const programName = program?.metadata.program_name;\n const surveys = program?.surveys;\n const survey = surveys?.[surveyType];\n const guideSingular =\n program?.program_details?.program_type?.program_type_text?.common?.guide\n ?.singular ?? 'Guide';\n const traineeSingular =\n program?.program_details?.program_type?.program_type_text?.common?.trainee\n ?.singular ?? 'Trainee';\n\n const isGroupProgram =\n relationship.programVariationTypeSlug === EProgramVariation.Group;\n\n const [guideProfile] =\n (relationship?.guideProfiles as Partial[]) ?? [];\n const [traineeProfile] =\n (relationship?.traineeProfiles as Partial[]) ?? [];\n const isGuide = guideProfile?.userId === user?.id;\n const guideName = guideProfile?.displayName;\n const traineeName = traineeProfile?.displayName;\n\n const name = isGuide ? traineeName : guideName;\n const role = isGuide ? traineeSingular : guideSingular;\n const title = survey?.title ?? '';\n const description = survey?.description ?? '';\n const heading =\n (isGroupProgram ? (relationship?.group as Partial)?.title : name) ??\n '';\n const subheading =\n (isGroupProgram ? programName : `Your ${role} • ${programName}`) ?? '';\n\n const sessions = relationship?.sessions ?? [];\n const sessionCount = sessions.length;\n const surveyFields = survey?.fields ?? [];\n const guideFields = surveyFields.filter((surveyField) =>\n isSurveyFieldForGuide(surveyField, sessionCount),\n );\n const traineeFields = surveyFields.filter((surveyField) =>\n isSurveyFieldForTrainee(surveyField, sessionCount),\n );\n\n return {\n title,\n description,\n heading,\n subheading,\n profile: isGuide ? guideProfile : traineeProfile,\n surveyFields: isGuide ? guideFields : traineeFields,\n isGuide,\n isGroupProgram,\n isSurveyEnabled: survey?.enabled,\n isOnGuiderVideoPage,\n };\n}\n","import { UserIntegration } from '@guider-global/shared-types';\nimport { IUseGuiderSWRParams, useGuiderSWR } from '@guider-global/swr';\n\nexport type UseUserIntegrationsOptions = Omit<\n IUseGuiderSWRParams,\n 'url'\n>;\n\nexport function useUserIntegrations({\n waitForAuthentication = true,\n options,\n}: UseUserIntegrationsOptions) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR({\n waitForAuthentication,\n url: '/userIntegrations',\n options: {\n keepPreviousData: true,\n ...options,\n },\n });\n\n return {\n userIntegrations: data,\n reqUserIntegrations: request,\n userIntegrationsRevalidate: revalidate,\n errorsUserIntegrations: error,\n isLoadingUserIntegrations: isLoading,\n isErrorUserIntegrations: Boolean(error),\n isValidatingUserIntegrations: isValidating,\n };\n}\n","import { useAuth } from '@guider-global/auth-hooks';\nimport { useDatadogContext } from '@guider-global/datadog';\nimport axios from 'axios';\nimport { useCallback, useEffect, useState } from 'react';\n\nconst { REACT_APP_BASE_API_URL } = process.env;\n\nexport function useUserPictures(waitForAuthentication = true) {\n const [picture, setPicture] = useState(undefined);\n const [error, setError] = useState(undefined);\n const [loading, setLoading] = useState(true);\n\n // Auth\n const { accessToken } = useAuth({\n waitForAuthentication,\n });\n const { sessionId } = useDatadogContext();\n\n const getPicture = useCallback(async () => {\n setLoading(true);\n try {\n const { data } = await axios.get(\n `${REACT_APP_BASE_API_URL}/userPictures`,\n {\n headers: {\n 'Content-Type': 'image/jpg',\n Authorization: `Bearer ${accessToken}`,\n },\n responseType: 'blob',\n params: { traceId: sessionId },\n },\n );\n if (data.size === 0) return;\n setPicture(data);\n } catch (error) {\n setError(error);\n } finally {\n setLoading(false);\n }\n }, [accessToken, sessionId]);\n\n useEffect(() => {\n if (!accessToken) return;\n\n getPicture();\n }, [accessToken, getPicture]);\n\n return { picture, loading, error };\n}\n","import { useState, useEffect } from 'react';\n\nconst getWindowDimensions = () => {\n const { innerWidth: width, innerHeight: height } = window;\n return {\n width,\n height,\n };\n};\n\nexport const useWindowDimensions = () => {\n const [windowDimensions, setWindowDimensions] = useState(\n getWindowDimensions(),\n );\n\n useEffect(() => {\n const handleResize = () => {\n setWindowDimensions(getWindowDimensions());\n };\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return windowDimensions;\n};\n","import { useEffect, useState } from 'react';\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useAxios } from '@guider-global/redux-axios-hooks';\nimport { datadogLogs, useDatadogContext } from '@guider-global/datadog';\n\ntype Unavailabilities = Record;\ninterface UnavailabilitiesResult {\n data: Unavailabilities;\n}\n\ninterface UseUnavailabilitiesProps {\n organizationSlug: string | undefined;\n userId: string | undefined;\n date: string | undefined;\n timezone: string | undefined;\n}\n\nexport function useUnavailabilities({\n organizationSlug,\n userId,\n date,\n timezone,\n}: UseUnavailabilitiesProps) {\n const [isLoadingUnavailabilities, setIsLoadingUnavailabilities] =\n useState(false);\n const [unavailabilities, setUnavailabilities] = useState(\n {},\n );\n\n const { accessToken, getAccessToken } = useAuth({});\n const { requestCallback } = useAxios({\n waitForAuthentication: true,\n accessToken,\n onExpiredAccessToken: getAccessToken,\n });\n const { sessionId } = useDatadogContext();\n\n useEffect(() => {\n if (!organizationSlug || !userId || !date || !timezone) return;\n\n const reqUnavailabilities = async () => {\n try {\n setIsLoadingUnavailabilities(true);\n const axiosResult = await requestCallback({\n url: '/unavailabilities',\n params: {\n organizationSlug: organizationSlug,\n userId: userId,\n date: date,\n timeZone: timezone,\n traceId: sessionId,\n },\n });\n const { data: unavailabilities } =\n axiosResult.data as unknown as UnavailabilitiesResult;\n setUnavailabilities(unavailabilities);\n } catch (error) {\n datadogLogs.logger.error('useUnavailabilities:reqUnavailabilities', {\n error,\n });\n console.error(error);\n } finally {\n setIsLoadingUnavailabilities(false);\n }\n };\n\n reqUnavailabilities();\n }, [organizationSlug, userId, date, timezone, requestCallback, sessionId]);\n\n return {\n isLoadingUnavailabilities,\n unavailabilities,\n };\n}\n","import { IVideoParticipant } from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface IUseVideoParticipantRequestParams\n extends IPaginationParams,\n Partial {}\n\nexport interface UseVideoParticipantOptions\n extends Omit<\n IUseGuiderSWRParams<\n IVideoParticipant,\n Partial,\n IUseVideoParticipantRequestParams\n >,\n 'url'\n > {\n url?: string;\n}\n\nexport function useVideoParticipants({\n waitForAuthentication = true,\n ...rest\n}: UseVideoParticipantOptions) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR<\n IVideoParticipant,\n Partial,\n IUseVideoParticipantRequestParams\n >({\n waitForAuthentication,\n url: '/videoParticipants',\n ...rest,\n });\n\n return {\n videoParticipants: data,\n reqVideoParticipants: request,\n revalidateVideoParticipants: revalidate,\n errorVideoParticipants: error,\n isLoadingVideoParticipants: isLoading,\n isValidatingVideoParticipants: isValidating,\n isErrorVideoParticipants: Boolean(error),\n };\n}\n","import { IChatParticipant } from '@guider-global/shared-types';\nimport { IUseGuiderSWRParams, useGuiderSWR } from '@guider-global/swr';\n\nexport function useChatParticipants({\n waitForAuthentication = true,\n options,\n}: Omit, 'url'>) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR({\n waitForAuthentication,\n url: '/chatParticipants',\n options: {\n keepPreviousData: true,\n ...options,\n },\n });\n\n return {\n chatParticipants: data,\n reqChatParticipants: request,\n revalidateChatParticipants: revalidate,\n errorChatParticipants: error,\n isLoadingChatParticipants: isLoading,\n isValidatingChatParticipants: isValidating,\n isErrorChatParticipants: Boolean(error),\n };\n}\n","import { useProfiles, useRelationships } from '@guider-global/front-end-hooks';\nimport { getISOStringWithoutMilliseconds } from '@guider-global/front-end-utils';\nimport { useBaseLanguage } from '@guider-global/sanity-hooks';\nimport { ProgramType } from '@guider-global/shared-types';\nimport { useLocalization, useMixpanelEvents } from 'hooks';\nimport { useNavigate } from 'react-router-dom';\nimport { useAppDispatch } from 'store/hooks';\nimport { showAppAlert } from 'store/slices/appSlice';\n\ninterface ConcludeRelationshipHook {\n relationshipId: string;\n organizationSlug: string;\n programType: Partial | undefined;\n isGroupProgram: boolean;\n programSlug: string | undefined;\n isGuide: boolean;\n isActiveGroup?: boolean;\n archived?: boolean;\n setIsLoading: (isLoading: boolean) => void;\n}\n\nconst useConcludeRelationship = ({\n relationshipId,\n isGroupProgram,\n isGuide,\n programSlug,\n programType,\n organizationSlug,\n archived,\n setIsLoading,\n}: ConcludeRelationshipHook) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n const { trackMixpanelEvent } = useMixpanelEvents();\n const { localeCode } = useLocalization(organizationSlug);\n\n // Relationship\n const { reqRelationships, relationshipsRevalidate, relationships } =\n useRelationships({});\n\n // Profile\n const { profiles } = useProfiles({});\n const profile = profiles?.at(0);\n const profileId = profile?.id;\n\n // Base Language\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const cancelButtonLabel =\n baseLanguage?.globals?.common?.cancel_button_label ?? 'Cancel';\n\n const reactiveRelationship =\n baseLanguage?.relationships?.archived_relationship_view;\n const currentRelationship = relationships?.find(\n (relationship) => relationship.id === relationshipId,\n );\n const groupReactiveRelationship = reactiveRelationship?.group;\n\n const getModalConfig = () => {\n const groupGuide =\n programType?.program_type_text?.variations?.group?.relationships?.guide\n ?.conclude_relationship;\n const groupTrainee =\n programType?.program_type_text?.variations?.group?.relationships?.trainee\n ?.conclude_relationship;\n const individual =\n programType?.program_type_text?.variations?.individual?.relationships\n ?.conclude_relationship;\n\n let heading;\n let subtitle;\n let dialogTitle;\n let dialogDescription;\n let actionButton;\n\n if (archived) {\n if (isGroupProgram) {\n heading =\n groupReactiveRelationship?.guide_reactivate_group_button_title ?? '';\n subtitle =\n groupReactiveRelationship?.guide_reactivate_group_button_description ??\n '';\n dialogTitle =\n groupReactiveRelationship?.guide_reactivate_group_button_title ?? '';\n dialogDescription =\n reactiveRelationship?.reactivate_relationship_modal_question ?? '';\n actionButton =\n reactiveRelationship?.reactivate_relationship_button_label ?? '';\n } else {\n heading =\n reactiveRelationship?.reactivate_relationship_button_title ?? '';\n subtitle =\n reactiveRelationship?.reactivate_relationship_button_description ??\n '';\n dialogTitle =\n reactiveRelationship?.reactivate_relationship_button_title ?? '';\n dialogDescription =\n reactiveRelationship?.reactivate_relationship_modal_question ?? '';\n actionButton =\n reactiveRelationship?.reactivate_relationship_button_label ?? '';\n }\n } else {\n if (isGroupProgram) {\n if (isGuide) {\n heading = groupGuide?.button_title ?? '';\n subtitle = groupGuide?.button_description ?? '';\n dialogTitle = groupGuide?.conclude_relationship_modal?.title ?? '';\n dialogDescription =\n groupGuide?.conclude_relationship_modal?.description ?? '';\n actionButton = groupGuide?.button_title ?? 'Conclude';\n } else {\n heading = groupTrainee?.button_title ?? '';\n subtitle = groupTrainee?.button_description ?? '';\n dialogTitle = groupTrainee?.conclude_relationship_modal?.title ?? '';\n dialogDescription =\n groupTrainee?.conclude_relationship_modal?.description ?? '';\n actionButton = groupTrainee?.button_title ?? 'Conclude';\n }\n } else {\n heading = individual?.button_title ?? '';\n subtitle = individual?.button_description ?? '';\n dialogTitle = individual?.conclude_relationship_modal?.title ?? '';\n dialogDescription =\n individual?.conclude_relationship_modal?.description ?? '';\n actionButton =\n individual?.conclude_relationship_modal\n ?.conclude_relationship_button_label ?? 'Conclude';\n }\n }\n\n return {\n heading,\n subtitle,\n title: dialogTitle,\n description: dialogDescription,\n buttonLabel: actionButton,\n cancelButtonLabel,\n };\n };\n\n const getSuccess = () => {\n const groupGuide =\n programType?.program_type_text?.variations?.group?.relationships?.guide\n ?.conclude_relationship;\n const groupTrainee =\n programType?.program_type_text?.variations?.group?.relationships?.trainee\n ?.conclude_relationship;\n const individual =\n programType?.program_type_text?.variations?.individual?.relationships\n ?.conclude_relationship;\n\n if (archived) {\n return (\n reactiveRelationship?.success_alert_text_reactivate_relationship ?? ''\n );\n } else {\n if (isGroupProgram) {\n return isGuide\n ? groupGuide?.conclude_relationship_modal.success_alert_text ?? ''\n : groupTrainee?.conclude_relationship_modal.success_alert_text ?? '';\n }\n return individual?.conclude_relationship_modal.success_alert_text ?? '';\n }\n };\n\n const getError = () => {\n const groupGuide =\n programType?.program_type_text?.variations?.group?.relationships?.guide\n ?.conclude_relationship;\n const groupTrainee =\n programType?.program_type_text?.variations?.group?.relationships?.trainee\n ?.conclude_relationship;\n const individual =\n programType?.program_type_text?.variations?.individual?.relationships\n ?.conclude_relationship;\n\n if (archived) {\n return (\n reactiveRelationship?.error_alert_text_reactivate_relationship ?? ''\n );\n } else {\n if (isGroupProgram) {\n return isGuide\n ? groupGuide?.conclude_relationship_modal.error_alert_text ?? ''\n : groupTrainee?.conclude_relationship_modal.error_alert_text ?? '';\n }\n return individual?.conclude_relationship_modal.error_alert_text ?? '';\n }\n };\n\n const concludeRelationship = async () => {\n let isSuccess = false;\n setIsLoading(true);\n\n const data =\n (isGroupProgram && isGuide) || !isGroupProgram\n ? { isConcluded: true }\n : { traineeProfiles: profileId ? [profileId] : [] };\n\n const updateRelationship = await reqRelationships({\n method: 'PATCH',\n url: `/relationships/${relationshipId}`,\n data,\n });\n\n isSuccess = updateRelationship.status === 'success';\n\n if (isSuccess) {\n trackMixpanelEvent('Relationship - Concluded', {\n 'Concluded on': getISOStringWithoutMilliseconds(Date.now()),\n Program: programSlug,\n 'Concluded by': isGuide ? 'guide' : 'trainee',\n });\n }\n\n dispatch(\n showAppAlert({\n severity: isSuccess ? 'success' : 'error',\n message: isSuccess ? getSuccess() : getError(),\n timeout: 5000,\n }),\n );\n\n await relationshipsRevalidate();\n\n navigate('/relationships');\n setIsLoading(false);\n };\n\n const reactivateRelationship = async () => {\n let isSuccess = false;\n setIsLoading(true);\n\n const { reengagedAt } = currentRelationship || {};\n\n const updateData = {\n isConcluded: false,\n ...(reengagedAt && { reengagedAt: null }),\n };\n const updateRelationship = await reqRelationships({\n method: 'PATCH',\n url: `/relationships/${relationshipId}`,\n data: updateData,\n });\n\n isSuccess = updateRelationship.status === 'success';\n\n dispatch(\n showAppAlert({\n severity: isSuccess ? 'success' : 'error',\n message: isSuccess ? getSuccess() : getError(),\n timeout: 5000,\n }),\n );\n\n await relationshipsRevalidate();\n\n setIsLoading(false);\n };\n\n return { concludeRelationship, getModalConfig, reactivateRelationship };\n};\n\nexport default useConcludeRelationship;\n","import { IMatch } from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface IUseMatchesRequestParams extends IPaginationParams {}\ninterface IUseMatchesParams\n extends Omit<\n IUseGuiderSWRParams, IUseMatchesRequestParams>,\n 'url'\n > {\n query?: string;\n}\nexport function useMatches({\n waitForAuthentication = true,\n params,\n query,\n options,\n}: IUseMatchesParams) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR, IUseMatchesRequestParams>({\n waitForAuthentication,\n options: {\n keepPreviousData: true,\n ...options,\n },\n url: `/matches${query}`,\n params: {\n ...params,\n },\n });\n\n return {\n matches: data,\n reqMatches: request,\n revalidateMatches: revalidate,\n errorMatches: error,\n isLoadingMatches: isLoading,\n isValidatingMatches: isValidating,\n isErrorMatches: Boolean(error),\n };\n}\n","import { INotification } from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface IUseNotificationsRequestParams extends IPaginationParams {\n latest?: boolean;\n}\n\ninterface IUseNotificationsParams\n extends Omit<\n IUseGuiderSWRParams<\n INotification,\n Partial,\n IUseNotificationsRequestParams\n >,\n 'url'\n > {}\n\nexport function useNotifications({\n waitForAuthentication = true,\n options,\n params,\n}: IUseNotificationsParams) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR<\n INotification,\n Partial,\n IUseNotificationsRequestParams\n >({\n waitForAuthentication,\n url: '/notifications',\n options: {\n keepPreviousData: true,\n ...options,\n },\n params: { ...params },\n });\n\n return {\n notifications: data,\n reqNotifications: request,\n notificationsRevalidate: revalidate,\n errorsNotifications: error,\n isLoadingNotifications: isLoading,\n isErrorNotifications: Boolean(error),\n isValidatingNotifications: isValidating,\n };\n}\n","import { TOTPSurvey } from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface IUseSurveyRequestParams extends IPaginationParams {\n userId?: string;\n}\n\ninterface UseOTPSurveysOptions\n extends Omit<\n IUseGuiderSWRParams<\n TOTPSurvey,\n Partial,\n IUseSurveyRequestParams\n >,\n 'url'\n > {\n id?: string;\n}\nexport function useOTPSurveys({ options, params, id }: UseOTPSurveysOptions) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR({\n url: `/otp/surveys/${id}`,\n options,\n params,\n });\n\n return {\n otpSurveys: data,\n reqOTPSurveys: request,\n otpSurveysRevalidate: revalidate,\n errorsOTPSurveys: error,\n isLoadingOTPSurveys: isLoading,\n isErrorOTPSurveys: Boolean(error),\n isValidatingOTPSurveys: isValidating,\n };\n}\n","/* eslint-disable camelcase */\nimport { useEffect, useState } from 'react';\nimport axios, { AxiosResponse } from 'axios';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useLocalization } from 'hooks';\n\nconst { REACT_APP_BASE_API_URL, REACT_APP_AUTH0_CLIENT_ID } = process.env;\n\nexport interface InviteResponse {\n status: string;\n code: number;\n data: { invitationUrl: string };\n message: string;\n}\nexport interface HandleGetInviteParams {\n organizationId: string;\n organizationName: string;\n email: string;\n}\n\nexport interface UseRegisterInviteResults {\n error?: string;\n inviteUrl?: string;\n loading: boolean;\n handleGetInvite: (params: HandleGetInviteParams) => void;\n}\n\nexport const useRegisterInvite = (): UseRegisterInviteResults => {\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n\n // Local State\n const [error, setError] = useState();\n const [inviteUrl, setInviteUrl] = useState();\n const [loading, setLoading] = useState(false);\n const [getInvite, setGetInvite] = useState();\n\n const handleGetInvite = ({\n organizationId,\n organizationName,\n email,\n }: HandleGetInviteParams) =>\n setGetInvite({ organizationId, organizationName, email });\n\n useEffect(() => {\n if (!getInvite) return;\n const createInvite = async ({\n organizationId,\n organizationName,\n email,\n }: HandleGetInviteParams) => {\n setLoading(true);\n try {\n const request: AxiosResponse =\n await axios.request({\n method: 'POST',\n url: `${REACT_APP_BASE_API_URL}/register/invite?id=${organizationId}`,\n data: {\n inviter: {\n name: organizationName,\n },\n invitee: {\n email,\n },\n client_id: REACT_APP_AUTH0_CLIENT_ID,\n user_metadata: {\n localeCode,\n },\n },\n });\n if (request.status === 204) {\n return;\n }\n\n if (!request.data) {\n setError('no data returned');\n return;\n }\n const inviteUrl = request.data.data.invitationUrl;\n if (!inviteUrl) {\n setError('no invitation returned');\n return;\n }\n setInviteUrl(inviteUrl);\n } catch (err: unknown) {\n setError(`Error getting invite: ${err}`);\n } finally {\n setLoading(false);\n }\n };\n\n createInvite(getInvite);\n setGetInvite(undefined);\n }, [getInvite, localeCode]);\n\n return {\n error,\n inviteUrl,\n loading,\n handleGetInvite,\n };\n};\n","import {\n UseTrackEventParams,\n useGenericTrackEvent,\n} from '@guider-global/customer-io-hooks';\nimport { useEvents } from 'hooks';\n\nexport function useTrackEvent(\n params: UseTrackEventParams,\n waitForAuthentication = true,\n) {\n const { reqEvents, isLoading } = useEvents({ waitForAuthentication });\n\n const controller = useGenericTrackEvent({\n isLoading: isLoading(),\n reqEvents,\n ...params,\n });\n\n return controller;\n}\n","import { ITokenVideo } from '@guider-global/shared-types';\nimport {\n IPaginationParams,\n IUseGuiderSWRParams,\n useGuiderSWR,\n} from '@guider-global/swr';\n\ninterface IUseVideoTokenRequestParams extends IPaginationParams {}\ninterface IUseVideoTokenParams\n extends Omit<\n IUseGuiderSWRParams<\n ITokenVideo,\n Partial,\n IUseVideoTokenRequestParams\n >,\n 'url'\n > {}\nexport function useVideoTokens({\n waitForAuthentication = true,\n params,\n\n options,\n}: IUseVideoTokenParams) {\n const { data, request, revalidate, error, isLoading, isValidating } =\n useGuiderSWR<\n ITokenVideo,\n Partial,\n IUseVideoTokenRequestParams\n >({\n waitForAuthentication,\n options: {\n keepPreviousData: true,\n ...options,\n },\n url: `/video/token`,\n params: {\n ...params,\n },\n });\n\n return {\n videoTokens: data,\n reqVideoTokens: request,\n revalidateVideoTokens: revalidate,\n errorVideoTokens: error,\n isLoadingVideoTokens: isLoading,\n isValidatingVideoTokens: isValidating,\n isErrorVideoTokens: Boolean(error),\n };\n}\n","import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport './index.css';\nimport { App, ErrorComponent } from 'components';\nimport { store } from './store';\nimport { Provider } from 'react-redux';\nimport { ErrorBoundary } from '@guider-global/ui';\nimport { datadogLogs } from '@guider-global/datadog';\nimport { MaintenancePage } from 'pages';\n\nconst {\n REACT_APP_DATADOG_CLIENT_TOKEN,\n REACT_APP_DATADOG_SITE,\n REACT_APP_DATADOG_LOGGING_ENABLED,\n REACT_APP_DOWN_FOR_MAINTENANCE,\n} = process.env;\n\nfunction logToDatadog(error: unknown, errorInfo: unknown) {\n if (\n REACT_APP_DATADOG_CLIENT_TOKEN &&\n REACT_APP_DATADOG_SITE &&\n REACT_APP_DATADOG_LOGGING_ENABLED\n ) {\n datadogLogs.logger.error('Error Boundary thrown', {\n error,\n errorInfo,\n });\n }\n}\n\nconst isDownForMaintenance = REACT_APP_DOWN_FOR_MAINTENANCE === 'true';\n\nconst container = document.getElementById('root');\n\nconst root = createRoot(container!);\n\nif (isDownForMaintenance) {\n root.render(\n \n \n ,\n );\n} else {\n root.render(\n \n \n ErrorComponent({ message, code })}\n >\n \n \n \n ,\n );\n}\n"],"names":["DEFAULT_START_TIME","DEFAULT_END_TIME","useAvailabilities","waitForAuthentication","options","params","query","data","request","revalidate","error","isLoading","isValidating","useGuiderSWR","url","keepPreviousData","organizationSlug","getSubDomain","organization","useOrganization","localeCode","orgStartTime","availabilities","start_time","orgEndTime","end_time","defaultAvailability","useMemo","DaysOfWeek","acc","day","isNotWeekend","startTime","endTime","createAvailabilities","method","console","updateAvailabilities","availabilityId","reqAvailabilities","availabilitiesRevalidate","errorsAvailabilities","isLoadingAvailabilities","isErrorAvailabilities","Boolean","isValidatingAvailabilities","useChatToken","profileId","accessToken","getAccessToken","useAuth","sessionId","useDatadogContext","loading","setLoading","useState","token","setToken","setError","requestCallback","useAxios","onExpiredAccessToken","useEffect","axiosResult","traceId","axiosData","status","message","errors","code","length","log","errorMessage","flatMap","join","chatError","Error","name","err","unknownErrorMessage","unknownErrorCode","axios","datadogLogs","getChatToken","profile","useProfiles","isLoadingSettings","settings","getSettings","updateSettings","createSettings","useSettings","setting","at","lastUsedLanguage","createOrUpdateSettings","useCallback","id","onLanguageChange","textDirection","setDocAttrsAndMetaTag","handleLanguageChange","useSanityLocalization","SessionStorageKeys","useEvents","programSlug","args","getProgram","useOrganizationPrograms","program","organizationName","basic_info","goalCategories","goal_categories","hook","useRestRedux","getSilently","resultDataName","actions","eventsSlice","getEvents","getResults","reqEvents","getErrorsEvents","getErrors","hasResultsEvents","hasResults","getMessageEvents","getMessage","getCodeEvents","getCode","getIsLoadingEvents","getIsErrorEvents","isError","getIsSuccessEvents","isSuccess","getProgramDataForEvent","_a","_b","programType","program_details","program_type","metadata","current","variation","program_name","description","program_description","slug","landingPageURL","window","location","origin","guideRegistrationUrl","traineeRegistrationUrl","type","noun","program_type_text","common","verb","guideSingular","guide","singular","guidePluralized","pluralized","traineeSingular","trainee","traineePluralized","getOrganizationDataForEvent","learningHubURL","getGoalDataForEvent","goal","goalCategoryName","categories","find","goalCategory","goal_category_slug","categorySlug","goal_category_name","goalName","objective","goalStatus","goalUrl","getProgramsDataForEvent","programs","map","useGoals","isMutating","goals","reqGoals","revalidateGoals","errorGoals","isLoadingGoals","isValidatingGoals","isErrorGoals","isMutatingGoals","useLeaderboardPositions","rest","meta","leaderboardPositions","leaderboardMeta","reqLeaderboardPositions","LeaderboardPositionsRevalidate","errorsLeaderboardPositions","isLoadingLeaderboardPositions","isErrorLeaderboardPositions","isValidatingLeaderboardPositions","useMixpanelEvents","props","navigationEventName","eventName","Date","now","trackMixpanelEvent","properties","page_name","pathname","referrer","document","getClickProp","Click","getISOStringWithoutMilliseconds","getScreenTimeProp","getScreenTimeAndClickProps","trackClick","trackScreenTime","trackScreenTimeAndClick","startTimeISOString","setUserProperties","setOrganizationGroup","resetUserIdentity","unionUserProperty","union","incrementUserPropetry","increment","useMobileMediaQuery","theme","useTheme","useMediaQuery","breakpoints","down","useNotes","notes","reqNotes","revalidateNotes","errorNotes","isLoadingNotes","isValidatingNotes","isMutatingNotes","isErrorNotes","useProfilePicture","user","useUsers","oauthPicture","picture","getImage","usePicture","isLoadingProfiles","profilePicture","initials","firstName","charAt","toUpperCase","lastName","useReviews","reviews","reqReviews","reviewsRevalidate","errorsReviews","isLoadingReviews","isMutatingReviews","isErrorReviews","isValidatingReviews","FrontEndSessionStorageKeys","SharedSessionStorageKeys","useSessionStorageTyped","key","defaultValue","useSessionStorage","useSessions","sessions","sessionsMeta","reqSessions","sessionsRevalidate","errorsSessions","isLoadingSessions","isErrorSessions","isValidatingSessions","isMutatingSessions","useSurveys","surveys","reqSurveys","createSurveys","revalidateSurveys","errorSurveys","isLoadingSurveys","isValidatingSurveys","isErrorSurveys","isMutatingSurveys","useSurveyResources","surveyType","relationship","isOnGuiderVideoPage","startsWith","programName","survey","isGroupProgram","programVariationTypeSlug","EProgramVariation","guideProfile","guideProfiles","traineeProfile","traineeProfiles","isGuide","userId","guideName","displayName","traineeName","role","title","heading","group","subheading","sessionCount","surveyFields","fields","guideFields","filter","surveyField","traineeFields","isSurveyEnabled","enabled","useUserIntegrations","userIntegrations","reqUserIntegrations","userIntegrationsRevalidate","errorsUserIntegrations","isLoadingUserIntegrations","isErrorUserIntegrations","isValidatingUserIntegrations","REACT_APP_BASE_API_URL","useUserPictures","setPicture","getPicture","headers","Authorization","responseType","size","getWindowDimensions","innerWidth","width","innerHeight","height","useWindowDimensions","windowDimensions","setWindowDimensions","handleResize","addEventListener","removeEventListener","useUnavailabilities","date","timezone","isLoadingUnavailabilities","setIsLoadingUnavailabilities","unavailabilities","setUnavailabilities","timeZone","reqUnavailabilities","useVideoParticipants","videoParticipants","reqVideoParticipants","revalidateVideoParticipants","errorVideoParticipants","isLoadingVideoParticipants","isValidatingVideoParticipants","isErrorVideoParticipants","useChatParticipants","chatParticipants","reqChatParticipants","revalidateChatParticipants","errorChatParticipants","isLoadingChatParticipants","isValidatingChatParticipants","isErrorChatParticipants","relationshipId","archived","setIsLoading","dispatch","navigate","reqRelationships","relationshipsRevalidate","relationships","useRelationships","profiles","baseLanguage","useBaseLanguage","cancelButtonLabel","globals","cancel_button_label","reactiveRelationship","archived_relationship_view","currentRelationship","groupReactiveRelationship","getSuccess","_c","_d","groupGuide","variations","conclude_relationship","groupTrainee","individual","success_alert_text_reactivate_relationship","conclude_relationship_modal","success_alert_text","getError","error_alert_text_reactivate_relationship","error_alert_text","concludeRelationship","isConcluded","Program","severity","timeout","getModalConfig","subtitle","dialogTitle","dialogDescription","actionButton","guide_reactivate_group_button_title","guide_reactivate_group_button_description","reactivate_relationship_modal_question","reactivate_relationship_button_label","reactivate_relationship_button_title","reactivate_relationship_button_description","button_title","button_description","conclude_relationship_button_label","buttonLabel","reactivateRelationship","reengagedAt","updateData","useMatches","matches","reqMatches","revalidateMatches","errorMatches","isLoadingMatches","isValidatingMatches","isErrorMatches","useNotifications","notifications","reqNotifications","notificationsRevalidate","errorsNotifications","isLoadingNotifications","isErrorNotifications","isValidatingNotifications","useOTPSurveys","otpSurveys","reqOTPSurveys","otpSurveysRevalidate","errorsOTPSurveys","isLoadingOTPSurveys","isErrorOTPSurveys","isValidatingOTPSurveys","REACT_APP_AUTH0_CLIENT_ID","useRegisterInvite","inviteUrl","setInviteUrl","getInvite","setGetInvite","organizationId","email","inviter","invitee","client_id","user_metadata","invitationUrl","handleGetInvite","useTrackEvent","useGenericTrackEvent","useVideoTokens","videoTokens","reqVideoTokens","revalidateVideoTokens","errorVideoTokens","isLoadingVideoTokens","isValidatingVideoTokens","isErrorVideoTokens","REACT_APP_DATADOG_CLIENT_TOKEN","REACT_APP_DATADOG_SITE","REACT_APP_DATADOG_LOGGING_ENABLED","REACT_APP_DOWN_FOR_MAINTENANCE","isDownForMaintenance","container","getElementById","root","render","Provider","store","logger","errorInfo","fallback"],"sourceRoot":""}