{"version":3,"file":"634.chunk.js","mappings":"2UAGA,MAAMA,GAAOC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACxCC,QAAS,OACTC,cAAe,SACfC,WAAY,aAGRC,GAAWL,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC5CK,cAAeL,EAAMM,QAAQ,OAGzBC,GAAYR,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC7CK,cAAeL,EAAMM,QAAQ,OAGzBE,GAAeT,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAChDK,cAAeL,EAAMM,QAAQ,OAGzBG,GAAcV,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC/CK,cAAeL,EAAMM,QAAQ,OAGlBI,EAAoBA,KAC/B,MAAMV,GAAQW,EAAAA,EAAAA,KACRC,GAAWC,EAAAA,EAAAA,GAAcb,EAAMc,YAAYC,KAAK,OAEtD,OACEC,EAAAA,EAAAA,MAAClB,EAAI,CAAAmB,SAAA,EACHC,EAAAA,EAAAA,KAACd,EAAQ,CAAAa,UACPC,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,GACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,QAGxBP,EAAAA,EAAAA,KAACX,EAAS,CAAAU,UACRC,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,GACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,QAGxBP,EAAAA,EAAAA,KAACV,EAAY,CAAAS,UACXC,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,GACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,QAGxBP,EAAAA,EAAAA,KAACT,EAAW,CAAAQ,UACVC,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,IACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,QAGxBP,EAAAA,EAAAA,KAACC,EAAAA,EAAQ,CACPC,OAAQ,GACRC,MAAOT,EAAW,IAAM,IACxBU,QAAQ,cACRC,UAAU,OACVC,GAAI,CAAEC,aAAc,OAEjB,E,0BChEJ,MAAMC,UAAsBC,EAAAA,UAAkDC,WAAAA,IAAAC,GAAA,SAAAA,IAAAC,EAAAA,EAAAA,GAAA,aACrC,CAAC,EAAC,CAEhD,+BAAOC,CAAyBC,GAC9B,MAAO,CAAEA,QACX,CAESC,MAAAA,GACP,MAAM,MAAED,GAA8BE,KAAKC,MAE3C,GAAIH,EAIF,OAFAI,QAAQJ,MAAMA,GAEP,KAGT,MAAM,SAAEf,GAAiCiB,KAAKG,MAE9C,OAAOpB,CACT,E,mCCjBK,MAAMqB,EAA2C,CACtDC,gCAAiC,oFACjCC,iBAAkB,yCAClBC,6BAA8B,2DAC9BC,2BAA4B,qEAC5BC,2BAA4B,6DAC5BC,oBAAqB,qCACrBC,sBAAuB,wCACvBC,qBAAsB,iDACtBC,4BAA6B,uEAC7BC,0BAA2B,8DAC3BC,YACE,6WACFC,+BAAgC,8EAChCC,yBAA0B,QAC1BC,+BAAgC,IAChCC,yBAA0B,QAC1BC,2BAA4B,8CAC5BC,yBAA0B,oBAC1BC,2CAA4C,6BAC5CC,4BAA6B,aAC7BC,uBACE,yHACFC,2BAA4B,WAC5BC,4BAA6B,+CAC7BC,gBAAiB,+CACjBC,kBAAmB,kBACnBC,iBAAkB,OAClBC,kBAAmB,kCACnBC,8BAA+B,SAC/BC,0BAA2B,gEAC3BC,sBAAuB,gBACvBC,0BAA2B,yFAC3BC,gBAAiB,QACjBC,yBAA0B,mBAC1BC,oBAAqB,aACrBC,iBAAkB,SAClBC,6BAA8B,SAC9BC,iBAAkB,mBAClBC,mBAAoB,YACpBC,gBAAiB,QACjBC,0BAA2B,eAC3BC,yBAA0B,mBAC1BC,sBAAuB,aACvBC,2BAA4B,IAC5BC,2BAA4B,eAC5BC,qCAAsC,YACtCC,0BAA2B,mBAC3BC,eAAgB,iDAChBC,uBAAwB,8CACxBC,iCAAkC,2CAClCC,mBAAoB,YACpBC,2BAA4B,+CAC5BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,+BAAgC,oFAChCC,yBAA0B,QAC1BC,mCAAoC,eACpCC,+BAAgC,eAChCC,yCAA0C,YAC1CC,yBAA0B,QAC1BC,2BAA4B,8CAC5BC,qCAAsC,2CACtCC,yBAA0B,oBAC1BC,2CAA4C,6BAC5CC,4BAA6B,aAC7BC,uBACE,6HACFC,2BAA4B,WAC5BC,4BAA6B,+CAC7BC,cAAe,qBACfC,eAAgB,oBAChBC,cAAe,QACfC,wCAAyC,qCACzCC,iBAAkB,wBAClBC,eAAgB,sBAChBC,eAAgB,UAChBC,uBAAwB,kBACxBC,+BAAgC,eAChCC,4BAA6B,sBAC7BC,8BAA+B,2EAC/BC,oBACE,gQACFC,wCAAyC,iBACzCC,6CAA8C,uBAC9CC,WAAY,KACZC,iBAAkB,oBAClBC,cAAe,QACfC,wBAAyB,eACzBC,yBAA0B,IAC1BC,4BAA6B,SAC7BC,yBAA0B,eAC1BC,mCAAoC,YACpCC,sBAAuB,sBACvBC,2BAA4B,+CAC5BC,qBAAsB,mCACtBC,+BAAgC,mCAChCC,2BAA4B,sBAC5BC,2BAA4B,OAC5BC,oBAAqB,iBACrBC,mBAAoB,kDACpBC,SAAU,WACVC,8BAA+B,yBAC/BC,kBAAmB,OACnBC,uBAAwB,OACxBC,mBAAoB,UACpBC,mCAAoC,sCACpCC,2CAA4C,8DAC5CC,kBAAmB,6BACnBC,iCAAkC,6BAClCC,8BAA+B,yBAC/BC,2BAA4B,mBAC5BC,gBAAiB,8EACjBC,4BAA6B,wBAC7BC,uBAAwB,gBACxBC,+BAAgC,gFAChCC,mBAAoB,0CACpBC,yBAA0B,uBAC1BC,0BAA2B,qBAC3BC,kCAAmC,qBACnCC,gCAAiC,yCACjCC,iBAAkB,sBAClBC,6BAA8B,uBAC9BC,wBAAyB,0BACzBC,wBAAyB,0BACzBC,0BAA2B,mBAC3BC,2BAA4B,uBAC5BC,yBAA0B,kBAC1BC,iCAAkC,gBAClCC,uBAAwB,gBACxBC,2BAA4B,YAC5BC,yBAA0B,kBAC1BC,iCAAkC,aAClCC,4BAA6B,qBAC7BC,iCACE,wTACFC,iBAAkB,gBAClBC,qBAAsB,2DACtBC,wBAAyB,UACzBC,sBAAuB,8BACvBC,0BAA2B,mBAC3BC,6BAA8B,eAC9BC,2BACE,4FACFC,eAAgB,OAChBC,qBAAsB,cACtBC,mBAAoB,OACpBC,mBAAoB,OACpBC,yBAA0B,kBAC1BC,6BACE,4FACFC,gCAAiC,iBACjCC,8BAA+B,0BAC/BC,YAAa,eACbC,eAAgB,kBAChBC,eAAgB,WAChBC,aAAc,mEACdC,cAAe,oBACfC,cAAe,iBACfC,qBAAsB,0BACtBC,wBAAyB,iCACzBC,KAAM,OACNC,iBAAkB,mBAClBC,aAAc,eACdC,KAAM,OACNC,8BAA+B,8CAC/BC,kCAAmC,gCACnCC,qBAAsB,6BACtBC,OAAQ,SACRC,aAAc,yBACdC,aAAc,gBACdC,cAAe,8BACfC,aAAc,gBACdC,aAAc,gBACdC,aAAc,gBACdC,KAAM,OACNC,iBAAkB,mBAClBC,QAAS,UACTC,sBAAuB,8CACvBC,QAAS,UACTC,oBAAqB,sBACrBC,yBAA0B,mBAC1BC,qBAAsB,6CACtBC,mBAAoB,2EACpBC,OAAQ,SACRC,SAAU,WACVC,UAAW,aACXC,sBAAuB,yBACvBC,kBAAmB,qBACnBC,UAAW,aACXC,sBAAuB,yBACvBC,kBAAmB,qBACnBC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,SAAU,WACVC,qBAAsB,uBACtBC,2BAA4B,sCAC5BC,aAAc,mBACdC,uBAAwB,uDACxBC,eAAgB,MAChBC,iBAAkB,QAClBC,iBAAkB,QAClBC,KAAM,OACNC,QAAS,UACTC,SAAU,WACVC,qBAAsB,uBACtBC,eAAgB,aAChBC,cAAe,iBACfC,wBAAyB,0BACzBC,aAAc,eACdC,mCAAoC,oBACpCC,yBAA0B,UAC1BC,0BAA2B,SAC3BC,mCAAoC,qBACpCC,oCAAqC,qBACrCC,mCAAoC,qBACpCC,SAAU,WACVC,qBAAsB,uBACtBC,SAAU,YACVC,OAAQ,SACRC,mBAAoB,qBACpBC,eAAgB,0BAChBC,mBAAoB,wBACpBC,WAAY,cACZC,+BAAgC,4CAChCC,UAAW,aACXC,cAAe,WACfC,aAAc,UACdC,cAAe,WACfC,aAAc,gBACdC,cAAe,iBACfC,qBAAsB,mDACtBC,0BAA2B,6BAC3BC,cAAe,mBACfC,6BAA8B,4CAC9BC,WAAY,WACZC,UAAW,eACXC,yBAA0B,+DAC1BC,oBAAqB,yDACrBC,6BAA8B,iDAC9BC,kCAAmC,8CACnCC,iBAAkB,0BAClBC,kCAAmC,yBACnCC,oBAAqB,2BACrBC,mBAAoB,0CACpBC,oBAAqB,2BACrBC,mBAAoB,sCACpBC,gBAAiB,wCACjBC,yBAA0B,iEAC1BC,qBAAsB,uDACtBC,0CAA2C,0CAC3CC,qBAAsB,wDACtBC,wBAAyB,sDACzBC,mBAAoB,yBACpBC,sBAAuB,wBACvBC,4BAA6B,+BAC7BC,kCAAmC,4BACnCC,4BAA6B,+BAC7BC,sBAAuB,iDACvBC,wBAAyB,2BACzBC,yBAA0B,6BAC1BC,yBAA0B,4BAC1BC,gCAAiC,iCACjCC,2BAA4B,+CAC5BC,qBAAsB,qBACtBC,6BAA8B,8BAC9BC,wBAAyB,yBACzBC,wBAAyB,4CACzBC,QAAS,UACTC,QAAS,WACTC,oBAAqB,wBCpRV7Q,EAA2C,CACtDC,gCAAiC,oFACjCC,iBAAkB,yCAClBC,6BAA8B,2DAC9BC,2BAA4B,qEAC5BC,2BAA4B,6DAC5BC,oBAAqB,qCACrBC,sBAAuB,wCACvBC,qBAAsB,iDACtBC,4BAA6B,uEAC7BC,0BAA2B,8DAC3BC,YACE,6WACFC,+BAAgC,8EAChCC,yBAA0B,QAC1BC,+BAAgC,IAChCC,yBAA0B,QAC1BC,2BAA4B,8CAC5BC,yBAA0B,oBAC1BC,2CAA4C,6BAC5CC,4BAA6B,aAC7BC,uBACE,yHACFC,2BAA4B,WAC5BC,4BAA6B,+CAC7BC,gBAAiB,+CACjBC,kBAAmB,kBACnBC,iBAAkB,OAClBC,kBAAmB,kCACnBC,8BAA+B,SAC/BC,0BAA2B,gEAC3BC,sBAAuB,gBACvBC,0BAA2B,yFAC3BC,gBAAiB,QACjBC,yBAA0B,mBAC1BC,oBAAqB,aACrBC,iBAAkB,SAClBC,6BAA8B,SAC9BC,iBAAkB,mBAClBC,mBAAoB,YACpBC,gBAAiB,QACjBC,0BAA2B,eAC3BC,yBAA0B,mBAC1BC,sBAAuB,aACvBC,2BAA4B,IAC5BC,2BAA4B,eAC5BC,qCAAsC,YACtCC,0BAA2B,mBAC3BC,eAAgB,iDAChBC,uBAAwB,8CACxBC,iCAAkC,2CAClCC,mBAAoB,YACpBC,2BAA4B,+CAC5BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,0BAA2B,sBAC3BC,+BAAgC,oFAChCC,yBAA0B,QAC1BC,mCAAoC,eACpCC,+BAAgC,eAChCC,yCAA0C,YAC1CC,yBAA0B,QAC1BC,2BAA4B,8CAC5BC,qCAAsC,2CACtCC,yBAA0B,oBAC1BC,2CAA4C,6BAC5CC,4BAA6B,aAC7BC,uBACE,6HACFC,2BAA4B,WAC5BC,4BAA6B,+CAC7BC,cAAe,qBACfC,eAAgB,oBAChBC,cAAe,QACfC,wCAAyC,qCACzCC,iBAAkB,wBAClBC,eAAgB,sBAChBC,eAAgB,UAChBC,uBAAwB,kBACxBC,+BAAgC,eAChCC,4BAA6B,sBAC7BC,8BAA+B,2EAC/BC,oBACE,8PACFC,wCAAyC,iBACzCC,6CAA8C,uBAC9CC,WAAY,KACZC,iBAAkB,oBAClBC,cAAe,QACfC,wBAAyB,eACzBC,yBAA0B,IAC1BC,4BAA6B,SAC7BC,yBAA0B,eAC1BC,mCAAoC,YACpCC,sBAAuB,sBACvBC,2BAA4B,+CAC5BC,qBAAsB,mCACtBC,+BAAgC,mCAChCC,2BAA4B,sBAC5BC,2BAA4B,OAC5BC,oBAAqB,iBACrBC,mBAAoB,kDACpBC,SAAU,WACVC,8BAA+B,yBAC/BC,kBAAmB,OACnBC,uBAAwB,OACxBC,mBAAoB,UACpBC,mCAAoC,qCACpCC,2CAA4C,8DAC5CC,kBAAmB,6BACnBC,iCAAkC,6BAClCC,8BAA+B,yBAC/BC,2BAA4B,mBAC5BC,gBACE,oKACFC,4BAA6B,wBAC7BC,uBAAwB,gBACxBC,+BAAgC,gFAChCC,mBAAoB,0CACpBC,yBAA0B,uBAC1BC,0BAA2B,qBAC3BC,kCAAmC,qBACnCC,gCAAiC,yCACjCC,iBAAkB,sBAClBC,6BAA8B,uBAC9BC,wBAAyB,0BACzBC,wBAAyB,0BACzBC,0BAA2B,mBAC3BC,2BAA4B,uBAC5BC,yBAA0B,kBAC1BC,iCAAkC,gBAClCC,uBAAwB,gBACxBC,2BAA4B,YAC5BC,yBAA0B,kBAC1BC,iCAAkC,aAClCC,4BAA6B,qBAC7BC,iCACE,wTACFC,iBAAkB,gBAClBC,qBAAsB,2DACtBC,wBAAyB,UACzBC,sBAAuB,8BACvBC,0BAA2B,mBAC3BC,6BAA8B,eAC9BC,2BACE,4FACFC,eAAgB,OAChBC,qBAAsB,cACtBC,mBAAoB,OACpBC,mBAAoB,OACpBC,yBAA0B,kBAC1BC,6BACE,4FACFC,gCAAiC,iBACjCC,8BAA+B,0BAC/BC,YAAa,eACbC,eAAgB,kBAChBC,eAAgB,WAChBC,aAAc,mEACdC,cAAe,oBACfC,cAAe,iBACfC,qBAAsB,0BACtBC,wBAAyB,iCACzBC,KAAM,OACNC,iBAAkB,mBAClBC,aAAc,eACdC,KAAM,OACNC,8BAA+B,8CAC/BC,kCAAmC,gCACnCC,qBAAsB,6BACtBC,OAAQ,SACRC,aAAc,yBACdC,aAAc,gBACdC,cAAe,8BACfC,aAAc,gBACdC,aAAc,gBACdC,aAAc,gBACdC,KAAM,OACNC,iBAAkB,mBAClBC,QAAS,UACTC,sBAAuB,8CACvBC,QAAS,UACTC,oBAAqB,sBACrBC,yBAA0B,mBAC1BC,qBAAsB,6CACtBC,mBAAoB,2EACpBC,OAAQ,SACRC,SAAU,WACVC,UAAW,aACXC,sBAAuB,yBACvBC,kBAAmB,qBACnBC,UAAW,aACXC,sBAAuB,yBACvBC,kBAAmB,qBACnBC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,SAAU,WACVC,qBAAsB,uBACtBC,2BAA4B,sCAC5BC,aAAc,mBACdC,uBAAwB,uDACxBC,eAAgB,MAChBC,iBAAkB,QAClBC,iBAAkB,QAClBC,KAAM,OACNC,QAAS,UACTC,SAAU,WACVC,qBAAsB,uBACtBC,eAAgB,aAChBC,cAAe,iBACfC,wBAAyB,0BACzBC,aAAc,eACdC,mCAAoC,oBACpCC,yBAA0B,UAC1BC,0BAA2B,SAC3BC,mCAAoC,qBACpCC,oCAAqC,qBACrCC,mCAAoC,qBACpCC,SAAU,WACVC,qBAAsB,uBACtBC,SAAU,YACVC,OAAQ,SACRC,mBAAoB,qBACpBC,eAAgB,0BAChBC,mBAAoB,wBACpBC,WAAY,cACZC,+BAAgC,4CAChCC,UAAW,aACXC,cAAe,WACfC,aAAc,UACdC,cAAe,WACfC,aAAc,gBACdC,cAAe,iBACfC,qBAAsB,mDACtBC,0BAA2B,6BAC3BC,cAAe,mBACfC,6BAA8B,4CAC9BC,WAAY,WACZC,UAAW,eACXC,yBAA0B,+DAC1BC,oBAAqB,yDACrBC,6BAA8B,iDAC9BC,kCAAmC,8CACnCC,iBAAkB,0BAClBC,kCAAmC,yBACnCC,oBAAqB,2BACrBC,mBAAoB,0CACpBC,oBAAqB,2BACrBC,mBAAoB,sCACpBC,gBAAiB,wCACjBC,yBAA0B,iEAC1BC,qBAAsB,uDACtBC,0CAA2C,0CAC3CC,qBAAsB,wDACtBC,wBAAyB,sDACzBC,mBAAoB,yBACpBC,sBAAuB,wBACvBC,4BAA6B,+BAC7BC,kCAAmC,4BACnCC,4BAA6B,+BAC7BC,sBAAuB,iDACvBC,wBAAyB,2BACzBC,yBAA0B,6BAC1BC,yBAA0B,4BAC1BC,gCAAiC,iCACjCC,2BAA4B,+CAC5BC,qBAAsB,qBACtBC,6BAA8B,8BAC9BC,wBAAyB,yBACzBC,wBAAyB,4CACzBC,QAAS,UACTC,QAAS,WACTC,oBAAqB,wB,eC7RhB,MAAMC,EAAqD,CAChEC,gBAAiB,GACjBC,WAAYC,EAAAA,GACZC,aAAc,GACdC,YAAa,GACbC,aAAc,GACdC,OAAQ,GACRC,iBAAkB,aAClBC,qBAAsB,GACtBC,iBAAkB,GAClBC,eAAgB,GAChBC,oBAAqB,GACrBC,iBAAkB,GAClBC,mBAAoB,IAGTC,GAAuBC,EAAAA,EAAAA,eAA+BhB,GAEtDiB,EAAwBF,EAAqBG,SAE7CC,EAAmBA,KAAMC,EAAAA,EAAAA,YAAWL,GCTpCM,EAAuCA,EAAGxT,eACrD,MAAM,gBAAEoS,EAAe,aAAEK,EAAY,OAAEC,EAAM,iBAAEC,GAAqBW,KAE9D,MAAEG,IAAUC,EAAAA,EAAAA,KAEZC,EACiB,eAArBhB,EH8QiC,uCCCA,sCE9Q7BiB,EAAkD,eAArBjB,EAAoCkB,EAAwBC,EAEzFC,EAAwC,CAC5CC,yBAA0B,CACxBC,QAASxB,EACTyB,QAAUnT,IACRI,QAAQgT,IAAI,4CAA6CC,OAAOrT,GAAO,EAEzE2R,SACAe,SAEFrB,kBACAiC,kCAAmC,CACjC,CAACV,GAA8BC,IAInC,OAAKU,EAAAA,EAAAA,GAAab,IAKhBxT,EAAAA,EAAAA,KAACsU,EAAAA,EAAoB,IAAKR,EAAgB/T,UACxCC,EAAAA,EAAAA,KAACuU,EAAAA,EAA6B,CAACC,UAAWd,EAA4B3T,SAAEA,MALnE,IAMgB,E,oCCrCpB,MAAM0U,EAAqCA,EAAG1U,eACnD,MAAM,gBAAEoS,EAAe,aAAEG,EAAY,aAAEE,EAAY,OAAEC,GAAWY,KAC1D,eAAEqB,IAAmBjB,EAAAA,EAAAA,KAI3B,OAAKiB,GAKH1U,EAAAA,EAAAA,KAAC2U,EAAAA,GAAS,CAACC,MAAOC,EAAAA,GAAU9U,UAC1BC,EAAAA,EAAAA,KAAC8U,EAAAA,EAAuB,CACtBd,QAAS1B,EACTG,OAAQA,EACRsC,SAAU5C,EACVqB,MAAOkB,EAAe3U,UAEtBC,EAAAA,EAAAA,KAACgV,EAAAA,EAAuB,CACtBhB,QAASxB,EACTC,OAAQA,EACRsC,SAAU5C,EAAgBpS,SAEzBA,QAhBA,IAmBK,EChCHkV,GAAsB/B,EAAAA,EAAAA,eAAc,CAAC,GAErCgC,EAA6BD,EAAoB7B,SAEjD+B,EAAwBA,KAAM7B,EAAAA,EAAAA,YAAW2B,GCFzCG,EAAiDA,EAAGrV,eAC/D,MAAM,SAAEsV,EAAQ,YAAEC,GCL6BC,MAC/C,MAAOF,EAAUC,IAAeE,EAAAA,EAAAA,WAAS,GAEzC,MAAO,CACLH,WACAC,cACD,EDDiCC,GAMlC,OAJAE,EAAAA,EAAAA,YAAU,KACRH,EAAYD,EAAS,GACpB,CAACA,EAAUC,KAGZtV,EAAAA,EAAAA,KAACkV,EAA0B,CACzBN,MAAO,CACLS,WACAC,eACAvV,SAEDA,GAC0B,E,eElBjC,MAAMnB,GAAOC,EAAAA,EAAAA,GAAO,MAAPA,CAAc,CACzBE,QAAS,OACTC,cAAe,SACfC,WAAY,SACZyW,eAAgB,SAChBC,SAAU,WACVC,IAAK,MACLC,KAAM,MACNC,UAAW,wBACXC,UAAW,WAGAC,GAAUC,EAAAA,EAAAA,OAAK,KAC1BjW,EAAAA,EAAAA,KAACpB,EAAI,CAAAmB,UACHC,EAAAA,EAAAA,KAACkW,EAAAA,EAAgB,CAACC,MAAM,gBCbfC,GAAkBlD,EAAAA,EAAAA,eAAsC,CAAC,GAEzDmD,EAAmBD,EAAgBhD,SAEnCkD,EAAcC,IACRjD,EAAAA,EAAAA,YAAW8C,GAEZG,EAAIC,KAAO,G,wBCTtB,MAAMC,WAAiBC,MAG5BhW,WAAAA,CAAYiW,EAAiBC,GAC3BC,MAAMF,IAAS/V,EAAAA,EAAAA,GAAA,oBACfI,KAAK8V,KAAO,WACZ9V,KAAK4V,KAAOA,CACd,ECNiC,IAW9BG,GAAwB,SAAxBA,GAAwB,OAAxBA,EAAwB,iCAAxBA,EAAwB,iCAAxBA,CAAwB,EAAxBA,IAAwB,IAK7BC,eAAeC,GAAcC,EAAazE,EAAgBN,GACxD,MAAMgF,EAiBR,SAAmBhF,GACjB,GAAIA,EACF,OAAOA,EAGT,GAAIiF,SAASC,gBAAgBC,KAC3B,OAAOF,SAASC,gBAAgBC,KAGlC,OAAOC,UAAUxC,QACnB,CA3BiByC,CAAUrF,GAEnBsF,QCZDT,eAA0BE,EAAaQ,GAC5C,MAAM,OAAEjF,EAAM,MAAEe,KAAUmE,GAAWD,EAC/BE,EAA+B,IAChCD,EAAOC,QACVC,cAAerE,EACf,mBAAoBf,GAGtB,OAAOqF,IAAAA,IACG,GAAGZ,IAAO,IACbS,EACHC,YAEDG,MAAK,EAAGnB,KAAMoB,KAAaA,IAC3BC,OAAOnX,IACN,MAAM,IAAI2V,GAAS3V,EAAM6V,QAAS7V,EAAM,GAE9C,CDLyBoX,CAA0BhB,EAAK,CACpD1D,MAAO,GACPf,SACAmF,QAAS,CAAE,kBAAmBT,MAGxBgB,SAAUC,EAAUC,gBAAiBC,GAAoBb,EAC3Dc,EAAgBpB,EAAOqB,OAAS,EAAIrB,EAASmB,EAEnD,MAAO,CACLnB,OAAQoB,GAAiB,GACzBH,SAAUA,EAASG,GAEvB,CE7BO,MAAME,GAA2CA,EAAG1Y,eACzD,MAAQ6W,KAAM8B,GF0CT,WACL,MAAM,OAAEjG,EAAM,aAAED,EAAY,gBAAEL,EAAe,iBAAEO,GAAqBW,IAC9DsF,EACiB,gBAArBjG,EAAqCqE,GAAyB6B,YAAc7B,GAAyB8B,WAOvG,OALiBC,EAAAA,EAAAA,IACf,GAAGtG,aAAwBC,yCAA8CkG,KACzE3B,SAAuBC,GAAcC,EAAKzE,EAAQN,IAItD,CErDiC4G,GAC/B,IAAKL,EACH,OAAO1Y,EAAAA,EAAAA,KAACgW,EAAO,IAGjB,MAAM,SAAEoC,GAAaM,EAErB,OAAO1Y,EAAAA,EAAAA,KAACqW,EAAgB,CAACzB,MAAOwD,GAAY,CAAC,EAAErY,SAAEA,GAA4B,ECXlEiZ,IAA8B9F,EAAAA,EAAAA,eAKxC,CACD+F,yBAA0B,CACxBC,gBAAiBA,OACjBC,kBAAcC,KAILC,GAAsDA,EAAGtZ,eACpE,MAAOoZ,EAAcD,IAAmB1D,EAAAA,EAAAA,eAA6B4D,GAErE,OACEpZ,EAAAA,EAAAA,KAACgZ,GAA4B5F,SAAQ,CACnCwB,MAAO,CACLqE,yBAA0B,CACxBE,eACAD,oBAEFnZ,SAEDA,GACoC,EAI9BuZ,GAA8BA,KAGlC,CACLC,6BAHUjG,EAAAA,EAAAA,YAAW0F,MC9BZQ,IAAiBtG,EAAAA,EAAAA,eAS3B,CACDuG,YAAa,CACXC,cAAeA,OACfC,WAAY,EACZC,gBAAiBA,OACjBC,cAAc,EACdC,WAAY,GACZC,cAAeA,UAINC,GAAyCA,EAAGja,eACvD,MAAO4Z,EAAYD,IAAiBlE,EAAAA,EAAAA,UAAS,IACtCqE,EAAcD,IAAmBpE,EAAAA,EAAAA,WAAS,IAC1CsE,EAAYC,IAAiBvE,EAAAA,EAAAA,UAAmB,IAEvD,OACExV,EAAAA,EAAAA,KAACwZ,GAAepG,SAAQ,CACtBwB,MAAO,CACL6E,YAAa,CACXE,aACAD,gBACAG,eACAD,kBACAE,aACAC,kBAEFha,SAEDA,GACuB,EAIjBka,GAAiBA,KAGrB,CACLC,SAHU5G,EAAAA,EAAAA,YAAWkG,MClCZW,IAAsBjH,EAAAA,EAAAA,eAKhC,CACDkH,iBAAkB,CAChBC,oBAAqBA,UAIZC,GAAoDA,EAAGva,eAClE,MAAO6W,EAAMyD,IAAuB7E,EAAAA,EAAAA,UAA4B,CAAC,GAEjE,OACExV,EAAAA,EAAAA,KAACma,GAAoB/G,SAAQ,CAC3BwB,MAAO,CACLwF,iBAAkB,CAAExD,OAAMyD,wBAC1Bta,SAEDA,GAC4B,EAItBwa,GAAsBA,KAG1B,CACLL,SAHU5G,EAAAA,EAAAA,YAAW6G,MC/BZK,IAAmBtH,EAAAA,EAAAA,eAE7B,CACDuH,UAAW,CACTC,aAAcA,UAILC,GAA2CA,EAAG5a,eACzD,MAAO6a,EAAcF,IAAgBlF,EAAAA,EAAAA,UAAuB,IAE5D,OACExV,EAAAA,EAAAA,KAACwa,GAAiBpH,SAAQ,CACxBwB,MAAO,CACL6F,UAAW,CAAEG,eAAcF,iBAC3B3a,SAEDA,GACyB,EAInB8a,GAAeA,KAGnB,CACLX,SAHU5G,EAAAA,EAAAA,YAAWkH,M,0HC1BlB,MAAMM,GAA4C3Z,IACvD,MAAM,GAAEqV,EAAE,eAAEuE,EAAc,OAAEC,GAAW7Z,EAEvC,OACEnB,EAAAA,EAAAA,KAAA,QACE,WAAUwW,EACVyE,UAAU,YAAWlb,UAErBC,EAAAA,EAAAA,KAACkb,GAAAA,EAAgB,CAEf1E,GAAIA,EACJuE,eAAgBA,EAChBC,OAAQA,GAHHxE,IAKF,ECkGJ,IAAK2E,GAAW,SAAXA,GAAW,OAAXA,EAAW,cAAXA,EAAW,kBAAXA,EAAW,kBAAXA,EAAW,kBAAXA,CAAW,MCnHXC,GAAe,SAAfA,GAAe,OAAfA,EAAAA,EAAe,aAAfA,EAAAA,EAAe,yBAAfA,EAAAA,EAAe,2BAAfA,EAAAA,EAAe,+CAAfA,CAAe,MAOpB,MAAMC,GAKX3a,WAAAA,CAAY4a,EAA6B7D,IAAsB7W,EAAAA,EAAAA,GAAA,2BAAAA,EAAAA,EAAAA,GAAA,wBAC7DI,KAAKsa,WAAaA,EAClBta,KAAKyW,SAAWA,CAClB,CAEA8D,SAAAA,GACE,OAAOF,GAAYE,UAAUva,KAAKsa,WACpC,CAEA,gBAAWxa,GACT,OAAO,IAAIua,GAAkDD,GAAgBI,oBAAqB,CAAEC,OAAQ,IAC9G,CAEA,mBAAWC,GACT,OAAQjE,GAAa,IAAI4D,GAAYD,GAAgBI,oBAAqB/D,EAC5E,CAEA,gBAAO8D,IAAaI,GAIlB,OAAOA,EAAaC,OAAOC,GAAWA,GAHf,KAG2CA,GAF3C,KAGzB,CAEA,mBAAOC,IAAgBC,GACrB,OAAOA,EAAQH,OAAOI,QAAY5C,IAAN4C,GAAmBA,EAAET,aACnD,EC/BK,IAAKU,GAAc,SAAdA,GAAc,OAAdA,EAAc,kEAAdA,EAAc,oCAAdA,EAAc,4DAAdA,EAAc,wDAAdA,EAAc,wDAAdA,EAAc,0CAAdA,EAAc,8CAAdA,EAAc,4CAAdA,EAAc,0DAAdA,EAAc,sDAAdA,EAAc,0BAAdA,EAAc,gEAAdA,EAAc,oDAAdA,EAAc,gEAAdA,EAAc,oDAAdA,EAAc,wDAAdA,EAAc,oDAAdA,EAAc,wFAAdA,EAAc,0DAAdA,EAAc,gDAAdA,EAAc,wDAAdA,EAAc,0DAAdA,EAAc,kCAAdA,EAAc,sCAAdA,EAAc,oCAAdA,EAAc,sCAAdA,EAAc,8DAAdA,EAAc,sDAAdA,EAAc,8CAAdA,EAAc,sDAAdA,EAAc,kCAAdA,EAAc,oDAAdA,EAAc,0CAAdA,EAAc,oCAAdA,EAAc,4DAAdA,EAAc,oCAAdA,EAAc,wCAAdA,EAAc,kCAAdA,EAAc,sDAAdA,EAAc,oDAAdA,EAAc,8CAAdA,EAAc,wDAAdA,EAAc,wDAAdA,EAAc,4EAAdA,EAAc,sDAAdA,EAAc,gCAAdA,EAAc,gDAAdA,EAAc,oEAAdA,EAAc,wCAAdA,EAAc,wDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,sDAAdA,EAAc,gEAAdA,EAAc,oDAAdA,EAAc,wEAAdA,EAAc,gEAAdA,EAAc,oFAAdA,EAAc,oDAAdA,EAAc,wDAAdA,EAAc,4EAAdA,EAAc,oDAAdA,EAAc,wFAAdA,EAAc,0DAAdA,EAAc,gDAAdA,EAAc,wDAAdA,EAAc,0DAAdA,EAAc,8BAAdA,EAAc,gCAAdA,EAAc,8BAAdA,EAAc,kFAAdA,EAAc,oCAAdA,EAAc,gCAAdA,EAAc,gCAAdA,EAAc,gDAAdA,EAAc,gEAAdA,EAAc,0DAAdA,EAAc,8DAAdA,EAAc,0CAAdA,EAAc,kFAAdA,EAAc,4FAAdA,EAAc,wBAAdA,EAAc,oCAAdA,EAAc,8BAAdA,EAAc,kDAAdA,EAAc,oDAAdA,EAAc,0DAAdA,EAAc,oDAAdA,EAAc,wEAAdA,EAAc,8CAAdA,EAAc,wDAAdA,EAAc,4CAAdA,EAAc,gEAAdA,EAAc,wDAAdA,EAAc,wDAAdA,EAAc,0CAAdA,EAAc,wCAAdA,EAAc,oBAAdA,EAAc,8DAAdA,EAAc,sCAAdA,EAAc,gDAAdA,EAAc,wCAAdA,EAAc,wEAAdA,EAAc,wFAAdA,EAAc,sCAAdA,EAAc,oEAAdA,EAAc,8DAAdA,EAAc,wDAAdA,EAAc,kCAAdA,EAAc,0DAAdA,EAAc,gDAAdA,EAAc,gEAAdA,EAAc,wCAAdA,EAAc,oDAAdA,EAAc,sDAAdA,EAAc,sEAAdA,EAAc,kEAAdA,EAAc,oCAAdA,EAAc,4DAAdA,EAAc,kDAAdA,EAAc,kDAAdA,EAAc,sDAAdA,EAAc,wDAAdA,EAAc,oDAAdA,EAAc,oEAAdA,EAAc,gDAAdA,EAAc,wDAAdA,EAAc,oDAAdA,EAAc,oEAAdA,EAAc,0DAAdA,EAAc,oEAAdA,EAAc,oCAAdA,EAAc,4CAAdA,EAAc,kDAAdA,EAAc,8CAAdA,EAAc,sDAAdA,EAAc,4DAAdA,EAAc,wDAAdA,EAAc,gCAAdA,EAAc,4CAAdA,EAAc,wCAAdA,EAAc,wCAAdA,EAAc,oDAAdA,EAAc,4DAAdA,EAAc,kEAAdA,EAAc,8DAAdA,EAAc,0BAAdA,EAAc,gCAAdA,EAAc,gCAAdA,EAAc,4BAAdA,EAAc,8BAAdA,EAAc,8BAAdA,EAAc,4CAAdA,EAAc,kDAAdA,EAAc,YAAdA,EAAc,oCAAdA,EAAc,4BAAdA,EAAc,YAAdA,EAAc,8DAAdA,EAAc,sEAAdA,EAAc,4CAAdA,EAAc,gBAAdA,EAAc,4BAAdA,EAAc,4BAAdA,EAAc,8BAAdA,EAAc,4BAAdA,EAAc,4BAAdA,EAAc,4BAAdA,EAAc,YAAdA,EAAc,oCAAdA,EAAc,kBAAdA,EAAc,8CAAdA,EAAc,kBAAdA,EAAc,0CAAdA,EAAc,oDAAdA,EAAc,4CAAdA,EAAc,wCAAdA,EAAc,gBAAdA,EAAc,oBAAdA,EAAc,sBAAdA,EAAc,8CAAdA,EAAc,sCAAdA,EAAc,sBAAdA,EAAc,8CAAdA,EAAc,sCAAdA,EAAc,4CAAdA,EAAc,oCAAdA,EAAc,oBAAdA,EAAc,4CAAdA,EAAc,wDAAdA,EAAc,4BAAdA,EAAc,gDAAdA,EAAc,gCAAdA,EAAc,oCAAdA,EAAc,oCAAdA,EAAc,YAAdA,EAAc,kBAAdA,EAAc,oBAAdA,EAAc,4CAAdA,EAAc,gCAAdA,EAAc,8BAAdA,EAAc,kDAAdA,EAAc,4BAAdA,EAAc,wEAAdA,EAAc,oDAAdA,EAAc,sDAAdA,EAAc,wEAAdA,EAAc,0EAAdA,EAAc,wEAAdA,EAAc,oBAAdA,EAAc,4CAAdA,EAAc,oBAAdA,EAAc,gBAAdA,EAAc,wCAAdA,EAAc,gCAAdA,EAAc,wCAAdA,EAAc,wBAAdA,EAAc,gEAAdA,EAAc,sBAAdA,EAAc,8BAAdA,EAAc,4BAAdA,EAAc,8BAAdA,EAAc,4BAAdA,EAAc,8BAAdA,EAAc,4CAAdA,EAAc,sDAAdA,EAAc,8BAAdA,EAAc,4DAAdA,EAAc,wBAAdA,EAAc,sBAAdA,EAAc,oDAAdA,EAAc,0CAAdA,EAAc,4DAAdA,EAAc,sEAAdA,EAAc,oCAAdA,EAAc,sEAAdA,EAAc,0CAAdA,EAAc,wCAAdA,EAAc,0CAAdA,EAAc,wCAAdA,EAAc,kCAAdA,EAAc,oDAAdA,EAAc,4CAAdA,EAAc,sFAAdA,EAAc,4CAAdA,EAAc,kDAAdA,EAAc,wCAAdA,EAAc,8CAAdA,EAAc,0DAAdA,EAAc,sEAAdA,EAAc,0DAAdA,EAAc,8CAAdA,EAAc,kDAAdA,EAAc,oDAAdA,EAAc,oDAAdA,EAAc,kEAAdA,EAAc,wDAAdA,EAAc,4CAAdA,EAAc,4DAAdA,EAAc,kDAAdA,EAAc,kDAAdA,EAAc,kBAAdA,EAAc,kBAAdA,EAAc,0CAAdA,CAAc,M,uCCSnB,MAAMC,GAAiFA,KAC5FC,EAAAA,GAAAA,KCWK,MAAMC,GAA2BA,KACtC,MAAM,OAAE3J,EAAM,iBAAEC,GAAqBW,KAC/B,cAAEgJ,GAAkBH,KACpBI,GAAYC,EAAAA,GAAAA,MAGhBrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACrG,EAAQC,EAAkB,0BAC3BsE,UACE,MAAMgB,QA7BZhB,eAA0CyF,EAAgBhK,EAAgBC,GACxE,MAAMgK,EAAyF,CAC7FC,WAAW,GAGb,IACE,MAAMlF,QAAiBmF,EAAAA,GAAAA,KAA6DH,EAAKhK,EAAQC,GAEjG,OAAO,IAAI2I,GAAwE5D,EAASoE,OAAQpE,EAASb,KAC/G,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAASgB,EAC9B,CACF,CAiB2BG,CAA2BP,EAAW7J,EAAQC,GACnE,GAAIsF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,6CAA6C,GAE/D,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,EC3DUC,GAA6BA,CAACC,EAAoBC,KAC7D,OAAQD,GACN,IAAK,MACH,MAAO,CAAEpC,eAAgB3Z,EAAoB4P,mBAAoBwF,GAAIyF,GAAejL,oBACtF,IAAK,MACH,MAAO,CAAE+J,eAAgB3Z,EAAoBgP,iBAAkBoG,GAAIyF,GAAe7L,kBACpF,IAAK,MACH,OAAQgN,GACN,IAAK,eACH,MAAO,CAAErC,eAAgB3Z,EAAoBwP,qBAAsB4F,GAAIyF,GAAerL,sBACxF,IAAK,mBACH,MAAO,CAAEmK,eAAgB3Z,EAAoB0P,qBAAsB0F,GAAIyF,GAAenL,sBACxF,IAAK,WACH,MAAO,CACLiK,eAAgB3Z,EAAoB2P,wBACpCyF,GAAIyF,GAAelL,yBAEvB,IAAK,YACH,MAAO,CACLgK,eAAgB3Z,EAAoBuP,yBACpC6F,GAAIyF,GAAetL,0BAEvB,IAAK,0BACH,MAAO,CACLoK,eAAgB3Z,EAAoByP,0CACpC2F,GAAIyF,GAAepL,2CAEvB,QACE,MAAO,CAAEkK,eAAgB3Z,EAAoBsP,gBAAiB8F,GAAIyF,GAAevL,iBAEvF,IAAK,MACH,MAAO,CACLqK,eAAgB3Z,EAAoB8O,6BACpCsG,GAAIyF,GAAe/L,8BAEvB,IAAK,MACH,MAAO,CAAE6K,eAAgB3Z,EAAoBiQ,sBAAuBmF,GAAIyF,GAAe5K,uBACzF,IAAK,MACH,MAAO,CACL0J,eAAgB3Z,EAAoBoQ,yBACpCgF,GAAIyF,GAAezK,0BAEvB,IAAK,MACH,MAAO,CACLuJ,eAAgB3Z,EAAoByQ,wBACpC2E,GAAIyF,GAAepK,yBAEvB,IAAK,MACH,MAAO,CACLkJ,eAAgB3Z,EAAoB+O,kCACpCqG,GAAIyF,GAAe9L,mCAEvB,IAAK,MACH,MAAO,CACL4K,eAAgB3Z,EAAoB8P,4BACpCsF,GAAIyF,GAAe/K,6BAEvB,IAAK,MACH,MAAO,CACL6J,eAAgB3Z,EAAoB0Q,wBACpC0E,GAAIyF,GAAenK,yBAEvB,IAAK,MACH,MAAO,CAAEiJ,eAAgB3Z,EAAoBqM,uBAAwB+I,GAAIyF,GAAexO,wBAC1F,IAAK,MACH,MAAO,CACLsN,eAAgB3Z,EAAoBqQ,gCACpC+E,GAAIyF,GAAexK,iCAEvB,IAAK,MACH,MAAO,CACLsJ,eAAgB3Z,EAAoBiP,kCACpCmG,GAAIyF,GAAe5L,mCAEvB,IAAK,MACH,MAAO,CACL0K,eAAgB3Z,EAAoB+P,kCACpCqF,GAAIyF,GAAe9K,mCAEvB,IAAK,MACH,MAAO,CACL4J,eAAgB3Z,EAAoBkQ,wBACpCkF,GAAIyF,GAAe3K,yBAEvB,IAAK,MACH,MAAO,CACLyJ,eAAgB3Z,EAAoBmQ,yBACpCiF,GAAIyF,GAAe1K,0BAEvB,IAAK,MACH,MAAO,CAAEwJ,eAAgB3Z,EAAoB6P,sBAAuBuF,GAAIyF,GAAehL,uBACzF,IAAK,MACH,MAAO,CACL8J,eAAgB3Z,EAAoBgQ,4BACpCoF,GAAIyF,GAAe7K,6BAEvB,IAAK,MACH,MAAO,CAAE2J,eAAgB3Z,EAAoBuQ,qBAAsB6E,GAAIyF,GAAetK,sBACxF,IAAK,MACH,MAAO,CACLoJ,eAAgB3Z,EAAoBqK,kCACpC+K,GAAIyF,GAAexQ,mCAEvB,IAAK,MACH,MAAO,CACLsP,eAAgB3Z,EAAoBmM,2BACpCiJ,GAAIyF,GAAe1O,4BAEvB,IAAK,MACH,MAAO,CACLwN,eAAgB3Z,EAAoBoK,8BACpCgL,GAAIyF,GAAezQ,+BAEvB,IAAK,MACH,MAAO,CAAEuP,eAAgB3Z,EAAoBsK,qBAAsB8K,GAAIyF,GAAevQ,sBACxF,IAAK,MACH,MAAO,CACLqP,eAAgB3Z,EAAoByO,6BACpC2G,GAAIyF,GAAepM,8BAEvB,IAAK,MACH,MAAO,CAAEkL,eAAgB3Z,EAAoBsL,mBAAoB8J,GAAIyF,GAAevP,oBACtF,IAAK,MACH,MAAO,CAAEqO,eAAgB3Z,EAAoBqL,qBAAsB+J,GAAIyF,GAAexP,sBACxF,IAAK,MACH,MAAO,CACLsO,eAAgB3Z,EAAoBwQ,6BACpC4E,GAAIyF,GAAerK,8BAEvB,IAAK,MACH,MAAO,CACLmJ,eAAgB3Z,EAAoB4E,wCACpCwQ,GAAIyF,GAAejW,yCAEvB,IAAK,MACH,MAAO,CACL+U,eAAgB3Z,EAAoBmG,2BACpCiP,GAAIyF,GAAe1U,4BAEvB,IAAK,MACH,MAAO,CACLwT,eAAgB3Z,EAAoBiF,+BACpCmQ,GAAIyF,GAAe5V,gCAEvB,IAAK,MACH,MAAO,CACL0U,eAAgB3Z,EAAoBgG,2BACpCoP,GAAIyF,GAAe7U,4BAEvB,QACE,MAAO,CAAE2T,eAAgB3Z,EAAoBoM,aAAcgJ,GAAIyF,GAAezO,cAClF,E,uFCzJK,MAAM6P,KAoDZzc,EAAAA,EAAAA,GApDYyc,GAAW,yBAGuB,CAC3C7G,GAAI,yBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GANUyc,GAAW,sBAQoB,CACxC7G,GAAI,sBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GAXUyc,GAAW,sBAaoB,CACxC7G,GAAI,sBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GAhBUyc,GAAW,sBAkBoB,CACxC7G,GAAI,sBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GArBUyc,GAAW,sBAuBoB,CACxC7G,GAAI,sBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GA1BUyc,GAAW,sBA4BoB,CACxC7G,GAAI,sBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GA/BUyc,GAAW,sBAiCoB,CACxC7G,GAAI,sBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GApCUyc,GAAW,sBAsCoB,CACxC7G,GAAI,sBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GAzCUyc,GAAW,sBA2CoB,CACxC7G,GAAI,sBACJ5B,MAAO,MACRhU,EAAAA,EAAAA,GA9CUyc,GAAW,oBAgDkB,CACtC7G,GAAI,oBACJ5B,MAAO,K,yEC7CJ,MAAM0I,GAA0BA,CAACxc,EAAmByc,EAAcC,KACvE,IAAIC,EAEJ,OAAQ3c,EAAMkc,MACZ,IAAK,WACHS,GACEzd,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejL,mBACnB+J,eAAgB3Z,EAAoB4P,qBAGxC,MACF,IAAK,YACHyM,GACEzd,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3L,oBACnByK,eAAgB3Z,EAAoBkP,oBACpC0K,OAAQ,CAAEuC,SAGd,MACF,IAAK,YACHE,GACEzd,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezL,oBACnBuK,eAAgB3Z,EAAoBoP,oBACpCwK,OAAQ,CAAEwC,SAGd,MACF,IAAK,UACHC,GACEzd,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevL,gBACnBqK,eAAgB3Z,EAAoBsP,kBAGxC,MACF,QACE+M,EAAgB3c,EAAM6V,QAG1B,OAAO8G,CAAa,ECZhBC,IAAa7e,EAAAA,EAAAA,GAAO,IAAPA,EAAY,EAAGC,YAAY,CAC5CqX,MAAOrX,EAAM6e,QAAQ7c,MAAM8c,KAC3BC,eAAgB,YAChB,UAAW,CACT1H,MAAOrX,EAAM6e,QAAQ7c,MAAM8c,KAC3BC,eAAgB,iBAOPC,GAA0D3c,IACrE,MAAM,KACJ2V,EAAI,MACJiH,EAAK,YACLC,EAAW,WACXC,EAAU,YACVC,EAAW,aACXC,EAAY,WACZC,EAAU,aACVC,EAAY,uBACZC,EAAsB,aACtBC,EAAY,UACZC,EAAS,kBACTC,EAAiB,uBACjBC,EAAsB,aACtBC,EAAY,iBACZC,GACEzd,GAGF+Y,SAAS,UAAEO,IACTI,MACE,aAAED,GAAiBH,GAEnB,iBAAE1H,GAAqBM,KACvB,SAAEwL,EAAQ,SAAEC,IAAaC,EAAAA,GAAAA,OAEzB,eAAEC,EAAc,UAAEC,IAAcC,EAAAA,GAAAA,KAEhCC,EAAcvE,GAAcwE,MAAMte,GAAUA,EAAMsc,WAAWiC,gBAAkBvI,EAAKuI,gBAGpFC,EADcC,KAAMJ,GAAa/B,UAAW,KAAKoC,KAAKC,GAASC,KAAUD,KAC3CE,KAAK,MAEzClK,EAAAA,EAAAA,YAAU,KACJ0J,GACFN,EAASS,EACX,GACC,CAAC1E,EAAc0E,EAAiBT,EAAUM,IAE7C,MAAMS,EAAe1C,GAA2BiC,GAAahC,UAAWrG,GAElE+I,EAAezB,GAAY0B,kBAAoB,IAAIC,OAAO3B,EAAW0B,wBAAqB1G,EAE1F4G,EAAW1B,IAA0B,EACrC2B,EAAmBxB,EAEnByB,EAAaxB,EAAyB,MAAQ,KAC9CyB,EAAmB,CACvBphB,QAAS,OACTmB,OAAQ,IACRjB,WAAY,SACZyW,eAAgB,UAYZ0K,EAAgBtJ,EAAKuJ,SAAS,WAAa,GAAK,EAEhDC,EAA0C,iBAAjBnC,EAA4BA,EAAeiC,EAAgBjC,EAmGpFoC,EAAiBrC,IAhGrBle,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAOzC,GAAepe,UAE/BC,EAAAA,EAAAA,KAAC6gB,GAAAA,EAAG,CACFC,OAAQd,EAAW,IAAM,cACzBe,SAAU,IACVJ,MAAOX,EAAWG,OAAmB/G,EAAUrZ,UAE/CC,EAAAA,EAAAA,KAACghB,GAAAA,GAAU,CACTlK,KAAMA,EACNmK,MAAO,CACLC,SAAU9C,GAAY+C,YACtBC,UAAWhD,GAAYgD,UACvBC,UAAWjD,GAAYiD,UACvBC,QAASzB,GAEX0B,aAAclD,EACdtd,OAAQA,EAAGygB,OAASC,MAAKC,cAAaF,GAASG,iBAC7C7hB,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CAACC,WAAS,EAAA9hB,SAAA,CACnBigB,EAAW,MACVhgB,EAAAA,EAAAA,KAAC8hB,GAAAA,EAAS,CACRD,WAAS,EACT7E,KAAMwB,GAAa,OACnBT,MAAOA,EACPgE,YAAa9B,EACb7f,QAAQ,WACRU,QAAS6gB,EAAW7gB,OAASkhB,QAAQ7C,GACrC8C,WACEN,EAAW7gB,OACTd,EAAAA,EAAAA,KAAA,UAASgf,EAAe,GAAGlI,8BAAgC/W,SACxDud,GAAwBqE,EAAW7gB,SAEpCqe,EAAc,MAChBnf,EAAAA,EAAAA,KAAA,OAAAD,SAAMie,IAGVkE,UAAWjE,EACXiD,SAAU9C,GAAY+C,YACtBI,aAAcC,EAAM5M,MACpBuN,WAAY,CACVC,SAAU9B,EACVc,UAAWhD,GAAYgD,UACvBC,UAAWjD,GAAYiD,gBAAajI,EACpCiJ,UAAW9D,GAAgB,OAC3B,cAAeU,EAAU,GAAGnI,gBAC5BwL,eAAgBpC,EAChBS,MAAO,CAAE4B,cAAe5D,EAAe,YAAc,WACrDre,GAAI,CACF,iBAAkB,CAChBiiB,cAAe,aAKrBC,WAAY,CACVC,aAAcd,EAAW7gB,OAAQd,EAAAA,EAAAA,KAAC0iB,GAAAA,EAAW,CAACvM,MAAM,UAAa,KACjEwM,aAAc,UAEZnB,EACJ5M,MAAQ4M,EAAM5M,OAAoB,GAClCgO,SAAUnB,EACVoB,OAAQA,IA9ECC,KACvB,MAAMC,EAAepE,EAAemE,GAAYE,oBAAsBF,EACtEhE,EAAShI,EAAMiM,GAAcE,OAAQ,CACnCC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,GACb,EAwE0BC,CAAgB7B,EAAM5M,OACpC8M,SAAW4B,IAAM5B,UAzIE9M,EAyImC0O,EAAEC,OAAO3O,MAAOgK,EAxI1EhK,EAAM4O,WAAW,MAAO,IAAM5O,IADR6O,IAAC7O,CAyIsE,IAG5FuK,GACCnf,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAC5iB,OAAK,EAAAf,UACnBC,EAAAA,EAAAA,KAAC8a,GAAY,IACP8E,EACJ5E,OAAQ,CACN2I,WACE3jB,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAM7Q,EACNwQ,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehO,eACnB8M,eAAgB3Z,EAAoB6M,wBAO9C,cAUhB,OAEEjO,EAAAA,EAAAA,KAAA8jB,EAAAA,SAAA,CAAA/jB,SAAGwgB,GAAkB,E,oDCpMlB,MAAMwD,GAAkBA,KAC7B,MAAM,OAAEtR,GAAWY,KACb,cAAEgJ,GAAkBH,KACpBI,GAAYC,EAAAA,GAAAA,MAGhBrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACrG,EAAQ,iBACTuE,UACE,MAAMgB,QA3BZhB,eAAuCyF,EAAgBhK,GACrD,MAAMuR,EAAiE,CAAEC,eAAgB,IAEzF,IACE,MAAMxM,QAAiByM,EAAAA,GAAAA,KAAsBzH,EAAKhK,GAElD,OAAO,IAAI4I,GAAmD5D,EAASoE,OAAQpE,EAASb,KAC1F,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAASsI,EAC9B,CACF,CAiB2BG,CAAwB7H,EAAW7J,GACxD,GAAIuF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,qCAAqC,GAEvD,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,ECjCI,MAAMmH,GAAoBA,KAC/B,MAAM,OAAE3R,GAAWY,KACb,cAAEgJ,GAAkBH,KACpBI,GAAYC,EAAAA,GAAAA,MAGhBrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACrG,EAAQ,qBACTuE,UACE,MAAMgB,QA3BZhB,eAAmCyF,EAAgBhK,GACjD,MAAM4R,EAAkD,CAAEC,WAAY,IAEtE,IACE,MAAM7M,QAAiB8M,EAAAA,GAAAA,KAAmB9H,EAAKhK,GAE/C,OAAO,IAAI4I,GAAyC5D,EAASoE,OAAQpE,EAASb,KAChF,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAAS2I,EAC9B,CACF,CAiB2BG,CAAoBlI,EAAW7J,GACpD,GAAIuF,EAAOuD,aAAevD,EAAOP,UAAU6M,WACzC,OAAOtM,EAAOP,SAAS6M,WAEzB,MAAM,IAAI5N,MAAM,uCAAuC,GAEzD,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,ECTGwH,IAAc5lB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC/CC,QAAS,OACTE,WAAY,SACZylB,YAAa5lB,EAAMM,QAAQ,OAGvBse,IAAa7e,EAAAA,EAAAA,GAAO,IAAPA,EAAY,EAAGC,YAAY,CAC5CqX,MAAOrX,EAAM6e,QAAQ7c,MAAM8c,KAC3BC,eAAgB,YAChB,UAAW,CACT1H,MAAOrX,EAAM6e,QAAQ7c,MAAM8c,KAC3BC,eAAgB,iBAId8G,GAA0BA,CAACC,EAAyCC,IACxED,GAAWxF,MAAM9S,GAAYA,EAAQuY,cAAgBA,KAAc/N,KAExDgO,GAAoD3jB,IAC/D,MAAM,KACJ2V,EAAI,MACJiH,EAAK,YACLC,EAAW,WACXC,EAAU,YACVC,EAAW,aACXC,EAAY,WACZC,EAAU,aACVC,EAAY,uBACZC,EAAsB,UACtBE,EAAS,kBACTC,EAAiB,uBACjBC,EAAsB,kBACtBqG,EAAiB,4BACjBC,EAA2B,gBAC3BC,GACE9jB,GAGF+Y,SAAS,UAAEO,IACTI,MACE,aAAED,GAAiBH,GAEnB,iBAAE1H,GAAqBM,KAEvB,SAAEwL,EAAQ,SAAEC,EAAQ,SAAEoG,EAAQ,MAAEC,EAAK,YAAEC,IAAgBrG,EAAAA,GAAAA,OACtDsG,EAAaC,IAAkB9P,EAAAA,EAAAA,aAC/B+P,EAAkBC,IAAuBhQ,EAAAA,EAAAA,WAAS,IAClDiQ,EAAgBC,IAAqBlQ,EAAAA,EAAAA,WAAS,IAE9CmQ,EAAoBC,IAAyBpQ,EAAAA,EAAAA,aAE5CoB,KAAMiP,GAAiB9B,MACvBnN,KAAMgO,GAAcR,KAEtB0B,EAAmBD,GAAc5B,eAAezE,KAAKuG,IAAG,CAC5DlB,YAAiC,OAApBkB,EAAIlB,YAAuB,KAAOkB,EAAIlB,YACnD9G,MAAOgI,EAAIC,oBACXpR,MAAOmR,EAAIC,wBAGPC,EAAoBjE,QAAQ8D,GAAkBtN,QAAUsN,EAAiBtN,OAAS,GAClF0N,EAA6C,IAA7BJ,GAAkBtN,QAElC,eAAEwG,EAAc,UAAEC,IAAcC,EAAAA,GAAAA,KAEhCC,EAAcvE,GAAcwE,MAAMte,GAAUA,EAAMsc,WAAWiC,gBAAkBvI,EAAKuI,gBAEpF8G,EAAahB,EAAMrO,GAGnBwI,EADcC,KAAMJ,GAAa/B,UAAW,KAAKoC,KAAKC,GAASC,KAAUD,KAC3CE,KAAK,MAEzClK,EAAAA,EAAAA,YAAU,KACJ0J,GACFN,EAASS,EACX,GACC,CAAC1E,EAAc0E,EAAiBT,EAAUM,IAE7C,MAAMiH,EAAqBA,CAAC3G,EAAqB4G,KAC/CvmB,EAAAA,EAAAA,MAACwmB,GAAAA,EAAQ,CAEP1R,MAAO6K,EAAK7K,SACRoK,EAAe,uBAAsBjf,SAAA,CAExC0f,EAAKoF,aACJ7kB,EAAAA,EAAAA,KAACumB,GAAAA,EAAgB,CACfC,KAAG,EACH3B,YAAapF,EAAKoF,YAClBlE,MAAO,CACLxgB,MAAO,OACPD,OAAQ,OACRumB,UAAW,QACXlmB,aAAc,MACdmkB,YAAa,SAGf,KACHC,GAAwBC,EAAWnF,EAAKoF,aAAa,KAAGpF,EAAK1B,MAAM,MAjB/DsI,GAqBHzG,EAAe1C,GAA2BiC,GAAahC,UAAWrG,GAElE+I,EAAezB,GAAY0B,kBAAoB,IAAIC,OAAO3B,EAAW0B,wBAAqB1G,EAE1F4G,EAAW1B,IAA0B,EACrC2B,EAAmBgG,EAAoBjB,EAA8BvG,EAErEiI,EAAgBZ,GAAkB1G,MAAMuH,GAAStI,GAAcgC,SAASsG,EAAK/R,UAEnFa,EAAAA,EAAAA,YAAU,KAEN6P,GADGD,GAAeqB,EACHA,EAAc9R,MACpBkR,IAAqBT,EACfS,EAAiB,IAAIlR,MAErByQ,EACjB,GACC,CAACqB,EAAerB,EAAaS,KAEhCrQ,EAAAA,EAAAA,YAAU,KACJ0Q,GAAcd,GAChBO,EAAsBO,EAAWS,QAAQvB,EAAa,IACxD,GACC,CAACc,EAAYd,KAEhB5P,EAAAA,EAAAA,YAAU,KACJqQ,GAAoBI,GACtBV,GAAoB,IAElBM,GAAqBY,GAAkBrB,GACzCC,EAAeQ,EAAiB,IAAIlR,MACtC,GACC,CAACkR,EAAkBI,EAAeQ,EAAerB,IAEpD,MAAMnF,EAAaxB,EAAyB,MAAQ,KAC9CyB,EAAmB,CACvBphB,QAAS,OACTmB,OAAQ,IACRjB,WAAY,SACZyW,eAAgB,UA8CZ4K,GAA0C,iBAAjBnC,EAA4BA,EAAe,EAAIA,EAExE0I,GAAgB7E,QAAQ8D,GAAkBtN,QAAsC,IAA5BsN,EAAiBtN,QA0LrE+H,GAAiBrC,IAvLrBle,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAOzC,GAAepe,UAE/BD,EAAAA,EAAAA,MAAC+gB,GAAAA,EAAG,CACFC,OAAQd,EAAW,IAAM,cACzBe,SAAU,IACVJ,MAAOX,EAAWG,OAAmB/G,EACrC9Y,GAAI,CACFvB,QAAS,OACToB,MAAO,QACPJ,SAAA,CAEDkmB,GACCjmB,EAAAA,EAAAA,KAAC6gB,GAAAA,EAAG,CACF1gB,MAAM,OACNukB,YAAa,EAAE3kB,UAEfD,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CAEVC,WAAS,EACTX,SAAU9C,GAAY+C,YAAYphB,SAAA,EAElCC,EAAAA,EAAAA,KAAC8mB,GAAAA,EAAU,CAACtQ,GAAI,GAAGM,iBAAoB/W,SAAEklB,KACzCjlB,EAAAA,EAAAA,KAAC+mB,GAAAA,EAAM,CACLC,cAAY,EACZC,QAAS,GAAGnQ,iBACZiH,MAAOkH,EACP7kB,QAAQ,WACR8gB,SAAU9C,GAAY+C,YACtBe,UAAWjE,GAAcsH,EACzBpD,WAAY,CACVC,SAAU9B,GACV4G,UAAWzB,GAEb0B,UAAW,CACT7mB,GAAI,CACF,mBAAoB,CAClBH,MAAO,QACPinB,OAAQ,sBAGZC,aAAc,CACZC,SAAU,SACVC,WAAY,QAEdC,gBAAiB,CACfF,SAAU,MACVC,WAAY,SAGhBE,YAAcC,IACZ,IAAKA,GAAUlP,OACb,OAGF,MAAMmP,EAAY7B,GAAkB1G,MAAM2G,GAAQA,EAAInR,QAAU8S,IAChE,OAAIC,GAAW9C,aAEX/kB,EAAAA,EAAAA,MAAC2kB,GAAW,CAAA1kB,SAAA,EACVC,EAAAA,EAAAA,KAACumB,GAAAA,EAAgB,CACfC,KAAG,EACH3B,YAAa8C,EAAU9C,YACvBlE,MAAO,CACLxgB,MAAO,OACPD,OAAQ,OACRumB,UAAW,QACXlmB,aAAc,MACdmkB,YAAa,SAGhBgD,KAKAA,CAAQ,EAEjBpnB,GAAI,CACF,kBAAmB,CACjBvB,QAAS8nB,GAAgB,OAAS,UAGtCjS,MAAOyQ,EACP9D,aAAc8D,EACd3D,SAAW4B,GA9GGsE,KAC1B,MACErE,QAAQ,MAAE3O,IACRgT,EACJtC,EAAe1Q,GACf8Q,GAAkB,GAElB,MAAMmC,EAAelC,GAAsB/Q,GAAOkT,OAAOnC,GACrDQ,GACFrH,EAAShI,EAAM+Q,GAAc5E,OAAQ,CACnCC,gBAAgB,EAChBC,aAAa,EACbC,aAAa,GAEjB,EAgG6B2E,CAAmBzE,GAAGvjB,SAEtC+lB,GAAkBtG,IAAI4G,OApEpBf,KAwEP,MACJrlB,EAAAA,EAAAA,KAAC6gB,GAAAA,EAAG,CACFE,SAAUkF,EAAoB,IAAM,IACpC9lB,MAAM,OACNpB,QAAQ,OACRE,WAAW,MAAKc,UAEhBC,EAAAA,EAAAA,KAACghB,GAAAA,GAAU,CACTlK,KAAMA,EACNmK,MAAO,CACLC,SAAU9C,GAAY+C,YACtBC,UAAWhD,GAAYgD,UACvBC,UAAWjD,GAAYiD,UACvBC,QAASzB,GAEX0B,aAAclD,EACdtd,OAAQA,EAAGygB,OAASC,MAAKC,cAAaF,GAASG,iBAC7C7hB,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CAACC,WAAS,EAAA9hB,SAAA,CACnBigB,EAAW,MACVhgB,EAAAA,EAAAA,KAAC8hB,GAAAA,EAAS,CACRD,WAAS,EACT9D,MAAOkI,EAAoB,KAAOlI,EAClCf,KAAMwB,GAAa,OACnBuD,YAAa9B,EACb7f,QAAQ,WACRU,QAAS6gB,EAAW7gB,OAASkhB,QAAQ7C,GACrC8C,WACEN,EAAW7gB,OACTd,EAAAA,EAAAA,KAAA,UAASgf,EAAe,GAAGlI,+BAAiC/W,SACzDud,GAAwBqE,EAAW7gB,SAEpCqe,EAAc,MAChBnf,EAAAA,EAAAA,KAAA,OAAAD,SAAMkmB,EAAoBlB,EAAoB/G,IAGlDkE,UAAWjE,EACXiD,SAAU9C,GAAY+C,YACtBgB,WAAY,CACVf,UAAWhD,GAAYgD,UACvBC,UAAWjD,GAAYiD,gBAAajI,EACpCiJ,UAAW,MACX,cAAepD,EAAU,GAAGnI,iBAC5BwL,eAAgBpC,EAChBkC,SAAU9B,GACVhgB,GAAI,CACF,iBAAkB,CAChBiiB,cAAe,aAKrBC,WAAY,CACVC,aAAcd,EAAW7gB,OAAQd,EAAAA,EAAAA,KAAC0iB,GAAAA,EAAW,CAACvM,MAAM,UAAa,KACjEwM,aAAc,UAEZnB,EACJ5M,MAAQ4M,EAAM5M,OAA8BgS,QAAQvB,EAAuB,IAC3EzC,SAAUnB,EACVC,SAAW4B,GAAM5B,EAvMC+B,EAACuE,EAAoBpT,KACvD,IAAImO,EAAenO,EACfoT,GAAajF,EAAakF,WAAW,OACvClF,EAAeA,EAAamF,MAAM,GAAG1E,WAAW,MAAO,KAGrDwE,IACFjF,EAAeA,EAAaS,WAAW,MAAO,KAGhD,MAAMqE,EAAe5B,EAEjBlD,GAAgBsC,GAAayC,OAAO/E,GACpCA,EASJ,OAPgB8E,GAAehI,GAAcsI,KAAKN,GAEhDzC,EAAYtO,GAEZoO,EAASpO,EAAM,CAAEkG,KAAM,YAGlB6K,GAAc5E,MAAM,EAiLeQ,CAA4BwC,EAAmB3C,EAAEC,OAAO3O,UAGrFuK,GACCnf,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAC5iB,OAAK,EAAAf,UACnBC,EAAAA,EAAAA,KAAC8a,GAAY,IACP8E,EACJ5E,OAAQ,CACN2I,WACE3jB,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAM7Q,EACNwQ,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehO,eACnB8M,eAAgB3Z,EAAoB6M,wBAO9C,iBAWlB,OAEEjO,EAAAA,EAAAA,KAAA8jB,EAAAA,SAAA,CAAA/jB,SAAGwgB,IAAkB,E,oDClazB,MAAM6H,GAAY,CAChBC,SAAU,QAGNC,IAAmBzpB,EAAAA,EAAAA,GAAO0pB,GAAAA,GAAP1pB,EAAmB,EAAGC,YAAY,CACzD0pB,QAAS1pB,EAAMM,QAAQ,OASZqpB,GAA4CtnB,IACvD,MAAM,eAAEunB,EAAc,SAAEtG,EAAQ,mBAAEuG,GAAuBxnB,GACnD,eAAE6d,IAAmBE,EAAAA,GAAAA,KAIrB0J,EAAOF,GACX1oB,EAAAA,EAAAA,KAAC6oB,GAAAA,EAAa,CACZvoB,GAAI8nB,MACApJ,EAAe,yBAGrBhf,EAAAA,EAAAA,KAAC8oB,GAAAA,EAAU,CACTxoB,GAAI8nB,MACApJ,EAAe,uBAIvB,OACEhf,EAAAA,EAAAA,KAAC+oB,GAAAA,EAAc,CAACpT,SAAS,MAAK5V,UAC5BC,EAAAA,EAAAA,KAACsoB,GAAgB,CACflG,SAAUA,EACV4G,QAlBcC,IAAMN,GAAoBD,GAmBxCtoB,QAAQ,OACR+V,MAAM,UAASpW,SAEd6oB,KAEY,E,4BCvCrB,MAAMM,IAAcrqB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC/CC,QAAS,OACT2W,eAAgB,aAChBzW,WAAY,SACZkqB,UAAWrqB,EAAMM,QAAQ,OAGrBgqB,IAAYvqB,EAAAA,EAAAA,GAAOwqB,GAAAA,EAAPxqB,EAA0B,EAAGC,YAAY,CACzDqX,MAAOrX,EAAM6e,QAAQ2L,QAAQC,MAC7B7E,YAAa5lB,EAAMM,QAAQ,OAGvBoqB,IAAmB3qB,EAAAA,EAAAA,GAAOwqB,GAAAA,EAAPxqB,EAA0B,EAAGC,YAAY,CAChEqX,MAAOrX,EAAM6e,QAAQ8L,QAAQ7L,KAC7B8G,YAAa5lB,EAAMM,QAAQ,OAGvBsqB,IAAY7qB,EAAAA,EAAAA,GAAO8qB,GAAAA,EAAP9qB,EAA0B,EAAGC,YAAY,CACzDqX,MAAOrX,EAAM6e,QAAQ7c,MAAM8oB,KAC3BlF,YAAa5lB,EAAMM,QAAQ,OAGvByqB,IAAchrB,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACpDqX,MAAOrX,EAAM6e,QAAQ2L,QAAQ1L,SAalBmM,GAAwD5oB,IACnE,MAAM,aAAE6oB,EAAY,QAAEC,EAAO,YAAEC,EAAW,WAAEC,GAAehpB,EAE3D,OACEnB,EAAAA,EAAAA,KAAA,OAAAD,SACGiqB,GAAcxK,KAAK4K,IAClBtqB,SAAAA,EAAAA,MAACopB,GAAW,CAAAnpB,SAAA,CACToqB,GAVgBE,EAUeD,EAV4BxV,EAUfsV,EATrDG,EAAoB3Z,gBAAgByX,KAAKvT,GAAS,KAAM5U,EAAAA,EAAAA,KAACwpB,GAAgB,KAAMxpB,EAAAA,EAAAA,KAAC0pB,GAAS,MASrB1pB,EAAAA,EAAAA,KAACopB,GAAS,KACtEppB,EAAAA,EAAAA,KAAC6pB,GAAW,CAACzpB,QAAQ,UAASL,UAC5BC,EAAAA,EAAAA,KAAC8a,GAAY,CACXC,eAAgB3Z,EAAoBgpB,EAAY7T,KAChDC,GAAI4T,EAAY7T,IAChByE,OAAQ,CAAEwC,IAAKyM,SANHG,EAAY7T,KATZ+T,IAACD,EAA2CzV,CAmB/D,KACG,ECsBG2V,GAA0DppB,IACrE,MAAM,KACJ2V,EAAI,MACJiH,EAAK,WACLE,EAAU,YACVC,EAAW,aACXC,EAAY,WACZC,EAAU,aACV4L,EAAY,aACZ3L,EAAY,kBACZI,GACEtd,GAEGqpB,EAAmBC,IAAsEjV,EAAAA,EAAAA,WAAS,IAElGkV,EAAoBC,IAAyBnV,EAAAA,EAAAA,WAAS,IACtDoV,EAA0BC,IAA+BrV,EAAAA,EAAAA,WAAS,IAGvE0E,SAAS,UAAEO,IACTI,MACE,aAAED,GAAiBH,GAEnB,eAAEuE,EAAc,UAAEC,IAAcC,EAAAA,GAAAA,KAEhCC,EAAcvE,GAAcwE,MAAMte,GAAUA,EAAMsc,WAAWiC,gBAAkBvI,EAAKuI,gBAEpFO,EAAe1C,GAA2BiC,GAAahC,UAAWrG,GAIlEgU,EAjFwBC,EAC9B1J,EACAD,EACA4J,KAEA,MAAMC,EAA8C,GA0CpD,OAxCID,GAAoBE,QAAQC,YAC9BF,EAAoBG,KAAK,CACvB7U,IAAK,4BACL7F,gBAAiB,IAAIqP,OAAOiL,EAAmBE,OAAOpL,mBAAqB,MAI3EkL,GAAoBK,iBAAiBF,YACvCF,EAAoBG,KAAK,CACvB7U,IAAK,qCACL7F,gBAAiB,IAAIqP,OAAOiL,EAAmBK,gBAAgBvL,mBAAqB,MAIpFkL,GAAoBM,iBAAiBH,YACvCF,EAAoBG,KAAK,CACvB7U,IAAK,qCACL7F,gBAAiB,IAAIqP,OAAOiL,EAAmBM,gBAAgBxL,mBAAqB,MAIxFmL,EAAoBG,KAAK,CACvB7U,IAAK,qCACL7F,gBAAiB,IAAIqP,OAAO,MAAMsB,KAAaD,SAG7C4J,GAAoBO,OAAOJ,YAC7BF,EAAoBG,KAAK,CACvB7U,IAAK,2BACL7F,gBAAiB,IAAIqP,OAAOiL,EAAmBO,MAAMzL,mBAAqB,MAI1EkL,GAAoBQ,kBAAkBL,YACxCF,EAAoBG,KAAK,CACvB7U,IAAK,sCACL7F,gBAAiB,IAAIqP,OAAOiL,EAAmBQ,iBAAiB1L,mBAAqB,MAIlFmL,CAAmB,EAkCQF,CAHhB3M,GAAYiD,WAAa,EACzBjD,GAAYgD,WAAa,IAEqC4I,GAE1EnK,EAAezB,GAAY0B,kBAAoB,IAAIC,OAAO3B,EAAW0B,wBAAqB1G,EAG1FkH,EAA0C,iBAAjBnC,EAA4BA,EAAe,EAAIA,EAoFxEoC,EAAiBrC,IAjFrBle,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAOzC,GAAepe,UAE/BC,EAAAA,EAAAA,KAAC6gB,GAAAA,EAAG,CACFC,OAAO,cACPC,SAAU,IAAIhhB,UAEdC,EAAAA,EAAAA,KAACghB,GAAAA,GAAU,CACTlK,KAAMA,EACNmK,MAAO,CACLC,SAAU9C,GAAY+C,YACtBG,QAASzB,GAEX0B,aAAclD,EACdtd,OAAQA,EAAGygB,QAAOG,iBAChB3hB,EAAAA,EAAAA,KAAC4hB,GAAAA,EAAW,CAACC,WAAS,EAAA9hB,UACpBC,EAAAA,EAAAA,KAAC8hB,GAAAA,EAAS,CACRD,WAAS,EACT9D,MAAOA,EACP3d,QAAQ,WACR4c,KAAMwN,EAAoB,OAAS,WACnCzI,YAAatD,GAAqB,GAClC3d,QAAS6gB,EAAW7gB,OAASkhB,QAAQ7C,GACrC8C,YACEniB,EAAAA,EAAAA,MAAA,OAAAC,SAAA,CACGof,GACCnf,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAC5iB,OAAK,EAAAf,UACnBC,EAAAA,EAAAA,KAAC8a,GAAY,IAAK8E,MAElB,MACF8K,GAAsB/I,EAAW7gB,OACjCd,EAAAA,EAAAA,KAAA,UAASgf,EAAe,GAAGlI,kCAAoC/W,SAC5Dud,GAAwBqE,EAAW7gB,MAAOsd,GAAYgD,UAAWhD,GAAYiD,aAE9E,KACHqJ,GACC1qB,EAAAA,EAAAA,KAAA,UAASgf,EAAe,GAAGlI,iCAAmC/W,UAC5DC,EAAAA,EAAAA,KAAC+pB,GAAoB,CACnBE,QAAS7L,GAAYiD,UACrB2I,aAAcc,EACdX,WAAYS,EACZV,YAAa1I,EAAM5M,UAGrB,QAGRsN,UAAWjE,EACXiD,SAAU9C,GAAY+C,YACtBI,aAAcC,EAAM5M,MACpBuN,WAAY,CACVf,UAAWhD,GAAYgD,UACvBgB,SAAU9B,EACVe,UAAWjD,GAAYiD,gBAAajI,EACpC,cAAe6F,EAAU,GAAGnI,qBAG9B0L,WAAY,CACVC,cACEziB,EAAAA,EAAAA,KAACyoB,GAAc,CACbrG,SAAU9B,EACVoI,eAAgB8B,EAChB7B,mBAAoB8B,IAGxB9H,aAAc,gBAEhB8I,QAAUC,GAAOf,GAAsB,GACvCgB,QAAUD,GAAOb,GAA4B,MACzCrJ,YAWlB,OAEExhB,EAAAA,EAAAA,KAAA8jB,EAAAA,SAAA,CAAA/jB,SAAGwgB,GAAkB,ECvMZqL,IAAmB/sB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC3DC,QAAS,OACTC,cAAe,SACfC,WAAY,aACZkqB,UAAWrqB,EAAMM,QAAQ,OAGdysB,IAAoBhtB,EAAAA,EAAAA,GAAO6kB,GAAAA,EAAP7kB,EAAuB,EAAGC,YAAY,CACrEupB,SAAU,OACVtS,UAAW,OACX+V,UAAW,SACXC,WAAYjtB,EAAMM,QAAQ,OAGtBse,IAAa7e,EAAAA,EAAAA,GAAO,IAAPA,EAAY,EAAGC,YAAY,CAC5CqX,MAAOrX,EAAM6e,QAAQ7c,MAAM8c,KAC3BC,eAAgB,YAChB,UAAW,CACT1H,MAAOrX,EAAM6e,QAAQ7c,MAAM8c,KAC3BC,eAAgB,iBASPmO,GAAyD7qB,IACpE,MAAM,sBAAE8qB,EAAqB,mBAAEjZ,GAAuB7R,EAGtD,OAFgC6gB,QAAQiK,GAAuBzT,QAAUyT,EAAsBzT,OAAS,IAOtGxY,EAAAA,EAAAA,KAAC4rB,GAAgB,CAAA7rB,SACdksB,GAAuBzM,KAAK0M,IAC3BlsB,EAAAA,EAAAA,KAAC6rB,GAAiB,CAEhB/qB,OAAK,EAAAf,UAELC,EAAAA,EAAAA,KAAC8a,GAAY,IACPoC,GAA2BgP,EAAiB/O,WAChDnC,OAAQ,CACNmR,qBACEnsB,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAM5Q,EACNuQ,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezP,yBACnBuO,eAAgB3Z,EAAoBoL,iCAdzC0f,EAAiB/O,eAPrB,IA6BY,ECrEViP,GAAiBA,KAC5BpsB,EAAAA,EAAAA,KAAA,OACEqsB,QAAQ,MACRC,MAAM,6BACNnsB,MAAM,KACND,OAAO,KACPqsB,QAAQ,cAAaxsB,UAErBD,EAAAA,EAAAA,MAAA,KAAGgW,UAAU,4CAA2C/V,SAAA,EACtDC,EAAAA,EAAAA,KAAA,QACEwsB,KAAK,UACLC,EAAE,+OAEJzsB,EAAAA,EAAAA,KAAA,QACEwsB,KAAK,UACLC,EAAE,qQAEJzsB,EAAAA,EAAAA,KAAA,QACEwsB,KAAK,UACLC,EAAE,uQAEJzsB,EAAAA,EAAAA,KAAA,QACEwsB,KAAK,UACLC,EAAE,wP,gBCvBV,MAAMC,IAAa7tB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CAC/CC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZkB,MAAO,OACPgpB,UAAWrqB,EAAMM,QAAQ,OAGrButB,IAAgB9tB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CAClD+tB,SAAU,QACV1D,UAAWrqB,EAAMM,QAAQ,GACzBwhB,MAAO,MAGHkM,IAAgBjuB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjDC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACfmqB,UAAWrqB,EAAMM,QAAQ,OAGrB8pB,IAAcrqB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC/CC,QAAS,OACT2W,eAAgB,SAChBvV,MAAO,WAGH4sB,IAAWluB,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACjDkuB,YAAaluB,EAAMM,QAAQ,IAC3B2W,UAAW,WAIPkX,IAAgBpuB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CAClDC,QAAS,OACT2W,eAAgB,QAChBvV,MAAO,OACP0sB,SAAU,QACV9L,SAAU,QACV7gB,OAAQ,OACRgtB,UAAW,OACX/D,UAAWrqB,EAAMM,QAAQ,GACzBmjB,cAAe,OACf4K,UAAW,wBACX3E,QAAS,eAGL4E,IAAYvuB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC7CC,QAAS,OACT2W,eAAgB,SAChByT,UAAWrqB,EAAMM,QAAQ,GACzBiuB,aAAcvuB,EAAMM,QAAQ,OAGxBkuB,IAAczuB,EAAAA,EAAAA,GAAO,QAAPA,EAAgB,EAAGC,YAAY,CACjDC,QAAS,WAGL2e,IAAa7e,EAAAA,EAAAA,GAAO,IAAPA,EAAY,EAAGC,YAAY,CAC5CqX,MAAOrX,EAAM6e,QAAQ4P,KAAK9D,QAC1B5L,eAAgB,YAChB,UAAW,CACT1H,MAAOrX,EAAM6e,QAAQ4P,KAAKC,UAC1B3P,eAAgB,iBAId4P,IAAc5uB,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACpDC,QAAS,OACT2uB,aAAc,OACdL,aAAcvuB,EAAMM,QAAQ,GAC5B2hB,SAAU,YAGN4M,IAAoB9uB,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAC1DiX,UAAW,OACX6X,WAAY,OACZP,aAAcvuB,EAAMM,QAAQ,GAC5ByuB,OAAQ,c,gBC1EV,MAAMC,GAAchW,IAAAA,SAIb,SAASiW,GAAsB3b,EAAqB4b,GACzD,MAAM,aAAE1b,EAAY,OAAEG,EAAM,gBAAEN,GAAoBkB,KAC5C,eAAEqB,IAAmBjB,EAAAA,EAAAA,KAErBwa,EAAcjM,QAAQ5P,SAAc4b,GACpC9W,EAAM,GAAG5E,eAA0BF,mBAA4B4b,KAE7DpX,KAAMsX,IAAiBpV,EAAAA,EAAAA,IAAOmV,EAAc/W,EAAIiX,WAAa,MAAMnX,UACzE,MAAMY,EAAyC,CAC7C,mBAAoBnF,KAChBN,GAAmB,CAAE,kBAAmBA,IAE9CyF,EAAQwW,cAAgB1Z,EAExB,MAAM,KAAEkC,SAAekX,GACpBO,IAAUC,EAAY,CACrB1W,UACA2W,aAAc,SAEfxW,MAAMyW,GAASA,IACfvW,OAAOnX,GAA+BA,IAEzC,OAAO8V,CAAI,IAGb,YAAwBwC,IAAjB8U,OAA6B9U,GA3BboV,EA2ByCN,EA3BlBO,IAAIC,gBAAgBF,IAA3CA,KA4BzB,CCrCO,MAAMG,GAAgB7X,IAC3B,MAAO8X,EAAUC,GAAa/X,EAAKyI,MAAM,KAEzC,MAAO,GAAGsP,GAAWC,OAAO,IAAM,KAAKF,GAAUE,OAAO,IAAM,IAAI,EAGvDC,GAAmBC,IAC9B,MAAM3I,EAAQ2I,EAAKC,QAAQ,KAC3B,OAAe,IAAX5I,EACK2I,EAAKE,UAAU,EAAG7I,GAEpB2I,CAAI,ECCPG,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjDC,QAAS,OACTE,WAAY,SACZyW,eAAgB,SAChBvV,MAAO,OACP4gB,SAAU,QACVoI,UAAWrqB,EAAMM,QAAQ,GACzBiuB,aAAcvuB,EAAMM,QAAQ,OAGxBgwB,IAAevwB,EAAAA,EAAAA,GAAOwwB,GAAAA,EAAPxwB,EAAe,EAAGC,YAAY,CACjDqB,MAAO,OACPD,OAAQ,OACRiW,MAAOrX,EAAM6e,QAAQ4P,KAAK9D,QAC1B5L,eAAgB,WAGZyR,IAAazwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC9CC,QAAS,OACTC,cAAe,SACf0W,eAAgB,SAChBqW,WAAYjtB,EAAMM,QAAQ,OAGfmwB,GAAyDA,EAAGpR,mBACvE,MAAM,SAAEqR,GAAanc,KACbuD,KAAM6Y,IAAoBC,EAAAA,GAAAA,KAA2BF,GAAUG,YAAc,GAC/EzB,EAAeH,GAAsByB,GAAUG,WAAYF,GAAiBzB,aAE5E,eAAEhP,IAAmBE,EAAAA,GAAAA,KAErB0Q,EAA8C,qBAA3BJ,GAAUK,aAE7BC,EACJF,GAAoBJ,EAASO,qBAAuBP,EAASO,qBAAuBP,GAAUQ,SAE1FC,EAAaL,EAAmBb,GAAgBe,GAAe,IAAMnB,GAAamB,GAAe,IAEvG,OACEhwB,EAAAA,EAAAA,MAACqvB,GAAa,IACRnQ,EAAe,sBACnB1e,GAAI,CAAEsgB,MAAOzC,GAAepe,SAAA,CAE1ByvB,GAAUQ,UAAYR,GAAUO,sBAChC/vB,EAAAA,EAAAA,KAACovB,GAAY,CAACc,IAAKhC,EAAanuB,SAAEkwB,IAChC,MACJnwB,EAAAA,EAAAA,MAACwvB,GAAU,CAAAvvB,SAAA,EACTC,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,UACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9U,sBACnB4T,eAAgB3Z,EAAoB+F,2BAIxCnH,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,YACR+V,MAAM,cACNga,MAAM,OACN7vB,GAAI,CAAEstB,WAAY,QAAS7tB,SAE1B+vB,SAGS,ECpCdM,GAAsBhO,GAA2C,iBAAbA,EAAwBA,EAAW,EAAI,EAEpFiO,GAAsClvB,IACjD,MAAM,OAAEwW,EAAM,gBAAE2Y,EAAe,aAAEC,GAAiBpvB,GAE3CqvB,EAA0BC,IAA+Bjb,EAAAA,EAAAA,WAAS,IACnE,eAAEwJ,IAAmBE,EAAAA,GAAAA,MACrB,oBAAEpM,EAAmB,SAAE0c,EAAQ,iBAAE9c,GAAqBW,KACtD,cAAEgJ,GAAkBH,KAEpBwU,GAAUC,EAAAA,GAAAA,IAAoD,CAClEC,eAAgB,WAChBC,KAAM,cAGF,UAAEC,EAAS,MAAE3L,EAAK,SAAE4L,EAAQ,SAAEjS,GAAa4R,GAC3C,QAAEM,EAAO,YAAEC,EAAW,aAAEC,GAAiBJ,EACzCK,EAAahM,KAGjBjL,SAAS,UAAEO,IACTI,MACE,aAAED,GAAiBH,EAEnB2W,EAAoBxW,GAAcyW,QACrCC,IACEC,OAAOC,KAAKL,GACV3R,KAAKiS,GAAQA,EAAIpS,gBACjBgB,SAASiR,EAAGlU,WAAWiC,eAAiB,MAGzCqS,EAA0BxU,GAA2BpK,GAErD6e,EAAgC3P,SAASiP,GAAene,GAIxD8e,EAAqC,gBAArBlf,KAFmB,eAArBA,GAAgE,iBAA3B8c,GAAUK,cAK7DgC,GAAoBrC,GAAUG,YAAcH,GAAUO,uBAAyB6B,EAE/EE,EAA0BC,IAC9BjT,EAAS,YAAaiT,GACtBjT,EAAS,oBAAgB1F,GACzB0F,EAAS,wBAAoB1F,GAC7B0F,EAAS,gBAAY1F,GACrBsX,EAAQtL,cACRsL,EAAQsB,aAAazB,EAArBG,EAAoC,GAGtCjb,EAAAA,EAAAA,YAAU,KACJ0b,EAAWc,cACbnT,EAAS,YAAa,QACxB,GAEC,CAACqS,EAAWc,gBAEfxc,EAAAA,EAAAA,YAAU,KACJ0b,EAAWe,kBACbpT,EAAS,YAAa,YACxB,GAEC,CAACqS,EAAWe,mBAGf,MAAMC,EAA8BnQ,QAClCrK,GAAQya,YAAYlU,aAAevG,GAAQ0a,eAAenU,aAAevG,GAAQ2a,aAAapU,aAIhG,OACEpe,EAAAA,EAAAA,MAACyyB,GAAAA,GAAY,IAAK7B,EAAO3wB,SAAA,CACtB4xB,GACC3xB,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAC5iB,OAAK,EAAAf,UACnBC,EAAAA,EAAAA,KAAC8a,GAAY,IAAK4W,MAElB,MACJ1xB,EAAAA,EAAAA,KAACgsB,GAAqB,CAACC,sBAAuBmF,KAC9CpxB,EAAAA,EAAAA,KAAC0sB,GAAU,CACT8F,YAAU,EACV7P,aAAa,MACb8P,SAAU/B,EAAQsB,aAAazB,GAAcxwB,UAE7CD,EAAAA,EAAAA,MAAC0gB,GAAAA,GAAI,CACHkS,WAAS,EACThd,eAAe,SAAQ3V,SAAA,EAEvBC,EAAAA,EAAAA,KAACstB,GAAW,IAAKyD,EAAS,gBAC1B/wB,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBY,wBAAsB,EACtB5H,KAAK,eACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelW,cACnBgV,eAAgB3Z,EAAoB2E,gBAGxC0Y,kBAAmBpC,EAAcJ,GAAelV,0BAChDwX,aAAa,WACT5G,GAAQsa,gBAEdjyB,EAAAA,EAAAA,KAAC8kB,GAAkB,CACjBhO,KAAK,mBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepV,cACnBkU,eAAgB3Z,EAAoByF,gBAGxCoe,iBACEjlB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenV,wBACnBiU,eAAgB3Z,EAAoB0F,0BAGxCkX,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5U,qBACnB0T,eAAgB3Z,EAAoBiG,uBAGxC0d,mBACE/kB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3U,+BACnByT,eAAgB3Z,EAAoBkG,iCAGxCmX,kBAAmBpC,EAAcJ,GAAehV,0BAChD+d,4BAA6B3I,EAAcJ,GAAe/U,uCACtDyQ,GAAQua,mBAEbL,GAAmB7xB,EAAAA,EAAAA,KAACuvB,GAAgB,CAACpR,aAAcxG,GAAQgb,gBAAgBxU,eAAmB,KAE9FxG,GAAQgb,gBAAgBzU,cAAgBsR,GAAUK,cACjD/vB,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,CACGywB,EAA2B,MAC1BxwB,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAOjJ,EAAOgb,eAAexU,cAAepe,UAErDC,EAAAA,EAAAA,KAAC6gB,GAAAA,EAAG,CACFE,SAAU,IACVD,OAAO,SAAQ/gB,UAEfC,EAAAA,EAAAA,KAAC2tB,GAAiB,CAAC3E,QAASA,IAAMyH,GAA6BD,GAA0BzwB,UACvFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3V,4BACnByU,eAAgB3Z,EAAoBkF,qCAO9CtG,EAAAA,EAAAA,KAAC4yB,GAAAA,EAAQ,CACPC,GAAIrC,EACJlwB,GAAI,CAAEH,MAAO,OAAQygB,MAAOjJ,EAAOgb,eAAexU,cAAepe,UAEjEC,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBG,YAAU,EACVnH,KAAK,iBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7V,uBACnB2U,eAAgB3Z,EAAoBgF,yBAGxC4X,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1V,8BACnBwU,eAAgB3Z,EAAoBmF,gCAGxCgY,aAAa,UACT5G,EAAOgb,sBAIf,MAEJ3yB,EAAAA,EAAAA,KAACuqB,GAAqB,CACpBzT,KAAK,WACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerV,iBACnBmU,eAAgB3Z,EAAoBwF,mBAGxC6X,kBAAmBpC,EAAcJ,GAAejV,gCAC5C2Q,GAAQmb,WAEbnb,GAAQob,iBAAiBpW,WACxB3c,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAOjJ,EAAOob,gBAAgB5U,cAAgB,GAAIpe,UAE3DC,EAAAA,EAAAA,KAACytB,GAAW,CACVrtB,QAAQ,aACJ4e,EAAe,wBAAuBjf,UAE1CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezV,oBACnBuU,eAAgB3Z,EAAoBoF,oBACpCwU,OAAQ,CACNgY,yBACEhzB,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY4V,wBAC7B1P,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevV,6CACnBqU,eAAgB3Z,EAAoBsF,iDAI1CwsB,oBACElzB,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY8V,mBAC7B5P,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexV,wCACnBsU,eAAgB3Z,EAAoBqF,mDAQhD,MACJzG,EAAAA,EAAAA,KAAC2sB,GAAa,CACZvsB,QAAQ,YACR+V,MAAM,UACN6G,KAAK,SAELoF,SAAU,EACVF,UAAW8O,GAAWE,GAAgBZ,KAClCtR,EAAe,0BAAyBjf,UAE5CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenW,eACnBiV,eAAgB3Z,EAAoB0E,wBAK3CqsB,GACCryB,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,EACEC,EAAAA,EAAAA,KAACotB,GAAS,CAAArtB,UACRC,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CAAC1pB,QAAQ,QAAOL,UACzBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetV,WACnBoU,eAAgB3Z,EAAoBuF,kBAI1C7G,EAAAA,EAAAA,MAACgtB,GAAa,CAAA/sB,SAAA,CACX4X,GAAQ2a,aAAapU,aACpBpe,EAAAA,EAAAA,MAACmtB,GAAa,CACZ9W,MAAM,UACN7V,GAAI,CAAEsgB,MAAOjJ,EAAO2a,YAAYnU,cAChC+D,SAAUgP,EACV9O,SAAUgO,GAAmBzY,EAAO2a,YAAYnU,cAChD6K,QAASA,IAAM8I,EAAuB,UAAU/xB,SAAA,EAEhDC,EAAAA,EAAAA,KAACkpB,GAAW,CAAAnpB,UACVC,EAAAA,EAAAA,KAACosB,GAAU,OAEbpsB,EAAAA,EAAAA,KAAC+sB,GAAQ,CAAC3sB,QAAQ,QAAOL,UACvBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/V,eACnB6U,eAAgB3Z,EAAoB8E,sBAIxC,KACHyR,GAAQya,YAAYlU,aACnBpe,EAAAA,EAAAA,MAACmtB,GAAa,CACZ9W,MAAM,UACN7V,GAAI,CAAEsgB,MAAOjJ,EAAOya,WAAWjU,cAC/B+D,SAAUgP,EACV9O,SAAUgO,GAAmBzY,EAAOya,WAAWjU,cAC/C6K,QAASA,IAAM8I,EAAuB,SAAS/xB,SAAA,EAE/CC,EAAAA,EAAAA,KAACkpB,GAAW,CAAAnpB,UACVC,EAAAA,EAAAA,KAACozB,GAAAA,EAAK,CAAC9yB,GAAI,CAAE+nB,SAAU,aAEzBroB,EAAAA,EAAAA,KAAC+sB,GAAQ,CAAC3sB,QAAQ,QAAOL,UACvBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepW,cACnBkV,eAAgB3Z,EAAoByE,qBAIxC,KACH8R,GAAQ0a,eAAenU,aACtBpe,EAAAA,EAAAA,MAACmtB,GAAa,CACZ9W,MAAM,UACN7V,GAAI,CAAEsgB,MAAOjJ,EAAO0a,cAAclU,cAClC+D,SAAUgP,EACV9O,SAAUgO,GAAmBzY,EAAO0a,cAAclU,cAClD6K,QAASA,IAAM8I,EAAuB,YAAY/xB,SAAA,EAElDC,EAAAA,EAAAA,KAACkpB,GAAW,CAAAnpB,UACVC,EAAAA,EAAAA,KAACqzB,GAAAA,EAAQ,CAAC/yB,GAAI,CAAE6V,MAAO,UAAWkS,SAAU,aAE9CroB,EAAAA,EAAAA,KAAC+sB,GAAQ,CAAC3sB,QAAQ,QAAOL,UACvBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehW,iBACnB8U,eAAgB3Z,EAAoB6E,wBAIxC,WAGN,OACS,ECnVbkpB,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,WACV5W,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACfs0B,WAAYx0B,EAAMM,QAAQ,QAGtBm0B,IAAiB10B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAClDqqB,UAAWrqB,EAAMM,QAAQ,OAGdo0B,GAAcA,KACzB,MAAQ5c,KAAM6c,GAAuBrX,MAC7BxF,KAAM8c,EAAO,aAAEC,IAAiBC,EAAAA,GAAAA,QAEjCC,EAAeC,IAAoBte,EAAAA,EAAAA,WAAS,GAE7Cue,GAAeC,EAAAA,EAAAA,QAAkB,OAGrC9Z,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,GAG9BF,SAAS,UAAEO,IACTI,MACE,aAAEH,EAAY,aAAEE,GAAiBH,EAEjCwZ,EAAuBrZ,GAAcwE,MAAMkS,GAAwB,cAAjBA,EAAGlU,YAErDwC,EAAe1C,GAA2B+W,GAAsB9W,YAEhE,iBAAEzK,EAAgB,iBAAEE,EAAgB,SAAE4c,GAAanc,IAEnDoJ,GAAMF,EAAAA,GAAAA,KAEN2X,GAAeP,GAAgBD,GAASS,SAAWT,EAAQvS,YA4EjE,OACErhB,EAAAA,EAAAA,MAACqvB,GAAa,CAAApvB,SAAA,EACZC,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,KACRE,GAAI,CAAEstB,WAAY,QAClBzX,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9V,eACnB4U,eAAgB3Z,EAAoB+E,mBAGvC8tB,GACCj0B,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAC5iB,OAAK,EAAAf,UACnBC,EAAAA,EAAAA,KAAC8a,GAAY,IAAK8E,MAElB,MACJ5f,EAAAA,EAAAA,KAACqwB,GAAW,CACV1Y,OAAQ8b,EACRnD,gBAAiBuD,EACjBtD,aA9FsEvZ,UAC1E,MAEMY,EAAyC,CAC7C,uBAHyBmc,EAAaK,SAASC,iBAGb,IAG9BC,EAAwC,UAAnB1d,EAAKmb,WAA4C,cAAnBnb,EAAKmb,UAE9D,IACE,MAAMwC,EAA0D,IAC3D3d,EACHqb,aAAcqC,EAAqB1d,EAAKqb,kBAAe7Y,EACvD8Y,iBAAkBoC,EAAqB1d,EAAKsb,sBAAmB9Y,EAC/D0Z,SAAUwB,EAAqB1d,EAAKkc,cAAW1Z,EAC/ChH,WAAYod,GAAUG,WACtB6E,YAAa,UACbC,UAAW,IAAIC,KACfC,cAAenF,GAAUK,aACzB+E,qBAAsBpF,GAAUO,qBAChC8E,cAAerF,GAAUsF,iBACzBpiB,oBAEIqiB,QAAuBC,EAAAA,GAAAA,KAA2BvY,EAAK8X,EAAa3c,GAEpE/E,EAAiBkiB,EAAene,KAGtC,GAFe,IAAIyE,GAAqB0Z,EAAelZ,QAE5CN,YAAa,CACtBuY,GAAiB,GACblZ,GAAgBA,EAAapC,OAAS,GACxCkC,EAAa,IAEf,MAAMua,EAAc,GAAGriB,oBAAmCC,IAEpDqiB,EAAO9d,SAAS+d,cAAc,QAC9BrC,EAAW1b,SAAS+d,cAAc,SACxCD,EAAKE,OAAS,OACdF,EAAKG,OAASJ,EACdC,EAAKvU,MAAM5hB,QAAU,OACrB+zB,EAAShc,KAAO,WAChBgc,EAASle,MAAQgC,EAAKkc,UAAY,GAClCoC,EAAKI,OAAOxC,GACZ1b,SAASme,KAAKD,OAAOJ,GACrBA,EAAKM,QACP,CACF,CAAE,MAAO10B,GACP,MAAM20B,EAAgB30B,EACtB,GAAI20B,EAAche,UAAUoE,SAAWT,GAAAA,EAAgBsa,oBAAqB,CAC1E,MAAM,OAAEC,GAAWF,EAAche,SAASb,KACpCgf,EAAeD,GAAQnW,KAAK8R,IAAE,CAClClU,UAAWkU,EAAGuE,aACd1Y,UAAWmU,EAAGwE,SAEZF,GAAcpd,QAAUod,EAAapd,OAAS,EAChDkC,EAAakb,GAEblb,EAAa,GAEjB,MACEL,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejQ,aACnB+O,eAAgB3Z,EAAoB4K,eAGxCgR,KAAM7B,GAAYra,OAGxB,KAyBGozB,GACCl0B,EAAAA,EAAAA,KAACuzB,GAAc,CAAAxzB,UACbC,EAAAA,EAAAA,KAAC+1B,GAAAA,EAAS,CACRtU,IAAKsS,EACLiC,KAAK,YACLC,MAAM,SACNC,QAASxC,EAAQS,SAAW,OAG9B,OACU,E,gBC9Ib,MAAMgC,GAAqBA,KAChC,MAAM,OAAE1jB,EAAM,iBAAEC,GAAqBW,KAC/B,cAAEgJ,GAAkBH,KACpBI,GAAYC,EAAAA,GAAAA,MAGhBrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACrG,EAAQC,EAAkB,oBAC3BsE,UACE,MAAMgB,QAhCZhB,eAAoCyF,EAAgBhK,EAAgBC,GAClE,MAAM0jB,EAAiG,CACrGC,uBAAuB,GAGzB,IACE,MAAM5e,QAAiB6e,EAAAA,GAAAA,KAA8D7Z,EAAKhK,EAAQC,GAElG,OAAO,IAAI2I,GACT5D,EAASoE,OACTpE,EAASb,KAEb,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAAS0a,EAC9B,CACF,CAiB2BG,CAAqBja,EAAW7J,EAAQC,GAC7D,GAAIsF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,wCAAwC,GAE1D,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,ECtCI,MAAMuZ,GAAkBC,IAC7B,MAAM,eAAE5jB,GAAmBQ,KACrB,cAAEgJ,GAAkBH,KACpBO,GAAMF,EAAAA,GAAAA,MAEVrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACjG,EAAgB4jB,EAAY,gBAC7Bzf,UACE,MAAMgB,QA5BZhB,eAAgCyF,EAAgBia,GAC9C,MAAMC,EAA6E,CACjFC,mBAAmB,GAGrB,IACE,MAAMnf,QAAiBof,EAAAA,GAAAA,KAAsCpa,EAAKia,GAElE,OAAO,IAAIrb,GAAsE5D,EAASoE,OAAQpE,EAASb,KAC7G,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAASib,EAC9B,CACF,CAgB2BG,CAAiBra,EAAK5J,GAC3C,GAAImF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,oCAAoC,GAEtD,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,E,gBC1DH,MAEM8Z,GAAwB,IAAIC,IAAoB,CACpD,CAAC,sBAAuB,wBACxB,CAAC,mBAAoB,iBACrB,CAAC,uBAAwB,qBACzB,CAAC,uBAAwB,SACzB,CAAC,aAAc,2BAWXC,GAAoBA,CAACC,EAAiBC,EAAqBtkB,IAC/D,GAAGqkB,KAT2BC,IAC1BJ,GAAsBK,IAAID,GACrBJ,GAAsB1I,IAAI8I,GAG5B,eAIOE,CAAuBF,kBAA4BA,oBAA8BtkB,IAE3FykB,GAAaA,CAACzkB,EAAwB0kB,KAC1C,MAAML,EAAUM,OAAOC,SAASC,OAASF,OAAOC,SAASE,SACzD,OAAKJ,EAIEN,GAAkBC,EAAQtQ,QAAQ,OAAQ,IAAK2Q,EAAM1kB,GAHnDqkB,EAAUM,OAAOC,SAASG,MAGwC,EAGhEC,GAA2BA,CACtCrD,EACArb,EACAtG,KAEA,MAAMilB,EAA8C,CAClDC,iBApCc,0BAqCdC,gBAAiBV,GAAWzkB,EAAgBsG,GAC5C8e,eAAgBX,GAAWzkB,EAAgB2hB,IAGvC5M,EAAQ,IAAIsQ,YAAmCC,GAAAA,EAAuB,CAC1EC,OAAQN,IAGVN,OAAOa,cAAczQ,EAAM,EC7CvB0Q,IAAez5B,EAAAA,EAAAA,GAAO,IAAPA,EAAY,EAAGC,YAAY,CAC9C+e,eAAgB,YAChBgQ,OAAQ,UACR,UAAW,CACT1X,MAAOrX,EAAM6e,QAAQ8L,QAAQG,UAI3B2O,IAAkB15B,EAAAA,EAAAA,GAAOijB,GAAAA,EAAPjjB,CAAkB,CACxC,UAAW,CACTkX,UAAW,UAEb+K,OAAQ,QACR3gB,MAAO,OACP4gB,SAAU,OACVhL,UAAW,WAGPoZ,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjDiiB,SAAU,QACVoI,UAAWrqB,EAAMM,QAAQ,QAGrBo5B,IAAa35B,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACnDqqB,UAAWrqB,EAAMM,QAAQ,OAGrBq5B,IAAU55B,EAAAA,EAAAA,GAAO,MAAPA,CAAc,CAC5BE,QAAS,OACT2W,eAAgB,kBCnBLgjB,GAAwCv3B,IACnD,MAAM,iBAAEw3B,EAAgB,iBAAEC,GAAqBz3B,EAE/C,OAAIy3B,GAEA54B,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejN,eACnB+L,eAAgB3Z,EAAoB4N,kBAMxChP,EAAAA,EAAAA,KAACs4B,GAAY,CACXO,KAAK,eACL7P,QAAS2P,EAAiB54B,UAE1BC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexW,4BACnBsV,eAAgB3Z,EAAoBqE,+BAEzB,EClBNqzB,GAA0D33B,IACrE,MAAM,MAAEklB,EAAK,SAAEzD,EAAQ,YAAEmW,EAAW,aAAEC,EAAY,YAAEC,EAAW,QAAEC,EAAO,aAAEhI,GAAiB/vB,EAErFg4B,GAAuBnF,EAAAA,EAAAA,QAAgC,MAqC7D,OACEh0B,EAAAA,EAAAA,KAACu4B,GAAe,CACdvb,KAAK,OACL5c,QAAQ,WACR+hB,WAAY,CAAEf,UAAW,EAAGuB,aAAc,MAAON,UAAW,WAC5DO,SAxCmBwW,IACrBD,EAAqB/E,QAAUgF,EAC/BxW,EAASwW,EAAU/S,EAAM,EAuCvBvlB,MAAOo4B,EACPhX,SAAUgP,EACVmI,QAtC6B/V,IAE/BA,EAAEC,OAAO3O,MAAQ0O,EAAEC,OAAO3O,MAAM4O,WAAW,MAAO,IAC9CF,EAAEC,OAAO3O,OACXmkB,EAAY1S,EACd,EAkCEiT,UAzBmB1R,IAChBuR,EAAqB/E,UAIR,cAAdxM,EAAMrR,KAAqC,WAAdqR,EAAMrR,MACjC4iB,EAAqB/E,QAAQxf,MAC/BukB,EAAqB/E,QAAQxf,MAAQ,IAErCgT,EAAM2R,iBAENP,EAAa3S,KAEjB,EAaEoF,QAhCgB+N,KACdL,EAAqB/E,SACvB+E,EAAqB/E,QAAQqF,QAC/B,EA8BEC,QAAST,GACT,EC/COU,GAA4Bx4B,IACvC,MAAM,yBAAEy4B,EAAwB,iBAAEjB,EAAgB,iBAAEkB,EAAgB,iBAAEjB,EAAgB,aAAE1H,GAAiB/vB,EAEnG24B,GAAgB9F,EAAAA,EAAAA,QAA2B,KAE3C,eAAEhV,IAAmBE,EAAAA,GAAAA,KAErB6a,EAAqB7c,GAA2B2c,GAAkB1c,WAElE6c,GAAgBC,EAAAA,EAAAA,cAAY,KAE5BH,EAAc1F,SAAW0F,EAAc1F,QAAQ5b,OAAS,GAC1DshB,EAAc1F,QAAQ,IAAI8F,OAC5B,GACC,KAEHzkB,EAAAA,EAAAA,YAAU,KACRukB,GAAe,GACd,CAACA,IAEJ,MAAMG,EAAkB9T,IACtB,MAAM+T,EAAgB/T,EAAQ,EAE1B+T,GAAiB,GAAKN,EAAc1F,SACtC0F,EAAc1F,QAAQgG,IAAgBF,OACxC,EAGIG,EAAcA,CAACjB,EAA4B/S,KAE3CyT,EAAc1F,UAChB0F,EAAc1F,QAAQ/N,GAAS+S,EACjC,EAGIkB,EAAqBA,KACzB,IAAIC,EAMJ,GAHIT,GAAiBA,EAAc1F,UACjCmG,EAAcT,EAAc1F,QAAQ5U,KAAKgb,GAAUA,EAAM5lB,SAEvD2lB,GAAa3e,OAAOhH,GAAUoN,QAAQpN,KAAS,CACjD,MAAMoa,EAAOuL,EAAY5a,KAAK,IAC9Bia,EAAyB5K,EAC3B,GAGIyL,EAAiBpU,IACrB,MAAM+T,EAAgB/T,EAAQ,EAE1ByT,EAAc1F,SAAWgG,EAAgBN,EAAc1F,QAAQ5b,OACjEshB,EAAc1F,QAAQgG,IAAgBF,QAEtCI,GACF,EAEIZ,EAAW9R,IACf,MAAM8S,EAAa9S,EAAM+S,cAAcC,QAAQ,cACzCC,EAAaf,EAAc1F,QAAQ5b,OAEnCsiB,EAAYJ,EAAWnb,MAAM,IAAI2I,MAAM,EAAG2S,GAChDf,EAAc1F,QAAQ2G,SAAQ,CAACC,EAAc3U,KACvCyU,EAAUzU,KAAW4U,OAAOC,MAAMD,OAAOH,EAAUzU,OAErD2U,EAAapmB,MAAQkmB,EAAUzU,GACjC,IAGEyT,EAAc1F,QAAQ5b,QACxB8hB,GACF,EAwBF,OACEt6B,EAAAA,EAAAA,KAACmvB,GAAa,CAAApvB,UACZD,EAAAA,EAAAA,MAAA,QAAAC,SAAA,EANAC,EAAAA,EAAAA,KAACy4B,GAAO,CAAA14B,SAAEo7B,MAAMC,KAAK,CAAE5iB,OAHN,IAG4BgH,KAAI,CAAC6b,EAAIhV,IAjBrBA,KACnCrmB,EAAAA,EAAAA,KAAC84B,GAAqB,CAEpBzS,MAAOA,EACP0S,YAAa0B,EACbzB,aAAcmB,EACdvX,SAAUyX,EACVpB,YAAaS,EACbR,QAASlX,QAAQ6X,GACjB3I,aAAcA,GAPT7K,GAe2DiV,CAA4BjV,OAQzFwT,GACC75B,EAAAA,EAAAA,KAAC4rB,GAAgB,IAAK5M,EAAe,8BAA6Bjf,UAChEC,EAAAA,EAAAA,KAAC6rB,GAAiB,CAEhB/qB,OAAK,EAAAf,UAELC,EAAAA,EAAAA,KAAC8a,GAAY,IAAKif,KAHbF,EAAiB1c,aAMxB,MACJnd,EAAAA,EAAAA,KAACw4B,GAAU,CACT+C,WAAS,EACTpL,MAAM,SAAQpwB,UAEdC,EAAAA,EAAAA,KAAC04B,GAAU,CACTC,iBAAkBA,EAClBC,iBAAkBA,UAIV,ECzIPzJ,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACxD6W,SAAU,WACV5W,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACfmB,MAAO,WAGIq7B,IAAc38B,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAC3DuuB,aAAcvuB,EAAMM,QAAQ,GAC5BwuB,WAAY,OACZ7X,UAAW,aCQP0lB,IAAiB58B,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACvDoB,OAAQ,OACRmtB,aAAcvuB,EAAMM,QAAQ,IAC5B2W,UAAW,aAGP4W,IAAgB9tB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CAClD+tB,SAAU,QACV1D,UAAWrqB,EAAMM,QAAQ,QAGrBstB,IAAa7tB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CAC/CC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACfmB,MAAO,OACP4gB,SAAU,QACVoI,UAAWrqB,EAAMM,QAAQ,OAGrBs8B,IAAsB78B,EAAAA,EAAAA,GAAO2hB,GAAAA,GAAP3hB,EAAa,EAAGC,YAAY,CACtDuuB,aAAcvuB,EAAMM,QAAQ,QAOjBu8B,GAA8Dx6B,IACzE,MAAM,qBAAEy6B,GAAyBz6B,GACzByV,KAAMilB,GAAoB1F,MAC1Bvf,KAAMklB,GAAgBtF,MAExB,eAAExX,IAAmBE,EAAAA,GAAAA,KAErBwR,GAAUC,EAAAA,GAAAA,IAAkE,CAChFC,eAAgB,WAChBC,KAAM,YAGF,UAAEC,GAAcJ,GAChB,aAAEQ,GAAiBJ,GAEnB,cAAEzU,GAAkBH,KAEpBO,GAAMF,EAAAA,GAAAA,MAEN,eAAE1J,GAAmBQ,KAGzB6G,SAAS,UAAEO,IACTI,MACE,aAAEH,GAAiBD,GAGvBP,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1B2hB,EAAsBF,GAAiBG,OAAO9d,YA2C9C+d,EAAUF,GACdj8B,EAAAA,EAAAA,MAAC47B,GAAmB,CAClBhJ,WAAS,EACThd,eAAe,SAAQ3V,SAAA,EAEvBC,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GAAG3gB,UAEPC,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,KACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9Z,yBACnB4Y,eAAgB3Z,EAAoBe,gCAI1CnC,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GAAG3gB,UAEPC,EAAAA,EAAAA,KAACy7B,GAAc,CACbr7B,QAAQ,YACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAeja,+BACnB+Y,eAAgB3Z,EAAoBY,sCAK1ChC,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBY,wBAAsB,EACtB5H,KAAK,eACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAeha,yBACnB8Y,eAAgB3Z,EAAoBa,2BAGxC+b,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7Z,2BACnB2Y,eAAgB3Z,EAAoBgB,6BAGxCqc,kBAAmBpC,EAAcJ,GAAe/Z,gCAChDqc,aAAa,WACTsd,EAAgBG,YAIxBl8B,EAAAA,EAAAA,MAAC47B,GAAmB,CAClBhJ,WAAS,EACThd,eAAe,SAAQ3V,SAAA,EAEvBC,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GAAG3gB,UAEPC,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,KACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7W,yBACnB2V,eAAgB3Z,EAAoBgE,gCAK1CpF,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GAAG3gB,UAEPC,EAAAA,EAAAA,KAACy7B,GAAc,CACbr7B,QAAQ,YACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelX,+BACnBgW,eAAgB3Z,EAAoB2D,sCAI1C/E,EAAAA,EAAAA,KAAC8kB,GAAkB,CACjBhO,KAAK,mBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejX,yBACnB+V,eAAgB3Z,EAAoB4D,2BAGxCigB,iBACEjlB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehX,mCACnB8V,eAAgB3Z,EAAoB6D,qCAGxC+Y,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5W,2BACnB0V,eAAgB3Z,EAAoBiE,6BAGxC0f,mBACE/kB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3W,qCACnByV,eAAgB3Z,EAAoBkE,uCAGxCmZ,kBAAmBpC,EAAcJ,GAAe/W,gCAChD8f,4BAA6B3I,EAAcJ,GAAe9W,6CACtD02B,GAAiBK,eAK3B,OACEl8B,EAAAA,EAAAA,KAACuyB,GAAAA,GAAY,IAAK7B,EAAO3wB,UACvBD,EAAAA,EAAAA,MAAC4sB,GAAU,CACT8F,YAAU,EACVC,SAAU/B,EAAQsB,cA1K6Ehb,UACnG,MAAMmlB,EAAwE,IACzEvlB,EACHggB,kBAAmB5U,QAAQ8Z,GAAalF,oBAE1C,IACE,MAAMwF,QAA8BC,EAAAA,GAAAA,KAAyC5f,EAAK5J,EAAgBspB,GAEnF,IAAI9gB,GAAqB+gB,EAAsBvgB,QAEnDN,aACTqgB,GAEJ,CAAE,MAAO96B,GACP,MAAM20B,EAAgB30B,EACtB,GAAI20B,EAAche,UAAUoE,SAAWT,GAAAA,EAAgBsa,oBAAqB,CAC1E,MAAM,OAAEC,GAAWF,EAAche,SAASb,KACpCgf,EAAeD,GAAQnW,KAAK8R,IAAE,CAClClU,UAAWkU,EAAGuE,aACd1Y,UAAWmU,EAAGwE,SAEZF,GAAcpd,QAAUod,EAAapd,OAAS,EAChDkC,EAAakb,GAEblb,EAAa,GAEjB,MACEL,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejQ,aACnB+O,eAAgB3Z,EAAoB4K,eAGxCgR,KAAM7B,GAAYra,OAGxB,KAoIwDf,SAAA,CAEnDk8B,GACDj8B,EAAAA,EAAAA,KAAC2sB,GAAa,CACZvsB,QAAQ,YACR+V,MAAM,UACN6G,KAAK,SACLkF,SAAUgP,KACNlS,EAAe,6BAA4Bjf,UAE/CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezU,2BACnBuT,eAAgB3Z,EAAoBoG,mCAI7B,EC3Qb80B,IAAaz9B,EAAAA,EAAAA,GAAO,MAAPA,CAAc,CAC/BE,QAAS,OACTC,cAAe,SACfC,WAAY,SACZyW,eAAgB,SAChBC,SAAU,WACVC,IAAK,MACLC,KAAM,MACNC,UAAW,wBACXC,UAAW,WAGAwmB,IAAsBtmB,EAAAA,EAAAA,OAAK,KACtCjW,EAAAA,EAAAA,KAACs8B,GAAU,CAAAv8B,UACTC,EAAAA,EAAAA,KAACkW,EAAAA,EAAgB,CACfC,MAAM,UACN7V,GAAI,CACF,6BAA8B,CAC5B6V,MAAO,kBCKXgZ,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,WACV5W,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACfmB,MAAO,OACP4gB,SAAU,QACVD,OAAQ,SACRqI,UAAWrqB,EAAMM,QAAQ,OAGrBo9B,IAAgB39B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,WACV5W,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,aAGXy9B,IAAmB59B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACpDC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACf+W,UAAW,SACXoT,UAAWrqB,EAAMM,QAAQ,OAGrBq8B,IAAiB58B,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACvDuuB,aAAcvuB,EAAMM,QAAQ,OAGxBs9B,IAAmB79B,EAAAA,EAAAA,GAAO89B,GAAAA,EAAP99B,EAAoB,EAAGC,YAAY,CAC1DupB,SAAU,OACVlS,MAAOrX,EAAM6e,QAAQif,KAAKC,SAGtBC,IAA0Bj+B,EAAAA,EAAAA,GAAOwqB,GAAAA,EAAPxqB,EAA0B,EAAGC,YAAY,CACvEupB,SAAU,OACVlS,MAAOrX,EAAM6e,QAAQ8L,QAAQ7L,SAOlBmf,GAAgD57B,IAC3D,MAAM,oBAAE67B,GAAwB77B,GAEzB87B,EAAgBC,IAAqB1nB,EAAAA,EAAAA,WAAS,IAC9C2nB,EAAkBC,IAAuB5nB,EAAAA,EAAAA,WAAS,IAClD6nB,EAAYC,IAAiB9nB,EAAAA,EAAAA,WAAS,IACtC0b,EAAcqM,IAAmB/nB,EAAAA,EAAAA,WAAS,IAE1CgoB,EAAgBC,IAAqBjoB,EAAAA,EAAAA,WAAS,IAE7CoB,KAAMilB,GAAoB1F,MAC1Bvf,KAAMklB,GAAgBtF,GAAe2G,GAEvC1gB,GAAMF,EAAAA,GAAAA,MAEN,eAAE1J,GAAmBQ,KAGzB6G,SAAS,UAAEO,IACTI,MACE,aAAED,EAAY,aAAEF,GAAiBD,GAGrCP,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,GAE9Bb,6BAA6B,yBAAEN,IAC7BK,MACE,gBAAEJ,GAAoBD,EAEtB8iB,EAAsBF,GAAiBG,OAAO9d,YAC9CgU,EAAmB4J,GAAa5J,kBAAoB,GACpDD,EAAe6J,GAAa7J,cAAgB,GAE5CyL,EAA8BxL,GAAoBD,EAElD4H,EAAmBjf,GAAcwE,MAAMkS,GAAwB,qBAAjBA,EAAGlU,aAEvD3H,EAAAA,EAAAA,YAAU,KACRoiB,GAAyB,2BAAuBze,EAAWvG,GAC3DqG,EAAgB,sBAAsB,GAErC,IAEH,MAwFM+iB,EAAUF,GACdj8B,EAAAA,EAAAA,MAAC28B,GAAgB,CAAA18B,SAAA,EACfC,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,KACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5Z,yBACnB0Y,eAAgB3Z,EAAoBiB,8BAGxCrC,EAAAA,EAAAA,KAACy7B,GAAc,CACbr7B,QAAQ,YACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezZ,uBACnBuY,eAAgB3Z,EAAoBoB,uBACpCwY,OAAQ,CAAEiX,wBAKhBnyB,EAAAA,EAAAA,MAAC28B,GAAgB,CAAA18B,SAAA,EACfC,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,KACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1W,yBACnBwV,eAAgB3Z,EAAoBmE,8BAGxCvF,EAAAA,EAAAA,KAACy7B,GAAc,CACbr7B,QAAQ,YACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevW,uBACnBqV,eAAgB3Z,EAAoBsE,uBACpCsV,OAAQ,CAAEkX,2BAMlB,OAAK4J,GAKHh8B,EAAAA,EAAAA,MAACqvB,GAAa,CAAApvB,SAAA,CACXk9B,GAAiBj9B,EAAAA,EAAAA,KAACu8B,GAAmB,IAAM,KAC3Cc,GAAar9B,EAAAA,EAAAA,KAAC88B,GAAuB,KAAM98B,EAAAA,EAAAA,KAAC08B,GAAgB,IAC3DgB,GAAgCP,GAGhCr9B,EAAAA,EAAAA,MAAC08B,GAAa,CAAAz8B,SAAA,CACXk8B,GACDj8B,EAAAA,EAAAA,KAAC25B,GAAM,CACLE,iBAAkBA,EAClBD,yBArJuB5iB,UAC/BumB,GAAgB,GAChB,IACE,MAAMI,QAA8BC,EAAAA,GAAAA,KAAqDnhB,EAAK5J,EAAgB,CAC5GgrB,iBAAkB7O,IAEL,IAAI3T,GAAqBsiB,EAAsB9hB,QAEnDN,cACT2hB,GAAkB,GAElBY,YAAW,KACTZ,GAAkB,GAClBI,GAAc,GACdQ,YAAW,KACTd,IACAtiB,EAAa,GAAG,GACf,IAAI,GACN,KAEP,CAAE,MAAO5Z,GACP,MAAM20B,EAAgB30B,EACtB,GAAI20B,EAAche,UAAUoE,SAAWT,GAAAA,EAAgBsa,oBAAqB,CAC1E,MAAM,OAAEC,GAAWF,EAAche,SAASb,KACpCgf,EAAeD,GAAQnW,KAAK8R,IAAE,CAClClU,UAAWkU,EAAGuE,aACd1Y,UAAWmU,EAAGwE,SAEZF,GAAcpd,QAAUod,EAAapd,OAAS,EAChDkC,EAAakb,GAEblb,EAAa,GAEjB,MACEL,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehQ,aACnB8O,eAAgB3Z,EAAoB6K,eAGxC+Q,KAAM7B,GAAYra,OAGxB,CACAy8B,GAAgB,EAAM,EAwGd5E,iBArGe3hB,UAOvB,GANA4Q,EAAM2R,iBAENkE,GAAkB,GAClBK,YAAW,KACTL,GAAkB,EAAM,GACvB,KACC3B,EACF,IACE,MAAMiC,QAA2B1B,EAAAA,GAAAA,KAAyC5f,EAAK5J,EAAgBipB,GAChF,IAAIzgB,GAAqB0iB,EAAmBliB,QAEhDN,aACTlB,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerM,cACnBmL,eAAgB3Z,EAAoBwO,gBAGxCoN,UAAM5D,GAGZ,CAAE,MAAOtY,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelQ,aACnBgP,eAAgB3Z,EAAoB2K,eAGxCiR,KAAM7B,GAAYra,OAEtB,CACF,EAkEQowB,aAAcA,EACd0H,iBAAkB4E,QATtBx9B,EAAAA,EAAAA,KAAC27B,GAAuB,CAACC,qBAAsBA,IAAMwB,GAAoB,SARtEp9B,EAAAA,EAAAA,KAACR,EAAa,GAqBL,ECrQdw+B,IAAqBn/B,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAC3DuuB,aAAcvuB,EAAMM,QAAQ,GAC5B+pB,UAAWrqB,EAAMM,QAAQ,GACzBwuB,WAAY,WAGRqQ,IAAiBp/B,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAClDC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACfkB,OAAQ,OACRipB,UAAWrqB,EAAMM,QAAQ,OAGrB8+B,IAAsBr/B,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CACxD+tB,SAAU,QACV1D,UAAWrqB,EAAMM,QAAQ,OAGrB++B,IAAmBt/B,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CACrD+tB,SAAU,QACV1D,UAAWrqB,EAAMM,QAAQ,GACzBg/B,gBAAiB,UACjBjoB,MAAOrX,EAAM6e,QAAQ8L,QAAQG,SAGzBkT,IAA0Bj+B,EAAAA,EAAAA,GAAOwqB,GAAAA,EAAPxqB,EAA0B,EAAGC,YAAY,CACvEupB,SAAU,OACVlS,MAAOrX,EAAM6e,QAAQ8L,QAAQ7L,SAGlBygB,GAAkBA,KAC7B,MAAM,qBAAE1rB,EAAoB,eAAEE,EAAc,OAAEJ,GAAWY,KAClDirB,EAAoBC,IAAyB/oB,EAAAA,EAAAA,WAAS,IACvD,eAAEwJ,IAAmBE,EAAAA,GAAAA,MACrB,wBAAEsf,GC5C8BC,MACtC,MAAMC,EAAQ,mBAAmBvW,KAAK5Q,UAAUonB,aAAenH,OAAOoH,SAChEC,EAAY,aAAa1W,KAAK5Q,UAAUonB,WAE9C,MAAO,CACLH,wBAAyBE,GAASG,EACnC,EDsCmCJ,IAElCllB,6BACEN,0BAA0B,aAAEE,KAE5BG,MACI1C,KAAMkoB,IAAgBC,EAAAA,GAAAA,KAAwCtsB,EAAQ,CAC5EusB,eAAe,EACfC,kBAAmB,QAgCrB,OAfAxpB,EAAAA,EAAAA,YAAU,KACRoiB,GAAyB,aAAc1e,EAActG,EAAe,GAEnE,KAEH4C,EAAAA,EAAAA,YAAU,KAER,MAAMypB,EAAuBA,KAC3BX,GAAsB,EAAM,EAI9B,OAFA/G,OAAO2H,iBAAiB,mBAAoBD,GAErC,IAAM1H,OAAO4H,oBAAoB,mBAAoBF,EAAqB,GAChF,KAGDp/B,EAAAA,EAAAA,MAACm+B,GAAc,CAAAl+B,SAAA,EACbC,EAAAA,EAAAA,KAAC88B,GAAuB,KACxB98B,EAAAA,EAAAA,KAACg+B,GAAkB,CACjB59B,QAAQ,KACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenR,eACnBiQ,eAAgB3Z,EAAoB0J,oBAGxC9K,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,YACR+V,MAAM,cACNJ,UAAU,SAAQhW,UAElBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelR,aACnBgQ,eAAgB3Z,EAAoB2J,kBAGxC/K,EAAAA,EAAAA,KAACk+B,GAAmB,CAClB99B,QAAQ,YACR+V,MAAM,UACN+L,SAAUoc,EACVtV,QAASA,KAtDTrW,IACF4rB,GAAsB,GACtB/G,OAAOC,SAAS7T,KAAOjR,EAoDsB,KACvCqM,EAAe,4BAA2Bjf,UAE9CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepR,eACnBkQ,eAAgB3Z,EAAoByJ,mBAGvC2zB,GACCx+B,EAAAA,EAAAA,KAACm+B,GAAgB,CACf/9B,QAAQ,YACR+V,MAAM,UACN+L,SAAUoc,EACVtV,QAASA,KA5DX8V,GAAaO,OACfd,GAAsB,GACtB/G,OAAOC,SAAS7T,KAAOkb,EAAYO,KA0DM,KACjCrgB,EAAe,4BAA2Bjf,UAE9CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerR,YACnBmQ,eAAgB3Z,EAAoBwJ,gBAGtC,OACW,E,wCEnIrB,MAAMukB,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjDC,QAAS,OACT2W,eAAgB,SAChB4pB,SAAU,OACVnW,UAAWrqB,EAAMM,QAAQ,GACzBiuB,aAAcvuB,EAAMM,QAAQ,OAGxBmgC,IAAa1gC,EAAAA,EAAAA,GAAO2gC,GAAAA,EAAP3gC,EAAa,EAAGC,YAAY,CAC7CiX,UAAW,aAQA0pB,GAA8Bt+B,IACzC,MAAM,MAAEu+B,EAAK,cAAEC,EAAa,cAAEC,GAAkBz+B,GAE9C+Y,SAAS,YAAET,IACTQ,MACE,WAAEN,EAAU,cAAED,EAAa,gBAAEE,GAAoBH,GACjD,eAAEuF,IAAmBE,EAAAA,GAAAA,KASrB2gB,EAAeH,EAAMlnB,OAAS,EAAsB,IAAfknB,EAAMlnB,OAAe,GAAxB,KAAiC,OAEzE,OACExY,EAAAA,EAAAA,KAACmvB,GAAa,CAAApvB,SACX2/B,EAAMlnB,OAAS,IACdxY,EAAAA,EAAAA,KAAC8/B,GAAAA,EAAU,IACL9gB,EAAe,WACnBrF,WAAYA,EACZgH,MAAO,CAAExgB,MAAO0/B,GAAe9/B,SAE9B2/B,EAAMlgB,KAAI,CAACzB,EAAOsI,KACjB0Z,EAAAA,EAAAA,eAACR,GAAU,IACLvgB,EAAe,gBACnBzI,IAAKwH,EACLiL,QAASA,KAAMgX,OArBDC,EAqBkB5Z,OApBtCuZ,IACFhmB,GAAgB,GAChBF,EAAcumB,KAHQA,KAqByB,IAEvCjgC,EAAAA,EAAAA,KAACkgC,GAAAA,EAAS,IAAKlhB,EAAe,sBAAqBjf,SAChD4/B,GAAgB3/B,EAAAA,EAAAA,KAAA,UAASgf,EAAe,2BAA0Bjf,SAAE,UAAc,aAM/E,EC1Bb,MAAMogC,GAAsBA,KACjC,MAAM,OAAE1tB,EAAM,iBAAEC,GAAqBW,KAC/B,cAAEgJ,GAAkBH,KACpBI,GAAYC,EAAAA,GAAAA,MAGhBrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACrG,EAAQC,EAAkB,qBAC3BsE,UACE,MAAMgB,QAlCZhB,eAAqCyF,EAAgBhK,EAAgBC,GACnE,MAAM0tB,EAAmG,CAAC,EAE1G,IACE,MAAM3oB,QAAiB4oB,EAAAA,GAAAA,KACrB5jB,EACAhK,EACAC,GAGF,OAAO,IAAI2I,GACT5D,EAASoE,OACTpE,EAASb,KAEb,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAAS0kB,EAC9B,CACF,CAiB2BE,CAAsBhkB,EAAW7J,EAAQC,GAC9D,GAAIsF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,yCAAyC,GAE3D,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,EC1CI,MAAMsjB,GAAkBA,KAC7B,MAAM,eAAE1tB,GAAmBQ,KACrB,cAAEgJ,GAAkBH,KACpBO,GAAMF,EAAAA,GAAAA,MAEVrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACjG,EAAgB,iBACjBmE,UACE,MAAMgB,QA1BZhB,eAAiCyF,EAAgBia,GAC/C,MAAM8J,EAA+E,CAAC,EAEtF,IACE,MAAM/oB,QAAiBgpB,EAAAA,GAAAA,KAAuChkB,EAAKia,GAEnE,OAAO,IAAIrb,GAAuE5D,EAASoE,OAAQpE,EAASb,KAC9G,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAAS8kB,EAC9B,CACF,CAgB2BE,CAAkBjkB,EAAK5J,GAE5C,GAAImF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,qCAAqC,GAEvD,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,EACA0jB,mBAAmB,GAEtB,EC3DUC,GAA0BA,KACrCxpB,SAASme,KAAKsL,UAAY,EAC1BzpB,SAASC,gBAAgBwpB,UAAY,CAAC,EC2BjC,MAAMC,GAAoB,IArB1B,MACLC,kBAAAA,CAAmBhjB,GACjB,MAAMijB,EAAqC,CACzCC,IAAKhlB,GAAevO,eACpBwzB,MAAOjlB,GAAetO,iBACtBwzB,MAAOllB,GAAerO,iBACtBwzB,SAAUrjB,GAGNxH,EAAOwH,KAASijB,EAAaA,EAAWjjB,GAASijB,EAAWI,SAElE,OACEphC,EAAAA,EAAAA,KAAC8a,GAAY,CACXC,eAAgBxE,EAEhBC,GAAID,GAAO,IAGjB,GCQI8qB,IAAgBxiC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjDC,QAAS,OACTE,WAAY,SACZkqB,UAAWrqB,EAAMM,QAAQ,OAGdkiC,GAA8DngC,IACzE,MAAM,KACJ2V,EAAI,MACJiH,EAAK,MACLwjB,EAAK,WACLtjB,EAAU,YACVC,EAAW,aACXC,EAAY,QACZzG,EAAO,WACP0G,EAAU,aACVC,EAAY,uBACZC,EAAsB,YACtByD,EAAW,YACXyf,KACGC,GACDtgC,GAEE,eAAE6d,EAAc,UAAEC,IAAcC,EAAAA,GAAAA,MAGpChF,SAAS,UAAEO,IACTI,MACE,aAAED,GAAiBH,EAEnB0E,EAAcvE,GAAcwE,MAAMte,GAAUA,EAAMsc,WAAWiC,gBAAkBvI,EAAKuI,gBAEpFO,EAAe1C,GAA2BiC,GAAahC,WAEvD0C,EAAezB,GAAY0B,kBAAoB,IAAIC,OAAO3B,EAAW0B,wBAAqB1G,EAE1FgN,EAAqBA,CAAC3G,EAAqB4G,KAC/CrmB,EAAAA,EAAAA,KAACsmB,GAAAA,EAAQ,CAEP1R,MAAO6K,EAAK7K,SACRoK,EAAe,uBAAsBjf,SAExC0f,EAAK1B,OAJDsI,GAQHP,EAAmB2b,EAAY3b,kBAAkBtG,KAAKuG,IAAG,CAC7DhI,MAAOyjB,EAAcA,EAAYT,mBAAmBhb,GAAOA,EAC3DnR,MAAOmR,MAEH2b,EAAiB5b,GAAkBtN,OAASsN,EAAmBpO,EAE/D0I,EAAgBtJ,EAAKuJ,SAAS,WAAa,GAAK,EAGhDC,EAA0C,iBAAjBnC,EAA4BA,EAAeiC,EAAgBjC,EA+EpFoC,EAAiBrC,IA5ErBle,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAOzC,EAAcpI,UAAW,QAAShW,UAElDD,EAAAA,EAAAA,MAAC+gB,GAAAA,EAAG,CACFC,OAAO,cACPC,SAAU,IAAIhhB,SAAA,CAEbwhC,GACCvhC,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACR+V,MAAM,cACN7V,GAAI,CAAEstB,WAAY,OAAQP,aAAc,OAAQtX,UAAW,WACvDiJ,EAAe,GAAGlI,wBAA0B/W,SAE/CwhC,IAED,MACJvhC,EAAAA,EAAAA,KAACghB,GAAAA,GAAU,CACTlK,KAAMA,EACNmK,MAAO,CACLC,SAAU9C,GAAY+C,YACtBC,UAAWhD,GAAYgD,UACvBC,UAAWjD,GAAYiD,UACvBC,QAASzB,GAEX0B,aAAclD,EACdtd,OAAQA,EAAGygB,QAAOG,iBAChB7hB,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CACVC,WAAS,EACT/gB,QAAS6gB,EAAW7gB,MACpBogB,SAAU9C,GAAY+C,YAAYphB,SAAA,EAElCC,EAAAA,EAAAA,KAAC8mB,GAAAA,EAAU,CAACtQ,GAAI,GAAGM,UAAa/W,SAAEge,KAClC/d,EAAAA,EAAAA,KAACqhC,GAAa,CAAAthC,UACZD,EAAAA,EAAAA,MAACinB,GAAAA,EAAM,IACDvF,EACJK,WAAS,EACTzhB,QAAQ,WACR2d,MAAOA,EACPkJ,QAAS,GAAGnQ,UACZhW,QAAS6gB,EAAW7gB,MACpBogB,SAAU9C,GAAY+C,YACtBe,UAAWjE,EACXkE,WAAY,CACVC,SAAU9B,EACVN,SAAU1B,IAA0B,EACpC,cAAeW,EAAU,GAAGnI,mBAC5B/W,SAAA,EAEFC,EAAAA,EAAAA,KAACsmB,GAAAA,EAAQ,CACPpE,UAAQ,EACRtN,WAAOwE,EAAUrZ,UAEjBC,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAA3jB,SAAEgiB,MAElB2f,GAAgBliB,IAAI4G,QAGxBzE,EAAW7gB,OACVd,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAC5iB,OAAK,EAAAf,SAAEud,GAAwBqE,EAAW7gB,SACxD,KACHqe,GACCnf,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAC5iB,OAAK,EAAAf,UACnBC,EAAAA,EAAAA,KAAC8a,GAAY,IAAK8E,MAElB,eAUhB,OAEE5f,EAAAA,EAAAA,KAAA8jB,EAAAA,SAAA,CAAA/jB,SAAGwgB,GAAkB,E,gEC7KlB,MCwCMohB,GAA8CxgC,IACzD,MAAM,KAAE2V,EAAI,MAAEiH,EAAK,SAAE6jB,EAAQ,WAAE3jB,EAAU,YAAEC,EAAW,aAAEC,EAAY,WAAEC,EAAU,YAAEyjB,EAAW,WAAEC,GAAe3gC,GAExG,UAAE8d,IAAcC,EAAAA,GAAAA,MAEhB,QAAE6iB,IAAYC,EAAAA,GAAAA,MACd,cAAE3lB,GAAkBH,KACpB+lB,EAAiBF,GAASG,gBAAgBC,UAAUC,kBAAoB,GAExEC,EDjD2BC,KACjC,MAAM9H,EAAQ8H,EAAWjjB,cACzB,IAAIrH,EAAS,GACTuqB,GAAU,EACVC,GAAY,EACZC,GAAW,EACXC,GAAgB,EAEpB,IAAK,MAAMC,KAAQnI,EACJ,MAATmI,GAAiBJ,IACnBvqB,GAAU,KACVuqB,GAAU,EACVG,GAAgB,GAEL,MAATC,GAAiBH,IACnBxqB,GAAU,KACVwqB,GAAY,EACZE,GAAgB,GAEL,MAATC,GAAiBF,IACnBzqB,GAAU,OACVyqB,GAAW,EACXC,GAAgB,GAEJ,MAATC,GAAyB,MAATA,GAAyB,MAATA,GAAyB,MAATA,GAAkBD,IACrE1qB,GAAU2qB,EACVD,GAAgB,GAIpB,OAAO1qB,EAAOiL,MAAM,ECmBD2f,CAAmBX,IAGpC/nB,SAAS,UAAEO,IACTI,MACE,aAAED,GAAiBH,EAEnB0E,EAAcvE,GAAcwE,MAAMte,GAAUA,EAAMsc,WAAWiC,gBAAkBvI,EAAKuI,gBAEpFO,EAAe1C,GAA2BiC,GAAahC,UAAWrG,GAElE+rB,EAAqBxmB,EAAcylB,EAAY,CACnDgB,cAAeT,EAAWU,gBAGtBC,EAAa,IAAItO,KACvBsO,EAAWC,YAAYD,EAAWE,cAAgB,IAElD,MAAMC,EAAU/kB,GAAYglB,SAAW,IAAI1O,KAAKtW,EAAWglB,eAAYhqB,EACjEiqB,EAAUjlB,GAAYklB,SAAW,IAAI5O,KAAKtW,EAAWklB,eAAYlqB,EAEjEmqB,EAAeF,GAAUG,EAAAA,GAAAA,SAAOH,EAASpB,GAAgBze,WAAW,IAAK,IAAM,KAC/EigB,EAAeN,GAAUK,EAAAA,GAAAA,SAAOL,EAASlB,GAAgBze,WAAW,IAAK,IAAM,KAE/EkgB,EAAwBrnB,EAAcJ,GAAe1L,mBAAoB,CAC7EgN,IAAKgmB,IAGDI,EAAwBtnB,EAAcJ,GAAexL,mBAAoB,CAC7E+M,IAAKimB,IAGDG,EAAc/B,EAAc,IAAInN,KAAKmN,GAAemB,EAGpD1iB,EAA0C,iBAAjBnC,EAA4BA,EAAe,EAAIA,EAExE0lB,EAAoBliB,IAAgC,CACxDE,WAAW,EACXzhB,QAAS,WACT8hB,UAAWjE,EACXiD,SAAU9C,GAAY+C,YACtBrgB,QAAS6gB,EAAW7gB,MACpBqhB,WAAY,CACVC,SAAU9B,EACV,cAAerB,EAAU,GAAGnI,gBAC5BsK,UAAW,IAEba,WAAYN,EAAW7gB,MAAQwc,GAAwBqE,EAAW7gB,OAASqe,EAAc,KAAOyiB,IAkE5FrhB,EAAiBrC,IA9DrBle,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GACJC,MAAO,CAAEC,MAAOzC,GAAepe,UAE/BC,EAAAA,EAAAA,KAAC6gB,GAAAA,EAAG,CACFC,OAAO,cACPC,SAAU,IACVhL,UAAU,OAAMhW,UAEhBC,EAAAA,EAAAA,KAACghB,GAAAA,GAAU,CACTlK,KAAMA,EACNmK,MAAO,CACLC,SAAU9C,GAAY+C,YACtB2iB,SAAWC,IACT,OAAIA,IArFGtX,EAqFyBsX,aAnF/BrP,OAASwG,MAAMzO,GAsFZsX,GAAeV,IApFdW,EAACvX,EAAUlP,IAAekP,GAAKlP,GAAOkP,EAAEwX,UAAY1mB,EAAI0mB,UAoF9BD,CAAWD,EAAaV,GAC9CK,IAELK,GAAeZ,IArFde,EAACzX,EAAUjP,IAAeiP,GAAKjP,GAAOiP,EAAEwX,UAAYzmB,EAAIymB,UAqF9BC,CAAWH,EAAaZ,KAC9CQ,EANAd,EAtFFpW,KA+FI,GAGflL,aAAcqiB,EACd7iC,OAAQA,EAAGygB,QAAOG,iBAChB3hB,EAAAA,EAAAA,KAACmkC,GAAAA,EAAoB,CAACC,YAAaC,GAAAA,GAAYtkC,UAC7CD,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CAACC,WAAS,EAAA9hB,SAAA,EACpBC,EAAAA,EAAAA,KAACskC,GAAAA,EAAiB,CAChBC,mBAAiB,EACjBC,MAAM,EACNhB,OAAQnB,EACRtkB,MAAOA,EACPolB,QAASA,EACTE,QAASA,EACTnhB,UAAWjE,KACPuD,EACJijB,UAAW,CACTC,UAAW,IAAKb,EAAiBliB,GAAakB,OAAQrB,EAAMqB,WAG/D1D,GACCnf,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAC5iB,OAAK,EAAAf,UACnBC,EAAAA,EAAAA,KAAC8a,GAAY,IACP8E,EACJ5E,OAAQ,CAAEuC,IAAK8lB,OAGjB,gBAWlB,OAEErjC,EAAAA,EAAAA,KAAA8jB,EAAAA,SAAA,CAAA/jB,SAAGwgB,GAAkB,EC5IZokB,GAA2BA,CACtCC,EACAnlB,EACAolB,KAEA,GAAIA,EAAcC,MAAMF,GAAa,CAEnC,MAAM,OAAEG,EAAM,WAAEC,GAAeH,EAAcC,MAAMF,GACnD,IAAI5sB,EAAS,GAeb,OAbA+sB,EAAOhK,SAAQ,CAACvZ,EAAeyjB,KAC7B,MAAMC,EAAe1jB,EAAMsN,OAAO,GAAGzP,cAAgBmC,EAAM0G,MAAM,GAEjE,GAAqB,YAAjBgd,EACFltB,GAAU,GAAGyH,EAAKzN,UAAUgzB,EAAWC,EAAM,SACxC,CACL,MAAME,EAAW1lB,EAAKylB,GAClBC,GAAyB,KAAbA,IACdntB,GAAU,GAAGmtB,IAAWH,EAAWC,EAAM,KAE7C,KAGK,GAAGD,EAAW,KAAKhtB,IAASgtB,EAAWI,IAAI,IACpD,CAEA,OAAO3lB,EAAKhQ,eAAiB,EAAE,EAKpB41B,GAAwD,CACnEroB,KAAM,aACN8nB,MAAO,CACL,CACEC,OAAQ,CAAC,iBAETC,WAAY,CAAC,GAAI,OCrChB,MAAMM,GAA4BtoB,IACvC,MAAM,cAAEX,GAAkBH,KACpBO,GAAMF,EAAAA,GAAAA,MAEVrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACkE,EAAM,0BACPhG,UACE,MAAMgB,QA3BZhB,eAA0CyF,EAAgB8oB,GACxD,MAAMC,EAA8D,IAC/DH,IAGL,IACE,MAAM5tB,QAAiBguB,EAAAA,GAAAA,KAAiBhpB,EAAK8oB,GAE7C,OAAO,IAAIlqB,GAA6C5D,EAASoE,OAAQpE,EAASb,KACpF,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAAS8pB,EAC9B,CACF,CAe2BE,CAA2BjpB,EAAKO,GACrD,GAAIhF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,+CAA+C,GAEjE,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,E,wCC5BH,MA+Ba0oB,GACXxkC,IAEA,MAAM,cAAEykC,EAAa,WAAE3nB,EAAU,YAAED,EAAW,eAAE6nB,GAAmB1kC,GAC7D,cAAEkb,GAAkBH,KACpBO,GAAMF,EAAAA,GAAAA,KACN2Y,GAAOnW,EAAAA,GAAAA,OAGP,UAAEE,IAAcC,EAAAA,GAAAA,MAGpBhF,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAC1BY,EAASka,EAAK/P,QACd2gB,EAAYvU,OAAOC,KAAK0D,EAAKpE,UAAUrV,OAAOsqB,SAAW,CAAC,GAE1DC,EAAWH,GAAgBI,MAAMC,GAAOJ,EAAUzlB,SAAS6lB,MAE1DtxB,EAAOkK,IAAYtJ,EAAAA,EAAAA,UAAS,KAC5B2wB,EAAaC,IAAkB5wB,EAAAA,EAAAA,UAAuC,KACtE6wB,EAAcC,IAAW9wB,EAAAA,EAAAA,WAAS,IAClC+wB,EAAeC,IAAkBhxB,EAAAA,EAAAA,WAAS,IAC1CixB,EAAkBC,IAAuBlxB,EAAAA,EAAAA,UAAS,IAEnDmxB,EAAe3rB,EAAO+qB,SAASz5B,QAErC,IAAIs6B,EAAkB,EAGlBzlC,EAAMylC,kBACRA,EAAkBzlC,EAAMylC,iBAG1B,MAAMC,EAA0Bjf,IAC9B9I,EAAS8I,EAAMrE,OAAO3O,MAAM,EAqExBkyB,EAA6B9vB,MACjC+vB,EACAC,KAEA,GAAID,EAAWvuB,QAAUouB,EAAiB,CACxC,MAAMK,OAvEKjwB,WAGb,MAAM,WAAE+vB,EAAU,IAAEnxB,EAAG,QAAEtJ,EAAO,QAAE06B,GAAsCtvB,EAClEwvB,EAAuE,CAC3EC,6BAA8B,IAGhC,IAAKJ,EACH,OAAO1rB,GAAYK,SAASwrB,GAE9B,MAAME,EAAyC,CAC7CC,WAAYN,EACZO,IAAK1xB,EACL2xB,QAASj7B,EACTk7B,QAASR,GAGX,IACE,MAAMS,QAAcC,EAAAA,GAAAA,KAAsBjrB,EAAK2qB,GAE/C,OAAO,IAAI/rB,GAAwDosB,EAAM5rB,OAAQ4rB,EAAM7wB,KACzF,CAAE,MAAO9V,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenQ,cACnBiP,eAAgB3Z,EAAoB0K,gBAGxCkR,KAAM7B,GAAYra,OAEtB,CAEA,OAAOua,GAAYK,SAASwrB,EAAyB,EAoClBtP,CAAO,CACtCmP,aACAnxB,IAAKgwB,GAAe+B,YAnFA,GAoFpBr7B,QAASq6B,EACTK,aAEI,SAAEvvB,GAAawvB,EAErB,GAAIxvB,GAAU0vB,6BAA8B,CAS1C,OARyD1vB,EAAS0vB,6BAA6B3nB,KAAKooB,IAAI,CACtGC,eAAgBD,EAAKC,eACrBC,YAAaF,EAAKE,YAClBC,MAAOH,EAAKG,MACZf,QAASY,EAAKZ,QACdgB,cAAeJ,EAAKI,iBAIxB,CAEA,OAAO,IACT,CAEA,MAAO,EAAE,EAGLC,EAAgBjxB,UACpB,GAAc,KAAVpC,IAAiByxB,EAAc,CACjC,MAAM6B,QAA2BpB,EAA2BlyB,GAClC,MAAtBszB,IACF9B,EAAe8B,GACf5B,GAAQ,GAEZ,GAGI6B,EAAehmB,IACnB,MAAM,WAAEK,EAAU,IAAEf,KAAQ2mB,GAA4BjmB,EAClDkmB,EAAiB,CACrBzlB,SAAUnB,KACPe,EACHG,aAAc,OAGhB,OACE3iB,EAAAA,EAAAA,KAAC8hB,GAAAA,EAAS,CACRU,WAAY6lB,KACRD,EAEJjmB,WAAY,CACV,cAAelD,EAAU,6BACzBmD,SAAUwjB,GAAeznB,aAAeynB,EAAcznB,aAAe,QAAK/E,KACvEgvB,EAAMjmB,YAEXD,UAAWjE,EACX7d,QAAQ,WACRshB,SAAUmlB,EACV7d,QAASif,GACT,EAIAK,EAA+BC,IACnC,MAAMV,EAAiB,GAAGU,EAAWV,kBAErC,OACE/nC,EAAAA,EAAAA,MAAA,OAAAC,SAAA,EACEC,EAAAA,EAAAA,KAAA,QAAM2gB,MAAO,CAAEiN,WAAY,QAAS7tB,SAAEwoC,EAAWT,eACjD9nC,EAAAA,EAAAA,KAAA,SACC6nC,EACqB,IAArBU,EAAWR,QACV/nC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejR,cACnB+P,eAAgB3Z,EAAoB4J,cACpCgQ,OAAQ,CAAE+sB,MAAOQ,EAAWR,WAG5B,EAsBJS,EAAqB9wB,IACzB,MAAM,aAAE+wB,GAAwE/wB,EAChF,IAAIgxB,EAAQ,EACV1oC,EAAAA,EAAAA,KAACsmB,GAAAA,EAAQ,CAEPqiB,UAAU,MAAK5oC,UAEfC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/N,cACnB6M,eAAgB3Z,EAAoB8M,iBALjC,IAsBT,OAZIi4B,EAAY3tB,OAAS,IACvBkwB,EAAQvC,EAAY3mB,KAAI,CAAC+oB,EAAYliB,IAjCfuiB,KACxB,MAAM,WAAEL,EAAU,UAAEM,GAAgCD,EAEpD,OACE5oC,EAAAA,EAAAA,KAACsmB,GAAAA,EAAQ,IACHuiB,EACJF,UAAU,MACVhoB,MAAO,CACLiN,WAAY,SACZkb,WAAY,QACZC,UAAW,cACXhpC,SAEDuoC,EAA4BC,IACpB,EA0BFS,CANiB,CACtB3iB,QACAkiB,aACAM,UAAWJ,EAAa,CAAEhpB,KAAM8oB,UAQpCvoC,EAAAA,EAAAA,KAACipC,GAAAA,EAAK,CACJtoB,MAAO,CACLhL,SAAU,WACVuzB,OAAQ,GACRtzB,IAAK,oBACLuzB,MAAO,EACPtzB,KAAM,EACN2S,QAAS,QACT4gB,SAAU,SACVC,WAAY,QACZC,UAAW,QACXC,UAAW,OACXxzB,UAAW,WAEbyzB,UAzRU,EAyRWzpC,SAEpB2oC,GACK,EAwBNe,EAA0BzyB,UAC9B,MAAM0yB,EAAc9hB,EAAMrE,OACA,KAAtBmmB,EAAY90B,QACdwxB,EAAe,IACftnB,EAAS,IACTwnB,GAAQ,IAGV,MAAMS,EAAa2C,EAAY90B,MAAM+0B,YACrC7qB,EAASioB,GACTL,EAAoBK,GACpB,MAAMmB,QAA2BpB,EAA2BC,GAClC,MAAtBmB,GAA8BnB,IAAeN,IAC/CL,EAAe8B,GACf5B,GAAQ,GACV,EA4FF,OACEtmC,EAAAA,EAAAA,KAAC4pC,GAAAA,GAAS,CACRC,wBAAyB,KACzBC,aAAc,KACd/sB,OAAQspB,EACR0D,SAjDsC/yB,UACxC,IAAIuvB,EAGJ,IAEE,GADAC,GAAe,GACX/mB,GAAwB,MAAhBA,EAAKunB,SACf,GAAIvnB,EAAKuoB,cAAe,CACtB,MAAMjC,OA/QK/uB,OACjBgzB,EACA19B,KAMA,IACE,MAAM29B,QAAoBC,EAAAA,GAAAA,KAAuBztB,EAAKutB,EAAQ,CAAE19B,YAEhE,OAAO,IAAI+O,GAAyD4uB,EAAYpuB,OAAQouB,EAAYrzB,KACtG,CAAE,MAAO9V,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenQ,cACnBiP,eAAgB3Z,EAAoB0K,gBAGxCkR,KAAM7B,GAAYra,OAEtB,CAEA,OAAOua,GAAYK,SArBuD,CACxEsB,KAAM,QAoByC,EAsPrBmtB,CAAW1qB,EAAKuoB,cAAerB,GAKrD,GAHA7nB,EAAS,IACTsnB,EAAe,IACfE,GAAQ,GACJP,EAAQtuB,SAAU,CACG8Z,OAAO6Y,QAjGdxC,KACxB,MAAM5vB,EAA4BgD,EAAO+qB,QAgBzC,OAdAxU,OAAOC,KAAKoW,GACTvW,QAAQgZ,GAAYzC,EAAKyC,KACzBtP,SAASsP,IACR,MAAMC,EAAiBD,EACjBE,EAAe3C,EAAK0C,GACH,WAAnBA,EACFtyB,EAAOvI,cAAgB86B,EACK,YAAnBD,EACTtyB,EAAOhG,QAAUu4B,EACW,SAAnBD,GAAgD,oBAAnBA,IACtCtyB,EAAOsyB,GAAkBC,EAC3B,IAGGvyB,CAAM,EAgFiCwyB,CAAiBzE,EAAQtuB,WAGhDsjB,SAAS0P,IACtB,MAAO3zB,EAAM4zB,GAAcD,EAE3BvV,EAAKpW,SAAS,WAAWhI,IAAQ4zB,EAAY,CAC3CvnB,aAAa,EACbC,aAAa,EACbF,eAAgB2iB,GAAgBxlB,SAASvJ,IACzC,GAEN,CACF,MACK,CACL,MAAMoxB,QAA2BpB,EAA2BlyB,EAAO6K,GAAMunB,SAC/C,MAAtBkB,IACF9B,EAAe8B,GACf5B,GAAQ,GAEZ,CACF,CAAE,QACAE,GAAe,EACjB,GAaEmE,aAV8BC,KAChCtE,GAAQ,EAAM,EAS4BvmC,SAEtC2X,GAjG0BA,KAC9B,MAAM,cAAEmzB,EAAa,OAAE9tB,GAAkErF,GAEnF,OAAEmL,EAAM,QAAE4I,KAAYtJ,GAAqC0oB,EAAc,CAC7Elf,QAAS8d,EACT1nB,YAAa1F,EAAcJ,GAAehN,sBAEtC67B,EAAqC,CACzCtoB,WAAY,CACVK,SACA4I,UACAsf,gBACE/qC,EAAAA,EAAAA,KAAC+oB,GAAAA,EAAc,CAACpT,SAAS,QAAO5V,UAC9BC,EAAAA,EAAAA,KAACgrC,GAAAA,EAAM,OAIbnpB,WAAW,EACXM,WAAY,IAAKA,EAAYQ,aAAc,MAAO/N,SAClD9T,MAAOklC,EACP9kB,UAAU,EACVnD,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehR,cACnB8P,eAAgB3Z,EAAoB6J,gBAGxCgX,WAAY+jB,GACVhmC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9Q,wBACnB4P,eAAgB3Z,EAAoB+J,2BAGtCnL,EAAAA,EAAAA,KAAA,OAAAD,SAAMie,KAIV,OACEle,EAAAA,EAAAA,MAAA,OAAK6gB,MAAO,CAAEhL,SAAU,YAAa5V,SAAA,CAClCooC,EAAY2C,GACZ/tB,EAASyrB,EAAkB9wB,GAAW,OACnC,EAwDQuzB,CAAuBvzB,IAC3B,ECxbVwzB,IAAiBrsC,EAAAA,EAAAA,GAAO2hB,GAAAA,GAAP3hB,EAAa,EAAGC,YAAY,CACjDC,QAAS,OACTC,cAAe,SACf4hB,MAAO,OAGH4a,IAAc38B,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACpD8uB,WAAY,OACZP,aAAcvuB,EAAMM,QAAQ,OAGxB+rC,IAAwBtsC,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAC9DC,QAAS,OACToB,MAAO,OACPktB,aAAcvuB,EAAMM,QAAQ,GAC5B+pB,UAAWrqB,EAAMM,QAAQ,OAGrBgsC,IAA0BvsC,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAChEusC,SAAU,iBASCC,GAAiDnqC,IAC5D,MAAM,cAAEoqC,EAAa,aAAEC,EAAY,oBAAEC,GAAwBtqC,GAErDyV,KAAM80B,GAAwBpG,GAAyB,eAEzD,cAAEjpB,GAAkBH,KAEpByvB,EAAYJ,GAAeK,YAAYC,QAAQlvB,UAC/CmvB,EAAYP,GAAeK,YAAYG,QAAQpvB,UAC/CqvB,EAAYT,GAAeK,YAAYj/B,QAAQgQ,UAG/CsvB,EAAUjqB,QAAQ2pB,GAAaG,GAAaE,GAE5CE,EAAkBV,GAAczF,SAAS/zB,QAC3C2yB,GAAyB,EAAG6G,EAAazF,QAAS2F,GAAuBrG,IACzE,KAEE8G,EHhDNC,KAEA,MAAMC,EAAyB,GAU/B,OARID,GACF7a,OAAO6Y,QAAQgC,GAAcrR,SAASvZ,IAChCA,EAAM,GAAGtD,aAAesD,EAAM,GAAGpD,YAAYE,wBAC/C+tB,EAAajhB,KAAK5J,EAAM,GAC1B,IAIG6qB,CAAY,EGoCeC,CAA4Bf,GAExDgB,EAAoBL,GACxBpsC,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,EACEC,EAAAA,EAAAA,KAACmrC,GAAqB,CAAC/qC,QAAQ,UAASL,UACtCC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehY,0BACnB8W,eAAgB3Z,EAAoB6C,+BAGxCjE,EAAAA,EAAAA,KAACorC,GAAuB,CAAChrC,QAAQ,QAAOL,SAAEmsC,OAE1C,KA4BEM,EAzBAjB,GAAe3F,eAAejpB,WAE9B7c,EAAAA,EAAAA,MAAC+gB,GAAAA,EAAG,CACFwM,aAAc6e,EAAkB,EAAI,EACpCvrB,MAAO,CAAEC,MAAO2qB,EAAc3F,cAAcznB,cAAepe,SAAA,EAE3DC,EAAAA,EAAAA,KAAC2lC,GAAmB,IACd4F,EACJ1F,eAAgBsG,EAChBnuB,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/Q,qBACnB6P,eAAgB3Z,EAAoB8J,uBAGxC+S,WAAYguB,IAEbM,KAKA,KAKT,OACEzsC,EAAAA,EAAAA,MAACorC,GAAc,CACbzrB,MAAI,EACJgB,GAAI,GAAG1gB,SAAA,CAENwrC,GAAe3F,eAAejpB,WAC7B3c,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,YACR2V,UAAU,OAAMhW,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerZ,kBACnBmY,eAAgB3Z,EAAoBwB,sBAGtC,MACJ5C,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJE,MAAO,CAAEC,MAAO2qB,GAAe3F,eAAeznB,cAAepe,SAE5DysC,KAEHxsC,EAAAA,EAAAA,KAACshC,GAAuB,CACtBxqB,KAAK,kBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenZ,kBACnBiY,eAAgB3Z,EAAoB0B,oBAGxCif,aACE/hB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelZ,8BACnBgY,eAAgB3Z,EAAoB2B,gCAGxCib,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejZ,0BACnB+X,eAAgB3Z,EAAoB4B,+BAGpCuoC,GAAej/B,WAErBtM,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAev5B,QACnBiM,cAAeguB,IAAWV,GAAev5B,SAASiM,YAClDnH,KAAK,kBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejK,QACnB+I,eAAgB3Z,EAAoB4Q,UAGxCyM,kBAAmBpC,EAAcJ,GAAehK,qBAChDqM,uBAAwBitB,GAAev5B,SAASoM,YAAYE,0BAE9Dte,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAe97B,cACnBqH,KAAK,wBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexM,cACnBsL,eAAgB3Z,EAAoBqO,gBAGxCgP,kBAAmBpC,EAAcJ,GAAetM,2BAChDqO,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevM,qBACnBqL,eAAgB3Z,EAAoBsO,uBAGxC4O,uBAAwBitB,GAAe97B,eAAe2O,YAAYE,uBAClEL,cAAeguB,IAAWV,GAAe97B,eAAewO,YACxDU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAer/B,KACnB4K,KAAK,eACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/P,KACnB6O,eAAgB3Z,EAAoB8K,OAGxCuS,kBAAmBpC,EAAcJ,GAAe9P,kBAChDmS,uBAAwBitB,GAAer/B,MAAMkS,YAAYE,uBACzDL,cAAeguB,IAAWV,GAAer/B,MAAM+R,YAC/CU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAe58B,SACnBmI,KAAK,mBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetN,SACnBoM,eAAgB3Z,EAAoBuN,WAGxC8P,kBAAmBpC,EAAcJ,GAAerN,sBAChD0P,uBAAwBitB,GAAe58B,UAAUyP,YAAYE,uBAC7DL,cAAeguB,IAAWV,GAAe58B,UAAUsP,YACnDU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAe3+B,SACnBkK,KAAK,mBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerP,SACnBmO,eAAgB3Z,EAAoBwL,WAGxCoR,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7O,iBACnB2N,eAAgB3Z,EAAoBgM,mBAGxCqR,kBAAmBpC,EAAcJ,GAAe9O,sBAChD8Q,cAAeguB,IAAWV,GAAe3+B,UAAUqR,YACnDU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAe1+B,UACnBiK,KAAK,oBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepP,UACnBkO,eAAgB3Z,EAAoByL,YAGxCmR,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelP,kBACnBgO,eAAgB3Z,EAAoB2L,oBAGxC0R,kBAAmBpC,EAAcJ,GAAenP,uBAChDmR,cAAeguB,IAAWV,GAAe1+B,WAAWoR,YACpDU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAev+B,UACnB8J,KAAK,oBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejP,UACnB+N,eAAgB3Z,EAAoB4L,YAGxCgR,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/O,kBACnB6N,eAAgB3Z,EAAoB8L,oBAGxCuR,kBAAmBpC,EAAcJ,GAAehP,uBAChDgR,cAAeguB,IAAWV,GAAev+B,WAAWiR,YACpDU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAengC,KACnB0L,KAAK,eACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7Q,KACnB2P,eAAgB3Z,EAAoBgK,OAGxC4S,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3Q,aACnByP,eAAgB3Z,EAAoBkK,eAGxCmT,kBAAmBpC,EAAcJ,GAAe5Q,kBAChDiT,uBAAwBitB,GAAengC,MAAMgT,YAAYE,uBACzDL,cAAeguB,IAAWV,GAAengC,MAAM6S,YAC/CU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAex9B,SACnB+I,KAAK,mBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelO,SACnBgN,eAAgB3Z,EAAoB2M,WAGxC0Q,kBAAmBpC,EAAcJ,GAAejO,sBAChDsQ,uBAAwBitB,GAAex9B,UAAUqQ,YAAYE,uBAC7DL,cAAeguB,IAAWV,GAAex9B,UAAUkQ,YACnDU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAel+B,SACnByJ,KAAK,mBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5O,SACnB0N,eAAgB3Z,EAAoBiM,WAGxCoR,kBAAmBpC,EAAcJ,GAAe3O,sBAChDgR,uBAAwBitB,GAAel+B,UAAU+Q,YAAYE,uBAC7DL,cAAeguB,IAAWV,GAAel+B,UAAU4Q,YACnDU,aAAc8sB,KAGhBzrC,EAAAA,EAAAA,KAAC8d,GAAqB,IAChBytB,GAAez8B,OACnBgI,KAAK,iBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenN,OACnBiM,eAAgB3Z,EAAoB0N,SAGxC2P,kBAAmBpC,EAAcJ,GAAelN,oBAChDuP,uBAAwBitB,GAAez8B,QAAQsP,YAAYE,uBAC3DL,cAAeguB,IAAWV,GAAez8B,QAAQmP,YACjDU,aAAc8sB,MAED,EC3Tf/e,IAAa7tB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CAC/CC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZkB,MAAO,OACPgpB,UAAWrqB,EAAMM,QAAQ,OAGrButB,IAAgB9tB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CAClD+tB,SAAU,QACV1D,UAAWrqB,EAAMM,QAAQ,GACzBwhB,MAAO,OAUI6rB,GAAsDtrC,IACjE,MAAM,YAAEurC,EAAW,OAAE/0B,EAAM,gBAAE2Y,EAAe,aAAEC,GAAiBpvB,GAEzD,cAAEkb,GAAkBH,MAEpB,mBAAElJ,GAAuBK,KAEzB,eAAE2L,IAAmBE,EAAAA,GAAAA,KAErBytB,EAAwBtwB,EAAcJ,GAAepY,uBAErD6sB,GAAUC,EAAAA,GAAAA,IAAmE,CACjFic,cAAeF,EACf9b,eAAgB,WAChBC,KAAM,YAGF,UAAEC,EAAS,MAAE3L,GAAUuL,GACvB,aAAEQ,GAAiBJ,EAEnBK,EAAahM,KAGjBjL,SAAS,UAAEO,IACTI,MACE,aAAED,GAAiBH,EAEnB2W,EAAoBxW,GAAcyW,QACrCC,IACEC,OAAOC,KAAKL,GACV3R,KAAKiS,GAAQA,EAAIpS,gBACjBgB,SAASiR,EAAGlU,WAAWiC,eAAiB,MAG/C,OACEvf,EAAAA,EAAAA,MAACyyB,GAAAA,GAAY,IAAK7B,EAAO3wB,SAAA,EACvBC,EAAAA,EAAAA,KAACgsB,GAAqB,CACpBC,sBAAuBmF,EACvBpe,mBAAoBA,KAEtBhT,EAAAA,EAAAA,KAAC0sB,GAAU,CACT8F,YAAU,EACVC,SAAU/B,EAAQsB,aAAazB,GAAcxwB,UAE7CD,EAAAA,EAAAA,MAAC0gB,GAAAA,GAAI,CACHkS,WAAS,EACThd,eAAe,SACfkL,MAAO,EAAE7gB,SAAA,EAETC,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBhH,KAAK,YACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5Y,oBACnB0X,eAAgB3Z,EAAoBiC,yBAGpCsU,GAAQkX,UACZlQ,aAAchH,GAAQgH,cAAchC,aAEtC3c,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBY,wBAAsB,EACtB5H,KAAK,eACLiH,MACEpG,GAAQsa,cAAc7T,YAAY+C,aAChCnhB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9Y,gBACnB4X,eAAgB3Z,EAAoB+B,mBAGtCnD,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7Y,yBACnB2X,eAAgB3Z,EAAoBgC,2BAI1Cqb,kBAAmBpC,EAAcJ,GAAenY,4BAChDya,aAAa,WACT5G,GAAQsa,gBAEdjyB,EAAAA,EAAAA,KAAC8kB,GAAkB,CACjBhO,KAAK,mBACLiH,MACEpG,GAAQua,kBAAkB9T,YAAY+C,aACpCnhB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevY,gBACnBqX,eAAgB3Z,EAAoBsC,mBAGtC1D,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerY,yBACnBmX,eAAgB3Z,EAAoBwC,2BAI1CqhB,iBACEjlB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetY,0BACnBoX,eAAgB3Z,EAAoBuC,4BAGxCqa,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9X,uBACnB4W,eAAgB3Z,EAAoB+C,yBAGxC4gB,mBACE/kB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7X,iCACnB2W,eAAgB3Z,EAAoBgD,mCAGxCqa,kBAAmBpC,EAAcJ,GAAelY,4BAChDihB,4BAA6B3I,EAAcJ,GAAejY,sCAC1Dqa,aAAc8S,EAAWe,oBACrBva,GAAQua,mBAEbva,GAAQouB,SAAS6F,YAAYiB,MAAMlwB,WAClC3c,EAAAA,EAAAA,KAACsrC,GAAc,CACbC,cAAe5zB,EAAOouB,QACtByF,aAAcra,EACdsa,oBAAqB9zB,EAAOgH,cAAchC,aAG5C3c,EAAAA,EAAAA,KAACshC,GAAuB,CAEtBxqB,KAAK,kBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenZ,kBACnBiY,eAAgB3Z,EAAoB0B,oBAGxCif,aACE/hB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelZ,8BACnBgY,eAAgB3Z,EAAoB2B,gCAGxCib,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejZ,0BACnB+X,eAAgB3Z,EAAoB4B,+BAGpC2U,GAAQouB,SAASz5B,SApBhB6kB,EAAW4U,SAASz5B,UAwB7BtM,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBhH,KAAK,WACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexY,mBACnBsX,eAAgB3Z,EAAoBqC,wBAGpCkU,GAAQiX,SACZjQ,aAAchH,GAAQgH,cAAchC,aAEtC3c,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBhH,KAAK,WACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5X,mBACnB0W,eAAgB3Z,EAAoBiD,qBAGxC2Z,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3X,2BACnByW,eAAgB3Z,EAAoBkD,gCAGpCqT,GAAQm1B,YAEd9sC,EAAAA,EAAAA,KAACshC,GAAuB,CACtBxqB,KAAK,SACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3Y,iBACnByX,eAAgB3Z,EAAoBkC,mBAGxCk+B,YAAaV,GACb/e,aACE/hB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1Y,6BACnBwX,eAAgB3Z,EAAoBmC,kCAGpCoU,GAAQo1B,UAEd/sC,EAAAA,EAAAA,KAAC2hC,GAAe,CACd7qB,KAAK,YACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehZ,sBACnB8X,eAAgB3Z,EAAoB6B,wBAGxC2+B,UACE5hC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/Y,0BACnB6X,eAAgB3Z,EAAoB8B,4BAGxC8pC,gBAAiBL,EACjB7K,WAAY7lB,GAAejM,4BACvB2H,GAAQs1B,aAEdjtC,EAAAA,EAAAA,KAAC2sB,GAAa,CACZvsB,QAAQ,YACR+V,MAAM,UACN6G,KAAK,SACLkF,SAAUgP,GAAgBZ,KACtBtR,EAAe,2BAA0Bjf,UAE7CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepZ,iBACnBkY,eAAgB3Z,EAAoByB,4BAK/B,EC/ONqqC,GAAmBA,KAC9B,MACEhzB,SAAS,YAAET,IACTQ,MACE,WAAEN,EAAU,cAAED,GAAkBD,GAGpCS,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,GAEzByZ,EAAeC,IAAoBte,EAAAA,EAAAA,WAAS,IAE7C,eAAE3C,GAAmBQ,KAEnBuD,KAAMu2B,GAAmBhN,MACzBvpB,KAAMw2B,EAAmB,aAAEzZ,GAAiB4M,MAGlDrmB,SAAS,UAAEO,IACTI,MACE,aAAEH,EAAY,aAAEE,GAAiBH,EAEjCgC,GAAMF,EAAAA,GAAAA,MAGVhD,6BAA6B,yBAAEN,IAC7BK,MACE,gBAAEJ,EAAe,aAAEC,GAAiBF,GAE1CxD,EAAAA,EAAAA,YAAU,KACRmrB,IAAyB,GACxB,KAEHnrB,EAAAA,EAAAA,YAAU,KACRoiB,GAAyB,mBAAoB1e,EAActG,GAC3DqG,EAAgB,mBAAmB,GAElC,IA6DH,OAAIya,GACK3zB,EAAAA,EAAAA,KAACR,EAAa,KAIrBM,EAAAA,EAAAA,MAACqvB,GAAa,CAAApvB,SAAA,EACZC,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,KACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezY,iBACnBuX,eAAgB3Z,EAAoBoC,sBAGxCxD,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,YACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/X,eACnB6W,eAAgB3Z,EAAoB8C,oBAGxClE,EAAAA,EAAAA,KAACysC,GAAmB,CAClBC,YAAaU,EACbz1B,OAAQw1B,EACR7c,gBAAiBuD,EACjBtD,aAvFqFvZ,UACzF,MAAMq2B,GAAc,IAAI3Y,MAAO4Y,WACzBC,EAAmB32B,EAAKq2B,UAE9BM,GAAkBC,SAASH,EAAa,EAAG,GAC3C,IAAII,EAAiB,KACjB72B,EAAKmvB,UACP0H,EAAiB,CACf1H,QAAS,IACJnvB,EAAKmvB,QACRz5B,QAASsK,EAAKmvB,QAAQz5B,QACtBohC,YAAa,cAKnB,IACE,MAAMC,QAAuBC,EAAAA,GAAAA,KAA0CnxB,EAAK5J,EAAgB,IACvF+D,KACA62B,EACHR,UAAWM,IAEE,IAAIlyB,GAAqBsyB,EAAe9xB,QAE5CN,cACTuY,GAAiB,GACjBpa,EAAcC,EAAa,GACvBiB,GAAgBA,EAAapC,OAAS,GACxCkC,EAAa,IAGnB,CAAE,MAAO5Z,GACP,MAAM20B,EAAgB30B,EACtB,GAAI20B,EAAche,UAAUoE,SAAWT,GAAAA,EAAgBsa,oBAAqB,CAC1E,MAAM,OAAEC,GAAWF,EAAche,SAASb,KACpCgf,EAAeD,GAAQnW,KAAK8R,IAAE,CAClClU,UAAWkU,EAAGuE,aACd1Y,UAAWmU,EAAGwE,SAEZF,GAAcpd,QAAUod,EAAapd,OAAS,EAChDkC,EAAakb,GAEblb,EAAa,GAEjB,MACEL,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejQ,aACnB+O,eAAgB3Z,EAAoB4K,eAGxCgR,KAAM7B,GAAYra,OAGxB,OAiCgB,E,4BC/Hb,MAAM+sC,GAAmBA,KAC9B,MAAM,OAAEp7B,EAAM,iBAAEC,GAAqBW,KAC/B,cAAEgJ,GAAkBH,KACpBI,GAAYC,EAAAA,GAAAA,MAGhBrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACrG,EAAQC,EAAkB,kBAC3BsE,UACE,MAAMgB,QA9BZhB,eAAkCyF,EAAgBhK,EAAgBC,GAChE,MAAMo7B,EAA6F,CAAC,EAEpG,IACE,MAAMr2B,QAAiBs2B,EAAAA,GAAAA,KAA4DtxB,EAAKhK,EAAQC,GAEhG,OAAO,IAAI2I,GACT5D,EAASoE,OACTpE,EAASb,KAEb,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAASoyB,EAC9B,CACF,CAiB2BE,CAAmB1xB,EAAW7J,EAAQC,GAC3D,GAAIsF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,sCAAsC,GAExD,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,EC9DUgxB,GAAgBA,CAACr3B,EAA+Bs3B,KAC3D,GAAIA,EAAY,CAgBd,MAf0C,CACxCC,cAAev3B,EAAKu3B,aACpBC,SAAUx3B,EAAKw3B,QACfC,mBAAoBz3B,EAAKy3B,kBACzBC,mBAAoB13B,EAAK03B,kBACzBC,aAAc33B,EAAK23B,YACnBC,aAAc53B,EAAK43B,YACnBC,kBAAmB73B,EAAK63B,iBACxBC,oBAAqB93B,EAAK83B,mBAC1BtgC,cAAewI,EAAKxI,aACpBugC,qBAAsB/3B,EAAK+3B,oBAC3BC,wBAAyBh4B,EAAKg4B,uBAC9BzgC,yBAA0ByI,EAAKzI,wBAInC,CAEA,OAAOyI,CAAI,ECeN,MAAMi4B,GAAgBX,IAC3B,MAAM,eAAEr7B,GAAmBQ,KACrB,cAAEgJ,GAAkBH,KACpBO,GAAMF,EAAAA,GAAAA,MAEVrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACjG,EAAgBq7B,EAAY,cAC7Bl3B,UACE,MAAMgB,QApCZhB,eAA8ByF,EAAgBia,EAA6BoY,GACzE,MAAMC,EAAyE,CAC7EC,YAAY,EACZC,eAAe,EACfC,eAAe,GAGjB,IACE,MAAMz3B,QAAiB03B,EAAAA,GAAAA,KAAoC1yB,EAAKia,IAC1D,UAAE0Y,GAAc33B,EAASb,KAEzB2d,EAAsE,IACvE9c,EAASb,KACZw4B,UAAWA,GAAanB,GAAcmB,EAAWN,IAGnD,OAAO,IAAIzzB,GAAoE5D,EAASoE,OAAQ,IAAK0Y,GACvG,CAAE,MAAOzzB,GACP,OAAOua,GAAYK,SAASqzB,EAC9B,CACF,CAgB2BM,CAAe5yB,EAAK5J,EAAgBq7B,GACzD,GAAIl2B,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,kCAAkC,GAEpD,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,E,2BC7DH,MAAMqyB,IAAyBzwC,EAAAA,EAAAA,GAAO0wC,GAAAA,EAAP1wC,EAAyB,EAAGC,YAAY,CACrEG,WAAY,YAGRuwC,IAAiB3wC,EAAAA,EAAAA,GAAO4wC,GAAAA,EAAP5wC,EAAiB,EAAGC,YAAY,CACrDw0B,WAAYx0B,EAAMM,QAAQ,OAetBswC,GAAuB,IAAIC,IAAI,CAAC,gBAAiB,gBAAiB,uBAE3DC,GAAkEzuC,IAC7E,MAAM,KAAE2V,EAAI,MAAEiH,EAAK,YAAEG,EAAW,aAAEC,EAAY,aAAEoD,EAAY,WAAEnD,EAAU,MAAExJ,EAAK,SAAE8M,GAAavgB,GAExF,eAAE6d,IAAmBE,EAAAA,GAAAA,KAErB2wB,EAAiBH,GAAqBtY,IAAItgB,GAiD1CyJ,EAAiBrC,IA9CrBle,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJE,MAAO,CAAEC,MAAOzC,GAAepe,UAE/BC,EAAAA,EAAAA,KAAC6gB,GAAAA,EAAG,CACFgM,SAAU,IACVQ,aAAc,EACdtX,UAAU,OAAMhW,UAEhBC,EAAAA,EAAAA,KAACghB,GAAAA,GAAU,CACTlK,KAAMA,EACNmK,MAAO,CACLC,SAAU9C,GAAY+C,aAExBpgB,OAAQA,EAAGygB,QAAOG,iBAChB7hB,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CACV9gB,QAAS6gB,EAAW7gB,MACpB6nC,UAAU,WAAU5oC,SAAA,EAEpBC,EAAAA,EAAAA,KAACsvC,GAAsB,CACrBQ,SACE9vC,EAAAA,EAAAA,KAACwvC,GAAc,CACbr5B,MAAM,UACN+K,UAAU2uB,GAAyBzxB,GAAY+C,YAC/C4uB,eAAgBxuB,EAEhByuB,QAASp7B,GAAU4M,EAAM5M,MACzBA,MAAO4M,EAAM5M,MACbgO,SAAUpB,EAAMC,IAEhBC,SAAUA,GAAYF,EAAME,YACxB1C,EAAe,GAAGlI,sBAG1BiH,MAAOA,GAAS,GAChBvH,GAAIM,IAEL6K,EAAW7gB,OAAQd,EAAAA,EAAAA,KAAC0jB,GAAAA,EAAc,CAAA3jB,SAAEud,GAAwBqE,EAAW7gB,SAA2B,cAU/G,OAEEd,EAAAA,EAAAA,KAAA8jB,EAAAA,SAAA,CAAA/jB,SAAGwgB,GAAkB,ECpFZ0vB,GAAmBA,KAC9B,MAAM,OAAEx9B,EAAM,eAAEI,GAAmBQ,IAOnC,MAL+C,CAC7C,mBAAoBZ,EACpB,oBAAqBI,EAGT,ECDHq9B,GAAuBzZ,IAClC,MAAO0Z,EAAkBC,IAAuB56B,EAAAA,EAAAA,aAE1C,OAAE/C,EAAM,eAAEI,EAAc,iBAAEH,GAAqBW,IAC/CoJ,GAAMF,EAAAA,GAAAA,MACN,cAAEF,GAAkBH,MAExBhC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAK1BoC,EAAeH,EAAcJ,GAAenQ,eAiClD,OA/BA2J,EAAAA,EAAAA,YAAU,KACQuB,WACd,GAAInE,EACF,IACE,MAAMw9B,QAAoBC,EAAAA,GAAAA,KAAwB7zB,EAAK5J,GACxC,IAAIwI,GAAqBg1B,EAAYx0B,QAEzCN,aACT60B,EAAoBC,EAAYz5B,KAEpC,CAAE,MAAO9V,GACP,MAAM20B,EAAgB30B,EAChByvC,EAAiB9a,EAAche,UAAUoE,SAAWT,GAAAA,EAAgBo1B,kBAE1En2B,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,kBAGTszB,IACF/Y,OAAOC,SAAS7T,KAA4B,gBAArBlR,EA1BV,iCADO,6BA6BxB,CACF,EAEFkoB,EAAS,GAER,CAACnoB,EAAQI,EAAgB4jB,IAErB,CAAE7f,KAAMu5B,EAAkB,E,gBCxD5B,MAAMM,GAAcA,KACzB,MAAM3xC,GAAQW,EAAAA,EAAAA,KAEd,OAAOE,EAAAA,EAAAA,GAAcb,EAAMc,YAAYC,KAAK,MAAM,ECG9C6wC,IAAU7xC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC3CC,QAAS,OACTC,cAAe,aAGX2xC,IAAmB9xC,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAEtB,EAAGC,QAAO8xC,YAAcC,YAAW,EAAOC,qBAAoB,EAAM5wC,SAAS,OAAU,CACxFyV,SAAU,WACV5W,QAAS,QACTmB,OAAQ2wC,EAAW,GAAG3wC,MAAa4wC,EAAoB,sBAAwB,OAC/EC,WAAY,IACZ5nB,UAAWrqB,EAAMM,QAAQ,GACzB4xC,WAAY,UACZ5H,SAAU0H,EAAoB,SAAW,UACzCzjB,aAAcyjB,EAAoBhyC,EAAMM,QAAQ,GAAKN,EAAMM,QAAQ,OAG/D6xC,IAAiBpyC,EAAAA,EAAAA,GAAO,MAAPA,EAAqD,EAAG+xC,YAAcC,YAAW,OAAc,CACpHl7B,SAAU,WACVC,IAAK,EACL1V,OAAQ2wC,EAAW,EAAI,kBACvB1wC,MAAO,OACPkpC,WAAY,qDAGR3rB,IAAa7e,EAAAA,EAAAA,GAAOqyC,GAAAA,EAAPryC,EACjB,EAAGC,QAAO8xC,YAAcC,YAAW,OAAc,CAC/C1xC,cAAe,EACfgX,MAAOrX,EAAM6e,QAAQ4P,KAAK9D,QAC1BpB,SAAU,OACVuF,WAAY,OACZrL,cAAe,YACf4G,UAAW0nB,EAAW/xC,EAAMM,QAAQ,GAAKN,EAAMM,QAAQ,GACvDiuB,aAAcvuB,EAAMM,QAAQ,GAC5ByuB,OAAQ,UACR,WAAY,CACV1uB,cAAeL,EAAMM,QAAQ,GAC7B+xC,aAAc,aAAaryC,EAAM6e,QAAQif,KAAK,OAC9CmU,WAAY,OAULK,GAAuBjwC,IAClC,MAAOkwC,EAAYC,IAAiB97B,EAAAA,EAAAA,WAAS,IACtC+7B,EAAkBC,IAAuBh8B,EAAAA,EAAAA,UAAS,IAEnD,WAAEi8B,EAAU,SAAE1xC,GAAaoB,EAC3BzB,EAAW+wC,KAEXiB,GAAgB1d,EAAAA,EAAAA,QAA8B,MAC9C2d,EAA6BjyC,EAAW,IAAM,IAC9CkyC,EAAmBF,EAActd,SAASyd,UAAUr5B,QAAU,EAC9Ds5B,EAAyBJ,EAActd,SAAS2d,cAAgB,EAChEC,EAAoBJ,GAAoBD,EAExCM,GAAWhY,EAAAA,EAAAA,cAAY,KAC3BzC,OAAO2H,iBAAiB,UAAU,IAAMqS,EAAoBM,IAAwB,GACnF,CAACA,KAEJr8B,EAAAA,EAAAA,YAAU,KACR+7B,EAAoBM,GACpBG,GAAU,GACT,CAACH,EAAwBJ,EAAeO,IAE3C,MAAMC,GACJlyC,EAAAA,EAAAA,KAAC0d,GAAU,CACTy0B,UAAU,OACVvB,WAAY,CAAEC,SAAUQ,GACxB,cAAaI,EACbzoB,QAASA,IAAMsoB,GAAeD,GAAYtxC,SAEzCsxC,GACCrxC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepO,KACnBkN,eAAgB3Z,EAAoByM,QAGtC7N,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepN,SACnBkM,eAAgB3Z,EAAoByN,aAM5C,OACE/O,EAAAA,EAAAA,MAAC4wC,GAAO,CAAA3wC,SAAA,EACND,EAAAA,EAAAA,MAAC6wC,GAAgB,CACfvwC,QAAQ,UACR+vB,MAAM,OACNygB,WAAY,CACVC,SAAUQ,EACVP,kBAAmBkB,EACnB9xC,OAAQqxC,GACRxxC,SAAA,EAEFC,EAAAA,EAAAA,KAAA,OAAKyhB,IAAKiwB,EAAc3xC,SAAEA,IACzBiyC,GAAoBhyC,EAAAA,EAAAA,KAACixC,GAAc,CAACL,WAAY,CAAEC,SAAUQ,KAAmB,QAEjFW,EAAoBE,EAAe,OAC5B,E,gBChHP,MAAMxlB,IAAa7tB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CACtDC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACfmB,MAAO,OACPgpB,UAAWrqB,EAAMM,QAAQ,OAGdutB,IAAgB9tB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CACzD+tB,SAAU,QACV1D,UAAWrqB,EAAMM,QAAQ,GACzBwhB,MAAO,OAGIwxB,IAAcvzC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CACvDC,QAAS,OACT2W,eAAgB,gBAChBmX,SAAU,OACV1D,UAAWrqB,EAAMM,QAAQ,OAGdizC,IAAkBxzC,EAAAA,EAAAA,GAAOyzC,GAAAA,EAAPzzC,EAAsB,EAAGC,YAAY,CAClE4lB,YAAa5lB,EAAMM,QAAQ,OAGhBmzC,IAAsB1zC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC9DC,QAAS,OACToB,MAAO,OACPuV,eAAgB,aAChB1W,cAAe,SACfC,WAAY,iBAGDuzC,IAAwB3zC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAChEgiB,OAAQhiB,EAAMM,QAAQ,EAAG,GAEzB,CAACN,EAAMc,YAAY6yC,GAAG,OAAQ,CAC5BtpB,UAAWrqB,EAAMM,QAAQ,QAIhBszC,IAAiB7zC,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAC9DuuB,aAAcvuB,EAAMM,QAAQ,OAGjBuzC,IAAa9zC,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAC1DqqB,UAAWrqB,EAAMM,QAAQ,GACzB2W,UAAW,WAGA68B,IAAc/zC,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACtDC,QAAS,OACTE,WAAY,SACZopB,SAAU,OACVuF,WAAY,OACZC,OAAQ,cAGGnQ,IAAa7e,EAAAA,EAAAA,GAAO,IAAPA,EAAY,EAAGC,YAAY,CACnDqX,MAAOrX,EAAM6e,QAAQ4P,KAAK9D,QAC1B5L,eAAgB,YAChB,UAAW,CACT1H,MAAOrX,EAAM6e,QAAQ8L,QAAQF,MAC7B1L,eAAgB,iBCvCPg1B,GAA6D1xC,IACxE,MAAM,OAAEwW,GAAWxW,EAEb2xC,EAAoBv4B,KAAsBL,QAAQE,kBAElD,OAAE3H,GAAWY,IACbuE,EAAUq4B,KAEVxzB,GAAMF,EAAAA,GAAAA,MAEN,UAAE0C,IAAcC,EAAAA,GAAAA,MAEf6zB,EAAOC,IAAYx9B,EAAAA,EAAAA,aACnBy9B,EAAmBC,IAAwB19B,EAAAA,EAAAA,WAAS,IAEnDoB,KAAMu5B,GAAqBD,KAE7Bhb,GAAOnW,EAAAA,GAAAA,OAEP,MAAEoG,EAAK,SAAErG,EAAQ,QAAEq0B,GAAYje,EAE/Bke,EAAwBz7B,GAAQ07B,YAAY12B,UAE5C22B,GAAWrZ,EAAAA,EAAAA,cAAYjjB,UAC3B,IACE,GAAIm5B,GAAkB/9B,WAAY,CAChC,MAAMmhC,QAAsBC,EAAAA,GAAAA,KAAyB/2B,EAAK0zB,EAAiB/9B,WAAY,CAAC,EAAGwF,GAE3F,GADe,IAAIyD,GAAqBk4B,EAAc13B,QAC3CN,aAAeg4B,EAAc38B,KAAK0N,WAAW9L,OAAS,EAAG,CAClE,MAAMi7B,EAAsBF,EAAc38B,KAAK0N,WAAW2hB,MACvDyN,GAAuC,kBAAtBA,EAAa12B,OAEjCk2B,EAAqBO,GACrBT,EAASO,EAAc38B,KAAK0N,WAAW,GACzC,CACF,CACF,CAAE,MAAOxjB,GACPgyC,EAAkBz4B,oBAAoB,CACpC0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejQ,aACnB+O,eAAgB3Z,EAAoB4K,eAGxCgR,KAAM7B,GAAYra,OAEtB,IAEC,CAAC2R,EAAQ09B,KAEZ16B,EAAAA,EAAAA,YAAU,KACJkC,GAAQg8B,oBAAoBz1B,aAC9Bo1B,GACF,GACC,CAAC37B,EAAQw4B,EAAkBmD,IAE9B,MAAMt4B,EAASmK,IAETyuB,EAAS54B,EAAO24B,oBAAoBC,OAE1C,OAAIj8B,GAAQg8B,oBAAoBz1B,cAAgB60B,GACvC/yC,EAAAA,EAAAA,KAACgW,EAAO,KAIflW,EAAAA,EAAAA,MAAA,OAAK6gB,MAAO,CAAEC,MAAOjJ,GAAQg8B,oBAAoBx1B,cAAepe,SAAA,EAC9DC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,qBACLiH,OACEje,EAAAA,EAAAA,MAACgqB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAYgmB,EAAS,OAAS,UAAW7zC,SAAA,EAE/CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevT,mBACnBqS,eAAgB3Z,EAAoBsH,mBACpCsS,OAAQ,CACNgY,yBACEhzB,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY4V,wBAC7B1P,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetT,yBACnBoS,eAAgB3Z,EAAoBuH,6BAI1CkrC,qBACE7zC,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAYw2B,qBAC7BtwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1X,0BACnBwW,eAAgB3Z,EAAoBmD,8BAI1CuvC,qBACE9zC,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAYy2B,qBAC7BvwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezX,0BACnBuW,eAAgB3Z,EAAoBoD,8BAI1CuvC,qBACE/zC,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY02B,qBAC7BxwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexX,0BACnBsW,eAAgB3Z,EAAoBqD,8BAI1CuvC,qBACEh0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY22B,qBAC7BzwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevX,0BACnBqW,eAAgB3Z,EAAoBsD,8BAI1CuvC,qBACEj0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY42B,qBAC7B1wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetX,0BACnBoW,eAAgB3Z,EAAoBuD,8BAI1CuvC,qBACEl0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY62B,qBAC7B3wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerX,0BACnBmW,eAAgB3Z,EAAoBwD,8BAI1CuvC,qBACEn0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY82B,qBAC7B5wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepX,0BACnBkW,eAAgB3Z,EAAoByD,8BAI1CuvC,qBACEp0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY+2B,qBAC7B7wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenX,0BACnBiW,eAAgB3Z,EAAoB0D,iCAK5C,OAIN8P,QAASg/B,EACTlyB,SAAUA,CAACgK,EAAI9W,KACTA,GACFkK,EACE,qBACA,CAAE80B,OAAQb,GAAOa,QACjB,CAAEzwB,aAAa,EAAMC,aAAa,EAAMF,gBAAgB,IAE1DiwB,EAAQ,wBAERr0B,EAAS,0BAAsB1F,EAAW,CACxC+J,aAAa,EACbC,aAAa,EACbF,gBAAgB,IAElBiwB,EAAQ,sBACV,KAEEx7B,GAAQg8B,qBAEbV,GACCjzC,EAAAA,EAAAA,KAAC2yC,GAAU,CACTvyC,QAAQ,QACR2V,UAAU,OAAMhW,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevU,mBACnBqT,eAAgB3Z,EAAoBsG,mBACpCsT,OAAQ,CACNkY,oBACElzB,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY8V,mBAC7B5P,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexU,oBACnBsT,eAAgB3Z,EAAoBqG,6BAO9C,KACH2rC,GACCpzC,EAAAA,EAAAA,KAACoxC,GAAmB,CAACK,WAAYxyB,EAAU,wBAAwBlf,UACjEC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAela,YACnBgZ,eAAgB3Z,EAAoBW,gBAGtC,OACA,E,gBC9PH,MAAMsyC,GAAwDlzC,IACnE,MAAM,eAAEmzC,EAAc,OAAE38B,GAAWxW,GAC5BozC,EAAeC,IAAoBh/B,EAAAA,EAAAA,WAAS,GAE7Ci/B,EAAsB98B,GAAQy3B,WAAWsF,QAAQC,kBAEvD,OACE70C,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,CACG00C,GACC30C,EAAAA,EAAAA,MAAC8yC,GAAW,CAAC5pB,QAASA,IAAMwrB,GAAkBD,GAAex0C,SAAA,CAC1Dw0C,GACCv0C,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3R,mBACnByQ,eAAgB3Z,EAAoBkJ,sBAGtCtK,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1R,mBACnBwQ,eAAgB3Z,EAAoBmJ,sBAIxCvK,EAAAA,EAAAA,KAAC40C,GAAAA,EAAa,CACZt0C,GAAI,CACFwV,UAAWy+B,EAAgB,kBAAoB,IAC/CvD,WAAY,6BAIhB,MAEJlxC,EAAAA,EAAAA,MAAC8yB,GAAAA,EAAQ,CAACC,IAAI4hB,GAAsBF,EAAqBx0C,SAAA,EACvDC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,aACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAetF,WAAa,OAAS,UAAWjvC,UAElEC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetU,SACnBoT,eAAgB3Z,EAAoBuG,aAI1CiN,MAAO0/B,EAAetF,cAClBr3B,GAAQq3B,cAEdhvC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,oBACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWhB,QAAU,OAAS,UAAWruC,UAE1EC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3a,iBACnByZ,eAAgB3Z,EAAoBE,qBAI1CsT,MAAO0/B,EAAelF,WAAWhB,WAC7Bz2B,GAAQy3B,WAAWhB,WAEzBpuC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,mCACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CACFstB,WAAY0mB,EAAelF,WAAWR,uBAAyB,OAAS,UACxE7uC,UAEFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5a,gCACnB0Z,eAAgB3Z,EAAoBC,oCAI1CuT,MAAO0/B,EAAelF,WAAWR,0BAC7Bj3B,GAAQy3B,WAAWR,0BAEzB5uC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,gCACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWT,oBAAsB,OAAS,UAAW5uC,UAEtFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1a,6BACnBwZ,eAAgB3Z,EAAoBG,iCAI1CqT,MAAO0/B,EAAelF,WAAWT,uBAC7Bh3B,GAAQy3B,WAAWT,uBAEzB3uC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,8BACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWd,kBAAoB,OAAS,UAAWvuC,UAEpFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAeza,2BACnBuZ,eAAgB3Z,EAAoBI,+BAI1CoT,MAAO0/B,EAAelF,WAAWd,qBAC7B32B,GAAQy3B,WAAWd,qBAEzBtuC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,8BACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWf,kBAAoB,OAAS,UAAWtuC,UAEpFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexa,2BACnBsZ,eAAgB3Z,EAAoBK,+BAI1CmT,MAAO0/B,EAAelF,WAAWf,qBAC7B12B,GAAQy3B,WAAWf,qBAEzBruC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,wBACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWZ,YAAc,OAAS,UAAWzuC,UAE9EC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAeva,oBACnBqZ,eAAgB3Z,EAAoBM,wBAI1CkT,MAAO0/B,EAAelF,WAAWZ,eAC7B72B,GAAQy3B,WAAWZ,eAEzBxuC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,oCACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CACFstB,WAAY0mB,EAAelF,WAAWjhC,wBAA0B,OAAS,UACzEpO,UAEFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9N,wBACnB4M,eAAgB3Z,EAAoB+M,4BAI1CyG,MAAO0/B,EAAelF,WAAWjhC,2BAC7BwJ,GAAQy3B,WAAWjhC,2BAEzBnO,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,yBACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWhhC,aAAe,OAAS,UAAWrO,UAE/EC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7N,aACnB2M,eAAgB3Z,EAAoBgN,iBAI1CwG,MAAO0/B,EAAelF,WAAWhhC,gBAC7BuJ,GAAQy3B,WAAWhhC,gBAEzBpO,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,yBACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWjB,aAAe,OAAS,UAAWpuC,UAE/EC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAeta,sBACnBoZ,eAAgB3Z,EAAoBO,0BAI1CiT,MAAO0/B,EAAelF,WAAWjB,gBAC7Bx2B,GAAQy3B,WAAWjB,gBAEzBnuC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,wBACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWb,YAAc,OAAS,UAAWxuC,UAE9EC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAera,qBACnBmZ,eAAgB3Z,EAAoBQ,yBAI1CgT,MAAO0/B,EAAelF,WAAWb,eAC7B52B,GAAQy3B,WAAWb,eAEzBvuC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,+BACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWV,mBAAqB,OAAS,UAAW3uC,UAErFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepa,4BACnBkZ,eAAgB3Z,EAAoBS,gCAI1C+S,MAAO0/B,EAAelF,WAAWV,sBAC7B/2B,GAAQy3B,WAAWV,sBAEzB1uC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,6BACLiH,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY0mB,EAAelF,WAAWX,iBAAmB,OAAS,UAAW1uC,UAEnFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAena,0BACnBiZ,eAAgB3Z,EAAoBU,8BAI1C8S,MAAO0/B,EAAelF,WAAWX,oBAC7B92B,GAAQy3B,WAAWX,wBAG1B,EChPA,MAAMoG,GAAmBA,KAC9B,MAAM,OAAEpiC,GAAWY,KACb,cAAEgJ,GAAkBH,KACpBI,GAAYC,EAAAA,GAAAA,MAGhBrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1B06B,EAAWz4B,EAAcJ,GAAenQ,eAE9C,OAAOgN,EAAAA,EAAAA,IACL,CAACrG,EAAQ,iBACTuE,UACE,MAAMgB,QA3BZhB,eAAyCyF,EAAgBhK,GACvD,MAAMsiC,EAA8D,GAEpE,IACE,MAAMt9B,QAAiBu9B,EAAAA,GAAAA,KAAuBv4B,EAAKhK,GAEnD,OAAO,IAAI4I,GAA8C5D,EAASoE,OAAQpE,EAASb,KACrF,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAASq5B,EAC9B,CACF,CAiB2BE,CAA0B34B,EAAW7J,GAC1D,GAAIuF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,qCAAqC,GAEvD,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAASm+B,EACT93B,KAAM7B,GAAYra,OAGxB,GAEH,ECJI,MAAMo0C,GAA6Bze,IACxC,MAAQ7f,KAAMu5B,GAAqBD,KAC7BiF,EAAyBhF,GAAkB/9B,YAAcC,EAAAA,GACzDuF,EAAUq4B,MAEV,cAAE5zB,GAAkBH,KACpBO,GAAMF,EAAAA,GAAAA,MAGVrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAC1B06B,EAAWz4B,EAAcJ,GAAenQ,eAE9C,OAAOgN,EAAAA,EAAAA,IACLq8B,IAAsD,IAA5BA,EACtB,CAACA,EAAwB1e,EAAY,gBACrC,MACJzf,UACE,MAAMgB,QAlDZhB,eAAyCyF,EAAgBrK,EAAoBgjC,GAC3E,MAAMC,EAAuE,GAC7E,IACE,MAAOC,EAAWlG,SAAmBmG,QAAQC,IAAI,EAC/CC,EAAAA,GAAAA,KAA0Bh5B,EAAKrK,EAAY,CAAC,EAAGgjC,IAC/CM,EAAAA,GAAAA,KAA6Bj5B,EAAKrK,EAAY,CAAC,EAAGgjC,KAKpD,OAFkB/5B,GAAYE,UAAU+5B,EAAUz5B,OAAQuzB,EAAUvzB,QAGrDy5B,EAAU1+B,KAAK4I,KAAKm2B,IAC/B,MAEMC,GAFaxG,EAAUx4B,KAAK0N,WAAW9L,OAAS,EAAI42B,EAAUx4B,KAAK0N,WAAa,IAEhDlF,MAAMy2B,GAAaA,EAASC,YAAYz1B,SAASs1B,EAAK3nB,cAE5F,MAAO,IACF2nB,EACHE,SAAUD,EACX,SAML,CACF,CAAE,MAAO90C,GACP,OAAOua,GAAYK,SAAS25B,EAC9B,CACF,CAqB2BU,CAA0Bt5B,EAAK04B,EAAwBv9B,GAC5E,GAAII,EACF,OAAOA,EAET,MAAM,IAAItB,MAAM,0CAA0C,GAE5D,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAASm+B,EACT93B,KAAM7B,GAAYra,OAGxB,GAEH,ECzEUk1C,GAAkB70C,IAC7B,MAAM,KAAE2V,EAAI,MAAEiH,EAAK,WAAEoN,EAAU,SAAEzJ,EAAQ,OAAEu0B,EAAM,SAAErzB,EAAQ,WAAEszB,GAAqC/0C,GAE5F,eAAE6d,IAAmBE,EAAAA,GAAAA,KAE3B,IAAIi3B,EAAa,KAajB,OAXIp4B,IACFo4B,GACEn2C,EAAAA,EAAAA,KAAC8mB,GAAAA,EAAU,IACL9H,EAAe,GAAGlI,sBACtBs/B,QAASt/B,EAAK/W,SAEbge,MAMLje,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CACVC,WAAS,EACTX,SAAUiK,EACVxK,MAAO,CAAE5hB,QAAS,QAASgB,SAAA,CAE1Bo2C,GACDn2C,EAAAA,EAAAA,KAAA,SACEyhB,IAAKmB,EACL9L,KAAMA,EACNN,GAAIM,EACJkG,KAAK,OACLi5B,OAAQA,EACRI,SAAUH,EACVx0B,SAAUA,MAEA,ECnBZyN,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,WACVxV,MAAO,WAGHm2C,IAAsBz3C,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACvDiX,UAAW,aAGPwgC,IAAe13C,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CACjDiiB,SAAU,QACV5gB,MAAO,WAGHq2C,GAA4BA,CAChCx+B,EACAy+B,KAGIA,GAAsBz+B,GACxBy+B,EAAmBz+B,EACrB,EAoDW0+B,GAAoCv1C,IAC/C,MAAM,OACJ80C,EAAM,WACNC,EAAU,SACVn2C,EAAQ,kBACR42C,EACAC,kBAAmBC,EACnBC,mBAAoBC,EACpBC,qBAAsBC,EAAgB,YACtCC,EAAW,eACXC,EAAc,YACdC,EAAW,WACXjsB,EAAU,UACVksB,GACEl2C,EAEEyhB,GAAWoR,EAAAA,EAAAA,WAEX,eAAEhV,IAAmBE,EAAAA,GAAAA,MACnBtI,KAAMu5B,GAAqBD,MAE3Bt5B,KAAM0gC,GAAsBpC,KAE9B9iC,EAAa+9B,GAAkB/9B,YAAc,KAE7CwF,EAAUq4B,MAGd/1B,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BqC,GAAMF,EAAAA,GAAAA,KASNg7B,EAAeC,IACnB50B,EAASwR,QAAUojB,EACfr2C,EAAMyhB,UACRzhB,EAAMyhB,SAAS40B,EACjB,EAGIC,EAAiBzgC,MACrB0gC,EACAC,EACAC,KAEA,IACE,MAAMngC,QAAiBogC,EAAAA,GAAAA,KAAuBp7B,EAAKi7B,EAAoBC,EAAaC,EAAgBhgC,GAEpG,OAAO,IAAIyD,GACT5D,EAASoE,OAETpE,EAASb,KAEb,CAAE,MAAO9V,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerQ,aACnBmP,eAAgB3Z,EAAoBwK,eAGxCoR,KAAM7B,GAAYra,OAEtB,CAEA,OAAOua,GAAYva,KAAK,EAyBpBg3C,EAAkB9gC,MACtB0gC,EACAK,EACAJ,EACAK,KAEA,IAAIC,EAEJ,IAGE,OAFAA,OA/BmBjhC,OAAO0gC,EAA4B1pB,KACxD,IACE,MAAMvW,QAAiBygC,EAAAA,GAAAA,KAAuBz7B,EAAKi7B,EAAoB1pB,EAAYpW,GAGnF,OAFe,IAAIyD,GAAqB5D,EAASoE,OAGnD,CAAE,MAAO/a,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepQ,aACnBkP,eAAgB3Z,EAAoByK,eAGxCmR,KAAM7B,GAAYra,OAEtB,CAEA,OAAOua,GAAYva,KAAK,EAYDq3C,CAAeT,EAAoBK,GAEpDE,EAAa18B,kBACFk8B,EAAeC,EAAoBC,EAAaK,GAGxD38B,GAAYva,KACrB,CAAE,MAAOA,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerQ,aACnBmP,eAAgB3Z,EAAoBwK,eAGxCoR,KAAM7B,GAAYra,OAEtB,CAEA,OAAOua,GAAYva,KAAK,EAGpBs3C,GACJp4C,EAAAA,EAAAA,KAACu2C,GAAY,CACX10B,WAAS,EACTzhB,QAAQ,WACR+V,MAAM,aACF6I,EAAe,4BAA2Bjf,UAE9CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5R,qBACnB0Q,eAAgB3Z,EAAoBiJ,yBAKpCutC,GAA+CS,EAAAA,EAAAA,UACnD,KAAM,CACJlB,iBAEAC,iBAA6Bh+B,IAAhBg+B,GAAmCA,KAElD,CAACD,EAAgBC,KAGZkB,IAAcD,EAAAA,EAAAA,UACnB,IACEf,GACIjmB,QAAQskB,KAGDA,EAAKwB,iBAAmBA,GAAoBxB,EAAKyB,eAEzDmB,MAAK,CAACC,EAAGC,IACJD,EAAEE,YAAYzU,WAAawU,EAAEC,YAAYzU,UACpCuU,EAAEE,YAAYzU,UAAYwU,EAAEC,YAAYzU,UAG1C,KACF,IACX,CAACkT,EAAgBG,IAGbqB,EAAa3hC,MAAO4hC,EAAYriC,EAAamhC,EAA4B1/B,KAC7E,MACM6gC,GADe,GACJtiC,EAAM,GAIvB,GAFAqhC,EAAeT,eAAiBA,EAE5BD,GA1LiB4B,EAACC,EAA0BH,OAC9CG,GAAmBH,GAAQA,EAAK5iB,KAAO+iB,GAyLtBD,CAAiB5B,EAAa0B,GAAO,CACtD,MAAMI,EAASC,KAAKC,KAAKhC,EA9Pb,WA+PNt3B,GACJ5f,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9M,+BACnB4L,eAAgB3Z,EAAoB+N,+BACpC6L,OAAQ,CAAEg+B,YAad,YAFAxC,GAPsC,CACpCoC,OACAC,UACAt9B,WAAW,EACX5E,QAASiJ,GAG2Bm3B,EAGxC,CAEA,IAAIoC,EAOJ,GALEA,GADkB,IAAhB/B,GAAyBkB,GAAYtqB,aAAekoB,QAClC4B,EAAgBJ,EAAoBY,EAAWtqB,WAAY,CAAE4qB,QAAQhB,SAErEH,EAAeC,EAAoB,CAAEkB,QAAQhB,GAG/DuB,EAAY1hC,SAAU,CACxB,MAAM2hC,EAjQkBC,EAC5B5hC,EACAmhC,EACAC,KAEA,IAAIS,EAAsC,CACxCV,OACAC,UACAt9B,WAAW,GAGb,GAAwB,iBAAb9D,EACT6hC,EAAmB,IACdA,EACHtrB,WAAYvW,EACZ8D,WAAW,QAER,GAAI9D,EAASgE,QAAQjD,OAAQ,CAElC,MAAMwW,EAAOvX,GAAYA,EAASgE,QAAUhE,EAASgE,OAAO,IAAMhE,EAASgE,OAAO,GAAGuT,KAC/ErY,EAAUuG,GAA2B8R,GAE3CsqB,EAAmB,IACdA,EACH3iC,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIG,EAAQH,GACZuE,eAAgBpE,EAAQoE,iBAIhC,MACEu+B,EAAmB,IACdA,EACH3iC,QAASc,EAASd,SAItB,OAAO2iC,CAAgB,EA2NAD,CAAsBF,EAAY1hC,SAAUmhC,EAAMC,GACrErC,GAA0B4C,EAAYrC,GACtC/+B,EAAOuhC,cAAcnuB,KAAKguB,EAC5B,GA8BF,OACEt5C,EAAAA,EAAAA,MAACqvB,GAAa,CAAApvB,SAAA,EACZC,EAAAA,EAAAA,KAACghB,GAAAA,GAAU,CACTlK,KAAMugC,EACNp2B,MAAO,CACLC,SAAUiK,GAEZpqB,OAAQA,EAAG+vB,YAAWtP,YACpB1hB,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CAAA7hB,SAAA,EACVC,EAAAA,EAAAA,KAACg2C,GAAc,CACbl/B,KAAMugC,EACNpB,OAAQA,EACRrzB,SAAU20B,EACVrB,WAAYA,EACZx0B,SAAW4B,IACT,MAAM,MAAEk2B,GAAUl2B,EAAEC,OAEhBi2B,GAAOhhC,QAAUpG,GA5CV4E,OACvBwiC,EACAh4B,EACAk2B,KAEIf,QAAkCv9B,IAAbogC,EAAM,IAC7B7C,EAAkB6C,EAAM,IAGtBA,EAAMhhC,OAAS,GAAKq+B,GACtBA,EAAc2C,GAGhB,MAAMxhC,EAAwB,CAAEuhC,cAAe,IAEzCE,EAAiBte,MAAMC,KAAKoe,GAAOh6B,KAAIxI,MAAO4hC,EAAMriC,IACxDoiC,EAAWC,EAAMriC,EAAKmhC,EAAoB1/B,WAGtCu9B,QAAQC,IAAIiE,GAEdxC,IACFz1B,EAAME,SAAS1J,EAAOuhC,eACtBtC,EAAiBj/B,GACnB,EAqBc0hC,CAAiBF,EAAOh4B,EAAOpP,EACjC,IAGH0e,EAAUI,cAAelxB,EAAAA,EAAAA,KAACgW,EAAO,IAAM,WAI9ChW,EAAAA,EAAAA,KAACs2C,GAAmB,CAACttB,QAzOLC,KACdrG,EAASwR,UACXxR,EAASwR,QAAQxf,MAAQ,GACzBgO,EAASwR,QAAQulB,QACnB,EAqO4C55C,SAAEA,GAAYq4C,KACxDp4C,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,UACR+V,MAAM,gBACNJ,UAAU,SACVhX,QAAQ,QAAOgB,UAEfC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7S,2BACnB2R,eAAgB3Z,EAAoBgI,iCAG1B,ECxXPwwC,GAAgCz4C,IAAUnB,EAAAA,EAAAA,KAAC02C,GAAY,IAAKv1C,I,4BCMzE,MAAM04C,IAAuBh7C,EAAAA,EAAAA,GAAOi7C,GAAAA,GAAPj7C,EAAuB,EAAGC,YAAY,CACjE,mBAAoB,CAClBiiB,SAAU,QACV,CAACjiB,EAAMc,YAAYC,KAAK,OAAQ,CAC9BM,MAAO,OACP4gB,SAAU,OACVpL,SAAU,WACVokC,OAAQ,EACRj5B,OAAQ,EACRk5B,uBAAwB,EACxBC,wBAAyB,QAKzBC,IAAer7C,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CACjDuqC,WAAYvqC,EAAM6e,QAAQ7c,MAAM8c,KAChCzH,MAAOrX,EAAM6e,QAAQ8L,QAAQ0wB,aAC7B,mBAAoB,CAClB9Q,WAAYvqC,EAAM6e,QAAQ7c,MAAM8c,KAChCzH,MAAOrX,EAAM6e,QAAQ8L,QAAQ0wB,kBAI3BC,IAAev7C,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CACjD+e,eAAgB,YAChB,mBAAoB,CAClBwrB,WAAY,UACZxrB,eAAgB,YAChBsP,UAAW,YAkDFktB,IA3CqBC,GAHhBn5C,IAA+BnB,EAAAA,EAAAA,KAAA,OAAAD,SAAMoB,EAAMpB,WAI1DoB,IACC,MAAM,OAAEo5C,EAAM,cAAEC,EAAa,aAAEC,GAAiBt5C,GAC1C,cAAEkb,GAAkBH,MACpB,eAAE8C,IAAmBE,EAAAA,GAAAA,KAE3B,OACElf,EAAAA,EAAAA,KAAC65C,GAAoB,CACnBa,iBAAe,EACfvkC,MAAM,QACNwkC,SAAS,QACTC,OAAQv+B,EAAcJ,GAAelK,SACrCyyB,KAAM+V,EACNM,QAAS,EACP76C,EAAAA,EAAAA,KAACk6C,GAAY,CAEX/jC,MAAM,UACN6S,QAASwxB,KACLx7B,EAAe,qCAAoCjf,UAEvDC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetP,OACnBoO,eAAgB3Z,EAAoBuL,UAPlC,WAUN3M,EAAAA,EAAAA,KAACo6C,GAAY,CAEXjkC,MAAM,UACN6S,QAASyxB,KACLz7B,EAAe,oCAAmCjf,UAEtDC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetQ,OACnBoP,eAAgB3Z,EAAoBuK,UAPlC,WAUN5L,UAEFC,EAAAA,EAAAA,KAACs6C,GAAgB,IAAKn5C,KACD,GAvCKm5C,O,4DCrClC,MAAMxsB,GAAchW,IAAAA,SAYb,SAASgjC,GACd1oC,EACA4b,EACA+sB,GAEA,MAAM,aAAEzoC,EAAY,OAAEG,EAAM,eAAEI,GAAmBQ,KAC3C,eAAEqB,IAAmBjB,EAAAA,EAAAA,MACrB,cAAE4I,GAAkBH,MAGxBhC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAE5CkvC,EAAW,GAAG1oC,eAA0BF,eAAwB4b,UAEhEitB,EADcj5B,QAAQ5P,GAAc4b,IAA8B,IAAhBA,GACzB,SAAS5b,KAAc4b,IAAe,KAE/D9V,EAAUlB,OACdE,MACAzE,SACAI,iBACA6B,iBACAqmC,kBAEA,IACE,MAAMnjC,EAAyC,CAC7C,mBAAoBnF,EACpB,oBAAqBI,EACrBub,cAAe1Z,GAEX+C,QAAiBqW,GAAYO,IAAUnX,EAAK,CAChDU,UACA2W,aAAc,OACd2sB,OAAQH,IAEV,OAhDkBvsB,EAgDI/W,EAASb,KAhDU6X,IAAIC,gBAAgBF,EAiD/D,CAAE,MAAO1tB,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,kBAGb,MAAM,IAAIvG,MADS5V,EACQ6V,QAC7B,CA1DoB6X,KA0DpB,GAGM5X,KAAMukC,IAAgBriC,EAAAA,EAAAA,IAC5BmiC,EAAW,CAACA,EAAU,CAAE/jC,IAAK8jC,EAAUvoC,SAAQI,iBAAgB6B,iBAAgBqmC,gBAAiB,MAChG,IAAM7iC,EAAQ,CAAEhB,IAAK8jC,EAAUvoC,SAAQI,iBAAgB6B,iBAAgBqmC,kBAGzE,OAAOI,CACT,CCrEA,MAAMrtB,GAAchW,IAAAA,SAYb,SAASsjC,GACdhpC,EACA4b,EACA+sB,GAEA,MAAM,aAAEzoC,EAAY,OAAEG,EAAM,eAAEI,GAAmBQ,KAC3C,eAAEqB,IAAmBjB,EAAAA,EAAAA,MACrB,cAAE4I,GAAkBH,MAGxBhC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAE5CuvC,EAAiB,GAAG/oC,eAA0BF,eAAwB4b,UAGtEitB,EADcj5B,QAAQ5P,GAAc4b,IAA8B,IAAhBA,GACzB,eAAe5b,KAAc4b,IAAe,KAErE9V,EAAUlB,OACdE,MACAzE,SACAI,iBACA6B,iBACAqmC,kBAEA,IACE,MAAMnjC,EAAyC,CAC7C,mBAAoBnF,EACpB,oBAAqBI,EACrBub,cAAe1Z,GAEX+C,QAAiBqW,GAAYO,IAAUnX,EAAK,CAChDU,UACA2W,aAAc,OACd2sB,OAAQH,IAEV,OAjDkBvsB,EAiDI/W,EAASb,KAjDU6X,IAAIC,gBAAgBF,EAkD/D,CAAE,MAAO1tB,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,kBAGb,MAAM,IAAIvG,MADS5V,EACQ6V,QAC7B,CA3DoB6X,KA2DpB,GAGM5X,KAAMukC,IAAgBriC,EAAAA,EAAAA,IAC5BmiC,EAAW,CAACA,EAAU,CAAE/jC,IAAKmkC,EAAgB5oC,SAAQI,iBAAgB6B,iBAAgBqmC,gBAAiB,MACtG,IAAM7iC,EAAQ,CAAEhB,IAAKmkC,EAAgB5oC,SAAQI,iBAAgB6B,iBAAgBqmC,kBAG/E,OAAOI,CACT,CClEA,MAGMG,IAAsBz8C,EAAAA,EAAAA,GAAO08C,GAAAA,EAAP18C,EAAsB,EAAGC,YAAY,CAC/D6W,SAAU,WACVkX,SAAU,OACVK,UAAW,WAGPsuB,IAAc38C,EAAAA,EAAAA,GAAO0pB,GAAAA,GAAP1pB,EAAmB,EAAGC,YAAY,CACpD6W,SAAU,WACVC,IAAK,EACLuzB,MAAO,UAGH/Z,IAAevwB,EAAAA,EAAAA,GAAOwwB,GAAAA,EAAPxwB,EAAe,EAAGC,YAAY,CACjDqB,MAAO,OACPD,OAAQ,OACRK,aAAc,EACd8oC,WAAY,cACZlzB,MAAOrX,EAAM6e,QAAQ4P,KAAK9D,QAC1B5L,eAAgB,OAChBgQ,OAAQ,cAGJ4tB,IAAe58C,EAAAA,EAAAA,GAAO68C,GAAAA,EAAP78C,EAAiB,EAAGC,YAAY,CACnDupB,SAAU,WAQCszB,GAA8Cx6C,IACzD,MAAM,SAAEy6C,EAAQ,WAAE5tB,GAAe7sB,GAE1B06C,EAAcC,IAAmBtmC,EAAAA,EAAAA,WAAS,IAC1CumC,EAAYC,IAAiBxmC,EAAAA,EAAAA,UAAiB,CAAC,IAC/CymC,EAAaC,IAAkB1mC,EAAAA,EAAAA,UAAuB,CAAC,IAEtDoB,KAAMu5B,GAAqBD,KAE7B99B,EAAa+9B,GAAkB/9B,YAAc,KAE7C+pC,EAAmBrB,GAAiB1oC,EAAY4b,EAAY,CAChE9tB,OA9C0B,GA+C1BC,MA/C0B,KAkDtBi8C,EAAyBhB,GAAuBhpC,EAAY4b,EAAY,CAC5E9tB,OAlD2B,IAmD3BC,MAnD2B,OAsDvB,eAAE6e,IAAmBE,EAAAA,GAAAA,KAErB8a,GAAgBC,EAAAA,EAAAA,cAAY,KAChC,GAEE8hB,IACCA,EAAW/tB,IACZ,0BAA0B7F,KAAKyzB,IAC/B5tB,EAAa,GACb5b,EACA,CAEA4pC,EAAc,IADQ,CAAC,EACW,CAAChuB,GAAamuB,GAClD,IAGC,CAAC/pC,EAAY4b,EAAY4tB,EAAUG,KAEtCtmC,EAAAA,EAAAA,YAAU,KACRukB,GAAe,GACd,CAAC5nB,EAAY4nB,IAEhB,MAcMqiB,EAAoBz0B,IAKxB,GAJAA,EAAM2R,iBACNuiB,GAAgB,GAGZG,IAAgBA,EAAYjuB,IAAe5b,EAAY,CAEzD8pC,EAAe,IADO,CAAC,EACY,CAACluB,GAAaouB,GAEnD,GA8BIE,EAvBYC,MAChB,GAAI,0BAA0Bp0B,KAAKyzB,IAAa5tB,EAAa,EAAG,CAC9D,MAAMwuB,EAAQT,EAAW/tB,GAEzB,OACEhuB,EAAAA,EAAAA,KAACy8C,GAAAA,EAAO,CACNlb,OACEvhC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7M,UACnB2L,eAAgB3Z,EAAoBgO,YAGxC4Z,QAASqzB,KACLr9B,EAAe,wCAAuCjf,UAE1DC,EAAAA,EAAAA,KAACovB,GAAY,CAACc,IAAKssB,GAAS,MAGlC,CAEA,OAAOx8C,EAAAA,EAAAA,KAACy7C,GAAY,GAAG,EAGVc,GACTG,EAtDkBC,KACtB,MAAMC,EAASX,EAAYjuB,GAC3B,OAAI4uB,GAAUf,GAEV77C,EAAAA,EAAAA,KAAA,OACEkwB,IAAK0sB,EACLC,IAAKF,KAKJ38C,EAAAA,EAAAA,KAACgW,EAAO,GAAG,EA2CA8mC,CAAelB,GAEnC,OACE97C,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,CACGu8C,GACDx8C,EAAAA,EAAAA,MAACi9C,GAAAA,EAAM,CAACvY,KAAMqX,EAAa97C,SAAA,EACzBC,EAAAA,EAAAA,KAACg9C,GAAAA,EAAW,CAAAj9C,UACVC,EAAAA,EAAAA,KAACw7C,GAAW,CACVxyB,QAASA,KAnCjB8yB,GAAgB,EAmC2B,EACnC17C,QAAQ,OACR+V,MAAM,aACF6I,EAAe,oCAAmCjf,UAEtDC,EAAAA,EAAAA,KAACi9C,GAAAA,EAAK,SAGVj9C,EAAAA,EAAAA,KAACs7C,GAAmB,CAAAv7C,SAAE28C,SAEvB,EC5JD5uB,GAAchW,IAAAA,SAIb,SAASolC,GAAoB9qC,EAA2B4b,GAC7D,MAAM,aAAE1b,EAAY,OAAEG,EAAM,eAAEI,GAAmBQ,KAC3C,eAAEqB,IAAmBjB,EAAAA,EAAAA,KACrBwa,EAAcjM,QACH,OAAf5P,SAAuB4b,IAAmE,IAAhBA,GAEtE9W,EAAM,GAAG5E,eAA0BF,eAAwB4b,KAEzDpX,KAAMQ,IAAa0B,EAAAA,EAAAA,IAAOmV,EAAc/W,EAAIiX,WAAa,MAAMnX,UACrE,MAAMY,EAAyC,CAC7C,mBAAoBnF,EACpB,oBAAqBI,GAEvB+E,EAAQwW,cAAgB1Z,EACxB,MAAM,KAAEkC,SAAekX,GACpBO,IAAUC,EAAY,CACrB1W,UACA2W,aAAc,SAEfxW,MAAMyW,GAASA,IACfvW,OAAOnX,GAA+BA,IAEzC,OAAO8V,CAAI,IAGb,YAAoBwC,IAAbhC,OAAyBgC,GA3BVoV,EA2BqCpX,EA3BdqX,IAAIC,gBAAgBF,IAA3CA,KA4BxB,CC5BA,MAAMW,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjDupB,SAAU,OACVuF,WAAY,OACZmjB,WAAY,OACZxuB,cAAe,gBAGX46B,IAAkBt+C,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CACpD0pB,QAAS,WACTjoB,aAAc,MACd4V,MAAOrX,EAAM6e,QAAQ8L,QAAQ0wB,iBAQlBiD,GAA0Cj8C,IACrD,MAAM,MAAEF,EAAK,OAAEo8C,GAAgCl8C,EAEzCrC,GAAQW,EAAAA,EAAAA,MAER,eAAEuf,IAAmBE,EAAAA,GAAAA,KA8CrBo+B,GACJt9C,EAAAA,EAAAA,KAACmvB,GAAa,CAAApvB,UACZC,EAAAA,EAAAA,KAACm9C,GAAe,CAACx8B,MAAO,CAAE0oB,WAbPkU,KACrB,OAAQA,GACN,IAAK,WACH,OAAOz+C,EAAM6e,QAAQ6P,UAAU5P,KACjC,IAAK,UACH,OAAO9e,EAAM6e,QAAQ5L,QAAQ6L,KAC/B,QACE,MAAO,cACX,EAKwC4/B,CAAcv8C,IAASlB,SA9CxCw9C,KACvB,OAAQA,GACN,IAAK,WACH,OACEv9C,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5M,cACnB0L,eAAgB3Z,EAAoBiO,gBAG1C,IAAK,UACH,OACErP,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3M,aACnByL,eAAgB3Z,EAAoBkO,eAG1C,IAAK,WACH,OACEtP,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1M,cACnBwL,eAAgB3Z,EAAoBmO,gBAG1C,QACE,OACEvP,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezM,aACnBuL,eAAgB3Z,EAAoBoO,eAG5C,EAgBiEiuC,CAAgBx8C,OAInF,OAAIo8C,GAEAr9C,EAAAA,EAAAA,KAACy8C,GAAAA,EAAO,IACFz9B,EAAe,kBACnBuiB,MAAO8b,EAAOt9C,SAEbu9C,IAKAA,CAAY,E,gBC5FrB,MAAMI,GAAa,CACjB3+C,QAAS,OACTE,WAAY,UAGD0+C,IAAiB9+C,EAAAA,EAAAA,GAAO,KAAPA,EAAa,EAAGC,YAAY,CACxD6W,SAAU,WACVw7B,aAAc,aAAaryC,EAAM6e,QAAQif,KAAK,OAC9C,eAAgB,CACduU,aAAc,YAILyM,IAAmB/+C,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,IACxD4+C,GACHhoC,eAAgB,oBAGLmoC,IAAiBh/C,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,IACvD4+C,GACH38B,SAAU,oBACV5gB,MAAO,WAGI29C,IAAkBj/C,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,IACxD4+C,GACHhoC,eAAgB,SAChBmX,SAAU,OACVK,UAAW,OACXxI,YAAa5lB,EAAMM,QAAQ,OAGhB2+C,IAAoBl/C,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,IAC1D4+C,GACHhoC,eAAgB,eAGLsoC,IAAiBn/C,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CAC1DC,QAAS,OACTC,cAAe,SACf0W,eAAgB,SAChBvV,MAAO,WAGI89C,IAAqBp/C,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CAC9DC,QAAS,QACTqqC,SAAU,SACVjzB,MAAOrX,EAAM6e,QAAQ4P,KAAK9D,QAC1BpB,SAAU,OACV0oB,WAAY,OACZmN,aAAc,WACdC,WAAY,aAGDC,IAAyBv/C,EAAAA,EAAAA,GAAO,IAAPA,EAAY,EAAGC,YAAY,CAC/DC,QAAS,QACTqqC,SAAU,SACVjzB,MAAOrX,EAAM6e,QAAQ4P,KAAK9D,QAC1BpB,SAAU,OACV0oB,WAAY,OACZmN,aAAc,WACdC,WAAY,SACZtwB,OAAQ,UACR,UAAW,CACT1X,MAAOrX,EAAM6e,QAAQ8L,QAAQ7L,KAC7BC,eAAgB,iBAIPwgC,IAAqBx/C,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CAC9DqX,MAAOrX,EAAM6e,QAAQif,KAAK0hB,KAC1Bj2B,SAAU,OACV0oB,WAAY,WAGDwN,IAAkB1/C,EAAAA,EAAAA,GAAO6jB,GAAAA,EAAP7jB,EAAoB,EAAGC,YAAY,CAChEqX,MAAOrX,EAAM6e,QAAQ7c,MAAM8c,KAC3ByK,SAAU,OACV0oB,WAAY,WAGDyN,IAAmB3/C,EAAAA,EAAAA,GAAOo+C,GAAAA,EAAPp+C,EAAc,EAAGC,YAAY,CAC3DupB,SAAU,OACV0oB,WAAY,OACZ,UAAW,CACT1H,WAAY,cACZlzB,MAAOrX,EAAM6e,QAAQ8L,QAAQ7L,MAE/B8G,YAAa5lB,EAAMM,QAAQ,OAGhBq/C,IAAiB5/C,EAAAA,EAAAA,GAAO6/C,GAAAA,EAAP7/C,EAAuB,EAAGC,YAAY,CAClE6W,SAAU,WACVwzB,MAAO,EACP4Q,OAAQ,MACRlkC,KAAM,MC3EK8oC,GAAgDx9C,IAC3D,MAAM,SAAEiW,EAAQ,qBAAEwnC,GAAyBz9C,GAEnCyV,KAAMu5B,GAAqBD,KAI7B2O,EAAkB3B,GAFL/M,GAAkB/9B,YAAc,KAEKgF,EAAS4W,YAE3D8wB,EAA0Bl3B,IAC9B,MAAMyX,EAAOzX,EAAMrE,OAEnB,IAAK8b,EAAKzb,KAAM,CACdgE,EAAM2R,iBAEN,MAAMwlB,EAAcF,GAAmB,GACnB,KAAhBE,IACF1f,EAAKzb,KAAOm7B,EACZ1f,EAAKsa,QAET,GAiDF,OACE75C,EAAAA,EAAAA,MAACk+C,GAAc,CAAAj+C,SAAA,CA/CWi/C,MAC1B,MAAM,SAAEpD,EAAQ,WAAE5tB,GAA+B5W,EAEjD,OAAIwkC,GAAY5tB,GAAcA,EAAa,GAClChuB,EAAAA,EAAAA,KAACi+C,GAAkB,CAAAl+C,SAAE67C,IAG1BA,GACK57C,EAAAA,EAAAA,KAACo+C,GAAsB,CAACp1B,QAAS81B,EAAuB/+C,SAAE67C,IAG5D,IAAI,EAqCRoD,GAlCmBC,MACtB,MAAM,SAAEC,GAA6B9nC,EAE/B4e,EAAOijB,KAAKkG,MADF,KACSD,EAAWA,EA1CtB,UA0CyD,IADvD,IAGhB,OAAOp/C,EAAAA,EAAAA,MAACu+C,GAAkB,CAAAt+C,SAAA,CAAEi2B,EAAK,QAAwB,EA8BtDipB,GA3BqBpJ,KACxB,GAAI+I,EAAsB,CAGxB,IACIQ,EADA7B,EAAiE,UAGrE,GAAI1H,GAAU0H,cAAe,CAC3B,MAAQA,cAAet8C,EAAK,OAAEo8C,GAA+CxH,EAC7E0H,EAAgBt8C,EAChBm+C,EAAiB/B,CACnB,CAEA,OACEr9C,EAAAA,EAAAA,KAACo9C,GAAa,CACZn8C,MAAOs8C,EACPF,OAAQ+B,GAGd,CAEA,OAAO,IAAI,EAORC,CAAiBjoC,EAASy+B,YACZ,EC1ERyJ,GAAwCn+C,IACnD,MAAM,iBACJo+C,EAAgB,SAChBnoC,EAAQ,oBACRooC,EAAmB,UACnBxT,EAAS,aACTpsB,EAAY,6BACZ6/B,EAA4B,eAC5BC,GACEv+C,GAEGw+C,EAAeC,IAAoBpqC,EAAAA,EAAAA,WAAS,IAC7C,eAAEwJ,IAAmBE,EAAAA,GAAAA,KAErB2gC,EAAgBA,IAAMD,GAAiB,GAIvCE,EAAiBA,KACjBP,GAAoBnoC,EAAS4W,YAC/BuxB,EAAiBnoC,EAAS4W,WAC5B,EAkEF,OACEluB,EAAAA,EAAAA,MAAC69C,GAAc,CAAA59C,SAAA,EACbD,EAAAA,EAAAA,MAAC89C,GAAgB,CAAA79C,SAAA,EACfD,EAAAA,EAAAA,MAAC+9C,GAAc,CAAA99C,SAAA,EACbC,EAAAA,EAAAA,KAAC89C,GAAe,CAAA/9C,SA9BPggD,MACf,MAAM,SAAEnE,EAAQ,WAAE5tB,GAA+B5W,EACjD,OAAIwkC,GAAY5tB,GAEZhuB,EAAAA,EAAAA,KAAC27C,GAAe,CACdC,SAAUA,EACV5tB,WAAYA,IAKX,IAAI,EAmBa+xB,MAClB//C,EAAAA,EAAAA,KAAC2+C,GAAgB,CACfvnC,SAAUA,EACVwnC,qBAAsBY,QAG1B1/C,EAAAA,EAAAA,MAACi+C,GAAiB,CAAAh+C,SAAA,CArBlB6f,GAEA5f,EAAAA,EAAAA,KAACy8C,GAAAA,EAAO,CAAClb,MAAO3hB,EAAa7f,UAC3BC,EAAAA,EAAAA,KAACu+C,GAAe,MAKf,KApDeyB,MAEtB,MAAMC,EAAgBrgC,IAAiB6/B,EAAgCK,EAAiBD,EAExF,OAAI7T,GAAapsB,GAEb5f,EAAAA,EAAAA,KAACw+C,GAAgB,CACfx1B,QAASi3B,KACLjhC,EAAe,8BAKlB,IAAI,EAsDJghC,SAlDHN,GAEA1/C,EAAAA,EAAAA,KAACy+C,GAAc,CACb7pC,MAAO8qC,EACPt/C,QAAQ,gBAKP,MA6CLJ,EAAAA,EAAAA,KAACq6C,GAAmB,CAClBE,OAAQoF,EACRlF,aAzFkByF,IAAMN,GAAiB,GA0FzCpF,cAlFiBrC,KACjBoH,GACFA,EAAiBnoC,EAAS4W,YAG5B4xB,GAAiB,EAAM,EA6EW7/C,UAE9BC,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACTyR,WAAS,EACTpL,MAAM,SAAQpwB,UAEdC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5P,sBACnB0O,eAAgB3Z,EAAoBiL,8BAI3B,EC1If8zC,GAAyBA,CAC7BC,EACApU,EACAwT,EACAa,EACAP,KASO,CACL1oC,SAR+B,CAC/By+B,SAAUuK,EAAkBvK,SAC5B7nB,WAAYoyB,EAAkBpyB,WAC9B4tB,SAAUwE,EAAkBxE,UAAY,GACxCsD,SAAUkB,EAAkBlB,UAK5BlT,YACAwT,sBACAD,iBAAkBO,EAClBL,6BAA8BY,IAA8B,IAa1DC,GAAqBlpC,IACxBA,EAASy+B,UAAgD,YAApCz+B,EAASy+B,SAAS0H,cAEpCgD,GAAqBA,CAACC,EAAmCjqC,KAC7DvW,EAAAA,EAAAA,KAACs/C,GAAY,IAEPkB,GADCjqC,G,gBCrCF,MAAM4Y,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACxD6W,SAAU,WACVxV,MAAO,WAOIsgD,KAJc5hD,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAC3DitB,WAAYjtB,EAAMM,QAAQ,QAGUP,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjEqX,MAAOrX,EAAM6e,QAAQ7c,MAAM8oB,UAGhB82B,IAAkB7hD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC1DC,QAAS,OACTE,WAAY,WACZyW,eAAgB,gBAChByT,UAAWrqB,EAAMM,QAAQ,OAGduhD,IAAmB9hD,EAAAA,EAAAA,GAAO+hD,GAAAA,EAAP/hD,EAAmB,EAAGC,YAAY,CAChE4lB,YAAa5lB,EAAMM,QAAQ,GAC3B+W,MAAOrX,EAAM6e,QAAQif,KAAK,KAC1BvU,SAAU,WAGCwB,IAAchrB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CACvDC,QAAS,OACTE,WAAY,SACZyW,eAAgB,iBAGLmrC,IAAahiD,EAAAA,EAAAA,GAAO,KAAPA,EAAa,EAAGC,YAAY,CACpDgiB,OAAQ,EACR0H,QAAS,EACTs4B,UAAW,WAGAC,IAAoBliD,EAAAA,EAAAA,GAAO,KAAPA,EAAa,EAAGC,YAAY,CAC3DgiB,OAAQ,EACR0H,QAAS,EACTs4B,UAAW,OACXnrC,SAAU,WACVuzB,OAAQ,EACRE,SAAU,SACV7oC,aAAc,MACd4sB,UAAW,mCAGA6zB,IAAmBniD,EAAAA,EAAAA,GAAO,MAAPA,EAC9B,EAAGC,QAAO8xC,YAAcqQ,gBAAe,OAAc,CACnD5zB,aAAc4zB,EAAeniD,EAAMM,QAAQ,GAAKN,EAAMM,QAAQ,GAC9DuW,SAAU,eAIDurC,IAAoBriD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC5DC,QAAS,OACTE,WAAY,SACZyW,eAAgB,gBAChBvW,cAAeL,EAAMM,QAAQ,OAGlB+hD,IAAmBtiD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC3DsiD,UAAW,aAAatiD,EAAM6e,QAAQif,KAAK,WAGhCykB,IAAoBxiD,EAAAA,EAAAA,GAAO+1C,GAAAA,EAAP/1C,EAAsB,EAAGC,YAAY,CACpEE,cAAe,cACfwpB,QAAS,WACTwoB,WAAY,0BACZ3oB,SAAU,OACV0oB,WAAY,OACZjwB,OAAQ,QACR+M,OAAQ,cAGGyzB,IAAoBziD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC5DqyC,aAAc,aAAaryC,EAAM6e,QAAQif,KAAK,WAGnC2kB,IAAqB1iD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC7DC,QAAS,OACToB,MAAO,OACP,WAAY,CACVA,MAAO,OACP0sB,SAAU,aAID4xB,IAAiB5/C,EAAAA,EAAAA,GAAOqX,EAAAA,EAAPrX,EAAyB,EAAGC,YAAY,CACpE4lB,YAAa5lB,EAAMM,QAAQ,OAGhBoiD,IAA4B3iD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACpEC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZ4uB,OAAQ,UACRxF,SAAU,OACV2oB,WAAY,oBACZ,UAAW,CACT76B,MAAOrX,EAAM6e,QAAQ8L,QAAQ7L,UCtE3B2iC,GAAqBA,CAACC,EAAmCjqC,KAC7DvW,EAAAA,EAAAA,KAACs/C,GAAY,IAEPkB,GADCjqC,GAKIkrC,GAA8CtgD,IACzD,MAAM,kBACJugD,EAAiB,gBACjBC,EAAe,YACf7L,EAAW,eACXqB,EAAc,2BACdkJ,EAA0B,yBAC1BuB,EAAwB,kBACxBC,EAAiB,gBACjBC,EAAe,uBACf3B,EAAsB,eACtBL,GACE3+C,EAiBE4gD,EAAsBA,KAC1B,IAAKjM,GAAat9B,OAChB,MAAO,GAGT,MAAMwpC,GApBeC,EAoBqC9K,EApBpB+K,EAoBoCR,EAnB1EE,GACIvwB,QAAQskB,IACR,MAAMyB,EAAc8K,IAAoB,EAExC,OAAOvM,EAAKwB,iBAAmB8K,KAAYtM,EAAKyB,aAAeA,EAAY,IAE5EmB,MAAK,CAACC,EAAGC,IACJD,EAAEE,YAAYzU,WAAawU,EAAEC,YAAYzU,UACpCuU,EAAEE,YAAYzU,UAAYwU,EAAEC,YAAYzU,UAG1C,MAUP5S,QAAQja,GAAa0+B,EAAYz1B,SAASjJ,EAAS4W,cAAgB8zB,EAAgB1qC,KACpFoI,KAAKpI,GAAa+oC,EAAuB/oC,GAAU,GAAO,EAAMipC,EAA4BP,KAvB3EqC,IAACF,EAAiBC,EAyBtC,OAAOF,CAAa,EA2BhBI,EAxBgBC,MACpB,MAAM/M,EAAYyM,IAGlB,OAD0BzM,GAAaA,EAAU98B,OAAS,GAMxD1Y,EAAAA,EAAAA,MAACqhD,GAAgB,CAAAphD,SAAA,EACfC,EAAAA,EAAAA,KAACshD,GAAiB,CAAC3gC,MAAO,CAAE5hB,QAAS4iD,EAAkB,QAAU,QAAS5hD,UACxEC,EAAAA,EAAAA,KAAC6gD,GAAU,CAAA9gD,SAAEu1C,EAAU91B,IAAI+gC,SAE7BzgD,EAAAA,EAAAA,MAAC0hD,GAAyB,CAACx4B,QAASA,IAAM64B,IAAoB9hD,SAAA,EAC5DC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenO,QACnBiN,eAAgB3Z,EAAoByM,QAEtC7N,EAAAA,EAAAA,KAACqhD,GAAiB,CAAC1gC,MAAO,CAAE7K,UAAW6rC,EAAkB,iBAAmB,gBAbzE,IAeY,EAIEU,GAEzB,OAAOriD,EAAAA,EAAAA,KAACmhD,GAAgB,CAAAphD,SAAEqiD,GAAoC,EChG1DE,GAAU,CACd5C,eAAgB,CACd3gD,QAAS,OACTE,WAAY,SACZyW,eAAgB,WAChB2S,SAAU,OACVuF,WAAY,OACZmjB,WAAY,QAEdwR,mBAAoB,CAClBxjD,QAAS,OACTE,WAAY,SACZyW,eAAgB,WAChB2S,SAAU,OACVuF,WAAY,OACZmjB,WAAY,OACZ,YAAa,CACXjwB,OAAQ,kBACRuH,SAAU,OACV0oB,WAAY,UAKLyR,GAA8DrhD,IACzE,MAAM,UAAE4O,EAAS,eAAE0yC,GAAmBthD,GAChC,eAAE6d,IAAmBE,EAAAA,GAAAA,KAmCrBwjC,EAA0B3yC,GAAc0yC,GAjChBE,MAC5B,MACMC,GACJ5iD,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelM,UACnBgL,eAAgB3Z,EAAoB2O,aAChCiP,EAAe,oBAGjB6jC,GACJ7iD,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenM,WACnBiL,eAAgB3Z,EAAoB0O,aAGlCgzC,GACJ9iD,EAAAA,EAAAA,KAACy+C,GAAc,CACbzoB,KAhBiB,MAiBbhX,EAAe,mBAIvB,OACElf,EAAAA,EAAAA,MAACijD,GAAAA,EAAU,CACTziD,GAAImiD,EAAiBH,GAAQC,mBAAqBD,GAAQ5C,kBACtD1gC,EAAe,oBAAmBjf,SAAA,CAErCgQ,EAAY+yC,EAAW,KACvBL,EAAiBI,EAAWD,IAClB,EAI+CD,GAEhE,OAAO3iD,EAAAA,EAAAA,KAAA,OAAAD,SAAM2iD,GAA8B,EC3ChCM,GAA8C7hD,IACzD,MAAM,YACJ20C,EAAW,eACXqB,EAAc,2BACdkJ,EAA0B,aAC1B4C,EAAY,iBACZC,EAAgB,iBAChBC,EAAgB,eAChBC,EAAc,mBACdC,EAAkB,sBAClBC,GACEniD,EAEEoiD,GAAsB,EACtBtC,EAAenL,EAAYt9B,OAAS,GAEnCgrC,EAAmBC,IAAwBjuC,EAAAA,EAAAA,WAAS,IACpDkuC,EAAaC,IAAkBnuC,EAAAA,EAAAA,WAAS,IACxCouC,EAAkBC,IAAuBruC,EAAAA,EAAAA,WAAS,IAClDsuC,EAAiBC,IAAsBvuC,EAAAA,EAAAA,UAA+B,KACtEylC,EAAU+I,IAAexuC,EAAAA,EAAAA,UAAS,KAEnC,MAAE2P,IAAUpG,EAAAA,GAAAA,MACZ/D,EAASmK,KAEPvO,KAAM0gC,GAAsBpC,GAA0B+F,GAExDwE,EAA+BY,IAA8B,EAE7D4D,EAAkBA,KACtBR,GAAqB,GACrBE,GAAe,GACfE,GAAoB,EAAM,EAGtBK,EAAcrL,IAClBoL,IACAF,GAAoBI,GAClBA,EAAc9yB,QAAQ+yB,GAAiBA,EAAahtC,SAAS4W,aAAe6qB,KAC7E,EA8DGwL,EAA0BC,IAC1BhB,GACFA,EAAsBgB,EACxB,EAsBIxE,EAAkB9xB,IACtB,MAAMu2B,EAAezO,EAAYzkB,QAAQ7a,GAAOA,IAAOwX,IAEvDq2B,EAAuBE,EAAa,EAkBhCC,EAAeA,KACnB,GAA2B,IAAvB1O,EAAYt9B,OACd,MAAO,GAjBW2pC,IAACF,EAAiBC,EA0BtC,OAPc5K,GAnBO2K,EAmB2B9K,EAnBV+K,EAmB0BqB,EAlBhEjM,GACIjmB,QAAQskB,IACR,MAAMyB,EAAc8K,IAAoB,EAExC,OAAOvM,EAAKwB,iBAAmB8K,KAAYtM,EAAKyB,aAAeA,EAAY,IAE5EmB,MAAK,CAACC,EAAGC,IACJD,EAAEE,YAAYzU,WAAawU,EAAEC,YAAYzU,UACpCuU,EAAEE,YAAYzU,UAAYwU,EAAEC,YAAYzU,UAG1C,KAO4E,IAEpF5S,QAAQja,GAAa0+B,EAAYz1B,SAASjJ,EAAS4W,aAAesyB,GAAkBlpC,KACpFoI,KAAKpI,GACJ+oC,GAAuB/oC,EAAU4K,QAAQkhC,IAAmB,EAAMzD,EAA8BK,IAGhF,EAqBtB,IAAI2E,EAAiC,CACnCrN,YAAamM,EACbzM,mBA3I0BwC,IAC1B,MAAM,UAAE/9B,EAAS,QAAEs9B,EAAO,QAAEliC,GAA+B2iC,GAEtD/9B,GAAas9B,EAAU,GAAK72B,QAAQrL,KACvCstC,IACAF,GAAoBI,GAClBA,EAAc3kC,KAAK4kC,IACjB,MAAMM,EAAmB,IAAKN,GAK9B,OAJIM,EAAiBttC,SAAS4W,aAAe6qB,IAC3C6L,EAAiB9kC,aAAejJ,GAG3B+tC,CAAgB,MAG7B,EA6HA1N,qBA3EsBh/B,IAhBtB6rC,GAAoB,GACpBF,GAAe,GAGf7lB,YAAW,KACT+lB,GAAoB,GACpBF,GAAe,EAAM,GAHI,KAe3BK,EAAYtvB,KAAKiwB,MAAMx2B,YACvB,MAAMy2B,EAAoB5sC,EAAOuhC,cAAcloB,QAAQ5E,GAAMA,EAAEuB,YAAcvB,EAAEuB,WAAa,GAAKvB,EAAElR,YAEnG,GAAiC,IAA7BqpC,EAAkBpsC,OACpB,OAEF,MAAMqsC,EAAsBD,EAAkBplC,KAAKiN,GAAMA,EAAEuB,YAAc,IACnE82B,EAAqBhP,EAAYt9B,OAAS,EAAIs9B,EAAc,GAC5DiP,EAAiB9B,GAAc+B,uBACjC,IAAIF,KAAuBD,GAC3BA,EAAoB38B,MAAM,EAAG,GAEjCm8B,EAAuBU,GAEvBH,EAAkB7pB,SAAStO,GAAMy3B,EAAWz3B,EAAEosB,UAAS,EA4DvDjC,kBA7GmB4C,IACnB,MAEMyL,EAA8C9pB,MAAMC,KAAKoe,GAAOh6B,KAAI,CAACo5B,EAAMriC,KAAQ,CACvFa,SAAU,CACR4W,YAJgB,GAIHzX,EAAM,GACnBqlC,SAAUhD,EAAK9hC,KACfooC,SAAUtG,EAAK5iB,MAEjBypB,8BAA8B,MAGhCsE,EAAmBkB,GACnBtB,GAAe,EAAK,EAiGpBuB,yBA5HqBxF,CAACoD,EAAkBjK,KACxCoL,IACAF,GAAoBI,GAClBA,EAAc3kC,KAAK4kC,IACjB,MAAMM,EAAmB,IAAKN,GAK9B,OAJIM,EAAiBttC,SAAS4W,aAAe6qB,IAC3C6L,EAAiBhF,eAAiBoD,GAG7B4B,CAAgB,KAE1B,EAkHDrN,UAAW8L,EACXh4B,WAAYk4B,GAGVJ,IACFwB,EAAiB,IACZA,EACHxO,OAAQgN,EAAakC,mBACrBhO,eAAgB8L,EAAa9L,eAC7BD,YAAa+L,EAAamC,YAC1BlP,WAAY+M,EAAa+B,yBAI7B,MASMK,GACJrlD,EAAAA,EAAAA,KAACshC,GAAuB,CACtBxqB,KAAK,wBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1S,uBACnBwR,eAAgB3Z,EAAoBmI,yBAGxCg4B,OACEvhC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejT,6BACnB+R,eAAgB3Z,EAAoB4H,+BAGxC+Y,aACE/hB,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejT,6BACnB+R,eAAgB3Z,EAAoB4H,kCAGpCo6C,GAAgBkC,WAIlBC,GACJvlD,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBhH,KAAK,0BACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5S,yBACnB0R,eAAgB3Z,EAAoBiI,8BAGpC+5C,GAAgBoC,aAIlBC,EAA+BrC,GAAgBsC,YAAYD,6BAE3DE,EAAyBF,GAA8BrmC,MAC1DkmC,GAAqBA,IAAatqC,EAAO4qC,cAAcN,WAGpDO,GAA2BF,IAC/B3lD,EAAAA,EAAAA,KAAC2hC,GAAe,CACd7qB,KAAK,0BACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexS,yBACnBsR,eAAgB3Z,EAAoBqI,2BAGxCq4B,WAAY7lB,GAAehM,uBACvBmzC,GAAgBsC,aAIlBpQ,EAzGkBwQ,MACtB,MAAMC,EJ1KiBC,EAAClC,EAAuCI,IAC9CJ,EAAgBtkC,KAAKpI,IAAQ,IAC3CA,EACHmoC,iBAAkB2E,MIuK+B8B,CAAmBlC,EAAiBI,GAG/E+B,EAAoB,IAFczB,OAEIuB,GAE5C,OAAIE,EAAkBztC,OAAS,GACtBxY,EAAAA,EAAAA,KAAC+gD,GAAiB,CAAAhhD,SAAEkmD,EAAkBzmC,IAAI+gC,MAG5C,IAAI,EA+FKuF,GACZI,EAnEJhD,GACEljD,EAAAA,EAAAA,KAACkhD,GAAiB,CAAAnhD,UAChBC,EAAAA,EAAAA,KAACuhD,GAAkB,CAAAxhD,UACjBC,EAAAA,EAAAA,KAAC45C,GAAQ,IAAK6K,QAGhB,KA+DN,OACE3kD,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,CACGslD,EACAE,EACAM,GACD/lD,EAAAA,EAAAA,MAACkhD,GAAgB,CAACpQ,WAAY,CAAEqQ,gBAAelhD,SAAA,CAC5CmmD,GACDlmD,EAAAA,EAAAA,KAACwiD,GAAuB,CACtBzyC,UAAW2zC,EACXjB,eAAgBmB,IAEjBtO,EACAQ,EAAYt9B,OAAS,IACpBxY,EAAAA,EAAAA,KAACyhD,GAAe,CACdC,kBAAmB6B,EACnB5B,gBAAiB6B,EACjB1N,YAAaA,EACbqB,eAAgBA,EAChB0K,kBAjHgBA,KACxBoC,IACAR,GAAsBD,EAAkB,EAgHhC1B,gBAAiBxB,GACjBH,uBAAwBA,GACxBE,2BAA4BZ,EAC5BK,eAAgBA,EAChB8B,yBAA0BtK,SAI/B,EC7TM6O,GAA4ChlD,IACvD,MAAM,aAAE8hD,EAAY,MAAEllC,EAAK,iBAAEqoC,GAAqBjlD,GAC5C,eAAE6d,IAAmBE,EAAAA,GAAAA,KAErB4oB,EAAcmb,GAAcnb,cAChC9nC,EAAAA,EAAAA,KAACy8C,GAAAA,EAAO,CACNlb,MAAO0hB,EAAanb,YACpBue,gBAAiB,EACjBC,gBAAiB,OACbtnC,EAAe,gCAA+Bjf,UAElDC,EAAAA,EAAAA,KAAC2gD,GAAgB,MAIrB,OACE3gD,EAAAA,EAAAA,KAAC0gD,GAAe,CAAA3gD,UACdD,EAAAA,EAAAA,MAAC+pB,GAAW,CAAA9pB,SAAA,CACTge,EACAqoC,GAAmBpmD,EAAAA,EAAAA,KAACygD,GAAsB,CAAA1gD,SAAC,MAA6B,KACxE+nC,MAEa,ECXT4T,GAAgCv6C,IAC3C,MAAM,YACJ20C,EAAW,eACXqB,EAAc,6BACdsI,EAA4B,iBAC5ByD,EAAgB,KAChBpsC,EAAI,OACJa,EAAM,WACNwT,EAAU,cACVo7B,EAAa,iBACbC,EAAgB,sBAChBlD,GACEniD,GAEIyV,KAAM6vC,GAAsB5R,MAC5Bj+B,KAAM0gC,GAAsBpC,KAK9BwR,GAAaD,IAAsBnP,EAEnC2L,GALe0D,EAKYxP,EAJ/BsP,GAAmBrnC,MAAMpC,GAASA,EAAKm6B,iBAAmBwP,KADvCA,MAOrB,OACE7mD,EAAAA,EAAAA,MAACqvB,GAAa,CAAApvB,SAAA,EACZC,EAAAA,EAAAA,KAACmmD,GAAc,CACbpoC,MAAOwoC,EACPH,iBAAkBpkC,QAAQmJ,MAE5BnrB,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACTyR,WAAS,EACTn7B,QAAQ,QACR+vB,MAAM,OAAMpwB,SAEXymD,KAEHxmD,EAAAA,EAAAA,KAACgjD,GAAe,CACdG,iBAAkBrsC,EAClBusC,mBAAoBrhC,QAAQmJ,GAC5BgsB,eAAgBA,EAChB8L,aAAcA,EACdnN,YAAaA,EACbwN,sBAAuBA,EACvBJ,iBAAkBA,EAClB7C,2BAA4BZ,EAC5B2D,eAAgBzrC,IAEjB+uC,GAAY1mD,EAAAA,EAAAA,KAACgW,EAAO,IAAM,OACb,ECvDdmZ,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,eAOCixC,GAA4CzlD,IACvD,MAAM,gBAAE0lD,GAAoB1lD,GACrB2lD,EAAgBC,IAAqBvxC,EAAAA,EAAAA,aAEtC,eAAEwJ,IAAmBE,EAAAA,GAAAA,MAErB,SAAEJ,EAAQ,MAAEqG,EAAK,QAAEguB,IAAYp0B,EAAAA,GAAAA,MAE/B/D,EAASmK,IAET6hC,EAAoBC,IACxBjnD,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT8D,WAAW,OACXxtB,QAAQ,QAAOL,UAEfC,EAAAA,EAAAA,KAAC8a,GAAY,IAAKmsC,MAIhBC,EAAsBpR,IAC1B,MAAMR,EAAkDQ,EAAYt2B,KAAKhJ,IAAE,CACzEwX,WAAYxX,MAGduwC,EAAkB,IAAKzR,EAAW6R,oBAAqB7R,IACvDx2B,EAAS,mCAAoCw2B,GAC7CnC,EAAQ,mCAAmC,EAGvCiU,EAAgCtR,IACpC,MAAMR,EAAkDQ,EAAYt2B,KAAKhJ,IAAE,CACzEwX,WAAYxX,MAGduwC,EAAkB,IAAKzR,EAAW6R,oBAAqB7R,IACvDx2B,EAAS,6CAA8Cw2B,GACvDnC,EAAQ,6CAA6C,EAGjDkU,EAAkB/R,GACjBA,EAIEA,EAAU6R,qBAAqB3nC,KAAKiN,GAAMA,EAAEuB,aAH1C,GAiFLs5B,EA3E6BC,MACjC,MAAM5vC,EAASkvC,GAAiBjB,aAC1B1nC,EAAcvG,GAAQuG,cAAe,EACrCD,EAAatG,GAAQsG,aAAc,EAEnCupC,GACJxnD,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejS,sBACnB+Q,eAAgB3Z,EAAoB4I,wBAIxC,IAAKkU,EACH,OAAO,KAGT,MAAMi5B,EAAiBx/B,GAAQw/B,gBAAkB,EAC3CsQ,EAAmBzsC,EAAO4qC,cAAgBkB,EAEhD,OACE9mD,EAAAA,EAAAA,KAAC07C,GAAQ,CACP+D,8BAA4B,EAC5BtI,eAAgBA,EAChBoP,cAAeS,EAAiB,CAC9BxwC,GAAIyF,GAAelS,wBACnBgR,eAAgB3Z,EAAoB2I,0BAEtCy8C,iBAAkBgB,EAClB1R,YAAauR,EAAeI,GAC5BnE,sBAAuB4D,EACvBvvC,OAAQA,EACRwT,WAAYxT,GAAQyG,YAAY+C,YAChC+hC,iBAAkBjlC,EAClBnH,KAAK,oCACL,EAyCSywC,GACTG,EAtCuCC,MAC3C,MAAMhwC,EAASkvC,GAAiBe,uBAC1B1pC,EAAcvG,GAAQuG,cAAe,EACrCD,EAAatG,GAAQsG,aAAc,EAEnC4pC,GACJ7nD,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenT,gCACnBiS,eAAgB3Z,EAAoB0H,kCAIxC,IAAKoV,EACH,OAAO,KAGT,MAAMi5B,EAAiBx/B,GAAQw/B,gBAAkB,EAC3CsQ,EAAmBzsC,EAAO4sC,wBAA0Bd,EAE1D,OACE9mD,EAAAA,EAAAA,KAAC07C,GAAQ,CACP+D,8BAA4B,EAC5BtI,eAAgBA,EAChBoP,cAAeS,EAAiB,CAC9BxwC,GAAIyF,GAAepT,kCACnBkS,eAAgB3Z,EAAoByH,oCAEtC29C,iBAAkBqB,EAClB/R,YAAauR,EAAeI,GAC5BnE,sBAAuB8D,EACvBlE,iBAAkBjlC,EAClBkN,WAAYxT,GAAQyG,YAAY+C,YAChCrK,KAAK,8CACL,EAKmB6wC,GAEnBG,GACJhoD,EAAAA,EAAAA,MAAC0gB,GAAAA,GAAI,CACHkS,WAAS,KACL1T,EAAe,aAAYjf,SAAA,CAE9BunD,EACAI,KAICK,EAEJlB,GAAiBjB,cAAc1nC,aAAe2oC,GAAiBe,wBAAwB1pC,YACnF4pC,EACA,KAEN,OAAO9nD,EAAAA,EAAAA,KAACmvB,GAAa,CAAApvB,SAAEgoD,GAAiC,EC5H7CC,GAAgD7mD,IAC3D,MAAM,YAAEurC,EAAW,OAAE/0B,EAAM,gBAAE2Y,EAAe,aAAEC,GAAiBpvB,GAE7D+Y,SAAS,YAAET,IACTQ,MACE,WAAEN,EAAU,cAAED,EAAa,WAAEI,GAAeL,GAE5C,eAAEuF,IAAmBE,EAAAA,GAAAA,MAErB,mBAAElM,GAAuBK,IAEzBqd,GAAUC,EAAAA,GAAAA,IAAgE,CAC9Eic,cAAeF,EACf9b,eAAgB,WAChBq3B,kBAAkB,EAClBp3B,KAAM,SAGF,MAAE1L,EAAK,UAAE2L,GAAcJ,GACvB,QAAEM,EAAO,aAAEE,GAAiBJ,EAE5B9V,EAASmK,KAGbjL,SAAS,UAAEO,IACTI,MACE,aAAED,GAAiBH,EAEnBytC,EAAc32B,OAAOC,KAAKxW,EAAO4qC,cAAgB,CAAC,GAAGpmC,KAAK5K,GAAU,gBAAgBA,MAGpFuzC,EAAY,IAFC52B,OAAOC,KAAKxW,MACRktC,GAGjB92B,EAAoBxW,GAAcyW,QACrCC,IAAQ62B,EAAU3oC,KAAKiS,GAAQA,EAAIpS,gBAAegB,SAASiR,EAAGlU,WAAWiC,eAAiB,MAGvF+oC,EACJzwC,GAAQy3B,WACR7d,OAAOvW,OAAOrD,EAAOy3B,WAAW/d,QAC7BwkB,GAAyDA,EAAS33B,eAGrE3E,6BAA6B,yBAAEN,IAC7BK,MACE,gBAAEJ,GAAoBD,EAOtBovC,EAAyBrmC,QAAQomC,GAAsBA,EAAmB5vC,OAAS,GAEnF8vC,EAEJ3wC,GAAQiuC,cAAc1nC,aAAevG,GAAQiwC,wBAAwB1pC,YAEvE,OACEpe,EAAAA,EAAAA,MAACyyB,GAAAA,GAAY,IAAK7B,EAAO3wB,SAAA,EACvBC,EAAAA,EAAAA,KAACgsB,GAAqB,CACpBC,sBAAuBmF,EACvBpe,mBAAoBA,KAEtBlT,EAAAA,EAAAA,MAAC4sB,GAAU,CACT8F,YAAU,EACVC,SAAU/B,EAAQsB,aAAazB,GAAcxwB,SAAA,CAE5CuoD,GACCxoD,EAAAA,EAAAA,MAACyyC,GAAmB,CAAAxyC,SAAA,EAClBC,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,KACR+V,MAAM,cACNJ,UAAU,OAAMhW,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevR,gCACnBqQ,eAAgB3Z,EAAoBsJ,qCAGxC1K,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetR,8BACnBoQ,eAAgB3Z,EAAoBuJ,qCAIxC,MACJ3K,EAAAA,EAAAA,KAACwgB,GAAAA,GAAI,CACHkS,WAAS,EACThd,eAAe,SACfK,UAAU,SAAQhW,UAElBD,EAAAA,EAAAA,MAAC0gB,GAAAA,GAAI,CACHf,MAAI,EACJgB,GAAI,GACJC,GAAI,GAAG3gB,SAAA,EAEPC,EAAAA,EAAAA,KAAC4mD,GAAc,CAACC,gBAAiBlvC,KACjC7X,EAAAA,EAAAA,MAAC0yC,GAAqB,CAAAzyC,SAAA,EACpBC,EAAAA,EAAAA,KAAC0yC,GAAc,CACbtyC,QAAQ,KACR+V,MAAM,cACNJ,UAAU,OAAMhW,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetS,4BACnBoR,eAAgB3Z,EAAoBuI,iCAGxC3J,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACR+V,MAAM,cACNJ,UAAU,OAAMhW,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerS,iCACnBmR,eAAgB3Z,EAAoBwI,wCAIzCy+C,GACCroD,EAAAA,EAAAA,KAACq0C,GAAoB,CACnB18B,OAAQA,EACR28B,eAAgBt5B,IAEhB,MACJhb,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,gBACLiH,OACEje,EAAAA,EAAAA,MAACgqB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY5S,EAAOi0B,cAAgB,OAAS,UAAWlvC,SAAA,EAE7DC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehT,wBACnB8R,eAAgB3Z,EAAoB6H,wBACpC+R,OAAQ,CACN64B,qBACE7zC,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAYw2B,qBAC7BtwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1X,0BACnBwW,eAAgB3Z,EAAoBmD,8BAI1CuvC,qBACEh0C,EAAAA,EAAAA,MAAC4d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAYy2B,qBAC7BvwB,OAAO,SACPM,IAAI,aAAY9jB,SAAA,EAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezX,0BACnBuW,eAAgB3Z,EAAoBoD,4BACnC,OAGPuvC,qBACE/zC,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY02B,qBAC7BxwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexX,0BACnBsW,eAAgB3Z,EAAoBqD,8BAI1CuvC,qBACEh0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY22B,qBAC7BzwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevX,0BACnBqW,eAAgB3Z,EAAoBsD,8BAI1CuvC,qBACEj0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY42B,qBAC7B1wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetX,0BACnBoW,eAAgB3Z,EAAoBuD,8BAI1CuvC,qBACEl0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY62B,qBAC7B3wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerX,0BACnBmW,eAAgB3Z,EAAoBwD,8BAI1CuvC,qBACEn0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY82B,qBAC7B5wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepX,0BACnBkW,eAAgB3Z,EAAoByD,8BAI1CuvC,qBACEp0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY+2B,qBAC7B7wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenX,0BACnBiW,eAAgB3Z,EAAoB0D,iCAM7C6S,GAAQs3B,eAAe7wB,YAAY+C,YAAc,KAAO,QAG7DvM,MAAOoG,EAAOi0B,iBACVt3B,GAAQs3B,iBAEdjvC,EAAAA,EAAAA,KAAC4vC,GAAyB,CACxB94B,KAAK,gBACLiH,OACEje,EAAAA,EAAAA,MAACgqB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAEstB,WAAY5S,EAAOk0B,cAAgB,OAAS,UAAWnvC,SAAA,EAE7DC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/S,wBACnB6R,eAAgB3Z,EAAoB8H,wBACpC8R,OAAQ,CACN64B,qBACE7zC,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAYw2B,qBAC7BtwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1X,0BACnBwW,eAAgB3Z,EAAoBmD,8BAI1CuvC,qBACE9zC,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAYy2B,qBAC7BvwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezX,0BACnBuW,eAAgB3Z,EAAoBoD,8BAI1CuvC,qBACE/zC,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY02B,qBAC7BxwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexX,0BACnBsW,eAAgB3Z,EAAoBqD,8BAI1CuvC,qBACEh0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY22B,qBAC7BzwB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAevX,0BACnBqW,eAAgB3Z,EAAoBsD,8BAI1CuvC,qBACEj0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY42B,qBAC7B1wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAetX,0BACnBoW,eAAgB3Z,EAAoBuD,8BAI1CuvC,qBACEl0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY62B,qBAC7B3wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerX,0BACnBmW,eAAgB3Z,EAAoBwD,8BAI1CuvC,qBACEn0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY82B,qBAC7B5wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepX,0BACnBkW,eAAgB3Z,EAAoByD,8BAI1CuvC,qBACEp0C,EAAAA,EAAAA,KAAC0d,GAAU,CACTkG,KAAMtN,EAAW+G,GAAY+2B,qBAC7B7wB,OAAO,SACPM,IAAI,aAAY9jB,UAEhBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenX,0BACnBiW,eAAgB3Z,EAAoB0D,iCAM7C6S,GAAQu3B,eAAe9wB,YAAY+C,YAAc,KAAO,QAG7DvM,MAAOoG,EAAOk0B,iBACVv3B,GAAQu3B,iBAEdlvC,EAAAA,EAAAA,KAAC6yC,GAAuB,CAACl7B,OAAQA,KACjC3X,EAAAA,EAAAA,KAAC2sB,GAAa,CACZvsB,QAAQ,YACR+V,MAAM,UACN6G,KAAK,SACLkF,UAAW8O,GAAWE,GAAgBZ,KAClCtR,EAAe,wBAAuBjf,UAE1CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelT,iBACnBgS,eAAgB3Z,EAAoB2H,2BAK5CjJ,EAAAA,EAAAA,MAACsyC,GAAW,CACVhyC,QAAQ,OACR+V,MAAM,UACN6S,QAASA,KA1Uf9P,EAAgBY,EAAWH,SAC3BD,EAAcC,EAAa,IAyUO5Z,SAAA,EAE5BC,EAAAA,EAAAA,KAACqyC,GAAe,KAChBryC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1Q,KACnBwP,eAAgB3Z,EAAoBmK,eAI7B,ECzYb4jB,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,WACVxV,MAAO,WAGHooD,IAAiB1pD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAClDC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,aA2BJwpD,GAAgBA,KAC3B,MACEtuC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,GAE1B,YAAE9E,GAAgBH,KAEjB0e,EAAeC,IAAoBte,EAAAA,EAAAA,WAAS,IAE7C,eAAE3C,GAAmBQ,KAEnBuD,KAAM6xC,GAAgB5a,KAExB4G,EAAsBzyB,QAAQymC,GAAarZ,WAAWsF,QAAQC,oBAG5D/9B,KAAM8xC,GAAqB7Z,GAAa4F,IAG9Cv6B,SAAS,UAAEO,IACTI,MACE,aAAEH,EAAY,aAAEE,GAAiBH,EAEjCgC,GAAMF,EAAAA,GAAAA,MAGVhD,6BAA6B,yBAAEN,IAC7BK,MACE,gBAAEJ,EAAe,aAAEC,GAAiBF,GA2C1CxD,EAAAA,EAAAA,YAAU,KACRmrB,IAAyB,GACxB,KAEHnrB,EAAAA,EAAAA,YAAU,KACRoiB,GAAyB,uBAAwB1e,EAActG,GAC/DqG,EAAgB,uBAAuB,GAEtC,IAEH,MAAMyvC,EAA2B3xC,UAC/B,IACE,MAAM22B,QAAuBib,EAAAA,GAAAA,KAA2BnsC,EAAK5J,EAAgB,CAC3Ekf,UAAW,QACXlf,iBACA2hB,YAAa,eAIf,GAFe,IAAInZ,GAAqBsyB,EAAe9xB,QAE5CN,YAAa,CACtBuY,GAAiB,GACjBxe,GAAY,GACZ,MAAMuzC,OA7Ca7xC,WACvB,IACE,MAAMS,QAAiBqxC,EAAAA,GAAAA,KAAiCrsC,EAAK5J,GAE7D,GADe,IAAIwI,GAAqD5D,EAASoE,QACtEN,YACT,OAAO9D,EAASb,IAEpB,CAAE,MAAO9V,GACPuZ,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenQ,cACnBiP,eAAgB3Z,EAAoB0K,gBAGxCkR,KAAM7B,GAAYra,OAEtB,CAEgB,EAyBgBioD,QACN3vC,IAAlByvC,GAvHuBA,KACjC,MAAM,iBAAEG,EAAgB,eAAEC,EAAc,oBAAEC,EAAmB,cAAEr0B,EAAa,eAAEs0B,GAAmBN,EAG3FO,EAAaP,EAAcO,YAAc,IAAI10B,KAC7C20B,EAAoD,IAAjCD,EAAWE,oBAC9BC,EAA0B,IAAI70B,KAAK00B,EAAWnlB,UAAYolB,GAC1DG,EAA8C,CAClDC,iBAAkBT,EAAiB76B,WACnC86B,eAAgBA,EAAe96B,WAC/B+6B,oBAAqBA,GAAuB,GAC5Cx2C,iBAAkB,OAClBmiB,cAAeA,GAAe1G,YAAc,GAC5Ci7B,WAAYG,EAAwBG,cACpCP,eAAgBA,EAAeh7B,WAC/Bw7B,UAAWC,GAAAA,EAAUC,QAEvBryB,OAAOa,cACL,IAAIH,YAAsC4xB,GAAAA,EAA0B,CAClE1xB,OAAQoxB,IAEX,EAmGOO,CAA0BlB,GAExBjuC,GAAgBA,EAAapC,OAAS,GACxCkC,EAAa,GAEjB,CACF,CAAE,MAAO5Z,GACP,MAAM20B,EAAgB30B,EACtB,GAAI20B,EAAche,UAAUoE,SAAWT,GAAAA,EAAgBsa,oBAAqB,CAC1E,MAAM,OAAEC,GAAWF,EAAche,SAASb,KACpCgf,EAAeD,GAAQnW,KAAK8R,IAAE,CAClClU,UAAWkU,EAAGuE,aACd1Y,UAAWmU,EAAGwE,SAEZF,GAAcpd,QAAUod,EAAapd,OAAS,EAChDkC,EAAakb,GAEblb,EAAa,GAEjB,MACEL,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejQ,aACnB+O,eAAgB3Z,EAAoB4K,eAGxCgR,KAAM7B,GAAYra,OAGxB,GA4CF,OAAK4nD,GAKH1oD,EAAAA,EAAAA,KAACmvB,GAAa,CAAApvB,UACZD,EAAAA,EAAAA,MAACyoD,GAAc,CAAAxoD,SAAA,EACbC,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,KACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepS,iBACnBkR,eAAgB3Z,EAAoByI,sBAGxC7J,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,YACR+V,MAAM,cACNJ,UAAU,SAAQhW,UAElBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenS,qBACnBiR,eAAgB3Z,EAAoB0I,0BAIxC9J,EAAAA,EAAAA,KAACgoD,GAAgB,CACfrwC,OAAQ8wC,EACR/b,YAAagc,EACbp4B,gBAAiBuD,EACjBtD,aAxEgFvZ,UACtF,MAAMgzC,EApGsBpzC,KAC5B,IAAIulB,EAAcvlB,EAElB,MAAMqzC,EAAc,CAClB9C,oBAAqB,IAWvB,OARKvwC,EAAKgvC,cAAcuB,sBACtBhrB,EAAc,IAAKvlB,EAAMgvC,aAAc,IAAKhvC,EAAKgvC,gBAAiBqE,KAG/DrzC,EAAKgxC,wBAAwBT,sBAChChrB,EAAc,IAAKA,EAAayrB,uBAAwBqC,IAGnD9tB,CAAW,EAqFC+tB,CAAqBtzC,GAClCuzC,EAA4E,IAC7EH,EACH5a,UAAW4a,EAAW5a,WAAanB,GAAc+b,EAAW5a,UAAWqF,IAEzE,IACE,MAAM2V,QAA4BC,EAAAA,GAAAA,KAAuC5tC,EAAK5J,EAAgBs3C,GAC/E,IAAI9uC,GAAqB+uC,EAAoBvuC,QAEjDN,mBACHotC,GAEV,CAAE,MAAO7nD,GACP,MAAM20B,EAAgB30B,EACtB,GAAI20B,EAAche,UAAUoE,SAAWT,GAAAA,EAAgBsa,oBAAqB,CAC1E,MAAM,OAAEC,GAAWF,EAAche,SAASb,KACpCgf,EAAeD,GAAQnW,KAAK8R,IAAE,CAClClU,UAAWkU,EAAGuE,aACd1Y,UAAWmU,EAAGwE,SAEZF,GAAcpd,QAAUod,EAAapd,OAAS,EAChDkC,EAAakb,GAEblb,EAAa,GAEjB,MACEL,EAAoB,CAClB0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejQ,aACnB+O,eAAgB3Z,EAAoB4K,eAGxCgR,KAAM7B,GAAYra,OAGxB,WAIOd,EAAAA,EAAAA,KAACR,EAAa,GAiCL,ECvPb,MAAM8qD,GAAqBA,KAChC,MAAM,OAAE73C,EAAM,iBAAEC,GAAqBW,KAC/B,cAAEgJ,GAAkBH,KACpBI,GAAYC,EAAAA,GAAAA,MAGhBrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACrG,EAAQC,EAAkB,oBAC3BsE,UACE,MAAMgB,QA9BZhB,eAAoCyF,EAAgBhK,EAAgBC,GAClE,MAAM63C,EAAiG,CAAC,EAExG,IACE,MAAM9yC,QAAiB+yC,EAAAA,GAAAA,KAA8D/tC,EAAKhK,EAAQC,GAElG,OAAO,IAAI2I,GACT5D,EAASoE,OACTpE,EAASb,KAEb,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAAS6uC,EAC9B,CACF,CAiB2BE,CAAqBnuC,EAAW7J,EAAQC,GAC7D,GAAIsF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,wCAAwC,GAE1D,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,ECtCI,MAAMytC,GAAiBA,KAC5B,MAAM,eAAE73C,GAAmBQ,KACrB,cAAEgJ,GAAkBH,KACpBO,GAAMF,EAAAA,GAAAA,MAEVrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACjG,EAAgB,gBACjBmE,UACE,MAAMgB,QA1BZhB,eAAgCyF,EAAgBia,GAC9C,MAAMi0B,EAA6E,CAAC,EAEpF,IACE,MAAMlzC,QAAiBmzC,EAAAA,GAAAA,KAAsCnuC,EAAKia,GAElE,OAAO,IAAIrb,GAAsE5D,EAASoE,OAAQpE,EAASb,KAC7G,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAASivC,EAC9B,CACF,CAgB2BE,CAAiBpuC,EAAK5J,GAC3C,GAAImF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,oCAAoC,GAEtD,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,EChCI,MAAM6tC,GAAsBC,IACjC,MAAM,eAAEl4C,GAAmBQ,KACrB,cAAEgJ,GAAkBH,KACpBO,GAAMF,EAAAA,GAAAA,MAEVrC,SAAS,iBAAEE,IACTG,MACE,oBAAEF,GAAwBD,EAE1BoC,EAAeH,EAAcJ,GAAenQ,eAElD,OAAOgN,EAAAA,EAAAA,IACL,CAACjG,EAAgBk4C,EAAY,oBAC7B/zC,UACE,MAAMgB,QA1BZhB,eAAoCyF,EAAgBia,GAClD,MAAMs0B,EAA8E,CAAC,EAErF,IACE,MAAMvzC,QAAiBwzC,EAAAA,GAAAA,KAAiDxuC,EAAKia,GAE7E,OAAO,IAAIrb,GAAmE5D,EAASoE,OAAQpE,EAASb,KAC1G,CAAE,MAAO9V,GACP,OAAOua,GAAYK,SAASsvC,EAC9B,CACF,CAgB2BE,CAAqBzuC,EAAK5J,GAC/C,GAAImF,EAAOuD,aAAevD,EAAOP,SAC/B,OAAOO,EAAOP,SAEhB,MAAM,IAAIf,MAAM,yCAAyC,GAE3D,CACEzC,OAAAA,CAAQ6I,GACFA,GACFzC,EAAoB,CAClB0C,QAAQ,EACRpG,QAAS6F,EACTQ,KAAM7B,GAAYra,MAClBmc,UAAW,iBAGjB,GAEH,ECnDG6Q,GAAchW,IAAAA,SAIb,SAASqzC,GAAgBt4C,EAAwBu4C,GACtD,MAAM,aAAE94C,EAAY,OAAEG,GAAWY,KAC3B,eAAEqB,IAAmBjB,EAAAA,EAAAA,KACrBwa,EAAcjM,QAAQopC,SACtBl0C,EAAM,GAAG5E,2BAAsCO,iCAE7C+D,KAAMsX,IAAiBpV,EAAAA,EAAAA,IAAOmV,EAAc/W,EAAIiX,WAAa,MAAMnX,UACzE,MAAMY,EAAyC,CAC7C,mBAAoBnF,GAEtBmF,EAAQwW,cAAgB1Z,EACxB,MAAM,KAAEkC,SAAekX,GACpBO,IAAUC,EAAY,CACrB1W,UACA2W,aAAc,SAEfxW,MAAMyW,GAASA,IACfvW,OAAOnX,GAA+BA,IAEzC,OAAO8V,CAAI,IAGb,YAAwBwC,IAAjB8U,OAA6B9U,GAxBboV,EAwByCN,EAxBlBO,IAAIC,gBAAgBF,IAA3CA,KAyBzB,C,wCChBA,MAAMW,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjDC,QAAS,OACTC,cAAe,SACfC,WAAY,aAGRmwB,IAAevwB,EAAAA,EAAAA,GAAOwwB,GAAAA,EAAPxwB,EAAe,EAAGC,YAAY,CACjDqB,MAAO,QACPD,OAAQ,QACRmtB,aAAcvuB,EAAMM,QAAQ,GAC5B+W,MAAOrX,EAAM6e,QAAQ4P,KAAK9D,QAC1B5L,eAAgB,WAGZwtC,IAAkBxsD,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACxDuuB,aAAcvuB,EAAMM,QAAQ,OAGxBo8B,IAAc38B,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CACpDuuB,aAAcvuB,EAAMM,QAAQ,GAC5BwuB,WAAY,WAGR09B,IAAazsD,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CAC/C+tB,SAAU,QACV1D,UAAWrqB,EAAMM,QAAQ,OAGdmsD,GAAoCpqD,IAC/C,MAAM,SAAEquB,GAAanc,KACf,kBAAEm4C,EAAiB,MAAEjqB,EAAK,oBAAEkqB,EAAmB,aAAEv9B,GAAiB/sB,GAClE,iBAAE6nD,EAAgB,SAAE0C,GAAaF,EAEjC57B,EAA8C,qBAA3BJ,GAAUK,aAE7BC,EAAcF,GAAoBJ,EAASO,qBAAuBP,EAASO,qBAAuB27B,EAElGz7B,EAAaL,EAAmBb,GAAgBe,GAAe,IAAMnB,GAAamB,GAAe,KAGrG5V,SAAS,YAAET,IACTQ,MACE,WAAEN,EAAU,cAAED,EAAa,WAAEI,GAAeL,GAEhDF,6BAA6B,yBAAEN,IAC7BK,MACE,gBAAEJ,GAAoBD,GAEtB,eAAE+F,IAAmBE,EAAAA,GAAAA,KAO3B,OACEpf,EAAAA,EAAAA,MAACqvB,GAAa,IAAKnQ,EAAe,0BAAyBjf,SAAA,EACzDC,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,YACR+V,MAAM,cAAapW,SAElBwhC,IAEFmqB,GAAW1rD,EAAAA,EAAAA,KAACovB,GAAY,CAACc,IAAKN,OAAmBxW,EAAY8U,EAAanuB,SAAEkwB,IAA6B,MAC1GjwB,EAAAA,EAAAA,KAACqrD,GAAe,CACdjrD,QAAQ,QACR+V,MAAM,cACNga,MAAM,SACN7vB,GAAI,CAAEstB,WAAY,QAAS7tB,SAE1B+vB,IAEFF,EAAmB,MAClB5vB,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACR+V,MAAM,cACNga,MAAM,SAAQpwB,SAEbipD,IAIJyC,GACCzrD,EAAAA,EAAAA,KAACsrD,GAAU,CACTlrD,QAAQ,YACR+V,MAAM,UACN6S,QAASA,KAnCf9P,EAAgBY,EAAWH,SAC3BD,EAAcC,EAAa,OAmCjBqF,EAAe,4BAA2Bjf,UAE9CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepU,kBACnBkT,eAAgB3Z,EAAoByG,sBAGtC,OACU,EC3EsB,IAErC8jD,GAAe,SAAfA,GAAe,OAAfA,EAAe,6BAAfA,EAAe,gCAAfA,CAAe,EAAfA,IAAe,IAKpB,MAAMj/B,IAAa7tB,EAAAA,EAAAA,GAAO,OAAPA,EAAe,EAAGC,YAAY,CAC/CC,QAAS,OACT2W,eAAgB,SAChBzW,WAAY,SACZD,cAAe,SACfmB,MAAO,OACPgpB,UAAWrqB,EAAMM,QAAQ,OAGrButB,IAAgB9tB,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CAClD+tB,SAAU,QACV1D,UAAWrqB,EAAMM,QAAQ,OAGrBwsD,IAAc/sD,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CAChDqB,MAAO,QACP4gB,SAAU,OACV7gB,OAAQ,OACR4gB,OAAQ,SACRuM,aAAcvuB,EAAMM,QAAQ,QAGxBgzC,IAAcvzC,EAAAA,EAAAA,GAAO+tB,GAAAA,EAAP/tB,EAAe,EAAGC,YAAY,CAChDC,QAAS,OACT2W,eAAgB,gBAChBmX,SAAU,OACV1D,UAAWrqB,EAAMM,QAAQ,OAGrBizC,IAAkBxzC,EAAAA,EAAAA,GAAOyzC,GAAAA,EAAPzzC,EAAsB,EAAGC,YAAY,CAC3D4lB,YAAa5lB,EAAMM,QAAQ,OAGvBkwC,IAAyBzwC,EAAAA,EAAAA,GAAO0wC,GAAAA,EAAP1wC,EAAyB,EAAGC,YAAY,CACrEG,WAAY,SACZouB,aAAcvuB,EAAMM,QAAQ,OAGxBysD,IAA6BhtD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CAC9DuuB,aAAcvuB,EAAMM,QAAQ,OAGxB0sD,IAAejtD,EAAAA,EAAAA,GAAOktD,GAAAA,GAAPltD,EAAe,EAAGC,YAAY,CACjD+uB,OAAQ,cAGJsd,IAAwBtsC,EAAAA,EAAAA,GAAOirB,GAAAA,EAAPjrB,EAAmB,EAAGC,YAAY,CAC9DC,QAAS,OACToB,MAAO,OACPktB,aAAcvuB,EAAMM,QAAQ,GAC5B+pB,UAAWrqB,EAAMM,QAAQ,OAad4sD,GAA8C7qD,IACzD,MAAM,YAAEurC,EAAW,OAAE/0B,EAAM,YAAEs0C,EAAW,oBAAEC,EAAmB,iBAAEC,EAAgB,gBAAE77B,EAAe,aAAEC,GAChGpvB,GAEA+Y,SAAS,YAAET,IACTQ,MACE,WAAEN,EAAU,cAAED,EAAa,WAAEI,GAAeL,EAE5C2yC,EAA2Bz0C,GAAQ00C,mCAAqC,eAG5EnyC,SAAS,UAAEO,IACTI,MACE,aAAEH,EAAY,aAAEE,GAAiBH,GAEhC6xC,EAAmBC,IAAwB/2C,EAAAA,EAAAA,UAAS42C,IACpD9/C,EAASkgD,IAAch3C,EAAAA,EAAAA,WAA2B,IAClDi3C,EAAUC,IAAel3C,EAAAA,EAAAA,UAAS,IAEnC,eAAEwJ,IAAmBE,EAAAA,GAAAA,KAErBwR,GAAUC,EAAAA,GAAAA,IAAkE,CAChFic,cAAeF,EACf9b,eAAgB,WAChBC,KAAM,SAGF,UAAEC,EAAS,MAAE3L,EAAK,SAAErG,GAAa4R,GAEjC,QAAEM,EAAO,aAAEE,GAAiBJ,EAC5B67B,EAAiBh1C,GAAQouB,SAASz5B,SAASwZ,kBAAoB,GAE/D9K,EAASmK,IAETiM,EAAoBxW,GAAcyW,QACrCC,IACEC,OAAOC,KAAKxW,GACVwE,KAAKiS,GAAQA,EAAIpS,gBACjBgB,SAASiR,EAAGlU,WAAWiC,eAAiB,MAGzCutC,EAAmB,mBAEjBh2C,KAAM80B,GAAwBpG,GAAyB,eAG7D/rB,6BAA6B,yBAAEN,IAC7BK,MACE,gBAAEJ,GAAoBD,GA2B5BxD,EAAAA,EAAAA,YAAU,KACJuF,EAAO+qB,SAAS/zB,SAClBu6C,EAAqBZ,GAAgBkB,YACvC,GACC,CAAC7xC,EAAO+qB,SAAS/zB,WAEpByD,EAAAA,EAAAA,YAAU,KACJkC,GAAQouB,SAASz5B,SAAS4R,aAAeouC,IAAsBX,GAAgBkB,aACjF/tC,EAAS8tC,EAAkBD,EAAe,GAC5C,GAEC,CAACL,IAEJ,MAAMQ,EAAsBR,IAAsBX,GAAgBoB,kBAC5DC,EAAwBV,IAAsBX,GAAgBkB,YAqB9DI,EAAuBC,IAC3BV,EAAWU,GAGPpuC,EAAS8tC,EAFkB,kBAApBM,EACLA,EACyBP,EAAe,GAEfA,EAAe,GAGjBO,EAC7B,EAkGI1gB,EA9HA70B,GAAQouB,SAASH,eAAejpB,WAEhC3c,EAAAA,EAAAA,KAAC2lC,GAAmB,IACdhuB,EAAOouB,QACX9nB,YAAY+uC,IAAyBf,GAAajD,iBAClDhrC,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAehU,2CACnB8S,eAAgB3Z,EAAoB6G,+CAOvC,KAiHHklD,EAhG0B,IAA1BR,EAAen0C,QAEf1Y,EAAAA,EAAAA,MAAC+gB,GAAAA,EAAG,CAACusC,GAAIz1C,GAAQouB,SAASH,eAAejpB,UAAY,EAAI,EAAE5c,SAAA,EACzDC,EAAAA,EAAAA,KAAC8mB,GAAAA,EAAU,CACTtQ,GAAG,6BACH0K,SAAU8rC,EAAsBjtD,UAEhCC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelU,mBACnBgT,eAAgB3Z,EAAoB2G,wBAGxC/H,EAAAA,EAAAA,KAAC8rD,GAAY,CACXjqC,WAAS,EACTmuB,QAAShuB,QAAQ1V,GACjB+gD,UAAWV,EAAe,GAC1BW,WAAYX,EAAe,GAC3BjrC,SAAUA,EAAG6rC,eAAiBvd,cAAgBid,EAAoBjd,SAMxElwC,EAAAA,EAAAA,MAAC8hB,GAAAA,EAAW,CACVC,WAAS,EACTX,SAAU8rC,EACV1sD,GAAI,CAAE+sB,aAAc1V,GAAQouB,SAASH,eAAejpB,UAAY,EAAI,GAAI5c,SAAA,EAExEC,EAAAA,EAAAA,KAAC8mB,GAAAA,EAAU,CAACtQ,GAAG,6BAA4BzW,UACzCC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelU,mBACnBgT,eAAgB3Z,EAAoB2G,wBAGxC/H,EAAAA,EAAAA,KAAC+mB,GAAAA,EAAM,CACLnS,MAAOtI,EAAU6H,OAAO7H,QAAW8M,EACnCyI,WAAS,EACToF,QAAQ,6BACRlJ,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAelU,mBACnBgT,eAAgB3Z,EAAoB2G,qBAGxC2Z,SAAW4B,GAAM2pC,EAAoB3pC,EAAEC,OAAO3O,OAAO7U,SAEpD4sD,EAAepU,OAAO/4B,KAAKuG,IAC1B/lB,EAAAA,EAAAA,KAACsmB,GAAAA,EAAQ,CAEP1R,MAAOmR,EAAIhmB,SAEVgmB,GAHIA,UAkDXynC,GAAsB71C,GAAQouB,SAASz5B,SAAS4R,cAAgBvG,GAAQouB,SAAS/zB,SAASkM,YAC1FuvC,EAAqBzyC,EAAO+qB,SAASz5B,SAAW0O,EAAO+qB,SAAS/zB,QAEhE07C,GAAiBF,IAA8BC,EAC/CE,EA1CAX,GAEAhtD,EAAAA,EAAAA,KAAC2sB,GAAa,CACZvsB,QAAQ,YACR+V,MAAM,UACN6G,KAAK,SACLkF,UAAW+pC,GAAajD,iBACxBhgC,QAASA,KAxHf9P,EAAgBY,EAAWH,SAC3BD,EAAcC,EAAa,OAwHjBqF,EAAe,0BAAyBjf,UAE5CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepU,kBACnBkT,eAAgB3Z,EAAoByG,uBAO1C7H,EAAAA,EAAAA,KAAC2sB,GAAa,CACZvsB,QAAQ,YACR+V,MAAM,UACN6G,KAAK,SACLkF,UAAW8O,GAAWE,GAAgBZ,KAClCtR,EAAe,0BAAyBjf,UAE5CC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAepU,kBACnBkT,eAAgB3Z,EAAoByG,sBAgBtC+lD,EAA0B3B,GAAajD,iBAAmB,QAAU,QAEpE9c,EAAkBlxB,EAAO+qB,SAAS/zB,QACpC2yB,GAAyB,EAAG3pB,EAAO+qB,QAAS2F,GAAuBrG,IACnE,KAEEkH,EACJ50B,GAAQouB,SAASH,eAAejpB,WAAauvB,GAC3CpsC,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,EACEC,EAAAA,EAAAA,KAACmrC,GAAqB,CAAC/qC,QAAQ,UAASL,UACtCC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe5T,2BACnB0S,eAAgB3Z,EAAoBiH,gCAGxCrI,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CAAE+qC,SAAU,cAAetrC,SAE9BmsC,OAGH,KAEN,OACEpsC,EAAAA,EAAAA,MAACyyB,GAAAA,GAAY,IAAK7B,EAAO3wB,SAAA,EACvBC,EAAAA,EAAAA,KAACgsB,GAAqB,CAACC,sBAAuBmF,KAC9CtxB,EAAAA,EAAAA,MAAC4sB,GAAU,CACT8F,YAAU,EACVC,SAAU/B,EAAQsB,aAAazB,GAAcxwB,SAAA,CAE5CksD,GAAajD,kBACZhpD,EAAAA,EAAAA,KAACurD,GAAU,CACTE,qBAAmB,EACnBD,kBAAmBS,EACnB/9B,aAAcg+B,EACd3qB,OACEvhC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9T,iCACnB4S,eAAgB3Z,EAAoB+G,sCAK1CrI,EAAAA,EAAAA,MAAC0gB,GAAAA,GAAI,CACHkS,WAAS,EACThd,eAAe,SACfzW,WAAW,SACXD,cAAc,SAAQe,SAAA,EAEtBC,EAAAA,EAAAA,KAAC6tD,GAAAA,EAAU,CACT/2C,KAAK,gBACLlC,MAAO03C,EACPhsD,GAAI,CAAEH,MAAO,QACbuhB,SAxOyBkG,IACnC2kC,EACE3kC,EAAMrE,OACH3O,OAEL83C,EAAYh4B,KAAKiwB,OACjBj0B,EAAQo9B,MAAMphB,GACdhc,EAAQtL,cACRonC,GAAW,GACP5xC,GAAgBA,EAAapC,OAAS,GACxCkC,EAAa,IAEfA,EAAa,GAAG,EA4NgC3a,UAEtCD,EAAAA,EAAAA,MAAC+gB,GAAAA,EAAG,CACF1gB,MAAM,OACNpB,QAAQ,OACRC,cAAc,SAAQe,SAAA,EAEtBD,EAAAA,EAAAA,MAAC+gB,GAAAA,EAAG,CACF8nB,UAAU,OACVxoC,MAAM,OAAMJ,SAAA,EAEZC,EAAAA,EAAAA,KAACsvC,GAAsB,CACrB16B,MAAO+2C,GAAgBoB,kBACvBjd,SAAS9vC,EAAAA,EAAAA,KAAC+tD,GAAAA,EAAK,CAAC53C,MAAM,YACtB+L,SAAUF,QAAQiqC,GAAajD,kBAC/BjrC,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAASwtD,EACTttD,GAAI,CACFstB,WAAY0+B,IAAsBX,GAAgBoB,kBAAoB,OAAS,UAC/EhtD,UAEFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe7T,8BACnB2S,eAAgB3Z,EAAoBgH,oCAK3C0kD,GACC9sD,EAAAA,EAAAA,KAAC8d,GAAqB,CAEpBU,UAAU,OACVD,aAAa,UACbzH,KAAK,gBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAerU,8BACnBmT,eAAgB3Z,EAAoBwG,mCAGpC+P,GAAQkd,cACZjW,kBAAgB,EAChBX,WAAY6uC,EACZ1uC,WAAY,CAAE+C,YAAa2rC,IAbtBL,GAeL,SAEN3sD,EAAAA,EAAAA,MAAC+gB,GAAAA,EAAG,CACF8nB,UAAU,OACVxoC,MAAM,OACNpB,QAAQ,OACRC,cAAc,SAAQe,SAAA,EAEtBC,EAAAA,EAAAA,KAACsvC,GAAsB,CACrB16B,MAAO+2C,GAAgBkB,YACvB/c,SAAS9vC,EAAAA,EAAAA,KAAC+tD,GAAAA,EAAK,CAAC53C,MAAM,YACtB4H,OACE/d,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,QACRE,GAAI,CACFstB,WAAY0+B,IAAsBX,GAAgBkB,YAAc,OAAS,UACzE9sD,UAEFC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejU,mCACnB+S,eAAgB3Z,EAAoB4G,uCAI1C2Y,MAAO,CAAEC,MAAO,KAEjBosC,IAA0Bf,GAAajD,kBACtClpD,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,CACG4X,GAAQouB,SAASz5B,SAAS4R,cAAgBiuC,GACzCnsD,EAAAA,EAAAA,KAAA,UAASgf,EAAe,8BAA6Bjf,SAAGotD,IACtD,KACHzgB,GAAa3G,SAAS/zB,QAAU,MAC/BlS,EAAAA,EAAAA,MAAAgkB,EAAAA,SAAA,CAAA/jB,SAAA,EACED,EAAAA,EAAAA,MAAC+rD,GAA0B,CAAClrC,MAAO,CAAEC,MAAOjJ,GAAQouB,SAASH,eAAeznB,cAAepe,SAAA,CACxFysC,EACAD,MAGHvsC,EAAAA,EAAAA,KAAC8d,GAAqB,CACpBhH,KAAK,kBACLiH,OACE/d,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAezT,uBACnBuS,eAAgB3Z,EAAoBoH,yBAGxCwV,aACEhe,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAexT,+BACnBsS,eAAgB3Z,EAAoBqH,oCAGpCkP,GAAQouB,SAAS/zB,QACrBsM,wBAAsB,EACtBF,WAAY,CAAE+C,YAAa6rC,SAKjChtD,EAAAA,EAAAA,KAAC4rD,GACC,CACAjrC,MAAO,CAAEC,MAAO,IAChBxgB,QAAQ,YACR+V,MAAM,UACN6G,KAAK,SACLkF,SAAUwrC,GAAkBx8B,GAAgBZ,EAAgBvwB,UAE5DC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAenU,uBACnBiT,eAAgB3Z,EAAoB0G,8BAIxC,KACHmkD,GAAajD,kBACZhpD,EAAAA,EAAAA,KAAA,OAAK2gB,MAAO,CAAEC,MAAO,IAAK7gB,UACxBC,EAAAA,EAAAA,KAACurD,GAAU,CACTC,kBAAmBS,EACnB/9B,aAAcg+B,EACd3qB,OACEvhC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe9T,iCACnB4S,eAAgB3Z,EAAoB+G,mCAGxCsjD,qBAAqB,MAGvB,aAITkC,MAGL7tD,EAAAA,EAAAA,MAACsyC,GAAW,CACVhyC,QAAQ,OACR+V,MAAM,UACN6S,QAASA,KAxWf9P,EAAgBY,EAAWH,SAC3BD,EAAcC,EAAa,IAuWO5Z,SAAA,EAE5BC,EAAAA,EAAAA,KAACqyC,GAAe,KAChBryC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe1Q,KACnBwP,eAAgB3Z,EAAoBmK,eAI7B,EC5fNyiD,GAAkBA,KAC7B,MAAO/S,EAAU+I,IAAexuC,EAAAA,EAAAA,UAAS,KAClCqe,EAAeC,IAAoBte,EAAAA,EAAAA,WAAS,IAE7C,eAAE3C,GAAmBQ,IAErBy/B,EAAoBv4B,KAAsBL,QAAQE,kBAEtDF,SAAS,UAAEO,IACTI,MACE,aAAEH,EAAY,aAAEE,GAAiBH,GAGrCP,SAAS,YAAET,IACTQ,MACE,WAAEN,EAAU,cAAED,GAAkBD,GAEpCF,6BAA6B,yBAAEN,IAC7BK,MACE,gBAAEJ,EAAe,aAAEC,GAAiBF,GAElCrC,KAAMq3C,GAAkB3D,MACxB1zC,KAAMs3C,GAAuBxD,MAC7B9zC,KAAMu3C,GAAoBrD,GAAmB7P,IAC7CrkC,KAAMw2B,GAAwB7M,KAChCrS,EAAei9B,GAAgBt4C,EAAgBs7C,GAAiB/C,wBAEhE3uC,GAAMF,EAAAA,GAAAA,KAEN6xC,EACJH,GAAeloB,SAASz5B,SAAS4R,aAAyE,IAA1D+vC,EAAcloB,QAAQz5B,QAAQwZ,iBAAiBtN,OAE3Fg1C,GACHS,GAAeloB,SAASz5B,SAAS4R,cAAgB+vC,GAAeloB,SAAS/zB,SAASkM,aAErFzI,EAAAA,EAAAA,YAAU,KACRmrB,IAAyB,GACxB,KAEHnrB,EAAAA,EAAAA,YAAU,KACRoiB,GAAyB,uBAAwB1e,EAActG,GAC/DqG,EAAgB,uBAAuB,GAEtC,IAEH,MAAMm1C,EAAqBJ,GAAeloB,SAAS2H,aAAa5nB,iBAC5DmoC,EAAcloB,QAAQ2H,YAAY5nB,iBAAiB,GACnD,QA0FJ,IAAKooC,EACH,OAAOluD,EAAAA,EAAAA,KAACR,EAAa,IAIvB,MAAM8uD,EAA0BlhB,GAAqBrH,SAASz5B,SAAW8hD,EAEzE,OACEtuD,EAAAA,EAAAA,MAACqvB,GAAa,CAAApvB,SAAA,EACZC,EAAAA,EAAAA,KAACw7B,GAAW,CACVp7B,QAAQ,KACR+V,MAAM,cAAapW,UAEnBC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe/T,kBACnB6S,eAAgB3Z,EAAoB8G,uBAGxClI,EAAAA,EAAAA,KAAC8pB,GAAAA,EAAU,CACT1pB,QAAQ,YACR+V,MAAM,cACNga,MAAM,SAAQpwB,UAEdC,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAe3T,gBACnByS,eAAgB3Z,EAAoBkH,qBAGxCtI,EAAAA,EAAAA,KAACgsD,GAAe,CACdr0C,OAAQs2C,EACRvhB,YAAawhB,EACbjC,YAAakC,EACbjC,oBAAqBh+B,EACrBi+B,iBAAkBnqC,QAAQssC,GAC1Bh+B,gBAAiBuD,EACjBtD,aA3HoFvZ,UACxF,IAAIu3C,EAAqB,KACrBC,EAAuB53C,EAAKie,cAE5Bje,EAAKmvB,UACPwoB,EAAqB,CACnBxoB,QAAS,IAAKnvB,EAAKmvB,QAAS2H,YAAa2gB,KAIzCz3C,EAAKie,gBACP05B,EAAqB,MAIrBC,EAD2B,OAAzBA,OACqBp1C,EAEA6hB,OAAOrkB,EAAKie,eAGhCje,EAAKie,gBAAiBuY,GAAqBrH,SAASz5B,SAAYkhD,IACnEe,EAAqB,CACnBxoB,QAAS,IAAKqH,EAAoBrH,WAIjCnvB,EAAKie,eAAkBje,EAAKmvB,UAAWqoB,GAAqBZ,IAC/De,EAAqB,CACnBxoB,QAAS,CACP2H,YAAa2gB,EACb/hD,QAAS2hD,EAAcloB,SAASz5B,SAASwZ,iBAAiB,MAK5D0nC,IACFe,EAAqB,CAAExoB,QAAS,OAGlC,MAAM5J,EAAwE,IACxEoyB,EACJ15B,cAAe25B,EACf75B,cAAe/d,EAAK+d,eAGtB,IACE,MAAMgZ,QAAuB8gB,EAAAA,GAAAA,KAAyChyC,EAAK5J,EAAgBspB,GAC5E,IAAI9gB,GAAqBsyB,EAAe9xB,QAE5CN,cACTuY,GAAiB,GACbqI,EAAYtH,cACdnb,EAAcC,EAAa,GAE3BqqC,EAAYtvB,KAAKiwB,MAAMx2B,YAErBvT,GAAgBA,EAAapC,OAAS,GACxCkC,EAAa,IAGnB,CAAE,MAAO5Z,GACP,MAAM20B,EAAgB30B,EACtB,GAAI20B,EAAche,UAAUoE,SAAWT,GAAAA,EAAgBsa,oBAAqB,CAC1E,MAAM,OAAEC,GAAWF,EAAche,SAASb,KACpCgf,EAAeD,GAAQnW,KAAK8R,IAAE,CAClClU,UAAWkU,EAAGuE,aACd1Y,UAAWmU,EAAGwE,SAEZF,GAAcpd,QAAUod,EAAapd,OAAS,EAChDkC,EAAakb,GAEblb,EAAa,GAEjB,MACEo4B,EAAkBz4B,oBAAoB,CACpC0C,QAAQ,EACRpG,SACE3W,EAAAA,EAAAA,KAAC8a,GAAY,CACXtE,GAAIyF,GAAejQ,aACnB+O,eAAgB3Z,EAAoB4K,eAGxCgR,KAAM7B,GAAYra,OAGxB,OAwCgB,ECxMdquB,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,WACV5W,QAAS,OACTC,cAAe,SACf0W,eAAgB,SAChBzW,WAAY,aAGRyvD,IAAmB7vD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACpDqB,MAAO,OACP4gB,SAAU,YAQC4tC,GAA6CxtD,IACxD,MAAM,YAAEqzB,EAAW,MAAEkL,GAAUv+B,GAE7B+Y,SAAS,YAAET,IACTQ,MACE,WAAEN,EAAU,cAAED,EAAa,cAAEK,GAAkBN,GAC/C,iBAAE/G,EAAgB,SAAE8c,GAAanc,KAEjC,MAAEu7C,IAAUC,EAAAA,EAAAA,MAKZC,EAHyC,gBAArBp8C,KAC2B,QAA3B8c,GAAUK,cAAqD,iBAA3BL,GAAUK,eAIxEpa,EAAAA,EAAAA,YAAU,KACRsE,EAAc2lB,EAAM,GACnB,CAAC3lB,EAAe2lB,KAEnBjqB,EAAAA,EAAAA,YAAU,KACR,GAAI+e,EAAa,CACf,MAAMu6B,EAAarvB,EAAMzQ,QAAQuF,IAEb,IAAhBu6B,IACFr1C,EAAcq1C,GACdH,EAAMjiD,OAAO,oBAEjB,IAEC,CAAC6nB,IACJ,MA2BMw6B,EA3BoBC,MACxB,IAAIhzB,EACJ,OAAQtiB,GACN,KAAK,EACHsiB,GACEj8B,EAAAA,EAAAA,KAAC0uD,GAAgB,CAAA3uD,UACfC,EAAAA,EAAAA,KAACktC,GAAY,MAGjB,MACF,KAAK,EACHjR,GAAUj8B,EAAAA,EAAAA,KAAC0uD,GAAgB,CAAA3uD,SAAE+uD,GAAoB9uD,EAAAA,EAAAA,KAACwoD,GAAS,KAAMxoD,EAAAA,EAAAA,KAACguD,GAAW,MAC7E,MACF,KAAK,EACH/xB,GACEj8B,EAAAA,EAAAA,KAAC0uD,GAAgB,CAAA3uD,UACfC,EAAAA,EAAAA,KAACwoD,GAAS,MAGd,MACF,QACEvsB,EAAU,KAGd,OAAOA,CAAO,EAGOgzB,GAEvB,OACEnvD,EAAAA,EAAAA,MAACqvB,GAAa,CAAApvB,SAAA,EACZC,EAAAA,EAAAA,KAACy/B,GAAO,CACNG,eAAe,EACfF,MAAOA,EACPC,eAAe,IAEhBqvB,IACa,ECzFdE,IAAkBrwD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACnD0tB,KAAM1tB,EAAM6e,QAAQif,KAAK,KACzB18B,OAAQ,OACRC,MAAO,IACP,CAACrB,EAAMc,YAAYC,KAAK,OAAQ,CAC9BM,MAAO,SAILgvD,IAAgBtwD,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,WACVokC,OAAQ,EACR55C,MAAO,OACPD,OAAQ,MACRmpC,WAAYvqC,EAAM6e,QAAQif,KAAK,SAG3BwyB,IAAYvwD,EAAAA,EAAAA,GAAOgiB,GAAAA,EAAPhiB,EAAY,EAAGC,YAAY,CAC3C6W,SAAU,SACVC,IAAK,EACL7W,QAAS,OACT2W,eAAgB,SAChBxV,OAAQ,OACRC,MAAO,OACP4gB,SAAU,OACVsoB,WAAYvqC,EAAM6e,QAAQ0rB,WAAW/f,QACrCd,QAAS1pB,EAAMM,QAAQ,GACvB8pC,OAAQ,GACRnd,WAAY,YAGDsjC,GAAmBA,KAC9B,MAAM3vD,EAAW+wC,KAEjB,OACE3wC,EAAAA,EAAAA,MAACsvD,GAAS,CAAArvD,SAAA,EACRC,EAAAA,EAAAA,KAACkxC,GAAAA,EAAI,CACHttB,KAAK,IACL,aAAW,kBACXpN,GAAG,2BACH4L,UAAW,EAAEriB,UAEbC,EAAAA,EAAAA,KAACkvD,GAAe,CACd5iC,MAAM,6BACNC,QAAQ,aAAYxsB,UAEpBC,EAAAA,EAAAA,KAAA,QAAMysB,EAAE,k2DAGX/sB,GAAWM,EAAAA,EAAAA,KAACmvD,GAAa,IAAM,OACtB,EC5CVhgC,IAAgBtwB,EAAAA,EAAAA,GAAO,MAAPA,EAAc,EAAGC,YAAY,CACjD6W,SAAU,WACV25C,SAAU,EACVvwD,QAAS,OACTC,cAAe,SACf0W,eAAgB,gBAChB65C,cAAezwD,EAAMM,QAAQ,GAC7B,CAACN,EAAMc,YAAYC,KAAK,OAAQ,CAC9B0vD,cAAezwD,EAAMM,QAAQ,QAI3BowD,GAAa,CAAC,mBAAoB,uBAAwB,wBAC1DC,GAAW,CAAC,mBAAoB,wBAEzBC,GAAkBA,KAC7B,MACEx1C,SAAS,iBAAEE,IACTG,MACE,oBAAEF,EAAmB,KAAEzD,GAASwD,GAChC,SAAE/E,GAAaF,KACdkoB,EAAYC,IAAiB9nB,EAAAA,EAAAA,WAAS,IAErCoB,KAAMu5B,GAAqBD,KAE7Byf,EAAe/4C,GAAMoG,OAAS7B,GAAYra,OAAQd,EAAAA,EAAAA,KAAC0iB,GAAAA,EAAW,KAAM1iB,EAAAA,EAAAA,KAAC+iD,GAAAA,EAAU,KAE/E,iBAAErwC,EAAgB,eAAEG,EAAc,SAAE2c,GAAanc,IAEjDu8C,GAAc31B,EAAAA,EAAAA,cAAY,KAC9B5f,EAAoB,CAAE0C,QAAQ,GAAQ,GAErC,CAAC3C,IAMEy1C,EAJyC,gBAArBn9C,KAC2B,QAA3B8c,GAAUK,cAAqD,iBAA3BL,GAAUK,cAG/B4/B,GAAWD,GAwB9CM,EArBCj9C,EAGiC,wBAAlCs9B,GAAkB3b,aAA0C6I,EAG5DhoB,GAA8C,eAAlC86B,GAAkB3b,aACzBx0B,EAAAA,EAAAA,KAACq+B,GAAW,IAEjB8R,GAAkBt9B,gBAElB7S,EAAAA,EAAAA,KAAC2uD,GAAkB,CACjBn6B,YAAa2b,EAAiB3b,YAC9BkL,MAAOmwB,IAKN,MAdE7vD,EAAAA,EAAAA,KAAC+8B,GAAgB,CAACC,oBAAqBA,IAAMM,GAAc,MAH3Dt9B,EAAAA,EAAAA,KAACwzB,GAAO,IAsBnB,OACE1zB,EAAAA,EAAAA,MAACqvB,GAAa,CAAApvB,SAAA,CACX8S,GAAiB7S,EAAAA,EAAAA,KAACqvD,GAAY,IAAM,KACpCS,GACD9vD,EAAAA,EAAAA,KAAC+vD,GAAAA,GAAoB,CACnBvrB,KAAMxiB,QAAQpL,GAAMmG,QACpB5G,MAAOS,GAAMoG,KACb4L,KAAMhS,GAAMo5C,YAAcL,EAC1BM,QAASL,EAAY7vD,UAErBC,EAAAA,EAAAA,KAAA,QACE,WAAU4W,GAAMqG,UAChBhC,UAAU,YAAWlb,SAEpB6W,GAAMD,cAGG,ECvEPu5C,GAAoBA,EAAGC,oBAClC,MAAM,eAAEz7C,IAAmBjB,EAAAA,EAAAA,KAE3B,OAAKiB,GAIH1U,EAAAA,EAAAA,KAACQ,EAAa,CAAAT,UACZC,EAAAA,EAAAA,KAACmT,EAAqB,CAACyB,MAAOu7C,EAAcpwD,UAC1CC,EAAAA,EAAAA,KAACowD,EAAAA,EAAc,CACbC,KAAMC,EAAAA,EAAKC,YACXC,QAASC,EAAAA,GAAS1wD,UAElBC,EAAAA,EAAAA,KAAC0wD,EAAAA,SAAQ,CAACC,UAAU3wD,EAAAA,EAAAA,KAACR,EAAa,IAAIO,UACpCC,EAAAA,EAAAA,KAAC4wD,EAAAA,EAAa,CACZC,qBAAmB,EACnB/xD,MAAOA,EAAAA,GACPgyD,SAAUL,EAAAA,GAAS1wD,UAEnBC,EAAAA,EAAAA,KAACuT,EAAa,CAAAxT,UACZC,EAAAA,EAAAA,KAACyU,EAAW,CAAA1U,UACVC,EAAAA,EAAAA,KAACqZ,GAA4B,CAAAtZ,UAC3BC,EAAAA,EAAAA,KAACoV,EAAuB,CAAArV,UACtBC,EAAAA,EAAAA,KAACga,GAAe,CAAAja,UACdC,EAAAA,EAAAA,KAACsa,GAAoB,CAAAva,UACnBC,EAAAA,EAAAA,KAAC2a,GAAiB,CAAA5a,UAChBC,EAAAA,EAAAA,KAAC+wD,EAAAA,EAAqB,CACpBt+C,OAAQ09C,EAAc19C,OACtBsC,SAAUo7C,EAAch+C,gBACxBuF,QAAS,CAAEs5C,IAAK,CAAEC,UAAU,IAASlxD,UAErCC,EAAAA,EAAAA,KAACyY,GAAiB,CAAA1Y,UAChBC,EAAAA,EAAAA,KAAC0vD,GAAW,gCA5BjC,IA0CS,ECtDb14C,eAAejW,GAAOmwD,GAC3B,MAAM,OAAEv5C,EAAS,IAAOu5C,EAAYC,QAC9BC,GAAkBC,EAAAA,EAAAA,GAAsC15C,EAAQ,CAAC,aAAc,YAC/E,WAAEvF,GAAeg/C,GAEvBE,EAAAA,EAAAA,GAAWJ,GAAanwD,QACtBf,EAAAA,EAAAA,KAACQ,EAAa,CAAAT,UACZC,EAAAA,EAAAA,KAACuxD,EAAAA,EAAsB,CACrBn/C,WAAYA,EACZo/C,aAAa,GAAEzxD,UAEfC,EAAAA,EAAAA,KAAC4wD,EAAAA,EAAa,CACZC,qBAAmB,EACnBC,SAAUW,EAAAA,GAAkB1xD,UAE5BC,EAAAA,EAAAA,KAACkwD,GAAG,CAACC,cAAeiB,UAK9B,C","sources":["webpack://orisimplifiedregistration/./src/components/BasicSkeleton/BasicSkeleton.tsx","webpack://orisimplifiedregistration/./src/containers/ErrorBoundary.ts","webpack://orisimplifiedregistration/./src/constants/defaultTranslations_simplified-registration-BrandPartner.ts","webpack://orisimplifiedregistration/./src/constants/defaultTranslations_simplified-registration-VIPCustomer.ts","webpack://orisimplifiedregistration/./src/contexts/configurationContext.ts","webpack://orisimplifiedregistration/./src/containers/I18nContainer.tsx","webpack://orisimplifiedregistration/./src/containers/ApiProvider.tsx","webpack://orisimplifiedregistration/./src/contexts/registrationStatusContext.ts","webpack://orisimplifiedregistration/./src/containers/RegisterStatusContainer.tsx","webpack://orisimplifiedregistration/./src/hooks/useRegistrationStatusInitialState.ts","webpack://orisimplifiedregistration/./src/components/Loading/Loading.tsx","webpack://orisimplifiedregistration/./src/contexts/contentsContext.ts","webpack://orisimplifiedregistration/./src/models/ApiError.ts","webpack://orisimplifiedregistration/./src/hooks/useContentsQuery.ts","webpack://orisimplifiedregistration/./src/utils/fetcher.ts","webpack://orisimplifiedregistration/./src/containers/ContentsContainer.tsx","webpack://orisimplifiedregistration/./src/contexts/virtualPageAnalyticsContext.tsx","webpack://orisimplifiedregistration/./src/contexts/stepperContext.tsx","webpack://orisimplifiedregistration/./src/contexts/notificationContext.tsx","webpack://orisimplifiedregistration/./src/contexts/formErrorContext.tsx","webpack://orisimplifiedregistration/./src/Localization/Localization.tsx","webpack://orisimplifiedregistration/./src/interfaces/interfaces.ts","webpack://orisimplifiedregistration/./src/models/FetchResult.ts","webpack://orisimplifiedregistration/./src/models/TranslationKey_simplified-registration-BrandPartner.ts","webpack://orisimplifiedregistration/./src/hooks/useTranslations_simplified-registration-BrandPartner.ts","webpack://orisimplifiedregistration/./src/models/api/registrations/useRegistrationsMetadata.ts","webpack://orisimplifiedregistration/./src/utils/getErrorLocalizationByCode.ts","webpack://orisimplifiedregistration/./src/Localization/ContentKeys.ts","webpack://orisimplifiedregistration/./src/utils/getValidationMessage.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/TextFormFieldByConfig/TextFormFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/models/api/hooks/usePhoneFormats.ts","webpack://orisimplifiedregistration/./src/models/api/hooks/useTenantsCountry.ts","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/PhoneFieldByConfig/PhoneFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/components/PasswordToggle/PasswordToggle.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/PasswordFieldByConfig/PasswordRequirements.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/PasswordFieldByConfig/PasswordFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/components/FormValidationSummary/FormValidationSummary.tsx","webpack://orisimplifiedregistration/./src/components/GoogleIcon/GoogleIcon.tsx","webpack://orisimplifiedregistration/./src/components/Forms/PreStepForm/PreStepFormStyledComponent.ts","webpack://orisimplifiedregistration/./src/models/api/registrations/usePublicSponsorImage.ts","webpack://orisimplifiedregistration/./src/utils/getStringAvatar.ts","webpack://orisimplifiedregistration/./src/components/Forms/PreStepForm/PublicSponsorBox.tsx","webpack://orisimplifiedregistration/./src/components/Forms/PreStepForm/PreStepForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/PreStep.tsx","webpack://orisimplifiedregistration/./src/models/api/contact/useContactMetadata.ts","webpack://orisimplifiedregistration/./src/models/api/contact/useContactData.ts","webpack://orisimplifiedregistration/./src/utils/virtualPageEventDispatcher.ts","webpack://orisimplifiedregistration/./src/components/Verification/VerificationStyledComponents.ts","webpack://orisimplifiedregistration/./src/components/Verification/ResendLink.tsx","webpack://orisimplifiedregistration/./src/components/Verification/VerificationCodeInput.tsx","webpack://orisimplifiedregistration/./src/components/Verification/Verify.tsx","webpack://orisimplifiedregistration/./src/components/Steps/StepsStyledComponents.ts","webpack://orisimplifiedregistration/./src/components/Steps/VerificationChannelForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/VerificationLoading.tsx","webpack://orisimplifiedregistration/./src/components/Steps/VerificationStep.tsx","webpack://orisimplifiedregistration/./src/components/Steps/WelcomeStep.tsx","webpack://orisimplifiedregistration/./src/utils/getMobileOperatingSystem.ts","webpack://orisimplifiedregistration/./src/components/Stepper/Stepper.tsx","webpack://orisimplifiedregistration/./src/models/api/personal/usePersonalMetadata.ts","webpack://orisimplifiedregistration/./src/models/api/personal/usePersonalData.ts","webpack://orisimplifiedregistration/./src/utils/scrollTopHelper.ts","webpack://orisimplifiedregistration/./src/Localization/GenderLabelMapper.tsx","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/SelectFormFieldByConfig/SelectFormFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/utils/generateDateFormat.ts","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/DatePickerField/DatePickerField.tsx","webpack://orisimplifiedregistration/./src/utils/addressFormatHelper.ts","webpack://orisimplifiedregistration/./src/models/api/useAddressFormatMetadata.ts","webpack://orisimplifiedregistration/./src/components/AddressAutocomplete/AddressAutocomplete.tsx","webpack://orisimplifiedregistration/./src/components/Forms/PersonalDetailsForm/AddressSection.tsx","webpack://orisimplifiedregistration/./src/components/Forms/PersonalDetailsForm/PersonalDetailsForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/PersonalStep.tsx","webpack://orisimplifiedregistration/./src/models/api/legal/useLegalMetadata.ts","webpack://orisimplifiedregistration/./src/utils/applyNegativeApprovals.ts","webpack://orisimplifiedregistration/./src/models/api/legal/useLegalData.ts","webpack://orisimplifiedregistration/./src/components/FieldsByConfig/CheckboxFormFieldByConfig/CheckboxFormFieldByConfig.tsx","webpack://orisimplifiedregistration/./src/hooks/useCustomHeaders.ts","webpack://orisimplifiedregistration/./src/models/api/registrations/useRegistrationData.ts","webpack://orisimplifiedregistration/./src/utils/getMediaQuery.ts","webpack://orisimplifiedregistration/./src/components/ExpandableTextBlock/ExpandableTextBlock.tsx","webpack://orisimplifiedregistration/./src/components/Forms/LegalForm/StyledComponentsLegalForm.ts","webpack://orisimplifiedregistration/./src/components/TermsConditionsCheckbox/TermsConditionsCheckbox.tsx","webpack://orisimplifiedregistration/./src/components/Forms/LegalForm/LegalDetailApprovals.tsx","webpack://orisimplifiedregistration/./src/models/api/useDocumentTypes.ts","webpack://orisimplifiedregistration/./src/models/api/useCustomerDocumentsInfos.ts","webpack://orisimplifiedregistration/./src/components/Uploader/FileInputField.tsx","webpack://orisimplifiedregistration/./src/components/Uploader/UploaderForm.tsx","webpack://orisimplifiedregistration/./src/components/Uploader/Uploader.tsx","webpack://orisimplifiedregistration/./src/components/ConfirmDeleteDialog/ConfirmDeleteDialog.tsx","webpack://orisimplifiedregistration/./src/models/api/legal/useDocumentThumb.ts","webpack://orisimplifiedregistration/./src/models/api/legal/useDocumentThumbDetail.ts","webpack://orisimplifiedregistration/./src/components/ThumbWithDetail/ThumbWithDetail.tsx","webpack://orisimplifiedregistration/./src/models/api/legal/useCustomerDocument.ts","webpack://orisimplifiedregistration/./src/components/Document/DocumentState.tsx","webpack://orisimplifiedregistration/./src/components/DocumentItem/DocumentItemStyledComponents.ts","webpack://orisimplifiedregistration/./src/components/DocumentItem/DocumentItemFile.tsx","webpack://orisimplifiedregistration/./src/components/DocumentItem/DocumentItem.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentActions.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentStyledComponents.ts","webpack://orisimplifiedregistration/./src/components/Document/DocumentHistory.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentLoadingProgress.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentContent.tsx","webpack://orisimplifiedregistration/./src/components/Document/DocumentHeader.tsx","webpack://orisimplifiedregistration/./src/components/Document/Document.tsx","webpack://orisimplifiedregistration/./src/components/Forms/LegalForm/LegalDocuments.tsx","webpack://orisimplifiedregistration/./src/components/Forms/LegalForm/LegalDetaillsForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/LegalStep.tsx","webpack://orisimplifiedregistration/./src/models/api/sponsor/useSponsorMetadata.ts","webpack://orisimplifiedregistration/./src/models/api/sponsor/useSponsorData.ts","webpack://orisimplifiedregistration/./src/models/api/sponsor/useSponsorInfoData.ts","webpack://orisimplifiedregistration/./src/models/api/sponsor/useSponsorImage.ts","webpack://orisimplifiedregistration/./src/components/Forms/ConnectToBPForm/SponsorBox.tsx","webpack://orisimplifiedregistration/./src/components/Forms/ConnectToBPForm/ConnectToBPForm.tsx","webpack://orisimplifiedregistration/./src/components/Steps/SponsorStep.tsx","webpack://orisimplifiedregistration/./src/components/StepperWithContent/StepperWithContent.tsx","webpack://orisimplifiedregistration/./src/components/OriflameLogo/OriflameLogo.tsx","webpack://orisimplifiedregistration/./src/pages/LandingPage.tsx","webpack://orisimplifiedregistration/./src/App.tsx","webpack://orisimplifiedregistration/./src/appRender.tsx"],"sourcesContent":["import { Skeleton, styled, useTheme, useMediaQuery } from '@ori-ui/mui';\nimport type { FC } from 'react';\n\nconst Root = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n}));\n\nconst StepLogo = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(2),\n}));\n\nconst StepTitle = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(4),\n}));\n\nconst StepSubTitle = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(3),\n}));\n\nconst StepContent = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(6),\n}));\n\nexport const BasicSkeleton: FC = () => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { type ReactNode, Component } from 'react';\n\ninterface ErrorBoundaryProps {\n children: JSX.Element;\n}\n\ninterface ErrorBoundaryState {\n error?: Error;\n}\n\nexport class ErrorBoundary extends Component {\n override readonly state: ErrorBoundaryState = {};\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n return { error };\n }\n\n override render(): ReactNode {\n const { error }: ErrorBoundaryState = this.state;\n\n if (error) {\n // eslint-disable-next-line no-console -- wanted behavior\n console.error(error);\n\n return null;\n }\n\n const { children }: ErrorBoundaryProps = this.props;\n\n return children;\n }\n}\n","/* istanbul ignore file */\n\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\nimport type { TranslationKey } from '../models/TranslationKey_simplified-registration-BrandPartner';\n\nexport type DefaultTranslations = Record;\n\nexport const defaultTranslations: DefaultTranslations = {\n Approval_BlockGuaranteeOrdering: \"Blocks the consultant's guarantee and SPO sponsors from ordering on their behalf.\",\n Approval_Contact: 'Approval for receiving info emails/SMS',\n Approval_MarketingConsultant: 'Approval for receiving emails/SMS from beauty consultant',\n Approval_MarketingExternal: 'Approval for receiving marketing information from external sources',\n Approval_MarketingOriflame: 'Approval for receiving marketing information from Oriflame',\n Approval_Newletters: 'Approval for receiving newsletters',\n Approval_PersonalData: 'Approval for displaying personal data',\n Approval_Publication: 'Approval for publication in Oriflame materials',\n Approval_UplineLeaderBrowse: 'Leader approval for up line Leader to browse leader downline members',\n Approval_UplineLeaderData: \"Leader approval for up line Leader to display leader's data\",\n Custom_text:\n 'Market specific text about privacy policy and personal data processing for marketing products and services, analytical purposes and profiling. User is informed of their right to request access to data, rectification, deletion, transfer or limitation of processing and to raise objections. Link to more information about how Oriflame processes your personal data.',\n EmailPrimaryChannelDescription: 'Successfully connected! Please enter your email address and then verify it.',\n EmailPrimaryChannelLabel: 'Email',\n EmailPrimaryChannelPlaceholder: '@',\n EmailPrimaryChannelTitle: 'Email',\n EmailPrimaryChannelTooltip: 'Write your email in the format my@email.com',\n EmailVerification_Header: 'Verify your email',\n EmailVerification_ProceedingToRegistration: 'Proceeding to registration',\n EmailVerification_SendAgain: 'Send again',\n EmailVerification_Text:\n 'To continue with the registration please verify your email. A code was sent to {contactEmail}, you can enter it below.',\n EmailVerification_Verified: 'Verified',\n EmailVerification_WrongCode: 'Wrong code, try one more time or send again.',\n Error_WrongCode: 'Wrong code, try one more time or send again.',\n FirstStep_Address: 'Billing address',\n FirstStep_Button: 'NEXT',\n FirstStep_Country: 'Choose your country for billing',\n FirstStep_Country_Placeholder: 'Choose',\n FirstStep_Country_Tooltip: 'Please provide your country for shiping and taxation reasons.',\n FirstStep_DateOfBirth: 'Date of birth',\n FirstStep_DateOfBirthText: 'Enter your date of birth so we can surprise you with a special treat on your birthday!',\n FirstStep_Email: 'Email',\n FirstStep_Email_Optional: 'Email (optional)',\n FirstStep_FirstName: 'First name',\n FirstStep_Gender: 'Gender',\n FirstStep_Gender_Placeholder: 'Choose',\n FirstStep_Header: 'Personal details',\n FirstStep_LastName: 'Last name',\n FirstStep_Phone: 'Phone',\n FirstStep_PhoneWithPrefix: 'Mobile Phone',\n FirstStep_Phone_Optional: 'Phone (optional)',\n FirstStep_PlaceHolder: 'DD/MM/YYYY',\n FirstStep_PlaceholderEmail: '@',\n FirstStep_PlaceholderPhone: '+48XXXXXXXXX',\n FirstStep_PlaceholderPhoneWithPrefix: 'XXXXXXXXX',\n FirstStep_SearchedAddress: 'Searched address',\n FirstStep_Text: 'Start by filling out your account information.',\n FirstStep_TooltipPhone: 'Write your phone in the format +48XXXXXXXXX',\n FirstStep_TooltipPhoneWithPrefix: 'Write your phone in the format 123456789',\n FirstStep_UniqueId: 'Unique ID',\n FirstStep_UniqueId_Tooltip: 'Write your unique ID in the format 123456789',\n LegalDocument1_Link_Label: 'LegalDocument1 Link',\n LegalDocument2_Link_Label: 'LegalDocument2 Link',\n LegalDocument3_Link_Label: 'LegalDocument3 Link',\n LegalDocument4_Link_Label: 'LegalDocument4 Link',\n LegalDocument5_Link_Label: 'LegalDocument5 Link',\n LegalDocument6_Link_Label: 'LegalDocument6 Link',\n LegalDocument7_Link_Label: 'LegalDocument7 Link',\n LegalDocument8_Link_Label: 'LegalDocument8 Link',\n PhonePrimaryChannelDescription: 'Successfully connected! Please enter your mobile phone number and then verify it.',\n PhonePrimaryChannelLabel: 'Phone',\n PhonePrimaryChannelLabelWithPrefix: 'Mobile Phone',\n PhonePrimaryChannelPlaceholder: '+48XXXXXXXXX',\n PhonePrimaryChannelPlaceholderWithPrefix: 'XXXXXXXXX',\n PhonePrimaryChannelTitle: 'Phone',\n PhonePrimaryChannelTooltip: 'Write your phone in the format +48XXXXXXXXX',\n PhonePrimaryChannelTooltipWithPrefix: 'Write your phone in the format XXXXXXXXX',\n PhoneVerification_Header: 'Verify your phone',\n PhoneVerification_ProceedingToRegistration: 'Proceeding to registration',\n PhoneVerification_SendAgain: 'Send again',\n PhoneVerification_Text:\n 'To continue with the registration please verify your phone. A code was sent to {contactTelephone}, you can enter it below.',\n PhoneVerification_Verified: 'Verified',\n PhoneVerification_WrongCode: 'Wrong code, try one more time or send again.',\n Prestep_Apple: 'Sign up with Apple',\n Prestep_Button: \"LET'S GET STARTED\",\n Prestep_Email: 'Email',\n Prestep_ExternalAccountAlreadyConnected: 'External account already connected',\n Prestep_Facebook: 'Sign up with Facebook',\n Prestep_Google: 'Sign up with Google',\n Prestep_Header: 'Join us',\n Prestep_InvitationCode: 'Invitation code',\n Prestep_InvitationCodeNotFound: 'Invalid code',\n Prestep_InvitationCodeTitle: 'Add invitation code',\n Prestep_InvitationCodeTooltip: 'Add invitation code for a 5€ discount on your initial purchase over 45€.',\n Prestep_LegalNotice:\n 'You are starting a registration process as Oriflame Brand Partner. Please find our {PrivacyPolicy_Link} and {TermsAndConditions_Link}. By clicking on the buttons below, you consent to receive messages from Oriflame related to your registration process.',\n Prestep_LegalNotice_PrivacyPolicy_Label: 'Privacy policy',\n Prestep_LegalNotice_TermsAndConditions_Label: 'Terms and conditions',\n Prestep_Or: 'OR',\n Prestep_Password: 'Create a password',\n Prestep_Phone: 'Phone',\n Prestep_PhoneWithPrefix: 'Mobile Phone',\n Prestep_PlaceholderEmail: '@',\n Prestep_PlaceholderPassword: '******',\n Prestep_PlaceholderPhone: '+48XXXXXXXXX',\n Prestep_PlaceholderPhoneWithPrefix: 'XXXXXXXXX',\n Prestep_ReferralTitle: 'You were invited by',\n Prestep_RegistrationFailed: 'Registration failed. Please try again later.',\n Prestep_TooltipPhone: 'We will send a verification code',\n Prestep_TooltipPhoneWithPrefix: 'We will send a verification code',\n Prestep_UnauthorizedAccess: 'Unauthorized access',\n PrimaryChannelSubmitButton: 'NEXT',\n PrivacyPolicy_Label: 'Privacy policy',\n PrivacyPolicy_Text: 'I have read and accept the {PrivacyPolicy_Link}',\n Reseller: 'Reseller',\n SecondStep_BrandPartnerNumber: 'Brand Partner’s number',\n SecondStep_Button: 'NEXT',\n SecondStep_Button_Find: 'FIND',\n SecondStep_Country: 'Country',\n SecondStep_FindTheBestBrandPartner: 'Find the best Brand Partner near me',\n SecondStep_FindTheBestBrandPartner_Tooltip: 'Write your ZIP code and we will connect you with closest BP',\n SecondStep_Header: 'Connect to a Brand Partner',\n SecondStep_HeresYourBrandPartner: 'Here’s your Brand Partner!',\n SecondStep_IKnowaBrandPartner: 'I know a Brand Partner',\n SecondStep_SearchedAddress: 'Searched address',\n SecondStep_Text: 'For the best experience of Oriflame you need to connect to a Brand Partner.',\n SecondStep_YourAreConnected: 'You are connected to:',\n SecondStep_YourZipCode: 'Your zip code',\n SecondStep_YourZipCode_Tooltip: \"Don't know a Brand Partner? We will find the best one based on your location.\",\n TermsAndConditions: 'I agree with {TermsAndConditions_Link}.',\n TermsAndConditions_Label: 'Terms and Conditions',\n ThirdStep_AddYourDocument: 'Add your documents',\n ThirdStep_AdditionalIDCard_Header: 'Additional ID Card',\n ThirdStep_AdditionalIDCard_Text: 'Optional text about Additional ID card',\n ThirdStep_Button: 'FINISH REGISTRATION',\n ThirdStep_ChooseDocumentType: 'Choose document type',\n ThirdStep_Confirmation1: 'ThirdStep_Confirmation1',\n ThirdStep_Confirmation2: 'ThirdStep_Confirmation2',\n ThirdStep_DocumentDetails: 'Document details',\n ThirdStep_DocumentFileSize: 'Max 5 MB, jpg or png',\n ThirdStep_DocumentNumber: 'Document number',\n ThirdStep_DocumentNumber_Tooltip: 'ex. 123456789',\n ThirdStep_DocumentType: 'Document type',\n ThirdStep_Documents_Header: 'Documents',\n ThirdStep_ExpirationDate: 'Expiration date',\n ThirdStep_ExpirationDate_Tooltip: 'DD.MM.YYYY',\n ThirdStep_GeneralConditions: 'General conditions',\n ThirdStep_GeneralConditions_Text:\n 'By Completing this form you agree to Oriflame and/or your Sponsor sending you marketing and other materials related to your role as a Brand Partner. You can unsubscribe from marketing e-mails and texts at any time, free of charge, via ‘My Profile’, CONTACT US, or via a link in the emails you receive from us.',\n ThirdStep_Header: 'Almost there!',\n ThirdStep_HeaderText: 'One last thing before you begin a wonderful new journey.',\n ThirdStep_IDCard_Header: 'ID Card',\n ThirdStep_IDCard_Text: 'Optional text about ID card',\n ThirdStep_ImageGuidelines: 'Image guidelines',\n ThirdStep_KYCDocument_Header: 'KYC document',\n ThirdStep_KYCDocument_Text:\n 'Info about this document. You can upload multiple pages. Make sure they are good quality.',\n ThirdStep_More: 'More',\n ThirdStep_SelectFile: 'Select file',\n ThirdStep_ShowLess: 'Less',\n ThirdStep_ShowMore: 'More',\n ThirdStep_UploadDocument: 'Upload document',\n ThirdStep_UploadDocumentText:\n 'Info about this document. You can upload multiple pages. Make sure they are good quality.',\n ThirdStep_Your_Documents_Header: 'Your Documents',\n ThirdStep_Your_Documents_Text: 'Info about this section',\n Welcome_App: 'DOWNLOAD APP',\n Welcome_Button: 'START EXPLORING',\n Welcome_Header: 'Welcome!',\n Welcome_Text: 'Congratulations, you are on your way to a wonderful new journey!',\n addresResults: '({count} results)',\n addressSearch: 'Address search',\n addressSearchTooltip: 'Search for Zip and city',\n addressSearchValidation: 'You have to search for address',\n area: 'Area',\n area_Placeholder: 'Area placeholder',\n area_Tooltip: 'Area tooltip',\n back: 'BACK',\n birthDate_DoesntMatchUniqueId: 'Date of birth does not match your Unique ID',\n birthDate_LegalRequirementsFailed: 'You must be {MinAge} or older',\n birthDate_OutOfRange: 'Date of birth is not valid',\n cancel: 'Cancel',\n cannotCreate: 'Cannot create new item',\n cannotDelete: 'Cannot delete',\n cannotGetData: 'Cannot get data from server',\n cannotResend: 'Cannot resend',\n cannotUpdate: 'Cannot update',\n cannotVerify: 'Cannot verify',\n city: 'City',\n city_Placeholder: 'City placeholder',\n confirm: 'Confirm',\n confirmDocumentDelete: 'Do you really want to delete this document?',\n country: 'Country',\n country_Placeholder: 'Country placeholder',\n customerServiceLinkLabel: 'customer service',\n customer_NotEligible: 'You are not eligible for customer upgrade.',\n customer_NotUnique: 'You cannot register at the moment. Please contact {customerServiceLink}.',\n delete: 'Delete',\n delivery: 'Delivery',\n delivery2: 'Delivery 2',\n delivery2_Placeholder: 'Delivery 2 placeholder',\n delivery2_Tooltip: 'Delivery 2 tooltip',\n delivery3: 'Delivery 3',\n delivery3_Placeholder: 'Delivery 3 placeholder',\n delivery3_Tooltip: 'Delivery 3 tooltip',\n delivery_Placeholder: 'Delivery placeholder',\n delivery_Tooltip: 'Delivery tooltip',\n district: 'District',\n district_Placeholder: 'District placeholder',\n document_ExpirationTooSoon: 'Your document will expire too soon.',\n errorOccured: 'An error occured',\n fileTypeIsNotSupported: 'File type is not supported. Try uploading jpg or png',\n genderLabelMan: 'Man',\n genderLabelOther: 'Other',\n genderLabelWoman: 'Woman',\n hide: 'Hide',\n history: 'History',\n locality: 'Locality',\n locality_Placeholder: 'Locality placeholder',\n loginLinkLabel: 'logging in',\n noSuggestions: 'No suggestions',\n optedOutOfSponsorSelect: 'optedOutOfSponsorSelect',\n orderHistory: 'orderHistory',\n passwordRequirementCharactersCount: '{min}+ characters',\n passwordRequirementDigit: 'Numbers',\n passwordRequirementLetter: 'Letter',\n passwordRequirementLowerCaseLetter: 'Lower case letters',\n passwordRequirementSpecialCharacter: 'Special characters',\n passwordRequirementUpperCaseLetter: 'Upper case letters',\n province: 'Province',\n province_Placeholder: 'Province placeholder',\n readMore: 'Read more',\n region: 'Region',\n region_Placeholder: 'Region placeholder',\n resendInMinute: 'Resend code in 1 minute',\n searchForAnAddress: 'Search for an address',\n selectFile: 'Select file',\n selectedFileExceedsMaximumSize: 'File is too big, maximum size {maxMBs} MB',\n showImage: 'Show image',\n stateApproved: 'Approved',\n statePending: 'Pending',\n stateRejected: 'Rejected',\n stateUnknown: 'Unknown state',\n streetAddress: 'Street address',\n streetAddressTooltip: 'Type in full address with house/apartment number',\n streetAddress_Placeholder: 'Street address placeholder',\n successResend: 'Code was resent.',\n termsAndConditions_Mandatory: 'Terms and conditions have to be accepted.',\n uploadDone: 'Uploaded',\n uploading: 'Uploading...',\n validationBirthDateRegex: 'Birth date format should be {correctFormat}, e.g. 24.12.2000',\n validationDateRegex: 'Date format should be {correctFormat}, e.g. 24.12.2000',\n validationEmailIsAlreadyUsed: 'Email is already used. Try {loginLink} instead',\n validationEmailTerminatedCustomer: 'Cannot change email for terminated customer',\n validationLength: 'Invalid property length',\n validationMandatoryPropertyIsNull: 'This field is required',\n validationMaxLength: 'Maximum {max} characters',\n validationMaxValue: 'The date should not be later than {max}',\n validationMinLength: 'Minimum {min} characters',\n validationMinValue: 'The date should be later than {min}',\n validationRegex: 'This field is not filled in correctly',\n validationRegexBirthDate: 'Please enter your date of birth in the right format DD.MM.YYYY',\n validationRegexEmail: 'Please enter a valid email in the format my@mail.com',\n validationRegexIdentityCardDateExpiration: 'The date should not be later than {max}',\n validationRegexPhone: 'Please enter a valid phone in the format +46XXXXXXXXX',\n validationRegexUniqueID: 'Please enter a valid Unique ID in the format 123456',\n validationRequired: 'This field is required',\n validationUniqueAlias: 'Alias is already used',\n validationUniqueBankAccount: 'Bank account is already used',\n validationUniqueCustomerAttribute: 'Attribute is already used',\n validationUniqueDisplayName: 'Display name is already used',\n validationUniquePhone: 'Phone is already used. Try {loginLink} instead',\n validationUniqueTaxCode: 'Tax code is already used',\n validationUniqueTaxCode2: 'Tax code 2 is already used',\n validationUniqueUniqueId: 'Unique ID is already used',\n validationValidConfirmationCode: 'Confirmation code is not valid',\n validationValidOldPassword: 'Password does not match to existing password',\n validationValidPhone: 'Phone is not valid',\n validationValidSponsorNumber: 'Sponsor number is not valid',\n validationValidUniqueId: 'Unique ID is not valid',\n validationXmlCharacters: 'Property contains not supported character',\n warning: 'Warning',\n zipcode: 'Zip code',\n zipcode_Placeholder: 'Zip code placeholder',\n};\n\nexport const translationsNamespace = 'simplified-registration-BrandPartner';\n","/* istanbul ignore file */\n\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\nimport type { TranslationKey } from '../models/TranslationKey_simplified-registration-VIPCustomer';\n\nexport type DefaultTranslations = Record;\n\nexport const defaultTranslations: DefaultTranslations = {\n Approval_BlockGuaranteeOrdering: \"Blocks the consultant's guarantee and SPO sponsors from ordering on their behalf.\",\n Approval_Contact: 'Approval for receiving info emails/SMS',\n Approval_MarketingConsultant: 'Approval for receiving emails/SMS from beauty consultant',\n Approval_MarketingExternal: 'Approval for receiving marketing information from external sources',\n Approval_MarketingOriflame: 'Approval for receiving marketing information from Oriflame',\n Approval_Newletters: 'Approval for receiving newsletters',\n Approval_PersonalData: 'Approval for displaying personal data',\n Approval_Publication: 'Approval for publication in Oriflame materials',\n Approval_UplineLeaderBrowse: 'Leader approval for up line Leader to browse leader downline members',\n Approval_UplineLeaderData: \"Leader approval for up line Leader to display leader's data\",\n Custom_text:\n 'Market specific text about privacy policy and personal data processing for marketing products and services, analytical purposes and profiling. User is informed of their right to request access to data, rectification, deletion, transfer or limitation of processing and to raise objections. Link to more information about how Oriflame processes your personal data.',\n EmailPrimaryChannelDescription: 'Successfully connected! Please enter your email address and then verify it.',\n EmailPrimaryChannelLabel: 'Email',\n EmailPrimaryChannelPlaceholder: '@',\n EmailPrimaryChannelTitle: 'Email',\n EmailPrimaryChannelTooltip: 'Write your email in the format my@email.com',\n EmailVerification_Header: 'Verify your email',\n EmailVerification_ProceedingToRegistration: 'Proceeding to registration',\n EmailVerification_SendAgain: 'Send again',\n EmailVerification_Text:\n 'To continue with the registration please verify your email. A code was sent to {contactEmail}, you can enter it below.',\n EmailVerification_Verified: 'Verified',\n EmailVerification_WrongCode: 'Wrong code, try one more time or send again.',\n Error_WrongCode: 'Wrong code, try one more time or send again.',\n FirstStep_Address: 'Billing address',\n FirstStep_Button: 'NEXT',\n FirstStep_Country: 'Choose your country for billing',\n FirstStep_Country_Placeholder: 'Choose',\n FirstStep_Country_Tooltip: 'Please provide your country for shiping and taxation reasons.',\n FirstStep_DateOfBirth: 'Date of birth',\n FirstStep_DateOfBirthText: 'Enter your date of birth so we can surprise you with a special treat on your birthday!',\n FirstStep_Email: 'Email',\n FirstStep_Email_Optional: 'Email (optional)',\n FirstStep_FirstName: 'First name',\n FirstStep_Gender: 'Gender',\n FirstStep_Gender_Placeholder: 'Choose',\n FirstStep_Header: 'Personal details',\n FirstStep_LastName: 'Last name',\n FirstStep_Phone: 'Phone',\n FirstStep_PhoneWithPrefix: 'Mobile Phone',\n FirstStep_Phone_Optional: 'Phone (optional)',\n FirstStep_PlaceHolder: 'DD/MM/YYYY',\n FirstStep_PlaceholderEmail: '@',\n FirstStep_PlaceholderPhone: '+48XXXXXXXXX',\n FirstStep_PlaceholderPhoneWithPrefix: 'XXXXXXXXX',\n FirstStep_SearchedAddress: 'Searched address',\n FirstStep_Text: 'Start by filling out your account information.',\n FirstStep_TooltipPhone: 'Write your phone in the format +48XXXXXXXXX',\n FirstStep_TooltipPhoneWithPrefix: 'Write your phone in the format 123456789',\n FirstStep_UniqueId: 'Unique ID',\n FirstStep_UniqueId_Tooltip: 'Write your unique ID in the format 123456789',\n LegalDocument1_Link_Label: 'LegalDocument1 Link',\n LegalDocument2_Link_Label: 'LegalDocument2 Link',\n LegalDocument3_Link_Label: 'LegalDocument3 Link',\n LegalDocument4_Link_Label: 'LegalDocument4 Link',\n LegalDocument5_Link_Label: 'LegalDocument5 Link',\n LegalDocument6_Link_Label: 'LegalDocument6 Link',\n LegalDocument7_Link_Label: 'LegalDocument7 Link',\n LegalDocument8_Link_Label: 'LegalDocument8 Link',\n PhonePrimaryChannelDescription: 'Successfully connected! Please enter your mobile phone number and then verify it.',\n PhonePrimaryChannelLabel: 'Phone',\n PhonePrimaryChannelLabelWithPrefix: 'Mobile Phone',\n PhonePrimaryChannelPlaceholder: '+48XXXXXXXXX',\n PhonePrimaryChannelPlaceholderWithPrefix: 'XXXXXXXXX',\n PhonePrimaryChannelTitle: 'Phone',\n PhonePrimaryChannelTooltip: 'Write your phone in the format +48XXXXXXXXX',\n PhonePrimaryChannelTooltipWithPrefix: 'Write your phone in the format XXXXXXXXX',\n PhoneVerification_Header: 'Verify your phone',\n PhoneVerification_ProceedingToRegistration: 'Proceeding to registration',\n PhoneVerification_SendAgain: 'Send again',\n PhoneVerification_Text:\n 'To continue with the registration please verify your phone. A code was sent to {contactTelephone}, you can enter it below.',\n PhoneVerification_Verified: 'Verified',\n PhoneVerification_WrongCode: 'Wrong code, try one more time or send again.',\n Prestep_Apple: 'Sign up with Apple',\n Prestep_Button: \"LET'S GET STARTED\",\n Prestep_Email: 'Email',\n Prestep_ExternalAccountAlreadyConnected: 'External account already connected',\n Prestep_Facebook: 'Sign up with Facebook',\n Prestep_Google: 'Sign up with Google',\n Prestep_Header: 'Join us',\n Prestep_InvitationCode: 'Invitation code',\n Prestep_InvitationCodeNotFound: 'Invalid code',\n Prestep_InvitationCodeTitle: 'Add invitation code',\n Prestep_InvitationCodeTooltip: 'Add invitation code for a 5€ discount on your initial purchase over 45€.',\n Prestep_LegalNotice:\n 'You are starting a registration process as Oriflame VIP Customer. Please find our {PrivacyPolicy_Link} and {TermsAndConditions_Link}. By clicking on the buttons below, you consent to receive messages from Oriflame related to your registration process.',\n Prestep_LegalNotice_PrivacyPolicy_Label: 'Privacy policy',\n Prestep_LegalNotice_TermsAndConditions_Label: 'Terms and conditions',\n Prestep_Or: 'OR',\n Prestep_Password: 'Create a password',\n Prestep_Phone: 'Phone',\n Prestep_PhoneWithPrefix: 'Mobile Phone',\n Prestep_PlaceholderEmail: '@',\n Prestep_PlaceholderPassword: '******',\n Prestep_PlaceholderPhone: '+48XXXXXXXXX',\n Prestep_PlaceholderPhoneWithPrefix: 'XXXXXXXXX',\n Prestep_ReferralTitle: 'You were invited by',\n Prestep_RegistrationFailed: 'Registration failed. Please try again later.',\n Prestep_TooltipPhone: 'We will send a verification code',\n Prestep_TooltipPhoneWithPrefix: 'We will send a verification code',\n Prestep_UnauthorizedAccess: 'Unauthorized access',\n PrimaryChannelSubmitButton: 'NEXT',\n PrivacyPolicy_Label: 'Privacy policy',\n PrivacyPolicy_Text: 'I have read and accept the {PrivacyPolicy_Link}',\n Reseller: 'Reseller',\n SecondStep_BrandPartnerNumber: 'Brand Partner’s number',\n SecondStep_Button: 'NEXT',\n SecondStep_Button_Find: 'FIND',\n SecondStep_Country: 'Country',\n SecondStep_FindTheBestBrandPartner: 'Find the best Brand Partner for me',\n SecondStep_FindTheBestBrandPartner_Tooltip: 'Write your ZIP code and we will connect you with closest BP',\n SecondStep_Header: 'Connect to a Brand Partner',\n SecondStep_HeresYourBrandPartner: 'Here’s your Brand Partner!',\n SecondStep_IKnowaBrandPartner: 'I know a Brand Partner',\n SecondStep_SearchedAddress: 'Searched address',\n SecondStep_Text:\n 'Your Brand partner will be your main source of information and guidance for any inquiries you may have regarding our products, benefits and business opportunity.',\n SecondStep_YourAreConnected: 'You are connected to:',\n SecondStep_YourZipCode: 'Your zip code',\n SecondStep_YourZipCode_Tooltip: \"Don't know a Brand Partner? We will find the best one based on your location.\",\n TermsAndConditions: 'I agree with {TermsAndConditions_Link}.',\n TermsAndConditions_Label: 'Terms and Conditions',\n ThirdStep_AddYourDocument: 'Add your documents',\n ThirdStep_AdditionalIDCard_Header: 'Additional ID Card',\n ThirdStep_AdditionalIDCard_Text: 'Optional text about Additional ID card',\n ThirdStep_Button: 'FINISH REGISTRATION',\n ThirdStep_ChooseDocumentType: 'Choose document type',\n ThirdStep_Confirmation1: 'ThirdStep_Confirmation1',\n ThirdStep_Confirmation2: 'ThirdStep_Confirmation2',\n ThirdStep_DocumentDetails: 'Document details',\n ThirdStep_DocumentFileSize: 'Max 5 MB, jpg or png',\n ThirdStep_DocumentNumber: 'Document number',\n ThirdStep_DocumentNumber_Tooltip: 'ex. 123456789',\n ThirdStep_DocumentType: 'Document type',\n ThirdStep_Documents_Header: 'Documents',\n ThirdStep_ExpirationDate: 'Expiration date',\n ThirdStep_ExpirationDate_Tooltip: 'DD.MM.YYYY',\n ThirdStep_GeneralConditions: 'General conditions',\n ThirdStep_GeneralConditions_Text:\n 'By Completing this form you agree to Oriflame and/or your Sponsor sending you marketing and other materials related to your role as a Brand Partner. You can unsubscribe from marketing e-mails and texts at any time, free of charge, via ‘My Profile’, CONTACT US, or via a link in the emails you receive from us.',\n ThirdStep_Header: 'Almost there!',\n ThirdStep_HeaderText: 'One last thing before you begin a wonderful new journey.',\n ThirdStep_IDCard_Header: 'ID Card',\n ThirdStep_IDCard_Text: 'Optional text about ID card',\n ThirdStep_ImageGuidelines: 'Image guidelines',\n ThirdStep_KYCDocument_Header: 'KYC document',\n ThirdStep_KYCDocument_Text:\n 'Info about this document. You can upload multiple pages. Make sure they are good quality.',\n ThirdStep_More: 'More',\n ThirdStep_SelectFile: 'Select file',\n ThirdStep_ShowLess: 'Less',\n ThirdStep_ShowMore: 'More',\n ThirdStep_UploadDocument: 'Upload document',\n ThirdStep_UploadDocumentText:\n 'Info about this document. You can upload multiple pages. Make sure they are good quality.',\n ThirdStep_Your_Documents_Header: 'Your Documents',\n ThirdStep_Your_Documents_Text: 'Info about this section',\n Welcome_App: 'DOWNLOAD APP',\n Welcome_Button: 'START EXPLORING',\n Welcome_Header: 'Welcome!',\n Welcome_Text: 'Congratulations, you are on your way to a wonderful new journey!',\n addresResults: '({count} results)',\n addressSearch: 'Address search',\n addressSearchTooltip: 'Search for Zip and city',\n addressSearchValidation: 'You have to search for address',\n area: 'Area',\n area_Placeholder: 'Area placeholder',\n area_Tooltip: 'Area tooltip',\n back: 'BACK',\n birthDate_DoesntMatchUniqueId: 'Date of birth does not match your Unique ID',\n birthDate_LegalRequirementsFailed: 'You must be {MinAge} or older',\n birthDate_OutOfRange: 'Date of birth is not valid',\n cancel: 'Cancel',\n cannotCreate: 'Cannot create new item',\n cannotDelete: 'Cannot delete',\n cannotGetData: 'Cannot get data from server',\n cannotResend: 'Cannot resend',\n cannotUpdate: 'Cannot update',\n cannotVerify: 'Cannot verify',\n city: 'City',\n city_Placeholder: 'City placeholder',\n confirm: 'Confirm',\n confirmDocumentDelete: 'Do you really want to delete this document?',\n country: 'Country',\n country_Placeholder: 'Country placeholder',\n customerServiceLinkLabel: 'customer service',\n customer_NotEligible: 'You are not eligible for customer upgrade.',\n customer_NotUnique: 'You cannot register at the moment. Please contact {customerServiceLink}.',\n delete: 'Delete',\n delivery: 'Delivery',\n delivery2: 'Delivery 2',\n delivery2_Placeholder: 'Delivery 2 placeholder',\n delivery2_Tooltip: 'Delivery 2 tooltip',\n delivery3: 'Delivery 3',\n delivery3_Placeholder: 'Delivery 3 placeholder',\n delivery3_Tooltip: 'Delivery 3 tooltip',\n delivery_Placeholder: 'Delivery placeholder',\n delivery_Tooltip: 'Delivery tooltip',\n district: 'District',\n district_Placeholder: 'District placeholder',\n document_ExpirationTooSoon: 'Your document will expire too soon.',\n errorOccured: 'An error occured',\n fileTypeIsNotSupported: 'File type is not supported. Try uploading jpg or png',\n genderLabelMan: 'Man',\n genderLabelOther: 'Other',\n genderLabelWoman: 'Woman',\n hide: 'Hide',\n history: 'History',\n locality: 'Locality',\n locality_Placeholder: 'Locality placeholder',\n loginLinkLabel: 'logging in',\n noSuggestions: 'No suggestions',\n optedOutOfSponsorSelect: 'optedOutOfSponsorSelect',\n orderHistory: 'orderHistory',\n passwordRequirementCharactersCount: '{min}+ characters',\n passwordRequirementDigit: 'Numbers',\n passwordRequirementLetter: 'Letter',\n passwordRequirementLowerCaseLetter: 'Lower case letters',\n passwordRequirementSpecialCharacter: 'Special characters',\n passwordRequirementUpperCaseLetter: 'Upper case letters',\n province: 'Province',\n province_Placeholder: 'Province placeholder',\n readMore: 'Read more',\n region: 'Region',\n region_Placeholder: 'Region placeholder',\n resendInMinute: 'Resend code in 1 minute',\n searchForAnAddress: 'Search for an address',\n selectFile: 'Select file',\n selectedFileExceedsMaximumSize: 'File is too big, maximum size {maxMBs} MB',\n showImage: 'Show image',\n stateApproved: 'Approved',\n statePending: 'Pending',\n stateRejected: 'Rejected',\n stateUnknown: 'Unknown state',\n streetAddress: 'Street address',\n streetAddressTooltip: 'Type in full address with house/apartment number',\n streetAddress_Placeholder: 'Street address placeholder',\n successResend: 'Code was resent.',\n termsAndConditions_Mandatory: 'Terms and conditions have to be accepted.',\n uploadDone: 'Uploaded',\n uploading: 'Uploading...',\n validationBirthDateRegex: 'Birth date format should be {correctFormat}, e.g. 24.12.2000',\n validationDateRegex: 'Date format should be {correctFormat}, e.g. 24.12.2000',\n validationEmailIsAlreadyUsed: 'Email is already used. Try {loginLink} instead',\n validationEmailTerminatedCustomer: 'Cannot change email for terminated customer',\n validationLength: 'Invalid property length',\n validationMandatoryPropertyIsNull: 'This field is required',\n validationMaxLength: 'Maximum {max} characters',\n validationMaxValue: 'The date should not be later than {max}',\n validationMinLength: 'Minimum {min} characters',\n validationMinValue: 'The date should be later than {min}',\n validationRegex: 'This field is not filled in correctly',\n validationRegexBirthDate: 'Please enter your date of birth in the right format DD.MM.YYYY',\n validationRegexEmail: 'Please enter a valid email in the format my@mail.com',\n validationRegexIdentityCardDateExpiration: 'The date should not be later than {max}',\n validationRegexPhone: 'Please enter a valid phone in the format +46XXXXXXXXX',\n validationRegexUniqueID: 'Please enter a valid Unique ID in the format 123456',\n validationRequired: 'This field is required',\n validationUniqueAlias: 'Alias is already used',\n validationUniqueBankAccount: 'Bank account is already used',\n validationUniqueCustomerAttribute: 'Attribute is already used',\n validationUniqueDisplayName: 'Display name is already used',\n validationUniquePhone: 'Phone is already used. Try {loginLink} instead',\n validationUniqueTaxCode: 'Tax code is already used',\n validationUniqueTaxCode2: 'Tax code 2 is already used',\n validationUniqueUniqueId: 'Unique ID is already used',\n validationValidConfirmationCode: 'Confirmation code is not valid',\n validationValidOldPassword: 'Password does not match to existing password',\n validationValidPhone: 'Phone is not valid',\n validationValidSponsorNumber: 'Sponsor number is not valid',\n validationValidUniqueId: 'Unique ID is not valid',\n validationXmlCharacters: 'Property contains not supported character',\n warning: 'Warning',\n zipcode: 'Zip code',\n zipcode_Placeholder: 'Zip code placeholder',\n};\n\nexport const translationsNamespace = 'simplified-registration-VIPCustomer';\n","import { NOT_LOGGED_IN_USER_ID } from '@ori/auth';\nimport { useContext, createContext } from 'react';\n\nimport type { ClientAppConfig } from '../types/ClientAppConfig';\n\nexport const configurationContextDefaultValues: ClientAppConfig = {\n currentLanguage: '',\n customerId: NOT_LOGGED_IN_USER_ID,\n globalApiUrl: '',\n identityUrl: '',\n staticApiUrl: '',\n tenant: '',\n registrationType: 'Consultant',\n customerDashboardUrl: '',\n loginRedirectUrl: '',\n registrationId: '',\n validationErrorCode: '',\n customerLoginUrl: '',\n customerServiceUrl: '',\n};\n\nexport const configurationContext = createContext(configurationContextDefaultValues);\n\nexport const ConfigurationProvider = configurationContext.Provider;\n\nexport const useConfiguration = () => useContext(configurationContext);\n","import { isTokenValid, useToken } from '@ori/auth';\nimport type { TranslationsContext } from '@ori/i18n';\nimport { TranslationsNamespaceProvider, TranslationsProvider } from '@ori/i18n';\nimport type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport {\n defaultTranslations as BPDefaultTranslations,\n translationsNamespace as BPTranslationsNamespace,\n} from '../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n defaultTranslations as VIPDefaultTranslations,\n translationsNamespace as VIPTranslationsNamespace,\n} from '../constants/defaultTranslations_simplified-registration-VIPCustomer';\nimport { useConfiguration } from '../contexts';\n\nexport const I18nContainer: FC = ({ children }) => {\n const { currentLanguage, staticApiUrl, tenant, registrationType } = useConfiguration();\n\n const { token } = useToken();\n\n const correctTranslationNameSpace =\n registrationType === 'Consultant' ? BPTranslationsNamespace : VIPTranslationsNamespace;\n const correctDefalutTranslations = registrationType === 'Consultant' ? BPDefaultTranslations : VIPDefaultTranslations;\n\n const translationProps: TranslationsContext = {\n clientFetchConfiguration: {\n baseUrl: staticApiUrl,\n onError: (error) => {\n console.log('Error occured while loading translations.', String(error));\n },\n tenant,\n token,\n },\n currentLanguage,\n defaultTranslationsWithNamespaces: {\n [correctTranslationNameSpace]: correctDefalutTranslations,\n },\n };\n\n if (!isTokenValid(token)) {\n return null;\n }\n\n return (\n \n {children}\n \n );\n};\n","import { useToken } from '@ori/auth';\nimport { ApiClientProvider as GlobalApiClientProvider } from '@ori/global-api-client-react';\nimport { ApiClientProvider as StaticApiClientProvider } from '@ori/static-api-client-react';\nimport React from 'react';\nimport type { FC, PropsWithChildren } from 'react';\nimport { SWRConfig } from 'swr';\n\nimport { swrConfig } from '../constants';\nimport { useConfiguration } from '../contexts';\n\nexport const ApiProvider: FC = ({ children }) => {\n const { currentLanguage, globalApiUrl, staticApiUrl, tenant } = useConfiguration();\n const { formattedToken } = useToken();\n\n // the initial token value is an empty string\n // this occasionally causes 401 response from the API GW\n if (!formattedToken) {\n return null;\n }\n\n return (\n \n \n \n {children}\n \n \n \n );\n};\n","import { useContext, createContext } from 'react';\n\nimport type { useRegistrationStatusInitialState } from '../hooks';\n\nexport const RegistrationContext = createContext({} as ReturnType);\n\nexport const RegistrationStatusProvider = RegistrationContext.Provider;\n\nexport const useRegistrationStatus = () => useContext(RegistrationContext);\n","import type { FC, PropsWithChildren } from 'react';\nimport { useEffect } from 'react';\n\nimport { RegistrationStatusProvider } from '../contexts';\nimport { useRegistrationStatusInitialState } from '../hooks';\n\nexport const RegisterStatusContainer: FC = ({ children }) => {\n const { finished, setFinished } = useRegistrationStatusInitialState();\n\n useEffect(() => {\n setFinished(finished);\n }, [finished, setFinished]);\n\n return (\n \n {children}\n \n );\n};\n","import { useState } from 'react';\n\nexport const useRegistrationStatusInitialState = () => {\n const [finished, setFinished] = useState(false);\n\n return {\n finished,\n setFinished,\n } as const;\n};\n","import { CircularProgress, styled } from '@ori-ui/mui';\nimport { memo } from 'react';\n\nconst Root = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n});\n\nexport const Loading = memo(() => (\n \n \n \n));\n","import { createContext, useContext } from 'react';\n\nimport type { IContentKey } from '../interfaces';\n\nexport const contentsContext = createContext>({});\n\nexport const ContentsProvider = contentsContext.Provider;\n\nexport const GetContent = (key: IContentKey): string => {\n const contents = useContext(contentsContext);\n\n return contents[key.id] ?? '';\n};\n","import type { AxiosError } from 'axios';\n\nexport class ApiError extends Error {\n data: AxiosError;\n\n constructor(message: string, data: AxiosError) {\n super(message);\n this.name = 'ApiError';\n this.data = data;\n }\n}\n","import useSWR from 'swr';\n\nimport { useConfiguration } from '../contexts';\nimport { fetcher } from '../utils';\n\ninterface Translations {\n [locale: string]: Record;\n}\n\ninterface ContentsResponse {\n DefaultLanguage: string;\n Contents: Translations;\n}\n\nenum RegistrationSufixUrlType {\n VipCustomer = 'vipCustomerContent',\n Consultant = 'brandPartnerContent',\n}\n\nasync function fetchContents(url: string, tenant: string, currentLanguage?: string) {\n const locale = getLocale(currentLanguage);\n\n const response = await fetcher(url, {\n token: '',\n tenant,\n headers: { 'Accept-Language': locale },\n });\n\n const { Contents: contents, DefaultLanguage: defaultLanguage } = response;\n const currentLocale = locale.length > 0 ? locale : defaultLanguage;\n\n return {\n locale: currentLocale || '',\n contents: contents[currentLocale],\n };\n}\n\nfunction getLocale(currentLanguage?: string) {\n if (currentLanguage) {\n return currentLanguage;\n }\n\n if (document.documentElement.lang) {\n return document.documentElement.lang;\n }\n\n return navigator.language;\n}\n\nexport function useContentsQuery() {\n const { tenant, staticApiUrl, currentLanguage, registrationType } = useConfiguration();\n const registrationTypeSufix =\n registrationType === 'VipCustomer' ? RegistrationSufixUrlType.VipCustomer : RegistrationSufixUrlType.Consultant;\n\n const response = useSWR(\n `${staticApiUrl}/tenants/${tenant}/applications/simplifiedRegistration/${registrationTypeSufix}`,\n async (url: string) => fetchContents(url, tenant, currentLanguage),\n );\n\n return response;\n}\n","import type { AxiosError, AxiosRequestConfig, AxiosRequestHeaders } from 'axios';\nimport axios from 'axios';\n\nimport { ApiError } from '../models';\nimport { ClientAppConfig } from '../types/ClientAppConfig';\n\nexport interface FetcherProps extends Pick {\n token: string;\n}\n\nexport async function fetcher(url: string, options: AxiosRequestConfig & FetcherProps): Promise {\n const { tenant, token, ...config } = options;\n const headers: AxiosRequestHeaders = {\n ...config.headers,\n authorization: token,\n 'x-tenant-context': tenant,\n };\n\n return axios\n .get(`${url}`, {\n ...config,\n headers,\n })\n .then(({ data: result }) => result)\n .catch((error: AxiosError) => {\n throw new ApiError(error.message, error);\n });\n}\n","import type { FC, PropsWithChildren } from 'react';\n\nimport { Loading } from '../components';\nimport { ContentsProvider } from '../contexts';\nimport { useContentsQuery } from '../hooks';\n\nexport const ContentsContainer: FC = ({ children }) => {\n const { data: contentsData } = useContentsQuery();\n if (!contentsData) {\n return ;\n }\n\n const { contents } = contentsData;\n\n return {children};\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport { useContext, createContext, useState } from 'react';\n\nexport const VirtualPageAnalyticsContext = createContext<{\n virtualPageAnalyticsData: {\n previousStep?: string;\n setPreviousStep: (activeStep?: string) => void;\n };\n}>({\n virtualPageAnalyticsData: {\n setPreviousStep: () => {},\n previousStep: undefined,\n },\n});\n\nexport const VirtualPageAnalyticsProvider: FC = ({ children }) => {\n const [previousStep, setPreviousStep] = useState(undefined);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useVirtualPageAnalyticsData = () => {\n const ctx = useContext(VirtualPageAnalyticsContext);\n\n return {\n virtualPageAnalyticsContext: ctx,\n };\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport { useContext, createContext, useState } from 'react';\n\nexport const StepperContext = createContext<{\n stepperData: {\n activeStep: number;\n manualChange: boolean;\n stepsOrder: string[];\n setActiveStep: (activeStep: number) => void;\n setManualChange: (manualChange: boolean) => void;\n setStepsOrder: (stepsOrder: string[]) => void;\n };\n}>({\n stepperData: {\n setActiveStep: () => {},\n activeStep: 0,\n setManualChange: () => {},\n manualChange: false,\n stepsOrder: [],\n setStepsOrder: () => {},\n },\n});\n\nexport const StepperProvider: FC = ({ children }) => {\n const [activeStep, setActiveStep] = useState(0);\n const [manualChange, setManualChange] = useState(false);\n const [stepsOrder, setStepsOrder] = useState([]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useStepperData = () => {\n const ctx = useContext(StepperContext);\n\n return {\n context: ctx,\n };\n};\n","import type { ReactElement, PropsWithChildren } from 'react';\nimport React, { useContext, createContext, useState } from 'react';\n\nimport type { MessageType } from '../interfaces';\n\ninterface INotificationData {\n isOpen?: boolean;\n message?: ReactElement | string;\n messageId?: string;\n type?: keyof typeof MessageType;\n customIcon?: ReactElement;\n}\n\nexport const NotificationContext = createContext<{\n notificationData: {\n data?: INotificationData;\n setNotificationData: (data: INotificationData) => void;\n };\n}>({\n notificationData: {\n setNotificationData: () => {},\n },\n});\n\nexport const NotificationProvider: React.FC = ({ children }) => {\n const [data, setNotificationData] = useState({});\n\n return (\n \n {children}\n \n );\n};\n\nexport const useNotificationData = () => {\n const ctx = useContext(NotificationContext);\n\n return {\n context: ctx,\n };\n};\n","import type { FC, PropsWithChildren } from 'react';\nimport React, { useContext, createContext, useState } from 'react';\n\nexport interface IErrorData {\n fieldName?: string;\n errorCode?: string;\n}\n\nexport const FormErrorContext = createContext<{\n errorData: { customErrors?: IErrorData[]; setErrorData: (errorData: IErrorData[]) => void };\n}>({\n errorData: {\n setErrorData: () => {},\n },\n});\n\nexport const FormErrorProvider: FC = ({ children }) => {\n const [customErrors, setErrorData] = useState([]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const useFormError = () => {\n const ctx = useContext(FormErrorContext);\n\n return {\n context: ctx,\n };\n};\n","import { FormattedMessage } from '@ori/i18n';\nimport type { FC } from 'react';\n\nimport type { IFormattedMessageProps } from '../interfaces';\n\nexport const Localization: FC = (props) => {\n const { id, defaultMessage, values } = props;\n\n return (\n \n \n \n );\n};\n","import type * as MuiIcons from '@ori-ui/icons';\nimport type { MenuItemTypeMap } from '@ori-ui/mui';\nimport { GlobalCustomersDocumentApprovalDto, GlobalCustomersDocumentInfoDto } from '@ori/global-api-client-react';\nimport type { ReactNode } from 'react';\n\nimport type { TranslationKey } from '../models';\n\ninterface ILocalizationKey {\n id: TranslationKey;\n defaultMessage: string;\n}\n\ntype LocalizationFunction = (...args: string[]) => ILocalizationKey;\n\ninterface IFormattedMessageProps {\n id: TranslationKey;\n description?: string;\n defaultMessage?: string;\n values?: { [key: string]: Date | ReactNode | number | string };\n children?: (...formattedMessage: Array) => ReactNode;\n}\n\ninterface IContentKey {\n id: string;\n value: string;\n}\n\ninterface IAddressNodesFetchParams {\n searchText?: string;\n country?: string;\n top?: number;\n pathKey?: string;\n}\n\ninterface Benefit {\n icon: IContentKey;\n defaultIcon: keyof typeof MuiIcons;\n title: ILocalizationKey;\n description: ILocalizationKey;\n}\n\ninterface IErrorBase {\n AttemptedValue?: string;\n Code?: string;\n Message?: string;\n PropertyName?: string;\n}\n\ninterface IErrors {\n Errors?: IErrorBase[];\n}\n\ntype SponsorOrigin = 'ManualInput' | 'Pbs' | 'ReferralLink' | 'SponsorLocator' | 'InternationalPbs';\n\ninterface IAddressSuggestionListItem {\n addressSummary?: string;\n description?: string;\n count: number;\n pathKey?: string;\n addressNodeId?: string;\n}\n\ninterface ISuggestionProps {\n itemProps: MenuItemTypeMap<{ button: false }>;\n suggestion: IAddressSuggestionListItem;\n}\n\ninterface IConfirmDialogProps {\n handleCancel: () => void;\n handleConfirm: () => void;\n opened: boolean;\n children?: ReactNode;\n}\n\ninterface IDocumentsInfo {\n approval?: GlobalCustomersDocumentApprovalDto;\n documentId: number;\n fileName: string;\n fileSize: number;\n}\n\ninterface IDocumentItemProps {\n document: IDocumentsInfo;\n uploadProgress?: number;\n errorMessage?: ReactNode;\n canDelete?: boolean;\n isShowApprovalState?: boolean;\n onDocumentRemove?: (documentId: number) => void;\n isDeleteConfirmationRequired: boolean;\n}\n\ninterface IThumb {\n [key: number]: string;\n}\n\ninterface IDetailImage {\n [key: number]: string;\n}\n\ninterface IDocumentsInfo2 {\n approval?: GlobalCustomersDocumentApprovalDto;\n documentId: number;\n fileName?: string;\n fileSize: number;\n documentTypeId: number;\n customerId?: number;\n isActive?: boolean;\n isTemporary: boolean;\n createdDate: Date;\n}\n\ninterface IDocumentsInfoStoreData extends GlobalCustomersDocumentInfoDto {\n approval?: GlobalCustomersDocumentApprovalDto;\n}\n\nexport type IRegistrationType = 'Consultant' | 'VipCustomer';\n\nexport enum MessageType {\n error = 'error',\n initial = 'initial',\n success = 'success',\n warning = 'warning',\n}\n\nexport type {\n ILocalizationKey,\n LocalizationFunction,\n IFormattedMessageProps,\n IContentKey,\n Benefit,\n IAddressNodesFetchParams,\n IErrors,\n ISuggestionProps,\n IAddressSuggestionListItem,\n SponsorOrigin,\n IConfirmDialogProps,\n IDocumentsInfo,\n IDocumentItemProps,\n IThumb,\n IDetailImage,\n IDocumentsInfo2,\n IDocumentsInfoStoreData,\n};\n","import type { GlobalSharedValidationErrorsResponse } from '@ori/global-api-client-react';\n\nexport enum HttpStatusCodes {\n OK = 200,\n NotFound = 404,\n Forbidden = 403,\n InternalServerError = 500,\n}\n\nexport class FetchResult {\n httpStatus: HttpStatusCodes;\n\n response?: TResponse;\n\n constructor(httpStatus: HttpStatusCodes, response?: TResponse) {\n this.httpStatus = httpStatus;\n this.response = response;\n }\n\n isSuccess(): boolean {\n return FetchResult.isSuccess(this.httpStatus);\n }\n\n static get error(): FetchResult {\n return new FetchResult(HttpStatusCodes.InternalServerError, { errors: [] });\n }\n\n static get errorFor(): (response: TErrorResponse) => FetchResult {\n return (response) => new FetchResult(HttpStatusCodes.InternalServerError, response);\n }\n\n static isSuccess(...httpStatuses: HttpStatusCodes[]): boolean {\n const minSuccessCode = 200;\n const maxSuccessCode = 299;\n\n return httpStatuses.every((status) => status >= minSuccessCode && status <= maxSuccessCode);\n }\n\n static isAllSuccess(...results: Array): boolean {\n return results.every((r) => r === undefined || r.isSuccess());\n }\n}\n","/* istanbul ignore file */\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\n\nexport enum TranslationKey {\n Approval_BlockGuaranteeOrdering = 'Approval_BlockGuaranteeOrdering',\n Approval_Contact = 'Approval_Contact',\n Approval_MarketingConsultant = 'Approval_MarketingConsultant',\n Approval_MarketingExternal = 'Approval_MarketingExternal',\n Approval_MarketingOriflame = 'Approval_MarketingOriflame',\n Approval_Newletters = 'Approval_Newletters',\n Approval_PersonalData = 'Approval_PersonalData',\n Approval_Publication = 'Approval_Publication',\n Approval_UplineLeaderBrowse = 'Approval_UplineLeaderBrowse',\n Approval_UplineLeaderData = 'Approval_UplineLeaderData',\n Custom_text = 'Custom_text',\n EmailPrimaryChannelDescription = 'EmailPrimaryChannelDescription',\n EmailPrimaryChannelLabel = 'EmailPrimaryChannelLabel',\n EmailPrimaryChannelPlaceholder = 'EmailPrimaryChannelPlaceholder',\n EmailPrimaryChannelTitle = 'EmailPrimaryChannelTitle',\n EmailPrimaryChannelTooltip = 'EmailPrimaryChannelTooltip',\n EmailVerification_Header = 'EmailVerification_Header',\n EmailVerification_ProceedingToRegistration = 'EmailVerification_ProceedingToRegistration',\n EmailVerification_SendAgain = 'EmailVerification_SendAgain',\n EmailVerification_Text = 'EmailVerification_Text',\n EmailVerification_Verified = 'EmailVerification_Verified',\n EmailVerification_WrongCode = 'EmailVerification_WrongCode',\n Error_WrongCode = 'Error_WrongCode',\n FirstStep_Address = 'FirstStep_Address',\n FirstStep_Button = 'FirstStep_Button',\n FirstStep_Country = 'FirstStep_Country',\n FirstStep_Country_Placeholder = 'FirstStep_Country_Placeholder',\n FirstStep_Country_Tooltip = 'FirstStep_Country_Tooltip',\n FirstStep_DateOfBirth = 'FirstStep_DateOfBirth',\n FirstStep_DateOfBirthText = 'FirstStep_DateOfBirthText',\n FirstStep_Email = 'FirstStep_Email',\n FirstStep_Email_Optional = 'FirstStep_Email_Optional',\n FirstStep_FirstName = 'FirstStep_FirstName',\n FirstStep_Gender = 'FirstStep_Gender',\n FirstStep_Gender_Placeholder = 'FirstStep_Gender_Placeholder',\n FirstStep_Header = 'FirstStep_Header',\n FirstStep_LastName = 'FirstStep_LastName',\n FirstStep_Phone = 'FirstStep_Phone',\n FirstStep_PhoneWithPrefix = 'FirstStep_PhoneWithPrefix',\n FirstStep_Phone_Optional = 'FirstStep_Phone_Optional',\n FirstStep_PlaceHolder = 'FirstStep_PlaceHolder',\n FirstStep_PlaceholderEmail = 'FirstStep_PlaceholderEmail',\n FirstStep_PlaceholderPhone = 'FirstStep_PlaceholderPhone',\n FirstStep_PlaceholderPhoneWithPrefix = 'FirstStep_PlaceholderPhoneWithPrefix',\n FirstStep_SearchedAddress = 'FirstStep_SearchedAddress',\n FirstStep_Text = 'FirstStep_Text',\n FirstStep_TooltipPhone = 'FirstStep_TooltipPhone',\n FirstStep_TooltipPhoneWithPrefix = 'FirstStep_TooltipPhoneWithPrefix',\n FirstStep_UniqueId = 'FirstStep_UniqueId',\n FirstStep_UniqueId_Tooltip = 'FirstStep_UniqueId_Tooltip',\n LegalDocument1_Link_Label = 'LegalDocument1_Link_Label',\n LegalDocument2_Link_Label = 'LegalDocument2_Link_Label',\n LegalDocument3_Link_Label = 'LegalDocument3_Link_Label',\n LegalDocument4_Link_Label = 'LegalDocument4_Link_Label',\n LegalDocument5_Link_Label = 'LegalDocument5_Link_Label',\n LegalDocument6_Link_Label = 'LegalDocument6_Link_Label',\n LegalDocument7_Link_Label = 'LegalDocument7_Link_Label',\n LegalDocument8_Link_Label = 'LegalDocument8_Link_Label',\n PhonePrimaryChannelDescription = 'PhonePrimaryChannelDescription',\n PhonePrimaryChannelLabel = 'PhonePrimaryChannelLabel',\n PhonePrimaryChannelLabelWithPrefix = 'PhonePrimaryChannelLabelWithPrefix',\n PhonePrimaryChannelPlaceholder = 'PhonePrimaryChannelPlaceholder',\n PhonePrimaryChannelPlaceholderWithPrefix = 'PhonePrimaryChannelPlaceholderWithPrefix',\n PhonePrimaryChannelTitle = 'PhonePrimaryChannelTitle',\n PhonePrimaryChannelTooltip = 'PhonePrimaryChannelTooltip',\n PhonePrimaryChannelTooltipWithPrefix = 'PhonePrimaryChannelTooltipWithPrefix',\n PhoneVerification_Header = 'PhoneVerification_Header',\n PhoneVerification_ProceedingToRegistration = 'PhoneVerification_ProceedingToRegistration',\n PhoneVerification_SendAgain = 'PhoneVerification_SendAgain',\n PhoneVerification_Text = 'PhoneVerification_Text',\n PhoneVerification_Verified = 'PhoneVerification_Verified',\n PhoneVerification_WrongCode = 'PhoneVerification_WrongCode',\n Prestep_Apple = 'Prestep_Apple',\n Prestep_Button = 'Prestep_Button',\n Prestep_Email = 'Prestep_Email',\n Prestep_ExternalAccountAlreadyConnected = 'Prestep_ExternalAccountAlreadyConnected',\n Prestep_Facebook = 'Prestep_Facebook',\n Prestep_Google = 'Prestep_Google',\n Prestep_Header = 'Prestep_Header',\n Prestep_InvitationCode = 'Prestep_InvitationCode',\n Prestep_InvitationCodeNotFound = 'Prestep_InvitationCodeNotFound',\n Prestep_InvitationCodeTitle = 'Prestep_InvitationCodeTitle',\n Prestep_InvitationCodeTooltip = 'Prestep_InvitationCodeTooltip',\n Prestep_LegalNotice = 'Prestep_LegalNotice',\n Prestep_LegalNotice_PrivacyPolicy_Label = 'Prestep_LegalNotice_PrivacyPolicy_Label',\n Prestep_LegalNotice_TermsAndConditions_Label = 'Prestep_LegalNotice_TermsAndConditions_Label',\n Prestep_Or = 'Prestep_Or',\n Prestep_Password = 'Prestep_Password',\n Prestep_Phone = 'Prestep_Phone',\n Prestep_PhoneWithPrefix = 'Prestep_PhoneWithPrefix',\n Prestep_PlaceholderEmail = 'Prestep_PlaceholderEmail',\n Prestep_PlaceholderPassword = 'Prestep_PlaceholderPassword',\n Prestep_PlaceholderPhone = 'Prestep_PlaceholderPhone',\n Prestep_PlaceholderPhoneWithPrefix = 'Prestep_PlaceholderPhoneWithPrefix',\n Prestep_ReferralTitle = 'Prestep_ReferralTitle',\n Prestep_RegistrationFailed = 'Prestep_RegistrationFailed',\n Prestep_TooltipPhone = 'Prestep_TooltipPhone',\n Prestep_TooltipPhoneWithPrefix = 'Prestep_TooltipPhoneWithPrefix',\n Prestep_UnauthorizedAccess = 'Prestep_UnauthorizedAccess',\n PrimaryChannelSubmitButton = 'PrimaryChannelSubmitButton',\n PrivacyPolicy_Label = 'PrivacyPolicy_Label',\n PrivacyPolicy_Text = 'PrivacyPolicy_Text',\n Reseller = 'Reseller',\n SecondStep_BrandPartnerNumber = 'SecondStep_BrandPartnerNumber',\n SecondStep_Button = 'SecondStep_Button',\n SecondStep_Button_Find = 'SecondStep_Button_Find',\n SecondStep_Country = 'SecondStep_Country',\n SecondStep_FindTheBestBrandPartner = 'SecondStep_FindTheBestBrandPartner',\n SecondStep_FindTheBestBrandPartner_Tooltip = 'SecondStep_FindTheBestBrandPartner_Tooltip',\n SecondStep_Header = 'SecondStep_Header',\n SecondStep_HeresYourBrandPartner = 'SecondStep_HeresYourBrandPartner',\n SecondStep_IKnowaBrandPartner = 'SecondStep_IKnowaBrandPartner',\n SecondStep_SearchedAddress = 'SecondStep_SearchedAddress',\n SecondStep_Text = 'SecondStep_Text',\n SecondStep_YourAreConnected = 'SecondStep_YourAreConnected',\n SecondStep_YourZipCode = 'SecondStep_YourZipCode',\n SecondStep_YourZipCode_Tooltip = 'SecondStep_YourZipCode_Tooltip',\n TermsAndConditions = 'TermsAndConditions',\n TermsAndConditions_Label = 'TermsAndConditions_Label',\n ThirdStep_AddYourDocument = 'ThirdStep_AddYourDocument',\n ThirdStep_AdditionalIDCard_Header = 'ThirdStep_AdditionalIDCard_Header',\n ThirdStep_AdditionalIDCard_Text = 'ThirdStep_AdditionalIDCard_Text',\n ThirdStep_Button = 'ThirdStep_Button',\n ThirdStep_ChooseDocumentType = 'ThirdStep_ChooseDocumentType',\n ThirdStep_Confirmation1 = 'ThirdStep_Confirmation1',\n ThirdStep_Confirmation2 = 'ThirdStep_Confirmation2',\n ThirdStep_DocumentDetails = 'ThirdStep_DocumentDetails',\n ThirdStep_DocumentFileSize = 'ThirdStep_DocumentFileSize',\n ThirdStep_DocumentNumber = 'ThirdStep_DocumentNumber',\n ThirdStep_DocumentNumber_Tooltip = 'ThirdStep_DocumentNumber_Tooltip',\n ThirdStep_DocumentType = 'ThirdStep_DocumentType',\n ThirdStep_Documents_Header = 'ThirdStep_Documents_Header',\n ThirdStep_ExpirationDate = 'ThirdStep_ExpirationDate',\n ThirdStep_ExpirationDate_Tooltip = 'ThirdStep_ExpirationDate_Tooltip',\n ThirdStep_GeneralConditions = 'ThirdStep_GeneralConditions',\n ThirdStep_GeneralConditions_Text = 'ThirdStep_GeneralConditions_Text',\n ThirdStep_Header = 'ThirdStep_Header',\n ThirdStep_HeaderText = 'ThirdStep_HeaderText',\n ThirdStep_IDCard_Header = 'ThirdStep_IDCard_Header',\n ThirdStep_IDCard_Text = 'ThirdStep_IDCard_Text',\n ThirdStep_ImageGuidelines = 'ThirdStep_ImageGuidelines',\n ThirdStep_KYCDocument_Header = 'ThirdStep_KYCDocument_Header',\n ThirdStep_KYCDocument_Text = 'ThirdStep_KYCDocument_Text',\n ThirdStep_More = 'ThirdStep_More',\n ThirdStep_SelectFile = 'ThirdStep_SelectFile',\n ThirdStep_ShowLess = 'ThirdStep_ShowLess',\n ThirdStep_ShowMore = 'ThirdStep_ShowMore',\n ThirdStep_UploadDocument = 'ThirdStep_UploadDocument',\n ThirdStep_UploadDocumentText = 'ThirdStep_UploadDocumentText',\n ThirdStep_Your_Documents_Header = 'ThirdStep_Your_Documents_Header',\n ThirdStep_Your_Documents_Text = 'ThirdStep_Your_Documents_Text',\n Welcome_App = 'Welcome_App',\n Welcome_Button = 'Welcome_Button',\n Welcome_Header = 'Welcome_Header',\n Welcome_Text = 'Welcome_Text',\n addresResults = 'addresResults',\n addressSearch = 'addressSearch',\n addressSearchTooltip = 'addressSearchTooltip',\n addressSearchValidation = 'addressSearchValidation',\n area = 'area',\n area_Placeholder = 'area_Placeholder',\n area_Tooltip = 'area_Tooltip',\n back = 'back',\n birthDate_DoesntMatchUniqueId = 'birthDate_DoesntMatchUniqueId',\n birthDate_LegalRequirementsFailed = 'birthDate_LegalRequirementsFailed',\n birthDate_OutOfRange = 'birthDate_OutOfRange',\n cancel = 'cancel',\n cannotCreate = 'cannotCreate',\n cannotDelete = 'cannotDelete',\n cannotGetData = 'cannotGetData',\n cannotResend = 'cannotResend',\n cannotUpdate = 'cannotUpdate',\n cannotVerify = 'cannotVerify',\n city = 'city',\n city_Placeholder = 'city_Placeholder',\n confirm = 'confirm',\n confirmDocumentDelete = 'confirmDocumentDelete',\n country = 'country',\n country_Placeholder = 'country_Placeholder',\n customerServiceLinkLabel = 'customerServiceLinkLabel',\n customer_NotEligible = 'customer_NotEligible',\n customer_NotUnique = 'customer_NotUnique',\n delete = 'delete',\n delivery = 'delivery',\n delivery2 = 'delivery2',\n delivery2_Placeholder = 'delivery2_Placeholder',\n delivery2_Tooltip = 'delivery2_Tooltip',\n delivery3 = 'delivery3',\n delivery3_Placeholder = 'delivery3_Placeholder',\n delivery3_Tooltip = 'delivery3_Tooltip',\n delivery_Placeholder = 'delivery_Placeholder',\n delivery_Tooltip = 'delivery_Tooltip',\n district = 'district',\n district_Placeholder = 'district_Placeholder',\n document_ExpirationTooSoon = 'document_ExpirationTooSoon',\n errorOccured = 'errorOccured',\n fileTypeIsNotSupported = 'fileTypeIsNotSupported',\n genderLabelMan = 'genderLabelMan',\n genderLabelOther = 'genderLabelOther',\n genderLabelWoman = 'genderLabelWoman',\n hide = 'hide',\n history = 'history',\n locality = 'locality',\n locality_Placeholder = 'locality_Placeholder',\n loginLinkLabel = 'loginLinkLabel',\n noSuggestions = 'noSuggestions',\n optedOutOfSponsorSelect = 'optedOutOfSponsorSelect',\n orderHistory = 'orderHistory',\n passwordRequirementCharactersCount = 'passwordRequirementCharactersCount',\n passwordRequirementDigit = 'passwordRequirementDigit',\n passwordRequirementLetter = 'passwordRequirementLetter',\n passwordRequirementLowerCaseLetter = 'passwordRequirementLowerCaseLetter',\n passwordRequirementSpecialCharacter = 'passwordRequirementSpecialCharacter',\n passwordRequirementUpperCaseLetter = 'passwordRequirementUpperCaseLetter',\n province = 'province',\n province_Placeholder = 'province_Placeholder',\n readMore = 'readMore',\n region = 'region',\n region_Placeholder = 'region_Placeholder',\n resendInMinute = 'resendInMinute',\n searchForAnAddress = 'searchForAnAddress',\n selectFile = 'selectFile',\n selectedFileExceedsMaximumSize = 'selectedFileExceedsMaximumSize',\n showImage = 'showImage',\n stateApproved = 'stateApproved',\n statePending = 'statePending',\n stateRejected = 'stateRejected',\n stateUnknown = 'stateUnknown',\n streetAddress = 'streetAddress',\n streetAddressTooltip = 'streetAddressTooltip',\n streetAddress_Placeholder = 'streetAddress_Placeholder',\n successResend = 'successResend',\n termsAndConditions_Mandatory = 'termsAndConditions_Mandatory',\n uploadDone = 'uploadDone',\n uploading = 'uploading',\n validationBirthDateRegex = 'validationBirthDateRegex',\n validationDateRegex = 'validationDateRegex',\n validationEmailIsAlreadyUsed = 'validationEmailIsAlreadyUsed',\n validationEmailTerminatedCustomer = 'validationEmailTerminatedCustomer',\n validationLength = 'validationLength',\n validationMandatoryPropertyIsNull = 'validationMandatoryPropertyIsNull',\n validationMaxLength = 'validationMaxLength',\n validationMaxValue = 'validationMaxValue',\n validationMinLength = 'validationMinLength',\n validationMinValue = 'validationMinValue',\n validationRegex = 'validationRegex',\n validationRegexBirthDate = 'validationRegexBirthDate',\n validationRegexEmail = 'validationRegexEmail',\n validationRegexIdentityCardDateExpiration = 'validationRegexIdentityCardDateExpiration',\n validationRegexPhone = 'validationRegexPhone',\n validationRegexUniqueID = 'validationRegexUniqueID',\n validationRequired = 'validationRequired',\n validationUniqueAlias = 'validationUniqueAlias',\n validationUniqueBankAccount = 'validationUniqueBankAccount',\n validationUniqueCustomerAttribute = 'validationUniqueCustomerAttribute',\n validationUniqueDisplayName = 'validationUniqueDisplayName',\n validationUniquePhone = 'validationUniquePhone',\n validationUniqueTaxCode = 'validationUniqueTaxCode',\n validationUniqueTaxCode2 = 'validationUniqueTaxCode2',\n validationUniqueUniqueId = 'validationUniqueUniqueId',\n validationValidConfirmationCode = 'validationValidConfirmationCode',\n validationValidOldPassword = 'validationValidOldPassword',\n validationValidPhone = 'validationValidPhone',\n validationValidSponsorNumber = 'validationValidSponsorNumber',\n validationValidUniqueId = 'validationValidUniqueId',\n validationXmlCharacters = 'validationXmlCharacters',\n warning = 'warning',\n zipcode = 'zipcode',\n zipcode_Placeholder = 'zipcode_Placeholder',\n}\n","/* istanbul ignore file */\n\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\nimport { useTranslationsFromNamespace, type UseTranslationsFromNamespaceResult } from '@ori/i18n';\n\nimport type { DefaultTranslations } from '../constants/defaultTranslations_simplified-registration-BrandPartner';\n\n/**\n * A hook for accessing translations within a specific namespace along with a formatting function.\n *\n * @returns The translations within the specified namespace and a formatting function.\n */\nexport const useTranslations: () => UseTranslationsFromNamespaceResult = () =>\n useTranslationsFromNamespace();\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumRegistrationsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchRegistrationsMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptyRegistrationsMetadata: StaticCustomerRegistrationsMetadataRegistrationMetadataDto = {\n isEnabled: false,\n };\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumRegistrationsMetadata(api, tenant, registrationType);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyRegistrationsMetadata);\n }\n}\n\nexport const useRegistrationsMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'registrationsMetadata'],\n async () => {\n const result = await fetchRegistrationsMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch registartion metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { defaultTranslations } from '../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IFormattedMessageProps } from '../interfaces';\nimport { TranslationKey } from '../models';\n\nexport const getErrorLocalizationByCode = (errorCode?: string, fieldName?: string): IFormattedMessageProps => {\n switch (errorCode) {\n case '105':\n return { defaultMessage: defaultTranslations.validationRequired, id: TranslationKey.validationRequired };\n case '119':\n return { defaultMessage: defaultTranslations.validationLength, id: TranslationKey.validationLength };\n case '106':\n switch (fieldName) {\n case 'contactEmail':\n return { defaultMessage: defaultTranslations.validationRegexEmail, id: TranslationKey.validationRegexEmail };\n case 'contactTelephone':\n return { defaultMessage: defaultTranslations.validationRegexPhone, id: TranslationKey.validationRegexPhone };\n case 'uniqueId':\n return {\n defaultMessage: defaultTranslations.validationRegexUniqueID,\n id: TranslationKey.validationRegexUniqueID,\n };\n case 'birthDate':\n return {\n defaultMessage: defaultTranslations.validationRegexBirthDate,\n id: TranslationKey.validationRegexBirthDate,\n };\n case 'identityCard.expiration':\n return {\n defaultMessage: defaultTranslations.validationRegexIdentityCardDateExpiration,\n id: TranslationKey.validationRegexIdentityCardDateExpiration,\n };\n default:\n return { defaultMessage: defaultTranslations.validationRegex, id: TranslationKey.validationRegex };\n }\n case '108':\n return {\n defaultMessage: defaultTranslations.validationEmailIsAlreadyUsed,\n id: TranslationKey.validationEmailIsAlreadyUsed,\n };\n case '109':\n return { defaultMessage: defaultTranslations.validationUniquePhone, id: TranslationKey.validationUniquePhone };\n case '110':\n return {\n defaultMessage: defaultTranslations.validationUniqueUniqueId,\n id: TranslationKey.validationUniqueUniqueId,\n };\n case '117':\n return {\n defaultMessage: defaultTranslations.validationValidUniqueId,\n id: TranslationKey.validationValidUniqueId,\n };\n case '121':\n return {\n defaultMessage: defaultTranslations.validationEmailTerminatedCustomer,\n id: TranslationKey.validationEmailTerminatedCustomer,\n };\n case '128':\n return {\n defaultMessage: defaultTranslations.validationUniqueBankAccount,\n id: TranslationKey.validationUniqueBankAccount,\n };\n case '134':\n return {\n defaultMessage: defaultTranslations.validationXmlCharacters,\n id: TranslationKey.validationXmlCharacters,\n };\n case '137':\n return { defaultMessage: defaultTranslations.fileTypeIsNotSupported, id: TranslationKey.fileTypeIsNotSupported };\n case '139':\n return {\n defaultMessage: defaultTranslations.validationValidConfirmationCode,\n id: TranslationKey.validationValidConfirmationCode,\n };\n case '141':\n return {\n defaultMessage: defaultTranslations.validationMandatoryPropertyIsNull,\n id: TranslationKey.validationMandatoryPropertyIsNull,\n };\n case '149':\n return {\n defaultMessage: defaultTranslations.validationUniqueCustomerAttribute,\n id: TranslationKey.validationUniqueCustomerAttribute,\n };\n case '151':\n return {\n defaultMessage: defaultTranslations.validationUniqueTaxCode,\n id: TranslationKey.validationUniqueTaxCode,\n };\n case '152':\n return {\n defaultMessage: defaultTranslations.validationUniqueTaxCode2,\n id: TranslationKey.validationUniqueTaxCode2,\n };\n case '155':\n return { defaultMessage: defaultTranslations.validationUniqueAlias, id: TranslationKey.validationUniqueAlias };\n case '156':\n return {\n defaultMessage: defaultTranslations.validationUniqueDisplayName,\n id: TranslationKey.validationUniqueDisplayName,\n };\n case '153':\n return { defaultMessage: defaultTranslations.validationValidPhone, id: TranslationKey.validationValidPhone };\n case '244':\n return {\n defaultMessage: defaultTranslations.birthDate_LegalRequirementsFailed,\n id: TranslationKey.birthDate_LegalRequirementsFailed,\n };\n case '403':\n return {\n defaultMessage: defaultTranslations.document_ExpirationTooSoon,\n id: TranslationKey.document_ExpirationTooSoon,\n };\n case '111':\n return {\n defaultMessage: defaultTranslations.birthDate_DoesntMatchUniqueId,\n id: TranslationKey.birthDate_DoesntMatchUniqueId,\n };\n case '118':\n return { defaultMessage: defaultTranslations.birthDate_OutOfRange, id: TranslationKey.birthDate_OutOfRange };\n case '148':\n return {\n defaultMessage: defaultTranslations.termsAndConditions_Mandatory,\n id: TranslationKey.termsAndConditions_Mandatory,\n };\n case '104':\n return { defaultMessage: defaultTranslations.customer_NotUnique, id: TranslationKey.customer_NotUnique };\n case '169':\n return { defaultMessage: defaultTranslations.customer_NotEligible, id: TranslationKey.customer_NotEligible };\n case '115':\n return {\n defaultMessage: defaultTranslations.validationValidSponsorNumber,\n id: TranslationKey.validationValidSponsorNumber,\n };\n case '179':\n return {\n defaultMessage: defaultTranslations.Prestep_ExternalAccountAlreadyConnected,\n id: TranslationKey.Prestep_ExternalAccountAlreadyConnected,\n };\n case '299':\n return {\n defaultMessage: defaultTranslations.Prestep_UnauthorizedAccess,\n id: TranslationKey.Prestep_UnauthorizedAccess,\n };\n case '428':\n return {\n defaultMessage: defaultTranslations.Prestep_InvitationCodeNotFound,\n id: TranslationKey.Prestep_InvitationCodeNotFound,\n };\n case '324':\n return {\n defaultMessage: defaultTranslations.Prestep_RegistrationFailed,\n id: TranslationKey.Prestep_RegistrationFailed,\n };\n default:\n return { defaultMessage: defaultTranslations.errorOccured, id: TranslationKey.errorOccured };\n }\n};\n","import { IContentKey } from '../interfaces';\n\nexport class ContentKeys {\n [key: string]: IContentKey;\n\n static TermsAndConditions_Url: IContentKey = {\n id: 'TermsAndConditions_Url',\n value: '',\n };\n\n static LegalDocument1_Link: IContentKey = {\n id: 'LegalDocument1_Link',\n value: '',\n };\n\n static LegalDocument2_Link: IContentKey = {\n id: 'LegalDocument2_Link',\n value: '',\n };\n\n static LegalDocument3_Link: IContentKey = {\n id: 'LegalDocument3_Link',\n value: '',\n };\n\n static LegalDocument4_Link: IContentKey = {\n id: 'LegalDocument4_Link',\n value: '',\n };\n\n static LegalDocument5_Link: IContentKey = {\n id: 'LegalDocument5_Link',\n value: '',\n };\n\n static LegalDocument6_Link: IContentKey = {\n id: 'LegalDocument6_Link',\n value: '',\n };\n\n static LegalDocument7_Link: IContentKey = {\n id: 'LegalDocument7_Link',\n value: '',\n };\n\n static LegalDocument8_Link: IContentKey = {\n id: 'LegalDocument8_Link',\n value: '',\n };\n\n static PrivacyPolicy_Url: IContentKey = {\n id: 'PrivacyPolicy_Url',\n value: '',\n };\n}\n","import type { ReactElement } from 'react';\nimport type { FieldError } from 'react-hook-form';\n\nimport { Localization } from '../Localization';\nimport { defaultTranslations } from '../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../models';\n\nexport const renderValidationMessage = (error: FieldError, max?: number, min?: number) => {\n let customMessage: ReactElement | string | undefined;\n\n switch (error.type) {\n case 'required':\n customMessage = (\n \n );\n break;\n case 'maxLength':\n customMessage = (\n \n );\n break;\n case 'minLength':\n customMessage = (\n \n );\n break;\n case 'pattern':\n customMessage = (\n \n );\n break;\n default:\n customMessage = error.message;\n }\n\n return customMessage;\n};\n","import { ErrorCircle } from '@ori-ui/icons';\nimport { Box, FormControl, FormHelperText, Grid, styled, TextField } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport camelCase from 'lodash.camelcase';\nimport split from 'lodash.split';\nimport type { FC, ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport type { ControllerFieldState } from 'react-hook-form';\nimport { Controller, useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\n\ntype InputMode = 'decimal' | 'email' | 'none' | 'numeric' | 'search' | 'tel' | 'text' | 'url';\ninterface ITextFormFieldByConfigProps {\n name: string;\n label?: ReactElement | string;\n tooltipText?: ReactElement | string;\n isEditable?: boolean;\n isAvailable?: boolean;\n isAddressMatchRequired?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n fieldState?: ControllerFieldState;\n initialValue?: string;\n keyboardType?: InputMode;\n customPlaceholder?: string;\n inputType?: React.InputHTMLAttributes['type'];\n enableLowercaseLetters?: boolean;\n useUpperCase?: boolean;\n allowOnlyNumbers?: boolean;\n}\n\nconst StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.error.main,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.error.main,\n textDecoration: 'underline',\n },\n}));\n\nconst handleChangeAllowOnlyNumber = (value: string, available?: boolean) =>\n available ? value.replaceAll(/\\D/g, '') : value;\n\nexport const TextFormFieldByConfig: FC = (props) => {\n const {\n name,\n label,\n tooltipText,\n isEditable,\n isAvailable,\n displayOrder,\n validation,\n initialValue,\n isAddressMatchRequired,\n keyboardType,\n inputType,\n customPlaceholder,\n enableLowercaseLetters,\n useUpperCase,\n allowOnlyNumbers,\n } = props;\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const { customerLoginUrl } = useConfiguration();\n const { setFocus, setValue } = useFormContext();\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const formatError = split(submitError?.fieldName, '.').map((item) => camelCase(item));\n const joinFormatError = formatError.join('.');\n\n useEffect(() => {\n if (submitError) {\n setFocus(joinFormatError);\n }\n }, [customErrors, joinFormatError, setFocus, submitError]);\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode, name);\n\n const regexPattern = validation?.regularExpression ? new RegExp(validation.regularExpression) : undefined;\n\n const readOnly = isAddressMatchRequired ?? false;\n const fieldPlaceholder = customPlaceholder;\n\n const capitalize = enableLowercaseLetters ? 'off' : 'on';\n const readOnlyStyleBox = {\n display: 'flex',\n height: '0',\n alignItems: 'center',\n justifyContent: 'center',\n };\n\n const handleTrimValue = (fieldValue?: string) => {\n const correctValue = useUpperCase ? fieldValue?.toLocaleUpperCase() : fieldValue;\n setValue(name, correctValue?.trim(), {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true,\n });\n };\n\n const partOfAddress = name.includes('address') ? 10 : 1;\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + partOfAddress : displayOrder;\n\n const renderField = () => (\n \n \n (\n \n {readOnly ? null : (\n \n {renderValidationMessage(fieldState.error)}\n \n ) : submitError ? null : (\n
{tooltipText}
\n )\n }\n disabled={!isEditable}\n required={validation?.isMandatory}\n defaultValue={field.value as string}\n inputProps={{\n tabIndex: correctTabIndex,\n maxLength: validation?.maxLength,\n minLength: validation?.minLength ?? undefined,\n inputMode: keyboardType ?? 'text',\n 'data-testid': getTestId(`${name}-text-field`),\n autoCapitalize: capitalize,\n style: { textTransform: useUpperCase ? 'uppercase' : 'initial' },\n sx: {\n '&::placeholder': {\n textTransform: 'initial',\n },\n },\n }}\n // eslint-disable-next-line react/jsx-no-duplicate-props --- we needed is not duplicate props\n InputProps={{\n endAdornment: fieldState.error ? : null,\n autoComplete: 'off',\n }}\n {...field}\n value={(field.value as string) || ''}\n inputRef={ref}\n onBlur={() => handleTrimValue(field.value as string)}\n onChange={(e) => onChange(handleChangeAllowOnlyNumber(e.target.value, allowOnlyNumbers))}\n />\n )}\n {submitError ? (\n \n \n \n \n ),\n }}\n />\n \n ) : null}\n
\n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import type { ApiClient, StaticTelephoneFormatsPhoneFormatsDto } from '@ori/static-api-client-react';\nimport { getTenantPhoneFormats, useApiClient } from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchTenantPhoneFormats(api: ApiClient, tenant: string) {\n const emptyTenantPhoneFormats: StaticTelephoneFormatsPhoneFormatsDto = { allowedFormats: [] };\n\n try {\n const response = await getTenantPhoneFormats(api, tenant);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyTenantPhoneFormats);\n }\n}\n\nexport const usePhoneFormats = () => {\n const { tenant } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, 'phoneFormats'],\n async () => {\n const result = await fetchTenantPhoneFormats(staticApi, tenant);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch phone formats');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import type { ApiClient, StaticCountriesCountriesDto } from '@ori/static-api-client-react';\nimport { getTenantCountries, useApiClient } from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchTenantsCountry(api: ApiClient, tenant: string) {\n const emptyTenantCountry: StaticCountriesCountriesDto = { collection: [] };\n\n try {\n const response = await getTenantCountries(api, tenant);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyTenantCountry);\n }\n}\n\nexport const useTenantsCountry = () => {\n const { tenant } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, 'tenantsCountries'],\n async () => {\n const result = await fetchTenantsCountry(staticApi, tenant);\n if (result.isSuccess() && result.response?.collection) {\n return result.response.collection;\n }\n throw new Error('request failed fetch tenants country');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { ErrorCircle } from '@ori-ui/icons';\nimport type { SelectChangeEvent } from '@ori-ui/mui';\nimport { Box, FormControl, FormHelperText, Grid, InputLabel, MenuItem, Select, styled, TextField } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport type { StaticCountriesCountryDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport camelCase from 'lodash.camelcase';\nimport split from 'lodash.split';\nimport { useState, useEffect } from 'react';\nimport type { FC, ReactElement } from 'react';\nimport ReactCountryFlag from 'react-country-flag';\nimport type { ControllerFieldState } from 'react-hook-form';\nimport { Controller, useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { usePhoneFormats, useTenantsCountry } from '../../../models/api';\nimport { getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\n\ninterface ISelectOption {\n label: ReactElement | string;\n value: string;\n countryCode?: string;\n}\n\ninterface IPhoneFieldByConfigProps {\n name: string;\n label?: ReactElement | string;\n tooltipText: ReactElement | string;\n isEditable?: boolean;\n isAvailable?: boolean;\n isAddressMatchRequired?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n fieldState?: ControllerFieldState;\n initialValue?: string;\n customPlaceholder?: string;\n customPlaceholderWithPrefix?: string;\n tooltipWithPrefix: ReactElement | string;\n labelWithPrefix?: ReactElement | string;\n inputType?: React.InputHTMLAttributes['type'];\n enableLowercaseLetters?: boolean;\n}\n\nconst FlagWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(3),\n}));\n\nconst StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.error.main,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.error.main,\n textDecoration: 'underline',\n },\n}));\n\nconst getCountryByCountryCode = (countries?: StaticCountriesCountryDto[], countryCode?: string) =>\n countries?.find((country) => country.countryCode === countryCode)?.name;\n\nexport const PhoneFieldByConfig: FC = (props) => {\n const {\n name,\n label,\n tooltipText,\n isEditable,\n isAvailable,\n displayOrder,\n validation,\n initialValue,\n isAddressMatchRequired,\n inputType,\n customPlaceholder,\n enableLowercaseLetters,\n tooltipWithPrefix,\n customPlaceholderWithPrefix,\n labelWithPrefix,\n } = props;\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const { customerLoginUrl } = useConfiguration();\n\n const { setFocus, setValue, setError, watch, clearErrors } = useFormContext();\n const [phonePrefix, setPhonePrefix] = useState();\n const [isDisabledPrefix, setIsDisabledPrefix] = useState(false);\n const [phoneAutofocus, setPhoneAutofocus] = useState(false);\n\n const [phoneWithoutPrefix, setPhoneWithoutPrefix] = useState();\n\n const { data: phoneFormats } = usePhoneFormats();\n const { data: countries } = useTenantsCountry();\n\n const availableOptions = phoneFormats?.allowedFormats.map((opt) => ({\n countryCode: opt.countryCode === 'UK' ? 'GB' : opt.countryCode,\n label: opt.internationalPrefix,\n value: opt.internationalPrefix,\n })) as ISelectOption[] | undefined;\n\n const isAnyPhoneFormats = Boolean(availableOptions?.length && availableOptions.length > 0);\n const onlyOnePrefix = availableOptions?.length === 1;\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const watchValue = watch(name) as string;\n\n const formatError = split(submitError?.fieldName, '.').map((item) => camelCase(item));\n const joinFormatError = formatError.join('.');\n\n useEffect(() => {\n if (submitError) {\n setFocus(joinFormatError);\n }\n }, [customErrors, joinFormatError, setFocus, submitError]);\n\n const renderSelectOption = (item: ISelectOption, index: number): ReactElement => (\n \n {item.countryCode ? (\n \n ) : null}\n {getCountryByCountryCode(countries, item.countryCode)} ({item.label})\n \n );\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode, name);\n\n const regexPattern = validation?.regularExpression ? new RegExp(validation.regularExpression) : undefined;\n\n const readOnly = isAddressMatchRequired ?? false;\n const fieldPlaceholder = isAnyPhoneFormats ? customPlaceholderWithPrefix : customPlaceholder;\n\n const initialPrefix = availableOptions?.find((aopt) => initialValue?.includes(aopt.value));\n\n useEffect(() => {\n if (!phonePrefix && initialPrefix) {\n setPhonePrefix(initialPrefix.value);\n } else if (availableOptions && !phonePrefix) {\n setPhonePrefix(availableOptions[0]?.value);\n } else {\n setPhonePrefix(phonePrefix);\n }\n }, [initialPrefix, phonePrefix, availableOptions]);\n\n useEffect(() => {\n if (watchValue && phonePrefix) {\n setPhoneWithoutPrefix(watchValue.replace(phonePrefix, ''));\n }\n }, [watchValue, phonePrefix]);\n\n useEffect(() => {\n if (availableOptions && onlyOnePrefix) {\n setIsDisabledPrefix(true);\n }\n if (availableOptions && !initialPrefix && !phonePrefix) {\n setPhonePrefix(availableOptions[0]?.value);\n }\n }, [availableOptions, onlyOnePrefix, initialPrefix, phonePrefix]);\n\n const capitalize = enableLowercaseLetters ? 'off' : 'on';\n const readOnlyStyleBox = {\n display: 'flex',\n height: '0',\n alignItems: 'center',\n justifyContent: 'center',\n };\n\n const handleChangeAllowOnlyNumber = (available: boolean, value: string) => {\n let correctValue = value;\n if (available && correctValue.startsWith('0')) {\n correctValue = correctValue.slice(1).replaceAll(/\\D/g, '');\n }\n\n if (available) {\n correctValue = correctValue.replaceAll(/\\D/g, '');\n }\n\n const currentValue = isAnyPhoneFormats\n ? // eslint-disable-next-line unicorn/prefer-spread -- we need this type concat\n correctValue && phonePrefix?.concat(correctValue)\n : correctValue;\n\n const isValid = currentValue ? regexPattern?.test(currentValue) : false;\n if (isValid) {\n clearErrors(name);\n } else {\n setError(name, { type: 'pattern' });\n }\n\n return currentValue?.trim();\n };\n\n const handlePrefixChange = (event: SelectChangeEvent) => {\n const {\n target: { value },\n } = event;\n setPhonePrefix(value);\n setPhoneAutofocus(true);\n // eslint-disable-next-line unicorn/prefer-spread -- we need this type concat\n const currentValue = phoneWithoutPrefix && value?.concat(phoneWithoutPrefix);\n if (watchValue) {\n setValue(name, currentValue?.trim(), {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true,\n });\n }\n };\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + 1 : displayOrder;\n\n const onlyOneOption = Boolean(availableOptions?.length && availableOptions.length === 1);\n\n const renderField = () => (\n \n \n {isAnyPhoneFormats ? (\n \n \n {labelWithPrefix}\n {\n if (!selected?.length) {\n return undefined;\n }\n\n const foundCode = availableOptions?.find((opt) => opt.value === selected);\n if (foundCode?.countryCode) {\n return (\n \n \n {selected}\n \n );\n }\n\n return selected;\n }}\n sx={{\n '.MuiSelect-icon': {\n display: onlyOneOption ? 'none' : 'block',\n },\n }}\n value={phonePrefix}\n defaultValue={phonePrefix}\n onChange={(e) => handlePrefixChange(e)}\n >\n {availableOptions?.map(renderSelectOption)}\n \n \n \n ) : null}\n \n (\n \n {readOnly ? null : (\n \n {renderValidationMessage(fieldState.error)}\n \n ) : submitError ? null : (\n
{isAnyPhoneFormats ? tooltipWithPrefix : tooltipText}
\n )\n }\n disabled={!isEditable}\n required={validation?.isMandatory}\n inputProps={{\n maxLength: validation?.maxLength,\n minLength: validation?.minLength ?? undefined,\n inputMode: 'tel',\n 'data-testid': getTestId(`${name}-phone-field`),\n autoCapitalize: capitalize,\n tabIndex: correctTabIndex,\n sx: {\n '&::placeholder': {\n textTransform: 'initial',\n },\n },\n }}\n // eslint-disable-next-line react/jsx-no-duplicate-props --- we needed is not duplicate props\n InputProps={{\n endAdornment: fieldState.error ? : null,\n autoComplete: 'off',\n }}\n {...field}\n value={(field.value as string | undefined)?.replace(phonePrefix as string, '')}\n inputRef={ref}\n onChange={(e) => onChange(handleChangeAllowOnlyNumber(isAnyPhoneFormats, e.target.value))}\n />\n )}\n {submitError ? (\n \n \n \n \n ),\n }}\n />\n \n ) : null}\n
\n )}\n />\n \n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import { IconButton } from '@ori-ui/components';\nimport { Visibility, VisibilityOff } from '@ori-ui/icons';\nimport { InputAdornment, styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { Dispatch, FC, SetStateAction } from 'react';\n\nconst iconStyle = {\n fontSize: '32px',\n};\n\nconst StyledIconButton = styled(IconButton)(({ theme }) => ({\n padding: theme.spacing(0),\n}));\n\ninterface IPasswordToggleProps {\n isShowPassword: boolean;\n tabIndex?: number;\n setPasswordVisible: Dispatch>;\n}\n\nexport const PasswordToggle: FC = (props) => {\n const { isShowPassword, tabIndex, setPasswordVisible } = props;\n const { getTestIdProps } = useTestId();\n\n const handleClick = () => setPasswordVisible(!isShowPassword);\n\n const icon = isShowPassword ? (\n \n ) : (\n \n );\n\n return (\n \n \n {icon}\n \n \n );\n};\n","import { CheckCircleFilled, ErrorCircleFilled } from '@ori-ui/icons';\nimport { styled, Typography } from '@ori-ui/mui';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport type { IPasswordRequirement } from './PasswordFieldByConfig';\n\nconst IconWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n marginTop: theme.spacing(1),\n}));\n\nconst CheckIcon = styled(CheckCircleFilled)(({ theme }) => ({\n color: theme.palette.default.light,\n marginRight: theme.spacing(1),\n}));\n\nconst CheckIconSuccess = styled(CheckCircleFilled)(({ theme }) => ({\n color: theme.palette.primary.main,\n marginRight: theme.spacing(1),\n}));\n\nconst ErrorIcon = styled(ErrorCircleFilled)(({ theme }) => ({\n color: theme.palette.error.dark,\n marginRight: theme.spacing(1),\n}));\n\nconst StyledLabel = styled(Typography)(({ theme }) => ({\n color: theme.palette.default.main,\n}));\n\ninterface IPasswordRequirementsProps {\n requirements?: IPasswordRequirement[];\n minChar?: number;\n actualValue?: string;\n validating: boolean;\n}\n\nconst getValidationIcon = (requirementProperty: IPasswordRequirement, value?: string) =>\n requirementProperty.validationRegex.test(value ?? '') ? : ;\n\nexport const PasswordRequirements: FC = (props) => {\n const { requirements, minChar, actualValue, validating } = props;\n\n return (\n
\n {requirements?.map((requirement) => (\n \n {validating ? getValidationIcon(requirement, actualValue) : }\n \n \n \n \n ))}\n
\n );\n};\n","import { TextField, Grid, Box, FormHelperText, FormControl } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport type { StaticSharedMetadataPasswordRequirementsDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport { useState } from 'react';\nimport type { Dispatch, ReactElement, SetStateAction, FC } from 'react';\nimport type { ControllerFieldState } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useFormError } from '../../../contexts';\nimport { getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\nimport { PasswordToggle } from '../../PasswordToggle';\nimport { PasswordRequirements } from './PasswordRequirements';\n\ninterface ITextFormFieldByConfigProps {\n name: string;\n label?: ReactElement | string;\n isEditable?: boolean;\n isAvailable?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n requirements?: StaticSharedMetadataPasswordRequirementsDto;\n fieldState?: ControllerFieldState;\n initialValue?: string;\n customPlaceholder?: string;\n}\n\nexport interface IPasswordRequirement {\n key: keyof typeof defaultTranslations;\n validationRegex: RegExp;\n}\n\nconst getPasswordRequirements = (\n minLength: number,\n maxLength: number,\n configRequirements?: StaticSharedMetadataPasswordRequirementsDto,\n) => {\n const correctRequirements: IPasswordRequirement[] = [];\n\n if (configRequirements?.letter?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementLetter',\n validationRegex: new RegExp(configRequirements.letter.regularExpression ?? ''),\n });\n }\n\n if (configRequirements?.lowercaseLetter?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementLowerCaseLetter',\n validationRegex: new RegExp(configRequirements.lowercaseLetter.regularExpression ?? ''),\n });\n }\n\n if (configRequirements?.uppercaseLetter?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementUpperCaseLetter',\n validationRegex: new RegExp(configRequirements.uppercaseLetter.regularExpression ?? ''),\n });\n }\n\n correctRequirements.push({\n key: 'passwordRequirementCharactersCount',\n validationRegex: new RegExp(`^.{${minLength},${maxLength}}$`),\n });\n\n if (configRequirements?.digit?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementDigit',\n validationRegex: new RegExp(configRequirements.digit.regularExpression ?? ''),\n });\n }\n\n if (configRequirements?.specialCharacter?.isRequired) {\n correctRequirements.push({\n key: 'passwordRequirementSpecialCharacter',\n validationRegex: new RegExp(configRequirements.specialCharacter.regularExpression ?? ''),\n });\n }\n\n return correctRequirements;\n};\n\nexport const PasswordFieldByConfig: FC = (props) => {\n const {\n name,\n label,\n isEditable,\n isAvailable,\n displayOrder,\n validation,\n requirements,\n initialValue,\n customPlaceholder,\n } = props;\n\n const [isPasswordVisible, setIsPasswordVisible]: [boolean, Dispatch>] = useState(false);\n\n const [isShowRequirements, setIsShowRequirements] = useState(false);\n const [isValidatingRequirements, setIsValidatingRequirements] = useState(false);\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode, name);\n const minLength = validation?.minLength ?? 6;\n const maxLength = validation?.maxLength ?? 255;\n\n const passwordRequirementsArray = getPasswordRequirements(minLength, maxLength, requirements);\n\n const regexPattern = validation?.regularExpression ? new RegExp(validation.regularExpression) : undefined;\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + 1 : displayOrder;\n\n const renderField = () => (\n \n \n (\n \n \n {submitError ? (\n \n \n \n ) : null}\n {!isShowRequirements && fieldState.error ? (\n
\n {renderValidationMessage(fieldState.error, validation?.maxLength, validation?.minLength)}\n
\n ) : null}\n {isShowRequirements ? (\n
\n \n
\n ) : null}\n \n }\n disabled={!isEditable}\n required={validation?.isMandatory}\n defaultValue={field.value as string}\n inputProps={{\n maxLength: validation?.maxLength,\n tabIndex: correctTabIndex,\n minLength: validation?.minLength ?? undefined,\n 'data-testid': getTestId(`${name}-password-field`),\n }}\n // eslint-disable-next-line react/jsx-no-duplicate-props --- we needed is not duplicate props\n InputProps={{\n endAdornment: (\n \n ),\n autoComplete: 'new-password',\n }}\n onFocus={(_e) => setIsShowRequirements(true)}\n onKeyUp={(_e) => setIsValidatingRequirements(true)}\n {...field}\n />\n
\n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import { FormHelperText, styled } from '@ori-ui/mui';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IErrorData } from '../../contexts';\nimport { TranslationKey } from '../../models';\nimport { getErrorLocalizationByCode } from '../../utils';\n\nexport const FormErrorSummary = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n marginTop: theme.spacing(3),\n}));\n\nexport const StyledSubmitError = styled(FormHelperText)(({ theme }) => ({\n fontSize: '14px',\n textAlign: 'left',\n fontStyle: 'italic',\n marginLeft: theme.spacing(1),\n}));\n\nconst StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.error.main,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.error.main,\n textDecoration: 'underline',\n },\n}));\n\ninterface FormValidationSummaryProps {\n invalidPropertyErrors?: IErrorData[];\n customerServiceUrl?: string;\n}\n\nexport const FormValidationSummary: FC = (props) => {\n const { invalidPropertyErrors, customerServiceUrl } = props;\n const isInvalidPropertyErrors = Boolean(invalidPropertyErrors?.length && invalidPropertyErrors.length > 0);\n\n if (!isInvalidPropertyErrors) {\n return null;\n }\n\n return (\n \n {invalidPropertyErrors?.map((notPropertyError) => (\n \n \n \n \n ),\n }}\n />\n \n ))}\n \n );\n};\n","import type { FC } from 'react';\n\nexport const GoogleIcon: FC = () => (\n \n \n \n \n \n \n \n \n);\n","import { styled, Button, Typography } from '@ori-ui/mui';\n\nconst StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n marginTop: theme.spacing(8),\n}));\n\nconst SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(3),\n order: 8,\n}));\n\nconst SocialWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n marginTop: theme.spacing(1),\n}));\n\nconst IconWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n width: '40px',\n}));\n\nconst IconText = styled(Typography)(({ theme }) => ({\n paddingLeft: theme.spacing(10),\n textAlign: 'left',\n}));\n\n// this is custom component by design\nconst SocialButtton = styled(Button)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'start',\n width: '100%',\n minWidth: '330px',\n maxWidth: '500px',\n height: 'auto',\n minHeight: '40px',\n marginTop: theme.spacing(2),\n textTransform: 'none',\n boxShadow: '0px 1px 3px #00000033',\n padding: '5px 10px',\n}));\n\nconst Separator = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n marginTop: theme.spacing(5),\n marginBottom: theme.spacing(2),\n}));\n\nconst HiddenInput = styled('input')(({ theme }) => ({\n display: 'none',\n}));\n\nconst StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.text.primary,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.text.secondary,\n textDecoration: 'underline',\n },\n}));\n\nconst LegalNotice = styled(Typography)(({ theme }) => ({\n display: 'flex',\n marginInline: 'auto',\n marginBottom: theme.spacing(3),\n maxWidth: '500px',\n}));\n\nconst AddInvitationCode = styled(Typography)(({ theme }) => ({\n textAlign: 'left',\n fontWeight: 'bold',\n marginBottom: theme.spacing(8),\n cursor: 'pointer',\n}));\n\nexport {\n StyledForm,\n Separator,\n SocialButtton,\n SocialWrapper,\n SubmitButtton,\n IconWrapper,\n HiddenInput,\n IconText,\n StyledLink,\n LegalNotice,\n AddInvitationCode,\n};\n","import { useToken } from '@ori/auth';\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration } from '../../../contexts';\n\nconst axiosClient = axios.create();\n\nconst getEncodedImage = (blob: Blob): string => URL.createObjectURL(blob);\n\nexport function usePublicSponsorImage(customerId?: number, documentId?: number | null) {\n const { globalApiUrl, tenant, currentLanguage } = useConfiguration();\n const { formattedToken } = useToken();\n\n const shouldFetch = Boolean(customerId && documentId !== null && documentId !== undefined);\n const url = `${globalApiUrl}/customers/${customerId}/profileImages/${documentId}`;\n\n const { data: sponsorImage } = useSWR(shouldFetch ? url.toString() : null, async (requestUrl: string) => {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n ...(currentLanguage && { 'accept-language': currentLanguage }),\n };\n headers.Authorization = formattedToken;\n\n const { data } = await axiosClient\n .get(requestUrl, {\n headers,\n responseType: 'blob',\n })\n .then((blob) => blob)\n .catch((error: AxiosResponse) => error);\n\n return data;\n });\n\n return sponsorImage === undefined ? undefined : getEncodedImage(sponsorImage);\n}\n","export const stringAvatar = (name: string) => {\n const [lastName, firstName] = name.split(' ');\n\n return `${firstName?.charAt(0) ?? ''}${lastName?.charAt(0) ?? ''}`;\n};\n\nexport const removeAfterDash = (code: string) => {\n const index = code.indexOf('-');\n if (index !== -1) {\n return code.substring(0, index);\n }\n return code;\n};\n","import { Typography, styled, Avatar } from '@ori-ui/mui';\nimport { useGetCustomerProfileImage } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { usePublicSponsorImage } from '../../../models/api';\nimport { stringAvatar, removeAfterDash } from '../../../utils';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n maxWidth: '500px',\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(6),\n}));\n\nconst StyledAvatar = styled(Avatar)(({ theme }) => ({\n width: '70px',\n height: '70px',\n color: theme.palette.text.primary,\n textDecoration: 'none',\n}));\n\nconst StyledInfo = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n marginLeft: theme.spacing(3),\n}));\n\nexport const PublicSponsorBox: FC<{ displayOrder?: number | null }> = ({ displayOrder }) => {\n const { referral } = useConfiguration();\n const { data: sponsorDocument } = useGetCustomerProfileImage(referral?.CustomerId ?? 0);\n const sponsorImage = usePublicSponsorImage(referral?.CustomerId, sponsorDocument?.documentId);\n\n const { getTestIdProps } = useTestId();\n\n const internationalPbs = referral?.ReferralType === 'InternationalPbs';\n\n const sponsorName =\n internationalPbs && referral.InternationalPbsCode ? referral.InternationalPbsCode : referral?.FullName;\n\n const avatarName = internationalPbs ? removeAfterDash(sponsorName ?? '') : stringAvatar(sponsorName ?? '');\n\n return (\n \n {(referral?.FullName ?? referral?.InternationalPbsCode) ? (\n {avatarName}\n ) : null}\n \n \n \n \n\n \n {sponsorName}\n \n \n \n );\n};\n","import { Apple, Facebook } from '@ori-ui/icons';\nimport { Grid, Typography, FormHelperText, Collapse, Box } from '@ori-ui/mui';\nimport type {\n GlobalCustomerRegistrationsRegistrationDto,\n GlobalCustomerRegistrationsRegistrationDtoLoginType,\n} from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationMetadataDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useEffect, useState } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\n\nimport { ContentKeys, Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { GetContent, useConfiguration, useFormError } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport { getErrorLocalizationByCode } from '../../../utils';\nimport { PasswordFieldByConfig, PhoneFieldByConfig, TextFormFieldByConfig } from '../../FieldsByConfig';\nimport { FormValidationSummary } from '../../FormValidationSummary';\nimport { GoogleIcon } from '../../GoogleIcon';\nimport {\n StyledForm,\n Separator,\n SocialButtton,\n SocialWrapper,\n SubmitButtton,\n IconWrapper,\n HiddenInput,\n IconText,\n StyledLink,\n LegalNotice,\n AddInvitationCode,\n} from './PreStepFormStyledComponent';\nimport { PublicSponsorBox } from './PublicSponsorBox';\n\ninterface IPreStepFormProps {\n config?: StaticCustomerRegistrationsMetadataRegistrationMetadataDto;\n onSubmitForm: (data: GlobalCustomerRegistrationsRegistrationDto) => void;\n isSuccessSubmit: boolean;\n}\n\nconst getCorrectTabIndex = (tabIndex?: number) => (typeof tabIndex === 'number' ? tabIndex + 1 : 0);\n\nexport const PreStepForm: FC = (props) => {\n const { config, isSuccessSubmit, onSubmitForm } = props;\n\n const [isInvitationFieldVisible, setIsInvitationFieldVisible] = useState(false);\n const { getTestIdProps } = useTestId();\n const { validationErrorCode, referral, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n\n const methods = useForm({\n reValidateMode: 'onChange',\n mode: 'onChange',\n });\n\n const { formState, watch, register, setValue } = methods;\n const { isValid, isSubmitted, isSubmitting } = formState;\n const formValues = watch();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const invalidCodeErrors = customErrors?.filter(\n (er) =>\n !Object.keys(formValues)\n .map((val) => val.toLowerCase())\n .includes(er.fieldName?.toLowerCase() ?? ''),\n );\n\n const socialValidationMessage = getErrorLocalizationByCode(validationErrorCode);\n\n const isShowCustomValidationMessage = Boolean(!isSubmitted && validationErrorCode);\n\n const BPAndLink = !(registrationType === 'Consultant' && referral?.ReferralType === 'ReferralLink');\n\n const visibleByType = registrationType === 'VipCustomer' ? true : BPAndLink;\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we want logical operator\n const isShowSponsorBox = (referral?.CustomerId || referral?.InternationalPbsCode) && visibleByType;\n\n const loginWithSocialNetwork = (loginType: GlobalCustomerRegistrationsRegistrationDtoLoginType) => {\n setValue('loginType', loginType);\n setValue('contactEmail', undefined);\n setValue('contactTelephone', undefined);\n setValue('password', undefined);\n methods.clearErrors();\n methods.handleSubmit(onSubmitForm)();\n };\n\n useEffect(() => {\n if (formValues.contactEmail) {\n setValue('loginType', 'Email');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [formValues.contactEmail]);\n\n useEffect(() => {\n if (formValues.contactTelephone) {\n setValue('loginType', 'Telephone');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [formValues.contactTelephone]);\n\n /* eslint-disable @typescript-eslint/prefer-nullish-coalescing -- we need logical operator || */\n const isAnySocialNetworkAvailable = Boolean(\n config?.appleLogin?.isAvailable || config?.facebookLogin?.isAvailable || config?.googleLogin?.isAvailable,\n );\n /* eslint-enable @typescript-eslint/prefer-nullish-coalescing -- we need logical operator || */\n\n return (\n \n {isShowCustomValidationMessage ? (\n \n \n \n ) : null}\n \n \n \n \n \n }\n customPlaceholder={formatMessage(TranslationKey.Prestep_PlaceholderEmail)}\n keyboardType=\"email\"\n {...config?.contactEmail}\n />\n \n }\n labelWithPrefix={\n \n }\n tooltipText={\n \n }\n tooltipWithPrefix={\n \n }\n customPlaceholder={formatMessage(TranslationKey.Prestep_PlaceholderPhone)}\n customPlaceholderWithPrefix={formatMessage(TranslationKey.Prestep_PlaceholderPhoneWithPrefix)}\n {...config?.contactTelephone}\n />\n {isShowSponsorBox ? : null}\n\n {config?.invitationCode?.isAvailable && !referral?.ReferralType ? (\n <>\n {isInvitationFieldVisible ? null : (\n \n \n setIsInvitationFieldVisible(!isInvitationFieldVisible)}>\n \n \n \n \n )}\n\n \n \n }\n tooltipText={\n \n }\n keyboardType=\"text\"\n {...config.invitationCode}\n />\n \n \n ) : null}\n\n \n }\n customPlaceholder={formatMessage(TranslationKey.Prestep_PlaceholderPassword)}\n {...config?.password}\n />\n {config?.legalNoticeText?.isEnabled ? (\n \n \n \n \n \n ),\n PrivacyPolicy_Link: (\n \n \n \n ),\n }}\n />\n \n \n ) : null}\n \n \n \n \n \n {isAnySocialNetworkAvailable ? (\n <>\n \n \n \n \n \n \n {config?.googleLogin?.isAvailable ? (\n loginWithSocialNetwork('Google')}\n >\n \n \n \n \n \n \n \n ) : null}\n {config?.appleLogin?.isAvailable ? (\n loginWithSocialNetwork('Apple')}\n >\n \n \n \n \n \n \n \n ) : null}\n {config?.facebookLogin?.isAvailable ? (\n loginWithSocialNetwork('Facebook')}\n >\n \n \n \n \n \n \n \n ) : null}\n \n \n ) : null}\n \n );\n};\n","import { FormHelperText, styled, Typography } from '@ori-ui/mui';\nimport {\n useApiClient,\n createCustomerRegistration,\n HttpStatusCodes,\n useGetApplicationsSimplifiedRegistrationRequestValidation,\n} from '@ori/global-api-client-react';\nimport type {\n AxiosError,\n GlobalCustomerRegistrationsRegistrationDto,\n GlobalCustomerRegistrationsRegistrationDtoSponsorOrigin,\n} from '@ori/global-api-client-react';\nimport type { AxiosRequestConfig } from 'axios';\nimport type { FC } from 'react';\nimport { useRef, useState } from 'react';\nimport ReCAPTCHA from 'react-google-recaptcha';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError, useNotificationData } from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useRegistrationsMetadata } from '../../models/api';\nimport { getErrorLocalizationByCode } from '../../utils';\nimport { PreStepForm } from '../Forms';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n paddingTop: theme.spacing(10),\n}));\n\nconst WrapperCaptcha = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(3),\n}));\n\nexport const PreStep: FC = () => {\n const { data: registrationConfig } = useRegistrationsMetadata();\n const { data: captcha, isValidating } = useGetApplicationsSimplifiedRegistrationRequestValidation();\n\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n const recaptchaRef = useRef(null);\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const submitErrorLoginType = customErrors?.find((er) => er.fieldName === 'LoginType');\n\n const errorMessage = getErrorLocalizationByCode(submitErrorLoginType?.errorCode);\n\n const { registrationType, loginRedirectUrl, referral } = useConfiguration();\n\n const api = useApiClient();\n\n const showCaptcha = !isValidating && captcha?.siteKey && captcha.isMandatory;\n\n const onSubmit: SubmitHandler = async (data) => {\n const captchaToken = await recaptchaRef.current?.executeAsync();\n\n const headers: AxiosRequestConfig['headers'] = {\n 'x-response-key': captchaToken ?? '',\n };\n\n const isNotSocialNetwork = data.loginType === 'Email' || data.loginType === 'Telephone';\n\n try {\n const currentData: GlobalCustomerRegistrationsRegistrationDto = {\n ...data,\n contactEmail: isNotSocialNetwork ? data.contactEmail : undefined,\n contactTelephone: isNotSocialNetwork ? data.contactTelephone : undefined,\n password: isNotSocialNetwork ? data.password : undefined,\n customerId: referral?.CustomerId,\n currentStep: 'Prestep',\n startDate: new Date(),\n sponsorOrigin: referral?.ReferralType as GlobalCustomerRegistrationsRegistrationDtoSponsorOrigin,\n internationalPbsCode: referral?.InternationalPbsCode,\n sponsorNumber: referral?.ConsultantNumber,\n registrationType,\n };\n const createResponse = await createCustomerRegistration(api, currentData, headers);\n\n const registrationId = createResponse.data;\n const result = new FetchResult(createResponse.status);\n\n if (result.isSuccess()) {\n setSubmitSuccess(true);\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n const redirectUrl = `${loginRedirectUrl}?registrationId=${registrationId}`;\n\n const form = document.createElement('form');\n const password = document.createElement('input');\n form.method = 'POST';\n form.action = redirectUrl;\n form.style.display = 'none';\n password.name = 'Password';\n password.value = data.password ?? '';\n form.append(password);\n document.body.append(form);\n form.submit();\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n return (\n \n \n \n \n {submitErrorLoginType ? (\n \n \n \n ) : null}\n \n {showCaptcha ? (\n \n \n \n ) : null}\n \n );\n};\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationContactDetailsMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumContactDetailsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchContactMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptyContactMetadata: StaticCustomerRegistrationsMetadataRegistrationContactDetailsMetadataDto = {\n isVerificationEnabled: false,\n };\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumContactDetailsMetadata(api, tenant, registrationType);\n\n return new FetchResult(\n response.status,\n response.data,\n );\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyContactMetadata);\n }\n}\n\nexport const useContactMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'contactMetadata'],\n async () => {\n const result = await fetchContactMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch contact metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import {\n getCustomerRegistrationContactDetails,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationContactDetailsDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchContactData(api: ApiClient, registrationIdParam: string) {\n const emptyContactData: GlobalCustomerRegistrationsRegistrationContactDetailsDto = {\n isContactVerified: false,\n };\n\n try {\n const response = await getCustomerRegistrationContactDetails(api, registrationIdParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyContactData);\n }\n}\n\nexport const useContactData = (reFetchkey?: boolean | string) => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, reFetchkey, 'contactData'],\n async () => {\n const result = await fetchContactData(api, registrationId);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch contact data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import * as VirtualPageEvent from '@ori-events/virtual-page';\n\nconst pageTitle = 'simplified-registration';\n\nconst virtualPagePahNameMap = new Map([\n ['ContactVerification', 'contact-verification'],\n ['PersonalInfoStep', 'personal-info'],\n ['SponsorSelectionStep', 'sponsor-selection'],\n ['LegalInformationStep', 'legal'],\n ['SubmitStep', 'registration-submited'],\n]);\n\nconst getVirtualPagePathName = (virtualStep: string): string => {\n if (virtualPagePahNameMap.has(virtualStep)) {\n return virtualPagePahNameMap.get(virtualStep) as string;\n }\n\n return 'unknown-step';\n};\n\nconst getVirtualPageURL = (urlBase: string, virtualStep: string, registrationId: string): string =>\n `${urlBase}/${getVirtualPagePathName(virtualStep)}?virtualStep=${virtualStep}®istrationId=${registrationId}`;\n\nconst getPageURL = (registrationId: string, step?: string): string => {\n const urlBase = window.location.origin + window.location.pathname;\n if (!step) {\n return urlBase + window.location.search;\n }\n\n return getVirtualPageURL(urlBase.replace(/\\/+$/, ''), step, registrationId);\n};\n\nexport const virtualPageEventDispatch = (\n currentStep: string | undefined,\n previousStep: string | undefined,\n registrationId: string,\n): void => {\n const virtualPageEventData: VirtualPageEvent.Data = {\n virtualPageTitle: pageTitle,\n previousPageURL: getPageURL(registrationId, previousStep),\n virtualPageURL: getPageURL(registrationId, currentStep),\n };\n\n const event = new CustomEvent(VirtualPageEvent.Name, {\n detail: virtualPageEventData,\n });\n\n window.dispatchEvent(event);\n};\n","import { styled, TextField, Typography } from '@ori-ui/mui';\n\nconst AnchorResend = styled('a')(({ theme }) => ({\n textDecoration: 'underline',\n cursor: 'pointer',\n '&:hover': {\n color: theme.palette.primary.dark,\n },\n}));\n\nconst StyledTextField = styled(TextField)({\n '& input': {\n textAlign: 'center',\n },\n margin: '0 5px',\n width: '50px',\n maxWidth: '100%',\n textAlign: 'center',\n});\n\nconst RootContainer = styled('div')(({ theme }) => ({\n maxWidth: '360px',\n marginTop: theme.spacing(10),\n}));\n\nconst ResendText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(8),\n}));\n\nconst CodeDiv = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n});\n\nexport { AnchorResend, StyledTextField, RootContainer, CodeDiv, ResendText };\n","import type { FC, MouseEvent } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../models';\nimport { AnchorResend } from './VerificationStyledComponents';\n\ninterface IResendLinkComponent {\n handleResendCode: (event: MouseEvent) => void;\n isResendDisabled: boolean;\n}\n\nexport const ResendLink: FC = (props) => {\n const { handleResendCode, isResendDisabled } = props;\n\n if (isResendDisabled) {\n return (\n \n );\n }\n\n return (\n \n \n \n );\n};\n","import type { FC, ClipboardEvent } from 'react';\nimport { useRef } from 'react';\n\nimport { StyledTextField } from './VerificationStyledComponents';\n\nexport interface IVerificationCodeInputProps {\n index: number;\n inputRef: (instance: HTMLInputElement, index: number) => void;\n handleInput: (index: number) => void;\n handleDelete: (index: number) => void;\n handlePaste: (event: ClipboardEvent) => void;\n isError: boolean;\n isSubmitting: boolean;\n}\n\nexport const VerificationCodeInput: FC = (props) => {\n const { index, inputRef, handleInput, handleDelete, handlePaste, isError, isSubmitting } = props;\n\n const verificationInputRef = useRef(null);\n\n const onSetInputRef = (instance: HTMLInputElement) => {\n verificationInputRef.current = instance;\n inputRef(instance, index);\n };\n\n const handleVerificationInput = (e: React.ChangeEvent) => {\n // eslint-disable-next-line no-param-reassign -- needs to reassign e.target\n e.target.value = e.target.value.replaceAll(/\\D/g, '');\n if (e.target.value) {\n handleInput(index);\n }\n };\n\n const handleFocus = () => {\n if (verificationInputRef.current) {\n verificationInputRef.current.select();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (!verificationInputRef.current) {\n return;\n }\n\n if (event.key === 'Backspace' || event.key === 'Delete') {\n if (verificationInputRef.current.value) {\n verificationInputRef.current.value = '';\n } else {\n event.preventDefault();\n\n handleDelete(index);\n }\n }\n };\n\n return (\n \n );\n};\n","import useTestId from '@ori/testid-generator';\nimport type { ReactNode, FC, ClipboardEvent } from 'react';\nimport React, { useEffect, useRef, useCallback } from 'react';\n\nimport { Localization } from '../../Localization';\nimport type { IErrorData } from '../../contexts';\nimport { getErrorLocalizationByCode } from '../../utils';\nimport { FormErrorSummary, StyledSubmitError } from '../FormValidationSummary';\nimport { ResendLink } from './ResendLink';\nimport { VerificationCodeInput } from './VerificationCodeInput';\nimport { CodeDiv, ResendText, RootContainer } from './VerificationStyledComponents';\n\ninterface IVerifyProps {\n handleSubmitVerification: (code: string) => void;\n handleResendCode: (event: React.MouseEvent) => void;\n invalidCodeError?: IErrorData;\n isSubmitting: boolean;\n isResendDisabled: boolean;\n}\n\nexport const Verify: FC = (props) => {\n const { handleSubmitVerification, handleResendCode, invalidCodeError, isResendDisabled, isSubmitting } = props;\n\n const codeInputRefs = useRef([]);\n\n const { getTestIdProps } = useTestId();\n\n const submitErrorMessage = getErrorLocalizationByCode(invalidCodeError?.errorCode);\n\n const mountOrUpdate = useCallback(() => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (codeInputRefs.current && codeInputRefs.current.length > 0) {\n codeInputRefs.current[0]?.focus();\n }\n }, []);\n\n useEffect(() => {\n mountOrUpdate();\n }, [mountOrUpdate]);\n\n const onNumberDelete = (index: number) => {\n const newInputIndex = index - 1;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (newInputIndex >= 0 && codeInputRefs.current) {\n codeInputRefs.current[newInputIndex]?.focus();\n }\n };\n\n const setInputRef = (instance: HTMLInputElement, index: number) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (codeInputRefs.current) {\n codeInputRefs.current[index] = instance;\n }\n };\n\n const submitVerification = () => {\n let codeNumbers;\n\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain, @typescript-eslint/no-unnecessary-condition -- needed this condition\n if (codeInputRefs && codeInputRefs.current) {\n codeNumbers = codeInputRefs.current.map((input) => input.value);\n }\n if (codeNumbers?.every((value) => Boolean(value))) {\n const code = codeNumbers.join('');\n handleSubmitVerification(code);\n }\n };\n\n const onNumberInput = (index: number) => {\n const newInputIndex = index + 1;\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (codeInputRefs.current && newInputIndex < codeInputRefs.current.length) {\n codeInputRefs.current[newInputIndex]?.focus();\n } else {\n submitVerification();\n }\n };\n const onPaste = (event: ClipboardEvent) => {\n const pastedCode = event.clipboardData.getData('text/plain');\n const codeLength = codeInputRefs.current.length;\n // eslint-disable-next-line unicorn/prefer-spread -- we need split for this\n const codeArray = pastedCode.split('').slice(0, codeLength);\n codeInputRefs.current.forEach((codeInputRef, index) => {\n if (codeArray[index] && !Number.isNaN(Number(codeArray[index]))) {\n // eslint-disable-next-line no-param-reassign, @typescript-eslint/no-unnecessary-type-assertion -- we need\n codeInputRef.value = codeArray[index] as string;\n }\n });\n\n if (codeInputRefs.current.length) {\n submitVerification();\n }\n };\n\n const renderVerificationCodeInput = (index: number): ReactNode => (\n \n );\n\n const renderVerificationCodeInputs = (): ReactNode => {\n const codeLength = 6;\n\n return (\n {Array.from({ length: codeLength }).map((_x, index) => renderVerificationCodeInput(index))}\n );\n };\n\n return (\n \n
\n {renderVerificationCodeInputs()}\n {invalidCodeError ? (\n \n \n \n \n \n ) : null}\n \n \n \n \n
\n );\n};\n","import { styled, Typography } from '@ori-ui/mui';\n\nexport const RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n}));\n\nexport const StyledTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(3),\n fontWeight: 'bold',\n textAlign: 'center',\n}));\n","import { Typography, Grid, Button, styled } from '@ori-ui/mui';\nimport { useApiClient, updateCustomerRegistrationContactDetails, HttpStatusCodes } from '@ori/global-api-client-react';\nimport type {\n AxiosError,\n GlobalCustomerRegistrationsRegistrationContactDetailsDto,\n} from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC, ReactNode } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError, useNotificationData } from '../../contexts';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useContactMetadata, useContactData } from '../../models/api';\nimport { PhoneFieldByConfig, TextFormFieldByConfig } from '../FieldsByConfig';\nimport { StyledTitle } from './StepsStyledComponents';\n\nconst StyledSubTitle = styled(Typography)(({ theme }) => ({\n height: '80px',\n marginBottom: theme.spacing(10),\n textAlign: 'center',\n}));\n\nconst SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(10),\n}));\n\nconst StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n maxWidth: '500px',\n marginTop: theme.spacing(8),\n}));\n\nconst StyledGridContainer = styled(Grid)(({ theme }) => ({\n marginBottom: theme.spacing(10),\n}));\ninterface IVerificationChannelFormProps {\n children?: ReactNode;\n handlePrimaryChannel: () => void;\n}\n\nexport const VerificationChannelForm: FC = (props) => {\n const { handlePrimaryChannel } = props;\n const { data: contactMetadata } = useContactMetadata();\n const { data: contactData } = useContactData();\n\n const { getTestIdProps } = useTestId();\n\n const methods = useForm({\n reValidateMode: 'onSubmit',\n mode: 'onBlur',\n });\n\n const { formState } = methods;\n const { isSubmitting } = formState;\n\n const { formatMessage } = useTranslations();\n\n const api = useApiClient();\n\n const { registrationId } = useConfiguration();\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData } = errorData;\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const isEmailVerification = contactMetadata?.email?.isAvailable;\n\n const handleSubmitChannel: SubmitHandler = async (data) => {\n const correctData: GlobalCustomerRegistrationsRegistrationContactDetailsDto = {\n ...data,\n isContactVerified: Boolean(contactData?.isContactVerified),\n };\n try {\n const updateContactResponse = await updateCustomerRegistrationContactDetails(api, registrationId, correctData);\n\n const result = new FetchResult(updateContactResponse.status);\n\n if (result.isSuccess()) {\n handlePrimaryChannel();\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n const content = isEmailVerification ? (\n \n \n \n \n \n \n \n \n \n \n \n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.EmailPrimaryChannelPlaceholder)}\n keyboardType=\"email\"\n {...contactMetadata.email}\n />\n \n ) : (\n \n \n \n \n \n \n\n \n \n \n \n \n \n }\n labelWithPrefix={\n \n }\n tooltipText={\n \n }\n tooltipWithPrefix={\n \n }\n customPlaceholder={formatMessage(TranslationKey.PhonePrimaryChannelPlaceholder)}\n customPlaceholderWithPrefix={formatMessage(TranslationKey.PhonePrimaryChannelPlaceholderWithPrefix)}\n {...contactMetadata?.telephone}\n />\n \n );\n\n return (\n \n \n {content}\n \n \n \n \n \n );\n};\n","import { styled, CircularProgress } from '@ori-ui/mui';\nimport { memo } from 'react';\n\nconst RootLoader = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n});\n\nexport const VerificationLoading = memo(() => (\n \n \n \n));\n","import { CheckCircle, CheckCircleFilled } from '@ori-ui/icons';\nimport { Typography, styled } from '@ori-ui/mui';\nimport type { AxiosError } from '@ori/global-api-client-react';\nimport {\n HttpStatusCodes,\n createCustomerRegistrationContactDetailsConfirmation,\n updateCustomerRegistrationContactDetails,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport type { FC } from 'react';\nimport { useEffect, useState } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError, useNotificationData, useVirtualPageAnalyticsData } from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useContactData, useContactMetadata } from '../../models/api';\nimport { virtualPageEventDispatch } from '../../utils';\nimport { BasicSkeleton } from '../BasicSkeleton';\nimport { Verify } from '../Verification';\nimport { StyledTitle } from './StepsStyledComponents';\nimport { VerificationChannelForm } from './VerificationChannelForm';\nimport { VerificationLoading } from './VerificationLoading';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n maxWidth: '500px',\n margin: '0 auto',\n marginTop: theme.spacing(4),\n}));\n\nconst VerifyWrapper = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n}));\n\nconst WrapperContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n textAlign: 'center',\n marginTop: theme.spacing(7),\n}));\n\nconst StyledSubTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(8),\n}));\n\nconst VerificationIcon = styled(CheckCircle)(({ theme }) => ({\n fontSize: '60px',\n color: theme.palette.grey.A200,\n}));\n\nconst VerificationIconSuccess = styled(CheckCircleFilled)(({ theme }) => ({\n fontSize: '60px',\n color: theme.palette.primary.main,\n}));\n\ninterface IVerificationStepProps {\n handleVerifySuccess: () => void;\n}\n\nexport const VerificationStep: FC = (props) => {\n const { handleVerifySuccess } = props;\n\n const [isVerification, setIsVerification] = useState(false);\n const [isPrimaryChannel, setIsPrimaryChannel] = useState(false);\n const [isVerified, setIsVerified] = useState(false);\n const [isSubmitting, setIsSubmitting] = useState(false);\n\n const [resendDisabled, setResendDisabled] = useState(false);\n\n const { data: contactMetadata } = useContactMetadata();\n const { data: contactData } = useContactData(isPrimaryChannel);\n\n const api = useApiClient();\n\n const { registrationId } = useConfiguration();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors, setErrorData } = errorData;\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep } = virtualPageAnalyticsData;\n\n const isEmailVerification = contactMetadata?.email?.isAvailable;\n const contactTelephone = contactData?.contactTelephone ?? '';\n const contactEmail = contactData?.contactEmail ?? '';\n\n const isLoginWithoutSocialNetwork = contactTelephone || contactEmail;\n\n const invalidCodeError = customErrors?.find((er) => er.fieldName === 'ConfirmationCode');\n\n useEffect(() => {\n virtualPageEventDispatch('ContactVerification', undefined, registrationId);\n setPreviousStep('ContactVerification');\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n const handleSubmitVerification = async (code: string) => {\n setIsSubmitting(true);\n try {\n const createConfirmResponse = await createCustomerRegistrationContactDetailsConfirmation(api, registrationId, {\n confirmationCode: code,\n });\n const result = new FetchResult(createConfirmResponse.status);\n\n if (result.isSuccess()) {\n setIsVerification(true);\n\n setTimeout(() => {\n setIsVerification(false);\n setIsVerified(true);\n setTimeout(() => {\n handleVerifySuccess();\n setErrorData([]);\n }, 300);\n }, 700);\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n setIsSubmitting(false);\n };\n\n const handleResendCode = async (event: React.MouseEvent) => {\n event.preventDefault();\n\n setResendDisabled(true);\n setTimeout(() => {\n setResendDisabled(false);\n }, 60000);\n if (contactData) {\n try {\n const resendCodeResponse = await updateCustomerRegistrationContactDetails(api, registrationId, contactData);\n const result = new FetchResult(resendCodeResponse.status);\n\n if (result.isSuccess()) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: undefined,\n });\n }\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n const content = isEmailVerification ? (\n \n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n \n \n \n );\n\n if (!contactData) {\n return ;\n }\n\n return (\n \n {isVerification ? : null}\n {isVerified ? : }\n {!isLoginWithoutSocialNetwork && !isPrimaryChannel ? (\n setIsPrimaryChannel(true)} />\n ) : (\n \n {content}\n \n \n )}\n \n );\n};\n","import { CheckCircleFilled } from '@ori-ui/icons';\nimport { Typography, styled, Button } from '@ori-ui/mui';\nimport { useGetTenantDigitalCatalogueDynamiclink } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useState, useEffect } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useVirtualPageAnalyticsData } from '../../contexts';\nimport { TranslationKey } from '../../models';\nimport { virtualPageEventDispatch, useMobileOperatingSystem } from '../../utils';\n\nconst StyledWelcomeTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n marginTop: theme.spacing(6),\n fontWeight: 'bold',\n}));\n\nconst WelcomeWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n height: '100%',\n marginTop: theme.spacing(4),\n}));\n\nconst WelcomeActionButton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(8),\n}));\n\nconst WelcomeAppButton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(6),\n backgroundColor: '#F0F9F6',\n color: theme.palette.primary.dark,\n}));\n\nconst VerificationIconSuccess = styled(CheckCircleFilled)(({ theme }) => ({\n fontSize: '60px',\n color: theme.palette.primary.main,\n}));\n\nexport const WelcomeStep: FC = () => {\n const { customerDashboardUrl, registrationId, tenant } = useConfiguration();\n const [isRedirectDisabled, setIsRedirectDisabled] = useState(false);\n const { getTestIdProps } = useTestId();\n const { isMobileOperatingSystem } = useMobileOperatingSystem();\n const {\n virtualPageAnalyticsContext: {\n virtualPageAnalyticsData: { previousStep },\n },\n } = useVirtualPageAnalyticsData();\n const { data: dynamicLink } = useGetTenantDigitalCatalogueDynamiclink(tenant, {\n fallbackToWeb: false,\n clientApplication: 'mv7',\n });\n\n const handleRedirectToDashboard = () => {\n if (customerDashboardUrl) {\n setIsRedirectDisabled(true);\n window.location.href = customerDashboardUrl;\n }\n };\n\n const handleRedirectToApp = () => {\n if (dynamicLink?.link) {\n setIsRedirectDisabled(true);\n window.location.href = dynamicLink.link;\n }\n };\n\n useEffect(() => {\n virtualPageEventDispatch('SubmitStep', previousStep, registrationId);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n useEffect(() => {\n // Reset disabled buttons on back navigation for mobile devices\n const handleLocationChange = () => {\n setIsRedirectDisabled(false);\n };\n window.addEventListener('visibilitychange', handleLocationChange);\n\n return () => window.removeEventListener('visibilitychange', handleLocationChange);\n }, []);\n\n return (\n \n \n \n \n \n \n \n \n handleRedirectToDashboard()}\n {...getTestIdProps('welcome-step-btn-welcome')}\n >\n \n \n {isMobileOperatingSystem ? (\n handleRedirectToApp()}\n {...getTestIdProps('welcome-step-btn-welcome')}\n >\n \n \n ) : null}\n \n );\n};\n","declare global {\n interface Window {\n MSStream: string;\n }\n}\nexport const useMobileOperatingSystem = () => {\n const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n const isAndroid = /(android)/i.test(navigator.userAgent);\n\n return {\n isMobileOperatingSystem: isIOS || isAndroid,\n };\n};\n","import { styled, Stepper as MuiStepper, Step, StepLabel } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\n\nimport { useStepperData } from '../../contexts';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n flexWrap: 'wrap',\n marginTop: theme.spacing(6),\n marginBottom: theme.spacing(9),\n}));\n\nconst StyledStep = styled(Step)(({ theme }) => ({\n textAlign: 'center',\n}));\ninterface IStepperProps {\n steps: string[];\n visibleLables: boolean;\n canChangeStep: boolean;\n}\n\nexport const Stepper: FC = (props) => {\n const { steps, visibleLables, canChangeStep } = props;\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, setManualChange } = stepperData;\n const { getTestIdProps } = useTestId();\n\n const handleChangeStep = (stepNumber: number) => {\n if (canChangeStep) {\n setManualChange(true);\n setActiveStep(stepNumber);\n }\n };\n\n const stepperWidth = steps.length > 1 ? `${steps.length * 130 - 75}px` : 'auto';\n\n return (\n \n {steps.length > 1 && (\n \n {steps.map((label, index) => (\n handleChangeStep(index)}\n >\n \n {visibleLables ?
label
: null}\n
\n \n ))}\n \n )}\n
\n );\n};\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationPersonalDetailsMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumPersonalDetailsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchPersonalMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptyPersonalMetadata: StaticCustomerRegistrationsMetadataRegistrationPersonalDetailsMetadataDto = {};\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumPersonalDetailsMetadata(\n api,\n tenant,\n registrationType,\n );\n\n return new FetchResult(\n response.status,\n response.data,\n );\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyPersonalMetadata);\n }\n}\n\nexport const usePersonalMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'personalMetadata'],\n async () => {\n const result = await fetchPersonalMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch personal metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import {\n getCustomerRegistrationPersonalDetails,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationPersonalDetailsDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchPersonalData(api: ApiClient, registrationIdParam: string) {\n const emptyPersonalData: GlobalCustomerRegistrationsRegistrationPersonalDetailsDto = {};\n\n try {\n const response = await getCustomerRegistrationPersonalDetails(api, registrationIdParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyPersonalData);\n }\n}\n\nexport const usePersonalData = () => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, 'personalData'],\n async () => {\n const result = await fetchPersonalData(api, registrationId);\n\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch personal data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n revalidateOnFocus: false,\n },\n );\n};\n","// Scroll up on each new step for mobile devices\nexport const scrollTopFunctionHelper = () => {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n};\n","import { TranslationKey } from '../models';\nimport type { ILabelMapper } from './ILabelMapper';\nimport { Localization } from './Localization';\n\ninterface ILabelMapperTransforms {\n [key: string]: string;\n _default: string;\n}\n\nexport class GenderLabelMapperInternal implements ILabelMapper {\n getLocalizationKey(label: string): JSX.Element | string {\n const transforms: ILabelMapperTransforms = {\n Man: TranslationKey.genderLabelMan,\n Other: TranslationKey.genderLabelOther,\n Woman: TranslationKey.genderLabelWoman,\n _default: label,\n };\n\n const key = (label in transforms ? transforms[label] : transforms._default) as TranslationKey;\n\n return (\n \n );\n }\n}\n\nexport const GenderLabelMapper = new GenderLabelMapperInternal();\n","import { Box, FormControl, FormHelperText, Grid, InputLabel, MenuItem, Select, styled, Typography } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ChangeEventHandler, FC, FocusEventHandler, ReactElement } from 'react';\nimport { Controller } from 'react-hook-form';\n\nimport type { ILabelMapper } from '../../../Localization';\nimport { Localization } from '../../../Localization';\nimport { useFormError } from '../../../contexts';\nimport { getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\n\ninterface ISelectOption {\n label: ReactElement | string;\n value: number | string;\n}\n\ninterface ISelectFormFieldByConfigProps {\n labelMapper?: ILabelMapper;\n options?: ISelectOption[];\n name: string;\n label?: ReactElement | string;\n tooltipText?: ReactElement | string;\n title?: ReactElement | string;\n placeholder?: ReactElement | string;\n isEditable?: boolean;\n isAvailable?: boolean;\n displayOrder?: number;\n onChange?: ChangeEventHandler;\n onBlur?: FocusEventHandler;\n availableOptions?: string[];\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n isAddressMatchRequired?: boolean;\n initialValue?: number | string;\n}\n\nconst SelectWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing(0),\n}));\n\nexport const SelectFormFieldByConfig: FC = (props) => {\n const {\n name,\n label,\n title,\n isEditable,\n isAvailable,\n displayOrder,\n options,\n validation,\n initialValue,\n isAddressMatchRequired,\n placeholder,\n labelMapper,\n ...selectField\n } = props;\n\n const { getTestIdProps, getTestId } = useTestId();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode);\n\n const regexPattern = validation?.regularExpression ? new RegExp(validation.regularExpression) : undefined;\n\n const renderSelectOption = (item: ISelectOption, index: number): ReactElement => (\n \n {item.label}\n \n );\n\n const availableOptions = selectField.availableOptions?.map((opt) => ({\n label: labelMapper ? labelMapper.getLocalizationKey(opt) : opt,\n value: opt,\n }));\n const currentOptions = availableOptions?.length ? availableOptions : options;\n\n const partOfAddress = name.includes('address') ? 10 : 1;\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + partOfAddress : displayOrder;\n\n const renderField = () => (\n \n \n {title ? (\n \n {title}\n \n ) : null}\n (\n \n {label}\n \n \n \n {placeholder}\n \n {currentOptions?.map(renderSelectOption)}\n \n \n {fieldState.error ? (\n {renderValidationMessage(fieldState.error)}\n ) : null}\n {submitError ? (\n \n \n \n ) : null}\n \n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","export const generateDateFormat = (dateString: string): string => {\n const input = dateString.toLowerCase();\n let result = '';\n let usedDay = false;\n let usedMonth = false;\n let usedYear = false;\n let usedSeparator = false;\n\n for (const char of input) {\n if (char === 'd' && !usedDay) {\n result += 'dd';\n usedDay = true;\n usedSeparator = false;\n }\n if (char === 'm' && !usedMonth) {\n result += 'MM';\n usedMonth = true;\n usedSeparator = false;\n }\n if (char === 'y' && !usedYear) {\n result += 'yyyy';\n usedYear = true;\n usedSeparator = false;\n }\n if ((char === ' ' || char === '/' || char === '-' || char === '.') && !usedSeparator) {\n result += char;\n usedSeparator = true;\n }\n }\n\n return result.trim();\n};\n","import { DesktopDatePicker, LocalizationProvider } from '@ori-ui/date-pickers';\nimport type { TextFieldProps } from '@ori-ui/mui';\nimport { Box, FormControl, FormHelperText, Grid } from '@ori-ui/mui';\nimport DateAdapter from '@ori-ui/mui/DateAdapter';\nimport { useCulture } from '@ori/culture';\nimport type { GlobalSharedMetadataValidationDateTimeValidationDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport { format } from 'date-fns';\nimport type { FC, ReactElement } from 'react';\nimport type { ControllerFieldState } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { useFormError } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport { generateDateFormat, getErrorLocalizationByCode, renderValidationMessage } from '../../../utils';\n\ninterface IDatePickerFieldProps {\n name: string;\n label?: ReactElement | string;\n infoText?: ReactElement | string;\n placeholderText?: string;\n isEditable?: boolean;\n isAvailable?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationDateTimeValidationDto;\n fieldState?: ControllerFieldState;\n defaultDate?: Date;\n invalidMsg: TranslationKey;\n}\n\nconst isValidDate = (d?: Date) =>\n // eslint-disable-next-line unicorn/prefer-number-properties, no-restricted-globals --- we needed this solution\n d instanceof Date && !isNaN(d as unknown as number);\n\nconst isValidMax = (d?: Date, max?: Date) => d && max && d.getTime() < max.getTime();\n\nconst isValidMin = (d?: Date, min?: Date) => d && min && d.getTime() > min.getTime();\n\nexport const DatePickerField: FC = (props) => {\n const { name, label, infoText, isEditable, isAvailable, displayOrder, validation, defaultDate, invalidMsg } = props;\n\n const { getTestId } = useTestId();\n\n const { culture } = useCulture();\n const { formatMessage } = useTranslations();\n const culturePattern = culture?.calendarFormat?.patterns?.shortDatePattern ?? '';\n\n const dateFormat = generateDateFormat(culturePattern);\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const submitError = customErrors?.find((error) => error.fieldName?.toLowerCase() === name.toLowerCase());\n\n const errorMessage = getErrorLocalizationByCode(submitError?.errorCode, name);\n\n const invalidDateMessage = formatMessage(invalidMsg, {\n correctFormat: dateFormat.toUpperCase(),\n });\n\n const actualDate = new Date();\n actualDate.setFullYear(actualDate.getFullYear() - 18);\n\n const minDate = validation?.minValue ? new Date(validation.minValue) : undefined;\n const maxDate = validation?.maxValue ? new Date(validation.maxValue) : undefined;\n\n const formattedMax = maxDate ? format(maxDate, culturePattern).replaceAll(' ', '') : null;\n const formattedMin = minDate ? format(minDate, culturePattern).replaceAll(' ', '') : null;\n\n const invalidMaxDateMessage = formatMessage(TranslationKey.validationMaxValue, {\n max: formattedMax,\n });\n\n const invalidMinDateMessage = formatMessage(TranslationKey.validationMinValue, {\n min: formattedMin,\n });\n\n const initialDate = defaultDate ? new Date(defaultDate) : actualDate;\n\n // we need start tabindex from 1 but displayOrder starts from 0\n const correctTabIndex = typeof displayOrder === 'number' ? displayOrder + 1 : displayOrder;\n\n const renderInputProps = (fieldState: ControllerFieldState): TextFieldProps => ({\n fullWidth: true,\n variant: 'outlined',\n disabled: !isEditable,\n required: validation?.isMandatory,\n error: !!fieldState.error,\n inputProps: {\n tabIndex: correctTabIndex,\n 'data-testid': getTestId(`${name}-date-field`),\n maxLength: 10, // hardcoded for HR where we hawe this strange form dd.mm.yyyy. and for picker is possible this value 09.09.2000.0\n },\n helperText: fieldState.error ? renderValidationMessage(fieldState.error) : submitError ? null : infoText,\n });\n\n const renderField = () => (\n \n \n {\n if (currentDate && !isValidDate(currentDate)) {\n return invalidDateMessage;\n }\n if (currentDate && maxDate && !isValidMax(currentDate, maxDate)) {\n return invalidMaxDateMessage;\n }\n if (currentDate && minDate && !isValidMin(currentDate, minDate)) {\n return invalidMinDateMessage;\n }\n\n return true;\n },\n }}\n defaultValue={initialDate}\n render={({ field, fieldState }) => (\n \n \n \n {submitError ? (\n \n \n \n ) : null}\n \n \n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import type {\n GlobalCustomersAddressFormatDto,\n GlobalCustomersAddressFormatLineDto,\n GlobalCustomersAddressFormatLineDtoFieldsItem,\n GlobalSharedAddressDto,\n} from '@ori/global-api-client-react';\nimport type {\n StaticCustomersMetadataAddressPropertyDto,\n StaticCustomersMetadataRegistrationAddressMetadataDto,\n} from '@ori/static-api-client-react';\n\nexport const getCorrectFieldsForValidate = (\n fieldsConfig?: StaticCustomersMetadataRegistrationAddressMetadataDto,\n): string[] => {\n const resultFields: string[] = [];\n\n if (fieldsConfig) {\n Object.entries(fieldsConfig).forEach((field: [string, StaticCustomersMetadataAddressPropertyDto]) => {\n if (field[1].isAvailable && field[1].validation?.isAddressMatchRequired) {\n resultFields.push(field[0]);\n }\n });\n }\n\n return resultFields;\n};\n\nexport const getOptionLabelSingleLine = (\n lineNumber: number,\n item: GlobalSharedAddressDto,\n addressFormat: GlobalCustomersAddressFormatDto,\n): string => {\n if (addressFormat.lines[lineNumber]) {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- we need\n const { fields, separators } = addressFormat.lines[lineNumber] as GlobalCustomersAddressFormatLineDto;\n let result = '';\n\n fields.forEach((field: string, idx: number) => {\n const correctField = field.charAt(0).toLowerCase() + field.slice(1);\n\n if (correctField === 'zipCode') {\n result += `${item.zipcode}${separators[idx + 1]}`;\n } else {\n const newField = item[correctField as keyof GlobalSharedAddressDto];\n if (newField && newField !== '') {\n result += `${newField}${separators[idx + 1]}`;\n }\n }\n });\n\n return `${separators[0]}${result}${separators.at(-1)}`;\n }\n\n return item.streetAddress ?? '';\n};\n\ntype LowerCaseStreetAddressGlobalCustomersAddressFormatLineDtoFieldsItem = 'streetAddress';\n\nexport const defaultAddressFormat: GlobalCustomersAddressFormatDto = {\n type: 'SingleLine',\n lines: [\n {\n fields: ['streetAddress'] as GlobalCustomersAddressFormatLineDtoFieldsItem &\n LowerCaseStreetAddressGlobalCustomersAddressFormatLineDtoFieldsItem,\n separators: ['', ''],\n },\n ],\n};\n","import { useApiClient, getAddressFormat } from '@ori/global-api-client-react';\nimport type { ApiClient, GlobalCustomersAddressFormatDto } from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useNotificationData } from '../../contexts';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../interfaces';\nimport { defaultAddressFormat } from '../../utils';\nimport { FetchResult } from '../FetchResult';\nimport { TranslationKey } from '../TranslationKey_simplified-registration-BrandPartner';\n\nexport type FormatType = 'CustomerMultiLine' | 'MultiLine' | 'SingleLine';\n\nasync function fetchAddressFormatMetadata(api: ApiClient, typeParam: FormatType) {\n const emptyAddressFormatMetadata: GlobalCustomersAddressFormatDto = {\n ...defaultAddressFormat,\n };\n\n try {\n const response = await getAddressFormat(api, typeParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyAddressFormatMetadata);\n }\n}\n\nexport const useAddressFormatMetadata = (type: FormatType) => {\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [type, 'addressFormatMetadata'],\n async () => {\n const result = await fetchAddressFormatMetadata(api, type);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch address fromat metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { Search } from '@ori-ui/icons';\nimport type { MenuItemTypeMap, TextFieldProps } from '@ori-ui/mui';\nimport { Paper, MenuItem, TextField, InputAdornment } from '@ori-ui/mui';\nimport type {\n GetAddressSuggestionsParams,\n GlobalAddressesLookupAddressNodeDto,\n GlobalAddressesLookupAddressSearchResultDto,\n GlobalAddressesLookupAddressSuggestionsDto,\n GlobalCustomerRegistrationsRegistrationPersonalDetailsDto,\n GlobalCustomerRegistrationsRegistrationSponsorDetailsDto,\n GlobalCustomersAddressDto,\n GlobalCustomersMetadataAddressMetadataDto,\n} from '@ori/global-api-client-react';\nimport { getAddressSearchResult, getAddressSuggestions, useApiClient } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ControllerStateAndHelpers, GetInputPropsOptions } from 'downshift';\nimport Downshift from 'downshift';\nimport type { KeyboardEvent, FC, ReactNode } from 'react';\nimport React, { useState } from 'react';\nimport type { PathValue, Path } from 'react-hook-form';\nimport { useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useNotificationData } from '../../contexts';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport type { IAddressNodesFetchParams } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\n\nconst Elevation = 8;\n\ntype AddressWithNodeId = GlobalCustomersAddressDto & {\n nodeId?: string;\n addressSearchResultId?: string;\n};\n\ntype RenderInputProps = TextFieldProps & { ref?: React.Ref };\n\ntype FormDataAddressType = GlobalCustomerRegistrationsRegistrationSponsorDetailsDto['address'];\n\nexport interface IAddressSuggestionListItem {\n addressSummary?: string;\n description?: string;\n count: number;\n pathKey?: string;\n addressNodeId?: string;\n}\n\nexport interface ISuggestionProps {\n itemProps: MenuItemTypeMap<{ button: false }>;\n suggestion: IAddressSuggestionListItem;\n}\n\nexport interface IAddressAutocompleteProps {\n minSearchLength?: number;\n isEditable?: boolean;\n tooltipText?: ReactNode;\n searchedFields?: string[];\n}\n\nexport const AddressAutocomplete: FC = (\n props,\n) => {\n const { searchOptions, isEditable, tooltipText, searchedFields } = props;\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const form = useFormContext<\n GlobalCustomerRegistrationsRegistrationPersonalDetailsDto | GlobalCustomerRegistrationsRegistrationSponsorDetailsDto\n >();\n const { getTestId } = useTestId();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n const values = form.watch();\n const errorKeys = Object.keys(form.formState.errors.address ?? {});\n\n const isErrors = searchedFields?.some((sf) => errorKeys.includes(sf));\n\n const [value, setValue] = useState('');\n const [suggestions, setSuggestions] = useState([]);\n const [isOpenSelect, setOpen] = useState(false);\n const [isItemClicked, setItemClicked] = useState(false);\n const [lastSearchedText, setLastSearchedText] = useState('');\n\n const countryValue = values.address?.country;\n\n let minSearchLength = 3;\n const defaultMaxResults = 10;\n\n if (props.minSearchLength) {\n minSearchLength = props.minSearchLength;\n }\n\n const handleSearchTextChange = (event: React.ChangeEvent): void => {\n setValue(event.target.value);\n };\n\n const search = async (\n options: IAddressNodesFetchParams,\n ): Promise> => {\n const { searchText, top, country, pathKey }: IAddressNodesFetchParams = options;\n const emptySuggestionsResponse: GlobalAddressesLookupAddressSuggestionsDto = {\n addressSuggestionsCollection: [],\n };\n\n if (!searchText) {\n return FetchResult.errorFor(emptySuggestionsResponse);\n }\n const apiParams: GetAddressSuggestionsParams = {\n SearchText: searchText,\n Top: top,\n Country: country,\n PathKey: pathKey,\n };\n\n try {\n const nodes = await getAddressSuggestions(api, apiParams);\n\n return new FetchResult(nodes.status, nodes.data);\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.errorFor(emptySuggestionsResponse);\n };\n\n const getAddress = async (\n nodeId: string,\n country?: string,\n ): Promise> => {\n const emptyAddressResponse: GlobalAddressesLookupAddressSearchResultDto = {\n type: 'Area',\n };\n\n try {\n const addressNode = await getAddressSearchResult(api, nodeId, { country });\n\n return new FetchResult(addressNode.status, addressNode.data);\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.errorFor(emptyAddressResponse);\n };\n\n const getStateAddressSuggestions = async (\n searchText: string,\n pathKey?: string,\n ): Promise => {\n if (searchText.length >= minSearchLength) {\n const addressNodesResult = await search({\n searchText,\n top: searchOptions?.maxResults ?? defaultMaxResults,\n country: countryValue,\n pathKey,\n });\n const { response } = addressNodesResult;\n\n if (response?.addressSuggestionsCollection) {\n const addressSuggestions: IAddressSuggestionListItem[] = response.addressSuggestionsCollection.map((node) => ({\n addressSummary: node.addressSummary,\n description: node.description,\n count: node.count,\n pathKey: node.pathKey,\n addressNodeId: node.addressNodeId,\n }));\n\n return addressSuggestions;\n }\n\n return null;\n }\n\n return [];\n };\n\n const handleOnClick = async (): Promise => {\n if (value !== '' && !isOpenSelect) {\n const suggestedAddresses = await getStateAddressSuggestions(value);\n if (suggestedAddresses != null) {\n setSuggestions(suggestedAddresses);\n setOpen(true);\n }\n }\n };\n\n const renderInput = (inputProps: RenderInputProps) => {\n const { InputProps, ref, ...other }: RenderInputProps = inputProps;\n const componentProps = {\n inputRef: ref,\n ...InputProps,\n autoComplete: 'off',\n };\n\n return (\n \n );\n };\n\n const renderAddressSuggestionItem = (suggestion: IAddressSuggestionListItem): JSX.Element => {\n const addressSummary = `${suggestion.addressSummary} `;\n\n return (\n
\n {suggestion.description}\n
\n {addressSummary}\n {suggestion.count !== 1 && (\n \n )}\n
\n );\n };\n\n const renderSuggestion = (suggestionProps: ISuggestionProps) => {\n const { suggestion, itemProps }: ISuggestionProps = suggestionProps;\n\n return (\n \n {renderAddressSuggestionItem(suggestion)}\n \n );\n };\n\n const renderSuggestions = (options: ControllerStateAndHelpers) => {\n const { getItemProps }: ControllerStateAndHelpers = options;\n let items = [\n \n \n ,\n ];\n\n if (suggestions.length > 0) {\n items = suggestions.map((suggestion, index) => {\n const suggestionProps = {\n index,\n suggestion,\n itemProps: getItemProps({ item: suggestion }) as MenuItemTypeMap<{ button: false }>,\n };\n\n return renderSuggestion(suggestionProps);\n });\n }\n\n return (\n \n {items}\n \n );\n };\n\n const mapNodeToAddress = (node: GlobalAddressesLookupAddressNodeDto): AddressWithNodeId => {\n const result: AddressWithNodeId = values.address as GlobalCustomersAddressDto;\n\n Object.keys(node)\n .filter((nodeKey) => node[nodeKey as keyof GlobalAddressesLookupAddressNodeDto])\n .forEach((nodeKey) => {\n const addressNodeKey = nodeKey as keyof GlobalAddressesLookupAddressNodeDto;\n const addressValue = node[addressNodeKey] as string;\n if (addressNodeKey === 'street') {\n result.streetAddress = addressValue;\n } else if (addressNodeKey === 'zipCode') {\n result.zipcode = addressValue;\n } else if (addressNodeKey !== 'type' && addressNodeKey !== 'buildingDetails') {\n result[addressNodeKey] = addressValue;\n }\n });\n\n return result;\n };\n\n const handleAutocompleteKeyUp = async (event: KeyboardEvent): Promise => {\n const searchInput = event.target as HTMLInputElement;\n if (searchInput.value === '') {\n setSuggestions([]);\n setValue('');\n setOpen(false);\n }\n\n const searchText = searchInput.value.trimStart();\n setValue(searchText);\n setLastSearchedText(searchText);\n const suggestedAddresses = await getStateAddressSuggestions(searchText);\n if (suggestedAddresses != null && searchText !== lastSearchedText) {\n setSuggestions(suggestedAddresses);\n setOpen(true);\n }\n };\n\n const getAutocompleteContent = (options: ControllerStateAndHelpers) => {\n const { getInputProps, isOpen }: ControllerStateAndHelpers = options;\n\n const { onBlur, onFocus, ...inputProps }: GetInputPropsOptions = getInputProps({\n onKeyUp: handleAutocompleteKeyUp,\n placeholder: formatMessage(TranslationKey.searchForAnAddress),\n });\n const mergedInputProps: RenderInputProps = {\n InputProps: {\n onBlur,\n onFocus,\n startAdornment: (\n \n \n \n ),\n },\n fullWidth: true,\n inputProps: { ...inputProps, autoComplete: 'off', value },\n error: isErrors,\n required: true,\n label: (\n \n ),\n helperText: isErrors ? (\n \n ) : (\n
{tooltipText}
\n ),\n };\n\n return (\n
\n {renderInput(mergedInputProps)}\n {isOpen ? renderSuggestions(options) : null}\n
\n );\n };\n\n const handleAddressSuggestionItemSelect = async (item: IAddressSuggestionListItem | null): Promise => {\n if (isItemClicked) {\n return;\n }\n try {\n setItemClicked(true);\n if (item && item.pathKey == null) {\n if (item.addressNodeId) {\n const address = await getAddress(item.addressNodeId, countryValue);\n\n setValue('');\n setSuggestions([]);\n setOpen(false);\n if (address.response) {\n const correctAddress = Object.entries(mapNodeToAddress(address.response)) as Array<\n [Path, PathValue>]\n >;\n correctAddress.forEach((entry) => {\n const [name, inputValue] = entry;\n\n form.setValue(`address.${name}`, inputValue, {\n shouldDirty: true,\n shouldTouch: true,\n shouldValidate: searchedFields?.includes(name),\n });\n });\n }\n }\n } else {\n const suggestedAddresses = await getStateAddressSuggestions(value, item?.pathKey);\n if (suggestedAddresses != null) {\n setSuggestions(suggestedAddresses);\n setOpen(true);\n }\n }\n } finally {\n setItemClicked(false);\n }\n };\n\n const handleDownshiftOuterClick = () => {\n setOpen(false);\n };\n\n return (\n \n {(options) => getAutocompleteContent(options)}\n \n );\n};\n","import { styled, Grid, Typography, Box } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationPersonalDetailsDto } from '@ori/global-api-client-react';\nimport type { StaticCustomersMetadataRegistrationAddressMetadataDto } from '@ori/static-api-client-react';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport { useAddressFormatMetadata } from '../../../models/api';\nimport { defaultAddressFormat, getCorrectFieldsForValidate, getOptionLabelSingleLine } from '../../../utils';\nimport { AddressAutocomplete } from '../../AddressAutocomplete';\nimport { SelectFormFieldByConfig, TextFormFieldByConfig } from '../../FieldsByConfig';\n\nconst StyledGridItem = styled(Grid)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n order: 10,\n}));\n\nconst StyledTitle = styled(Typography)(({ theme }) => ({\n fontWeight: 'bold',\n marginBottom: theme.spacing(5),\n}));\n\nconst StyledSingleLineLabel = styled(Typography)(({ theme }) => ({\n display: 'flex',\n width: '100%',\n marginBottom: theme.spacing(2),\n marginTop: theme.spacing(3),\n}));\n\nconst StyledSingleLineAddress = styled(Typography)(({ theme }) => ({\n wordWrap: 'break-word',\n}));\n\ninterface IPersonalDetailsFormProps {\n configAddress?: StaticCustomersMetadataRegistrationAddressMetadataDto;\n actualValues?: GlobalCustomerRegistrationsRegistrationPersonalDetailsDto;\n useUpperCaseAddress?: boolean;\n}\n\nexport const AddressSection: FC = (props) => {\n const { configAddress, actualValues, useUpperCaseAddress } = props;\n\n const { data: formatAddressFields } = useAddressFormatMetadata('SingleLine');\n\n const { formatMessage } = useTranslations();\n\n const canCreate = configAddress?.operations?.create?.isEnabled;\n const canUpdate = configAddress?.operations?.update?.isEnabled;\n const canDelete = configAddress?.operations?.delete?.isEnabled;\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we need logical operator ||\n const canEdit = Boolean(canCreate || canUpdate || canDelete);\n\n const formatedAddress = actualValues?.address?.zipcode\n ? getOptionLabelSingleLine(0, actualValues.address, formatAddressFields ?? defaultAddressFormat)\n : null;\n\n const fieldsForValidateInSearch = getCorrectFieldsForValidate(configAddress);\n\n const singleLineAddress = formatedAddress ? (\n <>\n \n \n \n {formatedAddress}\n \n ) : null;\n\n const getAddressAutocomplete = () => {\n if (configAddress?.searchOptions?.isEnabled) {\n return (\n \n \n }\n isEditable={canEdit}\n />\n {singleLineAddress}\n \n );\n }\n\n return null;\n };\n\n const addressAutocomplete = getAddressAutocomplete();\n\n return (\n \n {configAddress?.searchOptions?.isEnabled ? (\n \n \n \n ) : null}\n \n {addressAutocomplete}\n \n \n }\n placeholder={\n \n }\n tooltipText={\n \n }\n {...configAddress?.country}\n />\n \n }\n customPlaceholder={formatMessage(TranslationKey.zipcode_Placeholder)}\n isAddressMatchRequired={configAddress?.zipcode?.validation?.isAddressMatchRequired}\n />\n \n }\n customPlaceholder={formatMessage(TranslationKey.streetAddress_Placeholder)}\n tooltipText={\n \n }\n isAddressMatchRequired={configAddress?.streetAddress?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.streetAddress?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n customPlaceholder={formatMessage(TranslationKey.city_Placeholder)}\n isAddressMatchRequired={configAddress?.city?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.city?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n customPlaceholder={formatMessage(TranslationKey.province_Placeholder)}\n isAddressMatchRequired={configAddress?.province?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.province?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.delivery_Placeholder)}\n isEditable={!!(canEdit && configAddress?.delivery?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.delivery2_Placeholder)}\n isEditable={!!(canEdit && configAddress?.delivery2?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.delivery3_Placeholder)}\n isEditable={!!(canEdit && configAddress?.delivery3?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n tooltipText={\n \n }\n customPlaceholder={formatMessage(TranslationKey.area_Placeholder)}\n isAddressMatchRequired={configAddress?.area?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.area?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n customPlaceholder={formatMessage(TranslationKey.locality_Placeholder)}\n isAddressMatchRequired={configAddress?.locality?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.locality?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n customPlaceholder={formatMessage(TranslationKey.district_Placeholder)}\n isAddressMatchRequired={configAddress?.district?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.district?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n\n \n }\n customPlaceholder={formatMessage(TranslationKey.region_Placeholder)}\n isAddressMatchRequired={configAddress?.region?.validation?.isAddressMatchRequired}\n isEditable={!!(canEdit && configAddress?.region?.isEditable)}\n useUpperCase={useUpperCaseAddress}\n />\n \n );\n};\n","import { styled, Grid, Button } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationPersonalDetailsDto } from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationPersonalDetailsMetadataDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\n\nimport { Localization, GenderLabelMapper } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useFormError } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport {\n DatePickerField,\n PhoneFieldByConfig,\n SelectFormFieldByConfig,\n TextFormFieldByConfig,\n} from '../../FieldsByConfig';\nimport { FormValidationSummary } from '../../FormValidationSummary';\nimport { AddressSection } from './AddressSection';\n\nconst StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n marginTop: theme.spacing(8),\n}));\n\nconst SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(3),\n order: 20,\n}));\n\ninterface IPersonalDetailsFormProps {\n initialData?: GlobalCustomerRegistrationsRegistrationPersonalDetailsDto;\n config?: StaticCustomerRegistrationsMetadataRegistrationPersonalDetailsMetadataDto;\n isSuccessSubmit: boolean;\n onSubmitForm: (data: GlobalCustomerRegistrationsRegistrationPersonalDetailsDto) => void;\n}\n\nexport const PersonalDetailsForm: FC = (props) => {\n const { initialData, config, isSuccessSubmit, onSubmitForm } = props;\n\n const { formatMessage } = useTranslations();\n\n const { customerServiceUrl } = useConfiguration();\n\n const { getTestIdProps } = useTestId();\n\n const datePickerPlaceholder = formatMessage(TranslationKey.FirstStep_PlaceHolder);\n\n const methods = useForm({\n defaultValues: initialData,\n reValidateMode: 'onChange',\n mode: 'onBlur',\n });\n\n const { formState, watch } = methods;\n const { isSubmitting } = formState;\n\n const formValues = watch();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const invalidCodeErrors = customErrors?.filter(\n (er) =>\n !Object.keys(formValues)\n .map((val) => val.toLowerCase())\n .includes(er.fieldName?.toLowerCase() ?? ''),\n );\n\n return (\n \n \n \n \n \n }\n {...config?.firstName}\n useUpperCase={config?.useUpperCase?.isEnabled}\n />\n \n ) : (\n \n )\n }\n customPlaceholder={formatMessage(TranslationKey.FirstStep_PlaceholderEmail)}\n keyboardType=\"email\"\n {...config?.contactEmail}\n />\n \n ) : (\n \n )\n }\n labelWithPrefix={\n \n }\n tooltipText={\n \n }\n tooltipWithPrefix={\n \n }\n customPlaceholder={formatMessage(TranslationKey.FirstStep_PlaceholderPhone)}\n customPlaceholderWithPrefix={formatMessage(TranslationKey.FirstStep_PlaceholderPhoneWithPrefix)}\n initialValue={formValues.contactTelephone}\n {...config?.contactTelephone}\n />\n {config?.address?.operations?.read?.isEnabled ? (\n \n ) : (\n \n }\n placeholder={\n \n }\n tooltipText={\n \n }\n {...config?.address?.country}\n />\n )}\n\n \n }\n {...config?.lastName}\n useUpperCase={config?.useUpperCase?.isEnabled}\n />\n \n }\n tooltipText={\n \n }\n {...config?.uniqueId}\n />\n \n }\n labelMapper={GenderLabelMapper}\n placeholder={\n \n }\n {...config?.gender}\n />\n \n }\n infoText={\n \n }\n placeholderText={datePickerPlaceholder}\n invalidMsg={TranslationKey.validationBirthDateRegex}\n {...config?.birthDate}\n />\n \n \n \n \n \n \n );\n};\n","import { Typography } from '@ori-ui/mui';\nimport { useApiClient, updateCustomerRegistrationPersonalDetails, HttpStatusCodes } from '@ori/global-api-client-react';\nimport type {\n GlobalSharedAddressDtoAddressType,\n AxiosError,\n GlobalCustomerRegistrationsRegistrationPersonalDetailsDto,\n} from '@ori/global-api-client-react';\nimport type { FC } from 'react';\nimport { useState, useEffect } from 'react';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n useConfiguration,\n useNotificationData,\n useStepperData,\n useFormError,\n useVirtualPageAnalyticsData,\n} from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { usePersonalData, usePersonalMetadata } from '../../models/api';\nimport { scrollTopFunctionHelper, virtualPageEventDispatch } from '../../utils';\nimport { BasicSkeleton } from '../BasicSkeleton';\nimport { PersonalDetailsForm } from '../Forms';\nimport { RootContainer, StyledTitle } from './StepsStyledComponents';\n\nexport const PersonalStep: FC = () => {\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep } = stepperData;\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n const { registrationId } = useConfiguration();\n\n const { data: personalConfig } = usePersonalMetadata();\n const { data: personalInitialData, isValidating } = usePersonalData();\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const api = useApiClient();\n\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep, previousStep } = virtualPageAnalyticsData;\n\n useEffect(() => {\n scrollTopFunctionHelper();\n }, []);\n\n useEffect(() => {\n virtualPageEventDispatch('PersonalInfoStep', previousStep, registrationId);\n setPreviousStep('PersonalInfoStep');\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n const onSubmit: SubmitHandler = async (data) => {\n const actualHours = new Date().getHours();\n const currentBirthDate = data.birthDate;\n // fix for bad time shift to previous day when fill text field in datepicker\n currentBirthDate?.setHours(actualHours, 0, 0);\n let currentAddress = null;\n if (data.address) {\n currentAddress = {\n address: {\n ...data.address,\n country: data.address.country,\n addressType: 'Delivery' as GlobalSharedAddressDtoAddressType,\n },\n };\n }\n\n try {\n const updateResponse = await updateCustomerRegistrationPersonalDetails(api, registrationId, {\n ...data,\n ...currentAddress,\n birthDate: currentBirthDate,\n });\n const result = new FetchResult(updateResponse.status);\n\n if (result.isSuccess()) {\n setSubmitSuccess(true);\n setActiveStep(activeStep + 1);\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n if (isValidating) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumLegalDetailsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchLegalMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptyLegalMetadata: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto = {};\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumLegalDetailsMetadata(api, tenant, registrationType);\n\n return new FetchResult(\n response.status,\n response.data,\n );\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyLegalMetadata);\n }\n}\n\nexport const useLegalMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'legalMetadata'],\n async () => {\n const result = await fetchLegalMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch legal metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import type { GlobalSharedApprovalDto } from '@ori/global-api-client-react';\n\nexport const applyNegative = (data: GlobalSharedApprovalDto, isNegative: boolean): GlobalSharedApprovalDto => {\n if (isNegative) {\n const negative: GlobalSharedApprovalDto = {\n personalData: !data.personalData,\n contact: !data.contact,\n marketingOriflame: !data.marketingOriflame,\n marketingExternal: !data.marketingExternal,\n publication: !data.publication,\n newsletters: !data.newsletters,\n uplineLeaderData: !data.uplineLeaderData,\n uplineLeaderBrowse: !data.uplineLeaderBrowse,\n orderHistory: !data.orderHistory,\n marketingConsultant: !data.marketingConsultant,\n blockGuaranteeOrdering: !data.blockGuaranteeOrdering,\n optedOutOfSponsorSelect: !data.optedOutOfSponsorSelect,\n };\n\n return negative;\n }\n\n return data;\n};\n","import {\n getCustomerRegistrationLegalDetails,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { applyNegative } from '../../../utils';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchLegalData(api: ApiClient, registrationIdParam: string, isNegativeParam: boolean) {\n const emptyLegalData: GlobalCustomerRegistrationsRegistrationLegalDetailsDto = {\n isReseller: false,\n confirmation1: false,\n confirmation2: false,\n };\n\n try {\n const response = await getCustomerRegistrationLegalDetails(api, registrationIdParam);\n const { approvals } = response.data;\n\n const currentData: GlobalCustomerRegistrationsRegistrationLegalDetailsDto = {\n ...response.data,\n approvals: approvals && applyNegative(approvals, isNegativeParam),\n };\n\n return new FetchResult(response.status, { ...currentData });\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyLegalData);\n }\n}\n\nexport const useLegalData = (isNegative: boolean) => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, isNegative, 'legalData'],\n async () => {\n const result = await fetchLegalData(api, registrationId, isNegative);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch legal data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { Grid, Box, FormControlLabel, Checkbox, FormHelperText, FormControl, styled } from '@ori-ui/mui';\nimport type { GlobalSharedMetadataValidationStringValidationDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FocusEventHandler, FC, ChangeEvent, ReactElement } from 'react';\nimport { Controller } from 'react-hook-form';\n\nimport { renderValidationMessage } from '../../../utils';\n\nconst StyledFormControlLabel = styled(FormControlLabel)(({ theme }) => ({\n alignItems: 'start',\n}));\n\nconst StyledCheckbox = styled(Checkbox)(({ theme }) => ({\n paddingTop: theme.spacing(0),\n}));\n\nexport interface ICheckboxFormFieldByConfigProps {\n name: string;\n label?: ReactElement | string;\n isAvailable?: boolean;\n displayOrder?: number;\n validation?: GlobalSharedMetadataValidationStringValidationDto;\n defaultValue?: boolean;\n value?: boolean;\n onChange?: (event: ChangeEvent, checked: boolean) => void;\n onBlur?: FocusEventHandler;\n}\n\nconst customRequiredFields = new Set(['confirmation1', 'confirmation2', 'termsAndConditions']);\n\nexport const CheckboxFormFieldByConfig: FC = (props) => {\n const { name, label, isAvailable, displayOrder, defaultValue, validation, value, onChange } = props;\n\n const { getTestIdProps } = useTestId();\n\n const customRequired = customRequiredFields.has(name);\n\n const renderField = () => (\n \n \n (\n \n \n }\n label={label ?? ''}\n id={name}\n />\n {fieldState.error ? {renderValidationMessage(fieldState.error)} : null}\n \n )}\n />\n \n \n );\n\n const fieldComponent = isAvailable && renderField();\n\n return (\n // eslint-disable-next-line react/jsx-no-useless-fragment -- we need fragment\n <>{fieldComponent}\n );\n};\n","import type { AxiosRequestConfig } from 'axios';\n\nimport { useConfiguration } from '../contexts';\n\nexport const useCustomHeaders = (): AxiosRequestConfig['headers'] => {\n const { tenant, registrationId } = useConfiguration();\n\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n 'x-registration-id': registrationId,\n };\n\n return headers;\n};\n","import type { AxiosError, GlobalCustomerRegistrationsRegistrationDto } from '@ori/global-api-client-react';\nimport { getCustomerRegistration, HttpStatusCodes, useApiClient } from '@ori/global-api-client-react';\nimport { useEffect, useState } from 'react';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\n// this api not calling with swr, because we have some problem with cache\nexport const useRegistrationData = (reFetchkey?: string) => {\n const [registrationData, setRegistrationData] = useState();\n\n const { tenant, registrationId, registrationType } = useConfiguration();\n const api = useApiClient();\n const { formatMessage } = useTranslations();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const navigateConsultantUrl = `/join-us/self-registration`;\n const navigateVipUrl = `/join-us/self-vip-registration`;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n useEffect(() => {\n const getData = async () => {\n if (registrationId) {\n try {\n const getResponse = await getCustomerRegistration(api, registrationId);\n const result = new FetchResult(getResponse.status);\n\n if (result.isSuccess()) {\n setRegistrationData(getResponse.data);\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n const statusNotFound = errorResponse.response?.status === HttpStatusCodes.status404NotFound;\n\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n\n if (statusNotFound) {\n window.location.href = registrationType === 'VipCustomer' ? navigateVipUrl : navigateConsultantUrl;\n }\n }\n }\n };\n getData();\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed updated on other property\n }, [tenant, registrationId, reFetchkey]);\n\n return { data: registrationData };\n};\n","import { useMediaQuery, useTheme } from '@ori-ui/mui';\n\nexport const useIsMobile = () => {\n const theme = useTheme();\n\n return useMediaQuery(theme.breakpoints.down('sm'));\n};\n","import { Typography, Link, styled } from '@ori-ui/mui';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../models';\nimport { useIsMobile } from '../../utils';\n\nconst RootDiv = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n}));\n\nconst StyledTypography = styled(Typography)<{\n ownerState: { expanded: boolean; visibleMoreButton: boolean; height: number };\n}>(({ theme, ownerState: { expanded = false, visibleMoreButton = true, height = 0 } }) => ({\n position: 'relative',\n display: 'block',\n height: expanded ? `${height}px` : visibleMoreButton ? 'calc(3 * 1em * 1.4)' : 'auto',\n lineHeight: 1.4,\n marginTop: theme.spacing(6),\n transition: 'all .2s',\n overflow: visibleMoreButton ? 'hidden' : 'visible',\n marginBottom: visibleMoreButton ? theme.spacing(0) : theme.spacing(6),\n}));\n\nconst OverlayWrapper = styled('div')<{ ownerState: { expanded: boolean } }>(({ ownerState: { expanded = false } }) => ({\n position: 'absolute',\n top: 0,\n height: expanded ? 0 : 'calc(3em * 1.4)',\n width: '100%',\n background: 'linear-gradient(to bottom, transparent, white)',\n}));\n\nconst StyledLink = styled(Link)<{ ownerState: { expanded: boolean } }>(\n ({ theme, ownerState: { expanded = false } }) => ({\n paddingBottom: 0,\n color: theme.palette.text.primary,\n fontSize: '12px',\n fontWeight: 'bold',\n textTransform: 'uppercase',\n marginTop: expanded ? theme.spacing(2) : theme.spacing(3),\n marginBottom: theme.spacing(6),\n cursor: 'pointer',\n '& > span': {\n paddingBottom: theme.spacing(1),\n borderBottom: `2px solid ${theme.palette.grey[900]}`,\n lineHeight: 1,\n },\n }),\n);\n\ninterface IExpandableTextBlock {\n children: JSX.Element | string;\n dataTestId?: string;\n}\n\nexport const ExpandableTextBlock = (props: IExpandableTextBlock) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const [customTextHeight, setCustomTextHeight] = useState(0);\n\n const { dataTestId, children } = props;\n const isMobile = useIsMobile();\n\n const customTextRef = useRef(null);\n const customTextVisibilityLength = isMobile ? 300 : 440;\n const customTextLength = customTextRef.current?.innerText.length ?? 0;\n const customTextClientHeight = customTextRef.current?.clientHeight ?? 0;\n const isMoreTextVisible = customTextLength >= customTextVisibilityLength;\n\n const onResize = useCallback(() => {\n window.addEventListener('resize', () => setCustomTextHeight(customTextClientHeight));\n }, [customTextClientHeight]);\n\n useEffect(() => {\n setCustomTextHeight(customTextClientHeight);\n onResize();\n }, [customTextClientHeight, customTextRef, onResize]);\n\n const expandButton = (\n setIsExpanded(!isExpanded)}\n >\n {isExpanded ? (\n \n ) : (\n \n )}\n \n );\n\n return (\n \n \n
{children}
\n {isMoreTextVisible ? : null}\n \n {isMoreTextVisible ? expandButton : null}\n
\n );\n};\n","import { ArrowLeftThin } from '@ori-ui/icons';\nimport { styled, Typography, Button } from '@ori-ui/mui';\n\nexport const StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing(8),\n}));\n\nexport const SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(3),\n order: 50,\n}));\n\nexport const BackButtton = styled(Button)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n minWidth: '60px',\n marginTop: theme.spacing(2),\n}));\n\nexport const StyledArrowIcon = styled(ArrowLeftThin)(({ theme }) => ({\n marginRight: theme.spacing(1),\n}));\n\nexport const DocumentInfoWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n width: '100%',\n justifyContent: 'flex-start',\n flexDirection: 'column',\n alignItems: 'flex-start',\n}));\n\nexport const ConditionsInfoWrapper = styled('div')(({ theme }) => ({\n margin: theme.spacing(2, 0),\n\n [theme.breakpoints.up('sm')]: {\n marginTop: theme.spacing(6),\n },\n}));\n\nexport const ConditionTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n}));\n\nexport const PolicyText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(1),\n textAlign: 'left',\n}));\n\nexport const CollapseBox = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n fontSize: '12px',\n fontWeight: 'bold',\n cursor: 'pointer',\n}));\n\nexport const StyledLink = styled('a')(({ theme }) => ({\n color: theme.palette.text.primary,\n textDecoration: 'underline',\n '&:hover': {\n color: theme.palette.primary.light,\n textDecoration: 'underline',\n },\n}));\n","import { Typography } from '@ori-ui/mui';\nimport type {\n GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n GlobalCustomersRequiredTermDto,\n} from '@ori/global-api-client-react';\nimport { getCustomerRequiredTerms, useApiClient } from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { Localization, ContentKeys } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { GetContent, useConfiguration, useNotificationData } from '../../contexts';\nimport { useCustomHeaders } from '../../hooks';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useRegistrationData } from '../../models/api';\nimport { ExpandableTextBlock } from '../ExpandableTextBlock';\nimport { CheckboxFormFieldByConfig } from '../FieldsByConfig';\nimport { StyledLink, PolicyText } from '../Forms/LegalForm/StyledComponentsLegalForm';\nimport { Loading } from '../Loading';\n\ninterface TermsConditionsCheckboxProps {\n config?: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto;\n}\n\nexport const TermsConditionsCheckbox: FC = (props) => {\n const { config } = props;\n\n const notificationStore = useNotificationData().context.notificationData;\n\n const { tenant } = useConfiguration();\n const headers = useCustomHeaders();\n\n const api = useApiClient();\n\n const { getTestId } = useTestId();\n\n const [terms, setTerms] = useState();\n const [showPrivacyPolicy, setShowPrivacyPolicy] = useState(false);\n\n const { data: registrationData } = useRegistrationData();\n\n const form = useFormContext();\n\n const { watch, setValue, trigger } = form;\n\n const isCustomTextAvailable = config?.customText?.isEnabled;\n\n const getTerms = useCallback(async () => {\n try {\n if (registrationData?.customerId) {\n const termsResponse = await getCustomerRequiredTerms(api, registrationData.customerId, {}, headers);\n const result = new FetchResult(termsResponse.status);\n if (result.isSuccess() && termsResponse.data.collection.length > 0) {\n const isShowPrivacyPolicy = termsResponse.data.collection.some(\n (requiredTerm) => requiredTerm.type === 'PrivacyPolicy',\n );\n setShowPrivacyPolicy(isShowPrivacyPolicy);\n setTerms(termsResponse.data.collection[0]);\n }\n }\n } catch (error: unknown) {\n notificationStore.setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed updated on other property\n }, [tenant, registrationData]);\n\n useEffect(() => {\n if (config?.termsAndConditions?.isAvailable) {\n getTerms();\n }\n }, [config, registrationData, getTerms]);\n\n const values = watch();\n\n const termId = values.termsAndConditions?.termId;\n\n if (config?.termsAndConditions?.isAvailable && !terms) {\n return ;\n }\n\n return (\n
\n \n \n \n \n ),\n LegalDocument1_Link: (\n \n \n \n ),\n LegalDocument2_Link: (\n \n \n \n ),\n LegalDocument3_Link: (\n \n \n \n ),\n LegalDocument4_Link: (\n \n \n \n ),\n LegalDocument5_Link: (\n \n \n \n ),\n LegalDocument6_Link: (\n \n \n \n ),\n LegalDocument7_Link: (\n \n \n \n ),\n LegalDocument8_Link: (\n \n \n \n ),\n }}\n />\n *\n \n }\n value={!!termId}\n onChange={(_e, value) => {\n if (value) {\n setValue(\n 'termsAndConditions',\n { termId: terms?.termId },\n { shouldDirty: true, shouldTouch: true, shouldValidate: true },\n );\n trigger('termsAndConditions');\n } else {\n setValue('termsAndConditions', undefined, {\n shouldDirty: true,\n shouldTouch: true,\n shouldValidate: true,\n });\n trigger('termsAndConditions');\n }\n }}\n {...config?.termsAndConditions}\n />\n {showPrivacyPolicy ? (\n \n \n \n \n ),\n }}\n />\n \n ) : null}\n {isCustomTextAvailable ? (\n \n \n \n ) : null}\n
\n );\n};\n","import { ArrowDownThin } from '@ori-ui/icons';\nimport { Typography, Collapse } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationLegalDetailsDto } from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto } from '@ori/static-api-client-react';\nimport type { FC } from 'react';\nimport { useState } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../../models';\nimport { CheckboxFormFieldByConfig } from '../../FieldsByConfig';\nimport { CollapseBox } from './StyledComponentsLegalForm';\n\ninterface ILegalDetailApprovalsProps {\n config?: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto;\n approvalValues: GlobalCustomerRegistrationsRegistrationLegalDetailsDto;\n}\n\nexport const LegalDetailApprovals: FC = (props) => {\n const { approvalValues, config } = props;\n const [showApprovals, setShowApprovals] = useState(false);\n\n const isNegativeApprovals = config?.approvals?.shared?.displayAsNegative;\n\n return (\n <>\n {isNegativeApprovals ? (\n setShowApprovals(!showApprovals)}>\n {showApprovals ? (\n \n ) : (\n \n )}\n\n \n \n ) : null}\n\n \n \n \n \n }\n value={approvalValues.isReseller}\n {...config?.isReseller}\n />\n \n \n \n }\n value={approvalValues.approvals?.contact}\n {...config?.approvals?.contact}\n />\n \n \n \n }\n value={approvalValues.approvals?.blockGuaranteeOrdering}\n {...config?.approvals?.blockGuaranteeOrdering}\n />\n \n \n \n }\n value={approvalValues.approvals?.marketingConsultant}\n {...config?.approvals?.marketingConsultant}\n />\n \n \n \n }\n value={approvalValues.approvals?.marketingExternal}\n {...config?.approvals?.marketingExternal}\n />\n \n \n \n }\n value={approvalValues.approvals?.marketingOriflame}\n {...config?.approvals?.marketingOriflame}\n />\n \n \n \n }\n value={approvalValues.approvals?.newsletters}\n {...config?.approvals?.newsletters}\n />\n \n \n \n }\n value={approvalValues.approvals?.optedOutOfSponsorSelect}\n {...config?.approvals?.optedOutOfSponsorSelect}\n />\n \n \n \n }\n value={approvalValues.approvals?.orderHistory}\n {...config?.approvals?.orderHistory}\n />\n \n \n \n }\n value={approvalValues.approvals?.personalData}\n {...config?.approvals?.personalData}\n />\n \n \n \n }\n value={approvalValues.approvals?.publication}\n {...config?.approvals?.publication}\n />\n \n \n \n }\n value={approvalValues.approvals?.uplineLeaderBrowse}\n {...config?.approvals?.uplineLeaderBrowse}\n />\n \n \n \n }\n value={approvalValues.approvals?.uplineLeaderData}\n {...config?.approvals?.uplineLeaderData}\n />\n \n \n );\n};\n","import type { GlobalCustomersDocumentTypeDto } from '@ori/global-api-client-react';\nimport type { ApiClient } from '@ori/static-api-client-react';\nimport { getTenantDocumentTypes, useApiClient } from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../contexts';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult } from '../FetchResult';\nimport { TranslationKey } from '../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchCustomerDocumentType(api: ApiClient, tenant: string) {\n const emptyCustomerDocumentType: GlobalCustomersDocumentTypeDto[] = [];\n\n try {\n const response = await getTenantDocumentTypes(api, tenant);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyCustomerDocumentType);\n }\n}\n\nexport const useDocumentTypes = () => {\n const { tenant } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMsg = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, 'documentType'],\n async () => {\n const result = await fetchCustomerDocumentType(staticApi, tenant);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch document type');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMsg,\n type: MessageType.error,\n });\n }\n },\n },\n );\n};\n","import { NOT_LOGGED_IN_USER_ID } from '@ori/auth';\nimport {\n useApiClient,\n type ApiClient,\n type GlobalCustomersDocumentApprovalDto,\n getCustomerDocumentsInfos,\n getCustomerDocumentApprovals,\n} from '@ori/global-api-client-react';\nimport type { AxiosRequestHeaders } from 'axios';\nimport useSWR from 'swr';\n\nimport { useNotificationData } from '../../contexts';\nimport { useCustomHeaders } from '../../hooks';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport type { IDocumentsInfo2 } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult } from '../FetchResult';\nimport { TranslationKey } from '../TranslationKey_simplified-registration-BrandPartner';\nimport { useRegistrationData } from './registrations';\n\nasync function fetchCustomerDocumentInfo(api: ApiClient, customerId: number, customHeaders?: AxiosRequestHeaders) {\n const emptyCustomerDocumentApprovals: GlobalCustomersDocumentApprovalDto[] = [];\n try {\n const [documents, approvals] = await Promise.all([\n getCustomerDocumentsInfos(api, customerId, {}, customHeaders),\n getCustomerDocumentApprovals(api, customerId, {}, customHeaders),\n ]);\n\n const isSuccess = FetchResult.isSuccess(documents.status, approvals.status);\n\n if (isSuccess) {\n const data = documents.data.map((info) => {\n const collection = approvals.data.collection.length > 0 ? approvals.data.collection : [];\n const allApprovals = collection;\n const documentApproval = allApprovals.find((approval) => approval.documentIds.includes(info.documentId));\n\n return {\n ...info,\n approval: documentApproval,\n };\n });\n\n return data;\n }\n\n return undefined;\n } catch (error: unknown) {\n return FetchResult.errorFor(emptyCustomerDocumentApprovals);\n }\n}\n\nexport const useCustomerDocumentsInfos = (reFetchkey?: string) => {\n const { data: registrationData } = useRegistrationData();\n const registrationCustomerId = registrationData?.customerId ?? NOT_LOGGED_IN_USER_ID;\n const headers = useCustomHeaders();\n\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n const errorMsg = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n registrationCustomerId && registrationCustomerId !== -1\n ? [registrationCustomerId, reFetchkey, 'documentInfo']\n : null,\n async () => {\n const result = await fetchCustomerDocumentInfo(api, registrationCustomerId, headers);\n if (result) {\n return result as IDocumentsInfo2[];\n }\n throw new Error('request failed fetch document approvals');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMsg,\n type: MessageType.error,\n });\n }\n },\n },\n );\n};\n","import { FormControl, InputLabel } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { ChangeEventHandler, ReactElement } from 'react';\n\ninterface IFileInputFieldProps {\n name: string;\n label?: ReactElement | string;\n isRequired?: boolean;\n onChange?: ChangeEventHandler;\n accept?: string;\n inputRef?: (element: HTMLInputElement | null) => void;\n isMultiple?: boolean;\n}\n\nexport const FileInputField = (props: IFileInputFieldProps) => {\n const { name, label, isRequired, onChange, accept, inputRef, isMultiple }: IFileInputFieldProps = props;\n\n const { getTestIdProps } = useTestId();\n\n let inputLabel = null;\n\n if (label) {\n inputLabel = (\n \n {label}\n \n );\n }\n\n return (\n \n {inputLabel}\n \n \n );\n};\n","import { Button, FormControl, Typography, styled } from '@ori-ui/mui';\nimport { useApiClient, createCustomerDocument, deleteCustomerDocument } from '@ori/global-api-client-react';\nimport type {\n CreateCustomerDocumentBody,\n CreateCustomerDocumentParams,\n GlobalSharedValidationErrorsResponse,\n} from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { ControllerRenderProps, FieldValues } from 'react-hook-form';\nimport { Controller } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useNotificationData } from '../../contexts';\nimport { useCustomHeaders } from '../../hooks';\nimport type { IDocumentsInfoStoreData } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useCustomerDocumentsInfos, useRegistrationData } from '../../models/api';\nimport { getErrorLocalizationByCode } from '../../utils';\nimport { Loading } from '../Loading';\nimport { FileInputField } from './FileInputField';\nimport type { IFileUploadResult } from './IFileUploadResult';\nimport type { IUploadResult, IUploaderProps } from './IUploadResult';\n\nconst bytesInKb = 1024;\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: '100%',\n}));\n\nconst UploadButtonWrapper = styled('div')(({ theme }) => ({\n textAlign: 'center',\n}));\n\nconst UploadButton = styled(Button)(({ theme }) => ({\n maxWidth: '330px',\n width: '100%',\n}));\n\nconst triggerFileUploadFinished = (\n result: IFileUploadResult,\n onFileUploadedProp?: (fileUploadResult: IFileUploadResult) => void,\n) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy\n if (onFileUploadedProp && result) {\n onFileUploadedProp(result);\n }\n};\n\nconst mapToFileUploadResult = (\n response: Partial | number,\n file: File,\n fileKey: number,\n) => {\n let fileUploadResult: IFileUploadResult = {\n file,\n fileKey,\n isSuccess: false,\n };\n\n if (typeof response === 'number') {\n fileUploadResult = {\n ...fileUploadResult,\n documentId: response,\n isSuccess: true,\n };\n } else if (response.errors?.length) {\n // eslint-disable-next-line @typescript-eslint/prefer-optional-chain, @typescript-eslint/no-unnecessary-condition -- needed this condition\n const code = response && response.errors && response.errors[0] && response.errors[0].code;\n const message = getErrorLocalizationByCode(code);\n\n fileUploadResult = {\n ...fileUploadResult,\n message: (\n \n ),\n };\n } else {\n fileUploadResult = {\n ...fileUploadResult,\n message: response.message,\n };\n }\n\n return fileUploadResult;\n};\n\nconst maxFileSizeError = (maxFileSizeProp?: number, file?: File) => {\n if (maxFileSizeProp && file && file.size > maxFileSizeProp) {\n return true;\n }\n\n return false;\n};\n\nexport const UploaderForm: FC = (props) => {\n const {\n accept,\n isMultiple,\n children,\n handleFileChanged,\n handleUploadStart: onUploadStart,\n handleFileUploaded: onFileUploaded,\n handleUploadFinished: onUploadFinished,\n maxFileSize,\n documentTypeId,\n isTemporary,\n isRequired,\n inputName,\n } = props;\n\n const inputRef = useRef();\n\n const { getTestIdProps } = useTestId();\n const { data: registrationData } = useRegistrationData();\n\n const { data: documentsInfoData } = useCustomerDocumentsInfos();\n\n const customerId = registrationData?.customerId ?? null;\n\n const headers = useCustomHeaders();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const api = useApiClient();\n\n const handleClick = () => {\n if (inputRef.current) {\n inputRef.current.value = '';\n inputRef.current.click();\n }\n };\n\n const getInputRef = (element: HTMLInputElement | null): void => {\n inputRef.current = element;\n if (props.inputRef) {\n props.inputRef(element);\n }\n };\n\n const createDocument = async (\n customerIdProperty: number,\n requestBody: CreateCustomerDocumentBody,\n requestOptions: CreateCustomerDocumentParams,\n ): Promise> => {\n try {\n const response = await createCustomerDocument(api, customerIdProperty, requestBody, requestOptions, headers);\n\n return new FetchResult(\n response.status,\n\n response.data,\n );\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.error;\n };\n\n const deleteDocument = async (customerIdProperty: number, documentId: number): Promise => {\n try {\n const response = await deleteCustomerDocument(api, customerIdProperty, documentId, headers);\n const result = new FetchResult(response.status);\n\n return result;\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.error;\n };\n\n const replaceDocument = async (\n customerIdProperty: number,\n oldDocumentId: number,\n requestBody: CreateCustomerDocumentBody,\n newDocumentRequestOptions: CreateCustomerDocumentParams,\n ): Promise> => {\n let deleteResult: FetchResult;\n\n try {\n deleteResult = await deleteDocument(customerIdProperty, oldDocumentId);\n\n if (deleteResult.isSuccess()) {\n return await createDocument(customerIdProperty, requestBody, newDocumentRequestOptions);\n }\n\n return FetchResult.error;\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return FetchResult.error;\n };\n\n const button = (\n \n \n \n );\n\n const requestOptions: CreateCustomerDocumentParams = useMemo(\n () => ({\n documentTypeId,\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing --- we want specify undefined\n isTemporary: isTemporary === undefined ? true : isTemporary,\n }),\n [documentTypeId, isTemporary],\n );\n\n const [lastOfType] = useMemo(\n () =>\n documentsInfoData\n ?.filter((info) => {\n const isTemporaryDocument = false;\n\n return info.documentTypeId === documentTypeId && (!info.isTemporary || isTemporaryDocument);\n })\n .sort((a, b) => {\n if (a.createdDate.getTime() && b.createdDate.getTime()) {\n return a.createdDate.getTime() - b.createdDate.getTime();\n }\n\n return 0;\n }) ?? ([] as IDocumentsInfoStoreData[]),\n [documentTypeId, documentsInfoData],\n );\n\n const fileMapper = async (file: File, key: number, customerIdProperty: number, result: IUploadResult) => {\n const negativeOne = -1;\n const fileKey = (key + 1) * negativeOne;\n\n requestOptions.documentTypeId = documentTypeId;\n\n if (maxFileSize && maxFileSizeError(maxFileSize, file)) {\n const maxMBs = Math.ceil(maxFileSize / bytesInKb / bytesInKb);\n const errorMessage = (\n \n );\n\n const fileResult: IFileUploadResult = {\n file,\n fileKey,\n isSuccess: false,\n message: errorMessage,\n };\n\n triggerFileUploadFinished(fileResult, onFileUploaded);\n\n return;\n }\n\n let fetchResult: FetchResult;\n if (isTemporary === false && lastOfType?.documentId && !isMultiple) {\n fetchResult = await replaceDocument(customerIdProperty, lastOfType.documentId, { file }, requestOptions);\n } else {\n fetchResult = await createDocument(customerIdProperty, { file }, requestOptions);\n }\n\n if (fetchResult.response) {\n const fileResult = mapToFileUploadResult(fetchResult.response, file, fileKey);\n triggerFileUploadFinished(fileResult, onFileUploaded);\n result.uploadedFiles.push(fileResult);\n }\n };\n\n const handleChangeFile = async (\n files: FileList,\n field: ControllerRenderProps,\n customerIdProperty: number,\n ) => {\n if (handleFileChanged && files[0] !== undefined) {\n handleFileChanged(files[0]);\n }\n\n if (files.length > 0 && onUploadStart) {\n onUploadStart(files);\n }\n\n const result: IUploadResult = { uploadedFiles: [] };\n // eslint-disable-next-line unicorn/prefer-spread -- we want this writing\n const uploadPromises = Array.from(files).map(async (file, key) =>\n fileMapper(file, key, customerIdProperty, result),\n );\n\n await Promise.all(uploadPromises);\n\n if (onUploadFinished) {\n field.onChange(result.uploadedFiles);\n onUploadFinished(result);\n }\n };\n\n return (\n \n (\n \n {\n const { files } = e.target as HTMLInputElement;\n\n if (files?.length && customerId) {\n handleChangeFile(files, field, customerId);\n }\n }}\n />\n {formState.isSubmitting ? : null}\n \n )}\n />\n {children ?? button}\n \n \n \n \n );\n};\n","import type { FC } from 'react';\n\nimport type { IUploaderProps } from './IUploadResult';\nimport { UploaderForm } from './UploaderForm';\n\nexport const Uploader: FC = (props) => ;\n","import { FeedbackDialog } from '@ori-ui/components';\nimport { Button, styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport React from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useTranslations } from '../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport type { IConfirmDialogProps } from '../../interfaces';\nimport { TranslationKey } from '../../models';\n\nconst StyledFeedbackDialog = styled(FeedbackDialog)(({ theme }) => ({\n '& .MuiPaper-root': {\n maxWidth: '600px',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n maxWidth: '100%',\n position: 'absolute',\n bottom: 0,\n margin: 0,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n}));\n\nconst ButtonDelete = styled(Button)(({ theme }) => ({\n background: theme.palette.error.main,\n color: theme.palette.primary.contrastText,\n '&:hover, &:focus': {\n background: theme.palette.error.main,\n color: theme.palette.primary.contrastText,\n },\n}));\n\nconst ButtonCancel = styled(Button)(({ theme }) => ({\n textDecoration: 'underline',\n '&:hover, &:focus': {\n background: 'inherit',\n textDecoration: 'underline',\n boxShadow: 'none',\n },\n}));\n\nconst children = (props: IConfirmDialogProps) =>
{props.children}
;\n\nconst withConfirm =\n

(WrappedComponent: React.ComponentType

) =>\n (props: P) => {\n const { opened, handleConfirm, handleCancel } = props;\n const { formatMessage } = useTranslations();\n const { getTestIdProps } = useTestId();\n\n return (\n \n \n ,\n \n \n ,\n ]}\n >\n \n \n );\n };\n\nexport const ConfirmDeleteDialog = withConfirm(children);\n","import { useToken } from '@ori/auth';\nimport type { AxiosError, AxiosRequestConfig } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nconst axiosClient = axios.create();\n\nconst getEncodedFile = (blob: Blob): string => URL.createObjectURL(blob);\n\ninterface FetcherParams {\n url: string;\n tenant: string;\n registrationId: string;\n formattedToken: string;\n previewSize?: { height?: number; width?: number };\n}\n\nexport function useDocumentThumb(\n customerId: number | null,\n documentId?: number | null,\n previewSize?: { height?: number; width?: number },\n) {\n const { globalApiUrl, tenant, registrationId } = useConfiguration();\n const { formattedToken } = useToken();\n const { formatMessage } = useTranslations();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n const thumbUrl = `${globalApiUrl}/customers/${customerId}/documents/${documentId}/image`;\n const shouldFetch = Boolean(customerId && documentId && documentId !== -1);\n const fetchKey = shouldFetch ? `thumb-${customerId}-${documentId}` : null;\n\n const fetcher = async ({\n url,\n tenant,\n registrationId,\n formattedToken,\n previewSize,\n }: FetcherParams): Promise => {\n try {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n 'x-registration-id': registrationId,\n Authorization: formattedToken,\n };\n const response = await axiosClient.get(url, {\n headers,\n responseType: 'blob',\n params: previewSize,\n });\n return getEncodedFile(response.data);\n } catch (error) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n const axiosError = error as AxiosError;\n throw new Error(axiosError.message);\n }\n };\n\n const { data: documentURL } = useSWR(\n fetchKey ? [fetchKey, { url: thumbUrl, tenant, registrationId, formattedToken, previewSize }] : null,\n () => fetcher({ url: thumbUrl, tenant, registrationId, formattedToken, previewSize }),\n );\n\n return documentURL;\n}\n","import { useToken } from '@ori/auth';\nimport type { AxiosError, AxiosRequestConfig } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nconst axiosClient = axios.create();\n\nconst getEncodedFile = (blob: Blob): string => URL.createObjectURL(blob);\n\ninterface FetcherParams {\n url: string;\n tenant: string;\n registrationId: string;\n formattedToken: string;\n previewSize?: { height?: number; width?: number };\n}\n\nexport function useDocumentThumbDetail(\n customerId: number | null,\n documentId?: number | null,\n previewSize?: { height?: number; width?: number },\n) {\n const { globalApiUrl, tenant, registrationId } = useConfiguration();\n const { formattedToken } = useToken();\n const { formatMessage } = useTranslations();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n const thumbDetailUrl = `${globalApiUrl}/customers/${customerId}/documents/${documentId}/image`;\n\n const shouldFetch = Boolean(customerId && documentId && documentId !== -1);\n const fetchKey = shouldFetch ? `thumbDetail-${customerId}-${documentId}` : null;\n\n const fetcher = async ({\n url,\n tenant,\n registrationId,\n formattedToken,\n previewSize,\n }: FetcherParams): Promise => {\n try {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n 'x-registration-id': registrationId,\n Authorization: formattedToken,\n };\n const response = await axiosClient.get(url, {\n headers,\n responseType: 'blob',\n params: previewSize,\n });\n return getEncodedFile(response.data);\n } catch (error) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n const axiosError = error as AxiosError;\n throw new Error(axiosError.message);\n }\n };\n\n const { data: documentURL } = useSWR(\n fetchKey ? [fetchKey, { url: thumbDetailUrl, tenant, registrationId, formattedToken, previewSize }] : null,\n () => fetcher({ url: thumbDetailUrl, tenant, registrationId, formattedToken, previewSize }),\n );\n\n return documentURL;\n}\n","import { IconButton } from '@ori-ui/components';\nimport { Document, Clear } from '@ori-ui/icons';\nimport { Tooltip, Avatar, Dialog, DialogContent, DialogTitle, styled } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { MouseEvent, FC, ReactElement } from 'react';\nimport { useState, useEffect, useCallback } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IThumb, IDetailImage } from '../../interfaces';\nimport { TranslationKey } from '../../models';\nimport { useDocumentThumb, useDocumentThumbDetail, useRegistrationData } from '../../models/api';\nimport { Loading } from '../Loading';\n\nconst imagePreviewThumbSize = 80;\nconst imagePreviewDetailSize = 500;\n\nconst StyledDialogContent = styled(DialogContent)(({ theme }) => ({\n position: 'relative',\n minWidth: '60px',\n minHeight: '40px',\n}));\n\nconst CloseButton = styled(IconButton)(({ theme }) => ({\n position: 'absolute',\n top: 0,\n right: '6px',\n}));\n\nconst StyledAvatar = styled(Avatar)(({ theme }) => ({\n width: '80px',\n height: '80px',\n borderRadius: 0,\n background: 'transparent',\n color: theme.palette.text.primary,\n textDecoration: 'none',\n cursor: 'pointer',\n}));\n\nconst DocumentIcon = styled(Document)(({ theme }) => ({\n fontSize: '38px',\n}));\n\ninterface IThumbWithDetailProps {\n fileName: string;\n documentId: number;\n}\n\nexport const ThumbWithDetail: FC = (props) => {\n const { fileName, documentId } = props;\n\n const [detailOpened, setDetailOpened] = useState(false);\n const [imageThumb, setImageThumb] = useState({});\n const [imageDetail, setImageDetail] = useState({});\n\n const { data: registrationData } = useRegistrationData();\n\n const customerId = registrationData?.customerId ?? null;\n\n const documentThumbUrl = useDocumentThumb(customerId, documentId, {\n height: imagePreviewThumbSize,\n width: imagePreviewThumbSize,\n });\n\n const documentThumbDetailUrl = useDocumentThumbDetail(customerId, documentId, {\n height: imagePreviewDetailSize,\n width: imagePreviewDetailSize,\n });\n\n const { getTestIdProps } = useTestId();\n\n const mountOrUpdate = useCallback(() => {\n if (\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy we need this conditon\n imageThumb &&\n !imageThumb[documentId] &&\n /\\.(jpg|jpeg|png|bmp)$/gi.test(fileName) &&\n documentId > 0 &&\n customerId\n ) {\n const currentImages = {};\n setImageThumb({ ...currentImages, [documentId]: documentThumbUrl });\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [customerId, documentId, fileName, imageThumb]);\n\n useEffect(() => {\n mountOrUpdate();\n }, [customerId, mountOrUpdate]);\n\n const getDetailImage = (fileNameProperty: string) => {\n const imgUrl = imageDetail[documentId];\n if (imgUrl && detailOpened) {\n return (\n \n );\n }\n\n return ;\n };\n\n const handleOpenDetail = (event: MouseEvent) => {\n event.preventDefault();\n setDetailOpened(true);\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not always truthy we need this conditon\n if (imageDetail && !imageDetail[documentId] && customerId) {\n const currentImages = {};\n setImageDetail({ ...currentImages, [documentId]: documentThumbDetailUrl });\n // await fetchImageDetail(customerId, documentId);\n }\n };\n\n const handleDetailClose = () => {\n setDetailOpened(false);\n };\n\n const getAvatar = (): ReactElement => {\n if (/\\.(jpg|jpeg|png|bmp)$/gi.test(fileName) && documentId > 0) {\n const thumb = imageThumb[documentId];\n\n return (\n \n }\n onClick={handleOpenDetail}\n {...getTestIdProps('thum-with-detail-tooltip-open-detail')}\n >\n \n \n );\n }\n\n return ;\n };\n\n const avatar = getAvatar();\n const detailImage = getDetailImage(fileName);\n\n return (\n <>\n {avatar}\n

\n \n handleDetailClose()}\n variant=\"text\"\n color=\"default\"\n {...getTestIdProps('thum-with-detail-bt-close-detail')}\n >\n \n \n \n {detailImage}\n \n \n );\n};\n","import { useToken } from '@ori/auth';\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration } from '../../../contexts';\n\nconst axiosClient = axios.create();\n\nconst getEncodedFile = (blob: Blob): string => URL.createObjectURL(blob);\n\nexport function useCustomerDocument(customerId: number | null, documentId?: number | null) {\n const { globalApiUrl, tenant, registrationId } = useConfiguration();\n const { formattedToken } = useToken();\n const shouldFetch = Boolean(\n customerId !== null && documentId !== null && documentId !== undefined && documentId !== -1,\n );\n const url = `${globalApiUrl}/customers/${customerId}/documents/${documentId}`;\n\n const { data: document } = useSWR(shouldFetch ? url.toString() : null, async (requestUrl: string) => {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n 'x-registration-id': registrationId,\n };\n headers.Authorization = formattedToken;\n const { data } = await axiosClient\n .get(requestUrl, {\n headers,\n responseType: 'blob',\n })\n .then((blob) => blob)\n .catch((error: AxiosResponse) => error);\n\n return data;\n });\n\n return document === undefined ? undefined : getEncodedFile(document);\n}\n","import { Tooltip, styled, useTheme } from '@ori-ui/mui';\nimport type { GlobalCustomersDocumentApprovalDtoApprovalState } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC, ReactElement } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../models';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n fontSize: '12px',\n fontWeight: 'bold',\n lineHeight: '17px',\n textTransform: 'uppercase',\n}));\n\nconst StyledSpanLabel = styled('span')(({ theme }) => ({\n padding: '2px 15px',\n borderRadius: '5px',\n color: theme.palette.primary.contrastText,\n}));\n\ninterface IDocumentStateProps {\n state: GlobalCustomersDocumentApprovalDtoApprovalState;\n reason?: string;\n}\n\nexport const DocumentState: FC = (props) => {\n const { state, reason }: IDocumentStateProps = props;\n\n const theme = useTheme();\n\n const { getTestIdProps } = useTestId();\n\n const getLocalization = (approvalState: GlobalCustomersDocumentApprovalDtoApprovalState): ReactElement => {\n switch (approvalState) {\n case 'Approved':\n return (\n \n );\n case 'Pending':\n return (\n \n );\n case 'Rejected':\n return (\n \n );\n default:\n return (\n \n );\n }\n };\n\n const getStateColor = (approvalState: GlobalCustomersDocumentApprovalDtoApprovalState): string => {\n switch (approvalState) {\n case 'Approved':\n return theme.palette.secondary.main;\n case 'Pending':\n return theme.palette.warning.main;\n default:\n return 'transparent';\n }\n };\n\n const stateElement = (\n \n {getLocalization(state)}\n \n );\n\n if (reason) {\n return (\n \n {stateElement}\n \n );\n }\n\n return stateElement;\n};\n","import { Clear, ErrorCircle } from '@ori-ui/icons';\nimport { styled, LinearProgress } from '@ori-ui/mui';\n\nconst flexCenter = {\n display: 'flex',\n alignItems: 'center',\n};\n\nexport const StyledListItem = styled('li')(({ theme }) => ({\n position: 'relative',\n borderBottom: `1px solid ${theme.palette.grey[200]}`,\n '&:last-child': {\n borderBottom: 'none',\n },\n}));\n\nexport const StyledDivContent = styled('div')(({ theme }) => ({\n ...flexCenter,\n justifyContent: 'space-between',\n}));\n\nexport const StyledSpanInfo = styled('span')(({ theme }) => ({\n ...flexCenter,\n maxWidth: 'calc(100% - 50px)',\n width: '100%',\n}));\n\nexport const StyledSpanThumb = styled('span')(({ theme }) => ({\n ...flexCenter,\n justifyContent: 'center',\n minWidth: '80px',\n minHeight: '80px',\n marginRight: theme.spacing(3),\n}));\n\nexport const StyledSpanActions = styled('span')(({ theme }) => ({\n ...flexCenter,\n justifyContent: 'flex-end',\n}));\n\nexport const StyledSpanFile = styled('span')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n width: '100%',\n}));\n\nexport const StyledSpanFileName = styled('span')(({ theme }) => ({\n display: 'block',\n overflow: 'hidden',\n color: theme.palette.text.primary,\n fontSize: '14px',\n lineHeight: '19px',\n textOverflow: 'ellipsis',\n whitespace: 'nowrap',\n}));\n\nexport const StyledSpanFileNameLink = styled('a')(({ theme }) => ({\n display: 'block',\n overflow: 'hidden',\n color: theme.palette.text.primary,\n fontSize: '14px',\n lineHeight: '19px',\n textOverflow: 'ellipsis',\n whitespace: 'nowrap',\n cursor: 'pointer',\n '&:hover': {\n color: theme.palette.primary.main,\n textDecoration: 'underline',\n },\n}));\n\nexport const StyledSpanFileSize = styled('span')(({ theme }) => ({\n color: theme.palette.grey.A700,\n fontSize: '11px',\n lineHeight: '18px',\n}));\n\nexport const StyledErrorIcon = styled(ErrorCircle)(({ theme }) => ({\n color: theme.palette.error.main,\n fontSize: '35px',\n lineHeight: '24px',\n}));\n\nexport const StyledDeleteIcon = styled(Clear)(({ theme }) => ({\n fontSize: '23px',\n lineHeight: '16px',\n '&:hover': {\n background: 'transparent',\n color: theme.palette.primary.main,\n },\n marginRight: theme.spacing(3),\n}));\n\nexport const StyledProgress = styled(LinearProgress)(({ theme }) => ({\n position: 'absolute',\n right: 0,\n bottom: '5px',\n left: 0,\n}));\n","import type {\n GlobalCustomersDocumentApprovalDto,\n GlobalCustomersDocumentApprovalDtoApprovalState,\n} from '@ori/global-api-client-react';\nimport type { FC, MouseEvent, ReactElement } from 'react';\n\nimport type { IDocumentsInfo } from '../../interfaces';\nimport { useCustomerDocument, useRegistrationData } from '../../models/api';\nimport { DocumentState } from '../Document/DocumentState';\nimport {\n StyledSpanFile,\n StyledSpanFileName,\n StyledSpanFileNameLink,\n StyledSpanFileSize,\n} from './DocumentItemStyledComponents';\n\ninterface IDocumentItemFileProps {\n document: IDocumentsInfo;\n visibleApprovalState?: boolean;\n}\n\nconst bytesInKb = 1024;\n\nexport const DocumentItemFile: FC = (props) => {\n const { document, visibleApprovalState } = props;\n\n const { data: registrationData } = useRegistrationData();\n\n const customerId = registrationData?.customerId ?? null;\n\n const documentItemUrl = useCustomerDocument(customerId, document.documentId);\n\n const handleDownloadDocument = (event: MouseEvent) => {\n const link = event.target as HTMLLinkElement;\n\n if (!link.href) {\n event.preventDefault();\n\n const documentUrl = documentItemUrl ?? '';\n if (documentUrl !== '') {\n link.href = documentUrl;\n link.click();\n }\n }\n };\n\n const getDocumentItemLink = () => {\n const { fileName, documentId }: IDocumentsInfo = document;\n\n if (fileName && documentId && documentId < 0) {\n return {fileName};\n }\n\n if (fileName) {\n return {fileName};\n }\n\n return null;\n };\n\n const getDocumentSize = () => {\n const { fileSize }: IDocumentsInfo = document;\n const hundred = 100;\n const size = Math.round((fileSize ? fileSize / bytesInKb / bytesInKb : 0) * hundred) / hundred;\n\n return {size} MB;\n };\n\n const getApprovalState = (approval?: GlobalCustomersDocumentApprovalDto): ReactElement | null => {\n if (visibleApprovalState) {\n // if there is no approval information in document data,\n // it is automatically in \"Pending\" state\n let approvalState: GlobalCustomersDocumentApprovalDtoApprovalState = 'Pending';\n let approvalReason;\n\n if (approval?.approvalState) {\n const { approvalState: state, reason }: GlobalCustomersDocumentApprovalDto = approval;\n approvalState = state;\n approvalReason = reason;\n }\n\n return (\n \n );\n }\n\n return null;\n };\n\n return (\n \n {getDocumentItemLink()}\n {getDocumentSize()}\n {getApprovalState(document.approval)}\n \n );\n};\n","import { Tooltip, Typography } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useState } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IDocumentItemProps, IDocumentsInfo } from '../../interfaces';\nimport { TranslationKey } from '../../models';\nimport { ConfirmDeleteDialog } from '../ConfirmDeleteDialog';\nimport { ThumbWithDetail } from '../ThumbWithDetail';\nimport { DocumentItemFile } from './DocumentItemFile';\nimport {\n StyledDeleteIcon,\n StyledDivContent,\n StyledErrorIcon,\n StyledListItem,\n StyledProgress,\n StyledSpanActions,\n StyledSpanInfo,\n StyledSpanThumb,\n} from './DocumentItemStyledComponents';\n\nexport const DocumentItem: FC = (props) => {\n const {\n onDocumentRemove,\n document,\n isShowApprovalState,\n canDelete,\n errorMessage,\n isDeleteConfirmationRequired,\n uploadProgress,\n } = props;\n\n const [confirmOpened, setConfirmOpened] = useState(false);\n const { getTestIdProps } = useTestId();\n\n const confirmDelete = () => setConfirmOpened(true);\n\n const confirmCanceled = () => setConfirmOpened(false);\n\n const removeDocument = () => {\n if (onDocumentRemove && document.documentId) {\n onDocumentRemove(document.documentId);\n }\n };\n\n const deleteDocument = () => {\n if (onDocumentRemove) {\n onDocumentRemove(document.documentId);\n }\n\n setConfirmOpened(false);\n };\n\n const getDeleteButton = () => {\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions -- can be falsy\n const deleteAction = (errorMessage ?? !isDeleteConfirmationRequired) ? removeDocument : confirmDelete;\n\n if (canDelete ?? errorMessage) {\n return (\n \n );\n }\n\n return null;\n };\n\n const getProgressBar = () => {\n if (uploadProgress) {\n return (\n \n );\n }\n\n return null;\n };\n\n const getThumb = () => {\n const { fileName, documentId }: IDocumentsInfo = document;\n if (fileName && documentId) {\n return (\n \n );\n }\n\n return null;\n };\n\n const getError = () => {\n if (errorMessage) {\n return (\n \n \n \n );\n }\n\n return null;\n };\n\n return (\n \n \n \n {getThumb()}\n \n \n \n {getError()}\n {getDeleteButton()}\n \n \n {getProgressBar()}\n \n \n \n \n \n \n );\n};\n","import type { IDocumentItemProps, IDocumentsInfo, IDocumentsInfoStoreData } from '../../interfaces';\nimport { DocumentItem } from '../DocumentItem';\n\nconst mapToDocumentItemProps = (\n documentStoreData: IDocumentsInfoStoreData,\n canDelete: boolean,\n isShowApprovalState: boolean,\n deleteConfirmationRequired: boolean,\n removeDocument?: (documentId: number) => void,\n): IDocumentItemProps => {\n const document: IDocumentsInfo = {\n approval: documentStoreData.approval,\n documentId: documentStoreData.documentId,\n fileName: documentStoreData.fileName ?? '',\n fileSize: documentStoreData.fileSize,\n };\n\n return {\n document,\n canDelete,\n isShowApprovalState,\n onDocumentRemove: removeDocument,\n isDeleteConfirmationRequired: deleteConfirmationRequired || false,\n };\n};\n\nconst getFilesInProgress = (filesInProgress: IDocumentItemProps[], removeFile?: (fileKey: number) => void) => {\n const filesItems = filesInProgress.map((document) => ({\n ...document,\n onDocumentRemove: removeFile,\n }));\n\n return filesItems;\n};\n\nconst isDocumentPending = (document: IDocumentsInfoStoreData): boolean =>\n !document.approval || document.approval.approvalState === 'Pending';\n\nconst renderDocumentItem = (documentProps: IDocumentItemProps, key: number) => (\n \n);\n\nexport { mapToDocumentItemProps, getFilesInProgress, isDocumentPending, renderDocumentItem };\n","import { ArrowDownThin, HelpCircle } from '@ori-ui/icons';\nimport { styled, CircularProgress, Typography } from '@ori-ui/mui';\n\nexport const RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: '100%',\n}));\n\nexport const StyledTitle = styled(Typography)(({ theme }) => ({\n marginLeft: theme.spacing(1),\n}));\n\nexport const StyledRequiredDocument = styled('div')(({ theme }) => ({\n color: theme.palette.error.dark,\n}));\n\nexport const StyledDivHeader = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n marginTop: theme.spacing(6),\n}));\n\nexport const StyledHelpCircle = styled(HelpCircle)(({ theme }) => ({\n marginRight: theme.spacing(3),\n color: theme.palette.grey[300],\n fontSize: '29px',\n}));\n\nexport const StyledLabel = styled('span')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n}));\n\nexport const StyledList = styled('ul')(({ theme }) => ({\n margin: 0,\n padding: 0,\n listStyle: 'none',\n}));\n\nexport const StyledListPending = styled('ul')(({ theme }) => ({\n margin: 0,\n padding: 0,\n listStyle: 'none',\n position: 'relative',\n zIndex: 2,\n overflow: 'hidden',\n borderRadius: '5px',\n boxShadow: '0 0 7px 0 rgba(0, 0, 0, 0.3)',\n}));\n\nexport const StyledDivWrapper = styled('div')<{ ownerState: { hasDocuments?: boolean } }>(\n ({ theme, ownerState: { hasDocuments = false } }) => ({\n marginBottom: hasDocuments ? theme.spacing(4) : theme.spacing(0),\n position: 'relative',\n }),\n);\n\nexport const StyledDivUploader = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: theme.spacing(4),\n}));\n\nexport const StyledDivHistory = styled('div')(({ theme }) => ({\n borderTop: `1px solid ${theme.palette.grey[200]}`,\n}));\n\nexport const StyledExpanedIcon = styled(ArrowDownThin)(({ theme }) => ({\n flexDirection: 'row-reverse',\n padding: '5px 10px',\n transition: 'transform 0.3s ease-out',\n fontSize: '22px',\n lineHeight: '23px',\n margin: '0 5px',\n cursor: 'pointer',\n}));\n\nexport const StyledDivExpander = styled('div')(({ theme }) => ({\n borderBottom: `1px solid ${theme.palette.grey[200]}`,\n}));\n\nexport const StyledDivFileInput = styled('div')(({ theme }) => ({\n display: 'flex',\n width: '100%',\n '& > form': {\n width: '100%',\n minWidth: '120px',\n },\n}));\n\nexport const StyledProgress = styled(CircularProgress)(({ theme }) => ({\n marginRight: theme.spacing(2),\n}));\n\nexport const StyledDivBoxExpandHistory = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n cursor: 'pointer',\n fontSize: '14px',\n transition: 'all 0.3s ease-out',\n '&:hover': {\n color: theme.palette.primary.main,\n },\n}));\n","import type { FC } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IDocumentItemProps, IDocumentsInfo2, IDocumentsInfoStoreData } from '../../interfaces';\nimport { TranslationKey } from '../../models';\nimport { DocumentItem } from '../DocumentItem';\nimport {\n StyledDivBoxExpandHistory,\n StyledDivExpander,\n StyledDivHistory,\n StyledExpanedIcon,\n StyledList,\n} from './DocumentStyledComponents';\n\ninterface IDocumentHistoryProps {\n temporaryDocument: boolean;\n historyExpanded: boolean;\n documentIds?: number[];\n documentTypeId: number;\n deleteConfirmationRequired: boolean;\n editableDocument?: boolean;\n histroyDocumentsInfoData?: IDocumentsInfo2[];\n removeDocument?: (documentId: number) => void;\n handleToggleClick: () => void;\n documentPending: (document: IDocumentsInfoStoreData) => boolean;\n mapToDocumentItemProps: (\n documentStoreData: IDocumentsInfoStoreData,\n canDelete: boolean,\n isShowApprovalState: boolean,\n deleteConfirmationRequired: boolean,\n removeDocument?: (documentId: number) => void,\n ) => IDocumentItemProps;\n}\n\nconst renderDocumentItem = (documentProps: IDocumentItemProps, key: number) => (\n \n);\n\nexport const DocumentHistory: FC = (props) => {\n const {\n temporaryDocument,\n historyExpanded,\n documentIds,\n documentTypeId,\n deleteConfirmationRequired,\n histroyDocumentsInfoData,\n handleToggleClick,\n documentPending,\n mapToDocumentItemProps,\n removeDocument,\n } = props;\n\n const getInfoByType = (typeId?: number, includeTemporary?: boolean) =>\n histroyDocumentsInfoData\n ?.filter((info) => {\n const isTemporary = includeTemporary ?? false;\n\n return info.documentTypeId === typeId && (!info.isTemporary || isTemporary);\n })\n .sort((a, b) => {\n if (a.createdDate.getTime() && b.createdDate.getTime()) {\n return a.createdDate.getTime() - b.createdDate.getTime();\n }\n\n return 0;\n }) as IDocumentsInfoStoreData[];\n\n const getHistoryDocuments = (): IDocumentItemProps[] => {\n if (!documentIds?.length) {\n return [];\n }\n\n const documentItems: IDocumentItemProps[] = getInfoByType(documentTypeId, temporaryDocument)\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- we need this condition\n ?.filter((document) => documentIds.includes(document.documentId) && !documentPending(document))\n .map((document) => mapToDocumentItemProps(document, false, true, deleteConfirmationRequired, removeDocument));\n\n return documentItems;\n };\n\n const renderHistory = () => {\n const documents = getHistoryDocuments();\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- is not alway truthy we need this condition\n const existingDocuments = documents && documents.length > 0;\n if (!existingDocuments) {\n return null;\n }\n\n return (\n \n \n {documents.map(renderDocumentItem)}\n \n handleToggleClick()}>\n \n \n \n \n );\n };\n\n const documentsHistory = renderHistory();\n\n return {documentsHistory};\n};\n","import { CheckHeavy } from '@ori-ui/icons';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { TranslationKey } from '../../models';\nimport { StyledProgress } from './DocumentStyledComponents';\n\ninterface IDocumentLoadingProgressProps {\n uploading: boolean;\n uploadFinished: boolean;\n}\n\nconst classes = {\n uploadProgress: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n fontSize: '16px',\n fontWeight: 'bold',\n lineHeight: '23px',\n },\n uploadProgressDone: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n fontSize: '16px',\n fontWeight: 'bold',\n lineHeight: '23px',\n '&::before': {\n margin: '-4px 8px 0 10px',\n fontSize: '22px',\n lineHeight: '22px',\n },\n },\n};\n\nexport const DocumentLoadingProgress: FC = (props) => {\n const { uploading, uploadFinished } = props;\n const { getTestIdProps } = useTestId();\n\n const renderLoadingProgress = () => {\n const progressSize = 16;\n const textUploading = (\n \n );\n const textDone = (\n \n );\n const progress = (\n \n );\n\n return (\n \n {uploading ? progress : null}\n {uploadFinished ? textDone : textUploading}\n \n );\n };\n\n const documentLoadingProgress = uploading || (uploadFinished && renderLoadingProgress());\n\n return
{documentLoadingProgress}
;\n};\n","import type {\n GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n GlobalCustomersDocumentTypeDto,\n} from '@ori/global-api-client-react';\nimport type { StaticCustomersMetadataIdentityCardDocumentPropertyDto } from '@ori/static-api-client-react';\nimport type { FC } from 'react';\nimport { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { IDocumentItemProps, IDocumentsInfoStoreData } from '../../interfaces';\nimport { TranslationKey } from '../../models';\nimport { useCustomerDocumentsInfos } from '../../models/api';\nimport { DatePickerField, SelectFormFieldByConfig, TextFormFieldByConfig } from '../FieldsByConfig';\nimport type { IFileUploadResult, IUploaderProps, IUploadResult } from '../Uploader';\nimport { Uploader } from '../Uploader';\nimport { getFilesInProgress, isDocumentPending, mapToDocumentItemProps, renderDocumentItem } from './DocumentActions';\nimport { DocumentHistory } from './DocumentHistory';\nimport { DocumentLoadingProgress } from './DocumentLoadingProgress';\nimport { StyledDivFileInput, StyledDivUploader, StyledDivWrapper, StyledListPending } from './DocumentStyledComponents';\n\ninterface IDocumentContentProps {\n documentTypeId: number;\n documentIds: number[];\n deleteConfirmationRequired?: boolean;\n editableDocument?: boolean;\n handleDocumentsChange?: (documentIds: number[]) => void;\n documentType?: GlobalCustomersDocumentTypeDto;\n documentInpuName: string;\n configDocument?: StaticCustomersMetadataIdentityCardDocumentPropertyDto;\n documentIsRequired: boolean;\n}\n\nexport const DocumentContent: FC = (props) => {\n const {\n documentIds,\n documentTypeId,\n deleteConfirmationRequired,\n documentType,\n editableDocument,\n documentInpuName,\n configDocument,\n documentIsRequired,\n handleDocumentsChange,\n } = props;\n\n const isTemporaryDocument = true;\n const hasDocuments = documentIds.length > 0;\n\n const [isHistoryExpanded, setIsHistoryExpanded] = useState(false);\n const [isUploading, setIsUploading] = useState(false);\n const [isUploadFinished, setIsUploadFinished] = useState(false);\n const [filesInProgress, setFilesInProgress] = useState([]);\n const [fetchKey, setFetchKey] = useState('');\n\n const { watch } = useFormContext();\n const values = watch();\n\n const { data: documentsInfoData } = useCustomerDocumentsInfos(fetchKey);\n\n const isDeleteConfirmationRequired = deleteConfirmationRequired ?? false;\n\n const setDefaultState = () => {\n setIsHistoryExpanded(false);\n setIsUploading(false);\n setIsUploadFinished(false);\n };\n\n const removeFile = (fileKey: number) => {\n setDefaultState();\n setFilesInProgress((previousState) =>\n previousState.filter((documentData) => documentData.document.documentId !== fileKey),\n );\n };\n\n const fileUploadFinished = (fileUploadResult: IFileUploadResult) => {\n const { isSuccess, fileKey, message }: IFileUploadResult = fileUploadResult;\n\n if (!isSuccess && fileKey < 0 && Boolean(message)) {\n setDefaultState();\n setFilesInProgress((previousState) =>\n previousState.map((documentData) => {\n const copyDocumentData = { ...documentData };\n if (copyDocumentData.document.documentId === fileKey) {\n copyDocumentData.errorMessage = message;\n }\n\n return copyDocumentData;\n }),\n );\n }\n };\n\n const uploadProgress = (progress: number, fileKey: number) => {\n setDefaultState();\n setFilesInProgress((previousState) =>\n previousState.map((documentData) => {\n const copyDocumentData = { ...documentData };\n if (copyDocumentData.document.documentId === fileKey) {\n copyDocumentData.uploadProgress = progress;\n }\n\n return copyDocumentData;\n }),\n );\n };\n\n const uploadStart = (files: FileList) => {\n const negativeOne = -1;\n // eslint-disable-next-line unicorn/prefer-spread -- we want this writing\n const uploadFilesInProgress: IDocumentItemProps[] = Array.from(files).map((file, key) => ({\n document: {\n documentId: (key + 1) * negativeOne,\n fileName: file.name,\n fileSize: file.size,\n },\n isDeleteConfirmationRequired: false,\n }));\n\n setFilesInProgress(uploadFilesInProgress);\n setIsUploading(true);\n };\n\n const showUploadFinishedMessage = () => {\n setIsUploadFinished(true);\n setIsUploading(false);\n\n const messageHideTimeout = 2000;\n setTimeout(() => {\n setIsUploadFinished(false);\n setIsUploading(false);\n }, messageHideTimeout);\n };\n\n const triggerDocumentsChange = (propertyDocumentIds: number[]) => {\n if (handleDocumentsChange) {\n handleDocumentsChange(propertyDocumentIds);\n }\n };\n\n const uploadFinished = (result: IUploadResult) => {\n showUploadFinishedMessage();\n setFetchKey(Date.now().toString());\n const uploadedDocuments = result.uploadedFiles.filter((d) => d.documentId && d.documentId > 0 && d.isSuccess);\n\n if (uploadedDocuments.length === 0) {\n return;\n }\n const uploadedDocumentIds = uploadedDocuments.map((d) => d.documentId ?? 0);\n const correctDocumentIds = documentIds.length > 0 ? documentIds : [];\n const newDocumentIds = documentType?.allowMultipleDocuments\n ? [...correctDocumentIds, ...uploadedDocumentIds]\n : uploadedDocumentIds.slice(0, 1);\n\n triggerDocumentsChange(newDocumentIds);\n\n uploadedDocuments.forEach((d) => removeFile(d.fileKey));\n };\n\n const removeDocument = (documentId: number) => {\n const newDocuments = documentIds.filter((id) => id !== documentId);\n\n triggerDocumentsChange(newDocuments);\n };\n\n const getInfoByType = (typeId?: number, includeTemporary?: boolean) =>\n documentsInfoData\n ?.filter((info) => {\n const isTemporary = includeTemporary ?? false;\n\n return info.documentTypeId === typeId && (!info.isTemporary || isTemporary);\n })\n .sort((a, b) => {\n if (a.createdDate.getTime() && b.createdDate.getTime()) {\n return a.createdDate.getTime() - b.createdDate.getTime();\n }\n\n return 0;\n }) as IDocumentsInfoStoreData[];\n\n const getDocuments = () => {\n if (documentIds.length === 0) {\n return [];\n }\n const items = documentsInfoData ? getInfoByType(documentTypeId, isTemporaryDocument) : [];\n const documentItems: IDocumentItemProps[] = items\n .filter((document) => documentIds.includes(document.documentId) && isDocumentPending(document))\n .map((document) =>\n mapToDocumentItemProps(document, Boolean(editableDocument), true, isDeleteConfirmationRequired, removeDocument),\n );\n\n return documentItems;\n };\n\n const renderDocuments = () => {\n const getfilesInProgress: IDocumentItemProps[] = getFilesInProgress(filesInProgress, removeFile);\n const documents: IDocumentItemProps[] = getDocuments();\n\n const documentsToRender = [...documents, ...getfilesInProgress];\n\n if (documentsToRender.length > 0) {\n return {documentsToRender.map(renderDocumentItem)};\n }\n\n return null;\n };\n\n const handleToggleClick = () => {\n setDefaultState();\n setIsHistoryExpanded(!isHistoryExpanded);\n };\n\n let fileInputProps: IUploaderProps = {\n isTemporary: isTemporaryDocument,\n handleFileUploaded: fileUploadFinished,\n handleUploadFinished: uploadFinished,\n handleUploadStart: uploadStart,\n handleFileUploadProgress: uploadProgress,\n inputName: documentInpuName,\n isRequired: documentIsRequired,\n };\n\n if (documentType) {\n fileInputProps = {\n ...fileInputProps,\n accept: documentType.supportedMimeTypes,\n documentTypeId: documentType.documentTypeId,\n maxFileSize: documentType.maxDataSize,\n isMultiple: documentType.allowMultipleDocuments,\n };\n }\n\n const uploaderDocument = () =>\n editableDocument ? (\n \n \n \n \n \n ) : null;\n\n const documentCardTypeField = (\n \n }\n title={\n \n }\n placeholder={\n \n }\n {...configDocument?.cardType}\n />\n );\n\n const documentCardNumberField = (\n \n }\n {...configDocument?.cardNumber}\n />\n );\n\n const disabledForIdentityCardTypes = configDocument?.expiration?.disabledForIdentityCardTypes;\n\n const disableExpirationField = disabledForIdentityCardTypes?.find(\n (cardType: string) => cardType === values.identityCard?.cardType,\n );\n\n const expirationDocumentField = !disableExpirationField && (\n \n }\n invalidMsg={TranslationKey.validationDateRegex}\n {...configDocument?.expiration}\n />\n );\n\n const documents = renderDocuments();\n const uploader = uploaderDocument();\n\n return (\n <>\n {documentCardTypeField}\n {documentCardNumberField}\n {expirationDocumentField}\n \n {uploader}\n \n {documents}\n {documentIds.length > 0 && (\n \n )}\n \n \n );\n};\n","import { Tooltip } from '@ori-ui/mui';\nimport type { GlobalCustomersDocumentTypeDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ReactElement, FC } from 'react';\n\nimport { StyledDivHeader, StyledHelpCircle, StyledLabel, StyledRequiredDocument } from './DocumentStyledComponents';\n\ninterface IDocumentHeaderProps {\n label?: ReactElement;\n documentType?: GlobalCustomersDocumentTypeDto;\n requiredDocument: boolean;\n}\n\nexport const DocumentHeader: FC = (props) => {\n const { documentType, label, requiredDocument } = props;\n const { getTestIdProps } = useTestId();\n\n const description = documentType?.description && (\n \n \n \n );\n\n return (\n \n \n {label}\n {requiredDocument ? * : null}\n {description}\n \n \n );\n};\n","import { Typography } from '@ori-ui/mui';\nimport type { GlobalCustomersDocumentTypeDto } from '@ori/global-api-client-react';\nimport type { StaticCustomersMetadataIdentityCardDocumentPropertyDto } from '@ori/static-api-client-react';\nimport type { ReactElement, FC } from 'react';\n\nimport { useCustomerDocumentsInfos, useDocumentTypes } from '../../models/api';\nimport { Loading } from '../Loading';\nimport { DocumentContent } from './DocumentContent';\nimport { DocumentHeader } from './DocumentHeader';\nimport { RootContainer } from './DocumentStyledComponents';\n\ninterface IDocumentProps {\n documentTypeId: number;\n documentLabel: ReactElement;\n documentInfoText: ReactElement;\n documentIds: number[];\n handleDocumentsChange?: (documentIds: number[]) => void;\n isDeleteConfirmationRequired?: boolean;\n editableDocument?: boolean;\n config?: StaticCustomersMetadataIdentityCardDocumentPropertyDto;\n name: string;\n isRequired?: boolean;\n}\n\nexport const Document: FC = (props) => {\n const {\n documentIds,\n documentTypeId,\n isDeleteConfirmationRequired,\n editableDocument,\n name,\n config,\n isRequired,\n documentLabel,\n documentInfoText,\n handleDocumentsChange,\n } = props;\n\n const { data: documentsTypeData } = useDocumentTypes();\n const { data: documentsInfoData } = useCustomerDocumentsInfos();\n\n const getTypeById = (documentTypeIdProperty: number): GlobalCustomersDocumentTypeDto | undefined =>\n documentsTypeData?.find((type) => type.documentTypeId === documentTypeIdProperty);\n\n const isLoading = !documentsTypeData || !documentsInfoData;\n\n const documentType = getTypeById(documentTypeId);\n\n return (\n \n \n \n {documentInfoText}\n \n \n {isLoading ? : null}\n \n );\n};\n","import { Grid, styled, Typography } from '@ori-ui/mui';\nimport type {\n GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n GlobalCustomersCustomerDocumentDto,\n GlobalCustomersCustomerDocumentsDto,\n} from '@ori/global-api-client-react';\nimport type { StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC, ReactElement } from 'react';\nimport { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport type { ILocalizationKey } from '../../../interfaces';\nimport { TranslationKey } from '../../../models';\nimport { Document } from '../../Document';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n}));\n\nexport interface ILegalDocumentsProps {\n documentsConfig?: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto;\n}\n\nexport const LegalDocuments: FC = (props) => {\n const { documentsConfig } = props;\n const [localDocuments, setLocalDocuments] = useState();\n\n const { getTestIdProps } = useTestId();\n\n const { setValue, watch, trigger } = useFormContext();\n\n const values = watch();\n\n const getDocumentLabel = (localization: ILocalizationKey) => (\n \n \n \n );\n\n const updateIdentityCard = (documentIds: number[]) => {\n const documents: GlobalCustomersCustomerDocumentDto[] = documentIds.map((id) => ({\n documentId: id,\n }));\n\n setLocalDocuments({ ...documents, documentsCollection: documents });\n setValue('identityCard.documentsCollection', documents as never);\n trigger('identityCard.documentsCollection');\n };\n\n const updateAdditionalIdentityCard = (documentIds: number[]) => {\n const documents: GlobalCustomersCustomerDocumentDto[] = documentIds.map((id) => ({\n documentId: id,\n }));\n\n setLocalDocuments({ ...documents, documentsCollection: documents });\n setValue('additionalIdentityCard.documentsCollection', documents as never);\n trigger('additionalIdentityCard.documentsCollection');\n };\n\n const getDocumentIds = (documents?: GlobalCustomersCustomerDocumentsDto): number[] => {\n if (!documents) {\n return [];\n }\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- we need this condition\n return documents.documentsCollection?.map((d) => d.documentId);\n };\n\n const renderIdentityCardDocument = (): ReactElement | null => {\n const config = documentsConfig?.identityCard;\n const isAvailable = config?.isAvailable ?? false;\n const isEditable = config?.isEditable ?? false;\n\n const idCardDocumentInfoText = (\n \n );\n\n if (!isAvailable) {\n return null;\n }\n\n const documentTypeId = config?.documentTypeId ?? 0;\n const correctDocuments = values.identityCard ?? localDocuments;\n\n return (\n \n );\n };\n\n const renderAdditionalIdentityCardDocument = (): ReactElement | null => {\n const config = documentsConfig?.additionalIdentityCard;\n const isAvailable = config?.isAvailable ?? false;\n const isEditable = config?.isEditable ?? false;\n\n const additionalDocumentInfoText = (\n \n );\n\n if (!isAvailable) {\n return null;\n }\n\n const documentTypeId = config?.documentTypeId ?? 0;\n const correctDocuments = values.additionalIdentityCard ?? localDocuments;\n\n return (\n \n );\n };\n\n const idCard = renderIdentityCardDocument();\n const additionalIdCard = renderAdditionalIdentityCardDocument();\n\n const documentsAvailableContent = (\n \n {idCard}\n {additionalIdCard}\n \n );\n\n const documentsContent =\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing --- we want logical operator\n documentsConfig?.identityCard?.isAvailable || documentsConfig?.additionalIdentityCard?.isAvailable\n ? documentsAvailableContent\n : null;\n\n return {documentsContent};\n};\n","import { Typography, Grid } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationLegalDetailsDto } from '@ori/global-api-client-react';\nimport type {\n StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto,\n StaticCustomersMetadataApprovalPropertyDto,\n} from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useForm, FormProvider } from 'react-hook-form';\n\nimport { ContentKeys, Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n useStepperData,\n useVirtualPageAnalyticsData,\n useFormError,\n useConfiguration,\n GetContent,\n} from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { CheckboxFormFieldByConfig } from '../../FieldsByConfig';\nimport { FormValidationSummary } from '../../FormValidationSummary';\nimport { TermsConditionsCheckbox } from '../../TermsConditionsCheckbox';\nimport { LegalDetailApprovals } from './LegalDetailApprovals';\nimport { LegalDocuments } from './LegalDocuments';\nimport {\n StyledForm,\n BackButtton,\n ConditionTitle,\n ConditionsInfoWrapper,\n DocumentInfoWrapper,\n StyledArrowIcon,\n SubmitButtton,\n StyledLink,\n} from './StyledComponentsLegalForm';\n\ninterface ILegalDetailsFormProps {\n initialData?: GlobalCustomerRegistrationsRegistrationLegalDetailsDto;\n config?: StaticCustomerRegistrationsMetadataRegistrationLegalDetailsMetadataDto;\n isSuccessSubmit: boolean;\n onSubmitForm: (data: GlobalCustomerRegistrationsRegistrationLegalDetailsDto) => void;\n}\n\nexport const LegalDetailsForm: FC = (props) => {\n const { initialData, config, isSuccessSubmit, onSubmitForm } = props;\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, stepsOrder } = stepperData;\n\n const { getTestIdProps } = useTestId();\n\n const { customerServiceUrl } = useConfiguration();\n\n const methods = useForm({\n defaultValues: initialData,\n reValidateMode: 'onChange',\n shouldFocusError: true,\n mode: 'all',\n });\n\n const { watch, formState } = methods;\n const { isValid, isSubmitting } = formState;\n\n const values = watch();\n\n const {\n context: { errorData },\n } = useFormError();\n const { customErrors } = errorData;\n\n const identityErr = Object.keys(values.identityCard ?? {}).map((value) => `identityCard.${value}`);\n const prevValues = Object.keys(values);\n const identityValues = identityErr;\n const newValues = [...prevValues, ...identityValues];\n\n const invalidCodeErrors = customErrors?.filter(\n (er) => !newValues.map((val) => val.toLowerCase()).includes(er.fieldName?.toLowerCase() ?? ''),\n );\n\n const availableApprovals =\n config?.approvals &&\n Object.values(config.approvals).filter(\n (approval: StaticCustomersMetadataApprovalPropertyDto) => approval.isAvailable,\n );\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep } = virtualPageAnalyticsData;\n\n const handleBack = () => {\n setPreviousStep(stepsOrder[activeStep]);\n setActiveStep(activeStep - 1);\n };\n\n const isAnyAprrovalAvailable = Boolean(availableApprovals && availableApprovals.length > 0);\n\n const isAnyDocumentAvailable =\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we need logical operator ||\n config?.identityCard?.isAvailable || config?.additionalIdentityCard?.isAvailable;\n\n return (\n \n \n \n {isAnyDocumentAvailable ? (\n \n \n \n \n \n \n \n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n \n {isAnyAprrovalAvailable ? (\n \n ) : null}\n \n \n \n \n ),\n LegalDocument2_Link: (\n \n {' '}\n \n ),\n LegalDocument3_Link: (\n \n \n \n ),\n LegalDocument4_Link: (\n \n \n \n ),\n LegalDocument5_Link: (\n \n \n \n ),\n LegalDocument6_Link: (\n \n \n \n ),\n LegalDocument7_Link: (\n \n \n \n ),\n LegalDocument8_Link: (\n \n \n \n ),\n }}\n />\n {config?.confirmation1?.validation?.isMandatory ? ' *' : null}\n \n }\n value={values.confirmation1}\n {...config?.confirmation1}\n />\n \n \n \n \n ),\n LegalDocument2_Link: (\n \n \n \n ),\n LegalDocument3_Link: (\n \n \n \n ),\n LegalDocument4_Link: (\n \n \n \n ),\n LegalDocument5_Link: (\n \n \n \n ),\n LegalDocument6_Link: (\n \n \n \n ),\n LegalDocument7_Link: (\n \n \n \n ),\n LegalDocument8_Link: (\n \n \n \n ),\n }}\n />\n {config?.confirmation2?.validation?.isMandatory ? ' *' : null}\n \n }\n value={values.confirmation2}\n {...config?.confirmation2}\n />\n \n \n \n \n \n \n handleBack()}\n >\n \n \n \n \n \n );\n};\n","import * as UserRegisteredEvent from '@ori-events/user-registered';\nimport { Typography, styled } from '@ori-ui/mui';\nimport { Placement } from '@ori/analytics-data';\nimport {\n useApiClient,\n updateCustomerRegistration,\n updateCustomerRegistrationLegalDetails,\n getCustomerRegistrationAnalytics,\n HttpStatusCodes,\n} from '@ori/global-api-client-react';\nimport type {\n AxiosError,\n GlobalCustomerRegistrationsAnalyticsDto,\n GlobalCustomerRegistrationsRegistrationLegalDetailsDto,\n} from '@ori/global-api-client-react';\nimport type { FC } from 'react';\nimport { useState, useEffect } from 'react';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n useConfiguration,\n useFormError,\n useNotificationData,\n useRegistrationStatus,\n useVirtualPageAnalyticsData,\n} from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport { useLegalData, useLegalMetadata } from '../../models/api';\nimport { applyNegative, scrollTopFunctionHelper, virtualPageEventDispatch } from '../../utils';\nimport { BasicSkeleton } from '../BasicSkeleton';\nimport { LegalDetailsForm } from '../Forms';\nimport { StyledTitle } from './StepsStyledComponents';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n width: '100%',\n}));\n\nconst ContentWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n}));\n\nconst handleUserRegisteredEvent = (analyticsData: GlobalCustomerRegistrationsAnalyticsDto) => {\n const { consultantNumber, customerTypeId, registrationChannel, sponsorNumber, visitorSegment } = analyticsData;\n\n // workaround: date object contains client's timezone althrougt API returns only date portion\n const signUpDate = analyticsData.signUpDate ?? new Date();\n const signUpDateOffset = signUpDate.getTimezoneOffset() * 60000;\n const signUpDateWithoutOffset = new Date(signUpDate.getTime() - signUpDateOffset);\n const registerEventData: UserRegisteredEvent.Data = {\n registeredUserId: consultantNumber.toString(),\n customerTypeId: customerTypeId.toString(),\n registrationChannel: registrationChannel ?? '',\n registrationType: 'Self',\n sponsorNumber: sponsorNumber?.toString() ?? '',\n signUpDate: signUpDateWithoutOffset.toISOString(),\n visitorSegment: visitorSegment.toString(),\n placement: Placement.JoinUs,\n };\n window.dispatchEvent(\n new CustomEvent(UserRegisteredEvent.Name, {\n detail: registerEventData,\n }),\n );\n};\n\nexport const LegalStep: FC = () => {\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const { setFinished } = useRegistrationStatus();\n\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n const { registrationId } = useConfiguration();\n\n const { data: legalConfig } = useLegalMetadata();\n\n const isNegativeApprovals = Boolean(legalConfig?.approvals?.shared?.displayAsNegative);\n\n // initial data\n const { data: legalInitialData } = useLegalData(isNegativeApprovals);\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const api = useApiClient();\n\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep, previousStep } = virtualPageAnalyticsData;\n\n const getCorrectSubmitData = (data: GlobalCustomerRegistrationsRegistrationLegalDetailsDto) => {\n let correctData = data;\n\n const emptyIDCard = {\n documentsCollection: [],\n };\n\n if (!data.identityCard?.documentsCollection) {\n correctData = { ...data, identityCard: { ...data.identityCard, ...emptyIDCard } };\n }\n\n if (!data.additionalIdentityCard?.documentsCollection) {\n correctData = { ...correctData, additionalIdentityCard: emptyIDCard };\n }\n\n return correctData;\n };\n\n const getAnalyticsData = async (): Promise => {\n try {\n const response = await getCustomerRegistrationAnalytics(api, registrationId);\n const result = new FetchResult(response.status);\n if (result.isSuccess()) {\n return response.data;\n }\n } catch (error: unknown) {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n\n return undefined;\n };\n\n useEffect(() => {\n scrollTopFunctionHelper();\n }, []);\n\n useEffect(() => {\n virtualPageEventDispatch('LegalInformationStep', previousStep, registrationId);\n setPreviousStep('LegalInformationStep');\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n const handleUpdateRegistration = async () => {\n try {\n const updateResponse = await updateCustomerRegistration(api, registrationId, {\n loginType: 'Email',\n registrationId,\n currentStep: 'SubmitStep',\n });\n const result = new FetchResult(updateResponse.status);\n\n if (result.isSuccess()) {\n setSubmitSuccess(true);\n setFinished(true);\n const analyticsData = await getAnalyticsData();\n if (analyticsData !== undefined) {\n handleUserRegisteredEvent(analyticsData);\n }\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n const onSubmit: SubmitHandler = async (data) => {\n const submitData = getCorrectSubmitData(data);\n const currentSubmitData: GlobalCustomerRegistrationsRegistrationLegalDetailsDto = {\n ...submitData,\n approvals: submitData.approvals && applyNegative(submitData.approvals, isNegativeApprovals),\n };\n try {\n const updateResponseLegal = await updateCustomerRegistrationLegalDetails(api, registrationId, currentSubmitData);\n const result = new FetchResult(updateResponseLegal.status);\n\n if (result.isSuccess()) {\n await handleUpdateRegistration();\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n if (!legalInitialData) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n \n \n\n \n \n \n );\n};\n","import type {\n ApiClient,\n StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDto,\n} from '@ori/static-api-client-react';\nimport {\n getTenantCustomerRegistrationsMetadatumSponsorDetailsMetadata,\n useApiClient,\n} from '@ori/static-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType, type IRegistrationType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchSponsorMetadata(api: ApiClient, tenant: string, registrationType: IRegistrationType) {\n const emptySponsorMetadata: StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDto = {};\n\n try {\n const response = await getTenantCustomerRegistrationsMetadatumSponsorDetailsMetadata(api, tenant, registrationType);\n\n return new FetchResult(\n response.status,\n response.data,\n );\n } catch (error: unknown) {\n return FetchResult.errorFor(emptySponsorMetadata);\n }\n}\n\nexport const useSponsorMetadata = () => {\n const { tenant, registrationType } = useConfiguration();\n const { formatMessage } = useTranslations();\n const staticApi = useApiClient();\n\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [tenant, registrationType, 'sponsorMetadata'],\n async () => {\n const result = await fetchSponsorMetadata(staticApi, tenant, registrationType);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch sponsor metadata');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import {\n getCustomerRegistrationSponsorDetails,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationSponsorDetailsDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchSponsorData(api: ApiClient, registrationIdParam: string) {\n const emptySponsorData: GlobalCustomerRegistrationsRegistrationSponsorDetailsDto = {};\n\n try {\n const response = await getCustomerRegistrationSponsorDetails(api, registrationIdParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptySponsorData);\n }\n}\n\nexport const useSponsorData = () => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, 'sponsorData'],\n async () => {\n const result = await fetchSponsorData(api, registrationId);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch sponsor data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import {\n getCustomerRegistrationSponsorDetailsSponsorInfo,\n type ApiClient,\n type GlobalCustomerRegistrationsRegistrationSponsorInfoDto,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport useSWR from 'swr';\n\nimport { useConfiguration, useNotificationData } from '../../../contexts';\nimport { useTranslations } from '../../../hooks/useTranslations_simplified-registration-BrandPartner';\nimport { MessageType } from '../../../interfaces';\nimport { FetchResult } from '../../FetchResult';\nimport { TranslationKey } from '../../TranslationKey_simplified-registration-BrandPartner';\n\nasync function fetchSponsorInfoData(api: ApiClient, registrationIdParam: string) {\n const emptySponsorInfoData: GlobalCustomerRegistrationsRegistrationSponsorInfoDto = {};\n\n try {\n const response = await getCustomerRegistrationSponsorDetailsSponsorInfo(api, registrationIdParam);\n\n return new FetchResult(response.status, response.data);\n } catch (error: unknown) {\n return FetchResult.errorFor(emptySponsorInfoData);\n }\n}\n\nexport const useSponsorInfoData = (refetchKey?: string) => {\n const { registrationId } = useConfiguration();\n const { formatMessage } = useTranslations();\n const api = useApiClient();\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData } = notificationData;\n\n const errorMeesage = formatMessage(TranslationKey.cannotGetData);\n\n return useSWR(\n [registrationId, refetchKey, 'sponsorInfoData'],\n async () => {\n const result = await fetchSponsorInfoData(api, registrationId);\n if (result.isSuccess() && result.response) {\n return result.response;\n }\n throw new Error('request failed fetch sponsor info data');\n },\n {\n onError(err?: FetchResult) {\n if (err) {\n setNotificationData({\n isOpen: true,\n message: errorMeesage,\n type: MessageType.error,\n messageId: 'cannotGetData',\n });\n }\n },\n },\n );\n};\n","import { useToken } from '@ori/auth';\nimport type { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport axios from 'axios';\nimport useSWR from 'swr';\n\nimport { useConfiguration } from '../../../contexts';\n\nconst axiosClient = axios.create();\n\nconst getEncodedImage = (blob: Blob): string => URL.createObjectURL(blob);\n\nexport function useSponsorImage(registrationId: string, profileImageDocumentId?: number | null) {\n const { globalApiUrl, tenant } = useConfiguration();\n const { formattedToken } = useToken();\n const shouldFetch = Boolean(profileImageDocumentId !== null && profileImageDocumentId !== undefined);\n const url = `${globalApiUrl}/customerRegistrations/${registrationId}/sponsorDetails/profileImage`;\n\n const { data: sponsorImage } = useSWR(shouldFetch ? url.toString() : null, async (requestUrl: string) => {\n const headers: AxiosRequestConfig['headers'] = {\n 'x-tenant-context': tenant,\n };\n headers.Authorization = formattedToken;\n const { data } = await axiosClient\n .get(requestUrl, {\n headers,\n responseType: 'blob',\n })\n .then((blob) => blob)\n .catch((error: AxiosResponse) => error);\n\n return data;\n });\n\n return sponsorImage === undefined ? undefined : getEncodedImage(sponsorImage);\n}\n","import { Typography, styled, Button, Avatar } from '@ori-ui/mui';\nimport type { GlobalCustomerRegistrationsRegistrationSponsorInfoDto } from '@ori/global-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ReactElement, FC } from 'react';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useConfiguration, useStepperData, useVirtualPageAnalyticsData } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { removeAfterDash, stringAvatar } from '../../../utils';\n\ninterface ISponsorBoxProps {\n sponsorDetailInfo: GlobalCustomerRegistrationsRegistrationSponsorInfoDto;\n title: ReactElement;\n isVisibleNextButton: boolean;\n sponsorImage?: string;\n}\n\nconst RootContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n}));\n\nconst StyledAvatar = styled(Avatar)(({ theme }) => ({\n width: '120px',\n height: '120px',\n marginBottom: theme.spacing(2),\n color: theme.palette.text.primary,\n textDecoration: 'none',\n}));\n\nconst StyledNameLabel = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledTitle = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n fontWeight: 'bold',\n}));\n\nconst NexButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(8),\n}));\n\nexport const SponsorBox: FC = (props) => {\n const { referral } = useConfiguration();\n const { sponsorDetailInfo, title, isVisibleNextButton, sponsorImage } = props;\n const { consultantNumber, fullName } = sponsorDetailInfo;\n\n const internationalPbs = referral?.ReferralType === 'InternationalPbs';\n\n const sponsorName = internationalPbs && referral.InternationalPbsCode ? referral.InternationalPbsCode : fullName;\n\n const avatarName = internationalPbs ? removeAfterDash(sponsorName ?? '') : stringAvatar(sponsorName ?? '');\n\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, stepsOrder } = stepperData;\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep } = virtualPageAnalyticsData;\n\n const { getTestIdProps } = useTestId();\n\n const handleNextStep = () => {\n setPreviousStep(stepsOrder[activeStep]);\n setActiveStep(activeStep + 1);\n };\n\n return (\n \n \n {title}\n \n {fullName ? {avatarName} : null}\n \n {sponsorName}\n \n {internationalPbs ? null : (\n \n {consultantNumber}\n \n )}\n\n {isVisibleNextButton ? (\n handleNextStep()}\n {...getTestIdProps('sponsorBox-next-step-btn')}\n >\n \n \n ) : null}\n \n );\n};\n","import { Toggle } from '@ori-ui/components';\nimport { ArrowLeftThin } from '@ori-ui/icons';\nimport {\n Box,\n Button,\n FormControlLabel,\n Grid,\n Radio,\n RadioGroup,\n styled,\n InputLabel,\n Typography,\n Select,\n MenuItem,\n FormControl,\n} from '@ori-ui/mui';\nimport type {\n GlobalCustomerRegistrationsRegistrationSponsorDetailsDto,\n GlobalCustomerRegistrationsRegistrationSponsorInfoDto,\n} from '@ori/global-api-client-react';\nimport type {\n StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDto,\n StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDtoPreselectedSponsorSelectionMethod,\n} from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { ChangeEvent, FC } from 'react';\nimport { useEffect, useState } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\n\nimport { Localization } from '../../../Localization';\nimport { defaultTranslations } from '../../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport { useStepperData, useFormError, useVirtualPageAnalyticsData } from '../../../contexts';\nimport { TranslationKey } from '../../../models';\nimport { useAddressFormatMetadata } from '../../../models/api';\nimport { getOptionLabelSingleLine, defaultAddressFormat } from '../../../utils';\nimport { AddressAutocomplete } from '../../AddressAutocomplete';\nimport { TextFormFieldByConfig } from '../../FieldsByConfig';\nimport { FormValidationSummary } from '../../FormValidationSummary';\nimport { SponsorBox } from './SponsorBox';\n\nenum selectBpVariant {\n findSponsor = 'SponsorLocator',\n knowSponsorNumber = 'ManualInput',\n}\n\nconst StyledForm = styled('form')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'column',\n width: '100%',\n marginTop: theme.spacing(8),\n}));\n\nconst SubmitButtton = styled(Button)(({ theme }) => ({\n minWidth: '330px',\n marginTop: theme.spacing(3),\n}));\n\nconst FindButtton = styled(Button)(({ theme }) => ({\n width: '330px',\n maxWidth: '100%',\n height: '35px',\n margin: '0 auto',\n marginBottom: theme.spacing(10),\n}));\n\nconst BackButtton = styled(Button)(({ theme }) => ({\n display: 'flex',\n justifyContent: 'space-between',\n minWidth: '60px',\n marginTop: theme.spacing(2),\n}));\n\nconst StyledArrowIcon = styled(ArrowLeftThin)(({ theme }) => ({\n marginRight: theme.spacing(1),\n}));\n\nconst StyledFormControlLabel = styled(FormControlLabel)(({ theme }) => ({\n alignItems: 'center',\n marginBottom: theme.spacing(3),\n}));\n\nconst AddressAutocompleteWrapper = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(6),\n}));\n\nconst StyledToggle = styled(Toggle)(({ theme }) => ({\n cursor: 'pointer',\n}));\n\nconst StyledSingleLineLabel = styled(Typography)(({ theme }) => ({\n display: 'flex',\n width: '100%',\n marginBottom: theme.spacing(2),\n marginTop: theme.spacing(5),\n}));\n\ninterface IConnectToBPFormProps {\n initialData?: GlobalCustomerRegistrationsRegistrationSponsorDetailsDto;\n config?: StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDto;\n sponsorInfo?: GlobalCustomerRegistrationsRegistrationSponsorInfoDto;\n profileSponsorImage?: string;\n isDefaultAddress: boolean;\n isSuccessSubmit: boolean;\n onSubmitForm: (data: GlobalCustomerRegistrationsRegistrationSponsorDetailsDto) => void;\n}\n\nexport const ConnectToBPForm: FC = (props) => {\n const { initialData, config, sponsorInfo, profileSponsorImage, isDefaultAddress, isSuccessSubmit, onSubmitForm } =\n props;\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, stepsOrder } = stepperData;\n\n const defaultSelectSponsorType = config?.preselectedSponsorSelectionMethod ?? 'ManualInput';\n\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const [selectSponsorType, setSelectSponsorType] = useState(defaultSelectSponsorType);\n const [country, setCountry] = useState(false);\n const [resetKey, setResetKey] = useState(0);\n\n const { getTestIdProps } = useTestId();\n\n const methods = useForm({\n defaultValues: initialData,\n reValidateMode: 'onChange',\n mode: 'all',\n });\n\n const { formState, watch, setValue } = methods;\n\n const { isValid, isSubmitting } = formState;\n const countryOptions = config?.address?.country?.availableOptions ?? [];\n\n const values = watch();\n\n const invalidCodeErrors = customErrors?.filter(\n (er) =>\n !Object.keys(values)\n .map((val) => val.toLowerCase())\n .includes(er.fieldName?.toLowerCase() ?? ''),\n );\n\n const countryFieldName = 'address.country';\n\n const { data: formatAddressFields } = useAddressFormatMetadata('SingleLine');\n\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep } = virtualPageAnalyticsData;\n\n const handleChangeSponsorFindType = (event: ChangeEvent) => {\n setSelectSponsorType(\n event.target\n .value as StaticCustomerRegistrationsMetadataRegistrationSponsorDetailsMetadataDtoPreselectedSponsorSelectionMethod,\n );\n setResetKey(Date.now());\n methods.reset(initialData);\n methods.clearErrors();\n setCountry(false);\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n setErrorData([]);\n };\n\n const handleBack = () => {\n setPreviousStep(stepsOrder[activeStep]);\n setActiveStep(activeStep - 1);\n };\n\n const handleNext = () => {\n setPreviousStep(stepsOrder[activeStep]);\n setActiveStep(activeStep + 1);\n };\n\n useEffect(() => {\n if (values.address?.zipcode) {\n setSelectSponsorType(selectBpVariant.findSponsor);\n }\n }, [values.address?.zipcode]);\n\n useEffect(() => {\n if (config?.address?.country?.isAvailable && selectSponsorType === selectBpVariant.findSponsor) {\n setValue(countryFieldName, countryOptions[0]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [selectSponsorType]);\n\n const isKnowSponsorNumber = selectSponsorType === selectBpVariant.knowSponsorNumber;\n const isFindSponsorSelected = selectSponsorType === selectBpVariant.findSponsor;\n\n const getAddressAutocomplete = () => {\n if (config?.address?.searchOptions?.isEnabled) {\n return (\n \n }\n />\n );\n }\n\n return null;\n };\n\n const handleChangeCountry = (countryProperty: boolean | string) => {\n setCountry(countryProperty);\n if (typeof countryProperty === 'boolean') {\n if (countryProperty) {\n setValue(countryFieldName, countryOptions[1]);\n } else {\n setValue(countryFieldName, countryOptions[0]);\n }\n } else {\n setValue(countryFieldName, countryProperty);\n }\n };\n\n const getCountryField = () => {\n if (countryOptions.length === 2) {\n return (\n \n \n \n \n handleChangeCountry(checked)}\n />\n \n );\n }\n return (\n \n \n \n \n \n }\n onChange={(e) => handleChangeCountry(e.target.value)}\n >\n {countryOptions.sort().map((opt) => (\n \n {opt}\n \n ))}\n \n \n );\n };\n\n const getCorrectSubmitButton = () => {\n if (isFindSponsorSelected) {\n return (\n handleNext()}\n {...getTestIdProps('submit-btn-sponsorForm')}\n >\n \n \n );\n }\n\n return (\n \n \n \n );\n };\n\n const addressAutocomplete = getAddressAutocomplete();\n\n const countryField = getCountryField();\n\n const noneSponsorLocator = !config?.address?.country?.isAvailable && !config?.address?.zipcode?.isAvailable;\n const isCountryOrZipcode = values.address?.country ?? values.address?.zipcode;\n\n const isDisabledFind = noneSponsorLocator ? false : !isCountryOrZipcode;\n const submitButton = getCorrectSubmitButton();\n\n const knowSponsorLabelVariant = sponsorInfo?.consultantNumber ? 'body2' : 'body1';\n\n const formatedAddress = values.address?.zipcode\n ? getOptionLabelSingleLine(0, values.address, formatAddressFields ?? defaultAddressFormat)\n : null;\n\n const singleLineAddress =\n config?.address?.searchOptions?.isEnabled && formatedAddress ? (\n <>\n \n \n \n \n {formatedAddress}\n \n \n ) : null;\n\n return (\n \n \n \n {sponsorInfo?.consultantNumber ? (\n \n }\n />\n ) : (\n \n \n \n \n }\n disabled={Boolean(sponsorInfo?.consultantNumber)}\n label={\n \n \n \n }\n />\n {isKnowSponsorNumber ? (\n \n }\n {...config?.sponsorNumber}\n allowOnlyNumbers\n isEditable={isKnowSponsorNumber}\n validation={{ isMandatory: isKnowSponsorNumber }}\n />\n ) : null}\n \n \n }\n label={\n \n \n \n }\n style={{ order: 0 }}\n />\n {isFindSponsorSelected && !sponsorInfo?.consultantNumber ? (\n <>\n {config?.address?.country?.isAvailable && !isDefaultAddress ? (\n
{countryField}
\n ) : null}\n {initialData?.address?.zipcode ? null : (\n <>\n \n {addressAutocomplete}\n {singleLineAddress}\n \n\n \n }\n tooltipText={\n \n }\n {...config?.address?.zipcode}\n isAddressMatchRequired\n validation={{ isMandatory: isFindSponsorSelected }}\n />\n \n )}\n\n \n \n \n \n ) : null}\n {sponsorInfo?.consultantNumber ? (\n
\n \n }\n isVisibleNextButton={false}\n />\n
\n ) : null}\n \n \n \n {submitButton}\n \n )}\n handleBack()}\n >\n \n \n \n \n
\n );\n};\n","import { Typography } from '@ori-ui/mui';\nimport { useApiClient, updateCustomerRegistrationSponsorDetails, HttpStatusCodes } from '@ori/global-api-client-react';\nimport type {\n AxiosError,\n GlobalCustomerRegistrationsRegistrationSponsorDetailsDto,\n GlobalSharedAddressDto,\n} from '@ori/global-api-client-react';\nimport type { FC } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { SubmitHandler } from 'react-hook-form';\n\nimport { Localization } from '../../Localization';\nimport { defaultTranslations } from '../../constants/defaultTranslations_simplified-registration-BrandPartner';\nimport {\n useConfiguration,\n useNotificationData,\n useFormError,\n useStepperData,\n useVirtualPageAnalyticsData,\n} from '../../contexts';\nimport type { IErrors } from '../../interfaces';\nimport { MessageType } from '../../interfaces';\nimport { FetchResult, TranslationKey } from '../../models';\nimport {\n useSponsorData,\n useSponsorInfoData,\n useSponsorMetadata,\n usePersonalData,\n useSponsorImage,\n} from '../../models/api';\nimport { scrollTopFunctionHelper, virtualPageEventDispatch } from '../../utils';\nimport { BasicSkeleton } from '../BasicSkeleton';\nimport { ConnectToBPForm } from '../Forms';\nimport { RootContainer, StyledTitle } from './StepsStyledComponents';\n\nexport const SponsorStep: FC = () => {\n const [fetchKey, setFetchKey] = useState('');\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n const { registrationId } = useConfiguration();\n\n const notificationStore = useNotificationData().context.notificationData;\n const {\n context: { errorData },\n } = useFormError();\n const { setErrorData, customErrors } = errorData;\n\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep } = stepperData;\n const {\n virtualPageAnalyticsContext: { virtualPageAnalyticsData },\n } = useVirtualPageAnalyticsData();\n const { setPreviousStep, previousStep } = virtualPageAnalyticsData;\n\n const { data: sponsorConfig } = useSponsorMetadata();\n const { data: sponsorInitialData } = useSponsorData();\n const { data: sponsorInfoData } = useSponsorInfoData(fetchKey);\n const { data: personalInitialData } = usePersonalData();\n const sponsorImage = useSponsorImage(registrationId, sponsorInfoData?.profileImageDocumentId);\n\n const api = useApiClient();\n\n const oneCountryMarket =\n sponsorConfig?.address?.country?.isAvailable && sponsorConfig.address.country.availableOptions.length === 1;\n\n const noneSponsorLocator =\n !sponsorConfig?.address?.country?.isAvailable && !sponsorConfig?.address?.zipcode?.isAvailable;\n\n useEffect(() => {\n scrollTopFunctionHelper();\n }, []);\n\n useEffect(() => {\n virtualPageEventDispatch('SponsorSelectionStep', previousStep, registrationId);\n setPreviousStep('SponsorSelectionStep');\n // eslint-disable-next-line react-hooks/exhaustive-deps -- virtual page event should be fired exacly once, no need to reevaluate\n }, []);\n\n const defaultAddressType = sponsorConfig?.address?.addressType?.availableOptions\n ? sponsorConfig.address.addressType.availableOptions[0]\n : 'Other';\n\n const onSubmit: SubmitHandler = async (data) => {\n let correctAddressData = null;\n let correctSponsorNumber = data.sponsorNumber as number | null | undefined;\n\n if (data.address) {\n correctAddressData = {\n address: { ...data.address, addressType: defaultAddressType },\n } as unknown;\n }\n\n if (data.sponsorNumber) {\n correctAddressData = null;\n }\n\n if (correctSponsorNumber === null) {\n correctSponsorNumber = undefined;\n } else {\n correctSponsorNumber = Number(data.sponsorNumber);\n }\n\n if (!data.sponsorNumber && personalInitialData?.address?.country && !noneSponsorLocator) {\n correctAddressData = {\n address: { ...personalInitialData.address },\n };\n }\n\n if (!data.sponsorNumber && !data.address && oneCountryMarket && !noneSponsorLocator) {\n correctAddressData = {\n address: {\n addressType: defaultAddressType,\n country: sponsorConfig.address?.country?.availableOptions[0],\n },\n };\n }\n\n if (noneSponsorLocator) {\n correctAddressData = { address: null };\n }\n\n const correctData: GlobalCustomerRegistrationsRegistrationSponsorDetailsDto = {\n ...(correctAddressData as GlobalSharedAddressDto),\n sponsorNumber: correctSponsorNumber,\n sponsorOrigin: data.sponsorOrigin,\n };\n\n try {\n const updateResponse = await updateCustomerRegistrationSponsorDetails(api, registrationId, correctData);\n const result = new FetchResult(updateResponse.status);\n\n if (result.isSuccess()) {\n setSubmitSuccess(true);\n if (correctData.sponsorNumber) {\n setActiveStep(activeStep + 1);\n } else {\n setFetchKey(Date.now().toString());\n }\n if (customErrors && customErrors.length > 0) {\n setErrorData([]);\n }\n }\n } catch (error: unknown) {\n const errorResponse = error as AxiosError;\n if (errorResponse.response?.status === HttpStatusCodes.status400BadRequest) {\n const { Errors } = errorResponse.response.data as IErrors;\n const submitErrors = Errors?.map((er) => ({\n fieldName: er.PropertyName,\n errorCode: er.Code,\n }));\n if (submitErrors?.length && submitErrors.length > 0) {\n setErrorData(submitErrors);\n } else {\n setErrorData([]);\n }\n } else {\n notificationStore.setNotificationData({\n isOpen: true,\n message: (\n \n ),\n type: MessageType.error,\n });\n }\n }\n };\n\n if (!sponsorInitialData) {\n return ;\n }\n\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- we need logical operator ||\n const defaultAddressAvailable = personalInitialData?.address?.country || oneCountryMarket;\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n","import { styled } from '@ori-ui/mui';\nimport type { FC } from 'react';\nimport { useEffect } from 'react';\nimport { useSWRConfig } from 'swr';\n\nimport { useStepperData, useConfiguration } from '../../contexts';\nimport { Stepper } from '../Stepper';\nimport { LegalStep, PersonalStep, SponsorStep } from '../Steps';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n}));\n\nconst ContentContainer = styled('div')(({ theme }) => ({\n width: '100%',\n maxWidth: '500px',\n}));\n\ninterface IStepContentProps {\n currentStep?: string;\n steps: string[];\n}\n\nexport const StepperWithContent: FC = (props) => {\n const { currentStep, steps } = props;\n const {\n context: { stepperData },\n } = useStepperData();\n const { activeStep, setActiveStep, setStepsOrder } = stepperData;\n const { registrationType, referral } = useConfiguration();\n\n const { cache } = useSWRConfig();\n\n const isVipCustomerType = registrationType === 'VipCustomer';\n const isCorrectReferral = referral?.ReferralType === 'Pbs' || referral?.ReferralType === 'ReferralLink';\n\n const vipWithoutSponsor = isVipCustomerType && !isCorrectReferral;\n\n useEffect(() => {\n setStepsOrder(steps);\n }, [setStepsOrder, steps]);\n\n useEffect(() => {\n if (currentStep) {\n const actualStep = steps.indexOf(currentStep);\n\n if (actualStep !== -1) {\n setActiveStep(actualStep);\n cache.delete('registrationData');\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed other property\n }, [currentStep]);\n const getStepperContent = () => {\n let content;\n switch (activeStep) {\n case 0:\n content = (\n \n \n \n );\n break;\n case 1:\n content = {vipWithoutSponsor ? : };\n break;\n case 2:\n content = (\n \n \n \n );\n break;\n default:\n content = null;\n }\n\n return content;\n };\n\n const stepperContent = getStepperContent();\n\n return (\n \n \n {stepperContent}\n \n );\n};\n","import { Box, Link, styled } from '@ori-ui/mui';\nimport type { FC } from 'react';\n\nimport { useIsMobile } from '../../utils';\n\nconst OriflameLogoSvg = styled('svg')(({ theme }) => ({\n fill: theme.palette.grey[700],\n height: '100%',\n width: 180,\n [theme.breakpoints.down('sm')]: {\n width: 100,\n },\n}));\n\nconst LogoSeparator = styled('div')(({ theme }) => ({\n position: 'absolute',\n bottom: 0,\n width: '100%',\n height: '2px',\n background: theme.palette.grey[100],\n}));\n\nconst StyledBox = styled(Box)(({ theme }) => ({\n position: 'sticky',\n top: 0,\n display: 'flex',\n justifyContent: 'center',\n height: '40px',\n width: '100%',\n maxWidth: '100%',\n background: theme.palette.background.default,\n padding: theme.spacing(3),\n zIndex: 20,\n marginLeft: '-15px',\n}));\n\nexport const OriflameLogo: FC = () => {\n const isMobile = useIsMobile();\n\n return (\n \n \n \n \n \n \n {isMobile ? : null}\n \n );\n};\n","import { FeedbackNotification } from '@ori-ui/components';\nimport { CheckHeavy, ErrorCircle } from '@ori-ui/icons';\nimport { styled } from '@ori-ui/mui';\nimport type { FC } from 'react';\nimport { useState, useCallback } from 'react';\n\nimport { StepperWithContent, PreStep, WelcomeStep, VerificationStep, OriflameLogo } from '../components';\nimport { useConfiguration, useNotificationData, useRegistrationStatus } from '../contexts';\nimport { MessageType } from '../interfaces';\nimport { useRegistrationData } from '../models/api';\n\nconst RootContainer = styled('div')(({ theme }) => ({\n position: 'relative',\n flexGrow: 1,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n paddingInline: theme.spacing(6),\n [theme.breakpoints.down('sm')]: {\n paddingInline: theme.spacing(3),\n },\n}));\n\nconst threeSteps = ['PersonalInfoStep', 'SponsorSelectionStep', 'LegalInformationStep'];\nconst twoSteps = ['PersonalInfoStep', 'LegalInformationStep'];\n\nexport const LandingPage: FC = () => {\n const {\n context: { notificationData },\n } = useNotificationData();\n const { setNotificationData, data } = notificationData;\n const { finished } = useRegistrationStatus();\n const [isVerified, setIsVerified] = useState(false);\n\n const { data: registrationData } = useRegistrationData();\n\n const feedBackIcon = data?.type === MessageType.error ? : ;\n\n const { registrationType, registrationId, referral } = useConfiguration();\n\n const handleClose = useCallback(() => {\n setNotificationData({ isOpen: false });\n // eslint-disable-next-line react-hooks/exhaustive-deps --- not needed updated on other property\n }, [notificationData]);\n\n const isVipCustomerType = registrationType === 'VipCustomer';\n const isCorrectReferral = referral?.ReferralType === 'Pbs' || referral?.ReferralType === 'ReferralLink';\n\n const vipWithoutSponsor = isVipCustomerType && !isCorrectReferral;\n const currentSteps = vipWithoutSponsor ? twoSteps : threeSteps;\n\n const getCorrectContent = () => {\n if (!registrationId) {\n return ;\n }\n if (registrationData?.currentStep === 'ContactVerification' && !isVerified) {\n return setIsVerified(true)} />;\n }\n if (finished || registrationData?.currentStep === 'SubmitStep') {\n return ;\n }\n if (registrationData?.registrationId) {\n return (\n \n );\n }\n\n return null;\n };\n\n const correctContent = getCorrectContent();\n\n return (\n \n {registrationId ? : null}\n {correctContent}\n \n \n {data?.message}\n \n \n \n );\n};\n","import { ThemeProvider, theme } from '@ori-ui/mui';\nimport { useToken } from '@ori/auth';\nimport { ClientCultureProvider } from '@ori/culture';\nimport { Team, TestIdProvider } from '@ori/testid-generator';\nimport { Suspense, type FC } from 'react';\n\nimport { BasicSkeleton } from './components';\nimport { APP_NAME } from './constants';\nimport { ApiProvider, ContentsContainer, ErrorBoundary, I18nContainer, RegisterStatusContainer } from './containers';\nimport {\n ConfigurationProvider,\n FormErrorProvider,\n NotificationProvider,\n StepperProvider,\n VirtualPageAnalyticsProvider,\n} from './contexts';\nimport { LandingPage } from './pages';\nimport type { ClientAppConfig } from './types/ClientAppConfig';\n\nexport type AppProps = { configuration: ClientAppConfig };\n\nexport const App: FC = ({ configuration }) => {\n const { formattedToken } = useToken();\n\n if (!formattedToken) {\n return null;\n }\n return (\n \n \n \n }>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { ThemeProvider } from '@ori-ui/mui';\nimport { UniversalTokenProvider } from '@ori/auth';\nimport { parseClientAppConfig } from '@ori/client-app-config';\nimport { createRoot } from 'react-dom/client';\n\nimport { App } from './App';\nimport { EMOTION_CACHE_KEY } from './constants';\nimport { ErrorBoundary } from './containers/ErrorBoundary';\nimport type { ClientAppConfig } from './types/ClientAppConfig';\n\n/**\n * React app renderer that is used when app is used as a standalone app\n */\nexport async function render(rootElement: HTMLElement) {\n const { config = '' } = rootElement.dataset;\n const clientAppConfig = parseClientAppConfig(config, ['customerId', 'tenant']);\n const { customerId } = clientAppConfig;\n\n createRoot(rootElement).render(\n \n \n \n \n \n \n ,\n );\n}\n"],"names":["Root","styled","theme","display","flexDirection","alignItems","StepLogo","paddingBottom","spacing","StepTitle","StepSubTitle","StepContent","BasicSkeleton","useTheme","isMobile","useMediaQuery","breakpoints","down","_jsxs","children","_jsx","Skeleton","height","width","variant","animation","sx","borderRadius","ErrorBoundary","Component","constructor","args","_defineProperty","getDerivedStateFromError","error","render","this","state","console","props","defaultTranslations","Approval_BlockGuaranteeOrdering","Approval_Contact","Approval_MarketingConsultant","Approval_MarketingExternal","Approval_MarketingOriflame","Approval_Newletters","Approval_PersonalData","Approval_Publication","Approval_UplineLeaderBrowse","Approval_UplineLeaderData","Custom_text","EmailPrimaryChannelDescription","EmailPrimaryChannelLabel","EmailPrimaryChannelPlaceholder","EmailPrimaryChannelTitle","EmailPrimaryChannelTooltip","EmailVerification_Header","EmailVerification_ProceedingToRegistration","EmailVerification_SendAgain","EmailVerification_Text","EmailVerification_Verified","EmailVerification_WrongCode","Error_WrongCode","FirstStep_Address","FirstStep_Button","FirstStep_Country","FirstStep_Country_Placeholder","FirstStep_Country_Tooltip","FirstStep_DateOfBirth","FirstStep_DateOfBirthText","FirstStep_Email","FirstStep_Email_Optional","FirstStep_FirstName","FirstStep_Gender","FirstStep_Gender_Placeholder","FirstStep_Header","FirstStep_LastName","FirstStep_Phone","FirstStep_PhoneWithPrefix","FirstStep_Phone_Optional","FirstStep_PlaceHolder","FirstStep_PlaceholderEmail","FirstStep_PlaceholderPhone","FirstStep_PlaceholderPhoneWithPrefix","FirstStep_SearchedAddress","FirstStep_Text","FirstStep_TooltipPhone","FirstStep_TooltipPhoneWithPrefix","FirstStep_UniqueId","FirstStep_UniqueId_Tooltip","LegalDocument1_Link_Label","LegalDocument2_Link_Label","LegalDocument3_Link_Label","LegalDocument4_Link_Label","LegalDocument5_Link_Label","LegalDocument6_Link_Label","LegalDocument7_Link_Label","LegalDocument8_Link_Label","PhonePrimaryChannelDescription","PhonePrimaryChannelLabel","PhonePrimaryChannelLabelWithPrefix","PhonePrimaryChannelPlaceholder","PhonePrimaryChannelPlaceholderWithPrefix","PhonePrimaryChannelTitle","PhonePrimaryChannelTooltip","PhonePrimaryChannelTooltipWithPrefix","PhoneVerification_Header","PhoneVerification_ProceedingToRegistration","PhoneVerification_SendAgain","PhoneVerification_Text","PhoneVerification_Verified","PhoneVerification_WrongCode","Prestep_Apple","Prestep_Button","Prestep_Email","Prestep_ExternalAccountAlreadyConnected","Prestep_Facebook","Prestep_Google","Prestep_Header","Prestep_InvitationCode","Prestep_InvitationCodeNotFound","Prestep_InvitationCodeTitle","Prestep_InvitationCodeTooltip","Prestep_LegalNotice","Prestep_LegalNotice_PrivacyPolicy_Label","Prestep_LegalNotice_TermsAndConditions_Label","Prestep_Or","Prestep_Password","Prestep_Phone","Prestep_PhoneWithPrefix","Prestep_PlaceholderEmail","Prestep_PlaceholderPassword","Prestep_PlaceholderPhone","Prestep_PlaceholderPhoneWithPrefix","Prestep_ReferralTitle","Prestep_RegistrationFailed","Prestep_TooltipPhone","Prestep_TooltipPhoneWithPrefix","Prestep_UnauthorizedAccess","PrimaryChannelSubmitButton","PrivacyPolicy_Label","PrivacyPolicy_Text","Reseller","SecondStep_BrandPartnerNumber","SecondStep_Button","SecondStep_Button_Find","SecondStep_Country","SecondStep_FindTheBestBrandPartner","SecondStep_FindTheBestBrandPartner_Tooltip","SecondStep_Header","SecondStep_HeresYourBrandPartner","SecondStep_IKnowaBrandPartner","SecondStep_SearchedAddress","SecondStep_Text","SecondStep_YourAreConnected","SecondStep_YourZipCode","SecondStep_YourZipCode_Tooltip","TermsAndConditions","TermsAndConditions_Label","ThirdStep_AddYourDocument","ThirdStep_AdditionalIDCard_Header","ThirdStep_AdditionalIDCard_Text","ThirdStep_Button","ThirdStep_ChooseDocumentType","ThirdStep_Confirmation1","ThirdStep_Confirmation2","ThirdStep_DocumentDetails","ThirdStep_DocumentFileSize","ThirdStep_DocumentNumber","ThirdStep_DocumentNumber_Tooltip","ThirdStep_DocumentType","ThirdStep_Documents_Header","ThirdStep_ExpirationDate","ThirdStep_ExpirationDate_Tooltip","ThirdStep_GeneralConditions","ThirdStep_GeneralConditions_Text","ThirdStep_Header","ThirdStep_HeaderText","ThirdStep_IDCard_Header","ThirdStep_IDCard_Text","ThirdStep_ImageGuidelines","ThirdStep_KYCDocument_Header","ThirdStep_KYCDocument_Text","ThirdStep_More","ThirdStep_SelectFile","ThirdStep_ShowLess","ThirdStep_ShowMore","ThirdStep_UploadDocument","ThirdStep_UploadDocumentText","ThirdStep_Your_Documents_Header","ThirdStep_Your_Documents_Text","Welcome_App","Welcome_Button","Welcome_Header","Welcome_Text","addresResults","addressSearch","addressSearchTooltip","addressSearchValidation","area","area_Placeholder","area_Tooltip","back","birthDate_DoesntMatchUniqueId","birthDate_LegalRequirementsFailed","birthDate_OutOfRange","cancel","cannotCreate","cannotDelete","cannotGetData","cannotResend","cannotUpdate","cannotVerify","city","city_Placeholder","confirm","confirmDocumentDelete","country","country_Placeholder","customerServiceLinkLabel","customer_NotEligible","customer_NotUnique","delete","delivery","delivery2","delivery2_Placeholder","delivery2_Tooltip","delivery3","delivery3_Placeholder","delivery3_Tooltip","delivery_Placeholder","delivery_Tooltip","district","district_Placeholder","document_ExpirationTooSoon","errorOccured","fileTypeIsNotSupported","genderLabelMan","genderLabelOther","genderLabelWoman","hide","history","locality","locality_Placeholder","loginLinkLabel","noSuggestions","optedOutOfSponsorSelect","orderHistory","passwordRequirementCharactersCount","passwordRequirementDigit","passwordRequirementLetter","passwordRequirementLowerCaseLetter","passwordRequirementSpecialCharacter","passwordRequirementUpperCaseLetter","province","province_Placeholder","readMore","region","region_Placeholder","resendInMinute","searchForAnAddress","selectFile","selectedFileExceedsMaximumSize","showImage","stateApproved","statePending","stateRejected","stateUnknown","streetAddress","streetAddressTooltip","streetAddress_Placeholder","successResend","termsAndConditions_Mandatory","uploadDone","uploading","validationBirthDateRegex","validationDateRegex","validationEmailIsAlreadyUsed","validationEmailTerminatedCustomer","validationLength","validationMandatoryPropertyIsNull","validationMaxLength","validationMaxValue","validationMinLength","validationMinValue","validationRegex","validationRegexBirthDate","validationRegexEmail","validationRegexIdentityCardDateExpiration","validationRegexPhone","validationRegexUniqueID","validationRequired","validationUniqueAlias","validationUniqueBankAccount","validationUniqueCustomerAttribute","validationUniqueDisplayName","validationUniquePhone","validationUniqueTaxCode","validationUniqueTaxCode2","validationUniqueUniqueId","validationValidConfirmationCode","validationValidOldPassword","validationValidPhone","validationValidSponsorNumber","validationValidUniqueId","validationXmlCharacters","warning","zipcode","zipcode_Placeholder","configurationContextDefaultValues","currentLanguage","customerId","NOT_LOGGED_IN_USER_ID","globalApiUrl","identityUrl","staticApiUrl","tenant","registrationType","customerDashboardUrl","loginRedirectUrl","registrationId","validationErrorCode","customerLoginUrl","customerServiceUrl","configurationContext","createContext","ConfigurationProvider","Provider","useConfiguration","useContext","I18nContainer","token","useToken","correctTranslationNameSpace","correctDefalutTranslations","BPDefaultTranslations","VIPDefaultTranslations","translationProps","clientFetchConfiguration","baseUrl","onError","log","String","defaultTranslationsWithNamespaces","isTokenValid","TranslationsProvider","TranslationsNamespaceProvider","namespace","ApiProvider","formattedToken","SWRConfig","value","swrConfig","GlobalApiClientProvider","language","StaticApiClientProvider","RegistrationContext","RegistrationStatusProvider","useRegistrationStatus","RegisterStatusContainer","finished","setFinished","useRegistrationStatusInitialState","useState","useEffect","justifyContent","position","top","left","transform","textAlign","Loading","memo","CircularProgress","color","contentsContext","ContentsProvider","GetContent","key","id","ApiError","Error","message","data","super","name","RegistrationSufixUrlType","async","fetchContents","url","locale","document","documentElement","lang","navigator","getLocale","response","options","config","headers","authorization","axios","then","result","catch","fetcher","Contents","contents","DefaultLanguage","defaultLanguage","currentLocale","length","ContentsContainer","contentsData","registrationTypeSufix","VipCustomer","Consultant","useSWR","useContentsQuery","VirtualPageAnalyticsContext","virtualPageAnalyticsData","setPreviousStep","previousStep","undefined","VirtualPageAnalyticsProvider","useVirtualPageAnalyticsData","virtualPageAnalyticsContext","StepperContext","stepperData","setActiveStep","activeStep","setManualChange","manualChange","stepsOrder","setStepsOrder","StepperProvider","useStepperData","context","NotificationContext","notificationData","setNotificationData","NotificationProvider","useNotificationData","FormErrorContext","errorData","setErrorData","FormErrorProvider","customErrors","useFormError","Localization","defaultMessage","values","className","FormattedMessage","MessageType","HttpStatusCodes","FetchResult","httpStatus","isSuccess","InternalServerError","errors","errorFor","httpStatuses","every","status","isAllSuccess","results","r","TranslationKey","useTranslations","useTranslationsFromNamespace","useRegistrationsMetadata","formatMessage","staticApi","useApiClient","errorMeesage","api","emptyRegistrationsMetadata","isEnabled","getTenantCustomerRegistrationsMetadatumRegistrationsMetadata","fetchRegistrationsMetadata","err","isOpen","type","messageId","getErrorLocalizationByCode","errorCode","fieldName","ContentKeys","renderValidationMessage","max","min","customMessage","StyledLink","palette","main","textDecoration","TextFormFieldByConfig","label","tooltipText","isEditable","isAvailable","displayOrder","validation","initialValue","isAddressMatchRequired","keyboardType","inputType","customPlaceholder","enableLowercaseLetters","useUpperCase","allowOnlyNumbers","setFocus","setValue","useFormContext","getTestIdProps","getTestId","useTestId","submitError","find","toLowerCase","joinFormatError","split","map","item","camelCase","join","errorMessage","regexPattern","regularExpression","RegExp","readOnly","fieldPlaceholder","capitalize","readOnlyStyleBox","partOfAddress","includes","correctTabIndex","fieldComponent","Grid","xs","sm","style","order","Box","margin","maxWidth","Controller","rules","required","isMandatory","maxLength","minLength","pattern","defaultValue","field","ref","onChange","fieldState","FormControl","fullWidth","TextField","placeholder","Boolean","helperText","disabled","inputProps","tabIndex","inputMode","autoCapitalize","textTransform","InputProps","endAdornment","ErrorCircle","autoComplete","inputRef","onBlur","fieldValue","correctValue","toLocaleUpperCase","trim","shouldValidate","shouldDirty","shouldTouch","handleTrimValue","e","target","replaceAll","handleChangeAllowOnlyNumber","FormHelperText","loginLink","href","rel","_Fragment","usePhoneFormats","emptyTenantPhoneFormats","allowedFormats","getTenantPhoneFormats","fetchTenantPhoneFormats","useTenantsCountry","emptyTenantCountry","collection","getTenantCountries","fetchTenantsCountry","FlagWrapper","marginRight","getCountryByCountryCode","countries","countryCode","PhoneFieldByConfig","tooltipWithPrefix","customPlaceholderWithPrefix","labelWithPrefix","setError","watch","clearErrors","phonePrefix","setPhonePrefix","isDisabledPrefix","setIsDisabledPrefix","phoneAutofocus","setPhoneAutofocus","phoneWithoutPrefix","setPhoneWithoutPrefix","phoneFormats","availableOptions","opt","internationalPrefix","isAnyPhoneFormats","onlyOnePrefix","watchValue","renderSelectOption","index","MenuItem","ReactCountryFlag","svg","objectFit","initialPrefix","aopt","replace","onlyOneOption","InputLabel","Select","displayEmpty","labelId","autoFocus","MenuProps","border","anchorOrigin","vertical","horizontal","transformOrigin","renderValue","selected","foundCode","event","currentValue","concat","handlePrefixChange","available","startsWith","slice","test","iconStyle","fontSize","StyledIconButton","IconButton","padding","PasswordToggle","isShowPassword","setPasswordVisible","icon","VisibilityOff","Visibility","InputAdornment","onClick","handleClick","IconWrapper","marginTop","CheckIcon","CheckCircleFilled","default","light","CheckIconSuccess","primary","ErrorIcon","ErrorCircleFilled","dark","StyledLabel","Typography","PasswordRequirements","requirements","minChar","actualValue","validating","requirement","requirementProperty","getValidationIcon","PasswordFieldByConfig","isPasswordVisible","setIsPasswordVisible","isShowRequirements","setIsShowRequirements","isValidatingRequirements","setIsValidatingRequirements","passwordRequirementsArray","getPasswordRequirements","configRequirements","correctRequirements","letter","isRequired","push","lowercaseLetter","uppercaseLetter","digit","specialCharacter","onFocus","_e","onKeyUp","FormErrorSummary","StyledSubmitError","fontStyle","marginLeft","FormValidationSummary","invalidPropertyErrors","notPropertyError","customerServiceLink","GoogleIcon","version","xmlns","viewBox","fill","d","StyledForm","SubmitButtton","Button","minWidth","SocialWrapper","IconText","paddingLeft","SocialButtton","minHeight","boxShadow","Separator","marginBottom","HiddenInput","text","secondary","LegalNotice","marginInline","AddInvitationCode","fontWeight","cursor","axiosClient","usePublicSponsorImage","documentId","shouldFetch","sponsorImage","toString","Authorization","get","requestUrl","responseType","blob","URL","createObjectURL","stringAvatar","lastName","firstName","charAt","removeAfterDash","code","indexOf","substring","RootContainer","StyledAvatar","Avatar","StyledInfo","PublicSponsorBox","referral","sponsorDocument","useGetCustomerProfileImage","CustomerId","internationalPbs","ReferralType","sponsorName","InternationalPbsCode","FullName","avatarName","src","align","getCorrectTabIndex","PreStepForm","isSuccessSubmit","onSubmitForm","isInvitationFieldVisible","setIsInvitationFieldVisible","methods","useForm","reValidateMode","mode","formState","register","isValid","isSubmitted","isSubmitting","formValues","invalidCodeErrors","filter","er","Object","keys","val","socialValidationMessage","isShowCustomValidationMessage","visibleByType","isShowSponsorBox","loginWithSocialNetwork","loginType","handleSubmit","contactEmail","contactTelephone","isAnySocialNetworkAvailable","appleLogin","facebookLogin","googleLogin","FormProvider","noValidate","onSubmit","container","invitationCode","Collapse","in","password","legalNoticeText","TermsAndConditions_Link","TermsAndConditions_Url","PrivacyPolicy_Link","PrivacyPolicy_Url","Apple","Facebook","paddingTop","WrapperCaptcha","PreStep","registrationConfig","captcha","isValidating","useGetApplicationsSimplifiedRegistrationRequestValidation","submitSuccess","setSubmitSuccess","recaptchaRef","useRef","submitErrorLoginType","showCaptcha","siteKey","current","executeAsync","isNotSocialNetwork","currentData","currentStep","startDate","Date","sponsorOrigin","internationalPbsCode","sponsorNumber","ConsultantNumber","createResponse","createCustomerRegistration","redirectUrl","form","createElement","method","action","append","body","submit","errorResponse","status400BadRequest","Errors","submitErrors","PropertyName","Code","ReCAPTCHA","size","badge","sitekey","useContactMetadata","emptyContactMetadata","isVerificationEnabled","getTenantCustomerRegistrationsMetadatumContactDetailsMetadata","fetchContactMetadata","useContactData","reFetchkey","registrationIdParam","emptyContactData","isContactVerified","getCustomerRegistrationContactDetails","fetchContactData","virtualPagePahNameMap","Map","getVirtualPageURL","urlBase","virtualStep","has","getVirtualPagePathName","getPageURL","step","window","location","origin","pathname","search","virtualPageEventDispatch","virtualPageEventData","virtualPageTitle","previousPageURL","virtualPageURL","CustomEvent","VirtualPageEvent","detail","dispatchEvent","AnchorResend","StyledTextField","ResendText","CodeDiv","ResendLink","handleResendCode","isResendDisabled","role","VerificationCodeInput","handleInput","handleDelete","handlePaste","isError","verificationInputRef","instance","onInput","onKeyDown","preventDefault","handleFocus","select","onPaste","Verify","handleSubmitVerification","invalidCodeError","codeInputRefs","submitErrorMessage","mountOrUpdate","useCallback","focus","onNumberDelete","newInputIndex","setInputRef","submitVerification","codeNumbers","input","onNumberInput","pastedCode","clipboardData","getData","codeLength","codeArray","forEach","codeInputRef","Number","isNaN","Array","from","_x","renderVerificationCodeInput","paragraph","StyledTitle","StyledSubTitle","StyledGridContainer","VerificationChannelForm","handlePrimaryChannel","contactMetadata","contactData","isEmailVerification","email","content","telephone","correctData","updateContactResponse","updateCustomerRegistrationContactDetails","RootLoader","VerificationLoading","VerifyWrapper","WrapperContainer","VerificationIcon","CheckCircle","grey","A200","VerificationIconSuccess","VerificationStep","handleVerifySuccess","isVerification","setIsVerification","isPrimaryChannel","setIsPrimaryChannel","isVerified","setIsVerified","setIsSubmitting","resendDisabled","setResendDisabled","isLoginWithoutSocialNetwork","createConfirmResponse","createCustomerRegistrationContactDetailsConfirmation","confirmationCode","setTimeout","resendCodeResponse","StyledWelcomeTitle","WelcomeWrapper","WelcomeActionButton","WelcomeAppButton","backgroundColor","WelcomeStep","isRedirectDisabled","setIsRedirectDisabled","isMobileOperatingSystem","useMobileOperatingSystem","isIOS","userAgent","MSStream","isAndroid","dynamicLink","useGetTenantDigitalCatalogueDynamiclink","fallbackToWeb","clientApplication","handleLocationChange","addEventListener","removeEventListener","link","flexWrap","StyledStep","Step","Stepper","steps","visibleLables","canChangeStep","stepperWidth","MuiStepper","_createElement","handleChangeStep","stepNumber","StepLabel","usePersonalMetadata","emptyPersonalMetadata","getTenantCustomerRegistrationsMetadatumPersonalDetailsMetadata","fetchPersonalMetadata","usePersonalData","emptyPersonalData","getCustomerRegistrationPersonalDetails","fetchPersonalData","revalidateOnFocus","scrollTopFunctionHelper","scrollTop","GenderLabelMapper","getLocalizationKey","transforms","Man","Other","Woman","_default","SelectWrapper","SelectFormFieldByConfig","title","labelMapper","selectField","currentOptions","DatePickerField","infoText","defaultDate","invalidMsg","culture","useCulture","culturePattern","calendarFormat","patterns","shortDatePattern","dateFormat","dateString","usedDay","usedMonth","usedYear","usedSeparator","char","generateDateFormat","invalidDateMessage","correctFormat","toUpperCase","actualDate","setFullYear","getFullYear","minDate","minValue","maxDate","maxValue","formattedMax","format","formattedMin","invalidMaxDateMessage","invalidMinDateMessage","initialDate","renderInputProps","validate","currentDate","isValidMax","getTime","isValidMin","LocalizationProvider","dateAdapter","DateAdapter","DesktopDatePicker","disableOpenPicker","open","slotProps","textField","getOptionLabelSingleLine","lineNumber","addressFormat","lines","fields","separators","idx","correctField","newField","at","defaultAddressFormat","useAddressFormatMetadata","typeParam","emptyAddressFormatMetadata","getAddressFormat","fetchAddressFormatMetadata","AddressAutocomplete","searchOptions","searchedFields","errorKeys","address","isErrors","some","sf","suggestions","setSuggestions","isOpenSelect","setOpen","isItemClicked","setItemClicked","lastSearchedText","setLastSearchedText","countryValue","minSearchLength","handleSearchTextChange","getStateAddressSuggestions","searchText","pathKey","addressNodesResult","emptySuggestionsResponse","addressSuggestionsCollection","apiParams","SearchText","Top","Country","PathKey","nodes","getAddressSuggestions","maxResults","node","addressSummary","description","count","addressNodeId","handleOnClick","suggestedAddresses","renderInput","other","componentProps","renderAddressSuggestionItem","suggestion","renderSuggestions","getItemProps","items","component","suggestionProps","itemProps","whiteSpace","wordBreak","renderSuggestion","Paper","zIndex","right","overflow","background","maxHeight","overflowY","elevation","handleAutocompleteKeyUp","searchInput","trimStart","Downshift","defaultHighlightedIndex","selectedItem","onSelect","nodeId","addressNode","getAddressSearchResult","getAddress","entries","nodeKey","addressNodeKey","addressValue","mapNodeToAddress","entry","inputValue","onOuterClick","handleDownshiftOuterClick","getInputProps","mergedInputProps","startAdornment","Search","getAutocompleteContent","StyledGridItem","StyledSingleLineLabel","StyledSingleLineAddress","wordWrap","AddressSection","configAddress","actualValues","useUpperCaseAddress","formatAddressFields","canCreate","operations","create","canUpdate","update","canDelete","canEdit","formatedAddress","fieldsForValidateInSearch","fieldsConfig","resultFields","getCorrectFieldsForValidate","singleLineAddress","addressAutocomplete","PersonalDetailsForm","initialData","datePickerPlaceholder","defaultValues","read","uniqueId","gender","placeholderText","birthDate","PersonalStep","personalConfig","personalInitialData","actualHours","getHours","currentBirthDate","setHours","currentAddress","addressType","updateResponse","updateCustomerRegistrationPersonalDetails","useLegalMetadata","emptyLegalMetadata","getTenantCustomerRegistrationsMetadatumLegalDetailsMetadata","fetchLegalMetadata","applyNegative","isNegative","personalData","contact","marketingOriflame","marketingExternal","publication","newsletters","uplineLeaderData","uplineLeaderBrowse","marketingConsultant","blockGuaranteeOrdering","useLegalData","isNegativeParam","emptyLegalData","isReseller","confirmation1","confirmation2","getCustomerRegistrationLegalDetails","approvals","fetchLegalData","StyledFormControlLabel","FormControlLabel","StyledCheckbox","Checkbox","customRequiredFields","Set","CheckboxFormFieldByConfig","customRequired","control","defaultChecked","checked","useCustomHeaders","useRegistrationData","registrationData","setRegistrationData","getResponse","getCustomerRegistration","statusNotFound","status404NotFound","useIsMobile","RootDiv","StyledTypography","ownerState","expanded","visibleMoreButton","lineHeight","transition","OverlayWrapper","Link","borderBottom","ExpandableTextBlock","isExpanded","setIsExpanded","customTextHeight","setCustomTextHeight","dataTestId","customTextRef","customTextVisibilityLength","customTextLength","innerText","customTextClientHeight","clientHeight","isMoreTextVisible","onResize","expandButton","underline","BackButtton","StyledArrowIcon","ArrowLeftThin","DocumentInfoWrapper","ConditionsInfoWrapper","up","ConditionTitle","PolicyText","CollapseBox","TermsConditionsCheckbox","notificationStore","terms","setTerms","showPrivacyPolicy","setShowPrivacyPolicy","trigger","isCustomTextAvailable","customText","getTerms","termsResponse","getCustomerRequiredTerms","isShowPrivacyPolicy","requiredTerm","termsAndConditions","termId","LegalDocument1_Link","LegalDocument2_Link","LegalDocument3_Link","LegalDocument4_Link","LegalDocument5_Link","LegalDocument6_Link","LegalDocument7_Link","LegalDocument8_Link","LegalDetailApprovals","approvalValues","showApprovals","setShowApprovals","isNegativeApprovals","shared","displayAsNegative","ArrowDownThin","useDocumentTypes","errorMsg","emptyCustomerDocumentType","getTenantDocumentTypes","fetchCustomerDocumentType","useCustomerDocumentsInfos","registrationCustomerId","customHeaders","emptyCustomerDocumentApprovals","documents","Promise","all","getCustomerDocumentsInfos","getCustomerDocumentApprovals","info","documentApproval","approval","documentIds","fetchCustomerDocumentInfo","FileInputField","accept","isMultiple","inputLabel","htmlFor","multiple","UploadButtonWrapper","UploadButton","triggerFileUploadFinished","onFileUploadedProp","UploaderForm","handleFileChanged","handleUploadStart","onUploadStart","handleFileUploaded","onFileUploaded","handleUploadFinished","onUploadFinished","maxFileSize","documentTypeId","isTemporary","inputName","documentsInfoData","getInputRef","element","createDocument","customerIdProperty","requestBody","requestOptions","createCustomerDocument","replaceDocument","oldDocumentId","newDocumentRequestOptions","deleteResult","deleteCustomerDocument","deleteDocument","button","useMemo","lastOfType","sort","a","b","createdDate","fileMapper","file","fileKey","maxFileSizeError","maxFileSizeProp","maxMBs","Math","ceil","fetchResult","fileResult","mapToFileUploadResult","fileUploadResult","uploadedFiles","files","uploadPromises","handleChangeFile","click","Uploader","StyledFeedbackDialog","FeedbackDialog","bottom","borderBottomLeftRadius","borderBottomRightRadius","ButtonDelete","contrastText","ButtonCancel","ConfirmDeleteDialog","WrappedComponent","opened","handleConfirm","handleCancel","hideCloseButton","severity","header","actions","useDocumentThumb","previewSize","thumbUrl","fetchKey","params","documentURL","useDocumentThumbDetail","thumbDetailUrl","StyledDialogContent","DialogContent","CloseButton","DocumentIcon","Document","ThumbWithDetail","fileName","detailOpened","setDetailOpened","imageThumb","setImageThumb","imageDetail","setImageDetail","documentThumbUrl","documentThumbDetailUrl","handleOpenDetail","avatar","getAvatar","thumb","Tooltip","detailImage","fileNameProperty","imgUrl","alt","getDetailImage","Dialog","DialogTitle","Clear","useCustomerDocument","StyledSpanLabel","DocumentState","reason","stateElement","approvalState","getStateColor","getLocalization","flexCenter","StyledListItem","StyledDivContent","StyledSpanInfo","StyledSpanThumb","StyledSpanActions","StyledSpanFile","StyledSpanFileName","textOverflow","whitespace","StyledSpanFileNameLink","StyledSpanFileSize","A700","StyledErrorIcon","StyledDeleteIcon","StyledProgress","LinearProgress","DocumentItemFile","visibleApprovalState","documentItemUrl","handleDownloadDocument","documentUrl","getDocumentItemLink","getDocumentSize","fileSize","round","approvalReason","getApprovalState","DocumentItem","onDocumentRemove","isShowApprovalState","isDeleteConfirmationRequired","uploadProgress","confirmOpened","setConfirmOpened","confirmDelete","removeDocument","getThumb","getDeleteButton","deleteAction","confirmCanceled","mapToDocumentItemProps","documentStoreData","deleteConfirmationRequired","isDocumentPending","renderDocumentItem","documentProps","StyledRequiredDocument","StyledDivHeader","StyledHelpCircle","HelpCircle","StyledList","listStyle","StyledListPending","StyledDivWrapper","hasDocuments","StyledDivUploader","StyledDivHistory","borderTop","StyledExpanedIcon","StyledDivExpander","StyledDivFileInput","StyledDivBoxExpandHistory","DocumentHistory","temporaryDocument","historyExpanded","histroyDocumentsInfoData","handleToggleClick","documentPending","getHistoryDocuments","documentItems","typeId","includeTemporary","getInfoByType","documentsHistory","renderHistory","classes","uploadProgressDone","DocumentLoadingProgress","uploadFinished","documentLoadingProgress","renderLoadingProgress","textUploading","textDone","progress","CheckHeavy","DocumentContent","documentType","editableDocument","documentInpuName","configDocument","documentIsRequired","handleDocumentsChange","isTemporaryDocument","isHistoryExpanded","setIsHistoryExpanded","isUploading","setIsUploading","isUploadFinished","setIsUploadFinished","filesInProgress","setFilesInProgress","setFetchKey","setDefaultState","removeFile","previousState","documentData","triggerDocumentsChange","propertyDocumentIds","newDocuments","getDocuments","fileInputProps","copyDocumentData","now","uploadedDocuments","uploadedDocumentIds","correctDocumentIds","newDocumentIds","allowMultipleDocuments","uploadFilesInProgress","handleFileUploadProgress","supportedMimeTypes","maxDataSize","documentCardTypeField","cardType","documentCardNumberField","cardNumber","disabledForIdentityCardTypes","expiration","disableExpirationField","identityCard","expirationDocumentField","renderDocuments","getfilesInProgress","getFilesInProgress","documentsToRender","uploader","DocumentHeader","requiredDocument","enterTouchDelay","leaveTouchDelay","documentLabel","documentInfoText","documentsTypeData","isLoading","documentTypeIdProperty","LegalDocuments","documentsConfig","localDocuments","setLocalDocuments","getDocumentLabel","localization","updateIdentityCard","documentsCollection","updateAdditionalIdentityCard","getDocumentIds","idCard","renderIdentityCardDocument","idCardDocumentInfoText","correctDocuments","additionalIdCard","renderAdditionalIdentityCardDocument","additionalIdentityCard","additionalDocumentInfoText","documentsAvailableContent","documentsContent","LegalDetailsForm","shouldFocusError","identityErr","newValues","availableApprovals","isAnyAprrovalAvailable","isAnyDocumentAvailable","ContentWrapper","LegalStep","legalConfig","legalInitialData","handleUpdateRegistration","updateCustomerRegistration","analyticsData","getCustomerRegistrationAnalytics","getAnalyticsData","consultantNumber","customerTypeId","registrationChannel","visitorSegment","signUpDate","signUpDateOffset","getTimezoneOffset","signUpDateWithoutOffset","registerEventData","registeredUserId","toISOString","placement","Placement","JoinUs","UserRegisteredEvent","handleUserRegisteredEvent","submitData","emptyIDCard","getCorrectSubmitData","currentSubmitData","updateResponseLegal","updateCustomerRegistrationLegalDetails","useSponsorMetadata","emptySponsorMetadata","getTenantCustomerRegistrationsMetadatumSponsorDetailsMetadata","fetchSponsorMetadata","useSponsorData","emptySponsorData","getCustomerRegistrationSponsorDetails","fetchSponsorData","useSponsorInfoData","refetchKey","emptySponsorInfoData","getCustomerRegistrationSponsorDetailsSponsorInfo","fetchSponsorInfoData","useSponsorImage","profileImageDocumentId","StyledNameLabel","NexButtton","SponsorBox","sponsorDetailInfo","isVisibleNextButton","fullName","selectBpVariant","FindButtton","AddressAutocompleteWrapper","StyledToggle","Toggle","ConnectToBPForm","sponsorInfo","profileSponsorImage","isDefaultAddress","defaultSelectSponsorType","preselectedSponsorSelectionMethod","selectSponsorType","setSelectSponsorType","setCountry","resetKey","setResetKey","countryOptions","countryFieldName","findSponsor","isKnowSponsorNumber","knowSponsorNumber","isFindSponsorSelected","handleChangeCountry","countryProperty","countryField","mb","firstText","secondText","currentTarget","noneSponsorLocator","isCountryOrZipcode","isDisabledFind","submitButton","knowSponsorLabelVariant","RadioGroup","reset","Radio","SponsorStep","sponsorConfig","sponsorInitialData","sponsorInfoData","oneCountryMarket","defaultAddressType","defaultAddressAvailable","correctAddressData","correctSponsorNumber","updateCustomerRegistrationSponsorDetails","ContentContainer","StepperWithContent","cache","useSWRConfig","vipWithoutSponsor","actualStep","stepperContent","getStepperContent","OriflameLogoSvg","LogoSeparator","StyledBox","OriflameLogo","flexGrow","paddingInline","threeSteps","twoSteps","LandingPage","feedBackIcon","handleClose","currentSteps","correctContent","FeedbackNotification","customIcon","onClose","App","configuration","TestIdProvider","team","Team","Acquisition","project","APP_NAME","Suspense","fallback","ThemeProvider","enableCacheProvider","cacheKey","ClientCultureProvider","swr","suspense","rootElement","dataset","clientAppConfig","parseClientAppConfig","createRoot","UniversalTokenProvider","initialToken","EMOTION_CACHE_KEY"],"sourceRoot":""}