{"version":3,"file":"876.js","mappings":"6QAaMA,EAAY,IAAIC,gBAAgBC,OAAOC,SAASC,QAEvC,SAASC,EAAeC,GAOpC,IANFC,EAASD,EAATC,UACAC,EAAiBF,EAAjBE,kBACAC,EAAaH,EAAbG,cACAC,EAAaJ,EAAbI,cACAC,EAAqBL,EAArBK,sBAAqBC,EAAAN,EACrBO,QAAAA,OAAO,IAAAD,GAAQA,EAEfE,GAAYC,EAAAA,EAAAA,KAALC,GAAqBC,EAAAA,EAAAA,GAAAH,EAAA,GAApB,GAERI,GAAgCC,EAAAA,EAAAA,UAASnB,EAAUoB,IAAI,aAAe,IAAGC,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAAlEI,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5BG,GAAgCL,EAAAA,EAAAA,UAAS,IAAGM,GAAAR,EAAAA,EAAAA,GAAAO,EAAA,GAArCE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5BG,GAAoEC,EAAAA,EAAAA,KAA5DC,EAAkBF,EAAlBE,mBAAoBC,EAAmCH,EAAnCG,oCAEtBC,GAAqBC,EAAAA,EAAAA,cAC1B,SAACC,GAEA,GADAA,EAAEC,iBACEb,GAAYI,EAAU,CACzB,IAAIU,EAAmBd,EACnBtB,EAAUqC,IAAI,qBACjBD,EAAmB,GAAHE,OAAMF,EAAiBG,QAAQ,IAAK,KAAI,KAAAD,OAAItC,EAAUoB,IACrE,sBAESpB,EAAUqC,IAAI,oBAAsBf,EAASkB,SAAS,OAChEJ,EAAmB,GAAHE,OAAMF,EAAiBK,OAAM,KAAAH,OAAItC,EAAUoB,IAAI,qBAE3DE,EAASkB,SAAS,MAAQV,IAC9BM,EAAmB,GAAHE,OAAMhB,EAAQ,KAAAgB,OAAIR,IAEnCtB,EAAkB4B,EAAkBV,EACrC,CACD,GACA,CAACJ,EAAUI,EAAUI,EAAoBtB,IAGpCkC,GAAgBT,EAAAA,EAAAA,cAAY,WACjC/B,OAAOC,SAASwC,OAAO,0CAADL,OACqB7B,EAAcmC,gBAE1D,GAAG,CAACnC,IACEoC,GAAaC,EAAAA,EAAAA,UAAQ,WAC1B,OAAIrC,EAAcsC,YAAYP,SAAS,QAErCQ,EAAAA,cAACC,EAAAA,GAAM,CACNC,KAAK,WACL,cAAY,YACZC,MAAOnC,EAAE,aAAc,cACvBoC,MAAM,UACNC,SAAU3C,EACV4C,QAASZ,IAMXM,EAAAA,cAAA,OAAKO,MAAO,CAAEC,UAAW,QAE3B,GAAG,CAAC/C,EAAeC,EAAegC,EAAe1B,IAE3CyC,GAAsBxB,EAAAA,EAAAA,cAC3B,SAACC,GACAA,EAAEC,iBACFxB,GACD,GACA,CAACA,IAGI+C,GAAgBZ,EAAAA,EAAAA,UAAQ,WAC7B,OAAQxB,SAAAA,EAAUkB,SAAS,OAAQV,EAW/B,KAVHkB,EAAAA,cAACW,EAAAA,GAAO,CAACC,UAAU,MAAMT,MAAK,IAAAb,OAAMR,GAAsB+B,KAAK,SAC9Db,EAAAA,cAACc,EAAAA,GAAI,CACJV,MAAM,YACNS,KAAK,QACLE,OAAO,QACPR,MAAO,CAAES,UAAW,UAAWC,SAAU,aACzC,IACEnC,GAIN,GAAG,CAACR,EAAUQ,IAEd,OACCkB,EAAAA,cAAA,QACCkB,SAAU,SAAChC,GAAC,OAAKA,EAAEC,gBAAgB,EACnCoB,MAAO,CAAEY,MAAO,QAChB,cAAY,oBAEZnB,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEC,OAAQ,UACvBtB,EAAAA,cAACuB,EAAAA,GAAK,CACLC,aAAclD,EACd+B,SAAU3C,EACV,cAAY,WACZ+D,SAAU,SAACvC,GAAC,OAAKX,EAAYW,EAAEwC,OAAOC,MAAM,EAC5CC,WAAYrE,EACZsE,aAAa,WACb1B,MAAOnC,EAAE,WAAY,YACrB8D,gBAAgB,QAChBC,WAAY,kBAAMrB,CAAa,KAGjCV,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEC,OAAQ,UACvBtB,EAAAA,cAACgC,EAAAA,GAAa,CACbR,aAAc9C,EACd2B,SAAU3C,EACV,cAAY,WACZ+D,SAAU,SAACvC,GAAC,OAAKP,EAAYO,EAAEwC,OAAOC,MAAM,EAC5CC,WAAYrE,EACZsE,aAAa,WACb1B,MAAOnC,EAAE,WAAY,YACrB8D,gBAAgB,WAGlB9B,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxC1E,GAAayC,EAAAA,cAAA,YAEfA,EAAAA,cAACoB,EAAAA,GAAG,CACHc,YAAY,WACZC,eAAe,aACfd,QAAS,CAAEC,OAAQ,QAASc,IAAK,UAEjCpC,EAAAA,cAACC,EAAAA,GAAM,CACNpC,QAASA,EACT,cAAY,QACZyC,QAAStB,EACTqB,SAAU3C,EACVyC,MAAOnC,EAAE,QAAS,SAClBmD,MAAM,UAGRnB,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,WAAWhB,QAAS,CAAEC,OAAQ,eAC/CzB,IAEuC,IAAxCd,GACAiB,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,aAAaF,eAAe,cAC9CnC,EAAAA,cAACc,EAAAA,GAAI,CACJR,QAASG,EACTL,MAAM,UACNG,MAAO,CAAE+B,mBAAoB,YAAaC,OAAQ,YAEjDvE,EAAE,kBAAmB,sBAM5B,CCtJe,SAASwE,EAAYlF,GAAoB,IAAjBmF,EAAInF,EAAJmF,KAAMC,EAAOpF,EAAPoF,QAC5C5E,GAAYC,EAAAA,EAAAA,KAALC,GAAqBC,EAAAA,EAAAA,GAAAH,EAAA,GAApB,GACR,OACCkC,EAAAA,cAAC2C,EAAAA,GAAK,CAACC,MAAM,UAAUH,KAAMA,EAAMC,QAASA,GAC3C1C,EAAAA,cAAC6C,EAAAA,GAAS,CAAC,cAAY,cACrB7E,EAAE,UAAW,qEAIlB,CCVA,IAAM8E,EAAgBC,EAAAA,QAAOC,IAAGC,WAAA,CAAAC,YAAA,yBAAAC,YAAA,eAAVJ,CAAU,mXAgCjB,SAASK,IACvB,OACCpD,EAAAA,cAAC8C,EAAa,CAACO,QAAQ,aACtBrD,EAAAA,cAAA,UAAQsD,UAAU,OAAOC,GAAG,KAAKC,GAAG,KAAKC,EAAE,KAAKC,KAAK,OAAOC,YAAY,MAG3E,C,cC7BO,SAASC,IACf,IAAIC,EAAcC,EAAAA,GAAQ,GAAAxE,OACpByE,EAAAA,GAAY,KAAAzE,OAAI0E,EAAAA,IAAW,GAAA1E,OAC3B2E,EAAAA,GAAW,KAAA3E,OAAI4E,EAAAA,IAErB,MADc,GAAH5E,OAAMuE,EAAW,KAAAvE,OAAI6E,EAAAA,GAAM,KAAA7E,OAAI8E,EAAAA,GAE3C,CAEO,SAASC,IACf,IAAMC,EAAOC,aAAaC,QAAQ,eAClC,GAAa,OAATF,EAAe,OAAOA,EAE1B,IAAMG,GAAiB,CAAC,MAAQ,KAAO,KAAO,KAAO,MAAMlF,QAAQ,UAAU,SAACmF,GAAC,OAE7EA,GACExH,OAAOyH,QAAUzH,OAAO0H,UAAUC,gBAAgB,IAAIC,WAAW,IAAI,GACrE,IAAOJ,EAAI,GAEZK,SAAS,GAAG,IAGf,OADAR,aAAaS,QAAQ,cAAeP,GAC7BA,CACR,CAEO,SAASQ,EAAgB3G,EAAUI,GACzC,GAAI,uBAAwBxB,OAAQ,CAEnC,IAAMgI,EAAO,IAAIC,mBAAmB,CACnCC,GAAI9G,EACJI,SAAAA,EACA2G,KAAM3G,IAEP,OAAO4G,UAAUC,YAAYC,MAAMN,EACpC,CACA,OAAOO,QAAQC,SAChB,CAEO,SAASC,EAAqBC,GACpC,GAAoB,iBAATA,EAAmB,OAAOA,EACrC,IAAIC,EACJ,IACCA,EAAM,IAAIC,IAAIF,EACf,CAAE,MAAOG,GACR,MACD,CACA,IAAM/I,EAAY,IAAIC,gBAAgBC,OAAOC,SAASC,QAyBtD,MAxBgC,CAC/B,UACA,mBACA,WACA,0BACA,iBACA,WACA,QACA,WACA,cACA,iBACA,cACA,SACA,aACA,iBACA,MACA,kBAEuB4I,SACvB,SAACC,GAAW,OAAKjJ,EAAUqC,IAAI4G,IAAgBjJ,EAAS,OAAQiJ,EAAY,IAE7EjJ,EAAUgJ,SAAQ,SAACrE,EAAOuE,GACzBL,EAAIM,aAAaC,IAAIF,EAAKvE,EAC3B,IACOkE,EAAId,UACZ,CAEO,SAASsB,EAAgB/I,GAA4D,IAAzDgJ,EAAOhJ,EAAPgJ,QAASC,EAAKjJ,EAALiJ,MAAOC,EAAMlJ,EAANkJ,OAAQnG,EAAQ/C,EAAR+C,SAAUoG,EAAKnJ,EAALmJ,MAASC,EAAIC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,IAAAA,UAAA,GACjF,MAAO,CACNL,QAAAA,EACAC,OAAQA,QAAAA,EAASG,IAAQI,EAAAA,EAAAA,GAAQ,GAAKR,IAAWS,EAAAA,EAAAA,IAAO,GAAKT,GAC7DG,OAAQA,QAAAA,EAASC,IAAQI,EAAAA,EAAAA,GAAQ,GAAKR,IAAWS,EAAAA,EAAAA,IAAO,GAAKT,GAC7DE,QAASA,QAAAA,EAAUE,IAAQI,EAAAA,EAAAA,GAAQ,IAAMR,IAAWS,EAAAA,EAAAA,IAAO,IAAMT,GACjEjG,UACEA,QAAAA,EAAYqG,IAAQM,EAAAA,EAAAA,IAAa,GAAKV,IAAWW,EAAAA,EAAAA,IAAW,IAAKF,EAAAA,EAAAA,IAAO,GAAKT,IAEjF,CAYO,IAAMY,EAAY,SAACC,EAAOC,EAAQC,GACxC,IAAMC,EAAO,IAAIC,KACbF,GAAWG,OAAOC,UAAUJ,IAC/BC,EAAKI,QAAQJ,EAAKK,UAAsB,GAAVN,EAAe,GAAK,GAAK,KAExD,IAAMO,EACLP,GAAWG,OAAOC,UAAUJ,GAAW,WAAH/H,OAAcgI,EAAKO,oBAAkBhB,EAC1EiB,SAASC,OAAS,GAAHzI,OAAM6H,EAAK,KAAA7H,OAAI8H,EAAM,MAAA9H,OAAKsI,GAAW,GAAE,WACvD,EChGe,SAASI,EAAc1K,GAAmC,IAAhCG,EAAaH,EAAbG,cAAeC,EAAaJ,EAAbI,cACvDI,GAAYC,EAAAA,EAAAA,KAALC,GAAqBC,EAAAA,EAAAA,GAAAH,EAAA,GAApB,GAERI,GAA8BC,EAAAA,EAAAA,WAAS,GAAME,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAAtCL,EAAOQ,EAAA,GAAE4J,EAAU5J,EAAA,GAE1BG,GAAgCL,EAAAA,EAAAA,UAAS,eAAcM,GAAAR,EAAAA,EAAAA,GAAAO,EAAA,GAAhD0J,EAAQzJ,EAAA,GAEf0J,GAF4B1J,EAAA,IAEMN,EAAAA,EAAAA,aAAUiK,GAAAnK,EAAAA,EAAAA,GAAAkK,EAAA,GAArC5K,EAAS6K,EAAA,GAAEC,EAAYD,EAAA,GAE9BE,GAAwDnK,EAAAA,EAAAA,WAAS,GAAMoK,GAAAtK,EAAAA,EAAAA,GAAAqK,EAAA,GAAhEE,EAAoBD,EAAA,GAAEE,EAAuBF,EAAA,GACpDG,GAAoDvK,EAAAA,EAAAA,WAAS,GAAMwK,GAAA1K,EAAAA,EAAAA,GAAAyK,EAAA,GAA5DE,EAAkBD,EAAA,GAAEE,EAAqBF,EAAA,GAE1CnL,GAAoByB,EAAAA,EAAAA,cACzB,SAACX,EAAUI,GAEV,OADAuJ,GAAW,GC9BP,SAAqBa,EAAYC,EAAMrK,GAC7C,OAAOsK,MAAM,oBAAqB,CACjCC,OAAQ,OACRC,QAAS,CACR,iBAAkBtF,IAClB,cAAeS,IACf,YAAa,QACb,eAAgB,oBAEjB8E,KAAMC,KAAKC,UAAU,CACpBC,YDqBmB,WCpBnBP,KAAAA,EACArK,SAAAA,KAGH,CDgBU6K,CAAY,EAAYjL,EAAUI,GACvC8K,KAAI,eAAAC,GAAAC,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAC,EAAOC,GAAG,OAAAF,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAAAF,EAAAG,GACPJ,EAAIK,OAAMJ,EAAAE,KACZ,MADYF,EAAAG,GACT,EAIH,MAJGH,EAAAG,GAIA,EASH,MATGH,EAAAG,GASA,GASH,MATGH,EAAAG,GASA,0BAAAH,EAAAE,KAAA,EArBD/E,EAAgB3G,EAAUI,GAAS,OACY,OAArDxB,OAAOC,SAASwC,OAAOlC,EAAcmC,gBAAgBkK,EAAAK,OAAA,mBASnC,OANlB9B,EACCrK,EACC,wBACA,+DAGFiK,GAAW,GAAO6B,EAAAK,OAAA,oBASA,OANlB9B,EACCrK,EACC,iBACA,uGAGFiK,GAAW,GAAO6B,EAAAK,OAAA,oBAMA,OAHlB9B,EACCrK,EAAE,qBAAsB,kDAEzBiK,GAAW,GAAO6B,EAAAK,OAAA,oBAGlB1B,GAAwB,GACxBR,GAAW,GAAO,yBAAA6B,EAAAM,OAAA,GAAAR,EAAA,KAEpB,gBAAAS,GAAA,OAAAZ,EAAAa,MAAA,KAAA3D,UAAA,EAlCI,IAkCH,OACK,kBAAMsB,GAAW,EAAM,GAChC,GACA,CAACxK,EAAcmC,eAAgB5B,IAG1BuM,GAAatL,EAAAA,EAAAA,cAAY,kBAAM4J,GAAsB,EAAM,GAAE,CAACA,IAC9D2B,GAAsBvL,EAAAA,EAAAA,cAC3B,kBAAM4J,GAAsB,EAAK,GACjC,CAACA,IAEI4B,GAAqBxL,EAAAA,EAAAA,cAC1B,kBAAMwJ,GAAwB,EAAM,GACpC,CAACA,IAGF,OACCzI,EAAAA,cAAAA,EAAAA,SAAA,KACe,gBAAbkI,GACAlI,EAAAA,cAAC3C,EAAe,CACfI,cAAeA,EACfC,cAAeA,EACfH,UAAWA,EACXC,kBAAmBA,EACnBK,QAASA,IAGG,YAAbqK,GACAlI,EAAAA,cAACoB,EAAAA,GAAG,CAACc,YAAY,WAAWC,eAAe,SAASd,QAAS,CAAEqJ,SAAU,eACxE1K,EAAAA,cAACoD,EAAO,OAGVpD,EAAAA,cAAC2K,EAAAA,GAAQ,CACRlI,KAAM+F,EACNrI,MAAOnC,EAAE,aAAc,4BACvB4M,YAAa5M,EAAE,UAAW,WAC1B6M,cAAeL,EACf9H,QAAS+H,EACTK,gBAAiB,IACjB5K,KAAK,UAENF,EAAAA,cAACwC,EAAY,CAACC,KAAMmG,EAAoBlG,QAAS6H,IAGpD,C,wBEmQA,QAhU2B,SAAHjN,GAA6D,IAAvDyN,EAASzN,EAATyN,UAAWC,EAAY1N,EAAZ0N,aAAc1M,EAAQhB,EAARgB,SAAUb,EAAaH,EAAbG,cAChEK,GAAYC,EAAAA,EAAAA,KAALC,GAAqBC,EAAAA,EAAAA,GAAAH,EAAA,GAApB,GAERI,GAAsCC,EAAAA,EAAAA,UAAS,IAAGE,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAA3C+M,EAAW5M,EAAA,GAAE6M,EAAc7M,EAAA,GAClCG,GAAsCL,EAAAA,EAAAA,UAAS,IAAGM,GAAAR,EAAAA,EAAAA,GAAAO,EAAA,GAA3C2M,EAAW1M,EAAA,GAAE2M,EAAc3M,EAAA,GAClC0J,GAAoDhK,EAAAA,EAAAA,UAAS,IAAGiK,GAAAnK,EAAAA,EAAAA,GAAAkK,EAAA,GAAzDkD,EAAkBjD,EAAA,GAAEkD,EAAqBlD,EAAA,GAChDE,GAAwDnK,EAAAA,EAAAA,WAAS,GAAMoK,GAAAtK,EAAAA,EAAAA,GAAAqK,EAAA,GAAhEiD,EAAoBhD,EAAA,GAAEiD,EAAuBjD,EAAA,GACpDG,GAA0DvK,EAAAA,EAAAA,WAAS,GAAMwK,GAAA1K,EAAAA,EAAAA,GAAAyK,EAAA,GAAlE+C,EAAqB9C,EAAA,GAAE+C,EAAwB/C,EAAA,GACtDgD,GAAwExN,EAAAA,EAAAA,UAAS,IAAGyN,GAAA3N,EAAAA,EAAAA,GAAA0N,EAAA,GAA7EE,EAA4BD,EAAA,GAAEE,EAA+BF,EAAA,GAE9DG,GAAsB9M,EAAAA,EAAAA,cAC3B,SAAC+M,GAAE,OAAKd,EAAec,EAAGtK,OAAOC,MAAM,GACvC,CAACuJ,IAEIe,GAAsBhN,EAAAA,EAAAA,cAC3B,SAAC+M,GAAE,OAAKZ,EAAeY,EAAGtK,OAAOC,MAAM,GACvC,CAACyJ,IAEIc,GAA6BjN,EAAAA,EAAAA,cAClC,SAAC+M,GAAE,OAAKV,EAAsBU,EAAGtK,OAAOC,MAAM,GAC9C,CAAC2J,KAGFa,EAAAA,EAAAA,YAAU,WACTT,EAAyB,IACzBI,EAAgC,GACjC,GAAG,CAACX,EAAanN,KAEjBmO,EAAAA,EAAAA,YAAU,WAERL,EADGX,GAAeE,IAAuBF,EAExCnN,EAAE,uCAAwC,8BAGX,GAElC,GAAG,CAACqN,EAAoBF,EAAanN,IAErC,IAAMoO,GAAyBnN,EAAAA,EAAAA,cAC9B,SAACC,GACAA,EAAEC,iBACF6L,GAAa,GACTG,GAAeE,IAAuBF,IAAgBM,GAxEzB,SAACnN,EAAU2M,EAAaE,GAC3D,OAAOnC,MAAM,sCAAuC,CACnDC,OAAQ,OACRC,QAAS,CACR,eAAgB,oBAEjB3D,YAAa,OACb4D,KAAMC,KAAKC,UAAU,CACpBgD,KAAM,CACLC,sBAAuB,CACtBC,MAAO,oBACPC,iBAAkB,IAClBC,uBAAwB,IACxBC,QAAS,CACRC,GAAI,OACJC,SAAUtO,GAEX2M,YAAa,CACZ2B,SAAU3B,GAEXvM,SAAU,CACTkO,SAAUzB,GAEX0B,MAAO,CAAC,CAAEC,KAAM,CAAEzH,KAAM,wCAK7B,CA6CI0H,CAAqBzO,EAAU2M,EAAaE,GAC1C3B,KAAI,eAAAC,GAAAC,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAC,EAAOC,GAAG,IAAAmD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA7D,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGEH,EAAI4D,OAAM,OAA1BN,EAAOrD,EAAA4D,KAAA5D,EAAAE,KAAG,GAAH,oBAAAF,EAAAC,KAAG,EAAHD,EAAAG,GAAAH,EAAA,SAAAA,EAAAE,KAAG,GAEMH,EAAG,QAAnBsD,EAAOrD,EAAA4D,KAAA,QAEW,MAAf7D,EAAIK,SACDmD,EAAsB,QAAVD,EAAGD,SAAO,IAAAC,GAAM,QAANA,EAAPA,EAASf,YAAI,IAAAe,GAAwB,QAAxBA,EAAbA,EAAeO,8BAAsB,IAAAP,OAAA,EAArCA,EAAuCE,WACtDA,EACLD,GAAgBA,EAAazG,OAAS,EAAIyG,EAAa,GAAGT,cAAW/F,IAErEK,EAAU0G,EAAAA,GAAeN,IAE1BxD,EAAA+D,GACOhE,EAAIK,OAAMJ,EAAAE,KACZ,MADYF,EAAA+D,GACT,GAIH,MAJG/D,EAAA+D,IAKH,MADG/D,EAAA+D,GAAA,GAyIH,MAxIG/D,EAAA+D,GAwIA,2BAAA/D,EAAAE,KAAA,GA5ID/E,EAAgB3G,EAAU6M,GAAY,QACS,OAArDjO,OAAOC,SAASwC,OAAOlC,EAAcmC,gBAAgBkK,EAAAK,OAAA,wBAI1C,QAAP6C,EAAAG,SAAO,IAAAH,GAAM,QAANA,EAAPA,EAASX,YAAI,IAAAW,GAAO,QAAPA,EAAbA,EAAec,aAAK,IAAAd,GAAQ,QAARA,EAApBA,EAAsBe,cAAM,IAAAf,GAAO,QAAPA,EAA5BA,EAA8BgB,aAAK,IAAAhB,OAAA,EAAnCA,EAAqCiB,QAASC,EAAAA,GAAyB,CAAApE,EAAAE,KAAA,SAK9D,GAJZwB,GAAwB,GAChB+B,EAAMJ,EAAQd,KAAKyB,MAAMC,OAAOC,MAAhCT,IACJC,EAAUD,EACXA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMC,EAAAA,CAAqC,SAC/DzH,GACU,CAAFiD,EAAAE,KAAA,SAOR,OANF0B,EACC1N,EAAE,0CAA2C,CAC5CwD,aACC,gEACDjC,QAAS,CAAEgP,IAAKf,EAAQZ,aAExB9C,EAAAK,OAAA,oBAKU,KAFbqD,EAAUD,EACPA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMG,EAAAA,EAAsC,SAChE3H,GACU,CAAFiD,EAAAE,KAAA,SAOR,OANF0B,EACC1N,EAAE,2CAA4C,CAC7CwD,aACC,+EACDjC,QAAS,CAAEgP,IAAKf,EAAQZ,aAExB9C,EAAAK,OAAA,oBAKU,KAFbqD,EAAUD,EACPA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMI,EAAAA,EAAoC,SAC9D5H,GACU,CAAFiD,EAAAE,KAAA,SAMR,OALF0B,EACC1N,EAAE,iCAAkC,CACnCwD,aAAc,uCACdjC,QAAS,CAAEmP,IAAKlB,EAAQZ,aAExB9C,EAAAK,OAAA,oBAMU,KAFbqD,EAAUD,EACPA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMM,EAAAA,EAAoC,SAC9D9H,GACU,CAAFiD,EAAAE,KAAA,SAMR,OALF0B,EACC1N,EAAE,iCAAkC,CACnCwD,aAAc,uCACdjC,QAAS,CAAEmP,IAAKlB,EAAQZ,aAExB9C,EAAAK,OAAA,oBAMU,KAFbqD,EAAUD,EACPA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMO,EAAAA,EAA6C,SACvE/H,GACU,CAAFiD,EAAAE,KAAA,SAMR,OALF0B,EACC1N,EAAE,yCAA0C,CAC3CwD,aAAc,kDACdjC,QAAS,CAAEmP,IAAKlB,EAAQZ,aAExB9C,EAAAK,OAAA,oBAKU,KAFbqD,EAAUD,EACPA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMQ,EAAAA,EAA2C,SACrEhI,GACU,CAAFiD,EAAAE,KAAA,SAMR,OALF0B,EACC1N,EAAE,uCAAwC,CACzCwD,aAAc,gDACdjC,QAAS,CAAEmP,IAAKlB,EAAQZ,aAExB9C,EAAAK,OAAA,oBAKU,KAFbqD,EAAUD,EACPA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMS,EAAAA,EAA+C,SACzEjI,GACU,CAAFiD,EAAAE,KAAA,SAMR,OALF0B,EACC1N,EAAE,2CAA4C,CAC7CwD,aAAc,oDACdjC,QAAS,CAAEmP,IAAKlB,EAAQZ,aAExB9C,EAAAK,OAAA,qBAGHqD,EAAUD,EACPA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMU,EAAAA,EAA6C,SACvElI,IAEF6E,EACC1N,EAAE,yCAA0C,CAC3CwD,aAAc,kDACdjC,QAAS,CAAEmP,IAAKlB,EAAQZ,cAI3BY,EAAUD,EACPA,EAAEY,MAAK,SAACC,GAAG,OAAKA,EAAIC,IAAMW,EAAAA,EAAmC,SAC7DnI,IAEF6E,EACC1N,EAAE,wCAAyC,CAC1CwD,aACC,+DACDjC,QAAS,CAAEmP,IAAKlB,EAAQZ,aAG1B9C,EAAAE,KAAA,kBACgB,QAAPiD,EAAAE,SAAO,IAAAF,GAAM,QAANA,EAAPA,EAASZ,YAAI,IAAAY,GAAO,QAAPA,EAAbA,EAAea,aAAK,IAAAb,GAAQ,QAARA,EAApBA,EAAsBc,cAAM,IAAAd,GAAO,QAAPA,EAA5BA,EAA8Be,aAAK,IAAAf,OAAA,EAAnCA,EAAqCgB,QAASgB,EAAAA,IACxDzD,GAAwB,GACxBE,EACC1N,EAAE,sCAAuC,CACxCwD,aAAc,+CAIT,QAAP0L,EAAAC,SAAO,IAAAD,GAAM,QAANA,EAAPA,EAASb,YAAI,IAAAa,GAAO,QAAPA,EAAbA,EAAeY,aAAK,IAAAZ,GAAQ,QAARA,EAApBA,EAAsBa,cAAM,IAAAb,GAAO,QAAPA,EAA5BA,EAA8Bc,aAAK,IAAAd,OAAA,EAAnCA,EAAqCe,QAASiB,EAAAA,IAE9C1D,GAAwB,GACxBE,EACC1N,EAAE,4CAA6C,CAC9CwD,aAAc,8BAIhBgK,GAAwB,GACxBE,EAAyB,KACzB,eAAA5B,EAAAK,OAAA,oBAOmB,OAJpBqB,GAAwB,GACxBE,EACC1N,EAAE,qBAAsB,kDAEzBgN,GAAa,GAAOlB,EAAAK,OAAA,oBAGpBqB,GAAwB,GACxBE,EACC1N,EACC,uBACA,6DAGFgN,GAAa,GAAO,yBAAAlB,EAAAM,OAAA,GAAAR,EAAA,kBAEtB,gBAAAS,GAAA,OAAAZ,EAAAa,MAAA,KAAA3D,UAAA,EA9KI,IA8KH,OACK,SAACZ,GACPiF,GAAa,GACTjF,EAAIoJ,QAAQC,WAAW,2BAC1B5D,GAAwB,GACxBE,EAAyB,IAE3B,IAEFV,GAAa,EACd,GACA,CACChN,EACAgN,EACAG,EACAE,EACAI,EACAnN,EACA2M,EACAxN,EAAcmC,iBAIhB,OACCI,EAAAA,cAAA,QACCkB,SAAUkL,EACV7L,MAAO,CAAEY,MAAO,OAAQkO,OAAQ,OAAQC,UAAW,UAEnDtP,EAAAA,cAAA,SAAOE,KAAK,SAASK,MAAO,CAAEgP,QAAS,UACvCvP,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEC,OAAQ,UACvBtB,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,QAAQT,MAAM,OAAOW,OAAO,QACrC/C,EAAE,uBAAwB,2BAG7BgC,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,UACpBpC,EAAAA,cAACuB,EAAAA,GAAK,CAACC,aAAclD,EAAU+B,UAAQ,EAACF,MAAM,QAAQ,cAAY,WAEnEH,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,UACpBpC,EAAAA,cAACgC,EAAAA,GAAa,CACbR,aAAcyJ,EACdrJ,SAAU2J,EACV9J,SAAUsK,EACV5L,MAAOnC,EAAE,6BAA8B,gBACvC8D,gBAAgB,QAChB,cAAY,iBAGbyJ,GACAvL,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,cAAgBC,cAAc,cAClDrC,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxCjE,EAAE,iBAAkB,qDAIxBgC,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,UACpBpC,EAAAA,cAACgC,EAAAA,GAAa,CACbR,aAAc2J,EACdvJ,SAAU6J,EACVhK,SAAUwK,EACV9L,MAAOnC,EAAE,6BAA8B,gBACvC8D,gBAAgB,QAChB,cAAY,iBAGb2J,GACAzL,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,cAAgBC,cAAc,cAClDrC,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxCwJ,IAIJzL,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,UACpBpC,EAAAA,cAACgC,EAAAA,GAAa,CACbR,aAAc6J,EACdzJ,SAAUiK,EACVpK,SAAUyK,EACV/L,MAAOnC,EAAE,oCAAqC,wBAC9C8D,gBAAgB,QAChB,cAAY,wBAGb+J,GACA7L,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,cAAgBC,cAAc,cAClDrC,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxC4J,IAIJ7L,EAAAA,cAACoB,EAAAA,GAAG,CAACc,YAAY,WAAWC,eAAe,aAAad,QAAS,CAAEqJ,SAAU,WAC5E1K,EAAAA,cAACC,EAAAA,GAAM,CACNK,QAAS8L,EACTjM,MAAOnC,EAAE,+BAAgC,6BACzCmD,MAAM,OACNtD,QAASkN,EACT1K,UAAW8K,GAAeE,IAAuBF,GAAeM,EAChE,cAAY,6BAKjB,EC9WO,SAAS+D,EAAY1G,EAAYC,EAAMrK,EAAU+Q,GACvD,OAAOzG,MAAM,oBAAqB,CACjCC,OAAQ,OACRC,QAAS,CACR,iBAAkBtF,IAClB,cAAeS,IACf,YAAa,QACb,eAAgB,oBAEjB8E,KAAMC,KAAKC,WAASqG,EAAAA,EAAAA,GAAC,CACpBpG,YAAaR,EACbC,KAAAA,GACCD,IAAe6G,EAAAA,GAAiBA,EAAAA,GAAiBC,EAAAA,GAAWlR,KAGhE,CAEO,SAASmR,EAAUzK,EAAI0K,EAAMC,GACnC,OAAO/G,MAAM,2BAA4B,CACxCC,OAAQ,OACRC,QAAS,CACR,iBAAkBtF,IAClB,cAAeS,IACf,YAAa,QACb,eAAgB,mBAChB2L,QAAS,KAEV7G,KAAMC,KAAKC,UAAU,CACpBjE,GAAAA,EACA0K,KAAAA,EACAG,iBAAkBF,KAGrB,CCRA,IAAM/S,EAAY,IAAIC,gBAAgBC,OAAOC,SAASC,QAEhD8S,EACkB,0BADlBA,EAEc,sBAFdA,EAGkB,0BAHlBA,EAIU,kBAJVA,EAKiB,0BAgkBvB,QA7jBuB,SAAH5S,GAAyC,IAAnCG,EAAaH,EAAbG,cAAeC,EAAaJ,EAAbI,cACxCI,GAAYC,EAAAA,EAAAA,KAALC,GAAqBC,EAAAA,EAAAA,GAAAH,EAAA,GAApB,GACRI,GAAgCC,EAAAA,EAAAA,UAASnB,EAAUoB,IAAI,aAAe,IAAGC,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAAlEI,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5BG,GAAgCL,EAAAA,EAAAA,UAAS+R,GAA4BzR,GAAAR,EAAAA,EAAAA,GAAAO,EAAA,GAA9D0J,EAAQzJ,EAAA,GAAE0R,EAAW1R,EAAA,GAC5B0J,GAA0BhK,EAAAA,EAAAA,UAAS,IAAGiK,GAAAnK,EAAAA,EAAAA,GAAAkK,EAAA,GAA/BiI,EAAKhI,EAAA,GAAEiI,EAAQjI,EAAA,GACtBE,GAA0CnK,EAAAA,EAAAA,UAAS,IAAGoK,GAAAtK,EAAAA,EAAAA,GAAAqK,EAAA,GAA/CgI,EAAa/H,EAAA,GAAEgI,EAAgBhI,EAAA,GACtCG,GAAoDvK,EAAAA,EAAAA,UAAS,IAAGwK,GAAA1K,EAAAA,EAAAA,GAAAyK,EAAA,GAAzD8H,EAAkB7H,EAAA,GAAE8H,EAAqB9H,EAAA,GAChDgD,GAA4CxN,EAAAA,EAAAA,UAAS,IAAGyN,GAAA3N,EAAAA,EAAAA,GAAA0N,EAAA,GAAjD+E,EAAc9E,EAAA,GAAE+E,EAAiB/E,EAAA,GACxCgF,GAAwDzS,EAAAA,EAAAA,UAAS,IAAG0S,GAAA5S,EAAAA,EAAAA,GAAA2S,EAAA,GAA7DE,EAAoBD,EAAA,GAAEE,EAAuBF,EAAA,GACpDG,GAAwD7S,EAAAA,EAAAA,YAAU8S,GAAAhT,EAAAA,EAAAA,GAAA+S,EAAA,GAA3DE,EAAoBD,EAAA,GAAEE,GAAuBF,EAAA,GACpDG,IAAoDjT,EAAAA,EAAAA,UAAS,IAAGkT,IAAApT,EAAAA,EAAAA,GAAAmT,GAAA,GAAzDE,GAAkBD,GAAA,GAAEE,GAAqBF,GAAA,GAC1CG,IAAiBC,EAAAA,EAAAA,YAAWC,EAAAA,IAClCC,IAA8BxT,EAAAA,EAAAA,UAAS,IAAGyT,IAAA3T,EAAAA,EAAAA,GAAA0T,GAAA,GAAnCE,GAAOD,GAAA,GAAEE,GAAUF,GAAA,GAC1BG,IAA0B5T,EAAAA,EAAAA,UAAS,IAAG6T,IAAA/T,EAAAA,EAAAA,GAAA8T,GAAA,GAA/BE,GAAKD,GAAA,GAAEE,GAAQF,GAAA,GACtBG,IAAsBhU,EAAAA,EAAAA,UAAS,IAAGiU,IAAAnU,EAAAA,EAAAA,GAAAkU,GAAA,GAA3BE,GAAGD,GAAA,GAAEE,GAAMF,GAAA,GAClBG,IAAsCpU,EAAAA,EAAAA,WAAS,GAAMqU,IAAAvU,EAAAA,EAAAA,GAAAsU,GAAA,GAA9CxC,GAAWyC,GAAA,GAAEC,GAAcD,GAAA,GAC5BE,IAAoBzT,EAAAA,EAAAA,cAAY,kBAAMwT,IAAe,SAACE,GAAC,OAAMA,CAAC,GAAC,GAAE,CAACF,KAClEG,IAAc3T,EAAAA,EAAAA,cACnB,SAAC+M,GACAsG,GAAOtG,EAAGtK,OAAOC,MAClB,GACA,CAAC2Q,KAGIO,IAA6B5T,EAAAA,EAAAA,cAClC,SAAC6T,GACA,OAAQA,GACP,KAAKC,EAAAA,GACJtC,EACCzS,EAAE,kCAAmC,wCAEtC,MAED,KAAKgV,EAAAA,GACJvC,EACCzS,EACC,6CACA,6FAGF,MAED,QACCyS,EACCzS,EAAE,uBAAwB,6DAI9B,GACA,CAACA,IAGIiV,IAA0BhU,EAAAA,EAAAA,cAAY,YC5FtC,SAA4BX,GAClC,OAAO0K,MAAM,sCAAuC,CACnDC,OAAQ,OACRC,QAAS,CACR,eAAgB,oBAEjB3D,YAAa,OACb4D,KAAMC,KAAKC,UAAU,CACpBgD,KAAM,CACL6G,sBAAuB,CACtB3G,MAAO,iBACP4G,GAAI,qBACJC,MAAO9U,EACP+U,QAAS,aAKd,ED2EEC,CAAmBhV,GACjBkL,KAAI,eAAAC,GAAAC,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAC,EAAOC,GAAG,IAAAuD,EAAAJ,EAAAG,EAAAiG,EAAA,OAAAzJ,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGEH,EAAI4D,OAAM,OAA1BN,EAAOrD,EAAA4D,KAAA5D,EAAAE,KAAG,EAAH,aAAAF,EAAAC,KAAG,EAAHD,EAAAG,GAAAH,EAAA,SAEPqD,EAAUtD,EAAI,OAAAC,EAAA+D,GAGPhE,EAAIK,OAAMJ,EAAAE,KACZ,MADYF,EAAA+D,GACT,GAKH,MALG/D,EAAA+D,IAMH,MADG/D,EAAA+D,GAAA,GAIH,MAHG/D,EAAA+D,GAGA,oBAN8B,OAFrCuF,EAAe,QAAVhG,EAAGD,SAAO,IAAAC,GAAM,QAANA,EAAPA,EAASf,YAAI,IAAAe,GAAwB,QAAxBA,EAAbA,EAAemG,8BAAsB,IAAAnG,OAAA,EAArCA,EAAuCoG,gBAC/CjD,EAAiB6C,GACjBjD,EAAYD,GAAyBpG,EAAAK,OAAA,oBAIiC,OAAtE0I,GAAkC,QAAR7F,EAACG,SAAO,IAAAH,GAAM,QAANA,EAAPA,EAASX,YAAI,IAAAW,GAAO,QAAPA,EAAbA,EAAec,aAAK,IAAAd,GAAQ,QAARA,EAApBA,EAAsBe,cAAM,IAAAf,GAAO,QAAPA,EAA5BA,EAA8BgB,aAAK,IAAAhB,OAAA,EAAnCA,EAAqCiB,MAAMnE,EAAAK,OAAA,oBAKpE,OAFFsG,EACCzS,EAAE,qBAAsB,kDACvB8L,EAAAK,OAAA,oBAKA,OAFFsG,EACCzS,EAAE,uBAAwB,6DACzB8L,EAAAK,OAAA,qCAAAL,EAAAM,OAAA,GAAAR,EAAA,kBAGJ,gBAAAS,GAAA,OAAAZ,EAAAa,MAAA,KAAA3D,UAAA,EA7BI,IA6BH,OACK,SAACZ,GACP0K,EACCzS,EAAE,uBAAwB,4DAE5B,GACF,GAAG,CAAC6U,GAA4B7U,EAAGM,IAE7BmV,IAAsBxU,EAAAA,EAAAA,cAAY,YC/GlC,SAA8BX,GACpC,OAAO0K,MAAM,sCAAuC,CACnDC,OAAQ,OACRC,QAAS,CACR,eAAgB,oBAEjB3D,YAAa,OACb4D,KAAMC,KAAKC,UAAU,CACpBgD,KAAM,CACL6G,sBAAuB,CACtB3G,MAAO,iBACP4G,GAAI,mBACJC,MAAO9U,EACP+U,QAAS,aAKd,ED8FEK,CAAqBpV,GACnBkL,KAAI,eAAAmK,GAAAjK,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAiK,EAAO/J,GAAG,IAAAoD,EAAAE,EAAA0G,EAAA,OAAAlK,IAAAA,MAAA,SAAAmK,GAAA,cAAAA,EAAA/J,KAAA+J,EAAA9J,MAAA,cAAA8J,EAAA/J,KAAA,EAAA+J,EAAA9J,KAAA,EAGEH,EAAI4D,OAAM,OAA1BN,EAAO2G,EAAApG,KAAAoG,EAAA9J,KAAG,EAAH,aAAA8J,EAAA/J,KAAG,EAAH+J,EAAA7J,GAAA6J,EAAA,SAEP3G,EAAUtD,EAAI,OAAAiK,EAAAjG,GAGPhE,EAAIK,OAAM4J,EAAA9J,KACZ,MADY8J,EAAAjG,GACT,GAgBH,MAhBGiG,EAAAjG,GAgBA,oBAFkC,OAbzCgG,EAAsB,QAAV5G,EAAGE,SAAO,IAAAF,GAAM,QAANA,EAAPA,EAASZ,YAAI,IAAAY,GAAwB,QAAxBA,EAAbA,EAAesG,8BAAsB,IAAAtG,OAAA,EAArCA,EAAuCiE,qBACtDC,GAAwB0C,GACxBrC,GAAe,CACdtL,IAAK,UACLhG,KAAM,UACNC,MAAOnC,EACN,6BACA,gDAED8M,gBAAiB,IACjBiJ,YAAY,EACZxU,SAAS,IAEV4Q,EAAYD,GAA6B4D,EAAA3J,OAAA,oBAKvC,OAFFwG,EACC3S,EAAE,qBAAsB,kDACvB8V,EAAA3J,OAAA,oBAKA,OAFFwG,EACC3S,EAAE,uBAAwB,6DACzB8V,EAAA3J,OAAA,qCAAA2J,EAAA1J,OAAA,GAAAwJ,EAAA,kBAGJ,gBAAAI,GAAA,OAAAL,EAAArJ,MAAA,KAAA3D,UAAA,EApCI,IAoCH,OACK,SAACZ,GACP4K,EACC3S,EAAE,uBAAwB,4DAE5B,GACF,GAAG,CAACwT,GAAgBxT,EAAGM,IAEjB2V,IAAyBhV,EAAAA,EAAAA,cAAY,YCzIrC,SAA+BX,EAAU4V,GAC/C,OAAOlL,MAAM,4BAA6B,CACzCC,OAAQ,OACRC,QAAS,CACR,eAAgB,oBAEjB3D,YAAa,OACb4D,KAAMC,KAAKC,UAAU,CACpBgD,KAAM,CACL8H,YAAa,CACZ5H,MAAO,oBACPC,iBAAkB,IAClBE,QAAS,CACRC,GAAI,OACJC,SAAUtO,GAEX4V,aAAc,CACbtH,SAAUsH,QAMhB,EDmHEE,CAAsB9V,EAAU8R,GAC9B5G,KAAI,eAAA6K,GAAA3K,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAA2K,EAAOzK,GAAG,IAAAqD,EAAAC,EAAAE,EAAAC,EAAA,OAAA3D,IAAAA,MAAA,SAAA4K,GAAA,cAAAA,EAAAxK,KAAAwK,EAAAvK,MAAA,cAAAuK,EAAAxK,KAAA,EAAAwK,EAAAvK,KAAA,EAGEH,EAAI4D,OAAM,OAA1BN,EAAOoH,EAAA7G,KAAA6G,EAAAvK,KAAG,EAAH,aAAAuK,EAAAxK,KAAG,EAAHwK,EAAAtK,GAAAsK,EAAA,SAEPpH,EAAUtD,EAAI,OAAA0K,EAAA1G,GAIPhE,EAAIK,OAAMqK,EAAAvK,KACZ,MADYuK,EAAA1G,GACT,GASH,MATG0G,EAAA1G,IAUH,MADG0G,EAAA1G,GAAA,GAMH,MALG0G,EAAA1G,GAKA,oBARiC,OANxCR,EAAsB,QAAVH,EAAGC,SAAO,IAAAD,GAAM,QAANA,EAAPA,EAASb,YAAI,IAAAa,GAAc,QAAdA,EAAbA,EAAesH,oBAAY,IAAAtH,OAAA,EAA3BA,EAA6BI,WAC5CA,EACCD,GAAgBA,EAAazG,OAAS,EAAIyG,EAAa,GAAGT,cAAW/F,IAErEK,EAAU0G,EAAAA,GAAeN,GAE1B6C,EAAYD,GAA4BqE,EAAApK,OAAA,oBAMtC,OAFF4G,EACC/S,EAAE,uBAAwB,wCACzBuW,EAAApK,OAAA,oBAKA,OAFF4G,EACC/S,EAAE,qBAAsB,kDACvBuW,EAAApK,OAAA,oBAKA,OAFF4G,EACC/S,EAAE,uBAAwB,6DACzBuW,EAAApK,OAAA,qCAAAoK,EAAAnK,OAAA,GAAAkK,EAAA,kBAGJ,gBAAAG,GAAA,OAAAJ,EAAA/J,MAAA,KAAA3D,UAAA,EApCI,IAoCH,OACK,SAACZ,GACPgL,EACC/S,EAAE,uBAAwB,4DAE5B,GACF,GAAG,CAACA,EAAGoS,EAAO9R,IAERoW,IAAwBzV,EAAAA,EAAAA,cAAY,WACzCuQ,EAAYG,EAAAA,GAAgBrR,EAAU8R,GACpC5G,KAAI,eAAAmL,GAAAjL,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAiL,EAAO/K,GAAG,IAAAgL,EAAA1H,EAAA2H,EAAAC,EAAAC,EAAA,OAAArL,IAAAA,MAAA,SAAAsL,GAAA,cAAAA,EAAAlL,KAAAkL,EAAAjL,MAAA,cAAAiL,EAAAlL,KAAA,EAAAkL,EAAAjL,KAAA,EAGEH,EAAI4D,OAAM,OAA1BN,EAAO8H,EAAAvH,KAAAuH,EAAAjL,KAAG,EAAH,aAAAiL,EAAAlL,KAAG,EAAHkL,EAAAhL,GAAAgL,EAAA,SAEP9H,EAAUtD,EAAI,OAAAoL,EAAApH,GAEPhE,EAAIK,OAAM+K,EAAAjL,KACZ,MADYiL,EAAApH,GACT,GAcH,MAdGoH,EAAApH,IAeH,MADGoH,EAAApH,GAAA,GAMH,MALGoH,EAAApH,GAKA,oBARN,OAXwB,KAAd,QAAPgH,EAAA1H,SAAO,IAAA0H,OAAA,EAAPA,EAAU,SACb/C,IACCoD,EAAAA,EAAAA,KAAgB,QAAbJ,EAAQ,QAARC,EAAC5H,SAAO,IAAA4H,OAAA,EAAPA,EAAS1C,WAAG,IAAAyC,EAAAA,EAAI,IAAI,SAACK,GAAG,MAAM,CACjChV,MAAOgV,EAAIhV,MACXwB,MAAOwT,EAAI/P,GACX,KAEF8M,GAAgB,QAAR8C,EAAC7H,SAAO,IAAA6H,GAAK,QAALA,EAAPA,EAAS3C,WAAG,IAAA2C,OAAA,EAAZA,EAAe,GAAG5P,IAC3B+K,EAAYD,IAEZC,EAAYD,GACZ+E,EAAA9K,OAAA,oBAMC,OAFF4G,EACC/S,EAAE,uBAAwB,wCACzBiX,EAAA9K,OAAA,oBAKA,OAFF4G,EACC/S,EAAE,qBAAsB,kDACvBiX,EAAA9K,OAAA,oBAKA,OAFF4G,EACC/S,EAAE,uBAAwB,6DACzBiX,EAAA9K,OAAA,qCAAA8K,EAAA7K,OAAA,GAAAwK,EAAA,kBAGJ,gBAAAQ,GAAA,OAAAT,EAAArK,MAAA,KAAA3D,UAAA,EAvCI,IAuCH,OACK,SAACZ,GACPgL,EACC/S,EAAE,uBAAwB,4DAE5B,GACF,GAAG,CAACA,EAAGoS,EAAO9R,IAER+W,IAAkBpW,EAAAA,EAAAA,cAAY,YAC/BxB,aAAa,EAAbA,EAAe6X,cAAeC,EAAAA,GACjCb,KAEAT,IAEF,GAAG,CAACxW,EAAeiX,GAAuBT,KAEpCuB,IAAcvW,EAAAA,EAAAA,cACnB,SAACC,GACA2Q,EAAUoC,GAAOI,GAAKtC,IACpBvG,MAAK,SAACK,GACN,OAAQA,EAAIK,QACX,KAAK,IACJiG,EAAYD,GACZ,MACD,KAAK,IACL,KAAK,IACL,KAAK,IACJqB,GACCvT,EAAE,uBAAwB,wCAE3B,MACD,KAAK,IACJuT,GACCvT,EAAE,qBAAsB,kDAEzB,MACD,QACCuT,GACCvT,EACC,uBACA,6DAKL,IAAE,OACK,SAAC+H,GACPwL,GACCvT,EAAE,uBAAwB,4DAE5B,GACF,GACA,CAACiU,GAAOI,GAAKtC,GAAa/R,IAGrByX,IAAuBxW,EAAAA,EAAAA,cAAY,WACxC/B,OAAOC,SAASwC,OAAO,IACxB,GAAG,IAEH,OACCK,EAAAA,cAAAA,EAAAA,SAAA,KACEkI,IAAagI,GACblQ,EAAAA,cAACoB,EAAAA,GAAG,CACHc,YAAY,WACZC,eAAe,aACfd,QAAS,CAAEC,OAAQ,SACnBH,MAAM,QAENnB,EAAAA,cAACC,EAAAA,GAAM,CACN,cAAY,kBACZC,KAAK,QACLI,QAASmV,GACTtV,MAAOnC,EAAE,kBAAmB,mBAC5BmD,MAAM,UAIR+G,IAAagI,GACblQ,EAAAA,cAAAA,EAAAA,SAAA,KACCA,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,cAC9CrC,EAAAA,cAACc,EAAAA,GAAI,CAACmB,SAAS,cACbjE,EACA,iDACA,uEAIHgC,EAAAA,cAACoB,EAAAA,GAAG,CAACD,MAAM,QACVnB,EAAAA,cAACuB,EAAAA,GAAK,CACLC,aAAclD,EACd,cAAY,WACZmD,SAAU,SAACvC,GACVX,EAAYW,EAAEwC,OAAOC,OACrB8O,EAAsB,GACvB,EACA5O,aAAa,WACbD,SAAU4O,EACVrQ,MAAOnC,EAAE,WAAY,YACrB8D,gBAAgB,WAGjB0O,GACAxQ,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,aAAalB,MAAM,QACrCnB,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxCuO,IAIJxQ,EAAAA,cAACoB,EAAAA,GAAG,CACHc,YAAY,WACZC,eAAe,aACfd,QAAS,CAAEC,OAAQ,UACnBH,MAAM,QAENnB,EAAAA,cAACC,EAAAA,GAAM,CACN,cAAY,SACZK,QAAS2S,GACT9S,MAAOnC,EAAE,SAAU,UACnBmD,MAAM,OACNd,UAAW/B,KAGb0B,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,cAC9CrC,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,QAAQoB,SAAS,cAC1BjE,EACA,qCACA,+FAMJkK,IAAagI,GACblQ,EAAAA,cAAAA,EAAAA,SAAA,KACCA,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,aAAalB,MAAM,QACjEnB,EAAAA,cAACc,EAAAA,GAAI,CAACmB,SAAS,cACdjC,EAAAA,cAAC0V,EAAAA,EAAK,CACLC,QAAQ,sCACRC,SAAS,qEACTC,WAAY,CAAEC,KAAM9V,EAAAA,cAAA,gBACpB+V,OAAQ,CAAEC,eAAgB1F,OAI7BtQ,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,aAAalB,MAAM,QACjEnB,EAAAA,cAACc,EAAAA,GAAI,CAACmB,SAAS,cACbjE,EACA,6BACA,0GAIF0S,GACA1Q,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,aAAalB,MAAM,QACrCnB,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxCyO,IAIJ1Q,EAAAA,cAACoB,EAAAA,GAAG,CACHc,YAAY,WACZC,eAAe,aACfd,QAAS,CAAEC,OAAQ,UACnBH,MAAM,QAENnB,EAAAA,cAACC,EAAAA,GAAM,CACN,cAAY,SACZK,QAASmT,GACTtT,MAAOnC,EAAE,qBAAsB,sBAC/BmD,MAAM,WAKT+G,IAAagI,GACblQ,EAAAA,cAAAA,EAAAA,SAAA,KACCA,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,aAAalB,MAAM,QACjEnB,EAAAA,cAACc,EAAAA,GAAI,CAACmB,SAAS,cACdjC,EAAAA,cAAC0V,EAAAA,EAAK,CACLC,QAAQ,6CACRC,SAAS,+LACTC,WAAY,CAAEC,KAAM9V,EAAAA,cAAA,gBACpB+V,OAAQ,CACPC,eAAgB1F,EAChBY,qBAAAA,OAKJlR,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEC,OAAQ,SAAWH,MAAM,QACxCnB,EAAAA,cAACuB,EAAAA,GAAK,CACLC,aAAc4O,EACd,cAAY,WACZ3O,SAAU,SAACvC,GAAC,OAAKmR,EAASnR,EAAEwC,OAAOC,MAAM,EACzCE,aAAa,OACb1B,MAAOnC,EAAE,OAAQ,QACjB8D,gBAAgB,WAGjBgP,GACA9Q,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,aAAalB,MAAM,QACrCnB,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxC6O,IAIJ9Q,EAAAA,cAACoB,EAAAA,GAAG,CACHD,MAAM,OACNkB,cAAc,gBACdF,eAAe,SACfd,QAAS,CAAEC,OAAQ,QAASc,IAAK,UAEjCpC,EAAAA,cAACiW,EAAAA,GAAS,CAAC9T,eAAe,aAAaE,cAAc,aAAalB,MAAM,OACvEnB,EAAAA,cAACC,EAAAA,GAAM,CACN,cAAY,aACZK,QAASmT,GACTtT,MAAOnC,EAAE,cAAe,eACxBkC,KAAK,WACLW,KAAK,SACLM,MAAM,OACNd,SAAmC,IAAzB6Q,KAGZlR,EAAAA,cAACiW,EAAAA,GAAS,CAAC9T,eAAe,aAAaE,cAAc,aAAalB,MAAM,OACvEnB,EAAAA,cAACC,EAAAA,GAAM,CACN,cAAY,eACZK,QAAS+U,GACTlV,MAAOnC,EAAE,gBAAiB,iBAC1BmD,MAAM,OACNN,KAAK,SACLR,UAAW+P,MAIdpQ,EAAAA,cAACoB,EAAAA,GAAG,CAACD,MAAM,QACVnB,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,QAAQoB,SAAS,cAC1BjE,EACA,oBACA,qJAMJkK,IAAagI,GACblQ,EAAAA,cAAAA,EAAAA,SAAA,KACCA,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,SAASE,cAAc,SAASlB,MAAM,QACzDnB,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,SAASoB,SAAS,cAC5BjC,EAAAA,cAAC0V,EAAAA,EAAK,CACLC,QAAQ,iCACRC,SAAS,0DACTC,WAAY,CAAEC,KAAM9V,EAAAA,cAAA,gBACpB+V,OAAQ,CAAEzX,SAAAA,OAIb0B,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,SAASE,cAAc,SAASlB,MAAM,QACzDnB,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,SAASoB,SAAS,cAC3BjE,EACA,qDACA,yDAIHgC,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,aAAalB,MAAM,QACjEnB,EAAAA,cAACkW,EAAAA,GAAM,CACNC,MAAOtE,GACPuE,WAAW,QACXjW,MAAOnC,EAAE,aAAc,yBACvByD,SAAUyQ,GACVmE,iBAAkBxE,GAAQ,MAG5B7R,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,aAAalB,MAAM,QACjEnB,EAAAA,cAACuB,EAAAA,GAAK,CACLC,aAAc6Q,GACdzQ,SAAU0P,GACVjR,SAAU3C,EACV+D,SAAUmR,GACVzS,MAAOnC,EAAE,OAAQ,QACjB8D,gBAAgB,WAGjBwP,IACAtR,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,aAAalB,MAAM,QACrCnB,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxCqP,KAIJtR,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,SAASE,cAAc,aAAalB,MAAM,QAC7DnB,EAAAA,cAACoB,EAAAA,GAAG,CAACD,MAAM,MAAMkB,cAAc,cAC9BrC,EAAAA,cAACsW,EAAAA,GAAQ,CACR3U,MAAOoO,GACP5P,MAAOnC,EAAE,qBAAsB,wBAC/BsC,QAASoS,MAGX1S,EAAAA,cAACoB,EAAAA,GAAG,CAACD,MAAM,MAAMkB,cAAc,YAC9BrC,EAAAA,cAACC,EAAAA,GAAM,CACNK,QAASkV,GACTnV,UAAWgS,GACXlS,MAAOnC,EAAE,SAAU,UACnBmD,MAAM,OACNN,KAAK,cAMTqH,IAAagI,GACblQ,EAAAA,cAAAA,EAAAA,SAAA,KACCA,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,cAC9CrC,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,SAASoB,SAAS,cAC5BjC,EAAAA,cAAC0V,EAAAA,EAAK,CACLC,QAAQ,iCACRC,SAAS,0DACTC,WAAY,CAAEC,KAAM9V,EAAAA,cAAA,gBACpB+V,OAAQ,CAAEzX,SAAAA,OAIb0B,EAAAA,cAACoB,EAAAA,GAAG,CAACe,eAAe,aAAaE,cAAc,cAC9CrC,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,SAASoB,SAAS,cAC3BjE,EACA,kDACA,+EAIHgC,EAAAA,cAACoB,EAAAA,GAAG,CACHc,YAAY,WACZC,eAAe,aACfd,QAAS,CAAEC,OAAQ,QAASc,IAAK,SACjCjB,MAAM,QAENnB,EAAAA,cAACC,EAAAA,GAAM,CACN,cAAY,SACZK,QAASmV,GACTtV,MAAOnC,EAAE,6BAA8B,8BACvCkC,KAAK,WACLiB,MAAM,WAOb,EE5kBA,IAAMoV,EAAY,CACjBhR,YAAa,cACbiR,QAAS,UACTC,UAAW,aACXC,eAAgB,kBAChBC,eAAgB,mBAGF,SAASC,EAActZ,GAAmC,IAAhCG,EAAaH,EAAbG,cAAeC,EAAaJ,EAAbI,cACvDI,GAAYC,EAAAA,EAAAA,KAALC,GAAqBC,EAAAA,EAAAA,GAAAH,EAAA,GAApB,GAERI,GAAoDC,EAAAA,EAAAA,WAAS,GAAME,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAA5D2Y,EAAkBxY,EAAA,GAAEyY,EAAqBzY,EAAA,GAChDG,GAAoCL,EAAAA,EAAAA,WAAS,GAAMM,GAAAR,EAAAA,EAAAA,GAAAO,EAAA,GAA5CuY,EAAUtY,EAAA,GAAEuY,EAAavY,EAAA,GAChC0J,GAAgChK,EAAAA,EAAAA,UAASoY,EAAUhR,aAAY6C,GAAAnK,EAAAA,EAAAA,GAAAkK,EAAA,GAAxDD,EAAQE,EAAA,GAAE+H,EAAW/H,EAAA,GAE5BE,GAAkCnK,EAAAA,EAAAA,WAAS,GAAMoK,GAAAtK,EAAAA,EAAAA,GAAAqK,EAAA,GAA1C/K,EAASgL,EAAA,GAAEF,EAAYE,EAAA,GAC9BG,GAAwCvK,EAAAA,EAAAA,WAAS,GAAMwK,GAAA1K,EAAAA,EAAAA,GAAAyK,EAAA,GAAhDuO,EAAYtO,EAAA,GAAEuO,EAAevO,EAAA,GAEpCgD,GAA8BxN,EAAAA,EAAAA,UAAS,IAAGyN,GAAA3N,EAAAA,EAAAA,GAAA0N,EAAA,GAAnCkG,EAAOjG,EAAA,GAAEkG,EAAUlG,EAAA,GAC1BgF,GAA0BzS,EAAAA,EAAAA,UAAS,IAAG0S,GAAA5S,EAAAA,EAAAA,GAAA2S,EAAA,GAA/BqB,EAAKpB,EAAA,GAAEqB,EAAQrB,EAAA,GACtBG,GAAsB7S,EAAAA,EAAAA,UAAS,IAAG8S,GAAAhT,EAAAA,EAAAA,GAAA+S,EAAA,GAA3BqB,EAAGpB,EAAA,GAAEqB,EAAMrB,EAAA,GACZ2B,GAAc3T,EAAAA,EAAAA,cACnB,SAAC+M,GACAsG,EAAOtG,EAAGtK,OAAOC,MAClB,GACA,CAAC2Q,IAEFlB,IAAsCjT,EAAAA,EAAAA,WAAS,GAAMkT,IAAApT,EAAAA,EAAAA,GAAAmT,GAAA,GAA9CrB,GAAWsB,GAAA,GAAEoB,GAAcpB,GAAA,GAC5BqB,IAAoBzT,EAAAA,EAAAA,cAAY,kBAAMwT,IAAe,SAACE,GAAC,OAAMA,CAAC,GAAC,GAAE,CAACF,KAExEd,IAA0BxT,EAAAA,EAAAA,UAAS,IAAGyT,IAAA3T,EAAAA,EAAAA,GAAA0T,GAAA,GAA/ByB,GAAKxB,GAAA,GAAEuF,GAAQvF,GAAA,GACtBG,IAA0D5T,EAAAA,EAAAA,WAAS,GAAM6T,IAAA/T,EAAAA,EAAAA,GAAA8T,GAAA,GAAlEqF,GAAqBpF,GAAA,GAAEqF,GAAwBrF,GAAA,GAEtDG,IAAwDhU,EAAAA,EAAAA,WAAS,GAAMiU,IAAAnU,EAAAA,EAAAA,GAAAkU,GAAA,GAAhE3J,GAAoB4J,GAAA,GAAE3J,GAAuB2J,GAAA,GACpDG,IAAoDpU,EAAAA,EAAAA,WAAS,GAAMqU,IAAAvU,EAAAA,EAAAA,GAAAsU,GAAA,GAA5D3J,GAAkB4J,GAAA,GAAE3J,GAAqB2J,GAAA,GAE1ChV,IAAoByB,EAAAA,EAAAA,cACzB,SAACX,EAAUI,GAEV,OADAoY,GAAsB,GACftH,EAAY,WAAYlR,EAAUI,GACvC8K,MAAK,SAACK,GACN,OAAQA,EAAIK,QACX,KAAK,IACJiN,GAAS7Y,GACLuL,EAAIyN,WACPnH,EAAYoG,EAAUG,gBAEtB7M,EAAI4D,OAAOjE,KAAI,eAAAC,GAAAC,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAC,EAAO2N,GAAQ,IAAAC,EAAAC,EAAA,OAAA9N,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACxB/E,EAAgB3G,EAAUI,GAAS,QACf,KAAtB6Y,aAAQ,EAARA,EAAW,SACdzF,GACCoD,EAAAA,EAAAA,KAAiB,QAAdsC,EAACD,aAAQ,EAARA,EAAUlF,WAAG,IAAAmF,EAAAA,EAAI,IAAI,SAACrC,GAAG,MAAM,CAClChV,MAAOgV,EAAIhV,MACXwB,MAAOwT,EAAI/P,GACX,KAEF8M,EAASqF,SAAa,QAALE,EAARF,EAAUlF,WAAG,IAAAoF,OAAA,EAAbA,EAAgB,GAAGrS,IAC5B+K,EAAYoG,EAAUE,WACtBK,GAAsB,IAEtB5Z,OAAOC,SAASwC,OAAOlC,EAAcmC,gBACrC,wBAAAkK,EAAAM,OAAA,GAAAR,EAAA,KACD,gBAAAS,GAAA,OAAAZ,EAAAa,MAAA,KAAA3D,UAAA,EAfc,IAiBhB,MACD,KAAK,IACJ0B,EACCrK,EACC,wBACA,+DAGF8Y,GAAsB,GACtB,MACD,KAAK,IACJzO,EACCrK,EACC,iBACA,uGAGF8Y,GAAsB,GACtB,MACD,KAAK,IACJzO,EACCrK,EAAE,qBAAsB,kDAEzB8Y,GAAsB,GACtB,MACD,QACCrO,IAAwB,GACxBqO,GAAsB,GAEzB,IAAE,OACK,kBAAMA,GAAsB,EAAM,GAC3C,GACA,CAACrZ,EAAcmC,eAAgB5B,IAG1BwX,IAAcvW,EAAAA,EAAAA,cACnB,SAACC,GACAA,EAAEC,iBACF6X,GAAc,GACdnH,EAAUoC,EAAOI,EAAKtC,IACpBvG,MAAK,SAACK,GACa,MAAfA,EAAIK,OACHL,EAAIyN,WACPnH,EAAYoG,EAAUG,gBAEtBxZ,OAAOC,SAASwC,OAAOlC,EAAcmC,iBAGtCoX,GAAc,GACdE,GAAgB,GAElB,IAAE,OACK,kBAAMF,GAAc,EAAM,GACnC,GACA,CAAC/E,EAAOI,EAAKtC,GAAatS,EAAcmC,iBAGnC2K,IAAatL,EAAAA,EAAAA,cAAY,kBAAM4J,IAAsB,EAAM,GAAE,CAACA,KAC9D2B,IAAsBvL,EAAAA,EAAAA,cAC3B,kBAAM4J,IAAsB,EAAK,GACjC,CAACA,KAEI4B,IAAqBxL,EAAAA,EAAAA,cAC1B,kBAAMwJ,IAAwB,EAAM,GACpC,CAACA,KAGI9K,IAAwBsB,EAAAA,EAAAA,cAAY,WACzCkR,EAAYoG,EAAUI,eACvB,GAAG,IAEH,OACC3W,EAAAA,cAAAA,EAAAA,SAAA,KACEkI,IAAaqO,EAAUhR,aACvBvF,EAAAA,cAAC3C,EAAe,CACfI,cAAeA,EACfC,cAAeA,EACfH,UAAWA,EACXC,kBAAmBA,GACnBK,QAASgZ,EACTlZ,sBAAuBA,KAGxBuK,IAAaqO,EAAUC,SACvBxW,EAAAA,cAACoB,EAAAA,GAAG,CAACc,YAAY,WAAWC,eAAe,SAASd,QAAS,CAAEqJ,SAAU,eACxE1K,EAAAA,cAACoD,EAAO,OAGT8E,IAAaqO,EAAUE,WACvBzW,EAAAA,cAAA,QAAMkB,SAAUsU,GAAajV,MAAO,CAAEY,MAAO,SAC5CnB,EAAAA,cAAA,SAAOE,KAAK,SAASK,MAAO,CAAEgP,QAAS,UACvCvP,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEC,OAAQ,UACvBtB,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,QAAQT,MAAM,OAAOW,OAAO,QACrC/C,EAAE,0BAA2B,6BAGhCgC,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,UACpBpC,EAAAA,cAACkW,EAAAA,GAAM,CACNC,MAAOtE,EACPuE,WAAW,QACXjW,MAAOnC,EAAE,aAAc,yBACvByD,SAAUyQ,EACVmE,iBAAkBxE,EAAQ,MAG5B7R,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,UACpBpC,EAAAA,cAACuB,EAAAA,GAAK,CACLC,aAAc6Q,EACdzQ,SAAUqV,EACV5W,SAAU3C,EACV+D,SAAUmR,EACVzS,MAAOnC,EAAE,WAAY,+BACrB8D,gBAAgB,WAGlB9B,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,cAAgBC,cAAc,cAClDrC,EAAAA,cAACc,EAAAA,GAAI,CAACV,MAAM,QAAQS,KAAK,QAAQoB,SAAS,cACxCgV,GACAjZ,EAAE,iBAAkB,oDACnBiZ,GAAgBjX,EAAAA,cAAA,aAGpBA,EAAAA,cAACoB,EAAAA,GAAG,CAACc,YAAY,WAAWC,eAAe,aAAad,QAAS,CAAEqJ,SAAU,UAC5E1K,EAAAA,cAACC,EAAAA,GAAM,CACNK,QAASkV,GACTnV,SAAU3C,EACVyC,MAAOnC,EAAE,QAAS,SAClBmD,MAAM,OACNtD,QAASkZ,KAGX/W,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,cAClBrC,EAAAA,cAACsW,EAAAA,GAAQ,CACR3U,MAAOoO,GACP5P,MAAOnC,EAAE,sBAAuB,oCAChCsC,QAASoS,OAKZxK,IAAaqO,EAAUG,gBACvB1W,EAAAA,cAAC0X,EAAkB,CAClB3M,UAAWqM,GACXpM,aAAcqM,GACd5Z,cAAeA,EACfa,SAAU8U,KAGXlL,IAAaqO,EAAUI,gBACvB3W,EAAAA,cAAC2X,EAAc,CAACla,cAAeA,EAAeC,cAAeA,IAE9DsC,EAAAA,cAAC2K,EAAAA,GAAQ,CACRlI,KAAM+F,GACNrI,MAAOnC,EAAE,aAAc,4BACvB4M,YAAa5M,EAAE,UAAW,WAC1B6M,cAAeL,GACf9H,QAAS+H,GACTK,gBAAiB,IACjB5K,KAAK,UAENF,EAAAA,cAACwC,EAAY,CAACC,KAAMmG,GAAoBlG,QAAS6H,KAGpD,C,aCrPe,SAASqN,IACvB,IAAA9Z,GAAYC,EAAAA,EAAAA,KAALC,GAAqBC,EAAAA,EAAAA,GAAAH,EAAA,GAApB,GACRI,GAA0BC,EAAAA,EAAAA,WAAS,GAAKE,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAAjC2Z,EAAMxZ,EAAA,GAAEyZ,EAAOzZ,EAAA,GAChBkM,GAAatL,EAAAA,EAAAA,cAAY,kBAAM6Y,GAAQ,EAAM,GAAE,IAErD,OACC9X,EAAAA,cAAC2K,EAAAA,GAAQ,CACRlI,KAAMoV,EACN1X,MAAOnC,EACN,wBACA,0EAED0E,QAAS6H,EACTO,gBAAiB,IACjB5K,KAAK,QACL,cAAY,yBAGf,C,qkBCfe,SAAS6X,EAAYza,GAA6B,IAA1BsC,EAActC,EAAdsC,eAAgBoY,EAAM1a,EAAN0a,OACtD9Z,GAA0CC,EAAAA,EAAAA,UAAS,MAAKE,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAAjDT,EAAaY,EAAA,GAAE4Z,EAAgB5Z,EAAA,GACtCG,GAA0BL,EAAAA,EAAAA,WAAS,GAAMM,GAAAR,EAAAA,EAAAA,GAAAO,EAAA,GAAlC0Z,EAAKzZ,EAAA,GAAE0Z,EAAQ1Z,EAAA,GACtB0J,GAA0ChK,EAAAA,EAAAA,WAAS,GAAKiK,GAAAnK,EAAAA,EAAAA,GAAAkK,EAAA,GAAjDzK,EAAa0K,EAAA,GAAEgQ,EAAgBhQ,EAAA,GAiCtC,OA/BA+D,EAAAA,EAAAA,YAAU,WACT,IAAIkM,GAAqB,EAiBzB,OC/BK,SAA0BL,GAChC,IAAMhb,EAAY,IAAIC,gBAEtB,OADI+a,GAAQhb,EAAUsb,OAAO,SAAUN,GAChChP,MAAM,sBAAD1J,OAAuBtC,GAAa,CAC/CiM,OAAQ,QACNO,MAAK,SAACK,GACR,GAAmB,MAAfA,EAAIK,OAAgB,OAAOL,EAAI4D,OACnC,MAAMO,MAAM,gBACb,GACD,CDOEuK,CAAiBP,GACfxO,MAAK,SAACK,GACFwO,IACHJ,GAAiB,SAACO,GAAI,OAAAC,EAAAA,EAAAA,EAAA,GAClBD,GACA3O,GAAG,IACNjK,eAAAA,GAAc,IAEfwY,GAAiB,GAEnB,IAAE,OACK,WAEFC,GAAoBF,GAAS,EAClC,IACM,WACNE,GAAqB,CACtB,CACD,GAAG,CAACzY,EAAgBoY,KAEpB7L,EAAAA,EAAAA,YAAU,WACT,IAAMnP,EAAY,IAAIC,gBAAgBC,OAAOC,SAASC,QAClDK,GAAiBT,EAAUqC,IAAI,YAA2C,WAA7BrC,EAAUoB,IAAI,YC3B1D,SAAsBX,GAC5B,OAAOuL,MAAM,aAAD1J,OAAc7B,EAAcib,cAAa,WAAW,CAC/DzP,OAAQ,QACNO,MAAK,SAACK,GACR,GAAmB,MAAfA,EAAIK,OAAgB,MAAM8D,MAAM,gBACrC,GACD,CDuBG2K,CAAalb,GAAc,OAAO,kBAAMmb,QAAQC,IAAI,gBAAgB,GAEtE,GAAG,CAACpb,IAEAya,EAAclY,EAAAA,cAAC4X,EAAmB,MAEhB,OAAlBna,GAA2BA,EAAcmC,eAEzCnC,EAAcib,eAAiB,GAAKjb,EAAcqb,eAAiB,EAC/D9Y,EAAAA,cAAC4W,EAAc,CAACnZ,cAAeA,EAAeC,cAAeA,IACjED,EAAcib,eAAiB,GAAKjb,EAAcqb,eAAiB,EAC/D9Y,EAAAA,cAACgI,EAAc,CAACvK,cAAeA,EAAeC,cAAeA,IAE9DsC,EAAAA,cAAC+Y,EAAAA,EAAmB,MAPyC/Y,EAAAA,cAAA,WAQrE,CE5DA,QAAe,IAA0B,8CCAzC,EAAe,IAA0B,8CCAzC,EAAe,IAA0B,8CCAzC,EAAe,IAA0B,8CCAzC,EAAe,IAA0B,8CCgCzC,EAzBA,WACC,IAAA9B,GAA0CC,EAAAA,EAAAA,WAAS,GAAME,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAAlD8a,EAAa3a,EAAA,GAAE4a,EAAgB5a,EAAA,GAqBtC,OAnBA8N,EAAAA,EAAAA,YAAU,WACT,IAAM+M,EAAahc,OAAOic,WAAW,oBAE/BC,EAAoB,WACzBH,EAAiBC,EAAWG,QAC7B,EASA,OANAD,IAGAF,EAAWI,iBAAiB,SAAUF,GAG/B,WACNF,EAAWK,oBAAoB,SAAUH,EAC1C,CACD,GAAG,IAEIJ,CACR,EChBA,IAAMzC,EAAY,CACjBhR,YAAa,cACbiR,QAAS,UACTC,UAAW,aACXC,eAAgB,mBAGX8C,GAAc,SAAClb,EAAUI,GAC9B,OAAOsK,MAAM,4BAA6B,CACzCC,OAAQ,OACRC,QAAS,CACR,eAAgB,oBAEjBC,KAAMC,KAAKC,UAAU,CACpBgD,KAAM,CACL8H,YAAa,CACZ5H,MAAO,oBACPC,iBAAkB,IAClBC,uBAAwB,IACxBgN,iBAAkB,IAClB/M,QAAS,CACRC,GAAI,OACJC,SAAUtO,GAEXI,SAAU,CACTkO,SAAUlO,GAEXmO,MAAO,CAAC,CAAEC,KAAM,CAAEzH,KAAM,wCAK7B,EAEO,SAASqU,GAAUpc,GAAqB,IAAlBsC,EAActC,EAAdsC,eACpB5B,GAAMD,EAAAA,EAAAA,KAANC,EACRE,GAAkCC,EAAAA,EAAAA,YAAUE,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAArCX,EAASc,EAAA,GAAEgK,EAAYhK,EAAA,GAC9BG,GAA8BL,EAAAA,EAAAA,WAAS,GAAMM,GAAAR,EAAAA,EAAAA,GAAAO,EAAA,GAAtCX,EAAOY,EAAA,GAAEwJ,EAAUxJ,EAAA,GAC1B0J,GAAgChK,EAAAA,EAAAA,UAASoY,EAAUhR,aAAY6C,GAAAnK,EAAAA,EAAAA,GAAAkK,EAAA,GAAxDD,EAAQE,EAAA,GAAE+H,EAAW/H,EAAA,GAC5BE,GAA0DnK,EAAAA,EAAAA,WAAS,GAAMoK,GAAAtK,EAAAA,EAAAA,GAAAqK,EAAA,GAAlE8O,EAAqB7O,EAAA,GAAE8O,EAAwB9O,EAAA,GACtDG,GAAoDvK,EAAAA,EAAAA,WAAS,GAAMwK,GAAA1K,EAAAA,EAAAA,GAAAyK,EAAA,GAAxCoO,GAAFnO,EAAA,GAAuBA,EAAA,IAChDgD,GAA0BxN,EAAAA,EAAAA,UAAS,IAAGyN,GAAA3N,EAAAA,EAAAA,GAAA0N,EAAA,GAA/ByH,EAAKxH,EAAA,GAAEuL,EAAQvL,EAAA,GAEhBpO,GAAoByB,EAAAA,EAAAA,cACzB,SAACX,EAAUI,GAGV,OAFAuJ,GAAW,GACX6O,GAAsB,GACf0C,GAAYlb,EAAUI,GAC3B8K,KAAI,eAAAC,GAAAC,EAAAA,EAAAA,GAAAC,IAAAA,MAAC,SAAAC,EAAOC,GAAG,IAAAuD,EAAAD,EAAAwM,EAAAC,EAAA,OAAAjQ,IAAAA,MAAA,SAAAG,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGEH,EAAI4D,OAAM,OAA1BN,EAAOrD,EAAA4D,KAAA5D,EAAAE,KAAG,GAAH,oBAAAF,EAAAC,KAAG,EAAHD,EAAAG,GAAAH,EAAA,SAAAA,EAAAE,KAAG,GAEMH,EAAG,QAAnBsD,EAAOrD,EAAA4D,KAAA,QAGW,GADnBoJ,GAAsB,GACtBK,EAAS7Y,GACE,QADQ8O,EACfD,SAAO,IAAAC,GAAM,QAANA,EAAPA,EAASf,YAAI,IAAAe,IAAbA,EAAeU,MAAK,CAAAhE,EAAAE,KAAA,YAEJ,QAAlB2P,EAAAxM,EAAQd,KAAKyB,aAAK,IAAA6L,GAAQ,QAARA,EAAlBA,EAAoB5L,cAAM,IAAA4L,GAAO,QAAPA,EAA1BA,EAA4B3L,aAAK,IAAA2L,IAAjCA,EAAmC1L,MACS,6BAA1B,QAAlB2L,EAAAzM,EAAQd,KAAKyB,aAAK,IAAA8L,GAAQ,QAARA,EAAlBA,EAAoB7L,cAAM,IAAA6L,GAAO,QAAPA,EAA1BA,EAA4B5L,aAAK,IAAA4L,OAAA,EAAjCA,EAAmC3L,MAAkC,CAAAnE,EAAAE,KAAA,SAErEmG,EAAYoG,EAAUG,gBAAgB5M,EAAAE,KAAA,uBAEhC,IAAIgE,MAAMb,EAAQd,KAAKyB,MAAM+L,OAAO/Y,MAAK,QAAAgJ,EAAA+D,GAGzChE,EAAIK,OAAMJ,EAAAE,KACZ,MADYF,EAAA+D,GACT,GAGH,MAHG/D,EAAA+D,IAIH,MADG/D,EAAA+D,GAAA,GAUH,MATG/D,EAAA+D,GASA,GASH,MATG/D,EAAA+D,GASA,oBArB0D,OAAjE3Q,OAAOC,SAASwC,OAAOC,GAAkB1C,OAAOC,SAAS2c,QAAQhQ,EAAAK,OAAA,oBAU/C,OANlB9B,EACCrK,EACC,wBACA,+DAGFiK,GAAW,GAAO6B,EAAAK,OAAA,oBASA,OANlB9B,EACCrK,EACC,iBACA,uGAGFiK,GAAW,GAAO6B,EAAAK,OAAA,oBAMA,OAHlB9B,EACCrK,EAAE,qBAAsB,kDAEzBiK,GAAW,GAAO6B,EAAAK,OAAA,oBAGlBlC,GAAW,GAAO,yBAAA6B,EAAAM,OAAA,GAAAR,EAAA,kBAEpB,gBAAAS,GAAA,OAAAZ,EAAAa,MAAA,KAAA3D,UAAA,EAnDI,IAmDH,OACK,SAACZ,GACPkC,GAAW,GACX6O,GAAsB,GAClB/Q,EAAIoJ,QAAQC,WAAW,yBAC1B/G,EACCrK,EACC,wBACA,+DAGEqK,EAAatC,EAAIoJ,QACvB,GACF,GACA,CAACvP,EAAgB5B,IAGZL,GAAwBsB,EAAAA,EAAAA,cAAY,WACzCkR,EAAYoG,EAAUI,eACvB,GAAG,IAEH,OACC3W,EAAAA,cAAAA,EAAAA,SAAA,KACEkI,IAAaqO,EAAUhR,aACvBvF,EAAAA,cAAC3C,EAAe,CACfI,cAAe,CAAEmC,eAAAA,EAAgBG,YAAa,CAAC,WAC/CrC,eAAe,EACfH,UAAWA,EACXC,kBAAmBA,EACnBK,QAASA,EACTF,sBAAuBA,IAGxBuK,IAAaqO,EAAUG,gBACvB1W,EAAAA,cAAC0X,EAAkB,CAClB3M,UAAWqM,EACXpM,aAAcqM,EACd5Z,cAAe,CACdmC,eAAgB1C,OAAOC,SAAS2c,OAChC/Z,YAAa,CAAC,WAEfzB,SAAU8U,IAGXlL,IAAaqO,EAAUI,gBACvB3W,EAAAA,cAAC2X,EAAc,CACdla,cAAe,CAAEmC,eAAgB1C,OAAOC,SAAS2c,OAAQ/Z,YAAa,CAAC,WACvErC,eAAe,IAKpB,C,ynBCnHA,IAAMqc,IAAiBhX,EAAAA,EAAAA,SAAOkT,EAAAA,IAAUhT,WAAA,CAAAC,YAAA,8BAAAC,YAAA,eAAjBJ,CAAiB,0HAErB,SAACiX,GAAK,OAAKA,EAAMC,eAAe,IAGhD,SAAA3c,GAAa,OAAAA,EAAV4c,aACWC,EAAAA,KACfC,EAAAA,EAAAA,KAAG,uCAGF,IACA,SAAA3Q,GAAc,OAAAA,EAAX4Q,cAEJD,EAAAA,EAAAA,KAAG,yHAEiBE,EAEnB,IAGGC,GAAgBxX,EAAAA,QAAOyX,IAAGvX,WAAA,CAAAC,YAAA,6BAAAC,YAAA,eAAVJ,CAAU,mFAM1B0X,IAAc1X,EAAAA,EAAAA,SAAOkT,EAAAA,IAAUhT,WAAA,CAAAC,YAAA,2BAAAC,YAAA,eAAjBJ,CAAiB,qIAGhB,SAAA4Q,GAAQ,OAAAA,EAAL+G,MAAkBC,QAAQC,MAAMtU,OAAO,IAO5D,SAAA+N,GAAa,OAAAA,EAAV6F,aACWC,EAAAA,KACfC,EAAAA,EAAAA,KAAG,iEAKF,IAGH,SAASS,KACR,IAAQC,GAAuBrJ,EAAAA,EAAAA,YAAWsJ,GAAAA,GAAlCD,mBACFE,GAAwBC,EAAAA,GAAAA,KAM9B,OALA9O,EAAAA,EAAAA,YAAU,WACL6O,GACHF,EAAmBE,EAErB,GAAG,CAACA,EAAuBF,IACpB,IACR,CAEe,SAASI,GAAUvG,GAA6B,IAAAwG,EAA1BnL,EAAO2E,EAAP3E,QAASoL,EAAazG,EAAbyG,cAC7Ctd,GAAYC,EAAAA,EAAAA,KAALC,GAAqBC,EAAAA,EAAAA,GAAAH,EAAA,GAApB,GACRI,GAAwBC,EAAAA,EAAAA,UAAS,MAAKE,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAA/Bmd,EAAIhd,EAAA,GAAEid,EAAOjd,EAAA,GACpBG,GAAsCL,EAAAA,EAAAA,WAAS,GAAMM,GAAAR,EAAAA,EAAAA,GAAAO,EAAA,GAA9C+c,EAAW9c,EAAA,GAAE+c,EAAc/c,EAAA,GAE5BzB,EAAY,IAAIC,gBAAgBC,OAAOC,SAASC,QACtD+K,GAA4ChK,EAAAA,EAAAA,UAC3CwH,EAAqB3I,EAAUoB,IAAI,oBACnCgK,GAAAnK,EAAAA,EAAAA,GAAAkK,EAAA,GAFMvI,EAAcwI,EAAA,GAAEqT,EAAiBrT,EAAA,GAGxCE,GAA4BnK,EAAAA,EAAAA,UAAgC,QAAxBgd,EAACne,EAAUoB,IAAI,iBAAS,IAAA+c,EAAAA,EAAIvb,GAAe2I,GAAAtK,EAAAA,EAAAA,GAAAqK,EAAA,GAAxE0P,EAAMzP,EAAA,GAAEmT,EAASnT,EAAA,GAExBG,GAAoBvK,EAAAA,EAAAA,UAAS8b,GAAgBtR,GAAA1K,EAAAA,EAAAA,GAAAyK,EAAA,GAAtCiT,EAAEhT,EAAA,GAAEiT,EAAKjT,EAAA,GAChBgD,GAAsCxN,EAAAA,EAAAA,WAAS,GAAKyN,GAAA3N,EAAAA,EAAAA,GAAA0N,EAAA,GAA7C0O,EAAWzO,EAAA,GAAEiQ,EAAcjQ,EAAA,GAClCgF,GAAsCzS,EAAAA,EAAAA,UAAS,CAAC,GAAE0S,GAAA5S,EAAAA,EAAAA,GAAA2S,EAAA,GAA9BkL,GAAFjL,EAAA,GAAgBA,EAAA,IAClCG,GAA8C7S,EAAAA,EAAAA,UAAS,IAAG8S,GAAAhT,EAAAA,EAAAA,GAAA+S,EAAA,GAAnD+K,EAAe9K,EAAA,GAAE+K,GAAkB/K,EAAA,GAClC6J,IAAuBrJ,EAAAA,EAAAA,YAAWsJ,GAAAA,GAAlCD,mBACAmB,IAAkBpd,EAAAA,EAAAA,KAAlBod,cACR7K,IAAkCjT,EAAAA,EAAAA,WAAS,GAAKkT,IAAApT,EAAAA,EAAAA,GAAAmT,GAAA,GAAzC8K,GAAS7K,GAAA,GAAE8K,GAAY9K,GAAA,GAC9BM,IAAoDxT,EAAAA,EAAAA,WAAS,GAAKyT,IAAA3T,EAAAA,EAAAA,GAAA0T,GAAA,GAA3DyK,GAAkBxK,GAAA,GAAEyK,GAAqBzK,GAAA,GAChDG,IAA4C5T,EAAAA,EAAAA,WAAS,GAAM6T,IAAA/T,EAAAA,EAAAA,GAAA8T,GAAA,GAApDuK,GAActK,GAAA,GAAEuK,GAAiBvK,GAAA,GAClCkI,GCrHQ,WACd,IAAMsC,GAAQvd,EAAAA,EAAAA,cAAY,SAACkC,GAC1B,OAAIA,EAAQ,KACPA,EAAQ,IACJsb,EAAAA,GAEDC,EAAAA,GAEDvC,EAAAA,EACR,GAAG,IAEHjc,GAAoCC,EAAAA,EAAAA,UAASgc,EAAAA,IAAQ9b,GAAAJ,EAAAA,EAAAA,GAAAC,EAAA,GAA9Cgc,EAAU7b,EAAA,GAAEse,EAAate,EAAA,GAahC,OAXA8N,EAAAA,EAAAA,YAAU,WACT,IAAMyQ,EAAe,WACpBD,EAAcH,EAAMtf,OAAO2f,YAC5B,EAGA,OAFAD,IACA1f,OAAOoc,iBAAiB,SAAUsD,GAC3B,WACN1f,OAAOqc,oBAAoB,SAAUqD,EACtC,CACD,GAAG,CAACJ,IAEGtC,CACR,CD4FoB4C,GACb9D,GAAgB+D,KAEtB5Q,EAAAA,EAAAA,YAAU,WACW5H,aAAaC,QAAQ,4BAExC6X,IAAsB,EAExB,GAAG,IACH,IAAMW,IAAeC,EAAAA,GAAAA,KACrB9K,IAAoChU,EAAAA,EAAAA,WAAS,GAAKiU,IAAAnU,EAAAA,EAAAA,GAAAkU,GAAA,GAA3C+K,GAAU9K,GAAA,GAAE+K,GAAa/K,GAAA,GAC1BgL,GAAqBnZ,EAAAA,KAAgBoZ,EAAAA,IAAUpZ,EAAAA,KAAgBqZ,EAAAA,IAErEC,EAAAA,EAAAA,kBAAgB,WACf,IAAIlF,GAAqB,EAuHzB,OArHI+C,GACHoC,EAAAA,GAAAA,GAAexN,EAASgI,EAAQA,GAC9BxO,MAAK,SAACK,GACDjK,GAAgB6b,EAAkB9V,EAAqBkE,EAAI4T,YAC3DzF,GAAQ0D,EAAU7R,EAAI6T,kBAC3BzB,GAAcpS,EAAI6T,kBAElB,IAAMC,EAAQ,CAAC,EAEf,GAAItF,EAAoB,CA0BvB,GAzBIxO,EAAI+T,2BACPhC,EAAM/R,EAAI+T,0BACV/B,GAAe,IAGZhS,EAAIgU,eACPF,EAAMG,MAAQjU,EAAIgU,cAClBF,EAAMxc,MAAQ,SAEdwc,EAAMG,MAAQC,EACdJ,EAAMxc,MAAQ,SAGX0I,EAAImU,qBACPL,EAAM9X,IAAMgE,EAAImU,qBAEhBL,EAAM9X,IAAM,GAGTgE,EAAIoU,eACPnW,SAASlF,MAAQiH,EAAIoU,eAErBnW,SAASlF,MAAQ5E,EAAE,0BAA2B,2BAG3C6L,EAAIqU,iBAAkB,CACzB,IAAMC,EACLrW,SAASsW,cAAc,sBAAwBtW,SAASuW,cAAc,QACvEF,EAAKje,KAAO,eACZie,EAAKG,IAAM,gBACXH,EAAKI,KAAO1U,EAAIqU,iBAChBpW,SAAS0W,qBAAqB,QAAQ,GAAGC,YAAYN,EACtD,CAEA,GAAItU,EAAI6U,kBAAmB,CAC1B,IAAMC,EAAW9U,EAAI6U,kBACjBC,EAASC,SACZ9C,GAAe,SAAC+C,GAAE,OAAApG,GAAAA,GAAA,GACdoG,GAAE,IACL,kBAAmBxY,EAAiB,CACnCC,QAAS,IAAFhH,OAAMqf,EAASC,YACrB,IAGAD,EAASG,WACZhD,GAAe,SAAC+C,GAAE,OAAApG,GAAAA,GAAA,GACdoG,GAAE,IACL,oBAAqBxY,EAAiB,CACrCC,QAAS,IAAFhH,OAAMqf,EAASG,cACrB,GAGL,CAEA,GAAgB,IAAZ9O,EAAe,CAMlB,GALAnR,EAAAA,EAAoBkgB,SAASlV,GAEzBA,SAAAA,EAAKmV,qBACRlX,SAASlF,MAAQiH,EAAImV,oBAElBnV,SAAAA,EAAKoV,qBAAsB,CAC9B,IAAMd,EACLrW,SAASsW,cAAc,sBAAwBtW,SAASuW,cAAc,QACvEF,EAAKje,KAAO,eACZie,EAAKG,IAAM,gBACXH,EAAKI,KAAO1U,EAAIoV,qBAChBnX,SAAS0W,qBAAqB,QAAQ,GAAGC,YAAYN,EACtD,CACItU,SAAAA,EAAKqV,uBACJrV,SAAAA,EAAKsV,mCACRvD,EAAM/R,EAAIsV,kCACVtD,GAAe,IAGZhS,SAAAA,EAAKuV,6BACRzB,EAAMG,MAAQjU,EAAIuV,2BAClBzB,EAAMxc,MAAQ,UAGX0I,SAAAA,EAAKwV,+BACRzD,EAAM/R,EAAIwV,8BACVxD,GAAe,IAGZhS,SAAAA,EAAKyV,yBACR3B,EAAMG,MAAQjU,EAAIyV,uBAClB3B,EAAMxc,MAAQ,SAGZ0I,SAAAA,EAAK0V,0BACRvD,GAAmBnS,EAAI0V,0BAExB5B,EAAM9X,IAAMgE,SAAAA,EAAK2V,gBAAkB3V,EAAI2V,gBAAkBC,EAAAA,EAC1D,CACAnE,EAAQqC,EACT,CACD,IAAE,OACK,WAEFtF,GAAoBmD,GAAe,EACxC,KAEDF,EAAQ,CAAEwC,MAAOC,EAAc5c,MAAO,QAAS0E,IAAK4Z,EAAAA,KACpD3X,SAASlF,MAAQ5E,EAAE,0BAA2B,2BAC9Cmf,IAAc,IAGR,WACN9E,GAAqB,CACtB,CACD,GAAG,CAACra,EAAGgS,EAASgI,EAAQpY,EAAgBwb,EAAeN,GAAoBmB,KAE3E,IAAMyD,GAAW,SAAC1F,GACjB,IAAA2F,EAAyB3F,GAAS,CAAC,EAA3B4F,EAAED,EAAFC,GAAIC,EAAQF,EAARE,SACZ,OACC7f,EAAAA,cAAA,KACCue,KAAMqB,GAAM,IACZle,OAAO,SACP4c,IAAI,aACJ/d,MAAO,CACN+B,mBAAoB,YACpBC,OAAQ,UACRnC,MAAO4c,IAAgB,YAGvB6C,EAGJ,EAEA,GAAItE,EAAa,OAAOvb,EAAAA,cAAC4X,EAAmB,MAE5C,GAAIyD,EAAM,CACT,IAAMyE,GACL9f,EAAAA,cAAA,OACC+f,IAAI,OACJC,IAAK3E,EAAKyC,MACV3c,MAAOka,EAAKla,MACZZ,MAAO,CACNU,SAAU,OACVqO,UAAW,QACXC,QAAS,QACT0Q,WAAY,OACZC,YAAa,QAEd,cAAY,SAId,OACClgB,EAAAA,cAAC+Z,GAAc,CAACG,WAAYA,GAAYG,YAAaA,EAAaJ,gBAAiB0B,GAClF3b,EAAAA,cAAC6a,GAAkB,MACnB7a,EAAAA,cAACua,GAAa,CAAC,cAAY,kBAC1Bva,EAAAA,cAACya,GAAW,CAACpY,cAAc,gBAAgB6X,WAAYA,IACtDla,EAAAA,cAACiW,EAAAA,GAAS,CAAC5T,cAAc,aAAagN,OAAO,QAC5CrP,EAAAA,cAACmgB,EAAAA,GAAO,CAACxe,MAAM,cAAcQ,eAAe,SAAShB,MAAM,QAC1DnB,EAAAA,cAACiW,EAAAA,GAAS,CAAC9T,eAAe,UACxBkZ,EAAKxV,IACL7F,EAAAA,cAAA,KAAG0B,OAAO,SAAS6c,KAAMlD,EAAKxV,IAAKyY,IAAI,cACrCwB,IAGFA,MAKH1E,EACApb,EAAAA,cAAC+X,EAAY,CAACC,OAAQA,EAAQpY,eAAgBA,IAE9CI,EAAAA,cAAC0Z,GAAU,CAAC9Z,eAAgBA,IAE7BI,EAAAA,cAACiW,EAAAA,GAAS,CACT9T,eAAe,aACfkN,OAAO,OACPhO,QAAS,CAAEC,OAAQ,aAAcc,IAAK,eAEtCpC,EAAAA,cAACoB,EAAAA,GAAG,CAACC,QAAS,CAAEe,IAAK,QAASd,OAAQ,SAAW8e,KAAK,UACrDpgB,EAAAA,cAACmgB,EAAAA,GAAO,CAACE,MAAM,cACdrgB,EAAAA,cAACsgB,EAAAA,GAAI,CACJlgB,MAAM,YACNmgB,KAAMnD,GAAqB,mBAAqB,cAChDvc,KAAK,YAIPb,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,QAAQT,MAAM,YAAYW,OAAO,SAC3Cf,EAAAA,cAAC0V,EAAAA,EAAK,CACLC,QACCyH,GAAqB,0BAA4B,4BAElDxH,SACCwH,GACG,yCACA,wDAEJvH,WAAY,CACXtI,EACCvN,EAAAA,cAAC0f,GAAQ,CACRE,GACC1C,GACGsD,EAAAA,GACAC,EAAAA,UAST1E,EACA/b,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,QAAQoB,SAAS,cAC1B8Z,GAGF/b,EAAAA,cAACc,EAAAA,GAAI,CAACD,KAAK,QAAQoB,SAAS,aAAa,cAAY,kBAAiB,cAErE,IAAA3C,QAAK,IAAIiI,MAAOmZ,cAAa,cAC5B1iB,EAAE,sBAAuB,2BAM9Boe,IAAsBlC,KAAeC,EAAAA,IAAWnB,IAChDhZ,EAAAA,cAAC2C,EAAAA,GAAK,CACL9B,KAAMqZ,KAAeuC,EAAAA,GAAS,QAAU,SACxC7Z,MAAO5E,EAAE,gCAAiC,iCAC1CyE,KAAMyZ,GACNyE,aACC3gB,EAAAA,cAACiW,EAAAA,GAAS,CAAC/T,YAAY,aAAaG,cAAc,YACjDrC,EAAAA,cAACoB,EAAAA,GAAG,CAACb,MAAO,CAAEqgB,IAAK,WAGrBC,eAAa,EACbne,QAAS,WACJ4Z,IACH/X,aAAaS,QAAQ,0BAA2BoE,KAAKC,WAAU,IAEhE8S,IAAa,EACd,GAEAnc,EAAAA,cAACoB,EAAAA,GAAG,CACHC,QAAS,CAAEqJ,SAAU,cACrBrI,cAAc,SACdF,eAAe,UAEfnC,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,SAASF,eAAe,SAASd,QAAS,CAAEC,OAAQ,UACtEtB,EAAAA,cAACc,EAAAA,GAAI,CACJP,MAAO,CAAEugB,WAAY,UACrBjgB,KAAMqZ,KAAeuC,EAAAA,GAAS,QAAU,SACxCxa,SAAS,cAETjC,EAAAA,cAAC0V,EAAAA,EAAK,CACLC,QAAQ,iBACRC,SAAS,8IACTC,WAAY,CAAEC,KAAM9V,EAAAA,cAAA,oBAIvBA,EAAAA,cAACoB,EAAAA,GAAG,CAACiB,cAAc,SAASF,eAAe,SAASd,QAAS,CAAEC,OAAQ,UACtEtB,EAAAA,cAAA,KAAG0B,OAAO,SAAS6c,KAAMwC,EAAAA,GAAgBzC,IAAI,cAC5Cte,EAAAA,cAAA,OACC+f,IAAI,kBACJC,IAAKgB,EACLzgB,MAAO,CACN+O,UAAW,QACXC,QAAS,QACT0Q,WAAY,OACZC,YAAa,WAIhBlgB,EAAAA,cAAA,KAAG0B,OAAO,SAAS6c,KAAM0C,EAAAA,GAAe3C,IAAI,cAC3Cte,EAAAA,cAAA,OACC+f,IAAI,iBACJC,IAAKkB,EACL3gB,MAAO,CACN+O,UAAW,QACXC,QAAS,QACT0Q,WAAY,OACZC,YAAa,YAKjBlgB,EAAAA,cAACoB,EAAAA,GAAG,CAACD,MAAM,MAAMkB,cAAc,SAASF,eAAe,UACtDnC,EAAAA,cAACsW,EAAAA,GAAQ,CACR6K,UAAU,UACVtgB,KAAK,QACLV,MAAOnC,EAAE,yBAA0B,0BACnC2D,MAAO2a,GACPhc,QAAS,WACRic,IAAmBD,GACpB,OAQR,CAEA,OAAO,IACR,C","sources":["webpack://carbonio-login-ui/./src/components-v1/credentials-form.jsx","webpack://carbonio-login-ui/./src/components-v1/modals.jsx","webpack://carbonio-login-ui/./src/components-v1/spinner.jsx","webpack://carbonio-login-ui/./src/utils.js","webpack://carbonio-login-ui/./src/components-v1/v1-login-manager.jsx","webpack://carbonio-login-ui/./src/services/v1-service.js","webpack://carbonio-login-ui/./src/components-v1/change-password-form.jsx","webpack://carbonio-login-ui/./src/services/v2-service.js","webpack://carbonio-login-ui/./src/components-v1/forget-password.jsx","webpack://carbonio-login-ui/./src/services/forget-password-service.js","webpack://carbonio-login-ui/./src/components-v1/v2-login-manager.jsx","webpack://carbonio-login-ui/./src/components-index/server-not-responding.jsx","webpack://carbonio-login-ui/./src/components-v1/form-selector.jsx","webpack://carbonio-login-ui/./src/services/auth-configuration-service.js","webpack://carbonio-login-ui/./assets/app-store.svg","webpack://carbonio-login-ui/./assets/carbonio_loginpage-retina.jpg","webpack://carbonio-login-ui/./assets/carbonio_loginpage.jpg","webpack://carbonio-login-ui/./assets/logo-carbonio.png","webpack://carbonio-login-ui/./assets/play-store.svg","webpack://carbonio-login-ui/./src/components-index/use-touch-device.jsx","webpack://carbonio-login-ui/./src/components-index/zimbra-form.jsx","webpack://carbonio-login-ui/./src/components-v1/page-layout.jsx","webpack://carbonio-login-ui/./src/components-index/use-screen-mode.jsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState, useMemo } from 'react';\n\nimport { Button, Input, PasswordInput, Row, Text, Tooltip } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n\nimport { useLoginConfigStore } from '../store/login/store';\n\nconst urlParams = new URLSearchParams(window.location.search);\n\nexport default function CredentialsForm({\n\tauthError,\n\tsubmitCredentials,\n\tconfiguration,\n\tdisableInputs,\n\tonClickForgetPassword,\n\tloading = false\n}) {\n\tconst [t] = useTranslation();\n\n\tconst [username, setUsername] = useState(urlParams.get('username') || '');\n\tconst [password, setPassword] = useState('');\n\tconst { carbonioDomainName, carbonioFeatureResetPasswordEnabled } = useLoginConfigStore();\n\n\tconst submitUserPassword = useCallback(\n\t\t(e) => {\n\t\t\te.preventDefault();\n\t\t\tif (username && password) {\n\t\t\t\tlet usernameModified = username;\n\t\t\t\tif (urlParams.has('virtualacctdomain')) {\n\t\t\t\t\tusernameModified = `${usernameModified.replace('@', '.')}@${urlParams.get(\n\t\t\t\t\t\t'virtualacctdomain'\n\t\t\t\t\t)}`;\n\t\t\t\t} else if (urlParams.has('customerDomain') && !username.includes('@')) {\n\t\t\t\t\tusernameModified = `${usernameModified.trim()}@${urlParams.get('customerDomain')}`;\n\t\t\t\t}\n\t\t\t\tif (!username.includes('@') && carbonioDomainName) {\n\t\t\t\t\tusernameModified = `${username}@${carbonioDomainName}`;\n\t\t\t\t}\n\t\t\t\tsubmitCredentials(usernameModified, password);\n\t\t\t}\n\t\t},\n\t\t[username, password, carbonioDomainName, submitCredentials]\n\t);\n\n\tconst samlButtonCbk = useCallback(() => {\n\t\twindow.location.assign(\n\t\t\t`/zx/auth/startSamlWorkflow?redirectUrl=${configuration.destinationUrl}`\n\t\t);\n\t}, [configuration]);\n\tconst samlButton = useMemo(() => {\n\t\tif (configuration.authMethods.includes('saml')) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t// used to keep the correct space where or not SAML is shown\n\t\t\t
\n\t\t);\n\t}, [configuration, disableInputs, samlButtonCbk, t]);\n\n\tconst clickForgetPassword = useCallback(\n\t\t(e) => {\n\t\t\te.preventDefault();\n\t\t\tonClickForgetPassword();\n\t\t},\n\t\t[onClickForgetPassword]\n\t);\n\n\tconst domainElement = useMemo(() => {\n\t\treturn !username?.includes('@') && carbonioDomainName ? (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t@{carbonioDomainName}\n\t\t\t\t\n\t\t\t\n\t\t) : null;\n\t}, [username, carbonioDomainName]);\n\n\treturn (\n\t\t e.preventDefault()}\n\t\t\tstyle={{ width: '100%' }}\n\t\t\tdata-testid=\"credentials-form\"\n\t\t>\n\t\t\t\n\t\t\t\t setUsername(e.target.value)}\n\t\t\t\t\thasError={!!authError}\n\t\t\t\t\tautocomplete=\"username\"\n\t\t\t\t\tlabel={t('username', 'Username')}\n\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\tCustomIcon={() => domainElement}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t setPassword(e.target.value)}\n\t\t\t\t\thasError={!!authError}\n\t\t\t\t\tautocomplete=\"password\"\n\t\t\t\t\tlabel={t('password', 'Password')}\n\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t{authError ||
}\n\t\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{samlButton}\n\t\t\t\n\t\t\t{carbonioFeatureResetPasswordEnabled !== false && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('forget_password', 'Forget Password?')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\n\nimport { Modal, Paragraph } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n\nexport default function OfflineModal({ open, onClose }) {\n\tconst [t] = useTranslation();\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{t('offline', 'You are currently offline, please check your internet connection')}\n\t\t\t\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React from 'react';\n\nimport styled from 'styled-components';\n\nconst StyledSpinner = styled.svg`\n\tanimation: rotate 2s linear infinite;\n\tmargin: -25px 0 0 -25px;\n\twidth: 50px;\n\theight: 50px;\n\n\t& .path {\n\t\tstroke: #0000ff;\n\t\tanimation: dash 1.5s ease-in-out infinite;\n\t}\n\n\t@keyframes rotate {\n\t\t100% {\n\t\t\ttransform: rotate(360deg);\n\t\t}\n\t}\n\t@keyframes dash {\n\t\t0% {\n\t\t\tstroke-dasharray: 1, 150;\n\t\t\tstroke-dashoffset: 0;\n\t\t}\n\t\t50% {\n\t\t\tstroke-dasharray: 90, 150;\n\t\t\tstroke-dashoffset: -35;\n\t\t}\n\t\t100% {\n\t\t\tstroke-dasharray: 90, 150;\n\t\t\tstroke-dashoffset: -124;\n\t\t}\n\t}\n`;\n\nexport default function Spinner() {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\n/* eslint @typescript-eslint/no-var-requires: \"off\" */\n\nimport { darken, desaturate, lighten, setLightness } from 'polished';\nimport {\n\tbrowserName,\n\tbrowserVersion,\n\tisMobile,\n\tmobileModel,\n\tmobileVendor,\n\tosName,\n\tosVersion\n} from 'react-device-detect';\n\nexport function getDeviceModel() {\n\tlet deviceModel = isMobile\n\t\t? `${mobileVendor} ${mobileModel}`\n\t\t: `${browserName} ${browserVersion}`;\n\tdeviceModel = `${deviceModel}/${osName} ${osVersion}`;\n\treturn deviceModel;\n}\n\nexport function deviceId() {\n\tconst uuid = localStorage.getItem('device-uuid');\n\tif (uuid !== null) return uuid;\n\t// eslint-disable-next-line\n\tconst generatedUUID = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) =>\n\t\t(\n\t\t\tc ^ // eslint-disable-line no-bitwise\n\t\t\t((window.crypto || window.msCrypto).getRandomValues(new Uint8Array(1))[0] & // eslint-disable-line no-bitwise\n\t\t\t\t(15 >> (c / 4)))\n\t\t) // eslint-disable-line no-bitwise\n\t\t\t.toString(16)\n\t);\n\tlocalStorage.setItem('device-uuid', generatedUUID);\n\treturn generatedUUID;\n}\n\nexport function saveCredentials(username, password) {\n\tif ('PasswordCredential' in window) {\n\t\t// eslint-disable-next-line no-undef\n\t\tconst cred = new PasswordCredential({\n\t\t\tid: username,\n\t\t\tpassword,\n\t\t\tname: password\n\t\t});\n\t\treturn navigator.credentials.store(cred);\n\t}\n\treturn Promise.resolve();\n}\n\nexport function prepareUrlForForward(oUrl) {\n\tif (typeof oUrl !== 'string') return oUrl;\n\tlet url;\n\ttry {\n\t\turl = new URL(oUrl);\n\t} catch (err) {\n\t\treturn undefined;\n\t}\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst blackListedQueryStrings = [\n\t\t'loginOp',\n\t\t'loginNewPassword',\n\t\t'totpcode',\n\t\t'loginConfirmNewPassword',\n\t\t'loginErrorCode',\n\t\t'username',\n\t\t'email',\n\t\t'password',\n\t\t'zrememberme',\n\t\t'ztrusteddevice',\n\t\t'zlastserver',\n\t\t'client',\n\t\t'login_csrf',\n\t\t'ignoreLoginURL',\n\t\t'soo',\n\t\t'destinationUrl'\n\t];\n\tblackListedQueryStrings.forEach(\n\t\t(queryString) => urlParams.has(queryString) && urlParams.delete(queryString)\n\t);\n\turlParams.forEach((value, key) => {\n\t\turl.searchParams.set(key, value);\n\t});\n\treturn url.toString();\n}\n\nexport function generateColorSet({ regular, hover, active, disabled, focus }, dark = false) {\n\treturn {\n\t\tregular,\n\t\thover: (hover ?? dark) ? lighten(0.1, regular) : darken(0.1, regular),\n\t\tfocus: (focus ?? dark) ? lighten(0.1, regular) : darken(0.1, regular),\n\t\tactive: (active ?? dark) ? lighten(0.15, regular) : darken(0.15, regular),\n\t\tdisabled:\n\t\t\t(disabled ?? dark) ? setLightness(0.8, regular) : desaturate(0.3, darken(0.3, regular))\n\t};\n}\n\nexport function getCookieKeys() {\n\treturn document.cookie.split(';').map((v) => v.split('=')[0].trim());\n}\n\nexport function getCookie(key) {\n\tconst cookies = document.cookie.split(';').map((v) => v.trim());\n\tconst foundCookie = cookies.find((v) => v.split('=')[0] === key);\n\treturn foundCookie ? foundCookie.split('=')[1] : '';\n}\n\nexport const setCookie = (cName, cValue, expDays) => {\n\tconst date = new Date();\n\tif (expDays && Number.isInteger(expDays)) {\n\t\tdate.setTime(date.getTime() + expDays * 24 * 60 * 60 * 1000);\n\t}\n\tconst expires =\n\t\texpDays && Number.isInteger(expDays) ? `expires=${date.toUTCString()}` : undefined;\n\tdocument.cookie = `${cName}=${cValue}; ${expires || ''}; path=/`;\n};\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState } from 'react';\n\nimport { Row, Snackbar } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n\nimport CredentialsForm from './credentials-form';\nimport OfflineModal from './modals';\nimport Spinner from './spinner';\nimport { postV1Login } from '../services/v1-service';\nimport { saveCredentials } from '../utils';\n\nconst formState = {\n\tcredentials: 'credentials',\n\twaiting: 'waiting',\n\ttwoFactor: 'two-factor',\n\tchangePassword: 'change-password',\n\tforgetPassword: 'forget-password'\n};\n\nexport default function V1LoginManager({ configuration, disableInputs }) {\n\tconst [t] = useTranslation();\n\n\tconst [loading, setLoading] = useState(false);\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst [progress, setProgress] = useState('credentials');\n\n\tconst [authError, setAuthError] = useState();\n\n\tconst [snackbarNetworkError, setSnackbarNetworkError] = useState(false);\n\tconst [detailNetworkModal, setDetailNetworkModal] = useState(false);\n\n\tconst submitCredentials = useCallback(\n\t\t(username, password) => {\n\t\t\tsetLoading(true);\n\t\t\treturn postV1Login('password', username, password)\n\t\t\t\t.then(async (res) => {\n\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\tawait saveCredentials(username, password);\n\t\t\t\t\t\t\twindow.location.assign(configuration.destinationUrl);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'credentials_not_valid',\n\t\t\t\t\t\t\t\t\t'Credentials are not valid, please check data and try again'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 403:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'auth_not_valid',\n\t\t\t\t\t\t\t\t\t'The authentication policy needs more steps: please contact your administrator for more information'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetSnackbarNetworkError(true);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => setLoading(false));\n\t\t},\n\t\t[configuration.destinationUrl, t]\n\t);\n\n\tconst onCloseCbk = useCallback(() => setDetailNetworkModal(false), [setDetailNetworkModal]);\n\tconst onSnackbarActionCbk = useCallback(\n\t\t() => setDetailNetworkModal(true),\n\t\t[setDetailNetworkModal]\n\t);\n\tconst onCloseSnackbarCbk = useCallback(\n\t\t() => setSnackbarNetworkError(false),\n\t\t[setSnackbarNetworkError]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{progress === 'credentials' && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === 'waiting' && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { getDeviceModel, deviceId } from '../utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function postV1Login(authMethod, user, password, service) {\n\treturn fetch('/zx/auth/v1/login', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'X-Device-Model': getDeviceModel(),\n\t\t\t'X-Device-Id': deviceId(),\n\t\t\t'X-Service': 'webUI',\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tauth_method: authMethod,\n\t\t\tuser,\n\t\t\tpassword\n\t\t})\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useState, useCallback, useEffect } from 'react';\n\nimport { Row, Text, Input, Button, PasswordInput } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n\nimport {\n\tZM_AUTH_TOKEN,\n\tZIMBRA_PASSWORD_MAX_LENGTH_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_LENGTH_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_LOWERCASE_CHARS_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_NUMERIC_CHARS_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_PUNCTUATION_CHARS_ATTR_NAME,\n\tZIMBRA_PASSWORD_MIN_UPPERCASE_CHARS_ATTR_NAME,\n\tINVALID_PASSWORD_ERR_CODE,\n\tPASSWORD_RECENTLY_USED_ERR_CODE,\n\tBLOCK_PERSONAL_DATA_IN_PASSWORD_POLICY,\n\tBLOCK_COMMON_WORDS_IN_PASSWORD_POLICY,\n\tPASSWORD_LOCKED,\n\tZIMBRA_PASSWORD_MIN_DIGITS_OR_PUNCS\n} from '../constants';\nimport { saveCredentials, setCookie } from '../utils';\n\nexport const submitChangePassword = (username, oldPassword, newPassword) => {\n\treturn fetch('/service/soap/ChangePasswordRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tcredentials: 'omit',\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tChangePasswordRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tcsrfTokenSecured: '1',\n\t\t\t\t\tpersistAuthTokenCookie: '1',\n\t\t\t\t\taccount: {\n\t\t\t\t\t\tby: 'name',\n\t\t\t\t\t\t_content: username\n\t\t\t\t\t},\n\t\t\t\t\toldPassword: {\n\t\t\t\t\t\t_content: oldPassword\n\t\t\t\t\t},\n\t\t\t\t\tpassword: {\n\t\t\t\t\t\t_content: newPassword\n\t\t\t\t\t},\n\t\t\t\t\tprefs: [{ pref: { name: 'zimbraPrefMailPollingInterval' } }]\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n};\n\nconst ChangePasswordForm = ({ isLoading, setIsLoading, username, configuration }) => {\n\tconst [t] = useTranslation();\n\n\tconst [oldPassword, setOldPassword] = useState('');\n\tconst [newPassword, setNewPassword] = useState('');\n\tconst [confirmNewPassword, setConfirmNewPassword] = useState('');\n\tconst [showOldPasswordError, setShowOldPasswordError] = useState(false);\n\tconst [errorLabelNewPassword, setErrorLabelNewPassword] = useState(false);\n\tconst [errorLabelConfirmNewPassword, setErrorLabelConfirmNewPassword] = useState('');\n\n\tconst onChangeOldPassword = useCallback(\n\t\t(ev) => setOldPassword(ev.target.value),\n\t\t[setOldPassword]\n\t);\n\tconst onChangeNewPassword = useCallback(\n\t\t(ev) => setNewPassword(ev.target.value),\n\t\t[setNewPassword]\n\t);\n\tconst onChangeConfirmNewPassword = useCallback(\n\t\t(ev) => setConfirmNewPassword(ev.target.value),\n\t\t[setConfirmNewPassword]\n\t);\n\n\tuseEffect(() => {\n\t\tsetErrorLabelNewPassword('');\n\t\tsetErrorLabelConfirmNewPassword('');\n\t}, [newPassword, t]);\n\n\tuseEffect(() => {\n\t\tif (newPassword && confirmNewPassword !== newPassword) {\n\t\t\tsetErrorLabelConfirmNewPassword(\n\t\t\t\tt('changePassword_error_confirmPassword', 'Confirm password not valid')\n\t\t\t);\n\t\t} else {\n\t\t\tsetErrorLabelConfirmNewPassword('');\n\t\t}\n\t}, [confirmNewPassword, newPassword, t]);\n\n\tconst submitChangePasswordCb = useCallback(\n\t\t(e) => {\n\t\t\te.preventDefault();\n\t\t\tsetIsLoading(true);\n\t\t\tif (newPassword && confirmNewPassword === newPassword && !errorLabelNewPassword) {\n\t\t\t\tsubmitChangePassword(username, oldPassword, newPassword)\n\t\t\t\t\t.then(async (res) => {\n\t\t\t\t\t\tlet payload;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tpayload = await res.json();\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\tpayload = await res;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (res.status === 200) {\n\t\t\t\t\t\t\tconst authTokenArr = payload?.Body?.ChangePasswordResponse?.authToken;\n\t\t\t\t\t\t\tconst authToken =\n\t\t\t\t\t\t\t\tauthTokenArr && authTokenArr.length > 0 ? authTokenArr[0]._content : undefined;\n\t\t\t\t\t\t\tif (authToken) {\n\t\t\t\t\t\t\t\tsetCookie(ZM_AUTH_TOKEN, authToken);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\t\tawait saveCredentials(username, newPassword);\n\t\t\t\t\t\t\t\twindow.location.assign(configuration.destinationUrl);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\t\tcase 422:\n\t\t\t\t\t\t\t\tif (payload?.Body?.Fault?.Detail?.Error?.Code === INVALID_PASSWORD_ERR_CODE) {\n\t\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\t\tconst { a } = payload.Body.Fault.Detail.Error;\n\t\t\t\t\t\t\t\t\tlet currNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === BLOCK_COMMON_WORDS_IN_PASSWORD_POLICY)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_block_common_words', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Invalid password: password is known to be too common: {{str}}',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { str: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === BLOCK_PERSONAL_DATA_IN_PASSWORD_POLICY)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_block_personal_data', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Invalid password: password contains username or other personal data: {{str}}',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { str: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MAX_LENGTH_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_maxLength', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Maximum length is {{num}} characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_LENGTH_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minLength', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Minimum length is {{num}} characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_LOWERCASE_CHARS_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minLowerCaseChars', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} lowercase characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_NUMERIC_CHARS_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minNumericChars', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} numeric characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_PUNCTUATION_CHARS_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minPunctuationChars', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} punctuation characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_UPPERCASE_CHARS_ATTR_NAME)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minUppercaseChars', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Expecting at least {{num}} uppercase characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcurrNum = a\n\t\t\t\t\t\t\t\t\t\t? a.find((rec) => rec.n === ZIMBRA_PASSWORD_MIN_DIGITS_OR_PUNCS)\n\t\t\t\t\t\t\t\t\t\t: undefined;\n\t\t\t\t\t\t\t\t\tif (currNum) {\n\t\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\t\tt('changePassword_error_minDigitsOrPuncs', {\n\t\t\t\t\t\t\t\t\t\t\t\tdefaultValue:\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Expecting at least {{num}} numeric or punctuation characters',\n\t\t\t\t\t\t\t\t\t\t\t\treplace: { num: currNum._content }\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else if (payload?.Body?.Fault?.Detail?.Error?.Code === PASSWORD_LOCKED) {\n\t\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\tt('changePassword_error_passwordLocked', {\n\t\t\t\t\t\t\t\t\t\t\tdefaultValue: \"Password is locked and can't be changed\"\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\tpayload?.Body?.Fault?.Detail?.Error?.Code === PASSWORD_RECENTLY_USED_ERR_CODE\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\t\tt('changePassword_error_passwordRecentlyUsed', {\n\t\t\t\t\t\t\t\t\t\t\tdefaultValue: 'Password recently used'\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetShowOldPasswordError(true);\n\t\t\t\t\t\t\t\t\tsetErrorLabelNewPassword('');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\tsetShowOldPasswordError(false);\n\t\t\t\t\t\t\t\tsetErrorLabelNewPassword(\n\t\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t\t'something_went_wrong',\n\t\t\t\t\t\t\t\t\t\t'Something went wrong. Please contact your administrator.'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tsetIsLoading(false);\n\t\t\t\t\t\tif (err.message.startsWith('authentication failed')) {\n\t\t\t\t\t\t\tsetShowOldPasswordError(true);\n\t\t\t\t\t\t\tsetErrorLabelNewPassword('');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t}\n\t\t\tsetIsLoading(false);\n\t\t},\n\t\t[\n\t\t\tt,\n\t\t\tsetIsLoading,\n\t\t\tnewPassword,\n\t\t\tconfirmNewPassword,\n\t\t\terrorLabelNewPassword,\n\t\t\tusername,\n\t\t\toldPassword,\n\t\t\tconfiguration.destinationUrl\n\t\t]\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{t('changePassword_title', 'Create a new password')}\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{showOldPasswordError && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{t('wrong_password', 'Wrong password, please check data and try again')}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{errorLabelNewPassword && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{errorLabelNewPassword}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{errorLabelConfirmNewPassword && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{errorLabelConfirmNewPassword}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nexport default ChangePasswordForm;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { PASSWORD, RECOVERY_TOKEN } from '../constants';\nimport { getDeviceModel, deviceId } from '../utils';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport function postV2Login(authMethod, user, password, service) {\n\treturn fetch('/zx/auth/v2/login', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'X-Device-Model': getDeviceModel(),\n\t\t\t'X-Device-Id': deviceId(),\n\t\t\t'X-Service': 'WebUI',\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tauth_method: authMethod,\n\t\t\tuser,\n\t\t\t[authMethod === RECOVERY_TOKEN ? RECOVERY_TOKEN : PASSWORD]: password\n\t\t})\n\t});\n}\n\nexport function submitOtp(id, code, trustDevice) {\n\treturn fetch('/zx/auth/v2/otp/validate', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'X-Device-Model': getDeviceModel(),\n\t\t\t'X-Device-Id': deviceId(),\n\t\t\t'X-Service': 'WebUI',\n\t\t\t'Content-Type': 'application/json',\n\t\t\tversion: '2'\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tid,\n\t\t\tcode,\n\t\t\tunsecure_device: !trustDevice\n\t\t})\n\t});\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport React, { useCallback, useContext, useState } from 'react';\n\nimport {\n\tRow,\n\tText,\n\tInput,\n\tButton,\n\tContainer,\n\tSnackbarManagerContext,\n\tSelect,\n\tCheckbox\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport { Trans, useTranslation } from 'react-i18next';\n\nimport {\n\tFEATURE_RESET_PASSWORD_DISABLED,\n\tZM_AUTH_TOKEN,\n\tCONTACT_ADMIN,\n\tRECOVERY_TOKEN,\n\tCARBONIO\n} from '../constants';\nimport {\n\tgetRecoveryAccount,\n\tgetSendRecoveryToken,\n\tvalidateRecoveryToken\n} from '../services/forget-password-service';\nimport { postV2Login, submitOtp } from '../services/v2-service';\nimport { setCookie } from '../utils';\n\nconst urlParams = new URLSearchParams(window.location.search);\n\nconst state = {\n\tretrieveRecoveryEmail: 'retrieve-recovery-email',\n\tsendRecoveryToken: 'send-recovery-token',\n\tvalidateRecoveryToken: 'validate-recovery-token',\n\tsubmitOtpCode: 'submit-otp-code',\n\tproceedToLoginScreen: 'proceed-to-login-screen'\n};\n\nconst ForgetPassword = ({ configuration, disableInputs }) => {\n\tconst [t] = useTranslation();\n\tconst [username, setUsername] = useState(urlParams.get('username') || '');\n\tconst [progress, setProgress] = useState(state.retrieveRecoveryEmail);\n\tconst [token, setToken] = useState('');\n\tconst [recoveryEmail, setRecoveryEmail] = useState('');\n\tconst [recoveryEmailError, setRecoveryEmailError] = useState('');\n\tconst [sendTokenError, setSendTokenError] = useState('');\n\tconst [validationTokenError, setValidationTokenError] = useState('');\n\tconst [recoveryAttemptsLeft, setRecoveryAttemptsLeft] = useState();\n\tconst [validationOTPError, setValidationOTPError] = useState('');\n\tconst createSnackbar = useContext(SnackbarManagerContext);\n\tconst [otpList, setOtpList] = useState([]);\n\tconst [otpId, setOtpId] = useState('');\n\tconst [otp, setOtp] = useState('');\n\tconst [trustDevice, setTrustDevice] = useState(false);\n\tconst toggleTrustDevice = useCallback(() => setTrustDevice((v) => !v), [setTrustDevice]);\n\tconst onChangeOtp = useCallback(\n\t\t(ev) => {\n\t\t\tsetOtp(ev.target.value);\n\t\t},\n\t\t[setOtp]\n\t);\n\n\tconst handleAccountRecoveryError = useCallback(\n\t\t(errorCode) => {\n\t\t\tswitch (errorCode) {\n\t\t\t\tcase FEATURE_RESET_PASSWORD_DISABLED:\n\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\tt('password_Reset_feature_disabled', 'Password reset feature is disabled.')\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase CONTACT_ADMIN:\n\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t'account_recovery_not_found_or_not_verified',\n\t\t\t\t\t\t\t'Account Recovery is either not found or not verified. Please contact your administrator.'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\t\t[t]\n\t);\n\n\tconst onRetrieveRecoveryEmail = useCallback(() => {\n\t\tgetRecoveryAccount(username)\n\t\t\t.then(async (res) => {\n\t\t\t\tlet payload;\n\t\t\t\ttry {\n\t\t\t\t\tpayload = await res.json();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tpayload = res;\n\t\t\t\t}\n\t\t\t\tlet email;\n\t\t\t\tswitch (res.status) {\n\t\t\t\t\tcase 200:\n\t\t\t\t\t\temail = payload?.Body?.RecoverAccountResponse?.recoveryAccount;\n\t\t\t\t\t\tsetRecoveryEmail(email);\n\t\t\t\t\t\tsetProgress(state.sendRecoveryToken);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 401:\n\t\t\t\t\tcase 500:\n\t\t\t\t\t\thandleAccountRecoveryError(payload?.Body?.Fault?.Detail?.Error?.Code);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 502:\n\t\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetRecoveryEmailError(\n\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t);\n\t\t\t});\n\t}, [handleAccountRecoveryError, t, username]);\n\n\tconst onSendRecoveryToken = useCallback(() => {\n\t\tgetSendRecoveryToken(username)\n\t\t\t.then(async (res) => {\n\t\t\t\tlet payload;\n\t\t\t\ttry {\n\t\t\t\t\tpayload = await res.json();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tpayload = res;\n\t\t\t\t}\n\t\t\t\tlet rAttemptLeft;\n\t\t\t\tswitch (res.status) {\n\t\t\t\t\tcase 200:\n\t\t\t\t\t\trAttemptLeft = payload?.Body?.RecoverAccountResponse?.recoveryAttemptsLeft;\n\t\t\t\t\t\tsetRecoveryAttemptsLeft(rAttemptLeft);\n\t\t\t\t\t\tcreateSnackbar({\n\t\t\t\t\t\t\tkey: 'success',\n\t\t\t\t\t\t\ttype: 'success',\n\t\t\t\t\t\t\tlabel: t(\n\t\t\t\t\t\t\t\t'recovery_code_send_success',\n\t\t\t\t\t\t\t\t'The Recovery code has been send successfully'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tautoHideTimeout: 3000,\n\t\t\t\t\t\t\thideButton: true,\n\t\t\t\t\t\t\treplace: true\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsetProgress(state.validateRecoveryToken);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 502:\n\t\t\t\t\t\tsetSendTokenError(\n\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetSendTokenError(\n\t\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetSendTokenError(\n\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t);\n\t\t\t});\n\t}, [createSnackbar, t, username]);\n\n\tconst validateCommunityToken = useCallback(() => {\n\t\tvalidateRecoveryToken(username, token)\n\t\t\t.then(async (res) => {\n\t\t\t\tlet payload;\n\t\t\t\ttry {\n\t\t\t\t\tpayload = await res.json();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tpayload = res;\n\t\t\t\t}\n\t\t\t\tlet authTokenArr;\n\t\t\t\tlet authToken;\n\t\t\t\tswitch (res.status) {\n\t\t\t\t\tcase 200:\n\t\t\t\t\t\tauthTokenArr = payload?.Body?.AuthResponse?.authToken;\n\t\t\t\t\t\tauthToken =\n\t\t\t\t\t\t\tauthTokenArr && authTokenArr.length > 0 ? authTokenArr[0]._content : undefined;\n\t\t\t\t\t\tif (authToken) {\n\t\t\t\t\t\t\tsetCookie(ZM_AUTH_TOKEN, authToken);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetProgress(state.proceedToLoginScreen);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 401:\n\t\t\t\t\tcase 500:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('authentication_error', 'Authentication Error - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 502:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetValidationTokenError(\n\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t);\n\t\t\t});\n\t}, [t, token, username]);\n\n\tconst validateCarbonioToken = useCallback(() => {\n\t\tpostV2Login(RECOVERY_TOKEN, username, token)\n\t\t\t.then(async (res) => {\n\t\t\t\tlet payload;\n\t\t\t\ttry {\n\t\t\t\t\tpayload = await res.json();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tpayload = res;\n\t\t\t\t}\n\t\t\t\tswitch (res.status) {\n\t\t\t\t\tcase 200:\n\t\t\t\t\t\tif (payload?.['2FA'] === true) {\n\t\t\t\t\t\t\tsetOtpList(\n\t\t\t\t\t\t\t\tmap(payload?.otp ?? [], (obj) => ({\n\t\t\t\t\t\t\t\t\tlabel: obj.label,\n\t\t\t\t\t\t\t\t\tvalue: obj.id\n\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetOtpId(payload?.otp?.[0].id);\n\t\t\t\t\t\t\tsetProgress(state.submitOtpCode);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tsetProgress(state.proceedToLoginScreen);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 401:\n\t\t\t\t\tcase 500:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('authentication_error', 'Authentication Error - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 502:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tsetValidationTokenError(\n\t\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tsetValidationTokenError(\n\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t);\n\t\t\t});\n\t}, [t, token, username]);\n\n\tconst onValidateToken = useCallback(() => {\n\t\tif (configuration?.systemType === CARBONIO) {\n\t\t\tvalidateCarbonioToken();\n\t\t} else {\n\t\t\tvalidateCommunityToken();\n\t\t}\n\t}, [configuration, validateCarbonioToken, validateCommunityToken]);\n\n\tconst submitOtpCb = useCallback(\n\t\t(e) => {\n\t\t\tsubmitOtp(otpId, otp, trustDevice)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\tsetProgress(state.proceedToLoginScreen);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 400:\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\tcase 500:\n\t\t\t\t\t\t\tsetValidationOTPError(\n\t\t\t\t\t\t\t\tt('authentication_error', 'Authentication Error - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\tsetValidationOTPError(\n\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetValidationOTPError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'something_went_wrong',\n\t\t\t\t\t\t\t\t\t'Something went wrong. Please contact your administrator.'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tsetValidationOTPError(\n\t\t\t\t\t\tt('something_went_wrong', 'Something went wrong. Please contact your administrator.')\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t},\n\t\t[otpId, otp, trustDevice, t]\n\t);\n\n\tconst onProceedWithSession = useCallback(() => {\n\t\twindow.location.assign('/');\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t{progress !== state.proceedToLoginScreen && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.retrieveRecoveryEmail && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'enter_your_username_to_retrieve_recovery_email',\n\t\t\t\t\t\t\t\t'Please enter your username so we may retrieve the recovery email.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tsetUsername(e.target.value);\n\t\t\t\t\t\t\t\tsetRecoveryEmailError('');\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tautocomplete=\"username\"\n\t\t\t\t\t\t\thasError={recoveryEmailError}\n\t\t\t\t\t\t\tlabel={t('username', 'Username')}\n\t\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t{recoveryEmailError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{recoveryEmailError}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'not_have_recovery_email_setup_note',\n\t\t\t\t\t\t\t\t'Don’t have a recovery email setup? Please contact your system administrator for support.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.sendRecoveryToken && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ recovery_email }}?\"\n\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\tvalues={{ recovery_email: recoveryEmail }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'send_a_recovery_code_notes',\n\t\t\t\t\t\t\t\t'Click on the button below to send a recovery code to that address, use it validate the next request.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{sendTokenError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{sendTokenError}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.validateRecoveryToken && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ recovery_email }} and will be valid for 10 minutes. You have {{ recoveryAttemptsLeft }} more attempts. Enter the code in the form below.\"\n\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\tvalues={{\n\t\t\t\t\t\t\t\t\trecovery_email: recoveryEmail,\n\t\t\t\t\t\t\t\t\trecoveryAttemptsLeft\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t setToken(e.target.value)}\n\t\t\t\t\t\t\tautocomplete=\"code\"\n\t\t\t\t\t\t\tlabel={t('code', 'Code')}\n\t\t\t\t\t\t\tbackgroundColor=\"gray5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t{validationTokenError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{validationTokenError}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'resend_code_notes',\n\t\t\t\t\t\t\t\t'Don’t see the code in your inbox? Wait a couple of minutes or check your spam folder. If you still don’t see it please click on \"Resend Code\".'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.submitOtpCode && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ username }}!\"\n\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\tvalues={{ username }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'we_just_need_one_more_check_before_getting_back_in',\n\t\t\t\t\t\t\t\t'We just need one more check before getting back in.'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{validationOTPError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{validationOTPError}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === state.proceedToLoginScreen && (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{{ username }}!\"\n\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\tvalues={{ username }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t(\n\t\t\t\t\t\t\t\t'proceed_with_the_login_and_change_your_password',\n\t\t\t\t\t\t\t\t'You can proceed with the login, but remember to also change your password'\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\nexport default ForgetPassword;\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nexport function getRecoveryAccount(username) {\n\treturn fetch('/service/soap/RecoverAccountRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tcredentials: 'omit',\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tRecoverAccountRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraMail',\n\t\t\t\t\top: 'getRecoveryAccount',\n\t\t\t\t\temail: username,\n\t\t\t\t\tchannel: 'email'\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n}\n\nexport function getSendRecoveryToken(username) {\n\treturn fetch('/service/soap/RecoverAccountRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tcredentials: 'omit',\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tRecoverAccountRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraMail',\n\t\t\t\t\top: 'sendRecoveryCode',\n\t\t\t\t\temail: username,\n\t\t\t\t\tchannel: 'email'\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n}\n\nexport function validateRecoveryToken(username, recoveryCode) {\n\treturn fetch('/service/soap/AuthRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tcredentials: 'omit',\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tAuthRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tcsrfTokenSecured: '1',\n\t\t\t\t\taccount: {\n\t\t\t\t\t\tby: 'name',\n\t\t\t\t\t\t_content: username\n\t\t\t\t\t},\n\t\t\t\t\trecoveryCode: {\n\t\t\t\t\t\t_content: recoveryCode\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n}\n","/* eslint-disable import/no-extraneous-dependencies */\n/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState } from 'react';\n\nimport {\n\tButton,\n\tCheckbox,\n\tInput,\n\tRow,\n\tSelect,\n\tSnackbar,\n\tText\n} from '@zextras/carbonio-design-system';\nimport { map } from 'lodash';\nimport { useTranslation } from 'react-i18next';\n\nimport ChangePasswordForm from './change-password-form';\nimport CredentialsForm from './credentials-form';\nimport ForgetPassword from './forget-password';\nimport OfflineModal from './modals';\nimport Spinner from './spinner';\nimport { postV2Login, submitOtp } from '../services/v2-service';\nimport { saveCredentials } from '../utils';\n\nconst formState = {\n\tcredentials: 'credentials',\n\twaiting: 'waiting',\n\ttwoFactor: 'two-factor',\n\tchangePassword: 'change-password',\n\tforgetPassword: 'forget-password'\n};\n\nexport default function V2LoginManager({ configuration, disableInputs }) {\n\tconst [t] = useTranslation();\n\n\tconst [loadingCredentials, setLoadingCredentials] = useState(false);\n\tconst [loadingOtp, setLoadingOtp] = useState(false);\n\tconst [progress, setProgress] = useState(formState.credentials);\n\n\tconst [authError, setAuthError] = useState(false);\n\tconst [showOtpError, setShowOtpError] = useState(false);\n\n\tconst [otpList, setOtpList] = useState([]);\n\tconst [otpId, setOtpId] = useState('');\n\tconst [otp, setOtp] = useState('');\n\tconst onChangeOtp = useCallback(\n\t\t(ev) => {\n\t\t\tsetOtp(ev.target.value);\n\t\t},\n\t\t[setOtp]\n\t);\n\tconst [trustDevice, setTrustDevice] = useState(false);\n\tconst toggleTrustDevice = useCallback(() => setTrustDevice((v) => !v), [setTrustDevice]);\n\n\tconst [email, setEmail] = useState('');\n\tconst [loadingChangePassword, setLoadingChangePassword] = useState(false);\n\n\tconst [snackbarNetworkError, setSnackbarNetworkError] = useState(false);\n\tconst [detailNetworkModal, setDetailNetworkModal] = useState(false);\n\n\tconst submitCredentials = useCallback(\n\t\t(username, password) => {\n\t\t\tsetLoadingCredentials(true);\n\t\t\treturn postV2Login('password', username, password)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\tsetEmail(username);\n\t\t\t\t\t\t\tif (res.redirected) {\n\t\t\t\t\t\t\t\tsetProgress(formState.changePassword);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tres.json().then(async (response) => {\n\t\t\t\t\t\t\t\t\tawait saveCredentials(username, password);\n\t\t\t\t\t\t\t\t\tif (response?.['2FA'] === true) {\n\t\t\t\t\t\t\t\t\t\tsetOtpList(\n\t\t\t\t\t\t\t\t\t\t\tmap(response?.otp ?? [], (obj) => ({\n\t\t\t\t\t\t\t\t\t\t\t\tlabel: obj.label,\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: obj.id\n\t\t\t\t\t\t\t\t\t\t\t}))\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tsetOtpId(response?.otp?.[0].id);\n\t\t\t\t\t\t\t\t\t\tsetProgress(formState.twoFactor);\n\t\t\t\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\twindow.location.assign(configuration.destinationUrl);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'credentials_not_valid',\n\t\t\t\t\t\t\t\t\t'Credentials are not valid, please check data and try again'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 403:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'auth_not_valid',\n\t\t\t\t\t\t\t\t\t'The authentication policy needs more steps: please contact your administrator for more information'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetSnackbarNetworkError(true);\n\t\t\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => setLoadingCredentials(false));\n\t\t},\n\t\t[configuration.destinationUrl, t]\n\t);\n\n\tconst submitOtpCb = useCallback(\n\t\t(e) => {\n\t\t\te.preventDefault();\n\t\t\tsetLoadingOtp(true);\n\t\t\tsubmitOtp(otpId, otp, trustDevice)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (res.status === 200) {\n\t\t\t\t\t\tif (res.redirected) {\n\t\t\t\t\t\t\tsetProgress(formState.changePassword);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twindow.location.assign(configuration.destinationUrl);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetLoadingOtp(false);\n\t\t\t\t\t\tsetShowOtpError(true);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => setLoadingOtp(false));\n\t\t},\n\t\t[otpId, otp, trustDevice, configuration.destinationUrl]\n\t);\n\n\tconst onCloseCbk = useCallback(() => setDetailNetworkModal(false), [setDetailNetworkModal]);\n\tconst onSnackbarActionCbk = useCallback(\n\t\t() => setDetailNetworkModal(true),\n\t\t[setDetailNetworkModal]\n\t);\n\tconst onCloseSnackbarCbk = useCallback(\n\t\t() => setSnackbarNetworkError(false),\n\t\t[setSnackbarNetworkError]\n\t);\n\n\tconst onClickForgetPassword = useCallback(() => {\n\t\tsetProgress(formState.forgetPassword);\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t{progress === formState.credentials && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.waiting && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.twoFactor && (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{t('two_step_authentication', 'Two-Step-Authentication')}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{showOtpError &&\n\t\t\t\t\t\t\t\tt('wrong_password', 'Wrong password, please check data and try again')}\n\t\t\t\t\t\t\t{!showOtpError &&
}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{progress === formState.changePassword && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.forgetPassword && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState } from 'react';\n\nimport { Snackbar } from '@zextras/carbonio-design-system';\nimport { useTranslation } from 'react-i18next';\n\nexport default function ServerNotResponding() {\n\tconst [t] = useTranslation();\n\tconst [isOpen, setOpen] = useState(true);\n\tconst onCloseCbk = useCallback(() => setOpen(false), []);\n\n\treturn (\n\t\t\n\t);\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useEffect, useState } from 'react';\n\nimport V1LoginManager from './v1-login-manager';\nimport V2LoginManager from './v2-login-manager';\nimport NotSupportedVersion from '../components-index/not-supported-version';\nimport ServerNotResponding from '../components-index/server-not-responding';\nimport { getAuthSupported, doAuthLogout } from '../services/auth-configuration-service';\n\nexport default function FormSelector({ destinationUrl, domain }) {\n\tconst [configuration, setConfiguration] = useState(null);\n\tconst [error, setError] = useState(false);\n\tconst [disableInputs, setDisableInputs] = useState(true);\n\n\tuseEffect(() => {\n\t\tlet componentIsMounted = true;\n\n\t\tgetAuthSupported(domain)\n\t\t\t.then((res) => {\n\t\t\t\tif (componentIsMounted) {\n\t\t\t\t\tsetConfiguration((conf) => ({\n\t\t\t\t\t\t...conf,\n\t\t\t\t\t\t...res,\n\t\t\t\t\t\tdestinationUrl\n\t\t\t\t\t}));\n\t\t\t\t\tsetDisableInputs(false);\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(() => {\n\t\t\t\t// It should never happen, If the server doesn't respond this page will not be loaded\n\t\t\t\tif (componentIsMounted) setError(true);\n\t\t\t});\n\t\treturn () => {\n\t\t\tcomponentIsMounted = false;\n\t\t};\n\t}, [destinationUrl, domain]);\n\n\tuseEffect(() => {\n\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\tif (configuration && urlParams.has('loginOp') && urlParams.get('loginOp') === 'logout') {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tdoAuthLogout(configuration).catch(() => console.log('Logout failed'));\n\t\t}\n\t}, [configuration]);\n\n\tif (error) return ;\n\n\tif (configuration === null || !configuration.destinationUrl) return
;\n\n\tif (configuration.maxApiVersion >= 2 && configuration.minApiVersion <= 2)\n\t\treturn ;\n\tif (configuration.maxApiVersion >= 1 && configuration.minApiVersion <= 1)\n\t\treturn ;\n\n\treturn ;\n}\n","/*\n * SPDX-FileCopyrightText: 2021 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nexport function getAuthSupported(domain) {\n\tconst urlParams = new URLSearchParams();\n\tif (domain) urlParams.append('domain', domain);\n\treturn fetch(`/zx/auth/supported?${urlParams}`, {\n\t\tmethod: 'GET'\n\t}).then((res) => {\n\t\tif (res.status === 200) return res.json();\n\t\tthrow Error('Notwork Error');\n\t});\n}\n\nexport function doAuthLogout(configuration) {\n\treturn fetch(`/zx/auth/v${configuration.maxApiVersion}/logout`, {\n\t\tmethod: 'GET'\n\t}).then((res) => {\n\t\tif (res.status !== 200) throw Error('Notwork Error');\n\t});\n}\n","export default __webpack_public_path__ + \"assets/9a9d55fd81e4fd941cdda13d49a4d5eb.svg\";","export default __webpack_public_path__ + \"assets/a2ca34c391de073172d480fe7977954a.jpg\";","export default __webpack_public_path__ + \"assets/8b90fe7b942c6f389f1ddd01103d3b0e.jpg\";","export default __webpack_public_path__ + \"assets/c469e23959fd19cc40fbb5e56c083c86.png\";","export default __webpack_public_path__ + \"assets/67e4952b6e580669e1ed0c4b5b7c5fe3.svg\";","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\nimport { useState, useEffect } from 'react';\n\nfunction useIsTouchDevice() {\n\tconst [isTouchDevice, setIsTouchDevice] = useState(false);\n\n\tuseEffect(() => {\n\t\tconst mediaQuery = window.matchMedia('(pointer:coarse)');\n\n\t\tconst handleMediaChange = () => {\n\t\t\tsetIsTouchDevice(mediaQuery.matches);\n\t\t};\n\n\t\t// Initial check\n\t\thandleMediaChange();\n\n\t\t// Listen for changes\n\t\tmediaQuery.addEventListener('change', handleMediaChange);\n\n\t\t// Cleanup\n\t\treturn () => {\n\t\t\tmediaQuery.removeEventListener('change', handleMediaChange);\n\t\t};\n\t}, []);\n\n\treturn isTouchDevice;\n}\n\nexport default useIsTouchDevice;\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useCallback, useState } from 'react';\n\nimport { useTranslation } from 'react-i18next';\n\nimport ChangePasswordForm from '../components-v1/change-password-form';\nimport CredentialsForm from '../components-v1/credentials-form';\nimport ForgetPassword from '../components-v1/forget-password';\n\nconst formState = {\n\tcredentials: 'credentials',\n\twaiting: 'waiting',\n\ttwoFactor: 'two-factor',\n\tchangePassword: 'change-password'\n};\n\nconst zimbraLogin = (username, password) => {\n\treturn fetch('/service/soap/AuthRequest', {\n\t\tmethod: 'POST',\n\t\theaders: {\n\t\t\t'Content-Type': 'application/json'\n\t\t},\n\t\tbody: JSON.stringify({\n\t\t\tBody: {\n\t\t\t\tAuthRequest: {\n\t\t\t\t\t_jsns: 'urn:zimbraAccount',\n\t\t\t\t\tcsrfTokenSecured: '1',\n\t\t\t\t\tpersistAuthTokenCookie: '1',\n\t\t\t\t\tgenerateDeviceId: '1',\n\t\t\t\t\taccount: {\n\t\t\t\t\t\tby: 'name',\n\t\t\t\t\t\t_content: username\n\t\t\t\t\t},\n\t\t\t\t\tpassword: {\n\t\t\t\t\t\t_content: password\n\t\t\t\t\t},\n\t\t\t\t\tprefs: [{ pref: { name: 'zimbraPrefMailPollingInterval' } }]\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t});\n};\n\nexport function ZimbraForm({ destinationUrl }) {\n\tconst { t } = useTranslation();\n\tconst [authError, setAuthError] = useState();\n\tconst [loading, setLoading] = useState(false);\n\tconst [progress, setProgress] = useState(formState.credentials);\n\tconst [loadingChangePassword, setLoadingChangePassword] = useState(false);\n\tconst [loadingCredentials, setLoadingCredentials] = useState(false);\n\tconst [email, setEmail] = useState('');\n\n\tconst submitCredentials = useCallback(\n\t\t(username, password) => {\n\t\t\tsetLoading(true);\n\t\t\tsetLoadingCredentials(true);\n\t\t\treturn zimbraLogin(username, password)\n\t\t\t\t.then(async (res) => {\n\t\t\t\t\tlet payload;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpayload = await res.json();\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tpayload = await res;\n\t\t\t\t\t}\n\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\tsetEmail(username);\n\t\t\t\t\tif (payload?.Body?.Fault) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tpayload.Body.Fault?.Detail?.Error?.Code &&\n\t\t\t\t\t\t\tpayload.Body.Fault?.Detail?.Error?.Code === 'account.CHANGE_PASSWORD'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tsetProgress(formState.changePassword);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthrow new Error(payload.Body.Fault.Reason.Text);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tswitch (res.status) {\n\t\t\t\t\t\tcase 200:\n\t\t\t\t\t\t\twindow.location.assign(destinationUrl || window.location.origin);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 401:\n\t\t\t\t\t\tcase 500:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'credentials_not_valid',\n\t\t\t\t\t\t\t\t\t'Credentials are not valid, please check data and try again'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 403:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t\t'auth_not_valid',\n\t\t\t\t\t\t\t\t\t'The authentication policy needs more steps: please contact your administrator for more information'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 502:\n\t\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\t\tt('server_unreachable', 'Error 502: Service Unreachable - Retry later.')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tsetLoading(false);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tsetLoading(false);\n\t\t\t\t\tsetLoadingCredentials(false);\n\t\t\t\t\tif (err.message.startsWith('authentication failed'))\n\t\t\t\t\t\tsetAuthError(\n\t\t\t\t\t\t\tt(\n\t\t\t\t\t\t\t\t'credentials_not_valid',\n\t\t\t\t\t\t\t\t'Credentials are not valid, please check data and try again'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\telse setAuthError(err.message);\n\t\t\t\t});\n\t\t},\n\t\t[destinationUrl, t]\n\t);\n\n\tconst onClickForgetPassword = useCallback(() => {\n\t\tsetProgress(formState.forgetPassword);\n\t}, []);\n\n\treturn (\n\t\t<>\n\t\t\t{progress === formState.credentials && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.changePassword && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{progress === formState.forgetPassword && (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n","/* eslint-disable import/no-extraneous-dependencies */\n/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport React, { useLayoutEffect, useState, useContext, useEffect } from 'react';\n\nimport {\n\tCheckbox,\n\tContainer,\n\tModal,\n\tPadding,\n\tRow,\n\tText,\n\tIcon\n} from '@zextras/carbonio-design-system';\nimport { browserName } from 'react-device-detect';\nimport { useTranslation, Trans } from 'react-i18next';\nimport styled, { css } from 'styled-components';\n\nimport FormSelector from './form-selector';\nimport appStore from '../../assets/app-store.svg';\nimport backgroundImageRetina from '../../assets/carbonio_loginpage-retina.jpg';\nimport backgroundImage from '../../assets/carbonio_loginpage.jpg';\nimport logoCarbonio from '../../assets/logo-carbonio.png';\nimport playStore from '../../assets/play-store.svg';\nimport ServerNotResponding from '../components-index/server-not-responding';\nimport useScreenMode from '../components-index/use-screen-mode';\nimport useIsTouchDevice from '../components-index/use-touch-device';\nimport { ZimbraForm } from '../components-index/zimbra-form';\nimport {\n\tAPP_STORE_URL,\n\tCARBONIO_LOGO_URL,\n\tDESKTOP,\n\tMOBILE,\n\tPLAY_STORE_URL,\n\tCARBONIO_CE_SUPPORTED_BROWSER_LINK,\n\tCARBONIO_SUPPORTED_BROWSER_LINK,\n\tCHROME,\n\tFIREFOX\n} from '../constants';\nimport { useDarkReaderResultValue } from '../dark-mode/use-dark-reader-result-value';\nimport { useGetPrimaryColor } from '../primary-color/use-get-primary-color';\nimport { getLoginConfig } from '../services/login-page-services';\nimport { useLoginConfigStore } from '../store/login/store';\nimport { ThemeCallbacksContext } from '../theme-provider/theme-provider';\nimport { generateColorSet, prepareUrlForForward } from '../utils';\n\nconst LoginContainer = styled(Container)`\n\tpadding: 0 100px;\n\tbackground: url(${(props) => props.backgroundImage}) no-repeat 75% center/cover;\n\tjustify-content: center;\n\talign-items: flex-start;\n\t${({ screenMode }) =>\n\t\tscreenMode !== DESKTOP &&\n\t\tcss`\n\t\t\tpadding: 0 12px;\n\t\t\talign-items: center;\n\t\t`}\n\t${({ isDefaultBg }) =>\n\t\tisDefaultBg &&\n\t\tcss`\n\t\t\t@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {\n\t\t\t\tbackground: url(${backgroundImageRetina}) no-repeat 75% center/cover;\n\t\t\t}\n\t\t`}\n`;\n\nconst FormContainer = styled.div`\n\tmax-width: 100%;\n\tmax-height: 100vh;\n\tbox-shadow: 0px 0px 20px -7px rgba(0, 0, 0, 0.3);\n`;\n\nconst FormWrapper = styled(Container)`\n\twidth: auto;\n\theight: auto;\n\tbackground-color: ${({ theme }) => theme.palette.gray6.regular};\n\tpadding: 48px 48px 0;\n\twidth: 436px;\n\tmax-width: 100%;\n\tmin-height: 620px;\n\t// height: 100vh;\n\toverflow-y: auto;\n\t${({ screenMode }) =>\n\t\tscreenMode !== DESKTOP &&\n\t\tcss`\n\t\t\tpadding: 20px 20px 0;\n\t\t\twidth: 360px;\n\t\t\tmax-height: 100%;\n\t\t\theight: auto;\n\t\t`}\n`;\n\nfunction DarkReaderListener() {\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst darkReaderResultValue = useDarkReaderResultValue();\n\tuseEffect(() => {\n\t\tif (darkReaderResultValue) {\n\t\t\tsetDarkReaderState(darkReaderResultValue);\n\t\t}\n\t}, [darkReaderResultValue, setDarkReaderState]);\n\treturn null;\n}\n\nexport default function PageLayout({ version, hasBackendApi }) {\n\tconst [t] = useTranslation();\n\tconst [logo, setLogo] = useState(null);\n\tconst [serverError, setServerError] = useState(false);\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst [destinationUrl, setDestinationUrl] = useState(\n\t\tprepareUrlForForward(urlParams.get('destinationUrl'))\n\t);\n\tconst [domain, setDomain] = useState(urlParams.get('domain') ?? destinationUrl);\n\n\tconst [bg, setBg] = useState(backgroundImage);\n\tconst [isDefaultBg, setIsDefaultBg] = useState(true);\n\tconst [editedTheme, setEditedTheme] = useState({});\n\tconst [copyrightBanner, setCopyrightBanner] = useState('');\n\tconst { setDarkReaderState } = useContext(ThemeCallbacksContext);\n\tconst { setDomainName } = useLoginConfigStore();\n\tconst [showModal, setShowModal] = useState(true);\n\tconst [showMobileAppModal, setShowMobileAppModal] = useState(true);\n\tconst [doNotShowAgain, setDoNotShowAgain] = useState(false);\n\tconst screenMode = useScreenMode();\n\tconst isTouchDevice = useIsTouchDevice();\n\n\tuseEffect(() => {\n\t\tconst storedState = localStorage.getItem('doNotShowMobileAppModal');\n\t\tif (storedState) {\n\t\t\tsetShowMobileAppModal(false);\n\t\t}\n\t}, []);\n\tconst primaryColor = useGetPrimaryColor();\n\tconst [isAdvanced, SetIsAdvanced] = useState(true);\n\tconst isSupportedBrowser = browserName === CHROME || browserName === FIREFOX;\n\n\tuseLayoutEffect(() => {\n\t\tlet componentIsMounted = true;\n\n\t\tif (hasBackendApi) {\n\t\t\tgetLoginConfig(version, domain, domain)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (!destinationUrl) setDestinationUrl(prepareUrlForForward(res.publicUrl));\n\t\t\t\t\tif (!domain) setDomain(res.zimbraDomainName);\n\t\t\t\t\tsetDomainName(res.zimbraDomainName);\n\n\t\t\t\t\tconst _logo = {};\n\n\t\t\t\t\tif (componentIsMounted) {\n\t\t\t\t\t\tif (res.loginPageBackgroundImage) {\n\t\t\t\t\t\t\tsetBg(res.loginPageBackgroundImage);\n\t\t\t\t\t\t\tsetIsDefaultBg(false);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageLogo) {\n\t\t\t\t\t\t\t_logo.image = res.loginPageLogo;\n\t\t\t\t\t\t\t_logo.width = '100%';\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_logo.image = logoCarbonio;\n\t\t\t\t\t\t\t_logo.width = '221px';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageSkinLogoUrl) {\n\t\t\t\t\t\t\t_logo.url = res.loginPageSkinLogoUrl;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t_logo.url = '';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageTitle) {\n\t\t\t\t\t\t\tdocument.title = res.loginPageTitle;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdocument.title = t('carbonio_authentication', 'Carbonio Authentication');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageFavicon) {\n\t\t\t\t\t\t\tconst link =\n\t\t\t\t\t\t\t\tdocument.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n\t\t\t\t\t\t\tlink.type = 'image/x-icon';\n\t\t\t\t\t\t\tlink.rel = 'shortcut icon';\n\t\t\t\t\t\t\tlink.href = res.loginPageFavicon;\n\t\t\t\t\t\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (res.loginPageColorSet) {\n\t\t\t\t\t\t\tconst colorSet = res.loginPageColorSet;\n\t\t\t\t\t\t\tif (colorSet.primary) {\n\t\t\t\t\t\t\t\tsetEditedTheme((et) => ({\n\t\t\t\t\t\t\t\t\t...et,\n\t\t\t\t\t\t\t\t\t'palette.primary': generateColorSet({\n\t\t\t\t\t\t\t\t\t\tregular: `#${colorSet.primary}`\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (colorSet.secondary) {\n\t\t\t\t\t\t\t\tsetEditedTheme((et) => ({\n\t\t\t\t\t\t\t\t\t...et,\n\t\t\t\t\t\t\t\t\t'palette.secondary': generateColorSet({\n\t\t\t\t\t\t\t\t\t\tregular: `#${colorSet.secondary}`\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (version === 3) {\n\t\t\t\t\t\t\tuseLoginConfigStore.setState(res);\n\t\t\t\t\t\t\t// In case of v3 API response\n\t\t\t\t\t\t\tif (res?.carbonioWebUiTitle) {\n\t\t\t\t\t\t\t\tdocument.title = res.carbonioWebUiTitle;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res?.carbonioWebUiFavicon) {\n\t\t\t\t\t\t\t\tconst link =\n\t\t\t\t\t\t\t\t\tdocument.querySelector(\"link[rel*='icon']\") || document.createElement('link');\n\t\t\t\t\t\t\t\tlink.type = 'image/x-icon';\n\t\t\t\t\t\t\t\tlink.rel = 'shortcut icon';\n\t\t\t\t\t\t\t\tlink.href = res.carbonioWebUiFavicon;\n\t\t\t\t\t\t\t\tdocument.getElementsByTagName('head')[0].appendChild(link);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res?.carbonioWebUiDarkMode) {\n\t\t\t\t\t\t\t\tif (res?.carbonioWebUiDarkLoginBackground) {\n\t\t\t\t\t\t\t\t\tsetBg(res.carbonioWebUiDarkLoginBackground);\n\t\t\t\t\t\t\t\t\tsetIsDefaultBg(false);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (res?.carbonioWebUiDarkLoginLogo) {\n\t\t\t\t\t\t\t\t\t_logo.image = res.carbonioWebUiDarkLoginLogo;\n\t\t\t\t\t\t\t\t\t_logo.width = '100%';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (res?.carbonioWebUiLoginBackground) {\n\t\t\t\t\t\t\t\t\tsetBg(res.carbonioWebUiLoginBackground);\n\t\t\t\t\t\t\t\t\tsetIsDefaultBg(false);\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tif (res?.carbonioWebUiLoginLogo) {\n\t\t\t\t\t\t\t\t\t_logo.image = res.carbonioWebUiLoginLogo;\n\t\t\t\t\t\t\t\t\t_logo.width = '100%';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (res?.carbonioWebUiDescription) {\n\t\t\t\t\t\t\t\tsetCopyrightBanner(res.carbonioWebUiDescription);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t_logo.url = res?.carbonioLogoURL ? res.carbonioLogoURL : CARBONIO_LOGO_URL;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetLogo(_logo);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => {\n\t\t\t\t\t// It should never happen, If the server doesn't respond this page will not be loaded\n\t\t\t\t\tif (componentIsMounted) setServerError(true);\n\t\t\t\t});\n\t\t} else {\n\t\t\tsetLogo({ image: logoCarbonio, width: '221px', url: CARBONIO_LOGO_URL });\n\t\t\tdocument.title = t('carbonio_authentication', 'Carbonio Authentication');\n\t\t\tSetIsAdvanced(false);\n\t\t}\n\n\t\treturn () => {\n\t\t\tcomponentIsMounted = false;\n\t\t};\n\t}, [t, version, domain, destinationUrl, hasBackendApi, setDarkReaderState, setDomainName]);\n\n\tconst LinkText = (props) => {\n\t\tconst { to, children } = props || {};\n\t\treturn (\n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t);\n\t};\n\n\tif (serverError) return ;\n\n\tif (logo) {\n\t\tconst logoHtml = (\n\t\t\t\n\t\t);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{logo.url ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{logoHtml}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tlogoHtml\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{hasBackendApi ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tsupported'\n\t\t\t\t\t\t\t\t\t\t\t\t: 'Having troubles? Try a fully supported browser'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcomponents={{\n\t\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t{copyrightBanner ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{copyrightBanner}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCopyright ©\n\t\t\t\t\t\t\t\t\t{` ${new Date().getFullYear()} Zextras, `}\n\t\t\t\t\t\t\t\t\t{t('all_rights_reserved', 'All rights reserved')}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{showMobileAppModal && screenMode !== DESKTOP && isTouchDevice && (\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tshowCloseIcon\n\t\t\t\t\t\tonClose={() => {\n\t\t\t\t\t\t\tif (doNotShowAgain) {\n\t\t\t\t\t\t\t\tlocalStorage.setItem('doNotShowMobileAppModal', JSON.stringify(true));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetShowModal(false);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t Android and Iphone, download your version using the buttons below!\"\n\t\t\t\t\t\t\t\t\t\tcomponents={{ bold: }}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tsetDoNotShowAgain(!doNotShowAgain);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n\n\treturn null;\n}\n","/*\n * SPDX-FileCopyrightText: 2022 Zextras \n *\n * SPDX-License-Identifier: AGPL-3.0-only\n */\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { DESKTOP, MOBILE, TABLET } from '../constants';\n\nexport default function useScreenMode() {\n\tconst check = useCallback((width) => {\n\t\tif (width < 1280) {\n\t\t\tif (width < 640) {\n\t\t\t\treturn MOBILE;\n\t\t\t}\n\t\t\treturn TABLET;\n\t\t}\n\t\treturn DESKTOP;\n\t}, []);\n\n\tconst [screenMode, setScreenMode] = useState(DESKTOP);\n\n\tuseEffect(() => {\n\t\tconst handleResize = () => {\n\t\t\tsetScreenMode(check(window.innerWidth));\n\t\t};\n\t\thandleResize();\n\t\twindow.addEventListener('resize', handleResize);\n\t\treturn () => {\n\t\t\twindow.removeEventListener('resize', handleResize);\n\t\t};\n\t}, [check]);\n\n\treturn screenMode;\n}\n"],"names":["urlParams","URLSearchParams","window","location","search","CredentialsForm","_ref","authError","submitCredentials","configuration","disableInputs","onClickForgetPassword","_ref$loading","loading","_useTranslation","useTranslation","t","_slicedToArray","_useState","useState","get","_useState2","username","setUsername","_useState3","_useState4","password","setPassword","_useLoginConfigStore","useLoginConfigStore","carbonioDomainName","carbonioFeatureResetPasswordEnabled","submitUserPassword","useCallback","e","preventDefault","usernameModified","has","concat","replace","includes","trim","samlButtonCbk","assign","destinationUrl","samlButton","useMemo","authMethods","React","Button","type","label","color","disabled","onClick","style","minHeight","clickForgetPassword","domainElement","Tooltip","placement","size","Text","weight","marginTop","maxWidth","onSubmit","width","Row","padding","bottom","Input","defaultValue","onChange","target","value","hasError","autocomplete","backgroundColor","CustomIcon","PasswordInput","overflow","orientation","crossAlignment","top","mainAlignment","textDecorationLine","cursor","OfflineModal","open","onClose","Modal","title","Paragraph","StyledSpinner","styled","svg","withConfig","displayName","componentId","Spinner","viewBox","className","cx","cy","r","fill","strokeWidth","getDeviceModel","deviceModel","isMobile","mobileVendor","mobileModel","browserName","browserVersion","osName","osVersion","deviceId","uuid","localStorage","getItem","generatedUUID","c","crypto","msCrypto","getRandomValues","Uint8Array","toString","setItem","saveCredentials","cred","PasswordCredential","id","name","navigator","credentials","store","Promise","resolve","prepareUrlForForward","oUrl","url","URL","err","forEach","queryString","key","searchParams","set","generateColorSet","regular","hover","active","focus","dark","arguments","length","undefined","lighten","darken","setLightness","desaturate","setCookie","cName","cValue","expDays","date","Date","Number","isInteger","setTime","getTime","expires","toUTCString","document","cookie","V1LoginManager","setLoading","progress","_useState5","_useState6","setAuthError","_useState7","_useState8","snackbarNetworkError","setSnackbarNetworkError","_useState9","_useState10","detailNetworkModal","setDetailNetworkModal","authMethod","user","fetch","method","headers","body","JSON","stringify","auth_method","postV1Login","then","_ref2","_asyncToGenerator","_regeneratorRuntime","_callee","res","_context","prev","next","t0","status","abrupt","stop","_x","apply","onCloseCbk","onSnackbarActionCbk","onCloseSnackbarCbk","vertical","Snackbar","actionLabel","onActionClick","autoHideTimeout","isLoading","setIsLoading","oldPassword","setOldPassword","newPassword","setNewPassword","confirmNewPassword","setConfirmNewPassword","showOldPasswordError","setShowOldPasswordError","errorLabelNewPassword","setErrorLabelNewPassword","_useState11","_useState12","errorLabelConfirmNewPassword","setErrorLabelConfirmNewPassword","onChangeOldPassword","ev","onChangeNewPassword","onChangeConfirmNewPassword","useEffect","submitChangePasswordCb","Body","ChangePasswordRequest","_jsns","csrfTokenSecured","persistAuthTokenCookie","account","by","_content","prefs","pref","submitChangePassword","_payload2","_payload3","_payload4","payload","_payload","authTokenArr","authToken","a","currNum","json","sent","ChangePasswordResponse","ZM_AUTH_TOKEN","t1","Fault","Detail","Error","Code","INVALID_PASSWORD_ERR_CODE","find","rec","n","BLOCK_COMMON_WORDS_IN_PASSWORD_POLICY","str","BLOCK_PERSONAL_DATA_IN_PASSWORD_POLICY","ZIMBRA_PASSWORD_MAX_LENGTH_ATTR_NAME","num","ZIMBRA_PASSWORD_MIN_LENGTH_ATTR_NAME","ZIMBRA_PASSWORD_MIN_LOWERCASE_CHARS_ATTR_NAME","ZIMBRA_PASSWORD_MIN_NUMERIC_CHARS_ATTR_NAME","ZIMBRA_PASSWORD_MIN_PUNCTUATION_CHARS_ATTR_NAME","ZIMBRA_PASSWORD_MIN_UPPERCASE_CHARS_ATTR_NAME","ZIMBRA_PASSWORD_MIN_DIGITS_OR_PUNCS","PASSWORD_LOCKED","PASSWORD_RECENTLY_USED_ERR_CODE","message","startsWith","height","maxHeight","display","postV2Login","service","_defineProperty","RECOVERY_TOKEN","PASSWORD","submitOtp","code","trustDevice","version","unsecure_device","state","setProgress","token","setToken","recoveryEmail","setRecoveryEmail","recoveryEmailError","setRecoveryEmailError","sendTokenError","setSendTokenError","_useState13","_useState14","validationTokenError","setValidationTokenError","_useState15","_useState16","recoveryAttemptsLeft","setRecoveryAttemptsLeft","_useState17","_useState18","validationOTPError","setValidationOTPError","createSnackbar","useContext","SnackbarManagerContext","_useState19","_useState20","otpList","setOtpList","_useState21","_useState22","otpId","setOtpId","_useState23","_useState24","otp","setOtp","_useState25","_useState26","setTrustDevice","toggleTrustDevice","v","onChangeOtp","handleAccountRecoveryError","errorCode","FEATURE_RESET_PASSWORD_DISABLED","CONTACT_ADMIN","onRetrieveRecoveryEmail","RecoverAccountRequest","op","email","channel","getRecoveryAccount","RecoverAccountResponse","recoveryAccount","onSendRecoveryToken","getSendRecoveryToken","_ref3","_callee2","rAttemptLeft","_context2","hideButton","_x2","validateCommunityToken","recoveryCode","AuthRequest","validateRecoveryToken","_ref4","_callee3","_context3","AuthResponse","_x3","validateCarbonioToken","_ref5","_callee4","_payload5","_payload$otp","_payload6","_payload7","_context4","map","obj","_x4","onValidateToken","systemType","CARBONIO","submitOtpCb","onProceedWithSession","Trans","i18nKey","defaults","components","bold","values","recovery_email","Container","Select","items","background","defaultSelection","Checkbox","formState","waiting","twoFactor","changePassword","forgetPassword","V2LoginManager","loadingCredentials","setLoadingCredentials","loadingOtp","setLoadingOtp","showOtpError","setShowOtpError","setEmail","loadingChangePassword","setLoadingChangePassword","redirected","response","_response$otp","_response$otp2","ChangePasswordForm","ForgetPassword","ServerNotResponding","isOpen","setOpen","FormSelector","domain","setConfiguration","error","setError","setDisableInputs","componentIsMounted","append","getAuthSupported","conf","_objectSpread","maxApiVersion","doAuthLogout","console","log","minApiVersion","NotSupportedVersion","isTouchDevice","setIsTouchDevice","mediaQuery","matchMedia","handleMediaChange","matches","addEventListener","removeEventListener","zimbraLogin","generateDeviceId","ZimbraForm","_payload$Body$Fault","_payload$Body$Fault2","Reason","origin","LoginContainer","props","backgroundImage","screenMode","DESKTOP","css","isDefaultBg","backgroundImageRetina","FormContainer","div","FormWrapper","theme","palette","gray6","DarkReaderListener","setDarkReaderState","ThemeCallbacksContext","darkReaderResultValue","useDarkReaderResultValue","PageLayout","_urlParams$get","hasBackendApi","logo","setLogo","serverError","setServerError","setDestinationUrl","setDomain","bg","setBg","setIsDefaultBg","setEditedTheme","copyrightBanner","setCopyrightBanner","setDomainName","showModal","setShowModal","showMobileAppModal","setShowMobileAppModal","doNotShowAgain","setDoNotShowAgain","check","MOBILE","TABLET","setScreenMode","handleResize","innerWidth","useScreenMode","useIsTouchDevice","primaryColor","useGetPrimaryColor","isAdvanced","SetIsAdvanced","isSupportedBrowser","CHROME","FIREFOX","useLayoutEffect","getLoginConfig","publicUrl","zimbraDomainName","_logo","loginPageBackgroundImage","loginPageLogo","image","logoCarbonio","loginPageSkinLogoUrl","loginPageTitle","loginPageFavicon","link","querySelector","createElement","rel","href","getElementsByTagName","appendChild","loginPageColorSet","colorSet","primary","et","secondary","setState","carbonioWebUiTitle","carbonioWebUiFavicon","carbonioWebUiDarkMode","carbonioWebUiDarkLoginBackground","carbonioWebUiDarkLoginLogo","carbonioWebUiLoginBackground","carbonioWebUiLoginLogo","carbonioWebUiDescription","carbonioLogoURL","CARBONIO_LOGO_URL","LinkText","_ref6","to","children","logoHtml","alt","src","marginLeft","marginRight","Padding","wrap","right","Icon","icon","CARBONIO_SUPPORTED_BROWSER_LINK","CARBONIO_CE_SUPPORTED_BROWSER_LINK","getFullYear","customFooter","gap","showCloseIcon","lineHeight","PLAY_STORE_URL","playStore","APP_STORE_URL","appStore","iconColor"],"sourceRoot":""}