{"version":3,"file":"static/js/21.2e8a8d8ce7ca455e967d.chunk.js","mappings":";8zBAoCA,IAAMA,EAAN,cAA8BC,EAAAA,UAA9BC,kCAiDY,KAAAC,KAAOC,UACXC,KAAKC,MAAMC,YAAYJ,KAAK,CACxBK,OAAQH,KAAKG,SAEbH,KAAKI,kCACLJ,KAAKC,MAAMC,YAAYG,WAIvB,KAAAF,OAAS,KACbH,KAAKC,MAAMC,YAAYI,cA1DjB,kBACN,MAAgF,aAAxEN,KAAKC,MAAMM,KAAKC,SAASC,QAAUT,KAAKC,MAAMM,KAAKC,SAASE,QAE9D,uCACN,MAAM,gBAAEC,EAAe,MAAEC,GAAUZ,KAAKC,MAAMY,QAAQC,QAEtD,SADoBF,GAAsB,MAAbA,EAAMG,KAAeJ,IAAmBC,EAAMI,gBAIxEC,qBAEHC,EAAAA,EAAAA,KACI,IAAMlB,KAAKmB,cACXpB,gBACUC,KAAKF,UAKhBsB,SAAM,IAAAC,EACT,MACIC,QAAQ,UAAEC,GACVrB,aAAa,QAAEsB,IACfxB,KAAKC,MACHwB,EAAwC,GACT,QAArCJ,EAAArB,KAAKC,MAAMM,KAAKmB,eAAejB,cAAM,IAAAY,GAArCA,EAAuCM,SAAQ,CAACC,EAAMC,KAClDJ,EAAiBK,KAAK,CAClBC,IAAKH,EAAKI,gBACVC,MAAOL,EAAKM,eAIpB,MAAMC,EAASC,EAAAA,EAAAA,EAAA,GACRpC,KAAKC,OACLD,KAAKqC,OAAK,IACblC,OAAQH,KAAKG,OACbmC,YAAatC,KAAKC,MAClBN,gBAAiB,CACb2C,YAAatC,KAAKC,MAClBsB,UAAWgB,GAAAA,CAAW,sBAAuBhB,EAAWC,EAAU,OAAS,QAE/EE,eAAgBD,EAChBe,+BAAgCxC,KAAKI,mCAGzC,OAAOJ,KAAKC,MAAMwC,WAAWN,MA7CvBO,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,iCAGCD,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,qDAJPhD,GAAe+C,EAAAA,EAAAA,IAAA,CAFpBE,EAAAA,gBACAC,EAAAA,IACKlD,GA+DN,2JClGO,MAAMmD,EAAmB,CAC5BC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,OCvPKC,EAAiB,IAAIC,IAAoB,CAClD,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,MAGGC,EAAkB,IAAID,IAAoB,CACnD,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,GACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,IACN,CAAC,IAAK,2BCxDV,MAAME,EAAY,CACd,UACA,yBACA,WACA,aACA,mBACA,cACA,WACA,cACA,cACA,gBACA,eACA,aACA,iBACA,UACA,WAwEEC,EAA+BC,IACjC,MAAMC,EAAiB,GAevB,OAdAD,EAAS/Q,SAAQiR,IACb,GAAIA,EAAKC,KAAOD,EAAKE,MAAO,CACxB,MAAMC,EAAS,CAACH,EAAKE,MAAME,YAAaJ,EAAKE,MAAMG,aAAcL,EAAKE,MAAMI,cAAcC,QACtFlR,GAASA,MAAAA,IAEPA,EAAQ8Q,EAAOK,OAAS,EAAIL,EAAO,GAAK,KAC1C9Q,MAAAA,GAAmD,KAAVA,GACrCuQ,EAAUa,QAAQT,EAAKC,MAAQ,IAC/BF,EAAOC,EAAKC,KAAO5Q,OAM5B0Q,GAGLW,EAAevT,MAAOuC,EAA0C/B,UAxF/CR,OAAOQ,EAAc+B,KACxC,MAAMiR,EAAe,GACrBC,OAAOC,KAAKlT,GAAMoB,SAAQI,IACtB,MAAME,EACwB,kBAAnByR,GAAAA,CAAInT,EAAMwB,GACX,CACImR,aAAcQ,GAAAA,CAAInT,EAAMwB,IAEpB,aAARA,EACA,CACIkR,aAAcU,OAAOD,GAAAA,CAAInT,EAAMwB,KAEnC,CAAEiR,YAAaU,GAAAA,CAAInT,EAAMwB,IACnCwR,EAAazR,KAAK,CACd+Q,IAAK9Q,EACL+Q,MAAO7Q,OAIf,IAAK,MAAM2R,KAAOpB,EACTgB,OAAOC,KAAKlT,GAAMsT,SAASD,IAC5BL,EAAazR,KAAK,CACd+Q,IAAKe,EACLd,MAAO,CAAEE,YAAa,MAKlC,MAAMc,EAAiBxR,EAAY/B,KAAKC,SAASC,OAE3CsT,EAAiB,CACnB,CACIlB,IAAK,kCACLC,MAAO,CACHI,cAAc,KAK1Bc,MAAMC,UAAUnS,KAAKoS,MAAMH,EAAgBR,GAEvCO,QACMA,EAAeK,aAAaC,0BAA0B,CACxDC,uBAAwBN,IAG5BO,QAAQC,MAAM,sDA2CZC,CAAejU,EAAM+B,IA0BzBmS,EAAe,CACjB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAuCEC,EAAsBC,GACK,KAAzBA,EAAcvB,OArCQuB,CAAAA,IAC1BA,EAAgBA,EAAcC,cAC9B,IAAIC,EAAM,EACV,IAAK,IAAIC,EAAI,EAAGA,EAAI,GAAIA,GAAQ,EAAG,KAAAC,EAAAC,EAC/B,MAAMC,EAAIN,EAAcO,OAAOJ,GAC/BD,GAAOC,EAAI,GAAM,EAA0B,QAAzBC,EAAGxC,EAAgBmB,IAAIuB,UAAE,IAAAF,EAAAA,EAAI,EAAyB,QAAxBC,EAAG3C,EAAeqB,IAAIuB,UAAE,IAAAD,EAAAA,EAAI,EAGhF,OADAH,GAAY,GACLF,EAAcO,OAAO,MDjHA,6BCiHyBA,OAAOL,IA8BjDM,CAAqBR,GAEH,KAAzBA,EAAcvB,QA9BQuB,CAAAA,IAC1B,IAAK,cAAcS,KAAKT,GACpB,OAAO,EAEX,GAAsB,gBAAlBA,EACA,OAAO,EAEX,IAAIE,EAAM,EACV,IAAK,IAAIC,EAAI,EAAGA,EAAI,GAAIA,GAAQ,EAAG,CAC/B,MAAMG,EAAII,SAASV,EAAcO,OAAOJ,GAAI,IAE5C,GAAIA,EAAI,GAAM,EACVD,GAAOI,MACJ,CACH,IAAIK,EAAY,EAAJL,EACRK,EAAQ,IACRA,GAAgB,GAEpBT,GAAOS,GAKf,OAFAT,EAAM,GAAMA,EAAM,GAClBA,GAAY,GACLF,EAAcO,OAAO,MAAQL,EAAIU,YAQ7BC,CAAqBb,GAkZpC,EA7YiE1U,IAAQ,IAAAwV,EAAAC,EACrE,MAAM,gBAAE/V,EAAe,UAAEgW,EAAS,eAAEjU,EAAc,YAAExB,EAAW,YAAEoC,EAAW,+BAAEE,GAAmCvC,GAC1GsT,EAAcqC,GAAmBhW,EAAAA,WAClCiW,EAAkBvT,MAAAA,GAAiB,QAANmT,EAAXnT,EAAa/B,YAAI,IAAAkV,GAAU,QAAVA,EAAjBA,EAAmBjV,gBAAQ,IAAAiV,GAAQ,QAARA,EAA3BA,EAA6BhV,cAAM,IAAAgV,GAAiB,QAAjBA,EAAnCA,EAAqCK,uBAAe,IAAAL,OAAA,EAApDA,EAAsDM,0BACvEC,EAASC,GAAcrW,EAAAA,UAAwB,IAC/CsW,EAAcC,GAAmBvW,EAAAA,SAAuB,IACxDwW,EAAiBC,GAAsBzW,EAAAA,SAAuB,IAC/D0W,EAAgB,oHAEhBC,EAAyB/C,OAAOgD,yBAAyBC,OAAOC,iBAAiBzC,UAAW,SAAS0C,IAErGC,EAAwC,QAA9BlB,EAAG/V,EAAgB2C,mBAAW,IAAAoT,GAAS,QAATA,EAA3BA,EAA6B7U,eAAO,IAAA6U,GAAe,QAAfA,EAApCA,EAAsCmB,qBAAa,IAAAnB,GAAgB,QAAhBA,EAAnDA,EAAqDoB,sBAAc,IAAApB,GAAM,QAANA,EAAnEA,EAAqEqB,YAAI,IAAArB,OAAA,EAAzEA,EAA2EsB,sBACxFC,EAAqB,CACvB,CAAElV,IAAK,IAAKE,MAAO0T,EAAUuB,iBAC7B,CAAEnV,IAAK,IAAKE,MAAO0T,EAAUwB,eAGjCvX,EAAAA,WAAgB,KACPwX,MAEN,IAEHxX,EAAAA,WAAgB,KACP4C,IACGqT,IAA8D,IAA3CpB,EAAapB,QAAQwC,GACnCG,IACDC,GAAW,GACXoB,EAAS,WAAW,EAAM,CAAEC,aAAa,IACd,UAAvBpX,EAAYQ,QACZR,EAAYC,QAAUD,EAAYC,UAGlB,IAAjB+V,IACPD,GAAW,GACXoB,EAAS,WAAW,EAAO,CAAEC,aAAa,QAGnD,CAACzB,IA0EJ,MAAM,SAAE0B,EAAQ,aAAEC,EAAY,OAAEC,EAAM,SAAEJ,EAAQ,SAAEK,EAAQ,MAAEC,IAAUC,EAAAA,EAAAA,MAEhEC,EAAeA,CAACC,EAAcC,EAAeC,EAAmBC,EAAsBC,IAEpFtY,EAAAA,cAAA,OAAK2B,UAAW,kDAAkDuW,IAAM,eAAgBpE,GAAAA,CAAI+D,EAAQK,GAAQ,OAAS,SACjHlY,EAAAA,cAAA,SAAOmC,IAAK,GAAG+V,cAAkBK,QAASL,EAAMvW,UAAW,2BACtDwW,EAAK,IAAGC,GAAY,KAEzBpY,EAAAA,cAAA,SACImC,IAAK,GAAG+V,cACRM,GAAIN,EACJA,KAAMA,EACNO,IAAKd,EAAS,CAAES,SAAUA,EAAUE,QAASA,IAC7C3W,UAAW,yDAEdmS,GAAAA,CAAI+D,EAAQK,IAASlY,EAAAA,cAAA,QAAM2B,UAAW,iBAAkB0W,IA6E/DK,EAAWvY,MAAAA,IACkC,IAAAwY,EAA3ChY,EAAKiY,YAAkC,KAApBjY,EAAKiY,YACnBC,EAAAA,EAAAA,IAAwB,CAAEC,cAAkC,QAArBH,EAAEjW,EAAYzB,eAAO,IAAA0X,OAAA,EAAnBA,EAAqB1B,eAAiBtW,EAAKiY,WAAYjY,EAAKoY,aAAaC,MACnHC,KAC4B,IAApBA,EAASC,OACgB,QAArBvY,EAAKoY,aAAyBpY,EAAKwY,gBAA0C,KAAxBxY,EAAKwY,eACtDrE,EAAmBnU,EAAKwY,iBACxBnD,EAAgBrV,GACX+S,EAAahR,EAAa/B,GAC/BL,EAAYG,UACZsX,EAAMpX,IAENmX,EAAS,iBAAkB,CACvBsB,QAAS,4BACTC,aAAa,KAIrBrD,EAAgBrV,GACX+S,EAAahR,EAAa/B,GAC/BL,EAAYG,UACZsX,EAAMpX,IAGVmX,EAAS,aAAc,CACnBsB,QAAS,oBACTC,aAAa,OAMJ,QAArB1Y,EAAKoY,aAAyBpY,EAAKwY,gBAA0C,KAAxBxY,EAAKwY,eACtDrE,EAAmBnU,EAAKwY,iBACxBnD,EAAgBrV,GACX+S,EAAahR,EAAa/B,GAC/BL,EAAYG,UACZsX,EAAMpX,IAENmX,EAAS,iBAAkB,CACvBsB,QAAS,4BACTC,aAAa,KAIrBrD,EAAgBrV,GACX+S,EAAahR,EAAa/B,GAC/BL,EAAYG,UACZsX,EAAMpX,KAKZ2Y,EAAaA,KACX3F,MAAAA,GAAAA,EAAcyC,UAAYA,GAC1BC,GAAW,GACXI,EAAmB9C,EAAaoF,aAChCxC,EAAgB5C,EAAa4F,WACtB5F,GAAgByC,IACvBK,EAAmB9C,EAAaoF,aAChCxC,EAAgB5C,EAAa4F,WAEjCjZ,EAAYG,WAGV+W,EAAUrX,UACZ,MAAOqZ,EAAwBC,QA3ZhBtZ,OAAAA,IAAsF,IAAAuZ,EAAAC,EAAAC,EAAAC,EAEzG,MAAMC,EAAuBpX,EAAY/B,KAAKC,SAASC,OAEjDiS,EAAWgH,MAAAA,GAAuC,QAAnBJ,EAApBI,EAAsBvF,aAAawF,YAAI,IAAAL,OAAA,EAAvCA,EAAyCM,oBAC1D,IAAKlH,EACD,MAAO,CAAC,MAAM,GAElB,MAAMmH,EAAoBnH,EAASS,QAAO2G,GAAuB,uBAAdA,EAAMjH,MACnDkH,EAAyBrH,EAASS,QAAO2G,GAAuB,oCAAdA,EAAMjH,MACxDmH,EAAmBH,IAAyC,QAAxBN,EAAIM,EAAkB,UAAE,IAAAN,GAAO,QAAPA,EAApBA,EAAsBzG,aAAK,IAAAyG,OAAA,EAA3BA,EAA6BrG,cACrE+G,EAAiG,QAA5ET,EAAIO,IAAmD,QAA7BN,EAAIM,EAAuB,UAAE,IAAAN,GAAO,QAAPA,EAAzBA,EAA2B3G,aAAK,IAAA2G,OAAA,EAAhCA,EAAkCvG,qBAAY,IAAAsG,GAAAA,EAEvG,OAAyB,IAArBQ,EACO,CAACvH,EAA4BC,GAAWuH,GAE5C,CAAC,MAAM,IA2YqDC,CAAe5X,GAC1E8W,GAA0BC,QAA6Dc,IAAnCf,EAAuBpD,UAC3EJ,EAAgBwD,GAChBnD,EAAWmD,EAAuBpD,SAClCoD,EAAuBD,UAAYhD,EAAgBiD,EAAuBD,UAC1EC,EAAuBT,aAAetC,EAAmB+C,EAAuBT,aAChFzY,EAAYG,UACZsX,EAAMyB,KAed,MAA2B,UAAvBlZ,EAAYQ,OAERd,EAAAA,cAACwa,EAAAA,OAAM5G,OAAA6G,OAAA,GAAK1a,GACRC,EAAAA,cAAA,OAAK2B,UAAU,sBACVgS,GACGC,OAAOC,KAAKF,GAAc+G,KAAI,CAACC,EAASzF,IACpClV,EAAAA,cAAA,QAAMmC,IAAK+S,EAAGvT,UAAW,4BAA4BgZ,KAChD7G,GAAAA,CAAIH,EAAcgH,GACnB3a,EAAAA,cAAA,gBAQpBA,EAAAA,cAACwa,EAAAA,OAAM5G,OAAA6G,OAAA,GAAK1a,GACRC,EAAAA,cAAA,OAAK2B,UAAW,oDAAmD,eAAgBkW,EAAOzB,QAAU,OAAS,SACzGpW,EAAAA,cAAA,SAAO2B,UAAWsU,IAA8D,IAA3CpB,EAAapB,QAAQwC,GAA0B,OAAS,QACzFjW,EAAAA,cAAA,SACI4a,KAAM,WACNC,YAAa5E,IAA8D,IAA3CpB,EAAapB,QAAQwC,IACrDiC,KAAM,UACN4C,QAAS1E,EACT2E,SAAUC,GAAK3E,EAAW2E,EAAEC,OAAOH,SACnCrC,IAAKd,EAAS,CAAES,UAAU,MAE9BpY,EAAAA,cAAA,WAAMK,EAAM0V,UAAUmF,eAEzBjF,IAA8D,IAA3CpB,EAAapB,QAAQwC,IACrCjW,EAAAA,cAAA,SACIA,EAAAA,cAAA,cAASK,EAAMqB,OAAOwZ,gBAIjC9E,GACGpW,EAAAA,cAAAA,EAAAA,SAAA,UA/RZmb,YAAW,KACOC,SAASC,iBAAiB,kBAClCtZ,SAAQuZ,GAAOA,EAAIC,WAEzB,MAAMC,EAAwBJ,SAASK,kBAAkB,cAAc,GACvE,GAAID,MAAAA,EACA,OAIJ,MAAME,EAAe,IAAI7E,OAAO8E,OAAOC,KAAKC,OAAOC,aAAaN,EAAuB,CACnFO,MAAO,CAAC,aAGZP,EAAsBQ,aAAa,cAAejG,EAAUkG,wBAGvCpF,OAAO8E,OAAOC,KAAKM,MAAMC,aAAaT,EAAc,iBAGzE7E,OAAO8E,OAAOC,KAAKM,MAAME,uBAAuBV,GAG/B7E,OAAO8E,OAAOC,KAAKM,MAAMG,YAAYX,EAAc,iBAAiB,KACjF,MAAMY,EAAQZ,EAAaa,WAC3B,QAA+BhC,IAA3B5D,EACA,OAGJA,EAAuB6F,KAAKhB,EAAuBc,EAAMpE,MACzD,MAAMuE,EAAU,IAAIC,MAAM,SAAU,CAAEC,SAAS,IAC/CnB,EAAsBoB,cAAcH,GAEpCH,EAAMO,mBAAmB9a,SAAS+a,IAC9B,IAAIC,GAAe,EACnB,OAAQD,EAAQf,MAAM,IAClB,IAAK,gBACDtE,EAAS,mBAAoBqF,EAAQE,UAAW,CAC5CtF,aAAa,IAEjB,MACJ,IAAK,WACDD,EAAS,WAAYqF,EAAQE,UAAW,CACpCtF,aAAa,IAEjB,MACJ,IAAK,UACD,MAAMuF,EAAe/Z,EAAiB4Z,EAAQI,YAC9CzF,EAAS,cAAewF,EAAc,CAAEvF,aAAa,IACrDjB,EAAmBwG,GACnB,MACJ,IAAK,cACDxF,EAAS,cAAeqF,EAAQE,UAAW,CACvCtF,aAAa,IAEjBqF,GAAe,EAKlBA,GACDtF,EAAS,cAAe,GAAI,CAAEC,aAAa,OAInD,MAAMyF,EAAS/B,SAASK,kBAAkB,cAC1C0B,EAAO,GAAG9a,MAAQ8a,EAAO,GAAG9a,MAAM+a,MAAM,KAAK,SA+NpCpG,GACGhX,EAAAA,cAAA,OAAK2B,UAAW,yEACZ3B,EAAAA,cAAA,sBACe,cACXkY,KAAM,yBACN7V,MAAO2U,EACPyB,IAAKd,IACLhW,UAAW,2DA7MhBuW,EAiNY,WAjNEC,EAiNU,GAAGpC,EAAUsH,YAjNRC,EAiNqBjG,EAjNOe,GAiNa,EA/MzFpY,EAAAA,cAAA,OAAK2B,UAAW,yBAAwB,eAAgBmS,GAAAA,CAAI+D,EAAQK,GAAQ,OAAS,SACjFlY,EAAAA,cAAA,SAAOmC,IAAK,GAAG+V,cAAkBK,QAASL,EAAMvW,UAAW,2BACtDwW,EAAK,IAAGC,GAAY,KAEzBpY,EAAAA,cAAA,UACIqC,MAAOiU,EACPnU,IAAK,GAAG+V,eACRA,KAAMA,EACNvW,UAAW,6BACX8W,IAAKd,EAAS,CAAES,SAAUA,IAC1B2C,SAAUC,IACNvD,EAAS,WAAYuD,EAAEC,OAAO5Y,MAAO,CACjCqV,aAAa,IAEjBnB,EAAgBd,SAASuF,EAAEC,OAAO5Y,MAAO,OAG7CrC,EAAAA,cAAA,UAAQmC,IAAK,GAAG+V,eAAiB,gBAAgB,OAAO7V,MAAO,GAC1D0T,EAAUwH,cAEdD,EAAQ5C,KAAI8C,GAELxd,EAAAA,cAAA,UAAQmC,IAAKqb,EAAOrb,IAAG,gBAAgB,QAAQE,MAAOmb,EAAOrb,KACxDqb,EAAOnb,SAGlB,KAGLyR,GAAAA,CAAI+D,EAAQK,IAASlY,EAAAA,cAAA,QAAM2B,UAAW,iBAAkBoU,EAAU0H,qBAmLzC,IAAjBnH,GACG2B,EAAa,aAAc,GAAGlC,EAAU2H,eAAe,EAAM,GAAG3H,EAAU0H,qBAC5D,IAAjBnH,GACG2B,EAAa,mBAAoB,GAAGlC,EAAU4H,qBAAqB,EAAM,GAAG5H,EAAU0H,qBACxE,IAAjBnH,GACG2B,EAAa,cAAe,GAAGlC,EAAU6H,gBAAgB,EAAM,GAAG7H,EAAU0H,qBAC9D,IAAjBnH,GAAsB2B,EAAa,WAAY,GAAGlC,EAAU8H,aAAa,EAAM,GAAG9H,EAAU0H,qBAC3E,IAAjBnH,GArLQwH,EAAC5F,EAAcC,EAAemF,EAA4BlF,IAE/EpY,EAAAA,cAAA,OAAK2B,UAAW,yBAAwB,eAAgBmS,GAAAA,CAAI+D,EAAQK,GAAQ,OAAS,SACjFlY,EAAAA,cAAA,SAAOmC,IAAK,GAAG+V,cAAkBK,QAASL,EAAMvW,UAAW,2BACtDwW,EAAK,IAAGC,GAAY,KAEzBpY,EAAAA,cAAA,UACIqC,MAAOmU,EACPrU,IAAK,GAAG+V,eACRA,KAAMA,EACNvW,UAAW,6BACX8W,IAAKd,EAAS,CAAES,SAAUA,IAC1B2C,SAAUC,IACNvE,EAAmBuE,EAAEC,OAAO5Y,OAC5BoV,EAAS,cAAeuD,EAAEC,OAAO5Y,MAAO,CACpCqV,aAAa,MAIrB1X,EAAAA,cAAA,UAAQmC,IAAK,GAAG+V,eAAiB,gBAAgB,OAAO7V,MAAM,IACzD0T,EAAUwH,cAEdD,EAAQ5C,KAAI8C,GAELxd,EAAAA,cAAA,UAAQmC,IAAKqb,EAAOrb,IAAG,gBAAgB,QAAQE,MAAOmb,EAAOrb,KACxDqb,EAAOnb,SAGlB,KAGLyR,GAAAA,CAAI+D,EAAQK,IAASlY,EAAAA,cAAA,QAAM2B,UAAW,iBAAkBoU,EAAU0H,oBAsJpCK,CAAqB,cAAe,GAAG/H,EAAUgI,eAAgBjc,GAAgB,GACtF,IAAjBwU,GACG2B,EAAa,cAAe,GAAGlC,EAAUiI,gBAAgB,EAAM,GAAGjI,EAAU0H,qBAC9D,IAAjBnH,GACG2B,EAAa,gBAAiB,GAAGlC,EAAUkI,kBAAkB,EAAM,GAAGlI,EAAU0H,qBAClE,IAAjBnH,GACG2B,EAAa,eAAgB,GAAGlC,EAAUmI,iBAAiB,EAAM,GAAGnI,EAAU0H,qBAChE,IAAjBnH,GACGzB,EAAapB,QAAQ+C,IAAoB,GACzCyB,EAAa,aAAc,GAAGlC,EAAUoI,eAAe,EAAM,GAAGpI,EAAUqI,kBAC5D,IAAjB9H,GACuB,QAApBE,GACAyB,EACI,iBACA,GAAGlC,EAAUsI,mBACb,EACA,GAAGtI,EAAUuI,kBACb5H,GAEU,IAAjBJ,GACuB,QAApBE,GACiB,IAAjBF,GACA2B,EAAa,UAAW,GAAGlC,EAAUwI,YAAY,EAAM,GAAGxI,EAAU0H,qBACtD,IAAjBnH,GACuB,QAApBE,GACiB,IAAjBF,GACA2B,EAAa,UAAW,GAAGlC,EAAUyI,YAAY,EAAM,GAAGzI,EAAU0H,sBAGhFzd,EAAAA,cAAA,OAAK2B,UAAU,mCACX3B,EAAAA,cAAA,UACIye,QAAS7G,EAAac,GACtBkC,KAAK,SACL8D,MAAM,kBACN/c,UAAW,0DACPyU,GAA4B,IAAjBE,EAAqB,uBAAyB,IAE7DuE,SAAUzE,GAA4B,IAAjBE,GAEpBP,EAAU4I,sBAEf3e,EAAAA,cAAA,UAAQye,QAASnF,EAAYoF,MAAM,SAAS/c,UAAU,6DACjDoU,EAAU6I,kBAnQLC,IAAC3G,EAAcC,EAAemF,EAA4BlF,0ECvVxF,MAAM0G,UAA4B9e,EAAAA,cACvBwB,SACH,OAAOpB,KAAKC,MAAMwC,WAAWzC,KAAKC,QAI1C,uHCbA,MA+GA,EA/GyEA,IAErE,MAAO0e,EAAQC,GAAahf,EAAAA,UAAgB,IACrCif,EAAMC,GAAWlf,EAAAA,SAAe,KAEjC,SAAE2X,EAAQ,aAAEC,IAAiBI,EAAAA,EAAAA,MA2CnC,OACIhY,EAAAA,cAAA,OAAK2B,UAAU,mCACX3B,EAAAA,cAAA,OAAK2B,UAAU,OACX3B,EAAAA,cAAA,OAAK2B,UAAU,UACVtB,EAAMqB,OAAOyd,YAAcnf,EAAAA,cAAA,UAAKK,EAAMqB,OAAOyd,aAAoB,KAEjE9e,EAAMqB,OAAO0d,cACVpf,EAAAA,cAAA,OACIqf,wBAEI,CAAEC,OAAQjf,EAAMqB,OAAO0d,eAE3B5G,GAAG,SACH7W,UAAU,mBAEd,OAGZ3B,EAAAA,cAAA,OAAK2B,UAAU,OACX3B,EAAAA,cAAA,QAAM0Y,SAAUd,GA5DZzX,MAAAA,UAKNof,EAAAA,EAAAA,IAAwB,CAAEzG,cAAezY,EAAMY,QAAQgW,eAAiBtW,EAAK6e,oBAAqB7e,EAAK8e,OACxGzG,MAAKnY,IAAS,IAAA6e,EAAAC,EACX,MAAMC,EAAW/e,EAAO,GAElBgf,EAAoBD,EAASE,cAAc,GAC3CC,EAAgBF,EAAkBG,6BAElCC,EAAcJ,EAAkBK,iBAAiB3M,QAAO0L,GAAQA,EAAKkB,WAAaJ,IAAe,GACnGE,EAAYG,QACZlB,EAAQe,EAAYG,QAExB,MAAMC,EAAkC,QAAxBX,EAAGE,EAASU,oBAAY,IAAAZ,EAAAA,GAAK,EAE7C,GADAV,EAAoC,QAA3BW,EAACU,EAAW,GAAGE,oBAAY,IAAAZ,EAAAA,GAAK,QACnBpF,WAAX1D,OAAsB,CACMuE,SAASoF,eAAe,UAChDC,MAAMC,QAAU,QAC3B,MAAMC,EAA+C,CAAEC,SAAU,UAC7D/J,OAAOgK,WAAa,KACnBzF,SAASoF,eAAe,UAAgCM,eAAeH,OAInFI,OAAMpM,IAEH,GADAqK,GAAW,QACWzE,WAAX1D,OAAsB,CACMuE,SAASoF,eAAe,UAChDC,MAAMC,QAAU,QAC3B,MAAMC,EAA+C,CAAEC,SAAU,UAC7D/J,OAAOgK,WAAa,KACnBzF,SAASoF,eAAe,UAAgCM,eAAeH,WA2B5E3gB,EAAAA,cAAA,OAAK2B,UAAU,6BACVtB,EAAMqB,OAAOsf,iBAAmBhhB,EAAAA,cAAA,SAAOuY,QAAQ,sBAAsBlY,EAAMqB,OAAOsf,kBAA4B,KAC/GhhB,EAAAA,cAAA,SACIwY,GAAG,qBACHN,KAAK,sBACL0C,KAAK,OACLjZ,UAAU,qBACVsf,aAAc,IACdxI,IAAKd,EAAS,CAAES,UAAU,OAGlCpY,EAAAA,cAAA,OAAK2B,UAAU,6BACVtB,EAAMqB,OAAOwf,WAAalhB,EAAAA,cAAA,SAAOuY,QAAQ,eAAelY,EAAMqB,OAAOwf,YAAsB,KAC5FlhB,EAAAA,cAAA,SACIwY,GAAG,cACHN,KAAK,QACL0C,KAAK,QACLjZ,UAAU,cACV8W,IAAKd,EAAS,CAAES,UAAU,EAAM+I,UAAW,IAAK7I,QAAS,yCAGjEtY,EAAAA,cAAA,OAAK2B,UAAU,mBACX3B,EAAAA,cAAA,UAAQ4a,KAAK,SAASpC,GAAG,aAAa7W,UAAU,gBAC3CtB,EAAMqB,OAAO0f,YAAc/gB,EAAMqB,OAAO0f,YAAc,SAKvEphB,EAAAA,cAAA,OAAK2B,UAAU,OACVtB,EAAM0V,UAAUsL,mBAAqBhhB,EAAM0V,UAAUuL,kBAClDthB,EAAAA,cAAA,OAAKwY,GAAG,SAAS7W,UAAU,kBACV,IAAZod,GAA0B,KAATE,EACdjf,EAAAA,cAAA,UAAIuhB,EAAAA,EAAAA,QAAOlhB,EAAM0V,UAAUsL,kBAAmBtC,EAAQE,IAEtDjf,EAAAA,cAAA,KAAG2B,UAAU,SAAStB,EAAM0V,UAAUuL,oBAG9C,+EClGpB,MAAME,UAA2BxhB,EAAAA,cACtBwB,SACH,OAAOpB,KAAKC,MAAMwC,WAAWzC,KAAKC,QAI1C,iJCXA,MA6bA,EA7buEA,IAAQ,IAAAohB,EAAAC,EAAAC,EAAAC,EAAAC,EAC3E,MAAM,qCACFC,EAAoC,wBACpCC,EAAuB,gBACvBC,EAAe,kBACfC,EAAiB,mBACjBC,EAAkB,0BAElBC,EAAyB,2BACzBC,EAA0B,gBAC1BC,EAAe,iBACfC,EAAgB,qBAChBC,GACAliB,EAAMqB,QAGJ,oCACF8gB,EAAmC,qBACnCC,EAAoB,cACpBC,EAAa,eACbC,EAAc,kBACdC,EAAiB,4BACjBC,EAA2B,eAC3BC,EAAc,sBACdC,EAAqB,eACrBC,EAAc,kBACdC,GACA5iB,EAAM0V,WAUJ,SACF4B,EAAQ,MACRuL,EAAK,aACLtL,EACAuL,WAAW,OAAEtL,KACbG,EAAAA,EAAAA,IAAoB,CACpBoL,KAAM,cAQHC,EAASC,GAActjB,EAAAA,UAAe,IACtCujB,EAAgBC,GAAexjB,EAAAA,UAAe,GAC/CyjB,EAAYzjB,EAAAA,OAA+B,OAC1C0jB,EAAkBC,GAAuB3jB,EAAAA,SAAe,CAC3DyC,OAAO,EACP2W,QAAS,GACTwK,MAAO,KAGLC,EAAaxjB,EAAMY,QAAQC,QAAQF,MACnC8iB,EAAiBlQ,OAAOC,KAAKgQ,GAAY,GACzCE,EAAanQ,OAAOT,OAAO0Q,GAAY,GACvCG,EAAcpQ,OAAOC,KAAKgQ,GAAYpQ,QAAQ,UAAY,EAG1DwQ,EAAe5jB,MAAAA,GAAc,QAATohB,EAALphB,EAAOY,eAAO,IAAAwgB,GAAS,QAATA,EAAdA,EAAgBvgB,eAAO,IAAAugB,GAAvBA,EAAyByC,OAAS7jB,MAAAA,GAAc,QAATqhB,EAALrhB,EAAOY,eAAO,IAAAygB,GAAS,QAATA,EAAdA,EAAgBxgB,eAAO,IAAAwgB,GAAQ,QAARA,EAAvBA,EAAyBwC,cAAM,IAAAxC,OAAA,EAA/BA,EAAiCyC,cAAgB,IACjGC,EAAiBC,GAAqBrkB,EAAAA,SAAgC,UAAjBikB,GACtDK,EAAWjkB,MAAAA,GAAc,QAATshB,EAALthB,EAAOY,eAAO,IAAA0gB,GAAS,QAATA,EAAdA,EAAgBzgB,eAAO,IAAAygB,GAAvBA,EAAyB2C,SAAWjkB,MAAAA,GAAc,QAATuhB,EAALvhB,EAAOY,eAAO,IAAA2gB,GAAS,QAATA,EAAdA,EAAgB1gB,eAAO,IAAA0gB,GAAU,QAAVA,EAAvBA,EAAyB0C,gBAAQ,IAAA1C,OAAA,EAAjCA,EAAmC2C,UAAU,GAAK,GACjGC,GAAWnkB,MAAAA,GAAc,QAATwhB,EAALxhB,EAAOY,eAAO,IAAA4gB,GAAS,QAATA,EAAdA,EAAgB3gB,eAAO,IAAA2gB,GAAK,QAALA,EAAvBA,EAAyB4C,WAAG,IAAA5C,GAAY,QAAZA,EAA5BA,EAA8B6C,kBAAU,IAAA7C,OAAA,EAAxCA,EAA0C2C,WAAY,GAEvE,IAAIG,EAEAA,EARe,kBAOfH,EAASL,eAA6C,KAAbG,EAC7B,KAEAL,EAGhB,MAAMW,EAAa1B,EAAM,SAqGzB,OACIljB,EAAAA,cAAA,OAAK2B,UAAU,8BACT+hB,EAAiBjhB,MA4PfzC,EAAAA,cAAA,OAAK2B,UAAW,uBAAuB+hB,EAAiBE,QAASiB,KAAK,SAElE7kB,EAAAA,cAAA,SAAI0jB,EAAiBtK,UA7PzBpZ,EAAAA,cAAA,QAAM0Y,SAAUd,GAtGZzX,MAAAA,IACZqjB,GAAY,GACZ3M,OAAOiO,SAAS,CAAEC,IAAK,EAAGnE,SAAU,WACpC0C,GAAW,GACX,IAKIlK,EALA4L,EAAyBrkB,EAAKskB,SAClCD,EAAiBA,EAAeE,QAAQ,IAAK,KAAKA,QAAQ,IAAK,KAC1C,UAAjBjB,GAA8C,KAAlBtjB,EAAKskB,WACjCD,EAAiB,GAAGA,UAIxB,MAAM/jB,EAAUZ,EAAMY,cAChBkkB,EAAAA,EAAAA,IACF,CAAErM,cAAe7X,EAAQgW,eACzB,GACA,GACAtW,EAAK8e,MACY,UAAjBwE,EAA2BtjB,EAAKykB,aAAe,KAAKzkB,EAAKykB,gBACzD,EACAzkB,EAAK0kB,UACY,UAAjBpB,EAA2BtjB,EAAK2kB,UAAY3kB,EAAK0kB,UAChC,UAAjBpB,GAA2BtjB,EAAK4kB,WAChCtB,EACAe,EACArkB,EAAK6kB,YACLzB,EAAa,SAASA,IAAe,iBACrCY,GAEC3L,MAAKnY,IAAS,IAAA4kB,EAAAC,EAAAC,EACX,GAAqB,KAAjB9kB,EAAO+kB,MACP,MAAM,IAAIA,MAAM/kB,EAAO+kB,OACpB,GAAoC,KAAb,QAAnBH,EAAA5kB,EAAOglB,oBAAY,IAAAJ,OAAA,EAAnBA,EAAqBjS,QAE5B4F,EAAUiJ,MAAAA,EAAAA,EAAmB,qCAC7BsB,EAAoB,CAChBlhB,OAAO,EACP2W,QAASA,EACTwK,MAAO,gBAER,IAAkC,MAAb,QAAjB8B,EAAA7kB,EAAOilB,kBAAU,IAAAJ,OAAA,EAAjBA,EAAmBlS,QAG1B,MAAM,IAAIoS,MAAM,cACb,GAAkC,MAAb,QAAjBD,EAAA9kB,EAAOilB,kBAAU,IAAAH,OAAA,EAAjBA,EAAmBnS,QAAe,CAGzC,KAAI3S,EAAOklB,aAAcvS,OAAS,GAAmD,IAA9C3S,EAAOklB,aAAc,GAAGC,mBAU3D,MAAM,IAAIJ,MAAM,oBARhBxM,EAAUiJ,MAAAA,EAAAA,EAAmB,qCAC7BsB,EAAoB,CAChBlhB,OAAO,EACP2W,QAASA,EACTwK,MAAO,aAOnBN,GAAW,GACPU,IAAgBnjB,EAAO+kB,OACvBzK,YAAW,KACPtE,OAAOoP,SAASC,KAAO,WAAW1B,KAC9BF,EAAW,GAAGA,KAAc,8BACJR,KAAkBC,iBAC/C,QAGVhD,OAAMoF,IACH,OAAQA,EAAI/M,SACR,IAAK,aACDA,EAAUgJ,MAAAA,EAAAA,EAA8B,qEACxCuB,EAAoB,CAChBlhB,OAAO,EACP2W,QAASA,EACTwK,MAAO,YAEX,MACJ,IAAK,mBACDxK,EAAU+I,MAAAA,EAAAA,EAA6B,mEACvCwB,EAAoB,CAChBlhB,OAAO,EACP2W,QAASA,EACTwK,MAAO,UAEX,MACJ,QACIxK,EAAU6J,EACVU,EAAoB,CAChBlhB,OAAO,EACP2W,QAASA,EACTwK,MAAO,UAGnBN,GAAW,UASND,EAAUrjB,EAAAA,cAAA,OAAK2B,UAAW,UAAW8e,MAAO,CAAE2F,OAAQ,OAAQC,aAAc,UAAermB,EAAAA,cAAA,aAC5FA,EAAAA,cAAA,OAAK2B,UAAU,oBACVohB,GAAyBC,EACtBhjB,EAAAA,cAAA,OAAK2B,UAAU,iBACX3B,EAAAA,cAAA,SAAOuY,QAAQ,SACVwK,EAAsBuD,SAAS,KAAOvD,EAAwB,GAAGA,OAEtE/iB,EAAAA,cAAA,SACImC,IAAI,QACJ+V,KAAK,QACLO,IAAKd,EAAS,CAAES,UAAU,EAAM+I,UAAW,IAAK7I,QAAS,yCAW3DT,EAAO4H,OAAUmF,GAAcA,EAAW0B,SAAS,UACjDtmB,EAAAA,cAAA,QAAM2B,UAAU,eAAeqhB,IAGvC,KAEHF,GAAmC,UAAjBmB,EACfjkB,EAAAA,cAAA,OAAK2B,UAAU,uBAAuB6W,GAAG,oBACrCxY,EAAAA,cAAA,SAAOuY,QAAQ,gBACVuK,EAAewD,SAAS,KAAOxD,EAAiB,GAAGA,OAExD9iB,EAAAA,cAAA,OAAK2B,UAAU,aACX3B,EAAAA,cAAA,OAAK2B,UAAU,gBACX3B,EAAAA,cAAA,mBAEJA,EAAAA,cAAA,SACI4a,KAAK,MACLzY,IAAI,eACJqW,GAAG,eACHN,KAAK,eACLqO,YAAY,mBACZC,UAAWA,KACP,QAAsBjM,WAAX1D,OAAsB,CACVuE,SAASoF,eAAe,gBAChCW,UAAY,KAG/B1I,IAAKd,EAAS,CAAES,UAAU,EAAM+I,UAAW,QAYlDtJ,EAAOuN,cACJplB,EAAAA,cAAA,QAAM2B,UAAU,eAAeqhB,EAAekC,QAAQ,QAAS,iBAElEhD,EAAqBliB,EAAAA,cAAA,KAAG2B,UAAU,oBAAoBugB,GAA0B,MAErF,KAEHO,GAAwBH,EACrBtiB,EAAAA,cAAA,OAAK2B,UAAU,gCACX3B,EAAAA,cAAA,SACImC,IAAI,YACJyY,KAAK,WACLpC,GAAG,YACHN,KAAK,YACLO,IAAKd,IACL8O,eAAiC,UAAjBxC,IAEpBjkB,EAAAA,cAAA,SAAOuY,QAAQ,YAAY5W,UAAU,cACjC3B,EAAAA,cAAC0mB,EAAAA,GAA0B,CACvBC,KACIpE,GAAyC,UAAjB0B,EAClB1B,GACAhB,EAAAA,EAAAA,QAAOkB,EAAsBH,OAKnD,KAEHI,GAAiBJ,GAAqC,UAAjB2B,EAClCjkB,EAAAA,cAAA,OAAK2B,UAAU,gCACX3B,EAAAA,cAAA,SAAOwY,GAAG,YAAYrW,IAAI,YAAYyY,KAAK,WAAW1C,KAAK,YAAYO,IAAKd,MAC5E3X,EAAAA,cAAA,SAAOuY,QAAQ,YAAY5W,UAAU,cACjC3B,EAAAA,cAAC0mB,EAAAA,GAA0B,CAACC,MAAMpF,EAAAA,EAAAA,QAAOmB,EAAeJ,OAGhE,KAEHK,GAAkBL,GAAqC,UAAjB2B,EACnCjkB,EAAAA,cAAA,OAAK2B,UAAU,gCACX3B,EAAAA,cAAA,SAAOwY,GAAG,aAAarW,IAAI,aAAayY,KAAK,WAAW1C,KAAK,aAAaO,IAAKd,MAC/E3X,EAAAA,cAAA,SAAOuY,QAAQ,aAAa5W,UAAU,yBAClC3B,EAAAA,cAAC0mB,EAAAA,GAA0B,CAACC,MAAMpF,EAAAA,EAAAA,QAAOoB,EAAgBL,OAGjE,MAGRtiB,EAAAA,cAAA,OAAK2B,UAAU,oBACVogB,EAA0B/hB,EAAAA,cAAA,UAAK+hB,GAAgC,KAE/De,GAAmC,UAAjBmB,EACfjkB,EAAAA,cAAA,OAAK2B,UAAU,uBAAuB6W,GAAG,oBACrCxY,EAAAA,cAAA,SAAOuY,QAAQ,gBAAgBuK,GAC/B9iB,EAAAA,cAAA,SACI4a,KAAK,MACLzY,IAAI,eACJqW,GAAG,eACHN,KAAK,eACLsO,UAAWA,KACP,QAAsBjM,WAAX1D,OAAsB,CACVuE,SAASoF,eAAe,gBAChCW,UAAY,KAG/B1I,IAAKd,EAAS,CAAES,UAAU,EAAO+I,UAAW,OAK/Ce,EAAqBliB,EAAAA,cAAA,KAAG2B,UAAU,oBAAoBugB,GAA0B,MAErF,KAEc,UAAjB+B,EACKrB,GACI5iB,EAAAA,cAAA,OAAK2B,UAAU,mBAAmB6W,GAAG,gBACjCxY,EAAAA,cAAA,SAAOuY,QAAQ,YAAYqK,GAC3B5iB,EAAAA,cAAA,SAAO4a,KAAK,OAAOzY,IAAI,WAAWqW,GAAG,WAAWN,KAAK,WAAWO,IAAKd,EAAS,CAAES,UAAU,MACzF4J,EAAkBhiB,EAAAA,cAAA,KAAG2B,UAAU,oBAAoBqgB,GAAuB,MAGnFY,GAEI5iB,EAAAA,cAAA,OAAK2B,UAAU,mBAAmB6W,GAAG,gBACjCxY,EAAAA,cAAA,SAAOuY,QAAQ,YACVqK,EAAkB0D,SAAS,WAAa1D,EAAoB,GAAGA,aAGpE5iB,EAAAA,cAAA,SACI4a,KAAK,OACLzY,IAAI,WACJqW,GAAG,WACHN,KAAK,WACL6C,SAAUA,KACN,QAAsBR,WAAX1D,OAAsB,CAC7B,MAAM+P,EAAmCxL,SAASoF,eAC9C,YAEEyE,EAA6B7J,SAASoF,eAAe,QAC3DoG,EAAezF,UAAY,EAC3ByF,EAAeC,SAAW,KACtB5B,EAAS5iB,MAAQ,QAAQukB,EAAevkB,WAIpDoW,IAAKd,EAAS,CACVS,UAAU,EACV+I,UAAW,EACX7I,QA9KpB,oDAiLYtY,EAAAA,cAAA,SACI4a,KAAK,OACLzY,IAAI,OACJqW,GAAG,OACHN,KAAK,OACLuI,MAAO,CAAEC,QAAS,QAClBjI,IAAKd,EAAS,CAAES,UAAU,EAAO+I,UAAW,OAE/Ca,EAAkBhiB,EAAAA,cAAA,KAAG2B,UAAU,oBAAoBqgB,GAAuB,MAIxFa,EACG7iB,EAAAA,cAAA,OAAK2B,UAAU,sBAAsB6W,GAAG,mBACpCxY,EAAAA,cAAA,SAAOuY,QAAQ,eAAesK,GAC9B7iB,EAAAA,cAAA,SACI4a,KAAK,OACLzY,IAAI,cACJqW,GAAG,cACHN,KAAK,cACLsO,UAAWA,KACP,QAAsBjM,WAAX1D,OAAsB,CACVuE,SAASoF,eAAe,eAChCW,UAAY,IAG/B1I,IAAKd,EAAS,CAAES,UAAU,EAAO+I,UAAW,MAE/Cc,EAAoBjiB,EAAAA,cAAA,KAAG2B,UAAU,oBAAoBsgB,GAAyB,MAEnF,MAGU,UAAjBgC,EAEGnC,EACI9hB,EAAAA,cAAA,OAAK2B,UAAU,+BACX3B,EAAAA,cAAA,SACI4a,KAAK,WACLjZ,UAAU,4BACV8W,IAAKgL,EACLhF,QAASA,KAAK,IAAAqI,EACVzC,IAAoC,QAAlByC,EAACrD,EAAUsD,eAAO,IAAAD,GAAjBA,EAAmBhM,aAI9C9a,EAAAA,cAAA,SAAOqf,wBAAyB,CAAEC,OAAQwC,MAI9C,KAERA,EACI9hB,EAAAA,cAAA,OAAK2B,UAAU,+BAEX3B,EAAAA,cAAA,OACI2B,UAAU,iCAEV0d,wBAAyB,CAAEC,OAAQwC,MAG3C,KAEJ9hB,EAAAA,cAAA,OAAK2B,UAAU,OACX3B,EAAAA,cAAA,UACI4a,KAAK,SACLC,SAAU0I,GAAkBa,EAC5BziB,UAAW,WAAW+hB,EAAiBE,SAASL,GAAkBa,EAAkB,eAAiB,MAEpGf,GAAWb,EACRxiB,EAAAA,cAAA,OAAK2B,UAAW,YAEhB3B,EAAAA,cAAA,YAAOwiB,msBChavC,MAAMwE,UAAwBhnB,EAAAA,cACnBwB,SAAM,IAAAylB,EAAAC,EACT,MAAMjD,EAAyB,QAAVgD,EAAA7mB,KAAKC,aAAK,IAAA4mB,GAAS,QAATA,EAAVA,EAAYhmB,eAAO,IAAAgmB,GAAS,QAATA,EAAnBA,EAAqB/lB,eAAO,IAAA+lB,GAA5BA,EAA8B/C,OAAmB,QAAbgD,EAAG9mB,KAAKC,aAAK,IAAA6mB,GAAS,QAATA,EAAVA,EAAYjmB,eAAO,IAAAimB,GAAS,QAATA,EAAnBA,EAAqBhmB,eAAO,IAAAgmB,GAAQ,QAARA,EAA5BA,EAA8BhD,cAAM,IAAAgD,OAAA,EAApCA,EAAsC/C,cAAgB,IAE5G,UAAEgD,EAAS,aAAEC,EAAY,UAAEzlB,EAAS,iBAAE2gB,GAAqBliB,KAAKC,MAAMqB,OAC5E,IAAI,qBAAE+gB,EAAoB,cAAEC,EAAa,eAAEC,GAAmBviB,KAAKC,MAAM0V,UAEzE0M,EAAuB,OAAMlB,EAAAA,EAAAA,QAAOkB,EAAsBH,SAC1DI,EAAgB,OAAMnB,EAAAA,EAAAA,QAAOmB,EAAeJ,SAC5CK,EAAiB,OAAMpB,EAAAA,EAAAA,QAAOoB,EAAgBL,SAE9C,MAAMqE,EAAOQ,GAAannB,EAAAA,cAACqnB,EAAAA,GAAiB,CAACV,KAAMQ,IAE7CG,EAAmBF,GACrBpnB,EAAAA,cAACqnB,EAAAA,GAAiB,CAACV,KAAuB,UAAjB1C,EAA2BxB,EAAuB2E,IAEzEG,EAAmB7E,GAAiB1iB,EAAAA,cAACqnB,EAAAA,GAAiB,CAACV,KAAMjE,IAC7D8E,EAAmB7E,GAAkB3iB,EAAAA,cAACqnB,EAAAA,GAAiB,CAACV,KAAMhE,IAE9D8E,EAAwBjlB,EAAAA,EAAA,GACvBpC,KAAKC,OAAK,IACb8mB,UAAWR,EACXS,aAAcE,EACdI,aAAcH,EACdI,aAAcH,EACd7lB,UAAWgB,GAAAA,CAAW,sBAAuBhB,KAEjD,OAAOvB,KAAKC,MAAMwC,WAAW4kB,IAGrC,gGC5CkBG,EAMAC,EAAAA,EAKAC,6BAXlB,SAAkBF,GACdA,EAAA,YACAA,EAAA,cACAA,EAAA,gBAHJ,CAAkBA,IAAAA,EAAQ,MAMRC,EAAAA,IAAAA,EAAiB,KAC/B,YACAA,EAAA,oBAGJ,SAAkBC,GACdA,EAAA,4CACAA,EAAA,8CACAA,EAAA,oBACAA,EAAA,oBAJJ,CAAkBA,IAAAA,EAAM,KCFxB,MAoOA,EApOiEznB,IAAQ,IAAAohB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAkG,EAAAC,EAAAC,EAAArO,EAAAsO,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACrE,MACMtE,EAAe5jB,MAAAA,GAAc,QAATohB,EAALphB,EAAOY,eAAO,IAAAwgB,GAAS,QAATA,EAAdA,EAAgBvgB,eAAO,IAAAugB,GAAvBA,EAAyByC,OAAS7jB,MAAAA,GAAc,QAATqhB,EAALrhB,EAAOY,eAAO,IAAAygB,GAAS,QAATA,EAAdA,EAAgBxgB,eAAO,IAAAwgB,GAAQ,QAARA,EAAvBA,EAAyBwC,cAAM,IAAAxC,OAAA,EAA/BA,EAAiCyC,cAAgB,GAClGG,EAAWjkB,MAAAA,GAAc,QAATshB,EAALthB,EAAOY,eAAO,IAAA0gB,GAAS,QAATA,EAAdA,EAAgBzgB,eAAO,IAAAygB,GAAvBA,EAAyB2C,SAAWjkB,MAAAA,GAAc,QAATuhB,EAALvhB,EAAOY,eAAO,IAAA2gB,GAAS,QAATA,EAAdA,EAAgB1gB,eAAO,IAAA0gB,GAAU,QAAVA,EAAvBA,EAAyB0C,gBAAQ,IAAA1C,OAAA,EAAjCA,EAAmC2C,UAAU,GAAK,GAGjGC,GAAWnkB,MAAAA,GAAc,QAATwhB,EAALxhB,EAAOY,eAAO,IAAA4gB,GAAS,QAATA,EAAdA,EAAgB3gB,eAAO,IAAA2gB,GAAK,QAALA,EAAvBA,EAAyB4C,WAAG,IAAA5C,GAAY,QAAZA,EAA5BA,EAA8B6C,kBAAU,IAAA7C,OAAA,EAAxCA,EAA0C2C,WAAY,GACvE,IAAIG,EAEAA,EARe,kBAOfH,EAASL,eAA6C,KAAbG,EAC7B,KAEAL,EAShB,MAAM,SAAEtM,EAAQ,aAAEC,EAAY,OAAEC,IAAWG,EAAAA,EAAAA,OAEpCqL,EAASC,GAActjB,EAAAA,UAAe,IACtCujB,EAAgBC,GAAexjB,EAAAA,UAAe,GAE/C6nB,EAAoBxnB,MAAAA,GAAa,QAAR0nB,EAAL1nB,EAAOqB,cAAM,IAAAqmB,OAAA,EAAbA,EAAeF,kBACnCW,EAA4C,QAA9BR,EAAG3nB,EAAMqB,OAAO8mB,sBAAc,IAAAR,EAAAA,EAAI,GAChDS,EAA8D,QAAvCR,EAAG5nB,EAAMqB,OAAO+mB,+BAAuB,IAAAR,EAAAA,EAAI,GAClES,EAAyF,QAA3E9O,EAAI4O,GAAkBX,IAAsBc,EAAuBC,gBAAQ,IAAAhP,GAAAA,EAE/F,IAAIR,EAAU/Y,EAAM0V,UAAU8S,gBAE9B,MAAOnF,EAAkBC,GAAuB3jB,EAAAA,SAAe,CAC3DyC,OAAO,EACP2W,QAAS,GACTwK,MAAO,KAGX,IAAIkE,EACJ,OAA2B,QAA3BI,EAAQ7nB,EAAMqB,OAAOomB,cAAM,IAAAI,OAAA,EAAnBA,EAAqBvS,YACzB,IAAK,uBACDmS,EAAS,yBACT,MACJ,IAAK,wBACDA,EAAS,0BACT,MACJ,IAAK,WACDA,EAAS,YACT,MACJ,IAAK,WACDA,EAAS,YAwGjB,OACI9nB,EAAAA,cAAA,MAAA4T,OAAA6G,OAAA,CAAK9Y,UAAWtB,EAAMsB,UAAW6W,GAAInY,EAAMmY,IAAQnY,EAAMyoB,uBAAuBzoB,IAC3EA,EAAM8mB,WACqB,IAA3BzD,EAAiBjhB,MACdzC,EAAAA,cAAA,QAAM0Y,SAA2Bd,EAAjB8Q,EAjCGvoB,MAAAA,IAC3BmjB,GAAW,GACX,MAAMyF,EAA2B,CAC7BtJ,MAAO9e,EAAK8e,MACZ4F,UAAW1kB,EAAK0kB,UAChBC,UAAW3kB,EAAK2kB,UAChBC,WAAY5kB,EAAKqoB,aA1BzB,SAAkBvE,EAAa9jB,GAC3B,OAAOsoB,MAAMxE,EAAK,CACdyE,OAAQ,OACRC,QAAS,CACL,eAAgB,oBAEpBC,KAAMC,KAAKC,UAAU3oB,KAEpBqY,MAAKC,IACF,IAAKA,EAASsQ,GACV,MAAM,IAAI3D,MAAM,uBAAuB3M,EAASnY,UAEpD,OAAOmY,EAASnY,UAEnBigB,OAAMpM,IAEH,MADAD,QAAQC,MAAM,SAAUA,GAClBA,MAYd6U,CAAShB,EAAgBO,GACpB/P,MAAKnY,IACF6T,QAAQ+U,IAAI5oB,GACZyiB,GAAW,GACXK,EAAoB,CAChBlhB,OAAO,EACP2W,QAASqP,EACT7E,MAAO,eAGd7C,OAAMpM,IACHyE,EAAUzE,EAAMyE,QAChBkK,GAAW,GACXK,EAAoB,CAChBlhB,OAAO,EACP2W,QAASzE,EAAMyE,QACfwK,MAAO,cA/FAzjB,MAAAA,IAAuB,IAAAupB,EAC1ClG,GAAY,GACZF,GAAW,IACX6B,EAAAA,EAAAA,IACI,CAAErM,cAA4B,QAAf4Q,EAAErpB,EAAMY,eAAO,IAAAyoB,OAAA,EAAbA,EAAezS,eAChC,GACA,GACAtW,EAAK8e,MACL,IACA,EACA9e,EAAK0kB,UACY,UAAjBpB,EAA2BtjB,EAAK2kB,UAAY3kB,EAAK0kB,UACjD1kB,EAAKqoB,WACL/E,EACA,GACA,GACA6D,EACAnD,GAEC3L,MAAKnY,IAAS,IAAA8oB,EAAAC,EACXxQ,EAAUvY,EAAO+kB,MACM,uBAAjB/kB,EAAO+kB,MACHvlB,EAAM0V,UAAU8T,sBAChBhpB,EAAO+kB,MACXxM,EACNkK,GAAW,GACXK,EAAoB,CAChBlhB,OAAO,EACP2W,QAASA,EACTwK,MAAO,YAGK,QAAhB+F,EAAA9S,OAAOiT,iBAAS,IAAAH,GAAM,QAANC,EAAhBD,EAAkBznB,YAAI,IAAA0nB,GAAtBA,EAAApN,KAAAmN,EAAyB,CACrBzN,MAAO,UACP6N,cAAe,aACfC,YAAa,eAEbC,WAAY5pB,EAAMqB,OAAOkmB,cAGhC7G,OAAMpM,IACHyE,EAAUzE,EAAMyE,QAChBkK,GAAW,GACXK,EAAoB,CAChBlhB,OAAO,EACP2W,QAASzE,EAAMyE,QACfwK,MAAO,gBA2DP5jB,EAAAA,cAAA,OAAK2B,UAAW,iBACZ3B,EAAAA,cAAA,sBAAmB6X,EAAO4H,MAAQ,OAAS,SACvCzf,EAAAA,cAAA,SACIkY,KAAK,QACL0C,KAAK,QACLnC,IAAKd,EAAS,CAAES,UAAU,IAC1BmO,YAAalmB,EAAM0V,UAAUmU,qBAC7B/I,UAAW,MAEfnhB,EAAAA,cAAA,UAAQ4a,KAAK,SAASC,SAAU0I,EAAgB5hB,UAAW,WAAW+hB,EAAiBE,SAClFP,EAAUrjB,EAAAA,cAAA,OAAK2B,UAAW,YAAgB3B,EAAAA,cAAA,YAAOK,EAAM0V,UAAUoU,qBAI9EnqB,EAAAA,cAAA,OAAK2B,UAAW,mBACZ3B,EAAAA,cAAA,OAAK2B,UAAW,6BAA4B,eAAgBkW,EAAOwN,UAAY,OAAS,SACpFrlB,EAAAA,cAAA,aACIA,EAAAA,cAAA,SACIyY,IAAKd,EAAS,CAAES,UAAU,IAC1BwC,KAAM,WACN1C,KAAM,YACNuO,eAA6C,QAA/B0B,EAAE9nB,EAAMqB,OAAO0oB,wBAAgB,IAAAjC,GAAAA,EAC7CkC,OAAkC,QAA5BjC,EAAE/nB,EAAMqB,OAAO4oB,qBAAa,IAAAlC,GAAAA,IAErC/nB,EAAM+mB,aACNvP,EAAOwN,WACJrlB,EAAAA,cAAA,KAAG2B,UAAU,4BAA4BkjB,KAAK,SACN,QADawD,EAChDhoB,EAAMqB,OAAO6oB,8BAAsB,IAAAlC,EAAAA,EAAI,gCAM5DroB,EAAAA,cAAA,OAAK2B,UAAW,iCAAiCtB,EAAMqB,OAAO8oB,eAAiB,YAC3ExqB,EAAAA,cAAA,OAAK2B,UAAW,8BACZ3B,EAAAA,cAAA,aACIA,EAAAA,cAAA,SACIyY,IAAKd,IACLiD,KAAM,WACN1C,KAAM,YACNuO,eAA6C,QAA/B6B,EAAEjoB,EAAMqB,OAAO+oB,wBAAgB,IAAAnC,GAAAA,IAEhDjoB,EAAMqnB,gBAInB1nB,EAAAA,cAAA,OAAK2B,UAAW,iCAAiCtB,EAAMqB,OAAOgpB,gBAAkB,YAC5E1qB,EAAAA,cAAA,OAAK2B,UAAW,8BACZ3B,EAAAA,cAAA,aACIA,EAAAA,cAAA,SACIyY,IAAKd,IACLiD,KAAM,WACN1C,KAAM,aACNuO,eAA8C,QAAhC8B,EAAEloB,EAAMqB,OAAOipB,yBAAiB,IAAApC,GAAAA,IAEjDloB,EAAMsnB,iBAMvB3nB,EAAAA,cAAA,OAAK2B,UAAW,uBAAuB+hB,EAAiBE,QAASiB,KAAK,SACjEnB,EAAiBtK,kxBC1MtC,MAgDMwR,EAA0DhR,IAAc,IAAb,MAAEvZ,GAAOuZ,EACtE,MAAOiR,EAAiBC,GAAsB9qB,EAAAA,SAAyB,IAKvE,OAJAA,EAAAA,WAAgB,KACZ+qB,EAAmB1qB,EAAOyqB,KAC3B,IAECzqB,GAASA,EAAM2qB,kBAAoBH,EAAgBrX,QAAU,EAEzDxT,EAAAA,cAACA,EAAAA,SAAc,KACXA,EAAAA,cAACirB,EAAAA,KAAIrX,OAAA6G,OAAA,GAAKpa,EAAM2qB,iBAAiBE,yBAC7BlrB,EAAAA,cAAA,QAAM2B,UAAU,uBAChB3B,EAAAA,cAAA,YAAOK,EAAM0V,UAAUoV,wBACvBnrB,EAAAA,cAAA,UACK6qB,EAAgBnQ,KAAI,SAAUiM,EAAc1kB,GACzC,OAAOjC,EAAAA,cAAA,MAAImC,IAAKF,GAAQ0kB,SAOrC3mB,EAAAA,cAAAA,EAAAA,SAAA,OAIT+qB,EAAqB5qB,MAAOirB,EAA2BC,KAAsB,IAAAC,EAAAC,EAC3EC,EAAqB,GAES,QAAlCD,SAsBJprB,eAAgCsrB,GAC5B,MAAMC,EAAgC,GAWtC,aAVMC,EAAAA,EAAAA,qCAAoC,IAAIC,EAAAA,iCAAiCH,EAAIvU,eAAe2U,aAAcJ,GAC3GzS,MAAKgS,IACEA,IACAU,EAAcV,iBAAmBA,MAGxCjK,OAAMpM,IACH8W,EAAIK,UAAUC,UAAUpX,GACjB,MAER+W,EAnCyBM,CAAkC,QAAlBV,EAACF,EAAUnqB,eAAO,IAAAqqB,OAAA,EAAjBA,EAAmBrU,gBAClD+T,wBAAgB,IAAAO,GAAlCA,EAAoCxpB,SAAQ+a,IACxC,GAAIA,EAAQmP,UAAW,CACnB,IAAIC,EAAY,GAChB,IACI,MAAMC,EAAoB9C,KAAK+C,MAAMtP,EAAQmP,UAAUI,aAAe,MAEtEH,EAAYC,EADYf,EAAUnqB,QAAQC,QAAQgjB,OACJC,gBAAkBgI,EAAsB,IAAK,GAC7F,MAAOnR,GAED8B,EAAQmP,UAAUI,cAClBH,EAAYpP,EAAQmP,UAAUI,aAGtCH,EAAYA,GAAapP,EAAQmP,UAAUK,WAAa,GACpDJ,GACAV,EAAStpB,KAAKgqB,OAI1Bb,EAAcG,IAkBlB,MAAMe,EAA6BlsB,IAA4B,IAAAmsB,EAAAC,EAAAC,EAAAC,EAAAC,EAM3D,MAAM,SAAEjV,EAAQ,aAAEC,EAAY,MAAEG,EAAK,SAAEN,IAAaO,EAAAA,EAAAA,MAG9CoC,EAAmB/Z,MAAAA,GAAW,QAANmsB,EAALnsB,EAAO0Z,YAAI,IAAAyS,GAAM,QAANA,EAAXA,EAAazS,YAAI,IAAAyS,GAAqB,QAArBA,EAAjBA,EAAmBxS,2BAAmB,IAAAwS,GAAiF,QAAjFA,EAAtCA,EAAwCjZ,QAAQsZ,GAA+C,uBAAjBA,EAAS5Z,MAA8B,UAAE,IAAAuZ,GAAO,QAAPA,EAAvHA,EAAyHtZ,aAAK,IAAAsZ,OAAA,EAA9HA,EAAgIlZ,aACnJwZ,IAAgBzsB,MAAAA,GAAW,QAANosB,EAALpsB,EAAO0Z,YAAI,IAAA0S,GAAM,QAANA,EAAXA,EAAa1S,YAAI,IAAA0S,GAAjBA,EAAmBM,YAAqD,KAAxC1sB,MAAAA,GAAW,QAANqsB,EAALrsB,EAAO0Z,YAAI,IAAA2S,GAAM,QAANA,EAAXA,EAAa3S,YAAI,IAAA2S,OAAA,EAAjBA,EAAmBK,UAAUvZ,QAG7EwZ,EAAsBF,GAAe1S,EAAoB,GAAK/Z,MAAAA,GAAW,QAANssB,EAALtsB,EAAO0Z,YAAI,IAAA4S,GAAM,QAANA,EAAXA,EAAa5S,YAAI,IAAA4S,GAAqB,QAArBA,EAAjBA,EAAmB3S,2BAAmB,IAAA2S,GAAwF,QAAxFA,EAAtCA,EAAwCpZ,QAAQ0Z,GAAqD,wBAApBA,EAAYha,MAA+B,UAAE,IAAA0Z,GAAO,QAAPA,EAA9HA,EAAgIzZ,aAAK,IAAAyZ,OAAA,EAArIA,EAAuIvZ,YAGrM8Z,EAAmBJ,GAAe1S,EAAoB,GAAK/Z,MAAAA,GAAW,QAANusB,EAALvsB,EAAO0Z,YAAI,IAAA6S,GAAM,QAANA,EAAXA,EAAa7S,YAAI,IAAA6S,GAAqB,QAArBA,EAAjBA,EAAmB5S,2BAAmB,IAAA4S,GAAqF,QAArFA,EAAtCA,EAAwCrZ,QAAQ0Z,GAAqD,qBAApBA,EAAYha,MAA4B,UAAE,IAAA2Z,GAAO,QAAPA,EAA3HA,EAA6H1Z,aAAK,IAAA0Z,OAAA,EAAlIA,EAAoIxZ,YA6CrMpT,EAAAA,WAAgB,KA1CMG,OAAAA,IAAoC,IAAAgtB,EAAAC,EAGtD,MAAMC,QAAyBC,EAAAA,EAAAA,cAA8B,QAAlBH,EAACI,EAAUtsB,eAAO,IAAAksB,OAAA,EAAjBA,EAAmBlW,eAEzDnE,EAAWua,MAAAA,GAAsB,QAAND,EAAhBC,EAAkBtT,YAAI,IAAAqT,OAAA,EAAtBA,EAAwBpT,oBACnCwT,EAAkB,GAGxB,IAAyB,IAArBpT,EAA2B,CAC3B,MAAMqT,EAAkB,CAAC,mBAAoB,qBAAsB,sBAAuB,mBAAoB,UAAW,WAAY,cAAe,WAAY,cAAe,cAC3K,aAAc,iBAAkB,UAAW,UAAW,yBAA0B,aAAc,mBAAoB,gBAAiB,gBAEvI,GAAI3a,EAAU,CACV,IAAK,MAAM4a,KAAgBD,EACnBE,GAAAA,CAAK7a,GAAU8a,GAAOA,EAAI3a,MAAQya,KAClCF,EAAgBtrB,KAAK,CACjB+Q,IAAKya,EACLxa,MAAO,MAIM,IAArBkH,GACAoT,EAAgBtrB,KAAK,CACjB+Q,IAAK,qBACLC,MAAO,CACHI,cAAc,KAK1B+Z,GAA+C,IAA3BG,EAAgBha,cAC9B6Z,EAAiB7Y,0BAA0B,CAAEC,uBAAwB+Y,SAM/E/V,EAAS,UAAWuV,EAAoB,CAAEtV,aAAa,IACvDD,EAAS,OAAQyV,EAAiB,CAAExV,aAAa,KAIhDmW,CAAcxtB,KACpB,IACH,MAAOytB,EAAgBC,GAAqB/tB,EAAAA,SAAe,CACvDguB,cAAahB,GAA6C,KAAvBA,GAA+BE,GAAuC,KAApBA,GACrFe,WAAW,KAERC,EAAUC,GAAenuB,EAAAA,SAAe,CAC3CoZ,QAAS4T,GAA6C,KAAvBA,EAA4BA,EAAqB,GAChFoB,KAAMlB,GAAuC,KAApBA,EAAyBA,EAAkB,KAUlEtY,EAAiBzU,MAAOQ,EAAcyqB,KAA6B,IAAAiD,EACrE,MAAMC,EAAc,CAChB,CACIrb,IAAK,sBACLC,MAAO,CACHE,YAAazS,EAAKyY,UAG1B,CACInG,IAAK,mBACLC,MAAO,CACHE,YAAazS,EAAKytB,QAKxBf,QAAyBC,EAAAA,EAAAA,cAA8B,QAAlBe,EAACjD,EAAUnqB,eAAO,IAAAotB,OAAA,EAAjBA,EAAmBpX,qBACzDoW,EAAiB7Y,0BAA0B,CAAEC,uBAAwB6Z,UACrEjB,EAAiBkB,YAAY,KA4CvC,OACIvuB,EAAAA,cAAA,OACI2B,UAAW,qBAAqBmsB,EAAeG,UAAY,UAAY,UAAUH,EAAeE,WAAa,WAAa,MAE1HhuB,EAAAA,cAAA,MAAIye,QAzEa+P,KACrBT,GAAkBD,GAActrB,EAAAA,EAAA,GACzBsrB,GAAc,IACjBG,WAAYH,EAAeG,gBAuEvBjuB,EAAAA,cAAA,QAAM2B,UAAW,cAChBtB,EAAM0V,UAAU0Y,iBAErBzuB,EAAAA,cAAA,OAAK2B,UAAW,iBACZ3B,EAAAA,cAAA,QAAM2B,UAAW,qBAAsB+W,SAAUd,GAlDxCzX,MAAAA,IACjBguB,GAAY,KAAM,CACd/U,QAASzY,EAAKyY,QACdgV,KAAMztB,EAAKytB,SAEM,KAAjBztB,EAAKyY,SAAgC,KAAdzY,EAAKytB,KAC5BL,GAAkB,KAAM,CACpBC,YAAY,EACZC,WAAW,MAGfF,GAAkB,KAAM,CACpBC,YAAY,EACZC,WAAW,YAIbrZ,EAAejU,EAAMN,OAkCfL,EAAAA,cAAA,OAAK2B,UAAW,4BACZ3B,EAAAA,cAAA,SAAOuY,QAAQ,WAAWlY,EAAM0V,UAAU2Y,iBAC1C1uB,EAAAA,cAAA,YAAUkY,KAAK,UAAUiJ,UAAW,IAAK1I,IAAKd,OAElD3X,EAAAA,cAAA,OAAK2B,UAAW,4BACZ3B,EAAAA,cAAA,SAAOuY,QAAQ,QAAQlY,EAAM0V,UAAU4Y,cACvC3uB,EAAAA,cAAA,SAAOkY,KAAK,OAAOiJ,UAAW,GAAI1I,IAAKd,OAE3C3X,EAAAA,cAAA,OAAK2B,UAAW,mCACZ3B,EAAAA,cAAA,UAAQ2B,UAAW,SAAU8c,QAxC3BmQ,KAClB7W,EAAM,CAAEqB,QAAS8U,EAAS9U,QAASgV,KAAMF,EAASE,OAClDL,GAAkB,KAAM,CACpBC,YAAY,EACZC,WAAW,QAqCM5tB,EAAM0V,UAAU8Y,iBAErB7uB,EAAAA,cAAA,UAAQ4a,KAAK,SAASjZ,UAAW,UAC5BtB,EAAM0V,UAAU+Y,kBAI7B9uB,EAAAA,cAAA,OAAK2B,UAAW,0BACZ3B,EAAAA,cAAA,WACIA,EAAAA,cAAA,aAAQK,EAAM0V,UAAU2Y,iBAAwB,IAAER,EAAS9U,SAE/DpZ,EAAAA,cAAA,WACIA,EAAAA,cAAA,aAAQK,EAAM0V,UAAU4Y,cAAqB,IAAET,EAASE,KAAM,KAElEpuB,EAAAA,cAAA,OAAK2B,UAAW,kCACZ3B,EAAAA,cAAA,UAAQye,QAjDLsQ,KACnBhB,GAAkB,KAAM,CACpBC,YAAY,EACZC,WAAW,QA8CmC5tB,EAAM0V,UAAUiZ,cAClDhvB,EAAAA,cAAA,UAAQye,QA5CLte,UACnB4X,EAAM,CAAEqB,QAAS,GAAIgV,KAAM,KAC3BL,GAAkB,KAAM,CACpBC,YAAY,EACZC,WAAW,YAETrZ,EAAe,CAAEwE,QAAS,GAAIgV,KAAM,IAAM/tB,KAsCEA,EAAM0V,UAAUkZ,8BAOpEC,EAAmBA,CACrBC,EACApZ,EACAqZ,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,KAEA,MAAM,cAAEC,GAAkB7Z,EAE1B,GAAIwZ,EACA,OAAOvvB,EAAAA,cAAAA,EAAAA,SAAA,KAAGuvB,GAId,GAAIJ,EAAW,CAGX,SAASU,EAAcC,EAAmB5G,GAAc,IAAA6G,EAEpD,MAAMC,EAAgE,QAAlDD,EAAGlZ,OAAOoZ,kBAAkB/Y,eAAegZ,eAAO,IAAAH,OAAA,EAA/CA,EAAiDI,SAEnEL,EAASM,cAAeC,UAAUC,SAAS,gCAAmCR,EAASM,cAAeC,UAAUC,SAAS,yBAC1HR,EAAWA,EAASM,eAGxB,MAAMG,OAA2EhW,IAAnEuV,EAASU,uBAAuB,4BAA4B,GACpEC,WAAWX,EAASU,uBAAuB,qBAAqB,GAAGE,YAAaxL,QAAQ,IAAK,MAAMyL,QAAQ,IAC1GF,WAAWX,EAASU,uBAAuB,qBAAqB,GAAGE,YAAaxL,QAAQ,IAAK,MAC1FzP,SAAUqa,EAASU,uBAAuB,kBAAkB,GAAwBnuB,QAAQsuB,QAAQ,GAKxGC,EAAc,CAChB,KAAQd,EAASe,qBAAqB,KAAK,GAAGH,YAC9C,GAAMZ,EAASU,uBAAuB,oBAAoB,GAAGE,YAC7D,MAASH,EACT,SAAY,EAEZ,SAAY,GACZ,KAAQ,QAGgB,IAAA5G,EAAAC,EAA5B,GAAe,cAAXV,EACgB,QAAhBS,EAAA9S,OAAOiT,iBAAS,IAAAH,GAAM,QAANC,EAAhBD,EAAkBznB,YAAI,IAAA0nB,GAAtBA,EAAApN,KAAAmN,EAAyB,CACrB,MAAST,EACT,UAAa,CACT,aAAgB8G,EAChB,IAAO,CACH,YAAe,CACX,KAAQ,OACR,OAAU,OAEd,SAAY,CAACY,YAKxB,GAAe,mBAAX1H,EAA6B,KAAA4H,EAAAC,EAClB,QAAhBD,EAAAja,OAAOiT,iBAAS,IAAAgH,GAAM,QAANC,EAAhBD,EAAkB5uB,YAAI,IAAA6uB,GAAtBA,EAAAvU,KAAAsU,EAAyB,CACrB,MAAS5H,EACT,UAAa,CACT,aAAgB8G,EAChB,OAAU,CACN,SAAY,CAACY,QAQjC,IAAII,EAAkB7B,EAAU3b,OAEhCxT,EAAAA,WAAgB,KAEZ,MAAM+Z,EAAOqB,SAASoV,uBAAuB,WAAW,GAClDrB,EAAYpV,EAAKyW,uBAAuB,8BAmB9C,MAAMS,EAAkBC,aAjBxB,WACI9c,MAAM+c,KAAKhC,GAAWptB,SAAQ+tB,IAC1B,QAA2EvV,IAAvEuV,EAASU,uBAAuB,gCAAgC,SAA2FjW,IAAvEuV,EAASU,uBAAuB,gCAAgC,GAAkB,CACtKY,cAAcH,GACd,MAAMI,EAAavB,EAASU,uBAAuB,gCAAgC,GAC7Ec,EAAcxB,EAASU,uBAAuB,gCAAgC,GAEpFa,MAAAA,GAAAA,EAAYE,iBAAiB,SAAS,KAClC1B,EAAcC,EAAU,gBAG5BwB,MAAAA,GAAAA,EAAaC,iBAAiB,SAAS,KACnC1B,EAAcC,EAAU,2BAKc,KAErC,IAAI0B,kBAAiBC,IAClCA,EAAU1vB,SAAQ2vB,IACd,GAAsB,cAAlBA,EAAS9W,KAAsB,CAC/B,MAAM+W,EAAiBxC,EAAU3b,OACjC,GAAIme,EAAiBX,GACjB,GAAIW,IAAmBvW,SAASoV,uBAAuB,mCAAmChd,OAAQ,CACtEY,MAAM+c,KAAKO,EAASE,YAC5B7vB,SAAQ8vB,IAEpB,GAAsB,IAAlBA,EAAKC,SAAgB,CACrB,MAAMhC,EAAW+B,EACXR,EAAavB,EAASU,uBAAuB,gCAAgC,GAC7Ec,EAAcxB,EAASU,uBAAuB,gCAAgC,GACpFa,MAAAA,GAAAA,EAAYE,iBAAiB,SAAS,KAClC1B,EAAcC,EAAU,gBAE5BwB,MAAAA,GAAAA,EAAaC,iBAAiB,SAAS,KACnC1B,EAAcC,EAAU,yBAIpCkB,EAAkBW,QAGtBX,EAAkBW,SAMzBI,QAAQhY,EAAKyW,uBAAuB,+BAA+B,GAAI,CAAEwB,WAAW,EAAMC,SAAS,MAC7G,IA2CH,MAAMC,EAAgB/C,EAAU5b,QAAOuc,IAAQ,IAAAqC,EAAA,OAA6C,KAA5B,QAAbA,EAAArC,EAASnvB,YAAI,IAAAwxB,GAAU,QAAVA,EAAbA,EAAeC,gBAAQ,IAAAD,OAAA,EAAvBA,EAAyBE,gBACtEC,EAAgBnD,EAAU5b,QAAOuc,IAAQ,IAAAyC,EAAA,OAA6C,KAA5B,QAAbA,EAAAzC,EAASnvB,YAAI,IAAA4xB,GAAU,QAAVA,EAAbA,EAAeH,gBAAQ,IAAAG,OAAA,EAAvBA,EAAyBF,gBAAmBG,MAAK,CAACC,EAAGC,KAAK,IAAAC,EAAAC,EAEzG,MAAMC,EAAmB,QAANF,EAAAF,EAAE9xB,YAAI,IAAAgyB,GAAU,QAAVA,EAANA,EAAQP,gBAAQ,IAAAO,GAAqB,QAArBA,EAAhBA,EAAkB3Y,2BAAmB,IAAA2Y,GAArCA,EAAuCG,MACrD9f,IAAsB,IAAA+f,EAAA,MAAkB,YAAb/f,EAAKC,MAAkD,KAAnB,QAAV8f,EAAA/f,EAAKE,aAAK,IAAA6f,OAAA,EAAVA,EAAYzf,iBAClE,EAAI,EAOR,OALyB,QAANsf,EAAAF,EAAE/xB,YAAI,IAAAiyB,GAAU,QAAVA,EAANA,EAAQR,gBAAQ,IAAAQ,GAAqB,QAArBA,EAAhBA,EAAkB5Y,2BAAmB,IAAA4Y,GAArCA,EAAuCE,MACrD9f,IAAsB,IAAAggB,EAAA,MAAkB,YAAbhgB,EAAKC,MAAkD,KAAnB,QAAV+f,EAAAhgB,EAAKE,aAAK,IAAA8f,OAAA,EAAVA,EAAY1f,iBAClE,EAAI,GAGYuf,KAwExB,MAAO,IApEkBX,EAAcxX,KAAKoV,IAAY,IAAAmD,EACpD,MAAMC,IAAuC,QAAbD,EAAAnD,EAASnvB,YAAI,IAAAsyB,GAA8B,QAA9BA,EAAbA,EAAeb,SAASpY,2BAAmB,IAAAiZ,IAA3CA,EAA6CH,MACxE9f,IAAsB,IAAAmgB,EAAA,MAAkB,YAAbngB,EAAKC,KAAiD,UAAlB,QAAVkgB,EAAAngB,EAAKE,aAAK,IAAAigB,OAAA,EAAVA,EAAY/f,iBAGtE,OACIpT,EAAAA,cAAA,OAAK2B,UAAU,gCAAgCQ,IAAK2tB,EAASnvB,KAAMyxB,SAAUgB,YACzEpzB,EAAAA,cAAA,OAAK2B,UAAU,8BACVmuB,EAASsC,SACT1C,EACK,KACA2D,EAAkBvD,EAAU/Z,EAAWqZ,EAAeK,EAAkBE,GAC7ED,EAEG1vB,EAAAA,cAACirB,EAAAA,KAAI,CAACtpB,UAAU,gCACX2xB,EAAuBxD,EAAU/Z,EAAWqZ,EAAeK,EAAkBE,GAC7EG,EAASyD,WAAaL,GAA2BpD,EAASvU,QAG/Dvb,EAAAA,cAACirB,EAAAA,KAAI,CAACtpB,UAAU,gCACXmuB,EAASyD,WAAaL,GAA2BpD,EAASvU,gBAQ1D+W,EAAc5X,KAAKoV,IAAY,IAAA0D,EAGpD,MAAMC,EAAgB3D,MAAAA,GAAc,QAAN0D,EAAR1D,EAAUnvB,YAAI,IAAA6yB,GAAU,QAAVA,EAAdA,EAAgBpB,gBAAQ,IAAAoB,GAAqB,QAArBA,EAAxBA,EAA0BxZ,2BAAmB,IAAAwZ,GAAkF,QAAlFA,EAA7CA,EAA+CjgB,QAAQsZ,GAA+C,wBAAjBA,EAAS5Z,MAA+B,UAAE,IAAAugB,GAAO,QAAPA,EAA/HA,EAAiItgB,aAAK,IAAAsgB,OAAA,EAAtIA,EAAwIpgB,YACxJsgB,EAAaD,MAAAA,OAAa,EAAbA,EAAerW,MAAM,OAClCuW,EAAcD,GAAcA,EAAWlgB,OAAS,IAAK,EAC3D,OACIxT,EAAAA,cAAA,OAAK2B,UAAU,sBAAsBQ,IAAK2tB,EAASnvB,KAAMyxB,SAAUgB,YAC/DpzB,EAAAA,cAAA,OAAK2B,UAAU,8BACVmuB,EAASsC,SACT1C,EACK,KACA2D,EAAkBvD,EAAU/Z,EAAWqZ,EAAeK,EAAkBE,GAC7ED,EAEG1vB,EAAAA,cAACirB,EAAAA,KAAI,CAACtpB,UAAU,gCACX2xB,EAAuBxD,EAAU/Z,EAAWqZ,EAAeK,EAAkBE,IAC5EgE,GAAe7D,EAAS8D,cACzB9D,EAASvU,QAUdvb,EAAAA,cAACirB,EAAAA,KAAI,CAACtpB,UAAU,iCACVgyB,GAAe7D,EAAS8D,cACzB9D,EAASvU,cAalC,OAAOiU,EACHxvB,EAAAA,cAAA,OAAK2B,UAAU,wBACX3B,EAAAA,cAAA,KAAG2B,UAAU,iBAAiBiuB,GAC7BP,GAGLrvB,EAAAA,cAAAA,EAAAA,SAAA,KAAGsvB,IAKT+D,EAAoBA,CACtBvD,EACA/Z,EACAqZ,EACAK,EACAE,KACoB,IAAAkE,EAEpB,IAAK/D,EAASgE,gBAAkB1E,IAA8B,QAAbyE,EAAA/D,EAASnvB,YAAI,IAAAkzB,OAAA,EAAbA,EAAezB,SAAS2B,gBAAiBpE,EACtF,OAAO,KAGX,MAAM,uBACFqE,EAAsB,yBACtBC,EAAwB,oBACxBC,EAAmB,8BACnBC,EAA6B,uBAC7BC,GACAre,EAEEse,EAAkBvE,EAASgE,cAAcO,gBAOzCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS9E,EAAmB+E,EAAAA,kBAAkBC,eACzEC,GAAyBC,EAAAA,EAAAA,wBAAuBlF,EAAmB6E,GAEzE,OACIt0B,EAAAA,cAACirB,EAAAA,KAAIrX,OAAA6G,OAAA,GAAKqV,EAASgE,cAAcc,gBAC7B50B,EAAAA,cAAA,OAAK2B,UAAU,+BACV0yB,EACGr0B,EAAAA,cAAA,QAAM2B,UAAU,WAAWwyB,GAE3Bn0B,EAAAA,cAAA,QAAM2B,UAAU,QAAQsyB,IAG/BI,GACGr0B,EAAAA,cAAA,OAAK2B,UAAU,oCACX3B,EAAAA,cAAA,QAAM2B,UAAU,0CAA0CmuB,EAASgE,cAAce,aACjF70B,EAAAA,cAAC80B,EAAAA,OAAM,CAACnzB,UAAU,mCAAmC8c,QAlBhDvC,GACV4T,EAASgE,eAAiBhE,EAASgE,cAAciB,UAAUC,aAAY,IAkB7DZ,IAIbp0B,EAAAA,cAAC80B,EAAAA,OAAMlhB,OAAA6G,OAAA,CAAC9Y,UAAU,4BAA+B+yB,EAAsB,CAAEjW,QA1B5DvC,GACV4T,EAASgE,eAAiBhE,EAASgE,cAAciB,UAAUC,aAAaX,KA0BtEA,EAAkBL,EAAyBE,KAMtDe,EAAqBC,GAClBA,GAAyC,IAA5BA,EAAUrd,OAAOrE,OAI/BxT,EAAAA,cAACirB,EAAAA,KAAIrX,OAAA6G,OAAA,GAAKya,EAAUC,SACfD,EAAUE,OACVF,EAAUrd,QALR,KAuBTwd,EAA2BA,CAC7BC,EACAC,EACAl1B,EACA6jB,IAEKoR,EAKDt1B,EAAAA,cAACirB,EAAAA,KAAIrX,OAAA6G,OAAA,GAAK8a,GACLl1B,EAAMm1B,UACNF,EAAkBG,SAClBH,EAAkBI,SACM,SAAxBxR,EAAOC,cA5BU9jB,CAAAA,IAC1B,MAAM,kBAAEs1B,EAAiB,sBAAEC,GAA0Bv1B,EAAM0V,UAE3D,OACI/V,EAAAA,cAAA,OAAKygB,MAAO,CAAE4F,aAAc,SACxBrmB,EAAAA,cAAA,KAAG2B,UAAU,+BACT3B,EAAAA,cAAA,QAAM2B,UAAU,4BAA4Bg0B,GAC5C31B,EAAAA,cAAA,QAAM2B,UAAU,4BAA4Bi0B,MAqBbC,CAAqBx1B,GAASi1B,EAAkBQ,IAClFR,EAAkBS,YAClBT,EAAkBU,eAAiBV,EAAkBU,eAAiB,KACtEV,EAAkBW,YAXhB,KAgBTC,EAAwBA,CAAC71B,EAA0B0V,KACmB,IAAAogB,EAAxE,OAAK91B,EAAM+1B,gBAA4B/1B,EAAM+1B,eAAe5iB,OAAS,EAE7DxT,EAAAA,cAAA,OAAK2B,UAAW,iCAAiCtB,EAAMg2B,iBAAiB10B,aACpE3B,EAAAA,cAAC4qB,EAAmB,CAACvqB,MAAOA,IACP,QADoC81B,EACxD91B,EAAM+1B,sBAAc,IAAAD,OAAA,EAApBA,EAAsBzb,KAAIyU,IAAY,IAAAmH,EACnC,OACIt2B,EAAAA,cAAA,OAAK2B,UAAU,+BAEVutB,EACGC,EACA9uB,EAAM0V,UACN1V,EAAM+uB,cACN/uB,EAAMgvB,qBACNhvB,EAAMivB,iBACNjvB,EAAMkvB,kBACNlvB,EAAMmvB,eACNnvB,EAAMovB,iBACNpvB,EAAMk2B,sBAC4C,QADvBD,EAC3Bj2B,EAAMY,QAAQgW,cAAcC,eAAegZ,eAAO,IAAAoG,OAAA,EAAlDA,EAAoDE,2BAKnEjK,EAA0BlsB,IAI5BA,EAAMmvB,eACTxvB,EAAAA,cAAA,OAAK2B,UAAW,iCAAiCtB,EAAMg2B,iBAAiB10B,aAEpE3B,EAAAA,cAAA,WACIA,EAAAA,cAAA,KAAG2B,UAAU,iBAAiBtB,EAAM0V,UAAU6Z,eAC7CvvB,EAAMgvB,uBAIfrvB,EAAAA,cAAAA,EAAAA,SAAA,KAAGK,EAAMivB,mBAKfgE,EAAyBA,CAC3BxD,EACA/Z,EACAqZ,EACAK,EACAE,KACoB,IAAA8G,EAEpB,IAAK3G,EAASgE,gBAAkB1E,IAA8B,QAAbqH,EAAA3G,EAASnvB,YAAI,IAAA81B,OAAA,EAAbA,EAAerE,SAAS2B,gBAAiBpE,EACtF,OAAO,KAGX,MAAM,uBAAEyE,EAAsB,uBAAEJ,EAAsB,oBAAEE,GAAwBne,EAE1Ese,EAAkBvE,EAASgE,cAAcO,gBAOzCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS9E,EAAmB+E,EAAAA,kBAAkBC,eACzEC,GAAyBC,EAAAA,EAAAA,wBAAuBlF,EAAmB6E,GAEzE,OACIt0B,EAAAA,cAACA,EAAAA,SAAc,KACVq0B,EACGr0B,EAAAA,cAAC80B,EAAAA,OAAM,CAACnzB,UAAU,qCAAqC8c,QAT9CvC,GACV4T,EAASgE,eAAiBhE,EAASgE,cAAciB,UAAUC,aAAY,IASjEZ,GAEL,KACJp0B,EAAAA,cAAC80B,EAAAA,OAAMlhB,OAAA6G,OAAA,CAAC9Y,UAAU,sCAAyC+yB,EAAsB,CAAEjW,QAhBtEvC,GACV4T,EAASgE,eAAiBhE,EAASgE,cAAciB,UAAUC,aAAaX,KAgBtEA,EAAkBL,EAAyBE,KAM5D,EAnvB+C7zB,IAA4B,IAAAq2B,EACvE,MAAMxS,EAAS7jB,EAAMY,QAAQC,QAAQgjB,OACrC,OACIlkB,EAAAA,cAAA,MAAA4T,OAAA6G,OAAA,CAAK9Y,UAAWtB,EAAMsB,UAAW6W,GAAInY,EAAMmY,IAAQnY,EAAMyoB,uBAAuBzoB,IAC3EA,EAAMqe,MACP1e,EAAAA,cAAA,OAAK2B,UAAW,OACXtB,EAAMk2B,sBACHL,EAAsB71B,EAAOA,EAAM0V,WAEnC/V,EAAAA,cAACirB,EAAAA,KAAIrX,OAAA6G,OAAA,GAAKpa,EAAMg2B,iBAAgB,CAAE10B,UAAW,YAAYtB,EAAMg2B,iBAAiB10B,cAC5E3B,EAAAA,cAAC4qB,EAAmB,CAACvqB,MAAOA,IAC3B6uB,EACG7uB,EAAMs2B,UACNt2B,EAAM0V,UACN1V,EAAM+uB,cACN/uB,EAAMgvB,qBACNhvB,EAAMivB,iBACNjvB,EAAMkvB,kBACNlvB,EAAMmvB,eACNnvB,EAAMovB,iBACNpvB,EAAMk2B,sBAC4C,QADvBG,EAC3Br2B,EAAMY,QAAQgW,cAAcC,eAAegZ,eAAO,IAAAwG,OAAA,EAAlDA,EAAoDF,uBAEvDjK,EAA0BlsB,IAGnCL,EAAAA,cAAA,OAAK2B,UAAW,iDACXtB,EAAMu2B,qBACH52B,EAAAA,cAACirB,EAAAA,KAAIrX,OAAA6G,OAAA,GAAKpa,EAAMw2B,qBACXx2B,EAAMu2B,oBACNvB,EAAyBh1B,EAAMy2B,sBAAuBz2B,EAAMk1B,kBAAmBl1B,EAAO6jB,GACtF+Q,EAAkB50B,EAAM02B,oBACxB12B,EAAM22B,2BACN32B,EAAM42B,sBACN52B,EAAM62B,uBAAyBC,EAAAA,gBAAgBC,YAAY/2B,EAAM62B,uBAC9Dl3B,EAAAA,cAACirB,EAAAA,KAAIrX,OAAA6G,OAAA,GAAKpa,EAAMg3B,+BAAgCh3B,EAAM62B,uBACtD,KACH72B,EAAMgvB,qBACNhvB,EAAMi3B,8BAGdj3B,EAAM+uB,mFCvD3BmI,EAGI,SAAY1L,GAAZ,IAAA2L,EAAA,KAIO,KAAAC,YAAc,WAAM,OAAAC,EAAAA,EAAAA,eAAc,gBAAiBF,EAAK3L,cAExD,KAAA8L,mBAAqB,WAAM,uBAE3B,KAAAC,cAAgB,WAAiB,iBAPpCx3B,KAAKyrB,YAAcA,IA8BkBgM,EAAAA,EAAAA,IAA0C,CACnFC,OAhBG,SAAmCC,EAA2BtM,GAAmB,+EACpF,MAAM,CAAN,EAAO,IAAIuM,EAAAA,UAgBXD,MATgB,SAACE,GACjB,OAAO,IAAIV,EAAmBU,EAAU/gB,eAAe2U,kFCvC3DmM,EAAA,oBAAAA,IA+BwB,KAAAE,WAAyB,GAMzB,KAAAC,iBAAsC,GAYtC,KAAAC,eAAyB,EAMzB,KAAAC,oBAA8B,GAM9B,KAAAC,8BAAwC,EAMxC,KAAAC,uBAAiC,EA2EzD,OA3Ic3kB,OAAA4kB,eAAWR,EAAA3jB,UAAA,uBAAoB,KAA/B,WACN,OAAOjU,KAAKq4B,uBACf,gCAIS7kB,OAAA4kB,eAAWR,EAAA3jB,UAAA,aAAU,KAArB,WACN,OAAOjU,KAAKs4B,aACf,gCAIS9kB,OAAA4kB,eAAWR,EAAA3jB,UAAA,iBAAc,KAAzB,WACN,OAAOjU,KAAKu4B,iBACf,gCAIS/kB,OAAA4kB,eAAWR,EAAA3jB,UAAA,kBAAe,KAA1B,WACN,OAAOjU,KAAKw4B,kBACf,gCAIShlB,OAAA4kB,eAAWR,EAAA3jB,UAAA,aAAU,KAArB,WACN,OAAOjU,KAAKy4B,aACf,gCAISjlB,OAAA4kB,eAAWR,EAAA3jB,UAAA,YAAS,KAApB,WACN,OAAOjU,KAAK83B,YACf,gCAIStkB,OAAA4kB,eAAWR,EAAA3jB,UAAA,kBAAe,KAA1B,WACN,OAAOjU,KAAK+3B,kBACf,gCAISvkB,OAAA4kB,eAAWR,EAAA3jB,UAAA,oBAAiB,KAA5B,WACN,OAAOjU,KAAK04B,oBACf,gCAISllB,OAAA4kB,eAAWR,EAAA3jB,UAAA,gBAAa,KAAxB,WACN,OAAOjU,KAAKg4B,gBACf,gCAISxkB,OAAA4kB,eAAWR,EAAA3jB,UAAA,qBAAkB,KAA7B,WACN,OAAOjU,KAAKi4B,qBACf,gCAISzkB,OAAA4kB,eAAWR,EAAA3jB,UAAA,8BAA2B,KAAtC,WACN,OAAOjU,KAAKk4B,8BACf,gCAIS1kB,OAAA4kB,eAAWR,EAAA3jB,UAAA,wBAAqB,KAAhC,WACN,OAAOjU,KAAKm4B,wBACf,gCAGMP,EAAA3jB,UAAA0kB,2BAAP,SAAkCC,GAC9B54B,KAAKq4B,sBAAwBO,GAI1BhB,EAAA3jB,UAAA4kB,iBAAP,SAAwBC,GACpB94B,KAAKs4B,YAAcQ,GAIhBlB,EAAA3jB,UAAA8kB,sBAAP,SAA6BC,GACzBh5B,KAAKw4B,iBAAmBQ,GAIrBpB,EAAA3jB,UAAAglB,qBAAP,SAA4BC,GACxBl5B,KAAKu4B,gBAAkBW,GAIpBtB,EAAA3jB,UAAAklB,iBAAP,SAAwBC,GACpBp5B,KAAKy4B,YAAcW,GAIhBxB,EAAA3jB,UAAAolB,eAAP,SAAsBC,GAClBt5B,KAAK83B,WAAa93B,KAAK83B,WAAW3kB,QAAO,SAAAomB,GAAY,OAAAA,EAASC,KAAOF,MAIlE1B,EAAA3jB,UAAAwlB,qBAAP,SAA4BH,GACxBt5B,KAAK+3B,iBAAmB/3B,KAAK+3B,iBAAiB5kB,QAAO,SAAAomB,GAAY,OAAAA,EAASC,KAAOF,MAI9E1B,EAAA3jB,UAAAylB,YAAP,SAAmBH,GACfv5B,KAAK83B,YAAU6B,EAAAA,EAAAA,IAAA,CAAIJ,GAAav5B,KAAK83B,aAIlCF,EAAA3jB,UAAA2lB,kBAAP,SAAyBL,GACrBv5B,KAAK+3B,kBAAgB4B,EAAAA,EAAAA,IAAA,CAAIJ,GAAav5B,KAAK83B,aAIxCF,EAAA3jB,UAAA4lB,wBAAP,SAA+BC,GAC3B95B,KAAK04B,mBAAqBoB,GAIvBlC,EAAA3jB,UAAA8lB,oBAAP,SAA2BC,GACvBh6B,KAAKg4B,eAAiBgC,GAInBpC,EAAA3jB,UAAAgmB,yBAAP,SAAgCC,GAC5Bl6B,KAAKi4B,oBAAsBiC,GAIxBtC,EAAA3jB,UAAAkmB,mCAAP,SAA0CC,GACtCp6B,KAAKk4B,6BAA+BkC,GAIjCxC,EAAA3jB,UAAAomB,4BAAP,SAAmCL,GAC/Bh6B,KAAKm4B,uBAAyB6B,IA3ItBt3B,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,4EAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,0GAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,kEAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,gGAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,sEAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,oGAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,uEAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,qGAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,kEAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,gGAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,gEAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,8FAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,sEAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,oGAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,yEAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,uGAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,qEAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,mGAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,0EAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,wGAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,oFAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,iHAIGD,EAAAA,EAAAA,IAAA,CAAX43B,EAAAA,IAAU,6EAED53B,EAAAA,EAAAA,IAAA,CAATC,EAAAA,IAAQ,2GAKTD,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,6JAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,mJAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,wJAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,uJAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,mJAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,iJAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,uJAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,8IAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,oJAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,0JAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,sJAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,2JAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,sKAMPh1B,EAAAA,EAAAA,IAAA,CADCg1B,EAAAA,IAAM,6JAIXE,EA9IA,gCCJQ,IAAK2C,mBAAZ,SAAYA,GACTA,EAAAA,EAAA,yCACAA,EAAAA,EAAA,mCACAA,EAAAA,EAAA,qBACAA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,yCACAA,EAAAA,EAAA,uBANH,CAAYA,IAAAA,EAAqB,mhBCIlC,IAAAC,EAAA,WACW,KAAAnD,YAAc,WAAM,qBAEpB,KAAAE,mBAAqB,WAAM,qBAE3B,KAAAC,cAAgB,WAAiB,eAGrC,SAASiD,EAAgBpP,GAC5B,IAAMqP,EAAW,IAAIF,EAEjBG,EAA8BtP,EAAI3X,IAAmBgnB,EAASnD,qBAAsBmD,EAASrD,eACjG,OAAIsD,IAGJtP,EAAIuP,OAAOF,EAAU,IACrBC,EAA8BtP,EAAI3X,IAAmBgnB,EAASnD,qBAAsBmD,EAASrD,gBAI1F,SAASwD,EAAmB54B,EAAsBopB,GACrD,IAAMqP,EAAW,IAAIF,EACrBnP,EAAIuP,OAAOF,EAAUz4B,wHCoQzB,QAjRwB,SAAmB64B,GA8QvC,OAvQA,SAAAC,GACI,SAAAC,EAAY/6B,GAAZ,IAAAm3B,EACI2D,EAAA3e,KAAA,KAAMnc,IAAM,KACW,OAeVm3B,EAAA6D,gBAAkB,iBACzBC,EAA4B9D,EAAKn3B,MAA/BmY,EAAE8iB,EAAA9iB,GAAE+iB,EAAQD,EAAAC,SAAEt6B,EAAOq6B,EAAAr6B,QACvBu6B,GAASX,EAAAA,EAAAA,IAAgB55B,EAAQgW,eAClCukB,EAKDA,EAAOhjB,KAKXyiB,EAAAA,EAAAA,KAAkBQ,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAAC,GAERD,KAAME,EAAA,IACRljB,GAAK,CACFA,GAAEA,EACF+iB,SAAQA,EACRI,gBAAgB,EAChBpI,UAAU,EACVqI,YAAY,EACZC,eAAe,EACfC,mBAAmB,EACnBh7B,YAAQyZ,EACRwhB,SAAU,IACbL,IAELz6B,EAAQgW,eAxBRugB,EAAKn3B,MAAMyrB,UAAUnX,MAAM,yDAiClB6iB,EAAAwE,sBAAwB,SAACxjB,GACtC,IAAMlY,EAAck3B,EAAK1jB,MAAM0E,GAC/B,OAAAijB,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAAA,GACOn7B,GAAY,CACfq7B,eAAgBnE,EAAKyE,SAASzjB,EAAI,CAAEmjB,gBAAgB,IAAQ,GAC5DpI,SAAUiE,EAAKyE,SAASzjB,EAAI,CAAE+a,UAAU,IACxC3xB,QAAS41B,EAAKyE,SAASzjB,EAAI,CAAE1X,OAAQ,UAAW,GAAM,GACtDo7B,WAAY1E,EAAKyE,SAASzjB,EAAI,CAAE1X,OAAQ,aACxCq7B,UAAW3E,EAAKyE,SAASzjB,EAAI,CAAE1X,OAAQ,YACvCs7B,UAAW5E,EAAKyE,SAASzjB,EAAI,CAAE1X,OAAQ,YAAa,GAAM,GAC1Du7B,WAAY7E,EAAKyE,SAASzjB,EAAI,CAAE1X,OAAQ,aAAc,GACtDw7B,gBAAiB9E,EAAKyE,SAASzjB,EAAI,CAAEqjB,eAAe,IAAQ,GAAM,GAClEU,sBAAuB/E,EAAKyE,SAASzjB,EAAI,CAAEsjB,mBAAmB,IAC9DU,uBAAwBhF,EAAKgF,yBAC7BC,eAAgBjF,EAAKiF,eAAejkB,GACpCkkB,cAAe,SAACr6B,GACZm1B,EAAKwD,OAAOxiB,EAAI,CAAEojB,WAAYv5B,KAElCs6B,iBAAkB,SAACt6B,GACfm1B,EAAKwD,OAAOxiB,EAAI,CAAEqjB,cAAex5B,KAErCu6B,qBAAsB,SAACv6B,GACnBm1B,EAAKwD,OAAOxiB,EAAI,CAAEsjB,kBAAmBz5B,KAEzCw6B,YAAa,SAACx6B,GACVm1B,EAAKwD,OAAOxiB,EAAI,CAAE+a,SAAUlxB,KAEhC5B,QAAS,WACL+2B,EAAKwD,OAAOxiB,EAAI,CAAE1X,OAAQ,WAE9BJ,WAAY,WACR82B,EAAKwD,OAAOxiB,EAAI,CAAE1X,OAAQ,cAE9Bg8B,UAAW,WACPtF,EAAKwD,OAAOxiB,EAAI,CAAE1X,OAAQ,aAE9Bi8B,OAAQ,WACJvF,EAAKwD,OAAOxiB,EAAI,CAAE1X,OAAQ,aAE9Bk8B,UAAW,WACPxF,EAAKwD,OAAOxiB,EAAI,CAAE1X,OAAQ,cAE9Bm8B,UAAW,SAACC,GAA0C,OAAA1F,EAAKwE,sBAAsBkB,IACjFC,oBAAqB,SAAC5B,GAA0C,OAAA/D,EAAK4F,gCAAgC7B,IACrGr7B,KAAM,SAACod,IACChd,MAAAA,OAAW,EAAXA,EAAaq7B,iBAIjBnE,EAAKwD,OAAOxiB,GAAEijB,EAAAA,EAAAA,IAAA,CACVE,gBAAgB,GACbre,QAWFka,EAAA4F,gCAAkC,SAAC7B,GAChD,IAAMR,GAAeF,EAAAA,EAAAA,IAAgBrD,EAAKn3B,MAAMY,QAAQgW,eAClD3W,EAAcsT,OAAOT,OAAO4nB,GAAcsC,MAAK,SAAAC,GAAgB,OAAAA,MAAAA,OAAY,EAAZA,EAAc/B,YAAaA,KAChG,OAAO/D,EAAKwE,sBAAuB17B,GAAeA,EAAYkY,IAAO,KAOxDgf,EAAA1jB,IAAM,WACnB,OAAO+mB,EAAAA,EAAAA,IAAgBrD,EAAKn3B,MAAMY,QAAQgW,gBAS7BugB,EAAAwD,OAAS,SAACxiB,EAAYnW,GAEnC,IAAMk7B,EAAU/F,EAAK1jB,MAChBypB,EAAQ/kB,GAIb+kB,EAAQ/kB,IAAGijB,EAAAA,EAAAA,KAAAA,EAAAA,EAAAA,IAAA,GACJ8B,EAAQ/kB,IACRnW,GALHm1B,EAAKn3B,MAAMyrB,UAAUnX,MAAM,mDAAmD6D,EAAE,mBASvEgf,EAAAgG,cAAgB,SAAChlB,EAAYsP,GAC1C,IACM2V,EADUjG,EAAK1jB,MACE0E,GACvB,QAAKilB,GAGEC,GAAAA,CAAQD,EAAQ3V,IAGV0P,EAAAmG,mBAAqB,SAClCnlB,EACAsP,EACA8V,EACAC,GAEA,IACMJ,EADUjG,EAAK1jB,MACE0E,GACvB,IAAKilB,EAED,QAASG,EAGb,GAAIC,IAAwC,aAAlBJ,EAAO38B,QAA2C,YAAlB28B,EAAO38B,QAE7D,QAAS88B,EAIb,IAAKH,EAAO1B,UAAuC,IAA3B0B,EAAO1B,SAASvoB,OACpC,OAAOgkB,EAAKgG,cAAchlB,EAAIsP,GAGlC,IAAIiU,EAAW0B,EAAO1B,SAStB,OAPIvE,EAAKn3B,MAAMY,QAAQ68B,IAAIp8B,OAAOq8B,iDAE9BhC,EAAWA,EAASxoB,QAAO,SAAAyqB,GAAW,OAACxG,EAAKyG,2BAA2BD,OAKpEjC,EADQ6B,EAAa,QAAU,SACd,SAAAI,GAAW,OAAAxG,EAAKmG,mBAAmBK,EAASlW,EAAQ8V,EAAYC,OAQ3ErG,EAAAyG,2BAA6B,SAACf,GAC3C,IAAKA,EAASjpB,SAlNO,qBAmNjB,OAAO,EAGX,IACMwpB,EADUjG,EAAK1jB,MACEopB,GAEvB,SAAIO,IAAUtG,EAAAA,gBAAgBC,YAAYqG,EAAO1B,SAASxoB,QAAO,SAAAyqB,GAAW,OAAAA,EAAQ/pB,SAxN9D,4BAuOTujB,EAAAyE,SAAW,SACxBzjB,EACAsP,EACA8V,EACAC,GAEA,IACMJ,EADUjG,EAAK1jB,MACE0E,GACvB,QAAKilB,IAKAA,EAAO1B,UAAuC,IAA3B0B,EAAO1B,SAASvoB,OAKjCgkB,EAAKmG,mBAAmBnlB,EAAIsP,EAAQ8V,EAAYC,GAJ5CrG,EAAKgG,cAAchlB,EAAIsP,KAWrB0P,EAAAgF,uBAAyB,WACtC,QAAShF,EAAKn3B,MAAM69B,eAQP1G,EAAAiF,eAAiB,SAACjkB,GAG/B,QAFgBgf,EAAK1jB,MACE0E,IA/PvBgf,EAAK6D,kBAAiB,EAkQ9B,OArQ0B8C,EAAAA,EAAAA,IAAA/C,EAAAD,GAMfC,EAAA/mB,UAAA+pB,sBAAP,SAA6BC,GACzB,OAAIj+B,KAAKC,QAAUg+B,GAMhBjD,EAAA/mB,UAAA7S,OAAP,WACY,IAAAgX,EAAOpY,KAAKC,MAAKmY,GACzB,OAAOxY,EAAAA,cAACk7B,GAAgBO,EAAAA,EAAAA,IAAA,GAAKr7B,KAAKC,MAAK,CAAEC,YAAaF,KAAK47B,sBAAsBxjB,OAfnF4iB,GAAWt4B,EAAAA,EAAAA,IAAA,CADhBG,EAAAA,IAAQ,uCACHm4B,GAAN,CAA0Bp7B,EAAAA","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/checkout-invoice/checkout-invoice.tsx?8775","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-invoice/common/convert_a2_a3.ts?385f","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-invoice/common/fiscal-code-utils.ts?49ce","webpack://Msdyn365.Commerce.Online/./src/modules/checkout-invoice/checkout-invoice.view.tsx?db30","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-balance-check/loyalty-balance-check.tsx?efe1","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-balance-check/loyalty-balance-check.view.tsx?49d9","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-store-sign-up/loyalty-store-sign-up.tsx?5eec","webpack://Msdyn365.Commerce.Online/./src/modules/loyalty-store-sign-up/loyalty-store-sign-up.view.tsx?b7f5","webpack://Msdyn365.Commerce.Online/./src/modules/newsletter-block/newsletter-block.tsx?8702","webpack://Msdyn365.Commerce.Online/./src/modules/newsletter-block/newsletter-block.props.autogenerated.ts?e1dd","webpack://Msdyn365.Commerce.Online/./src/modules/newsletter-block/newsletter-block.view.tsx?b94f","webpack://Msdyn365.Commerce.Online/./src/themes/venchi/views/cart.view.tsx?0fd8","webpack://Msdyn365.Commerce.Online/../../src/checkout-state-data-action.ts?8344","webpack://Msdyn365.Commerce.Online/../../src/checkout-state.ts?acd8","webpack://Msdyn365.Commerce.Online/../../src/checkout-utilities.data.ts?b2cc","webpack://Msdyn365.Commerce.Online/../../../src/module-state-manager/module-state.ts?7579","webpack://Msdyn365.Commerce.Online/../../../src/module-state-manager/with-module-state.tsx?61ca"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { IModuleStateProps, withModuleState, IModuleStateManager } from '@msdyn365-commerce-modules/checkout-utilities';\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { computed, when } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { ICheckoutInvoiceData } from './checkout-invoice.data';\r\nimport { ICheckoutInvoiceProps } from './checkout-invoice.props.autogenerated';\r\n\r\nexport interface ICheckoutInvoiceModuleProps extends ICheckoutInvoiceProps, IModuleStateProps {}\r\n\r\ninterface ICountriesOptions {\r\n key: string | undefined;\r\n value: string | undefined;\r\n}\r\nexport interface ICheckoutInvoiceViewProps extends ICheckoutInvoiceModuleProps {\r\n CheckoutInvoice: IModuleProps;\r\n moduleProps: ICheckoutInvoiceModuleProps;\r\n countryRegions: ICountriesOptions[];\r\n moduleState: IModuleStateManager;\r\n onEdit?(): void;\r\n paymentVerificationRedirection: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * CheckoutInvoice component\r\n * @extends {React.PureComponent>}\r\n */\r\n// @ts-ignore\r\n@withModuleState\r\n@observer\r\nclass CheckoutInvoice extends React.Component {\r\n @computed get isDataReady(): boolean {\r\n return (this.props.data.checkout.result && this.props.data.checkout.status) === 'SUCCESS';\r\n }\r\n @computed get isPaymentVerificationRedirection(): boolean {\r\n const { requestFormData, query } = this.props.context.request;\r\n const redirection = query && query.pv === '1' && (requestFormData || query.redirectResult) ? true : false;\r\n return redirection;\r\n }\r\n\r\n public componentDidMount(): void {\r\n // @ts-ignore: Compiler not reconizing condition check for function params\r\n when(\r\n () => this.isDataReady,\r\n async () => {\r\n await this.init();\r\n }\r\n );\r\n }\r\n\r\n public render(): JSX.Element {\r\n const {\r\n config: { className },\r\n moduleState: { isReady }\r\n } = this.props;\r\n const countriesOptions: ICountriesOptions[] = [];\r\n this.props.data.countryRegions.result?.forEach((item, index: number) => {\r\n countriesOptions.push({\r\n key: item.CountryRegionId,\r\n value: item.ShortName\r\n });\r\n });\r\n\r\n const viewProps: ICheckoutInvoiceViewProps = {\r\n ...this.props,\r\n ...this.state,\r\n onEdit: this.onEdit,\r\n moduleProps: this.props,\r\n CheckoutInvoice: {\r\n moduleProps: this.props,\r\n className: classnames('ms-checkout-invoice', className, isReady ? 'show' : 'add')\r\n },\r\n countryRegions: countriesOptions,\r\n paymentVerificationRedirection: this.isPaymentVerificationRedirection\r\n };\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private init = async (): Promise => {\r\n this.props.moduleState.init({\r\n onEdit: this.onEdit\r\n });\r\n if (this.isPaymentVerificationRedirection) {\r\n this.props.moduleState.onReady();\r\n }\r\n };\r\n\r\n private onEdit = (): void => {\r\n this.props.moduleState.onUpdating();\r\n };\r\n}\r\n\r\nexport default CheckoutInvoice;\r\n","// tslint:disable-next-line:variable-name\r\nexport const convert_a2_to_a3 = {\r\n AF: 'AFG',\r\n AX: 'ALA',\r\n AL: 'ALB',\r\n DZ: 'DZA',\r\n AS: 'ASM',\r\n AD: 'AND',\r\n AO: 'AGO',\r\n AI: 'AIA',\r\n AQ: 'ATA',\r\n AG: 'ATG',\r\n AR: 'ARG',\r\n AM: 'ARM',\r\n AW: 'ABW',\r\n AU: 'AUS',\r\n AT: 'AUT',\r\n AZ: 'AZE',\r\n BS: 'BHS',\r\n BH: 'BHR',\r\n BD: 'BGD',\r\n BB: 'BRB',\r\n BY: 'BLR',\r\n BE: 'BEL',\r\n BZ: 'BLZ',\r\n BJ: 'BEN',\r\n BM: 'BMU',\r\n BT: 'BTN',\r\n BO: 'BOL',\r\n BA: 'BIH',\r\n BW: 'BWA',\r\n BV: 'BVT',\r\n BR: 'BRA',\r\n IO: 'IOT',\r\n BN: 'BRN',\r\n BG: 'BGR',\r\n BF: 'BFA',\r\n BI: 'BDI',\r\n KH: 'KHM',\r\n CM: 'CMR',\r\n CA: 'CAN',\r\n CV: 'CPV',\r\n KY: 'CYM',\r\n CF: 'CAF',\r\n TD: 'TCD',\r\n CL: 'CHL',\r\n CN: 'CHN',\r\n CX: 'CXR',\r\n CC: 'CCK',\r\n CO: 'COL',\r\n KM: 'COM',\r\n CG: 'COG',\r\n CD: 'COD',\r\n CK: 'COK',\r\n CR: 'CRI',\r\n CI: 'CIV',\r\n HR: 'HRV',\r\n CU: 'CUB',\r\n CY: 'CYP',\r\n CZ: 'CZE',\r\n DK: 'DNK',\r\n DJ: 'DJI',\r\n DM: 'DMA',\r\n DO: 'DOM',\r\n EC: 'ECU',\r\n EG: 'EGY',\r\n SV: 'SLV',\r\n GQ: 'GNQ',\r\n ER: 'ERI',\r\n EE: 'EST',\r\n ET: 'ETH',\r\n FK: 'FLK',\r\n FO: 'FRO',\r\n FJ: 'FJI',\r\n FI: 'FIN',\r\n FR: 'FRA',\r\n GF: 'GUF',\r\n PF: 'PYF',\r\n TF: 'ATF',\r\n GA: 'GAB',\r\n GM: 'GMB',\r\n GE: 'GEO',\r\n DE: 'DEU',\r\n GH: 'GHA',\r\n GI: 'GIB',\r\n GR: 'GRC',\r\n GL: 'GRL',\r\n GD: 'GRD',\r\n GP: 'GLP',\r\n GU: 'GUM',\r\n GT: 'GTM',\r\n GG: 'GGY',\r\n GN: 'GIN',\r\n GW: 'GNB',\r\n GY: 'GUY',\r\n HT: 'HTI',\r\n HM: 'HMD',\r\n VA: 'VAT',\r\n HN: 'HND',\r\n HK: 'HKG',\r\n HU: 'HUN',\r\n IS: 'ISL',\r\n IN: 'IND',\r\n ID: 'IDN',\r\n IR: 'IRN',\r\n IQ: 'IRQ',\r\n IE: 'IRL',\r\n IM: 'IMN',\r\n IL: 'ISR',\r\n IT: 'ITA',\r\n JM: 'JAM',\r\n JP: 'JPN',\r\n JE: 'JEY',\r\n JO: 'JOR',\r\n KZ: 'KAZ',\r\n KE: 'KEN',\r\n KI: 'KIR',\r\n KP: 'PRK',\r\n KR: 'KOR',\r\n KW: 'KWT',\r\n KG: 'KGZ',\r\n LA: 'LAO',\r\n LV: 'LVA',\r\n LB: 'LBN',\r\n LS: 'LSO',\r\n LR: 'LBR',\r\n LY: 'LBY',\r\n LI: 'LIE',\r\n LT: 'LTU',\r\n LU: 'LUX',\r\n MO: 'MAC',\r\n MK: 'MKD',\r\n MG: 'MDG',\r\n MW: 'MWI',\r\n MY: 'MYS',\r\n MV: 'MDV',\r\n ML: 'MLI',\r\n MT: 'MLT',\r\n MH: 'MHL',\r\n MQ: 'MTQ',\r\n MR: 'MRT',\r\n MU: 'MUS',\r\n YT: 'MYT',\r\n MX: 'MEX',\r\n FM: 'FSM',\r\n MD: 'MDA',\r\n MC: 'MCO',\r\n MN: 'MNG',\r\n ME: 'MNE',\r\n MS: 'MSR',\r\n MA: 'MAR',\r\n MZ: 'MOZ',\r\n MM: 'MMR',\r\n NA: 'NAM',\r\n NR: 'NRU',\r\n NP: 'NPL',\r\n NL: 'NLD',\r\n AN: 'ANT',\r\n NC: 'NCL',\r\n NZ: 'NZL',\r\n NI: 'NIC',\r\n NE: 'NER',\r\n NG: 'NGA',\r\n NU: 'NIU',\r\n NF: 'NFK',\r\n MP: 'MNP',\r\n NO: 'NOR',\r\n OM: 'OMN',\r\n PK: 'PAK',\r\n PW: 'PLW',\r\n PS: 'PSE',\r\n PA: 'PAN',\r\n PG: 'PNG',\r\n PY: 'PRY',\r\n PE: 'PER',\r\n PH: 'PHL',\r\n PN: 'PCN',\r\n PL: 'POL',\r\n PT: 'PRT',\r\n PR: 'PRI',\r\n QA: 'QAT',\r\n RE: 'REU',\r\n RO: 'ROU',\r\n RU: 'RUS',\r\n RW: 'RWA',\r\n BL: 'BLM',\r\n SH: 'SHN',\r\n KN: 'KNA',\r\n LC: 'LCA',\r\n MF: 'MAF',\r\n PM: 'SPM',\r\n VC: 'VCT',\r\n WS: 'WSM',\r\n SM: 'SMR',\r\n ST: 'STP',\r\n SA: 'SAU',\r\n SN: 'SEN',\r\n RS: 'SRB',\r\n SC: 'SYC',\r\n SL: 'SLE',\r\n SG: 'SGP',\r\n SK: 'SVK',\r\n SI: 'SVN',\r\n SB: 'SLB',\r\n SO: 'SOM',\r\n ZA: 'ZAF',\r\n GS: 'SGS',\r\n ES: 'ESP',\r\n LK: 'LKA',\r\n SD: 'SDN',\r\n SR: 'SUR',\r\n SJ: 'SJM',\r\n SZ: 'SWZ',\r\n SE: 'SWE',\r\n CH: 'CHE',\r\n SY: 'SYR',\r\n TW: 'TWN',\r\n TJ: 'TJK',\r\n TZ: 'TZA',\r\n TH: 'THA',\r\n TL: 'TLS',\r\n TG: 'TGO',\r\n TK: 'TKL',\r\n TO: 'TON',\r\n TT: 'TTO',\r\n TN: 'TUN',\r\n TR: 'TUR',\r\n TM: 'TKM',\r\n TC: 'TCA',\r\n TV: 'TUV',\r\n UG: 'UGA',\r\n UA: 'UKR',\r\n AE: 'ARE',\r\n GB: 'GBR',\r\n US: 'USA',\r\n UM: 'UMI',\r\n UY: 'URY',\r\n UZ: 'UZB',\r\n VU: 'VUT',\r\n VE: 'VEN',\r\n VN: 'VNM',\r\n VG: 'VGB',\r\n VI: 'VIR',\r\n WF: 'WLF',\r\n EH: 'ESH',\r\n YE: 'YEM',\r\n ZM: 'ZMB',\r\n ZW: 'ZWE'\r\n};\r\n","export const CHECK_CODE_ODD = new Map([\r\n ['0', 1],\r\n ['1', 0],\r\n ['2', 5],\r\n ['3', 7],\r\n ['4', 9],\r\n ['5', 13],\r\n ['6', 15],\r\n ['7', 17],\r\n ['8', 19],\r\n ['9', 21],\r\n ['A', 1],\r\n ['B', 0],\r\n ['C', 5],\r\n ['D', 7],\r\n ['E', 9],\r\n ['F', 13],\r\n ['G', 15],\r\n ['H', 17],\r\n ['I', 19],\r\n ['J', 21],\r\n ['K', 2],\r\n ['L', 4],\r\n ['M', 18],\r\n ['N', 20],\r\n ['O', 11],\r\n ['P', 3],\r\n ['Q', 6],\r\n ['R', 8],\r\n ['S', 12],\r\n ['T', 14],\r\n ['U', 16],\r\n ['V', 10],\r\n ['W', 22],\r\n ['X', 25],\r\n ['Y', 24],\r\n ['Z', 23]\r\n]);\r\n\r\nexport const CHECK_CODE_EVEN = new Map([\r\n ['0', 0],\r\n ['1', 1],\r\n ['2', 2],\r\n ['3', 3],\r\n ['4', 4],\r\n ['5', 5],\r\n ['6', 6],\r\n ['7', 7],\r\n ['8', 8],\r\n ['9', 9],\r\n ['A', 0],\r\n ['B', 1],\r\n ['C', 2],\r\n ['D', 3],\r\n ['E', 4],\r\n ['F', 5],\r\n ['G', 6],\r\n ['H', 7],\r\n ['I', 8],\r\n ['J', 9],\r\n ['K', 10],\r\n ['L', 11],\r\n ['M', 12],\r\n ['N', 13],\r\n ['O', 14],\r\n ['P', 15],\r\n ['Q', 16],\r\n ['R', 17],\r\n ['S', 18],\r\n ['T', 19],\r\n ['U', 20],\r\n ['V', 21],\r\n ['W', 22],\r\n ['X', 23],\r\n ['Y', 24],\r\n ['Z', 25]\r\n]);\r\n\r\nexport const CHECK_CODE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\n/* tslint:disable: no-duplicate-imports */\r\nimport { Module } from '@msdyn365-commerce-modules/utilities';\r\nimport { CommerceProperty } from '@msdyn365-commerce/retail-proxy';\r\n// import { getCheckoutState } from '@msdyn365-commerce/global-state';\r\nimport * as React from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { validateVatNum_CAPAsync } from '../../actions/DataActionExtension.g';\r\n// import { getInvoiceAccountInfo_CAPAsync } from '../../actions/DataActionExtension.g';\r\nimport { ICheckoutInvoiceModuleProps, ICheckoutInvoiceViewProps } from './checkout-invoice';\r\nimport { convert_a2_to_a3 } from './common/convert_a2_a3';\r\nimport { CHECK_CODE_EVEN, CHECK_CODE_ODD, CHECK_CODE_CHARS } from './common/fiscal-code-utils';\r\nimport get from 'lodash/get';\r\n\r\n// import { CartCheckout } from '@msdyn365-commerce-modules/checkout';\r\n\r\nconst allFields = [\r\n 'billing',\r\n 'InvoiceCustAccount_CAP',\r\n 'Type_CAP',\r\n 'Street_CAP',\r\n 'StreetNumber_CAP',\r\n 'ZipCode_CAP',\r\n 'City_CAP',\r\n 'Country_CAP',\r\n 'OrgName_CAP',\r\n 'FirstName_CAP',\r\n 'LastName_CAP',\r\n 'VatNum_CAP',\r\n 'FiscalCode_CAP',\r\n 'PEC_CAP',\r\n 'SDI_CAP'\r\n];\r\n\r\nconst updateExtProps = async (data: Inputs, moduleProps: ICheckoutInvoiceModuleProps) => {\r\n const dataCompiled = [];\r\n Object.keys(data).forEach(key => {\r\n const value =\r\n typeof get(data, key) === 'boolean'\r\n ? {\r\n BooleanValue: get(data, key)\r\n }\r\n : key === 'Type_CAP'\r\n ? {\r\n IntegerValue: Number(get(data, key))\r\n }\r\n : { StringValue: get(data, key) };\r\n dataCompiled.push({\r\n Key: key,\r\n Value: value\r\n });\r\n });\r\n\r\n for (const str of allFields) {\r\n if (!Object.keys(data).includes(str)) {\r\n dataCompiled.push({\r\n Key: str,\r\n Value: { StringValue: '' }\r\n });\r\n }\r\n }\r\n\r\n const checkoutResult = moduleProps.data.checkout.result;\r\n\r\n const dataCompiledCc = [\r\n {\r\n Key: 'CustomInvoiceModuleCompiled_VEN',\r\n Value: {\r\n BooleanValue: true\r\n }\r\n }\r\n ];\r\n\r\n Array.prototype.push.apply(dataCompiledCc, dataCompiled);\r\n\r\n if (checkoutResult) {\r\n await checkoutResult.checkoutCart.updateExtensionProperties({\r\n newExtensionProperties: dataCompiledCc\r\n });\r\n } else {\r\n console.error('Cannot write invoice details on the checkout cart');\r\n }\r\n};\r\n\r\nconst _capDataRender = async (moduleProps: ICheckoutInvoiceModuleProps): Promise<[Inputs | null, boolean]> => {\r\n //const currentCheckoutState = await getCheckoutState(moduleProps.context.actionContext);\r\n const currentCheckoutState = moduleProps.data.checkout.result;\r\n\r\n const extProps = currentCheckoutState?.checkoutCart.cart?.ExtensionProperties;\r\n if (!extProps) {\r\n return [null, false];\r\n }\r\n const extPropsToRemoveA = extProps.filter(eProp => eProp.Key === 'ExtPropsRemove_CAP');\r\n const invoiceModuleCompiledA = extProps.filter(eProp => eProp.Key === 'CustomInvoiceModuleCompiled_VEN');\r\n const extPropsToRemove = extPropsToRemoveA && extPropsToRemoveA[0]?.Value?.BooleanValue;\r\n const invoiceModuleCompiled = (invoiceModuleCompiledA && invoiceModuleCompiledA[0]?.Value?.BooleanValue) ?? false;\r\n\r\n if (extPropsToRemove !== true) {\r\n return [convertExtPropertiesToInput(extProps), invoiceModuleCompiled];\r\n }\r\n return [null, false];\r\n};\r\n\r\nconst convertExtPropertiesToInput = (extProps: CommerceProperty[]): Inputs => {\r\n const inputs: Inputs = {} as Inputs;\r\n extProps.forEach(prop => {\r\n if (prop.Key && prop.Value) {\r\n const values = [prop.Value.StringValue, prop.Value.IntegerValue, prop.Value.BooleanValue].filter(\r\n value => value !== undefined && value !== null\r\n );\r\n const value = values.length > 0 ? values[0] : null;\r\n if (value !== null && value !== undefined && value !== '') {\r\n if (allFields.indexOf(prop.Key) > -1) {\r\n inputs[prop.Key] = value;\r\n }\r\n }\r\n }\r\n });\r\n // Return the inputs object\r\n return inputs;\r\n};\r\n\r\nconst _capDataSave = async (moduleProps: ICheckoutInvoiceModuleProps, data: Inputs) => {\r\n await updateExtProps(data, moduleProps);\r\n};\r\n\r\ntype Inputs = {\r\n City_CAP: string;\r\n FiscalCode_CAP: string;\r\n OrgName_CAP: string;\r\n PEC_CAP: string;\r\n SDI_CAP: string;\r\n StreetNumber_CAP: string;\r\n Street_CAP: string;\r\n VatNum_CAP: string;\r\n ZipCode_CAP: string;\r\n billing: boolean;\r\n\r\n Type_CAP: number;\r\n Country_CAP: string;\r\n InvoiceCustAccount_CAP: string;\r\n FirstName_CAP: string;\r\n LastName_CAP: string;\r\n};\r\n\r\ninterface IMaincategories {\r\n key: string | undefined;\r\n value: string | undefined;\r\n}\r\nconst countrriesEU = [\r\n 'AUT',\r\n 'BEL',\r\n 'BGR',\r\n 'HRV',\r\n 'CYP',\r\n 'CZE',\r\n 'DNK',\r\n 'EST',\r\n 'FIN',\r\n 'FRA',\r\n 'DEU',\r\n 'GRC',\r\n 'HRV',\r\n 'HUN',\r\n 'IRL',\r\n 'ITA',\r\n 'LVA',\r\n 'LTU',\r\n 'LUX',\r\n 'MLT',\r\n 'NLD',\r\n 'POL',\r\n 'PRT',\r\n 'ROU',\r\n 'SVK',\r\n 'SVN',\r\n 'ESP',\r\n 'SWE'\r\n];\r\n\r\nconst validateFiscalCode15 = (codiceFiscale: string): boolean => {\r\n codiceFiscale = codiceFiscale.toUpperCase();\r\n let val = 0;\r\n for (let i = 0; i < 15; i = i + 1) {\r\n const c = codiceFiscale.charAt(i);\r\n val += i % 2 !== 0 ? CHECK_CODE_EVEN.get(c) ?? 0 : CHECK_CODE_ODD.get(c) ?? 0;\r\n }\r\n val = val % 26;\r\n return codiceFiscale.charAt(15) === CHECK_CODE_CHARS.charAt(val);\r\n};\r\nconst validateFiscalCode11 = (codiceFiscale: string): boolean => {\r\n if (!/^[0-9]{11}$/.test(codiceFiscale)) {\r\n return false;\r\n }\r\n if (codiceFiscale === '00000000000') {\r\n return false;\r\n }\r\n let val = 0;\r\n for (let i = 0; i < 10; i = i + 1) {\r\n const c = parseInt(codiceFiscale.charAt(i), 10);\r\n //se sono dispari\r\n if (i % 2 === 0) {\r\n val += c;\r\n } else {\r\n let evenC = c * 2;\r\n if (evenC > 9) {\r\n evenC = evenC - 9;\r\n }\r\n val += evenC;\r\n }\r\n }\r\n val = 10 - (val % 10);\r\n val = val % 10;\r\n return codiceFiscale.charAt(10) === val.toString();\r\n};\r\n\r\nconst validateFiscalCode = (codiceFiscale: string): boolean => {\r\n if (codiceFiscale.length === 16) {\r\n return validateFiscalCode15(codiceFiscale);\r\n }\r\n if (codiceFiscale.length === 11) {\r\n return validateFiscalCode11(codiceFiscale);\r\n }\r\n return false;\r\n};\r\n\r\nconst CheckoutInvoiceView: React.FC = props => {\r\n const { CheckoutInvoice, resources, countryRegions, moduleState, moduleProps, paymentVerificationRedirection } = props;\r\n const [dataCompiled, setDataCompiled] = React.useState();\r\n const shippingCountry = moduleProps?.data?.checkout?.result?.shippingAddress?.ThreeLetterISORegionName;\r\n const [billing, setBilling] = React.useState(false);\r\n const [typeSelected, setTypeSelected] = React.useState(0);\r\n const [countrySelected, setCountrySelected] = React.useState('');\r\n const fiscalPattern = /^([A-Z]{6}[0-9LMNPQRSTUV]{2}[ABCDEHLMPRST]{1}[0-9LMNPQRSTUV]{2}[A-Z]{1}[0-9LMNPQRSTUV]{3}[A-Z]{1})$|([0-9]{11})$/i;\r\n // @ts-ignore\r\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;\r\n\r\n const customerId = CheckoutInvoice.moduleProps?.context?.actionContext?.requestContext?.user?.customerAccountNumber;\r\n const invoiceTypeOptions = [\r\n { key: '1', value: resources.typePersonLabel },\r\n { key: '2', value: resources.typeOrgLabel }\r\n ];\r\n\r\n React.useEffect(() => {\r\n void setData();\r\n // void getUserData();\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (!paymentVerificationRedirection) {\r\n if (shippingCountry && countrriesEU.indexOf(shippingCountry) === -1) {\r\n if (!billing) {\r\n setBilling(true);\r\n setValue('billing', true, { shouldDirty: true });\r\n if (moduleState.status === 'ready') {\r\n moduleState.onEdit && moduleState.onEdit();\r\n }\r\n }\r\n } else if (typeSelected === 0) {\r\n setBilling(false);\r\n setValue('billing', false, { shouldDirty: true });\r\n }\r\n }\r\n }, [shippingCountry]);\r\n\r\n function gMapsAutocomplete() {\r\n setTimeout(() => {\r\n const boxes = document.querySelectorAll('.pac-container');\r\n boxes.forEach(box => box.remove());\r\n\r\n const autocompleteFormField = document.getElementsByName('Street_CAP')[0] as HTMLInputElement;\r\n if (autocompleteFormField === undefined || autocompleteFormField === null) {\r\n return;\r\n }\r\n\r\n // @ts-ignore\r\n const autocomplete = new window.google.maps.places.Autocomplete(autocompleteFormField, {\r\n types: ['address']\r\n });\r\n\r\n autocompleteFormField.setAttribute('placeholder', resources.startTypingYourAddress);\r\n\r\n // @ts-ignore\r\n var checkListeners = window.google.maps.event.hasListeners(autocomplete, `place_changed`);\r\n\r\n // @ts-ignore\r\n window.google.maps.event.clearInstanceListeners(autocomplete);\r\n\r\n // @ts-ignore\r\n const listener = window.google.maps.event.addListener(autocomplete, `place_changed`, () => {\r\n const place = autocomplete.getPlace();\r\n if (nativeInputValueSetter === undefined) {\r\n return;\r\n }\r\n\r\n nativeInputValueSetter.call(autocompleteFormField, place.name);\r\n const eCustom = new Event('change', { bubbles: true });\r\n autocompleteFormField.dispatchEvent(eCustom);\r\n\r\n place.address_components.forEach((element: { types: string[]; long_name: string; short_name: string }) => {\r\n var checkZipCode = false;\r\n switch (element.types[0]) {\r\n case 'street_number':\r\n setValue('StreetNumber_CAP', element.long_name, {\r\n shouldDirty: true\r\n });\r\n break;\r\n case 'locality':\r\n setValue('City_CAP', element.long_name, {\r\n shouldDirty: true\r\n });\r\n break;\r\n case 'country':\r\n const countryValue = convert_a2_to_a3[element.short_name];\r\n setValue('Country_CAP', countryValue, { shouldDirty: true });\r\n setCountrySelected(countryValue);\r\n break;\r\n case 'postal_code':\r\n setValue('ZipCode_CAP', element.long_name, {\r\n shouldDirty: true\r\n });\r\n checkZipCode = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n if (!checkZipCode) {\r\n setValue('ZipCode_CAP', '', { shouldDirty: true });\r\n }\r\n });\r\n // @ts-ignore\r\n const street = document.getElementsByName('Street_CAP') as HTMLInputElement;\r\n street[0].value = street[0].value.split(',')[0];\r\n });\r\n });\r\n }\r\n\r\n const { register, handleSubmit, errors, setValue, setError, reset } = useForm();\r\n\r\n const _renderInput = (name: string, label: string, required: boolean, errorMessage: string, pattern?: RegExp): JSX.Element => {\r\n return (\r\n
\r\n \r\n \r\n {get(errors, name) && {errorMessage}}\r\n
\r\n );\r\n };\r\n\r\n const _renderTypeSelect = (name: string, label: string, options: IMaincategories[], required: boolean): JSX.Element => {\r\n return (\r\n
\r\n \r\n {\r\n setValue('Type_CAP', e.target.value, {\r\n shouldDirty: true\r\n });\r\n setTypeSelected(parseInt(e.target.value, 10));\r\n }}\r\n >\r\n \r\n {options.map(option => {\r\n return (\r\n \r\n );\r\n })}\r\n ;\r\n \r\n {get(errors, name) && {resources.genericFieldError}}\r\n
\r\n );\r\n };\r\n\r\n const _renderCountrySelect = (name: string, label: string, options: IMaincategories[], required: boolean): JSX.Element => {\r\n return (\r\n
\r\n \r\n {\r\n setCountrySelected(e.target.value);\r\n setValue('Country_CAP', e.target.value, {\r\n shouldDirty: true\r\n });\r\n }}\r\n >\r\n \r\n {options.map(option => {\r\n return (\r\n \r\n );\r\n })}\r\n ;\r\n \r\n {get(errors, name) && {resources.genericFieldError}}\r\n
\r\n );\r\n };\r\n\r\n const onSubmit = async (data: Inputs) => {\r\n if (data.VatNum_CAP && data.VatNum_CAP !== '') {\r\n void validateVatNum_CAPAsync({ callerContext: moduleProps.context?.actionContext }, data.VatNum_CAP, data.Country_CAP).then(\r\n response => {\r\n if (response.Status === true) {\r\n if (data.Country_CAP === 'ITA' && data.FiscalCode_CAP && data.FiscalCode_CAP !== '') {\r\n if (validateFiscalCode(data.FiscalCode_CAP)) {\r\n setDataCompiled(data);\r\n void _capDataSave(moduleProps, data);\r\n moduleState.onReady();\r\n reset(data);\r\n } else {\r\n setError('FiscalCode_CAP', {\r\n message: 'Fiscal Code Num not valid',\r\n shouldFocus: true\r\n });\r\n }\r\n } else {\r\n setDataCompiled(data);\r\n void _capDataSave(moduleProps, data);\r\n moduleState.onReady();\r\n reset(data);\r\n }\r\n } else {\r\n setError('VatNum_CAP', {\r\n message: 'Vat Num not valid',\r\n shouldFocus: true\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n if (data.Country_CAP === 'ITA' && data.FiscalCode_CAP && data.FiscalCode_CAP !== '') {\r\n if (validateFiscalCode(data.FiscalCode_CAP)) {\r\n setDataCompiled(data);\r\n void _capDataSave(moduleProps, data);\r\n moduleState.onReady();\r\n reset(data);\r\n } else {\r\n setError('FiscalCode_CAP', {\r\n message: 'Fiscal Code Num not valid',\r\n shouldFocus: true\r\n });\r\n }\r\n } else {\r\n setDataCompiled(data);\r\n void _capDataSave(moduleProps, data);\r\n moduleState.onReady();\r\n reset(data);\r\n }\r\n }\r\n };\r\n\r\n const _resetForm = () => {\r\n if (dataCompiled?.billing && !billing) {\r\n setBilling(true);\r\n setCountrySelected(dataCompiled.Country_CAP);\r\n setTypeSelected(dataCompiled.Type_CAP);\r\n } else if (dataCompiled && billing) {\r\n setCountrySelected(dataCompiled.Country_CAP);\r\n setTypeSelected(dataCompiled.Type_CAP);\r\n }\r\n moduleState.onReady();\r\n };\r\n\r\n const setData = async () => {\r\n const [dataLoadedFromExtProps, pageRefreshedDataSaved] = await _capDataRender(moduleProps);\r\n if (dataLoadedFromExtProps && pageRefreshedDataSaved && dataLoadedFromExtProps.billing !== undefined) {\r\n setDataCompiled(dataLoadedFromExtProps);\r\n setBilling(dataLoadedFromExtProps.billing);\r\n dataLoadedFromExtProps.Type_CAP && setTypeSelected(dataLoadedFromExtProps.Type_CAP);\r\n dataLoadedFromExtProps.Country_CAP && setCountrySelected(dataLoadedFromExtProps.Country_CAP);\r\n moduleState.onReady();\r\n reset(dataLoadedFromExtProps);\r\n }\r\n };\r\n\r\n // const getUserData = async () => {\r\n // if (customerId) {\r\n // await getInvoiceAccountInfo_CAPAsync({ callerContext: CheckoutInvoice.moduleProps.context?.actionContext }, customerId).then(\r\n // result => {\r\n // // console.log('getInvoiceAccountInfo_CAPAsync');\r\n // // console.log(result);\r\n // }\r\n // );\r\n // }\r\n // };\r\n\r\n if (moduleState.status === 'ready') {\r\n return (\r\n \r\n
\r\n {dataCompiled &&\r\n Object.keys(dataCompiled).map((keyName, i) => (\r\n \r\n {get(dataCompiled, keyName)}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n
\r\n \r\n {shippingCountry && countrriesEU.indexOf(shippingCountry) === -1 && (\r\n

\r\n {props.config.billingLabel}\r\n

\r\n )}\r\n
\r\n {billing && (\r\n <>\r\n {gMapsAutocomplete()}\r\n {customerId && (\r\n
\r\n \r\n
\r\n )}\r\n {_renderTypeSelect('Type_CAP', `${resources.typeLabel}`, invoiceTypeOptions, true)}\r\n {typeSelected !== 0 &&\r\n _renderInput('Street_CAP', `${resources.streetLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 &&\r\n _renderInput('StreetNumber_CAP', `${resources.streetNumberLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 &&\r\n _renderInput('ZipCode_CAP', `${resources.zipCodeLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 && _renderInput('City_CAP', `${resources.cityLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 && _renderCountrySelect('Country_CAP', `${resources.countryLabel}`, countryRegions, true)}\r\n {typeSelected === 2 &&\r\n _renderInput('OrgName_CAP', `${resources.orgNameLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected === 1 &&\r\n _renderInput('FirstName_CAP', `${resources.firstNameLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected === 1 &&\r\n _renderInput('LastName_CAP', `${resources.lastNameLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected === 2 &&\r\n countrriesEU.indexOf(countrySelected) > -1 &&\r\n _renderInput('VatNum_CAP', `${resources.vatNumLabel}`, true, `${resources.vatNumberError}`)}\r\n {typeSelected !== 0 &&\r\n countrySelected === 'ITA' &&\r\n _renderInput(\r\n 'FiscalCode_CAP',\r\n `${resources.fiscalCodeLabel}`,\r\n true,\r\n `${resources.fiscalCodeError}`,\r\n fiscalPattern\r\n )}\r\n {typeSelected !== 0 &&\r\n countrySelected === 'ITA' &&\r\n typeSelected === 2 &&\r\n _renderInput('PEC_CAP', `${resources.pecLabel}`, true, `${resources.genericFieldError}`)}\r\n {typeSelected !== 0 &&\r\n countrySelected === 'ITA' &&\r\n typeSelected === 2 &&\r\n _renderInput('SDI_CAP', `${resources.sdiLabel}`, true, `${resources.genericFieldError}`)}\r\n \r\n )}\r\n
\r\n \r\n {resources.saveContinueBtnLabel}\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n};\r\nexport default CheckoutInvoiceView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILoyaltyBalanceCheckData } from './loyalty-balance-check.data';\r\nimport { ILoyaltyBalanceCheckProps } from './loyalty-balance-check.props.autogenerated';\r\n\r\nexport interface ILoyaltyBalanceCheckViewProps extends ILoyaltyBalanceCheckProps {}\r\n\r\n/**\r\n *\r\n * LoyaltyBalanceCheck component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LoyaltyBalanceCheck extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LoyaltyBalanceCheck;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\nimport * as React from 'react';\r\nimport { ILoyaltyBalanceCheckViewProps } from './loyalty-balance-check';\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\nimport { useForm } from 'react-hook-form';\r\nimport { getLoyaltyCard_DLXAsync } from '../../actions/DataActionExtension.g';\r\n\r\nconst LoyaltyBalanceCheckView: React.FC = props => {\r\n // const user_card_number = (document.getElementById('loyalty-card-input') as HTMLInputElement).value;\r\n const [points, setPoints] = React.useState(-1);\r\n const [tier, setTier] = React.useState('');\r\n\r\n const { register, handleSubmit } = useForm();\r\n\r\n const _submit = async (data: { loyalty_card_number: string; email: string }) => {\r\n // Protip: Check if the loyalty card's associated email address matches with the input one for improved security\r\n // console.log(data.loyalty_card_number);\r\n // console.log(data.email);\r\n\r\n await getLoyaltyCard_DLXAsync({ callerContext: props.context.actionContext }, data.loyalty_card_number, data.email)\r\n .then(result => {\r\n const tmp_card = result[0];\r\n // @ts-ignore\r\n const firstLoyaltyGroup = tmp_card.LoyaltyGroups[0];\r\n const highestTierId = firstLoyaltyGroup.HighestActiveLoyaltyCardTier;\r\n // @ts-ignore\r\n const tierDetails = firstLoyaltyGroup.LoyaltyCardTiers.filter(tier => tier.RecordId === highestTierId)[0];\r\n if (tierDetails.TierId) {\r\n setTier(tierDetails.TierId);\r\n }\r\n const tmp_points = tmp_card.RewardPoints ?? -1;\r\n setPoints(tmp_points[0].ActivePoints ?? -1);\r\n if (typeof window !== undefined) {\r\n const points_div: HTMLDivElement = document.getElementById('points') as HTMLDivElement;\r\n points_div.style.display = 'block';\r\n const scrollIntoViewOptions: ScrollIntoViewOptions = { behavior: 'smooth' };\r\n if (window.innerWidth < 992) {\r\n (document.getElementById('text-p') as HTMLButtonElement).scrollIntoView(scrollIntoViewOptions);\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n setPoints(-1);\r\n if (typeof window !== undefined) {\r\n const points_div: HTMLDivElement = document.getElementById('points') as HTMLDivElement;\r\n points_div.style.display = 'block';\r\n const scrollIntoViewOptions: ScrollIntoViewOptions = { behavior: 'smooth' };\r\n if (window.innerWidth < 992) {\r\n (document.getElementById('text-p') as HTMLButtonElement).scrollIntoView(scrollIntoViewOptions);\r\n }\r\n }\r\n // console.log(error);\r\n });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {props.config.headingText ?

{props.config.headingText}

: null}\r\n\r\n {props.config.paragraphText ? (\r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {props.config.loyaltyCardLabel ? : null}\r\n \r\n
\r\n
\r\n {props.config.emailLabel ? : null}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {props.resources.balanceCheckLabel && props.resources.balanceCheckError ? (\r\n
\r\n {points !== -1 && tier !== '' ? (\r\n

{format(props.resources.balanceCheckLabel, points, tier)}

\r\n ) : (\r\n

{props.resources.balanceCheckError}

\r\n )}\r\n
\r\n ) : null}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default LoyaltyBalanceCheckView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\n\r\nimport { ILoyaltyStoreSignUpData } from './loyalty-store-sign-up.data';\r\nimport { ILoyaltyStoreSignUpProps } from './loyalty-store-sign-up.props.autogenerated';\r\n\r\nexport interface ILoyaltyStoreSignUpViewProps extends ILoyaltyStoreSignUpProps {}\r\n\r\n/**\r\n *\r\n * LoyaltyStoreSignUp component\r\n * @extends {React.PureComponent>}\r\n */\r\nclass LoyaltyStoreSignUp extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n return this.props.renderView(this.props);\r\n }\r\n}\r\n\r\nexport default LoyaltyStoreSignUp;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport * as React from 'react';\r\nimport { ILoyaltyStoreSignUpViewProps } from './loyalty-store-sign-up';\r\nimport { useForm } from 'react-hook-form';\r\nimport * as MsDyn365 from '@msdyn365-commerce/core';\r\nimport { signUp_DLXAsync } from '../../actions/DataActionExtension.g';\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\n\r\nconst LoyaltyStoreSignUpView: React.FC = props => {\r\n const {\r\n loyaltyStoreSignUpMandatoryAgreement,\r\n additionalFieldsHeading,\r\n birthdaySubtext,\r\n postalCodeSubtext,\r\n phoneNumberSubtext,\r\n // loyaltyVCLUBDetailsLinkText,\r\n feedbackAlreadySubscribed,\r\n feedbackCardBeingGenerated,\r\n feedbackSuccess,\r\n privacyPolicyURL,\r\n textGenericMarketing\r\n } = props.config;\r\n\r\n // const { loyaltyStoreSignUpSubmitButtonLabel, htmlGenericMarketing, htmlProfiling, htmlThirdParty, feedbackErrorText } = props.resources;\r\n const {\r\n loyaltyStoreSignUpSubmitButtonLabel,\r\n htmlGenericMarketing,\r\n htmlProfiling,\r\n htmlThirdParty,\r\n birthdayLabelText,\r\n addressZipCodeLabelOptional,\r\n phoneLabelText,\r\n emailAddressLabelText,\r\n emailErrortext,\r\n feedbackErrorText\r\n } = props.resources;\r\n\r\n type FormInputs = {\r\n country: string;\r\n email: string;\r\n phone_number: string;\r\n marketing: boolean;\r\n profiling: boolean;\r\n };\r\n\r\n const {\r\n register,\r\n watch,\r\n handleSubmit,\r\n formState: { errors }\r\n } = useForm({\r\n mode: 'onChange'\r\n });\r\n\r\n // if (!(errors && Object.keys(errors).length === 0 && Object.getPrototypeOf(errors) === Object.prototype)) {\r\n // console.log('ERROR');\r\n // console.log(errors);\r\n // }\r\n\r\n const [loading, setLoading] = React.useState(false);\r\n const [disabled_state, setDisabled] = React.useState(false);\r\n const check_ref = React.useRef(null);\r\n const [subscribeMessage, setSubscribeMessage] = React.useState({\r\n state: false,\r\n message: '',\r\n class: ''\r\n });\r\n\r\n const query_dict = props.context.request.query as Object;\r\n const queryParameter = Object.keys(query_dict)[0];\r\n const store_code = Object.values(query_dict)[0];\r\n const store_kiosk = Object.keys(query_dict).indexOf('kiosk') > -1 ? true : false;\r\n\r\n const euHostname = 'eu.venchi.com';\r\n const localeString = props?.context?.request?.locale ? props?.context?.request?.locale?.toLowerCase() : '';\r\n const [unchecked_state, setUncheckedState] = React.useState(localeString !== 'en-us');\r\n const sitePath = props?.context?.request?.sitePath ? props?.context?.request?.sitePath?.substring(1) : '';\r\n const hostname = props?.context?.request?.url?.requestUrl?.hostname || '';\r\n // const loyalty_URL = `https://${hostname}/${sitePath}/loyalty?hasJoined=true`;\r\n let regionCRM: string;\r\n if (hostname.toLowerCase() === euHostname && sitePath === '') {\r\n regionCRM = 'eu';\r\n } else {\r\n regionCRM = localeString;\r\n }\r\n\r\n const watchEmail = watch('email');\r\n\r\n const _submit = async (data: any) => {\r\n setDisabled(true);\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n setLoading(true);\r\n let birthday_slash: string = data.birthday;\r\n birthday_slash = birthday_slash.replace('-', '/').replace('-', '/');\r\n if (localeString === 'en-us' && data.birthday !== '') {\r\n birthday_slash = `${birthday_slash}/1900`;\r\n }\r\n let message: string;\r\n\r\n const context = props.context;\r\n await signUp_DLXAsync(\r\n { callerContext: context.actionContext },\r\n '',\r\n '',\r\n data.email,\r\n localeString !== 'en-us' ? data.phone_number : `+1${data.phone_number}`,\r\n true,\r\n data.marketing,\r\n localeString !== 'en-us' ? data.profiling : data.marketing,\r\n localeString !== 'en-us' ? data.thirdparty : false,\r\n localeString,\r\n birthday_slash,\r\n data.postal_code,\r\n store_code ? `Store_${store_code}` : 'Store_fallback',\r\n regionCRM\r\n )\r\n .then(result => {\r\n if (result.Error !== '') {\r\n throw new Error(result.Error);\r\n } else if (result.CustomerGUID?.length !== 0) {\r\n // Brand new email\r\n message = feedbackSuccess ?? 'Thank you! Please check your email';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'success'\r\n });\r\n } else if (result.AccountNum?.length === 36) {\r\n // This user is not synced yet, so they still have a temporary GUID, e.g. 278ef388-f813-449b-b7ac-721169659675\r\n // New email but already generating the loyalty\r\n throw new Error('generating');\r\n } else if (result.AccountNum?.length === 10) {\r\n // This user is synced already, so they have an FO account number, e.g. FC12345678\r\n // If the following array is NOT empty and OOUID is NOT 0, the synced user did NOT have a Loyalty card yet\r\n if (result.LoyaltyCards!.length > 0 && result.LoyaltyCards![0].OmOperatingUnitId !== 0) {\r\n // Old email, new loyalty\r\n message = feedbackSuccess ?? 'Thank you! Please check your email';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'success'\r\n });\r\n } else {\r\n // Synced user with an existing loyalty card\r\n throw new Error('already_existing');\r\n }\r\n }\r\n setLoading(false);\r\n if (store_kiosk && !result.Error) {\r\n setTimeout(() => {\r\n window.location.href = `https://${hostname}/${\r\n sitePath ? `${sitePath}/` : ''\r\n }loyalty-region-selection?${queryParameter}=${store_code}&kiosk=true`;\r\n }, 5000);\r\n }\r\n })\r\n .catch(err => {\r\n switch (err.message) {\r\n case 'generating':\r\n message = feedbackCardBeingGenerated ?? 'Your card is already being generated, thank you for your patience.';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'generic'\r\n });\r\n break;\r\n case 'already_existing':\r\n message = feedbackAlreadySubscribed ?? 'The inserted email is already subscribed to our loyalty program.';\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'error'\r\n });\r\n break;\r\n default:\r\n message = feedbackErrorText;\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'error'\r\n });\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const mm_dd: RegExp = /(0[1-9]|1[0-2])\\/(0[1-9]|[1-2][0-9]|3[0-1])/gm;\r\n return (\r\n
\r\n {!subscribeMessage.state ? (\r\n
\r\n {loading ?
: }\r\n
\r\n {emailAddressLabelText && emailErrortext ? (\r\n
\r\n \r\n \r\n {/* {watchEmail && watchEmail.includes('@') && watchEmail.endsWith('.con') && (\r\n <>\r\n

\r\n Maybe you meant {watchEmail.slice(0, -3)}\r\n com  \r\n

\r\n \r\n )} */}\r\n {/* For future scalability: Array with forbidden domains and .any in the endsWith? */}\r\n {(errors.email || (watchEmail && watchEmail.endsWith('.con'))) && (\r\n {emailErrortext}\r\n )}\r\n
\r\n ) : null}\r\n\r\n {phoneLabelText && localeString === 'en-us' ? (\r\n
\r\n \r\n
\r\n
\r\n +1\r\n
\r\n {\r\n if (typeof window !== undefined) {\r\n const this_thing = document.getElementById('phone_number') as HTMLInputElement;\r\n this_thing.maxLength = 16;\r\n }\r\n }}\r\n ref={register({ required: true, maxLength: 16 })}\r\n // ref={\r\n // localeString === 'en-us'\r\n // ? register({\r\n // required: true,\r\n // pattern: /^\\\\ ( [2-9] {1} [0-9] {2}\\\\) [ ]? [0-9] {3}[-]?[0-9] {4}$/,\r\n // maxLength: 15\r\n // })\r\n // : register({ required: false, maxLength: 15 })\r\n // }\r\n />\r\n
\r\n {errors.phone_number && (\r\n {emailErrortext.replace('email', 'phone number')}\r\n )}\r\n {phoneNumberSubtext ?

{phoneNumberSubtext}

: null}\r\n
\r\n ) : null}\r\n\r\n {htmlGenericMarketing && privacyPolicyURL ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {htmlProfiling && privacyPolicyURL && localeString !== 'en-us' ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n\r\n {htmlThirdParty && privacyPolicyURL && localeString !== 'en-us' ? (\r\n
\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n\r\n
\r\n {additionalFieldsHeading ?

{additionalFieldsHeading}

: null}\r\n\r\n {phoneLabelText && localeString !== 'en-us' ? (\r\n
\r\n \r\n {\r\n if (typeof window !== undefined) {\r\n const this_thing = document.getElementById('phone_number') as HTMLInputElement;\r\n this_thing.maxLength = 15;\r\n }\r\n }}\r\n ref={register({ required: false, maxLength: 15 })}\r\n />\r\n {/* {errors.phone_number && (\r\n {emailErrortext.replace('email', 'phone number')}\r\n )} */}\r\n {phoneNumberSubtext ?

{phoneNumberSubtext}

: null}\r\n
\r\n ) : null}\r\n\r\n {localeString !== 'en-us'\r\n ? birthdayLabelText && (\r\n
\r\n \r\n \r\n {birthdaySubtext ?

{birthdaySubtext}

: null}\r\n
\r\n )\r\n : birthdayLabelText && (\r\n // TODO Better validation for US\r\n
\r\n \r\n {/* Protip: Custom error messages https://legacy.react-hook-form.com/v6/api/#register */}\r\n {\r\n if (typeof window !== undefined) {\r\n const birthday_proxy: HTMLInputElement = document.getElementById(\r\n 'birthday'\r\n ) as HTMLInputElement;\r\n const birthday: HTMLInputElement = document.getElementById('bday') as HTMLInputElement;\r\n birthday_proxy.maxLength = 5;\r\n birthday_proxy.onchange = () => {\r\n birthday.value = `1900/${birthday_proxy.value}`;\r\n };\r\n }\r\n }}\r\n ref={register({\r\n required: false,\r\n maxLength: 5,\r\n pattern: mm_dd\r\n })}\r\n />\r\n \r\n {birthdaySubtext ?

{birthdaySubtext}

: null}\r\n
\r\n )}\r\n\r\n {addressZipCodeLabelOptional ? (\r\n
\r\n \r\n {\r\n if (typeof window !== undefined) {\r\n const this_thing = document.getElementById('postal_code') as HTMLInputElement;\r\n this_thing.maxLength = 9;\r\n }\r\n }}\r\n ref={register({ required: false, maxLength: 9 })}\r\n />\r\n {postalCodeSubtext ?

{postalCodeSubtext}

: null}\r\n
\r\n ) : null}\r\n
\r\n\r\n {localeString !== 'en-us' ? (\r\n // EMEA\r\n loyaltyStoreSignUpMandatoryAgreement ? (\r\n
\r\n {\r\n setUncheckedState(!check_ref.current?.checked!);\r\n }}\r\n />\r\n {/* @ts-ignore */}\r\n
\r\n ) : null\r\n ) : // US\r\n loyaltyStoreSignUpMandatoryAgreement ? (\r\n
\r\n {/* TODO change to MsDyn365.RichTextComponent to avoid setHTML? */}\r\n
\r\n
\r\n ) : null}\r\n\r\n
\r\n \r\n {loading && loyaltyStoreSignUpSubmitButtonLabel ? (\r\n
\r\n ) : (\r\n {loyaltyStoreSignUpSubmitButtonLabel}\r\n )}\r\n \r\n
\r\n \r\n ) : (\r\n
\r\n {/*

DEBUG test Protip if kiosk error something like show this to a sales assistant in the store

*/}\r\n

{subscribeMessage.message}

\r\n {/* {!store_kiosk && loyaltyVCLUBDetailsLinkText && subscribeMessage.class !== 'error' ? (\r\n {loyaltyVCLUBDetailsLinkText}\r\n ) : null} */}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default LoyaltyStoreSignUpView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { RichTextComponent } from '@msdyn365-commerce/core';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { INewsletterBlockProps } from './newsletter-block.props.autogenerated';\r\nimport { format } from '@msdyn365-commerce-modules/utilities';\r\n\r\nexport interface INewsletterBlockViewProps extends INewsletterBlockProps<{}> {\r\n paragraph?: React.ReactNode;\r\n privacyTextM?: React.ReactNode;\r\n privacyTextP?: React.ReactNode;\r\n privacyTextT?: React.ReactNode;\r\n source?: React.ReactNode;\r\n className?: string;\r\n}\r\n\r\n/**\r\n *\r\n * NewsletterBlock component\r\n */\r\nclass NewsletterBlock extends React.PureComponent> {\r\n public render(): JSX.Element | null {\r\n const localeString = this.props?.context?.request?.locale ? this.props?.context?.request?.locale?.toLowerCase() : '';\r\n\r\n const { paragraph, privacyTextM, className, privacyPolicyURL } = this.props.config;\r\n let { htmlGenericMarketing, htmlProfiling, htmlThirdParty } = this.props.resources;\r\n\r\n htmlGenericMarketing = `

${format(htmlGenericMarketing, privacyPolicyURL)}

`;\r\n htmlProfiling = `

${format(htmlProfiling, privacyPolicyURL)}

`;\r\n htmlThirdParty = `

${format(htmlThirdParty, privacyPolicyURL)}

`;\r\n\r\n const text = paragraph && ;\r\n\r\n const textPrivacyTextM = privacyTextM && (\r\n \r\n );\r\n const textPrivacyTextP = htmlProfiling && ;\r\n const textPrivacyTextT = htmlThirdParty && ;\r\n\r\n const newsletterBlockViewProps = {\r\n ...this.props,\r\n paragraph: text,\r\n privacyTextM: textPrivacyTextM,\r\n privacyTextP: textPrivacyTextP,\r\n privacyTextT: textPrivacyTextT,\r\n className: classnames('ms-newsletter-block', className)\r\n };\r\n return this.props.renderView(newsletterBlockViewProps) as React.ReactElement;\r\n }\r\n}\r\nexport default NewsletterBlock;\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * INewsletterBlock contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum position {\r\n Page = 'Page',\r\n Popup = 'Popup',\r\n Footer = 'Footer'\r\n}\r\n\r\nexport const enum customExternalAPI {\r\n D365 = 'D365',\r\n External = 'External'\r\n}\r\n\r\nexport const enum source {\r\n CommerceSubscriberEU = 'CommerceSubscriberEU',\r\n CommerceSubscribersUS = 'CommerceSubscribersUS',\r\n RetailEU = 'RetailEU',\r\n RetailUS = 'RetailUS'\r\n}\r\n\r\nexport interface INewsletterBlockConfig extends Msdyn365.IModuleConfig {\r\n paragraph?: Msdyn365.RichText;\r\n privacyTextM?: Msdyn365.RichText;\r\n requiredMarketingError?: string;\r\n className?: string;\r\n position: position;\r\n customExternalAPI?: customExternalAPI;\r\n externalApiURL?: string;\r\n externalThankYouMessage?: string;\r\n source: source;\r\n preflagMarketing?: boolean;\r\n preflagProfiling?: boolean;\r\n preflagThirdParty?: boolean;\r\n hideMarketing?: boolean;\r\n hideProfiling?: boolean;\r\n hideThirdParty?: boolean;\r\n privacyPolicyURL?: string;\r\n}\r\n\r\nexport interface INewsletterBlockResources {\r\n alreadySubscribedText: string;\r\n verifyEmailText: string;\r\n yourEmailAddressText: string;\r\n subscribeBtnText: string;\r\n htmlGenericMarketing: string;\r\n htmlProfiling: string;\r\n htmlThirdParty: string;\r\n}\r\n\r\nexport interface INewsletterBlockProps extends Msdyn365.IModule {\r\n resources: INewsletterBlockResources;\r\n config: INewsletterBlockConfig;\r\n}\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport * as React from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { signUp_DLXAsync } from '../../actions/DataActionExtension.g';\r\nimport { INewsletterBlockViewProps } from './newsletter-block';\r\nimport { customExternalAPI as customeExternalAPIType } from './newsletter-block.props.autogenerated';\r\n\r\nexport interface ExternalPayload {\r\n email: string;\r\n marketing: boolean;\r\n profiling: boolean;\r\n thirdparty: boolean;\r\n message?: string;\r\n}\r\n\r\nconst NewsletterBlockView: React.FC = props => {\r\n const euHostname = 'eu.venchi.com';\r\n const localeString = props?.context?.request?.locale ? props?.context?.request?.locale?.toLowerCase() : '';\r\n const sitePath = props?.context?.request?.sitePath ? props?.context?.request?.sitePath?.substring(1) : '';\r\n // const currency = props?.context?.request?.channel?.Currency;\r\n // const locale = sitePath !== '' ? sitePath : currency === 'EUR' && localeString === 'en-gb' ? 'eu' : localeString;\r\n const hostname = props?.context?.request?.url?.requestUrl?.hostname || '';\r\n let regionCRM: string;\r\n if (hostname.toLowerCase() === euHostname && sitePath === '') {\r\n regionCRM = 'eu';\r\n } else {\r\n regionCRM = localeString;\r\n }\r\n type Inputs = {\r\n email: string;\r\n marketing: boolean;\r\n profiling: boolean;\r\n thirdParts: boolean;\r\n };\r\n // const { register, handleSubmit, watch, errors } = useForm();\r\n const { register, handleSubmit, errors } = useForm();\r\n // const marketingChoice: boolean = watch('marketing');\r\n const [loading, setLoading] = React.useState(false);\r\n const [disabled_state, setDisabled] = React.useState(false);\r\n\r\n const customExternalAPI = props?.config?.customExternalAPI;\r\n const externalApiURL = props.config.externalApiURL ?? '';\r\n const externalThankYouMessage = props.config.externalThankYouMessage ?? '';\r\n const useExternalAPI = (externalApiURL && customExternalAPI === customeExternalAPIType.External) ?? false;\r\n\r\n let message = props.resources.verifyEmailText;\r\n // const channelId: number = props.context.request.apiSettings.channelId;\r\n const [subscribeMessage, setSubscribeMessage] = React.useState({\r\n state: false,\r\n message: '',\r\n class: ''\r\n });\r\n\r\n let source: string;\r\n switch (props.config.source?.toString()) {\r\n case 'CommerceSubscriberEU':\r\n source = 'Commerce Subscriber EU';\r\n break;\r\n case 'CommerceSubscribersUS':\r\n source = 'Commerce Subscribers US';\r\n break;\r\n case 'RetailEU':\r\n source = 'Retail EU';\r\n break;\r\n case 'RetailUS':\r\n source = 'Retail US';\r\n break;\r\n }\r\n\r\n const _subscribeToNL = async (data: Inputs) => {\r\n setDisabled(true);\r\n setLoading(true);\r\n signUp_DLXAsync(\r\n { callerContext: props.context?.actionContext },\r\n '',\r\n '',\r\n data.email,\r\n '',\r\n false,\r\n data.marketing,\r\n localeString !== 'en-us' ? data.profiling : data.marketing,\r\n data.thirdParts,\r\n localeString,\r\n '',\r\n '',\r\n source,\r\n regionCRM\r\n )\r\n .then(result => {\r\n message = result.Error\r\n ? result.Error === 'already_subscribed'\r\n ? props.resources.alreadySubscribedText\r\n : result.Error\r\n : message;\r\n setLoading(false);\r\n setSubscribeMessage({\r\n state: true,\r\n message: message,\r\n class: 'success'\r\n });\r\n // @ts-ignore\r\n window.dataLayer?.push?.({\r\n event: 'gaEvent',\r\n eventCategory: 'newsletter',\r\n eventAction: 'subscription',\r\n //@ts-ignore\r\n eventLabel: props.config.position\r\n });\r\n })\r\n .catch(error => {\r\n message = error.message;\r\n setLoading(false);\r\n setSubscribeMessage({\r\n state: true,\r\n message: error.message,\r\n class: 'error'\r\n });\r\n });\r\n };\r\n\r\n function postJson(url: string, data: any): Promise {\r\n return fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(data)\r\n })\r\n .then(response => {\r\n if (!response.ok) {\r\n throw new Error(`HTTP error! Status: ${response.status}`);\r\n }\r\n return response.status;\r\n })\r\n .catch(error => {\r\n console.error('Error:', error);\r\n throw error;\r\n });\r\n }\r\n\r\n const _externalSubscribeToNL = async (data: Inputs) => {\r\n setLoading(true);\r\n const payload: ExternalPayload = {\r\n email: data.email,\r\n marketing: data.marketing,\r\n profiling: data.profiling,\r\n thirdparty: data.thirdParts\r\n };\r\n postJson(externalApiURL, payload)\r\n .then(result => {\r\n console.log(result);\r\n setLoading(false);\r\n setSubscribeMessage({\r\n state: true,\r\n message: externalThankYouMessage,\r\n class: 'success'\r\n });\r\n })\r\n .catch(error => {\r\n message = error.message;\r\n setLoading(false);\r\n setSubscribeMessage({\r\n state: true,\r\n message: error.message,\r\n class: 'error'\r\n });\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {props.paragraph}\r\n {subscribeMessage.state === false ? (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n {subscribeMessage.message}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default NewsletterBlockView;\r\n","/*---------------------------------------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n *--------------------------------------------------------------------------------------------*/\r\nimport { ICartlinesViewProps, ICartResources, ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart';\r\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\r\nimport {\r\n Button,\r\n getPayloadObject,\r\n getTelemetryAttributes,\r\n INodeProps,\r\n ITelemetryContent,\r\n Node,\r\n TelemetryConstant\r\n} from '@msdyn365-commerce-modules/utilities';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { IActionContext } from '@msdyn365-commerce/core';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport * as React from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { ICartResources as ICartResourcesExt } from '../definition-extensions/cart.ext.props.autogenerated';\r\nimport { getPromotionOptionsForCartLineItems, PromotionOptionsForCartLineItems } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { CartPromotionLine, CommerceProperty } from '@msdyn365-commerce/retail-proxy';\r\nimport { find } from 'lodash';\r\n\r\ninterface IPromotionData {\r\n promotionOptions?: CartPromotionLine[];\r\n}\r\n\r\ninterface ICartViewPropsExt extends ICartViewProps {\r\n resources: ICartResourcesExt;\r\n}\r\n\r\ninterface AvailablePromotionsProps {\r\n props: ICartViewPropsExt;\r\n}\r\n\r\nconst CartView: React.FC = (props: ICartViewPropsExt) => {\r\n const locale = props.context.request.locale;\r\n return (\r\n
\r\n {props.title}\r\n
\r\n {props.multiplePickUpEnabled ? (\r\n _renderCartLinesGroup(props, props.resources)\r\n ) : (\r\n \r\n \r\n {_renderCartlines(\r\n props.cartlines,\r\n props.resources,\r\n props.storeSelector,\r\n props.backToShoppingButton,\r\n props.waitingComponent,\r\n props.cartLoadingStatus,\r\n props.cartDataResult,\r\n props.telemetryContent,\r\n props.multiplePickUpEnabled,\r\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode,\r\n )}\r\n {_renderAddGreetingMessage(props)}\r\n \r\n )}\r\n
\r\n {props.orderSummaryHeading && (\r\n \r\n {props.orderSummaryHeading}\r\n {_renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props, locale)}\r\n {_renderErrorBlock(props.OrderSummaryErrors)}\r\n {props.checkoutAsSignInUserButton}\r\n {props.checkoutAsGuestButton}\r\n {props.expressCheckoutButton && ArrayExtensions.hasElements(props.expressCheckoutButton) ? (\r\n {props.expressCheckoutButton}\r\n ) : null}\r\n {props.backToShoppingButton}\r\n {props.createTemplateFromCartButton}\r\n \r\n )}\r\n {props.storeSelector}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst AvailablePromotions: React.FC = ({ props }) => {\r\n const [promotionsArray, setPromotionsArray] = React.useState([]);\r\n React.useEffect(() => {\r\n retrievePromotions(props, setPromotionsArray);\r\n }, []);\r\n\r\n if (props && props.promotionOptions && promotionsArray.length >= 1) {\r\n return (\r\n \r\n \r\n \r\n {props.resources.promotionStringHeading}\r\n
    \r\n {promotionsArray.map(function (text: string, index: number) {\r\n return
  • {text}
  • ;\r\n })}\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n};\r\n\r\nconst retrievePromotions = async (cartProps: ICartViewProps, setPromotions: any) => {\r\n var tmpArray: string[] = [];\r\n const currentPromotions = await getPromotionData(cartProps.context?.actionContext);\r\n currentPromotions.promotionOptions?.forEach(element => {\r\n if (element.Promotion) {\r\n let offerDesc = '';\r\n try {\r\n const offerDescriptions = JSON.parse(element.Promotion.Description || '{}');\r\n const currentLanguage = cartProps.context.request.locale; // Function to get the current language\r\n offerDesc = offerDescriptions[currentLanguage.toLowerCase()] || offerDescriptions[\"it\"] || '';\r\n } catch (e) {\r\n // If JSON parsing fails, use the OfferDescription as is, split on the colon\r\n if (element.Promotion.Description) {\r\n offerDesc = element.Promotion.Description;\r\n }\r\n }\r\n offerDesc = offerDesc || element.Promotion.OfferName || '';\r\n if (offerDesc) {\r\n tmpArray.push(offerDesc);\r\n }\r\n }\r\n });\r\n setPromotions(tmpArray);\r\n};\r\n\r\nasync function getPromotionData(ctx: IActionContext): Promise {\r\n const promotionData: IPromotionData = {};\r\n await getPromotionOptionsForCartLineItems(new PromotionOptionsForCartLineItems(ctx.requestContext.apiSettings), ctx)\r\n .then(promotionOptions => {\r\n if (promotionOptions) {\r\n promotionData.promotionOptions = promotionOptions;\r\n }\r\n })\r\n .catch(error => {\r\n ctx.telemetry.exception(error);\r\n return {};\r\n });\r\n return promotionData;\r\n}\r\n\r\nconst _renderAddGreetingMessage = (props: ICartViewPropsExt) => {\r\n type Inputs = {\r\n message: string;\r\n sign: string;\r\n };\r\n\r\n const { register, handleSubmit, reset, setValue } = useForm();\r\n // prettier-ignore\r\n // @ts-ignore\r\n const extPropsToRemove = props?.cart?.cart?.ExtensionProperties?.filter((fieldVal: { Key: string }) => fieldVal.Key === 'ExtPropsRemove_CAP')[0]?.Value?.BooleanValue;\r\n const noCartLines = (!props?.cart?.cart?.CartLines || props?.cart?.cart?.CartLines.length === 0);\r\n // prettier-ignore\r\n // @ts-ignore\r\n const greetingMessageCAP = (noCartLines || extPropsToRemove) ? '' : props?.cart?.cart?.ExtensionProperties?.filter((greetingVal: { Key: string }) => greetingVal.Key === 'GreetingMessage_CAP')[0]?.Value?.StringValue;\r\n // prettier-ignore\r\n // @ts-ignore\r\n const greetingSignCAP = (noCartLines || extPropsToRemove) ? '' : props?.cart?.cart?.ExtensionProperties?.filter((greetingVal: { Key: string }) => greetingVal.Key === 'GreetingSign_CAP')[0]?.Value?.StringValue;\r\n\r\n // @ts-ignore\r\n const setRemoveData = async (cartprops: ICartViewProps) => {\r\n // prettier-ignore\r\n // @ts-ignore\r\n const currentCartState = await getCartState(cartprops.context?.actionContext);\r\n // const currentCartState = props?.cart;\r\n const extProps = currentCartState?.cart?.ExtensionProperties;\r\n const extPropsToEmpty = [];\r\n // const cartLines = currentCartState?.cart?.CartLines;\r\n // if (extPropsToRemove === true || !cartLines || (cartLines && cartLines.length === 0)) {\r\n if (extPropsToRemove === true) {\r\n const extKeysToRemove = ['ActiveCartId_CAP', 'CheckoutCartId_CAP', 'GreetingMessage_CAP', 'GreetingSign_CAP', 'billing', 'Type_CAP', 'Country_CAP', 'City_CAP', 'ZipCode_CAP', 'OrgName_CAP',\r\n 'VatNum_CAP', 'FiscalCode_CAP', 'PEC_CAP', 'SDI_CAP', 'InvoiceCustAccount_CAP', 'Street_CAP', 'StreetNumber_CAP', 'FirstName_CAP', 'LastName_CAP'];\r\n\r\n if (extProps) {\r\n for (const propToRemove of extKeysToRemove) {\r\n if (find(extProps, obj => obj.Key === propToRemove)) {\r\n extPropsToEmpty.push({\r\n Key: propToRemove,\r\n Value: {}\r\n });\r\n }\r\n }\r\n if (extPropsToRemove === true) {\r\n extPropsToEmpty.push({\r\n Key: 'ExtPropsRemove_CAP',\r\n Value: {\r\n BooleanValue: false\r\n }\r\n });\r\n }\r\n }\r\n if (currentCartState && extPropsToEmpty.length !== 0) {\r\n await currentCartState.updateExtensionProperties({ newExtensionProperties: extPropsToEmpty });\r\n }\r\n // else {\r\n // console.log(\"no extension property to clean found\");\r\n // }\r\n } else {\r\n setValue('message', greetingMessageCAP, { shouldDirty: true });\r\n setValue('sign', greetingSignCAP, { shouldDirty: true });\r\n }\r\n };\r\n React.useEffect(() => {\r\n void setRemoveData(props);\r\n }, []);\r\n const [greetingsState, setGreetingsState] = React.useState({\r\n isCompiled: (greetingMessageCAP && greetingMessageCAP !== '') || (greetingSignCAP && greetingSignCAP !== '') ? true : false,\r\n isEditing: false\r\n });\r\n const [greeting, setGreeting] = React.useState({\r\n message: greetingMessageCAP && greetingMessageCAP !== '' ? greetingMessageCAP : '',\r\n sign: greetingSignCAP && greetingSignCAP !== '' ? greetingSignCAP : ''\r\n });\r\n\r\n const greetingsTrigger = () => {\r\n setGreetingsState(greetingsState => ({\r\n ...greetingsState,\r\n isEditing: !greetingsState.isEditing\r\n }));\r\n };\r\n\r\n const updateExtProps = async (data: Inputs, cartProps: ICartViewProps) => {\r\n const addGreeting = [\r\n {\r\n Key: 'GreetingMessage_CAP',\r\n Value: {\r\n StringValue: data.message\r\n }\r\n },\r\n {\r\n Key: 'GreetingSign_CAP',\r\n Value: {\r\n StringValue: data.sign\r\n }\r\n }\r\n ];\r\n\r\n const currentCartState = await getCartState(cartProps.context?.actionContext);\r\n await currentCartState.updateExtensionProperties({ newExtensionProperties: addGreeting });\r\n await currentCartState.refreshCart({});\r\n };\r\n\r\n const _addMessCart = async (data: Inputs) => {\r\n setGreeting(() => ({\r\n message: data.message,\r\n sign: data.sign\r\n }));\r\n if (data.message !== '' || data.sign !== '') {\r\n setGreetingsState(() => ({\r\n isCompiled: true,\r\n isEditing: false\r\n }));\r\n } else {\r\n setGreetingsState(() => ({\r\n isCompiled: false,\r\n isEditing: false\r\n }));\r\n }\r\n\r\n await updateExtProps(data, props);\r\n };\r\n\r\n const resetGreeting = () => {\r\n reset({ message: greeting.message, sign: greeting.sign });\r\n setGreetingsState(() => ({\r\n isCompiled: true,\r\n isEditing: false\r\n }));\r\n };\r\n const changeGreeting = () => {\r\n setGreetingsState(() => ({\r\n isCompiled: false,\r\n isEditing: true\r\n }));\r\n };\r\n const removeGreeting = async () => {\r\n reset({ message: '', sign: '' });\r\n setGreetingsState(() => ({\r\n isCompiled: false,\r\n isEditing: false\r\n }));\r\n await updateExtProps({ message: '', sign: '' }, props);\r\n };\r\n return (\r\n \r\n

\r\n \r\n {props.resources.addGreetingText}\r\n

\r\n
\r\n
\r\n
\r\n \r\n