{"version":3,"file":"static/js/main-e8a0cf91.0ef0b09f.js","mappings":"sNAMUA,GAA+BC,GAAAC,EAAAA,EAAAA,KAAAC,KASxBC,GATjB,SAAUJ,EAAgCK,GAA4E,IAAAC,EAAA,OAAAJ,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAE7E,OAF6EF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEvEC,EAAAA,EAAAA,IAAKC,EAAAA,EAAiBC,kBAAmBR,EAAOS,QAAQC,WAAW,KAAD,EACzG,OADMT,EAAwBE,EAAAQ,KAAAR,EAAAE,KAAA,GACxBO,EAAAA,EAAAA,IAAIC,EAAAA,EAAsBC,oBAAoBC,QAAQ,CAAEL,UAAWV,EAAOS,QAAQC,UAAWT,QAAAA,KAAW,OAAAE,EAAAE,KAAA,gBAE9G,OAF8GF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAExGO,EAAAA,EAAAA,IAAIC,EAAAA,EAAsBC,oBAAoBG,QAAQ,CAAEP,UAAWV,EAAOS,QAAQC,UAAWQ,MAAKf,EAAAa,MAAO,yBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIhH,SAAUrB,IAAmB,OAAAF,EAAAA,EAAAA,KAAAK,MAAC,SAADmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAChC,OADgCgB,EAAAhB,KAAA,GAC1BiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQV,EAAAA,EAAsBC,oBAAoBU,SAAU7B,GAAiC,KAAD,mBAAA0B,EAAAF,OAAA,GAAAvB,EAAA,C,iQCgBtG6B,GAAkB7B,GAAAC,EAAAA,EAAAA,KAAAC,KAkBlB4B,GAASC,GAAA9B,EAAAA,EAAAA,KAAAC,KAkCT8B,GAAiBC,GAAAhC,EAAAA,EAAAA,KAAAC,KAkBjBgC,GAAeC,GAAAlC,EAAAA,EAAAA,KAAAC,KAkBfkC,GAAmBC,GAAApC,EAAAA,EAAAA,KAAAC,KAiBnBoC,GAAuBC,GAAAtC,EAAAA,EAAAA,KAAAC,KAmDvBsC,GAAeC,GAAAxC,EAAAA,EAAAA,KAAAC,KAyDRwC,GApOjB,SAASC,EAAkBC,EAAoBC,GAC3C,IAAMC,EAAWC,IAAAA,IAAWH,GACtBI,EAAcD,IAAAA,MAEpB,OAAID,EAASG,OAAOD,EAAa,OACtB,IAAIE,KAGXL,GAAuBE,IAAAA,IAAWF,GAAqBI,OAAOH,EAAU,OACjED,EAGJE,IAAOH,GAAcO,MAAMC,MAAM,OAAOC,QACnD,CAEA,SAAUxB,IAAkB,IAAAyB,EAAAC,EAAA,OAAAtD,EAAAA,EAAAA,KAAAK,MAAC,SAADC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACG,OADHF,EAAAE,KAAA,GACS+C,EAAAA,EAAAA,KAC7B,SAACC,GAAW,OAAKA,EAAEC,SAASJ,UAAU,IACxC,KAAD,EAE8B,OAJzBA,EAAkB/C,EAAAQ,KAAAR,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAIaC,EAAAA,EAAAA,IAAKiD,EAAAA,EAAYC,kBAAmB,CACjEN,WACIA,EAAWO,OAASC,EAAAA,GAAUC,wBACxBT,EACA,KACX,KAAD,EAEF,OAPMC,EAAkBhD,EAAAQ,KAAAR,EAAAE,KAAA,GAOlBO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgBC,oBAAoBV,IAAa,KAAD,EAAAhD,EAAAE,KAAA,iBAE1D,OAF0DF,EAAAC,KAAA,GAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAEpDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,oBAAAb,EAAAgB,OAAA,GAAAC,EAAA,eAIlD,SAAUM,EAAU1B,GAA+C,IAAAgE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA1E,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OACxC,OADwCgB,EAAAhB,KAAA,GAClC+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAEC,SAASU,MAAM,IAAE,KAAD,EAO/D,OAPFA,EAAc3C,EAAAV,KACZsD,EAAyBjE,EAAOS,QAAhCwD,qBAAoB5C,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,GAMdmE,EAAAA,EAAAA,IAAI,EACVlE,EAAAA,EAAAA,IAAKmE,EAAAA,EAAoBC,gBAAiBC,EAAAA,EAAeC,cACzDtE,EAAAA,EAAAA,IAAKmE,EAAAA,EAAoBI,kBAAkB,IAC3CvE,EAAAA,EAAAA,IAAKiD,EAAAA,EAAYuB,QAAS,CACtBC,MAAOrB,EAAAA,GAAUsB,cACjBhB,OAAAA,MAEL,KAAD,EAE4B,GAF5BE,EAAA7C,EAAAV,KAAAwD,GAAAc,EAAAA,EAAAA,GAAAf,EAAA,GAXKE,EAAQD,EAAA,GAAEE,EAASF,EAAA,GAAEG,EAAQH,EAAA,GAahCI,EAAcD,EAAS,IAEvBL,EAAqB,CAAD5C,EAAAhB,KAAA,SACN,OADMgB,EAAAhB,KAAA,IACAC,EAAAA,EAAAA,IAChBiD,EAAAA,EAAY2B,eACZjB,GACF,KAAD,GAHDM,EAAWlD,EAAAV,KAAA,QAMf,OANeU,EAAAhB,KAAA,IAMTC,EAAAA,EAAAA,IAAKmB,GAAoB,KAAD,GAC9B,OAD8BJ,EAAAhB,KAAA,IACxBO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgBuB,eAAeZ,IAAc,KAAD,GACtD,OADsDlD,EAAAhB,KAAA,IAChDO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgBwB,cAAcd,EAAUF,EAAUC,IAAY,KAAD,GAAAhD,EAAAhB,KAAA,iBAEvE,OAFuEgB,EAAAjB,KAAA,GAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAEjEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe1C,EAAAL,KAAK,KAAD,oBAAAK,EAAAF,OAAA,GAAAvB,EAAA,eAIlD,SAAUgC,EACN5B,GAA2D,IAAAgE,EAAAd,EAAAoB,EAAA,OAAAzE,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAEpC,OAFoCgF,EAAAhF,KAAA,GAE9B+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAEC,SAASU,MAAM,IAAE,KAAD,EAG1C,OAHvBA,EAAcqB,EAAA1E,KACZuC,EAAelD,EAAOS,QAAtByC,WAAUmC,EAAAjF,KAAA,EAAAiF,EAAAhF,KAAA,GAEiBC,EAAAA,EAAAA,IAAKiD,EAAAA,EAAYuB,QAAS,CACrDC,MAAOrB,EAAAA,GAAUsB,cACjBhB,OAAAA,EACAd,WAAAA,IACD,KAAD,EAEF,OANMoB,EAAgBe,EAAA1E,KAAA0E,EAAAhF,KAAA,IAMhBO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgB0B,uBAAuBhB,IAAW,KAAD,GAAAe,EAAAhF,KAAA,iBAE3D,OAF2DgF,EAAAjF,KAAA,GAAAiF,EAAArE,GAAAqE,EAAA,SAAAA,EAAAhF,KAAA,IAErDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAesB,EAAArE,KAAK,KAAD,oBAAAqE,EAAAlE,OAAA,GAAAQ,EAAA,eAIlD,SAAUG,EACN9B,GAAyD,IAAAkD,EAAAoB,EAAA,OAAAzE,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAI5B,OAFrB6C,EAAelD,EAAOS,QAAtByC,WAAUqC,EAAAnF,KAAA,EAAAmF,EAAAlF,KAAA,GAEiBC,EAAAA,EAAAA,IAAKiD,EAAAA,EAAYuB,QAAS,CACrDC,MAAOrB,EAAAA,GAAUsB,cACjBhB,OAAQ,EACRd,WAAAA,IACD,KAAD,EACF,OALMoB,EAAgBiB,EAAA5E,KAAA4E,EAAAlF,KAAA,GAKhBC,EAAAA,EAAAA,IAAKmB,GAAoB,KAAD,EAC9B,OAD8B8D,EAAAlF,KAAA,GACxBO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgBuB,eAAeb,EAAS,KAAK,KAAD,EACtD,OADsDiB,EAAAlF,KAAA,IAChDO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgB4B,qBAAqBlB,IAAW,KAAD,GAAAiB,EAAAlF,KAAA,iBAEzD,OAFyDkF,EAAAnF,KAAA,GAAAmF,EAAAvE,GAAAuE,EAAA,SAAAA,EAAAlF,KAAA,IAEnDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAewB,EAAAvE,KAAK,KAAD,oBAAAuE,EAAApE,OAAA,GAAAU,EAAA,eAIlD,SAAUG,EACNhC,GAAyD,IAAAyF,EAAAC,EAAA,OAAA7F,EAAAA,EAAAA,KAAAK,MAAA,SAAAyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OAK3B,OAL2BsF,EAAAvF,KAAA,EAG7CqF,EAAkBzF,EAAOS,QAAzBgF,cAAaE,EAAAtF,KAAA,GAEWC,EAAAA,EAAAA,IAC5BiD,EAAAA,EAAY2B,eACZO,GACF,KAAD,EAED,OALMC,EAAiBC,EAAAhF,KAAAgF,EAAAtF,KAAA,GAKjBO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgBgC,qBAAqBF,IAAc,KAAD,EAAAC,EAAAtF,KAAA,gBAE5D,OAF4DsF,EAAAvF,KAAA,EAAAuF,EAAA3E,GAAA2E,EAAA,SAAAA,EAAAtF,KAAA,IAEtDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe4B,EAAA3E,KAAK,KAAD,oBAAA2E,EAAAxE,OAAA,GAAAY,EAAA,cAIlD,SAAUG,EACNlC,GAA6D,IAAAyC,EAAAoD,EAAAC,EAAAC,EAAAzB,EAAA,OAAAzE,EAAAA,EAAAA,KAAAK,MAAA,SAAA8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OAEf,OAFe2F,EAAA3F,KAAA,GAET+C,EAAAA,EAAAA,KAChD,SAAC6C,GAAe,IAAAC,EAAA,OAA+B,QAA/BA,EAAKD,EAAM3C,SAASoC,mBAAW,IAAAQ,OAAA,EAA1BA,EAA4B1D,YAAY,IAC/D,KAAD,EAgBgD,OAlB3CC,EAAqCuD,EAAArF,KAInCkF,EAAa7F,EAAOS,QAApBoF,SAEFC,GAAcK,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACbN,GAAQ,IACXO,mBAAoBC,EAAAA,GAAYC,sBAC5BT,EAASO,oBAEbG,gBAAiBF,EAAAA,GAAYC,sBACzBT,EAASU,iBAEb/D,aAAcD,EAAkBsD,EAASrD,aAAcC,KAAoBuD,EAAA5F,KAAA,EAAA4F,EAAA3F,KAAA,GAIxBC,EAAAA,EAAAA,IAC/CiD,EAAAA,EAAYiD,mBACZV,GACF,KAAD,EAED,OALMC,EAAoCC,EAAArF,KAAAqF,EAAA3F,KAAA,IAKpCC,EAAAA,EAAAA,IAAKmB,GAAoB,KAAD,GAEL,OAFKuE,EAAA3F,KAAA,IAECC,EAAAA,EAAAA,IAAKiD,EAAAA,EAAYuB,QAAS,CACrDd,OAAQ,EACRe,MAAOrB,EAAAA,GAAUsB,gBAClB,KAAD,GAEF,OALMV,EAAgB0B,EAAArF,KAAAqF,EAAA3F,KAAA,IAKhBO,EAAAA,EAAAA,IACFgD,EAAAA,EAAgBuB,gBAAcgB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EACzBL,GACCC,GAAoB,CAAEN,cAAeM,MAE/C,KAAD,GAED,OAFCC,EAAA3F,KAAA,IAEKO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgB6C,eAAenC,IAAW,KAAD,GAEnD,OAFmD0B,EAAA3F,KAAA,IAE7CC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAOC,cAAcd,EAAkBe,EAAAA,EAAgBC,OAAO,KAAD,OAClFhB,EAAiB,CAADC,EAAA3F,KAAA,SAChB,OADgB2F,EAAA3F,KAAA,IACVO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgBsB,eAAea,IAAmB,KAAD,GAAAC,EAAA3F,KAAA,iBAG/D,OAH+D2F,EAAA5F,KAAA,GAAA4F,EAAAhF,GAAAgF,EAAA,SAAAA,EAAA3F,KAAA,IAGzDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAeiC,EAAAhF,KAAK,KAAD,oBAAAgF,EAAA7E,OAAA,GAAAc,EAAA,eAIlD,SAAUG,EACNpC,GAAqD,IAAAyF,EAAAlB,EAAAD,EAAAN,EAAAgD,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAxH,EAAAA,EAAAA,KAAAK,MAAA,SAAAoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OAG3B,OADlBoF,EAAkBzF,EAAOS,QAAzBgF,cAAa6B,EAAAjH,KAAA,GACW+C,EAAAA,EAAAA,KAC5B,SAACC,GAAW,OAAKA,EAAEC,SAASiB,WAAW,IACzC,KAAD,EACwB,OAHnBA,EAAiB+C,EAAA3G,KAAA2G,EAAAjH,KAAA,GAGQ+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAEC,SAASgB,QAAQ,IAAE,KAAD,EACpD,OADjBA,EAAgBgD,EAAA3G,KAAA2G,EAAAjH,KAAA,GACO+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAEC,SAASU,MAAM,IAAE,KAAD,EAKnE,OALEA,EAAcsD,EAAA3G,KAEdqG,EAAgBvB,IAAkBlB,EAAYkB,cAAa6B,EAAAlH,KAAA,GAAAkH,EAAAjH,KAAA,IAGvDC,EAAAA,EAAAA,IAAKiD,EAAAA,EAAYgE,WAAY9B,GAAe,KAAD,GACrB,OADqB6B,EAAAjH,KAAA,IACfC,EAAAA,EAAAA,IAAKiD,EAAAA,EAAYuB,QAAS,CACxDd,OAAQ,EACRe,MAAOf,IACR,KAAD,GAYF,OAfMiD,EAAmBK,EAAA3G,KAKnBuG,EAAqB5C,EAASkD,WAChC,SAACC,GAAC,OAAKA,EAAEhC,gBAAkBA,CAAa,IAGtC0B,EAAeF,EAAYC,GAC3BE,EAAgBH,EAAY,GAE5BI,EACFL,IAAkBG,EAAeC,EAAgBD,EAAYG,EAAAjH,KAAA,IAE3DO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgB8D,oBAAoB,KAAD,OAEzCV,EAAc,CAADM,EAAAjH,KAAA,SACb,OADaiH,EAAAjH,KAAA,IACPO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgBuB,eAAeiC,IAAgB,KAAD,OAGxDA,EAAc,CAADE,EAAAjH,KAAA,SACb,OADaiH,EAAAjH,KAAA,IACPO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgB6C,eAAeQ,IAAc,KAAD,GAAAK,EAAAjH,KAAA,iBAEtD,OAFsDiH,EAAAjH,KAAA,IAEhDO,EAAAA,EAAAA,IAAIgD,EAAAA,EAAgB+D,SAAS,KAAD,GAGtC,OAHsCL,EAAAjH,KAAA,IAGhCC,EAAAA,EAAAA,IACFoG,EAAAA,EAAQC,KACRU,EACMT,EAAAA,GAAOC,cACLQ,EAAc5B,cACdqB,EAAAA,EAAgBC,MAElBH,EAAAA,GAAOgB,gBACf,KAAD,GAED,OAFCN,EAAAjH,KAAA,IAEKC,EAAAA,EAAAA,IAAKmB,GAAoB,KAAD,GAAA6F,EAAAjH,KAAA,iBAE9B,OAF8BiH,EAAAlH,KAAA,GAAAkH,EAAAtG,GAAAsG,EAAA,UAAAA,EAAAjH,KAAA,IAExBO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAeuD,EAAAtG,KAAK,KAAD,oBAAAsG,EAAAnG,OAAA,GAAAgB,EAAA,gBAI3C,SAAUG,IAAa,OAAAzC,EAAAA,EAAAA,KAAAK,MAAC,SAAD2H,GAAA,cAAAA,EAAAzH,KAAAyH,EAAAxH,MAAA,OAC1B,OAD0BwH,EAAAxH,KAAA,GACpByH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQqC,EAAAA,EAAgBmE,MAAOrG,GAAW,KAAD,EAC1D,OAD0DmG,EAAAxH,KAAA,GACpDyH,EAAAA,EAAAA,KACFvG,EAAAA,EAAAA,SAAQqC,EAAAA,EAAgBoE,kBACxBpG,GACF,KAAD,EACD,OADCiG,EAAAxH,KAAA,GACKyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQqC,EAAAA,EAAgBqE,gBAAiBnG,GAAiB,KAAD,EAC1E,OAD0E+F,EAAAxH,KAAA,GACpEyH,EAAAA,EAAAA,KACFvG,EAAAA,EAAAA,SAAQqC,EAAAA,EAAgBsB,gBACxBlD,GACF,KAAD,EACD,OADC6F,EAAAxH,KAAA,IACKyH,EAAAA,EAAAA,KACFvG,EAAAA,EAAAA,SAAQqC,EAAAA,EAAgB4C,oBACxBtE,GACF,KAAD,GACD,OADC2F,EAAAxH,KAAA,IACKyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQqC,EAAAA,EAAgB2D,YAAanF,GAAiB,KAAD,oBAAAyF,EAAA1G,OAAA,GAAAkB,EAAA,C,qOCjPhE6F,GAAkBtI,GAAAC,EAAAA,EAAAA,KAAAC,KAalBqI,GAAwBxG,GAAA9B,EAAAA,EAAAA,KAAAC,KAaxBsI,GAAqBvG,GAAAhC,EAAAA,EAAAA,KAAAC,KAcrBuI,GAA0BtG,GAAAlC,EAAAA,EAAAA,KAAAC,KAiC1BwI,GAAsBrG,GAAApC,EAAAA,EAAAA,KAAAC,KAgCtByI,GAAgCpG,GAAAtC,EAAAA,EAAAA,KAAAC,KAYhC0I,GAAqBnG,GAAAxC,EAAAA,EAAAA,KAAAC,KAoCrB2I,GAAqBC,GAAA7I,EAAAA,EAAAA,KAAAC,KAoCrB6I,GAAqBC,GAAA/I,EAAAA,EAAAA,KAAAC,KA2BrB+I,GAAqBC,GAAAjJ,EAAAA,EAAAA,KAAAC,KAYrBiJ,GAAgCC,GAAAnJ,EAAAA,EAAAA,KAAAC,KAwCzBmJ,GA5QjB,SAAUf,EAAmBlI,GAA4D,IAAAkJ,EAAAC,EAAAC,EAAA,OAAAvJ,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAE9C,OAF8CF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAExCC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBC,eAAe,KAAD,EAEhF,OAFMJ,EAA0B/I,EAAAQ,KAAAR,EAAAE,KAAA,GAE1BO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBC,oBAAoBC,EAAAA,EAAa1I,QAASmI,IAAa,KAAD,EAAA/I,EAAAE,KAAA,gBAEpF,OAFoFF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAE9EO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBC,oBAAoBC,EAAAA,EAAaxI,UAAU,KAAD,GACxE,OADwEd,EAAAE,KAAA,IAClEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAavJ,EAAAa,KAAK,KAAD,GAEZ,OAFYb,EAAAC,KAAA,GAEjB,QAAvB+I,GAAAC,EAAApJ,EAAOS,SAAQkJ,gBAAQ,IAAAR,GAAvBA,EAAA7I,KAAA8I,GAA4BjJ,EAAAyJ,OAAA,6BAAAzJ,EAAAgB,OAAA,GAAAC,EAAA,oBAIpC,SAAU+G,EAAyBnI,GAAkE,IAAA6J,EAAAX,EAAA,OAAArJ,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAI1D,OAJ0DgB,EAAAjB,KAAA,EAErFyJ,EAAe7J,EAAOS,QAAtBoJ,WAAUxI,EAAAhB,KAAA,GAEuBC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBC,cAAeO,GAAY,KAAD,EAE5F,OAFMX,EAA0B7H,EAAAV,KAAAU,EAAAhB,KAAA,GAE1BO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBO,0BAA0BL,EAAAA,EAAa1I,QAASmI,IAAa,KAAD,EAAA7H,EAAAhB,KAAA,gBAE1F,OAF0FgB,EAAAjB,KAAA,EAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAEpFO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBC,oBAAoBC,EAAAA,EAAaxI,UAAU,KAAD,GACxE,OADwEI,EAAAhB,KAAA,IAClEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAarI,EAAAL,KAAK,KAAD,oBAAAK,EAAAF,OAAA,GAAAvB,EAAA,cAIhD,SAAUwI,EAAsBpI,GAAiB,IAAAkJ,EAAAa,EAAA,OAAAlK,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAMzC,OANyCgF,EAAAjF,KAAA,EAEjC8I,EAAelJ,EAAOS,QAAtByI,WAEFa,EAAQb,EAAWc,KAAI,SAACC,GAAoB,OAAK3J,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0BD,EAAO,IAAC5E,EAAAhF,KAAA,GAE5GmE,EAAAA,EAAAA,IAAIuF,GAAO,KAAD,EAChB,OADgB1E,EAAAhF,KAAA,GACVO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBY,uBAAuBV,EAAAA,EAAa1I,QAASmI,IAAa,KAAD,EAAA7D,EAAAhF,KAAA,gBAEvF,OAFuFgF,EAAAjF,KAAA,EAAAiF,EAAArE,GAAAqE,EAAA,SAAAA,EAAAhF,KAAA,IAEjFO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBY,uBAAuBV,EAAAA,EAAaxI,UAAU,KAAD,GAC3E,OAD2EoE,EAAAhF,KAAA,IACrEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKmE,EAAArE,KAAK,KAAD,oBAAAqE,EAAAlE,OAAA,GAAAQ,EAAA,cAIxC,SAAU0G,EAA2BrI,GAAoE,IAAAoK,EAAAL,EAAAb,EAAA,OAAArJ,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAuBjG,OAvBiGkF,EAAAnF,KAAA,EAEzFgK,EAAYpK,EAAOS,QAAnB2J,QAEFL,EAAQK,EAAQJ,KAAI,SAACC,GAAY,IAADI,EAClC,IAAgB,QAAZA,EAAAJ,EAAOK,aAAK,IAAAD,OAAA,EAAZA,EAAcE,eAAgBC,EAAAA,GAAYC,MAC1C,OAAOpB,EAAAA,GAAoBqB,iBAAiBT,EAAOU,KAAMV,EAAOK,MAAM7E,eAG1E,IAAMmF,EAAe,CACjBD,KAAMV,EAAOU,KACbL,MAAOO,KAAKC,UAAU,CAClBC,kBAAmBd,EAAOK,MAAMS,kBAChCC,yBAA0Bf,EAAOK,MAAMU,yBACvCT,YAAaN,EAAOK,MAAMC,YAC1B9E,cAAewE,EAAOK,MAAM7E,iBAKpC,OAAOnF,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0BU,EAC9D,IAAErF,EAAAlF,KAAA,GAEImE,EAAAA,EAAAA,IAAIuF,GAAO,KAAD,EACmB,OADnBxE,EAAAlF,KAAA,GACyBC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBC,eAAe,KAAD,EAChF,OADMJ,EAA0B3D,EAAA5E,KAAA4E,EAAAlF,KAAA,IAC1BO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBC,oBAAoBC,EAAAA,EAAa1I,QAASmI,IAAa,KAAD,GAAA3D,EAAAlF,KAAA,iBAGpF,OAHoFkF,EAAAnF,KAAA,GAAAmF,EAAAvE,GAAAuE,EAAA,SAAAA,EAAAlF,KAAA,IAG9EO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBY,uBAAuBV,EAAAA,EAAaxI,UAAU,KAAD,GAC3E,OAD2EsE,EAAAlF,KAAA,IACrEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKqE,EAAAvE,KAAK,KAAD,oBAAAuE,EAAApE,OAAA,GAAAU,EAAA,eAIxC,SAAUyG,EAAuBtI,GAAgE,IAAAoK,EAAAL,EAAAb,EAAA,OAAArJ,EAAAA,EAAAA,KAAAK,MAAA,SAAAyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OAuBzF,OAvByFsF,EAAAvF,KAAA,EAEjFgK,EAAYpK,EAAOS,QAAnB2J,QAEFL,EAAQK,EAAQJ,KAAI,SAAAC,GAAW,IAADgB,EAChC,IAAgB,QAAZA,EAAAhB,EAAOK,aAAK,IAAAW,OAAA,EAAZA,EAAcV,eAAgBC,EAAAA,GAAYC,MAC1C,OAAOpB,EAAAA,GAAoBqB,iBAAiBT,EAAOU,KAAMV,EAAOK,MAAM7E,eAG1E,IAAAyF,EAA6DjB,EAAOK,MAA5Da,EAAoBD,EAApBC,qBAAsBZ,EAAWW,EAAXX,YAAa9E,EAAayF,EAAbzF,cAErCmF,EAAe,CACjBD,KAAMV,EAAOU,KACbL,MAAOO,KAAKC,UAAU,CAClBK,qBAAAA,EACAZ,YAAAA,EACA9E,cAAAA,KAIR,OAAOnF,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0BU,EAC9D,IAAEjF,EAAAtF,KAAA,GAEImE,EAAAA,EAAAA,IAAIuF,GAAO,KAAD,EACmB,OADnBpE,EAAAtF,KAAA,GACyBC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBC,eAAe,KAAD,EAChF,OADMJ,EAA0BvD,EAAAhF,KAAAgF,EAAAtF,KAAA,IAC1BO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBC,oBAAoBC,EAAAA,EAAa1I,QAASmI,IAAa,KAAD,GAAAvD,EAAAtF,KAAA,iBAEpF,OAFoFsF,EAAAvF,KAAA,GAAAuF,EAAA3E,GAAA2E,EAAA,SAAAA,EAAAtF,KAAA,IAE9EO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBY,uBAAuBV,EAAAA,EAAaxI,UAAU,KAAD,GAC3E,OAD2E0E,EAAAtF,KAAA,IACrEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKyE,EAAA3E,KAAK,KAAD,oBAAA2E,EAAAxE,OAAA,GAAAY,EAAA,eAIxC,SAAUwG,IAAgC,IAAA6C,EAAAC,EAAA,OAAAxL,EAAAA,EAAAA,KAAAK,MAAC,SAAD8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OAEO,OAFP2F,EAAA5F,KAAA,EAAA4F,EAAA3F,KAAA,GAEaC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBiC,qBAAsBC,EAAAA,EAAeC,mBAAmB,KAAD,EACvF,OADlCJ,EAAgCpF,EAAArF,KAAAqF,EAAA3F,KAAA,GACQC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBiC,qBAAsBC,EAAAA,EAAeE,kBAAkB,KAAD,EAE7H,OAFMJ,EAA+BrF,EAAArF,KAAAqF,EAAA3F,KAAA,GAE/BO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBmC,kCAAkCjC,EAAAA,EAAa1I,QAAS,CAACqK,EAAoBC,KAAqB,KAAD,EAAArF,EAAA3F,KAAA,iBAE/H,OAF+H2F,EAAA5F,KAAA,GAAA4F,EAAAhF,GAAAgF,EAAA,SAAAA,EAAA3F,KAAA,IAEzHO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBmC,kCAAkCjC,EAAAA,EAAaxI,UAAU,KAAD,GACtF,OADsF+E,EAAA3F,KAAA,IAChFO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAa1D,EAAAhF,KAAK,KAAD,oBAAAgF,EAAA7E,OAAA,GAAAc,EAAA,eAIhD,SAAUuG,EAAsBxI,GAA+D,IAAA2L,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA5G,EAAA,OAAA5F,EAAAA,EAAAA,KAAAK,MAAA,SAAAoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OAItB,OAJsBiH,EAAAlH,KAAA,EAAAuL,EAElD3L,EAAOS,QAApCmL,EAAYD,EAAZC,aAAcC,EAAUF,EAAVE,WAChBC,GAAiBQ,EAAAA,EAAAA,IAA8BV,GAAatE,EAAAjH,KAAA,GACK+C,EAAAA,EAAAA,IAAO0I,GAAgB,KAAD,EAsB/D,OAtBxBC,EAAuDzE,EAAA3G,KACvDqL,GAAgBO,EAAAA,EAAAA,GAAoBX,GAE1BK,EAAgBF,EAAxBS,OAEFN,EACFN,IAAiBa,EAAAA,EAAaC,kBACxBC,EAAAA,EAAAA,GAAiCV,IACjCW,EAAAA,EAAAA,GAA8BX,GAElCE,EAAaP,IAAiBa,EAAAA,EAAaC,iBAAmBnB,EAAAA,EAAesB,SAAWtB,EAAAA,EAAeuB,SAEvGV,GAAgBjG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACf0F,GAAU,IACbW,OAAQN,IAGNG,EAAkB,CACpB1B,KAAMwB,EACN7B,MAAOO,KAAKC,UAAUsB,IACzB9E,EAAAjH,KAAA,IAEmCC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0BmC,GAAiB,GAAM,KAAD,GAE7G,OAFM5G,EAAqB6B,EAAA3G,KAAA2G,EAAAjH,KAAA,IAErBO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBwD,oBAAoBZ,IAAa,KAAD,GAC9D,OAD8D7E,EAAAjH,KAAA,IACxDO,EAAAA,EAAAA,IAAIoL,EAAcgB,yBAAyBvH,EAAewG,IAAc,KAAD,GAAA3E,EAAAjH,KAAA,iBAE7E,OAF6EiH,EAAAlH,KAAA,GAAAkH,EAAAtG,GAAAsG,EAAA,SAAAA,EAAAjH,KAAA,IAEvEO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBY,uBAAuBV,EAAAA,EAAaxI,UAAU,KAAD,GAC3E,OAD2EqG,EAAAjH,KAAA,IACrEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKoG,EAAAtG,KAAK,KAAD,oBAAAsG,EAAAnG,OAAA,GAAAgB,EAAA,eAIxC,SAAUsG,EAAsBzI,GAAiB,IAAAiN,EAAArB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAE,EAAAD,EAAAE,EAAAxB,EAAAnF,EAAA,OAAA5F,EAAAA,EAAAA,KAAAK,MAAA,SAAA2H,GAAA,cAAAA,EAAAzH,KAAAyH,EAAAxH,MAAA,OAIuB,OAJvBwH,EAAAzH,KAAA,EAAA6M,EAEJjN,EAAOS,QAApCmL,EAAYqB,EAAZrB,aAAcC,EAAUoB,EAAVpB,WAChBC,GAAiBQ,EAAAA,EAAAA,IAA8BV,GAAa/D,EAAAxH,KAAA,GACI+C,EAAAA,EAAAA,IAAO0I,GAAgB,KAAD,EAuB9D,OAvBxBC,EAAuDlE,EAAAlH,KACvDqL,GAAgBO,EAAAA,EAAAA,GAAoBX,GAE1BK,EAAgBF,EAAxBS,OACFL,EAAaM,EAAAA,EAAaC,mBAAqBd,EAAeL,EAAAA,EAAesB,SAAWtB,EAAAA,EAAeuB,SAEvGZ,EACFN,IAAiBa,EAAAA,EAAaC,kBACxBC,EAAAA,EAAAA,GAAiCV,IACjCW,EAAAA,EAAAA,GAA8BX,GAElCG,GAAgBjG,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACf0F,GAAU,IACbqB,QAASrB,EAAWqB,QACpB3C,YAAasB,EAAWtB,YACxBiC,OAAQN,IAGNtB,EAAe,CACjBD,KAAMwB,EACN7B,MAAOO,KAAKC,UAAUsB,IACzBvE,EAAAxH,KAAA,IAEmCC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0BU,GAAc,GAAM,KAAD,GAC1G,OADMnF,EAAqBoC,EAAAlH,KAAAkH,EAAAxH,KAAA,IACrBO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBwD,oBAAoBZ,IAAa,KAAD,GAC9D,OAD8DtE,EAAAxH,KAAA,IACxDO,EAAAA,EAAAA,IAAIoL,EAAcgB,yBAAyBvH,EAAewG,IAAc,KAAD,GAAApE,EAAAxH,KAAA,iBAE7E,OAF6EwH,EAAAzH,KAAA,GAAAyH,EAAA7G,GAAA6G,EAAA,SAAAA,EAAAxH,KAAA,IAEvEO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBY,uBAAuBV,EAAAA,EAAaxI,UAAU,KAAD,GAC3E,OAD2E4G,EAAAxH,KAAA,IACrEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAK2G,EAAA7G,KAAK,KAAD,oBAAA6G,EAAA1G,OAAA,GAAAkB,EAAA,eAIxC,SAAUsG,EAAsB3I,GAAkE,IAAAmN,EAAA1H,EAAA0G,EAAAiB,EAAAC,EAAAC,EAAAC,EAAA,OAAA1N,EAAAA,EAAAA,KAAAK,MAAA,SAAAsN,GAAA,cAAAA,EAAApN,KAAAoN,EAAAnN,MAAA,OAG/C,OAH+CmN,EAAApN,KAAA,EAAA+M,EAEpDnN,EAAOS,QAArCgF,EAAa0H,EAAb1H,cAAe0G,EAAUgB,EAAVhB,WAAUqB,EAAAnN,KAAA,GACgB+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM2E,YAAY,IAAE,KAAD,EACY,GADZwC,EAAAI,EAAA7M,KAAxF0M,EAAaD,EAAbC,cACFC,EAAeD,EAAclB,GAAY7B,MAAMmD,MAAK,SAAAjB,GAAM,OAAIA,EAAO/G,gBAAkBA,CAAa,IAExF,CAAD+H,EAAAnN,KAAA,eAAAmN,EAAAE,OAAA,iBASjB,OALMH,GAAapH,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACZmH,GACAtN,EAAOS,SAAO+M,EAAAnN,KAAA,IAGfC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0B,CACrDS,KAAMwB,EACN7B,MAAOO,KAAKC,UAAUyC,KACvB,GAAM,KAAD,GAER,OAFQC,EAAAnN,KAAA,IAEFO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBoE,0BAA0BlE,EAAAA,EAAa1I,QAASoL,EAAYoB,IAAgB,KAAD,GAAAC,EAAAnN,KAAA,iBAEzG,OAFyGmN,EAAApN,KAAA,GAAAoN,EAAAxM,GAAAwM,EAAA,SAAAA,EAAAnN,KAAA,IAEnGO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBY,uBAAuBV,EAAAA,EAAaxI,UAAU,KAAD,GAC3E,OAD2EuM,EAAAnN,KAAA,IACrEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKsM,EAAAxM,KAAK,KAAD,oBAAAwM,EAAArM,OAAA,GAAAuH,EAAA,eAIxC,SAAUG,EAAsB7I,GAA+D,IAAA4N,EAAAnI,EAAA0G,EAAA,OAAAtM,EAAAA,EAAAA,KAAAK,MAAA,SAAA2N,GAAA,cAAAA,EAAAzN,KAAAyN,EAAAxN,MAAA,OAIvF,OAJuFuN,EACrD5N,EAAOS,QAArCgF,EAAamI,EAAbnI,cAAe0G,EAAUyB,EAAVzB,WAAU0B,EAAAzN,KAAA,EAAAyN,EAAAxN,KAAA,GAGvBC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoByE,iBAAkBrI,EAAe0G,GAAY,KAAD,EAC3E,OAD2E0B,EAAAxN,KAAA,GACrEO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBwE,uBAAuBtE,EAAAA,EAAa1I,QAASoL,EAAY1G,IAAgB,KAAD,EAAAoI,EAAAxN,KAAA,gBAEtG,OAFsGwN,EAAAzN,KAAA,EAAAyN,EAAA7M,GAAA6M,EAAA,SAAAA,EAAAxN,KAAA,IAEhGO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBwE,uBAAuBtE,EAAAA,EAAaxI,QAASkL,IAAa,KAAD,GACvF,OADuF0B,EAAAxN,KAAA,IACjFO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAK2M,EAAA7M,KAAK,KAAD,oBAAA6M,EAAA1M,OAAA,GAAAyH,EAAA,cAIxC,SAAUG,EAAiC/I,GAAiB,IAAAgO,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAArF,EAAA,OAAArJ,EAAAA,EAAAA,KAAAK,MAAA,SAAAsO,GAAA,cAAAA,EAAApO,KAAAoO,EAAAnO,MAAA,OAuBnD,GAvBmDmO,EAAApO,KAAA,EAAA4N,EAQhDhO,EAAOS,QAJPwN,EAAuBD,EAAvBC,wBACAC,EAAyBF,EAAzBE,0BACAC,EAAoBH,EAApBG,qBACAC,EAAiBJ,EAAjBI,kBAGEC,EAAiB,CACnB1D,KAAMY,EAAAA,EAAekD,QACrBnE,MAAOO,KAAKC,UAAU,CAACP,YAAa0D,KAGlCK,EAAuB,CACzB3D,KAAMY,EAAAA,EAAemD,6BACrBpE,MAAOO,KAAKC,UAAU,CAACP,YAAa2D,KAGlCK,EAAqB,CACvB5D,KAAMY,EAAAA,EAAeoD,iBACrBrE,MAAOO,KAAKC,UAAU,CAAC8D,YAAaT,MAGpCC,EAAkB3K,OAAO,CAAD+K,EAAAnO,KAAA,QACxB,OADwBmO,EAAAnO,KAAA,GAClBC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBwF,8BAA+BT,GAAmB,KAAD,EAGpF,OAHoFI,EAAAnO,KAAA,IAG9EC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0BmE,GAAgB,KAAD,GACxE,OADwEG,EAAAnO,KAAA,IAClEC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0BoE,GAAsB,KAAD,GAC9E,OAD8EE,EAAAnO,KAAA,IACxEC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBa,yBAA0BqE,GAAoB,KAAD,GACzC,OADyCC,EAAAnO,KAAA,IACnCC,EAAAA,EAAAA,IAAK+I,EAAAA,GAAoBC,eAAe,KAAD,GAChF,OADMJ,EAA0BsF,EAAA7N,KAAA6N,EAAAnO,KAAA,IAC1BO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBC,oBAAoBC,EAAAA,EAAa1I,QAASmI,IAAa,KAAD,GAAAsF,EAAAnO,KAAA,iBAEpF,OAFoFmO,EAAApO,KAAA,GAAAoO,EAAAxN,GAAAwN,EAAA,SAAAA,EAAAnO,KAAA,IAE9EO,EAAAA,EAAAA,IAAI2I,EAAAA,EAAoBY,uBAAuBV,EAAAA,EAAaxI,UAAU,KAAD,GAC3E,OAD2EuN,EAAAnO,KAAA,IACrEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKsN,EAAAxN,KAAK,KAAD,oBAAAwN,EAAArN,OAAA,GAAA2H,EAAA,eAIjC,SAAUG,IAAiB,OAAApJ,EAAAA,EAAAA,KAAAK,MAAC,SAAD4O,GAAA,cAAAA,EAAA1O,KAAA0O,EAAAzO,MAAA,OAC9B,OAD8ByO,EAAAzO,KAAA,GACxByH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoBD,eAAgBpB,GAAoB,KAAD,EAChF,OADgF4G,EAAAzO,KAAA,GAC1EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoBwD,qBAAsB5E,GAA0B,KAAD,EAC5F,OAD4F2G,EAAAzO,KAAA,GACtFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoBwF,kBAAmB3G,GAAuB,KAAD,EACtF,OADsF0G,EAAAzO,KAAA,GAChFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoByF,6BAA8BzG,GAAkC,KAAD,EAE5G,OAF4GuG,EAAAzO,KAAA,IAEtGyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoB0F,kBAAmBzG,GAAuB,KAAD,GACtF,OADsFsG,EAAAzO,KAAA,IAChFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoB2F,kBAAmBzG,GAAuB,KAAD,GACtF,OADsFqG,EAAAzO,KAAA,IAChFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoB4F,qBAAsBxG,GAAuB,KAAD,GACzF,OADyFmG,EAAAzO,KAAA,IACnFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoBuE,kBAAmBjF,GAAuB,KAAD,GACtF,OADsFiG,EAAAzO,KAAA,IAChFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoB6F,6BAA8BrG,GAAkC,KAAD,GAE5G,OAF4G+F,EAAAzO,KAAA,IAEtGyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoB8F,uBAAwBhH,GAA4B,KAAD,GAChG,OADgGyG,EAAAzO,KAAA,IAC1FyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgI,EAAAA,EAAoB+F,mBAAoBhH,GAAwB,KAAD,oBAAAwG,EAAA3N,OAAA,GAAA6H,EAAA,C,yJCjSlFuG,GAAe3P,GAAAC,EAAAA,EAAAA,KAAAC,KAQf0P,GAA+B7N,GAAA9B,EAAAA,EAAAA,KAAAC,KAY/B2P,GAAW5N,GAAAhC,EAAAA,EAAAA,KAAAC,KAIJ4P,GAxBjB,SAAUH,EAAgBvP,GAA4C,IAAA2P,EAAAC,EAAA,OAAA/P,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAE9B,OAD5BsP,EAAY3P,EAAOS,QAAnBkP,QAAOxP,EAAAE,KAAA,GAC2B+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM4J,eAAeC,UAAiB,OAAPH,QAAO,IAAPA,OAAO,EAAPA,EAASI,GAAG,IAAE,KAAD,EAAjF,GAA3BH,EAA2BzP,EAAAQ,MAC7BgP,GAAYC,EAAc,CAAAzP,EAAAE,KAAA,QAC1B,OAD0BF,EAAAE,KAAA,GACpBO,EAAAA,EAAAA,IAAIoP,EAAAA,EAAsBC,2BAA2BN,EAAQI,GAAIJ,EAAQlK,gBAAe,wBAAAtF,EAAAgB,OAAA,GAAAC,EAAA,CAItG,SAAUoO,EAAgCxP,GAAuE,IAAAoJ,EAAA1I,EAAAyK,EAAAwE,EAAA,OAAA9P,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAGhF,OAHgF+I,EACjEpJ,EAAOS,QAA3CC,EAAS0I,EAAT1I,UAAWyK,EAAoB/B,EAApB+B,qBAAoB9J,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,GAEJC,EAAAA,EAAAA,IAAKC,EAAAA,GAAiB2P,WAAY/E,GAAsB,KAAD,EACtF,OADMwE,EAAgBtO,EAAAV,KAAAU,EAAAhB,KAAA,GAChBO,EAAAA,EAAAA,IAAIoP,EAAAA,EAAsBG,kBAAkBzP,EAAWiP,IAAU,KAAD,EAAAtO,EAAAhB,KAAA,gBAEtE,OAFsEgB,EAAAjB,KAAA,EAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAEhEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe1C,EAAAL,KAAK,KAAD,GAE1C,OAF0CK,EAAAjB,KAAA,GAAAiB,EAAAhB,KAAA,IAEpCO,EAAAA,EAAAA,IAAIoP,EAAAA,EAAsBI,4BAA4B1P,IAAY,KAAD,UAAAW,EAAAuI,OAAA,6BAAAvI,EAAAF,OAAA,GAAAvB,EAAA,oBAI/E,SAAU6P,IAAW,OAAA5P,EAAAA,EAAAA,KAAAK,MAAC,SAADmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OACjB,OADiBgF,EAAAhF,KAAA,GACXO,EAAAA,EAAAA,IAAIoP,EAAAA,EAAsBrI,SAAQ,wBAAAtC,EAAAlE,OAAA,GAAAQ,EAAA,CAGrC,SAAU+N,IAAmB,OAAA7P,EAAAA,EAAAA,KAAAK,MAAC,SAADqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAChC,OADgCkF,EAAAlF,KAAA,GAC1ByH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQyO,EAAAA,EAAsBK,MAAOd,GAAiB,KAAD,EACtE,OADsEhK,EAAAlF,KAAA,GAChEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQyO,EAAAA,EAAsBC,4BAA6BT,GAAiC,KAAD,EAC5G,OAD4GjK,EAAAlF,KAAA,GACtGyH,EAAAA,EAAAA,IAAWwI,EAAAA,GAAeC,OAAQd,GAAa,KAAD,mBAAAlK,EAAApE,OAAA,GAAAU,EAAA,C,ieCW9CH,GAAS9B,GAAAC,EAAAA,EAAAA,KAAAC,KA4TT0Q,GAA0B7O,GAAA9B,EAAAA,EAAAA,KAAAC,KA0J1B2Q,GAAkB5O,GAAAhC,EAAAA,EAAAA,KAAAC,KA0ClB4Q,GAAgC3O,GAAAlC,EAAAA,EAAAA,KAAAC,KA6EhC6Q,GAA2B1O,GAAApC,EAAAA,EAAAA,KAAAC,KAoB3B8Q,IAAkBzO,GAAAtC,EAAAA,EAAAA,KAAAC,KAQlB+Q,IAA+BxO,GAAAxC,EAAAA,EAAAA,KAAAC,KAUxBgR,IArnBX9E,GAAgBO,EAAAA,EAAAA,GAAoBwE,EAAAA,EAAeC,WAEzD,SAAUtP,EAAU1B,GAAgD,IAAAoJ,EAAA6H,EAAAC,EAAAC,EAAA/M,EAAAiJ,EAAA+D,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAlF,EAAAmF,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA,OAAAhV,EAAAA,EAAAA,KAAAK,MAAA,SAAA4U,GAAA,cAAAA,EAAA1U,KAAA0U,EAAAzU,MAAA,OAGrB,OAHqB+I,EAC3BpJ,EAAOS,QAApCwQ,EAAS7H,EAAT6H,UAAWC,EAAa9H,EAAb8H,cAAa4D,EAAAzU,KAAA,GAEiB+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM8O,SAASC,iBAAiBC,KAAK,IAAE,KAAD,EACvF,OADtB9D,EAAkC2D,EAAAnU,KAAAmU,EAAAzU,KAAA,GACN+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM8O,SAASG,mBAAmBD,KAAK,IAAE,KAAD,EAE5D,OAFpC7Q,EAAmB0Q,EAAAnU,KAAAmU,EAAAzU,KAAA,GAEuB+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,IAAA8R,EAAAC,EAAA,OAAkC,QAAlCD,EAAK9R,EAAE0R,SAASM,WAAWjL,eAAO,IAAA+K,GAAkC,QAAlCC,EAA7BD,EAAgCG,EAAAA,EAAeC,wBAAgB,IAAAH,OAAlC,EAA7BA,EAAiEI,OAAO,IAAE,KAAD,EAU/F,OAV5CnI,EAAiCyH,EAAAnU,KACjCyQ,EAAwBqE,EAAAA,EAAKC,YAAYC,EAAAA,EAAoBC,yBAC7DvE,EAAsBD,GAAyB/D,GAAiB,IAAII,MAAK,SAAAjB,GAAM,OAAIA,EAAOU,OAAO,SAAI2I,EAErGvE,EAAuB5K,EAAAA,EAAQoP,SAASC,OACxCxE,EAAeD,GAAwBA,EAAqB0E,OAC9DxE,EAA8B,GAC9BC,EAAuB,GACrBC,EAAU+D,EAAAA,EAAKQ,SAASC,EAAAA,GAAMC,eAAcrB,EAAAzU,KAAA,IAEM+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAEmS,QAAQY,UAAU5J,MAAM,IAAE,KAAD,GAE3G,OAFMA,EAAyCsI,EAAAnU,KAAAmU,EAAAzU,KAAA,IAEzCO,EAAAA,EAAAA,IAAIoL,EAAcjE,MAAI5B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAC,CAAC,EAAIqG,GAAM,IAAE6J,KAAMC,EAAAA,EAAiB/I,cAAc8I,SAAS,KAAD,OAEnF9E,EAAa,CAADuD,EAAAzU,KAAA,SA4DZ,OA5DYsR,GAC0C4E,EAAAA,EAAAA,IAAe,iBAAkB,gBAAe3E,GAAA3M,EAAAA,EAAAA,GAAA0M,EAAA,GAA/FE,EAAgBD,EAAA,GAAEE,EAAyBF,EAAA,GAAAG,GACIwE,EAAAA,EAAAA,IAAe,sBAAuB,qBAAoBvE,GAAA/M,EAAAA,EAAAA,GAAA8M,EAAA,GAAzGE,EAAgBD,EAAA,GAAEE,EAAyBF,EAAA,GAE9CG,OAAgC0D,EAChCzD,OAA8ByD,EAE9BxD,EAA4B,GAC5BC,EAAyD,GACzDC,EAA2B,GAC3BC,EAA0C,GAC1CC,EAA6C,GAC7CC,QAA6BmD,EAC7BlD,QAAsCkD,EACtCjD,QAAqCiD,EACrChD,GAA4B,KAC5BC,GAA0B,KAC1BC,GAA2B,KAC3BC,GAAyB,KACzBC,GAA2B,KAC3BC,GAAyB,KACzBC,GAA0B,GAC1BC,QAAgCyC,EAChCxC,QAAiCwC,EACjCvC,QAAiCuC,EAE/BtC,GAAiD,EACnDiD,EAAAA,EAAAA,KAAkB,SAAAC,GAAc,OAAInE,EAAgBmE,EAAezM,KAAI,SAAA3G,GAAC,OAAIqT,EAAAA,EAAAA,IAAkCrT,EAAE,GAAC,KACjHsT,EAAAA,EAAAA,KAAQ,SAAAC,GAAa,OAAIrE,EAAiBqE,EAAc5M,KAAI,SAAA6M,GAAC,OAAIC,EAAAA,GAAOD,EAAyB,GAAC,KAClGE,EAAAA,EAAAA,KAAY,SAAAC,GAAI,OAAI3E,EAAkB2E,CAAI,KAC1CC,EAAAA,EAAAA,KAAmB,SAAAC,GAAc,OAAI1F,EAAkB0F,EAAelN,KAAI,SAAAmN,GAAC,OAAIC,EAAAA,EAASD,EAA2B,GAAC,KACpHE,EAAAA,EAAAA,IAAgBlG,EAAQnH,KAAI,SAAAsN,GAAC,OAAIC,OAAOD,EAAEvH,GAAG,KAAG,SAAAyH,GAAa,OAAI/F,EAAa+F,EAAcxN,KAAI,SAAAsN,GAAC,OAAIG,OAAOH,EAAE,GAAC,KAC/GI,EAAAA,EAAAA,KAAgB,SAAAC,GAAqB,OAAInF,EAAwBmF,CAAyC,KAC1GzC,EAAAA,EAAAA,KAAmB,SAAA0C,GAAM,OAAInF,EAAmCmF,CAAM,GAAExT,EAAS4F,KAAI,SAAA6N,GAAC,OAAIA,EAAEpS,aAAa,MACzGqS,EAAAA,EAAAA,KAAI,SAAAxN,GAAK,OAAIoI,GAAQpI,CAAK,KAC1ByN,EAAAA,EAAAA,KAAa,SAAAC,GAAkB,OAAIrF,GAAiBqF,CAAkB,KACtEC,EAAAA,EAAAA,KAAY,SAAAC,GAAiB,OAAItF,GAAgBsF,CAAiB,KAClEC,EAAAA,EAAAA,KAAQ,SAAA7N,GAAK,OAAI+I,GAAY/I,CAAK,KAClC8N,EAAAA,EAAAA,KAAQ,SAAA9N,GAAK,OAAIgJ,GAAYhJ,CAAK,KAAC+N,QAAAC,EAAAA,EAAAA,GAChCzG,IAAgByG,EAAAA,EAAAA,GAChBrG,GAAgB,EACnBsG,EAAAA,EAAAA,KAAS,SAAAjO,GAAK,OAAIuI,GAAevI,CAAK,GAAE,iBACxCkO,EAAAA,EAAAA,KAAO,SAAAlO,GAAK,OAAIwI,GAAaxI,CAAK,GAAE,eACpCiO,EAAAA,EAAAA,KAAS,SAAAjO,GAAK,OAAIyI,GAAczI,CAAK,GAAE,gBACvCkO,EAAAA,EAAAA,KAAO,SAAAlO,GAAK,OAAI0I,GAAY1I,CAAK,GAAE,cACnCiO,EAAAA,EAAAA,KAAS,SAAAjO,GAAK,OAAI2I,GAAc3I,CAAK,GAAE,gBACvCkO,EAAAA,EAAAA,KAAO,SAAAlO,GAAK,OAAI4I,GAAY5I,CAAK,GAAE,cACnCmO,EAAAA,EAAAA,KAAS,SAAAb,GAAM,OAAIzE,GAAgByE,CAAM,KACzCc,EAAAA,EAAAA,KAAI,SAAApO,GAAK,OAAI8I,GAAW9I,CAAK,MAG7BoH,GACA6B,GAAY5M,MACR4R,EAAAA,EAAAA,KAAS,SAAAI,GAAU,OAAIxG,EAAOwG,CAAU,KACxCH,EAAAA,EAAAA,KAAO,SAAAG,GAAU,OAAIvG,EAAKuG,CAAU,KAI5CC,EAAAA,EAAsBC,YAAYtH,EAAcgC,IAAauB,EAAAzU,KAAA,IAEvDO,EAAAA,EAAAA,IAAIoL,EAAc8M,eAAe,KAAD,GAIqB,GADrDtF,GAAyB1B,IACzB2B,GAAyBvB,KAE3BR,EAAQ,CAADoD,EAAAzU,KAAA,SACoF,IAArFqT,IAAaqF,EAAAA,EAAAA,IAAqBC,EAAAA,EAAuBC,iBAAkB9G,EAAMC,IAExE8G,MAAQF,EAAAA,EAAuBG,IAAID,IAAG,CAAApE,EAAAzU,KAAA,SACjD,OADiDyU,EAAAzU,KAAA,IAC3CO,EAAAA,EAAAA,IAAIoL,EAAcoN,uBAAuB1F,GAAY,SAAS,KAAD,OAEnEvB,IAAQC,EAAE,CAAA0C,EAAAzU,KAAA,SACV,OADUyU,EAAAzU,KAAA,IACJO,EAAAA,EAAAA,IAAIoL,EAAcqN,4BAA4B,CAAElH,KAAAA,EAAMC,GAAAA,GAAM,SAAS,KAAD,GAuL9E,OAnLEuB,GAAkB,CACpB2F,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACH,OADGF,EAAAE,KAAA,GACGmE,EAAAA,EAAAA,IAAI8N,EAActI,KAAI,SAAC3G,GACzB,IAAMkW,EAAejD,EAAAA,EAAiB/I,cAAciM,SAAShN,OAAOA,QAAO,SAAAiN,GAAM,OAAIhC,OAAOgC,EAAOnP,SAAWjH,CAAC,IAAE,GACjH,OAAOzC,EAAAA,EAAAA,IAAIoL,EAAc0N,mBAAmBH,EAAajP,MAAO,YACpE,KAAI,KAAD,mBAAAnK,EAAAgB,OAAA,GAJPmY,EAAO,KAQL1F,GAAqB,CACvB+F,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAAUvH,EAAgB5O,MAAM,EAC7C6V,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OACH,OADGgB,EAAAhB,KAAA,GACGmE,EAAAA,EAAAA,IAAI6N,EAAgBrI,KAAI,SAAA6P,GAAC,OAAIjZ,EAAAA,EAAAA,IAAIkZ,EAAAA,IAAwBC,cAAcF,GAAG,KAAG,KAAD,mBAAAxY,EAAAF,OAAA,GADtFmY,EAAO,KAKLzF,GAAS,CACXyF,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OACH,OADGgF,EAAAhF,KAAA,GACGmE,EAAAA,EAAAA,IAAI+N,EAAevI,KAAI,SAAC6M,GAC1B,IAAMmD,EAAe1D,EAAAA,EAAiB/I,cAAcoJ,QAAQnK,OAAOA,QAAO,SAAAqH,GAAM,OAAI0D,OAAO1D,EAAOvJ,SAAWuM,CAAC,IAAE,GAChH,OAAOjW,EAAAA,EAAAA,IAAIoL,EAAc0N,mBAAmBM,EAAa1P,MAAO,WACpE,KAAI,KAAD,mBAAAjF,EAAAlE,OAAA,GAJPmY,EAAO,KAQLxF,GAAyB,CAC3B8F,cAAe,WAAF,QAAUpH,EAAsB/O,MAAM,EACnD6V,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OACH,OADGkF,EAAAlF,KAAA,GACGmE,EAAAA,EAAAA,IAAIgO,EAAsBxI,KAAI,SAACiQ,GAAoC,OAAKrZ,EAAAA,EAAAA,IAAIoL,EAAc0N,mBAAmBO,EAAsB,kBAAkB,KAAG,KAAD,mBAAA1U,EAAApE,OAAA,GADjKmY,EAAO,KAKLvF,GAAa,CACf4F,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAMxH,GAAM,EAClC4G,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OACH,OADGsF,EAAAtF,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcmO,uBAAuB,QAAQ,KAAD,EACtD,OADsDxU,EAAAtF,KAAA,GAChDO,EAAAA,EAAAA,IAAIoL,EAAcoO,kBAAkB1H,GAAQ,QAAQ,KAAD,mBAAA/M,EAAAxE,OAAA,GAF7DmY,EAAO,KAMLtF,GAAsB,CACxB2F,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAMvH,GAAe,EAC3C2G,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAA8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OACH,OADG2F,EAAA3F,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcmO,uBAAuB,iBAAiB,KAAD,EAC/D,OAD+DnU,EAAA3F,KAAA,GACzDO,EAAAA,EAAAA,IAAIoL,EAAcoO,kBAAkBzH,GAAiB,iBAAiB,KAAD,mBAAA3M,EAAA7E,OAAA,GAF/EmY,EAAO,KAMLrF,GAAqB,CACvB0F,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAMtH,GAAc,EAC1C0G,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OACH,OADGiH,EAAAjH,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcmO,uBAAuB,eAAe,KAAD,EAC7D,OAD6D7S,EAAAjH,KAAA,GACvDO,EAAAA,EAAAA,IAAIoL,EAAcoO,kBAAkBxH,GAAgB,eAAe,KAAD,mBAAAtL,EAAAnG,OAAA,GAF5EmY,EAAO,KAMLpF,GAAiB,CACnByF,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAM7G,GAAU,EACtCiG,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAA2H,GAAA,cAAAA,EAAAzH,KAAAyH,EAAAxH,MAAA,OACH,OADGwH,EAAAxH,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcmO,uBAAuB,YAAY,KAAD,EAC1D,OAD0DtS,EAAAxH,KAAA,GACpDO,EAAAA,EAAAA,IAAIoL,EAAcoO,kBAAkB/G,GAAY,YAAY,KAAD,mBAAAxL,EAAA1G,OAAA,GAFrEmY,EAAO,KAMLnF,GAAiB,CACnBwF,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAM5G,GAAU,EACtCgG,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAsN,GAAA,cAAAA,EAAApN,KAAAoN,EAAAnN,MAAA,OACH,OADGmN,EAAAnN,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcmO,uBAAuB,YAAY,KAAD,EAC1D,OAD0D3M,EAAAnN,KAAA,GACpDO,EAAAA,EAAAA,IAAIoL,EAAcoO,kBAAkB9G,GAAY,YAAY,KAAD,mBAAA9F,EAAArM,OAAA,GAFrEmY,EAAO,KAMLlF,GAAoB,CACtBuF,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAAgC,OAAtBpG,SAAsB,IAAtBA,KAAAA,GAAwB6G,UAAiC,OAAtB7G,SAAsB,IAAtBA,KAAAA,GAAwB8G,MAAK,EACvFhB,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAA2N,GAAA,cAAAA,EAAAzN,KAAAyN,EAAAxN,MAAA,OACH,OADGwN,EAAAxN,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcuO,kCAAkC,aAAc/G,KAAwB,wBAAA3F,EAAA1M,OAAA,GADpGmY,EAAO,KAILjF,GAAyB,CAC3BsF,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAAgC,OAAtBnG,SAAsB,IAAtBA,KAAAA,GAAwB4G,UAAiC,OAAtB5G,SAAsB,IAAtBA,KAAAA,GAAwB6G,MAAK,EACvFhB,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAsO,GAAA,cAAAA,EAAApO,KAAAoO,EAAAnO,MAAA,OACH,OADGmO,EAAAnO,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcuO,kCAAkC,kBAAmB9G,KAAyB,KAAD,mBAAAjF,EAAArN,OAAA,GADzGmY,EAAO,KAKLhF,GAAoB,CACtBsF,cAAe,WAAF,QAAUpI,EAAgB/N,MAAM,EAC7C6V,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAA4O,GAAA,cAAAA,EAAA1O,KAAA0O,EAAAzO,MAAA,OACH,OADGyO,EAAAzO,KAAA,GACGmE,EAAAA,EAAAA,IAAIgN,EAAgBxH,KACtB,SAAAmN,GAAC,OACGvW,EAAAA,EAAAA,IAAIoL,EAAc0N,mBAAmBvC,EAAEqD,WAAY,YAAY,KACpE,KAAD,mBAAA1L,EAAA3N,OAAA,GAJNmY,EAAO,KAQL/E,GAA0C,CAC5CqF,cAAe,WAAF,QAAUnH,EAAiChP,MAAM,EAC9D6V,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAua,GAAA,cAAAA,EAAAra,KAAAqa,EAAApa,MAAA,OACH,OADGoa,EAAApa,KAAA,GACGmE,EAAAA,EAAAA,IAAIiO,EAAiCzI,KAAI,SAAC0Q,GAC5C,OAAO9Z,EAAAA,EAAAA,IAAIoL,EAAc0N,mBAAmBgB,EAAI,YACpD,KAAI,KAAD,mBAAAD,EAAAtZ,OAAA,GAHPmY,EAAO,KAOL9E,GAAmB,CACrBoF,cAAe,WAAF,QAAUnI,EAAWhO,MAAM,EACxC6V,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAya,GAAA,cAAAA,EAAAva,KAAAua,EAAAta,MAAA,OACH,OADGsa,EAAAta,KAAA,GACGmE,EAAAA,EAAAA,IAAIiN,EAAWzH,KAAI,SAACsN,GACtB,OAAO1W,EAAAA,EAAAA,IAAIoL,EAAc0N,mBAAmBpC,EAAG,aACnD,KAAI,KAAD,mBAAAqD,EAAAxZ,OAAA,GAHPmY,EAAO,KAOL7E,GAAwB,CAC1BkF,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAAUzG,GAAc1P,MAAM,EAC3C6V,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAA0a,GAAA,cAAAA,EAAAxa,KAAAwa,EAAAva,MAAA,OACH,OADGua,EAAAva,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcmO,uBAAuB,aAAa,KAAD,EAC3D,OAD2DS,EAAAva,KAAA,GACrDmE,EAAAA,EAAAA,IAAI2O,GAAcnJ,KAAI,SAAA6Q,GAAI,OAAIja,EAAAA,EAAAA,IAAIoL,EAAc0N,mBAAmBmB,EAAM,YAAY,KAAG,KAAD,mBAAAD,EAAAzZ,OAAA,GAFjGmY,EAAO,KAML5E,GAAkB,CACpBiF,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAMrH,OAAkBqH,EAAAA,EAAAA,OAAMpH,GAAW,EAC/DwG,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,IAAAwB,EAAA,OAAAjb,EAAAA,EAAAA,KAAAK,MAAA,SAAA6a,GAAA,cAAAA,EAAA3a,KAAA2a,EAAA1a,MAAA,OACH,OADG0a,EAAA1a,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcgP,kBAAkB,aAAa,KAAD,EAEtD,OADMF,GAAe/B,EAAAA,EAAAA,IAAqBC,EAAAA,EAAuBiC,SAAUpI,GAAcC,IAAWiI,EAAA1a,KAAA,GAC9FO,EAAAA,EAAAA,IAAIoL,EAAcoN,uBAAuB0B,EAAc,aAAa,KAAD,EACzE,OADyEC,EAAA1a,KAAA,GACnEO,EAAAA,EAAAA,IACFoL,EAAcqN,4BAA4B,CAAElH,KAAMU,GAAcT,GAAIU,IAAc,aACpF,KAAD,mBAAAiI,EAAA5Z,OAAA,GANLmY,EAAO,KAUL3E,GAAiB,CACnBgF,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAMnH,OAAiBmH,EAAAA,EAAAA,OAAMlH,GAAU,EAC7DsG,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,IAAAwB,EAAA,OAAAjb,EAAAA,EAAAA,KAAAK,MAAA,SAAAgb,GAAA,cAAAA,EAAA9a,KAAA8a,EAAA7a,MAAA,OACH,OADG6a,EAAA7a,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcgP,kBAAkB,YAAY,KAAD,EAErD,OADMF,GAAe/B,EAAAA,EAAAA,IAAqBC,EAAAA,EAAuBiC,SAAUlI,GAAaC,IAAUkI,EAAA7a,KAAA,GAC5FO,EAAAA,EAAAA,IAAIoL,EAAcoN,uBAAuB0B,EAAc,YAAY,KAAD,EACxE,OADwEI,EAAA7a,KAAA,GAClEO,EAAAA,EAAAA,IACFoL,EAAcqN,4BAA4B,CAAElH,KAAMY,GAAaX,GAAIY,IAAa,YAClF,KAAD,mBAAAkI,EAAA/Z,OAAA,GANLmY,EAAO,KAUL1E,GAAiB,CACnB+E,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAMjH,OAAiBiH,EAAAA,EAAAA,OAAMhH,GAAU,EAC7DoG,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,IAAAwB,EAAA,OAAAjb,EAAAA,EAAAA,KAAAK,MAAA,SAAAib,GAAA,cAAAA,EAAA/a,KAAA+a,EAAA9a,MAAA,OACH,OADG8a,EAAA9a,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcgP,kBAAkB,YAAY,KAAD,EAErD,OADMF,GAAe/B,EAAAA,EAAAA,IAAqBC,EAAAA,EAAuBiC,SAAUhI,GAAaC,IAAUiI,EAAA9a,KAAA,GAC5FO,EAAAA,EAAAA,IAAIoL,EAAcoN,uBAAuB0B,EAAc,YAAY,KAAD,EACxE,OADwEK,EAAA9a,KAAA,GAClEO,EAAAA,EAAAA,IACFoL,EAAcqN,4BAA4B,CAAElH,KAAMc,GAAab,GAAIc,IAAa,YAClF,KAAD,mBAAAiI,EAAAha,OAAA,GANLmY,EAAO,KAULzE,GAAkB,CACpB8E,WAAY,WAAF,OAAQvI,CAAqB,EACvCwI,cAAe,WAAF,QAASM,EAAAA,EAAAA,OAAM9G,GAAS,EACrCkG,SAAOzZ,EAAAA,EAAAA,KAAAC,MAAE,SAATwZ,IAAO,OAAAzZ,EAAAA,EAAAA,KAAAK,MAAA,SAAAkb,GAAA,cAAAA,EAAAhb,KAAAgb,EAAA/a,MAAA,OACH,OADG+a,EAAA/a,KAAA,GACGO,EAAAA,EAAAA,IAAIoL,EAAcmO,uBAAuB,QAAQ,KAAD,EACtD,OADsDiB,EAAA/a,KAAA,GAChDO,EAAAA,EAAAA,IAAIoL,EAAcoO,kBAAkBhH,GAAW,QAAQ,KAAD,mBAAAgI,EAAAja,OAAA,GAFhEmY,EAAO,KAIVxE,EAAAzU,KAAA,IAGS,IAAIgb,EAAAA,GACLC,WAAW3H,IACX2H,WAAW1H,IACX0H,WAAWzH,IACXyH,WAAWxH,IACXwH,WAAWvH,IACXuH,WAAWtH,IACXsH,WAAWrH,IACXqH,WAAWpH,IACXoH,WAAWnH,IACXmH,WAAWhH,IACXgH,WAAWlH,IACXkH,WAAWjH,IACXiH,WAAW/G,IACX+G,WAAW9G,IACX8G,WAAW7G,IACX6G,WAAW5G,IACX4G,WAAW3G,IACX2G,WAAW1G,IACX0G,WAAWzG,IACX0G,mBAAkB,QArBS,GAAAzG,EAAAnU,KAuBT,CAADmU,EAAAzU,KAAA,SACtB,OADsByU,EAAAzU,KAAA,IAChBO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBC,uBAAsB,IAAO,KAAD,UAAA3G,EAAApH,OAAA,kBAOU,KAAD,GAAAoH,EAAAzU,KAAA,SAPT,YAMpDgR,EAAoB,CAADyD,EAAAzU,KAAA,SAC1B,OAD0ByU,EAAAzU,KAAA,IACpBO,EAAAA,EAAAA,IAAIoL,EAAc0P,uBAAuBrK,IAAqB,YAEhEK,EAAQ,CAADoD,EAAAzU,KAAA,SACP,OADOyU,EAAAzU,KAAA,IACDO,EAAAA,EAAAA,IAAIoL,EAAcoN,uBAAuBJ,EAAAA,EAAuBC,iBAAkB,SAAS,KAAD,GAGxG,OAHwGnE,EAAAzU,KAAA,IAGlGO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBG,6BAA6B,KAAD,GACvD,OADuD7G,EAAAzU,KAAA,KACjDO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBI,oBAAoB3K,EAAWC,GAAe,IAAO,KAAD,qBAAA4D,EAAA3T,OAAA,GAAAC,EAAA,CAGnF,SAAUoP,IAA0B,IAAAqL,EAAA,OAAAhc,EAAAA,EAAAA,KAAAK,MAAC,SAAD4b,GAAA,cAAAA,EAAA1b,KAAA0b,EAAAzb,MAAA,OAEL,OAFKyb,EAAA1b,KAAA,EAAA0b,EAAAzb,KAAA,GAECC,EAAAA,EAAAA,IAAKyb,EAAAA,EAAiBC,uBAAuB,KAAD,EACzE,OADMH,EAAcC,EAAAnb,KAAAmb,EAAAzb,KAAA,GACdO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBS,mBAAmBJ,IAAQ,KAAD,EAAAC,EAAAzb,KAAA,gBAErD,OAFqDyb,EAAA1b,KAAA,EAAA0b,EAAA9a,GAAA8a,EAAA,SAAAA,EAAAzb,KAAA,IAE/CO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBS,oBAAmB,IAAO,KAAD,oBAAAH,EAAA3a,OAAA,GAAAvB,EAAA,cAiE5D,SAASsc,EACL1P,EACA2P,EACAlL,EACAC,EACAkL,EACAC,GAGA,IAAAC,EAtEJ,SAAyB9P,GAA2B,IAAD+P,EAAAC,EACzCC,EAAmB,CAAElE,cAAU1C,EAAW2C,YAAQ3C,GAElDc,EAAUnK,EAAOmK,QAAQnK,OAAOA,QAAO,SAAAqK,GAAC,OAAIA,EAAE6F,QAAQ,IAAE1S,KAAI,SAAA6M,GAAC,OAAIU,OAAOV,EAAEvM,MAAM,IAChFkP,EAAWhN,EAAOgN,SAAShN,OAAOA,QAAO,SAAAmQ,GAAC,OAAIA,EAAED,QAAQ,IAAE1S,KAAI,SAAA2S,GAAC,OAAIlF,OAAOkF,EAAErS,MAAM,IAClFsS,EAAqBpQ,EAAOqQ,SAASrQ,OAAOA,QAAO,SAAA2K,GAAC,OAAIA,EAAEuF,QAAQ,IAAE1S,KAAI,SAAAmN,GAAC,OAAIA,EAAE7M,KAAK,IACpFuS,EAAWD,EAAmBnZ,QAAwC,IAA9BmZ,EAAmBnZ,OAAemZ,EAAmB,QAAK/G,EAClG6B,EAAkBlL,EAAOsQ,eAAetQ,OAAOA,QAAO,SAAA2K,GAAC,OAAIA,EAAEuF,QAAQ,IAAE1S,KAAI,SAAAmN,GAAC,OAAIA,EAAE7M,KAAK,IACvF4K,EAAqB1I,EAAOpI,SAASoI,OAAOA,QAAO,SAAA2K,GAAC,OAAIA,EAAEuF,QAAQ,IAAE1S,KAAI,SAAAmN,GAAC,OAAIA,EAAE7M,KAAK,IAEpFyS,GAAkBC,EAAAA,EAAAA,IAAcxQ,EAAOyQ,YACvCC,GAAkBC,EAAAA,EAAAA,IAAoB3Q,EAAOyQ,YAC7CG,GAAuBJ,EAAAA,EAAAA,IAAcxQ,EAAO6Q,iBAC5CC,GAAuBH,EAAAA,EAAAA,IAAoB3Q,EAAO6Q,iBAElDE,EAAgB/Q,EAAOgR,SAAShR,OAAOiR,gBACvCC,EAAAA,EAAAA,IAAqBlR,EAAOgR,SAAShR,OAAOiR,eAAgBjR,EAAOgR,SAAShR,OAAOmR,SACnFlB,EACAmB,EAAepR,EAAOqR,QAAQrR,OAAOiR,gBACrCC,EAAAA,EAAAA,IAAqBlR,EAAOqR,QAAQrR,OAAOiR,eAAgBjR,EAAOqR,QAAQrR,OAAOmR,SACjFlB,EACAqB,EAAetR,EAAOuR,QAAQvR,OAAOiR,gBACrCC,EAAAA,EAAAA,IAAqBlR,EAAOuR,QAAQvR,OAAOiR,eAAgBjR,EAAOuR,QAAQvR,OAAOmR,SACjFlB,EAEA3E,EAAMtL,EAAOsL,IAAItL,OAAOiR,eACxB1F,EAAevL,EAAOuL,aAAavL,OAAOiR,eAC1CxF,EAAczL,EAAOwR,WAAWxR,OAAOiR,eACvCtF,EAAU3L,EAAO2L,QAAQ3L,OAAOiR,eAChCrF,EAAU5L,EAAO4L,QAAQ5L,OAAOiR,eAEtC,MAAO,CACH9G,QAAAA,EACA6C,SAAAA,EACAqD,SAAAA,EACAnF,gBAAAA,EACAxC,mBAAAA,EACA4C,IAAAA,EACAG,YAAAA,EACAF,aAAAA,EACAkG,mBAAmC,OAAflB,QAAe,IAAfA,OAAe,EAAfA,EAAiB5K,KACrC+L,iBAAiC,OAAfnB,QAAe,IAAfA,OAAe,EAAfA,EAAiB3K,GACnC+L,mBAAmC,OAAfjB,QAAe,IAAfA,OAAe,EAAfA,EAAiB/K,KACrCiM,iBAAiC,OAAflB,QAAe,IAAfA,OAAe,EAAfA,EAAiB9K,GACnCiM,wBAA6C,OAApBjB,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBjL,KAC/CmM,sBAA2C,OAApBlB,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBhL,GAC7CmM,wBAA6C,OAApBjB,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBnL,KAC/CqM,sBAA2C,OAApBlB,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBlL,GAC7CS,aAAc0K,EAAchF,SAC5BzF,WAAYyK,EAAc/E,OAC1BzF,YAAa6K,EAAarF,SAC1BvF,UAAW4K,EAAapF,OACxBvF,YAAa6K,EAAavF,SAC1BrF,UAAW4K,EAAatF,OACxBC,SAAyB,QAAjB8D,EAAE/P,EAAOiM,gBAAQ,IAAA8D,OAAA,EAAfA,EAAiB/P,OAAOA,QAAO,SAAAmQ,GAAC,OAAIA,EAAED,QAAQ,IAAE1S,KAAI,SAAA2S,GAAC,OAAIA,EAAErS,KAAK,IAC1EoO,IAAe,QAAZ8D,EAAEhQ,EAAOkM,WAAG,IAAA8D,OAAA,EAAVA,EAAYhQ,OAAOiR,eACxBtF,QAAAA,EACAC,QAAAA,EAER,CAsCQqG,CAAgBjS,GA1BhBmK,EAAO2F,EAAP3F,QACA6C,EAAQ8C,EAAR9C,SACAqD,EAAQP,EAARO,SACAnF,EAAe4E,EAAf5E,gBACAxC,EAAkBoH,EAAlBpH,mBACA+C,EAAWqE,EAAXrE,YACAH,EAAGwE,EAAHxE,IACAC,EAAYuE,EAAZvE,aACAkG,EAAkB3B,EAAlB2B,mBACAC,EAAgB5B,EAAhB4B,iBACAC,EAAkB7B,EAAlB6B,mBACAC,EAAgB9B,EAAhB8B,iBACAC,EAAuB/B,EAAvB+B,wBACAC,EAAqBhC,EAArBgC,sBACAC,EAAuBjC,EAAvBiC,wBACAC,EAAqBlC,EAArBkC,sBACA3L,EAAYyJ,EAAZzJ,aACAC,EAAUwJ,EAAVxJ,WACAC,EAAWuJ,EAAXvJ,YACAC,EAASsJ,EAATtJ,UACAC,EAAWqJ,EAAXrJ,YACAC,EAASoJ,EAATpJ,UACAuF,EAAQ6D,EAAR7D,SACAC,EAAG4D,EAAH5D,IACAP,EAAOmE,EAAPnE,QACAC,EAAOkE,EAAPlE,QAGEsG,EAAe,CACjB3H,YAAaoF,EACb3C,SAAAA,EACA7C,QAAAA,EACAkG,SAAAA,EACA1L,QAAS3E,EAAOmS,UAAUnS,OAAOA,QAAO,SAAAoS,GAAE,OAAIA,EAAGlC,QAAQ,IAAE1S,KAAI,SAAA4U,GAAE,OAAIA,EAAGtU,KAAK,IAC7EoN,gBAAAA,EACAxC,mBAAAA,EACA4C,IAAAA,EACAC,aAAAA,EACAE,YAAAA,EACAgG,mBAAAA,EACAC,iBAAAA,EACAC,mBAAAA,EACAC,iBAAAA,EACAC,wBAAAA,EACAC,sBAAAA,EACAC,wBAAAA,EACAC,sBAAAA,EACA3L,aAAAA,EACAC,WAAAA,EACAC,YAAAA,EACAC,UAAAA,EACAC,YAAAA,EACAC,UAAAA,EACAuF,SAAAA,EACAC,IAAAA,EACAmG,cAAe5N,EACf6N,UAAW5N,EACX6N,KAAM3C,QAAqBvG,EAC3BwG,SAAUA,QAAYxG,EACtBsC,QAAAA,EACAC,QAAAA,GAGJ,GAAI3C,EAAAA,EAAKQ,SAASC,EAAAA,GAAMC,cAAeD,EAAAA,GAAM8I,YAAcxS,EAAO6J,KAAK7J,OAAOiR,eAAgB,CAC1F,IAAMwB,GAAavB,EAAAA,EAAAA,IAAqBlR,EAAO6J,KAAK7J,OAAOiR,eAAgBjR,EAAO6J,KAAK7J,OAAOmR,SAC9F,OAAAxX,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOuY,GACAO,EAEX,CAEA,OAAOP,CACX,CAEA,SAAUjO,EAAmBzQ,GAA+D,IAAA2L,EAAAsF,EAAAC,EAAAgO,EAAAC,EAAA/R,EAAAgP,EAAAgD,EAAA/C,EAAA7P,EAAA6S,EAAAlD,EAAAmD,EAAAC,EAAAb,EAAAc,EAAAC,EAAAC,EAAAC,EAAA,OAAA9f,EAAAA,EAAAA,KAAAK,MAAA,SAAA0f,GAAA,cAAAA,EAAAxf,KAAAwf,EAAAvf,MAAA,OAMpF,OANoFsL,EACzB3L,EAAOS,QAA9DwQ,EAAStF,EAATsF,UAAWC,EAAavF,EAAbuF,cAAegO,EAAWvT,EAAXuT,YAAaC,EAAWxT,EAAXwT,YAAWS,EAAAvf,KAAA,GAKhD+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM8O,SAAS8K,YAAY,IAAE,KAAD,EACjC,OADiCzS,EAAAwS,EAAAjf,KAH9Dyb,EAAiBhP,EAAjBgP,kBACAgD,EAAYhS,EAAZgS,aACA/C,EAAQjP,EAARiP,SAAQuD,EAAAvf,KAAA,GAE2B+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMuP,QAAQY,UAAU5J,MAAM,IAAE,KAAD,EACtD,OADtCA,EAAwBoT,EAAAjf,KAAAif,EAAAvf,KAAA,IACoB+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMuP,QAAQY,UAAUiJ,iBAAiB,IAAE,KAAD,GACrF,OAD7BA,EAAmCO,EAAAjf,KAAAif,EAAAvf,KAAA,IACA+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMkW,iBAAiB2D,eAAe,IAAE,KAAD,GAC7E,OADzB3D,EAA0ByD,EAAAjf,KAAAif,EAAAvf,KAAA,IACK+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMmQ,UAAUqF,qBAAqB,IAAE,KAAD,GAItG,GAJK6D,EAAsBM,EAAAjf,KAEzBwe,IACCve,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBuE,iBAGrBT,EAAc,CAADM,EAAAvf,KAAA,gBAAAuf,EAAAlS,OAAA,sBAEZsS,EAAAA,EAAAA,IAAaZ,GAAc,CAADQ,EAAAvf,KAAA,SAE3B,OADMkf,EAAeL,EAAc1S,EAAQ6S,EAAiBO,EAAAvf,KAAA,IACtDO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBha,WAAW,KAAD,GAUwC,OATvEkd,EAAexC,EACjBqD,EACApD,EACAlL,EACAC,EACAkL,EACAC,GACHuD,EAAAxf,KAAA,GAAAwf,EAAAvf,KAAA,IAEkFC,EAAAA,EAAAA,IAAKyb,EAAAA,EAAiBkE,iBAAe9Z,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAOuY,GAAY,IAAES,YAAanf,EAAOS,QAAQ0e,eAAe,KAAD,GACnL,OADmLK,EAAAI,EAAAjf,KAA3K8e,EAAMD,EAANC,OAAQC,EAAiBF,EAAjBE,kBAAsBC,GAAOO,EAAAA,EAAAA,GAAAV,EAAAW,GAAAP,EAAAvf,KAAA,IACvCO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiB4E,cAAc3W,EAAAA,EAAa1I,QAAS0e,EAAQC,EAAmBP,EAAcQ,OAAS9J,IAAY,KAAD,OACzHqJ,EAAY,CAADU,EAAAvf,KAAA,SACV,OADUuf,EAAAvf,KAAA,IACJO,EAAAA,EAAAA,IAAIoL,EAAckT,eAAe,KAAD,GAE1C,OAF0CU,EAAAvf,KAAA,IAEpCC,EAAAA,EAAAA,IAAKoQ,GAAkC,KAAD,GAAAkP,EAAAvf,KAAA,iBAE5C,OAF4Cuf,EAAAxf,KAAA,GAAAwf,EAAA5e,GAAA4e,EAAA,UAAAA,EAAAvf,KAAA,IAEtCO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAakW,EAAA5e,KAAK,KAAD,oBAAA4e,EAAAze,OAAA,GAAAQ,EAAA,gBAKpD,SAAU+O,IAAgC,IAAAS,EAAA3E,EAAA6T,EAAAP,EAAAQ,EAAA/M,EAAAgN,EAAA,OAAA1gB,EAAAA,EAAAA,KAAAK,MAAC,SAADsgB,GAAA,cAAAA,EAAApgB,KAAAogB,EAAAngB,MAAA,OACK,OADLmgB,EAAAngB,KAAA,GACW+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM8O,SAASC,iBAAiBC,KAAK,IAAC,OAClF,OAD3B9D,EAAkCqP,EAAA7f,KAAA6f,EAAAngB,KAAA,GACD+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMuP,QAAQY,UAAU5J,MAAM,IAAE,KAAD,EACtE,OADtBA,EAAwBgU,EAAA7f,KAAA6f,EAAAngB,KAAA,GACI+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMkW,gBAAgB,IAAE,KAAD,EAcV,GAdUkE,EAAAG,EAAA7f,KAA7Emf,EAAeO,EAAfP,gBACFQ,EAAWG,EAAkBjU,EAAQsT,GACrCvM,EAAoD,EACtDwD,EAAAA,EAAAA,OAAeP,EAAAA,EAAAA,OAAqBG,EAAAA,EAAAA,OAAWM,EAAAA,EAAAA,OAAsBI,EAAAA,EAAAA,IAAgBlG,EAAQnH,KAAI,SAAAsN,GAAC,OAAIC,OAAOD,EAAEvH,GAAG,MAClH2H,EAAAA,EAAAA,OAAmBxC,EAAAA,EAAAA,OAAsB4C,EAAAA,EAAAA,OAAOC,EAAAA,EAAAA,OAAgBE,EAAAA,EAAAA,OAAeyI,EAAAA,EAAAA,OAC/EC,EAAAA,EAAAA,OAAgBC,EAAAA,EAAAA,OAAuBC,EAAAA,EAAAA,OAAqBC,EAAAA,EAAAA,OAAoBrI,EAAAA,EAAAA,OAAYC,EAAAA,EAAAA,OAC5FH,EAAAA,EAAAA,IAASwI,EAAAA,KAAM,iBAAiBvI,EAAAA,EAAAA,IAAOuI,EAAAA,KAAM,eAAexI,EAAAA,EAAAA,IAASwI,EAAAA,KAAM,gBAC3EvI,EAAAA,EAAAA,IAAOuI,EAAAA,KAAM,cAAcxI,EAAAA,EAAAA,IAASwI,EAAAA,KAAM,gBAAgBvI,EAAAA,EAAAA,IAAOuI,EAAAA,KAAM,cAAc5I,EAAAA,EAAAA,OAAWC,EAAAA,EAAAA,OAGhG3C,EAAAA,EAAKQ,SAASC,EAAAA,GAAMC,gBACpB5C,EAAY5M,MAAK4R,EAAAA,EAAAA,OAAYC,EAAAA,EAAAA,SAG3B+H,EAAc3H,EAAAA,EAAsBoI,UAAUV,EAAU/M,IAC9C,CAADiN,EAAAngB,KAAA,SACX,OADWmgB,EAAAngB,KAAA,IACLC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQua,QAASva,EAAAA,EAAQoP,SAASoL,SAAW,IAAMX,GAAa,KAAD,GAAAC,EAAAngB,KAAA,qBACnEqG,EAAAA,EAAQoP,SAASC,OAAO,CAADyK,EAAAngB,KAAA,SAC9B,OAD8BmgB,EAAAngB,KAAA,IACxBC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQua,QAASva,EAAAA,EAAQoP,SAASoL,UAAU,KAAD,oBAAAV,EAAArf,OAAA,GAAAU,EAAA,CAI9D,SAAS4e,EAAkBjU,EAA0B2U,GAAiC,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3ElF,EAAmB,CAAElE,cAAU1C,EAAW2C,YAAQ3C,GAElDkH,GAAkBC,EAAAA,EAAAA,IAAcxQ,EAAOyQ,YACvCG,GAAuBJ,EAAAA,EAAAA,IAAcxQ,EAAO6Q,iBAE5CuE,GAAsBzE,EAAAA,EAAAA,IAAoB3Q,EAAOyQ,YACjD4E,GAA2B1E,EAAAA,EAAAA,IAAoB3Q,EAAO6Q,iBAEtDE,EAAgB/Q,EAAOgR,SAAShR,OAAOiR,gBACvCC,EAAAA,EAAAA,IAAqBlR,EAAOgR,SAAShR,OAAOiR,eAAgBjR,EAAOgR,SAAShR,OAAOmR,SACnFlB,EACAmB,EAAepR,EAAOqR,QAAQrR,OAAOiR,gBACrCC,EAAAA,EAAAA,IAAqBlR,EAAOqR,QAAQrR,OAAOiR,eAAgBjR,EAAOqR,QAAQrR,OAAOmR,SACjFlB,EACAqB,EAAetR,EAAOuR,QAAQvR,OAAOiR,gBACrCC,EAAAA,EAAAA,IAAqBlR,EAAOuR,QAAQvR,OAAOiR,eAAgBjR,EAAOuR,QAAQvR,OAAOmR,SACjFlB,EAEA6D,EAAW,CACba,qBAAAA,EACA3H,SAAUhN,EAAOgN,SAAShN,OAAOA,QAAO,SAAAnJ,GAAC,OAAIA,EAAEqZ,QAAQ,IAAE1S,KAAI,SAAA3G,GAAC,OAAIA,EAAEye,IAAI,IACxEjF,SAAUrQ,EAAOqQ,SAASrQ,OAAOA,QAAO,SAAA2K,GAAC,OAAIA,EAAEuF,QAAQ,IAAE1S,KAAI,SAAAmN,GAAC,OAAIA,EAAE7M,KAAK,IACzE6G,QAAS3E,EAAOmS,UAAUnS,OAAOA,QAAO,SAAA8K,GAAC,OAAIA,EAAEoF,QAAQ,IAAE1S,KAAI,SAAAsN,GAAC,OAAIA,EAAEhN,KAAK,IACzEqM,QAASnK,EAAOmK,QAAQnK,OAAOA,QAAO,SAAAqK,GAAC,OAAIA,EAAE6F,QAAQ,IAAE1S,KAAI,SAAA6M,GAAC,OAAIA,EAAEvM,KAAK,IACvEoN,gBAAiBlL,EAAOsQ,eAAetQ,OAAOA,QAAO,SAAAqK,GAAC,OAAIA,EAAE6F,QAAQ,IAAE1S,KAAI,SAAA6M,GAAC,OAAIA,EAAEvM,KAAK,IACtF4K,mBAAoB1I,EAAOpI,SAASoI,OAAOA,QAAO,SAAA2K,GAAC,OAAIA,EAAEuF,QAAQ,IAAE1S,KAAI,SAAAmN,GAAC,OAAIA,EAAE7M,KAAK,IACnFoW,eAAoC,QAAtBU,EAAErE,EAAgB5K,YAAI,IAAAiP,EAAAA,EAAIQ,EAAoBzP,KAC5DwO,aAAgC,QAApBU,EAAEtE,EAAgB3K,UAAE,IAAAiP,EAAAA,EAAIO,EAAoBxP,GACxDwO,oBAA8C,QAA3BU,EAAElE,EAAqBjL,YAAI,IAAAmP,EAAAA,EAAIO,EAAyB1P,KAC3E0O,kBAA0C,QAAzBU,EAAEnE,EAAqBhL,UAAE,IAAAmP,EAAAA,EAAIM,EAAyBzP,GACvE0F,IAAKtL,EAAOsL,IAAItL,OAAOiR,eACvB1F,aAAcvL,EAAOuL,aAAavL,OAAOiR,eACzCxF,YAAazL,EAAOwR,WAAWxR,OAAOiR,eACtC5K,aAAc0K,EAAchF,SAC5BzF,WAAYyK,EAAc/E,OAC1BzF,YAAa6K,EAAarF,SAC1BvF,UAAW4K,EAAapF,OACxBvF,YAAa6K,EAAavF,SAC1BrF,UAAW4K,EAAatF,OACxBC,SAAyB,QAAjB+I,EAAEhV,EAAOiM,gBAAQ,IAAA+I,OAAA,EAAfA,EAAiBhV,OAAOA,QAAO,SAAAmQ,GAAC,OAAIA,EAAED,QAAQ,IAAE1S,KAAI,SAAA2S,GAAC,OAAIA,EAAErS,KAAK,IAC1EoO,IAAe,QAAZ+I,EAAEjV,EAAOkM,WAAG,IAAA+I,OAAA,EAAVA,EAAYjV,OAAOiR,eACxBtF,QAAuB,QAAhBuJ,EAAElV,EAAO2L,eAAO,IAAAuJ,OAAA,EAAdA,EAAgBlV,OAAOiR,eAChCrF,QAAuB,QAAhBuJ,EAAEnV,EAAO4L,eAAO,IAAAuJ,OAAA,EAAdA,EAAgBnV,OAAOiR,gBAIpC,OAAOhI,EAAAA,EAAKQ,SAASC,EAAAA,GAAMC,gBAAkB3J,EAAO6J,KAAK7J,OAAOiR,gBAActX,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACnEma,IAAc5C,EAAAA,EAAAA,IAAqBlR,EAAO6J,KAAK7J,OAAOiR,eAAgBjR,EAAO6J,KAAK7J,OAAOmR,UAC9F2C,CACV,CAEA,SAAU3P,EAA4B3Q,GAAiB,IAAAiN,EAAAgE,EAAAC,EAAA6Q,EAAA5F,EAAAuC,EAAAsD,EAAA,OAAAniB,EAAAA,EAAAA,KAAAK,MAAA,SAAA+hB,GAAA,cAAAA,EAAA7hB,KAAA6hB,EAAA5hB,MAAA,OAGX,OAHW4M,EACdjN,EAAOS,QAApCwQ,EAAShE,EAATgE,UAAWC,EAAajE,EAAbiE,cAAa+Q,EAAA5hB,KAAA,GAEc+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMuP,QAAQY,UAAUiJ,iBAAiB,IAAE,KAAD,EACjF,OAD7B0C,EAA+BE,EAAAthB,KAAAshB,EAAA5hB,KAAA,GACI+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMkW,iBAAiB2D,eAAe,IAAE,KAAD,EAO7D,OAPzC3D,EAA0B8F,EAAAthB,MAE1B+d,EAAexC,EAAgB6F,EAAe5F,EAAkBlL,EAAWC,IACpE2N,cAAgBpH,OAAOyK,EAAAA,EAA+BjR,UAAe4E,EAClF6I,EAAaI,UAAYrH,OAAO0K,EAAAA,EAA2BjR,UAAmB2E,EAAUoM,EAAA7hB,KAAA,GAAA6hB,EAAA5hB,KAAA,IAGnCC,EAAAA,EAAAA,IAAKyb,EAAAA,EAAiBqG,oBAAqB1D,GAAc,KAAD,GAAnGsD,EAAkCC,EAAAthB,MACxC0hB,EAAAA,EAAAA,QAAOL,EAAKM,KAAMN,EAAKnH,MAAMoH,EAAA5hB,KAAA,iBAE7B,OAF6B4hB,EAAA7hB,KAAA,GAAA6hB,EAAAjhB,GAAAihB,EAAA,UAAAA,EAAA5hB,KAAA,IAEvBO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAeke,EAAAjhB,KAAK,KAAD,GAE1C,OAF0CihB,EAAA7hB,KAAA,GAAA6hB,EAAA5hB,KAAA,IAEpCO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiB+G,2BAA2B,KAAD,UAAAN,EAAArY,OAAA,6BAAAqY,EAAA9gB,OAAA,GAAAY,EAAA,sBAI7D,SAAU6O,KAAkB,OAAA/Q,EAAAA,EAAAA,KAAAK,MAAC,SAADsiB,GAAA,cAAAA,EAAApiB,KAAAoiB,EAAAniB,MAAA,OACM,OADNmiB,EAAAniB,KAAA,GACY+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,QAAMof,EAAAA,EAAAA,IAAcpf,EAAE+S,UAAUsM,2BAA2B,IAAE,KAAD,EAAxF,IAAAF,EAAA7hB,KAEV,CAAD6hB,EAAAniB,KAAA,QACZ,OADYmiB,EAAAniB,KAAA,GACNO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBG,6BAA6B,KAAD,mBAAA6G,EAAArhB,OAAA,GAAAc,EAAA,CAI/D,SAAU4O,KAA+B,IAAA8R,EAAA,OAAA9iB,EAAAA,EAAAA,KAAAK,MAAC,SAAD0iB,GAAA,cAAAA,EAAAxiB,KAAAwiB,EAAAviB,MAAA,OAEG,OAFHuiB,EAAAxiB,KAAA,EAAAwiB,EAAAviB,KAAA,GAESC,EAAAA,EAAAA,IAAKyb,EAAAA,EAAiB8G,yBAAyB,KAAD,EACxF,OADMF,EAA2BC,EAAAjiB,KAAAiiB,EAAAviB,KAAA,GAC3BO,EAAAA,EAAAA,IAAIkiB,EAAAA,EAA+BC,wCAAwCJ,IAAoB,KAAD,EAAAC,EAAAviB,KAAA,gBAEpG,OAFoGuiB,EAAAxiB,KAAA,EAAAwiB,EAAA5hB,GAAA4hB,EAAA,SAAAA,EAAAviB,KAAA,IAE9FO,EAAAA,EAAAA,IAAIkiB,EAAAA,EAA+BE,yCAAyC,KAAD,GACjFC,EAAAA,EAAOC,UAASN,EAAA5hB,GAAa,2DAA2D,yBAAA4hB,EAAAzhB,OAAA,GAAAgB,EAAA,cAIzF,SAAU2O,KAAc,OAAAjR,EAAAA,EAAAA,KAAAK,MAAC,SAADijB,GAAA,cAAAA,EAAA/iB,KAAA+iB,EAAA9iB,MAAA,OAC3B,OAD2B8iB,EAAA9iB,KAAA,GACrByH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQia,EAAAA,EAAiBzT,MAAOrG,GAAW,KAAD,EAC3D,OAD2DyhB,EAAA9iB,KAAA,GACrDyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQia,EAAAA,EAAiBI,qBAAsBnL,GAAoB,KAAD,EACnF,OADmF0S,EAAA9iB,KAAA,GAC7EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQia,EAAAA,EAAiBG,2BAA4BnL,GAA4B,KAAD,EACjG,OADiG2S,EAAA9iB,KAAA,GAC3FiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQia,EAAAA,EAAiB4H,eAAgBxS,IAAoB,KAAD,EAC5E,OAD4EuS,EAAA9iB,KAAA,IACtEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQia,EAAAA,EAAiB6H,wBAAyB1S,GAA6B,KAAD,GAC/F,OAD+FwS,EAAA9iB,KAAA,IACzFiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQuhB,EAAAA,EAA+BQ,kCAAmCzS,IAAiC,KAAD,oBAAAsS,EAAAhiB,OAAA,GAAAkB,EAAA,C,ybC5kBpHkhB,IAAc3jB,GAAAC,EAAAA,EAAAA,KAAAC,KAed0jB,IAAqB7hB,GAAA9B,EAAAA,EAAAA,KAAAC,KAiBrB2jB,IAAY5hB,GAAAhC,EAAAA,EAAAA,KAAAC,KAoBZ4jB,IAAkB3hB,GAAAlC,EAAAA,EAAAA,KAAAC,KAgDlB6jB,IAAoC1hB,GAAApC,EAAAA,EAAAA,KAAAC,KAcpC8jB,IAA4BzhB,GAAAtC,EAAAA,EAAAA,KAAAC,KAW5B+jB,IAAqBxhB,GAAAxC,EAAAA,EAAAA,KAAAC,KAarBgkB,IAAmBpb,GAAA7I,EAAAA,EAAAA,KAAAC,KAanB2P,IAAW7G,GAAA/I,EAAAA,EAAAA,KAAAC,KAIXikB,IAAiCjb,GAAAjJ,EAAAA,EAAAA,KAAAC,KA0BjCkkB,IAAgChb,GAAAnJ,EAAAA,EAAAA,KAAAC,KAkBhCmkB,IAAuBC,GAAArkB,EAAAA,EAAAA,KAAAC,KAavBqkB,IAAcC,GAAAvkB,EAAAA,EAAAA,KAAAC,KASdukB,IAAuBC,GAAAzkB,EAAAA,EAAAA,KAAAC,KAYvBykB,IAAyBC,GAAA3kB,EAAAA,EAAAA,KAAAC,KAIzB2kB,IAA6BC,GAAA7kB,EAAAA,EAAAA,KAAAC,KAmB7B6kB,IAA8BC,GAAA/kB,EAAAA,EAAAA,KAAAC,KAiB9B+kB,IAA+BC,GAAAjlB,EAAAA,EAAAA,KAAAC,KAmB/BilB,IAAgCC,IAAAnlB,EAAAA,EAAAA,KAAAC,KAiBhCmlB,IAA8BC,IAAArlB,EAAAA,EAAAA,KAAAC,KAmB9BqlB,IAA+BC,IAAAvlB,EAAAA,EAAAA,KAAAC,KAiB/BulB,IAAiCC,IAAAzlB,EAAAA,EAAAA,KAAAC,KAgBjCylB,IAAkCC,IAAA3lB,EAAAA,EAAAA,KAAAC,KAqBlC2lB,IAAgCC,IAAA7lB,EAAAA,EAAAA,KAAAC,KAgBhC6lB,IAAiCC,IAAA/lB,EAAAA,EAAAA,KAAAC,KAqBjC+lB,IAAkCC,IAAAjmB,EAAAA,EAAAA,KAAAC,KAsBlCimB,IAA4BC,IAAAnmB,EAAAA,EAAAA,KAAAC,KAiC5BmmB,IAAoCC,IAAArmB,EAAAA,EAAAA,KAAAC,KAWpCqmB,IAAoCC,IAAAvmB,EAAAA,EAAAA,KAAAC,KA0CpCumB,IAA8BC,IAAAzmB,EAAAA,EAAAA,KAAAC,KAiC9BymB,IAA0BC,IAAA3mB,EAAAA,EAAAA,KAAAC,KA2E1B2mB,IAAiCC,IAAA7mB,EAAAA,EAAAA,KAAAC,KAa1B6mB,IAxoBjB,SAAUpD,GAAeqD,EAAYC,EAAmBC,GAAS,IAAAC,EAAAC,EAAAC,EAAAjF,EAAAkF,EAAAC,UAAA,OAAAtnB,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,WACxD+mB,EAAAA,EAAAA,MAAmB,CAADjnB,EAAAE,KAAA,eAAAF,EAAAuN,OAAA,iBAGvB,OAHuBvN,EAAAE,KAAA,GAGjBO,EAAAA,EAAAA,IAAIimB,EAAkBpd,EAAAA,EAAajI,UAAU,KAAD,MAAArB,EAAAC,KAAA,EAAA2mB,EAAAG,EAAAzjB,OAJgBujB,EAAM,IAAAK,MAAAN,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAND,EAAMC,EAAA,GAAAC,EAAAD,GAMvD,OANuD9mB,EAAAE,KAAA,EAMjDC,EAAAA,GAAIgnB,WAAC,EAAD,CAACV,GAAUvO,OAAK2O,IAAQ,KAAD,EAE9C,OAFMhF,EAAI7hB,EAAAQ,MACV0hB,EAAAA,EAAAA,QAAOL,EAAKM,KAAK,GAADjK,OAAKyO,EAAS,OAAAzO,OAAM1V,MAAS4kB,OAAO7jB,EAAAA,GAAU8jB,YAAW,UAASrnB,EAAAE,KAAA,IAC5EO,EAAAA,EAAAA,IAAIimB,EAAkBpd,EAAAA,EAAa1I,UAAU,KAAD,GAAAZ,EAAAE,KAAA,iBAElD,OAFkDF,EAAAC,KAAA,GAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAE5CO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,GAC1C,OAD0Cb,EAAAE,KAAA,IACpCO,EAAAA,EAAAA,IAAIimB,EAAkBpd,EAAAA,EAAaxI,UAAU,KAAD,oBAAAd,EAAAgB,OAAA,GAAAC,EAAA,eAI1D,SAAUoiB,GAAsBiE,EAAWZ,EAAmBpmB,GAAO,IAAAinB,EAAAC,EAAAC,EAAAC,EAAAC,EAAApQ,EAAA,OAAA7X,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAGjE,OAFQqnB,EAAiEjnB,EAAjEinB,MAAOC,EAA0DlnB,EAA1DknB,IAAKC,EAAqDnnB,EAArDmnB,SAAUC,EAA2CpnB,EAA3ConB,OAAQC,EAAmCrnB,EAAnCqnB,cAAepQ,EAAoBjX,EAApBiX,gBAAerW,EAAAhB,KAAA,EAE9DkjB,GACFwE,EAAAA,GAAiBxE,eACjBsD,EAAkB,UAADxO,QACP2P,EAAAA,EAAAA,YAAWP,IACrBA,EACAC,EACAC,EACAC,EACAC,EACAnQ,EACAoQ,GACF,KAAD,mBAAAzmB,EAAAF,OAAA,GAAAvB,EAAA,CAGL,SAAU6jB,GAAawE,EAAiBpB,EAAmBqB,GAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAApB,UAAA,OAAAtnB,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,WAC/D6nB,EAAa,CAAD7iB,EAAAhF,KAAA,eAAAgF,EAAAqI,OAAA,UACL,GAAI,OAGX,OAHWrI,EAAAjF,KAAA,EAAAiF,EAAAhF,KAAA,GAGLO,EAAAA,EAAAA,IAAIimB,EAAkBpd,EAAAA,EAAajI,UAAU,KAAD,MAAA2mB,EAAAI,EAAA9kB,OALkB2kB,EAAI,IAAAf,MAAAc,EAAA,EAAAA,EAAA,KAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAJD,EAAIC,EAAA,GAAAE,EAAAF,GAMvD,OANuDhjB,EAAAhF,KAAA,EAMjDC,EAAAA,GAAIgnB,WAAC,EAAD,CAACW,GAAe5P,OAAK+P,IAAM,KAAD,EACrD,OADME,EAAQjjB,EAAA1E,KAAA0E,EAAAhF,KAAA,IACRO,EAAAA,EAAAA,IAAIimB,EAAkBpd,EAAAA,EAAa1I,QAASunB,IAAW,KAAD,GAAAjjB,EAAAhF,KAAA,iBAE5D,OAF4DgF,EAAAjF,KAAA,GAAAiF,EAAArE,GAAAqE,EAAA,SAAAA,EAAAhF,KAAA,IAEtDO,EAAAA,EAAAA,IAAIimB,EAAkBpd,EAAAA,EAAaxI,UAAU,KAAD,MACzB,MAArBwW,OAAOpS,EAAArE,GAAEyY,QAAe,CAAApU,EAAAhF,KAAA,SACxB,OADwBgF,EAAAhF,KAAA,IAClBC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQua,QAASra,EAAAA,GAAO4hB,QAAQ,KAAD,GAG9B,eAAAnjB,EAAAqI,OAAA,UAGb,GALY,WACH5J,EAAAA,IAAa2kB,0BAAyBpjB,EAAArE,IAAI,CAADqE,EAAAhF,KAAA,gBAAAgF,EAAAqI,OAAA,UAC1C,GAGJ,yBAAArI,EAAAlE,OAAA,GAAAQ,EAAA,eAGf,SAAU+hB,KAAkB,IAAAtW,EAAAsb,EAAAlc,EAAA+T,EAAA3D,EAAA+L,EAAApV,EAAAqV,EAAAC,EAAA,OAAAhpB,EAAAA,EAAAA,KAAAK,MAAC,SAADqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAEE,OAFFkF,EAAAnF,KAAA,EAAAmF,EAAAlF,KAAA,GAEQ+C,EAAAA,EAAAA,KAAO,SAAAC,GAAC,OAAIA,CAAC,IAAE,KAAD,EAEE,GAFF+J,EAAA7H,EAAA5E,KAAlC+nB,EAAStb,EAATsb,UACAlc,EAAWkc,EAAXlc,SACF+T,EAAc7Z,EAAAA,EAAQoP,SAASC,QACrB,CAADxQ,EAAAlF,KAAA,SASX,OARIuc,EAAqB,GACrB+L,EAAkB,GAChBpV,EAAc,EAChB0D,EAAAA,EAAAA,KAAmB,SAAAC,GAAc,OAAI0F,EAAqB1F,CAAc,KACxE4R,EAAAA,EAAAA,KAAa,SAAAlS,GAAa,OAAI+R,EAAkB/R,CAAa,KAEjEgC,EAAAA,EAAsBC,YAAY0H,EAAahN,GACzCqV,EAAa,CAAEhM,mBAAAA,EAAoB+L,gBAAAA,GAAiBpjB,EAAAlF,KAAA,IACpDO,EAAAA,EAAAA,KAAImoB,EAAAA,EAAAA,IAA6BH,IAAa,KAAD,GACnD,OADmDrjB,EAAAlF,KAAA,IAC7CO,EAAAA,EAAAA,KAAIooB,EAAAA,EAAAA,IAAmBJ,IAAa,KAAD,GAAArjB,EAAAlF,KAAA,qBAClCmM,EAAOmc,gBAAgBllB,SAAU+I,EAAOoQ,mBAAmBnZ,OAAM,CAAA8B,EAAAlF,KAAA,SACxE,OADwEkF,EAAAlF,KAAA,IAClEO,EAAAA,EAAAA,KAAIooB,EAAAA,EAAAA,IAAmBxc,IAAS,KAAD,GAGzC,OAHyCjH,EAAAlF,KAAA,IAGnCO,EAAAA,EAAAA,KAAIqoB,EAAAA,EAAAA,OAAwB,KAAD,GAiBf,OAfZJ,EAAW,CACbpF,GAAasE,EAAAA,GAAiBmB,gBAAiBC,EAAAA,IAA2B1T,EAAAA,EAAKC,YAAYC,EAAAA,EAAoByT,gBAC/G3F,GAAasE,EAAAA,GAAiBsB,cAAeC,EAAAA,IAAyB7T,EAAAA,EAAKC,YAAYC,EAAAA,EAAoB4T,cAC3G9F,GAAasE,EAAAA,GAAiByB,oBAAqBC,EAAAA,IAA+BhU,EAAAA,EAAKC,YAAYC,EAAAA,EAAoB+T,kBACvHjG,GAAasE,EAAAA,GAAiB4B,sBAAuBC,EAAAA,IAAiCnU,EAAAA,EAAKC,YAAYC,EAAAA,EAAoBkU,sBAC3HpG,GAAasE,EAAAA,GAAiB+B,mBAAoBC,EAAAA,IAA8BtU,EAAAA,EAAKC,YAAYC,EAAAA,EAAoBqU,mBACrHvG,GAAasE,EAAAA,GAAiBkC,uBAAwBC,EAAAA,IAAkCzU,EAAAA,EAAKC,YAAYC,EAAAA,EAAoBwU,uBAC7H1G,GAAasE,EAAAA,GAAiBqC,mBAAoBC,EAAAA,IAA8B5U,EAAAA,EAAKC,YAAYC,EAAAA,EAAoB2U,mBACrH7G,GAAasE,EAAAA,GAAiBwC,wBAAyBC,EAAAA,IAAwB/U,EAAAA,EAAKC,YAAYC,EAAAA,EAAoB8U,iBACpHhH,GAAasE,EAAAA,GAAiB2C,qBAAsBC,EAAAA,IAAgClV,EAAAA,EAAKC,YAAYC,EAAAA,EAAoBiV,wBACzHnH,GAAasE,EAAAA,GAAiB8C,wBAAyBC,EAAAA,IAAmCrV,EAAAA,EAAKC,YAAYC,EAAAA,EAAoBoV,wBAC/HtH,GAAalgB,EAAAA,GAAYuB,QAASkmB,EAAAA,KAA2BC,EAAAA,EAAAA,MAAuBC,EAAAA,GAAwBC,YAC5G1H,GAAasE,EAAAA,GAAiBqD,gBAAiBC,EAAAA,KAClD9lB,EAAAlF,KAAA,IAEuBmE,EAAAA,EAAAA,IAAIqkB,GAAU,KAAD,GAAtB,IAAAtjB,EAAA5E,KAED2qB,MAAK,SAAAzU,GAAC,OAAKA,CAAC,IAAE,CAADtR,EAAAlF,KAAA,SACvB,OADuBkF,EAAAlF,KAAA,IACjBO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,mBAAmB,KAAD,GAAAwB,EAAAlF,KAAA,iBAI7C,OAJ6CkF,EAAAnF,KAAA,GAAAmF,EAAAvE,GAAAuE,EAAA,SAAAA,EAAAlF,KAAA,IAIvCO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAanE,EAAAvE,KAAK,KAAD,oBAAAuE,EAAApE,OAAA,GAAAU,EAAA,eAIhD,SAAU8hB,KAAoC,OAAA9jB,EAAAA,EAAAA,KAAAK,MAAC,SAADyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OACzB,OADyBsF,EAAAtF,KAAA,GACnBC,EAAAA,EAAAA,IACnBmjB,GACAsE,EAAAA,GAAiBwD,kCACjBC,EAAAA,KACCpE,EAAAA,EAAAA,MACD8D,EAAAA,GAAwBO,cAC1B,KAAD,EANa,GAAA9lB,EAAAhF,KAQA,CAADgF,EAAAtF,KAAA,QACT,OADSsF,EAAAtF,KAAA,GACHO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,mBAAmB,KAAD,mBAAA4B,EAAAxE,OAAA,GAAAY,EAAA,CAIjD,SAAU6hB,KAA4B,OAAA/jB,EAAAA,EAAAA,KAAAK,MAAC,SAAD8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OAChB,OADgB2F,EAAA3F,KAAA,GACVmE,EAAAA,EAAAA,IAAI,CACxBif,GAAasE,EAAAA,GAAiB2D,yBAA0BC,EAAAA,IAAmC,GAC3FlI,GAAamI,EAAAA,GAAiBC,eAAgBC,EAAAA,IAA8B,KAC7E,KAAD,EAHa,IAAA9lB,EAAArF,KAKD2qB,MAAK,SAAAzU,GAAC,OAAKA,CAAC,IAAE,CAAD7Q,EAAA3F,KAAA,QACvB,OADuB2F,EAAA3F,KAAA,GACjBO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,mBAAmB,KAAD,mBAAAiC,EAAA7E,OAAA,GAAAc,EAAA,CAIjD,SAAU4hB,KAAqB,OAAAhkB,EAAAA,EAAAA,KAAAK,MAAC,SAADoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OACV,OADUiH,EAAAjH,KAAA,GACJC,EAAAA,EAAAA,IACnBmjB,GACAsE,EAAAA,GAAiBgE,uBACjBC,EAAAA,IACCvW,EAAAA,EAAKC,YAAYC,EAAAA,EAAoBsW,kBACxC,KAAD,EALa,GAAA3kB,EAAA3G,KAOA,CAAD2G,EAAAjH,KAAA,QACT,OADSiH,EAAAjH,KAAA,GACHO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,mBAAmB,KAAD,mBAAAuD,EAAAnG,OAAA,GAAAgB,EAAA,CAIjD,SAAU2hB,KAAmB,OAAAjkB,EAAAA,EAAAA,KAAAK,MAAC,SAAD2H,GAAA,cAAAA,EAAAzH,KAAAyH,EAAAxH,MAAA,OACR,OADQwH,EAAAxH,KAAA,GACFC,EAAAA,EAAAA,IACnBmjB,GACAsE,EAAAA,GAAiBmE,gBACjBC,EAAAA,IACC1W,EAAAA,EAAKC,YAAYC,EAAAA,EAAoByW,iBACxC,KAAD,EALa,GAAAvkB,EAAAlH,KAOA,CAADkH,EAAAxH,KAAA,QACT,OADSwH,EAAAxH,KAAA,GACHO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,mBAAmB,KAAD,mBAAA8D,EAAA1G,OAAA,GAAAkB,EAAA,CAIjD,SAAUoN,KAAW,OAAA5P,EAAAA,EAAAA,KAAAK,MAAC,SAADsN,GAAA,cAAAA,EAAApN,KAAAoN,EAAAnN,MAAA,OACjB,OADiBmN,EAAAnN,KAAA,GACXO,EAAAA,EAAAA,KAAIyrB,EAAAA,EAAAA,OAAkB,KAAD,mBAAA7e,EAAArM,OAAA,GAAAuH,EAAA,CAG/B,SAAUqb,KAAiC,IAAA1D,EAAAiM,EAAAxM,EAAAyM,EAAAC,EAAAC,EAAAvpB,EAAAwpB,EAAAC,EAAAC,EAAA,OAAA/sB,EAAAA,EAAAA,KAAAK,MAAC,SAAD2N,GAAA,cAAAA,EAAAzN,KAAAyN,EAAAxN,MAAA,OAEgB,OAFhBwN,EAAAzN,KAAA,EAAAyN,EAAAxN,KAAA,GAEsB+C,EAAAA,EAAAA,KAAO,SAAA6C,GAAK,OAAIA,EAAMkW,gBAAgB,IAAE,KAAD,EAChG,OADgGkE,EAAAxS,EAAAlN,KAAA2rB,EAAAjM,EAAxFP,gBAAAA,OAAe,IAAAwM,EAAG,GAAEA,EAAAC,EAAAlM,EAAEmM,YAAAA,OAAW,IAAAD,EAAG,GAAEA,EAAA1e,EAAAxN,KAAA,IACxCO,EAAAA,EAAAA,KAAIisB,EAAAA,EAAAA,IAA2B/M,EAAgB,IAAM,KAAK,KAAD,GAE9C,GAF8C2M,GAAAxnB,EAAAA,EAAAA,GAE1C6a,EAAe,KAA7B5c,EAAUupB,EAAA,IAEF,CAAD5e,EAAAxN,KAAA,SAIR,KAHIqsB,EAAWF,EAAY/e,MAAK,SAAApK,GAAC,OAC/BH,EAAW4pB,cAAczpB,EAAE0pB,YAAQlX,EAAW,CAAEmX,YAAa,YAC7D9pB,EAAW4pB,cAAczpB,EAAE4pB,eAAWpX,EAAW,CAAEmX,YAAa,UAAW,KAGlE,CAADnf,EAAAxN,KAAA,SACR,OADQwN,EAAAxN,KAAA,IACFO,EAAAA,EAAAA,KAAIssB,EAAAA,EAAAA,OAAwC,KAAD,GACzB,OADyBrf,EAAAxN,KAAA,IACnBC,EAAAA,EAAAA,IAAK6sB,EAAAA,GAAYC,0BAA2BV,EAAS3c,IAAI,KAAD,GACtF,OADM6c,EAAe/e,EAAAlN,KAAAkN,EAAAxN,KAAA,IACfO,EAAAA,EAAAA,KAAIysB,EAAAA,EAAAA,IAAgE,QAA5BV,EAAgB,OAAfC,QAAe,IAAfA,OAAe,EAAfA,EAAiBU,kBAAU,IAAAX,EAAAA,EAAI,KAAK,KAAD,GAAA9e,EAAAxN,KAAA,iBAGtF,OAHsFwN,EAAAxN,KAAA,IAGhFO,EAAAA,EAAAA,KAAIysB,EAAAA,EAAAA,IAAqC,KAAK,KAAD,GAAAxf,EAAAxN,KAAA,iBAGvD,OAHuDwN,EAAAzN,KAAA,GAAAyN,EAAA7M,GAAA6M,EAAA,SAAAA,EAAAxN,KAAA,IAGjDO,EAAAA,EAAAA,KAAI2sB,EAAAA,EAAAA,OAAwC,KAAD,oBAAA1f,EAAA1M,OAAA,GAAAyH,EAAA,eAIzD,SAAUob,KAAgC,IAAAwJ,EAAAC,EAAA3N,EAAA4N,EAAAhB,EAAA1K,EAAA,OAAAniB,EAAAA,EAAAA,KAAAK,MAAC,SAADsO,GAAA,cAAAA,EAAApO,KAAAoO,EAAAnO,MAAA,OAEiB,OAFjBmO,EAAApO,KAAA,EAAAoO,EAAAnO,KAAA,GAEuB+C,EAAAA,EAAAA,KAAO,SAAA6C,GAAK,OAAIA,EAAMkW,gBAAgB,IAAE,KAAD,EAIzD,GAJyDqR,EAAAhf,EAAA7N,KAAA8sB,EAAAD,EAAxF1N,gBAAAA,OAAe,IAAA2N,EAAG,GAAEA,EAAAC,EAAAF,EAAEhB,cAExBE,QAFmC,IAAAgB,EAAG,GAAEA,GAEjBjgB,MAAK,SAAApK,GAAC,OAC/BA,EAAE0pB,SAAWjN,EAAgB,IAC7Bzc,EAAE4pB,YAAcnN,EAAgB,EAAE,KAGzB,CAADtR,EAAAnO,KAAA,SACK,OADLmO,EAAAnO,KAAA,IACWC,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiB4F,oBAAqBjB,EAAS3c,IAAI,KAAD,GAApEiS,EAAIxT,EAAA7N,MACV0hB,EAAAA,EAAAA,QAAOL,EAAKM,KAAMN,EAAKnH,MAAM,QAAArM,EAAAnO,KAAA,iBAGjC,OAHiCmO,EAAApO,KAAA,GAAAoO,EAAAxN,GAAAwN,EAAA,SAAAA,EAAAnO,KAAA,IAG3BO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAeyK,EAAAxN,KAAK,KAAD,oBAAAwN,EAAArN,OAAA,GAAA2H,EAAA,eAIlD,SAAUmb,GAAwBjkB,GAAM,IAAAoJ,EAAAwkB,EAAAjX,EAAAqL,EAAA,OAAAniB,EAAAA,EAAAA,KAAAK,MAAA,SAAA4O,GAAA,cAAAA,EAAA1O,KAAA0O,EAAAzO,MAAA,OAEpC,OAFoC+I,EACJpJ,EAAOS,QAA/BmtB,EAAUxkB,EAAVwkB,WAAYjX,EAAOvN,EAAPuN,QAAO7H,EAAAzO,KAAA,GACrBO,EAAAA,EAAAA,KAAIitB,EAAAA,EAAAA,KAA4C,IAAO,KAAD,EAE3C,OAF2C/e,EAAA1O,KAAA,EAAA0O,EAAAzO,KAAA,GAErCC,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiB+F,wBAAyBF,EAAYjX,GAAS,KAAD,EAAhFqL,EAAIlT,EAAAnO,MACV0hB,EAAAA,EAAAA,QAAOL,EAAKM,KAAMN,EAAKnH,MAAM/L,EAAAzO,KAAA,iBAE7B,OAF6ByO,EAAA1O,KAAA,GAAA0O,EAAA9N,GAAA8N,EAAA,SAAAA,EAAAzO,KAAA,IAEvBO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe+K,EAAA9N,KAAK,KAAD,GAE1C,OAF0C8N,EAAA1O,KAAA,GAAA0O,EAAAzO,KAAA,IAEpCO,EAAAA,EAAAA,KAAIitB,EAAAA,EAAAA,KAA4C,IAAQ,KAAD,UAAA/e,EAAAlF,OAAA,6BAAAkF,EAAA3N,OAAA,GAAA6H,EAAA,qBAIrE,SAAUmb,GAAenkB,GAAM,IAAA+hB,EAAA,OAAAliB,EAAAA,EAAAA,KAAAK,MAAA,SAAAua,GAAA,cAAAA,EAAAra,KAAAqa,EAAApa,MAAA,OACL,OADKoa,EAAApa,KAAA,GACC+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAK,OAAKA,EAAMyiB,UAAUlc,MAAM,IAAE,KAAD,EAAlD,GAAbuV,EAAatH,EAAA9Z,OACfotB,EAAAA,EAAAA,SAAQ/tB,EAAOS,QAAQ+L,OAAQuV,GAAe,CAADtH,EAAApa,KAAA,QAC7C,OAD6Coa,EAAApa,KAAA,GACvCO,EAAAA,EAAAA,KAAIotB,EAAAA,EAAAA,KAAyB,IAAQ,KAAD,EAAAvT,EAAApa,KAAA,gBAE1C,OAF0Coa,EAAApa,KAAA,IAEpCO,EAAAA,EAAAA,KAAIotB,EAAAA,EAAAA,KAAyB,IAAO,KAAD,oBAAAvT,EAAAtZ,OAAA,GAAA+iB,EAAA,CAIjD,SAAUG,GAAwBrkB,GAAM,IAAAwM,EAAA+G,EAAA+M,EAAAC,EAAA0N,EAAA,OAAApuB,EAAAA,EAAAA,KAAAK,MAAA,SAAAya,GAAA,cAAAA,EAAAva,KAAAua,EAAAta,MAAA,OASpC,OARQmM,EAAWxM,EAAOS,QAAlB+L,OACF+G,EAAc,EAAC0D,EAAAA,EAAAA,OAAsB6R,EAAAA,EAAAA,OACrCxI,EAAW,CACb3J,QAASnK,EAAOmc,gBAChB9L,SAAUrQ,EAAOoQ,oBAEf2D,EAAc3H,EAAAA,EAAsBoI,UAAUV,EAAU/M,GACxD0a,EAAI,GAAA5V,OAAM3R,EAAAA,EAAQoP,SAASoL,UAAQ7I,OAAGkI,EAAc,IAAMA,EAAc,IAAE5F,EAAAta,KAAA,GAC1EC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQua,QAASgN,GAAM,KAAD,mBAAAtT,EAAAxZ,OAAA,GAAAijB,EAAA,CAGrC,SAAUG,KAAyB,OAAA1kB,EAAAA,EAAAA,KAAAK,MAAC,SAAD0a,GAAA,cAAAA,EAAAxa,KAAAwa,EAAAva,MAAA,OAC/B,OAD+Bua,EAAAva,KAAA,GACzBC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQua,QAASva,EAAAA,EAAQoP,SAASoL,UAAU,KAAD,mBAAAtG,EAAAzZ,OAAA,GAAAmjB,EAAA,CAG1D,SAAUG,GAA8BzkB,GAAM,IAAA2L,EAAA+b,EAAAC,EAAAuG,EAAAxW,EAAAkQ,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAA6a,GAAA,cAAAA,EAAA3a,KAAA2a,EAAA1a,MAAA,OAM1C,OAN0CsL,EACI3L,EAAOS,QAA7CinB,EAAK/b,EAAL+b,MAAOC,EAAGhc,EAAHgc,IAAKuG,EAAIviB,EAAJuiB,KAAMxW,EAAe/L,EAAf+L,gBAEpBkQ,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwBiD,aAAaC,QACxDvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAMnT,EAAA1a,KAAA,EAEhCojB,GACFsE,EAAAA,GAAiBsG,cACjBC,EAAAA,KACClH,EAAAA,EAAAA,MACDmH,EAAAA,EAAaC,QACb9G,EACAC,EACAC,EACAC,EACAnQ,GACF,KAAD,mBAAAqD,EAAA5Z,OAAA,GAAAqjB,EAAA,CAGL,SAAUG,GAA+B3kB,GAAM,IAAAiN,EAAAihB,EAAAO,EAAA7G,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAAgb,GAAA,cAAAA,EAAA9a,KAAA8a,EAAA7a,MAAA,OAM3C,OAN2C4M,EACVjN,EAAOS,QAAhCytB,EAAIjhB,EAAJihB,KAASO,GAAWvO,EAAAA,EAAAA,GAAAjT,EAAAkT,GAEtByH,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwBiD,aAAaC,QACxDvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAMhT,EAAA7a,KAAA,EAEhCmjB,GACF+K,EAAAA,EAAaC,QACbE,EAAAA,IAAyCvoB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAElCsoB,GAAW,IACd7G,SAAAA,EACAC,OAAAA,KAEN,KAAD,mBAAA3M,EAAA/Z,OAAA,GAAAujB,EAAA,CAGL,SAAUG,GAAgC7kB,GAAM,IAAAmN,EAAAua,EAAAC,EAAAuG,EAAAS,EAAA/G,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAAib,GAAA,cAAAA,EAAA/a,KAAA+a,EAAA9a,MAAA,OAM5C,OAN4C8M,EACPnN,EAAOS,QAApCinB,EAAKva,EAALua,MAAOC,EAAGxa,EAAHwa,IAAKuG,EAAI/gB,EAAJ+gB,KAAMS,EAAMxhB,EAANwhB,OAEpB/G,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwB0D,eAAeR,QAC1DvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAM/S,EAAA9a,KAAA,EAEhCojB,GACFsE,EAAAA,GAAiBsG,cACjBQ,EAAAA,KACCzH,EAAAA,EAAAA,MACDmH,EAAAA,EAAalqB,UACbqjB,EACAC,EACAC,EACAC,EACA8G,GACF,KAAD,mBAAAxT,EAAAha,OAAA,GAAAyjB,EAAA,CAGL,SAAUG,GAAiC/kB,GAAM,IAAA4N,EAAAsgB,EAAAO,EAAA7G,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAAkb,GAAA,cAAAA,EAAAhb,KAAAgb,EAAA/a,MAAA,OAM7C,OAN6CuN,EACZ5N,EAAOS,QAAhCytB,EAAItgB,EAAJsgB,KAASO,GAAWvO,EAAAA,EAAAA,GAAAtS,EAAAkhB,GAEtBlH,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwB0D,eAAeR,QAC1DvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAM9S,EAAA/a,KAAA,EAEhCmjB,GACF+K,EAAAA,EAAalqB,UACb0qB,EAAAA,IAA2C5oB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAEpCsoB,GAAW,IACd7G,SAAAA,EACAC,OAAAA,KAEN,KAAD,mBAAAzM,EAAAja,OAAA,GAAA2jB,EAAA,CAGL,SAAUG,GAA+BjlB,GAAM,IAAAgO,EAAA0Z,EAAAC,EAAAuG,EAAAxW,EAAAkQ,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAA4U,GAAA,cAAAA,EAAA1U,KAAA0U,EAAAzU,MAAA,OAM3C,OAN2C2N,EACGhO,EAAOS,QAA7CinB,EAAK1Z,EAAL0Z,MAAOC,EAAG3Z,EAAH2Z,IAAKuG,EAAIlgB,EAAJkgB,KAAMxW,EAAe1J,EAAf0J,gBAEpBkQ,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwB8D,cAAcZ,QACzDvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAMpZ,EAAAzU,KAAA,EAEhCojB,GACFsE,EAAAA,GAAiBsG,cACjBY,EAAAA,KACC7H,EAAAA,EAAAA,MACDmH,EAAAA,EAAa9V,SACbiP,EACAC,EACAC,EACAC,EACAnQ,GACF,KAAD,mBAAA5C,EAAA3T,OAAA,GAAA6jB,GAAA,CAGL,SAAUG,GAAgCnlB,GAAM,IAAAkvB,EAAAhB,EAAAO,EAAA7G,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAA4b,GAAA,cAAAA,EAAA1b,KAAA0b,EAAAzb,MAAA,OAM5C,OAN4C6uB,EACXlvB,EAAOS,QAAhCytB,EAAIgB,EAAJhB,KAASO,GAAWvO,EAAAA,EAAAA,GAAAgP,EAAAC,GAEtBvH,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwB8D,cAAcZ,QACzDvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAMpS,EAAAzb,KAAA,EAEhCmjB,GACF+K,EAAAA,EAAa9V,SACb2W,EAAAA,IAA0CjpB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAEnCsoB,GAAW,IACd7G,SAAAA,EACAC,OAAAA,KAEN,KAAD,mBAAA/L,EAAA3a,OAAA,GAAA+jB,GAAA,CAGL,SAAUG,GAAkCrlB,GAAM,IAAAkuB,EAAAtG,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAA0f,GAAA,cAAAA,EAAAxf,KAAAwf,EAAAvf,MAAA,OAM9C,OALQ6tB,EAASluB,EAAOS,QAAhBytB,KAEFtG,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwBjT,YAAYmW,QACvDvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAMtO,EAAAvf,KAAA,EAEhCojB,GACFsE,EAAAA,GAAiBsH,WACjBC,EAAAA,KACClI,EAAAA,EAAAA,MACD8D,EAAAA,GAAwBjT,YAAYsX,mBACpC3H,EACAC,GACF,KAAD,mBAAAjI,EAAAze,OAAA,GAAAikB,GAAA,CAGL,SAAUG,GAAmCvlB,GAAM,IAAAwvB,EAAAtB,EAAAuB,EAAAhvB,EAAAmnB,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAAsgB,GAAA,cAAAA,EAAApgB,KAAAogB,EAAAngB,MAAA,OAW/C,OAX+CmvB,EACVxvB,EAAOS,QAApCytB,EAAIsB,EAAJtB,KAAMuB,EAAkBD,EAAlBC,mBACRhvB,EAAU,CACZgvB,mBAAAA,EACAzR,YAAY,EACZ0R,aAAc,eAGZ9H,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwBjT,YAAYmW,QACvDvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAM1N,EAAAngB,KAAA,EAEhCkjB,GACFwE,EAAAA,GAAiB4H,iBACjBC,EAAAA,GACA,eACAnvB,EACAmnB,EACAC,GACF,KAAD,mBAAArH,EAAArf,OAAA,GAAAmkB,GAAA,CAGL,SAAUG,GAAiCzlB,GAAM,IAAAkuB,EAAAtG,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAA+hB,GAAA,cAAAA,EAAA7hB,KAAA6hB,EAAA5hB,MAAA,OAM7C,OALQ6tB,EAASluB,EAAOS,QAAhBytB,KAEFtG,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwB2E,WAAWzB,QACtDvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAMjM,EAAA5hB,KAAA,EAEhCojB,GACFsE,EAAAA,GAAiBsH,WACjBS,EAAAA,KACC1I,EAAAA,EAAAA,MACD8D,EAAAA,GAAwB2E,WAAWN,mBACnC3H,EACAC,GACF,KAAD,mBAAA5F,EAAA9gB,OAAA,GAAAqkB,GAAA,CAGL,SAAUG,GAAkC3lB,GAAM,IAAA+vB,EAAA7B,EAAAuB,EAAAhvB,EAAAmnB,EAAAC,EAAA,OAAAhoB,EAAAA,EAAAA,KAAAK,MAAA,SAAAsiB,GAAA,cAAAA,EAAApiB,KAAAoiB,EAAAniB,MAAA,OAW9C,OAX8C0vB,EACT/vB,EAAOS,QAApCytB,EAAI6B,EAAJ7B,KAAMuB,EAAkBM,EAAlBN,mBACRhvB,EAAU,CACZgvB,mBAAAA,EACAO,SAAS,EACTN,aAAc,iBAGZ9H,EAAe,OAAJsG,QAAI,IAAJA,EAAAA,EAAQhD,EAAAA,GAAwB2E,WAAWzB,QACtDvG,EAAa,OAAJqG,QAAI,IAAJA,EAAAA,EAAQvrB,MAASurB,OAAM1L,EAAAniB,KAAA,EAEhCkjB,GACFwE,EAAAA,GAAiB4H,iBACjBM,EAAAA,GACA,iBACAxvB,EACAmnB,EACAC,GACF,KAAD,mBAAArF,EAAArhB,OAAA,GAAAukB,GAAA,CAGL,SAAUG,GAAmC7lB,GAAM,IAAAkwB,EAAAC,EAAAC,EAAA,OAAAvwB,EAAAA,EAAAA,KAAAK,MAAA,SAAA0iB,GAAA,cAAAA,EAAAxiB,KAAAwiB,EAAAviB,MAAA,OAQ/C,OAR+C6vB,EAM3ClwB,EAAOS,QAJP+L,OACI2jB,EAAeD,EAAfC,gBACAC,EAAYF,EAAZE,aAAYxN,EAAAviB,KAAA,EAIdojB,GACFsE,EAAAA,GAAiBwD,kCACjBC,EAAAA,KACCpE,EAAAA,EAAAA,OAAkBjhB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAEZ+kB,EAAAA,GAAwBO,cAAY,IACvC0E,gBAAiBA,IAAoBzsB,EAAAA,GAAU2sB,iBACzCxa,EACAsa,EACNC,aAAAA,KAEN,KAAD,mBAAAxN,EAAAzhB,OAAA,GAAAykB,GAAA,CAGL,SAAUG,KAA4B,IAAA5T,EAAAC,EAAAke,EAAAC,EAAArsB,EAAAC,EAAAqsB,EAAAC,EAAA,OAAA5wB,EAAAA,EAAAA,KAAAK,MAAC,SAADijB,GAAA,cAAAA,EAAA/iB,KAAA+iB,EAAA9iB,MAAA,OAK9B,OAL8B8iB,EAAA/iB,KAAA,EAExB+R,EAAO+Y,EAAAA,GAAwBwF,iBAAiBC,iBAChDve,EAAKzP,IAAAA,MAAaM,SAAQkgB,EAAA9iB,KAAA,GAE1BO,EAAAA,EAAAA,KAAIgwB,EAAAA,EAAAA,IAAgCnnB,EAAAA,EAAajI,UAAU,KAAD,EAiBf,OAf3C8uB,EAAoB,CACtBne,KAAAA,EACAC,GAAAA,EACA0F,KAAK,EACLJ,gBAAiB,CAACmZ,EAAAA,EAAeC,mBACjCtX,SAAU,CAACuX,EAAAA,GAAkBC,OAAQD,EAAAA,GAAkBE,SAGrDV,EAAsB,CACxBpe,KAAAA,EACAC,GAAAA,EACAsF,gBAAiB,CAACmZ,EAAAA,EAAeC,mBACjCtX,SAAU,CAACuX,EAAAA,GAAkBC,OAAQD,EAAAA,GAAkBE,SAC1D9N,EAAA9iB,KAAA,GAEsDmE,EAAAA,EAAAA,IAAI,EACvDlE,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiBwD,kCAAmC+E,IACzDhwB,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiBwD,kCAAmCgF,KAC1D,KAAD,EAEF,OAFErsB,EAAAif,EAAAxiB,KAAAwD,GAAAc,EAAAA,EAAAA,GAAAf,EAAA,GAHKssB,EAAiBrsB,EAAA,GAAEssB,EAAmBtsB,EAAA,GAAAgf,EAAA9iB,KAAA,IAKvCO,EAAAA,EAAAA,KAAIgwB,EAAAA,EAAAA,IAAgCnnB,EAAAA,EAAa1I,QAASyvB,EAAmBC,IAAsB,KAAD,GAAAtN,EAAA9iB,KAAA,iBAExG,OAFwG8iB,EAAA/iB,KAAA,GAAA+iB,EAAAniB,GAAAmiB,EAAA,SAAAA,EAAA9iB,KAAA,IAElGO,EAAAA,EAAAA,KAAIgwB,EAAAA,EAAAA,IAAgCnnB,EAAAA,EAAaxI,UAAU,KAAD,oBAAAkiB,EAAAhiB,OAAA,GAAA2kB,GAAA,eAIxE,SAAUG,GAAqCjmB,GAAM,IAAAkxB,EAAAC,EAAAC,EAAAngB,EAAA6N,EAAAwO,EAAA,OAAAztB,EAAAA,EAAAA,KAAAK,MAAA,SAAAmxB,GAAA,cAAAA,EAAAjxB,KAAAixB,EAAAhxB,MAAA,OAG1B,OAH0B6wB,EACSlxB,EAAOS,QAAzD0wB,EAAUD,EAAVC,WAAYC,EAAWF,EAAXE,YAAangB,EAASigB,EAATjgB,UAAW6N,EAASoS,EAATpS,UAASuS,EAAAjxB,KAAA,EAAAixB,EAAAhxB,KAAA,GAExBC,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiBuJ,kCAAmCF,EAAaD,EAAYlgB,EAAW6N,GAAW,KAAD,EAChI,OADMwO,EAAU+D,EAAA1wB,KAAA0wB,EAAAhxB,KAAA,GACVO,EAAAA,EAAAA,KAAI2wB,EAAAA,EAAAA,IAAgDjE,EAAW7N,OAAQ0R,EAAY7D,EAAW5N,oBAAoB,KAAD,EAAA2R,EAAAhxB,KAAA,gBAEvH,OAFuHgxB,EAAAjxB,KAAA,EAAAixB,EAAArwB,GAAAqwB,EAAA,SAAAA,EAAAhxB,KAAA,IAEjHO,EAAAA,EAAAA,KAAI4wB,EAAAA,EAAAA,MAAkD,QAC5D,OAD4DH,EAAAhxB,KAAA,IACtDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAestB,EAAArwB,KAAI,yBAAAqwB,EAAAlwB,OAAA,GAAA6kB,GAAA,cAIlD,SAAUG,GAAqCnmB,GAAM,IAAAmwB,EAAAhe,EAAAC,EAAAqf,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAjyB,EAAAA,EAAAA,KAAAK,MAAA,SAAA6xB,GAAA,cAAAA,EAAA3xB,KAAA2xB,EAAA1xB,MAAA,OAO7C,OAP6C0xB,EAAA3xB,KAAA,EAErC+vB,EAAoBnwB,EAAOS,QAA3B0vB,gBAEFhe,EAAO+Y,EAAAA,GAAwB8G,iBAAiBrB,iBAChDve,EAAKzP,IAAAA,MAAaM,SAAQ8uB,EAAA1xB,KAAA,GAE1BO,EAAAA,EAAAA,KAAIqxB,EAAAA,EAAAA,IAAqCxoB,EAAAA,EAAajI,UAAU,KAAD,EAuBlB,OArB7CiwB,EAA8B,CAChCtf,KAAAA,EACAC,GAAAA,EACA2F,cAAc,EACdoY,gBAAiBA,IAAoBzsB,EAAAA,GAAU2sB,YACzC,CAAC6B,EAAAA,GAAgBC,SAAUD,EAAAA,GAAgBE,KAAMF,EAAAA,GAAgBvqB,OACjE,CAACwoB,GACP3W,SAAU,CAACuX,EAAAA,GAAkBC,OAAQD,EAAAA,GAAkBE,QACvDvZ,gBAAiB,CAACmZ,EAAAA,EAAeC,oBAG/BY,EAAc,CAChBvf,KAAAA,EACAC,GAAAA,EACA+d,gBAAiBA,IAAoBzsB,EAAAA,GAAU2sB,YACzC,CAAC6B,EAAAA,GAAgBC,SAAUD,EAAAA,GAAgBE,KAAMF,EAAAA,GAAgBvqB,OACjE,CAACwoB,GACP3W,SAAU,CAACuX,EAAAA,GAAkBC,OAAQD,EAAAA,GAAkBE,QACvDvZ,gBAAiB,CAACmZ,EAAAA,EAAeC,oBACpCiB,EAAA1xB,KAAA,IAEwDmE,EAAAA,EAAAA,IAAI,EACzDlE,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiBsK,mCAAoCZ,IAC1DnxB,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiBsK,mCAAoCX,KAC3D,KAAD,GAEF,OAFEC,EAAAI,EAAApxB,KAAAixB,GAAA3sB,EAAAA,EAAAA,GAAA0sB,EAAA,GAHKE,EAA2BD,EAAA,GAAEE,EAAWF,EAAA,GAAAG,EAAA1xB,KAAA,IAKzCO,EAAAA,EAAAA,KAAIqxB,EAAAA,EAAAA,IAAqCxoB,EAAAA,EAAa1I,QAAS8wB,EAA6BC,IAAc,KAAD,GAAAC,EAAA1xB,KAAA,iBAE/G,OAF+G0xB,EAAA3xB,KAAA,GAAA2xB,EAAA/wB,GAAA+wB,EAAA,SAAAA,EAAA1xB,KAAA,IAEzGO,EAAAA,EAAAA,KAAIqxB,EAAAA,EAAAA,IAAqCxoB,EAAAA,EAAaxI,UAAU,KAAD,GACrE,OADqE8wB,EAAA1xB,KAAA,IAC/DO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAeguB,EAAA/wB,KAAK,KAAD,oBAAA+wB,EAAA5wB,OAAA,GAAA+kB,GAAA,eAIlD,SAAUG,GAA+BrmB,GAAM,IAAAsyB,EAAAC,EAAApC,EAAAC,EAAAoC,EAAAC,EAAAC,EAAAC,EAAA,OAAA9yB,EAAAA,EAAAA,KAAAK,MAAA,SAAA0yB,GAAA,cAAAA,EAAAxyB,KAAAwyB,EAAAvyB,MAAA,OAWvC,OAXuCuyB,EAAAxyB,KAAA,EAAAkyB,EASnCtyB,EAAOS,QAAO8xB,EAAAD,EANd9lB,OACI2jB,EAAeoC,EAAfpC,gBACAC,EAAYmC,EAAZnC,aAEJoC,EAAoBF,EAApBE,qBACAC,EAASH,EAATG,UAASG,EAAAvyB,KAAA,GAGPO,EAAAA,EAAAA,KAAIiyB,EAAAA,EAAAA,IAAmCppB,EAAAA,EAAajI,UAAU,KAAD,EAatD,OAXPkxB,GAAqBvsB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACpB+kB,EAAAA,GAAwB4H,qBAAmB,IAC9CN,qBAAAA,EACArgB,KAAMsgB,EACNrgB,GAAIzP,IAAAA,MAAaM,SACjBmtB,aAAAA,EACA2C,iBAAkB5C,IAAoBzsB,EAAAA,GAAU2sB,YAC1CnF,EAAAA,GAAwB4H,oBAAoBC,iBAC5C,CAAC5C,KAAgByC,EAAAvyB,KAAA,GAGRC,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiBiL,gCAAiCN,GAAuB,KAAD,EAEhG,OAFMC,EAAIC,EAAAjyB,KAAAiyB,EAAAvyB,KAAA,IAEJO,EAAAA,EAAAA,KAAIiyB,EAAAA,EAAAA,IAAmCppB,EAAAA,EAAa1I,QAAS4xB,IAAO,KAAD,GAAAC,EAAAvyB,KAAA,iBAEzE,OAFyEuyB,EAAAxyB,KAAA,GAAAwyB,EAAA5xB,GAAA4xB,EAAA,SAAAA,EAAAvyB,KAAA,IAEnEO,EAAAA,EAAAA,KAAIiyB,EAAAA,EAAAA,IAAmCppB,EAAAA,EAAaxI,UAAU,KAAD,GACnE,OADmE2xB,EAAAvyB,KAAA,IAC7DO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe6uB,EAAA5xB,KAAK,KAAD,oBAAA4xB,EAAAzxB,OAAA,GAAAilB,GAAA,eAIlD,SAAUG,GAA2BvmB,GAAM,IAAAizB,EAAAT,EAAAU,EAAA/C,EAAArT,EAAAjJ,EAAAuc,EAAA+C,EAAAC,EAAAX,EAAAY,EAAAC,EAAAC,EAAAC,EAAAC,EAAAthB,EAAAC,EAAAshB,EAAAf,EAAAgB,EAAAC,EAAAC,EAAA,OAAAh0B,EAAAA,EAAAA,KAAAK,MAAA,SAAA4zB,GAAA,cAAAA,EAAA1zB,KAAA0zB,EAAAzzB,MAAA,OAenC,OAfmCyzB,EAAA1zB,KAAA,EAAA6yB,EAa/BjzB,EAAOS,QAVP+xB,EAAoBS,EAApBT,qBAAoBU,EAAAD,EACpBzmB,OACI2jB,EAAe+C,EAAf/C,gBACArT,EAAcoW,EAAdpW,eACAjJ,EAAMqf,EAANrf,OACAuc,EAAY8C,EAAZ9C,aACA+C,EAAID,EAAJC,KACAC,EAAYF,EAAZE,aAEJX,EAASQ,EAATR,UAASqB,EAAAzzB,KAAA,GAGPO,EAAAA,EAAAA,KAAImzB,EAAAA,EAAAA,IAA8BtqB,EAAAA,EAAajI,UAAU,KAAD,EAkCjD,OAlCiD6xB,EAEZnI,EAAAA,GAAwB8I,eAAlEV,EAASD,EAATC,UAAWC,EAAQF,EAARE,SAAaC,GAAatT,EAAAA,EAAAA,GAAAmT,EAAAY,GAEvCR,GAAgBS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjBC,EAAAA,GAAKC,MAAQd,GACba,EAAAA,GAAKE,KAAOd,GAGbphB,EAAO+Y,EAAAA,GAAwB8I,eAAerD,iBAC9Cve,EAAKzP,IAAAA,MAAaM,SAElBwvB,IACAtgB,EAAOsgB,EACPrgB,EAAKzP,IAAAA,MAAaM,UAGhBywB,GAAoBvtB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACnBqtB,GAAa,IAChBhB,qBAAAA,EACArgB,KAAAA,EACAC,GAAAA,EACA2gB,iBAAkB5C,IAAoBzsB,EAAAA,GAAU2sB,YAC1CmD,EAAcT,iBACd,CAAC5C,GACPzY,gBAAiBoF,EACjBwX,eAAgBlB,IAAiB1vB,EAAAA,GAAU2sB,YACrCmD,EAAcc,eACd,CAAClB,GACPmB,aAAc1gB,EACd2gB,cAAepE,GACX+C,GAAQM,EAAiBN,IAAKW,EAAAzzB,KAAA,IAGnBC,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiB0M,qBAAsBf,GAAsB,KAAD,GAmBpF,OAnBMf,EAAImB,EAAAnzB,KAEJgzB,EAAQ,SAACrpB,GAAK,OAAKA,EAAQoqB,EAAAA,GAAaf,MAAc,IAARrpB,EAAa,GAAKA,CAAM,EAEtEspB,EAAkBjB,EAAKiB,gBAAgB5pB,KAAI,SAAC2qB,GAAM,OAAAxuB,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjDwuB,GAAM,IACTC,IAAKjB,EAAMgB,EAAOC,KAClBC,GAAIlB,EAAMgB,EAAOE,IACjBhB,OAAQF,EAAMgB,EAAOd,QACrBiB,GAAInB,EAAMgB,EAAOG,IACjBC,IAAKpB,EAAMgB,EAAOI,KAClBhwB,MAAO4uB,EAAMgB,EAAO5vB,OACpBiwB,KAAMrB,EAAMgB,EAAOK,MACnBC,cAAetB,EAAMgB,EAAOM,eAC5BC,WAAYvB,EAAMgB,EAAOO,aAAW,IAGlCrB,EAASF,EAAMhB,EAAKkB,QAAOC,EAAAzzB,KAAA,IAE3BO,EAAAA,EAAAA,KAAImzB,EAAAA,EAAAA,IAA8BtqB,EAAAA,EAAa1I,QAAS,CAAE6yB,gBAAAA,EAAiBC,OAAAA,KAAW,KAAD,GAAAC,EAAAzzB,KAAA,iBAE3F,OAF2FyzB,EAAA1zB,KAAA,GAAA0zB,EAAA9yB,GAAA8yB,EAAA,SAAAA,EAAAzzB,KAAA,IAErFO,EAAAA,EAAAA,KAAImzB,EAAAA,EAAAA,IAA8BtqB,EAAAA,EAAaxI,UAAU,KAAD,GAC9D,OAD8D6yB,EAAAzzB,KAAA,IACxDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe+vB,EAAA9yB,KAAK,KAAD,oBAAA8yB,EAAA3yB,OAAA,GAAAmlB,GAAA,eAIlD,SAAUG,KAAiC,IAAAkM,EAAA,OAAA9yB,EAAAA,EAAAA,KAAAK,MAAC,SAADi1B,GAAA,cAAAA,EAAA/0B,KAAA+0B,EAAA90B,MAAA,OAEnC,OAFmC80B,EAAA/0B,KAAA,EAAA+0B,EAAA90B,KAAA,GAE7BO,EAAAA,EAAAA,KAAIw0B,EAAAA,EAAAA,IAAqC3rB,EAAAA,EAAajI,UAAU,KAAD,EAExD,OAFwD2zB,EAAA90B,KAAA,GAElDC,EAAAA,EAAAA,IAAKynB,EAAAA,GAAiBsN,4BAA4B,KAAD,EAEpE,OAFM1C,EAAIwC,EAAAx0B,KAAAw0B,EAAA90B,KAAA,GAEJO,EAAAA,EAAAA,KAAIw0B,EAAAA,EAAAA,IAAqC3rB,EAAAA,EAAa1I,QAAS4xB,IAAO,KAAD,EAAAwC,EAAA90B,KAAA,iBAE3E,OAF2E80B,EAAA/0B,KAAA,GAAA+0B,EAAAn0B,GAAAm0B,EAAA,SAAAA,EAAA90B,KAAA,IAErEO,EAAAA,EAAAA,KAAIw0B,EAAAA,EAAAA,IAAqC3rB,EAAAA,EAAaxI,UAAU,KAAD,GACrE,OADqEk0B,EAAA90B,KAAA,IAC/DO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAeoxB,EAAAn0B,KAAK,KAAD,oBAAAm0B,EAAAh0B,OAAA,GAAAqlB,GAAA,eAI3C,SAAUG,KAAc,OAAA9mB,EAAAA,EAAAA,KAAAK,MAAC,SAADo1B,GAAA,cAAAA,EAAAl1B,KAAAk1B,EAAAj1B,MAAA,OAC3B,OAD2Bi1B,EAAAj1B,KAAA,GACrByH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQg0B,EAAAA,IAAgB7R,IAAoB,KAAD,EAC5D,OAD4D4R,EAAAj1B,KAAA,GACtDyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQi0B,EAAAA,IAAsC7R,IAAsC,KAAD,EACpG,OADoG2R,EAAAj1B,KAAA,GAC9FyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQk0B,EAAAA,IAAmC7R,IAA8B,KAAD,EACzF,OADyF0R,EAAAj1B,KAAA,GACnFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQm0B,EAAAA,IAA4B7R,IAAuB,KAAD,EAC3E,OAD2EyR,EAAAj1B,KAAA,IACrEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQo0B,EAAAA,IAA0B7R,IAAqB,KAAD,GACvE,OADuEwR,EAAAj1B,KAAA,IACjEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQq0B,EAAAA,IAA8B7R,IAAmC,KAAD,GACzF,OADyFuR,EAAAj1B,KAAA,IACnFyH,EAAAA,EAAAA,IAAWwI,EAAAA,GAAeC,OAAQd,IAAa,KAAD,GACpD,OADoD6lB,EAAAj1B,KAAA,IAC9CyH,EAAAA,EAAAA,IAAW+tB,EAAAA,GAA6B7R,IAAkC,KAAD,GAC/E,OAD+EsR,EAAAj1B,KAAA,IACzEyH,EAAAA,EAAAA,IAAWguB,EAAAA,GAA6B7R,IAAyB,KAAD,GACtE,OADsEqR,EAAAj1B,KAAA,IAChEyH,EAAAA,EAAAA,IAAWihB,EAAAA,GAA8B5E,IAAgB,KAAD,GAC9D,OAD8DmR,EAAAj1B,KAAA,IACxDyH,EAAAA,EAAAA,IAAWkhB,EAAAA,GAAoB3E,IAAyB,KAAD,GAC7D,OAD6DiR,EAAAj1B,KAAA,IACvDyH,EAAAA,EAAAA,IAAWiuB,EAAAA,GAAsBxR,IAA2B,KAAD,GACjE,OADiE+Q,EAAAj1B,KAAA,IAC3DyH,EAAAA,EAAAA,IAAWkuB,EAAAA,GAA0BvR,IAA+B,KAAD,GACzE,OADyE6Q,EAAAj1B,KAAA,IACnEyH,EAAAA,EAAAA,IAAWmuB,EAAAA,GAA2BtR,IAAgC,KAAD,GAC3E,OAD2E2Q,EAAAj1B,KAAA,IACrEyH,EAAAA,EAAAA,IAAWouB,EAAAA,GAA4BrR,IAAiC,KAAD,GAC7E,OAD6EyQ,EAAAj1B,KAAA,IACvEyH,EAAAA,EAAAA,IAAWquB,EAAAA,GAA6BpR,IAAkC,KAAD,GAC/E,OAD+EuQ,EAAAj1B,KAAA,IACzEyH,EAAAA,EAAAA,IAAWsuB,EAAAA,GAA2BnR,IAAgC,KAAD,GAC3E,OAD2EqQ,EAAAj1B,KAAA,IACrEyH,EAAAA,EAAAA,IAAWuuB,EAAAA,GAA4BlR,IAAiC,KAAD,GAC7E,OAD6EmQ,EAAAj1B,KAAA,IACvEyH,EAAAA,EAAAA,IAAWwuB,EAAAA,GAA8BjR,IAAmC,KAAD,GACjF,OADiFiQ,EAAAj1B,KAAA,IAC3EyH,EAAAA,EAAAA,IAAWyuB,EAAAA,GAA+BhR,IAAoC,KAAD,GACnF,OADmF+P,EAAAj1B,KAAA,IAC7EyH,EAAAA,EAAAA,IAAW0uB,EAAAA,GAA6B/Q,IAAkC,KAAD,GAC/E,OAD+E6P,EAAAj1B,KAAA,IACzEyH,EAAAA,EAAAA,IAAW2uB,EAAAA,GAA8B9Q,IAAmC,KAAD,GACjF,OADiF2P,EAAAj1B,KAAA,IAC3EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQm1B,EAAAA,IAAyC7Q,IAAoC,KAAD,GACrG,OADqGyP,EAAAj1B,KAAA,IAC/FyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQo1B,EAAAA,IAAmC5Q,IAA8B,KAAD,GACzF,OADyFuP,EAAAj1B,KAAA,IACnFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQq1B,EAAAA,IAAkD3Q,IAAsC,KAAD,GAChH,OADgHqP,EAAAj1B,KAAA,IAC1GyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQs1B,EAAAA,IAAwC1Q,IAAsC,KAAD,GACtG,OADsGmP,EAAAj1B,KAAA,IAChGyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu1B,EAAAA,IAAsCzQ,IAAgC,KAAD,GAC9F,OAD8FiP,EAAAj1B,KAAA,IACxFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQw1B,EAAAA,IAAiCxQ,IAA4B,KAAD,GACrF,OADqF+O,EAAAj1B,KAAA,IAC/EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQy1B,EAAAA,IAAwCvQ,IAAmC,KAAD,oBAAA6O,EAAAn0B,OAAA,GAAAulB,GAAA,C,gLCzvB7FuQ,GAA+Br3B,GAAAC,EAAAA,EAAAA,KAAAC,KAW/Bo3B,GAAmBv1B,GAAA9B,EAAAA,EAAAA,KAAAC,KAanBq3B,GAAct1B,GAAAhC,EAAAA,EAAAA,KAAAC,KAads3B,GAA+Br1B,GAAAlC,EAAAA,EAAAA,KAAAC,KAS/B2P,GAAWxN,GAAApC,EAAAA,EAAAA,KAAAC,KAGJu3B,GAjDjB,SAAUJ,IAA+B,IAAA3O,EAAAgP,EAAA,OAAAz3B,EAAAA,EAAAA,KAAAK,MAAC,SAADC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEN,OAFMF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEAC,EAAAA,EAAAA,IAAKC,EAAAA,GAAiBg3B,cAAc,KAAD,EAEpE,OAFMjP,EAAkBnoB,EAAAQ,KAClB22B,EAAYE,EAAAA,EAASC,UAAUnP,GAAU,SAACzR,GAAC,OAAKA,CAAC,IAAE,kBAAM,CAAI,IAAC1W,EAAAE,KAAA,GAC9DO,EAAAA,EAAAA,IAAI82B,EAAAA,EAA6BC,kCAAkCL,IAAW,OAAAn3B,EAAAE,KAAA,gBAEpF,OAFoFF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAE9EO,EAAAA,EAAAA,IAAI82B,EAAAA,EAA6BE,qCAAqC,KAAD,GAC3E,OAD2Ez3B,EAAAE,KAAA,IACrEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAI,yBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIlD,SAAU81B,EAAoBW,GAAgB,IAAAzqB,EAAAkqB,EAAAQ,EAAA,OAAAj4B,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAEtC,OAFsCgB,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,GAEhCC,EAAAA,EAAAA,IAAKC,EAAAA,GAAiB22B,oBAAqBW,GAAU,KAAD,EACpC,OADoCx2B,EAAAhB,KAAA,GAC9B+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM8xB,qBAAqB,IAAE,KAAD,EAGpF,OAHoF3qB,EAAA/L,EAAAV,KAA5E22B,EAASlqB,EAATkqB,iBACFQ,GAAY3xB,EAAAA,EAAAA,GAAA,GAAQmxB,IACNO,GAAUx2B,EAAAhB,KAAA,IACxBO,EAAAA,EAAAA,IAAI82B,EAAAA,EAA6BM,kCAAkCF,EAAcD,IAAU,QAAAx2B,EAAAhB,KAAA,iBAEjG,OAFiGgB,EAAAjB,KAAA,GAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAE3FO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,mBAAmB,KAAD,GACzC,OADyC1C,EAAAhB,KAAA,IACnCO,EAAAA,EAAAA,IAAI82B,EAAAA,EAA6BO,kCAAkCJ,IAAU,yBAAAx2B,EAAAF,OAAA,GAAAvB,EAAA,eAI3F,SAAUu3B,EAAeU,GAAgB,IAAAxX,EAAAiX,EAAAQ,EAAA,OAAAj4B,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAEjC,OAFiCgF,EAAAjF,KAAA,EAAAiF,EAAAhF,KAAA,GAE3BC,EAAAA,EAAAA,IAAKC,EAAAA,GAAiB42B,eAAgBU,GAAU,KAAD,EAC/B,OAD+BxyB,EAAAhF,KAAA,GACzB+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM8xB,qBAAqB,IAAE,KAAD,EAGpF,OAHoF1X,EAAAhb,EAAA1E,KAA5E22B,EAASjX,EAATiX,WACFQ,GAAY3xB,EAAAA,EAAAA,GAAA,GAAQmxB,IACbO,IAAY,EAAKxyB,EAAAhF,KAAA,IACxBO,EAAAA,EAAAA,IAAI82B,EAAAA,EAA6BM,kCAAkCF,EAAcD,IAAU,QAAAxyB,EAAAhF,KAAA,iBAEjG,OAFiGgF,EAAAjF,KAAA,GAAAiF,EAAArE,GAAAqE,EAAA,SAAAA,EAAAhF,KAAA,IAE3FO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,mBAAmB,KAAD,GACzC,OADyCsB,EAAAhF,KAAA,IACnCO,EAAAA,EAAAA,IAAI82B,EAAAA,EAA6BO,kCAAkCJ,IAAU,yBAAAxyB,EAAAlE,OAAA,GAAAQ,EAAA,eAI3F,SAAUy1B,EAAgCp3B,GAAiB,IAAAoJ,EAAAyuB,EAAA,OAAAh4B,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAC3B,GAD2B+I,EACtBpJ,EAAOS,QAAhCo3B,EAAQzuB,EAARyuB,UAAoBzuB,EAAV8uB,WACH,CAAD3yB,EAAAlF,KAAA,QACV,OADUkF,EAAAlF,KAAA,EACJ62B,EAAoBW,GAAU,KAAD,EAAAtyB,EAAAlF,KAAA,eAEnC,OAFmCkF,EAAAlF,KAAA,EAE7B82B,EAAeU,GAAS,wBAAAtyB,EAAApE,OAAA,GAAAU,EAAA,CAItC,SAAU4N,IAAW,OAAA5P,EAAAA,EAAAA,KAAAK,MAAC,SAADyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OACjB,OADiBsF,EAAAtF,KAAA,GACXO,EAAAA,EAAAA,IAAI82B,EAAAA,EAA6B/vB,SAAS,KAAD,mBAAAhC,EAAAxE,OAAA,GAAAY,EAAA,CAE5C,SAAUs1B,IAA0B,OAAAx3B,EAAAA,EAAAA,KAAAK,MAAC,SAAD8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OACvC,OADuC2F,EAAA3F,KAAA,GACjCiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQm2B,EAAAA,EAA6BS,mCAAoClB,GAAiC,KAAD,EACzH,OADyHjxB,EAAA3F,KAAA,GACnHiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQm2B,EAAAA,EAA6BU,mCAAoChB,GAAiC,KAAD,EACzH,OADyHpxB,EAAA3F,KAAA,GACnHiB,EAAAA,EAAAA,IAAUgP,EAAAA,GAAeC,OAAQd,GAAa,KAAD,mBAAAzJ,EAAA7E,OAAA,GAAAc,EAAA,C,8ICrD7Co2B,GAAsBz4B,GAAAC,EAAAA,EAAAA,KAAAC,KAUtBw4B,GAAmB32B,GAAA9B,EAAAA,EAAAA,KAAAC,KAcnBy4B,GAAkB12B,GAAAhC,EAAAA,EAAAA,KAAAC,KAiBlB04B,GAA0Bz2B,GAAAlC,EAAAA,EAAAA,KAAAC,KAkBnB24B,GA3DjB,SAAUJ,IAAsB,IAAAK,EAAA,OAAA74B,EAAAA,EAAAA,KAAAK,MAAC,SAADC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEmB,OAFnBF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEyBC,EAAAA,EAAAA,IAAKq4B,EAAAA,EAAqBC,iBAAiB,KAAD,EAC3F,OADMF,EAAkCv4B,EAAAQ,KAAAR,EAAAE,KAAA,GAClCO,EAAAA,EAAAA,IAAIi4B,EAAAA,EAAqBD,gBAAgB73B,QAAQ23B,IAAY,OAAAv4B,EAAAE,KAAA,gBAEnE,OAFmEF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAE7DO,EAAAA,EAAAA,IAAIkD,EAAAA,EAAa4F,cAAavJ,EAAAa,KAAK,KAAD,GACxC,OADwCb,EAAAE,KAAA,IAClCO,EAAAA,EAAAA,IAAIi4B,EAAAA,EAAqBD,gBAAgB33B,QAAOd,EAAAa,KAAI,yBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIlE,SAAUk3B,EAAoBt4B,GAAoE,IAAA84B,EAAA,OAAAj5B,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAEzC,OAFyCgB,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,GAEnCC,EAAAA,EAAAA,IAAKq4B,EAAAA,EAAqBI,aAAc/4B,EAAOS,QAAQu4B,WAAU,OACxH,OADMF,EAAwCz3B,EAAAV,KAAAU,EAAAhB,KAAA,GACxCO,EAAAA,EAAAA,IAAIi4B,EAAAA,EAAqBE,aAAah4B,QAAQ,CAChDk4B,aAAcH,EAAQG,aACtBC,YAAaJ,EAAQI,YACrBC,SAAUL,EAAQK,YACnB,OAAA93B,EAAAhB,KAAA,gBAEH,OAFGgB,EAAAjB,KAAA,EAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAEGO,EAAAA,EAAAA,IAAIkD,EAAAA,EAAa4F,cAAarI,EAAAL,KAAK,KAAD,GACxC,OADwCK,EAAAhB,KAAA,IAClCO,EAAAA,EAAAA,IAAIi4B,EAAAA,EAAqBE,aAAa93B,QAAOI,EAAAL,KAAK,KAAD,oBAAAK,EAAAF,OAAA,GAAAvB,EAAA,cAI/D,SAAU24B,EAAmBv4B,GAAqE,IAAAo5B,EAAA,OAAAv5B,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAEhD,OAFgDgF,EAAAjF,KAAA,EAAAiF,EAAAhF,KAAA,GAE1CC,EAAAA,EAAAA,IAC5Cq4B,EAAAA,EAAqBU,cACrBr5B,EAAOS,QAAQsV,OACf/V,EAAOS,QAAQ64B,YACjB,KAAD,EACD,OALMF,EAAiC/zB,EAAA1E,KAAA0E,EAAAhF,KAAA,GAKjCO,EAAAA,EAAAA,IAAIi4B,EAAAA,EAAqBQ,cAAct4B,QAAQ,CACjDw4B,QAASH,EAAc3Z,OACvBC,kBAAmB0Z,EAAc1Z,qBAClC,OAAAra,EAAAhF,KAAA,gBAEH,OAFGgF,EAAAjF,KAAA,EAAAiF,EAAArE,GAAAqE,EAAA,SAAAA,EAAAhF,KAAA,IAEGO,EAAAA,EAAAA,IAAIkD,EAAAA,EAAa4F,cAAarE,EAAArE,KAAK,KAAD,GACxC,OADwCqE,EAAAhF,KAAA,IAClCO,EAAAA,EAAAA,IAAIi4B,EAAAA,EAAqBQ,cAAcp4B,QAAOoE,EAAArE,KAAK,KAAD,oBAAAqE,EAAAlE,OAAA,GAAAQ,EAAA,cAIhE,SAAU62B,EAA2Bx4B,GAAsE,IAAAo5B,EAAA,OAAAv5B,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAEzD,OAFyDkF,EAAAnF,KAAA,EAAAmF,EAAAlF,KAAA,GAEnDC,EAAAA,EAAAA,IAC5Cq4B,EAAAA,EAAqBU,cACrBr5B,EAAOS,QAAQsV,OACf/V,EAAOS,QAAQ64B,WACft5B,EAAOS,QAAQse,MACjB,KAAD,EACD,OANMqa,EAAiC7zB,EAAA5E,KAAA4E,EAAAlF,KAAA,GAMjCO,EAAAA,EAAAA,IAAIi4B,EAAAA,EAAqBW,eAAez4B,QAAQ,CAClDw4B,QAASH,EAAc3Z,OACvBC,kBAAmB0Z,EAAc1Z,qBAClC,OAAAna,EAAAlF,KAAA,gBAEH,OAFGkF,EAAAnF,KAAA,EAAAmF,EAAAvE,GAAAuE,EAAA,SAAAA,EAAAlF,KAAA,IAEGO,EAAAA,EAAAA,IAAIkD,EAAAA,EAAa4F,cAAanE,EAAAvE,KAAK,KAAD,GACxC,OADwCuE,EAAAlF,KAAA,IAClCO,EAAAA,EAAAA,IAAIi4B,EAAAA,EAAqBW,eAAev4B,QAAOsE,EAAAvE,KAAK,KAAD,oBAAAuE,EAAApE,OAAA,GAAAU,EAAA,cAI1D,SAAU42B,IAAkB,OAAA54B,EAAAA,EAAAA,KAAAK,MAAC,SAADyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OAC/B,OAD+BsF,EAAAtF,KAAA,GACzBiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQs3B,EAAAA,EAAqBD,gBAAgBp3B,SAAU62B,GAAuB,OAC9F,OAD8F1yB,EAAAtF,KAAA,GACxFiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQs3B,EAAAA,EAAqBE,aAAav3B,SAAU82B,GAAoB,OACxF,OADwF3yB,EAAAtF,KAAA,GAClFiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQs3B,EAAAA,EAAqBQ,cAAc73B,SAAU+2B,GAAmB,OACxF,OADwF5yB,EAAAtF,KAAA,GAClFiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQs3B,EAAAA,EAAqBW,eAAeh4B,SAAUg3B,GAA2B,wBAAA7yB,EAAAxE,OAAA,GAAAY,EAAA,C,0JChE3F03B,GAAY75B,GAAAC,EAAAA,EAAAA,KAAAC,KAUL45B,GAVjB,SAAUD,IAAY,IAAAE,EAAA,OAAA95B,EAAAA,EAAAA,KAAAK,MAAC,SAADC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEwB,OAFxBF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAE8BC,EAAAA,EAAAA,IAAKs5B,EAAAA,EAAwBC,qBAAqB,KAAD,EAC7F,OADMF,EAA6Bx5B,EAAAQ,KAAAR,EAAAE,KAAA,GAC7BO,EAAAA,EAAAA,IAAIk5B,EAAAA,EAAwB1Z,cAAc3W,EAAAA,EAAa1I,QAAS44B,IAAc,KAAD,EAAAx5B,EAAAE,KAAA,gBAEnF,OAFmFF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAE7EO,EAAAA,EAAAA,IAAIk5B,EAAAA,EAAwB1Z,cAAc3W,EAAAA,EAAaxI,UAAU,KAAD,GACtE,OADsEd,EAAAE,KAAA,IAChEO,EAAAA,EAAAA,IAAIkD,EAAAA,EAAa4F,cAAavJ,EAAAa,KAAK,KAAD,oBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIzC,SAAUs4B,IAAqB,OAAA75B,EAAAA,EAAAA,KAAAK,MAAC,SAADmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAClC,OADkCgB,EAAAhB,KAAA,GAC5BiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQu4B,EAAAA,EAAwBt4B,SAAUi4B,GAAc,KAAD,mBAAAp4B,EAAAF,OAAA,GAAAvB,EAAA,C,wJCXjEm6B,GAA0Bn6B,GAAAC,EAAAA,EAAAA,KAAAC,KAUnBk6B,GAVjB,SAAUD,IAA0B,IAAAE,EAAA,OAAAp6B,EAAAA,EAAAA,KAAAK,MAAC,SAADC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEI,OAFJF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEUC,EAAAA,EAAAA,IAAK45B,EAAAA,EAAsBC,kBAAkB,KAAD,EAClF,OADMF,EAAuB95B,EAAAQ,KAAAR,EAAAE,KAAA,GACvBO,EAAAA,EAAAA,IAAIw5B,EAAAA,EAAqBha,cAAc3W,EAAAA,EAAa1I,QAASk5B,IAAS,KAAD,EAAA95B,EAAAE,KAAA,gBAE3E,OAF2EF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAErEO,EAAAA,EAAAA,IAAIw5B,EAAAA,EAAqBha,cAAc3W,EAAAA,EAAaxI,UAAU,KAAD,GACnE,OADmEd,EAAAE,KAAA,IAC7DO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAavJ,EAAAa,KAAK,KAAD,oBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIzC,SAAU44B,IAAmB,OAAAn6B,EAAAA,EAAAA,KAAAK,MAAC,SAADmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAChC,OADgCgB,EAAAhB,KAAA,GAC1BiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQ64B,EAAAA,EAAqB54B,SAAUu4B,GAA4B,KAAD,mBAAA14B,EAAAF,OAAA,GAAAvB,EAAA,C,uWCqB5Ey6B,GAAaz6B,GAAAC,EAAAA,EAAAA,KAAAC,KAgBbw6B,GAAe34B,GAAA9B,EAAAA,EAAAA,KAAAC,KAcfy6B,GAAmB14B,GAAAhC,EAAAA,EAAAA,KAAAC,KAYZ06B,GAAez4B,GAAAlC,EAAAA,EAAAA,KAAAC,KActB26B,GAA0Bx4B,GAAApC,EAAAA,EAAAA,KAAAC,KAmD1B46B,GAAev4B,GAAAtC,EAAAA,EAAAA,KAAAC,KAyBf66B,GAAuBt4B,GAAAxC,EAAAA,EAAAA,KAAAC,KA0DvB86B,GAAqBlyB,GAAA7I,EAAAA,EAAAA,KAAAC,KA2DrB+6B,GAAwBjyB,GAAA/I,EAAAA,EAAAA,KAAAC,KA2BxBg7B,GAA+BhyB,GAAAjJ,EAAAA,EAAAA,KAAAC,KAiB/Bi7B,GAAuB/xB,GAAAnJ,EAAAA,EAAAA,KAAAC,KA2BhBk7B,IAAwB9W,GAAArkB,EAAAA,EAAAA,KAAAC,KAY/Bm7B,IAAgB7W,GAAAvkB,EAAAA,EAAAA,KAAAC,KA8BhBo7B,IAAyB5W,GAAAzkB,EAAAA,EAAAA,KAAAC,KAWzBq7B,IAAiC3W,GAAA3kB,EAAAA,EAAAA,KAAAC,KAgB1Bs7B,IA/YjB,SAASC,EAAe/wB,EAAegxB,GAGnC,OAF8BC,EAAAA,EAAMC,WAAWC,MAAMC,qBAErCC,SAASrxB,GACd,wCAGJ,EACX,CAEA,SAAU+vB,EAAcr6B,GAAgD,IAAAkD,EAAAu4B,EAAA,OAAA57B,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAGjC,OAHiCF,EAAAC,KAAA,EAExD8C,EAAelD,EAAOS,QAAtByC,WAAU/C,EAAAE,KAAA,GACmBC,EAAAA,EAAAA,IACjCs7B,EAAAA,EAAaC,mBACH,OAAV34B,QAAU,IAAVA,OAAU,EAAVA,EAAY8S,SAAU,GACtB,aACA,GACF,KAAD,EAED,OAPMylB,EAAsBt7B,EAAAQ,KAAAR,EAAAE,KAAA,GAOtBO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaC,eAAeN,IAAQ,KAAD,EAAAt7B,EAAAE,KAAA,gBAE7C,OAF6CF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,GAEvCyD,EAAAA,EAAaC,gBAAe5D,EAAAa,IAAQ,KAAD,oBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIjD,SAAUk5B,EAAgBvvB,GAAyB,IAAA7G,EAAAC,EAAA63B,EAAAC,EAAAC,EAAA,OAAAr8B,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAC0C,OAD1CgB,EAAAhB,KAAA,GACgDmE,EAAAA,EAAAA,IAAI,EAC/FlE,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAaO,eAAgBpxB,IAClCzK,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAaQ,oBAAqBrxB,IACvCzK,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAaS,iBAAkBtxB,KACrC,KAAD,EAJkC,OAIlC7G,EAAA7C,EAAAV,KAAAwD,GAAAc,EAAAA,EAAAA,GAAAf,EAAA,GAJK83B,EAAI73B,EAAA,GAAE83B,EAAY93B,EAAA,GAAE+3B,EAAS/3B,EAAA,GAAA9C,EAAAqM,OAAA,UAAAvH,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAO7B61B,GAAI,IACPC,cAAcK,EAAAA,EAAAA,QAAOL,EAAc,eAAeM,UAClDL,UAAAA,KAAS,wBAAA76B,EAAAF,OAAA,GAAAvB,EAAA,CAIjB,SAAU26B,EAAoBv6B,GAAsD,IAAAyF,EAAA+2B,EAAA,OAAA38B,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAI3C,OAJ2CgF,EAAAjF,KAAA,EAEpEqF,EAAkBzF,EAAOS,QAAzBgF,cAAaJ,EAAAhF,KAAA,EAEkBi6B,EAAgB70B,GAAe,KAAD,EAErE,OAFM+2B,EAAwBn3B,EAAA1E,KAAA0E,EAAAhF,KAAA,GAExBO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaW,qBAAqBh3B,EAAe+2B,IAAc,KAAD,EAAAn3B,EAAAhF,KAAA,gBAExE,OAFwEgF,EAAAjF,KAAA,EAAAiF,EAAArE,GAAAqE,EAAA,SAAAA,EAAAhF,KAAA,GAElEyD,EAAAA,EAAaC,gBAAesB,EAAArE,IAAQ,KAAD,oBAAAqE,EAAAlE,OAAA,GAAAQ,EAAA,cAI1C,SAAU64B,EAAgBx6B,GAAkD,IAAAoJ,EAAA3D,EAAAi3B,EAAA3xB,EAAA,OAAAlL,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAIzC,OAJyCkF,EAAAnF,KAAA,EAAAgJ,EAEvCpJ,EAAOS,QAAnCgF,EAAa2D,EAAb3D,cAAei3B,EAAQtzB,EAARszB,SAAQn3B,EAAAlF,KAAA,GAESC,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAae,WAAYl3B,EAAei3B,GAAU,KAAD,EAC9F,OADM3xB,EAAyBxF,EAAA5E,KAAA4E,EAAAlF,KAAA,GACzBO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAac,iBAAiBnzB,EAAAA,EAAa1I,UAAU,KAAD,EAE9D,OAF8DwE,EAAAlF,KAAA,GAExDC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAOi2B,SAAS9xB,EAAmB+xB,EAAAA,EAAaC,aAAa,KAAD,EACrF,OADqFx3B,EAAAlF,KAAA,IAC/EO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaK,eAAepxB,IAAoB,KAAD,GAAAxF,EAAAlF,KAAA,iBAEzD,OAFyDkF,EAAAnF,KAAA,GAAAmF,EAAAvE,GAAAuE,EAAA,SAAAA,EAAAlF,KAAA,GAEnDyD,EAAAA,EAAaC,gBAAewB,EAAAvE,IAAQ,KAAD,oBAAAuE,EAAApE,OAAA,GAAAU,EAAA,eAIjD,SAAU44B,EAA2Bz6B,GAA6D,IAAAg9B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA1Q,EAAA2Q,EAAAC,EAAAC,EAAAtQ,EAAAZ,EAAAmR,EAAA,OAAAh+B,EAAAA,EAAAA,KAAAK,MAAA,SAAAyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OA8B3D,OA9B2DsF,EAAAvF,KAAA,EAElF48B,EAAkBh9B,EAAOS,QAAzBu8B,cAEJC,EASAD,EATAC,WACAC,EAQAF,EARAE,UACAC,EAOAH,EAPAG,SACAC,EAMAJ,EANAI,WACAC,EAKAL,EALAK,UACAC,EAIAN,EAJAM,SACAC,EAGAP,EAHAO,oBACAC,EAEAR,EAFAQ,mBACAC,EACAT,EADAS,kBAGE1Q,EAASkQ,GAAcG,GAAcG,EACrCG,EAAQR,GAAaG,GAAaG,EAClCG,EAAOR,GAAYG,GAAYG,EAE/BG,EACFX,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,EAAiB93B,EAAAtF,KAAA,GAEgBC,EAAAA,EAAAA,IAAK6sB,EAAAA,GAAYhR,iBAAkByhB,GAAY,KAAD,EAOjF,GAPItQ,EAAsB3nB,EAAAhF,OAEtB+rB,EAAWY,EAAW7f,MACxB,SAAApK,GAAC,QACI0pB,GAASA,IAAW1pB,EAAE0pB,WACtB2Q,GAAQA,IAAUr6B,EAAEq6B,UACpBC,GAAOA,IAASt6B,EAAEs6B,KAAY,KAK1B,CAADh4B,EAAAtF,KAAA,SACK,OADLsF,EAAAtF,KAAA,IACWC,EAAAA,EAAAA,IAAK6sB,EAAAA,GAAYC,0BAA2BV,EAAS3c,IAAI,KAAD,GAA3E8tB,EAAUl4B,EAAAhF,KAAA,QAGd,OAHcgF,EAAAtF,KAAA,IAGRO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAagC,4BAA4BpR,EAAUmR,IAAa,KAAD,GAAAl4B,EAAAtF,KAAA,iBAEzE,OAFyEsF,EAAAvF,KAAA,GAAAuF,EAAA3E,GAAA2E,EAAA,SAAAA,EAAAtF,KAAA,GAEnEyD,EAAAA,EAAaC,gBAAe4B,EAAA3E,IAAQ,KAAD,oBAAA2E,EAAAxE,OAAA,GAAAY,EAAA,eAIjD,SAAU24B,EAAgB16B,GAAyD,IAAAyF,EAAAg2B,EAAAsC,EAAAC,EAAAC,EAAAC,EAAA,OAAAr+B,EAAAA,EAAAA,KAAAK,MAAA,SAAA8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OAGrD,OAHqD2F,EAAA5F,KAAA,EAEnEqF,EAAkBzF,EAAOS,QAAzBgF,cAAaO,EAAA3F,KAAA,GACO+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAEo4B,MAAM9I,IAAI,IAAE,KAAD,EAOjE,OAPM8I,EAAaz1B,EAAArF,KAEbo9B,EAAYtC,EAAMj0B,WAAU,SAAA8P,GAAC,OAAIA,EAAE7R,gBAAkBA,CAAa,IAElEu4B,EAAevC,EAAMsC,EAAY,GACjCE,EAAWxC,EAAMsC,EAAY,GAAE/3B,EAAA3F,KAAA,IAE/BC,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAauC,WAAY14B,GAAe,KAAD,GAClD,OADkDO,EAAA3F,KAAA,IAC5CO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAasC,iBAAiB30B,EAAAA,EAAa1I,QAAS0E,IAAgB,KAAD,OAEzEu4B,IAAgBC,EAAQ,CAAAj4B,EAAA3F,KAAA,SAGxB,OAFM69B,GAAsB,OAAZF,QAAY,IAAZA,OAAY,EAAZA,EAAcv4B,iBAAyB,OAARw4B,QAAQ,IAARA,OAAQ,EAARA,EAAUx4B,eAAaO,EAAA3F,KAAA,IAEhEC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAOi2B,SAASqB,EAASpB,EAAAA,EAAauB,WAAW,KAAD,GAAAr4B,EAAA3F,KAAA,iBAEzE,OAFyE2F,EAAA3F,KAAA,IAEnEC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAO03B,aAAa,KAAD,GAAAt4B,EAAA3F,KAAA,iBAGhD,OAHgD2F,EAAA5F,KAAA,GAAA4F,EAAAhF,GAAAgF,EAAA,SAAAA,EAAA3F,KAAA,GAG1CyD,EAAAA,EAAaC,gBAAeiC,EAAAhF,IAAQ,KAAD,oBAAAgF,EAAA7E,OAAA,GAAAc,EAAA,eAIjD,SAAU04B,EAAwB36B,GAA0D,IAAAg8B,EAAAC,EAAAsC,EAAAC,EAAAC,EAAAC,EAAA,OAAA7+B,EAAAA,EAAAA,KAAAK,MAAA,SAAAoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OAGxF,OAFQ27B,EAASh8B,EAAOS,QAAhBu7B,KAAI10B,EAAAjH,KAAA,GAENO,EAAAA,EAAAA,IAAI+9B,EAAAA,IAAYh3B,SAAS,KAAD,EAEiB,OAFjBL,EAAAjH,KAAA,GAEuBC,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAaQ,oBAAqBJ,EAAKv2B,cAAe,CAC5GstB,iBAAkB,CAACb,EAAAA,GAAgBC,SAAUD,EAAAA,GAAgBE,KAAMF,EAAAA,GAAgBvqB,SACpF,KAAD,EA+CF,OAjDMs0B,EAAsC30B,EAAA3G,KAItC49B,GAAiCp4B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAChCy4B,EAAAA,GAAYL,mCAAiC,IAChDM,0BAA2B,WAAF,OACrBC,EAAAA,EAAAA,SACI7C,EAAajyB,KAAI,SAAA+0B,GAAW,OACxBA,EAAYL,QAAQ10B,KAAI,SAAAg1B,GAAgB,MAAK,CACzC9lB,IAAI,GAADb,OAAK0mB,EAAYt5B,cAAa,KAAA4S,OAAI2mB,EAAiBv5B,eACtDw5B,MAAM,GAAD5mB,OAAK0mB,EAAYt5B,cAAa,MAAA4S,OAAK2mB,EAAiBv5B,eAC5D,GAAE,IAEV,IAGH+4B,EAAoBI,EAAAA,GAAYM,kBAAkBl1B,KAAI,SAAAm1B,GACxD,OAAQA,EAAOtkB,MACX,KAAK+jB,EAAAA,GAAYQ,gBAAgBvkB,KACjC,KAAK+jB,EAAAA,GAAYS,gBAAgBxkB,KACjC,KAAK+jB,EAAAA,GAAYU,yBAAyBzkB,KACtC,OAAA1U,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACOg5B,GAAM,IACTI,SAAU,SAACj1B,EAAegxB,GAA+B,OAAKD,EAAe/wB,EAAgB,IAErG,KAAKs0B,EAAAA,GAAYY,kBAAkB3kB,KACnC,KAAK+jB,EAAAA,GAAYa,YAAY5kB,KACzB,OAAA1U,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYg5B,GAAM,IAAEO,gCAAiC5D,EAAAA,EAAa6D,yBACtE,KAAKf,EAAAA,GAAYgB,YAAY/kB,KACzB,OAAA1U,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYg5B,GAAM,IAAEO,gCAAiC5D,EAAAA,EAAa+D,yBACtE,KAAKjB,EAAAA,GAAYkB,UAAUjlB,KACvB,OAAA1U,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAYg5B,GAAM,IAAEO,gCAAiC5D,EAAAA,EAAaiE,0BACtE,QACI,OAAOZ,EAEnB,IAEMV,EAAO,GAAApmB,QAAAC,EAAAA,EAAAA,GAAOkmB,GAAiB,CAAED,IAEjCG,EAAU1C,EAAK0C,QAAQ10B,KAAI,SAAAg2B,GAAO,OAAA75B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACjC65B,GAAO,IACV5P,aAAc4L,EAAK5L,aACnB6P,mCACID,EAAQh1B,0BAA4Bg1B,EAAQE,uBAAsB,GAAA7nB,OACzD2nB,EAAQh1B,yBAAwB,KAAAqN,OAAI2nB,EAAQE,wBAC/C,MAAI,IACf54B,EAAAjH,KAAA,IAEGO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaqE,eAAezB,IAAU,KAAD,GAC/C,OAD+Cp3B,EAAAjH,KAAA,IACzCO,EAAAA,EAAAA,IAAI+9B,EAAAA,IAAY52B,KAAK22B,EAASD,EAAS,MAAM,KAAD,oBAAAn3B,EAAAnG,OAAA,GAAAgB,EAAA,CAGtD,SAAUy4B,EAAsB56B,GAAwD,IAAA+K,EAAAq1B,EAAAC,EAAA3B,EAAAlC,EAAA8D,EAAAC,EAAA,OAAA1gC,EAAAA,EAAAA,KAAAK,MAAA,SAAA2H,GAAA,cAAAA,EAAAzH,KAAAyH,EAAAxH,MAAA,OAEQ,OADpF0K,EAAsB/K,EAAOS,QAA7BsK,kBAAiBlD,EAAAxH,KAAA,GACyE+C,EAAAA,EAAAA,KAC9F,SAAC6C,GAAe,OAAKA,EAAMu6B,KAAKJ,SAAS,IAC3C,KAAD,EAKG,OAPEA,EAAmFv4B,EAAAlH,KAInF0/B,EAAgBD,EAAU5zB,QAAO,SAAAi0B,GAAI,OAAKA,EAAKC,KAAK,IAAC74B,EAAAzH,KAAA,EAAAyH,EAAAxH,KAAA,GAGjDO,EAAAA,EAAAA,IAAI+9B,EAAAA,IAAYY,YAAY,KAAD,MAE7Bc,EAAc/U,MAAK,SAAAqV,GAAC,IAAAC,EAAA,OAAY,QAAZA,EAAID,EAAEE,cAAM,IAAAD,OAAA,EAARA,EAAUn9B,MAAM,IAAE,CAADoE,EAAAxH,KAAA,gBAAAwH,EAAA6F,OAAA,kBAkB7C,OAdMgxB,EAAUoC,EAAAA,GACXC,kBAAkBV,GAClBr2B,KAAI,SAAAg3B,GAAyD,IAAtDf,EAAkCe,EAAlCf,mCAAuCD,GAAO9f,EAAAA,EAAAA,GAAA8gB,EAAA7gB,GAClD8gB,GACIhB,GAAsC,IACxCiB,MAAM,KAAIC,GAAAl8B,EAAAA,EAAAA,GAAAg8B,EAAA,GAFLj2B,EAAwBm2B,EAAA,GAAEjB,EAAsBiB,EAAA,GAIvD,OAAAh7B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACO65B,GAAO,IACVh1B,yBAAAA,EACAk1B,uBAAAA,GAER,IAAEr4B,EAAAxH,KAAA,IAEAC,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAawF,cAAer2B,EAAmB2zB,GAAS,KAAD,GACjC,OADiC72B,EAAAxH,KAAA,GAC3Bi6B,EAAgBvvB,GAAmB,KAAD,GAEzE,OAFMyxB,EAAwB30B,EAAAlH,KAAAkH,EAAAxH,KAAA,IAExBO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaW,qBAAqB1xB,EAAmByxB,IAAc,KAAD,GAE5E,OAF4E30B,EAAAxH,KAAA,IAEtEC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAOy6B,kBAAkBt2B,IAAoB,KAAD,GAgB/B,KAAD,GAAAlD,EAAAxH,KAAA,SAhBgC,QAErE,OAFqEwH,EAAAzH,KAAA,GAAAyH,EAAA7G,GAAA6G,EAAA,SAAAA,EAAAxH,KAAA,GAE/DyD,EAAAA,EAAaC,gBAAe8D,EAAA7G,IAAQ,KAAD,OAErC6G,EAAA7G,GAAMsgC,QAAQ,CAADz5B,EAAAxH,KAAA,SAGb,IACIigC,EAAYz1B,KAAK02B,MAAM15B,EAAA7G,GAAMsgC,QACjC,CAAE,MAAOE,GACLlB,EAAY,CAAC,CACjB,CAIA,OAFMC,EAAoBloB,EAAAA,OAAMiP,WAAC,GAADhP,EAAAA,EAAAA,IAAIV,EAAAA,EAAAA,QAAO0oB,KAAWz4B,EAAAxH,KAAA,IAEhDO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAa2F,6BAA6BlB,IAAoB,KAAD,GACvE,OADuE14B,EAAAxH,KAAA,IACjEO,EAAAA,EAAAA,IAAI+9B,EAAAA,IAAYY,YAAW,QAEjC,OAFiC13B,EAAAxH,KAAA,GAE3ByD,EAAAA,EAAaC,gBAAe8D,EAAA7G,IAAQ,KAAD,GAG7C,OAH6C6G,EAAAzH,KAAA,GAAAyH,EAAAxH,KAAA,IAGvCO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAa4F,4BAA4B,KAAD,UAAA75B,EAAA+B,OAAA,6BAAA/B,EAAA1G,OAAA,GAAAkB,EAAA,qBAI1D,SAAUw4B,EAAyB76B,GAAkE,IAAA2L,EAAAZ,EAAAC,EAAA22B,EAAAC,EAAAC,EAAA,OAAAhiC,EAAAA,EAAAA,KAAAK,MAAA,SAAAsN,GAAA,cAAAA,EAAApN,KAAAoN,EAAAnN,MAAA,OAa7F,OAb6FmN,EAAApN,KAAA,EAAAuL,EAGzF3L,EAAOS,QADHsK,EAAiBY,EAAjBZ,kBAAmBC,EAAwBW,EAAxBX,yBAA0B22B,EAAkBh2B,EAAlBg2B,mBAAoBC,EAA6Bj2B,EAA7Bi2B,8BAGnEC,EAAW,CACbA,SAAUD,EAA8B53B,KAAI,SAAA83B,GAAmB,MAAK,CAChEC,qBAAsBJ,EACtBK,0BAA2BF,EAC3BG,QAAS,GACZ,KACJz0B,EAAAnN,KAAA,GAEKC,EAAAA,EAAAA,IACFs7B,EAAAA,EAAasG,oBACbn3B,EACAC,EACA22B,EACAE,GACF,KAAD,EAED,OAFCr0B,EAAAnN,KAAA,GAEKO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaqG,+BAA+B,KAAD,EAAA30B,EAAAnN,KAAA,gBAErD,OAFqDmN,EAAApN,KAAA,EAAAoN,EAAAxM,GAAAwM,EAAA,SAAAA,EAAAnN,KAAA,GAE/CyD,EAAAA,EAAaC,gBAAeyJ,EAAAxM,IAAQ,KAAD,oBAAAwM,EAAArM,OAAA,GAAAuH,EAAA,cAIjD,SAAUoyB,EAAgC96B,GAAyE,IAAAiN,EAAAlC,EAAA42B,EAAAS,EAAA,OAAAviC,EAAAA,EAAAA,KAAAK,MAAA,SAAA2N,GAAA,cAAAA,EAAAzN,KAAAyN,EAAAxN,MAAA,OAI3G,OAJ2GwN,EAAAzN,KAAA,EAAA6M,EAEjCjN,EAAOS,QAAzEsK,EAAiBkC,EAAjBlC,kBAAmB42B,EAAkB10B,EAAlB00B,mBAAoBS,EAAsBn1B,EAAtBm1B,uBAAsBv0B,EAAAxN,KAAA,GAE/DC,EAAAA,EAAAA,IACFs7B,EAAAA,EAAayG,2BACbt3B,EACA42B,EACAS,GACF,KAAD,EAED,OAFCv0B,EAAAxN,KAAA,GAEKO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAawG,sCAAsC,KAAD,EAAAz0B,EAAAxN,KAAA,gBAE5D,OAF4DwN,EAAAzN,KAAA,EAAAyN,EAAA7M,GAAA6M,EAAA,SAAAA,EAAAxN,KAAA,GAEtDyD,EAAAA,EAAaC,gBAAe8J,EAAA7M,IAAQ,KAAD,oBAAA6M,EAAA1M,OAAA,GAAAyH,EAAA,cAIjD,SAAUmyB,EAAwB/6B,GAA0D,IAAA0+B,EAAAD,EAAA8D,EAAA,OAAA1iC,EAAAA,EAAAA,KAAAK,MAAA,SAAAsO,GAAA,cAAAA,EAAApO,KAAAoO,EAAAnO,MAAA,OAGxF,OAFQq+B,EAAY1+B,EAAOS,QAAnBi+B,QAAOlwB,EAAAnO,KAAA,GAETO,EAAAA,EAAAA,IAAI+9B,EAAAA,IAAYh3B,SAAS,KAAD,EAe9B,OAbM82B,EAAUG,EAAAA,GAAY4D,kBAEtBD,GAAep8B,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACdy4B,EAAAA,GAAY6D,WAAS,IACxBlD,SAAU,SAACj1B,EAAegxB,GACtB,IAAMoH,EAAsBjrB,OAAO6jB,EAASoH,qBAE5C,OAAOp4B,EAA8B,EAAtBo4B,EAAuB,gDAAArqB,OACgBsqB,EAAAA,GAAWC,MAA4B,EAAtBF,GAAwB,4BACzF,EACV,IAACl0B,EAAAnO,KAAA,GAGCO,EAAAA,EAAAA,IACF+9B,EAAAA,IAAY52B,KACR22B,EACAD,EAAQz0B,KAAI,SAAAmN,GAAC,OAAKA,EAAE0D,OAAS0nB,EAAgB1nB,KAAO0nB,EAAkBprB,CAAC,IACvEunB,EAAQj7B,SAEd,KAAD,mBAAA+K,EAAArN,OAAA,GAAA2H,EAAA,CAGE,SAAUkyB,GAAyBh7B,GAA2D,IAAAmN,EAAA1H,EAAAo9B,EAAA,OAAAhjC,EAAAA,EAAAA,KAAAK,MAAA,SAAA4O,GAAA,cAAAA,EAAA1O,KAAA0O,EAAAzO,MAAA,OAG7F,OAH6FyO,EAAA1O,KAAA,EAAA+M,EAE7CnN,EAAOS,QAA/CgF,EAAa0H,EAAb1H,cAAeo9B,EAAoB11B,EAApB01B,qBAAoB/zB,EAAAzO,KAAA,GACrCC,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAakH,oBAAqBr9B,EAAeo9B,GAAsB,KAAD,EACjF,OADiF/zB,EAAAzO,KAAA,GAC3EO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaiH,0BAA0Bt5B,EAAAA,EAAa1I,UAAU,KAAD,EACvE,OADuE+N,EAAAzO,KAAA,GACjEC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAOi2B,SAASp3B,EAAeq3B,EAAAA,EAAakG,YAAY,KAAD,EAChF,OADgFl0B,EAAAzO,KAAA,IAC1EO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaK,eAAe12B,IAAgB,KAAD,GAAAqJ,EAAAzO,KAAA,iBAErD,OAFqDyO,EAAA1O,KAAA,GAAA0O,EAAA9N,GAAA8N,EAAA,SAAAA,EAAAzO,KAAA,GAE/CyD,EAAAA,EAAaC,gBAAe+K,EAAA9N,IAAQ,KAAD,oBAAA8N,EAAA3N,OAAA,GAAA6H,EAAA,eAIjD,SAAUiyB,GAAiBj7B,GAAmD,IAAA4N,EAAA7C,EAAAC,EAAAi4B,EAAA7C,EAAAC,EAAA3B,EAAAlC,EAAA,OAAA38B,EAAAA,EAAAA,KAAAK,MAAA,SAAAua,GAAA,cAAAA,EAAAra,KAAAqa,EAAApa,MAAA,OAItE,OAJsEoa,EAAAra,KAAA,EAAAwN,EAEL5N,EAAOS,QAAhEsK,EAAiB6C,EAAjB7C,kBAAmBC,EAAwB4C,EAAxB5C,yBAA0Bi4B,EAAOr1B,EAAPq1B,QAAOxoB,EAAApa,KAAA,GAEtDO,EAAAA,EAAAA,IAAI+9B,EAAAA,IAAYY,YAAY,KAAD,EAEW,OAFX9kB,EAAApa,KAAA,GAEiB+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMu6B,KAAKJ,SAAS,IAAE,KAAD,EACvC,GADtDA,EAAmC3lB,EAAA9Z,OACnC0/B,EAAgBD,EAAU5zB,QAAO,SAAAi0B,GAAI,OAAKA,EAAKC,KAAK,KAExCpV,MAAK,SAAAqV,GAAC,IAAAuC,EAAA,OAAY,QAAZA,EAAIvC,EAAEE,cAAM,IAAAqC,OAAA,EAARA,EAAUz/B,MAAM,IAAE,CAADgX,EAAApa,KAAA,gBAAAoa,EAAA/M,OAAA,kBAQ7C,OAJMgxB,EAAUoC,EAAAA,GACXC,kBAAkBV,GAClBr2B,KAAI,SAAAmN,GAAC,OAAAhR,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAUgR,GAAC,IAAEgsB,gBAAiBhsB,EAAEisB,yBAA2B,KAAG,IAAI3oB,EAAApa,KAAA,IAEtEC,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAayH,YAAat4B,EAAmBC,GAAwB7E,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAO88B,GAAO,IAAEvE,QAAAA,KAAW,KAAD,GAE1G,OAF0GjkB,EAAApa,KAAA,IAEpGC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAO08B,eAAev4B,EAAmBC,IAA2B,KAAD,GAE3D,OAF2DyP,EAAApa,KAAA,GAErDi6B,EAAgBvvB,GAAmB,KAAD,GACzE,OADMyxB,EAAwB/hB,EAAA9Z,KAAA8Z,EAAApa,KAAA,IACxBO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaW,qBAAqB1xB,EAAmByxB,IAAc,KAAD,GAAA/hB,EAAApa,KAAA,iBAE5E,OAF4Eoa,EAAAra,KAAA,GAAAqa,EAAAzZ,GAAAyZ,EAAA,SAAAA,EAAApa,KAAA,GAEtEyD,EAAAA,EAAaC,gBAAe0W,EAAAzZ,IAAQ,KAAD,GAEzC,OAFyCyZ,EAAAra,KAAA,GAAAqa,EAAApa,KAAA,IAEnCO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAayH,uBAAuB,KAAD,UAAA9oB,EAAA7Q,OAAA,6BAAA6Q,EAAAtZ,OAAA,GAAA+iB,EAAA,qBAIrD,SAAUgX,GAA0Bl7B,GAA4D,IAAAgO,EAAAjD,EAAAC,EAAA,OAAAnL,EAAAA,EAAAA,KAAAK,MAAA,SAAAya,GAAA,cAAAA,EAAAva,KAAAua,EAAAta,MAAA,OAGxF,OAHwFsa,EAAAva,KAAA,EAAA4N,EAEhChO,EAAOS,QAAvDsK,EAAiBiD,EAAjBjD,kBAAmBC,EAAwBgD,EAAxBhD,yBAAwB2P,EAAAta,KAAA,GAC7CC,EAAAA,EAAAA,IAAKs7B,EAAAA,EAAa4H,cAAez4B,EAAmBC,GAA0B,KAAD,EACnF,OADmF2P,EAAAta,KAAA,GAC7EO,EAAAA,EAAAA,IAAIk7B,EAAAA,EAAaK,eAAepxB,IAAoB,KAAD,EACzD,OADyD4P,EAAAta,KAAA,GACnDC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAOi2B,SAAS9xB,EAAmB+xB,EAAAA,EAAa2G,UAAU,KAAD,EAAA9oB,EAAAta,KAAA,iBAElF,OAFkFsa,EAAAva,KAAA,GAAAua,EAAA3Z,GAAA2Z,EAAA,SAAAA,EAAAta,KAAA,GAE5EyD,EAAAA,EAAaC,gBAAe4W,EAAA3Z,IAAQ,KAAD,oBAAA2Z,EAAAxZ,OAAA,GAAAijB,EAAA,eAIjD,SAAU+W,GAAkCn7B,GAAoE,IAAAkvB,EAAAnkB,EAAA24B,EAAA14B,EAAA22B,EAAAgC,EAAA3hB,EAAA,OAAAniB,EAAAA,EAAAA,KAAAK,MAAA,SAAA0a,GAAA,cAAAA,EAAAxa,KAAAwa,EAAAva,MAAA,OAI7D,OAJ6Dua,EAAAxa,KAAA,EAAA8uB,EAGpGlvB,EAAOS,QADHsK,EAAiBmkB,EAAjBnkB,kBAAmB24B,EAAaxU,EAAbwU,cAAe14B,EAAwBkkB,EAAxBlkB,yBAA0B22B,EAAkBzS,EAAlByS,mBAAoBgC,EAAczU,EAAdyU,eAAc/oB,EAAAva,KAAA,GAErDC,EAAAA,EAAAA,IAC7Cs7B,EAAAA,EAAagI,6BACb74B,EACAC,EACA22B,GACF,KAAD,EALK3f,EAAkCpH,EAAAja,KAMxC0hB,IAAOL,EAAKM,KAAK,GAADjK,OAAKqrB,EAAa,KAAArrB,OAAIsrB,EAAc,iCAAgC/oB,EAAAva,KAAA,gBAEpF,OAFoFua,EAAAxa,KAAA,EAAAwa,EAAA5Z,GAAA4Z,EAAA,SAAAA,EAAAva,KAAA,GAE9EyD,EAAAA,EAAaC,gBAAe6W,EAAA5Z,IAAQ,KAAD,oBAAA4Z,EAAAzZ,OAAA,GAAAmjB,EAAA,cAI1C,SAAU8W,KAAU,OAAAv7B,EAAAA,EAAAA,KAAAK,MAAC,SAAD6a,GAAA,cAAAA,EAAA3a,KAAA2a,EAAA1a,MAAA,OACvB,OADuB0a,EAAA1a,KAAA,GACjByH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAa+H,UAAWxJ,GAAe,KAAD,EAC/D,OAD+Dtf,EAAA1a,KAAA,GACzDyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAaK,gBAAiB5B,GAAqB,KAAD,EAC3E,OAD2Exf,EAAA1a,KAAA,GACrEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAaa,YAAanC,GAAiB,KAAD,EACnE,OADmEzf,EAAA1a,KAAA,GAC7DyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAagI,uBAAwBrJ,GAA4B,KAAD,EACzF,OADyF1f,EAAA1a,KAAA,IACnFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAaiI,mBAAoBrJ,GAAiB,KAAD,GAC1E,OAD0E3f,EAAA1a,KAAA,IACpEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAakI,oBAAqBrJ,GAAyB,KAAD,GACnF,OADmF5f,EAAA1a,KAAA,IAC7EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAagH,qBAAsB9H,IAA0B,KAAD,GACrF,OADqFjgB,EAAA1a,KAAA,IAC/EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAamI,kBAAmBrJ,GAAuB,KAAD,GAC/E,OAD+E7f,EAAA1a,KAAA,IACzEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAaoI,4BAA6BrJ,GAA0B,KAAD,GAC5F,OAD4F9f,EAAA1a,KAAA,IACtFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAaqI,mCAAoCrJ,GAAiC,KAAD,GAC1G,OAD0G/f,EAAA1a,KAAA,IACpGyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAa8H,8BAA+BzI,IAAmC,KAAD,GACvG,OADuGpgB,EAAA1a,KAAA,IACjGyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAasI,oBAAqBrJ,GAAyB,KAAD,GACnF,OADmFhgB,EAAA1a,KAAA,IAC7EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAauI,aAAcpJ,IAAkB,KAAD,GACrE,OADqElgB,EAAA1a,KAAA,IAC/DyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQu6B,EAAAA,EAAawI,sBAAuBpJ,IAA2B,KAAD,oBAAAngB,EAAA5Z,OAAA,GAAAqjB,EAAA,C,qMC7ajF+f,GAAkB3kC,GAAAC,EAAAA,EAAAA,KAAAC,KAUlB0kC,GAAkB7iC,GAAA9B,EAAAA,EAAAA,KAAAC,KA0BX2kC,GApCjB,SAAUF,IAAkB,IAAAtK,EAAA,OAAAp6B,EAAAA,EAAAA,KAAAK,MAAC,SAADC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEY,OAFZF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEkBC,EAAAA,EAAAA,IAAKokC,EAAAA,GAAeC,yBAAyB,KAAD,EAClF,OADM1K,EAAuB95B,EAAAQ,KAAAR,EAAAE,KAAA,GACvBO,EAAAA,EAAAA,IAAIgkC,EAAAA,EAAsBC,oBAAoBp7B,EAAAA,EAAa1I,QAASk5B,IAAS,KAAD,EAAA95B,EAAAE,KAAA,gBAElF,OAFkFF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAE5EO,EAAAA,EAAAA,IAAIgkC,EAAAA,EAAsBC,oBAAoBp7B,EAAAA,EAAaxI,UAAU,KAAD,GAC1E,OAD0Ed,EAAAE,KAAA,IACpEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,oBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIlD,SAAUojC,EAAmBxkC,GAAoC,IAAA8kC,EAAAC,EAAAC,EAAA,OAAAnlC,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAEpB,OADjC0kC,EAAU/kC,EAAV+kC,MAAK1jC,EAAAhB,KAAA,GACkC+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM8O,SAASkwB,eAAe7lB,YAAY,IAAE,KAAD,EAAhF,GAAhC4lB,EAAgC3jC,EAAAV,MAElCukC,EAAAA,EAAAA,IAAiBF,IAAwBvvB,EAAAA,EAAKQ,SAASC,EAAAA,GAAMivB,aAAcjvB,EAAAA,GAAMkvB,oBAAmB,CAAA/jC,EAAAhB,KAAA,eAAAgB,EAAAqM,OAAA,iBAShD,GAHpDq3B,EAAMtrB,SAAW4rB,EAAAA,EAAYC,SAC7B7vB,EAAAA,EAAKQ,SAASC,EAAAA,GAAMivB,eACpBJ,EAAMQ,eACNR,EAAMQ,cAAcx1B,MAAqB,QAAnB+0B,EAAKrvB,EAAAA,EAAK+vB,iBAAS,IAAAV,OAAA,EAAdA,EAAgBpkC,WAErB,CAADW,EAAAhB,KAAA,SACrB,OADqBgB,EAAAhB,KAAA,IACfO,EAAAA,EAAAA,IAAIgkC,EAAAA,EAAsBG,MAAM,CAClCh1B,GAAIwH,OAAOwtB,EAAMh1B,IACjB01B,uBAAwBV,EAAMU,uBAC9BC,sBAAuBX,EAAMW,sBAC7BjsB,OAAQsrB,EAAMtrB,UACd,KAAD,oBAAApY,EAAAF,OAAA,GAAAvB,EAAA,CAKJ,SAAU6kC,IAAmB,OAAA5kC,EAAAA,EAAAA,KAAAK,MAAC,SAADmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAChC,OADgCgF,EAAAhF,KAAA,GAC1BiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQqjC,EAAAA,EAAsBe,eAAgBpB,GAAoB,KAAD,EACjF,OADiFl/B,EAAAhF,KAAA,GAC3EiB,EAAAA,EAAAA,IAAUskC,EAAAA,GAAgBC,gBAAiBrB,GAAoB,KAAD,mBAAAn/B,EAAAlE,OAAA,GAAAQ,EAAA,C,+IC3C9DmkC,GAAsBlmC,GAAAC,EAAAA,EAAAA,KAAAC,KAQtBimC,GAAuCpkC,GAAA9B,EAAAA,EAAAA,KAAAC,KAWvCkmC,GAAyBnkC,GAAAhC,EAAAA,EAAAA,KAAAC,KAQzBmmC,GAAiClkC,GAAAlC,EAAAA,EAAAA,KAAAC,KAqB1BomC,GAlDXC,GAAU55B,EAAAA,EAAAA,KAEhB,SAAUu5B,EAAuB9lC,GAAwD,IAAAmM,EAAAH,EAAA,OAAAnM,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAKrF,OAJM8L,EAAanM,EAAOS,QAAQ0L,WAE5BH,GAAgBO,EAAAA,EAAAA,GAAoBJ,GAAWhM,EAAAE,KAAA,GAE/CO,EAAAA,EAAAA,IAAIoL,EAAco6B,qBAAqB,KAAD,mBAAAjmC,EAAAgB,OAAA,GAAAC,EAAA,CAGhD,SAAU2kC,EACN/lC,GAAqE,IAAAmM,EAAAH,EAAA,OAAAnM,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAMrE,OAJM8L,EAAanM,EAAOS,QAAQ0L,WAE5BH,GAAgBO,EAAAA,EAAAA,GAAoBJ,GAAW9K,EAAAhB,KAAA,GAE/CO,EAAAA,EAAAA,IAAIoL,EAAc8M,eAAe,KAAD,EACtC,OADsCzX,EAAAhB,KAAA,GAChCO,EAAAA,EAAAA,IAAIoL,EAAcgB,yBAAyB,QAAI6I,IAAY,KAAD,mBAAAxU,EAAAF,OAAA,GAAAvB,EAAA,CAGpE,SAAUomC,EAA0BhmC,GAAuD,IAAAmM,EAAAH,EAAA,OAAAnM,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAKvF,OAJM8L,EAAanM,EAAOS,QAAQ0L,WAE5BH,GAAgBO,EAAAA,EAAAA,GAAoBJ,GAAW9G,EAAAhF,KAAA,GAE/CO,EAAAA,EAAAA,IAAIoL,EAAcq6B,mBAAmB,CAAC,IAAI,KAAD,mBAAAhhC,EAAAlE,OAAA,GAAAQ,EAAA,CAGnD,SAAUskC,EAAkCjmC,GAAoE,IAAAoJ,EAAA+C,EAAAm6B,EAAAC,EAAAv6B,EAAA8O,EAAA0rB,EAAA,OAAA3mC,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAEtD,GAFsD+I,EACtDpJ,EAAOS,QAArD0L,EAAU/C,EAAV+C,WAAYm6B,EAAUl9B,EAAVk9B,WAAYC,EAAiBn9B,EAAjBm9B,kBAC1Bv6B,GAAgBO,EAAAA,EAAAA,GAAoBJ,IACtCo6B,EAAkBjsB,QAAUisB,EAAkBjsB,MAAMnI,OAAQo0B,EAAkBjsB,MAAMlI,GAAG,CAAA7M,EAAAlF,KAAA,SAEvF,OADMya,GAAe/B,EAAAA,EAAAA,IAAqBC,EAAAA,EAAuBytB,WAAYF,EAAkBjsB,MAAMnI,KAAMo0B,EAAkBjsB,MAAMlI,IAAG7M,EAAAlF,KAAA,GAChIO,EAAAA,EAAAA,IAAIoL,EAAcgP,kBAAkBsrB,IAAa,KAAD,EACtD,OADsD/gC,EAAAlF,KAAA,GAChDO,EAAAA,EAAAA,IAAIoL,EAAcoN,uBAAuB0B,EAAcwrB,IAAa,KAAD,EACzE,OADyE/gC,EAAAlF,KAAA,IACnEO,EAAAA,EAAAA,IACFoL,EAAc06B,2BAA2B,CAAEv0B,KAAMo0B,EAAkBjsB,MAAMnI,KAAMC,GAAIm0B,EAAkBjsB,MAAMlI,IAAMk0B,IACnH,KAAD,OAEDC,EAAkBlsB,QAAUksB,EAAkBlsB,MAAMlI,OAAQo0B,EAAkBlsB,MAAMjI,GAAG,CAAA7M,EAAAlF,KAAA,SAEvF,OADMya,GAAe/B,EAAAA,EAAAA,IAAqBC,EAAAA,EAAuB2tB,OAAQJ,EAAkBlsB,MAAMlI,KAAMo0B,EAAkBlsB,MAAMjI,IAAG7M,EAAAlF,KAAA,IAC5HO,EAAAA,EAAAA,IAAIoL,EAAcgP,kBAAkBsrB,IAAa,KAAD,GACtD,OADsD/gC,EAAAlF,KAAA,IAChDO,EAAAA,EAAAA,IAAIoL,EAAcoN,uBAAuB0B,EAAcwrB,IAAa,KAAD,GACzE,OADyE/gC,EAAAlF,KAAA,IACnEO,EAAAA,EAAAA,IACFoL,EAAcqN,4BAA4B,CAAElH,KAAMo0B,EAAkBlsB,MAAMlI,KAAMC,GAAIm0B,EAAkBlsB,MAAMjI,IAAMk0B,IACpH,KAAD,oBAAA/gC,EAAApE,OAAA,GAAAU,EAAA,CAIF,SAAUqkC,IAAW,OAAArmC,EAAAA,EAAAA,KAAAK,MAAC,SAADyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OACxB,OADwBsF,EAAAtF,KAAA,GAClBiB,EAAAA,EAAAA,IACF,EACIC,EAAAA,EAAAA,SAAQ4kC,EAAQzsB,qBAChBnY,EAAAA,EAAAA,SAAQ4kC,EAAQS,uBAChBrlC,EAAAA,EAAAA,SAAQ4kC,EAAQU,oBAChBtlC,EAAAA,EAAAA,SAAQ4kC,EAAQ/rB,oBAChB7Y,EAAAA,EAAAA,SAAQ4kC,EAAQW,yBAChBvlC,EAAAA,EAAAA,SAAQ4kC,EAAQY,kCAChBxlC,EAAAA,EAAAA,SAAQ4kC,EAAQa,wBAChBzlC,EAAAA,EAAAA,SAAQ4kC,EAAQc,iCAChB1lC,EAAAA,EAAAA,SAAQ4kC,EAAQ/sB,yBAChB7X,EAAAA,EAAAA,SAAQ4kC,EAAQe,+BAChB3lC,EAAAA,EAAAA,SAAQ4kC,EAAQO,6BAChBnlC,EAAAA,EAAAA,SAAQ4kC,EAAQ9sB,8BAChB9X,EAAAA,EAAAA,SAAQ4kC,EAAQgB,kCAEpBrB,GACF,KAAD,EACD,OADCngC,EAAAtF,KAAA,GACKiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQ4kC,EAAQiB,oCAAqCrB,GAAyC,KAAD,EAC7G,OAD6GpgC,EAAAtF,KAAA,GACvGiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQ4kC,EAAQkB,sBAAuBrB,GAA2B,KAAD,EACjF,OADiFrgC,EAAAtF,KAAA,GAC3EiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQ4kC,EAAQ5rB,mCAAoC0rB,GAAkC,wBAAAtgC,EAAAxE,OAAA,GAAAY,EAAA,C,0NC/DhGulC,GAAkB1nC,GAAAC,EAAAA,EAAAA,KAAAC,KAWlBynC,GAAwB5lC,GAAA9B,EAAAA,EAAAA,KAAAC,KAUxB0nC,GAAkC3lC,GAAAhC,EAAAA,EAAAA,KAAAC,KASlC2nC,GAAqB1lC,GAAAlC,EAAAA,EAAAA,KAAAC,KAKrB4nC,GAAyCzlC,GAAApC,EAAAA,EAAAA,KAAAC,KAMzC6nC,GAAoBxlC,GAAAtC,EAAAA,EAAAA,KAAAC,KAUpB8nC,GAAuBvlC,GAAAxC,EAAAA,EAAAA,KAAAC,KAYvB2P,GAAW/G,GAAA7I,EAAAA,EAAAA,KAAAC,KAIJ+nC,GAnEjB,SAAUP,IAAkB,IAAAQ,EAAAC,EAAA,OAAAloC,EAAAA,EAAAA,KAAAK,MAAC,SAADC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEiC,OAFjCF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEuCC,EAAAA,EAAAA,IAAK0nC,EAAAA,GAAgCC,gCAAgC,KAAD,EAE/H,OAFMH,EAA4C3nC,EAAAQ,KAC5ConC,EAAmBD,EAAWt7B,QAAO,SAAA2K,GAAC,OAAIA,EAAE+wB,UAAUzuB,SAAW0uB,EAAAA,EAAcC,MAAM,IAACjoC,EAAAE,KAAA,GACtFO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBC,iBAAiBP,IAAmB,KAAD,EAAA5nC,EAAAE,KAAA,gBAErE,OAFqEF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAE/DO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBE,oBAAoB,KAAD,GACrD,OADqDpoC,EAAAE,KAAA,IAC/CO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAavJ,EAAAa,KAAK,KAAD,oBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIhD,SAAUmmC,EAAyBvnC,GAAyE,OAAAH,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAEpG,OAFoGgB,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,GAE9FC,EAAAA,EAAAA,IAAK0nC,EAAAA,GAAgCQ,gBAAiBxoC,EAAOS,QAAQgoC,aAAa,KAAD,EACvF,OADuFpnC,EAAAhB,KAAA,GACjFO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBK,uBAAuB1oC,EAAOS,QAAQgoC,YAAYE,WAAW,KAAD,EAAAtnC,EAAAhB,KAAA,gBAE9F,OAF8FgB,EAAAjB,KAAA,EAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAExFO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe1C,EAAAL,KAAK,KAAD,GAC1C,OAD0CK,EAAAhB,KAAA,IACpCO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBO,uBAAuB5oC,EAAOS,QAAQgoC,YAAYE,WAAW,KAAD,oBAAAtnC,EAAAF,OAAA,GAAAvB,EAAA,cAItG,SAAU4nC,IAAkC,IAAAqB,EAAA,OAAAhpC,EAAAA,EAAAA,KAAAK,MAAC,SAADmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAEP,OAFOgF,EAAAjF,KAAA,EAAAiF,EAAAhF,KAAA,GAEDC,EAAAA,EAAAA,IAAK0nC,EAAAA,GAAgCc,4BAA4B,KAAD,EACnG,OADMD,EAAoBxjC,EAAA1E,KAAA0E,EAAAhF,KAAA,GACpBO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBU,mCAAmCF,IAAe,KAAD,EAAAxjC,EAAAhF,KAAA,gBAAAgF,EAAAjF,KAAA,EAAAiF,EAAArE,GAAAqE,EAAA,SAEnF4d,EAAAA,EAAOC,UAAS7d,EAAArE,GAAI,kEAAkE,yBAAAqE,EAAAlE,OAAA,GAAAQ,EAAA,cAI9F,SAAU8lC,IAAqB,OAAA5nC,EAAAA,EAAAA,KAAAK,MAAC,SAADqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAC3B,OAD2BkF,EAAAlF,KAAA,GACrBO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBW,0BAA0B,KAAD,EAC3D,OAD2DzjC,EAAAlF,KAAA,GACrDO,EAAAA,EAAAA,IAAIoP,EAAAA,EAAsBi5B,QAAQ,KAAD,mBAAA1jC,EAAApE,OAAA,GAAAU,EAAA,CAG3C,SAAU6lC,IAAyC,OAAA7nC,EAAAA,EAAAA,KAAAK,MAAC,SAADyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,WAC3CoV,EAAAA,EAAKQ,SAAQqR,MAAb7R,EAAAA,GAAI6C,EAAAA,EAAAA,GAAapC,EAAAA,GAAMgzB,OAAM,CAADvjC,EAAAtF,KAAA,QAC5B,OAD4BsF,EAAAtF,KAAA,GACtBO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBc,qCAAqC,KAAD,mBAAAxjC,EAAAxE,OAAA,GAAAY,EAAA,CAI9E,SAAU4lC,IAAoB,IAAAyB,EAAA,OAAAvpC,EAAAA,EAAAA,KAAAK,MAAC,SAAD8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OAEO,OAFP2F,EAAA5F,KAAA,EAAA4F,EAAA3F,KAAA,GAEaC,EAAAA,EAAAA,IAAK+oC,EAAAA,GAAgBC,iBAAiB,KAAD,EACxE,OADMF,EAAoBpjC,EAAArF,KAAAqF,EAAA3F,KAAA,GACpBO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBkB,yBAAyB9/B,EAAAA,EAAa1I,QAASqoC,IAAO,KAAD,EAAApjC,EAAA3F,KAAA,gBAEvF,OAFuF2F,EAAA5F,KAAA,EAAA4F,EAAAhF,GAAAgF,EAAA,SAAAA,EAAA3F,KAAA,IAEjFO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAeiC,EAAAhF,KAAK,KAAD,GAC1C,OAD0CgF,EAAA3F,KAAA,IACpCO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBkB,yBAAyB9/B,EAAAA,EAAaxI,QAAS,KAAK,KAAD,oBAAA+E,EAAA7E,OAAA,GAAAc,EAAA,cAI7F,SAAU2lC,EAAwB5nC,GAA0C,IAAAopC,EAAA,OAAAvpC,EAAAA,EAAAA,KAAAK,MAAA,SAAAoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OAGpE,OAFI+oC,EAASppC,EAAOS,QAAhB2oC,KAAI9hC,EAAAlH,KAAA,EAAAkH,EAAAjH,KAAA,GAEFC,EAAAA,EAAAA,IAAK+oC,EAAAA,GAAgBG,gBAAiBJ,EAAKK,SAAS,KAAD,EACzD,OADyDniC,EAAAjH,KAAA,GACnDO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBqB,4BAA4BjgC,EAAAA,EAAa1I,QAASqoC,IAAO,KAAD,EAC1F,OAD0F9hC,EAAAjH,KAAA,GACpFO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBsB,2BAA0B,IAAQ,KAAD,EAAAriC,EAAAjH,KAAA,iBAEnE,OAFmEiH,EAAAlH,KAAA,GAAAkH,EAAAtG,GAAAsG,EAAA,SAAAA,EAAAjH,KAAA,IAE7DO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAeuD,EAAAtG,KAAK,KAAD,GAC1C,OAD0CsG,EAAAjH,KAAA,IACpCO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwBqB,4BAA4BjgC,EAAAA,EAAaxI,QAASmoC,IAAO,KAAD,oBAAA9hC,EAAAnG,OAAA,GAAAgB,EAAA,eAIlG,SAAUsN,IAAW,OAAA5P,EAAAA,EAAAA,KAAAK,MAAC,SAAD2H,GAAA,cAAAA,EAAAzH,KAAAyH,EAAAxH,MAAA,OACjB,OADiBwH,EAAAxH,KAAA,GACXO,EAAAA,EAAAA,IAAIynC,EAAAA,EAAwB1gC,SAAS,KAAD,mBAAAE,EAAA1G,OAAA,GAAAkB,EAAA,CAGvC,SAAUwlC,IAAoB,OAAAhoC,EAAAA,EAAAA,KAAAK,MAAC,SAADsN,GAAA,cAAAA,EAAApN,KAAAoN,EAAAnN,MAAA,OACjC,OADiCmN,EAAAnN,KAAA,GAC3ByH,EAAAA,EAAAA,IAAWugC,EAAAA,EAAwBuB,iBAAkBtC,GAAoB,KAAD,EAC9E,OAD8E95B,EAAAnN,KAAA,GACxEyH,EAAAA,EAAAA,IAAWugC,EAAAA,EAAwBc,kCAAmC3B,GAAoC,KAAD,EAC/G,OAD+Gh6B,EAAAnN,KAAA,GACzGyH,EAAAA,EAAAA,IAAWugC,EAAAA,EAAwBwB,uBAAwBtC,GAA0B,KAAD,EAC1F,OAD0F/5B,EAAAnN,KAAA,GACpFyH,EAAAA,EAAAA,IAAWgiC,EAAAA,EAAmCC,qCAAsCrC,GAA2C,KAAD,EACpI,OADoIl6B,EAAAnN,KAAA,IAC9HyH,EAAAA,EAAAA,IAAWugC,EAAAA,EAAwB2B,iBAAkBvC,GAAuB,KAAD,GACjF,OADiFj6B,EAAAnN,KAAA,IAC3EyH,EAAAA,EAAAA,IAAWugC,EAAAA,EAAwBiB,gBAAiB3B,GAAsB,KAAD,GAC/E,OAD+En6B,EAAAnN,KAAA,IACzEyH,EAAAA,EAAAA,IAAWugC,EAAAA,EAAwB4B,mBAAoBrC,GAAyB,KAAD,GACrF,OADqFp6B,EAAAnN,KAAA,IAC/EyH,EAAAA,EAAAA,IAAWwI,EAAAA,GAAeC,OAAQd,GAAY,yBAAAjC,EAAArM,OAAA,GAAAuH,EAAA,C,0JCnF9CwhC,GAAqBtqC,GAAAC,EAAAA,EAAAA,KAAAC,KAwBdqqC,GAxBjB,SAAUD,EAAsBlqC,GAAqE,IAAAoJ,EAAA1I,EAAA0pC,EAAAC,EAAAC,EAAAC,EAAA,OAAA1qC,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACjG,OADiGF,EAAAE,KAAA,GAC3FO,EAAAA,EAAAA,IAAI4pC,EAAAA,EAA0BC,2BAA0B,IAAO,KAAD,EAahE,OAbgErhC,EAEJpJ,EAAOS,QAA/DC,EAAS0I,EAAT1I,UAAW0pC,EAAgBhhC,EAAhBghC,iBAAkBC,EAAsBjhC,EAAtBihC,uBAEjCC,GAAU,EACVC,EAAsBH,EAEtBA,IAAqBM,EAAAA,EAAiBC,QACtCJ,EAAsBG,EAAAA,EAAiBE,IACvCN,GAAU,GACbnqC,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAGSC,EAAAA,EAAAA,IAAKuqC,EAAAA,GAAeC,iBAAkBpqC,EAAW6pC,EAAqBD,EAASD,GAAwB,KAAD,EAC5G,OAD4GlqC,EAAAE,KAAA,IACtGO,EAAAA,EAAAA,IAAImqC,EAAAA,IAAiBC,0BAA0BtqC,EAAW0pC,EAAkBC,IAAyB,KAAD,GAC1G,OAD0GlqC,EAAAE,KAAA,IACpGO,EAAAA,EAAAA,IAAI4pC,EAAAA,EAA0BvB,QAAQ,KAAD,GAAA9oC,EAAAE,KAAA,iBAE3C,OAF2CF,EAAAC,KAAA,GAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAErCO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,GAE1C,OAF0Cb,EAAAC,KAAA,GAAAD,EAAAE,KAAA,IAEpCO,EAAAA,EAAAA,IAAI4pC,EAAAA,EAA0BC,2BAA0B,IAAQ,KAAD,UAAAtqC,EAAAyJ,OAAA,6BAAAzJ,EAAAgB,OAAA,GAAAC,EAAA,qBAItE,SAAU+oC,IAAuB,OAAAtqC,EAAAA,EAAAA,KAAAK,MAAC,SAADmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OACpC,OADoCgB,EAAAhB,KAAA,GAC9BiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQipC,EAAAA,EAA0BM,kBAAmBZ,GAAuB,KAAD,mBAAA7oC,EAAAF,OAAA,GAAAvB,EAAA,C,iNCdrFqrC,GAAoBrrC,GAAAC,EAAAA,EAAAA,KAAAC,KAoBpBorC,GAASvpC,GAAA9B,EAAAA,EAAAA,KAAAC,KAgDT2P,GAAW5N,GAAAhC,EAAAA,EAAAA,KAAAC,KAIJqrC,GAxEjB,SAAUF,EAAqBjrC,GAA+D,IAAAorC,EAAAhiC,EAAAiiC,EAAAC,EAAAC,EAAA,OAAA1rC,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAClC,OADkCF,EAAAE,KAAA,GAC5B+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAEmoC,cAAcC,2BAA2B,IAAE,KAAD,EAC1E,GADlDL,EAA+CjrC,EAAAQ,KAAAyI,EACQpJ,EAAOS,QAA5D4qC,EAAmBjiC,EAAnBiiC,oBAAqBC,EAAgBliC,EAAhBkiC,iBAAkBC,EAASniC,EAATmiC,WAE3CH,EAAsBC,GAAqB,CAADlrC,EAAAE,KAAA,eAAAF,EAAAuN,OAAA,iBAE9C,OAF8CvN,EAAAE,KAAA,GAExCO,EAAAA,EAAAA,IAAI8qC,EAAAA,EAAqBC,uBAAuBN,GAAqB,IAAO,KAAD,EAG7E,OAH6ElrC,EAAAC,KAAA,EAAAD,EAAAE,KAAA,IAGvEC,EAAAA,EAAAA,IAAKyb,EAAAA,EAAiB6vB,UAAWP,EAAqBC,EAAkBC,GAAW,KAAD,GAExF,OAFwFprC,EAAAE,KAAA,IAElFO,EAAAA,EAAAA,IAAIirC,EAAAA,EAAmBC,sBAAsBT,EAAqBU,EAAAA,EAAwBC,SAAS,KAAD,GACxG,OADwG7rC,EAAAE,KAAA,IAClGO,EAAAA,EAAAA,IAAI4a,EAAAA,EAAiBswB,sBAAsBT,EAAqBU,EAAAA,EAAwBC,SAAS,KAAD,GAAA7rC,EAAAE,KAAA,iBAEtG,OAFsGF,EAAAC,KAAA,GAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAEhGO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,GAE1C,OAF0Cb,EAAAC,KAAA,GAAAD,EAAAE,KAAA,IAEpCO,EAAAA,EAAAA,IAAI8qC,EAAAA,EAAqBC,uBAAuBN,GAAoB,IAAQ,KAAD,UAAAlrC,EAAAyJ,OAAA,6BAAAzJ,EAAAgB,OAAA,GAAAC,EAAA,qBAIzF,SAAU8pC,EAAUlrC,GAAkF,IAAAisC,EAAA7L,EAAA8L,EAAA,OAAArsC,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OACzE,OADyEgB,EAAAhB,KAAA,GACnE+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAEm9B,KAAKyL,OAAO,IAAE,KAAD,EACV,OADtDA,EAAgB5qC,EAAAV,KAAAU,EAAAhB,KAAA,GAC4C+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OACjFA,EAAEm9B,KAAKJ,UAAU5zB,QAAO,SAACqN,GAAyC,OAAMA,EAAE6mB,KAAK,GAAC,IAAE,KAAD,EAD5B,GAAnDN,EAAmD/+B,EAAAV,MAGrDsrC,GAAY7L,EAAU38B,OAAM,CAAApC,EAAAhB,KAAA,SAC5B,OAD4BgB,EAAAhB,KAAA,GACtBO,EAAAA,EAAAA,IAAI8qC,EAAAA,EAAqBS,eAAe1iC,EAAAA,EAAajI,UAAU,KAAD,EA6BhE,OA5BE0qC,EAAqC9L,EAAUp2B,KAAI,SAAA6P,GAAC,MAAK,CAC3D9J,GAAI8J,EAAE9J,GACNq8B,WAAY30B,OAAOoC,EAAEuyB,YACrBnf,UAAW1V,OAAOsC,EAAEoT,WACpBF,OAAQxV,OAAOsC,EAAEkT,QACjBlZ,OAAQgG,EAAEhG,OACVw4B,IAAKxyB,EAAEwyB,IAAM50B,OAAOoC,EAAEwyB,UAAOx2B,EAC7By2B,MAAO70B,OAAOoC,EAAEyyB,OAChBC,QAAS1yB,EAAE0yB,QAA8B,IAApB90B,OAAOoC,EAAE0yB,cAAqB12B,EACnD22B,KAAuB,IAAjB/0B,OAAOoC,EAAE2yB,MACfC,SAAU5yB,EAAE4yB,SAAWh1B,OAAOoC,EAAE4yB,eAAY52B,EAC5C62B,WAAY7yB,EAAE6yB,WAAaj1B,OAAOoC,EAAE6yB,iBAAc72B,EAClD82B,kBAAmB9yB,EAAE8yB,kBAAoBl1B,OAAOoC,EAAE8yB,wBAAqB92B,EACvE+2B,WAAY/yB,EAAE+yB,WAAan1B,OAAOoC,EAAE+yB,iBAAc/2B,EAClDg3B,SAAUhzB,EAAEgzB,SAAWp1B,OAAOoC,EAAEgzB,eAAYh3B,EAC5Ci3B,YAAajzB,EAAEizB,kBAAej3B,EAC9Bud,aAAcsB,EAAAA,GAAaqY,SAASlzB,EAAEuZ,cAAiB3b,OAAOoC,EAAEuZ,mBAA2Cvd,EAC3Gm3B,KAAMnzB,EAAEmzB,KAAOv1B,OAAOoC,EAAEmzB,WAAQn3B,EAChC8e,OAAQ9a,EAAE8a,OAASld,OAAOoC,EAAE8a,aAAU9e,EACtCo3B,QAASpzB,EAAEozB,cAAWp3B,EACtBq3B,WAAYrzB,EAAEszB,MAAQ11B,OAAOoC,EAAEszB,MAAMjM,MAAM,KAAK,SAAMrrB,EACtDu3B,UAAWvzB,EAAEszB,MAAQ11B,OAAOoC,EAAEszB,MAAMjM,MAAM,KAAK,SAAMrrB,EACrDw3B,WAAYxzB,EAAEyzB,MAAQ71B,OAAOoC,EAAEyzB,MAAMpM,MAAM,KAAK,SAAMrrB,EACtD03B,UAAW1zB,EAAEyzB,MAAQ71B,OAAOoC,EAAEyzB,MAAMpM,MAAM,KAAK,SAAMrrB,EACrD6tB,cAAe7pB,EAAE6pB,oBAAiB7tB,EACrC,IAAExU,EAAAjB,KAAA,GAAAiB,EAAAhB,KAAA,IAGOC,EAAAA,EAAAA,IAAKyb,EAAAA,EAAiByxB,KAAMtB,EAAWlsC,EAAOS,QAAQ6qC,iBAAkBtrC,EAAOS,QAAQC,WAAW,KAAD,GACvG,OADuGW,EAAAhB,KAAA,IACjGO,EAAAA,EAAAA,IAAI8qC,EAAAA,EAAqBS,eAAe1iC,EAAAA,EAAa1I,UAAU,KAAD,GAAAM,EAAAhB,KAAA,oBAAAgB,EAAAjB,KAAA,GAAAiB,EAAAL,GAAAK,EAAA,UAEnD,MAAbA,EAAAL,GAAEyY,OAAc,CAAApY,EAAAhB,KAAA,SAChB,OADgBgB,EAAAhB,KAAA,IACVO,EAAAA,EAAAA,IAAI8qC,EAAAA,EAAqB+B,0BAAyB,IAAM,QAAApsC,EAAAhB,KAAA,iBAE9D,OAF8DgB,EAAAhB,KAAA,IAExDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe1C,EAAAL,KAAK,KAAD,GAE9C,OAF8CK,EAAAhB,KAAA,IAExCO,EAAAA,EAAAA,IAAI8qC,EAAAA,EAAqBS,eAAe1iC,EAAAA,EAAaxI,UAAU,KAAD,oBAAAI,EAAAF,OAAA,GAAAvB,EAAA,gBAKhF,SAAU6P,IAAW,OAAA5P,EAAAA,EAAAA,KAAAK,MAAC,SAADmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OACjB,OADiBgF,EAAAhF,KAAA,GACXO,EAAAA,EAAAA,IAAI8qC,EAAAA,EAAqB/jC,SAAS,KAAD,mBAAAtC,EAAAlE,OAAA,GAAAQ,EAAA,CAGpC,SAAUwpC,IAAkB,OAAAtrC,EAAAA,EAAAA,KAAAK,MAAC,SAADqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAC/B,OAD+BkF,EAAAlF,KAAA,GACzByH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQmqC,EAAAA,EAAqBgC,iBAAkBzC,GAAsB,KAAD,EACrF,OADqF1lC,EAAAlF,KAAA,GAC/EiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQmqC,EAAAA,EAAqB8B,MAAOtC,GAAW,KAAD,EAC9D,OAD8D3lC,EAAAlF,KAAA,GACxDiB,EAAAA,EAAAA,IAAUgP,EAAAA,GAAeC,OAAQd,GAAa,KAAD,mBAAAlK,EAAApE,OAAA,GAAAU,EAAA,C,oICvF7C8rC,GAAgB/tC,GAAAC,EAAAA,EAAAA,KAAAC,KAaT8tC,GAbjB,SAAUD,EAAiB3tC,GAAmE,OAAAH,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAC1F,OAD0FF,EAAAE,KAAA,GACpFO,EAAAA,EAAAA,IAAIitC,EAAAA,IAAoBC,oBAAmB,IAAO,KAAD,EAGnD,OAHmD3tC,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAG7CC,EAAAA,EAAAA,IAAKytC,EAAAA,EAAoBC,YAAahuC,EAAOS,QAAQe,SAAS,KAAD,EACnE,OADmErB,EAAAE,KAAA,GAC7DO,EAAAA,EAAAA,IAAIitC,EAAAA,IAAoB5E,QAAQ,KAAD,EAAA9oC,EAAAE,KAAA,gBAErC,OAFqCF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAE/BO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,GAE1C,OAF0Cb,EAAAC,KAAA,GAAAD,EAAAE,KAAA,IAEpCO,EAAAA,EAAAA,IAAIitC,EAAAA,IAAoBC,oBAAmB,IAAQ,KAAD,UAAA3tC,EAAAyJ,OAAA,6BAAAzJ,EAAAgB,OAAA,GAAAC,EAAA,oBAIzD,SAAUwsC,IAAiB,OAAA/tC,EAAAA,EAAAA,KAAAK,MAAC,SAADmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAC9B,OAD8BgB,EAAAhB,KAAA,GACxBiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQssC,EAAAA,IAAoBI,MAAON,GAAkB,KAAD,mBAAAtsC,EAAAF,OAAA,GAAAvB,EAAA,C,gLCX9DsuC,GAAmBtuC,GAAAC,EAAAA,EAAAA,KAAAC,KAYnBquC,GAAuBxsC,GAAA9B,EAAAA,EAAAA,KAAAC,KAWvB2P,GAAW5N,GAAAhC,EAAAA,EAAAA,KAAAC,KAIJsuC,GA3BjB,SAAUF,IAAmB,OAAAruC,EAAAA,EAAAA,KAAAK,MAAC,SAADC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAErB,OAFqBF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEfC,EAAAA,EAAAA,IAAK+tC,EAAAA,GAAeC,iCAAiC,KAAD,EAE1D,OADA74B,EAAAA,EAAK64B,iCAAgC,GAAMnuC,EAAAE,KAAA,GACrCO,EAAAA,EAAAA,IAAI2tC,EAAAA,EAA+BtF,MAAK,IAAO,KAAD,EACpD,OADoD9oC,EAAAE,KAAA,GAC9CO,EAAAA,EAAAA,IAAI2tC,EAAAA,EAA+BC,kBAAkB,KAAD,EAAAruC,EAAAE,KAAA,iBAE1D,OAF0DF,EAAAC,KAAA,GAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAEpDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,GAC1C,OAD0Cb,EAAAE,KAAA,IACpCO,EAAAA,EAAAA,IAAI2tC,EAAAA,EAA+BE,kBAAkB,KAAD,oBAAAtuC,EAAAgB,OAAA,GAAAC,EAAA,eAIlE,SAAU+sC,IAAuB,IAAAnsB,EAAA,OAAAniB,EAAAA,EAAAA,KAAAK,MAAC,SAADmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAEkB,OAFlBgB,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,GAEwBC,EAAAA,EAAAA,IAAK+tC,EAAAA,GAAeK,mCAAmC,KAAD,EAEvG,OAFM1sB,EAAkC3gB,EAAAV,MACxC0hB,EAAAA,EAAAA,QAAOL,EAAKM,KAAMN,EAAKnH,MAAMxZ,EAAAhB,KAAA,GACvBO,EAAAA,EAAAA,IAAI2tC,EAAAA,EAA+BI,sBAAsB,KAAD,EAAAttC,EAAAhB,KAAA,gBAE9D,OAF8DgB,EAAAjB,KAAA,EAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAExDO,EAAAA,EAAAA,IAAI2tC,EAAAA,EAA+BK,sBAAsB,KAAD,GAC9D,OAD8DvtC,EAAAhB,KAAA,IACxDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe1C,EAAAL,KAAK,KAAD,oBAAAK,EAAAF,OAAA,GAAAvB,EAAA,cAIlD,SAAU6P,IAAW,OAAA5P,EAAAA,EAAAA,KAAAK,MAAC,SAADmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OACjB,OADiBgF,EAAAhF,KAAA,GACXO,EAAAA,EAAAA,IAAI2tC,EAAAA,EAA+B5mC,SAAS,KAAD,mBAAAtC,EAAAlE,OAAA,GAAAQ,EAAA,CAG9C,SAAUysC,IAA4B,OAAAvuC,EAAAA,EAAAA,KAAAK,MAAC,SAADqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OACzC,OADyCkF,EAAAlF,KAAA,GACnCyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgtC,EAAAA,EAA+BM,gBAAiBX,GAAqB,KAAD,EAC7F,OAD6F3oC,EAAAlF,KAAA,GACvFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQgtC,EAAAA,EAA+BO,oBAAqBX,GAAyB,KAAD,EACrG,OADqG5oC,EAAAlF,KAAA,GAC/FiB,EAAAA,EAAAA,IAAUgP,EAAAA,GAAeC,OAAQd,GAAa,KAAD,mBAAAlK,EAAApE,OAAA,GAAAU,EAAA,C,qKC9B7CktC,GAA6BnvC,GAAAC,EAAAA,EAAAA,KAAAC,KAuB7BkvC,GAAqCrtC,GAAA9B,EAAAA,EAAAA,KAAAC,KAU9BmvC,GAjCjB,SAAUF,EAA8B/uC,GAAuE,OAAAH,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAEvG,OAFuGF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEjGC,EAAAA,EAAAA,IACF4uC,EAAAA,GAAoBC,yBACpBnvC,EAAOS,QAAQC,UACfV,EAAOS,QAAQ2uC,eACfpvC,EAAOS,QAAQ2uC,eAAiB1rC,EAAAA,GAAU2rC,8BAA2Bx5B,EACrE7V,EAAOS,QAAQ6uC,YACjB,KAAD,EACD,OADCnvC,EAAAE,KAAA,GACKO,EAAAA,EAAAA,IAAImqC,EAAAA,IAAiBwE,2BACvBvvC,EAAOS,QAAQC,UACfV,EAAOS,QAAQ2uC,iBACjB,KAAD,EACD,OADCjvC,EAAAE,KAAA,GACKO,EAAAA,EAAAA,IAAI4uC,EAAAA,EAAoBC,kCAC1BhmC,EAAAA,EAAa1I,QACbf,EAAOS,QAAQC,UACfV,EAAOS,QAAQ6uC,aACjB,KAAD,EAAAnvC,EAAAE,KAAA,gBAED,OAFCF,EAAAC,KAAA,EAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAEKO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,oBAAAb,EAAAgB,OAAA,GAAAC,EAAA,cAIlD,SAAU4tC,EAAsChvC,GAA+E,IAAAsvC,EAAA,OAAAzvC,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAGnH,OAHmHgB,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,GAG7GC,EAAAA,EAAAA,IAAK4uC,EAAAA,GAAoBQ,6BAA8B1vC,EAAOS,QAAQC,WAAW,KAAD,EAC1F,OAFM4uC,EAA6CjuC,EAAAV,KAAAU,EAAAhB,KAAA,GAE7CO,EAAAA,EAAAA,IAAI4uC,EAAAA,EAAoBC,kCAAkChmC,EAAAA,EAAa1I,QAASf,EAAOS,QAAQC,UAAW4uC,IAAa,KAAD,EAAAjuC,EAAAhB,KAAA,gBAE5H,OAF4HgB,EAAAjB,KAAA,EAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAEtHO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAarI,EAAAL,KAAK,KAAD,oBAAAK,EAAAF,OAAA,GAAAvB,EAAA,cAIzC,SAAUqvC,IAAiB,OAAApvC,EAAAA,EAAAA,KAAAK,MAAC,SAADmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAC9B,OAD8BgF,EAAAhF,KAAA,GACxBiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQiuC,EAAAA,EAAoBL,0BAA2BJ,GAA+B,KAAD,EACrG,OADqG1pC,EAAAhF,KAAA,GAC/FiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQiuC,EAAAA,EAAoBG,kCAAmCX,GAAuC,KAAD,mBAAA3pC,EAAAlE,OAAA,GAAAQ,EAAA,C,qKC/B/GiuC,GAAgBhwC,GAAAC,EAAAA,EAAAA,KAAAC,KAkChB+vC,GAAkBluC,GAAA9B,EAAAA,EAAAA,KAAAC,KAalBgwC,GAAwBjuC,GAAAhC,EAAAA,EAAAA,KAAAC,KAaxBiwC,GAAiChuC,GAAAlC,EAAAA,EAAAA,KAAAC,KAUjCkwC,GAA8B/tC,GAAApC,EAAAA,EAAAA,KAAAC,KAU9B2P,GAAWtN,GAAAtC,EAAAA,EAAAA,KAAAC,KAIJmwC,GApFjB,SAAUL,EAAiB5vC,GAAiD,IAAAkwC,EAAAC,EAAAn7B,EAAAo7B,EAAAC,EAAAC,EAAAC,EAAA9H,EAAA,OAAA5oC,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAExB,OADxC6vC,EAAYlwC,EAAOS,QAAnByvC,QAAO/vC,EAAAE,KAAA,GACuC+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMuqC,WAAWC,eAAe,IAAE,KAAD,EAC/D,OAD9CN,EAAuChwC,EAAAQ,KAAAR,EAAAE,KAAA,GACa+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAM8O,SAASC,iBAAiBC,KAAK,IAAE,KAAD,EAGrC,GAHjFD,EAA2C7U,EAAAQ,KACzCyvC,EAAeD,EAAfC,WACFC,EAAgBr7B,EAAiBvH,MAAK,SAAAijC,GAAM,OACkC,IAAhFA,EAAO71B,KAAKiS,cAAcsjB,OAAYv6B,EAAW,CAAEmX,YAAa,UAAiB,KACjFkjB,IAAWG,EAAa,CAAAlwC,EAAAE,KAAA,SAYpB,OAXEooC,EAAc,CAChB14B,GAAImgC,EAAQngC,SAAM8F,EAClBnV,UAAW2vC,EAActgC,GACzB4gC,UAAWT,EAAQS,UAAU36B,OAC7B46B,SAAUV,EAAQU,SAAS56B,OAC3B66B,MAAOX,EAAQW,MAAM76B,OACrB86B,KAAkB,QAAdR,EAAEJ,EAAQY,YAAI,IAAAR,OAAA,EAAZA,EAAct6B,OACpB+6B,MAAoB,QAAfR,EAAEL,EAAQa,aAAK,IAAAR,OAAA,EAAbA,EAAev6B,OACtBg7B,UAAU,GACb7wC,EAAAC,KAAA,GAAAD,EAAAE,KAAA,IAESO,EAAAA,EAAAA,IAAIqwC,EAAAA,EAAkBC,iCAAgC,IAAO,KAAD,OAC9DzI,EAAY14B,GAAG,CAAD5P,EAAAE,KAAA,SACd,OADcF,EAAAE,KAAA,IACRC,EAAAA,EAAAA,IAAK6wC,EAAAA,GAAgBC,cAAe3I,GAAa,KAAD,GAAAtoC,EAAAE,KAAA,iBAEtD,OAFsDF,EAAAE,KAAA,IAEhDC,EAAAA,EAAAA,IAAK6wC,EAAAA,GAAgBE,WAAY5I,GAAa,KAAD,GAEvD,OAFuDtoC,EAAAE,KAAA,IAEjDO,EAAAA,EAAAA,IAAIqwC,EAAAA,EAAkBK,wBAAwB,KAAD,GAAAnxC,EAAAE,KAAA,iBAEnD,OAFmDF,EAAAC,KAAA,GAAAD,EAAAa,GAAAb,EAAA,UAAAA,EAAAE,KAAA,IAE7CO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAI,QAE1C,OAF0Cb,EAAAC,KAAA,GAAAD,EAAAE,KAAA,IAEpCO,EAAAA,EAAAA,IAAIqwC,EAAAA,EAAkBC,iCAAgC,IAAQ,KAAD,UAAA/wC,EAAAyJ,OAAA,6BAAAzJ,EAAAgB,OAAA,GAAAC,EAAA,sBAK/E,SAAUyuC,EAAmB7vC,GAAyC,IAAAuxC,EAAA,OAAA1xC,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAElB,OADxCkxC,EAAcvxC,EAAOS,QAArB8wC,UAASlwC,EAAAhB,KAAA,GACqC+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMuqC,WAAWC,eAAe,IAAE,KAAD,EAAtE,IAAApvC,EAAAV,KAC5BuvC,QAAQ,CAAD7uC,EAAAhB,KAAA,QACpB,OADoBgB,EAAAhB,KAAA,GACdO,EAAAA,EAAAA,IAAIqwC,EAAAA,EAAkBK,wBAAwB,KAAD,EAGnD,OAHmDjwC,EAAAjB,KAAA,EAAAiB,EAAAhB,KAAA,IAG7CC,EAAAA,EAAAA,IAAK6wC,EAAAA,GAAgBK,cAAeD,GAAU,QAAAlwC,EAAAhB,KAAA,iBAEpD,OAFoDgB,EAAAjB,KAAA,GAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAE9CO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKG,EAAAL,KAAI,yBAAAK,EAAAF,OAAA,GAAAvB,EAAA,eAIxC,SAAUkwC,EAAyB9vC,GAAyC,IAAAuxC,EAAA,OAAA1xC,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAExE,OADQkxC,EAAcvxC,EAAOS,QAArB8wC,UAASlsC,EAAAhF,KAAA,GACXO,EAAAA,EAAAA,IAAIqwC,EAAAA,EAAkBQ,oCAAoCF,GAAW,IAAO,KAAD,EAE7E,OAF6ElsC,EAAAjF,KAAA,EAAAiF,EAAAhF,KAAA,GAEvEC,EAAAA,EAAAA,IAAK6wC,EAAAA,GAAgBO,WAAYH,GAAW,KAAD,EACjD,OADiDlsC,EAAAhF,KAAA,GAC3CO,EAAAA,EAAAA,IAAI+wC,EAAAA,EAA+BC,yBAAyBL,IAAY,KAAD,EAAAlsC,EAAAhF,KAAA,iBAE7E,OAF6EgF,EAAAjF,KAAA,GAAAiF,EAAArE,GAAAqE,EAAA,SAAAA,EAAAhF,KAAA,IAEvEO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKmE,EAAArE,KAAI,QAEhC,OAFgCqE,EAAAjF,KAAA,GAAAiF,EAAAhF,KAAA,IAE1BO,EAAAA,EAAAA,IAAIqwC,EAAAA,EAAkBQ,oCAAoCF,GAAW,IAAQ,KAAD,UAAAlsC,EAAAuE,OAAA,6BAAAvE,EAAAlE,OAAA,GAAAQ,EAAA,qBAI1F,SAAUouC,EAAkC/vC,GAAwC,IAAA63B,EAAA,OAAAh4B,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAG5E,OAFIw3B,EAAa73B,EAAOS,QAApBo3B,SAAQtyB,EAAAnF,KAAA,EAAAmF,EAAAlF,KAAA,GAENC,EAAAA,EAAAA,IAAKC,EAAAA,GAAiBsxC,2BAA4Bha,GAAU,KAAD,EACjE,OADiEtyB,EAAAlF,KAAA,GAC3DO,EAAAA,EAAAA,IAAIkxC,EAAAA,EAAwBC,2CAA2Cla,IAAU,OAAAtyB,EAAAlF,KAAA,gBAEvF,OAFuFkF,EAAAnF,KAAA,EAAAmF,EAAAvE,GAAAuE,EAAA,SAAAA,EAAAlF,KAAA,IAEjFO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKqE,EAAAvE,KAAI,yBAAAuE,EAAApE,OAAA,GAAAU,EAAA,cAIxC,SAAUmuC,EAA+BhwC,GAAwC,IAAA63B,EAAA,OAAAh4B,EAAAA,EAAAA,KAAAK,MAAA,SAAAyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OAGzE,OAFIw3B,EAAa73B,EAAOS,QAApBo3B,SAAQlyB,EAAAvF,KAAA,EAAAuF,EAAAtF,KAAA,GAENC,EAAAA,EAAAA,IAAKC,EAAAA,GAAiByxC,uBAAwBna,GAAU,KAAD,EAC7D,OAD6DlyB,EAAAtF,KAAA,GACvDO,EAAAA,EAAAA,IAAIkxC,EAAAA,EAAwBG,wCAAwCpa,IAAU,OAAAlyB,EAAAtF,KAAA,gBAEpF,OAFoFsF,EAAAvF,KAAA,EAAAuF,EAAA3E,GAAA2E,EAAA,SAAAA,EAAAtF,KAAA,IAE9EO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa5C,MAAKyE,EAAA3E,KAAI,yBAAA2E,EAAAxE,OAAA,GAAAY,EAAA,cAIxC,SAAU0N,IAAW,OAAA5P,EAAAA,EAAAA,KAAAK,MAAC,SAAD8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OACjB,OADiB2F,EAAA3F,KAAA,GACXO,EAAAA,EAAAA,IAAIqwC,EAAAA,EAAkBtpC,SAAQ,wBAAA3B,EAAA7E,OAAA,GAAAc,EAAA,CAGjC,SAAUguC,IAAe,OAAApwC,EAAAA,EAAAA,KAAAK,MAAC,SAADoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OAC5B,OAD4BiH,EAAAjH,KAAA,GACtByH,EAAAA,EAAAA,IAAWmpC,EAAAA,EAAkBiB,oBAAqBtC,GAAkB,KAAD,EACzE,OADyEtoC,EAAAjH,KAAA,GACnEyH,EAAAA,EAAAA,IAAWmpC,EAAAA,EAAkBO,cAAe3B,GAAoB,KAAD,EACrE,OADqEvoC,EAAAjH,KAAA,GAC/DyH,EAAAA,EAAAA,IAAWmpC,EAAAA,EAAkBkB,oBAAqBrC,GAA0B,KAAD,EACjF,OADiFxoC,EAAAjH,KAAA,GAC3EyH,EAAAA,EAAAA,IAAWmpC,EAAAA,EAAkBmB,6BAA8BrC,GAAmC,KAAD,EACnG,OADmGzoC,EAAAjH,KAAA,IAC7FyH,EAAAA,EAAAA,IAAWmpC,EAAAA,EAAkBoB,0BAA2BrC,GAAgC,KAAD,GAC7F,OAD6F1oC,EAAAjH,KAAA,IACvFiB,EAAAA,EAAAA,IAAUgP,EAAAA,GAAeC,OAAQd,GAAa,KAAD,oBAAAnI,EAAAnG,OAAA,GAAAgB,EAAA,C,sMCtF7CmwC,GAAW1yC,GAAAC,EAAAA,EAAAA,KAAAC,KA0BXyyC,GAAiC5wC,GAAA9B,EAAAA,EAAAA,KAAAC,KAQjC0yC,GAA4B3wC,GAAAhC,EAAAA,EAAAA,KAAAC,KAmD5B2yC,GAA4B1wC,GAAAlC,EAAAA,EAAAA,KAAAC,KAU5B4yC,GAAgBzwC,GAAApC,EAAAA,EAAAA,KAAAC,KAoBT6yC,GAnHjB,SAAUL,EAAYtyC,GAAiD,IAAA4yC,EAAA1G,EAAA9+B,EAAAylC,EAAAC,EAAAC,EAAA,OAAAlzC,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OACjC,OADiCF,EAAAE,KAAA,GAC3B+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,IAAA2vC,EAAA,OAAmB,QAAnBA,EAAK3vC,EAAE4vC,QAAQC,YAAI,IAAAF,OAAA,EAAdA,EAAgBvtC,aAAa,IAAE,KAAD,EAC5D,OAD5BmtC,EAAyBzyC,EAAAQ,KAAAR,EAAAE,KAAA,GACS+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAE8vC,cAAc7lB,UAAU,IAAE,KAAD,EACZ,OADzE4e,EAAyB/rC,EAAAQ,KAAAR,EAAAE,KAAA,GACsD+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAE+vC,eAAe,IAAE,KAAD,EAA3E,GAA2EhmC,EAAAjN,EAAAQ,KAAvHkyC,EAAkBzlC,EAAlBylC,mBAAoBC,EAAwB1lC,EAAxB0lC,yBAGvBF,GACS,OAAT1G,QAAS,IAATA,GAAAA,EAAWzoC,QACXzD,EAAOqsC,KACPrsC,EAAOqsC,IAAI18B,QAAO,CAAAxP,EAAAE,KAAA,gBAAAF,EAAAuN,OAAA,sBAInBolC,EAAyB,CAAD3yC,EAAAE,KAAA,SACxB,OADwBF,EAAAE,KAAA,GAClBmyC,IAA+B,KAAD,GAAAryC,EAAAE,KAAA,qBAC7BwyC,EAAmBQ,EAAAA,GAAaC,wBAAwBtzC,EAAOqsC,MAAM,CAADlsC,EAAAE,KAAA,SAEwE,GAD7I0yC,EAAU7G,EAAUliC,KAAI,SAAAupC,GAAC,OAAIA,EAAEC,MAAQ,EAAE,IAAEC,OAGvB,IAFAV,EAAQvmC,QAAO,SAAAknC,GAAC,OAAIL,EAAAA,GAAaC,wBAAwBI,KAAOL,EAAAA,GAAaC,wBAAwBtzC,EAAOqsC,IAAI,IAAE5oC,OAEjH,CAAAtD,EAAAE,KAAA,SAEvB,OAFuBF,EAAAE,KAAA,IAEjBO,EAAAA,EAAAA,IAAI+yC,EAAAA,IAAuBC,qBAAqBP,EAAAA,GAAaC,wBAAwBtzC,EAAOqsC,OAAO,KAAD,oBAAAlsC,EAAAgB,OAAA,GAAAC,EAAA,CAKpH,SAAUmxC,EAAkCvyC,GAA8E,OAAAH,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,WAClHL,EAAOS,QAAQozC,yBAAyB,CAADxyC,EAAAhB,KAAA,QACvC,OADuCgB,EAAAhB,KAAA,EACjCmyC,IAA+B,KAAD,EAAAnxC,EAAAhB,KAAA,mBAC7BL,EAAOS,QAAQqzC,eAAe,CAADzyC,EAAAhB,KAAA,QACpC,OADoCgB,EAAAhB,KAAA,GAC9BO,EAAAA,EAAAA,IAAI+yC,EAAAA,IAAuBI,4BAA4B,KAAD,mBAAA1yC,EAAAF,OAAA,GAAAvB,EAAA,CAIpE,SAAU4yC,IAA4B,IAAAwB,EAAAC,EAAA/H,EAAAgI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAzkC,EAAA0kC,EAAAC,EAAAC,EAAAC,EAAA,OAAA90C,EAAAA,EAAAA,KAAAK,MAAC,SAADmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OACa,OADbgF,EAAAhF,KAAA,GACmB+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,IAAAuxC,EAAA,OAAmB,QAAnBA,EAAKvxC,EAAE4vC,QAAQC,YAAI,IAAA0B,OAAA,EAAdA,EAAgBC,QAAQZ,mBAAmB,IAAE,KAAD,EACvF,OAD5BA,EAAsC5uC,EAAA1E,KAAA0E,EAAAhF,KAAA,GACJ+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAE8vC,cAAc7lB,UAAU,IAAE,KAAD,EAC9D,OADvB4e,EAAyB7mC,EAAA1E,KAAA0E,EAAAhF,KAAA,GACI+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,IAAAyxC,EAAA,OAAmB,QAAnBA,EAAKzxC,EAAE4vC,QAAQC,YAAI,IAAA4B,OAAA,EAAdA,EAAgBD,OAAO,IAAE,KAAD,EAE/E,OAFEX,EAAoB7uC,EAAA1E,KAAA0E,EAAAhF,KAAA,IAEhB+C,EAAAA,EAAAA,KAAO,SAACC,GAAiB,IAAD0xC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1B,OAAsB,QAAtBN,EAAQ1xC,EAAE4vC,QAAQC,YAAI,IAAA6B,OAAA,EAAdA,EAAgBF,QAAQlqC,MAC5B,KAAK2qC,EAAAA,EAAgBC,SAAU,OAAqB,QAArBP,EAAO3xC,EAAE4vC,QAAQC,YAAI,IAAA8B,GAAkB,QAAlBC,EAAdD,EAAgBH,QAAQW,gBAAQ,IAAAP,OAAlB,EAAdA,EAAkCd,cACxE,KAAKmB,EAAAA,EAAgBG,KAAM,OAAqB,QAArBP,EAAO7xC,EAAE4vC,QAAQC,YAAI,IAAAgC,GAAc,QAAdC,EAAdD,EAAgBL,QAAQa,YAAI,IAAAP,OAAd,EAAdA,EAA8BhB,cAChE,KAAKmB,EAAAA,EAAgBK,KAAM,OAAqB,QAArBP,EAAO/xC,EAAE4vC,QAAQC,YAAI,IAAAkC,GAAqB,QAArBC,EAAdD,EAAgBP,QAAQe,mBAAW,IAAAP,OAArB,EAAdA,EAAqCQ,yBACvE,QAAS,OAEjB,IAAG,KAAD,GAEkC,OAVlC1B,EAAyG9uC,EAAA1E,KAAA0E,EAAAhF,KAAA,GAUf,QAAxD2zC,GAAM5wC,EAAAA,EAAAA,KAAO,SAACC,GAAW,IAAAyyC,EAAA,OAAmB,QAAnBA,EAAKzyC,EAAE4vC,QAAQC,YAAI,IAAA4C,OAAA,EAAdA,EAAgBhmC,SAAS,WAAC,IAAAkkC,EAAAA,EAAI,GAAG,KAAD,GAC1D,OADtCI,EAA+B/uC,EAAA1E,KAAA0E,EAAAhF,KAAA,IACa+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAE0yC,YAAYjmC,SAAS,IAAE,KAAD,GAIpD,GAJxCukC,EAAmChvC,EAAA1E,KACnC2zC,EAAqC,GAAAj8B,QAAAC,EAAAA,EAAAA,GAAI87B,IAAgB97B,EAAAA,EAAAA,GAAK+7B,IAC/DrqC,KAAI,SAAA2F,GAAO,OAAAxJ,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAUwJ,GAAO,IAAEiuB,WAAYyV,EAAAA,GAAaC,wBAAwB,CAAE3jC,QAAAA,KAAU,IAC1F4kC,GAASyB,EAAAA,EAAAA,IAAmB,OAAT9J,QAAS,IAATA,EAAAA,EAAa,IAChCp8B,EAAS,GAAAuI,QAAAC,EAAAA,EAAAA,GAAOg8B,IAAah8B,EAAAA,EAAAA,GAAKi8B,MAE3B,OAATrI,QAAS,IAATA,GAAAA,EAAWzoC,QAAyB,MAAfywC,GAAuBC,GAAiBrkC,EAAUrM,QAAM,CAAA4B,EAAAhF,KAAA,SAkB7E,OAjBIm0C,EAAwD,CAAC,EACzDC,EAA0D,CAAC,EAC/DvI,EAAU+J,SAAQ,SAAA1C,GAAM,IAAD2C,EAAAC,EACbC,EAA0C,QAA/BF,EAAS,QAATC,EAAG5C,EAAEC,YAAI,IAAA2C,OAAA,EAANA,EAAQ3pC,QAAO,SAAAknC,GAAC,OAAKA,EAAE2C,IAAI,WAAC,IAAAH,EAAAA,EAAI,GAEpD1B,GAAkBruC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACXquC,IACA8B,EAAAA,EAAAA,GAA4BF,EAAalC,IAGhDO,GAAoBtuC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACbsuC,GACAjd,EAAAA,GAASC,UAAU2e,GAAa,SAAA/J,GAAG,OAAIgH,EAAAA,GAAaC,wBAAwBjH,EAAI,IAAE,kBAAM,CAAI,IAEvG,IAEMqI,EAAkB5kC,EAAUtD,QAAO,SAAA2K,GAAC,OAAKq9B,EAAmBr9B,EAAEymB,WAAW,IAACv4B,EAAAhF,KAAA,IAC1EO,EAAAA,EAAAA,IAAI+yC,EAAAA,IAAuB4C,qBAAqB7B,IAAkB,KAAD,MAGnET,IAAwBuC,EAAAA,EAAkBC,aAC1CxC,IAAwBuC,EAAAA,EAAkBE,sBAAqB,CAAArxC,EAAAhF,KAAA,SAG/D,OADMs0C,EAAuB7kC,EAAUtD,QAAO,SAAA2K,GAAC,OAAKs9B,EAAqBt9B,EAAEymB,WAAW,IAACv4B,EAAAhF,KAAA,IACjFO,EAAAA,EAAAA,IAAI+yC,EAAAA,IAAuBgD,qBAAqBhC,IAAuB,KAAD,oBAAAtvC,EAAAlE,OAAA,GAAAQ,EAAA,CAKxF,SAAU8wC,IAA4B,IAAAmE,EAAAvC,EAAAK,EAAA,OAAA70C,EAAAA,EAAAA,KAAAK,MAAC,SAADqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OACE,OADFkF,EAAAlF,KAAA,GACQ+C,EAAAA,EAAAA,KAAO,SAAAC,GAAC,OAAIA,EAAE4vC,QAAQC,KAAKpjC,WAAa,EAAE,IAAE,KAAD,EACzC,OADtC8mC,EAA2BrxC,EAAA5E,KAAA4E,EAAAlF,KAAA,GACiB+C,EAAAA,EAAAA,KAAO,SAAAC,GAAC,OAAIA,EAAE0yC,YAAYjmC,WAAa,EAAE,IAAE,KAAD,EAK5F,OALMukC,EAAmC9uC,EAAA5E,KACnC+zC,EAAkBL,EACnB7nC,QAAO,SAAA2K,GAAC,OAAKy/B,EAAatrB,MAAK,SAAAioB,GAAC,OAAIA,EAAExjC,KAAOoH,EAAEpH,EAAE,GAAC,IAClD/F,KAAI,SAAA2F,GAAO,OAAAxJ,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAAUwJ,GAAO,IAAEiuB,WAAYyV,EAAAA,GAAaC,wBAAwB,CAAE3jC,QAAAA,KAAU,IAAIpK,EAAAlF,KAAA,GAE9FO,EAAAA,EAAAA,IAAI+yC,EAAAA,IAAuB4C,qBAAqB7B,IAAkB,KAAD,mBAAAnvC,EAAApE,OAAA,GAAAU,EAAA,CAG3E,SAAU6wC,EAAiB1yC,GAAmE,IAAA4yC,EAAAE,EAAA+B,EAAA,OAAAh1C,EAAAA,EAAAA,KAAAK,MAAA,SAAAyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OACxD,OADwDsF,EAAAtF,KAAA,GAClD+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,IAAAwzC,EAAA,OAAmB,QAAnBA,EAAKxzC,EAAE4vC,QAAQC,YAAI,IAAA2D,OAAA,EAAdA,EAAgBpxC,aAAa,IAAE,KAAD,EACX,GAD7EmtC,EAAyBjtC,EAAAhF,KACKiyC,IAAsB5yC,EAAO4yC,kBAEhC,CAADjtC,EAAAtF,KAAA,eAAAsF,EAAA+H,OAAA,iBAIU,OAJV/H,EAAAtF,KAAA,GAIgB+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,OAAKA,EAAE+vC,gBAAgBN,wBAAwB,IAAE,KAAD,EAC1F,OADnBA,EAAiCntC,EAAAhF,KAAAgF,EAAAtF,KAAA,IACR+C,EAAAA,EAAAA,KAAO,SAACC,GAAW,IAAAyzC,EAAA,OAAmB,QAAnBA,EAAKzzC,EAAE4vC,QAAQC,YAAI,IAAA4D,OAAA,EAAdA,EAAgBjC,OAAO,IAAE,KAAD,GAAzD,GAAhBA,EAAgBlvC,EAAAhF,KAEjBmyC,IACM,OAAP+B,QAAO,IAAPA,OAAO,EAAPA,EAASlqC,QAAS2qC,EAAAA,EAAgBC,WAC3B,OAAPV,QAAO,IAAPA,OAAO,EAAPA,EAASlqC,QAAS2qC,EAAAA,EAAgBG,OAC3B,OAAPZ,QAAO,IAAPA,OAAO,EAAPA,EAASlqC,QAAS2qC,EAAAA,EAAgBK,KACrC,CAAAhwC,EAAAtF,KAAA,SACG,OADHsF,EAAAtF,KAAA,IACSO,EAAAA,EAAAA,IAAI+yC,EAAAA,IAAuBoD,8BAA6B,IAAO,KAAD,oBAAApxC,EAAAxE,OAAA,GAAAY,EAAA,CAIrE,SAAU4wC,IAAoB,OAAA9yC,EAAAA,EAAAA,KAAAK,MAAC,SAAD8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OACjC,OADiC2F,EAAA3F,KAAA,GAC3BiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQy1C,EAAAA,IAAgBC,QAAS3E,GAAa,KAAD,EAC7D,OAD6DtsC,EAAA3F,KAAA,GACvDiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQoyC,EAAAA,IAAuBoD,8BAA+BxE,GAAmC,KAAD,EAChH,OADgHvsC,EAAA3F,KAAA,GAC1GiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQoyC,EAAAA,IAAuBI,0BAA2BtB,GAA6B,OACvG,OADuGzsC,EAAA3F,KAAA,GACjGiB,EAAAA,EAAAA,KAAUC,EAAAA,EAAAA,SAAQy1C,EAAAA,IAAgBE,0BAA2BxE,GAAkB,KAAD,mBAAA1sC,EAAA7E,OAAA,GAAAc,EAAA,C,iTCnE9Ek1C,GAAmBv3C,GAAAC,EAAAA,EAAAA,KAAAC,KAmBnBs3C,GAAkBz1C,GAAA9B,EAAAA,EAAAA,KAAAC,KA6BlBu3C,GAA6Bx1C,GAAAhC,EAAAA,EAAAA,KAAAC,KAoD7Bw3C,GAAoBv1C,GAAAlC,EAAAA,EAAAA,KAAAC,KASpBy3C,GAAmBt1C,GAAApC,EAAAA,EAAAA,KAAAC,KAWnB03C,GAAkBr1C,GAAAtC,EAAAA,EAAAA,KAAAC,KAiBlB23C,GAA2Bp1C,GAAAxC,EAAAA,EAAAA,KAAAC,KAoB3B43C,GAA8BhvC,GAAA7I,EAAAA,EAAAA,KAAAC,KAsB9B63C,GAAiC/uC,GAAA/I,EAAAA,EAAAA,KAAAC,KAY1B83C,GAzOXC,EAAkB,CACpBC,EAAAA,EAAqBC,YACrBD,EAAAA,EAAqBE,QACrBF,EAAAA,EAAqBG,WACrBH,EAAAA,EAAqBI,0BAqBzB,SAASC,EAAoBC,GACzB,OAAOA,EAASC,QAAO,SAACC,EAAiCC,GACrD,IAAMC,GAAUC,EAAAA,EAAAA,SAAQF,EAAQG,WAC1Bxc,GAAYyc,EAAAA,EAAAA,IAAwBJ,EAAQrc,WAElD,MAAM,GAAN7jB,QAAAC,EAAAA,EAAAA,GACOggC,IAAGhgC,EAAAA,EAAAA,GACHkgC,EAAQxuC,KAAI,SAAAg3B,GAAA,IAAA4X,GAAA3zC,EAAAA,EAAAA,GAAA+7B,EAAA,GAAE6X,EAAUD,EAAA,GAAEE,EAAOF,EAAA,UAAAzyC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC7BoyC,GAAO,IACVM,WAAAA,EACAE,eAAgBD,EAAQr1C,OACxBy4B,UAAAA,GAAS,KAGrB,GAAG,GACP,CAEA,SAAUib,EAAoBn3C,GAA4D,IAAAmL,EAAAwnB,EAAA2E,EAAA9yB,EAAA,OAAA3E,EAAAA,EAAAA,KAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAGvD,OAFvB8K,EAAyBnL,EAAOS,QAAhC0K,qBAAoBhL,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAESC,EAAAA,EAAAA,IAAKmE,EAAAA,EAAoBC,gBAAiBC,EAAAA,EAAeC,aAAa,KAAD,EAEtE,OAF1B+tB,EAAkBxyB,EAAAQ,KAAAR,EAAAE,KAAA,GAEcC,EAAAA,EAAAA,IAAKmE,EAAAA,EAAoBC,gBAAiBC,EAAAA,EAAeC,aAAa,GAAM,KAAD,EAQjH,OARM0yB,EAAuBn3B,EAAAQ,KAEvB6D,EAAMmuB,EAAK3oB,KAAI,SAACgvC,GAAU,OAAA7yC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACzB6yC,GAAU,IACbC,SAAU3hB,EAAUhM,MAAK,SAAAqV,GAAC,OAAIA,EAAEl7B,gBAAkBuzC,EAAWvzC,aAAa,IAC1EyzC,cAAeF,EAAWvzC,gBAAkB0F,GAAoB,IACjEhL,EAAAE,KAAA,IAEGO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmBC,qBAAqB50C,IAAM,KAAD,GAAArE,EAAAE,KAAA,iBAEvD,OAFuDF,EAAAC,KAAA,GAAAD,EAAAa,GAAAb,EAAA,SAAAA,EAAAE,KAAA,IAEjDO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe5D,EAAAa,KAAK,KAAD,oBAAAb,EAAAgB,OAAA,GAAAC,EAAA,eAIlD,SAAUg2C,EAAmBp3C,GAA2D,IAAAyF,EAAAuzC,EAAAK,EAAAC,EAAA,OAAAz5C,EAAAA,EAAAA,KAAAK,MAAA,SAAAmB,GAAA,cAAAA,EAAAjB,KAAAiB,EAAAhB,MAAA,OAIzC,OAJyCgB,EAAAjB,KAAA,EAExEqF,EAAkBzF,EAAOS,QAAzBgF,cAAapE,EAAAhB,KAAA,GAEwBC,EAAAA,EAAAA,IAAKi5C,EAAAA,EAAmBC,cAAe/zC,GAAe,KAAD,EAClE,OAD1BuzC,EAA8B33C,EAAAV,KAAAU,EAAAhB,KAAA,GACEC,EAAAA,EAAAA,IAAKi5C,EAAAA,EAAmBE,4BAA6Bh0C,GAAe,KAAD,EAczG,OAdM4zC,EAAuBh4C,EAAAV,KAEvB24C,EAA2BD,EAAgBrvC,KAAI,SAAA6N,GAAC,MAAK,CACvD4B,OAAQ5B,EAAE4B,OACVigC,SAAS,GAADrhC,OAAKR,EAAE84B,UAAS,KAAAt4B,OAAIR,EAAE+4B,UAC9B+I,SAAU9hC,EAAE8hC,UAAY,GACxB1a,MAAOpnB,EAAE+hC,UAAY,GACrB/I,MAAOh5B,EAAEg5B,MACTgJ,YAAahiC,EAAEk5B,OAAS,GACxBj7B,SAAU+B,EAAE/B,UAAY,GACxB/F,GAAI8H,EAAE9H,GACN+pC,eAAgBjiC,EAAEiiC,eACrB,IAAEz4C,EAAAhB,KAAA,IAEGO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmBY,oBACzBt0C,EACAuzC,EACAM,IACD,KAAD,GAAAj4C,EAAAhB,KAAA,iBAEF,OAFEgB,EAAAjB,KAAA,GAAAiB,EAAAL,GAAAK,EAAA,SAAAA,EAAAhB,KAAA,IAEIO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe1C,EAAAL,KAAK,KAAD,oBAAAK,EAAAF,OAAA,GAAAvB,EAAA,eAIlD,SAAUy3C,EAA8Br3C,GAAsE,IAAAoJ,EAAA3D,EAAAuzC,EAAAgB,EAAA5sC,EAAAgzB,EAAA6L,EAAAgO,EAAAC,EAAA,OAAAr6C,EAAAA,EAAAA,KAAAK,MAAA,SAAAmF,GAAA,cAAAA,EAAAjF,KAAAiF,EAAAhF,MAAA,OAGlD,OAHkDgF,EAAAjF,KAAA,EAAAgJ,EAEhEpJ,EAAOS,QAArCgF,EAAa2D,EAAb3D,cAAeuzC,EAAU5vC,EAAV4vC,WAAU3zC,EAAAhF,KAAA,GACyB+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMk0C,YAAYH,mBAAmB,IAAE,KAAD,EAG7F,OAHzBA,EAA2C30C,EAAA1E,KAAA0E,EAAAhF,KAAA,GAGZ+C,EAAAA,EAAAA,KAAO,SAAC6C,GAAe,OAAKA,EAAMu6B,IAAI,IAAE,KAAD,EAgB1E,GAhB0EpzB,EAAA/H,EAAA1E,KAApEy/B,EAAShzB,EAATgzB,UAAW6L,EAAO7+B,EAAP6+B,QACbgO,EAAiB7Z,EAAUiY,QAC7B,SAAC+B,EAA+C9vC,EAAY+vC,GAAa,OACrE/vC,EAAMo2B,MACA0Z,EAAW,GAAA/hC,QAAAC,EAAAA,EAAAA,GAEJ8hC,GAAW,EAAAj0C,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAEPmE,GAAK,IACRgwC,MAAOD,EAAQ,EACfV,SAAUtzC,EAAAA,GAAYC,sBAClBgE,EAAMqvC,aAGjB,GACX,IAGC1N,IAAWgO,EAAex2C,OAAM,CAAA4B,EAAAhF,KAAA,gBAAAgF,EAAAqI,OAAA,kBAIrC,OAJqCrI,EAAAhF,KAAA,IAI/BO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmBoB,wBAAuB,IAAO,KAAD,GAc1D,OAZML,GAA8B/zC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAC7B6yC,GAAU,IACbwB,QAASn0C,EAAAA,GAAYC,sBAAsB0yC,EAAWwB,SACtDb,SAAUtzC,EAAAA,GAAYC,sBAAsB0yC,EAAWW,UACvDc,eAAgBp0C,EAAAA,GAAYC,sBAAsB0yC,EAAWyB,sBAAmB5kC,EAChF6kC,oBAAqB1B,EAAW0B,0BAAuB7kC,EACvDi3B,YACIkM,EAAWlM,cAAgBkM,EAAW2B,qBAAuB3B,EAAWlM,iBAAcj3B,EAC1FokC,eAAAA,EACAW,4BAA6BZ,EAAoBhwC,KAAI,SAACijC,GAAO,MAAM,CAAC4D,MAAO5D,EAAQ4D,MAAOiJ,iBAAkB7M,EAAQ6M,eAAe,MAAEz0C,EAAAhF,KAAA,IAGnIC,EAAAA,EAAAA,IAAKi5C,EAAAA,EAAmBsB,yBAA0Bp1C,EAAey0C,GAAgB,KAAD,GACtF,OADsF70C,EAAAhF,KAAA,IAChFO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmBK,cAAc/zC,IAAgB,KAAD,GAC1D,OAD0DJ,EAAAhF,KAAA,IACpDC,EAAAA,EAAAA,IAAKoG,EAAAA,EAAQC,KAAMC,EAAAA,GAAOk0C,oBAAoBr1C,EAAes1C,EAAAA,EAAmB1c,WAAW,KAAD,GAAAh5B,EAAAhF,KAAA,iBAEhG,OAFgGgF,EAAAjF,KAAA,GAAAiF,EAAArE,GAAAqE,EAAA,SAAAA,EAAAhF,KAAA,IAE1FO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAesB,EAAArE,KAAK,KAAD,GAE1C,OAF0CqE,EAAAjF,KAAA,GAAAiF,EAAAhF,KAAA,IAEpCO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmBoB,wBAAuB,IAAQ,KAAD,UAAAl1C,EAAAuE,OAAA,6BAAAvE,EAAAlE,OAAA,GAAAQ,EAAA,qBAInE,SAAU21C,EAAqBt3C,GAA6D,IAAA2L,EAAAR,EAAA0tC,EAAA,OAAAh5C,EAAAA,EAAAA,KAAAK,MAAA,SAAAqF,GAAA,cAAAA,EAAAnF,KAAAmF,EAAAlF,MAAA,OAGpF,OAHoFsL,EAC3C3L,EAAOS,QAA5C0K,EAAoBQ,EAApBR,qBAAsB0tC,EAAUltC,EAAVktC,WAAUtzC,EAAAnF,KAAA,EAAAmF,EAAAlF,KAAA,GAE9BC,EAAAA,EAAAA,IAAKi5C,EAAAA,EAAmByB,gBAAiB7vC,EAAsB0tC,GAAY,KAAD,EAAAtzC,EAAAlF,KAAA,gBAEhF,OAFgFkF,EAAAnF,KAAA,EAAAmF,EAAAvE,GAAAuE,EAAA,SAAAA,EAAAlF,KAAA,IAE1EO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAewB,EAAAvE,KAAK,KAAD,oBAAAuE,EAAApE,OAAA,GAAAU,EAAA,cAIlD,SAAU01C,EAAoBv3C,GAAmE,IAAAiN,EAAA9B,EAAA8tC,EAAA,OAAAp5C,EAAAA,EAAAA,KAAAK,MAAA,SAAAyF,GAAA,cAAAA,EAAAvF,KAAAuF,EAAAtF,MAAA,OAIzF,OAJyF4M,EAClDjN,EAAOS,QAA1C0K,EAAoB8B,EAApB9B,qBAAsB8tC,EAAQhsC,EAARgsC,SAAQtzC,EAAAvF,KAAA,EAAAuF,EAAAtF,KAAA,GAG5BC,EAAAA,EAAAA,IAAKi5C,EAAAA,EAAmB0B,eAAgB9vC,EAAsB8tC,GAAU,KAAD,EAC7E,OAD6EtzC,EAAAtF,KAAA,GACvEO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmB+B,uBAAuB/vC,EAAsB8tC,IAAW,KAAD,EAAAtzC,EAAAtF,KAAA,gBAEpF,OAFoFsF,EAAAvF,KAAA,EAAAuF,EAAA3E,GAAA2E,EAAA,SAAAA,EAAAtF,KAAA,IAE9EO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAaC,gBAAe4B,EAAA3E,KAAK,KAAD,oBAAA2E,EAAAxE,OAAA,GAAAY,EAAA,cAIlD,SAAUy1C,EAAmBx3C,GAA2D,IAAAmL,EAAAqU,EAAAvK,EAAAkmC,EAAAC,EAAAC,EAAAC,EAAA,OAAAz7C,EAAAA,EAAAA,KAAAK,MAAA,SAAA8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,OAIrB,OAJqB2F,EAAA5F,KAAA,EAExE+K,EAAyBnL,EAAOS,QAAhC0K,qBAAoBnF,EAAA3F,KAAA,GAEqCC,EAAAA,EAAAA,IAAKi5C,EAAAA,EAAmBgC,sBAAuBpwC,GAAsB,KAAD,EAC9F,OAD8FqU,EAAAxZ,EAAArF,KAA7HsU,EAAKuK,EAALvK,MAAOkmC,EAAmB37B,EAAnB27B,oBAAmBn1C,EAAA3F,KAAA,GACWC,EAAAA,EAAAA,IAAKi5C,EAAAA,EAAmBiC,aAAcrwC,GAAsB,KAAD,EAMxG,OANMiwC,EAA8Bp1C,EAAArF,KAE9B06C,EAAelD,EAAoBljC,GAEnCqmC,GAAQG,EAAAA,EAAAA,IAAsBJ,EAAcxD,GAAgB7xC,EAAA3F,KAAA,IAE5DO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmBuC,sBAAsB,CAAEJ,MAAAA,EAAOF,UAAAA,EAAWD,oBAAAA,KAAwB,KAAD,GAAAn1C,EAAA3F,KAAA,iBAE9F,OAF8F2F,EAAA5F,KAAA,GAAA4F,EAAAhF,GAAAgF,EAAA,SAAAA,EAAA3F,KAAA,IAExFO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAa1D,EAAAhF,KAAK,KAAD,oBAAAgF,EAAA7E,OAAA,GAAAc,EAAA,eAIhD,SAAUw1C,EAA4Bz3C,GAAoE,IAAAmN,EAAAhC,EAAAsnB,EAAAkpB,EAAAC,EAAA3mC,EAAAkmC,EAAAU,EAAA,OAAAh8C,EAAAA,EAAAA,KAAAK,MAAA,SAAAoH,GAAA,cAAAA,EAAAlH,KAAAkH,EAAAjH,MAAA,OAIvC,OAJuCiH,EAAAlH,KAAA,EAAA+M,EAE7CnN,EAAOS,QAApD0K,EAAoBgC,EAApBhC,qBAAsBsnB,EAAStlB,EAATslB,UAAWkpB,EAAOxuC,EAAPwuC,QAAOr0C,EAAAjH,KAAA,GAEiBC,EAAAA,EAAAA,IAC7Di5C,EAAAA,EAAmBgC,sBACnBpwC,EACAsnB,EAAY9vB,IAAO8vB,GAAWqpB,QAAQ,OAAO74C,cAAW4S,EACxD8lC,EAAUh5C,IAAOg5C,GAAS34C,MAAM,OAAOC,cAAW4S,GACpD,KAAD,EAKD,OALC+lC,EAAAt0C,EAAA3G,KALOsU,EAAK2mC,EAAL3mC,MAAOkmC,EAAmBS,EAAnBT,oBAOTU,EAA4B1D,EAAoBljC,GACjDzI,QAAO,SAAAm0B,GAAC,OAAIkX,EAAgBlc,SAASgF,EAAEkY,WAAW,IAACvxC,EAAAjH,KAAA,IAElDO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmB4C,wBAAwBF,EAA2BV,IAAsB,KAAD,GAAA7zC,EAAAjH,KAAA,iBAErG,OAFqGiH,EAAAlH,KAAA,GAAAkH,EAAAtG,GAAAsG,EAAA,SAAAA,EAAAjH,KAAA,IAE/FO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAapC,EAAAtG,KAAK,KAAD,oBAAAsG,EAAAnG,OAAA,GAAAgB,EAAA,eAIhD,SAAUu1C,EAA+B13C,GAAuE,IAAA4N,EAAAzC,EAAAsnB,EAAAkpB,EAAAK,EAAAC,EAAAC,EAAAjnC,EAAAkmC,EAAAgB,EAAA,OAAAt8C,EAAAA,EAAAA,KAAAK,MAAA,SAAA2H,GAAA,cAAAA,EAAAzH,KAAAyH,EAAAxH,MAAA,OAO7C,OAP6CwH,EAAAzH,KAAA,EAAAwN,EAEnD5N,EAAOS,QAApD0K,EAAoByC,EAApBzC,qBAAsBsnB,EAAS7kB,EAAT6kB,UAAWkpB,EAAO/tC,EAAP+tC,QAEnCK,EAAmBvpB,EAAY9vB,IAAO8vB,GAAWqpB,QAAQ,OAAO74C,cAAW4S,EAC3EomC,EAAiBN,EAAUh5C,IAAOg5C,GAAS34C,MAAM,OAAOC,cAAW4S,EAAShO,EAAAxH,KAAA,GAEjBC,EAAAA,EAAAA,IAC7Di5C,EAAAA,EAAmBgC,sBACnBpwC,EACA6wC,EACAC,GACF,KAAD,EAID,OAJCC,EAAAr0C,EAAAlH,KALOsU,EAAKinC,EAALjnC,MAAOkmC,EAAmBe,EAAnBf,oBAOTgB,EAA+ClnC,EA5MpDojC,QAAO,SAACC,EAA8BC,GACnC,IAAM6D,GAAQC,EAAAA,EAAAA,WAAU9D,EAAQG,WAAW,SAAA/X,GAAC,OAAIA,EAAEl9B,MAAM,IAClDy4B,GAAYyc,EAAAA,EAAAA,IAAwBJ,EAAQrc,WAElD,MAAM,GAAN7jB,QAAAC,EAAAA,EAAAA,GACOggC,GAAG,EAAAnyC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GAECoyC,GAAO,IACV6D,MAAAA,EACAlgB,UAAAA,KAGZ,GAAG,IACFogB,MAAK,SAACC,EAAG7I,GAAC,OAAK8I,EAAAA,EAAAA,IAAa9I,EAAE+I,eAAgBF,EAAEE,eAAe,IA+LL50C,EAAAxH,KAAA,IAErDO,EAAAA,EAAAA,IAAIu4C,EAAAA,EAAmBuD,2BAA2BP,EAAoBhB,IAAsB,KAAD,GAAAtzC,EAAAxH,KAAA,iBAEjG,OAFiGwH,EAAAzH,KAAA,GAAAyH,EAAA7G,GAAA6G,EAAA,SAAAA,EAAAxH,KAAA,IAE3FO,EAAAA,EAAAA,IAAIkD,EAAAA,IAAa4F,cAAa7B,EAAA7G,KAAK,KAAD,oBAAA6G,EAAA1G,OAAA,GAAAkB,EAAA,eAIhD,SAAUs1C,EAAkC33C,GAA2E,IAAAgO,EAAA7C,EAAAkL,EAAA,OAAAxW,EAAAA,EAAAA,KAAAK,MAAA,SAAAsN,GAAA,cAAAA,EAAApN,KAAAoN,EAAAnN,MAAA,OAGnH,OAHmH2N,EAC5EhO,EAAOS,QAAtC0K,EAAoB6C,EAApB7C,qBAAsBkL,EAAIrI,EAAJqI,KAAI7I,EAAAnN,KAAA,GAE5BO,EAAAA,EAAAA,IACFu4C,EAAAA,EAAmBwD,0BACfxxC,EACAkL,EACAA,IAEN,KAAD,mBAAA7I,EAAArM,OAAA,GAAAuH,EAAA,CAGE,SAAUkvC,IAAgB,OAAA/3C,EAAAA,EAAAA,KAAAK,MAAC,SAAD2N,GAAA,cAAAA,EAAAzN,KAAAyN,EAAAxN,MAAA,OAC7B,OAD6BwN,EAAAxN,KAAA,GACvByH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmByD,gBAAiBzF,GAAqB,KAAD,EACjF,OADiFtpC,EAAAxN,KAAA,GAC3EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmBK,eAAgBpC,GAAoB,KAAD,EAC/E,OAD+EvpC,EAAAxN,KAAA,GACzEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmB0B,0BAA2BxD,GAA+B,KAAD,EACrG,OADqGxpC,EAAAxN,KAAA,GAC/FyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmB6B,iBAAkB1D,GAAsB,KAAD,EACnF,OADmFzpC,EAAAxN,KAAA,IAC7EyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmB0D,uBAAwBtF,GAAqB,KAAD,GACxF,OADwF1pC,EAAAxN,KAAA,IAClFyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmB2D,eAAgBtF,GAAoB,KAAD,GAC/E,OAD+E3pC,EAAAxN,KAAA,IACzEyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmB4D,wBAAyBtF,GAA6B,KAAD,GACjG,OADiG5pC,EAAAxN,KAAA,IAC3FyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmBwD,2BAA4BjF,GAAgC,KAAD,GACvG,OADuG7pC,EAAAxN,KAAA,IACjGyH,EAAAA,EAAAA,KAAWvG,EAAAA,EAAAA,SAAQ43C,EAAAA,EAAmB6D,+BAAgCrF,GAAmC,KAAD,oBAAA9pC,EAAA1M,OAAA,GAAAyH,EAAA,C","sources":["sagas/company-members.saga.ts","sagas/edit-news.saga.ts","sagas/im-user-config.saga.ts","sagas/company-details.saga.ts","sagas/inventory-saga.ts","sagas/dashboard.saga.js","sagas/favorite-broker-dealers.saga.ts","sagas/help-resources.saga.ts","sagas/email-preferences.saga.ts","sagas/entities/rejected-trades.saga.ts","sagas/deals.saga.ts","sagas/entities/awaiting-trades.saga.ts","sagas/filter.saga.ts","sagas/clients-companies.saga.ts","sagas/change-subscription.saga.ts","sagas/inventory-edit.saga.ts","sagas/contact-sales.saga.ts","sagas/direct-bidding-agreement-disclaimer.saga.ts","sagas/clearing-bank.saga.ts","sagas/dealer-list.saga.ts","sagas/dealer-list-panel.saga.ts","sagas/clo-managers.saga.ts"],"sourcesContent":["import { call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { companiesService } from '../services/companies.service';\r\nimport { ActionType, getType } from \"typesafe-actions\";\r\nimport { companyMembersActions } from \"../actions/company-members.actions\";\r\nimport { CompanyMember } from \"../types/company/CompanyMember\";\r\n\r\nfunction* watchFetchCompanyMembersRequest(action: ActionType) {\r\n try {\r\n const members: CompanyMember[] = yield call(companiesService.getCompanyMembers, action.payload.companyId);\r\n yield put(companyMembersActions.fetchCompanyMembers.success({ companyId: action.payload.companyId, members }))\r\n } catch (e) {\r\n yield put(companyMembersActions.fetchCompanyMembers.failure({ companyId: action.payload.companyId, error: e }))\r\n }\r\n}\r\n\r\nexport function* watchCompanyMembers() {\r\n yield takeEvery(getType(companyMembersActions.fetchCompanyMembers.request), watchFetchCompanyMembersRequest);\r\n}","import { ActionType, getType } from \"typesafe-actions\";\r\nimport { put, takeLatest, call, select, all } from \"redux-saga/effects\";\r\nimport { errorActions } from \"../actions\";\r\nimport { editNewsActions } from \"../actions/edit-news.actions\";\r\nimport { News } from \"../types/news/News\";\r\nimport { newsService } from \"../services/news.service\";\r\nimport { Company } from \"../types/amr-pipeline/models/Company\";\r\nimport { routes } from \"../constants\";\r\nimport { AppState } from \"../types/state/AppState\";\r\nimport { EditNewsTabType } from \"../types/news/enums/EditNewsTabType\";\r\nimport { constants } from \"../components/management/news/constants\";\r\nimport { formatUtils } from \"../utils\";\r\nimport moment from 'moment';\r\nimport { history } from \"../history\";\r\nimport { amrCompaniesService } from '../services/amr-companies.service';\r\nimport { HavingDealType } from '../types/amr-pipeline/enums/HavingDealType';\r\n\r\nfunction alignNewsDateTime(newsDateTime: Date, initialNewsDateTime?: Date) {\r\n const newsDate = moment.utc(newsDateTime);\r\n const currentDate = moment.utc();\r\n\r\n if (newsDate.isSame(currentDate, 'day')) {\r\n return new Date();\r\n }\r\n\r\n if (initialNewsDateTime && moment.utc(initialNewsDateTime).isSame(newsDate, 'day')) {\r\n return initialNewsDateTime;\r\n }\r\n\r\n return moment(newsDateTime).utc().endOf('day').toDate();\r\n}\r\n\r\nfunction* watchGetTotalCount() {\r\n const searchTerm: string = yield select(\r\n (s: AppState) => s.editNews.searchTerm\r\n );\r\n try {\r\n const totalCount: number = yield call(newsService.getNewsTotalCount, {\r\n searchTerm:\r\n searchTerm.length > constants.maxSearchLengthToIgnore\r\n ? searchTerm\r\n : \"\",\r\n });\r\n\r\n yield put(editNewsActions.getTotalCountResult(totalCount));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchInit(action: ActionType) {\r\n const offset: number = yield select((s: AppState) => s.editNews.offset);\r\n const { initialReferenceName } = action.payload;\r\n try {\r\n const [managers, arrangers, newsList]: [\r\n managers: Company[],\r\n arrangers: Company[],\r\n newsList: News[]\r\n ] = yield all([\r\n call(amrCompaniesService.getManagersList, HavingDealType.CloManagers),\r\n call(amrCompaniesService.getArrangersList, true),\r\n call(newsService.getNews, {\r\n count: constants.newsLoadCount,\r\n offset,\r\n }),\r\n ]);\r\n\r\n let initialNews = newsList[0];\r\n\r\n if (initialReferenceName) {\r\n initialNews = yield call(\r\n newsService.getNewsDetails,\r\n initialReferenceName\r\n );\r\n }\r\n\r\n yield call(watchGetTotalCount);\r\n yield put(editNewsActions.setInitialNews(initialNews));\r\n yield put(editNewsActions.getInitResult(newsList, managers, arrangers));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchLoadMoreNews(\r\n action: ActionType\r\n) {\r\n const offset: number = yield select((s: AppState) => s.editNews.offset);\r\n const { searchTerm } = action.payload;\r\n try {\r\n const newsList: News[] = yield call(newsService.getNews, {\r\n count: constants.newsLoadCount,\r\n offset,\r\n searchTerm,\r\n });\r\n\r\n yield put(editNewsActions.loadMoreNewsListResult(newsList));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchSearchNews(\r\n action: ActionType\r\n) {\r\n const { searchTerm } = action.payload;\r\n try {\r\n const newsList: News[] = yield call(newsService.getNews, {\r\n count: constants.newsLoadCount,\r\n offset: 0,\r\n searchTerm,\r\n });\r\n yield call(watchGetTotalCount);\r\n yield put(editNewsActions.setInitialNews(newsList[0]));\r\n yield put(editNewsActions.searchNewsListResult(newsList));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchGetNewsDetails(\r\n action: ActionType\r\n) {\r\n try {\r\n const { referenceName } = action.payload;\r\n\r\n const newsDetails: News = yield call(\r\n newsService.getNewsDetails,\r\n referenceName\r\n );\r\n\r\n yield put(editNewsActions.getNewsDetailsResult(newsDetails));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchCreateOrUpdateNews(\r\n action: ActionType\r\n) {\r\n const initialNewsDateTime: Date | undefined = yield select(\r\n (state: AppState) => state.editNews.newsDetails?.newsDateTime\r\n );\r\n\r\n const { newsData } = action.payload;\r\n\r\n const newsDataToSave = {\r\n ...newsData,\r\n externalSourceLink: formatUtils.formatUrlWithProtocol(\r\n newsData.externalSourceLink\r\n ),\r\n transactionLink: formatUtils.formatUrlWithProtocol(\r\n newsData.transactionLink\r\n ),\r\n newsDateTime: alignNewsDateTime(newsData.newsDateTime, initialNewsDateTime),\r\n };\r\n\r\n try {\r\n const newReferenceName: string | undefined = yield call(\r\n newsService.createOrUpdateNews,\r\n newsDataToSave\r\n );\r\n\r\n yield call(watchGetTotalCount);\r\n\r\n const newsList: News[] = yield call(newsService.getNews, {\r\n offset: 0,\r\n count: constants.newsLoadCount\r\n });\r\n\r\n yield put(\r\n editNewsActions.setInitialNews({\r\n ...newsDataToSave,\r\n ...(newReferenceName && { referenceName: newReferenceName }),\r\n })\r\n );\r\n\r\n yield put(editNewsActions.updateNewsList(newsList));\r\n\r\n yield call(history.push, routes.manageNewsUrl(newReferenceName, EditNewsTabType.view));\r\n if (newReferenceName) {\r\n yield put(editNewsActions.getNewsDetails(newReferenceName));\r\n }\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchDeleteNews(\r\n action: ActionType\r\n) {\r\n const { referenceName } = action.payload;\r\n const initialNews: News = yield select(\r\n (s: AppState) => s.editNews.initialNews\r\n );\r\n const newsList: News[] = yield select((s: AppState) => s.editNews.newsList);\r\n const offset: number = yield select((s: AppState) => s.editNews.offset);\r\n\r\n const isInitialNews = referenceName === initialNews.referenceName;\r\n\r\n try {\r\n yield call(newsService.deleteNews, referenceName);\r\n const updatedList: News[] = yield call(newsService.getNews, {\r\n offset: 0,\r\n count: offset,\r\n });\r\n\r\n const indexOfDeletedItem = newsList.findIndex(\r\n (n) => n.referenceName === referenceName\r\n );\r\n\r\n const nextListItem = updatedList[indexOfDeletedItem];\r\n const firstListItem = updatedList[0];\r\n\r\n const newActiveItem =\r\n isInitialNews || !nextListItem ? firstListItem : nextListItem;\r\n\r\n yield put(editNewsActions.resetNewsDetails());\r\n\r\n if (isInitialNews) {\r\n yield put(editNewsActions.setInitialNews(firstListItem));\r\n }\r\n\r\n if (firstListItem) {\r\n yield put(editNewsActions.updateNewsList(updatedList));\r\n } else {\r\n yield put(editNewsActions.reset());\r\n }\r\n\r\n yield call(\r\n history.push,\r\n newActiveItem\r\n ? routes.manageNewsUrl(\r\n newActiveItem.referenceName,\r\n EditNewsTabType.view\r\n )\r\n : routes.manageNewsPage\r\n );\r\n\r\n yield call(watchGetTotalCount);\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nexport function* watchEditNews() {\r\n yield takeLatest(getType(editNewsActions.init), watchInit);\r\n yield takeLatest(\r\n getType(editNewsActions.loadMoreNewsList),\r\n watchLoadMoreNews\r\n );\r\n yield takeLatest(getType(editNewsActions.searchNewsList), watchSearchNews);\r\n yield takeLatest(\r\n getType(editNewsActions.getNewsDetails),\r\n watchGetNewsDetails\r\n );\r\n yield takeLatest(\r\n getType(editNewsActions.createOrUpdateNews),\r\n watchCreateOrUpdateNews\r\n );\r\n yield takeLatest(getType(editNewsActions.deleteNews), watchDeleteNews);\r\n}\r\n","import { all, call, put, select, takeLatest } from 'redux-saga/effects';\r\nimport { AnyAction } from 'redux';\r\nimport { ActionType, getType } from 'typesafe-actions';\r\nimport { imUserConfigActions } from '../actions/im-user-config.actions';\r\nimport { imUserConfigService } from '../services';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { errorActions } from '../actions';\r\nimport { ImUserConfig } from '../types/user-config/UserConfig';\r\nimport { UserConfigType } from '../types/user-config/UserConfigType';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { UserConfigState } from '../types/state/UserConfigState';\r\nimport { UserConfigFilter } from '../types/user-config/UserConfigFilter';\r\nimport { serializeArrangerPipelineFilters, serializeDealsPipelineFilters } from '../utils/filtering/serializers/amr-pipeline/serializeFilters';\r\nimport { issuanceMonitorFilterSelector } from '../selectors/amr-pipeline.selector';\r\nimport { PipelineType } from '../types/amr-pipeline/enums/PipelineType';\r\nimport { ArrangerPipelineFilters, DealsPipelineFilters, PipelineFilterState } from '../types/state/PipelineFilterState';\r\nimport { createFilterActions } from '../actions/filter.actions';\r\nimport { AlertOption } from '../types/email-preferences/EmailPreferences';\r\n\r\nfunction* watchGetUserConfig(action: ActionType) {\r\n try {\r\n const userConfig: ImUserConfig[] = yield call(imUserConfigService.getUserConfig);\r\n\r\n yield put(imUserConfigActions.getUserConfigResult(RequestState.success, userConfig));\r\n } catch (e) {\r\n yield put(imUserConfigActions.getUserConfigResult(RequestState.failure));\r\n yield put(errorActions.criticalError(e));\r\n } finally {\r\n action.payload.callback?.();\r\n }\r\n}\r\n\r\nfunction* watchGetUserFilterConfig(action: ActionType) {\r\n try {\r\n const { configType } = action.payload;\r\n\r\n const userConfig: ImUserConfig[] = yield call(imUserConfigService.getUserConfig, configType);\r\n\r\n yield put(imUserConfigActions.getUserFilterConfigResult(RequestState.success, userConfig));\r\n } catch (e) {\r\n yield put(imUserConfigActions.getUserConfigResult(RequestState.failure));\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nfunction* watchUpdateUserConfig(action: AnyAction) {\r\n try {\r\n const { userConfig } = action.payload;\r\n\r\n const calls = userConfig.map((config: ImUserConfig) => call(imUserConfigService.createOrUpdateUserConfig, config));\r\n\r\n yield all(calls);\r\n yield put(imUserConfigActions.updateUserConfigResult(RequestState.success, userConfig));\r\n } catch (e) {\r\n yield put(imUserConfigActions.updateUserConfigResult(RequestState.failure));\r\n yield put(errorActions.error(e));\r\n }\r\n}\r\n\r\nfunction* watchSaveTransactionAlerts(action: ActionType) {\r\n try {\r\n const { configs } = action.payload;\r\n\r\n const calls = configs.map((config) => {\r\n if (config.value?.alertOption === AlertOption.Never) {\r\n return imUserConfigService.deleteUserConfig(config.type, config.value.referenceName);\r\n }\r\n\r\n const imUserConfig = {\r\n type: config.type,\r\n value: JSON.stringify({\r\n dealReferenceName: config.value.dealReferenceName,\r\n transactionReferenceName: config.value.transactionReferenceName,\r\n alertOption: config.value.alertOption,\r\n referenceName: config.value.referenceName,\r\n }),\r\n } as ImUserConfig;\r\n\r\n\r\n return call(imUserConfigService.createOrUpdateUserConfig, imUserConfig);\r\n });\r\n\r\n yield all(calls);\r\n const userConfig: ImUserConfig[] = yield call(imUserConfigService.getUserConfig);\r\n yield put(imUserConfigActions.getUserConfigResult(RequestState.success, userConfig));\r\n }\r\n catch (e) {\r\n yield put(imUserConfigActions.updateUserConfigResult(RequestState.failure));\r\n yield put(errorActions.error(e));\r\n }\r\n}\r\n\r\nfunction* watchSaveCompanyAlerts(action: ActionType) {\r\n try {\r\n const { configs } = action.payload;\r\n\r\n const calls = configs.map(config => {\r\n if (config.value?.alertOption === AlertOption.Never) {\r\n return imUserConfigService.deleteUserConfig(config.type, config.value.referenceName);\r\n }\r\n\r\n const { companyReferenceName, alertOption, referenceName } = config.value;\r\n\r\n const imUserConfig = {\r\n type: config.type,\r\n value: JSON.stringify({\r\n companyReferenceName,\r\n alertOption,\r\n referenceName,\r\n }),\r\n } as ImUserConfig;\r\n\r\n return call(imUserConfigService.createOrUpdateUserConfig, imUserConfig);\r\n });\r\n\r\n yield all(calls);\r\n const userConfig: ImUserConfig[] = yield call(imUserConfigService.getUserConfig);\r\n yield put(imUserConfigActions.getUserConfigResult(RequestState.success, userConfig));\r\n } catch (e) {\r\n yield put(imUserConfigActions.updateUserConfigResult(RequestState.failure));\r\n yield put(errorActions.error(e));\r\n }\r\n}\r\n\r\nfunction* watchGetDefaultUserColumnsConfig() {\r\n try {\r\n const defaultClassConfig: ImUserConfig = yield call(imUserConfigService.getDefaultUserConfig, UserConfigType.imColumnsClassTab);\r\n const defaultDealConfig: ImUserConfig = yield call(imUserConfigService.getDefaultUserConfig, UserConfigType.imColumnsDealTab);\r\n\r\n yield put(imUserConfigActions.getDefaultUserColumnsConfigResult(RequestState.success, [defaultClassConfig, defaultDealConfig]));\r\n } catch (e) {\r\n yield put(imUserConfigActions.getDefaultUserColumnsConfigResult(RequestState.failure));\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nfunction* watchCreateUserFilter(action: ActionType) {\r\n try {\r\n const { pipelineType, userFilter } = action.payload;\r\n const filterSelector = issuanceMonitorFilterSelector(pipelineType);\r\n const imFilterState: PipelineFilterState = yield select(filterSelector);\r\n const filterActions = createFilterActions(pipelineType);\r\n\r\n const { filter: filterState } = imFilterState;\r\n\r\n const serializedFilter =\r\n pipelineType === PipelineType.ArrangerPipeline\r\n ? serializeArrangerPipelineFilters(filterState as ArrangerPipelineFilters)\r\n : serializeDealsPipelineFilters(filterState as DealsPipelineFilters);\r\n\r\n const filterType = pipelineType === PipelineType.ArrangerPipeline ? UserConfigType.apFilter : UserConfigType.imFilter;\r\n\r\n const userConfigFilter = {\r\n ...userFilter,\r\n filter: serializedFilter,\r\n } as UserConfigFilter;\r\n\r\n const newFilterConfig = {\r\n type: filterType,\r\n value: JSON.stringify(userConfigFilter),\r\n } as ImUserConfig;\r\n\r\n const referenceName: string = yield call(imUserConfigService.createOrUpdateUserConfig, newFilterConfig, true);\r\n\r\n yield put(imUserConfigActions.getUserFilterConfig(filterType));\r\n yield put(filterActions.setFilterByReferenceName(referenceName, filterState));\r\n } catch (e) {\r\n yield put(imUserConfigActions.updateUserConfigResult(RequestState.failure));\r\n yield put(errorActions.error(e));\r\n }\r\n}\r\n\r\nfunction* watchUpdateUserFilter(action: AnyAction) {\r\n try {\r\n const { pipelineType, userFilter } = action.payload;\r\n const filterSelector = issuanceMonitorFilterSelector(pipelineType);\r\n const imFilterState: PipelineFilterState = yield select(filterSelector);\r\n const filterActions = createFilterActions(pipelineType);\r\n\r\n const { filter: filterState } = imFilterState;\r\n const filterType = PipelineType.ArrangerPipeline === pipelineType ? UserConfigType.apFilter : UserConfigType.imFilter;\r\n\r\n const serializedFilter =\r\n pipelineType === PipelineType.ArrangerPipeline\r\n ? serializeArrangerPipelineFilters(filterState as ArrangerPipelineFilters)\r\n : serializeDealsPipelineFilters(filterState as DealsPipelineFilters);\r\n\r\n const userConfigFilter = {\r\n ...userFilter,\r\n default: userFilter.default,\r\n alertOption: userFilter.alertOption,\r\n filter: serializedFilter,\r\n } as UserConfigFilter;\r\n\r\n const imUserConfig = {\r\n type: filterType,\r\n value: JSON.stringify(userConfigFilter),\r\n };\r\n\r\n const referenceName: string = yield call(imUserConfigService.createOrUpdateUserConfig, imUserConfig, true);\r\n yield put(imUserConfigActions.getUserFilterConfig(filterType));\r\n yield put(filterActions.setFilterByReferenceName(referenceName, filterState));\r\n } catch (e) {\r\n yield put(imUserConfigActions.updateUserConfigResult(RequestState.failure));\r\n yield put(errorActions.error(e));\r\n }\r\n}\r\n\r\nfunction* watchChangeUserParams(action: ActionType) {\r\n try {\r\n const { referenceName, filterType } = action.payload;\r\n const { filtersConfig }: UserConfigState = yield select((state: AppState) => state.imUserConfig);\r\n const filterConfig = filtersConfig[filterType].value.find(filter => filter.referenceName === referenceName);\r\n\r\n if (!filterConfig) {\r\n return;\r\n }\r\n\r\n const defaultFilter = {\r\n ...filterConfig,\r\n ...action.payload,\r\n };\r\n\r\n yield call(imUserConfigService.createOrUpdateUserConfig, {\r\n type: filterType,\r\n value: JSON.stringify(defaultFilter),\r\n }, true);\r\n\r\n yield put(imUserConfigActions.setUserFilterParamsResult(RequestState.success, filterType, defaultFilter));\r\n } catch (e) {\r\n yield put(imUserConfigActions.updateUserConfigResult(RequestState.failure));\r\n yield put(errorActions.error(e));\r\n }\r\n}\r\n\r\nfunction* watchDeleteUserFilter(action: ActionType) {\r\n const { referenceName, filterType } = action.payload;\r\n\r\n try {\r\n yield call(imUserConfigService.deleteUserFilter, referenceName, filterType);\r\n yield put(imUserConfigActions.deleteUserFilterResult(RequestState.success, filterType, referenceName));\r\n } catch (e) {\r\n yield put(imUserConfigActions.deleteUserFilterResult(RequestState.failure, filterType));\r\n yield put(errorActions.error(e));\r\n }\r\n}\r\n\r\nfunction* watchUpdateUserFilterEmailAlerts(action: AnyAction) {\r\n try {\r\n\r\n const {\r\n singleUpdateAlertOption,\r\n newTransactionAlertOption,\r\n statisticAlertOption,\r\n filterEmailAlerts\r\n } = action.payload;\r\n\r\n const imAlertsConfig = {\r\n type: UserConfigType.imAlert,\r\n value: JSON.stringify({alertOption: singleUpdateAlertOption}),\r\n } as ImUserConfig;\r\n\r\n const newTransactionConfig = {\r\n type: UserConfigType.newPublishedTransactionAlert,\r\n value: JSON.stringify({alertOption: newTransactionAlertOption}),\r\n } as ImUserConfig;\r\n\r\n const imStatisticsConfig = {\r\n type: UserConfigType.weeklyStatsEmail,\r\n value: JSON.stringify({emailOption: statisticAlertOption}),\r\n } as ImUserConfig;\r\n\r\n if (filterEmailAlerts.length) {\r\n yield call(imUserConfigService.updateFilterEmailAlertsConfig, filterEmailAlerts);\r\n }\r\n\r\n yield call(imUserConfigService.createOrUpdateUserConfig, imAlertsConfig);\r\n yield call(imUserConfigService.createOrUpdateUserConfig, newTransactionConfig);\r\n yield call(imUserConfigService.createOrUpdateUserConfig, imStatisticsConfig);\r\n const userConfig: ImUserConfig[] = yield call(imUserConfigService.getUserConfig);\r\n yield put(imUserConfigActions.getUserConfigResult(RequestState.success, userConfig));\r\n } catch (e) {\r\n yield put(imUserConfigActions.updateUserConfigResult(RequestState.failure));\r\n yield put(errorActions.error(e));\r\n }\r\n}\r\n\r\nexport function* watchImUserConfig() {\r\n yield takeLatest(getType(imUserConfigActions.getUserConfig), watchGetUserConfig);\r\n yield takeLatest(getType(imUserConfigActions.getUserFilterConfig), watchGetUserFilterConfig);\r\n yield takeLatest(getType(imUserConfigActions.updateUserConfig), watchUpdateUserConfig);\r\n yield takeLatest(getType(imUserConfigActions.getDefaultUserColumnsConfig), watchGetDefaultUserColumnsConfig);\r\n\r\n yield takeLatest(getType(imUserConfigActions.createUserFilter), watchCreateUserFilter);\r\n yield takeLatest(getType(imUserConfigActions.updateUserFilter), watchUpdateUserFilter);\r\n yield takeLatest(getType(imUserConfigActions.setUserFilterParams), watchChangeUserParams);\r\n yield takeLatest(getType(imUserConfigActions.deleteUserFilter), watchDeleteUserFilter);\r\n yield takeLatest(getType(imUserConfigActions.updateUserFilterEmailAlerts), watchUpdateUserFilterEmailAlerts);\r\n\r\n yield takeLatest(getType(imUserConfigActions.saveTransactionAlerts), watchSaveTransactionAlerts);\r\n yield takeLatest(getType(imUserConfigActions.saveCompanyAlerts), watchSaveCompanyAlerts);\r\n}\r\n","import { getType } from 'typesafe-actions';\r\nimport { put, takeLatest, call, select } from 'redux-saga/effects';\r\nimport { companyDetailsActions } from '../actions/company-details.actions';\r\nimport { companiesService } from '../services';\r\nimport { errorActions } from '../actions';\r\nimport { CompanySlim } from '../types/company/CompanySlim';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { ActionType } from '../types/ActionType';\r\nimport { Company } from '../types/company/Company';\r\nimport { accountActions } from '../constants';\r\n\r\nfunction* watchSetVisible(action: ActionType<{ company: CompanySlim }>) {\r\n const { company } = action.payload;\r\n const isCompanyExist: CompanySlim = yield select((state: AppState) => state.companyDetails.companies[company?.id]);\r\n if (company && !isCompanyExist) {\r\n yield put(companyDetailsActions.fetchCompanyDetailsRequest(company.id, company.referenceName))\r\n }\r\n}\r\n\r\nfunction* watchFetchCompanyDetailsRequest(action: ActionType<{ companyId: number, companyReferenceName: string }>) {\r\n const { companyId, companyReferenceName } = action.payload;\r\n try {\r\n const company: Company = yield call(companiesService.getCompany, companyReferenceName);\r\n yield put(companyDetailsActions.setCompanyDetails(companyId, company));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n } finally {\r\n yield put(companyDetailsActions.fetchCompanyDetailsResponse(companyId));\r\n }\r\n}\r\n\r\nfunction* watchLogout() {\r\n yield put(companyDetailsActions.reset())\r\n}\r\n\r\nexport function* watchCompanyDetails() {\r\n yield takeLatest(getType(companyDetailsActions.show), watchSetVisible);\r\n yield takeLatest(getType(companyDetailsActions.fetchCompanyDetailsRequest), watchFetchCompanyDetailsRequest);\r\n yield takeLatest(accountActions.LOGOUT, watchLogout);\r\n}\r\n","import { ActionType, getType } from 'typesafe-actions';\r\nimport { call, put, all, select, takeEvery, takeLatest } from 'redux-saga/effects';\r\nimport { saveAs } from 'file-saver';\r\nimport { isNil, noop } from 'lodash';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { PageConfigType } from '../types/page-config/PageConfigType';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { InventorySearchParams, inventoryService } from '../services/inventory.service';\r\nimport { errorActions, searchSecuritiesActions } from '../actions';\r\nimport { UserConfigFilter } from '../types/user-config/UserConfigFilter';\r\nimport { isRequesting, isRequestNone } from '../utils';\r\nimport { inventoryActions } from '../actions/inventory.actions';\r\nimport { IInventoryFilter } from '../types/state/InventoryListState';\r\nimport { AnyAction } from 'redux';\r\nimport { roles } from '../constants';\r\nimport {\r\n InventorySecurityOrderByColumn,\r\n InventorySecuritySortOrder\r\n} from '../types/inventory/InventorySecurityOrderByColumn';\r\nimport { Rating } from '../types/enums/Rating';\r\nimport { QueryStringArgumentSerializer } from '../utils/filtering/serializers/QueryStringArgumentSerializer';\r\nimport {\r\n amr, collateralManagers, collateralTypes, currentInventory, dateFrom, dateTo, esg, euCompliance, identifiers,\r\n inventoryStatuses, mixedDateRange, multipleCurrencies, multipleDealers, nonCallEndFrom, nonCallEndTo, ratings,\r\n reinvestmentEndFrom, reinvestmentEndTo, staticDeals, trustees, outOfNC, outOfRI\r\n} from '../utils/filtering/serializers/serializer.definitions';\r\nimport { queryStringSerializer } from '../utils/filtering/query-string-serializer';\r\nimport { getInventoryPositionStatusByTitle } from '../components/inventory/inventory-position-status-title';\r\nimport { InventoryPositionStatus } from '../types/inventory/InventoryPositionStatus';\r\nimport { user } from '../user';\r\nimport { activeInventorySecurityActions } from '../actions/active-inventory-security.actions';\r\nimport { logger } from '../logging/logger';\r\nimport { Currency } from '../types/enums/Currency';\r\nimport { BrokerDealerCompanySlim } from '../types/company/BrokerDealerCompanySlim';\r\nimport { inventoryFilters } from '../components/inventory/filter/inventoryFilters';\r\nimport { BwicFilterType, TFilter } from '../types/filters/FilterState';\r\nimport { createFilterActions } from '../actions/filter.actions';\r\nimport { CollateralType } from '../types/amr-pipeline/enums/CollateralType';\r\nimport { dateRangeFilterOptions } from '../constants/date-range.filter';\r\nimport { selectedDateOptions } from '../utils/amr-pipeline-filter.utils';\r\nimport { convertToApiCriteria, getDateOptionByRange, getYearsRange } from '../utils/filtering/filter.utils';\r\nimport { Company } from '../types/amr-pipeline/models/Company';\r\nimport { SubscriptionFeature } from '../types/billing/SubscriptionFeature';\r\nimport { DeserializeCommandHandler } from '../utils/filtering/serializers/DeserializeCommand';\r\nimport { InventorySearchResult } from '../types/inventory/InventorySearchResult';\r\nimport { history } from '../history';\r\n\r\nconst filterActions = createFilterActions(BwicFilterType.Inventory);\r\n\r\nfunction* watchInit(action: ActionType) {\r\n const { sortField, sortDirection } = action.payload;\r\n\r\n const dealers: BrokerDealerCompanySlim[] = yield select((state: AppState) => state.entities.brokerDealerList.items);\r\n const managers: Company[] = yield select((state: AppState) => state.entities.collateralManagers.items);\r\n\r\n const filtersConfig: UserConfigFilter[] = yield select((s: AppState) => s.entities.pageConfig.configs?.[PageConfigType.DealerInventory]?.filters);\r\n const canUseAdvancedFilters = user.hasFeatures(SubscriptionFeature.InventoryAvancedFilters);\r\n const defaultConfigFilter = canUseAdvancedFilters ? (filtersConfig || []).find(filter => filter.default) : undefined;\r\n\r\n const locationSearchString = history.location.search;\r\n const searchString = locationSearchString && locationSearchString.trim();\r\n let currencyOptions: Currency[] = [];\r\n let dealersIds: number[] = [];\r\n const isAdmin = user.hasRoles(roles.Administrator);\r\n\r\n const filter: TFilter = yield select((s: AppState) => s.filters.inventory.filter);\r\n // Call init after all dynamic filters (managers, broker-dealers) have already been loaded.\r\n yield put(filterActions.init({ ...filter, date: inventoryFilters.defaultFilter.date }));\r\n\r\n if (searchString) {\r\n const [ncEndSerializers, getNcEndDeserializeResult] = mixedDateRange('nonCallEndFrom', 'nonCallEndTo');\r\n const [riEndSerializers, getRiEndDeserializeResult] = mixedDateRange('reinvestmentEndFrom', 'reinvestmentEndTo');\r\n\r\n let from: Date | undefined | null = undefined;\r\n let to: Date | undefined | null = undefined;\r\n\r\n let identifiersList: string[] = [];\r\n let statusOptions: (InventoryPositionStatus | undefined)[] = [];\r\n let ratingsOptions: Rating[] = [];\r\n let collateralTypeOptions: CollateralType[] = [];\r\n let collateralManagersReferenceNames: string[] = [];\r\n let isEsg: boolean | undefined = undefined;\r\n let isEuCompilance: boolean | undefined = undefined;\r\n let isStaticDeals: boolean | undefined = undefined;\r\n let maturityFrom: Date | null = null;\r\n let maturityTo: Date | null = null;\r\n let vintageFrom: Date | null = null;\r\n let vintageTo: Date | null = null;\r\n let closingFrom: Date | null = null;\r\n let closingTo: Date | null = null;\r\n let trusteeValues: string[] = [];\r\n let amrValue: boolean | undefined = undefined;\r\n let isOutOfNC: boolean | undefined = undefined;\r\n let isOutofRI: boolean | undefined = undefined;\r\n\r\n const serializers: QueryStringArgumentSerializer[] = [\r\n inventoryStatuses(parsedStatuses => statusOptions = parsedStatuses.map(s => getInventoryPositionStatusByTitle(s))),\r\n ratings(parsedRatings => ratingsOptions = parsedRatings.map(r => Rating[r as keyof typeof Rating])),\r\n identifiers(list => identifiersList = list),\r\n multipleCurrencies(parsedCurrency => currencyOptions = parsedCurrency.map(c => Currency[c as keyof typeof Currency])),\r\n multipleDealers(dealers.map(d => String(d.id)), parsedDealers => dealersIds = parsedDealers.map(d => Number(d))),\r\n collateralTypes(parsedCollateralTypes => collateralTypeOptions = parsedCollateralTypes as CollateralType[]),\r\n collateralManagers(values => collateralManagersReferenceNames = values, managers.map(m => m.referenceName)),\r\n esg(value => isEsg = value),\r\n euCompliance(parsedEuCompilance => isEuCompilance = parsedEuCompilance),\r\n staticDeals(parsedStaticDeals => isStaticDeals = parsedStaticDeals),\r\n outOfNC(value => isOutOfNC = value),\r\n outOfRI(value => isOutofRI = value),\r\n ...ncEndSerializers,\r\n ...riEndSerializers,\r\n dateFrom(value => maturityFrom = value, 'maturityFrom'),\r\n dateTo(value => maturityTo = value, 'maturityTo'),\r\n dateFrom(value => vintageFrom = value, 'vintageFrom'),\r\n dateTo(value => vintageTo = value, 'vintageTo'),\r\n dateFrom(value => closingFrom = value, 'closingFrom'),\r\n dateTo(value => closingTo = value, 'closingTo'),\r\n trustees(values => trusteeValues = values),\r\n amr(value => amrValue = value),\r\n ];\r\n\r\n if (isAdmin) {\r\n serializers.push(\r\n dateFrom(parsedDate => from = parsedDate),\r\n dateTo(parsedDate => to = parsedDate),\r\n );\r\n }\r\n\r\n queryStringSerializer.deserialize(searchString, serializers);\r\n\r\n yield put(filterActions.resetFilter());\r\n\r\n // Set nonCallEnd and reinvestmentEnd values\r\n const ncEndDeserializeResult = getNcEndDeserializeResult();\r\n const riEndDeserializeResult = getRiEndDeserializeResult();\r\n\r\n if (isAdmin) {\r\n const dateOption = getDateOptionByRange(dateRangeFilterOptions.CurrentInventory, from, to);\r\n\r\n if (dateOption.key !== dateRangeFilterOptions.All.key) {\r\n yield put(filterActions.filterDateSelectOption(dateOption, 'date'));\r\n }\r\n if (from || to) {\r\n yield put(filterActions.filterDateSelectCustomRange({ from, to }, 'date'));\r\n }\r\n }\r\n\r\n const statusesCommand = {\r\n execute: function* () {\r\n yield all(statusOptions.map((s: InventoryPositionStatus | undefined) => {\r\n const statusOption = inventoryFilters.defaultFilter.statuses.filter.filter(status => Number(status.value) === s)[0];\r\n return put(filterActions.filterSelectChange(statusOption.value, 'statuses'));\r\n }));\r\n }\r\n }\r\n\r\n const identifiersCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!identifiersList.length,\r\n execute: function* () {\r\n yield all(identifiersList.map(i => put(searchSecuritiesActions.addSearchItem(i))));\r\n }\r\n }\r\n\r\n const rating = {\r\n execute: function* () {\r\n yield all(ratingsOptions.map((r: Rating) => {\r\n const ratingOption = inventoryFilters.defaultFilter.ratings.filter.filter(rating => String(rating.value) === r)[0];\r\n return put(filterActions.filterSelectChange(ratingOption.value, 'ratings'))\r\n }));\r\n }\r\n };\r\n\r\n const collateralTypesCommand = {\r\n shouldExecute: () => !!collateralTypeOptions.length,\r\n execute: function* () {\r\n yield all(collateralTypeOptions.map((collateralTypeOption: CollateralType) => put(filterActions.filterSelectChange(collateralTypeOption, 'collateralType'))));\r\n }\r\n }\r\n\r\n const esgCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(isEsg),\r\n execute: function* () {\r\n yield put(filterActions.filterVisibilityChange('esg'));\r\n yield put(filterActions.filterRadioChange(isEsg!, 'esg'));\r\n }\r\n }\r\n\r\n const euCompilanceCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(isEuCompilance),\r\n execute: function* () {\r\n yield put(filterActions.filterVisibilityChange('euCompliance'));\r\n yield put(filterActions.filterRadioChange(isEuCompilance!, 'euCompliance'));\r\n }\r\n }\r\n\r\n const staticDealsCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(isStaticDeals),\r\n execute: function* () {\r\n yield put(filterActions.filterVisibilityChange('staticDeal'));\r\n yield put(filterActions.filterRadioChange(isStaticDeals!, 'staticDeal'));\r\n }\r\n }\r\n\r\n const outOfNCCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(isOutOfNC),\r\n execute: function* () {\r\n yield put(filterActions.filterVisibilityChange('outOfNC'));\r\n yield put(filterActions.filterRadioChange(isOutOfNC!, 'outOfNC'));\r\n }\r\n }\r\n\r\n const outofRICommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(isOutofRI),\r\n execute: function* () {\r\n yield put(filterActions.filterVisibilityChange('outOfRI'));\r\n yield put(filterActions.filterRadioChange(isOutofRI!, 'outOfRI'));\r\n }\r\n }\r\n\r\n const nonCallEndCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!ncEndDeserializeResult?.dates || !!ncEndDeserializeResult?.years,\r\n execute: function* () {\r\n yield put(filterActions.filterDateQueryStringDeserialized('nonCallEnd', ncEndDeserializeResult))\r\n }\r\n };\r\n const reinvestmentEndCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!riEndDeserializeResult?.dates || !!riEndDeserializeResult?.years,\r\n execute: function* () {\r\n yield put(filterActions.filterDateQueryStringDeserialized('reinvestmentEnd', riEndDeserializeResult));\r\n }\r\n };\r\n\r\n const currenciesCommand = {\r\n shouldExecute: () => !!currencyOptions.length,\r\n execute: function* () {\r\n yield all(currencyOptions.map(\r\n c =>\r\n put(filterActions.filterSelectChange(c.toString(), 'currency'))\r\n ));\r\n }\r\n }\r\n\r\n const collateralManagersReferenceNamesCommand = {\r\n shouldExecute: () => !!collateralManagersReferenceNames.length,\r\n execute: function* () {\r\n yield all(collateralManagersReferenceNames.map((cm: string) => {\r\n return put(filterActions.filterSelectChange(cm, 'managers'));\r\n }));\r\n }\r\n }\r\n\r\n const dealerIdsCommand = {\r\n shouldExecute: () => !!dealersIds.length,\r\n execute: function* () {\r\n yield all(dealersIds.map((d: number) => {\r\n return put(filterActions.filterSelectChange(d, 'dealerIds'));\r\n }));\r\n }\r\n }\r\n\r\n const trusteesValuesCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !!trusteeValues.length,\r\n execute: function* () {\r\n yield put(filterActions.filterVisibilityChange('trustees'));\r\n yield all(trusteeValues.map(name => put(filterActions.filterSelectChange(name, 'trustees'))));\r\n }\r\n }\r\n\r\n const maturityCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(maturityFrom) || !isNil(maturityTo),\r\n execute: function* () {\r\n yield put(filterActions.makeFilterVisible('maturity'));\r\n const filterOption = getDateOptionByRange(dateRangeFilterOptions.ThisWeek, maturityFrom, maturityTo);\r\n yield put(filterActions.filterDateSelectOption(filterOption, 'maturity'));\r\n yield put(\r\n filterActions.filterDateSelectCustomRange({ from: maturityFrom, to: maturityTo }, 'maturity'),\r\n );\r\n }\r\n }\r\n\r\n const vintageCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(vintageFrom) || !isNil(vintageTo),\r\n execute: function* () {\r\n yield put(filterActions.makeFilterVisible('vintage'));\r\n const filterOption = getDateOptionByRange(dateRangeFilterOptions.ThisWeek, vintageFrom, vintageTo);\r\n yield put(filterActions.filterDateSelectOption(filterOption, 'vintage'));\r\n yield put(\r\n filterActions.filterDateSelectCustomRange({ from: vintageFrom, to: vintageTo }, 'vintage'),\r\n );\r\n }\r\n }\r\n\r\n const closingCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(closingFrom) || !isNil(closingTo),\r\n execute: function* () {\r\n yield put(filterActions.makeFilterVisible('closing'));\r\n const filterOption = getDateOptionByRange(dateRangeFilterOptions.ThisWeek, closingFrom, closingTo);\r\n yield put(filterActions.filterDateSelectOption(filterOption, 'closing'));\r\n yield put(\r\n filterActions.filterDateSelectCustomRange({ from: closingFrom, to: closingTo }, 'closing'),\r\n );\r\n }\r\n }\r\n\r\n const amrValueCommand = {\r\n canExecute: () => canUseAdvancedFilters,\r\n shouldExecute: () => !isNil(amrValue),\r\n execute: function* () {\r\n yield put(filterActions.filterVisibilityChange('amr'));\r\n yield put(filterActions.filterRadioChange(amrValue!, 'amr'));\r\n }\r\n }\r\n\r\n const isAllCommandsExecuted: boolean =\r\n yield new DeserializeCommandHandler()\r\n .addCommand(statusesCommand)\r\n .addCommand(identifiersCommand)\r\n .addCommand(rating)\r\n .addCommand(collateralTypesCommand)\r\n .addCommand(esgCommand)\r\n .addCommand(euCompilanceCommand)\r\n .addCommand(staticDealsCommand)\r\n .addCommand(outOfNCCommand)\r\n .addCommand(outofRICommand)\r\n .addCommand(currenciesCommand)\r\n .addCommand(nonCallEndCommand)\r\n .addCommand(reinvestmentEndCommand)\r\n .addCommand(collateralManagersReferenceNamesCommand)\r\n .addCommand(dealerIdsCommand)\r\n .addCommand(trusteesValuesCommand)\r\n .addCommand(maturityCommand)\r\n .addCommand(vintageCommand)\r\n .addCommand(closingCommand)\r\n .addCommand(amrValueCommand)\r\n .processGenerator()\r\n\r\n if (!isAllCommandsExecuted) {\r\n yield put(inventoryActions.advancedFilterBlocked(true));\r\n return;\r\n }\r\n\r\n\r\n\r\n } else if (defaultConfigFilter) {\r\n yield put(filterActions.selectFilterFromConfig(defaultConfigFilter));\r\n } else {\r\n if (isAdmin) {\r\n yield put(filterActions.filterDateSelectOption(dateRangeFilterOptions.CurrentInventory, 'date'));\r\n }\r\n }\r\n yield put(inventoryActions.requestInventoryExistFlag());\r\n yield put(inventoryActions.loadSellerInventory(sortField, sortDirection, true));\r\n}\r\n\r\nfunction* watchRequestInventoryExist() {\r\n try {\r\n const exist: boolean = yield call(inventoryService.getInventoryExistFlag);\r\n yield put(inventoryActions.inventoryExistFlag(exist));\r\n } catch (e) {\r\n yield put(inventoryActions.inventoryExistFlag(true));\r\n }\r\n}\r\n\r\nfunction getFilterParams(filter: IInventoryFilter) {\r\n const defaultDateRange = { dateFrom: undefined, dateTo: undefined };\r\n\r\n const ratings = filter.ratings.filter.filter(r => r.selected).map(r => String(r.value));\r\n const statuses = filter.statuses.filter.filter(f => f.selected).map(f => Number(f.value));\r\n const selectedCurrencies = filter.currency.filter.filter(c => c.selected).map(c => c.value);\r\n const currency = selectedCurrencies.length && selectedCurrencies.length === 1 ? selectedCurrencies[0] : undefined\r\n const collateralTypes = filter.collateralType.filter.filter(c => c.selected).map(c => c.value);\r\n const collateralManagers = filter.managers.filter.filter(c => c.selected).map(c => c.value);\r\n\r\n const nonCallEndYears = getYearsRange(filter.nonCallEnd);\r\n const nonCallEndDates = selectedDateOptions(filter.nonCallEnd);\r\n const reinvestmentEndYears = getYearsRange(filter.reinvestmentEnd);\r\n const reinvestmentEndDates = selectedDateOptions(filter.reinvestmentEnd);\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 const esg = filter.esg.filter.selectedOption;\r\n const euCompliance = filter.euCompliance.filter.selectedOption;\r\n const staticDeals = filter.staticDeal.filter.selectedOption;\r\n const outOfNC = filter.outOfNC.filter.selectedOption;\r\n const outOfRI = filter.outOfRI.filter.selectedOption;\r\n\r\n return {\r\n ratings,\r\n statuses,\r\n currency,\r\n collateralTypes,\r\n collateralManagers,\r\n esg,\r\n staticDeals,\r\n euCompliance,\r\n nonCallEndFromYear: nonCallEndYears?.from,\r\n nonCallEndToYear: nonCallEndYears?.to,\r\n nonCallEndFromDate: nonCallEndDates?.from,\r\n nonCallEndToDate: nonCallEndDates?.to,\r\n reinvestmentEndFromYear: reinvestmentEndYears?.from,\r\n reinvestmentEndToYear: reinvestmentEndYears?.to,\r\n reinvestmentEndFromDate: reinvestmentEndDates?.from,\r\n reinvestmentEndToDate: reinvestmentEndDates?.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,\r\n outOfRI\r\n };\r\n}\r\n\r\nfunction getSearchParams(\r\n filter: IInventoryFilter,\r\n searchSecurities: string[],\r\n sortField: InventorySecurityOrderByColumn,\r\n sortDirection: InventorySecuritySortOrder,\r\n currentPageNumber?: number,\r\n pageSize?: number\r\n): InventorySearchParams {\r\n\r\n const {\r\n ratings,\r\n statuses,\r\n currency,\r\n collateralTypes,\r\n collateralManagers,\r\n staticDeals,\r\n esg,\r\n euCompliance,\r\n nonCallEndFromYear,\r\n nonCallEndToYear,\r\n nonCallEndFromDate,\r\n nonCallEndToDate,\r\n reinvestmentEndFromYear,\r\n reinvestmentEndToYear,\r\n reinvestmentEndFromDate,\r\n reinvestmentEndToDate,\r\n maturityFrom,\r\n maturityTo,\r\n vintageFrom,\r\n vintageTo,\r\n closingFrom,\r\n closingTo,\r\n trustees,\r\n amr,\r\n outOfNC,\r\n outOfRI\r\n } = getFilterParams(filter);\r\n\r\n const searchParams = {\r\n identifiers: searchSecurities,\r\n statuses,\r\n ratings,\r\n currency,\r\n dealers: filter.dealerIds.filter.filter(el => el.selected).map(el => el.value),\r\n collateralTypes,\r\n collateralManagers,\r\n esg,\r\n euCompliance,\r\n staticDeals,\r\n nonCallEndFromYear,\r\n nonCallEndToYear,\r\n nonCallEndFromDate,\r\n nonCallEndToDate,\r\n reinvestmentEndFromYear,\r\n reinvestmentEndToYear,\r\n reinvestmentEndFromDate,\r\n reinvestmentEndToDate,\r\n maturityFrom,\r\n maturityTo,\r\n vintageFrom,\r\n vintageTo,\r\n closingFrom,\r\n closingTo,\r\n trustees,\r\n amr,\r\n orderByColumn: sortField,\r\n sortOrder: sortDirection,\r\n page: currentPageNumber || undefined,\r\n pageSize: pageSize || undefined,\r\n outOfNC,\r\n outOfRI\r\n };\r\n\r\n if (user.hasRoles(roles.Administrator, roles.DataEntry) && filter.date.filter.selectedOption) {\r\n const dateParams = convertToApiCriteria(filter.date.filter.selectedOption, filter.date.filter.options);\r\n return {\r\n ...searchParams,\r\n ...dateParams\r\n };\r\n }\r\n\r\n return searchParams;\r\n}\r\n\r\nfunction* watchLoadInventory(action: ActionType) {\r\n const { sortField, sortDirection, applyFilter, loadSummary } = action.payload;\r\n const {\r\n currentPageNumber,\r\n requestState,\r\n pageSize\r\n } = yield select((state: AppState) => state.entities.allInventory);\r\n const filter: IInventoryFilter = yield select((state: AppState) => state.filters.inventory.filter);\r\n const lastAppliedFilter: IInventoryFilter = yield select((state: AppState) => state.filters.inventory.lastAppliedFilter);\r\n const searchSecurities: string[] = yield select((state: AppState) => state.searchSecurities.searchTermItems);\r\n const filterBlocked: boolean = yield select((state: AppState) => state.inventory.advancedFilterBlocked);\r\n\r\n if(loadSummary) {\r\n put(inventoryActions.resetSummary());\r\n }\r\n\r\n if (filterBlocked) return;\r\n\r\n if (!isRequesting(requestState)) {\r\n const searchFilter = applyFilter ? filter: lastAppliedFilter;\r\n yield put(inventoryActions.request());\r\n const searchParams = getSearchParams(\r\n searchFilter,\r\n searchSecurities,\r\n sortField,\r\n sortDirection,\r\n currentPageNumber,\r\n pageSize\r\n );\r\n try {\r\n const { result, totalRecordNumber, ...summary }: InventorySearchResult = yield call(inventoryService.getAllInventory, { ...searchParams, loadSummary: action.payload.loadSummary });\r\n yield put(inventoryActions.requestResult(RequestState.success, result, totalRecordNumber, loadSummary ? summary: undefined));\r\n if(applyFilter) {\r\n yield put(filterActions.applyFilter());\r\n }\r\n yield call(watchRedirectWithFilterArguments);\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n }\r\n }\r\n}\r\n\r\nfunction* watchRedirectWithFilterArguments() {\r\n const dealers: BrokerDealerCompanySlim[] = yield select((state: AppState) => state.entities.brokerDealerList.items)\r\n const filter: IInventoryFilter = yield select((state: AppState) => state.filters.inventory.filter);\r\n const { searchTermItems } = yield select((state: AppState) => state.searchSecurities);\r\n const criteria = getFilterCriteria(filter, searchTermItems);\r\n const serializers: QueryStringArgumentSerializer[] = [\r\n identifiers(), inventoryStatuses(), ratings(), multipleCurrencies(), multipleDealers(dealers.map(d => String(d.id))),\r\n collateralTypes(), collateralManagers(), esg(), euCompliance(), staticDeals(), nonCallEndFrom(),\r\n nonCallEndTo(), reinvestmentEndFrom(), reinvestmentEndTo(), currentInventory(), trustees(), amr(),\r\n dateFrom(noop, 'maturityFrom'), dateTo(noop, 'maturityTo'), dateFrom(noop, 'vintageFrom'),\r\n dateTo(noop, 'vintageTo'), dateFrom(noop, 'closingFrom'), dateTo(noop, 'closingTo'), outOfNC(), outOfRI()\r\n ];\r\n\r\n if (user.hasRoles(roles.Administrator)) {\r\n serializers.push(dateFrom(), dateTo());\r\n }\r\n\r\n const queryString = queryStringSerializer.serialize(criteria, serializers);\r\n if (queryString) {\r\n yield call(history.replace ,history.location.pathname + '?' + queryString);\r\n } else if (history.location.search) {\r\n yield call(history.replace, history.location.pathname);\r\n }\r\n}\r\n\r\nfunction getFilterCriteria(filter: IInventoryFilter, isinCusipsAndTickers: string[]) {\r\n const defaultDateRange = { dateFrom: undefined, dateTo: undefined };\r\n\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 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 const criteria = {\r\n isinCusipsAndTickers,\r\n statuses: filter.statuses.filter.filter(s => s.selected).map(s => s.text),\r\n currency: filter.currency.filter.filter(c => c.selected).map(c => c.value),\r\n dealers: filter.dealerIds.filter.filter(d => d.selected).map(d => d.value),\r\n ratings: filter.ratings.filter.filter(r => r.selected).map(r => r.value),\r\n collateralTypes: filter.collateralType.filter.filter(r => r.selected).map(r => r.value),\r\n collateralManagers: filter.managers.filter.filter(c => c.selected).map(c => c.value),\r\n nonCallEndFrom: nonCallEndYears.from ?? nonCallEndDateRange.from,\r\n nonCallEndTo: nonCallEndYears.to ?? nonCallEndDateRange.to,\r\n reinvestmentEndFrom: reinvestmentEndYears.from ?? reinvestmentEndDateRange.from,\r\n reinvestmentEndTo: reinvestmentEndYears.to ?? reinvestmentEndDateRange.to,\r\n esg: filter.esg.filter.selectedOption,\r\n euCompliance: filter.euCompliance.filter.selectedOption,\r\n staticDeals: filter.staticDeal.filter.selectedOption,\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\n return user.hasRoles(roles.Administrator) && filter.date.filter.selectedOption\r\n ? { ...criteria, ...(convertToApiCriteria(filter.date.filter.selectedOption, filter.date.filter.options)) }\r\n : criteria;\r\n}\r\n\r\nfunction* watchExportInventoryRequest(action: AnyAction) {\r\n const { sortField, sortDirection } = action.payload;\r\n\r\n const appliedFilter: IInventoryFilter = yield select((state: AppState) => state.filters.inventory.lastAppliedFilter);\r\n const searchSecurities: string[] = yield select((state: AppState) => state.searchSecurities.searchTermItems);\r\n\r\n const searchParams = getSearchParams(appliedFilter, searchSecurities, sortField, sortDirection);\r\n searchParams.orderByColumn = Number(InventorySecurityOrderByColumn[sortField]) || undefined;\r\n searchParams.sortOrder = Number(InventorySecuritySortOrder[sortDirection]) || undefined;\r\n\r\n try {\r\n const file: { blob: Blob, name: string } = yield call(inventoryService.exportInventoryList, searchParams);\r\n saveAs(file.blob, file.name);\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n } finally {\r\n yield put(inventoryActions.exportInventoryResponse());\r\n }\r\n}\r\n\r\nfunction* watchPushInventory() {\r\n const isPageActive: boolean = yield select((s: AppState) => !isRequestNone(s.inventory.requestStateInventoryExist));\r\n\r\n if (isPageActive) {\r\n yield put(inventoryActions.requestInventoryExistFlag());\r\n }\r\n}\r\n\r\nfunction* watchActiveInventorySecurityIds() {\r\n try {\r\n const activeSecurityIds: number[] = yield call(inventoryService.getActiveSecurityIdList);\r\n yield put(activeInventorySecurityActions.requestActiveInventorySecuritiesSuccess(activeSecurityIds));\r\n } catch (e) {\r\n yield put(activeInventorySecurityActions.requestActiveInventorySecuritiesError());\r\n logger.exception(e as Error, 'Failed to request active inventory security id by count');\r\n }\r\n}\r\n\r\nexport function* watchInventory() {\r\n yield takeLatest(getType(inventoryActions.init), watchInit);\r\n yield takeLatest(getType(inventoryActions.loadSellerInventory), watchLoadInventory);\r\n yield takeLatest(getType(inventoryActions.requestInventoryExistFlag), watchRequestInventoryExist);\r\n yield takeEvery(getType(inventoryActions.pushInventory), watchPushInventory);\r\n yield takeLatest(getType(inventoryActions.exportInventoryRequest), watchExportInventoryRequest);\r\n yield takeEvery(getType(activeInventorySecurityActions.requestActiveInventorySecurities), watchActiveInventorySecurityIds);\r\n}\r\n","import { put, all, takeLatest, call, select } from 'redux-saga/effects';\r\nimport { getType } from 'typesafe-actions';\r\nimport { saveAs } from 'file-saver';\r\nimport { isEqual, capitalize } from 'lodash';\r\nimport moment from 'moment';\r\nimport {\r\n dashboardInit,\r\n dashboardInitSuccess,\r\n dashboardFetchPortfolioExist,\r\n dashboardFetchPortfolioSecurities,\r\n dashboardFetchDntRates,\r\n dashboardFetchColorRates,\r\n dashboardFetchSameDayPeriods,\r\n dashboardFetchTradingStats,\r\n dashboardReset,\r\n dashboardOnSelectedSecurity,\r\n dashboardSetSearchTermItem,\r\n dashboardFetchSecurityHistoryRequest,\r\n dashboardFetchSecurityHistorySuccess,\r\n dashboardFetchSecurityHistoryFailure,\r\n dashboardExportBwiStatistic,\r\n dashboardExportTradingStats,\r\n dashboardSetRequestStatusExportTradingStats,\r\n dashboardFetchPriceLevel,\r\n dashboardFetchDtcSellingBuying,\r\n dashboardFetchAAAPriceLevel,\r\n dashboardFetchMostTradedTickers,\r\n dashboardFetchBiggestMovers,\r\n dashboardFetchDtcIgHy,\r\n dashboardFetchPxTalkDeviation,\r\n dashboardFetchBwicPercentOfTrace,\r\n dashboardFetchKWatchNews,\r\n dashboardSetFilterActive,\r\n dashboardSetNotAppliedFilter,\r\n dashboardSetFilter,\r\n dashboardClearFilter,\r\n dashboardFetchTopIssuers,\r\n dashboardFetchTopIssuersResult,\r\n dashboardExportTopIssuers,\r\n dashboardSetRequestStatusExportTopIssuers,\r\n dashboardFetchTopArrangers,\r\n dashboardFetchTopArrangersResult,\r\n dashboardExportTopArrangers,\r\n dashboardSetRequestStatusExportTopArrangers,\r\n dashboardFetchTopTrustees,\r\n dashboardFetchTopTrusteesResult,\r\n dashboardExportTopTrustees,\r\n dashboardSetRequestStatusExportTopTrustees,\r\n dashboardIssueTransactionVolumeRequest,\r\n dashboardIssueTransactionVolumeResult,\r\n dashboardUsBslEsgNewIssueRequest,\r\n dashboardUsBslEsgNewIssueResult,\r\n dashboardUsBslEuCompliantDealsRequest,\r\n dashboardUsBslEuCompliantDealsResult,\r\n dashboardGetPortfolioInventorySecuritiesRequest,\r\n dashboardGetPortfolioInventorySecuritiesSuccess,\r\n dashboardGetPortfolioInventorySecuritiesFailure,\r\n dashboardFetchTopStaticDeals,\r\n dashboardFetchTopStaticDealsResult,\r\n dashboardExportTopStaticDeals,\r\n dashboardSetRequestStatusExportTopStaticDeals,\r\n dashboardFetchTopDebutDeals,\r\n dashboardFetchTopDebutDealsResult,\r\n dashboardExportTopDebutDeals,\r\n dashboardSetRequestStatusExportTopDebutDeals,\r\n dashboardShortLongDatedDealsRequest,\r\n dashboardShortLongDatedDealsResult,\r\n dashboardIssuanceSpreadRequest,\r\n dashboardIssuanceSpreadResult,\r\n dashboardFetchKIndicator,\r\n dashboarNewIssuedWeeklySpreadsRequest,\r\n dashboardNewIssueWeeklySpreadsResult,\r\n dashboardInitPortfolioSecurities,\r\n dashboardInitTradingStats,\r\n dashboardInitPriceLevel,\r\n dashboardInitIssueTransactionVolume,\r\n} from '../actions/dashboard.actions';\r\nimport { accountActions, constants, routes, pipelineRequestCriteria } from '../constants';\r\nimport { queryStringSerializer } from '../utils/filtering/query-string-serializer';\r\nimport { multipleCurrencies, ratingsGroup } from '../utils/filtering/serializers/serializer.definitions';\r\nimport { dashboardService, portfolioService, bwicService, newsService } from '../services';\r\nimport { errorActions } from '../actions';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { user } from '../user';\r\nimport { SubscriptionFeature } from '../types/billing/SubscriptionFeature';\r\nimport { CollateralType } from '../types/amr-pipeline/enums/CollateralType';\r\nimport { TransactionType } from '../types/amr-pipeline/enums/TransactionType';\r\nimport { Term } from '../types/dashboard/AmrChart';\r\nimport { TransactionStatus } from '../types/amr-pipeline/enums/TransactionStatus'\r\nimport { hasWidgetsAccess, hasKWatchNewsAccess } from '../utils/amr-pipeline.utils';\r\nimport { numericUtils } from '../utils';\r\nimport { TopChartType } from '../types/dashboard/TopChartType';\r\nimport { history } from '../history';\r\n\r\nfunction* exportTopChart(exportFile, actionTypeRequest, chartName, ...params) {\r\n if (!hasWidgetsAccess()) {\r\n return;\r\n }\r\n yield put(actionTypeRequest(RequestState.request));\r\n try {\r\n const file = yield call(exportFile, ...params);\r\n saveAs(file.blob, `${chartName} - ${moment().format(constants.dateFormat)}.xlsx`);\r\n yield put(actionTypeRequest(RequestState.success));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n yield put(actionTypeRequest(RequestState.failure));\r\n }\r\n}\r\n\r\nfunction* exportTopCommonCharts(chartType, actionTypeRequest, payload) {\r\n const { types, ccy, yearFrom, yearTo, sortingParams, collateralTypes } = payload;\r\n\r\n yield exportTopChart(\r\n dashboardService.exportTopChart,\r\n actionTypeRequest,\r\n `Top-10 ${capitalize(chartType)}`,\r\n chartType,\r\n types,\r\n ccy,\r\n yearFrom,\r\n yearTo,\r\n collateralTypes,\r\n sortingParams\r\n );\r\n}\r\n\r\nfunction* fetchRequest(requestFunction, actionTypeRequest, isRestricted, ...args) {\r\n if (isRestricted) {\r\n return true;\r\n }\r\n try {\r\n yield put(actionTypeRequest(RequestState.request));\r\n const response = yield call(requestFunction, ...args);\r\n yield put(actionTypeRequest(RequestState.success, response));\r\n } catch (e) {\r\n yield put(actionTypeRequest(RequestState.failure));\r\n if (Number(e.status) === 401) {\r\n yield call(history.replace, routes.logout);\r\n return true;\r\n } else if (!errorActions.isRequestCancelationError(e)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nfunction* watchDashboardInit() {\r\n try {\r\n const { dashboard } = yield select(s => s);\r\n const { filter } = dashboard;\r\n const queryString = history.location.search;\r\n if (queryString) {\r\n let selectedCurrencies = [];\r\n let selectedRatings = [];\r\n const serializers = [\r\n multipleCurrencies(parsedCurrency => selectedCurrencies = parsedCurrency),\r\n ratingsGroup(parsedRatings => selectedRatings = parsedRatings)\r\n ];\r\n queryStringSerializer.deserialize(queryString, serializers);\r\n const filterData = { selectedCurrencies, selectedRatings };\r\n yield put(dashboardSetNotAppliedFilter(filterData));\r\n yield put(dashboardSetFilter(filterData));\r\n } else if (filter.selectedRatings.length || filter.selectedCurrencies.length) {\r\n yield put(dashboardSetFilter(filter));\r\n }\r\n\r\n yield put(dashboardInitSuccess());\r\n\r\n const requests = [\r\n fetchRequest(dashboardService.fetchColorRates, dashboardFetchColorRates, !user.hasFeatures(SubscriptionFeature.getColorRates)),\r\n fetchRequest(dashboardService.fetchDntRates, dashboardFetchDntRates, !user.hasFeatures(SubscriptionFeature.getDntRates)),\r\n fetchRequest(dashboardService.fetchSameDayPeriods, dashboardFetchSameDayPeriods, !user.hasFeatures(SubscriptionFeature.getSameDayBwics)),\r\n fetchRequest(dashboardService.fetchDtcSellingBuying, dashboardFetchDtcSellingBuying, !user.hasFeatures(SubscriptionFeature.getDtcSellingBuying)),\r\n fetchRequest(dashboardService.fetchAAAPriceLevel, dashboardFetchAAAPriceLevel, !user.hasFeatures(SubscriptionFeature.getMedianTripleA)),\r\n fetchRequest(dashboardService.fetchMostTradedTickers, dashboardFetchMostTradedTickers, !user.hasFeatures(SubscriptionFeature.getMostTradedTickers)),\r\n fetchRequest(dashboardService.fetchBiggestMovers, dashboardFetchBiggestMovers, !user.hasFeatures(SubscriptionFeature.getBiggestMovers)),\r\n fetchRequest(dashboardService.fetchDtcInvestmentGrade, dashboardFetchDtcIgHy, !user.hasFeatures(SubscriptionFeature.getVantageData)),\r\n fetchRequest(dashboardService.fetchPxTalkDeviation, dashboardFetchPxTalkDeviation, !user.hasFeatures(SubscriptionFeature.getPriceTalkDeviation)),\r\n fetchRequest(dashboardService.fetchBwicPercentOfTrace, dashboardFetchBwicPercentOfTrace, !user.hasFeatures(SubscriptionFeature.getBwicPercentOfTrace)),\r\n fetchRequest(newsService.getNews, dashboardFetchKWatchNews, !hasKWatchNewsAccess(), pipelineRequestCriteria.kWatchNews),\r\n fetchRequest(dashboardService.fetchKIndicator, dashboardFetchKIndicator),\r\n ];\r\n\r\n const responses = yield all(requests);\r\n\r\n if (responses.some(r => !r)) {\r\n yield put(errorActions.unexpectedError());\r\n }\r\n\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nfunction* watchInitIssueTransactionVolumeCount() {\r\n const response = yield call(\r\n fetchRequest,\r\n dashboardService.fetchIssueTransactionVolumesCount,\r\n dashboardIssueTransactionVolumeResult,\r\n !hasWidgetsAccess(),\r\n pipelineRequestCriteria.volumesCount\r\n );\r\n\r\n if (!response) {\r\n yield put(errorActions.unexpectedError());\r\n }\r\n}\r\n\r\nfunction* watchInitPortfolioSecurities() {\r\n const responses = yield all([\r\n fetchRequest(dashboardService.fetchPortfolioSecurities, dashboardFetchPortfolioSecurities, false),\r\n fetchRequest(portfolioService.portfolioExist, dashboardFetchPortfolioExist, false),\r\n ]);\r\n\r\n if (responses.some(r => !r)) {\r\n yield put(errorActions.unexpectedError());\r\n }\r\n}\r\n\r\nfunction* watchInitTradingStats() {\r\n const response = yield call(\r\n fetchRequest,\r\n dashboardService.fetchDailyTradingStats,\r\n dashboardFetchTradingStats,\r\n !user.hasFeatures(SubscriptionFeature.getTradingStats)\r\n );\r\n\r\n if (!response) {\r\n yield put(errorActions.unexpectedError());\r\n }\r\n}\r\n\r\nfunction* watchInitPriceLevel() {\r\n const response = yield call(\r\n fetchRequest,\r\n dashboardService.fetchPriceLevel,\r\n dashboardFetchPriceLevel,\r\n !user.hasFeatures(SubscriptionFeature.getPriceLevels)\r\n );\r\n\r\n if (!response) {\r\n yield put(errorActions.unexpectedError());\r\n }\r\n}\r\n\r\nfunction* watchLogout() {\r\n yield put(dashboardReset());\r\n}\r\n\r\nfunction* watchDashboardSetBoxChartSecurity() {\r\n try {\r\n const { searchTermItems = [], lookupCache = [] } = yield select(state => state.searchSecurities);\r\n yield put(dashboardSetSearchTermItem(searchTermItems[0] || ''));\r\n\r\n const [searchTerm] = searchTermItems;\r\n\r\n if (searchTerm) {\r\n const security = lookupCache.find(s =>\r\n searchTerm.localeCompare(s.ticker, undefined, { sensitivity: 'accent' }) ||\r\n searchTerm.localeCompare(s.isinCusip, undefined, { sensitivity: 'accent' })\r\n );\r\n\r\n if (security) {\r\n yield put(dashboardFetchSecurityHistoryRequest());\r\n const securityHistory = yield call(bwicService.getSecurityBwicStatistics, security.id);\r\n yield put(dashboardFetchSecurityHistorySuccess(securityHistory?.securities ?? []));\r\n }\r\n } else {\r\n yield put(dashboardFetchSecurityHistorySuccess([]));\r\n }\r\n } catch (e) {\r\n yield put(dashboardFetchSecurityHistoryFailure());\r\n }\r\n}\r\n\r\nfunction* watchDashboardExportBwiStatistic() {\r\n try {\r\n const { searchTermItems = [], lookupCache = [] } = yield select(state => state.searchSecurities);\r\n\r\n const security = lookupCache.find(s =>\r\n s.ticker === searchTermItems[0] ||\r\n s.isinCusip === searchTermItems[0])\r\n ;\r\n\r\n if (security) {\r\n const file = yield call(dashboardService.exportBwicStatistic, security.id);\r\n saveAs(file.blob, file.name);\r\n }\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchExportTradingStats(action) {\r\n const { currencies, ratings } = action.payload;\r\n yield put(dashboardSetRequestStatusExportTradingStats(true));\r\n try {\r\n const file = yield call(dashboardService.fetchExportTradingStats, currencies, ratings);\r\n saveAs(file.blob, file.name);\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n } finally {\r\n yield put(dashboardSetRequestStatusExportTradingStats(false));\r\n }\r\n}\r\n\r\nfunction* watchSetFilter(action) {\r\n const appliedFilter = yield select((state) => state.dashboard.filter);\r\n if (isEqual(action.payload.filter, appliedFilter)) {\r\n yield put(dashboardSetFilterActive(false));\r\n } else {\r\n yield put(dashboardSetFilterActive(true));\r\n }\r\n}\r\n\r\nfunction* watchDashboardSetFilter(action) {\r\n const { filter } = action.payload;\r\n const serializers = [multipleCurrencies(), ratingsGroup()];\r\n const criteria = {\r\n ratings: filter.selectedRatings,\r\n currency: filter.selectedCurrencies\r\n };\r\n const queryString = queryStringSerializer.serialize(criteria, serializers);\r\n const path = `${history.location.pathname}${queryString ? '?' + queryString : ''}`;\r\n yield call(history.replace, path);\r\n}\r\n\r\nfunction* watchDashboardClearFilter() {\r\n yield call(history.replace, history.location.pathname);\r\n}\r\n\r\nfunction* watchDashboardFetchTopIssuers(action) {\r\n const { types, ccy, year, collateralTypes } = action.payload;\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.top10Issuers.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield fetchRequest(\r\n dashboardService.fetchTopChart,\r\n dashboardFetchTopIssuersResult,\r\n !hasWidgetsAccess(),\r\n TopChartType.issuers,\r\n types,\r\n ccy,\r\n yearFrom,\r\n yearTo,\r\n collateralTypes\r\n );\r\n}\r\n\r\nfunction* watchDashboardExportTopIssuers(action) {\r\n const { year, ...restPayload } = action.payload;\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.top10Issuers.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield exportTopCommonCharts(\r\n TopChartType.issuers,\r\n dashboardSetRequestStatusExportTopIssuers,\r\n {\r\n ...restPayload,\r\n yearFrom,\r\n yearTo,\r\n },\r\n );\r\n}\r\n\r\nfunction* watchDashboardFetchTopArrangers(action) {\r\n const { types, ccy, year, collat } = action.payload;\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.top10Arrangers.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield fetchRequest(\r\n dashboardService.fetchTopChart,\r\n dashboardFetchTopArrangersResult,\r\n !hasWidgetsAccess(),\r\n TopChartType.arrangers,\r\n types,\r\n ccy,\r\n yearFrom,\r\n yearTo,\r\n collat\r\n );\r\n}\r\n\r\nfunction* watchDashboardExportTopArrangers(action) {\r\n const { year, ...restPayload } = action.payload;\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.top10Arrangers.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield exportTopCommonCharts(\r\n TopChartType.arrangers,\r\n dashboardSetRequestStatusExportTopArrangers,\r\n {\r\n ...restPayload,\r\n yearFrom,\r\n yearTo,\r\n },\r\n );\r\n}\r\n\r\nfunction* watchDashboardFetchTopTrustees(action) {\r\n const { types, ccy, year, collateralTypes } = action.payload;\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.top10Trustees.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield fetchRequest(\r\n dashboardService.fetchTopChart,\r\n dashboardFetchTopTrusteesResult,\r\n !hasWidgetsAccess(),\r\n TopChartType.trustees,\r\n types,\r\n ccy,\r\n yearFrom,\r\n yearTo,\r\n collateralTypes\r\n );\r\n}\r\n\r\nfunction* watchDashboardExportTopTrustees(action) {\r\n const { year, ...restPayload } = action.payload;\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.top10Trustees.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield exportTopCommonCharts(\r\n TopChartType.trustees,\r\n dashboardSetRequestStatusExportTopTrustees,\r\n {\r\n ...restPayload,\r\n yearFrom,\r\n yearTo,\r\n },\r\n );\r\n}\r\n\r\nfunction* watchDashboardFetchTopStaticDeals(action) {\r\n const { year } = action.payload;\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.staticDeals.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield fetchRequest(\r\n dashboardService.fetchDeals,\r\n dashboardFetchTopStaticDealsResult,\r\n !hasWidgetsAccess(),\r\n pipelineRequestCriteria.staticDeals.additionalCriteria,\r\n yearFrom,\r\n yearTo,\r\n );\r\n}\r\n\r\nfunction* watchDashboardExportTopStaticDeals(action) {\r\n const { year, orderByTransaction } = action.payload;\r\n const payload = {\r\n orderByTransaction,\r\n staticDeal: true,\r\n exportedFrom: \"staticDeals\"\r\n };\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.staticDeals.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield exportTopChart(\r\n dashboardService.fetchExportDeals,\r\n dashboardSetRequestStatusExportTopStaticDeals,\r\n \"Static Deals\",\r\n payload,\r\n yearFrom,\r\n yearTo\r\n );\r\n}\r\n\r\nfunction* watchDashboardFetchTopDebutDeals(action) {\r\n const { year } = action.payload;\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.debutDeals.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield fetchRequest(\r\n dashboardService.fetchDeals,\r\n dashboardFetchTopDebutDealsResult,\r\n !hasWidgetsAccess(),\r\n pipelineRequestCriteria.debutDeals.additionalCriteria,\r\n yearFrom,\r\n yearTo,\r\n );\r\n}\r\n\r\nfunction* watchDashboardExportTopDebutDeals(action) {\r\n const { year, orderByTransaction } = action.payload;\r\n const payload = {\r\n orderByTransaction,\r\n isDebut: true,\r\n exportedFrom: \"debutManagers\"\r\n };\r\n\r\n const yearFrom = year ?? pipelineRequestCriteria.debutDeals.minYear;\r\n const yearTo = year ?? moment().year();\r\n\r\n yield exportTopChart(\r\n dashboardService.fetchExportDeals,\r\n dashboardSetRequestStatusExportTopDebutDeals,\r\n \"Debut Managers\",\r\n payload,\r\n yearFrom,\r\n yearTo\r\n );\r\n}\r\n\r\nfunction* watchIssueTransactionVolumeRequest(action) {\r\n const {\r\n filter: {\r\n transactionType,\r\n currencyCode,\r\n }\r\n } = action.payload;\r\n\r\n yield fetchRequest(\r\n dashboardService.fetchIssueTransactionVolumesCount,\r\n dashboardIssueTransactionVolumeResult,\r\n !hasWidgetsAccess(),\r\n {\r\n ...pipelineRequestCriteria.volumesCount,\r\n transactionType: transactionType === constants.allListItem\r\n ? undefined\r\n : transactionType,\r\n currencyCode,\r\n }\r\n );\r\n}\r\n\r\nfunction* watchUsBslEsgNewIssueRequest() {\r\n try {\r\n const from = pipelineRequestCriteria.usBslEsgNewIssue.startDateDefault;\r\n const to = moment.utc().toDate();\r\n\r\n yield put(dashboardUsBslEsgNewIssueResult(RequestState.request));\r\n\r\n const esgLanguageParams = {\r\n from,\r\n to,\r\n esg: true,\r\n collateralTypes: [CollateralType.broadlySyndicated],\r\n statuses: [TransactionStatus.Closed, TransactionStatus.Priced],\r\n };\r\n\r\n const usBslNewIssueParams = {\r\n from,\r\n to,\r\n collateralTypes: [CollateralType.broadlySyndicated],\r\n statuses: [TransactionStatus.Closed, TransactionStatus.Priced],\r\n };\r\n\r\n const [esgLanguageResult, usBslNewIssueResult] = yield all([\r\n call(dashboardService.fetchIssueTransactionVolumesCount, esgLanguageParams),\r\n call(dashboardService.fetchIssueTransactionVolumesCount, usBslNewIssueParams),\r\n ]);\r\n\r\n yield put(dashboardUsBslEsgNewIssueResult(RequestState.success, esgLanguageResult, usBslNewIssueResult));\r\n } catch (e) {\r\n yield put(dashboardUsBslEsgNewIssueResult(RequestState.failure));\r\n }\r\n}\r\n\r\nfunction* watchGetPortfolioInventorySecurities(action) {\r\n const { pageNumber, itemsOnPage, sortField, sortOrder } = action.payload;\r\n try {\r\n const securities = yield call(dashboardService.fetchPortfolioInventorySecurities, itemsOnPage, pageNumber, sortField, sortOrder);\r\n yield put(dashboardGetPortfolioInventorySecuritiesSuccess(securities.result, pageNumber, securities.totalRecordNumber));\r\n } catch (e) {\r\n yield put(dashboardGetPortfolioInventorySecuritiesFailure())\r\n yield put(errorActions.unexpectedError(e))\r\n }\r\n}\r\n\r\nfunction* watchUsBslEsgEuCompliantDealsRequest(action) {\r\n try {\r\n const { transactionType } = action.payload;\r\n\r\n const from = pipelineRequestCriteria.usBslEuCompliant.startDateDefault;\r\n const to = moment.utc().toDate();\r\n\r\n yield put(dashboardUsBslEuCompliantDealsResult(RequestState.request));\r\n\r\n const usBslEuCompliantDealsParams = {\r\n from,\r\n to,\r\n euCompliance: true,\r\n transactionType: transactionType === constants.allListItem\r\n ? [TransactionType.newIssue, TransactionType.refi, TransactionType.reset]\r\n : [transactionType],\r\n statuses: [TransactionStatus.Closed, TransactionStatus.Priced],\r\n collateralTypes: [CollateralType.broadlySyndicated],\r\n };\r\n\r\n const usBslParams = {\r\n from,\r\n to,\r\n transactionType: transactionType === constants.allListItem\r\n ? [TransactionType.newIssue, TransactionType.refi, TransactionType.reset]\r\n : [transactionType],\r\n statuses: [TransactionStatus.Closed, TransactionStatus.Priced],\r\n collateralTypes: [CollateralType.broadlySyndicated],\r\n };\r\n\r\n const [usBslEuCompliantDealsResult, usBslResult] = yield all([\r\n call(dashboardService.fetchVolumeCountByTransactionTypes, usBslEuCompliantDealsParams),\r\n call(dashboardService.fetchVolumeCountByTransactionTypes, usBslParams),\r\n ]);\r\n\r\n yield put(dashboardUsBslEuCompliantDealsResult(RequestState.success, usBslEuCompliantDealsResult, usBslResult));\r\n } catch (e) {\r\n yield put(dashboardUsBslEuCompliantDealsResult(RequestState.failure));\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchShortLongDateDealsRequest(action) {\r\n try {\r\n const {\r\n filter: {\r\n transactionType,\r\n currencyCode,\r\n },\r\n managerReferenceName,\r\n startDate,\r\n } = action.payload;\r\n\r\n yield put(dashboardShortLongDatedDealsResult(RequestState.request));\r\n\r\n const shortDatedDealsParams = {\r\n ...pipelineRequestCriteria.shortLongDatedDeals,\r\n managerReferenceName,\r\n from: startDate,\r\n to: moment.utc().toDate(),\r\n currencyCode,\r\n transactionTypes: transactionType === constants.allListItem\r\n ? pipelineRequestCriteria.shortLongDatedDeals.transactionTypes\r\n : [transactionType],\r\n };\r\n\r\n const data = yield call(dashboardService.fetchVolumesCountShortLongDated, shortDatedDealsParams);\r\n\r\n yield put(dashboardShortLongDatedDealsResult(RequestState.success, data));\r\n } catch (e) {\r\n yield put(dashboardShortLongDatedDealsResult(RequestState.failure));\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchIssuanceSpreadRequest(action) {\r\n try {\r\n const {\r\n managerReferenceName,\r\n filter: {\r\n transactionType,\r\n collateralType,\r\n rating,\r\n currencyCode,\r\n term,\r\n floaterIndex,\r\n },\r\n startDate,\r\n } = action.payload;\r\n\r\n yield put(dashboardIssuanceSpreadResult(RequestState.request));\r\n\r\n const { shortTerm, longTerm, ...defaultParams } = pipelineRequestCriteria.issuanceSpread;\r\n\r\n const termValuesByType = {\r\n [Term.Short]: shortTerm,\r\n [Term.Long]: longTerm,\r\n };\r\n\r\n let from = pipelineRequestCriteria.issuanceSpread.startDateDefault;\r\n let to = moment.utc().toDate();\r\n\r\n if (startDate) {\r\n from = startDate;\r\n to = moment.utc().toDate();\r\n }\r\n\r\n const issuanceSpreadParams = {\r\n ...defaultParams,\r\n managerReferenceName,\r\n from,\r\n to,\r\n transactionTypes: transactionType === constants.allListItem\r\n ? defaultParams.transactionTypes\r\n : [transactionType],\r\n collateralTypes: collateralType,\r\n floaterIndexes: floaterIndex === constants.allListItem\r\n ? defaultParams.floaterIndexes\r\n : [floaterIndex],\r\n classRatings: rating,\r\n currencyCodes: currencyCode,\r\n ...(term && termValuesByType[term]),\r\n };\r\n\r\n const data = yield call(dashboardService.fetchIssuanceSpreads, issuanceSpreadParams);\r\n\r\n const round = (value) => value ? numericUtils.round(value * 100, 0) : value;\r\n\r\n const issuanceSpreads = data.issuanceSpreads.map((spread) => ({\r\n ...spread,\r\n min: round(spread.min),\r\n q1: round(spread.q1),\r\n median: round(spread.median),\r\n q3: round(spread.q3),\r\n max: round(spread.max),\r\n count: round(spread.count),\r\n mean: round(spread.mean),\r\n bottomOutlier: round(spread.bottomOutlier),\r\n topOutlier: round(spread.topOutlier),\r\n }));\r\n\r\n const median = round(data.median);\r\n\r\n yield put(dashboardIssuanceSpreadResult(RequestState.success, { issuanceSpreads, median }));\r\n } catch (e) {\r\n yield put(dashboardIssuanceSpreadResult(RequestState.failure));\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchNewIssueWeeklySpreadsRequest() {\r\n try {\r\n yield put(dashboardNewIssueWeeklySpreadsResult(RequestState.request));\r\n\r\n const data = yield call(dashboardService.fetchNewIssueWeeklySpreads);\r\n\r\n yield put(dashboardNewIssueWeeklySpreadsResult(RequestState.success, data));\r\n } catch (e) {\r\n yield put(dashboardNewIssueWeeklySpreadsResult(RequestState.failure));\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nexport function* watchDashboard() {\r\n yield takeLatest(getType(dashboardInit), watchDashboardInit);\r\n yield takeLatest(getType(dashboardInitIssueTransactionVolume), watchInitIssueTransactionVolumeCount);\r\n yield takeLatest(getType(dashboardInitPortfolioSecurities), watchInitPortfolioSecurities);\r\n yield takeLatest(getType(dashboardInitTradingStats), watchInitTradingStats);\r\n yield takeLatest(getType(dashboardInitPriceLevel), watchInitPriceLevel);\r\n yield takeLatest(getType(dashboardOnSelectedSecurity), watchDashboardSetBoxChartSecurity);\r\n yield takeLatest(accountActions.LOGOUT, watchLogout);\r\n yield takeLatest(dashboardExportBwiStatistic, watchDashboardExportBwiStatistic);\r\n yield takeLatest(dashboardExportTradingStats, watchExportTradingStats);\r\n yield takeLatest(dashboardSetNotAppliedFilter, watchSetFilter);\r\n yield takeLatest(dashboardSetFilter, watchDashboardSetFilter);\r\n yield takeLatest(dashboardClearFilter, watchDashboardClearFilter);\r\n yield takeLatest(dashboardFetchTopIssuers, watchDashboardFetchTopIssuers);\r\n yield takeLatest(dashboardExportTopIssuers, watchDashboardExportTopIssuers);\r\n yield takeLatest(dashboardFetchTopArrangers, watchDashboardFetchTopArrangers);\r\n yield takeLatest(dashboardExportTopArrangers, watchDashboardExportTopArrangers);\r\n yield takeLatest(dashboardFetchTopTrustees, watchDashboardFetchTopTrustees);\r\n yield takeLatest(dashboardExportTopTrustees, watchDashboardExportTopTrustees);\r\n yield takeLatest(dashboardFetchTopStaticDeals, watchDashboardFetchTopStaticDeals);\r\n yield takeLatest(dashboardExportTopStaticDeals, watchDashboardExportTopStaticDeals);\r\n yield takeLatest(dashboardFetchTopDebutDeals, watchDashboardFetchTopDebutDeals);\r\n yield takeLatest(dashboardExportTopDebutDeals, watchDashboardExportTopDebutDeals);\r\n yield takeLatest(getType(dashboardIssueTransactionVolumeRequest), watchIssueTransactionVolumeRequest);\r\n yield takeLatest(getType(dashboardUsBslEsgNewIssueRequest), watchUsBslEsgNewIssueRequest);\r\n yield takeLatest(getType(dashboardGetPortfolioInventorySecuritiesRequest), watchGetPortfolioInventorySecurities);\r\n yield takeLatest(getType(dashboardUsBslEuCompliantDealsRequest), watchUsBslEsgEuCompliantDealsRequest);\r\n yield takeLatest(getType(dashboardShortLongDatedDealsRequest), watchShortLongDateDealsRequest);\r\n yield takeLatest(getType(dashboardIssuanceSpreadRequest), watchIssuanceSpreadRequest);\r\n yield takeLatest(getType(dashboarNewIssuedWeeklySpreadsRequest), watchNewIssueWeeklySpreadsRequest);\r\n}\r\n","import { put, takeEvery, call, select } from 'redux-saga/effects';\r\nimport { getType } from 'typesafe-actions';\r\nimport { AnyAction } from 'redux';\r\nimport { favoriteBrokerDealersActions } from '../actions/favorite-broker-dealers.actions';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { errorActions } from '../actions';\r\nimport { companiesService } from '../services';\r\nimport { apiUtils } from '../utils/api.utils';\r\nimport { accountActions } from '../constants';\r\n\r\nfunction* watchFetchFavoriteBrokerDealers() {\r\n try {\r\n const response: number[] = yield call(companiesService.getFavorites);\r\n const favorites = apiUtils.normalize(response, (r) => r, () => true);\r\n yield put(favoriteBrokerDealersActions.fetchFavoriteBrokerDealersSuccess(favorites))\r\n } catch (e) {\r\n yield put(favoriteBrokerDealersActions.fetchFavoriteBrokerDealersFailure());\r\n yield put(errorActions.unexpectedError(e))\r\n }\r\n}\r\n\r\nfunction* deleteFromFavorites(dealerId: number) {\r\n try {\r\n yield call(companiesService.deleteFromFavorites, dealerId);\r\n const { favorites } = yield select((state: AppState) => state.favoriteBrokerDealers);\r\n const newFavorites = { ...favorites };\r\n delete newFavorites[dealerId];\r\n yield put(favoriteBrokerDealersActions.updateFavoriteBrokerDealerSuccess(newFavorites, dealerId))\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError());\r\n yield put(favoriteBrokerDealersActions.updateFavoriteBrokerDealerFailure(dealerId))\r\n }\r\n}\r\n\r\nfunction* addToFavorites(dealerId: number) {\r\n try {\r\n yield call(companiesService.addToFavorites, dealerId);\r\n const { favorites } = yield select((state: AppState) => state.favoriteBrokerDealers);\r\n const newFavorites = { ...favorites };\r\n newFavorites[dealerId] = true;\r\n yield put(favoriteBrokerDealersActions.updateFavoriteBrokerDealerSuccess(newFavorites, dealerId))\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError());\r\n yield put(favoriteBrokerDealersActions.updateFavoriteBrokerDealerFailure(dealerId))\r\n }\r\n}\r\n\r\nfunction* watchUpdateFavoriteBrokerDealer(action: AnyAction) {\r\n const { dealerId, isFavorite } = action.payload;\r\n if (isFavorite) {\r\n yield deleteFromFavorites(dealerId);\r\n } else {\r\n yield addToFavorites(dealerId)\r\n }\r\n}\r\n\r\nfunction* watchLogout() {\r\n yield put(favoriteBrokerDealersActions.reset());\r\n}\r\nexport function* watchFavoriteBrokerDealers() {\r\n yield takeEvery(getType(favoriteBrokerDealersActions.fetchFavoriteBrokerDealersRequest), watchFetchFavoriteBrokerDealers);\r\n yield takeEvery(getType(favoriteBrokerDealersActions.updateFavoriteBrokerDealerRequest), watchUpdateFavoriteBrokerDealer);\r\n yield takeEvery(accountActions.LOGOUT, watchLogout);\r\n}\r\n","import { takeEvery, call, put } from 'redux-saga/effects';\r\nimport { helpResourcesActions } from '../actions/help-resources.actions';\r\nimport { errorActions } from '../actions/error.actions';\r\nimport { getType, ActionType } from 'typesafe-actions';\r\nimport { helpResourcesService } from '../services/help-resources.service';\r\nimport { HelpResourceCategory } from '../types/help-resources/HelpResourceCategory';\r\nimport { HelpResourceSectionArticlesList } from '../types/help-resources/HelpResourceArticle';\r\nimport { HelpResourceSearch } from '../types/help-resources/HelpResourceSearch';\r\n\r\nfunction* watchCategoriesRequest() {\r\n try {\r\n const categories: HelpResourceCategory[] = yield call(helpResourcesService.fetchCategories);\r\n yield put(helpResourcesActions.fetchCategories.success(categories))\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n yield put(helpResourcesActions.fetchCategories.failure(e))\r\n }\r\n}\r\n\r\nfunction* watchSectionRequest(action: ActionType) {\r\n try {\r\n const section: HelpResourceSectionArticlesList = yield call(helpResourcesService.fetchSection, action.payload.sectionId)\r\n yield put(helpResourcesActions.fetchSection.success({\r\n categoryName: section.categoryName,\r\n sectionName: section.sectionName,\r\n articles: section.articles\r\n }))\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n yield put(helpResourcesActions.fetchSection.failure(e));\r\n }\r\n}\r\n\r\nfunction* wathcSearchRequest(action: ActionType) {\r\n try {\r\n const searchResults: HelpResourceSearch = yield call(\r\n helpResourcesService.fetchBySearch,\r\n action.payload.search,\r\n action.payload.categoryId\r\n );\r\n yield put(helpResourcesActions.fetchBySearch.success({\r\n results: searchResults.result,\r\n totalRecordNumber: searchResults.totalRecordNumber\r\n }))\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n yield put(helpResourcesActions.fetchBySearch.failure(e));\r\n }\r\n}\r\n\r\nfunction* wathcSearchLoadMoreRequest(action: ActionType) {\r\n try {\r\n const searchResults: HelpResourceSearch = yield call(\r\n helpResourcesService.fetchBySearch,\r\n action.payload.search,\r\n action.payload.categoryId,\r\n action.payload.page\r\n );\r\n yield put(helpResourcesActions.loadMoreSearch.success({\r\n results: searchResults.result,\r\n totalRecordNumber: searchResults.totalRecordNumber\r\n }))\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n yield put(helpResourcesActions.loadMoreSearch.failure(e));\r\n }\r\n}\r\n\r\nexport function* watchHelpResources() {\r\n yield takeEvery(getType(helpResourcesActions.fetchCategories.request), watchCategoriesRequest)\r\n yield takeEvery(getType(helpResourcesActions.fetchSection.request), watchSectionRequest)\r\n yield takeEvery(getType(helpResourcesActions.fetchBySearch.request), wathcSearchRequest)\r\n yield takeEvery(getType(helpResourcesActions.loadMoreSearch.request), wathcSearchLoadMoreRequest)\r\n}","import { call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { getType } from \"typesafe-actions\";\r\nimport { emailPreferencesActions } from \"../actions/email-preferences.actions\";\r\nimport { errorActions } from \"../actions/error.actions\";\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { emailPreferencesService } from '../services/email-preferences.service';\r\nimport { EmailPreferences } from \"../types/email-preferences/EmailPreferences\";\r\n\r\nfunction* watchRequest() {\r\n try {\r\n const preferences: EmailPreferences = yield call(emailPreferencesService.getEmailPreferences);\r\n yield put(emailPreferencesActions.requestResult(RequestState.success, preferences));\r\n } catch (e) {\r\n yield put(emailPreferencesActions.requestResult(RequestState.failure));\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nexport function* watchEmailPreferences() {\r\n yield takeEvery(getType(emailPreferencesActions.request), watchRequest);\r\n}\r\n","import { call, put, takeEvery } from 'redux-saga/effects';\r\nimport { getType } from 'typesafe-actions';\r\nimport { rejectedTradeActions } from '../../actions/entities/rejected-trades.actions';\r\nimport { errorActions } from '../../actions';\r\nimport { RequestState } from '../../constants/request-state';\r\nimport { tradeReportingService } from '../../services/tradeReportingService';\r\nimport { RejectedTrade } from '../../types/trades/RejectedTrade';\r\n\r\nfunction* watchRequestRejectedTrades() {\r\n try {\r\n const trades: RejectedTrade[] = yield call(tradeReportingService.getResolveTrades);\r\n yield put(rejectedTradeActions.requestResult(RequestState.success, trades));\r\n } catch (e) {\r\n yield put(rejectedTradeActions.requestResult(RequestState.failure));\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nexport function* watchRejectedTrades() {\r\n yield takeEvery(getType(rejectedTradeActions.request), watchRequestRejectedTrades);\r\n}\r\n","import { all, select, takeLatest } from 'redux-saga/effects';\r\nimport { ActionType, getType } from 'typesafe-actions';\r\nimport { dealsActions } from '../actions/deals.actions';\r\nimport { call, put } from 'redux-saga/effects';\r\nimport { Deal, DealShortInfo } from '../types/amr-pipeline/models/Deal';\r\nimport { errorActions } from '../actions/error.actions';\r\nimport { dealsService } from '../services/deals.service';\r\nimport { Transaction } from '../types/amr-pipeline/models/Transaction';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { history } from '../history';\r\nimport { gridColumns, routes } from '../constants';\r\nimport { DealsTabType } from '../types/deals/DealsTabType';\r\nimport { concat, flatten, sortBy, values } from 'lodash';\r\nimport { bwicService } from '../services';\r\nimport { Security } from '../types/security/Security';\r\nimport { SecurityBwicStatisticsSummary } from '../types/security/SecurityBwicStatisticsSummary';\r\nimport { gridActions } from '../actions';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { DealDetails } from '../types/amr-pipeline/models/DealDetails';\r\nimport { OriginatingTransaction } from '../types/amr-pipeline/models/OriginatingTransaction';\r\nimport { Tranche } from '../types/amr-pipeline/models/Tranche';\r\nimport { GridDataItem } from '../types/state/GridState';\r\nimport { gridUtils, moneyUtils } from '../utils';\r\nimport { AmrClass } from '../types/amr-pipeline/models/AmrClass';\r\nimport { TransactionType } from '../types/amr-pipeline/enums/TransactionType';\r\nimport saveAs from 'file-saver';\r\nimport { DealDocumentsWithPattern } from '../types/amr-pipeline/models/DealDocumentsWithPattern';\r\nimport { store } from '../store';\r\n\r\n\r\nfunction validateTicker(value: string, dataItem: GridDataItem) {\r\n const errorTicker: string[] = store.getState().deals.openFigiErrorTickers;\r\n\r\n if (errorTicker.includes(value)) {\r\n return 'The ticker does not exist in OpenFIGI';\r\n }\r\n\r\n return '';\r\n}\r\n\r\nfunction* watchGetDeals(action: ActionType) {\r\n try {\r\n const { searchTerm } = action.payload;\r\n const deals: DealShortInfo[] = yield call(\r\n dealsService.getDealsNamesList,\r\n searchTerm?.trim() || '',\r\n 'legalName',\r\n true,\r\n );\r\n\r\n yield put(dealsActions.getDealsResult(deals));\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nfunction* loadDealDetails(dealReferenceName: string): Generator {\r\n const [deal, transactions, documents]: [Deal, Transaction[], DealDocumentsWithPattern] = yield all([\r\n call(dealsService.getDealDetails, dealReferenceName),\r\n call(dealsService.getDealTransactions, dealReferenceName),\r\n call(dealsService.getDealDocuments, dealReferenceName),\r\n ]);\r\n\r\n return {\r\n ...deal,\r\n transactions: sortBy(transactions, 'closingDate').reverse(),\r\n documents,\r\n };\r\n}\r\n\r\nfunction* watchGetDealDetails(action: ActionType) {\r\n try {\r\n const { referenceName } = action.payload;\r\n\r\n const dealDetails: DealDetails = yield loadDealDetails(referenceName);\r\n\r\n yield put(dealsActions.getDealDetailsResult(referenceName, dealDetails));\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nexport function* watchDealUpdate(action: ActionType) {\r\n try {\r\n const { referenceName, formData } = action.payload;\r\n\r\n const dealReferenceName: string = yield call(dealsService.updateDeal, referenceName, formData);\r\n yield put(dealsActions.updateDealResult(RequestState.success));\r\n\r\n yield call(history.push, routes.dealsUrl(dealReferenceName, DealsTabType.DealDetail));\r\n yield put(dealsActions.getDealDetails(dealReferenceName));\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nfunction* watchGetClassSecondaryInfo(action: ActionType) {\r\n try {\r\n const { selectedClass } = action.payload;\r\n const {\r\n ticker144A,\r\n cusip144A,\r\n isin144A,\r\n tickerRegS,\r\n cusipRegS,\r\n isinRegS,\r\n tickerAccdInvCertif,\r\n cusipAccdInvCertif,\r\n isinAccdInvCertif,\r\n } = selectedClass;\r\n\r\n const ticker = ticker144A || tickerRegS || tickerAccdInvCertif;\r\n const cusip = cusip144A || cusipRegS || cusipAccdInvCertif;\r\n const isin = isin144A || isinRegS || isinAccdInvCertif;\r\n\r\n const identifier =\r\n ticker144A ||\r\n cusip144A ||\r\n isin144A ||\r\n tickerRegS ||\r\n cusipRegS ||\r\n isinRegS ||\r\n tickerAccdInvCertif ||\r\n cusipAccdInvCertif ||\r\n isinAccdInvCertif;\r\n\r\n const securities: Security[] = yield call(bwicService.searchSecurities, identifier);\r\n\r\n const security = securities.find(\r\n s =>\r\n (ticker ? ticker === s.ticker : true) &&\r\n (cusip ? cusip === s.cusip : true) &&\r\n (isin ? isin === s.isin : true),\r\n );\r\n\r\n let statistics: SecurityBwicStatisticsSummary | undefined;\r\n\r\n if (security) {\r\n statistics = yield call(bwicService.getSecurityBwicStatistics, security.id);\r\n }\r\n\r\n yield put(dealsActions.getClassSecondaryInfoResult(security, statistics));\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nfunction* watchDeleteDeal(action: ActionType) {\r\n try {\r\n const { referenceName } = action.payload;\r\n const deals: Deal[] = yield select((s: AppState) => s.deals.data);\r\n\r\n const dealIndex = deals.findIndex(d => d.referenceName === referenceName);\r\n\r\n const previousDeal = deals[dealIndex - 1];\r\n const nextDeal = deals[dealIndex + 1];\r\n\r\n yield call(dealsService.deleteDeal, referenceName);\r\n yield put(dealsActions.deleteDealResult(RequestState.success, referenceName));\r\n\r\n if (previousDeal || nextDeal) {\r\n const refName = previousDeal?.referenceName || nextDeal?.referenceName;\r\n\r\n yield call(history.push, routes.dealsUrl(refName, DealsTabType.Overview));\r\n } else {\r\n yield call(history.push, routes.dealsCommon);\r\n }\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nfunction* watchAllClassesEditInit(action: ActionType) {\r\n const { deal } = action.payload;\r\n\r\n yield put(gridActions.reset());\r\n\r\n const transactions: OriginatingTransaction[] = yield call(dealsService.getDealTransactions, deal.referenceName, {\r\n transactionTypes: [TransactionType.newIssue, TransactionType.refi, TransactionType.reset],\r\n });\r\n\r\n const dealsTransactionReferenceAndClass = {\r\n ...gridColumns.dealsTransactionReferenceAndClass,\r\n selectSourceItemsCallback: () =>\r\n flatten(\r\n transactions.map(transaction =>\r\n transaction.classes.map(transactionClass => ({\r\n key: `${transaction.referenceName};${transactionClass.referenceName}`,\r\n title: `${transaction.referenceName}, ${transactionClass.referenceName}`,\r\n })),\r\n ),\r\n ),\r\n };\r\n\r\n const allClassesColumns = gridColumns.dealsAllClasses().map(column => {\r\n switch (column.name) {\r\n case gridColumns.dealsTicker144A.name:\r\n case gridColumns.dealsTickerRegS.name:\r\n case gridColumns.dealsTickerAccdInvCertif.name:\r\n return {\r\n ...column,\r\n validate: (value: string, dataItem: GridDataItem) => validateTicker(value, dataItem),\r\n };\r\n case gridColumns.dealsFloaterIndex.name:\r\n case gridColumns.dealsMargin.name:\r\n return { ...column, updateDependencyColumnsCallback: dealsActions.allClassesUpdateCoupon };\r\n case gridColumns.dealsStatus.name:\r\n return { ...column, updateDependencyColumnsCallback: dealsActions.allClassesUpdateStatus };\r\n case gridColumns.dealsName.name:\r\n return { ...column, updateDependencyColumnsCallback: dealsActions.allClassesUpdateTickers};\r\n default:\r\n return column;\r\n }\r\n });\r\n\r\n const columns = [...allClassesColumns, dealsTransactionReferenceAndClass];\r\n\r\n const classes = deal.classes.map(tranche => ({\r\n ...tranche,\r\n currencyCode: deal.currencyCode,\r\n linkedTransactionReferenceAndClass:\r\n tranche.transactionReferenceName && tranche.linkedOtcReferenceName\r\n ? `${tranche.transactionReferenceName};${tranche.linkedOtcReferenceName}`\r\n : null,\r\n }));\r\n\r\n yield put(dealsActions.allClassesEdit(classes));\r\n yield put(gridActions.init(classes, columns, 100));\r\n}\r\n\r\nfunction* watchAllClassesUpdate(action: ActionType) {\r\n const { dealReferenceName } = action.payload;\r\n const dataItems: GridDataItem[] = yield select(\r\n (state: AppState) => state.grid.dataItems,\r\n );\r\n\r\n const nonDraftItems = dataItems.filter(item => !item.draft);\r\n\r\n try {\r\n yield put(gridActions.validate());\r\n\r\n if (nonDraftItems.some(x => x.errors?.length)) {\r\n return;\r\n }\r\n\r\n const classes = gridUtils\r\n .sanitizeGridItems(nonDraftItems)\r\n .map(({ linkedTransactionReferenceAndClass, ...tranche }) => {\r\n const [transactionReferenceName, linkedOtcReferenceName] = (\r\n linkedTransactionReferenceAndClass || ''\r\n ).split(';');\r\n\r\n return {\r\n ...tranche,\r\n transactionReferenceName,\r\n linkedOtcReferenceName,\r\n };\r\n });\r\n\r\n yield call(dealsService.updateClasses, dealReferenceName, classes);\r\n const dealDetails: DealDetails = yield loadDealDetails(dealReferenceName);\r\n\r\n yield put(dealsActions.getDealDetailsResult(dealReferenceName, dealDetails));\r\n\r\n yield call(history.push, routes.dealsAllClasesUrl(dealReferenceName));\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n\r\n if (error.message) {\r\n let errorJson;\r\n\r\n try {\r\n errorJson = JSON.parse(error.message);\r\n } catch (e) {\r\n errorJson = {};\r\n }\r\n\r\n const tickersWithErrors = concat(...values(errorJson));\r\n\r\n yield put(dealsActions.openFigiErrorTickersResponse(tickersWithErrors));\r\n yield put(gridActions.validate());\r\n } else {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n } finally {\r\n yield put(dealsActions.allClassesUpdateResponse());\r\n }\r\n}\r\n\r\nfunction* watchSaveExcludedDealers(action: ActionType) {\r\n try {\r\n const { dealReferenceName, transactionReferenceName, classReferenceName, excludedDealersReferenceNames } =\r\n action.payload;\r\n\r\n const editData = {\r\n editData: excludedDealersReferenceNames.map(dealerReferenceName => ({\r\n trancheReferenceName: classReferenceName,\r\n brokerDealerReferenceName: dealerReferenceName,\r\n reasons: [],\r\n })),\r\n };\r\n\r\n yield call(\r\n dealsService.saveExcludedDealers,\r\n dealReferenceName,\r\n transactionReferenceName,\r\n classReferenceName,\r\n editData,\r\n );\r\n\r\n yield put(dealsActions.saveExcludedDealersResponse());\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nfunction* watchSaveSettlementInstructions(action: ActionType) {\r\n try {\r\n const { dealReferenceName, classReferenceName, settlementInstructions } = action.payload;\r\n\r\n yield call(\r\n dealsService.saveSettlementInstructions,\r\n dealReferenceName,\r\n classReferenceName,\r\n settlementInstructions,\r\n );\r\n\r\n yield put(dealsActions.saveSettlementInstructionsResponse());\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nfunction* watchAmrInfoClassesEdit(action: ActionType) {\r\n const { classes } = action.payload;\r\n\r\n yield put(gridActions.reset());\r\n\r\n const columns = gridColumns.dealsAmrClasses();\r\n\r\n const minAmountColumn = {\r\n ...gridColumns.minAmount,\r\n validate: (value: number, dataItem: GridDataItem) => {\r\n const minimumDenomination = Number(dataItem.minimumDenomination);\r\n\r\n return value < minimumDenomination * 2\r\n ? `Minimum amount should be greater or equal to ${moneyUtils.money(minimumDenomination * 2)} [2 x Min. Denomination]`\r\n : '';\r\n },\r\n };\r\n\r\n yield put(\r\n gridActions.init(\r\n classes,\r\n columns.map(c => (c.name === minAmountColumn.name ? minAmountColumn : c)),\r\n classes.length,\r\n ),\r\n );\r\n}\r\n\r\nexport function* watchDealDocumentsUpdate(action: ActionType) {\r\n try {\r\n const { referenceName, documentsWithPattern } = action.payload;\r\n yield call(dealsService.updateDealDocuments, referenceName, documentsWithPattern);\r\n yield put(dealsActions.updateDealDocumentsResult(RequestState.success));\r\n yield call(history.push, routes.dealsUrl(referenceName, DealsTabType.Documents));\r\n yield put(dealsActions.getDealDetails(referenceName));\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nfunction* watchAmrInfoSave(action: ActionType) {\r\n try {\r\n const { dealReferenceName, transactionReferenceName, amrInfo } = action.payload;\r\n\r\n yield put(gridActions.validate());\r\n\r\n const dataItems: GridDataItem[] = yield select((state: AppState) => state.grid.dataItems);\r\n const nonDraftItems = dataItems.filter(item => !item.draft);\r\n\r\n if (nonDraftItems.some(x => x.errors?.length)) {\r\n return;\r\n }\r\n\r\n const classes = gridUtils\r\n .sanitizeGridItems(nonDraftItems)\r\n .map(c => ({ ...c, redemptionPrice: c.redemptionPriceInPercent / 100 }));\r\n\r\n yield call(dealsService.saveAmrInfo, dealReferenceName, transactionReferenceName, { ...amrInfo, classes });\r\n\r\n yield call(history.push, routes.dealAmrInfoUrl(dealReferenceName, transactionReferenceName));\r\n\r\n const dealDetails: DealDetails = yield loadDealDetails(dealReferenceName);\r\n yield put(dealsActions.getDealDetailsResult(dealReferenceName, dealDetails));\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n } finally {\r\n yield put(dealsActions.saveAmrInfoResponse());\r\n }\r\n}\r\n\r\nfunction* watchDeleteAmrTransaction(action: ActionType) {\r\n try {\r\n const { dealReferenceName, transactionReferenceName } = action.payload;\r\n yield call(dealsService.deleteAmrInfo, dealReferenceName, transactionReferenceName);\r\n yield put(dealsActions.getDealDetails(dealReferenceName));\r\n yield call(history.push, routes.dealsUrl(dealReferenceName, DealsTabType.AmrInfo));\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nfunction* watchExportSettlementInstructions(action: ActionType) {\r\n try {\r\n const { dealReferenceName, dealLegalName, transactionReferenceName, classReferenceName, classLegalName } =\r\n action.payload;\r\n const file: { name: string; blob: Blob } = yield call(\r\n dealsService.exportSettlementInstructions,\r\n dealReferenceName,\r\n transactionReferenceName,\r\n classReferenceName,\r\n );\r\n saveAs(file.blob, `${dealLegalName} ${classLegalName} Settlement Instructions.pdf`);\r\n } catch (error) {\r\n yield errorActions.unexpectedError(error);\r\n }\r\n}\r\n\r\nexport function* watchDeals() {\r\n yield takeLatest(getType(dealsActions.getDeals), watchGetDeals);\r\n yield takeLatest(getType(dealsActions.getDealDetails), watchGetDealDetails);\r\n yield takeLatest(getType(dealsActions.updateDeal), watchDealUpdate);\r\n yield takeLatest(getType(dealsActions.getClassSecondaryInfo), watchGetClassSecondaryInfo);\r\n yield takeLatest(getType(dealsActions.deleteDealRequest), watchDeleteDeal);\r\n yield takeLatest(getType(dealsActions.allClassesEditInit), watchAllClassesEditInit);\r\n yield takeLatest(getType(dealsActions.updateDealDocuments), watchDealDocumentsUpdate);\r\n yield takeLatest(getType(dealsActions.allClassesUpdate), watchAllClassesUpdate);\r\n yield takeLatest(getType(dealsActions.saveExcludedDealersRequest), watchSaveExcludedDealers);\r\n yield takeLatest(getType(dealsActions.saveSettlementInstructionsRequest), watchSaveSettlementInstructions);\r\n yield takeLatest(getType(dealsActions.exportSettlementInstructions), watchExportSettlementInstructions);\r\n yield takeLatest(getType(dealsActions.amrInfoClassesEdit), watchAmrInfoClassesEdit);\r\n yield takeLatest(getType(dealsActions.amrInfoSave), watchAmrInfoSave);\r\n yield takeLatest(getType(dealsActions.deleteAmrTransaction), watchDeleteAmrTransaction);\r\n}\r\n","import { call, put, select, takeEvery } from 'redux-saga/effects';\r\nimport { getType } from 'typesafe-actions';\r\nimport { errorActions } from '../../actions';\r\nimport { RequestState } from '../../constants/request-state';\r\nimport { tradingService } from '../../services';\r\nimport { pushDataActions, roles } from '../../constants';\r\nimport { Trade } from '../../types/trades/Trade';\r\nimport { AppState } from '../../types/state/AppState';\r\nimport { user } from '../../user';\r\nimport { isRequestSuccess } from '../../utils';\r\nimport { awaitingTradesActions } from '../../actions/entities/awaitingTrades.actions';\r\nimport { AwaitingTrade } from '../../types/trades/AwaitingTrade';\r\nimport { TradeStatus } from '../../types/trades/TradeStatus';\r\n\r\nfunction* watchTradesRequest() {\r\n try {\r\n const trades: AwaitingTrade[] = yield call(tradingService.getAwaitingActionTrades);\r\n yield put(awaitingTradesActions.requestTradesResult(RequestState.success, trades));\r\n } catch (e) {\r\n yield put(awaitingTradesActions.requestTradesResult(RequestState.failure));\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchPushDataTrade(action: {type: string, trade: Trade}) {\r\n const { trade } = action;\r\n const tradesRequestState: RequestState = yield select((state: AppState) => state.entities.awaitingTrades.requestState);\r\n\r\n if(!isRequestSuccess(tradesRequestState) || !user.hasRoles(roles.SellerTrader, roles.BrokerDealerTrader)) {\r\n return;\r\n }\r\n\r\n // Do not increase pending trades badge counter if the trade was created by current user's company\r\n const isPendingTradeSeller =\r\n trade.status === TradeStatus.pending &&\r\n user.hasRoles(roles.SellerTrader) &&\r\n trade.sellerCompany &&\r\n trade.sellerCompany.id === user.current()?.companyId;\r\n\r\n if (!isPendingTradeSeller) {\r\n yield put(awaitingTradesActions.trade({\r\n id: String(trade.id),\r\n sellerSettlementStatus: trade.sellerSettlementStatus,\r\n buyerSettlementStatus: trade.buyerSettlementStatus,\r\n status: trade.status\r\n }));\r\n\r\n }\r\n}\r\n\r\nexport function* watchAwaitingTrades() {\r\n yield takeEvery(getType(awaitingTradesActions.requestTrades), watchTradesRequest);\r\n yield takeEvery(pushDataActions.PUSH_DATA_TRADE, watchPushDataTrade);\r\n}\r\n","import { takeEvery, put } from 'redux-saga/effects';\r\nimport { getType, ActionType, PayloadAction } from 'typesafe-actions';\r\nimport { createFilterActions } from '../actions/filter.actions';\r\nimport { dateRangeFilterOptions } from '../constants/date-range.filter';\r\nimport { TFilterType } from '../types/filters/FilterState';\r\nimport { getDateOptionByRange } from '../utils/filtering/filter.utils';\r\n\r\nconst actions = createFilterActions();\r\n\r\nfunction* watchUpdateFilterState(action: PayloadAction) {\r\n const filterType = action.payload.filterType;\r\n\r\n const filterActions = createFilterActions(filterType);\r\n\r\n yield put(filterActions.updateFilterState());\r\n}\r\n\r\nfunction* watchResetFiltersAndUnselectSavedFilter(\r\n action: ActionType,\r\n) {\r\n const filterType = action.payload.filterType;\r\n\r\n const filterActions = createFilterActions(filterType);\r\n\r\n yield put(filterActions.resetFilter());\r\n yield put(filterActions.setFilterByReferenceName('', undefined));\r\n}\r\n\r\nfunction* watchRedirectWithNoFilter(action: ActionType) {\r\n const filterType = action.payload.filterType;\r\n\r\n const filterActions = createFilterActions(filterType);\r\n\r\n yield put(filterActions.setRedirectFilters({}));\r\n}\r\n\r\nfunction* watchSetFilterDateFromQueryString(action: ActionType) {\r\n const { filterType, filterName, deserializeResult } = action.payload;\r\n const filterActions = createFilterActions(filterType);\r\n if (deserializeResult.years && (deserializeResult.years.from || deserializeResult.years.to)) {\r\n const filterOption = getDateOptionByRange(dateRangeFilterOptions.YearsRange, deserializeResult.years.from, deserializeResult.years.to);\r\n yield put(filterActions.makeFilterVisible(filterName));\r\n yield put(filterActions.filterDateSelectOption(filterOption, filterName));\r\n yield put(\r\n filterActions.filterDateSelectYearsRange({ from: deserializeResult.years.from, to: deserializeResult.years.to }, filterName),\r\n );\r\n }\r\n if (deserializeResult.dates && (deserializeResult.dates.from || deserializeResult.dates.to)) {\r\n const filterOption = getDateOptionByRange(dateRangeFilterOptions.Custom, deserializeResult.dates.from, deserializeResult.dates.to)\r\n yield put(filterActions.makeFilterVisible(filterName));\r\n yield put(filterActions.filterDateSelectOption(filterOption, filterName));\r\n yield put(\r\n filterActions.filterDateSelectCustomRange({ from: deserializeResult.dates.from, to: deserializeResult.dates.to }, filterName),\r\n );\r\n }\r\n}\r\n\r\nexport function* watchFilter() {\r\n yield takeEvery(\r\n [\r\n getType(actions.filterSelectChange),\r\n getType(actions.filterSelectClearAll),\r\n getType(actions.changeRangeFilter),\r\n getType(actions.filterRadioChange),\r\n getType(actions.filterRadioClearOption),\r\n getType(actions.filterRangeClearSelectedOptions),\r\n getType(actions.filterSelectSelectAll),\r\n getType(actions.filterDateClearSelectedOptions),\r\n getType(actions.filterDateSelectOption),\r\n getType(actions.filterDateTimeOptionSelected),\r\n getType(actions.filterDateSelectYearsRange),\r\n getType(actions.filterDateSelectCustomRange),\r\n getType(actions.filterDateTimeSelectCustomRange),\r\n ],\r\n watchUpdateFilterState,\r\n );\r\n yield takeEvery(getType(actions.resetFiltersAndUnselectSavedFilter), watchResetFiltersAndUnselectSavedFilter);\r\n yield takeEvery(getType(actions.redirectWithNoFilter), watchRedirectWithNoFilter);\r\n yield takeEvery(getType(actions.filterDateQueryStringDeserialized), watchSetFilterDateFromQueryString)\r\n}\r\n","import { call, put, takeLatest } from 'redux-saga/effects';\r\nimport { settlementAgentAgreementService, currencyService } from '../services';\r\nimport { clientsCompaniesActions } from '../actions/clients-companies.actions';\r\nimport { errorActions } from '../actions';\r\nimport { settlementAgentAgeementPushActions } from '../actions/settlement-agent-agreement-push.actions';\r\nimport { user } from '../user';\r\nimport { accountActions, roles } from '../constants';\r\nimport { CompanyStatus } from '../types/company/CompanyStatus';\r\nimport { logger } from '../logging/logger';\r\nimport { SettlementAgentClientAgreement } from '../types/bid-as-dealer/SettlementAgentClientAgreement';\r\nimport { companyDetailsActions } from '../actions/company-details.actions';\r\nimport { CurrencyRate } from '../types/currency/CurrencyRate';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { ActionType } from '../types/ActionType';\r\n\r\nfunction* watchCompaniesInit() {\r\n try {\r\n const agreements: SettlementAgentClientAgreement[] = yield call(settlementAgentAgreementService.getAgreementForSettlementAgent);\r\n const activeAgreements = agreements.filter(c => c.signatory.status === CompanyStatus.active);\r\n yield put(clientsCompaniesActions.fetchListSuccess(activeAgreements));\r\n } catch (e) {\r\n yield put(clientsCompaniesActions.fetchListFailure());\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nfunction* watchUpdateRequestStatus(action: ReturnType) {\r\n try {\r\n yield call(settlementAgentAgreementService.updateAgreement, action.payload.requestData);\r\n yield put(clientsCompaniesActions.updateAgreementSuccess(action.payload.requestData.bidderId));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n yield put(clientsCompaniesActions.updateAgreementFailure(action.payload.requestData.bidderId));\r\n }\r\n}\r\n\r\nfunction* watchFetchPendingAgreementsRequest() {\r\n try {\r\n const pendingCount: number = yield call(settlementAgentAgreementService.fetchPendingAgreementCount);\r\n yield put(clientsCompaniesActions.fetchPendingAgreementsCountSuccess(pendingCount));\r\n } catch (e) {\r\n logger.exception(e, 'Failed to fetch the number of pending bid as dealer agreements');\r\n }\r\n}\r\n\r\nfunction* watchHideActivePanels() {\r\n yield put(clientsCompaniesActions.resetSelectedAgreement());\r\n yield put(companyDetailsActions.hide());\r\n}\r\n\r\nfunction* watchSettlementAgentAgreementPushReceived() {\r\n if (user.hasRoles(...roles.bd())) {\r\n yield put(clientsCompaniesActions.fetchPendingAgreementCountRequest());\r\n }\r\n}\r\n\r\nfunction* watchGetCurrencyRate() {\r\n try {\r\n const rate: CurrencyRate[] = yield call(currencyService.getCurrencyRate);\r\n yield put(clientsCompaniesActions.setResultGetCurrencyRate(RequestState.success, rate));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n yield put(clientsCompaniesActions.setResultGetCurrencyRate(RequestState.failure, []));\r\n }\r\n}\r\n\r\nfunction* watchUpdateCurrencyRate(action: ActionType<{ rate: CurrencyRate }>) {\r\n const { rate } = action.payload;\r\n try {\r\n yield call(currencyService.setCurrencyRate, rate.usdRate);\r\n yield put(clientsCompaniesActions.setResultUpdateCurrencyRate(RequestState.success, rate));\r\n yield put(clientsCompaniesActions.setVisibleUpdateRatePopup(false));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n yield put(clientsCompaniesActions.setResultUpdateCurrencyRate(RequestState.failure, rate));\r\n }\r\n}\r\n\r\nfunction* watchLogout() {\r\n yield put(clientsCompaniesActions.reset());\r\n}\r\n\r\nexport function* watchClientCompanies() {\r\n yield takeLatest(clientsCompaniesActions.fetchListRequest, watchCompaniesInit);\r\n yield takeLatest(clientsCompaniesActions.fetchPendingAgreementCountRequest, watchFetchPendingAgreementsRequest);\r\n yield takeLatest(clientsCompaniesActions.updateAgreementRequest, watchUpdateRequestStatus);\r\n yield takeLatest(settlementAgentAgeementPushActions.settlementAgentAgreementPushReceived, watchSettlementAgentAgreementPushReceived);\r\n yield takeLatest(clientsCompaniesActions.hideActivePanels, watchHideActivePanels);\r\n yield takeLatest(clientsCompaniesActions.getCurrencyRate, watchGetCurrencyRate);\r\n yield takeLatest(clientsCompaniesActions.updateCurrencyRate, watchUpdateCurrencyRate);\r\n yield takeLatest(accountActions.LOGOUT, watchLogout)\r\n}\r\n","import { call, put, takeEvery } from 'redux-saga/effects';\r\nimport { ActionType, getType } from 'typesafe-actions';\r\nimport { companiesActions, errorActions } from '../actions';\r\nimport { changeSubscriptionActions } from '../actions/change-subscription.actions';\r\nimport { billingService } from '../services';\r\nimport { SubscriptionType } from '../types/billing/SubscriptionType';\r\n\r\nfunction* watchSaveSubscription(action: ActionType) {\r\n yield put(changeSubscriptionActions.setSubscriptionSavingFlag(true));\r\n\r\n const { companyId, subscriptionType, subscriptionExpiration } = action.payload;\r\n\r\n let isTrial = false;\r\n let newSubscriptionType = subscriptionType;\r\n\r\n if (subscriptionType === SubscriptionType.trial) {\r\n newSubscriptionType = SubscriptionType.pro;\r\n isTrial = true;\r\n }\r\n\r\n try {\r\n yield call(billingService.saveSubscription, companyId, newSubscriptionType, isTrial, subscriptionExpiration);\r\n yield put(companiesActions.companySubscriptionChange(companyId, subscriptionType, subscriptionExpiration));\r\n yield put(changeSubscriptionActions.hide());\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n } finally {\r\n yield put(changeSubscriptionActions.setSubscriptionSavingFlag(false));\r\n }\r\n}\r\n\r\nexport function* watchChangeSubscription() {\r\n yield takeEvery(getType(changeSubscriptionActions.saveSubscription), watchSaveSubscription);\r\n}\r\n","import { ActionType, getType } from 'typesafe-actions';\r\nimport { call, put, select, takeEvery, takeLatest } from 'redux-saga/effects';\r\nimport { inventoryEditActions } from '../actions/inventory-edit.actions';\r\nimport { bdInventoryActions } from '../actions/bd-inventory.actions';\r\nimport { inventoryActions } from '../actions/inventory.actions';\r\nimport { inventoryService } from '../services/inventory.service';\r\nimport { errorActions } from '../actions';\r\nimport { accountActions } from '../constants';\r\nimport { InventoryPositionStatus } from '../types/inventory/InventoryPositionStatus';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { SaveInventoryPosition } from '../types/inventory/SaveInventoryPosition';\r\nimport { GridDataItem } from '../types/state/GridState';\r\nimport { Rating } from '../types/enums/Rating';\r\nimport { InventoryFloatingIndex } from '../types/inventory/InventoryFloatingIndex';\r\nimport { EditingInventoryPosition } from '../types/state/InventoryEditState';\r\nimport { RequestState } from '../constants/request-state';\r\nimport { numericUtils } from '../utils';\r\n\r\nfunction* watchSetTradedStatus(action: ActionType) {\r\n const isUpdatingTradeStatus: {[key: number]: boolean} = yield select((s: AppState) => s.inventoryEdit.requestStateSetTradedStatus);\r\n const { inventoryPositionId, lockModifiedDate, tradeDate } = action.payload;\r\n\r\n if (isUpdatingTradeStatus[inventoryPositionId]) return;\r\n\r\n yield put(inventoryEditActions.setTradedRequestStatus(inventoryPositionId, true));\r\n\r\n try {\r\n yield call(inventoryService.setTraded, inventoryPositionId, lockModifiedDate, tradeDate);\r\n\r\n yield put(bdInventoryActions.inventoryStatusChange(inventoryPositionId, InventoryPositionStatus.traded));\r\n yield put(inventoryActions.inventoryStatusChange(inventoryPositionId, InventoryPositionStatus.traded));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n } finally {\r\n yield put(inventoryEditActions.setTradedRequestStatus(inventoryPositionId,false));\r\n }\r\n}\r\n\r\nfunction* watchSave(action: { type: string, payload: { companyId?: number, lockModifiedDate?: Date } }) {\r\n const isValid: boolean = yield select((s: AppState) => s.grid.isValid);\r\n const dataItems: GridDataItem[] = yield select((s: AppState) =>\r\n s.grid.dataItems.filter((i: GridDataItem) => !i.draft));\r\n\r\n if (isValid || !dataItems.length) {\r\n yield put(inventoryEditActions.setSavingState(RequestState.request));\r\n const positions: SaveInventoryPosition[] = dataItems.map(i => ({\r\n id: i.id,\r\n securityId: Number(i.securityId),\r\n isinCusip: String(i.isinCusip),\r\n ticker: String(i.ticker),\r\n rating: i.rating as Rating,\r\n bid: i.bid ? Number(i.bid) : undefined,\r\n offer: Number(i.offer),\r\n bidSize: i.bidSize ? Number(i.bidSize) * 1000000 : undefined,\r\n size: Number(i.size) * 1000000,\r\n bidDmBps: i.bidDmBps ? Number(i.bidDmBps) : undefined,\r\n offerDmBps: i.offerDmBps ? Number(i.offerDmBps) : undefined,\r\n creditEnhancement: i.creditEnhancement ? Number(i.creditEnhancement) : undefined,\r\n offerYield: i.offerYield ? Number(i.offerYield) : undefined,\r\n walYears: i.walYears ? Number(i.walYears) : undefined,\r\n description: i.description || undefined,\r\n floaterIndex: numericUtils.isNumber(i.floaterIndex) ? (Number(i.floaterIndex) as InventoryFloatingIndex) : undefined,\r\n mvoc: i.mvoc ? Number(i.mvoc) : undefined,\r\n spread: i.spread ? Number(i.spread) : undefined,\r\n manager: i.manager || undefined,\r\n ncEndMonth: i.ncEnd ? Number(i.ncEnd.split('/')[0]) : undefined,\r\n ncEndYear: i.ncEnd ? Number(i.ncEnd.split('/')[1]) : undefined,\r\n riEndMonth: i.riEnd ? Number(i.riEnd.split('/')[0]) : undefined,\r\n riEndYear: i.riEnd ? Number(i.riEnd.split('/')[1]) : undefined,\r\n dealLegalName: i.dealLegalName || undefined,\r\n }));\r\n\r\n try {\r\n yield call(inventoryService.save, positions, action.payload.lockModifiedDate, action.payload.companyId);\r\n yield put(inventoryEditActions.setSavingState(RequestState.success));\r\n } catch (e) {\r\n if (e.status === 409) {\r\n yield put(inventoryEditActions.setConflictsPopupVisible(true))\r\n } else {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n yield put(inventoryEditActions.setSavingState(RequestState.failure));\r\n }\r\n }\r\n}\r\n\r\nfunction* watchLogout() {\r\n yield put(inventoryEditActions.reset());\r\n}\r\n\r\nexport function* watchInventoryEdit() {\r\n yield takeLatest(getType(inventoryEditActions.setTradedStatus), watchSetTradedStatus);\r\n yield takeEvery(getType(inventoryEditActions.save), watchSave);\r\n yield takeEvery(accountActions.LOGOUT, watchLogout);\r\n}\r\n","import { takeEvery, call, put } from \"redux-saga/effects\";\r\nimport { getType } from \"typesafe-actions\";\r\nimport { ContactSalesRequest } from \"../types/contact-sales/ContactSalesRequest\";\r\nimport { contactSalesActions, errorActions } from '../actions';\r\nimport { contactSalesService } from \"../services/contact-sales.service\";\r\n\r\nfunction* watchSendRequest(action: { type: string, payload: { request: ContactSalesRequest } }) {\r\n yield put(contactSalesActions.requestSendingFlag(true));\r\n\r\n try {\r\n yield call(contactSalesService.sendRequest, action.payload.request);\r\n yield put(contactSalesActions.hide());\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n } finally {\r\n yield put(contactSalesActions.requestSendingFlag(false));\r\n }\r\n}\r\n\r\nexport function* watchContactSales() {\r\n yield takeEvery(getType(contactSalesActions.send), watchSendRequest);\r\n}\r\n","import { takeLatest, put, call, takeEvery } from 'redux-saga/effects';\r\nimport { getType } from 'typesafe-actions';\r\nimport { directBiddingDisclaimerActions } from '../actions/direct-bidding-agreement-disclaimer.actions';\r\nimport { accountActions } from '../constants';\r\nimport { accountService } from '../services';\r\nimport { errorActions } from '../actions';\r\nimport { user } from '../user';\r\nimport { saveAs } from 'file-saver';\r\n\r\nfunction* watchConfirmRequest() {\r\n try {\r\n yield call(accountService.setDirectBiddingAgreementSigned);\r\n user.setDirectBiddingAgreementSigned(true);\r\n yield put(directBiddingDisclaimerActions.hide(true));\r\n yield put(directBiddingDisclaimerActions.confirmSuccess());\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n yield put(directBiddingDisclaimerActions.confirmFailure());\r\n }\r\n}\r\n\r\nfunction* watchDownloadPdfRequest() {\r\n try {\r\n const file: { name: string, blob: Blob } = yield call(accountService.downloadDirectBiddingAgreementPdf);\r\n saveAs(file.blob, file.name);\r\n yield put(directBiddingDisclaimerActions.downloadPdfSuccess());\r\n } catch (e) {\r\n yield put(directBiddingDisclaimerActions.downloadPdfFailure());\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchLogout() {\r\n yield put(directBiddingDisclaimerActions.reset());\r\n}\r\n\r\nexport function* watchDirectBiddingDisclaimer() {\r\n yield takeLatest(getType(directBiddingDisclaimerActions.confirmRequest), watchConfirmRequest);\r\n yield takeLatest(getType(directBiddingDisclaimerActions.downloadPdfRequest), watchDownloadPdfRequest);\r\n yield takeEvery(accountActions.LOGOUT, watchLogout);\r\n}\r\n","import { call, put, takeEvery } from \"redux-saga/effects\";\r\nimport { ActionType, getType } from \"typesafe-actions\";\r\nimport { companiesActions, errorActions } from \"../actions\";\r\nimport { clearingBankActions } from \"../actions/clearing-bank.actions\";\r\nimport { constants } from '../constants';\r\nimport { RequestState } from \"../constants/request-state\";\r\nimport { clearingBankService } from \"../services\";\r\nimport { SettlementAgentCommissionByRating } from \"../types/bid-as-dealer/SettlementAgentCommissionByRating\";\r\n\r\nfunction* watchSaveClearingBankSettings(action: ActionType) {\r\n try {\r\n yield call(\r\n clearingBankService.saveClearingBankSettings,\r\n action.payload.companyId,\r\n action.payload.isClearingBank,\r\n action.payload.isClearingBank ? constants.defaultDailyTradingLimit : undefined,\r\n action.payload.commission\r\n );\r\n yield put(companiesActions.changeClearingBankSettings(\r\n action.payload.companyId,\r\n action.payload.isClearingBank)\r\n );\r\n yield put(clearingBankActions.settlementAgentCommissionResponse(\r\n RequestState.success,\r\n action.payload.companyId,\r\n action.payload.commission)\r\n );\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchRequestSettlementAgentCommission(action: ActionType) {\r\n try {\r\n const commission: SettlementAgentCommissionByRating =\r\n yield call(clearingBankService.getSettlementAgentCommission, action.payload.companyId);\r\n yield put(clearingBankActions.settlementAgentCommissionResponse(RequestState.success, action.payload.companyId, commission));\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nexport function* watchClearingBank() {\r\n yield takeEvery(getType(clearingBankActions.saveClearingBankSettings), watchSaveClearingBankSettings);\r\n yield takeEvery(getType(clearingBankActions.settlementAgentCommissionRequest), watchRequestSettlementAgentCommission);\r\n}\r\n","import { takeEvery, put, call, takeLatest, select } from 'redux-saga/effects';\r\nimport { accountActions } from '../constants';\r\nimport { dealerListActions } from '../actions/dealer-list.actions';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { BrokerDealerCompanySlim } from '../types/company/BrokerDealerCompanySlim';\r\nimport { DealerListEditableContact } from '../types/state/DealerListState';\r\nimport { companiesService, contactsService } from '../services';\r\nimport { errorActions } from '../actions';\r\nimport { ActionType } from '../types/ActionType';\r\nimport { brokerDealerContactListActions } from '../actions/broker-dealer-contact-list.actions';\r\nimport { brokerDealerListActions } from '../actions/broker-dealer-list.actions';\r\nimport { SaveContactModel } from '../types/company/Contact';\r\n\r\nfunction* watchSaveContact(action: ActionType<{ contact: SaveContactModel }>) {\r\n const { contact } = action.payload;\r\n const editingState: DealerListEditableContact = yield select((state: AppState) => state.dealerList.editableContact);\r\n const brokerDealerList: BrokerDealerCompanySlim[] = yield select((state: AppState) => state.entities.brokerDealerList.items);\r\n const { dealerName } = editingState;\r\n const targetCompany = brokerDealerList.find(dealer =>\r\n dealer.name.localeCompare(dealerName, undefined, { sensitivity: 'accent' }) === 0);\r\n if (contact && targetCompany) {\r\n const requestData = {\r\n id: contact.id || undefined,\r\n companyId: targetCompany.id,\r\n firstName: contact.firstName.trim(),\r\n lastName: contact.lastName.trim(),\r\n email: contact.email.trim(),\r\n role: contact.role?.trim(),\r\n phone: contact.phone?.trim(),\r\n readonly: false\r\n };\r\n try {\r\n yield put(dealerListActions.editableContactSetRequestStatus(true));\r\n if (requestData.id) {\r\n yield call(contactsService.updateContact, requestData);\r\n } else {\r\n yield call(contactsService.addContact, requestData);\r\n }\r\n yield put(dealerListActions.resetEditableContact());\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e))\r\n } finally {\r\n yield put(dealerListActions.editableContactSetRequestStatus(false));\r\n }\r\n }\r\n}\r\n\r\nfunction* watchDeleteContact(action: ActionType<{ contactId: number }>) {\r\n const { contactId } = action.payload;\r\n const editingState: DealerListEditableContact = yield select((state: AppState) => state.dealerList.editableContact);\r\n if (editingState.contact) {\r\n yield put(dealerListActions.resetEditableContact());\r\n }\r\n try {\r\n yield call(contactsService.deleteContact, contactId)\r\n } catch (e) {\r\n yield put(errorActions.error(e))\r\n }\r\n}\r\n\r\nfunction* watchContactInviteToJoin(action: ActionType<{ contactId: number }>) {\r\n const { contactId } = action.payload;\r\n yield put(dealerListActions.contactInviteToJoinSetRequestStatus(contactId, true));\r\n try {\r\n yield call(contactsService.sendInvite, contactId);\r\n yield put(brokerDealerContactListActions.setContactInvitationSent(contactId));\r\n } catch (e) {\r\n yield put(errorActions.error(e))\r\n } finally {\r\n yield put(dealerListActions.contactInviteToJoinSetRequestStatus(contactId, false));\r\n }\r\n}\r\n\r\nfunction* watchDistributionListInviteToJoin(action: ActionType<{ dealerId: number }>) {\r\n const { dealerId } = action.payload;\r\n try {\r\n yield call(companiesService.sendDistributionListInvite, dealerId);\r\n yield put(brokerDealerListActions.updateDealerDistributionListInvitationSent(dealerId))\r\n } catch (e) {\r\n yield put(errorActions.error(e))\r\n }\r\n}\r\n\r\nfunction* watchHeadOfTradingInviteToJoin(action: ActionType<{ dealerId: number }>) {\r\n const { dealerId } = action.payload;\r\n try {\r\n yield call(companiesService.sendHeadOfTrdingInvite, dealerId);\r\n yield put(brokerDealerListActions.updateDealerHeadOfTradingInvitationSent(dealerId))\r\n } catch (e) {\r\n yield put(errorActions.error(e))\r\n }\r\n}\r\n\r\nfunction* watchLogout() {\r\n yield put(dealerListActions.reset())\r\n}\r\n\r\nexport function* watchDealerList() {\r\n yield takeLatest(dealerListActions.editableContactSave, watchSaveContact);\r\n yield takeLatest(dealerListActions.deleteContact, watchDeleteContact);\r\n yield takeLatest(dealerListActions.contactInviteToJoin, watchContactInviteToJoin);\r\n yield takeLatest(dealerListActions.distributionListInviteToJoin, watchDistributionListInviteToJoin);\r\n yield takeLatest(dealerListActions.headOfTradingInviteToJoin, watchHeadOfTradingInviteToJoin);\r\n yield takeEvery(accountActions.LOGOUT, watchLogout);\r\n}\r\n","import { put, select, takeEvery } from \"redux-saga/effects\";\r\nimport { getType, ActionType } from \"typesafe-actions\";\r\nimport { dealerListPanelActions, pushBwicActions } from \"../actions\";\r\nimport { getBuyers } from \"../selectors\";\r\nimport { JumpBallStage2Participants } from \"../types/bwic-process/JumpBallSettings\";\r\nimport { TopXStage2Participants } from \"../types/bwic-process/TopXSettings\";\r\nimport { BwicPosition } from \"../types/bwic/BwicPosition\";\r\nimport { BidderCompanySlim } from \"../types/company/BidderCompanySlim\";\r\nimport { CompanySlim } from \"../types/company/CompanySlim\";\r\nimport { OpenBiddingImproverCount } from \"../types/enums/OpenBiddingImproverCount\";\r\nimport { OpenBiddingStatus } from \"../types/enums/OpenBiddingStatus\";\r\nimport { BwicProcessType, Process } from \"../types/models/Process\";\r\nimport { AppState } from \"../types/state/AppState\";\r\nimport { DealerListPanelState } from \"../types/state/DealerListPanelState\";\r\nimport { apiUtils, biddingUtils } from \"../utils\";\r\nimport { calculateStage2Participants } from \"../utils/stage2-participants-calculator\";\r\n\r\nfunction* watchNewBid(action: ActionType) {\r\n const bwicReferenceName: string = yield select((s: AppState) => s.bidding.bwic?.referenceName);\r\n const positions: BwicPosition[] = yield select((s: AppState) => s.sellerBidding.securities);\r\n const { companyHiddenState, isStage2ParticipantsOnly }: DealerListPanelState = yield select((s: AppState) => s.dealerListPanel);\r\n\r\n\r\n if (!bwicReferenceName ||\r\n !positions?.length ||\r\n !action.bid ||\r\n !action.bid.company) {\r\n return;\r\n }\r\n\r\n if (isStage2ParticipantsOnly) {\r\n yield updateStage2ParticipantsOnly();\r\n } else if (companyHiddenState[biddingUtils.getBidCompanyIdentifier(action.bid)]) {\r\n const allBids = positions.map(p => p.bids || []).flat();\r\n const companyBidsLength = allBids.filter(b => biddingUtils.getBidCompanyIdentifier(b) === biddingUtils.getBidCompanyIdentifier(action.bid)).length;\r\n\r\n if (companyBidsLength === 1) {\r\n // Show company column if it sent the first bid\r\n yield put(dealerListPanelActions.toggleCompanyVisible(biddingUtils.getBidCompanyIdentifier(action.bid)));\r\n }\r\n }\r\n}\r\n\r\nfunction* watchStage2ParticipantsFlagChange(action: ActionType) {\r\n if (action.payload.isStage2participantsOnly) {\r\n yield updateStage2ParticipantsOnly();\r\n } else if (action.payload.showAllEnabled) {\r\n yield put(dealerListPanelActions.showBwicParticipantsOnly());\r\n }\r\n}\r\n\r\nfunction* updateStage2ParticipantsOnly() {\r\n const stagedBiddingStatus: OpenBiddingStatus = yield select((s: AppState) => s.bidding.bwic?.process.stagedBiddingStatus);\r\n const positions: BwicPosition[] = yield select((s: AppState) => s.sellerBidding.securities);\r\n const bwicProcess: Process = yield select((s: AppState) => s.bidding.bwic?.process);\r\n const improverCount: JumpBallStage2Participants | TopXStage2Participants | OpenBiddingImproverCount | undefined =\r\n yield select((s: AppState) => {\r\n switch (s.bidding.bwic?.process.type) {\r\n case BwicProcessType.JumpBall: return s.bidding.bwic?.process.jumpBall?.improverCount\r\n case BwicProcessType.TopX: return s.bidding.bwic?.process.topX?.improverCount\r\n case BwicProcessType.Live: return s.bidding.bwic?.process.liveBidding?.openBiddingImproverCount\r\n default: return undefined\r\n }\r\n });\r\n\r\n const bwicParticipants: CompanySlim[] = yield select((s: AppState) => s.bidding.bwic?.companies) ?? [];\r\n const offPlatformCompanies: CompanySlim[] = yield select((s: AppState) => s.bidOnBehalf.companies);\r\n const brokerDealers: BidderCompanySlim[] = [...bwicParticipants, ...offPlatformCompanies]\r\n .map(company => ({ ...company, identifier: biddingUtils.getBidCompanyIdentifier({ company }) }));\r\n const buyers = getBuyers(positions ?? []);\r\n const companies = [...brokerDealers, ...buyers];\r\n\r\n if (positions?.length && bwicProcess != null && improverCount && companies.length) {\r\n let stage2Participants: { [identifier: string]: boolean } = {};\r\n let participantsWithBids: { [identifier: string]: boolean } = {};\r\n positions.forEach(p => {\r\n const notPassBids = p.bids?.filter(b => !b.pass) ?? [];\r\n\r\n stage2Participants = {\r\n ...stage2Participants,\r\n ...calculateStage2Participants(notPassBids, bwicProcess)\r\n };\r\n\r\n participantsWithBids = {\r\n ...participantsWithBids,\r\n ...apiUtils.normalize(notPassBids, bid => biddingUtils.getBidCompanyIdentifier(bid), () => true)\r\n };\r\n })\r\n\r\n const companiesToHide = companies.filter(c => !stage2Participants[c.identifier]);\r\n yield put(dealerListPanelActions.setDefaultVisibility(companiesToHide));\r\n\r\n if (\r\n stagedBiddingStatus === OpenBiddingStatus.stage1Ended ||\r\n stagedBiddingStatus === OpenBiddingStatus.improvementRoundEnded\r\n ) {\r\n const companiesWithoutBids = companies.filter(c => !participantsWithBids[c.identifier]);\r\n yield put(dealerListPanelActions.setDisabledCompanies(companiesWithoutBids));\r\n }\r\n }\r\n}\r\n\r\nfunction* watchParticipantsOnlyVisible() {\r\n const participants: CompanySlim[] = yield select(s => s.bidding.bwic.companies || []);\r\n const offPlatformCompanies: CompanySlim[] = yield select(s => s.bidOnBehalf.companies || []);\r\n const companiesToHide = offPlatformCompanies\r\n .filter(c => !participants.some(p => p.id === c.id))\r\n .map(company => ({ ...company, identifier: biddingUtils.getBidCompanyIdentifier({ company }) }));\r\n\r\n yield put(dealerListPanelActions.setDefaultVisibility(companiesToHide));\r\n}\r\n\r\nfunction* watchStartStage2(action: ActionType) {\r\n const bwicReferenceName: string = yield select((s: AppState) => s.bidding.bwic?.referenceName);\r\n const isCurrentBiddingBwicChanged = bwicReferenceName === action.bwicReferenceName;\r\n\r\n if (!isCurrentBiddingBwicChanged) {\r\n return;\r\n }\r\n\r\n const isStage2ParticipantsOnly: boolean = yield select((s: AppState) => s.dealerListPanel.isStage2ParticipantsOnly);\r\n const process: Process = yield select((s: AppState) => s.bidding.bwic?.process);\r\n\r\n if (!isStage2ParticipantsOnly && (\r\n process?.type === BwicProcessType.JumpBall ||\r\n process?.type === BwicProcessType.TopX ||\r\n process?.type === BwicProcessType.Live\r\n )) {\r\n yield put(dealerListPanelActions.stage2ParticipantsFlagChange(true));\r\n }\r\n}\r\n\r\nexport function* watchDealerListPanel() {\r\n yield takeEvery(getType(pushBwicActions.newBid), watchNewBid);\r\n yield takeEvery(getType(dealerListPanelActions.stage2ParticipantsFlagChange), watchStage2ParticipantsFlagChange);\r\n yield takeEvery(getType(dealerListPanelActions.showBwicParticipantsOnly), watchParticipantsOnlyVisible)\r\n yield takeEvery(getType(pushBwicActions.stagedBiddingStartStage2), watchStartStage2);\r\n}\r\n","import moment from 'moment';\r\nimport { mapValues, toPairs } from 'lodash';\r\nimport { ActionType, getType } from \"typesafe-actions\";\r\nimport { put, takeLatest, call, select } from \"redux-saga/effects\";\r\nimport { errorActions } from \"../actions\";\r\nimport { cloManagersActions } from '../actions/clo-managers.actions';\r\nimport { routes } from \"../constants\";\r\nimport { CloManager } from '../types/clo-managers/CloManager';\r\nimport { cloManagersService } from '../services/clo-managers.service';\r\nimport { CloManagerDetailed } from '../types/clo-managers/CloManagerDetailed';\r\nimport { CloManagerSave } from '../types/clo-managers/CloManagerSave';\r\nimport { AppState } from '../types/state/AppState';\r\nimport { CloManagerInvestmentTeamMember } from '../types/clo-managers/CloManagerInvestmentTeamMember';\r\nimport { formatUtils } from '../utils';\r\nimport { CloManagersTabType } from '../types/clo-managers/CloManagersTabType';\r\nimport { compareDates } from '../utils/compare.utils';\r\nimport { CloManagerAnalytics } from '../types/clo-managers/CloManagerAnalytics';\r\nimport { User } from '../types/management/User';\r\nimport { transformToTreeSelect } from '../utils/analytics.utils';\r\nimport { CloManagerSession, CloManagerClientActivity, CloManagerProfileView, CloManagerSessions } from '../types/amr-pipeline/models/CloManagerSession';\r\nimport { CloManagerAccessType } from '../types/amr-pipeline/enums/CloManagerAccessType';\r\nimport { InvestmentTeamMember } from '../types/amr-pipeline/models/InvestmentTeamMember';\r\nimport { groupDocsWithAccessType } from '../utils/analytics.utils';\r\nimport { history } from '../history';\r\nimport { amrCompaniesService } from '../services/amr-companies.service';\r\nimport { HavingDealType } from '../types/amr-pipeline/enums/HavingDealType';\r\n\r\nconst UserAccessTypes = [\r\n CloManagerAccessType.OverviewTab,\r\n CloManagerAccessType.DealTab,\r\n CloManagerAccessType.CloTeamTab,\r\n CloManagerAccessType.AdditionalInformationTab,\r\n];\r\n\r\nfunction groupSessionsByAccessType(sessions: CloManagerSession[]) {\r\n return sessions\r\n .reduce((acc: CloManagerProfileView[], session: CloManagerSession) => {\r\n const views = mapValues(session.tabsViews, x => x.length);\r\n const documents = groupDocsWithAccessType(session.documents);\r\n\r\n return [\r\n ...acc,\r\n {\r\n ...session,\r\n views,\r\n documents,\r\n } as CloManagerProfileView\r\n ];\r\n }, [])\r\n .sort((a, b) => compareDates(b.accessDateTime, a.accessDateTime));\r\n}\r\n\r\nfunction groupSessionsByDate(sessions: CloManagerSession[]) {\r\n return sessions.reduce((acc: CloManagerClientActivity[], session: CloManagerSession) => {\r\n const grouped = toPairs(session.tabsViews);\r\n const documents = groupDocsWithAccessType(session.documents);\r\n\r\n return [\r\n ...acc,\r\n ...grouped.map(([accessType, entries]) => ({\r\n ...session,\r\n accessType,\r\n numberOfAccess: entries.length,\r\n documents,\r\n } as CloManagerClientActivity)),\r\n ];\r\n }, []);\r\n}\r\n\r\nfunction* watchGetCloManagers(action: ActionType) {\r\n const { companyReferenceName } = action.payload;\r\n try {\r\n const data: CloManager[] = yield call(amrCompaniesService.getManagersList, HavingDealType.CloManagers);\r\n\r\n const favorites: CloManager[] = yield call(amrCompaniesService.getManagersList, HavingDealType.CloManagers, true);\r\n\r\n const all = data.map((cloManager) => ({\r\n ...cloManager,\r\n favorite: favorites.some(x => x.referenceName === cloManager.referenceName),\r\n isUserCompany: cloManager.referenceName === companyReferenceName,\r\n }));\r\n\r\n yield put(cloManagersActions.getCloManagersResult(all));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchGetCloManager(action: ActionType) {\r\n try {\r\n const { referenceName } = action.payload;\r\n\r\n const cloManager: CloManagerDetailed = yield call(cloManagersService.getCloManager, referenceName);\r\n const bwicCloManagers: User[] = yield call(cloManagersService.getInvitedAndActiveManagers, referenceName);\r\n\r\n const formattedBwicCloManagers = bwicCloManagers.map(m => ({\r\n status: m.status,\r\n fullName: `${m.firstName} ${m.lastName}`,\r\n linkedIn: m.linkedIn || \"\",\r\n title: m.jobTitle || \"\",\r\n email: m.email,\r\n phoneNumber: m.phone || \"\",\r\n location: m.location || \"\",\r\n id: m.id,\r\n meetingContact: m.meetingContact\r\n }));\r\n\r\n yield put(cloManagersActions.getCloManagerResult(\r\n referenceName,\r\n cloManager,\r\n formattedBwicCloManagers\r\n ));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchCreateOrUpdateCloManager(action: ActionType) {\r\n try {\r\n const { referenceName, cloManager } = action.payload;\r\n const editBwicCloManagers: InvestmentTeamMember[] = yield select((state: AppState) => state.cloManagers.editBwicCloManagers);\r\n\r\n\r\n const { dataItems, isValid } = yield select((state: AppState) => state.grid);\r\n const investmentTeam = dataItems.reduce(\r\n (accumulator: CloManagerInvestmentTeamMember[], value: any, index: number) =>\r\n value.draft\r\n ? accumulator\r\n : [\r\n ...accumulator,\r\n {\r\n ...value,\r\n order: index + 1,\r\n linkedIn: formatUtils.formatUrlWithProtocol(\r\n value.linkedIn\r\n ),\r\n },\r\n ],\r\n []\r\n );\r\n\r\n if (!isValid && investmentTeam.length) {\r\n return;\r\n }\r\n\r\n yield put(cloManagersActions.setCloManagerSaveState(true));\r\n\r\n const cloManagerSave: CloManagerSave = {\r\n ...cloManager,\r\n webSite: formatUtils.formatUrlWithProtocol(cloManager.webSite),\r\n linkedIn: formatUtils.formatUrlWithProtocol(cloManager.linkedIn),\r\n unpriSignatory: formatUtils.formatUrlWithProtocol(cloManager.unpriSignatory) || undefined,\r\n unpriSignatorySince: cloManager.unpriSignatorySince || undefined,\r\n description:\r\n cloManager.description !== cloManager.generatedDescription ? cloManager.description : undefined,\r\n investmentTeam,\r\n platformUserMeetingContacts: editBwicCloManagers.map((manager) => ({email: manager.email, meetingContact: !!manager.meetingContact})),\r\n };\r\n\r\n yield call(cloManagersService.createOrUpdateCloManager, referenceName, cloManagerSave);\r\n yield put(cloManagersActions.getCloManager(referenceName));\r\n yield call(history.push, routes.manageCloManagerUrl(referenceName, CloManagersTabType.Overview));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n } finally {\r\n yield put(cloManagersActions.setCloManagerSaveState(false));\r\n }\r\n}\r\n\r\nfunction* watchLogUserActivity(action: ActionType) {\r\n const { companyReferenceName, accessType } = action.payload;\r\n try {\r\n yield call(cloManagersService.logUserActivity, companyReferenceName, accessType);\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchSwitchFavorite(action: ActionType) {\r\n const { companyReferenceName, favorite } = action.payload;\r\n\r\n try {\r\n yield call(cloManagersService.switchFavorite, companyReferenceName, favorite);\r\n yield put(cloManagersActions.switchFavoriteResponse(companyReferenceName, favorite));\r\n } catch (e) {\r\n yield put(errorActions.unexpectedError(e));\r\n }\r\n}\r\n\r\nfunction* watchAnalyticsInit(action: ActionType) {\r\n try {\r\n const { companyReferenceName } = action.payload;\r\n\r\n const { items, numberOfHiddenItems }: CloManagerSessions = yield call(cloManagersService.getProfileViewHistory, companyReferenceName);\r\n const analytics: CloManagerAnalytics = yield call(cloManagersService.getAnalytics, companyReferenceName);\r\n\r\n const profileViews = groupSessionsByDate(items);\r\n\r\n const users = transformToTreeSelect(profileViews, UserAccessTypes);\r\n\r\n yield put(cloManagersActions.analyticsInitResponse({ users, analytics, numberOfHiddenItems }));\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nfunction* watchClientsActivityRequest(action: ActionType) {\r\n try {\r\n const { companyReferenceName, startDate, endDate } = action.payload;\r\n\r\n const { items, numberOfHiddenItems }: CloManagerSessions = yield call(\r\n cloManagersService.getProfileViewHistory,\r\n companyReferenceName,\r\n startDate ? moment(startDate).startOf('day').toDate() : undefined,\r\n endDate ? moment(endDate).endOf('day').toDate() : undefined,\r\n );\r\n\r\n const cloManagerClientsActivity = groupSessionsByDate(items)\r\n .filter(x => UserAccessTypes.includes(x.accessType));\r\n\r\n yield put(cloManagersActions.clientsActivityResponse(cloManagerClientsActivity, numberOfHiddenItems));\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nfunction* watchProfileViewHistoryRequest(action: ActionType) {\r\n try {\r\n const { companyReferenceName, startDate, endDate } = action.payload;\r\n\r\n const alignedStartDate = startDate ? moment(startDate).startOf('day').toDate() : undefined;\r\n const alignedEndDate = endDate ? moment(endDate).endOf('day').toDate() : undefined;\r\n\r\n const { items, numberOfHiddenItems }: CloManagerSessions = yield call(\r\n cloManagersService.getProfileViewHistory,\r\n companyReferenceName,\r\n alignedStartDate,\r\n alignedEndDate\r\n );\r\n\r\n const profileViewHistory = groupSessionsByAccessType(items);\r\n\r\n yield put(cloManagersActions.profileViewHistoryResponse(profileViewHistory, numberOfHiddenItems));\r\n } catch (e) {\r\n yield put(errorActions.criticalError(e));\r\n }\r\n}\r\n\r\nfunction* watchProfileViewHistoryFiltrByBar(action: ActionType) {\r\n const { companyReferenceName, date } = action.payload;\r\n\r\n yield put(\r\n cloManagersActions.profileViewHistoryRequest(\r\n companyReferenceName,\r\n date,\r\n date\r\n )\r\n );\r\n}\r\n\r\nexport function* watchCloManagers() {\r\n yield takeLatest(getType(cloManagersActions.getCloManagers), watchGetCloManagers);\r\n yield takeLatest(getType(cloManagersActions.getCloManager), watchGetCloManager);\r\n yield takeLatest(getType(cloManagersActions.createOrUpdateCloManager), watchCreateOrUpdateCloManager);\r\n yield takeLatest(getType(cloManagersActions.logUserActivity), watchLogUserActivity);\r\n yield takeLatest(getType(cloManagersActions.switchFavoriteRequest), watchSwitchFavorite);\r\n yield takeLatest(getType(cloManagersActions.analyticsInit), watchAnalyticsInit);\r\n yield takeLatest(getType(cloManagersActions.clientsActivityRequest), watchClientsActivityRequest);\r\n yield takeLatest(getType(cloManagersActions.profileViewHistoryRequest), watchProfileViewHistoryRequest);\r\n yield takeLatest(getType(cloManagersActions.profileViewHistoryFilterByBar), watchProfileViewHistoryFiltrByBar);\r\n}\r\n"],"names":["watchFetchCompanyMembersRequest","_marked2","_regeneratorRuntime","mark","watchCompanyMembers","action","members","wrap","_context","prev","next","call","companiesService","getCompanyMembers","payload","companyId","sent","put","companyMembersActions","fetchCompanyMembers","success","t0","failure","error","stop","_marked","_context2","takeEvery","getType","request","watchGetTotalCount","watchInit","_marked3","watchLoadMoreNews","_marked4","watchSearchNews","_marked5","watchGetNewsDetails","_marked6","watchCreateOrUpdateNews","_marked7","watchDeleteNews","_marked8","watchEditNews","alignNewsDateTime","newsDateTime","initialNewsDateTime","newsDate","moment","currentDate","isSame","Date","utc","endOf","toDate","searchTerm","totalCount","select","s","editNews","newsService","getNewsTotalCount","length","constants","maxSearchLengthToIgnore","editNewsActions","getTotalCountResult","errorActions","unexpectedError","offset","initialReferenceName","_yield$all","_yield$all2","managers","arrangers","newsList","initialNews","all","amrCompaniesService","getManagersList","HavingDealType","CloManagers","getArrangersList","getNews","count","newsLoadCount","_slicedToArray","getNewsDetails","setInitialNews","getInitResult","_context3","loadMoreNewsListResult","_context4","searchNewsListResult","referenceName","newsDetails","_context5","getNewsDetailsResult","newsData","newsDataToSave","newReferenceName","_context6","state","_state$editNews$newsD","_objectSpread","externalSourceLink","formatUtils","formatUrlWithProtocol","transactionLink","createOrUpdateNews","updateNewsList","history","push","routes","manageNewsUrl","EditNewsTabType","view","isInitialNews","updatedList","indexOfDeletedItem","nextListItem","firstListItem","newActiveItem","_context7","deleteNews","findIndex","n","resetNewsDetails","reset","manageNewsPage","_context8","takeLatest","init","loadMoreNewsList","searchNewsList","watchGetUserConfig","watchGetUserFilterConfig","watchUpdateUserConfig","watchSaveTransactionAlerts","watchSaveCompanyAlerts","watchGetDefaultUserColumnsConfig","watchCreateUserFilter","watchUpdateUserFilter","_marked9","watchChangeUserParams","_marked10","watchDeleteUserFilter","_marked11","watchUpdateUserFilterEmailAlerts","_marked12","watchImUserConfig","userConfig","_action$payload$callb","_action$payload","imUserConfigService","getUserConfig","imUserConfigActions","getUserConfigResult","RequestState","criticalError","callback","finish","configType","getUserFilterConfigResult","calls","map","config","createOrUpdateUserConfig","updateUserConfigResult","configs","_config$value","value","alertOption","AlertOption","Never","deleteUserConfig","type","imUserConfig","JSON","stringify","dealReferenceName","transactionReferenceName","_config$value2","_config$value3","companyReferenceName","defaultClassConfig","defaultDealConfig","getDefaultUserConfig","UserConfigType","imColumnsClassTab","imColumnsDealTab","getDefaultUserColumnsConfigResult","_action$payload2","pipelineType","userFilter","filterSelector","imFilterState","filterActions","filterState","serializedFilter","filterType","userConfigFilter","newFilterConfig","issuanceMonitorFilterSelector","createFilterActions","filter","PipelineType","ArrangerPipeline","serializeArrangerPipelineFilters","serializeDealsPipelineFilters","apFilter","imFilter","getUserFilterConfig","setFilterByReferenceName","_action$payload3","default","_action$payload4","_yield$select","filtersConfig","filterConfig","defaultFilter","_context9","find","abrupt","setUserFilterParamsResult","_action$payload5","_context10","deleteUserFilter","deleteUserFilterResult","_action$payload6","singleUpdateAlertOption","newTransactionAlertOption","statisticAlertOption","filterEmailAlerts","imAlertsConfig","newTransactionConfig","imStatisticsConfig","_context11","imAlert","newPublishedTransactionAlert","weeklyStatsEmail","emailOption","updateFilterEmailAlertsConfig","_context12","updateUserConfig","getDefaultUserColumnsConfig","createUserFilter","updateUserFilter","setUserFilterParams","updateUserFilterEmailAlerts","saveTransactionAlerts","saveCompanyAlerts","watchSetVisible","watchFetchCompanyDetailsRequest","watchLogout","watchCompanyDetails","company","isCompanyExist","companyDetails","companies","id","companyDetailsActions","fetchCompanyDetailsRequest","getCompany","setCompanyDetails","fetchCompanyDetailsResponse","show","accountActions","LOGOUT","watchRequestInventoryExist","watchLoadInventory","watchRedirectWithFilterArguments","watchExportInventoryRequest","watchPushInventory","watchActiveInventorySecurityIds","watchInventory","BwicFilterType","Inventory","sortField","sortDirection","dealers","canUseAdvancedFilters","defaultConfigFilter","locationSearchString","searchString","currencyOptions","dealersIds","isAdmin","_mixedDateRange","_mixedDateRange2","ncEndSerializers","getNcEndDeserializeResult","_mixedDateRange3","_mixedDateRange4","riEndSerializers","getRiEndDeserializeResult","from","to","identifiersList","statusOptions","ratingsOptions","collateralTypeOptions","collateralManagersReferenceNames","isEsg","isEuCompilance","isStaticDeals","maturityFrom","maturityTo","vintageFrom","vintageTo","closingFrom","closingTo","trusteeValues","amrValue","isOutOfNC","isOutofRI","serializers","ncEndDeserializeResult","riEndDeserializeResult","dateOption","statusesCommand","identifiersCommand","rating","collateralTypesCommand","esgCommand","euCompilanceCommand","staticDealsCommand","outOfNCCommand","outofRICommand","nonCallEndCommand","reinvestmentEndCommand","currenciesCommand","collateralManagersReferenceNamesCommand","dealerIdsCommand","trusteesValuesCommand","maturityCommand","vintageCommand","closingCommand","amrValueCommand","_context20","entities","brokerDealerList","items","collateralManagers","_s$entities$pageConfi","_s$entities$pageConfi2","pageConfig","PageConfigType","DealerInventory","filters","user","hasFeatures","SubscriptionFeature","InventoryAvancedFilters","undefined","location","search","trim","hasRoles","roles","Administrator","inventory","date","inventoryFilters","mixedDateRange","inventoryStatuses","parsedStatuses","getInventoryPositionStatusByTitle","ratings","parsedRatings","r","Rating","identifiers","list","multipleCurrencies","parsedCurrency","c","Currency","multipleDealers","d","String","parsedDealers","Number","collateralTypes","parsedCollateralTypes","values","m","esg","euCompliance","parsedEuCompilance","staticDeals","parsedStaticDeals","outOfNC","outOfRI","concat","_toConsumableArray","dateFrom","dateTo","trustees","amr","parsedDate","queryStringSerializer","deserialize","resetFilter","getDateOptionByRange","dateRangeFilterOptions","CurrentInventory","key","All","filterDateSelectOption","filterDateSelectCustomRange","execute","statusOption","statuses","status","filterSelectChange","canExecute","shouldExecute","i","searchSecuritiesActions","addSearchItem","ratingOption","collateralTypeOption","isNil","filterVisibilityChange","filterRadioChange","dates","years","filterDateQueryStringDeserialized","toString","_context13","cm","_context14","_context15","name","filterOption","_context16","makeFilterVisible","ThisWeek","_context17","_context18","_context19","DeserializeCommandHandler","addCommand","processGenerator","inventoryActions","advancedFilterBlocked","selectFilterFromConfig","requestInventoryExistFlag","loadSellerInventory","exist","_context21","inventoryService","getInventoryExistFlag","inventoryExistFlag","getSearchParams","searchSecurities","currentPageNumber","pageSize","_getFilterParams","_filter$trustees","_filter$amr","defaultDateRange","selected","f","selectedCurrencies","currency","collateralType","nonCallEndYears","getYearsRange","nonCallEnd","nonCallEndDates","selectedDateOptions","reinvestmentEndYears","reinvestmentEnd","reinvestmentEndDates","maturityRange","maturity","selectedOption","convertToApiCriteria","options","vintageRange","vintage","closingRange","closing","staticDeal","nonCallEndFromYear","nonCallEndToYear","nonCallEndFromDate","nonCallEndToDate","reinvestmentEndFromYear","reinvestmentEndToYear","reinvestmentEndFromDate","reinvestmentEndToDate","getFilterParams","searchParams","dealerIds","el","orderByColumn","sortOrder","page","DataEntry","dateParams","applyFilter","loadSummary","requestState","lastAppliedFilter","filterBlocked","searchFilter","_yield$call","result","totalRecordNumber","summary","_context22","allInventory","searchTermItems","resetSummary","isRequesting","getAllInventory","_objectWithoutProperties","_excluded","requestResult","_yield$select2","criteria","queryString","_context23","getFilterCriteria","nonCallEndFrom","nonCallEndTo","reinvestmentEndFrom","reinvestmentEndTo","currentInventory","noop","serialize","replace","pathname","isinCusipsAndTickers","_nonCallEndYears$from","_nonCallEndYears$to","_reinvestmentEndYears","_reinvestmentEndYears2","_filter$trustees2","_filter$amr2","_filter$outOfNC","_filter$outOfRI","nonCallEndDateRange","reinvestmentEndDateRange","text","appliedFilter","file","_context24","InventorySecurityOrderByColumn","InventorySecuritySortOrder","exportInventoryList","saveAs","blob","exportInventoryResponse","_context25","isRequestNone","requestStateInventoryExist","activeSecurityIds","_context26","getActiveSecurityIdList","activeInventorySecurityActions","requestActiveInventorySecuritiesSuccess","requestActiveInventorySecuritiesError","logger","exception","_context27","pushInventory","exportInventoryRequest","requestActiveInventorySecurities","exportTopChart","exportTopCommonCharts","fetchRequest","watchDashboardInit","watchInitIssueTransactionVolumeCount","watchInitPortfolioSecurities","watchInitTradingStats","watchInitPriceLevel","watchDashboardSetBoxChartSecurity","watchDashboardExportBwiStatistic","watchExportTradingStats","_marked13","watchSetFilter","_marked14","watchDashboardSetFilter","_marked15","watchDashboardClearFilter","_marked16","watchDashboardFetchTopIssuers","_marked17","watchDashboardExportTopIssuers","_marked18","watchDashboardFetchTopArrangers","_marked19","watchDashboardExportTopArrangers","_marked20","watchDashboardFetchTopTrustees","_marked21","watchDashboardExportTopTrustees","_marked22","watchDashboardFetchTopStaticDeals","_marked23","watchDashboardExportTopStaticDeals","_marked24","watchDashboardFetchTopDebutDeals","_marked25","watchDashboardExportTopDebutDeals","_marked26","watchIssueTransactionVolumeRequest","_marked27","watchUsBslEsgNewIssueRequest","_marked28","watchGetPortfolioInventorySecurities","_marked29","watchUsBslEsgEuCompliantDealsRequest","_marked30","watchShortLongDateDealsRequest","_marked31","watchIssuanceSpreadRequest","_marked32","watchNewIssueWeeklySpreadsRequest","_marked33","watchDashboard","exportFile","actionTypeRequest","chartName","_len","params","_key","_args","arguments","hasWidgetsAccess","Array","apply","format","dateFormat","chartType","types","ccy","yearFrom","yearTo","sortingParams","dashboardService","capitalize","requestFunction","isRestricted","_len2","args","_key2","response","_args3","logout","isRequestCancelationError","dashboard","selectedRatings","filterData","requests","ratingsGroup","dashboardSetNotAppliedFilter","dashboardSetFilter","dashboardInitSuccess","fetchColorRates","dashboardFetchColorRates","getColorRates","fetchDntRates","dashboardFetchDntRates","getDntRates","fetchSameDayPeriods","dashboardFetchSameDayPeriods","getSameDayBwics","fetchDtcSellingBuying","dashboardFetchDtcSellingBuying","getDtcSellingBuying","fetchAAAPriceLevel","dashboardFetchAAAPriceLevel","getMedianTripleA","fetchMostTradedTickers","dashboardFetchMostTradedTickers","getMostTradedTickers","fetchBiggestMovers","dashboardFetchBiggestMovers","getBiggestMovers","fetchDtcInvestmentGrade","dashboardFetchDtcIgHy","getVantageData","fetchPxTalkDeviation","dashboardFetchPxTalkDeviation","getPriceTalkDeviation","fetchBwicPercentOfTrace","dashboardFetchBwicPercentOfTrace","getBwicPercentOfTrace","dashboardFetchKWatchNews","hasKWatchNewsAccess","pipelineRequestCriteria","kWatchNews","fetchKIndicator","dashboardFetchKIndicator","some","fetchIssueTransactionVolumesCount","dashboardIssueTransactionVolumeResult","volumesCount","fetchPortfolioSecurities","dashboardFetchPortfolioSecurities","portfolioService","portfolioExist","dashboardFetchPortfolioExist","fetchDailyTradingStats","dashboardFetchTradingStats","getTradingStats","fetchPriceLevel","dashboardFetchPriceLevel","getPriceLevels","dashboardReset","_yield$select2$search","_yield$select2$lookup","lookupCache","_searchTermItems","security","_securityHistory$secu","securityHistory","dashboardSetSearchTermItem","localeCompare","ticker","sensitivity","isinCusip","dashboardFetchSecurityHistoryRequest","bwicService","getSecurityBwicStatistics","dashboardFetchSecurityHistorySuccess","securities","dashboardFetchSecurityHistoryFailure","_yield$select3","_yield$select3$search","_yield$select3$lookup","exportBwicStatistic","currencies","dashboardSetRequestStatusExportTradingStats","fetchExportTradingStats","isEqual","dashboardSetFilterActive","path","year","top10Issuers","minYear","fetchTopChart","dashboardFetchTopIssuersResult","TopChartType","issuers","restPayload","dashboardSetRequestStatusExportTopIssuers","collat","top10Arrangers","dashboardFetchTopArrangersResult","_excluded2","dashboardSetRequestStatusExportTopArrangers","top10Trustees","dashboardFetchTopTrusteesResult","_action$payload7","_excluded3","dashboardSetRequestStatusExportTopTrustees","fetchDeals","dashboardFetchTopStaticDealsResult","additionalCriteria","_action$payload8","orderByTransaction","exportedFrom","fetchExportDeals","dashboardSetRequestStatusExportTopStaticDeals","debutDeals","dashboardFetchTopDebutDealsResult","_action$payload9","isDebut","dashboardSetRequestStatusExportTopDebutDeals","_action$payload$filte","transactionType","currencyCode","allListItem","esgLanguageParams","usBslNewIssueParams","esgLanguageResult","usBslNewIssueResult","usBslEsgNewIssue","startDateDefault","dashboardUsBslEsgNewIssueResult","CollateralType","broadlySyndicated","TransactionStatus","Closed","Priced","_action$payload10","pageNumber","itemsOnPage","_context28","fetchPortfolioInventorySecurities","dashboardGetPortfolioInventorySecuritiesSuccess","dashboardGetPortfolioInventorySecuritiesFailure","usBslEuCompliantDealsParams","usBslParams","_yield$all3","_yield$all4","usBslEuCompliantDealsResult","usBslResult","_context29","usBslEuCompliant","dashboardUsBslEuCompliantDealsResult","TransactionType","newIssue","refi","fetchVolumeCountByTransactionTypes","_action$payload11","_action$payload11$fil","managerReferenceName","startDate","shortDatedDealsParams","data","_context30","dashboardShortLongDatedDealsResult","shortLongDatedDeals","transactionTypes","fetchVolumesCountShortLongDated","_action$payload12","_action$payload12$fil","term","floaterIndex","_pipelineRequestCrite","shortTerm","longTerm","defaultParams","termValuesByType","issuanceSpreadParams","round","issuanceSpreads","median","_context31","dashboardIssuanceSpreadResult","issuanceSpread","_excluded4","_defineProperty","Term","Short","Long","floaterIndexes","classRatings","currencyCodes","fetchIssuanceSpreads","numericUtils","spread","min","q1","q3","max","mean","bottomOutlier","topOutlier","_context32","dashboardNewIssueWeeklySpreadsResult","fetchNewIssueWeeklySpreads","_context33","dashboardInit","dashboardInitIssueTransactionVolume","dashboardInitPortfolioSecurities","dashboardInitTradingStats","dashboardInitPriceLevel","dashboardOnSelectedSecurity","dashboardExportBwiStatistic","dashboardExportTradingStats","dashboardClearFilter","dashboardFetchTopIssuers","dashboardExportTopIssuers","dashboardFetchTopArrangers","dashboardExportTopArrangers","dashboardFetchTopTrustees","dashboardExportTopTrustees","dashboardFetchTopStaticDeals","dashboardExportTopStaticDeals","dashboardFetchTopDebutDeals","dashboardExportTopDebutDeals","dashboardIssueTransactionVolumeRequest","dashboardUsBslEsgNewIssueRequest","dashboardGetPortfolioInventorySecuritiesRequest","dashboardUsBslEuCompliantDealsRequest","dashboardShortLongDatedDealsRequest","dashboardIssuanceSpreadRequest","dashboarNewIssuedWeeklySpreadsRequest","watchFetchFavoriteBrokerDealers","deleteFromFavorites","addToFavorites","watchUpdateFavoriteBrokerDealer","watchFavoriteBrokerDealers","favorites","getFavorites","apiUtils","normalize","favoriteBrokerDealersActions","fetchFavoriteBrokerDealersSuccess","fetchFavoriteBrokerDealersFailure","dealerId","newFavorites","favoriteBrokerDealers","updateFavoriteBrokerDealerSuccess","updateFavoriteBrokerDealerFailure","isFavorite","fetchFavoriteBrokerDealersRequest","updateFavoriteBrokerDealerRequest","watchCategoriesRequest","watchSectionRequest","wathcSearchRequest","wathcSearchLoadMoreRequest","watchHelpResources","categories","helpResourcesService","fetchCategories","helpResourcesActions","section","fetchSection","sectionId","categoryName","sectionName","articles","searchResults","fetchBySearch","categoryId","results","loadMoreSearch","watchRequest","watchEmailPreferences","preferences","emailPreferencesService","getEmailPreferences","emailPreferencesActions","watchRequestRejectedTrades","watchRejectedTrades","trades","tradeReportingService","getResolveTrades","rejectedTradeActions","watchGetDeals","loadDealDetails","watchGetDealDetails","watchDealUpdate","watchGetClassSecondaryInfo","watchDeleteDeal","watchAllClassesEditInit","watchAllClassesUpdate","watchSaveExcludedDealers","watchSaveSettlementInstructions","watchAmrInfoClassesEdit","watchDealDocumentsUpdate","watchAmrInfoSave","watchDeleteAmrTransaction","watchExportSettlementInstructions","watchDeals","validateTicker","dataItem","store","getState","deals","openFigiErrorTickers","includes","dealsService","getDealsNamesList","dealsActions","getDealsResult","deal","transactions","documents","getDealDetails","getDealTransactions","getDealDocuments","sortBy","reverse","dealDetails","getDealDetailsResult","formData","updateDeal","updateDealResult","dealsUrl","DealsTabType","DealDetail","selectedClass","ticker144A","cusip144A","isin144A","tickerRegS","cusipRegS","isinRegS","tickerAccdInvCertif","cusipAccdInvCertif","isinAccdInvCertif","cusip","isin","identifier","statistics","getClassSecondaryInfoResult","dealIndex","previousDeal","nextDeal","refName","deleteDeal","deleteDealResult","Overview","dealsCommon","dealsTransactionReferenceAndClass","allClassesColumns","columns","classes","gridActions","gridColumns","selectSourceItemsCallback","flatten","transaction","transactionClass","title","dealsAllClasses","column","dealsTicker144A","dealsTickerRegS","dealsTickerAccdInvCertif","validate","dealsFloaterIndex","dealsMargin","updateDependencyColumnsCallback","allClassesUpdateCoupon","dealsStatus","allClassesUpdateStatus","dealsName","allClassesUpdateTickers","tranche","linkedTransactionReferenceAndClass","linkedOtcReferenceName","allClassesEdit","dataItems","nonDraftItems","errorJson","tickersWithErrors","grid","item","draft","x","_x$errors","errors","gridUtils","sanitizeGridItems","_ref","_split","split","_split2","updateClasses","dealsAllClasesUrl","message","parse","e","openFigiErrorTickersResponse","allClassesUpdateResponse","classReferenceName","excludedDealersReferenceNames","editData","dealerReferenceName","trancheReferenceName","brokerDealerReferenceName","reasons","saveExcludedDealers","saveExcludedDealersResponse","settlementInstructions","saveSettlementInstructions","saveSettlementInstructionsResponse","minAmountColumn","dealsAmrClasses","minAmount","minimumDenomination","moneyUtils","money","documentsWithPattern","updateDealDocuments","updateDealDocumentsResult","Documents","amrInfo","_x$errors2","redemptionPrice","redemptionPriceInPercent","saveAmrInfo","dealAmrInfoUrl","saveAmrInfoResponse","deleteAmrInfo","AmrInfo","dealLegalName","classLegalName","exportSettlementInstructions","getDeals","getClassSecondaryInfo","deleteDealRequest","allClassesEditInit","allClassesUpdate","saveExcludedDealersRequest","saveSettlementInstructionsRequest","amrInfoClassesEdit","amrInfoSave","deleteAmrTransaction","watchTradesRequest","watchPushDataTrade","watchAwaitingTrades","tradingService","getAwaitingActionTrades","awaitingTradesActions","requestTradesResult","_user$current","trade","tradesRequestState","awaitingTrades","isRequestSuccess","SellerTrader","BrokerDealerTrader","TradeStatus","pending","sellerCompany","current","sellerSettlementStatus","buyerSettlementStatus","requestTrades","pushDataActions","PUSH_DATA_TRADE","watchUpdateFilterState","watchResetFiltersAndUnselectSavedFilter","watchRedirectWithNoFilter","watchSetFilterDateFromQueryString","watchFilter","actions","updateFilterState","setRedirectFilters","filterName","deserializeResult","_filterOption","YearsRange","filterDateSelectYearsRange","Custom","filterSelectClearAll","changeRangeFilter","filterRadioClearOption","filterRangeClearSelectedOptions","filterSelectSelectAll","filterDateClearSelectedOptions","filterDateTimeOptionSelected","filterDateTimeSelectCustomRange","resetFiltersAndUnselectSavedFilter","redirectWithNoFilter","watchCompaniesInit","watchUpdateRequestStatus","watchFetchPendingAgreementsRequest","watchHideActivePanels","watchSettlementAgentAgreementPushReceived","watchGetCurrencyRate","watchUpdateCurrencyRate","watchClientCompanies","agreements","activeAgreements","settlementAgentAgreementService","getAgreementForSettlementAgent","signatory","CompanyStatus","active","clientsCompaniesActions","fetchListSuccess","fetchListFailure","updateAgreement","requestData","updateAgreementSuccess","bidderId","updateAgreementFailure","pendingCount","fetchPendingAgreementCount","fetchPendingAgreementsCountSuccess","resetSelectedAgreement","hide","bd","fetchPendingAgreementCountRequest","rate","currencyService","getCurrencyRate","setResultGetCurrencyRate","setCurrencyRate","usdRate","setResultUpdateCurrencyRate","setVisibleUpdateRatePopup","fetchListRequest","updateAgreementRequest","settlementAgentAgeementPushActions","settlementAgentAgreementPushReceived","hideActivePanels","updateCurrencyRate","watchSaveSubscription","watchChangeSubscription","subscriptionType","subscriptionExpiration","isTrial","newSubscriptionType","changeSubscriptionActions","setSubscriptionSavingFlag","SubscriptionType","trial","pro","billingService","saveSubscription","companiesActions","companySubscriptionChange","watchSetTradedStatus","watchSave","watchInventoryEdit","isUpdatingTradeStatus","inventoryPositionId","lockModifiedDate","tradeDate","inventoryEdit","requestStateSetTradedStatus","inventoryEditActions","setTradedRequestStatus","setTraded","bdInventoryActions","inventoryStatusChange","InventoryPositionStatus","traded","isValid","positions","setSavingState","securityId","bid","offer","bidSize","size","bidDmBps","offerDmBps","creditEnhancement","offerYield","walYears","description","isNumber","mvoc","manager","ncEndMonth","ncEnd","ncEndYear","riEndMonth","riEnd","riEndYear","save","setConflictsPopupVisible","setTradedStatus","watchSendRequest","watchContactSales","contactSalesActions","requestSendingFlag","contactSalesService","sendRequest","send","watchConfirmRequest","watchDownloadPdfRequest","watchDirectBiddingDisclaimer","accountService","setDirectBiddingAgreementSigned","directBiddingDisclaimerActions","confirmSuccess","confirmFailure","downloadDirectBiddingAgreementPdf","downloadPdfSuccess","downloadPdfFailure","confirmRequest","downloadPdfRequest","watchSaveClearingBankSettings","watchRequestSettlementAgentCommission","watchClearingBank","clearingBankService","saveClearingBankSettings","isClearingBank","defaultDailyTradingLimit","commission","changeClearingBankSettings","clearingBankActions","settlementAgentCommissionResponse","getSettlementAgentCommission","settlementAgentCommissionRequest","watchSaveContact","watchDeleteContact","watchContactInviteToJoin","watchDistributionListInviteToJoin","watchHeadOfTradingInviteToJoin","watchDealerList","contact","editingState","dealerName","targetCompany","_contact$role","_contact$phone","dealerList","editableContact","dealer","firstName","lastName","email","role","phone","readonly","dealerListActions","editableContactSetRequestStatus","contactsService","updateContact","addContact","resetEditableContact","contactId","deleteContact","contactInviteToJoinSetRequestStatus","sendInvite","brokerDealerContactListActions","setContactInvitationSent","sendDistributionListInvite","brokerDealerListActions","updateDealerDistributionListInvitationSent","sendHeadOfTrdingInvite","updateDealerHeadOfTradingInvitationSent","editableContactSave","contactInviteToJoin","distributionListInviteToJoin","headOfTradingInviteToJoin","watchNewBid","watchStage2ParticipantsFlagChange","updateStage2ParticipantsOnly","watchParticipantsOnlyVisible","watchStartStage2","watchDealerListPanel","bwicReferenceName","companyHiddenState","isStage2ParticipantsOnly","allBids","_s$bidding$bwic","bidding","bwic","sellerBidding","dealerListPanel","biddingUtils","getBidCompanyIdentifier","p","bids","flat","b","dealerListPanelActions","toggleCompanyVisible","isStage2participantsOnly","showAllEnabled","showBwicParticipantsOnly","_select","stagedBiddingStatus","bwicProcess","improverCount","bwicParticipants","offPlatformCompanies","brokerDealers","buyers","stage2Participants","participantsWithBids","companiesToHide","companiesWithoutBids","_s$bidding$bwic2","process","_s$bidding$bwic3","_s$bidding$bwic4","_s$bidding$bwic5","_s$bidding$bwic5$proc","_s$bidding$bwic6","_s$bidding$bwic6$proc","_s$bidding$bwic7","_s$bidding$bwic7$proc","BwicProcessType","JumpBall","jumpBall","TopX","topX","Live","liveBidding","openBiddingImproverCount","_s$bidding$bwic8","bidOnBehalf","getBuyers","forEach","_p$bids$filter","_p$bids","notPassBids","pass","calculateStage2Participants","setDefaultVisibility","OpenBiddingStatus","stage1Ended","improvementRoundEnded","setDisabledCompanies","participants","_s$bidding$bwic9","_s$bidding$bwic10","stage2ParticipantsFlagChange","pushBwicActions","newBid","stagedBiddingStartStage2","watchGetCloManagers","watchGetCloManager","watchCreateOrUpdateCloManager","watchLogUserActivity","watchSwitchFavorite","watchAnalyticsInit","watchClientsActivityRequest","watchProfileViewHistoryRequest","watchProfileViewHistoryFiltrByBar","watchCloManagers","UserAccessTypes","CloManagerAccessType","OverviewTab","DealTab","CloTeamTab","AdditionalInformationTab","groupSessionsByDate","sessions","reduce","acc","session","grouped","toPairs","tabsViews","groupDocsWithAccessType","_ref2","accessType","entries","numberOfAccess","cloManager","favorite","isUserCompany","cloManagersActions","getCloManagersResult","bwicCloManagers","formattedBwicCloManagers","cloManagersService","getCloManager","getInvitedAndActiveManagers","fullName","linkedIn","jobTitle","phoneNumber","meetingContact","getCloManagerResult","editBwicCloManagers","investmentTeam","cloManagerSave","cloManagers","accumulator","index","order","setCloManagerSaveState","webSite","unpriSignatory","unpriSignatorySince","generatedDescription","platformUserMeetingContacts","createOrUpdateCloManager","manageCloManagerUrl","CloManagersTabType","logUserActivity","switchFavorite","switchFavoriteResponse","numberOfHiddenItems","analytics","profileViews","users","getProfileViewHistory","getAnalytics","transformToTreeSelect","analyticsInitResponse","endDate","_yield$call2","cloManagerClientsActivity","startOf","clientsActivityResponse","alignedStartDate","alignedEndDate","_yield$call3","profileViewHistory","views","mapValues","sort","a","compareDates","accessDateTime","profileViewHistoryResponse","profileViewHistoryRequest","getCloManagers","switchFavoriteRequest","analyticsInit","clientsActivityRequest","profileViewHistoryFilterByBar"],"sourceRoot":""}