{"version":3,"file":"static/js/main-c1809c58.0083a65b.js","mappings":"iRAUaA,EAAiB,CAC1BC,KAsBJ,WACI,sBAAAC,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAMC,GAAQ,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAP,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAI4C,OAH7DR,EAAS,CAAES,KAAMC,EAAAA,GAAYC,aAAcC,aAAcC,EAAAA,EAAaC,UAAWR,EAAAC,KAAA,EAEvEN,EAAiBc,EAAAA,GAAeC,aAChCd,EAAiBa,EAAAA,GAAeE,oBAAmBX,EAAAE,KAAA,EACnCP,EAAe,KAAD,EAAvB,OAAPE,EAAOG,EAAAY,KAAAZ,EAAAE,KAAA,EACSN,EAAe,KAAD,EAA9BE,EAAOE,EAAAY,KACblB,EAAS,CAAES,KAAMC,EAAAA,GAAYS,oBAAqBhB,QAAAA,IAClDH,EAAS,CAAES,KAAMC,EAAAA,GAAYU,4BAA6BC,QAAS,CAAEjB,QAAAA,KACrEJ,EAAS,CAAES,KAAMC,EAAAA,GAAYC,aAAcC,aAAcC,EAAAA,EAAaS,UAAWhB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAGjFN,EAAS,CAAES,KAAMC,EAAAA,GAAYC,aAAcC,aAAcC,EAAAA,EAAaW,UACtExB,EAASyB,EAAAA,IAAaC,cAAapB,EAAAiB,KAAK,yBAAAjB,EAAAqB,OAAA,GAAA5B,EAAA,mBAE/C,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EAfD,EAgBJ,EAtCIC,oBAAAA,EACAC,yBA8CJ,WACI,MAAO,CAAEvB,KAAMC,EAAAA,GAAYuB,uCAC/B,EA/CIC,gBAmEJ,SAAyBC,GACrB,OAAO,SAACnC,EAAUoC,GACd,IAAMjC,EAAUiC,IAAWjC,QAAQA,QACnCA,EAAQgC,MAAQA,EAEhBnC,EAAS,CACLS,KAAMC,EAAAA,GAAY2B,kBAClBlC,SAAOmC,EAAAA,EAAAA,GAAA,GACAnC,IAGf,CACJ,EA9EIoC,uBAgFJ,SAAgCC,GAC5B,MAAO,CACH/B,KAAMC,EAAAA,GAAY+B,4BAClBC,MAAO,CAAEF,aAAcA,GAE/B,EApFIG,0BAsFJ,SAAmCA,EAA2BC,GAC1D,MAAO,CACHnC,KAAMC,EAAAA,GAAYmC,6BAClBC,QAAS,CACLH,0BAAAA,EACAC,UAAAA,GAGZ,EA7FIG,0BAAAA,EACAC,kBAqGJ,WACI,OAAO,SAAAhD,GACHA,EAAS+B,GAAoB,GACjC,CACJ,EAxGIkB,sBA0GJ,WACI,OAAO,SAAAjD,GACHA,EAASkD,EAAAA,IAAeC,uBACxBnD,EAAS+C,GAA0B,GACvC,CACJ,EA9GIK,MAgHJ,WACI,OAAO,SAAApD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY2C,yBAC7BrD,EAASsD,EAAAA,EAAwBF,SACjCpD,EAASuD,EAAAA,EAAyBH,SAClCpD,EAASwD,EAAAA,EAAwBJ,QACrC,CACJ,EAtHIK,2BAwHJ,SAAoCC,GAChC,OAAO,SAAC1D,EAAUoC,GACd,IAAMjC,EAAUiC,IAAWjC,QAC3B,GAAIA,EAAQC,SAAWD,EAAQC,QAAQuD,QAAS,CAC5C,IAAMvD,GAAOkC,EAAAA,EAAAA,GAAA,GAAQnC,EAAQC,SAC7BA,EAAQuD,QAAQC,KAAKF,GACrB1D,EAAS,CAAES,KAAMC,EAAAA,GAAYmD,+BAAgCxC,QAAS,CAAEjB,QAAAA,IAC5E,CACJ,CACJ,EAhII0D,4BAAAA,EACAC,mBAiJJ,SAA4BC,EAAaC,GACrC,OAAO,SAACjE,GACJe,EAAAA,GAAegD,mBAAmBC,EAAaC,GAC1CC,MAAK,WACFlE,EAAS,CAAES,KAAMC,EAAAA,GAAYyD,gCAAiC9C,QAAS,CAAE2C,YAAAA,EAAaC,gBAAAA,IAC1F,IACCG,OAAM,SAACC,GACJrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAC1C,GACR,CACJ,EA1JIE,oBA4JJ,SAA6BzB,GACzB,sBAAA0B,GAAA5E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA2E,EAAOzE,GAAQ,IAAA0E,EAAAC,EAAAC,EAAA,OAAA/E,EAAAA,EAAAA,KAAAQ,MAAA,SAAAwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,OAC4C,OAA9DR,EAAS,CAAES,KAAMC,EAAAA,GAAYoE,gCAAiCD,EAAAtE,KAAA,EAAAsE,EAAArE,KAAA,EAE7BO,EAAAA,GAAewD,oBAAoBzB,EAAQ6B,IAAI,KAAD,EAAAD,EAAAG,EAAA3D,KAAnEyD,EAAED,EAAFC,GAAIC,EAAMF,EAANE,OAEZ5E,EAAS,CAAES,KAAMC,EAAAA,GAAYqE,gCAC7B/E,EAAS8D,GAA2BxB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIQ,GAAO,IAAE8B,OAAAA,IAAUD,IAAKE,EAAArE,KAAA,iBAAAqE,EAAAtE,KAAA,GAAAsE,EAAAtD,GAAAsD,EAAA,SAElE7E,EAASyB,EAAAA,IAAa6C,gBAAeO,EAAAtD,KACrCvB,EAAS,CAAES,KAAMC,EAAAA,GAAYsE,6BAA8B,yBAAAH,EAAAlD,OAAA,GAAA8C,EAAA,mBAElE,gBAAAQ,GAAA,OAAAT,EAAA3C,MAAA,KAAAC,UAAA,EAXD,EAYJ,EAxKIoD,qBA0KJ,SAA8BpC,GAC1B,sBAAAqC,GAAAvF,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAsF,EAAOpF,GAAQ,IAAAqF,EAAAV,EAAAC,EAAA,OAAA/E,EAAAA,EAAAA,KAAAQ,MAAA,SAAAiF,GAAA,cAAAA,EAAA/E,KAAA+E,EAAA9E,MAAA,OAC6C,OAA/DR,EAAS,CAAES,KAAMC,EAAAA,GAAY6E,iCAAkCD,EAAA/E,KAAA,EAAA+E,EAAA9E,KAAA,EAE9BO,EAAAA,GAAemE,qBAAqBpC,EAAQ6B,IAAI,KAAD,EAAAU,EAAAC,EAAApE,KAApEyD,EAAEU,EAAFV,GAAIC,EAAMS,EAANT,OAEZ5E,EAAS,CAAES,KAAMC,EAAAA,GAAY8E,iCAC7BxF,EAAS8D,GAA2BxB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIQ,GAAO,IAAE8B,OAAAA,IAAUD,IAAKW,EAAA9E,KAAA,iBAAA8E,EAAA/E,KAAA,GAAA+E,EAAA/D,GAAA+D,EAAA,SAElEtF,EAASyB,EAAAA,IAAa6C,gBAAegB,EAAA/D,KACrCvB,EAAS,CAAES,KAAMC,EAAAA,GAAY+E,8BAA+B,yBAAAH,EAAA3D,OAAA,GAAAyD,EAAA,mBAEnE,gBAAAM,GAAA,OAAAP,EAAAtD,MAAA,KAAAC,UAAA,EAXD,EAYJ,EAtLI6D,2BAAAA,EACAC,gBA4MJ,SAAyBC,GACrB,OAAO,SAAA7F,GACHA,EAAS8F,GAA4B,IACrC/E,EAAAA,GAAe6E,gBAAgBC,GAC1B3B,MAAK,WACF,IAAM6B,EAAcC,EAAAA,EAAKC,UACzBjG,EAASkG,EAAAA,EAAwBC,eAAeJ,EAAYpB,KAC5D3E,EAAS2F,GAA2B,GACxC,IACCvB,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,IACpD+B,SAAQ,kBAAMpG,EAAS8F,GAA4B,GAAO,GACnE,CACJ,EAvNIO,gBAyNJ,WACI,OAAO,SAAArG,GACHA,EAASsG,GAA4B,IACrCvF,EAAAA,GAAesF,kBACVnC,MAAK,WACF,IAAM6B,EAAcC,EAAAA,EAAKC,UACzBjG,EAASkG,EAAAA,EAAwBC,eAAeJ,EAAYpB,KAC5D3E,EAAS2F,GAA2B,GACxC,IACCvB,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,IACpD+B,SAAQ,kBAAMpG,EAASsG,GAA4B,GAAO,GACnE,CACJ,EApOIC,mBAkCJ,SAA4BC,GACxB,sBAAAC,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAM1G,GAAQ,OAAAH,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAEsC,OAFtCmG,EAAApG,KAAA,EAEbP,EAAS4G,GAAmC,IAAOD,EAAAnG,KAAA,EAC7CO,EAAAA,GAAewF,mBAAmBC,GAAgB,KAAD,EACvDR,EAAAA,EAAKa,kBAAkBL,GAAgBG,EAAAnG,KAAA,gBAAAmG,EAAApG,KAAA,EAAAoG,EAAApF,GAAAoF,EAAA,SAEvC3G,EAASyB,EAAAA,IAAa6C,gBAAeqC,EAAApF,KAAK,QAEU,OAFVoF,EAAApG,KAAA,GAE1CP,EAAS4G,GAAmC,IAAQD,EAAAG,OAAA,6BAAAH,EAAAhF,OAAA,GAAA+E,EAAA,wBAE3D,gBAAAK,GAAA,OAAAN,EAAA5E,MAAA,KAAAC,UAAA,EAVD,EAWJ,EA7CIkF,oCAqOJ,SAA6CC,GACzC,OAAO,SAAAjH,GACHA,EAASsD,EAAAA,EAAwB4D,2CAA2CrG,EAAAA,EAAaC,UACzFC,EAAAA,GAAeoG,kCAAkCF,GAC5C/C,MAAK,SAAC+C,GACHjH,EAASsD,EAAAA,EAAwB4D,2CAA2CrG,EAAAA,EAAaS,UACzFtB,EAASsD,EAAAA,EAAwB0D,oCAAoC,CACjEI,uBAAwBH,EAA8BG,uBACtDC,wBAAyBJ,EAA8BI,0BAE/D,IACCjD,OAAM,SAAAC,GACHrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,IACtCrE,EAASsD,EAAAA,EAAwB4D,2CAA2CrG,EAAAA,EAAaW,SAC7F,GACR,CACJ,GA/NA,SAASO,EAAoBuF,GACzB,MAAO,CACH7G,KAAMC,EAAAA,GAAY6G,qBAClBD,mBAAAA,EAER,CAoBA,SAASV,EAAmChC,GACxC,MAAO,CAAEnE,KAAMC,EAAAA,GAAY8G,gCAAiCnG,QAAS,CAAEuD,OAAAA,GAC3E,CAiCA,SAAS7B,EAA0B0E,GAC/B,MAAO,CACHhH,KAAMC,EAAAA,GAAYgH,6BAClBD,sBAAAA,EAER,CAmCA,SAAS3D,EAA4BJ,EAAQiE,GACzC,OAAO,SAAC3H,EAAUoC,GACd,IAAMjC,EAAUiC,IAAWjC,QAC3B,GAAIA,EAAQC,SAAWD,EAAQC,QAAQuD,QAAS,CAC5C,IAAMvD,GAAOkC,EAAAA,EAAAA,GAAA,GAAQnC,EAAQC,SAC7BA,EAAQuD,QAAUvD,EAAQuD,QAAQiE,KAAI,SAACC,GACnC,OAAIA,EAAKlD,KAAOgD,GACZrF,EAAAA,EAAAA,GAAA,GAAYoB,GAETmE,CACX,IACA7H,EAAS,CAAES,KAAMC,EAAAA,GAAYoH,4BAA6BzG,QAAS,CAAEjB,QAAAA,IACzE,CACJ,CACJ,CA4CA,SAASuF,EAA2BoC,GAChC,MAAO,CACHtH,KAAMC,EAAAA,GAAYsH,4CAClB3G,QAAS,CAAE0G,QAAAA,GAEnB,CAEA,SAASjC,EAA4BlF,GACjC,MAAO,CACHH,KAAMC,EAAAA,GAAYuH,4CAClB5G,QAAS,CAAET,aAAAA,GAEnB,CAEA,SAAS0F,EAA4B1F,GACjC,MAAO,CACHH,KAAMC,EAAAA,GAAYwH,4CAClB7G,QAAS,CAAET,aAAAA,GAEnB,C,qECjOME,GAAUqH,EAAAA,EAAAA,cAAa,oCACvBC,GAAgBD,EAAAA,EAAAA,cAAa,2CAC/B,SAAAE,GAAO,OAAI,SAACzH,GAAwD,OAChEyH,EAAQ,CAAEzH,aAAAA,EAAc0H,OADmCxG,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IAC7B,KAY5B2G,EAAuB,CAChC3H,QAAAA,EACAsH,cAAAA,EACAM,qBAbwBP,EAAAA,EAAAA,cAAa,4CACrC,SAAAE,GAAO,OAAI,SAACM,GAAkB,OAAKN,EAAQ,CAAEM,SAAAA,GAAW,KAaxDC,sBAXyBT,EAAAA,EAAAA,cACzB,oDACA,SAAAE,GAAO,OAAI,SAACQ,GAAoB,OAAKR,EAAQ,CAAEQ,MAAAA,GAAQ,K,qECVrDnJ,GAAOyI,EAAAA,EAAAA,cACT,yBACA,SAACE,GAAO,OAAK,SAACS,GAA6B,OACvCT,EAAQ,CAAES,qBAAAA,GAAuB,KAGnCC,GAAgBZ,EAAAA,EAAAA,cAClB,gCACA,SAACE,GAAO,OACJ,SAACW,EAAkBC,EAAqBC,GAAoB,OACxDb,EAAQ,CAAEW,SAAAA,EAAUC,SAAAA,EAAUC,UAAAA,GAAY,KAGhDC,GAAsBhB,EAAAA,EAAAA,cACxB,yCACA,SAACE,GAAO,OAAK,SAACe,GAAkB,OAAKf,EAAQ,CAAEe,WAAAA,GAAa,KAG1DC,GAAmBlB,EAAAA,EAAAA,cACrB,4BACA,SAACE,GAAO,OAAK,SAACiB,GAAmB,OAAKjB,EAAQ,CAAEiB,WAAAA,GAAa,KAG3DC,GAAyBpB,EAAAA,EAAAA,cAC3B,mCACA,SAACE,GAAO,OAAK,SAACW,GAAgB,OAAKX,EAAQ,CAAEW,SAAAA,GAAW,KAGtDQ,GAAiBrB,EAAAA,EAAAA,cACnB,+BACA,SAACE,GAAO,OAAK,SAACiB,GAAkB,OAAKjB,EAAQ,CAAEiB,WAAAA,GAAa,KAG1DG,GAAuBtB,EAAAA,EAAAA,cACzB,sCACA,SAACE,GAAO,OAAK,SAACW,GAAgB,OAAKX,EAAQ,CAAEW,SAAAA,GAAW,KAGtDU,GAAiBvB,EAAAA,EAAAA,cACnB,6BACA,SAACE,GAAO,OAAK,SAACsB,GAAkB,OAAKtB,EAAQ,CAAEsB,YAAAA,GAAc,KAG3DC,GAAiBzB,EAAAA,EAAAA,cACnB,6BACA,SAACE,GAAO,OAAK,SAACW,GAAgB,OAAKX,EAAQ,CAAEW,SAAAA,GAAW,KAGtDa,GAAgB1B,EAAAA,EAAAA,cAClB,gCACA,SAACE,GAAO,OAAK,SAACiB,GAAkB,OAAKjB,EAAQ,CAAEiB,WAAAA,GAAa,KA+BnDQ,EAAkB,CAC3BpK,KAAAA,EACAqJ,cAAAA,EACAI,oBAAAA,EACAE,iBAAAA,EACAE,uBAAAA,EACAC,eAAAA,EACAC,qBAAAA,EACAM,gBApCmB5B,EAAAA,EAAAA,cACnB,2BACA,SAACE,GAAO,OAAK,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAmClEC,sBAhCyB9B,EAAAA,EAAAA,cACzB,kCACA,SAACE,GAAO,OAAK,SAAC6B,GAAc,OAAK7B,EAAQ,CAAE6B,SAAAA,GAAW,KA+BtDC,oBA5BuBhC,EAAAA,EAAAA,cACvB,mCACA,SAACE,GAAO,OAAK,SAAC6B,GAAc,OAAK7B,EAAQ,CAAE6B,SAAAA,GAAW,KA2BtDR,eAAAA,EACAE,eAAAA,EACAC,cAAAA,EACAO,YA3BejC,EAAAA,EAAAA,cACf,2BACA,SAACE,GAAO,OAAK,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KA0BlEK,kBAvBqBlC,EAAAA,EAAAA,cAAa,8BAwBlC/E,OAtBU+E,EAAAA,EAAAA,cAAa,kB,sEC1ErBmC,GAAgBnC,EAAAA,EAAAA,cAAa,mCAC7BoC,GAAsBpC,EAAAA,EAAAA,cACxB,0CACA,SAAAE,GAAO,OAAI,SAACmC,GAAiE,OAAKnC,EAAQ,CAAEmC,cAAAA,EAAeC,eAAnC3I,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IAAiD,KAmBnH4I,EAAwB,CACjCJ,cAAAA,EACAC,oBAAAA,EACA1B,OApBUV,EAAAA,EAAAA,cACV,iCACA,SAAAE,GAAO,OAAI,SAACQ,GAAoB,OAAKR,EAAQ,CAAEQ,MAAAA,GAAQ,KAmBvD8B,wBAjB2BxC,EAAAA,EAAAA,cAC3B,oDACA,SAAAE,GAAO,OACH,SAACuC,EAAiBC,EAA8CC,GAA6C,OACzGzC,EAAQ,CAAEuC,QAAAA,EAASC,sBAAAA,EAAuBC,uBAAAA,GAAyB,K,sECNzEC,GAAwB5C,EAAAA,EAAAA,cAC1B,mDACA,SAAAE,GAAO,OAAI,WAA2C,OAAKA,EAAQ,CAAE2C,0BAAvBlJ,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,IAAmD,KAE/FmJ,GAAwB9C,EAAAA,EAAAA,cAC1B,mDACA,SAAAE,GAAO,OAAI,SACP6C,EACAC,EACAlC,EACAmC,GAAc,OACb/C,EAAQ,CAAE6C,YAAAA,EAAaC,WAAAA,EAAYlC,SAAAA,EAAUmC,MAAAA,GAAQ,KAExDC,GAAwBlD,EAAAA,EAAAA,cAC1B,mDACA,SAAAE,GAAO,OAAI,SAACiD,EAAgBC,EAAoBC,GAAgB,OAAKnD,EAAQ,CAAEiD,OAAAA,EAAQC,SAAAA,EAAUC,QAAAA,GAAU,KAEzGC,GAAkCtD,EAAAA,EAAAA,cACpC,+DACA,SAAAE,GAAO,OAAI,SAACkD,EAAoBC,GAAgB,OAAKnD,EAAQ,CAAEkD,SAAAA,EAAUC,QAAAA,GAAU,KAEjFE,GAA2BvD,EAAAA,EAAAA,cAC7B,uDACA,SAAAE,GAAO,OAAI,SAACmD,GAAgB,OAAKnD,EAAQ,CAAEmD,QAAAA,GAAU,KAEnDG,GAAgBxD,EAAAA,EAAAA,cAClB,8CACA,SAAAE,GAAO,OAAI,SAACiD,EAAgBM,EAAcnL,GAA2B,OAAK4H,EAAQ,CAAEiD,OAAAA,EAAQM,KAAAA,EAAMnL,KAAAA,GAAO,KAEvGoL,GAAgC1D,EAAAA,EAAAA,cAClC,4DACA,SAAAE,GAAO,OAAI,SAACyD,GAAwB,OAAKzD,EAAQ,CAAEyD,YAAAA,GAAc,KAE/DC,GAAyB5D,EAAAA,EAAAA,cAC3B,oDACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAE3DoH,GAAoC7D,EAAAA,EAAAA,cACtC,gEACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAE3DqH,GAAoC9D,EAAAA,EAAAA,cACtC,gEACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAG3DsH,GAAuB/D,EAAAA,EAAAA,cACzB,kDACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAG3DuH,GAAuBhE,EAAAA,EAAAA,cACzB,kDACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAG3DwH,GAAmCjE,EAAAA,EAAAA,cACrC,+DACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAG3DyH,GAAoBlE,EAAAA,EAAAA,cACtB,+CACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAE3D0H,GAAyBnE,EAAAA,EAAAA,cAC3B,oDACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAE3D2H,GAA8BpE,EAAAA,EAAAA,cAChC,yDACA,SAAAE,GAAO,OAAI,SAACzD,GAAyB,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAE3D4H,GAA6BrE,EAAAA,EAAAA,cAC/B,yDACA,SAAAE,GAAO,OAAI,SAACoE,GAAmC,OAAKpE,EAAQ,CAAEoE,uBAAAA,GAAyB,KAErFC,GAA+BvE,EAAAA,EAAAA,cACjC,sDACA,SAAAE,GAAO,OAAI,SAACsE,GAAsC,OAAKtE,EAAQ,CAAEsE,0BAAAA,GAA4B,KAE3FC,GAAgCzE,EAAAA,EAAAA,cAClC,4DACA,SAAAE,GAAO,OAAI,SAACwE,GAA6B,OAAKxE,EAAQ,CAAEwE,iBAAAA,GAAmB,KAEzEC,GAAwC3E,EAAAA,EAAAA,cAC1C,qEACA,SAAAE,GAAO,OAAI,SAAC0E,GAAkC,OAAK1E,EAAQ,CAAE0E,sBAAAA,GAAwB,KAEnFC,GAAoC7E,EAAAA,EAAAA,cACtC,gEACA,SAAAE,GAAO,OAAI,SAAC4E,GAA0C,OAAK5E,EAAQ,CAAE4E,oBAAAA,GAAsB,KAEzFC,GAAiC/E,EAAAA,EAAAA,cACnC,6DACA,SAAAE,GAAO,OAAI,SAAC8E,GAAqC,OAAK9E,EAAQ,CAAE8E,kBAAAA,GAAoB,KAGlFC,GAA2BjF,EAAAA,EAAAA,cAC7B,sDACA,SAAAE,GAAO,OAAI,SAACgF,GAA0B,OAAKhF,EAAQ,CAAEgF,cAAAA,GAAgB,KAGnEC,GAA+BnF,EAAAA,EAAAA,cACjC,2DACA,SAAAE,GAAO,OAAI,SAACkF,GAA6C,OAAKlF,EAAQ,CAAEkF,yBAAAA,GAA2B,KAGjGC,GAAqCrF,EAAAA,EAAAA,cACvC,kEACA,SAAAE,GAAO,OAAI,SAACoF,GAA6C,OAAKpF,EAAQ,CAAEoF,yBAAAA,GAA2B,KAGjGC,GAAsCvF,EAAAA,EAAAA,cACxC,mEACA,SAAAE,GAAO,OAAI,SAACoF,GAA6C,OAAKpF,EAAQ,CAAEoF,yBAAAA,GAA2B,KAGjGE,GAA0BxF,EAAAA,EAAAA,cAC5B,sDACA,SAAAE,GAAO,OAAI,SAACuF,GAA+C,OAAKvF,EAAQ,CAAEuF,oBAAAA,GAAsB,KAG9FC,GAAqC1F,EAAAA,EAAAA,cACvC,kEACA,SAAAE,GAAO,OAAI,SAACyF,GAA0D,OAAKzF,EAAQ,CAAEyF,+BAAAA,GAAiC,KAGpHC,GAAyB5F,EAAAA,EAAAA,cAC3B,oDACA,SAAAE,GAAO,OAAI,SAAC2F,GAAgD,OAAK3F,EAAQ,CAAE2F,yBAAAA,GAA2B,KAGpGC,GAA+B9F,EAAAA,EAAAA,cACjC,2DACA,SAAAE,GAAO,OAAI,SAAC6F,GAA6C,OAAK7F,EAAQ,CAAE6F,kBAAAA,GAAoB,KAG1FC,GAA+BhG,EAAAA,EAAAA,cACjC,2DACA,SAAAE,GAAO,OAAI,SAAC+F,GAAuC,OAAK/F,EAAQ,CAAE+F,mBAAAA,GAAqB,KAGrFC,GAAgClG,EAAAA,EAAAA,cAClC,4DACA,SAAAE,GAAO,OAAI,SAACiG,GAAuC,OAAKjG,EAAQ,CAAEiG,mBAAAA,GAAqB,KAGrFC,GAAmCpG,EAAAA,EAAAA,cAAa,6DAChDqG,GAAgCrG,EAAAA,EAAAA,cAAa,2DAC7CsG,GAA4BtG,EAAAA,EAAAA,cAC9B,uDACA,SAAAE,GAAO,OAAI,SAACqG,GAAiC,OAAKrG,EAAQ,CAAEqG,yBAAAA,GAA2B,KAErFC,GAAsBxG,EAAAA,EAAAA,cACxB,gDACA,SAAAE,GAAO,OAAI,SAACqG,GAAiC,OAAKrG,EAAQ,CAAEqG,yBAAAA,GAA2B,KAGrFE,GAA0BzG,EAAAA,EAAAA,cAAa,oDACvC0G,GAA0B1G,EAAAA,EAAAA,cAAa,oDACvC2G,GAAwB3G,EAAAA,EAAAA,cAAa,kDACrC4G,GAA4B5G,EAAAA,EAAAA,cAAa,sDACzC6G,GAA0B7G,EAAAA,EAAAA,cAAa,oDACvC8G,GAA2B9G,EAAAA,EAAAA,cAAa,qDACxC+G,GAAsB/G,EAAAA,EAAAA,cAAa,gDACnCgH,GAAoBhH,EAAAA,EAAAA,cAAa,6CACjCiH,GAAoBjH,EAAAA,EAAAA,cAAa,6CACjCkH,GAAgBlH,EAAAA,EAAAA,cAAa,yCAC7BmH,GAAqCnH,EAAAA,EAAAA,cAAa,sDAClDoH,GAAqCpH,EAAAA,EAAAA,cAAa,sDAClDqH,GAAqCrH,EAAAA,EAAAA,cAAa,sDAkD3CsH,EAAgC,CACzC1E,sBAAAA,EACAE,sBAAAA,EACAI,sBAAAA,EACAI,gCAAAA,EACAC,yBAAAA,EACAC,cAAAA,EACAE,8BAAAA,EACAE,uBAAAA,EACAC,kCAAAA,EACAO,4BAAAA,EACAC,2BAAAA,EACAE,6BAAAA,EACAE,8BAAAA,EACAE,sCAAAA,EACAE,kCAAAA,EACAE,+BAAAA,EACAE,yBAAAA,EACAE,6BAAAA,EACAE,mCAAAA,EACAE,oCAAAA,EACAC,wBAAAA,EACAE,mCAAAA,EACAE,uBAAAA,EACAE,6BAAAA,EACAE,6BAAAA,EACAE,8BAAAA,EACAhC,kBAAAA,EACAC,uBAAAA,EACAL,kCAAAA,EACAC,qBAAAA,EACAC,qBAAAA,EACAC,iCAAAA,EACAmC,iCAAAA,EACAC,8BAAAA,EACAC,0BAAAA,EACAG,wBAAAA,EACAD,oBAAAA,EACAE,wBAAAA,EACAC,sBAAAA,EACAC,0BAAAA,EACAC,wBAAAA,EACAC,yBAAAA,EACAE,kBAAAA,EACAC,kBAAAA,EACAF,oBAAAA,EACAG,cAAAA,EACAK,aAhGgBvH,EAAAA,EAAAA,cAAa,uCAiG7BwH,6BAhGgCxH,EAAAA,EAAAA,cAAa,yDAiG7CyH,kBAhGqBzH,EAAAA,EAAAA,cAAa,6CAiGlC0H,aAhGgB1H,EAAAA,EAAAA,cAAa,uCAiG7B2H,aAhGgB3H,EAAAA,EAAAA,cAAa,uCAiG7B4H,6BAhGgC5H,EAAAA,EAAAA,cAAa,yDAiG7C6H,6BAhGgC7H,EAAAA,EAAAA,cAChC,yDACA,SAAAE,GAAO,OAAI,SAAC4H,GAAkC,OAAK5H,EAAQ,CAAE4H,iBAAAA,GAAmB,KA+FhFC,6BA7FgC/H,EAAAA,EAAAA,cAAa,yDA8F7CmH,mCAAAA,EACAC,mCAAAA,EACAC,mCAAAA,EACAW,8BAhGiChI,EAAAA,EAAAA,cAAa,2DAC9C,SAAAE,GAAO,OAAI,SAAC+H,GAAqC,OAAK/H,EAAQ,CAAE+H,QAAAA,GAAU,KAgG1EC,8BA9FiClI,EAAAA,EAAAA,cAAa,0DA+F9C/E,OA9FU+E,EAAAA,EAAAA,cAAa,gCA+FvBmI,2BA9F8BnI,EAAAA,EAAAA,cAAa,uDAC3C,SAAAE,GAAO,OAAI,SAACkI,GAAyC,OAAKlI,EAAQ,CAAEkI,sBAAAA,GAAwB,KA8F5FC,4BA5F+BrI,EAAAA,EAAAA,cAAa,wDA6F5CsI,iCA5FoCtI,EAAAA,EAAAA,cAAa,qDACjD,SAAAE,GAAO,OAAI,SAACqI,EAA6BC,EAA+BC,GAAkC,OACtGvI,EAAQ,CAAEqI,oBAAAA,EAAqBC,UAAAA,EAAWC,eAAAA,GAAiB,KA2F/DC,uCA1F0C1I,EAAAA,EAAAA,cAAa,2DACvD,SAAAE,GAAO,OAAI,SAACsI,EAAyBC,GAA4B,OAC7DvI,EAAQ,CAAEsI,UAAAA,EAAWC,eAAAA,GAAiB,KAyF1CE,6BAxFgC3I,EAAAA,EAAAA,cAChC,yDACA,SAAAE,GAAO,OACH,SACI0I,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAAoC,OAEpChJ,EAAQ,CACJ0I,uBAAAA,EACAC,4BAAAA,EACAC,4BAAAA,EACAC,4BAAAA,EACAC,oBAAAA,EACAC,oBAAAA,EACAC,2BAAAA,GACF,K,8PClMP,SAASC,EAAiBC,GAC7B,OAAO,SAACvR,GACJ,OAAQuR,EAAKC,OAAOC,YAChB,KAAKC,EAAAA,EAAsBC,OAC3B,KAAKD,EAAAA,EAAsBE,UACvB5R,EA+EhB,SAAqBL,GAAiE,IAA9DkS,EAAiBlS,EAAjBkS,kBAAmBL,EAAM7R,EAAN6R,OAAQM,EAAGnS,EAAHmS,IAAKC,EAAQpS,EAARoS,SAGpD,OAFAC,EAAAA,EAAOC,MAAM,kBAADC,OAAmBJ,EAAIK,QAE5B,SAACnS,EAAqBoC,GAMzB,GALApC,EAASoS,EAAOP,EAAmBL,EAAOa,WAAab,EAAQM,IAC/D9R,EAASsS,EAAAA,EAAmBC,IACxB,CAAEC,aAAc,IAAIC,KAAQJ,WAAYb,EAAOa,WAAYR,kBAAAA,GAC3Da,EAAAA,EAAyBf,SAEzB3L,EAAAA,EAAK2M,SAASC,EAAAA,GAAMC,eAAsC,MAArBrB,EAAOa,WAAoB,CAChE,IAAAS,EAAyC1Q,IAAW2Q,cAA5CC,EAAUF,EAAVE,WAAYC,EAAgBH,EAAhBG,iBAGpB,MAF6BA,GAAoBC,OAAOC,KAAKF,GAAkB1K,QAAU0K,EAAiBzB,EAAOa,aAE1F,CACnB,IAAMe,EAAWJ,EAAWK,MAAK,SAAAC,GAAC,OAAIA,EAAE3O,KAAO6M,EAAOa,UAAU,IAChE,GAAIe,EAAU,CACV,IAAAG,GAAiCC,EAAAA,EAAAA,IAA4B,CAAER,WAAY,CAACI,KAArEK,GAAiFC,EAAAA,EAAAA,GAAAH,EAAA,GAA3D,GAC7BI,EAAeC,EAAAA,GAAaC,eAAeJ,EAAuBK,KAAMC,EAAAA,EAASC,MAA1EC,GAA+EP,EAAAA,EAAAA,GAAAC,EAAA,GAA3E,GACPM,IAASA,EAAK9B,QAAUL,EAAIK,QAC5BnS,EAASkU,EAAAA,IAAqBC,6BAA6B3C,EAAOa,WAAYuB,EAAAA,GAAaQ,wBAAwBtC,KACnH9R,EAASkU,EAAAA,IAAqBG,cAAa,IAC3CrU,EAASsU,EAAAA,IAAoBC,aACzB,uBAAuB,8HAADrC,OACwGJ,EAAI1R,QAAQoU,KAAI,4CAAAtC,OACnIH,EAAQ,2CAAAG,OACRkB,EAASqB,OAAM,KAAAvC,OAAIwC,EAAAA,GAAWC,WAAWvB,EAASxH,MAAM,GAAK,MAAAsG,OAAK0C,EAAAA,GAAYC,UAAU/C,EAAIK,UAGnH,CACJ,CACJ,CACJ,CACJ,CA/GyB2C,CAAavD,IACtB,MACJ,KAAKG,EAAAA,EAAsBqD,iBACvB/U,EA2IhB,SAA8ByG,GAAiH,IAA9GoL,EAAiBpL,EAAjBoL,kBAAmBL,EAAM/K,EAAN+K,OAAQwD,EAAKvO,EAALuO,MAAOC,EAAIxO,EAAJwO,KAAMC,EAAKzO,EAALyO,MAAOC,EAAY1O,EAAZ0O,aAAcC,EAAS3O,EAAT2O,UAAWhV,EAAOqG,EAAPrG,QAErG,OADA4R,EAAAA,EAAOC,MAAM,mCAADC,OAAoC8C,EAAK,UAAA9C,OAAS+C,EAAI,WAAA/C,OAAUgD,IACrEG,EAAgBxD,EAAmBL,EAAOa,WAAab,EAAQ2D,EAAcH,EAAOC,EAAMC,EAAOE,EAAWhV,EACvH,CA9IyBkV,CAAsB/D,IAC/B,MACJ,KAAKG,EAAAA,EAAsB6D,UACvBvV,EAgJhB,SAAqBwE,GAA+D,IAA5DqN,EAAiBrN,EAAjBqN,kBAAmBL,EAAMhN,EAANgN,OAAQgE,EAAShR,EAATgR,UAG/C,OAFAxD,EAAAA,EAAOC,MAAM,yBAADC,OAA0BsD,EAAUC,OAEzC,CACHhV,KAAMC,EAAAA,GAAYgV,sBAClB7D,kBAAAA,EACAQ,WAAYb,EAAOa,WACnBmD,UAAAA,EACAG,cAAenE,EAEvB,CA1JyBoE,CAAarE,IACtB,MACJ,KAAKG,EAAAA,EAAsBmE,cAC3B,KAAKnE,EAAAA,EAAsBoE,eACvB9V,EAmKhB,SAA4BmF,GAAkE,IAA/D0M,EAAiB1M,EAAjB0M,kBAAmBL,EAAMrM,EAANqM,OAAQuE,EAAQ5Q,EAAR4Q,SAEtD,OADA/D,EAAAA,EAAOC,MAAM,yBAADC,OAA0B6D,EAASA,WACxC,SAAC/V,GAMJ,GALAA,EAASsS,EAAAA,EAAmBC,IACxB,CAAEC,aAAc,IAAIC,KAAQJ,WAAYb,EAAOa,WAAYR,kBAAAA,GAC3Da,EAAAA,EAAyBsD,WAGzBD,EAASf,MACT,OAAOhV,EAASiW,EAAcpE,EAAmBkE,EAAUvE,EAAQA,EAAOa,aAG9E,IAAMvR,EAAsB,CACxBoV,eAAgBC,EAAAA,EAAeC,UAC/BC,QAAS,IAAI5D,MAGjBzS,EAASsW,EAAWzE,EAAmB/Q,EAAS0Q,EAAQA,EAAOa,YACnE,CACJ,CAtLyBkE,CAAoBhF,IAC7B,MACJ,KAAKG,EAAAA,EAAsB8E,YACvBxW,EAwLhB,SAAoByW,GAAkE,IAA/D5E,EAAiB4E,EAAjB5E,kBAAmBL,EAAMiF,EAANjF,OAAQkF,EAAWD,EAAXC,YAG9C,OAFA1E,EAAAA,EAAOC,MAAM,uBAADC,OAAwBwE,IAE7B,CACHjW,KAAMC,EAAAA,GAAYiW,uBAClB9E,kBAAAA,EACAQ,WAAYb,EAAOa,WACnBqE,YAAAA,EAER,CAjMyBA,CAAYnF,IACrB,MACJ,KAAKG,EAAAA,EAAsBkF,WACvB5W,EAuMhB,SAAyB6W,GAAmE,IAAhEhF,EAAiBgF,EAAjBhF,kBAAmBL,EAAMqF,EAANrF,OAAQsF,EAAYD,EAAZC,aAEnD,OADA9E,EAAAA,EAAOC,MAAM,qBAADC,OAAsBL,EAAiB,MAAAK,OAAK4E,IACjDC,EAAWlF,EAAmBL,EAAOa,WAAab,EAAQsF,EACrE,CA1MyBE,CAAiBzF,IAC1B,MACJ,KAAKG,EAAAA,EAAsBuF,eACvBjX,EA4MhB,SAAckX,GAAuD,IAApDrF,EAAiBqF,EAAjBrF,kBAAmBL,EAAM0F,EAAN1F,OAAQ3I,EAAKqO,EAALrO,MAExC,OADAmJ,EAAAA,EAAOC,MAAM,eACN,SAACjS,GACJA,EAASmX,EAAYtF,EAAmBL,EAAOa,WAAab,EAAQ3I,IACpE7I,EAASoX,IACb,CACJ,CAlNyBvO,CAAM0I,IACf,MACJ,KAAKG,EAAAA,EAAsB2F,cAG3B,KAAK3F,EAAAA,EAAsB4F,cACvBtX,EAASuX,EAAYhG,IACrB,MACJ,KAAKG,EAAAA,EAAsB8F,kBACvBxX,EAkPhB,SAAgCyX,GAAiF,IAA9E5F,EAAiB4F,EAAjB5F,kBAAmBL,EAAMiG,EAANjG,OAAQkG,EAAmBD,EAAnBC,oBAE1D,OADA1F,EAAAA,EAAOC,MAAM,4BAADC,OAA6BL,EAAiB,MAAAK,OAAKwF,IACxDC,EAAkB9F,EAAmBL,EAAQkG,EACxD,CArPyBE,CAAwBrG,IACjC,MACJ,KAAKG,EAAAA,EAAsBmG,sBACvB7X,EA+PhB,SAAoC8X,GAAwE,IAArEjG,EAAiBiG,EAAjBjG,kBAAmBL,EAAMsG,EAANtG,OAAQuG,EAAMD,EAANC,OAE9D,OADA/F,EAAAA,EAAOC,MAAM,qBACN+F,EAAanG,EAAmBL,EAAQuG,EACnD,CAlQyBE,CAA4B1G,IACrC,MACJ,KAAKG,EAAAA,EAAsBwG,QACvBlY,EAASmY,EAAwB5G,EAAM6G,EAAAA,EAAWC,UAClD,MACJ,KAAK3G,EAAAA,EAAsB4G,SACvBtY,EAASmY,EAAwB5G,EAAM6G,EAAAA,EAAWG,WAClD,MACJ,KAAK7G,EAAAA,EAAsB8G,SACvBxY,EAASmY,EAAwB5G,EAAM6G,EAAAA,EAAWK,WAClD,MAKJ,KAAK/G,EAAAA,EAAsBgH,uBACvB1Y,EAuRhB,SAAuC2Y,GAAiG,IAA9F9G,EAAiB8G,EAAjB9G,kBAAmB+G,EAAgBD,EAAhBC,iBAAkBC,EAAuBF,EAAvBE,wBAAyBrH,EAAMmH,EAANnH,OAEpG,OADAQ,EAAAA,EAAOC,MAAM,oCACN,SAACjS,GACJA,EAAS8Y,EAAAA,EAAmBC,YAAYlH,EAAmBgH,EAAyBD,IACpF5Y,EAASgZ,EAAyBnH,EAAmBL,EAAQqH,EAAyBD,IACtF5Y,EAASsS,EAAAA,EAAmBC,IACxB,CAAEC,aAAc,IAAIC,KAAQJ,WAAYb,EAAOa,WAAYR,kBAAAA,GAC3Da,EAAAA,EAAyBuG,iBAEjC,CACJ,CAjSyBC,CAA+B3H,IACxC,MACJ,KAAKG,EAAAA,EAAsByH,uBACvBnZ,EAqShB,SAAwCoZ,GAA2C,IAAxCvH,EAAiBuH,EAAjBvH,kBAAmBL,EAAM4H,EAAN5H,OAE1D,OADAQ,EAAAA,EAAOC,MAAM,wBAADC,OAAyBL,IAC9B,SAAC7R,GACJA,EAAS8Y,EAAAA,EAAmB1V,MAAMyO,IAClC7R,EAASqZ,EAA0BxH,EAAmBL,IACtDxR,EAASsS,EAAAA,EAAmBC,IACxB,CAAEC,aAAc,IAAIC,KAAQJ,WAAYb,EAAOa,WAAYR,kBAAAA,GAC3Da,EAAAA,EAAyB4G,iBAEjC,CACJ,CA/SyBC,CAAgChI,IACzC,MACJ,KAAKG,EAAAA,EAAsB8H,uBACvBxZ,EAwThB,SAAqCyZ,GAAqF,IAAlF5H,EAAiB4H,EAAjB5H,kBAAmB6H,EAAKD,EAALC,MAAOC,EAAWF,EAAXE,YAAanI,EAAMiI,EAANjI,OAG3E,OAFAQ,EAAAA,EAAOC,MAAM,gCAADC,OAAiCwH,IAEtC,SAAC1Z,GACJA,EAAS8Y,EAAAA,EAAmBc,kBAAkB/H,EAAmBL,EAAOa,WAAaqH,EAAOC,EAAanI,EAAOqI,cAChH7Z,EAAS8Z,EAAuBjI,EAAmBL,EAAOa,WAAaqH,EAAOC,EAAanI,EAAOqI,aACtG,CACJ,CA/TyBE,CAA6BxI,IACtC,MACJ,KAAKG,EAAAA,EAAsBsI,yBACvBha,EAiUhB,SAA0Cia,GAAyF,IAAtFpI,EAAiBoI,EAAjBpI,kBAAmBqI,EAAyBD,EAAzBC,0BAG5D,OAFAlI,EAAAA,EAAOC,MAAM,qCAEN,CACHxR,KAAMC,EAAAA,GAAYyZ,+BAClBtI,kBAAAA,EACAuI,SAAUF,EAElB,CAzUyBG,CAAkC9I,IAC3C,MACJ,KAAKG,EAAAA,EAAsB4I,mBACvBta,EAmVhB,SAAkCuR,GAE9B,OADAS,EAAAA,EAAOC,MAAM,gCACN,SAACjS,GAAyB,IAADua,EACtBjE,EAAoC,QAA1BiE,EAAGhJ,EAAKiJ,0BAAkB,IAAAD,EAAAA,EAAIhJ,EAAKkJ,yBACjC,MAAdnE,GACAtW,EAASwa,EAAmBjJ,EAAKM,kBAAmByE,GAE5D,CACJ,CA3VyBoE,CAAyBnJ,IAClC,MACJ,KAAKG,EAAAA,EAAsBiJ,mBACvB3a,EAASyI,EAAAA,EAAqBG,qBAAqB2I,EAAK1I,QACxD,MACJ,KAAK6I,EAAAA,EAAsBkJ,wBACvB5a,EA0VhB,SAAmC6a,GAAsE,IAAnEhJ,EAAiBgJ,EAAjBhJ,kBAAmBE,EAAQ8I,EAAR9I,SAAUP,EAAMqJ,EAANrJ,OAC/D,OAAOc,EAAAA,EAAmBC,IACtB,CAAEC,aAAc,IAAIC,KAAQZ,kBAAAA,EAAmBxQ,QAAS,CAAE0Q,SAAAA,EAAU+I,iBAAkBC,OAAOvJ,EAAOnQ,WACpGqR,EAAAA,EAAyBkI,wBAEjC,CA/VyBI,CAA2BzJ,IACpC,MACJ,QACI,OAAO,KAEnB,CACJ,CAEA,IAAMa,GAAS6I,EAAAA,EAAAA,oBAAmB,qBAAqB,SAAAxa,GAAI,OACvD,SAACoR,EAA2BQ,EAAoBsD,EAAkC7D,GAAQ,MACrF,CAAErR,KAAAA,EAAMoR,kBAAAA,EAAmBQ,WAAAA,EAAYsD,cAAAA,EAAe7D,IAAAA,EAAK,CAAC,IAsCrE,IAAMuD,GAAkB4F,EAAAA,EAAAA,oBAAmB,+BAA+B,SAAAxa,GAAI,OAAI,SAC9EoR,EACAQ,EACAsD,EACAR,EACAH,EACAC,EACAC,EACAE,EACAhV,GAAoB,MAAM,CACtBK,KAAAA,EACAoR,kBAAAA,EACAQ,WAAAA,EACAsD,cAAAA,EACAR,aAAAA,EACAH,MAAAA,EACAC,KAAAA,EACAC,MAAAA,EACAE,UAAAA,EACAhV,QAAAA,EACH,CAAC,IA6BN,IAAM6V,GAAgBgF,EAAAA,EAAAA,oBAAmB,4BAA4B,SAAAxa,GAAI,OACrE,SAACoR,EAA2BkE,EAAoBJ,EAAkCtD,GAAmB,MAChG,CAAE5R,KAAAA,EAAMoR,kBAAAA,EAAmBkE,SAAAA,EAAUJ,cAAAA,EAAetD,WAAAA,EAAY,CAAC,IAEpEiE,GAAa2E,EAAAA,EAAAA,oBAAmB,kCAAkC,SAAAxa,GAAI,OACxE,SAACoR,EAA2ByE,EAAwBX,EAAkCtD,GAAmB,MACpG,CAAE5R,KAAAA,EAAMoR,kBAAAA,EAAmByE,WAAAA,EAAYX,cAAAA,EAAetD,WAAAA,EAAY,CAAC,IAwC5E,IAAM0E,GAAakE,EAAAA,EAAAA,oBAAmB,yBAAyB,SAAAxa,GAAI,OAC/D,SAACoR,EAA2BQ,EAAoBsD,EAAkCmB,GAAqB,MAClG,CAAErW,KAAAA,EAAMoR,kBAAAA,EAAmBQ,WAAAA,EAAYsD,cAAAA,EAAemB,aAAAA,EAAc,CAAC,IAqB9E,SAASM,IACL,OAAO,SAACpX,GACAgG,EAAAA,EAAK2M,SAASC,EAAAA,GAAMsI,mBAAoBtI,EAAAA,GAAMC,eAC9C7S,EAASmb,EAAAA,IAAoB/D,sBAErC,CACJ,CAKA,SAASG,EAAW6D,GAA6D,IAA1DvJ,EAAiBuJ,EAAjBvJ,kBAAmBL,EAAM4J,EAAN5J,OAAQ3I,EAAKuS,EAALvS,MAG9C,OAFAmJ,EAAAA,EAAOC,MAAM,uBAADC,OAAwBrJ,EAAMjE,SAEnC,SAAC5E,GACJA,EAASmX,EAAYtF,EAAmBL,EAAOa,WAAab,EAAQ3I,IAEhE7C,EAAAA,EAAK2M,SAASC,EAAAA,GAAMsI,mBAAoBtI,EAAAA,GAAMC,eAC9C7S,EAASmb,EAAAA,IAAoBE,2BACzB,CAAC7J,EAAOa,YACRxJ,EAAMjE,OACNiE,EAAMyS,cAGlB,CACJ,CAEA,IAAMnE,GAAc8D,EAAAA,EAAAA,oBAAmB,mBAAmB,SAAAxa,GAAI,OAC1D,SAACoR,EAA2BQ,EAAoBsD,EAAkC9M,GAAY,MACzF,CAAEpI,KAAAA,EAAMoR,kBAAAA,EAAmB8D,cAAAA,EAAe9M,MAAAA,EAAOwJ,WAAAA,EAAY,CAAC,IAGjEsF,GAAoBsD,EAAAA,EAAAA,oBAAmB,gCAAgC,SAAAxa,GAAI,OAC7E,SAACoR,EAA2B8D,EAAkC+B,GAA4B,MACrF,CAAEjX,KAAAA,EAAMoR,kBAAAA,EAAmB6F,oBAAAA,EAAqB/B,cAAAA,EAAe,CAAC,IAgBzE,IAAMqC,GAAeiD,EAAAA,EAAAA,oBAAmB,2BAA2B,SAAAxa,GAAI,OACnE,SAACoR,EAA2B8D,EAAkCoC,GAAwB,MACjF,CAAEtX,KAAAA,EAAMoR,kBAAAA,EAAmBkG,OAAAA,EAAQpC,cAAAA,EAAe,CAAC,IAQ5D,IAAM4F,GAAoBN,EAAAA,EAAAA,oBAAmB,gCAAgC,SAAAxa,GAAI,OAC7E,SAACoR,EAA2B8D,EAAkC6F,GAAsB,MAC/E,CAAE/a,KAAAA,EAAMoR,kBAAAA,EAAmB8D,cAAAA,EAAe6F,WAAAA,EAAY,CAAC,IAGhE,SAASrD,EAAuBsD,EAA0CD,GAAyB,IAAhE3J,EAAiB4J,EAAjB5J,kBAAmBL,EAAMiK,EAANjK,OAGlD,OAFAQ,EAAAA,EAAOC,MAAM,8BAADC,OAA+BsJ,IAEpC,SAACxb,GACJA,EAAS8Y,EAAAA,EAAmB1V,MAAMyO,IAClC7R,EAASub,EAAkB1J,EAAmBL,EAAQgK,IACtDxb,EAASsS,EAAAA,EAAmBC,IACxB,CAAEC,aAAc,IAAIC,KAAQZ,kBAAAA,GAC5Ba,EAAAA,EAAyBgJ,oBAE7B1b,EAAS2b,EAAAA,IAAeC,iBAAiB/J,EAAmB2J,IACxDA,IAAepD,EAAAA,EAAWG,UAC1BvY,EAASoX,IAEjB,CACJ,CAQA,IAAM4B,GAA2BiC,EAAAA,EAAAA,oBAAmB,yCAAyC,SAAAxa,GAAI,OAAI,SACjGoR,EACA8D,EACAkD,EACAD,GAAuB,MACtB,CAAEnY,KAAAA,EAAMoR,kBAAAA,EAAmB8D,cAAAA,EAAekD,wBAAAA,EAAyBD,iBAAAA,EAAkB,CAAC,IAc3F,IAAMS,GAA4B4B,EAAAA,EAAAA,oBAAmB,0CAA0C,SAAAxa,GAAI,OAC/F,SAACoR,EAA2B8D,GAAgC,MACvD,CAAElV,KAAAA,EAAMoR,kBAAAA,EAAmB8D,cAAAA,EAAe,CAAC,IAoBpD,IAAMmE,GAAyBmB,EAAAA,EAAAA,oBAAmB,uCAAuC,SAAAxa,GAAI,OACzF,SAACoR,EAA2BQ,EAAoBqH,EAAeC,EAAsBE,GAAiB,MACjG,CAAEpZ,KAAAA,EAAMoR,kBAAAA,EAAmBQ,WAAAA,EAAYqH,MAAAA,EAAOC,YAAAA,EAAaE,YAAAA,EAAa,CAAC,IAyBlF,IAAMW,GAAqBS,EAAAA,EAAAA,oBAAmB,yBAC1C,SAAAxa,GAAI,OAAI,SAACoR,EAA2B2I,GAAkE,MACjG,CAAE/Z,KAAAA,EAAMoR,kBAAAA,EAAmB2I,mBAAAA,EAAoB,CAAC,IA6BlD,IAAMqB,EAAkB,CAC3BzJ,OAAAA,EACAiD,gBAAAA,EACAmF,mBAAAA,EACAvE,cAAAA,EACAK,WAAAA,EACA0B,aAAAA,EACAL,kBAAAA,EACA4D,kBAAAA,EACApE,YAAAA,EACAJ,WAAAA,EACAiC,yBAAAA,EACAK,0BAAAA,EACAS,uBAAAA,E,sECpYSgC,EAA0B,CACnCC,kBA/EqB5T,EAAAA,EAAAA,cACrB,sCA+EA6T,kBA5EqB7T,EAAAA,EAAAA,cACrB,sCACA,SAAAE,GAAO,OAAI,SAACkJ,GAAsC,OAAKlJ,EAAQ,CAAEkJ,KAAAA,GAAO,KA2ExE0K,kBAxEqB9T,EAAAA,EAAAA,cACrB,sCAwEA+T,sBArEyB/T,EAAAA,EAAAA,cACzB,kDACA,SAAAE,GAAO,OAAI,SAAC8T,GAAiB,OAAK9T,EAAQ,CAAE8T,UAAAA,GAAY,KAoExDC,wBAjE2BjU,EAAAA,EAAAA,cAC3B,mDAiEAkU,wBA9D2BlU,EAAAA,EAAAA,cAC3B,iDACA,SAAAE,GAAO,OAAI,SAACiU,GAAiD,OAAKjU,EAAQ,CAAEiU,YAAAA,GAAc,KA6D1FC,wBA1D2BpU,EAAAA,EAAAA,cAC3B,iDACA,SAAAE,GAAO,OAAI,SAACmU,GAAsB,OAAKnU,EAAS,CAAEmU,eAAAA,GAAiB,KAyDnEC,wBAtD2BtU,EAAAA,EAAAA,cAC3B,iDACA,SAAAE,GAAO,OAAI,SAACmU,GAAsB,OAAKnU,EAAS,CAAEmU,eAAAA,GAAiB,KAqDnEE,iBAlDoBvU,EAAAA,EAAAA,cACpB,qCACA,SAAAE,GAAO,OAAI,SAACsU,GAAoB,OAAKtU,EAAQ,CAAEsU,aAAAA,GAAe,KAiD9DC,mCA9CsCzU,EAAAA,EAAAA,cACtC,wDA8CA0U,oCA3CuC1U,EAAAA,EAAAA,cACvC,wDACA,SAAAE,GAAO,OAAI,SAACyU,GAAa,OAAKzU,EAAQ,CAAEyU,MAAAA,GAAQ,KA0ChDC,oCAvCuC5U,EAAAA,EAAAA,cAAa,wDAwCpD6U,kBAtCqB7U,EAAAA,EAAAA,cAAa,sCAuClC8U,2BArC8B9U,EAAAA,EAAAA,cAC9B,iDACA,SAAAE,GAAO,OAAI,SAACN,GAAgB,OAAKM,EAAQ,CAAEN,QAAAA,GAAU,KAoCrDmV,iBAlCoB/U,EAAAA,EAAAA,cAAa,qCAmCjCgV,0BAlC6BhV,EAAAA,EAAAA,cAC7B,gDACA,SAAAE,GAAO,OAAI,SAACzH,EAA4Bwc,GAAoB,OAAK/U,EAAQ,CAAEzH,aAAAA,EAAcwc,KAAAA,GAAO,KAiChGC,oBA9BuBlV,EAAAA,EAAAA,cACvB,wCACA,SAAAE,GAAO,OAAI,SAAC+U,GAAkB,OAAK/U,EAAQ,CAAE+U,KAAAA,GAAO,KA6BpDE,6BA3BgCnV,EAAAA,EAAAA,cAChC,mDACA,SAAAE,GAAO,OAAI,SAACzH,EAA4Bwc,GAAmB,OAAK/U,EAAQ,CAAEzH,aAAAA,EAAcwc,KAAAA,GAAO,KA0B/Fha,OAvBU+E,EAAAA,EAAAA,cACV,yB,sEC3CSoV,EAAgC,CACzCC,iCAnCoCrV,EAAAA,EAAAA,cAAa,qDACjD,SAAAE,GAAO,OAAI,SAACoV,GAA8B,OAAKpV,EAAQ,CAAEoV,qBAAAA,GAAuB,KAmChFC,8BAhCiCvV,EAAAA,EAAAA,cAAa,kDAC9C,SAAAE,GAAO,OAAI,SAACoV,GAA8B,OAAKpV,EAAQ,CAAEoV,qBAAAA,GAAuB,KAgChFE,mBA7BsBxV,EAAAA,EAAAA,cAAa,iDACnC,SAAAE,GAAO,OAAI,SAACuV,GAAe,OAAKvV,EAAQ,CAAEuV,MAAAA,GAAQ,KA6BlDC,gBA1BmB1V,EAAAA,EAAAA,cAAa,8CAChC,SAAAE,GAAO,OAAI,SAACuV,GAAe,OAAKvV,EAAQ,CAAEuV,MAAAA,GAAQ,KA0BlDE,0BAvB6B3V,EAAAA,EAAAA,cAAa,wDAwB1C4V,2BAvB8B5V,EAAAA,EAAAA,cAAa,yDAwB3C6V,+BAvBkC7V,EAAAA,EAAAA,cAAa,8DAwB/C8V,+BAtBkC9V,EAAAA,EAAAA,cAAa,6DAuB/C+V,8BAtBiC/V,EAAAA,EAAAA,cAAa,6DAuB9CgW,wBAtB2BhW,EAAAA,EAAAA,cAAa,sDAuBxCiW,wBAtB2BjW,EAAAA,EAAAA,cAAa,sDAuBxCkW,uBAtB0BlW,EAAAA,EAAAA,cAAa,qDAuBvCmW,qBArBwBnW,EAAAA,EAAAA,cAAa,gDACrC,SAAAE,GAAO,OAAI,SAACkW,GAA4B,OAAKlW,EAAQ,CAAEkW,WAAAA,GAAa,KAqBpEC,0BAlB6BrW,EAAAA,EAAAA,cAAa,sDAC1C,SAAAE,GAAO,OAAI,SAACoW,GAAoB,OAAKpW,EAAQ,CAAEoW,UAAAA,GAAY,K,4FC/BlDC,EAA0B,CACnCC,iBAAAA,EACAC,kBAAAA,EACAC,gBAsEJ,SAAyBC,GACrB,OAAO,SAAC9e,EAAUoC,GACd,IACIkH,EADIyV,EAAqB3c,IAArB2c,iBAER,GAA0B,kBAAfD,EAAyB,CAChC,IAAME,EAAkBD,EAAiBzV,WAAW2V,cAEhD3V,EADAwV,EAAWI,MAAQJ,EAAWI,KAAKD,cAAcE,WAAWH,GAC/CF,EAAWI,KACjBJ,EAAWM,OAASN,EAAWM,MAAMH,cAAcE,WAAWH,GACxDF,EAAWM,MAEXN,EAAWrK,MAEhC,MACInL,EAAawV,EAAWO,OAGxB/V,IAAeyV,EAAiBO,gBAAgBC,SAASjW,IACzDtJ,EAASwf,EAAclW,IAE3BtJ,EAAS2e,EAAiB,KAC1B3e,EAAS4e,IACb,CACJ,EA5FIa,iBAgHJ,SAA0BC,GACtB,MAAO,CACHjf,KAAMC,EAAAA,GAAYif,4BAClBte,QAAS,CAAEqe,MAAAA,GAEnB,EApHIE,SA6FJ,WACI,MAAO,CACHnf,KAAMC,EAAAA,GAAYmf,0BAE1B,EAhGIC,YAkGJ,WACI,MAAO,CACHrf,KAAMC,EAAAA,GAAYqf,6BAE1B,EArGIC,kBAoHJ,WACI,MAAO,CACHvf,KAAMC,EAAAA,GAAYuf,oCAE1B,EAvHIT,cAAAA,EACApc,MAgIJ,WACI,MAAO,CACH3C,KAAMC,EAAAA,GAAYwf,MAE1B,GAjIIC,EAA0B,KAE9B,SAASxB,IAAsD,IAArCrV,EAAUxH,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,GAAIse,IAAUte,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,KAAAA,UAAA,GACjD,OAAO,SAAC9B,EAAUoC,GACdpC,EAAS,CAAES,KAAMC,EAAAA,GAAY2f,mBAAoBC,OAAQ,CAAEhX,WAAAA,KAE3D,IAAMiX,EAAoBjX,EAAW+V,OAErC,GAAIkB,GAAqBA,EAAkBhY,OAASiY,EAAAA,GAAUC,yBAA0B,CACpF,IAAAC,EAAyCte,IAAW2c,iBAA5C4B,EAAeD,EAAfC,gBAAiBC,EAAWF,EAAXE,YACnBC,EAAsBN,EAAkBtB,cAE1C0B,GACAE,EAAoB1B,WAAWwB,EAAgB1B,eAC/Cjf,EAahB,SAA6BsJ,EAAYsX,GACrC,MAAO,CACHngB,KAAMC,EAAAA,GAAYogB,cAClBC,WAAYH,EAAYI,QAAO,SAAAC,GAAC,OAC3BA,EAAE/B,MAAQ+B,EAAE/B,KAAKD,cAAcE,WAAW7V,IAC1C2X,EAAE7B,OAAS6B,EAAE7B,MAAMH,cAAcE,WAAW7V,IAC5C2X,EAAExM,QAAUwM,EAAExM,OAAOwK,cAAcE,WAAW7V,EAAY,IAGvE,CAtByB4X,CAAoBL,EAAqBD,IAC3CR,IACHD,GACAgB,aAAahB,GAEjBA,EAA0BiB,YAAW,kBAAMphB,EAmB3D,SAA0BsJ,GACtB,OAAO,SAAAtJ,GAMH,SAASsB,EAAQ0R,GACbhT,EAAS,CACLS,KAAMC,EAAAA,GAAY2gB,oBAClBN,WAAY/N,EAAWpL,KAAI,SAAA0Z,GAAC,MAAK,CAC7B3c,GAAI2c,EAAE3c,GACNua,KAAMoC,EAAEpC,KACRE,MAAOkC,EAAElC,MACTmC,UAAWD,EAAEC,UACb9M,OAAQ6M,EAAE7M,OACb,IACDnL,WAAAA,GAER,CAjBAkY,EAAAA,GACKzC,iBAAiBzV,GAAY,GAC7BpF,KAAK5C,GACL8C,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAaiB,MAAM2B,GAAG,GAenD,CACJ,CAxCoEod,CAAiBlB,GAAmB,GAAE,KAElG,MACIvgB,EAAS4e,IAEjB,CACJ,CAwEA,SAASY,EAAc3X,GACnB,MAAO,CACHpH,KAAMC,EAAAA,GAAYghB,yBAClBrgB,QAAS,CAAEwG,KAAAA,GAEnB,CAeA,SAAS+W,IACL,MAAO,CACHne,KAAMC,EAAAA,GAAYogB,cAClBC,WAAY,GACZY,cAAe,GAEvB,C,sECvHMC,GAAeC,EAAAA,EAAAA,mBACjB,yCACA,yCACA,yCAHiBA,GA2BRC,EAAuB,CAChCC,iBAtBoBF,EAAAA,EAAAA,mBACpB,oCACA,oCACA,oCAHoBA,GAuBpBD,aAAAA,EACAI,eAlBkBH,EAAAA,EAAAA,mBAClB,gCACA,gCACA,gCAHkBA,GAmBlBI,gBAbmBJ,EAAAA,EAAAA,mBACnB,0CACA,0CACA,0CAHmBA,GAcnBK,cARiB/Z,EAAAA,EAAAA,cAAa,gCAS9Bga,aARgBha,EAAAA,EAAAA,cAAa,+B,uECnCpBia,EAAqB,CAC9BC,WARcla,EAAAA,EAAAA,cACd,6BACA,SAAAE,GAAO,OAAI,SAAC2Y,GAA8B,OAAK3Y,EAAQ,CAAE2Y,OAAAA,GAAS,K,uECHhEsB,GAAiBna,EAAAA,EAAAA,cACnB,gDACA,SAAAE,GAAO,OAAI,SAACka,GAAsB,OAAKla,EAAQ,CAAEka,UAAAA,GAAY,KAE3DC,GAAiBra,EAAAA,EAAAA,cAAa,gDAC9Bsa,GAAiBta,EAAAA,EAAAA,cAAa,gDAE9Bua,GAAsBva,EAAAA,EAAAA,cAAa,sDACnCwa,GAAsBxa,EAAAA,EAAAA,cAAa,sDACnCya,GAAsBza,EAAAA,EAAAA,cAAa,sDAa5B0a,EAAsC,CAC/CC,MAZS3a,EAAAA,EAAAA,cACT,qCACA,SAAAE,GAAO,OAAI,SAAC0a,EAAmBC,GAAY,OAAK3a,EAAQ,CAAE0a,UAAAA,EAAWC,KAAAA,GAAO,KAW5EC,MATS9a,EAAAA,EAAAA,cACT,qCACA,SAAAE,GAAO,OAAI,SAAC6a,GAAkB,OAAK7a,EAAQ,CAAE6a,UAAAA,GAAY,KAQzDZ,eAAAA,EACAE,eAAAA,EACAC,eAAAA,EACAC,oBAAAA,EACAC,oBAAAA,EACAC,oBAAAA,EACAxf,OAXU+E,EAAAA,EAAAA,cAAa,sC,uECbdgb,EAA6B,CACtCC,8BAPiCjb,EAAAA,EAAAA,cAAa,6BAQ9Ckb,2BAP8Blb,EAAAA,EAAAA,cAAa,8BAC3C,SAAAE,GAAO,OAAI,SAACoV,GAA2C,OAAKpV,EAAQ,CAAEoV,qBAAAA,GAAsB,KAO5Fra,OALU+E,EAAAA,EAAAA,cAAa,8B,uECCdmb,EAAkB,CAC3Btd,MANSmC,EAAAA,EAAAA,cACT,yBACA,SAAAE,GAAO,OAAI,SAACrC,GAAU,OAAKqC,EAAQ,CAAErC,KAAAA,GAAO,K,yKCW1Cud,GAAiBpb,EAAAA,EAAAA,cAAa,2BAChC,SAAAE,GAAO,OAAI,SAACzH,GAA0B,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAElE4iB,GAAOrb,EAAAA,EAAAA,cACT,sBACA,SAAAE,GAAO,OAAI,SAACob,EAAyBtH,GAAkB,OAAK9T,EAAQ,CAAEob,iBAAAA,EAAkBtH,UAAAA,GAAY,KAElGuH,GAA2Bvb,EAAAA,EAAAA,cAC7B,2CACA,SAAAE,GAAO,OAAI,SAACN,GAAgB,OAAKM,EAAQ,CAAEN,QAAAA,GAAU,KAEnD4b,GAAkBxb,EAAAA,EAAAA,cACpB,mCACA,SAAAE,GAAO,OAAI,SAACub,EAA6BH,EAAwBI,GAAe,OAAKxb,EAAQ,CAAEub,oBAAAA,EAAqBH,iBAAAA,EAAkBI,UAAAA,GAAY,KAEhJC,GAAyB3b,EAAAA,EAAAA,cAAa,2CACxC,SAAAE,GAAO,OAAI,SAAC0b,EAAqBnf,GAAe,OAAKyD,EAAQ,CAAE0b,YAAAA,EAAanf,OAAAA,GAAS,KAEnFxB,GAAQ+E,EAAAA,EAAAA,cAAa,uBAErB6b,GAAkB7b,EAAAA,EAAAA,cACpB,mCACA,SAAAE,GAAO,OAAI,SAAC4b,GAA8B,OAAK5b,EAAQ4b,EAAsB,KAqH3EC,EAA0B,SAACC,GAC7B,OAAO,SAACnkB,GACoBmkB,EAAOC,MAAM,SAAAvc,GAAI,OAAIA,EAAKwc,SAAS,KAEvDrkB,EAASgkB,GAAgB,GAEjC,CACJ,EAEMM,EAAuB,SAACC,GAC1B,IAAMC,GAAoBliB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACnBiiB,GAAM,IACTE,YAAQjc,EACR4W,WAAO5W,EACPkc,WAAOlc,EACPmc,YAAQnc,EACR0W,UAAM1W,EACNoc,gBAAYpc,EACZ+C,cAAU/C,EACVqc,gBAAYrc,EACZsc,eAAWtc,EACXuc,gBAAYvc,EACZwc,eAAWxc,EACXoD,KAAM2Y,EAAO3Y,KAAOmP,OAAOwJ,EAAO3Y,WAAQpD,EAC1Cyc,MAAOV,EAAOU,MAAQlK,OAAOwJ,EAAOU,YAASzc,EAC7C0c,aAAcX,EAAOW,aAAenK,OAAOwJ,EAAOW,mBAAgB1c,IAEtE,OAAO2c,EAAAA,EAAAA,QAAOX,EAAsBY,EAAAA,YACxC,EAEA,SAASC,EACLC,EACAC,GACA,IAAKD,EAAY/c,OACb,OAAOgd,EAAa3d,KAAI,SAAA4d,GAAC,OAAAljB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAUkjB,GAAC,IAAEC,OAAO,GAAI,IAGrD,IAAMC,GAA4DC,EAAAA,EAAAA,GAAIL,GAAa1d,KAAI,SAAAge,GAAE,OAAAtjB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAUsjB,GAAE,IAAEvB,WAAW,GAAI,IAChHwB,EAAqD,GAa3D,OAXAN,EAAaO,SAAQ,SAAAC,GACjB,IAAMC,EAAcV,EAAYW,WAAU,SAAAC,GAAC,OAAIA,EAAEtB,YAAcsB,EAAEtB,aAAemB,EAAEnB,UAAU,IACxFoB,EAAc,EACdH,EAASjiB,MAAItB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIyjB,GAAC,IAAEN,OAAO,MAWzC,SAAiBU,EAAgDC,GAC7D,IAAMC,EAAe,SAAIlU,GAAgB,OAAU,OAALA,QAAK,IAALA,EAAAA,EAAS,EAAG,EAE1D,OACIgU,EAAOvB,aAAewB,EAAOxB,YAC7BuB,EAAO5E,YAAc6E,EAAO7E,WAC5B4E,EAAO1R,SAAW2R,EAAO3R,QACzB4R,EAAaF,EAAO7a,UAAY+a,EAAaD,EAAO9a,SACpD+a,EAAaF,EAAOlB,SAAWoB,EAAaD,EAAOnB,QACnDoB,EAAaF,EAAOva,QAAUya,EAAaD,EAAOxa,OAClDya,EAAaF,EAAOG,cAAgBD,EAAaD,EAAOE,aACxDD,EAAaF,EAAOI,cAAgBF,EAAaD,EAAOG,aACxDF,EAAaF,EAAOK,UAAYH,EAAaD,EAAOI,SACpDH,EAAaF,EAAOM,YAAcJ,EAAaD,EAAOK,WACtDJ,EAAaF,EAAOO,QAAUL,EAAaD,EAAOM,OAClDL,EAAaF,EAAOQ,WAAaN,EAAaD,EAAOO,UACrDN,EAAaF,EAAOS,eAAiBP,EAAaD,EAAOQ,cACzDP,EAAaF,EAAOU,SAAWR,EAAaD,EAAOS,QACnDR,EAAaF,EAAOW,SAAWT,EAAaD,EAAOU,QACnDT,EAAaF,EAAOjB,gBAAkBmB,EAAaD,EAAOlB,eAC1DmB,EAAaF,EAAOY,qBAAuBV,EAAaD,EAAOW,kBAEvE,CAhCoBC,CAAQ1C,EAAqBgB,EAAYU,IAAe1B,EAAqByB,IACrFL,EAAgBM,IAAY1jB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQyjB,GAAC,IAAEkB,UAAU,IAEjDvB,EAAgBM,IAAY1jB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQgjB,EAAYU,IAAY,IAAEiB,UAAU,EAAOxB,OAAO,EAAOpB,WAAW,GAEhH,IAEOqB,EAAgBxT,OAAO2T,EAClC,CA0BA,SAASqB,EAAiC9T,GACtC,IAAM+T,EAAqC,CAAC,EAE5C,GAAI/T,EAAS8R,aAAc,CAAC,IAADkC,EACjBC,EACgH,QAD7GD,GAAGE,EAAAA,EAAAA,SAAQC,EAAAA,GACflU,MAAK,SAAA1T,GAAS,OAAiG,KAA1G+T,EAAAA,EAAAA,GAAA/T,EAAA,GAAS,GAAY6nB,cAAcpU,EAAS8R,cAAgB,QAAI1c,EAAW,CAAEif,YAAa,UAAiB,WAAC,IAAAL,OAAA,EAD1GA,EAEL,GAEDM,EAAsBC,EAAAA,EAAuBN,GAEnDF,EAASjC,aAAewC,EAAsBC,EAAAA,EAAuBD,QAAuBlf,CAChG,CAEA2e,EAASvC,WAAaxR,EAASwR,WAC/BuC,EAAS5F,UAAYnO,EAASmO,UAC9B4F,EAAS1S,OAASrB,EAASqB,OAC3B0S,EAAS7b,OAAS8H,EAAS9H,OAC3B6b,EAASX,OAASoB,EAAiBxU,EAASoT,QAC5CW,EAAS1C,OAAS7P,EAAAA,GAAYiT,sBAAsB,CAChD3C,aAAciC,EAASjC,aAAeiC,EAASjC,kBAAoD1c,EACnGge,OAAQsB,EAAAA,GAAaC,SAASZ,EAASX,QAAUzL,OAAOoM,EAASX,aAAUhe,IAE/E2e,EAASrV,IAAMsB,EAAStB,IAAM8V,EAAiBxU,EAAStB,UAAMtJ,EAC9D2e,EAASlC,MAAQ2C,EAAiBxU,EAAS6R,OAC3CkC,EAASa,QAAUF,EAAAA,GAAaC,SAAS3U,EAAS4U,SAAWtT,EAAAA,GAAWC,YAAYvB,EAAS4U,SAAW5U,EAAS4U,QACjHb,EAASvb,KAAOkc,EAAAA,GAAaC,SAAS3U,EAASxH,MAAQ8I,EAAAA,GAAWC,YAAYvB,EAASxH,MAAQwH,EAASxH,KACxGub,EAASc,SAAW7U,EAAS6U,SAAWL,EAAiBxU,EAAS6U,eAAYzf,EAC9E2e,EAASb,WAAasB,EAAiBxU,EAASkT,YAChDa,EAASZ,WAAaqB,EAAiBxU,EAASmT,YAChDY,EAASV,SAAWmB,EAAiBxU,EAASqT,UAC9CU,EAAST,KAAOkB,EAAiBxU,EAASsT,MAC1CS,EAASN,MAAQqB,EAAAA,GAAYC,mBAAmB/U,EAASyT,YAASre,EAAYoM,EAAAA,GAAYwT,mBAAmBhV,EAASyT,MAAOzT,EAASyT,OACtIM,EAASL,MAAQoB,EAAAA,GAAYC,mBAAmB/U,EAAS0T,YAASte,EAAYoM,EAAAA,GAAYwT,mBAAmBhV,EAAS0T,MAAO1T,EAAS0T,OACtI,IAAMuB,EAAmBC,EAAAA,GAAcC,uBAAuBnV,EAASyT,OACjE2B,EAAmBF,EAAAA,GAAcC,uBAAuBnV,EAAS0T,OAYvE,OAXIuB,EAAiBI,cAAgBJ,EAAiBK,cAClDvB,EAASrC,UAAYuD,EAAiBM,KACtCxB,EAAStC,WAAawD,EAAiBO,OAEvCJ,EAAiBC,cAAgBD,EAAiBE,cAClDvB,EAASnC,UAAYwD,EAAiBG,KACtCxB,EAASpC,WAAayD,EAAiBI,OAE3CzB,EAASR,QAAUuB,EAAAA,GAAYC,mBAAmB/U,EAASuT,cAAWne,EAAY4K,EAASuT,QAAQtH,OACnG8H,EAASP,YAAcsB,EAAAA,GAAYC,mBAAmB/U,EAASwT,kBAAepe,EAAY4K,EAASwT,YAAYvH,OAC/G8H,EAASJ,kBAAoBa,EAAiBxU,EAAS2T,mBAChDI,CACX,CAEA,SAASS,EAAiBiB,EAAqBC,GAC3C,GAAW,MAAPD,GAAeX,EAAAA,GAAYC,mBAAmBU,GAC9C,OAAOC,EAGX,IAAMC,EAAUF,EAAIxJ,OAEpB,OAAOyI,EAAAA,GAAaC,SAASgB,IAAYA,EAAUF,CACvD,CAEO,IAAMG,EAAuB,CAChCxF,KAAAA,EACAD,eAAAA,EACA0F,aA9PiB,SAACC,GAElB,OAAO,SAAClpB,EAAoDoC,GACxD,IAAM+mB,EAAsD/mB,IAAWgnB,KAAKD,UACtEhC,EAAWgC,EAAUD,KAAS5mB,EAAAA,EAAAA,GAAA,GAAS6mB,EAAUD,IAEnD/B,IACAA,EAAS1C,OAAS7P,EAAAA,GAAYiT,sBAAsB,CAChD3C,aAAciC,EAASjC,aAAeiC,EAASjC,kBAAoD1c,EACnGge,OAAQsB,EAAAA,GAAaC,SAASZ,EAASX,QAAUzL,OAAOoM,EAASX,aAAUhe,IAG/ExI,EAASqpB,EAAAA,IAAYC,UAAUJ,IAC/BlpB,EAASqpB,EAAAA,IAAYE,gBAAgB,CAACpC,GAAW+B,IAEzD,CACJ,EA+OIM,iBA7OqB,SAAC3jB,GACtB,OAAO,SAAC7F,EAAoDoC,GACxD,IAAAqnB,EAAyCrnB,IAAWgnB,KAA5ChW,EAAQqW,EAARrW,SAAUsW,EAAMD,EAANC,OAAQC,EAAUF,EAAVE,WAE1B,GAAID,EAAO9kB,SAAWglB,EAAAA,GAAaC,UAAnC,CAIA,IAAMC,GAAajkB,EAAK2O,KAAKuV,MAAM,KAAKC,OAAS,IAAI/K,cAEnC,QAAd6K,GAAqC,SAAdA,EAQhBjkB,EAAK+F,KAA6C,KAAtC4U,EAAAA,GAAUyJ,0BAAmC,KAChEjqB,EAASyB,EAAAA,IAAaiB,MAClB,KACAwnB,EAAAA,GAAcC,sBAAsB3J,EAAAA,GAAUyJ,2BAC9C,0BAKI,OAAR7W,QAAQ,IAARA,GAAAA,EAAUgX,SACVpqB,EAASqpB,EAAAA,IAAYgB,qBAGzBC,EAAAA,EACKd,iBAAiB3jB,GA4BtB,SAAkBxB,GACd,IAAMkmB,EAAoBnoB,IAAWgnB,KAAKO,WAC1C,GAAItlB,EAAEmmB,kBAAoBb,IAAeY,EAAmB,CACxD,IAAME,EAAmBpmB,EAAEqmB,OAASrmB,EAAEsmB,MAAS,IAC/C3qB,EAASqpB,EAAAA,IAAYuB,eAAehB,EAAAA,GAAaC,UAAWY,EAAiB5kB,EAAK2O,MACtF,CACJ,IAjCKtQ,MAKL,SAAiB2mB,GACb,IAAMN,EAAoBnoB,IAAWgnB,KAAKO,WAC1C,GAAIA,IAAeY,EAAmB,CAClC,IAEMpG,EAASkB,EAFGjjB,IAAWgnB,KAAKD,UAAUnI,QAAO,SAACwE,GAAyC,OAAMA,EAAEd,KAAK,IAC/DmG,EAAUjjB,KAAI,SAAA0L,GAAC,OAAI4T,EAAiC5T,EAAE,KAEjGtT,EAASqpB,EAAAA,IAAYuB,eAAehB,EAAAA,GAAakB,QACjD9qB,EAASqpB,EAAAA,IAAY0B,SACrB/qB,EAASqpB,EAAAA,IAAY2B,aAAa7G,IAClCnkB,EAASkkB,EAAwBC,IACjCnkB,EAASqpB,EAAAA,IAAY4B,WACzB,CACJ,IAEA,SAAiB5mB,GACb,IAAMkmB,EAAoBnoB,IAAWgnB,KAAKO,WACtCA,IAAeY,GACfvqB,EAASyB,EAAAA,IAAa6C,gBAAgBD,IAE1CrE,EAASqpB,EAAAA,IAAYuB,eAAehB,EAAAA,GAAakB,OACrD,IAxBK1kB,SAAQ,kBAAMpG,EAASqpB,EAAAA,IAAYuB,eAAehB,EAAAA,GAAasB,MAAM,IAE1ElrB,EAASqpB,EAAAA,IAAYuB,eAAehB,EAAAA,GAAaC,UAAW,EAAGhkB,EAAK2O,QAzBhExU,EAASyB,EAAAA,IAAaiB,MAClB,KACAwnB,EAAAA,GAAciB,gBACd,sBARR,CA6DJ,CACJ,EA0KIC,oBAxKwB,SAACC,GACzB,OAAO,SAACrrB,EAAoDoC,GACxD,IAAQunB,EAAevnB,IAAWgnB,KAA1BO,WACR3pB,EAASqpB,EAAAA,IAAYiC,gBAAe,IAEpChB,EAAAA,EACKiB,sBAAsBF,GACtBnnB,MAIL,SAAiB8O,GACb,IAAMuX,EAAoBnoB,IAAWgnB,KAAKO,WAC1C,GAAIA,IAAeY,EAAmB,CAClC,IAEMpG,EAASkB,EAFGjjB,IAAWgnB,KAAKD,UAAUnI,QAAO,SAACwE,GAAkC,OAAMA,EAAEd,KAAK,IAC7E1R,EAAWpL,KAAI,SAAA0L,GAAC,OAAI4T,EAAiC5T,EAAE,KAE7EtT,EAASqpB,EAAAA,IAAY0B,SACrB/qB,EAASqpB,EAAAA,IAAY2B,aAAa7G,IAClCnkB,EAASkkB,EAAwBC,IACjCnkB,EAASqpB,EAAAA,IAAY4B,WACzB,CACJ,IAdK7mB,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,IACpD+B,SAAQ,kBAAMpG,EAASqpB,EAAAA,IAAYiC,gBAAe,GAAO,GAclE,CACJ,EAiJI5H,yBAAAA,EACAC,gBAAAA,EACAG,uBAAAA,EACA1gB,MAAAA,EACA4gB,gBAAAA,E,uECzRSwH,EAAsB,CAC/BC,0BAb6BtjB,EAAAA,EAAAA,cAAa,8BAC1C,SAAAE,GAAO,OAAI,SAAC8T,EAAmBuP,EAAyBC,GAA8C,OAClGtjB,EAAQ,CAAE8T,UAAAA,EAAWuP,eAAAA,EAAgBC,WAAAA,GAAa,KAYtDC,kCAVqCzjB,EAAAA,EAAAA,cAAa,4EAClD,SAAAE,GAAO,OAAI,SAAC8T,GAAiB,OAAK9T,EAAQ,CAAE8T,UAAAA,GAAY,KAUxD0P,mCARsC1jB,EAAAA,EAAAA,cAAa,6EACnD,SAAAE,GAAO,OAAI,SAACzH,EAA4Bub,EAAmBwP,GAA8C,OACrGtjB,EAAQ,CAAEzH,aAAAA,EAAcub,UAAAA,EAAWwP,WAAAA,GAAa,K,iUCE3CzX,EAAuB,CAChCxU,KAwBJ,SAAcosB,GACV,sBAAAnsB,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAMC,GAAQ,IAAA2oB,EAAAoD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA5sB,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAcZ,OAbCmoB,GAAO,IAAIlW,MAAOia,cAAapsB,EAAAC,KAAA,EAG3BwrB,EAAyBY,EAAAA,GAAYC,sBACrCZ,EAA4BW,EAAAA,GAAYE,cAAc,IAAIpa,MAC1DwZ,EAA6BU,EAAAA,GAAYG,YAAYnE,GACrDuD,EAA0BS,EAAAA,GAAYG,YAAYnE,EAAO,GACzDwD,EAAsBL,EAAKlnB,SAAWwT,EAAAA,EAAWC,SAAWyT,EAAKlnB,SAAWwT,EAAAA,EAAWG,UACxFuT,EAAKiB,YAAeZ,GAAsBL,EAAKkB,QAAQvsB,OAASwsB,EAAAA,EAAgBC,MACjFltB,EAASmtB,EAAAA,EAAmBC,qBAE3BtB,EAAKiB,YAAc/mB,EAAAA,EAAK2M,SAASC,EAAAA,GAAMC,eAC1C7S,EAASqtB,EAAAA,EAA6BC,qCACvChtB,EAAAE,KAAA,GAE6BurB,EAAuB,KAAD,GAA/B,OAAfK,EAAe9rB,EAAAY,KAAAZ,EAAAE,KAAA,GACYwrB,EAA0B,KAAD,GAAlC,OAAlBK,EAAkB/rB,EAAAY,KAAAZ,EAAAE,KAAA,GACUyrB,EAA2B,KAAD,GAAnC,OAAnBK,EAAmBhsB,EAAAY,KAAAZ,EAAAE,KAAA,GACM0rB,EAAwB,KAAD,GAAhDK,EAAgBjsB,EAAAY,KAEhBsrB,EAAUH,EACVkB,MAASC,QAAQ,OAAOC,SACxBF,IAAOnB,GAAiBoB,QAAQ,OAAOC,SAEvChB,EAAQ,GAAAva,QAAAyT,EAAAA,EAAAA,GAAO2G,IAAmB3G,EAAAA,EAAAA,GAAK4G,IAE7CvsB,GASgB0tB,EATYlB,EAU7B,CACH/rB,KAAMC,EAAAA,GAAYitB,sBAClBD,YAAAA,KAXI1tB,EAAS4tB,EAAcnB,IACvBzsB,GAcagT,EAdY8Y,EAAK9Y,WAe/B,CACHvS,KAAMC,EAAAA,GAAYmtB,gCAClB7a,WAAAA,KAjB+C1S,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAE3CN,EAASyB,EAAAA,IAAaC,cAAapB,EAAAiB,KAAK,yBAAAjB,EAAAqB,OAYpD,IAAyBqR,EAPG0a,CALwB,GAAA3tB,EAAA,mBAE/C,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EAjCD,EAkCJ,EA1DIgsB,WAiFJ,SAAoB9jB,EAAe+jB,GAC/B,OAAO,SAAA/tB,GACHwhB,EAAAA,GACKwM,OAAOhkB,EAAe+jB,EAASA,EAAO1O,OAAS0O,GAC/C7pB,MACG,kBAAMlE,EAAS2b,EAAAA,IAAejc,KAAKsK,GAAe,IAClD,SAAA3F,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAE1D,CACJ,EAzFIjB,MA2FJ,WACI,OAAO,SAAApD,GACHA,EAASiuB,EAAAA,EAAuB7qB,SAChCpD,EAAS,CAAES,KAAMC,EAAAA,GAAYwtB,uBAC7BluB,EAASmuB,EAAAA,EAAoBC,WAAWC,EAAAA,EAAiBC,qBACzDtuB,EAASmtB,EAAAA,EAAmBoB,aAC5BvuB,EAASwuB,EAAAA,EAAkBprB,QAC/B,CACJ,EAlGIqrB,SAoGJ,WACI,OAAO,SAACzuB,EAAUoC,GAIdpC,EAAS0uB,EAHctsB,IAAW2Q,cAA1BC,WAC4BgO,QAAO,SAAAM,GAAC,OAAI1N,EAAAA,GAAa+a,iBAAiBrN,EAAE,KAGpF,CACJ,EA1GIsN,aAyKJ,SAAsB/c,GAClB,OAAO,SAAA7R,GACHwhB,EAAAA,GACKqN,qBAAqBhd,GAAmB,GACxC3N,MACG,kBAAMlE,EAAS8uB,EAAAA,IAAyBC,0BAAyB,GAAM,IACvE,SAAA1qB,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAE1D,CACJ,EAjLI2qB,eAAAA,EACAC,gBAqbJ,SAAyBrK,GACrB,OAAO,SAAC5kB,EAAUoC,GACd,IAAQ0pB,EAAS1pB,IAAWiW,QAApByT,KACRoD,EAAwC9sB,IAAW2Q,cAA3CC,EAAUkc,EAAVlc,WAAYmc,EAAeD,EAAfC,gBACdC,EAAWpc,EAAWK,MAAK,SAAAiO,GAAC,OAAIA,EAAE3c,KAAOigB,CAAU,IACnDyK,EAAOF,EAAgBvK,GACvBlO,EAAc2Y,GAAQvH,EAAAA,GAAaC,SAASsH,EAAK3Y,eAAiB2Y,EAAK3Y,YAE1D,MAAfA,GAAuB0Y,IACnB1Y,EAAc8J,EAAAA,GAAU8O,iBAAiBC,KAAO7Y,EAAc8J,EAAAA,GAAU8O,iBAAiBE,IACzFxvB,EAASgvB,EAAepK,OAAYpc,IAC7B4mB,EAAS1Y,cAAgBA,IAChC1W,EAASgvB,EAAepK,EAAYlO,EAAY+Y,QAAQ,KACxDzvB,EAlChB,SAA4B4kB,GACxB,MAAO,CACHnkB,KAAMC,EAAAA,GAAYgvB,oCAClBruB,QAAS,CAAEujB,WAAAA,GAEnB,CA6ByB+K,CAAmB/K,IAC5BgL,EAAAA,GACKC,gBAAgB/D,EAAK9hB,cAAe4a,EAAYlO,GAChDxS,MAAK,kBAAMlE,EA9BhC,SAA4B4kB,GACxB,MAAO,CACHnkB,KAAMC,EAAAA,GAAYovB,oCAClBzuB,QAAS,CAAEujB,WAAAA,GAEnB,CAyByCmL,CAAmBnL,GAAY,IACnDxgB,OAAM,SAAAC,GAAC,OAAIrE,EAxBhC,SAA4B4kB,EAAYliB,GACpC,MAAO,CACHjC,KAAMC,EAAAA,GAAYsvB,oCAClB3uB,QAAS,CAAEujB,WAAAA,EAAYliB,MAAAA,GAE/B,CAmByCutB,CAAmBrL,EAAYvgB,GAAG,KAGvE,CACJ,EAzcIwE,MAyGJ,SAAewJ,GACX,OAAO,SAACrS,EAAUoC,GAIdpC,EAAS0uB,EAAsB,CAHRtsB,IAAW2Q,cAA1BC,WAC2BK,MAAK,SAAAiO,GAAC,OAAIA,EAAE3c,KAAO0N,CAAU,MAGpE,CACJ,EA/GIgC,aAAAA,EACA6b,kBA+KJ,SAA2B7d,EAAY8d,EAAUC,GAC7C,OAAO,SAACpwB,EAAUoC,GACd,IAAQ0pB,EAAS1pB,IAAWiW,QAApByT,KAIR,SAASuE,EAA0Bvc,GAC/B,OACIgY,EAAKkB,QAAQvsB,OAASwsB,EAAAA,EAAgBqD,UACtCxE,EAAKkB,QAAQuD,sBAAwBC,EAAAA,EAAkBC,aACvDL,IAAiBM,EAAAA,GAAcC,aAC3B,OAAJ7c,QAAI,IAAJA,GAAAA,EAAMsQ,MAAK,SAAAwM,GAAC,OAAIA,EAAEL,sBAAwBC,EAAAA,EAAkBC,WAAW,IAEhE3c,EAAKkN,QAAO,SAAA4P,GAAC,OAA6B,MAAzBA,EAAEL,mBAA2B,IAElDzc,CACX,EAEA,WACI,IAAM+c,EAAeR,EAA0BF,EAASnP,QAAO,SAAA4P,GAAC,OAAIA,EAAEE,QAAQ,KAC9E,GAAID,EAAatoB,OAAQ,CACrB,IAAMwoB,EAAYF,EAAajpB,KAAI,SAACgpB,GAAC,OAAKA,EAAEjsB,EAAE,IACvCirB,EAAAA,GACFoB,0BAA0BlF,EAAK9hB,cAAeqI,EAAY0e,EAAWX,GACrElsB,MAAK,kBAAMlE,EAASixB,EAAa5e,EAAYwe,EAAcT,GAAc,IACzEhsB,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAC7D,CACJ,CAxBA6sB,GAyBA,WACI,IAAMpd,EAAOuc,EAA0BF,EAASnP,QAAO,SAAA4P,GAAC,OAAKA,EAAEE,QAAQ,KACvE,GAAIhd,EAAKvL,OAAQ,CACb,IAAMwoB,EAAYjd,EAAKlM,KAAI,SAACgpB,GAAC,OAAKA,EAAEjsB,EAAE,IAC/BirB,EAAAA,GACFM,kBAAkBpE,EAAK9hB,cAAeqI,EAAY0e,EAAWX,GAC7DlsB,MAAK,kBAAMlE,EAASixB,EAAa5e,EAAYyB,EAAMsc,GAAc,IACjEhsB,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAC7D,CACJ,CAjCA8sB,EAkCJ,CACJ,EArNIC,+BA0OJ,SAAwC/e,EAAYgf,GAChD,OAAO,SAACrxB,EAAUoC,GASd,GARApC,EAAS,CACLS,KAAMC,EAAAA,GAAY4wB,iDAClBjf,WAAAA,EACAgf,SAAAA,IAGwBjvB,IAAW2Q,cAA/Bwe,kBAEgBF,EAAU,CAC9B,IAAQpe,EAAqB7Q,IAAW2Q,cAAhCE,iBACFue,EAAwBte,OAAOC,KAAKF,GAAkBrL,KAAI,SAAAyf,GAAG,OAAKA,CAAG,IAEvEmK,EAAsBC,OAAM,SAAA9sB,GAAE,OAAIsO,EAAiBtO,GAAI0sB,QAAQ,IAC/DrxB,EAAS0xB,GAAwB,IAC1BF,EAAsBC,OAAM,SAAA9sB,GAAE,OAAKsO,EAAiBtO,GAAI0sB,QAAQ,KACvErxB,EAAS0xB,GAAwB,GAEzC,CACJ,CACJ,EA9PIA,wBAAAA,EACAC,gCAoXJ,SAAyCtf,EAAYuf,GACjD,OAAO,SAAC5xB,EAAUoC,GACd,IACMgR,EADuBhR,IAAW2Q,cAAhCE,iBAC0BZ,GAE9Bwf,EAAkB,KACtB,GAAIze,EAASuR,QAAUvR,EAASuR,OAAOmN,WAAY,CAC/C,IAAAC,EAAwC3vB,IAAW2Q,cAA3C0Z,EAAQsF,EAARtF,SAAUuF,EAAiBD,EAAjBC,kBACZtE,EAAcH,IAAOyE,GACrBC,EAAiBxF,EAAS7kB,KAAI,SAAAsqB,GAAC,OAAI3E,IAAO2E,GAAG1E,QAAQ,MAAM,IAEjEqE,EAAkBM,EAAkCP,EAAMlE,EAAauE,EAC3E,CAEAjyB,EAAS,CACLS,KAAMC,EAAAA,GAAY0xB,0CAClB/f,WAAAA,EACAuf,KAAAA,EACAC,gBAAAA,GAER,CACJ,EAxYIQ,6BA0YJ,SAAsChgB,EAAYigB,GAC9C,MAAO,CACH7xB,KAAMC,EAAAA,GAAY6xB,qCAClBlgB,WAAAA,EACAigB,QAAAA,EAER,EA/YIne,6BAkWJ,SAAsC9B,EAAYmgB,GAC9C,MAAO,CACH/xB,KAAMC,EAAAA,GAAY+xB,sCAClBpgB,WAAAA,EACAmgB,yBAAAA,EAER,EAvWIE,yBAyWJ,SAAkCrgB,EAAY2C,GAC1C,MAAO,CACHvU,KAAMC,EAAAA,GAAYiyB,kCAClBtgB,WAAAA,EACA2C,MAAAA,EAER,EA9WI4d,YAkQJ,WACI,OAAO,SAAC5yB,EAAUoC,GACd,IAAAywB,EAAyCzwB,IAAW2Q,cAA5CC,EAAU6f,EAAV7f,WAAYC,EAAgB4f,EAAhB5f,iBACZ6Y,EAAS1pB,IAAWiW,QAApByT,KAEFjB,EAAY3X,OACbC,KAAKF,GACLrL,KAAI,SAAAyK,GAAU,OAAKA,CAAU,IAC7B2O,QAAO,SAAA3O,GAAU,OAAIY,EAAiBZ,GAAYgf,QAAQ,IAC1DzpB,KAAI,SAAAyK,GACD,IAAMiB,EAAIL,EAAiBZ,GACrBe,EAAWJ,EAAWK,MAAK,SAAAiO,GAAC,OAAIA,EAAE3c,KAAO0N,CAAU,IACnDP,EAAMsB,EAASU,KAAKT,MAAK,SAAAud,GAAC,OAAIA,EAAEjsB,KAAO2O,EAAEwf,cAAgBlf,EAAAA,GAAaQ,wBAAwBwc,KAAOtd,EAAEkf,wBAAwB,IAC/HO,EAAiB3f,EAAS4f,UAAY5f,EAAS4f,SAAS3f,MAAK,SAAA4N,GAAC,OAAIA,EAAE9E,YAAc7I,EAAE2f,gBAAgB,IAE1G,MAAO,CACH5gB,WAAAA,EACA6gB,aAAc,CACVvuB,GAAI2O,EAAE2f,kBAEVnB,WAAYvE,IAAOja,EAAEwe,YAAYqB,aAAY,GAC7Cne,MAAOlD,EAAInN,GACXyuB,QAASL,GAAkBA,EAAeK,QAC1Cd,QAAShf,EAAEgf,QAEnB,IAEJtyB,EAASqzB,KAETzD,EAAAA,GACK/mB,MAAMijB,EAAK9hB,cAAe6gB,GAC1BzmB,OAAM,SAAAC,GACc,MAAbA,EAAEO,OACF5E,EAASsU,EAAAA,IAAoBC,aACzB,uBACA,kEAGJvU,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAE9C,GACR,CACJ,EA3SIgvB,YAAAA,EACAC,YAAAA,EACAC,cA+cJ,SAAuBlhB,GACnB,OAAO,SAACrS,EAAUoC,GACd,IAAQoxB,EAAYpxB,IAAW2Q,cAAvBygB,QAGRxzB,EAASszB,EADOjhB,IAAemhB,EAAQnhB,WACTA,GAClC,CACJ,EArdIohB,eA6MJ,SAAwBphB,EAAYqhB,EAAWC,GAC3C,OAAO,SAAC3zB,EAAUoC,GACd,IAAQ0pB,EAAS1pB,IAAWiW,QAApByT,KAER8D,EAAAA,GACK6D,eAAe3H,EAAK9hB,cAAeqI,EAAYqhB,EAAU9rB,KAAI,SAAAgsB,GAAC,OAAIA,EAAEjvB,EAAE,IAAGgvB,GACzEvvB,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAC7D,CACJ,EApNIwvB,cAsdJ,SAAuBL,EAASnhB,EAAYR,GACxC,MAAO,CACHpR,KAAMC,EAAAA,GAAYozB,gBAClBjiB,kBAAAA,EACAQ,WAAAA,EACAmhB,QAAAA,EAER,GAvaA,SAAS5F,EAAcnB,GACnB,MAAO,CACHhsB,KAAMC,EAAAA,GAAYqzB,8BAClBtH,SAAAA,EAER,CAyCA,SAASpY,EAAatM,GAClB,OAAO,SAAC/H,EAAUoC,GACd,IAAI4xB,GAAY,EAEhB,GAAIjsB,EAAS,CACT,IAAA+K,EAA0D1Q,IAAW2Q,cAA7DE,EAAgBH,EAAhBG,iBAAkBwZ,EAAQ3Z,EAAR2Z,SACpBwH,EA+LlB,SAAkChhB,EAAkB+e,EAAmBvF,GACnE,IAAMiB,EAAcH,IAAOyE,GACrBC,EAAiBxF,EAAS7kB,KAAI,SAAAsqB,GAAC,OAAI3E,IAAO2E,GAAG1E,QAAQ,MAAM,IAEjE,OAAOta,OACFC,KAAKF,GACLrL,KAAI,SAAAyK,GAAU,OAAKA,CAAU,IAC7BzK,KAAI,SAAAyK,GACD,IAAKY,EAAiBZ,GAAYgf,SAC9B,MAAO,CAAEhf,WAAAA,EAAYsS,OAAQ,MAGjC,IAAMmN,EAAaK,EAAkClf,EAAiBZ,GAAYyf,WAAYpE,EAAauE,GAG3G,MAAO,CAAE5f,WAAAA,EAAYsS,OAFNmN,EAAa,CAAEA,WAAAA,GAAe,KAGjD,GACR,CAhNqCoC,CAAyBjhB,EADGH,EAAjBkf,kBACmDvF,IACvFuH,EAAYC,EAAiB7P,MAAK,SAAA+P,GAAC,OAAIA,EAAExP,MAAM,MAG3C3kB,EAAS,CACLS,KAAMC,EAAAA,GAAY0zB,wDAClBH,iBAAAA,GAGZ,CAEKD,GACDh0B,EAAS,CACLS,KAAMC,EAAAA,GAAY2zB,4CAClBtsB,QAAAA,GAGZ,CACJ,CAEA,SAAS2mB,EAAsB7D,GAC3B,OAAO,SAAC7qB,EAAUoC,GACd,IAAQ0pB,EAAS1pB,IAAWiW,QAApByT,KACF7Y,EAAmB4X,GAAaA,EAAUjjB,KAAI,SAAA0L,GAChD,IAAAC,GAAiCC,EAAAA,EAAAA,IAA4B,CAAER,WAAY,CAACM,KAArEG,GAA0EC,EAAAA,EAAAA,GAAAH,EAAA,GAApD,GAC7BI,EAAeC,EAAAA,GAAaC,eAAeJ,EAAuBK,KAAMC,EAAAA,EAASC,MAA1EC,GAA+EP,EAAAA,EAAAA,GAAAC,EAAA,GAA3E,GAEX,MAAO,CACHhP,GAAI2O,EAAE3O,GACN0sB,UAAU,EACV4B,iBAAkBhf,EAAK7T,QAAQuE,GAC/B6tB,yBAA0B5e,EAAAA,GAAaQ,wBAAwBH,GAC/D6e,aAAc7e,EAAKtP,GACnBmtB,WAAYhG,EAAKwI,kBACjBhC,QAAS,GACT3N,OAAQ,KAEhB,IAEA3kB,EAAS,CACLS,KAAMC,EAAAA,GAAY6zB,uCAClBthB,iBAAAA,GAER,CACJ,CAgEA,SAASge,EAAa5e,EAAYyB,EAAMsc,GACpC,MAAO,CACH3vB,KAAMC,EAAAA,GAAY8zB,mCAClBniB,WAAAA,EACAyB,KAAAA,EACAsc,aAAAA,EAER,CAyBA,SAASsB,EAAwBH,GAC7B,MAAO,CACH9wB,KAAMC,EAAAA,GAAY+zB,kDAClBlD,gBAAAA,EAER,CAiEA,SAASY,EAAkCL,EAAYpE,EAAajB,GAEhE,GAAmB,KAAfqF,EACA,OAAO5H,EAAAA,GAAcwK,MAClB,GAA0B,qBAAf5C,EACd,OAAO5H,EAAAA,GAAcyK,aAClB,GAAIjH,EAAYkH,KAAK9C,EAAY,QAAU,EAC9C,OAAO5H,EAAAA,GAAc2K,sBAGzB,IAAMC,EAAmBvH,IAAOuE,GAC1BiD,EAAUD,EAAiBC,UAIjC,MAAI,CAAC,EAAG,GAAG3Q,MAAK,SAAA4Q,GAAC,OAAIA,IAAMD,CAAO,IACvB7K,EAAAA,GAAc+K,2BACdxI,EAASrI,MAAK,SAAA8N,GAAC,OAAIA,EAAEgD,OAAOJ,EAAkB,MAAM,IACpD5K,EAAAA,GAAciL,2BAGlB,IACX,CAEA,SAAS9B,IACL,OAAO,SAAArzB,GACHA,EAASqU,GAAa,IACtBrU,EAAS0uB,EAAsB,MACnC,CACJ,CAiDA,SAASM,EAAepK,EAAYzS,GAChC,MAAO,CACH1R,KAAMC,EAAAA,GAAY00B,gCAClB/zB,QAAS,CAAEujB,WAAAA,EAAYzS,MAAAA,GAE/B,CA8CA,SAASmhB,EAAYvrB,EAASsK,GAC1B,OAAO,SAAArS,GACC+H,GACA/H,EAASq1B,EAAAA,EAAoBpS,QAGjCjjB,EAAS,CACLS,KAAMC,EAAAA,GAAY40B,6BAClBj0B,QAAS,CACL0G,QAAAA,EACAsK,WAAYtK,EAAUsK,OAAa7J,IAG/C,CACJ,C,uECnea+sB,EAAiB,CAC1Bz0B,SAfYqH,EAAAA,EAAAA,cAAa,4BAgBzBC,eAfkBD,EAAAA,EAAAA,cAClB,mCACA,SAACE,GAAO,OAAK,SAACzH,EAA4B40B,GAAwB,OAC9DntB,EAAQ,CACJzH,aAAAA,EACA40B,MAAAA,GACF,K,uECEGC,EAAiB,CAC1BC,eAVkBvtB,EAAAA,EAAAA,cAAa,0BAW/BwtB,mBAVsBxtB,EAAAA,EAAAA,cAAa,+BAWnCytB,oBAVuBztB,EAAAA,EAAAA,cAAa,gCACpC,SAAAE,GAAO,OAAI,SAACmC,EAA6BqrB,GAAmB,OAAKxtB,EAAQ,CAAEmC,cAAAA,EAAeqrB,SAAAA,GAAW,KAUrGC,mBAPsB3tB,EAAAA,EAAAA,cAAa,gCAQnC4tB,oBAPuB5tB,EAAAA,EAAAA,cAAa,iC,uECNlC6tB,GAAe7tB,EAAAA,EAAAA,cAAa,kBAC5B8tB,GAAqB9tB,EAAAA,EAAAA,cAAa,yBACpC,SAAAE,GAAO,OAAI,SAAC+mB,GAA8C,OACtD/mB,EAAQ,CAAE+mB,SAAAA,GAAW,KAEvB8G,GAAqB/tB,EAAAA,EAAAA,cAAa,yBACpC,SAAAE,GAAO,OAAI,SAAC8tB,GAAyC,OACjD9tB,EAAQ,CAAE8tB,WAAAA,GAAa,KAalBC,EAAiB,CAC1BH,mBAAAA,EACAI,oBAbuBluB,EAAAA,EAAAA,cAAa,yBACpC,SAAAE,GAAO,OAAI,SAAC3F,GAAa,OAAK2F,EAAQ,CAAE3F,MAAAA,GAAQ,KAahDwzB,mBAAAA,EACAF,aAAAA,EACAM,0BAb6BnuB,EAAAA,EAAAA,cAAa,gCAC1C,SAAAE,GAAO,OAAI,SAACuc,GAAkB,OAAKvc,EAAQ,CAAEuc,WAAAA,GAAa,KAa1D2R,0BAX6BpuB,EAAAA,EAAAA,cAAa,gCAY1CquB,0BAX6BruB,EAAAA,EAAAA,cAAa,gCAC1C,SAAAE,GAAO,OAAI,SAAC3F,GAAa,OAAK2F,EAAQ,CAAE3F,MAAAA,GAAQ,K,uECCvCoW,EAAqB,CAC9BhY,SApBYqH,EAAAA,EAAAA,cAAa,iCAqBzBsuB,UApBatuB,EAAAA,EAAAA,cAAa,kCAC1B,SAAAE,GAAO,OAAI,SAACwiB,EAAkCjqB,GAA0B,OACpEyH,EAAQ,CAAEwiB,UAAAA,EAAWjqB,aAAAA,GAAe,KAmBxCwC,OAjBU+E,EAAAA,EAAAA,cAAa,+BACvB,SAAAE,GAAO,OAAI,SAACwJ,GAAyB,OAAKxJ,EAAQ,CAAEwJ,kBAAAA,GAAoB,KAiBxE+H,mBAfsBzR,EAAAA,EAAAA,cAAa,uCACnC,SAAAE,GAAO,OAAI,SAACwJ,EAA2BQ,EAAoBqH,EAAeC,EAAsBE,GAAiB,OAC7GxR,EAAQ,CAAEwJ,kBAAAA,EAAmBQ,WAAAA,EAAYqH,MAAAA,EAAOC,YAAAA,EAAaE,YAAAA,GAAc,KAc/Ed,aAZgB5Q,EAAAA,EAAAA,cAAa,uCAC7B,SAAAE,GAAO,OAAI,SACPwJ,EACAgH,EACAD,GAAuB,OACvBvQ,EAAQ,CAAEwJ,kBAAAA,EAAmBgH,wBAAAA,EAAyBD,iBAAAA,GAAmB,K,uECf3E8d,GAAsBvuB,EAAAA,EAAAA,cACxB,4CACA,SAAAE,GAAO,OACH,SAACzH,EAA4B+1B,GAAiC,OAC1DtuB,EAAQ,CAAEzH,aAAAA,EAAc+1B,eAAAA,GAAgB,KAG9CC,GAAezuB,EAAAA,EAAAA,cACjB,4CACA,SAAAE,GAAO,OACH,SAACwuB,EAA0DC,GAA0B,OACjFzuB,EAAQ,CAAEwuB,YAAAA,EAAaC,aAAAA,GAAe,KAG5CC,GAAc5uB,EAAAA,EAAAA,cAAa,2CAC3B6uB,GAAiB7uB,EAAAA,EAAAA,cAAa,+CAC9B8uB,GAAa9uB,EAAAA,EAAAA,cAAa,oCAInB+uB,EAAwB,CACjCN,aAAAA,EACAG,YAAAA,EACAI,aANgBhvB,EAAAA,EAAAA,cAAa,2CAO7B6uB,eAAAA,EACAN,oBAAAA,EACAO,WAAAA,E,uVCbSG,EAAwB,CACjC13B,KAwCJ,SAAcmS,GACV,sBAAAlS,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAUoC,GAAQ,IAAAi1B,EAAAC,EAAAxL,EAAAyL,EAAAC,EAAA,OAAA33B,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAENmsB,EAAAA,GAAYC,sBAAsB,KAAD,EAIwB,OAJrEyK,EAAG/2B,EAAAY,KAEHo2B,EAAczlB,EACd2P,EAAAA,GAAYiW,mBAAmB5lB,GAC/B6lB,QAAQrvB,QAAQjG,IAAWu1B,eAAe7L,MAAQ,CAAE9Y,WAAY,KAAK1S,EAAAE,KAAA,EAExD82B,EAAY,KAAD,GAAxBxL,EAAIxrB,EAAAY,MAED8I,eACLhK,EAAS43B,EAAW9L,EAAK8F,OACzB5xB,EAAS63B,EAAkB/L,EAAKgM,UAChC93B,EAAS+3B,EAAoBjM,EAAKkM,YAClCh4B,EAASi4B,EAAenM,EAAKoM,SAASvzB,KACtC3E,EAASm4B,EAAmBrM,EAAKsM,eACjCp4B,EAASq4B,EAAmBvM,EAAKkB,SAAWlB,EAAKkB,QAAQsL,WAAc,KACvEt4B,EAASu4B,EAAAA,IAAkB74B,KAAKosB,EAAK9Y,WAAYwlB,EAAAA,GAAYxlB,eAC7DhT,EAASy4B,EAAkB3M,IAC3B9rB,EAAS04B,EAAwB5M,EAAK6M,oBAElC7M,EAAK8M,gBACCrB,EAAkBsB,EAA2B/M,EAAK8M,eACxD54B,EAAS84B,EAAyBhN,EAAK8M,cAAcG,qBACrD/4B,EAASg5B,EAAoBlN,EAAK8M,cAAcK,gBAChDj5B,EAASk5B,EAAkBpN,EAAK8M,cAAcO,cAC9Cn5B,EAASo5B,EAA0BtN,EAAK8M,cAAcS,sBACtDr5B,EAASs5B,EAAsBxN,EAAK8M,cAAcW,cAClDv5B,EAASw5B,EAAuBjC,EAAgBkC,aAChDz5B,EAAS05B,EAAoBnC,EAAgB3e,mBAC7C5Y,EAAS25B,EAAoBpC,EAAgBqC,mBAC7C55B,EAAS65B,EAAyBtC,EAAgBuC,gBAC9ChO,EAAK8M,cAAcmB,cACbvC,EAAWlP,EAAAA,GAAc0R,cAAclO,EAAK8M,cAAcmB,gBAE5D/5B,EAASi6B,EAAuBzC,EAAS0C,OAAS,KAClDl6B,EAASm6B,EAAyB3C,EAAS4C,SAAW,SAKlEp6B,EAAS43B,EAAWP,IACpBr3B,EAAS63B,EAAkBvP,EAAAA,GAAc+R,qBAAqB,cAC9Dr6B,EAAS+3B,EAAoBzP,EAAAA,GAAc+R,qBAAqB,cAChEr6B,EAASm4B,EAAmB3X,EAAAA,GAAU8Z,sBACtCt6B,EAAS84B,GAAyB,IAClC94B,EAASs5B,EAAsBrM,EAAAA,EAAgBsN,OAC/Cv6B,EAASq4B,EAAkB,KAC3Br4B,EAASu4B,EAAAA,IAAkB74B,KAAKosB,EAAK9Y,WAAYwlB,EAAAA,GAAYxlB,eAC7DhT,EAASy4B,EAAkB3M,KAC9BxrB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAEDN,EAASyB,EAAAA,IAAaC,cAAapB,EAAAiB,KAAK,QAEM,OAFNjB,EAAAC,KAAA,GAExCP,EAAS,CAAES,KAAMC,EAAAA,GAAY85B,iBAAiBl6B,EAAAwG,OAAA,6BAAAxG,EAAAqB,OAAA,GAAA5B,EAAA,yBAErD,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EAxDD,EAyDJ,EAjGIsB,MA0GJ,WACI,OAAO,SAAApD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYwf,QAC7BlgB,EAASu4B,EAAAA,IAAkBn1B,SAC3BpD,EAASyB,EAAAA,IAAag5B,aAC1B,CACJ,EA/GI7C,WAAAA,EACAO,mBAAAA,EACAF,eAAAA,EACAJ,kBAAAA,EACAE,oBAAAA,EACAM,kBAAAA,EACAS,yBAAAA,EACAE,oBAAAA,EACAE,kBAAAA,EACAE,0BAAAA,EACAE,sBAAAA,EACAE,uBAAAA,EACAE,oBAAAA,EACAC,oBAAAA,EACAM,uBAAAA,EACAE,yBAAAA,EACAN,yBAAAA,EACAa,sBAqcJ,WACI,OAAO,WACHC,EAAAA,EAAQ/2B,KAAKg3B,EAAAA,GAAOC,kBACxB,CACJ,EAxcIrX,KA0cJ,WACI,OAAO,SAACxjB,EAAUoC,GACdpC,EAASirB,KACTjrB,EAASqpB,EAAAA,EAAY4B,YAErB,IAAQ6P,EAAY14B,IAAWu1B,eAAvBmD,QACFC,EAAmB34B,IAAWgnB,KAAK0R,QAErCA,GAAWC,IACX/6B,EAASg7B,GAAqB,IAC9BC,EAAO74B,KACF8B,MAAK,WACFlE,EAASk7B,IACb,IACC92B,OAAM,SAAAC,GACc,MAAbA,EAAEO,OACF5E,EACIsU,EAAAA,IAAoB6mB,iCAChBjR,EAAAA,GAAckR,YACdlR,EAAAA,GAAcmR,mBACd,IAIRr7B,EAASyB,EAAAA,IAAaiB,MAAM2B,EAAG6lB,EAAAA,GAAc5lB,iBAErD,IACC8B,SAAQ,kBAAMpG,EAASg7B,GAAqB,GAAO,IAEhE,CACJ,EAveIM,eAygBJ,WACI,sBAAA92B,GAAA5E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA2E,EAAOzE,EAAUoC,GAAQ,IAAA04B,EAAAC,EAAA/wB,EAAA,OAAAnK,EAAAA,EAAAA,KAAAQ,MAAA,SAAAwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,OAKqB,GAJjDR,EAASirB,KACTjrB,EAASqpB,EAAAA,EAAY4B,YAEb6P,EAAY14B,IAAWu1B,eAAvBmD,QACFC,EAAmB34B,IAAWgnB,KAAK0R,SAErCA,IAAWC,EAAgB,CAAAl2B,EAAArE,KAAA,SACU,OAArCR,EAASg7B,GAAqB,IAAOn2B,EAAAtE,KAAA,EAAAsE,EAAArE,KAAA,EAELy6B,EAAO74B,KAAY,KAAD,EAA3B,OAAb4H,EAAanF,EAAA3D,KAAA2D,EAAArE,KAAA,GACb+6B,EAAAA,GAAmBC,QAAQxxB,GAAe,KAAD,GAC/ChK,EAASk7B,KAASr2B,EAAArE,KAAA,iBAAAqE,EAAAtE,KAAA,GAAAsE,EAAAtD,GAAAsD,EAAA,SAElB7E,EAASyB,EAAAA,IAAa6C,gBAAeO,EAAAtD,KAAK,QAEJ,OAFIsD,EAAAtE,KAAA,GAE1CP,EAASg7B,GAAqB,IAAQn2B,EAAAiC,OAAA,6BAAAjC,EAAAlD,OAAA,GAAA8C,EAAA,yBAGjD,gBAAAg3B,EAAAC,GAAA,OAAAl3B,EAAA3C,MAAA,KAAAC,UAAA,EAnBD,EAoBJ,EA7hBI65B,WA+eJ,SAAoBC,EAAUC,GAC1B,sBAAAp1B,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,EAAUoC,GAAQ,IAAA04B,EAAAC,EAAA,OAAAl7B,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAKqB,GAJjDR,EAASirB,KACTjrB,EAASqpB,EAAAA,EAAY4B,YAEb6P,EAAY14B,IAAWu1B,eAAvBmD,QACFC,EAAmB34B,IAAWgnB,KAAK0R,SAErCA,IAAWC,EAAgB,CAAAp0B,EAAAnG,KAAA,SACU,OAArCR,EAASg7B,GAAqB,IAAOr0B,EAAApG,KAAA,EAAAoG,EAAAnG,KAAA,EAE3By6B,EAAO74B,KAAY,KAAD,EACxBu4B,EAAAA,EAAQ/2B,KAAKg4B,GAAUj1B,EAAAnG,KAAA,iBAAAmG,EAAApG,KAAA,GAAAoG,EAAApF,GAAAoF,EAAA,SAEvBk1B,GAAuB,GACvB77B,EAASyB,EAAAA,IAAa6C,gBAAeqC,EAAApF,KAAK,QAEJ,OAFIoF,EAAApG,KAAA,GAE1CP,EAASg7B,GAAqB,IAAQr0B,EAAAG,OAAA,YAAAH,EAAAnG,KAAA,iBAEnCq7B,GACPA,GAAuB,GAC1B,yBAAAl1B,EAAAhF,OAAA,GAAA+E,EAAA,yBACJ,gBAAAzB,EAAAS,GAAA,OAAAe,EAAA5E,MAAA,KAAAC,UAAA,EArBD,EAsBJ,EArgBI42B,wBAAAA,EACAD,kBAAAA,EACAqD,aAAAA,EACAhO,WAilBJ,SAAoB9jB,GAChB,OAAO,SAAAhK,GACHA,EAAS87B,GAAa,IAEtBP,EAAAA,GACKvN,OAAOhkB,GACP9F,MACG,kBAAMy2B,EAAAA,EAAQ/2B,KAAKg3B,EAAAA,GAAOC,kBAAkB,IAC5C,SAAAx2B,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,kBAAkB,GAEzD,CACJ,GAzlBau0B,EAA6B,SAAAD,GACtC,OAAqB,OAAbA,QAAa,IAAbA,OAAa,EAAbA,EAAeW,aACnB,KAAKtM,EAAAA,EAAgBqD,SAAU,OAAOsI,EAAcmD,SACpD,KAAK9O,EAAAA,EAAgBsN,KAAM,OAAO3B,EAAcoD,KAChD,KAAK/O,EAAAA,EAAgBgP,gBAAiB,OAAOrD,EAAcsD,IAC3D,KAAKjP,EAAAA,EAAgBkP,QAAS,OAAOvD,EAAcwD,QACnD,QAAS,MAAO,CAAC,EAEzB,EA+DA,SAAS3D,EAAkB3M,GACvB,MAAO,CACHrrB,KAAMC,EAAAA,GAAY27B,oBAClBvQ,KAAAA,EAER,CAUA,SAAS4M,EAAwB9G,GAC7B,OAAO,SAAC5xB,EAAUoC,GACd,IAAAk6B,EAAwBl6B,IAAWu1B,eAA3BhT,OAAAA,OAAM,IAAA2X,EAAG,CAAC,EAACA,EAEnBt8B,EAAS,CACLS,KAAMC,EAAAA,GAAY67B,wBAClBl7B,QAAS,CAAEuwB,KAAAA,KAGXjN,GAAUA,EAAOgU,mBACjB34B,EAASirB,IAEjB,CACJ,CAEA,SAAS2M,EAAWhG,GAChB,OAAO,SAAC5xB,EAAUoC,GACd,IAAAo6B,EAAwBp6B,IAAWu1B,eAA3BhT,OAAAA,OAAM,IAAA6X,EAAG,CAAC,EAACA,EAEnBx8B,EAAS,CAAES,KAAMC,EAAAA,GAAY+7B,YAAa7K,KAAAA,IACtCjN,GAAUA,EAAOiN,MACjB5xB,EAASirB,IAEjB,CACJ,CAEA,SAASkN,EAAmBuE,GACxB,MAAO,CACHj8B,KAAMC,EAAAA,GAAYi8B,eAClBD,KAAAA,EAER,CAEA,SAASzE,EAAeC,GACpB,MAAO,CACHz3B,KAAMC,EAAAA,GAAYk8B,UAClB1E,SAAAA,EAER,CAEA,SAASL,EAAkBgF,GACvB,OAAO,SAAC78B,EAAUoC,GACd,IAAA06B,EAAwB16B,IAAWu1B,eAA3BhT,OAAAA,OAAM,IAAAmY,EAAG,CAAC,EAACA,EAEnB98B,EAAS,CAAES,KAAMC,EAAAA,GAAYq8B,SAAUF,KAAAA,IACnCG,EAAcrY,IACd3kB,EAASirB,KAGb,IAAMgS,EAAc1P,IAAAA,IAAWsP,GACzBK,EAAgB3P,IAAAA,IAAWsP,GAAMtqB,IAAI,EAAG,QAM9CvS,EAAS+3B,EAJSmF,EAAchI,OAAO+H,EAAa,OAC9CC,EAAcC,OAAO3c,EAAAA,GAAU4c,mBAC/B9U,EAAAA,GAAc+R,qBAAqB,aAG7C,CACJ,CAEA,SAAStC,EAAoB8E,GACzB,OAAO,SAAC78B,EAAUoC,GACd,IAAAi7B,EAAwBj7B,IAAWu1B,eAA3BhT,OAAAA,OAAM,IAAA0Y,EAAG,CAAC,EAACA,EAEnBr9B,EAAS,CAAES,KAAMC,EAAAA,GAAY48B,WAAYT,KAAAA,IACrCG,EAAcrY,IACd3kB,EAASirB,IAEjB,CACJ,CAEA,SAAS+R,IAA4B,IAAdrY,EAAM7iB,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,CAAC,EAC7B,OAAO6iB,EAAOkY,MAAQlY,EAAOoV,aAAepV,EAAO/L,kBAAoB+L,EAAOiV,gBAClF,CAEA,SAASvB,EAAkBC,GACvB,MAAO,CACH73B,KAAMC,EAAAA,GAAY68B,WAClBjF,UAAAA,EAER,CAEA,SAASQ,EAAyB3mB,GAC9B,MAAO,CACH1R,KAAMC,EAAAA,GAAY88B,4BAClBrrB,MAAAA,EAER,CACA,SAAS6mB,EAAoB7mB,GACzB,MAAO,CACH1R,KAAMC,EAAAA,GAAY+8B,uBAClBtrB,MAAAA,EAER,CACA,SAAS+mB,EAAkB/mB,GACvB,MAAO,CACH1R,KAAMC,EAAAA,GAAYg9B,qBAClBvrB,MAAAA,EAER,CACA,SAASinB,EAA0BjnB,GAC/B,MAAO,CACH1R,KAAMC,EAAAA,GAAYi9B,6BAClBxrB,MAAAA,EAER,CACA,SAASyrB,EAA2BrE,GAEhC,OAAOA,IAAgBtM,EAAAA,EAAgBsN,MACnChB,IAAgBtM,EAAAA,EAAgBqD,UAChCiJ,IAAgBtM,EAAAA,EAAgBgP,iBAChC1C,IAAgBtM,EAAAA,EAAgBkP,QAC9B7T,EAAAA,GAAc+R,qBALC,YAMf,IACV,CASA,SAASwD,EAA6BtE,GAClC,OAAOA,IAAgBtM,EAAAA,EAAgBqD,UACnCiJ,IAAgBtM,EAAAA,EAAgBsN,MAChChB,IAAgBtM,EAAAA,EAAgBkP,QAC9B2B,EAAAA,EAAmBC,KACnB,IACV,CACA,SAASzE,EAAsBnnB,GAC3B,OAAO,SAACnS,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAYs9B,yBAClB7rB,MAAAA,IAIJnS,EAASw5B,EADUrnB,IAAU8a,EAAAA,EAAgBgR,SAAW,KAAO,IAE/Dj+B,EAAS05B,EAAoBkE,EAA2BzrB,KACxDnS,EAAS25B,EAAoB,OAC7B35B,EAAS65B,EAAyBgE,EAA6B1rB,KAE3D6qB,EAAc56B,IAAWu1B,eAAehT,SACxC3kB,EAASirB,IAEjB,CACJ,CACA,SAASuO,EAAuBrnB,GAC5B,OAAO,SAACnS,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAYw9B,2BAClB/rB,MAAAA,IAGJ,IAAMonB,EAAcn3B,IAAWu1B,eAAewG,gBAE9Cn+B,EAAS05B,EAAoBkE,EAA2BrE,KACxDv5B,EAAS25B,EAA+B,KAAVxnB,EA3CtC,SAAoConB,GAEhC,OAAOA,IAAgBtM,EAAAA,EAAgBsN,MACnChB,IAAgBtM,EAAAA,EAAgBqD,UAChCiJ,IAAgBtM,EAAAA,EAAgBkP,QAC9B7T,EAAAA,GAAc+R,qBAJC,YAKf,IACV,CAoCoD+D,CAA2B7E,GAAe,OACtFv5B,EAAS65B,EAAyBgE,EAA6BtE,KAE3DyD,EAAc56B,IAAWu1B,eAAehT,SACxC3kB,EAASirB,IAEjB,CACJ,CACA,SAASyO,EAAoBvnB,GACzB,OAAO,SAACnS,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAY29B,oBAClBlsB,MAAAA,IAGJ,IAAQwS,EAAWviB,IAAWu1B,eAAtBhT,QACE,OAANA,QAAM,IAANA,GAAAA,EAAQ/L,kBAAoB+L,EAAOiV,mBACnC55B,EAASirB,IAEjB,CACJ,CACA,SAAS0O,EAAoBxnB,GACzB,OAAO,SAACnS,EAAUoC,GAEdpC,EAAS,CACLS,KAAMC,EAAAA,GAAY49B,oBAClBnsB,MAAAA,IAGJ,IAAQwS,EAAWviB,IAAWu1B,eAAtBhT,QACE,OAANA,QAAM,IAANA,GAAAA,EAAQ/L,kBAAoB+L,EAAOiV,mBACnC55B,EAASirB,IAEjB,CACJ,CACA,SAASgP,EAAuB9nB,GAC5B,OAAO,SAACnS,EAAUoC,GACd,IAAQuiB,EAAWviB,IAAWu1B,eAAtBhT,OAER3kB,EAAS,CACLS,KAAMC,EAAAA,GAAY69B,2BAClBpsB,MAAAA,IAGM,OAANwS,QAAM,IAANA,GAAAA,EAAQoV,aACR/5B,EAASirB,IAEjB,CACJ,CACA,SAASkP,EAAyBhoB,GAC9B,OAAO,SAACnS,EAAUoC,GACd,IAAQuiB,EAAWviB,IAAWu1B,eAAtBhT,OAER3kB,EAAS,CACLS,KAAMC,EAAAA,GAAY89B,6BAClBrsB,MAAAA,IAGM,OAANwS,QAAM,IAANA,GAAAA,EAAQoV,aACR/5B,EAASirB,IAEjB,CACJ,CACA,SAAS4O,EAAyB1nB,GAC9B,MAAO,CACH1R,KAAMC,EAAAA,GAAY+9B,4BAClBtsB,MAAAA,EAER,CACA,SAAS8Y,IACL,OAAO,SAACjrB,EAAUoC,GACd,IAAAs8B,EACIt8B,IAAWu1B,eADP/F,EAAI8M,EAAJ9M,KAAM+G,EAAiB+F,EAAjB/F,kBAAmBgG,EAAgBD,EAAhBC,iBAAkBC,EAAkBF,EAAlBE,mBAAuBC,GAAKC,EAAAA,EAAAA,GAAAJ,EAAAK,GAGzEjH,EAAUvK,IAAAA,IAAWyR,EAAYpN,EAAMqN,EAAWJ,EAAM/G,WACxDE,EAAYzK,IAAAA,IAAWyR,EAAYpN,EAAMqN,EAAWJ,EAAM7G,aAC1Dpf,EAAmBimB,EAAMjmB,iBAAmB2U,IAAAA,IAAWyR,EAAYpN,EAAMiN,EAAMjmB,mBAAqB,KACpGghB,EAAmBiF,EAAMjF,iBAAmBrM,IAAAA,IAAWyR,EAAYpN,EAAMiN,EAAMjF,mBAAqB,KAEpGjV,EAAS,CAAC,EAChBA,EAAOiN,KAmBf,SAAsBA,GAClB,GAAa,KAATA,EACA,OAAO1H,EAAAA,GAAcwK,MAClB,GAAoB,qBAAT9C,EACd,OAAO1H,EAAAA,GAAcyK,aAGzB,IAAMuK,EAAa3R,IAAOqE,GACpBmD,EAAUmK,EAAWC,aAE3B,GAAI,CAAC,EAAG,GAAG/a,MAAK,SAAA4Q,GAAC,OAAIA,IAAMD,CAAO,IAC9B,OAAO7K,EAAAA,GAAc+K,2BAGzB,MACJ,CAlCsBmK,CAAaxN,GAC3BjN,EAAOkY,KAuDf,SAAsB/E,EAASE,GAC3B,GAAIF,GAAWE,EACX,OAAO9N,EAAAA,GAAcmV,gCAE7B,CA3DsBC,CAAaxH,EAASE,GACpCrT,EAAOgU,kBAkCf,SAAmC/G,GAC/B,GAAa,KAATA,EACA,OAAO1H,EAAAA,GAAcwK,MAClB,GAAoB,qBAAT9C,EACd,OAAO1H,EAAAA,GAAcyK,aAGzB,IAAMpF,EAAMhC,MAASgS,SAAS,EAAG,QAC3B/P,EAAMjC,MAAShb,IAAI,EAAG,QAE5B,GAAIgd,EAAIiQ,QAAQ5N,EAAM,MAAQpC,EAAIiQ,SAAS7N,EAAM,KAC7C,OAAO1H,EAAAA,GAAczL,UACjB8Q,EAAI4N,OAAO3c,EAAAA,GAAUkf,YACrBlQ,EAAI2N,OAAO3c,EAAAA,GAAUkf,aAI7B,MACJ,CApDmCC,CAA0BhH,GACrDhU,EAAOoV,YA2Df,SAA6BG,EAAOE,GAChC,IAAMrf,OAAOmf,KAAWnf,OAAOqf,GAAW,OAE1C,IAAMwF,EAAqD,GAAtC9X,EAAAA,GAAa+X,gBAAgB3F,GAAcpS,EAAAA,GAAa+X,gBAAgBzF,GAGvF0F,EAAW,GAEjB,GAAIF,EAHQ,IAGcA,EAA2B,GAAXE,EACtC,OAAO5V,EAAAA,GAAc6V,gBAAgB,GAAD7tB,OAAI,GAAE,eAAAA,OAAe4tB,EAAQ,WAGrE,MACJ,CAxE6BE,CAAoBrB,EAAkBC,GAC3Dja,EAAO/L,iBAyEf,SAA2BqnB,EAAWC,EAAWC,EAAOC,GACpD,IAAKH,EAAW,OAChB,GAAIE,GAASC,IAAQH,EAAUR,SAASU,IAAUF,EAAUT,QAAQY,IAChE,MAAO,qDAEX,GAAIF,GAAaD,EAAUI,cAAcH,GACrC,MAAO,oEAGX,MACJ,CAnFkCI,CAAkB1nB,EAAkBghB,EAAkB9B,EAASE,GACzFrT,EAAOiV,iBAoFf,SAA2BqG,EAAWC,EAAWC,EAAOC,GACpD,IAAKF,EAAW,OAChB,GAAIC,GAASC,IAAQF,EAAUT,SAASU,IAAUD,EAAUV,QAAQY,IAChE,MAAO,qDAEX,GAAIH,GAAaC,EAAUK,eAAeN,GACtC,MAAO,iEAGX,MACJ,CA9FkCO,CAAkB5nB,EAAkBghB,EAAkB9B,EAASE,GAEzF,IAAM8C,IAAW2F,EAAAA,EAAAA,QAAO9b,GAAQP,MAAK,SAAAsc,GAAC,QAAMA,CAAC,IAE7C1gC,EAAS,CACLS,KAAMC,EAAAA,GAAYigC,SAClBC,WAAY,CACRjc,OAAAA,EACAmW,QAAAA,IAGZ,CACJ,CAoFA,SAASmE,EAAW4B,GAGhB,MAAa,aAFAvY,EAAAA,GAAcwY,uBAAuBD,GAGvCvY,EAAAA,GAAc+R,qBAAqB,eAGvCwG,CACX,CAEO,SAAS7B,EAAY+B,EAAUlE,GAClC,GAAKA,EAEL,OAAQkE,EAAWxT,IAAAA,IAAWwT,GAAYxT,IAAAA,OACrCyT,IAAI,OAAQzT,IAAAA,IAAWsP,GAAM3C,SAC7B8G,IAAI,SAAUzT,IAAAA,IAAWsP,GAAMoE,SACxC,CAwCA,SAASjG,EAAqBkG,GAC1B,MAAO,CACHzgC,KAAMC,EAAAA,GAAYygC,aAClBD,SAAAA,EAER,CAkDA,SAAShG,IACL,OAAO,SAACl7B,EAAUoC,GACdA,IAAWgnB,KAAKD,UACXnI,QAAO,SAAAM,GAAC,OAAKA,EAAEoD,OAASpD,EAAE8f,SAAW9f,EAAE3c,EAAE,IACzCmhB,SAAQ,SAAAxE,GACLthB,EAASqhC,EAAAA,EAAkBC,kBAAkBhgB,EAAE3c,GAAI2c,EAAE8f,SACzD,IACJphC,EAAS,CAAES,KAAMC,EAAAA,GAAY6gC,YACjC,CACJ,CAEA,SAAStG,EAAO4D,GAAQ,IAAD2C,EAAAC,EACb5W,EAAYgU,EAAMzV,KAAKD,UAAUnI,QAAO,SAAAM,GAAC,OAAKA,EAAEoD,KAAK,IAC3Dgd,EAEuF7C,EAAMlH,eAFrF7L,EAAI4V,EAAJ5V,KAAM8F,EAAI8P,EAAJ9P,KAAMkG,EAAO4J,EAAP5J,QAASE,EAAS0J,EAAT1J,UAAWE,EAAQwJ,EAARxJ,SAAUE,EAAYsJ,EAAZtJ,aAAcE,EAASoJ,EAATpJ,UAAWK,EAAiB+I,EAAjB/I,kBACvEI,EAAkB2I,EAAlB3I,mBAAoBE,EAAayI,EAAbzI,cAAeE,EAAWuI,EAAXvI,YAAaE,EAAmBqI,EAAnBrI,oBAAqBsF,EAAgB+C,EAAhB/C,iBAAkBC,EAAkB8C,EAAlB9C,mBACvFT,EAAeuD,EAAfvD,gBAAiB1E,EAAUiI,EAAVjI,WAAY7gB,EAAgB8oB,EAAhB9oB,iBAAkBghB,EAAgB8H,EAAhB9H,iBAAkBE,EAAa4H,EAAb5H,cAE/Dz4B,EAAU,CACZ2I,cAAe8hB,EAAK9hB,cACpB4nB,KAAMrE,IAAOqE,GAAMpE,QAAQ,OAAOmU,UAAU,GAAG,GAAMxO,cACrD2E,QAASvK,IAAAA,IAAWuK,GAAS6J,UAAU,GAAG,GAAMxO,cAChD6E,UAAWzK,IAAAA,IAAWyK,GAAW2J,UAAU,GAAG,GAAMxO,cACpD+E,SAAAA,EACAE,aAAAA,EACAO,kBAAAA,EACAL,UAAwB,MAAbA,EAAoBA,EAAUjZ,OAASiZ,EAClDS,mBAAAA,EACAE,cAAAA,EACAE,YAAAA,EACAE,oBAAAA,EACAU,YAAa4E,GAAoBC,EAC3BtW,EAAAA,GAAckP,SACZ1P,EAAAA,GAAa+X,gBAAgBlB,GAC7B7W,EAAAA,GAAa+X,gBAAgBjB,GAC7B,QACFp2B,EACN+wB,YAAa4E,EACb1E,WAAAA,EACA7gB,iBAAqD,QAArC4oB,EAAExC,EAAYpN,EAAMhZ,UAAiB,IAAA4oB,OAAA,EAAnCA,EAAqCrO,cACvDyG,iBAAqD,QAArC6H,EAAEzC,EAAYpN,EAAMgI,UAAiB,IAAA6H,OAAA,EAAnCA,EAAqCtO,cACvD2G,cAAAA,EACAjP,UAAAA,GAGJ,OAAO0Q,EAAAA,GAAmB/X,KAAKniB,EACnC,CAEA,SAASy6B,EAAa/zB,GAClB,MAAO,CACHtH,KAAMC,EAAAA,GAAYkhC,cAClB9F,aAAc,CAAE/zB,QAAAA,GAExB,C,uECxnBM85B,GAAgB15B,EAAAA,EAAAA,cAClB,sCACA,SAAAE,GAAO,OAAI,SAACy5B,GAAgD,OAAKz5B,EAAQ,CAAEy5B,gBAAAA,GAAkB,KAG3FC,GAAe55B,EAAAA,EAAAA,cACjB,sCACA,SAAAE,GAAO,OAAI,SAAC25B,GAAgB,OAAK35B,EAAQ,CAAE25B,SAAAA,GAAW,KAGpDC,GAAyB95B,EAAAA,EAAAA,cAC3B,4CACA,SAAAE,GAAO,OAAI,SAAC65B,GAAkC,OAAK75B,EAAQ,CAAE65B,QAAAA,GAAU,KAGrEC,GAA6Bh6B,EAAAA,EAAAA,cAAa,kDA0BnCi6B,EAAwB,CACjCH,uBAAAA,EACAJ,cAAAA,EACAE,aAAAA,EACAM,6CA5BgDl6B,EAAAA,EAAAA,cAChD,6DACA,SAAAE,GAAO,OAAI,SAACi6B,GAAmC,OAAKj6B,EAAQ,CAAEi6B,UAAAA,GAAY,KA2B1EC,qBAxBwBp6B,EAAAA,EAAAA,cACxB,wCACA,SAAAE,GAAO,OAAI,SAACyuB,GAAoC,OAAKzuB,EAAQ,CAAEyuB,aAAAA,GAAe,KAuB9E0L,oBApBuBr6B,EAAAA,EAAAA,cAAa,uCAqBpC0B,eAnBkB1B,EAAAA,EAAAA,cAClB,kCACA,SAAAE,GAAO,OAAI,SAACiB,GAAkB,OAAKjB,EAAQ,CAAEiB,WAAAA,GAAa,KAkB1D64B,2BAAAA,EACA/+B,OAhBU+E,EAAAA,EAAAA,cAAa,wBAiBvBs6B,sCAfyCt6B,EAAAA,EAAAA,cACzC,4DACA,SAAAE,GAAO,OAAI,SAACN,GAAgB,OAAKM,EAAQ,CAAEN,QAAAA,GAAU,K,8HCjC5C26B,EAAqB,CAC9BhjC,KAMJ,SAAcsK,GACV,sBAAArK,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAMC,GAAQ,IAAAE,EAAAyiC,EAAAC,EAAAC,EAAAziC,EAAA0iC,EAAAC,EAAAtlB,EAAA,OAAA5d,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAQ4D,OAR5DF,EAAAC,KAAA,EAEbP,EAASgjC,GAAwB,IAC3B9iC,EAAkC,MAAjB8J,EACjBi5B,EAAAA,GAAiBC,WAAWl5B,GAC5B,IAAI0tB,SAAQ,SAAArvB,GAAO,OAAIA,OAAQG,EAAU,IACzCm6B,EAAmBQ,EAAAA,GAAgBC,eACnCR,EAAgBO,EAAAA,GAAgBE,UAAU7iB,EAAAA,GAAU8iB,eACpDT,EAA8BU,EAAAA,GAA4BC,UAASljC,EAAAE,KAAA,EAEnDN,EAAe,KAAD,EAAvB,OAAPE,EAAOE,EAAAY,KAAAZ,EAAAE,KAAA,GACWmiC,EAAiB,KAAD,GAAzB,OAATG,EAASxiC,EAAAY,KAAAZ,EAAAE,KAAA,GACMoiC,EAAc,KAAD,GAAtB,OAANG,EAAMziC,EAAAY,KAAAZ,EAAAE,KAAA,GACuBqiC,EAA4B,KAAD,GAM5D,GANIplB,EAAoBnd,EAAAY,KAE1BlB,EAASyjC,EAAcX,IACvB9iC,EAAS0jC,EAAWX,IACpB/iC,EAASqjB,EAA0B5F,EAAqB7V,KAAI,SAAA0Z,GAAC,OAAAhf,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACpDgf,GAAC,IAAE+P,SAAUjxB,GAAWA,EAAQqd,qBAAqB2G,MAAK,SAAAuf,GAAC,OAAIA,EAAEh/B,KAAO2c,EAAE3c,EAAE,KAAC,MAGjE,MAAjBqF,IAAyB5J,EAAO,CAAAE,EAAAE,KAAA,YAC3BJ,EAAQuE,GAAG,CAADrE,EAAAE,KAAA,eACL,IAAIojC,MAAM,CAAEh/B,OAAQ,IAAKi/B,QAAS,sBAAuB,KAAD,GAE9DzjC,EAAQ0jC,cAAgBtjB,EAAAA,GAAU8iB,eAClCtjC,EAAS+jC,EAAW3jC,EAAQ4jC,UAEhC5jC,EAAQ6jC,iBAAmB7jC,EAAQ8jC,mBAAqBC,EAAAA,GAAiBC,OAASD,EAAAA,GAAiBE,SAC/FjkC,EAAQkkC,OACRlkC,EAAQkkC,KAAOlkC,EAAQkkC,KAAKjlB,QAEH,MAAzBjf,EAAQmkC,gBACRnkC,EAAQmkC,cAAgB,CAAC,GAC5B,QAELvkC,EAASwkC,EAAYpkC,IAAUE,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAG/BN,EAASyB,EAAAA,IAAaC,cAAapB,EAAAiB,KAAK,QAGC,OAHDjB,EAAAC,KAAA,GAGxCP,EAASgjC,GAAwB,IAAQ1iC,EAAAwG,OAAA,6BAAAxG,EAAAqB,OAAA,GAAA5B,EAAA,yBAEhD,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EA5CD,EA6CJ,EAnDIsB,MAmLJ,WACI,OAAO,SAAApD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYwf,QAC7BlgB,EAASyB,EAAAA,IAAag5B,aAC1B,CACJ,EAvLIjX,KA4FJ,SAAcid,GACV,sBAAAh6B,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,EAAUoC,GAAQ,IAAAqiC,EAAAhnB,EAAArd,EAAAskC,EAAAC,EAAAC,EAAAC,EAAA1oB,EAAA2oB,EAAAC,EAAA,OAAAllC,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAoCT,OAnCnBR,EAASglC,GAAO,IAAOP,EAEmBriC,IAAW6iC,YAA7CxnB,EAAoBgnB,EAApBhnB,qBAAsBrd,EAAOqkC,EAAPrkC,QACxBskC,EAAiBjE,EAAOyE,OAASC,EAAAA,GAAaC,aAC9CT,EAAQ,CACVhgC,GAAI87B,EAAO97B,GACX6P,KAAMisB,EAAOjsB,KAAK6K,OAClBld,MAAOs+B,EAAOt+B,MAAQs+B,EAAOt+B,MAAMkd,OAAS,KAC5CgmB,QAAS5E,EAAO4E,QAAU5E,EAAO4E,QAAQhmB,OAAS,KAClDykB,YAAarD,EAAOqD,YACpBE,QAASvD,EAAOuD,QAChBnF,MAAO4B,EAAOuD,QAAU,KAAOvD,EAAO5B,MAAMxf,OAC5CimB,OAAQ7E,EAAO6E,OACfC,KAAM9E,EAAO6E,OAAS,KAAO7E,EAAO8E,KAAKlmB,OACzCmmB,QAAS/E,EAAO+E,QAAU/E,EAAO+E,QAAQnmB,OAAS,GAClDomB,QAAShF,EAAOgF,QAAQpmB,OACxB6lB,KAAMzE,EAAOyE,KACbQ,KAAMjF,EAAOiF,KAAOjF,EAAOiF,KAAKrmB,OAAOsmB,cAAgB,GACvDC,iBAAkBlB,GAAkBjE,EAAOmF,iBAAmBnF,EAAOmF,iBAAiBvmB,OAAS,KAC/FilB,KAAMI,GAAkBjE,EAAO6D,KAAO7D,EAAO6D,KAAKjlB,OAAOsmB,cAAgB,KACzEzB,oBAAoB9jC,GAAUA,EAAQ6jC,mBAAqBE,EAAAA,GAAiBC,OAC5EG,cAAe,CACXsB,UAAWpF,EAAOqF,uBAClBC,SAAUtF,EAAOuF,sBACjBC,MAAOxF,EAAOyF,mBACdC,OAAQ1F,EAAO2F,oBAAsB3F,EAAO2F,oBAAoB/mB,OAAS,KACzEgnB,OAAQ5F,EAAO6F,oBAAsB7F,EAAO6F,oBAAoBjnB,OAAS,OAI3EulB,EAA+BnnB,EAChCuD,QAAO,SAAAM,GAAC,OAAImf,EAAOhjB,qBAAqB2G,MAAK,SAAAmiB,GAAC,OAAIA,IAAMjlB,EAAE3c,EAAE,OAAMvE,IAAWA,EAAQqd,qBAAqB2G,MAAK,SAAAwP,GAAC,OAAIA,EAAEjvB,KAAO2c,EAAE3c,EAAE,IAAS,IAC1IiD,KAAI,SAAA0Z,GAAC,OAAIA,EAAE3c,EAAE,IACZkgC,EAAiCpnB,EAClCuD,QAAO,SAAAM,GAAC,OAAKmf,EAAOhjB,qBAAqB2G,MAAK,SAAAmiB,GAAC,OAAIA,IAAMjlB,EAAE3c,EAAE,KAAKvE,GAAWA,EAAQqd,qBAAqB2G,MAAK,SAAAwP,GAAC,OAAIA,EAAEjvB,KAAO2c,EAAE3c,EAAE,GAAC,IAClIiD,KAAI,SAAA0Z,GAAC,OAAIA,EAAE3c,EAAE,IAACgC,EAAApG,KAAA,EAAAoG,EAAAnG,KAAA,EAGSyiC,EAAAA,GAAiBzf,KAAKmhB,GAAO,KAAD,EAQ7B,OARjBxoB,EAASxV,EAAAzF,KAET4jC,EAAgBF,EAA6Br8B,OAC7Cg7B,EAAAA,GAA4BiD,OAAO,CAAErqB,UAAAA,EAAWsqB,yBAA0B7B,IAC1ElN,QAAQrvB,UAER08B,EAAkBF,EAA+Bt8B,OACjDg7B,EAAAA,GAA4BmD,SAAS,CAAEvqB,UAAAA,EAAWsqB,yBAA0B5B,IAC5EnN,QAAQrvB,UAAS1B,EAAAnG,KAAA,GAEjBskC,EAAc,KAAD,UAAAn+B,EAAAnG,KAAA,GACbukC,EAAgB,KAAD,GAErB/kC,EA4BD,CACHS,KAAMC,EAAAA,GAAYimC,QA7BIhgC,EAAAnG,KAAA,iBAAAmG,EAAApG,KAAA,GAAAoG,EAAApF,GAAAoF,EAAA,SAElB3G,EAASyB,EAAAA,IAAaiB,MAAKiE,EAAApF,GAEvB2oB,EAAAA,GAAc5lB,gBACd4lB,EAAAA,GAAc0c,oCACf,QAEoB,OAFpBjgC,EAAApG,KAAA,GAEHP,EAASglC,GAAO,IAAOr+B,EAAAG,OAAA,6BAAAH,EAAAhF,OAAA,GAAA+E,EAAA,yBAE9B,gBAAAK,EAAA9B,GAAA,OAAAwB,EAAA5E,MAAA,KAAAC,UAAA,EA9DD,EA+DJ,EA3JIiiC,WAAAA,GAmDJ,SAAS1gB,EAA0B5F,GAC/B,MAAO,CACHhd,KAAMC,EAAAA,GAAYmmC,sBAClBppB,qBAAAA,EAER,CAEA,SAASsmB,EAAWC,GAChB,OAAO,SAAAhkC,GACCgkC,EACAb,EAAAA,GACK2D,UAAU9C,GACV9/B,MACG,SAAA6iC,GAAM,OAAI/mC,EAAS,CAAES,KAAMC,EAAAA,GAAYsmC,OAAQD,OAAAA,GAAS,IACxD,SAAA1iC,GAAC,OAAIrE,EAASyB,EAAAA,IAAaiB,MAAM2B,GAAG,IAG5CrE,EAAS,CAAES,KAAMC,EAAAA,GAAYsmC,OAAQD,OAAQ,IAErD,CACJ,CAEA,SAASrD,EAAWX,GAChB,MAAO,CACHtiC,KAAMC,EAAAA,GAAYumC,OAClBlE,OAAAA,EAER,CAEA,SAASU,EAAcX,GACnB,MAAO,CACHriC,KAAMC,EAAAA,GAAYwmC,UAClBpE,UAAAA,EAER,CAEA,SAAS0B,EAAYpkC,GACjB,MAAO,CAAEK,KAAMC,EAAAA,GAAYymC,QAAS/mC,QAAAA,EACxC,CAoEA,SAAS4iC,EAAwBp+B,GAC7B,MAAO,CACHnE,KAAMC,EAAAA,GAAY0mC,4BAClB/lC,QAAS,CAAEuD,OAAAA,GAEnB,CAEA,SAASogC,EAAO9D,GACZ,MAAO,CACHzgC,KAAMC,EAAAA,GAAY2mC,OAClBnG,SAAAA,EAER,C,uEC/KMoG,GAAqBn/B,EAAAA,EAAAA,cAAa,2CAClCo/B,GAAqBp/B,EAAAA,EAAAA,cACvB,2CACA,SAAAE,GAAO,OAAI,SAACm/B,EAAsBC,GAAmC,OAAKp/B,EAAQ,CAAEm/B,MAAAA,EAAOC,aAAAA,GAAe,KAExGC,GAAqBv/B,EAAAA,EAAAA,cAAa,2CAElCw/B,GAAWx/B,EAAAA,EAAAA,cACb,8BACA,SAAAE,GAAO,OAAI,SAACkJ,EAAgCq2B,GAAc,OAAKv/B,EAAQ,CAAEkJ,KAAAA,EAAMq2B,OAAAA,GAAS,KAEtFC,GAAqB1/B,EAAAA,EAAAA,cACvB,0CACA,SAAAE,GAAO,OAAI,SAACzH,EAA4BoF,GAAkB,OAAKqC,EAAQ,CAAEzH,aAAAA,EAAcoF,KAAAA,GAAO,KAE5F8hC,GAAY3/B,EAAAA,EAAAA,cACd,mCACA,SAAAE,GAAO,OAAI,SAACrC,GAAiB,OAAKqC,EAAQ,CAAErC,KAAAA,GAAO,KAGjD+hC,GAAkB5/B,EAAAA,EAAAA,cACpB,sCACA,SAAAE,GAAO,OACH,SAACkJ,EAAgCy2B,EAAuBC,GAAmC,OACvF5/B,EAAQ,CAAEkJ,KAAAA,EAAMy2B,cAAAA,EAAeC,iBAAAA,GAAmB,KAExDC,GAA4B//B,EAAAA,EAAAA,cAC9B,kDACA,SAAAE,GAAO,OAAI,SAACzH,GAA0B,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAElEunC,GAAmBhgC,EAAAA,EAAAA,cACrB,2CACA,SAAAE,GAAO,OAAI,SAAC+/B,GAAgC,OAAK//B,EAAQ,CAAE+/B,YAAAA,GAAc,KAGvEC,GAAclgC,EAAAA,EAAAA,cAChB,iCACA,SAAAE,GAAO,OAAI,SAACu/B,EAAgBU,GAAmB,OAAKjgC,EAAQ,CAAEu/B,OAAAA,EAAQU,YAAAA,GAAc,KAElFC,GAAapgC,EAAAA,EAAAA,cACf,gCACA,SAAAE,GAAO,OAAI,SAACu/B,GAAc,OAAKv/B,EAAQ,CAAEu/B,OAAAA,GAAS,KAEhDY,GAAwBrgC,EAAAA,EAAAA,cAC1B,6CACA,SAAAE,GAAO,OAAI,SAACzH,EAA4BgnC,GAAc,OAAKv/B,EAAQ,CAAEzH,aAAAA,EAAcgnC,OAAAA,GAAU,KAE3Fa,GAAiBtgC,EAAAA,EAAAA,cACnB,qCACA,SAAAE,GAAO,OAAI,SAACu/B,EAAgBhjC,GAAkB,OAAKyD,EAAQ,CAAEu/B,OAAAA,EAAQhjC,OAAAA,GAAS,KAE5E8jC,GAAiBvgC,EAAAA,EAAAA,cACnB,sCACA,SAAAE,GAAO,OAAI,SAACu/B,EAAgBU,GAAmB,OAAKjgC,EAAQ,CAAEu/B,OAAAA,EAAQU,YAAAA,GAAc,KAGlFK,GAAqBxgC,EAAAA,EAAAA,cACvB,yCACA,SAAAE,GAAO,OAAI,SAAC2/B,EAAuBC,EAAwBK,GAAmB,OAAMjgC,EAAQ,CACxF2/B,cAAAA,EACAC,iBAAAA,EACAK,YAAAA,GACF,KAEAM,GAAoBzgC,EAAAA,EAAAA,cACtB,wCACA,SAAAE,GAAO,OAAI,SAAC2/B,EAAuBC,GAAsB,OAAK5/B,EAAQ,CAAE2/B,cAAAA,EAAeC,iBAAAA,GAAmB,KAExGY,GAA+B1gC,EAAAA,EAAAA,cACjC,qDACA,SAAAE,GAAO,OAAI,SAACzH,EAA4BgnC,GAAc,OAAKv/B,EAAQ,CAC/DzH,aAAAA,EACAgnC,OAAAA,GACF,KAEAkB,GAAqB3gC,EAAAA,EAAAA,cACvB,6CACA,SAAAE,GAAO,OAAI,SAAC+/B,GAAgC,OAAK//B,EAAQ,CAAE+/B,YAAAA,GAAc,KAEvEW,GAAsB5gC,EAAAA,EAAAA,cACxB,8CACA,SAAAE,GAAO,OAAI,SAAC+/B,GAAgC,OAAK//B,EAAQ,CAAE+/B,YAAAA,GAAc,KAGvEY,GAAqB7gC,EAAAA,EAAAA,cAAa,mCAClC8gC,GAAsB9gC,EAAAA,EAAAA,cAAa,oCAkB5B7E,EAA0B,CACnCgkC,mBAAAA,EACAC,mBAAAA,EACAG,mBAAAA,EACAK,gBAAAA,EACAG,0BAAAA,EACAC,iBAAAA,EACAR,SAAAA,EACAE,mBAAAA,EACAC,UAAAA,EACAO,YAAAA,EACAE,WAAAA,EACAC,sBAAAA,EACAC,eAAAA,EACAC,eAAAA,EACAC,mBAAAA,EACAC,kBAAAA,EACAxlC,OAjCU+E,EAAAA,EAAAA,cAAa,0BAkCvB0gC,6BAAAA,EACAC,mBAAAA,EACAC,oBAAAA,EACAC,mBAAAA,EACAC,oBAAAA,EACA/hC,4CArC+CiB,EAAAA,EAAAA,cAC/C,kEACA,SAAAE,GAAO,OAAI,SAACzH,GAA0B,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAoCpEoG,qCAjCwCmB,EAAAA,EAAAA,cACxC,0DACA,SAAAE,GAAO,OAAI,SAACpB,GAAkE,OAC1EoB,EAAQ,CACJjB,uBAAwBH,EAA8BG,uBACtDC,wBAAyBJ,EAA8BI,yBACzD,K,kFCzGG6hC,EAAe,CACxBpmB,KAIJ,SAAczQ,EAAY82B,GACtB,OAAO,SAAAnpC,GACHA,EAASq1B,EAAAA,EAAoBpS,QAC7BjjB,EAAS,CAAES,KAAMC,EAAAA,GAAY0oC,WAAY/2B,WAAAA,EAAY82B,cAAAA,GACzD,CACJ,EARIlmB,KAUJ,WACI,OAAO,SAACjjB,EAAUoC,GACVA,IAAWinC,MAAMvmB,MACjB9iB,EAAS,CAAES,KAAMC,EAAAA,GAAY4oC,YAErC,CACJ,E,gMCHaC,EAA6B,CACtC7pC,KAQJ,SAAcosB,GACV,sBAAAnsB,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAMC,GAAQ,IAAAwpC,EAAA,OAAA3pC,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,UAAAF,EAAAC,KAAA,EAERurB,EAAK2d,SAAS,CAADnpC,EAAAE,KAAA,eAAAF,EAAAE,KAAA,EACYovB,EAAAA,GAAe8Z,eAAe5d,EAAK9hB,eAAe,KAAD,EAArEw/B,EAAWlpC,EAAAY,KACjBlB,EAAS2pC,EAAiBH,IAAc,OAGxC1d,EAAKlnB,SAAWglC,EAAAA,GAAaC,UAAUxiB,IACvCrnB,EAoBL8pC,EApB4Bhe,EAAK9Y,aAE5BhT,EAAS8pC,GAAenkB,EAAAA,EAAAA,GAAKmG,EAAK9Y,cAGtChT,EAAS+pC,EAAeje,EAAK9Y,aAAa1S,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAE1CN,EAASyB,EAAAA,IAAaC,cAAapB,EAAAiB,KAAK,yBAAAjB,EAAAqB,OAAA,GAAA5B,EAAA,mBAE/C,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EAjBD,EAkBJ,EA1BIsB,MA8CJ,WACI,MAAO,CAAE3C,KAAMC,EAAAA,GAAYspC,4BAC/B,EA/CIC,kBAwDJ,WAA0C,IAAf3X,EAAOxwB,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,GACjC,OAAO,SAAC9B,EAAUoC,GACd,IAAQ0pB,EAAS1pB,IAAWiW,QAApByT,KAER8D,EAAAA,GACKsa,cAAcpe,EAAK9hB,cAAesoB,EAAQjT,QAC1Cnb,MAAK,kBAAMlE,EAAS2pC,EAAiBQ,EAAAA,GAAwBC,iBAAiB,IAC9EhmC,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAC7D,CACJ,EAhEIgmC,OAkFJ,WACI,OAAO,SAACrqC,EAAUoC,GACdpC,EAASsqC,EAAAA,IAAoBrf,YAE7B,IAAAsf,EAAgCnoC,IAAWooC,oBAAnCx3B,EAAUu3B,EAAVv3B,WAAYy3B,EAAOF,EAAPE,QACdC,EAAoB13B,EACrBgO,QAAO,SAAAM,GAAC,OAAImpB,EAAQnpB,EAAE3c,KAAO8lC,EAAQnpB,EAAE3c,IAAIgmC,SAAS,IACpD/iC,KAAI,SAAA0Z,GAAC,OAAIA,EAAE3c,EAAE,IAEbimC,EAAaF,EAAmBD,IACjCzqC,EAAS6qC,EAAAA,EAAuBC,aAAaJ,GAErD,CACJ,EA9FIK,UAiEJ,SAAmB14B,GACf,OAAO,SAACrS,EAAUoC,GACdpC,EAASsqC,EAAAA,IAAoBU,eAAe34B,IAE5C,IAAA44B,EAAgC7oC,IAAWooC,oBAAnCx3B,EAAUi4B,EAAVj4B,WAAYy3B,EAAOQ,EAAPR,QACdr3B,EACFJ,GACAA,EAAWzK,QACXyK,EAAWK,MAAK,SAAAiO,GAAC,OAAIA,EAAE3c,KAAO0N,CAAU,IAExCe,IAAaw3B,EAAa,CAACv4B,GAAao4B,IACxCzqC,EAAS6qC,EAAAA,EAAuBC,aAAa,CAAC13B,EAASzO,KAE/D,CACJ,EA9EIumC,YAVe/iC,EAAAA,EAAAA,cAAa,wCAC5B,SAAAE,GAAO,OAAI,SAACgK,EAAYyB,GAAI,OAAKzL,EAAQ,CAAEgK,WAAAA,EAAYyB,KAAAA,GAAO,MAiClE,SAASg2B,EAAgB92B,GACrB,MAAO,CACHvS,KAAMC,EAAAA,GAAYyqC,uCAClBn4B,WAAAA,EAER,CAMA,SAAS+2B,EAAe/2B,GACpB,OAAO,SAAAhT,GAAQ,OACXgT,EACKgO,QAAO,SAAAM,GAAC,IAAA8pB,EAAA,OAAa,QAAbA,EAAI9pB,EAAE8f,eAAO,IAAAgK,OAAA,EAATA,EAAW7iC,MAAM,IAC7Bud,SAAQ,SAAAxE,GAAC,OAAIthB,EAASqhC,EAAAA,EAAkBj5B,cAAckZ,EAAE3c,GAAI9D,EAAAA,EAAaS,QAASggB,EAAE8f,SAAS,GAAE,CAC5G,CAMA,SAASuI,EAAiBH,GACtB,MAAO,CACH/oC,KAAMC,EAAAA,GAAY2qC,2BAClB7B,YAAAA,EAER,CA4CA,SAASoB,EAAa53B,EAAYs4B,GAC9B,OAAOt4B,EAAWoR,MAAK,SAAAzf,GACnB,IAAM0qB,EAAOic,EAAU3mC,GACvB,OAAO0qB,GAAQA,EAAK1K,SAAUxR,EAAAA,EAAAA,MAAKkc,EAAK1K,QAAQpc,MACpD,GACJ,C,uECrGa/E,EAA0B,CACnC+nC,mBArBsBpjC,EAAAA,EAAAA,cACtB,yCACA,SAAAE,GAAO,OAAI,SAACzD,GAAe,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAoBnD4mC,uBAjB0BrjC,EAAAA,EAAAA,cAAa,+CAkBvCsjC,uBAjB0BtjC,EAAAA,EAAAA,cAC1B,+CACI,SAAAE,GAAO,OAAI,SAACqjC,GAAiE,OAAKrjC,EAAQ,CAAEqjC,OAAAA,GAAQ,KAgBxGC,0BAb6BxjC,EAAAA,EAAAA,cAC7B,gDACA,SAAAE,GAAO,OAAI,SAACqjC,GAA0C,OAAKrjC,EAAQ,CAAEqjC,OAAAA,GAAS,KAY9EE,0BAV6BzjC,EAAAA,EAAAA,cAAa,gDAW1C0jC,0BAV6B1jC,EAAAA,EAAAA,cAAa,gDAW1C/E,OATU+E,EAAAA,EAAAA,cAAa,0B,gQCEd2jC,EAAmB,CAC5BpsC,KA+CJ,WACI,sBAAAC,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAUoC,GAAQ,IAAA2pC,EAAAC,EAAAC,EAAAtJ,EAAAE,EAAAqJ,EAAA1E,EAAA2E,EAAArJ,EAAArlB,EAAA2uB,EAAAC,EAAAC,EAAAC,EAAA,OAAA1sC,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAMiD,OANjDF,EAAAC,KAAA,EAElBwrC,EAAmB9I,EAAAA,GAAiBuJ,eACpCR,EAAeS,EAAAA,GAAaC,WAC5BT,EAAsBQ,EAAAA,GAAaE,0BACnChK,EAAmBQ,EAAAA,GAAgBC,eACnCP,EAA8BU,EAAAA,GAA4BC,UAASljC,EAAAE,KAAA,EAE/CurC,EAAiB,KAAD,EAAzB,OAAXG,EAAW5rC,EAAAY,KAAAZ,EAAAE,KAAA,GACGwrC,EAAa,KAAD,GAArB,OAALxE,EAAKlnC,EAAAY,KAAAZ,EAAAE,KAAA,GACgByrC,EAAoB,KAAD,GAA5B,OAAZE,EAAY7rC,EAAAY,KAAAZ,EAAAE,KAAA,GACMmiC,EAAiB,KAAD,GAAzB,OAATG,EAASxiC,EAAAY,KAAAZ,EAAAE,KAAA,GACoBqiC,EAA4B,KAAD,GAAxDplB,EAAoBnd,EAAAY,KAE1BlB,EAAS4sC,EAAeV,IACxBlsC,EAAS6sC,EAAWrF,IACpBxnC,EAAS8sC,EAAkBX,IAC3BnsC,EAAS,CAAES,KAAMC,EAAAA,GAAYwmC,UAAWpE,UAAAA,IACxC9iC,EAAS,CAAES,KAAMC,EAAAA,GAAYqsC,4BAA6BtvB,qBAAAA,IAAwB2uB,EAEzBhqC,IAAWsxB,UAA5D2Y,EAAeD,EAAfC,gBAAiBC,EAAaF,EAAbE,cAAeC,EAAYH,EAAZG,aAEpCF,GACArsC,EAASgtC,EAAgBV,IACzBtsC,EAASitC,EAAcV,KAEvBvsC,EAoDL,CACHS,KAAMC,EAAAA,GAAY85B,iBApDbl6B,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAEDN,EAASyB,EAAAA,IAAaC,cAAapB,EAAAiB,KAAK,yBAAAjB,EAAAqB,OAAA,GAAA5B,EAAA,mBAE/C,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EA/BD,EAgCJ,EA/EIorC,mBAiFJ,SAA4BtF,GAAwB,IAAhBzrB,EAASra,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,EAC5C,sBAAA2E,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,GAAQ,IAAA+rC,EAAAoB,EAAAC,EAAAC,EAAA3Z,EAAA1tB,EAAA5F,EAAA,OAAAP,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAcR,OAdQmG,EAAApG,KAAA,EAERwrC,EAAmB9I,EAAAA,GAAiBuJ,eACpCW,EAAcvF,EACd6E,EAAAA,GAAaa,QAAQ1F,GACrBlQ,QAAQrvB,QAAQ,CACd8T,UAAAA,EACA0pB,UAAW,GACXE,SAAU,GACVwH,SAAU,GACVtH,MAAO,GACP9jC,MAAO,GACPyQ,MAAO,GACP46B,gBAAgB,IAClB7mC,EAAAnG,KAAA,EAC0Bk3B,QAAQ+V,IAAI,CAAC1B,EAAkBoB,IAAc,KAAD,EAAAC,EAAAzmC,EAAAzF,KAAAmsC,GAAA35B,EAAAA,EAAAA,GAAA05B,EAAA,GAArE1Z,EAAS2Z,EAAA,GAAErnC,EAAIqnC,EAAA,IAElBzF,GAAUzrB,IAEA,QADJ/b,EAAUszB,EAAUrgB,MAAK,SAAAugB,GAAC,OAAIA,EAAEjvB,KAAOwX,CAAS,WAC5C,IAAP/b,OAAO,EAAPA,EAAS8kC,QAASC,EAAAA,GAAauI,QAC9B1nC,EAAK4M,MAAQ,CAACA,EAAAA,GAAM86B,MAAO96B,EAAAA,GAAM+6B,SAIzC3tC,EAAS4sC,EAAelZ,IACxB1zB,EAAS4tC,EAAe5nC,IAAMW,EAAAnG,KAAA,iBAAAmG,EAAApG,KAAA,GAAAoG,EAAApF,GAAAoF,EAAA,SAE9B3G,EAASyB,EAAAA,IAAaC,cAAaiF,EAAApF,KAAK,QAEA,OAFAoF,EAAApG,KAAA,GAExCP,GASqB4E,GATY,EAUlC,CAAEnE,KAAMC,EAAAA,GAAYmtC,qCAAsCxsC,QAAS,CAAEuD,OAAAA,MAV5B+B,EAAAG,OAAA,6BAAAH,EAAAhF,OASpD,IAAiCiD,CATmB,GAAA8B,EAAA,yBAE/C,gBAAAzB,GAAA,OAAAwB,EAAA5E,MAAA,KAAAC,UAAA,EA/BD,EAgCJ,EAjHIsB,MAodJ,WACI,OAAO,SAAApD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYwf,QAC7BlgB,EAASyB,EAAAA,IAAag5B,aAC1B,CACJ,EAxdIqT,gBA0dJ,WACI,MAAO,CAAErtC,KAAMC,EAAAA,GAAYqtC,kBAC/B,EA3dIC,iBAiJJ,SAA0BC,GACtB,OAAO,SAACjuC,EAAUoC,GACd,IAAQ8rC,EAAmB9rC,IAAWsxB,UAA9Bwa,eAEJC,EAAY,MACZD,EAAeD,SAAWA,IAC1BE,EAAyC,QAA7BD,EAAeC,UAAsB,OAAS,OAG9DnuC,EAAS,CACLS,KAAMC,EAAAA,GAAY0tC,SAClBC,QAAS,CAAEJ,OAAAA,EAAQE,UAAAA,IAE3B,CACJ,EA9JIG,eAgKJ,SAAwBL,GACpB,OAAO,SAACjuC,EAAUoC,GACd,IAAQmsC,EAAkBnsC,IAAWsxB,UAA7B6a,cAEJJ,EAAY,MACZI,EAAcN,SAAWA,IACzBE,EAAwC,QAA5BI,EAAcJ,UAAsB,OAAS,OAG7DnuC,EAAS,CACLS,KAAMC,EAAAA,GAAY8tC,iBAClBH,QAAS,CAAEJ,OAAAA,EAAQE,UAAAA,IAE3B,CACJ,EA7KIM,eAoPJ,SAAwBtyB,GACpB,OAAO,SAACnc,GACJA,EAAS0uC,EAAsBvyB,IAC/B8mB,EAAAA,GAAiB0L,mBAAmBxyB,GAC/BjY,MAAK,WACFlE,EAAS4uC,EAAsBzyB,GACnC,IACC/X,OAAM,SAAAC,GACHrE,EAAS6uC,EAAsB1yB,EAAW9X,IAC1CrE,EAASsU,EAAAA,IAAoBw6B,4BAA4B,2BAC7D,GACR,CACJ,EA/PIC,cAiQJ,SAAuB5yB,GACnB,OAAO,SAACnc,EAAUoC,GACdpC,EAAS0uC,EAAsBvyB,IAC/B8mB,EAAAA,GAAiB+L,kBAAkB7yB,EAAW/Z,IAAWsxB,UAAUub,iBAC9D/qC,MAAK,WACFlE,EAAS4uC,EAAsBzyB,GACnC,IACC/X,OAAM,SAAAC,GACHrE,EAAS6uC,EAAsB1yB,EAAW9X,IAC1CrE,EAASsU,EAAAA,IAAoBw6B,4BAA4B,4BAC7D,GACR,CACJ,EA5QII,uBA2OJ,SAAgC/8B,GAC5B,MAAO,CACH1R,KAAMC,EAAAA,GAAYyuC,0BAClBh9B,MAAAA,EAER,EA/OIi9B,gCA4KJ,SAAyChvC,GACrC,MAAO,CACHK,KAAMC,EAAAA,GAAY2uC,mCAClBjvC,QAAAA,EAER,EAhLIkvC,gCAkLJ,WACI,MAAO,CACH7uC,KAAMC,EAAAA,GAAY2uC,mCAE1B,EArLIE,iCAuLJ,SAA0CnvC,GACtC,MAAO,CACHK,KAAMC,EAAAA,GAAY8uC,oCAClBpvC,QAAAA,EAER,EA3LIqvC,iCA6LJ,WACI,MAAO,CACHhvC,KAAMC,EAAAA,GAAYgvC,oCAE1B,EAhMIC,gCAAAA,EACAC,+BAAAA,EACAC,yBAAAA,EACAC,0BAAAA,EACAC,mCAAAA,EACAC,uBAssBJ,SAAgCC,GAC5B,OAAO,SAAAjwC,GACHA,EAAS+vC,GAAmC,IAE5CtD,EAAAA,GACKyD,sBAAsBD,EAAOtrC,IAAKsrC,EAAOE,YACzCjsC,MAAK,kBAAMlE,EAAS,CAAES,KAAMC,EAAAA,GAAY0vC,0BAA2BxI,OAAQqI,EAAOtrC,IAAK,IACvFP,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAC7D,CACJ,EA9sBIgsC,aAiTJ,SAAsBJ,GAClB,OAAO,SAACjwC,EAAUoC,GACdpC,EAAS6vC,GAAyB,IAElCpD,EAAAA,GACK4D,aAAaJ,EAAOtrC,IACpBT,MAKL,SAAiBU,GACb5E,GASUwU,EATY,GAADtC,OAAI+9B,EAAOpK,UAAS,KAAA3zB,OAAI+9B,EAAOlK,UAUrD,SAAA/lC,GACHA,EACIsU,EAAAA,IAAoBC,aAChB,iBAAiB,yCAADrC,OACyBsC,EAAI,MAGzD,IARJ,IAAsBA,EAPV,IAAMgzB,EAAQplC,IAAWsxB,UAAU8T,MAAM5/B,KAAI,SAAAme,GAAC,OAC1CA,EAAEphB,KAAOsrC,EAAOtrC,IAAErC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQyjB,GAAC,IAAEnhB,OAAAA,IAAWmhB,CAAC,IAC7C/lB,EAAS6sC,EAAWrF,GACxB,IATQ,SAAAnjC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAU1D,CACJ,EAnUIisC,cAiSJ,SAAuBL,GACnB,OAAO,SAAAjwC,GACHA,EAAS8vC,GAA0B,IAEnCrD,EAAAA,GACK6D,cAAcL,EAAOtrC,IACrBT,MACG,kBAAMlE,EAASsU,EAAAA,IAAoBC,aAC/B,iBAAiB,wCAADrC,OACwB+9B,EAAOM,WAAU,MAAK,IAClE,SAAAlsC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAE1D,CACJ,EA7SImsC,oBAiQJ,SAA6BpwC,GAAwB,IAAfyjC,EAAO/hC,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,GAC5C,OAAO,SAAC9B,GACJA,EAAS2vC,GAAgC,IAEzC,IAAM/qC,EACFxE,EAAQwE,SAAW6rC,EAAAA,GAAgBC,YAAYC,YAC3CvwC,EAAQwE,SAAW6rC,EAAAA,GAAgBG,OAAOD,WACxCF,EAAAA,GAAgBI,QAAQF,WAAaF,EAAAA,GAAgBG,OAAOD,WAEtE1N,EAAAA,GACKuN,oBAAoBpwC,EAAQuE,GAAIC,EAAQi/B,GACxCz/B,OAAM,SAACC,GACJrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAC1C,GACR,CACJ,EA/QIysC,0BA8UJ,SAAmCb,EAAQpM,GACvC,OAAO,SAAC7jC,EAAUoC,GAGd,GAFApC,EAAS4vC,GAA+B,IAEpCK,EAAOrrC,SAAWmsC,EAAAA,GAAaF,QAAQF,WAAY,CACnD,GAoBJ,WACI,IACM3qC,EADY5D,IAAWsxB,UAArB8T,MACWn0B,MAAK,SAAA0S,GAAC,OAAIA,EAAEphB,KAAOsrC,EAAOtrC,EAAE,IAE/C,OAAOqB,GAAQA,EAAKwnC,cACxB,CAzBQwD,GAMA,YALAhxC,EACIsU,EAAAA,IAAoB28B,qBAChB,wBAA0B,2EAMtCvZ,QAAQ+V,IAAI,CACRhB,EAAAA,GAAapE,YAAY4H,EAAOtrC,GAAIk/B,GAAS3/B,MAiBrD,WACI,IAAMsjC,EAAQplC,IAAWsxB,UAAU8T,MAAM5/B,KAAI,SAAAme,GAAC,OAC1CA,EAAEphB,KAAOsrC,EAAOtrC,IAAErC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQyjB,GAAC,IAAEnhB,OAAQmsC,EAAAA,GAAaF,QAAQF,WAAYrI,YAAazE,IAAY9d,CAAC,IAEpG/lB,EAAS6sC,EAAWrF,GACxB,GAtBoE9kC,GAC5DwuC,EAAAA,EAAmBC,iBAAiBlB,EAAOhK,MAAOpC,IAE1D,MACInM,QAAQ+V,IAAI,CACRhB,EAAAA,GAAalE,WAAW0H,EAAOtrC,IAAIT,MAmB3C,SAAiB8B,GACb,IAAMwhC,EAAQplC,IAAWsxB,UAAU8T,MAAM5/B,KAAI,SAAAme,GAAC,OAC1CA,EAAEphB,KAAOsrC,EAAOtrC,IAAErC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQyjB,GAAC,IAAEnhB,OAAQoB,EAAKpB,OAAQ0jC,YAAa,KAAOviB,CAAC,IAE3E/lB,EAAS6sC,EAAWrF,GACxB,GAxByD9kC,GACjDwuC,EAAAA,EAAmBE,mBAAmBnB,EAAOhK,SAyBrD,SAASvjC,EAAM2B,GACXrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAC1C,CACJ,CACJ,EA/XI2oC,gBAAAA,EACAC,cAAAA,EACAoE,mBAqaJ,SAA4BjxC,GACxB,OAAO,SAACJ,GAKJA,EAASitC,GAJG3qC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACLgvC,EAAAA,IAAwB,IAC3B5d,UAAW,CAACtzB,EAAQuE,QAGxB3E,EAASuxC,KACT5W,EAAAA,EAAQ6W,QAAQ5W,EAAAA,GAAO6W,qBAC3B,CACJ,EA9aIC,kBAgbJ,SAA2B1rC,GACvB,OAAO,SAAChG,GAMJA,EAASgtC,GALG1qC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACLqvC,EAAAA,IAAyB,IAC5BroC,WAAYtD,EAAK4rC,gBAIrBjX,EAAAA,EAAQ6W,QAAQ5W,EAAAA,GAAOiX,gBAC3B,CACJ,EAzbIC,WAscJ,SAAoB9rC,GAChB,sBAAAxB,GAAA5E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA2E,EAAOzE,EAAUoC,GAAQ,IAAA2vC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAtyC,EAAAA,EAAAA,KAAAQ,MAAA,SAAAwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,OAciB,GAbrCuxC,EAAe3vC,IAAWsxB,UAA1Bqe,WACFC,IAAWhsC,EAAKrB,GAChBstC,EAAcF,EAAWE,YACzBC,EACFF,GACAhsC,EAAKwnC,gBACLyE,EAAYzE,gBACZyE,EAAY91B,YAAcnW,EAAKmW,UAE7Bg2B,GAAU7vC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACT0D,GAAI,IACP7D,MAAqB,MAAd6D,EAAK7D,MAAgB6D,EAAK7D,MAAQ6D,EAAK7D,MAAMkd,OACpDmuB,iBAAkBxnC,EAAKwnC,eACvB4E,MAAMC,EAAAA,EAAAA,OAAMrsC,EAAKosC,MAAQ,KAAOpsC,EAAKosC,QAGrCF,EAAkC,CAADrtC,EAAArE,KAAA,QAI/B,OAHFR,EAASsU,EAAAA,IAAoB28B,qBACzB/mB,EAAAA,GAAcooB,+BACdpoB,EAAAA,GAAcqoB,kDAChB1tC,EAAA2tC,OAAA,iBAGqB,OAA3BxyC,EAASyyC,GAAW,IAAO5tC,EAAAtE,KAAA,EAAAsE,EAAArE,KAAA,GAEjBisC,EAAAA,GAAa9E,SAASwK,EAAYJ,EAAWW,YAAY,KAAD,GAC9D/X,EAAAA,EAAQ6W,QAAQ5W,EAAAA,GAAO6W,sBAAsB5sC,EAAArE,KAAA,iBAAAqE,EAAAtE,KAAA,GAAAsE,EAAAtD,GAAAsD,EAAA,SAE7C7E,EAASyB,EAAAA,IAAaiB,MAAKmC,EAAAtD,GAEvB2oB,EAAAA,GAAc5lB,gBACd4lB,EAAAA,GAAcooB,iCAChB,QAE0B,OAF1BztC,EAAAtE,KAAA,GAEFP,EAASyyC,GAAW,IAAQ5tC,EAAArE,KAAA,GACtB0wC,EAAAA,EAAmBvJ,SAAS,CAC9B9B,UAAWsM,EAAWtM,UACtBE,SAAUoM,EAAWpM,SACrB3yB,SAAU++B,EAAW5E,SACrBoF,YAAaR,EAAWhwC,MACxBywC,UAAWT,EAAWlM,MACtB4M,SAAUV,EAAWU,SACrBC,SAAUX,EAAWW,WACvB,eAAAjuC,EAAAiC,OAAA,6BAAAjC,EAAAlD,OAAA,GAAA8C,EAAA,yBAET,gBAAAiB,EAAA+1B,GAAA,OAAAj3B,EAAA3C,MAAA,KAAAC,UAAA,EA9CD,EA+CJ,EArfIixC,oBA8fJ,SAA6BC,EAAUpuC,GACnC,OAAO,SAAA5E,GACHA,EAgBR,SAA8BgzC,GAC1B,OAAO,SAAChzC,EAAUoC,GACd,IAAQ6wC,EAA6B7wC,IAAWsxB,UAAxCuf,yBACFC,GAAa5wC,EAAAA,EAAAA,GAAA,GAAQ2wC,GAC3BC,EAAcF,GAAYnyC,EAAAA,EAAaC,QACvCd,EAAS,CACLS,KAAMC,EAAAA,GAAYyyC,gCAClB9xC,QAAS,CAAE4xC,yBAA0BC,IAE7C,CACJ,CA1BiBE,CAAqBJ,IAC9B/P,EAAAA,GAAiB8P,oBAAoBC,EAAUpuC,GAC1CV,MAAK,SAACmvC,GACCA,GAAOt4B,OAAOs4B,EAAI1uC,IAClB3E,EAwBpB,SAA8BgzC,EAAUM,GACpC,OAAO,SAACtzC,EAAUoC,GACd,IAAAmxC,EAA0CnxC,IAAWsxB,UAA/C8T,EAAK+L,EAAL/L,MAAOyL,EAAwBM,EAAxBN,yBACPO,GAAW7tB,EAAAA,EAAAA,GAAI6hB,GAAO5/B,KAAI,SAACqoC,GAI7B,OAHIA,EAAOtrC,KAAOquC,IACd/C,EAAOqD,KAAOA,GAEXrD,CACX,IAEMiD,GAAa5wC,EAAAA,EAAAA,GAAA,GAAQ2wC,GACvBC,EAAcF,WAAkBE,EAAcF,GAElDhzC,EAAS,CACLS,KAAMC,EAAAA,GAAY+yC,gCAClBpyC,QAAS,CAAE4xC,yBAA0BC,EAAe1L,MAAOgM,IAEnE,CACJ,CA1C6BE,CAAqB34B,OAAOs4B,EAAI1uC,IAAK0uC,EAAIC,OAElDtzC,EAAS2zC,EAAqBX,GAEtC,IACC5uC,OAAM,SAACC,GACJrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,IACtCrE,EAAS2zC,EAAqBX,GAClC,GACR,CACJ,EA7gBIY,qBA2jBJ,SAA8Bz3B,EAAWvX,GACrC,OAAO,SAAA5E,GACHA,EAeR,SAA+Bmc,GAC3B,OAAO,SAACnc,EAAUoC,GACd,IAAQyxC,EAA+BzxC,IAAWsxB,UAA1CmgB,2BACFX,GAAa5wC,EAAAA,EAAAA,GAAA,GAAQuxC,GAC3BX,EAAc/2B,GAAatb,EAAAA,EAAaC,QACxCd,EAAS,CACLS,KAAMC,EAAAA,GAAYozC,yBAClBzyC,QAAS,CAAEwyC,2BAA4BX,IAE/C,CACJ,CAzBiBa,CAAsB53B,IAC/B8mB,EAAAA,GAAiB2Q,qBAAqBz3B,EAAWvX,GAC5CV,MAAK,SAACmvC,GACCA,GAAOt4B,OAAOs4B,EAAI1uC,IAClB3E,EAuBpB,SAA+Bmc,EAAWm3B,GACtC,OAAO,SAACtzC,EAAUoC,GACd,IAAA4xC,EAAgD5xC,IAAWsxB,UAArDA,EAASsgB,EAATtgB,UAAWmgB,EAA0BG,EAA1BH,2BACXI,GAAetuB,EAAAA,EAAAA,GAAI+N,GAAW9rB,KAAI,SAACxH,GAIrC,OAHIA,EAAQuE,KAAOwX,IACf/b,EAAQkzC,KAAOA,GAEZlzC,CACX,IAEM8yC,GAAa5wC,EAAAA,EAAAA,GAAA,GAAQuxC,GACvBX,EAAc/2B,WAAmB+2B,EAAc/2B,GAEnDnc,EAAS,CACLS,KAAMC,EAAAA,GAAYwzC,yBAClB7yC,QAAS,CAAEwyC,2BAA4BX,EAAexf,UAAWugB,IAEzE,CACJ,CAzC6BE,CAAsBp5B,OAAOs4B,EAAI1uC,IAAK0uC,EAAIC,OAEnDtzC,EAASo0C,EAAsBj4B,GAEvC,IACC/X,OAAM,WACHpE,EAASo0C,EAAsBj4B,GACnC,GACR,CACJ,EAzkBIk4B,YA+pBJ,WACI,OAAO,SAACr0C,EAAUoC,GACd,IAAQkyC,EAA4BlyC,IAAWsxB,UAAvC4gB,wBAEFC,EA5Cd,SAA2BvzB,GAEvB,IAAMwzB,EAAW,CACbxzB,EAAO4vB,QAAU6D,EAAAA,EAAWC,OAC5B1zB,EAAO6vB,SAAW4D,EAAAA,EAAWE,QAC7B3zB,EAAO4zB,SAAWH,EAAAA,EAAWI,QAC7B7zB,EAAO8zB,YAAcL,EAAAA,EAAWM,WAChC/zB,EAAOg0B,iBAAmB,oBAC5Bh0B,QAAO,SAAApc,GAAM,OAAIA,CAAM,IAEnBqwC,EAAa,CACfj0B,EAAOk0B,eAAiBtiC,EAAAA,GAAMuiC,cAC9Bn0B,EAAOo0B,iBAAmBxiC,EAAAA,GAAMyiC,gBAChCr0B,EAAOs0B,oBAAsB1iC,EAAAA,GAAMsI,mBACnC8F,EAAOu0B,oBAAsB3iC,EAAAA,GAAM4iC,mBACnCx0B,EAAOy0B,WAAa7iC,EAAAA,GAAM8iC,UAC1B10B,EAAO20B,aAAe/iC,EAAAA,GAAMgjC,oBAC5B50B,EAAO60B,cAAgBjjC,EAAAA,GAAMC,aAC7BmO,EAAO80B,cAAgBljC,EAAAA,GAAMmjC,aAC7B/0B,EAAOg1B,qBAAuBpjC,EAAAA,GAAMqjC,oBACpCj1B,EAAOk1B,QAAUtjC,EAAAA,GAAM+6B,OACvB3sB,EAAOm1B,mBAAqBvjC,EAAAA,GAAMwjC,kBAClCp1B,EAAOq1B,OAASzjC,EAAAA,GAAM86B,OACxB1sB,QAAO,SAAApc,GAAM,OAAIA,CAAM,IAEnB0xC,GAAaC,EAAAA,EAAAA,IAAmBv1B,GAChCw1B,EAAYF,EAAWG,SACvBC,EAAUJ,EAAWK,OAE3B,MAAO,CACHC,YAAa51B,EAAO1X,WACpBkrC,SAAAA,EACA5hC,MAAOqiC,EACP4B,WAAY71B,EAAO0S,UACnBojB,SAAU91B,EAAOpD,MACjB44B,UAAAA,EACAE,QAAAA,EAER,CAM8BK,CADP30C,IAAWsxB,UAAU6Y,cAGhC+H,IAA4BzzC,EAAAA,EAAaC,UACzCd,EAAS,CAAES,KAAMC,EAAAA,GAAYs2C,8BAC7BvK,EAAAA,GAAa4H,YAAYE,GACpBrwC,MAAK,SAAA2B,IACFoxC,EAAAA,EAAAA,QAAOpxC,EAAKqxC,KAAMrxC,EAAK2O,MAAQ,6BAC/BxU,EAAS,CAAES,KAAMC,EAAAA,GAAYy2C,6BACjC,IACC/yC,OAAM,WACHpE,EAAS,CAAES,KAAMC,EAAAA,GAAY02C,6BACjC,IAEZ,CACJ,EAhrBIvK,WAAAA,EACAwK,oBAmsBJ,SAA6BrxC,GACzB,OAAO,SAAAhG,GACHysC,EAAAA,GAAa4K,oBAAoBrxC,EAAKrB,IACjCT,MAAK,SAACy2B,GAAO,OAAK36B,EAAS,CACxBS,KAAMC,EAAAA,GAAY42C,2CAClBj2C,QAAS,CAAEs5B,QAAAA,EAAS30B,KAAAA,IACtB,IACD5B,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAC7D,CACJ,EA3sBIkzC,sBA6sBJ,WACI,OAAO,SAAAv3C,GAAQ,OAAIA,EAAS,CAAES,KAAMC,EAAAA,GAAY82C,8CAA+C,CACnG,EA9sBIC,yBAgtBJ,SAAkC7P,EAAQ8P,EAAkBC,GACxD,MAAO,CACHl3C,KAAMC,EAAAA,GAAYk3C,mCAClBhQ,OAAAA,EACA8P,iBAAAA,EACAC,eAAAA,EAER,EAttBIE,0BAwtBJ,SAAmC17B,EAAWu7B,EAAkBI,GAC5D,MAAO,CACHr3C,KAAMC,EAAAA,GAAYq3C,4BAClB57B,UAAAA,EACAu7B,iBAAAA,EACAI,sBAAAA,EAER,EA9tBIE,2BAguBJ,SAAoC77B,EAAWuP,GAC3C,MAAO,CACHjrB,KAAMC,EAAAA,GAAYu3C,0BAClB97B,UAAAA,EACAuP,eAAAA,EAER,EAruBIwsB,gBA2vBJ,SAAyBtQ,GACrB,OAAO,SAAA5nC,GACHysC,EAAAA,GAAayL,gBAAgBtQ,GACxBxjC,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAC7D,CACJ,EA/vBI8zC,WAsuBJ,SAAoBvQ,GAChB,sBAAAziC,GAAAvF,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAsF,EAAOpF,EAAUoC,GAAQ,IAAA4D,EAAAoyC,EAAA,OAAAv4C,EAAAA,EAAAA,KAAAQ,MAAA,SAAAiF,GAAA,cAAAA,EAAA/E,KAAA+E,EAAA9E,MAAA,OAE0E,OADhGwF,EAAO5D,IAAWsxB,UAAU8T,MAAMn0B,MAAK,SAAA0S,GAAC,OAAIA,EAAEphB,KAAOijC,CAAM,IAC3DwQ,EAAmBh2C,IAAWsxB,UAAU8T,MAAMxmB,QAAO,SAAA+E,GAAC,OAAIA,EAAE5J,YAAcnW,EAAKmW,SAAS,IAAE5T,OAAMjD,EAAA/E,KAAA,EAAA+E,EAAA9E,KAAA,EAE5FisC,EAAAA,GAAa0L,WAAWvQ,GAAQ,KAAD,EACrC5nC,EAAS,CAAES,KAAMC,EAAAA,GAAY23C,uBAAwBh3C,QAAS,CAAEumC,OAAAA,KACxC,IAArBwQ,GACCp4C,GAQWmc,EARgBnW,EAAKmW,UASrC,CAAE1b,KAAMC,EAAAA,GAAY43C,mBAAoBj3C,QAAS,CAAE8a,UAAAA,MARjD7W,EAAA9E,KAAA,gBAAA8E,EAAA/E,KAAA,EAAA+E,EAAA/D,GAAA+D,EAAA,SAEDtF,EAASyB,EAAAA,IAAa6C,gBAAegB,EAAA/D,KAAK,yBAAA+D,EAAA3D,OAKtD,IAA2Bwa,CAL2B,GAAA/W,EAAA,kBAEjD,gBAAAs2B,EAAA6c,GAAA,OAAApzC,EAAAtD,MAAA,KAAAC,UAAA,EAZD,EAaJ,EAnvBI02C,gBA8xBJ,WACI,sBAAAthC,GAAAtX,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA24C,EAAOz4C,EAAUoC,GAAQ,IAAA4e,EAAA03B,EAAApvC,EAAAwtC,EAAAlyC,EAAAsgC,EAAAoR,EAAAE,EAAAE,EAAAiC,EAAAtK,EAAAuK,EAAA/yC,EAAA,OAAAhG,EAAAA,EAAAA,KAAAQ,MAAA,SAAAw4C,GAAA,cAAAA,EAAAt4C,KAAAs4C,EAAAr4C,MAAA,OA4BsC,OA3BlER,EAAS84C,GAA6B,IAAMD,EAAAt4C,KAAA,EAElCygB,EAAS5e,IAAWsxB,UAAU4Y,cAC9BoM,EAAQt2C,IAAWsxB,UAAUwa,eAE7B5kC,EAAa0X,EAAO1X,WACpBwtC,EAAW91B,EAAOpD,MAClBhZ,EAAS,CACXoc,EAAO4vB,QAAUmI,EAAAA,EAAcnI,OAC/B5vB,EAAO6vB,SAAWkI,EAAAA,EAAclI,QAChC7vB,EAAO0vB,aAAeqI,EAAAA,EAAcrI,aACtC1vB,QAAO,SAAApc,GAAM,OAAIA,CAAM,IAEnBsgC,EAAO,CACTlkB,EAAOk0B,eAAiB/P,EAAAA,GAAagQ,cACrCn0B,EAAOg4B,cAAgB7T,EAAAA,GAAaC,aACpCpkB,EAAOi4B,QAAU9T,EAAAA,GAAa+T,OAC9Bl4B,EAAOk1B,QAAU/Q,EAAAA,GAAawI,OAC9B3sB,EAAOq1B,OAASlR,EAAAA,GAAauI,OAC/B1sB,QAAO,SAAApc,GAAM,OAAIA,CAAM,IAEnB0xC,GAAaC,EAAAA,EAAAA,IAAmBv1B,GAChCw1B,EAAYF,EAAWG,SACvBC,EAAUJ,EAAWK,OACrBgC,EAAsB33B,EAAOvD,qBAE7B4wB,EAAUqK,EAAMvK,UAChByK,EAAgBO,EAAAA,GAA2BT,EAAMzK,QAAO4K,EAAAr4C,KAAA,GAE3CyiC,EAAAA,GAAiBuV,gBAAgBlvC,EAAY1E,EAAQsgC,EAAMsR,EAAWE,EAASiC,EAAqB7B,EAAU8B,EAAevK,GAAQ,QAAlJxoC,EAAIgzC,EAAA33C,MAEV+1C,EAAAA,EAAAA,QAAOpxC,EAAKqxC,KAAMrxC,EAAK2O,MAAMqkC,EAAAr4C,KAAA,iBAAAq4C,EAAAt4C,KAAA,GAAAs4C,EAAAt3C,GAAAs3C,EAAA,SAE7B74C,EAASyB,EAAAA,IAAa6C,gBAAeu0C,EAAAt3C,KAAI,QAEI,OAFJs3C,EAAAt4C,KAAA,GAEzCP,EAAS84C,GAA6B,IAAOD,EAAA/xC,OAAA,6BAAA+xC,EAAAl3C,OAAA,GAAA82C,EAAA,yBAEpD,gBAAAW,EAAAC,GAAA,OAAAniC,EAAArV,MAAA,KAAAC,UAAA,EAtCD,EAuCJ,EAr0BIw3C,wBAixBJ,SAAiCl5C,GAC7B,sBAAAyW,GAAAjX,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAy5C,EAAOv5C,EAAUoC,GAAQ,IAAAsxB,EAAA8lB,EAAA,OAAA35C,EAAAA,EAAAA,KAAAQ,MAAA,SAAAo5C,GAAA,cAAAA,EAAAl5C,KAAAk5C,EAAAj5C,MAAA,OACpBkzB,EAActxB,IAAWsxB,UAAzBA,YACF8lB,EAAgB9lB,EAAUrgB,MAAK,SAAAugB,GAAC,OAAIA,EAAEjvB,KAAOvE,EAAQuE,EAAE,MAEvC60C,EAAc50C,SAAWxE,EAAQwE,QAAU40C,EAActU,OAAS9kC,EAAQ8kC,MAC5FllC,EAnBR,eAAAyW,GAAA7W,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA45C,EAAO15C,GAAQ,IAAAwnC,EAAA,OAAA3nC,EAAAA,EAAAA,KAAAQ,MAAA,SAAAs5C,GAAA,cAAAA,EAAAp5C,KAAAo5C,EAAAn5C,MAAA,OACuB,OAAzCR,EAAS45C,GAAyB,IAAOD,EAAAp5C,KAAA,EAAAo5C,EAAAn5C,KAAA,EAEjBisC,EAAAA,GAAaC,WAAW,KAAD,EAArClF,EAAKmS,EAAAz4C,KACXlB,EAAS8rC,EAAiBe,WAAWrF,IAAQmS,EAAAn5C,KAAA,gBAAAm5C,EAAAp5C,KAAA,EAAAo5C,EAAAp4C,GAAAo4C,EAAA,SAE7C3nC,EAAAA,EAAO6nC,UAASF,EAAAp4C,GAAI,gCAAgC,QAEV,OAFUo4C,EAAAp5C,KAAA,GAEpDP,EAAS45C,GAAyB,IAAQD,EAAA7yC,OAAA,6BAAA6yC,EAAAh4C,OAAA,GAAA+3C,EAAA,wBAEjD,gBAAAI,GAAA,OAAArjC,EAAA5U,MAAA,KAAAC,UAAA,EAVD,IAqBI9B,EAAS,CAAES,KAAMC,EAAAA,GAAYq5C,2BAA4B14C,QAAS,CAAEjB,QAAAA,KAAY,wBAAAq5C,EAAA93C,OAAA,GAAA43C,EAAA,KACnF,gBAAAS,EAAAC,GAAA,OAAApjC,EAAAhV,MAAA,KAAAC,UAAA,EARD,EASJ,EA1xBIo4C,oBAsXJ,WACI,MAAO,CACHz5C,KAAMC,EAAAA,GAAYy5C,qBAE1B,EAzXI5I,mBAAAA,EACA6I,oBAgYJ,WACI,MAAO,CACH35C,KAAMC,EAAAA,GAAY25C,qBAE1B,EAnYIC,mBAqYJ,WACI,MAAO,CACH75C,KAAMC,EAAAA,GAAY65C,oBAE1B,GAhUA,SAAS3M,EAAe5nC,GACpB,MAAO,CAAEvF,KAAMC,EAAAA,GAAY85C,yBAA0Bn5C,QAAS,CAAE2E,KAAAA,GACpE,CAYA,SAAS6mC,EAAWrF,GAChB,MAAO,CAAE/mC,KAAMC,EAAAA,GAAY+5C,MAAOjT,MAAAA,EACtC,CAEA,SAASoF,EAAelZ,GACpB,MAAO,CACHjzB,KAAMC,EAAAA,GAAYg6C,UAClBhnB,UAAAA,EAER,CAEA,SAASoZ,EAAkBX,GACvB,MAAO,CACH1rC,KAAMC,EAAAA,GAAYi6C,cAClBxO,aAAAA,EAER,CA4DA,SAASwD,EAAgC5nC,EAAS3H,GAC9C,MAAO,CACHK,KAAMC,EAAAA,GAAYk6C,mCAClB9P,aAAc,CAAE/iC,QAAAA,EAAS3H,QAAAA,GAEjC,CAEA,SAASwvC,EAA+B7nC,EAASkoC,GAC7C,MAAO,CACHxvC,KAAMC,EAAAA,GAAYm6C,kCAClB/P,aAAc,CAAE/iC,QAAAA,EAASkoC,OAAAA,GAEjC,CAEA,SAASvB,EAAsBvyB,GAC3B,MAAO,CACH1b,KAAMC,EAAAA,GAAYo6C,wBAClB3+B,UAAAA,EAER,CAEA,SAASyyB,EAAsBzyB,GAC3B,MAAO,CACH1b,KAAMC,EAAAA,GAAYq6C,wBAClB5+B,UAAAA,EAER,CAEA,SAAS0yB,EAAsB1yB,EAAWzZ,GACtC,MAAO,CACHjC,KAAMC,EAAAA,GAAYs6C,wBAClB7+B,UAAAA,EACAzZ,MAAAA,EAER,CAsDA,SAASmtC,EAAyB9nC,EAASkoC,GACvC,MAAO,CACHxvC,KAAMC,EAAAA,GAAYu6C,2BAClBnQ,aAAc,CAAE/iC,QAAAA,EAASkoC,OAAAA,GAEjC,CAEA,SAASH,EAA0B/nC,EAASkoC,GACxC,MAAO,CACHxvC,KAAMC,EAAAA,GAAYw6C,4BAClBpQ,aAAc,CAAE/iC,QAAAA,EAASkoC,OAAAA,GAEjC,CAqGA,SAASjD,EAAgBhsB,GACrB,MAAO,CACHvgB,KAAMC,EAAAA,GAAYy6C,uBAClBn6B,OAAAA,EAER,CAQA,SAASuwB,IACL,MAAO,CACH9wC,KAAMC,EAAAA,GAAY06C,oBAE1B,CAcA,SAASnO,EAAcjsB,GACnB,MAAO,CACHvgB,KAAMC,EAAAA,GAAY26C,uBAClBr6B,OAAAA,EAER,CAuFA,SAASyxB,EAAW6I,GAChB,MAAO,CACH76C,KAAMC,EAAAA,GAAY66C,YAClBD,eAAAA,EAER,CAoDA,SAAS3H,EAAqBX,GAC1B,OAAO,SAAChzC,EAAUoC,GACd,IAAQ6wC,EAA6B7wC,IAAWsxB,UAAxCuf,yBACFC,GAAa5wC,EAAAA,EAAAA,GAAA,GAAQ2wC,GACvBC,EAAcF,WAAkBE,EAAcF,GAClDhzC,EAAS,CACLS,KAAMC,EAAAA,GAAY86C,gCAClBn6C,QAAS,CAAE4xC,yBAA0BC,IAE7C,CACJ,CAmDA,SAASkB,EAAsBj4B,GAC3B,OAAO,SAACnc,EAAUoC,GACd,IAAQyxC,EAA+BzxC,IAAWsxB,UAA1CmgB,2BACFX,GAAa5wC,EAAAA,EAAAA,GAAA,GAAQuxC,GACvBX,EAAc/2B,WAAmB+2B,EAAc/2B,GACnDnc,EAAS,CACLS,KAAMC,EAAAA,GAAY+6C,yBAClBp6C,QAAS,CAAEwyC,2BAA4BX,IAE/C,CACJ,CA8DA,SAASnD,EAAmChoC,EAASkoC,GACjD,MAAO,CACHxvC,KAAMC,EAAAA,GAAYg7C,+BAClB5Q,aAAc,CAAE/iC,QAAAA,EAASkoC,OAAAA,GAEjC,CAiFA,SAAS2J,EAAyBh1C,GAC9B,MAAO,CAAEnE,KAAMC,EAAAA,GAAYi7C,qCAAsCt6C,QAAS,CAAEuD,OAAAA,GAChF,CAsEA,SAASk0C,EAA6Bl0C,GAClC,MAAO,CAAEnE,KAAMC,EAAAA,GAAYk7C,0CAA2Cv6C,QAAS,CAAEuD,OAAAA,GACrF,C,uECr4BM9D,GAAUqH,EAAAA,EAAAA,cAAa,4BACvBC,GAAgBD,EAAAA,EAAAA,cAAa,mCAC/B,SAAAE,GAAO,OAAI,SAACzH,GAAmD,OAC3DyH,EAAQ,CAAEzH,aAAAA,EAAci7C,QAD8B/5C,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IACvB,KAO7Bg6C,EAAiB,CAC1Bh7C,QAAAA,EACAsH,cAAAA,E,uECgBSilB,EAA+B,CACxCC,mCA/BsCnlB,EAAAA,EAAAA,cACtC,4BA+BA4zC,mCA5BsC5zC,EAAAA,EAAAA,cACtC,4BACA,SAAAE,GAAO,OAAI,SAAC2zC,GAAmC,OAAK3zC,EAAQ,CAAE2zC,UAAAA,GAAY,KA2B1EC,mCAxBsC9zC,EAAAA,EAAAA,cACtC,4BAwBA+zC,mCArBsC/zC,EAAAA,EAAAA,cACtC,6BACA,SAAAE,GAAO,OAAI,SAAC25B,EAAkBma,GAAmB,OAAK9zC,EAAQ,CAAE25B,SAAAA,EAAUma,WAAAA,GAAa,KAoBvFC,mCAjBsCj0C,EAAAA,EAAAA,cACtC,6BACA,SAAAE,GAAO,OAAI,SAAC2zC,EAAqBha,GAAgB,OAAK35B,EAAQ,CAAE2zC,UAAAA,EAAWha,SAAAA,GAAW,KAgBtFqa,mCAbsCl0C,EAAAA,EAAAA,cACtC,6BACA,SAAAE,GAAO,OAAI,SAAC25B,GAAgB,OAAK35B,EAAQ,CAAE25B,SAAAA,GAAW,KAYtD5+B,OATU+E,EAAAA,EAAAA,cAAa,oB,uECiBdm0C,EAA8B,CACvC3+B,mBA5CsBxV,EAAAA,EAAAA,cAAa,8CACnC,SAAAE,GAAO,OAAI,SAACuV,GAAe,OAAKvV,EAAQ,CAAEuV,MAAAA,GAAQ,KA4ClDC,gBAzCmB1V,EAAAA,EAAAA,cAAa,2CAChC,SAAAE,GAAO,OAAI,SAACuV,GAAe,OAAKvV,EAAQ,CAAEuV,MAAAA,GAAQ,KAyClD2+B,uBAtC0Bp0C,EAAAA,EAAAA,cAAa,iDACvC,SAAAE,GAAO,OAAI,SAACqrB,GAAmB,OAAKrrB,EAAQ,CAAEqrB,UAAAA,GAAY,KAsC1D8oB,oBAnCuBr0C,EAAAA,EAAAA,cAAa,8CACpC,SAAAE,GAAO,OAAI,SAACqrB,GAAmB,OAAKrrB,EAAQ,CAAEqrB,UAAAA,GAAY,KAmC1D5V,0BAhC6B3V,EAAAA,EAAAA,cAAa,qDAiC1C4V,2BAhC8B5V,EAAAA,EAAAA,cAAa,sDAiC3Cs0C,2BAhC8Bt0C,EAAAA,EAAAA,cAAa,sDAiC3Cu0C,8BAhCiCv0C,EAAAA,EAAAA,cAAa,0DAiC9Cw0C,mCAhCsCx0C,EAAAA,EAAAA,cAAa,+DAiCnD8V,+BA/BkC9V,EAAAA,EAAAA,cAAa,0DAgC/Cy0C,iCA/BoCz0C,EAAAA,EAAAA,cAAa,4DAgCjD00C,oCA/BuC10C,EAAAA,EAAAA,cAAa,iEAgCpD20C,oCA/BuC30C,EAAAA,EAAAA,cAAa,iEAgCpD40C,4BA/B+B50C,EAAAA,EAAAA,cAAa,uDAgC5C60C,qCA/BwC70C,EAAAA,EAAAA,cAAa,gEAgCrD80C,8BA/BiC90C,EAAAA,EAAAA,cAAa,0DAgC9C+0C,8BA/BiC/0C,EAAAA,EAAAA,cAAa,0DAgC9Cg1C,sCA/ByCh1C,EAAAA,EAAAA,cAAa,iEAgCtDiW,wBA/B2BjW,EAAAA,EAAAA,cAAa,mDAgCxCi1C,+BA/BkCj1C,EAAAA,EAAAA,cAAa,+DAgC/CkW,uBA/B0BlW,EAAAA,EAAAA,cAAa,kDAgCvCmW,qBA9BwBnW,EAAAA,EAAAA,cAAa,6CACrC,SAAAE,GAAO,OAAI,SAACkW,GAA4B,OAAKlW,EAAQ,CAAEkW,WAAAA,GAAa,KA8BpEC,0BA3B6BrW,EAAAA,EAAAA,cAAa,mDAC1C,SAAAE,GAAO,OAAI,SAACoW,GAAoB,OAAKpW,EAAQ,CAAEoW,UAAAA,GAAY,K,4HCnCzD4+B,GAAoBl1C,EAAAA,EAAAA,cAAa,sBACjCm1C,GAA2Bn1C,EAAAA,EAAAA,cAAa,8BAC1C,SAAAE,GAAO,OAAI,SAACk1C,GAA0B,OAAKl1C,EAAQ,CAAEk1C,aAAAA,EAAc98C,KAAM+8C,EAAAA,EAAiBC,kBAAmB,KAE3GC,GAAsBv1C,EAAAA,EAAAA,cAAa,yBACrC,SAAAE,GAAO,OAAI,SAACs1C,EAAe9Z,GAAe,IAAEjS,EAAiB9vB,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,KAAI,OAAKuG,EAAQ,CAC7Ek1C,aAAcK,GACVC,EAAAA,EAAAA,MACA,EACAF,GAAS,GACT9Z,GAAW,GACXjS,GAAQrE,IAAAA,MAAaE,UAEzBhtB,KAAM+8C,EAAAA,EAAiBM,MACzB,KAEAC,GAA6B51C,EAAAA,EAAAA,cAAa,iCAC5C,SAAAE,GAAO,OAAI,SAACw7B,GAAe,OAAKx7B,EAAQ,CACpCk1C,aAAcK,GACVC,EAAAA,EAAAA,MACA,EACA,eACAha,GAAW,GACXtW,IAAAA,MAAaE,UAEjBhtB,KAAM+8C,EAAAA,EAAiBM,MACzB,KAEA7M,GAAuB9oC,EAAAA,EAAAA,cAAa,0BACtC,SAAAE,GAAO,OAAI,SAACs1C,EAAe9Z,EAAiBjS,GAAU,OAAKvpB,EAAQ,CAC/Dk1C,aAAcK,GACVC,EAAAA,EAAAA,MACA,EACAF,EACA9Z,GAAW,GACXjS,GAAQrE,IAAAA,MAAaE,UAEzBhtB,KAAM+8C,EAAAA,EAAiB5Z,OACzB,KAEAkL,GAA8B3mC,EAAAA,EAAAA,cAAa,kCAC7C,SAAAE,GAAO,OAAI,SAACw7B,EAAiB8Z,GAAc,OAAKt1C,EAAQ,CACpDk1C,aAAcK,GACVC,EAAAA,EAAAA,MACA,EACAF,GAAS,QACT9Z,GAAW,GACXtW,IAAAA,MAAaE,UAEjBhtB,KAAM+8C,EAAAA,EAAiB5Z,OACzB,KAEAzI,GAAmChzB,EAAAA,EAAAA,cAAa,wCAClD,SAAAE,GAAO,OAAI,SAACw7B,EAAiB8Z,EAAeK,GAA8B,OACtE31C,EAAQ,CAAEk1C,aAAcU,EAA6BN,EAAO9Z,EAASqa,EAAAA,EAAyBta,MAAOoa,OAAsBx1C,OAAWA,OAAWA,IAAa,KAEhK21C,GAAYh2C,EAAAA,EAAAA,cAAa,2BAC3B,SAAAE,GAAO,OAAI,SAACw7B,EAAiB8Z,EAAeS,EAAgCC,GAAuB,OAC/Fh2C,EAAQ,CAAEk1C,aAAcU,EAA6BN,EAAO9Z,EAASqa,EAAAA,EAAyBJ,MAAM,EAAOM,EAAqBC,IAAkB,KAEpJC,GAAmBn2C,EAAAA,EAAAA,cAAa,2BAClC,SAAAE,GAAO,OAAI,SAACk2C,EAAkB1a,EAAiB8Z,EAAeS,EAAgCC,GAAuB,OACjHh2C,EAAQ,CAAEk1C,aAAcU,EAA6BN,EAAO9Z,EAASqa,EAAAA,EAAyBJ,MAAM,EAAOM,EAAqBC,EAAgBE,IAAY,KAE9JhqC,GAAepM,EAAAA,EAAAA,cAAa,2BAC9B,SAAAE,GAAO,OAAI,SAACs1C,EAAe9Z,GAAe,OACtCx7B,EAAQ,CAAEk1C,aAAcU,EAA6BN,EAAO9Z,EAASqa,EAAAA,EAAyBM,QAAS,KAEzGC,GAA4Bt2C,EAAAA,EAAAA,cAAa,iCAC3C,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAE9D00C,GAAkCv2C,EAAAA,EAAAA,cAAa,uCACjD,SAAAE,GAAO,OAAI,SAACqX,GAAa,OAAKrX,EAAQ,CAAEqX,MAAAA,GAAQ,KAE9Ci/B,GAA+Bx2C,EAAAA,EAAAA,cAAa,2BAC9C,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAE9D40C,GAA6Bz2C,EAAAA,EAAAA,cAAa,4BAC1C02C,GAA6B12C,EAAAA,EAAAA,cAAa,gCAC1C22C,GAA+B32C,EAAAA,EAAAA,cAAa,kCAC5C42C,GAAkC52C,EAAAA,EAAAA,cAAa,qCAC/C62C,GAAkC72C,EAAAA,EAAAA,cAAa,qCAC/C82C,GAAiC92C,EAAAA,EAAAA,cAAa,oCAC9C+2C,GAAsB/2C,EAAAA,EAAAA,cAAa,yBACnCg3C,GAAsBh3C,EAAAA,EAAAA,cAAa,yBACrC,SAAAE,GAAO,OACH,SAAC+2C,EAAkCC,GAA8C,OAC7Eh3C,EAAQ,CAAE+2C,iBAAAA,EAAkBC,uBAAAA,GAAyB,KAE3DC,GAA6Bn3C,EAAAA,EAAAA,cAAa,iCAC1Co3C,GAA8Bp3C,EAAAA,EAAAA,cAAa,iCAC3Cq3C,GAAqCr3C,EAAAA,EAAAA,cAAa,yCAClDs3C,GAA8Bt3C,EAAAA,EAAAA,cAAa,iCAC7C,SAAAE,GAAO,OAAI,SAACyU,GAAa,OAAKzU,EAAQ,CAAEyU,MAAAA,GAAQ,KAE9C4iC,GAA6Bv3C,EAAAA,EAAAA,cAAa,iCAC5C,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAE9D21C,GAA6Bx3C,EAAAA,EAAAA,cAAa,iCAC5C,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAE9D41C,GAA6Bz3C,EAAAA,EAAAA,cAAa,iCAC5C,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAE9D61C,GAA8B13C,EAAAA,EAAAA,cAAa,iCAC3C23C,GAA8B33C,EAAAA,EAAAA,cAAa,iCAC3C43C,GAA8B53C,EAAAA,EAAAA,cAAa,iCAMpCmM,EAAsB,CAC/B+oC,kBAAAA,EACAC,yBAAAA,EACA0C,kBARqB73C,EAAAA,EAAAA,cAAa,0BAClC,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAQhEi2C,qBANwB93C,EAAAA,EAAAA,cAAa,8BAOrCu1C,oBAAAA,EACAK,2BAAAA,EACA9M,qBAAAA,EACAnC,4BAAAA,EACA3T,iCAAAA,EACAgjB,UAAAA,EACAG,iBAAAA,EACA/pC,aAAAA,EACAkqC,0BAAAA,EACAC,gCAAAA,EACAC,6BAAAA,EACAC,2BAAAA,EACAC,2BAAAA,EACAC,6BAAAA,EACAC,gCAAAA,EACAC,gCAAAA,EACAC,+BAAAA,EACAC,oBAAAA,EACAC,oBAAAA,EACAG,2BAAAA,EACAC,4BAAAA,EACAC,mCAAAA,EACAC,4BAAAA,EACAC,2BAAAA,EACAC,2BAAAA,EACAC,2BAAAA,EACAC,4BAAAA,EACAC,4BAAAA,EACAC,4BAAAA,GAGEnC,EAA0B,SAC5B5zC,EACAk2C,EACAC,EACAtc,EACAhqB,GAAiB,MAEjB,CAAEqmC,aAAAA,EAAcC,QAAAA,EAAStc,QAAAA,EAAShqB,YAAAA,EAAa7P,cAAAA,EAAe,EAG5Di0C,EAA+B,SACjCN,EACA9Z,GAKiB,MAEI,CACrB8Z,MAAAA,EACA9Z,QAAAA,EACApjC,KAT8BqB,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAGo8C,EAAAA,EAAyBta,MAU1Doa,qBAT6Bl8C,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,GAU7Bs8C,oBAT8Bt8C,UAAAyG,OAAA,EAAAzG,UAAA,QAAA0G,EAU9B61C,eATuBv8C,UAAAyG,OAAA,EAAAzG,UAAA,QAAA0G,EAUvB+1C,SATiBz8C,UAAAyG,OAAA,EAAAzG,UAAA,QAAA0G,EAUpB,C,uEClKYjF,EAA2B,CACpCgoC,mBApBsBpjC,EAAAA,EAAAA,cACtB,2CACI,SAAAE,GAAO,OAAI,SAACzD,GAAe,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAmBvDw7C,2BAjB8Bj4C,EAAAA,EAAAA,cAAa,2CAkB3Ck4C,2BAjB8Bl4C,EAAAA,EAAAA,cAC9B,2CACA,SAAAE,GAAO,OAAI,SAACi4C,EAA4Bpe,GAAkC,OAAK75B,EAAQ,CAAEi4C,kBAAAA,EAAmBpe,QAAAA,GAAU,KAgBtHqe,2BAd8Bp4C,EAAAA,EAAAA,cAAa,2CAe3Cq4C,4BAb+Br4C,EAAAA,EAAAA,cAC/B,4CACA,SAAAE,GAAO,OAAI,SAACo4C,EAAqBH,GAA0B,OAAKj4C,EAAQ,CAAEo4C,UAAAA,EAAWH,kBAAAA,GAAoB,KAYzGI,4BAV+Bv4C,EAAAA,EAAAA,cAAa,4CAW5Cw4C,4BAV+Bx4C,EAAAA,EAAAA,cAAa,4CAW5C/E,OAVU+E,EAAAA,EAAAA,cAAa,4B,uECbrBy4C,GAAgBz4C,EAAAA,EAAAA,cAAa,8BAC7B04C,GAAc14C,EAAAA,EAAAA,cAAa,0BAC7B,SAAAE,GAAO,OAAI,SAACy4C,GAAqB,OAAKz4C,EAAQ,CAAEy4C,OAAAA,GAAS,KAEvD1zB,GAAmBjlB,EAAAA,EAAAA,cAAa,iCAChCykC,GAAiBzkC,EAAAA,EAAAA,cAAa,0BAChC,SAAAE,GAAO,OAAI,SAACqrB,GAAoB,OAAKrrB,EAAQ,CAAEqrB,UAAAA,GAAY,KAEzD7pB,GAAgB1B,EAAAA,EAAAA,cAAa,+BAC/B,SAAAE,GAAO,OAAI,SAACiB,GAAkB,OAAKjB,EAAQ,CAAEiB,WAAAA,GAAa,KAExDy3C,GAAwB54C,EAAAA,EAAAA,cAAa,qCACvC,SAAAE,GAAO,OAAI,SAACmC,GAA2B,OAAKnC,EAAQ,CAAEmC,cAAAA,GAAgB,KAEpEw2C,GAA0B74C,EAAAA,EAAAA,cAAa,wCACzC,SAAAE,GAAO,OAAI,SAACmC,GAA2B,OAAKnC,EAAQ,CAAEmC,cAAAA,GAAgB,KAEpEy2C,GAA2B94C,EAAAA,EAAAA,cAAa,uCAC1C,SAAAE,GAAO,OAAI,SAACmC,GAA2B,OAAKnC,EAAQ,CAAEmC,cAAAA,GAAgB,KAEpE02C,GAA8B/4C,EAAAA,EAAAA,cAAa,qCAC7C,SAAAE,GAAO,OAAI,SAACmC,GAA2B,OAAKnC,EAAQ,CAAEmC,cAAAA,GAAgB,KAEpE22C,GAAsBh5C,EAAAA,EAAAA,cAAa,qCACrC,SAAAE,GAAO,OAAI,SAAC+4C,GAAmB,OAAK/4C,EAAQ,CAAE+4C,MAAAA,GAAQ,KAEpDC,GAAWl5C,EAAAA,EAAAA,cAAa,wBAC1B,SAAAE,GAAO,OAAI,SAAC8T,EAAmBmlC,GAAsB,OAAKj5C,EAAQ,CAAE8T,UAAAA,EAAWmlC,KAAAA,GAAO,KAEpFl7B,GAASje,EAAAA,EAAAA,cAAa,sBACxB,SAAAE,GAAO,OAAI,SAACk5C,EAAiBplC,EAAmBmlC,GAAsB,OAAKj5C,EAAQ,CAAEk5C,QAAAA,EAASplC,UAAAA,EAAWmlC,KAAAA,GAAO,KAE9GE,GAAer5C,EAAAA,EAAAA,cAAa,uBAC9B,SAAAE,GAAO,OAAI,SAAC+4C,GAAkB,OAAK/4C,EAAQ,CAAE+4C,MAAAA,GAAQ,KAEnDK,GAASt5C,EAAAA,EAAAA,cAAa,sBAAsB,SAAAE,GAAO,OAAI,SAACk5C,GAAe,OAAKl5C,EAAQ,CAAEk5C,QAAAA,GAAU,KAChGG,GAAev5C,EAAAA,EAAAA,cAAa,uBAAuB,SAAAE,GAAO,OAAI,SAACk5C,GAAe,OAAKl5C,EAAQ,CAAEk5C,QAAAA,GAAU,KACvGI,GAA8Bx5C,EAAAA,EAAAA,cAChC,+CACI,SAAAE,GAAO,OAAI,SAACk5C,EAAiB38C,GAAoB,OAAKyD,EAAQ,CAACk5C,QAAAA,EAAS38C,OAAAA,GAAQ,KAElFkZ,GAA2B3V,EAAAA,EAAAA,cAAa,2CACxCy5C,GAA4Bz5C,EAAAA,EAAAA,cAAa,4CACzC05C,GAA4B15C,EAAAA,EAAAA,cAAa,4CACzC25C,GAAkC35C,EAAAA,EAAAA,cAAa,yCAC/C45C,GAAsC55C,EAAAA,EAAAA,cAAa,8CACnD65C,GAA0C75C,EAAAA,EAAAA,cAAa,kDACvD85C,GAA8B95C,EAAAA,EAAAA,cAAa,2CAC3C+5C,GAA+B/5C,EAAAA,EAAAA,cAAa,sCAC5Cg6C,GAAoCh6C,EAAAA,EAAAA,cAAa,2CACjDo0C,GAAwBp0C,EAAAA,EAAAA,cAAa,wCACvC,SAAAE,GAAO,OAAI,SAACqrB,GAAmB,OAAKrrB,EAAQ,CAAEqrB,UAAAA,GAAY,KAExD8oB,GAAqBr0C,EAAAA,EAAAA,cAAa,oCACpC,SAAAE,GAAO,OAAI,SAACqrB,GAAmB,OAAKrrB,EAAQ,CAAEqrB,UAAAA,GAAY,KAExDpV,GAAsBnW,EAAAA,EAAAA,cAAa,mCACrC,SAAAE,GAAO,OAAI,SAACkW,GAA4B,OAAKlW,EAAQ,CAAEkW,WAAAA,GAAa,KAElEC,GAA2BrW,EAAAA,EAAAA,cAAa,yCAC1C,SAAAE,GAAO,OAAI,SAACoW,GAAoB,OAAKpW,EAAQ,CAAEoW,UAAAA,GAAY,KAEzD2jC,GAAoBj6C,EAAAA,EAAAA,cAAa,4BAO1Bk6C,EAAqB,CAC9BxB,YAAAA,EACA/iC,yBAAAA,EACA8jC,0BAAAA,EACAC,0BAAAA,EACAC,gCAAAA,EACAC,oCAAAA,EACAC,wCAAAA,EACAC,4BAAAA,EACAC,6BAAAA,EACAC,kCAAAA,EACAG,mBAjBsBn6C,EAAAA,EAAAA,cAAa,4BAkBnCi6C,kBAAAA,EACAv4C,cAAAA,EACA0yC,sBAAAA,EACAC,mBAAAA,EACAl+B,oBAAAA,EACAE,yBAAAA,EACAuiC,sBAAAA,EACAH,cAAAA,EACAxzB,iBAAAA,EACAwf,eAAAA,EACAoU,wBAAAA,EACAK,SAAAA,EACAj7B,OAAAA,EACAo7B,aAAAA,EACAC,OAAAA,EACAC,aAAAA,EACAC,4BAAAA,EACAV,yBAAAA,EACAE,oBAAAA,EACAD,4BAAAA,EACA99C,OApCU+E,EAAAA,EAAAA,cAAa,qB,uECpErBrH,GAAUqH,EAAAA,EAAAA,cAAa,sCACzB,SAAAE,GAAO,OAAI,SAACk6C,GAAiB,OAAKl6C,EAAQ,CAAEk6C,QAAAA,GAAU,KAEpD9rB,GAAWtuB,EAAAA,EAAAA,cAAa,uCAC1B,SAAAE,GAAO,OAAI,SAACzH,GAA6D,OACrEyH,EAAQ,CAAEzH,aAAAA,EAAc4hD,SADwC1gD,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IAChC,KAI9B2gD,EAA2B,CACpC3hD,QAAAA,EACA21B,SAAAA,EACArzB,OALU+E,EAAAA,EAAAA,cAAa,oC,uECLrB2a,GAAO3a,EAAAA,EAAAA,cAAa,2BACpB8a,GAAO9a,EAAAA,EAAAA,cAAa,2BACpBu6C,GAAoBv6C,EAAAA,EAAAA,cAAa,oCACnC,SAAAE,GAAO,OAAI,SAACs6C,GAAmB,OAAKt6C,EAAQ,CAAEs6C,YAAAA,GAAc,KAE1DC,GAAuBz6C,EAAAA,EAAAA,cAAa,uCACtC,SAAAE,GAAO,OAAI,SAACw6C,GAA+C,OAAKx6C,EAAQ,CAAEw6C,eAAAA,GAAiB,KAGzFC,GAAwB36C,EAAAA,EAAAA,cAAa,0CACvC,SAAAE,GAAO,OAAI,SAAC06C,GAAiC,OAAK16C,EAAQ,CAAE06C,wBAAAA,GAA0B,KAGpFC,GAAW76C,EAAAA,EAAAA,cAAa,0BAC1B,SAAAE,GAAO,OAAI,SAAC3F,GAAa,OAAK2F,EAAQ,CAAE3F,MAAAA,GAAQ,KAuBvCugD,EAAsB,CAC/BngC,KAAAA,EACAG,KAAAA,EACAy/B,kBAAAA,EACAE,qBAAAA,EACAM,iBA1BoB/6C,EAAAA,EAAAA,cAAa,iCACjC,SAAAE,GAAO,OAAI,SAAC86C,GAAuC,OAAK96C,EAAQ,CAAE86C,WAAAA,GAAa,KA0B/EC,yBAxB4Bj7C,EAAAA,EAAAA,cAAa,0CACzC,SAAAE,GAAO,OAAI,SAACg7C,GAAyB,OAAKh7C,EAAQ,CAAEg7C,kBAAAA,GAAoB,KAwBxEC,MAtBSn7C,EAAAA,EAAAA,cAAa,qBACtB,SAAAE,GAAO,OAAI,SACPk7C,EACAC,EACAxwC,GAA0B,OACzB3K,EAAQ,CAAEk7C,uBAAAA,EAAwBC,iBAAAA,EAAkBxwC,WAAAA,GAAa,KAkBtEywC,SAhBYt7C,EAAAA,EAAAA,cAAa,2BACzB,SAAAE,GAAO,OAAI,SAACq7C,GAAkB,OAAKr7C,EAAQ,CAAEq7C,UAAAA,GAAY,KAgBzDC,2BAd8Bx7C,EAAAA,EAAAA,cAAa,sCAC3C,SAAAE,GAAO,OAAI,SAACu7C,GAA8B,OAAKv7C,EAAQ,CAAEu7C,sBAAAA,GAAwB,KAcjFC,iCAZoC17C,EAAAA,EAAAA,cAAa,uCAajD26C,sBAAAA,EACAE,SAAAA,E,uECrDE1gC,GAAiBna,EAAAA,EAAAA,cACnB,2CACA,SAAAE,GAAO,OAAI,SAACka,GAAsB,OAAKla,EAAQ,CAAEka,UAAAA,GAAY,KAE3DC,GAAiBra,EAAAA,EAAAA,cAAa,2CAC9Bsa,GAAiBta,EAAAA,EAAAA,cAAa,2CAE9B27C,GAAqB37C,EAAAA,EAAAA,cAAa,gDAClC47C,GAAqB57C,EAAAA,EAAAA,cAAa,gDAClC67C,GAAqB77C,EAAAA,EAAAA,cAAa,gDAa3B87C,EAAiC,CAC1CnhC,MAZS3a,EAAAA,EAAAA,cACT,gCACA,SAAAE,GAAO,OAAI,SAAC0a,GAAiB,OAAK1a,EAAQ,CAAE0a,UAAAA,GAAY,KAWxDE,MATS9a,EAAAA,EAAAA,cACT,gCACA,SAAAE,GAAO,OAAI,SAAC6a,GAAkB,OAAK7a,EAAQ,CAAE6a,UAAAA,GAAY,KAQzDZ,eAAAA,EACAE,eAAAA,EACAC,eAAAA,EACAqhC,mBAAAA,EACAC,mBAAAA,EACAC,mBAAAA,EACA5gD,OAXU+E,EAAAA,EAAAA,cAAa,iC,uECNd+7C,EAAqC,CAC9CC,sCAZyCh8C,EAAAA,EAAAA,cACzC,2DACA,SAAAE,GAAO,OAAI,SAACkJ,GAA+D,OAAKlJ,EAAQ,CAACkJ,KAAAA,GAAM,KAW/F6yC,oCARuCj8C,EAAAA,EAAAA,cACvC,yDACA,SAAAE,GAAO,OAAI,SAACkJ,GAAgB,OAAKlJ,EAAQ,CAAEkJ,KAAAA,GAAO,K,uECAhD8yC,GAAiBl8C,EAAAA,EAAAA,cACnB,2BACA,SAAAE,GAAO,OAAI,SAACi8C,GAA6B,OAAKj8C,EAAQ,CAAEi8C,qBAAAA,GAAuB,KAG7EC,GAAuBp8C,EAAAA,EAAAA,cAAa,kCACtC,SAAAE,GAAO,OAAI,SAACm8C,GAAyB,OAAKn8C,EAAQ,CAAEm8C,YAAAA,GAAc,KAGhEC,GAAgBt8C,EAAAA,EAAAA,cAClB,8BACA,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAG9D06C,GAAsBv8C,EAAAA,EAAAA,cACxB,qCACA,SAAAE,GAAO,OAAI,SACP2B,EACA26C,EACAC,GAAuC,OACtCv8C,EAAQ,CACT2B,cAAAA,EACA26C,WAAAA,EACAC,gBAAAA,GACF,KAGAC,GAA2B18C,EAAAA,EAAAA,cAC7B,sCACA,SAAAE,GAAO,OAAI,SAAC2B,EAAuB26C,GAA0B,OAAKt8C,EAAQ,CAAE2B,cAAAA,EAAe26C,WAAAA,GAAa,KAGtGG,GAAyB38C,EAAAA,EAAAA,cAC3B,oCACA,SAAAE,GAAO,OAAI,SAAC08C,GAAmB,OAAK18C,EAAQ,CAAE08C,WAAAA,GAAa,KAGzDC,GAAkB78C,EAAAA,EAAAA,cACpB,uCACA,SAAAE,GAAO,OAAI,SAACi8C,EAA8BW,GAAgC,OACtE58C,EAAQ,CAAEi8C,qBAAAA,EAAsBW,WAAAA,GAAa,KAG/CC,GAAwB/8C,EAAAA,EAAAA,cAC1B,gCACA,SAAAE,GAAO,OAAI,SAACi8C,EAA8Ba,GAAiB,OAAK98C,EAAQ,CAAEi8C,qBAAAA,EAAsBa,SAAAA,GAAW,KAGzGC,GAAyBj9C,EAAAA,EAAAA,cAC3B,iCACA,SAAAE,GAAO,OAAI,SAACi8C,EAA8Ba,GAAiB,OAAK98C,EAAQ,CAAEi8C,qBAAAA,EAAsBa,SAAAA,GAAW,KAGzGE,GAAgBl9C,EAAAA,EAAAA,cAClB,8BACA,SAACE,GAAO,OAAK,SAACi8C,GAA4B,OAAKj8C,EAAQ,CAAEi8C,qBAAAA,GAAuB,KAG9EgB,GAAwBn9C,EAAAA,EAAAA,cAC1B,uCACA,SAACE,GAAO,OACJ,SAACkJ,GAIA,OACGlJ,EAAQkJ,EAAK,KAGnBg0C,GAAiBp9C,EAAAA,EAAAA,cAAa,+BAE9Bq9C,GAAyBr9C,EAAAA,EAAAA,cAC3B,uCACA,SAAAE,GAAO,OAAI,SACPi8C,EACAmB,EACAC,GAAc,OACbr9C,EAAQ,CACTi8C,qBAAAA,EACAmB,UAAAA,EACAC,QAAAA,GACF,KAGAC,GAA0Bx9C,EAAAA,EAAAA,cAC5B,wCACA,SAAAE,GAAO,OAAI,SAACkJ,EAAkCq0C,GAA2B,OAAKv9C,EAAQ,CAAEkJ,KAAAA,EAAMq0C,oBAAAA,GAAsB,KAGlHC,GAA8B19C,EAAAA,EAAAA,cAChC,6CACA,SAAAE,GAAO,OAAI,SAAC2Y,GAAiC,OAAK3Y,EAAQ2Y,EAAO,KAG/D8kC,GAA4B39C,EAAAA,EAAAA,cAC9B,0CACA,SAAAE,GAAO,OAAI,SAACi8C,EAA8BmB,EAAyBC,GAAqB,OACpFr9C,EAAQ,CACJi8C,qBAAAA,EACAmB,UAAAA,EACAC,QAAAA,GACF,KAGJK,GAA6B59C,EAAAA,EAAAA,cAC/B,2CACA,SAAAE,GAAO,OAAI,SAACkJ,EAA+Bq0C,GAA2B,OAAKv9C,EAAQ,CAAEkJ,KAAAA,EAAMq0C,oBAAAA,GAAsB,KA0CxGI,EAAqB,CAC9B3B,eAAAA,EACAE,qBAAAA,EACAE,cAAAA,EACAC,oBAAAA,EACAuB,yBA5C4B99C,EAAAA,EAAAA,cAC5B,8DACA,SAAAE,GAAO,OAAI,SAAC2B,GAAsB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KA2CjE66C,yBAAAA,EACAC,uBAAAA,EACAE,gBAAAA,EACAE,sBAAAA,EACAE,uBAAAA,EACAC,cAAAA,EACAC,sBAAAA,EACAC,eAAAA,EACAC,uBAAAA,EACAG,wBAAAA,EACAE,4BAAAA,EACAC,0BAAAA,EACAC,2BAAAA,EACAG,gCArDmC/9C,EAAAA,EAAAA,cACnC,gDACA,SAAAE,GAAO,OAAI,SAAC2Y,GAAiC,OAAK3Y,EAAQ2Y,EAAO,KAoDjEmlC,+BAjDkCh+C,EAAAA,EAAAA,cAClC,gDACA,SAAAE,GAAO,OAAI,SACPi8C,EACAW,EACArzB,GAAU,OACTvpB,EAAQ,CACTi8C,qBAAAA,EACAW,WAAAA,EACArzB,KAAAA,GACF,KAwCFxuB,OArCU+E,EAAAA,EAAAA,cAAa,qBAsCvBi+C,wBApC2Bj+C,EAAAA,EAAAA,cAC3B,wCACA,SAAAE,GAAO,OAAI,SAAC+mB,GAAuB,OAAK/mB,EAAQ,CAAE+mB,SAAAA,GAAW,KAmC7Di3B,mBAhCsBl+C,EAAAA,EAAAA,cACtB,iCACA,SAAAE,GAAO,OAAI,SAAC49B,GAAa,OAAK59B,EAAQ,CAAE49B,MAAAA,GAAQ,KA+BhDqgB,wBA5B2Bn+C,EAAAA,EAAAA,cAAa,sC,uECjJ/Bo+C,EAAwB,CACjCC,qBATwB3kC,EAAAA,EAAAA,mBACxB,0CACA,0CACA,0CAHwBA,G,uECEtB/gB,GAAUqH,EAAAA,EAAAA,cAAa,sCACvBC,GAAgBD,EAAAA,EAAAA,cAAa,6CAC/B,SAAAE,GAAO,OAAI,SAACzH,EAA4BsK,GAA8B,OAAK7C,EAAQ,CAAE6C,YAAAA,EAAatK,aAAAA,GAAe,KAE/GwC,GAAQ+E,EAAAA,EAAAA,cAAa,oCACrBs+C,GAAuBt+C,EAAAA,EAAAA,cAAa,qDACtC,SAAAE,GAAO,OAAI,SAACq+C,GAA0B,OAAKr+C,EAAQ,CAAEq+C,QAAAA,GAAU,KActDC,EAA0B,CACnC7lD,QAAAA,EACAsH,cAAAA,EACAhF,MAAAA,EACAwjD,iBAhBoBz+C,EAAAA,EAAAA,cAAa,gDACjC,SAAAE,GAAO,OAAI,SAACq+C,GAA0B,OAAKr+C,EAAQ,CAAEq+C,QAAAA,GAAU,KAgB/DD,qBAAAA,E,uEC1BE3lD,GAAUqH,EAAAA,EAAAA,cAAa,2CACvBC,GAAgBD,EAAAA,EAAAA,cAClB,kDACA,SAAAE,GAAO,OACH,SAACzH,GAAqD,OAClDyH,EAAQ,CAAEzH,aAAAA,EAAc8yB,UADqB5xB,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IACZ,KAKnC+kD,EAAgC,CACzC/lD,QAAAA,EACAsH,cAAAA,E,uECDS0+C,EAA4B,CACrChkC,MAbS3a,EAAAA,EAAAA,cAAa,kCAAkC,SAAAE,GAAO,OAAI,SAACjI,GAAgB,OAAKiI,EAAQ,CAAEjI,QAAAA,GAAU,KAc7G6iB,MAbS9a,EAAAA,EAAAA,cAAa,kCActB4+C,2BAb8B5+C,EAAAA,EAAAA,cAC9B,yCACA,SAAAE,GAAO,OAAI,SAAC2+C,GAAiC,OAAK3+C,EAAQ,CAAE2+C,yBAAAA,GAA2B,KAYvFC,kBAVqB9+C,EAAAA,EAAAA,cACrB,+CACA,SAAAE,GAAO,OAAI,SAAC8T,EAAmBu7B,EAA0BwP,GAA6B,OAClF7+C,EAAQ,CAAE8T,UAAAA,EAAWu7B,iBAAAA,EAAkBwP,uBAAAA,GAAyB,K,uECPlEpmD,GAAUqH,EAAAA,EAAAA,cAAa,mCACvBC,GAAgBD,EAAAA,EAAAA,cAAa,yCAC/B,SAAAE,GAAO,OAAI,SAACD,GAAqD,OAC7DC,EAAQ,CAAED,cAAAA,EAAe++C,OAD+BrlD,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IACzB,KAgC7BslD,EAAuB,CAChCtmD,QAAAA,EACAsH,cAAAA,EACAi/C,eAjCmBl/C,EAAAA,EAAAA,cAAa,iCAkChCm/C,uBAjC0Bn/C,EAAAA,EAAAA,cAAa,yCACvC,SAAAE,GAAO,OAAI,SAACkJ,GAAsG,OAAKlJ,EAAQ,CAAEkJ,KAAAA,GAAO,KAiCxIgK,mBA/BsBpT,EAAAA,EAAAA,cAAa,4CACnC,SAAAE,GAAO,OAAI,SAACkJ,GAA0E,OAAKlJ,EAAQ,CAAEkJ,KAAAA,GAAO,KA+B5Gg2C,sBA7ByBp/C,EAAAA,EAAAA,cACzB,gDACA,SAAAE,GAAO,OACH,SACIm/C,GASG,OAEHn/C,EAAQ,CAAEm/C,eAAAA,GAAiB,KAenCC,iBAZoBt/C,EAAAA,EAAAA,cAAa,2CACjC,SAAAE,GAAO,OAAI,SAACq/C,GAAmB,OAAKr/C,EAAQ,CAAEq/C,YAAAA,GAAc,KAY5DtkD,OAVU+E,EAAAA,EAAAA,cAAa,iC,8HChBrBw/C,GAAWx/C,EAAAA,EAAAA,cAAa,qBAAqB,SAAAE,GAAO,OAAI,SAACiB,GAAmB,OAAKjB,EAAQ,CAAEiB,WAAAA,GAAa,KAExGs+C,GAAiBz/C,EAAAA,EAAAA,cACnB,4BACA,SAAAE,GAAO,OAAI,SAACw/C,GAAsB,OAAKx/C,EAAQ,CAAEw/C,MAAAA,GAAQ,KAGvDC,GAAiB3/C,EAAAA,EAAAA,cACnB,wBACA,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAG9D+9C,GAAuB5/C,EAAAA,EAAAA,cACzB,+BACA,SAAAE,GAAO,OAAI,SAAC2B,EAAuBg+C,GAAwB,OACvD3/C,EAAQ,CACJ2B,cAAAA,EACAg+C,YAAAA,GACF,KAGJC,GAAwB9/C,EAAAA,EAAAA,cAC1B,kCACA,SAAAE,GAAO,OAAI,SAAC6/C,GAAsB,OAAK7/C,EAAQ,CAAE6/C,cAAAA,GAAgB,KAG/DC,GAA8BhgD,EAAAA,EAAAA,cAChC,yCACA,SAAAE,GAAO,OAAI,SAAC+mB,EAAqBg5B,GAAkD,OAC/E//C,EAAQ,CAAE+mB,SAAAA,EAAUg5B,mBAAAA,GAAqB,KAG3CC,GAAalgD,EAAAA,EAAAA,cAAa,qBAE1BmgD,GAAWngD,EAAAA,EAAAA,cAAa,cACxBogD,GAAgBpgD,EAAAA,EAAAA,cAAa,oBAE7BqgD,GAAargD,EAAAA,EAAAA,cACf,wBACA,SAAAE,GAAO,OAAI,SAAC2B,EAAuBy+C,GAAkB,OACjDpgD,EAAQ,CACJ2B,cAAAA,EACAy+C,SAAAA,GACF,KAGJC,GAAmBvgD,EAAAA,EAAAA,cACrB,uBACA,SAAAE,GAAO,OAAI,SAACzH,GAA0B,OAClCyH,EAAQ,CACJzH,aAAAA,GACF,KAGJ+nD,GAAoBxgD,EAAAA,EAAAA,cACtB,wBACA,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAG9D4+C,GAAmBzgD,EAAAA,EAAAA,cACrB,uBACA,SAAAE,GAAO,OAAI,SAACzH,EAA4BoJ,GAAqB,OACzD3B,EAAQ,CACJzH,aAAAA,EACAoJ,cAAAA,GACF,KAGJ6+C,GAAiB1gD,EAAAA,EAAAA,cAAa,yBAAyB,SAAAE,GAAO,OAAI,SAACygD,GAAkB,OAAKzgD,EAAQ,CAAEygD,QAAAA,GAAU,KAE9GC,GAAqB5gD,EAAAA,EAAAA,cAAa,8BAA8B,SAAAE,GAAO,OAAI,SAAC2gD,GAAU,OAAK3gD,EAAQ,CAAE2gD,KAAAA,GAAO,KAE5GC,GAAmB9gD,EAAAA,EAAAA,cACrB,mCACA,SAAAE,GAAO,OAAI,SAAC6gD,GAAyB,OAAK7gD,EAAQ,CAAE6gD,kBAAAA,GAAoB,KAGtEC,GAA2BhhD,EAAAA,EAAAA,cAAa,oCAExCihD,GAAyBjhD,EAAAA,EAAAA,cAC3B,uCACA,SAAAE,GAAO,OAAI,SAAC6gB,EAAkBmgC,GAAgB,OAAKhhD,EAAQ,CAAE6gB,SAAAA,EAAUmgC,QAAAA,GAAU,KAG/EC,GAAkCnhD,EAAAA,EAAAA,cACpC,kDACA,SAAAE,GAAO,OAAI,SAAC6gB,GAAiB,OAAK7gB,EAAQ,CAAE6gB,SAAAA,GAAW,KAGrDqgC,EAAgB,SAACrgC,EAAkBmgC,GACrC,OAAO,SAACrpD,EAAoDoC,GACxDpC,EAASqpB,EAAAA,IAAYC,UAAUJ,IAC/BlpB,EAASqpB,EAAAA,IAAYE,gBAAgB,CAAC8/B,GAAUngC,GACpD,CACJ,EA0JMsgC,GAAsBrhD,EAAAA,EAAAA,cACxB,kCACA,SAAAE,GAAO,OAAI,SAAC2B,EAAuBy/C,GAA8C,OAC7EphD,EAAQ,CACJ2B,cAAAA,EACAy/C,qBAAAA,GACF,KAGJC,GAA4BvhD,EAAAA,EAAAA,cAC9B,iCACA,SAAAE,GAAO,OAAI,SAACzH,GAA0B,OAClCyH,EAAQ,CACJzH,aAAAA,GACF,KAGJ+oD,GAAqBxhD,EAAAA,EAAAA,cAAa,sBAAsB,SAAAE,GAAO,OAAI,SAACygD,GAAmB,OAAKzgD,EAAQ,CAAEygD,QAAAA,GAAU,KAEhHc,GAAczhD,EAAAA,EAAAA,cAChB,sBACA,SAAAE,GAAO,OAAI,SAAC6gD,EAA2BW,EAAkCC,GAAwB,OAC7FzhD,EAAQ,CAAE6gD,kBAAAA,EAAmBW,yBAAAA,EAA0BC,QAAAA,GAAU,KAGnEC,GAAsB5hD,EAAAA,EAAAA,cAAa,+BACnC6hD,GAAuB7hD,EAAAA,EAAAA,cACzB,wBACA,SAAAE,GAAO,OAAI,SAAC6gD,EAA2BW,GAAgC,OACnExhD,EAAQ,CAAE6gD,kBAAAA,EAAmBW,yBAAAA,GAA2B,KAG1DrJ,GAA6Br4C,EAAAA,EAAAA,cAC/B,qCACA,SAAAE,GAAO,OACH,SACI6gD,EACAW,EACAI,EACAC,GAAuC,OAEvC7hD,EAAQ,CAAE6gD,kBAAAA,EAAmBW,yBAAAA,EAA0BI,mBAAAA,EAAoBC,8BAAAA,GAAgC,KAGjHC,GAA8BhiD,EAAAA,EAAAA,cAAa,sCAE3CiiD,GAAoCjiD,EAAAA,EAAAA,cACtC,4CACA,SAAAE,GAAO,OACH,SAAC6gD,EAA2Be,EAA4BI,GAA8C,OAClGhiD,EAAQ,CAAE6gD,kBAAAA,EAAmBe,mBAAAA,EAAoBI,uBAAAA,GAAyB,KAGhFC,GAAqCniD,EAAAA,EAAAA,cAAa,6CAElDoiD,GAA+BpiD,EAAAA,EAAAA,cACjC,8CACA,SAAAE,GAAO,OACH,SACI6gD,EACAsB,EACAX,EACAI,EACAQ,GAAsB,OAEtBpiD,EAAQ,CAAE6gD,kBAAAA,EAAmBsB,cAAAA,EAAeX,yBAAAA,EAA0BI,mBAAAA,EAAoBQ,eAAAA,GAAiB,KAGjHC,GAA+BviD,EAAAA,EAAAA,cACjC,uCACA,SAAAE,GAAO,OAAI,SAACsiD,GAAsB,OAAKtiD,EAAQ,CAAEsiD,aAAAA,GAAe,KAG9DvnD,GAAQ+E,EAAAA,EAAAA,cAAa,eAIdyiD,EAAe,CACxBjD,SAAAA,EACAC,eAAAA,EACAE,eAAAA,EACAO,WAAAA,EACAN,qBAAAA,EACAE,sBAAAA,EACAE,4BAAAA,EACAG,SAAAA,EACAC,cAAAA,EACAC,WAAAA,EACAE,iBAAAA,EACAC,kBAAAA,EACAC,iBAAAA,EACAC,eAAAA,EACAE,mBAAAA,EACAE,iBAAAA,EACAE,yBAAAA,EACAC,uBAAAA,EACAE,gCAAAA,EACAuB,uBAnO2B,SAAC3hC,GAC5B,OAAO,SAAClpB,EAAoDoC,GACxD,IAAM+mB,EAAqC/mB,IAAWgnB,KAAKD,UAE3D,KAAIkpB,EAAAA,EAAAA,OAAMlpB,EAAUD,IAApB,CAIA,IAAM/B,GAAW2jC,EAAAA,EAAAA,OAAM3hC,EAAUD,IAEjC,GAAI/B,EAASviB,SAAWmmD,EAAAA,EAAcC,SAAU,CAC5ChrD,EAASopD,EAAuBlgC,EAAU/B,IAE1C,IAAM8jC,GAAuB3oD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACtB6kB,GAAQ,IACX+jC,QAAS,EACTC,OAAQ,EACRC,UAAU,EACVlmC,kBAAc1c,EACdic,YAAQjc,EACR6iD,gBAAY7iD,EACZ8iD,iBAAa9iD,EACb+iD,gBAAY/iD,EACZgjD,kBAAchjD,EACdijD,eAAWjjD,IAGfxI,EAASupD,EAAcrgC,EAAU+hC,GACrC,KAAO,CACH,IACIA,EAEJ,GAH2B9jC,EAAnBukC,eAGY,CAChB,IACIC,EAQAxkC,EARAwkC,eACAC,EAOAzkC,EAPAykC,cACAC,EAMA1kC,EANA0kC,oBACAC,EAKA3kC,EALA2kC,kBACAC,EAIA5kC,EAJA4kC,mBACAC,EAGA7kC,EAHA6kC,kBACAC,EAEA9kC,EAFA8kC,oBACAC,EACA/kC,EADA+kC,iBAGJjB,GAAc3oD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACP6kB,GAAQ,IACX+jC,QAASS,EACTR,OAAQS,EACR1mC,aAAc2mC,EACdR,WAAYS,EACZR,YAAaS,EACbR,WAAYS,EACZR,aAAcS,EACdR,UAAWS,GACP/kC,EAASviB,SAAWmmD,EAAAA,EAAcrW,QAAU,CAC5C0W,UAAU,GAGtB,KAAO,CACH,IAMIe,EANEC,EAAahqD,IAAWylD,MAAMwE,WAAWC,sBAAsBpjC,GAErE,IAAKkjC,GAAcjlC,EAASviB,SAAWmmD,EAAAA,EAAcwB,MACjD,OAKJ,GAAIH,EAcAD,EAAa,CACTjB,QAHAkB,EAVAlB,QAcAC,OAJAiB,EATAjB,OAcAC,SALAgB,EARAhB,SAcAlmC,aANAknC,EAPAlnC,aAcAT,OAPA2nC,EANA3nC,OAcA4mC,WARAe,EALAf,WAcAC,YATAc,EAJAd,YAcAC,WAVAa,EAHAb,WAcAC,aAXAY,EAFAZ,aAcAC,UAZAW,EADAX,WAiBRR,GAAc3oD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACP6kB,GACAglC,GACChlC,EAASviB,SAAWmmD,EAAAA,EAAcrW,QAAU,CAC5C0W,UAAU,GAGtB,CAEAprD,EAASupD,EAAcrgC,EAAU+hC,IACjCjrD,EAASspD,EAAgCpgC,GAC7C,CApGA,CAqGJ,CACJ,EAwHIsjC,uBAtH2B,SAACtjC,GAC5B,OAAO,SAAClpB,EAAoDoC,GACxD,IAAM+mB,EAAqC/mB,IAAWgnB,KAAKD,UAE3D,KAAIkpB,EAAAA,EAAAA,OAAMlpB,EAAUD,IAApB,CAIA,IAAM/B,GAAW2jC,EAAAA,EAAAA,OAAM3hC,EAAUD,IACzBhE,EAAyBiC,EAAzBjC,aAAcimC,EAAWhkC,EAAXgkC,OAEhBsB,GAAuBnqD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACtB6kB,GAAQ,IACX1C,OAAQioC,EAAAA,GAAe7kC,sBAAsB3C,EAAcimC,KAG/DnrD,EAASupD,EAAcrgC,EAAUujC,GAVjC,CAWJ,CACJ,EAqGIE,wBA3P4B,SAACzjC,GAC7B,OAAO,SAAClpB,EAAoDoC,GACxD,IAAM+mB,EAAqC/mB,IAAWgnB,KAAKD,UACrDyjC,EAAexqD,IAAWylD,MAAM+E,aAChCzlC,EAAWgC,EAAUD,GAE3B,KAAImpB,EAAAA,EAAAA,OAAMlrB,MAAakrB,EAAAA,EAAAA,OAAMua,GAA7B,CAIA,IAAMC,GAAevqD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACd6kB,GAAQ,IACX2lC,WAAYl4C,EAAAA,GAAYm4C,qBAAqBH,EAAan4C,OAAQ0S,EAAS3S,KAAM2S,EAAS7b,QAC1F0hD,WAAYp4C,EAAAA,GAAYq4C,qBAAqBL,EAAan4C,OAAQ0S,EAAS3S,KAAM2S,EAAS7b,QAC1F4hD,oBAAqBt4C,EAAAA,GAAYu4C,6BAA6BP,EAAan4C,OAAQ0S,EAAS3S,KAAM2S,EAAS7b,UAG/GtL,EAASupD,EAAcrgC,EAAU2jC,IACjC7sD,EAASspD,EAAgCpgC,GAVzC,CAWJ,CACJ,EAwOIsgC,oBAAAA,EACAE,0BAAAA,EACAlJ,2BAAAA,EACA2J,4BAAAA,EACAG,mCAAAA,EACAF,kCAAAA,EACAT,mBAAAA,EACAC,YAAAA,EACAG,oBAAAA,EACAC,qBAAAA,EACAO,6BAAAA,EACAG,6BAAAA,EACAtnD,MAAAA,E,mJC9WSiyB,EAAsB,CAC/BpS,KAGJ,WACI,OAAO,SAAAjjB,GAAa,IAADotD,EAAAC,EACfrtD,EAASstD,EAAAA,IAAuBC,wBAChCvtD,EAASo2B,EAAAA,EAAeJ,gBACxBh2B,EAASkU,EAAAA,IAAqBof,aAAY,IAC1CtzB,EAASwtD,EAAAA,IAA4BC,+BAA8B,IACnEztD,EAAS0tD,EAAAA,IAAmBC,aAAY,IACxC3tD,EAASkpC,EAAAA,IAAajmB,QACtBjjB,EAAS4tD,EAAAA,IAAkB3qC,QAC3BjjB,EAASiuB,EAAAA,EAAuBhL,QAChCjjB,EAASijD,EAAAA,EAAoBhgC,QAC7BjjB,EAAS6tD,EAAAA,EAAsB5qC,QAC/BjjB,EAAS8tD,EAAAA,EAAsB7qC,QAEX,QAApBmqC,EAAIzyB,EAAAA,EAAQmY,gBAAQ,IAAAsa,GAAO,QAAPC,EAAhBD,EAAkBvuB,aAAK,IAAAwuB,GAAvBA,EAAyBU,OACzBpzB,EAAAA,EAAQ6W,SAAOlvC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIq4B,EAAAA,EAAQmY,UAAQ,IAAEjU,WAAOr2B,IAEtD,CACJ,E,0OCrBawlD,EAAiB,CAC1BtuD,KA8DJ,WACI,sBAAAC,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAUoC,GAAQ,IAAA6rD,EAAAC,EAAAlhC,EAAAmhC,EAAA,OAAAtuD,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACb,GADa0tD,EACR9rD,IAAZ4qB,EAAOkhC,EAAPlhC,QAEiB,QAFVihC,EAEXjhC,EAAQmhC,UAAU1gB,WAAG,IAAAwgB,IAArBA,EAAuB1lD,OAAM,CAAAjI,EAAAE,KAAA,eAAAF,EAAAkyC,OAAA,wBAAAlyC,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAKL4tD,EAAAA,GAAeC,eAAe,KAAD,EAA/CF,EAAS7tD,EAAAY,KACflB,EAASsuD,EAAaH,IACtBnuD,EAASuuD,EAAe,IAAIjuD,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAE5BN,EAASyB,EAAAA,IAAaC,cAAapB,EAAAiB,KAAK,yBAAAjB,EAAAqB,OAAA,GAAA5B,EAAA,mBAE/C,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EAdD,EAeJ,EA7EIsB,MAyvBJ,WACI,MAAO,CAAE3C,KAAMC,EAAAA,GAAYwf,MAC/B,EA1vBI0X,WAqIJ,SAAoBhG,GAChB,OAAO,SAAC5xB,EAAUoC,GACd,IAAQ4qB,EAAY5qB,IAAZ4qB,QACJA,EAAQ4E,OAASA,IACjB5xB,EAAS,CAAES,KAAMC,EAAAA,GAAY+7B,YAAa7K,KAAAA,IACtC5E,EAAQrI,QACR3kB,EAASirB,KAGrB,CACJ,EA9IIkN,mBAuJJ,SAA4BuE,GACxB,MAAO,CACHj8B,KAAMC,EAAAA,GAAYi8B,eAClBD,KAAAA,EAER,EA3JIzE,eA6JJ,SAAwBC,GACpB,OAAO,SAACl4B,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAYk8B,UAClB1E,SAAAA,IAEJl4B,EAASwuD,KAET,IAAAC,EAAwBrsD,IAAW4qB,QAA3BrI,aAAM,IAAA8pC,EAAG,CAAC,EAACA,GACR5xB,MACP78B,EAASirB,IAEjB,CACJ,EAzKI4M,kBA2KJ,SAA2BgF,GACvB,OAAO,SAAC78B,EAAUoC,GACd,IAAAssD,EAAmCtsD,IAAW4qB,QAAO2hC,EAAAD,EAA7C/pC,OAAAA,OAAM,IAAAgqC,EAAG,CAAC,EAACA,EAAE32B,EAAS02B,EAAT12B,UAQrB,GANAh4B,EAAS,CAAES,KAAMC,EAAAA,GAAYq8B,SAAUF,KAAAA,KAEnClY,EAAOkY,MAAQ+xB,EAAkBjqC,KACjC3kB,EAASirB,KAGT4R,EAAM,CACN,IAAMI,EAAc1P,IAAAA,IAAWsP,GACzBgyB,EAAuBthC,IAAAA,IAAWyK,GAClC82B,EAAWxmC,EAAAA,GAAc+R,qBAAqB7Z,EAAAA,GAAUuuC,qBAAqBC,IAMnFhvD,EAAS+3B,EAJgB82B,EAAqB35B,OAAO+H,EAAa,QAAU4xB,GAAwBthC,IAAAA,IAAWuhC,GACzGD,EAAqB1xB,OAAO3c,EAAAA,GAAU4c,mBACtC0xB,GAGV,CACJ,CACJ,EAhMI/2B,oBAAAA,EACA9M,SAAAA,EAEAgkC,oBAuHJ,SAA6Br9B,GACzB,MAAO,CACHnxB,KAAMC,EAAAA,GAAYwuD,kBAClBt9B,KAAAA,EAER,EA3HI28B,eAAAA,EACAY,0BA6kBJ,SAAmCzI,GAC/B,OAAO,SAAA1mD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY0uD,6BAA8B1I,QAAAA,IAC3D1mD,EAASqvD,IACb,CACJ,EAjlBIC,mBAmlBJ,SAA4B5I,GACxB,OAAO,SAAA1mD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY6uD,qBAAsB7I,QAAAA,IACnD1mD,EAASqvD,IACb,CACJ,EAvlBI/2B,UAylBJ,SAAmBtV,GACf,OAAO,SAAAhjB,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY68B,WAAYva,KAAAA,IACzChjB,EAASqvD,IACb,CACJ,EA7lBIG,kBA+lBJ,SAA2Br9C,GACvB,OAAO,SAACnS,EAAUoC,GACd,IAAAqtD,EAGIrtD,IAAW4qB,QAAQrI,OAAOwpC,UAF1BuB,EAAcD,EAAdC,eACAC,EAAcF,EAAdE,eAGJ3vD,EAAS,CAAES,KAAMC,EAAAA,GAAYkvD,oBAAqBvuD,QAAS,CAAE8Q,MAAAA,KAC7DnS,EAASqvD,MAELK,GAAkBC,IAClB3vD,EAASirB,IAEjB,CACJ,EA5mBI4kC,oBA8mBJ,SAA6B19C,GACzB,OAAO,SAAAnS,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYovD,sBAAuBzuD,QAAS,CAAE8Q,MAAAA,KAC/DnS,EAASqvD,IACb,CACJ,EAlnBIU,mBAonBJ,SAA4B59C,GACxB,OAAO,SAAAnS,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYsvD,sBAAuB3uD,QAAS,CAAE8Q,MAAAA,KAC/DnS,EAASqvD,IACb,CACJ,EAxnBIY,0BA0nBJ,SAAmC99C,GAC/B,OAAO,SAAAnS,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYwvD,6BAA8B7uD,QAAS,CAAE8Q,MAAAA,KACtEnS,EAASqvD,IACb,CACJ,EA9nBIc,4BAgoBJ,SAAqCh+C,GACjC,OAAO,SAAAnS,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY0vD,gCAAiC/uD,QAAS,CAAE8Q,MAAAA,KACzEnS,EAASqvD,IACb,CACJ,EApoBIgB,yBAsoBJ,WACI,OAAO,SAACrwD,EAAUoC,GACd,IAAAkuD,EAAwBluD,IAAW4qB,QAA3BrI,aAAM,IAAA2rC,EAAG,CAAC,EAACA,GACRnC,UAAUwB,gBACjB3vD,EAASirB,IAGjB,CACJ,EA7oBIslC,2BA+oBJ,WACI,OAAO,SAACvwD,EAAUoC,GACd,IAAAouD,EAAwBpuD,IAAW4qB,QAA3BrI,aAAM,IAAA6rC,EAAG,CAAC,EAACA,GACRrC,UAAUsC,kBACjBzwD,EAASirB,IAGjB,CACJ,EAtpBIylC,0BAwpBJ,WACI,OAAO,SAAC1wD,EAAUoC,GACd,IAAAuuD,EAAwBvuD,IAAW4qB,QAA3BrI,aAAM,IAAAgsC,EAAG,CAAC,EAACA,GACRxC,UAAUyC,iBACjB5wD,EAASirB,IAEjB,CACJ,EA9pBI4lC,mCAgqBJ,WACI,OAAO,SAAC7wD,EAAUoC,GACd,IAAA0uD,EAAwB1uD,IAAW4qB,QAA3BrI,aAAM,IAAAmsC,EAAG,CAAC,EAACA,GACR3C,UAAU4C,+BACjB/wD,EAASirB,IAGjB,CACJ,EAvqBI+lC,oCAw9BJ,WACI,OAAO,SAAChxD,EAAUoC,GACd,IAAA6uD,EAAwB7uD,IAAW4qB,QAA3BrI,aAAM,IAAAssC,EAAG,CAAC,EAACA,GACR9C,UAAU+C,gCACjBlxD,EAASirB,IAGjB,CACJ,EA/9BIkmC,oCA4rBJ,WACI,OAAO,SAACnxD,EAAUoC,GACd,IAAAgvD,EAAwBhvD,IAAW4qB,QAA3BrI,aAAM,IAAAysC,EAAG,CAAC,EAACA,GACRjD,UAAUkD,gCACjBrxD,EAASirB,IAGjB,CACJ,EAnsBIqmC,gCAuqBJ,WACI,OAAO,SAACtxD,EAAUoC,GACd,IAAAmvD,EAAwBnvD,IAAW4qB,QAA3BrI,aAAM,IAAA4sC,EAAG,CAAC,EAACA,GACRpD,UAAUqD,4BACjBxxD,EAASirB,IAGjB,CACJ,EA9qBIwmC,+BAgrBJ,WACI,OAAO,SAACzxD,EAAUoC,GACd,IAAAsvD,EAAwBtvD,IAAW4qB,QAA3BrI,aAAM,IAAA+sC,EAAG,CAAC,EAACA,GACRvD,UAAUwD,2BACjB3xD,EAASirB,IAGjB,CACJ,EAvrBI2mC,YAgtBJ,SAAqBjU,GACjB,MAAO,CAAEl9C,KAAMC,EAAAA,GAAYmxD,aAAclU,MAAAA,EAC7C,EAjtBImU,kBAmtBJ,SAA2BlrC,GACvB,MAAO,CAAEnmB,KAAMC,EAAAA,GAAYqxD,mBAAoBnrC,YAAAA,EACnD,EAptBIorC,WAmDJ,SAAoBtkC,GAChB,MAAO,CACHjtB,KAAMC,EAAAA,GAAYuxD,SAClBvkC,YAAAA,EAER,EAvDIwkC,YAqHJ,SAAqBzlC,GACjB,MAAO,CACHhsB,KAAMC,EAAAA,GAAYyxD,SAClB1lC,SAAAA,EAER,EAzHI2lC,aAotBJ,WACI,OAAO,SAAApyD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY2xD,gBAC7BryD,EAASirB,IACb,CACJ,EAvtBIqnC,wBA6tBJ,WACI,OAAO,SAAAtyD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY6xD,+BAC7BvyD,EAAS,CAAES,KAAMC,EAAAA,GAAY8xD,8BAC7BxyD,EAASqvD,KACTrvD,EAASirB,IACb,CACJ,EAnuBIwnC,sBAozBJ,WACI,OAAO,SAAAzyD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYgyD,6BAC7B1yD,EAASqvD,IACb,CACJ,EAxzBIsD,wCA2zBJ,SAAiDv4B,GAC7C,OAAO,SAACp6B,EAAUoC,GACd,IAAAwwD,EAA0FxwD,IAAW4qB,QAAQrI,OAAOwpC,UAA5GkD,EAA8BuB,EAA9BvB,+BAAgC3B,EAAckD,EAAdlD,eAAgBqB,EAA6B6B,EAA7B7B,8BACxD/wD,EAAS,CAAES,KAAMC,EAAAA,GAAYmyD,gCAAiCxxD,QAAS,CAAE+4B,QAAAA,KACzEp6B,EAASqvD,MAELgC,GAAkC3B,GAAkBqB,IACpD/wD,EAASirB,IAEjB,CACJ,EAp0BI6nC,iCAs0BJ,SAA0CC,GACtC,OAAO,SAAA/yD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYsyD,sCAAuC3xD,QAAS,CAAE0xD,aAAAA,KAC/E/yD,EAASqvD,IACb,CACJ,EA10BI4D,kCA40BJ,WACI,OAAO,SAAAjzD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYwyD,yCAC7BlzD,EAASqvD,IACb,CACJ,EAh1BI8D,6BAk1BJ,WACI,OAAO,SAAAnzD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY0yD,oCAC7BpzD,EAASqvD,IACb,CACJ,EAt1BIgE,oCAw1BJ,SAA6Cj5B,GACzC,OAAO,SAACp6B,EAAUoC,GACd,IAAAkxD,EAA0ElxD,IAAW4qB,QAAQrI,OAAOwpC,UAA5F4C,EAA6BuC,EAA7BvC,8BAA+BM,EAA8BiC,EAA9BjC,+BAEvCrxD,EAAS,CAAES,KAAMC,EAAAA,GAAY6yD,gCAAiClyD,QAAS,CAAE+4B,QAAAA,KACzEp6B,EAASqvD,MAEL0B,GAAiCM,IACjCrxD,EAASirB,IAEjB,CACJ,EAj2BIuoC,wBA8tBJ,SAAiCp5B,GAC7B,OAAO,SAACp6B,EAAUoC,GACd,IAAQqxD,EAAsBrxD,IAAW4qB,QAAQrI,OAAOwpC,UAAhDsF,kBAERzzD,EAAS,CAAES,KAAMC,EAAAA,GAAYgzD,yBAA0BryD,QAAS,CAAE+4B,QAAAA,KAClEp6B,EAASqvD,KAELoE,GACAzzD,EAASirB,IAEjB,CACJ,EAxuBI0oC,yBAuvBJ,WACI,OAAO,SAAA3zD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYkzD,8BAC7B5zD,EAASqvD,IACb,CAEJ,EA5vBIwE,0BA8vBJ,WACI,OAAO,SAAA7zD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYozD,+BAC7B9zD,GAiGG,SAACA,EAAUoC,GACd,IAAA2xD,EAAwB3xD,IAAW4qB,QAA3BrI,aAAM,IAAAovC,EAAG,CAAC,EAACA,GACR5F,UAAUsF,mBACjBzzD,EAASirB,IAGjB,IAtGIjrB,EAASqvD,IACb,CACJ,EAnwBI2E,sBAwuBJ,SAA+B7hD,GAC3B,OAAO,SAACnS,EAAUoC,GACd,IAAQwuD,EAAoBxuD,IAAW4qB,QAAQrI,OAAOwpC,UAA9CyC,gBAER5wD,EAAS,CAAES,KAAMC,EAAAA,GAAYuzD,0BAA2B5yD,QAAS,CAAE8Q,MAAAA,KACnEnS,EAASqvD,KAELuB,GACA5wD,EAASirB,IAEjB,CACJ,EAlvBIipC,uBAowBJ,WACI,OAAO,SAAAl0D,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYyzD,4BAC7Bn0D,EAASqvD,IACb,CAEJ,EAzwBI+E,wBA2wBJ,WACI,OAAO,SAAAp0D,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY2zD,6BAC7Br0D,GA2FG,SAACA,EAAUoC,GACd,IAAAkyD,EAAwBlyD,IAAW4qB,QAA3BrI,aAAM,IAAA2vC,EAAG,CAAC,EAACA,GACRnG,UAAUyC,iBACjB5wD,EAASirB,IAGjB,IAhGIjrB,EAASqvD,IACb,CACJ,EA/wBIkF,qBAixBJ,SAA8Bn6B,GAC1B,OAAO,SAACp6B,EAAUoC,GACd,IAAAoyD,EAKIpyD,IAAW4qB,QAAQrI,OAAOwpC,UAJ1BuB,EAAc8E,EAAd9E,eACA2B,EAA8BmD,EAA9BnD,+BACAG,EAA0BgD,EAA1BhD,2BACAN,EAA8BsD,EAA9BtD,+BAGJlxD,EAAS,CAAES,KAAMC,EAAAA,GAAY+zD,sBAAuBpzD,QAAS,CAAE+4B,QAAAA,KAC/Dp6B,EAASqvD,MAELK,GACA2B,GACAG,GACAN,IACAlxD,EAASirB,IAEjB,CACJ,EAlyBIypC,oBA+2BJ,WACI,OAAO,SAAA10D,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYi0D,2BAC7B30D,EAAS,CAAES,KAAMC,EAAAA,GAAY8xD,8BAC7BxyD,EAASqvD,KACTrvD,EAASirB,IACb,CACJ,EAr3BI2pC,kBAu3BJ,WACI,OAAO,SAAA50D,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYm0D,yBAC7B70D,EAASqvD,IACb,CACJ,EA33BIyF,oCA63BJ,SAA6C16B,GACzC,OAAO,SAACp6B,EAAUoC,GACd,IAAA2yD,EAAkF3yD,IAAW4qB,QAAQrI,OAAOwpC,UAApGqD,EAA0BuD,EAA1BvD,2BAA4B9B,EAAcqF,EAAdrF,eAAgBiC,EAAyBoD,EAAzBpD,0BACpD3xD,EAAS,CAAES,KAAMC,EAAAA,GAAYs0D,4BAA6B3zD,QAAS,CAAE+4B,QAAAA,KACrEp6B,EAASqvD,MAELmC,GAA8B9B,GAAkBiC,IAChD3xD,EAASirB,IAEjB,CACJ,EAt4BIgqC,6BAw4BJ,SAAsClC,GAClC,OAAO,SAAA/yD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYw0D,kCAAmC7zD,QAAS,CAAE0xD,aAAAA,KAC3E/yD,EAASqvD,IACb,CACJ,EA54BI8F,8BA84BJ,WACI,OAAO,SAAAn1D,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY00D,qCAC7Bp1D,EAASqvD,IACb,CACJ,EAl5BIgG,yBAo5BJ,WACI,OAAO,SAAAr1D,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAY40D,gCAC7Bt1D,EAASqvD,IACb,CACJ,EAx5BIkG,gCA05BJ,SAAyCn7B,GACrC,OAAO,SAACp6B,EAAUoC,GACd,IAAAozD,EAAkEpzD,IAAW4qB,QAAQrI,OAAOwpC,UAApFwD,EAAyB6D,EAAzB7D,0BAA2BH,EAA0BgE,EAA1BhE,2BAEnCxxD,EAAS,CAAES,KAAMC,EAAAA,GAAY+0D,4BAA6Bp0D,QAAS,CAAE+4B,QAAAA,KACrEp6B,EAASqvD,MAELsC,GAA6BH,IAC7BxxD,EAASirB,IAEjB,CACJ,EAn6BIyqC,qCAu6BJ,SAA8Ct7B,GAC1C,OAAO,SAACp6B,EAAUoC,GACd,IAAAuzD,EAA2DvzD,IAAW4qB,QAAQrI,OAAOwpC,UAA7EuB,EAAciG,EAAdjG,eAAgBwB,EAA8ByE,EAA9BzE,+BAExBlxD,EAAS,CAAES,KAAMC,EAAAA,GAAYk1D,gCAAiCv0D,QAAS,CAAE+4B,QAAAA,KACzEp6B,EAASqvD,MAELK,GAAkBwB,IAClBlxD,EAASirB,IAEjB,CAGJ,EAn7BI4qC,oBA87BJ,SAA6B9oC,GACzB,OAAO,SAAA/sB,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYo1D,wBAAyBz0D,QAAS0rB,GACnE,CACJ,GAt6BA,SAASyhC,IACL,OAAO,SAACxuD,EAAUoC,GACd,IAAA2zD,EAAoD3zD,IAAW4qB,QAAvD8K,EAAOi+B,EAAPj+B,QAASE,EAAS+9B,EAAT/9B,UAAWE,EAAQ69B,EAAR79B,SAAU89B,EAASD,EAATC,UACtCC,EAA6BC,EAAwBh+B,EAAU89B,GAAvDG,EAAQF,EAARE,SAAUC,EAAMH,EAANG,OACZ3oB,EAAM4oB,EAAAA,GAAWC,eAAe,EAAG,IACnCC,EAAUF,EAAAA,GAAWC,eAAeH,EAASK,OAAQJ,EAAOI,QAC5DC,EAAgBhpB,EAAIzsB,QAAO,SAAAkR,GAAC,OAAKqkC,EAAQnyC,MAAK,SAAA8B,GAAC,OAAIA,IAAMgM,CAAC,GAAC,IAE3DwkC,EAAmBV,EAAU3iD,MAAK,SAAAsjD,GAAC,OAAIA,EAAEhyD,KAAOuzB,CAAQ,IACxD0+B,EAAeR,EAAOI,OACtBK,EAA2BC,EAAqBh/B,EAAS4+B,EAAkBE,GAC3EG,EAA6BD,EAAqB9+B,EAAW0+B,EAAkBE,GAErF52D,EAAS,CACLS,KAAMC,EAAAA,GAAYs2D,kBAClBP,cAAAA,EACAI,yBAAAA,EACAE,2BAAAA,GAER,CACJ,CAEA,SAASD,EAAqBj6B,EAAM3E,EAAU0+B,GAM1C,OALarpC,IAAAA,IACJsP,GACJ8E,UAAUzJ,EAAS++B,kBAAkB,GACrCT,SAEWI,CACpB,CAEA,SAASV,EAAwBgB,EAAYlB,GACzC,IAAMmB,EAAMnB,EAAU3iD,MAAK,SAAAsjD,GAAC,MAAuB,QAAnBA,EAAES,YAAsB,IAClD/lC,EAAW2kC,EAAU3iD,MAAK,SAAAsjD,GAAC,OAAIA,EAAEhyD,KAAOuyD,CAAU,IACxDG,EAAqB72C,EAAAA,GAAUuuC,qBAAvBuI,EAAID,EAAJC,KAAMtI,EAAEqI,EAAFrI,GAId,MAAO,CAAEmH,SAHQ5oC,IAAAA,IAAWjF,EAAAA,GAAc+R,qBAAqBi9B,IAAO31B,UAAUw1B,EAAIF,kBAAkB,GAAMt1B,UAAUtQ,EAAS4lC,kBAG5Gb,OAFJ7oC,IAAAA,IAAWjF,EAAAA,GAAc+R,qBAAqB20B,IAAKrtB,UAAUw1B,EAAIF,kBAAkB,GAAMt1B,UAAUtQ,EAAS4lC,kBAG/H,CA0EA,SAASl/B,EAAoB8E,GACzB,OAAO,SAAC78B,EAAUoC,GACd,IAAAm1D,EAAwBn1D,IAAW4qB,QAA3BrI,OAAAA,OAAM,IAAA4yC,EAAG,CAAC,EAACA,EAEnBv3D,EAAS,CAAES,KAAMC,EAAAA,GAAY48B,WAAYT,KAAAA,KACrClY,EAAOkY,MAAQ+xB,EAAkBjqC,KACjC3kB,EAASirB,KAGT4R,GACA78B,EAASwuD,IAEjB,CACJ,CAEA,SAASI,EAAkBjqC,GACvB,OAAOA,EAAOwpC,WAAaj7C,OAAOutB,OAAO9b,EAAOwpC,WAAW/pC,MAAK,SAAA/f,GAAC,OAAIA,CAAC,GAC1E,CAEA,SAAS4mB,IACL,OAAO,SAACjrB,EAAUoC,GACd,IAAQ4qB,EAAY5qB,IAAZ4qB,QACFrI,EAAS,CAAC,EAChBA,EAAOiN,KAmBf,SAAsBA,EAAMnF,GACxB,GAAa,KAATmF,EACA,OAAO1H,EAAAA,GAAcwK,MAClB,GAAoB,qBAAT9C,EACd,OAAO1H,EAAAA,GAAcyK,aAGzB,IAAMuK,EAAa3R,IAAOqE,GAE1B,GAAIsN,EAAWtK,KAAK,IAAIniB,KAAQ,QAAU,EACtC,OAAOyX,EAAAA,GAAc2K,sBAGzB,IAAME,EAAUmK,EAAWC,aAE3B,GAAI,CAAC,EAAG,GAAG/a,MAAK,SAAA4Q,GAAC,OAAIA,IAAMD,CAAO,IAC9B,OAAO7K,EAAAA,GAAc+K,2BAGzB,GAAIxI,EAASrI,MAAK,SAAA8N,GAAC,OAAI3E,IAAO2E,GAAGgD,OAAOgK,EAAY,MAAM,IACtD,OAAOhV,EAAAA,GAAciL,0BAE7B,CAzCsBiK,CAAapS,EAAQ4E,KAAM5E,EAAQP,UACjD9H,EAAOkY,KA0Cf,SAAsBjL,EAAMuO,EAAOC,EAAK82B,EAAYlB,GAChD,IAAMwB,EAAajqC,IAAAA,IAAW4S,GACxBs3B,EAAelqC,IAAAA,IAAW6S,GAEhC,GAAIo3B,GAAcC,EACd,OAAOvtC,EAAAA,GAAcmV,iCAGzB,IAAMnH,EAAW89B,EAAU3iD,MAAK,SAAAsjD,GAAC,OAAIA,EAAEhyD,KAAOuyD,CAAU,IAClDp/B,EAAU0/B,EAAW71B,UAAUzJ,EAAS++B,kBAAkB,GAC1Dj/B,EAAYy/B,EAAa91B,UAAUzJ,EAAS++B,kBAAkB,GAEpE,IAAKS,EAAAA,EAAUC,qBAAsB,CACjC,IAAAC,EAA6B1B,EAAwBgB,EAAYlB,GAAzDG,EAAQyB,EAARzB,SAAUC,EAAMwB,EAANxB,OAElB,GAAIt+B,EAAUq+B,GAAYr+B,EAAUs+B,GAAUp+B,EAAYm+B,GAAYn+B,EAAYo+B,EAC9E,OAAOlsC,EAAAA,GAAc2tC,qBAAqBtqC,IAAO4oC,GAAUh5B,OAAO3c,EAAAA,GAAUs3C,aAAcvqC,IAAO6oC,GAAQj5B,OAAO3c,EAAAA,GAAUs3C,aAAc5/B,EAASk/B,aAEzJ,CAEA,GAAIxlC,EAAM,CACN,IAAMmP,EAAWxT,IAAOqE,GAAM+P,UAAUzJ,EAAS++B,kBAAkB,GAC7Dc,EAAMxqC,IAAAA,MAAaoU,UAAUzJ,EAAS++B,kBAE5C,GAAIc,EAAI7iC,OAAO6L,EAAU,OAErB,GADwBjJ,EAAQkJ,IAAI,CAAEpP,KAAMmP,EAASnP,OAAQhJ,MAAOmY,EAASnY,QAASD,KAAMoY,EAASpY,SAC/EovC,EAClB,OAAO7tC,EAAAA,GAAc8tC,yBAGjC,CAEA,MACJ,CA3EsB14B,EAAc3a,EAAOiN,MAAQ5E,EAAQ4E,KAAM5E,EAAQ8K,QAAS9K,EAAQgL,UAAWhL,EAAQkL,SAAUlL,EAAQgpC,WACvHrxC,EAAOwpC,UA4Ef,SAA0BhuB,EAAOC,EAAK63B,GAClC,IAAMC,EAAmB5vC,EAAAA,GAAcwY,uBAAuBX,GACxDg4B,EAAqB7vC,EAAAA,GAAcwY,uBAAuBV,GAE1DtI,EAAUvK,IAAAA,IAAW2qC,EAAkB13C,EAAAA,GAAU43C,YAGjDC,EAFY9qC,IAAAA,IAAW4qC,EAAoB33C,EAAAA,GAAU43C,YAE5BxjC,KAAKkD,EAAS,WAE7C,OAAAx1B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAqHJ,SAAyC21D,GACrC,IAAM9Q,EAAS,CAAC,EAEgB,MAA5B8Q,EAASrH,kBACTzJ,EAAOyJ,gBAAkB0H,EACrBL,EAASrH,gBAAiB,CAC1BrhC,IAAK/O,EAAAA,GAAU+3C,qBAAqBhpC,IACpCC,IAAKhP,EAAAA,GAAU+3C,qBAAqB/oC,OAI5C,OAAO23B,CACX,CAhIWqR,CAAgCP,IAuG3C,SAAmCA,EAAUI,GACzC,IAAMlR,EAAS,CAAC,EAEkB,MAA9B8Q,EAASxE,oBACTtM,EAAOsM,kBAAoB6E,EACvBhwC,EAAAA,GAAc0R,cAAci+B,EAASxE,mBAAmB7zB,aAAc,CACtErQ,IAAK/O,EAAAA,GAAUi4C,uBAAuBlpC,IACtCC,IAAKkpC,KAAKnpC,IAAI/O,EAAAA,GAAUi4C,uBAAuBjpC,IAAK6oC,MAI5D,OAAOlR,CACX,CAlHWwR,CAA0BV,EAAUI,IAyC/C,SAAgCJ,GAC5B,IAAM9Q,EAAS,CAAC,EAEZyR,EAAe,CACfC,MAAO,CAAC,EACRC,qBAAsB,GACtBC,wBAAyB,IAG7B,SAASC,EAAsCC,GAE3C,IAAMC,EACFD,EAAgBz4C,EAAAA,GAAU24C,gBACpBF,EACAz4C,EAAAA,GAAU24C,gBAEpB,OAAOP,EAAe,CAClBC,MAAO,CACHtpC,IAAK/O,EAAAA,GAAU44C,oBAAoB7pC,IACnCC,IAAK0pC,EAAuB14C,EAAAA,GAAU64C,yCAGlD,CAEA,SAASC,EAA2B3J,GAChC,IAAM4J,EACF5J,EAAiBnvC,EAAAA,GAAU24C,gBACrBxJ,EACAnvC,EAAAA,GAAU24C,gBAEpB,OAAOP,EAAe,CAClBC,MAAOlJ,EACD,CACEpgC,IAAK/O,EAAAA,GAAU44C,oBAAoB7pC,IACnCC,IAAK+pC,EAAwB/4C,EAAAA,GAAU64C,yCAEzC,CACE9pC,IAAK/O,EAAAA,GAAU44C,oBAAoB7pC,IACnCC,IAAKhP,EAAAA,GAAU44C,oBAAoB5pC,KAGnD,CAEA,OAAQyoC,EAASx3D,MACb,KAAKwsB,EAAAA,EAAgBqD,SAAUgpC,EAA2BhxC,EAAAA,GAAc0R,cAAci+B,EAASl8B,SAASy9B,yBAAyB55B,cAAe,MAChJ,KAAK3S,EAAAA,EAAgBsN,KAAM++B,EAA2BhxC,EAAAA,GAAc0R,cAAci+B,EAASj8B,KAAKw9B,yBAAyB55B,cAAe,MACxI,KAAK3S,EAAAA,EAAgBC,KAAMosC,EAA2BrB,EAASwB,YAAY9J,gBAAiB,MAC5F,KAAK1iC,EAAAA,EAAgBgP,gBAAiB+8B,EAClC1wC,EAAAA,GAAc0R,cAAci+B,EAAS/7B,IAAIyzB,gBAAgB/vB,aACzDtX,EAAAA,GAAc0R,cAAci+B,EAASvI,gBAAgB9vB,cAAe,MACxE,QAASg5B,EAAe,CAAEC,MAAOr4C,EAAAA,GAAU44C,qBAS/C,OAPAjS,EAAOuI,eAAiB4I,EACpBhwC,EAAAA,GAAc0R,cAAci+B,EAASvI,gBAAgB9vB,aACrDg5B,EAAaC,MACbD,EAAaE,qBACbF,EAAaG,yBAGV5R,CACX,CApGWuS,CAAuBzB,IAQlC,SAAsBA,EAAU0B,GAC5B,IAAMxS,EAAS,CAAC,EAEhB,GAAI8Q,EAASx3D,OAASwsB,EAAAA,EAAgBC,KAAM,CACxC,IAAM0sC,EAAY3B,EAASwB,YAAYhJ,iBACjCkJ,EAAsB1B,EAASwB,YAAYhJ,iBAC3CkJ,EAAsBn5C,EAAAA,GAAUq5C,6BAEtC1S,EAAOwI,eAAiB2I,EACpBL,EAASwB,YAAY9J,eAAgB,CACrCpgC,IAAK/O,EAAAA,GAAUs5C,6BACftqC,IAAKkpC,KAAKlpC,IAAIhP,EAAAA,GAAUs5C,6BAA8BF,KAGtDD,EAAuB1B,EAASwB,YAAYhJ,iBAAmBwH,EAASwB,YAAY9J,gBACpFxI,EAAOsJ,iBAAmBvmC,EAAAA,GAAc6vC,yBAAyBJ,GACjExS,EAAOwI,eAAiBzlC,EAAAA,GAAc6vC,yBAAyBJ,IAG/DxS,EAAOsJ,iBAAmB6H,EACtBL,EAASwB,YAAYhJ,iBAAkB,CACvClhC,IAAK/O,EAAAA,GAAUq5C,6BACfrqC,IAAKhP,EAAAA,GAAUw5C,+BAIvB7S,EAAOyJ,gBAqMJ0H,EArM8CL,EAASwB,YAAY7I,gBAqMnC,CAAErhC,IAAK/O,EAAAA,GAAUy5C,2BAA4BzqC,IAAKhP,EAAAA,GAAU05C,4BApMnG,CAEA,OAAO/S,CACX,CArCWgT,CAAalC,EAAUI,IA+HlC,SAA0BJ,EAAUI,GAChC,IAAMlR,EAAS,CAAC,EAEhB,GAAI8Q,EAASx3D,OAASwsB,EAAAA,EAAgBqD,SAAU,CAAC,IAAD8pC,EACtChgD,EAA4B,QAApBggD,EAAGnC,EAASl8B,gBAAQ,IAAAq+B,EAAAA,EAAI,CAAC,EAEC,MAApChgD,EAASo/C,0BACTrS,EAAOkK,+BAAiCiH,EACpChwC,EAAAA,GAAc0R,cAAc5f,EAASo/C,yBAAyB55B,aAC9Dpf,EAAAA,GAAUub,SAASs+B,qBAIM,MAA7BjgD,EAASq2C,mBACTtJ,EAAO4J,8BAAgCuH,EACnChwC,EAAAA,GAAc0R,cAAc5f,EAASq2C,kBAAkB7wB,aACvDpf,EAAAA,GAAUub,SAASu+B,sBAI3B,IAAMC,EACFjyC,EAAAA,GAAc0R,cAAc5f,EAASo/C,yBAAyB55B,aAAetX,EAAAA,GAAc0R,cAAc5f,EAASq2C,kBAAkB7wB,aACpI26B,EAAiB,GAAKlC,EAAekC,KAAmB95B,EAAAA,EAAAA,QAAO0mB,GAAQ/iC,MAAK,SAAA+P,GAAC,OAAIA,CAAC,MAClFgzB,EAAOkK,+BAAiClK,EAAO4J,8BAA6B,+DAAA7+C,OACTmmD,GAG3E,CAEA,OAAOlR,CACX,CA5JWqT,CAAiBvC,EAAUI,IA8JtC,SAAsBJ,EAAUI,GAC5B,IAAMlR,EAAS,CAAC,EAEhB,GAAI8Q,EAASx3D,OAASwsB,EAAAA,EAAgBsN,KAAM,CAAC,IAADkgC,EAClCrgD,EAAwB,QAAhBqgD,EAAGxC,EAASj8B,YAAI,IAAAy+B,EAAAA,EAAI,CAAC,EAEK,MAApCrgD,EAASo/C,0BACTrS,EAAOqK,2BAA6B8G,EAChChwC,EAAAA,GAAc0R,cAAc5f,EAASo/C,yBAAyB55B,aAC9Dpf,EAAAA,GAAUwb,KAAKq+B,qBAIU,MAA7BjgD,EAASq2C,mBACTtJ,EAAOwK,0BAA4B2G,EAC/BhwC,EAAAA,GAAc0R,cAAc5f,EAASq2C,kBAAkB7wB,aACvDpf,EAAAA,GAAUwb,KAAKs+B,sBAIvB,IAAMC,EACFjyC,EAAAA,GAAc0R,cAAc5f,EAASo/C,yBAAyB55B,aAAetX,EAAAA,GAAc0R,cAAc5f,EAASq2C,kBAAkB7wB,aACpI26B,EAAiB,GAAKlC,EAAekC,KAAmB95B,EAAAA,EAAAA,QAAO0mB,GAAQ/iC,MAAK,SAAA+P,GAAC,OAAIA,CAAC,MAClFgzB,EAAOqK,2BAA6BrK,EAAOwK,0BAAyB,+DAAAz/C,OACDmmD,GAG3E,CAEA,OAAOlR,CACX,CA3LWuT,CAAazC,EAAUI,IA6LlC,SAAiCJ,EAAUI,GACvC,IAAMlR,EAAS,CAAC,EAEhB,GAAI8Q,EAASx3D,OAASwsB,EAAAA,EAAgBgP,gBAAiB,CAAC,IAAD0+B,EAC7CvgD,EAAuB,QAAfugD,EAAG1C,EAAS/7B,WAAG,IAAAy+B,EAAAA,EAAI,CAAC,EAEH,MAA3BvgD,EAASu1C,iBACTxI,EAAO+J,+BAAiCoH,EACpChwC,EAAAA,GAAc0R,cAAc5f,EAASu1C,gBAAgB/vB,aACrDpf,EAAAA,GAAUo6C,gBAAgBC,sBAI9BvyC,EAAAA,GAAc0R,cAAc5f,EAASu1C,gBAAgB/vB,aAAe,GACpEy4B,EAAe/vC,EAAAA,GAAc0R,cAAc5f,EAASu1C,gBAAgB/vB,gBACnEa,EAAAA,EAAAA,QAAO0mB,GAAQ/iC,MAAK,SAAA+P,GAAC,OAAIA,CAAC,MAC3BgzB,EAAO+J,+BAA8B,6CAAAh/C,OAAgDmmD,GAE7F,CAEA,OAAOlR,CACX,CAjNW2T,CAAwB7C,EAAUI,GAE7C,CA9F2B0C,CAAiB/tC,EAAQ8K,QAAS9K,EAAQgL,UAAWhL,EAAQmhC,UAAUloD,SAAW,CAAC,GACtG,IAAM+0D,IAAgBr2C,EAAOiN,MAAQjN,EAAOkY,MACtCo+B,GAAmBrM,EAAkBjqC,GACrCmW,IAAYnW,EAAOiN,MAAQjN,EAAOkY,OAASo+B,GAEjDj7D,EAAS,CACLS,KAAMC,EAAAA,GAAYigC,SAClBC,WAAY,CACRjc,OAAAA,EACAmW,QAAAA,EACAmgC,gBAAAA,EACAD,YAAAA,IAGZ,CACJ,CAgSA,SAAS1C,EAAenmD,EAAO0mD,GAAiE,IAA1DC,EAAoBh3D,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,GAAIi3D,EAAuBj3D,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,GACvF,OAAKqQ,GAAU+oD,OAAO/oD,GAAOkN,OAEjByI,EAAAA,GAAaC,SAAS5V,IAEtBA,EAAQ0mD,EAAMtpC,KAAOupC,EACtBA,GACC3mD,EAAQ0mD,EAAMrpC,KAAOupC,EACtBA,GACC5mD,EAAQ0mD,EAAMtpC,MAAQpd,EAAQ0mD,EAAMrpC,IACrCtF,EAAAA,GAAcixC,aAAatC,EAAMtpC,IAAKspC,EAAMrpC,KAEhD,GARItF,EAAAA,GAAcyK,aAFdzK,EAAAA,GAAcwK,KAW7B,CAMA,SAAS45B,EAAaH,GAClB,MAAO,CACH1tD,KAAMC,EAAAA,GAAY06D,cAClBjN,UAAWA,EAAUvmD,KAAI,SAAA+uD,GAAC,OAAAr0D,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACnBq0D,GAAC,IACJjH,eAAgBpnC,EAAAA,GAAckP,SAAS,EAAGhX,EAAAA,GAAU66C,mCACpD5H,kBAAmBnrC,EAAAA,GAAckP,SAAS,EAAGhX,EAAAA,GAAU86C,iCAGvD7B,YAAa,CACT8B,uBAAwB5E,EAAE4E,wBAA0BC,EAAAA,EAAuBvnD,KAC3EwnD,yBAA0B9E,EAAE8E,0BAA4BC,EAAAA,EAAyBC,KACjFhM,eAAgBgH,EAAEhH,gBAAkBnvC,EAAAA,GAAUo7C,iCAC9CnL,iBAAkBkG,EAAElG,kBAAoBjwC,EAAAA,GAAUq5C,6BAClDjJ,gBAAiBh8C,EAAAA,GAAYC,UAAU8hD,EAAE/F,iBAAmBpwC,EAAAA,GAAUq7C,yBAI1E9/B,SAAU,CACNjC,cAAegiC,EAAAA,EAA2B/9B,KAC1C0yB,iBAAkBnoC,EAAAA,GAAckP,SAAS,EAAGhX,EAAAA,GAAUub,SAASggC,8BAC/DvC,wBAAyBlxC,EAAAA,GAAckP,SAAS,EAAGhX,EAAAA,GAAUub,SAASigC,8BAI1EhgC,KAAM,CACFlC,cAAemiC,EAAAA,EAAuBl+B,KACtC0yB,iBAAkBnoC,EAAAA,GAAckP,SAAS,EAAGhX,EAAAA,GAAUwb,KAAK+/B,8BAC3DvC,wBAAyBlxC,EAAAA,GAAckP,SAAS,EAAGhX,EAAAA,GAAUwb,KAAKggC,8BAGtE9/B,IAAK,CACDyzB,eAAgBrnC,EAAAA,GAAckP,SAAS,EAAGhX,EAAAA,GAAUo6C,gBAAgBsB,gCACvE,IAGb,CAEA,SAAS3N,EAAe7uC,GACpB,OAAO,SAAC1f,EAAUoC,GACd,IAAQ04B,EAAY14B,IAAW4qB,QAAvB8N,QAER96B,EAAS,CACLS,KAAMC,EAAAA,GAAYy7D,gBAClBz8C,MAAAA,IAGCob,GACD96B,EAASirB,IAEjB,CACJ,CAwIA,SAASokC,IACL,OAAO,SAACrvD,EAAUoC,GACd,IAAAg6D,EAAyBh6D,IAAW4qB,QAAQmhC,UAApC1gB,EAAG2uB,EAAH3uB,IAAKxnC,EAAOm2D,EAAPn2D,QACPo2D,EAAW5uB,EAAIp6B,MAAK,SAAAsjD,GAAC,OAAIA,EAAEhyD,KAAOsB,EAAQtB,EAAE,IAC5C23D,IAASt1C,EAAAA,EAAAA,SAAQq1C,EAAUp2D,GAEjCjG,EAAS,CACLS,KAAMC,EAAAA,GAAY67D,yBAClBD,MAAAA,GAER,CACJ,C,uEC5uBaE,EAAiC,CAC1ClgD,aAZgBnU,EAAAA,EAAAA,cAChB,4CACA,SAAAE,GAAO,OAAI,SAACzH,GAA0B,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAWpE67D,cARiBt0D,EAAAA,EAAAA,cACjB,6CACA,SAAAE,GAAO,OAAI,SAACzH,EAA4B87D,GAAmD,OACvFr0D,EAAQ,CAAEzH,aAAAA,EAAc87D,wBAAAA,GAAyB,K,uECLnDC,GAA8Bx0D,EAAAA,EAAAA,cAAa,uCAC3Cy0D,GAA+Bz0D,EAAAA,EAAAA,cACjC,wCACA,SAAAE,GAAO,OAAI,SAACw0D,GAAwB,OAAKx0D,EAAQ,CAAEw0D,OAAAA,GAAS,KAI1DC,GAAmB30D,EAAAA,EAAAA,cAAa,sBAAsB,SAAAE,GAAO,OAAI,SAAC00D,EAAcC,GAAoB,OAAK30D,EAAQ,CAAE00D,KAAAA,EAAMC,IAAAA,GAAM,KAC/HC,GAAoB90D,EAAAA,EAAAA,cACtB,uBACA,SAAAE,GAAO,OAAI,SAAC60D,EAAcH,EAAcC,GAAoB,OAAK30D,EAAQ,CAAE60D,KAAAA,EAAMH,KAAAA,EAAMC,IAAAA,GAAM,KAG3FG,GAAmBh1D,EAAAA,EAAAA,cACrB,sBACA,SAAAE,GAAO,OAAI,SAAC+0D,EAA2BC,GAA6B,OAChEh1D,EAAQ,CAAE+0D,kBAAAA,EAAmBC,YAAAA,GAAc,KAG7CC,GAA2Bn1D,EAAAA,EAAAA,cAC7B,+BACA,SAAAE,GAAO,OAAI,SAAC60D,GAAU,OAAK70D,EAAQ,CAAE60D,KAAAA,GAAO,KAG1CK,GAA6Bp1D,EAAAA,EAAAA,cAAa,uCAC1Cq1D,GAA8Br1D,EAAAA,EAAAA,cAChC,wCACA,SAAAE,GAAO,OAAI,SAACo1D,GAKX,OAAKp1D,EAAQ,CAAEo1D,UAAAA,GAAY,KAG1BrzD,GAAajC,EAAAA,EAAAA,cACf,eACA,SAAAE,GAAO,OAAI,SAAC2B,EAAuB+yD,EAAcC,GAAoB,OAAK30D,EAAQ,CAAE2B,cAAAA,EAAe+yD,KAAAA,EAAMC,IAAAA,GAAM,KAG7GU,GAAmBv1D,EAAAA,EAAAA,cACrB,2BACA,SAAAE,GAAO,OAAI,SAAC2B,GAAqB,OAAK3B,EAAQ,CAAE2B,cAAAA,GAAgB,KAG9D2zD,GAAgBx1D,EAAAA,EAAAA,cAAa,wBAoBtBy1D,EAAc,CACvBd,iBAAAA,EACAG,kBAAAA,EACAN,4BAAAA,EACAC,6BAAAA,EACAW,2BAAAA,EACAC,4BAAAA,EACAL,iBAAAA,EACAG,yBAAAA,EACAlzD,WAAAA,EACAszD,iBAAAA,EACAt6D,OA9BU+E,EAAAA,EAAAA,cAAa,cA+BvBw1D,cAAAA,EACA3Y,iBA9BoB78C,EAAAA,EAAAA,cAAa,0BAA0B,SAAAE,GAAO,OAAI,SAAC48C,EAA4B4Y,GAAa,OAAKx1D,EAAQ,CAAE48C,WAAAA,EAAY4Y,KAAAA,GAAO,KA+BlJC,kBA7BqB31D,EAAAA,EAAAA,cACrB,0BACA,SAAAE,GAAO,OAAI,SAAC+0D,EAA2BW,EAA+BC,GAAgB,OACtF31D,EAAQ,CAAE+0D,kBAAAA,EAAmBW,sBAAAA,EAAuBC,SAAAA,GAAW,KA2B/DC,mBAxBsB91D,EAAAA,EAAAA,cACtB,2BACA,SAAAE,GAAO,OAAI,SAAC61D,GAAc,OAAK71D,EAAQ,CAAE61D,SAAAA,GAAW,K,gMClD3C70C,EAAc,CACvB3pB,KAuCJ,SAAcypB,EAAWg1C,GAA4E,IAAnEC,EAASt8D,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG0e,EAAAA,GAAU69C,cAAeC,EAASx8D,UAAAyG,OAAA,EAAAzG,UAAA,QAAA0G,EAAE+1D,IAASz8D,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,KAAAA,UAAA,GACvF,OAAO,SAAA9B,GACHA,EA2BG,CACHS,KAAMC,EAAAA,GAAY89D,qBAClBn9D,QAAS,CAAEgmB,KAAK,IAAI5U,MAAOgsD,aA5B3Bz+D,EAAS0+D,EAAWP,IACpBn+D,EAAS2+D,EAAgBP,EAAWE,IAEhCn1C,GAAaA,EAAU5gB,QACvBvI,EAASupB,EAAgBJ,IAG7BnpB,EAAS4+D,KAELL,GACAv+D,EAAS6+D,EAAmB11C,GAAaA,EAAU5gB,SAGvDvI,EAAS8+D,IACb,CACJ,EAxDIJ,WAAAA,EACAK,UA+EJ,SAAmB9wB,EAAQ+wB,GACvB,MAAO,CACHv+D,KAAMC,EAAAA,GAAYu+D,WAClBhxB,OAAAA,EACA+wB,cAAAA,EAER,EApFIE,aAsFJ,SAAsB1qD,GAClB,MAAO,CACH/T,KAAMC,EAAAA,GAAYy+D,cAClB3qD,KAAAA,EAER,EA1FI4qD,eAiIJ,SAAwBC,EAAgBC,GACpC,OAAO,SAAAt/D,GACHA,EAASqqB,KACTrqB,EAAS,CACLS,KAAMC,EAAAA,GAAY6+D,iBAClBF,eAAAA,EACAC,aAAAA,GAER,CACJ,EAzIIE,UAAAA,EACAC,SAkOJ,SAAkB//C,EAAOggD,GACrB,OAAO,SAAC1/D,EAAUoC,GACd,IAAQgR,EAAahR,IAAWgnB,KAAxBhW,SAEJsM,IAAUtM,EAASsM,OAASggD,IAAetsD,EAASssD,aAChDtsD,EAASgX,SACTpqB,EAASqqB,KAGbrqB,EAAS2/D,KACT3/D,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAAA,EAAOggD,WAAAA,KAG/B,CACJ,EAjPIrwC,KAAAA,EACAwwC,WAAAA,EACAhB,mBAAAA,EACAiB,UAAAA,EACAz1C,kBAAAA,EACAgkB,QAkeJ,SAAiB0xB,GACb,OAAO,SAAC//D,EAAUoC,GACVA,IAAWgnB,KAAKhW,SAASgX,SACzBpqB,EAASqqB,KAGb,IAAA21C,EAAkD59D,IAAWgnB,KAArDD,EAAS62C,EAAT72C,UAAWklB,EAAO2xB,EAAP3xB,QAASj7B,EAAQ4sD,EAAR5sD,SAAU+qD,EAAO6B,EAAP7B,QAEhC8B,EAAgB,CAClBP,WAAYK,EACZ5xB,UAAWE,GAAWA,EAAQqxB,aAAeK,EACtC1xB,EAAQF,WAAmC,QAAtBE,EAAQF,UAA+B,MAAT,OACpD,OAGFuxB,EAA0BO,EAA1BP,WAAYvxB,EAAc8xB,EAAd9xB,UAEdF,EAASkwB,EAAQ9qD,MAAK,SAAAqtB,GAAC,OAAIA,EAAElsB,OAASkrD,CAAU,IAEhD33C,EAA2B,WAAhBkmB,EAAOxtC,MAAqC,YAAhBwtC,EAAOxtC,KAC9Cy/D,EAA0B,UAAhBjyB,EAAOxtC,KAEjB0/D,EAAYh3C,EAAUnI,QAAO,SAAAwE,GAAC,OAAKA,EAAEd,KAAK,IAC1C07C,EAASj3C,EAAUnI,QAAO,SAAAwE,GAAC,OAAIA,EAAEd,KAAK,IACtC27C,EAAS,GAAAnuD,QAAAyT,EAAAA,EAAAA,GAYf,SAA4BwD,GACxB,GAAIpB,GAAYm4C,EACZ,OAAO/2C,EAAUm3C,KAAKC,GACnB,GAAItyB,EAAOz5B,OAASgsD,EAAAA,GAAQp/B,QAAQ5sB,KACvC,OAAO2U,EAAUm3C,KAAKG,GACnB,GAAIxyB,EAAOz5B,OAASgsD,EAAAA,GAAQE,MAAMlsD,KACrC,OAAO2U,EAAUm3C,KAAKK,GACnB,GAAI1yB,EAAOz5B,OAASgsD,EAAAA,GAAQl1D,OAAOkJ,KACtC,OAAO2U,EAAUm3C,KAAKM,GAE1B,OAAOz3C,EAAUm3C,KAAKO,EAC1B,CAvBsBC,CAAmBX,KAAUx6C,EAAAA,EAAAA,GAAKy6C,IAyBxD,SAASG,EAAer6C,EAAG0K,GACvB,IAAMmwC,EAAS76C,EAAEw5C,GACXsB,EAASpwC,EAAE8uC,GAEjB,MAAqB,QAAdvxB,EACD8yB,EAAAA,GAAuCF,EAAQC,GAC/CC,EAAAA,GAAuCD,EAAQD,EACzD,CAEA,SAASF,EAAe36C,EAAG0K,GACvB,IAAMmwC,EAAS76C,EAAEw5C,GACXsB,EAASpwC,EAAE8uC,GAEjB,MAAqB,QAAdvxB,EACD8yB,EAAAA,GAA4BF,EAAQC,GACpCC,EAAAA,GAA4BD,EAAQD,EAC9C,CAEA,SAASN,EAAev6C,EAAG0K,GACvB,IAAMmwC,EAAS76C,EAAEw5C,GACXsB,EAASpwC,EAAE8uC,GAEjB,GAAkB,QAAdvxB,EAIA,OAHgB4yB,GAAUA,EAAOx4D,OAASmwD,KAAKnpC,IAAG1tB,MAAR62D,MAAI/yC,EAAAA,EAAAA,GAAQo7C,EAAOn5D,KAAI,SAAA0L,GAAC,OAAIA,EAAE4tD,eAAe,MAAKnmD,OAAOomD,YACnFH,GAAUA,EAAOz4D,OAASmwD,KAAKnpC,IAAG1tB,MAAR62D,MAAI/yC,EAAAA,EAAAA,GAAQq7C,EAAOp5D,KAAI,SAAA0L,GAAC,OAAIA,EAAE4tD,eAAe,MAAKnmD,OAAOomD,WAInG,IAAMC,EAAUL,GAAUA,EAAOx4D,OAASmwD,KAAKlpC,IAAG3tB,MAAR62D,MAAI/yC,EAAAA,EAAAA,GAAQo7C,EAAOn5D,KAAI,SAAA0L,GAAC,OAAIA,EAAE4tD,eAAe,OAAM,EAG7F,OAFgBF,GAAUA,EAAOz4D,OAASmwD,KAAKlpC,IAAG3tB,MAAR62D,MAAI/yC,EAAAA,EAAAA,GAAQq7C,EAAOp5D,KAAI,SAAA0L,GAAC,OAAIA,EAAE4tD,eAAe,OAAM,GAE5EE,CAEzB,CAEA,SAAST,EAAcz6C,EAAG0K,GACtB,IAAMmwC,EAAS76C,EAAEw5C,GAAc9qD,EAAAA,GAAYysD,YAAYn7C,EAAEw5C,IAAe,GAClEsB,EAASpwC,EAAE8uC,GAAc9qD,EAAAA,GAAYysD,YAAYzwC,EAAE8uC,IAAe,GAExE,MAAkB,QAAdvxB,EACI4yB,GAAUC,EACHD,EAAOv5C,cAAcw5C,GACrBD,IAAWC,EACXjmD,OAAOomD,UAEPpmD,OAAOumD,UAIfN,EAAOx5C,cAAcu5C,EAChC,CAEA,SAASH,EAAe16C,EAAG0K,GACvB,IAAMmwC,EAAS76C,EAAEw5C,GACXsB,EAASpwC,EAAE8uC,GAEjB,OAAK6B,EAAAA,GAAQhiD,SAASwhD,GAGjBQ,EAAAA,GAAQhiD,SAASyhD,GAGJ,QAAd7yB,EACO8yB,EAAAA,GAA2BF,EAAQC,GAEvCC,EAAAA,GAA2BD,EAAQD,IAL9B,EAHD,CASf,CAzFA/gE,EAAS,CACLS,KAAMC,EAAAA,GAAY0tC,SAClBozB,SAAU,CAAEnzB,QAAS4xB,EAAe92C,UAAWk3C,KAGnDrgE,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,UAAQ9Q,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO8Q,GAAQ,IAAEsM,MAAO,EAAGggD,WAAYvB,EAAQ,GAAG3pD,QAmFlE,CACJ,EAtlBI8U,UAwlBJ,SAAmB5J,GACf,OAAO,SAAC1f,EAAUoC,GAEd,IAAAq/D,EAAyCr/D,IAAWgnB,KAA5ChW,EAAQquD,EAARruD,SAAU+V,EAASs4C,EAATt4C,UAAWg1C,EAAOsD,EAAPtD,QACvBh3C,EAAWgC,EAAUzJ,GAEvBtM,GACAA,EAASsM,MAAQA,GACjBtM,EAASgX,SACTpqB,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,UAAQ9Q,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO8Q,GAAQ,IAAEsM,MAAOtM,EAASsM,MAAQ,MAIzD1f,EAAS,CACLS,KAAMC,EAAAA,GAAYghE,WAClBhiD,MAAAA,IAIJ1f,EAAS2hE,EAAgB,CADXC,EAAoBzD,MAG9Bh3C,EAASxC,QACTwC,EAASxC,OAAOP,MAAK,SAAA/f,GAAC,OAAI85D,EAAQ/5C,MAAK,SAAA8N,GAAC,OAAIA,EAAE2vC,QAAU3vC,EAAE1d,OAASnQ,EAAEq7D,UAAU,GAAC,KAChF1/D,EAASirB,IAEjB,CACJ,EAnnBI62C,0BAq1BJ,WACI,OAAO,SAAA9hE,GACHA,EAASirB,KACTjrB,EAAS,CAAES,KAAMC,EAAAA,GAAYqhE,iBAC7B/hE,EAAS4+D,KACT5+D,EAASirB,IACb,CACJ,EA31BI+2C,uBA61BJ,WACI,OAAO,SAAAhiE,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYuhE,iBAC7BjiE,EAAS4+D,KACT5+D,EAASirB,IACb,CACJ,EAl2BIb,QAAAA,EACAY,aAiGJ,SAAsBnF,GAClB,OAAO,SAAC7lB,EAAUoC,GACd,IAAAqnB,EAAsCrnB,IAAWgnB,KAAI84C,EAAAz4C,EAA7CN,UAAAA,OAAS,IAAA+4C,EAAG,GAAEA,EAAE9D,EAAS30C,EAAT20C,UAClB+D,EAAeh5C,EAAUnI,QAAO,SAAAnZ,GAAI,OAAKA,EAAK6c,KAAK,IAEzD,GAAIy9C,EAAa55D,OAASsd,EAAStd,OAAS61D,EACxC,OAAOp+D,EAASoiE,EAAoBhE,IAGxCp+D,EAAS,CACLS,KAAMC,EAAAA,GAAY2hE,eAClBhhE,QAAS,CACL8gE,aAAAA,EACAt8C,SAAAA,IAGZ,CACJ,EAjHIy8C,gBAAAA,EACAC,kBAAAA,EACAh5C,gBAAAA,EACAi5C,eA0pBJ,SAAwBC,EAASC,EAAMC,EAAMC,EAAOC,GAChD,OAAO,SAAC7iE,EAAUoC,GACd,IAAA0gE,EAAkE1gE,IAAWgnB,KAArEhW,EAAQ0vD,EAAR1vD,SAAU2vD,EAASD,EAATC,UAAW55C,EAAS25C,EAAT35C,UAAW65C,EAAYF,EAAZE,aAAc7E,EAAO2E,EAAP3E,QAEtD,IAAI6E,EAAJ,CAIA,IAAMC,GAAcL,IAAWH,GAAW,IAAMA,GAAW,IAAmB,IAAZA,GAC5DS,EAAeD,IAA2B,KAAZR,GAA8B,KAAZA,GAChDU,GAAmBT,IAASC,GAAQF,GAAW,IAAMA,GAAW,GACtEziE,EAAS2/D,KAET,IAAM1xB,EAASkwB,EAAQ9qD,MAAK,SAAA6e,GAAC,OAAIA,EAAE1d,OAASpB,EAASssD,UAAU,IACzDv4C,EAA8B,OAAX,OAAR/T,QAAQ,IAARA,OAAQ,EAARA,EAAUsM,YAAgBlX,EAAY2gB,EAAU/V,EAASsM,OACpE0jD,EAAWn1B,EAAOm1B,WAAoB,OAARj8C,QAAQ,IAARA,OAAQ,EAARA,EAAUi8C,UAE9C,GAAMhwD,GAAY66B,IAAWg1B,EAEtB,CACH,IAAKA,GAAcL,IAAUxvD,EAASgX,QAAS,CAC3C,GAAoB,WAAhB6jB,EAAOxtC,OAAqByiE,GAA4B,IAAZT,EAG5C,OAFAziE,EAASqqB,IAIjB,MAAW84C,GAAoB/vD,EAASgX,SAAYg5C,GAChDpjE,EAASw/D,KAGb,OAAQiD,GACJ,KAAK,GAAIrvD,EAASgX,SACX6jB,EAAOo1B,eAAiBrjE,EAAS8/D,MACjCsD,GAAYpjE,EAASqvB,KACxB,MACJ,KAAK,GAAIrvB,EAAS6/D,KAAe,MACjC,KAAK,GAAI7/D,EAASsjE,KAAa,MAC/B,KAAK,GACCtjE,EADG4iE,EA8CzB,SAAmBG,EAAW3vD,GAC1B,GAAI2vD,EAAUx6D,OAAS,EAAG,CACtB,IAAMg7D,EAAoBR,EAAUA,EAAUx6D,OAAS,GACvD,GAAIg7D,EAAoB,EAAG,CACvB,IAAMC,EAAYD,EAAoB,EAKtC,OACME,EAJFV,EAAUW,QAAQF,IAAc,GAChCT,EAAUW,QAAQH,EAAoB,GAAK,EAG5BlN,EAAAA,GAAWsN,YAAYZ,GACvB,GAAD7wD,QAAAyT,EAAAA,EAAAA,GAAKo9C,EAAU/hD,QAAO,SAAAwE,GAAC,OAAIA,IAAMg+C,CAAS,KAAC,CAAEA,IACnE,CACJ,MAAO,GAAIpwD,GAAYA,EAASsM,MAC5B,OAAO+jD,EAAa,CAACrwD,EAASsM,QAGlC,MAAO,CAAEjf,KAAMC,EAAAA,GAAYkjE,cAC/B,CA/D+BC,CAAUd,EAAW3vD,GACrB0wD,KAAW,MAC1B,KAAK,EACC9jE,EADE4iE,EACOU,GAAS,GACTS,GAAU,IACrB,MACJ,KAAK,GAAI/jE,EAAS+jE,KAAc,MAChC,KAAK,GACC/jE,EADG4iE,EA0DzB,SAAsBG,EAAW3vD,EAAU4wD,GACvC,GAAIjB,EAAUx6D,OAAS,EAAG,CACtB,IAAMg7D,EAAoBR,EAAUA,EAAUx6D,OAAS,GACvD,GAAIg7D,EAAoBS,EAAQ,EAAG,CAC/B,IAAMR,EAAYD,EAAoB,EAKtC,OACME,EAJFV,EAAUW,QAAQF,IAAc,GAChCT,EAAUW,QAAQH,EAAoB,GAAK,EAG5BlN,EAAAA,GAAWsN,YAAYZ,GACvB,GAAD7wD,QAAAyT,EAAAA,EAAAA,GAAKo9C,EAAU/hD,QAAO,SAAAwE,GAAC,OAAIA,IAAMg+C,CAAS,KAAC,CAAEA,IACnE,CACJ,MAAO,GAAIpwD,EACP,OAAOqwD,EAAa,CAACrwD,EAASsM,QAGlC,MAAO,CAAEjf,KAAMC,EAAAA,GAAYkjE,cAC/B,CA3E+BK,CAAalB,EAAW3vD,EAAU+V,EAAU5gB,QAC5C27D,KAAa,MAC5B,KAAK,EACL,KAAK,GACGnB,EAAUx6D,SAAWs6D,EACrB7iE,GA0Hb,SAAAA,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYyjE,kBAC7BnkE,EAAS6+D,KACT7+D,EAASirB,IACb,IA7H4Bm4C,IAAYhwD,GAAaA,EAASgX,SAC1CpqB,EAASw/D,KAEb,MAEJ,QACIx/D,EAAS,CAAES,KAAMC,EAAAA,GAAYkjE,gBAEzC,MA1CI5jE,EAAS6+D,IAZb,CAuDJ,CACJ,EAvtBIuF,UAytBJ,SAAmB1kD,EAAOgjD,EAAME,GAC5B,IAAAyB,EAAgCC,EAAAA,EAAMliE,WAAWgnB,KAAzC25C,EAASsB,EAATtB,UAAW3vD,EAAQixD,EAARjxD,SACnB,GAAIsvD,EAAM,CACN,IAAM6B,EAAgBxB,EAAUW,QAAQhkD,GAExC,OACM+jD,EADCc,GAAiB,EACLlO,EAAAA,GAAWmO,SAASzB,EAAWwB,IAChC5+C,EAAAA,EAAAA,GAAK,IAAI8+C,IAAI,GAADvyD,QAAAyT,EAAAA,EAAAA,GAAKo9C,GAAS,CAAErjD,MAClD,CAAO,GAAIkjD,EAAO,CACd,IAAMziC,EAAQu4B,KAAKnpC,IAAI7P,EAAOtM,EAASsM,OACjC0gB,EAAMs4B,KAAKlpC,IAAI9P,EAAOtM,EAASsM,OAC/BglD,EAAUrO,EAAAA,GAAWC,eAAen2B,EAAOC,GAEjD,OAAOqjC,EAAa,GAADvxD,QAAAyT,EAAAA,EAAAA,GAAK0wC,EAAAA,GAAWsO,WAAW5B,EAAW2B,KAAQ/+C,EAAAA,EAAAA,GAAK++C,IAC1E,CAEA,OAAOjB,EAAa,CAAC/jD,GACzB,EAzuBIo/C,SAAAA,EACAa,SAAAA,EACA10C,SAAAA,EACAL,eAmgCJ,SAAwBhmB,GAAiC,IAAzBggE,EAAQ9iE,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,EAAG+iE,EAAQ/iE,UAAAyG,OAAA,EAAAzG,UAAA,QAAA0G,EAClD,OAAO,SAACxI,EAAUoC,GACd,IAAQsnB,EAAWtnB,IAAWgnB,KAAtBM,OAEJA,EAAO9kB,SAAWglB,EAAAA,GAAaC,WACX,MAApBH,EAAOk7C,UACPhgE,IAAWglB,EAAAA,GAAaC,WACxB7pB,EAAS,CACLS,KAAMC,EAAAA,GAAYokE,wBAClBjmC,MAAO,CAAEj6B,OAAAA,EAAQggE,SAAUlM,KAAKqM,MAAMH,GAAWC,SAAAA,IAG7D,CACJ,EA/gCIzhE,MAihCJ,WACI,MAAO,CAAE3C,KAAMC,EAAAA,GAAYwf,MAC/B,EAlhCI8kD,WAAAA,EACA15C,eAgiCJ,SAAwB25C,GACpB,MAAO,CACHxkE,KAAMC,EAAAA,GAAYwkE,gBAClBD,iBAAAA,EAER,EApiCIE,WAAAA,EACAC,OA2IJ,SAAgB1lD,GACZ,OAAO,SAAC1f,EAAUoC,GACd,IACMsyB,EAAQktC,EADMx/D,IAAWgnB,KAAvB+0C,SAGRn+D,EAASqqB,KACTrqB,EAASupB,EAAgB,CAACmL,GAAQhV,GACtC,CACJ,EAlJI2lD,UAoJJ,SAAmB3lD,GACf,OAAO,SAAA1f,GACH,IAAMslE,EAAW5lD,EAAQ,EAErB4lD,GAAY,IACZtlE,EAASqqB,KAETrqB,EAAS,CACLS,KAAMC,EAAAA,GAAY6kE,iBAClBlkE,QAAS,CACLqe,MAAAA,EACA4lD,SAAAA,KAIhB,CACJ,EAnKIE,YAqKJ,SAAqB9lD,GACjB,OAAO,SAAC1f,EAAUoC,GACd,IAAMkjE,EAAW5lD,EAAQ,EACrB4lD,EAAWljE,IAAWgnB,KAAKg1C,YAC3Bp+D,EAASqqB,KAETrqB,EAAS,CACLS,KAAMC,EAAAA,GAAY6kE,iBAClBlkE,QAAS,CAAEqe,MAAAA,EAAO4lD,SAAAA,KAG9B,CACJ,EAhLIv6C,MAmWJ,WACI,OAAO,SAAA/qB,GACHA,EAASqqB,KACTrqB,EAAS,CAAES,KAAMC,EAAAA,GAAY+kE,QAC7BzlE,EAAS4+D,KACT5+D,EAAS6+D,KACT7+D,EAASirB,IACb,CACJ,EA1WIy6C,0BAAAA,EACA/G,gBAAAA,GAuBJ,SAASA,EAAgBP,EAAWE,GAChC,MAAO,CACH79D,KAAMC,EAAAA,GAAYilE,WAClBvH,UAAAA,EACAE,UAAAA,EAER,CASA,SAASI,EAAWP,GAChB,MAAO,CACH19D,KAAMC,EAAAA,GAAYklE,cAClBzH,QAAAA,EAER,CAiBA,SAASmE,EAAgBn7C,EAAUzH,GAC/B,MAAO,CACHjf,KAAMC,EAAAA,GAAYmlE,kBAClBxkE,QAAS,CACL8lB,SAAAA,EACAzH,MAAAA,GAGZ,CAEA,SAAS0iD,EAAoBhE,GACzB,OAAO38D,EAAAA,IAAaiB,MAChB,KACAwnB,EAAAA,GAAc47C,2BAA2B1H,GAAa59C,EAAAA,GAAU69C,eAChEn0C,EAAAA,GAAc67C,gCAEtB,CAgCA,SAASx8C,EAAgB1D,GAAsB,IAAZnG,EAAK5d,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,EACvC,OAAO,SAAC9B,EAAUoC,GACd,IAAA4jE,EAAiC5jE,IAAWgnB,KAApCD,EAAS68C,EAAT78C,UAAWi1C,EAAS4H,EAAT5H,UAGnB,GAFqBj1C,EAAUnI,QAAO,SAAAnZ,GAAI,OAAKA,EAAK6c,KAAK,IAEvCnc,OAASsd,EAAStd,OAAU61D,EAC1C,OAAOp+D,EAASoiE,EAAoBhE,IAGxCp+D,EAAS,CACLS,KAAMC,EAAAA,GAAYulE,kBAClB5kE,QAAS,CACLwkB,SAAAA,EACAnG,MAAAA,IAGZ,CACJ,CAEA,SAASiiD,EAAgBx4C,GACrB,OAAO,SAAAnpB,GACHA,EAAS2/D,KACT3/D,EAAS,CAAES,KAAMC,EAAAA,GAAYwlE,kBAAmB/8C,UAAAA,GACpD,CACJ,CA4CA,SAASq2C,IACL,OAAO,SAACx/D,EAAUoC,GACd,IAAA+jE,EAAyC/jE,IAAWgnB,KAA5ChW,EAAQ+yD,EAAR/yD,SAAU+qD,EAAOgI,EAAPhI,QAASh1C,EAASg9C,EAATh9C,UACrBi9C,EAASjI,EAAQ9qD,MAAK,SAAA6e,GAAC,OAAIA,EAAE1d,OAASpB,EAASssD,UAAU,IAG3D2G,EAAQD,EAFKj9C,EAAU/V,EAASsM,UAGZ,SAAhB0mD,EAAO3lE,OACPT,EAASuiE,EAAkB,KAAMnvD,IACjCkzD,EAAAA,EAA6BC,MAAM5rC,EAAAA,EAAQmY,SAASlX,WAGxD57B,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,UAAQ9Q,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO8Q,GAAQ,IAAEgX,SAAS,EAAMo8C,aAAcJ,EAAOK,cAAgB,OAGzF,CACJ,CAoBA,SAASp3C,IACL,OAAO,SAACrvB,EAAUoC,GACd,IAAAskE,EAAyCtkE,IAAWgnB,KAA5ChW,EAAQszD,EAARtzD,SAAU+V,EAASu9C,EAATv9C,UACZi9C,EAD8BM,EAAPvI,QACN9qD,MAAK,SAAA6e,GAAC,OAAIA,EAAE1d,OAASpB,EAASssD,UAAU,IACzDv4C,EAAWgC,EAAU/V,EAASsM,OAEpC,GAAI2mD,EAAQD,EAAQj/C,GAAW,CAC3B,IAAMhV,EAAQgV,EAAS/T,EAASssD,YAC1Bh9D,EAAQykB,EAASxC,QAAUwC,EAASxC,OAAOtR,MAAK,SAAAhP,GAAC,OAAIA,EAAEq7D,aAAetsD,EAASssD,UAAU,IAY/F,GAVA1/D,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,UAAQ9Q,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACD8Q,GAAQ,IACXgX,SAAS,EACTo8C,aAAcr0D,EACdw0D,aAAcjkE,GAASA,EAAMmhC,YAIjCuiC,EAAOQ,QAAS,CAChB,IAAMC,EAAa1B,EAAWjK,OAAO/oD,GAAQi0D,GACzCA,EAAOQ,UAAYR,EAAOQ,QAAQE,KAAKD,IACvC7mE,EAASoqB,EAAQg8C,EAAOt9C,cAAgB,IAEhD,CAEI1V,EAASssD,aAAec,EAAAA,GAAQp/B,QAAQ5sB,MACxCxU,EAASglE,GAAW,IACpBhlE,EAAS+mE,EAAAA,IAAoBrnE,KAAK,GAAIynB,EAASxiB,GAAIwiB,EAASq5C,EAAAA,GAAQ/rD,OAAOD,MAAOrC,KAC3EiB,EAASssD,aAAec,EAAAA,GAAQE,MAAMlsD,OAC7CxU,EAASglE,GAAW,IACpBhlE,EAASgnE,EAAAA,IAAmBtnE,KAAKynB,EAASq5C,EAAAA,GAAQ/rD,OAAOD,MAAOrC,IAExE,CACJ,CACJ,CAEA,SAASk0D,EAAQD,EAAQj/C,GACrB,MAAuC,oBAA5Bi/C,EAAOa,kBACNb,EAAOa,iBAAiB9/C,IAG5Bi/C,EAAOhD,QACnB,CAEA,SAASU,IACL,OAAO,SAAC9jE,EAAUoC,GACd,IAAQgR,EAAahR,IAAWgnB,KAAxBhW,SACFsM,EAAQtM,EAASsM,MAEnBA,EAAQ,GACR1f,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAOA,EAAQ,EAAGggD,WAAYtsD,EAASssD,aAG/D,CACJ,CAEA,SAASwE,IACL,OAAO,SAAClkE,EAAUoC,GACd,IAAA8kE,EAAgC9kE,IAAWgnB,KAAnCD,EAAS+9C,EAAT/9C,UAAW/V,EAAQ8zD,EAAR9zD,SACbsM,EAAQtM,EAASsM,MAEnBA,EAAQyJ,EAAU5gB,OAAS,GAC3BvI,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAOA,EAAQ,EAAGggD,WAAYtsD,EAASssD,aAG/D,CACJ,CAEA,SAAS4D,EAAS6D,GACd,OAAO,SAACnnE,EAAUoC,GACd,IAAAglE,EAA4BhlE,IAAWgnB,KAAjC+0C,EAAOiJ,EAAPjJ,QAAS/qD,EAAQg0D,EAARh0D,SACTsM,EAAQy+C,EAAQl4C,WAAU,SAAAiM,GAAC,OAAIA,EAAE1d,OAASpB,EAASssD,UAAU,IAEnE,GAAIhgD,EAAQ,EACR1f,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAOtM,EAASsM,MAAOggD,WAAYvB,EAAQz+C,EAAQ,GAAGlL,aAEnE,GAAI2yD,GAAe/zD,EAASsM,MAAQ,EAAG,CAC1C1f,EAAS8jE,KACT,IAAAuD,EAA4BjlE,IAAWgnB,KAAjC+0C,EAAOkJ,EAAPlJ,QAAS/qD,EAAQi0D,EAARj0D,SACfpT,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAOtM,EAASsM,MAAOggD,WAAYvB,EAAQA,EAAQ51D,OAAS,GAAGiM,OAEnF,CACJ,CACJ,CAEA,SAASuvD,EAAUoD,GACf,OAAO,SAACnnE,EAAUoC,GACd,IAAAklE,EAA4BllE,IAAWgnB,KAAjC+0C,EAAOmJ,EAAPnJ,QAAS/qD,EAAQk0D,EAARl0D,SACTsM,EAAQy+C,EAAQl4C,WAAU,SAAAiM,GAAC,OAAIA,EAAE1d,OAASpB,EAASssD,UAAU,IAEnE,GAAIhgD,EAAQy+C,EAAQ51D,OAAS,EACzBvI,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAOtM,EAASsM,MAAOggD,WAAYvB,EAAQz+C,EAAQ,GAAGlL,aAEnE,GAAI2yD,EAAa,CACpBnnE,EAASkkE,KACT,IAAAqD,EAA4BnlE,IAAWgnB,KAAjC+0C,EAAOoJ,EAAPpJ,QAAS/qD,EAAQm0D,EAARn0D,SACfpT,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAOtM,EAASsM,MAAOggD,WAAYvB,EAAQ,GAAG3pD,OAGlE,CACJ,CACJ,CAEA,SAASqrD,IACL,OAAO,SAAC7/D,EAAUoC,GACd,IAAQgR,EAAahR,IAAWgnB,KAAxBhW,SAERpT,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAOtM,EAASsM,MAAOggD,WAAYtsD,EAASssD,aAEhE,CACJ,CAEA,SAASb,IAAmD,IAAhC31C,EAAQpnB,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,EAAG0lE,EAAW1lE,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,EACpD,OAAO,SAAC9B,EAAUoC,GACd,IAAQ+7D,EAAY/7D,IAAWgnB,KAAvB+0C,QAERn+D,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CAAEsM,MAAOwJ,EAAUw2C,WAAYvB,EAAQqJ,GAAahzD,OAEtE,CACJ,CAYA,SAASkxD,EAA0Bx8C,GAC/B,OAAO,SAAClpB,EAAUoC,GACd,IAAAqlE,EAA+BrlE,IAAWgnB,KAAlCD,EAASs+C,EAATt+C,UAAWg1C,EAAOsJ,EAAPtJ,QACbh3C,EAAWgC,EAAUD,GAE3B,GAAI/B,EAAU,CACV,IAAMzC,EAAQy5C,EACT1sC,OAAM,SAAAS,GAAM,IAADw1C,EACFv1D,EAAQgV,EAAS+K,EAAE1d,MAEzB,OAAImzD,MAAMC,QAAQ11C,EAAEu0C,cACTkB,MAAMC,QAAQz1D,IAA2B,IAAjBA,EAAM5J,QAG5B,OAAL4J,QAAK,IAALA,EAAAA,EAAS,OAAuB,QAArBu1D,EAAOx1C,EAAEu0C,oBAAY,IAAAiB,EAAAA,EAAI,GAChD,IAEJ1nE,EAAS,CACLS,KAAMC,EAAAA,GAAYmnE,aAClB3+C,SAAAA,EACAxE,MAAAA,GAER,CACJ,CAEJ,CAEA,SAASo7C,IACL,OAAO,SAAC9/D,EAAUoC,GAAc,IAAD0lE,EAC3BC,EAAyC3lE,IAAWgnB,KAA5CD,EAAS4+C,EAAT5+C,UAAW/V,EAAQ20D,EAAR30D,SAAU+qD,EAAO4J,EAAP5J,QAE7B,GAAK/qD,GAAaA,EAASgX,QAA3B,CAIA,IAAM49C,EAAgB7J,EAAQ9qD,MAAK,SAAA6e,GAAC,OAAIA,EAAE1d,OAASpB,EAASssD,UAAU,IAChEv4C,EAAWgC,EAAU/V,EAASsM,OAC9B8mD,EAAerB,EAAkC,SAAvB6C,EAAcvnE,KAAkB0mB,EAAS6gD,EAAcxzD,MAAQpB,EAASozD,aAAcwB,GAClHrjD,EAAUwC,EAASxC,QAAUwC,EAASxC,OAAO3D,QAAO,SAAA3c,GAAC,OAAIA,EAAEq7D,aAAetsD,EAASssD,UAAU,KAAM,GAEnGtsD,EAASuzD,cACThiD,EAAO/gB,KAAK,CACR87D,WAAYtsD,EAASssD,WACrB77B,QAASzwB,EAASuzD,eAI1B3mE,EAAS,CAAES,KAAMC,EAAAA,GAAYunE,WAAYzB,aAAAA,EAAc7hD,OAAAA,IACvD3kB,EAAS0lE,EAA0BtyD,EAASsM,QAC5C1f,EAAS4+D,KAET,IAAMsJ,EAAiF,oBAAlDF,EAAcG,gCAC/CD,GACAloE,EAASgoE,EAAcG,gCAAgC/0D,EAASsM,UAG9DsoD,EAAcnG,QAAUqG,IACX,QADgCJ,EAC/C3gD,EAASxC,cAAM,IAAAmjD,GAAfA,EAAiBz0D,MAAK,SAAAhP,GAAC,OAAIA,EAAEq7D,aAAetsD,EAASssD,UAAU,KAAMsI,EAAcI,cACnFpoE,EAASirB,IAzBb,CA2BJ,CACJ,CAEA,SAASZ,IACL,OAAO,SAACrqB,EAAUoC,GACd,IAAAimE,EAA8BjmE,IAAWgnB,KAAjChW,EAAQi1D,EAARj1D,SACFgzD,EADmBiC,EAAPlK,QACK9qD,MAAK,SAAAugB,GAAC,OAAIA,EAAEpf,OAASpB,EAASssD,UAAU,IAE3DtsD,EAASgX,UACLg8C,EAAO/C,cACPrjE,EAAS6/D,KAET7/D,EAAS8/D,KAGrB,CACJ,CAEA,SAASqF,EAAWhzD,EAAO87B,GACvB,GAA4B,oBAAjBA,EAAOq6B,MACd,OAAOr6B,EAAOq6B,MAAMn2D,IAAUA,EAC3B,GAAoB,WAAhB87B,EAAOxtC,MAAqC,YAAhBwtC,EAAOxtC,KAAoB,CAC9D,GAAc,KAAV0R,EACA,OAEJ,OAAO2V,EAAAA,GAAa+X,gBAAgB1tB,OAAiB3J,IAAV2J,EAAsB,KAAOA,EAC5E,CAAO,MAAoB,UAAhB87B,EAAOxtC,KACPiU,EAAAA,GAAW4zD,MAAMpN,OAAO/oD,KAAWA,EAGtB,kBAAVA,EACRA,EAAMkN,OACNlN,CACV,CAuJA,SAASowD,EAAkB18D,EAAMuN,GAC7B,OAAO,SAACpT,EAAUoC,GACd,IAEMmmE,EAFgBnmE,IAAWgnB,KAAzBD,UAE0B/V,EAASsM,OAE3C1f,EAASsiE,GAAehgE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAGimE,GAAe,IAAAC,EAAAA,EAAAA,GAAA,GAAGp1D,EAASssD,WAAa75D,IAAOuN,EAASsM,QACrF1f,EAAS8/D,IACb,CACJ,CAGA,SAAS11C,EAAQjY,GACb,OAAO,SAACnS,EAAUoC,GACd,IAAAqmE,EAAyCrmE,IAAWgnB,KAA5ChW,EAAQq1D,EAARr1D,SAAU+V,EAASs/C,EAATt/C,UAAWg1C,EAAOsK,EAAPtK,QAEvBoK,EAAkBp/C,EAAU/V,EAASsM,OACrChd,EAAQ6lE,EAAgB5jD,QAAU4jD,EAAgB5jD,OAAOtR,MAAK,SAAAhP,GAAC,OAAIA,EAAEq7D,aAAetsD,EAASssD,UAAU,IAEzGl9D,EAAe,GACnB,GAAIE,EAAO,CACP,IAAMurC,EAASkwB,EAAQ9qD,MAAK,SAAA6e,GAAC,OAAIA,EAAE1d,OAASpB,EAASssD,UAAU,IAC/Dl9D,EACI2P,IAAUo2D,EAAgBn1D,EAASssD,YAC7Bh9D,EAAMmhC,QACN6kC,EAAsBv2D,EAAO87B,EAAQs6B,EAAiBp/C,GAAWw0B,KAC/E,CAEA39C,EAAS,CACLS,KAAMC,EAAAA,GAAYioE,QAClBv+C,QAAS,CAAEjY,MAAAA,EAAO3P,aAAAA,IAE1B,CACJ,CAEA,SAASo/D,EAAoBzD,GACzB,IAC4ByK,EADtBlkD,EAAQ,CAAEA,OAAO,GAAOmkD,GAAAC,EAAAA,EAAAA,GACT3K,GAAO,IAA5B,IAAA0K,EAAAvnD,MAAAsnD,EAAAC,EAAAE,KAAAC,MAA8B,CAAC,IAApB5C,EAAMwC,EAAAz2D,MACbuS,EAAM0hD,EAAO5xD,MAAQ4xD,EAAOK,YAChC,CAAC,OAAAwC,GAAAJ,EAAAxkE,EAAA4kE,EAAA,SAAAJ,EAAAK,GAAA,CAED,OAAOxkD,CACX,CA6HA,SAAS++C,EAAaV,GAClB,OAAO,SAAC/iE,EAAUoC,GACd,IAAA+mE,EAA8B/mE,IAAWgnB,KAAjC+0C,EAAOgL,EAAPhL,QAAiBgL,EAAR/1D,SAEJgX,SACTpqB,EAASqqB,KAGbrqB,EAAS,CACLS,KAAMC,EAAAA,GAAYk/D,gBAClBxsD,SAAU,CACNsM,MAAOqjD,EAAUx6D,OAASw6D,EAAUA,EAAUx6D,OAAS,GAAK,EAC5Dm3D,WAAYvB,EAAQ,GAAG3pD,QAI/BxU,EAAS,CACLS,KAAMC,EAAAA,GAAY0oE,cAClBrG,UAAAA,GAER,CACJ,CAEA,SAASnE,IACL,OAAO,SAAC5+D,EAAUoC,GACd,IAAAinE,EAAqDjnE,IAAWgnB,KAAxDD,EAASkgD,EAATlgD,UAAWg1C,EAAOkL,EAAPlL,QAASC,EAASiL,EAATjL,UAAWE,EAAS+K,EAAT/K,UAEvC,GAAIn1C,EAAU5gB,OAAS61D,EAAW,CAC9B,IAAMkL,EAAkBhL,EAUhC,SAAgCn1C,EAAWm1C,GACvC,IAAMiL,EAAgBpgD,EAAUnI,QAAO,SAACwE,GAAC,OAAMA,EAAEd,KAAK,IAAEnc,OAExD,OAAO+1D,EAAYiL,CACvB,CAd4CC,CAAuBrgD,EAAWm1C,GAgB9E,SAAsCn1C,EAAWi1C,GAC7C,OAAOA,EAAYj1C,EAAU5gB,MACjC,CAlB2FkhE,CAA6BtgD,EAAWi1C,GAE3H,GAAIkL,EAAkB,EAAG,CACrB,IAAM5kD,EAAQk9C,EAAoBzD,GAElCn+D,EAAS2hE,EADMgG,MAAM2B,GAAiBI,KAAKhlD,IAE/C,CACJ,CACJ,CAWJ,CA2BA,SAASuG,IACL,OAAO,SAACjrB,EAAUoC,GACOA,IAAWgnB,KAAxBhW,SAEKgX,SACTpqB,EAASqqB,KAGb,IAAAs/C,EAA+BvnE,IAAWgnB,KAAlCD,EAASwgD,EAATxgD,UAAWg1C,EAAOwL,EAAPxL,QAEbiC,EAASj3C,EAAUnI,QAAO,SAAAM,GAAC,OAAIA,EAAEoD,KAAK,IACtC43C,EAAQnzC,EAAUnI,QAAO,SAAAM,GAAC,OAAKA,EAAEoD,KAAK,IAEtCuP,EAAmBqoC,EAAM10D,KAAI,SAAA0Z,GAAC,OAoC5C,SAA0B68C,EAASh3C,EAAUgC,GAQzC,OAPAhC,EAASxC,OAASw5C,EACbv2D,KAAI,SAAAsqB,GACD,IAAM2R,EAAU6kC,EAAsBvhD,EAAS+K,EAAE1d,MAAO0d,EAAG/K,EAAUgC,GACrE,OAAO0a,EAAQ8Z,MAAQ,CAAE+hB,WAAYxtC,EAAE1d,KAAMqvB,QAASA,EAAQ8Z,MAAOisB,aAAc/lC,EAAQ+lC,cAAiB,IAChH,IACC5oD,QAAO,SAAA3c,GAAC,OAAIA,CAAC,IAEX8iB,CACX,CA5CY0iD,CACI1L,GAAO77D,EAAAA,EAAAA,GAAA,GACFgf,GACLg7C,EAAM,IAGRwN,EAoBd,SAAyB3L,EAASh1C,GAC9B,OAAOg1C,EAAQv2D,KAAI,SAAAqmC,GACf,MAAqC,oBAA1BA,EAAO87B,gBACdznE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAY2rC,GAAM,IAAEm6B,YAAan6B,EAAO87B,eAAe5gD,KAEpD8kB,CACX,GACJ,CA3BiC+7B,CAAgB7L,EAASh1C,GAE5C2R,EACFgvC,EAAiBr4C,OAAM,SAAAS,GAAC,OAAKA,EAAEk2C,WAAW,KAC1Cn0C,EAAiB1rB,OAAS,GAC1B0rB,EAAiBxC,OAAM,SAAAnQ,GAAC,OAAwB,IAApBA,EAAEqD,OAAOpc,MAAY,IAErD0rB,EAAiBrwB,KAAI/B,MAArBoyB,GAAgBtO,EAAAA,EAAAA,GAASy6C,IAEzBpgE,EAAS,CACLS,KAAMC,EAAAA,GAAYigC,SAClBC,WAAY,CACRu9B,QAAS2L,EACT3gD,UAAW8K,EACX6G,QAAAA,IAGZ,CACJ,CAsBA,SAAS4tC,EAAsBv2D,EAAO87B,EAAQ9mB,EAAUgC,GACpD,IAAMw0B,EAAQ1P,EAAOg8B,eAAiBh8B,EAAO0P,MAC7C,GAAI1P,EAAOi8B,WAAsB,MAAT/3D,GAAkC,IAAjBA,EAAM5J,QAAe,CAC1D,IAAoD4hE,GAA1Bl8B,EAAO/jB,eAAiB,CAAC,GAA3CggD,SACR,MAAO,CAAEvsB,YADO,IAAAwsB,EAAG,GAAEA,IACG,GAAAj4D,OAAOyrC,EAAK,gBACxC,CAEA,GAA+B,oBAApB1P,EAAOhjB,SAAyB,CACvC,IAAMvoB,EAAQurC,EAAOhjB,SAAS9Y,EAAOgV,EAAUgC,GAC/C,GAAIzmB,EACA,MAAO,CAAEi7C,MAAOj7C,EAExB,CAEA,IAAKwlB,EAAAA,GAAYkiD,cAAcj4D,GAAQ,CACnC,GAAoB,WAAhB87B,EAAOxtC,MAAqC,UAAhBwtC,EAAOxtC,MAAoC,YAAhBwtC,EAAOxtC,KAAoB,CAClF,IAAM4pE,EAASlF,EAAWhzD,EAAO87B,GACjC,IAAKnmB,EAAAA,GAAaC,SAASsiD,GACvB,MAAO,CAAE1sB,MAAM,GAADzrC,OAAKyrC,EAAK,wBAG5B,GAAoB,YAAhB1P,EAAOxtC,OAAuB,WAAWqmE,KAAKuD,GAC9C,MAAO,CAAE1sB,MAAM,GAADzrC,OAAKyrC,EAAK,iCAG5B,IAAMpuB,EAA4B,oBAAf0e,EAAO1e,IAAqB0e,EAAO1e,IAAIpI,GAAY8mB,EAAO1e,IACvEC,EAA4B,oBAAfye,EAAOze,IAAqBye,EAAOze,IAAIrI,GAAY8mB,EAAOze,IAE7E,GAAW,MAAPD,GAAsB,MAAPC,GACf,GAAI66C,EAAS96C,GAAO86C,EAAS76C,EACzB,MAAO,CAAEmuB,MAAM,GAADzrC,OAAKyrC,EAAK,+BAAAzrC,OAA8B+7B,EAAO9Q,OAAO5N,GAAI,QAAArd,OAAO+7B,EAAO9Q,OAAO3N,SAE9F,IAAW,MAAPD,GAAe86C,EAAS96C,EAC/B,MAAO,CAAEouB,MAAM,GAADzrC,OAAKyrC,EAAK,wCAAAzrC,OAAuC+7B,EAAO9Q,OAAO5N,KAC1E,GAAW,MAAPC,GAAe66C,EAAS76C,EAC/B,MAAO,CAAEmuB,MAAM,GAADzrC,OAAKyrC,EAAK,qCAAAzrC,OAAoC+7B,EAAO9Q,OAAO3N,IAC9E,CACJ,CAEA,GAAIye,EAAO1lC,QAAU4J,EAAM5J,OAAS0lC,EAAO1lC,OACvC,MAAO,CAAEo1C,MAAM,GAADzrC,OAAKyrC,EAAK,YAAAzrC,OAAW+7B,EAAO1lC,OAAM,oBAGpD,GAAI0lC,EAAO24B,UAAY34B,EAAO24B,QAAQE,KAAK5L,OAAOiK,EAAWhzD,EAAO87B,KAChE,MAAO,CAAE0P,MAAM,GAADzrC,OAAKyrC,EAAK,gBAG5B,GAAI1P,EAAO4zB,OAQP,GANI14C,EAAUnI,QAAO,SAAAnZ,GAAI,OAIkB,IAHnCqzD,OAAO/oD,GAAOqV,cACV3f,EAAKomC,EAAOz5B,OAAS,QACrBhM,EACA,CAAEif,YAAa,UAAiB,IAE7Blf,OAAS,EACpB,MAAO,CAAEo1C,MAAM,GAADzrC,OAAKyrC,EAAK,kBAAkBisB,cAAc,GAIhE,IAAIrlD,EAAS0pB,EAAOq8B,0BAA4Br8B,EAAOq8B,4BAA8B,GAC7EC,EAAiBjG,EAAAA,EAAMliE,WAAvBmoE,aACR,GAAIt8B,EAAOz5B,OAASgsD,EAAAA,GAAQpgE,QAAQoU,KAChC+P,EAASgmD,EAAa72C,UAAU9rB,KAAI,SAAAgsB,GAAC,OAAIA,EAAEpf,IAAI,SAC5C,GAAIy5B,EAAOz5B,OAASgsD,EAAAA,GAAQ/rD,OAAOD,OAClCrC,EAAM5J,OAASi4D,EAAAA,GAAQ/rD,OAAOlM,SAgB9C,SAAuBkM,GACnB,IAAMiL,EAAQjL,EAAO+1D,YAAY,KACjC,OAAO9qD,EAAQ,GAAKA,EAAQjL,EAAOlM,OAAS,CAChD,CAnByDkiE,CAAct4D,IACvD,MAAO,CAAEwrC,MAAM,GAADzrC,OAAKyrC,EAAK,gBAIhC,GAAIp5B,EAAOhc,OAAQ,CACf,IAAM/F,EAelB,SAAuBk9D,EAAYvtD,EAAOu4D,GACtC,IAAM5vC,EAAU4vC,EAActmD,MAAK,SAAA8B,GAAC,IAAAykD,EAAA,OACkD,IAAlFzP,OAAY,QAANyP,EAACzkD,EAAEmB,WAAG,IAAAsjD,EAAAA,EAAIzkD,GAAGsB,cAAcrV,OAAO3J,EAAW,CAAEif,YAAa,UAAiB,IAEvF,IAAKqT,EACD,MAAM,GAAN5oB,OAAUwtD,EAAU,gBAE5B,CAtBiCkL,CAAc38B,EAAOz5B,KAAMrC,EAAOoS,GACvD,GAAI/hB,EACA,MAAO,CAAEm7C,MAAOn7C,EAExB,CACJ,CAEA,MAAO,CAAEm7C,MAAO,GACpB,CAgBA,SAASmhB,IACL,MAAO,CAAEr+D,KAAMC,EAAAA,GAAYmqE,UAC/B,CAEA,SAASlL,IACL,OAAO,SAAC3/D,EAAUoC,GACOA,IAAWgnB,KAAxB01C,UAGJ9+D,EAAS,CAAES,KAAMC,EAAAA,GAAYoqE,WAErC,CACJ,CAqBA,SAAS9F,EAAW+F,GAChB,OAAO,SAAC/qE,EAAUoC,GACWA,IAAWgnB,KAA5B45C,eAEa+H,GACjB/qE,EAAS,CACLS,KAAMC,EAAAA,GAAYsqE,YAClBD,MAAAA,GAGZ,CACJ,C,8HCtkCatpE,EAAe,CACxBC,cAAAA,EACAgB,MAAAA,EACA4B,gBA+CJ,SAAyB2kE,GACrB,OAAOvmE,EAAMumE,EAAK/+C,EAAAA,GAAc5lB,gBACpC,EAhDIm2B,WAkDJ,WACI,MAAO,CAAEh6B,KAAMC,EAAAA,GAAYuqE,YAC/B,EAnDIC,0BAAAA,GAGJ,SAASxpE,EAAcgB,GACnB,OAAIwoE,EAA0BxoE,GACnB,CACHjC,KAAMC,EAAAA,GAAYyqE,0BAClBzoE,MAAAA,GAID,CACHjC,KAAMC,EAAAA,GAAY0qE,eAClB1oE,MAAAA,EAER,CAEO,SAASwoE,EAA0BxoE,GACtC,OAAOA,GAAwB,eAAfA,EAAM8R,IAC1B,CAEA,SAAS9R,EAAMA,EAAOmhC,EAASwnC,GAC3B,GAAIH,EAA0BxoE,GAC1B,MAAO,CACHjC,KAAMC,EAAAA,GAAYyqE,0BAClBzoE,MAAAA,GAED,GAAIA,GAA2B,OAAjBA,EAAMkC,OACvB,OAAOlD,EAAcgB,GAGzB,IAAM4oE,EAAY5oE,GAASA,EAAMmhC,SAAW0nC,EAAAA,GAAUC,SAAS9oE,EAAMmhC,SACrEA,EAAWynC,GAAaA,EAAU5oE,OAAWA,GAASA,EAAMmhC,SAAYA,EACxEwnC,EAAWC,GAAaA,EAAU3tB,OAAU0tB,EAE5C,IAAMI,EAAWH,GAAaA,EAAUI,iBAAmB,EACrD1tB,EAAuB2tB,QAAQL,GAAaA,EAAUttB,sBAI5D,OAFAhsC,EAAAA,EAAO6nC,UAAUhW,EAASnhC,GAEnB+oE,EACDn3D,EAAAA,EAAoB6mB,iCAAiC0I,EAASwnC,GAAWnhD,EAAAA,GAAcxnB,MAAOs7C,GAC9F1pC,EAAAA,EAAoBw6B,4BAA4BjL,EAASwnC,GAAWnhD,EAAAA,GAAcxnB,MAC5F,C,uECnDMU,GAAQ+E,EAAAA,EAAAA,cAAa,kBAcdyjE,EAAe,CACxBC,aAdgB1jE,EAAAA,EAAAA,cAAa,kBAC7B,SAAAE,GAAO,OAAI,SAACyjE,EAAgBC,GAAc,OAAK1jE,EAAQ,CAAEyjE,OAAAA,EAAQC,MAAAA,GAAQ,KAczEC,gBAZmB7jE,EAAAA,EAAAA,cAAa,qBAChC,SAAAE,GAAO,OAAI,SAACyjE,EAAgBG,GAAiB,OAAK5jE,EAAQ,CAAEyjE,OAAAA,EAAQG,SAAAA,GAAW,KAY/EC,eAVkB/jE,EAAAA,EAAAA,cAAa,2BAW/BgkE,cATiBhkE,EAAAA,EAAAA,cAAa,oBAC9B,SAAAE,GAAO,OAAI,SAAC+jE,EAAkBC,EAAgBC,EAAuBC,GAAmB,OACpFlkE,EAAQ,CAAE+jE,SAAAA,EAAUC,OAAAA,EAAQC,cAAAA,EAAeC,YAAAA,GAAc,KAQ7DnpE,MAAAA,E,uECfEmqD,GAAuBplD,EAAAA,EAAAA,cAAa,yBACpCqkE,GAA6BrkE,EAAAA,EAAAA,cAAa,gCAC5C,SAAAE,GAAO,OAAI,SAAC+mB,EAAgDq9C,GAA4B,OACpFpkE,EAAQ,CAAE+mB,SAAAA,EAAUq9C,mBAAAA,GAAqB,KAE3CC,GAA6BvkE,EAAAA,EAAAA,cAAa,gCAC5C,SAAAE,GAAO,OAAI,SAACskE,EAAwBC,GAAqB,OACrDvkE,EAAQ,CAAEskE,QAAAA,EAASC,SAAAA,GAAW,KAMzBtf,EAAyB,CAClCkf,2BAAAA,EACAK,4BAN+B1kE,EAAAA,EAAAA,cAAa,gCAC5C,SAAAE,GAAO,OAAI,SAAC3F,GAAa,OAAK2F,EAAQ,CAAE3F,MAAAA,GAAQ,KAMhDgqE,2BAAAA,EACAnf,qBAAAA,E,uECnBEzsD,GAAUqH,EAAAA,EAAAA,cAAa,gDACvBC,GAAgBD,EAAAA,EAAAA,cAAa,uDAC/B,SAAAE,GAAO,OAAI,SAACzH,GAAmE,OAC3EyH,EAAQ,CAAEzH,aAAAA,EAAcumD,OAD8CrlD,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IACxC,KAQ5BgrE,EAAkC,CAC3ChsE,QAAAA,EACAsH,cAAAA,EACA2kE,kBATqB5kE,EAAAA,EAAAA,cACrB,2DACI,SAAAE,GAAO,OAAI,SAACi6B,GAAmC,OAAKj6B,EAAQ,CAAEi6B,UAAAA,GAAY,KAQ9E+kB,eANkBl/C,EAAAA,EAAAA,cAAa,8C,uECT7B6kE,GAAoB7kE,EAAAA,EAAAA,cACtB,mCACA,SAAAE,GAAO,OAAI,SAAC25B,GAAgB,OAAK35B,EAAQ,CAAE25B,SAAAA,GAAW,KAEpDirC,GAAgB9kE,EAAAA,EAAAA,cAClB,uCACA,SAAAE,GAAO,OAAI,SAAC65B,EAAqCgrC,GAAoB,OAAK7kE,EAAQ,CAAE65B,QAAAA,EAASgrC,YAAAA,GAAc,KAEzGC,GAA2BhlE,EAAAA,EAAAA,cAAa,yCACxCilE,GAAsBjlE,EAAAA,EAAAA,cAAa,sCACrC,SAAAE,GAAO,OAAI,SAAC6kE,GAAoB,OAAK7kE,EAAQ6kE,EAAY,KAEvDG,GAAqBllE,EAAAA,EAAAA,cACvB,oCACA,SAAAE,GAAO,OAAI,SAACvF,EAAkBwqE,GAAmB,OAAKjlE,EAAQ,CAAEvF,QAAAA,EAASwqE,WAAAA,GAAa,KAEpFC,GAA8BplE,EAAAA,EAAAA,cAChC,8CACA,SAAAE,GAAO,OAAI,SAACilE,GAAkB,OAAKjlE,EAAQ,CAAEilE,WAAAA,GAAa,KAExDE,GAAsBrlE,EAAAA,EAAAA,cACxB,qCACA,SAAAE,GAAO,OAAI,SAACvF,GAAyB,OAAKuF,EAAQ,CAAEvF,QAAAA,GAAU,KAE5D2qE,GAAkCtlE,EAAAA,EAAAA,cACpC,mDACA,SAAAE,GAAO,OAAI,SAACmC,GAAsB,OAAKnC,EAAQ,CAAEmC,cAAAA,GAAgB,KAE/DkjE,GAAgBvlE,EAAAA,EAAAA,cAClB,8BACA,SAAAE,GAAO,OAAI,SAACzF,GAAiB,OAAKyF,EAAQ,CAAEzF,UAAAA,GAAY,KAEtD+qE,GAAsBxlE,EAAAA,EAAAA,cACxB,sCACA,SAAAE,GAAO,OAAI,SAACzF,GAAiB,OAAKyF,EAAQ,CAAEzF,UAAAA,GAAY,KAEtDgrE,GAA+BzlE,EAAAA,EAAAA,cACjC,gDACA,SAAAE,GAAO,OAAI,SAAC25B,GAAgB,OAAK35B,EAAQ,CAAE25B,SAAAA,GAAW,KAEpD6rC,GAA4B1lE,EAAAA,EAAAA,cAC9B,8CACA,SAAAE,GAAO,OAAI,SAAC25B,GAAgB,OAAK35B,EAAQ,CAAE25B,SAAAA,GAAW,KAEpD8rC,GAAsC3lE,EAAAA,EAAAA,cACxC,yDACA,SAAAE,GAAO,OAAI,SAACzF,EAAmB4H,GAAsB,OAAKnC,EAAQ,CAAEzF,UAAAA,EAAW4H,cAAAA,GAAgB,KAKtFgkB,EAAoB,CAC7Bw+C,kBAAAA,EACAC,cAAAA,EACAE,yBAAAA,EACAC,oBAAAA,EACAC,mBAAAA,EACAE,4BAAAA,EACAC,oBAAAA,EACAC,gCAAAA,EACAM,sBAZyB5lE,EAAAA,EAAAA,cAAa,sCAatCulE,cAAAA,EACAC,oBAAAA,EACAC,6BAAAA,EACAC,0BAAAA,EACAC,oCAAAA,EACA1qE,OAjBU+E,EAAAA,EAAAA,cAAa,qB,6SC7BrB6lE,GAAgBC,EAAAA,EAAAA,GAAoBC,EAAAA,EAAeC,WAE5CC,EAAmB,CAC5Br3C,YAqBJ,WACI,OAAO,SAAC/2B,GACJA,EAASguE,EAAcj3C,eACvB/2B,EAASquE,IACb,CACJ,EAzBIjrE,MA8HJ,WACI,OAAO,SAAApD,GACHA,EAASguE,EAAcM,sCACvBtuE,EAAS,CAAES,KAAMC,EAAAA,GAAYwf,QAC7BlgB,EAAS0e,EAAAA,IAAwBtb,SACjCpD,EAASyB,EAAAA,IAAag5B,cACtBz6B,EAASq1B,EAAAA,IAAoBpS,QAC7BjjB,EAASuuE,EAAAA,EAAyBnrE,SAClCpD,EAASyiD,EAAAA,EAAyBr/C,QACtC,CACJ,EAvIIorE,wBAyIJ,SAAiC9mB,GAC7B,OAAO,SAAC1nD,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAY+tE,gBAClB/mB,YAAAA,IAGJ,IAAAgnB,EAAqCtsE,IAAWusE,UAAxCC,EAAaF,EAAbE,cAAeC,EAASH,EAATG,WACIC,EAAAA,EAAAA,GAAc1sE,KAElBqvB,OAAM,SAAAne,GAAC,OAI9B,SAA0Bo0C,GACtB,OAAqC,MAA9BknB,EAAclnB,IAA8BknB,EAAclnB,EACrE,CANkCqnB,CAAiBz7D,EAAE3O,MAAQkqE,CAAS,KAClE7uE,EAASgvE,GAAiBH,EAAWD,GAM7C,CACJ,EA1JIK,yBA4JJ,SAAkCvnB,EAAawnB,GAC3C,OAAO,SAAClvE,EAAUoC,GACd,IAAMusE,GAAYG,EAAAA,EAAAA,GAAc1sE,KAAYiR,MAAK,SAAAC,GAAC,OAAIA,EAAE3O,KAAO+iD,CAAW,IAE1E,GAAKinB,EAAL,CAEA,IAAMQ,GAAa7sE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACZF,IAAWusE,UAAUQ,eAAa,IAAA3G,EAAAA,EAAAA,GAAA,GACpC9gB,EAAc,CACXwnB,UAAAA,EACAE,wBAAyBF,EACnBG,EAAAA,GAASC,UAAUX,EAAU37D,YAAY,SAAAM,GAAC,OAAIA,EAAE3O,EAAE,IAAE,kBAAM,CAAI,IAC9D,CAAC,KAIf3E,EAAS,CACLS,KAAMC,EAAAA,GAAY6uE,0BAClBJ,cAAAA,GAdkB,CAgB1B,CACJ,EAhLIK,4BAAAA,EACA/nB,gBAiOJ,SAAyBC,GACrB,OAAO,SAAC1nD,EAAUoC,GACdpC,EAASwvE,KACTC,EAAAA,EACKhoB,gBAAgBC,GAChBxjD,MAGL,WACIlE,EAASonD,EAAAA,EAAqBK,gBAAgBC,IAC9C,IAAAgoB,EAAsCttE,IAA9ButE,EAAeD,EAAfC,gBAAiBC,EAAQF,EAARE,SAErBD,EAAgBvgD,WACfwgD,EAASC,WAAWr6C,MAAMpR,MAAK,SAAA9Q,GAAC,OAAIA,EAAEN,WAAWoR,MAAK,SAAA9C,GAAC,OAAIA,EAAE3c,KAAOgrE,EAAgBvgD,SAASzqB,EAAE,GAAC,KACjG3E,EAASstD,EAAAA,EAAuBC,wBAGhCoiB,EAAgBvgD,WACfwgD,EAASC,WAAWr6C,MAAMpR,MAAK,SAAA9Q,GAAC,OAAIA,EAAEN,WAAWoR,MAAK,SAAA9C,GAAC,OAAIA,EAAE3c,KAAOyxB,EAAAA,EAAehH,SAASzqB,EAAE,GAAC,KAChG3E,EAASo2B,EAAAA,EAAeJ,eAEhC,IAfK5xB,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAgB7D,CACJ,EAvPIyrE,iCAgLJ,SAA0CpoB,EAAaqoB,EAAqB1+C,GACxE,OAAO,SAACrxB,EAAUoC,GACd,IAAMusE,EAAYvsE,IAAWwtE,SAASC,WAAWr6C,MAAMniB,MAAK,SAAAC,GAAC,OAAIA,EAAE3O,KAAO+iD,CAAW,IAErF,GAAKinB,EAAL,CAEA,IAAMqB,EAAuB5tE,IAAWusE,UAAUQ,cAC5Cc,EAAyBD,EAAqBtoB,IAAYplD,EAAAA,EAAAA,GAAA,GACrD0tE,EAAqBtoB,IAC1B,CAAE0nB,wBAAyB,CAAC,GAE5Bc,EAAqB,SAAA7+C,GAAQ,OAC/Bs9C,EAAU37D,WAAWye,OAAM,SAAAnQ,GAAC,OAAIqqD,QAAQsE,EAAuBb,wBAAwB9tD,EAAE3c,OAAS0sB,CAAQ,GAAC,EAE/G4+C,EAAuBb,wBAAwBW,GAAuB1+C,EACtE4+C,EAAuBf,YAAYgB,GAAmB,KAEhDA,GAAmB,MAAmBD,EAAuBf,UAEnE,IAAMC,GAAa7sE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACZ0tE,GAAoB,IAAAxH,EAAAA,EAAAA,GAAA,GACtB9gB,EAAcuoB,IAGnBjwE,EAAS,CACLS,KAAMC,EAAAA,GAAY6uE,0BAClBJ,cAAAA,GAtBkB,CAwB1B,CACJ,EA5MIgB,gBAwPJ,SAAyBC,EAAkBC,GACvC,MAAO,CACH5vE,KAAMC,EAAAA,GAAY4vE,kBAClBD,uBAAAA,EACAD,iBAAAA,EAER,EA7PIG,kBAAAA,EACAC,mBAAAA,EACAC,aAwQJ,SAAsB9yB,GAClB,OAAO,SAAA39C,GACHA,EAASwwE,GAAmB,IAC5Bf,EAAAA,EACKiB,gBAAgB/yB,GAChBz5C,MAAK,SAAAvE,GAAA,IAAGqK,EAAarK,EAAbqK,cAAa,OAAO2wB,EAAAA,EAAQ/2B,KAAKg3B,EAAAA,GAAO+1C,iBAAiB3mE,GAAe,IAChF5F,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAAG,GAC7D,CACJ,EA/QIusE,UAqRJ,WACI,OAAO,SAAC5wE,EAAUoC,GACd,IAAAyuE,EAAsCzuE,IAA9B0uE,EAAOD,EAAPC,QAAS/xD,EAAgB8xD,EAAhB9xD,iBACXgyD,EAAiBh6B,EAAkB+5B,EAAQnC,UAAU3tD,OAAwB,OAAhBjC,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBO,iBACrFyxD,EAAeC,YAAcD,EAAeE,qBAC5CF,EAAexlE,SAA8C,IAAnCwlE,EAAexlE,SAAShD,OAAewoE,EAAexlE,SAAS,QAAK/C,EAC9FuoE,EAAeG,mBAAqBH,EAAeI,wBAAqB3oE,EAAYuoE,EAAeK,eACnGL,EAAeM,iBAAmBN,EAAeO,sBAAmB9oE,EAAYuoE,EAAeQ,aAC/FR,EAAeS,wBAA0BT,EAAeU,6BAA0BjpE,EAAYuoE,EAAeW,oBAC7GX,EAAeY,sBAAwBZ,EAAea,2BAAwBppE,EAAYuoE,EAAec,kBAEzG7xE,EAAS8xE,GAA4B,IACrCrC,EAAAA,EACKsC,iBAAiBhB,GACjB7sE,MAAK,SAAA2B,GAAI,OAAIoxC,EAAAA,EAAAA,QAAOpxC,EAAKqxC,KAAMrxC,EAAK2O,MAAQ,iBAAiB,IAC7DpQ,OAAM,SAACC,GAAC,OAAK5C,EAAAA,IAAa6C,gBAAgBD,EAAE,IAC5C+B,SAAQ,kBAAMpG,EAAS8xE,GAA4B,GAAO,GACnE,CACJ,EAtSIE,oBAwSJ,WACI,OAAO,SAAChyE,EAAUoC,GACd,IAGM4Q,EAoBd,SAA+B68D,EAAYV,GACvC,OAAOU,EACFjoE,KAAI,SAAA0L,GAAC,OAAIA,EAAEN,WAAWgO,QAAO,SAAAM,GAAC,OAC3B6tD,EAAc77D,EAAE3O,KAChBwqE,EAAc77D,EAAE3O,IAAIyqE,yBACpBD,EAAc77D,EAAE3O,IAAIyqE,wBAAwB9tD,EAAE3c,GAAG,GAAC,IACrDstE,MACT,CA3B2BC,CAHA9vE,IAAWwtE,SAASC,WAAWr6C,MAC5BpzB,IAAWusE,UAAUQ,eAG3Cx0C,EAAAA,EAAQ/2B,KAAKg3B,EAAAA,GAAOu3C,QAAS,CAAEn/D,YAAYo/D,EAAAA,EAAAA,WAAUC,EAAgBr/D,KACzE,CACJ,EA/SIg8D,gBAAAA,EACAsD,4BAiVJ,SAAqCC,GACjC,OAAO,SAACvyE,EAAUoC,GACd,IAAMytE,EAAaR,EAAAA,GAASC,UACxBltE,IAAWwtE,SAASC,WAAWr6C,OAC/B,SAAAm5C,GAAS,OAAIA,EAAUhqE,EAAE,IACzB,SAAAgqE,GAAS,OAAIA,CAAS,IAGpB6D,EAAaD,EAAK3qE,KAAI,SAAA84B,GAAC,IAAA+xC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAzwE,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACtBo+B,GAAC,IACJ/vB,UAAsB,QAAb8hE,EAAE/xC,EAAE/vB,iBAAS,IAAA8hE,EAAAA,EAAI5C,EAAWnvC,EAAEgnB,aAAa/2C,UACpDqiE,sBAA8C,QAAzBN,EAAEhyC,EAAEsyC,6BAAqB,IAAAN,EAAAA,EAAI7C,EAAWnvC,EAAEgnB,aAAasrB,sBAC5EC,qBAA4C,QAAxBN,EAAEjyC,EAAEuyC,4BAAoB,IAAAN,EAAAA,EAAI9C,EAAWnvC,EAAEgnB,aAAaurB,qBAC1EC,qBAA4C,QAAxBN,EAAElyC,EAAEwyC,4BAAoB,IAAAN,EAAAA,EAAI/C,EAAWnvC,EAAEgnB,aAAawrB,qBAC1EC,mBAAwC,QAAtBN,EAAEnyC,EAAEyyC,0BAAkB,IAAAN,EAAAA,EAAIhD,EAAWnvC,EAAEgnB,aAAayrB,mBACtEC,mBAAwC,QAAtBN,EAAEpyC,EAAE0yC,0BAAkB,IAAAN,EAAAA,EAAIjD,EAAWnvC,EAAEgnB,aAAa0rB,mBACtEC,oBAA0C,QAAvBN,EAAEryC,EAAE2yC,2BAAmB,IAAAN,EAAAA,EAAIlD,EAAWnvC,EAAEgnB,aAAa2rB,qBAAmB,IAGzFC,EAAmBf,EAAKvxD,QAAO,SAAA0f,GAAC,OAAmB,MAAfA,EAAE/vB,SAAiB,IAAE/I,KAAI,SAAA84B,GAAC,OAAIA,EAAEgnB,WAAW,IAC/E6rB,EAAwBhB,EAAKvxD,QAAO,SAAA0f,GAAC,OAA+B,MAA3BA,EAAEsyC,qBAA6B,IAAEprE,KAAI,SAAA84B,GAAC,OAAIA,EAAEgnB,WAAW,IAChG8rB,EAA8BjB,EAAKvxD,QAAO,SAAA0f,GAAC,OAA8B,MAA1BA,EAAEuyC,oBAA4B,IAAErrE,KAAI,SAAA84B,GAAC,OAAIA,EAAEgnB,WAAW,IACrG+rB,EAA8BlB,EAAKvxD,QAAO,SAAA0f,GAAC,OAA8B,MAA1BA,EAAEwyC,oBAA4B,IAAEtrE,KAAI,SAAA84B,GAAC,OAAIA,EAAEgnB,WAAW,IACrGgsB,EAA4BnB,EAAKvxD,QAAO,SAAA0f,GAAC,OAA4B,MAAxBA,EAAEyyC,kBAA0B,IAAEvrE,KAAI,SAAA84B,GAAC,OAAIA,EAAEgnB,WAAW,IACjGisB,EAA4BpB,EAAKvxD,QAAO,SAAA0f,GAAC,OAA4B,MAAxBA,EAAE0yC,kBAA0B,IAAExrE,KAAI,SAAA84B,GAAC,OAAIA,EAAEgnB,WAAW,IACjGksB,EAA6BrB,EAAKvxD,QAAO,SAAA0f,GAAC,OAA6B,MAAzBA,EAAE2yC,mBAA2B,IAAEzrE,KAAI,SAAA84B,GAAC,OAAIA,EAAEgnB,WAAW,IAEzG1nD,EAkCR,SAAsCuyE,GAClC,MAAO,CACH9xE,KAAMC,EAAAA,GAAYmzE,sCAClBxyE,QAAS,CAAEkxE,KAAAA,GAEnB,CAvCiBuB,CAA6BR,IACtCtzE,EAuDR,SAA2CuyE,GACvC,MAAO,CACH9xE,KAAMC,EAAAA,GAAYqzE,sCAClB1yE,QAAS,CAAEkxE,KAAAA,GAEnB,CA5DiByB,CAAkCT,IAC3CvzE,EAgGR,SAAiDuyE,GAC7C,MAAO,CACH9xE,KAAMC,EAAAA,GAAYuzE,6CAClB5yE,QAAS,CAAEkxE,KAAAA,GAEnB,CArGiB2B,CAAwCV,IACjDxzE,EA0ER,SAAiDuyE,GAC7C,MAAO,CACH9xE,KAAMC,EAAAA,GAAYyzE,6CAClB9yE,QAAS,CAAEkxE,KAAAA,GAEnB,CA/EiB6B,CAAwCX,IACjDzzE,EAmHR,SAAyCuyE,GACrC,MAAO,CACH9xE,KAAMC,EAAAA,GAAY2zE,6CAClBhzE,QAAS,CAAEkxE,KAAAA,GAEnB,CAxHiB+B,CAAgCZ,IACzC1zE,EAuIR,SAAyCuyE,GACrC,MAAO,CACH9xE,KAAMC,EAAAA,GAAY6zE,6CAClBlzE,QAAS,CAAEkxE,KAAAA,GAEnB,CA5IiBiC,CAAgCb,IACzC3zE,EA2JR,SAAgDuyE,GAC5C,MAAO,CACH9xE,KAAMC,EAAAA,GAAY+zE,4CAClBpzE,QAAS,CAAEkxE,KAAAA,GAEnB,CAhKiBmC,CAAuCd,IAGhDnE,EAAAA,EAAiBkF,sBAAsBnC,GAClCtuE,MAAK,WACFlE,EAASonD,EAAAA,EAAqBG,qBAAqBgrB,IACnDvyE,EA6BhB,SAAsCuyE,GAClC,MAAO,CACH9xE,KAAMC,EAAAA,GAAYk0E,sCAClBvzE,QAAS,CAAEkxE,KAAAA,GAEnB,CAlCyBsC,CAA6BvB,IACtCtzE,EAkDhB,SAA2CuyE,GACvC,MAAO,CACH9xE,KAAMC,EAAAA,GAAYo0E,sCAClBzzE,QAAS,CAAEkxE,KAAAA,GAEnB,CAvDyBwC,CAAkCxB,IAC3CvzE,EA2FhB,SAAiDuyE,GAC7C,MAAO,CACH9xE,KAAMC,EAAAA,GAAYs0E,6CAClB3zE,QAAS,CAAEkxE,KAAAA,GAEnB,CAhGyB0C,CAAwCzB,IACjDxzE,EAqEhB,SAAiDuyE,GAC7C,MAAO,CACH9xE,KAAMC,EAAAA,GAAYw0E,6CAClB7zE,QAAS,CAAEkxE,KAAAA,GAEnB,CA1EyB4C,CAAwC1B,IACjDzzE,EA8GhB,SAAyCuyE,GACrC,MAAO,CACH9xE,KAAMC,EAAAA,GAAY00E,6CAClB/zE,QAAS,CAAEkxE,KAAAA,GAEnB,CAnHyB8C,CAAgC3B,IACzC1zE,EAkIhB,SAAyCuyE,GACrC,MAAO,CACH9xE,KAAMC,EAAAA,GAAY40E,6CAClBj0E,QAAS,CAAEkxE,KAAAA,GAEnB,CAvIyBgD,CAAgC5B,IACzC3zE,EAsJhB,SAAgDuyE,GAC5C,MAAO,CACH9xE,KAAMC,EAAAA,GAAY80E,4CAClBn0E,QAAS,CAAEkxE,KAAAA,GAEnB,CA3JyBkD,CAAuC7B,IAChD5zE,EAAS2mD,EAAAA,EAAwB7lD,UACrC,IACCsD,OAAM,SAAAC,GACHrE,EA2BhB,SAAsCuyE,GAClC,MAAO,CACH9xE,KAAMC,EAAAA,GAAYg1E,sCAClBr0E,QAAS,CAAEkxE,KAAAA,GAEnB,CAhCyBoD,CAA6BrC,IACtCtzE,EA+ChB,SAA2CuyE,GACvC,MAAO,CACH9xE,KAAMC,EAAAA,GAAYk1E,sCAClBv0E,QAAS,CAAEkxE,KAAAA,GAEnB,CApDyBsD,CAAkCtC,IAC3CvzE,EAwFhB,SAAiDuyE,GAC7C,MAAO,CACH9xE,KAAMC,EAAAA,GAAYo1E,6CAClBz0E,QAAS,CAAEkxE,KAAAA,GAEnB,CA7FyBwD,CAAwCvC,IACjDxzE,EAkEhB,SAAiDuyE,GAC7C,MAAO,CACH9xE,KAAMC,EAAAA,GAAYs1E,6CAClB30E,QAAS,CAAEkxE,KAAAA,GAEnB,CAvEyB0D,CAAwCxC,IACjDzzE,EA2GhB,SAAyCuyE,GACrC,MAAO,CACH9xE,KAAMC,EAAAA,GAAYw1E,6CAClB70E,QAAS,CAAEkxE,KAAAA,GAEnB,CAhHyB4D,CAAgCzC,IACzC1zE,EA+HhB,SAAyCuyE,GACrC,MAAO,CACH9xE,KAAMC,EAAAA,GAAY01E,6CAClB/0E,QAAS,CAAEkxE,KAAAA,GAEnB,CApIyB8D,CAAgC1C,IACzC3zE,EAmJhB,SAAgDuyE,GAC5C,MAAO,CACH9xE,KAAMC,EAAAA,GAAY41E,4CAClBj1E,QAAS,CAAEkxE,KAAAA,GAEnB,CAxJyBgE,CAAuC3C,IAChD5zE,EAASyB,EAAAA,IAAa6C,gBAAgBD,GAC1C,GACR,CACJ,EA3YI2Y,iBAAAA,EACAw5D,iBAYJ,WACI,OAAO,SAAAx2E,GACHA,EAASgd,KACThd,EAASquE,IACb,CACJ,EAhBIl3C,YAkBJ,WACI,OAAO,SAAAn3B,GACHA,EAASguE,EAAcM,sCACvBtuE,EAASquE,KACTruE,EAASguE,EAAcj3C,cAC3B,CACJ,EAvBI0/C,sBA0iBJ,SAA+B5lC,GAC3B,MAAO,CACHpwC,KAAMC,EAAAA,GAAYg2E,wBAClBr1E,QAAS,CAAEwvC,QAAAA,GAEnB,GAthBA,SAASw9B,IACL,OAAO,SAACruE,EAAUoC,GACd,IAAA8rD,EAAsC9rD,IAA9B0uE,EAAO5iB,EAAP4iB,QAAS/xD,EAAgBmvC,EAAhBnvC,iBACXgyD,EAAiBh6B,EAAkB+5B,EAAQnC,UAAU3tD,OAAwB,OAAhBjC,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBO,iBAC/Eq3D,EAAc,EAChB3F,EAAAA,EAAAA,OACArE,EAAAA,EAAAA,OACAiK,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OACA9F,EAAAA,EAAAA,OACAG,EAAAA,EAAAA,OACAG,EAAAA,EAAAA,OACAG,EAAAA,EAAAA,OACAp7B,EAAAA,EAAAA,IAAS0gC,EAAAA,KAAM,iBACfxgC,EAAAA,EAAAA,IAAOwgC,EAAAA,KAAM,eACb1gC,EAAAA,EAAAA,IAAS0gC,EAAAA,KAAM,gBACfxgC,EAAAA,EAAAA,IAAOwgC,EAAAA,KAAM,cACb1gC,EAAAA,EAAAA,IAAS0gC,EAAAA,KAAM,gBACfxgC,EAAAA,EAAAA,IAAOwgC,EAAAA,KAAM,cACbC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OACAC,EAAAA,EAAAA,OAEEC,EAAcC,EAAAA,EAAsBC,UAAU3G,EAAgB4F,GACpEh8C,EAAAA,EAAQ6W,QAAQ,GAADt/B,OAAIyoB,EAAAA,EAAQmY,SAASlX,UAAQ1pB,OAAGslE,EAAc,IAAM,IAAEtlE,OAAGslE,GAC5E,CACJ,CAEA,SAASzgC,EAAkB/1B,EAAQ1B,GAAkB,IAADq4D,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1CC,GAAkBC,EAAAA,EAAAA,IAAc53D,EAAO63D,YACvCC,GAAuBF,EAAAA,EAAAA,IAAc53D,EAAO+3D,iBAE5CC,GAAsBC,EAAAA,EAAAA,IAAoBj4D,EAAO63D,YACjDK,GAA2BD,EAAAA,EAAAA,IAAoBj4D,EAAO+3D,iBAEtDI,EAAmB,CAAE1iC,cAAUjuC,EAAWmuC,YAAQnuC,GAElD4wE,EAAgBp4D,EAAOq4D,SAASr4D,OAAOs4D,gBACvCC,EAAAA,EAAAA,IAAqBv4D,EAAOq4D,SAASr4D,OAAOs4D,eAAgBt4D,EAAOq4D,SAASr4D,OAAOw4D,SACnFL,EACAM,EAAez4D,EAAO04D,QAAQ14D,OAAOs4D,gBACrCC,EAAAA,EAAAA,IAAqBv4D,EAAO04D,QAAQ14D,OAAOs4D,eAAgBt4D,EAAO04D,QAAQ14D,OAAOw4D,SACjFL,EACAQ,EAAe34D,EAAO44D,QAAQ54D,OAAOs4D,gBACrCC,EAAAA,EAAAA,IAAqBv4D,EAAO44D,QAAQ54D,OAAOs4D,eAAgBt4D,EAAO44D,QAAQ54D,OAAOw4D,SACjFL,EAEN,MAAO,CACHlI,qBAAsB3xD,EACtB/T,SAAyB,QAAjBosE,EAAE32D,EAAOzV,gBAAQ,IAAAosE,OAAA,EAAfA,EAAiB32D,OAAOA,QAAO,SAAAkoD,GAAC,OAAIA,EAAE73C,QAAQ,IAAEzpB,KAAI,SAAAshE,GAAC,OAAIA,EAAE/2D,KAAK,IAC1Ew6D,QAAuB,QAAhBiL,EAAE52D,EAAO2rD,eAAO,IAAAiL,OAAA,EAAdA,EAAgB52D,OAAOA,QAAO,SAAAkoD,GAAC,OAAIA,EAAE73C,QAAQ,IAAEzpB,KAAI,SAAAshE,GAAC,OAAIA,EAAE/2D,KAAK,IACxE0kE,gBAAgC,QAAjBgB,EAAE72D,EAAO64D,gBAAQ,IAAAhC,OAAA,EAAfA,EAAiB72D,OAAOA,QAAO,SAAAkoD,GAAC,OAAIA,EAAE73C,QAAQ,IAAEzpB,KAAI,SAAAshE,GAAC,OAAIA,EAAE/2D,KAAK,IACjF2kE,gBAAsC,QAAvBgB,EAAE92D,EAAO84D,sBAAc,IAAAhC,OAAA,EAArBA,EAAuB92D,OAAOA,QAAO,SAAAkoD,GAAC,OAAIA,EAAE73C,QAAQ,IAAEzpB,KAAI,SAAAshE,GAAC,OAAIA,EAAE/2D,KAAK,IACvF4kE,mBAAmC,QAAjBgB,EAAE/2D,EAAO/X,gBAAQ,IAAA8uE,OAAA,EAAfA,EAAiB/2D,OAAOA,QAAO,SAAAkoD,GAAC,OAAIA,EAAE73C,QAAQ,IAAEzpB,KAAI,SAAAshE,GAAC,OAAIA,EAAE/2D,KAAK,IACpF6kE,IAAe,QAAZgB,EAAEh3D,EAAOg2D,WAAG,IAAAgB,OAAA,EAAVA,EAAYh3D,OAAOs4D,eACxBrC,aAAiC,QAArBgB,EAAEj3D,EAAOi2D,oBAAY,IAAAgB,OAAA,EAAnBA,EAAqBj3D,OAAOs4D,eAC1CpC,YAA8B,QAAnBgB,EAAEl3D,EAAO+4D,kBAAU,IAAA7B,OAAA,EAAjBA,EAAmBl3D,OAAOs4D,eACvClI,eAAoC,QAAtB+G,EAAEQ,EAAgBrhB,YAAI,IAAA6gB,EAAAA,EAAIa,EAAoB1hB,KAC5Dia,aAAgC,QAApB6G,EAAEO,EAAgB3pB,UAAE,IAAAopB,EAAAA,EAAIY,EAAoBhqB,GACxDmiB,mBAAoB6H,EAAoB1hB,KACxCga,iBAAkB0H,EAAoBhqB,GACtC0iB,oBAA8C,QAA3B2G,EAAES,EAAqBxhB,YAAI,IAAA+gB,EAAAA,EAAIa,EAAyB5hB,KAC3Eua,kBAA0C,QAAzByG,EAAEQ,EAAqB9pB,UAAE,IAAAspB,EAAAA,EAAIY,EAAyBlqB,GACvEyiB,wBAAyByH,EAAyB5hB,KAClDsa,sBAAuBsH,EAAyBlqB,GAChDgrB,aAAcZ,EAAc3iC,SAC5BwjC,WAAYb,EAAcziC,OAC1BujC,YAAaT,EAAahjC,SAC1B0jC,UAAWV,EAAa9iC,OACxByjC,YAAaT,EAAaljC,SAC1B4jC,UAAWV,EAAahjC,OACxBygC,SAAyB,QAAjBmB,EAAEv3D,EAAOo2D,gBAAQ,IAAAmB,OAAA,EAAfA,EAAiBv3D,OAAOA,QAAO,SAAAkoD,GAAC,OAAIA,EAAE73C,QAAQ,IAAEzpB,KAAI,SAAAshE,GAAC,OAAIA,EAAE/2D,KAAK,IAC1EklE,IAAe,QAAZmB,EAAEx3D,EAAOq2D,WAAG,IAAAmB,OAAA,EAAVA,EAAYx3D,OAAOs4D,eACxBhC,QAAuB,QAAhBmB,EAAEz3D,EAAOs2D,eAAO,IAAAmB,OAAA,EAAdA,EAAgBz3D,OAAOs4D,eAChC/B,QAAuB,QAAhBmB,EAAE13D,EAAOu2D,eAAO,IAAAmB,OAAA,EAAdA,EAAgB13D,OAAOs4D,eAExC,CAwFA,SAAS9J,EAA4BznE,EAAS4mE,GAC1C,OAAI5mE,EACO,CACHtH,KAAMC,EAAAA,GAAY45E,8BAClBxvC,aAAc,CACV/iC,QAAAA,EACA4mE,UAAAA,IAKL,CACHluE,KAAMC,EAAAA,GAAY45E,8BAClBxvC,aAAc,CAAC,EAEvB,CAmCA,SAASylC,IACL,MAAO,CAAE9vE,KAAMC,EAAAA,GAAY4vE,kBAC/B,CAEA,SAASE,EAAmBzoE,GACxB,MAAO,CACHtH,KAAMC,EAAAA,GAAY65E,qBAClB9J,aAAc,CAAE1oE,QAAAA,GAExB,CAYA,SAAS+pE,EAA4BltE,GACjC,MAAO,CAAEnE,KAAMC,EAAAA,GAAY85E,mCAAoCn5E,QAAS,CAAEuD,OAAAA,GAC9E,CAgCA,SAASytE,EAAgBr/D,GACrB,IAAMynE,EAAU,GAWhB,OATAznE,EAAW8S,SAAQ,SAAAxE,GACf,IAAMo5D,EAAYD,EAAQpnE,MAAK,SAAAsnE,GAAC,OAAIA,EAAE/1D,aAAetD,EAAEsD,UAAU,IAC7D81D,EACAA,EAAU9uE,OAAS0V,EAAE1V,KAErB6uE,EAAQ72E,KAAK0d,EAErB,IAEOm5D,CACX,CAWA,SAASzL,EAAgBH,EAAWD,GAChC,MAAO,CACHnuE,KAAMC,EAAAA,GAAYk6E,WAClB/L,UAAAA,EACAD,cAAAA,EAER,CAuNA,SAAS5xD,IACL,OAAO,SAAAhd,GACHA,EAASuwE,KACTvwE,EAASkpC,EAAAA,IAAajmB,QACtBjjB,EAASstD,EAAAA,EAAuBC,wBAChCvtD,EAASo2B,EAAAA,EAAeJ,eAC5B,CACJ,C,uEC3jBa6kD,EAAoB,CAC7BC,YArBej5D,EAAAA,EAAAA,mBACf,sCACA,sCACA,sCAHeA,GAsBfk5D,kBAhBqBl5D,EAAAA,EAAAA,mBACrB,8CACA,8CACA,8CAHqBA,GAiBrBm5D,aAXgBn5D,EAAAA,EAAAA,mBAChB,2CACA,2CACA,2CAHgBA,G,uECfdtP,GAAMpK,EAAAA,EAAAA,cACR,oBACI,SAAAE,GAAO,OAAI,SAACR,EAA4BpH,GAA8B,OAAK4H,EAAQ,CAAER,KAAAA,EAAMpH,KAAAA,GAAO,KAEpG2C,GAAQ+E,EAAAA,EAAAA,cAAa,sBACrB8yE,GAAe9yE,EAAAA,EAAAA,cACjB,oCACI,SAAAE,GAAO,OAAI,mBAAA6yE,EAAAp5E,UAAAyG,OAAI4yE,EAAK,IAAAxT,MAAAuT,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAALD,EAAKC,GAAAt5E,UAAAs5E,GAAA,OAAiC/yE,EAAQ,CAAE8yE,MAAM,GAADjpE,OAAMipE,IAAS,KAG9E7oE,EAAqB,CAC9BC,IAAAA,EACAnP,MAAAA,EACA63E,aAAAA,E,uECZEn6E,GAAUqH,EAAAA,EAAAA,cAAa,4CACvBC,GAAgBD,EAAAA,EAAAA,cAAa,mDAC/B,SAAAE,GAAO,OAAI,SAACzH,GAAmD,OAC3DyH,EAAQ,CAAEzH,aAAAA,EAAcumD,OAD8BrlD,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IACxB,KAK5Bu5E,EAA8B,CACvCv6E,QAAAA,EACAsH,cAAAA,EACAi/C,eALkBl/C,EAAAA,EAAAA,cAAa,0C,uECoBtB0lD,EAAwB,CACjC/qC,MA3BS3a,EAAAA,EAAAA,cACT,8BACA,SAAAE,GAAO,OAAI,SAACjI,EAAsBskC,EAA0BonC,GAAe,OAAKzjE,EAAQ,CAAEjI,QAAAA,EAASskC,eAAAA,EAAgBonC,OAAAA,GAAS,KA0B5H7oD,MAvBS9a,EAAAA,EAAAA,cACT,uBAuBAmzE,4BApB+BnzE,EAAAA,EAAAA,cAC/B,gDACA,SAAAE,GAAO,OAAI,SAAC8T,EAAmBmoC,GAA4B,OAAKj8C,EAAQ,CAAE8T,UAAAA,EAAWmoC,qBAAAA,GAAuB,KAmB5Gi3B,6BAhBgCpzE,EAAAA,EAAAA,cAChC,iDACA,SAAAE,GAAO,OAAI,SAAC8T,GAAiB,OAAK9T,EAAQ,CAAE8T,UAAAA,GAAY,KAexDq/D,mBAZsBrzE,EAAAA,EAAAA,cACtB,sCACA,SAAAE,GAAO,OAAI,SAAC8T,EAAmB/b,GAAgB,OAAKiI,EAAQ,CAAE8T,UAAAA,EAAW/b,QAAAA,GAAU,KAWnFgD,OARU+E,EAAAA,EAAAA,cAAa,wB,uECrBrBrH,GAAUqH,EAAAA,EAAAA,cAAa,8BACvBC,GAAgBD,EAAAA,EAAAA,cAAa,qCAC/B,SAAAE,GAAO,OAAI,SAACzH,GAA6H,OACrIyH,EAAQ,CAAEzH,aAAAA,EAAcumD,OADuCrlD,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,GAClC25E,kBAD+D35E,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,EAC/C45E,QADkF55E,UAAAyG,OAAA,EAAAzG,UAAA,QAAA0G,GACxE,KAE/D6+C,GAAgBl/C,EAAAA,EAAAA,cAAa,4BAC7B/E,GAAQ+E,EAAAA,EAAAA,cAAa,mBACrBwzE,GAAexzE,EAAAA,EAAAA,cAAa,2BAC5ByzE,GAAezzE,EAAAA,EAAAA,cAAa,qCAC5BzI,GAAOyI,EAAAA,EAAAA,cACT,kBACA,SAAAE,GAAO,OAAI,SAACwzE,EAA2CvP,GAAyC,OAAKjkE,EAAQ,CAAEwzE,UAAAA,EAAWvP,cAAAA,GAAgB,KAExIwP,GAA4B3zE,EAAAA,EAAAA,cAAa,yCACzC4zE,GAAqB5zE,EAAAA,EAAAA,cACvB,kCACA,SAAAE,GAAO,OAAI,SAAC2zE,GAAc,OAAK3zE,EAAQ,CAAE2zE,MAAAA,GAAQ,KAE/CC,GAAsB9zE,EAAAA,EAAAA,cACxB,mCACA,SAAAE,GAAO,OAAI,SAACwzE,EAA2CvP,EAA2C4P,GAAiD,OAAK7zE,EAAQ,CAAEwzE,UAAAA,EAAWvP,cAAAA,EAAe4P,YAAAA,EAAanlD,cAA7Dj1B,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,KAAAA,UAAA,IAA2E,KAkB9Mq6E,EAAmB,CAC5Bz8E,KAAAA,EACAo8E,0BAAAA,EACAC,mBAAAA,EACAH,aAAAA,EACA96E,QAAAA,EACAumD,cAAAA,EACAj/C,cAAAA,EACAhF,MAAAA,EACA64E,oBAAAA,EACAG,wBAzB2Bj0E,EAAAA,EAAAA,cAC3B,sCACA,SAAAE,GAAO,OAAI,SAACwzE,EAAmBvP,GAAqB,OAAKjkE,EAAQ,CAAEwzE,UAAAA,EAAWvP,cAAAA,GAAgB,KAwB9F+P,yBAtB4Bl0E,EAAAA,EAAAA,cAAa,uCAuBzCm0E,eAtBkBn0E,EAAAA,EAAAA,cAClB,qCACA,SAAAE,GAAO,OAAI,SAACk0E,EAAkC94D,GAAuB,OAAKpb,EAAQ,CAAEk0E,YAAAA,EAAa94D,iBAAAA,GAAmB,KAqBpH+4D,uBAnB0Br0E,EAAAA,EAAAA,cAC1B,8CACA,SAAAE,GAAO,OAAI,SAACub,EAA6Bhf,GAA+B,OAAKyD,EAAQ,CAAEub,oBAAAA,EAAqBhf,OAAAA,GAAS,KAkBrH6xE,uBAhB0BtuE,EAAAA,EAAAA,cAAa,qCAAqC,SAAAE,GAAO,OAAI,SAACwoC,GAAgB,OAAKxoC,EAAQ,CAAEwoC,QAAAA,GAAU,KAiBjI8qC,aAAAA,E,uEC/CS1N,EAAsB,SAACwO,GAChC,IAAM/8E,GAAOyI,EAAAA,EAAAA,cAAa,eAAe,SAAAE,GAAO,OAAI,SAAC2Y,GAAoB,OAAK3Y,EAAQ,CAAEo0E,WAAAA,EAAYz7D,OAAAA,GAAS,KAEvG07D,GAAyBv0E,EAAAA,EAAAA,cAC3B,oCACA,SAAAE,GAAO,OAAI,SAACs0E,EAAmC3yE,GAAsB,OACjE3B,EAAQ,CAAEo0E,WAAAA,EAAYE,eAAAA,EAAgB3yE,cAAAA,GAAgB,KAGxD4yE,GAAqBz0E,EAAAA,EAAAA,cACvB,wBACA,SAAAE,GAAO,OAAI,SAACw0E,EAAmBC,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYI,OAAAA,EAAQC,WAAAA,GAAa,KAG/FxO,GAAqCnmE,EAAAA,EAAAA,cACvC,kDACA,SAAAE,GAAO,OAAI,kBAAMA,EAAQ,CAAEo0E,WAAAA,GAAa,KAGtCM,GAAwB50E,EAAAA,EAAAA,cAC1B,4BACA,SAAAE,GAAO,OAAI,SAACy0E,EAAoBxzE,GAAkB,OAAKjB,EAAQ,CAAEo0E,WAAAA,EAAYK,WAAAA,EAAYxzE,WAAAA,GAAa,KAGpG0zE,GAAuB70E,EAAAA,EAAAA,cACzB,2BACA,SAAAE,GAAO,OAAI,SAACy0E,GAAkB,OAAKz0E,EAAQ,CAAEy0E,WAAAA,EAAYL,WAAAA,GAAa,KAGpEQ,GAAoB90E,EAAAA,EAAAA,cACtB,8BACA,SAAAE,GAAO,OAAI,SAACy0E,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYK,WAAAA,GAAa,KAGpEI,GAAoB/0E,EAAAA,EAAAA,cAAa,8BAA8B,SAAAE,GAAO,OAAI,kBAAMA,EAAQ,CAAEo0E,WAAAA,GAAa,KAEvG1lD,GAAc5uB,EAAAA,EAAAA,cAAa,uBAAuB,SAAAE,GAAO,OAAI,kBAAMA,EAAQ,CAAEo0E,WAAAA,GAAa,KAE1FtlD,GAAchvB,EAAAA,EAAAA,cAAa,uBAAuB,SAAAE,GAAO,OAAI,kBAAMA,EAAQ,CAAEo0E,WAAAA,GAAa,KAE1FU,GAAmBh1E,EAAAA,EAAAA,cAAa,6BAA6B,SAAAE,GAAO,OAAI,kBAAMA,EAAQ,CAAEo0E,WAAAA,GAAa,KAErGW,GAAyBj1E,EAAAA,EAAAA,cAC3B,mCACA,SAAAE,GAAO,OAAI,kBAAMA,EAAQ,CAAEo0E,WAAAA,GAAa,KAGtCY,GAAyBl1E,EAAAA,EAAAA,cAC3B,4BACA,SAAAE,GAAO,OAAI,SAACy0E,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYK,WAAAA,GAAa,KAyF1E,MAAO,CACHp9E,KAAAA,EACAg9E,uBAAAA,EACAE,mBAAAA,EACAG,sBAAAA,EACAC,qBAAAA,EACAC,kBAAAA,EACAC,kBAAAA,EACAnmD,YAAAA,EACAI,YAAAA,EACAimD,uBAAAA,EACAE,iBAjGoBz7D,EAAAA,EAAAA,mBACpB,mCACA,mCACA,mCAHoBA,GAkGpB07D,mBAxFsBp1E,EAAAA,EAAAA,cACtB,8BACA,SAAAE,GAAO,OAAI,SAAC8J,EAA0B2qE,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYK,WAAAA,EAAY3qE,MAAAA,GAAQ,KAuFvGqrE,mBApFsBr1E,EAAAA,EAAAA,cACtB,uBACA,SAAAE,GAAO,OAAI,SAACw0E,EAA0EC,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYI,OAAAA,EAAQC,WAAAA,GAAa,KAmFxJW,wBAhF2Bt1E,EAAAA,EAAAA,cAC3B,6BACA,SAAAE,GAAO,OAAI,SAACy0E,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYK,WAAAA,GAAa,KA+EtEY,iCA5EoCv1E,EAAAA,EAAAA,cACpC,uCACA,SAAAE,GAAO,OAAI,SAACy0E,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYK,WAAAA,GAAa,KA2EtEa,0BAxE6Bx1E,EAAAA,EAAAA,cAC7B,uCACA,SAAAE,GAAO,OAAI,SAACu1E,EAAqCjB,GAA6B,OAC1Et0E,EAAQ,CAAEo0E,WAAAA,EAAYE,eAAAA,EAAgBiB,4BAAAA,GAA8B,KAsExEC,gCAnEmC11E,EAAAA,EAAAA,cACnC,sCACA,SAAAE,GAAO,OAAI,SAACy0E,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYK,WAAAA,GAAa,KAkEtEgB,wBA/D2B31E,EAAAA,EAAAA,cAC3B,oCACA,SAAAE,GAAO,OAAI,SAACw0E,EAA0BC,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYI,OAAAA,EAAQC,WAAAA,GAAa,KA8DxGiB,8BA3DiC51E,EAAAA,EAAAA,cACjC,yCACA,SAAAE,GAAO,OAAI,SAACw0E,EAA8BC,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYI,OAAAA,EAAQC,WAAAA,GAAa,KA0D5GkB,6BAvDgC71E,EAAAA,EAAAA,cAChC,0CACA,SAAAE,GAAO,OAAI,SAACw0E,EAAmBC,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYI,OAAAA,EAAQC,WAAAA,GAAa,KAsDjGmB,iCAnDoC91E,EAAAA,EAAAA,cACpC,+CACA,SAAAE,GAAO,OAAI,SAACw0E,EAAuBC,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYI,OAAAA,EAAQC,WAAAA,GAAa,KAkDrGoB,4BA/C+B/1E,EAAAA,EAAAA,cAC/B,yCACA,SAAAE,GAAO,OAAI,SAACw0E,EAA2BC,GAAkB,OAAKz0E,EAAQ,CAAEo0E,WAAAA,EAAYI,OAAAA,EAAQC,WAAAA,GAAa,KA8CzGqB,oBA3CuBh2E,EAAAA,EAAAA,cACvB,+BACA,SAAAE,GAAO,OAAI,SAAC2Y,GAA4B,OAAK3Y,EAAQ,CAAEo0E,WAAAA,EAAYz7D,OAAAA,GAAS,KA0C5Em8D,iBAAAA,EACAE,uBAAAA,EACA/O,mCAAAA,EACA8P,sBA1CyBj2E,EAAAA,EAAAA,cACzB,kCACA,SAAAE,GAAO,OAAI,kBAAMA,EAAQ,CAAEo0E,WAAAA,GAAa,KAyCxC4B,mCAtCsCl2E,EAAAA,EAAAA,cACtC,gDACA,SAAAE,GAAO,OAAI,SAACy0E,EAAoBwB,GAAoC,OAAKj2E,EAAQ,CAAEo0E,WAAAA,EAAYK,WAAAA,EAAYwB,kBAAAA,GAAoB,KAqC/HC,qBAlCwBp2E,EAAAA,EAAAA,cACxB,gCACA,SAAAE,GAAO,OAAI,kBAAMA,EAAQ,CAAEo0E,WAAAA,GAAa,KAkChD,C,uEClLM37E,GAAUqH,EAAAA,EAAAA,cAAa,+CACvBC,GAAgBD,EAAAA,EAAAA,cAAa,sDAC/B,SAAAE,GAAO,OAAI,SAACzH,GAAkD,OAC1DyH,EAAQ,CAAEzH,aAAAA,EAAcumD,OAD6BrlD,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IACvB,KAEnC08E,GAAiBr2E,EAAAA,EAAAA,cACnB,wDACA,SAAAE,GAAO,OAAI,WAAyB,OAAKA,EAAQ,CAAEo2E,SAApB38E,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IAA4B,KAQrD48E,EAAiC,CAC1C59E,QAAAA,EACAsH,cAAAA,EACAo2E,eAAAA,EACAG,0BAV6Bx2E,EAAAA,EAAAA,cAC7B,+DACA,SAAAE,GAAO,OAAI,SAACzF,GAAiB,OAAKyF,EAAQ,CAAEzF,UAAAA,GAAY,KASxDykD,eAPkBl/C,EAAAA,EAAAA,cAAa,6C,sNCC7By2E,GAAkBz2E,EAAAA,EAAAA,cAAa,2CAC/BuH,GAAcvH,EAAAA,EAAAA,cAAa,kDAC3B0H,GAAc1H,EAAAA,EAAAA,cAAa,kDAC3B2H,GAAc3H,EAAAA,EAAAA,cAAa,kDAEpB02E,EAAwC,CACjDD,gBAAAA,EACAp7D,KAMJ,SAAcs7D,EAAoBtqE,EAAc/T,EAA2Bs+E,EAAmBC,GAC1F,sBAAAr/E,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAoDoC,GAAwB,IAAAozB,EAAAypD,EAAAhnB,EAAAinB,EAAAC,EAAAC,EAAA,OAAAv/E,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACrD,GAAjCR,EAASqpB,EAAAA,EAAY4B,YAEhB7oB,IAAWgnB,KAAK0R,QAAQ,CAADx6B,EAAAE,KAAA,eAAAF,EAAAkyC,OAAA,iBAkB3B,OAhBDxyC,EAAS0P,KAEH8lB,EACFpzB,IAAWgnB,KAAKD,UAAUnI,QAAO,SAACwE,GAAgD,OAAMA,EAAEd,OAASc,EAAE65D,mBAAmB,IACtHJ,EAAyC,CAC3Ct6E,GAAIm6E,QAAct2E,EAClBgM,KAAAA,EACA8qE,aAAc,CAAE36E,GAAIqB,EAAAA,EAAKC,UAAWkW,WACpC6iE,KAAAA,EACAv+E,KAAAA,EACA+0B,MAAOA,EAAM5tB,KAAI,SAAA4d,GAAC,MAAK,CACnB7gB,GAAI6gB,EAAE7gB,GACN06E,oBAAqBtkE,OAAOyK,EAAE65D,qBAC9BE,QAAS9+E,IAAS++E,EAAAA,EAAoBC,eAAiB1kE,OAAOyK,EAAE+5D,cAAW/2E,EAC3E8C,OAAQ7K,IAAS++E,EAAAA,EAAoBE,cAAgBl6D,EAAEla,YAAS9C,EACnE,KACJlI,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAG0Bm/E,EAAAA,EAA+BC,aAAaX,GAAW,KAAD,EACnB,GADpDhnB,EAAQ33D,EAAAY,KACdlB,EAAS6/E,EAAAA,EAA+Bz5D,OAAO6xC,KAE3C8mB,EAAS,CAADz+E,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,GAAAD,EAAAE,KAAA,GAEkBm/E,EAAAA,EAA+BG,kBAAkB7nB,EAAStzD,IAAI,EAAMszD,EAAS+mB,MAAM,KAAD,GAAlGE,EAAO5+E,EAAAY,KACPi+E,EAAYD,EAAQ7rE,MAAK,SAAAsjD,GAAC,OAAIA,EAAE/lB,MAAM,IACtCwuC,EAAcF,EAAQ7rE,MAAK,SAAAsjD,GAAC,OAAKA,EAAE/lB,MAAM,IAE/C5wC,EAAS6/E,EAAAA,EAA+BE,aAAaZ,EAAWC,IAAc9+E,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,UAE9EN,EAASyB,EAAAA,EAAa6C,gBAAehE,EAAAiB,KAAK,QAIlDvB,EAAS6+E,EAAsChvE,eAC/C8qB,EAAAA,EAAQ6W,SAAOlvC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACVq4B,EAAAA,EAAQmY,UAAQ,IACnBjU,OAAO,IAAImhD,EAAAA,IACNC,aACAlyB,MAAMmyB,EAAAA,GAAUC,WAChBh5B,YACN7mD,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAA8/E,GAAA9/E,EAAA,SAEHN,EAAS8P,KACQ,MAAbxP,EAAA8/E,GAAEx7E,OACF5E,EACIsU,EAAAA,EAAoB6mB,iCAChBjR,EAAAA,EAAckR,YACd,wCACA,IAIRp7B,EAASyB,EAAAA,EAAa6C,gBAAehE,EAAA8/E,KACxC,yBAAA9/E,EAAAqB,OAAA,GAAA5B,EAAA,2BAER,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EA7DD,EA8DJ,EApEI4N,YAAAA,EACAG,YAAAA,EACAC,YAAAA,E,yICZAqQ,EAAyC,KAEhCkgE,EAAiC,SAACC,GAC3C,SAAS3hE,IAAsD,IAArCrV,EAAUxH,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,GAAIse,IAAUte,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,KAAAA,UAAA,GACjD,OAAO,SAAC9B,GACJA,EAAS,CACLS,KAAMC,EAAAA,GAAY2f,mBAClBigE,aAAAA,EACAh3E,WAAAA,IAGJ,IAAMiX,EAAoBjX,EAAW+V,OAEjCe,GAAcG,EAAkBhY,OAASiY,EAAAA,GAAUC,yBACnDzgB,EAOZ,SAA6BsJ,GACzB,OAAO,SAACtJ,GACAmgB,GACAgB,aAAahB,GAEjBngB,EAASugF,KACTvgF,EAASwgF,GAAsB,IAC/BrgE,EAA0BsgE,OAAOr/D,YAC7B,kBAAMphB,EAASyhB,EAAiBnY,GAAY,GAC5C,IAER,CACJ,CAnBqBo3E,CAAoBngE,IAE7BvgB,EAAS4e,IAEjB,CACJ,CAgBA,SAAS6C,EAAiBnY,GAAkD,IAA9Bq3E,EAAmB7+E,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,GAC7D,sBAAAnC,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAqBoC,GAAwB,IAAAw+E,EAAAC,EAAAC,EAAAC,EAAAl5B,EAAAm5B,EAAAjgE,EAAA,OAAAlhB,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAM9B,OALzBR,EAASwgF,GAAsB,IAAOlgF,EAAAC,KAAA,EAAAqgF,GAO9BK,EAAAA,EAAAA,IAAoBX,EAApBW,CAAkC7+E,KAAWy+E,EAAAD,EAJ7CM,mBACIJ,EAAWD,EAAXC,YACAC,EAAaF,EAAbE,cAAazgF,EAAAE,KAAA,EAGD2gF,EAAAA,EAAaC,aAAa93E,EAAYw3E,GAAa,KAAD,EAA3D,OAALj5B,EAAKvnD,EAAAY,KAAAZ,EAAAE,KAAA,EACoB2gF,EAAAA,EAAaE,oBAAoB/3E,EAAYy3E,GAAe,KAAD,EAApFC,EAAgB1gF,EAAAY,KAEhB6f,EAAa8mC,EAAMjgD,KAAI,SAACohD,GAAU,OAAA1mD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjC0mD,GAAI,IACPs4B,QAAQ,GAAI,IAGhBthF,EAAS,CACLS,KAAMC,EAAAA,GAAY2gB,oBAClBi/D,aAAAA,EACA3+D,cAAeq/D,EACfjgE,WAAAA,EACAzX,WAAAA,EACAq3E,WAAAA,IACDrgF,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAEHN,EAASyB,EAAAA,EAAaC,cAAapB,EAAAiB,KAAK,QAEF,OAFEjB,EAAAC,KAAA,GAExCP,EAASwgF,GAAsB,IAAOlgF,EAAAwG,OAAA,6BAAAxG,EAAAqB,OAAA,GAAA5B,EAAA,yBAE7C,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EA9BD,EA+BJ,CAyGA,SAAS0d,EAAc3X,GACnB,MAAO,CACHpH,KAAMC,EAAAA,GAAY6gF,gBAClBjB,aAAAA,EACAz4E,KAAAA,EAER,CAiBA,SAAS+W,IACL,MAAO,CACHne,KAAMC,EAAAA,GAAYogB,cAClBw/D,aAAAA,EACAv/D,WAAY,GACZY,cAAe,GAEvB,CAEA,SAAS6+D,EAAsBgB,GAC3B,MAAO,CACH/gF,KAAMC,EAAAA,GAAY+gF,wBAClBnB,aAAAA,EACAkB,YAAAA,EAER,CASA,SAASjB,IACL,MAAO,CACH9/E,KAAMC,EAAAA,GAAYghF,0BAClBpB,aAAAA,EAER,CAEA,MAAO,CACH3hE,iBAAAA,EACAE,gBAjGJ,SACI8iE,EACAz4B,EACA04B,GAEA,OAAO,SACH5hF,EACAoC,GAEA,IAAQ8+E,GAAuBD,EAAAA,EAAAA,IAAoBX,EAApBW,CAAkC7+E,KAAzD8+E,mBAGJS,IACCT,EAAmB5hE,gBAAgB1X,KAAI,SAAA4d,GAAC,OAAIA,EAAEm8D,KAAK,IAAEpiE,SAASoiE,IAE/D3hF,EAASwf,EAAc,CACnBmiE,MAAAA,EACA33E,cAAek/C,EACf04B,WAAAA,KAIR5hF,EAAS2e,EAAiB,KAC1B3e,EAAS4e,IACb,CACJ,EAyEI6C,iBAAAA,EACA7B,SAxEJ,WACI,MAAO,CACHnf,KAAMC,EAAAA,GAAYmhF,iBAClBvB,aAAAA,EAER,EAoEIxgE,YAlEJ,WACI,MAAO,CACHrf,KAAMC,EAAAA,GAAYohF,oBAClBxB,aAAAA,EAER,EA8DI9gE,cAAAA,EACAQ,kBA7CJ,WACI,MAAO,CACHvf,KAAMC,EAAAA,GAAYqhF,2BAClBzB,aAAAA,EAER,EAyCI7gE,iBAtDJ,SAA0BC,GACtB,MAAO,CACHjf,KAAMC,EAAAA,GAAYshF,mBAClB1B,aAAAA,EACA5gE,MAAAA,EAER,EAiDId,kBAAAA,EACAxb,MAxBJ,WACI,MAAO,CACH3C,KAAMC,EAAAA,GAAYuhF,aAClB3B,aAAAA,EAER,EAoBIC,iBAAAA,EACA2B,gBAzKJ,SAAyB54E,GAAkD,IAA9Bq3E,EAAmB7+E,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,GAC5D,sBAAA2E,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,EAAqBoC,GAAwB,IAAA+/E,EAAArB,EAAAj5B,EAAA9mC,EAAA,OAAAlhB,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAKhC,OAJvBR,EAASwgF,GAAsB,IAAO75E,EAAApG,KAAA,EAAA4hF,GAM9BlB,EAAAA,EAAAA,IAAoBX,EAApBW,CAAkC7+E,KAF9B0+E,EAAWqB,EADfjB,mBACIJ,YAAWn6E,EAAAnG,KAAA,EAGC2gF,EAAAA,EAAaC,aAAa93E,EAAYw3E,GAAa,KAAD,EAAhEj5B,EAAKlhD,EAAAzF,KAEL6f,EAAa8mC,EAAMjgD,KAAI,SAACohD,GAAU,OAAA1mD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjC0mD,GAAI,IACPs4B,QAAQ,GAAI,IAGhBthF,EAAS,CACLS,KAAMC,EAAAA,GAAY0hF,iBAClB9B,aAAAA,EACAv/D,WAAAA,EACAzX,WAAAA,EACAq3E,WAAAA,IACDh6E,EAAAnG,KAAA,iBAAAmG,EAAApG,KAAA,GAAAoG,EAAApF,GAAAoF,EAAA,SAEH3G,EAASyB,EAAAA,EAAaC,cAAaiF,EAAApF,KAAK,QAEF,OAFEoF,EAAApG,KAAA,GAExCP,EAASwgF,GAAsB,IAAO75E,EAAAG,OAAA,6BAAAH,EAAAhF,OAAA,GAAA+E,EAAA,yBAE7C,gBAAAzB,EAAAS,GAAA,OAAAe,EAAA5E,MAAA,KAAAC,UAAA,EA3BD,EA4BJ,EA6IIugF,kBA3IJ,SAA2B/4E,GAAkD,IAA9Bq3E,EAAmB7+E,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,GAC9D,sBAAA0C,GAAA5E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA2E,EAAOzE,EAAqBoC,GAAwB,IAAAkgF,EAAAvB,EAAAC,EAAAjgE,EAAA,OAAAlhB,EAAAA,EAAAA,KAAAQ,MAAA,SAAAwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,OAK9B,OAJzBR,EAASwgF,GAAsB,IAAO37E,EAAAtE,KAAA,EAAA+hF,GAM9BrB,EAAAA,EAAAA,IAAoBX,EAApBW,CAAkC7+E,KAF9B2+E,EAAauB,EADjBpB,mBACIH,cAAal8E,EAAArE,KAAA,EAGU2gF,EAAAA,EAAaE,oBAAoB/3E,EAAYy3E,GAAe,KAAD,EAApFC,EAAgBn8E,EAAA3D,KAEhB6f,EAAaigE,EAAiBp5E,KAAI,SAACohD,GAAU,OAAA1mD,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC5C0mD,GAAI,IACPs4B,QAAQ,GAAI,IAGhBthF,EAAS,CACLS,KAAMC,EAAAA,GAAY6hF,mBAClBjC,aAAAA,EACAv/D,WAAAA,EACAzX,WAAAA,EACAq3E,WAAAA,IACD97E,EAAArE,KAAA,iBAAAqE,EAAAtE,KAAA,GAAAsE,EAAAtD,GAAAsD,EAAA,SAEH7E,EAASyB,EAAAA,EAAaC,cAAamD,EAAAtD,KAAK,QAEF,OAFEsD,EAAAtE,KAAA,GAExCP,EAASwgF,GAAsB,IAAO37E,EAAAiC,OAAA,6BAAAjC,EAAAlD,OAAA,GAAA8C,EAAA,yBAE7C,gBAAAg3B,EAAAC,GAAA,OAAAl3B,EAAA3C,MAAA,KAAAC,UAAA,EA3BD,EA4BJ,EAgHJ,C,uEC7PMghB,GAAO3a,EAAAA,EAAAA,cAAa,wBACpB8a,GAAO9a,EAAAA,EAAAA,cAAa,wBACpBq6E,GAAuBr6E,EAAAA,EAAAA,cACzB,0CACA,SAAAE,GAAO,OAAI,SAACo6E,EAAkCC,GAA0C,OAAKr6E,EAAQ,CAAEo6E,WAAAA,EAAYC,iCAAAA,GAAmC,KAEpJC,GAAoCx6E,EAAAA,EAAAA,cACtC,yDACA,SAAAE,GAAO,OAAI,SAACqrB,GAA8B,OAAKrrB,EAAQ,CAAEqrB,UAAAA,GAAY,KAEnEkvD,GAA2Bz6E,EAAAA,EAAAA,cAC7B,+CACA,SAAAE,GAAO,OAAI,SAACqrB,EAAgC3rB,GAAiB,OAAKM,EAAQ,CAAEqrB,UAAAA,EAAW3rB,QAAAA,GAAU,KAE/F86E,GAA8B16E,EAAAA,EAAAA,cAChC,mDACA,SAAAE,GAAO,OAAI,SAACqrB,EAAgC3rB,GAAiB,OAAKM,EAAQ,CAAEqrB,UAAAA,EAAW3rB,QAAAA,GAAU,KAE/F+6E,GAAoC36E,EAAAA,EAAAA,cACtC,yDACA,SAAAE,GAAO,OAAI,SAACqrB,EAAgC3rB,GAAiB,OAAKM,EAAQ,CAAEqrB,UAAAA,EAAW3rB,QAAAA,GAAU,KAE/Fg7E,GAAmC56E,EAAAA,EAAAA,cAAa,yDAChD66E,GAAmC76E,EAAAA,EAAAA,cAAa,yDAChD86E,GAAqC96E,EAAAA,EAAAA,cAAa,2DAClD+6E,GAAsC/6E,EAAAA,EAAAA,cAAa,6DACnDg7E,GAAuBh7E,EAAAA,EAAAA,cACzB,gCACA,SAAAE,GAAO,OAAI,SAAC+6E,GAAoC,OAAK/6E,EAAQ,CAAE+6E,gBAAAA,GAAkB,KAE/EC,GAAuBl7E,EAAAA,EAAAA,cACzB,0CACA,SAAAE,GAAO,OAAI,SAACi7E,GAAsC,OAAKj7E,EAAQ,CAAEi7E,kBAAAA,GAAoB,KAEnFC,GAAiBp7E,EAAAA,EAAAA,cACnB,qCACA,SAAAE,GAAO,OAAI,SAACm7E,GAAoB,OAAKn7E,EAAQ,CAAEm7E,YAAAA,GAAc,KAE3DC,GAA+Bt7E,EAAAA,EAAAA,cAAa,oDAC9C,SAAAE,GAAO,OAAI,SAACq7E,EAAmCC,GAAwB,OAAKt7E,EAAQ,CAAEq7E,yBAAAA,EAA0BC,eAAAA,GAAiB,KAE/HC,GAA2Bz7E,EAAAA,EAAAA,cAAa,+CAGjC8lB,EAAyB,CAClCnL,KAAAA,EACAG,KAAAA,EACAu/D,qBAAAA,EACAG,kCAAAA,EACAC,yBAAAA,EACAC,4BAAAA,EACAE,iCAAAA,EACAC,iCAAAA,EACAC,mCAAAA,EACAC,oCAAAA,EACAJ,kCAAAA,EACAK,qBAAAA,EACAE,qBAAAA,EACAjgF,OAhBU+E,EAAAA,EAAAA,cAAa,yBAiBvBo7E,eAAAA,EACAE,6BAAAA,EACAG,yBAAAA,E,uECpDSC,EAAgB,CACzBC,QAXW37E,EAAAA,EAAAA,cAAa,iBAAiB,SAAAE,GAAO,OAAI,SAACvH,GAAsB,OAAKuH,EAAQ,CAAEvH,QAAAA,GAAU,KAYpGijF,eAXkB57E,EAAAA,EAAAA,cAAa,yBAY/B67E,aAXgB77E,EAAAA,EAAAA,cAAa,uB,89HCIpBowB,EAAoB,CAC7B74B,KAYJ,SAAcmrB,EAAWszC,GAAwF,IAA/EC,EAASt8D,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG0e,EAAAA,GAAU69C,cAAe4lB,EAAaniF,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,GAAUu7D,EAAWv7D,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,GACxG,sBAAAnC,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA2E,EAAOzE,EAAUoC,GAAQ,IAAA8rD,EAAAl7C,EAAAoW,EAAAiO,EAAA1O,EAAAsD,EAAAC,EAAAF,EAAAM,EAAAC,EAAAF,EAAAI,EAAAD,EAAA6gC,EAAA62B,EAAAtyD,EAAAiL,EAAAsnD,EAAA3jB,EAAA,OAAA3gE,EAAAA,EAAAA,KAAAQ,MAAA,SAAAwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,OACJ,GADI0tD,EACC9rD,IAArB4Q,EAAUk7C,EAAVl7C,WAAYoW,EAAI8kC,EAAJ9kC,MAEhBpW,EAAWoxE,iBAAkBh7D,EAAK+0C,QAAO,CAAAt5D,EAAArE,KAAA,eAAAqE,EAAA2tC,OAAA,iBAKZ,GALY3tC,EAAAtE,KAAA,EAKzCP,EAASqkF,GAAa,KAClBJ,EAAc,CAADp/E,EAAArE,KAAA,gBAAAqE,EAAArE,KAAA,EACKmsB,EAAAA,GAAYC,sBAAsB,KAAD,EAUoB,OAVjEyK,EAAGxyB,EAAA3D,KACHynB,EAAO,IAAIlW,KAAK4kB,GAAK3K,cAErBT,EAA6ByrC,EAAAA,EAAU4sB,iCACvC5sD,QAAQrvB,QAAQ,IAChBskB,EAAAA,GAAYG,YAAYnE,GACxBuD,EAA0BwrC,EAAAA,EAAU4sB,iCACpC5sD,QAAQrvB,QAAQ,IAChBskB,EAAAA,GAAYG,YAAYnE,EAAO,GAE/BqD,EAA4BW,EAAAA,GAAYE,cAAc,IAAIpa,MAAO5N,EAAArE,KAAA,GAErCyrB,EAA2B,KAAD,GAAnC,OAAnBK,EAAmBznB,EAAA3D,KAAA2D,EAAArE,KAAA,GACM0rB,EAAwB,KAAD,GAAhC,OAAhBK,EAAgB1nB,EAAA3D,KAAA2D,EAAArE,KAAA,GACWwrB,EAA0B,KAAD,GAApDK,EAAkBxnB,EAAA3D,KAElBurB,EAAQ,GAAAva,QAAAyT,EAAAA,EAAAA,GAAO2G,IAAmB3G,EAAAA,EAAAA,GAAK4G,IAEvCC,EAAUH,EACVkB,IAASC,QAAQ,OAAOC,SACxBF,EAAOg3D,IAAIltD,GAAK7J,QAAQ,OAAOC,SAErCztB,EAASguD,EAAAA,EAAegE,WAAWxlC,IACnCxsB,EAASguD,EAAAA,EAAekE,YAAYzlC,IAEpCzsB,EAASguD,EAAAA,EAAeiB,oBAAoB53B,IAC5Cr3B,EAASguD,EAAAA,EAAep2B,WAAWP,IACnCr3B,EAASguD,EAAAA,EAAen2B,kBAAkBvP,EAAAA,GAAc+R,qBAAqB7Z,EAAAA,GAAUgkE,0BACvFxkF,EAASguD,EAAAA,EAAej2B,oBAAoBzP,EAAAA,GAAc+R,qBAAqB7Z,EAAAA,GAAUikE,6BAA6Bp3B,EAE/F1yB,EAAAA,EAAQmY,SAAvBjU,OACAqlD,QADK,IAAA72B,EAAG,CAAC,EAACA,GACV62B,YAGEtyD,EAAOrE,EAAO22D,EAAU1jE,EAAAA,GAAU4c,mBAAmBD,OAAO,yBAC5DN,EAAOtP,EAAO22D,EAAU1jE,EAAAA,GAAUkkE,iCAAiCvnD,OAAO,QAC1EgnD,EAAU77D,EAAAA,GAAc+R,qBAAqBwC,GACnD78B,EAASguD,EAAAA,EAAep2B,WAAWhG,IACnC5xB,EAASguD,EAAAA,EAAen2B,kBAAkBssD,KAC7C,QAGC3jB,GAAWrC,GAAW3lC,EAAAA,GAAYmsD,mCACnC/8E,KAAI,SAAAgsB,GACD,OAAIA,EAAEpf,OAASgkB,EAAAA,GAAYjX,UAAU/M,MACjClS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOsxB,GAAC,IACJnzB,KAAM,SACNmkF,OAAQ,CACJC,gBAAiB,SAACv7E,EAAYwV,GAAgB,IAADgmE,EAAAC,EACnC31D,EAAWtQ,EAAWzd,QAC5B,OACiB,QAAbyjF,EAAA11D,EAASlQ,YAAI,IAAA4lE,OAAA,EAAbA,EAAe7lE,cAAcE,WAAW7V,MAC1B,QADqCy7E,EACnD31D,EAAShQ,aAAK,IAAA2lE,OAAA,EAAdA,EAAgB9lE,cAAcE,WAAW7V,GAEjD,EACA07E,cAAc,WAAD,IAAAC,GAAArlF,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAE,SAAAC,EAAOuJ,EAAY47E,GAAW,IAAAlyE,EAAA,OAAAnT,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAChBghB,EAAAA,GAAY2jE,uBAAuB77E,GAAY,EAAO47E,GAAa,KAAD,EAA3E,OAAVlyE,EAAU1S,EAAAY,KAAAZ,EAAAkyC,OAAA,SACTx/B,EAAWpL,KAAI,SAAA0Z,GAAC,MAAK,CACxB0B,KAAM1B,EAAEC,UACRqF,YAAatF,EAAE7M,OACfpT,QAASigB,EACZ,KAAE,wBAAAhhB,EAAAqB,OAAA,GAAA5B,EAAA,KANM,OAOZ,SAPYkF,EAAAS,GAAA,OAAAu/E,EAAApjF,MAAA,KAAAC,UAAA,EAAC,GAQdsjF,qBAAsB,SAAAtmE,GAAU,OAAI9e,EAASqlF,EAAuBvmE,EAAWzd,SAAS,KAGzFuyB,EAAEpf,OAASgkB,EAAAA,GAAY/jB,OAAOD,MACrClS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOsxB,GAAC,IACJnzB,KAAM,SACNmkF,OAAQ,CACJI,cAAc,WAAD,IAAAM,GAAA1lF,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAE,SAAA4G,EAAO4C,EAAY47E,GAAW,IAAAlyE,EAAA,OAAAnT,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,cAAAmG,EAAAnG,KAAA,EAChBghB,EAAAA,GAAY2jE,uBAAuB77E,GAAY,EAAM47E,GAAa,KAAD,EAA1E,OAAVlyE,EAAUrM,EAAAzF,KAAAyF,EAAA6rC,OAAA,SACTx/B,EAAWpL,KAAI,SAAA0Z,GAAC,MAAK,CACxB0B,KAAM1B,EAAE7M,OACRmS,YAAatF,EAAEC,UACflgB,QAASigB,EACZ,KAAE,wBAAA3a,EAAAhF,OAAA,GAAA+E,EAAA,KANM,OAOZ,SAPY+0B,EAAAC,GAAA,OAAA4pD,EAAAzjF,MAAA,KAAAC,UAAA,EAAC,GAQdsjF,qBAAsB,SAAAtmE,GAAU,OAAI9e,EAASqlF,EAAuBvmE,EAAWzd,SAAS,KAK7FuyB,CACX,IAEAypC,EAAYkoB,WAAWh9E,OAAS,GAChCvI,EAASu4B,EAAkBitD,8BAA8BnoB,IAG7Dr9D,EAASqpB,GAAAA,EAAY3pB,KAAKmrB,EAAW21C,EAASpC,IAAYv5D,EAAArE,KAAA,iBAAAqE,EAAAtE,KAAA,GAAAsE,EAAAtD,GAAAsD,EAAA,SAE1D7E,EAASyB,EAAAA,EAAaC,cAAamD,EAAAtD,KAAK,QAEV,OAFUsD,EAAAtE,KAAA,GAExCP,EAASqkF,GAAa,IAAQx/E,EAAAiC,OAAA,6BAAAjC,EAAAlD,OAAA,GAAA8C,EAAA,yBAErC,gBAAA7C,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EA5GD,EA6GJ,EAzHIsB,MA+NJ,WACI,OAAO,SAAApD,GACHA,EAASqpB,GAAAA,EAAYjmB,SACrBpD,EAAS,CAAES,KAAMC,EAAAA,GAAYwf,OACjC,CACJ,EAnOIsJ,iBAiJJ,SAA0B3jB,EAAM4/E,GAC5B,OAAO,SAACzlF,EAAUoC,GACd,IAAAqnB,EAAyCrnB,IAAWgnB,KAA5ChW,EAAQqW,EAARrW,SAAUsW,EAAMD,EAANC,OAAQC,EAAUF,EAAVE,WAE1B,GAAID,EAAO9kB,SAAWglB,EAAAA,GAAaC,UAAnC,CAIA,IAAMC,GAAajkB,EAAK2O,KAAKuV,MAAM,KAAKC,OAAS,IAAI/K,cAEnC,QAAd6K,GAAqC,SAAdA,EAQhBjkB,EAAK+F,KAA6C,KAAtC4U,EAAAA,GAAUyJ,0BAAmC,KAChEjqB,EAASyB,EAAAA,EAAaiB,MAClB,KACAwnB,EAAAA,GAAcC,sBAAsB3J,EAAAA,GAAUyJ,2BAC9C,0BAKJ7W,EAASgX,SACTpqB,EAASqpB,GAAAA,EAAYgB,qBAGzB7I,EAAAA,GACKgI,iBAAiB3jB,GAmCtB,SAAkBxB,GACd,IAAMkmB,EAAoBnoB,IAAWgnB,KAAKO,WAC1C,GAAItlB,EAAEmmB,kBAAoBb,IAAeY,EAAmB,CACxD,IAAIE,EAAmBpmB,EAAEqmB,OAASrmB,EAAEsmB,MAAS,IAC7C3qB,EAASqpB,GAAAA,EAAYuB,eAAehB,EAAAA,GAAaC,UAAWY,EAAiB5kB,EAAK2O,MACtF,CACJ,IAxCKtQ,MAIL,SAAiB2mB,GACb,IAAMN,EAAoBnoB,IAAWgnB,KAAKO,WAC1C,GAAIA,IAAeY,EAAmB,CAClC,GAAIk7D,EAAmB,CACnB56D,EAAU/E,SAAQ,SAAAxE,GAAC,OAAI4F,EAAiC5F,EAAE,IAC1D,IACM6C,EAASkB,EADGjjB,IAAWgnB,KAAKD,UAAUnI,QAAO,SAACwE,GAAC,OAAMA,EAAEd,KAAK,IACzBmG,GACzC7qB,EAASqpB,GAAAA,EAAY0B,SACrB/qB,EAASqpB,GAAAA,EAAY2B,aAAa7G,IAClCnkB,EAASkkB,EAAwBC,GACrC,MACI0G,EAAU/E,SAAQ,SAAAxE,GAAC,OAAIokE,EAAepkE,EAAE,IACxCthB,EAASqpB,GAAAA,EAAY2B,aAAaH,IAEtC7qB,EAASqpB,GAAAA,EAAY4B,YACrB7J,YACI,kBAAMphB,EAASqpB,GAAAA,EAAYuB,eAAehB,EAAAA,GAAasB,MAAM,GAC7D,IAER,CACJ,IAEA,SAAiB7mB,GACbrE,EAASqpB,GAAAA,EAAYuB,eAAehB,EAAAA,GAAasB,OACjD,IAAMX,EAAoBnoB,IAAWgnB,KAAKO,WACtCA,IAAeY,GACfvqB,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAE9C,IA9BArE,EAASqpB,GAAAA,EAAYuB,eAAehB,EAAAA,GAAaC,UAAW,EAAGhkB,EAAK2O,QAxBhExU,EAASyB,EAAAA,EAAaiB,MAClB,KACAwnB,EAAAA,GAAciB,gBACd,sBARR,CAoEJ,CACJ,EA3NIk6D,uBAAAA,EACAj6D,oBAyPJ,SAA6BC,EAAeo6D,GACxC,OAAO,SAACzlF,EAAUoC,GACd,IAAAujF,EAAoCvjF,IAAWgnB,KAAvChW,SAAAA,OAAQ,IAAAuyE,EAAG,CAAEjmE,MAAO,GAAGimE,EAE/B3lF,EAASqpB,GAAAA,EAAYiC,gBAAe,IAEpC9J,EAAAA,GACK+J,sBAAsBF,GACtBnnB,MAGL,SAAiB8O,GACb,GAAIyyE,EAAmB,CACnBzyE,EAAW8S,SAAQ,SAAAxE,GAAC,OAAI4F,EAAiC5F,EAAE,IAC3D,IACM6C,EAASkB,EADGjjB,IAAWgnB,KAAKD,UAAUnI,QAAO,SAACwE,GAAC,OAAMA,EAAEd,KAAK,IACzB1R,GACzChT,EAASqpB,GAAAA,EAAY0B,SACrB/qB,EAASqpB,GAAAA,EAAY2B,aAAa7G,IAClCnkB,EAASkkB,EAAwBC,GACrC,MACInR,EAAW8S,SAAQ,SAAAxE,GAAC,OAAIokE,EAAepkE,EAAE,IACzCthB,EAASqpB,GAAAA,EAAYE,gBAAgBvW,EAAYI,EAASsM,QAE9D1f,EAASqpB,GAAAA,EAAY4B,WACzB,IAhBmB,SAAA5mB,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,IAC5D+B,SAAQ,kBAAMpG,EAASqpB,GAAAA,EAAYiC,gBAAe,GAAO,GAgBlE,CACJ,EAlRIs6D,YAoVJ,WACI,OAAO,SAAC5lF,EAAUoC,GACd,IAAQg/B,EAAYh/B,IAAWyjF,aAAvBzkD,QACJA,EAAQ3P,OAAM,SAAAne,GAAC,OAAKA,EAAE5Q,KAAK,MAC3B1C,EAASqpB,GAAAA,EAAYe,QAAQgX,IAC7BphC,EAASqpB,GAAAA,EAAYy2C,aACrB9/D,EAAS+mE,GAAoB3jE,SAC7BpD,EAASqpB,GAAAA,EAAY27C,YAAW,IAExC,CACJ,EA7VI8gB,UA+VJ,WACI,OAAO,SAAC9lF,EAAUoC,GACd,IAAA2jF,EAA0B3jF,IAAW4jF,YAA7BtlB,EAAKqlB,EAALrlB,MAAaqlB,EAANphE,OACJmW,UACP96B,EAASqpB,GAAAA,EAAYe,QAAQs2C,IAC7B1gE,EAASqpB,GAAAA,EAAYy2C,aACrB9/D,EAASgnE,GAAmB5jE,SAC5BpD,EAASqpB,GAAAA,EAAY27C,YAAW,IAExC,CACJ,EAxWIihB,oBA0WJ,WACI,sBAAAzhF,GAAA5E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAsF,EAAOpF,EAAUoC,GAAQ,IAAAstE,EAAA1iD,EAAA5D,EAAAyB,EAAA,OAAAhrB,EAAAA,EAAAA,KAAAQ,MAAA,SAAAiF,GAAA,cAAAA,EAAA/E,KAAA+E,EAAA9E,MAAA,OAEiC,GAFjCkvE,EACFttE,IAAlB4qB,EAAO0iD,EAAP1iD,QAAS5D,EAAIsmD,EAAJtmD,KACXyB,EAAYzB,EAAKD,UAAUnI,QAAO,SAAAnZ,GAAI,OAAKA,EAAK6c,KAAK,IAEtDsI,EAAQ4E,MAAS/G,EAAUtiB,OAAM,CAAAjD,EAAA9E,KAAA,eAAA8E,EAAAktC,OAAA,iBAEwB,OAA9DxyC,EAAS,CAAES,KAAMC,EAAAA,GAAYwlF,gCAAiC5gF,EAAA/E,KAAA,EAAA+E,EAAA9E,KAAA,EAGpDghB,EAAAA,GAAYykE,oBAAoBj5D,EAAQ4E,KAAM5E,EAAQ8K,QAAS9K,EAAQkL,SAAUrN,GAAW,KAAD,EACjG7qB,EAAS,CAAES,KAAMC,EAAAA,GAAYylF,gCAAiC7gF,EAAA9E,KAAA,iBAAA8E,EAAA/E,KAAA,GAAA+E,EAAA/D,GAAA+D,EAAA,SAE9DtF,EAASyB,EAAAA,EAAa6C,gBAAegB,EAAA/D,KACrCvB,EAAS,CAAES,KAAMC,EAAAA,GAAY0lF,8BAA+B,yBAAA9gF,EAAA3D,OAAA,GAAAyD,EAAA,mBAEnE,gBAAAmzC,EAAAuB,GAAA,OAAAt1C,EAAA3C,MAAA,KAAAC,UAAA,EAfD,EAiBJ,EA3XIkiB,gBAAAA,EACAwhE,8BAmHJ,SAAuCnoB,GACnC,OAAO,SAAAr9D,GACH,IAAMuiD,EAAU8a,EAAYgpB,IAAI,WAC1BC,EAAQjpB,EAAYgpB,IAAI,SACxBE,EAASlpB,EAAYgpB,IAAI,UAEzBG,EAAqBjkC,EAAUA,EAAQx4B,MAAM,KAAO,GACpD08D,EAAmBH,EAAQA,EAAMv8D,MAAM,KAAO,GAC9C28D,EAAoBH,EAASA,EAAOx8D,MAAM,KAAO,GAEjD48D,EAA0B,GAAAz0E,QAAAyT,EAAAA,EAAAA,GAAI6gE,IAAkB7gE,EAAAA,EAAAA,GAAK8gE,IAAgB9gE,EAAAA,EAAAA,GAAK+gE,IAAmBE,KAAK,MAExG5mF,EAASu4B,EAAkBnN,oBAAoBu7D,GACnD,CACJ,GAEA,SAAStC,EAAaD,GAClB,MAAO,CACH3jF,KAAMC,EAAAA,GAAYmmF,aAClBzC,eAAAA,EAER,CAsFA,SAASiB,EAAuBj2D,GAC5B,OAAO,SAACpvB,EAAUoC,GACd,IAAA4jE,EAAgC5jE,IAAWgnB,KAAnChW,EAAQ4yD,EAAR5yD,SACR3M,EAD2Bu/D,EAAT78C,UACiB/V,EAASsM,QAAU,CAAC,EAA/C9T,EAAInF,EAAJmF,KAAM+Y,EAAMle,EAANke,OAERwC,GAAQ7kB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACP8sB,GAAQ,IACXzqB,QAAI6D,EACJoc,WAAYwK,EAASzqB,GACrBiH,KAAAA,IAGJ5L,EAASqpB,GAAAA,EAAYw2C,cACrB7/D,EAASqpB,GAAAA,EAAYi5C,gBAAgBn7C,EAAU/T,EAASsM,QAEpDiF,GAAUA,EAAOpc,QAEjBvI,EAASqpB,GAAAA,EAAY4B,WAE7B,CACJ,CA8BA,SAAS5F,EACLC,EACAC,GACA,IAAKD,EAAY/c,OACb,OAAOgd,EAAa3d,KAAI,SAAA4d,GAAC,OAAAljB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAUkjB,GAAC,IAAEC,OAAO,GAAI,IAGrD,IAAMC,GAAkBC,EAAAA,EAAAA,GAAIL,GAAa1d,KAAI,SAAAge,GAAE,OAAAtjB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAUsjB,GAAE,IAAEvB,WAAW,GAAI,IACtEwB,EAAW,GAajB,OAXAN,EAAaO,SAAQ,SAAAC,GACjB,IAAMC,EAAcV,EAAYW,WAAU,SAAAC,GAAC,OAAIA,EAAEtB,YAAcsB,EAAEtB,aAAemB,EAAEnB,UAAU,IACxFoB,EAAc,EACdH,EAASjiB,MAAItB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIyjB,GAAC,IAAEN,OAAO,MAWzC,SAAiBU,EAAQC,GACrB,IAAMC,EAAe,SAAClU,GAAK,OAAU,OAALA,QAAK,IAALA,EAAAA,EAAS,EAAG,EAE5C,OACIgU,EAAOvB,aAAewB,EAAOxB,YAC7BuB,EAAO5E,YAAc6E,EAAO7E,WAC5B8E,EAAaF,EAAOva,QAAUya,EAAaD,EAAOxa,OAClDua,EAAO1R,SAAW2R,EAAO3R,QACzB4R,EAAaF,EAAO5a,YAAc8a,EAAaD,EAAO7a,WACtD8a,EAAaF,EAAO7a,UAAY+a,EAAaD,EAAO9a,OAE5D,CArBoB0b,CAAQ1B,EAAYU,GAAcD,GAC1CL,EAAgBM,IAAY1jB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQyjB,GAAC,IAAEkB,UAAU,IAEjDvB,EAAgBM,IAAY1jB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQgjB,EAAYU,IAAY,IAAEiB,UAAU,EAAOxB,OAAO,EAAOpB,WAAW,GAEhH,IAEOqB,EAAgBxT,OAAO2T,EAClC,CAeA,SAAS6/D,EAAet2D,GACpBA,EAAS3J,OAAQ,EACjB2J,EAASxK,WAAawK,EAASzqB,GAC/ByqB,EAASzqB,QAAK6D,CAClB,CAEA,SAAS0e,EAAiCkI,GACtCA,EAASxK,WAAawK,EAASzqB,GAC/ByqB,EAASzqB,QAAK6D,CAClB,CAEA,SAASwb,EAAgBC,GACrB,MAAO,CACHxjB,KAAMC,EAAAA,GAAYomF,6BAClB7iE,sBAAAA,EAER,CAEA,IAAMC,EAA0B,SAACC,GAC7B,OAAO,SAACnkB,GACoBmkB,EAAOC,MAAM,SAAAvc,GAAI,OAAIA,EAAKwc,SAAS,KAEvDrkB,EAASgkB,GAAgB,GAEjC,CACJ,E,qCC/Va+iE,EAAe,CACxBC,mBAIJ,WACI,MAAO,CAAEvmF,KAAMC,EAAAA,GAAYumF,0BAA2BlI,UAAU,EACpE,EALI37E,MAOJ,WACI,MAAO,CAAE3C,KAAMC,EAAAA,GAAYumF,0BAA2BlI,UAAU,EACpE,G,4FCiBamI,EAAiB,CAC1BxnF,KAUJ,SAAcsK,GACV,sBAAArK,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAMC,GAAQ,IAAA8rB,EAAA,OAAAjsB,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,WACbwJ,EAAc,CAAD1J,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEUghB,EAAAA,EAAYiW,mBAAmBztB,GAAe,KAAD,EAA1D8hB,EAAIxrB,EAAAY,KACVlB,EAAS,CACLS,KAAMC,EAAAA,GAAYymF,UAClBr7D,KAAAA,IACDxrB,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAiB,GAAAjB,EAAA,SAEHN,EAASyB,EAAAA,EAAaC,cAAapB,EAAAiB,KAAK,QAGhDvB,EAASonF,EAAWC,EAAAA,GAAMr0E,aAAa,yBAAA1S,EAAAqB,OAAA,GAAA5B,EAAA,kBAC1C,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EAbD,EAcJ,EAxBIwlF,SAsCJ,WACI,sBAAA7gF,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,EAAUoC,GAAQ,IAAA04B,EAAAysD,EAAAr5B,EAAA9kC,EAAA4D,EAAA0iD,EAAA8X,EAAA1lD,EAAA2lD,EAAA5W,EAAAsB,EAAAuV,EAAAC,EAAAC,EAAA,OAAA/nF,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAEV,GADds6B,GAAU,GACNysD,EAAenlF,IAAW+vE,QAA1BoV,cAEWF,EAAAA,GAAMr0E,WAAU,CAAArM,EAAAnG,KAAA,SAIwC,GAHvER,EAASqpB,GAAAA,EAAY4B,YACrBjrB,EAASguD,EAAAA,EAAe/iC,YAAYijC,EACV9rD,IAAlBgnB,EAAI8kC,EAAJ9kC,KAAM4D,EAAOkhC,EAAPlhC,UACd8N,EAAU1R,EAAK0R,UAAY9N,EAAQrI,OAAOiN,OAAS5E,EAAQrI,OAAOkY,MACtD,CAADl2B,EAAAnG,KAAA,gBAAAmG,EAAAnG,KAAA,GACDR,EAASu4B,EAAkB0tD,uBAAuB,KAAD,GACvDnrD,GAAU+sD,EAAAA,EAAAA,IAAiBzlF,IAAW4Q,WAAW80E,iCAAiC,QAAAnhF,EAAAnG,KAAA,iBAG/E+mF,IAAeF,EAAAA,GAAMr6D,SAC5BhtB,EAASguD,EAAAA,EAAe/iC,YAAYykD,EAChBttE,IAAZ4qB,EAAO0iD,EAAP1iD,QACR8N,EAAU9N,EAAQ8N,SAEXysD,IAAeF,EAAAA,GAAMt0B,cACtBjxB,EAAkB1/B,IAAW2lF,eAAejmD,gBAC5C2lD,EAAoCrlF,IAAW2lF,eAAeN,kCAI1B,KAHPO,EAAAA,EAAAA,GAAuB5lF,KACrD4e,QAAO,SAAA4S,GAAC,OAAKkO,EAAgBlO,EAAEjvB,KAAOivB,EAAEhvB,SAAWm0C,EAAAA,EAAcnI,MAAM,IAE7CroC,QAAiBk/E,EAI5C3sD,KAAYlvB,EAAAA,EAAAA,MAAKk2B,IAHjB9hC,EAASoiC,EAAAA,EAAsBK,sCAAqC,IACpE3H,GAAU,IAKdA,GAAU,EACb,QAEGA,IAAS+1C,EACWzuE,IAAZ+vE,EAAOtB,EAAPsB,QAEFuV,EAAWx0E,OAAOC,KAAKk0E,EAAAA,IAEvBM,EAAkBD,EAASzhE,WAAU,SAAAoB,GAAG,OAAI8qD,EAAQoV,aAAeF,EAAAA,GAAMhgE,EAAI,IAC7EugE,EAAcF,EAASC,EAAkB,GAE/C3nF,EAASonF,EAAWC,EAAAA,GAAMO,MAC7B,yBAAAjhF,EAAAhF,OAAA,GAAA+E,EAAA,KACJ,gBAAAK,EAAA9B,GAAA,OAAAwB,EAAA5E,MAAA,KAAAC,UAAA,EA7CD,EA8CJ,EApFImmF,aAsFJ,WACI,IAAQ9V,EAAY7N,EAAAA,EAAMliE,WAAlB+vE,QAEFuV,EAAWx0E,OAAOC,KAAKk0E,EAAAA,IAEvBM,EAAkBD,EAASzhE,WAAU,SAAAoB,GAAG,OAAI8qD,EAAQoV,aAAeF,EAAAA,GAAMhgE,EAAI,IAC7E6gE,EAAkBR,EAASC,EAAkB,GAEnD,OAAOP,EAAWC,EAAAA,GAAMa,GAC5B,EA9FIpE,OA0GJ,WACI,OAAO,SAAC9jF,EAAUoC,GACd,IAAMxB,EAAewB,IAAW0hF,OAAOljF,aAEvC,IAAIunF,EAAAA,EAAAA,IAAavnF,KAAiBinF,EAAAA,EAAAA,IAAiBjnF,GAAe,OAAO,KAEzE,IAAAwnF,EAA0ChmF,IAAlCgnB,EAAIg/D,EAAJh/D,KAAM4D,EAAOo7D,EAAPp7D,QAAS+6D,EAAcK,EAAdL,eAEjBr0D,GAAYs0D,EAAAA,EAAAA,GAAuB5lF,KACpC4e,QAAO,SAAA4S,GAAC,OAAIm0D,EAAejmD,gBAAgBlO,EAAEjvB,GAAG,IAChDiD,KAAI,SAAAgsB,GAAC,MAAK,CAAEjvB,GAAIivB,EAAEjvB,GAAI,IACrBszD,EAAWjrC,EAAQmhC,UAAUloD,QAsD7B6lB,EAAO,CACTgM,QAASxP,EAAAA,GAAc+/D,QAAQr7D,EAAQ4E,KAAMrE,IAAAA,IAAWP,EAAQ8K,UAAU6J,UAAU,GAAG,GAAMxO,cAC7F6E,UAAW1P,EAAAA,GAAc+/D,QAAQr7D,EAAQ4E,KAAMrE,IAAAA,IAAWP,EAAQgL,YAAY2J,UAAU,GAAG,GAAMxO,cACjGiF,aAAcpL,EAAQoL,aACtBF,SAAUlL,EAAQkL,SAClBllB,WAAYoW,EAAKD,UAAUnI,QAAO,SAAAM,GAAC,OAAKA,EAAEoD,KAAK,IAC/CsI,SAAO1qB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,CACH7B,KAAMw3D,EAASx3D,KACfs4B,mBAAoBk/B,EAASl/B,mBAC7BuvD,YAAarwB,EAASqwB,YACtBhwD,UAAW2/B,EAAS3/B,UACpBiwD,kBAAmBtwB,EAAStzD,GAC5B8uD,kBA/BJwE,EAASx3D,OAASwsB,EAAAA,EAAgBgR,UAC9Bg6B,EAASx3D,OAASwsB,EAAAA,EAAgBsN,MAClC09B,EAASx3D,OAASwsB,EAAAA,EAAgBqD,SAChC2nC,EAASxE,uBACTjrD,EA4BFooD,iBA1ByBqH,EAASrH,iBACtCqH,EAASx3D,OAASwsB,EAAAA,EAAgBgR,UAClCg6B,EAASx3D,OAASwsB,EAAAA,EAAgBsN,MAClC09B,EAASx3D,OAASwsB,EAAAA,EAAgBqD,UAClC2nC,EAASx3D,OAASwsB,EAAAA,EAAgBgP,qBAEhCzzB,EADAuS,OAAOk9C,EAASrH,iBAsBdlB,eAAgBuI,EAASvI,gBAlEIuI,EAASx3D,OAASwsB,EAAAA,EAAgBC,KACjE,CACEyiC,eAAgBsI,EAASwB,YAAY9J,eACrCc,iBAAkBwH,EAASwB,YAAYhJ,iBACvCG,gBAAiBqH,EAASwB,YAAY7I,gBACtC2K,uBAAwBtD,EAASwB,YAAY8B,uBAC7CE,yBAA0BxD,EAASwB,YAAYgC,0BAEjD,CAAC,GAE2BxD,EAASx3D,OAASwsB,EAAAA,EAAgBqD,SAC9D,CACEk4D,gCAAiCvwB,EAASl8B,SAASy9B,wBACnDivB,sBAAuBxwB,EAASl8B,SAASjC,cACzC4uD,yBAA0BzwB,EAASl8B,SAAS00B,kBAE9C,CAAC,GAEuBwH,EAASx3D,OAASwsB,EAAAA,EAAgBsN,KAC1D,CACEouD,4BAA6B1wB,EAASj8B,KAAKw9B,wBAC3CovB,kBAAmB3wB,EAASj8B,KAAKlC,cACjC+uD,qBAAsB5wB,EAASj8B,KAAKy0B,kBAEtC,CAAC,GAEkCwH,EAASx3D,OAASwsB,EAAAA,EAAgBgP,gBACrE,CACE6sD,kBAAmB7wB,EAAS/7B,IAAIyzB,gBAElC,CAAC,GA0CHj8B,UAAAA,EACA3G,WA1B0B,WAAH,IAAAg8D,EAAA,SACL,QAAlBA,EAAA/7D,EAAQD,kBAAU,IAAAg8D,EAAAA,EAAI/iF,EAAAA,EAAK2M,SAASC,EAAAA,GAAMsI,oBAE/B,CAuBC8tE,IAGhBhpF,EAASipF,EAAcC,YAAYroF,EAAAA,EAAaC,UAEhD0gB,EAAAA,EACKsiE,OAAOh4D,GACP5nB,MAAK,SAAC2N,GACH7R,EAASipF,EAAcC,YAAYroF,EAAAA,EAAaS,QAASuQ,IACzD8oB,EAAAA,EAAQ6W,QAAQ,CACZ5V,SAAUhB,EAAAA,GAAOuuD,eACjBtqD,MAAO,CACHjN,KAAM5E,EAAQ4E,KACdkG,QAAS9K,EAAQ8K,QACjBI,SAAUlL,EAAQkL,SAClBrmB,kBAAAA,IAGZ,IACCzN,OAAM,SAAAC,GACHrE,EAASipF,EAAcC,YAAYroF,EAAAA,EAAaW,UAChDxB,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAC1C,GACR,CACJ,EAvNIwF,cAyNJ,SAAuBP,GACnB,MAAO,CACH7I,KAAMC,EAAAA,GAAY0oF,wBAClB/nF,QAAS,CAAEiI,WAAAA,GAEnB,EA7NI+/E,mBA+NJ,SAA4BvyD,GACxB,MAAO,CACHr2B,KAAMC,EAAAA,GAAY4oF,6BAClBjoF,QAAS,CAAEy1B,aAAAA,GAEnB,EAnOI0L,mBAqOJ,WACI,MAAO,CAAE/hC,KAAMC,EAAAA,GAAY6oF,6BAC/B,EAtOInmF,MAoBJ,WACI,OAAO,SAAApD,GACHA,EAASu4B,EAAkBn1B,SAC3BpD,EAASguD,EAAAA,EAAe5qD,SACxBpD,EAASwuB,EAAAA,EAAkBprB,SAC3BpD,EAASoiC,EAAAA,EAAsBh/B,SAC/BpD,EAASwpF,EAAiBpmF,SAC1BpD,EAASipF,EAAc7lF,SACvBpD,EAAS,CAAES,KAAMC,EAAAA,GAAY+oF,cACjC,CACJ,GA8DA,SAASrC,EAAWsC,GAChB,OAAO,SAAA1pF,GACHA,EAAS+mF,EAAa3jF,SACtBpD,EAAS,CACLS,KAAMC,EAAAA,GAAYipF,YAClBD,KAAAA,GAER,CACJ,C,eCxIaF,EAAmB,CAC5B9pF,KAIJ,WACI,OAAO,SAACM,EAAUoC,GACd,IAEMwnF,EAFWxnF,IAATgnB,KAEoBD,UACvBnI,QAAO,SAAAM,GAAC,OAAKA,EAAEoD,KAAK,IACpB9c,KAAI,SAAA0Z,GAAC,OAAIA,EAAEsD,UAAU,IAEtB5kB,EAAS6pF,EAAAA,EAAuBnqF,KAAKkqF,GAC7C,CACJ,EAbIxmF,MAeJ,WACI,OAAO,SAAApD,GACHA,EAAS6pF,EAAAA,EAAuBzmF,QACpC,CACJ,G,eCnBa6lF,EAAgB,CACzBC,YAyBJ,SAAqBrqD,EAAOhtB,GACxB,MAAO,CAAEpR,KAAMC,EAAAA,GAAYopF,aAAcjrD,MAAAA,EAAOhtB,kBAAAA,EACpD,EA1BInS,KAIJ,WACI,sBAAAC,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAUoC,GAAQ,IAAAhC,EAAA,OAAAP,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACT,IAAK4B,IAAW0hF,OAA3BiG,YAEQ,CAADzpF,EAAAE,KAAA,eAAAF,EAAAkyC,OAAA,wBAAAlyC,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGWyiC,EAAAA,GAAiB+mD,wBAAwB,KAAD,EAAxD5pF,EAAOE,EAAAY,KAEblB,EAAS,CACLS,KAAMC,EAAAA,GAAYupF,mBAClB7pF,QAAAA,IACDE,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAGHN,EAASyB,EAAAA,EAAaC,cAAapB,EAAAiB,KAAK,yBAAAjB,EAAAqB,OAAA,GAAA5B,EAAA,mBAE/C,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EAhBD,EAiBJ,EArBIsB,MA2BJ,WACI,MAAO,CAAE3C,KAAMC,EAAAA,GAAYwf,MAC/B,G,iFC3BagqE,EAAuB,CAChCxqF,KAUJ,SAAcyqF,GACV,OAAO,SAAAnqF,GACHA,EAASoqF,GAAQ,IACjB3a,EAAAA,GACK4a,aAAaF,GACbjmF,MAGL,SAAiByqE,GACb3uE,EAAS,CAAES,KAAMC,EAAAA,GAAY4pF,iBAAkB3b,UAAAA,IAC/C3uE,EAASu4B,EAAkB74B,KAAKivE,EAAU37D,YAC9C,IANmB,SAAA3O,GAAC,OAAIrE,EAASyB,EAAAA,EAAaC,cAAc2C,GAAG,IAC1DH,MAAK,kBAAMlE,EAASoqF,GAAQ,GAAO,GAM5C,CACJ,EAtBIhnF,MA0IJ,WACI,OAAO,SAAApD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYwf,QAC7BlgB,EAASu4B,EAAkBn1B,SAC3BpD,EAASyB,EAAAA,EAAag5B,aAC1B,CACJ,EA/II8vD,mBAyCJ,SAA4BC,GACxB,OAAO,SAACxqF,EAAUoC,GACdpC,EAASqpB,GAAAA,EAAY4B,YACrB,IAAQ7B,EAAShnB,IAATgnB,KACFpW,EAAaoW,EAAKD,UAAUnI,QAAO,SAAAM,GAAC,OAAKA,EAAEoD,KAAK,IAEtD,IAAK0E,EAAK0R,SAAW9nB,EAAWzK,OAC5B,OAAOvI,EAASsU,EAAAA,EAAoBw6B,4BAA4B5kB,EAAAA,GAAcugE,+BAAgCvgE,EAAAA,GAAcwgE,+BAEhI1qF,EAAS,CAACS,KAAMC,EAAAA,GAAYiqF,2BAC5Blb,EAAAA,GAAiB8a,mBAAmBC,EAAex3E,GAC9C9O,MAAK,WACFlE,EAAS,CAACS,KAAMC,EAAAA,GAAYkqF,2BAC5B5qF,EAAS,CAAES,KAAMC,EAAAA,GAAYmqF,kBAC7B7qF,EAAS8qF,EAAAA,EAA+B1nF,SACxCpD,EAASonD,EAAAA,EAAqBhkD,SAC9Bu3B,EAAAA,EAAQ6W,QAAQ5W,EAAAA,GAAO+zC,UAC3B,IACCvqE,OAAM,SAACC,GACJrE,EAAS,CAAES,KAAMC,EAAAA,GAAYqqF,2BAC7B/qF,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAC1C,GACR,CACJ,EA/DI2mF,sBA6BJ,SAA+BjjF,GAC3B,OAAO,SAAA/H,GACHA,EAAS,CACLS,KAAMC,EAAAA,GAAYuqF,sBAClBC,OAAQ,CAAEnjF,QAAAA,KAGd/H,EAASqpB,GAAAA,EAAY27C,WAAWj9D,GACpC,CACJ,EArCIojF,0BAgEJ,SAAmCC,GAC/B,sBAAAzrF,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAUoC,GAAQ,IAAAstE,EAAA2b,EAAAjiE,EAAApW,EAAA,OAAAnT,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAG4B,GAFxDR,EAASqpB,GAAAA,EAAY4B,YAAYykD,EACDttE,IAAxBipF,EAAa3b,EAAb2b,cAAejiE,EAAIsmD,EAAJtmD,KACjBpW,EAAaoW,EAAKD,UAAUnI,QAAO,SAAAM,GAAC,OAAKA,EAAEoD,KAAK,IAEjD0E,EAAK0R,UAAW9nB,EAAWzK,OAAM,CAAAjI,EAAAE,KAAA,eAAAF,EAAAkyC,OAAA,SAC3BxyC,EAASsU,EAAAA,EAAoBw6B,4BAA4B5kB,EAAAA,GAAcugE,+BAAgCvgE,EAAAA,GAAcwgE,gCAA8B,OAEvG,GAAvD1qF,EAAS,CAACS,KAAMC,EAAAA,GAAYiqF,4BAExBS,EAAqB,CAAD9qF,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEVivE,EAAAA,GAAiB6b,gBAAgBD,EAAc1c,UAAUhqE,GAAIymF,GAAqB,QAAA9qF,EAAAE,KAAA,iBAG/B,OAH+BF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAExFN,EAASyB,EAAAA,EAAa6C,gBAAehE,EAAAiB,KACrCvB,EAAS,CAAES,KAAMC,EAAAA,GAAYqqF,2BAA4BzqF,EAAAkyC,OAAA,yBAAAlyC,EAAAC,KAAA,GAAAD,EAAAE,KAAA,GAKvDivE,EAAAA,GAAiB8b,cAAcF,EAAc1c,UAAUhqE,GAAIqO,GAAW,QAC5EhT,EAAS,CAACS,KAAMC,EAAAA,GAAYkqF,2BAC5B5qF,EAAS,CAAES,KAAMC,EAAAA,GAAYmqF,kBAC7B7qF,EAAS8qF,EAAAA,EAA+B1nF,SACxCpD,EAASonD,EAAAA,EAAqBhkD,SAC9Bu3B,EAAAA,EAAQ6W,QAAQ5W,EAAAA,GAAO+zC,WAAWruE,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAA8/E,GAAA9/E,EAAA,UAElCN,EAAS,CAAES,KAAMC,EAAAA,GAAYqqF,2BAC7B/qF,EAASyB,EAAAA,EAAa6C,gBAAehE,EAAA8/E,KAAK,yBAAA9/E,EAAAqB,OAAA,GAAA5B,EAAA,2BAGjD,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EA/BD,EAgCJ,EAhGI0pF,sBAkGJ,SAA+BzjF,GAC3B,MAAO,CACHtH,KAAMC,EAAAA,GAAY+qF,wBAClBP,OAAQ,CAAEnjF,QAAAA,GAElB,EAtGI0/C,gBAwGJ,SAAyBC,GACrB,OAAO,SAAA1nD,GACHyvE,EAAAA,GACKhoB,gBAAgBC,GAChBxjD,MAGL,WACIlE,EAAS,CAAES,KAAMC,EAAAA,GAAYgrF,oBAC7B/wD,EAAAA,EAAQ6W,QAAQ5W,EAAAA,GAAO+zC,UAC3B,IALKvqE,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,GAM7D,CACJ,EAnHIsnF,gBAyHJ,SAAyBhnF,GACrB,OAAO,SAAC3E,GACJA,EAAS4rF,GAAyB,IAClCnc,EAAAA,GACKkc,gBAAgBhnF,GAChBT,MAAK,SAAA2B,GAAI,OAAIoxC,EAAAA,EAAAA,QAAOpxC,EAAKqxC,KAAMrxC,EAAK2O,MAAQ,gBAAgB,IAC5DpQ,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,IACpD+B,SAAQ,kBAAMpG,EAAS4rF,GAAyB,GAAO,GAChE,CACJ,GAhHA,SAASxB,EAAQyB,GACb,MAAO,CACHprF,KAAMC,EAAAA,GAAYorF,uBAClBD,UAAAA,EAER,CA8FA,SAASD,EAAyBhnF,GAC9B,MAAO,CAAEnE,KAAMC,EAAAA,GAAYqrF,sCAAuC1qF,QAAS,CAAEuD,OAAAA,GACjF,C,kDClHaonF,GAA2B,CACpCtsF,KA4BJ,SAAcusF,GACV,sBAAAtsF,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,GAAQ,IAAAw3E,EAAA,OAAA33E,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAClBR,EAASoqF,IAAQ,IACjBpqF,EAAS0e,GAAAA,EAAwBtb,SACjC,KACUo0E,EAAcyU,GAAqBA,EAAkB5sE,UAGvDrf,EAASksF,IAAa,IACtBlsF,EAASmsF,GAA0B3U,KAGvCx3E,EAASsgB,KACb,CAAE,MAAOjc,GACLrE,EAASyB,EAAAA,EAAaC,cAAc2C,GACxC,CAAC,QAEGrE,EAASoqF,IAAQ,GACrB,CAAC,wBAAA9pF,EAAAqB,OAAA,GAAA5B,EAAA,KACJ,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EAlBD,EAmBJ,EA/CIsB,MAwFJ,WAAmC,IAApBgpF,EAAStqF,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,GACpB,OAAO,SAAC9B,EAAUoC,GACd,IAAQiqF,EAA0BjqF,IAAW2c,iBAArCstE,sBAERrsF,EAAS0e,GAAAA,EAAwBtb,SACjCpD,EAASyB,EAAAA,EAAag5B,cACtBz6B,EAAS,CACLS,KAAMC,EAAAA,GAAYwf,MAClB5W,WAAY+iF,EACZD,UAAAA,GAER,CACJ,EAnGI9rE,OAAAA,GACAgsE,uBA6GJ,WACI,MAAO,CAAE7rF,KAAMC,EAAAA,GAAY6rF,0BAC/B,EA9GIL,aAAAA,GACAM,iBAAAA,GACAC,uBAAAA,GACAC,mBAAAA,GACAC,sBAAAA,GACAC,sBAqOJ,SAA+B5iF,EAAe6iF,GAC1C,OAAO,SAAC7sF,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAYosF,yBAClBhhE,KAAM,CAAE9hB,cAAAA,EAAe6iF,UAAAA,KAG3B,IAAAE,EAA+B3qF,IAAWy4B,kBAAlCmyD,EAAKD,EAALC,MAAOC,EAAWF,EAAXE,YACTC,EAAiBF,EAAMhsE,QAAO,SAAA4P,GAAC,OAAIA,EAAEi8D,SAAS,IAAEtkF,OAClD2kF,IAAmBF,EAAMzkF,QAAW0kF,EAEV,IAAnBC,GAAwBD,GAC/BjtF,EAASmtF,IAAe,IAFxBntF,EAASmtF,IAAe,GAIhC,CACJ,EAnPIA,eAAAA,GACAC,wBA2PJ,SAAiCv7E,EAAmBQ,EAAYgf,GAC5D,MAAO,CACH5wB,KAAMC,EAAAA,GAAY2sF,0BAClBtqB,UAAW,CAAElxD,kBAAAA,EAAmBQ,WAAAA,EAAYgf,SAAAA,GAGpD,EAhQIi8D,cAAAA,GACAC,gBAAAA,GACAC,iBAAAA,GACAhyD,QA6QJ,SAAiB1P,GACb,OAAO,SAAC9rB,EAAUoC,GACdpC,EAASstF,IAAc,IACvB/xD,EAAAA,GACKC,QAAQ1P,EAAK9hB,eACb9F,MAKL,WACI,IAAM8oF,EAAQ5qF,IAAWy4B,kBAAkBmyD,MAAMplF,KAAI,SAAAgpB,GAAC,OAClDA,EAAE5mB,gBAAkB8hB,EAAK9hB,eAAa1H,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC3BsuB,GAAC,IAAE68D,UAAU,IAClB78D,CAAC,IACX5wB,EAAS0tF,GAAeV,GAC5B,IATQ,SAAA3oF,GAAC,OAAIrE,EAASyB,EAAAA,EAAaiB,MAAM2B,EAAG6lB,EAAAA,GAAc5lB,iBAAiB,GAU/E,CACJ,EA9RIqpF,UAgSJ,SAAmB7hE,GACf,OAAO,SAAC9rB,EAAUoC,GACdpC,EAASutF,IAAgB,IACzBhyD,EAAAA,GACKoyD,UAAU7hE,EAAK9hB,eACf9F,MAKL,WACI,IAAM8oF,EAAQ5qF,IAAWy4B,kBAAkBmyD,MAAMplF,KAAI,SAAAgpB,GAAC,OAClDA,EAAE5mB,gBAAkB8hB,EAAK9hB,eAAa1H,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC3BsuB,GAAC,IAAE68D,UAAU,IAClB78D,CAAC,IACX5wB,EAAS0tF,GAAeV,GAC5B,IATQ,SAAA3oF,GAAC,OAAIrE,EAASyB,EAAAA,EAAaiB,MAAM2B,EAAG6lB,EAAAA,GAAc5lB,iBAAiB,GAU/E,CACJ,EAjTIspF,WAAAA,GACAC,WAwUJ,WACI,OAAO,SAAC7tF,EAAUoC,GACd,IAAMy8B,EAAQz8B,IACd0rF,EAAuCjvD,EAAMgnD,aAArCzkD,EAAO0sD,EAAP1sD,QAAS2sD,EAAiBD,EAAjBC,kBACjBC,EAAyDnvD,EAAMhE,kBAAkB+yD,WAAzE/7E,EAAiBm8E,EAAjBn8E,kBAAmBQ,EAAU27E,EAAV37E,WAAY47E,EAAaD,EAAbC,cAEnC7sD,GAAWA,EAAQ3P,OAAM,SAAAne,GAAC,OAAKA,EAAE5Q,KAAK,MACtC1C,EAAS+mE,GAAoB3jE,SAC7BpD,EAAS4tF,IAAW,IACpBM,EAAAA,GACK1qE,KAAK3R,EAAmBQ,EAAY+uB,EAAS6sD,EAAeF,GAC5D7pF,MAAK,SAAAiqF,GACFnuF,EAAS,CACLS,KAAMC,EAAAA,GAAY0tF,cAClBhoE,OAAQ,CAAEvU,kBAAAA,EAAmBQ,WAAAA,EAAY+uB,QAAAA,EAAS6sD,cAAeE,KAErEnuF,EAASqhC,GAAAA,EAAkBC,kBAAkBjvB,EAAY+uB,GAC7D,IACCh9B,OAAM,SAAAC,GACc,MAAbA,EAAEO,OACF5E,EACIsU,EAAAA,EAAoB6mB,iCAChBjR,EAAAA,GAAckR,YACdlR,EAAAA,GAAcmR,mBACd,IAIRr7B,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAE9C,IAEZ,CACJ,EAxWIgqF,UAAAA,GACAvI,UA0XJ,WACI,OAAO,SAAC9lF,EAAUoC,GACd,IAAMy8B,EAAQz8B,IACdksF,EAA0BzvD,EAAMmnD,YAAxBtlB,EAAK4tB,EAAL5tB,MAAO/7C,EAAM2pE,EAAN3pE,OACf4pE,EAA0C1vD,EAAMhE,kBAAkBwzD,UAA1Dx8E,EAAiB08E,EAAjB18E,kBAAmBQ,EAAUk8E,EAAVl8E,WAEvBquD,GAAS/7C,EAAOmW,UAChB96B,EAASgnE,GAAmB5jE,SAC5BpD,EAASquF,IAAU,IAEnBG,EAAAA,GACKhrE,KAAK3R,EAAmBQ,EAAYquD,GACpCx8D,MACG,kBAAMlE,EAAS,CACXS,KAAMC,EAAAA,GAAY+tF,aAClBroE,OAAQ,CAAEvU,kBAAAA,EAAmBQ,WAAAA,EAAYquD,OAAKp+D,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAOo+D,GAAK,IAAEj7C,OAAO,MACrE,IACF,SAAAphB,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,IAG9D,CACJ,EA9YIqqF,YAgZJ,WACI,OAAO,SAAC1uF,EAAUoC,GACd,IAAAusF,EAA0CvsF,IAAWy4B,kBAAkBwzD,UAA/Dx8E,EAAiB88E,EAAjB98E,kBAAmBQ,EAAUs8E,EAAVt8E,WAE3BrS,EAASgnE,GAAmB5jE,SAC5BpD,EAASquF,IAAU,IAEnBG,EAAAA,GACKE,YAAY78E,EAAmBQ,GAC/BnO,MACG,kBAAMlE,EAAS,CACXS,KAAMC,EAAAA,GAAY+tF,aAClBroE,OAAQ,CAAEvU,kBAAAA,EAAmBQ,WAAAA,EAAY7J,eAAAA,IAC3C,IACF,SAAAnE,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,GAE1D,CACJ,EAhaIuqF,YAkaJ,WACI,OAAO,SAAC5uF,EAAUoC,GAId,IAHA,IAAQ4qF,EAAU5qF,IAAWy4B,kBAArBmyD,MACFh6E,EAAa,GAEVwS,EAAI,EAAGA,EAAIwnE,EAAMzkF,OAAQid,IAC9B,GAAIwnE,EAAMxnE,GAAGqF,UACT,IAAK,IAAIgkE,EAAI,EAAGA,EAAI7B,EAAMxnE,GAAGqF,UAAUtiB,OAAQsmF,IACvC7B,EAAMxnE,GAAGqF,UAAUgkE,GAAGx9D,UACtBre,EAAWpP,MAAItB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACV0qF,EAAMxnE,GAAGqF,UAAUgkE,IAAE,IACxBztD,QAAS,GACTs/B,MAAO,QAO3B1gE,EAAS8uF,GAAAA,GAAYr2D,kBAAkB,CAAEzlB,WAAAA,KACzC2nB,EAAAA,EAAQ/2B,KAAKg3B,EAAAA,GAAOm0D,cACxB,CACJ,EAvbIC,WAgcJ,SAAoBhlF,GAChB,OAAO,SAAChK,EAAUoC,GACdpC,EAASwtF,IAAiB,IAE1BjyD,EAAAA,GACKyzD,WAAWhlF,GACX9F,MAGL,WACI,IAAM8oF,EAAQ5qF,IAAWy4B,kBAAkBmyD,MACtChsE,QAAO,SAAA4P,GAAC,OAAIA,EAAE5mB,gBAAkBA,CAAa,IAElDhK,EAAS0tF,GAAeV,GAC5B,IAPK5oF,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,EAAaiB,MAAM2B,EAAG6lB,EAAAA,GAAc5lB,iBAAiB,GAQlF,CACJ,EA/cI2qF,cA6eJ,SAAuBjlF,EAAepF,GAClC,sBAAAO,GAAAvF,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,GAAQ,OAAAH,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OACmC,OAArDR,EAASkvF,GAAsBllF,GAAe,IAAOrD,EAAApG,KAAA,EAAAoG,EAAAnG,KAAA,EAE3C+6B,EAAAA,GAAmB0zD,cAAcjlF,EAAepF,GAAQ,KAAD,EAC7D5E,EAAS,CAAES,KAAMC,EAAAA,GAAYyuF,oCAAqC9tF,QAAS,CAAE2I,cAAAA,EAAepF,OAAAA,KAAY+B,EAAAnG,KAAA,gBAAAmG,EAAApG,KAAA,EAAAoG,EAAApF,GAAAoF,EAAA,SAExG3G,EAASyB,EAAAA,EAAa6C,gBAAeqC,EAAApF,KAAK,QAEY,OAFZoF,EAAApG,KAAA,GAE1CP,EAASkvF,GAAsBllF,GAAe,IAAQrD,EAAAG,OAAA,6BAAAH,EAAAhF,OAAA,GAAA+E,EAAA,wBAE7D,gBAAAK,GAAA,OAAA5B,EAAAtD,MAAA,KAAAC,UAAA,EAVD,EAWJ,EAxfI85E,aAgdJ,WACI,OAAO,SAAC57E,EAAUoC,GACd,IAAAgtF,EAAmDhtF,IAAWy4B,kBAAtDw0D,EAAgBD,EAAhBC,iBAAkBC,EAAoBF,EAApBE,qBAErBD,GAAqBC,IACtBtvF,EAASuvF,IAAmB,IAC5BvvF,EAASsgB,MAEjB,CACJ,GAhcA,SAAS6rE,GAA0B3U,GAC/B,OAAO,SAAAx3E,GACH,IAAIs3D,EAAMtI,EAyBWvY,EAAUE,EAvBzBggC,EAAc,EAChB3F,EAAAA,GAAAA,KAWJ,SAAuCA,GACnCA,EAAYlrD,SAAQ,SAAAN,GAAC,OAAIxlB,EAAS0e,GAAAA,EAAwBc,cAAcgG,GAAG,GAC/E,KAZIixB,EAAAA,GAAAA,KAAS,SAAA7kB,GAAI,OAAI0lC,EAAO1lC,CAAI,KAC5B+kB,EAAAA,GAAAA,KAAO,SAAA/kB,GAAI,OAAIo9B,EAAKp9B,CAAI,KACxB4iB,EAAAA,GAAAA,KAYJ,SAAkCA,GAC9B,IAAMg7C,EAAah7C,EAAS5sC,KAAI,SAAA0Z,GAAC,OAAIvG,OAAOuG,EAAE,IAC9CthB,EAAS0sF,GAAkB7qF,WAAC,GAAD8jB,EAAAA,EAAAA,GAAI6pE,IACnC,KAdIC,EAAAA,GAAAA,KAAU,SAAAA,GAAS,OAAIzvF,EAAS2sF,GAAsB8C,GAAW,KAGrEhY,GAAAA,EAAsBiY,YAAYlY,EAAab,GAE/C32E,GAaqBy2C,EAbQ6gB,EAaE3gB,EAbIqY,EAchC,SAAAhvD,GACH,IAAA2vF,GAAgCC,EAAAA,EAAAA,IAAmBn5C,EAAUE,GAArDkmC,EAAM8S,EAAN9S,OAAQgT,EAAWF,EAAXE,YAEhB7vF,EAASwsF,GAAiB3P,IACtBA,EAAOx1D,MAAQyoE,EAAAA,GAAsBC,OAAO1oE,KAC5CrnB,EAASysF,GAAuBoD,GAExC,GAXA,CACJ,CA4BA,SAAS3D,KAAmC,IAAtB8D,IAAYluF,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,KAAAA,UAAA,GAC9B,OAAO,SAAA9B,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYuvF,gBACzBD,GACAhwF,EAASsgB,KAEjB,CACJ,CAMA,SAAS8pE,GAAQyB,GACb,MAAO,CACHprF,KAAMC,EAAAA,GAAYwvF,QAClBrE,UAAAA,EAER,CAEA,SAASvrE,KACL,OAAO,SAACtgB,EAAUoC,GACd,IACQktF,EAAyBltF,IAAWy4B,kBAApCy0D,qBACHA,IACDtvF,EA4XD,CACHS,KAAMC,EAAAA,GAAYyvF,mCA5XdnwF,EAgED,CAAES,KAAMC,EAAAA,GAAY0vF,kBA/DnBpwF,EAAS8tD,GAAAA,EAAsB7qC,SAGnC,IAAM4b,EAAQz8B,IACRiuF,EA6Cd,SAA0B7rF,GAA2C,IAAxCq2B,EAAiBr2B,EAAjBq2B,kBAAmB9b,EAAgBva,EAAhBua,iBACpCuwE,EAAoDz0D,EAApDy0D,qBAAsBtuE,EAA8B6Z,EAA9B7Z,OAAQsvE,EAAsBz1D,EAAtBy1D,kBAC9BhxE,EAAoBP,EAApBO,gBACFixE,EAAYjB,EAAuBgB,EAAoBtvE,EAE7D,OAAA1e,EAAAA,EAAAA,GAAA,CACI2uE,qBAAsB3xD,EACtBk1B,SAAU+7C,EAAU/7C,SAASxzB,QAAO,SAAAM,GAAC,OAAIA,EAAE+P,QAAQ,IAAEzpB,KAAI,SAAA0Z,GAAC,OAAIA,EAAEnP,KAAK,IACrEs9E,UAAWe,GAAmBD,EAAUE,gBACrCl6C,EAAAA,EAAAA,IAAmBg6C,GAE9B,CAxD+BG,CAAkB7xD,GACzC8xD,EAAwC9xD,EAAMhE,kBAAtC+1D,EAAiBD,EAAjBC,kBAAmBC,EAAQF,EAARE,SAErBC,EAAiBxB,EAAuBsB,EAAoB,EAZ1C,EAaxBr1D,EAAAA,GACKjb,OAAO+vE,EAAgBS,EAAgBD,GACvC3sF,MAIL,SAAgBuC,GAAiC,IAA9Bg1E,EAAiBh1E,EAAjBg1E,kBAAmBt0B,EAAM1gD,EAAN0gD,OAClCnnD,GAiByBghB,EAjBYqvE,EAkBtC,WACH,IAAM1Z,EAAc,EAAC3F,EAAAA,GAAAA,OAAex8B,EAAAA,GAAAA,OAAYiC,EAAAA,GAAAA,OAAYE,EAAAA,GAAAA,OAAU84C,EAAAA,GAAAA,OAChEjY,EAAcC,GAAAA,EAAsBC,UAAU12D,EAAQ21D,GAExDa,GACA78C,EAAAA,EAAQ6W,QAAQ7W,EAAAA,EAAQmY,SAASlX,SAAW,IAAM47C,EAE1D,IAxBQx3E,EAAS,CACLS,KAAMC,EAAAA,GAAYqwF,gBAClB/D,MAAO7lC,EACPs0B,kBAAAA,EACA6T,qBAAAA,EACAwB,eAAAA,IAWhB,IAAqC9vE,CAT7B,IAZK5c,OAcL,SAAiBC,GACbrE,EAASksF,IAAa,IACtBlsF,EAASyB,EAAAA,EAAaC,cAAc2C,GACxC,IAhBK+B,SAAQ,kBAAMpG,EAASuvF,IAAmB,GAAO,GAiB1D,CACJ,CAaA,SAASiB,GAAmBhX,GACxB,SAAIA,EAAQ,KAAMA,EAAQ,GAAGnoD,UAAamoD,EAAQ,GAAGnoD,aACjDmoD,EAAQ,IAAMA,EAAQ,GAAGnoD,WAAamoD,EAAQ,GAAGnoD,WAC9C,IACX,CAmBA,SAASm7D,GAAiB3P,GACtB,OAAO,SAAC78E,EAAUoC,GACd,IAAQ4e,EAAW5e,IAAWy4B,kBAAtB7Z,OAERhhB,EAAS,CACLS,KAAMC,EAAAA,GAAYswF,mBAClBnU,OAAAA,IAGAA,EAAOx1D,MAAQyoE,EAAAA,GAAsBC,OAAO1oE,KAC5CrG,EAAOiwE,iBACPjwE,EAAOiwE,gBAAgB35B,MACvBt3D,EAASysF,GAAuB,CAAC,GAEzC,CACJ,CAEA,SAASA,GAAuBhuE,GAC5B,MAAO,CACHhe,KAAMC,EAAAA,GAAYwwF,0BAClBzyE,UAAAA,EAER,CAEA,SAASiuE,KAAiC,IAAD,IAAAxR,EAAAp5E,UAAAyG,OAAVisC,EAAQ,IAAAmzB,MAAAuT,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAR5mC,EAAQ4mC,GAAAt5E,UAAAs5E,GACnC,OAAO,SAAAp7E,GACHA,EAAS,CACLS,KAAMC,EAAAA,GAAYywF,+BAClB38C,SAAAA,GAER,CACJ,CAEA,SAASm4C,GAAsB8C,GAC3B,OAAO,SAAAzvF,GACHA,EAAS,CACLS,KAAMC,EAAAA,GAAY0wF,wCAClB3B,UAAAA,GAER,CACJ,CAmBA,SAAStC,GAAeF,GACpB,MAAO,CACHxsF,KAAMC,EAAAA,GAAY2wF,iBAClBpE,YAAAA,EAER,CAUA,SAASK,GAAcvlF,EAAS+jB,GAC5B,MAAO,CACHrrB,KAAMC,EAAAA,GAAY4wF,eAClBpG,OAAQnjF,EAAU,CAAEA,QAAAA,EAAS+jB,KAAAA,GAAS,CAAC,EAE/C,CAEA,SAASyhE,GAAgBxlF,EAAS+jB,GAC9B,MAAO,CACHrrB,KAAMC,EAAAA,GAAY6wF,iBAClBrG,OAAQnjF,EAAU,CAAEA,QAAAA,EAAS+jB,KAAAA,GAAS,CAAC,EAE/C,CA0CA,SAAS4hE,GAAeV,GACpB,MAAO,CAAEvsF,KAAMC,EAAAA,GAAY8wF,iBAAkBnwF,QAAS,CAAE2rF,MAAAA,GAC5D,CAEA,SAASY,GAAW7lF,EAAS8J,EAAmBuB,GAC5C,OAAO,SAACpT,EAAUoC,GACd,GAAI2F,EAAS,CAAC,IAAD0pF,EACHC,EAAyE,QAAzDD,EAAGrvF,IAAWwtE,SAAS+hB,WAAWA,WAAWv+E,EAASzO,WAAG,IAAA8sF,OAAA,EAAtDA,EAAwDj8D,MACjFx1B,EAAS,CACLS,KAAMC,EAAAA,GAAYkxF,YAClBhE,WAAY,CAAE/7E,kBAAAA,EAAmBQ,WAAYe,EAASzO,GAAIspF,cAAe76E,EAAS66E,iBAEtFjuF,EAAS+mE,GAAoBrnE,KAAKmS,EAAmBuB,EAASzO,GAAIyO,EAASqB,OAAQi9E,GAAoBt+E,EAASguB,SACpH,MACIphC,EAAS,CACLS,KAAMC,EAAAA,GAAYkxF,YAClBhE,WAAY,CAAC,GAGzB,CACJ,CAqCA,SAASS,GAAUtmF,EAAS8J,EAAmBuB,GAC3C,OAAO,SAAApT,GACC+H,GACA/H,EAAS,CACLS,KAAMC,EAAAA,GAAYmxF,WAClBxD,UAAW,CAAEx8E,kBAAAA,EAAmBQ,WAAYe,EAASzO,MAEzD3E,EAASgnE,GAAmBtnE,KAAK0T,EAASqB,OAAQrB,EAASstD,SAE3D1gE,EAAS,CACLS,KAAMC,EAAAA,GAAYmxF,WAClBxD,UAAW,CAAC,GAGxB,CACJ,CAoEA,SAASb,GAAiBzlF,EAASiC,GAC/B,MAAO,CACHvJ,KAAMC,EAAAA,GAAYoxF,mBAClB5G,OAAQ,CAAEnjF,QAAAA,EAASiC,cAAAA,GAE3B,CA+BA,SAASulF,GAAmBpH,GACxB,MAAO,CACH1nF,KAAMC,EAAAA,GAAYqxF,yCAClB5J,aAAAA,EAER,CAQA,SAAS+G,GAAsBllF,EAAem+E,GAC1C,MAAO,CAAE1nF,KAAMC,EAAAA,GAAYsxF,8CAA+C3wF,QAAS,CAAE2I,cAAAA,EAAem+E,aAAAA,GACxG,CCrhBO,IAAMphB,GAAsB,CAC/BrnE,KAWJ,SAAcmS,EAAmBQ,EAAYoC,EAAQ2sB,GACjD,OAAO,SAAAphC,GACHA,EAAS,CACLS,KAAMC,EAAAA,GAAYuxF,cAClBpgF,kBAAAA,EACAQ,WAAAA,EACAoC,OAAAA,EACA2sB,QAASA,GAAW,IAE5B,CACJ,EApBIh+B,MAsBJ,WAAwC,IAAzB8uF,EAAcpwF,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,GACzB,MAAO,CACHrB,KAAMC,EAAAA,GAAYwf,MAClBgyE,eAAAA,EAER,EA1BI3/E,IA4BJ,SAAa4/E,GACT,OAAO,SAAAnyF,GACHA,EAAS,CACLS,KAAMC,EAAAA,GAAY0xF,WAClBD,OAAAA,IAEJnyF,EAAS+mF,EAAa3jF,QAE1B,CACJ,EApCIivF,WA2DJ,SAAoBl2E,EAAW1G,GAC3B,MAAO,CACHhV,KAAMC,EAAAA,GAAY4xF,YAClBC,OAAQ,CAAEp2E,UAAAA,EAAW1G,KAAM+8E,EAAAA,GAAYC,uBAAuBh9E,IAEtE,EA/DIi9E,cAAAA,GACAC,gBAoCJ,SAAyBx2E,EAAWy2E,GAChC,OAAO,SAAC5yF,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAYmyF,kBAClBN,OAAQ,CAAEp2E,UAAAA,EAAWy2E,UAAAA,KAGzB,IACMT,EADc/vF,IAAWyjF,aAAvBzkD,QACe/tB,MAAK,SAAAC,GAAC,OAAIA,EAAElT,QAAQuE,KAAOwX,CAAS,IAE3Dnc,EAAS0yF,GAAcv2E,EAAWg2E,EAAO18E,KAAMm9E,GACnD,CACJ,EA/CIE,aAiDJ,SAAsBpzE,GAClB,MAAO,CACHjf,KAAMC,EAAAA,GAAYqyF,eAClBrzE,MAAAA,EAER,EArDIuL,SAAAA,GACA+nE,gBA+JJ,SAAyBC,GACrB,sBAAAtzF,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAUoC,GAAQ,OAAAvC,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,GACtB0yF,EAAAA,EAAAA,KAAK,kBAAO9wF,IAAWyjF,aAAasN,aAAa,IAAE,KAAD,EACxDnzF,EAASirB,MACTgoE,IAAqB,wBAAA3yF,EAAAqB,OAAA,GAAA5B,EAAA,KACxB,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EAJD,EAKJ,GAxGA,SAAS4wF,GAAcv2E,EAAW1G,EAAMm9E,GACpC,OAAO,SAAC5yF,EAAUoC,GACd,GAAI8lB,EAAAA,GAAYC,mBAAmB1S,GAC/B,OAAOzV,EAASozF,GAAej3E,EAAW+N,EAAAA,GAAcwK,QAC1D,GAAIjf,EAAK49E,MAAM,KACb,OAAOrzF,EAASozF,GAAej3E,EAAW+N,EAAAA,GAAcyK,eAG5D30B,EAASszF,IAAY,IAErBpF,EAAAA,GACK5e,UAAU75D,EAAMm9E,GAChB1uF,MAIL,SAA4B2iE,GACxB,IAAQzlC,EAAYh/B,IAAWyjF,aAAvBzkD,QACJA,GAAWA,EAAQ74B,QACnBvI,EAahB,SAA+Bmc,GAAkC,IAAvB+kD,EAAep/D,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,CAAC,EACzD,OAAO,SAAC9B,EAAUoC,GACd,GAAKA,IAAWyjF,aAAazkD,QAA7B,CAEA,IAAMmyD,EAAe,CAAEp3E,UAAAA,EAAW+kD,gBAAiB,GAAIzrD,KAAM,IACrC,OAApByrD,GAA4Bp5C,EAAAA,GAAaC,SAASm5C,EAAgBsyB,eAClED,EAAaryB,gBAAkBA,EAAgBsyB,YAAY/jE,QAAQ,GACnE8jE,EAAa99E,KAAOyrD,EAAgBxnD,OAGxC1Z,EAAS,CACLS,KAAMC,EAAAA,GAAY+yF,wBAClBlB,OAAQgB,IAGZ,IACMpB,EADc/vF,IAAWyjF,aAAvBzkD,QACe/tB,MAAK,SAAAC,GAAC,OAAIA,EAAElT,QAAQuE,KAAOwX,CAAS,IAE3D,GAAIg2E,EAAOzvF,MAAO,CACd,IAAMA,EAAQgxF,GAAevB,GACzBA,EAAOzvF,QAAUA,GACjB1C,EAASozF,GAAej3E,EAAWzZ,GAE3C,CArB4C,CAsBhD,CACJ,CAtCyBixF,CAAsBx3E,EAAW0qD,GAElD,IARKziE,OAUL,SAA2B1B,GACvB,IAAMkxF,EAAkBlxF,GAASA,EAAMmhC,SAAW0nC,EAAAA,GAAUC,SAAS9oE,EAAMmhC,SACrErhC,EAAeoxF,EAAkBA,EAAgBlxF,MAAQwnB,EAAAA,GAAcyK,aAE7E30B,EAASozF,GAAej3E,EAAW3Z,GACvC,IAdK4D,SAAQ,kBAAMpG,EAASszF,IAAY,GAAO,GAenD,CACJ,CA6BA,SAASroE,KACL,OAAO,SAACjrB,EAAUoC,GACd,GAAKA,IAAWyjF,aAAazkD,QAA7B,CAEA,IAAMA,EAAUh/B,IAAWyjF,aAAazkD,QAAQx5B,KAAI,SAAA0L,GAChD,IAAM5Q,EAAQgxF,GAAepgF,GAC7B,OAAOA,EAAE5Q,MAAQ4Q,GAAChR,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAQgR,GAAC,IAAE5Q,MAAAA,GACjC,IAEA1C,EAAS,CAAES,KAAMC,EAAAA,GAAYmzF,kBAAmBzyD,QAAAA,GAPJ,CAQhD,CACJ,CAEA,SAASsyD,GAAevB,GACpB,IAAIzvF,EAQJ,MANoB,KAAhByvF,EAAO18E,MAA8B,MAAf08E,EAAO18E,KAC7B/S,EAAQwnB,EAAAA,GAAcwK,MACdy9D,EAAOjxB,kBAAmBixB,EAAO18E,KAAK49E,MAAM,OACpD3wF,EAAQwnB,EAAAA,GAAcyK,cAGnBjyB,CACX,CAEA,SAAS0wF,GAAej3E,EAAW3Z,GAC/B,MAAO,CACH/B,KAAMC,EAAAA,GAAYozF,WAClBpxF,MAAO,CAAEyZ,UAAAA,EAAW3Z,aAAAA,GAE5B,CAEA,SAAS8wF,GAAYH,GACjB,MAAO,CACH1yF,KAAMC,EAAAA,GAAYqzF,YAClBZ,cAAAA,EAER,CChKO,IAAMnsB,GAAqB,CAC9BtnE,KAYJ,SAAc+U,EAAQisD,EAAOszB,GACzB,MAAO,CACHvzF,KAAMC,EAAAA,GAAYuzF,UAClB1iF,KAAM,CACFkD,OAAAA,EACAisD,MAAOA,GAAKp+D,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAEDo+D,GAAK,IACRnF,uBAAwBmF,EAAMnF,wBAA0B24B,EAAAA,GAAoBC,MAAM9sE,MAgB3F,CACH5B,OAAO,EACPmtE,UAAWwB,EAAAA,GAAiBC,MAAMhtE,IAClCk0C,uBAAwB24B,EAAAA,GAAoBC,MAAM9sE,IAClDitE,QAAQ,EACRC,UAAWC,EAAAA,GAAWtpE,KAAK7D,KAlBvB2sE,GAAAA,GAGZ,EAzBI5wF,MA4CJ,WACI,MAAO,CACH3C,KAAMC,EAAAA,GAAYwf,MAE1B,EA/CIu0E,MA0BJ,SAAeT,GACX,MAAO,CACHvzF,KAAMC,EAAAA,GAAYg0F,oBAClBrzF,QAAS,CAAE2yF,GAAAA,GAEnB,EA9BIW,aAgDJ,SAAsBL,GAClB,OAAO,SAACt0F,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAYk0F,cAClBN,OAAAA,IAGelyF,IAAW4jF,YAAtBrhE,OAEG+7C,OACP1gE,EAAS60F,KAEjB,CACJ,EA5DIC,yBA8DJ,SAAkCC,GAC9B,OAAO,SAAC/0F,EAAUoC,GACd,IAAQuiB,EAAWviB,IAAW4jF,YAAtBrhE,OAER3kB,EAAS,CACLS,KAAMC,EAAAA,GAAYs0F,2BAClBD,mBAAAA,IAGApwE,EAAO+7C,OACP1gE,EAAS60F,KAEjB,CACJ,EA1EII,YA4EJ,SAAqBv7E,GACjB,MAAO,CACHjZ,KAAMC,EAAAA,GAAYw0F,aAClBx7E,MAAAA,EAER,EAhFIy7E,eAAAA,GACAxC,gBA+KJ,SAAyBC,GACrB,OAAO,SAAC5yF,EAAUoC,GACdpC,EAAS,CACLS,KAAMC,EAAAA,GAAYmyF,kBAClBD,UAAAA,IAIJ5yF,EAASm1F,GADS/yF,IAAW4jF,YAArBtlB,MACsBhnD,MAAOk5E,GACzC,CACJ,EAxLI3nE,SAAAA,GACA+nE,gBA6MJ,SAAyBC,GACrB,sBAAAtzF,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAUoC,GAAQ,OAAAvC,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,GACtB0yF,EAAAA,EAAAA,KAAK,kBAAO9wF,IAAW4jF,YAAYmN,aAAa,IAAE,KAAD,EAErC/wF,IAAW4jF,YAArBtlB,QAEJ1gE,EAASirB,MACTgoE,KACH,wBAAA3yF,EAAAqB,OAAA,GAAA5B,EAAA,KACJ,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EARD,EASJ,GAxIA,SAASqzF,GAAez7E,EAAOk5E,GAC3B,OAAO,SAAC5yF,EAAUoC,GAkBd,SAASgzF,EAAmBvuB,GACxB,IAQmB3F,EARD9+D,IAAW4jF,YAArBtlB,OAEJ1gE,GAMekhE,EANgB2F,EAOpC,SAAC7mE,EAAUoC,GACd,IAAMizF,EAAc,CAAEn0B,gBAAiB,GAAIxnD,MAAO,IAC1B,OAApBwnD,IACAm0B,EAAYn0B,gBAAkBA,EAAgBsyB,YAC9C6B,EAAY37E,MAAQwnD,EAAgBxnD,OAExC1Z,GAAQsC,EAAAA,EAAAA,GAAC,CACL7B,KAAMC,EAAAA,GAAY+yF,yBACf4B,IAGP,IAAAtP,EAA0B3jF,IAAW4jF,YAA7BtlB,EAAKqlB,EAALrlB,MAAO/7C,EAAMohE,EAANphE,OAEf,GAAIA,EAAOjL,MAAO,CACd,IAAMhX,EAAQ4yF,GAAc50B,GACxBh+D,IAAUiiB,EAAOjL,OACjB1Z,EAASu1F,GAAc7yF,GAE/B,CACJ,GAxBI,CAtBc,KAAVgX,GAAyB,MAATA,GAChB1Z,EAASszF,IAAY,IACrBpF,EAAAA,GACK5e,UAAU51D,EAAOk5E,GACjB1uF,KAAKkxF,GACLlxF,MAAK,kBAAMlE,EAASszF,IAAY,GAAO,IACvClvF,OAAM,WAAa,IAAZC,EAACvC,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,CAAC,EACTszF,EAAmB,MACnB,IAAM5yF,EAAe+oE,EAAAA,GAAUC,SAASnnE,EAAEw/B,SACtCrhC,GAAgBA,EAAaE,OAC7B1C,EAASu1F,GAAc/yF,EAAaE,OAE5C,KAEJ0yF,EAAmB,KAS3B,CACJ,CAyBA,SAASE,GAAc50B,GACnB,IAAIh+D,EAOJ,MANoB,KAAhBg+D,EAAMhnD,OAA+B,MAAfgnD,EAAMhnD,MAC5BhX,EAAQ,KACAg+D,EAAMQ,kBACdx+D,EAAQwnB,EAAAA,GAAcyK,cAGnBjyB,CACX,CAaA,SAAS6yF,GAAc7yF,GACnB,MAAO,CACHjC,KAAMC,EAAAA,GAAY80F,gBAClB9yF,MAAAA,EAER,CAEA,SAASmyF,KACL,OAAO,SAAC70F,EAAUoC,GACd,IAAQs+D,EAAUt+D,IAAW4jF,YAArBtlB,MACF+0B,EArBd,SAAuB/0B,GACnB,IAAMg1B,EAAah1B,EAAM4zB,QAAU5zB,EAAMnF,yBAA2B24B,EAAAA,GAAoBjgF,KAAKoT,IACvFsuE,GAAYj1B,EAAM4zB,QAAU5zB,EAAMnF,yBAA2B24B,EAAAA,GAAoBC,MAAM9sE,IAE7F,OAAIquE,GAAcC,EACPzrE,EAAAA,GAAc0rE,aAGlB,IACX,CAY2BC,CAAcn1B,GAE7BA,EAAMh+D,QAAU+yF,GAChBz1F,EAAS,CACLS,KAAMC,EAAAA,GAAYo1F,gBAClBpzF,MAAO+yF,GAGnB,CACJ,CAcA,SAASxqE,KACL,OAAO,SAACjrB,EAAUoC,GACd,IACM2zF,EAAaT,GADDlzF,IAAW4jF,YAArBtlB,OAGR1gE,EAASu1F,GAAcQ,IAElBA,GACD/1F,EAAS60F,KAEjB,CACJ,CAEA,SAASvB,GAAYH,GACjB,MAAO,CACH1yF,KAAMC,EAAAA,GAAYqzF,YAClBZ,cAAAA,EAER,C,4BChNa6C,GAAsB,CAC/Bt2F,KAiBJ,SAAcsyC,GACV,sBAAAryC,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAMC,GAAQ,IAAA+rC,EAAAkqD,EAAAviE,EAAAwiE,EAAA11B,EAAA21B,EAAA1X,EAAA,OAAA5+E,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAIqD,OAHtER,EAASoqF,IAAQ,IAAO9pF,EAAAC,KAAA,EAEdwrC,EAAmB9I,EAAAA,GAAiBmzD,mBACpCH,EAAwBhzD,EAAAA,GAAiBozD,oBAAmB/1F,EAAAE,KAAA,EAE1CurC,EAAiB,KAAD,EAAzB,OAATrY,EAASpzB,EAAAY,KAAAZ,EAAAE,KAAA,EACcy1F,EAAsB,KAAD,EAShD,GATIC,EAAc51F,EAAAY,KAEpBlB,EAASs2F,GAAc5iE,IACvB1zB,EAASu2F,GAAmBL,IAEtB11B,EAAUhoC,EAAAA,GAAYimD,WAAW72E,KAAI,SAAAgsB,GAAC,OACxCA,EAAEpf,OAASgkB,EAAAA,GAAYyN,MAAMzxB,MAAIlS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACtBsxB,GAAC,IAAEu0C,gCAAiCquB,KACzC5iE,CAAC,KAGPoe,EAAO,CAAD1xC,EAAAE,KAAA,gBAAAF,EAAAE,KAAA,GACoBi2F,EAAAA,GAAgBC,cAAc,KAAD,GAAjDP,EAAW71F,EAAAY,MACXu9E,EAAW0X,EAAYn1E,QAAO,SAAA4S,GAAC,OAAKA,EAAEwvC,UAAY1vC,EAAUtP,MAAK,SAAAhkB,GAAO,OAAIA,EAAQuE,KAAOivB,EAAEzX,SAAS,GAAC,KAEpG2J,SAAQ,SAAA8N,GAAC,OAAIA,EAAExzB,QAAUszB,EAAUrgB,MAAK,SAAAjT,GAAO,OAAIA,EAAQuE,KAAOivB,EAAEzX,SAAS,IAAE3H,IAAI,IAE5FxU,EAAS22F,GAAqBlY,IAC9Bz+E,EAASqpB,GAAAA,EAAY3pB,KAAK++E,EAAUje,IAAUlgE,EAAAE,KAAA,iBAE9CR,EAASqpB,GAAAA,EAAY3pB,KAAK,GAAI8gE,IAAU,QAG5CxgE,EAAS42F,GAAY5kD,IAAS1xC,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAG9BN,EAASyB,EAAAA,EAAaC,cAAapB,EAAAiB,KAAK,QAEf,OAFejB,EAAAC,KAAA,GAExCP,EAASoqF,IAAQ,IAAQ9pF,EAAAwG,OAAA,6BAAAxG,EAAAqB,OAAA,GAAA5B,EAAA,yBAEhC,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EArCD,EAsCJ,EAvDIsB,MA8EJ,WACI,OAAO,SAAApD,GACHA,EAAS,CAAES,KAAMC,EAAAA,GAAYwf,QAC7BlgB,EAASqpB,GAAAA,EAAYjmB,SACrBpD,EAASyB,EAAAA,EAAag5B,aAC1B,CACJ,EAnFI67D,cAAAA,GACAO,cAkGJ,SAAuBz2F,GACnB,OAAO,SAAAJ,GACHA,EAASqpB,GAAAA,EAAYe,QAAQhqB,EAAQoU,OACrCxU,EAASqpB,GAAAA,EAAYy2C,aACrB9/D,EAAS82F,KACb,CACJ,EAvGIA,qBAAAA,GACA9pD,gBAkHJ,SAAyB1jC,GACrB,OAAO,SAACtJ,EAAUoC,GACd,IAAA20F,EAAuC30F,IAAWmoE,aAA1C72C,EAASqjE,EAATrjE,UAAWsjE,EAAeD,EAAfC,gBAEnB,GAAI1tF,EAAWf,OAAQ,CACnB,IAAMsY,EAAsBvX,EAAW2V,cACvCjf,EAAS,CACLS,KAAMC,EAAAA,GAAYu2F,iBAClBrS,OAAQ,CACJt7E,WAAAA,EACAoqB,UAAWA,EAAU1S,QAAO,SAAAM,GAAC,OACzBA,EAAE9M,KAAKyK,cAAcE,WAAW0B,EAAoB,MAIpE,MAAWm2E,EAAgB1tF,YACvBtJ,EAAS82F,KAEjB,CACJ,EApIII,eAsIJ,SAAwBrxF,GACpB,OAAO,SAAC7F,EAAUoC,GACd,IAAAqnB,EAA6BrnB,IAAWgnB,KAAhChW,EAAQqW,EAARrW,SAER,GAFwBqW,EAANC,OAEP9kB,SAAWglB,EAAAA,GAAaC,UAAnC,CAIA,IAAMC,GAAajkB,EAAK2O,KAAKuV,MAAM,KAAKC,OAAS,IAAI/K,cAEnC,QAAd6K,GAAqC,SAAdA,EAQhBjkB,EAAK+F,KAA6C,KAAtC4U,EAAAA,GAAUyJ,0BAAmC,KAChEjqB,EAASyB,EAAAA,EAAaiB,MAClB,KACAwnB,EAAAA,GAAcC,sBAAsB3J,EAAAA,GAAUyJ,2BAC9C,0BAKJ7W,EAASgX,SACTpqB,EAASqpB,GAAAA,EAAYy2C,aAGzB22B,EAAAA,GACKS,eAAerxF,GAwBpB,SAAkBxB,GACd,GAAIA,EAAEmmB,iBAAkB,CACpB,IAAIC,EAAmBpmB,EAAEqmB,OAASrmB,EAAEsmB,MAAS,IAC7C3qB,EAASqpB,GAAAA,EAAYuB,eAAehB,EAAAA,GAAaC,UAAWY,EAAiB5kB,EAAK2O,MACtF,CACJ,IA5BKtQ,MAIL,SAAiBu6E,GACbA,EAAS34D,SAAQ,SAAAxE,GACbA,EAAElhB,QAAUkhB,EAAElhB,QAAUkhB,EAAElhB,QAAQif,OAAS,GAC3CiC,EAAE2kB,MAAQ3kB,EAAE2kB,MAAQ3kB,EAAE2kB,MAAM5mB,OAAS,GACrCiC,EAAEmE,OAAQ,CACd,IACAzlB,EAASqpB,GAAAA,EAAY2B,aAAayzD,IAClCz+E,EAASqpB,GAAAA,EAAY4B,YACrB7J,YACI,kBAAMphB,EAASqpB,GAAAA,EAAYuB,eAAehB,EAAAA,GAAasB,MAAM,GAC7D,IAER,IAhBmB,SAAA7mB,GAAC,OAkBpB,SAAiBA,GACbrE,EAASqpB,GAAAA,EAAYuB,eAAehB,EAAAA,GAAasB,OACjDlrB,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAC1C,CArBwB7C,CAAQ6C,EAAE,IAElCrE,EAASqpB,GAAAA,EAAYuB,eAAehB,EAAAA,GAAaC,UAAW,EAAGhkB,EAAK2O,QAxBhExU,EAASyB,EAAAA,EAAaiB,MAClB,KACAwnB,EAAAA,GAAciB,gBACd,sBARR,CAwDJ,CACJ,EApMIC,oBAsMJ,SAA6B+rE,GACzB,OAAO,SAACn3F,EAAUoC,GACd,IAAAujF,EAAoCvjF,IAAWgnB,KAAvChW,SAAAA,OAAQ,IAAAuyE,EAAG,CAAEjmE,MAAO,GAAGimE,EAE/B3lF,EAASqpB,GAAAA,EAAYiC,gBAAe,IAEpCmrE,EAAAA,GACKW,oBAAoBD,GACpBjzF,MAGL,SAAiBu6E,GACbA,EAAS34D,SAAQ,SAAAxE,GAAC,OAAIA,EAAEmE,OAAQ,CAAI,IACpCzlB,EAASqpB,GAAAA,EAAYE,gBAAgBk1D,EAAUrrE,EAASsM,QACxD1f,EAASqpB,GAAAA,EAAY4B,WACzB,IAPmB,SAAA5mB,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,IAC5D+B,SAAQ,kBAAMpG,EAASqpB,GAAAA,EAAYiC,gBAAe,GAAO,GAOlE,CACJ,EAtNI9H,KAwNJ,WACI,sBAAA/c,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,EAAUoC,GAAQ,IAAA8rD,EAAA9kC,EAAAq1D,EAAA4Y,EAAAC,EAAA,OAAAz3F,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAI0B,GAHtDR,EAASqpB,GAAAA,EAAY4B,YAAYijC,EAEhB9rD,IAATgnB,EAAI8kC,EAAJ9kC,KACFq1D,EAAWr1D,EAAKD,UAAUnI,QAAO,SAAAwE,GAAC,OAAKA,EAAEd,KAAK,IAC/C0E,EAAK0R,UAAW2jD,EAASl2E,OAAM,CAAA5B,EAAAnG,KAAA,eAAAmG,EAAA6rC,OAAA,iBAMZ,OAFhB6kD,EAAoBj1F,IAAWmoE,aAA/B8sB,gBAERr3F,EAASoqF,IAAQ,IAAOzjF,EAAAnG,KAAA,EAClBR,EAASu3F,GAAc9Y,EAAU4Y,IAAkB,KAAD,EAEvC,KAATC,EAAcl1F,IAAWmoE,aAAzB+sB,aACSA,EAAU/uF,OAAM,CAAA5B,EAAAnG,KAAA,SACJ,OAAzBR,EAASoqF,IAAQ,IAAQzjF,EAAA6rC,OAAA,SAClBxyC,EAASw3F,GAAWC,EAAAA,GAAkBH,aAAW,QAG5Dt3F,EAASi7B,GAAOwjD,IAAW,yBAAA93E,EAAAhF,OAAA,GAAA+E,EAAA,KAC9B,gBAAAK,EAAA9B,GAAA,OAAAwB,EAAA5E,MAAA,KAAAC,UAAA,EArBD,EAsBJ,EA9OI41F,aAgPJ,WACI,OAAO,SAAC13F,EAAUoC,GACd,IACMq8E,EADWr8E,IAATgnB,KACcD,UAAUnI,QAAO,SAAAwE,GAAC,OAAKA,EAAEd,KAAK,IAEpD1kB,EAASoqF,IAAQ,IACjBpqF,EAASi7B,GAAOwjD,GACpB,CACJ,EAvPI+Y,WAAAA,GACA9pB,cAAAA,GACAiqB,gBA8YJ,SAAyB70F,GACrB,OAAO,SAAA9C,GACHA,EAAS,CACLS,KAAMC,EAAAA,GAAYk3F,yBAClB90F,QAAAA,IAEJ9C,EAAS0tE,GAAc5qE,EAAQ6B,KAC/B3E,EAKG,CACHS,KAAMC,EAAAA,GAAYm3F,2BALtB,CACJ,EAtZIC,mBA8ZJ,WACI,OAAO,SAAA93F,GACHA,EApCG,CACHS,KAAMC,EAAAA,GAAYq3F,kBAoClB/3F,EAASw3F,GAAWC,EAAAA,GAAkBruE,MAC1C,CACJ,EAlaIotE,4BAAAA,IA4CJ,SAASpM,GAAQyB,GACb,MAAO,CACHprF,KAAMC,EAAAA,GAAYs3F,qBAClBnM,UAAAA,EAER,CAEA,SAAS8K,GAAqBlY,GAC1B,MAAO,CACHh+E,KAAMC,EAAAA,GAAYu3F,iBAClBxZ,SAAAA,EAER,CAEA,SAASmY,GAAY5kD,GACjB,MAAO,CACHvxC,KAAMC,EAAAA,GAAYw3F,UAClBlmD,OAAAA,EAER,CAUA,SAASskD,GAAc5iE,GACnB,MAAO,CACHjzB,KAAMC,EAAAA,GAAYy3F,eAClBzkE,UAAAA,EAER,CAEA,SAAS6iE,GAAmBL,GACxB,MAAO,CACHz1F,KAAMC,EAAAA,GAAY03F,qBAClBlC,eAAAA,EAER,CAUA,SAASY,KACL,MAAO,CACHr2F,KAAMC,EAAAA,GAAYu2F,iBAClBrS,OAAQ,CACJlxD,UAAW,GACXpqB,WAAY,IAGxB,CA8IA,SAAS2xB,GAAOwjD,GACZ,OAAO,SAACz+E,EAAUoC,GACd,IAAAi2F,EAAkDj2F,IAAWmoE,aAArD8sB,EAAegB,EAAfhB,gBAAiB3jE,EAAS2kE,EAAT3kE,UAEnB4kE,EAFuCD,EAATf,UAG/B1vF,KAAI,SAAAgsB,GAAC,OAAIA,EAAE2kE,WAAWv3E,QAAO,SAAAgU,GAAC,OAAIA,EAAEwjE,YAAcxjE,EAAErwB,EAAE,GAAC,IACvDstE,OACArqE,KAAI,SAAAotB,GAAC,OAAIA,EAAEyjE,YAAY,IAEtBC,EAAiBja,EAClBz9D,QAAO,SAACle,EAAS4c,GAAK,OAClB23E,EAAgBjzE,MAAK,SAAAzf,GAAE,OAAI7B,EAAQ6B,KAAOA,CAAE,MAC5C2zF,EAAqBl0E,MAAK,SAAAoB,GAAC,OAAIA,IAAM9F,CAAK,GAAC,IAC/C9X,KAAI,SAAAgsB,GACD,IAAMxzB,EAAUszB,EAAUrgB,MAAK,SAAAjT,GAAO,OAIC,IAHnCA,EAAQoU,KAAKgT,cACToM,EAAExzB,aACFoI,EACA,CAAEif,YAAa,UAAiB,IAGxC,OAAAnlB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYsxB,GAAC,IAAEzX,UAAW/b,GAAWA,EAAQuE,IACjD,IAEJ8xF,EAAAA,GACKkC,SAASD,EAAgBrB,GACzBnzF,MAIL,WACIlE,EAAS44F,GAAe,OACxBj+D,EAAAA,EAAQ6W,QAAQ5W,EAAAA,GAAOsH,QAC3B,IANK99B,OAQL,SAAgBC,GACM,OAAbA,EAAEO,OACH5E,EAASu3F,GAAc9Y,IAEvBz+E,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAE9C,IAbK+B,SAAQ,kBAAMpG,EAASoqF,IAAQ,GAAO,GAc/C,CACJ,CAEA,SAASoN,GAAWqB,GAChB,MAAO,CACHp4F,KAAMC,EAAAA,GAAYo4F,YAClBD,KAAAA,EAER,CAEA,SAAStB,GAAc9Y,EAAU4Y,GAC7B,sBAAA7yF,GAAA5E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA2E,EAAMzE,GAAQ,IAAA+4F,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA9B,EAyCR+B,EAkBAC,EAAmB,OAAAz5F,EAAAA,EAAAA,KAAAQ,MAAC,SAADwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,OAF3B,OAEQ84F,EAAmB,SAACx2F,GACzB,IAAKo2F,EAAgBK,IAAIz2F,EAAQmjC,OAAQ,CACrC,IAAMsyD,EAAaQ,EAAgB/3E,QAAO,SAAA/a,GAAO,OACwC,IAArFA,EAAQggC,MAAMze,cAAc1kB,EAAQmjC,WAAOz9B,EAAW,CAAEif,YAAa,UAAiB,IAEtF8wE,EAAWhwF,SACXgwF,EAAW30F,KAAKd,GAChBo2F,EAAgBl4D,IAAIl+B,EAAQmjC,MAAOsyD,GAE3C,CACJ,EA5BSc,EAAkB,SAACv2F,GACxB,IAAMytC,EAAWipD,EAAAA,GAAUC,YAAY32F,EAAQ+iC,UAAW/iC,EAAQijC,SAAU,IACtE2zD,EAAa,SAAHv0F,GAAiC,IAA3B0gC,EAAS1gC,EAAT0gC,UAAWE,EAAQ5gC,EAAR4gC,SACvB4zD,EAAgBH,EAAAA,GAAUC,YAAY5zD,EAAWE,EAAU,IACjE,OAAO4zD,GAAiG,IAAhFppD,EAAS/oB,cAAcmyE,OAAenxF,EAAW,CAAEif,YAAa,UAC5F,EAEA,GAAI8oB,IAAa0oD,EAAeM,IAAIhpD,GAAW,CAC3C,IAAMqpD,EAAoBb,EAAgB/3E,QAAO,SAAA/a,GAAO,OAAIyzF,EAAWzzF,EAAQ,IACzE4zF,EAAkBb,EAAgBh4E,QAAO,SAAA4S,GAAC,OAAI8lE,EAAW9lE,EAAE,IAC3D2kE,EAAaqB,EAAkB1nF,OAAO2nF,GAExCtB,EAAWhwF,OAAS,GACpB0wF,EAAej4D,IAAIuP,EAAUgoD,EAErC,CACJ,EAAC1zF,EAAAtE,KAAA,EAAAsE,EAAArE,KAAA,EApDOi2F,EAAAA,GAAgBC,cAAa,OADjCqC,EAAel0F,EAAA3D,KAAA2D,EAAArE,KAAA,uBAAAqE,EAAAtE,KAAA,EAAAsE,EAAAtD,GAAAsD,EAAA,SAAAA,EAAA2tC,OAAA,SAIRxyC,EAASyB,EAAAA,EAAa6C,gBAAeO,EAAAtD,MAAI,QAGpDw3F,EAAkBA,EACb/3E,QAAO,SAAA4S,GAAC,OAAKyjE,EAAgBjzE,MAAK,SAAA4Q,GAAC,OAAIA,IAAMpB,EAAEjvB,EAAE,GAAC,IAClDqc,QAAO,SAAA4S,GAAC,OAAK6qD,EAASr6D,MAAK,SAAA01E,GAAE,OAAIA,EAAGn1F,KAAOivB,EAAEjvB,EAAE,GAAC,IAE/Cq0F,EAAkBva,EAAS72E,KAAI,SAACgsB,EAAG6kE,GAAY,OAAAn2F,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAWsxB,GAAC,IAAE6kE,aAAAA,GAAY,IAEzEQ,EAAiB,IAAIc,IACrBb,EAAkB,IAAIa,IAE5Bf,EACKlzE,SAAQ,SAAA8N,GACLylE,EAAmBzlE,GACnB0lE,EAAoB1lE,EACxB,IAEEulE,GAAgBxzE,EAAAA,EAAAA,GAAIszE,EAAex4D,UAAU74B,KAAI,SAAAotB,GAAC,MAAK,CACzDglE,aAAcC,EAAAA,GAAqBC,cACnC3B,WAAYvjE,EACZmlE,YAAY,EACf,IAEKf,GAAiBzzE,EAAAA,EAAAA,GAAIuzE,EAAgBz4D,UAAU74B,KAAI,SAAAotB,GAAC,MAAK,CAC3DglE,aAAcC,EAAAA,GAAqBG,eACnC7B,WAAYvjE,EACZmlE,YAAY,EACf,IAEK7C,EAAY6B,EAAcjnF,OAAOknF,GACvCp5F,EAAS44F,GAAetB,IAAY,yBAAAzyF,EAAAlD,OAAA,GAAA8C,EAAA,kBA+BvC,gBAAAiB,GAAA,OAAAlB,EAAA3C,MAAA,KAAAC,UAAA,EAtED,EAuEJ,CAEA,SAAS82F,GAAetB,GACpB,MAAO,CACH72F,KAAMC,EAAAA,GAAY25F,gBAClB/C,UAAAA,EAER,CAQA,SAAS5pB,KAA4B,IAAD,IAAAwN,EAAAp5E,UAAAyG,OAAVk2E,EAAQ,IAAA9W,MAAAuT,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAARqD,EAAQrD,GAAAt5E,UAAAs5E,GAC9B,OAAO,SAAAp7E,GACH,IAAMs6F,EAAkB7b,EAASz9D,QAAO,SAAArc,GAAE,OAAIA,CAAE,IAC5C21F,EAAgB/xF,QAChBvI,EAAS,CACLS,KAAMC,EAAAA,GAAY65F,eAClB9b,SAAU6b,GAGtB,CACJ,CA0BA,SAAS9D,GAA4BgE,GACjC,OAAO,SAACx6F,EAAUoC,GACd,IACMU,EADgBV,IAAWgnB,KAAzBD,UACkBqxE,GACpBC,EAAa33F,EAAQmjC,MAAMy0D,UAAU53F,EAAQmjC,MAAMukC,YAAY,KAAO,GAE5E,GAAIiwB,EAAY,CACZ,IACME,EADqBv4F,IAAWmoE,aAA9B2rB,eACuB7iF,MAAK,SAAAugB,GAAC,OACjCA,EAAEgnE,YAAYx2E,MAAK,SAAA4Q,GAAC,OAGe,IAHXA,EAAExN,cACtBizE,OACAjyF,EACA,CAAEif,YAAa,UAAiB,GAAC,IACzC,GAAIkzE,EAAS,CACT,IACMv6F,EADgBgC,IAAWmoE,aAAzB72C,UACkBrgB,MAAK,SAAAugB,GAAC,OAAIA,EAAEjvB,KAAOg2F,EAAQx+E,SAAS,IACxDgL,GAAQ7kB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACPQ,GAAO,IACV1C,QAASA,EAAQoU,OAGrBxU,EAASqpB,GAAAA,EAAYC,UAAUkxE,IAC/Bx6F,EAASqpB,GAAAA,EAAYE,gBAAgB,CAACpC,GAAWqzE,GACrD,CACJ,CACJ,CACJ,C,eC1daK,GAA4B,CACrCn7F,KAIJ,WACI,sBAAAC,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAMC,GAAQ,IAAA6vE,EAAA+Z,EAAA,OAAA/pF,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEYivE,EAAAA,GAAiBX,gBAAgB,KAAD,EAAnDe,EAAUvvE,EAAAY,KACV0oF,EAAiBkR,GAAkBjrB,GAEzC7vE,EAAS6pF,EAAAA,EAAuBnqF,KAAKkqF,IAAiBtpF,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAiB,GAAAjB,EAAA,SAGtDN,EAASyB,EAAAA,EAAaC,cAAapB,EAAAiB,KAAK,yBAAAjB,EAAAqB,OAAA,GAAA5B,EAAA,kBAE/C,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EAVD,EAWJ,EAfIsB,MAwBJ,WACI,OAAOymF,EAAAA,EAAuBzmF,OAClC,GATA,SAAS03F,GAAkBjrB,GACvB,OAAOA,EACFjoE,KAAI,SAAA0L,GAAC,OAAIA,EAAEN,YAAc,EAAE,IAC3Bi/D,OACArqE,KAAI,SAAA0Z,GAAC,OAAIA,EAAEsD,UAAU,GAC9B,C,4BCzBam2E,GAA4B,CACrCr7F,KAIJ,SAAcosB,GACV,OAAO,SAAA9rB,GAKX,IAAyBgT,EAJjBhT,GAIiBgT,EAJQ8Y,EAAK9Y,WAK3B,CACHvS,KAAMC,EAAAA,GAAYs6F,sCAClBhoF,WAAAA,IANJ,CACJ,EAPI5P,MAgBJ,WACI,MAAO,CACH3C,KAAMC,EAAAA,GAAYu6F,2BAE1B,G,wCCPaC,GAAiB,CAC1BC,aAaJ,SAAsBC,GAClB,OAAO,SAACp7F,GACJA,EAASq7F,IAAiB,IAC1BC,GAAAA,EAAgCC,YAAY,CAAEH,kBAAAA,IACzCl3F,MAAK,WACFlE,EAASw7F,KACb,IACCp3F,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,IACpD+B,SAAQ,kBAAMpG,EAASq7F,IAAiB,GAAO,GACxD,CACJ,EAtBIj4F,MAQJ,WACI,MAAO,CAAE3C,KAAMC,EAAAA,GAAY+6F,oBAC/B,EATIl5D,qBAfwBp6B,EAAAA,GAAAA,cACxB,iCACA,SAAAE,GAAO,OAAI,SAACyuB,GAAY,OAAKzuB,EAAQ,CAAEyuB,aAAAA,GAAe,KActD0L,oBAXuBr6B,EAAAA,GAAAA,cAAa,gCAYpC0B,eAVkB1B,EAAAA,GAAAA,cAClB,2BACA,SAAAE,GAAO,OAAI,SAACiB,GAAU,OAAKjB,EAAQ,CAAEiB,WAAAA,GAAa,KASlDoyF,2BA2BJ,SAAoC15D,GAChC,MAAO,CAAEvhC,KAAMC,EAAAA,GAAYi7F,uCAAwCt6F,QAAS,CAAE2gC,SAAAA,GAClF,EA5BIw5D,2BAAAA,IAmBJ,SAASH,GAAiBz2F,GACtB,MAAO,CACHnE,KAAMC,EAAAA,GAAYk7F,0CAClBv6F,QAAS,CAAEuD,OAAAA,GAEnB,CAMA,SAAS42F,KACL,MAAO,CAAE/6F,KAAMC,EAAAA,GAAYm7F,uCAC/B,C,8DCpDaC,GAAwB,CACjCxqF,iBAAkB,SAACC,GACf,OAAO,SAAAvR,GACHgS,GAAAA,EAAOC,MAAM,OAAQ,aAAcV,GAC/BA,EAAK3O,WACL5C,EAAS0+E,GAAAA,EAA+BC,yBAAyBptE,EAAK3O,YAEtE2O,EAAK4K,YACLnc,EAAS+7F,GAAAA,EAAwBC,2CAA2CzqF,EAAK4K,YACjFnc,EAAS+7F,GAAAA,EAAwBE,wCAAwC1qF,EAAK4K,YAEtF,CACJ,G,YCXS2S,GAA2B,CACpCC,yBAAAA,GACAmtE,wBAqBJ,SAAiCrqF,GAC7B,OAAO,SAAC7R,EAAUoC,GACmBA,IAAW2Q,cAApCopF,sBAGJ36E,EAAAA,GACKqN,qBAAqBhd,GAAmB,GACxC3N,MAGT,WACIlE,EAAS+uB,IAAyB,IAClC/uB,EAuDD,CACHS,KAAMC,EAAAA,GAAY07F,0BAvDlB,IANuB,SAAA/3F,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,GAOzE,CACJ,EAnCIuqB,aA2DJ,WACI,OAAO,SAAC5uB,EAAUoC,GACd,IAAQ0pB,EAAS1pB,IAAWiW,QAApByT,KACRhZ,EAAgE1Q,IAAW2Q,cAAnEC,EAAUF,EAAVE,WAAY2E,EAAiB7E,EAAjB6E,kBAEpB,IAF2D7E,EAApBqpF,qBAEvC,CAEAn8F,EAASq8F,IAAsB,IAE/B,IAAMC,EACFtpF,EACKpL,KAAI,SAAA0Z,GAAC,IAAAi7E,EAAA,MAAK,CACPlqF,WAAYiP,EAAE3c,GACd63F,sBACIl7E,EAAE3J,qBACD2J,EAAEzY,OAAUyY,EAAEzY,MAAMjE,SAAW63F,GAAAA,EAAYC,SAAWp7E,EAAEzY,MAAMjE,SAAW63F,GAAAA,EAAYE,SAE/E,OAADr7E,QAAC,IAADA,GAAO,QAANi7E,EAADj7E,EAAGxN,YAAI,IAAAyoF,GAAPA,EAASh0F,OAASoP,EAAkBilF,WAAYC,EAAAA,GAAuBj4F,OAAOyiB,IAD9E1P,EAAkBmlF,eAE/B,IAETt7E,EAAAA,GACKoN,aAAa9C,EAAK9hB,cAAesyF,GACjCl4F,OAAM,SAAAC,GAAC,OAAIrE,EAASyB,EAAAA,EAAa6C,gBAAgBD,GAAG,IACpDH,MAAK,kBAAMlE,EAASq8F,IAAsB,GAAO,GAlBtB,CAmBpC,CACJ,EAnFIU,iBAoCJ,SAA0BC,GACtB,MAAO,CACHv8F,KAAMC,EAAAA,GAAYu8F,sCAClBD,WAAAA,EAER,EAxCIE,cA0CJ,SAAuBC,GACnB,MAAO,CACH18F,KAAMC,EAAAA,GAAY08F,mCAClBD,QAAAA,EAER,EA9CIE,wBAgDJ,SAAiChrF,EAAYkiF,GACzC,MAAO,CACH9zF,KAAMC,EAAAA,GAAY48F,8CAClBjrF,WAAAA,EACAkiF,UAAAA,EAER,GAnDA,SAASxlE,GAAyBrX,GAC9B,MAAO,CACHjX,KAAMC,EAAAA,GAAY68F,+CAClB7lF,oBAAAA,EAER,CAEA,SAAS2kF,GAAsBmB,GAC3B,MAAO,CACH/8F,KAAMC,EAAAA,GAAY+8F,wCAClBD,WAAAA,EAER,C,6DCxBaE,IAAuBv1F,EAAAA,GAAAA,cAChC,2BACA,SAAAE,GAAO,OAAI,SAAC00D,EAAMv8D,GAAI,OAAK6H,EAAQ,CAAE00D,KAAAA,EAAMv8D,KAAAA,GAAO,KAGzCm9F,IAAyBx1F,EAAAA,GAAAA,cAClC,6BACA,SAAAE,GAAO,OAAI,SAAC00D,GAAI,OAAK10D,EAAQ,CAAE00D,KAAAA,GAAO,KAG7B6gC,IAAyBz1F,EAAAA,GAAAA,cAClC,8BACA,SAAAE,GAAO,OAAI,SAAC00D,EAAM8gC,GAAqB,OAAKx1F,EAAQ,CAAE00D,KAAAA,EAAM8gC,sBAAAA,GAAwB,KAG3EC,IAA8B31F,EAAAA,GAAAA,cACvC,mCACA,SAAAE,GAAO,OAAI,SAACzD,GAAM,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAGjCm5F,IAAmC51F,EAAAA,GAAAA,cAC5C,yCACA,SAAAE,GAAO,OAAI,SAACkJ,GAAI,OAAKlJ,EAAQ,CAAEkJ,KAAAA,GAAO,KAG7BysF,IAAmC71F,EAAAA,GAAAA,cAC5C,yCACA,SAAAE,GAAO,OAAI,kBAAMA,GAAS,KAGjB41F,IAAmC91F,EAAAA,GAAAA,cAC5C,yCACA,SAAAE,GAAO,OAAI,kBAAMA,GAAS,KAGjB61F,IAA0C/1F,EAAAA,GAAAA,cACnD,iDACA,SAAAE,GAAO,OAAI,SAACzD,GAAM,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAGjCu5F,IAAkBh2F,EAAAA,GAAAA,cAC3B,6B,wBCpBG,IAAMi2F,GAAsB,CAC/BC,gBArBJ,SAAyBt2F,GACrB,OAAO,SAAA/H,GACHA,EAAS,CACLS,KAAM69F,EAAAA,GAAwBC,oCAC9Bl9F,QAAS,CAAE0G,QAAAA,IAEnB,CACJ,EAeIy2F,iBAbJ,SAA0B36D,GACtB,OAAO,SAAA7jC,GACHA,EAAS,CAAES,KAAM69F,EAAAA,GAAwBG,oCACzChI,EAAAA,GAAgBiI,gBAAgB76D,GAC3B3/B,MAAK,kBAAMlE,EAAS,CAAES,KAAM69F,EAAAA,GAAwBK,mCAAoC,IACxFv6F,OAAM,SAACC,GACJrE,EAAS,CAAES,KAAM69F,EAAAA,GAAwBM,kCAAmCv9F,QAASgD,GACzF,GACR,CACJ,G,YCfaqpD,GAAqB,CAC9BhuD,KAAAA,GACAm/F,YAgBJ,SAAqBhtF,EAAmBQ,GACpC,sBAAA1S,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAUoC,GAAQ,IAAA08F,EAAAnkE,EAAA,OAAA96B,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACgB,GAAtCs+F,EAAe18F,IAAW28F,aAE3B5W,EAAAA,EAAAA,IAAa2W,EAAal+F,eAAiBk+F,EAAajtF,oBAAsBA,EAAiB,CAAAvR,EAAAE,KAAA,SAC/C,OAAjDR,EAASg/F,GAAiBn+F,EAAAA,EAAaC,UAAUR,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGvBghB,EAAAA,GAAYy9E,eAAeptF,GAAmB,KAAD,EAA7D8oB,EAAOr6B,EAAAY,KACblB,EAASN,GAAKmS,EAAmB8oB,EAAStoB,IAC1CrS,EAASg/F,GAAiBn+F,EAAAA,EAAaS,UAAUhB,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAEjDN,EAASg/F,GAAiBn+F,EAAAA,EAAaW,UAAU,yBAAAlB,EAAAqB,OAAA,GAAA5B,EAAA,mBAG5D,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EAdD,EAeJ,EA/BI6rD,YAAAA,GACAuxC,cA6CJ,SAAuB7sF,EAAYoC,GAC/B,OAAO,SAACzU,EAAUoC,GACd,IAAMu4B,EAAUv4B,IAAW28F,YAG3B/+F,EAAS2tD,IAFWhzB,EAAQ5yB,SAAWsK,IAAesoB,EAAQtoB,WAE7BA,EAAYoC,GACjD,CACJ,EAnDI0qF,0BAoEJ,SAAmCC,GAC/B,OAAO,SAAAp/F,GACHA,EAAS,CACLS,KAAMC,EAAAA,GAAY2+F,8BAClBD,SAAAA,IAGJ59E,EAAAA,GACK29E,0BAA0BC,GAC1Bh7F,OAAM,kBAAMk7F,QAAQC,IAAI,wCAAwC,GACzE,CACJ,EA9EIn8F,MAqCJ,WACI,MAAO,CACH3C,KAAMC,EAAAA,GAAYwf,MAE1B,GAtCA,SAASxgB,GAAKmS,EAAmB2tF,EAAgBntF,GAC7C,MAAO,CACH5R,KAAMC,EAAAA,GAAY++F,mBAClB5tF,kBAAAA,EACA2tF,eAAAA,EACAntF,WAAAA,EAER,CAoBA,SAAS2sF,GAAiBp+F,GACtB,MAAO,CACHH,KAAMC,EAAAA,GAAYg/F,2BAClB9+F,aAAAA,EAER,CAiBA,SAAS+sD,GAAY5lD,EAASsK,EAAYoC,GACtC,OAAO,SAAAzU,GACC+H,GACA/H,EAASq1B,GAAAA,EAAoBpS,QAGjCjjB,EAAS,CACLS,KAAMC,EAAAA,GAAYi/F,kBAClB53F,QAAAA,EACAsK,WAAYtK,GAAWsK,EACvBoC,OAAQ1M,GAAW0M,GAE3B,CACJ,C,gBC1Eam5C,GAAoB,CAC7B9qC,KAIJ,SAAczQ,GACV,OAAO,SAAArS,GACHA,EAASq1B,GAAAA,EAAoBpS,QAC7BjjB,EAAS,CACLS,KAAMC,EAAAA,GAAYk/F,qBAClB73F,SAAS,EACTsK,WAAAA,GAER,CACJ,EAZI4Q,KAcJ,WACI,OAAO,SAACjjB,EAAUoC,GACVA,IAAWy9F,WAAW93F,SACtB/H,EAAS,CACLS,KAAMC,EAAAA,GAAYk/F,qBAClB73F,SAAS,GAGrB,CACJ,G,gBCfMrI,IAAOyI,EAAAA,GAAAA,cAAa,sBAAsB,SAAAE,GAAO,OAAI,kBAAMA,GAAS,KACpEy3F,IAAoB33F,EAAAA,GAAAA,cACtB,qCACA,SAAAE,GAAO,OAAI,SAACmC,GAAqE,OAAKnC,EAAQ,CAAEmC,cAAAA,EAAeu1F,wBAAtCj+F,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,IAAAA,UAAA,IAAgE,KAEvIsB,IAAQ+E,EAAAA,GAAAA,cAAa,uBAAuB,SAAAE,GAAO,OAAI,kBAAMA,GAAS,KACtE23F,IAAmB73F,EAAAA,GAAAA,cACrB,oCACA,SAAAE,GAAO,OAAI,SAACkW,GAA4B,OAAKlW,EAAQ,CAAEkW,WAAAA,GAAa,KAElE0hF,IAAyB93F,EAAAA,GAAAA,cAC3B,2CACA,SAAAE,GAAO,OAAI,SAACoW,GAAoB,OAAKpW,EAAQ,CAAEoW,UAAAA,GAAY,KAEzDyhF,IAAyB/3F,EAAAA,GAAAA,cAC3B,2CACA,SAAAE,GAAO,OAAI,SAACzD,EAAgBysB,GAAiB,OAAKhpB,EAAQ,CAAEzD,OAAAA,EAAQysB,SAAAA,GAAW,KAE7E8uE,IAAuBh4F,EAAAA,GAAAA,cACzB,wCACA,SAAAE,GAAO,OAAI,SAACkD,EAAkB8lB,GAAiB,OAAKhpB,EAAQ,CAAEkD,SAAAA,EAAU8lB,SAAAA,GAAW,KAEjF+uE,IAAqBj4F,EAAAA,GAAAA,cACvB,sCACA,SAAAE,GAAO,OAAI,SAACiD,EAAgB+lB,GAAiB,OAAKhpB,EAAQ,CAAEiD,OAAAA,EAAQ+lB,SAAAA,GAAW,KAG7EgvE,IAAmBl4F,EAAAA,GAAAA,cACrB,oCACA,SAAAE,GAAO,OAAI,SAAC5H,EAAgB4wB,GAAiB,OAAKhpB,EAAQ,CAAE5H,KAAAA,EAAM4wB,SAAAA,GAAW,KAE3EivE,IAAmBn4F,EAAAA,GAAAA,cACrB,oCACA,SAAAE,GAAO,OAAI,SAACuD,GAAsD,OAAKvD,EAAQ,CAAEuD,KAAAA,GAAO,KAEtF20F,IAAcp4F,EAAAA,GAAAA,cAAa,8BAC7B,SAAAE,GAAO,OAAI,SAACm4F,EAAmBC,GAA4B,OAAKp4F,EAAQ,CAAEm4F,QAAAA,EAASC,mBAAAA,GAAqB,KACtGC,IAAcv4F,EAAAA,GAAAA,cAAa,8BAA8B,SAAAE,GAAO,OAAI,kBAAMA,GAAS,KACnFs4F,IAAwBx4F,EAAAA,GAAAA,cAC1B,yBACA,SAAAE,GAAO,OAAI,SAACwjF,GAAkB,OAAKxjF,EAAQ,CAAEwjF,UAAAA,GAAY,KAEvD+U,IAAoBz4F,EAAAA,GAAAA,cACtB,qCACA,SAAAE,GAAO,OAAI,SAAC8+C,EAAqDu0B,GAA0C,OACvGrzE,EAAQ,CAAE8+C,OAAAA,EAAQu0B,QAAAA,GAAU,KAE9BmlB,IAA8B14F,EAAAA,GAAAA,cAChC,gDACA,SAAAE,GAAO,OAAI,SAACy4F,GAAmB,OAAKz4F,EAAQ,CAAEy4F,WAAAA,GAAa,KAczDC,IAAmB54F,EAAAA,GAAAA,cACrB,oCACA,SAAAE,GAAO,OAAI,SAACkJ,GAAiC,OAAKlJ,EAAQ,CAAEkJ,KAAAA,GAAO,KAGjEyvF,IAAoB74F,EAAAA,GAAAA,cACtB,qCACA,SAAAE,GAAO,OAAI,SAAC8gB,GAAsC,OAAK9gB,EAAQ,CAAE8gB,UAAAA,GAAY,KAE3E83E,IAA8B94F,EAAAA,GAAAA,cAChC,yDACA,SAAAE,GAAO,OAAI,SAACzD,EAAiByN,GAAkB,OAAKhK,EAAQ,CAAEzD,OAAAA,EAAQyN,WAAAA,GAAa,KAEjF6uF,IAAsB/4F,EAAAA,GAAAA,cACxB,wCACA,SAAAE,GAAO,OAAI,SAAC84F,GAAqB,OAAK94F,EAAQ,CAAE84F,YAAAA,GAAc,KAE5DvlB,IAAezzE,EAAAA,GAAAA,cAAa,gCAC5Bi5F,IAAcj5F,EAAAA,GAAAA,cAAa,8BAC3Bk5F,IAAqBl5F,EAAAA,GAAAA,cACvB,sCACA,SAAAE,GAAO,OAAI,SAAC2Y,GAAgC,OAAK3Y,EAAQ,CAAE2Y,OAAAA,GAAS,KAElEsgF,IAAyBn5F,EAAAA,GAAAA,cAC3B,2CACA,SAAAE,GAAO,OAAI,SAACgK,EAAoBtK,GAAgB,OAAKM,EAAQ,CAAEgK,WAAAA,EAAYtK,QAAAA,GAAU,KAEnFw5F,IAA2Bp5F,EAAAA,GAAAA,cAAa,6CACxCq5F,IAA2Br5F,EAAAA,GAAAA,cAAa,6CACxCs5F,IAA2Bt5F,EAAAA,GAAAA,cAAa,6CAGxCu5F,IAA4Bv5F,EAAAA,GAAAA,cAC9B,wCACA,SAAAE,GAAO,OAAI,SAACs5F,GAAwC,OAAKt5F,EAAQ,CAAEs5F,oBAAAA,GAAsB,KAuChFC,GAAuB,CAChCliG,KAAAA,GACAogG,kBAAAA,GACA18F,MAAAA,GACAgpF,WAzCcjkF,EAAAA,GAAAA,cAAa,4BA0C3B63F,iBAAAA,GACAC,uBAAAA,GACAC,uBAAAA,GACAC,qBAAAA,GACAC,mBAAAA,GACAC,iBAAAA,GACAC,iBAAAA,GACAC,YAAAA,GACAG,YAAAA,GACAC,sBAAAA,GACAC,kBAAAA,GACAhlB,aAAAA,GACAwlB,YAAAA,GACAP,4BAAAA,GACAE,iBAAAA,GACAC,kBAAAA,GACAC,4BAAAA,GACAC,oBAAAA,GACAG,mBAAAA,GACAC,uBAAAA,GACAI,0BAAAA,GACAH,yBAAAA,GACAC,yBAAAA,GACAC,yBAAAA,GACAxM,aAjEgB9sF,EAAAA,GAAAA,cAAa,8BAC7B,SAAAE,GAAO,OAAI,SAACgK,EAAoBwvF,EAAkB1vF,EAA2BzP,EAAe4/B,GAAmC,OAC3Hj6B,EAAQ,CAAEgK,WAAAA,EAAYwvF,SAAAA,EAAU1vF,MAAAA,EAAOzP,MAAAA,EAAO4/B,UAAAA,GAAY,KAgE9Dw/D,YA9De35F,EAAAA,GAAAA,cAAa,6BAC5B,SAAAE,GAAO,OAAI,SAACgK,EAAoB4C,EAAeqtB,GAAmC,OAC9Ej6B,EAAQ,CAAEgK,WAAAA,EAAY4C,KAAAA,EAAMqtB,UAAAA,GAAY,KA6D5Cy/D,aA3DgB55F,EAAAA,GAAAA,cAAa,8BAC7B,SAAAE,GAAO,OAAI,SAACgK,EAAoB6C,EAAgBotB,GAAmC,OAC/Ej6B,EAAQ,CAAEgK,WAAAA,EAAY6C,MAAAA,EAAOotB,UAAAA,GAAY,KA0D7C0/D,kBAxDqB75F,EAAAA,GAAAA,cAAa,mCAClC,SAAAE,GAAO,OAAI,SAACgK,EAAoBsZ,EAAoBjpB,EAAe4/B,GAAmC,OAClGj6B,EAAQ,CAAEgK,WAAAA,EAAYsZ,WAAAA,EAAYjpB,MAAAA,EAAO4/B,UAAAA,GAAY,KAuDzD2/D,wBArD2B95F,EAAAA,GAAAA,cAAa,2CACxC,SAAAE,GAAO,OAAI,SAACgK,GAAkB,OAAKhK,EAAQ,CAAEgK,WAAAA,GAAa,KAqD1D6vF,2BAnD8B/5F,EAAAA,GAAAA,cAAa,8CAC3C,SAAAE,GAAO,OAAI,SAAC85F,GAAwC,OAAK95F,EAAQ,CAAE85F,yBAAAA,GAA2B,KAmD9FC,+BAjDkCj6F,EAAAA,GAAAA,cAAa,+CAC/C,SAAAE,GAAO,OAAI,SAACgK,GAAkB,OAAKhK,EAAQ,CAAEgK,WAAAA,GAAa,KAiD1DgwF,aA/CgBl6F,EAAAA,GAAAA,cAAa,iCAC7B,SAAAE,GAAO,OAAI,SAACgkE,GAAgC,OAAKhkE,EAAQ,CAAEgkE,OAAAA,GAAS,KA+CpEi2B,kBA7CqBn6F,EAAAA,GAAAA,cAAa,uCAClC,SAAAE,GAAO,OAAI,SAACgkE,GAAgC,OAAKhkE,EAAQ,CAAEgkE,OAAAA,GAAS,KA6CpEk2B,wBA3C2Bp6F,EAAAA,GAAAA,cAAa,0CACxC,SAAAE,GAAO,OAAI,SAACwoC,GAAgB,OAAKxoC,EAAQ,CAAEwoC,QAAAA,GAAU,KA2CrD8qC,cAzCiBxzE,EAAAA,GAAAA,cAAa,gC,iFCrIrBq6F,GAAwB,CACjCC,gBA4DJ,SAAyBv5C,EAA2BW,GAChD,sBAAApjD,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,EAAoBoC,GAAwB,IAAAsgG,EAAA76C,EAAA86C,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAh6C,EAAAi6C,EAAA71D,EAAAC,EAAA61D,EAAAC,EAAAC,EAAA,OAAAvjG,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAEsB,GAFtBkiG,EACVtgG,IAAWihG,eAA/Cx7C,EAAK66C,EAAL76C,MAAO86C,EAAwBD,EAAxBC,yBACTC,EAAmB,OAAL/6C,QAAK,IAALA,OAAK,EAALA,EAAOx0C,MAAK,SAAA2hB,GAAC,OAAIA,EAAEhrB,gBAAkBk/C,CAAiB,IAErEy5C,EAAyBv+E,MAAK,SAACpa,GAAqB,OAAKA,IAAkBk/C,CAAiB,IAAE,CAADviD,EAAAnG,KAAA,SAQZ,GAPlFR,EAASsjG,IAAsB,IAAO38F,EAAApG,KAAA,EAG5BsiG,EAAU78F,EAAAA,EAAK2M,SAASC,EAAAA,GAAM86B,OAE9Bo1D,EAAwB3hB,GAAAA,EAAaoiB,sBAAsBr6C,GAC3D65C,EAAsBF,EAAU,KAAO3xD,GAAAA,EAAmBsyD,gBAAgBt6C,EAAmBW,GAC7Fm5C,EAAuB7hB,GAAAA,EAAasiB,iBAAiBv6C,GAEtD05C,EAAY,CAADj8F,EAAAnG,KAAA,gBAAAmG,EAAAnG,KAAA,GACO2gF,GAAAA,EAAauiB,QAAQx6C,GAAmB,KAAD,GAApDF,EAAIriD,EAAAzF,KACJ+hG,EAAcp7C,GAAS,GAC7B7nD,EAAS2jG,GAAW,GAADzxF,QAAAyT,EAAAA,EAAAA,GAAKs9E,GAAW,CAAEj6C,MAAQ,eAAAriD,EAAAnG,KAAA,GAGWk3B,QAAQ+V,IAAI,CACpEs1D,EACAC,EACAF,IACD,KAAD,GAAA11D,EAAAzmC,EAAAzF,KAAAmsC,GAAA35B,EAAAA,GAAAA,GAAA05B,EAAA,GAJK81D,EAAY71D,EAAA,GAAE81D,EAAa91D,EAAA,GAAE+1D,EAAc/1D,EAAA,GAMlDrtC,EAAS4jG,GAAe16C,EAAmBi6C,EAAeD,IAC1DljG,EAAS6jG,GAAsB36C,EAAmBk6C,IAAiBz8F,EAAAnG,KAAA,iBAAAmG,EAAApG,KAAA,GAAAoG,EAAApF,GAAAoF,EAAA,SAEnE3G,EAASyB,EAAAA,EAAaC,cAAaiF,EAAApF,KAAK,QAED,OAFCoF,EAAApG,KAAA,GAExCP,EAASsjG,IAAsB,IAAQ38F,EAAAG,OAAA,6BAAAH,EAAAhF,OAAA,GAAA+E,EAAA,yBAGlD,gBAAAzB,EAAAS,GAAA,OAAAe,EAAA5E,MAAA,KAAAC,UAAA,EAlCD,EAmCJ,EA/FIgiG,mBAiGJ,SAA4B56C,EAA2Be,GACnD,sBAAAzlD,GAAA5E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA2E,EAAOzE,EAAoBoC,GAAwB,IAAAylD,EAAA+E,EAAAm3C,EAAAC,EAAA,OAAAnkG,EAAAA,EAAAA,KAAAQ,MAAA,SAAAwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,OAG0C,GAFxFqnD,EAAUzlD,IAAWihG,eAArBx7C,MACF+E,EAAoB,OAAL/E,QAAK,IAALA,OAAK,EAALA,EAAOx0C,MAAK,SAAA2hB,GAAC,OAAIA,EAAEhrB,gBAAkBk/C,CAAiB,IACrE66C,EAA8B,OAAZn3C,QAAY,IAAZA,OAAY,EAAZA,EAAc9D,QAAQz1C,MAAK,SAAAugB,GAAC,OAAIA,EAAE5pB,gBAAkBigD,CAAkB,KAE1F2C,IAAgBm3C,GAA+C,MAA5BA,EAAgBC,SAAgB,CAAAn/F,EAAArE,KAAA,SAC1B,OAAzCR,EAASikG,IAAyB,IAAOp/F,EAAAtE,KAAA,EAAAsE,EAAArE,KAAA,EAGd2gF,GAAAA,EAAa+iB,iBAAiBh7C,EAAmB66C,EAAgB/5F,eAAe,KAAD,EAAhGg6F,EAAQn/F,EAAA3D,KACdlB,EAASmkG,GAAgBj7C,EAAmBe,EAAoB+5C,IAAWn/F,EAAArE,KAAA,iBAAAqE,EAAAtE,KAAA,GAAAsE,EAAAtD,GAAAsD,EAAA,SAE3E7E,EAASyB,EAAAA,EAAaC,cAAamD,EAAAtD,KAAK,QAEE,OAFFsD,EAAAtE,KAAA,GAExCP,EAASikG,IAAyB,IAAQp/F,EAAAiC,OAAA,6BAAAjC,EAAAlD,OAAA,GAAA8C,EAAA,yBAGrD,gBAAAg3B,EAAAC,GAAA,OAAAl3B,EAAA3C,MAAA,KAAAC,UAAA,EAjBD,EAkBJ,EAnHIsiG,0BA6BJ,SACI96F,EACA4/C,GAEA,sBAAAvpD,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAoBoC,GAAwB,IAAAye,EAAAgnC,EAAA+E,EAAAu2C,EAAAkB,EAAA,OAAAxkG,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAChDqgB,EAAsBvX,EAAW2V,eAC/B4oC,EAAUzlD,IAAWihG,eAArBx7C,SAEE+E,EAAoB,OAAL/E,QAAK,IAALA,OAAK,EAALA,EAAOx0C,MACxB,SAAC2hB,GAAC,OAAKA,EAAEhrB,gBAAkBk/C,CAAiB,MAE5B0D,EAAa03C,YAEZnB,EACbv2C,EADA03C,UAAanB,cAEXkB,EAAiC,OAAblB,QAAa,IAAbA,OAAa,EAAbA,EAAeniF,QACrC,SAACgU,GACG,IAAMpD,GAAO2yE,EAAAA,GAAAA,IAAmBvvE,GAC1BwvE,EAAWj3E,IAAOqE,GAAMuL,OAAO3c,EAAAA,GAAUkf,YAE/C,OAAO1K,EAAExgB,KAAKyK,cAAcM,SAASsB,IAAwB2jF,EAASvlF,cAAcM,SAASsB,EACjG,IAEJ7gB,EAASykG,GAA4BJ,EAAmBn7C,KAE/D,wBAAA5oD,EAAAqB,OAAA,GAAA5B,EAAA,KACJ,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EAtBD,EAuBJ,EAvDI4iG,qBAqBJ,WACI,MAAO,CACHjkG,KAAMC,EAAAA,GAAYikG,6BAE1B,GAtBA,SAAShB,GAAW97C,GAChB,MAAO,CACHpnD,KAAMC,EAAAA,GAAYkkG,kBAClB/8C,MAAAA,EAER,CAEA,SAAS48C,GACLJ,EACAn7C,GAEA,MAAO,CACHzoD,KAAMC,EAAAA,GAAYmkG,qCAClBR,kBAAAA,EACAn7C,kBAAAA,EAER,CAiGA,SAAS26C,GAAsB36C,EAA2B47C,GACtD,MAAO,CACHrkG,KAAMC,EAAAA,GAAYqkG,+BAClB77C,kBAAAA,EACA47C,WAAAA,EAER,CAEA,SAASX,GAAgBj7C,EAA2Be,EAA4B66C,GAC5E,MAAO,CACHrkG,KAAMC,EAAAA,GAAYskG,wBAClB97C,kBAAAA,EACAe,mBAAAA,EACA66C,WAAAA,EAER,CAEA,SAASlB,GAAe16C,EAA2Bi6C,EAAyCD,GACxF,MAAO,CACHziG,KAAMC,EAAAA,GAAYukG,sBAClB/7C,kBAAAA,EACAo7C,UAAW,CACPnB,cAAc,GAADjxF,QAAAyT,EAAAA,EAAAA,GAAMw9E,EAAcA,gBAAax9E,EAAAA,EAAAA,GAAKu9E,KAG/D,CAEA,SAASI,GAAsBnb,GAC3B,MAAO,CACH1nF,KAAMC,EAAAA,GAAYwkG,8BAClB/c,aAAAA,EAER,CAEA,SAAS8b,GAAyB9b,GAC9B,MAAO,CACH1nF,KAAMC,EAAAA,GAAYykG,uCAClBhd,aAAAA,EAER,C,2BCjKMzoF,IAAOyI,EAAAA,GAAAA,cAAa,sBACpB/E,IAAQ+E,EAAAA,GAAAA,cAAa,uBACrBi9F,IAAcj9F,EAAAA,GAAAA,cAChB,yBACA,SAAAE,GAAO,OAAI,SAACwjF,GAAkB,OAAKxjF,EAAQ,CAAEwjF,UAAAA,GAAY,KAEvDwZ,IAAwBl9F,EAAAA,GAAAA,cAC1B,qCACA,SAAAE,GAAO,OAAI,SAAC64B,GAAiB,OAAK74B,EAAQ,CAAE64B,SAAAA,GAAW,KAErDokE,IAAoBn9F,EAAAA,GAAAA,cACtB,qCACA,SAAAE,GAAO,OAAI,SAACk9F,GAA2B,OAAKl9F,EAAQ,CAAEk9F,aAAAA,GAAe,KAEnEC,IAAmBr9F,EAAAA,GAAAA,cACrB,oCAEEs9F,IAAoBt9F,EAAAA,GAAAA,cACtB,qCACA,SAAAE,GAAO,OAAI,SAACq9F,EAA0BC,GAAmB,OAAKt9F,EAAQ,CAAEq9F,YAAAA,EAAaC,UAAAA,GAAY,KAE/FC,IAA6Bz9F,EAAAA,GAAAA,cAC/B,+CACA,SAAAE,GAAO,OAAI,SAACq9F,EAA0BC,GAAmB,OAAKt9F,EAAQ,CAAEq9F,YAAAA,EAAaC,UAAAA,GAAY,KAE/FE,IAAoB19F,EAAAA,GAAAA,cACtB,qCACA,SAAAE,GAAO,OAAI,SAACq9F,GAAwB,OAAKr9F,EAAQ,CAAEq9F,YAAAA,GAAc,KAE/DI,IAA6B39F,EAAAA,GAAAA,cAC/B,+CACA,SAAAE,GAAO,OAAI,SAACq9F,GAAwB,OAAKr9F,EAAQ,CAAEq9F,YAAAA,GAAc,KAE/DK,IAA6B59F,EAAAA,GAAAA,cAC/B,gDACA,SAAAE,GAAO,OAAI,SAACN,GAAgB,OAAKM,EAAQ,CAAEN,QAAAA,GAAU,KAEnDi+F,IAAiB79F,EAAAA,GAAAA,cACnB,kCACA,SAAAE,GAAO,OAAI,SAACq9F,EAA8BO,EAA2BC,GAAqB,OACtF79F,EAAQ,CAAEq9F,YAAAA,EAAaO,iBAAAA,EAAkBC,aAAAA,GAAe,KAE1DC,IAAsBh+F,EAAAA,GAAAA,cACxB,iCACA,SAAAE,GAAO,OAAI,SAAC+9F,GAA8B,OAAK/9F,EAAQ,CAAE+9F,eAAAA,GAAiB,KAExEC,IAAiBl+F,EAAAA,GAAAA,cACnB,2BACA,SAAAE,GAAO,OAAI,SAACy6B,GAAoB,OAAKz6B,EAAQ,CAAEy6B,UAAAA,GAAY,KAEzDwjE,IAAcn+F,EAAAA,GAAAA,cAChB,wBACA,SAAAE,GAAO,OAAI,SAAC06B,GAAe,OAAK16B,EAAQ,CAAE06B,OAAAA,GAAS,KAEjDwjE,IAAcp+F,EAAAA,GAAAA,cAChB,wBACA,SAAAE,GAAO,OAAI,SAAC0+B,GAAc,OAAK1+B,EAAQ,CAAE0+B,OAAAA,GAAS,KAEhDy/D,IAAyBr+F,EAAAA,GAAAA,cAC3B,sCACA,SAAAE,GAAO,OAAI,SAACo+F,GAA6B,OAAKp+F,EAAQ,CAAEo+F,qBAAAA,GAAuB,KAE7EC,IAA2Bv+F,EAAAA,GAAAA,cAC7B,wCACA,SAAAE,GAAO,OAAI,SAACs+F,GAA+B,OAAKt+F,EAAQ,CAAEs+F,uBAAAA,GAAyB,KAEjFC,IAAqBz+F,EAAAA,GAAAA,cACvB,sCACA,SAAAE,GAAO,OAAI,SAAC+9F,GAAkC,OAAK/9F,EAAQ,CAAE+9F,eAAAA,GAAiB,KAE5EriE,IAAa57B,EAAAA,GAAAA,cACf,6BACA,SAAAE,GAAO,OAAI,SAAC27B,GAAe,OAAK37B,EAAQ,CAAE27B,QAAAA,GAAU,KAElD6iE,IAAoB1+F,EAAAA,GAAAA,cACtB,qCACA,SAAAE,GAAO,OAAI,SAACy+F,GAAwB,OAAKz+F,EAAQ,CAAEy+F,gBAAAA,GAAkB,KAEnEC,IAAsB5+F,EAAAA,GAAAA,cACxB,uCACA,SAAAE,GAAO,OAAI,SAAC+9F,GAA8B,OAAK/9F,EAAQ,CAAE+9F,eAAAA,GAAiB,KAExEY,IAA2B7+F,EAAAA,GAAAA,cAC7B,0CACA,SAAAE,GAAO,OAAI,SAAC4+F,GAA8B,OAAK5+F,EAAQ,CAAE4+F,aAAAA,GAAe,KAEtEC,IAAsB/+F,EAAAA,GAAAA,cACxB,yBACA,SAAAE,GAAO,OAAI,SAAC8+F,GAAwC,OAAK9+F,EAAQ,CAAE8+F,uBAAAA,GAAyB,KAE1FC,IAAgCj/F,EAAAA,GAAAA,cAClC,kDACA,SAAAE,GAAO,OAAI,SAAC8+F,GAAwC,IAAE5f,EAAmCzlF,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAGulG,GAAAA,EAAwBC,eAAc,OAC9Hj/F,EAAQ,CAAE8+F,uBAAAA,EAAwB5f,WAAAA,GAAa,KAQ1CggB,GAAuB,CAChC7nG,KAAAA,GACA0D,MAAAA,GACAgiG,YAAAA,GACAC,sBAAAA,GACAC,kBAAAA,GACAE,iBAAAA,GACAW,oBAAAA,GACAE,eAAAA,GACAC,YAAAA,GACAC,YAAAA,GACAxiE,WAAAA,GACA8iE,kBAAAA,GACApB,kBAAAA,GACAG,2BAAAA,GACAC,kBAAAA,GACAC,2BAAAA,GACAC,2BAAAA,GACAC,eAAAA,GACAQ,uBAAAA,GACAE,yBAAAA,GACAE,mBAAAA,GACAG,oBAAAA,GACAC,yBAAAA,GACAE,oBAAAA,GACAE,8BAAAA,GACAI,+BAhCkCr/F,EAAAA,GAAAA,cAAa,kDAiC/Cs/F,4BAhC+Bt/F,EAAAA,GAAAA,cAC/B,2CACA,SAAAE,GAAO,OAAI,SAACqhF,GAA6B,OAAKrhF,EAAQ,CAAEqhF,KAAAA,GAAO,MCtGtDge,I,SAAsB,CAC/B5kF,MANS3a,EAAAA,GAAAA,cAAa,qBAOtB8a,MANS9a,EAAAA,GAAAA,cAAa,qBAOtBw/F,oBANuBx/F,EAAAA,GAAAA,cAAa,gCAAgC,SAAAE,GAAO,OAAI,SAACq7C,GAAkB,OAAKr7C,EAAQ,CAAEq7C,UAAAA,GAAY,KAO7HJ,MANSn7C,EAAAA,GAAAA,cAAa,qBAAqB,SAAAE,GAAO,OAAI,SAACvH,GAA4B,OAAKuH,EAAQ,CAAEvH,QAAAA,GAAU,O,gGCSnG8mG,GAAsB,CAC/BC,gBAeJ,WACI,sBAAAloG,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,GAAuB,IAAA8nG,EAAA,OAAAjoG,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEwB,OAFxBF,EAAAC,KAAA,EAE7BP,EAAS+nG,IAAqC,IAAOznG,EAAAE,KAAA,EAC5BwnG,KAAyBhsB,QAAQ,KAAD,EAAnD8rB,EAAUxnG,EAAAY,KAChBlB,GAgBoBioG,EAhBYH,EAiBjC,CACHrnG,KAAMC,GAAAA,EAAYwnG,yBAClB7mG,QAAS,CAAC4mG,YAAAA,MAnBuC3nG,EAAAE,KAAA,gBAAAF,EAAAC,KAAA,EAAAD,EAAAiB,GAAAjB,EAAA,SAE7CN,EAASyB,EAAAA,EAAa6C,gBAAehE,EAAAiB,KAAK,QAEY,OAFZjB,EAAAC,KAAA,GAE1CP,EAAS+nG,IAAqC,IAAQznG,EAAAwG,OAAA,6BAAAxG,EAAAqB,OAYlE,IAAgCsmG,CAZkC,GAAAloG,EAAA,wBAE7D,gBAAA6B,GAAA,OAAAjC,EAAAkC,MAAA,KAAAC,UAAA,EAVD,EAWJ,EA1BIqmG,WA2CJ,WACI,sBAAA1hG,GAAA7G,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA4G,EAAO1G,GAAuB,IAAAooG,EAAA,OAAAvoG,EAAAA,EAAAA,KAAAQ,MAAA,SAAAsG,GAAA,cAAAA,EAAApG,KAAAoG,EAAAnG,MAAA,OAEc,OAFdmG,EAAApG,KAAA,EAE7BP,EAASqoG,IAA2B,IAAO1hG,EAAAnG,KAAA,EAClBwnG,KAAyBM,QAAQ,KAAD,GAAnDH,EAAUxhG,EAAAzF,OAGZlB,GAWIuoG,EAXgBJ,EAAW52F,KAYpC,CACH9Q,KAAMC,GAAAA,EAAY8nG,YAClBnnG,QAAS,CAACknG,MAAAA,MAbL5hG,EAAAnG,KAAA,gBAAAmG,EAAApG,KAAA,EAAAoG,EAAApF,GAAAoF,EAAA,SAEDlF,EAAAA,EAAa6C,gBAAeqC,EAAApF,IAAG,QAEY,OAFZoF,EAAApG,KAAA,GAE/BP,EAASqoG,IAA2B,IAAO1hG,EAAAG,OAAA,6BAAAH,EAAAhF,OAMvD,IAAoB4mG,CANmC,GAAA7hG,EAAA,wBAElD,gBAAAK,GAAA,OAAAN,EAAA5E,MAAA,KAAAC,UAAA,EAbD,EAcJ,EAzDI2mG,mBA0EJ,WACI,sBAAAjkG,GAAA5E,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAA2E,EAAOzE,GAAuB,IAAA0oG,EAAA,OAAA7oG,EAAAA,EAAAA,KAAAQ,MAAA,SAAAwE,GAAA,cAAAA,EAAAtE,KAAAsE,EAAArE,MAAA,cAAAqE,EAAAtE,KAAA,EAAAsE,EAAArE,KAAA,EAEHwnG,KAAyBW,SAAS,KAAD,GAArDD,EAAW7jG,EAAA3D,QAGblB,EAAS4oG,IAAkC,KAC3C3xD,EAAAA,EAAAA,QAAOyxD,EAAYxxD,KAAMwxD,EAAYl0F,OACxC3P,EAAArE,KAAA,gBAAAqE,EAAAtE,KAAA,EAAAsE,EAAAtD,GAAAsD,EAAA,SAGDpD,EAAAA,EAAa6C,gBAAeO,EAAAtD,IAAG,QAEmB,OAFnBsD,EAAAtE,KAAA,GAE/BP,EAAS4oG,IAAkC,IAAO/jG,EAAAiC,OAAA,6BAAAjC,EAAAlD,OAAA,GAAA8C,EAAA,wBAEzD,gBAAAQ,GAAA,OAAAT,EAAA3C,MAAA,KAAAC,UAAA,EAdD,EAeJ,EAzFI8mG,kCAAAA,IAGJ,SAASZ,KACL,IAAMa,EAAoB7iG,EAAAA,EAAK2M,SAAQ9Q,MAAbmE,EAAAA,GAAI2f,EAAAA,EAAAA,GAAa/S,EAAAA,GAAMqmC,WACjD,MAAO,CACH+iC,MAAO6sB,EAAWC,EAAAA,GAAiBC,wBAA0BD,EAAAA,GAAiBE,wBAC9EV,MAAOO,EAAWC,EAAAA,GAAiBG,kBAAoBH,EAAAA,GAAiBI,kBACxEP,OAAQE,EAAWC,EAAAA,GAAiBL,mBAAqBK,EAAAA,GAAiBK,kBAElF,CAgBA,SAASpB,GAAqCnjG,GAC1C,MAAO,CACHnE,KAAMC,GAAAA,EAAY0oG,iCAClB/nG,QAAS,CAACuD,OAAAA,GAElB,CAmCA,SAASyjG,GAA2BzjG,GAChC,MAAO,CACHnE,KAAMC,GAAAA,EAAY2oG,2BAClBhoG,QAAS,CAACuD,OAAAA,GAElB,CAoBA,SAASgkG,GAAkChkG,GACvC,MAAO,CACHnE,KAAMC,GAAAA,EAAY4oG,4BAClBjoG,QAAS,CAACuD,OAAAA,GAElB,C,8GC/GM9D,GAAUqH,EAAAA,EAAAA,cAAa,uCACvBC,GAAgBD,EAAAA,EAAAA,cAAa,8CAC/B,SAAAE,GAAO,OAAI,SAACzH,GAAwE,OAChFyH,EAAQ,CAAEzH,aAAAA,EAAc2oG,mBADmDznG,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IACjC,KAmBxC0nG,EAA2B,CACpC1oG,QAAAA,EACAsH,cAAAA,EACAge,QApBWje,EAAAA,EAAAA,cAAa,sCACpB,SAAAE,GAAO,OAAI,SAACohG,GAA0B,OAAKphG,EAAQ,CAAEohG,QAAAA,GAAU,KAoBnEC,eAlBkBvhG,EAAAA,EAAAA,cAAa,sCAC3B,SAAAE,GAAO,OAAI,SAACshG,GAAiB,OAAKthG,EAAQ,CAAEshG,UAAAA,GAAY,KAkB5DvmG,OAhBU+E,EAAAA,EAAAA,cAAa,qC,kFCLrByhG,GAAgBzhG,EAAAA,EAAAA,cAClB,0BACA,SAAAE,GAAO,OAAI,SAACwhG,GAAqB,OAAKxhG,EAAQ,CAAEwhG,SAAAA,GAAW,KAGzDC,GAAsB3hG,EAAAA,EAAAA,cAAa,iCACrC,SAAAE,GAAO,OAAI,SAACD,EAA6B+C,GAA2B,OAChE9C,EAAQ,CAAED,cAAAA,EAAe+C,WAAAA,GAAa,KAGxC4+F,GAAsB5hG,EAAAA,EAAAA,cACxB,iCACA,SAAAE,GAAO,OAAI,SAAC2hG,GAA8D,OAAK3hG,EAAQ,CAAE2hG,WAAAA,GAAa,KAGpGC,GAA4B9hG,EAAAA,EAAAA,cAAa,wCAC3C,SAAAE,GAAO,OAAI,SAACD,EAA6B+C,GAA2B,OAChE9C,EAAQ,CAAED,cAAAA,EAAe+C,WAAAA,GAAa,KAGxC++F,GAAmB/hG,EAAAA,EAAAA,cACrB,6BACA,SAAAE,GAAO,OAAI,SAAC8C,GACR,IAAMg/F,EAA+Bh/F,EAAWvD,KAAI,SAAAwiG,GAAM,OAAA9nG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACnD8nG,GAAM,IACTj4F,MAAOk4F,KAAKC,UAAUF,EAAOj4F,QAAM,IAGvC,OAAO9J,EAAQ,CAAE8C,WAAYg/F,GACjC,CAAC,IAGCI,GAAyBpiG,EAAAA,EAAAA,cAC3B,oCACA,SAAAE,GAAO,OAAI,SAACD,EAA6B+C,GAA2B,OAChE9C,EAAQ,CAAED,cAAAA,EAAe+C,WAAAA,GAAa,KAGxC/H,GAAQ+E,EAAAA,EAAAA,cAAa,oBAErBqiG,GAA8BriG,EAAAA,EAAAA,cAAa,sCAE3CsiG,GAAoCtiG,EAAAA,EAAAA,cACtC,6CACA,SAAAE,GAAO,OAAI,SAACD,EAA6BsiG,GAA6B,OAClEriG,EAAQ,CAAED,cAAAA,EAAesiG,aAAAA,GAAe,KAG1CC,GAAmBxiG,EAAAA,EAAAA,cACrB,oCACA,SAAAE,GAAO,OAAI,SAACuiG,GAA4B,OACpCviG,EAAQuiG,EAAW,KAErBC,GAAmB1iG,EAAAA,EAAAA,cACrB,oCACA,SAAAE,GAAO,OAAI,SAACi4E,EAA4BsqB,GAAwE,OAC5GviG,EAAQ,CAAEi4E,aAAAA,EAAcsqB,WAAAA,GAAa,KAGvCE,GAAyB3iG,EAAAA,EAAAA,cAC3B,2CACA,SAAAE,GAAO,OAAI,SAACD,EAA6B2iG,GAAmC,OACxE1iG,EAAQ,CAAED,cAAAA,EAAe2iG,iBAAAA,GAAmB,KAG9CC,GAAmB7iG,EAAAA,EAAAA,cACrB,oCACA,SAAAE,GAAO,OAAI,SAACi4E,EAA4BsqB,GAA+F,OACnIviG,EAAQ,CAAEi4E,aAAAA,EAAcsqB,WAAAA,GAAa,KAGvCK,GAAyB9iG,EAAAA,EAAAA,cAC3B,2CACA,SAAAE,GAAO,OAAI,SAACD,EAA6B2iG,GAAmC,OACxE1iG,EAAQ,CAAED,cAAAA,EAAe2iG,iBAAAA,GAAmB,KAG9CG,GAAsB/iG,EAAAA,EAAAA,cACxB,wCACA,SAAAE,GAAO,OAAI,SAAC8iG,EAAmC1uB,GAAgC,OAC3Ep0E,GAAO/F,EAAAA,EAAAA,GAAC,CAAEm6E,WAAAA,GAAe0uB,GAAS,KAGpCC,GAA4BjjG,EAAAA,EAAAA,cAC9B,+CACA,SAAAE,GAAO,OAAI,SAACD,EAA6Bq0E,EAAkCsuB,GAAmC,OAC1G1iG,EAAQ,CAAED,cAAAA,EAAeq0E,WAAAA,EAAYsuB,iBAAAA,GAAmB,KAG1DM,GAAmBljG,EAAAA,EAAAA,cACrB,oCACA,SAAAE,GAAO,OAAI,SAAC2B,EAAuByyE,GAAgC,OAAKp0E,EAAQ,CAAE2B,cAAAA,EAAeyyE,WAAAA,GAAa,KAG5G6uB,GAAyBnjG,EAAAA,EAAAA,cAC3B,2CACA,SAAAE,GAAO,OAAI,SAACD,EAA6Bq0E,EAAkCzyE,GAAsB,OAC7F3B,EAAQ,CAAED,cAAAA,EAAe4B,cAAAA,EAAeyyE,WAAAA,GAAa,KAGvD8uB,GAA8BpjG,EAAAA,EAAAA,cAChC,iDACA,SAAAE,GAAO,OAAI,SACPmjG,EACAC,EACAC,EACAC,GAA0C,OACzCtjG,EAAQ,CAAEmjG,wBAAAA,EAAyBC,0BAAAA,EAA2BC,qBAAAA,EAAsBC,kBAAAA,GAAoB,KAcpGC,EAAsB,CAC/BhC,cAAAA,EACAE,oBAAAA,EACAC,oBAAAA,EACAE,0BAAAA,EACAC,iBAAAA,EACAK,uBAAAA,EACAsB,uBAlB0B1jG,EAAAA,EAAAA,cAC1B,8CACA,SAAAE,GAAO,OAAI,SAACyjG,GAA+D,OAAKzjG,EAAQ,CAAEyjG,QAAAA,GAAU,KAiBpGC,mBAdsB5jG,EAAAA,EAAAA,cACtB,0CACA,SAAAE,GAAO,OAAI,SAACyjG,GAA4D,OAAKzjG,EAAQ,CAAEyjG,QAAAA,GAAU,KAajGtB,4BAAAA,EACAC,kCAAAA,EACArnG,MAAAA,EACAunG,iBAAAA,EACAE,iBAAAA,EACAG,iBAAAA,EACAF,uBAAAA,EACAG,uBAAAA,EACAC,oBAAAA,EACAE,0BAAAA,EACAC,iBAAAA,EACAC,uBAAAA,EACAC,4BAAAA,E,+hCCtJSS,GAAc7jG,EAAAA,EAAAA,cAAa,gBAC3B8jG,GAAe9jG,EAAAA,EAAAA,cAAa,iBAC5B+jG,GAAsB/jG,EAAAA,EAAAA,cAAa,yBACnCgkG,GAA2BhkG,EAAAA,EAAAA,cAAa,0BAExCikG,GAAyBjkG,EAAAA,EAAAA,cAAa,4BACtCkkG,GAAuBlkG,EAAAA,EAAAA,cAAa,0BACpCmkG,GAAwBnkG,EAAAA,EAAAA,cAAa,2BAErCokG,GAAyCpkG,EAAAA,EAAAA,cAAa,4BACtDqkG,GAAiDrkG,EAAAA,EAAAA,cAAa,qCAC9DskG,GAAiDtkG,EAAAA,EAAAA,cAAa,qCAC9DukG,GAA+CvkG,EAAAA,EAAAA,cAAa,mCAC5DwkG,GAAuCxkG,EAAAA,EAAAA,cAAa,0BAEpDykG,GAAqBzkG,EAAAA,EAAAA,cAC9B,wBACA,SAAAE,GAAO,OAAI,SAAAkD,GAAQ,OAAIlD,EAAQ,CAAEkD,SAAAA,GAAW,KAEnCshG,GAAuB1kG,EAAAA,EAAAA,cAAa,iCACpC2kG,GAA6B3kG,EAAAA,EAAAA,cAAa,sCAE1C4kG,GAA0B5kG,EAAAA,EAAAA,cACnC,qCACA,SAAAE,GAAO,OAAI,SAACkW,GAAU,OAAKlW,EAAQ,CAAEkW,WAAAA,GAAa,KAEzCyuF,GAAgC7kG,EAAAA,EAAAA,cACzC,4CACA,SAAAE,GAAO,OAAI,SAACoW,GAAS,OAAKpW,EAAQ,CAAEoW,UAAAA,GAAY,KAEvCwuF,GAAoC9kG,EAAAA,EAAAA,cAC7C,gDACA,SAAAE,GAAO,OAAI,SAACkW,GAAU,OAAKlW,EAAQ,CAAEkW,WAAAA,GAAa,KAEzC2uF,GAA0C/kG,EAAAA,EAAAA,cACnD,uDACA,SAAAE,GAAO,OAAI,SAACoW,GAAS,OAAKpW,EAAQ,CAAEoW,UAAAA,GAAY,KAEvC0uF,GAAyBhlG,EAAAA,EAAAA,cAAa,6BACtCilG,GAA0BjlG,EAAAA,EAAAA,cAAa,8BACvCklG,GAA4BllG,EAAAA,EAAAA,cAAa,gCACzCmlG,GAA0BnlG,EAAAA,EAAAA,cAAa,8BACvColG,GAAuBplG,EAAAA,EAAAA,cAAa,0BACpCqlG,GAA+BrlG,EAAAA,EAAAA,cAAa,6BACrD,SAAAE,GAAO,OAAI,SAAA00D,GAAI,OAAI10D,EAAQ,CAAE00D,KAAAA,GAAO,KAE3B0wC,GAAuBtlG,EAAAA,EAAAA,cAChC,0BACA,SAAAE,GAAO,OAAI,SAAA1I,GAAA,IAAGwnD,EAAMxnD,EAANwnD,OAAQs0B,EAAiB97E,EAAjB87E,kBAAiB,OAAOpzE,EAAQ,CAAE8+C,OAAAA,EAAQs0B,kBAAAA,GAAoB,KAE3EiyB,GAAuBvlG,EAAAA,EAAAA,cAChC,0BACA,SAAAE,GAAO,OAAI,SAAA3F,GAAK,OAAI2F,EAAQ,CAAE3F,MAAAA,GAAQ,KAE7BirG,GAAuBxlG,EAAAA,EAAAA,cAAa,2BAC7C,SAAAE,GAAO,OAAI,SAAAuwC,GAAa,OAAIvwC,EAAQ,CAAEuwC,cAAAA,GAAgB,KAE7Cg1D,GAA0BzlG,EAAAA,EAAAA,cAAa,8BACvC0lG,GAA0B1lG,EAAAA,EAAAA,cACnC,8BACA,SAAAE,GAAO,OAAI,SAAAylG,GAAS,OAAIzlG,EAAQ,CAAEylG,UAAAA,GAAY,KAErCC,GAA0B5lG,EAAAA,EAAAA,cACnC,8BACA,SAAAE,GAAO,OAAI,SAAA3F,GAAK,OAAI2F,EAAQ,CAAE3F,MAAAA,GAAQ,KAE7BsrG,GAAuB7lG,EAAAA,EAAAA,cAAa,0BACpC8lG,GAAuB9lG,EAAAA,EAAAA,cAAa,0BACpC+lG,GAAuB/lG,EAAAA,EAAAA,cAAa,0BACpCgmG,GAAoBhmG,EAAAA,EAAAA,cAC7B,uBACA,SAAAE,GAAO,OAAI,SAACuC,EAASwjG,EAAYj8F,GAAK,OAAK9J,EAAQ,CAAEuC,QAAAA,EAASwjG,WAAAA,EAAYj8F,MAAAA,GAAQ,KAEzEk8F,GAAwBlmG,EAAAA,EAAAA,cACjC,4BACA,SAAAE,GAAO,OAAI,SAACuC,EAASwjG,GAAU,OAAK/lG,EAAQ,CAAEuC,QAAAA,EAASwjG,WAAAA,GAAa,KAE3DE,GAAwBnmG,EAAAA,EAAAA,cACjC,4BACA,SAAAE,GAAO,OAAI,SAACuC,EAASwjG,EAAYj8F,GAAK,OAAK9J,EAAQ,CAAEuC,QAAAA,EAASwjG,WAAAA,EAAYj8F,MAAAA,GAAQ,KAEzEo8F,GAAwBpmG,EAAAA,EAAAA,cACjC,4BACA,SAAAE,GAAO,OAAI,SAACuC,EAASwjG,GAAU,OAAK/lG,EAAQ,CAAEuC,QAAAA,EAASwjG,WAAAA,GAAa,KAE3DI,GAAsBrmG,EAAAA,EAAAA,cAC/B,yBACA,SAAAE,GAAO,OAAI,SAACuC,EAASwjG,EAAYj8F,GAAK,OAAK9J,EAAQ,CAAEuC,QAAAA,EAASwjG,WAAAA,EAAYj8F,MAAAA,GAAQ,KAEzEs8F,GAA0BtmG,EAAAA,EAAAA,cACnC,8BACA,SAAAE,GAAO,OAAI,SAACuC,EAASwjG,GAAU,OAAK/lG,EAAQ,CAAEuC,QAAAA,EAASwjG,WAAAA,GAAa,KAE3DM,GAA0BvmG,EAAAA,EAAAA,cACnC,8BACA,SAAAE,GAAO,OAAI,SAACuC,EAASwjG,EAAYj8F,GAAK,OAAK9J,EAAQ,CAAEuC,QAAAA,EAASwjG,WAAAA,EAAYj8F,MAAAA,GAAQ,KAEzEw8F,GAA0BxmG,EAAAA,EAAAA,cACnC,8BACA,SAAAE,GAAO,OAAI,SAACuC,EAASwjG,GAAU,OAAK/lG,EAAQ,CAAEuC,QAAAA,EAASwjG,WAAAA,GAAa,I,gOChFlEQ,GAAkBzmG,EAAAA,EAAAA,cAAa,kCAC/BuH,GAAcvH,EAAAA,EAAAA,cAAa,yCAC3B0H,GAAc1H,EAAAA,EAAAA,cAAa,yCAC7B,SAAAE,GAAO,OAAI,SACPuC,EACAC,EACAC,EACA+jG,EACAC,EACAC,GAAiC,OAEjC1mG,EAAQ,CAAEuC,QAAAA,EAASikG,eAAAA,EAAgBhkG,sBAAAA,EAAuBC,uBAAAA,EAAwBgkG,wBAAAA,EAAyBC,yBAAAA,GAA2B,KAExIj/F,GAAc3H,EAAAA,EAAAA,cAAa,yCAEpB6mG,EAAgC,CACzCJ,gBAAAA,EACAK,yBAQJ,SAAkC/lF,EAAkBte,GAEhD,OAAO,SAAC5K,EAAoDoC,GACxD,IAAM+kB,EACF/kB,IAAWgnB,KAAKD,UAAUD,GACxBrgB,EAAQzG,IAAW8sG,QAAQl8F,WAAWK,MAAK,SAAAsjD,GAAC,OAAIA,EAAE/rD,UAAYA,CAAO,IAE3E,GAAIuc,GAAYte,EAAO,CAAC,IAADsmG,EACfC,EAEJ,GAAwB,MAApBjoF,EAASo4D,SAAwC,KAArBp4D,EAASo4D,QAAgB,CACrD,IAAMA,EAAUz3D,EAAAA,GAAa+X,gBAAgB1Y,EAASo4D,SAClDz3D,EAAAA,GAAaC,SAASw3D,KACtB6vB,EAAStnF,EAAAA,GAAaunF,MAAMxmG,EAAM+C,KAAO,IAAM2zE,GAEvD,CAEA,IAAMnvE,GAA8C9N,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC7C6kB,GAAQ,IACXioF,OAAc,QAARD,EAAEC,SAAM,IAAAD,EAAAA,EAAI32E,EAAAA,GAAY82E,cAAc7oC,eAGhDzmE,EAASqpB,EAAAA,EAAYC,UAAUJ,IAC/BlpB,EAASqpB,EAAAA,EAAYE,gBAAgB,CAACnZ,GAAU8Y,IAChDlpB,EAASqpB,EAAAA,EAAYq8C,0BAA0Bx8C,GACnD,CACJ,CACJ,EAlCIqmF,0BAoCJ,SAAmCrmF,EAAkBte,GAEjD,OAAO,SAAC5K,EAAoDoC,GACxD,IAAM+kB,EACF/kB,IAAWgnB,KAAKD,UAAUD,GACxBrgB,EAAQzG,IAAW8sG,QAAQl8F,WAAWK,MAAK,SAAAsjD,GAAC,OAAIA,EAAE/rD,UAAYA,CAAO,IAE3E,GAAIuc,GAAYte,EAAO,CAAC,IAAD2mG,EACfjwB,EAEmB,MAAnBp4D,EAASioF,QAAsC,KAApBjoF,EAASioF,QAChCtnF,EAAAA,GAAaC,SAASZ,EAASioF,UAC/B7vB,EAAUz3D,EAAAA,GAAaunF,MAAMt0F,OAAOoM,EAASioF,SAAWvmG,EAAM+C,KAAO,KAAM,IAInF,IAAMwE,GAA8C9N,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC7C6kB,GAAQ,IACXo4D,QAAgB,QAATiwB,EAAEjwB,SAAO,IAAAiwB,EAAAA,EAAIh3E,EAAAA,GAAYi3E,eAAehpC,eAGnDzmE,EAASqpB,EAAAA,EAAYC,UAAUJ,IAC/BlpB,EAASqpB,EAAAA,EAAYE,gBAAgB,CAACnZ,GAAU8Y,IAChDlpB,EAASqpB,EAAAA,EAAYq8C,0BAA0Bx8C,GACnD,CACJ,CACJ,EA7DI1F,KA+DJ,SAAc5Y,EAAiBikG,EAAsBa,GACjD,sBAAA/vG,GAAAC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,KAAAC,MAAO,SAAAC,EAAOC,EAAoDoC,GAAwB,IAAAozB,EAAAiB,EAAAqc,EAAA,OAAAjzC,EAAAA,EAAAA,KAAAQ,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACrD,GAAjCR,EAASqpB,EAAAA,EAAY4B,YAEhB7oB,IAAWgnB,KAAK0R,QAAQ,CAADx6B,EAAAE,KAAA,eAAAF,EAAAkyC,OAAA,iBAarB,OAXPxyC,EAAS0P,KAEH8lB,EAAmCpzB,IAAWgnB,KAAKD,UACpDnI,QAAO,SAACwE,GAAwC,OAAMA,EAAEd,KAAK,IAC7D9c,KAAI,SAAA4d,GAAC,MAAK,CACP7gB,GAAI6gB,EAAE7gB,GACN06E,oBAAqBtkE,OAAOyK,EAAE65D,qBAC9B+vB,OAAQr0F,OAAOyK,EAAE4pF,QACjB7vB,QAASxkE,OAAOyK,EAAE+5D,SAClBowB,QAAsB,MAAbnqF,EAAEmqF,SAAiC,KAAdnqF,EAAEmqF,aAAiBnnG,EAAYuS,OAAOyK,EAAEmqF,SACtED,KAAAA,EACH,IAAEpvG,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAGoBovG,EAAAA,EAAkBC,oBAAoBjlG,EAASikG,EAAgBr5E,EAAOk6E,GAAM,KAAD,EAA5Fj5E,EAAQn2B,EAAAY,KAEdlB,EAASgvG,EAA8Bn/F,YACnCjF,EACA6rB,EAAS5rB,sBACT4rB,EAAS3rB,uBACT2rB,EAASo4E,eACTp4E,EAASq4E,wBACTr4E,EAASs4E,2BAIb/uG,EACI0K,EAAAA,EAAsBC,uBAClB8rB,EAASzsB,cACTysB,EAAS5rB,sBACT4rB,EAAS3rB,yBAIjB9K,EAAS8vG,EAAAA,EAAuB1pF,OAAOxb,EAAS6rB,EAASjB,QAGnDsd,GAAQxwC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACPq4B,EAAAA,EAAQmY,UAAQ,IACnBjU,MAAO,IAAImhD,EAAAA,GAAqBrlD,EAAAA,EAAQmY,SAASjU,OAC5CkxE,aACA5oD,WAETxsB,EAAAA,EAAQ6W,QAAQsB,GAAUxyC,EAAAE,KAAA,iBAAAF,EAAAC,KAAA,GAAAD,EAAAiB,GAAAjB,EAAA,SAG1BN,EAASgvG,EAA8Bl/F,eACtB,MAAbxP,EAAAiB,GAAEqD,OACF5E,EACIsU,EAAAA,EAAoB6mB,iCAChBjR,EAAAA,EAAckR,YACd,+BACA,IAIRp7B,EAASyB,EAAAA,EAAa6C,gBAAehE,EAAAiB,KACxC,yBAAAjB,EAAAqB,OAAA,GAAA5B,EAAA,mBAER,gBAAA6B,EAAAmF,GAAA,OAAApH,EAAAkC,MAAA,KAAAC,UAAA,EAhED,EAiEJ,EAhII4N,YAAAA,EACAG,YAAAA,EACAC,YAAAA,E,uECvCEhP,GAAUqH,EAAAA,EAAAA,cAAa,uCACvBC,GAAgBD,EAAAA,EAAAA,cAAa,8CAC/B,SAAAE,GAAO,OAAI,SAACzH,GAAsD,OAC9DyH,EAAQ,CAAEzH,aAAAA,EAAcumD,OADiCrlD,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IAC3B,KAa5Bi6F,EAA0B,CACnCj7F,QAAAA,EACAsH,cAAAA,EACA4zF,4CAd+C7zF,EAAAA,EAAAA,cAC/C,+EACA,SAAAE,GAAO,OAAI,SAAC25B,GAAgB,OAAK35B,EAAQ,CAAE25B,SAAAA,GAAW,KAatDi6D,yCAX4C9zF,EAAAA,EAAAA,cAC5C,6EACA,SAAAE,GAAO,OAAI,SAAC25B,GAAgB,OAAK35B,EAAQ,CAAE25B,SAAAA,GAAW,KAUtDqlB,eARkBl/C,EAAAA,EAAAA,cAAa,qC,s+DCftB6nG,GAAgB7nG,EAAAA,EAAAA,cAAa,kBAC7B8nG,GAAuB9nG,EAAAA,EAAAA,cAAa,0BAEpC+nG,GAAuB/nG,EAAAA,EAAAA,cAChC,0BACA,SAAAE,GAAO,OAAI,SAAC3F,GAAK,OAAK2F,EAAQ,CAAE3F,MAAAA,GAAQ,KAG/BytG,GAAsBhoG,EAAAA,EAAAA,cAC/B,yBACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD6+F,GAA+BjoG,EAAAA,EAAAA,cACxC,mCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD8+F,GAAmCloG,EAAAA,EAAAA,cAC5C,uCAGSmoG,GAAoCnoG,EAAAA,EAAAA,cAC7C,wCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDg/F,GAA2BpoG,EAAAA,EAAAA,cACpC,+BACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDi/F,GAAyBroG,EAAAA,EAAAA,cAClC,6BACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDk/F,GAA+BtoG,EAAAA,EAAAA,cACxC,qCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDm/F,GAA4BvoG,EAAAA,EAAAA,cACrC,gCAGSwoG,GAA6BxoG,EAAAA,EAAAA,cACtC,iCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDq/F,GAA0BzoG,EAAAA,EAAAA,cACnC,8BAGS0oG,GAA2B1oG,EAAAA,EAAAA,cACpC,+BACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDu/F,GAAoC3oG,EAAAA,EAAAA,cAC7C,0CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDw/F,GAAiC5oG,EAAAA,EAAAA,cAC1C,sCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDy/F,GAA8B7oG,EAAAA,EAAAA,cACvC,mCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD0/F,GAAkC9oG,EAAAA,EAAAA,cAC3C,uCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD2/F,GAA8B/oG,EAAAA,EAAAA,cACvC,kCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD4/F,GAAwBhpG,EAAAA,EAAAA,cACjC,wCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD6/F,GAAgCjpG,EAAAA,EAAAA,cACzC,qCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD8/F,GAAmClpG,EAAAA,EAAAA,cAC5C,6CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD+/F,GAA2BnpG,EAAAA,EAAAA,cACpC,gCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDggG,GAA2BppG,EAAAA,EAAAA,cACpC,oCACA,SAAAE,GAAO,OAAI,SAAC8yE,EAAOq2B,EAAK7oF,EAAMmuD,GAAe,OAAKzuE,EAAQ,CAAE8yE,MAAAA,EAAOq2B,IAAAA,EAAK7oF,KAAAA,EAAMmuD,gBAAAA,GAAkB,KAGvF26B,GAAiCtpG,EAAAA,EAAAA,cAC1C,2CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDmgG,GAA4BvpG,EAAAA,EAAAA,cACrC,gCACA,SAAAE,GAAO,OAAI,SAAC8yE,EAAOq2B,EAAK7oF,EAAMmuD,EAAiB66B,GAAa,OAAKtpG,EAAQ,CAAE8yE,MAAAA,EAAOq2B,IAAAA,EAAK7oF,KAAAA,EAAMmuD,gBAAAA,EAAiB66B,cAAAA,GAAgB,KAGrHC,GAA4CzpG,EAAAA,EAAAA,cACrD,mDACA,SAAAE,GAAO,OAAI,SAACzH,GAAY,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAG7CixG,GAA6B1pG,EAAAA,EAAAA,cACtC,sCACA,SAAAE,GAAO,OAAI,SAAC8yE,EAAOq2B,EAAK7oF,EAAMmpF,GAAM,OAAKzpG,EAAQ,CAAE8yE,MAAAA,EAAOq2B,IAAAA,EAAK7oF,KAAAA,EAAMmpF,OAAAA,GAAS,KAGrEC,GAAmC5pG,EAAAA,EAAAA,cAC5C,6CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDygG,GAA8B7pG,EAAAA,EAAAA,cACvC,kCACA,SAAAE,GAAO,OAAI,SAAC8yE,EAAOq2B,EAAK7oF,EAAMmuD,EAAiB66B,GAAa,OAAKtpG,EAAQ,CAAE8yE,MAAAA,EAAOq2B,IAAAA,EAAK7oF,KAAAA,EAAMmuD,gBAAAA,EAAiB66B,cAAAA,GAAgB,KAGrHM,GAA8C9pG,EAAAA,EAAAA,cACvD,qDACA,SAAAE,GAAO,OAAI,SAACzH,GAAY,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAG7CsxG,GAA4B/pG,EAAAA,EAAAA,cACrC,qCACA,SAAAE,GAAO,OAAI,SAAC8yE,EAAOq2B,EAAK7oF,EAAMmuD,GAAe,OAAKzuE,EAAQ,CAAE8yE,MAAAA,EAAOq2B,IAAAA,EAAK7oF,KAAAA,EAAMmuD,gBAAAA,GAAkB,KAGvFq7B,GAAkChqG,EAAAA,EAAAA,cAC3C,4CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzD6gG,GAA6BjqG,EAAAA,EAAAA,cACtC,iCACA,SAAAE,GAAO,OAAI,SAAC8yE,EAAOq2B,EAAK7oF,EAAMmuD,EAAiB66B,GAAa,OAAKtpG,EAAQ,CAAE8yE,MAAAA,EAAOq2B,IAAAA,EAAK7oF,KAAAA,EAAMmuD,gBAAAA,EAAiB66B,cAAAA,GAAgB,KAGrHU,GAA6ClqG,EAAAA,EAAAA,cACtD,oDACA,SAAAE,GAAO,OAAI,SAACzH,GAAY,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAG7C0xG,GAA+BnqG,EAAAA,EAAAA,cACxC,yCACA,SAAAE,GAAO,OAAI,SAACsgB,GAAI,OAAKtgB,EAAQ,CAAEsgB,KAAAA,GAAO,KAG7B4pF,GAAqCpqG,EAAAA,EAAAA,cAC9C,gDACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDihG,GAAgCrqG,EAAAA,EAAAA,cACzC,0CACA,SAAAE,GAAO,OAAI,SAACsgB,EAAM8pF,GAAkB,OAAKpqG,EAAQ,CAAEsgB,KAAAA,EAAM8pF,mBAAAA,GAAqB,KAGrEC,GAAgDvqG,EAAAA,EAAAA,cACzD,6DACA,SAAAE,GAAO,OAAI,SAACzH,GAAY,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAG7C+xG,GAA8BxqG,EAAAA,EAAAA,cACvC,wCACA,SAAAE,GAAO,OAAI,SAACsgB,GAAI,OAAKtgB,EAAQ,CAAEsgB,KAAAA,GAAO,KAG7BiqF,GAAoCzqG,EAAAA,EAAAA,cAC7C,+CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDshG,GAA+B1qG,EAAAA,EAAAA,cACxC,yCACA,SAAAE,GAAO,OAAI,SAACsgB,EAAM8pF,GAAkB,OAAKpqG,EAAQ,CAAEsgB,KAAAA,EAAM8pF,mBAAAA,GAAqB,KAGrEK,GAA+C3qG,EAAAA,EAAAA,cACxD,4DACA,SAAAE,GAAO,OAAI,SAACzH,GAAY,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAe,KAG7CmyG,GAA2B5qG,EAAAA,EAAAA,cACpC,+BACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAAKlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAGzDyhG,GAAqB7qG,EAAAA,EAAAA,cAC9B,wBACA,SAAAE,GAAO,OAAI,SAAC2Y,GAAM,OAAK3Y,EAAQ,CAAE2Y,OAAAA,GAAS,KAGjCiyF,GAA+B9qG,EAAAA,EAAAA,cACxC,oCACA,SAAAE,GAAO,OAAI,SAAC2Y,GAAM,OAAK3Y,EAAQ,CAAE2Y,OAAAA,GAAS,KAGjCkyF,GAAuB/qG,EAAAA,EAAAA,cAChC,0BAGSgrG,GAA2BhrG,EAAAA,EAAAA,cACpC,+BACA,SAAAE,GAAO,OAAI,SAACuoC,GAAM,OAAKvoC,EAAQ,CAAEuoC,OAAAA,GAAS,KAGjCwiE,GAAiCjrG,EAAAA,EAAAA,cAAa,sCAE9CkrG,GAAiBlrG,EAAAA,EAAAA,cAAa,mBAC9BmrG,IAA8BnrG,EAAAA,EAAAA,cAAa,kCAE3CorG,IAA6BprG,EAAAA,EAAAA,cACtC,kCACA,SAAAE,GAAO,OAAI,SAAC2a,GAAI,OAAK3a,EAAQ,CAAE2a,KAAAA,GAAO,KAG7BwwF,IAAuCrrG,EAAAA,EAAAA,cAAa,4CAEpDsrG,IAAuCtrG,EAAAA,EAAAA,cAChD,4CACA,SAAAE,GAAO,OAAI,SAACqrG,GAAe,OAAKrrG,EAAQ,CAAEqrG,gBAAAA,GAAkB,KAGnDC,IAAuCxrG,EAAAA,EAAAA,cAAa,4CACpDyrG,IAA8BzrG,EAAAA,EAAAA,cAAa,mCAE3C0rG,IAA8B1rG,EAAAA,EAAAA,cACvC,kCACA,SAAAE,GAAO,OAAI,SAACyrG,EAAYnnC,GAAO,OAAKtkE,EAAQ,CAAEyrG,WAAAA,EAAYnnC,QAAAA,GAAU,KAG3DonC,IAA8C5rG,EAAAA,EAAAA,cACvD,qDACA,SAAAE,GAAO,OAAI,SAACzD,GAAM,OAAKyD,EAAQ,CAAEzD,OAAAA,GAAS,KAGjCovG,IAAkC7rG,EAAAA,EAAAA,cAC3C,4CACA,SAAAE,GAAO,OAAI,SAAC4rG,GAAY,OAAK5rG,EAAQ,CAAE4rG,aAAAA,GAAe,KAG7CC,IAAgC/rG,EAAAA,EAAAA,cACzC,qCACA,SAAAE,GAAO,OAAI,SAAC8rG,GAAU,OAAK9rG,EAAQ,CAAE8rG,WAAAA,GAAa,KAGzCC,IAA6BjsG,EAAAA,EAAAA,cACtC,wCACA,SAAAE,GAAO,OAAI,SAACgsG,GAAa,OAAKhsG,EAAQ,CAAEgsG,cAAAA,GAAgB,KAG/CC,IAAuCnsG,EAAAA,EAAAA,cAChD,6CACA,SAAAE,GAAO,OAAI,SAACksG,GAAiB,OAAKlsG,EAAQ,CAAEksG,kBAAAA,GAAoB,KAGvDC,IAAsCrsG,EAAAA,EAAAA,cAC/C,2CAGSssG,IAAyCtsG,EAAAA,EAAAA,cAClD,8CACA,SAAAE,GAAO,OAAI,SAAC2Y,GAAM,OAAK3Y,EAAQ,CAAE2Y,OAAAA,GAAS,KAGjC0zF,IAAwCvsG,EAAAA,EAAAA,cACjD,6CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAC1BlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAG1BojG,IAAmCxsG,EAAAA,EAAAA,cAC5C,0CACA,SAAAE,GAAO,OAAI,SAACusG,GAAQ,OAAKvsG,EAAQ,CAAEusG,SAAAA,GAAW,KAGrCC,IAAkC1sG,EAAAA,EAAAA,cAC3C,yCACA,SAAAE,GAAO,OAAI,SAACzH,EAAck0G,EAAkBC,GAAa,OACrD1sG,EAAQ,CAAEzH,aAAAA,EAAck0G,iBAAAA,EAAkBC,cAAAA,GAAgB,KAGrDC,IAAkD7sG,EAAAA,EAAAA,cAC3D,wDACA,SAAAE,GAAO,OAAI,SAAC4sG,EAAYC,EAAar5B,EAAWs5B,GAAS,OAAK9sG,EAAQ,CAAE4sG,WAAAA,EAAYC,YAAAA,EAAar5B,UAAAA,EAAWs5B,UAAAA,GAAY,KAG/GC,IAAkDjtG,EAAAA,EAAAA,cAC3D,wDACA,SAAAE,GAAO,OAAI,SAAC2K,EAAYiiG,EAAYx5B,GAAiB,OAAKpzE,EAAQ,CAAE2K,WAAAA,EAAYiiG,WAAAA,EAAYx5B,kBAAAA,GAAoB,KAGvG45B,IAAkDltG,EAAAA,EAAAA,cAC3D,wDAGSmtG,IAA4CntG,EAAAA,EAAAA,cACrD,kDACA,SAAAE,GAAO,OAAI,SAACktG,GAAW,OAAKltG,EAAQ,CAAEktG,YAAAA,GAAc,KAG3CC,IAA+CrtG,EAAAA,EAAAA,cACxD,qDACA,SAAAE,GAAO,OAAI,SAACwzE,EAAWs5B,GAAS,OAAK9sG,EAAQ,CAAEwzE,UAAAA,EAAWs5B,UAAAA,GAAY,KAG7DM,IAAmCttG,EAAAA,EAAAA,cAAa,uCAEhDutG,IAAwCvtG,EAAAA,EAAAA,cACjD,mDACA,SAAAE,GAAO,OAAI,SAAC2Y,GAAM,OAAK3Y,EAAQ2Y,EAAO,KAG7B20F,IAAuCxtG,EAAAA,EAAAA,cAChD,oDACA,SAAAE,GAAO,OAAI,SAACzH,EAAcg1G,EAAuBC,GAAU,OACvDxtG,EAAQ,CAAEzH,aAAAA,EAAcg1G,sBAAAA,EAAuBC,WAAAA,GAAa,KAGvDC,IAAsC3tG,EAAAA,EAAAA,cAC/C,4CACA,SAAAE,GAAO,OAAI,SAAC2Y,EAAQ+0F,EAAsBtwD,GAAS,OAAKp9C,EAAQ,CAAE2Y,OAAAA,EAAQ+0F,qBAAAA,EAAsBtwD,UAAAA,GAAY,KAGnGuwD,IAAqC7tG,EAAAA,EAAAA,cAC9C,6CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAC1BlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAG1B0kG,IAAiC9tG,EAAAA,EAAAA,cAC1C,qCACA,SAAAE,GAAO,OAAI,SAAC2Y,EAAQ+0F,EAAsBtwD,GAAS,OAAKp9C,EAAQ,CAAE2Y,OAAAA,EAAQ+0F,qBAAAA,EAAsBtwD,UAAAA,GAAY,KAGnGywD,IAAgC/tG,EAAAA,EAAAA,cACzC,sCACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAC1BlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,KAG1B4kG,IAAwChuG,EAAAA,EAAAA,cACjD,8CAGSiuG,IAAuCjuG,EAAAA,EAAAA,cAChD,+CACA,SAAAE,GAAO,OAAI,SAACzH,EAAc2Q,GAAI,OAC1BlJ,EAAQ,CAAEzH,aAAAA,EAAc2Q,KAAAA,GAAO,I,uEC1W1B8kG,EAA4B,CACrCC,2BAR8BnuG,EAAAA,EAAAA,cAAa,wCAAwC,SAAAE,GAAO,OAAI,SAACzH,GAA0B,OAAKyH,EAAQ,CAAEzH,aAAAA,GAAc,KAStJ21G,4BAP+BpuG,EAAAA,EAAAA,cAC/B,yCACA,SAAAE,GAAO,OAAI,SAACzH,EAA4Bm2E,GAA6B,OAAK1uE,EAAQ,CAAEzH,aAAAA,EAAcm2E,mBAAAA,GAAqB,K,uECJrHj2E,GAAUqH,EAAAA,EAAAA,cAAa,+BACzB,SAAAE,GAAO,OAAI,SAACwJ,EAA2BQ,GAAkB,OAAKhK,EAAQ,CAAEwJ,kBAAAA,EAAmBQ,WAAAA,GAAa,KAEtGjK,GAAgBD,EAAAA,EAAAA,cAAa,sCAC/B,SAAAE,GAAO,OAAI,SAACgK,EAAoBzR,GAAqD,OAAKyH,EAAQ,CAAEgK,WAAAA,EAAYzR,aAAAA,EAAc+wF,WAA9C7vF,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IAAwD,KAWlIu/B,EAAoB,CAC7BvgC,QAAAA,EACAsH,cAAAA,EACAouG,cAZiBruG,EAAAA,EAAAA,cAAa,2BAC9B,SAAAE,GAAO,OAAI,SAACgK,EAAoBmD,GAAiB,OAAKnN,EAAQ,CAAEgK,WAAAA,EAAYmD,UAAAA,GAAY,KAYxF8rB,mBAVsBn5B,EAAAA,EAAAA,cAAa,+BACnC,SAAAE,GAAO,OAAI,SAACgK,EAAoBs/E,GAAoB,OAAKtpF,EAAQ,CAAEgK,WAAAA,EAAYs/E,WAAAA,GAAa,KAU5F8kB,aARgBtuG,EAAAA,EAAAA,cAAa,oCAS7B/E,OARU+E,EAAAA,EAAAA,cAAa,6B,uECbrBrH,GAAUqH,EAAAA,EAAAA,cAAa,sCACzB,SAAAE,GAAO,OAAI,SAACk6C,GAAiB,OAAKl6C,EAAQ,CAAEk6C,QAAAA,GAAU,KAEpD9rB,GAAWtuB,EAAAA,EAAAA,cAAa,uCAC1B,SAAAE,GAAO,OAAI,SAACzH,GAAgE,OACxEyH,EAAQ,CAAEzH,aAAAA,EAAc81G,aAD2C50G,UAAAyG,OAAA,QAAAC,IAAA1G,UAAA,GAAAA,UAAA,GAAG,IAC/B,KAIlCysE,EAA2B,CACpCztE,QAAAA,EACA21B,SAAAA,EACArzB,OALU+E,EAAAA,EAAAA,cAAa,oC","sources":["actions/profile.actions.js","actions/entities/rejected-trades.actions.ts","actions/edit-news.actions.ts","actions/entities/awaitingTrades.actions.ts","actions/manage-email-preferences.actions.ts","actions/push.bwic.actions.ts","actions/clients-companies.actions.ts","actions/manage-companies-filter.actions.ts","actions/search.securities.actions.js","actions/help-resources.actions.ts","actions/manage-email.actions.ts","actions/portfolio-agreement-disclaimer.actions.ts","actions/sales-representative.actions.ts","actions/push.user.actions.js.ts","actions/inventory-edit.actions.ts","actions/clearing-bank.actions.ts","actions/seller.bidding.actions.js","actions/entities/parties.actions.ts","actions/release.actions.ts","actions/bwic-log.actions.ts","actions/entities/live-bidding.actions.ts","actions/subscription-biling-history.actions.ts","actions/edit.parsed.bwic.actions.js","actions/new-bwic-dealers.actions.ts","actions/edit.company.actions.js","actions/seller-admin-users.actions.ts","actions/rules.actions.js","actions/brokerDealer.bidding.actions.js","actions/seller-admin-limit.actions.ts","actions/companies.actions.js","actions/entities/trustee.actions.ts","actions/favorite-broker-dealers.actions.ts","actions/manage-members-filter.actions.ts","actions/notification.actions.ts","actions/seller-admin-dealers.actions.ts","actions/manage-tokens.actions.ts","actions/entities/arrangers-pipeline.actions.ts","actions/blast-message.actions.ts","actions/direct-bidding-agreement-disclaimer.actions.ts","actions/settlement-agent-agreement-push.actions.ts","actions/clo-managers.actions.ts","actions/company-members.actions.ts","actions/email-preferences.actions.ts","actions/entities/availableBrokerDealers.actions.ts","actions/change-subscription.actions.ts","actions/portfolio-list.actions.ts","actions/deals.actions.ts","actions/control-panel.actions.js","actions/process.actions.js","actions/entities/cloSystemInfrastructure.ts","actions/news.actions.ts","actions/grid.actions.js","actions/error.actions.js","actions/table.actions.ts","actions/security.details.actions.ts","actions/settlement-agent-agreements.actions.ts","actions/dealer-list.actions.ts","actions/portfolio.actions.js","actions/page-config.actions.ts","actions/entities/push-history.actions.ts","actions/broker-dealer-user-list.actions.ts","actions/company-details.actions.ts","actions/inventory.actions.ts","actions/filter.actions.ts","actions/broker-dealer-contact-list.actions.ts","actions/blotter-trade-allocation-template.actions.ts","actions/search-transactions.actions.ts","actions/dealer-list-panel.actions.ts","actions/signup.actions.ts","actions/securities.actions.js","actions/forms.actions.js","actions/newBWIC.actions.js","actions/documents.actions.js","actions/submit.actions.js","actions/edit.portfolio.actions.js","actions/manage.parsed.bwics.actions.js","actions/change.pxTalk.actions.js","actions/change.color.actions.js","actions/contacts.save.actions.js","actions/portfolio.documents.actions.js","actions/otherSeller.bidding.actions.js","actions/dealers.actions.js","actions/push.invitation.actions.js","actions/color.distribution.actions.js","actions/onBoarding.tooltip.actions.js","actions/inviteToJoin.actions.js","actions/bwic-history.actions.js","actions/pxTalk-list.actions.js","actions/seller-buyside-actions.ts","actions/im-details-deals.actions.ts","actions/subscriptions.actions.ts","actions/contact-sales.actions.ts","actions/dealers-stats.actions.ts","actions/settlement-account.actions.ts","actions/im-user-config.actions.ts","actions/blotter.actions.js","actions/blotter-trade-allocation.actions.ts","actions/broker-dealer-list.actions.ts","actions/dashboard.actions.js","actions/entities/collateralManagers.action.ts","actions/price-talks.actions.ts","actions/entities/latest-transaction.actions.ts"],"sourcesContent":["import { profileActions as actionTypes } from '../constants';\r\nimport { accountActions, errorActions } from '.';\r\nimport { accountService } from '../services';\r\nimport { userProfilePhotoActions } from './user-profile-photo.actions';\r\nimport { user } from '../user';\r\nimport { sellerAdminUsersActions } from './seller-admin-users.actions';\r\nimport { sellerAdminDealerActions } from './seller-admin-dealers.actions';\r\nimport { sellerAdminLimitActions } from './seller-admin-limit.actions';\r\nimport { RequestState } from '../constants/request-state';\r\n\r\nexport const profileActions = {\r\n init,\r\n toggleEditPhoneMode,\r\n toggleEditBloombergEmail,\r\n savePhoneNumber,\r\n savePhoneNumberFailure,\r\n changeContactPopupVisible,\r\n changePasswordFormVisible,\r\n personalInfoReset,\r\n passwordSettingsReset,\r\n reset,\r\n addNewCompanyTraderToStore,\r\n editNewCompanyTraderInStore,\r\n editCompanyContact,\r\n enableCompanyTrader,\r\n disableCompanyTrader,\r\n setVisibleUploadImagePopup,\r\n uploadUserImage,\r\n deleteUserImage,\r\n saveBloombergEmail,\r\n changeBwicAnnouncementNotifications\r\n};\r\n\r\nfunction init() {\r\n return async dispatch => {\r\n dispatch({ type: actionTypes.PROFILE_INIT, requestState: RequestState.request });\r\n try {\r\n const profilePromise = accountService.getProfile();\r\n const companyPromise = accountService.getProfileCompany();\r\n const profile = await profilePromise;\r\n const company = await companyPromise;\r\n dispatch({ type: actionTypes.GET_PROFILE_SUCCESS, profile });\r\n dispatch({ type: actionTypes.GET_PROFILE_COMPANY_SUCCESS, payload: { company } });\r\n dispatch({ type: actionTypes.PROFILE_INIT, requestState: RequestState.success });\r\n\r\n } catch (e) {\r\n dispatch({ type: actionTypes.PROFILE_INIT, requestState: RequestState.failure });\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n}\r\n\r\nfunction toggleEditPhoneMode(changePhoneVisible) {\r\n return {\r\n type: actionTypes.CHANGE_PHONE_VISIBLE,\r\n changePhoneVisible\r\n };\r\n}\r\n\r\nfunction toggleEditBloombergEmail() {\r\n return { type: actionTypes.TOGGLE_VISIBILITY_FORM_BLOOMBERG_EMAIL }\r\n}\r\n\r\nfunction saveBloombergEmail(bloombergEmail) {\r\n return async dispatch => {\r\n try {\r\n dispatch(setRequestStatusSaveBloombergEmail(true));\r\n await accountService.saveBloombergEmail(bloombergEmail);\r\n user.setBloombergEmail(bloombergEmail);\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n } finally {\r\n dispatch(setRequestStatusSaveBloombergEmail(false));\r\n }\r\n }\r\n}\r\n\r\nfunction setRequestStatusSaveBloombergEmail(status) {\r\n return { type: actionTypes.IS_REQUEST_SAVE_BLOOMBERG_EMAIL, payload: { status } }\r\n}\r\n\r\nfunction savePhoneNumber(phone) {\r\n return (dispatch, getState) => {\r\n const profile = getState().profile.profile;\r\n profile.phone = phone;\r\n\r\n dispatch({\r\n type: actionTypes.SAVE_PHONE_NUMBER,\r\n profile: {\r\n ...profile\r\n }\r\n });\r\n };\r\n}\r\n\r\nfunction savePhoneNumberFailure(errorMessage) {\r\n return {\r\n type: actionTypes.CHANGE_PHONE_NUMBER_FAILURE,\r\n error: { errorMessage: errorMessage }\r\n };\r\n}\r\n\r\nfunction changeContactPopupVisible(changeContactPopupVisible, contactId) {\r\n return {\r\n type: actionTypes.CHANGE_CONTACT_POPUP_VISIBLE,\r\n contact: {\r\n changeContactPopupVisible,\r\n contactId\r\n }\r\n };\r\n}\r\n\r\nfunction changePasswordFormVisible(changePasswordVisible) {\r\n return {\r\n type: actionTypes.CHANGE_PASSWORD_FORM_VISIBLE,\r\n changePasswordVisible\r\n };\r\n}\r\n\r\nfunction personalInfoReset() {\r\n return dispatch => {\r\n dispatch(toggleEditPhoneMode(false));\r\n };\r\n}\r\n\r\nfunction passwordSettingsReset() {\r\n return dispatch => {\r\n dispatch(accountActions.changePasswordReset());\r\n dispatch(changePasswordFormVisible(false));\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.ACCOUNT_SETTINGS_RESET });\r\n dispatch(sellerAdminUsersActions.reset());\r\n dispatch(sellerAdminDealerActions.reset());\r\n dispatch(sellerAdminLimitActions.reset());\r\n };\r\n}\r\n\r\nfunction addNewCompanyTraderToStore(trader) {\r\n return (dispatch, getState) => {\r\n const profile = getState().profile;\r\n if (profile.company && profile.company.traders) {\r\n const company = { ...profile.company };\r\n company.traders.push(trader);\r\n dispatch({ type: actionTypes.PROFILE_COMPANY_ADD_NEW_TRADER, payload: { company } })\r\n }\r\n }\r\n}\r\n\r\nfunction editNewCompanyTraderInStore(trader, traderId) {\r\n return (dispatch, getState) => {\r\n const profile = getState().profile;\r\n if (profile.company && profile.company.traders) {\r\n const company = { ...profile.company };\r\n company.traders = company.traders.map((item) => {\r\n if (item.id === traderId) {\r\n return { ...trader }\r\n }\r\n return item\r\n });\r\n dispatch({ type: actionTypes.PROFILE_COMPANY_EDIT_TRADER, payload: { company } })\r\n }\r\n }\r\n}\r\n\r\nfunction editCompanyContact(submitModel, departmentValue) {\r\n return (dispatch) => {\r\n accountService.editCompanyContact(submitModel, departmentValue)\r\n .then(() => {\r\n dispatch({ type: actionTypes.PROFILE_COMPANY_CONTACT_CHANGED, payload: { submitModel, departmentValue } });\r\n })\r\n .catch((e) => {\r\n dispatch(errorActions.unexpectedError(e));\r\n });\r\n };\r\n}\r\n\r\nfunction enableCompanyTrader(contact) {\r\n return async (dispatch) => {\r\n dispatch({ type: actionTypes.ENABLE_COMPANY_TRADER_REQUEST });\r\n try {\r\n const { id, status } = await accountService.enableCompanyTrader(contact.id);\r\n\r\n dispatch({ type: actionTypes.ENABLE_COMPANY_TRADER_SUCCESS });\r\n dispatch(editNewCompanyTraderInStore({ ...contact, status }, id));\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n dispatch({ type: actionTypes.ENABLE_COMPANY_TRADER_FAIL });\r\n }\r\n };\r\n}\r\n\r\nfunction disableCompanyTrader(contact) {\r\n return async (dispatch) => {\r\n dispatch({ type: actionTypes.DISABLE_COMPANY_TRADER_REQUEST });\r\n try {\r\n const { id, status } = await accountService.disableCompanyTrader(contact.id);\r\n\r\n dispatch({ type: actionTypes.DISABLE_COMPANY_TRADER_SUCCESS });\r\n dispatch(editNewCompanyTraderInStore({ ...contact, status }, id));\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n dispatch({ type: actionTypes.DISABLE_COMPANY_TRADER_FAIL });\r\n }\r\n };\r\n}\r\n\r\nfunction setVisibleUploadImagePopup(visible) {\r\n return {\r\n type: actionTypes.PROFILE_SET_VISIBLE_UPLOAD_USER_IMAGE_POPUP,\r\n payload: { visible }\r\n };\r\n}\r\n\r\nfunction requestStateUploadUserImage(requestState) {\r\n return {\r\n type: actionTypes.PROFILE_SET_REQUEST_STATE_UPLOAD_USER_IMAGE,\r\n payload: { requestState }\r\n };\r\n}\r\n\r\nfunction requestStateDeleteUserImage(requestState) {\r\n return {\r\n type: actionTypes.PROFILE_SET_REQUEST_STATE_DELETE_USER_IMAGE,\r\n payload: { requestState }\r\n }\r\n}\r\n\r\nfunction uploadUserImage(file) {\r\n return dispatch => {\r\n dispatch(requestStateUploadUserImage(true));\r\n accountService.uploadUserImage(file)\r\n .then(() => {\r\n const currentUser = user.current();\r\n dispatch(userProfilePhotoActions.fetchUserImage(currentUser.id));\r\n dispatch(setVisibleUploadImagePopup(false));\r\n })\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(requestStateUploadUserImage(false)));\r\n };\r\n}\r\n\r\nfunction deleteUserImage() {\r\n return dispatch => {\r\n dispatch(requestStateDeleteUserImage(true));\r\n accountService.deleteUserImage()\r\n .then(() => {\r\n const currentUser = user.current();\r\n dispatch(userProfilePhotoActions.fetchUserImage(currentUser.id));\r\n dispatch(setVisibleUploadImagePopup(false));\r\n })\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(requestStateDeleteUserImage(false)))\r\n };\r\n}\r\n\r\nfunction changeBwicAnnouncementNotifications(bwicAnnouncementNotifications) {\r\n return dispatch => {\r\n dispatch(sellerAdminUsersActions.changeBwicAnnouncementNotificationsRequest(RequestState.request));\r\n accountService.saveBwicAnnouncementNotifications(bwicAnnouncementNotifications)\r\n .then((bwicAnnouncementNotifications) => {\r\n dispatch(sellerAdminUsersActions.changeBwicAnnouncementNotificationsRequest(RequestState.success));\r\n dispatch(sellerAdminUsersActions.changeBwicAnnouncementNotifications({\r\n bwicCreateNotifyAdmins: bwicAnnouncementNotifications.bwicCreateNotifyAdmins,\r\n bwicCreateNotifyViewers: bwicAnnouncementNotifications.bwicCreateNotifyViewers\r\n }));\r\n })\r\n .catch(e => {\r\n dispatch(errorActions.unexpectedError(e));\r\n dispatch(sellerAdminUsersActions.changeBwicAnnouncementNotificationsRequest(RequestState.failure));\r\n })\r\n }\r\n}","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../../constants/request-state\";\r\nimport { RejectedTrade } from '../../types/trades/RejectedTrade';\r\n\r\nconst request = createAction('entities/rejected-trades/REQUEST');\r\nconst requestResult = createAction('entities/rejected-trades/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, trades: RejectedTrade[] = []) =>\r\n resolve({ requestState, trades })\r\n);\r\nconst setTradesAsResolved = createAction('entities/rejected-trades/SET_AS_RESOLVED',\r\n resolve => (tradeIds: string[]) => resolve({ tradeIds })\r\n);\r\nconst pushBuyerRejectTrade = createAction(\r\n 'entities/rejected-trades/PUSH_BUYER_REJECT_TRADE',\r\n resolve => (trade: RejectedTrade) => resolve({ trade })\r\n);\r\n\r\nexport type TRejectedTradesActionType = ActionType;\r\n\r\nexport const rejectedTradeActions = {\r\n request,\r\n requestResult,\r\n setTradesAsResolved,\r\n pushBuyerRejectTrade,\r\n}\r\n","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { News } from \"../types/news/News\";\r\nimport { Company } from \"../types/amr-pipeline/models/Company\";\r\n\r\nconst init = createAction(\r\n \"editNews/init/REQUEST\",\r\n (resolve) => (initialReferenceName?: string) =>\r\n resolve({ initialReferenceName })\r\n);\r\n\r\nconst getInitResult = createAction(\r\n \"editNews/init/REQUEST_RESULT\",\r\n (resolve) =>\r\n (newsList: News[], managers: Company[], arrangers: Company[]) =>\r\n resolve({ newsList, managers, arrangers })\r\n);\r\n\r\nconst getTotalCountResult = createAction(\r\n \"editNews/getTotalCount/REQUEST_RESULT\",\r\n (resolve) => (totalCount: number) => resolve({ totalCount })\r\n);\r\n\r\nconst loadMoreNewsList = createAction(\r\n \"editNews/getList/REQUEST\",\r\n (resolve) => (searchTerm?: string) => resolve({ searchTerm })\r\n);\r\n\r\nconst loadMoreNewsListResult = createAction(\r\n \"editNews/getList/REQUEST_RESULT\",\r\n (resolve) => (newsList: News[]) => resolve({ newsList })\r\n);\r\n\r\nconst searchNewsList = createAction(\r\n \"editNews/searchList/REQUEST\",\r\n (resolve) => (searchTerm: string) => resolve({ searchTerm })\r\n);\r\n\r\nconst searchNewsListResult = createAction(\r\n \"editNews/searchList/REQUEST_RESULT\",\r\n (resolve) => (newsList: News[]) => resolve({ newsList })\r\n);\r\n\r\nconst setInitialNews = createAction(\r\n \"editNews/setInitial/STATE\",\r\n (resolve) => (initialNews?: News) => resolve({ initialNews })\r\n);\r\n\r\nconst updateNewsList = createAction(\r\n \"editNews/updateList/STATE\",\r\n (resolve) => (newsList: News[]) => resolve({ newsList })\r\n);\r\n\r\nconst setSearchTerm = createAction(\r\n \"editNews/setSearchTerm/STATE\",\r\n (resolve) => (searchTerm: string) => resolve({ searchTerm })\r\n);\r\n\r\nconst getNewsDetails = createAction(\r\n \"editNews/getOne/REQUEST\",\r\n (resolve) => (referenceName: string) => resolve({ referenceName })\r\n);\r\n\r\nconst getNewsDetailsResult = createAction(\r\n \"editNews/getOne/REQUEST_RESULT\",\r\n (resolve) => (newsData: News) => resolve({ newsData })\r\n);\r\n\r\nconst createOrUpdateNews = createAction(\r\n \"editNews/createOrUpdate/REQUEST\",\r\n (resolve) => (newsData: News) => resolve({ newsData })\r\n);\r\n\r\nconst deleteNews = createAction(\r\n \"editNews/delete/REQUEST\",\r\n (resolve) => (referenceName: string) => resolve({ referenceName })\r\n);\r\n\r\nconst resetNewsDetails = createAction(\"editNews/newsDetails/RESET\");\r\n\r\nconst reset = createAction(\"editNews/RESET\");\r\n\r\nexport type TEditNewsActions = ActionType<\r\n (typeof editNewsActions)[keyof typeof editNewsActions]\r\n>;\r\n\r\nexport const editNewsActions = {\r\n init,\r\n getInitResult,\r\n getTotalCountResult,\r\n loadMoreNewsList,\r\n loadMoreNewsListResult,\r\n searchNewsList,\r\n searchNewsListResult,\r\n getNewsDetails,\r\n getNewsDetailsResult,\r\n createOrUpdateNews,\r\n setInitialNews,\r\n updateNewsList,\r\n setSearchTerm,\r\n deleteNews,\r\n resetNewsDetails,\r\n reset,\r\n};\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../../constants/request-state';\r\nimport { AwaitingTrade } from '../../types/trades/AwaitingTrade';\r\nimport { TradeSettlementStatus } from '../../types/settlement/TradeSettlementStatus';\r\n\r\nconst requestTrades = createAction('entities/awaitingTrades/REQUEST');\r\nconst requestTradesResult = createAction(\r\n 'entities/awaitingTrades/REQUEST_RESULT',\r\n resolve => (requestStatus: RequestState, awaitingTrades: AwaitingTrade[] = []) => resolve({ requestStatus, awaitingTrades })\r\n);\r\nconst trade = createAction(\r\n 'entities/awaitingTrades/TRADE',\r\n resolve => (trade: AwaitingTrade) => resolve({ trade })\r\n);\r\nconst tradeAllocationCreated = createAction(\r\n 'entities/awaitingTrades/TRADE_ALLOCATION_CREATED',\r\n resolve =>\r\n (tradeId: string, buyerSettlementStatus: TradeSettlementStatus, sellerSettlementStatus: TradeSettlementStatus) =>\r\n resolve({ tradeId, buyerSettlementStatus, sellerSettlementStatus })\r\n);\r\n\r\nexport type AwaitingTradesActionTypes =\r\n ActionType\r\n\r\nexport const awaitingTradesActions = {\r\n requestTrades,\r\n requestTradesResult,\r\n trade,\r\n tradeAllocationCreated,\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { Currency } from '../types/enums/Currency';\r\nimport { AlertOption, EmailPreferences } from '../types/email-preferences/EmailPreferences';\r\nimport { Rating } from '../types/enums/Rating';\r\nimport { DailyStatsAlertsConfig, CompanyAlertsConfig, ImUserConfig, SecondaryStatsAlertsConfig } from '../types/user-config/UserConfig';\r\nimport { UserConfigFilter } from '../types/user-config/UserConfigFilter';\r\nimport { StatisticsAlertOption } from '../types/amr-pipeline/enums/AlertOption';\r\nimport { AlertEnabledState } from '../types/enums/AlertEnabledState';\r\nimport { CloManager } from '../types/clo-managers/CloManager';\r\nimport { SavedFiltersPreferencesState } from '../types/state/ManageEmailPreferencesState';\r\nimport { Bank } from '../types/banks/Bank';\r\n\r\nconst getInitialDataRequest = createAction(\r\n 'manageEmailPreferences/GET_INITIAL_DATA_REQUEST',\r\n resolve => (withIssuanceMonitorAccess: boolean = false) => resolve({ withIssuanceMonitorAccess })\r\n);\r\nconst getInitialDataSuccess = createAction(\r\n 'manageEmailPreferences/GET_INITIAL_DATA_SUCCESS',\r\n resolve => (\r\n preferences: EmailPreferences,\r\n userConfig?: ImUserConfig[],\r\n managers?: CloManager[],\r\n banks?: Bank[],\r\n ) => resolve({ preferences, userConfig, managers, banks })\r\n);\r\nconst setRatingCheckedState = createAction(\r\n 'manageEmailPreferences/SET_RATING_CHECKED_STATE',\r\n resolve => (rating: Rating, currency: Currency, checked: boolean) => resolve({ rating, currency, checked })\r\n);\r\nconst setRatingInCurrencyCheckedState = createAction(\r\n 'manageEmailPreferences/SET_RATING_IN_CURRENCY_CHECKED_STATE',\r\n resolve => (currency: Currency, checked: boolean) => resolve({ currency, checked })\r\n);\r\nconst setAllRatingCheckedState = createAction(\r\n 'manageEmailPreferences/SET_ALL_RATING_CHECKED_STATE',\r\n resolve => (checked: boolean) => resolve({ checked })\r\n);\r\nconst setRatingSize = createAction(\r\n 'manageEmailPreferences/SET_RATING_MIN_SIZE',\r\n resolve => (rating: Rating, size: number, type: 'minSize' | 'maxSize') => resolve({ rating, size, type })\r\n);\r\nconst setCheckedDailyDashboardEmail = createAction(\r\n 'manageEmailPreferences/SET_CHECKED_DAILY_DASHBOARD_EMAIL',\r\n resolve => (alertOption: AlertOption) => resolve({ alertOption })\r\n);\r\nconst setPortfolioBwicAlerts = createAction(\r\n 'manageEmailPreferences/SET_PORTFOLIO_BWIC_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\nconst setPortfolioCleansingNoticeAlerts = createAction(\r\n 'manageEmailPreferences/SET_PORTFOLIO_CLEANSING_NOTICE_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\nconst setPortfolioIssuanceMonitorAlerts = createAction(\r\n 'manageEmailPreferences/SET_PORTFOLIO_ISSUANCE_MONITOR_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\n\r\nconst setPortfolioRiAlerts = createAction(\r\n 'manageEmailPreferences/SET_PORTFOLIO_RI_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\n\r\nconst setPortfolioNcAlerts = createAction(\r\n 'manageEmailPreferences/SET_PORTFOLIO_NC_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\n\r\nconst setPortfolioRollerDeadlineAlerts = createAction(\r\n 'manageEmailPreferences/SET_PORTFOLIO_ROLLER_DEADLINE_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\n\r\nconst setNewBiwicAlerts = createAction(\r\n 'manageEmailPreferences/SET_NEW_BIWIC_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\nconst setBiwicReminderAlerts = createAction(\r\n 'manageEmailPreferences/SET_BIWIC_REMINDER_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\nconst setPortfolioInventoryAlerts = createAction(\r\n 'manageEmailPreferences/SET_PORTFOLIO_INVENTORY_ALERTS',\r\n resolve => (status: AlertEnabledState) => resolve({ status })\r\n);\r\nconst setBwicByRatingPreferences = createAction(\r\n 'manageEmailPreferences/SET_BWIC_BY_RATING_PREFERENCES',\r\n resolve => (bwicByRatingAlertState: AlertOption) => resolve({ bwicByRatingAlertState })\r\n)\r\nconst setDealerInventoryAlertState = createAction(\r\n 'manageEmailPreferences/SET_DEALER_INVENTORY_ALERTS',\r\n resolve => (dealerInventoryAlertState: AlertOption) => resolve({ dealerInventoryAlertState })\r\n)\r\nconst setIssuanceMonitorSingleAlert = createAction(\r\n 'manageEmailPreferences/SET_ISSUANCE_MONITOR_SINGLE_ALERT',\r\n resolve => (singleAlertState: AlertOption) => resolve({ singleAlertState })\r\n);\r\nconst setIssuanceMonitorNewTransactionAlert = createAction(\r\n 'manageEmailPreferences/SET_ISSUANCE_MONITOR_NEW_TRANSACTION_ALERT',\r\n resolve => (transactionAlertState: AlertOption) => resolve({ transactionAlertState })\r\n);\r\nconst setIssuanceMonitorStatisticsAlert = createAction(\r\n 'manageEmailPreferences/SET_ISSUANCE_MONITOR_STATISTICS_ALERT',\r\n resolve => (statisticAlertState: StatisticsAlertOption) => resolve({ statisticAlertState })\r\n);\r\nconst setIssuanceMonitorFiltersAlert = createAction(\r\n 'manageEmailPreferences/SET_ISSUANCE_MONITOR_FILTERS_ALERT',\r\n resolve => (filtersAlertState: UserConfigFilter[]) => resolve({ filtersAlertState })\r\n);\r\n\r\nconst setArrangerPipelineAlert = createAction(\r\n 'manageEmailPreferences/SET_ARRANGER_PIPELINE_ALERT',\r\n resolve => (apAlertOption: AlertOption) => resolve({ apAlertOption }),\r\n);\r\n\r\nconst setCloManagersAnalyticsAlert = createAction(\r\n 'manageEmailPreferences/SET_CLO_MANAGERS_ANALYTICS_ALERT',\r\n resolve => (cloManagerAnalyticsAlert: CompanyAlertsConfig) => resolve({ cloManagerAnalyticsAlert }),\r\n);\r\n\r\nconst setCloManagersIssuanceMonitorAlert = createAction(\r\n 'manageEmailPreferences/SET_CLO_MANAGERS_ISSUANCE_MONITOR_ALERT',\r\n resolve => (cloManagerImAlertsConfig: CompanyAlertsConfig) => resolve({ cloManagerImAlertsConfig }),\r\n);\r\n\r\nconst setCloManagersArrangerPipelineAlert = createAction(\r\n 'manageEmailPreferences/SET_CLO_MANAGERS_ARRANGER_PIPELINE_ALERT',\r\n resolve => (cloManagerImAlertsConfig: CompanyAlertsConfig) => resolve({ cloManagerImAlertsConfig }),\r\n);\r\n\r\nconst setCloManagersBwicAlert = createAction(\r\n 'manageEmailPreferences/SET_CLO_MANAGERS_BWIC_ALERT',\r\n resolve => (cloManagerBwicAlert: SecondaryStatsAlertsConfig) => resolve({ cloManagerBwicAlert }),\r\n);\r\n\r\nconst setCloManagersDealerInventoryAlert = createAction(\r\n 'manageEmailPreferences/SET_CLO_MANAGERS_DEALER_INVENTORY_ALERT',\r\n resolve => (cloManagerDealerInventoryAlert: SecondaryStatsAlertsConfig) => resolve({ cloManagerDealerInventoryAlert }),\r\n);\r\n\r\nconst setBanksAnalyticsAlert = createAction(\r\n 'manageEmailPreferences/SET_BANKS_ANALYTICS_ALERT',\r\n resolve => (bankAnalyticsAlertConfig: DailyStatsAlertsConfig) => resolve({ bankAnalyticsAlertConfig }),\r\n);\r\n\r\nconst setBanksDealerInventoryAlert = createAction(\r\n 'manageEmailPreferences/SET_BANKS_DEALER_INVENTORY_ALERT',\r\n resolve => (bankDiAlertConfig: SecondaryStatsAlertsConfig) => resolve({ bankDiAlertConfig }),\r\n);\r\n\r\nconst setBanksIssuanceMonitorAlert = createAction(\r\n 'manageEmailPreferences/SET_BANKS_ISSUANCE_MONITOR_ALERT',\r\n resolve => (bankImAlertsConfig: CompanyAlertsConfig) => resolve({ bankImAlertsConfig }),\r\n);\r\n\r\nconst setBanksArrangerPipelineAlert = createAction(\r\n 'manageEmailPreferences/SET_BANKS_ARRANGER_PIPELINE_ALERT',\r\n resolve => (bankApAlertsConfig: CompanyAlertsConfig) => resolve({ bankApAlertsConfig }),\r\n);\r\n\r\nconst unsubscribeAllBWICsNotifications = createAction('manageEmailPreferences/UNSUBSCRIBE_ALL_BWIC_NOTIFICATIONS');\r\nconst unsubscribeAllIssuanceMonitor = createAction('manageEmailPreferences/UNSUBSCRIBE_ALL_ISSUANCE_MONITOR');\r\nconst unsubscribeAllCloManagers = createAction(\r\n 'manageEmailPreferences/UNSUBSCRIBE_ALL_CLO_MANAGERS',\r\n resolve => (userCompanyReferenceName?: string) => resolve({ userCompanyReferenceName }),\r\n);\r\nconst unsubscribeAllBanks = createAction(\r\n 'manageEmailPreferences/UNSUBSCRIBE_ALL_BANKS',\r\n resolve => (userCompanyReferenceName?: string) => resolve({ userCompanyReferenceName }),\r\n);\r\n\r\nconst unsubscribeAllPortfolio = createAction('manageEmailPreferences/UNSUBSCRIBE_ALL_PORTFOLIO');\r\nconst rollbackDashboardEmails = createAction('manageEmailPreferences/ROLLBACK_DASHBOARD_EMAILS');\r\nconst rollbackBWICPipelines = createAction('manageEmailPreferences/ROLLBACK_BWIC_PIPELINES');\r\nconst rollbackBWICNotifications = createAction('manageEmailPreferences/ROLLBACK_BWIC_NOTIFICATIONS');\r\nconst rollbackIssuanceMonitor = createAction('manageEmailPreferences/ROLLBACK_ISSUANCE_MONITOR');\r\nconst rollbackArrangerPipeline = createAction('manageEmailPreferences/ROLLBACK_ARRANGER_PIPELINE');\r\nconst rollbackCloManagers = createAction('manageEmailPreferences/ROLLBACK_CLO_MANAGERS');\r\nconst rollbackPortfolio = createAction('manageEmailPreferences/ROLLBACK_PORTFOLIO');\r\nconst rollbackInventory = createAction('manageEmailPreferences/ROLLBACK_INVENTORY');\r\nconst rollbackBanks = createAction('manageEmailPreferences/ROLLBACK_BANKS');\r\nconst saveBwicByRatingPreferencesRequest = createAction('manageEmailPreferences/BWIC_BY_RATING_SAVE_REQUEST');\r\nconst saveBwicByRatingPreferencesSuccess = createAction('manageEmailPreferences/BWIC_BY_RATING_SAVE_SUCCESS');\r\nconst saveBwicByRatingPreferencesFailure = createAction('manageEmailPreferences/BWIC_BY_RATING_SAVE_FAILURE');\r\nconst saveRequest = createAction('manageEmailPreferences/SAVE_REQUEST');\r\nconst saveArrangerPipelineRequest = createAction('manageEmailPreferences/SAVE_ARRANGER_PIPELINE_REQUEST');\r\nconst saveBanksRequest = createAction('manageEmailPreferences/SAVE_BANKS_REQUEST');\r\nconst saveSuccess = createAction('manageEmailPreferences/SAVE_SUCCESS');\r\nconst saveFailure = createAction('manageEmailPreferences/SAVE_FAILURE');\r\nconst saveEmailPreferencesRequest = createAction('manageEmailPreferences/SAVE_EMAIL_PREFERENCES_REQUEST');\r\nconst saveEmailPreferencesSuccess = createAction(\r\n 'manageEmailPreferences/SAVE_EMAIL_PREFERENCES_SUCCESS',\r\n resolve => (emailPreferences: EmailPreferences) => resolve({ emailPreferences })\r\n);\r\nconst saveEmailPreferencesFailure = createAction('manageEmailPreferences/SAVE_EMAIL_PREFERENCES_FAILURE');\r\nconst savedFilterAlertOptionChange = createAction('manageEmailPreferences/SAVED_FILTER_ALERT_OPTION_CHANGE',\r\n resolve => (updated: SavedFiltersPreferencesState) => resolve({ updated })\r\n);\r\nconst savedFilterAlertOptionsReset = createAction('manageEmailPreferences/SAVED_FILTER_ALERT_OPTION_RESET');\r\nconst reset = createAction('manageEmailPreferences/RESET');\r\nconst initPortfolioFilterAlerts = createAction('manageEmailPreferences/INIT_PORTFOLIO_FILTER_ALERTS',\r\n resolve => (portfolioFilterAlerts: UserConfigFilter[]) => resolve({ portfolioFilterAlerts })\r\n);\r\nconst resetPortfolioFilterAlerts = createAction('manageEmailPreferences/RESET_PORTFOLIO_FILTER_ALERTS');\r\nconst portfolioSavedFilterAlertChange = createAction(\"manageEmailPreferences/SAVED_FILTER_ALERT_CHHANGE\",\r\n resolve => (filterReferenceName: string, bwicAlert: AlertOption | null, inventoryAlert: AlertOption | null) =>\r\n resolve({ filterReferenceName, bwicAlert, inventoryAlert }));\r\nconst portfolioSavedFilterGlobalAlertChange = createAction(\"manageEmailPreferences/SAVED_FILTER_GLOBAL_ALERT_CHANGE\",\r\n resolve => (bwicAlert?: AlertOption, inventoryAlert?: AlertOption) =>\r\n resolve({ bwicAlert, inventoryAlert }));\r\nconst portfolioGlobalAlertsChange = createAction(\r\n 'manageEmailPreferences/PORTFOLIO_GLOBAL_ALERTS_CHANGE',\r\n resolve =>\r\n (\r\n bwicGlobalAlertEnabled?: boolean,\r\n inventoryGlobalAlertEnabled?: boolean,\r\n cleansingNoticeAlertEnabled?: boolean,\r\n issuanceMonitorAlertEnabled?: boolean,\r\n outOfRiAlertEnabled?: boolean,\r\n outOfNcAlertEnabled?: boolean,\r\n rollerDeadlineAlertEnabled?: boolean,\r\n ) =>\r\n resolve({\r\n bwicGlobalAlertEnabled,\r\n inventoryGlobalAlertEnabled,\r\n cleansingNoticeAlertEnabled,\r\n issuanceMonitorAlertEnabled,\r\n outOfRiAlertEnabled,\r\n outOfNcAlertEnabled,\r\n rollerDeadlineAlertEnabled,\r\n }),\r\n);\r\n\r\nexport const manageEmailPreferencesActions = {\r\n getInitialDataRequest,\r\n getInitialDataSuccess,\r\n setRatingCheckedState,\r\n setRatingInCurrencyCheckedState,\r\n setAllRatingCheckedState,\r\n setRatingSize,\r\n setCheckedDailyDashboardEmail,\r\n setPortfolioBwicAlerts,\r\n setPortfolioCleansingNoticeAlerts,\r\n setPortfolioInventoryAlerts,\r\n setBwicByRatingPreferences,\r\n setDealerInventoryAlertState,\r\n setIssuanceMonitorSingleAlert,\r\n setIssuanceMonitorNewTransactionAlert,\r\n setIssuanceMonitorStatisticsAlert,\r\n setIssuanceMonitorFiltersAlert,\r\n setArrangerPipelineAlert,\r\n setCloManagersAnalyticsAlert,\r\n setCloManagersIssuanceMonitorAlert,\r\n setCloManagersArrangerPipelineAlert,\r\n setCloManagersBwicAlert,\r\n setCloManagersDealerInventoryAlert,\r\n setBanksAnalyticsAlert,\r\n setBanksDealerInventoryAlert,\r\n setBanksIssuanceMonitorAlert,\r\n setBanksArrangerPipelineAlert,\r\n setNewBiwicAlerts,\r\n setBiwicReminderAlerts,\r\n setPortfolioIssuanceMonitorAlerts,\r\n setPortfolioRiAlerts,\r\n setPortfolioNcAlerts,\r\n setPortfolioRollerDeadlineAlerts,\r\n unsubscribeAllBWICsNotifications,\r\n unsubscribeAllIssuanceMonitor,\r\n unsubscribeAllCloManagers,\r\n unsubscribeAllPortfolio,\r\n unsubscribeAllBanks,\r\n rollbackDashboardEmails,\r\n rollbackBWICPipelines,\r\n rollbackBWICNotifications,\r\n rollbackIssuanceMonitor,\r\n rollbackArrangerPipeline,\r\n rollbackPortfolio,\r\n rollbackInventory,\r\n rollbackCloManagers,\r\n rollbackBanks,\r\n saveRequest,\r\n saveArrangerPipelineRequest,\r\n saveBanksRequest,\r\n saveSuccess,\r\n saveFailure,\r\n saveEmailPreferencesRequest,\r\n saveEmailPreferencesSuccess,\r\n saveEmailPreferencesFailure,\r\n saveBwicByRatingPreferencesRequest,\r\n saveBwicByRatingPreferencesSuccess,\r\n saveBwicByRatingPreferencesFailure,\r\n savedFilterAlertOptionChange,\r\n savedFilterAlertOptionsReset,\r\n reset,\r\n initPortfolioFilterAlerts,\r\n resetPortfolioFilterAlerts,\r\n portfolioSavedFilterAlertChange,\r\n portfolioSavedFilterGlobalAlertChange,\r\n portfolioGlobalAlertsChange\r\n};\r\n","import { AnyAction } from 'redux';\r\nimport { ThunkDispatch } from 'redux-thunk';\r\nimport { createCustomAction } from 'typesafe-actions';\r\nimport { biddingActions, notificationActions, sellerBiddingActions, tradeConfirmActions } from '.';\r\nimport { pushDataActions as actionTypes, roles } from '../constants';\r\nimport { logger } from '../logging/logger';\r\nimport { getSecuritiesWithLatestBids } from '../selectors';\r\nimport { BidRequest as BidAsDealerRequest } from '../types/bid-as-dealer/BidRequest';\r\nimport { SellerBuysideSearchResult } from '../types/bid-as-dealer/SellerBuysideSearchResult';\r\nimport { Bid } from '../types/bidding/Bid';\r\nimport { BidRequest, BidRequestType } from '../types/bidding/BidRequest';\r\nimport { Feedback } from '../types/bidding/Feedback';\r\nimport { BwicHistoryAction } from '../types/bwic-history/BwicHistoryAction';\r\nimport { Color } from '../types/bwic/Color';\r\nimport { PxTalk } from '../types/bwic/PxTalk';\r\nimport { BwicStatus } from '../types/enums/BwicStatus';\r\nimport { AutoFeedbackSettings } from '../types/models/AutoFeedbackSettings';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { PushHistoryStateItemType } from '../types/state/PushHistoryState';\r\nimport { Trade } from '../types/trades/Trade';\r\nimport { user } from '../user';\r\nimport { biddingUtils, formatUtils, moneyUtils } from '../utils';\r\nimport { pushHistoryActions } from './entities/push-history.actions';\r\nimport { rejectedTradeActions } from './entities/rejected-trades.actions';\r\nimport { BwicHistoryActionType } from '../types/bwic-history/BwicHisoryActionType';\r\nimport { BidLevel } from '../types/bidding/BidLevel';\r\nimport { liveBiddingActions } from './entities/live-bidding.actions';\r\nimport { CanBidOnPosition } from '../types/live-bidding/LiveBiddingPosition';\r\nimport { CompanySlim } from '../types/company/CompanySlim';\r\n\r\ntype TDispatch = ThunkDispatch;\r\n\r\ninterface PushData {\r\n bwicReferenceName: string;\r\n action: BwicHistoryAction;\r\n}\r\nexport function dataPushReceived(data: any) {\r\n return (dispatch: TDispatch) => {\r\n switch (data.action.actionType) {\r\n case BwicHistoryActionType.NewBid:\r\n case BwicHistoryActionType.DirectBid:\r\n dispatch(handleNewBid(data));\r\n break;\r\n case BwicHistoryActionType.AxedFinalChanged:\r\n dispatch(handleAxedFinalChange(data));\r\n break;\r\n case BwicHistoryActionType.PriceTalk:\r\n dispatch(newPriceTalk(data));\r\n break;\r\n case BwicHistoryActionType.QuickFeedback:\r\n case BwicHistoryActionType.DirectFeedback:\r\n dispatch(handleQuickFeedback(data));\r\n break;\r\n case BwicHistoryActionType.TargetLevel:\r\n dispatch(targetLevel(data));\r\n break;\r\n case BwicHistoryActionType.TradedAway:\r\n dispatch(handleTradedAway(data));\r\n break;\r\n case BwicHistoryActionType.TradeSubmitted:\r\n dispatch(trade(data));\r\n break;\r\n case BwicHistoryActionType.TradeAffirmed:\r\n dispatch(tradeStatus(data));\r\n break;\r\n case BwicHistoryActionType.TradeRejected:\r\n dispatch(tradeStatus(data));\r\n break;\r\n case BwicHistoryActionType.ColorDistribution:\r\n dispatch(handleColorDistribution(data));\r\n break;\r\n case BwicHistoryActionType.ColorDistributionSend:\r\n dispatch(handleColorDistributionSend(data));\r\n break;\r\n case BwicHistoryActionType.Bidding:\r\n dispatch(handleBwicStatusChanged(data, BwicStatus.bidding));\r\n break;\r\n case BwicHistoryActionType.Finished:\r\n dispatch(handleBwicStatusChanged(data, BwicStatus.finished));\r\n break;\r\n case BwicHistoryActionType.Canceled:\r\n dispatch(handleBwicStatusChanged(data, BwicStatus.canceled));\r\n break;\r\n // TO DO: nothing is happen ON FE when stage 1 is started\r\n //case BwicHistoryActionType.OpenBiddingStage1Started:\r\n // dispatch(stagedBiddingStatusChange(data));\r\n // break;\r\n case BwicHistoryActionType.OpenBiddingStage1Ended:\r\n dispatch(handleStagedBiddingStartStage2(data));\r\n break;\r\n case BwicHistoryActionType.OpenBiddingStage2Ended:\r\n dispatch(handleStagedBiddingFinishStage2(data));\r\n break;\r\n case BwicHistoryActionType.OpenBiddingStage2Level:\r\n dispatch(handleLiveBiddingStage2Level(data));\r\n break;\r\n case BwicHistoryActionType.ModifyAutoFeedbackConfig:\r\n dispatch(handleAutoFeedbackSettingsChanged(data));\r\n break;\r\n case BwicHistoryActionType.BidAsDealerRequest:\r\n dispatch(handleBidAsDealerRequest(data));\r\n break;\r\n case BwicHistoryActionType.BuyerRejectedTrade:\r\n dispatch(rejectedTradeActions.pushBuyerRejectTrade(data.trade))\r\n break;\r\n case BwicHistoryActionType.BiddingCompleteReminder:\r\n dispatch(handleBwicCompleteReminder(data));\r\n break;\r\n default:\r\n return null;\r\n };\r\n };\r\n}\r\n\r\nconst newBid = createCustomAction('push/bwic/NEW_BID', type =>\r\n (bwicReferenceName: string, positionId: number, historyAction: BwicHistoryAction, bid: Bid) =>\r\n ({ type, bwicReferenceName, positionId, historyAction, bid })\r\n);\r\ntype TNewBidPushData = { bwicReferenceName: string; action: BwicHistoryAction; bid: Bid, bwicName: string; };\r\n\r\nfunction handleNewBid({ bwicReferenceName, action, bid, bwicName }: TNewBidPushData) {\r\n logger.trace(`Push: New Bid: ${bid.value}`);\r\n\r\n return (dispatch: TDispatch, getState: () => AppState) => {\r\n dispatch(newBid(bwicReferenceName, action.positionId!, action, bid));\r\n dispatch(pushHistoryActions.add(\r\n { receivedDate: new Date(), positionId: action.positionId, bwicReferenceName },\r\n PushHistoryStateItemType.NewBid\r\n ))\r\n if (user.hasRoles(roles.SellerTrader) && action.positionId != null) {\r\n const { securities, tradingPositions } = getState().sellerBidding;\r\n const isPositionTrading = !!(tradingPositions && Object.keys(tradingPositions).length && tradingPositions[action.positionId]);\r\n\r\n if (isPositionTrading) {\r\n const position = securities.find(p => p.id === action.positionId);\r\n if (position) {\r\n const [positionWithActualBids] = getSecuritiesWithLatestBids({ securities: [position] });\r\n const [best] = biddingUtils.getBidsByLevel(positionWithActualBids.bids, BidLevel.Best);\r\n if (best && +best.value <= +bid.value) {\r\n dispatch(sellerBiddingActions.tradingPositionCompanyChange(action.positionId, biddingUtils.getBidCompanyIdentifier(bid)));\r\n dispatch(sellerBiddingActions.tradeConfirm(false));\r\n dispatch(notificationActions.warningModal(\r\n 'New Bid Notification',\r\n `
The Best level changed. Please review bids and re-submit the trade.
New bid from ${bid.company.name}.\r\n ${bwicName}\r\n ${position.ticker} ${moneyUtils.amountToMM(position.size, true)} @${formatUtils.formatBid(bid.value)}`\r\n ));\r\n }\r\n }\r\n }\r\n }\r\n };\r\n}\r\n\r\nconst axedFinalChange = createCustomAction('push/bwic/AXED_FINAL_CHANGE', type => (\r\n bwicReferenceName: string,\r\n positionId: number,\r\n historyAction: BwicHistoryAction,\r\n modifiedDate: Date,\r\n bidId: number,\r\n axed: boolean,\r\n final: boolean,\r\n createdBy: string,\r\n company: CompanySlim) => ({\r\n type,\r\n bwicReferenceName,\r\n positionId,\r\n historyAction,\r\n modifiedDate,\r\n bidId,\r\n axed,\r\n final,\r\n createdBy,\r\n company\r\n }));\r\ninterface TAxedFinalChangePushData extends PushData {\r\n modifiedDate: Date;\r\n bidId: number;\r\n axed: boolean;\r\n final: boolean;\r\n createdBy: string;\r\n company: CompanySlim;\r\n}\r\nfunction handleAxedFinalChange({ bwicReferenceName, action, bidId, axed, final, modifiedDate, createdBy, company }: TAxedFinalChangePushData) {\r\n logger.trace(`Push: Axed Final Change for Bid ${bidId} axed=${axed} final=${final}`);\r\n return axedFinalChange(bwicReferenceName, action.positionId!, action, modifiedDate, bidId, axed, final, createdBy, company);\r\n}\r\n\r\ninterface PriceTalkPushData extends PushData {\r\n priceTalk: PxTalk;\r\n}\r\nfunction newPriceTalk({ bwicReferenceName, action, priceTalk }: PriceTalkPushData) {\r\n logger.trace(`Push: New Price Talk: ${priceTalk.talk}`);\r\n\r\n return {\r\n type: actionTypes.PUSH_DATA_NEW_PX_TALK,\r\n bwicReferenceName,\r\n positionId: action.positionId,\r\n priceTalk,\r\n historyAction: action\r\n }\r\n}\r\n\r\nconst quickFeedback = createCustomAction('push/bwic/QUICK_FEEDBACK', type =>\r\n (bwicReferenceName: string, feedback: Feedback, historyAction: BwicHistoryAction, positionId?: number) =>\r\n ({ type, bwicReferenceName, feedback, historyAction, positionId })\r\n);\r\nconst bidRequest = createCustomAction('push/bwic/BID_REQUEST_FEEDBACK', type =>\r\n (bwicReferenceName: string, bidRequest: BidRequest, historyAction: BwicHistoryAction, positionId?: number) =>\r\n ({ type, bwicReferenceName, bidRequest, historyAction, positionId })\r\n);\r\ninterface QuickFeedbackPushData extends PushData {\r\n feedback: Feedback;\r\n}\r\nfunction handleQuickFeedback({ bwicReferenceName, action, feedback }: QuickFeedbackPushData) {\r\n logger.trace(`Push: Quick Feedback: ${feedback.feedback}`);\r\n return (dispatch: TDispatch) => {\r\n dispatch(pushHistoryActions.add(\r\n { receivedDate: new Date(), positionId: action.positionId, bwicReferenceName },\r\n PushHistoryStateItemType.Feedback\r\n ))\r\n\r\n if (feedback.bidId) {\r\n return dispatch(quickFeedback(bwicReferenceName, feedback, action, action.positionId));\r\n }\r\n\r\n const request: BidRequest = {\r\n bidRequestType: BidRequestType.BidOrPass,\r\n created: new Date()\r\n }\r\n\r\n dispatch(bidRequest(bwicReferenceName, request, action, action.positionId));\r\n }\r\n}\r\ninterface TradeLevelPushData extends PushData {\r\n targetLevel?: number;\r\n}\r\n\r\nfunction targetLevel({ bwicReferenceName, action, targetLevel }: TradeLevelPushData) {\r\n logger.trace(`Push: Target Level: ${targetLevel}`);\r\n\r\n return {\r\n type: actionTypes.PUSH_DATA_TARGET_LEVEL,\r\n bwicReferenceName,\r\n positionId: action.positionId,\r\n targetLevel\r\n };\r\n}\r\n\r\nconst tradedAway = createCustomAction('push/bwic/TRADED_AWAY', type =>\r\n (bwicReferenceName: string, positionId: number, historyAction: BwicHistoryAction, isTradedAway: boolean) =>\r\n ({ type, bwicReferenceName, positionId, historyAction, isTradedAway })\r\n);\r\ninterface TradedAwayPushData extends PushData {\r\n isTradedAway: boolean;\r\n}\r\nfunction handleTradedAway({ bwicReferenceName, action, isTradedAway }: TradedAwayPushData) {\r\n logger.trace(`Push: Traded away ${bwicReferenceName}: ${isTradedAway}`);\r\n return tradedAway(bwicReferenceName, action.positionId!, action, isTradedAway);\r\n}\r\n\r\ninterface TradePushData extends PushData {\r\n trade: Trade;\r\n}\r\nfunction trade({ bwicReferenceName, action, trade }: TradePushData) {\r\n logger.trace('Push: Trade');\r\n return (dispatch: TDispatch) => {\r\n dispatch(tradeAction(bwicReferenceName, action.positionId!, action, trade));\r\n dispatch(checkAwaitingTrades());\r\n };\r\n}\r\n\r\nfunction checkAwaitingTrades() {\r\n return (dispatch: TDispatch) => {\r\n if (user.hasRoles(roles.BrokerDealerTrader, roles.SellerTrader)) {\r\n dispatch(tradeConfirmActions.checkAwaitingTrades());\r\n }\r\n };\r\n}\r\n\r\ninterface TradeStatusPushData extends PushData {\r\n trade: Trade;\r\n}\r\nfunction tradeStatus({ bwicReferenceName, action, trade }: TradeStatusPushData) {\r\n logger.trace(`Push: Trade Status: ${trade.status}`);\r\n\r\n return (dispatch: TDispatch) => {\r\n dispatch(tradeAction(bwicReferenceName, action.positionId!, action, trade));\r\n\r\n if (user.hasRoles(roles.BrokerDealerTrader, roles.SellerTrader)) {\r\n dispatch(tradeConfirmActions.setAwaitingBwicTradeStatus(\r\n [action.positionId],\r\n trade.status,\r\n trade.rejectReason\r\n ));\r\n }\r\n };\r\n}\r\n\r\nconst tradeAction = createCustomAction('push/bwic/TRADE', type =>\r\n (bwicReferenceName: string, positionId: number, historyAction: BwicHistoryAction, trade: Trade) =>\r\n ({ type, bwicReferenceName, historyAction, trade, positionId })\r\n);\r\n\r\nconst colorDistribution = createCustomAction('push/bwic/COLOR_DISTRIBUTION', type =>\r\n (bwicReferenceName: string, historyAction: BwicHistoryAction, isColorDistribution: boolean) =>\r\n ({ type, bwicReferenceName, isColorDistribution, historyAction })\r\n);\r\ninterface ColorDistributionPushData extends PushData {\r\n isColorDistribution: boolean;\r\n}\r\nfunction handleColorDistribution({ bwicReferenceName, action, isColorDistribution }: ColorDistributionPushData) {\r\n logger.trace(`Push: Color Distribution ${bwicReferenceName}: ${isColorDistribution}`);\r\n return colorDistribution(bwicReferenceName, action, isColorDistribution);\r\n}\r\n\r\nexport type TPositionColor = { positionId: number; color: Color };\r\n\r\ninterface ColorDistributionSendPushData extends PushData {\r\n colors: TPositionColor[]\r\n}\r\n\r\nconst publicColors = createCustomAction('push/bwic/PUBLIC_COLORS', type =>\r\n (bwicReferenceName: string, historyAction: BwicHistoryAction, colors: TPositionColor[]) =>\r\n ({ type, bwicReferenceName, colors, historyAction })\r\n);\r\n\r\nfunction handleColorDistributionSend({ bwicReferenceName, action, colors }: ColorDistributionSendPushData) {\r\n logger.trace('Push: Colors Sent');\r\n return publicColors(bwicReferenceName, action, colors);\r\n}\r\n\r\nconst bwicStatusChanged = createCustomAction('push/bwic/BWIC_STATUS_CHANGE', type =>\r\n (bwicReferenceName: string, historyAction: BwicHistoryAction, bwicStatus: BwicStatus) =>\r\n ({ type, bwicReferenceName, historyAction, bwicStatus })\r\n);\r\n\r\nfunction handleBwicStatusChanged({ bwicReferenceName, action }: PushData, bwicStatus: BwicStatus) {\r\n logger.trace(`Push: BWIC Status Changed: ${bwicStatus}`);\r\n\r\n return (dispatch: TDispatch) => {\r\n dispatch(liveBiddingActions.reset(bwicReferenceName));\r\n dispatch(bwicStatusChanged(bwicReferenceName, action, bwicStatus));\r\n dispatch(pushHistoryActions.add(\r\n { receivedDate: new Date(), bwicReferenceName },\r\n PushHistoryStateItemType.BwicStatusChanged\r\n ));\r\n dispatch(biddingActions.bwicStatusChange(bwicReferenceName, bwicStatus));\r\n if (bwicStatus === BwicStatus.finished) {\r\n dispatch(checkAwaitingTrades());\r\n }\r\n };\r\n}\r\n\r\ninterface StartStage2PushData extends PushData {\r\n bwicName: string;\r\n stage1EndDateUtc?: Date;\r\n canDealerBidOnPositions?: CanBidOnPosition[];\r\n}\r\n\r\nconst stagedBiddingStartStage2 = createCustomAction('push/bwic/STAGED_BIDDING_START_STAGE2', type => (\r\n bwicReferenceName: string,\r\n historyAction: BwicHistoryAction,\r\n canDealerBidOnPositions?: CanBidOnPosition[],\r\n stage1EndDateUtc?: Date) =>\r\n ({ type, bwicReferenceName, historyAction, canDealerBidOnPositions, stage1EndDateUtc })\r\n);\r\nfunction handleStagedBiddingStartStage2({ bwicReferenceName, stage1EndDateUtc, canDealerBidOnPositions, action }: StartStage2PushData) {\r\n logger.trace('Push: Open Bidding Start Stage 2');\r\n return (dispatch: TDispatch) => {\r\n dispatch(liveBiddingActions.stage2Start(bwicReferenceName, canDealerBidOnPositions, stage1EndDateUtc));\r\n dispatch(stagedBiddingStartStage2(bwicReferenceName, action, canDealerBidOnPositions, stage1EndDateUtc));\r\n dispatch(pushHistoryActions.add(\r\n { receivedDate: new Date(), positionId: action.positionId, bwicReferenceName },\r\n PushHistoryStateItemType.BwicStage1Ended\r\n ));\r\n };\r\n}\r\n\r\nconst stagedBiddingFinishStage2 = createCustomAction('push/bwic/STAGED_BIDDING_FINISH_STAGE2', type =>\r\n (bwicReferenceName: string, historyAction: BwicHistoryAction) =>\r\n ({ type, bwicReferenceName, historyAction })\r\n);\r\n\r\nfunction handleStagedBiddingFinishStage2({ bwicReferenceName, action }: PushData) {\r\n logger.trace(`Push: Finish Stage 2 ${bwicReferenceName}`);\r\n return (dispatch: TDispatch) => {\r\n dispatch(liveBiddingActions.reset(bwicReferenceName));\r\n dispatch(stagedBiddingFinishStage2(bwicReferenceName, action));\r\n dispatch(pushHistoryActions.add(\r\n { receivedDate: new Date(), positionId: action.positionId, bwicReferenceName },\r\n PushHistoryStateItemType.BwicStage2Ended\r\n ));\r\n };\r\n}\r\n\r\ninterface LiveBiddingStage2LevelPushData extends PushData {\r\n level: number;\r\n tiedForBest: boolean;\r\n}\r\n\r\nconst liveBiddingStage2Level = createCustomAction('push/bwic/LIVE_BIDDING_STAGE2_LEVEL', type =>\r\n (bwicReferenceName: string, positionId: number, level: number, tiedForBest: boolean, sentDateUtc: Date) =>\r\n ({ type, bwicReferenceName, positionId, level, tiedForBest, sentDateUtc })\r\n);\r\n\r\nfunction handleLiveBiddingStage2Level({ bwicReferenceName, level, tiedForBest, action }: LiveBiddingStage2LevelPushData) {\r\n logger.trace(`Push: Open Bidding Feedback: ${level}`);\r\n\r\n return (dispatch: TDispatch) => {\r\n dispatch(liveBiddingActions.stage2LevelChange(bwicReferenceName, action.positionId!, level, tiedForBest, action.sentDateUtc));\r\n dispatch(liveBiddingStage2Level(bwicReferenceName, action.positionId!, level, tiedForBest, action.sentDateUtc));\r\n }\r\n}\r\n\r\ninterface AutoFeedbackSettingsChangedPushData extends PushData {\r\n autoFeedbackConfiguration: AutoFeedbackSettings;\r\n}\r\nfunction handleAutoFeedbackSettingsChanged({ bwicReferenceName, autoFeedbackConfiguration }: AutoFeedbackSettingsChangedPushData) {\r\n logger.trace('Push: Auto-Feedback config update');\r\n\r\n return {\r\n type: actionTypes.PUSH_DATA_AUTO_FEEDBACK_CONFIG,\r\n bwicReferenceName,\r\n settings: autoFeedbackConfiguration\r\n };\r\n}\r\n\r\nconst bidAsDealerRequest = createCustomAction('push/bwic/BID_REQUEST',\r\n type => (bwicReferenceName: string, bidAsDealerRequest: BidAsDealerRequest | SellerBuysideSearchResult) =>\r\n ({ type, bwicReferenceName, bidAsDealerRequest })\r\n);\r\n\r\ninterface TBidAsDealerRequestPushData {\r\n bwicReferenceName: string;\r\n bidAsDealerRequest?: BidAsDealerRequest;\r\n sellerBidAsDealerRequest?: SellerBuysideSearchResult;\r\n}\r\n\r\nfunction handleBidAsDealerRequest(data: TBidAsDealerRequestPushData) {\r\n logger.trace(`Push: Bid as dealer request.`);\r\n return (dispatch: TDispatch) => {\r\n const bidRequest = data.bidAsDealerRequest ?? data.sellerBidAsDealerRequest;\r\n if (bidRequest != null) {\r\n dispatch(bidAsDealerRequest(data.bwicReferenceName, bidRequest));\r\n }\r\n }\r\n}\r\n\r\ninterface TBwicCompleteReminderData extends PushData {\r\n bwicName: string;\r\n}\r\nfunction handleBwicCompleteReminder({ bwicReferenceName, bwicName, action }: TBwicCompleteReminderData) {\r\n return pushHistoryActions.add(\r\n { receivedDate: new Date(), bwicReferenceName, payload: { bwicName, remainingMinutes: Number(action.payload) } },\r\n PushHistoryStateItemType.BiddingCompleteReminder\r\n );\r\n}\r\n\r\nexport const pushBwicActions = {\r\n newBid,\r\n axedFinalChange,\r\n bidAsDealerRequest,\r\n quickFeedback,\r\n bidRequest,\r\n publicColors,\r\n colorDistribution,\r\n bwicStatusChanged,\r\n tradeAction,\r\n tradedAway,\r\n stagedBiddingStartStage2,\r\n stagedBiddingFinishStage2,\r\n liveBiddingStage2Level\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { SettlementAgentClientAgreement } from '../types/bid-as-dealer/SettlementAgentClientAgreement';\r\nimport { UpdateSettlementAgentAgreementStatus } from '../types/bid-as-dealer/UpdateSettlementAgentAgreementStatus';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { CurrencyRate } from '../types/currency/CurrencyRate';\r\n\r\nconst fetchListRequest = createAction(\r\n 'clientCompanies/FETCH_LIST_REQUEST',\r\n);\r\n\r\nconst fetchListSuccess = createAction(\r\n 'clientCompanies/FETCH_LIST_SUCCESS',\r\n resolve => (data: SettlementAgentClientAgreement[]) => resolve({ data })\r\n);\r\n\r\nconst fetchListFailure = createAction(\r\n 'clientCompanies/FETCH_LIST_FAILURE'\r\n);\r\n\r\nconst setSelectedAgreement = createAction(\r\n 'clientCompanies/ON_SELECTED_COMPANY_FOR_AFFIRM',\r\n resolve => (companyId: number) => resolve({ companyId })\r\n);\r\n\r\nconst resetSelectedAgreement = createAction(\r\n 'clientCompanies/ON_UN_SELECT_COMPANY_FOR_AFFIRM'\r\n);\r\n\r\nconst updateAgreementRequest = createAction(\r\n 'clientCompanies/UPDATE_REQUEST_STATUS_REQUEST',\r\n resolve => (requestData: UpdateSettlementAgentAgreementStatus) => resolve({ requestData })\r\n);\r\n\r\nconst updateAgreementSuccess = createAction(\r\n 'clientCompanies/UPDATE_REQUEST_STATUS_SUCCESS',\r\n resolve => (assetManagerId: number) => resolve( { assetManagerId })\r\n);\r\n\r\nconst updateAgreementFailure = createAction(\r\n 'clientCompanies/UPDATE_REQUEST_STATUS_FAILURE',\r\n resolve => (assetManagerId: number) => resolve( { assetManagerId })\r\n);\r\n\r\nconst setSearchString = createAction(\r\n 'clientCompanies/SET_SEARCH_STRING',\r\n resolve => (searchString: string) => resolve({ searchString })\r\n);\r\n\r\nconst fetchPendingAgreementCountRequest = createAction(\r\n 'clientCompanies/FETCH_PENDING_REQUESTS_COUNT_REQUEST'\r\n);\r\n\r\nconst fetchPendingAgreementsCountSuccess = createAction(\r\n 'clientCompanies/FETCH_PENDING_REQUESTS_COUNT_SUCCESS',\r\n resolve => (count: number) => resolve({ count })\r\n);\r\n\r\nconst fetchPendingAgreementsCountFailure = createAction('clientCompanies/FETCH_PENDING_REQUESTS_COUNT_FAILURE');\r\n\r\nconst hideActivePanels = createAction('clientCompanies/HIDE_ACTIVE_PANELS');\r\n\r\nconst setVisibleUpdateRatePopup = createAction(\r\n 'clientCompanies/SET_VISIBLE_UPDATE_RATE_POPUP',\r\n resolve => (visible: boolean) => resolve({ visible })\r\n);\r\nconst getCurrencyRate = createAction('clientCompanies/GET_CURRENCY_RATE');\r\nconst setResultGetCurrencyRate = createAction(\r\n 'clientCompanies/SET_RESULT_GET_CURRENCY_RATE',\r\n resolve => (requestState: RequestState, rate: CurrencyRate[]) => resolve({ requestState, rate })\r\n);\r\n\r\nconst updateCurrencyRate = createAction(\r\n 'clientCompanies/UPDATE_CURRENCY_RATE',\r\n resolve => (rate: CurrencyRate) => resolve({ rate })\r\n);\r\nconst setResultUpdateCurrencyRate = createAction(\r\n 'clientCompanies/SET_RESULT_UPDATE_CURRENCY_RATE',\r\n resolve => (requestState: RequestState, rate?: CurrencyRate) => resolve({ requestState, rate })\r\n);\r\n\r\nconst reset = createAction(\r\n 'clientCompanies/RESET'\r\n);\r\n\r\nexport const clientsCompaniesActions = {\r\n fetchListRequest,\r\n fetchListSuccess,\r\n fetchListFailure,\r\n setSelectedAgreement,\r\n resetSelectedAgreement,\r\n updateAgreementRequest,\r\n updateAgreementSuccess,\r\n updateAgreementFailure,\r\n setSearchString,\r\n fetchPendingAgreementCountRequest,\r\n fetchPendingAgreementsCountSuccess,\r\n fetchPendingAgreementsCountFailure,\r\n hideActivePanels,\r\n setVisibleUpdateRatePopup,\r\n getCurrencyRate,\r\n setResultGetCurrencyRate,\r\n updateCurrencyRate,\r\n setResultUpdateCurrencyRate,\r\n reset,\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { DateFilterOption } from '../types/filters/DateFilterOption';\r\nimport { DateRange } from '../types/filters/DateRange';\r\n\r\nconst toogleFilterSalesRepresentative = createAction('manage-companies/COMPANY_FILTER_TOOGLE_SALES_REPS',\r\n resolve => (salesRepresentatives: number[]) => resolve({ salesRepresentatives })\r\n)\r\n\r\nconst setFilterSalesRepresentative = createAction('manage-companies/COMPANY_FILTER_SET_SALES_REPS',\r\n resolve => (salesRepresentatives: number[]) => resolve({ salesRepresentatives })\r\n)\r\n\r\nconst toogleFilterRegBy = createAction('manage-companies/COMPANY_FILTER_TOOGLE_REG_BY',\r\n resolve => (regBy: number[]) => resolve({ regBy })\r\n)\r\n\r\nconst setFilterRegBy = createAction('manage-companies/COMPANY_FILTER_SET_REG_BY',\r\n resolve => (regBy: number[]) => resolve({ regBy })\r\n)\r\n\r\nconst toogleFilterStatusActive = createAction('manage-companies/COMPANY_FILTER_TOOGLE_STATUS_ACTIVE');\r\nconst toogleFilterStatusBlocked = createAction('manage-companies/COMPANY_FILTER_TOOGLE_STATUS_BLOCKED');\r\nconst toogleFilterStatusOffPlatform = createAction('manage-companies/COMPANY_FILTER_TOOGLE_STATUS_OFF_PLATFORM');\r\n\r\nconst toogleFilterRoleAdministrator = createAction('manage-companies/COMPANY_FILTER_TOOGLE_ROLE_ADMINISTRATOR')\r\nconst toogleFilterRoleBrokerDealer = createAction('manage-companies/COMPANY_FILTER_TOOGLE_ROLE_BROKER_DEALER')\r\nconst toogleFilterRoleSeller = createAction('manage-companies/COMPANY_FILTER_TOOGLE_ROLE_SELLER')\r\nconst toogleFilterRoleViewer = createAction('manage-companies/COMPANY_FILTER_TOOGLE_ROLE_VIEWER')\r\nconst toogleFilterRoleMedia = createAction('manage-companies/COMPANY_FILTER_TOOGLE_ROLE_MEDIA')\r\n\r\nconst setDateFilterChange = createAction('manage-companies/COMPANY_FILTER_DATE_CHANGED',\r\n resolve => (dateOption: DateFilterOption) => resolve({ dateOption })\r\n)\r\n\r\nconst setDateFilterRangeChange = createAction('manage-companies/COMPANY_FILTER_DATE_RANGE_CHANGED',\r\n resolve => (dateRange: DateRange) => resolve({ dateRange })\r\n)\r\n\r\nexport const manageCompaniesFiltersActions = {\r\n toogleFilterSalesRepresentative,\r\n setFilterSalesRepresentative,\r\n toogleFilterRegBy,\r\n setFilterRegBy,\r\n toogleFilterStatusActive,\r\n toogleFilterStatusBlocked,\r\n toogleFilterStatusOffPlatform,\r\n toogleFilterRoleAdministrator,\r\n toogleFilterRoleBrokerDealer,\r\n toogleFilterRoleSeller,\r\n toogleFilterRoleViewer,\r\n toogleFilterRoleMedia,\r\n setDateFilterChange,\r\n setDateFilterRangeChange\r\n}","import { searchSecuritiesActions as actionTypes, constants } from '../constants';\r\nimport { errorActions } from '../actions';\r\nimport { bwicService } from '../services';\r\n\r\nexport const searchSecuritiesActions = {\r\n searchTermChange,\r\n resetSearchLookup,\r\n applyLookupItem,\r\n removeSearchItem,\r\n moveBack,\r\n moveForward,\r\n removeCurrentItem,\r\n addSearchItem,\r\n reset\r\n};\r\n\r\nlet loadSearchLookupTimeout = null;\r\n\r\nfunction searchTermChange(searchTerm = '', showLookup = true) {\r\n return (dispatch, getState) => {\r\n dispatch({ type: actionTypes.SEARCH_TERM_CHANGE, search: { searchTerm } });\r\n\r\n const trimmedSearchTerm = searchTerm.trim();\r\n\r\n if (trimmedSearchTerm && trimmedSearchTerm.length > constants.searchTermAcceptedLength) {\r\n const { searchTermCache, lookupCache } = getState().searchSecurities;\r\n const searchTermLowerCase = trimmedSearchTerm.toLowerCase();\r\n\r\n if (searchTermCache &&\r\n searchTermLowerCase.startsWith(searchTermCache.toLowerCase())) {\r\n dispatch(searchInLookupCache(searchTermLowerCase, lookupCache));\r\n } else if (showLookup) {\r\n if (loadSearchLookupTimeout) {\r\n clearTimeout(loadSearchLookupTimeout)\r\n }\r\n loadSearchLookupTimeout = setTimeout(() => dispatch(loadSearchLookup(trimmedSearchTerm)), 400);\r\n }\r\n } else {\r\n dispatch(resetSearchLookup());\r\n }\r\n };\r\n}\r\n\r\nfunction searchInLookupCache(searchTerm, lookupCache) {\r\n return {\r\n type: actionTypes.SEARCH_LOOKUP,\r\n lookupData: lookupCache.filter(l =>\r\n (l.isin && l.isin.toLowerCase().startsWith(searchTerm)) ||\r\n (l.cusip && l.cusip.toLowerCase().startsWith(searchTerm)) ||\r\n (l.ticker && l.ticker.toLowerCase().startsWith(searchTerm))\r\n )\r\n };\r\n}\r\n\r\nfunction loadSearchLookup(searchTerm) {\r\n return dispatch => {\r\n bwicService\r\n .searchSecurities(searchTerm, true)\r\n .then(success)\r\n .catch(e => dispatch(errorActions.error(e)));\r\n\r\n function success(securities) {\r\n dispatch({\r\n type: actionTypes.SEARCH_LOOKUP_CACHE,\r\n lookupData: securities.map(s => ({\r\n id: s.id,\r\n isin: s.isin,\r\n cusip: s.cusip,\r\n isinCusip: s.isinCusip,\r\n ticker: s.ticker\r\n })),\r\n searchTerm\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction applyLookupItem(lookupItem) {\r\n return (dispatch, getState) => {\r\n const { searchSecurities } = getState();\r\n let searchTerm;\r\n if (typeof lookupItem === 'object') {\r\n const stateSearchTerm = searchSecurities.searchTerm.toLowerCase();\r\n if (lookupItem.isin && lookupItem.isin.toLowerCase().startsWith(stateSearchTerm)) {\r\n searchTerm = lookupItem.isin;\r\n } else if (lookupItem.cusip && lookupItem.cusip.toLowerCase().startsWith(stateSearchTerm)) {\r\n searchTerm = lookupItem.cusip;\r\n } else {\r\n searchTerm = lookupItem.ticker;\r\n }\r\n } else {\r\n searchTerm = lookupItem.trim();\r\n }\r\n\r\n if (searchTerm && !searchSecurities.searchTermItems.includes(searchTerm)) {\r\n dispatch(addSearchItem(searchTerm));\r\n }\r\n dispatch(searchTermChange(''));\r\n dispatch(resetSearchLookup());\r\n };\r\n}\r\n\r\nfunction moveBack() {\r\n return {\r\n type: actionTypes.SECURITY_SEARCH_MOVE_BACK,\r\n };\r\n}\r\n\r\nfunction moveForward() {\r\n return {\r\n type: actionTypes.SECURITY_SEARCH_MOVE_FORWARD,\r\n };\r\n}\r\nfunction addSearchItem(item) {\r\n return {\r\n type: actionTypes.SECURITY_SEARCH_ITEM_ADD,\r\n payload: { item }\r\n };\r\n}\r\n\r\nfunction removeSearchItem(index) {\r\n return {\r\n type: actionTypes.SECURITY_SEARCH_ITEM_REMOVE,\r\n payload: { index }\r\n };\r\n}\r\n\r\nfunction removeCurrentItem() {\r\n return {\r\n type: actionTypes.SECURITY_SEARCH_REMOVE_CURRENT_ITEM,\r\n };\r\n}\r\n\r\nfunction resetSearchLookup() {\r\n return {\r\n type: actionTypes.SEARCH_LOOKUP,\r\n lookupData: [],\r\n classesLookup: [],\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return {\r\n type: actionTypes.RESET\r\n };\r\n}\r\n","import { createAsyncAction, ActionType, createAction } from 'typesafe-actions';\r\nimport { HelpResourceCategory } from '../types/help-resources/HelpResourceCategory';\r\nimport { HelpResourceArticle } from '../types/help-resources/HelpResourceArticle';\r\nimport { HelpResourceSearchItem } from '../types/help-resources/HelpResourceSearch';\r\n\r\nexport type TResourcesActions = ActionType<\r\n typeof fetchCategories |\r\n typeof fetchSection |\r\n typeof fetchBySearch |\r\n typeof loadMoreSearch |\r\n typeof resetSection |\r\n typeof resetSearch\r\n>;\r\n\r\ninterface SuccessSectionDetails {\r\n categoryName: string;\r\n sectionName: string;\r\n articles: HelpResourceArticle[];\r\n}\r\n\r\nconst fetchSection = createAsyncAction(\r\n 'help-resources/REQUEST_SECTION_DETAILS',\r\n 'help-resources/SUCCESS_SECTION_DETAILS',\r\n 'help-resources/FAILURE_SECTION_DETAILS'\r\n)<{ sectionId: number }, SuccessSectionDetails, Error>()\r\n\r\nconst fetchCategories = createAsyncAction(\r\n 'help-resources/REQUEST_CATEGORIES',\r\n 'help-resources/SUCCESS_CATEGORIES',\r\n 'help-resources/FAILURE_CATEGORIES'\r\n)()\r\n\r\nconst fetchBySearch = createAsyncAction(\r\n 'help-resources/REQUEST_SEARCH',\r\n 'help-resources/SUCCESS_SEARCH',\r\n 'help-resources/FAILURE_SEARCH'\r\n)<{ search: string, categoryId: number | null }, { results: HelpResourceSearchItem[], totalRecordNumber: number }, Error>()\r\n\r\nconst loadMoreSearch = createAsyncAction(\r\n 'help-resources/REQUEST_LOAD_MORE_SEARCH',\r\n 'help-resources/SUCCESS_LOAD_MORE_SEARCH',\r\n 'help-resources/FAILURE_LOAD_MORE_SEARCH'\r\n)<{ search: string, categoryId: number | null, page: number }, { results: HelpResourceSearchItem[], totalRecordNumber: number }, Error>()\r\n\r\nconst resetSection = createAction('help-resources/RESET_SECTION');\r\nconst resetSearch = createAction('help-resources/RESET_SEARCH');\r\n\r\nexport const helpResourcesActions = {\r\n fetchCategories,\r\n fetchSection,\r\n fetchBySearch,\r\n loadMoreSearch,\r\n resetSection,\r\n resetSearch\r\n}","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { ManageEmailFilterState } from '../types/state/ManageEmailState';\r\n\r\nconst setFilter = createAction(\r\n 'manageEmail/UPDATE_FILTER',\r\n resolve => (filter: ManageEmailFilterState) => resolve({ filter })\r\n)\r\n\r\nexport type manageEmailActionsType = ActionType\r\n\r\nexport const manageEmailActions = {\r\n setFilter,\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\n\r\nconst confirmRequest = createAction(\r\n 'portfolioAgreementDisclaimer/CONFIRM_REQUEST',\r\n resolve => (onConfirm?: () => void) => resolve({ onConfirm })\r\n);\r\nconst confirmSuccess = createAction('portfolioAgreementDisclaimer/CONFIRM_SUCCESS');\r\nconst confirmFailure = createAction('portfolioAgreementDisclaimer/CONFIRM_FAILURE');\r\n\r\nconst downloadFileRequest = createAction('portfolioAgreementDisclaimer/DOWNLOAD_FILE_REQUEST');\r\nconst downloadFileSuccess = createAction('portfolioAgreementDisclaimer/DOWNLOAD_FILE_SUCCESS');\r\nconst downloadFileFailure = createAction('portfolioAgreementDisclaimer/DOWNLOAD_FILE_FAILURE');\r\n\r\nconst show = createAction(\r\n 'portfolioAgreementDisclaimer/SHOW',\r\n resolve => (blockerId: string, text?:string) => resolve({ blockerId, text })\r\n);\r\nconst hide = createAction(\r\n 'portfolioAgreementDisclaimer/HIDE',\r\n resolve => (confirmed: boolean) => resolve({ confirmed })\r\n);\r\n\r\nconst reset = createAction('portfolioAgreementDisclaimer/RESET');\r\n\r\nexport const portfolioAgreementDisclaimerActions = {\r\n show,\r\n hide,\r\n confirmRequest,\r\n confirmSuccess,\r\n confirmFailure,\r\n downloadFileRequest,\r\n downloadFileSuccess,\r\n downloadFileFailure,\r\n reset\r\n};\r\n","import { createAction } from \"typesafe-actions\"\r\nimport { SalesRepresentative } from \"../types/sales-representative/SalesRepresentative\";\r\n\r\nconst loadUserSalesRepresentatives = createAction('salesRepresentatives/LOAD');\r\nconst storeSalesRepresentatives = createAction('salesRepresentatives/STORE',\r\n resolve => (salesRepresentatives: SalesRepresentative[]) => resolve({ salesRepresentatives})\r\n);\r\nconst reset = createAction('salesRepresentatives/RESET');\r\n\r\nexport const salesRepresentativeActions = {\r\n loadUserSalesRepresentatives,\r\n storeSalesRepresentatives,\r\n reset\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { User } from '../types/account/User';\r\n\r\nconst user = createAction(\r\n 'PUSH_USER_ACTION_USER',\r\n resolve => (user: User) => resolve({ user })\r\n);\r\n\r\nexport const pushUserActions = {\r\n user\r\n};\r\n\r\n","import { AnyAction } from \"redux\";\r\nimport { entries, isUndefined, omitBy } from \"lodash\";\r\nimport { ThunkDispatch } from \"redux-thunk\";\r\nimport { createAction } from \"typesafe-actions\"\r\nimport { constants, errorMessages, uploadStatus } from \"../constants\";\r\nimport { inventoryService } from \"../services/inventory.service\";\r\nimport { InventoryFloatingIndex, inventoryFloatingIndexTitles } from '../types/inventory/InventoryFloatingIndex';\r\nimport { AppState } from \"../types/state/AppState\";\r\nimport { dateTimeUtils, formatUtils, moneyUtils, numericUtils, stringUtils } from \"../utils\";\r\nimport { gridActions, errorActions } from \".\";\r\nimport { ParsedInventoryPosition } from '../types/inventory/ParsedInventoryPosition';\r\nimport { GridDataItem } from \"../types/state/GridState\";\r\nimport { InventoryPosition } from \"../types/inventory/InventoryPosition\";\r\nimport { EditingInventoryPosition } from \"../types/state/InventoryEditState\";\r\nimport { RequestState } from '../constants/request-state';\r\n\r\nconst setSavingState = createAction('inventoryEdit/IS_SAVING',\r\n resolve => (requestState: RequestState) => resolve({ requestState })\r\n);\r\nconst save = createAction(\r\n 'inventoryEdit/SAVE',\r\n resolve => (lockModifiedDate?: Date, companyId?: number) => resolve({ lockModifiedDate, companyId })\r\n);\r\nconst setConflictsPopupVisible = createAction(\r\n 'inventoryEdit/SET_VISIBLE_WARNING_POPUP',\r\n resolve => (visible: boolean) => resolve({ visible })\r\n);\r\nconst setTradedStatus = createAction(\r\n 'inventoryEdit/SET_TRADED_STATUS',\r\n resolve => (inventoryPositionId: number, lockModifiedDate: Date, tradeDate: Date) => resolve({ inventoryPositionId, lockModifiedDate, tradeDate })\r\n);\r\nconst setTradedRequestStatus = createAction('inventoryEdit/SET_TRADED_REQUEST_STATUS',\r\n resolve => (inventoryId: number, status: boolean) => resolve({ inventoryId, status })\r\n);\r\nconst reset = createAction('inventoryEdit/RESET');\r\n\r\nconst setFlaggedModal = createAction(\r\n 'inventoryEdit/SET_FLAGGED_MODAL',\r\n resolve => (isFlaggedModalVisible: boolean) => resolve(isFlaggedModalVisible)\r\n)\r\n\r\nconst updateCoupon = (rowIndex: number) => {\r\n // use thunk because gridActions.deleteRow && gridActions.insertDataItems cannot be dispatched from saga\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n const dataItems: GridDataItem[] = getState().grid.dataItems;\r\n const dataItem = dataItems[rowIndex] && { ...dataItems[rowIndex] };\r\n\r\n if (dataItem) {\r\n dataItem.coupon = formatUtils.formatInventoryCoupon({\r\n floaterIndex: dataItem.floaterIndex ? dataItem.floaterIndex as unknown as InventoryFloatingIndex : undefined,\r\n spread: numericUtils.isNumber(dataItem.spread) ? Number(dataItem.spread) : undefined\r\n });\r\n\r\n dispatch(gridActions.deleteRow(rowIndex));\r\n dispatch(gridActions.insertDataItems([dataItem], rowIndex));\r\n }\r\n };\r\n}\r\n\r\nconst uploadSecurities = (file: File) => {\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n const { position, upload, mountedKey } = getState().grid;\r\n\r\n if (upload.status === uploadStatus.uploading) {\r\n return;\r\n }\r\n\r\n const extension = (file.name.split('.').pop() || '').toLowerCase();\r\n\r\n if (extension !== 'csv' && extension !== 'xlsx') {\r\n dispatch(errorActions.error(\r\n null,\r\n errorMessages.invalidFileType,\r\n 'Invalid file type.'\r\n ));\r\n return;\r\n\r\n } else if (file.size > constants.gridFileUploadMaximumSize * 1024 * 1024) {\r\n dispatch(errorActions.error(\r\n null,\r\n errorMessages.fileSizeLimitExceeded(constants.gridFileUploadMaximumSize),\r\n 'The file is too big.'\r\n ));\r\n return;\r\n }\r\n\r\n if (position?.editing) {\r\n dispatch(gridActions.applyOrCancelEdit());\r\n }\r\n\r\n inventoryService\r\n .uploadSecurities(file, progress)\r\n .then(success, failure)\r\n .finally(() => dispatch(gridActions.setUploadState(uploadStatus.none)));\r\n\r\n dispatch(gridActions.setUploadState(uploadStatus.uploading, 0, file.name));\r\n\r\n function success(positions: ParsedInventoryPosition[]) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (mountedKey === currentMountedKey) {\r\n const dataItems = getState().grid.dataItems.filter((i: GridDataItem) => !i.draft);\r\n const parsed: EditingInventoryPosition[] = positions.map(p => normalizeParsedInventoryPosition(p));\r\n const merged = mergeDataItems(dataItems, parsed);\r\n dispatch(gridActions.setUploadState(uploadStatus.ready))\r\n dispatch(gridActions.clear());\r\n dispatch(gridActions.addDataItems(merged));\r\n dispatch(ensureFlaggedModalShown(merged));\r\n dispatch(gridActions.validate());\r\n }\r\n }\r\n\r\n function failure(e: Error) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (mountedKey === currentMountedKey) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n dispatch(gridActions.setUploadState(uploadStatus.ready))\r\n }\r\n\r\n function progress(e: ProgressEvent) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (e.lengthComputable && mountedKey === currentMountedKey) {\r\n const percentComplete = (e.loaded / e.total) * 100;\r\n dispatch(gridActions.setUploadState(uploadStatus.uploading, percentComplete, file.name));\r\n }\r\n }\r\n };\r\n};\r\n\r\nconst handleClipboardData = (clipboardData: string) => {\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n const { mountedKey } = getState().grid;\r\n dispatch(gridActions.dataProcessing(true));\r\n\r\n inventoryService\r\n .parseSecuritiesStirng(clipboardData)\r\n .then(success)\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(gridActions.dataProcessing(false)));\r\n\r\n function success(securities: ParsedInventoryPosition[]) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (mountedKey === currentMountedKey) {\r\n const dataItems = getState().grid.dataItems.filter((i: GridDataItem) => !i.draft);\r\n const parsed: any[] = securities.map(p => normalizeParsedInventoryPosition(p));\r\n const merged = mergeDataItems(dataItems, parsed);\r\n dispatch(gridActions.clear());\r\n dispatch(gridActions.addDataItems(merged));\r\n dispatch(ensureFlaggedModalShown(merged));\r\n dispatch(gridActions.validate());\r\n }\r\n }\r\n };\r\n};\r\n\r\nconst ensureFlaggedModalShown = (merged: GridDataItem[]) => {\r\n return (dispatch: ThunkDispatch) => {\r\n const isFlaggedExists = merged.some((item => item.isFlagged));\r\n if (isFlaggedExists) {\r\n dispatch(setFlaggedModal(true));\r\n }\r\n }\r\n}\r\n\r\nconst excludeComputedProps = (source: EditingInventoryPosition) => {\r\n const withoutComputedProps = {\r\n ...source,\r\n coupon: undefined,\r\n cusip: undefined,\r\n draft: undefined,\r\n errors: undefined,\r\n isin: undefined,\r\n securityId: undefined,\r\n currency: undefined,\r\n ncEndMonth: undefined,\r\n ncEndYear: undefined,\r\n riEndMonth: undefined,\r\n riEndYear: undefined,\r\n size: source.size ? Number(source.size) : undefined,\r\n offer: source.offer ? Number(source.offer) : undefined,\r\n floaterIndex: source.floaterIndex ? Number(source.floaterIndex) : undefined\r\n };\r\n return omitBy(withoutComputedProps, isUndefined);\r\n}\r\n\r\nfunction mergeDataItems(\r\n actualItems: GridDataItem[],\r\n updatedItems: EditingInventoryPosition[]) {\r\n if (!actualItems.length) {\r\n return updatedItems.map(i => ({ ...i, isNew: true }));\r\n }\r\n\r\n const actualItemsCopy: GridDataItem[] = [...actualItems].map(el => ({ ...el, isFlagged: true }));\r\n const newItems: GridDataItem[] = [];\r\n\r\n updatedItems.forEach(u => {\r\n const actualIndex = actualItems.findIndex(a => a.securityId && a.securityId === u.securityId);\r\n if (actualIndex < 0) {\r\n newItems.push({ ...u, isNew: true });\r\n } else if (!isEqual(excludeComputedProps(actualItems[actualIndex]), excludeComputedProps(u))) {\r\n actualItemsCopy[actualIndex] = { ...u, isUpdate: true };\r\n } else {\r\n actualItemsCopy[actualIndex] = { ...actualItems[actualIndex], isUpdate: false, isNew: false, isFlagged: false };\r\n }\r\n });\r\n\r\n return actualItemsCopy.concat(newItems);\r\n}\r\n\r\nfunction isEqual(actual: GridDataItem, update: GridDataItem) {\r\n const valueOrEmpty = (value?: T | null) => value ?? '';\r\n\r\n return (\r\n actual.securityId === update.securityId &&\r\n actual.isinCusip === update.isinCusip &&\r\n actual.ticker === update.ticker &&\r\n valueOrEmpty(actual.rating) === valueOrEmpty(update.rating) &&\r\n valueOrEmpty(actual.offer) === valueOrEmpty(update.offer) &&\r\n valueOrEmpty(actual.size) === valueOrEmpty(update.size) &&\r\n valueOrEmpty(actual.offerDmBps) === valueOrEmpty(update.offerDmBps) &&\r\n valueOrEmpty(actual.offerYield) === valueOrEmpty(update.offerYield) &&\r\n valueOrEmpty(actual.spread) === valueOrEmpty(update.spread) &&\r\n valueOrEmpty(actual.walYears) === valueOrEmpty(update.walYears) &&\r\n valueOrEmpty(actual.mvoc) === valueOrEmpty(update.mvoc) &&\r\n valueOrEmpty(actual.manager) === valueOrEmpty(update.manager) &&\r\n valueOrEmpty(actual.description) === valueOrEmpty(update.description) &&\r\n valueOrEmpty(actual.ncEnd) === valueOrEmpty(update.ncEnd) &&\r\n valueOrEmpty(actual.riEnd) === valueOrEmpty(update.riEnd) &&\r\n valueOrEmpty(actual.floaterIndex) === valueOrEmpty(update.floaterIndex) &&\r\n valueOrEmpty(actual.creditEnhancement) === valueOrEmpty(update.creditEnhancement)\r\n );\r\n}\r\n\r\nfunction normalizeParsedInventoryPosition(position: ParsedInventoryPosition): EditingInventoryPosition {\r\n const dataItem: EditingInventoryPosition = {};\r\n\r\n if (position.floaterIndex) {\r\n const key = entries(inventoryFloatingIndexTitles)\r\n .find(([, title]) => title.localeCompare(position.floaterIndex || '', undefined, { sensitivity: 'accent' }) === 0)\r\n ?.[0];\r\n\r\n const floaterIndexEnumKey = InventoryFloatingIndex[key as keyof typeof InventoryFloatingIndex];\r\n\r\n dataItem.floaterIndex = floaterIndexEnumKey ? InventoryFloatingIndex[floaterIndexEnumKey] : undefined;\r\n }\r\n\r\n dataItem.securityId = position.securityId;\r\n dataItem.isinCusip = position.isinCusip;\r\n dataItem.ticker = position.ticker;\r\n dataItem.rating = position.rating;\r\n dataItem.spread = normalizeNumeric(position.spread);\r\n dataItem.coupon = formatUtils.formatInventoryCoupon({\r\n floaterIndex: dataItem.floaterIndex ? dataItem.floaterIndex as unknown as InventoryFloatingIndex : undefined,\r\n spread: numericUtils.isNumber(dataItem.spread) ? Number(dataItem.spread) : undefined\r\n });\r\n dataItem.bid = position.bid ? normalizeNumeric(position.bid): undefined;\r\n dataItem.offer = normalizeNumeric(position.offer); \r\n dataItem.bidSize = numericUtils.isNumber(position.bidSize) ? moneyUtils.amountToMM(+position.bidSize) : position.bidSize; \r\n dataItem.size = numericUtils.isNumber(position.size) ? moneyUtils.amountToMM(+position.size) : position.size;\r\n dataItem.bidDmBps = position.bidDmBps ? normalizeNumeric(position.bidDmBps) : undefined;\r\n dataItem.offerDmBps = normalizeNumeric(position.offerDmBps);\r\n dataItem.offerYield = normalizeNumeric(position.offerYield);\r\n dataItem.walYears = normalizeNumeric(position.walYears);\r\n dataItem.mvoc = normalizeNumeric(position.mvoc);\r\n dataItem.ncEnd = stringUtils.isNullOrWhiteSpace(position.ncEnd) ? undefined : formatUtils.formatMonthAndYear(position.ncEnd, position.ncEnd);\r\n dataItem.riEnd = stringUtils.isNullOrWhiteSpace(position.riEnd) ? undefined : formatUtils.formatMonthAndYear(position.riEnd, position.riEnd);\r\n const ncEndParseResult = dateTimeUtils.parseMonthAndYearStamp(position.ncEnd);\r\n const riEndParseResult = dateTimeUtils.parseMonthAndYearStamp(position.riEnd);\r\n if (ncEndParseResult.isMonthValid && ncEndParseResult.isYearValid) {\r\n dataItem.ncEndYear = ncEndParseResult.year;\r\n dataItem.ncEndMonth = ncEndParseResult.month;\r\n }\r\n if (riEndParseResult.isMonthValid && riEndParseResult.isYearValid) {\r\n dataItem.riEndYear = riEndParseResult.year;\r\n dataItem.riEndMonth = riEndParseResult.month;\r\n }\r\n dataItem.manager = stringUtils.isNullOrWhiteSpace(position.manager) ? undefined : position.manager.trim();\r\n dataItem.description = stringUtils.isNullOrWhiteSpace(position.description) ? undefined : position.description.trim();\r\n dataItem.creditEnhancement = normalizeNumeric(position.creditEnhancement);\r\n return dataItem;\r\n}\r\n\r\nfunction normalizeNumeric(raw?: string | null, defaultValue?: number): number | string | undefined {\r\n if (raw == null || stringUtils.isNullOrWhiteSpace(raw)) {\r\n return defaultValue;\r\n }\r\n\r\n const trimmed = raw.trim();\r\n\r\n return numericUtils.isNumber(trimmed) ? +trimmed : raw;\r\n}\r\n\r\nexport const inventoryEditActions = {\r\n save,\r\n setSavingState,\r\n updateCoupon,\r\n uploadSecurities,\r\n handleClipboardData,\r\n setConflictsPopupVisible,\r\n setTradedStatus,\r\n setTradedRequestStatus,\r\n reset,\r\n setFlaggedModal,\r\n};\r\n","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { SettlementAgentCommissionByRating } from \"../types/bid-as-dealer/SettlementAgentCommissionByRating\";\r\n\r\nexport type TSettlementAgentCommissionActionType = ActionType<\r\n typeof settlementAgentCommissionRequest |\r\n typeof settlementAgentCommissionResponse\r\n>;\r\n\r\nconst saveClearingBankSettings = createAction('clearingBank/SAVE_SETTINGS',\r\n resolve => (companyId: number, isClearingBank: boolean, commission?: SettlementAgentCommissionByRating) =>\r\n resolve({ companyId, isClearingBank, commission })\r\n);\r\nconst settlementAgentCommissionRequest = createAction('entities/settlement-agent-commission/SETTLEMENT-AGENT-COMMISSION-REQUEST',\r\n resolve => (companyId: number) => resolve({ companyId })\r\n);\r\nconst settlementAgentCommissionResponse = createAction('entities/settlement-agent-commission/SETTLEMENT-AGENT-COMMISSION-RESPONSE',\r\n resolve => (requestState: RequestState, companyId: number, commission?: SettlementAgentCommissionByRating) =>\r\n resolve({ requestState, companyId, commission })\r\n);\r\n\r\nexport const clearingBankActions = {\r\n saveClearingBankSettings,\r\n settlementAgentCommissionRequest,\r\n settlementAgentCommissionResponse\r\n}\r\n","import moment from 'moment';\r\nimport { sellerBiddingActions as actionTypes, errorMessages, constants, roles } from '../constants';\r\nimport { bwicService, biddingService, daysService } from '../services';\r\nimport { biddingActions, errorActions, colorDistributionActions, notificationActions } from '.';\r\nimport { biddingUtils, numericUtils } from '../utils';\r\nimport { feedbackTypes } from '../constants/bidding';\r\nimport { controlPanelActions } from './control-panel.actions';\r\nimport { dealerListPanelActions } from './dealer-list-panel.actions';\r\nimport { bidOnBehalfActions } from './bid-on-behalf.actions';\r\nimport { BwicStatus } from '../types/enums/BwicStatus';\r\nimport { apiOperationActions } from './api-operation.actions';\r\nimport { ApiOperationType } from '../types/api-operation/ApiOperationType';\r\nimport { user } from '../user';\r\nimport { favoriteBrokerDealersActions } from './favorite-broker-dealers.actions';\r\nimport { getSecuritiesWithLatestBids } from '../selectors';\r\nimport { dealerListActions } from './dealer-list.actions';\r\nimport { BwicProcessType } from '../types/models/Process';\r\nimport { OpenBiddingStatus } from \"../types/enums/OpenBiddingStatus\";\r\nimport { BidLevel } from '../types/bidding/BidLevel';\r\n\r\nexport const sellerBiddingActions = {\r\n init,\r\n cancelBwic,\r\n reset,\r\n tradeAll,\r\n completeBwic,\r\n setTargetLevel,\r\n sendTargetLevel,\r\n trade,\r\n tradeConfirm,\r\n sendQuickFeedback,\r\n tradingPositionSelectionChange,\r\n tradeAllSelectionChange,\r\n tradingPositionSettleDateChange,\r\n tradingPositionCommentChange,\r\n tradingPositionCompanyChange,\r\n tradingPositionBidChange,\r\n submitTrade,\r\n cancelTrade,\r\n showBidList,\r\n toggleBidList,\r\n sendBidRequest,\r\n markBidsShown\r\n}\r\n\r\nfunction init(bwic) {\r\n return async dispatch => {\r\n const year = new Date().getFullYear();\r\n\r\n try {\r\n const nextBusinessDayPromise = daysService.getNextBusinessDate();\r\n const todayIsBusinessDayPromise = daysService.isBusinessDay(new Date());\r\n const currentYearHolidaysPromise = daysService.getHolidays(year);\r\n const nextYearHolidaysPromise = daysService.getHolidays(year + 1);\r\n const isBidingOrFinished = (bwic.status === BwicStatus.bidding || bwic.status === BwicStatus.finished);\r\n if (!bwic.isAllToAll && isBidingOrFinished && bwic.process.type !== BwicProcessType.Live) {\r\n dispatch(bidOnBehalfActions.requestCompanies());\r\n }\r\n if (!bwic.isAllToAll && user.hasRoles(roles.SellerTrader)) {\r\n dispatch(favoriteBrokerDealersActions.fetchFavoriteBrokerDealersRequest());\r\n }\r\n\r\n const nextBusinessDay = await nextBusinessDayPromise;\r\n const todayIsBusinessDay = await todayIsBusinessDayPromise;\r\n const currentYearHolidays = await currentYearHolidaysPromise;\r\n const nextYearHolidays = await nextYearHolidaysPromise;\r\n\r\n const minDate = todayIsBusinessDay\r\n ? moment().startOf('day').toDate()\r\n : moment(nextBusinessDay).startOf('day').toDate();\r\n\r\n const holidays = [...currentYearHolidays, ...nextYearHolidays];\r\n\r\n dispatch(storeMinSettleDate(minDate));\r\n dispatch(storeHolidays(holidays));\r\n dispatch(storeSecurities(bwic.securities));\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n}\r\n\r\nfunction storeMinSettleDate(minimumDate) {\r\n return {\r\n type: actionTypes.STORE_MIN_SETTLE_DATE,\r\n minimumDate\r\n };\r\n}\r\n\r\nfunction storeSecurities(securities) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_STORE_SECURITIES,\r\n securities\r\n };\r\n}\r\n\r\nfunction storeHolidays(holidays) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_STORE_HOLIDAYS,\r\n holidays\r\n };\r\n}\r\n\r\nfunction cancelBwic(referenceName, reason) {\r\n return dispatch => {\r\n bwicService\r\n .cancel(referenceName, reason ? reason.trim() : reason)\r\n .then(\r\n () => dispatch(biddingActions.init(referenceName)),\r\n e => dispatch(errorActions.unexpectedError(e))\r\n );\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch(dealerListPanelActions.reset());\r\n dispatch({ type: actionTypes.SELLER_BIDDING_RESET });\r\n dispatch(apiOperationActions.resetEvent(ApiOperationType.submitBidsOnBehalf));\r\n dispatch(bidOnBehalfActions.resetEdit());\r\n dispatch(dealerListActions.reset());\r\n };\r\n}\r\n\r\nfunction tradeAll() {\r\n return (dispatch, getState) => {\r\n const { securities } = getState().sellerBidding;\r\n const tradingPositions = securities.filter(s => biddingUtils.canTradePosition(s));\r\n\r\n dispatch(storeTradingPositions(tradingPositions));\r\n }\r\n}\r\n\r\nfunction trade(positionId) {\r\n return (dispatch, getState) => {\r\n const { securities } = getState().sellerBidding;\r\n const tradingPosition = securities.find(s => s.id === positionId);\r\n\r\n dispatch(storeTradingPositions([tradingPosition]));\r\n };\r\n}\r\n\r\nfunction tradeConfirm(visible) {\r\n return (dispatch, getState) => {\r\n let hasErrors = false;\r\n\r\n if (visible) {\r\n const { tradingPositions, holidays, minimumSettleDate } = getState().sellerBidding;\r\n const validationResult = validateTradingPositions(tradingPositions, minimumSettleDate, holidays);\r\n hasErrors = validationResult.some(r => r.errors);\r\n\r\n if (hasErrors) {\r\n dispatch({\r\n type: actionTypes.SELLER_BIDING_STORE_TRADING_POSITIONS_VALIDATION_RESULT,\r\n validationResult\r\n });\r\n }\r\n }\r\n\r\n if (!hasErrors) {\r\n dispatch({\r\n type: actionTypes.SELLER_BIDDING_TRADING_CONFIRMATION_VISIBLE,\r\n visible\r\n });\r\n }\r\n }\r\n}\r\n\r\nfunction storeTradingPositions(positions) {\r\n return (dispatch, getState) => {\r\n const { bwic } = getState().bidding;\r\n const tradingPositions = positions && positions.map(p => {\r\n const [positionWithActualBids] = getSecuritiesWithLatestBids({ securities: [p] });\r\n const [best] = biddingUtils.getBidsByLevel(positionWithActualBids.bids, BidLevel.Best);\r\n\r\n return {\r\n id: p.id,\r\n selected: true,\r\n tradingCompanyId: best.company.id,\r\n tradingCompanyIdentifier: biddingUtils.getBidCompanyIdentifier(best),\r\n tradingBidId: best.id,\r\n settleDate: bwic.defaultSettleDate,\r\n comment: '',\r\n errors: null\r\n };\r\n });\r\n\r\n dispatch({\r\n type: actionTypes.SELLER_BIDDING_STORE_TRADING_POSITIONS,\r\n tradingPositions\r\n });\r\n };\r\n}\r\n\r\nfunction completeBwic(bwicReferenceName) {\r\n return dispatch => {\r\n bwicService\r\n .setColorDistribution(bwicReferenceName, true)\r\n .then(\r\n () => dispatch(colorDistributionActions.setBwicColorDistribution(true)),\r\n e => dispatch(errorActions.unexpectedError(e))\r\n );\r\n };\r\n}\r\n\r\nfunction sendQuickFeedback(positionId, bidsList, feedbackType) {\r\n return (dispatch, getState) => {\r\n const { bwic } = getState().bidding;\r\n sendOnBehalfFeedback();\r\n sendRegularFeedback();\r\n\r\n function excludeJumpBallStage2Bids(bids){\r\n if (\r\n bwic.process.type === BwicProcessType.JumpBall &&\r\n bwic.process.stagedBiddingStatus === OpenBiddingStatus.stage1Ended &&\r\n feedbackType === feedbackTypes.submitFinal &&\r\n bids?.some(b => b.stagedBiddingStatus === OpenBiddingStatus.stage1Ended)\r\n ) {\r\n return bids.filter(b => b.stagedBiddingStatus == null) // Take Stage1 bids only\r\n }\r\n return bids;\r\n }\r\n\r\n function sendOnBehalfFeedback() {\r\n const onBehalfBids = excludeJumpBallStage2Bids(bidsList.filter(b => b.onBehalf));\r\n if (onBehalfBids.length) {\r\n const bidIdList = onBehalfBids.map((b) => b.id);\r\n return biddingService\r\n .sendOnBehalfQuickFeedback(bwic.referenceName, positionId, bidIdList, feedbackType)\r\n .then(() => dispatch(feedbackSent(positionId, onBehalfBids, feedbackType)))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n }\r\n }\r\n function sendRegularFeedback() {\r\n const bids = excludeJumpBallStage2Bids(bidsList.filter(b => !b.onBehalf));\r\n if (bids.length) {\r\n const bidIdList = bids.map((b) => b.id);\r\n return biddingService\r\n .sendQuickFeedback(bwic.referenceName, positionId, bidIdList, feedbackType)\r\n .then(() => dispatch(feedbackSent(positionId, bids, feedbackType)))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction sendBidRequest(positionId, companies, requestType) {\r\n return (dispatch, getState) => {\r\n const { bwic } = getState().bidding;\r\n\r\n biddingService\r\n .sendBidRequest(bwic.referenceName, positionId, companies.map(c => c.id), requestType)\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n };\r\n}\r\n\r\nfunction feedbackSent(positionId, bids, feedbackType) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_QUICK_FEEDBACK_SENT,\r\n positionId,\r\n bids,\r\n feedbackType\r\n };\r\n}\r\n\r\nfunction tradingPositionSelectionChange(positionId, selected) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.SELLER_BIDDING_TRADING_POSITION_SELECTION_CHANGE,\r\n positionId,\r\n selected\r\n });\r\n\r\n const { tradeAllChecked } = getState().sellerBidding;\r\n\r\n if (tradeAllChecked !== selected) {\r\n const { tradingPositions } = getState().sellerBidding;\r\n const tradingPositionIdList = Object.keys(tradingPositions).map(key => +key);\r\n\r\n if (tradingPositionIdList.every(id => tradingPositions[id].selected)) {\r\n dispatch(tradeAllSelectionChange(true));\r\n } else if (tradingPositionIdList.every(id => !tradingPositions[id].selected)) {\r\n dispatch(tradeAllSelectionChange(false));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction tradeAllSelectionChange(tradeAllChecked) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_TRADING_TRADE_ALL_SELECTION_CHANGE,\r\n tradeAllChecked\r\n };\r\n}\r\n\r\nfunction submitTrade() {\r\n return (dispatch, getState) => {\r\n const { securities, tradingPositions } = getState().sellerBidding;\r\n const { bwic } = getState().bidding;\r\n\r\n const positions = Object\r\n .keys(tradingPositions)\r\n .map(positionId => +positionId)\r\n .filter(positionId => tradingPositions[positionId].selected)\r\n .map(positionId => {\r\n const p = tradingPositions[positionId];\r\n const position = securities.find(s => s.id === positionId);\r\n const bid = position.bids.find(b => b.id === p.tradingBidId && biddingUtils.getBidCompanyIdentifier(b) === p.tradingCompanyIdentifier);\r\n const companyBidLock = position.bidLocks && position.bidLocks.find(l => l.companyId === p.tradingCompanyId);\r\n\r\n return {\r\n positionId,\r\n buyerCompany: {\r\n id: p.tradingCompanyId,\r\n },\r\n settleDate: moment(p.settleDate).toISOString(true),\r\n bidId: bid.id,\r\n bidLock: companyBidLock && companyBidLock.bidLock,\r\n comment: p.comment\r\n };\r\n });\r\n\r\n dispatch(cancelTrade());\r\n\r\n biddingService\r\n .trade(bwic.referenceName, positions)\r\n .catch(e => {\r\n if (e.status === 409) {\r\n dispatch(notificationActions.warningModal(\r\n 'New Bid Notification',\r\n 'New bids were received. Please try again or refresh the page.'\r\n ));\r\n } else {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n });\r\n };\r\n}\r\n\r\nfunction validateTradingPositions(tradingPositions, minimumSettleDate, holidays) {\r\n const minimumDate = moment(minimumSettleDate);\r\n const momentHolidays = holidays.map(h => moment(h).startOf('day'));\r\n\r\n return Object\r\n .keys(tradingPositions)\r\n .map(positionId => +positionId)\r\n .map(positionId => {\r\n if (!tradingPositions[positionId].selected) {\r\n return { positionId, errors: null };\r\n }\r\n\r\n const settleDate = validateTradingPositionSettleDate(tradingPositions[positionId].settleDate, minimumDate, momentHolidays);\r\n const errors = settleDate ? { settleDate } : null;\r\n\r\n return { positionId, errors };\r\n });\r\n}\r\n\r\nfunction validateTradingPositionSettleDate(settleDate, minimumDate, holidays) {\r\n\r\n if (settleDate === '') {\r\n return errorMessages.empty;\r\n } else if (typeof settleDate === 'undefined') {\r\n return errorMessages.invalidValue;\r\n } else if (minimumDate.diff(settleDate, 'days') > 0) {\r\n return errorMessages.dateShouldNotBeInPast;\r\n }\r\n\r\n const momentSettleDate = moment(settleDate);\r\n const weekday = momentSettleDate.weekday();\r\n\r\n \r\n\r\n if ([0, 6].some(d => d === weekday)) {\r\n return errorMessages.bwicDateShouldNotBeWeekend;\r\n } else if (holidays.some(h => h.isSame(momentSettleDate, 'day'))) {\r\n return errorMessages.bwicDateShouldNotBeHoliday;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction cancelTrade() {\r\n return dispatch => {\r\n dispatch(tradeConfirm(false));\r\n dispatch(storeTradingPositions(null));\r\n }\r\n}\r\n\r\nfunction tradingPositionCompanyChange(positionId, tradingCompanyIdentifier) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_TRADING_COMPANY_CHANGE,\r\n positionId,\r\n tradingCompanyIdentifier\r\n }\r\n}\r\n\r\nfunction tradingPositionBidChange(positionId, bidId) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_TRADING_BID_CHANGE,\r\n positionId,\r\n bidId\r\n };\r\n}\r\n\r\nfunction tradingPositionSettleDateChange(positionId, date) {\r\n return (dispatch, getState) => {\r\n const { tradingPositions } = getState().sellerBidding;\r\n const position = tradingPositions[positionId];\r\n\r\n let settleDateError = null;\r\n if (position.errors && position.errors.settleDate) {\r\n const { holidays, minimumSettleDate } = getState().sellerBidding;\r\n const minimumDate = moment(minimumSettleDate);\r\n const momentHolidays = holidays.map(h => moment(h).startOf('day'));\r\n\r\n settleDateError = validateTradingPositionSettleDate(date, minimumDate, momentHolidays);\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.SELLER_BIDDING_TRADING_SETTLE_DATE_CHANGE,\r\n positionId,\r\n date,\r\n settleDateError\r\n });\r\n };\r\n}\r\n\r\nfunction tradingPositionCommentChange(positionId, comment) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_TADING_COMMENT_CHANGE,\r\n positionId,\r\n comment\r\n };\r\n}\r\n\r\nfunction setTargetLevel(securityId, value) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_SET_TARGET_LEVEL,\r\n payload: { securityId, value }\r\n }\r\n}\r\n\r\nfunction targetLevelRequest(securityId) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_TARGET_LEVEL_REQUEST,\r\n payload: { securityId }\r\n }\r\n}\r\n\r\nfunction targetLevelSuccess(securityId) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_TARGET_LEVEL_SUCCESS,\r\n payload: { securityId }\r\n }\r\n}\r\n\r\nfunction targetLevelFailure(securityId, error) {\r\n return {\r\n type: actionTypes.SELLER_BIDDING_TARGET_LEVEL_FAILURE,\r\n payload: { securityId, error }\r\n }\r\n}\r\n\r\nfunction sendTargetLevel(securityId) {\r\n return (dispatch, getState) => {\r\n const { bwic } = getState().bidding;\r\n const { securities, editTargetLevel } = getState().sellerBidding;\r\n const security = securities.find(s => s.id === securityId);\r\n const edit = editTargetLevel[securityId];\r\n const targetLevel = edit && numericUtils.isNumber(edit.targetLevel) && +edit.targetLevel;\r\n\r\n if (targetLevel != null && security) {\r\n if (targetLevel < constants.targetLevelRange.min || targetLevel > constants.targetLevelRange.max) {\r\n dispatch(setTargetLevel(securityId, undefined));\r\n } else if (security.targetLevel !== targetLevel) {\r\n dispatch(setTargetLevel(securityId, targetLevel.toFixed(4)));\r\n dispatch(targetLevelRequest(securityId));\r\n biddingService\r\n .saveTargetLevel(bwic.referenceName, securityId, targetLevel)\r\n .then(() => dispatch(targetLevelSuccess(securityId)))\r\n .catch(e => dispatch(targetLevelFailure(securityId, e)));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction showBidList(visible, positionId) {\r\n return dispatch => {\r\n if (visible) {\r\n dispatch(controlPanelActions.hide());\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.SELLER_BIDDING_SHOW_BID_LIST,\r\n payload: {\r\n visible,\r\n positionId: visible ? positionId : undefined\r\n }\r\n });\r\n };\r\n}\r\n\r\nfunction toggleBidList(positionId) {\r\n return (dispatch, getState) => {\r\n const { bidList } = getState().sellerBidding;\r\n\r\n const visible = positionId !== bidList.positionId;\r\n dispatch(showBidList(visible, positionId));\r\n };\r\n}\r\n\r\nfunction markBidsShown(bidList, positionId, bwicReferenceName) {\r\n return {\r\n type: actionTypes.MARK_BIDS_SHOWN,\r\n bwicReferenceName,\r\n positionId,\r\n bidList\r\n };\r\n}\r\n\r\n","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../../constants/request-state\";\r\nimport { PartiesCompanies } from \"../../types/state/entities/PartiesState\";\r\n\r\nconst request = createAction(\"entities/parties/REQUEST\");\r\nconst requestResult = createAction(\r\n \"entities/parties/REQUEST_RESULT\",\r\n (resolve) => (requestState: RequestState, items?: PartiesCompanies) =>\r\n resolve({\r\n requestState,\r\n items,\r\n })\r\n);\r\n\r\nexport type TPartiesActionType = ActionType<\r\n (typeof partiesActions)[keyof typeof partiesActions]\r\n>;\r\n\r\nexport const partiesActions = {\r\n request,\r\n requestResult,\r\n};\r\n\r\n","import { createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { Releases } from '../types/marketing/Release';\r\n\r\nconst fetchReleases = createAction('release/FETCH_RELEASES');\r\nconst getReleaseRequest = createAction('release/GET_RELEASE_REQUEST');\r\nconst getReleaseResponse = createAction('release/GET_RELEASE_RESPONSE',\r\n resolve => (requestStatus: RequestState, releases?: Releases) => resolve({ requestStatus, releases })\r\n);\r\n\r\nconst markAsReadRequest = createAction('release/MARK_AS_READ_REQUEST');\r\nconst markAsReadResponse = createAction('release/MARK_AS_READ_RESPONSE');\r\n\r\nexport const releaseActions = {\r\n fetchReleases,\r\n getReleaseRequest,\r\n getReleaseResponse,\r\n markAsReadRequest,\r\n markAsReadResponse\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { BwicPositionBase } from '../types/bwic/BwicPositionBase';\r\nimport { InventoryPosition } from '../types/inventory/InventoryPosition';\r\nimport { SecurityBwicStatisticsSummary } from '../types/security/SecurityBwicStatisticsSummary';\r\n\r\nconst bwicLogReset = createAction('bwic-log/RESET');\r\nconst bwicLogInitRequest = createAction('bwic-log/INIT_REQUEST',\r\n resolve => (security: BwicPositionBase | InventoryPosition) =>\r\n resolve({ security })\r\n);\r\nconst bwicLogInitSuccess = createAction('bwic-log/INIT_SUCCESS',\r\n resolve => (statistics: SecurityBwicStatisticsSummary) =>\r\n resolve({ statistics })\r\n);\r\nconst bwicLogInitFailure = createAction('bwic-log/INIT_FAILURE',\r\n resolve => (error: string) => resolve({ error })\r\n);\r\nconst bwicLogExportDataRequest = createAction('bwic-log/EXPORT_DATA_REQUEST',\r\n resolve => (securityId: number) => resolve({ securityId })\r\n);\r\nconst bwicLogExportDataSuccess = createAction('bwic-log/EXPORT_DATA_SUCCESS');\r\nconst bwicLogExportDataFailure = createAction('bwic-log/EXPORT_DATA_FAILURE',\r\n resolve => (error: string) => resolve({ error })\r\n);\r\n\r\nexport const bwicLogActions = {\r\n bwicLogInitRequest,\r\n bwicLogInitFailure,\r\n bwicLogInitSuccess,\r\n bwicLogReset,\r\n bwicLogExportDataRequest,\r\n bwicLogExportDataSuccess,\r\n bwicLogExportDataFailure\r\n}\r\n","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { CanBidOnPosition, LiveBiddingPosition } from \"../../types/live-bidding/LiveBiddingPosition\";\r\nimport { RequestState } from \"../../constants/request-state\";\r\n\r\nconst request = createAction('entities/live-bidding/REQUEST');\r\nconst response = createAction('entities/live-bidding/RESPONSE',\r\n resolve => (positions: LiveBiddingPosition[], requestState: RequestState) =>\r\n resolve({ positions, requestState })\r\n);\r\nconst reset = createAction('entities/live-bidding/RESET',\r\n resolve => (bwicReferenceName: string) => resolve({ bwicReferenceName })\r\n);\r\nconst stage2LevelChange = createAction('entities/live-bidding/STAGE_2_LEVEL',\r\n resolve => (bwicReferenceName: string, positionId: number, level: number, tiedForBest: boolean, sentDateUtc: Date) =>\r\n resolve({ bwicReferenceName, positionId, level, tiedForBest, sentDateUtc })\r\n);\r\nconst stage2Start = createAction('entities/live-bidding/STAGE_2_START',\r\n resolve => (\r\n bwicReferenceName: string,\r\n canDealerBidOnPositions?: CanBidOnPosition[],\r\n stage1EndDateUtc?: Date) =>\r\n resolve({ bwicReferenceName, canDealerBidOnPositions, stage1EndDateUtc }))\r\n\r\nexport const liveBiddingActions = {\r\n request,\r\n response,\r\n reset,\r\n stage2LevelChange,\r\n stage2Start\r\n};\r\n\r\nexport type TLiveBiddingAction = ActionType;","import { createAction } from 'typesafe-actions';\r\nimport { SubscriptionBillingHistoryFilterState } from '../types/state/SubscriptionsState';\r\nimport { BillingHistory } from '../types/billing/BillingHistory';\r\nimport { FilterOption } from '../types/filters/FilterOption';\r\nimport { RequestState } from '../constants/request-state';\r\n\r\nconst fetchBillingHistory = createAction(\r\n 'subscriptionBillingHistory/FETCH_HISTORY',\r\n resolve =>\r\n (requestState: RequestState, billingHistory?: BillingHistory[]) =>\r\n resolve({ requestState, billingHistory})\r\n)\r\n\r\nconst updateFilter = createAction(\r\n 'subscriptionBillingHistory/UPDATE_FILTER',\r\n resolve =>\r\n (filterField: keyof SubscriptionBillingHistoryFilterState, filterOption: FilterOption) =>\r\n resolve({ filterField, filterOption })\r\n);\r\n\r\nconst applyFilter = createAction('subscriptionBillingHistory/APPLY_FILTER');\r\nconst setApplyFilter = createAction('subscriptionBillingHistory/SET_APPLY_FILTER');\r\nconst applyReset = createAction('subscriptionBillingHistory/RESET');\r\nconst resetFilter = createAction('subscriptionBillingHistory/RESET_FILTER');\r\n\r\n\r\nexport const billingHistoryActions = {\r\n updateFilter,\r\n applyFilter,\r\n resetFilter,\r\n setApplyFilter,\r\n fetchBillingHistory,\r\n applyReset\r\n};\r\n","import moment from 'moment';\r\nimport {\r\n editParsedBwicActions as actionTypes,\r\n errorMessages,\r\n routes,\r\n gridColumns,\r\n\r\n constants\r\n} from '../constants';\r\nimport { parsedBwicsService, daysService, bwicService } from '../services';\r\nimport { errorActions, notificationActions, securitiesActions } from '.';\r\nimport { dateTimeUtils, numericUtils } from '../utils';\r\nimport { history } from '../history';\r\nimport { gridActions } from './grid.actions';\r\nimport { priceTalksActions } from './price-talks.actions';\r\nimport { BwicProcessType } from '../types/models/Process';\r\nimport { values } from 'lodash';\r\nimport { Stage2Participants } from '../types/models/ParsedBwicProcess';\r\n\r\nexport const editParsedBwicActions = {\r\n init,\r\n reset,\r\n changeDate,\r\n changeDaysToSettle,\r\n changeTimeZone,\r\n changeBidsDueTime,\r\n changeGoodUntilTime,\r\n changeCustomRules,\r\n changeReserveLevelsApply,\r\n changeCanTradeEarly,\r\n changeCanBidEarly,\r\n changePartialBidsAccepted,\r\n changeBwicProcessType,\r\n changeHardCutOffNumber,\r\n changeStage1EndTime,\r\n changeStage2EndTime,\r\n changeBidsGoodForHours,\r\n changeBidsGoodForMinutes,\r\n changeStage2Participants,\r\n showManageParsedBwics,\r\n save,\r\n saveAndPublish,\r\n saveOnExit,\r\n changeEmailReceivedDate,\r\n storeOriginalBwic,\r\n cancelDialog,\r\n cancelBwic\r\n}\r\n\r\nexport const getProcessSpecificSettings = parsedProcess => {\r\n switch (parsedProcess?.processType) {\r\n case BwicProcessType.JumpBall: return parsedProcess.jumpBall;\r\n case BwicProcessType.TopX: return parsedProcess.topX;\r\n case BwicProcessType.BestFootForward: return parsedProcess.bff;\r\n case BwicProcessType.Unknown: return parsedProcess.unknown;\r\n default: return {};\r\n }\r\n}\r\n\r\n\r\nfunction init(bwicReferenceName) {\r\n return async (dispatch, getState) => {\r\n try {\r\n const day = await daysService.getNextBusinessDate();\r\n\r\n const bwicPromise = bwicReferenceName\r\n ? bwicService.getByReferenceName(bwicReferenceName)\r\n : Promise.resolve(getState().editParsedBwic.bwic || { securities: [] });\r\n\r\n const bwic = await bwicPromise;\r\n\r\n if (bwic.referenceName) {\r\n dispatch(changeDate(bwic.date));\r\n dispatch(changeBidsDueTime(bwic.bidsDue));\r\n dispatch(changeGoodUntilTime(bwic.goodUntil));\r\n dispatch(changeTimeZone(bwic.timeZone.id));\r\n dispatch(changeDaysToSettle(bwic.daysToSettle));\r\n dispatch(changeCustomRules((bwic.process && bwic.process.rulesText) || ''));\r\n dispatch(securitiesActions.init(bwic.securities, gridColumns.securities()));\r\n dispatch(storeOriginalBwic(bwic));\r\n dispatch(changeEmailReceivedDate(bwic.emailReceivedDate))\r\n\r\n if (bwic.parsedProcess) {\r\n const processSettings = getProcessSpecificSettings(bwic.parsedProcess);\r\n dispatch(changeReserveLevelsApply(bwic.parsedProcess.reserveLevelsApply))\r\n dispatch(changeCanTradeEarly(bwic.parsedProcess.canTradeEarly))\r\n dispatch(changeCanBidEarly(bwic.parsedProcess.canBidEarly))\r\n dispatch(changePartialBidsAccepted(bwic.parsedProcess.partialBidsAccepted))\r\n dispatch(changeBwicProcessType(bwic.parsedProcess.processType))\r\n dispatch(changeHardCutOffNumber(processSettings.hardCutOff))\r\n dispatch(changeStage1EndTime(processSettings.stage1EndDateUtc))\r\n dispatch(changeStage2EndTime(processSettings.stage2EndDateUtc))\r\n dispatch(changeStage2Participants(processSettings.improverCount))\r\n if (bwic.parsedProcess.bidsGoodFor) {\r\n const timeSpan = dateTimeUtils.parseTimeSpan(bwic.parsedProcess.bidsGoodFor);\r\n if (timeSpan) {\r\n dispatch(changeBidsGoodForHours(timeSpan.hours || ''))\r\n dispatch(changeBidsGoodForMinutes(timeSpan.minutes || ''))\r\n }\r\n }\r\n }\r\n } else {\r\n dispatch(changeDate(day));\r\n dispatch(changeBidsDueTime(dateTimeUtils.timestampToUtcString('10:00 AM')));\r\n dispatch(changeGoodUntilTime(dateTimeUtils.timestampToUtcString('12:00 PM')));\r\n dispatch(changeDaysToSettle(constants.daysToSettleDefault));\r\n dispatch(changeReserveLevelsApply(true));\r\n dispatch(changeBwicProcessType(BwicProcessType.TopX));\r\n dispatch(changeCustomRules(''));\r\n dispatch(securitiesActions.init(bwic.securities, gridColumns.securities()));\r\n dispatch(storeOriginalBwic(bwic));\r\n }\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch({ type: actionTypes.INIT_COMPLETED })\r\n }\r\n }\r\n}\r\n\r\nfunction storeOriginalBwic(bwic) {\r\n return {\r\n type: actionTypes.STORE_ORIGINAL_BWIC,\r\n bwic\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RESET });\r\n dispatch(securitiesActions.reset());\r\n dispatch(errorActions.resetError());\r\n }\r\n}\r\n\r\nfunction changeEmailReceivedDate(date) {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().editParsedBwic;\r\n\r\n dispatch({\r\n type: actionTypes.SET_EMAIL_RECEIVED_DATE,\r\n payload: { date }\r\n });\r\n\r\n if (errors && errors.emailReceivedDate) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\n\r\nfunction changeDate(date) {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().editParsedBwic;\r\n\r\n dispatch({ type: actionTypes.CHANGE_DATE, date });\r\n if (errors && errors.date) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\n\r\nfunction changeDaysToSettle(days) {\r\n return {\r\n type: actionTypes.DAYS_TO_SETTLE,\r\n days\r\n };\r\n}\r\n\r\nfunction changeTimeZone(timeZone) {\r\n return {\r\n type: actionTypes.TIME_ZONE,\r\n timeZone\r\n };\r\n}\r\n\r\nfunction changeBidsDueTime(time) {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().editParsedBwic;\r\n\r\n dispatch({ type: actionTypes.BIDS_DUE, time });\r\n if (hasTimeErrors(errors)) {\r\n dispatch(validate());\r\n }\r\n\r\n const bidsDueTime = moment.utc(time);\r\n const goodUntilTime = moment.utc(time).add(2, 'hour');\r\n\r\n const goodUntil = goodUntilTime.isSame(bidsDueTime, 'day')\r\n ? goodUntilTime.format(constants.dateTimeFormatUtc)\r\n : dateTimeUtils.timestampToUtcString('11:59 PM');\r\n\r\n dispatch(changeGoodUntilTime(goodUntil));\r\n }\r\n}\r\n\r\nfunction changeGoodUntilTime(time) {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().editParsedBwic;\r\n\r\n dispatch({ type: actionTypes.GOOD_UNTIL, time });\r\n if (hasTimeErrors(errors)) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\n\r\nfunction hasTimeErrors(errors = {}) {\r\n return errors.time || errors.bidsGoodFor || errors.stage1EndDateUtc || errors.stage2EndDateUtc;\r\n}\r\n\r\nfunction changeCustomRules(rulesText) {\r\n return {\r\n type: actionTypes.RULES_TEXT,\r\n rulesText\r\n };\r\n}\r\n\r\nfunction changeReserveLevelsApply(value) {\r\n return {\r\n type: actionTypes.RESERVE_LEVELS_APPLY_CHANHE,\r\n value\r\n };\r\n}\r\nfunction changeCanTradeEarly(value) {\r\n return {\r\n type: actionTypes.CAN_TRADE_EARLY_CHANGE,\r\n value\r\n };\r\n}\r\nfunction changeCanBidEarly(value) {\r\n return {\r\n type: actionTypes.CAN_BID_EARLY_CHANGE,\r\n value\r\n };\r\n}\r\nfunction changePartialBidsAccepted(value) {\r\n return {\r\n type: actionTypes.PARTIAL_BIDS_ACCEPTED_CHANHE,\r\n value\r\n };\r\n}\r\nfunction getDefaultStage1EndTimeUtc(processType) {\r\n const defaultValue = '10:30 AM';\r\n return processType === BwicProcessType.TopX ||\r\n processType === BwicProcessType.JumpBall ||\r\n processType === BwicProcessType.BestFootForward ||\r\n processType === BwicProcessType.Unknown\r\n ? dateTimeUtils.timestampToUtcString(defaultValue)\r\n : null;\r\n}\r\nfunction getDefaultStage2EndTimeUtc(processType) {\r\n const defaultValue = '12:00 PM';\r\n return processType === BwicProcessType.TopX ||\r\n processType === BwicProcessType.JumpBall ||\r\n processType === BwicProcessType.Unknown\r\n ? dateTimeUtils.timestampToUtcString(defaultValue)\r\n : null;\r\n}\r\nfunction getDefaultStage2Participants(processType) {\r\n return processType === BwicProcessType.JumpBall ||\r\n processType === BwicProcessType.TopX ||\r\n processType === BwicProcessType.Unknown\r\n ? Stage2Participants.Top3\r\n : null;\r\n}\r\nfunction changeBwicProcessType(value) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.BWIC_PROCESS_TYPE_CHANGE,\r\n value\r\n });\r\n\r\n const hardCutOff = value === BwicProcessType.Standard ? null : 1;\r\n dispatch(changeHardCutOffNumber(hardCutOff));\r\n dispatch(changeStage1EndTime(getDefaultStage1EndTimeUtc(value)));\r\n dispatch(changeStage2EndTime(null))\r\n dispatch(changeStage2Participants(getDefaultStage2Participants(value)));\r\n\r\n if (hasTimeErrors(getState().editParsedBwic.errors)) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\nfunction changeHardCutOffNumber(value) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.HARD_CUT_OFF_NUMBER_CHANGE,\r\n value\r\n });\r\n\r\n const processType = getState().editParsedBwic.bwicProcessType;\r\n\r\n dispatch(changeStage1EndTime(getDefaultStage1EndTimeUtc(processType)));\r\n dispatch(changeStage2EndTime(+value === 2 ? getDefaultStage2EndTimeUtc(processType) : null))\r\n dispatch(changeStage2Participants(getDefaultStage2Participants(processType)));\r\n\r\n if (hasTimeErrors(getState().editParsedBwic.errors)) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\nfunction changeStage1EndTime(value) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.STAGE_1_TIME_CHANGE,\r\n value\r\n });\r\n\r\n const { errors } = getState().editParsedBwic;\r\n if (errors?.stage1EndDateUtc || errors.stage2EndDateUtc) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\nfunction changeStage2EndTime(value) {\r\n return (dispatch, getState) => {\r\n\r\n dispatch({\r\n type: actionTypes.STAGE_2_TIME_CHANGE,\r\n value\r\n });\r\n\r\n const { errors } = getState().editParsedBwic;\r\n if (errors?.stage1EndDateUtc || errors.stage2EndDateUtc) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\nfunction changeBidsGoodForHours(value) {\r\n return (dispatch, getState) => {\r\n const { errors } = getState().editParsedBwic;\r\n\r\n dispatch({\r\n type: actionTypes.BIDS_GOOD_FOR_HOURS_CHANGE,\r\n value\r\n });\r\n\r\n if (errors?.bidsGoodFor) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\nfunction changeBidsGoodForMinutes(value) {\r\n return (dispatch, getState) => {\r\n const { errors } = getState().editParsedBwic;\r\n\r\n dispatch({\r\n type: actionTypes.BIDS_GOOD_FOR_MINUTES_CHANGE,\r\n value\r\n });\r\n\r\n if (errors?.bidsGoodFor) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\nfunction changeStage2Participants(value) {\r\n return {\r\n type: actionTypes.STAGE_2_PARTICIPANTS_CHANGE,\r\n value\r\n };\r\n}\r\nfunction validate() {\r\n return (dispatch, getState) => {\r\n const { date, emailReceivedDate, bidsGoodForHours, bidsGoodForMinutes, ...state } =\r\n getState().editParsedBwic;\r\n\r\n const bidsDue = moment.utc(setBwicDate(date, adjustTime(state.bidsDue)));\r\n const goodUntil = moment.utc(setBwicDate(date, adjustTime(state.goodUntil)));\r\n const stage1EndDateUtc = state.stage1EndDateUtc ? moment.utc(setBwicDate(date, state.stage1EndDateUtc)) : null;\r\n const stage2EndDateUtc = state.stage2EndDateUtc ? moment.utc(setBwicDate(date, state.stage2EndDateUtc)) : null;\r\n\r\n const errors = {};\r\n errors.date = validateDate(date);\r\n errors.time = validateTime(bidsDue, goodUntil);\r\n errors.emailReceivedDate = validateEmailReceivedDate(emailReceivedDate);\r\n errors.bidsGoodFor = validateBidsGoodFor(bidsGoodForHours, bidsGoodForMinutes);\r\n errors.stage1EndDateUtc = validateStage1End(stage1EndDateUtc, stage2EndDateUtc, bidsDue, goodUntil);\r\n errors.stage2EndDateUtc = validateStage2End(stage1EndDateUtc, stage2EndDateUtc, bidsDue, goodUntil);\r\n\r\n const isValid = !values(errors).some(x => !!x);\r\n\r\n dispatch({\r\n type: actionTypes.VALIDATE,\r\n validation: {\r\n errors,\r\n isValid\r\n }\r\n })\r\n };\r\n}\r\n\r\nfunction validateDate(date) {\r\n if (date === '') {\r\n return errorMessages.empty;\r\n } else if (typeof date === 'undefined') {\r\n return errorMessages.invalidValue;\r\n }\r\n\r\n const momentDate = moment(date)\r\n const weekday = momentDate.isoWeekday();\r\n\r\n if ([6, 7].some(d => d === weekday)) {\r\n return errorMessages.bwicDateShouldNotBeWeekend;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction validateEmailReceivedDate(date) {\r\n if (date === '') {\r\n return errorMessages.empty;\r\n } else if (typeof date === 'undefined') {\r\n return errorMessages.invalidValue;\r\n }\r\n\r\n const min = moment().subtract(1, 'year');\r\n const max = moment().add(1, 'year');\r\n\r\n if (min.isAfter(date, 'd') || max.isBefore(date, 'd')) {\r\n return errorMessages.dateRange(\r\n min.format(constants.dateFormat),\r\n max.format(constants.dateFormat)\r\n );\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction validateTime(bidsDue, goodUntil) {\r\n if (bidsDue >= goodUntil) {\r\n return errorMessages.bidsDueShoulbBeLessThanGoodUntil;\r\n }\r\n}\r\n\r\nfunction validateBidsGoodFor(hours, minutes) {\r\n if ((!Number(hours) && !Number(minutes))) return undefined;\r\n\r\n const totalMinutes = numericUtils.numberOrDefault(hours) * 60 + numericUtils.numberOrDefault(minutes)\r\n\r\n const min = 30; // minutes\r\n const maxHours = 12;\r\n\r\n if (totalMinutes < min || totalMinutes > (maxHours * 60)) {\r\n return errorMessages.shouldBeBetween(`${30} minutes`, `${maxHours} hours`)\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction validateStage1End(stage1End, stage2End, start, end) {\r\n if (!stage1End) return undefined;\r\n if (start && end && (stage1End.isBefore(start) || stage1End.isAfter(end))) {\r\n return \"The time should be between start time and end time\";\r\n }\r\n if (stage2End && stage1End.isSameOrAfter(stage2End)) {\r\n return \"The value cannot be greater then the 2nd Stage Hard Cut Off (UTC)\"\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction validateStage2End(stage1End, stage2End, start, end) {\r\n if (!stage2End) return undefined;\r\n if (start && end && (stage2End.isBefore(start) || stage2End.isAfter(end))) {\r\n return \"The time should be between start time and end time\";\r\n }\r\n if (stage1End && stage2End.isSameOrBefore(stage1End)) {\r\n return \"The value cannot be less then the 1st Stage Hard Cut Off (UTC)\"\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction adjustTime(utcTime) {\r\n const time = dateTimeUtils.timestampFromUtcString(utcTime);\r\n\r\n if (time === '12:00 AM') {\r\n return dateTimeUtils.timestampToUtcString('11:59:59 PM');\r\n }\r\n\r\n return utcTime;\r\n}\r\n\r\nexport function setBwicDate(bwicDate, time) {\r\n if (!time) return undefined;\r\n\r\n return (bwicDate ? moment.utc(bwicDate) : moment.utc())\r\n .set('hour', moment.utc(time).hours())\r\n .set('minute', moment.utc(time).minute());\r\n}\r\n\r\nfunction showManageParsedBwics() {\r\n return () => {\r\n history.push(routes.manageParsedBwics);\r\n };\r\n}\r\n\r\nfunction save() {\r\n return (dispatch, getState) => {\r\n dispatch(validate());\r\n dispatch(gridActions.validate());\r\n\r\n const { isValid } = getState().editParsedBwic;\r\n const isPositionsValid = getState().grid.isValid;\r\n\r\n if (isValid && isPositionsValid) {\r\n dispatch(setSaveProgressState(true));\r\n doSave(getState())\r\n .then(() => {\r\n dispatch(saved());\r\n })\r\n .catch(e => {\r\n if (e.status === 409) {\r\n dispatch(\r\n notificationActions.notificationAddErrorMessageModal(\r\n errorMessages.refreshPage,\r\n errorMessages.cantSavePxTalk409,\r\n true\r\n )\r\n );\r\n } else {\r\n dispatch(errorActions.error(e, errorMessages.unexpectedError))\r\n }\r\n })\r\n .finally(() => dispatch(setSaveProgressState(false)));\r\n }\r\n };\r\n}\r\n\r\nfunction setSaveProgressState(isSaving) {\r\n return {\r\n type: actionTypes.SAVING_STATE,\r\n isSaving\r\n };\r\n}\r\n\r\nfunction saveOnExit(pathname, beforeNavigateCallback) {\r\n return async (dispatch, getState) => {\r\n dispatch(validate());\r\n dispatch(gridActions.validate());\r\n\r\n const { isValid } = getState().editParsedBwic;\r\n const isPositionsValid = getState().grid.isValid;\r\n\r\n if (isValid && isPositionsValid) {\r\n dispatch(setSaveProgressState(true));\r\n try {\r\n await doSave(getState());\r\n history.push(pathname);\r\n } catch (e) {\r\n beforeNavigateCallback(false);\r\n dispatch(errorActions.unexpectedError(e));\r\n } finally {\r\n dispatch(setSaveProgressState(false));\r\n }\r\n } else if (beforeNavigateCallback) {\r\n beforeNavigateCallback(false);\r\n }\r\n };\r\n}\r\n\r\nfunction saveAndPublish() {\r\n return async (dispatch, getState) => {\r\n dispatch(validate());\r\n dispatch(gridActions.validate());\r\n\r\n const { isValid } = getState().editParsedBwic;\r\n const isPositionsValid = getState().grid.isValid;\r\n\r\n if (isValid && isPositionsValid) {\r\n dispatch(setSaveProgressState(true));\r\n try {\r\n const referenceName = await doSave(getState());\r\n await parsedBwicsService.publish(referenceName);\r\n dispatch(saved());\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n } finally {\r\n dispatch(setSaveProgressState(false));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction saved() {\r\n return (dispatch, getState) => {\r\n getState().grid.dataItems\r\n .filter(s => !s.draft && s.pxTalks && s.id)\r\n .forEach(s => {\r\n dispatch(priceTalksActions.replacePriceTalks(s.id, s.pxTalks))\r\n });\r\n dispatch({ type: actionTypes.BWIC_SAVED })\r\n }\r\n}\r\n\r\nfunction doSave(state) {\r\n const positions = state.grid.dataItems.filter(s => !s.draft);\r\n const { bwic, date, bidsDue, goodUntil, timeZone, daysToSettle, rulesText, emailReceivedDate,\r\n reserveLevelsApply, canTradeEarly, canBidEarly, partialBidsAccepted, bidsGoodForHours, bidsGoodForMinutes,\r\n bwicProcessType, hardCutOff, stage1EndDateUtc, stage2EndDateUtc, improverCount } = state.editParsedBwic;\r\n\r\n const payload = {\r\n referenceName: bwic.referenceName,\r\n date: moment(date).startOf('day').utcOffset(0, true).toISOString(),\r\n bidsDue: moment.utc(bidsDue).utcOffset(0, true).toISOString(),\r\n goodUntil: moment.utc(goodUntil).utcOffset(0, true).toISOString(),\r\n timeZone,\r\n daysToSettle,\r\n emailReceivedDate,\r\n rulesText: rulesText == null ? rulesText.trim() : rulesText,\r\n reserveLevelsApply,\r\n canTradeEarly,\r\n canBidEarly,\r\n partialBidsAccepted,\r\n bidsGoodFor: bidsGoodForHours || bidsGoodForMinutes\r\n ? dateTimeUtils.timeSpan(\r\n numericUtils.numberOrDefault(bidsGoodForHours),\r\n numericUtils.numberOrDefault(bidsGoodForMinutes),\r\n 0)\r\n : undefined,\r\n processType: bwicProcessType,\r\n hardCutOff,\r\n stage1EndDateUtc: setBwicDate(date, stage1EndDateUtc)?.toISOString(),\r\n stage2EndDateUtc: setBwicDate(date, stage2EndDateUtc)?.toISOString(),\r\n improverCount,\r\n positions\r\n }\r\n\r\n return parsedBwicsService.save(payload);\r\n}\r\n\r\nfunction cancelDialog(visible) {\r\n return {\r\n type: actionTypes.CANCEL_DIALOG,\r\n cancelDialog: { visible }\r\n };\r\n}\r\n\r\nfunction cancelBwic(referenceName) {\r\n return dispatch => {\r\n dispatch(cancelDialog(false));\r\n\r\n parsedBwicsService\r\n .cancel(referenceName)\r\n .then(\r\n () => history.push(routes.manageParsedBwics),\r\n e => dispatch(errorActions.unexpectedError())\r\n );\r\n };\r\n}\r\n\r\n\r\n","import { createAction } from 'typesafe-actions';\r\nimport { BrokerDealerCompanySlim } from '../types/company/BrokerDealerCompanySlim';\r\nimport { SettlementAgentAgreement } from '../types/bid-as-dealer/SettlementAgentAgreement';\r\nimport { DealerListFilterOption } from '../types/state/DealerListState';\r\n\r\nconst selectDealers = createAction(\r\n 'newBwicDealers/SET_SELECTED_DEALER',\r\n resolve => (selectedDealers: { [dealerId: number]: boolean }) => resolve({ selectedDealers })\r\n);\r\n\r\nconst selectDealer = createAction(\r\n 'newBwicDealers/SET_DEALER_SELECTED',\r\n resolve => (dealerId: number) => resolve({ dealerId })\r\n);\r\n\r\nconst selectDealersByDefault = createAction(\r\n 'newBwicDealers/SELECT_DEALERS_BY_DEFAULT',\r\n resolve => (dealers: BrokerDealerCompanySlim[]) => resolve({ dealers })\r\n);\r\n\r\nconst resetSelectedByDefaultFlag = createAction('newBwicDealers/SELECT_DEALERS_BY_DEFAULT_RESET');\r\n\r\nconst sellerBidAsDealerAgreementsPushDataReceived = createAction(\r\n 'newBwicDealers/BID_AS_DEALER_AGREEMENT_PUSH_DATA_RECEIVED',\r\n resolve => (agreement: SettlementAgentAgreement) => resolve({ agreement })\r\n);\r\n\r\nconst updateFilterOptions = createAction(\r\n 'newBwicDealers/UPDATE_FILTER_OPTIONS',\r\n resolve => (filterOption: DealerListFilterOption) => resolve({ filterOption })\r\n);\r\n\r\nconst clearFilterOptions = createAction('newBwicDealers/CLEAR_FILTER_OPTIONS');\r\n\r\nconst setSearchTerm = createAction(\r\n 'newBwicDealers/SET_SEARCH_TERM',\r\n resolve => (searchTerm: string) => resolve({ searchTerm })\r\n);\r\n\r\nconst reset = createAction('newBwicDealers/RESET');\r\n\r\nconst setSelectPlatformDealersPopupVisible = createAction(\r\n 'newBwicDealers/SET_SELECT_PLATFORM_DEALERS_POPUP_VISIBLE',\r\n resolve => (visible: boolean) => resolve({ visible })\r\n);\r\n\r\nexport const newBwicDealersActions = {\r\n selectDealersByDefault,\r\n selectDealers,\r\n selectDealer,\r\n sellerBidAsDealerAgreementsPushDataReceived,\r\n updateFilterOptions,\r\n clearFilterOptions,\r\n setSearchTerm,\r\n resetSelectedByDefaultFlag,\r\n reset,\r\n setSelectPlatformDealersPopupVisible\r\n};\r\n","import {\r\n companyRoles,\r\n constants,\r\n editCompanyActions as actionTypes,\r\n errorMessages,\r\n RegistrationType,\r\n} from '../constants';\r\nimport { errorActions } from '.';\r\nimport { companiesService, locationService, salesRepresentativesService } from '../services';\r\n\r\nexport const editCompanyActions = {\r\n init,\r\n reset,\r\n save,\r\n loadCities,\r\n};\r\n\r\nfunction init(referenceName) {\r\n return async dispatch => {\r\n try {\r\n dispatch(setLoadingCompanyStatus(true));\r\n const companyPromise = referenceName != null\r\n ? companiesService.getCompany(referenceName)\r\n : new Promise(resolve => resolve(undefined));\r\n const countriesPromise = locationService.getCountries();\r\n const statesPromise = locationService.getStates(constants.USCountryCode);\r\n const salesRepresentativesPromise = salesRepresentativesService.getList();\r\n\r\n const company = await companyPromise;\r\n const countries = await countriesPromise;\r\n const states = await statesPromise;\r\n const salesRepresentatives = await salesRepresentativesPromise;\r\n\r\n dispatch(loadCountries(countries));\r\n dispatch(loadStates(states));\r\n dispatch(storeSalesRepresentatives(salesRepresentatives.map(s => (\r\n { ...s, selected: company && company.salesRepresentatives.some(с => с.id === s.id) })))\r\n );\r\n\r\n if (referenceName != null && company) {\r\n if (!company.id) {\r\n throw new Error({ status: 404, message: 'Company not found' });\r\n }\r\n if (company.countryCode === constants.USCountryCode) {\r\n dispatch(loadCities(company.stateId));\r\n }\r\n company.registrationType = company.manualRegistration ? RegistrationType.manual : RegistrationType.sendLink;\r\n if (company.mpid) {\r\n company.mpid = company.mpid.trim();\r\n }\r\n if (company.headOfTrading == null) {\r\n company.headOfTrading = {}\r\n }\r\n }\r\n dispatch(loadCompany(company));\r\n }\r\n catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n finally {\r\n dispatch(setLoadingCompanyStatus(false));\r\n }\r\n };\r\n}\r\n\r\nfunction storeSalesRepresentatives(salesRepresentatives) {\r\n return {\r\n type: actionTypes.SALES_REPRESENTATIVES,\r\n salesRepresentatives\r\n }\r\n}\r\n\r\nfunction loadCities(stateId) {\r\n return dispatch => {\r\n if (stateId) {\r\n locationService\r\n .getCities(stateId)\r\n .then(\r\n cities => dispatch({ type: actionTypes.CITIES, cities }),\r\n e => dispatch(errorActions.error(e))\r\n );\r\n } else {\r\n dispatch({ type: actionTypes.CITIES, cities: [] });\r\n }\r\n };\r\n}\r\n\r\nfunction loadStates(states) {\r\n return {\r\n type: actionTypes.STATES,\r\n states\r\n };\r\n}\r\n\r\nfunction loadCountries(countries) {\r\n return {\r\n type: actionTypes.COUNTRIES,\r\n countries\r\n };\r\n}\r\n\r\nfunction loadCompany(company) {\r\n return { type: actionTypes.COMPANY, company };\r\n}\r\n\r\nfunction save(values) {\r\n return async (dispatch, getState) => {\r\n dispatch(saving(true));\r\n\r\n const { salesRepresentatives, company } = getState().editCompany;\r\n const isBrokerDealer = values.role === companyRoles.BrokerDealer;\r\n const model = {\r\n id: values.id,\r\n name: values.name.trim(),\r\n phone: values.phone ? values.phone.trim() : null,\r\n website: values.website ? values.website.trim() : null,\r\n countryCode: values.countryCode,\r\n stateId: values.stateId,\r\n state: values.stateId ? null : values.state.trim(),\r\n cityId: values.cityId,\r\n city: values.cityId ? null : values.city.trim(),\r\n zipCode: values.zipCode ? values.zipCode.trim() : '',\r\n address: values.address.trim(),\r\n role: values.role,\r\n code: values.code ? values.code.trim().toUpperCase() : '',\r\n distributionList: isBrokerDealer && values.distributionList ? values.distributionList.trim() : null,\r\n mpid: isBrokerDealer && values.mpid ? values.mpid.trim().toUpperCase() : null,\r\n manualRegistration: company ? company.registrationType === RegistrationType.manual : true,\r\n headOfTrading: {\r\n firstName: values.headOfTradingFirstName,\r\n lastName: values.headOfTradingLastName,\r\n email: values.headOfTradingEmail,\r\n office: values.headOfTradingOffice ? values.headOfTradingOffice.trim() : null,\r\n mobile: values.headOfTradingMobile ? values.headOfTradingMobile.trim() : null,\r\n }\r\n };\r\n\r\n const salesRepresentativesToAssign = salesRepresentatives\r\n .filter(s => values.salesRepresentatives.some(v => v === s.id) && (company ? !company.salesRepresentatives.some(c => c.id === s.id) : true))\r\n .map(s => s.id);\r\n const salesRepresentativesToUnassign = salesRepresentatives\r\n .filter(s => !values.salesRepresentatives.some(v => v === s.id) && company && company.salesRepresentatives.some(c => c.id === s.id))\r\n .map(s => s.id);\r\n\r\n try {\r\n const companyId = await companiesService.save(model);\r\n\r\n const assignPromise = salesRepresentativesToAssign.length\r\n ? salesRepresentativesService.assign({ companyId, representativeUserIdList: salesRepresentativesToAssign })\r\n : Promise.resolve();\r\n\r\n const unassignPromise = salesRepresentativesToUnassign.length\r\n ? salesRepresentativesService.unassign({ companyId, representativeUserIdList: salesRepresentativesToUnassign })\r\n : Promise.resolve();\r\n\r\n await assignPromise;\r\n await unassignPromise;\r\n\r\n dispatch(saved());\r\n } catch (e) {\r\n dispatch(errorActions.error(\r\n e,\r\n errorMessages.unexpectedError,\r\n errorMessages.companyInformationCanNotBeChanged\r\n ));\r\n } finally {\r\n dispatch(saving(false))\r\n }\r\n };\r\n}\r\n\r\nfunction setLoadingCompanyStatus(status) {\r\n return {\r\n type: actionTypes.EDIT_COMPANY_LOADING_STATUS,\r\n payload: { status }\r\n }\r\n}\r\n\r\nfunction saving(isSaving) {\r\n return {\r\n type: actionTypes.SAVING,\r\n isSaving\r\n };\r\n}\r\n\r\nfunction saved() {\r\n return {\r\n type: actionTypes.SAVED,\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RESET });\r\n dispatch(errorActions.resetError());\r\n };\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { SellerAdminEditFormModel } from '../types/seller-admin/SellerAdminEditFormModel';\r\nimport { CompanyUser } from '../types/management/CompanyUser';\r\nimport { UserCreationRequest } from '../types/management/UserCreationRequest';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { UserStatus } from '../types/account/UserStatus';\r\nimport { UpdateBwicAnnouncementNotifications } from '../types/profile/UpdateBwicAnnouncementNotifications';\r\n\r\nconst getUserListRequest = createAction('sellerAdminUsers/GET_USERS_LIST/REQUEST');\r\nconst getUserListSuccess = createAction(\r\n 'sellerAdminUsers/GET_USERS_LIST/SUCCESS',\r\n resolve => (users: CompanyUser[], requestUsers: UserCreationRequest[]) => resolve({ users, requestUsers })\r\n);\r\nconst getUserListFailure = createAction('sellerAdminUsers/GET_USERS_LIST/FAILURE');\r\n\r\nconst saveUser = createAction(\r\n 'sellerAdminUsers/SAVE_USER',\r\n resolve => (data: SellerAdminEditFormModel, userId: number) => resolve({ data, userId })\r\n);\r\nconst setUserUpdateState = createAction(\r\n 'sellerAdminUsers/DET_UPDATE_USER_STATE',\r\n resolve => (requestState: RequestState, user?: CompanyUser) => resolve({ requestState, user })\r\n);\r\nconst userSaved = createAction(\r\n 'sellerAdminUsers/SET_USER_SAVED',\r\n resolve => (user: CompanyUser) => resolve({ user })\r\n);\r\n\r\nconst saveUserRequest = createAction(\r\n 'sellerAdminUsers/SAVE_USER_REQUEST',\r\n resolve =>\r\n (data: SellerAdminEditFormModel, userRequestId: number, concurrencyStamp?: Date | undefined) =>\r\n resolve({ data, userRequestId, concurrencyStamp })\r\n);\r\nconst setUserRequestUpdateState = createAction(\r\n 'sellerAdminUsers/SET_USER_REQUEST_UPDATE_STATE',\r\n resolve => (requestState: RequestState) => resolve({ requestState })\r\n);\r\nconst userRequestSaved = createAction(\r\n 'sellerAdminUsers/SET_USER_REQUEST_SAVED',\r\n resolve => (userRequest: UserCreationRequest) => resolve({ userRequest })\r\n);\r\n\r\nconst disableUser = createAction(\r\n 'sellerAdminUsers/DISABLE_USER',\r\n resolve => (userId: number, blockReason: string) => resolve({ userId, blockReason })\r\n);\r\nconst enableUser = createAction(\r\n 'sellerAdminUsers/ENABLE_USER',\r\n resolve => (userId: number) => resolve({ userId })\r\n);\r\nconst setUserOperationState = createAction(\r\n 'sellerAdminUsers/SET_USER_OPERATION_STATE',\r\n resolve => (requestState: RequestState, userId: number) => resolve({ requestState, userId, })\r\n);\r\nconst setUserEnabled = createAction(\r\n 'sellerAdminUsers/SET_ENABLED_USER',\r\n resolve => (userId: number, status: UserStatus) => resolve({ userId, status })\r\n);\r\nconst setUserDisable = createAction(\r\n 'sellerAdminUsers/SET_DISABLED_USER',\r\n resolve => (userId: number, blockReason: string) => resolve({ userId, blockReason })\r\n);\r\n\r\nconst disableUserRequest = createAction(\r\n 'sellerAdminUsers/DISABLE_USER_REQUEST',\r\n resolve => (userRequestId: number, concurrencyStamp: Date, blockReason: string,) => resolve({\r\n userRequestId,\r\n concurrencyStamp,\r\n blockReason\r\n })\r\n);\r\nconst enableUserRequest = createAction(\r\n 'sellerAdminUsers/ENABLE_USER_REQUEST',\r\n resolve => (userRequestId: number, concurrencyStamp: Date) => resolve({ userRequestId, concurrencyStamp })\r\n);\r\nconst setUserRequestOperationState = createAction(\r\n 'sellerAdminUsers/SET_USER_REQUEST_OPERATION_STATE',\r\n resolve => (requestState: RequestState, userId: number) => resolve({\r\n requestState,\r\n userId\r\n })\r\n);\r\nconst userRequestEnabled = createAction(\r\n 'sellerAdminUsers/SET_USER_REQUEST_ENABLED',\r\n resolve => (userRequest: UserCreationRequest) => resolve({ userRequest })\r\n);\r\nconst userRequestDisabled = createAction(\r\n 'sellerAdminUsers/SET_USER_REQUEST_DISABLED',\r\n resolve => (userRequest: UserCreationRequest) => resolve({ userRequest })\r\n);\r\n\r\nconst exportUsersRequest = createAction('sellerAdminUsers/EXPORT_REQUEST');\r\nconst exportUsersResponse = createAction('sellerAdminUsers/EXPORT_RESPONSE');\r\n\r\nconst reset = createAction('sellerAdminUsers/RESET');\r\n\r\nconst changeBwicAnnouncementNotificationsRequest = createAction(\r\n 'sellerAdminUsers/CHANGE_BWIC_ANNOUNCMENT_NOTIFICATIONS_REQUEST',\r\n resolve => (requestState: RequestState) => resolve({ requestState })\r\n)\r\n\r\nconst changeBwicAnnouncementNotifications = createAction(\r\n 'sellerAdminUsers/CHANGE_BWIC_ANNOUNCMENT_NOTIFICATIONS',\r\n resolve => (bwicAnnouncementNotifications: UpdateBwicAnnouncementNotifications) =>\r\n resolve({\r\n bwicCreateNotifyAdmins: bwicAnnouncementNotifications.bwicCreateNotifyAdmins,\r\n bwicCreateNotifyViewers: bwicAnnouncementNotifications.bwicCreateNotifyViewers\r\n })\r\n)\r\n\r\nexport const sellerAdminUsersActions = {\r\n getUserListRequest,\r\n getUserListSuccess,\r\n getUserListFailure,\r\n saveUserRequest,\r\n setUserRequestUpdateState,\r\n userRequestSaved,\r\n saveUser,\r\n setUserUpdateState,\r\n userSaved,\r\n disableUser,\r\n enableUser,\r\n setUserOperationState,\r\n setUserEnabled,\r\n setUserDisable,\r\n disableUserRequest,\r\n enableUserRequest,\r\n reset,\r\n setUserRequestOperationState,\r\n userRequestEnabled,\r\n userRequestDisabled,\r\n exportUsersRequest,\r\n exportUsersResponse,\r\n changeBwicAnnouncementNotificationsRequest,\r\n changeBwicAnnouncementNotifications\r\n};\r\n","import { rulesActions as actionTypes } from '../constants';\r\nimport { controlPanelActions } from './control-panel.actions';\r\n\r\nexport const rulesActions = {\r\n show,\r\n hide\r\n}\r\n\r\nfunction show(positionId, separatePanel) {\r\n return dispatch => {\r\n dispatch(controlPanelActions.hide());\r\n dispatch({ type: actionTypes.RULES_SHOW, positionId, separatePanel });\r\n };\r\n}\r\n\r\nfunction hide() {\r\n return (dispatch, getState) => {\r\n if (getState().rules.show) {\r\n dispatch({ type: actionTypes.RULES_HIDE });\r\n }\r\n };\r\n}\r\n","import { keys } from 'lodash';\r\nimport {\r\n brokerDealerBiddingActions as actionTypes,\r\n bwicStatuses\r\n} from '../constants';\r\nimport { biddingService } from '../services';\r\nimport { brokerDealerAccessState } from '../constants/bidding';\r\nimport { errorActions, bidPlacementActions } from '.';\r\nimport { createAction } from 'typesafe-actions';\r\nimport { bidConfirmationActions } from './bid-confirmation.actions';\r\nimport { priceTalksActions } from './price-talks.actions';\r\nimport { RequestState } from '../constants/request-state';\r\n\r\n\r\nconst submitBids = createAction('brokerDealerBidding/SUBMIT_CONFIRMED',\r\n resolve => (positionId, bids) => resolve({ positionId, bids })\r\n);\r\n\r\nexport const brokerDealerBiddingActions = {\r\n init,\r\n reset,\r\n sendInviteRequest,\r\n bidAll,\r\n bidSingle,\r\n submitBids\r\n}\r\n\r\nfunction init(bwic) {\r\n return async dispatch => {\r\n try {\r\n if (!bwic.isParsed) {\r\n const accessState = await biddingService.getAccessState(bwic.referenceName);\r\n dispatch(storeAccessState(accessState));\r\n }\r\n\r\n if (bwic.status === bwicStatuses.scheduled.key) {\r\n dispatch(initScheduled(bwic.securities));\r\n } else {\r\n dispatch(storeSecurities([...bwic.securities]));\r\n }\r\n\r\n dispatch(initPriceTalks(bwic.securities));\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n}\r\n\r\nfunction storeSecurities(securities) {\r\n return {\r\n type: actionTypes.BROKER_DEALER_BIDDING_STORE_SECURITIES,\r\n securities\r\n };\r\n}\r\n\r\nfunction initScheduled(securities) {\r\n return storeSecurities(securities);\r\n}\r\n\r\nfunction initPriceTalks(securities) {\r\n return dispatch =>\r\n securities\r\n .filter(s => s.pxTalks?.length)\r\n .forEach(s => dispatch(priceTalksActions.requestResult(s.id, RequestState.success, s.pxTalks)));\r\n}\r\n\r\nfunction reset() {\r\n return { type: actionTypes.BROKER_DEALER_BIDDING_RESET };\r\n}\r\n\r\nfunction storeAccessState(accessState) {\r\n return {\r\n type: actionTypes.BROKER_DEALER_ACCESS_STATE,\r\n accessState\r\n };\r\n}\r\n\r\nfunction sendInviteRequest(comment = '') {\r\n return (dispatch, getState) => {\r\n const { bwic } = getState().bidding;\r\n\r\n biddingService\r\n .requestAccess(bwic.referenceName, comment.trim())\r\n .then(() => dispatch(storeAccessState(brokerDealerAccessState.accessRequested)))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n };\r\n}\r\n\r\nfunction bidSingle(positionId) {\r\n return (dispatch, getState) => {\r\n dispatch(bidPlacementActions.validateSingle(positionId));\r\n\r\n const { securities, editBid } = getState().brokerDealerBidding;\r\n const position =\r\n securities &&\r\n securities.length &&\r\n securities.find(s => s.id === positionId);\r\n\r\n if (position && !hasBidErrors([positionId], editBid)) {\r\n dispatch(bidConfirmationActions.confirmation([position.id]));\r\n }\r\n };\r\n}\r\n\r\nfunction bidAll() {\r\n return (dispatch, getState) => {\r\n dispatch(bidPlacementActions.validate());\r\n\r\n const { securities, editBid } = getState().brokerDealerBidding;\r\n const biddingSecurities = securities\r\n .filter(s => editBid[s.id] && editBid[s.id].canSubmit)\r\n .map(s => s.id);\r\n\r\n if (!hasBidErrors(biddingSecurities, editBid)) {\r\n dispatch(bidConfirmationActions.confirmation(biddingSecurities));\r\n }\r\n };\r\n}\r\n\r\nfunction hasBidErrors(securities, editState) {\r\n return securities.some(id => {\r\n const edit = editState[id];\r\n return edit && edit.errors && keys(edit.errors).length\r\n });\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { SellerAdminTradingLimitValuesState } from '../types/seller-admin/SellerAdminTradingLimitValuesState';\r\n\r\nconst setEditModeStatus = createAction(\r\n 'sellerAdminLimit/SET_EDIT_MODE_STATUS',\r\n resolve => (status: boolean) => resolve({ status })\r\n);\r\n\r\nconst getTradeLimitsRequest = createAction('sellerAdminLimit/GET_TRADING_LIMITS_REQUEST');\r\nconst getTradeLimitsSuccess = createAction(\r\n 'sellerAdminLimit/GET_TRADING_LIMITS_SUCCESS',\r\n resolve => (limits: { currency: string, type: number, size: number | null }[]) => resolve({ limits})\r\n);\r\n\r\nconst updateTradeLimitsRequest = createAction(\r\n 'sellerAdminLimit/UPDATE_TRADE_LIMITS_REQUEST',\r\n resolve => (limits: SellerAdminTradingLimitValuesState) => resolve({ limits })\r\n);\r\nconst updateTradeLimitsSuccess = createAction('sellerAdminLimit/UPDATE_TRADE_LIMITS_SUCCESS');\r\nconst updateTradeLimitsFailure = createAction('sellerAdminLimit/UPDATE_TRADE_LIMITS_FAILURE');\r\n\r\nconst reset = createAction('sellerAdminLimit/RESET');\r\n\r\nexport const sellerAdminLimitActions = {\r\n setEditModeStatus,\r\n getTradeLimitsRequest,\r\n getTradeLimitsSuccess,\r\n updateTradeLimitsRequest,\r\n updateTradeLimitsSuccess,\r\n updateTradeLimitsFailure,\r\n reset\r\n};\r\n","import { saveAs } from 'file-saver';\r\nimport {\r\n companiesActions as actionTypes,\r\n companyColumnsExportValues,\r\n companyRoles,\r\n companyStatuses,\r\n errorMessages,\r\n routes,\r\n roles,\r\n userStatuses\r\n} from '../constants';\r\nimport { errorActions, notificationActions } from '.';\r\nimport { companiesService, locationService, salesRepresentativesService, usersService } from '../services';\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { history } from '../history';\r\nimport { logger } from '../logging/logger';\r\nimport { CompanyStatus } from '../types/company/CompanyStatus';\r\nimport { getSearchDateRange } from '../utils';\r\nimport { UserStatus } from '../types/account/UserStatus';\r\nimport { companyFilterInitialState, memberFilterInitialState } from '../reducers/companies.reducer';\r\nimport { amrPipelineService } from '../services/amr-pipeline.service';\r\nimport { isNil } from 'lodash';\r\n\r\nexport const companiesActions = {\r\n init,\r\n initCreateEditUser,\r\n reset,\r\n resetEditMember,\r\n orderCompaniesBy,\r\n orderMembersBy,\r\n approveCompany,\r\n rejectCompany,\r\n companyRejectReasonSet,\r\n companyApprovalConfirmationShow,\r\n companyApprovalConfirmationHide,\r\n companyRejectionConfirmationShow,\r\n companyRejectionConfirmationHide,\r\n companyStatusChangeConfirmation,\r\n memberStatusChangeConfirmation,\r\n resendInviteConfirmation,\r\n resetPasswordConfirmation,\r\n chnageTfaEnabledStatusConfirmation,\r\n chnageTfaEnabledStatus,\r\n resendInvite,\r\n resetPassword,\r\n changeCompanyStatus,\r\n changeMemberBlockedStatus,\r\n filterCompanies,\r\n filterMembers,\r\n showCompanyMembers,\r\n showMemberCompany,\r\n saveMember,\r\n setMemberOfacStatus,\r\n setCompanyOfacStatus,\r\n exportUsers,\r\n storeUsers,\r\n getUserLoginHistory,\r\n resetUserLoginHistory,\r\n memberSubscriptionChange,\r\n companySubscriptionChange,\r\n changeClearingBankSettings,\r\n setTempPassword,\r\n deleteUser,\r\n exportCompanies,\r\n companyPushDataReceived,\r\n applyCompanyFilters,\r\n applyMemberFilters,\r\n resetCompanyFilters,\r\n resetMemberFilters\r\n};\r\n\r\nfunction init() {\r\n return async (dispatch, getState) => {\r\n try {\r\n const companiesPromise = companiesService.getCompanies();\r\n const usersPromise = usersService.getUsers();\r\n const userRequestsPromise = usersService.getUserCreationRequests();\r\n const countriesPromise = locationService.getCountries();\r\n const salesRepresentativesPromise = salesRepresentativesService.getList();\r\n\r\n const companyList = await companiesPromise;\r\n const users = await usersPromise;\r\n const userRequests = await userRequestsPromise;\r\n const countries = await countriesPromise;\r\n const salesRepresentatives = await salesRepresentativesPromise;\r\n\r\n dispatch(storeCompanies(companyList));\r\n dispatch(storeUsers(users));\r\n dispatch(storeUserRequests(userRequests));\r\n dispatch({ type: actionTypes.COUNTRIES, countries });\r\n dispatch({ type: actionTypes.STORE_SALES_REPRESENTATIVES, salesRepresentatives });\r\n\r\n const { isInitCompleted, companyFilter, memberFilter } = getState().companies;\r\n\r\n if (isInitCompleted) {\r\n dispatch(filterCompanies(companyFilter));\r\n dispatch(filterMembers(memberFilter));\r\n } else {\r\n dispatch(initCompleted());\r\n }\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n}\r\n\r\nfunction initCreateEditUser(userId, companyId = 0) {\r\n return async (dispatch) => {\r\n try {\r\n const companiesPromise = companiesService.getCompanies();\r\n const userPromise = userId\r\n ? usersService.getUser(userId)\r\n : Promise.resolve({\r\n companyId,\r\n firstName: '',\r\n lastName: '',\r\n jobTitle: '',\r\n email: '',\r\n phone: '',\r\n roles: [],\r\n primaryContact: false,\r\n });\r\n const [companies, user] = await Promise.all([companiesPromise, userPromise]);\r\n\r\n if(!userId && companyId){\r\n const company = companies.find(c => c.id === companyId);\r\n if(company?.role === companyRoles.Media){\r\n user.roles = [roles.Media, roles.Viewer];\r\n }\r\n }\r\n\r\n dispatch(storeCompanies(companies));\r\n dispatch(setEditingUser(user))\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(updateStateEditUserInit(true));\r\n }\r\n }\r\n}\r\n\r\nfunction setEditingUser(user) {\r\n return { type: actionTypes.COMPANY_SET_EDITING_USER, payload: { user } }\r\n}\r\n\r\nfunction updateStateEditUserInit(status) {\r\n return { type: actionTypes.COMPANY_UPDATE_INIT_STATUS_EDIT_USER, payload: { status } }\r\n}\r\n\r\nfunction initCompleted() {\r\n return {\r\n type: actionTypes.INIT_COMPLETED\r\n };\r\n}\r\n\r\nfunction storeUsers(users) {\r\n return { type: actionTypes.USERS, users };\r\n}\r\n\r\nfunction storeCompanies(companies) {\r\n return {\r\n type: actionTypes.COMPANIES,\r\n companies\r\n };\r\n}\r\n\r\nfunction storeUserRequests(userRequests) {\r\n return {\r\n type: actionTypes.USER_REQUESTS,\r\n userRequests\r\n };\r\n}\r\n\r\nfunction orderCompaniesBy(column) {\r\n return (dispatch, getState) => {\r\n const { companyOrderBy } = getState().companies;\r\n\r\n let direction = 'asc';\r\n if (companyOrderBy.column === column) {\r\n direction = companyOrderBy.direction === 'asc' ? 'desc' : 'asc';\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.ORDER_BY,\r\n orderBy: { column, direction }\r\n });\r\n };\r\n}\r\n\r\nfunction orderMembersBy(column) {\r\n return (dispatch, getState) => {\r\n const { memberOrderBy } = getState().companies;\r\n\r\n let direction = 'asc';\r\n if (memberOrderBy.column === column) {\r\n direction = memberOrderBy.direction === 'asc' ? 'desc' : 'asc';\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.MEMBERS_ORDER_BY,\r\n orderBy: { column, direction }\r\n });\r\n };\r\n}\r\n\r\nfunction companyApprovalConfirmationShow(company) {\r\n return {\r\n type: actionTypes.COMPANY_APPROVAL_CONFIRMATION_SHOW,\r\n company,\r\n }\r\n}\r\n\r\nfunction companyApprovalConfirmationHide() {\r\n return {\r\n type: actionTypes.COMPANY_APPROVAL_CONFIRMATION_SHOW,\r\n }\r\n}\r\n\r\nfunction companyRejectionConfirmationShow(company) {\r\n return {\r\n type: actionTypes.COMPANY_REJECTION_CONFIRMATION_SHOW,\r\n company,\r\n }\r\n}\r\n\r\nfunction companyRejectionConfirmationHide() {\r\n return {\r\n type: actionTypes.COMPANY_REJECTION_CONFIRMATION_HIDE,\r\n }\r\n}\r\n\r\nfunction companyStatusChangeConfirmation(visible, company) {\r\n return {\r\n type: actionTypes.COMPANY_STATUS_CHANGE_CONFIRMATION,\r\n confirmation: { visible, company }\r\n };\r\n}\r\n\r\nfunction memberStatusChangeConfirmation(visible, member) {\r\n return {\r\n type: actionTypes.MEMBER_STATUS_CHANGE_CONFIRMATION,\r\n confirmation: { visible, member }\r\n };\r\n}\r\n\r\nfunction companyApproveRequest(companyId) {\r\n return {\r\n type: actionTypes.COMPANY_APPROVE_REQUEST,\r\n companyId,\r\n }\r\n}\r\n\r\nfunction companyApproveSuccess(companyId) {\r\n return {\r\n type: actionTypes.COMPANY_APPROVE_SUCCESS,\r\n companyId,\r\n }\r\n}\r\n\r\nfunction companyApproveFailure(companyId, error) {\r\n return {\r\n type: actionTypes.COMPANY_APPROVE_FAILURE,\r\n companyId,\r\n error,\r\n }\r\n}\r\n\r\nfunction companyRejectReasonSet(value) {\r\n return {\r\n type: actionTypes.COMPANY_REJECT_REASON_SET,\r\n value\r\n }\r\n}\r\n\r\nfunction approveCompany(companyId) {\r\n return (dispatch) => {\r\n dispatch(companyApproveRequest(companyId));\r\n companiesService.postCompanyApprove(companyId)\r\n .then(() => {\r\n dispatch(companyApproveSuccess(companyId));\r\n })\r\n .catch(e => {\r\n dispatch(companyApproveFailure(companyId, e));\r\n dispatch(notificationActions.notificationAddErrorMessage('Company approval failed'));\r\n })\r\n }\r\n}\r\n\r\nfunction rejectCompany(companyId) {\r\n return (dispatch, getState) => {\r\n dispatch(companyApproveRequest(companyId));\r\n companiesService.postCompanyReject(companyId, getState().companies.rejectionReason)\r\n .then(() => {\r\n dispatch(companyApproveSuccess(companyId));\r\n })\r\n .catch(e => {\r\n dispatch(companyApproveFailure(companyId, e));\r\n dispatch(notificationActions.notificationAddErrorMessage('Company rejection failed'));\r\n });\r\n }\r\n}\r\n\r\nfunction changeCompanyStatus(company, message = '') {\r\n return (dispatch) => {\r\n dispatch(companyStatusChangeConfirmation(false));\r\n\r\n const status =\r\n company.status === companyStatuses.offPlatform.statusCode ||\r\n company.status === companyStatuses.active.statusCode\r\n ? companyStatuses.blocked.statusCode : companyStatuses.active.statusCode;\r\n\r\n companiesService\r\n .changeCompanyStatus(company.id, status, message)\r\n .catch((e) => {\r\n dispatch(errorActions.unexpectedError(e))\r\n });\r\n };\r\n}\r\n\r\nfunction resendInviteConfirmation(visible, member) {\r\n return {\r\n type: actionTypes.RESEND_INVITE_CONFIRMATION,\r\n confirmation: { visible, member }\r\n };\r\n}\r\n\r\nfunction resetPasswordConfirmation(visible, member) {\r\n return {\r\n type: actionTypes.RESET_PASSWORD_CONFIRMATION,\r\n confirmation: { visible, member }\r\n };\r\n}\r\n\r\nfunction resetPassword(member) {\r\n return dispatch => {\r\n dispatch(resetPasswordConfirmation(false));\r\n\r\n usersService\r\n .resetPassword(member.id)\r\n .then(\r\n () => dispatch(notificationActions.warningModal(\r\n 'Password reset',\r\n `Password setup link has been sent to ${member.fullName()}.`)),\r\n e => dispatch(errorActions.unexpectedError(e))\r\n );\r\n };\r\n}\r\n\r\nfunction resendInvite(member) {\r\n return (dispatch, getState) => {\r\n dispatch(resendInviteConfirmation(false));\r\n\r\n usersService\r\n .resendInvite(member.id)\r\n .then(\r\n invited,\r\n e => dispatch(errorActions.unexpectedError(e))\r\n );\r\n\r\n function invited(status) {\r\n dispatch(invitedAlert(`${member.firstName} ${member.lastName}`));\r\n\r\n const users = getState().companies.users.map(u =>\r\n u.id === member.id ? { ...u, status } : u);\r\n dispatch(storeUsers(users));\r\n }\r\n };\r\n}\r\n\r\nfunction invitedAlert(name) {\r\n return dispatch => {\r\n dispatch(\r\n notificationActions.warningModal(\r\n 'Re-Send Invite',\r\n `The invitation email has been sent to ${name}.`\r\n )\r\n )\r\n };\r\n}\r\n\r\nfunction changeMemberBlockedStatus(member, message) {\r\n return (dispatch, getState) => {\r\n dispatch(memberStatusChangeConfirmation(false));\r\n\r\n if (member.status !== userStatuses.blocked.statusCode) {\r\n if (isUserPrimaryContact()) {\r\n dispatch(\r\n notificationActions.notificationAddError(\r\n 'User can\\'t be blocked', 'Primary Contact User can\\'t be blocked. Please update User information.'\r\n )\r\n );\r\n return;\r\n }\r\n\r\n Promise.all([\r\n usersService.disableUser(member.id, message).then(disabled, error),\r\n amrPipelineService.blockUserRequest(member.email, message),\r\n ]);\r\n } else {\r\n Promise.all([\r\n usersService.enableUser(member.id).then(enabled, error),\r\n amrPipelineService.unblockUserRequest(member.email),\r\n ]);\r\n }\r\n\r\n function isUserPrimaryContact() {\r\n const { users } = getState().companies;\r\n const user = users.find(u => u.id === member.id);\r\n\r\n return user && user.primaryContact;\r\n }\r\n\r\n function disabled() {\r\n const users = getState().companies.users.map(u =>\r\n u.id === member.id ? { ...u, status: userStatuses.blocked.statusCode, blockReason: message } : u);\r\n\r\n dispatch(storeUsers(users));\r\n }\r\n\r\n function enabled(user) {\r\n const users = getState().companies.users.map(u =>\r\n u.id === member.id ? { ...u, status: user.status, blockReason: '' } : u);\r\n\r\n dispatch(storeUsers(users));\r\n }\r\n\r\n function error(e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n };\r\n}\r\n\r\nfunction filterCompanies(filter) {\r\n return {\r\n type: actionTypes.COMPANY_FILTER_CHNAGED,\r\n filter\r\n };\r\n}\r\n\r\nfunction applyCompanyFilters() {\r\n return {\r\n type: actionTypes.COMPANY_FILTER_APPLY\r\n };\r\n}\r\n\r\nfunction applyMemberFilters() {\r\n return {\r\n type: actionTypes.MEMBER_FILTER_APPLY\r\n }\r\n}\r\n\r\nfunction resetCompanyFilters() {\r\n return {\r\n type: actionTypes.COMPANY_FILTER_RESET\r\n };\r\n}\r\n\r\nfunction resetMemberFilters() {\r\n return {\r\n type: actionTypes.MEMBER_FILTER_RESET\r\n }\r\n}\r\n\r\nfunction filterMembers(filter) {\r\n return {\r\n type: actionTypes.MEMBERS_FILTER_CHNAGED,\r\n filter\r\n };\r\n}\r\n\r\nfunction showCompanyMembers(company) {\r\n return (dispatch) => {\r\n const filter = {\r\n ...memberFilterInitialState,\r\n companies: [company.id]\r\n };\r\n dispatch(filterMembers(filter));\r\n dispatch(applyMemberFilters());\r\n history.replace(routes.manageCompanyMembers);\r\n }\r\n}\r\n\r\nfunction showMemberCompany(user) {\r\n return (dispatch) => {\r\n const filter = {\r\n ...companyFilterInitialState,\r\n searchTerm: user.companyName\r\n };\r\n\r\n dispatch(filterCompanies(filter));\r\n history.replace(routes.manageCompanies);\r\n }\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RESET });\r\n dispatch(errorActions.resetError());\r\n };\r\n}\r\n\r\nfunction resetEditMember() {\r\n return { type: actionTypes.RESET_EDIT_MEMBER }\r\n}\r\n\r\nfunction saveMember(user) {\r\n return async (dispatch, getState) => {\r\n const { editMember } = getState().companies;\r\n const isEdit = !!user.id;\r\n const initialUser = editMember.initialUser;\r\n const isPrimaryContactAndCompanyChanged =\r\n isEdit &&\r\n user.primaryContact &&\r\n initialUser.primaryContact &&\r\n initialUser.companyId !== user.companyId;\r\n\r\n const userToSave = {\r\n ...user,\r\n phone: user.phone == null ? user.phone : user.phone.trim(),\r\n primaryContact: !!user.primaryContact,\r\n desk: isNil(user.desk) ? null : user.desk,\r\n };\r\n\r\n if (isPrimaryContactAndCompanyChanged) {\r\n dispatch(notificationActions.notificationAddError(\r\n errorMessages.userInformationCanNotBeChanged,\r\n errorMessages.primaryContactUserCanNotBeMovedToAnotherCompany)\r\n );\r\n return;\r\n }\r\n dispatch(savingUser(true));\r\n try {\r\n await usersService.saveUser(userToSave, editMember.sendInvite);\r\n history.replace(routes.manageCompanyMembers);\r\n } catch (e) {\r\n dispatch(errorActions.error(\r\n e,\r\n errorMessages.unexpectedError,\r\n errorMessages.userInformationCanNotBeChanged)\r\n );\r\n } finally {\r\n dispatch(savingUser(false));\r\n await amrPipelineService.saveUser({\r\n firstName: userToSave.firstName,\r\n lastName: userToSave.lastName,\r\n position: userToSave.jobTitle,\r\n phoneNumber: userToSave.phone,\r\n userEmail: userToSave.email,\r\n linkedIn: userToSave.linkedIn,\r\n location: userToSave.location\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction savingUser(savingUserFlag) {\r\n return {\r\n type: actionTypes.SAVING_USER,\r\n savingUserFlag\r\n };\r\n}\r\n\r\nfunction setMemberOfacStatus(memberId, status) {\r\n return dispatch => {\r\n dispatch(setMemberOfacRequest(memberId));\r\n companiesService.setMemberOfacStatus(memberId, status)\r\n .then((res) => {\r\n if (res && Number(res.id)) {\r\n dispatch(setMemberOfacSuccess(Number(res.id), res.ofac))\r\n } else {\r\n dispatch(setMemberOfacFailure(memberId))\r\n }\r\n })\r\n .catch((e) => {\r\n dispatch(errorActions.unexpectedError(e));\r\n dispatch(setMemberOfacFailure(memberId));\r\n })\r\n }\r\n}\r\n\r\nfunction setMemberOfacRequest(memberId) {\r\n return (dispatch, getState) => {\r\n const { membersOfacRequestStatus } = getState().companies;\r\n const newStatusList = { ...membersOfacRequestStatus };\r\n newStatusList[memberId] = RequestState.request;\r\n dispatch({\r\n type: actionTypes.COMPANY_MEMBER_SET_OFAC_REQUEST,\r\n payload: { membersOfacRequestStatus: newStatusList }\r\n })\r\n }\r\n}\r\n\r\nfunction setMemberOfacSuccess(memberId, ofac) {\r\n return (dispatch, getState) => {\r\n let { users, membersOfacRequestStatus } = getState().companies;\r\n const newUsers = [...users].map((member) => {\r\n if (member.id === memberId) {\r\n member.ofac = ofac\r\n }\r\n return member\r\n });\r\n\r\n const newStatusList = { ...membersOfacRequestStatus };\r\n if (newStatusList[memberId]) delete newStatusList[memberId];\r\n\r\n dispatch({\r\n type: actionTypes.COMPANY_MEMBER_SET_OFAC_SUCCESS,\r\n payload: { membersOfacRequestStatus: newStatusList, users: newUsers }\r\n })\r\n }\r\n}\r\n\r\nfunction setMemberOfacFailure(memberId) {\r\n return (dispatch, getState) => {\r\n const { membersOfacRequestStatus } = getState().companies;\r\n const newStatusList = { ...membersOfacRequestStatus };\r\n if (newStatusList[memberId]) delete newStatusList[memberId];\r\n dispatch({\r\n type: actionTypes.COMPANY_MEMBER_SET_OFAC_FAILURE,\r\n payload: { membersOfacRequestStatus: newStatusList }\r\n })\r\n }\r\n}\r\n\r\nfunction setCompanyOfacStatus(companyId, status) {\r\n return dispatch => {\r\n dispatch(setCompanyOfacRequest(companyId));\r\n companiesService.setCompanyOfacStatus(companyId, status)\r\n .then((res) => {\r\n if (res && Number(res.id)) {\r\n dispatch(setCompanyOfacSuccess(Number(res.id), res.ofac))\r\n } else {\r\n dispatch(setCompanyOfacFailure(companyId))\r\n }\r\n })\r\n .catch(() => {\r\n dispatch(setCompanyOfacFailure(companyId))\r\n })\r\n }\r\n}\r\n\r\nfunction setCompanyOfacRequest(companyId) {\r\n return (dispatch, getState) => {\r\n const { companiesOfacRequestStatus } = getState().companies;\r\n const newStatusList = { ...companiesOfacRequestStatus };\r\n newStatusList[companyId] = RequestState.request;\r\n dispatch({\r\n type: actionTypes.COMPANY_SET_OFAC_REQUEST,\r\n payload: { companiesOfacRequestStatus: newStatusList }\r\n })\r\n }\r\n}\r\n\r\nfunction setCompanyOfacSuccess(companyId, ofac) {\r\n return (dispatch, getState) => {\r\n let { companies, companiesOfacRequestStatus } = getState().companies;\r\n const newCompanies = [...companies].map((company) => {\r\n if (company.id === companyId) {\r\n company.ofac = ofac\r\n }\r\n return company\r\n });\r\n\r\n const newStatusList = { ...companiesOfacRequestStatus };\r\n if (newStatusList[companyId]) delete newStatusList[companyId];\r\n\r\n dispatch({\r\n type: actionTypes.COMPANY_SET_OFAC_SUCCESS,\r\n payload: { companiesOfacRequestStatus: newStatusList, companies: newCompanies }\r\n })\r\n }\r\n}\r\n\r\nfunction setCompanyOfacFailure(companyId) {\r\n return (dispatch, getState) => {\r\n const { companiesOfacRequestStatus } = getState().companies;\r\n const newStatusList = { ...companiesOfacRequestStatus };\r\n if (newStatusList[companyId]) delete newStatusList[companyId];\r\n dispatch({\r\n type: actionTypes.COMPANY_SET_OFAC_FAILURE,\r\n payload: { companiesOfacRequestStatus: newStatusList }\r\n })\r\n }\r\n}\r\n\r\nfunction getFilterCriteria(filter) {\r\n\r\n const statuses = [\r\n filter.active && UserStatus.Active,\r\n filter.blocked && UserStatus.Blocked,\r\n filter.invited && UserStatus.Invited,\r\n filter.notInvited && UserStatus.NotInvited,\r\n filter.pendingApproval && 'pending-approval'\r\n ].filter(status => status);\r\n\r\n const rolesArray = [\r\n filter.administrator && roles.Administrator,\r\n filter.arrangersClient && roles.ArrangersClient,\r\n filter.brokerDealerTrader && roles.BrokerDealerTrader,\r\n filter.brokerDealerViewer && roles.BrokerDealerViewer,\r\n filter.dataEntry && roles.DataEntry,\r\n filter.sellerAdmin && roles.SellerAdministrator,\r\n filter.sellerTrader && roles.SellerTrader,\r\n filter.sellerViewer && roles.SellerViewer,\r\n filter.subscriptionManager && roles.SubscriptionManager,\r\n filter.viewer && roles.Viewer,\r\n filter.collateralManager && roles.CollateralManager,\r\n filter.media && roles.Media\r\n ].filter(status => status);\r\n\r\n const dateFilter = getSearchDateRange(filter);\r\n const regByFrom = dateFilter.dateFrom;\r\n const regByTo = dateFilter.dateTo;\r\n\r\n return {\r\n searchTerms: filter.searchTerm,\r\n statuses,\r\n roles: rolesArray,\r\n companyIds: filter.companies,\r\n regByIds: filter.regBy,\r\n regByFrom,\r\n regByTo\r\n };\r\n}\r\n\r\nfunction exportUsers() {\r\n return (dispatch, getState) => {\r\n const { exportUsersRequestState } = getState().companies;\r\n const filter = getState().companies.memberFilter;\r\n const filterOptions = getFilterCriteria(filter);\r\n\r\n if (exportUsersRequestState !== RequestState.request) {\r\n dispatch({ type: actionTypes.MANAGE_EXPORT_USERS_REQUEST });\r\n usersService.exportUsers(filterOptions)\r\n .then(file => {\r\n saveAs(file.blob, file.name || 'kopenTech_BWIC_users.xlsx');\r\n dispatch({ type: actionTypes.MANAGE_EXPORT_USERS_SUCCESS });\r\n })\r\n .catch(() => {\r\n dispatch({ type: actionTypes.MANAGE_EXPORT_USERS_FAILURE })\r\n });\r\n }\r\n }\r\n}\r\n\r\nfunction chnageTfaEnabledStatusConfirmation(visible, member) {\r\n return {\r\n type: actionTypes.TFA_STATUS_CHANGE_CONFIRMATION,\r\n confirmation: { visible, member }\r\n };\r\n}\r\n\r\nfunction chnageTfaEnabledStatus(member) {\r\n return dispatch => {\r\n dispatch(chnageTfaEnabledStatusConfirmation(false));\r\n\r\n usersService\r\n .updateTfaEnabledState(member.id, !member.tfaEnabled)\r\n .then(() => dispatch({ type: actionTypes.TFA_ENABLED_STATE_CHANGED, userId: member.id }))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n };\r\n}\r\n\r\nfunction getUserLoginHistory(user) {\r\n return dispatch => {\r\n usersService.getUserLoginHistory(user.id)\r\n .then((history) => dispatch({\r\n type: actionTypes.COMPANY_MEMBER_SET_USER_LAST_LOGIN_HISTORY,\r\n payload: { history, user }\r\n }))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n }\r\n}\r\n\r\nfunction resetUserLoginHistory() {\r\n return dispatch => dispatch({ type: actionTypes.COMPANY_MEMBER_RESET_USER_LAST_LOGIN_HISTORY })\r\n}\r\n\r\nfunction memberSubscriptionChange(userId, subscriptionType, trialPeriodEnd) {\r\n return {\r\n type: actionTypes.COMPANY_MEMBER_SUBSCRIPTION_CHANGE,\r\n userId,\r\n subscriptionType,\r\n trialPeriodEnd\r\n };\r\n}\r\n\r\nfunction companySubscriptionChange(companyId, subscriptionType, subscriptionPeriodEnd) {\r\n return {\r\n type: actionTypes.COMPANY_SUBSCRIPTION_CHANGE,\r\n companyId,\r\n subscriptionType,\r\n subscriptionPeriodEnd,\r\n };\r\n}\r\n\r\nfunction changeClearingBankSettings(companyId, isClearingBank) {\r\n return {\r\n type: actionTypes.COMPANY_SET_CLEARING_BANK,\r\n companyId,\r\n isClearingBank\r\n };\r\n}\r\n\r\nfunction deleteUser(userId) {\r\n return async (dispatch, getState) => {\r\n const user = getState().companies.users.find(u => u.id === userId);\r\n const companyUserCount = getState().companies.users.filter(u => u.companyId === user.companyId).length;\r\n try {\r\n await usersService.deleteUser(userId);\r\n dispatch({ type: actionTypes.COMPANY_MEMBER_DELETED, payload: { userId } });\r\n if(companyUserCount === 1) { // Last one deleted\r\n dispatch(resetSubscription(user.companyId));\r\n }\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n}\r\n\r\nfunction resetSubscription(companyId) {\r\n return { type: actionTypes.RESET_SUBSCRIPTION, payload: { companyId } }\r\n}\r\n\r\nfunction setTempPassword(userId) {\r\n return dispatch => {\r\n usersService.setTempPassword(userId)\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n }\r\n}\r\n\r\nfunction getUserListRequestStatus(status) {\r\n return { type: actionTypes.COMPANY_GET_USER_LIST_REQUEST_STATUS, payload: { status } }\r\n}\r\n\r\nfunction getUserList() {\r\n return async (dispatch) => {\r\n dispatch(getUserListRequestStatus(true));\r\n try {\r\n const users = await usersService.getUsers();\r\n dispatch(companiesActions.storeUsers(users));\r\n } catch (e) {\r\n logger.exception(e, 'Failed to load company users');\r\n } finally {\r\n dispatch(getUserListRequestStatus(false));\r\n }\r\n }\r\n}\r\n\r\nfunction companyPushDataReceived(company) {\r\n return async (dispatch, getState) => {\r\n const { companies } = getState().companies;\r\n const targetCompany = companies.find(c => c.id === company.id);\r\n\r\n if (targetCompany && (targetCompany.status !== company.status || targetCompany.role !== company.role)) {\r\n dispatch(getUserList());\r\n }\r\n dispatch({ type: actionTypes.COMPANY_PUSH_DATA_RECEIVED, payload: { company } })\r\n }\r\n}\r\n\r\nfunction exportCompanies() {\r\n return async (dispatch, getState) => {\r\n dispatch(setIsRequestingExportCompany(true))\r\n try {\r\n const filter = getState().companies.companyFilter;\r\n const order = getState().companies.companyOrderBy;\r\n\r\n const searchTerm = filter.searchTerm;\r\n const regByIds = filter.regBy;\r\n const status = [\r\n filter.active && CompanyStatus.active,\r\n filter.blocked && CompanyStatus.blocked,\r\n filter.offPlatform && CompanyStatus.offPlatform\r\n ].filter(status => status);\r\n\r\n const role = [\r\n filter.administrator && companyRoles.Administrator,\r\n filter.brokerDealer && companyRoles.BrokerDealer,\r\n filter.seller && companyRoles.Seller,\r\n filter.viewer && companyRoles.Viewer,\r\n filter.media && companyRoles.Media\r\n ].filter(status => status);\r\n\r\n const dateFilter = getSearchDateRange(filter);\r\n const regByFrom = dateFilter.dateFrom;\r\n const regByTo = dateFilter.dateTo;\r\n const salesRepresentative = filter.salesRepresentatives;\r\n\r\n const orderBy = order.direction;\r\n const orderByColumn = companyColumnsExportValues[order.column];\r\n\r\n const file = await companiesService.exportCompanies(searchTerm, status, role, regByFrom, regByTo, salesRepresentative, regByIds, orderByColumn, orderBy)\r\n\r\n saveAs(file.blob, file.name);\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e))\r\n } finally {\r\n dispatch(setIsRequestingExportCompany(false))\r\n }\r\n }\r\n}\r\n\r\nfunction setIsRequestingExportCompany(status) {\r\n return { type: actionTypes.MANAGE_SET_REQUEST_STATE_EXPORT_COMPANIES, payload: { status } }\r\n}\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../../constants/request-state';\r\nimport { Company } from '../../types/amr-pipeline/models/Company';\r\n\r\nconst request = createAction('entities/trustee/REQUEST');\r\nconst requestResult = createAction('entities/trustee/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, trustee: Company[] = []) =>\r\n resolve({ requestState, trustee })\r\n);\r\n\r\nexport type TTrusteeActionType = ActionType<\r\n typeof trusteeActions[keyof typeof trusteeActions]\r\n>;\r\n\r\nexport const trusteeActions = {\r\n request,\r\n requestResult\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\n\r\nconst fetchFavoriteBrokerDealersRequest = createAction(\r\n 'favoriteBd/FETCH_REQUEST'\r\n);\r\n\r\nconst fetchFavoriteBrokerDealersSuccess = createAction(\r\n 'favoriteBd/FETCH_SUCCESS',\r\n resolve => (favorites: {[key: number]: boolean}) => resolve({ favorites })\r\n);\r\n\r\nconst fetchFavoriteBrokerDealersFailure = createAction(\r\n 'favoriteBd/FETCH_FAILURE'\r\n);\r\n\r\nconst updateFavoriteBrokerDealerRequest = createAction(\r\n 'favoriteBd/UPDATE_REQUEST',\r\n resolve => (dealerId: number, isFavorite: boolean) => resolve({ dealerId, isFavorite })\r\n);\r\n\r\nconst updateFavoriteBrokerDealerSuccess = createAction(\r\n 'favoriteBd/UPDATE_SUCCESS',\r\n resolve => (favorites: number[], dealerId: number) => resolve({ favorites, dealerId })\r\n);\r\n\r\nconst updateFavoriteBrokerDealerFailure = createAction(\r\n 'favoriteBd/UPDATE_FAILURE',\r\n resolve => (dealerId: number) => resolve({ dealerId })\r\n);\r\n\r\nconst reset = createAction('favoriteBd/RESET');\r\n\r\nexport const favoriteBrokerDealersActions = {\r\n fetchFavoriteBrokerDealersRequest,\r\n fetchFavoriteBrokerDealersSuccess,\r\n fetchFavoriteBrokerDealersFailure,\r\n updateFavoriteBrokerDealerRequest,\r\n updateFavoriteBrokerDealerSuccess,\r\n updateFavoriteBrokerDealerFailure,\r\n reset,\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { DateFilterOption } from '../types/filters/DateFilterOption';\r\nimport { DateRange } from '../types/filters/DateRange';\r\n\r\nconst toogleFilterRegBy = createAction('manage-members/MEMBER_FILTER_TOOGLE_REG_BY',\r\n resolve => (regBy: number[]) => resolve({ regBy })\r\n)\r\n\r\nconst setFilterRegBy = createAction('manage-members/MEMBER_FILTER_SET_REG_BY',\r\n resolve => (regBy: number[]) => resolve({ regBy })\r\n)\r\n\r\nconst toogleFilterCompanies = createAction('manage-members/MEMBER_FILTER_TOOGLE_COMPANIES',\r\n resolve => (companies: number[]) => resolve({ companies })\r\n)\r\n\r\nconst setFilterCompanies = createAction('manage-members/MEMBER_FILTER_SET_COMPANIES',\r\n resolve => (companies: number[]) => resolve({ companies })\r\n)\r\n\r\nconst toogleFilterStatusActive = createAction('manage-members/MEMBER_FILTER_TOOGLE_STATUS_ACTIVE');\r\nconst toogleFilterStatusBlocked = createAction('manage-members/MEMBER_FILTER_TOOGLE_STATUS_BLOCKED');\r\nconst toogleFilterStatusInvited = createAction('manage-members/MEMBER_FILTER_TOOGLE_STATUS_INVITED');\r\nconst toogleFilterStatusNotInvited = createAction('manage-members/MEMBER_FILTER_TOOGLE_STATUS_NOT_INVITED');\r\nconst toogleFilterStatusPendingApproval = createAction('manage-members/MEMBER_FILTER_TOOGLE_STATUS_PENDING_APPROVAL');\r\n\r\nconst toogleFilterRoleAdministrator = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_ADMINISTRATOR');\r\nconst toggleFilterRoleArrangersClient = createAction('manage-members/MEMBER_FILTER_TOGGLE_ROLE_ARRANGERSCLIENT')\r\nconst toogleFilterRoleBrokerDealerTrader = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_BROKER_DEALER_TRADER');\r\nconst toogleFilterRoleBrokerDealerViewer = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_BROKER_DEALER_VIEWER');\r\nconst toogleFilterRolesDataEntry = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_DATA_ENTRY')\r\nconst toogleFilterRoleSellerAdministrator = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_SELLER_AMINISTARTOR');\r\nconst toogleFilterRoleSellerTrader = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_SELLER_TRADER');\r\nconst toogleFilterRoleSellerViewer = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_SELLER_VIEWER');\r\nconst toogleFilterRolesSubscriptionManager = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_SUBSCRIPTION_MANAGER')\r\nconst toogleFilterRoleViewer = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_VIEWER');\r\nconst toogleFilterCollateralManager = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_COLLATERAL_MANAGER');\r\nconst toogleFilterRoleMedia = createAction('manage-members/MEMBER_FILTER_TOOGLE_ROLE_MEDIA');\r\n\r\nconst setDateFilterChange = createAction('manage-members/MEMBER_FILTER_DATE_CHANGED',\r\n resolve => (dateOption: DateFilterOption) => resolve({ dateOption })\r\n)\r\n\r\nconst setDateFilterRangeChange = createAction('manage-members/MEMBER_FILTER_DATE_RANGE_CHANGED',\r\n resolve => (dateRange: DateRange) => resolve({ dateRange })\r\n)\r\n\r\nexport const manageMembersFiltersActions = {\r\n toogleFilterRegBy,\r\n setFilterRegBy,\r\n toogleFilterCompanies,\r\n setFilterCompanies,\r\n toogleFilterStatusActive,\r\n toogleFilterStatusBlocked,\r\n toogleFilterStatusInvited,\r\n toogleFilterStatusNotInvited,\r\n toogleFilterStatusPendingApproval,\r\n toogleFilterRoleAdministrator,\r\n toggleFilterRoleArrangersClient,\r\n toogleFilterRoleBrokerDealerTrader,\r\n toogleFilterRoleBrokerDealerViewer,\r\n toogleFilterRolesDataEntry,\r\n toogleFilterRoleSellerAdministrator,\r\n toogleFilterRoleSellerTrader,\r\n toogleFilterRoleSellerViewer,\r\n toogleFilterRolesSubscriptionManager,\r\n toogleFilterRoleViewer,\r\n toogleFilterCollateralManager,\r\n toogleFilterRoleMedia,\r\n setDateFilterChange,\r\n setDateFilterRangeChange\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport moment from 'moment';\r\nimport { NotificationType } from '../types/notifications/NotificationType';\r\nimport { Notification } from '../types/notifications/Notification';\r\nimport { NotificationAttributes } from '../types/notifications/NotificationAttributes';\r\nimport { StatusMessageSectionType } from '../types/state/NotificationState';\r\nimport { ModalNotification } from '../types/notifications/ModalNotification';\r\n\r\nconst notificationReset = createAction('notification/RESET');\r\nconst notificationPushReceived = createAction('notification/PUSH_RECEIVED',\r\n resolve => (notification: Notification) => resolve({ notification, type: NotificationType.PushNotification })\r\n);\r\nconst notificationAddInfo = createAction('notification/ADD_INFO',\r\n resolve => (title: string, message: string, date: Date | null = null) => resolve({\r\n notification: createNotificationModel(\r\n uuidv4(),\r\n false,\r\n title || '',\r\n message || '',\r\n date || moment.utc().toDate(),\r\n ),\r\n type: NotificationType.Info\r\n })\r\n);\r\nconst notificationAddInfoMessage = createAction('notification/ADD_INFO_MESSAGE',\r\n resolve => (message: string) => resolve({\r\n notification: createNotificationModel(\r\n uuidv4(),\r\n false,\r\n 'Notification',\r\n message || '',\r\n moment.utc().toDate(),\r\n ),\r\n type: NotificationType.Info\r\n })\r\n);\r\nconst notificationAddError = createAction('notification/ADD_ERROR',\r\n resolve => (title: string, message: string, date: Date) => resolve({\r\n notification: createNotificationModel(\r\n uuidv4(),\r\n false,\r\n title,\r\n message || '',\r\n date || moment.utc().toDate(),\r\n ),\r\n type: NotificationType.Error\r\n })\r\n);\r\nconst notificationAddErrorMessage = createAction('notification/ADD_ERROR_MESSAGE',\r\n resolve => (message: string, title?: string) => resolve({\r\n notification: createNotificationModel(\r\n uuidv4(),\r\n false,\r\n title || 'Error',\r\n message || '',\r\n moment.utc().toDate(),\r\n ),\r\n type: NotificationType.Error\r\n })\r\n);\r\nconst notificationAddErrorMessageModal = createAction('notification/ADD_ERROR_MESSAGE_MODAL',\r\n resolve => (message: string, title: string, refreshButtonVisible?: boolean) =>\r\n resolve({ notification: createModalNotificationModel(title, message, StatusMessageSectionType.Error, refreshButtonVisible, undefined, undefined, undefined) })\r\n);\r\nconst infoModal = createAction('notification/INFO_MODAL',\r\n resolve => (message: string, title: string, blinkBrowserTabText?: string[], popupClassName?: string) =>\r\n resolve({ notification: createModalNotificationModel(title, message, StatusMessageSectionType.Info, false, blinkBrowserTabText, popupClassName) })\r\n);\r\nconst infoModalReplace = createAction('notification/INFO_MODAL',\r\n resolve => (modalKey: string, message: string, title: string, blinkBrowserTabText?: string[], popupClassName?: string) =>\r\n resolve({ notification: createModalNotificationModel(title, message, StatusMessageSectionType.Info, false, blinkBrowserTabText, popupClassName, modalKey) })\r\n);\r\nconst warningModal = createAction('notification/WARN_MODAL',\r\n resolve => (title: string, message: string) =>\r\n resolve({ notification: createModalNotificationModel(title, message, StatusMessageSectionType.Alert) })\r\n);\r\nconst notificationListHideToast = createAction('notification/LIST_REMOVE_ITEM',\r\n resolve => (referenceName: string) => resolve({ referenceName })\r\n);\r\nconst notificationListRemoveModalItem = createAction('notification/LIST_REMOVE_MODAL_ITEM',\r\n resolve => (index: number) => resolve({ index })\r\n);\r\nconst notificationListToastExpired = createAction('notification/LIST_SHIFT',\r\n resolve => (referenceName: string) => resolve({ referenceName })\r\n);\r\nconst modalNotificationListReset = createAction('notification/RESET_MODAL');\r\nconst notificationServiceConnect = createAction('notification/SERVICE_CONNECT');\r\nconst notificationServiceConnected = createAction('notification/SERVICE_CONNECTED');\r\nconst notificationServiceDisconnected = createAction('notification/SERVICE_DISCONNECTED');\r\nconst notificationServiceReconnecting = createAction('notification/SERVICE_RECONNECTING');\r\nconst notificationServiceReconnected = createAction('notification/SERVICE_RECONNECTED');\r\nconst notificationGetList = createAction('notification/GET_LIST');\r\nconst appendNotifications = createAction('notification/SET_LIST',\r\n resolve =>\r\n (notificationList: Notification[], notificationAttributes: NotificationAttributes) =>\r\n resolve({ notificationList, notificationAttributes })\r\n);\r\nconst notificationGetListFailure = createAction('notification/GET_LIST_FAILURE');\r\nconst notificationsGetCountUnread = createAction('notification/GET_COUNT_UNREAD');\r\nconst notificationsGetCountUnreadFailure = createAction('notification/GET_COUNT_UNREAD_FAILURE');\r\nconst notificationsSetCountUnread = createAction('notification/SET_COUNT_UNREAD',\r\n resolve => (count: number) => resolve({ count })\r\n);\r\nconst notificationSetReadRequest = createAction('notification/SET_READ_REQUEST',\r\n resolve => (referenceName: string) => resolve({ referenceName })\r\n);\r\nconst notificationSetReadSuccess = createAction('notification/SET_READ_SUCCESS',\r\n resolve => (referenceName: string) => resolve({ referenceName })\r\n);\r\nconst notificationSetReadFailure = createAction('notification/SET_READ_SUCCESS',\r\n resolve => (referenceName: string) => resolve({ referenceName })\r\n);\r\nconst notificationsReadAllRequest = createAction('notification/READ_ALL_REQUEST');\r\nconst notificationsReadAllSuccess = createAction('notification/READ_ALL_SUCCESS');\r\nconst notificationsReadAllFailure = createAction('notification/READ_ALL_FAILURE');\r\nconst notificationRead = createAction('notification/PUSH_READ',\r\n resolve => (referenceName: string) => resolve({ referenceName })\r\n);\r\nconst notificationReadAll = createAction('notification/PUSH_READ_ALL');\r\n\r\nexport const notificationActions = {\r\n notificationReset,\r\n notificationPushReceived,\r\n notificationRead,\r\n notificationReadAll,\r\n notificationAddInfo,\r\n notificationAddInfoMessage,\r\n notificationAddError,\r\n notificationAddErrorMessage,\r\n notificationAddErrorMessageModal,\r\n infoModal,\r\n infoModalReplace,\r\n warningModal,\r\n notificationListHideToast,\r\n notificationListRemoveModalItem,\r\n notificationListToastExpired,\r\n modalNotificationListReset,\r\n notificationServiceConnect,\r\n notificationServiceConnected,\r\n notificationServiceDisconnected,\r\n notificationServiceReconnecting,\r\n notificationServiceReconnected,\r\n notificationGetList,\r\n appendNotifications,\r\n notificationGetListFailure,\r\n notificationsGetCountUnread,\r\n notificationsGetCountUnreadFailure,\r\n notificationsSetCountUnread,\r\n notificationSetReadRequest,\r\n notificationSetReadSuccess,\r\n notificationSetReadFailure,\r\n notificationsReadAllRequest,\r\n notificationsReadAllSuccess,\r\n notificationsReadAllFailure\r\n};\r\n\r\nconst createNotificationModel = (\r\n referenceName: string,\r\n isReadByUser: boolean,\r\n subject: string,\r\n message: string,\r\n sentDateUtc: Date,\r\n): Notification => (\r\n { isReadByUser, subject, message, sentDateUtc, referenceName }\r\n);\r\n\r\nconst createModalNotificationModel = (\r\n title: string,\r\n message: string,\r\n type: StatusMessageSectionType = StatusMessageSectionType.Error,\r\n refreshButtonVisible: boolean = false,\r\n blinkBrowserTabText?: string[],\r\n popupClassName?: string,\r\n modalKey?: string\r\n\r\n): ModalNotification => ({\r\n title,\r\n message,\r\n type,\r\n refreshButtonVisible,\r\n blinkBrowserTabText,\r\n popupClassName,\r\n modalKey\r\n})","import { createAction } from 'typesafe-actions';\r\nimport { BrokerDealerCompanySlim } from '../types/company/BrokerDealerCompanySlim';\r\n\r\nconst setEditModeStatus = createAction(\r\n 'sellerAdminDealers/SET_EDIT_MODE_STATUS',\r\n resolve => (status: boolean) => resolve({ status })\r\n);\r\nconst getExcludedDealersRequest = createAction('sellerAdminDealers/GET_EXCLUDED_REQUEST');\r\nconst getExcludedDealersSuccess = createAction(\r\n 'sellerAdminDealers/GET_EXCLUDED_SUCCESS',\r\n resolve => (excludeNewCompany: boolean, dealers: BrokerDealerCompanySlim[]) => resolve({ excludeNewCompany, dealers })\r\n);\r\nconst getExcludedDealersFailure = createAction('sellerAdminDealers/GET_EXCLUDED_FAILURE');\r\n\r\nconst saveExcludedDealersRequest = createAction(\r\n 'sellerAdminDealers/SAVE_EXCLUDED_REQUEST',\r\n resolve => (dealerIds: number[], excludeNewCompany: boolean) => resolve({ dealerIds, excludeNewCompany })\r\n);\r\nconst saveExcludedDealersSuccess = createAction('sellerAdminDealers/SAVE_EXCLUDED_SUCCESS');\r\nconst saveExcludedDealersFailure = createAction('sellerAdminDealers/SAVE_EXCLUDED_FAILURE');\r\nconst reset = createAction('sellerAdminDealers/RESET');\r\n\r\nexport const sellerAdminDealerActions = {\r\n setEditModeStatus,\r\n getExcludedDealersRequest,\r\n getExcludedDealersSuccess,\r\n getExcludedDealersFailure,\r\n saveExcludedDealersRequest,\r\n saveExcludedDealersSuccess,\r\n saveExcludedDealersFailure,\r\n reset\r\n};\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { DateFilterOption } from '../types/filters/DateFilterOption';\r\nimport { DateRange } from '../types/filters/DateRange';\r\nimport { AccessToken, AccessTokenApi } from '../types/management/AccessToken';\r\nimport { Company } from '../types/management/Company';\r\n\r\nconst requestTokens = createAction('manageToken/REQUEST_TOKENS');\r\nconst storeTokens = createAction('manageToken/GET_TOKENS',\r\n resolve => (tokens: AccessToken[]) => resolve({ tokens })\r\n);\r\nconst requestCompanies = createAction('manageToken/REQUEST_COMPANIES');\r\nconst storeCompanies = createAction('manageToken/COMPANIESS',\r\n resolve => (companies: Company[]) => resolve({ companies })\r\n);\r\nconst setSearchTerm = createAction('manageToken/SET_SEARCH_TERM',\r\n resolve => (searchTerm: string) => resolve({ searchTerm })\r\n);\r\nconst setTokenRequestStatus = createAction('manageToken/TOKENS_REQUEST_STATUS',\r\n resolve => (requestStatus: RequestState) => resolve({ requestStatus })\r\n);\r\nconst setCompanyRequestStatus = createAction('manageToken/COMPANIES_REQUEST_STATUS',\r\n resolve => (requestStatus: RequestState) => resolve({ requestStatus })\r\n);\r\nconst setGenerateRequestStatus = createAction('manageToken/GENERATE_REQUEST_STATUS',\r\n resolve => (requestStatus: RequestState) => resolve({ requestStatus })\r\n);\r\nconst setUpdateTokenRequestStatus = createAction('manageToken/UPDATE_REQUEST_STATUS',\r\n resolve => (requestStatus: RequestState) => resolve({ requestStatus })\r\n);\r\nconst storeGeneratedToken = createAction('manageToken/STORE_GENERATED_TOKEN',\r\n resolve => (token?: AccessToken) => resolve({ token })\r\n);\r\nconst generate = createAction('manageToken/GENERATE',\r\n resolve => (companyId: number, apis: AccessTokenApi[]) => resolve({ companyId, apis })\r\n);\r\nconst update = createAction('manageToken/UPDATE',\r\n resolve => (tokenId: number, companyId: number, apis: AccessTokenApi[]) => resolve({ tokenId, companyId, apis })\r\n);\r\nconst tokenUpdated = createAction('manageToken/UPDATED',\r\n resolve => (token: AccessToken) => resolve({ token })\r\n);\r\nconst revoke = createAction('manageToken/REVOKE', resolve => (tokenId: number) => resolve({ tokenId }));\r\nconst tokenRevoked = createAction('manageToken/REVOKED', resolve => (tokenId: number) => resolve({ tokenId }));\r\nconst setRevokeTokenRequestStatus = createAction(\r\n 'manageToken/SER_REVOKE_TOKEN_REQUEST_STATUS',\r\n resolve => (tokenId: number, status: RequestState) => resolve({tokenId, status})\r\n);\r\nconst toogleFilterStatusActive = createAction('manageToken/filter/TOOGLE_STATUS_ACTIVE');\r\nconst toogleFilterStatusExpired = createAction('manageToken/filter/TOOGLE_STATUS_EXPIRED');\r\nconst toogleFilterStatusRevoked = createAction('manageToken/filter/TOOGLE_STATUS_REVOKED');\r\nconst toogleFilterApiBlotterApiReader = createAction('manageToken/filter/TOOGLE_API_BLOTTER');\r\nconst toogleFilterApiBwicMonitorApiReader = createAction('manageToken/filter/TOOGLE_API_BWIC_MONITOR');\r\nconst toogleFilterApiIssuanceMonitorApiReader = createAction('manageToken/filter/TOOGLE_API_ISSUANCE_MONITOR');\r\nconst toogleFilterApiPortfolioApi = createAction('manageToken/filter/TOOGLE_API_PORTFOLIO');\r\nconst toogleFilterApiEvalApiReader = createAction('manageToken/filter/TOOGLE_API_EVAL');\r\nconst toogleFilterApiDashboardApiReader = createAction('manageToken/filter/TOOGLE_API_DASHBOARD');\r\nconst toogleFilterCompanies = createAction('manageToken/filter/_TOOGLE_COMPANIES',\r\n resolve => (companies: number[]) => resolve({ companies })\r\n);\r\nconst setFilterCompanies = createAction('manageToken/filter/SET_COMPANIES',\r\n resolve => (companies: number[]) => resolve({ companies })\r\n);\r\nconst setDateFilterChange = createAction('manageToken/filter/DATE_CHANGED',\r\n resolve => (dateOption: DateFilterOption) => resolve({ dateOption })\r\n);\r\nconst setDateFilterRangeChange = createAction('manageToken/filter/DATE_RANGE_CHANGED',\r\n resolve => (dateRange: DateRange) => resolve({ dateRange })\r\n);\r\nconst resetTokenFilters = createAction('manageToken/filter/RESET');\r\nconst applyTokenFilters = createAction('manageToken/filter/APPLY');\r\n\r\nconst reset = createAction('manageToken/RESET');\r\n\r\nexport type ManageTokenActionsType = ActionType\r\n\r\nexport const manageTokenActions = {\r\n storeTokens,\r\n toogleFilterStatusActive,\r\n toogleFilterStatusExpired,\r\n toogleFilterStatusRevoked,\r\n toogleFilterApiBlotterApiReader,\r\n toogleFilterApiBwicMonitorApiReader,\r\n toogleFilterApiIssuanceMonitorApiReader,\r\n toogleFilterApiPortfolioApi,\r\n toogleFilterApiEvalApiReader,\r\n toogleFilterApiDashboardApiReader,\r\n applyTokenFilters,\r\n resetTokenFilters,\r\n setSearchTerm,\r\n toogleFilterCompanies,\r\n setFilterCompanies,\r\n setDateFilterChange,\r\n setDateFilterRangeChange,\r\n setTokenRequestStatus,\r\n requestTokens,\r\n requestCompanies,\r\n storeCompanies,\r\n setCompanyRequestStatus,\r\n generate,\r\n update,\r\n tokenUpdated,\r\n revoke,\r\n tokenRevoked,\r\n setRevokeTokenRequestStatus,\r\n setGenerateRequestStatus,\r\n storeGeneratedToken,\r\n setUpdateTokenRequestStatus,\r\n reset\r\n}\r\n","import { ActionType, createAction } from \"typesafe-actions\"\r\nimport { RequestState } from \"../../constants/request-state\";\r\nimport { ArrangerPipeline } from \"../../types/amr-pipeline/models/ArrangerPipeline\";\r\n\r\nconst request = createAction('entities/arrangersPipeline/REQUEST',\r\n resolve => (tickers: string[]) => resolve({ tickers })\r\n);\r\nconst response = createAction('entities/arrangersPipeline/RESPONSE',\r\n resolve => (requestState: RequestState, pipeline: ArrangerPipeline[] = []) =>\r\n resolve({ requestState, pipeline })\r\n);\r\nconst reset = createAction('entities/arrangersPipeline/RESET');\r\n\r\nexport const arrangersPipelineActions = {\r\n request,\r\n response,\r\n reset\r\n}\r\n\r\nexport type TArrangersPipelineActionType =\r\n ActionType\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { BwicPosition } from \"../types/bwic/BwicPosition\";\r\nimport { CompanySlim } from \"../types/company/CompanySlim\";\r\nimport { TimeSpan } from \"../types/primitives/TimeSpan\";\r\nimport { BlastMessageRecipientLevelState, BlastMessageRecipientsState } from \"../types/state/BlastMessageState\";\r\n\r\nconst show = createAction('blastMessage/SHOW_PANEL');\r\nconst hide = createAction('blastMessage/HIDE_PANEL');\r\nconst messageTypeChange = createAction('blastMessage/MESSAGE_TYPE_CHANGE',\r\n resolve => (messageType: number) => resolve({ messageType })\r\n);\r\nconst recipientLevelChange = createAction('blastMessage/RECIPIENT_LEVEL_CHANGE',\r\n resolve => (recipientLevel: BlastMessageRecipientLevelState) => resolve({ recipientLevel })\r\n);\r\n\r\nconst editMinutesAboutToEnd = createAction('blastMessage/EDIT_MINUTES_ABOUT_TO_END',\r\n resolve => (stage1AboutToEndTimeout: TimeSpan) => resolve({ stage1AboutToEndTimeout })\r\n);\r\n\r\nconst setError = createAction('blastMessage/SET_ERROR',\r\n resolve => (error: string) => resolve({ error })\r\n);\r\nconst storeRecipients = createAction('blastMessage/STORE_RECIPIENTS',\r\n resolve => (recipients: BlastMessageRecipientsState) => resolve({ recipients })\r\n);\r\nconst recipientSelectedChange = createAction('blastMessage/RECIPIENT_SELECTED_CHANGE',\r\n resolve => (companyIdentifier: string) => resolve({ companyIdentifier })\r\n);\r\nconst send = createAction('blastMessage/SEND',\r\n resolve => (\r\n blastMessageRecipients: BlastMessageRecipientsState,\r\n bwicParticipants: CompanySlim[],\r\n securities: BwicPosition[],\r\n ) => resolve({ blastMessageRecipients, bwicParticipants, securities })\r\n);\r\nconst sending = createAction('blastMessage/SEND_STATE',\r\n resolve => (isSending: boolean) => resolve({ isSending })\r\n);\r\nconst selectAllRecipientsChange = createAction('blastMessage/SELECT_ALL_RECIPIENTS',\r\n resolve => (isSelectAllRecipients: boolean) => resolve({ isSelectAllRecipients })\r\n);\r\nconst toggleSelectAllParticipantsFlag = createAction('blastMessage/TPGGLE_SELECT_ALL_FLAG');\r\n\r\nexport const blastMessageActions = {\r\n show,\r\n hide,\r\n messageTypeChange,\r\n recipientLevelChange,\r\n storeRecipients,\r\n recipientSelectedChange,\r\n send,\r\n sending,\r\n selectAllRecipientsChange,\r\n toggleSelectAllParticipantsFlag,\r\n editMinutesAboutToEnd,\r\n setError\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\n\r\nconst confirmRequest = createAction(\r\n 'directBiddingDisclaimer/CONFIRM_REQUEST',\r\n resolve => (onConfirm?: () => void) => resolve({ onConfirm })\r\n);\r\nconst confirmSuccess = createAction('directBiddingDisclaimer/CONFIRM_SUCCESS');\r\nconst confirmFailure = createAction('directBiddingDisclaimer/CONFIRM_FAILURE');\r\n\r\nconst downloadPdfRequest = createAction('directBiddingDisclaimer/DOWNLOAD_PDF_REQUEST');\r\nconst downloadPdfSuccess = createAction('directBiddingDisclaimer/DOWNLOAD_PDF_SUCCESS');\r\nconst downloadPdfFailure = createAction('directBiddingDisclaimer/DOWNLOAD_PDF_FAILURE');\r\n\r\nconst show = createAction(\r\n 'directBiddingDisclaimer/SHOW',\r\n resolve => (blockerId: string) => resolve({ blockerId })\r\n);\r\nconst hide = createAction(\r\n 'directBiddingDisclaimer/HIDE',\r\n resolve => (confirmed: boolean) => resolve({ confirmed })\r\n);\r\n\r\nconst reset = createAction('directBiddingDisclaimer/RESET');\r\n\r\nexport const directBiddingDisclaimerActions = {\r\n show,\r\n hide,\r\n confirmRequest,\r\n confirmSuccess,\r\n confirmFailure,\r\n downloadPdfRequest,\r\n downloadPdfSuccess,\r\n downloadPdfFailure,\r\n reset\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { SettlementAgentClientAgreement } from '../types/bid-as-dealer/SettlementAgentClientAgreement';\r\nimport { SettlementAgentAgreement } from '../types/bid-as-dealer/SettlementAgentAgreement';\r\nimport { BidRequest } from '../types/bid-as-dealer/BidRequest';\r\n\r\nconst settlementAgentAgreementPushReceived = createAction(\r\n 'push/settlement-agent-agreement/AGREEMENT_DATA_RECEIVED',\r\n resolve => (data: SettlementAgentClientAgreement | SettlementAgentAgreement) => resolve({data})\r\n);\r\n\r\nconst settlementAgentRequestPushReceived = createAction(\r\n 'push/settlement-agent-agreement/REQUEST_DATA_RECEIVED',\r\n resolve => (data: BidRequest) => resolve({ data })\r\n);\r\n\r\n\r\nexport const settlementAgentAgeementPushActions = {\r\n settlementAgentAgreementPushReceived,\r\n settlementAgentRequestPushReceived\r\n};\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { CloManager } from '../types/clo-managers/CloManager';\r\nimport { CloManagerDetailed } from '../types/clo-managers/CloManagerDetailed';\r\nimport { CloManagerSave } from '../types/clo-managers/CloManagerSave';\r\nimport { CloManagerAccessType } from '../types/amr-pipeline/enums/CloManagerAccessType';\r\nimport { CloManagerAnalytics } from '../types/clo-managers/CloManagerAnalytics';\r\nimport { InvestmentTeamMember } from '../types/amr-pipeline/models/InvestmentTeamMember';\r\nimport { CloManagerAnalyticsFilter } from '../types/analytics/AnalyticsFilter';\r\nimport { TreeSelectOption } from '../components/controls/TreeSelect';\r\nimport { CloManagerClientActivity, CloManagerProfileView } from '../types/amr-pipeline/models/CloManagerSession';\r\nimport { DealSecurity } from '../types/security/DealSecurityStatistics';\r\n\r\nconst getCloManagers = createAction(\r\n 'cloManagers/get/REQUEST',\r\n resolve => (companyReferenceName?: string) => resolve({ companyReferenceName })\r\n);\r\n\r\nconst getCloManagersResult = createAction('cloManagers/get/REQUEST_RESULT',\r\n resolve => (cloManagers: CloManager[]) => resolve({ cloManagers })\r\n);\r\n\r\nconst getCloManager = createAction(\r\n 'cloManagers/getOne/REQUEST',\r\n resolve => (referenceName: string) => resolve({ referenceName }),\r\n);\r\n\r\nconst getCloManagerResult = createAction(\r\n 'cloManagers/getOne/REQUEST_RESULT',\r\n resolve => (\r\n referenceName: string,\r\n cloManager: CloManagerDetailed,\r\n bwicCloManagers: InvestmentTeamMember[],\r\n ) => resolve({\r\n referenceName,\r\n cloManager,\r\n bwicCloManagers,\r\n }),\r\n);\r\n\r\nconst createOrUpdateCloManager = createAction(\r\n 'cloManagers/createOrUpdate/REQUEST',\r\n resolve => (referenceName: string, cloManager: CloManagerSave) => resolve({ referenceName, cloManager }),\r\n);\r\n\r\nconst setCloManagerSaveState = createAction(\r\n 'cloManagers/createOrUpdate/STATE',\r\n resolve => (isUpdating: boolean) => resolve({ isUpdating }),\r\n);\r\n\r\nconst logUserActivity = createAction(\r\n 'cloManagers/logUserActivity/REQUEST',\r\n resolve => (companyReferenceName: string, accessType: CloManagerAccessType) =>\r\n resolve({ companyReferenceName, accessType })\r\n);\r\n\r\nconst switchFavoriteRequest = createAction(\r\n 'cloManagers/favorite/REQUEST',\r\n resolve => (companyReferenceName: string, favorite: boolean) => resolve({ companyReferenceName, favorite })\r\n);\r\n\r\nconst switchFavoriteResponse = createAction(\r\n 'cloManagers/favorite/RESPONSE',\r\n resolve => (companyReferenceName: string, favorite: boolean) => resolve({ companyReferenceName, favorite })\r\n);\r\n\r\nconst analyticsInit = createAction(\r\n 'cloManagers/analytics/INIT',\r\n (resolve) => (companyReferenceName: string) => resolve({ companyReferenceName })\r\n);\r\n\r\nconst analyticsInitResponse = createAction(\r\n 'cloManagers/analytics/INIT/RESPONSE',\r\n (resolve) =>\r\n (data: {\r\n users: TreeSelectOption[];\r\n analytics: CloManagerAnalytics;\r\n numberOfHiddenItems: number;\r\n }) =>\r\n resolve(data)\r\n);\r\n\r\nconst analyticsReset = createAction('cloManagers/analytics/RESET');\r\n\r\nconst clientsActivityRequest = createAction(\r\n 'cloManagers/clientsActivity/REQUEST',\r\n resolve => (\r\n companyReferenceName: string,\r\n startDate?: Date,\r\n endDate?: Date,\r\n ) => resolve({\r\n companyReferenceName,\r\n startDate,\r\n endDate,\r\n })\r\n);\r\n\r\nconst clientsActivityResponse = createAction(\r\n 'cloManagers/clientsActivity/RESPONSE',\r\n resolve => (data: CloManagerClientActivity[], numberOfHiddenItems: number) => resolve({ data, numberOfHiddenItems })\r\n);\r\n\r\nconst clientsActivityFilterChange = createAction(\r\n 'cloManagers/clientsActivity/FILTER_CHANGE',\r\n resolve => (filter: CloManagerAnalyticsFilter) => resolve(filter),\r\n);\r\n\r\nconst profileViewHistoryRequest = createAction(\r\n 'cloManagers/profileViewHistory/REQUEST',\r\n resolve => (companyReferenceName: string, startDate?: Date | null, endDate?: Date | null) =>\r\n resolve({\r\n companyReferenceName,\r\n startDate,\r\n endDate,\r\n }),\r\n);\r\n\r\nconst profileViewHistoryResponse = createAction(\r\n 'cloManagers/profileViewHistory/RESPONSE',\r\n resolve => (data: CloManagerProfileView[], numberOfHiddenItems: number) => resolve({ data, numberOfHiddenItems }),\r\n);\r\n\r\nconst setManagerForAlertPopup = createAction(\r\n 'cloManagers/profileViewHistory/SET_MANAGER_FOR_ALERT_POPUP',\r\n resolve => (referenceName?: string) => resolve({ referenceName }),\r\n);\r\n\r\nconst profileViewHistoryFilterChange = createAction(\r\n 'cloManagers/profileViewHistory/FILTER_CHANGE',\r\n resolve => (filter: CloManagerAnalyticsFilter) => resolve(filter),\r\n);\r\n\r\nconst profileViewHistoryFilterByBar = createAction(\r\n 'cloManagers/profileViewHistory/FILTER_BY_BAR',\r\n resolve => (\r\n companyReferenceName: string,\r\n accessType: CloManagerAccessType,\r\n date: Date\r\n ) => resolve({\r\n companyReferenceName,\r\n accessType,\r\n date\r\n }),\r\n);\r\n\r\nconst reset = createAction('cloManagers/RESET');\r\n\r\nconst selectedSecurityChange = createAction(\r\n 'cloManagers/SELECTED_SECURITY_CHANGE',\r\n resolve => (security?: DealSecurity) => resolve({ security })\r\n);\r\n\r\nconst editPlatformUsers = createAction(\r\n 'cloManagers/editPlatformUsers',\r\n resolve => (email: string) => resolve({ email })\r\n);\r\n\r\nconst resetEditPlatformUsers = createAction('cloManagers/resetEditPlatformUsers');\r\n\r\nexport type TCloManagersActions = ActionType;\r\n\r\nexport const cloManagersActions = {\r\n getCloManagers,\r\n getCloManagersResult,\r\n getCloManager,\r\n getCloManagerResult,\r\n setManagerForAlertPopup,\r\n createOrUpdateCloManager,\r\n setCloManagerSaveState,\r\n logUserActivity,\r\n switchFavoriteRequest,\r\n switchFavoriteResponse,\r\n analyticsInit,\r\n analyticsInitResponse,\r\n analyticsReset,\r\n clientsActivityRequest,\r\n clientsActivityResponse,\r\n clientsActivityFilterChange,\r\n profileViewHistoryRequest,\r\n profileViewHistoryResponse,\r\n profileViewHistoryFilterChange,\r\n profileViewHistoryFilterByBar,\r\n reset,\r\n selectedSecurityChange,\r\n editPlatformUsers,\r\n resetEditPlatformUsers,\r\n};\r\n","import { ActionType, createAsyncAction } from 'typesafe-actions';\r\nimport { CompanyMember } from '../types/company/CompanyMember';\r\n\r\nconst fetchCompanyMembers = createAsyncAction(\r\n 'company-members/COMPANY_MEMBERS_REQUEST',\r\n 'company-members/COMPANY_MEMBERS_SUCCESS',\r\n 'company-members/COMPANY_MEMBERS_FAILURE'\r\n)<{ companyId: number }, { companyId: number, members: CompanyMember[] }, { companyId: number, error: Error }>()\r\n\r\nexport type TCompanyMembersActions = ActionType\r\n\r\nexport const companyMembersActions = {\r\n fetchCompanyMembers\r\n}\r\n","import { createAction, ActionType } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { EmailPreferences } from \"../types/email-preferences/EmailPreferences\";\r\nimport { AlertEnabledState } from \"../types/enums/AlertEnabledState\";\r\n\r\nconst request = createAction('entities/email-preferences/REQUEST');\r\nconst requestResult = createAction('entities/email-preferences/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, preferences?: EmailPreferences) => resolve({ preferences, requestState })\r\n);\r\nconst reset = createAction('entities/email-preferences/RESET');\r\nconst inventoryAlertChange = createAction('entities/email-preferences/INVENTORY_ALERT_CHANGE',\r\n resolve => (enabled: AlertEnabledState) => resolve({ enabled })\r\n);\r\nconst bwicAlertChange = createAction('entities/email-preferences/BWIC_ALERT_CHANGE',\r\n resolve => (enabled: AlertEnabledState) => resolve({ enabled })\r\n);\r\n\r\nexport type TEmailPreferecnesActionTypes = ActionType<\r\n typeof request |\r\n typeof requestResult |\r\n typeof reset |\r\n typeof inventoryAlertChange |\r\n typeof bwicAlertChange\r\n>;\r\n\r\nexport const emailPreferencesActions = {\r\n request,\r\n requestResult,\r\n reset,\r\n bwicAlertChange,\r\n inventoryAlertChange\r\n};\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../../constants/request-state';\r\nimport { Company } from '../../types/amr-pipeline/models/Company';\r\n\r\nconst request = createAction('entities/availableBrokerDealers/REQUEST');\r\nconst requestResult = createAction(\r\n 'entities/availableBrokerDealers/REQUEST_RESULT',\r\n resolve =>\r\n (requestState: RequestState, companies: Company[] = []) =>\r\n resolve({ requestState, companies }),\r\n);\r\n\r\nexport type TAvailableBrokerDealersActionType = ActionType<(typeof availableBrokerDealersActions)[keyof typeof availableBrokerDealersActions]>;\r\n\r\nexport const availableBrokerDealersActions = {\r\n request,\r\n requestResult,\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { Company } from '../types/management/Company';\r\n\r\nconst show = createAction('changeSubscriptionActions/SHOW', resolve => (company: Company) => resolve({ company }));\r\nconst hide = createAction('changeSubscriptionActions/HIDE');\r\nconst setSubscriptionSavingFlag = createAction(\r\n 'changeSubscriptionActions/SAVING_FLAG',\r\n resolve => (isSubscriptionSavingFlag: boolean) => resolve({ isSubscriptionSavingFlag }),\r\n);\r\nconst saveSubscription = createAction(\r\n 'changeSubscriptionActions/SAVE_SUBSCRIPTION',\r\n resolve => (companyId: number, subscriptionType: string, subscriptionExpiration?: Date) =>\r\n resolve({ companyId, subscriptionType, subscriptionExpiration }),\r\n);\r\n\r\nexport const changeSubscriptionActions = {\r\n show,\r\n hide,\r\n setSubscriptionSavingFlag,\r\n saveSubscription,\r\n};\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { Portfolio } from \"../types/portfolio/Portfolio\";\r\nimport { Color } from \"../types/bwic/Color\";\r\n\r\nconst request = createAction('entities/portfolio-list/Request');\r\nconst requestResult = createAction('entities/portfolio-list/RequestResult',\r\n resolve => (requestResult: RequestState, result: Portfolio[] = []) =>\r\n resolve({ requestResult, result })\r\n);\r\nconst resetEntities = createAction('entities/portfolio-list/Reset');\r\nconst colorDistributionSend = createAction('entities/portfolios-list/PublicColors',\r\n resolve => (data: { colors: { positionId: number, color: Color[] }, bwicReferenceName: string, historyAction: {} }) => resolve({ data })\r\n);\r\nconst bwicStatusChanged = createAction('entities/portfolio-list/BwicStatusChange',\r\n resolve => (data: { bwicStatus: string, bwicReferenceName: string, historyAction: {} }) => resolve({ data })\r\n);\r\nconst updateSendAlertState = createAction(\r\n 'entities/portfolio-list/UpdateSendAlertState',\r\n resolve =>\r\n (\r\n sendAlertState: {\r\n portfolioId: number;\r\n bwicAlert?: boolean;\r\n dealersInventoryAlert?: boolean;\r\n cleansingNoticeAlert?: boolean;\r\n issuanceMonitorAlert?: boolean;\r\n outOfRiPeriodAlert?: boolean;\r\n outOfNcPeriodAlert?: boolean;\r\n rollerDeadlineAlert?: boolean;\r\n }[],\r\n ) =>\r\n resolve({ sendAlertState }),\r\n);\r\n\r\nconst deletePortfolio = createAction('entities/portfolio-list/DeletePortfolio',\r\n resolve => (portfolioId: number) => resolve({ portfolioId }));\r\n\r\nconst reset = createAction('entities/portfolio-list/Reset');\r\n\r\nexport const portfolioListActions = {\r\n request,\r\n requestResult,\r\n resetEntities,\r\n colorDistributionSend,\r\n bwicStatusChanged,\r\n updateSendAlertState,\r\n deletePortfolio,\r\n reset\r\n}\r\n","import { createAction, ActionType } from 'typesafe-actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { Deal, DealShortInfo } from '../types/amr-pipeline/models/Deal';\r\nimport { DealDetails } from '../types/amr-pipeline/models/DealDetails';\r\nimport { DealSave } from '../types/deals/DealSave';\r\nimport { Tranche } from '../types/amr-pipeline/models/Tranche';\r\nimport { Security } from '../types/security/Security';\r\nimport { SecurityBwicStatisticsSummary } from '../types/security/SecurityBwicStatisticsSummary';\r\nimport { ThunkDispatch } from 'redux-thunk';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { AnyAction } from 'redux-saga';\r\nimport { GridDataItem } from '../types/state/GridState';\r\nimport { gridActions } from '.';\r\nimport { clone, isNil } from 'lodash';\r\nimport { TrancheStatus } from '../types/amr-pipeline/enums/TrancheStatus';\r\nimport { SettlementInstructions } from '../types/amr-pipeline/models/SettlementInstructions';\r\nimport { AmrClass } from '../types/amr-pipeline/models/AmrClass';\r\nimport { AmrInfoSaveForm } from '../types/deals/AmrInfoSaveForm';\r\nimport { amrFormatUtils, formatUtils } from '../utils';\r\nimport { Rating } from '../types/enums/Rating';\r\nimport { DealDocumentsWithPattern } from '../types/amr-pipeline/models/DealDocumentsWithPattern';\r\n\r\nconst getDeals = createAction('deals/get/REQUEST', resolve => (searchTerm?: string) => resolve({ searchTerm }));\r\n\r\nconst getDealsResult = createAction(\r\n 'deals/get/REQUEST_RESULT',\r\n resolve => (deals: DealShortInfo[]) => resolve({ deals }),\r\n);\r\n\r\nconst getDealDetails = createAction(\r\n 'deals/getOne/REQUEST',\r\n resolve => (referenceName: string) => resolve({ referenceName }),\r\n);\r\n\r\nconst getDealDetailsResult = createAction(\r\n 'deals/getOne/REQUEST_RESULT',\r\n resolve => (referenceName: string, dealDetails: DealDetails) =>\r\n resolve({\r\n referenceName,\r\n dealDetails,\r\n }),\r\n);\r\n\r\nconst getClassSecondaryInfo = createAction(\r\n 'deals/GET_CLASS_SECONDARY_INFO',\r\n resolve => (selectedClass: Tranche) => resolve({ selectedClass }),\r\n);\r\n\r\nconst getClassSecondaryInfoResult = createAction(\r\n 'deals/GET_CLASS_SECONDARY_INFO_RESULT',\r\n resolve => (security?: Security, securityStatistics?: SecurityBwicStatisticsSummary) =>\r\n resolve({ security, securityStatistics }),\r\n);\r\n\r\nconst resetDeals = createAction('deals/RESET_DEALS');\r\n\r\nconst editDeal = createAction('deals/EDIT');\r\nconst editDealReset = createAction('deals/EDIT_RESET');\r\n\r\nconst updateDeal = createAction(\r\n 'deals/update/REQUEST',\r\n resolve => (referenceName: string, formData: DealSave) =>\r\n resolve({\r\n referenceName,\r\n formData,\r\n }),\r\n);\r\n\r\nconst updateDealResult = createAction(\r\n 'deals/update/RESULT',\r\n resolve => (requestState: RequestState) =>\r\n resolve({\r\n requestState,\r\n }),\r\n);\r\n\r\nconst deleteDealRequest = createAction(\r\n 'deals/delete/REQUEST',\r\n resolve => (referenceName: string) => resolve({ referenceName }),\r\n);\r\n\r\nconst deleteDealResult = createAction(\r\n 'deals/delete/RESULT',\r\n resolve => (requestState: RequestState, referenceName: string) =>\r\n resolve({\r\n requestState,\r\n referenceName,\r\n }),\r\n);\r\n\r\nconst allClassesEdit = createAction('deals/allClasses/edit', resolve => (classes: Tranche[]) => resolve({ classes }));\r\n\r\nconst allClassesEditInit = createAction('deals/allClasses/edit/init', resolve => (deal: Deal) => resolve({ deal }));\r\n\r\nconst allClassesUpdate = createAction(\r\n 'deals/allClasses/update/REQUEST',\r\n resolve => (dealReferenceName: string) => resolve({ dealReferenceName }),\r\n);\r\n\r\nconst allClassesUpdateResponse = createAction('deals/allClasses/update/RESPONSE');\r\n\r\nconst allClassesCacheTranche = createAction(\r\n 'deals/allClasses/edit/CACHE_TRANCHE',\r\n resolve => (rowIndex: number, tranche: Tranche) => resolve({ rowIndex, tranche }),\r\n);\r\n\r\nconst allClassesInvalidateTranceCache = createAction(\r\n 'deals/allClasses/edit/INVALIDATE_TRANCHE_CACHE',\r\n resolve => (rowIndex?: number) => resolve({ rowIndex }),\r\n);\r\n\r\nconst updateGridRow = (rowIndex: number, tranche: Tranche) => {\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n dispatch(gridActions.deleteRow(rowIndex));\r\n dispatch(gridActions.insertDataItems([tranche], rowIndex));\r\n };\r\n};\r\n\r\nconst allClassesUpdateTickers = (rowIndex: number) => {\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n const dataItems: GridDataItem[] = getState().grid.dataItems;\r\n const selectedDeal = getState().deals.selectedDeal;\r\n const dataItem = dataItems[rowIndex];\r\n\r\n if (isNil(dataItem) || isNil(selectedDeal)) {\r\n return;\r\n }\r\n\r\n const updatedDataItem = {\r\n ...dataItem,\r\n ticker144A: formatUtils.formatTickerRule144a(selectedDeal.ticker, dataItem.name, dataItem.rating as Rating),\r\n tickerRegS: formatUtils.formatTickerRuleRegS(selectedDeal.ticker, dataItem.name, dataItem.rating as Rating),\r\n tickerAccdInvCertif: formatUtils.formatTickerRuleAccInvCertif(selectedDeal.ticker, dataItem.name, dataItem.rating as Rating),\r\n }\r\n\r\n dispatch(updateGridRow(rowIndex, updatedDataItem));\r\n dispatch(allClassesInvalidateTranceCache(rowIndex));\r\n };\r\n}\r\n\r\nconst allClassesUpdateStatus = (rowIndex: number) => {\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n const dataItems: GridDataItem[] = getState().grid.dataItems;\r\n\r\n if (isNil(dataItems[rowIndex])) {\r\n return;\r\n }\r\n\r\n const dataItem = clone(dataItems[rowIndex]);\r\n\r\n if (dataItem.status === TrancheStatus.Inactive) {\r\n dispatch(allClassesCacheTranche(rowIndex, dataItem));\r\n\r\n const updatedTranche: Tranche = {\r\n ...dataItem,\r\n balance: 0,\r\n margin: 0,\r\n redeemed: true,\r\n floaterIndex: undefined,\r\n coupon: undefined,\r\n ratingDbrs: undefined,\r\n ratingFitch: undefined,\r\n ratingKbra: undefined,\r\n ratingMoodys: undefined,\r\n ratingSnP: undefined,\r\n };\r\n\r\n dispatch(updateGridRow(rowIndex, updatedTranche));\r\n } else {\r\n const { hasHistoryData } = dataItem;\r\n let updatedTranche: Tranche;\r\n\r\n if (hasHistoryData) {\r\n const {\r\n historyBalance,\r\n historyMargin,\r\n historyFloaterIndex,\r\n historyRatingDbrs,\r\n historyRatingFitch,\r\n historyRatingKbra,\r\n historyRatingMoodys,\r\n historyRatingSnP,\r\n } = dataItem;\r\n\r\n updatedTranche = {\r\n ...dataItem,\r\n balance: historyBalance,\r\n margin: historyMargin,\r\n floaterIndex: historyFloaterIndex,\r\n ratingDbrs: historyRatingDbrs,\r\n ratingFitch: historyRatingFitch,\r\n ratingKbra: historyRatingKbra,\r\n ratingMoodys: historyRatingMoodys,\r\n ratingSnP: historyRatingSnP,\r\n ...(dataItem.status === TrancheStatus.Active && {\r\n redeemed: false,\r\n }),\r\n };\r\n } else {\r\n const cachedItem = getState().deals.allClasses.cachedInactiveClasses[rowIndex];\r\n\r\n if (!cachedItem && dataItem.status === TrancheStatus.Draft) {\r\n return;\r\n }\r\n\r\n let cachedData;\r\n\r\n if (cachedItem) {\r\n const {\r\n balance,\r\n margin,\r\n redeemed,\r\n floaterIndex,\r\n coupon,\r\n ratingDbrs,\r\n ratingFitch,\r\n ratingKbra,\r\n ratingMoodys,\r\n ratingSnP,\r\n } = cachedItem;\r\n\r\n cachedData = {\r\n balance,\r\n margin,\r\n redeemed,\r\n floaterIndex,\r\n coupon,\r\n ratingDbrs,\r\n ratingFitch,\r\n ratingKbra,\r\n ratingMoodys,\r\n ratingSnP,\r\n };\r\n }\r\n\r\n updatedTranche = {\r\n ...dataItem,\r\n ...cachedData,\r\n ...(dataItem.status === TrancheStatus.Active && {\r\n redeemed: false,\r\n }),\r\n };\r\n }\r\n\r\n dispatch(updateGridRow(rowIndex, updatedTranche));\r\n dispatch(allClassesInvalidateTranceCache(rowIndex));\r\n }\r\n };\r\n};\r\n\r\nconst allClassesUpdateCoupon = (rowIndex: number) => {\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n const dataItems: GridDataItem[] = getState().grid.dataItems;\r\n\r\n if (isNil(dataItems[rowIndex])) {\r\n return;\r\n }\r\n\r\n const dataItem = clone(dataItems[rowIndex]);\r\n const { floaterIndex, margin } = dataItem;\r\n\r\n const updatedTrahcne: Tranche = {\r\n ...dataItem,\r\n coupon: amrFormatUtils.formatInventoryCoupon(floaterIndex, margin),\r\n };\r\n\r\n dispatch(updateGridRow(rowIndex, updatedTrahcne));\r\n };\r\n};\r\n\r\nconst updateDealDocuments = createAction(\r\n 'deals/documents/update/REQUEST',\r\n resolve => (referenceName: string, documentsWithPattern: DealDocumentsWithPattern) =>\r\n resolve({\r\n referenceName,\r\n documentsWithPattern,\r\n }),\r\n);\r\n\r\nconst updateDealDocumentsResult = createAction(\r\n 'deals/documents/update/RESULT',\r\n resolve => (requestState: RequestState) =>\r\n resolve({\r\n requestState,\r\n }),\r\n);\r\n\r\nconst amrInfoClassesEdit = createAction('deals/amrInfo/edit', resolve => (classes: AmrClass[]) => resolve({ classes }));\r\n\r\nconst amrInfoSave = createAction(\r\n 'deals/amrInfo/save',\r\n resolve => (dealReferenceName: string, transactionReferenceName: string, amrInfo: AmrInfoSaveForm) =>\r\n resolve({ dealReferenceName, transactionReferenceName, amrInfo }),\r\n);\r\n\r\nconst saveAmrInfoResponse = createAction('deals/amrInfo/save/RESPONSE');\r\nconst deleteAmrTransaction = createAction(\r\n 'deals/amrInfo/delete',\r\n resolve => (dealReferenceName: string, transactionReferenceName: string) =>\r\n resolve({ dealReferenceName, transactionReferenceName }),\r\n);\r\n\r\nconst saveExcludedDealersRequest = createAction(\r\n 'deals/saveExcludedDealers/REQUEST',\r\n resolve =>\r\n (\r\n dealReferenceName: string,\r\n transactionReferenceName: string,\r\n classReferenceName: string,\r\n excludedDealersReferenceNames: string[],\r\n ) =>\r\n resolve({ dealReferenceName, transactionReferenceName, classReferenceName, excludedDealersReferenceNames }),\r\n);\r\n\r\nconst saveExcludedDealersResponse = createAction('deals/saveExcludedDealers/RESPONSE');\r\n\r\nconst saveSettlementInstructionsRequest = createAction(\r\n 'deals/saveSettlementInstructions/REQUEST',\r\n resolve =>\r\n (dealReferenceName: string, classReferenceName: string, settlementInstructions: SettlementInstructions) =>\r\n resolve({ dealReferenceName, classReferenceName, settlementInstructions }),\r\n);\r\n\r\nconst saveSettlementInstructionsResponse = createAction('deals/saveSettlementInstructions/RESPONSE');\r\n\r\nconst exportSettlementInstructions = createAction(\r\n 'deals/exportSettlementInstructions/REQUEST',\r\n resolve =>\r\n (\r\n dealReferenceName: string,\r\n dealLegalName: string,\r\n transactionReferenceName: string,\r\n classReferenceName: string,\r\n classLegalName: string,\r\n ) =>\r\n resolve({ dealReferenceName, dealLegalName, transactionReferenceName, classReferenceName, classLegalName }),\r\n);\r\n\r\nconst openFigiErrorTickersResponse = createAction(\r\n 'deals/openFigiErrorTickers/RESPONSE',\r\n resolve => (errorTickers: string[]) => resolve({ errorTickers }),\r\n)\r\n\r\nconst reset = createAction('deals/RESET');\r\n\r\nexport type TDealsActions = ActionType<(typeof dealsActions)[keyof typeof dealsActions]>;\r\n\r\nexport const dealsActions = {\r\n getDeals,\r\n getDealsResult,\r\n getDealDetails,\r\n resetDeals,\r\n getDealDetailsResult,\r\n getClassSecondaryInfo,\r\n getClassSecondaryInfoResult,\r\n editDeal,\r\n editDealReset,\r\n updateDeal,\r\n updateDealResult,\r\n deleteDealRequest,\r\n deleteDealResult,\r\n allClassesEdit,\r\n allClassesEditInit,\r\n allClassesUpdate,\r\n allClassesUpdateResponse,\r\n allClassesCacheTranche,\r\n allClassesInvalidateTranceCache,\r\n allClassesUpdateStatus,\r\n allClassesUpdateCoupon,\r\n allClassesUpdateTickers,\r\n updateDealDocuments,\r\n updateDealDocumentsResult,\r\n saveExcludedDealersRequest,\r\n saveExcludedDealersResponse,\r\n saveSettlementInstructionsResponse,\r\n saveSettlementInstructionsRequest,\r\n amrInfoClassesEdit,\r\n amrInfoSave,\r\n saveAmrInfoResponse,\r\n deleteAmrTransaction,\r\n exportSettlementInstructions,\r\n openFigiErrorTickersResponse,\r\n reset,\r\n};\r\n","import {\r\n bwicHistoryActions,\r\n autoFeedbackSettingsActions,\r\n securityDetailsActions,\r\n sellerBiddingActions,\r\n pxTalkListActions,\r\n rulesActions\r\n} from \".\";\r\nimport { blastMessageActions } from \"./blast-message.actions\";\r\nimport { dealerListPanelActions } from \"./dealer-list-panel.actions\";\r\nimport { companyDetailsActions } from './company-details.actions';\r\nimport { textRulesPanelActions } from \"./text-rules-panel.actions\"\r\nimport { bwicLogActions } from \"./bwic-log.actions\";\r\nimport { history } from \"../history\";\r\n\r\n\r\nexport const controlPanelActions = {\r\n hide\r\n};\r\n\r\nfunction hide() {\r\n return dispatch => {\r\n dispatch(securityDetailsActions.securityDetailsReset());\r\n dispatch(bwicLogActions.bwicLogReset());\r\n dispatch(sellerBiddingActions.showBidList(false));\r\n dispatch(autoFeedbackSettingsActions.showAutoFeedbackSettingsPanel(false));\r\n dispatch(bwicHistoryActions.showHistory(false));\r\n dispatch(rulesActions.hide());\r\n dispatch(pxTalkListActions.hide());\r\n dispatch(dealerListPanelActions.hide());\r\n dispatch(blastMessageActions.hide());\r\n dispatch(companyDetailsActions.hide());\r\n dispatch(textRulesPanelActions.hide());\r\n\r\n if (history.location?.state?.panel) {\r\n history.replace({ ...history.location, state: undefined });\r\n }\r\n };\r\n}\r\n","import moment from 'moment';\r\nimport { values, isEqual } from 'lodash';\r\nimport {\r\n processActions as actionTypes,\r\n errorMessages,\r\n constants\r\n} from '../constants';\r\nimport { bwicProcessService as processService } from '../services';\r\nimport { errorActions } from '.';\r\nimport { dateTimeUtils, arrayUtils, numericUtils, formatUtils } from '../utils';\r\nimport { LevelSpecificationType } from '../types/enums/LevelSpecificationType';\r\nimport { BwicProcessType } from '../types/models/Process';\r\nimport { JumpBallStage2Participants } from '../types/bwic-process/JumpBallSettings';\r\nimport { TopXStage2Participants } from '../types/bwic-process/TopXSettings';\r\nimport { appConfig } from '../app-config';\r\nimport { OpenBiddingImproverCount } from '../types/enums/OpenBiddingImproverCount';\r\n\r\nexport const processActions = {\r\n init,\r\n reset,\r\n changeDate,\r\n changeDaysToSettle,\r\n changeTimeZone,\r\n changeBidsDueTime,\r\n changeGoodUntilTime,\r\n validate,\r\n\r\n storeNextBusiessDay,\r\n selectTemplate,\r\n reserveLevelsApplyEnabled,\r\n earlyTradesEnabled,\r\n rulesText,\r\n setStage1Deadline,\r\n setImprovementRound,\r\n setMinBidIncrement,\r\n setLevelSpecificationType,\r\n setOpenBiddingImproverCount,\r\n resetStage1DeadlineError,\r\n resetImprovementRoundError,\r\n resetMinBidIncrementError,\r\n resetJumpBallStage2DurationMinutes,\r\n resetBestFootForwardDurationMinutes,\r\n resetJumpBallStage1AutomaticMinutes,\r\n resetTopXStage1AutomaticMinutes,\r\n resetTopXStage2DurationMinutes,\r\n titleChange,\r\n descriptionChange,\r\n setMinDate,\r\n setHolidays,\r\n resetChanges,\r\n\r\n jumpBallStage1EndManual,\r\n jumpBallStage1EndAuto,\r\n jumpBallStage1EndAutomaticMinutesChange,\r\n jumpBallStage2ParticipantsChange,\r\n jumpBallStage2DurationUnspecified,\r\n jumpBallStage2DurationPreset,\r\n jumpBallStage2DurationMinutesChange,\r\n\r\n autoFeedbackDelayChange,\r\n autoFeedbackDelayEnabled,\r\n autoFeedbackDelayDisabled,\r\n minBidIncrementChange,\r\n minBidIncrementEnabled,\r\n minBidIncrementDisabled,\r\n\r\n cutOffReminderChange,\r\n\r\n topXStage1EndManual,\r\n topXStage1EndAuto,\r\n topXStage1EndAutomaticMinutesChange,\r\n topXStage2ParticipantsChange,\r\n topXStage2DurationUnspecified,\r\n topXStage2DurationPreset,\r\n topXStage2DurationMinutesChange,\r\n\r\n bestFootForwardDurationMinutesChange,\r\n setAllToAllProtocol\r\n}\r\n\r\nfunction init() {\r\n return async (dispatch, getState) => {\r\n const { process } = getState();\r\n\r\n if (process.templates.all?.length) {\r\n return; // already initialized\r\n }\r\n\r\n try {\r\n const templates = await processService.getTemplates();\r\n dispatch(addTemplates(templates));\r\n dispatch(selectTemplate(0));\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n }\r\n}\r\n\r\nfunction setMinDate(minimumDate) {\r\n return {\r\n type: actionTypes.MIN_DATE,\r\n minimumDate\r\n };\r\n}\r\n\r\nfunction setBwicDisabledTime() {\r\n return (dispatch, getState) => {\r\n const { bidsDue, goodUntil, timeZone, timeZones } = getState().process;\r\n const { fromTime, toTime } = getBwicAllowedTimeRange(timeZone, timeZones);\r\n const all = arrayUtils.arrayFromRange(0, 23);\r\n const allowed = arrayUtils.arrayFromRange(fromTime.hour(), toTime.hour());\r\n const disabledHours = all.filter(h => !allowed.some(a => a === h));\r\n\r\n const selectedTimeZone = timeZones.find(t => t.id === timeZone);\r\n const frameEndHour = toTime.hour();\r\n const isBidsDueMinutesDisabled = shouldDisableMinutes(bidsDue, selectedTimeZone, frameEndHour);\r\n const isGoodUntilMinutesDisabled = shouldDisableMinutes(goodUntil, selectedTimeZone, frameEndHour);\r\n\r\n dispatch({\r\n type: actionTypes.SET_DISABLED_TIME,\r\n disabledHours,\r\n isBidsDueMinutesDisabled,\r\n isGoodUntilMinutesDisabled\r\n });\r\n };\r\n}\r\n\r\nfunction shouldDisableMinutes(time, timeZone, frameEndHour) {\r\n const hour = moment\r\n .utc(time)\r\n .utcOffset(timeZone.utcOffsetMinutes, true)\r\n .hour();\r\n\r\n return hour === frameEndHour;\r\n}\r\n\r\nfunction getBwicAllowedTimeRange(timeZoneId, timeZones) {\r\n const est = timeZones.find(t => t.abbreviation === 'EST');\r\n const selected = timeZones.find(t => t.id === timeZoneId);\r\n const { from, to } = constants.bwicAllowedTimeRange;\r\n const fromTime = moment.utc(dateTimeUtils.timestampToUtcString(from)).utcOffset(est.utcOffsetMinutes, true).utcOffset(selected.utcOffsetMinutes);\r\n const toTime = moment.utc(dateTimeUtils.timestampToUtcString(to)).utcOffset(est.utcOffsetMinutes, true).utcOffset(selected.utcOffsetMinutes);\r\n\r\n return { fromTime, toTime };\r\n}\r\n\r\nfunction storeNextBusiessDay(date) {\r\n return {\r\n type: actionTypes.NEXT_BUSINESS_DAY,\r\n date\r\n };\r\n}\r\n\r\nfunction changeDate(date) {\r\n return (dispatch, getState) => {\r\n const { process } = getState();\r\n if (process.date !== date) {\r\n dispatch({ type: actionTypes.CHANGE_DATE, date });\r\n if (process.errors) {\r\n dispatch(validate());\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction setHolidays(holidays) {\r\n return {\r\n type: actionTypes.HOLIDAYS,\r\n holidays\r\n }\r\n}\r\n\r\nfunction changeDaysToSettle(days) {\r\n return {\r\n type: actionTypes.DAYS_TO_SETTLE,\r\n days\r\n };\r\n}\r\n\r\nfunction changeTimeZone(timeZone) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.TIME_ZONE,\r\n timeZone\r\n });\r\n dispatch(setBwicDisabledTime());\r\n\r\n const { errors = {} } = getState().process;\r\n if (errors.time) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\n\r\nfunction changeBidsDueTime(time) {\r\n return (dispatch, getState) => {\r\n const { errors = {}, goodUntil } = getState().process;\r\n\r\n dispatch({ type: actionTypes.BIDS_DUE, time });\r\n\r\n if (errors.time || hasTemplateErrors(errors)) {\r\n dispatch(validate());\r\n }\r\n\r\n if (time) {\r\n const bidsDueTime = moment.utc(time);\r\n const goodUntilCurrentTime = moment.utc(goodUntil);\r\n const frameEnd = dateTimeUtils.timestampToUtcString(constants.bwicAllowedTimeRange.to);\r\n\r\n const goodUntilNewTime = goodUntilCurrentTime.isSame(bidsDueTime, 'day') && goodUntilCurrentTime <= moment.utc(frameEnd)\r\n ? goodUntilCurrentTime.format(constants.dateTimeFormatUtc)\r\n : frameEnd;\r\n\r\n dispatch(changeGoodUntilTime(goodUntilNewTime));\r\n }\r\n }\r\n}\r\n\r\nfunction changeGoodUntilTime(time) {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n\r\n dispatch({ type: actionTypes.GOOD_UNTIL, time });\r\n if (errors.time || hasTemplateErrors(errors)) {\r\n dispatch(validate());\r\n }\r\n\r\n if (time) {\r\n dispatch(setBwicDisabledTime());\r\n }\r\n }\r\n}\r\n\r\nfunction hasTemplateErrors(errors) {\r\n return errors.templates && Object.values(errors.templates).some(e => e);\r\n}\r\n\r\nfunction validate() {\r\n return (dispatch, getState) => {\r\n const { process } = getState();\r\n const errors = {};\r\n errors.date = validateDate(process.date, process.holidays);\r\n errors.time = validateTime(!errors.date && process.date, process.bidsDue, process.goodUntil, process.timeZone, process.timeZones);\r\n errors.templates = validateTemplate(process.bidsDue, process.goodUntil, process.templates.current || {});\r\n const isDateValid = !(errors.date || errors.time);\r\n const isTemplateValid = !hasTemplateErrors(errors);\r\n const isValid = !(errors.date || errors.time || !isTemplateValid);\r\n\r\n dispatch({\r\n type: actionTypes.VALIDATE,\r\n validation: {\r\n errors,\r\n isValid,\r\n isTemplateValid,\r\n isDateValid\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction validateDate(date, holidays) {\r\n if (date === '') {\r\n return errorMessages.empty;\r\n } else if (typeof date === 'undefined') {\r\n return errorMessages.invalidValue;\r\n }\r\n\r\n const momentDate = moment(date);\r\n\r\n if (momentDate.diff(new Date(), 'days') < 0) {\r\n return errorMessages.dateShouldNotBeInPast;\r\n }\r\n\r\n const weekday = momentDate.isoWeekday();\r\n\r\n if ([6, 7].some(d => d === weekday)) {\r\n return errorMessages.bwicDateShouldNotBeWeekend;\r\n }\r\n\r\n if (holidays.some(h => moment(h).isSame(momentDate, 'day'))) {\r\n return errorMessages.bwicDateShouldNotBeHoliday;\r\n }\r\n}\r\n\r\nfunction validateTime(date, start, end, timeZoneId, timeZones) {\r\n const bidsDueUtc = moment.utc(start);\r\n const goodUntilUtc = moment.utc(end);\r\n\r\n if (bidsDueUtc >= goodUntilUtc) {\r\n return errorMessages.bidsDueShoulbBeLessThanGoodUntil;\r\n }\r\n\r\n const timeZone = timeZones.find(t => t.id === timeZoneId)\r\n const bidsDue = bidsDueUtc.utcOffset(timeZone.utcOffsetMinutes, true);\r\n const goodUntil = goodUntilUtc.utcOffset(timeZone.utcOffsetMinutes, true);\r\n\r\n if (!appConfig.enableAnyTimeNewBwic) { // for testing purposes\r\n const { fromTime, toTime } = getBwicAllowedTimeRange(timeZoneId, timeZones);\r\n\r\n if (bidsDue < fromTime || bidsDue > toTime || goodUntil < fromTime || goodUntil > toTime) {\r\n return errorMessages.bwicTimeInvalidRange(moment(fromTime).format(constants.timeFormat3), moment(toTime).format(constants.timeFormat3), timeZone.abbreviation);\r\n }\r\n }\r\n\r\n if (date) {\r\n const bwicDate = moment(date).utcOffset(timeZone.utcOffsetMinutes, true);\r\n const now = moment.utc().utcOffset(timeZone.utcOffsetMinutes);\r\n\r\n if (now.isSame(bwicDate, 'day')) {\r\n const bidsDueDateTime = bidsDue.set({ date: bwicDate.date(), month: bwicDate.month(), year: bwicDate.year() });\r\n if (bidsDueDateTime < now) {\r\n return errorMessages.bwicTimeShouldNotBeInPast;\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction validateTemplate(start, end, template) {\r\n const bidsDueTimestamp = dateTimeUtils.timestampFromUtcString(start);\r\n const goodUntilTimestamp = dateTimeUtils.timestampFromUtcString(end);\r\n\r\n const bidsDue = moment.utc(bidsDueTimestamp, constants.timeFormat);\r\n const goodUntil = moment.utc(goodUntilTimestamp, constants.timeFormat);\r\n\r\n const bwicDuration = goodUntil.diff(bidsDue, 'minutes');\r\n\r\n return {\r\n ...validateMinBidIncrementTemplate(template),\r\n ...validateAutoFeedbackDelay(template, bwicDuration),\r\n ...validateCutOffReminder(template, bwicDuration),\r\n ...validateLive(template, bwicDuration),\r\n ...validateJumpBall(template, bwicDuration),\r\n ...validateTopX(template, bwicDuration),\r\n ...validateBestFootForward(template, bwicDuration)\r\n };\r\n}\r\n\r\nfunction validateLive(template, bwicDurationMinutes) {\r\n const result = {};\r\n\r\n if (template.type === BwicProcessType.Live) {\r\n const stage1Max = template.liveBidding.improvementRound\r\n ? bwicDurationMinutes - template.liveBidding.improvementRound\r\n : bwicDurationMinutes - constants.openBiddingMinStage2Duration\r\n\r\n result.stage1Deadline = validateNumber(\r\n template.liveBidding.stage1Deadline, {\r\n min: constants.openBiddingMinStage1Duration,\r\n max: Math.max(constants.openBiddingMinStage1Duration, stage1Max)\r\n });\r\n\r\n if (bwicDurationMinutes < (template.liveBidding.improvementRound + template.liveBidding.stage1Deadline)) {\r\n result.improvementRound = errorMessages.setMoreThanTotalDuration(bwicDurationMinutes);\r\n result.stage1Deadline = errorMessages.setMoreThanTotalDuration(bwicDurationMinutes);\r\n }\r\n else {\r\n result.improvementRound = validateNumber(\r\n template.liveBidding.improvementRound, {\r\n min: constants.openBiddingMinStage2Duration,\r\n max: constants.openBiddingMaxStage2Duration\r\n });\r\n }\r\n\r\n result.minBidIncrement = validateMinBidIncrement(template.liveBidding.minBidIncrement);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction validateCutOffReminder(template, bwicDuration) {\r\n const result = {};\r\n\r\n let processRange = {\r\n range: {},\r\n lessThanErrorMessage: '',\r\n greaterThenErrorMessage: ''\r\n };\r\n\r\n function getBestFootForwardCutOffReminderRange(stageDuration) {\r\n\r\n const stageDurationMinutes =\r\n stageDuration > constants.minBwicDuration\r\n ? stageDuration\r\n : constants.minBwicDuration\r\n\r\n return processRange = {\r\n range: {\r\n min: constants.cutOffReminderRange.min,\r\n max: stageDurationMinutes - constants.differenceBetweenStageAndCutOffReminder,\r\n }\r\n }\r\n }\r\n\r\n function getRangeWithStage1Deadline(stage1Deadline) {\r\n const stage1DeadlineMinutes =\r\n stage1Deadline > constants.minBwicDuration\r\n ? stage1Deadline\r\n : constants.minBwicDuration\r\n\r\n return processRange = {\r\n range: stage1Deadline\r\n ? {\r\n min: constants.cutOffReminderRange.min,\r\n max: stage1DeadlineMinutes - constants.differenceBetweenStageAndCutOffReminder,\r\n }\r\n : {\r\n min: constants.cutOffReminderRange.min,\r\n max: constants.cutOffReminderRange.max,\r\n }\r\n }\r\n }\r\n\r\n switch (template.type) {\r\n case BwicProcessType.JumpBall: getRangeWithStage1Deadline(dateTimeUtils.parseTimeSpan(template.jumpBall.automaticStage1Deadline).totalMinutes); break;\r\n case BwicProcessType.TopX: getRangeWithStage1Deadline(dateTimeUtils.parseTimeSpan(template.topX.automaticStage1Deadline).totalMinutes); break;\r\n case BwicProcessType.Live: getRangeWithStage1Deadline(template.liveBidding.stage1Deadline); break;\r\n case BwicProcessType.BestFootForward: getBestFootForwardCutOffReminderRange(\r\n dateTimeUtils.parseTimeSpan(template.bff.stage1Deadline).totalMinutes,\r\n dateTimeUtils.parseTimeSpan(template.cutOffReminder).totalMinutes); break;\r\n default: processRange = { range: constants.cutOffReminderRange };\r\n }\r\n result.cutOffReminder = validateNumber(\r\n dateTimeUtils.parseTimeSpan(template.cutOffReminder).totalMinutes,\r\n processRange.range,\r\n processRange.lessThanErrorMessage,\r\n processRange.greaterThenErrorMessage\r\n );\r\n\r\n return result\r\n}\r\nfunction validateAutoFeedbackDelay(template, bwicDuration) {\r\n const result = {};\r\n\r\n if (template.autoFeedbackDelay != null) {\r\n result.autoFeedbackDelay = validateNumber(\r\n dateTimeUtils.parseTimeSpan(template.autoFeedbackDelay).totalMinutes, {\r\n min: constants.autoFeedbackDelayRange.min,\r\n max: Math.min(constants.autoFeedbackDelayRange.max, bwicDuration)\r\n }\r\n );\r\n }\r\n return result;\r\n}\r\nfunction validateMinBidIncrementTemplate(template) {\r\n const result = {};\r\n\r\n if (template.minBidIncrement != null) {\r\n result.minBidIncrement = validateNumber(\r\n template.minBidIncrement, {\r\n min: constants.minBidIncrementRange.min,\r\n max: constants.minBidIncrementRange.max\r\n }\r\n );\r\n }\r\n return result;\r\n}\r\n\r\nfunction validateJumpBall(template, bwicDuration) {\r\n const result = {};\r\n\r\n if (template.type === BwicProcessType.JumpBall) {\r\n const settings = template.jumpBall ?? {};\r\n\r\n if (settings.automaticStage1Deadline != null) {\r\n result.jumpBallStage1AutomaticMinutes = validateNumber(\r\n dateTimeUtils.parseTimeSpan(settings.automaticStage1Deadline).totalMinutes,\r\n constants.jumpBall.stage1EndAutoRange\r\n );\r\n }\r\n\r\n if (settings.improvementRound != null) {\r\n result.jumpBallStage2DurationMinutes = validateNumber(\r\n dateTimeUtils.parseTimeSpan(settings.improvementRound).totalMinutes,\r\n constants.jumpBall.stage2DurationRange\r\n );\r\n }\r\n\r\n const stagesDuration = (\r\n dateTimeUtils.parseTimeSpan(settings.automaticStage1Deadline).totalMinutes + dateTimeUtils.parseTimeSpan(settings.improvementRound).totalMinutes);\r\n if (stagesDuration > 0 && bwicDuration < stagesDuration && !values(result).some(r => r)) {\r\n result.jumpBallStage1AutomaticMinutes = result.jumpBallStage2DurationMinutes =\r\n `Total of first and second stages should not be greater than ${bwicDuration}`;\r\n }\r\n\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction validateTopX(template, bwicDuration) {\r\n const result = {};\r\n\r\n if (template.type === BwicProcessType.TopX) {\r\n const settings = template.topX ?? {};\r\n\r\n if (settings.automaticStage1Deadline != null) {\r\n result.topXStage1AutomaticMinutes = validateNumber(\r\n dateTimeUtils.parseTimeSpan(settings.automaticStage1Deadline).totalMinutes,\r\n constants.topX.stage1EndAutoRange\r\n );\r\n }\r\n\r\n if (settings.improvementRound != null) {\r\n result.topXStage2DurationMinutes = validateNumber(\r\n dateTimeUtils.parseTimeSpan(settings.improvementRound).totalMinutes,\r\n constants.topX.stage2DurationRange\r\n );\r\n }\r\n\r\n const stagesDuration = (\r\n dateTimeUtils.parseTimeSpan(settings.automaticStage1Deadline).totalMinutes + dateTimeUtils.parseTimeSpan(settings.improvementRound).totalMinutes);\r\n if (stagesDuration > 0 && bwicDuration < stagesDuration && !values(result).some(r => r)) {\r\n result.topXStage1AutomaticMinutes = result.topXStage2DurationMinutes =\r\n `Total of first and second stages should not be greater than ${bwicDuration}`;\r\n }\r\n\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction validateBestFootForward(template, bwicDuration) {\r\n const result = {};\r\n\r\n if (template.type === BwicProcessType.BestFootForward) {\r\n const settings = template.bff ?? {};\r\n\r\n if (settings.stage1Deadline != null) {\r\n result.bestFootForwardDurationMinutes = validateNumber(\r\n dateTimeUtils.parseTimeSpan(settings.stage1Deadline).totalMinutes,\r\n constants.bestFootForward.stage1DeadlineRange\r\n );\r\n }\r\n\r\n if (dateTimeUtils.parseTimeSpan(settings.stage1Deadline).totalMinutes > 0 &&\r\n bwicDuration < dateTimeUtils.parseTimeSpan(settings.stage1Deadline).totalMinutes &&\r\n !values(result).some(r => r)) {\r\n result.bestFootForwardDurationMinutes = `Bidding period should not be greater than ${bwicDuration}`;\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction validateNumber(value, range, lessThanErrorMessage = '', greaterThenErrorMessage = '') {\r\n if (!value || !String(value).trim()) {\r\n return errorMessages.empty;\r\n } else if (!numericUtils.isNumber(value)) {\r\n return errorMessages.invalidValue;\r\n } else if (+value < range.min && lessThanErrorMessage) {\r\n return lessThanErrorMessage;\r\n } else if (+value > range.max && greaterThenErrorMessage) {\r\n return greaterThenErrorMessage;\r\n } else if (+value < range.min || +value > range.max) {\r\n return errorMessages.invalidRange(range.min, range.max);\r\n }\r\n return '';\r\n}\r\n\r\nfunction validateMinBidIncrement(minBidIncrement) {\r\n return validateNumber(minBidIncrement, { min: constants.openBiddingMinBidIncrement, max: constants.openBiddingMaxBidIncrement });\r\n}\r\n\r\nfunction addTemplates(templates) {\r\n return {\r\n type: actionTypes.ADD_TEMPLATES,\r\n templates: templates.map(t => ({ // add defaults\r\n ...t,\r\n cutOffReminder: dateTimeUtils.timeSpan(0, constants.cutOffReminderRangeDefaultMinutes),\r\n autoFeedbackDelay: dateTimeUtils.timeSpan(0, constants.autoFeedbackDelayDefaultMinutes),\r\n\r\n //Live Bidding\r\n liveBidding: {\r\n levelSpecificationType: t.levelSpecificationType || LevelSpecificationType.best,\r\n openBiddingImproverCount: t.openBiddingImproverCount || OpenBiddingImproverCount.top3,\r\n stage1Deadline: t.stage1Deadline || constants.openBiddingDefaultStage1Deadline,\r\n improvementRound: t.improvementRound || constants.openBiddingMinStage2Duration,\r\n minBidIncrement: formatUtils.formatBid(t.minBidIncrement || constants.defaultMinBidIncrement),\r\n },\r\n\r\n // JumpBall\r\n jumpBall: {\r\n improverCount: JumpBallStage2Participants.Top3,\r\n improvementRound: dateTimeUtils.timeSpan(0, constants.jumpBall.stage2DurationDefaultMinutes),\r\n automaticStage1Deadline: dateTimeUtils.timeSpan(0, constants.jumpBall.stage1EndAutoDefaultMinutes),\r\n },\r\n\r\n // TopX\r\n topX: {\r\n improverCount: TopXStage2Participants.Top3,\r\n improvementRound: dateTimeUtils.timeSpan(0, constants.topX.stage2DurationDefaultMinutes),\r\n automaticStage1Deadline: dateTimeUtils.timeSpan(0, constants.topX.stage1EndAutoDefaultMinutes),\r\n },\r\n // BestFootForward\r\n bff: {\r\n stage1Deadline: dateTimeUtils.timeSpan(0, constants.bestFootForward.stage1DeadlineDefaultMinutes),\r\n }\r\n }))\r\n };\r\n}\r\n\r\nfunction selectTemplate(index) {\r\n return (dispatch, getState) => {\r\n const { isValid } = getState().process;\r\n\r\n dispatch({\r\n type: actionTypes.SELECT_TEMPLATE,\r\n index\r\n });\r\n\r\n if (!isValid) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\n\r\nfunction reserveLevelsApplyEnabled(enabled) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RESERVE_LEVELS_APPLY_ENABLED, enabled });\r\n dispatch(updateTemplateDirty());\r\n };\r\n}\r\n\r\nfunction earlyTradesEnabled(enabled) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.EARLY_TRADES_ENABLED, enabled });\r\n dispatch(updateTemplateDirty());\r\n };\r\n}\r\n\r\nfunction rulesText(text) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RULES_TEXT, text });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction setStage1Deadline(value) {\r\n return (dispatch, getState) => {\r\n const {\r\n cutOffReminder,\r\n stage1Deadline\r\n } = getState().process.errors.templates;\r\n\r\n dispatch({ type: actionTypes.SET_STAGE1_DEADLINE, payload: { value } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (cutOffReminder || stage1Deadline) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\n\r\nfunction setImprovementRound(value) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.SET_IMPROVEMENT_ROUND, payload: { value } });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction setMinBidIncrement(value) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.SET_MIN_BID_INCREMENT, payload: { value } });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction setLevelSpecificationType(value) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.SET_LEVEL_SPECIFICATION_TYPE, payload: { value } });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction setOpenBiddingImproverCount(value) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.SET_OPEN_BIDDING_IMPROVER_COUNT, payload: { value } });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction resetStage1DeadlineError() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.stage1Deadline) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction resetImprovementRoundError() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.improvementRound) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction resetMinBidIncrementError() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.minBidIncrement) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\n\r\nfunction resetJumpBallStage2DurationMinutes() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.jumpBallStage2DurationMinutes) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction resetTopXStage1AutomaticMinutes() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.topXStage1AutomaticMinutes) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction resetTopXStage2DurationMinutes() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.topXStage2DurationMinutes) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction resetJumpBallStage1AutomaticMinutes() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.jumpBallStage1AutomaticMinutes) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction updateTemplateDirty() {\r\n return (dispatch, getState) => {\r\n const { all, current } = getState().process.templates;\r\n const original = all.find(t => t.id === current.id);\r\n const dirty = !isEqual(original, current)\r\n\r\n dispatch({\r\n type: actionTypes.SET_TEMPLATE_DIRTY_STATE,\r\n dirty\r\n })\r\n }\r\n}\r\n\r\nfunction titleChange(title) {\r\n return { type: actionTypes.TITLE_CHANGE, title };\r\n}\r\n\r\nfunction descriptionChange(description) {\r\n return { type: actionTypes.DESCRIPTION_CHANGE, description };\r\n}\r\n\r\nfunction resetChanges() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RESET_CHANGES });\r\n dispatch(validate());\r\n }\r\n}\r\n\r\nfunction reset() {\r\n return { type: actionTypes.RESET };\r\n}\r\n\r\nfunction jumpBallStage1EndManual() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.JUMP_BALL_STAGE_1_END_MANUAL });\r\n dispatch({ type: actionTypes.RESET_CUT_OFF_REMINDER_MINS });\r\n dispatch(updateTemplateDirty());\r\n dispatch(validate());\r\n }\r\n}\r\n\r\nfunction autoFeedbackDelayChange(minutes) {\r\n return (dispatch, getState) => {\r\n const { autoFeedbackDelay } = getState().process.errors.templates;\r\n\r\n dispatch({ type: actionTypes.AUTO_FEEDBACK_DELAY_MINS, payload: { minutes } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (autoFeedbackDelay) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\n\r\nfunction minBidIncrementChange(value) {\r\n return (dispatch, getState) => {\r\n const { minBidIncrement } = getState().process.errors.templates;\r\n\r\n dispatch({ type: actionTypes.MIN_BID_INCREMENT_CHANGED, payload: { value } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (minBidIncrement) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\n\r\nfunction autoFeedbackDelayEnabled() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.AUTO_FEEDBACK_DELAY_ENABLED });\r\n dispatch(updateTemplateDirty());\r\n }\r\n\r\n}\r\n\r\nfunction autoFeedbackDelayDisabled() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.AUTO_FEEDBACK_DELAY_DISABLED });\r\n dispatch(resetAutoFeedbackDelay());\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction minBidIncrementEnabled() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.MIN_BID_INCREMENT_ENABLED });\r\n dispatch(updateTemplateDirty());\r\n }\r\n\r\n}\r\n\r\nfunction minBidIncrementDisabled() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.MIN_BID_INCREMENT_DISABLED });\r\n dispatch(resetMinimumBidIncrement());\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction cutOffReminderChange(minutes) {\r\n return (dispatch, getState) => {\r\n const {\r\n cutOffReminder,\r\n jumpBallStage1AutomaticMinutes,\r\n topXStage1AutomaticMinutes,\r\n bestFootForwardDurationMinutes\r\n } = getState().process.errors.templates;\r\n\r\n dispatch({ type: actionTypes.CUT_OFF_REMINDER_MINS, payload: { minutes } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (cutOffReminder ||\r\n jumpBallStage1AutomaticMinutes ||\r\n topXStage1AutomaticMinutes ||\r\n bestFootForwardDurationMinutes) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\n\r\nfunction jumpBallStage1EndAuto() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.JUMP_BALL_STAGE_1_END_AUTO });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\n\r\nfunction jumpBallStage1EndAutomaticMinutesChange(minutes) {\r\n return (dispatch, getState) => {\r\n const { jumpBallStage1AutomaticMinutes, cutOffReminder, jumpBallStage2DurationMinutes } = getState().process.errors.templates;\r\n dispatch({ type: actionTypes.JUMP_BALL_STAGE_1_END_AUTO_MINS, payload: { minutes } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (jumpBallStage1AutomaticMinutes || cutOffReminder || jumpBallStage2DurationMinutes) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\n\r\nfunction jumpBallStage2ParticipantsChange(participants) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.JUMP_BALL_STAGE_2_PARTICIPANTS_CHANGE, payload: { participants } });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction jumpBallStage2DurationUnspecified() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.JUMP_BALL_STAGE_2_DURATION_UNSPECIFIED });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction jumpBallStage2DurationPreset() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.JUMP_BALL_STAGE_2_DURATION_PRESET });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction jumpBallStage2DurationMinutesChange(minutes) {\r\n return (dispatch, getState) => {\r\n const { jumpBallStage2DurationMinutes, jumpBallStage1AutomaticMinutes } = getState().process.errors.templates;\r\n\r\n dispatch({ type: actionTypes.JUMP_BALL_STAGE_2_DURATION_MINS, payload: { minutes } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (jumpBallStage2DurationMinutes || jumpBallStage1AutomaticMinutes) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\n\r\nfunction resetAutoFeedbackDelay() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.autoFeedbackDelay) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction resetMinimumBidIncrement() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.minBidIncrement) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\n\r\nfunction topXStage1EndManual() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.TOP_X_STAGE_1_END_MANUAL });\r\n dispatch({ type: actionTypes.RESET_CUT_OFF_REMINDER_MINS });\r\n dispatch(updateTemplateDirty());\r\n dispatch(validate());\r\n }\r\n}\r\n\r\nfunction topXStage1EndAuto() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.TOP_X_STAGE_1_END_AUTO });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction topXStage1EndAutomaticMinutesChange(minutes) {\r\n return (dispatch, getState) => {\r\n const { topXStage1AutomaticMinutes, cutOffReminder, topXStage2DurationMinutes } = getState().process.errors.templates;\r\n dispatch({ type: actionTypes.TOP_X_STAGE_1_END_AUTO_MINS, payload: { minutes } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (topXStage1AutomaticMinutes || cutOffReminder || topXStage2DurationMinutes) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\n\r\nfunction topXStage2ParticipantsChange(participants) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.TOP_X_STAGE_2_PARTICIPANTS_CHANGE, payload: { participants } });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction topXStage2DurationUnspecified() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.TOP_X_STAGE_2_DURATION_UNSPECIFIED });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction topXStage2DurationPreset() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.TOP_X_STAGE_2_DURATION_PRESET });\r\n dispatch(updateTemplateDirty());\r\n }\r\n}\r\n\r\nfunction topXStage2DurationMinutesChange(minutes) {\r\n return (dispatch, getState) => {\r\n const { topXStage2DurationMinutes, topXStage1AutomaticMinutes } = getState().process.errors.templates;\r\n\r\n dispatch({ type: actionTypes.TOP_X_STAGE_2_DURATION_MINS, payload: { minutes } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (topXStage2DurationMinutes || topXStage1AutomaticMinutes) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\n\r\n\r\n\r\nfunction bestFootForwardDurationMinutesChange(minutes) {\r\n return (dispatch, getState) => {\r\n const { cutOffReminder, bestFootForwardDurationMinutes } = getState().process.errors.templates;\r\n\r\n dispatch({ type: actionTypes.BEST_FOOT_FORWARD_DURATION_MINS, payload: { minutes } });\r\n dispatch(updateTemplateDirty());\r\n\r\n if (cutOffReminder || bestFootForwardDurationMinutes) {\r\n dispatch(validate());\r\n }\r\n }\r\n\r\n\r\n}\r\nfunction resetBestFootForwardDurationMinutes() {\r\n return (dispatch, getState) => {\r\n const { errors = {} } = getState().process;\r\n if (errors.templates.bestFootForwardDurationMinutes) {\r\n dispatch(validate());\r\n }\r\n\r\n };\r\n}\r\n\r\nfunction setAllToAllProtocol(isAllToAll) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.SET_ALL_TO_ALL_PROTOCOL, payload: isAllToAll });\r\n }\r\n}\r\n\r\n","import { createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../../constants/request-state';\r\nimport { CloSystemInfrastructures } from '../../types/clo-managers/CloSystemInfrastructures';\r\n\r\nconst requestData = createAction(\r\n 'entities/cloSystemInfrastructure/REQUEST',\r\n resolve => (requestState: RequestState) => resolve({ requestState }),\r\n);\r\n\r\nconst responseData = createAction(\r\n 'entities/cloSystemInfrastructure/RESPONSE',\r\n resolve => (requestState: RequestState, cloSystemInfrastructure: CloSystemInfrastructures[]) =>\r\n resolve({ requestState, cloSystemInfrastructure}),\r\n);\r\n\r\nexport const cloSystemInfrastructureActions = {\r\n requestData,\r\n responseData\r\n};\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { MarketingEvent } from '../types/marketing/MarketingEvent';\r\nimport { News } from '../types/news/News';\r\nimport { NewsQueryParams } from '../types/news/NewsQueryParams';\r\nimport { NewsTabCategory } from '../types/news/enums/NewsTabCategory';\r\nimport { NewsAccessType } from '../types/amr-pipeline/enums/NewsAccessType';\r\n\r\nconst fetchMarketingEventsRequest = createAction('news/FETCH_MARKETING_EVENTS_REQUEST');\r\nconst fetchMarketingEventsResponse = createAction(\r\n 'news/FETCH_MARKETING_EVENTS_RESPONSE',\r\n resolve => (events: MarketingEvent[]) => resolve({ events }),\r\n);\r\n\r\n\r\nconst fetchNewsRequest = createAction('news/FETCH_REQUEST', resolve => (page: number, tab: NewsTabCategory) => resolve({ page, tab }));\r\nconst fetchNewsResponse = createAction(\r\n 'news/FETCH_RESPONSE',\r\n resolve => (news: News[], page: number, tab: NewsTabCategory) => resolve({ news, page, tab }),\r\n);\r\n\r\nconst fetchNewsDetails = createAction(\r\n 'news/FETCH_DETAILS',\r\n resolve => (newsReferenceName: string, queryParams?: NewsQueryParams) =>\r\n resolve({ newsReferenceName, queryParams }),\r\n);\r\n\r\nconst fetchNewsDetailsResponse = createAction(\r\n 'news/FETCH_DETAILS_RESPONSE',\r\n resolve => (news: News) => resolve({ news }),\r\n);\r\n\r\nconst fetchTotalNewsCountRequest = createAction('news/FETCH_TOTAL_NEWS_COUNT_REQUEST');\r\nconst fetchTotalNewsCountResponse = createAction(\r\n 'news/FETCH_TOTAL_NEWS_COUNT_RESPONSE',\r\n resolve => (totalNews: {\r\n [NewsTabCategory.All]: number,\r\n [NewsTabCategory.Primary]: number,\r\n [NewsTabCategory.Secondary]: number,\r\n [NewsTabCategory.Research]: number,\r\n }) => resolve({ totalNews }),\r\n);\r\n\r\nconst deleteNews = createAction(\r\n 'news/DELETE',\r\n resolve => (referenceName: string, page: number, tab: NewsTabCategory) => resolve({ referenceName, page, tab }),\r\n);\r\n\r\nconst deleteSingleNews = createAction(\r\n 'news/DELETE_SINGLE_NEWS',\r\n resolve => (referenceName: string) => resolve({ referenceName }),\r\n);\r\n\r\nconst resetNewsList = createAction('news/RESET_NEWS_LIST');\r\nconst reset = createAction('news/RESET');\r\n\r\nconst logUserActivity = createAction('news/LOG_USER_ACTIVITY', resolve => (accessType: NewsAccessType, link?: string) => resolve({ accessType, link }));\r\n\r\nconst downloadDocument = createAction(\r\n 'news/DOWNLOAD_DOCUMENT',\r\n resolve => (newsReferenceName: string, documentReferenceName: string, fileName: string) =>\r\n resolve({ newsReferenceName, documentReferenceName, fileName })\r\n);\r\n\r\nconst downloadDocuments = createAction(\r\n 'news/DOWNLOAD_DOCUMENTS',\r\n resolve => (newsItem: News) => resolve({ newsItem })\r\n);\r\n\r\nexport type TNewsActions = ActionType<\r\n typeof newsActions[keyof typeof newsActions]\r\n>;\r\n\r\nexport const newsActions = {\r\n fetchNewsRequest,\r\n fetchNewsResponse,\r\n fetchMarketingEventsRequest,\r\n fetchMarketingEventsResponse,\r\n fetchTotalNewsCountRequest,\r\n fetchTotalNewsCountResponse,\r\n fetchNewsDetails,\r\n fetchNewsDetailsResponse,\r\n deleteNews,\r\n deleteSingleNews,\r\n reset,\r\n resetNewsList,\r\n logUserActivity,\r\n downloadDocument,\r\n downloadDocuments,\r\n};\r\n","import { store } from '../store';\r\nimport {\r\n gridActions as actionTypes,\r\n uploadStatus,\r\n constants,\r\n errorMessages,\r\n} from \"../constants\";\r\nimport { arrayUtils, numericUtils, moneyUtils, formatUtils, stringUtils } from '../utils';\r\nimport { gridColumns as columns } from '../constants';\r\nimport * as compareUtils from '../utils/compare.utils';\r\nimport { changeColorActions, changePxTalkActions, errorActions } from './';\r\nimport { Ratings } from '../types/enums/Rating';\r\nimport { requestCancelationController } from '../services/request-cancelation-controller';\r\nimport { history } from '../history';\r\n\r\nexport const gridActions = {\r\n init,\r\n setColumns,\r\n addColumn,\r\n removeColumn,\r\n moveColumnData,\r\n clearCell,\r\n setFocus,\r\n edit,\r\n cancelEdit,\r\n setInitialPosition,\r\n applyEdit,\r\n applyOrCancelEdit,\r\n orderBy,\r\n deleteRow,\r\n deleteDataItemsWithErrors,\r\n deleteFlaggedDataItems,\r\n editing,\r\n addDataItems,\r\n replaceDataItem,\r\n addFileToDataItem,\r\n insertDataItems,\r\n processKeyCode,\r\n selectRow,\r\n showHelp,\r\n hideHelp,\r\n validate,\r\n setUploadState,\r\n reset,\r\n blockInput,\r\n dataProcessing,\r\n parseValue,\r\n addRow,\r\n moveRowUp,\r\n moveRowDown,\r\n clear,\r\n updateDataItemDraftStatus,\r\n updateRowsLimit\r\n}\r\n\r\nfunction init(dataItems, headers, rowsLimit = constants.gridRowsLimit, minDrafts, autoFocus = true) {\r\n return dispatch => {\r\n dispatch(setMountedKey());\r\n dispatch(setColumns(headers));\r\n dispatch(updateRowsLimit(rowsLimit, minDrafts));\r\n\r\n if (dataItems && dataItems.length) {\r\n dispatch(insertDataItems(dataItems));\r\n }\r\n\r\n dispatch(appendDrafts());\r\n\r\n if (autoFocus) {\r\n dispatch(setInitialPosition(dataItems && dataItems.length));\r\n }\r\n\r\n dispatch(showHelp());\r\n }\r\n}\r\n\r\nfunction updateRowsLimit(rowsLimit, minDrafts) {\r\n return {\r\n type: actionTypes.ROWS_LIMIT,\r\n rowsLimit,\r\n minDrafts\r\n };\r\n}\r\n\r\nfunction setMountedKey() {\r\n return {\r\n type: actionTypes.GRID_SET_MOUNTED_KEY,\r\n payload: { key: new Date().getTime() }\r\n }\r\n}\r\n\r\nfunction setColumns(headers) {\r\n return {\r\n type: actionTypes.SETUP_HEADERS,\r\n headers\r\n };\r\n}\r\n\r\nfunction addColumn(column, positionIndex) {\r\n return {\r\n type: actionTypes.ADD_COLUMN,\r\n column,\r\n positionIndex\r\n };\r\n}\r\n\r\nfunction removeColumn(name) {\r\n return {\r\n type: actionTypes.REMOVE_COLUMN,\r\n name\r\n }\r\n}\r\n\r\nfunction replaceDataItem(dataItem, index) {\r\n return {\r\n type: actionTypes.REPLACE_DATA_ITEM,\r\n payload: {\r\n dataItem,\r\n index\r\n }\r\n };\r\n};\r\n\r\nfunction dataItemsLimitError(rowsLimit) {\r\n return errorActions.error(\r\n null,\r\n errorMessages.gridDataItemsLimitExceeded(rowsLimit || constants.gridRowsLimit),\r\n errorMessages.gridDataItemsLimitExceededTitle\r\n );\r\n}\r\n\r\nfunction addDataItems(newItems) {\r\n return (dispatch, getState) => {\r\n const { dataItems = [], rowsLimit } = getState().grid;\r\n const currentItems = dataItems.filter(item => !item.draft);\r\n\r\n if (currentItems.length + newItems.length > rowsLimit) {\r\n return dispatch(dataItemsLimitError(rowsLimit));\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.ADD_DATA_ITEMS,\r\n payload: {\r\n currentItems,\r\n newItems\r\n }\r\n })\r\n };\r\n}\r\n\r\nfunction moveColumnData(fromColumnName, toColumnName) {\r\n return dispatch => {\r\n dispatch(applyOrCancelEdit());\r\n dispatch({\r\n type: actionTypes.MOVE_COLUMN_DATA,\r\n fromColumnName,\r\n toColumnName\r\n });\r\n }\r\n}\r\n\r\nfunction insertDataItems(newItems, index = 0) {\r\n return (dispatch, getState) => {\r\n const { dataItems, rowsLimit } = getState().grid;\r\n const currentItems = dataItems.filter(item => !item.draft);\r\n\r\n if ((currentItems.length + newItems.length) > rowsLimit) {\r\n return dispatch(dataItemsLimitError(rowsLimit));\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.INSERT_DATA_ITEMS,\r\n payload: {\r\n newItems,\r\n index\r\n }\r\n });\r\n };\r\n}\r\n\r\nfunction appendDataItems(dataItems) {\r\n return dispatch => {\r\n dispatch(hideHelp());\r\n dispatch({ type: actionTypes.APPEND_DATA_ITEMS, dataItems });\r\n }\r\n}\r\n\r\nfunction addRow(index) {\r\n return (dispatch, getState) => {\r\n const { headers } = getState().grid;\r\n const empty = createDraftDataItem(headers);\r\n\r\n dispatch(applyOrCancelEdit());\r\n dispatch(insertDataItems([empty], index));\r\n };\r\n}\r\n\r\nfunction moveRowUp(index) {\r\n return dispatch => {\r\n const newIndex = index - 1;\r\n\r\n if (newIndex >= 0) {\r\n dispatch(applyOrCancelEdit());\r\n\r\n dispatch({\r\n type: actionTypes.CHANGE_ROW_ORDER,\r\n payload: {\r\n index,\r\n newIndex\r\n }\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction moveRowDown(index) {\r\n return (dispatch, getState) => {\r\n const newIndex = index + 1;\r\n if (newIndex < getState().grid.rowsLimit) {\r\n dispatch(applyOrCancelEdit());\r\n\r\n dispatch({\r\n type: actionTypes.CHANGE_ROW_ORDER,\r\n payload: { index, newIndex }\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction clearCell() {\r\n return (dispatch, getState) => {\r\n const { position, headers, dataItems } = getState().grid;\r\n const header = headers.find(h => h.name === position.columnName);\r\n const dataItem = dataItems[position.index];\r\n\r\n if (canEdit(header, dataItem)) {\r\n if (header.type === 'file') {\r\n dispatch(addFileToDataItem(null, position));\r\n requestCancelationController.abort(history.location.pathname);\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { ...position, editing: true, editingValue: header.initialValue || '' }\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction setFocus(index, columnName) {\r\n return (dispatch, getState) => {\r\n const { position } = getState().grid;\r\n\r\n if (index !== position.index || columnName !== position.columnName) {\r\n if (position.editing) {\r\n dispatch(applyOrCancelEdit());\r\n }\r\n\r\n dispatch(hideHelp());\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index, columnName }\r\n });\r\n }\r\n }\r\n}\r\n\r\nfunction edit() {\r\n return (dispatch, getState) => {\r\n const { position, dataItems, headers } = getState().grid;\r\n const header = headers.find(h => h.name === position.columnName);\r\n const dataItem = dataItems[position.index];\r\n\r\n if (canEdit(header, dataItem)) {\r\n const value = dataItem[position.columnName];\r\n const error = dataItem.errors && dataItem.errors.find(e => e.columnName === position.columnName);\r\n\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: {\r\n ...position,\r\n editing: true,\r\n editingValue: value,\r\n editingError: error && error.message\r\n }\r\n });\r\n\r\n if (header.pattern) {\r\n const normalized = parseValue(String(value), header);\r\n if (header.pattern && !header.pattern.test(normalized)) {\r\n dispatch(editing(header.defaultValue || ''));\r\n }\r\n }\r\n\r\n if (position.columnName === columns.pxTalks.name) {\r\n dispatch(blockInput(true));\r\n dispatch(changePxTalkActions.init('', dataItem.id, dataItem[columns.ticker.name], value));\r\n } else if (position.columnName === columns.color.name) {\r\n dispatch(blockInput(true));\r\n dispatch(changeColorActions.init(dataItem[columns.ticker.name], value));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction canEdit(header, dataItem) {\r\n if (typeof header.readonlyCallback === 'function') {\r\n return !header.readonlyCallback(dataItem);\r\n }\r\n\r\n return !header.readonly;\r\n}\r\n\r\nfunction moveUp() {\r\n return (dispatch, getState) => {\r\n const { position } = getState().grid;\r\n const index = position.index;\r\n\r\n if (index > 0) {\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index: index - 1, columnName: position.columnName }\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction moveDown() {\r\n return (dispatch, getState) => {\r\n const { dataItems, position } = getState().grid;\r\n const index = position.index;\r\n\r\n if (index < dataItems.length - 1) {\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index: index + 1, columnName: position.columnName }\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction moveLeft(moveNextRow) {\r\n return (dispatch, getState) => {\r\n let { headers, position } = getState().grid;\r\n const index = headers.findIndex(h => h.name === position.columnName);\r\n\r\n if (index > 0) {\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index: position.index, columnName: headers[index - 1].name }\r\n });\r\n } else if (moveNextRow && position.index > 0) {\r\n dispatch(moveUp());\r\n let { headers, position } = getState().grid;\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index: position.index, columnName: headers[headers.length - 1].name }\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction moveRight(moveNextRow) {\r\n return (dispatch, getState) => {\r\n let { headers, position } = getState().grid;\r\n const index = headers.findIndex(h => h.name === position.columnName);\r\n\r\n if (index < headers.length - 1) {\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index: position.index, columnName: headers[index + 1].name }\r\n });\r\n } else if (moveNextRow) {\r\n dispatch(moveDown());\r\n let { headers, position } = getState().grid;\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index: position.index, columnName: headers[0].name }\r\n });\r\n\r\n }\r\n };\r\n}\r\n\r\nfunction cancelEdit() {\r\n return (dispatch, getState) => {\r\n const { position } = getState().grid;\r\n\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index: position.index, columnName: position.columnName }\r\n });\r\n }\r\n}\r\n\r\nfunction setInitialPosition(rowIndex = 0, headerIndex = 0) {\r\n return (dispatch, getState) => {\r\n const { headers } = getState().grid;\r\n\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { index: rowIndex, columnName: headers[headerIndex].name }\r\n });\r\n };\r\n}\r\n\r\nfunction clear() {\r\n return dispatch => {\r\n dispatch(applyOrCancelEdit());\r\n dispatch({ type: actionTypes.CLEAR });\r\n dispatch(appendDrafts());\r\n dispatch(setInitialPosition());\r\n dispatch(validate());\r\n };\r\n}\r\n\r\nfunction updateDataItemDraftStatus(rowIndex) {\r\n return (dispatch, getState) => {\r\n const { dataItems, headers } = getState().grid;\r\n const dataItem = dataItems[rowIndex];\r\n\r\n if (dataItem) {\r\n const draft = headers\r\n .every(h => {\r\n const value = dataItem[h.name];\r\n\r\n if (Array.isArray(h.initialValue)) {\r\n return Array.isArray(value) && value.length === 0;\r\n }\r\n\r\n return (value ?? '') === (h.initialValue ?? '');\r\n });\r\n\r\n dispatch({\r\n type: actionTypes.UPDATE_DRAFT,\r\n rowIndex,\r\n draft\r\n });\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction applyEdit() {\r\n return (dispatch, getState) => {\r\n const { dataItems, position, headers } = getState().grid;\r\n\r\n if (!position || !position.editing) {\r\n return;\r\n }\r\n\r\n const editingHeader = headers.find(h => h.name === position.columnName);\r\n const dataItem = dataItems[position.index];\r\n const editingValue = parseValue(editingHeader.type === 'file' ? dataItem[editingHeader.name] : position.editingValue, editingHeader);\r\n let errors = (dataItem.errors && dataItem.errors.filter(e => e.columnName !== position.columnName)) || [];\r\n\r\n if (position.editingError) {\r\n errors.push({\r\n columnName: position.columnName,\r\n message: position.editingError\r\n });\r\n }\r\n\r\n dispatch({ type: actionTypes.APPLY_EDIT, editingValue, errors });\r\n dispatch(updateDataItemDraftStatus(position.index));\r\n dispatch(appendDrafts());\r\n\r\n const hasColumnDependencies = typeof editingHeader.updateDependencyColumnsCallback === 'function';\r\n if (hasColumnDependencies) {\r\n dispatch(editingHeader.updateDependencyColumnsCallback(position.index));\r\n }\r\n\r\n if (((editingHeader.unique || hasColumnDependencies) &&\r\n dataItem.errors?.find(e => e.columnName === position.columnName)) || editingHeader.headerError) {\r\n dispatch(validate());\r\n }\r\n }\r\n}\r\n\r\nfunction applyOrCancelEdit() {\r\n return (dispatch, getState) => {\r\n const { position, headers } = getState().grid;\r\n const header = headers.find(c => c.name === position.columnName);\r\n\r\n if (position.editing) {\r\n if (header.cancelOnLeave) {\r\n dispatch(cancelEdit());\r\n } else {\r\n dispatch(applyEdit());\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction parseValue(value, column) {\r\n if (typeof column.parse === 'function') {\r\n return column.parse(value) || value;\r\n } else if (column.type === 'number' || column.type === 'integer') {\r\n if (value === '') {\r\n return undefined;\r\n }\r\n return numericUtils.numberOrDefault(value, value === undefined ? null : value);\r\n } else if (column.type === 'money') {\r\n return moneyUtils.parse(String(value)) || value;\r\n }\r\n\r\n return typeof value === 'string'\r\n ? value.trim()\r\n : value;\r\n}\r\n\r\nfunction orderBy(targetColumnName) {\r\n return (dispatch, getState) => {\r\n if (getState().grid.position.editing) {\r\n dispatch(applyOrCancelEdit());\r\n }\r\n\r\n const { dataItems, orderBy, position, headers } = getState().grid;\r\n\r\n const orderByUpdate = {\r\n columnName: targetColumnName,\r\n direction: orderBy && orderBy.columnName === targetColumnName\r\n ? !orderBy.direction || orderBy.direction === 'asc' ? 'desc' : 'asc'\r\n : 'asc'\r\n };\r\n\r\n const { columnName, direction } = orderByUpdate;\r\n\r\n const column = headers.find(x => x.name === columnName);\r\n\r\n const isNumber = column.type === 'number' || column.type === 'integer';\r\n const isMoney = column.type === 'money';\r\n\r\n const nonDrafts = dataItems.filter(i => !i.draft);\r\n const drafts = dataItems.filter(i => i.draft);\r\n const allSorted = [...getSortedDataItems(nonDrafts), ...drafts];\r\n\r\n dispatch({\r\n type: actionTypes.ORDER_BY,\r\n ordering: { orderBy: orderByUpdate, dataItems: allSorted }\r\n });\r\n\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { ...position, index: 0, columnName: headers[0].name }\r\n });\r\n\r\n function getSortedDataItems(dataItems) {\r\n if (isNumber || isMoney) {\r\n return dataItems.sort(compareNumbers)\r\n } else if (column.name === columns.pxTalks.name) {\r\n return dataItems.sort(comparePxTalks);\r\n } else if (column.name === columns.color.name) {\r\n return dataItems.sort(compareColors);\r\n } else if (column.name === columns.rating.name) {\r\n return dataItems.sort(compareRatings)\r\n }\r\n return dataItems.sort(compareStrings);\r\n }\r\n\r\n function compareNumbers(a, b) {\r\n const valueA = a[columnName];\r\n const valueB = b[columnName];\r\n\r\n return direction === 'asc'\r\n ? compareUtils.compareNumbersWithNullAcs(valueA, valueB)\r\n : compareUtils.compareNumbersWithNullAcs(valueB, valueA);\r\n }\r\n\r\n function compareStrings(a, b) {\r\n const valueA = a[columnName];\r\n const valueB = b[columnName];\r\n\r\n return direction === 'asc'\r\n ? compareUtils.compareStrings(valueA, valueB)\r\n : compareUtils.compareStrings(valueB, valueA);\r\n }\r\n\r\n function comparePxTalks(a, b) {\r\n const valueA = a[columnName];\r\n const valueB = b[columnName];\r\n\r\n if (direction === 'asc') {\r\n const numberA = valueA && valueA.length ? Math.min(...valueA.map(p => p.normalizedLevel)) : Number.MAX_VALUE;\r\n const numberB = valueB && valueB.length ? Math.min(...valueB.map(p => p.normalizedLevel)) : Number.MAX_VALUE;\r\n\r\n return numberA - numberB;\r\n } else {\r\n const numberA = valueA && valueA.length ? Math.max(...valueA.map(p => p.normalizedLevel)) : -1;\r\n const numberB = valueB && valueB.length ? Math.max(...valueB.map(p => p.normalizedLevel)) : -1;\r\n\r\n return numberB - numberA;\r\n }\r\n }\r\n\r\n function compareColors(a, b) {\r\n const valueA = a[columnName] ? formatUtils.formatColor(a[columnName]) : '';\r\n const valueB = b[columnName] ? formatUtils.formatColor(b[columnName]) : '';\r\n\r\n if (direction === 'asc') {\r\n if (valueA && valueB) {\r\n return valueA.localeCompare(valueB);\r\n } else if (valueA && !valueB) {\r\n return Number.MAX_VALUE;\r\n } else {\r\n return Number.MIN_VALUE;\r\n }\r\n }\r\n\r\n return valueB.localeCompare(valueA);\r\n }\r\n\r\n function compareRatings(a, b) {\r\n const valueA = a[columnName];\r\n const valueB = b[columnName];\r\n\r\n if (!Ratings.includes(valueA)) {\r\n return 1;\r\n }\r\n if (!Ratings.includes(valueB)) {\r\n return -1;\r\n }\r\n if (direction === 'asc') {\r\n return compareUtils.compareRating(valueA, valueB);\r\n }\r\n return compareUtils.compareRating(valueB, valueA);\r\n }\r\n }\r\n}\r\n\r\nfunction deleteRow(index) {\r\n return (dispatch, getState) => {\r\n\r\n const { position, dataItems, headers } = getState().grid;\r\n const dataItem = dataItems[index];\r\n\r\n if (position &&\r\n position.index > index &&\r\n position.editing) {\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: { ...position, index: position.index - 1 }\r\n });\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.DELETE_ROW,\r\n index\r\n });\r\n\r\n const empty = createDraftDataItem(headers);\r\n dispatch(appendDataItems([empty]));\r\n\r\n if (dataItem.errors &&\r\n dataItem.errors.some(e => headers.some(h => h.unique && h.name === e.columnName))) {\r\n dispatch(validate());\r\n }\r\n };\r\n}\r\n\r\nfunction addFileToDataItem(file, position) {\r\n return (dispatch, getState) => {\r\n const { dataItems } = getState().grid;\r\n\r\n const editingDataItem = dataItems[position.index];\r\n\r\n dispatch(replaceDataItem({...editingDataItem, [position.columnName]: file}, position.index));\r\n dispatch(applyEdit());\r\n }\r\n}\r\n\r\n\r\nfunction editing(value) {\r\n return (dispatch, getState) => {\r\n const { position, dataItems, headers } = getState().grid;\r\n\r\n const editingDataItem = dataItems[position.index];\r\n const error = editingDataItem.errors && editingDataItem.errors.find(e => e.columnName === position.columnName);\r\n\r\n let errorMessage = '';\r\n if (error) { //invalidated\r\n const column = headers.find(h => h.name === position.columnName);\r\n errorMessage =\r\n value === editingDataItem[position.columnName]\r\n ? error.message\r\n : validatePropertyValue(value, column, editingDataItem, dataItems).title;\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.EDITING,\r\n editing: { value, errorMessage }\r\n });\r\n }\r\n}\r\n\r\nfunction createDraftDataItem(headers) {\r\n const draft = { draft: true };\r\n for (const header of headers) {\r\n draft[header.name] = header.initialValue;\r\n }\r\n\r\n return draft;\r\n}\r\n\r\nfunction processKeyCode(keyCode, ctrl, meta, shift, deleteDisabled) {\r\n return (dispatch, getState) => {\r\n const { position, selection, dataItems, inputBlocked, headers } = getState().grid;\r\n\r\n if (inputBlocked) {\r\n return;\r\n }\r\n\r\n const isMovement = !shift && ((keyCode >= 37 && keyCode <= 40) || keyCode === 9);\r\n const moveUpOrDown = isMovement && (keyCode === 38 || keyCode === 40);\r\n const isEnteringValue = !ctrl && !meta && keyCode >= 48 && keyCode <= 90; //0-9, A-Z\r\n dispatch(hideHelp());\r\n\r\n const column = headers.find(h => h.name === position.columnName);\r\n const dataItem = position?.index == null ? undefined : dataItems[position.index];\r\n const readonly = column.readonly || dataItem?.readonly;\r\n\r\n if (!(position && column) && isMovement) {\r\n dispatch(setInitialPosition());\r\n } else {\r\n if ((isMovement || shift) && position.editing) {\r\n if (column.type === 'select' || moveUpOrDown || keyCode === 9) {\r\n dispatch(applyOrCancelEdit());\r\n } else {\r\n return;\r\n }\r\n } else if (isEnteringValue && !position.editing && !readonly) {\r\n dispatch(clearCell());\r\n }\r\n\r\n switch (keyCode) {\r\n case 13: position.editing\r\n ? !column.cancelOnLeave && dispatch(applyEdit())\r\n : !readonly && dispatch(edit());\r\n break;\r\n case 27: dispatch(cancelEdit()); break;\r\n case 37: dispatch(moveLeft()); break;\r\n case 38: shift\r\n ? dispatch(selectTop(selection, position))\r\n : dispatch(moveUp()); break;\r\n case 9: shift\r\n ? dispatch(moveLeft(true))\r\n : dispatch(moveRight(true));\r\n break;\r\n case 39: dispatch(moveRight()); break;\r\n case 40: shift\r\n ? dispatch(selectBottom(selection, position, dataItems.length))\r\n : dispatch(moveDown()); break;\r\n case 8:\r\n case 46: {\r\n if (selection.length && !deleteDisabled) {\r\n dispatch(deleteSelected());\r\n } else if (!readonly && position && !position.editing) {\r\n dispatch(clearCell());\r\n }\r\n break;\r\n }\r\n default:\r\n dispatch({ type: actionTypes.SAME_POSITION });\r\n };\r\n }\r\n }\r\n}\r\n\r\nfunction selectRow(index, ctrl, shift) {\r\n const { selection, position } = store.getState().grid;\r\n if (ctrl) {\r\n const selectedIndex = selection.indexOf(index);\r\n\r\n return selectedIndex >= 0\r\n ? setSelection(arrayUtils.removeAt(selection, selectedIndex))\r\n : setSelection([...new Set([...selection, index])]);\r\n } else if (shift) {\r\n const start = Math.min(index, position.index);\r\n const end = Math.max(index, position.index);\r\n const indexes = arrayUtils.arrayFromRange(start, end);\r\n\r\n return setSelection([...arrayUtils.removeMany(selection, indexes), ...indexes]);\r\n }\r\n\r\n return setSelection([index]);\r\n}\r\n\r\nfunction selectTop(selection, position) {\r\n if (selection.length > 0) {\r\n const lastSelectedIndex = selection[selection.length - 1];\r\n if (lastSelectedIndex > 0) {\r\n const nextIndex = lastSelectedIndex - 1;\r\n const reverse =\r\n selection.indexOf(nextIndex) >= 0 &&\r\n selection.indexOf(lastSelectedIndex + 1) < 0;\r\n\r\n return reverse\r\n ? setSelection(arrayUtils.removeRight(selection)) // reset selection of last selected row\r\n : setSelection([...selection.filter(i => i !== nextIndex), nextIndex]);\r\n }\r\n } else if (position && position.index) {\r\n return setSelection([position.index]);\r\n }\r\n\r\n return { type: actionTypes.SAME_POSITION };\r\n}\r\n\r\nfunction selectBottom(selection, position, limit) {\r\n if (selection.length > 0) {\r\n const lastSelectedIndex = selection[selection.length - 1];\r\n if (lastSelectedIndex < limit - 1) {\r\n const nextIndex = lastSelectedIndex + 1;\r\n const reverse =\r\n selection.indexOf(nextIndex) >= 0 &&\r\n selection.indexOf(lastSelectedIndex - 1) < 0;\r\n\r\n return reverse\r\n ? setSelection(arrayUtils.removeRight(selection)) // reset selection of last selected row\r\n : setSelection([...selection.filter(i => i !== nextIndex), nextIndex]);\r\n }\r\n } else if (position) {\r\n return setSelection([position.index]);\r\n }\r\n\r\n return { type: actionTypes.SAME_POSITION };\r\n}\r\n\r\nfunction setSelection(selection) {\r\n return (dispatch, getState) => {\r\n const { headers, position } = getState().grid;\r\n\r\n if (position.editing) {\r\n dispatch(applyOrCancelEdit());\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.POSITION_CHANGE,\r\n position: {\r\n index: selection.length ? selection[selection.length - 1] : 0,\r\n columnName: headers[0].name\r\n }\r\n });\r\n\r\n dispatch({\r\n type: actionTypes.SET_SELECTION,\r\n selection\r\n });\r\n }\r\n}\r\n\r\nfunction appendDrafts() {\r\n return (dispatch, getState) => {\r\n const { dataItems, headers, rowsLimit, minDrafts } = getState().grid;\r\n\r\n if (dataItems.length < rowsLimit) {\r\n const draftCountToAdd = minDrafts ? calculateMinDraftToAdd(dataItems, minDrafts) : calculateFixedGridDraftToAdd(dataItems, rowsLimit);\r\n\r\n if (draftCountToAdd > 0) {\r\n const draft = createDraftDataItem(headers);\r\n const drafts = Array(draftCountToAdd).fill(draft);\r\n dispatch(appendDataItems(drafts));\r\n }\r\n }\r\n }\r\n\r\n function calculateMinDraftToAdd(dataItems, minDrafts) {\r\n const nonDraftCount = dataItems.filter((i) => !i.draft).length;\r\n\r\n return minDrafts - nonDraftCount;\r\n }\r\n\r\n function calculateFixedGridDraftToAdd(dataItems, rowsLimit) {\r\n return rowsLimit - dataItems.length;\r\n }\r\n}\r\n\r\nfunction deleteSelected() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.DELETE_SELECTED });\r\n dispatch(setInitialPosition());\r\n dispatch(validate());\r\n }\r\n}\r\n\r\nfunction deleteDataItemsWithErrors() {\r\n return dispatch => {\r\n dispatch(validate());\r\n dispatch({ type: actionTypes.DELETE_INVALID });\r\n dispatch(appendDrafts());\r\n dispatch(validate());\r\n }\r\n}\r\n\r\nfunction deleteFlaggedDataItems() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.DELETE_FLAGGED });\r\n dispatch(appendDrafts());\r\n dispatch(validate());\r\n }\r\n}\r\n\r\nfunction validate() {\r\n return (dispatch, getState) => {\r\n const { position } = getState().grid;\r\n\r\n if (position.editing) {\r\n dispatch(applyOrCancelEdit());\r\n }\r\n\r\n const { dataItems, headers } = getState().grid;\r\n\r\n const drafts = dataItems.filter(s => s.draft);\r\n const dirty = dataItems.filter(s => !s.draft);\r\n\r\n const validationResult = dirty.map(s =>\r\n validateDataItem(\r\n headers,\r\n { ...s },\r\n dirty)\r\n );\r\n\r\n const validatedHeaders = validateHeaders(headers, dataItems);\r\n\r\n const isValid =\r\n validatedHeaders.every(h => !h.headerError) &&\r\n validationResult.length > 0 &&\r\n validationResult.every(s => s.errors.length === 0);\r\n\r\n validationResult.push(...drafts);\r\n\r\n dispatch({\r\n type: actionTypes.VALIDATE,\r\n validation: {\r\n headers: validatedHeaders,\r\n dataItems: validationResult,\r\n isValid\r\n }\r\n });\r\n };\r\n}\r\n\r\nfunction validateHeaders(headers, dataItems) {\r\n return headers.map(column => {\r\n if (typeof column.validateHeader === 'function') {\r\n return { ...column, headerError: column.validateHeader(dataItems) }\r\n }\r\n return column;\r\n })\r\n}\r\n\r\nfunction validateDataItem(headers, dataItem, dataItems) {\r\n dataItem.errors = headers\r\n .map(h => {\r\n const message = validatePropertyValue(dataItem[h.name], h, dataItem, dataItems);\r\n return message.title ? { columnName: h.name, message: message.title, isDuplicated: message.isDuplicated } : null;\r\n })\r\n .filter(e => e);\r\n\r\n return dataItem;\r\n}\r\n\r\nfunction validatePropertyValue(value, column, dataItem, dataItems) {\r\n const title = column.titleForError || column.title;\r\n if (column.required && (value == null || value.length === 0)) {\r\n const { required = '' } = column.errorMessages || {};\r\n return { title: required || `${title} is required` };\r\n }\r\n\r\n if (typeof column.validate === 'function') {\r\n const error = column.validate(value, dataItem, dataItems);\r\n if (error) {\r\n return { title: error };\r\n }\r\n }\r\n\r\n if (!stringUtils.isNullOrEmpty(value)) {\r\n if (column.type === 'number' || column.type === 'money' || column.type === 'integer') {\r\n const number = parseValue(value, column);\r\n if (!numericUtils.isNumber(number)) {\r\n return { title: `${title} should be a number` };\r\n }\r\n\r\n if (column.type === 'integer' && !/^[0-9]*$/.test(number)) {\r\n return { title: `${title} should be an integer number` };\r\n }\r\n\r\n const min = typeof column.min === 'function' ? column.min(dataItem) : column.min;\r\n const max = typeof column.max === 'function' ? column.max(dataItem) : column.max;\r\n\r\n if (min != null && max != null) {\r\n if (number < min || number > max) {\r\n return { title: `${title} should be in the range of ${column.format(min)} to ${column.format(max)}` };\r\n }\r\n } else if (min != null && number < min) {\r\n return { title: `${title} should be greater than or equal to ${column.format(min)}` };\r\n } else if (max != null && number > max) {\r\n return { title: `${title} should be less than or equal to ${column.format(max)}` };\r\n }\r\n }\r\n\r\n if (column.length && value.length > column.length) {\r\n return { title: `${title} can be ${column.length} characters max` };\r\n }\r\n\r\n if (column.pattern && !column.pattern.test(String(parseValue(value, column)))) {\r\n return { title: `${title} is invalid` };\r\n }\r\n\r\n if (column.unique) {\r\n const duplicates =\r\n dataItems.filter(item =>\r\n String(value).localeCompare(\r\n item[column.name] || '',\r\n undefined,\r\n { sensitivity: 'accent' }) === 0);\r\n\r\n if (duplicates.length > 1) {\r\n return { title: `${title} is not unique`, isDuplicated: true };\r\n }\r\n }\r\n\r\n let source = column.selectSourceItemsCallback ? column.selectSourceItemsCallback() : [];\r\n const { contactsSave } = store.getState();\r\n if (column.name === columns.company.name) {\r\n source = contactsSave.companies.map(c => c.name);\r\n } else if (column.name === columns.ticker.name) {\r\n if (value.length > columns.ticker.length || !isTickerValid(value)) {\r\n return { title: `${title} is invalid` };\r\n }\r\n }\r\n\r\n if (source.length) {\r\n const errorMessage = validateRange(column.name, value, source);\r\n if (errorMessage) {\r\n return { title: errorMessage };\r\n }\r\n }\r\n }\r\n\r\n return { title: '' };\r\n}\r\n\r\nfunction isTickerValid(ticker) {\r\n const index = ticker.lastIndexOf(' ');\r\n return index > 0 && index < ticker.length - 1;\r\n}\r\n\r\nfunction validateRange(columnName, value, allowedValues) {\r\n const isValid = allowedValues.some(a =>\r\n String(a.key ?? a).localeCompare(value, undefined, { sensitivity: 'accent' }) === 0);\r\n\r\n if (!isValid) {\r\n return `${columnName} is not valid`;\r\n }\r\n}\r\n\r\nfunction showHelp() {\r\n return { type: actionTypes.SHOW_HELP };\r\n}\r\n\r\nfunction hideHelp() {\r\n return (dispatch, getState) => {\r\n const { showHelp } = getState().grid;\r\n\r\n if (showHelp) {\r\n dispatch({ type: actionTypes.HIDE_HELP });\r\n }\r\n }\r\n}\r\n\r\nfunction setUploadState(status, progress = 0, filename) {\r\n return (dispatch, getState) => {\r\n const { upload } = getState().grid;\r\n\r\n if (upload.status !== uploadStatus.uploading ||\r\n upload.progress === 100 ||\r\n status === uploadStatus.uploading) {\r\n dispatch({\r\n type: actionTypes.DATA_ITEMS_UPLOAD_STATE,\r\n state: { status, progress: Math.floor(progress), filename }\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return { type: actionTypes.RESET };\r\n}\r\n\r\nfunction blockInput(block) {\r\n return (dispatch, getState) => {\r\n const { inputBlocked } = getState().grid;\r\n\r\n if (inputBlocked !== block) {\r\n dispatch({\r\n type: actionTypes.BLOCK_INPUT,\r\n block\r\n })\r\n }\r\n };\r\n}\r\n\r\nfunction dataProcessing(isDataProcessing) {\r\n return {\r\n type: actionTypes.DATA_PROCESSING,\r\n isDataProcessing\r\n };\r\n}\r\n","import { errorActions as actionTypes, errorMessages } from '../constants';\r\nimport { logger } from '../logging/logger';\r\nimport { jsonUtils } from '../utils';\r\nimport { notificationActions } from './notification.actions';\r\n\r\nexport const errorActions = {\r\n criticalError,\r\n error,\r\n unexpectedError,\r\n resetError,\r\n isRequestCancelationError\r\n};\r\n\r\nfunction criticalError(error) {\r\n if (isRequestCancelationError(error)) {\r\n return {\r\n type: actionTypes.REQUEST_CANCELATION_ERROR,\r\n error\r\n };\r\n }\r\n\r\n return {\r\n type: actionTypes.CRITICAL_ERROR,\r\n error\r\n };\r\n}\r\n\r\nexport function isRequestCancelationError(error) {\r\n return error && error.name === 'AbortError';\r\n}\r\n\r\nfunction error(error, message, caption) {\r\n if (isRequestCancelationError(error)) {\r\n return {\r\n type: actionTypes.REQUEST_CANCELATION_ERROR,\r\n error\r\n };\r\n } else if (error && +error.status === 401) {\r\n return criticalError(error);\r\n }\r\n\r\n const errorJson = error && error.message && jsonUtils.tryParse(error.message);\r\n message = (errorJson && errorJson.error) || (error && error.message) || message;\r\n caption = (errorJson && errorJson.title) || caption;\r\n\r\n const isModal = (errorJson && errorJson.displayInModal) || false;\r\n const refreshButtonVisible = Boolean(errorJson && errorJson.refreshButtonVisible);\r\n\r\n logger.exception(message, error);\r\n\r\n return isModal\r\n ? notificationActions.notificationAddErrorMessageModal(message, caption || errorMessages.error, refreshButtonVisible)\r\n : notificationActions.notificationAddErrorMessage(message, caption || errorMessages.error);\r\n}\r\n\r\nfunction unexpectedError(err) {\r\n return error(err, errorMessages.unexpectedError);\r\n}\r\n\r\nfunction resetError() {\r\n return { type: actionTypes.ERROR_RESET }\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\n\r\nconst reset = createAction('ui/table/RESET');\r\nconst hoverChange = createAction('ui/table/HOVER',\r\n resolve => (rowKey: string, hover: boolean) => resolve({ rowKey, hover })\r\n);\r\nconst expandedChange = createAction('ui/table/EXPANDED',\r\n resolve => (rowKey: string, expanded: boolean) => resolve({ rowKey, expanded })\r\n);\r\nconst resetExpanded = createAction('ui/table/RESET_EXPANDED');\r\n\r\nconst sortByChange = createAction('ui/table/SORT_BY',\r\n resolve => (tableKey: string, sortBy: string, sortDirection: string, sortingType: string) =>\r\n resolve({ tableKey, sortBy, sortDirection, sortingType })\r\n);\r\n\r\nexport const tableActions = {\r\n hoverChange,\r\n expandedChange,\r\n resetExpanded,\r\n sortByChange,\r\n reset\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { AgencyRatings } from '../types/models/rating/AgencyRatings';\r\nimport { RatingMap } from '../types/models/rating/RatingMap';\r\nimport { BwicPositionBase } from '../types/bwic/BwicPositionBase';\r\nimport { InventoryPosition } from '../types/inventory/InventoryPosition';\r\n\r\nconst securityDetailsReset = createAction('securityDetails/RESET');\r\nconst securityDetailsInitRequest = createAction('securityDetails/INIT_REQUEST',\r\n resolve => (security: BwicPositionBase | InventoryPosition, fetchAgencyRatings?: boolean) =>\r\n resolve({ security, fetchAgencyRatings })\r\n);\r\nconst securityDetailsInitSuccess = createAction('securityDetails/INIT_SUCCESS',\r\n resolve => (ratings: AgencyRatings, mappings: RatingMap[]) =>\r\n resolve({ ratings, mappings })\r\n);\r\nconst securityDetailsInitFailure = createAction('securityDetails/INIT_FAILURE',\r\n resolve => (error: string) => resolve({ error })\r\n);\r\n\r\nexport const securityDetailsActions = {\r\n securityDetailsInitRequest,\r\n securityDetailsInitFailure,\r\n securityDetailsInitSuccess,\r\n securityDetailsReset\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { SettlementAgentAgreement } from '../types/bid-as-dealer/SettlementAgentAgreement';\r\n\r\nconst request = createAction('entities/settlement-agent-agreements/REQUEST');\r\nconst requestResult = createAction('entities/settlement-agent-agreements/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, result: SettlementAgentAgreement[] = []) =>\r\n resolve({ requestState, result })\r\n);\r\nconst pushDataReceived = createAction(\r\n 'entities/settlement-agent-agreements/PUSH_DATA_RECEIVED',\r\n resolve => (agreement: SettlementAgentAgreement) => resolve({ agreement })\r\n);\r\nconst resetEntities = createAction('entities/settlement-agent-agreements/RESET');\r\n\r\nexport const settlementAgentAgreementActions = {\r\n request,\r\n requestResult,\r\n pushDataReceived,\r\n resetEntities\r\n};\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { Contact } from '../types/company/Contact';\r\nimport { SaveContactModel } from '../types/company/Contact';\r\n\r\nconst setDealerExpanded = createAction(\r\n 'dealer-list/SET_DEALER_EXPANDED',\r\n resolve => (dealerId: number) => resolve({ dealerId })\r\n);\r\nconst expandDealers = createAction(\r\n 'dealer-list/SET_DEALER_EXPANDED_ALL',\r\n resolve => (dealers: { [key: number]: boolean }, expandedAll: boolean) => resolve({ dealers, expandedAll })\r\n);\r\nconst toggleExpandedAllDealers = createAction('dealer-list/TOGGLE_EXPAND_ALL_DEALERS');\r\nconst setExpandAllDealers = createAction('dealer-list/SET_EXPAND_ALL_DEALERS',\r\n resolve => (expandedAll: boolean) => resolve(expandedAll)\r\n);\r\nconst setEditableContact = createAction(\r\n 'dealer-list/SET_EDITABLE_CONTACT',\r\n resolve => (contact: Contact, dealerName?: string) => resolve({ contact, dealerName })\r\n);\r\nconst editableContactUpdateDealer = createAction(\r\n 'dealer-list/EDITABLE_CONTACT_UPDATE_DEALER',\r\n resolve => (dealerName: string) => resolve({ dealerName })\r\n);\r\nconst editableContactSave = createAction(\r\n 'dealer-list/EDITABLE_CONTACT_SAVE',\r\n resolve => (contact: SaveContactModel) => resolve({ contact })\r\n);\r\nconst editableContactSetRequestStatus = createAction(\r\n 'dealer-list/EDITABLE_CONTACT_SET_REQUEST_STATUS',\r\n resolve => (requestStatus: boolean) => resolve({ requestStatus })\r\n);\r\nconst deleteContact = createAction(\r\n 'dealer-list/DELETE_CONTACT',\r\n resolve => (contactId: number) => resolve({ contactId })\r\n);\r\nconst contactInviteToJoin = createAction(\r\n 'dealer-list/CONTACT_INVITE_TO_JOIN',\r\n resolve => (contactId: number) => resolve({ contactId })\r\n);\r\nconst distributionListInviteToJoin = createAction(\r\n 'dealer-list/DISTRIBUTION_LIST_INVITE_TO_JOIN',\r\n resolve => (dealerId: number) => resolve({ dealerId })\r\n);\r\nconst headOfTradingInviteToJoin = createAction(\r\n 'dealer-list/HEAD_OF_TRADING_INVITE_TO_JOIN',\r\n resolve => (dealerId: number) => resolve({ dealerId })\r\n);\r\nconst contactInviteToJoinSetRequestStatus = createAction(\r\n 'dealer-list/CONTACT_INVITE_TO_JOIN_SET_REQUEST_STATUS',\r\n resolve => (contactId: number, requestStatus: boolean) => resolve({ contactId, requestStatus })\r\n);\r\nconst resetEditableContact = createAction('dealer-list/RESET_EDITABLE_CONTACT');\r\nconst reset = createAction('dealer-list/RESET');\r\n\r\nexport const dealerListActions = {\r\n setDealerExpanded,\r\n expandDealers,\r\n toggleExpandedAllDealers,\r\n setExpandAllDealers,\r\n setEditableContact,\r\n editableContactUpdateDealer,\r\n editableContactSave,\r\n editableContactSetRequestStatus,\r\n resetEditableContact,\r\n deleteContact,\r\n contactInviteToJoin,\r\n distributionListInviteToJoin,\r\n headOfTradingInviteToJoin,\r\n contactInviteToJoinSetRequestStatus,\r\n reset\r\n};\r\n","import { saveAs } from 'file-saver';\r\nimport { cloneDeep, noop } from 'lodash';\r\nimport { portfolioActions as actionTypes, routes } from '../constants';\r\nimport { controlPanelActions, errorActions, rulesActions, searchSecuritiesActions } from '.';\r\nimport { portfolioService } from '../services/portfolio.service';\r\nimport { apiUtils } from '../utils';\r\nimport { securityDetailsActions } from './security.details.actions';\r\nimport { portfolioListActions } from './portfolio-list.actions';\r\nimport { getPortfolios } from '../selectors/portfolio.selector';\r\nimport { createFilterActions } from \"./filter.actions\";\r\nimport { BwicFilterType } from \"../types/filters/FilterState\";\r\nimport {\r\n identifiers, multipleCurrencies, ratings, dealsLegalNames, collateralTypes, collateralManagers, esg, euCompliance,\r\n staticDeals, nonCallEndFrom, nonCallEndTo, reinvestmentEndFrom, reinvestmentEndTo, dateFrom, dateTo, trustees, amr, outOfRI, outOfNC\r\n} from \"../utils/filtering/serializers/serializer.definitions\";\r\nimport { queryStringSerializer } from \"../utils/filtering\";\r\nimport { convertToApiCriteria, getYearsRange } from '../utils/filtering/filter.utils';\r\nimport { selectedDateOptions } from \"../utils/amr-pipeline-filter.utils\";\r\nimport { bwicLogActions } from './bwic-log.actions';\r\nimport { history } from '../history';\r\nimport { emailPreferencesActions } from './email-preferences.actions';\r\nimport { latestTransactionActions } from './entities/latest-transaction.actions';\r\nimport { arrangersPipelineActions } from './entities/arrangers-pipeline.actions';\r\n\r\nconst filterActions = createFilterActions(BwicFilterType.Portfolio);\r\n\r\nexport const portfolioActions = {\r\n applyFilter,\r\n reset,\r\n togglePortfolioExpanded,\r\n portfolioSelectionChange,\r\n deletePortfolioConfirmation,\r\n deletePortfolio,\r\n portfolioSecuritySelectionChange,\r\n showBwicDetails,\r\n resetRowSelection,\r\n newPortfolioDialog,\r\n newPortfolio,\r\n exportAll,\r\n createBwicConfirmed,\r\n expandAllChange,\r\n updatePortfoliosAlertStatus,\r\n hideActivePanels,\r\n applySearchInput,\r\n resetFilter,\r\n advancedFilterBlocked\r\n}\r\n\r\nfunction applyFilter() {\r\n return (dispatch) => {\r\n dispatch(filterActions.applyFilter());\r\n dispatch(redirectWithFilterArguments());\r\n }\r\n}\r\n\r\nfunction applySearchInput() {\r\n return dispatch => {\r\n dispatch(hideActivePanels());\r\n dispatch(redirectWithFilterArguments());\r\n }\r\n}\r\n\r\nfunction resetFilter() {\r\n return dispatch => {\r\n dispatch(filterActions.resetFiltersAndUnselectSavedFilter());\r\n dispatch(redirectWithFilterArguments());\r\n dispatch(filterActions.applyFilter());\r\n }\r\n}\r\n\r\nfunction redirectWithFilterArguments() {\r\n return (dispatch, getState) => {\r\n const { filters, searchSecurities } = getState();\r\n const filterCriteria = getFilterCriteria(filters.portfolio.filter, searchSecurities?.searchTermItems);\r\n const serializers = [\r\n identifiers(),\r\n ratings(),\r\n multipleCurrencies(),\r\n dealsLegalNames(),\r\n collateralTypes(),\r\n collateralManagers(),\r\n esg(),\r\n euCompliance(),\r\n staticDeals(),\r\n nonCallEndFrom(),\r\n nonCallEndTo(),\r\n reinvestmentEndFrom(),\r\n reinvestmentEndTo(),\r\n dateFrom(noop, 'maturityFrom'),\r\n dateTo(noop, 'maturityTo'),\r\n dateFrom(noop, 'vintageFrom'),\r\n dateTo(noop, 'vintageTo'),\r\n dateFrom(noop, 'closingFrom'),\r\n dateTo(noop, 'closingTo'),\r\n trustees(),\r\n amr(),\r\n outOfNC(),\r\n outOfRI(),\r\n ];\r\n const queryString = queryStringSerializer.serialize(filterCriteria, serializers);\r\n history.replace(`${history.location.pathname}${queryString ? '?' : ''}${queryString}`);\r\n };\r\n}\r\n\r\nfunction getFilterCriteria(filter, searchTermItems) {\r\n const nonCallEndYears = getYearsRange(filter.nonCallEnd);\r\n const reinvestmentEndYears = getYearsRange(filter.reinvestmentEnd);\r\n\r\n const nonCallEndDateRange = selectedDateOptions(filter.nonCallEnd);\r\n const reinvestmentEndDateRange = selectedDateOptions(filter.reinvestmentEnd);\r\n\r\n const defaultDateRange = { dateFrom: undefined, dateTo: undefined };\r\n\r\n const maturityRange = filter.maturity.filter.selectedOption\r\n ? convertToApiCriteria(filter.maturity.filter.selectedOption, filter.maturity.filter.options)\r\n : defaultDateRange;\r\n const vintageRange = filter.vintage.filter.selectedOption\r\n ? convertToApiCriteria(filter.vintage.filter.selectedOption, filter.vintage.filter.options)\r\n : defaultDateRange;\r\n const closingRange = filter.closing.filter.selectedOption\r\n ? convertToApiCriteria(filter.closing.filter.selectedOption, filter.closing.filter.options)\r\n : defaultDateRange;\r\n\r\n return {\r\n isinCusipsAndTickers: searchTermItems,\r\n currency: filter.currency?.filter.filter(f => f.selected).map(f => f.value),\r\n ratings: filter.ratings?.filter.filter(f => f.selected).map(f => f.value),\r\n dealsLegalNames: filter.dealName?.filter.filter(f => f.selected).map(f => f.value),\r\n collateralTypes: filter.collateralType?.filter.filter(f => f.selected).map(f => f.value),\r\n collateralManagers: filter.managers?.filter.filter(f => f.selected).map(f => f.value),\r\n esg: filter.esg?.filter.selectedOption,\r\n euCompliance: filter.euCompliance?.filter.selectedOption,\r\n staticDeals: filter.staticDeal?.filter.selectedOption,\r\n nonCallEndFrom: nonCallEndYears.from ?? nonCallEndDateRange.from,\r\n nonCallEndTo: nonCallEndYears.to ?? nonCallEndDateRange.to,\r\n nonCallEndFromDate: nonCallEndDateRange.from,\r\n nonCallEndToDate: nonCallEndDateRange.to,\r\n reinvestmentEndFrom: reinvestmentEndYears.from ?? reinvestmentEndDateRange.from,\r\n reinvestmentEndTo: reinvestmentEndYears.to ?? reinvestmentEndDateRange.to,\r\n reinvestmentEndFromDate: reinvestmentEndDateRange.from,\r\n reinvestmentEndToDate: reinvestmentEndDateRange.to,\r\n maturityFrom: maturityRange.dateFrom,\r\n maturityTo: maturityRange.dateTo,\r\n vintageFrom: vintageRange.dateFrom,\r\n vintageTo: vintageRange.dateTo,\r\n closingFrom: closingRange.dateFrom,\r\n closingTo: closingRange.dateTo,\r\n trustees: filter.trustees?.filter.filter(f => f.selected).map(f => f.value),\r\n amr: filter.amr?.filter.selectedOption,\r\n outOfNC: filter.outOfNC?.filter.selectedOption,\r\n outOfRI: filter.outOfRI?.filter.selectedOption,\r\n }\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch(filterActions.resetFiltersAndUnselectSavedFilter());\r\n dispatch({ type: actionTypes.RESET });\r\n dispatch(searchSecuritiesActions.reset());\r\n dispatch(errorActions.resetError());\r\n dispatch(controlPanelActions.hide());\r\n dispatch(latestTransactionActions.reset());\r\n dispatch(arrangersPipelineActions.reset());\r\n };\r\n}\r\n\r\nfunction togglePortfolioExpanded(portfolioId) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.EXPANDED_CHANGE,\r\n portfolioId\r\n });\r\n\r\n const { expandedState, expandAll } = getState().portfolio;\r\n const filteredPortfolios = getPortfolios(getState());\r\n\r\n if (filteredPortfolios.every(p => getExpandedState(p.id) !== expandAll)) {\r\n dispatch(expandAllChange(!expandAll, expandedState));\r\n }\r\n\r\n function getExpandedState(portfolioId) {\r\n return expandedState[portfolioId] == null ? true : expandedState[portfolioId];\r\n }\r\n };\r\n}\r\n\r\nfunction portfolioSelectionChange(portfolioId, selectAll) {\r\n return (dispatch, getState) => {\r\n const portfolio = getPortfolios(getState()).find(p => p.id === portfolioId);\r\n\r\n if (!portfolio) return;\r\n\r\n const selectedState = {\r\n ...getState().portfolio.selectedState,\r\n [portfolioId]: {\r\n selectAll,\r\n securitiesSelectedState: selectAll\r\n ? apiUtils.normalize(portfolio.securities, p => p.id, () => true)\r\n : {}\r\n }\r\n };\r\n\r\n dispatch({\r\n type: actionTypes.PORTFOLIO_SELECTED_CHANGE,\r\n selectedState\r\n });\r\n }\r\n}\r\n\r\nfunction portfolioSecuritySelectionChange(portfolioId, portfolioSecurityId, selected) {\r\n return (dispatch, getState) => {\r\n const portfolio = getState().entities.portfolios.items.find(p => p.id === portfolioId);\r\n\r\n if (!portfolio) return;\r\n\r\n const currentSelectedState = getState().portfolio.selectedState;\r\n const portfolioSelectedState = currentSelectedState[portfolioId]\r\n ? { ...currentSelectedState[portfolioId] }\r\n : { securitiesSelectedState: {} };\r\n\r\n const checkSelectedState = selected =>\r\n portfolio.securities.every(s => Boolean(portfolioSelectedState.securitiesSelectedState[s.id]) === selected)\r\n\r\n portfolioSelectedState.securitiesSelectedState[portfolioSecurityId] = selected;\r\n portfolioSelectedState.selectAll = checkSelectedState(true)\r\n ? true\r\n : checkSelectedState(false) ? false : !!portfolioSelectedState.selectAll;\r\n\r\n const selectedState = {\r\n ...currentSelectedState,\r\n [portfolioId]: portfolioSelectedState\r\n };\r\n\r\n dispatch({\r\n type: actionTypes.PORTFOLIO_SELECTED_CHANGE,\r\n selectedState\r\n });\r\n }\r\n}\r\n\r\nfunction deletePortfolioConfirmation(visible, portfolio) {\r\n if (visible) {\r\n return {\r\n type: actionTypes.DELETE_PORTFOLIO_CONFIRMATION,\r\n confirmation: {\r\n visible,\r\n portfolio\r\n }\r\n };\r\n }\r\n\r\n return {\r\n type: actionTypes.DELETE_PORTFOLIO_CONFIRMATION,\r\n confirmation: {}\r\n };\r\n}\r\n\r\nfunction deletePortfolio(portfolioId) {\r\n return (dispatch, getState) => {\r\n dispatch(deletePortfolioConfirmation());\r\n portfolioService\r\n .deletePortfolio(portfolioId)\r\n .then(deleted)\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n\r\n function deleted() {\r\n dispatch(portfolioListActions.deletePortfolio(portfolioId));\r\n const { securityDetails, entities } = getState();\r\n\r\n if (securityDetails.security &&\r\n !entities.portfolios.items.some(p => p.securities.some(s => s.id === securityDetails.security.id))) {\r\n dispatch(securityDetailsActions.securityDetailsReset());\r\n }\r\n\r\n if (securityDetails.security &&\r\n !entities.portfolios.items.some(p => p.securities.some(s => s.id === bwicLogActions.security.id))) {\r\n dispatch(bwicLogActions.bwicLogReset());\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction showBwicDetails(selectedSecurity, currentBwicHistoryItem) {\r\n return {\r\n type: actionTypes.SHOW_BWIC_DETAILS,\r\n currentBwicHistoryItem,\r\n selectedSecurity\r\n };\r\n}\r\n\r\nfunction resetRowSelection() {\r\n return { type: actionTypes.SHOW_BWIC_DETAILS }\r\n}\r\n\r\nfunction newPortfolioDialog(visible) {\r\n return {\r\n type: actionTypes.NEW_PORTFOLIO_DIALOG,\r\n newPortfolio: { visible }\r\n };\r\n}\r\n\r\nfunction newPortfolio(title) {\r\n return dispatch => {\r\n dispatch(newPortfolioDialog(false));\r\n portfolioService\r\n .createPortfolio(title)\r\n .then(({ referenceName }) => history.push(routes.editPortfolioUrl(referenceName)))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n };\r\n}\r\n\r\nfunction setPortfolioExportingStatus(status) {\r\n return { type: actionTypes.PORTFOLIO_SET_IS_REQUESTING_EXPORT, payload: { status } }\r\n}\r\n\r\nfunction exportAll() {\r\n return (dispatch, getState) => {\r\n const { filters, searchSecurities } = getState();\r\n const filterCriteria = getFilterCriteria(filters.portfolio.filter, searchSecurities?.searchTermItems);\r\n filterCriteria.identifiers = filterCriteria.isinCusipsAndTickers;\r\n filterCriteria.currency = filterCriteria.currency.length === 1 ? filterCriteria.currency[0] : undefined;\r\n filterCriteria.nonCallEndFromYear = filterCriteria.nonCallEndFromDate ? undefined : filterCriteria.nonCallEndFrom;\r\n filterCriteria.nonCallEndToYear = filterCriteria.nonCallEndToDate ? undefined : filterCriteria.nonCallEndTo;\r\n filterCriteria.reinvestmentEndFromYear = filterCriteria.reinvestmentEndFromDate ? undefined : filterCriteria.reinvestmentEndFrom;\r\n filterCriteria.reinvestmentEndToYear = filterCriteria.reinvestmentEndToDate ? undefined : filterCriteria.reinvestmentEndTo;\r\n\r\n dispatch(setPortfolioExportingStatus(true));\r\n portfolioService\r\n .exportPortfolios(filterCriteria)\r\n .then(file => saveAs(file.blob, file.name || 'portfolios.csv'))\r\n .catch((e) => errorActions.unexpectedError(e))\r\n .finally(() => dispatch(setPortfolioExportingStatus(false)));\r\n };\r\n}\r\n\r\nfunction createBwicConfirmed() {\r\n return (dispatch, getState) => {\r\n const portfolios = getState().entities.portfolios.items;\r\n const selectedState = getState().portfolio.selectedState;\r\n\r\n const securities = getSelectedSecurities(portfolios, selectedState);\r\n history.push(routes.newBWIC, { securities: cloneDeep(groupSecurities(securities)) });\r\n };\r\n}\r\n\r\nfunction groupSecurities(securities) {\r\n const grouped = [];\r\n\r\n securities.forEach(s => {\r\n const duplicate = grouped.find(g => g.securityId === s.securityId);\r\n if (duplicate) {\r\n duplicate.size += +s.size;\r\n } else {\r\n grouped.push(s);\r\n }\r\n });\r\n\r\n return grouped;\r\n}\r\n\r\nfunction getSelectedSecurities(portfolios, selectedState) {\r\n return portfolios\r\n .map(p => p.securities.filter(s =>\r\n selectedState[p.id] &&\r\n selectedState[p.id].securitiesSelectedState &&\r\n selectedState[p.id].securitiesSelectedState[s.id]))\r\n .flat();\r\n}\r\n\r\nfunction expandAllChange(expandAll, expandedState) {\r\n return {\r\n type: actionTypes.EXPAND_ALL,\r\n expandAll,\r\n expandedState\r\n };\r\n}\r\n\r\n//BWIC Alerts\r\nfunction updatePortfoliosAlertStatus(list) { // list: [{ portfolioId: number, bwicAlert?: boolean, dealersInventoryAlert?: boolean, issuanceMonitorAlert?: boolean, outOfRiPeriodAlert?: boolean, outOfNcPeriodAlert?: boolean rollerDeadlineAlert?: boolean}]\r\n return (dispatch, getState) => {\r\n const portfolios = apiUtils.normalize(\r\n getState().entities.portfolios.items,\r\n portfolio => portfolio.id,\r\n portfolio => portfolio\r\n );\r\n\r\n const dataToSend = list.map(x => ({\r\n ...x,\r\n bwicAlert: x.bwicAlert ?? portfolios[x.portfolioId].bwicAlert,\r\n dealersInventoryAlert: x.dealersInventoryAlert ?? portfolios[x.portfolioId].dealersInventoryAlert,\r\n cleansingNoticeAlert: x.cleansingNoticeAlert ?? portfolios[x.portfolioId].cleansingNoticeAlert,\r\n issuanceMonitorAlert: x.issuanceMonitorAlert ?? portfolios[x.portfolioId].issuanceMonitorAlert,\r\n outOfRiPeriodAlert: x.outOfRiPeriodAlert ?? portfolios[x.portfolioId].outOfRiPeriodAlert,\r\n outOfNcPeriodAlert: x.outOfNcPeriodAlert ?? portfolios[x.portfolioId].outOfNcPeriodAlert,\r\n rollerDeadlineAlert: x.rollerDeadlineAlert ?? portfolios[x.portfolioId].rollerDeadlineAlert\r\n }));\r\n\r\n const bwicAlertChanges = list.filter(x => x.bwicAlert != null).map(x => x.portfolioId);\r\n const inventoryAlertChanges = list.filter(x => x.dealersInventoryAlert != null).map(x => x.portfolioId);\r\n const cleansingNoticeAlertChanges = list.filter(x => x.cleansingNoticeAlert != null).map(x => x.portfolioId);\r\n const issuanceMonitorAlertChanges = list.filter(x => x.issuanceMonitorAlert != null).map(x => x.portfolioId);\r\n const outOfRiPeriodAlertChanges = list.filter(x => x.outOfRiPeriodAlert != null).map(x => x.portfolioId);\r\n const outOfNcPeriodAlertChanges = list.filter(x => x.outOfNcPeriodAlert != null).map(x => x.portfolioId);\r\n const rollerDeadlineAlertChanges = list.filter(x => x.rollerDeadlineAlert != null).map(x => x.portfolioId);\r\n\r\n dispatch(updateBwicAlertStatusRequest(bwicAlertChanges));\r\n dispatch(updateInventoryAlertStatusRequest(inventoryAlertChanges));\r\n dispatch(updateCleansingNoticeAlertStatusRequest(cleansingNoticeAlertChanges));\r\n dispatch(updateIssuanceMonitorAlertStatusRequest(issuanceMonitorAlertChanges));\r\n dispatch(updateOutOfRiAlertStatusRequest(outOfRiPeriodAlertChanges));\r\n dispatch(updateOutOfNcAlertStatusRequest(outOfNcPeriodAlertChanges));\r\n dispatch(updateRollerDeadlineAlertStatusRequest(rollerDeadlineAlertChanges));\r\n\r\n\r\n portfolioService.updatePortfoliosAlert(dataToSend)\r\n .then(() => {\r\n dispatch(portfolioListActions.updateSendAlertState(list));\r\n dispatch(updateBwicAlertStatusSuccess(bwicAlertChanges));\r\n dispatch(updateInventoryAlertStatusSuccess(inventoryAlertChanges));\r\n dispatch(updateCleansingNoticeAlertStatusSuccess(cleansingNoticeAlertChanges));\r\n dispatch(updateIssuanceMonitorAlertStatusSuccess(issuanceMonitorAlertChanges));\r\n dispatch(updateOutOfRiAlertStatusSuccess(outOfRiPeriodAlertChanges));\r\n dispatch(updateOutOfNcAlertStatusSuccess(outOfNcPeriodAlertChanges));\r\n dispatch(updateRollerDeadlineAlertStatusSuccess(rollerDeadlineAlertChanges));\r\n dispatch(emailPreferencesActions.request());\r\n })\r\n .catch(e => {\r\n dispatch(updateBwicAlertStatusFailure(bwicAlertChanges));\r\n dispatch(updateInventoryAlertStatusFailure(inventoryAlertChanges));\r\n dispatch(updateCleansingNoticeAlertStatusFailure(cleansingNoticeAlertChanges));\r\n dispatch(updateIssuanceMonitorAlertStatusFailure(issuanceMonitorAlertChanges));\r\n dispatch(updateOutOfRiAlertStatusFailure(outOfRiPeriodAlertChanges));\r\n dispatch(updateOutOfNcAlertStatusFailure(outOfNcPeriodAlertChanges));\r\n dispatch(updateRollerDeadlineAlertStatusFailure(rollerDeadlineAlertChanges));\r\n dispatch(errorActions.unexpectedError(e));\r\n });\r\n };\r\n}\r\n\r\nfunction updateBwicAlertStatusRequest(list) {\r\n return {\r\n type: actionTypes.PORTFOLIO_UPDATE_ALERT_STATUS_REQUEST,\r\n payload: { list }\r\n };\r\n}\r\n\r\nfunction updateBwicAlertStatusSuccess(list) {\r\n return {\r\n type: actionTypes.PORTFOLIO_UPDATE_ALERT_STATUS_SUCCESS,\r\n payload: { list }\r\n };\r\n}\r\n\r\n\r\nfunction updateBwicAlertStatusFailure(list) {\r\n return {\r\n type: actionTypes.PORTFOLIO_UPDATE_ALERT_STATUS_FAILURE,\r\n payload: { list }\r\n };\r\n}\r\n\r\nfunction updateInventoryAlertStatusRequest(list) {\r\n return {\r\n type: actionTypes.UPDATE_INVENTORY_ALERT_STATUS_REQUEST,\r\n payload: { list }\r\n };\r\n}\r\n\r\nfunction updateInventoryAlertStatusSuccess(list) {\r\n return {\r\n type: actionTypes.UPDATE_INVENTORY_ALERT_STATUS_SUCCESS,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateInventoryAlertStatusFailure(list) {\r\n return {\r\n type: actionTypes.UPDATE_INVENTORY_ALERT_STATUS_FAILURE,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateIssuanceMonitorAlertStatusRequest(list) {\r\n return {\r\n type: actionTypes.UPDATE_ISSUANCE_MONITOR_ALERT_STATUS_REQUEST,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateIssuanceMonitorAlertStatusSuccess(list) {\r\n return {\r\n type: actionTypes.UPDATE_ISSUANCE_MONITOR_ALERT_STATUS_SUCCESS,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateIssuanceMonitorAlertStatusFailure(list) {\r\n return {\r\n type: actionTypes.UPDATE_ISSUANCE_MONITOR_ALERT_STATUS_FAILURE,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateCleansingNoticeAlertStatusRequest(list) {\r\n return {\r\n type: actionTypes.UPDATE_CLEANSING_NOTICE_ALERT_STATUS_REQUEST,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateCleansingNoticeAlertStatusSuccess(list) {\r\n return {\r\n type: actionTypes.UPDATE_CLEANSING_NOTICE_ALERT_STATUS_SUCCESS,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateCleansingNoticeAlertStatusFailure(list) {\r\n return {\r\n type: actionTypes.UPDATE_CLEANSING_NOTICE_ALERT_STATUS_FAILURE,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateOutOfRiAlertStatusRequest(list) {\r\n return {\r\n type: actionTypes.UPDATE_OUT_OF_RI_PERIOD_ALERT_STATUS_REQUEST,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateOutOfRiAlertStatusSuccess(list) {\r\n return {\r\n type: actionTypes.UPDATE_OUT_OF_RI_PERIOD_ALERT_STATUS_SUCCESS,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateOutOfRiAlertStatusFailure(list) {\r\n return {\r\n type: actionTypes.UPDATE_OUT_OF_RI_PERIOD_ALERT_STATUS_FAILURE,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateOutOfNcAlertStatusRequest(list) {\r\n return {\r\n type: actionTypes.UPDATE_OUT_OF_NC_PERIOD_ALERT_STATUS_REQUEST,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateOutOfNcAlertStatusSuccess(list) {\r\n return {\r\n type: actionTypes.UPDATE_OUT_OF_NC_PERIOD_ALERT_STATUS_SUCCESS,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateOutOfNcAlertStatusFailure(list) {\r\n return {\r\n type: actionTypes.UPDATE_OUT_OF_NC_PERIOD_ALERT_STATUS_FAILURE,\r\n payload: { list }\r\n };\r\n};\r\n\r\nfunction updateRollerDeadlineAlertStatusRequest(list) {\r\n return {\r\n type: actionTypes.UPDATE_ROLLER_DEADLINE_ALERT_STATUS_REQUEST,\r\n payload: { list }\r\n };\r\n}\r\n\r\nfunction updateRollerDeadlineAlertStatusSuccess(list) {\r\n return {\r\n type: actionTypes.UPDATE_ROLLER_DEADLINE_ALERT_STATUS_SUCCESS,\r\n payload: { list }\r\n };\r\n}\r\n\r\nfunction updateRollerDeadlineAlertStatusFailure(list) {\r\n return {\r\n type: actionTypes.UPDATE_ROLLER_DEADLINE_ALERT_STATUS_FAILURE,\r\n payload: { list }\r\n };\r\n}\r\n\r\n\r\n\r\n\r\nfunction hideActivePanels() {\r\n return dispatch => {\r\n dispatch(resetRowSelection());\r\n dispatch(rulesActions.hide());\r\n dispatch(securityDetailsActions.securityDetailsReset());\r\n dispatch(bwicLogActions.bwicLogReset());\r\n }\r\n}\r\n\r\nfunction advancedFilterBlocked(blocked) {\r\n return {\r\n type: actionTypes.ADVANCED_FILTER_BLOCKED,\r\n payload: { blocked }\r\n }\r\n}\r\n","import { ActionType, createAsyncAction } from 'typesafe-actions';\r\nimport { PageConfigType } from \"../types/page-config/PageConfigType\";\r\nimport { PageConfig } from \"../types/page-config/PageConfig\";\r\nimport { PageConfigList } from \"../types/state/entities/PageConfigState\";\r\nimport { UserConfigColumn } from '../types/user-config/UserConfigColumn';\r\n\r\nconst getConfigs = createAsyncAction(\r\n 'entities/page-config/REQUEST_CONFIG',\r\n 'entities/page-config/SUCCESS_CONFIG',\r\n 'entities/page-config/FAILURE_CONFIG'\r\n)();\r\n\r\nconst getDefaultConfig = createAsyncAction(\r\n 'entities/page-config/REQUEST_DEFAULT_CONFIG',\r\n 'entities/page-config/SUCCESS_DEFAULT_CONFIG',\r\n 'entities/page-config/FAILURE_DEFAULT_CONFIG'\r\n)<{ configType: PageConfigType }, { configType: PageConfigType, config: PageConfig }, { configType: PageConfigType }>();\r\n\r\nconst saveColumns = createAsyncAction(\r\n 'entities/page-config/REQUEST_SAVE_CONFIG',\r\n 'entities/page-config/SUCCESS_SAVE_CONFIG',\r\n 'entities/page-config/FAILURE_SAVE_CONFIG'\r\n)<{ configType: PageConfigType }, { configType: PageConfigType, columns: UserConfigColumn[] }, { configType: PageConfigType }>();\r\n\r\nexport type TPageConfigActions = ActionType\r\n\r\nexport const pageConfigActions = {\r\n getConfigs,\r\n getDefaultConfig,\r\n saveColumns\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { PushHistoryStateItem, PushHistoryStateItemType } from '../../types/state/PushHistoryState';\r\n\r\nconst add = createAction(\r\n 'push-history/add',\r\n resolve => (item: PushHistoryStateItem, type: PushHistoryStateItemType) => resolve({ item, type })\r\n);\r\nconst reset = createAction('push-history/reset');\r\nconst resetForType = createAction(\r\n 'push-history/resetHistoryForType',\r\n resolve => (...types: PushHistoryStateItemType[]) => resolve({ types: [...types] })\r\n);\r\n\r\nexport const pushHistoryActions = {\r\n add,\r\n reset,\r\n resetForType,\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { UserSlim } from '../types/account/UserSlim';\r\n\r\nconst request = createAction('entities/broker-dealer-user-list/REQUEST');\r\nconst requestResult = createAction('entities/broker-dealer-user-list/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, result: UserSlim[] = []) =>\r\n resolve({ requestState, result })\r\n);\r\n\r\nconst resetEntities = createAction('entities/broker-dealer-user-list/RESET');\r\n\r\nexport const brokerDealerUserListActions = {\r\n request,\r\n requestResult,\r\n resetEntities\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { CompanySlim } from '../types/company/CompanySlim';\r\nimport { Company } from '../types/company/Company';\r\n\r\nconst show = createAction(\r\n 'companyDetails/SET_VISIBLE',\r\n resolve => (company: CompanySlim, isBrokerDealer?: boolean, rowKey?: number) => resolve({ company, isBrokerDealer, rowKey })\r\n);\r\n\r\nconst hide = createAction(\r\n 'companyDetails/HIDE'\r\n);\r\n\r\nconst fetchCompanyDetailsRequest = createAction(\r\n 'companyDetails/FETCH_COMPANY_DETAILS_REQUEST',\r\n resolve => (companyId: number, companyReferenceName: string) => resolve({ companyId, companyReferenceName })\r\n);\r\n\r\nconst fetchCompanyDetailsResponse = createAction(\r\n 'companyDetails/FETCH_COMPANY_DETAILS_RESPONSE',\r\n resolve => (companyId: number) => resolve({ companyId })\r\n);\r\n\r\nconst setCompanyDetails = createAction(\r\n 'companyDetails/SET_COMPANY_DETAILS',\r\n resolve => (companyId: number, company: Company) => resolve({ companyId, company })\r\n);\r\n\r\nconst reset = createAction('companyDetails/RESET');\r\n\r\nexport const companyDetailsActions = {\r\n show,\r\n hide,\r\n fetchCompanyDetailsRequest,\r\n fetchCompanyDetailsResponse,\r\n setCompanyDetails,\r\n reset\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { InventoryPosition } from '../types/inventory/InventoryPosition';\r\nimport { InventoryPositionStatus } from '../types/inventory/InventoryPositionStatus';\r\nimport { InventorySecurityOrderByColumn, InventorySecuritySortOrder } from '../types/inventory/InventorySecurityOrderByColumn';\r\nimport { InventoryResultSummary } from '../types/inventory/InventoryResultSummary';\r\n\r\nconst request = createAction('entities/inventory/REQUEST');\r\nconst requestResult = createAction('entities/inventory/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, result: InventoryPosition[] = [], totalRecordNumber: number = 0, summary?: InventoryResultSummary) =>\r\n resolve({ requestState, result, totalRecordNumber, summary })\r\n);\r\nconst resetEntities = createAction('entities/inventory/RESET');\r\nconst reset = createAction('inventory/RESET');\r\nconst resetSummary = createAction('inventory/RESET_SUMMARY');\r\nconst loadNextPage = createAction('entities/inventory/LOAD_NEXT_PAGE');\r\nconst init = createAction(\r\n 'inventory/INIT',\r\n resolve => (sortField: InventorySecurityOrderByColumn, sortDirection: InventorySecuritySortOrder) => resolve({ sortField, sortDirection })\r\n);\r\nconst requestInventoryExistFlag = createAction('invetory/INVENTORY_EXIST_FLAG_REQUEST');\r\nconst inventoryExistFlag = createAction(\r\n 'inventory/INVENTORY_EXIST_FLAG',\r\n resolve => (exist: boolean) => resolve({ exist })\r\n);\r\nconst loadSellerInventory = createAction(\r\n 'inventory/LOAD_SELLER_INVENTORY',\r\n resolve => (sortField: InventorySecurityOrderByColumn, sortDirection: InventorySecuritySortOrder, loadSummary: boolean, applyFilter: boolean = true) => resolve({ sortField, sortDirection, loadSummary, applyFilter })\r\n);\r\n\r\nconst exportInventoryRequest = createAction(\r\n 'inventory/EXPORT_INVENTORY_REQUEST',\r\n resolve => (sortField: string, sortDirection: string) => resolve({ sortField, sortDirection })\r\n);\r\nconst exportInventoryResponse = createAction('inventory/EXPORT_INVENTORY_RESPONSE');\r\nconst pushInventory = createAction(\r\n 'entities/inventory/PUSH_INVENTORY',\r\n resolve => (inventories: InventoryPosition[], lockModifiedDate?: Date) => resolve({ inventories, lockModifiedDate })\r\n);\r\nconst inventoryStatusChange = createAction(\r\n 'entities/inventory/INVENTORY_STATUS_CHANGE',\r\n resolve => (inventoryPositionId: number, status: InventoryPositionStatus) => resolve({ inventoryPositionId, status })\r\n);\r\nconst advancedFilterBlocked = createAction('inventory/ADVANCED_FILTER_BLOCKED', resolve => (blocked: boolean) => resolve({ blocked }));\r\n\r\nexport const inventoryActions = {\r\n init,\r\n requestInventoryExistFlag,\r\n inventoryExistFlag,\r\n loadNextPage,\r\n request,\r\n resetEntities,\r\n requestResult,\r\n reset,\r\n loadSellerInventory,\r\n exportInventoryRequest,\r\n exportInventoryResponse,\r\n pushInventory,\r\n inventoryStatusChange,\r\n advancedFilterBlocked,\r\n resetSummary\r\n};\r\n","import { DateTimeRange } from '../types/filters/DateTimeRange';\r\nimport { DateFilterOption } from '../types/filters/DateFilterOption';\r\nimport { DateRange } from '../types/filters/DateRange';\r\nimport { DateTimeFilterOption } from '../types/filters/DateTimeFilterOption';\r\nimport { FilterRangeOption } from '../types/filters/FilterRangeOption';\r\nimport { RedirectFilterOption } from '../types/filters/RedirectFilterOption';\r\nimport { CommonFilter, TFilterType } from '../types/filters/FilterState';\r\nimport { createAction, createAsyncAction } from 'typesafe-actions';\r\nimport { Primitive } from '../utils/differ/types';\r\nimport { UserConfigFilter } from '../types/user-config/UserConfigFilter';\r\nimport { RadioOption } from '../types/filters/RadioOption';\r\nimport { TDeserializeRange } from '../utils/filtering/serializers/serializer.definitions';\r\n\r\nexport const createFilterActions = (filterType?: TFilterType) => {\r\n const init = createAction('filter/INIT', resolve => (filter: CommonFilter) => resolve({ filterType, filter }));\r\n\r\n const selectFilterFromConfig = createAction(\r\n 'filter/SELECT_FILTER_FROM_CONFIG',\r\n resolve => (selectedFilter?: UserConfigFilter, referenceName?: string) =>\r\n resolve({ filterType, selectedFilter, referenceName }),\r\n );\r\n\r\n const filterSelectChange = createAction(\r\n 'filter/SELECT_CHANGE',\r\n resolve => (option: Primitive, filterName: string) => resolve({ filterType, option, filterName }),\r\n );\r\n\r\n const resetFiltersAndUnselectSavedFilter = createAction(\r\n 'filter/RESET_FILTERS_AND_UNSELECT_SAVED_FILTER',\r\n resolve => () => resolve({ filterType }),\r\n );\r\n\r\n const filterSelectSelectAll = createAction(\r\n 'filter/SELECT_SELECT_ALL',\r\n resolve => (filterName: string, searchTerm: string) => resolve({ filterType, filterName, searchTerm }),\r\n );\r\n\r\n const filterSelectClearAll = createAction(\r\n 'filter/SELECT_CLEAR_ALL',\r\n resolve => (filterName: string) => resolve({ filterName, filterType }),\r\n );\r\n\r\n const makeFilterVisible = createAction(\r\n 'filter/MAKE_FILTER_VISIBLE',\r\n resolve => (filterName: string) => resolve({ filterType, filterName }),\r\n );\r\n\r\n const updateFilterState = createAction('filter/UPDATE_FILTER_STATE', resolve => () => resolve({ filterType }));\r\n\r\n const applyFilter = createAction('filter/APPLY_FILTER', resolve => () => resolve({ filterType }));\r\n\r\n const resetFilter = createAction('filter/RESET_FILTER', resolve => () => resolve({ filterType }));\r\n\r\n const resetFilterState = createAction('filter/RESET_FILTER_STATE', resolve => () => resolve({ filterType }));\r\n\r\n const resetFiltersVisibility = createAction(\r\n 'filter/RESET_FILTERS_VISIBILITY',\r\n resolve => () => resolve({ filterType }),\r\n );\r\n\r\n const filterVisibilityChange = createAction(\r\n 'filter/VISIBILITY_CHANGE',\r\n resolve => (filterName: string) => resolve({ filterType, filterName }),\r\n );\r\n\r\n const storeFilterData = createAsyncAction(\r\n 'filter/STORE_FILTER_DATA_REQUEST',\r\n 'filter/STORE_FILTER_DATA_SUCCESS',\r\n 'filter/STORE_FILTER_DATA_FAILURE',\r\n )<\r\n { filterType: TFilterType; filterName: string },\r\n { filterType: TFilterType; filterName: string; data: unknown[] },\r\n { filterType: TFilterType; filterName: string }\r\n >();\r\n\r\n const changeRangeFilter = createAction(\r\n 'filter/CHANGE_RANGE_FILTER',\r\n resolve => (value: FilterRangeOption, filterName: string) => resolve({ filterType, filterName, value }),\r\n );\r\n\r\n const filterRadioChange = createAction(\r\n 'filter/RADIO_CHANGE',\r\n resolve => (option: string | boolean | RadioOption, filterName: string) => resolve({ filterType, option, filterName }),\r\n );\r\n\r\n const filterRadioClearOption = createAction(\r\n 'filter/RADIO_CLEAR_OPTION',\r\n resolve => (filterName: string) => resolve({ filterType, filterName }),\r\n );\r\n\r\n const filterRangeClearSelectedOptions = createAction(\r\n 'filter/RANGE_CLEAR_SELECTED_OPTIONS',\r\n resolve => (filterName: string) => resolve({ filterType, filterName }),\r\n );\r\n\r\n const setFilterByReferenceName = createAction(\r\n 'filter/SET_FILTER_BY_REFERENCE_NAME',\r\n resolve => (selectedFilterReferenceName: string, selectedFilter?: CommonFilter) =>\r\n resolve({ filterType, selectedFilter, selectedFilterReferenceName }),\r\n );\r\n\r\n const filterDateClearSelectedOptions = createAction(\r\n 'filter/DATE_CLEAR_SELECTED_OPTIONS',\r\n resolve => (filterName: string) => resolve({ filterType, filterName }),\r\n );\r\n\r\n const filterDateSelectOption = createAction(\r\n 'filter/FILTER_DATE_SELECT_OPTION',\r\n resolve => (option: DateFilterOption, filterName: string) => resolve({ filterType, option, filterName }),\r\n );\r\n\r\n const filterDateTimeOptionSelected = createAction(\r\n 'filter/FILTER_DATE_TIME_SELECT_OPTION',\r\n resolve => (option: DateTimeFilterOption, filterName: string) => resolve({ filterType, option, filterName }),\r\n );\r\n\r\n const filterDateSelectCustomRange = createAction(\r\n 'filter/FILTER_DATE_SELECT_CUSTOM_RANGE',\r\n resolve => (option: DateRange, filterName: string) => resolve({ filterType, option, filterName }),\r\n );\r\n\r\n const filterDateTimeSelectCustomRange = createAction(\r\n 'filter/FILTER_DATE_TIME_SELECT_CUSTOM_RANGE',\r\n resolve => (option: DateTimeRange, filterName: string) => resolve({ filterType, option, filterName }),\r\n );\r\n\r\n const filterDateSelectYearsRange = createAction(\r\n 'filter/FILTER_DATE_SELECT_YEARS_RANGE',\r\n resolve => (option: FilterRangeOption, filterName: string) => resolve({ filterType, option, filterName }),\r\n );\r\n\r\n const setRedirectFilters = createAction(\r\n 'filter/SET_REDIRECT_FILTERS',\r\n resolve => (filter: RedirectFilterOption) => resolve({ filterType, filter }),\r\n );\r\n\r\n const redirectWithNoFilter = createAction(\r\n 'filter/REDIRECT_WITH_NO_FILTER',\r\n resolve => () => resolve({ filterType }),\r\n );\r\n\r\n const filterDateQueryStringDeserialized = createAction(\r\n 'filter/FILTER_DATE_QUERY_STRING_DESERIALIZED',\r\n resolve => (filterName: string, deserializeResult: TDeserializeRange) => resolve({ filterType, filterName, deserializeResult }),\r\n );\r\n\r\n const resetSelectedFilter = createAction(\r\n 'filter/RESET_SELECTED_FILTER',\r\n resolve => () => resolve({ filterType })\r\n );\r\n\r\n return {\r\n init,\r\n selectFilterFromConfig,\r\n filterSelectChange,\r\n filterSelectSelectAll,\r\n filterSelectClearAll,\r\n makeFilterVisible,\r\n updateFilterState,\r\n applyFilter,\r\n resetFilter,\r\n resetFiltersVisibility,\r\n storeFilterData,\r\n changeRangeFilter,\r\n filterRadioChange,\r\n filterRadioClearOption,\r\n filterRangeClearSelectedOptions,\r\n setFilterByReferenceName,\r\n filterDateClearSelectedOptions,\r\n filterDateSelectOption,\r\n filterDateTimeOptionSelected,\r\n filterDateSelectCustomRange,\r\n filterDateTimeSelectCustomRange,\r\n filterDateSelectYearsRange,\r\n setRedirectFilters,\r\n resetFilterState,\r\n filterVisibilityChange,\r\n resetFiltersAndUnselectSavedFilter,\r\n redirectWithNoFilter,\r\n filterDateQueryStringDeserialized,\r\n resetSelectedFilter\r\n };\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { Contact } from '../types/company/Contact';\r\n\r\nconst request = createAction('entities/broker-dealer-contact-list/REQUEST');\r\nconst requestResult = createAction('entities/broker-dealer-contact-list/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, result: Contact[] = []) =>\r\n resolve({ requestState, result })\r\n);\r\nconst pushUpdateList = createAction(\r\n 'entities/broker-dealer-contact-list/PUSH_UPDATE_LIST',\r\n resolve => (contacts: Contact[] = []) => resolve({ contacts })\r\n);\r\nconst setContactInvitationSent = createAction(\r\n 'entities/broker-dealer-contact-list/PUSH_CONTACT_INVITATION',\r\n resolve => (contactId: number) => resolve({ contactId })\r\n);\r\nconst resetEntities = createAction('entities/broker-dealer-contact-list/RESET');\r\n\r\nexport const brokerDealerContactListActions = {\r\n request,\r\n requestResult,\r\n pushUpdateList,\r\n setContactInvitationSent,\r\n resetEntities\r\n};\r\n","import { ThunkDispatch } from 'redux-thunk';\r\nimport { history } from '../history';\r\nimport { AnyAction } from \"redux\";\r\nimport { createAction } from 'typesafe-actions';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { gridActions } from './grid.actions';\r\nimport { notificationActions } from './notification.actions';\r\nimport { errorActions } from './error.actions';\r\nimport { errorMessages } from '../constants/error.messages';\r\nimport { TradeAllocationType } from '../types/trade-allocation/TradeAllocationType';\r\nimport { tradeAllocationTemplateService } from '../services/trade-allocation-template.service';\r\nimport { SaveTradeAllocationTemplate } from '../types/trade-allocation/template/SaveTradeAllocationTemplate';\r\nimport { user } from '../user';\r\nimport { GridDataItem } from '../types/state/GridState';\r\nimport { EditTradeAllocationTemplateItem } from '../types/trade-allocation/template/TradeAllocationTemplateItem';\r\nimport { tradeAllocationTemplateActions } from './trade-allocation-template.actions';\r\nimport { LocationStateBuilder, PanelType } from '../types/state/ui/LocationState';\r\n\r\nconst resetPanelState = createAction('blotter/trade-allocation-template/RESET');\r\nconst saveRequest = createAction('blotter/trade-allocation-template/SAVE_REQUEST');\r\nconst saveSuccess = createAction('blotter/trade-allocation-template/SAVE_SUCCESS');\r\nconst saveFailure = createAction('blotter/trade-allocation-template/SAVE_FAILURE');\r\n\r\nexport const blotterTradeAllocationTemplateActions = {\r\n resetPanelState,\r\n save,\r\n saveRequest,\r\n saveSuccess,\r\n saveFailure\r\n}\r\n\r\nfunction save(templateId: number, name: string, type: TradeAllocationType, activate: boolean, lock?: Date) {\r\n return async (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n dispatch(gridActions.validate());\r\n\r\n if (!getState().grid.isValid) return;\r\n\r\n dispatch(saveRequest());\r\n\r\n const items: GridDataItem[] =\r\n getState().grid.dataItems.filter((i: GridDataItem) => !i.draft && i.settlementAccountId);\r\n const saveModel: SaveTradeAllocationTemplate = {\r\n id: templateId || undefined,\r\n name,\r\n assetManager: { id: user.current()!.companyId },\r\n lock,\r\n type,\r\n items: items.map(i => ({\r\n id: i.id,\r\n settlementAccountId: Number(i.settlementAccountId),\r\n percent: type === TradeAllocationType.PercentOfTrade ? Number(i.percent) : undefined,\r\n rating: type === TradeAllocationType.CreditRatings ? i.rating : undefined\r\n }))\r\n };\r\n\r\n try {\r\n const template = await tradeAllocationTemplateService.saveTemplate(saveModel);\r\n dispatch(tradeAllocationTemplateActions.update(template));\r\n\r\n if (activate) {\r\n try {\r\n const updates = await tradeAllocationTemplateService.setTemplateActive(template.id, true, template.lock);\r\n const activated = updates.find(t => t.active);\r\n const deactivated = updates.find(t => !t.active);\r\n\r\n dispatch(tradeAllocationTemplateActions.activeChange(activated, deactivated));\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n \r\n dispatch(blotterTradeAllocationTemplateActions.saveSuccess());\r\n history.replace({\r\n ...history.location,\r\n state: new LocationStateBuilder()\r\n .resetPanel()\r\n .panel(PanelType.Templates)\r\n .result()\r\n });\r\n } catch (e) {\r\n dispatch(saveFailure());\r\n if (e.status === 409) {\r\n dispatch(\r\n notificationActions.notificationAddErrorMessageModal(\r\n errorMessages.refreshPage,\r\n \"Can't save Trade Allocation Template\",\r\n true\r\n )\r\n );\r\n } else {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n };\r\n}\r\n","import { AppState } from \"../types/state/AppState\";\r\nimport {\r\n searchTransactionsActions as actionTypes,\r\n constants,\r\n} from \"../constants\";\r\nimport { errorActions } from \"./error.actions\";\r\nimport { Deal } from \"../types/amr-pipeline/models/Deal\";\r\nimport { SearchTermItem } from \"../components/amrPipeline/types/SearchTermItem\";\r\nimport { ThunkDispatch } from \"redux-thunk\";\r\nimport { AnyAction } from \"redux\";\r\nimport { PipelineType } from '../types/amr-pipeline/enums/PipelineType';\r\nimport { amrPipelineSelector } from '../selectors/amr-pipeline.selector';\r\nimport { dealsService } from \"../services/deals.service\";\r\n\r\ntype TDispatch = ThunkDispatch;\r\n\r\nlet loadSearchLookupTimeout: number | null = null;\r\n\r\nexport const createSearchTransactionActions = (pipelineType: PipelineType) => {\r\n function searchTermChange(searchTerm = '', showLookup = true) {\r\n return (dispatch: TDispatch) => {\r\n dispatch({\r\n type: actionTypes.SEARCH_TERM_CHANGE,\r\n pipelineType,\r\n searchTerm,\r\n });\r\n\r\n const trimmedSearchTerm = searchTerm.trim();\r\n\r\n if (showLookup && trimmedSearchTerm.length > constants.searchTermAcceptedLength) {\r\n dispatch(requestSearchLookup(trimmedSearchTerm));\r\n } else {\r\n dispatch(resetSearchLookup());\r\n }\r\n };\r\n }\r\n\r\n function requestSearchLookup(searchTerm: string) {\r\n return (dispatch: TDispatch) => {\r\n if (loadSearchLookupTimeout) {\r\n clearTimeout(loadSearchLookupTimeout);\r\n }\r\n dispatch(resetLookupCache());\r\n dispatch(searchItemsRequesting(true));\r\n loadSearchLookupTimeout = window.setTimeout(\r\n () => dispatch(loadSearchLookup(searchTerm)),\r\n 400\r\n );\r\n }\r\n }\r\n\r\n function loadSearchLookup(searchTerm: string, isLoadMore: boolean = false) {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n dispatch(searchItemsRequesting(true));\r\n try {\r\n const {\r\n searchTransactions: {\r\n dealsOffset,\r\n classesOffset\r\n },\r\n } = amrPipelineSelector(pipelineType)(getState());\r\n const deals = await dealsService.getDealsList(searchTerm, dealsOffset);\r\n const dealsWithClasses = await dealsService.getDealsClassesList(searchTerm, classesOffset);\r\n\r\n const lookupData = deals.map((deal: Deal) => ({\r\n ...deal,\r\n isDeal: true,\r\n }));\r\n\r\n dispatch({\r\n type: actionTypes.SEARCH_LOOKUP_CACHE,\r\n pipelineType,\r\n classesLookup: dealsWithClasses,\r\n lookupData,\r\n searchTerm,\r\n isLoadMore,\r\n });\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(searchItemsRequesting(false))\r\n }\r\n };\r\n }\r\n\r\n function loadDealsLookup(searchTerm: string, isLoadMore: boolean = false) {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n dispatch(searchItemsRequesting(true));\r\n try {\r\n const {\r\n searchTransactions: {\r\n dealsOffset,\r\n },\r\n } = amrPipelineSelector(pipelineType)(getState());\r\n const deals = await dealsService.getDealsList(searchTerm, dealsOffset);\r\n\r\n const lookupData = deals.map((deal: Deal) => ({\r\n ...deal,\r\n isDeal: true,\r\n }));\r\n\r\n dispatch({\r\n type: actionTypes.SEARCH_ADD_DEALS,\r\n pipelineType,\r\n lookupData,\r\n searchTerm,\r\n isLoadMore,\r\n });\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(searchItemsRequesting(false))\r\n }\r\n };\r\n }\r\n\r\n function loadClassesLookup(searchTerm: string, isLoadMore: boolean = false) {\r\n return async (dispatch: TDispatch, getState: () => AppState) => {\r\n dispatch(searchItemsRequesting(true));\r\n try {\r\n const {\r\n searchTransactions: {\r\n classesOffset\r\n },\r\n } = amrPipelineSelector(pipelineType)(getState());\r\n const dealsWithClasses = await dealsService.getDealsClassesList(searchTerm, classesOffset);\r\n\r\n const lookupData = dealsWithClasses.map((deal: Deal) => ({\r\n ...deal,\r\n isDeal: true,\r\n }));\r\n\r\n dispatch({\r\n type: actionTypes.SEARCH_ADD_CLASSES,\r\n pipelineType,\r\n lookupData,\r\n searchTerm,\r\n isLoadMore,\r\n });\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(searchItemsRequesting(false))\r\n }\r\n };\r\n }\r\n\r\n function applyLookupItem(\r\n label: string,\r\n dealReferenceName: string,\r\n classNames?: string[],\r\n ) {\r\n return (\r\n dispatch: TDispatch,\r\n getState: () => AppState\r\n ) => {\r\n const { searchTransactions } = amrPipelineSelector(pipelineType)(getState());\r\n\r\n if (\r\n label &&\r\n !searchTransactions.searchTermItems.map(i => i.label).includes(label)\r\n ) {\r\n dispatch(addSearchItem({\r\n label,\r\n referenceName: dealReferenceName,\r\n classNames,\r\n }));\r\n\r\n }\r\n dispatch(searchTermChange(\"\"));\r\n dispatch(resetSearchLookup());\r\n };\r\n }\r\n\r\n function moveBack() {\r\n return {\r\n type: actionTypes.SEARCH_MOVE_BACK,\r\n pipelineType,\r\n };\r\n }\r\n\r\n function moveForward() {\r\n return {\r\n type: actionTypes.SEARCH_MOVE_FORWARD,\r\n pipelineType,\r\n };\r\n }\r\n\r\n function addSearchItem(item: SearchTermItem) {\r\n return {\r\n type: actionTypes.SEARCH_ITEM_ADD,\r\n pipelineType,\r\n item,\r\n };\r\n }\r\n\r\n function removeSearchItem(index: number) {\r\n return {\r\n type: actionTypes.SEARCH_ITEM_REMOVE,\r\n pipelineType,\r\n index,\r\n };\r\n }\r\n\r\n function removeCurrentItem() {\r\n return {\r\n type: actionTypes.SEARCH_REMOVE_CURRENT_ITEM,\r\n pipelineType,\r\n };\r\n }\r\n\r\n function resetSearchLookup() {\r\n return {\r\n type: actionTypes.SEARCH_LOOKUP,\r\n pipelineType,\r\n lookupData: [],\r\n classesLookup: [],\r\n };\r\n }\r\n\r\n function searchItemsRequesting(isSearching: boolean) {\r\n return {\r\n type: actionTypes.SEARCH_ITEMS_REQUESTING,\r\n pipelineType,\r\n isSearching\r\n }\r\n }\r\n\r\n function reset() {\r\n return {\r\n type: actionTypes.SEARCH_RESET,\r\n pipelineType,\r\n };\r\n }\r\n\r\n function resetLookupCache() {\r\n return {\r\n type: actionTypes.SEARCH_RESET_LOOKUP_CACHE,\r\n pipelineType,\r\n };\r\n }\r\n\r\n return {\r\n searchTermChange,\r\n applyLookupItem,\r\n loadSearchLookup,\r\n moveBack,\r\n moveForward,\r\n addSearchItem,\r\n removeCurrentItem,\r\n removeSearchItem,\r\n resetSearchLookup,\r\n reset,\r\n resetLookupCache,\r\n loadDealsLookup,\r\n loadClassesLookup,\r\n };\r\n};\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { BidCompanyIdentifier } from \"../types/bidding/BidCompanyIdentifier\";\r\nimport { BidderCompanySlim } from \"../types/company/BidderCompanySlim\";\r\n\r\nconst show = createAction('dealerListPanel/SHOW');\r\nconst hide = createAction('dealerListPanel/HIDE');\r\nconst toggleCompanyVisible = createAction(\r\n 'dealerListPanel/TOGGLE_COMPANY_VISIBLE',\r\n resolve => (identifier: BidCompanyIdentifier, setLastSelectedCompanyIdentifier?: boolean) => resolve({ identifier, setLastSelectedCompanyIdentifier })\r\n);\r\nconst toggleAllFavoriteCompaniesVisible = createAction(\r\n 'dealerListPanel/TOGGLE_ALL_FAVORITE_COMPANIES_VISIBLE',\r\n resolve => (companies: BidderCompanySlim[]) => resolve({ companies })\r\n);\r\nconst toggleAllPlatformVisible = createAction(\r\n 'dealerListPanel/TOGGLE_ALL_PLATFORM_VISIBLE',\r\n resolve => (companies: BidderCompanySlim[], visible?: boolean) => resolve({ companies, visible })\r\n);\r\nconst toggleAllOffPlatformVisible = createAction(\r\n 'dealerListPanel/TOGGLE_ALL_OFF_PLATFORM_VISIBLE',\r\n resolve => (companies: BidderCompanySlim[], visible?: boolean) => resolve({ companies, visible })\r\n);\r\nconst toggleAllSettlmentsClientsVisible = createAction(\r\n 'dealerListPanel/TOGGLE_ALL_SETTLMENTS_CLIENTS_VISIBLE',\r\n resolve => (companies: BidderCompanySlim[], visible?: boolean) => resolve({ companies, visible })\r\n);\r\nconst toggleAllFavoriteVisibleFlagOnly = createAction('dealerListPanel/TOGGLE_ALL_FAVORITE_VISIBLE_FLAG_ONLY');\r\nconst toggleAllPlatformVisibleFlagOnly = createAction('dealerListPanel/TOGGLE_ALL_PLATFORM_VISIBLE_FLAG_ONLY');\r\nconst toggleAllSettlmentsClientsFlagOnly = createAction('dealerListPanel/TOGGLE_ALL_SETTLMENTS_CLIENTS_FLAG_ONLY');\r\nconst toggleAllOffPlatformVisibleFlagOnly = createAction('dealerListPanel/TOGGLE_ALL_OFF_PLATFORM_VISIBLE_FLAG_ONLY');\r\nconst setDefaultVisibility = createAction(\r\n 'dealerListPanel/SET_DEFAULTS',\r\n resolve => (companiesToHide: BidderCompanySlim[]) => resolve({ companiesToHide })\r\n);\r\nconst setDisabledCompanies = createAction(\r\n 'dealerListPanel/SET_DISABLED_COMPANIES',\r\n resolve => (disabledCompanies: BidderCompanySlim[]) => resolve({ disabledCompanies })\r\n);\r\nconst setBidOnlyFlag = createAction(\r\n 'dealerListPanel/SET_BID_ONLY_FLAG',\r\n resolve => (bidOnlyFlag: boolean) => resolve({ bidOnlyFlag })\r\n);\r\nconst stage2ParticipantsFlagChange = createAction('dealerListPanel/STAGE_2_PARTICIPANTS_FLAG_CHANGE',\r\n resolve => (isStage2participantsOnly: boolean, showAllEnabled?: boolean) => resolve({ isStage2participantsOnly, showAllEnabled })\r\n);\r\nconst showBwicParticipantsOnly = createAction('dealerListPanel/SHOW_BWIC_PARTICIPANTS_ONLY')\r\nconst reset = createAction('dealerListPanel/RESET');\r\n\r\nexport const dealerListPanelActions = {\r\n show,\r\n hide,\r\n toggleCompanyVisible,\r\n toggleAllFavoriteCompaniesVisible,\r\n toggleAllPlatformVisible,\r\n toggleAllOffPlatformVisible,\r\n toggleAllFavoriteVisibleFlagOnly,\r\n toggleAllPlatformVisibleFlagOnly,\r\n toggleAllSettlmentsClientsFlagOnly,\r\n toggleAllOffPlatformVisibleFlagOnly,\r\n toggleAllSettlmentsClientsVisible,\r\n setDefaultVisibility,\r\n setDisabledCompanies,\r\n reset,\r\n setBidOnlyFlag,\r\n stage2ParticipantsFlagChange,\r\n showBwicParticipantsOnly\r\n};\r\n","import { ActionType, createAction } from 'typesafe-actions';\r\nimport { SignupRequest } from '../types/account/SignupRequest';\r\n\r\nconst submit = createAction(\"signup/SUBMIT\", resolve => (request: SignupRequest) => resolve({ request }));\r\nconst submitSuccess = createAction(\"signup/SUBMIT_SUCCESS\");\r\nconst submitError = createAction(\"signup/SUBMIT_ERROR\");\r\n\r\nexport type TSignupAction = ActionType<\r\n typeof submit |\r\n typeof submitSuccess |\r\n typeof submitError\r\n>;\r\n\r\nexport const signupActions = {\r\n submit,\r\n submitSuccess,\r\n submitError\r\n}\r\n","import * as moment from 'moment';\r\nimport { constants, errorMessages, gridColumns, securitiesActions as actionTypes, uploadStatus } from '../constants';\r\nimport { bwicService, daysService } from '../services';\r\nimport { changeColorActions, changePxTalkActions, errorActions, gridActions } from '.';\r\nimport { processActions } from './process.actions';\r\nimport { dateTimeUtils } from '../utils';\r\nimport { history } from '../history';\r\nimport { appConfig } from '../app-config';\r\n\r\nexport const securitiesActions = {\r\n init,\r\n reset,\r\n uploadSecurities,\r\n insertSelectedSecurity,\r\n handleClipboardData,\r\n savePxTalks,\r\n saveColor,\r\n validateTradeLimits,\r\n setFlaggedModal,\r\n insertSecurityFromQueryParams\r\n};\r\n\r\nfunction init(positions, headers, rowsLimit = constants.gridRowsLimit, loadBwicDates = false, queryParams = '') {\r\n return async (dispatch, getState) => {\r\n const { securities, grid } = getState();\r\n\r\n if (securities.isInitializing || grid.headers) {\r\n return;\r\n }\r\n\r\n try {\r\n dispatch(initializing(true));\r\n if (loadBwicDates) {\r\n const day = await daysService.getNextBusinessDate();\r\n const year = new Date(day).getFullYear();\r\n\r\n const currentYearHolidaysPromise = appConfig.canCreateBwicOnUSFederalHolidays\r\n ? Promise.resolve([])\r\n : daysService.getHolidays(year);\r\n const nextYearHolidaysPromise = appConfig.canCreateBwicOnUSFederalHolidays\r\n ? Promise.resolve([])\r\n : daysService.getHolidays(year + 1);\r\n\r\n const todayIsBusinessDayPromise = daysService.isBusinessDay(new Date());\r\n\r\n const currentYearHolidays = await currentYearHolidaysPromise;\r\n const nextYearHolidays = await nextYearHolidaysPromise;\r\n const todayIsBusinessDay = await todayIsBusinessDayPromise;\r\n\r\n const holidays = [...currentYearHolidays, ...nextYearHolidays];\r\n\r\n const minDate = todayIsBusinessDay\r\n ? moment().startOf('day').toDate()\r\n : moment.utc(day).startOf('day').toDate();\r\n\r\n dispatch(processActions.setMinDate(minDate));\r\n dispatch(processActions.setHolidays(holidays));\r\n\r\n dispatch(processActions.storeNextBusiessDay(day));\r\n dispatch(processActions.changeDate(day));\r\n dispatch(processActions.changeBidsDueTime(dateTimeUtils.timestampToUtcString(constants.bidDueDefaultTimestamp)));\r\n dispatch(processActions.changeGoodUntilTime(dateTimeUtils.timestampToUtcString(constants.goodUntilDefaultTimestamp)));\r\n\r\n const { state = {} } = history.location;\r\n const { dateTime } = state;\r\n\r\n if (dateTime) {\r\n const date = moment(dateTime, constants.dateTimeFormatUtc).format('YYYY-MM-DD[T]00:00:00');\r\n const time = moment(dateTime, constants.formatTimeStringWithoutTimeZone).format('hh A');\r\n const dueTime = dateTimeUtils.timestampToUtcString(time);\r\n dispatch(processActions.changeDate(date));\r\n dispatch(processActions.changeBidsDueTime(dueTime));\r\n }\r\n }\r\n\r\n const columns = (headers || gridColumns.securitiesWithoutPxTalkAndColor())\r\n .map(c => {\r\n if (c.name === gridColumns.isinCusip.name) {\r\n return {\r\n ...c,\r\n type: 'lookup',\r\n lookup: {\r\n compareCallback: (searchTerm, lookupItem) => {\r\n const security = lookupItem.payload;\r\n return (\r\n security.isin?.toLowerCase().startsWith(searchTerm) ||\r\n security.cusip?.toLowerCase().startsWith(searchTerm)\r\n );\r\n },\r\n fetchCallback: async (searchTerm, abortSignal) => {\r\n const securities = await bwicService.searchSecuritiesGlobal(searchTerm, false, abortSignal);\r\n return securities.map(s => ({\r\n text: s.isinCusip,\r\n description: s.ticker,\r\n payload: s\r\n }))\r\n },\r\n onLookupItemSelected: lookupItem => dispatch(insertSelectedSecurity(lookupItem.payload))\r\n }\r\n };\r\n } else if (c.name === gridColumns.ticker.name) {\r\n return {\r\n ...c,\r\n type: 'lookup',\r\n lookup: {\r\n fetchCallback: async (searchTerm, abortSignal) => {\r\n const securities = await bwicService.searchSecuritiesGlobal(searchTerm, true, abortSignal);\r\n return securities.map(s => ({\r\n text: s.ticker,\r\n description: s.isinCusip,\r\n payload: s\r\n }))\r\n },\r\n onLookupItemSelected: lookupItem => dispatch(insertSelectedSecurity(lookupItem.payload))\r\n }\r\n };\r\n }\r\n\r\n return c;\r\n })\r\n\r\n if (queryParams.toString().length > 0) {\r\n dispatch(securitiesActions.insertSecurityFromQueryParams(queryParams))\r\n }\r\n\r\n dispatch(gridActions.init(positions, columns, rowsLimit));\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(initializing(false));\r\n }\r\n }\r\n}\r\n\r\nfunction insertSecurityFromQueryParams(queryParams) {\r\n return dispatch => {\r\n const tickers = queryParams.get('tickers');\r\n const isins = queryParams.get('isins');\r\n const cusips = queryParams.get('cusips');\r\n\r\n const tickersQueryParams = tickers ? tickers.split(',') : [];\r\n const isinsQueryParams = isins ? isins.split(',') : [];\r\n const cusipsQueryParams = cusips ? cusips.split(',') : [];\r\n\r\n const securityFromQueryParams = [...tickersQueryParams, ...isinsQueryParams, ...cusipsQueryParams].join('\\n');\r\n\r\n dispatch(securitiesActions.handleClipboardData(securityFromQueryParams))\r\n };\r\n}\r\n\r\nfunction initializing(isInitializing) {\r\n return {\r\n type: actionTypes.INITIALIZING,\r\n isInitializing\r\n };\r\n}\r\n\r\nfunction uploadSecurities(file, mergeWithPrevious) {\r\n return (dispatch, getState) => {\r\n const { position, upload, mountedKey } = getState().grid;\r\n\r\n if (upload.status === uploadStatus.uploading) {\r\n return;\r\n }\r\n\r\n const extension = (file.name.split('.').pop() || '').toLowerCase();\r\n\r\n if (extension !== 'csv' && extension !== 'xlsx') {\r\n dispatch(errorActions.error(\r\n null,\r\n errorMessages.invalidFileType,\r\n 'Invalid file type.'\r\n ));\r\n return;\r\n\r\n } else if (file.size > constants.gridFileUploadMaximumSize * 1024 * 1024) {\r\n dispatch(errorActions.error(\r\n null,\r\n errorMessages.fileSizeLimitExceeded(constants.gridFileUploadMaximumSize),\r\n 'The file is too big.'\r\n ));\r\n return;\r\n }\r\n\r\n if (position.editing) {\r\n dispatch(gridActions.applyOrCancelEdit());\r\n }\r\n\r\n bwicService\r\n .uploadSecurities(file, progress)\r\n .then(success, failure);\r\n\r\n dispatch(gridActions.setUploadState(uploadStatus.uploading, 0, file.name));\r\n\r\n function success(positions) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (mountedKey === currentMountedKey) {\r\n if (mergeWithPrevious) {\r\n positions.forEach(s => normalizeParsedInventoryPosition(s));\r\n const dataItems = getState().grid.dataItems.filter((i) => !i.draft);\r\n const merged = mergeDataItems(dataItems, positions);\r\n dispatch(gridActions.clear());\r\n dispatch(gridActions.addDataItems(merged));\r\n dispatch(ensureFlaggedModalShown(merged));\r\n } else {\r\n positions.forEach(s => setSecurityNew(s));\r\n dispatch(gridActions.addDataItems(positions));\r\n }\r\n dispatch(gridActions.validate());\r\n setTimeout(\r\n () => dispatch(gridActions.setUploadState(uploadStatus.none)),\r\n 500\r\n );\r\n }\r\n }\r\n\r\n function failure(e) {\r\n dispatch(gridActions.setUploadState(uploadStatus.none));\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (mountedKey === currentMountedKey) {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n\r\n function progress(e) {\r\n const currentMountedKey = getState().grid.mountedKey;\r\n if (e.lengthComputable && mountedKey === currentMountedKey) {\r\n var percentComplete = (e.loaded / e.total) * 100;\r\n dispatch(gridActions.setUploadState(uploadStatus.uploading, percentComplete, file.name));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch(gridActions.reset());\r\n dispatch({ type: actionTypes.RESET });\r\n };\r\n}\r\n\r\nfunction insertSelectedSecurity(security) {\r\n return (dispatch, getState) => {\r\n const { position, dataItems } = getState().grid;\r\n const { size, errors } = dataItems[position.index] || {};\r\n\r\n const dataItem = {\r\n ...security,\r\n id: undefined,\r\n securityId: security.id,\r\n size\r\n };\r\n\r\n dispatch(gridActions.cancelEdit());\r\n dispatch(gridActions.replaceDataItem(dataItem, position.index));\r\n\r\n if (errors && errors.length) {\r\n // trigger validation to resolve duplicate errors\r\n dispatch(gridActions.validate());\r\n }\r\n }\r\n}\r\n\r\nfunction handleClipboardData(clipboardData, mergeWithPrevious) {\r\n return (dispatch, getState) => {\r\n const { position = { index: 0 } } = getState().grid;\r\n\r\n dispatch(gridActions.dataProcessing(true));\r\n\r\n bwicService\r\n .parseSecuritiesStirng(clipboardData)\r\n .then(success, e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(gridActions.dataProcessing(false)));\r\n\r\n function success(securities) {\r\n if (mergeWithPrevious) {\r\n securities.forEach(s => normalizeParsedInventoryPosition(s));\r\n const dataItems = getState().grid.dataItems.filter((i) => !i.draft);\r\n const merged = mergeDataItems(dataItems, securities);\r\n dispatch(gridActions.clear());\r\n dispatch(gridActions.addDataItems(merged));\r\n dispatch(ensureFlaggedModalShown(merged));\r\n } else {\r\n securities.forEach(s => setSecurityNew(s));\r\n dispatch(gridActions.insertDataItems(securities, position.index));\r\n }\r\n dispatch(gridActions.validate());\r\n }\r\n };\r\n}\r\n\r\nfunction mergeDataItems(\r\n actualItems,\r\n updatedItems) {\r\n if (!actualItems.length) {\r\n return updatedItems.map(i => ({ ...i, isNew: true }));\r\n }\r\n\r\n const actualItemsCopy = [...actualItems].map(el => ({ ...el, isFlagged: true }));\r\n const newItems = [];\r\n\r\n updatedItems.forEach(u => {\r\n const actualIndex = actualItems.findIndex(a => a.securityId && a.securityId === u.securityId);\r\n if (actualIndex < 0) {\r\n newItems.push({ ...u, isNew: true });\r\n } else if (!isEqual(actualItems[actualIndex], u)) {\r\n actualItemsCopy[actualIndex] = { ...u, isUpdate: true };\r\n } else {\r\n actualItemsCopy[actualIndex] = { ...actualItems[actualIndex], isUpdate: false, isNew: false, isFlagged: false };\r\n }\r\n });\r\n\r\n return actualItemsCopy.concat(newItems);\r\n}\r\n\r\nfunction isEqual(actual, update) {\r\n const valueOrEmpty = (value) => value ?? '';\r\n\r\n return (\r\n actual.securityId === update.securityId &&\r\n actual.isinCusip === update.isinCusip &&\r\n valueOrEmpty(actual.size) === valueOrEmpty(update.size) &&\r\n actual.ticker === update.ticker &&\r\n valueOrEmpty(actual.currency) === valueOrEmpty(update.currency) &&\r\n valueOrEmpty(actual.rating) === valueOrEmpty(update.rating)\r\n );\r\n}\r\n\r\nfunction setSecurityNew(security) {\r\n security.isNew = true;\r\n security.securityId = security.id;\r\n security.id = undefined;\r\n}\r\n\r\nfunction normalizeParsedInventoryPosition(security) {\r\n security.securityId = security.id;\r\n security.id = undefined;\r\n}\r\n\r\nfunction setFlaggedModal(isFlaggedModalVisible) {\r\n return {\r\n type: actionTypes.SECURITIES_SET_FLAGGED_MODAL,\r\n isFlaggedModalVisible\r\n };\r\n}\r\n\r\nconst ensureFlaggedModalShown = (merged) => {\r\n return (dispatch) => {\r\n const isFlaggedExists = merged.some((item => item.isFlagged));\r\n if (isFlaggedExists) {\r\n dispatch(setFlaggedModal(true));\r\n }\r\n }\r\n}\r\n\r\nfunction savePxTalks() {\r\n return (dispatch, getState) => {\r\n const { pxTalks } = getState().changePxTalk;\r\n if (pxTalks.every(p => !p.error)) {\r\n dispatch(gridActions.editing(pxTalks));\r\n dispatch(gridActions.applyEdit());\r\n dispatch(changePxTalkActions.reset());\r\n dispatch(gridActions.blockInput(false));\r\n }\r\n };\r\n}\r\n\r\nfunction saveColor() {\r\n return (dispatch, getState) => {\r\n const { color, errors } = getState().changeColor;\r\n if (errors.isValid) {\r\n dispatch(gridActions.editing(color));\r\n dispatch(gridActions.applyEdit());\r\n dispatch(changeColorActions.reset());\r\n dispatch(gridActions.blockInput(false));\r\n }\r\n };\r\n}\r\n\r\nfunction validateTradeLimits() {\r\n return async (dispatch, getState) => {\r\n const { process, grid } = getState();\r\n const positions = grid.dataItems.filter(item => !item.draft);\r\n\r\n if (!process.date && !positions.length) return;\r\n\r\n dispatch({ type: actionTypes.VALIDATE_TRADE_LIMITS_REQUEST });\r\n\r\n try {\r\n await bwicService.validateTradeLimits(process.date, process.bidsDue, process.timeZone, positions);\r\n dispatch({ type: actionTypes.VALIDATE_TRADE_LIMITS_SUCCESS });\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n dispatch({ type: actionTypes.VALIDATE_TRADE_LIMITS_ERROR });\r\n }\r\n }\r\n\r\n}\r\n","import { formsActions as actionTypes } from '../constants';\r\n\r\nexport const formsActions = {\r\n activateValidation,\r\n reset\r\n}\r\n\r\nfunction activateValidation() {\r\n return { type: actionTypes.DISPLAY_VALIDATION_ERRORS, activate: true }\r\n}\r\n\r\nfunction reset() {\r\n return { type: actionTypes.DISPLAY_VALIDATION_ERRORS, activate: false }\r\n}\r\n","import moment from 'moment';\r\nimport { size } from 'lodash';\r\nimport { store } from '../store';\r\nimport {\r\n newBWICActions as actionTypes,\r\n newBWICSteps as steps,\r\n roles,\r\n routes\r\n} from '../constants';\r\nimport { bwicService } from '../services/bwic.service';\r\nimport {\r\n securitiesActions,\r\n gridActions,\r\n processActions,\r\n documentsActions,\r\n submitActions,\r\n errorActions\r\n} from './';\r\nimport { formsActions } from './forms.actions';\r\nimport { dealerListActions } from './dealer-list.actions';\r\nimport { newBwicDealersActions } from './new-bwic-dealers.actions';\r\nimport { isRequesting, isRequestSuccess } from '../utils/request-state.utils';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { dateTimeUtils } from '../utils';\r\nimport { newBwicDealersSelector } from '../selectors/new-bwic-dealers.selector';\r\nimport { BwicProcessType } from '../types/models/Process';\r\nimport { CompanyStatus } from '../types/company/CompanyStatus';\r\nimport { user } from '../user';\r\nimport { history } from '../history';\r\n\r\nexport const newBWICActions = {\r\n init,\r\n nextStep,\r\n previousStep,\r\n submit,\r\n setSearchTerm,\r\n updateFilterOption,\r\n clearFilterOptions,\r\n reset\r\n};\r\n\r\nfunction init(referenceName) {\r\n return async dispatch => {\r\n if (referenceName) {\r\n try {\r\n const bwic = await bwicService.getByReferenceName(referenceName);\r\n dispatch({\r\n type: actionTypes.EDIT_BWIC,\r\n bwic\r\n });\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n }\r\n dispatch(changeStep(steps.securities));\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch(securitiesActions.reset());\r\n dispatch(processActions.reset());\r\n dispatch(dealerListActions.reset());\r\n dispatch(newBwicDealersActions.reset());\r\n dispatch(documentsActions.reset());\r\n dispatch(submitActions.reset());\r\n dispatch({ type: actionTypes.RESET_WIZARD });\r\n }\r\n}\r\n\r\nfunction nextStep() {\r\n return async (dispatch, getState) => {\r\n let isValid = true;\r\n const { activeStep } = getState().newBWIC;\r\n\r\n if (activeStep === steps.securities) {\r\n dispatch(gridActions.validate());\r\n dispatch(processActions.validate());\r\n const { grid, process } = getState();\r\n isValid = grid.isValid && !process.errors.date && !process.errors.time;\r\n if (isValid) {\r\n await dispatch(securitiesActions.validateTradeLimits());\r\n isValid = isRequestSuccess(getState().securities.validateTradeLimitsRequestState);\r\n }\r\n\r\n } else if (activeStep === steps.process) {\r\n dispatch(processActions.validate());\r\n const { process } = getState();\r\n isValid = process.isValid;\r\n\r\n } else if (activeStep === steps.participants) {\r\n const selectedDealers = getState().newBwicDealers.selectedDealers;\r\n const selectPlatformDealersPopupVisible = getState().newBwicDealers.selectPlatformDealersPopupVisible;\r\n const notSelectedPlatformDealers = newBwicDealersSelector(getState())\r\n .filter(c => !selectedDealers[c.id] && c.status === CompanyStatus.active);\r\n\r\n if (notSelectedPlatformDealers.length !== 0 && !selectPlatformDealersPopupVisible) {\r\n dispatch(newBwicDealersActions.setSelectPlatformDealersPopupVisible(true));\r\n isValid = false;\r\n } else {\r\n isValid = !!size(selectedDealers);\r\n }\r\n } else {\r\n isValid = true;\r\n }\r\n\r\n if (isValid) {\r\n const { newBWIC } = getState();\r\n\r\n const stepKeys = Object.keys(steps);\r\n\r\n const activeStepIndex = stepKeys.findIndex(key => newBWIC.activeStep === steps[key]);\r\n const nextStepKey = stepKeys[activeStepIndex + 1];\r\n\r\n dispatch(changeStep(steps[nextStepKey]));\r\n }\r\n }\r\n}\r\n\r\nfunction previousStep() {\r\n const { newBWIC } = store.getState();\r\n\r\n const stepKeys = Object.keys(steps);\r\n\r\n const activeStepIndex = stepKeys.findIndex(key => newBWIC.activeStep === steps[key]);\r\n const previousStepKey = stepKeys[activeStepIndex - 1];\r\n\r\n return changeStep(steps[previousStepKey]);\r\n}\r\n\r\nfunction changeStep(step) {\r\n return dispatch => {\r\n dispatch(formsActions.reset());\r\n dispatch({\r\n type: actionTypes.CHANGE_STEP,\r\n step\r\n });\r\n }\r\n}\r\n\r\nfunction submit() {\r\n return (dispatch, getState) => {\r\n const requestState = getState().submit.requestState;\r\n\r\n if (isRequesting(requestState) || isRequestSuccess(requestState)) return null;\r\n\r\n const { grid, process, newBwicDealers } = getState();\r\n\r\n const companies = newBwicDealersSelector(getState())\r\n .filter(c => newBwicDealers.selectedDealers[c.id])\r\n .map(c => ({ id: c.id }));\r\n const template = process.templates.current;\r\n\r\n const getLiveBiddingSettings = () => template.type === BwicProcessType.Live\r\n ? {\r\n stage1Deadline: template.liveBidding.stage1Deadline,\r\n improvementRound: template.liveBidding.improvementRound,\r\n minBidIncrement: template.liveBidding.minBidIncrement,\r\n levelSpecificationType: template.liveBidding.levelSpecificationType,\r\n openBiddingImproverCount: template.liveBidding.openBiddingImproverCount\r\n }\r\n : {};\r\n\r\n const getJumpBallSettings = () => template.type === BwicProcessType.JumpBall\r\n ? {\r\n jumpBallAutomaticStage1Deadline: template.jumpBall.automaticStage1Deadline,\r\n jumpBallImproverCount: template.jumpBall.improverCount,\r\n jumpBallImprovementRound: template.jumpBall.improvementRound\r\n }\r\n : {};\r\n\r\n const getTopXSettings = () => template.type === BwicProcessType.TopX\r\n ? {\r\n topXAutomaticStage1Deadline: template.topX.automaticStage1Deadline,\r\n topXImproverCount: template.topX.improverCount,\r\n topXImprovementRound: template.topX.improvementRound\r\n }\r\n : {};\r\n\r\n const getBestFootForwardSettings = () => template.type === BwicProcessType.BestFootForward\r\n ? {\r\n BffStage1Deadline: template.bff.stage1Deadline\r\n }\r\n : {};\r\n\r\n const getAutoFeedbackDelay = () =>\r\n template.type === BwicProcessType.Standard ||\r\n template.type === BwicProcessType.TopX ||\r\n template.type === BwicProcessType.JumpBall\r\n ? template.autoFeedbackDelay\r\n : undefined\r\n\r\n const getMinBidIncrement = () => template.minBidIncrement && (\r\n template.type === BwicProcessType.Standard ||\r\n template.type === BwicProcessType.TopX ||\r\n template.type === BwicProcessType.JumpBall ||\r\n template.type === BwicProcessType.BestFootForward)\r\n ? Number(template.minBidIncrement)\r\n : undefined\r\n\r\n const getIsAlltoAllProtocol = () =>\r\n process.isAllToAll ?? user.hasRoles(roles.BrokerDealerTrader)\r\n ? true\r\n : false\r\n\r\n const bwic = {\r\n bidsDue: dateTimeUtils.setTime(process.date, moment.utc(process.bidsDue)).utcOffset(0, true).toISOString(),\r\n goodUntil: dateTimeUtils.setTime(process.date, moment.utc(process.goodUntil)).utcOffset(0, true).toISOString(),\r\n daysToSettle: process.daysToSettle,\r\n timeZone: process.timeZone,\r\n securities: grid.dataItems.filter(s => !s.draft),\r\n process: {\r\n type: template.type,\r\n reserveLevelsApply: template.reserveLevelsApply,\r\n earlyTrades: template.earlyTrades,\r\n rulesText: template.rulesText,\r\n processTemplateId: template.id,\r\n autoFeedbackDelay: getAutoFeedbackDelay(),\r\n minBidIncrement: getMinBidIncrement(),\r\n cutOffReminder: template.cutOffReminder,\r\n ...getLiveBiddingSettings(),\r\n ...getJumpBallSettings(),\r\n ...getTopXSettings(),\r\n ...getBestFootForwardSettings()\r\n },\r\n companies,\r\n isAllToAll: getIsAlltoAllProtocol()\r\n };\r\n\r\n dispatch(submitActions.submitState(RequestState.request));\r\n\r\n bwicService\r\n .submit(bwic)\r\n .then((bwicReferenceName) => {\r\n dispatch(submitActions.submitState(RequestState.success, bwicReferenceName))\r\n history.replace({\r\n pathname: routes.newBWICCreated,\r\n state: {\r\n date: process.date,\r\n bidsDue: process.bidsDue,\r\n timeZone: process.timeZone,\r\n bwicReferenceName,\r\n }\r\n })\r\n })\r\n .catch(e => {\r\n dispatch(submitActions.submitState(RequestState.failure));\r\n dispatch(errorActions.unexpectedError(e));\r\n });\r\n }\r\n}\r\n\r\nfunction setSearchTerm(searchTerm) {\r\n return {\r\n type: actionTypes.DEALERS_SET_SEARCH_TERM,\r\n payload: { searchTerm }\r\n };\r\n}\r\n\r\nfunction updateFilterOption(filterOption) {\r\n return {\r\n type: actionTypes.DEALERS_UPDATE_FILTER_OPTION,\r\n payload: { filterOption }\r\n };\r\n}\r\n\r\nfunction clearFilterOptions() {\r\n return { type: actionTypes.DEALERS_CLEAR_FILTER_OPTIONS }\r\n}\r\n","import { uploadDocumentsActions } from '.';\r\n\r\nexport const documentsActions = {\r\n init,\r\n reset,\r\n}\r\n\r\nfunction init() {\r\n return (dispatch, getState) => {\r\n const { grid } = getState();\r\n\r\n const securityIdList = grid.dataItems\r\n .filter(s => !s.draft)\r\n .map(s => s.securityId);\r\n\r\n dispatch(uploadDocumentsActions.init(securityIdList));\r\n }\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch(uploadDocumentsActions.reset());\r\n };\r\n}\r\n","import { submitActions as actionTypes } from '../constants';\r\nimport { errorActions } from '.';\r\nimport { companiesService } from '../services';\r\n\r\nexport const submitActions = {\r\n submitState,\r\n init,\r\n reset\r\n}\r\n\r\nfunction init() {\r\n return async (dispatch, getState) => {\r\n const { userCompany } = getState().submit;\r\n\r\n if (userCompany) return;\r\n\r\n try {\r\n const company = await companiesService.getCurrentUserCompany();\r\n\r\n dispatch({\r\n type: actionTypes.STORE_USER_COMPANY,\r\n company\r\n });\r\n }\r\n catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n}\r\n\r\nfunction submitState(state, bwicReferenceName) {\r\n return { type: actionTypes.SUBMIT_STATE, state, bwicReferenceName };\r\n}\r\n\r\nfunction reset() {\r\n return { type: actionTypes.RESET };\r\n}\r\n","import { saveAs } from 'file-saver';\r\nimport { errorActions, notificationActions } from './';\r\nimport { portfolioService } from '../services';\r\nimport { editPortfolioActions as actionTypes, errorMessages, routes } from '../constants';\r\nimport { securitiesActions, gridActions } from '.';\r\nimport { activeInventorySecurityActions } from './active-inventory-security.actions';\r\nimport { history } from '../history';\r\nimport { portfolioListActions } from './portfolio-list.actions';\r\n\r\nexport const editPortfolioActions = {\r\n init,\r\n reset,\r\n createNewPortfolio,\r\n renamePortfolioDialog,\r\n updatePortfolioSecurities,\r\n deletePortfolioDialog,\r\n deletePortfolio,\r\n exportPortfolio\r\n}\r\n\r\nfunction init(portfolioReferenceName) {\r\n return dispatch => {\r\n dispatch(loading(true));\r\n portfolioService\r\n .getPortfolio(portfolioReferenceName)\r\n .then(success, e => dispatch(errorActions.criticalError(e)))\r\n .then(() => dispatch(loading(false)));\r\n\r\n function success(portfolio) {\r\n dispatch({ type: actionTypes.PORTFOLIO_LOADED, portfolio });\r\n dispatch(securitiesActions.init(portfolio.securities));\r\n }\r\n };\r\n}\r\n\r\nfunction loading(isLoading) {\r\n return {\r\n type: actionTypes.EDIT_PORTFOLIO_LOADING,\r\n isLoading\r\n };\r\n}\r\n\r\nfunction renamePortfolioDialog(visible) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.RENAME_DIALOG_VISIBLE,\r\n dialog: { visible }\r\n })\r\n\r\n dispatch(gridActions.blockInput(visible));\r\n };\r\n}\r\n\r\nfunction createNewPortfolio(portfolioName) {\r\n return (dispatch, getState) => {\r\n dispatch(gridActions.validate());\r\n const { grid } = getState();\r\n const securities = grid.dataItems.filter(s => !s.draft);\r\n\r\n if (!grid.isValid && securities.length) {\r\n return dispatch(notificationActions.notificationAddErrorMessage(errorMessages.portfolioSaveSecuritiesMessage, errorMessages.portfolioSaveSecuritiesTitle))\r\n }\r\n dispatch({type: actionTypes.PORTFOLIO_UPDATE_REQUEST});\r\n portfolioService.createNewPortfolio(portfolioName, securities)\r\n .then(() => {\r\n dispatch({type: actionTypes.PORTFOLIO_UPDATE_SUCCESS});\r\n dispatch({ type: actionTypes.PORTFOLIO_SAVED });\r\n dispatch(activeInventorySecurityActions.reset());\r\n dispatch(portfolioListActions.reset());\r\n history.replace(routes.portfolio);\r\n })\r\n .catch((e) => {\r\n dispatch({ type: actionTypes.PORTFOLIO_UPDATE_FAILURE });\r\n dispatch(errorActions.unexpectedError(e));\r\n })\r\n }\r\n}\r\n\r\nfunction updatePortfolioSecurities(updatedPortfolioName) {\r\n return async (dispatch, getState) => {\r\n dispatch(gridActions.validate());\r\n const { editPortfolio, grid } = getState();\r\n const securities = grid.dataItems.filter(s => !s.draft);\r\n\r\n if (!grid.isValid && securities.length) {\r\n return dispatch(notificationActions.notificationAddErrorMessage(errorMessages.portfolioSaveSecuritiesMessage, errorMessages.portfolioSaveSecuritiesTitle))\r\n }\r\n dispatch({type: actionTypes.PORTFOLIO_UPDATE_REQUEST});\r\n\r\n if (updatedPortfolioName) {\r\n try {\r\n await portfolioService.renamePortfolio(editPortfolio.portfolio.id, updatedPortfolioName)\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e))\r\n dispatch({ type: actionTypes.PORTFOLIO_UPDATE_FAILURE });\r\n return;\r\n }\r\n }\r\n try {\r\n await portfolioService.savePositions(editPortfolio.portfolio.id, securities)\r\n dispatch({type: actionTypes.PORTFOLIO_UPDATE_SUCCESS});\r\n dispatch({ type: actionTypes.PORTFOLIO_SAVED });\r\n dispatch(activeInventorySecurityActions.reset());\r\n dispatch(portfolioListActions.reset());\r\n history.replace(routes.portfolio);\r\n } catch (e) {\r\n dispatch({ type: actionTypes.PORTFOLIO_UPDATE_FAILURE });\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n\r\n }\r\n}\r\n\r\nfunction deletePortfolioDialog(visible) {\r\n return {\r\n type: actionTypes.DELETE_PORTFOLIO_DIALOG,\r\n dialog: { visible }\r\n };\r\n}\r\n\r\nfunction deletePortfolio(portfolioId) {\r\n return dispatch => {\r\n portfolioService\r\n .deletePortfolio(portfolioId)\r\n .then(success)\r\n .catch(e => dispatch(errorActions.unexpectedError(e)));\r\n\r\n function success() {\r\n dispatch({ type: actionTypes.PORTFOLIO_DELETED });\r\n history.replace(routes.portfolio);\r\n }\r\n }\r\n}\r\n\r\nfunction setRequestingExportState(status) {\r\n return { type: actionTypes.PORTFOLIO_SET_REQUESTING_EXPORT_STATE, payload: { status }}\r\n}\r\n\r\nfunction exportPortfolio(id){\r\n return (dispatch) => {\r\n dispatch(setRequestingExportState(true));\r\n portfolioService\r\n .exportPortfolio(id)\r\n .then(file => saveAs(file.blob, file.name || 'portfolio.csv'))\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(setRequestingExportState(false)));\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RESET });\r\n dispatch(securitiesActions.reset());\r\n dispatch(errorActions.resetError());\r\n }\r\n}\r\n","import {\r\n manageParsedBwicsActions as actionTypes,\r\n bwicDateFilterOptions,\r\n errorMessages,\r\n routes\r\n} from \"../constants\";\r\nimport { parsedBwicsService, pxTalkService, colorService } from \"../services\";\r\nimport {\r\n changePxTalkActions,\r\n changeColorActions,\r\n errorActions,\r\n editParsedBwicActions as editActions,\r\n searchSecuritiesActions,\r\n notificationActions\r\n} from \".\";\r\nimport { getSearchDateRange, getDateRangeOption } from '../utils';\r\nimport { identifiers, dateFrom, dateTo, statuses, published } from '../utils/filtering/serializers/serializer.definitions';\r\nimport { queryStringSerializer } from '../utils/filtering';\r\nimport { priceTalksActions } from './price-talks.actions';\r\nimport { history } from \"../history\";\r\nimport { textRulesPanelActions } from \"./text-rules-panel.actions\";\r\n\r\nexport const manageParsedBwicsActions = {\r\n init,\r\n reset,\r\n search,\r\n refreshLastUpdatedDate,\r\n resetFilters,\r\n filterDateChange,\r\n filterCustomDateChange,\r\n filterStatusChange,\r\n filterPublishedChange,\r\n setBwicCollapsedState,\r\n setCollapseAll,\r\n securitySelectionChange,\r\n publishDialog,\r\n unpublishDialog,\r\n deleteBwicDialog,\r\n publish,\r\n unpublish,\r\n editPxTalk,\r\n savePxTalk,\r\n editColor,\r\n saveColor,\r\n deleteColor,\r\n showNewBwic,\r\n deleteBwic,\r\n changeAmrFlag,\r\n loadNextPage\r\n}\r\n\r\nfunction init(filterQueryString) {\r\n return async (dispatch) => {\r\n dispatch(loading(true));\r\n dispatch(searchSecuritiesActions.reset());\r\n try {\r\n const queryString = filterQueryString && filterQueryString.trim();\r\n\r\n if (queryString) {\r\n dispatch(resetFilters(false));\r\n dispatch(loadFilterFromQueryString(queryString));\r\n }\r\n\r\n dispatch(search());\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n finally {\r\n dispatch(loading(false));\r\n }\r\n }\r\n}\r\n\r\nfunction loadFilterFromQueryString(queryString) {\r\n return dispatch => {\r\n let from, to;\r\n\r\n const serializers = [\r\n identifiers(handleIdentifiersDeserialized),\r\n dateFrom(date => from = date),\r\n dateTo(date => to = date),\r\n statuses(handleStatusDeserialized),\r\n published(published => dispatch(filterPublishedChange(published)))\r\n ];\r\n\r\n queryStringSerializer.deserialize(queryString, serializers);\r\n\r\n dispatch(initFilterDateRange(from, to));\r\n\r\n function handleIdentifiersDeserialized(identifiers) {\r\n identifiers.forEach(i => dispatch(searchSecuritiesActions.addSearchItem(i)));\r\n }\r\n\r\n function handleStatusDeserialized(statuses) {\r\n const statusKeys = statuses.map(s => Number(s))\r\n dispatch(filterStatusChange(...statusKeys));\r\n }\r\n };\r\n}\r\n\r\nfunction initFilterDateRange(dateFrom, dateTo) {\r\n return dispatch => {\r\n const { option, customRange } = getDateRangeOption(dateFrom, dateTo);\r\n\r\n dispatch(filterDateChange(option));\r\n if (option.key === bwicDateFilterOptions.custom.key) {\r\n dispatch(filterCustomDateChange(customRange));\r\n }\r\n };\r\n}\r\n\r\n\r\nfunction reset(hardReset = false) {\r\n return (dispatch, getState) => {\r\n const { lastAppliedSearchTerm } = getState().searchSecurities;\r\n\r\n dispatch(searchSecuritiesActions.reset());\r\n dispatch(errorActions.resetError());\r\n dispatch({\r\n type: actionTypes.RESET,\r\n searchTerm: lastAppliedSearchTerm,\r\n hardReset\r\n });\r\n };\r\n}\r\n\r\nfunction resetFilters(shouldSearch = true) {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RESET_FILTERS });\r\n if (shouldSearch) {\r\n dispatch(search());\r\n }\r\n };\r\n}\r\n\r\nfunction refreshLastUpdatedDate() {\r\n return { type: actionTypes.REFRESH_LAST_UPDATED_DATE }\r\n}\r\n\r\nfunction loading(isLoading) {\r\n return {\r\n type: actionTypes.LOADING,\r\n isLoading\r\n };\r\n}\r\n\r\nfunction search() {\r\n return (dispatch, getState) => {\r\n const firstPageNumber = 1;\r\n const { isNextPageRequesting } = getState().manageParsedBwics;\r\n if (!isNextPageRequesting) {\r\n dispatch(resetPaging());\r\n dispatch(searchInProgress());\r\n dispatch(textRulesPanelActions.hide());\r\n }\r\n\r\n const state = getState();\r\n const searchCriteria = getSearchCriteria(state);\r\n const { currentPageNumber, pageSize } = state.manageParsedBwics;\r\n\r\n const nextPageNumber = isNextPageRequesting ? currentPageNumber + 1 : firstPageNumber;\r\n parsedBwicsService\r\n .search(searchCriteria, nextPageNumber, pageSize)\r\n .then(success)\r\n .catch(failure)\r\n .finally(() => dispatch(nextPageRequesting(false)));\r\n\r\n function success({ totalRecordNumber, result }) {\r\n dispatch(redirectWithFilterArguments(searchCriteria));\r\n dispatch({\r\n type: actionTypes.SEARCH_COMPLETE,\r\n bwics: result,\r\n totalRecordNumber,\r\n isNextPageRequesting,\r\n nextPageNumber\r\n });\r\n }\r\n\r\n function failure(e) {\r\n dispatch(resetFilters(false));\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n }\r\n}\r\n\r\nfunction redirectWithFilterArguments(filter) {\r\n return () => {\r\n const serializers = [identifiers(), statuses(), dateFrom(), dateTo(), published()];\r\n const queryString = queryStringSerializer.serialize(filter, serializers);\r\n\r\n if (queryString) {\r\n history.replace(history.location.pathname + '?' + queryString);\r\n }\r\n }\r\n}\r\n\r\nfunction getPublishedOption(options) {\r\n if (options[0] && options[0].selected && !options[1].selected) return true;\r\n if (options[0] && options[1].selected && !options[0].selected) return false;\r\n return null;\r\n}\r\n\r\nfunction getSearchCriteria({ manageParsedBwics, searchSecurities }) {\r\n const { isNextPageRequesting, filter, lastAppliedFilter } = manageParsedBwics;\r\n const { searchTermItems } = searchSecurities;\r\n const theFilter = isNextPageRequesting ? lastAppliedFilter : filter;\r\n\r\n return {\r\n isinCusipsAndTickers: searchTermItems,\r\n statuses: theFilter.statuses.filter(s => s.selected).map(s => s.value),\r\n published: getPublishedOption(theFilter.stateOptions),\r\n ...getSearchDateRange(theFilter)\r\n };\r\n}\r\n\r\nfunction searchInProgress() {\r\n return { type: actionTypes.SEARCH_PROGRESS };\r\n}\r\n\r\nfunction filterDateChange(option) {\r\n return (dispatch, getState) => {\r\n const { filter } = getState().manageParsedBwics;\r\n\r\n dispatch({\r\n type: actionTypes.FILTER_DATE_CHANGE,\r\n option\r\n });\r\n\r\n if (option.key !== bwicDateFilterOptions.custom.key &&\r\n filter.customDateRange &&\r\n filter.customDateRange.from) {\r\n dispatch(filterCustomDateChange({}));\r\n }\r\n }\r\n}\r\n\r\nfunction filterCustomDateChange(dateRange) {\r\n return {\r\n type: actionTypes.FILTER_CUSTOM_DATE_CHANGE,\r\n dateRange\r\n };\r\n}\r\n\r\nfunction filterStatusChange(...statuses) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.FILTER_STATUS_SELECTION_CHANGE,\r\n statuses\r\n });\r\n };\r\n}\r\n\r\nfunction filterPublishedChange(published) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.FILTER_PUBLISHED_STATE_SELECTION_CHANGE,\r\n published\r\n });\r\n }\r\n}\r\n\r\nfunction setBwicCollapsedState(referenceName, collapsed) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.SET_BWIC_COLLAPSED_STATE,\r\n bwic: { referenceName, collapsed }\r\n });\r\n\r\n const { bwics, collapseAll } = getState().manageParsedBwics;\r\n const collapsedCount = bwics.filter(b => b.collapsed).length;\r\n if (collapsedCount === bwics.length && !collapseAll) {\r\n dispatch(setCollapseAll(true));\r\n } else if (collapsedCount === 0 && collapseAll) {\r\n dispatch(setCollapseAll(false));\r\n }\r\n };\r\n}\r\n\r\nfunction setCollapseAll(collapseAll) {\r\n return {\r\n type: actionTypes.SET_COLLAPSE_ALL,\r\n collapseAll\r\n };\r\n}\r\n\r\nfunction securitySelectionChange(bwicReferenceName, positionId, selected) {\r\n return {\r\n type: actionTypes.POSITION_SELECTION_CHANGE,\r\n selection: { bwicReferenceName, positionId, selected }\r\n };\r\n\r\n}\r\n\r\nfunction publishDialog(visible, bwic) {\r\n return {\r\n type: actionTypes.PUBLISH_DIALOG,\r\n dialog: visible ? { visible, bwic } : {}\r\n };\r\n}\r\n\r\nfunction unpublishDialog(visible, bwic) {\r\n return {\r\n type: actionTypes.UNPUBLISH_DIALOG,\r\n dialog: visible ? { visible, bwic } : {}\r\n };\r\n}\r\n\r\nfunction publish(bwic) {\r\n return (dispatch, getState) => {\r\n dispatch(publishDialog(false));\r\n parsedBwicsService\r\n .publish(bwic.referenceName)\r\n .then(\r\n success,\r\n e => dispatch(errorActions.error(e, errorMessages.unexpectedError))\r\n );\r\n\r\n function success() {\r\n const bwics = getState().manageParsedBwics.bwics.map(b =>\r\n b.referenceName === bwic.referenceName\r\n ? { ...b, onReview: false }\r\n : b);\r\n dispatch(updateBwicList(bwics));\r\n }\r\n }\r\n}\r\n\r\nfunction unpublish(bwic) {\r\n return (dispatch, getState) => {\r\n dispatch(unpublishDialog(false));\r\n parsedBwicsService\r\n .unpublish(bwic.referenceName)\r\n .then(\r\n success,\r\n e => dispatch(errorActions.error(e, errorMessages.unexpectedError))\r\n );\r\n\r\n function success() {\r\n const bwics = getState().manageParsedBwics.bwics.map(b =>\r\n b.referenceName === bwic.referenceName\r\n ? { ...b, onReview: true }\r\n : b);\r\n dispatch(updateBwicList(bwics));\r\n }\r\n }\r\n}\r\n\r\nfunction updateBwicList(bwics) {\r\n return { type: actionTypes.UPDATE_BWIC_LIST, payload: { bwics } }\r\n}\r\n\r\nfunction editPxTalk(visible, bwicReferenceName, position) {\r\n return (dispatch, getState) => {\r\n if (visible) {\r\n const preloadedPxTalks = getState().entities.priceTalks.priceTalks[position.id]?.items;\r\n dispatch({\r\n type: actionTypes.EDIT_PXTALK,\r\n editPxTalk: { bwicReferenceName, positionId: position.id, priceTalkLock: position.priceTalkLock }\r\n });\r\n dispatch(changePxTalkActions.init(bwicReferenceName, position.id, position.ticker, preloadedPxTalks || position.pxTalks));\r\n } else {\r\n dispatch({\r\n type: actionTypes.EDIT_PXTALK,\r\n editPxTalk: {}\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction savePxTalk() {\r\n return (dispatch, getState) => {\r\n const state = getState();\r\n const { pxTalks, deletedPriceTalks } = state.changePxTalk;\r\n const { bwicReferenceName, positionId, priceTalkLock } = state.manageParsedBwics.editPxTalk;\r\n\r\n if (pxTalks && pxTalks.every(p => !p.error)) {\r\n dispatch(changePxTalkActions.reset());\r\n dispatch(editPxTalk(false));\r\n pxTalkService\r\n .save(bwicReferenceName, positionId, pxTalks, priceTalkLock, deletedPriceTalks)\r\n .then(newPriceTalkLock => {\r\n dispatch({\r\n type: actionTypes.UPDATE_PXTALK,\r\n update: { bwicReferenceName, positionId, pxTalks, priceTalkLock: newPriceTalkLock }\r\n });\r\n dispatch(priceTalksActions.replacePriceTalks(positionId, pxTalks));\r\n })\r\n .catch(e => {\r\n if (e.status === 409) {\r\n dispatch(\r\n notificationActions.notificationAddErrorMessageModal(\r\n errorMessages.refreshPage,\r\n errorMessages.cantSavePxTalk409,\r\n true\r\n )\r\n );\r\n } else {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n })\r\n }\r\n };\r\n}\r\n\r\nfunction editColor(visible, bwicReferenceName, position) {\r\n return dispatch => {\r\n if (visible) {\r\n dispatch({\r\n type: actionTypes.EDIT_COLOR,\r\n editColor: { bwicReferenceName, positionId: position.id }\r\n });\r\n dispatch(changeColorActions.init(position.ticker, position.color));\r\n } else {\r\n dispatch({\r\n type: actionTypes.EDIT_COLOR,\r\n editColor: {}\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction saveColor() {\r\n return (dispatch, getState) => {\r\n const state = getState();\r\n const { color, errors } = state.changeColor;\r\n const { bwicReferenceName, positionId } = state.manageParsedBwics.editColor;\r\n\r\n if (color && errors.isValid) {\r\n dispatch(changeColorActions.reset());\r\n dispatch(editColor(false));\r\n\r\n colorService\r\n .save(bwicReferenceName, positionId, color)\r\n .then(\r\n () => dispatch({\r\n type: actionTypes.UPDATE_COLOR,\r\n update: { bwicReferenceName, positionId, color: { ...color, isNew: false } }\r\n }),\r\n e => dispatch(errorActions.unexpectedError(e))\r\n );\r\n }\r\n };\r\n}\r\n\r\nfunction deleteColor() {\r\n return (dispatch, getState) => {\r\n const { bwicReferenceName, positionId } = getState().manageParsedBwics.editColor;\r\n\r\n dispatch(changeColorActions.reset());\r\n dispatch(editColor(false));\r\n\r\n colorService\r\n .deleteColor(bwicReferenceName, positionId)\r\n .then(\r\n () => dispatch({\r\n type: actionTypes.UPDATE_COLOR,\r\n update: { bwicReferenceName, positionId, undefined }\r\n }),\r\n e => dispatch(errorActions.unexpectedError(e))\r\n );\r\n };\r\n}\r\n\r\nfunction showNewBwic() {\r\n return (dispatch, getState) => {\r\n const { bwics } = getState().manageParsedBwics;\r\n const securities = [];\r\n\r\n for (let i = 0; i < bwics.length; i++) {\r\n if (bwics[i].positions) {\r\n for (let j = 0; j < bwics[i].positions.length; j++) {\r\n if (bwics[i].positions[j].selected) {\r\n securities.push({\r\n ...bwics[i].positions[j],\r\n pxTalks: [],\r\n color: null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n dispatch(editActions.storeOriginalBwic({ securities }));\r\n history.push(routes.newParsedBWIC);\r\n };\r\n}\r\n\r\nfunction deleteBwicDialog(visible, referenceName) {\r\n return {\r\n type: actionTypes.DELETE_BWIC_DIALOG,\r\n dialog: { visible, referenceName }\r\n };\r\n}\r\n\r\nfunction deleteBwic(referenceName) {\r\n return (dispatch, getState) => {\r\n dispatch(deleteBwicDialog(false));\r\n\r\n parsedBwicsService\r\n .deleteBwic(referenceName)\r\n .then(success)\r\n .catch(e => dispatch(errorActions.error(e, errorMessages.unexpectedError)));\r\n\r\n function success() {\r\n const bwics = getState().manageParsedBwics.bwics\r\n .filter(b => b.referenceName !== referenceName);\r\n\r\n dispatch(updateBwicList(bwics));\r\n }\r\n };\r\n}\r\n\r\nfunction loadNextPage() {\r\n return (dispatch, getState) => {\r\n const { searchInProgress, isNextPageRequesting } = getState().manageParsedBwics;\r\n\r\n if (!searchInProgress && !isNextPageRequesting) {\r\n dispatch(nextPageRequesting(true));\r\n dispatch(search());\r\n }\r\n }\r\n}\r\n\r\nfunction nextPageRequesting(isRequesting) {\r\n return {\r\n type: actionTypes.MANAGE_PARSED_BWICS_NEXT_PAGE_REQUESTING,\r\n isRequesting\r\n }\r\n}\r\n\r\nfunction resetPaging() {\r\n return {\r\n type: actionTypes.MANAGE_PARSED_BWICS_RESET_PAGING\r\n };\r\n}\r\n\r\nfunction setRequestStatusIsAMR(referenceName, isRequesting) {\r\n return { type: actionTypes.MANAGE_PARSED_BWICS_SET_REQUEST_STATUS_IS_AMR, payload: { referenceName, isRequesting } }\r\n}\r\n\r\nfunction changeAmrFlag(referenceName, status) {\r\n return async (dispatch) => {\r\n dispatch(setRequestStatusIsAMR(referenceName, true));\r\n try {\r\n await parsedBwicsService.changeAmrFlag(referenceName, status);\r\n dispatch({ type: actionTypes.MANAGE_PARSED_BWICS_SET_IS_AMR_FLAG, payload: { referenceName, status } });\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n } finally {\r\n dispatch(setRequestStatusIsAMR(referenceName, false));\r\n }\r\n }\r\n}\r\n\r\n","import { changePxTalkActions as actionTypes, errorMessages } from '../constants';\r\nimport { pxTalkService } from '../services';\r\nimport { jsonUtils, wait, pxTalkUtils, numericUtils, stringUtils } from '../utils';\r\nimport { formsActions } from '.';\r\n\r\nexport const changePxTalkActions = {\r\n init,\r\n reset,\r\n add,\r\n talkChange,\r\n normalizeTalk,\r\n levelTypeChange,\r\n deletePxTalk,\r\n validate,\r\n waitNormalizing\r\n}\r\n\r\nfunction init(bwicReferenceName, positionId, ticker, pxTalks) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.STORE_PXTALKS,\r\n bwicReferenceName,\r\n positionId,\r\n ticker,\r\n pxTalks: pxTalks || []\r\n });\r\n }\r\n}\r\n\r\nfunction reset(resetCompanies = false) {\r\n return {\r\n type: actionTypes.RESET,\r\n resetCompanies\r\n };\r\n}\r\n\r\nfunction add(pxTalk) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.ADD_PXTALK,\r\n pxTalk\r\n });\r\n dispatch(formsActions.reset());\r\n\r\n };\r\n}\r\n\r\nfunction levelTypeChange(companyId, levelType) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.LEVEL_TYPE_CHANGE,\r\n change: { companyId, levelType }\r\n });\r\n\r\n const { pxTalks } = getState().changePxTalk;\r\n const pxTalk = pxTalks.find(p => p.company.id === companyId);\r\n\r\n dispatch(normalizeTalk(companyId, pxTalk.talk, levelType));\r\n };\r\n}\r\n\r\nfunction deletePxTalk(index) {\r\n return {\r\n type: actionTypes.DELETE_PX_TALK,\r\n index\r\n };\r\n}\r\n\r\nfunction talkChange(companyId, talk) {\r\n return {\r\n type: actionTypes.TALK_CHANGE,\r\n change: { companyId, talk: pxTalkUtils.normalizeDecimalPlaces(talk) }\r\n };\r\n}\r\n\r\nfunction normalizeTalk(companyId, talk, levelType) {\r\n return (dispatch, getState) => {\r\n if (stringUtils.isNullOrWhiteSpace(talk)) {\r\n return dispatch(setPxTalkError(companyId, errorMessages.empty));\r\n } if (talk.match(',')) {\r\n return dispatch(setPxTalkError(companyId, errorMessages.invalidValue));\r\n }\r\n\r\n dispatch(normalizing(true));\r\n\r\n pxTalkService\r\n .normalize(talk, levelType)\r\n .then(setNormalizedLevel)\r\n .catch(setNormalizeError)\r\n .finally(() => dispatch(normalizing(false)));\r\n\r\n function setNormalizedLevel(normalized) {\r\n const { pxTalks } = getState().changePxTalk;\r\n if (pxTalks && pxTalks.length) {\r\n dispatch(normalizedLevelChange(companyId, normalized));\r\n }\r\n }\r\n\r\n function setNormalizeError(error) {\r\n const responseMessage = error && error.message && jsonUtils.tryParse(error.message);\r\n const errorMessage = responseMessage ? responseMessage.error : errorMessages.invalidValue;\r\n\r\n dispatch(setPxTalkError(companyId, errorMessage));\r\n }\r\n };\r\n}\r\n\r\nfunction normalizedLevelChange(companyId, normalizedLevel = {}) {\r\n return (dispatch, getState) => {\r\n if (!getState().changePxTalk.pxTalks) return;\r\n\r\n const updateValues = { companyId, normalizedLevel: '', talk: '' };\r\n if (normalizedLevel !== null && numericUtils.isNumber(normalizedLevel.parsedLevel)) {\r\n updateValues.normalizedLevel = normalizedLevel.parsedLevel.toFixed(2);\r\n updateValues.talk = normalizedLevel.level\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.NORMALIZED_LEVEL_CHANGE,\r\n change: updateValues\r\n });\r\n\r\n const { pxTalks } = getState().changePxTalk;\r\n const pxTalk = pxTalks.find(p => p.company.id === companyId);\r\n\r\n if (pxTalk.error) {\r\n const error = validatePxTalk(pxTalk);\r\n if (pxTalk.error !== error) {\r\n dispatch(setPxTalkError(companyId, error));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction validate() {\r\n return (dispatch, getState) => {\r\n if (!getState().changePxTalk.pxTalks) return;\r\n\r\n const pxTalks = getState().changePxTalk.pxTalks.map(p => {\r\n const error = validatePxTalk(p);\r\n return p.error ? p : { ...p, error }\r\n });\r\n\r\n dispatch({ type: actionTypes.VALIDATION_RESULT, pxTalks });\r\n };\r\n}\r\n\r\nfunction validatePxTalk(pxTalk) {\r\n let error;\r\n\r\n if (pxTalk.talk === '' || pxTalk.talk == null) {\r\n error = errorMessages.empty;\r\n } else if (!pxTalk.normalizedLevel || pxTalk.talk.match(',')) {\r\n error = errorMessages.invalidValue;\r\n }\r\n\r\n return error;\r\n}\r\n\r\nfunction setPxTalkError(companyId, errorMessage) {\r\n return {\r\n type: actionTypes.TALK_ERROR,\r\n error: { companyId, errorMessage }\r\n };\r\n}\r\n\r\nfunction normalizing(isNormalizing) {\r\n return {\r\n type: actionTypes.NORMALIZING,\r\n isNormalizing\r\n };\r\n}\r\n\r\nfunction waitNormalizing(normalizedCallback) {\r\n return async (dispatch, getState) => {\r\n await wait(() => !getState().changePxTalk.isNormalizing);\r\n dispatch(validate());\r\n normalizedCallback();\r\n };\r\n}\r\n","import {\r\n changeColorActions as actionTypes,\r\n errorMessages,\r\n pxTalkLevelTypes,\r\n levelSpecifications,\r\n colorTypes\r\n} from '../constants';\r\nimport { pxTalkService } from '../services';\r\nimport { jsonUtils, wait } from '../utils';\r\n\r\n\r\nexport const changeColorActions = {\r\n init,\r\n reset,\r\n setDm,\r\n tradedChange,\r\n levelSpecificationChange,\r\n levelChange,\r\n normalizeLevel,\r\n levelTypeChange,\r\n validate,\r\n waitNormalizing\r\n}\r\n\r\nfunction init(ticker, color, dm) {\r\n return {\r\n type: actionTypes.SET_COLOR,\r\n data: {\r\n ticker,\r\n color: color\r\n ? {\r\n ...color,\r\n levelSpecificationType: color.levelSpecificationType || levelSpecifications.cover.key\r\n }\r\n : getEmptyColor(),\r\n dm\r\n }\r\n };\r\n}\r\n\r\nfunction setDm(dm) {\r\n return {\r\n type: actionTypes.CHANGE_COLOR_SET_DM,\r\n payload: { dm }\r\n };\r\n}\r\n\r\nfunction getEmptyColor() {\r\n return {\r\n isNew: true,\r\n levelType: pxTalkLevelTypes.price.key,\r\n levelSpecificationType: levelSpecifications.cover.key,\r\n traded: true,\r\n colorType: colorTypes.none.key\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return {\r\n type: actionTypes.RESET\r\n };\r\n}\r\n\r\nfunction tradedChange(traded) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.TRADED_CHANGE,\r\n traded\r\n });\r\n\r\n const { errors } = getState().changeColor;\r\n\r\n if (errors.color) {\r\n dispatch(setColorError());\r\n }\r\n };\r\n}\r\n\r\nfunction levelSpecificationChange(levelSpecification) {\r\n return (dispatch, getState) => {\r\n const { errors } = getState().changeColor;\r\n\r\n dispatch({\r\n type: actionTypes.LEVEL_SPECIFICATION_CHANGE,\r\n levelSpecification\r\n });\r\n\r\n if (errors.color) {\r\n dispatch(setColorError());\r\n }\r\n };\r\n}\r\n\r\nfunction levelChange(level) {\r\n return {\r\n type: actionTypes.LEVEL_CHANGE,\r\n level\r\n };\r\n}\r\n\r\nfunction normalizeLevel(level, levelType) {\r\n return (dispatch, getState) => {\r\n if (level !== '' && level != null) {\r\n dispatch(normalizing(true));\r\n pxTalkService\r\n .normalize(level, levelType)\r\n .then(setNormalizedLevel)\r\n .then(() => dispatch(normalizing(false)))\r\n .catch((e = {}) => {\r\n setNormalizedLevel(null)\r\n const errorMessage = jsonUtils.tryParse(e.message);\r\n if (errorMessage && errorMessage.error) {\r\n dispatch(setLevelError(errorMessage.error));\r\n }\r\n });\r\n } else {\r\n setNormalizedLevel(null);\r\n }\r\n\r\n function setNormalizedLevel(normalized) {\r\n const { color } = getState().changeColor;\r\n if (color) { //change color state is not reset\r\n dispatch(normalizedLevelChange(normalized));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction normalizedLevelChange(normalizedLevel) {\r\n return (dispatch, getState) => {\r\n const updateColor = { normalizedLevel: '', level: '' };\r\n if (normalizedLevel !== null) {\r\n updateColor.normalizedLevel = normalizedLevel.parsedLevel;\r\n updateColor.level = normalizedLevel.level\r\n }\r\n dispatch({\r\n type: actionTypes.NORMALIZED_LEVEL_CHANGE,\r\n ...updateColor\r\n });\r\n\r\n const { color, errors } = getState().changeColor;\r\n\r\n if (errors.level) {\r\n const error = validateLevel(color);\r\n if (error !== errors.level) {\r\n dispatch(setLevelError(error));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction validateLevel(color) {\r\n let error;\r\n if (color.level === '' || color.level == null) {\r\n error = null;\r\n } else if (!color.normalizedLevel) {\r\n error = errorMessages.invalidValue;\r\n }\r\n\r\n return error;\r\n}\r\n\r\nfunction validateColor(color) {\r\n const tradedBest = color.traded && color.levelSpecificationType === levelSpecifications.best.key;\r\n const dntCover = !color.traded && color.levelSpecificationType === levelSpecifications.cover.key;\r\n\r\n if (tradedBest || dntCover) {\r\n return errorMessages.invalidColor;\r\n }\r\n\r\n return null;\r\n}\r\n\r\nfunction setLevelError(error) {\r\n return {\r\n type: actionTypes.SET_LEVEL_ERROR,\r\n error\r\n }\r\n}\r\n\r\nfunction setColorError() {\r\n return (dispatch, getState) => {\r\n const { color } = getState().changeColor;\r\n const colorError = validateColor(color);\r\n\r\n if (color.error !== colorError) {\r\n dispatch({\r\n type: actionTypes.SET_COLOR_ERROR,\r\n error: colorError\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction levelTypeChange(levelType) {\r\n return (dispatch, getState) => {\r\n dispatch({\r\n type: actionTypes.LEVEL_TYPE_CHANGE,\r\n levelType\r\n });\r\n\r\n const { color } = getState().changeColor;\r\n dispatch(normalizeLevel(color.level, levelType));\r\n };\r\n}\r\n\r\nfunction validate() {\r\n return (dispatch, getState) => {\r\n const { color } = getState().changeColor;\r\n const levelError = validateLevel(color);\r\n\r\n dispatch(setLevelError(levelError));\r\n\r\n if (!levelError) {\r\n dispatch(setColorError());\r\n }\r\n };\r\n}\r\n\r\nfunction normalizing(isNormalizing) {\r\n return {\r\n type: actionTypes.NORMALIZING,\r\n isNormalizing\r\n };\r\n}\r\n\r\nfunction waitNormalizing(normalizedCallback) {\r\n return async (dispatch, getState) => {\r\n await wait(() => !getState().changeColor.isNormalizing);\r\n\r\n const { color } = getState().changeColor;\r\n if (color) {\r\n dispatch(validate());\r\n normalizedCallback();\r\n }\r\n };\r\n}\r\n","import {\r\n contactsSaveActions as actionTypes,\r\n gridColumns,\r\n routes,\r\n contactsSaveViews,\r\n errorMessages,\r\n uploadStatus,\r\n contactConflictTypes,\r\n constants\r\n} from '../constants';\r\nimport { errorActions, gridActions } from '.';\r\nimport { companiesService, contactsService } from '../services';\r\nimport { nameUtils } from '../utils';\r\nimport { history } from '../history';\r\n\r\n\r\nexport const contactsSaveActions = {\r\n init,\r\n reset,\r\n loadCompanies,\r\n selectCompany,\r\n resetCompaniesLookup,\r\n filterCompanies,\r\n uploadContacts,\r\n handleClipboardData,\r\n save,\r\n saveResolved,\r\n switchView,\r\n deleteContact,\r\n deleteDuplicate,\r\n backToContactsEdit,\r\n setCompanyNameByEmailDomain,\r\n}\r\n\r\nfunction init(isEdit) {\r\n return async dispatch => {\r\n dispatch(loading(true));\r\n try {\r\n const companiesPromise = companiesService.getBrokerDealers();\r\n const companyDomainsPromise = companiesService.getCompanyDomains();\r\n\r\n const companies = await companiesPromise;\r\n const companyDomains = await companyDomainsPromise;\r\n\r\n dispatch(loadCompanies(companies));\r\n dispatch(loadCompanyDomains(companyDomains));\r\n\r\n const columns = gridColumns.contacts().map(c =>\r\n c.name === gridColumns.email.name\r\n ? { ...c, updateDependencyColumnsCallback: setCompanyNameByEmailDomain }\r\n : c\r\n );\r\n\r\n if (isEdit) {\r\n const allContacts = await contactsService.getContacts();\r\n const contacts = allContacts.filter(c => !c.readonly && companies.some(company => company.id === c.companyId));\r\n\r\n contacts.forEach(c => c.company = companies.find(company => company.id === c.companyId).name)\r\n\r\n dispatch(storeInitialContacts(contacts));\r\n dispatch(gridActions.init(contacts, columns));\r\n } else {\r\n dispatch(gridActions.init([], columns));\r\n }\r\n\r\n dispatch(setEditMode(isEdit));\r\n }\r\n catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(loading(false));\r\n }\r\n };\r\n}\r\n\r\nfunction loading(isLoading) {\r\n return {\r\n type: actionTypes.CONTACT_SAVE_LOADING,\r\n isLoading\r\n };\r\n}\r\n\r\nfunction storeInitialContacts(contacts) {\r\n return {\r\n type: actionTypes.INITIAL_CONTACTS,\r\n contacts\r\n }\r\n}\r\n\r\nfunction setEditMode(isEdit) {\r\n return {\r\n type: actionTypes.EDIT_MODE,\r\n isEdit\r\n }\r\n}\r\n\r\nfunction reset() {\r\n return dispatch => {\r\n dispatch({ type: actionTypes.RESET })\r\n dispatch(gridActions.reset());\r\n dispatch(errorActions.resetError());\r\n };\r\n}\r\n\r\nfunction loadCompanies(companies) {\r\n return {\r\n type: actionTypes.LOAD_COMPANIES,\r\n companies\r\n };\r\n}\r\n\r\nfunction loadCompanyDomains(companyDomains) {\r\n return {\r\n type: actionTypes.LOAD_COMPANY_DOMAINS,\r\n companyDomains\r\n };\r\n}\r\n\r\nfunction selectCompany(company) {\r\n return dispatch => {\r\n dispatch(gridActions.editing(company.name));\r\n dispatch(gridActions.applyEdit());\r\n dispatch(resetCompaniesLookup());\r\n };\r\n}\r\n\r\nfunction resetCompaniesLookup() {\r\n return {\r\n type: actionTypes.COMPANIES_LOOKUP,\r\n lookup: {\r\n companies: [],\r\n searchTerm: ''\r\n }\r\n };\r\n}\r\n\r\nfunction filterCompanies(searchTerm) {\r\n return (dispatch, getState) => {\r\n const { companies, companiesLookup } = getState().contactsSave;\r\n\r\n if (searchTerm.length) {\r\n const searchTermLowerCase = searchTerm.toLowerCase();\r\n dispatch({\r\n type: actionTypes.COMPANIES_LOOKUP,\r\n lookup: {\r\n searchTerm,\r\n companies: companies.filter(s =>\r\n s.name.toLowerCase().startsWith(searchTermLowerCase))\r\n }\r\n });\r\n\r\n } else if (companiesLookup.searchTerm) {\r\n dispatch(resetCompaniesLookup());\r\n }\r\n };\r\n}\r\n\r\nfunction uploadContacts(file) {\r\n return (dispatch, getState) => {\r\n const { position, upload } = getState().grid;\r\n\r\n if (upload.status === uploadStatus.uploading) {\r\n return;\r\n }\r\n\r\n const extension = (file.name.split('.').pop() || '').toLowerCase();\r\n\r\n if (extension !== 'csv' && extension !== 'xlsx') {\r\n dispatch(errorActions.error(\r\n null,\r\n errorMessages.invalidFileType,\r\n 'Invalid file type.'\r\n ));\r\n return;\r\n\r\n } else if (file.size > constants.gridFileUploadMaximumSize * 1024 * 1024) {\r\n dispatch(errorActions.error(\r\n null,\r\n errorMessages.fileSizeLimitExceeded(constants.gridFileUploadMaximumSize),\r\n 'The file is too big.'\r\n ));\r\n return;\r\n }\r\n\r\n if (position.editing) {\r\n dispatch(gridActions.applyEdit());\r\n }\r\n\r\n contactsService\r\n .uploadContacts(file, progress)\r\n .then(success, e => failure(e));\r\n\r\n dispatch(gridActions.setUploadState(uploadStatus.uploading, 0, file.name));\r\n\r\n function success(contacts) {\r\n contacts.forEach(s => {\r\n s.company = s.company ? s.company.trim() : '';\r\n s.email = s.email ? s.email.trim() : '';\r\n s.isNew = true;\r\n });\r\n dispatch(gridActions.addDataItems(contacts));\r\n dispatch(gridActions.validate());\r\n setTimeout(\r\n () => dispatch(gridActions.setUploadState(uploadStatus.none)),\r\n 500\r\n );\r\n }\r\n\r\n function failure(e) {\r\n dispatch(gridActions.setUploadState(uploadStatus.none));\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n\r\n function progress(e) {\r\n if (e.lengthComputable) {\r\n var percentComplete = (e.loaded / e.total) * 100;\r\n dispatch(gridActions.setUploadState(uploadStatus.uploading, percentComplete, file.name));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction handleClipboardData(clipboardText) {\r\n return (dispatch, getState) => {\r\n const { position = { index: 0 } } = getState().grid;\r\n\r\n dispatch(gridActions.dataProcessing(true));\r\n\r\n contactsService\r\n .parseContactsStirng(clipboardText)\r\n .then(success, e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(gridActions.dataProcessing(false)));\r\n\r\n function success(contacts) {\r\n contacts.forEach(s => s.isNew = true);\r\n dispatch(gridActions.insertDataItems(contacts, position.index));\r\n dispatch(gridActions.validate());\r\n }\r\n };\r\n}\r\n\r\nfunction save() {\r\n return async (dispatch, getState) => {\r\n dispatch(gridActions.validate());\r\n\r\n const { grid } = getState();\r\n const contacts = grid.dataItems.filter(i => !i.draft);\r\n if (!grid.isValid && contacts.length) {\r\n return;\r\n }\r\n\r\n const { deletedContacts } = getState().contactsSave;\r\n\r\n dispatch(loading(true));\r\n await dispatch(findConflicts(contacts, deletedContacts));\r\n\r\n const { conflicts } = getState().contactsSave;\r\n if (conflicts && conflicts.length) {\r\n dispatch(loading(false));\r\n return dispatch(switchView(contactsSaveViews.conflicts));\r\n }\r\n\r\n dispatch(doSave(contacts));\r\n };\r\n}\r\n\r\nfunction saveResolved() {\r\n return (dispatch, getState) => {\r\n const { grid } = getState();\r\n const contacts = grid.dataItems.filter(i => !i.draft);\r\n\r\n dispatch(loading(true));\r\n dispatch(doSave(contacts));\r\n };\r\n}\r\n\r\nfunction doSave(contacts) {\r\n return (dispatch, getState) => {\r\n const { deletedContacts, companies, conflicts } = getState().contactsSave;\r\n\r\n const contactIndexesToSkip = conflicts\r\n .map(c => c.duplicates.filter(d => d.isDeleted && !d.id))\r\n .flat()\r\n .map(d => d.contactIndex);\r\n\r\n const contactsToSave = contacts\r\n .filter((contact, index) =>\r\n !deletedContacts.some(id => contact.id === id) &&\r\n !contactIndexesToSkip.some(i => i === index))\r\n .map(c => {\r\n const company = companies.find(company =>\r\n company.name.localeCompare(\r\n c.company,\r\n undefined,\r\n { sensitivity: 'accent' }) === 0\r\n );\r\n\r\n return { ...c, companyId: company && company.id };\r\n });\r\n\r\n contactsService\r\n .bulkSave(contactsToSave, deletedContacts)\r\n .then(success)\r\n .catch(failed)\r\n .finally(() => dispatch(loading(false)))\r\n\r\n function success() {\r\n dispatch(storeConflicts(null));\r\n history.replace(routes.dealers);\r\n }\r\n\r\n function failed(e) {\r\n if (+e.status === 409) {\r\n dispatch(findConflicts(contacts));\r\n } else {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction switchView(view) {\r\n return {\r\n type: actionTypes.SWITCH_VIEW,\r\n view\r\n };\r\n}\r\n\r\nfunction findConflicts(contacts, deletedContacts) {\r\n return async dispatch => {\r\n let currentContacts;\r\n\r\n try {\r\n currentContacts = await\r\n contactsService.getContacts()\r\n }\r\n catch (e) {\r\n return dispatch(errorActions.unexpectedError(e));\r\n }\r\n\r\n currentContacts = currentContacts\r\n .filter(c => !deletedContacts.some(d => d === c.id))\r\n .filter(c => !contacts.some(cc => cc.id === c.id));\r\n\r\n const contactsIndexed = contacts.map((c, contactIndex) => ({ ...c, contactIndex }));\r\n\r\n const nameDuplicates = new Map();\r\n const emailDuplicates = new Map();\r\n\r\n contactsIndexed\r\n .forEach(c => {\r\n findNameDuplicates(c);\r\n findEmailDuplicates(c);\r\n });\r\n\r\n const nameConflicts = [...nameDuplicates.values()].map(d => ({\r\n conflictType: contactConflictTypes.duplicateName,\r\n duplicates: d,\r\n isResolved: false\r\n }));\r\n\r\n const emailConflicts = [...emailDuplicates.values()].map(d => ({\r\n conflictType: contactConflictTypes.duplicateEmail,\r\n duplicates: d,\r\n isResolved: false\r\n }));\r\n\r\n const conflicts = nameConflicts.concat(emailConflicts);\r\n dispatch(storeConflicts(conflicts));\r\n\r\n function findNameDuplicates(contact) {\r\n const fullName = nameUtils.getFullName(contact.firstName, contact.lastName, '');\r\n const nameEquals = ({ firstName, lastName }) => {\r\n const otherFullName = nameUtils.getFullName(firstName, lastName, '');\r\n return otherFullName && fullName.localeCompare(otherFullName, undefined, { sensitivity: 'accent' }) === 0;\r\n }\r\n\r\n if (fullName && !nameDuplicates.has(fullName)) {\r\n const currentDuplicates = currentContacts.filter(current => nameEquals(current));\r\n const localDuplicates = contactsIndexed.filter(c => nameEquals(c));\r\n const duplicates = currentDuplicates.concat(localDuplicates);\r\n\r\n if (duplicates.length > 1) {\r\n nameDuplicates.set(fullName, duplicates);\r\n }\r\n }\r\n }\r\n\r\n function findEmailDuplicates(contact) {\r\n if (!emailDuplicates.has(contact.email)) {\r\n const duplicates = currentContacts.filter(current =>\r\n current.email.localeCompare(contact.email, undefined, { sensitivity: 'accent' }) === 0);\r\n\r\n if (duplicates.length) {\r\n duplicates.push(contact);\r\n emailDuplicates.set(contact.email, duplicates);\r\n }\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction storeConflicts(conflicts) {\r\n return {\r\n type: actionTypes.STORE_CONFLICTS,\r\n conflicts\r\n };\r\n}\r\n\r\nfunction resetConflicts() {\r\n return {\r\n type: actionTypes.RESET_CONFLICTS\r\n };\r\n}\r\n\r\nfunction deleteContact(...contacts) {\r\n return dispatch => {\r\n const exstingContacts = contacts.filter(id => id);\r\n if (exstingContacts.length) {\r\n dispatch({\r\n type: actionTypes.DELETE_CONTACT,\r\n contacts: exstingContacts\r\n });\r\n }\r\n };\r\n}\r\n\r\nfunction deleteDuplicate(contact) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.DELETE_DUPLICATE_CONTACT,\r\n contact\r\n });\r\n dispatch(deleteContact(contact.id));\r\n dispatch(ensureConflictsResolved());\r\n };\r\n}\r\n\r\nfunction ensureConflictsResolved() {\r\n return {\r\n type: actionTypes.ENSURE_CONFLICTS_RESOLVED\r\n }\r\n}\r\n\r\nfunction backToContactsEdit() {\r\n return dispatch => {\r\n dispatch(resetConflicts());\r\n dispatch(switchView(contactsSaveViews.grid));\r\n };\r\n}\r\n\r\nfunction setCompanyNameByEmailDomain(gridItemIndex) {\r\n return (dispatch, getState) => {\r\n const { dataItems } = getState().grid;\r\n const contact = dataItems[gridItemIndex];\r\n const domainName = contact.email.substring(contact.email.lastIndexOf(\"@\") + 1);\r\n\r\n if (domainName) {\r\n const { companyDomains } = getState().contactsSave;\r\n const domains = companyDomains.find(c =>\r\n c.domainNames.some(d => d.localeCompare(\r\n domainName,\r\n undefined,\r\n { sensitivity: 'accent' }) === 0));\r\n if (domains) {\r\n const { companies } = getState().contactsSave;\r\n const company = companies.find(c => c.id === domains.companyId);\r\n const dataItem = {\r\n ...contact,\r\n company: company.name\r\n };\r\n\r\n dispatch(gridActions.deleteRow(gridItemIndex));\r\n dispatch(gridActions.insertDataItems([dataItem], gridItemIndex));\r\n }\r\n }\r\n };\r\n}\r\n","import { uploadDocumentsActions, errorActions } from \".\";\r\nimport { portfolioService } from \"../services\";\r\n\r\nexport const portfolioDocumentsActions = {\r\n init,\r\n reset\r\n};\r\n\r\nfunction init() {\r\n return async dispatch => {\r\n try {\r\n const portfolios = await portfolioService.getPortfolios();\r\n const securityIdList = getSecurityIdList(portfolios);\r\n\r\n dispatch(uploadDocumentsActions.init(securityIdList));\r\n }\r\n catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n }\r\n };\r\n}\r\n\r\nfunction getSecurityIdList(portfolios) {\r\n return portfolios\r\n .map(p => p.securities || [])\r\n .flat()\r\n .map(s => s.securityId);\r\n}\r\n\r\nfunction reset() {\r\n return uploadDocumentsActions.reset();\r\n}\r\n","import { otherSellerBiddingActions as actionTypes } from '../constants';\r\n\r\nexport const otherSellerBiddingActions = {\r\n init,\r\n reset\r\n}\r\n\r\nfunction init(bwic) {\r\n return dispatch => {\r\n dispatch(storeSecurities(bwic.securities));\r\n };\r\n}\r\n\r\nfunction storeSecurities(securities) {\r\n return {\r\n type: actionTypes.OTHER_SELLER_BIDDING_STORE_SECURITIES,\r\n securities\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return {\r\n type: actionTypes.OTHER_SELLER_BIDDING_RESET\r\n };\r\n}\r\n","import { dealersActions as actionTypes } from '../constants';\r\nimport { errorActions } from '.';\r\nimport { settlementAgentAgreementService } from '../services/settlement-agent-agreement.service';\r\nimport { createAction } from 'typesafe-actions';\r\n\r\nconst updateFilterOptions = createAction(\r\n 'dealers/UPDATE_FILTER_OPTIONS',\r\n resolve => (filterOption) => resolve({ filterOption })\r\n);\r\n\r\nconst clearFilterOptions = createAction('dealers/CLEAR_FILTER_OPTIONS');\r\n\r\nconst setSearchTerm = createAction(\r\n 'dealers/SET_SEARCH_TERM',\r\n resolve => (searchTerm) => resolve({ searchTerm })\r\n);\r\n\r\nexport const dealersActions = {\r\n requestToBid,\r\n reset,\r\n updateFilterOptions,\r\n clearFilterOptions,\r\n setSearchTerm,\r\n showBidRequestConfirmPopup,\r\n hideBidRequestConfirmPopup,\r\n};\r\n\r\nfunction reset() {\r\n return { type: actionTypes.DEALERS_RESET_STATE };\r\n}\r\n\r\nfunction requestToBid(settlementAgentId) {\r\n return (dispatch) => {\r\n dispatch(setRequestStatus(true));\r\n settlementAgentAgreementService.sendRequest({ settlementAgentId })\r\n .then(() => {\r\n dispatch(hideBidRequestConfirmPopup());\r\n })\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .finally(() => dispatch(setRequestStatus(false)));\r\n };\r\n}\r\n\r\nfunction setRequestStatus(status) {\r\n return {\r\n type: actionTypes.DEALERS_REQUEST_TO_BID_SET_REQUEST_STATUS,\r\n payload: { status }\r\n };\r\n}\r\n\r\nfunction showBidRequestConfirmPopup(dealerId) {\r\n return { type: actionTypes.DEALERS_SHOW_CONFIRM_BID_REQUEST_POPUP, payload: { dealerId } }\r\n}\r\n\r\nfunction hideBidRequestConfirmPopup() {\r\n return { type: actionTypes.DEALERS_HIDE_CONFIRM_BID_REQUEST_POPUP }\r\n}\r\n","import { logger } from '../logging/logger';\r\nimport { brokerDealerContactListActions } from './broker-dealer-contact-list.actions';\r\nimport { brokerDealerListActions } from './broker-dealer-list.actions';\r\n\r\nexport const pushInvitationActions = {\r\n dataPushReceived: (data) => {\r\n return dispatch => {\r\n logger.trace('Push', 'Invitation', data);\r\n if (data.contactId) {\r\n dispatch(brokerDealerContactListActions.setContactInvitationSent(data.contactId))\r\n }\r\n if (data.companyId) {\r\n dispatch(brokerDealerListActions.updateDealerDistributionListInvitationSent(data.companyId));\r\n dispatch(brokerDealerListActions.updateDealerHeadOfTradingInvitationSent(data.companyId))\r\n }\r\n }\r\n }\r\n};\r\n","import { colorDistributionActions as actionTypes, colorDistributionTypes} from '../constants';\r\nimport { bwicService } from '../services';\r\nimport { errorActions } from './error.actions';\r\nimport { TradeStatus } from '../types/trades/TradeStatus';\r\n\r\nexport const colorDistributionActions = {\r\n setBwicColorDistribution,\r\n cancelColorDistribution,\r\n completeBwic,\r\n tradedTypeChange,\r\n dntTypeChange,\r\n positionColorTypeChange\r\n}\r\n\r\nfunction setBwicColorDistribution(isColorDistribution) {\r\n return {\r\n type: actionTypes.COLOR_DISTRIBUTION_SET_BWIC_COLOR_DISTRIBUTION,\r\n isColorDistribution\r\n };\r\n}\r\n\r\nfunction setCompleteInProgress(inProgress) {\r\n return {\r\n type: actionTypes.COLOR_DISTRIBUTION_COMPLETE_IN_PROGRESS,\r\n inProgress\r\n };\r\n}\r\n\r\nfunction cancelColorDistribution(bwicReferenceName) {\r\n return (dispatch, getState) => {\r\n const { isCompleteInProgress } = getState().sellerBidding;\r\n\r\n if (!isCompleteInProgress) {\r\n bwicService\r\n .setColorDistribution(bwicReferenceName, false)\r\n .then(success, e => dispatch(errorActions.unexpectedError(e)));\r\n }\r\n\r\n function success() {\r\n dispatch(setBwicColorDistribution(false))\r\n dispatch(reset());\r\n }\r\n };\r\n}\r\n\r\nfunction tradedTypeChange(tradedType) {\r\n return {\r\n type: actionTypes.COLOR_DISTRIBUTION_TRADED_TYPE_CHANGE,\r\n tradedType\r\n };\r\n}\r\n\r\nfunction dntTypeChange(dntType) {\r\n return {\r\n type: actionTypes.COLOR_DISTRIBUTION_DNT_TYPE_CHANGE,\r\n dntType\r\n };\r\n}\r\n\r\nfunction positionColorTypeChange(positionId, colorType) {\r\n return {\r\n type: actionTypes.COLOR_DISTRIBUTION_POSITION_COLOR_TYPE_CHANGE,\r\n positionId,\r\n colorType\r\n };\r\n}\r\n\r\nfunction completeBwic() {\r\n return (dispatch, getState) => {\r\n const { bwic } = getState().bidding;\r\n const { securities, colorDistribution, isCompleteInProgress } = getState().sellerBidding;\r\n\r\n if (isCompleteInProgress) return;\r\n\r\n dispatch(setCompleteInProgress(true));\r\n\r\n const colorDistributionModel =\r\n securities\r\n .map(s => ({\r\n positionId: s.id,\r\n colorDistributionType:\r\n s.colorDistribution ||\r\n (s.trade && (s.trade.status === TradeStatus.pending || s.trade.status === TradeStatus.affirmed)\r\n ? colorDistribution.forTradedType\r\n : s?.bids?.length ? colorDistribution.forDNTType: colorDistributionTypes.status.key)\r\n }));\r\n\r\n bwicService\r\n .completeBwic(bwic.referenceName, colorDistributionModel)\r\n .catch(e => dispatch(errorActions.unexpectedError(e)))\r\n .then(() => dispatch(setCompleteInProgress(false)));\r\n };\r\n}\r\n\r\nfunction reset() {\r\n return {\r\n type: actionTypes.COLOR_DISTRIBUTION_RESET\r\n };\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\n\r\nexport const onBoardingTooltipNav = createAction(\r\n 'ON_BOARDING_TOOLTIP_NAV',\r\n resolve => (page, next) => resolve({ page, next })\r\n);\r\n\r\nexport const onBoardingTooltipClose = createAction(\r\n 'ON_BOARDING_TOOLTIP_CLOSE',\r\n resolve => (page) => resolve({ page })\r\n);\r\n\r\nexport const onBoardingTooltipGotIt = createAction(\r\n 'ON_BOARDING_TOOLTIP_GOT_IT',\r\n resolve => (page, doNotShowSupportPopup) => resolve({ page, doNotShowSupportPopup })\r\n);\r\n\r\nexport const onBoardingTooltipSetVisible = createAction(\r\n 'ON_BOARDING_TOOLTIP_SET_VISIBLE',\r\n resolve => (status) => resolve({ status })\r\n);\r\n\r\nexport const onBoardingTooltipSetCountRequest = createAction(\r\n 'ON_BOARDING_TOOLTIP_SET_COUNT_REQUEST',\r\n resolve => (data) => resolve({ data })\r\n);\r\n\r\nexport const onBoardingTooltipSetCountSuccess = createAction(\r\n 'ON_BOARDING_TOOLTIP_SET_COUNT_SUCCESS',\r\n resolve => () => resolve()\r\n);\r\n\r\nexport const onBoardingTooltipSetCountFailure = createAction(\r\n 'ON_BOARDING_TOOLTIP_SET_COUNT_FAILURE',\r\n resolve => () => resolve()\r\n);\r\n\r\nexport const onBoardingTooltipSetVisibleSupportPopup = createAction(\r\n 'ON_BOARDING_TOOLTIP_SET_VISIBLE_SUPPORT_POPUP',\r\n resolve => (status) => resolve({ status })\r\n);\r\n\r\nexport const onBoardingReset = createAction(\r\n 'ON_BOARDING_TOOLTIP_RESET'\r\n);\r\n","import { inviteToJoinActionTypes } from '../constants';\r\nimport { contactsService } from '../services';\r\n\r\nfunction setVisiblePopup(visible) {\r\n return dispatch => {\r\n dispatch({\r\n type: inviteToJoinActionTypes.INVITE_TO_JOIN_TOGGLE_VISIBLE_POPUP,\r\n payload: { visible }\r\n })\r\n }\r\n}\r\n\r\nfunction sendInviteToJoin(message) {\r\n return dispatch => {\r\n dispatch({ type: inviteToJoinActionTypes.INVITE_TO_JOIN_INVITE_ALL_REQUEST });\r\n contactsService.inviteAllToJoin(message)\r\n .then(() => dispatch({ type: inviteToJoinActionTypes.INVITE_TO_JOIN_INVITE_ALL_SUCCESS }))\r\n .catch((e) => {\r\n dispatch({ type: inviteToJoinActionTypes.INVITE_TO_JOIN_INVITE_ALL_FAILURE, payload: e })\r\n })\r\n }\r\n}\r\n\r\nexport const inviteToJoinActions = {\r\n setVisiblePopup,\r\n sendInviteToJoin\r\n};\r\n","import { bwicHistoryActions as actionTypes } from '../constants';\r\nimport { bwicService } from '../services';\r\nimport { controlPanelActions } from '.';\r\nimport { isRequesting } from '../utils';\r\nimport { RequestState } from '../constants/request-state';\r\n\r\nexport const bwicHistoryActions = {\r\n init,\r\n loadHistory,\r\n showHistory,\r\n toggleHistory,\r\n markHistoryMessagesAsRead,\r\n reset\r\n}\r\n\r\nfunction init(bwicReferenceName, historyActions, positionId) {\r\n return {\r\n type: actionTypes.STORE_BWIC_HISTORY,\r\n bwicReferenceName,\r\n historyActions,\r\n positionId\r\n };\r\n}\r\n\r\nfunction loadHistory(bwicReferenceName, positionId) {\r\n return async (dispatch, getState) => {\r\n const historyState = getState().bwicHistory;\r\n\r\n if (!isRequesting(historyState.requestState) && historyState.bwicReferenceName !== bwicReferenceName) {\r\n dispatch(loadHistoryState(RequestState.request));\r\n\r\n try {\r\n const history = await bwicService.getBwicHistory(bwicReferenceName);\r\n dispatch(init(bwicReferenceName, history, positionId));\r\n dispatch(loadHistoryState(RequestState.success));\r\n } catch (e) {\r\n dispatch(loadHistoryState(RequestState.failure));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction loadHistoryState(requestState) {\r\n return {\r\n type: actionTypes.LOAD_HISTORY_REQUEST_STATE,\r\n requestState\r\n }\r\n}\r\n\r\nfunction reset() {\r\n return {\r\n type: actionTypes.RESET\r\n };\r\n}\r\n\r\nfunction toggleHistory(positionId, ticker) {\r\n return (dispatch, getState) => {\r\n const history = getState().bwicHistory;\r\n const shouldShow = !history.visible || positionId !== history.positionId;\r\n\r\n dispatch(showHistory(shouldShow, positionId, ticker));\r\n };\r\n}\r\n\r\nfunction showHistory(visible, positionId, ticker) {\r\n return dispatch => {\r\n if (visible) {\r\n dispatch(controlPanelActions.hide());\r\n }\r\n\r\n dispatch({\r\n type: actionTypes.SHOW_BWIC_HISTORY,\r\n visible,\r\n positionId: visible && positionId,\r\n ticker: visible && ticker\r\n });\r\n };\r\n}\r\n\r\nfunction markHistoryMessagesAsRead(messages) {\r\n return dispatch => {\r\n dispatch({\r\n type: actionTypes.MARK_HISTORY_MESSAGES_AS_READ,\r\n messages\r\n });\r\n\r\n bwicService\r\n .markHistoryMessagesAsRead(messages)\r\n .catch(() => console.log('Failed to mark history action as read'));\r\n };\r\n}\r\n","import { pxTalkListActions as actionTypes } from '../constants';\r\nimport { controlPanelActions } from '.';\r\n\r\nexport const pxTalkListActions = {\r\n show,\r\n hide\r\n}\r\n\r\nfunction show(positionId) {\r\n return dispatch => {\r\n dispatch(controlPanelActions.hide());\r\n dispatch({\r\n type: actionTypes.PX_TALK_LIST_VISIBLE,\r\n visible: true,\r\n positionId\r\n });\r\n };\r\n}\r\n\r\nfunction hide() {\r\n return (dispatch, getState) => {\r\n if (getState().pxTalkList.visible) {\r\n dispatch({\r\n type: actionTypes.PX_TALK_LIST_VISIBLE,\r\n visible: false\r\n })\r\n }\r\n };\r\n}\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { DateFilterOption } from \"../types/filters/DateFilterOption\";\r\nimport { DateRange } from \"../types/filters/DateRange\";\r\nimport { PaginationResult } from \"../types/PaginationResult\";\r\nimport { SellerBuysideSearchResult } from \"../types/bid-as-dealer/SellerBuysideSearchResult\";\r\nimport { Rating } from \"../types/enums/Rating\";\r\nimport { RequestState } from '../constants/request-state';\r\nimport { EditBidRequestState, SellerBuysideFilterState } from \"../types/state/SellerBuysideState\";\r\nimport { BwicType } from \"../types/enums/BwicType\";\r\nimport { SettlementAgentAgreement } from '../types/bid-as-dealer/SettlementAgentAgreement';\r\nimport { BwicMonitorSortByOptions } from \"../types/state/AllBwicsState\";\r\nimport { SellerBuysideSearchResultSummary } from \"../types/bid-as-dealer/SellerBuysideSearchResultSummary\";\r\n\r\nconst init = createAction('sellerBuyside/INIT', resolve => () => resolve());\r\nconst initRequestStatus = createAction(\r\n 'sellerBuyside/INIT_REQUEST_STATUS',\r\n resolve => (requestStatus: RequestState, bidAsDealerRequestExist: boolean = false) => resolve({ requestStatus, bidAsDealerRequestExist })\r\n);\r\nconst reset = createAction('sellerBuyside/RESET', resolve => () => resolve());\r\nconst dateFilterChange = createAction(\r\n 'sellerBuyside/DATE_FILTER_CHANGE',\r\n resolve => (dateOption: DateFilterOption) => resolve({ dateOption })\r\n);\r\nconst customDateFilterChange = createAction(\r\n 'sellerBuyside/CUSTOM_DATE_FILTER_CHANGE',\r\n resolve => (dateRange: DateRange) => resolve({ dateRange })\r\n);\r\nconst bwicStatusFilterChange = createAction(\r\n 'sellerBuyside/BWIC_STATUS_FILTER_CHANGE',\r\n resolve => (status: number, selected: boolean) => resolve({ status, selected })\r\n);\r\nconst currencyFilterChange = createAction(\r\n 'sellerBuyside/CURRENCY_FILTER_CHANGE',\r\n resolve => (currency: string, selected: boolean) => resolve({ currency, selected })\r\n);\r\nconst ratingFilterChange = createAction(\r\n 'sellerBuyside/RATING_FILTER_CHANGE',\r\n resolve => (rating: Rating, selected: boolean) => resolve({ rating, selected })\r\n);\r\n\r\nconst typeFilterChange = createAction(\r\n 'sellerBuyside/TYPE_FILTER_CHANGE',\r\n resolve => (type: BwicType, selected: boolean) => resolve({ type, selected })\r\n);\r\nconst sizeFilterChange = createAction(\r\n 'sellerBuyside/SIZE_FILTER_CHANGE',\r\n resolve => (size: { min?: number | string, max?: number | string }) => resolve({ size })\r\n)\r\nconst filterApply = createAction('sellerBuyside/FILTER_APPLY',\r\n resolve => (isApply?: boolean, isSearchTermChange?: boolean) => resolve({ isApply, isSearchTermChange }));\r\nconst filterReset = createAction('sellerBuyside/FILTER_RESET', resolve => () => resolve());\r\nconst dataItemsLoadingState = createAction(\r\n 'sellerBuyside/LOADING',\r\n resolve => (isLoading: boolean) => resolve({ isLoading })\r\n);\r\nconst storeSearchResult = createAction(\r\n 'sellerBuyside/STORE_SEARCH_RESULT',\r\n resolve => (result: PaginationResult, summary?: SellerBuysideSearchResultSummary) =>\r\n resolve({ result, summary })\r\n);\r\nconst storeCurrencySelectedStatus = createAction(\r\n 'sellerBuyside/SET_CURRENCIES_SELECTED_STATUS',\r\n resolve => (isSelected: boolean) => resolve({ isSelected })\r\n);\r\nexport type SubmitBidRequestPayloadType = {\r\n bwicReferenceName: string;\r\n positionId: number;\r\n level: number;\r\n axed: boolean;\r\n final: boolean;\r\n positionSize: number;\r\n agreementBrokerDealerId: number;\r\n agreementCommission: number;\r\n commission: number;\r\n modifiedDate?: Date;\r\n};\r\nconst submitBidRequest = createAction(\r\n 'sellerBuyside/SUBMIT_BID_REQUEST',\r\n resolve => (data: SubmitBidRequestPayloadType) => resolve({ data })\r\n);\r\n\r\nconst updateBidRequests = createAction(\r\n 'sellerBuyside/UPDATE_BID_REQUESTS',\r\n resolve => (dataItems: SellerBuysideSearchResult[]) => resolve({ dataItems })\r\n);\r\nconst updateRequestStateSubmitBid = createAction(\r\n 'sellerBuyside/UPDATE_REQUEST_STATE_SUBMIT_BID_REQUEST',\r\n resolve => (status: boolean, positionId: number) => resolve({ status, positionId })\r\n);\r\nconst saveSearchTermItems = createAction(\r\n 'sellerBuyside/SAVE_SEARCH_TERM_ITEMS',\r\n resolve => (searchItems: string[]) => resolve({ searchItems })\r\n);\r\nconst loadNextPage = createAction('sellerBuyside/LOAD_NEXT_PAGE');\r\nconst pagingReset = createAction('sellerBuyside/PAGING_RESET');\r\nconst storeAppliedFilter = createAction(\r\n 'sellerBuyside/STORE_APPLIED_FILTER',\r\n resolve => (filter: SellerBuysideFilterState) => resolve({ filter })\r\n);\r\nconst confirmBidRequestPopup = createAction(\r\n 'sellerBuyside/CONFIRM_BID_REQUEST_POPUP',\r\n resolve => (positionId: number, visible: boolean) => resolve({ positionId, visible })\r\n);\r\nconst exportBidRequestsRequest = createAction('sellerBuyside/EXPORT_BID_REQUESTS_REQUEST');\r\nconst exportBidRequestsSuccess = createAction('sellerBuyside/EXPORT_BID_REQUESTS_SUCCESS');\r\nconst exportBidRequestsFailure = createAction('sellerBuyside/EXPORT_BID_REQUESTS_FAILURE');\r\n\r\n\r\nconst updateEditBidRequestState = createAction(\r\n 'sellerBuyside/EDIT_BID_REQUEST_STATE',\r\n resolve => (editBidRequestState: EditBidRequestState) => resolve({ editBidRequestState })\r\n);\r\nconst hardReset = createAction('sellerBuyside/HARD_RESET');\r\nconst levelChange = createAction('sellerBuyside/LEVEL_CHANGE',\r\n resolve => (positionId: number, valueRaw: string, value: number | undefined, error: string, agreement: SettlementAgentAgreement) =>\r\n resolve({ positionId, valueRaw, value, error, agreement })\r\n);\r\nconst axedChange = createAction('sellerBuyside/AXED_CHANGE',\r\n resolve => (positionId: number, axed: boolean, agreement: SettlementAgentAgreement) =>\r\n resolve({ positionId, axed, agreement })\r\n);\r\nconst finalChange = createAction('sellerBuyside/FINAL_CHANGE',\r\n resolve => (positionId: number, final: boolean, agreement: SettlementAgentAgreement) =>\r\n resolve({ positionId, final, agreement })\r\n);\r\nconst commissionChange = createAction('sellerBuyside/COMMISSION_CHANGE',\r\n resolve => (positionId: number, commission: number, error: string, agreement: SettlementAgentAgreement) =>\r\n resolve({ positionId, commission, error, agreement })\r\n);\r\nconst resetPositionEditState = createAction('sellerBuyside/RESET_POSITION_EDIT_STATE',\r\n resolve => (positionId: number) => resolve({ positionId })\r\n);\r\nconst submittedBidsFilterChange = createAction('sellerBuyside/SUBMITTED_BIDS_FILTER_CHANGE',\r\n resolve => (submittedBidsFilterValue: boolean | null) => resolve({ submittedBidsFilterValue })\r\n);\r\nconst liveBiddingStage2TimerExpired = createAction('sellerBuyside/LIVE_BIDING_STAGE2_TIME_ENDED',\r\n resolve => (positionId: number) => resolve({ positionId })\r\n);\r\nconst sortChanged = createAction('sellerBuyside/SORTING_CHANGED',\r\n resolve => (sortBy: BwicMonitorSortByOptions) => resolve({ sortBy })\r\n);\r\nconst sortFieldChanged = createAction('sellerBuyside/SORTING_FIELD_CHANGED',\r\n resolve => (sortBy: BwicMonitorSortByOptions) => resolve({ sortBy })\r\n);\r\nconst advancedFiltersBlocked = createAction('sellerBuyside/ADVANCED_FILTERS_BLOCKED',\r\n resolve => (blocked: boolean) => resolve({ blocked })\r\n);\r\nconst resetSummary = createAction('sellerBuyside/RESET_SUMMARY');\r\n\r\nexport const sellerBuysideActions = {\r\n init,\r\n initRequestStatus,\r\n reset,\r\n hardReset,\r\n dateFilterChange,\r\n customDateFilterChange,\r\n bwicStatusFilterChange,\r\n currencyFilterChange,\r\n ratingFilterChange,\r\n typeFilterChange,\r\n sizeFilterChange,\r\n filterApply,\r\n filterReset,\r\n dataItemsLoadingState,\r\n storeSearchResult,\r\n loadNextPage,\r\n pagingReset,\r\n storeCurrencySelectedStatus,\r\n submitBidRequest,\r\n updateBidRequests,\r\n updateRequestStateSubmitBid,\r\n saveSearchTermItems,\r\n storeAppliedFilter,\r\n confirmBidRequestPopup,\r\n updateEditBidRequestState,\r\n exportBidRequestsRequest,\r\n exportBidRequestsSuccess,\r\n exportBidRequestsFailure,\r\n levelChange,\r\n axedChange,\r\n finalChange,\r\n commissionChange,\r\n resetPositionEditState,\r\n submittedBidsFilterChange,\r\n liveBiddingStage2TimerExpired,\r\n sortChanged,\r\n sortFieldChanged,\r\n advancedFiltersBlocked,\r\n resetSummary\r\n};\r\n\r\n","import { Dispatch } from \"redux\";\r\nimport { Deal } from \"../types/amr-pipeline/models/Deal\";\r\nimport { AppState } from \"../types/state/AppState\";\r\nimport { AmrClass } from \"../types/amr-pipeline/models/AmrClass\";\r\nimport { amrPipelineService } from \"../services/amr-pipeline.service\";\r\nimport { constants, imDetailsDealsActions as actionTypes, roles } from '../constants';\r\nimport { errorActions } from \"./error.actions\";\r\nimport { AmrDocument } from \"../types/amr-pipeline/models/AmrDocument\";\r\nimport moment from \"moment\";\r\nimport { dealsService } from \"../services/deals.service\";\r\nimport { user } from \"../user\";\r\nimport { getDealDocLastDate } from \"../utils/amr-pipeline.utils\";\r\nimport { DealDocumentsWithPattern } from \"../types/amr-pipeline/models/DealDocumentsWithPattern\";\r\n\r\nexport const imDetailsDealsActions = {\r\n loadDealDetails,\r\n loadTrancheDetails,\r\n documentsSearchTermChange,\r\n resetDocumentsSearch\r\n}\r\n\r\nfunction storeDeals(deals: Deal[]) {\r\n return {\r\n type: actionTypes.DEALS_STORE_DEALS,\r\n deals\r\n };\r\n}\r\n\r\nfunction storeDocumentsSearchResults(\r\n filteredDocuments: AmrDocument[],\r\n dealReferenceName: string\r\n) {\r\n return {\r\n type: actionTypes.DEALS_STORE_DOCUMENTS_SEARCH_RESULTS,\r\n filteredDocuments,\r\n dealReferenceName\r\n };\r\n}\r\n\r\nfunction resetDocumentsSearch() {\r\n return {\r\n type: actionTypes.DEALS_RESET_DOCUMENTS_SEARCH,\r\n };\r\n}\r\n\r\n\r\nfunction documentsSearchTermChange(\r\n searchTerm: string,\r\n dealReferenceName: string\r\n) {\r\n return async (dispatch: Dispatch, getState: () => AppState) => {\r\n const searchTermLowerCase = searchTerm.toLowerCase();\r\n const { deals } = getState().imDetailsDeals;\r\n if (deals) {\r\n const selectedDeal = deals?.find(\r\n (d) => d.referenceName === dealReferenceName\r\n );\r\n if (selectedDeal && selectedDeal.documents) {\r\n const {\r\n documents: { dealDocuments },\r\n } = selectedDeal;\r\n const filteredDocuments = dealDocuments?.filter(\r\n (d) => {\r\n const date = getDealDocLastDate(d);\r\n const dateText = moment(date).format(constants.dateFormat);\r\n\r\n return d.name.toLowerCase().includes(searchTermLowerCase) || dateText.toLowerCase().includes(searchTermLowerCase)\r\n }\r\n );\r\n dispatch(storeDocumentsSearchResults(filteredDocuments, dealReferenceName));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction loadDealDetails(dealReferenceName: string, transactionReferenceName: string) {\r\n return async (dispatch: Dispatch, getState: () => AppState) => {\r\n const { deals, loadedDealReferenceNames } = getState().imDetailsDeals;\r\n const currentDeal = deals?.find(d => d.referenceName === dealReferenceName);\r\n\r\n if (!loadedDealReferenceNames.some((referenceName: string) => referenceName === dealReferenceName)) {\r\n dispatch(dealDetailsRequesting(true));\r\n\r\n try {\r\n const isMedia = user.hasRoles(roles.Media);\r\n\r\n const actualAuctionsPromise = dealsService.getLatestDealAuctions(dealReferenceName);\r\n const amrDocumentsPromise = isMedia ? null : amrPipelineService.getAmrDocuments(dealReferenceName, transactionReferenceName);\r\n const dealDocumentsPromise = dealsService.getDealDocuments(dealReferenceName);\r\n\r\n if (!currentDeal) {\r\n const deal = await dealsService.getDeal(dealReferenceName);\r\n const loadedDeals = deals || [];\r\n dispatch(storeDeals([...loadedDeals, deal]));\r\n }\r\n\r\n const [amrDocuments, dealDocuments, actualAuctions] = await Promise.all([\r\n amrDocumentsPromise,\r\n dealDocumentsPromise,\r\n actualAuctionsPromise,\r\n ]);\r\n\r\n dispatch(storeDocuments(dealReferenceName, dealDocuments, amrDocuments));\r\n dispatch(storeActualAmrClasses(dealReferenceName, actualAuctions));\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(dealDetailsRequesting(false));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction loadTrancheDetails(dealReferenceName: string, classReferenceName: string) {\r\n return async (dispatch: Dispatch, getState: () => AppState) => {\r\n const { deals } = getState().imDetailsDeals;\r\n const selectedDeal = deals?.find(d => d.referenceName === dealReferenceName);\r\n const selectedTranche = selectedDeal?.classes.find(c => c.referenceName === classReferenceName);\r\n\r\n if (selectedDeal && selectedTranche && selectedTranche.auctions == null) {\r\n dispatch(trancheDetailsRequesting(true));\r\n\r\n try {\r\n const auctions = await dealsService.getClassAuctions(dealReferenceName, selectedTranche.referenceName);\r\n dispatch(storeAmrClasses(dealReferenceName, classReferenceName, auctions));\r\n } catch (e) {\r\n dispatch(errorActions.criticalError(e));\r\n } finally {\r\n dispatch(trancheDetailsRequesting(false));\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction storeActualAmrClasses(dealReferenceName: string, amrClasses: AmrClass[]) {\r\n return {\r\n type: actionTypes.DEALS_STORE_ACTUAL_AMR_CLASSES,\r\n dealReferenceName,\r\n amrClasses\r\n };\r\n}\r\n\r\nfunction storeAmrClasses(dealReferenceName: string, classReferenceName: string, amrClasses: AmrClass[]) {\r\n return {\r\n type: actionTypes.DEALS_STORE_AMR_CLASSES,\r\n dealReferenceName,\r\n classReferenceName,\r\n amrClasses\r\n };\r\n}\r\n\r\nfunction storeDocuments(dealReferenceName: string, dealDocuments: DealDocumentsWithPattern, amrDocuments: Document[]) {\r\n return {\r\n type: actionTypes.DEALS_STORE_DOCUMENTS,\r\n dealReferenceName,\r\n documents: {\r\n dealDocuments: [...dealDocuments.dealDocuments, ...amrDocuments],\r\n }\r\n };\r\n}\r\n\r\nfunction dealDetailsRequesting(isRequesting: boolean) {\r\n return {\r\n type: actionTypes.DEAL_DETAILS_REQUESTING_STATE,\r\n isRequesting\r\n };\r\n}\r\n\r\nfunction trancheDetailsRequesting(isRequesting: boolean) {\r\n return {\r\n type: actionTypes.DEALS_TRANCHE_DETAILS_REQUESTUNG_STATE,\r\n isRequesting\r\n };\r\n}\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { BillingContact } from \"../types/billing/BillingContact\";\r\nimport { PaymentCard } from \"../types/billing/PaymentCard\";\r\nimport { SaveBillingContact } from \"../types/billing/SaveBillingContact\";\r\nimport { SavePaymentCard } from \"../types/billing/SavePaymentCard\";\r\nimport { City } from \"../types/location/City\";\r\nimport { Country } from \"../types/location/Country\";\r\nimport { State } from \"../types/location/State\";\r\nimport { SubscriptionType } from \"../types/billing/SubscriptionType\";\r\nimport { UpgradeSubscriptionStep } from \"../types/state/SubscriptionsState\";\r\nimport { SubscriptionPush } from \"../types/billing/SubscriptionPush\";\r\n\r\nconst init = createAction('subscriptions/INIT');\r\nconst reset = createAction('subscriptions/RESET');\r\nconst loadingFlag = createAction(\r\n 'subscriptions/LOADING',\r\n resolve => (isLoading: boolean) => resolve({ isLoading })\r\n);\r\nconst paymentCardSavingFlag = createAction(\r\n 'subscriptions/PAYMENT_CARD_SAVING',\r\n resolve => (isSaving: boolean) => resolve({ isSaving })\r\n);\r\nconst storePaymentCards = createAction(\r\n 'subscriptions/STORE_PAYMENT_CARDS',\r\n resolve => (paymentCards: PaymentCard[]) => resolve({ paymentCards })\r\n);\r\nconst sortPaymentCards = createAction(\r\n 'subscriptions/SORT_PAYMENT_CARDS'\r\n);\r\nconst primaryCardChange = createAction(\r\n 'subscriptions/PRIMARY_CARD_CHANGE',\r\n resolve => (paymentCard: PaymentCard, moveOnTop?: boolean) => resolve({ paymentCard, moveOnTop })\r\n);\r\nconst primaryCardChangeCompleted = createAction(\r\n 'subscriptions/PRIMARY_CARD_CHANGE_COMPLETED',\r\n resolve => (paymentCard: PaymentCard, moveOnTop?: boolean) => resolve({ paymentCard, moveOnTop })\r\n);\r\nconst deletePaymentCard = createAction(\r\n 'subscriptions/DELETE_PAYMENT_CARD',\r\n resolve => (paymentCard: PaymentCard) => resolve({ paymentCard })\r\n);\r\nconst deletePaymentCardCompleted = createAction(\r\n 'subscriptions/DELETE_PAYMENT_CARD_COMPLETED',\r\n resolve => (paymentCard: PaymentCard) => resolve({ paymentCard })\r\n);\r\nconst addPaymentCardPopupVisible = createAction(\r\n 'subscriptions/ADD_PAYMENT_CARD_POPUP_VISIBLE',\r\n resolve => (visible: boolean) => resolve({ visible })\r\n);\r\nconst addPaymentCard = createAction(\r\n 'subscriptions/ADD_PAYMENT_CARD',\r\n resolve => (paymentCard: SavePaymentCard, isLoadingVisible: boolean, setAsPrimary: boolean) =>\r\n resolve({ paymentCard, isLoadingVisible, setAsPrimary })\r\n);\r\nconst storeBillingContact = createAction(\r\n 'subscriptions/BILLING_CONTACT',\r\n resolve => (billingContact: BillingContact) => resolve({ billingContact })\r\n);\r\nconst storeCountries = createAction(\r\n 'subscriptions/COUNTRIES',\r\n resolve => (countries: Country[]) => resolve({ countries })\r\n);\r\nconst storeStates = createAction(\r\n 'subscriptions/STATES',\r\n resolve => (states: State[]) => resolve({ states })\r\n);\r\nconst storeCities = createAction(\r\n 'subscriptions/CITIES',\r\n resolve => (cities: City[]) => resolve({ cities })\r\n);\r\nconst billingContactEditFlag = createAction(\r\n 'subscriptions/BILLING_CONTACT_EDIT',\r\n resolve => (isBillingContactEdit: boolean) => resolve({ isBillingContactEdit })\r\n);\r\nconst billingContactSavingFlag = createAction(\r\n 'subscriptions/BILLING_CONTACT_SAVING',\r\n resolve => (isBillingContactSaving: boolean) => resolve({ isBillingContactSaving })\r\n);\r\nconst saveBillingContact = createAction(\r\n 'subscriptions/SAVE_BILLING_CONTACT',\r\n resolve => (billingContact: SaveBillingContact) => resolve({ billingContact })\r\n);\r\nconst loadCities = createAction(\r\n 'subscriptions/LOAD_CITIES',\r\n resolve => (stateId: number) => resolve({ stateId })\r\n);\r\nconst citiesLoadingFlag = createAction(\r\n 'subscriptions/CITIES_LOADING_FLAG',\r\n resolve => (isCitiesLoading: boolean) => resolve({ isCitiesLoading })\r\n);\r\nconst billingContactSaved = createAction(\r\n 'subscriptions/BILLING_CONTACT_SAVED',\r\n resolve => (billingContact: BillingContact) => resolve({ billingContact })\r\n);\r\nconst subscriptionPushReceived = createAction(\r\n 'subscriptions/SUBSCRIPTION_CHANGE_PUSH',\r\n resolve => (subscription: SubscriptionPush) => resolve({ subscription })\r\n);\r\nconst upgradeSubscription = createAction(\r\n 'subscriptions/UPGRADE',\r\n resolve => (targetSubscriptionType: SubscriptionType) => resolve({ targetSubscriptionType })\r\n);\r\nconst showUpgradeSubscriptionWizard = createAction(\r\n 'subscriptions/SHOW_UPGRADE_SUBSCRIPTION_WIZARD',\r\n resolve => (targetSubscriptionType: SubscriptionType, activeStep: UpgradeSubscriptionStep = UpgradeSubscriptionStep.BillingContact) =>\r\n resolve({ targetSubscriptionType, activeStep })\r\n);\r\nconst hideUpgradeSubscriptionWizard = createAction('subscriptions/HIDE_UPGRADE_SUBSCRIPTION_WIZARD');\r\nconst setUpgradeSubscriptionStep = createAction(\r\n 'subscriptions/UPGRADE_SUBSCRIPTION_STEP',\r\n resolve => (step: UpgradeSubscriptionStep) => resolve({ step })\r\n);\r\n\r\nexport const subscriptionsActions = {\r\n init,\r\n reset,\r\n loadingFlag,\r\n paymentCardSavingFlag,\r\n storePaymentCards,\r\n sortPaymentCards,\r\n storeBillingContact,\r\n storeCountries,\r\n storeStates,\r\n storeCities,\r\n loadCities,\r\n citiesLoadingFlag,\r\n primaryCardChange,\r\n primaryCardChangeCompleted,\r\n deletePaymentCard,\r\n deletePaymentCardCompleted,\r\n addPaymentCardPopupVisible,\r\n addPaymentCard,\r\n billingContactEditFlag,\r\n billingContactSavingFlag,\r\n saveBillingContact,\r\n billingContactSaved,\r\n subscriptionPushReceived,\r\n upgradeSubscription,\r\n showUpgradeSubscriptionWizard,\r\n hideUpgradeSubscriptionWizard,\r\n setUpgradeSubscriptionStep\r\n};\r\n\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { ContactSalesRequest } from '../types/contact-sales/ContactSalesRequest';\r\n\r\nconst show = createAction('contactSales/SHOW');\r\nconst hide = createAction('contactSales/HIDE');\r\nconst requestSendingFlag = createAction('contactSales/REQUEST_SENDING', resolve => (isSending: boolean) => resolve({ isSending }));\r\nconst send = createAction('contactSales/SEND', resolve => (request: ContactSalesRequest) => resolve({ request }));\r\n\r\nexport const contactSalesActions = {\r\n show,\r\n hide,\r\n requestSendingFlag,\r\n send\r\n}\r\n","import { dashboardService } from \"../services\";\r\nimport { user } from \"../user\";\r\nimport { roles } from \"../constants\";\r\nimport { dealersStatsActions as actionTypes } from '../constants/actionTypes/dealers-stats.actions'\r\nimport { errorActions } from \"./error.actions\";\r\nimport { Dispatch } from \"redux\";\r\nimport { saveAs } from \"file-saver\";\r\nimport { IDealersStats } from \"../types/models/DealersStats\";\r\n\r\ninterface GetDealersStatsService {\r\n exist: () => Promise;\r\n fetch: () => Promise<{ data: IDealersStats[] }>;\r\n export: () => Promise<{ name: string, blob: Blob }>;\r\n}\r\n\r\nexport const dealersStatsActions = {\r\n checkStatsExist,\r\n fetchStats,\r\n exportDealersStats,\r\n setExportDealerStatsRequestStatus,\r\n};\r\n\r\nfunction getDealersStatsService(): GetDealersStatsService {\r\n const isSeller: boolean = user.hasRoles(...roles.seller());\r\n return {\r\n exist: isSeller ? dashboardService.fetchDealersStatsExists : dashboardService.fetchSellersStatsExists,\r\n fetch: isSeller ? dashboardService.fetchDealersStats : dashboardService.fetchClientsStats,\r\n export: isSeller ? dashboardService.exportDealersStats : dashboardService.exportSellerStats,\r\n }\r\n}\r\n\r\nfunction checkStatsExist() {\r\n return async (dispatch: Dispatch) => {\r\n try {\r\n dispatch(setRequestStateFetchDealerStatsExist(true));\r\n const statsExist = await getDealersStatsService().exist();\r\n dispatch(storeDealersStatsExist(statsExist));\r\n } catch (e) {\r\n dispatch(errorActions.unexpectedError(e));\r\n } finally {\r\n dispatch(setRequestStateFetchDealerStatsExist(false));\r\n }\r\n };\r\n}\r\n\r\nfunction setRequestStateFetchDealerStatsExist(status: boolean) {\r\n return {\r\n type: actionTypes.FETCH_STATS_EXIST_REQUEST_STATUS,\r\n payload: {status}\r\n };\r\n}\r\n\r\nfunction storeDealersStatsExist(existStatus: boolean) {\r\n return {\r\n type: actionTypes.STORE_STATS_EXIST_STATUS,\r\n payload: {existStatus}\r\n };\r\n}\r\n\r\n\r\nfunction fetchStats() {\r\n return async (dispatch: Dispatch) => {\r\n try {\r\n dispatch(setFetchStatsRequestStatus(true));\r\n const fetchStats = await getDealersStatsService().fetch();\r\n\r\n if (fetchStats) {\r\n dispatch(storeStats(fetchStats.data))\r\n }\r\n } catch (e) {\r\n errorActions.unexpectedError(e)\r\n } finally {\r\n dispatch(setFetchStatsRequestStatus(false))\r\n }\r\n };\r\n}\r\n\r\n\r\nfunction storeStats(stats: IDealersStats[]) {\r\n return {\r\n type: actionTypes.STORE_STATS,\r\n payload: {stats}\r\n };\r\n}\r\n\r\nfunction setFetchStatsRequestStatus(status: boolean) {\r\n return {\r\n type: actionTypes.FETCH_STATS_REQUEST_STATUS,\r\n payload: {status}\r\n };\r\n}\r\n\r\nfunction exportDealersStats() {\r\n return async (dispatch: Dispatch) => {\r\n try {\r\n const exportStats = await getDealersStatsService().export();\r\n\r\n if (exportStats) {\r\n dispatch(setExportDealerStatsRequestStatus(true));\r\n saveAs(exportStats.blob, exportStats.name);\r\n }\r\n\r\n } catch (e) {\r\n errorActions.unexpectedError(e)\r\n } finally {\r\n dispatch(setExportDealerStatsRequestStatus(false))\r\n }\r\n };\r\n}\r\n\r\nfunction setExportDealerStatsRequestStatus(status: boolean) {\r\n return {\r\n type: actionTypes.EXPORT_STATS_REQUEST_STATUS,\r\n payload: {status}\r\n };\r\n}\r\n","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { SettlementAccount } from \"../types/settlement/SettlementAccount\";\r\n\r\nconst request = createAction('entities/settlement-account/REQUEST');\r\nconst requestResult = createAction('entities/settlement-account/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, settlementAccounts: SettlementAccount[] = []) =>\r\n resolve({ requestState, settlementAccounts })\r\n);\r\nconst update = createAction('entities/settlement-account/UPDATE',\r\n resolve => (account: SettlementAccount) => resolve({ account })\r\n);\r\nconst deleteAccount = createAction('entities/settlement-account/DELETE',\r\n resolve => (accountId: number) => resolve({ accountId })\r\n);\r\nconst reset = createAction('entities/settlement-account/RESET');\r\n\r\nexport type TSettlementAccountActionType =\r\n ActionType<\r\n typeof request |\r\n typeof requestResult |\r\n typeof update |\r\n typeof deleteAccount |\r\n typeof reset\r\n >;\r\n\r\nexport const settlementAccountActions = {\r\n request,\r\n requestResult,\r\n update,\r\n deleteAccount,\r\n reset\r\n}\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { StatisticsAlertOption } from \"../types/amr-pipeline/enums/AlertOption\";\r\nimport { AlertOption } from \"../types/email-preferences/EmailPreferences\";\r\nimport { PipelineType } from '../types/amr-pipeline/enums/PipelineType';\r\nimport { UserConfigBase, ImUserConfig, UserConfigFilterType, CompanyAlertsValue } from \"../types/user-config/UserConfig\";\r\nimport { UserConfigFilter, UserFilterAlertStatus } from \"../types/user-config/UserConfigFilter\";\r\nimport { UserConfigType } from \"../types/user-config/UserConfigType\";\r\nimport { UserConfigTransaction } from \"../types/user-config/UserConfigTransaction\";\r\n\r\nconst getUserConfig = createAction(\r\n 'userconfig/get/REQUEST',\r\n resolve => (callback?: () => void) => resolve({ callback })\r\n);\r\n\r\nconst getUserConfigResult = createAction('userconfig/get/REQUEST_RESULT',\r\n resolve => (requestResult: RequestState, userConfig?: ImUserConfig[]) =>\r\n resolve({ requestResult, userConfig })\r\n);\r\n\r\nconst getUserFilterConfig = createAction(\r\n 'userconfig/get/filter/REQUEST',\r\n resolve => (configType?: UserConfigType.imFilter | UserConfigType.apFilter) => resolve({ configType })\r\n);\r\n\r\nconst getUserFilterConfigResult = createAction('userconfig/get/filter/REQUEST_RESULT',\r\n resolve => (requestResult: RequestState, userConfig?: ImUserConfig[]) =>\r\n resolve({ requestResult, userConfig })\r\n);\r\n\r\nconst updateUserConfig = createAction(\r\n 'userconfig/update/REQUEST',\r\n resolve => (userConfig: UserConfigBase[]) => {\r\n const imUserConfig: ImUserConfig[] = userConfig.map(config => ({\r\n ...config,\r\n value: JSON.stringify(config.value),\r\n }));\r\n\r\n return resolve({ userConfig: imUserConfig });\r\n },\r\n);\r\n\r\nconst updateUserConfigResult = createAction(\r\n 'userconfig/update/REQUEST_RESULT',\r\n resolve => (requestResult: RequestState, userConfig?: ImUserConfig[]) =>\r\n resolve({ requestResult, userConfig })\r\n);\r\n\r\nconst reset = createAction('userconfig/RESET');\r\n\r\nconst getDefaultUserColumnsConfig = createAction('userconfig/columns/default/REQUEST');\r\n\r\nconst getDefaultUserColumnsConfigResult = createAction(\r\n 'userconfig/columns/default/REQUEST_RESULT',\r\n resolve => (requestResult: RequestState, columnConfig?: ImUserConfig[]) =>\r\n resolve({ requestResult, columnConfig })\r\n);\r\n\r\nconst selectUserFilter = createAction(\r\n 'userconfig/filter/select/REQUEST',\r\n resolve => (userFilter: UserConfigFilter) =>\r\n resolve(userFilter)\r\n)\r\nconst createUserFilter = createAction(\r\n 'userconfig/filter/create/REQUEST',\r\n resolve => (pipelineType: PipelineType, userFilter: { name: string; default: boolean; alertOption: AlertOption }) =>\r\n resolve({ pipelineType, userFilter })\r\n);\r\n\r\nconst createUserFilterResult = createAction(\r\n 'userconfig/filter/create/REQUEST_RESULT',\r\n resolve => (requestResult: RequestState, userConfigFilter?: UserConfigFilter) =>\r\n resolve({ requestResult, userConfigFilter })\r\n);\r\n\r\nconst updateUserFilter = createAction(\r\n 'userconfig/filter/update/REQUEST',\r\n resolve => (pipelineType: PipelineType, userFilter: { referenceName: string; name: string; default: boolean; alertOption: AlertOption }) =>\r\n resolve({ pipelineType, userFilter })\r\n);\r\n\r\nconst updateUserFilterResult = createAction(\r\n 'userconfig/filter/update/REQUEST_RESULT',\r\n resolve => (requestResult: RequestState, userConfigFilter?: UserConfigFilter) =>\r\n resolve({ requestResult, userConfigFilter })\r\n);\r\n\r\nconst setUserFilterParams = createAction(\r\n 'userconfig/filter/set_params/REQUEST',\r\n resolve => (params: Partial, filterType: UserConfigFilterType) =>\r\n resolve({ filterType, ...params }),\r\n);\r\n\r\nconst setUserFilterParamsResult = createAction(\r\n 'userconfig/filter/set_params/REQUEST_RESULT',\r\n resolve => (requestResult: RequestState, filterType: UserConfigFilterType, userConfigFilter?: UserConfigFilter) =>\r\n resolve({ requestResult, filterType, userConfigFilter })\r\n);\r\n\r\nconst deleteUserFilter = createAction(\r\n 'userconfig/filter/delete/REQUEST',\r\n resolve => (referenceName: string, filterType: UserConfigFilterType) => resolve({ referenceName, filterType })\r\n);\r\n\r\nconst deleteUserFilterResult = createAction(\r\n 'userconfig/filter/delete/REQUEST_RESULT',\r\n resolve => (requestResult: RequestState, filterType: UserConfigFilterType, referenceName?: string) =>\r\n resolve({ requestResult, referenceName, filterType })\r\n);\r\n\r\nconst updateUserFilterEmailAlerts = createAction(\r\n 'userconfig/filter/email-alerts/update/REQUEST',\r\n resolve => (\r\n singleUpdateAlertOption: AlertOption,\r\n newTransactionAlertOption: AlertOption,\r\n statisticAlertOption: StatisticsAlertOption,\r\n filterEmailAlerts: UserFilterAlertStatus[]\r\n ) => resolve({ singleUpdateAlertOption, newTransactionAlertOption, statisticAlertOption, filterEmailAlerts })\r\n);\r\n\r\nconst saveTransactionAlerts = createAction(\r\n 'userconfig/transaction/alerts/save/REQUEST',\r\n resolve => (configs: {type: UserConfigType, value: UserConfigTransaction}[]) => resolve({ configs })\r\n);\r\n\r\nconst saveCompanyAlerts = createAction(\r\n 'userconfig/company/alerts/save/REQUEST',\r\n resolve => (configs: {type: UserConfigType, value: CompanyAlertsValue}[]) => resolve({ configs }));\r\n\r\n\r\n\r\nexport const imUserConfigActions = {\r\n getUserConfig,\r\n getUserConfigResult,\r\n getUserFilterConfig,\r\n getUserFilterConfigResult,\r\n updateUserConfig,\r\n updateUserConfigResult,\r\n saveTransactionAlerts,\r\n saveCompanyAlerts,\r\n getDefaultUserColumnsConfig,\r\n getDefaultUserColumnsConfigResult,\r\n reset,\r\n selectUserFilter,\r\n createUserFilter,\r\n updateUserFilter,\r\n createUserFilterResult,\r\n updateUserFilterResult,\r\n setUserFilterParams,\r\n setUserFilterParamsResult,\r\n deleteUserFilter,\r\n deleteUserFilterResult,\r\n updateUserFilterEmailAlerts,\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\n\r\nexport const blotterInit = createAction('BLOTTER_INIT');\r\nexport const blotterReset = createAction('BLOTTER_RESET');\r\nexport const blotterFiltersReset = createAction('BLOTTER_FILTERS_RESET');\r\nexport const blotterSetFilterDefaults = createAction('blotter/DEFAULT_FILTER');\r\n\r\nexport const blotterToggleConfirmed = createAction('BLOTTER_TOGGLE_CONFIRMED');\r\nexport const blotterTogglePending = createAction('BLOTTER_TOGGLE_PENDING');\r\nexport const blotterToggleRejected = createAction('BLOTTER_TOGGLE_REJECTED');\r\n\r\nexport const blotterToggleAllocationStatusUnsettled = createAction('blotter/TOGGLE_UNSETTLED');\r\nexport const blotterToggleAllocationStatusPendingSettlement = createAction('blotter/TOGGLE_PENDING_SETTLEMENT');\r\nexport const blotterToggleAllocationStatusPendingAllocation = createAction('blotter/TOGGLE_PENDING_ALLOCATION');\r\nexport const blotterToggleAllocationStatusPendingProceeds = createAction('blotter/TOGGLE_PENDING_PROCEEDS');\r\nexport const blotterToggleAllocationStatusSettled = createAction('blotter/TOGGLE_SETTLED');\r\n\r\nexport const blotterSetCurrency = createAction(\r\n 'BLOTTER_SET_CURRENCY',\r\n resolve => currency => resolve({ currency })\r\n);\r\nexport const blotterResetCurrency = createAction('blotter/CURRENCY_FILTER_RESET');\r\nexport const blotterSelectAllCurrencies = createAction('blotter/CURRENCY_FILTER_SELECT_ALL');\r\n\r\nexport const blotterDateFilterChange = createAction(\r\n 'BLOTTER_DATE_RANGE_FILTER_CHANGED',\r\n resolve => (dateOption) => resolve({ dateOption })\r\n);\r\nexport const blotterCustomDateFilterChange = createAction(\r\n 'BLOTTER_CUSTOM_DATE_RANGE_FILTER_CHANGED',\r\n resolve => (dateRange) => resolve({ dateRange })\r\n);\r\nexport const blotterSettlementDateFilterChange = createAction(\r\n 'blotter/SETTLEMENT_DATE_RANGE_FILTER_CHANGED',\r\n resolve => (dateOption) => resolve({ dateOption })\r\n);\r\nexport const blotterSettlementCustomDateFilterChange = createAction(\r\n 'blotter/SETTLEMENT_CUSTOM_DATE_RANGE_FILTER_CHANGED',\r\n resolve => (dateRange) => resolve({ dateRange })\r\n);\r\nexport const blotterToggleFilterBuy = createAction('BLOTTER_TOGGLE_FILTER_BUY');\r\nexport const blotterToggleFilterSell = createAction('BLOTTER_TOGGLE_FILTER_SELL');\r\nexport const blotterToggleFilterClient = createAction('BLOTTER_TOGGLE_FILTER_CLIENT');\r\nexport const blotterToggleFilterDesc = createAction('BLOTTER_TOGGLE_FILTER_DESC');\r\nexport const blotterSearchRequest = createAction('BLOTTER_SEARCH_REQUEST');\r\nexport const blotterSearchRequestNextPage = createAction('blotter/REQUEST_NEXT_PAGE',\r\n resolve => page => resolve({ page })\r\n);\r\nexport const blotterSearchSuccess = createAction(\r\n 'BLOTTER_SEARCH_SUCCESS',\r\n resolve => ({ result, totalRecordNumber }) => resolve({ result, totalRecordNumber })\r\n);\r\nexport const blotterSearchFailure = createAction(\r\n 'BLOTTER_SEARCH_FAILURE',\r\n resolve => error => resolve({ error })\r\n);\r\nexport const blotterOrderByChange = createAction('blotter/ORDER_BY_CHANGE',\r\n resolve => orderByColumn => resolve({ orderByColumn })\r\n);\r\nexport const blotterHasTradesRequest = createAction('BLOTTER_HAS_TRADES_REQUEST');\r\nexport const blotterHasTradesSuccess = createAction(\r\n 'BLOTTER_HAS_TRADES_SUCCESS',\r\n resolve => hasTrades => resolve({ hasTrades })\r\n);\r\nexport const blotterHasTradesFailure = createAction(\r\n 'BLOTTER_HAS_TRADES_FAILURE',\r\n resolve => error => resolve({ error })\r\n);\r\nexport const blotterExportRequest = createAction('BLOTTER_EXPORT_REQUEST');\r\nexport const blotterExportSuccess = createAction('BLOTTER_EXPORT_SUCCESS');\r\nexport const blotterExportFailure = createAction('BLOTTER_EXPORT_FAILURE');\r\nexport const blotterToggleVcon = createAction(\r\n 'BLOTTER_TOGGLE_VCON',\r\n resolve => (tradeId, isBuyTrade, value) => resolve({ tradeId, isBuyTrade, value })\r\n);\r\nexport const blotterSetVconRequest = createAction(\r\n 'BLOTTER_SET_VCON_REQUEST',\r\n resolve => (tradeId, isBuyTrade) => resolve({ tradeId, isBuyTrade })\r\n);\r\nexport const blotterSetVconSuccess = createAction(\r\n 'BLOTTER_SET_VCON_SUCCESS',\r\n resolve => (tradeId, isBuyTrade, value) => resolve({ tradeId, isBuyTrade, value })\r\n);\r\nexport const blotterSetVconFailure = createAction(\r\n 'BLOTTER_SET_VCON_FAILURE',\r\n resolve => (tradeId, isBuyTrade) => resolve({ tradeId, isBuyTrade })\r\n);\r\nexport const blotterToggleBooked = createAction(\r\n 'BLOTTER_TOGGLE_BOOKED',\r\n resolve => (tradeId, isBuyTrade, value) => resolve({ tradeId, isBuyTrade, value })\r\n);\r\nexport const blotterSetBookedRequest = createAction(\r\n 'BLOTTER_SET_BOOKED_REQUEST',\r\n resolve => (tradeId, isBuyTrade) => resolve({ tradeId, isBuyTrade })\r\n);\r\nexport const blotterSetBookedSuccess = createAction(\r\n 'BLOTTER_SET_BOOKED_SUCCESS',\r\n resolve => (tradeId, isBuyTrade, value) => resolve({ tradeId, isBuyTrade, value })\r\n);\r\nexport const blotterSetBookedFailure = createAction(\r\n 'BLOTTER_SET_BOOKED_FAILURE',\r\n resolve => (tradeId, isBuyTrade) => resolve({ tradeId, isBuyTrade })\r\n);\r\n","import { ThunkDispatch } from 'redux-thunk';\r\nimport { createAction } from 'typesafe-actions';\r\nimport { AnyAction } from \"redux\";\r\nimport { AppState } from '../types/state/AppState';\r\nimport { EditTradeAllocationItem } from '../types/state/entities/TradeAllocationState';\r\nimport { GridDataItem } from '../types/state/GridState';\r\nimport { numericUtils } from '../utils';\r\nimport { gridActions } from './grid.actions';\r\nimport { notificationActions } from './notification.actions';\r\nimport { errorActions } from './error.actions';\r\nimport { errorMessages } from '../constants/error.messages';\r\nimport { TradeSettlementStatus } from '../types/settlement/TradeSettlementStatus';\r\nimport { settlementService } from '../services/settlement.service';\r\nimport { SaveTradeAllocationItem } from '../types/trade-allocation/TradeAllocationItem';\r\nimport { tradeAllocationActions } from './trade-allocation.actions';\r\nimport { history } from '../history';\r\nimport { LocationState, LocationStateBuilder } from '../types/state/ui/LocationState';\r\nimport { awaitingTradesActions } from './entities/awaitingTrades.actions';\r\nimport { gridColumns } from '../constants';\r\nimport { TradeSide } from '../types/trades/TradeSide';\r\n\r\nconst resetPopupState = createAction('blotter/trade-allocation/RESET');\r\nconst saveRequest = createAction('blotter/trade-allocation/SAVE_REQUEST');\r\nconst saveSuccess = createAction('blotter/trade-allocation/SAVE_SUCCESS',\r\n resolve => (\r\n tradeId: string,\r\n buyerSettlementStatus: TradeSettlementStatus,\r\n sellerSettlementStatus: TradeSettlementStatus,\r\n allocationLock: Date,\r\n isBuyerAllocationManual: boolean,\r\n isSellerAllocationManual: boolean\r\n ) =>\r\n resolve({ tradeId, allocationLock, buyerSettlementStatus, sellerSettlementStatus, isBuyerAllocationManual, isSellerAllocationManual })\r\n);\r\nconst saveFailure = createAction('blotter/trade-allocation/SAVE_FAILURE');\r\n\r\nexport const blotterTradeAllocationActions = {\r\n resetPopupState,\r\n recalculateAmountOfTrade,\r\n recalculatePercentOfTrade,\r\n save,\r\n saveRequest,\r\n saveSuccess,\r\n saveFailure\r\n}\r\n\r\nfunction recalculateAmountOfTrade(rowIndex: number, tradeId: string) {\r\n // use thunk because gridActions.deleteRow && gridActions.insertDataItems cannot be dispatched from saga\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n const dataItem: GridDataItem =\r\n getState().grid.dataItems[rowIndex];\r\n const trade = getState().blotter.securities.find(t => t.tradeId === tradeId)\r\n\r\n if (dataItem && trade) {\r\n let amount: number | undefined;\r\n\r\n if (dataItem.percent != null && dataItem.percent !== '') {\r\n const percent = numericUtils.numberOrDefault(dataItem.percent);\r\n if (numericUtils.isNumber(percent)) {\r\n amount = numericUtils.round(trade.size / 100 * percent);\r\n }\r\n }\r\n\r\n const updated: GridDataItem = {\r\n ...dataItem,\r\n amount: amount ?? gridColumns.amountOfTrade.initialValue\r\n };\r\n\r\n dispatch(gridActions.deleteRow(rowIndex));\r\n dispatch(gridActions.insertDataItems([updated], rowIndex));\r\n dispatch(gridActions.updateDataItemDraftStatus(rowIndex));\r\n };\r\n };\r\n}\r\n\r\nfunction recalculatePercentOfTrade(rowIndex: number, tradeId: string) {\r\n // use thunk because gridActions.deleteRow && gridActions.insertDataItems cannot be dispatched from saga\r\n return (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n const dataItem: GridDataItem =\r\n getState().grid.dataItems[rowIndex];\r\n const trade = getState().blotter.securities.find(t => t.tradeId === tradeId)\r\n\r\n if (dataItem && trade) {\r\n let percent: number | undefined;\r\n\r\n if (dataItem.amount != null && dataItem.amount !== '') {\r\n if (numericUtils.isNumber(dataItem.amount)) {\r\n percent = numericUtils.round(Number(dataItem.amount) / (trade.size / 100), 2);\r\n }\r\n }\r\n\r\n const updated: GridDataItem = {\r\n ...dataItem,\r\n percent: percent ?? gridColumns.percentOfTrade.initialValue\r\n };\r\n\r\n dispatch(gridActions.deleteRow(rowIndex));\r\n dispatch(gridActions.insertDataItems([updated], rowIndex));\r\n dispatch(gridActions.updateDataItemDraftStatus(rowIndex));\r\n };\r\n };\r\n}\r\n\r\nfunction save(tradeId: string, allocationLock: Date, side: TradeSide) {\r\n return async (dispatch: ThunkDispatch, getState: () => AppState) => {\r\n dispatch(gridActions.validate());\r\n\r\n if (!getState().grid.isValid) return;\r\n\r\n dispatch(saveRequest());\r\n\r\n const items: SaveTradeAllocationItem[] = getState().grid.dataItems\r\n .filter((i: GridDataItem) => !i.draft)\r\n .map(i => ({\r\n id: i.id,\r\n settlementAccountId: Number(i.settlementAccountId),\r\n amount: Number(i.amount),\r\n percent: Number(i.percent),\r\n proceed: i.proceed == null || i.proceed === '' ? undefined : Number(i.proceed),\r\n side\r\n }));\r\n\r\n try {\r\n const response = await settlementService.saveTradeAllocation(tradeId, allocationLock, items, side);\r\n\r\n dispatch(blotterTradeAllocationActions.saveSuccess(\r\n tradeId,\r\n response.buyerSettlementStatus,\r\n response.sellerSettlementStatus,\r\n response.allocationLock,\r\n response.isBuyerAllocationManual,\r\n response.isSellerAllocationManual,\r\n ));\r\n\r\n // TO DO: Remove when trade allocation push will be implemented\r\n dispatch(\r\n awaitingTradesActions.tradeAllocationCreated(\r\n response.referenceName,\r\n response.buyerSettlementStatus,\r\n response.sellerSettlementStatus\r\n )\r\n )\r\n\r\n dispatch(tradeAllocationActions.update(tradeId, response.items));\r\n\r\n // Close popup\r\n const location = {\r\n ...history.location,\r\n state: new LocationStateBuilder(history.location.state as LocationState)\r\n .resetPopup()\r\n .result()\r\n };\r\n history.replace(location);\r\n\r\n } catch (e) {\r\n dispatch(blotterTradeAllocationActions.saveFailure());\r\n if (e.status === 409) {\r\n dispatch(\r\n notificationActions.notificationAddErrorMessageModal(\r\n errorMessages.refreshPage,\r\n \"Can't save Trade Allocation\",\r\n true\r\n )\r\n );\r\n } else {\r\n dispatch(errorActions.unexpectedError(e));\r\n }\r\n }\r\n };\r\n}\r\n","import { createAction } from 'typesafe-actions';\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { CompanySlim } from '../types/company/CompanySlim';\r\n\r\nconst request = createAction('entities/broker-dealer-list/REQUEST');\r\nconst requestResult = createAction('entities/broker-dealer-list/REQUEST_RESULT',\r\n resolve => (requestState: RequestState, result: CompanySlim[] = []) =>\r\n resolve({ requestState, result })\r\n);\r\nconst updateDealerDistributionListInvitationSent = createAction(\r\n 'entities/broker-dealer-list/UPDATE_DEALER_DISTRIBUTION_LIST_INVITATION_SEND',\r\n resolve => (dealerId: number) => resolve({ dealerId })\r\n);\r\nconst updateDealerHeadOfTradingInvitationSent = createAction(\r\n 'entities/broker-dealer-list/UPDATE_DEALER_HEAD_OF_TRADING_INVITATION_SEND',\r\n resolve => (dealerId: number) => resolve({ dealerId })\r\n);\r\nconst resetEntities = createAction('entities/broker-dealer-list/RESET');\r\n\r\n\r\nexport const brokerDealerListActions = {\r\n request,\r\n requestResult,\r\n updateDealerDistributionListInvitationSent,\r\n updateDealerHeadOfTradingInvitationSent,\r\n resetEntities\r\n};\r\n","import { createAction } from 'typesafe-actions';\r\n\r\nexport const dashboardInit = createAction('dashboard/INIT');\r\nexport const dashboardInitSuccess = createAction('dashboard/INIT_SUCCESS');\r\n\r\nexport const dashboardInitFailure = createAction(\r\n 'dashboard/INIT_FAILURE',\r\n resolve => (error) => resolve({ error })\r\n);\r\n\r\nexport const dashboardFetchBwics = createAction(\r\n 'dashboard/FETCH_BWICS',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchPortfolioExist = createAction(\r\n 'dashboard/FETCH_PORTFOLIO_EXIST',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardInitPortfolioSecurities = createAction(\r\n 'dashboard/INIT_PORTFOLIO_SECURITIES',\r\n);\r\n\r\nexport const dashboardFetchPortfolioSecurities = createAction(\r\n 'dashboard/FETCH_PORTFOLIO_SECURITIES',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchColorRates = createAction(\r\n 'dashboard/FETCH_COLOR_RATES',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchDntRates = createAction(\r\n 'dashboard/FETCH_DNT_RATES',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchSameDayPeriods = createAction(\r\n 'dashboard/FETCH_SAME_DAYS_PERIODS',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardInitTradingStats = createAction(\r\n 'dashboard/INIT_TRADING_STATS',\r\n);\r\n\r\nexport const dashboardFetchTradingStats = createAction(\r\n 'dashboard/FETCH_TRADING_STATS',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardInitPriceLevel = createAction(\r\n 'dashboard/INIT_PRICE_LEVEL',\r\n);\r\n\r\nexport const dashboardFetchPriceLevel = createAction(\r\n 'dashboard/FETCH_PRICE_LEVEL',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchBidRequestsAsSeller = createAction(\r\n 'dashboard/FETCH_BID_REQUESTS_AS_SELLER',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchDtcSellingBuying = createAction(\r\n 'dashboard/FETCH_DTC_SELLING_BUYING',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchAAAPriceLevel = createAction(\r\n 'dashboard/FETCH_AAA_PRICE_LEVEL',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchMostTradedTickers = createAction(\r\n 'dashboard/FETCH_MOST_TRADED_TICKERS',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchBiggestMovers = createAction(\r\n 'dashboard/FETCH_BIGGEST_MOVERS',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchDtcIgHy = createAction(\r\n 'dashboard/FETCH_DTC_INVESTMENT_GRADE',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchPxTalkDeviation = createAction(\r\n 'dashboard/FETCH_PX_TALK_DEVIATION',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchBwicPercentOfTrace = createAction(\r\n 'dashboard/FETCH_BWIC_PERCENT_OF_DEVIATION',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchKWatchNews = createAction(\r\n 'dashboard/FETCH_K_WATCH_NEWS',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardFetchTopIssuers = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_ISSUERS',\r\n resolve => (types, ccy, year, collateralTypes) => resolve({ types, ccy, year, collateralTypes })\r\n);\r\n\r\nexport const dashboardFetchTopIssuersResult = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_ISSUERS_RESULT',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardExportTopIssuers = createAction(\r\n 'dashboard/EXPORT_TOP_ISSUERS',\r\n resolve => (types, ccy, year, collateralTypes, sortingParams) => resolve({ types, ccy, year, collateralTypes, sortingParams })\r\n);\r\n\r\nexport const dashboardSetRequestStatusExportTopIssuers = createAction(\r\n 'dashboard/SET_REQUEST_STATUS_EXPORT_TOP_ISSUERS',\r\n resolve => (requestState) => resolve({ requestState })\r\n);\r\n\r\nexport const dashboardFetchTopArrangers = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_ARRANGERS',\r\n resolve => (types, ccy, year, collat) => resolve({ types, ccy, year, collat })\r\n);\r\n\r\nexport const dashboardFetchTopArrangersResult = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_ARRANGERS_RESULT',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardExportTopArrangers = createAction(\r\n 'dashboard/EXPORT_TOP_ARRANGERS',\r\n resolve => (types, ccy, year, collateralTypes, sortingParams) => resolve({ types, ccy, year, collateralTypes, sortingParams })\r\n);\r\n\r\nexport const dashboardSetRequestStatusExportTopArrangers = createAction(\r\n 'dashboard/SET_REQUEST_STATUS_EXPORT_TOP_ARRANGERS',\r\n resolve => (requestState) => resolve({ requestState })\r\n);\r\n\r\nexport const dashboardFetchTopTrustees = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_TRUSTEES',\r\n resolve => (types, ccy, year, collateralTypes) => resolve({ types, ccy, year, collateralTypes })\r\n);\r\n\r\nexport const dashboardFetchTopTrusteesResult = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_TRUSTEES_RESULT',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardExportTopTrustees = createAction(\r\n 'dashboard/EXPORT_TOP_TRUSTEES',\r\n resolve => (types, ccy, year, collateralTypes, sortingParams) => resolve({ types, ccy, year, collateralTypes, sortingParams })\r\n);\r\n\r\nexport const dashboardSetRequestStatusExportTopTrustees = createAction(\r\n 'dashboard/SET_REQUEST_STATUS_EXPORT_TOP_TRUSTEES',\r\n resolve => (requestState) => resolve({ requestState })\r\n);\r\n\r\nexport const dashboardFetchTopStaticDeals = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_STATIC_DEALS',\r\n resolve => (year) => resolve({ year })\r\n);\r\n\r\nexport const dashboardFetchTopStaticDealsResult = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_STATIC_DEALS_RESULT',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardExportTopStaticDeals = createAction(\r\n 'dashboard/EXPORT_BWIC_TOP_STATIC_DEALS',\r\n resolve => (year, orderByTransaction) => resolve({ year, orderByTransaction })\r\n);\r\n\r\nexport const dashboardSetRequestStatusExportTopStaticDeals = createAction(\r\n 'dashboard/SET_REQUEST_STATUS_EXPORT_BWIC_TOP_STATIC_DEALS',\r\n resolve => (requestState) => resolve({ requestState })\r\n);\r\n\r\nexport const dashboardFetchTopDebutDeals = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_DEBUT_DEALS',\r\n resolve => (year) => resolve({ year })\r\n);\r\n\r\nexport const dashboardFetchTopDebutDealsResult = createAction(\r\n 'dashboard/FETCH_BWIC_TOP_DEBUT_DEALS_RESULT',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardExportTopDebutDeals = createAction(\r\n 'dashboard/EXPORT_BWIC_TOP_DEBUT_DEALS',\r\n resolve => (year, orderByTransaction) => resolve({ year, orderByTransaction })\r\n);\r\n\r\nexport const dashboardSetRequestStatusExportTopDebutDeals = createAction(\r\n 'dashboard/SET_REQUEST_STATUS_EXPORT_BWIC_TOP_DEBUT_DEALS',\r\n resolve => (requestState) => resolve({ requestState })\r\n);\r\n\r\nexport const dashboardFetchKIndicator = createAction(\r\n 'dashboard/FETCH_K_INDICATOR',\r\n resolve => (requestState, data) => resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardSetFilter = createAction(\r\n 'dashboard/SET_FILTER',\r\n resolve => (filter) => resolve({ filter })\r\n);\r\n\r\nexport const dashboardSetNotAppliedFilter = createAction(\r\n 'dashboard/SET_NOT_APPLIED_FILTER',\r\n resolve => (filter) => resolve({ filter })\r\n);\r\n\r\nexport const dashboardClearFilter = createAction(\r\n 'dashboard/CLEAR_FILTER'\r\n);\r\n\r\nexport const dashboardSetFilterActive = createAction(\r\n 'dashboard/SET_FILTER_ACTIVE',\r\n resolve => (active) => resolve({ active })\r\n);\r\n\r\nexport const dashboardResetNotAppliedFilter = createAction('dashboard/RESET_NOT_APPLIED_FILTER');\r\n\r\nexport const dashboardReset = createAction('dashboard/RESET');\r\nexport const dashboardOnSelectedSecurity = createAction('dashboard/ON_SELECTED_SECURITY');\r\n\r\nexport const dashboardSetSearchTermItem = createAction(\r\n 'dashboard/SET_SEARCH_TERM_ITEM',\r\n resolve => (text) => resolve({ text })\r\n);\r\n\r\nexport const dashboardFetchSecurityHistoryRequest = createAction('dashboard/FETCH_SECURITY_HISTORY_REQUEST');\r\n\r\nexport const dashboardFetchSecurityHistorySuccess = createAction(\r\n 'dashboard/FETCH_SECURITY_HISTORY_SUCCESS',\r\n resolve => (securityHistory) => resolve({ securityHistory })\r\n);\r\n\r\nexport const dashboardFetchSecurityHistoryFailure = createAction('dashboard/FETCH_SECURITY_HISTORY_FAILURE');\r\nexport const dashboardExportBwiStatistic = createAction('dashboard/EXPORT_BWIC_STATISTIC');\r\n\r\nexport const dashboardExportTradingStats = createAction(\r\n 'dashboard/EXPORT_TRADING_STATS',\r\n resolve => (currencies, ratings) => resolve({ currencies, ratings })\r\n);\r\n\r\nexport const dashboardSetRequestStatusExportTradingStats = createAction(\r\n 'dashboard/SET_REQUEST_STATUS_EXPORT_TRADING_STATS',\r\n resolve => (status) => resolve({ status })\r\n);\r\n\r\nexport const dashboardPushUpdateTradingStats = createAction(\r\n 'dashboard/PUSH_DATA_UPDATE_TRADING_STATS',\r\n resolve => (tradingStats) => resolve({ tradingStats })\r\n);\r\n\r\nexport const dashboardPushUpdatePriceLevel = createAction(\r\n 'dashboard/PUSH_UPDATE_PRICE_LEVEL',\r\n resolve => (priceLevel) => resolve({ priceLevel })\r\n);\r\n\r\nexport const dashboardPushBiggestMovers = createAction(\r\n 'dashboard/PUSH_UPDATE_BIGGEST_MOVERS',\r\n resolve => (biggestMovers) => resolve({ biggestMovers })\r\n)\r\n\r\nexport const dashboardPushUpdateMostTradedTickers = createAction(\r\n 'dashboard/PUSH_UPDATE_MOST_TRADED_TICKERS',\r\n resolve => (mostTradedTickers) => resolve({ mostTradedTickers })\r\n);\r\n\r\nexport const dashboardInitIssueTransactionVolume = createAction(\r\n 'dashboard/ISSUE_TRANSACTION_VOLUME_INIT',\r\n);\r\n\r\nexport const dashboardIssueTransactionVolumeRequest = createAction(\r\n 'dashboard/ISSUE_TRANSACTION_VOLUME_REQUEST',\r\n resolve => (filter) => resolve({ filter })\r\n);\r\n\r\nexport const dashboardIssueTransactionVolumeResult = createAction(\r\n 'dashboard/ISSUE_TRANSACTION_VOLUME_RESULT',\r\n resolve => (requestState, data) =>\r\n resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardUsBslEsgNewIssueRequest = createAction(\r\n 'dashboard/US_BSL_ESG_NEW_ISSUE_REQUEST',\r\n resolve => (grouping) => resolve({ grouping }),\r\n);\r\n\r\nexport const dashboardUsBslEsgNewIssueResult = createAction(\r\n 'dashboard/US_BSL_ESG_NEW_ISSUE_RESULT',\r\n resolve => (requestState, esgLanguageDeals, usBslNewIssue) =>\r\n resolve({ requestState, esgLanguageDeals, usBslNewIssue })\r\n);\r\n\r\nexport const dashboardGetPortfolioInventorySecuritiesRequest = createAction(\r\n 'dashboard/GET_PORTFOLIO_INVENTORY_SECURITIES_REQUEST',\r\n resolve => (pageNumber, itemsOnPage, sortField, sortOrder) => resolve({ pageNumber, itemsOnPage, sortField, sortOrder })\r\n)\r\n\r\nexport const dashboardGetPortfolioInventorySecuritiesSuccess = createAction(\r\n 'dashboard/GET_PORTFOLIO_INVENTORY_SECURITIES_SUCCESS',\r\n resolve => (securities, pageNumber, totalRecordNumber) => resolve({ securities, pageNumber, totalRecordNumber })\r\n)\r\n\r\nexport const dashboardGetPortfolioInventorySecuritiesFailure = createAction(\r\n 'dashboard/GET_PORTFOLIO_INVENTORY_SECURITIES_FAILURE'\r\n)\r\n\r\nexport const dashboardSetPortfolioInventoryCurrentPage = createAction(\r\n 'dashboard/SET_PORTFOLIO_INVENTORY_CURRENT_PAGE',\r\n resolve => (currentPage) => resolve({ currentPage })\r\n)\r\n\r\nexport const dashboardPortfolioInventorySortParamsChanged = createAction(\r\n 'dashboard/PORTFOLIO_INVENTORY_SORT_PARAMS_CHANGED',\r\n resolve => (sortField, sortOrder) => resolve({ sortField, sortOrder })\r\n)\r\n\r\nexport const dashboardPortfolioInventoryReset = createAction('dashboard/PORTFOLIO_INVENTORY_RESET')\r\n\r\nexport const dashboardUsBslEuCompliantDealsRequest = createAction(\r\n 'dashboard/US_BSL_ESG_EU_COMPLIANT_DEALS_REQUEST',\r\n resolve => (filter) => resolve(filter),\r\n);\r\n\r\nexport const dashboardUsBslEuCompliantDealsResult = createAction(\r\n 'dashboard/US_BSL_ESG_EU_COMPLIANT_DEALS_RESPONSE',\r\n resolve => (requestState, usBslEuCompliantDeals, usBslDeals) =>\r\n resolve({ requestState, usBslEuCompliantDeals, usBslDeals })\r\n);\r\n\r\nexport const dashboardShortLongDatedDealsRequest = createAction(\r\n 'dashboard/SHORT_LONG_DATED_DEALS_REQUEST',\r\n resolve => (filter, managerReferenceName, startDate) => resolve({ filter, managerReferenceName, startDate }),\r\n);\r\n\r\nexport const dashboardShortLongDatedDealsResult = createAction(\r\n 'dashboard/SHORT_LONG_DATED_DEALS_RESPONSE',\r\n resolve => (requestState, data) =>\r\n resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboardIssuanceSpreadRequest = createAction(\r\n 'dashboard/ISSUANCE_SPREAD_REQUEST',\r\n resolve => (filter, managerReferenceName, startDate) => resolve({ filter, managerReferenceName, startDate }),\r\n);\r\n\r\nexport const dashboardIssuanceSpreadResult = createAction(\r\n 'dashboard/ISSUANCE_SPREAD_RESPONSE',\r\n resolve => (requestState, data) =>\r\n resolve({ requestState, data })\r\n);\r\n\r\nexport const dashboarNewIssuedWeeklySpreadsRequest = createAction(\r\n 'dashboard/NEW_ISSUE_WEEKLY_SPREADS_REQUEST'\r\n);\r\n\r\nexport const dashboardNewIssueWeeklySpreadsResult = createAction(\r\n 'dashboard/NEW_ISSUE_WEEKLY_SPREADS_RESPONSE',\r\n resolve => (requestState, data) =>\r\n resolve({ requestState, data })\r\n);\r\n","import { createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../../constants/request-state\";\r\nimport { Company } from \"../../types/amr-pipeline/models/Company\";\r\n\r\nconst requestCollateralManagers = createAction('entities/collateral-managers/REQUEST', resolve => (requestState: RequestState) => resolve({ requestState}));\r\n\r\nconst responseCollateralManagers = createAction(\r\n 'entities/collateral-managers/RESPONSE',\r\n resolve => (requestState: RequestState, collateralManagers: Company[]) => resolve({ requestState, collateralManagers })\r\n);\r\n\r\nexport const collateralManagersActions = {\r\n requestCollateralManagers,\r\n responseCollateralManagers\r\n};\r\n","import { ActionType, createAction } from \"typesafe-actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { PxTalk } from \"../types/bwic/PxTalk\";\r\n\r\nconst request = createAction(\"entities/priceTalks/REQUEST\",\r\n resolve => (bwicReferenceName: string, positionId: number) => resolve({ bwicReferenceName, positionId })\r\n);\r\nconst requestResult = createAction(\"entities/priceTalks/REQUEST_RESULT\",\r\n resolve => (positionId: number, requestState: RequestState, priceTalks: PxTalk[] = []) => resolve({ positionId, requestState, priceTalks })\r\n);\r\nconst addPriceTalk = createAction(\"entities/priceTalks/ADD\",\r\n resolve => (positionId: number, priceTalk: PxTalk) => resolve({ positionId, priceTalk })\r\n);\r\nconst replacePriceTalks = createAction(\"entities/priceTalks/REPLACE\",\r\n resolve => (positionId: number, priceTalks: PxTalk[]) => resolve({ positionId, priceTalks })\r\n);\r\nconst resetFailed = createAction(\"entities/priceTalks/RESET_FAILED\");\r\nconst reset = createAction(\"entities/priceTalks/RESET\");\r\n\r\nexport const priceTalksActions = {\r\n request,\r\n requestResult,\r\n addPriceTalk,\r\n replacePriceTalks,\r\n resetFailed,\r\n reset\r\n}\r\n\r\nexport type TPriceTalksActionType = ActionType<\r\n typeof request |\r\n typeof requestResult |\r\n typeof addPriceTalk |\r\n typeof replacePriceTalks |\r\n typeof resetFailed |\r\n typeof reset\r\n>;\r\n","import { ActionType, createAction } from \"typesafe-actions\"\r\nimport { RequestState } from \"../../constants/request-state\";\r\nimport { TransactionSlim } from \"../../types/amr-pipeline/models/TransactionSlim\";\r\n\r\nconst request = createAction('entities/latestTransaction/REQUEST',\r\n resolve => (tickers: string[]) => resolve({ tickers })\r\n);\r\nconst response = createAction('entities/latestTransaction/RESPONSE',\r\n resolve => (requestState: RequestState, transactions: TransactionSlim[] = []) =>\r\n resolve({ requestState, transactions })\r\n);\r\nconst reset = createAction('entities/latestTransaction/RESET');\r\n\r\nexport const latestTransactionActions = {\r\n request,\r\n response,\r\n reset\r\n}\r\n\r\nexport type TLatestTransactionActionType =\r\n ActionType\r\n"],"names":["profileActions","init","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","profilePromise","companyPromise","profile","company","wrap","_context","prev","next","type","actionTypes","PROFILE_INIT","requestState","RequestState","request","accountService","getProfile","getProfileCompany","sent","GET_PROFILE_SUCCESS","GET_PROFILE_COMPANY_SUCCESS","payload","success","t0","failure","errorActions","criticalError","stop","_x","apply","arguments","toggleEditPhoneMode","toggleEditBloombergEmail","TOGGLE_VISIBILITY_FORM_BLOOMBERG_EMAIL","savePhoneNumber","phone","getState","SAVE_PHONE_NUMBER","_objectSpread","savePhoneNumberFailure","errorMessage","CHANGE_PHONE_NUMBER_FAILURE","error","changeContactPopupVisible","contactId","CHANGE_CONTACT_POPUP_VISIBLE","contact","changePasswordFormVisible","personalInfoReset","passwordSettingsReset","accountActions","changePasswordReset","reset","ACCOUNT_SETTINGS_RESET","sellerAdminUsersActions","sellerAdminDealerActions","sellerAdminLimitActions","addNewCompanyTraderToStore","trader","traders","push","PROFILE_COMPANY_ADD_NEW_TRADER","editNewCompanyTraderInStore","editCompanyContact","submitModel","departmentValue","then","PROFILE_COMPANY_CONTACT_CHANGED","catch","e","unexpectedError","enableCompanyTrader","_ref3","_callee3","_yield$accountService","id","status","_context3","ENABLE_COMPANY_TRADER_REQUEST","ENABLE_COMPANY_TRADER_SUCCESS","ENABLE_COMPANY_TRADER_FAIL","_x3","disableCompanyTrader","_ref4","_callee4","_yield$accountService2","_context4","DISABLE_COMPANY_TRADER_REQUEST","DISABLE_COMPANY_TRADER_SUCCESS","DISABLE_COMPANY_TRADER_FAIL","_x4","setVisibleUploadImagePopup","uploadUserImage","file","requestStateUploadUserImage","currentUser","user","current","userProfilePhotoActions","fetchUserImage","finally","deleteUserImage","requestStateDeleteUserImage","saveBloombergEmail","bloombergEmail","_ref2","_callee2","_context2","setRequestStatusSaveBloombergEmail","setBloombergEmail","finish","_x2","changeBwicAnnouncementNotifications","bwicAnnouncementNotifications","changeBwicAnnouncementNotificationsRequest","saveBwicAnnouncementNotifications","bwicCreateNotifyAdmins","bwicCreateNotifyViewers","changePhoneVisible","CHANGE_PHONE_VISIBLE","IS_REQUEST_SAVE_BLOOMBERG_EMAIL","changePasswordVisible","CHANGE_PASSWORD_FORM_VISIBLE","traderId","map","item","PROFILE_COMPANY_EDIT_TRADER","visible","PROFILE_SET_VISIBLE_UPLOAD_USER_IMAGE_POPUP","PROFILE_SET_REQUEST_STATE_UPLOAD_USER_IMAGE","PROFILE_SET_REQUEST_STATE_DELETE_USER_IMAGE","createAction","requestResult","resolve","trades","length","undefined","rejectedTradeActions","setTradesAsResolved","tradeIds","pushBuyerRejectTrade","trade","initialReferenceName","getInitResult","newsList","managers","arrangers","getTotalCountResult","totalCount","loadMoreNewsList","searchTerm","loadMoreNewsListResult","searchNewsList","searchNewsListResult","setInitialNews","initialNews","updateNewsList","setSearchTerm","editNewsActions","getNewsDetails","referenceName","getNewsDetailsResult","newsData","createOrUpdateNews","deleteNews","resetNewsDetails","requestTrades","requestTradesResult","requestStatus","awaitingTrades","awaitingTradesActions","tradeAllocationCreated","tradeId","buyerSettlementStatus","sellerSettlementStatus","getInitialDataRequest","withIssuanceMonitorAccess","getInitialDataSuccess","preferences","userConfig","banks","setRatingCheckedState","rating","currency","checked","setRatingInCurrencyCheckedState","setAllRatingCheckedState","setRatingSize","size","setCheckedDailyDashboardEmail","alertOption","setPortfolioBwicAlerts","setPortfolioCleansingNoticeAlerts","setPortfolioIssuanceMonitorAlerts","setPortfolioRiAlerts","setPortfolioNcAlerts","setPortfolioRollerDeadlineAlerts","setNewBiwicAlerts","setBiwicReminderAlerts","setPortfolioInventoryAlerts","setBwicByRatingPreferences","bwicByRatingAlertState","setDealerInventoryAlertState","dealerInventoryAlertState","setIssuanceMonitorSingleAlert","singleAlertState","setIssuanceMonitorNewTransactionAlert","transactionAlertState","setIssuanceMonitorStatisticsAlert","statisticAlertState","setIssuanceMonitorFiltersAlert","filtersAlertState","setArrangerPipelineAlert","apAlertOption","setCloManagersAnalyticsAlert","cloManagerAnalyticsAlert","setCloManagersIssuanceMonitorAlert","cloManagerImAlertsConfig","setCloManagersArrangerPipelineAlert","setCloManagersBwicAlert","cloManagerBwicAlert","setCloManagersDealerInventoryAlert","cloManagerDealerInventoryAlert","setBanksAnalyticsAlert","bankAnalyticsAlertConfig","setBanksDealerInventoryAlert","bankDiAlertConfig","setBanksIssuanceMonitorAlert","bankImAlertsConfig","setBanksArrangerPipelineAlert","bankApAlertsConfig","unsubscribeAllBWICsNotifications","unsubscribeAllIssuanceMonitor","unsubscribeAllCloManagers","userCompanyReferenceName","unsubscribeAllBanks","unsubscribeAllPortfolio","rollbackDashboardEmails","rollbackBWICPipelines","rollbackBWICNotifications","rollbackIssuanceMonitor","rollbackArrangerPipeline","rollbackCloManagers","rollbackPortfolio","rollbackInventory","rollbackBanks","saveBwicByRatingPreferencesRequest","saveBwicByRatingPreferencesSuccess","saveBwicByRatingPreferencesFailure","manageEmailPreferencesActions","saveRequest","saveArrangerPipelineRequest","saveBanksRequest","saveSuccess","saveFailure","saveEmailPreferencesRequest","saveEmailPreferencesSuccess","emailPreferences","saveEmailPreferencesFailure","savedFilterAlertOptionChange","updated","savedFilterAlertOptionsReset","initPortfolioFilterAlerts","portfolioFilterAlerts","resetPortfolioFilterAlerts","portfolioSavedFilterAlertChange","filterReferenceName","bwicAlert","inventoryAlert","portfolioSavedFilterGlobalAlertChange","portfolioGlobalAlertsChange","bwicGlobalAlertEnabled","inventoryGlobalAlertEnabled","cleansingNoticeAlertEnabled","issuanceMonitorAlertEnabled","outOfRiAlertEnabled","outOfNcAlertEnabled","rollerDeadlineAlertEnabled","dataPushReceived","data","action","actionType","BwicHistoryActionType","NewBid","DirectBid","bwicReferenceName","bid","bwicName","logger","trace","concat","value","newBid","positionId","pushHistoryActions","add","receivedDate","Date","PushHistoryStateItemType","hasRoles","roles","SellerTrader","_getState$sellerBiddi","sellerBidding","securities","tradingPositions","Object","keys","position","find","p","_getSecuritiesWithLat","getSecuritiesWithLatestBids","positionWithActualBids","_slicedToArray","_biddingUtils$getBids","biddingUtils","getBidsByLevel","bids","BidLevel","Best","best","sellerBiddingActions","tradingPositionCompanyChange","getBidCompanyIdentifier","tradeConfirm","notificationActions","warningModal","name","ticker","moneyUtils","amountToMM","formatUtils","formatBid","handleNewBid","AxedFinalChanged","bidId","axed","final","modifiedDate","createdBy","axedFinalChange","handleAxedFinalChange","PriceTalk","priceTalk","talk","PUSH_DATA_NEW_PX_TALK","historyAction","newPriceTalk","QuickFeedback","DirectFeedback","feedback","Feedback","quickFeedback","bidRequestType","BidRequestType","BidOrPass","created","bidRequest","handleQuickFeedback","TargetLevel","_ref5","targetLevel","PUSH_DATA_TARGET_LEVEL","TradedAway","_ref6","isTradedAway","tradedAway","handleTradedAway","TradeSubmitted","_ref7","tradeAction","checkAwaitingTrades","TradeAffirmed","TradeRejected","tradeStatus","ColorDistribution","_ref9","isColorDistribution","colorDistribution","handleColorDistribution","ColorDistributionSend","_ref10","colors","publicColors","handleColorDistributionSend","Bidding","handleBwicStatusChanged","BwicStatus","bidding","Finished","finished","Canceled","canceled","OpenBiddingStage1Ended","_ref12","stage1EndDateUtc","canDealerBidOnPositions","liveBiddingActions","stage2Start","stagedBiddingStartStage2","BwicStage1Ended","handleStagedBiddingStartStage2","OpenBiddingStage2Ended","_ref13","stagedBiddingFinishStage2","BwicStage2Ended","handleStagedBiddingFinishStage2","OpenBiddingStage2Level","_ref14","level","tiedForBest","stage2LevelChange","sentDateUtc","liveBiddingStage2Level","handleLiveBiddingStage2Level","ModifyAutoFeedbackConfig","_ref15","autoFeedbackConfiguration","PUSH_DATA_AUTO_FEEDBACK_CONFIG","settings","handleAutoFeedbackSettingsChanged","BidAsDealerRequest","_data$bidAsDealerRequ","bidAsDealerRequest","sellerBidAsDealerRequest","handleBidAsDealerRequest","BuyerRejectedTrade","BiddingCompleteReminder","_ref16","remainingMinutes","Number","handleBwicCompleteReminder","createCustomAction","BrokerDealerTrader","tradeConfirmActions","_ref8","setAwaitingBwicTradeStatus","rejectReason","bwicStatusChanged","bwicStatus","_ref11","BwicStatusChanged","biddingActions","bwicStatusChange","pushBwicActions","clientsCompaniesActions","fetchListRequest","fetchListSuccess","fetchListFailure","setSelectedAgreement","companyId","resetSelectedAgreement","updateAgreementRequest","requestData","updateAgreementSuccess","assetManagerId","updateAgreementFailure","setSearchString","searchString","fetchPendingAgreementCountRequest","fetchPendingAgreementsCountSuccess","count","fetchPendingAgreementsCountFailure","hideActivePanels","setVisibleUpdateRatePopup","getCurrencyRate","setResultGetCurrencyRate","rate","updateCurrencyRate","setResultUpdateCurrencyRate","manageCompaniesFiltersActions","toogleFilterSalesRepresentative","salesRepresentatives","setFilterSalesRepresentative","toogleFilterRegBy","regBy","setFilterRegBy","toogleFilterStatusActive","toogleFilterStatusBlocked","toogleFilterStatusOffPlatform","toogleFilterRoleAdministrator","toogleFilterRoleBrokerDealer","toogleFilterRoleSeller","toogleFilterRoleViewer","toogleFilterRoleMedia","setDateFilterChange","dateOption","setDateFilterRangeChange","dateRange","searchSecuritiesActions","searchTermChange","resetSearchLookup","applyLookupItem","lookupItem","searchSecurities","stateSearchTerm","toLowerCase","isin","startsWith","cusip","trim","searchTermItems","includes","addSearchItem","removeSearchItem","index","SECURITY_SEARCH_ITEM_REMOVE","moveBack","SECURITY_SEARCH_MOVE_BACK","moveForward","SECURITY_SEARCH_MOVE_FORWARD","removeCurrentItem","SECURITY_SEARCH_REMOVE_CURRENT_ITEM","RESET","loadSearchLookupTimeout","showLookup","SEARCH_TERM_CHANGE","search","trimmedSearchTerm","constants","searchTermAcceptedLength","_getState$searchSecur","searchTermCache","lookupCache","searchTermLowerCase","SEARCH_LOOKUP","lookupData","filter","l","searchInLookupCache","clearTimeout","setTimeout","SEARCH_LOOKUP_CACHE","s","isinCusip","bwicService","loadSearchLookup","SECURITY_SEARCH_ITEM_ADD","classesLookup","fetchSection","createAsyncAction","helpResourcesActions","fetchCategories","fetchBySearch","loadMoreSearch","resetSection","resetSearch","manageEmailActions","setFilter","confirmRequest","onConfirm","confirmSuccess","confirmFailure","downloadFileRequest","downloadFileSuccess","downloadFileFailure","portfolioAgreementDisclaimerActions","show","blockerId","text","hide","confirmed","salesRepresentativeActions","loadUserSalesRepresentatives","storeSalesRepresentatives","pushUserActions","setSavingState","save","lockModifiedDate","setConflictsPopupVisible","setTradedStatus","inventoryPositionId","tradeDate","setTradedRequestStatus","inventoryId","setFlaggedModal","isFlaggedModalVisible","ensureFlaggedModalShown","merged","some","isFlagged","excludeComputedProps","source","withoutComputedProps","coupon","draft","errors","securityId","ncEndMonth","ncEndYear","riEndMonth","riEndYear","offer","floaterIndex","omitBy","isUndefined","mergeDataItems","actualItems","updatedItems","i","isNew","actualItemsCopy","_toConsumableArray","el","newItems","forEach","u","actualIndex","findIndex","a","actual","update","valueOrEmpty","offerDmBps","offerYield","spread","walYears","mvoc","manager","description","ncEnd","riEnd","creditEnhancement","isEqual","isUpdate","normalizeParsedInventoryPosition","dataItem","_entries$find","key","entries","inventoryFloatingIndexTitles","localeCompare","sensitivity","floaterIndexEnumKey","InventoryFloatingIndex","normalizeNumeric","formatInventoryCoupon","numericUtils","isNumber","bidSize","bidDmBps","stringUtils","isNullOrWhiteSpace","formatMonthAndYear","ncEndParseResult","dateTimeUtils","parseMonthAndYearStamp","riEndParseResult","isMonthValid","isYearValid","year","month","raw","defaultValue","trimmed","inventoryEditActions","updateCoupon","rowIndex","dataItems","grid","gridActions","deleteRow","insertDataItems","uploadSecurities","_getState$grid","upload","mountedKey","uploadStatus","uploading","extension","split","pop","gridFileUploadMaximumSize","errorMessages","fileSizeLimitExceeded","editing","applyOrCancelEdit","inventoryService","currentMountedKey","lengthComputable","percentComplete","loaded","total","setUploadState","positions","ready","clear","addDataItems","validate","none","invalidFileType","handleClipboardData","clipboardData","dataProcessing","parseSecuritiesStirng","clearingBankActions","saveClearingBankSettings","isClearingBank","commission","settlementAgentCommissionRequest","settlementAgentCommissionResponse","bwic","nextBusinessDayPromise","todayIsBusinessDayPromise","currentYearHolidaysPromise","nextYearHolidaysPromise","isBidingOrFinished","nextBusinessDay","todayIsBusinessDay","currentYearHolidays","nextYearHolidays","minDate","holidays","getFullYear","daysService","getNextBusinessDate","isBusinessDay","getHolidays","isAllToAll","process","BwicProcessType","Live","bidOnBehalfActions","requestCompanies","favoriteBrokerDealersActions","fetchFavoriteBrokerDealersRequest","moment","startOf","toDate","minimumDate","STORE_MIN_SETTLE_DATE","storeHolidays","SELLER_BIDDING_STORE_SECURITIES","cancelBwic","reason","cancel","dealerListPanelActions","SELLER_BIDDING_RESET","apiOperationActions","resetEvent","ApiOperationType","submitBidsOnBehalf","resetEdit","dealerListActions","tradeAll","storeTradingPositions","canTradePosition","completeBwic","setColorDistribution","colorDistributionActions","setBwicColorDistribution","setTargetLevel","sendTargetLevel","_getState$sellerBiddi4","editTargetLevel","security","edit","targetLevelRange","min","max","toFixed","SELLER_BIDDING_TARGET_LEVEL_REQUEST","targetLevelRequest","biddingService","saveTargetLevel","SELLER_BIDDING_TARGET_LEVEL_SUCCESS","targetLevelSuccess","SELLER_BIDDING_TARGET_LEVEL_FAILURE","targetLevelFailure","sendQuickFeedback","bidsList","feedbackType","excludeJumpBallStage2Bids","JumpBall","stagedBiddingStatus","OpenBiddingStatus","stage1Ended","feedbackTypes","submitFinal","b","onBehalfBids","onBehalf","bidIdList","sendOnBehalfQuickFeedback","feedbackSent","sendOnBehalfFeedback","sendRegularFeedback","tradingPositionSelectionChange","selected","SELLER_BIDDING_TRADING_POSITION_SELECTION_CHANGE","tradeAllChecked","tradingPositionIdList","every","tradeAllSelectionChange","tradingPositionSettleDateChange","date","settleDateError","settleDate","_getState$sellerBiddi3","minimumSettleDate","momentHolidays","h","validateTradingPositionSettleDate","SELLER_BIDDING_TRADING_SETTLE_DATE_CHANGE","tradingPositionCommentChange","comment","SELLER_BIDDING_TADING_COMMENT_CHANGE","tradingCompanyIdentifier","SELLER_BIDDING_TRADING_COMPANY_CHANGE","tradingPositionBidChange","SELLER_BIDDING_TRADING_BID_CHANGE","submitTrade","_getState$sellerBiddi2","tradingBidId","companyBidLock","bidLocks","tradingCompanyId","buyerCompany","toISOString","bidLock","cancelTrade","showBidList","toggleBidList","bidList","sendBidRequest","companies","requestType","c","markBidsShown","MARK_BIDS_SHOWN","SELLER_BIDDING_STORE_HOLIDAYS","hasErrors","validationResult","validateTradingPositions","r","SELLER_BIDING_STORE_TRADING_POSITIONS_VALIDATION_RESULT","SELLER_BIDDING_TRADING_CONFIRMATION_VISIBLE","defaultSettleDate","SELLER_BIDDING_STORE_TRADING_POSITIONS","SELLER_BIDDING_QUICK_FEEDBACK_SENT","SELLER_BIDDING_TRADING_TRADE_ALL_SELECTION_CHANGE","empty","invalidValue","diff","dateShouldNotBeInPast","momentSettleDate","weekday","d","bwicDateShouldNotBeWeekend","isSame","bwicDateShouldNotBeHoliday","SELLER_BIDDING_SET_TARGET_LEVEL","controlPanelActions","SELLER_BIDDING_SHOW_BID_LIST","partiesActions","items","releaseActions","fetchReleases","getReleaseRequest","getReleaseResponse","releases","markAsReadRequest","markAsReadResponse","bwicLogReset","bwicLogInitRequest","bwicLogInitSuccess","statistics","bwicLogActions","bwicLogInitFailure","bwicLogExportDataRequest","bwicLogExportDataSuccess","bwicLogExportDataFailure","response","fetchBillingHistory","billingHistory","updateFilter","filterField","filterOption","applyFilter","setApplyFilter","applyReset","billingHistoryActions","resetFilter","editParsedBwicActions","day","bwicPromise","processSettings","timeSpan","getByReferenceName","Promise","editParsedBwic","changeDate","changeBidsDueTime","bidsDue","changeGoodUntilTime","goodUntil","changeTimeZone","timeZone","changeDaysToSettle","daysToSettle","changeCustomRules","rulesText","securitiesActions","gridColumns","storeOriginalBwic","changeEmailReceivedDate","emailReceivedDate","parsedProcess","getProcessSpecificSettings","changeReserveLevelsApply","reserveLevelsApply","changeCanTradeEarly","canTradeEarly","changeCanBidEarly","canBidEarly","changePartialBidsAccepted","partialBidsAccepted","changeBwicProcessType","processType","changeHardCutOffNumber","hardCutOff","changeStage1EndTime","changeStage2EndTime","stage2EndDateUtc","changeStage2Participants","improverCount","bidsGoodFor","parseTimeSpan","changeBidsGoodForHours","hours","changeBidsGoodForMinutes","minutes","timestampToUtcString","daysToSettleDefault","TopX","INIT_COMPLETED","resetError","showManageParsedBwics","history","routes","manageParsedBwics","isValid","isPositionsValid","setSaveProgressState","doSave","saved","notificationAddErrorMessageModal","refreshPage","cantSavePxTalk409","saveAndPublish","parsedBwicsService","publish","_x5","_x6","saveOnExit","pathname","beforeNavigateCallback","cancelDialog","jumpBall","topX","BestFootForward","bff","Unknown","unknown","STORE_ORIGINAL_BWIC","_getState$editParsedB","SET_EMAIL_RECEIVED_DATE","_getState$editParsedB2","CHANGE_DATE","days","DAYS_TO_SETTLE","TIME_ZONE","time","_getState$editParsedB3","BIDS_DUE","hasTimeErrors","bidsDueTime","goodUntilTime","format","dateTimeFormatUtc","_getState$editParsedB4","GOOD_UNTIL","RULES_TEXT","RESERVE_LEVELS_APPLY_CHANHE","CAN_TRADE_EARLY_CHANGE","CAN_BID_EARLY_CHANGE","PARTIAL_BIDS_ACCEPTED_CHANHE","getDefaultStage1EndTimeUtc","getDefaultStage2Participants","Stage2Participants","Top3","BWIC_PROCESS_TYPE_CHANGE","Standard","HARD_CUT_OFF_NUMBER_CHANGE","bwicProcessType","getDefaultStage2EndTimeUtc","STAGE_1_TIME_CHANGE","STAGE_2_TIME_CHANGE","BIDS_GOOD_FOR_HOURS_CHANGE","BIDS_GOOD_FOR_MINUTES_CHANGE","STAGE_2_PARTICIPANTS_CHANGE","_getState$editParsedB5","bidsGoodForHours","bidsGoodForMinutes","state","_objectWithoutProperties","_excluded","setBwicDate","adjustTime","momentDate","isoWeekday","validateDate","bidsDueShoulbBeLessThanGoodUntil","validateTime","subtract","isAfter","isBefore","dateFormat","validateEmailReceivedDate","totalMinutes","numberOrDefault","maxHours","shouldBeBetween","validateBidsGoodFor","stage1End","stage2End","start","end","isSameOrAfter","validateStage1End","isSameOrBefore","validateStage2End","values","x","VALIDATE","validation","utcTime","timestampFromUtcString","bwicDate","set","minute","isSaving","SAVING_STATE","pxTalks","priceTalksActions","replacePriceTalks","BWIC_SAVED","_setBwicDate","_setBwicDate2","_state$editParsedBwic","utcOffset","CANCEL_DIALOG","selectDealers","selectedDealers","selectDealer","dealerId","selectDealersByDefault","dealers","resetSelectedByDefaultFlag","newBwicDealersActions","sellerBidAsDealerAgreementsPushDataReceived","agreement","updateFilterOptions","clearFilterOptions","setSelectPlatformDealersPopupVisible","editCompanyActions","countriesPromise","statesPromise","salesRepresentativesPromise","countries","states","setLoadingCompanyStatus","companiesService","getCompany","locationService","getCountries","getStates","USCountryCode","salesRepresentativesService","getList","loadCountries","loadStates","с","Error","message","countryCode","loadCities","stateId","registrationType","manualRegistration","RegistrationType","manual","sendLink","mpid","headOfTrading","loadCompany","_getState$editCompany","isBrokerDealer","model","salesRepresentativesToAssign","salesRepresentativesToUnassign","assignPromise","unassignPromise","saving","editCompany","role","companyRoles","BrokerDealer","website","cityId","city","zipCode","address","code","toUpperCase","distributionList","firstName","headOfTradingFirstName","lastName","headOfTradingLastName","email","headOfTradingEmail","office","headOfTradingOffice","mobile","headOfTradingMobile","v","assign","representativeUserIdList","unassign","SAVED","companyInformationCanNotBeChanged","SALES_REPRESENTATIVES","getCities","cities","CITIES","STATES","COUNTRIES","COMPANY","EDIT_COMPANY_LOADING_STATUS","SAVING","getUserListRequest","getUserListSuccess","users","requestUsers","getUserListFailure","saveUser","userId","setUserUpdateState","userSaved","saveUserRequest","userRequestId","concurrencyStamp","setUserRequestUpdateState","userRequestSaved","userRequest","disableUser","blockReason","enableUser","setUserOperationState","setUserEnabled","setUserDisable","disableUserRequest","enableUserRequest","setUserRequestOperationState","userRequestEnabled","userRequestDisabled","exportUsersRequest","exportUsersResponse","rulesActions","separatePanel","RULES_SHOW","rules","RULES_HIDE","brokerDealerBiddingActions","accessState","isParsed","getAccessState","storeAccessState","bwicStatuses","scheduled","storeSecurities","initPriceTalks","BROKER_DEALER_BIDDING_RESET","sendInviteRequest","requestAccess","brokerDealerAccessState","accessRequested","bidAll","bidPlacementActions","_getState$brokerDeale2","brokerDealerBidding","editBid","biddingSecurities","canSubmit","hasBidErrors","bidConfirmationActions","confirmation","bidSingle","validateSingle","_getState$brokerDeale","submitBids","BROKER_DEALER_BIDDING_STORE_SECURITIES","_s$pxTalks","BROKER_DEALER_ACCESS_STATE","editState","setEditModeStatus","getTradeLimitsRequest","getTradeLimitsSuccess","limits","updateTradeLimitsRequest","updateTradeLimitsSuccess","updateTradeLimitsFailure","companiesActions","companiesPromise","usersPromise","userRequestsPromise","companyList","userRequests","_getState$companies","isInitCompleted","companyFilter","memberFilter","getCompanies","usersService","getUsers","getUserCreationRequests","storeCompanies","storeUsers","storeUserRequests","STORE_SALES_REPRESENTATIVES","filterCompanies","filterMembers","initCreateEditUser","userPromise","_yield$Promise$all","_yield$Promise$all2","getUser","jobTitle","primaryContact","all","Media","Viewer","setEditingUser","COMPANY_UPDATE_INIT_STATUS_EDIT_USER","resetEditMember","RESET_EDIT_MEMBER","orderCompaniesBy","column","companyOrderBy","direction","ORDER_BY","orderBy","orderMembersBy","memberOrderBy","MEMBERS_ORDER_BY","approveCompany","companyApproveRequest","postCompanyApprove","companyApproveSuccess","companyApproveFailure","notificationAddErrorMessage","rejectCompany","postCompanyReject","rejectionReason","companyRejectReasonSet","COMPANY_REJECT_REASON_SET","companyApprovalConfirmationShow","COMPANY_APPROVAL_CONFIRMATION_SHOW","companyApprovalConfirmationHide","companyRejectionConfirmationShow","COMPANY_REJECTION_CONFIRMATION_SHOW","companyRejectionConfirmationHide","COMPANY_REJECTION_CONFIRMATION_HIDE","companyStatusChangeConfirmation","memberStatusChangeConfirmation","resendInviteConfirmation","resetPasswordConfirmation","chnageTfaEnabledStatusConfirmation","chnageTfaEnabledStatus","member","updateTfaEnabledState","tfaEnabled","TFA_ENABLED_STATE_CHANGED","resendInvite","resetPassword","fullName","changeCompanyStatus","companyStatuses","offPlatform","statusCode","active","blocked","changeMemberBlockedStatus","userStatuses","isUserPrimaryContact","notificationAddError","amrPipelineService","blockUserRequest","unblockUserRequest","showCompanyMembers","memberFilterInitialState","applyMemberFilters","replace","manageCompanyMembers","showMemberCompany","companyFilterInitialState","companyName","manageCompanies","saveMember","editMember","isEdit","initialUser","isPrimaryContactAndCompanyChanged","userToSave","desk","isNil","userInformationCanNotBeChanged","primaryContactUserCanNotBeMovedToAnotherCompany","abrupt","savingUser","sendInvite","phoneNumber","userEmail","linkedIn","location","setMemberOfacStatus","memberId","membersOfacRequestStatus","newStatusList","COMPANY_MEMBER_SET_OFAC_REQUEST","setMemberOfacRequest","res","ofac","_getState$companies2","newUsers","COMPANY_MEMBER_SET_OFAC_SUCCESS","setMemberOfacSuccess","setMemberOfacFailure","setCompanyOfacStatus","companiesOfacRequestStatus","COMPANY_SET_OFAC_REQUEST","setCompanyOfacRequest","_getState$companies3","newCompanies","COMPANY_SET_OFAC_SUCCESS","setCompanyOfacSuccess","setCompanyOfacFailure","exportUsers","exportUsersRequestState","filterOptions","statuses","UserStatus","Active","Blocked","invited","Invited","notInvited","NotInvited","pendingApproval","rolesArray","administrator","Administrator","arrangersClient","ArrangersClient","brokerDealerTrader","brokerDealerViewer","BrokerDealerViewer","dataEntry","DataEntry","sellerAdmin","SellerAdministrator","sellerTrader","sellerViewer","SellerViewer","subscriptionManager","SubscriptionManager","viewer","collateralManager","CollateralManager","media","dateFilter","getSearchDateRange","regByFrom","dateFrom","regByTo","dateTo","searchTerms","companyIds","regByIds","getFilterCriteria","MANAGE_EXPORT_USERS_REQUEST","saveAs","blob","MANAGE_EXPORT_USERS_SUCCESS","MANAGE_EXPORT_USERS_FAILURE","getUserLoginHistory","COMPANY_MEMBER_SET_USER_LAST_LOGIN_HISTORY","resetUserLoginHistory","COMPANY_MEMBER_RESET_USER_LAST_LOGIN_HISTORY","memberSubscriptionChange","subscriptionType","trialPeriodEnd","COMPANY_MEMBER_SUBSCRIPTION_CHANGE","companySubscriptionChange","subscriptionPeriodEnd","COMPANY_SUBSCRIPTION_CHANGE","changeClearingBankSettings","COMPANY_SET_CLEARING_BANK","setTempPassword","deleteUser","companyUserCount","COMPANY_MEMBER_DELETED","RESET_SUBSCRIPTION","_x7","exportCompanies","_callee7","order","salesRepresentative","orderByColumn","_context7","setIsRequestingExportCompany","CompanyStatus","brokerDealer","seller","Seller","companyColumnsExportValues","_x11","_x12","companyPushDataReceived","_callee6","targetCompany","_context6","_callee5","_context5","getUserListRequestStatus","exception","_x8","COMPANY_PUSH_DATA_RECEIVED","_x9","_x10","applyCompanyFilters","COMPANY_FILTER_APPLY","resetCompanyFilters","COMPANY_FILTER_RESET","resetMemberFilters","MEMBER_FILTER_RESET","COMPANY_SET_EDITING_USER","USERS","COMPANIES","USER_REQUESTS","COMPANY_STATUS_CHANGE_CONFIRMATION","MEMBER_STATUS_CHANGE_CONFIRMATION","COMPANY_APPROVE_REQUEST","COMPANY_APPROVE_SUCCESS","COMPANY_APPROVE_FAILURE","RESEND_INVITE_CONFIRMATION","RESET_PASSWORD_CONFIRMATION","COMPANY_FILTER_CHNAGED","MEMBER_FILTER_APPLY","MEMBERS_FILTER_CHNAGED","savingUserFlag","SAVING_USER","COMPANY_MEMBER_SET_OFAC_FAILURE","COMPANY_SET_OFAC_FAILURE","TFA_STATUS_CHANGE_CONFIRMATION","COMPANY_GET_USER_LIST_REQUEST_STATUS","MANAGE_SET_REQUEST_STATE_EXPORT_COMPANIES","trustee","trusteeActions","fetchFavoriteBrokerDealersSuccess","favorites","fetchFavoriteBrokerDealersFailure","updateFavoriteBrokerDealerRequest","isFavorite","updateFavoriteBrokerDealerSuccess","updateFavoriteBrokerDealerFailure","manageMembersFiltersActions","toogleFilterCompanies","setFilterCompanies","toogleFilterStatusInvited","toogleFilterStatusNotInvited","toogleFilterStatusPendingApproval","toggleFilterRoleArrangersClient","toogleFilterRoleBrokerDealerTrader","toogleFilterRoleBrokerDealerViewer","toogleFilterRolesDataEntry","toogleFilterRoleSellerAdministrator","toogleFilterRoleSellerTrader","toogleFilterRoleSellerViewer","toogleFilterRolesSubscriptionManager","toogleFilterCollateralManager","notificationReset","notificationPushReceived","notification","NotificationType","PushNotification","notificationAddInfo","title","createNotificationModel","uuidv4","Info","notificationAddInfoMessage","refreshButtonVisible","createModalNotificationModel","StatusMessageSectionType","infoModal","blinkBrowserTabText","popupClassName","infoModalReplace","modalKey","Alert","notificationListHideToast","notificationListRemoveModalItem","notificationListToastExpired","modalNotificationListReset","notificationServiceConnect","notificationServiceConnected","notificationServiceDisconnected","notificationServiceReconnecting","notificationServiceReconnected","notificationGetList","appendNotifications","notificationList","notificationAttributes","notificationGetListFailure","notificationsGetCountUnread","notificationsGetCountUnreadFailure","notificationsSetCountUnread","notificationSetReadRequest","notificationSetReadSuccess","notificationSetReadFailure","notificationsReadAllRequest","notificationsReadAllSuccess","notificationsReadAllFailure","notificationRead","notificationReadAll","isReadByUser","subject","getExcludedDealersRequest","getExcludedDealersSuccess","excludeNewCompany","getExcludedDealersFailure","saveExcludedDealersRequest","dealerIds","saveExcludedDealersSuccess","saveExcludedDealersFailure","requestTokens","storeTokens","tokens","setTokenRequestStatus","setCompanyRequestStatus","setGenerateRequestStatus","setUpdateTokenRequestStatus","storeGeneratedToken","token","generate","apis","tokenId","tokenUpdated","revoke","tokenRevoked","setRevokeTokenRequestStatus","toogleFilterStatusExpired","toogleFilterStatusRevoked","toogleFilterApiBlotterApiReader","toogleFilterApiBwicMonitorApiReader","toogleFilterApiIssuanceMonitorApiReader","toogleFilterApiPortfolioApi","toogleFilterApiEvalApiReader","toogleFilterApiDashboardApiReader","resetTokenFilters","manageTokenActions","applyTokenFilters","tickers","pipeline","arrangersPipelineActions","messageTypeChange","messageType","recipientLevelChange","recipientLevel","editMinutesAboutToEnd","stage1AboutToEndTimeout","setError","blastMessageActions","storeRecipients","recipients","recipientSelectedChange","companyIdentifier","send","blastMessageRecipients","bwicParticipants","sending","isSending","selectAllRecipientsChange","isSelectAllRecipients","toggleSelectAllParticipantsFlag","downloadPdfRequest","downloadPdfSuccess","downloadPdfFailure","directBiddingDisclaimerActions","settlementAgentAgeementPushActions","settlementAgentAgreementPushReceived","settlementAgentRequestPushReceived","getCloManagers","companyReferenceName","getCloManagersResult","cloManagers","getCloManager","getCloManagerResult","cloManager","bwicCloManagers","createOrUpdateCloManager","setCloManagerSaveState","isUpdating","logUserActivity","accessType","switchFavoriteRequest","favorite","switchFavoriteResponse","analyticsInit","analyticsInitResponse","analyticsReset","clientsActivityRequest","startDate","endDate","clientsActivityResponse","numberOfHiddenItems","clientsActivityFilterChange","profileViewHistoryRequest","profileViewHistoryResponse","cloManagersActions","setManagerForAlertPopup","profileViewHistoryFilterChange","profileViewHistoryFilterByBar","selectedSecurityChange","editPlatformUsers","resetEditPlatformUsers","companyMembersActions","fetchCompanyMembers","inventoryAlertChange","enabled","emailPreferencesActions","bwicAlertChange","availableBrokerDealersActions","changeSubscriptionActions","setSubscriptionSavingFlag","isSubscriptionSavingFlag","saveSubscription","subscriptionExpiration","result","portfolioListActions","resetEntities","colorDistributionSend","updateSendAlertState","sendAlertState","deletePortfolio","portfolioId","getDeals","getDealsResult","deals","getDealDetails","getDealDetailsResult","dealDetails","getClassSecondaryInfo","selectedClass","getClassSecondaryInfoResult","securityStatistics","resetDeals","editDeal","editDealReset","updateDeal","formData","updateDealResult","deleteDealRequest","deleteDealResult","allClassesEdit","classes","allClassesEditInit","deal","allClassesUpdate","dealReferenceName","allClassesUpdateResponse","allClassesCacheTranche","tranche","allClassesInvalidateTranceCache","updateGridRow","updateDealDocuments","documentsWithPattern","updateDealDocumentsResult","amrInfoClassesEdit","amrInfoSave","transactionReferenceName","amrInfo","saveAmrInfoResponse","deleteAmrTransaction","classReferenceName","excludedDealersReferenceNames","saveExcludedDealersResponse","saveSettlementInstructionsRequest","settlementInstructions","saveSettlementInstructionsResponse","exportSettlementInstructions","dealLegalName","classLegalName","openFigiErrorTickersResponse","errorTickers","dealsActions","allClassesUpdateStatus","clone","TrancheStatus","Inactive","updatedTranche","balance","margin","redeemed","ratingDbrs","ratingFitch","ratingKbra","ratingMoodys","ratingSnP","hasHistoryData","historyBalance","historyMargin","historyFloaterIndex","historyRatingDbrs","historyRatingFitch","historyRatingKbra","historyRatingMoodys","historyRatingSnP","cachedData","cachedItem","allClasses","cachedInactiveClasses","Draft","allClassesUpdateCoupon","updatedTrahcne","amrFormatUtils","allClassesUpdateTickers","selectedDeal","updatedDataItem","ticker144A","formatTickerRule144a","tickerRegS","formatTickerRuleRegS","tickerAccdInvCertif","formatTickerRuleAccInvCertif","_history$location","_history$location$sta","securityDetailsActions","securityDetailsReset","autoFeedbackSettingsActions","showAutoFeedbackSettingsPanel","bwicHistoryActions","showHistory","pxTalkListActions","companyDetailsActions","textRulesPanelActions","panel","processActions","_process$templates$al","_getState","templates","processService","getTemplates","addTemplates","selectTemplate","setBwicDisabledTime","_getState$process$err","_getState$process2","_getState$process2$er","hasTemplateErrors","goodUntilCurrentTime","frameEnd","bwicAllowedTimeRange","to","storeNextBusiessDay","NEXT_BUSINESS_DAY","reserveLevelsApplyEnabled","RESERVE_LEVELS_APPLY_ENABLED","updateTemplateDirty","earlyTradesEnabled","EARLY_TRADES_ENABLED","setStage1Deadline","_getState$process$err3","cutOffReminder","stage1Deadline","SET_STAGE1_DEADLINE","setImprovementRound","SET_IMPROVEMENT_ROUND","setMinBidIncrement","SET_MIN_BID_INCREMENT","setLevelSpecificationType","SET_LEVEL_SPECIFICATION_TYPE","setOpenBiddingImproverCount","SET_OPEN_BIDDING_IMPROVER_COUNT","resetStage1DeadlineError","_getState$process$err4","resetImprovementRoundError","_getState$process$err5","improvementRound","resetMinBidIncrementError","_getState$process$err6","minBidIncrement","resetJumpBallStage2DurationMinutes","_getState$process$err7","jumpBallStage2DurationMinutes","resetBestFootForwardDurationMinutes","_getState$process$err19","bestFootForwardDurationMinutes","resetJumpBallStage1AutomaticMinutes","_getState$process$err10","jumpBallStage1AutomaticMinutes","resetTopXStage1AutomaticMinutes","_getState$process$err8","topXStage1AutomaticMinutes","resetTopXStage2DurationMinutes","_getState$process$err9","topXStage2DurationMinutes","titleChange","TITLE_CHANGE","descriptionChange","DESCRIPTION_CHANGE","setMinDate","MIN_DATE","setHolidays","HOLIDAYS","resetChanges","RESET_CHANGES","jumpBallStage1EndManual","JUMP_BALL_STAGE_1_END_MANUAL","RESET_CUT_OFF_REMINDER_MINS","jumpBallStage1EndAuto","JUMP_BALL_STAGE_1_END_AUTO","jumpBallStage1EndAutomaticMinutesChange","_getState$process$err12","JUMP_BALL_STAGE_1_END_AUTO_MINS","jumpBallStage2ParticipantsChange","participants","JUMP_BALL_STAGE_2_PARTICIPANTS_CHANGE","jumpBallStage2DurationUnspecified","JUMP_BALL_STAGE_2_DURATION_UNSPECIFIED","jumpBallStage2DurationPreset","JUMP_BALL_STAGE_2_DURATION_PRESET","jumpBallStage2DurationMinutesChange","_getState$process$err13","JUMP_BALL_STAGE_2_DURATION_MINS","autoFeedbackDelayChange","autoFeedbackDelay","AUTO_FEEDBACK_DELAY_MINS","autoFeedbackDelayEnabled","AUTO_FEEDBACK_DELAY_ENABLED","autoFeedbackDelayDisabled","AUTO_FEEDBACK_DELAY_DISABLED","_getState$process$err14","minBidIncrementChange","MIN_BID_INCREMENT_CHANGED","minBidIncrementEnabled","MIN_BID_INCREMENT_ENABLED","minBidIncrementDisabled","MIN_BID_INCREMENT_DISABLED","_getState$process$err15","cutOffReminderChange","_getState$process$err11","CUT_OFF_REMINDER_MINS","topXStage1EndManual","TOP_X_STAGE_1_END_MANUAL","topXStage1EndAuto","TOP_X_STAGE_1_END_AUTO","topXStage1EndAutomaticMinutesChange","_getState$process$err16","TOP_X_STAGE_1_END_AUTO_MINS","topXStage2ParticipantsChange","TOP_X_STAGE_2_PARTICIPANTS_CHANGE","topXStage2DurationUnspecified","TOP_X_STAGE_2_DURATION_UNSPECIFIED","topXStage2DurationPreset","TOP_X_STAGE_2_DURATION_PRESET","topXStage2DurationMinutesChange","_getState$process$err17","TOP_X_STAGE_2_DURATION_MINS","bestFootForwardDurationMinutesChange","_getState$process$err18","BEST_FOOT_FORWARD_DURATION_MINS","setAllToAllProtocol","SET_ALL_TO_ALL_PROTOCOL","_getState$process","timeZones","_getBwicAllowedTimeRa","getBwicAllowedTimeRange","fromTime","toTime","arrayUtils","arrayFromRange","allowed","hour","disabledHours","selectedTimeZone","t","frameEndHour","isBidsDueMinutesDisabled","shouldDisableMinutes","isGoodUntilMinutesDisabled","SET_DISABLED_TIME","utcOffsetMinutes","timeZoneId","est","abbreviation","_constants$bwicAllowe","from","_getState$process$err2","bidsDueUtc","goodUntilUtc","appConfig","enableAnyTimeNewBwic","_getBwicAllowedTimeRa2","bwicTimeInvalidRange","timeFormat3","now","bwicTimeShouldNotBeInPast","template","bidsDueTimestamp","goodUntilTimestamp","timeFormat","bwicDuration","validateNumber","minBidIncrementRange","validateMinBidIncrementTemplate","autoFeedbackDelayRange","Math","validateAutoFeedbackDelay","processRange","range","lessThanErrorMessage","greaterThenErrorMessage","getBestFootForwardCutOffReminderRange","stageDuration","stageDurationMinutes","minBwicDuration","cutOffReminderRange","differenceBetweenStageAndCutOffReminder","getRangeWithStage1Deadline","stage1DeadlineMinutes","automaticStage1Deadline","liveBidding","validateCutOffReminder","bwicDurationMinutes","stage1Max","openBiddingMinStage2Duration","openBiddingMinStage1Duration","setMoreThanTotalDuration","openBiddingMaxStage2Duration","openBiddingMinBidIncrement","openBiddingMaxBidIncrement","validateLive","_template$jumpBall","stage1EndAutoRange","stage2DurationRange","stagesDuration","validateJumpBall","_template$topX","validateTopX","_template$bff","bestFootForward","stage1DeadlineRange","validateBestFootForward","validateTemplate","isDateValid","isTemplateValid","String","invalidRange","ADD_TEMPLATES","cutOffReminderRangeDefaultMinutes","autoFeedbackDelayDefaultMinutes","levelSpecificationType","LevelSpecificationType","openBiddingImproverCount","OpenBiddingImproverCount","top3","openBiddingDefaultStage1Deadline","defaultMinBidIncrement","JumpBallStage2Participants","stage2DurationDefaultMinutes","stage1EndAutoDefaultMinutes","TopXStage2Participants","stage1DeadlineDefaultMinutes","SELECT_TEMPLATE","_getState$process$tem","original","dirty","SET_TEMPLATE_DIRTY_STATE","cloSystemInfrastructureActions","responseData","cloSystemInfrastructure","fetchMarketingEventsRequest","fetchMarketingEventsResponse","events","fetchNewsRequest","page","tab","fetchNewsResponse","news","fetchNewsDetails","newsReferenceName","queryParams","fetchNewsDetailsResponse","fetchTotalNewsCountRequest","fetchTotalNewsCountResponse","totalNews","deleteSingleNews","resetNewsList","newsActions","link","downloadDocument","documentReferenceName","fileName","downloadDocuments","newsItem","headers","rowsLimit","gridRowsLimit","minDrafts","autoFocus","GRID_SET_MOUNTED_KEY","getTime","setColumns","updateRowsLimit","appendDrafts","setInitialPosition","showHelp","addColumn","positionIndex","ADD_COLUMN","removeColumn","REMOVE_COLUMN","moveColumnData","fromColumnName","toColumnName","MOVE_COLUMN_DATA","clearCell","setFocus","columnName","hideHelp","POSITION_CHANGE","cancelEdit","applyEdit","targetColumnName","_getState$grid13","orderByUpdate","isMoney","nonDrafts","drafts","allSorted","sort","compareNumbers","columns","comparePxTalks","color","compareColors","compareRatings","compareStrings","getSortedDataItems","valueA","valueB","compareUtils","normalizedLevel","MAX_VALUE","numberA","formatColor","MIN_VALUE","Ratings","ordering","_getState$grid14","DELETE_ROW","appendDataItems","createDraftDataItem","unique","deleteDataItemsWithErrors","DELETE_INVALID","deleteFlaggedDataItems","DELETE_FLAGGED","_getState$grid$dataIt","currentItems","dataItemsLimitError","ADD_DATA_ITEMS","replaceDataItem","addFileToDataItem","processKeyCode","keyCode","ctrl","meta","shift","deleteDisabled","_getState$grid16","selection","inputBlocked","isMovement","moveUpOrDown","isEnteringValue","readonly","cancelOnLeave","moveLeft","lastSelectedIndex","nextIndex","setSelection","indexOf","removeRight","SAME_POSITION","selectTop","moveUp","moveRight","limit","selectBottom","moveDown","DELETE_SELECTED","selectRow","_store$getState$grid","store","selectedIndex","removeAt","Set","indexes","removeMany","progress","filename","DATA_ITEMS_UPLOAD_STATE","floor","blockInput","isDataProcessing","DATA_PROCESSING","parseValue","addRow","moveRowUp","newIndex","CHANGE_ROW_ORDER","moveRowDown","CLEAR","updateDataItemDraftStatus","ROWS_LIMIT","SETUP_HEADERS","REPLACE_DATA_ITEM","gridDataItemsLimitExceeded","gridDataItemsLimitExceededTitle","_getState$grid2","INSERT_DATA_ITEMS","APPEND_DATA_ITEMS","_getState$grid3","header","canEdit","requestCancelationController","abort","editingValue","initialValue","_getState$grid4","editingError","pattern","normalized","test","changePxTalkActions","changeColorActions","readonlyCallback","_getState$grid5","moveNextRow","_getState$grid6","_getState$grid7","_getState$grid8","_getState$grid9","headerIndex","_getState$grid10","_h$initialValue","Array","isArray","UPDATE_DRAFT","_dataItem$errors","_getState$grid11","editingHeader","APPLY_EDIT","hasColumnDependencies","updateDependencyColumnsCallback","headerError","_getState$grid12","parse","editingDataItem","_defineProperty","_getState$grid15","validatePropertyValue","EDITING","_step","_iterator","_createForOfIteratorHelper","n","done","err","f","_getState$grid17","SET_SELECTION","_getState$grid18","draftCountToAdd","nonDraftCount","calculateMinDraftToAdd","calculateFixedGridDraftToAdd","fill","_getState$grid19","isDuplicated","validateDataItem","validatedHeaders","validateHeader","validateHeaders","titleForError","required","_ref$required","isNullOrEmpty","number","selectSourceItemsCallback","contactsSave","lastIndexOf","isTickerValid","allowedValues","_a$key","validateRange","SHOW_HELP","HIDE_HELP","block","BLOCK_INPUT","ERROR_RESET","isRequestCancelationError","REQUEST_CANCELATION_ERROR","CRITICAL_ERROR","caption","errorJson","jsonUtils","tryParse","isModal","displayInModal","Boolean","tableActions","hoverChange","rowKey","hover","expandedChange","expanded","resetExpanded","sortByChange","tableKey","sortBy","sortDirection","sortingType","securityDetailsInitRequest","fetchAgencyRatings","securityDetailsInitSuccess","ratings","mappings","securityDetailsInitFailure","settlementAgentAgreementActions","pushDataReceived","setDealerExpanded","expandDealers","expandedAll","toggleExpandedAllDealers","setExpandAllDealers","setEditableContact","dealerName","editableContactUpdateDealer","editableContactSave","editableContactSetRequestStatus","deleteContact","contactInviteToJoin","distributionListInviteToJoin","headOfTradingInviteToJoin","contactInviteToJoinSetRequestStatus","resetEditableContact","filterActions","createFilterActions","BwicFilterType","Portfolio","portfolioActions","redirectWithFilterArguments","resetFiltersAndUnselectSavedFilter","latestTransactionActions","togglePortfolioExpanded","EXPANDED_CHANGE","_getState$portfolio","portfolio","expandedState","expandAll","getPortfolios","getExpandedState","expandAllChange","portfolioSelectionChange","selectAll","selectedState","securitiesSelectedState","apiUtils","normalize","PORTFOLIO_SELECTED_CHANGE","deletePortfolioConfirmation","portfolioService","_getState2","securityDetails","entities","portfolios","portfolioSecuritySelectionChange","portfolioSecurityId","currentSelectedState","portfolioSelectedState","checkSelectedState","showBwicDetails","selectedSecurity","currentBwicHistoryItem","SHOW_BWIC_DETAILS","resetRowSelection","newPortfolioDialog","newPortfolio","createPortfolio","editPortfolioUrl","exportAll","_getState3","filters","filterCriteria","identifiers","isinCusipsAndTickers","nonCallEndFromYear","nonCallEndFromDate","nonCallEndFrom","nonCallEndToYear","nonCallEndToDate","nonCallEndTo","reinvestmentEndFromYear","reinvestmentEndFromDate","reinvestmentEndFrom","reinvestmentEndToYear","reinvestmentEndToDate","reinvestmentEndTo","setPortfolioExportingStatus","exportPortfolios","createBwicConfirmed","flat","getSelectedSecurities","newBWIC","cloneDeep","groupSecurities","updatePortfoliosAlertStatus","list","dataToSend","_x$bwicAlert","_x$dealersInventoryAl","_x$cleansingNoticeAle","_x$issuanceMonitorAle","_x$outOfRiPeriodAlert","_x$outOfNcPeriodAlert","_x$rollerDeadlineAler","dealersInventoryAlert","cleansingNoticeAlert","issuanceMonitorAlert","outOfRiPeriodAlert","outOfNcPeriodAlert","rollerDeadlineAlert","bwicAlertChanges","inventoryAlertChanges","cleansingNoticeAlertChanges","issuanceMonitorAlertChanges","outOfRiPeriodAlertChanges","outOfNcPeriodAlertChanges","rollerDeadlineAlertChanges","PORTFOLIO_UPDATE_ALERT_STATUS_REQUEST","updateBwicAlertStatusRequest","UPDATE_INVENTORY_ALERT_STATUS_REQUEST","updateInventoryAlertStatusRequest","UPDATE_CLEANSING_NOTICE_ALERT_STATUS_REQUEST","updateCleansingNoticeAlertStatusRequest","UPDATE_ISSUANCE_MONITOR_ALERT_STATUS_REQUEST","updateIssuanceMonitorAlertStatusRequest","UPDATE_OUT_OF_RI_PERIOD_ALERT_STATUS_REQUEST","updateOutOfRiAlertStatusRequest","UPDATE_OUT_OF_NC_PERIOD_ALERT_STATUS_REQUEST","updateOutOfNcAlertStatusRequest","UPDATE_ROLLER_DEADLINE_ALERT_STATUS_REQUEST","updateRollerDeadlineAlertStatusRequest","updatePortfoliosAlert","PORTFOLIO_UPDATE_ALERT_STATUS_SUCCESS","updateBwicAlertStatusSuccess","UPDATE_INVENTORY_ALERT_STATUS_SUCCESS","updateInventoryAlertStatusSuccess","UPDATE_CLEANSING_NOTICE_ALERT_STATUS_SUCCESS","updateCleansingNoticeAlertStatusSuccess","UPDATE_ISSUANCE_MONITOR_ALERT_STATUS_SUCCESS","updateIssuanceMonitorAlertStatusSuccess","UPDATE_OUT_OF_RI_PERIOD_ALERT_STATUS_SUCCESS","updateOutOfRiAlertStatusSuccess","UPDATE_OUT_OF_NC_PERIOD_ALERT_STATUS_SUCCESS","updateOutOfNcAlertStatusSuccess","UPDATE_ROLLER_DEADLINE_ALERT_STATUS_SUCCESS","updateRollerDeadlineAlertStatusSuccess","PORTFOLIO_UPDATE_ALERT_STATUS_FAILURE","updateBwicAlertStatusFailure","UPDATE_INVENTORY_ALERT_STATUS_FAILURE","updateInventoryAlertStatusFailure","UPDATE_CLEANSING_NOTICE_ALERT_STATUS_FAILURE","updateCleansingNoticeAlertStatusFailure","UPDATE_ISSUANCE_MONITOR_ALERT_STATUS_FAILURE","updateIssuanceMonitorAlertStatusFailure","UPDATE_OUT_OF_RI_PERIOD_ALERT_STATUS_FAILURE","updateOutOfRiAlertStatusFailure","UPDATE_OUT_OF_NC_PERIOD_ALERT_STATUS_FAILURE","updateOutOfNcAlertStatusFailure","UPDATE_ROLLER_DEADLINE_ALERT_STATUS_FAILURE","updateRollerDeadlineAlertStatusFailure","applySearchInput","advancedFilterBlocked","ADVANCED_FILTER_BLOCKED","serializers","multipleCurrencies","dealsLegalNames","collateralTypes","collateralManagers","esg","euCompliance","staticDeals","noop","trustees","amr","outOfNC","outOfRI","queryString","queryStringSerializer","serialize","_filter$currency","_filter$ratings","_filter$dealName","_filter$collateralTyp","_filter$managers","_filter$esg","_filter$euCompliance","_filter$staticDeal","_nonCallEndYears$from","_nonCallEndYears$to","_reinvestmentEndYears","_reinvestmentEndYears2","_filter$trustees","_filter$amr","_filter$outOfNC","_filter$outOfRI","nonCallEndYears","getYearsRange","nonCallEnd","reinvestmentEndYears","reinvestmentEnd","nonCallEndDateRange","selectedDateOptions","reinvestmentEndDateRange","defaultDateRange","maturityRange","maturity","selectedOption","convertToApiCriteria","options","vintageRange","vintage","closingRange","closing","dealName","collateralType","staticDeal","maturityFrom","maturityTo","vintageFrom","vintageTo","closingFrom","closingTo","DELETE_PORTFOLIO_CONFIRMATION","NEW_PORTFOLIO_DIALOG","PORTFOLIO_SET_IS_REQUESTING_EXPORT","grouped","duplicate","g","EXPAND_ALL","pageConfigActions","getConfigs","getDefaultConfig","saveColumns","resetForType","_len","types","_key","brokerDealerUserListActions","fetchCompanyDetailsRequest","fetchCompanyDetailsResponse","setCompanyDetails","totalRecordNumber","summary","resetSummary","loadNextPage","sortField","requestInventoryExistFlag","inventoryExistFlag","exist","loadSellerInventory","loadSummary","inventoryActions","exportInventoryRequest","exportInventoryResponse","pushInventory","inventories","inventoryStatusChange","filterType","selectFilterFromConfig","selectedFilter","filterSelectChange","option","filterName","filterSelectSelectAll","filterSelectClearAll","makeFilterVisible","updateFilterState","resetFilterState","resetFiltersVisibility","filterVisibilityChange","storeFilterData","changeRangeFilter","filterRadioChange","filterRadioClearOption","filterRangeClearSelectedOptions","setFilterByReferenceName","selectedFilterReferenceName","filterDateClearSelectedOptions","filterDateSelectOption","filterDateTimeOptionSelected","filterDateSelectCustomRange","filterDateTimeSelectCustomRange","filterDateSelectYearsRange","setRedirectFilters","redirectWithNoFilter","filterDateQueryStringDeserialized","deserializeResult","resetSelectedFilter","pushUpdateList","contacts","brokerDealerContactListActions","setContactInvitationSent","resetPanelState","blotterTradeAllocationTemplateActions","templateId","activate","lock","saveModel","updates","activated","deactivated","settlementAccountId","assetManager","percent","TradeAllocationType","PercentOfTrade","CreditRatings","tradeAllocationTemplateService","saveTemplate","tradeAllocationTemplateActions","setTemplateActive","activeChange","LocationStateBuilder","resetPanel","PanelType","Templates","t1","createSearchTransactionActions","pipelineType","resetLookupCache","searchItemsRequesting","window","requestSearchLookup","isLoadMore","_amrPipelineSelector","_amrPipelineSelector$","dealsOffset","classesOffset","dealsWithClasses","amrPipelineSelector","searchTransactions","dealsService","getDealsList","getDealsClassesList","isDeal","SEARCH_ITEM_ADD","isSearching","SEARCH_ITEMS_REQUESTING","SEARCH_RESET_LOOKUP_CACHE","label","classNames","SEARCH_MOVE_BACK","SEARCH_MOVE_FORWARD","SEARCH_REMOVE_CURRENT_ITEM","SEARCH_ITEM_REMOVE","SEARCH_RESET","loadDealsLookup","_amrPipelineSelector2","SEARCH_ADD_DEALS","loadClassesLookup","_amrPipelineSelector3","SEARCH_ADD_CLASSES","toggleCompanyVisible","identifier","setLastSelectedCompanyIdentifier","toggleAllFavoriteCompaniesVisible","toggleAllPlatformVisible","toggleAllOffPlatformVisible","toggleAllSettlmentsClientsVisible","toggleAllFavoriteVisibleFlagOnly","toggleAllPlatformVisibleFlagOnly","toggleAllSettlmentsClientsFlagOnly","toggleAllOffPlatformVisibleFlagOnly","setDefaultVisibility","companiesToHide","setDisabledCompanies","disabledCompanies","setBidOnlyFlag","bidOnlyFlag","stage2ParticipantsFlagChange","isStage2participantsOnly","showAllEnabled","showBwicParticipantsOnly","signupActions","submit","submitSuccess","submitError","loadBwicDates","dateTime","dueTime","isInitializing","initializing","canCreateBwicOnUSFederalHolidays","utc","bidDueDefaultTimestamp","goodUntilDefaultTimestamp","formatTimeStringWithoutTimeZone","securitiesWithoutPxTalkAndColor","lookup","compareCallback","_security$isin","_security$cusip","fetchCallback","_fetchCallback","abortSignal","searchSecuritiesGlobal","onLookupItemSelected","insertSelectedSecurity","_fetchCallback2","toString","insertSecurityFromQueryParams","mergeWithPrevious","setSecurityNew","_getState$grid$positi","savePxTalks","changePxTalk","saveColor","_getState$changeColor","changeColor","validateTradeLimits","VALIDATE_TRADE_LIMITS_REQUEST","VALIDATE_TRADE_LIMITS_SUCCESS","VALIDATE_TRADE_LIMITS_ERROR","get","isins","cusips","tickersQueryParams","isinsQueryParams","cusipsQueryParams","securityFromQueryParams","join","INITIALIZING","SECURITIES_SET_FLAGGED_MODAL","formsActions","activateValidation","DISPLAY_VALIDATION_ERRORS","newBWICActions","EDIT_BWIC","changeStep","steps","nextStep","activeStep","_process","selectPlatformDealersPopupVisible","stepKeys","activeStepIndex","nextStepKey","isRequestSuccess","validateTradeLimitsRequestState","newBwicDealers","newBwicDealersSelector","previousStep","previousStepKey","isRequesting","_getState4","setTime","earlyTrades","processTemplateId","jumpBallAutomaticStage1Deadline","jumpBallImproverCount","jumpBallImprovementRound","topXAutomaticStage1Deadline","topXImproverCount","topXImprovementRound","BffStage1Deadline","_process$isAllToAll","getIsAlltoAllProtocol","submitActions","submitState","newBWICCreated","DEALERS_SET_SEARCH_TERM","updateFilterOption","DEALERS_UPDATE_FILTER_OPTION","DEALERS_CLEAR_FILTER_OPTIONS","documentsActions","RESET_WIZARD","step","CHANGE_STEP","securityIdList","uploadDocumentsActions","SUBMIT_STATE","userCompany","getCurrentUserCompany","STORE_USER_COMPANY","editPortfolioActions","portfolioReferenceName","loading","getPortfolio","PORTFOLIO_LOADED","createNewPortfolio","portfolioName","portfolioSaveSecuritiesMessage","portfolioSaveSecuritiesTitle","PORTFOLIO_UPDATE_REQUEST","PORTFOLIO_UPDATE_SUCCESS","PORTFOLIO_SAVED","activeInventorySecurityActions","PORTFOLIO_UPDATE_FAILURE","renamePortfolioDialog","RENAME_DIALOG_VISIBLE","dialog","updatePortfolioSecurities","updatedPortfolioName","editPortfolio","renamePortfolio","savePositions","deletePortfolioDialog","DELETE_PORTFOLIO_DIALOG","PORTFOLIO_DELETED","exportPortfolio","setRequestingExportState","isLoading","EDIT_PORTFOLIO_LOADING","PORTFOLIO_SET_REQUESTING_EXPORT_STATE","manageParsedBwicsActions","filterQueryString","resetFilters","loadFilterFromQueryString","hardReset","lastAppliedSearchTerm","refreshLastUpdatedDate","REFRESH_LAST_UPDATED_DATE","filterDateChange","filterCustomDateChange","filterStatusChange","filterPublishedChange","setBwicCollapsedState","collapsed","SET_BWIC_COLLAPSED_STATE","_getState$manageParse","bwics","collapseAll","collapsedCount","setCollapseAll","securitySelectionChange","POSITION_SELECTION_CHANGE","publishDialog","unpublishDialog","deleteBwicDialog","onReview","updateBwicList","unpublish","editPxTalk","savePxTalk","_state$changePxTalk","deletedPriceTalks","_state$manageParsedBw2","priceTalkLock","pxTalkService","newPriceTalkLock","UPDATE_PXTALK","editColor","_state$changeColor","_state$manageParsedBw3","colorService","UPDATE_COLOR","deleteColor","_getState$manageParse2","showNewBwic","j","editActions","newParsedBWIC","deleteBwic","changeAmrFlag","setRequestStatusIsAMR","MANAGE_PARSED_BWICS_SET_IS_AMR_FLAG","_getState$manageParse3","searchInProgress","isNextPageRequesting","nextPageRequesting","statusKeys","published","deserialize","_getDateRangeOption","getDateRangeOption","customRange","bwicDateFilterOptions","custom","shouldSearch","RESET_FILTERS","LOADING","MANAGE_PARSED_BWICS_RESET_PAGING","SEARCH_PROGRESS","searchCriteria","lastAppliedFilter","theFilter","getPublishedOption","stateOptions","getSearchCriteria","_state$manageParsedBw","currentPageNumber","pageSize","nextPageNumber","SEARCH_COMPLETE","FILTER_DATE_CHANGE","customDateRange","FILTER_CUSTOM_DATE_CHANGE","FILTER_STATUS_SELECTION_CHANGE","FILTER_PUBLISHED_STATE_SELECTION_CHANGE","SET_COLLAPSE_ALL","PUBLISH_DIALOG","UNPUBLISH_DIALOG","UPDATE_BWIC_LIST","_getState$entities$pr","preloadedPxTalks","priceTalks","EDIT_PXTALK","EDIT_COLOR","DELETE_BWIC_DIALOG","MANAGE_PARSED_BWICS_NEXT_PAGE_REQUESTING","MANAGE_PARSED_BWICS_SET_REQUEST_STATUS_IS_AMR","STORE_PXTALKS","resetCompanies","pxTalk","ADD_PXTALK","talkChange","TALK_CHANGE","change","pxTalkUtils","normalizeDecimalPlaces","normalizeTalk","levelTypeChange","levelType","LEVEL_TYPE_CHANGE","deletePxTalk","DELETE_PX_TALK","waitNormalizing","normalizedCallback","wait","isNormalizing","setPxTalkError","match","normalizing","updateValues","parsedLevel","NORMALIZED_LEVEL_CHANGE","validatePxTalk","normalizedLevelChange","responseMessage","VALIDATION_RESULT","TALK_ERROR","NORMALIZING","dm","SET_COLOR","levelSpecifications","cover","pxTalkLevelTypes","price","traded","colorType","colorTypes","setDm","CHANGE_COLOR_SET_DM","tradedChange","TRADED_CHANGE","setColorError","levelSpecificationChange","levelSpecification","LEVEL_SPECIFICATION_CHANGE","levelChange","LEVEL_CHANGE","normalizeLevel","setNormalizedLevel","updateColor","validateLevel","setLevelError","SET_LEVEL_ERROR","colorError","tradedBest","dntCover","invalidColor","validateColor","SET_COLOR_ERROR","levelError","contactsSaveActions","companyDomainsPromise","companyDomains","allContacts","getBrokerDealers","getCompanyDomains","loadCompanies","loadCompanyDomains","setCompanyNameByEmailDomain","contactsService","getContacts","storeInitialContacts","setEditMode","selectCompany","resetCompaniesLookup","_getState$contactsSav","companiesLookup","COMPANIES_LOOKUP","uploadContacts","clipboardText","parseContactsStirng","deletedContacts","conflicts","findConflicts","switchView","contactsSaveViews","saveResolved","deleteDuplicate","DELETE_DUPLICATE_CONTACT","ENSURE_CONFLICTS_RESOLVED","backToContactsEdit","RESET_CONFLICTS","CONTACT_SAVE_LOADING","INITIAL_CONTACTS","EDIT_MODE","LOAD_COMPANIES","LOAD_COMPANY_DOMAINS","_getState$contactsSav2","contactIndexesToSkip","duplicates","isDeleted","contactIndex","contactsToSave","bulkSave","storeConflicts","view","SWITCH_VIEW","currentContacts","contactsIndexed","nameDuplicates","emailDuplicates","nameConflicts","emailConflicts","findNameDuplicates","findEmailDuplicates","has","nameUtils","getFullName","nameEquals","otherFullName","currentDuplicates","localDuplicates","cc","Map","conflictType","contactConflictTypes","duplicateName","isResolved","duplicateEmail","STORE_CONFLICTS","exstingContacts","DELETE_CONTACT","gridItemIndex","domainName","substring","domains","domainNames","portfolioDocumentsActions","getSecurityIdList","otherSellerBiddingActions","OTHER_SELLER_BIDDING_STORE_SECURITIES","OTHER_SELLER_BIDDING_RESET","dealersActions","requestToBid","settlementAgentId","setRequestStatus","settlementAgentAgreementService","sendRequest","hideBidRequestConfirmPopup","DEALERS_RESET_STATE","showBidRequestConfirmPopup","DEALERS_SHOW_CONFIRM_BID_REQUEST_POPUP","DEALERS_REQUEST_TO_BID_SET_REQUEST_STATUS","DEALERS_HIDE_CONFIRM_BID_REQUEST_POPUP","pushInvitationActions","brokerDealerListActions","updateDealerDistributionListInvitationSent","updateDealerHeadOfTradingInvitationSent","cancelColorDistribution","isCompleteInProgress","COLOR_DISTRIBUTION_RESET","setCompleteInProgress","colorDistributionModel","_s$bids","colorDistributionType","TradeStatus","pending","affirmed","forDNTType","colorDistributionTypes","forTradedType","tradedTypeChange","tradedType","COLOR_DISTRIBUTION_TRADED_TYPE_CHANGE","dntTypeChange","dntType","COLOR_DISTRIBUTION_DNT_TYPE_CHANGE","positionColorTypeChange","COLOR_DISTRIBUTION_POSITION_COLOR_TYPE_CHANGE","COLOR_DISTRIBUTION_SET_BWIC_COLOR_DISTRIBUTION","inProgress","COLOR_DISTRIBUTION_COMPLETE_IN_PROGRESS","onBoardingTooltipNav","onBoardingTooltipClose","onBoardingTooltipGotIt","doNotShowSupportPopup","onBoardingTooltipSetVisible","onBoardingTooltipSetCountRequest","onBoardingTooltipSetCountSuccess","onBoardingTooltipSetCountFailure","onBoardingTooltipSetVisibleSupportPopup","onBoardingReset","inviteToJoinActions","setVisiblePopup","inviteToJoinActionTypes","INVITE_TO_JOIN_TOGGLE_VISIBLE_POPUP","sendInviteToJoin","INVITE_TO_JOIN_INVITE_ALL_REQUEST","inviteAllToJoin","INVITE_TO_JOIN_INVITE_ALL_SUCCESS","INVITE_TO_JOIN_INVITE_ALL_FAILURE","loadHistory","historyState","bwicHistory","loadHistoryState","getBwicHistory","toggleHistory","markHistoryMessagesAsRead","messages","MARK_HISTORY_MESSAGES_AS_READ","console","log","historyActions","STORE_BWIC_HISTORY","LOAD_HISTORY_REQUEST_STATE","SHOW_BWIC_HISTORY","PX_TALK_LIST_VISIBLE","pxTalkList","initRequestStatus","bidAsDealerRequestExist","dateFilterChange","customDateFilterChange","bwicStatusFilterChange","currencyFilterChange","ratingFilterChange","typeFilterChange","sizeFilterChange","filterApply","isApply","isSearchTermChange","filterReset","dataItemsLoadingState","storeSearchResult","storeCurrencySelectedStatus","isSelected","submitBidRequest","updateBidRequests","updateRequestStateSubmitBid","saveSearchTermItems","searchItems","pagingReset","storeAppliedFilter","confirmBidRequestPopup","exportBidRequestsRequest","exportBidRequestsSuccess","exportBidRequestsFailure","updateEditBidRequestState","editBidRequestState","sellerBuysideActions","valueRaw","axedChange","finalChange","commissionChange","resetPositionEditState","submittedBidsFilterChange","submittedBidsFilterValue","liveBiddingStage2TimerExpired","sortChanged","sortFieldChanged","advancedFiltersBlocked","imDetailsDealsActions","loadDealDetails","_getState$imDetailsDe","loadedDealReferenceNames","currentDeal","isMedia","actualAuctionsPromise","amrDocumentsPromise","dealDocumentsPromise","loadedDeals","amrDocuments","dealDocuments","actualAuctions","imDetailsDeals","dealDetailsRequesting","getLatestDealAuctions","getAmrDocuments","getDealDocuments","getDeal","storeDeals","storeDocuments","storeActualAmrClasses","loadTrancheDetails","selectedTranche","auctions","trancheDetailsRequesting","getClassAuctions","storeAmrClasses","documentsSearchTermChange","filteredDocuments","documents","getDealDocLastDate","dateText","storeDocumentsSearchResults","resetDocumentsSearch","DEALS_RESET_DOCUMENTS_SEARCH","DEALS_STORE_DEALS","DEALS_STORE_DOCUMENTS_SEARCH_RESULTS","amrClasses","DEALS_STORE_ACTUAL_AMR_CLASSES","DEALS_STORE_AMR_CLASSES","DEALS_STORE_DOCUMENTS","DEAL_DETAILS_REQUESTING_STATE","DEALS_TRANCHE_DETAILS_REQUESTUNG_STATE","loadingFlag","paymentCardSavingFlag","storePaymentCards","paymentCards","sortPaymentCards","primaryCardChange","paymentCard","moveOnTop","primaryCardChangeCompleted","deletePaymentCard","deletePaymentCardCompleted","addPaymentCardPopupVisible","addPaymentCard","isLoadingVisible","setAsPrimary","storeBillingContact","billingContact","storeCountries","storeStates","storeCities","billingContactEditFlag","isBillingContactEdit","billingContactSavingFlag","isBillingContactSaving","saveBillingContact","citiesLoadingFlag","isCitiesLoading","billingContactSaved","subscriptionPushReceived","subscription","upgradeSubscription","targetSubscriptionType","showUpgradeSubscriptionWizard","UpgradeSubscriptionStep","BillingContact","subscriptionsActions","hideUpgradeSubscriptionWizard","setUpgradeSubscriptionStep","contactSalesActions","requestSendingFlag","dealersStatsActions","checkStatsExist","statsExist","setRequestStateFetchDealerStatsExist","getDealersStatsService","existStatus","STORE_STATS_EXIST_STATUS","fetchStats","_fetchStats","setFetchStatsRequestStatus","fetch","stats","STORE_STATS","exportDealersStats","exportStats","export","setExportDealerStatsRequestStatus","isSeller","dashboardService","fetchDealersStatsExists","fetchSellersStatsExists","fetchDealersStats","fetchClientsStats","exportSellerStats","FETCH_STATS_EXIST_REQUEST_STATUS","FETCH_STATS_REQUEST_STATUS","EXPORT_STATS_REQUEST_STATUS","settlementAccounts","settlementAccountActions","account","deleteAccount","accountId","getUserConfig","callback","getUserConfigResult","getUserFilterConfig","configType","getUserFilterConfigResult","updateUserConfig","imUserConfig","config","JSON","stringify","updateUserConfigResult","getDefaultUserColumnsConfig","getDefaultUserColumnsConfigResult","columnConfig","selectUserFilter","userFilter","createUserFilter","createUserFilterResult","userConfigFilter","updateUserFilter","updateUserFilterResult","setUserFilterParams","params","setUserFilterParamsResult","deleteUserFilter","deleteUserFilterResult","updateUserFilterEmailAlerts","singleUpdateAlertOption","newTransactionAlertOption","statisticAlertOption","filterEmailAlerts","imUserConfigActions","saveTransactionAlerts","configs","saveCompanyAlerts","blotterInit","blotterReset","blotterFiltersReset","blotterSetFilterDefaults","blotterToggleConfirmed","blotterTogglePending","blotterToggleRejected","blotterToggleAllocationStatusUnsettled","blotterToggleAllocationStatusPendingSettlement","blotterToggleAllocationStatusPendingAllocation","blotterToggleAllocationStatusPendingProceeds","blotterToggleAllocationStatusSettled","blotterSetCurrency","blotterResetCurrency","blotterSelectAllCurrencies","blotterDateFilterChange","blotterCustomDateFilterChange","blotterSettlementDateFilterChange","blotterSettlementCustomDateFilterChange","blotterToggleFilterBuy","blotterToggleFilterSell","blotterToggleFilterClient","blotterToggleFilterDesc","blotterSearchRequest","blotterSearchRequestNextPage","blotterSearchSuccess","blotterSearchFailure","blotterOrderByChange","blotterHasTradesRequest","blotterHasTradesSuccess","hasTrades","blotterHasTradesFailure","blotterExportRequest","blotterExportSuccess","blotterExportFailure","blotterToggleVcon","isBuyTrade","blotterSetVconRequest","blotterSetVconSuccess","blotterSetVconFailure","blotterToggleBooked","blotterSetBookedRequest","blotterSetBookedSuccess","blotterSetBookedFailure","resetPopupState","allocationLock","isBuyerAllocationManual","isSellerAllocationManual","blotterTradeAllocationActions","recalculateAmountOfTrade","blotter","_amount","amount","round","amountOfTrade","recalculatePercentOfTrade","_percent","percentOfTrade","side","proceed","settlementService","saveTradeAllocation","tradeAllocationActions","resetPopup","dashboardInit","dashboardInitSuccess","dashboardInitFailure","dashboardFetchBwics","dashboardFetchPortfolioExist","dashboardInitPortfolioSecurities","dashboardFetchPortfolioSecurities","dashboardFetchColorRates","dashboardFetchDntRates","dashboardFetchSameDayPeriods","dashboardInitTradingStats","dashboardFetchTradingStats","dashboardInitPriceLevel","dashboardFetchPriceLevel","dashboardFetchBidRequestsAsSeller","dashboardFetchDtcSellingBuying","dashboardFetchAAAPriceLevel","dashboardFetchMostTradedTickers","dashboardFetchBiggestMovers","dashboardFetchDtcIgHy","dashboardFetchPxTalkDeviation","dashboardFetchBwicPercentOfTrace","dashboardFetchKWatchNews","dashboardFetchTopIssuers","ccy","dashboardFetchTopIssuersResult","dashboardExportTopIssuers","sortingParams","dashboardSetRequestStatusExportTopIssuers","dashboardFetchTopArrangers","collat","dashboardFetchTopArrangersResult","dashboardExportTopArrangers","dashboardSetRequestStatusExportTopArrangers","dashboardFetchTopTrustees","dashboardFetchTopTrusteesResult","dashboardExportTopTrustees","dashboardSetRequestStatusExportTopTrustees","dashboardFetchTopStaticDeals","dashboardFetchTopStaticDealsResult","dashboardExportTopStaticDeals","orderByTransaction","dashboardSetRequestStatusExportTopStaticDeals","dashboardFetchTopDebutDeals","dashboardFetchTopDebutDealsResult","dashboardExportTopDebutDeals","dashboardSetRequestStatusExportTopDebutDeals","dashboardFetchKIndicator","dashboardSetFilter","dashboardSetNotAppliedFilter","dashboardClearFilter","dashboardSetFilterActive","dashboardResetNotAppliedFilter","dashboardReset","dashboardOnSelectedSecurity","dashboardSetSearchTermItem","dashboardFetchSecurityHistoryRequest","dashboardFetchSecurityHistorySuccess","securityHistory","dashboardFetchSecurityHistoryFailure","dashboardExportBwiStatistic","dashboardExportTradingStats","currencies","dashboardSetRequestStatusExportTradingStats","dashboardPushUpdateTradingStats","tradingStats","dashboardPushUpdatePriceLevel","priceLevel","dashboardPushBiggestMovers","biggestMovers","dashboardPushUpdateMostTradedTickers","mostTradedTickers","dashboardInitIssueTransactionVolume","dashboardIssueTransactionVolumeRequest","dashboardIssueTransactionVolumeResult","dashboardUsBslEsgNewIssueRequest","grouping","dashboardUsBslEsgNewIssueResult","esgLanguageDeals","usBslNewIssue","dashboardGetPortfolioInventorySecuritiesRequest","pageNumber","itemsOnPage","sortOrder","dashboardGetPortfolioInventorySecuritiesSuccess","dashboardGetPortfolioInventorySecuritiesFailure","dashboardSetPortfolioInventoryCurrentPage","currentPage","dashboardPortfolioInventorySortParamsChanged","dashboardPortfolioInventoryReset","dashboardUsBslEuCompliantDealsRequest","dashboardUsBslEuCompliantDealsResult","usBslEuCompliantDeals","usBslDeals","dashboardShortLongDatedDealsRequest","managerReferenceName","dashboardShortLongDatedDealsResult","dashboardIssuanceSpreadRequest","dashboardIssuanceSpreadResult","dashboarNewIssuedWeeklySpreadsRequest","dashboardNewIssueWeeklySpreadsResult","collateralManagersActions","requestCollateralManagers","responseCollateralManagers","addPriceTalk","resetFailed","transactions"],"sourceRoot":""}