{"version":3,"file":"static/js/12.b2544cb6f9dc217ac948.chunk.js","mappings":";0NAqBO,MAkCP,EAlC8EA,IAWzE,IAX0E,GAC3EC,EAAE,MACFC,EAAK,UACLC,EAAS,WACTC,EAAU,QACVC,EACAC,SAAAA,EAAQ,eACRC,EAAc,YACdC,EAAW,mBACXC,EAAkB,UAClBC,GACHV,EACG,OACIW,EAAAA,cAAA,UACIV,GAAIA,EACJC,MAAOM,MAAAA,OAAW,EAAXA,EAAaN,MACpBC,UAAW,gDAAsE,KAAtBK,EAAYN,OAAgBO,GAAsB,cAAa,gBAC3GL,EACfE,SAAWM,GAAeN,EAASM,IAEnCD,EAAAA,cAAA,UAAQE,UAAQ,EAACC,UAAQ,EAACZ,MAAO,IAC5BQ,EAAUK,QAEdV,EAAQW,KAAKC,GAENN,EAAAA,cAAA,UAAQO,IAAKD,EAAOC,IAAKhB,MAAOe,EAAOf,OAClCe,EAAOf,glBCDhC,MAAMiB,UAA6BR,EAAAA,UAG/BS,YAAmBC,GACfC,MAAMD,GAmCO,KAAAE,oBAAsB,CACnCC,EACAC,KACA,IAAAC,EACA,MAAMC,EAAcH,MAAAA,OAAqB,EAArBA,EAAuBR,KAAIY,IACpC,CACHV,IAAKU,EAAGV,IACRhB,MAAO0B,EAAG1B,UAIlB,OACIS,EAAAA,cAACkB,EAAsB,CACnB1B,UAAW,GACXC,YAAY,EACZC,QAASsB,EACTlB,mBAAoBqB,KAAKT,MAAMZ,mBAC/BH,SAAWM,GAAekB,KAAKC,eAAenB,EAAOY,GACrDhB,YAAaiB,EACbvB,MAA2B,QAAtBwB,EAAED,MAAAA,OAAa,EAAbA,EAAevB,aAAK,IAAAwB,EAAAA,EAAI,GAC/BhB,UAAWoB,KAAKT,MAAMX,aAKjB,KAAAqB,eAAiB,CAC9BnB,EACAY,KAEA,MAAMQ,EAAoBR,EAAsBS,MAAKL,GAAMA,EAAG1B,QAAUU,EAAMsB,OAAOhC,QACjF8B,GACAF,KAAKT,MAAMc,eAAeH,IAQjB,KAAAI,gBAAmBf,IAChC,MAAM,KAAEgB,GAAShB,GAEjBiB,EAAAA,EAAAA,KACI,IAAMD,EAAKb,sBAAsBe,SACjC,KAAK,IAAAC,EACDV,KAAKN,sBAAyD,QAApCgB,EAAGH,EAAKb,sBAAsBe,cAAM,IAAAC,EAAAA,EAAI,OA9E1E,MAAM,KAAEH,GAASP,KAAKT,MAEtBS,KAAKN,sBAAwBa,EAAKb,sBAAsBe,QAAU,GAG/DE,oBAEHX,KAAKM,gBAAgBN,KAAKT,OAGvBqB,sBAAsBC,EAA4CC,GACrE,OAAId,KAAKe,QAAUD,GAAad,KAAKT,MAAMgB,OAASM,EAAUN,KAM3DS,SAAM,IAAAC,EACT,MAAM,WAAEC,EAAU,OAAEC,EAAM,cAAExB,GAAkBK,KAAKT,MAYnD,OAAO2B,EAVQE,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACblB,UAAW8C,EAAO9C,UAClBgD,kBAAmB,CACfC,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAW,8BAA+BJ,EAAO9C,YAEhEqB,sBAAuBM,KAAKP,oBAA8C,QAA3BwB,EAACjB,KAAKN,6BAAqB,IAAAuB,EAAAA,EAAI,GAAItB,QAhC9E6B,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,4CAyFf,qFCxHA,MAAMC,EAAuCxD,IAA8B,IAA7B,sBAAEwB,GAAuBxB,EACnE,OAAOW,EAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,IAAIqB,IAiB/B,EATwEH,IACpE,MAAM,kBAAE8B,EAAiB,sBAAE3B,GAA0BH,EACrD,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKT,GACRxC,EAAAA,cAAC6C,EAAqB,CAAChC,sBAAuBA,8GCRnD,MAkCP,EAlC8ExB,IAWzE,IAX0E,GAC3EC,EAAE,MACFC,EAAK,UACLC,EAAS,WACTC,EAAU,QACVC,EACAC,SAAAA,EAAQ,eACRC,EAAc,YACdC,EAAW,mBACXC,EAAkB,UAClBC,GACHV,EACG,OACIW,EAAAA,cAAA,UACIV,GAAIA,EACJC,MAAOM,MAAAA,OAAW,EAAXA,EAAaN,MACpBC,UAAW,gDAAsE,KAAtBK,EAAYN,OAAgBO,GAAsB,cAAa,gBAC3GL,EACfE,SAAWM,GAAeN,EAASM,IAEnCD,EAAAA,cAAA,UAAQE,UAAQ,EAACC,UAAQ,EAACZ,MAAO,IAC5BQ,EAAUK,QAEdV,EAAQW,KAAKC,GAENN,EAAAA,cAAA,UAAQO,IAAKD,EAAOC,IAAKhB,MAAOe,EAAOf,OAClCe,EAAOf,glBCAhC,MAAM2D,UAAyBlD,EAAAA,UAG3BS,YAAmBC,GACfC,MAAMD,GAmCO,KAAAE,oBAAsB,CACnCuC,EACArC,KACA,IAAAC,EACA,MAAMC,EAAcmC,MAAAA,OAAkB,EAAlBA,EAAoB9C,KAAIY,IACjC,CACHV,IAAKU,EAAGV,IACRhB,MAAO0B,EAAG1B,UAGlB,OACIS,EAAAA,cAACkB,EAAsB,CACnB1B,UAAW,GACXC,YAAY,EACZK,mBAAoBqB,KAAKT,MAAMZ,mBAC/BJ,QAASsB,EACTrB,SAAWM,GAAekB,KAAKC,eAAenB,EAAOkD,GACrDtD,YAAaiB,EACbvB,MAA2B,QAAtBwB,EAAED,MAAAA,OAAa,EAAbA,EAAevB,aAAK,IAAAwB,EAAAA,EAAI,GAC/BhB,UAAWoB,KAAKT,MAAMX,aAKjB,KAAAqB,eAAiB,CAACnB,EAA6CkD,KAC5E,MAAM9B,EAAoB8B,EAAmB7B,MAAKL,GAAMA,EAAG1B,QAAUU,EAAMsB,OAAOhC,QAC9E8B,GACAF,KAAKT,MAAMc,eAAeH,IAQjB,KAAAI,gBAAmBf,IAChC,MAAM,KAAEgB,GAAShB,GAEjBiB,EAAAA,EAAAA,KACI,IAAMD,EAAKyB,mBAAmBvB,SAC9B,KAAK,IAAAwB,EACDjC,KAAKgC,mBAAmD,QAAjCC,EAAG1B,EAAKyB,mBAAmBvB,cAAM,IAAAwB,EAAAA,EAAI,OA1EpE,MAAM,KAAE1B,GAASP,KAAKT,MAEtBS,KAAKgC,mBAAqBzB,EAAKyB,mBAAmBvB,QAAU,GAGzDE,oBAEHX,KAAKM,gBAAgBN,KAAKT,OAGvBqB,sBAAsBC,EAAwCC,GACjE,OAAId,KAAKe,QAAUD,GAAad,KAAKT,MAAMgB,OAASM,EAAUN,KAM3DS,SAAM,IAAAkB,EACT,MAAM,WAAEhB,EAAU,OAAEC,EAAM,cAAExB,GAAkBK,KAAKT,MAYnD,OAAO2B,EAVQE,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACblB,UAAW8C,EAAO9C,UAClB8D,cAAe,CACXb,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAW,8BAA+BJ,EAAO9C,YAEhE2D,mBAAoBhC,KAAKP,oBAA2C,QAAxByC,EAAClC,KAAKgC,0BAAkB,IAAAE,EAAAA,EAAI,GAAIvC,QAhCxE6B,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,yCAqFf,qFCtHA,MAAMW,EAAmClE,IAA2B,IAA1B,mBAAE8D,GAAoB9D,EAC5D,OAAOW,EAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,IAAI2D,IAkB/B,EAVgEzC,IAC5D,MAAM,cAAE4C,EAAa,mBAAEH,GAAuBzC,EAE9C,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKK,GACRtD,EAAAA,cAACuD,EAAiB,CAACJ,mBAAoBA,8GCR5C,MAkCP,EAlC8E9D,IAWzE,IAX0E,GAC3EC,EAAE,MACFC,EAAK,UACLC,EAAS,WACTC,EAAU,QACVC,EACAC,SAAAA,EAAQ,eACRC,EAAc,YACdC,EAAW,mBACXC,EAAkB,UAClBC,GACHV,EACG,OACIW,EAAAA,cAAA,UACIV,GAAIA,EACJC,MAAOM,MAAAA,OAAW,EAAXA,EAAaN,MACpBC,UAAW,gDAAsE,KAAtBK,EAAYN,OAAgBO,GAAsB,cAAa,gBAC3GL,EACfE,SAAWM,GAAeN,EAASM,IAEnCD,EAAAA,cAAA,UAAQE,UAAQ,EAACC,UAAQ,EAACZ,MAAO,IAC5BQ,EAAUK,QAEdV,EAAQW,KAAKC,GAENN,EAAAA,cAAA,UAAQO,IAAKD,EAAOC,IAAKhB,MAAOe,EAAOf,OAClCe,EAAOf,glBCAhC,MAAMiE,UAA0BxD,EAAAA,UAG5BS,YAAmBC,GACfC,MAAMD,GAmCO,KAAAE,oBAAsB,CACnC6C,EACA3C,KACA,IAAAC,EACA,MAAMC,EAAcyC,MAAAA,OAAkB,EAAlBA,EAAoBpD,KAAIY,IACjC,CACHV,IAAKU,EAAGV,IACRhB,MAAO0B,EAAG1B,UAIlB,OACIS,EAAAA,cAACkB,EAAsB,CACnB1B,UAAW,GACXC,YAAY,EACZC,QAASsB,EACTlB,mBAAoBqB,KAAKT,MAAMZ,mBAC/BH,SAAWM,GAAekB,KAAKC,eAAenB,EAAOwD,GACrD5D,YAAaiB,EACbvB,MAA2B,QAAtBwB,EAAED,MAAAA,OAAa,EAAbA,EAAevB,aAAK,IAAAwB,EAAAA,EAAI,GAC/BhB,UAAWoB,KAAKT,MAAMX,aAKjB,KAAAqB,eAAiB,CAACnB,EAA6CwD,KAC5E,MAAMpC,EAAoBoC,EAAmBnC,MAAKL,GAAMA,EAAG1B,QAAUU,EAAMsB,OAAOhC,QAC9E8B,GACAF,KAAKT,MAAMc,eAAeH,IAQjB,KAAAI,gBAAmBf,IAChC,MAAM,KAAEgB,GAAShB,GAEjBiB,EAAAA,EAAAA,KACI,IAAMD,EAAK+B,mBAAmB7B,SAC9B,KAAK,IAAA8B,EACDvC,KAAKsC,mBAAmD,QAAjCC,EAAGhC,EAAK+B,mBAAmB7B,cAAM,IAAA8B,EAAAA,EAAI,OA3EpE,MAAM,KAAEhC,GAASP,KAAKT,MAEtBS,KAAKsC,mBAAqB/B,EAAK+B,mBAAmB7B,QAAU,GAGzDE,oBAEHX,KAAKM,gBAAgBN,KAAKT,OAGvBqB,sBAAsBC,EAAyCC,GAClE,OAAId,KAAKe,QAAUD,GAAad,KAAKT,MAAMgB,OAASM,EAAUN,KAM3DS,SAAM,IAAAwB,EACT,MAAM,WAAEtB,EAAU,OAAEC,EAAM,cAAExB,GAAkBK,KAAKT,MAYnD,OAAO2B,EAVQE,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACblB,UAAW8C,EAAO9C,UAClBoE,eAAgB,CACZnB,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAW,8BAA+BJ,EAAO9C,YAEhEiE,mBAAoBtC,KAAKP,oBAA2C,QAAxB+C,EAACxC,KAAKsC,0BAAkB,IAAAE,EAAAA,EAAI,GAAI7C,QAhCxE6B,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,yCAsFf,qFCrHA,MAAMiB,EAAoCxE,IAA2B,IAA1B,mBAAEoE,GAAoBpE,EAC7D,OAAOW,EAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,IAAIiE,IAkB/B,EAVkE/C,IAC9D,MAAM,eAAEkD,EAAc,mBAAEH,GAAuB/C,EAE/C,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKW,GACR5D,EAAAA,cAAC6D,EAAkB,CAACJ,mBAAoBA,mHCnBpD,MAAMK,EAAyDzE,IAAiC,IAAhC,QAAE0E,EAAO,UAAEC,EAAS,KAAEC,GAAM5E,EAC3F,OACCW,IAAAA,cAAAA,IAAAA,SAAA,KACE+D,EACD/D,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKe,GAAYC,KAiGzB,EArEwJvD,IACvJ,MAAM,UAAEwD,EAAS,aAAEC,EAAY,2BAAEC,GAA+BpE,IAAAA,WAAiBqE,EAAAA,gBAE3EC,EAAmBtE,IAAAA,OAA6B,OAC/CuE,EAAgBC,GAAqBxE,IAAAA,UAAe,IA3BhC,SAC3ByE,EACAC,GAQG,IAPHhF,EAAOiF,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,CACTG,YAAY,EACZC,gBAAiB,CAAC,SAClBC,eAAe,EACfC,WAAW,EACXC,SAAS,GAGVlF,IAAAA,WAAgB,KACf,GAAoB,OAAhByE,EAAIU,QAAkB,CACzB,MAAMC,EAAW,IAAIC,iBAAiBX,GAGtC,OAFAU,EAASE,QAAQb,EAAIU,QAASzF,GAEvB,IAAM0F,EAASG,gBAIrB,CAACb,EAAUhF,IAiBd8F,CAAoBlB,GATUG,IAC7BA,EAAIgB,SAASxB,IACRA,EAAK1C,OAAOmE,UAAUC,SAAS,YAAe1B,EAAK1C,OAAOqE,QAAQC,SAAW,gCAChFrB,GAAkB,IACU,IAAnBD,GACTC,GAAkB,SAMrB,MAAM,4BACLsB,EAA2B,MAC3BC,EAAK,UACLhG,GACGW,EAEJ,OACCV,IAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAK6C,GACX9F,IAAAA,cAAA,OAAKyE,IAAKH,GACRyB,EAAM1F,KAAI4D,IAGV,IAAI+B,EAAehD,OAAOiD,OAAOhC,EAAKD,WAAWkC,SAAS,+BAEtDC,EAASnD,OAAOiD,OAAOhC,EAAKD,WAAWkC,SAAS,0BAChDE,EAAYJ,GAAgBG,EAC5BE,EAAuBpC,EAAK3E,GAEhC,OACCU,IAAAA,cAAAA,IAAAA,SAAA,KACEgG,IAAiBzB,GACjBvE,IAAAA,cAAA,OAAKR,UAAU,WACdQ,IAAAA,cAAA,SAAOR,UAAU,uBAAuB8G,KAAK,QAAQC,gBAAc,EAACC,KAAK,gBAAgBlH,GAAI2E,EAAK3E,GAAIC,MAAO0E,EAAK3E,GAAIK,SAAWM,IAAiBkE,EAAalE,EAAMsB,OAAOhC,OAAQ6E,GAA2B,MAC/MpE,IAAAA,cAAA,SAAOR,UAAU,uBAAuBiH,QAASxC,EAAK3E,IAAKS,EAAU2G,8BAGtEP,IAAW5B,GACXvE,IAAAA,cAAA,OAAKR,UAAU,WACdQ,IAAAA,cAAA,SAAOR,UAAU,uBAAuB8G,KAAK,QAAQE,KAAK,gBAAgBlH,GAAI2E,EAAK3E,GAAIC,MAAO0E,EAAK3E,GAAIK,SAAWM,IAAiBkE,EAAalE,EAAMsB,OAAOhC,OAAQ6E,GAA2B,MAChMpE,IAAAA,cAAA,SAAOR,UAAU,uBAAuBiH,QAASxC,EAAK3E,IAAKS,EAAU4G,qBAKrEP,GACDpG,IAAAA,cAAC8D,EAAad,OAAAC,OAAA,CAAC1C,IAAK0D,EAAK3E,IAAQ2E,IAIjCmC,GAAaC,IAAyBnC,GACtClE,IAAAA,cAAC8D,EAAad,OAAAC,OAAA,CAAC1C,IAAK0D,EAAK3E,IAAQ2E,IAEjC+B,GAA8B,KAAd9B,GAChBlE,IAAAA,cAAC8D,EAAad,OAAAC,OAAA,CAAC1C,IAAK0D,EAAK3E,IAAQ2E,+XC3FlC,MAAM2C,EAAmDvH,IAAA,IAAC,cAAEwH,EAAa,MAAEC,EAAK,SAAEC,GAAU1H,EAAA,OAC/FW,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK4D,GACLC,EACAC,IAIIC,EAAmDC,IAAA,IAAC,cAAEC,EAAa,MAAEJ,GAAOG,EAAA,OAAKjH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKiE,GAAgBJ,IAE3GK,EAAyCC,IAAA,IAAC,SAAEC,EAAQ,KAAEpD,EAAI,cAAEqD,EAAa,cAAEC,GAAeH,EAAA,OACnGpH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKoE,GACLpD,EACAqD,GAAiBtH,EAAAA,cAAC4G,EAAsB5D,OAAAC,OAAA,GAAKqE,IAC7CC,GAAiBvH,EAAAA,cAACgH,EAAsBhE,OAAAC,OAAA,GAAKsE,MAIzCC,EAA2DC,IAAA,IAAC,sBAAEC,EAAqB,aAAEC,EAAY,QAAEC,EAAO,UAAEC,GAAWJ,EAAA,OAChIzH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKyE,GACLE,EACD5H,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK0E,GACLE,EAAUxH,KAAIyH,GACX9H,EAAAA,cAACmH,EAAiBnE,OAAAC,OAAA,CAAC1C,IAAKuH,EAASC,QAAYD,SAMhDE,EAA6EC,IAAA,IAAC,sBACvFP,EAAqB,aACrBC,EAAY,QACZC,EAAO,UACPC,EAAS,eACTK,EAAc,mBACdC,GACHF,EAAA,OACGjI,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKyE,GACLS,EACAD,EACAN,EACD5H,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK0E,GACLE,EAAUxH,KAAIyH,GACX9H,EAAAA,cAACoI,EAAmCpF,OAAAC,OAAA,CAAC1C,IAAKuH,EAASC,QAAYD,SAMlEM,EAA2DC,IAAA,IAAC,SAAEhB,EAAQ,KAAEpD,EAAI,cAAEqD,EAAa,cAAEC,GAAec,EAAA,OACrHrI,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKoE,GACLpD,EACAsD,GAAiBvH,EAAAA,cAACgH,EAAsBhE,OAAAC,OAAA,GAAKsE,MAIzCe,EAAqEC,IAAA,IAAC,cAAE1B,EAAa,MAAEC,EAAK,SAAEC,GAAUwB,EAAA,OACjHvI,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK4D,GACLC,EACAC,IAIIyB,EAA2CC,IAAA,IAAC,UACrDC,EAAS,OACTC,EAAM,QACNf,EAAO,SACPgB,EAAQ,eACRC,EAAc,aACdC,EAAY,cACZC,EAAa,iCACbC,GACHP,EAAA,OACGzI,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKyF,GACN1I,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK0F,GACLf,EACAgB,QAEiC/D,IAArCmE,GAAkDH,GAAkB7I,EAAAA,cAACwH,EAAsBxE,OAAAC,OAAA,GAAK4F,SAC3DhE,IAArCmE,GAAkDD,GAAiB/I,EAAAA,cAACwH,EAAsBxE,OAAAC,OAAA,GAAK8F,SAC1DlE,IAArCmE,GAAkDF,GAAgB9I,EAAAA,cAACwH,EAAsBxE,OAAAC,OAAA,GAAK6F,SACzDjE,IAArCmE,EACKA,EAAiC3I,KAAI,CAAC4D,EAAMgF,IACjCjJ,EAAAA,cAACgI,EAAwChF,OAAAC,OAAA,GAAKgB,EAAI,CAAE1D,IAAK0I,OAEpE,OAIRC,EAAiDC,IAAA,IAAC,QAAEvB,EAAO,MAAEwB,GAAOD,EAAA,OACtEnJ,EAAAA,cAAA,OAAKR,UAAU,6BACVoI,EACD5H,EAAAA,cAAA,OAAKR,UAAU,4BACV4J,GACGpJ,EAAAA,cAAAA,EAAAA,SAAA,KACKoJ,EAAMC,SACND,EAAME,SACNF,EAAMG,YACNH,EAAMI,IACNJ,EAAMK,eACNL,EAAMM,QACNN,EAAMO,SACNP,EAAMQ,eAOrBC,EAA4DC,IAAA,IAAC,QAAElC,EAAO,MAAEwB,GAAOU,EAAA,OACjF9J,EAAAA,cAAA,OAAKR,UAAU,+BACVoI,EACD5H,EAAAA,cAAA,OAAKR,UAAU,8BACV4J,GACGpJ,EAAAA,cAAAA,EAAAA,SAAA,KACKoJ,EAAMW,SACNX,EAAMO,SACNP,EAAMM,QACNN,EAAMQ,eAOdvF,EAAiBrE,EAAAA,cAAoB,CAC9CgK,2BAA2B,EAC3B5F,2BAA6B6F,MAC7B/F,UAAW,GACXC,aAAe7E,QAsFnB,EAnFmDoB,IAC/C,MAAM,iCACFwJ,EAAgC,+CAChCC,EAA8C,QAC9CC,EAAO,cACPC,EAAa,YACbC,EAAW,cACXC,EAAa,eACbC,EAAc,UACdC,EAAS,UACTC,EAAS,iBACTC,EAAgB,UAChBC,EAAS,sBACTC,EAAqB,uBACrBC,EAAsB,wBACtBC,EAAuB,kBACvBC,EAAiB,QACjBjH,EAAO,MACPkH,EAAK,MACLC,EAAK,WACLC,EAAU,aACVC,EAAY,sBACZC,EAAqB,UACrBxD,EAAS,iBACTyD,EAAgB,mBAChBC,EAAkB,gCAClBC,EAA+B,iBAC/BC,GACA/K,GAEOsJ,EAA2B0B,GAA4B1L,EAAAA,UAAe,IACtEkE,EAAWyH,GAAqB3L,EAAAA,SAAe,IAChDoE,EAA6BpE,EAAAA,aAAmBkC,GAAmBwJ,EAAyBxJ,IAAQ,IACpGiC,EAAenE,EAAAA,aAAmBV,GAAeqM,EAAkBrM,IAAK,IACxEsM,EAAsB5L,EAAAA,SACxB,KAAM,CACFgK,0BAAAA,EACA5F,2BAAAA,EACAF,UAAAA,EACAC,aAAAA,KACA,CAAC6F,EAA2B5F,EAA4BF,EAAWC,IAG/E,OACInE,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKoH,EAAa,CAAE5F,IAAKgH,KAC1BlB,IAAkBiB,GAAmCxL,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKqH,GAAcY,IAC7EX,GAAiBL,GAAoCC,IAAmDc,IAAUlH,GAChH/D,EAAAA,cAAC6L,EAAAA,QAAO,CAACrM,UAAU,yCAErB+K,GACEvK,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKwH,GACL1G,EACAkH,EACAb,GACDpK,EAAAA,cAACqE,EAAeyH,SAAQ,CAACvM,MAAOqM,GAC5B5L,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKyH,GACLS,EACDnL,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK0H,GAAmBX,GAA6BsB,GAC1DtL,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK8H,GAA0BQ,IAExCvL,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK2H,GACJJ,EAEIa,GAAyBrL,EAAAA,cAAC6J,EAAuB7G,OAAAC,OAAA,GAAKoI,IADtDD,GAAgBpL,EAAAA,cAACkJ,EAAqBlG,OAAAC,OAAA,GAAKmI,IAEjDpL,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK4H,GACLb,GAA6BsB,EAC9BtL,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK8H,GAA0BQ,IAEvC1D,GAAa7H,EAAAA,cAACwI,EAAkBxF,OAAAC,OAAA,GAAK4E,IACtC7H,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK6H,GACLd,GAA6BsB,EAC9BtL,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK8H,GAA0BQ,OAOvDhB,GAAiBS,sICjM9B,MAaMe,EAAoBA,CAACC,EAAwBC,KAC/C,IAAKD,GAAgC,IAApBA,EAASpH,OACtB,OAAO,KAEX,MAAMsH,EAAuC,GACvCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmB,IAgB7D,OAfAD,EAASvG,SAAQ,CAAC4G,EAAMpD,KACpBkD,EAAQG,cAAcC,MAAQF,EAAKG,SACnC,MAAM1H,GAAa2H,EAAAA,EAAAA,wBAAuBR,EAAmBE,GACvDO,EAAoC,CACtCC,UAAWN,EAAKM,UAChBnN,UAAW,gCACXgN,SAAUH,EAAKG,SACfI,QAASP,EAAKO,QAAQC,eACtBC,aAAcT,EAAKS,aACnBC,KAAM,OACNC,qBAAsBlI,GAE1BoH,EAAce,KAAKP,MAGhBR,GAGX,EArCoE7M,IAA8D,IAA7D,MAAE6N,EAAK,iBAAEjB,EAAgB,aAAEkB,EAAY,eAAEC,GAAgB/N,EAC1H,GAAqB,IAAjB6N,EAAMtI,OACN,OAAO,KAEX,MAAMsH,EAAgBH,EAAkBmB,EAAOjB,GAC/C,OACIjM,EAAAA,cAAA,OAAKR,UAAU,kCACV0M,GAAiBA,EAActH,OAAS,EACrC5E,EAAAA,cAACqN,EAAAA,GAAc,CAACH,MAAOhB,EAAeoB,UAAW,CAAEH,aAAAA,EAAcC,eAAAA,KACjE,4kBCRhB,MAAMG,UAA2BvN,EAAAA,cAG7BS,YAAYC,GACRC,MAAMD,GAiEH,KAAA8M,oBAAuBvN,GAA0CkB,KAAKT,MAAM4B,OAAOsF,QAAQ6F,KAAOxN,EAAMsB,OAAOhC,MAE/G,KAAAmO,qBAAwBC,GAAuB1N,IAC9CkB,KAAKT,MAAM4B,OAAOsL,gBAAkBzM,KAAKT,MAAM4B,OAAOuL,eACtD1M,KAAKT,MAAM4B,OAAOuL,aAAe5N,EAAMsB,OAAOhC,QApElD4B,KAAK8K,kBAAmB6B,EAAAA,EAAAA,oBACpB3M,KAAKT,MAAMqN,QAAQC,QAAQC,kBAC3B9M,KAAKT,MAAMwN,aACX/M,KAAKT,MAAMyN,WAIZhM,SACH,MAAM,OAAEG,EAAM,KAAEZ,EAAI,UAAE3B,EAAS,QAAEgO,GAAY5M,KAAKT,OAC5C,UAAElB,EAAS,QAAEoI,EAAO,eAAEgG,EAAc,oBAAEQ,EAAmB,aAAEP,EAAY,kBAAEQ,GAAsB/L,GAC/F,sBAAEgM,EAAqB,4BAAEC,GAAgCxO,GACzD,YAAEyO,GAAgB9M,EAExB,IAAI+M,EAAcH,EACdI,EAAMrB,EAAAA,GAAoB,cAAeU,EAAQY,gBAAkB,GACvE,MAAMtC,EAAO,CAAEG,SAAUoB,EAAgBhB,QAAS,CAAEC,eAAgB6B,GAAO/B,UAAWyB,GAEtF,GAAII,GAAeA,EAAY5M,QAAU4M,EAAY5M,OAAOgN,WAAY,CACpE,MAAMC,EAAmB,EACzB,IAAIC,EAAS,EAETN,EAAY5M,OAAOmN,cAAgBP,EAAY5M,OAAOmN,aAAanK,OAAS,GAC5E4J,EAAY5M,OAAOmN,aAAatJ,SAASuJ,IACrCF,GAAUE,EAAYC,gBAG9B5C,EAAKM,UAAY0B,EACjBhC,EAAKG,SAAWqB,EAChBa,EAAMrB,EAAAA,GAAoB,UAAWU,EAAQY,gBAAkB,GAC/DtC,EAAKO,QAAQC,eAAiB6B,EAC9BD,GAAcS,EAAAA,EAAAA,QAAOX,EAA6BO,EAAOK,QAAQN,IAGrE,MAAMO,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACblB,UAAAA,EACA+N,mBAAoB,CAChB9K,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAW,0BAA2BJ,EAAO9C,YAE5DoI,QAASA,GACL5H,EAAAA,cAACqN,EAAAA,GAAa,CACV7N,UAAU,mCACV6P,IAAKzH,EAAQyH,KAAO,KACpB5B,KAAM7F,EAAQ6F,KACdH,UAAW,CAAEgC,OAAQnO,KAAKqM,oBAAqBJ,eAAgBjM,KAAKT,MAAMqN,QAAQC,WAG1Fd,MACIlN,EAAAA,cAACuP,EAAcvM,OAAAC,OAAA,GACP,CACAiK,MAAO,CAACb,GACRc,aAAchM,KAAKuM,qBACnBN,eAAgBjM,KAAKT,MAAMqN,QAAQC,QACnC/B,iBAAkB9K,KAAK8K,oBAInCwC,YAAazO,EAAAA,cAACwP,EAAAA,EAAoB,CAACf,YAAaA,MAGpD,OAAOtN,KAAKT,MAAM2B,WAAW+M,IAYrC,2FCjGA,MAYA,EAZuE1O,IACnE,MAAM,mBAAE6M,EAAkB,QAAE3F,EAAO,YAAE6G,EAAW,MAAEvB,GAAUxM,EAE5D,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKsK,GACP3F,EACA6G,EACAvB,wDCLb,MAIA,EAJiF7N,IAAA,IAAC,YAAEoP,GAAapP,EAAA,OAC7FW,EAAAA,cAAA,KAAGR,UAAU,wCAAwCiP,sxBCwDzD,IAAMgB,EAAN,cAAiCzP,EAAAA,UAkB7BS,YAAYC,GACRC,MAAMD,GAlBO,KAAAgP,gBAA0B,0BAkGpC,KAAAlC,oBAAuBvN,GAA0CkB,KAAKT,MAAM4B,OAAOsF,QAAQ6F,KAAOxN,EAAMsB,OAAOhC,MAE/G,KAAAoQ,gBAAmB1P,IACtB,MAAMX,EAAKW,EAAMsB,OAAOjC,GAClBC,EAAQU,EAAMsB,OAAOhC,MAE3B,OAAQD,EAAGsQ,eACP,IAAK,YACDzO,KAAK0O,UAAYtQ,EACjB,MAEJ,IAAK,UACD4B,KAAK2O,QAAUvQ,EACf,MAEJ,IAAK,QACD4B,KAAK4O,WAAaxQ,IAQvB,KAAAyQ,QAAU,KACb7O,KAAK8O,mBACL9O,KAAK+O,sBAGL/O,KAAKgP,oBAAsBC,aAAY,KACnCjP,KAAKkP,gCACN,KACHC,YAAW,KACPC,cAAcpP,KAAKgP,uBACpB,MAIU,KAAAE,4BAA8B,KAEvCG,QAAUA,OAAe,QAAKA,OAAe,OAA4B,2BACzED,cAAcpP,KAAKgP,qBACnBhP,KAAKsP,eAAgB,IAIZ,KAAAR,iBAAmB,KAChC,MAAM,UAAElQ,GAAcoB,KAAKT,MACrBgQ,EAA2B3Q,EAAU2Q,0BAA4B,sCAGnEF,OAAkB,WAAKA,OAAkB,UAAmB,iBAE5DA,OAAkB,UAAmB,gBAAEnQ,KAClCsQ,IACG,MAAMpR,EAAQoR,EAAIC,IAAMzP,KAAK0P,YAAYF,EAAIC,KAAO,GACpD,OAAQD,EAAIG,GAAGlB,eACX,IAAK,YACDzO,KAAK0O,UAAYtQ,EACjB,MAEJ,IAAK,UACD4B,KAAK2O,QAAUvQ,EACf,MAEJ,IAAK,QACD4B,KAAK4P,MAAQxR,EACb4B,KAAK4O,WAAaY,EAAIK,IACtBL,EAAIM,SAAWP,OAiBtB,KAAAR,oBAAsB,KACnC,MAAM,UAAEnQ,GAAcoB,KAAKT,MAG3B,GAAI8P,QAAUA,OAAgB,QAAG,CAC7B,MAAMU,EAAU,CACZC,eAAgBpR,EAAUqR,0BAC1BC,gBAAiBtR,EAAUuR,gBAI/BtO,OAAOC,OAAOuN,OAAgB,QAAGU,KA/KrC/P,KAAK0O,UAAY,GACjB1O,KAAK2O,QAAU,GACf3O,KAAK4P,MAAQ,GACb5P,KAAK4O,WAAawB,EAAAA,WAAWC,aAAaC,OAC1CtQ,KAAKsP,eAAgB,EACrBtP,KAAK8K,kBAAmB6B,EAAAA,EAAAA,oBACpB3M,KAAKT,MAAMqN,QAAQC,QAAQC,kBAC3B9M,KAAKT,MAAMwN,aACX/M,KAAKT,MAAMyN,WAIZrM,oBACHX,KAAK6O,UAIF0B,qBAECvQ,KAAKsP,eAAiBD,QAAUA,OAAiB,UAAKA,OAAiB,SAAc,YAErFA,OAAiB,SAAc,aAIhCzO,sBACHC,EACAC,GAEA,OAAId,KAAKe,QAAUD,GAAad,KAAKT,MAAMgB,OAASM,EAAUN,KAM3DS,SACH,MAAM,OAAEG,EAAM,UAAEvC,GAAcoB,KAAKT,MAE7B0O,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACbiR,UAAW,CACPC,eAAgBzQ,KAAKsP,eAEzBoB,mBAAoB,CAChBpP,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAWvB,KAAKuO,gBAAiBpN,EAAO9C,YAEvDuE,QAAS,CACL+N,MAAO,CACHzC,IAAK0C,EAAAA,MACLC,QAAQ,GAEZC,UAAW,CACP5C,IAAK6C,EAAAA,WAETC,KAAMnS,EAAAA,cAACoS,EAAAA,EAAsC,CAAC5S,UAAW2B,KAAKuO,kBAC9DwB,QAASlR,EAAAA,cAACqS,EAAAA,EAAyC,CAAC7S,UAAW2B,KAAKuO,gBAAiBwB,QAASnR,EAAUuR,kBAE5GgB,mBAAoB,CAChBhT,GAAI,MACJiT,MAAO,CAAEC,QAAS,SAEtBC,YAAa,CACTnT,GAAI6B,KAAKsP,cAAgB,MAAQ,KACjCjR,UAAW,GAAG2B,KAAKuO,8BAEvB9H,QAAStF,EAAOsF,SAAWtF,EAAOsF,QAAQ6F,MACtCzN,EAAAA,cAACqN,EAAAA,GAAarK,OAAAC,OAAA,CACVzD,UAAW,GAAG2B,KAAKuO,4BACfpN,EAAOsF,QAAO,CAClB0F,UAAW,CAAEgC,OAAQnO,KAAKqM,oBAAqBJ,eAAgBjM,KAAKT,MAAMqN,QAAQC,YAG1F0E,+BAAgCvR,KAAKwR,wBAGzC,OAAOxR,KAAKT,MAAM2B,WAAW+M,GAiFzByB,YAAY+B,GAChB,MAAMC,EAAIC,SAASC,cAAc,OAGjC,OADAF,EAAEG,UAAYJ,EACiB,IAAxBC,EAAEI,WAAWrO,OAAe,GAAKiO,EAAEI,WAAW,GAAGC,WAAa,GAkBjEP,sBACJ,MAAM,OAAErQ,EAAM,UAAEvC,GAAcoB,KAAKT,MAC7ByS,EAAe,CACjBA,aAAc,CACV7T,GAAI,gBACJE,UAAW,GAAG2B,KAAKuO,uCAEvB3J,MAAO,CACH5E,KAAKiS,aAAa,YAAa,OAAQjS,KAAK0O,UAAW9P,EAAUsT,mBAAoBtT,EAAUuT,oBAC/FnS,KAAKiS,aAAa,UAAW,OAAQjS,KAAK2O,QAAS/P,EAAUwT,kBAAmBxT,EAAUyT,oBAE9FC,aAAc,CACVzT,EAAAA,cAAC0T,EAAAA,EAAgC,CAC7BnT,IAAI,uBACJjB,GAAG,uBACHE,UAAW2B,KAAKuO,gBAChBwB,QAASnR,EAAU4T,mCAEvB3T,EAAAA,cAAC0T,EAAAA,EAAgC,CAC7BnT,IAAI,iBACJjB,GAAG,iBACHE,UAAW2B,KAAKuO,gBAChBwB,QAASnR,EAAU6T,sBAEvB5T,EAAAA,cAAC0T,EAAAA,EAAgC,CAC7BnT,IAAI,+BACJjB,GAAG,+BACHE,UAAW2B,KAAKuO,mBAGxBmE,eAAgB,CACZrU,UAAW,GAAG2B,KAAKuO,4BAEvBoE,QAAS,CACL9T,EAAAA,cAAC+T,EAAAA,EAAiC,CAC9BxT,IAAI,WACJjB,GAAG,WACHE,UAAW,GAAG2B,KAAKuO,+BACnB/C,UAAW5M,EAAUiU,oBACrBvG,KAAM1N,EAAUkU,eAChBhI,iBAAkB9K,KAAK8K,mBAE3BjM,EAAAA,cAAC+T,EAAAA,EAAiC,CAC9BxT,IAAI,SACJjB,GAAG,SACHE,UAAW,GAAG2B,KAAKuO,iCACnB/C,UAAW5M,EAAUmU,iBACrBzG,KAAM1N,EAAUmU,iBAChBjI,iBAAkB9K,KAAK8K,oBAG/BkI,yBAA0B,CACtB3U,UAAW,GAAG2B,KAAKuO,oDAEvB0E,gCAAiC,CAC7B9U,GAAI,kBACJE,UAAW,GAAG2B,KAAKuO,6CAU3B,OANIpN,EAAO+R,WAA4B,KAAflT,KAAK4P,OACzBoC,EAAapN,MAAMkH,KACf9L,KAAKiS,aAAa,QAAS,QAASjS,KAAK4P,MAAOhR,EAAUuU,2BAAuBzP,EAAW1D,KAAK4O,aAIlGoD,EAGHC,aACJ9T,EACAgH,EACA/G,EACAgV,EACAC,EACAC,GAEA,MAAMjV,EAAY,GAAG2B,KAAKuO,gCAC1B,MAAO,CACHgF,QAAS,CACLlV,UAAWkD,GAAAA,CAAWlD,EAAW,GAAGA,KAAaF,IAAM,aAAc,cAEzEiB,IAAKjB,EACLwH,MACI9G,EAAAA,cAAC2U,EAAAA,EAAgC3R,OAAAC,OAAA,GACzB,CACA3D,GAAAA,EACAsV,MAAOtV,EACPE,UAAAA,EACAiO,KAAM8G,KAIlBd,aACIzT,EAAAA,cAAC0T,EAAAA,EAAgC1Q,OAAAC,OAAA,GACzB,CACAzD,UAAW2B,KAAKuO,gBAChBpJ,KAAM,UAIlBuO,MACI7U,EAAAA,cAAC8U,EAAAA,EAAgC9R,OAAAC,OAAA,GACzB,CACA3D,GAAAA,EACAgH,KAAAA,EACA/G,MAAAA,EACAkV,QAAAA,EACAjV,UAAAA,EACAgV,UAAAA,EACA7U,SAAUwB,KAAKwO,uBAhTvBhN,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,iCAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,+BAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,6BAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,kCAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,oCAbT6M,GAAkB9M,EAAAA,EAAAA,IAAA,CADvByC,EAAAA,IACKqK,GA6TN,oFCnXA,MAAMsF,EAA4D1V,IAA4C,IAA3C,QAAEqV,EAAO,MAAE5N,EAAK,aAAE2M,EAAY,MAAEoB,GAAOxV,EACtG,OACIW,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKyR,GACL5N,EACA2M,EACAoB,IAuCPG,EAAkE5N,IAAwC,IAAvC,MAAE0K,EAAK,UAAEG,EAAS,KAAEE,EAAI,QAAEjB,GAAS9J,EACxG,OACIpH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK6O,GACN9R,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgP,GACLE,EACAjB,KAqBjB,EAfuExQ,IACnE,MAAM,mBAAEmR,EAAkB,UAAEF,EAAS,QAAE5N,EAAO,mBAAEuO,EAAkB,YAAEG,EAAW,QAAE7K,EAAO,+BAAE8K,GAAmChS,EAE7H,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAK4O,GACPF,EAAUC,eAAiB5R,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKqP,IACrCX,EAAUC,eAAiB5R,EAAAA,cAACgV,EAAyBhS,OAAAC,OAAA,GAAKc,IAC3D/D,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKwP,GACL7K,EArD+CX,CAAAA,IAQ3D,IAR4D,aAC7DkM,EAAY,MACZpN,EAAK,aACL0N,EAAY,eACZI,EAAc,QACdC,EAAO,yBACPK,EAAwB,gCACxBC,GACHnN,EACG,OACIjH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKkQ,GACLpN,GACGA,EAAM1F,KAAK4D,GAEAjE,EAAAA,cAAC+U,EAAsB/R,OAAAC,OAAA,GAAKgB,MAE1CwP,GACGA,EAAapT,KAAI,CAAC4U,EAAwBhM,IAC/BjJ,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAK0I,GAAQgM,KAE5CjV,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK4Q,GACLC,GACGA,EAAQzT,KAAI,CAAC6U,EAAyBjM,IAC3BjJ,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAK0I,GAAQiM,MAIhDlV,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKkR,GACNnU,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKmR,OA0BTe,CAAazC,oEC7D9B,MAmBA,EAnBsErT,IAQjE,IARkE,GACnEC,EAAE,UACFE,EAAS,KACTiO,EAAI,UACJd,EAAS,SACTzM,EAAQ,iBACR+L,EAAgB,QAChBmJ,GACH/V,EACG,MAAM8M,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmBwB,GACvD3I,GAAa2H,EAAAA,EAAAA,wBAAuBR,EAAmBE,GAE7D,OACInM,EAAAA,cAACqV,EAAAA,OAAMrS,OAAAC,OAAA,CAAC3D,GAAIA,EAAIE,UAAWA,EAAS,aAAcmN,EAAWzM,SAAUA,EAAUkV,QAASA,GAAatQ,GAClG2I,mECjBb,MAUA,EAVyEpO,IAA8C,IAA7C,GAAEC,EAAE,UAAEE,EAAS,KAAE8G,EAAO,OAAM,QAAE4K,GAAS7R,EAC/G,MAAMiW,EAAiB,GAAG9V,MAAc8G,UAExC,OACItG,EAAAA,cAAA,OAAKV,GAAIA,EAAIE,UAAWkD,GAAAA,CAAW4S,EAAgB,QAAS,GAAGhP,UAAcyG,KAAK,QAAO,YAAW,YAAW,cAAa,QACxH/M,EAAAA,cAAA,KAAGR,UAAW,GAAG8V,UAAwBpE,wDCQrD,MAAMqE,EAAgBf,IAClB,GAAIA,EAAW,CACX,MAAMgB,EAAkBC,OAAOC,SAASlB,EAAW,IACnD,IAAKmB,MAAMH,GACP,OAAOA,IAoBnB,EAbyEnW,IAAA,IAAC,GAAEC,EAAE,KAAEgH,EAAI,MAAE/G,EAAK,QAAEkV,EAAO,UAAEjV,EAAS,UAAEgV,EAAS,SAAE7U,GAAUN,EAAA,OAClIW,EAAAA,cAAA,SACIV,GAAIA,EACJgH,KAAMA,EACN/G,MAAOA,EACPC,UAAW,GAAGA,WAAmBA,KAAaF,IAC9CmV,QAAqB,KAAZA,EAAiBA,OAAU5P,EAAS,gBAC/B,OACd2P,UAAWe,EAAaf,GACxB7U,SAAUA,kDClClB,MAMA,EANoEN,IAAA,IAAC,GAAEC,EAAE,MAAEsV,EAAK,UAAEpV,EAAS,KAAEiO,GAAMpO,EAAA,OAC/FW,EAAAA,cAAA,SAAOV,GAAI,GAAGA,UAAYE,UAAW,GAAGA,UAAmBiH,QAASmO,GAC/DnH,iDCLT,MAIA,EAJgFpO,IAAA,IAAC,UAAEG,GAAWH,EAAA,OAC1FW,EAAAA,cAAA,OAAKR,UAAW,GAAGA,kECAvB,MAIA,EAJsFH,IAAA,IAAC,UAAEG,EAAS,QAAE0R,GAAS7R,EAAA,OACzGW,EAAAA,cAAA,OAAKR,UAAW,GAAGA,sBAA+B0R,4HCF/C,MAAM0E,EAA8FvW,IAAA,IAAC,YAAEoP,GAAapP,EAAA,OACvHW,EAAAA,cAAA,KAAGR,UAAU,mDAAmDiP,ICUvDoH,EAAkFxW,IAK1F,IAL2F,MAC5F6N,EAAK,iBACLjB,EAAgB,aAChBkB,EAAY,eACZC,GACH/N,EACG,GAAqB,IAAjB6N,EAAMtI,OACN,OAAO,KAEX,MAAMsH,EAAgBH,EAAkBmB,EAAOjB,GAC/C,OACIjM,EAAAA,cAAA,OAAKR,UAAU,6CACV0M,GAAiBA,EAActH,OAAS,EACrC5E,EAAAA,cAACqN,EAAAA,GAAc,CAACH,MAAOhB,EAAeoB,UAAW,CAAEH,aAAAA,EAAcC,eAAAA,KACjE,OAKVrB,EAAoBA,CAACC,EAAwBC,KAC/C,IAAKD,GAAgC,IAApBA,EAASpH,OACtB,OAAO,KAEX,MAAMsH,EAAuC,GACvCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmB,IAgB7D,OAfAD,EAASvG,SAAQ,CAAC4G,EAAMpD,KACpBkD,EAAQG,cAAcC,MAAQF,EAAKG,SACnC,MAAM1H,GAAa2H,EAAAA,EAAAA,wBAAuBR,EAAmBE,GACvDO,EAAoC,CACtCC,UAAWN,EAAKM,UAChBnN,UAAW,2CACXgN,SAAUH,EAAKG,SACfI,QAASP,EAAKO,QAAQC,eACtBC,aAAcT,EAAKS,aACnBC,KAAM,OACNC,qBAAsBlI,GAE1BoH,EAAce,KAAKP,MAGhBR,wkBCnCX,MAAM4J,UAA8B9V,EAAAA,cAGhCS,YAAYC,GACRC,MAAMD,GAuDH,KAAA8M,oBAAuBvN,IAC1BkB,KAAKT,MAAM4B,OAAOsF,QAAQ6F,KAAOxN,EAAMsB,OAAOhC,OAG3C,KAAAmO,qBAAwBC,GAAuB1N,IAC9CkB,KAAKT,MAAM4B,OAAO4K,OAAS/L,KAAKT,MAAM4B,OAAO4K,MAAMS,KACnDxM,KAAKT,MAAM4B,OAAO4K,MAAMS,GAAWnB,SAAWvM,EAAMsB,OAAOhC,QA5D/D4B,KAAK8K,kBAAmB6B,EAAAA,EAAAA,oBACpB3M,KAAKT,MAAMqN,QAAQC,QAAQC,kBAC3B9M,KAAKT,MAAMwN,aACX/M,KAAKT,MAAMyN,WAIZhM,SACH,MAAM,OAAEG,EAAM,UAAEvC,EAAS,KAAE2B,GAASP,KAAKT,OACnC,UAAElB,EAAS,QAAEoI,EAAO,MAAEsF,GAAU5K,GAChC,qDAAEyT,EAAoD,wDAAEC,GAA4DjW,EACpHkW,EAAWvU,EAAKwU,OAASxU,EAAKwU,MAAMtU,OACpCuU,EACW,IAAbF,EAAiBF,EAAuDC,EACtEI,EAAsB1U,EAAK0U,oBAAoBxU,OAGrD,GAAKwU,MAAAA,IAAAA,EAAqBC,WACtB,OAAO,KAGX,MAAMjH,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACblB,UAAAA,EACAsW,sBAAuB,CACnBrT,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAW,qCAAsCJ,EAAO9C,YAEvEoI,QAASA,GAAWA,EAAQ6F,MACxBzN,EAAAA,cAACqN,EAAAA,GAAa,CACV7N,UAAU,8CACV6P,IAAKzH,EAAQyH,IACb5B,KAAM7F,EAAQ6F,KACdH,UAAW,CAAEgC,OAAQnO,KAAKqM,oBAAqBJ,eAAgBjM,KAAKT,MAAMqN,QAAQC,WAG1Fd,MAAOA,GAASA,EAAMtI,OAAS,GAC3B5E,EAAAA,cAAC6V,EAAiC7S,OAAAC,OAAA,GAC1B,CACAiK,MAAAA,EACAC,aAAchM,KAAKuM,qBACnBN,eAAgBjM,KAAKT,MAAMqN,QAAQC,QACnC/B,iBAAkB9K,KAAK8K,oBAInCwC,YACIzO,EAAAA,cAAC4V,EAAuC,CAACnH,aAAaS,EAAAA,EAAAA,QAAOiH,EAAyCF,GAAY,OAI1H,OAAO9U,KAAKT,MAAM2B,WAAW+M,IAcrC,4FCvFA,MAYA,EAZ6E1O,IACzE,MAAM,sBAAEoV,EAAqB,QAAElO,EAAO,YAAE6G,EAAW,MAAEvB,GAAUxM,EAE/D,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAK6S,GACPlO,EACA6G,EACAvB,kECCb,MAUA,EAV4D7N,IAA4E,IAA3E,GAAEC,EAAE,UAAEE,EAAS,KAAEiO,EAAI,UAAEd,EAAS,SAAEzM,EAAQ,iBAAE+L,EAAgB,QAAEmJ,GAAS/V,EAChI,MAAM8M,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmBwB,GACvD3I,GAAa2H,EAAAA,EAAAA,wBAAuBR,EAAmBE,GAC7D,OACInM,EAAAA,cAACqV,EAAAA,OAAMrS,OAAAC,OAAA,CAAC3D,GAAIA,EAAIE,UAAWA,EAAS,aAAcmN,EAAWzM,SAAUA,EAAUkV,QAASA,GAAatQ,GAClG2I,mECRb,MAUA,EAV+DpO,IAA8C,IAA7C,GAAEC,EAAE,UAAEE,EAAS,KAAE8G,EAAO,OAAM,QAAE4K,GAAS7R,EACrG,MAAMiW,EAAiB,GAAG9V,MAAc8G,UAExC,OACItG,EAAAA,cAAA,OAAKV,GAAIA,EAAIE,UAAWkD,GAAAA,CAAW4S,EAAgB,QAAS,GAAGhP,UAAcyG,KAAK,QAAO,YAAW,YAAW,cAAa,QACxH/M,EAAAA,cAAA,KAAGR,UAAW,GAAG8V,UAAwBpE,wDCQrD,MAAMqE,EAAgBf,IAClB,GAAIA,EAAW,CACX,MAAMgB,EAAkBC,OAAOC,SAASlB,EAAW,IACnD,IAAKmB,MAAMH,GACP,OAAOA,IAoBnB,EAb+DnW,IAAA,IAAC,GAAEC,EAAE,KAAEgH,EAAI,MAAE/G,EAAK,QAAEkV,EAAO,UAAEjV,EAAS,UAAEgV,EAAS,SAAE7U,GAAUN,EAAA,OACxHW,EAAAA,cAAA,SACIV,GAAIA,EACJgH,KAAMA,EACN/G,MAAOA,EACPC,UAAW,GAAGA,WAAmBA,KAAaF,IAC9CmV,QAAqB,KAAZA,EAAiBA,OAAU5P,EAAS,gBAC/B,OACd2P,UAAWe,EAAaf,GACxB7U,SAAUA,kDClClB,MAMA,EAN0DN,IAAA,IAAC,GAAEC,EAAE,MAAEsV,EAAK,UAAEpV,EAAS,KAAEiO,GAAMpO,EAAA,OACrFW,EAAAA,cAAA,SAAOV,GAAI,GAAGA,UAAYE,UAAW,GAAGA,UAAmBiH,QAASmO,GAC/DnH,iDCLT,MAEA,EAFsEpO,IAAA,IAAC,UAAEG,GAAWH,EAAA,OAAKW,EAAAA,cAAA,OAAKR,UAAW,GAAGA,kECC5G,MAIA,EAJ4EH,IAAA,IAAC,UAAEG,EAAS,QAAE0R,GAAS7R,EAAA,OAC/FW,EAAAA,cAAA,OAAKR,UAAW,GAAGA,sBAA+B0R,sxBCsDtD,IAAMoF,EAAN,cAA4BtW,EAAAA,UAcxBS,YAAYC,GACRC,MAAMD,GAdO,KAAAgP,gBAA0B,oBA0FpC,KAAAlC,oBAAuBvN,GAA0CkB,KAAKT,MAAM4B,OAAOsF,QAAS6F,KAAOxN,EAAMsB,OAAOhC,MAGhH,KAAAyQ,QAAU,KACb7O,KAAK8O,mBACL9O,KAAK+O,sBAGL/O,KAAKgP,oBAAsBC,aAAY,KACnCjP,KAAKkP,gCACN,KACHC,YAAW,KACPC,cAAcpP,KAAKgP,uBACpB,MAIU,KAAAE,4BAA8B,KAEvCG,QAAUA,OAAe,QAAKA,OAAe,OAA4B,2BACzED,cAAcpP,KAAKgP,qBACnBhP,KAAKsP,eAAgB,IAIZ,KAAAR,iBAAmB,KAE5BO,OAAkB,WAAKA,OAAkB,UAAmB,iBAE5DA,OAAkB,UAAmB,gBAAEnQ,KAAKsQ,IACxC,OAAQA,EAAIG,GAAGlB,eACX,IAAK,cACDzO,KAAKoV,iBAAmB5F,EAAIK,IAC5B,MAEJ,IAAK,kBACD7P,KAAKqV,qBAAuB7F,EAAIK,SASnC,KAAAd,oBAAsB,KACnC,MAAM,UAAEnQ,GAAcoB,KAAKT,MAG3B,GAAI8P,QAAUA,OAAgB,QAAG,CAC7B,MAAMU,EAAU,CACZG,gBAAiBtR,EAAUuR,gBAI/BtO,OAAOC,OAAOuN,OAAgB,QAAGU,KAjIrC/P,KAAKoV,iBAAmBE,EAAAA,cAAcjF,aAAaC,OACnDtQ,KAAKqV,qBAAuBC,EAAAA,cAAcjF,aAAaC,OACvDtQ,KAAKsP,eAAgB,EACrBtP,KAAK8K,kBAAmB6B,EAAAA,EAAAA,oBACpB3M,KAAKT,MAAMqN,QAAQC,QAAQC,kBAC3B9M,KAAKT,MAAMwN,aACX/M,KAAKT,MAAMyN,WAIZrM,oBACHX,KAAK6O,UAIF0B,qBAECvQ,KAAKsP,eAAiBD,QAAUA,OAAiB,UAAKA,OAAiB,SAAc,YAErFA,OAAiB,SAAc,aAIhCzO,sBAAsBC,EAAsDC,GAC/E,OAAId,KAAKe,QAAUD,GAAad,KAAKT,MAAMgB,OAASM,EAAUN,KAM3DS,SACH,MAAM,OAAEG,EAAM,UAAEvC,GAAcoB,KAAKT,MAE7B0O,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACbiR,UAAW,CACPC,eAAgBzQ,KAAKsP,eAEzBiG,cAAe,CACXjU,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAWvB,KAAKuO,gBAAiBpN,EAAO9C,YAEvDuE,QAAS,CACL+N,MAAO,CACHzC,IAAK0C,EAAAA,MACLC,QAAQ,GAEZC,UAAW,CACP5C,IAAK6C,EAAAA,WAETC,KAAMnS,EAAAA,cAAC2W,EAAAA,EAAiC,CAACnX,UAAW2B,KAAKuO,kBACzDwB,QAASlR,EAAAA,cAAC4W,EAAAA,EAAoC,CAACpX,UAAW2B,KAAKuO,gBAAiBwB,QAASnR,EAAUuR,kBAEvGgB,mBAAoB,CAChBhT,GAAI,MACJiT,MAAO,CAAEC,QAAS,SAEtBC,YAAa,CACTnT,GAAI6B,KAAKsP,cAAgB,MAAQ,KACjCjR,UAAW,GAAG2B,KAAKuO,8BAEvB9H,QAAStF,EAAOsF,SACZ5H,EAAAA,cAACqN,EAAAA,GAAarK,OAAAC,OAAA,CACVzD,UAAW,GAAG2B,KAAKuO,4BACfpN,EAAOsF,QAAO,CAClB0F,UAAW,CAAEgC,OAAQnO,KAAKqM,oBAAqBJ,eAAgBjM,KAAKT,MAAMqN,QAAQC,YAG1F6I,0BAA2B1V,KAAKwR,wBAGpC,OAAOxR,KAAKT,MAAM2B,WAAW+M,GA8DzBuD,sBACJ,MAAM,UAAE5S,GAAcoB,KAAKT,MAC3B,MAAO,CACHyS,aAAc,CACV7T,GAAI,gBACJE,UAAW,GAAG2B,KAAKuO,uCAEvB3J,MAAO,CACH5E,KAAKiS,aAAa,cAAe,WAAYrT,EAAU+W,qBAAsB3V,KAAKoV,kBAClFpV,KAAKiS,aAAa,kBAAmB,WAAYrT,EAAUgX,yBAA0B5V,KAAKqV,uBAE9F/C,aAAc,CACVzT,EAAAA,cAACgX,EAAAA,EAA2B,CACxBzW,IAAI,wBACJjB,GAAG,wBACHE,UAAW2B,KAAKuO,gBAChBwB,QAASnR,EAAUkX,6BAEvBjX,EAAAA,cAACgX,EAAAA,EAA2B,CACxBzW,IAAI,uBACJjB,GAAG,uBACHE,UAAW2B,KAAKuO,gBAChBwB,QAASnR,EAAUqR,4BAEvBpR,EAAAA,cAACgX,EAAAA,EAA2B,CACxBzW,IAAI,uBACJjB,GAAG,iBACHE,UAAW2B,KAAKuO,gBAChBwB,QAASnR,EAAU6T,sBAEvB5T,EAAAA,cAACgX,EAAAA,EAA2B,CACxBzW,IAAI,+BACJjB,GAAG,+BACHE,UAAW2B,KAAKuO,mBAGxBmE,eAAgB,CACZrU,UAAW,GAAG2B,KAAKuO,4BAEvBoE,QAAS,CACL9T,EAAAA,cAACkX,EAAAA,EAA4B,CACzB3W,IAAI,WACJjB,GAAG,WACHE,UAAW,GAAG2B,KAAKuO,mCACnB/C,UAAW5M,EAAUiU,oBACrBvG,KAAM1N,EAAUkU,eAChBhI,iBAAkB9K,KAAK8K,mBAE3BjM,EAAAA,cAACkX,EAAAA,EAA4B,CACzB3W,IAAI,SACJjB,GAAG,SACHE,UAAW,GAAG2B,KAAKuO,iCACnB/C,UAAW5M,EAAUmU,iBACrBzG,KAAM1N,EAAUmU,iBAChBjI,iBAAkB9K,KAAK8K,oBAG/BkI,yBAA0B,CACtB3U,UAAW,GAAG2B,KAAKuO,oDAEvB0E,gCAAiC,CAC7B9U,GAAI,kBACJE,UAAW,GAAG2B,KAAKuO,6CAKvB0D,aAAa9T,EAAYgH,EAAciO,EAAmBE,GAC9D,MAAMjV,EAAY,GAAG2B,KAAKuO,gCAC1B,MAAO,CACHgF,QAAS,CACLlV,UAAWkD,GAAAA,CAAWlD,EAAW,GAAGA,KAAaF,IAAM,aAAc,cAEzEiB,IAAKjB,EACLwH,MACI9G,EAAAA,cAACmX,EAAAA,EAA2BnU,OAAAC,OAAA,GACpB,CACA3D,GAAAA,EACAsV,MAAOtV,EACPE,UAAAA,EACAiO,KAAM8G,KAIlBd,aACIzT,EAAAA,cAACgX,EAAAA,EAA2BhU,OAAAC,OAAA,GACpB,CACAzD,UAAW2B,KAAKuO,gBAChBpJ,KAAM,UAIlBuO,MACI7U,EAAAA,cAACoX,EAAAA,EAA2BpU,OAAAC,OAAA,GACpB,CACA3D,GAAAA,EACAgH,KAAAA,EACAmO,QAAAA,EACAjV,UAAAA,SAnPRmD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,wCAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,4CAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,oCATT0T,GAAa3T,EAAAA,EAAAA,IAAA,CADlByC,EAAAA,IACKkR,GAgQN,oFCzTA,MAAMe,EAAkDhY,IAA4C,IAA3C,QAAEqV,EAAO,MAAE5N,EAAK,aAAE2M,EAAY,MAAEoB,GAAOxV,EAC5F,OACIW,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKyR,GACL5N,EACA2M,EACAoB,IAuCPyC,EAAwDlQ,IAAwC,IAAvC,MAAE0K,EAAK,UAAEG,EAAS,KAAEE,EAAI,QAAEjB,GAAS9J,EAC9F,OACIpH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK6O,GACN9R,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgP,GACLE,EACAjB,KAqBjB,EAf6DxQ,IACzD,MAAM,cAAEgW,EAAa,UAAE/E,EAAS,QAAE5N,EAAO,mBAAEuO,EAAkB,YAAEG,EAAW,QAAE7K,EAAO,0BAAEiP,GAA8BnW,EAEnH,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKyT,GACP/E,EAAUC,eAAiB5R,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKqP,IACrCX,EAAUC,eAAiB5R,EAAAA,cAACsX,EAAoBtU,OAAAC,OAAA,GAAKc,IACtD/D,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKwP,GACL7K,EArD0CX,CAAAA,IAQtD,IARuD,aACxDkM,EAAY,MACZpN,EAAK,aACL0N,EAAY,eACZI,EAAc,QACdC,EAAO,yBACPK,EAAwB,gCACxBC,GACHnN,EACG,OACIjH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKkQ,GACLpN,GACGA,EAAM1F,KAAK4D,GAEAjE,EAAAA,cAACqX,EAAiBrU,OAAAC,OAAA,GAAKgB,MAErCwP,GACGA,EAAapT,KAAI,CAAC4U,EAAwBhM,IAC/BjJ,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAK0I,GAAQgM,KAE5CjV,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK4Q,GACLC,GACGA,EAAQzT,KAAI,CAAC6U,EAAyBjM,IAC3BjJ,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAK0I,GAAQiM,MAIhDlV,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKkR,GACNnU,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKmR,OA0BTe,CAAa0B,8tBCtCvB,MAAMU,UAAsBvX,IAAAA,cAG/BS,YAAmBC,GACfC,MAAMD,GA0CH,KAAA8W,iBAAoBvX,IACvBkB,KAAKT,MAAM4B,OAAOsF,QAAS6F,KAAOxN,EAAMsB,OAAOhC,OAO5C,KAAAkY,sBAAyBxX,IAC5BkB,KAAKT,MAAM4B,OAAOoV,UAAYzX,EAAMsB,OAAOhC,OAhDxC4C,SAAM,IAAAwV,EAAAC,EACT,MAAM,QAAEhQ,EAAO,UAAE8P,GAAcvW,KAAKT,MAAM4B,OAEpCuV,EAAuBjQ,GACzB5H,IAAAA,cAAC8X,EAAAA,GAAI,CACDtY,UAAW,GAAG+X,EAAcQ,kCAC5B1I,IAAgB,QAAbsI,EAAE/P,EAAQyH,WAAG,IAAAsI,EAAAA,EAAI,KACpBlK,KAAM7F,EAAQ6F,KACdH,UAAW,CAAEgC,OAAQnO,KAAKqW,iBAAkBpK,eAAgBjM,KAAKT,MAAMqN,QAAQC,WAIjFgK,EAA+BC,EAAAA,gBAAgBC,YAAoC,QAAzBN,EAACzW,KAAKT,MAAMgB,KAAKyW,gBAAQ,IAAAP,OAAA,EAAxBA,EAA0BhW,QACrFwW,EAAyBV,GAC3B1X,IAAAA,cAACqY,EAAAA,GAAiB,CACd7Y,UAAW,GAAG+X,EAAcQ,qCAC5BtK,KAAMuK,EAAsBN,EAAYvW,KAAKT,MAAMX,UAAUuY,sBAC7DhL,UAAW,CAAEgC,OAAQnO,KAAKsW,sBAAuBrK,eAAgBjM,KAAKT,MAAMqN,QAAQC,WAGtFoB,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACb6X,WAAYpX,KAAKqW,iBACjBgB,cAAe,CACX/V,YAAatB,KAAKT,MAClBlB,UAAW+X,EAAcQ,kBAE7BnQ,QAASiQ,EACTH,UAAWU,EACXD,SAAUH,EAAsB7W,KAAKsX,uBAAyB,KAGlE,OAAOtX,KAAKT,MAAM2B,WAAW+M,GAmBzBsJ,2BAA2BzU,GAC/B,MAAM0U,EAAY1U,EAAK2U,SAEvB,IADyBC,EAAAA,EAAAA,IAAa1X,KAAKT,MAAMqN,QAAQC,WAChC2K,EACrB,OAAO3Y,IAAAA,cAAA,OAAKR,UAAW,GAAG+X,EAAcQ,qCAAsC5W,KAAKT,MAAMX,UAAU+Y,oBAEvG,IAAIC,EAAgB,GACpB,GAAI1L,EAAAA,GAAS2L,UAAW,CAAC,IAADC,EACpB,MAAMC,EAAiE,QAAvDD,GAAGE,EAAAA,EAAAA,IAAW,OAAQhY,KAAKT,MAAMqN,QAAQY,sBAAc,IAAAsK,EAAAA,EAAI,GACrEG,EAAU,IAAIC,IAAIH,EAAY1I,OAAOzJ,SAASuS,MACpDF,EAAQG,aAAaC,IAAI,YAAa,GAAGb,KACzCI,EAAgBK,EAAQE,KAE5B,OACItZ,IAAAA,cAACqV,EAAAA,OAAM,CACH7V,UAAW,GAAG+X,EAAcQ,2BAA0B,aAC1C5W,KAAKT,MAAMX,UAAU0Z,wBACjCH,KAAMP,GAEL5X,KAAKT,MAAMX,UAAU0Z,yBAK1BhB,uBAAoB,IAAAiB,EACxB,MAAMvB,EAAmC,QAA3BuB,EAAGvY,KAAKT,MAAMgB,KAAKyW,gBAAQ,IAAAuB,OAAA,EAAxBA,EAA0B9X,OAErCoX,EAAY3L,EAAAA,GAAS2L,UAE3B,OACIhZ,IAAAA,cAAA,OAAKR,UAAW,GAAG+X,EAAcQ,kCAAmChL,KAAK,QACpEoL,MAAAA,OAAQ,EAARA,EAAU9X,KAAI4D,IACX,MAAM0V,EAAW,GAAGC,KAAKC,UAAU5V,MAAS6V,OAAOd,KAC7Ce,EAAmC9B,EAAAA,gBAAgB+B,eAAe/V,EAAKgW,QAC7E,OACIja,IAAAA,cAAA,OACIO,IAAKoZ,EACLna,UAAW,GAAG+X,EAAcQ,wCAC5BmC,SAAU,EAAC,aACCjW,EAAKkW,KACjBpN,KAAK,YAEL/M,IAAAA,cAAA,MAAIR,UAAW,GAAG+X,EAAcQ,sCAAuC9T,EAAKkW,MAC5Ena,IAAAA,cAAA,OAAKR,UAAW,GAAG+X,EAAcQ,yCAC7B/X,IAAAA,cAACoa,EAAAA,GAAK,CACFhN,eAAgBjM,KAAKT,MAAMqN,QAAQC,QACnCxO,UAAW,GAAG+X,EAAcQ,oCAC5BxX,IAAKoZ,EACLU,KAAKC,EAAAA,EAAAA,IAAiBnZ,KAAKT,MAAMqN,QAAQC,QAAQuM,YAAaR,MAAAA,OAAK,EAALA,EAAOS,KACrEC,aAActZ,KAAKT,MAAMqN,QAAQC,QAAQyM,aACzCC,cAAevZ,KAAKT,MAAM4B,OAAOqY,qBACjCC,QAASb,MAAAA,OAAK,EAALA,EAAOc,QAChBC,oBAAoB,SAExB9a,IAAAA,cAAA,OAAKR,UAAW,GAAG+X,EAAcQ,qCAC5B5W,KAAKuX,2BAA2BzU,WAhHzCsT,EAAAQ,iBAAmB,oBA2H/C,8HCjJO,MAAMgD,EAAwEra,IACjF,MAAM,cAAE8X,GAAkB9X,EAC1B,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKuV,GACP9X,EAAMkH,QACNlH,EAAMgX,UACNhX,EAAMyX,WAKnB,2HCmBO,MAAM6C,EAAoE3b,IAK5E,IAL6E,iBAC9E4b,EAAgB,iBAChBC,EAAgB,wBAChBC,EAAuB,mBACvBC,GACH/b,EACG,OACIW,EAAAA,cAAA,OAAKR,UAAU,gFACXQ,EAAAA,cAAA,MAAIR,UAAU,iDAAiDyb,GAC9DG,GACGpb,EAAAA,cAAA,KAAGR,UAAU,8DACR,GAAG2b,KAA2BC,KAGtCA,GAAsBF,GACnBlb,EAAAA,cAAA,QAAMR,UAAU,iDACZQ,EAAAA,cAACqb,IAAM,CAAC9b,MAAO6b,EAAoBE,KAAM,QCzChDC,EAAsDlc,IAAqB,IAApB,aAAEoU,GAAcpU,EAChF,OAAKoU,EAKDzT,EAAAA,cAAA,QAAMR,UAAU,iDACZQ,EAAAA,cAAA,QAAMR,UAAU,2BAA0B,cAAa,SACvDQ,EAAAA,cAAA,YAAOyT,IANJ,2kBCmDf,MAAM+H,UAAyBxb,EAAAA,UAC3BS,YAAmBC,GACfC,MAAMD,GA0DH,KAAA+a,sBAAwBC,MAAAA,IAC3B,MAAMC,EAAoBlG,OAAOC,SAASvU,KAAKT,MAAMqN,QAAQC,QAAQ4N,MAAOD,UAAW,IACjFP,EAA6Bja,KAAKT,MAAMqN,QAAQC,QAAQ4N,MAAOR,mBAC/DS,EAAwB1a,KAAKT,MAAMqN,QAAQC,QAAQ4N,MAAOC,cAE1DC,EAAkFC,MAAAA,OAAyB,EAAzBA,EAA2B1b,KAC/G2b,IAAoC,IAAAC,EAChC,MAAO,CACHC,QAA6D,QAAtDD,EAAED,EAAkCE,QAAQC,kBAAU,IAAAF,EAAAA,EAAI,GACjE1c,MAAOyc,EAAkCzc,UAI/C6c,EAA4C,GAClD,IAAKC,EAAAA,iBAAiBC,kBAAkBR,GACpC,IAAK,MAAMS,KAAyBT,EAChCM,EAAsBnP,KAAK,CACvBuP,IAAKD,EAAsBL,QAC3BO,MAAO,CACHC,YAAaH,EAAsBhd,SAKnD,UACUod,EAAAA,uBAAAA,2BACF,CAAEC,cAAezb,KAAKT,MAAMqN,QAAQY,cAAekO,oBAAqB,IACxElB,EACAE,EACAT,EACAgB,GAEN,MAAOnH,GAGL,OAFA9T,KAAK2b,SAAS,CAAEC,mBAAoB5b,KAAKT,MAAMX,UAAUid,oBAAqBC,aAAa,IAC3F9b,KAAKT,MAAMyN,UAAU8G,MAAMA,GACpBiI,QAAQC,UAGnB,OADAhc,KAAK2b,SAAS,CAAEC,mBAAoB,GAAIE,aAAa,IAC9CC,QAAQC,WAOF,KAAAnN,QAAU0L,UAA0B,IAAA0B,EAAAC,EAAAC,EAAAC,EACjD,MAAM5B,EAAoBlG,OAAOC,SAAoD,QAA5C0H,EAAiC,QAAjCC,EAAClc,KAAKT,MAAMqN,QAAQC,QAAQ4N,aAAK,IAAAyB,OAAA,EAAhCA,EAAkC1B,iBAAS,IAAAyB,EAAAA,EAAI,GAAI,IACvFhC,EAAyE,QAAvDkC,EAAuBnc,KAAKT,MAAMqN,QAAQC,QAAQ4N,aAAK,IAAA0B,OAAA,EAAhCA,EAAkClC,mBAC3ES,EAAoE,QAAvD0B,EAAuBpc,KAAKT,MAAMqN,QAAQC,QAAQ4N,aAAK,IAAA2B,OAAA,EAAhCA,EAAkC1B,cAC5E,GAAIpG,OAAOE,MAAMgG,KAAeP,IAAuBS,EAEnD,OAAI1a,KAAKT,MAAMqN,QAAQC,QAAQwP,OAAOC,WAE3Btc,KAAKT,MAAMqN,QAAQC,QAAQwP,OAAOE,UACzCvc,KAAK2b,SAAS,CAAEC,mBAAoB5b,KAAKT,MAAMX,UAAU4d,uCAEzDxc,KAAK2b,SAAS,CAAEC,mBAAoB5b,KAAKT,MAAMX,UAAUid,sBAE7D7b,KAAKT,MAAMqN,QAAQI,UAAU8G,MACzB,8JAPOiI,QAAQC,UAavB,MAAM,0BAAES,GAA8Bzc,KAAKT,MAAM4B,OAKjD,IAH0C2V,EAAAA,gBAAgBC,YAAY0F,GAGvC,CAC3B,UACUjB,EAAAA,uBAAAA,2BACF,CAAEC,cAAezb,KAAKT,MAAMqN,QAAQY,cAAekO,oBAAqB,IACxElB,EACAE,EACAT,GAEN,MAAOnG,GAGL,OAFA9T,KAAK2b,SAAS,CAAEC,mBAAoB5b,KAAKT,MAAMX,UAAUid,oBAAqBC,aAAa,IAC3F9b,KAAKT,MAAMyN,UAAU8G,MAAMA,GACpBiI,QAAQC,UAEnBhc,KAAK2b,SAAS,CAAEC,mBAAoB,GAAIE,aAAa,IAEzD,OAAOC,QAAQC,WA9Ifhc,KAAKe,MAAQ,CACT6a,mBAAoB,GACpBE,aAAa,GAId9a,SAAM,IAAA0b,EACT,MAAMC,EAA2D,KAAlC3c,KAAKe,MAAM6a,mBAEpC3N,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACbqd,YAAa/d,EAAAA,cAACub,EAAqB,CAAC9H,aAActS,KAAKe,MAAM6a,qBAC7DiB,sBACIhe,EAAAA,cAACgb,EAA4B,CACzBC,iBAAkB9Z,KAAKT,MAAMX,UAAUke,wBACvC/C,iBAAkB/Z,KAAKT,MAAM4B,OAAO4Y,iBACpCC,wBAAyBha,KAAKT,MAAMX,UAAUme,oBAC9C9C,mBAAoD,QAAlCyC,EAAE1c,KAAKT,MAAMqN,QAAQC,QAAQ4N,aAAK,IAAAiC,OAAA,EAAhCA,EAAkCzC,qBAG9DK,sBAAuBta,KAAKsa,sBAC5B0C,4BAA6Bhd,KAAKT,MAAM4B,OAAOsb,0BACzCzc,KAAKT,MAAM4B,OAAOsb,0BAA0Bvd,KAAI,KACrC,WAEXwE,EACN8M,UAAW,CACPmM,cAAAA,EACAb,YAAa9b,KAAKe,MAAM+a,eAIhC,OAAO9b,KAAKT,MAAM2B,WAAW+M,GAG1BrN,sBAAsBC,EAA4DC,GACrF,OACId,KAAKT,MAAM4B,OAAO8b,+BAAiCpc,EAAUM,OAAO8b,8BACpEjd,KAAKT,MAAM4B,OAAO2Y,mBAAqBjZ,EAAUM,OAAO2Y,mBAIxD9Z,KAAKe,MAAM6a,qBAAuB9a,EAAU8a,oBAAsB5b,KAAKe,MAAM+a,cAAgBhb,EAAUgb,aAMxG,gCACG9b,KAAK6O,WAiGnB,qFC9MA,MAuBA,EAvB2DtP,IAA4B,IAAA2d,EACnF,MAAM,YAAEN,EAAW,sBAAEtC,EAAqB,sBAAEuC,EAAqB,UAAErM,GAAcjR,EACjF,OACIV,EAAAA,cAAAA,EAAAA,SAAA,KACK2R,EAAUmM,eAAiBC,GAC1BpM,EAAUmM,eAAiB7F,EAAAA,gBAAgBC,YAAYxX,EAAM4B,OAAOsb,4BAClE5d,EAAAA,cAACse,EAAAA,YAAW,CACR1W,QAAkD,QAA3CyW,EAAE3d,EAAM4B,OAAO8b,oCAA4B,IAAAC,EAAAA,EAAI3d,EAAMX,UAAUwe,oCACtEC,iBAAkB9d,EAAMX,UAAU0e,sCAClCC,KAAMhe,EAAM4B,OAAOsb,0BACnBe,iCAAkCje,EAAMX,UAAU4e,iCAClDC,SAAUnD,EACVuC,sBAAuBA,KAG7BrM,EAAUmM,gBACP7F,EAAAA,gBAAgBC,YAAYxX,EAAM4B,OAAOsb,4BAC1CjM,EAAUsL,aACVe,oJCiBhB,MA4FMa,EAAeA,CACjB5a,EACAvD,EACAoe,KAC6C,IAAAC,EAO7C,MAAO,CACHnX,QAPgB3D,EAAK2D,SAjGPoX,EAACC,EAAkCve,EAA4Coe,KACjG,MAAM1R,EAAiB1M,EAAM0M,eAC7B,OACIpN,EAAAA,cAACqN,EAAAA,GAAa,CACVI,KAAMwR,EACN5P,IAAI,IACJ7P,UAAU,sDACV8N,UAAW,CAKPgC,OAAQrP,IACJS,EAAMwe,2BAA2BJ,EAAW7e,IAEhDmN,eAAAA,MAkFwB4R,CAAc/a,EAAK2D,QAASlH,EAAOoe,GAQnErR,KAPkBxJ,EAAKkb,SAtEPC,EAACC,EAAwC3e,EAA4Coe,KACzG,MAAM1R,EAAiB1M,EAAM0M,eAC7B,OACIpN,EAAAA,cAACqN,EAAAA,GAAa,CACVI,KAAM4R,EACNhQ,IAAI,IACJ7P,UAAU,2DACV8N,UAAW,CAKPgC,OAAQrP,IACJS,EAAMwe,2BAA2BJ,EAAW7e,IAEhDmN,eAAAA,MAuD0BgS,CAAgBnb,EAAKkb,QAASze,EAAOoe,GAQvE5R,MAPwB,QAAb6R,EAAG9a,EAAKiJ,aAAK,IAAA6R,OAAA,EAAVA,EAAY1e,KAAI,CAACif,EAAqBrW,IA1CxCsW,EAACD,EAAqB5e,EAA4Coe,EAAmBnR,KACrG,MAAMjB,EAAoC,CACtCC,UAAW2S,EAAQ3S,UACnBnN,UAAW,0DACXgN,SAAU8S,EAAQ9S,SAClBI,QAAS0S,EAAQ1S,QAAQC,eACzBC,aAAcwS,EAAQxS,aACtBC,KAAM,QAEJK,EAAiB1M,EAAM0M,eAC7B,OACIpN,EAAAA,cAACqN,EAAAA,GAAa,CACV9M,IAAKoN,EACLtB,KAAMK,EACNY,UAAW,CAKPH,aAAclN,IACVS,EAAM8e,+BAA+B7R,EAAWmR,EAAW7e,IAE/DmN,eAAAA,MAqBDmS,CAAYD,EAAS5e,EAAOoe,EAAW7V,KAO9CwW,+BAAgC,CAAEjgB,UAAW,4DAC7CkgB,2BAA4B,CAAElgB,UAAW,uDASpCmgB,EACTjf,IAEA,MAAM,kBAAEkf,GAAsBlf,EAC9B,IAAKkf,EACD,OAGJ,MAAMC,EAA4D,GAKlE,OAJAD,EAAkBvf,KAAI,CAAC4D,EAAMgF,IAClB4W,EAAW5S,KAAK4R,EAAa5a,EAAMvD,EAAOuI,MAG9C,CACH6W,sBAAuB,CAAEtgB,UAAW,iDACpCugB,uBAAwBF,IC/JzB,MAAMG,UAAyBhgB,EAAAA,cAAtCS,cAAA,oBAeqB,KAAAsL,kBAAqBC,IAClC,IAAKA,GAAgC,IAApBA,EAASpH,OACtB,OAAO,KAEX,MAAMsH,EAAuC,GAqB7C,OApBAF,EAASvG,SAAQ,CAAC4G,EAAMpD,KAEpB,MAAMkD,GAAUC,EAAAA,EAAAA,kBAAiB,QAASjL,KAAKT,MAAMuL,iBAAkB,GAAI,IACrEO,EAAWH,EAAKG,SAAWH,EAAKG,SAAW,GACjDL,EAAQG,cAAcC,MAAQC,EAC9B,MAAM1H,GAAa2H,EAAAA,EAAAA,wBAAuBtL,KAAKT,MAAMuL,iBAAkBE,GACjE8T,EAAqB,IAAVhX,EAAc,mBAAqB,qBAC9CyD,EAAoC,CACtCC,UAAWN,EAAKM,UAChBnN,UAAWygB,EACXzT,SAAUH,EAAKG,SACfI,QAASP,EAAKO,QAAQC,eACtBC,aAAcT,EAAKS,aACnBC,KAAM5L,KAAKT,MAAMqM,KACjBC,qBAAsBlI,EACtBsQ,SAAS8K,EAAAA,EAAAA,kBAAiB/e,KAAKT,MAAMuL,iBAAkBE,EAASK,IAEpEN,EAAce,KAAKP,MAGhBR,GAvCJ/J,SACH,MAAM+J,EAAgB/K,KAAK4K,kBAAkB5K,KAAKT,MAAMwM,OACxD,OACIlN,EAAAA,cAAA,OAAKR,UAAU,yBACV0M,GAAiBA,EAActH,OAAS,EACrC5E,EAAAA,cAACqN,EAAAA,GAAc,CACXH,MAAOhB,EACPoB,UAAW,CAAEH,aAAchM,KAAKT,MAAMyM,aAAcC,eAAgBjM,KAAKT,MAAM0M,kBAEnF,OAiCpB,+kBCtBO,MAAM+S,UAAqBngB,EAAAA,cAAlCS,cAAA,oBACqB,KAAAwL,kBAAsC6B,EAAAA,EAAAA,oBACnD3M,KAAKT,MAAMqN,QAAQC,QAAQC,kBAC3B9M,KAAKT,MAAMwN,aACX/M,KAAKT,MAAMyN,WAsHR,KAAAqJ,iBAAoBvX,GAA0CkB,KAAKT,MAAM4B,OAAOsF,QAAS6F,KAAOxN,EAAMsB,OAAOhC,MAS7G,KAAAkY,sBAAyBxX,GAA0CkB,KAAKT,MAAM4B,OAAOoV,UAAYzX,EAAMsB,OAAOhC,MAO9G,KAAAmO,qBAAwBC,GAAuB1N,IAC9CkB,KAAKT,MAAM4B,OAAO4K,OAAS/L,KAAKT,MAAM4B,OAAO4K,MAAMuI,OAAO9H,MAC1DxM,KAAKT,MAAM4B,OAAO4K,MAAMuI,OAAO9H,IAAYnB,SAAWvM,EAAMsB,OAAOhC,QArIpE4C,SAAM,IAAAwV,EAAAyF,EAAAgD,EACT,MAAM,QAAExY,EAAO,UAAE8P,EAAS,MAAEqC,EAAK,MAAE7M,EAAK,UAAE1N,EAAS,eAAE6gB,GAAmBlf,KAAKT,MAAM4B,OAC7Ege,EAAoB1Y,GACtB5H,EAAAA,cAACqN,EAAAA,GAAa,CACV7N,UAAU,0BACV6P,IAAgB,QAAbsI,EAAE/P,EAAQyH,WAAG,IAAAsI,EAAAA,EAAI,KACpBlK,KAAM7F,EAAQ6F,KACdH,UAAW,CAAEgC,OAAQnO,KAAKqW,iBAAkBpK,eAAgBjM,KAAKT,MAAMqN,QAAQC,WAIjFuS,EAAoBrT,GAAS+K,EAAAA,gBAAgBC,YAAYhL,IAC3DlN,EAAAA,cAACuP,EAAcvM,OAAAC,OAAA,GACP,CACAiK,MAAAA,EACAC,aAAchM,KAAKuM,qBACnBN,eAAgBjM,KAAKT,MAAMqN,QAAQC,QACnC/B,iBAAkB9K,KAAK8K,iBACvBc,KAAgF,SAAzE5L,KAAKT,MAAM4B,OAAmCke,uBAAoC,OAAS,YAIxGC,EAAmB/I,GACrB1X,EAAAA,cAACqN,EAAAA,GAA0B,CACvBI,KAAMiK,EACNlY,UAAU,yBACV8N,UAAW,CAAEgC,OAAQnO,KAAKsW,sBAAuBrK,eAAgBjM,KAAKT,MAAMqN,QAAQC,WAI5F,IAAI0S,EAGAA,EADA3G,GAASA,EAAMW,gBAAkBX,EAAMW,cAAciG,iBAAmBxf,KAAKT,MAAM4B,OAAOqe,gBACjEpe,EAAAA,EAAA,GAClBwX,MAAAA,OAAK,EAALA,EAAOW,eAAa,IACvBiG,gBAAiBxf,KAAKT,MAAM4B,OAAOqe,kBAGX5G,MAAAA,OAAK,EAALA,EAAOW,cAGvC,MAAMkG,EAAa,CACfnG,aAAqD,QAAzC2C,EAAEjc,KAAKT,MAAMqN,QAAQC,QAAQyM,oBAAY,IAAA2C,EAAAA,EAAI,GACzD1C,cAAegG,GAGbG,EACF7gB,EAAAA,cAACqN,EAAAA,GAAcrK,OAAAC,OAAA,GACP8W,EACA6G,EAAU,CACdxT,eAAgBjM,KAAKT,MAAMqN,QAAQC,QACnC8S,oBAAoB,EACpBxT,UAAW,CACP/M,IAA4B,QAAzB6f,EAAEjf,KAAKT,MAAM4B,OAAOyX,aAAK,IAAAqG,EAAAA,EAAI,GAChChT,eAAgBjM,KAAKT,MAAMqN,QAAQC,QACnC+S,WAAY5f,KAAKT,MAAMmF,SACvBmb,kBAAmB,QACnBC,SAAU9f,KAAKT,MAAMpB,GACrB4hB,OAAS/f,KAAKT,MAAM4B,OAAmCke,wBAE3DW,uBAAqB,KAIvBC,EAA8DjgB,KAAKT,MAAM4B,OAAOqe,gBAChF,CAAEA,gBAAiBxf,KAAKT,MAAM4B,OAAOqe,sBACrC9b,EAEN,IAAKyb,IAAsBG,IAAqBF,EAE5C,OADApf,KAAKT,MAAMqN,QAAQI,UAAU8G,MAAM,uDAC5B,KAEX,MAAMoM,EAAqB9e,EAAAA,EAAA,GACpBpB,KAAKT,OAAK,IACbwK,MAAOoV,EACP7S,KAAMgT,EACN1G,MAAO8G,EACP3T,MAAOqT,EACPe,YAAangB,KAAKT,MAAM4B,OAAO9C,UAC/B+hB,sBAAuB,CACnB9e,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAW,mBAAoBlD,GAC1C+S,MAAO6O,GAEXI,eAAgB,CAAEhiB,UAAW,2BAC7BiiB,iBAAkB,CAAEjiB,UAAW,6BAC/BkiB,sBAAuB,CACnBrS,IAAK,IACL7P,UAAW,yBACXuN,KAAM,QAEV4U,UAAWxgB,KAAKygB,gBAChBvB,eAAAA,EACAT,kBAAmBD,EAA8B,CAC7CvS,eAAgBjM,KAAKT,MAAMqN,QAAQC,QACnC4R,kBAAmBze,KAAKT,MAAM4B,OAAOsd,kBACrCV,2BAA4B/d,KAAK+d,2BACjC2C,gCAAiC1gB,KAAK0gB,gCACtCrC,+BAAgCre,KAAKqe,iCAEzCsC,qBAAsB3gB,KAAK+d,2BAC3B6C,0BAA2B5gB,KAAK0gB,gCAChCrC,+BAAgCre,KAAKqe,iCAGzC,OAAOre,KAAKT,MAAM2B,WAAWgf,GAgC1BnC,2BAA2BjW,EAAehJ,GACzCkB,KAAKT,MAAM4B,OAAOsd,oBAClBze,KAAKT,MAAM4B,OAAOsd,kBAAkBnK,OAAOxM,IAAQrB,QAAU3H,EAAMsB,OAAOhC,OAI3EigB,+BAA+B7R,EAAmB1E,EAAehJ,GACpE,MAAM+hB,EACD7gB,KAAKT,MAAM4B,OAAOsd,mBACf3H,EAAAA,gBAAgBC,YAAY/W,KAAKT,MAAM4B,OAAOsd,oBAC9Cze,KAAKT,MAAM4B,OAAOsd,kBAAkBnK,OAAOxM,KAC/C,GACA+Y,EAAwB9U,QACxB8U,EAAwB9U,MAAMuI,OAAO9H,IAAYnB,SAAWvM,EAAMsB,OAAOhC,OAI1EsiB,gCAAgC5Y,EAAehJ,GAC9CkB,KAAKT,MAAM4B,OAAOsd,oBAClBze,KAAKT,MAAM4B,OAAOsd,kBAAkBnK,OAAOxM,IAAQkW,QAAUlf,EAAMsB,OAAOhC,OAI1EqiB,gBACJ,MAAM,UAAED,EAAS,MAAEzU,EAAK,iBAAE+U,GAAqB9gB,KAAKT,MAAM4B,OAC1D,MAAoB,kBAAhB2f,EACIN,MAAAA,GAAAA,EAAW9U,eACJ8U,EAAU9U,eACVK,GAAS+K,EAAAA,gBAAgBC,YAAYhL,IAAUA,EAAM,GAAGN,QACxDM,EAAM,GAAGN,QAAQC,eAErB,KAEJ,MAIf,qFClNA,MAAMqV,EAA2BtC,IAA8D,IAAAuC,EAC3F,OACIniB,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK2c,EAAkBE,uBACiB,QADIqC,EAC5CvC,EAAkBG,8BAAsB,IAAAoC,OAAA,EAAxCA,EAA0C9hB,KAAK4D,GAExCjE,EAAAA,cAAAA,EAAAA,SAAA,KACKiE,EAAK2D,QACN5H,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgB,EAAKwb,gCACVxb,EAAKwJ,KACNzN,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgB,EAAKyb,4BAA6Bzb,EAAKiJ,aAyD7E,EAhD2DxM,IACvD,MAAM,sBACF6gB,EAAqB,eACrBC,EAAc,iBACdC,EAAgB,MAChBvW,EAAK,KACLuC,EAAI,MACJP,EAAK,MACL6M,EAAK,sBACL2H,EAAqB,UACrBC,EAAS,eACTtB,EAAc,kBACdT,GACAlf,EAEJ,OAAIihB,EAEI3hB,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKse,GACRvhB,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GACGye,EAAqB,CACzBpI,KAAMqI,EACNniB,UAAWkiB,EAAwBA,EAAsBliB,UAAY,GAAE,aAC3D6gB,IAEZrgB,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKue,GAAiBzH,IAE/B/Z,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKwe,GACLvW,EACAuC,EACAP,EACA0S,GAAqBsC,EAAwBtC,KAM1D5f,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKse,GACRvhB,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKue,GAAiBzH,GAC3B/Z,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKwe,GACLvW,EACAuC,EACAP,EACA0S,GAAqBsC,EAAwBtC,0JC5D9D,MAAMwC,EAAqB,kDACrBC,EAAmB,GAAGD,aACtBE,EAAsB,GAAGF,iBAoElBG,EAAyHlV,EAAAA,GAA0BmV,gBAG9J,kDAAmD,CAAEC,UAnCnD/hB,IAEA,MAAM,UACFX,EACA2B,MAAM,YAAEghB,GAAa,UACrBC,EAAS,eACTC,EAAc,aACdC,GACAniB,EAEEoiB,EAAaJ,MAAAA,OAAW,EAAXA,EAAa9d,OAC1Bme,EAAiB,IAAID,KAA6B,IAAfA,EAAmB/iB,MAAAA,OAAS,EAATA,EAAWijB,gBAAkBjjB,MAAAA,OAAS,EAATA,EAAWkjB,oBAEpG,OACIjjB,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAWkD,GAAAA,CAAWhC,EAAMlB,UAAW4iB,KACxCO,MAAAA,OAAS,EAATA,EAAWlV,OACRzN,IAAAA,cAACqN,EAAAA,GAAarK,OAAAC,OAAA,GACN0f,EAAS,CACbnjB,UAAW6iB,EACXhT,IAAKsT,EAAUtT,KAAO,KACtB/B,UAAW,CAAEgC,OAAQ5O,EAAMf,SAAUyN,eAAgB1M,EAAMqN,QAAQC,YAG1E4U,GAAkB5iB,IAAAA,cAAA,QAAMR,UAAW8iB,GAAsBS,GACzDF,mLC7DN,MAAMK,EAAaA,CAAC1jB,EAAmBD,IACnCS,EAAAA,cAAA,OAAKR,UAAWA,GAAYD,GAS1B4jB,EAAmBA,CAACC,EAA8BC,IACpDD,GAAwBpjB,EAAAA,cAAA,OAAKR,UAAW6jB,GAAwBD,GAW9DE,EAA8BA,CACvCvjB,EACAwjB,EACAC,EACAC,KAEA,MAAM,8BAAEC,EAA6B,2BAAEC,EAA0B,0BAAEC,GAA8B7jB,EAC3FmR,EAAkBwS,EAClBG,EAAsBF,EACtBG,EAAqBF,EAC3B,OACI5jB,EAAAA,cAAA,OAAKR,UAAWikB,GACXvS,EACDlR,EAAAA,cAAA,KAAGR,UAAWgkB,EAAqBlK,KAAMiK,GACpCO,GAEJD,IAoFAE,EAAqBC,GACvBhkB,EAAAA,cAAA,OAAKR,UAAU,+CAA+CwkB,GCrGzE,IAAqBC,EAArB,cAAmEjkB,EAAAA,UAC/DS,YAAmBC,GACfC,MAAMD,GAGHqB,sBAAsBC,GACzB,OAAIb,KAAKT,QAAUsB,EAMhBG,SACH,OACInC,EAAAA,cAAA,OAAKR,UAAU,qDACV2B,KAAK+iB,kCAAkCC,qBACvChjB,KAAK+iB,kCAAkCE,qBACvCjjB,KAAK+iB,kCAAkCG,sBAS5CH,kCACJ,MAAO,CACHC,qBAAsBjB,EAAW/hB,KAAKT,MAAM4jB,8BAA+BnjB,KAAKT,MAAMyjB,sBACtFE,qBACIrkB,EAAAA,cAAA,OAAKR,UAAU,mEACXQ,EAAAA,cAAA,SACIsG,KAAMnF,KAAKT,MAAM6jB,UACjB5kB,SAAUwB,KAAKT,MAAMf,SAAQ,aACjBwB,KAAKT,MAAMiM,UACvBpN,MAAO4B,KAAKT,MAAMnB,MAClBiH,KAAMrF,KAAKT,MAAM8F,QAI7B4d,qBACIpkB,EAAAA,cAAA,OAAKR,UAAU,kEACT2B,KAAKT,MAAM8jB,2BAA2E,GAA9CrjB,KAAKT,MAAM+jB,qCA1CpDR,GAAqCthB,EAAAA,EAAAA,IAAA,CADzDyC,EAAAA,IACoB6e,GA+CpB,UC5CD,IAAqBS,EAArB,cAAyD1kB,EAAAA,UACrDS,YAAmBC,GACfC,MAAMD,GAGHqB,sBAAsBC,GACzB,OAAIb,KAAKT,QAAUsB,EAMhBG,SACH,OACInC,EAAAA,cAAA,OAAKR,UAAW2B,KAAKT,MAAMlB,WACtB2B,KAAKwjB,wBAAwB7d,MAC7B3F,KAAKwjB,wBAAwB1P,MAC7B9T,KAAKwjB,wBAAwB9P,OASlC8P,wBACJ,MAAO,CACH7d,MAAOoc,EAAW/hB,KAAKT,MAAMkkB,0BAA2BzjB,KAAKT,MAAMmkB,kBACnEhQ,MACI7U,EAAAA,cAAA,OAAKR,UAAU,wDACXQ,EAAAA,cAAA,SACIyE,IAAKtD,KAAKT,MAAMokB,eAChBxe,KAAMnF,KAAKT,MAAM6jB,UACjB5kB,SAAUwB,KAAKT,MAAMf,SAAQ,aACjBwB,KAAKT,MAAMiM,UACvBpN,MAAO4B,KAAKT,MAAMnB,MAClBiH,KAAMrF,KAAKT,MAAM8F,QAI7ByO,MACIjV,EAAAA,cAAA,OAAKR,UAAW2B,KAAKT,MAAMqkB,qBACtB5jB,KAAKT,MAAMskB,iBAAmB7jB,KAAKT,MAAMukB,YAAY9jB,KAAKT,MAAM8F,MAAQ,GACxErF,KAAKT,MAAMwkB,kBAAoB/jB,KAAKT,MAAMukB,YAAY9jB,KAAKT,MAAM8F,MAAQ,OA5CzEke,GAA2B/hB,EAAAA,EAAAA,IAAA,CAD/CyC,EAAAA,IACoBsf,GAiDpB,+kBCrCD,IAAKS,GAAL,SAAKA,GACDA,EAAA,cACAA,EAAA,0BAFJ,CAAKA,IAAAA,EAAuB,KAsC5B,MAAMC,UAAoBplB,EAAAA,cAetBS,YAAmBC,GACfC,MAAMD,GAXH,KAAA2kB,cAAwB,EAMvB,KAAAC,oBAA8B,EAE9B,KAAAC,0BAAqD,GAoLtD,KAAA/N,iBAAoBvX,IACvBkB,KAAKT,MAAM4B,OAAOsF,QAAS6F,KAAOxN,EAAMsB,OAAOhC,OAO5C,KAAAkY,sBAAyBxX,IAC5B,MAAM,OAAEqC,GAAWnB,KAAKT,MACxB4B,EAAOoV,UAAYzX,EAAMsB,OAAOhC,OAepB,KAAAimB,aAAe,KAC3B,MAAM,OAAEljB,EAAM,QAAEyL,GAAY5M,KAAKT,OAC3B,cAAEiO,GAAkBZ,GACpB,qBAAEf,EAAoB,YAAEyY,EAAW,MAAE1U,GAAU5P,KAAKe,MACpDwjB,EAAmB3U,GACnB,gCAAE4U,GAAoCrjB,EACtCsjB,OAAsD/gB,IAApC8gB,EAAgDA,EAAkC,GAE1G,GADyBxkB,KAAK0kB,2BACjB,CAAC,IAADC,EACT,MAAMC,EAAqCpX,EACrCqX,EAA0E,QAA1DF,EAAGzY,EAAAA,GAAoB,eAAgB0Y,UAAmB,IAAAD,EAAAA,EAAI,GACpF,GAAIE,EAAkB,CAClB,MAAMC,EAAU,IAAI5M,IAAI7I,OAAOzJ,SAASmf,QAClCC,EAAc,IAAI9M,IAAI2M,EAAkBC,GACxCG,EAAmBD,EAAY5M,aAErC6M,EAAiB5M,IAAI,iBAAkBiM,GACvCW,EAAiB5M,IAAI,eAAgBoM,GACrCQ,EAAiB5M,IAAI,gBAAiBkM,GAElCzN,EAAAA,gBAAgBC,YAAYlL,IAC5BA,EAAqB3M,KAAI,CAAC4D,EAAMgF,KAC5B,MAAMod,EAAaC,EAAAA,iBAAiBC,mBAAmBtiB,EAAK0I,WAEtD,GADA1I,EAAK0I,UAAU6Z,QAAQ,IAAK,IAAIC,oBAEhCC,EAAcJ,EAAAA,iBAAiBC,mBAAmBtiB,EAAKyiB,YAAgC,GAAlBziB,EAAKyiB,WAGhF,OAFAN,EAAiB5M,IAAI,QAAQvQ,EAAQ,QAASod,GAC9CD,EAAiB5M,IAAI,QAAQvQ,EAAQ,SAAUyd,GACxCziB,KAIfuM,OAAOzJ,SAAS9D,OAAOkjB,EAAYQ,eAS/B,KAAAhnB,SAAYM,IAAoD,IAAA2mB,EAAAC,EAC5E,MAAM,qBAAE7Z,GAAyB7L,KAAKe,OAChC,OAAEI,GAAWnB,KAAKT,OAClB,gCAAEilB,GAAoCrjB,EACtCkE,EAAOvG,EAAMsB,OAAOiF,MAAQ,GAC5BjH,EAAQU,EAAMsB,OAAOhC,OAAS,GACpC4B,KAAKmkB,oBAAsBgB,EAAAA,iBAAiBC,mBAAmD,QAAjCK,EAACzlB,KAAK2lB,oBAAoB3hB,eAAO,IAAAyhB,OAAA,EAAhCA,EAAkCrnB,OACjG4B,KAAKkkB,cAAgBiB,EAAAA,iBAAiBC,mBAA6C,QAA3BM,EAAC1lB,KAAK4lB,cAAc5hB,eAAO,IAAA0hB,OAAA,EAA1BA,EAA4BtnB,OAExB,UAAzDomB,MAAAA,OAA+B,EAA/BA,EAAiCc,uBACjCtlB,KAAKkkB,cAAe,GAGxBlkB,KAAK2b,SAAS,CAAEsG,qBAAsB,KACtC,MAAM4D,EAA2D,GACjE,IAAIC,GAAkC,EAClCC,GAA4C,EAEhD,IAAK,MAAMjjB,KAAQ+I,EAAsB,CACrC,MAAMqZ,EAAoBpiB,EAAK0I,UAAU6Z,QAAQ,IAAK,IAClDH,EAAUI,sBAAwBjgB,EAAKigB,oBACvCO,EAAyB/Z,KAAK,CAC1Bka,UAAWljB,EAAKkjB,UAChBC,kBAAkB,EAClBV,WAAYnnB,EACZoN,UAAW1I,EAAK0I,UAChB0a,4BAA6BpjB,EAAKojB,8BAGtCL,EAAyB/Z,KAAK,CAC1Bka,UAAWljB,EAAKkjB,UAChBC,iBAAkBnjB,EAAKmjB,iBACvBV,WAAYziB,EAAKyiB,WACjB/Z,UAAW1I,EAAK0I,UAChB0a,4BAA6BpjB,EAAKojB,8BAGtChB,EAAUI,uBAAwBd,MAAAA,OAA+B,EAA/BA,EAAiCc,uBACnES,GAAmC,GAI3C,IAAK,MAAMnhB,KAASihB,EACZV,EAAAA,iBAAiBC,mBAAmBxgB,EAAM2gB,cAC1CO,GAAyB,GAMjC,GAFA9lB,KAAK2b,SAAS,CAAE9P,qBAAsBga,KAEjCE,EACD,OAAQ1gB,EAAKigB,qBACT,KAAKtB,EAAwBmC,YACzBnmB,KAAK2b,SAAS,CACV2I,YAAalmB,EACbgoB,kBAAkB,EAClBC,YAAY,IAEhB,MAEJ,KAAKrC,EAAwBpU,MACzB5P,KAAK2b,SAAS,CACV/L,MAAOxR,EACPkoB,cAAc,EACdC,mBAAmB,EACnBF,YAAY,IAEhB,MAEJ,QACIrmB,KAAK2b,SAAS,CAAE0K,YAAY,IAMpCrmB,KAAKmkB,oBACLnkB,KAAKkkB,cACL4B,GACA9lB,KAAKe,MAAMylB,qBACVxmB,KAAKe,MAAM0lB,6BAEZzmB,KAAK2b,SAAS,CAAE+K,YAAY,IAE5B1mB,KAAK2b,SAAS,CAAE+K,YAAY,KAwBnB,KAAAC,aAAgBtoB,IAC7B,MACIO,WAAW,uCAAEgoB,EAAsC,oCAAEC,IACrD7mB,KAAKT,OAEH,aAAE+mB,EAAY,MAAE1W,EAAK,kBAAE2W,EAAiB,WAAEF,GAAermB,KAAKe,MAChEulB,IACAtmB,KAAK8mB,qBAAuBD,IAG3B1B,EAAAA,iBAAiB4B,cAAcnX,IAAU2W,IAC1CvmB,KAAKgnB,4BAA8BJ,GAGvC,MAAMK,EAAiBZ,EACjBa,EAAoBX,EACpBY,EAAoB9oB,EAAUinB,sBAAwBtB,EAAwBpU,MACpF,OACI/Q,EAAAA,cAAAA,EAAAA,SAAA,KACKooB,GACGpoB,EAAAA,cAAA,QAAMR,UAAW,GAAGA,WAAoBuN,KAAK,SACxC5L,KAAK8mB,sBAGbI,GAAqBC,GAClBtoB,EAAAA,cAAA,QAAMR,UAAW,GAAGA,WAAoBuN,KAAK,SACxC5L,KAAKgnB,+BAYT,KAAAI,wBAA2B/oB,IACxC,MACIO,WAAW,6CAAEyoB,EAA4C,oCAAER,IAC3D7mB,KAAKT,OAEH,iBAAE6mB,EAAgB,WAAEC,GAAermB,KAAKe,MAC9C,OACIlC,EAAAA,cAAAA,EAAAA,SAAA,KACKwnB,GACGxnB,EAAAA,cAAA,QAAMR,UAAW,GAAGA,WAAoBuN,KAAK,SACxCib,GAGRT,GACGvnB,EAAAA,cAAA,QAAMR,UAAW,GAAGA,WAAoBuN,KAAK,SACxCyb,KAkCJ,KAAAC,wBAA0B,KACvC,MAAM,MAAE1X,EAAK,aAAE0W,EAAY,kBAAEC,GAAsBvmB,KAAKe,OAEpDI,QAAQ,gCAAEqjB,GACV5lB,WAAW,sBAAE2oB,EAAqB,0BAAEC,IACpCxnB,KAAKT,MAET,OAAQilB,GACJ,IAAI,OACA,OACJ,IAAI,QACJ,QACI,OACI3lB,EAAAA,cAAC0kB,EAA2B,CACxBI,eAAgB3jB,KAAK4lB,cACrBpa,UAAWgc,EACXnpB,UAAU,yCACV+kB,UAAU,OACVhlB,MAAOwR,EACPvK,KAAM2e,EAAwBpU,MAC9B8T,iBAAkB6D,EAClB9D,0BAA0B,sDAC1BG,oBAAoB,4DACpBC,iBAAkByC,EAClBvC,kBAAmBwC,EACnBzC,YAAa9jB,KAAK2mB,aAClBnoB,SAAUwB,KAAKxB,aAUlB,KAAAipB,2BAA6B,KAC1C,MAAM5B,EAA2D,GACjE,IAAK,MAAM/iB,KAAQ9C,KAAKe,MAAM8K,qBAAsB,CAChD,MAAM6b,GAAyBvC,EAAAA,iBAAiBC,mBAAmBtiB,EAAKyiB,cH/f7ClgB,EG+fmFvC,EAAKyiB,WH9f7G,IAAIoC,OAAO,2BAA4B,KACxCC,KAAKviB,IG8fVwgB,EAAyB/Z,KAAK,CAC1Bka,UAAWljB,EAAKkjB,UAChBC,iBAAkByB,EAClBnC,WAAYziB,EAAKyiB,WACjB/Z,UAAW1I,EAAK0I,UAChB0a,4BAA6BpjB,EAAKojB,8BHrgBX7gB,IAAAA,EGwgB/B,OAAOwgB,GAOM,KAAAnB,yBAA2B,KACxC,MAAM,OAAEvjB,GAAWnB,KAAKT,OAClB,YAAE+kB,EAAW,MAAE1U,GAAU5P,KAAKe,OAC9B,gCAAEyjB,GAAoCrjB,EAC5C,IAAI0kB,EAA2D,GAC3DgC,GAAU,EACVC,GAAY,EAEhB,GAAIhR,EAAAA,gBAAgBC,YAAY/W,KAAKe,MAAM8K,sBAAuB,CAC9Dga,EAA2B7lB,KAAKynB,6BAChC,IAAK,MAAM3kB,KAAQ+iB,EACV/iB,EAAKmjB,mBACN6B,GAAY,GAIhBA,GACA9nB,KAAK2b,SAAS,CACV9P,qBAAsBga,EACtBa,YAAY,IAyCxB,OApCIvB,EAAAA,iBAAiBC,mBAAmBd,GACpCtkB,KAAK2b,SAAS,CACVyK,kBAAkB,EAClBC,YAAY,EACZK,YAAY,IAETpC,EAAYyD,SAAWzD,EAC9BtkB,KAAK2b,SAAS,CACVyK,kBAAkB,EAClBC,YAAY,EACZK,YAAY,IAGe,UAA/BlC,GACAW,EAAAA,iBAAiBC,mBAAmBxV,GAEpC5P,KAAK2b,SAAS,CACV2K,cAAc,EACdD,YAAY,EACZK,YAAY,IAEsB,UAA/BlC,GHrkBU5U,CAAAA,GAClBQ,EAAAA,WAAWC,aAAauX,KAAKhY,GGokB0DoY,CAAapY,GAK5FkY,IAAc9nB,KAAKe,MAAMylB,oBAAsBxmB,KAAKe,MAAM0lB,6BACjEzmB,KAAK2b,SAAS,CACV+K,YAAY,KAGhB1mB,KAAK2b,SAAS,CACV+K,YAAY,IAEhBmB,GAAU,GAZV7nB,KAAK2b,SAAS,CACV4K,mBAAmB,EACnBG,YAAY,IAYbmB,GAxiBP7nB,KAAK2lB,oBAAsB9mB,EAAAA,YAC3BmB,KAAK4lB,cAAgB/mB,EAAAA,YACrB,MAAM,OAAEsC,GAAWnB,KAAKT,OAClB,kCAAE0oB,GAAsC9mB,EACxC0kB,EAA2D,GAEjE,GAAIoC,EACA,IAAK,MAAMnlB,KAAQmlB,EAAmC,CAAC,IAADC,EAAAC,EAAAC,EAClDvC,EAAyB/Z,KAAK,CAC1Bka,UAAyB,QAAhBkC,EAAEplB,EAAKkjB,iBAAS,IAAAkC,EAAAA,EAAI,GAC7BjC,kBAAkB,EAClBV,WAAY,GACZ/Z,UAAyB,QAAhB2c,EAAErlB,EAAK0I,iBAAS,IAAA2c,EAAAA,EAAI,GAC7BjC,4BAAmD,QAAxBkC,EAAEtlB,EAAKulB,yBAAiB,IAAAD,EAAAA,EAAI,KAKnEpoB,KAAKe,MAAQ,CACTujB,YAAa,GACb1U,MAAO,GACPwW,kBAAkB,EAClBE,cAAc,EACdC,mBAAmB,EACnBF,YAAY,EACZK,YAAY,EACZF,oBAAoB,EACpBC,8BAA8B,EAC9BxE,qBAAsB,GACtBpW,qBAAsBga,GAIvB7kB,SAAM,IAAAwV,EAAA8R,EACT,MACInnB,QAAQ,UAAEoV,EAAS,QAAE9P,GAAS,UAC9B7H,EAAS,QACTgO,GACA5M,KAAKT,OAEH,8BACFgpB,EAA6B,uBAC7BC,EAAsB,yBACtBC,EAAwB,4BACxBC,EAA2B,gCAC3BC,EAA+B,2BAC/BC,EAA0B,uCAC1B/F,GACAjkB,GAEE,qBAAEqjB,EAAoB,WAAEyE,EAAU,YAAEpC,EAAW,iBAAE8B,GAAqBpmB,KAAKe,MAE3E8nB,EAAc1D,EAAAA,iBAAiB4B,cAActgB,MAAAA,OAAO,EAAPA,EAAS6F,MAAQic,EAAgC9hB,MAAAA,OAAO,EAAPA,EAAS6F,KACvGwc,EAAyB,QAAftS,EAAG/P,MAAAA,OAAO,EAAPA,EAASyH,WAAG,IAAAsI,EAAAA,EAAI,KAE7BjI,EAAkB,kBAClBwa,EAAgC,2BAEhCC,EAA2B,iCAC3BC,EAA+C,GAAGD,iCAClDE,EAAiC,GAAGF,YACpCG,EAA4B,GAAGD,wBAC/BE,EAAiC,GAAGF,8BACpCG,EAAwB,GAAGL,YAE3B1G,EAA0B,mCAC1BgH,EAAsB,GAAGhH,0BAEzBiH,EACF1qB,EAAAA,cAACqN,EAAAA,GAAa,CACV7N,UAb4B,oCAc5B6P,IAAK4a,EACLxc,KAAMuc,EACN1c,UAAW,CAAEgC,OAAQnO,KAAKqW,iBAAkBpK,eAAgBjM,KAAKT,MAAMqN,QAAQC,WAIjFoB,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACbiqB,YAAa,CACTloB,YAAatB,KAAKT,MAClBlB,UAAWkQ,GAGfkb,qBAAsB,CAClBprB,UAAW0qB,GAEfW,oCAAqC,CACjCrrB,UAAW4qB,GAEf1S,UAAWA,GAAavW,KAAK2pB,iBAAiBpT,GAC9C9P,QAAS8iB,EAETK,4BAA6B5pB,KAAKsnB,0BAClCuC,gBAAiB,CACbxrB,UAAW2qB,EACX9a,IAAK,OACL,aAAcua,EACdpjB,KAAM,kBACNuG,KAAM,OACNke,aAAc,MACdrM,SAAUzd,KAAKqkB,cAEnB0F,iBACIlrB,EAAAA,cAAC0kB,EAA2B,CACxBI,eAAgB3jB,KAAK2lB,oBACrBna,UAAWmd,EACXtqB,UAAW6qB,EACX9F,UAAU,OACVhlB,MAAOkmB,EACPjf,KAAM2e,EAAwBmC,YAC9BzC,iBAAkBgF,EAClBjF,0BAA2B0F,EAC3BvF,oBAAqBwF,EACrBvF,kBAAkB,EAClBE,kBAAmBqC,EACnBtC,YAAa9jB,KAAKonB,wBAClB5oB,SAAUwB,KAAKxB,WAIvBwrB,aAAc,CACV3rB,UAAWgrB,EACXnb,IAAKgG,EAAAA,OACL,aAAc0U,EACdzjB,KAAM,SACNyG,KAAM,SACN7B,MAAOye,EACPvU,QAASjU,KAAKqkB,aACdtlB,SAAU2nB,GAGduD,sBAAuBzB,EACvBlW,aAAc0P,EAAiBC,EArEA,kCAsE/BiI,oBACMlqB,KAAKe,MAAMylB,oBAAsBxmB,KAAKe,MAAM0lB,+BAC9C7D,EAAkBC,GACtBsH,sBAAuBhI,EACnBvjB,EAC8B,QADrB0pB,EACT1b,EAAQC,QAAQud,KAAKhI,iBAAS,IAAAkG,EAAAA,EAAI,GAClCgB,EACAhH,GAEJ9jB,SAAUwB,KAAKxB,SACf6rB,OAAQrqB,KAAKqkB,aACbxY,qBAAsB7L,KAAKsqB,4BAE/B,OAAOtqB,KAAKT,MAAM2B,WAAW+M,GAG1B,0BAAuB,IAAAsc,EAAAC,EAC1B,MAAM,OAAErpB,EAAM,QAAEyL,GAAY5M,KAAKT,OAC3B,cAAEiO,GAAkBZ,GACpB,gCAAE4X,EAA+B,kCAAEyD,GAAsC9mB,EAC/E,IAAIspB,GAA6C,EAC7CC,GAAmC,EAEvC,MAAMC,QAAkCC,EAAAA,2BAAAA,+BAA0D,CAAEnP,cAAejO,IACnHxN,KAAKokB,0BACoH,QAD3FmG,EACmE,QADnEC,EAC1BG,EAA0BxqB,MAAK2C,GAA0B,sCAAlBA,EAAK+nB,kBAAiD,IAAAL,OAAA,EAA7FA,EAA+FM,8BAAsB,IAAAP,EAAAA,EAAI,GAE7H,MACMQ,EAA2E9C,MAAAA,EAAAA,EAAqC,GAEtHyC,EH5LgCM,EACpCC,EACA7G,KAEA,IAAI8G,GAAwB,EAC5B,IAAK,MAAMpoB,KAAQshB,EACf,GAAIthB,EAAKkW,KAAKsM,sBAAwB2F,EAA2B3F,oBAE7D,OADA4F,GAAe,EACRA,EAGf,OAAOA,GGiLuBF,CAHWxG,MAAAA,EAAAA,EAAmC,GAGCxkB,KAAKokB,2BAC9EqG,EH/J0CU,EAC9CC,EACAhH,KAEA,IAAIiH,GAAkC,EAYtC,OAXIvU,EAAAA,gBAAgBC,YAAYqU,GAC5BA,EAAsClsB,KAAI4D,IAAO,IAAAwoB,EAC7C,MAAMC,EAAgC,QAAxBD,EAAWxoB,EAAKyoB,gBAAQ,IAAAD,EAAAA,EAAI,GAI1C,OAHKD,IACDA,EAnBgCG,EAACptB,EAAegmB,KACpDA,EAA0BqH,MAAK3oB,GAAQA,EAAKkW,KAAKsM,sBAAwBlnB,EAAMknB,sBAkBlDkG,CAAiCD,EAAUnH,IAEjEiH,KAGXA,GAAyB,EAEtBA,GG+IiCF,CAChCJ,EACA/qB,KAAKokB,2BAETpkB,KAAK0rB,oBAAoBhB,EAAyBD,GAyB/CiB,oBAAoBR,EAAuBG,GAC9CrrB,KAAK2b,SAAS,CAAE6K,mBAAoB0E,EAAczE,6BAA8B4E,IAuI5E1B,iBAAiBrd,GACrB,MAAM,QAAEM,GAAY5M,KAAKT,OACnB,QAAEsN,GAAYD,EACpB,OAAKN,EAIDzN,EAAAA,cAACqN,EAAAA,GAA0B,CACvBI,KAAMA,EACNjO,UAAU,iCACV8N,UAAW,CAAEgC,OAAQnO,KAAKsW,sBAAuBrK,eAAgBY,KAN9D,KA4EPyd,0BACJ,MAAM,qBAAEze,GAAyB7L,KAAKe,MAChC4qB,EAAuC,GAC7C,IAAK,MAAM7oB,KAAQ+I,EAAsB,CACrC,MAAMxG,EAAevC,EAAK0I,UAAU6Z,QAAQ,IAAK,IACjDsG,EAAsB7f,KAClBjN,EAAAA,cAACikB,EAAqC,CAClCzkB,UAAWgH,EAAKigB,oBAChB9Z,UAAW1I,EAAK0I,UAChB4X,UAAU,OACVhlB,MAAO0E,EAAKyiB,WACZlgB,KAAMA,EAAKigB,oBACXtC,qBAAsBlgB,EAAKkjB,UAC3B7C,8BAA8B,2DAC9BE,2BAA4BvgB,EAAKmjB,iBACjC3C,iCAAkCxgB,EAAKojB,4BACvC1nB,SAAUwB,KAAKxB,YAI3B,OAAOmtB,GA8Hf,2HCzoBO,MAAMC,EAA4DrsB,IAAQ,IAAAssB,EAAAC,EAC7E,MAAM,YACFtC,EAAW,qBACXC,EAAoB,oCACpBC,EAAmC,QACnCjjB,EAAO,UACP8P,EAAS,gBACTsT,EAAe,4BACfD,EAA2B,iBAC3BG,EAAgB,aAChBzX,EAAY,aACZ0X,EAAY,qBACZne,EAAoB,sBACpBse,EAAqB,kBACrBD,GACA3qB,EACJ,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAK0nB,GACR3qB,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK2nB,GACLhjB,EACA8P,EACD1X,EAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAqC,QAA5BwtB,EAAEhC,MAAAA,OAAe,EAAfA,EAAiBxrB,iBAAS,IAAAwtB,EAAAA,EAAI,IAC1C9B,EACAH,EACA9S,EAAAA,gBAAgBC,YAAYlL,IACzBhN,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK4nB,GACL7d,EAAqB3M,KAAK4D,GACvBjE,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAI,IAAI0D,MAInConB,EACDrrB,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKkoB,EAAY,CAAE3rB,UAAkC,QAAzBytB,EAAE9B,MAAAA,OAAY,EAAZA,EAAc3rB,iBAAS,IAAAytB,EAAAA,EAAI,KACzDvsB,EAAM0qB,uBAEV3X,GAEJ6X,KAMjB,2KClCO,MAAM4B,EAAwE7tB,IAAA,IAAC,YAAE8tB,EAAW,SAAEC,EAAQ,UAAE5tB,GAAWH,EAAA,OACtHW,EAAAA,cAAA,MAAIR,UAAWA,GACXQ,EAAAA,cAAA,MAAIqtB,MAAM,OAENrtB,EAAAA,cAAA,QAAMstB,yBAAyBC,EAAAA,EAAAA,IAAgBJ,MAEnDntB,EAAAA,cAAA,UAAKotB,0kBCwBb,IAAMI,EAAN,cAAmCxtB,EAAAA,UAC/BS,YAAmBC,GACfC,MAAMD,GAoGH,KAAA8M,oBAAuBvN,IAC1BkB,KAAKT,MAAM4B,OAAOsF,QAAS6F,KAAOxN,EAAMsB,OAAOhC,OA8GlC,KAAAkuB,QAAWC,GAAqC,KACzDvsB,KAAKe,MAAMwrB,eAAiBA,EAC5BvsB,KAAK2b,SAAS,CAAE4Q,aAAAA,EAAcC,cAAc,IAE5CxsB,KAAK2b,SAAS,CAAE4Q,kBAAc7oB,EAAW8oB,cAAc,KAtN3DxsB,KAAKe,MAAQ,CACTyrB,cAAc,EACdC,6BAA6B,EAC7BF,kBAAc7oB,GAIf,0BACH,MAAM,QAAEkJ,EAAO,KAAErM,EAAI,UAAEyM,GAAchN,KAAKT,MACpCiY,EAAYtL,EAAAA,GAAsBlM,KAAKT,MAAMqN,QAAQC,UAC3D6f,EAAAA,EAAAA,mBAAkBlV,IAClBhX,EAAAA,EAAAA,KACI,IAAOD,EAAKosB,QAAQlsB,OAASF,EAAKosB,QAAQlsB,OAAOgX,SAAW,OAC5D,KACI,GAAI7K,GAAWrM,EAAKosB,QAAQlsB,OAAQ,CAChC,MAAMmsB,EAAc,IAAIC,EAAAA,kCACpBtsB,EAAKosB,QAAQlsB,OAAOgX,UAEnB7K,EAAQY,cAAcvB,eAAemN,YAAYoB,UAClDja,EAAKosB,QAAQlsB,OACb+W,IAGJsV,EAAAA,EAAAA,SAAgCF,EAAa5sB,KAAKT,MAAMqN,QAAQY,eAAeuf,OAAOjZ,IAClF9G,EAAU8G,MAAMA,EAAM/D,SACtB/C,EAAUggB,MAAM,2CAChBhgB,EAAU8G,MAAMA,EAAM/D,gBAOnCnP,sBAAsBC,EAA+CC,GACxE,OAAId,KAAKe,QAAUD,GAAad,KAAKT,MAAMgB,OAASM,EAAUN,KAM3DS,SAAM,IAAAwV,EACT,IAAIjW,EACJ,IACIA,EAAOP,KAAKT,MAAMgB,KACpB,MAAOuT,GAEL,OADA9T,KAAKT,MAAMyN,UAAU8G,MAAM,8BAA8BA,KAClDjV,EAAAA,cAAA,WAAMiV,GAGjB,IAAKvT,EAAK0sB,yBAAyBxsB,QAAUF,EAAK0sB,yBAAyBxsB,OAAOgD,QAAU,EAExF,OADAzD,KAAKT,MAAMyN,UAAU8G,MAAM,+DACpB,KAGX,MAAM,QAAErN,EAAO,UAAEpI,GAAc2B,KAAKT,MAAM4B,QACpC,yBAAE8rB,GAA6BjtB,KAAKT,MAAMgB,KAC1C2sB,EAA4C,cAA9BltB,KAAKT,MAAM4B,OAAOgsB,aAChClf,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACb6X,WAAYpX,KAAKqM,oBACjBggB,qBAAsB,CAClB/qB,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAW,2BAA4BlD,IAEtD+uB,+BAAgCF,EAC1B,CACI5rB,YAAatB,KAAKT,MAClBlB,UAAWkD,GAAAA,CAAW,sCAAuClD,IAEjE,CACIA,UAAWkD,GAAAA,CAAW,gEACtB2M,IAAK,SAEfgf,YAAAA,EACAG,mCAAoCH,EAC9B,GACA,CACI7uB,UAAW,GACX6P,IAAK,SAEfnE,OAAOtD,MAAAA,OAAO,EAAPA,EAAS6F,OACZzN,EAAAA,cAACqN,EAAAA,GAAa,CACV7N,UAAU,oCACV6P,IAAgB,QAAbsI,EAAE/P,EAAQyH,WAAG,IAAAsI,EAAAA,EAAI,KACpBlK,KAAM7F,EAAQ6F,KACdH,UAAW,CAAEgC,OAAQnO,KAAKqM,oBAAqBJ,eAAgBjM,KAAKT,MAAMqN,QAAQC,WAG1FygB,2BACIL,EAAyBxsB,SAAWysB,EAAcltB,KAAKutB,kBAAkBhtB,GAAQP,KAAKwtB,iBAAiBjtB,MAG/G,OAAOP,KAAKT,MAAM2B,WAAW+M,GAWzBuf,iBAAiBC,GAAkC,IAAAxR,EAAAyR,EACvD,MAAMC,EAAYF,EAAQR,yBAAyBxsB,OAAQvB,KAAI,CAACytB,EAAS7kB,KACrE,MAAMmkB,EAA+BjsB,KAAK4tB,mBAAmBjB,GAE7D,OAAKV,EAKDptB,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACktB,EAA4B,CACzB1tB,UAAU,sCACVe,IAAK0I,EACLkkB,YAAaW,EAAQ3T,KACrBiT,SAAUA,KATX,QAmBf,OAJkC,QAA9BhQ,EAAAjc,KAAKT,MAAMqN,QAAQC,QAAQghB,WAAG,IAAA5R,GAAQ,QAARA,EAA9BA,EAAgC9a,cAAM,IAAA8a,GAAtCA,EAAwC6R,kBAAmE,QAAnDJ,EAAI1tB,KAAKT,MAAMgB,KAAKwtB,yBAAyBttB,cAAM,IAAAitB,GAA/CA,EAAiDjqB,QAC7GkqB,EAAU7hB,KAAK9L,KAAKguB,gCAGjBL,EAGHJ,kBAAkBE,GAAkC,IAAAvR,EAAA+R,EACxD,MAAMC,EAAuC,CACzC5sB,YAAatB,KAAKT,MAClBlB,UAAW,kCAGT8vB,EAAUV,EAAQR,yBAAyBxsB,OAAQvB,KAAIytB,IAAU,IAAAyB,EACnE,MAAMnC,EAA+BjsB,KAAK4tB,mBAAmBjB,GAC7D,OAAKV,EAIDptB,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKosB,EAAsB,CAAE9uB,IAAKutB,EAAQlV,WAC7C5Y,EAAAA,cAACwvB,EAAAA,OAAM,CACHjvB,IAAKutB,EAAQlV,SACb6W,cAAe,CACXC,QAAS,EACT1d,OAAQ7Q,KAAKe,MAAMyrB,cAAgBxsB,KAAKe,MAAMwrB,eAAiBI,EAAQlV,UAE3EpZ,UAAU,mCACVmwB,UAAU,wCACVC,WAAW,yCACXC,eAAe,MACfC,iBAA8B,QAAdP,EAAEzB,EAAQ3T,YAAI,IAAAoV,EAAAA,EAAI,GAClCQ,SAAU5uB,KAAKssB,QAAQK,EAAQlV,WAE/B5Y,EAAAA,cAAA,OAAKR,UAAU,sBAAsB4tB,KAjBtC,QA2Bf,OAJkC,QAA9B/P,EAAAlc,KAAKT,MAAMqN,QAAQC,QAAQghB,WAAG,IAAA3R,GAAQ,QAARA,EAA9BA,EAAgC/a,cAAM,IAAA+a,GAAtCA,EAAwC4R,kBAAmE,QAAnDG,EAAIjuB,KAAKT,MAAMgB,KAAKwtB,yBAAyBttB,cAAM,IAAAwtB,GAA/CA,EAAiDxqB,QAC7G0qB,EAAQriB,KAAK9L,KAAKguB,gCAGfG,EAEHH,+BACJ,MAAME,EAAuC,CACzC5sB,YAAatB,KAAKT,MAClBlB,UAAW,kCAGf,OACIQ,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKosB,EAAsB,CAAE9uB,IAAK,4BACrCP,EAAAA,cAACwvB,EAAAA,OAAM,CACHjvB,IAAK,0BACLkvB,cAAe,CACXC,QAAS,EACT1d,OAAQ7Q,KAAKe,MAAM0rB,6BAEvBpuB,UAAU,mCACVmwB,UAAU,wCACVC,WAAW,yCACXC,eAAe,MACfC,iBAAkB3uB,KAAKT,MAAMX,UAAUiwB,wBACvCD,SAAUA,KACN5uB,KAAK2b,UAASmT,GAAS1tB,EAAAA,EAAA,GAChB0tB,GAAS,IACZrC,6BAA8BqC,EAAUrC,kCAIhD5tB,EAAAA,cAAA,OAAKR,UAAU,sBACXQ,EAAAA,cAAA,MAAIR,UAAU,wCACR2B,KAAKT,MAAMgB,KAAKwtB,yBAAyBttB,QAAU,IAAIvB,KAAI6vB,GACzDlwB,EAAAA,cAAA,MAAIO,IAAK2vB,EAAc1V,KACnBxa,EAAAA,cAAA,KAAGsZ,KAAM4W,EAAc1V,IAAK2V,UAAQ,GAC/BD,EAAcrV,gBAmB3CkU,mBAAmBjB,GACvB,OAAQA,EAAQsC,eACZ,KAAK,EAED,OAAOpwB,EAAAA,cAAA,aACX,KAAK,EACD,OAAOmB,KAAKkvB,oBAAoBvC,GACpC,KAAK,EACD,OAAO3sB,KAAKmvB,oBAAoBxC,GACpC,KAAK,EACD,OAAO3sB,KAAKovB,mBAAmBzC,GACnC,KAAK,EACD,OAAO3sB,KAAKqvB,mBAAmB1C,GACnC,KAAK,EACD,OAAO3sB,KAAKsvB,gBAAgB3C,GAChC,KAAK,EACD,OAAO3sB,KAAKuvB,qBAAqB5C,GACrC,KAAK,GAED,OADA3sB,KAAKT,MAAMyN,UAAUwiB,QAAQ,oEACtB,KACX,KAAK,GAED,OADAxvB,KAAKT,MAAMyN,UAAUwiB,QAAQ,oEACtB,KACX,QAEI,OADAxvB,KAAKT,MAAMyN,UAAUwiB,QAAQ,kCAAkC7C,EAAQsC,kCAChE,MAIXC,oBAAoBvC,GACxB,OAA8B,OAA1BA,EAAQ8C,oBAAoD/rB,IAA1BipB,EAAQ8C,cAEtC5wB,EAAAA,cAAA,YACK8tB,EAAQ+C,aACR/C,EAAQ8C,eAKd,KAGHN,oBAAoBxC,GAAuB,IAAAgD,EAC/C,OAA+B,QAA/BA,EAAIhD,EAAQiD,2BAAmB,IAAAD,GAA3BA,EAA6BE,YACtBhxB,EAAAA,cAAA,YAAO8tB,EAAQiD,oBAAoBC,eAGvC,KAGHR,mBAAmB1C,GACvB,OAA6B,OAAzBA,EAAQmD,mBAAkDpsB,IAAzBipB,EAAQmD,aAClCjxB,EAAAA,cAAA,YAAO8tB,EAAQmD,cAGnB,KAGHV,mBAAmBzC,GACvB,OAA2B,OAAvBA,EAAQoD,iBAA8CrsB,IAAvBipB,EAAQoD,WAChClxB,EAAAA,cAAA,YAAO8tB,EAAQoD,YAGnB,KAGHT,gBAAgB3C,GACpB,OAA0B,OAAtBA,EAAQqD,gBAA4CtsB,IAAtBipB,EAAQqD,UAE/BnxB,EAAAA,cAAA,QAAMstB,wBAAyBjgB,EAAAA,GAAyBygB,EAAQqD,aAGpE,KAGHT,qBAAqB5C,GAGzB,OAAIA,EAAQsD,aACDpxB,EAAAA,cAAA,YAAOmB,KAAKT,MAAMX,UAAUsxB,cAAgBlwB,KAAKT,MAAMX,UAAUsxB,cAAgB,OAErFrxB,EAAAA,cAAA,YAAOmB,KAAKT,MAAMX,UAAUuxB,eAAiBnwB,KAAKT,MAAMX,UAAUuxB,eAAiB,QA9S5F9D,GAAoB7qB,EAAAA,EAAAA,IAAA,CADzByC,EAAAA,IACKooB,GAkTN,2FC9VA,MAiBA,EAjB2E9sB,IACvE,MAAM,qBAAE8sB,EAAoB,+BAAEe,EAA8B,mCAAEC,EAAkC,2BAAEC,GAA+B/tB,EAC3H6wB,EACF9C,GACAxW,EAAAA,gBAAgBC,YAAYuW,IAC5BA,EAA2B+C,QAAOC,IAAQpV,EAAAA,iBAAiBC,kBAAkBmV,KAEjF,OAAOF,GAAWtZ,EAAAA,gBAAgBC,YAAYqZ,GAC1CvxB,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKuqB,GACP9sB,EAAMwK,MACPlL,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKsrB,GACNvuB,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKurB,GAAqC+C,KAGvD,msBCaD,MAAMG,UAAiB1xB,EAAAA,cAY1BS,YAAmBC,GACfC,MAAMD,GAZO,KAAAixB,mBAAuC7jB,EAAAA,EAAAA,oBACpD3M,KAAKT,MAAMqN,QAAQC,QAAQC,kBAC3B9M,KAAKT,MAAMwN,aACX/M,KAAKT,MAAMyN,WAEP,sBAAsBvG,GAC1B,OAAKA,GAAYA,EAAQ6F,OAAQ6Y,EAAAA,iBAAiBC,mBAAmB3e,EAAQ6F,MAGtEzN,EAAAA,cAAC4xB,EAAAA,QAAO,CAAC3H,WAAYriB,EAAQyH,IAAK5B,KAAM7F,EAAQ6F,KAAMjO,UAAU,wBAF5D,KAQR2C,SAAM,IAAA0vB,EACT,MAAM,UAAE9xB,GAAcoB,KAAKT,OACrB,MAAEwK,EAAK,UAAE1L,GAAc2B,KAAKT,MAAM4B,OAClCwvB,EAAgE,CAClEziB,IAAK0iB,EAAAA,oBACLvyB,UAAsC,QAA7BqyB,EAAE1wB,KAAKT,MAAM4B,OAAO9C,iBAAS,IAAAqyB,EAAAA,EAAI,GAC1CG,iBAAkBjyB,EAAUkyB,gBAC5BC,iBAAkBnyB,EAAUoyB,YAC5BC,SAAUjxB,KAAKT,MAAMpB,GACrB2M,iBAAkB9K,KAAKwwB,kBACvBU,UAAU,GAGRjjB,EAAS7M,EAAAA,EAAA,GACRpB,KAAKT,OAAK,IACbwK,MAAOwmB,EAASY,eAAepnB,GAC/BqnB,kCAAmCT,EACnCU,kBAAmB,CACfnjB,IAAK,KACL7P,UAAW,gBACXuN,KAAM,YAEV0lB,kBAAmB,CAAEjzB,UAAWkD,GAAAA,CAAW,eAAgBlD,IAC3DkzB,gBAAiB,CAAElzB,UAAW,yBAC9BmzB,MAAOxxB,KAAKT,MAAMkyB,MAAMhE,UAE5B,OAAOztB,KAAKT,MAAM2B,WAAW+M,IAIrC,iHCrEO,MAAMyjB,EAA6CnyB,IACtD,MAAM,MAAEwK,EAAK,MAAEynB,EAAK,kBAAEF,EAAiB,gBAAEC,EAAe,kBAAEF,EAAiB,kCAAED,GAAsC7xB,EACnH,OACIV,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKwvB,GACNzyB,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKyvB,GAAkBxnB,GAC5BlL,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKsvB,GACLI,EAAMtyB,KAAI,CAACyyB,EAAqB7pB,KAC7B,MAAM8pB,EAAW,mBAAmB9pB,IACpC,OACIjJ,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKuvB,EAAiB,CAAEjyB,IAAKwyB,IAC7BD,SAS7B,gHCtBO,MAAME,EAAwD3zB,IAAA,IAAC,UAClE4zB,EAAS,MACTnsB,EAAK,iBACLosB,EAAgB,YAChBC,EAAW,aACXC,EAAY,mBACZC,GACHh0B,EAAA,OACGW,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgwB,GACNjzB,EAAAA,cAAAA,EAAAA,SAAA,KACK8G,EACAusB,EACAH,EACAC,EACAC,KAKAE,EAAkDrsB,IAAA,IAAC,UAC5DgsB,EAAS,WACTM,EAAU,YACVC,EAAW,iBACXN,EAAgB,aAChBO,EAAY,sBACZC,EAAqB,cACrBC,EAAa,cACbC,EAAa,MACb3oB,EAAK,eACL4oB,EAAc,YACdV,EAAW,aACXC,GACHnsB,EAAA,OACGjH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgwB,GACNjzB,EAAAA,cAAAA,EAAAA,SAAA,KACKyzB,EACAC,EACAC,EACAC,EACAC,EACAN,EACAtoB,EACAuoB,EACAN,EACAC,EACAC,KAgBb,EAXwF1yB,IACpF,MAAM,wBAAEozB,EAAuB,iBAAEroB,EAAgB,YAAEsoB,EAAW,SAAEC,EAAQ,YAAEC,EAAW,MAAEhpB,GAAUvK,EACjG,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAK6wB,EAAuB,CAAErvB,IAAKgH,IACrCR,EACAgpB,EAAYC,SAAWH,GAAe/zB,EAAAA,cAACgzB,EAAWhwB,OAAAC,OAAA,GAAK8wB,KACtDE,EAAYC,SAAWF,GAAYh0B,EAAAA,cAACszB,EAAQtwB,OAAAC,OAAA,GAAK+wB,gRClDxD,MAAMG,EAA2D90B,IAAA,IAAC,sBACrE+0B,EAAqB,QACrBC,EAAO,UACPC,EAAS,YACTC,EAAW,YACXC,EAAW,MACXC,EAAK,OACLC,EAAM,mBACNtZ,GACH/b,EAAA,OACGW,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKmxB,GACLG,EACAF,EACAC,EACAE,EACAC,EACAC,EACAtZ,IAIIuZ,EAAsD1tB,IAAA,IAAC,cAChE2tB,EAAa,QACbhtB,EAAO,MACP6sB,EAAK,WACLI,EAAU,QACVC,EAAO,aACPC,GACH9tB,EAAA,OACGjH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK2xB,GACLhtB,EACA6sB,EACAI,EACAC,EACAC,IAIIC,EAAsC5tB,IAAA,IAAC,WAAE6tB,EAAU,SAAEC,EAAQ,gBAAEC,EAAe,WAAEC,GAAYhuB,EAAA,OACrGpH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgyB,GACLG,GACGp1B,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKkyB,GACLC,EAAW/0B,KAAIg1B,GACZr1B,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAK80B,EAAU3zB,KAAK2zB,UAAUttB,QAASstB,EAAUA,gBAOxEC,EAAwC7tB,IAAA,IAAC,YAAE8tB,EAAW,OAAEC,GAAQ/tB,EAAA,OACzEzH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKsyB,GACLC,EAAOn1B,KAAI,CAACo1B,EAAOxsB,IAChBjJ,EAAAA,cAACg1B,EAAiBhyB,OAAAC,OAAA,CAAC1C,IAAK0I,GAAWwsB,QAKlCC,EAAwCztB,IAAA,IAAC,YAAEqC,EAAW,QAAE1C,EAAO,gBAAEob,EAAe,aAAEH,GAAc5a,EAAA,OACzGjI,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKqH,GACL1C,EACAob,EACAH,IAII8S,EAA+CttB,IAAA,IAAC,gBACzDutB,EAAe,gBACfC,EAAe,OACfL,EAAM,iBACNM,EAAgB,qBAChBC,GACH1tB,EAAA,OACGrI,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK2yB,GACN51B,EAAAA,cAAA,WACK61B,EAAgBG,UAAYh2B,EAAAA,cAACA,EAAAA,SAAc,KAAE61B,EAAgBG,UAC9Dh2B,EAAAA,cAAA,WAAM61B,GAAmB71B,EAAAA,cAACm0B,EAA2BnxB,OAAAC,OAAA,GAAK4yB,MAE7DL,GAAUx1B,EAAAA,cAACs1B,EAAkBtyB,OAAAC,OAAA,GAAKuyB,IAClCO,EACAD,IAIIG,EAAoC1tB,IAAA,IAAC,UAAE2tB,EAAS,YAAExT,GAAana,EAAA,OACxEvI,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKizB,GACLxT,GAAeA,EAAYriB,KAAI,CAAC81B,EAAYltB,IAAUjJ,EAAAA,cAAC21B,EAAqB3yB,OAAAC,OAAA,CAAC1C,IAAK0I,GAAWktB,QAoCtG,EAhC2D1tB,IAAA,IAAC,kBACxD2tB,EAAiB,OACjBC,EAAM,MACNprB,EAAK,QACLlH,EAAO,aACPuyB,EAAY,mBACZC,EAAkB,KAClBC,EAAI,MACJC,EAAK,WACLC,GACHjuB,EAAA,OACGzI,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKmzB,GACPC,GAAUr2B,EAAAA,cAAC01B,EAAkB1yB,OAAAC,OAAA,GAAKozB,IAClCtyB,EACAkH,GACGjL,EAAAA,cAAAA,EAAAA,SAAA,KACKiL,EACAsrB,GAGRD,GACGt2B,EAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,6CACX82B,EACAC,GAGRC,GAAQx2B,EAAAA,cAACi2B,EAAgBjzB,OAAAC,OAAA,GAAKuzB,IAC9BC,EACAC,GAAcA,oGCxHvB,MAAMC,EAAkCC,IACpC,MAAMC,EAAgCD,GAA4C,gBAElF,OAAO52B,IAAAA,cAAA,OAAKR,UAAU,0CAA0Cq3B,IAYvDC,EAA+BA,CACxCF,EACAG,EACAr2B,EACAs2B,EACAC,IAEOv2B,EAAMw2B,oBACTl3B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKvC,EAAMy2B,iBACXR,EAA+BC,GAChC52B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKvC,EAAM02B,YACXJ,GAAwBC,GACvBD,GACEt2B,EAAMw2B,oBAAoBzpB,KAAKpN,KAAIoN,GACxBA,MAKvBzN,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKvC,EAAMy2B,iBACXR,EAA+BC,GAChC52B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKvC,EAAM02B,YACZp3B,IAAAA,cAAA,MAAIR,UAAU,+CAA+Cu3B,gBCpC7E,MA4BaM,EAAmC32B,GAExCV,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,wDACZQ,IAAAA,cAAA,OAAKR,UAAU,iEA/BgBkB,CAAAA,IACvC,MAAM42B,EAA8C52B,EAAM4B,OAAOg1B,oBACjE,OAAKA,GAAwBA,EAAoBjd,IAU7Cra,IAAAA,cAACoa,EAAAA,GAAK,CACFQ,QAAS0c,EAAoB1c,QAC7Bpb,UAAU,uDACVib,aAAc/Z,EAAMqN,QAAQC,QAAQyM,aACpCJ,IAAKid,EAAoBjd,IACzBjN,eAAgB1M,EAAMqN,QAAQC,QAC9B0M,cAbc,CAClB6c,UAAU,EACVC,UAAW,CACPC,GAAI,CAAEC,EAAG,IAAKC,EAAG,IAAKC,EAAG,4BALtB,MA4B6EC,CAAkCn3B,IAClHV,IAAAA,cAAA,OAAKR,UAAU,6DACXQ,IAAAA,cAAA,OAAKR,UAAU,wDAAwDkB,EAAMX,UAAU+3B,8BACvF93B,IAAAA,cAAA,OAAKR,UAAU,qDAAqDkB,EAAMX,UAAUg4B,yBCbvFC,EAAgBA,CACzBC,EACAC,EACAC,EACAC,EACAC,EACA33B,EACA43B,EACAC,KAEA,MAAMC,EACFx4B,IAAAA,cAACqV,EAAAA,OAAM,CACH7V,UAAU,+BAA8B,aAC5BkB,EAAMX,UAAU04B,mBAC5BrjB,QAASmjB,EACTjyB,KAAK,WAIb,OAAO8xB,EACHp4B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKi1B,GACLD,EAAKS,UACN14B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKk1B,GACLF,EAAKpjB,MACLyjB,GA5CSK,EAACN,EAA+BE,IAElDv4B,IAAAA,cAACqV,EAAAA,OAAM,CAAC7V,UAAU,iCAAiC0L,MAAOmtB,GAAyB,QAASjjB,QAASmjB,GAChGF,GAAyB,SAyCLM,CAAkBN,EAAuBE,GACxDD,EAAwD,KAAzCjB,EAAgC32B,KAIzDV,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKi1B,GACNl4B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKk1B,GACLF,EAAKW,UACLX,EAAKpjB,MACLyjB,GAAgBE,KCzD3BK,EAAiCC,IACnC,MAAMjC,EAAgCiC,GAAoC,WAE1E,OAAO94B,IAAAA,cAAA,OAAKR,UAAU,yCAAyCq3B,IActDkC,EAA8BA,CACvCC,EACAC,EACAH,EACA/B,EACAmC,EACAlC,EACAC,IAEOiC,EACHl5B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK+1B,GACLH,EAA8BC,GAC/B94B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKg2B,GACLjC,GAAwBC,GACvBD,GACEkC,EAAmBzrB,KAAKpN,KAAIoN,GACjBA,MAKvBzN,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK+1B,GACLH,EAA8BC,GAC/B94B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKg2B,GACNj5B,IAAAA,cAAA,MAAIR,UAAU,8CAA8Cu3B,KCtCtEoC,EAAiCC,IACnC,MAAMC,EAA+BD,GAAwD,WAE7F,OAAOp5B,IAAAA,cAAA,OAAKR,UAAU,yCAAyC65B,IA4B7DC,EAAgC54B,GAE9BV,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,sDACZQ,IAAAA,cAAA,OAAKR,UAAU,oDAvBgBkB,CAAAA,IACvC,MAAM42B,EAA8C52B,EAAM4B,OAAOg1B,oBACjE,OAAKA,GAAwBA,EAAoBjd,IAI7Cra,IAAAA,cAACoa,EAAAA,GAAK,CACFQ,QAAS0c,EAAoB1c,QAC7Bpb,UAAU,uDACVib,aAAc/Z,EAAMqN,QAAQC,QAAQyM,aACpCJ,IAAKid,EAAoBjd,MAPtB,MAoBgEwd,CAAkCn3B,IACrGV,IAAAA,cAAA,OAAKR,UAAU,4DAA4DkB,EAAMX,UAAUw5B,4BAC3Fv5B,IAAAA,cAAA,OAAKR,UAAU,gEACVkB,EAAMX,UAAUy5B,+BAgBpBC,EAA8BA,CACvCC,EACAC,EACAj5B,EACAk5B,EACA5C,EACAC,IAMO2C,EACH55B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKy2B,GACLP,EAA8Bz4B,EAAMX,UAAU85B,0BAC/C75B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK02B,GACL3C,GAAwBC,GACvBD,GACE4C,EAAmB7zB,MAAM1F,KAAI,CAAC4D,EAAMgF,KAAS,IAAA6wB,EACzC,OACI95B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgB,EAAK81B,UAAS,CAAEx5B,IAAY,QAATu5B,EAAE71B,EAAK3E,UAAE,IAAAw6B,EAAAA,EAAI7wB,IACtCjJ,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgB,EAAK+1B,UACV/1B,EAAKg2B,UACLh2B,EAAKwJ,KACLxJ,EAAKi2B,aAQlCl6B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKy2B,GACLP,EAA8Bz4B,EAAMX,UAAU85B,0BAC/C75B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK02B,GACN35B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GA3Ba,CAC1BoM,IAAK,KACL7P,UAAW,0BAyBmB85B,EAA6B54B,MCnF7Dy5B,EAAcA,CAACC,EAAiCC,KAClD,MAAMC,EAAmB,IAAIC,OAAOF,EAAWE,OAAO,MAChDC,EAA8BJ,GAC9BlrB,EAAAA,EAAAA,QAAOkrB,EAAyBE,GAChC,cAAcA,IAEpB,OAAOt6B,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,iCAAiCg7B,IAgM5D,EAvLI95B,IAEA,MAAM,OACF+5B,EAAM,qBACNC,EAAoB,yBACpBC,EAAwB,WACxBN,EAAU,YACVO,EAAW,eACXC,EAAc,eACdC,EAAc,UACdC,EAAS,UACTC,EAAS,KACT/C,EAAI,mBACJgD,EAAkB,mBAClBC,EAAkB,WAClBC,EAAU,YACVC,EAAW,MACXt0B,EAAK,QACLiH,EAAO,qBACPipB,EAAoB,cACpBC,EACAoE,WAAW,0BAAEC,IACb56B,GAEE,wBAAE05B,EAAuB,0BAAEmB,EAAyB,gBAAEzC,EAAe,aAAE/B,EAAY,sBAAEsB,GAA0B33B,EAAMX,WAEpHu6B,EAAkBkB,IAAuBC,EAAAA,EAAAA,aACzCC,EAAcC,IAAeF,EAAAA,EAAAA,WAAkB,IAEtDG,EAAAA,EAAAA,YAAU,KACNJ,EAAoBnB,KACrB,CAACA,IAKJ,MAAM9B,EAAcA,KAChBiD,EAAoB,IAEpB,MACMK,EADYn7B,EAAMu3B,KACSpjB,MAC3BinB,EAAyBD,EAAep3B,IAA0CU,QAEpF22B,IACAA,EAAsBv8B,MAAQ,IAGlCs8B,EAAet8B,MAAQ,GACvBmB,EAAM25B,WAAa,GACnB35B,EAAM06B,YAAYW,OAAS,IAGzBC,GAAmBC,EAAAA,EAAAA,cAAY,KACjC,MAAMC,EAAwF,QAAzE9D,EAAAA,EAAAA,UAAS,CAAE+D,QAASC,EAAAA,YAAYC,QAAStuB,QAASA,EAAQC,UAC/E2tB,EAAYO,KACb,CAACnuB,KAEJ6tB,EAAAA,EAAAA,YAAU,KACNprB,OAAO8rB,iBAAiB,SAAUN,GAClCA,MACD,CAACA,IAEJ,MAAMO,GAAWnE,EAAAA,EAAAA,UAAS,CAAE+D,QAASC,EAAAA,YAAYC,QAAStuB,QAASA,EAAQC,UAErEkuB,EAA4B,OAAbK,GAAkC,OAAbA,EAE1C3B,EAAYp7B,UAAa8mB,EAAAA,iBAAiB4B,cAAcoS,GAElD,GAAGM,EAAYp7B,iBADf,GAAGo7B,EAAYp7B,iBAErB,MAAM84B,GAAyBhS,EAAAA,iBAAiB4B,cAAcoS,GAE9D,OACIt6B,IAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAKw3B,GACP3zB,EACAkxB,EACGC,EACAkD,EACAC,EACAM,EACArD,EACA33B,EACA43B,EACAC,IAEF2D,GACEl8B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK23B,GACJtU,EAAAA,iBAAiB4B,cAAcoS,GAG7B,GAFAt6B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKy3B,GAAuBC,GAInCrU,EAAAA,iBAAiB4B,cAAcoS,GAyC7B,KAxCAt6B,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,2CACZQ,IAAAA,cAACqV,EAAAA,OAAM,CACH7V,UAAU,+BAA8B,aAC5BkB,EAAMX,UAAU04B,mBAC5BrjB,QAASmjB,EACTiE,OAAQlB,EACRh1B,KAAK,WAER6zB,EAAYC,EAAyBC,IAE1Cr6B,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,sCACZQ,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,4BACXs3B,EACGyE,EACAxE,EACAr2B,EACAs2B,EACAC,GAEH8B,EACG8B,EACAE,EACAjC,EACA/B,EACAkE,EACAjE,EACAC,IAGPwC,EACGqB,EACAE,EACAt6B,EACAw6B,EACAlE,EACAC,MAOvBiF,GAAgBx7B,EAAM+7B,sBACnBz8B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK23B,GACJtU,EAAAA,iBAAiB4B,cAAcoS,GAG7B,GAFAt6B,IAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKy3B,GAAuBC,GAInCrU,EAAAA,iBAAiB4B,cAAcoS,GAmC7B,KAlCAt6B,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,2CACVy4B,EAA8BS,UAC/ByB,EAAYC,EAAyBC,IAE1Cr6B,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,sCACZQ,IAAAA,cAAC8C,EAAAA,KAAI,CAACtD,UAAU,4BACXs3B,EACGyE,EACAxE,EACAr2B,EACAs2B,EACAC,GAEH8B,EACG8B,EACAE,EACAjC,EACA/B,EACAkE,EACAjE,EACAC,IAGPwC,EACGqB,EACAE,EACAt6B,EACAw6B,EACAlE,EACAC,mFC5LpC,MAsDMyF,EAA0Cj1B,IAAwC,IAAvC,MAAEqK,EAAK,UAAEG,EAAS,KAAEE,EAAI,QAAEjB,GAASzJ,EAChF,OACIzH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK6O,GACN9R,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKgP,GACLE,EACAjB,KAKXyrB,EAAwC10B,IAAkE,IAAjE,GAAE3I,EAAE,UAAEE,EAAS,KAAEiO,EAAI,UAAEd,EAAS,iBAAEV,EAAgB,QAAEmJ,GAASnN,EACxG,MAAMkE,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmBwB,GACvD3I,GAAa2H,EAAAA,EAAAA,wBAAuBR,EAAmBE,GAC7D,OACInM,EAAAA,cAAA,IAAAgD,OAAAC,OAAA,CAAG3D,GAAIA,EAAIE,UAAWA,EAAS,aAAcmN,EAAWyI,QAASA,GAAatQ,GACzE2I,IA4Eb,EA3CgF/M,IAC5E,MAAM,OACFk8B,EAAM,UACNjrB,EAAS,QACT5N,EAAO,mBACPuO,EAAkB,YAClBG,EAAW,cACXoqB,EAAa,cACbC,EAAa,qBACbC,EAAoB,mBACpBC,EAAkB,oBAClBC,EAAmB,qBACnBC,EAAoB,iBACpBC,EAAgB,kBAChBC,GACA18B,EAEJ,OACIV,EAAAA,cAAC+C,EAAAA,OAAMC,OAAAC,OAAA,GAAK25B,GACPjrB,EAAUC,eAAiB5R,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKqP,IACrCX,EAAUC,eAAiB5R,EAAAA,cAAC08B,EAAa15B,OAAAC,OAAA,GAAKc,IAC/C/D,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKwP,GACNzS,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK45B,GACLE,EA7H+B19B,CAAAA,IAA6E,IAA5E,aAAE8T,EAAY,MAAEpN,EAAK,eAAEs3B,EAAc,WAAEC,EAAU,MAAEroB,EAAK,aAAEsoB,GAAcl+B,EACzH,OACIW,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKkQ,GACLpN,GACGA,EAAM1F,KAAK4D,GAEHjE,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,CAAC1C,IAAK0D,EAAK1D,KAAS0D,EAAKyQ,SACzBzQ,EAAK6C,MACL7C,EAAKgR,MACLhR,EAAK4Q,SAIrBwoB,EACAC,EACAroB,EACAsoB,IA8GQpoB,CAAa6nB,GAzGoB/1B,CAAAA,IAA8B,IAA7B,eAAEu2B,EAAc,MAAEz3B,GAAOkB,EAC5E,OACIjH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKu6B,GACLz3B,GACGA,EAAM1F,KAAK4D,GAEHjE,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,CAAC1C,IAAK0D,EAAK1D,KAAS0D,EAAKiR,QACzBjR,EAAK8V,MACL9V,EAAKwJ,UAkGbgwB,CAAcR,IAEnBj9B,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAK65B,GACLI,EACAE,EAxDjB18B,CAAAA,IAEA,MAAM,UACFX,EAAS,UACToO,EAAS,aACTD,EACAH,SACIC,SAAS,kBAAEC,KAEfvN,EACEuL,GAAmB6B,EAAAA,EAAAA,oBAAmBG,EAAoBC,EAAcC,GAK9E,OACInO,EAAAA,cAAC28B,EAAY35B,OAAAC,OAAA,CACT3D,GAAG,iBANQ,CACfga,KAAM,KAMY,CACd9Z,UAAW,mCACXmN,UAAW5M,EAAU29B,yBACrBjwB,KAAM1N,EAAU49B,oBAChB1xB,iBAAkBA,MAmCT2xB,CAAal9B,IAElBV,EAAAA,cAAA,OAAKR,UAAU,wCACXQ,EAAAA,cAAA,OAAKR,UAAU,qDACXQ,EAAAA,cAAA,mBAnGwBoH,CAAAA,IAA8B,IAA7B,eAAEo2B,EAAc,MAAEz3B,GAAOqB,EACtE,OACIpH,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,GAAKu6B,GACLz3B,GACGA,EAAM1F,KAAK4D,GAEHA,GACIjE,EAAAA,cAAC8C,EAAAA,KAAIE,OAAAC,OAAA,CAAC1C,IAAK0D,EAAK1D,KAAS0D,EAAKiR,QACzBjR,EAAKwJ,UA6FjBowB,CAAWV","sources":["webpack://Msdyn365.Commerce.Online/./src/modules/nos-companytype-picker/components/sign-up-dropdown.tsx?a13d","webpack://Msdyn365.Commerce.Online/./src/modules/nos-companytype-picker/nos-companytype-picker.tsx?25d1","webpack://Msdyn365.Commerce.Online/./src/modules/nos-companytype-picker/nos-companytype-picker.view.tsx?3b31","webpack://Msdyn365.Commerce.Online/./src/modules/nos-country-picker/components/sign-up-dropdown.tsx?9e4e","webpack://Msdyn365.Commerce.Online/./src/modules/nos-country-picker/nos-country-picker.tsx?13f4","webpack://Msdyn365.Commerce.Online/./src/modules/nos-country-picker/nos-country-picker.view.tsx?9cf8","webpack://Msdyn365.Commerce.Online/./src/modules/nos-language-picker/components/sign-up-dropdown.tsx?87bb","webpack://Msdyn365.Commerce.Online/./src/modules/nos-language-picker/nos-language-picker.tsx?d9e9","webpack://Msdyn365.Commerce.Online/./src/modules/nos-language-picker/nos-language-picker.view.tsx?20f1","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/checkout-section-container.view.tsx?894e","webpack://Msdyn365.Commerce.Online/./src/themes/nos/views/checkout.view.tsx?906d","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-links.tsx?6c7f","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.tsx?7f29","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/account-loyalty-tile.view.tsx?3547","webpack://Msdyn365.Commerce.Online/./src/modules/account-loyalty-tile/components/account-loyalty-tile-description.tsx?c7bb","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.tsx?a0b5","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/account-profile-edit.view.tsx?530d","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-button.tsx?e669","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-error.tsx?eadf","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-input.tsx?5c72","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-label.tsx?4793","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-loading-icon.tsx?fba0","webpack://Msdyn365.Commerce.Online/./src/modules/account-profile-edit/components/account-profile-edit-loading-message.tsx?7cf0","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-description.tsx?3b33","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/components/account-organization-users-tile-links.tsx?f1c7","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.tsx?f5de","webpack://Msdyn365.Commerce.Online/./src/modules/organization-users-tile/organization-users-tile.view.tsx?bac2","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-button.tsx?a869","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-error.tsx?fbfd","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-input.tsx?20d9","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-label.tsx?6ef1","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-icon.tsx?8828","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/components/password-reset-loading-message.tsx?a980","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.tsx?0983","webpack://Msdyn365.Commerce.Online/./src/modules/password-reset/password-reset.view.tsx?b341","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.tsx?02aa","webpack://Msdyn365.Commerce.Online/./src/modules/catalog-picker/catalog-picker.view.tsx?1e13","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-confirmation.tsx?406f","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-error.tsx?e789","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.tsx?8686","webpack://Msdyn365.Commerce.Online/./src/modules/check-in-for-pickup/check-in-for-pickup.view.tsx?bd7a","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/additional-content.tsx?d5f9","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/components/links.tsx?abbf","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.tsx?3084","webpack://Msdyn365.Commerce.Online/./src/modules/content-block/content-block.view.tsx?1773","webpack://Msdyn365.Commerce.Online/./src/modules/order-history-with-search-and-filters/components/order-history-with-search-and-filters-header.component.tsx?3609","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/utilities/order-lookup-utility.tsx?c60b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-additional-fields.tsx?9951","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/components/order-lookup-fields.tsx?297b","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.tsx?72d3","webpack://Msdyn365.Commerce.Online/./src/modules/order-lookup/order-lookup.view.tsx?b8e5","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/components/product-specification-table-stucture.tsx?c1c4","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.tsx?6583","webpack://Msdyn365.Commerce.Online/./src/modules/product-specification/product-specification.view.tsx?7490","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.tsx?78cb","webpack://Msdyn365.Commerce.Online/./src/modules/tile-list/tile-list.view.tsx?1b00","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/checkout-customer-account-payment.view.tsx?0efc","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/order-history.view.tsx?692d","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.categorysuggest.tsx?6bcf","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.mobile.empty.tsx?ff32","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.form.tsx?d41a","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.keywordsuggest.tsx?2724","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/components/search.productsuggest.tsx?6616","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/search.view.tsx?bfa7","webpack://Msdyn365.Commerce.Online/./src/modules/adventureworks/views/sign-in.view.tsx?048a"],"sourcesContent":["/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpDropdownProps {\r\n id?: string;\r\n value: string;\r\n className: string;\r\n isRequired: boolean;\r\n options: IBusinessSignUpDropdownOption[];\r\n onChange: (event: React.ChangeEventHandler) => void;\r\n fieldReference?: React.RefObject;\r\n selectValue: IBusinessSignUpDropdownOption;\r\n isSubmittedPressed: boolean;\r\n resources: any;\r\n}\r\n\r\nexport interface IBusinessSignUpDropdownOption {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport const BusinessSignUpDropdown: React.FC = ({\r\n id,\r\n value,\r\n className,\r\n isRequired,\r\n options,\r\n onChange,\r\n fieldReference,\r\n selectValue,\r\n isSubmittedPressed,\r\n resources\r\n}) => {\r\n return (\r\n onChange(event)}\r\n >\r\n \r\n {options.map((option: IBusinessSignUpDropdownOption) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default BusinessSignUpDropdown;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable, reaction } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { INosCompanytypePickerData } from './nos-companytype-picker.data';\r\nimport { INosCompanytypePickerProps } from './nos-companytype-picker.props.autogenerated';\r\nimport BusinessSignUpDropdown from './components/sign-up-dropdown';\r\nimport { IGetAvailableCompanyTypeData } from '../../actions/get-available-company-types.action';\r\n\r\n/**\r\n * Interface for ICompanyTypesExtendedProps.\r\n */\r\nexport interface ICompanyTypePickerExtendedProps extends INosCompanytypePickerProps {\r\n updateDropdown(newSelectValue: IGetAvailableCompanyTypeData): void;\r\n selectedValue: IGetAvailableCompanyTypeData;\r\n isSubmittedPressed: boolean;\r\n}\r\n\r\n/**\r\n * Interface for ICompanyTypesState.\r\n */\r\nexport interface ICompanyTypePickerState {\r\n companyTypeId?: string;\r\n}\r\n\r\n/**\r\n * Interface for ICompanyTypesViewProps.\r\n */\r\nexport interface ICompanyTypePickerViewProps {\r\n className: string;\r\n CompanyTypePicker: IModuleProps;\r\n availableCompanyTypes: any;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component, ICompanyTypePickerState>}\r\n */\r\nclass NosCompanyTypePicker extends React.Component {\r\n @observable private availableCompanyTypes?: IGetAvailableCompanyTypeData[];\r\n\r\n public constructor(props: ICompanyTypePickerExtendedProps) {\r\n super(props);\r\n\r\n const { data } = this.props;\r\n\r\n this.availableCompanyTypes = data.availableCompanyTypes.result || [];\r\n }\r\n\r\n public componentDidMount(): void {\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ICompanyTypePickerExtendedProps, nextState: ICompanyTypePickerState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { renderView, config, selectedValue } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n className: config.className,\r\n CompanyTypePicker: {\r\n moduleProps: this.props,\r\n className: classnames('ms-business-account-address', config.className)\r\n },\r\n availableCompanyTypes: this._initializeDropdown(this.availableCompanyTypes ?? [], selectedValue)\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private readonly _initializeDropdown = (\r\n availableCompanyTypes: IGetAvailableCompanyTypeData[],\r\n selectedValue: IGetAvailableCompanyTypeData\r\n ) => {\r\n const tempOptions = availableCompanyTypes?.map(el => {\r\n return {\r\n key: el.key,\r\n value: el.value\r\n };\r\n });\r\n\r\n return (\r\n this._onInputChange(event, availableCompanyTypes)}\r\n selectValue={selectedValue}\r\n value={selectedValue?.value ?? ''}\r\n resources={this.props.resources}\r\n />\r\n );\r\n };\r\n\r\n private readonly _onInputChange = (\r\n event: React.ChangeEvent,\r\n availableCompanyTypes: IGetAvailableCompanyTypeData[]\r\n ) => {\r\n const newChosenLanguage = availableCompanyTypes.find(el => el.value === event.target.value);\r\n if (newChosenLanguage) {\r\n this.props.updateDropdown(newChosenLanguage);\r\n }\r\n };\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The account management props.\r\n */\r\n private readonly _dataInitialize = (props: ICompanyTypePickerExtendedProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.availableCompanyTypes.result,\r\n () => {\r\n this.availableCompanyTypes = data.availableCompanyTypes.result ?? [];\r\n }\r\n );\r\n };\r\n}\r\n\r\nexport default NosCompanyTypePicker;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICompanyTypePickerViewProps } from './nos-companytype-picker';\r\n\r\n/**\r\n * Update Component.\r\n * @param param0 - Root param.\r\n * @param param0.availableCountries\r\n * @returns - Node.\r\n */\r\nconst CompanyTypePickerNode: React.FC = ({ availableCompanyTypes }) => {\r\n return {availableCompanyTypes};\r\n};\r\n\r\n/**\r\n * View Component.\r\n * @param props - Props.\r\n * @returns - CompanyTypes Module.\r\n */\r\nconst NosCompanyTypePickerView: React.FC = props => {\r\n const { CompanyTypePicker, availableCompanyTypes } = props;\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NosCompanyTypePickerView;\r\n","/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpDropdownProps {\r\n id?: string;\r\n value: string;\r\n className: string;\r\n isRequired: boolean;\r\n options: IBusinessSignUpDropdownOption[];\r\n onChange: (event: React.ChangeEventHandler) => void;\r\n fieldReference?: React.RefObject;\r\n selectValue: IBusinessSignUpDropdownOption;\r\n isSubmittedPressed: boolean;\r\n resources: any;\r\n}\r\n\r\nexport interface IBusinessSignUpDropdownOption {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport const BusinessSignUpDropdown: React.FC = ({\r\n id,\r\n value,\r\n className,\r\n isRequired,\r\n options,\r\n onChange,\r\n fieldReference,\r\n selectValue,\r\n isSubmittedPressed,\r\n resources\r\n}) => {\r\n return (\r\n onChange(event)}\r\n >\r\n \r\n {options.map((option: IBusinessSignUpDropdownOption) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default BusinessSignUpDropdown;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable, reaction } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { INosCountryPickerData } from './nos-country-picker.data';\r\nimport { INosCountryPickerProps } from './nos-country-picker.props.autogenerated';\r\nimport BusinessSignUpDropdown from './components/sign-up-dropdown';\r\nimport { IGetAvailableLanguagesData } from '../../actions/get-available-languages.action';\r\n\r\n/**\r\n * Interface for ICountryPickerExtendedProps.\r\n */\r\nexport interface ICountryPickerExtendedProps extends INosCountryPickerProps {\r\n updateDropdown(newSelectValue: IGetAvailableLanguagesData): void;\r\n selectedValue: IGetAvailableLanguagesData;\r\n isSubmittedPressed: boolean;\r\n}\r\n\r\n/**\r\n * Interface for ICountryPickerState.\r\n */\r\nexport interface ICountryPickerState {\r\n countryId?: string;\r\n}\r\n\r\n/**\r\n * Interface for ICountryPickerViewProps.\r\n */\r\nexport interface ICountryPickerViewProps {\r\n className: string;\r\n CountryPicker: IModuleProps;\r\n availableCountries: any;\r\n // selectedCountry?: any;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component, ICountryPickerState>}\r\n */\r\nclass NosCountryPicker extends React.Component {\r\n @observable private availableCountries?: IGetAvailableLanguagesData[];\r\n\r\n public constructor(props: ICountryPickerExtendedProps) {\r\n super(props);\r\n\r\n const { data } = this.props;\r\n\r\n this.availableCountries = data.availableCountries.result || [];\r\n }\r\n\r\n public componentDidMount(): void {\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ICountryPickerExtendedProps, nextState: ICountryPickerState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { renderView, config, selectedValue } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n className: config.className,\r\n CountryPicker: {\r\n moduleProps: this.props,\r\n className: classnames('ms-business-account-address', config.className)\r\n },\r\n availableCountries: this._initializeDropdown(this.availableCountries ?? [], selectedValue)\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private readonly _initializeDropdown = (\r\n availableCountries: IGetAvailableLanguagesData[],\r\n selectedValue: IGetAvailableLanguagesData\r\n ) => {\r\n const tempOptions = availableCountries?.map(el => {\r\n return {\r\n key: el.key,\r\n value: el.value\r\n };\r\n });\r\n return (\r\n this._onInputChange(event, availableCountries)}\r\n selectValue={selectedValue}\r\n value={selectedValue?.value ?? ''}\r\n resources={this.props.resources}\r\n />\r\n );\r\n };\r\n\r\n private readonly _onInputChange = (event: React.ChangeEvent, availableCountries: IGetAvailableLanguagesData[]) => {\r\n const newChosenLanguage = availableCountries.find(el => el.value === event.target.value);\r\n if (newChosenLanguage) {\r\n this.props.updateDropdown(newChosenLanguage);\r\n }\r\n };\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The account management props.\r\n */\r\n private readonly _dataInitialize = (props: ICountryPickerExtendedProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.availableCountries.result,\r\n () => {\r\n this.availableCountries = data.availableCountries.result ?? [];\r\n }\r\n );\r\n };\r\n}\r\n\r\nexport default NosCountryPicker;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ICountryPickerViewProps } from './nos-country-picker';\r\n\r\n/**\r\n * @param param0 - Root param.\r\n * @param param0.availableCountries - Cancel button.\r\n * @returns .\r\n */\r\nconst CountryPickerNode: React.FC = ({ availableCountries }) => {\r\n return {availableCountries};\r\n};\r\n\r\n/**\r\n * Country Picker View Component.\r\n * @param props - Props.\r\n * @returns - Country Picker Module.\r\n */\r\nconst NosCountryPickerView: React.FC = props => {\r\n const { CountryPicker, availableCountries } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NosCountryPickerView;\r\n","/* eslint-disable no-duplicate-imports */\r\nimport * as React from 'react';\r\n\r\nexport interface IBusinessSignUpDropdownProps {\r\n id?: string;\r\n value: string;\r\n className: string;\r\n isRequired: boolean;\r\n options: IBusinessSignUpDropdownOption[];\r\n onChange: (event: React.ChangeEventHandler) => void;\r\n fieldReference?: React.RefObject;\r\n selectValue: IBusinessSignUpDropdownOption;\r\n isSubmittedPressed: boolean;\r\n resources: any;\r\n}\r\n\r\nexport interface IBusinessSignUpDropdownOption {\r\n key: string;\r\n value: string;\r\n}\r\n\r\nexport const BusinessSignUpDropdown: React.FC = ({\r\n id,\r\n value,\r\n className,\r\n isRequired,\r\n options,\r\n onChange,\r\n fieldReference,\r\n selectValue,\r\n isSubmittedPressed,\r\n resources\r\n}) => {\r\n return (\r\n onChange(event)}\r\n >\r\n \r\n {options.map((option: IBusinessSignUpDropdownOption) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default BusinessSignUpDropdown;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { IModuleProps } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { observable, reaction } from 'mobx';\r\nimport * as React from 'react';\r\n\r\nimport { INosLanguagePickerData } from './nos-language-picker.data';\r\nimport { INosLanguagePickerProps } from './nos-language-picker.props.autogenerated';\r\nimport BusinessSignUpDropdown from './components/sign-up-dropdown';\r\nimport { IGetAvailableLanguagesData } from '../../actions/get-available-languages.action';\r\n\r\n/**\r\n * Interface for ILanguagePickerExtendedProps.\r\n */\r\nexport interface ILanguagePickerExtendedProps extends INosLanguagePickerProps {\r\n updateDropdown(newSelectValue: IGetAvailableLanguagesData): void;\r\n selectedValue: IGetAvailableLanguagesData;\r\n isSubmittedPressed: boolean;\r\n}\r\n\r\n/**\r\n * Interface for ILanguagePickerState.\r\n */\r\nexport interface ILanguagePickerState {\r\n languageId?: string;\r\n}\r\n\r\n/**\r\n * Interface for ILanguagePickerViewProps.\r\n */\r\nexport interface ILanguagePickerViewProps {\r\n className: string;\r\n LanguagePicker: IModuleProps;\r\n availableLanguages: any;\r\n // selectedLanguage?: any;\r\n}\r\n\r\n/**\r\n *\r\n * Address component.\r\n * @extends {React.Component, ILanguagePickerState>}\r\n */\r\nclass NosLanguagePicker extends React.Component {\r\n @observable private availableLanguages?: IGetAvailableLanguagesData[];\r\n\r\n public constructor(props: ILanguagePickerExtendedProps) {\r\n super(props);\r\n\r\n const { data } = this.props;\r\n\r\n this.availableLanguages = data.availableLanguages.result || [];\r\n }\r\n\r\n public componentDidMount(): void {\r\n // Initializing data props\r\n this._dataInitialize(this.props);\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: ILanguagePickerExtendedProps, nextState: ILanguagePickerState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n const { renderView, config, selectedValue } = this.props;\r\n\r\n const viewProps = {\r\n ...this.props,\r\n className: config.className,\r\n LanguagePicker: {\r\n moduleProps: this.props,\r\n className: classnames('ms-business-account-address', config.className)\r\n },\r\n availableLanguages: this._initializeDropdown(this.availableLanguages ?? [], selectedValue)\r\n };\r\n\r\n return renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n private readonly _initializeDropdown = (\r\n availableLanguages: IGetAvailableLanguagesData[],\r\n selectedValue: IGetAvailableLanguagesData\r\n ) => {\r\n const tempOptions = availableLanguages?.map(el => {\r\n return {\r\n key: el.key,\r\n value: el.value\r\n };\r\n });\r\n\r\n return (\r\n this._onInputChange(event, availableLanguages)}\r\n selectValue={selectedValue}\r\n value={selectedValue?.value ?? ''}\r\n resources={this.props.resources}\r\n />\r\n );\r\n };\r\n\r\n private readonly _onInputChange = (event: React.ChangeEvent, availableLanguages: IGetAvailableLanguagesData[]) => {\r\n const newChosenLanguage = availableLanguages.find(el => el.value === event.target.value);\r\n if (newChosenLanguage) {\r\n this.props.updateDropdown(newChosenLanguage);\r\n }\r\n };\r\n\r\n /**\r\n * Method data initialization.\r\n * @param props -The account management props.\r\n */\r\n private readonly _dataInitialize = (props: ILanguagePickerExtendedProps): void => {\r\n const { data } = props;\r\n\r\n reaction(\r\n () => data.availableLanguages.result,\r\n () => {\r\n this.availableLanguages = data.availableLanguages.result ?? [];\r\n }\r\n );\r\n };\r\n}\r\n\r\nexport default NosLanguagePicker;\r\n","/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport { ILanguagePickerViewProps } from './nos-language-picker';\r\n\r\n/**\r\n * Address Add Update Component.\r\n * @param param0 - Root param.\r\n * @param param0.AddressForm - Address form.\r\n * @param param0.availableLanguages - Cancel button.\r\n * @returns - AddressForm Node.\r\n */\r\nconst LanguagePickerNode: React.FC = ({ availableLanguages }) => {\r\n return {availableLanguages};\r\n};\r\n\r\n/**\r\n * Business Account Address View Component.\r\n * @param props - Props.\r\n * @returns - LanguagePicker Module.\r\n */\r\nconst NosLanguagePickerView: React.FC = props => {\r\n const { LanguagePicker, availableLanguages } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NosLanguagePickerView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport React, { RefObject } from 'react';\r\n\r\nimport { ICheckoutSectionContainerItem, ICheckoutSectionContainerViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-section-container/./checkout-section-container';\r\nimport { ICheckoutSectionContainerProps } from '../definition-extensions/checkout-section-container.ext.props.autogenerated';\r\nimport { PaymentContext } from './checkout.view';\r\n\r\nconst ItemComponent: React.FC = ({ loading, itemProps, item }) => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{loading}\r\n\t\t\t{item}\r\n\t\t\r\n\t);\r\n};\r\n\r\nconst useMutationObserver = (\r\n\tref: RefObject,\r\n\tcallback: MutationCallback,\r\n\toptions = {\r\n\t\tattributes: true,\r\n\t\tattributeFilter: ['class'],\r\n\t\tcharacterData: true,\r\n\t\tchildList: true,\r\n\t\tsubtree: true,\r\n\t}\r\n) => {\r\n\tReact.useEffect(() => {\r\n\t\tif (ref.current !== null) {\r\n\t\t\tconst observer = new MutationObserver(callback);\r\n\t\t\tobserver.observe(ref.current, options);\r\n\r\n\t\t\treturn () => observer.disconnect();\r\n\t\t} else\r\n\t\t\treturn;\r\n\r\n\t}, [callback, options]);\r\n};\r\n\r\nconst CheckoutSectionContainerView: React.FC> = props => {\r\n\tconst { paymentId, setPaymentId, setPlaceOrderButtonVisible } = React.useContext(PaymentContext);\r\n\r\n\tconst mutationObserver = React.useRef(null);\r\n\tconst [accountPayment, setAccountPayment] = React.useState(false);\r\n\tconst accountPaymentStatus = (ref: any) => {\r\n\t\tref.forEach((item: any) => {\r\n\t\t\tif((item.target.classList.contains('hidden')) && (item.target.dataset.typeName = 'nos-customer-account-payment')) {\r\n\t\t\t\tsetAccountPayment(true);\r\n\t\t\t} else if(accountPayment === true) {\r\n\t\t\t\tsetAccountPayment(false);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\tuseMutationObserver(mutationObserver, accountPaymentStatus);\r\n\r\n\tconst {\r\n\t\tcheckoutPlainContainerProps,\r\n\t\titems,\r\n\t\tresources\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{items.map(item => {\r\n\r\n\t\t\t\t\t// Check if module type equals default Payment module\r\n\t\t\t\t\tlet isCreditCard = Object.values(item.itemProps).includes('checkout-payment-instrument');\r\n\t\t\t\t\t// Check if module type equals Sepa Payment module\r\n\t\t\t\t\tlet isSepa = Object.values(item.itemProps).includes('nos-payment-instrument');\r\n\t\t\t\t\tlet isPayment = isCreditCard || isSepa;\r\n\t\t\t\t\tlet currentPaymentModule = item.id;\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{isCreditCard && !accountPayment &&\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t { setPaymentId(event.target.value), setPlaceOrderButtonVisible(true) }} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t{isSepa && !accountPayment &&\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t { setPaymentId(event.target.value); setPlaceOrderButtonVisible(false) }} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t{/* Render all non Payment modules */}\r\n\t\t\t\t\t\t\t{!isPayment &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t{/* Render Payment module but only if user has selected it by choosing the corresponding radion button */}\r\n\t\t\t\t\t\t\t{isPayment && currentPaymentModule === paymentId &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t{isCreditCard && paymentId === '' &&\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default CheckoutSectionContainerView;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport { Module, Node, Waiting } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { ICheckoutViewProps, ILineItem, ILineItemDeliveryGroup, ILineItems, IOrderSummary, IPickUpAtStore } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./checkout';\r\nimport { IEmailDelivery } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components';\r\nimport { IInvoicePaymentSummary } from '@msdyn365-commerce-modules/checkout/src/modules/checkout/./components/get-invoice-payment-summary';\r\n\r\nexport const PickUpAtStoreComponent: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const EmailDeliveryComponent: React.FC = ({ EmailDelivery, label }) => {label};\r\n\r\nexport const LineItemComponent: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {pickUpAtStore && }\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const LineItemGroupComponent: React.FC = ({ LineItemDeliveryGroup, LineItemList, heading, lineItems }) => (\r\n \r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemGroupComponentWithMultiplePickUp: React.FC = ({\r\n LineItemDeliveryGroup,\r\n LineItemList,\r\n heading,\r\n lineItems,\r\n lineItemWraper,\r\n lineItemWraperIcon\r\n}) => (\r\n \r\n {lineItemWraperIcon}\r\n {lineItemWraper}\r\n {heading}\r\n \r\n {lineItems.map(lineItem => (\r\n \r\n ))}\r\n \r\n \r\n);\r\n\r\nexport const LineItemComponentWithMultiplePickUp: React.FC = ({ LineItem, item, pickUpAtStore, emailDelivery }) => (\r\n \r\n {item}\r\n {emailDelivery && }\r\n \r\n);\r\n\r\nexport const PickUpAtStoreComponentWithMultiplePickUp: React.FC = ({ PickUpAtStore, label, location }) => (\r\n \r\n {label}\r\n {location}\r\n \r\n);\r\n\r\nexport const LineItemsComponent: React.FC = ({\r\n LineItems,\r\n Header,\r\n heading,\r\n editLink,\r\n itemsForPickup,\r\n itemsForShip,\r\n itemsForEmail,\r\n itemsGroupWithMulitplePickupMode\r\n}) => (\r\n \r\n \r\n {heading}\r\n {editLink}\r\n \r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForPickup && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForEmail && }\r\n {itemsGroupWithMulitplePickupMode === undefined && itemsForShip && }\r\n {itemsGroupWithMulitplePickupMode !== undefined\r\n ? itemsGroupWithMulitplePickupMode.map((item, index) => {\r\n return ;\r\n })\r\n : null}\r\n \r\n);\r\n\r\nconst OrderSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.subtotal}\r\n {lines.shipping}\r\n {lines.otherCharge}\r\n {lines.tax}\r\n {lines.totalDiscounts}\r\n {lines.loyalty}\r\n {lines.giftCard}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst PaymentSummaryComponent: React.FC = ({ heading, lines }) => (\r\n
\r\n {heading}\r\n
\r\n {lines && (\r\n <>\r\n {lines.invoices}\r\n {lines.giftCard}\r\n {lines.loyalty}\r\n {lines.orderTotal}\r\n \r\n )}\r\n
\r\n
\r\n);\r\n\r\nexport const PaymentContext = React.createContext({\r\n isPlaceOrderButtonVisible: true,\r\n setPlaceOrderButtonVisible: (isVisible: boolean) => {},\r\n paymentId: '',\r\n setPaymentId: (id: string) => {}\r\n});\r\n\r\nconst CheckoutView: React.FC = props => {\r\n const {\r\n isPaymentVerificationRedirection,\r\n shouldEnableSinglePaymentAuthorizationCheckout,\r\n canShow,\r\n checkoutProps,\r\n headerProps,\r\n hasSalesOrder,\r\n hasInvoiceLine,\r\n bodyProps,\r\n mainProps,\r\n mainControlProps,\r\n sideProps,\r\n sideControlFirstProps,\r\n sideControlSecondProps,\r\n termsAndConditionsProps,\r\n orderConfirmation,\r\n loading,\r\n alert,\r\n title,\r\n guidedForm,\r\n orderSummary,\r\n invoicePaymentSummary,\r\n lineItems,\r\n placeOrderButton,\r\n termsAndConditions,\r\n checkoutExpressPaymentContainer,\r\n checkoutErrorRef\r\n } = props;\r\n // Initial value should be true if button should be shown on default selection\r\n const [isPlaceOrderButtonVisible, setPlaceOrderButtonState] = React.useState(true);\r\n const [paymentId, setPaymentIdState] = React.useState('');\r\n const setPlaceOrderButtonVisible = React.useCallback((state: boolean) => setPlaceOrderButtonState(state), []);\r\n const setPaymentId = React.useCallback((id: string) => setPaymentIdState(id), []);\r\n const paymentContextValue = React.useMemo(\r\n () => ({\r\n isPlaceOrderButtonVisible,\r\n setPlaceOrderButtonVisible,\r\n paymentId,\r\n setPaymentId\r\n }), [isPlaceOrderButtonVisible, setPlaceOrderButtonVisible, paymentId, setPaymentId]\r\n );\r\n\r\n return (\r\n \r\n {!hasSalesOrder && !checkoutExpressPaymentContainer && {title}}\r\n {!hasSalesOrder && isPaymentVerificationRedirection && shouldEnableSinglePaymentAuthorizationCheckout && !alert && !loading && (\r\n \r\n )}\r\n {!hasSalesOrder && (\r\n \r\n {loading}\r\n {alert}\r\n {canShow && (\r\n \r\n \r\n {guidedForm}\r\n {isPlaceOrderButtonVisible && placeOrderButton}\r\n {termsAndConditions}\r\n \r\n \r\n {!hasInvoiceLine\r\n ? orderSummary && \r\n : invoicePaymentSummary && }\r\n \r\n {isPlaceOrderButtonVisible && placeOrderButton}\r\n {termsAndConditions}\r\n \r\n {lineItems && }\r\n \r\n {isPlaceOrderButtonVisible && placeOrderButton}\r\n {termsAndConditions}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {hasSalesOrder && orderConfirmation}\r\n \r\n );\r\n};\r\n\r\nexport default CheckoutView;\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ILinkData } from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface ILinksData {\n linkText?: string;\n linkUrl: ILinkData;\n ariaLabel?: string;\n openInNewTab?: boolean;\n}\n\nexport interface IAccountLoyaltyTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nconst AccountLoyaltyTileLinks: React.FC = ({ links, telemetryContent, onTextChange, requestContext }) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-loyalty-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n\nexport default AccountLoyaltyTileLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { LoyaltyRewardPoint } from '@msdyn365-commerce/retail-proxy';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyTileData } from './account-loyalty-tile.data';\nimport { IAccountLoyaltyTileProps } from './account-loyalty-tile.props.autogenerated';\nimport DescriptionComponent from './components/account-loyalty-tile-description';\nimport LinksComponent from './components/account-loyalty-tile-links';\n\nexport interface IAccountLoyaltyTileViewProps extends IAccountLoyaltyTileProps {\n AccountLoyaltyTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountLoyalty component.\n * @extends {React.PureComponent>}\n */\nclass AccountLoyaltyTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountLoyaltyTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element {\n const { config, data, resources, context } = this.props;\n const { className, heading, signUpLinkText, signUpLinkAriaLabel, viewLinkText, viewLinkAriaLabel } = config;\n const { accountLoyaltySummary, accountLoyaltyMemberSummary } = resources;\n const { loyaltyCard } = data;\n\n let description = accountLoyaltySummary;\n let url = Msdyn365.getUrlSync('loyaltyJoin', context.actionContext) || '';\n const link = { linkText: signUpLinkText, linkUrl: { destinationUrl: url }, ariaLabel: signUpLinkAriaLabel };\n\n if (loyaltyCard && loyaltyCard.result && loyaltyCard.result.CardNumber) {\n const decimalPrecision = 2;\n let points = 0;\n\n if (loyaltyCard.result.RewardPoints && loyaltyCard.result.RewardPoints.length > 0) {\n loyaltyCard.result.RewardPoints.forEach((rewardPoint: LoyaltyRewardPoint) => {\n points += rewardPoint.ActivePoints!;\n });\n }\n link.ariaLabel = viewLinkAriaLabel;\n link.linkText = viewLinkText;\n url = Msdyn365.getUrlSync('loyalty', context.actionContext) || '';\n link.linkUrl.destinationUrl = url;\n description = format(accountLoyaltyMemberSummary, points.toFixed(decimalPrecision));\n }\n\n const viewProps = {\n ...this.props,\n className,\n AccountLoyaltyTile: {\n moduleProps: this.props,\n className: classnames('ms-account-loyalty-tile', config.className)\n },\n heading: heading && (\n \n ),\n links: (\n \n ),\n description: \n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.signUpLinkText && this.props.config.viewLinkText) {\n this.props.config.viewLinkText = event.target.value;\n }\n };\n}\n\nexport default AccountLoyaltyTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAccountLoyaltyTileViewProps } from './account-loyalty-tile';\n\nconst AccountLoyaltyTileView: React.FC = props => {\n const { AccountLoyaltyTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountLoyaltyTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\ninterface IAccountLoyaltyTileDescription {\n description: string;\n}\n\n// eslint-disable-next-line no-redeclare\nconst IAccountLoyaltyTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n\nexport default IAccountLoyaltyTileDescription;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { IAccountProfileEditConfig, IAccountProfileEditProps } from './account-profile-edit.props.autogenerated';\nimport AccountProfileEditButtonComponent from './components/account-profile-edit-button';\nimport AccountProfileEditErrorComponent from './components/account-profile-edit-error';\nimport AccountProfileEditInputComponent from './components/account-profile-edit-input';\nimport AccountProfileEditLabelComponent from './components/account-profile-edit-label';\nimport AccountProfileEditLoadingIconComponent from './components/account-profile-edit-loading-icon';\nimport AccountProfileEditLoadingMessageComponent from './components/account-profile-edit-loading-message';\n\nexport interface IAccountProfileEditViewState {\n isShowLoading: boolean;\n}\n\nexport interface IAccountProfileEditItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IAccountProfileEditLocalAccount {\n localAccount: INodeProps;\n items: IAccountProfileEditItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IAccountProfileEditLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IAccountProfileEditViewProps {\n className: string;\n viewState: IAccountProfileEditViewState;\n loading: IAccountProfileEditLoading;\n accountProfileEdit: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n accountProfileEditLocalAccount: IAccountProfileEditLocalAccount;\n}\n\n/**\n *\n * AccountProfileEdit component\n * All AAD related module is rendered on AAD page and we need to respect HTML contract provide by AAD.\n * Please ensure any change in module don't break contract with AAD.\n * @extends {React.Component>}\n */\n@observer\nclass AccountProfileEdit extends React.Component> {\n private readonly moduleClassName: string = 'ms-account-profile-edit';\n\n private readonly telemetryContent: ITelemetryContent;\n\n @observable private givenName: string;\n\n @observable private surname: string;\n\n @observable private email: string;\n\n @observable private emailRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IAccountProfileEditProps) {\n super(props);\n this.givenName = '';\n this.surname = '';\n this.email = '';\n this.emailRegex = EmailRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(\n nextProps: IAccountProfileEditProps,\n nextState: IAccountProfileEditViewState\n ): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n accountProfileEdit: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && config.heading.text && (\n \n ),\n accountProfileEditLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading.text = event.target.value);\n\n public onTextBoxChange = (event: React.ChangeEvent) => {\n const id = event.target.id;\n const value = event.target.value;\n\n switch (id.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.emailRegex = value;\n break;\n }\n default:\n }\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n const { resources } = this.props;\n const invalidEmailAddressError = resources.invalidEmailAddressError || 'Please enter a valid email address.';\n\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map(\n (obj: { ID: string; PRE: string; PAT: string; UX_INPUT_TYPE: string; PAT_DESC: string }) => {\n const value = obj.PRE ? this._htmlDecode(obj.PRE) : '';\n switch (obj.ID.toLowerCase()) {\n case 'givenname': {\n this.givenName = value;\n break;\n }\n case 'surname': {\n this.surname = value;\n break;\n }\n case 'email': {\n this.email = value;\n this.emailRegex = obj.PAT;\n obj.PAT_DESC = invalidEmailAddressError;\n break;\n }\n default:\n }\n }\n );\n }\n };\n\n private _htmlDecode(str: string): string {\n const e = document.createElement('div');\n\n e.innerHTML = str;\n return e.childNodes.length === 0 ? '' : e.childNodes[0].nodeValue || '';\n }\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n required_field: resources.requiredFieldMissingError,\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IAccountProfileEditLocalAccount {\n const { config, resources } = this.props;\n const localAccount = {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('givenName', 'text', this.givenName, resources.firstNameLabelText, resources.firstNameMaxLength),\n this._renderInput('surname', 'text', this.surname, resources.lastNameLabelText, resources.lastNameMaxLength)\n ],\n errorMessage: [\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n\n if (config.showEmail && this.email !== '') {\n localAccount.items.push(\n this._renderInput('email', 'email', this.email, resources.emailAddressLabelText, undefined, this.emailRegex)\n );\n }\n\n return localAccount;\n }\n\n private _renderInput(\n id: string,\n type: string,\n value: string,\n labelText: string,\n maxLength?: string,\n pattern?: string\n ): IAccountProfileEditItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default AccountProfileEdit;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IAccountProfileEditItem,\n IAccountProfileEditLoading,\n IAccountProfileEditLocalAccount,\n IAccountProfileEditViewProps\n} from './account-profile-edit';\n\nconst AccountProfileEditItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IAccountProfileEditItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst AccountProfileEditLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst AccountProfileEditView: React.FC = props => {\n const { accountProfileEdit, viewState, loading, defaultAADConainer, aadConainer, heading, accountProfileEditLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(accountProfileEditLocalAccount)}\n \n \n );\n};\n\nexport default AccountProfileEditView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst AccountProfileEditButton: React.FC = ({\n id,\n className,\n text,\n ariaLabel,\n disabled,\n telemetryContent,\n onClick\n}) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n\n return (\n \n );\n};\n\nexport default AccountProfileEditButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst AccountProfileEditError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default AccountProfileEditError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IAccountProfileEditInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IAccountProfileEditInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst AccountProfileEditInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default AccountProfileEditInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst AccountProfileEditLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default AccountProfileEditLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingIcon {\n className: string;\n}\n\nconst AccountProfileEditLoadingIcon: React.FC = ({ className }) => (\n
\n);\n\nexport default AccountProfileEditLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountProfileEditLoadingMessage {\n className: string;\n message: string;\n}\n\nconst AccountProfileEditLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default AccountProfileEditLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IAccountOrganizationUsersTileDescription {\n description: string;\n}\n\nexport const AccountOrganizationUsersTileDescription: React.FC = ({ description }) => (\n

{description}

\n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../organization-users-tile.props.autogenerated';\n\nexport interface IAccountOrganizationUsersTileLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n\n /**\n * The telemetry content\n */\n telemetryContent?: ITelemetryContent;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\nexport const AccountOrganizationUsersTileLinks: React.FC = ({\n links,\n telemetryContent,\n onTextChange,\n requestContext\n}) => {\n if (links.length === 0) {\n return null;\n }\n const editableLinks = _mapEditableLinks(links, telemetryContent);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n};\n\nconst _mapEditableLinks = (linkdata: ILinksData[], telemetryContent?: ITelemetryContent): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n const payLoad = getPayloadObject('click', telemetryContent!, '');\n linkdata.forEach((link, index) => {\n payLoad.contentAction.etext = link.linkText;\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: 'ms-account-organization-users-tile__link',\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: 'link',\n additionalProperties: attributes\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { format, getTelemetryObject, IModuleProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { AccountOrganizationUsersTileDescription, AccountOrganizationUsersTileLinks } from './components';\nimport { IOrganizationUsersTileData } from './organization-users-tile.data';\nimport { IOrganizationUsersTileProps } from './organization-users-tile.props.autogenerated';\n\nexport interface IOrganizationUsersTileViewProps extends IOrganizationUsersTileProps {\n OrganizationUsersTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * OrganizationUsersTile component.\n * @extends {React.PureComponent>}\n */\nclass OrganizationUsersTile extends React.PureComponent> {\n private readonly telemetryContent?: ITelemetryContent;\n\n constructor(props: IOrganizationUsersTileProps) {\n super(props);\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public render(): JSX.Element | null {\n const { config, resources, data } = this.props;\n const { className, heading, links } = config;\n const { accountOrganizationUsersTileDescriptionForSingleUser, accountOrganizationUsersTileDescriptionForMultipleUsers } = resources;\n const numUsers = data.users && data.users.result;\n const accountOrganizationUsersTileDescription =\n numUsers === 1 ? accountOrganizationUsersTileDescriptionForSingleUser : accountOrganizationUsersTileDescriptionForMultipleUsers;\n const customerInformation = data.customerInformation.result;\n\n // Organization-users tile will not be render for non-admin users.\n if (!customerInformation?.IsB2bAdmin) {\n return null;\n }\n\n const viewProps = {\n ...this.props,\n className,\n OrganizationUsersTile: {\n moduleProps: this.props,\n className: classnames('ms-account-organization-users-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: (\n \n )\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n this.props.config.heading.text = event.target.value;\n };\n\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[linkIndex]) {\n this.props.config.links[linkIndex].linkText = event.target.value;\n }\n };\n}\n\nexport default OrganizationUsersTile;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrganizationUsersTileViewProps } from './organization-users-tile';\n\nconst OrganizationUsersTileView: React.FC = props => {\n const { OrganizationUsersTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default OrganizationUsersTileView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Button, getPayloadObject, getTelemetryAttributes, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetButton {\n id?: string;\n className: string;\n text: string;\n ariaLabel: string;\n disabled?: boolean;\n telemetryContent?: ITelemetryContent;\n onClick?(event: React.MouseEvent): void;\n}\n\nconst PasswordResetButton: React.FC = ({ id, className, text, ariaLabel, disabled, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n );\n};\n\nexport default PasswordResetButton;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nexport interface IPasswordResetErrorProps {\n id?: string;\n className: string;\n type?: string;\n message?: string;\n}\n\nconst PasswordResetError: React.FC = ({ id, className, type = 'page', message }) => {\n const errorClassName = `${className}__${type}-error`;\n\n return (\n \n );\n};\n\nexport default PasswordResetError;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport interface IPasswordResetInputProps {\n id?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: any;\n value?: string;\n pattern?: string;\n className: string;\n maxLength?: string;\n onChange?(event: React.ChangeEvent): void;\n}\n\nexport interface IPasswordResetInput {\n key: string;\n AddressItem: INodeProps;\n label: React.ReactNode;\n alert: React.ReactNode;\n input: React.ReactNode;\n}\n\nconst GetMaxLength = (maxLength?: string): number | undefined => {\n if (maxLength) {\n const parsedMaxLength = Number.parseInt(maxLength, 10);\n if (!isNaN(parsedMaxLength)) {\n return parsedMaxLength;\n }\n }\n\n return undefined;\n};\n\nconst PasswordResetInput: React.FC = ({ id, type, value, pattern, className, maxLength, onChange }) => (\n \n);\n\nexport default PasswordResetInput;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLabel {\n id: string;\n forId: string;\n className: string;\n text: string;\n}\n\nconst PasswordResetLabel: React.FC = ({ id, forId, className, text }) => (\n \n);\n\nexport default PasswordResetLabel;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLoadingIcon {\n className: string;\n}\n\nconst PasswordResetLoadingIcon: React.FC = ({ className }) =>
;\n\nexport default PasswordResetLoadingIcon;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\nexport interface IPasswordResetLoadingMessage {\n className: string;\n message: string;\n}\n\nconst PasswordResetLoadingMessage: React.FC = ({ className, message }) => (\n
{message}
\n);\n\nexport default PasswordResetLoadingMessage;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { PasswordRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent, Modal, ModalBody } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { observable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport PasswordResetButtonComponent from './components/password-reset-button';\nimport PasswordResetErrorComponent from './components/password-reset-error';\nimport PasswordResetInputComponent from './components/password-reset-input';\nimport PasswordResetLabelComponent from './components/password-reset-label';\nimport PasswordResetLoadingIconComponent from './components/password-reset-loading-icon';\nimport PasswordResetLoadingMessageComponent from './components/password-reset-loading-message';\nimport { IPasswordResetConfig, IPasswordResetProps } from './password-reset.props.autogenerated';\n\nexport interface IPasswordResetViewState {\n isShowLoading: boolean;\n}\n\nexport interface IPasswordResetItem {\n wrapper: INodeProps;\n key: string;\n label: React.ReactNode;\n errorMessage: React.ReactNode;\n input: React.ReactNode;\n}\n\nexport interface IPasswordResetLocalAccount {\n localAccount: INodeProps;\n items: IPasswordResetItem[];\n errorMessage: React.ReactNode[];\n buttonsWrapper: INodeProps;\n buttons: React.ReactNode[];\n verificationSuccessModal: INodeProps;\n verificationSuccessModalMessage: INodeProps;\n}\n\nexport interface IPasswordResetLoading {\n modal: INodeProps;\n modalBody: INodeProps;\n icon: React.ReactNode;\n message: React.ReactNode;\n}\n\nexport interface IPasswordResetViewProps {\n className: string;\n viewState: IPasswordResetViewState;\n loading: IPasswordResetLoading;\n passwordReset: IModuleProps;\n defaultAADConainer: INodeProps;\n aadConainer: INodeProps;\n heading: React.ReactNode;\n passwordResetLocalAccount: IPasswordResetLocalAccount;\n}\n\n/**\n *\n * PasswordReset component.\n * @extends {React.Component>}\n */\n@observer\nclass PasswordReset extends React.Component> {\n private readonly moduleClassName: string = 'ms-password-reset';\n\n private readonly telemetryContent?: ITelemetryContent;\n\n @observable private newPasswordRegex: string;\n\n @observable private reenterPasswordRegex: string;\n\n @observable private isInitialized: boolean;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private initializationTimer: any;\n\n constructor(props: IPasswordResetProps) {\n super(props);\n\n this.newPasswordRegex = PasswordRegex.defaultRegex.source;\n this.reenterPasswordRegex = PasswordRegex.defaultRegex.source;\n this.isInitialized = false;\n this.telemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n }\n\n public componentDidMount(): void {\n this._onInit();\n }\n\n // After successful AAD initialization, call initialize method provided by AAD to attach events.\n public componentDidUpdate(): void {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (this.isInitialized && window && window['$element'] && window['$element']['initialize']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['$element']['initialize']();\n }\n }\n\n public shouldComponentUpdate(nextProps: IPasswordResetProps, nextState: IPasswordResetViewState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element {\n const { config, resources } = this.props;\n\n const viewProps = {\n ...this.props,\n viewState: {\n isShowLoading: !this.isInitialized\n },\n passwordReset: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, config.className)\n },\n loading: {\n modal: {\n tag: Modal,\n isOpen: true\n },\n modalBody: {\n tag: ModalBody\n },\n icon: ,\n message: \n },\n defaultAADConainer: {\n id: 'api',\n style: { display: 'none' }\n },\n aadConainer: {\n id: this.isInitialized ? 'api' : null,\n className: `${this.moduleClassName}__container`\n },\n heading: config.heading && (\n \n ),\n passwordResetLocalAccount: this._renderLocalAccount()\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n public _onInit = () => {\n this._prePopulateData();\n this._updateErrorMessage();\n\n // Check if AAD initialization is complete. AAD do not provide any event to subscribe so we need to check variable set by AAD to check initialization status.\n this.initializationTimer = setInterval(() => {\n this._isInitializationSuccessful();\n }, 100);\n setTimeout(() => {\n clearInterval(this.initializationTimer);\n }, 10_000);\n };\n\n // After successful AAD initialization, remove waiting and preload any data, if needed.\n private readonly _isInitializationSuccessful = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window && window['$diags'] && window['$diags']['initializationSuccessful']) {\n clearInterval(this.initializationTimer);\n this.isInitialized = true;\n }\n };\n\n private readonly _prePopulateData = () => {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n if (window['SA_FIELDS'] && window['SA_FIELDS']['AttributeFields']) {\n // eslint-disable-next-line @typescript-eslint/dot-notation, @typescript-eslint/no-unsafe-member-access -- Auto-suppressed.\n window['SA_FIELDS']['AttributeFields'].map((obj: { ID: string; PAT: string }) => {\n switch (obj.ID.toLowerCase()) {\n case 'newpassword': {\n this.newPasswordRegex = obj.PAT;\n break;\n }\n case 'reenterpassword': {\n this.reenterPasswordRegex = obj.PAT;\n break;\n }\n default:\n }\n });\n }\n };\n\n private readonly _updateErrorMessage = () => {\n const { resources } = this.props;\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n if (window && window['CONTENT']) {\n const message = {\n verifying_blurb: resources.loadingMessage\n };\n\n // eslint-disable-next-line @typescript-eslint/dot-notation -- Auto-suppressed.\n Object.assign(window['CONTENT'], message);\n }\n };\n\n private _renderLocalAccount(): IPasswordResetLocalAccount {\n const { resources } = this.props;\n return {\n localAccount: {\n id: 'attributeList',\n className: `${this.moduleClassName}__account-items attr`\n },\n items: [\n this._renderInput('newPassword', 'password', resources.newPasswordLabelText, this.newPasswordRegex),\n this._renderInput('reenterPassword', 'password', resources.confirmPasswordLabelText, this.reenterPasswordRegex)\n ],\n errorMessage: [\n ,\n ,\n ,\n \n ],\n buttonsWrapper: {\n className: `${this.moduleClassName}__buttons`\n },\n buttons: [\n ,\n \n ],\n verificationSuccessModal: {\n className: `${this.moduleClassName}__verifying-modal verifying-modal`\n },\n verificationSuccessModalMessage: {\n id: 'verifying_blurb',\n className: `${this.moduleClassName}__verifying-modal-message`\n }\n };\n }\n\n private _renderInput(id: string, type: string, labelText: string, pattern?: string): IPasswordResetItem {\n const className = `${this.moduleClassName}__account-item`;\n return {\n wrapper: {\n className: classnames(className, `${className}-${id}`, 'entry-item', 'attrEntry')\n },\n key: id,\n label: (\n \n ),\n errorMessage: (\n \n ),\n input: (\n \n )\n };\n }\n}\n\nexport default PasswordReset;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IPasswordResetItem, IPasswordResetLoading, IPasswordResetLocalAccount, IPasswordResetViewProps } from './password-reset';\n\nconst PasswordResetItem: React.FC = ({ wrapper, label, errorMessage, input }) => {\n return (\n \n {label}\n {errorMessage}\n {input}\n \n );\n};\n\nconst LocalAccount: React.FC = ({\n localAccount,\n items,\n errorMessage,\n buttonsWrapper,\n buttons,\n verificationSuccessModal,\n verificationSuccessModalMessage\n}) => {\n return (\n \n {items &&\n items.map((item: IPasswordResetItem) => {\n // eslint-disable-next-line react/jsx-key\n return ;\n })}\n {errorMessage &&\n errorMessage.map((error: React.ReactNode, index: number) => {\n return {error};\n })}\n \n {buttons &&\n buttons.map((button: React.ReactNode, index: number) => {\n return {button};\n })}\n \n\n \n \n \n \n );\n};\n\nconst PasswordResetLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\n\nconst PasswordResetView: React.FC = props => {\n const { passwordReset, viewState, loading, defaultAADConainer, aadConainer, heading, passwordResetLocalAccount } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n {heading}\n {LocalAccount(passwordResetLocalAccount)}\n \n \n );\n};\n\nexport default PasswordResetView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport Msdyn365, {\n ContentEditableEvent,\n generateImageUrl,\n getCatalogId,\n getUrlSync,\n Image,\n RichTextComponent,\n Text\n} from '@msdyn365-commerce/core';\nimport { MediaLocation, ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ICatalogPickerData } from './catalog-picker.data';\nimport { ICatalogPickerProps } from './catalog-picker.props.autogenerated';\n\n/**\n * ICatalogPickerViewProps.\n */\nexport interface ICatalogPickerViewProps extends ICatalogPickerProps {\n catalogPicker: IModuleProps;\n heading: React.ReactNode;\n paragraph: React.ReactNode;\n catalogs: ReactNode;\n}\n\n/**\n * CatalogPicker component.\n * @extends {React.PureComponent>}\n */\nexport class CatalogPicker extends React.PureComponent> {\n private static readonly _moduleClassName = 'ms-catalog-picker';\n\n public constructor(props: ICatalogPickerViewProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { heading, paragraph } = this.props.config;\n\n const catalogPickerHeading = heading && (\n \n );\n\n const isCatalogsAvailable: boolean = ArrayExtensions.hasElements(this.props.data.catalogs?.result);\n const catalogPickerParagraph = paragraph && (\n \n );\n const viewProps = {\n ...this.props,\n handleText: this.handleTextChange,\n catalogPicker: {\n moduleProps: this.props,\n className: CatalogPicker._moduleClassName\n },\n heading: catalogPickerHeading,\n paragraph: catalogPickerParagraph,\n catalogs: isCatalogsAvailable ? this._renderCatalogPicker() : ''\n };\n\n return this.props.renderView(viewProps);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: ContentEditableEvent): void => {\n this.props.config.paragraph = event.target.value;\n };\n\n private _renderCatalogPickerButton(item: ProductCatalog): React.ReactNode {\n const catalogId = item.RecordId;\n const currentCatalogId = getCatalogId(this.props.context.request);\n if (currentCatalogId === catalogId) {\n return
{this.props.resources.currentCatalogText}
;\n }\n let linkToCatalog = '';\n if (Msdyn365.isBrowser) {\n const catalogUrl = getUrlSync('home', this.props.context.actionContext) ?? '';\n const fullUrl = new URL(catalogUrl, window.location.href);\n fullUrl.searchParams.set('catalogid', `${catalogId}`);\n linkToCatalog = fullUrl.href;\n }\n return (\n \n {this.props.resources.changeCatalogButtonText}\n \n );\n }\n\n private _renderCatalogPicker(): React.ReactNode {\n const catalogs = this.props.data.catalogs?.result;\n\n const isBrowser = Msdyn365.isBrowser;\n\n return (\n
\n {catalogs?.map(item => {\n const reactKey = `${JSON.stringify(item)}-${String(isBrowser)}`;\n const image: MediaLocation | undefined = ArrayExtensions.firstOrDefault(item.Images);\n return (\n \n

{item.Name}

\n
\n \n
\n {this._renderCatalogPickerButton(item)}\n
\n
\n
\n );\n })}\n
\n );\n }\n}\n\nexport default CatalogPicker;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICatalogPickerViewProps } from './catalog-picker';\n\n/**\n * ICatalogPickerViewProps.\n * @param props - ICatalogPickerViewProps.\n * @returns - Render Catalog Picker.\n */\nexport const CatalogPickerViewFunctionComponent: React.FC = props => {\n const { catalogPicker } = props;\n return (\n \n {props.heading}\n {props.paragraph}\n {props.catalogs}\n \n );\n};\n\nexport default CatalogPickerViewFunctionComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport QRCode from 'qrcode.react';\nimport * as React from 'react';\n\n/**\n * CheckInConfirmation component Properties.\n */\nexport interface ICheckInConfirmationProps {\n /**\n * The confirmation text to show.\n */\n confirmationText: string;\n\n /**\n * Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n */\n shouldShowQrCode: boolean;\n\n /**\n * The label shows for channel reference ID.\n */\n channelReferenceIdLabel: string;\n\n /**\n * The channel reference ID to show. When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n */\n channelReferenceId?: string;\n}\n\n/**\n * CheckInConfirmation component for showing confirmation information after check-in succeed.\n * @param confirmationProps - The confirmation properties.\n * @param confirmationProps.confirmationText - The confirmation text.\n * @param confirmationProps.shouldShowQrCode - Should the order confirmation number shown as QR code or not.\n * If false, the order confirmation number (channel reference ID) will be shown as text.\n * @param confirmationProps.channelReferenceIdLabel - The label shows for channel reference ID.\n * @param confirmationProps.channelReferenceId - The channel reference ID to show.\n * When shouldShowQrCode is true, the ID is shown as QR code, otherwise it is shown as text.\n * @returns The check-in confirmation component.\n */\nexport const CheckInConfirmationComponent: React.FC = ({\n confirmationText,\n shouldShowQrCode,\n channelReferenceIdLabel,\n channelReferenceId\n}) => {\n return (\n
\n

{confirmationText}

\n {channelReferenceId && (\n

\n {`${channelReferenceIdLabel} ${channelReferenceId}`}\n

\n )}\n {channelReferenceId && shouldShowQrCode && (\n \n \n \n )}\n
\n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as React from 'react';\n\n/**\n * Check-in error properties.\n */\nexport interface ICheckInErrorProps {\n errorMessage?: string;\n}\n\n/**\n * Check-in error.\n * @param errorProps - The error properties.\n * @param errorProps.errorMessage - The error message to show.\n * @returns The alert element showing check-in errors.\n */\nexport const CheckInErrorComponent: React.FC = ({ errorMessage }) => {\n if (!errorMessage) {\n return null;\n }\n\n return (\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core';\nimport { CommerceProperty, SalesOrdersDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { CheckInConfirmationComponent } from './check-in-confirmation';\nimport { CheckInErrorComponent } from './check-in-error';\nimport { IAdditionalInformationKeysData, ICheckInForPickupConfig, ICheckInForPickupProps } from './check-in-for-pickup.props.autogenerated';\n\n/**\n * The interface representing a piece of additional information data.\n */\ninterface IAdditionalInformation {\n formKey: IAdditionalInformationKeysData;\n value: string;\n}\n\n/**\n * The state for check-in view.\n */\nexport interface ICheckInViewState {\n /**\n * If the module has header error to show.\n */\n isHeaderError: boolean;\n\n /**\n * If the customer has checked in.\n */\n isCheckedIn: boolean;\n\n /**\n * Additional information to capture.\n */\n additionalInformation: IDictionary[];\n}\n\n/**\n * The properties for check-in view.\n */\nexport interface ICheckInViewProps extends ICheckInForPickupProps {\n headerError: React.ReactNode;\n confirmationComponent: React.ReactNode;\n viewState: ICheckInViewState;\n additionalInformationValues: string[];\n checkInForOrderPickup(additionalInformation?: IAdditionalInformation[]): Promise;\n}\n\n/**\n * The state of the CheckInForPickup module.\n */\nexport interface ICheckInForPickupState {\n /**\n * The header error message.\n */\n headerErrorMessage: string;\n\n /**\n * If the customer has checked in successfully.\n */\n isCheckedIn: boolean;\n}\n\n/**\n *\n * CheckIn component.\n * @extends {React.Component, ICheckInForPickupState>}\n */\nclass CheckInForPickup extends React.Component, ICheckInForPickupState> {\n public constructor(props: ICheckInForPickupProps) {\n super(props);\n this.state = {\n headerErrorMessage: '',\n isCheckedIn: false\n };\n }\n\n public render(): JSX.Element | null {\n const isHeaderError: boolean = this.state.headerErrorMessage !== '';\n\n const viewProps = {\n ...this.props,\n headerError: ,\n confirmationComponent: (\n \n ),\n checkInForOrderPickup: this.checkInForOrderPickup,\n additionalInformationValues: this.props.config.additionalInformationKeys\n ? this.props.config.additionalInformationKeys.map(() => {\n return {};\n })\n : undefined,\n viewState: {\n isHeaderError,\n isCheckedIn: this.state.isCheckedIn\n }\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n public shouldComponentUpdate(nextProps: ICheckInForPickupProps, nextState: ICheckInForPickupState): boolean {\n if (\n this.props.config.additionalInformationHeading !== nextProps.config.additionalInformationHeading ||\n this.props.config.confirmationText !== nextProps.config.confirmationText\n ) {\n return true;\n }\n if (this.state.headerErrorMessage !== nextState.headerErrorMessage || this.state.isCheckedIn !== nextState.isCheckedIn) {\n return true;\n }\n return false;\n }\n\n public async componentDidMount(): Promise {\n await this._onInit();\n }\n\n /**\n * The async callback for submitting check-in.\n * @param additionalInformationList - The optional additional information captured.\n * @returns The async result.\n */\n public checkInForOrderPickup = async (additionalInformationList?: IAdditionalInformation[]): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query!.channelId, 10);\n const channelReferenceId: string = this.props.context.request.query!.channelReferenceId;\n const packingSlipId: string = this.props.context.request.query!.packingSlipId;\n\n const additionalInformationToSubmit: { formKey: string; value: string }[] | undefined = additionalInformationList?.map(\n additionalInformationKeyValuePair => {\n return {\n formKey: additionalInformationKeyValuePair.formKey.resourceId ?? '',\n value: additionalInformationKeyValuePair.value\n };\n }\n );\n const extensionPropertyList: CommerceProperty[] = [];\n if (!ObjectExtensions.isNullOrUndefined(additionalInformationToSubmit)) {\n for (const additionalInformation of additionalInformationToSubmit) {\n extensionPropertyList.push({\n Key: additionalInformation.formKey,\n Value: {\n StringValue: additionalInformation.value\n }\n });\n }\n }\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId,\n extensionPropertyList\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n return Promise.resolve();\n };\n\n /**\n * The action performed on module initialization.\n * @returns The async result.\n */\n private readonly _onInit = async (): Promise => {\n const channelId: number = Number.parseInt(this.props.context.request.query?.channelId ?? '', 10);\n const channelReferenceId: string | undefined = this.props.context.request.query?.channelReferenceId;\n const packingSlipId: string | undefined = this.props.context.request.query?.packingSlipId;\n if (Number.isNaN(channelId) || !channelReferenceId || !packingSlipId) {\n // No error message shown in editor mode.\n if (this.props.context.request.params.isEditor) {\n return Promise.resolve();\n } else if (this.props.context.request.params.isPreview) {\n this.setState({ headerErrorMessage: this.props.resources.requiredParameterMissingErrorMessage });\n } else {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage });\n }\n this.props.context.telemetry.error(\n 'One or more required URL parameters are missing. ' +\n 'Please make sure you have pass in channelId, channelReferenceId and packingSlipId through URL parameter.'\n );\n return Promise.resolve();\n }\n\n const { additionalInformationKeys } = this.props.config;\n\n const hasAdditionalInformation: boolean = ArrayExtensions.hasElements(additionalInformationKeys);\n\n // Call check-in-for-pickup directly if no additional information to capture.\n if (!hasAdditionalInformation) {\n try {\n await SalesOrdersDataActions.checkInForOrderPickupAsync(\n { callerContext: this.props.context.actionContext, queryResultSettings: {} },\n channelId,\n packingSlipId,\n channelReferenceId\n );\n } catch (error) {\n this.setState({ headerErrorMessage: this.props.resources.genericErrorMessage, isCheckedIn: false });\n this.props.telemetry.error(error);\n return Promise.resolve();\n }\n this.setState({ headerErrorMessage: '', isCheckedIn: true });\n }\n return Promise.resolve();\n };\n}\n\nexport default CheckInForPickup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { FormBuilder } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckInViewProps } from './check-in-for-pickup';\n\n/**\n * The check-in view for submitting check-in, capturing additional information, and showing check-in confirmation.\n * @param props - The check-in view properties.\n * @returns The check-in view as a react component.\n */\nconst CheckInViewComponent: React.FC = (props: ICheckInViewProps) => {\n const { headerError, checkInForOrderPickup, confirmationComponent, viewState } = props;\n return (\n <>\n {viewState.isHeaderError && headerError}\n {!viewState.isHeaderError && ArrayExtensions.hasElements(props.config.additionalInformationKeys) && (\n \n )}\n {!viewState.isHeaderError &&\n !ArrayExtensions.hasElements(props.config.additionalInformationKeys) &&\n viewState.isCheckedIn &&\n confirmationComponent}\n \n );\n};\n\nexport default CheckInViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IAdditionalContentData, ILinksData } from '../content-block.props.autogenerated';\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Component props.\n */\nexport interface IContentBlockAdditionalContentProps {\n requestContext: Msdyn365.IRequestContext;\n additionalContent: IAdditionalContentData[] | undefined;\n handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void;\n handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content view props.\n */\nexport interface IContentBlockAdditionalContentViewProps {\n additionalContentNode: INodeProps;\n additionalContentItems?: IContentBlockAdditionalContentItemViewProps[];\n}\n\n/**\n * IContentBlockAdditionalContentProps: Interface for\n * Content Block Additional Content Item view props.\n */\nexport interface IContentBlockAdditionalContentItemViewProps {\n heading: React.ReactNode;\n text: React.ReactNode;\n links: React.ReactNode;\n additionalContentItemContainer: INodeProps;\n additionalContentItemLinks: INodeProps;\n}\n\n/**\n * Renders additional content heading.\n * @param additionalContentHeading - Additional content heading.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Heading Node.\n */\nconst renderHeading = (additionalContentHeading: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param additionalContentParagraphText - Additional content paragraph text.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns Paragraph Node.\n */\nconst renderParagraph = (additionalContentParagraphText: string, props: IContentBlockAdditionalContentProps, itemIndex: number) => {\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalTextChange(itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Renders additional content heading.\n * @param ctaLink - Additional content link.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @param linkIndex - Additional content link index.\n * @returns Link Node.\n */\nconst renderLinks = (ctaLink: ILinksData, props: IContentBlockAdditionalContentProps, itemIndex: number, linkIndex: number) => {\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: ctaLink.ariaLabel,\n className: 'ms-content-block__details__additional-content-cta-links',\n linkText: ctaLink.linkText,\n linkUrl: ctaLink.linkUrl.destinationUrl,\n openInNewTab: ctaLink.openInNewTab,\n role: 'link'\n };\n const requestContext = props.requestContext;\n return (\n {\n props.handleAdditionalLinkTextChange(linkIndex, itemIndex, event);\n },\n requestContext\n }}\n />\n );\n};\n\n/**\n * Create node for each additonal content item.\n * @param item - Content block additonal content item props.\n * @param props - Content Block Additional content component props.\n * @param itemIndex - Item index.\n * @returns IContentBlockAdditionalContentItemViewProps.\n */\nconst assembleNode = (\n item: IAdditionalContentData,\n props: IContentBlockAdditionalContentProps,\n itemIndex: number\n): IContentBlockAdditionalContentItemViewProps => {\n const headingNode = item.heading && renderHeading(item.heading, props, itemIndex);\n const paragraphNode = item.subtext && renderParagraph(item.subtext, props, itemIndex);\n const linksNode = item.links?.map((ctaLink: ILinksData, index: number) => {\n return renderLinks(ctaLink, props, itemIndex, index);\n });\n\n return {\n heading: headingNode,\n text: paragraphNode,\n links: linksNode,\n additionalContentItemContainer: { className: 'ms-content-block__details__additional-content__container' },\n additionalContentItemLinks: { className: 'ms-content-block__details__additional-content-cta' }\n };\n};\n\n/**\n * ContentBlockAdditionalContent component.\n * @param props - Content Block Additional content component props.\n * @returns Content Block Additional content view props.\n */\nexport const contentBlockAdditionalContent = (\n props: IContentBlockAdditionalContentProps\n): IContentBlockAdditionalContentViewProps | undefined => {\n const { additionalContent } = props;\n if (!additionalContent) {\n return undefined;\n }\n\n const reactNodes: IContentBlockAdditionalContentItemViewProps[] = [];\n additionalContent.map((item, index: number) => {\n return reactNodes.push(assembleNode(item, props, index));\n });\n\n return {\n additionalContentNode: { className: 'ms-content-block__details__additional-content' },\n additionalContentItems: reactNodes\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { getPayloadObject, getTelemetryAttributes, ITelemetryContent, onTelemetryClick } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ILinksData } from '../content-block.props.autogenerated';\n\nexport interface IContentCardLinks {\n links: ILinksData[];\n requestContext: Msdyn365.IRequestContext;\n telemetryContent: ITelemetryContent;\n role?: string;\n onTextChange?(index: number): (event: Msdyn365.ContentEditableEvent) => void;\n}\n\n/**\n *\n * ContentCardLinks component.\n * @extends {React.PureComponent}\n */\nexport class ContentCardLinks extends React.PureComponent {\n public render(): JSX.Element {\n const editableLinks = this._mapEditableLinks(this.props.links);\n return (\n
\n {editableLinks && editableLinks.length > 0 ? (\n \n ) : null}\n
\n );\n }\n\n private readonly _mapEditableLinks = (linkdata: ILinksData[]): Msdyn365.ILinksData[] | null => {\n if (!linkdata || linkdata.length === 0) {\n return null;\n }\n const editableLinks: Msdyn365.ILinksData[] = [];\n linkdata.forEach((link, index) => {\n // Construct telemetry attribute to render\n const payLoad = getPayloadObject('click', this.props.telemetryContent, '', '');\n const linkText = link.linkText ? link.linkText : '';\n payLoad.contentAction.etext = linkText;\n const attributes = getTelemetryAttributes(this.props.telemetryContent, payLoad);\n const btnClass = index === 0 ? 'msc-cta__primary' : 'msc-cta__secondary';\n const editableLink: Msdyn365.ILinksData = {\n ariaLabel: link.ariaLabel,\n className: btnClass,\n linkText: link.linkText,\n linkUrl: link.linkUrl.destinationUrl,\n openInNewTab: link.openInNewTab,\n role: this.props.role,\n additionalProperties: attributes,\n onClick: onTelemetryClick(this.props.telemetryContent, payLoad, linkText)\n };\n editableLinks.push(editableLink);\n });\n\n return editableLinks;\n };\n}\nexport default ContentCardLinks;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { getTelemetryObject, IModuleProps, INodeProps, ITelemetryContent } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { contentBlockAdditionalContent, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport LinksComponent from './components/links';\nimport { actionableRegion as region, IContentBlockConfig, IContentBlockProps } from './content-block.props.autogenerated';\n\nexport interface IContentBlockViewProps extends IContentBlockProps<{}> {\n title?: React.ReactNode;\n text?: React.ReactNode;\n image?: React.ReactNode;\n links?: React.ReactNode;\n className?: string;\n contentBlockContainer: IModuleProps;\n imageContainer: INodeProps;\n detailsContainer: INodeProps;\n contentBlockAnchorTag?: INodeProps;\n imageLink?: string;\n imageAriaLabel?: string;\n additionalContent?: IContentBlockAdditionalContentViewProps;\n handleAdditionalText?(): void;\n handleAdditionalParagraph?(): void;\n handleAdditionalLinkTextChange?(): void;\n}\n\n/**\n * Site-builder configuration for the module.\n */\nexport interface IContentBlockFullConfig extends IContentBlockConfig {\n // eslint-disable-next-line @typescript-eslint/naming-convention -- This field comes from SDK.\n msdyn365__moduleLayout?: string;\n}\n\n/**\n * ContentCard component.\n * @extends {React.PureComponent}\n */\nexport class ContentBlock extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n\n public render(): JSX.Element | null {\n const { heading, paragraph, image, links, className, imageAriaLabel } = this.props.config;\n const contentBlockTitle = heading && (\n \n );\n\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n\n let contentBlockImageSettings: Msdyn365.IImageSettings | undefined;\n\n if (image && image.imageSettings && !image.imageSettings.backgroundColor && this.props.config.backgroundColor) {\n contentBlockImageSettings = {\n ...image?.imageSettings,\n backgroundColor: this.props.config.backgroundColor\n };\n } else {\n contentBlockImageSettings = image?.imageSettings;\n }\n\n const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: contentBlockImageSettings\n };\n\n const contentBlockImage = (\n \n );\n\n const contentBlockContainerStyle: React.CSSProperties | undefined = this.props.config.backgroundColor\n ? { backgroundColor: this.props.config.backgroundColor }\n : undefined;\n\n if (!contentBlockTitle && !contentBlockText && !contentBlockLinks) {\n this.props.context.telemetry.error('Content block content is empty, module wont render.');\n return null;\n }\n const contentBlockviewProps = {\n ...this.props,\n title: contentBlockTitle,\n text: contentBlockText,\n image: contentBlockImage,\n links: contentBlockLinks,\n moduleClass: this.props.config.className,\n contentBlockContainer: {\n moduleProps: this.props,\n className: classnames('ms-content-block', className),\n style: contentBlockContainerStyle\n },\n imageContainer: { className: 'ms-content-block__image' },\n detailsContainer: { className: 'ms-content-block__details' },\n contentBlockAnchorTag: {\n tag: 'a',\n className: 'ms-content-block__link',\n role: 'link'\n },\n imageLink: this._getImageLink(),\n imageAriaLabel,\n additionalContent: contentBlockAdditionalContent({\n requestContext: this.props.context.request,\n additionalContent: this.props.config.additionalContent,\n handleAdditionalTextChange: this.handleAdditionalTextChange,\n handleAdditionalParagraphChange: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n }),\n handleAdditionalText: this.handleAdditionalTextChange,\n handleAdditionalParagraph: this.handleAdditionalParagraphChange,\n handleAdditionalLinkTextChange: this.handleAdditionalLinkTextChange\n };\n\n return this.props.renderView(contentBlockviewProps) as React.ReactElement;\n }\n\n /**\n * To handle text change.\n * @param event - To handle text change event.\n * @name - HandleTextChange\n * @public\n * @returns - The Text value.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.heading!.text = event.target.value);\n\n /**\n * To handle paragraph change.\n * @param event - To handle text change event.\n * @name - HandleParagraphChange\n * @public\n * @returns - The Paragraph value.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent) => (this.props.config.paragraph = event.target.value);\n\n /**\n * Handle link text change.\n * @param linkIndex - The link index.\n * @returns - Void.\n */\n public handleLinkTextChange = (linkIndex: number) => (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.links && this.props.config.links[Number(linkIndex)]) {\n this.props.config.links[Number(linkIndex)].linkText = event.target.value;\n }\n };\n\n public handleAdditionalTextChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].heading = event.target.value;\n }\n }\n\n public handleAdditionalLinkTextChange(linkIndex: number, index: number, event: Msdyn365.ContentEditableEvent): void {\n const additionalContentObject =\n (this.props.config.additionalContent &&\n ArrayExtensions.hasElements(this.props.config.additionalContent) &&\n this.props.config.additionalContent[Number(index)]) ||\n {};\n if (additionalContentObject.links) {\n additionalContentObject.links[Number(linkIndex)].linkText = event.target.value;\n }\n }\n\n public handleAdditionalParagraphChange(index: number, event: Msdyn365.ContentEditableEvent): void {\n if (this.props.config.additionalContent) {\n this.props.config.additionalContent[Number(index)].subtext = event.target.value;\n }\n }\n\n private _getImageLink(): string | null {\n const { imageLink, links, actionableRegion } = this.props.config;\n if (actionableRegion === region.imageAndLinks) {\n if (imageLink?.destinationUrl) {\n return imageLink.destinationUrl;\n } else if (links && ArrayExtensions.hasElements(links) && links[0].linkUrl) {\n return links[0].linkUrl.destinationUrl;\n }\n return null;\n }\n return null;\n }\n}\n\nexport default ContentBlock;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IContentBlockAdditionalContentItemViewProps, IContentBlockAdditionalContentViewProps } from './components/additional-content';\nimport { IContentBlockViewProps } from './content-block';\n\n/**\n * Render Additional Content.\n * @param additionalContent - Additional content view props.\n * @returns JSX Element.\n */\nconst renderAdditionalContent = (additionalContent: IContentBlockAdditionalContentViewProps) => {\n return (\n \n {additionalContent.additionalContentItems?.map((item: IContentBlockAdditionalContentItemViewProps) => {\n return (\n <>\n {item.heading}\n \n {item.text}\n {item.links}\n \n \n );\n })}\n \n );\n};\n\nconst ContentBlockView: React.FC = props => {\n const {\n contentBlockContainer,\n imageContainer,\n detailsContainer,\n title,\n text,\n links,\n image,\n contentBlockAnchorTag,\n imageLink,\n imageAriaLabel,\n additionalContent\n } = props;\n\n if (imageLink) {\n return (\n \n \n {image}\n \n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n }\n return (\n \n {image}\n \n {title}\n {text}\n {links}\n {additionalContent && renderAdditionalContent(additionalContent)}\n \n \n );\n};\n\nexport default ContentBlockView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport classnames from 'classnames';\n\nimport { SalesOrder } from '@msdyn365-commerce/retail-proxy';\n\n/**\n * Class names used in component.\n */\nconst componentClassName = 'ms-order-history-with-search-and-filters-header';\nconst headingClassName = `${componentClassName}__heading`;\nconst orderCountClassName = `${componentClassName}__order-count`;\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderResources interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderResources {\n orderCountLabel: string;\n ordersCountLabel: string;\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderData interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderData {\n salesOrders: SalesOrder[];\n}\n\n/**\n * IOrderHistoryWithSearchAndFiltersHeaderProps interface.\n */\nexport interface IOrderHistoryWithSearchAndFiltersHeaderProps\n extends Msdyn365.IComponentProps {\n className?: string;\n resources: IOrderHistoryWithSearchAndFiltersHeaderResources;\n textProps: Msdyn365.ITextProps;\n showOrderCount: boolean;\n extraActions?: React.ReactNode;\n onChange(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n * @param props - Configuration of the component.\n * @returns React node.\n */\nconst OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent: React.FC = (\n props: IOrderHistoryWithSearchAndFiltersHeaderProps\n) => {\n const {\n resources,\n data: { salesOrders },\n textProps,\n showOrderCount,\n extraActions\n } = props;\n\n const orderCount = salesOrders?.length;\n const orderCountText = `(${orderCount} ${orderCount === 1 ? resources?.orderCountLabel : resources?.ordersCountLabel})`;\n\n return (\n \n {textProps?.text && (\n \n )}\n {showOrderCount && {orderCountText}}\n {extraActions}\n \n );\n};\n\n/**\n * OrderHistoryWithSearchAndFiltersHeader component.\n */\nexport const OrderHistoryWithSearchAndFiltersHeaderComponent: React.FunctionComponent = Msdyn365.msdyn365Commerce.createComponent<\n // @ts-expect-error\n IOrderHistoryWithSearchAndFiltersHeaderProps\n>('OrderHistoryWithSearchAndFiltersHeaderComponent', { component: OrderHistoryWithSearchAndFiltersHeaderFunctionalComponent });\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ExtensibleEnumeration } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, EmailRegex } from '@msdyn365-commerce-modules/retail-actions';\nimport * as React from 'react';\n\nimport { IOrderLookupResources, IOrderLookupSearchAdditionalFieldsData } from '../order-lookup.props.autogenerated';\n\n/**\n * Render label.\n * @param className - Classname for label.\n * @param value - Text for label.\n * @returns -The JSX Element.\n */\nexport const labelGroup = (className: string, value: string): JSX.Element => {\n return
{value}
;\n};\n\n/**\n * Error label.\n * @param responseErrorMessage - Error message for label.\n * @param errorMessageClassName - Error message for class name.\n * @returns - Error ReactNode.\n */\nexport const renderErrorLabel = (responseErrorMessage: string, errorMessageClassName: string): React.ReactNode => {\n return responseErrorMessage &&
{responseErrorMessage}
;\n};\n\n/**\n * Registered user message.\n * @param resources - Resource values.\n * @param signInUrl - Signin url.\n * @param signInLinkClassName - Signin link classname.\n * @param registeredUserClassName - Registered user message classname.\n * @returns - ReactNode.\n */\nexport const renderRegisteredUserMessage = (\n resources: IOrderLookupResources,\n signInUrl: string,\n signInLinkClassName: string,\n registeredUserClassName: string\n): React.ReactNode => {\n const { orderLookupRegisteredUserText, orderLookupViewAccountText, orderLookupSignInLinkText } = resources;\n const message: string = orderLookupRegisteredUserText;\n const infoMessage: string = orderLookupViewAccountText;\n const signInText: string = orderLookupSignInLinkText;\n return (\n
\n {message}\n \n {signInText}\n \n {infoMessage}\n
\n );\n};\n\n/**\n * EmailValid submit.\n * @param email - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isEmailValid = (email: string): boolean => {\n return EmailRegex.defaultRegex.test(email);\n};\n\n/**\n * Additional field validation for on submit.\n * @param name - Onsubmit of form and button click.\n * @returns - Boolean.\n */\nexport const isAdditionalFieldValid = (name: string): boolean => {\n const regEx = new RegExp('^(?!\\\\s)[A-Za-z0-9\\\\s]+$', 'u');\n return regEx.test(name);\n};\n\n/**\n * Validate order lookup field against extensible enum.\n * @param orderStatusLookUpParameter - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupField = (\n orderStatusLookUpParameter: string,\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidField: boolean = false;\n for (const item of orderLookupExtensibleEnum) {\n if (item.Name.toLocaleLowerCase() === orderStatusLookUpParameter.toLocaleLowerCase()) {\n isValidField = true;\n return isValidField;\n }\n }\n return isValidField;\n};\n\n/**\n * Validate order lookup additional fields with proxy values.\n * @param value - Value to be validated.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateAdditionalFieldWithProxy = (value: string, orderLookupExtensibleEnum: ExtensibleEnumeration[]): boolean => {\n return !orderLookupExtensibleEnum.some(item => item.Name.toLocaleLowerCase() === value.toLocaleLowerCase());\n};\n\n/**\n * Validate order lookup additional fields against extensible enum.\n * @param orderStatusLookUpAdditionalParameters - Order lookup parameter.\n * @param orderLookupExtensibleEnum - Order lookup extensible enum.\n * @returns - Boolean.\n */\nexport const validateOrderLookupAdditionalField = (\n orderStatusLookUpAdditionalParameters: IOrderLookupSearchAdditionalFieldsData[],\n orderLookupExtensibleEnum: ExtensibleEnumeration[]\n): boolean => {\n let isValidAdditionalField: boolean = false;\n if (ArrayExtensions.hasElements(orderStatusLookUpAdditionalParameters)) {\n orderStatusLookUpAdditionalParameters.map(item => {\n const fieldKey: string = item.fieldKey ?? '';\n if (!isValidAdditionalField) {\n isValidAdditionalField = validateAdditionalFieldWithProxy(fieldKey, orderLookupExtensibleEnum);\n }\n return isValidAdditionalField;\n });\n } else {\n isValidAdditionalField = false;\n }\n return isValidAdditionalField;\n};\n\n/**\n * Render validation message if field does not matches with extensible enum.\n * @param orderLookupFieldValidationErrorMessage - Order lookup validation message.\n * @returns - ReactNode.\n */\nexport const renderFieldErrors = (orderLookupFieldValidationErrorMessage: string): React.ReactNode => {\n return
{orderLookupFieldValidationErrorMessage}
;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Additional input field props.\n */\nexport interface IOrderLookupAdditionalFieldInfoInput {\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n additionalFieldLabel: string;\n additionalFieldLabelClassName: string;\n isValidAdditionalFieldName: boolean;\n additionalFieldValidationMessage: string;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup additional field props.\n */\nexport interface IOrderLookupAdditionalFieldInfo {\n additionalFieldLabel: React.ReactNode;\n additionalFieldInput: React.ReactNode;\n additionalFieldError: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupAdditionalFieldInput component.\n */\n@observer\nexport default class RenderOrderLookupAdditionalFieldInput extends React.Component {\n public constructor(props: IOrderLookupAdditionalFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupAdditionalFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupAdditionalFields().additionalFieldLabel}\n {this._getOrderLookupAdditionalFields().additionalFieldError}\n {this._getOrderLookupAdditionalFields().additionalFieldInput}\n
\n );\n }\n\n /**\n * Function to create the order lookup additional fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupAdditionalFields(): IOrderLookupAdditionalFieldInfo {\n return {\n additionalFieldLabel: labelGroup(this.props.additionalFieldLabelClassName, this.props.additionalFieldLabel),\n additionalFieldInput: (\n
\n \n
\n ),\n additionalFieldError: (\n
\n {!this.props.isValidAdditionalFieldName ? this.props.additionalFieldValidationMessage : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { labelGroup } from '../utilities/order-lookup-utility';\n\n/**\n * Input field props.\n */\nexport interface IOrderLookupFieldInfoInput {\n inputReference?: React.RefObject;\n className: string;\n ariaLabel: string;\n inputType: string;\n value: string;\n name: string;\n orderLookupLabel: string;\n orderLookupLabelClassName: string;\n fieldErrorClassName: string;\n isInputTypeError: boolean;\n isValidInputField: boolean;\n renderAlert(className: string): JSX.Element;\n onChange(event: React.ChangeEvent): void;\n}\n\n/**\n * Order lookup field props.\n */\nexport interface IOrderLookupFieldInfo {\n label: React.ReactNode;\n input: React.ReactNode;\n error: React.ReactNode;\n}\n\n/**\n * RenderOrderLookupInputs component.\n */\n@observer\nexport default class RenderOrderLookupFormFields extends React.Component {\n public constructor(props: IOrderLookupFieldInfoInput) {\n super(props);\n }\n\n public shouldComponentUpdate(nextProps: IOrderLookupFieldInfoInput): boolean {\n if (this.props === nextProps) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | undefined {\n return (\n
\n {this._getOrderLookupFields().label}\n {this._getOrderLookupFields().error}\n {this._getOrderLookupFields().input}\n
\n );\n }\n\n /**\n * Function to create the order lookup fields.\n * @returns IOrderLookupFieldInfo.\n */\n private _getOrderLookupFields(): IOrderLookupFieldInfo {\n return {\n label: labelGroup(this.props.orderLookupLabelClassName, this.props.orderLookupLabel),\n input: (\n
\n \n
\n ),\n error: (\n
\n {this.props.isInputTypeError ? this.props.renderAlert(this.props.name) : ''}\n {this.props.isValidInputField ? this.props.renderAlert(this.props.name) : ''}\n
\n )\n };\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ExtensibleEnumeration, StoreOperationsDataActions } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport RenderOrderLookupAdditionalFieldInput from './components/order-lookup-additional-fields';\nimport RenderOrderLookupFormFields from './components/order-lookup-fields';\nimport {\n IOrderLookupProps,\n IOrderLookupSearchAdditionalFieldsData,\n orderStatusLookUpParametersType as orderStatusLookUpParametersTypes\n} from './order-lookup.props.autogenerated';\nimport {\n isAdditionalFieldValid,\n isEmailValid,\n renderErrorLabel,\n renderFieldErrors,\n renderRegisteredUserMessage,\n validateOrderLookupAdditionalField,\n validateOrderLookupField\n} from './utilities/order-lookup-utility';\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupViewProps extends IOrderLookupProps<{}> {\n additionalProperties: JSX.Element[] | undefined;\n orderLookup: IModuleProps;\n orderLookupContainer: INodeProps;\n orderLookupAdditionalFieldContainer: INodeProps;\n paragraph?: React.ReactNode;\n heading?: React.ReactNode;\n submitButton?: INodeProps;\n submitButtonLabelText?: string;\n orderLookupForm?: INodeProps;\n renderOrderLookupInputField: JSX.Element | undefined;\n orderNumberInput?: JSX.Element | undefined;\n errorMessage?: React.ReactNode;\n fieldErrorMessage?: React.ReactNode;\n registeredUserMessage?: React.ReactNode;\n onChange?(event: React.ChangeEvent): void;\n submit?(): void;\n}\n\n/**\n * OrderLookupSearchValues -- supported values.\n */\nenum OrderLookupSearchValues {\n email = 'email',\n ordernumber = 'ordernumber'\n}\n\n/**\n * To render and handle state for additional order lookup fields.\n */\nexport interface IOrderLookupAdditionalFields {\n labelName: string;\n isValidFieldName: boolean;\n fieldValue: string;\n ariaLabel: string;\n additionalfieldErrorMessage: string;\n}\n\n/**\n * OrderLookup view props.\n */\nexport interface IOrderLookupFormState {\n orderNumber: string;\n email: string;\n isOrdNumberError: boolean;\n isEmailError: boolean;\n isValidEmailError: boolean;\n isReqError: boolean;\n isDisabled: boolean;\n isValidLookupField: boolean;\n isValidAdditionalLookupField: boolean;\n responseErrorMessage: string;\n additionalProperties: IOrderLookupAdditionalFields[];\n}\n\n/**\n *\n * OrderLookup component.\n * @extends {React.PureComponent>}\n */\nclass OrderLookup extends React.PureComponent, IOrderLookupFormState> {\n public orderNumberInputRef: React.RefObject;\n\n public emailInputRef: React.RefObject;\n\n public isEmailValue: boolean = false;\n\n private requiredErrorMessage: string | undefined;\n\n private emailValidationErrorMessage: string | undefined;\n\n private isOrderNumberValue: boolean = false;\n\n private orderLookupExtensibleEnum: ExtensibleEnumeration[] = [];\n\n public constructor(props: IOrderLookupProps<{}>) {\n super(props);\n this.orderNumberInputRef = React.createRef();\n this.emailInputRef = React.createRef();\n const { config } = this.props;\n const { orderLookupSearchAdditionalFields } = config;\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n\n if (orderLookupSearchAdditionalFields) {\n for (const item of orderLookupSearchAdditionalFields) {\n additionalPropertyStates.push({\n labelName: item.labelName ?? '',\n isValidFieldName: true,\n fieldValue: '',\n ariaLabel: item.ariaLabel ?? '',\n additionalfieldErrorMessage: item.validationMessage ?? ''\n });\n }\n }\n\n this.state = {\n orderNumber: '',\n email: '',\n isOrdNumberError: false,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false,\n isDisabled: true,\n isValidLookupField: true,\n isValidAdditionalLookupField: false,\n responseErrorMessage: '',\n additionalProperties: additionalPropertyStates\n };\n }\n\n public render(): JSX.Element | null {\n const {\n config: { paragraph, heading },\n resources,\n context\n } = this.props;\n\n const {\n orderLookupDefaultHeadingText,\n orderLookupButtonLabel,\n orderLookupFormAriaLabel,\n orderLookupOrderNumberLabel,\n orderLookupOrderNumberAriaLabel,\n orderLookupSubmitAriaLabel,\n orderLookupFieldValidationErrorMessage\n } = resources;\n\n const { responseErrorMessage, isDisabled, orderNumber, isOrdNumberError } = this.state;\n\n const headingText = StringExtensions.isNullOrEmpty(heading?.text) ? orderLookupDefaultHeadingText : heading?.text;\n const headingTag = heading?.tag ?? 'h1';\n\n const moduleClassName = 'ms-order-lookup';\n const orderLookupContainerClassName = `${moduleClassName}__details`;\n const orderLookupHeadingClassName = `${orderLookupContainerClassName}__heading`;\n const orderLookupFormClassName = `${orderLookupContainerClassName}__form`;\n const orderLookupAdditionalFiledContainerClassName = `${orderLookupFormClassName}__additional-fields-container`;\n const orderLookupFormFieldsClassName = `${orderLookupFormClassName}__fields`;\n const orderNumberLabelClassName = `${orderLookupFormFieldsClassName}__order-number-label`;\n const orderNumberInputErrorClassName = `${orderLookupFormFieldsClassName}__order-number-input-error`;\n const submitButtonClassName = `${orderLookupFormClassName}__submit`;\n const labelErrorMessageClassName = `${moduleClassName}__error-message`;\n const registeredUserClassName = `${moduleClassName}__registered-user`;\n const signinLinkClassName = `${registeredUserClassName}__sign-in-link msc-btn`;\n\n const orderLookupHeading = (\n \n );\n\n const viewProps: IOrderLookupViewProps = {\n ...this.props,\n orderLookup: {\n moduleProps: this.props,\n className: moduleClassName\n },\n\n orderLookupContainer: {\n className: orderLookupContainerClassName\n },\n orderLookupAdditionalFieldContainer: {\n className: orderLookupAdditionalFiledContainerClassName\n },\n paragraph: paragraph && this._createParagraph(paragraph),\n heading: orderLookupHeading,\n\n renderOrderLookupInputField: this._renderOrderLookupInput(),\n orderLookupForm: {\n className: orderLookupFormClassName,\n tag: 'form',\n 'aria-label': orderLookupFormAriaLabel,\n name: 'orderLookupForm',\n role: 'form',\n autoComplete: 'off',\n onSubmit: this.handleSubmit\n },\n orderNumberInput: (\n \n ),\n\n submitButton: {\n className: submitButtonClassName,\n tag: Button,\n 'aria-label': orderLookupSubmitAriaLabel,\n type: 'submit',\n role: 'button',\n title: orderLookupButtonLabel,\n onClick: this.handleSubmit,\n disabled: isDisabled\n },\n\n submitButtonLabelText: orderLookupButtonLabel,\n errorMessage: renderErrorLabel(responseErrorMessage, labelErrorMessageClassName),\n fieldErrorMessage:\n (!this.state.isValidLookupField || this.state.isValidAdditionalLookupField) &&\n renderFieldErrors(orderLookupFieldValidationErrorMessage),\n registeredUserMessage: renderRegisteredUserMessage(\n resources,\n context.request.user.signInUrl ?? '',\n signinLinkClassName,\n registeredUserClassName\n ),\n onChange: this.onChange,\n submit: this.handleSubmit,\n additionalProperties: this._renderAdditionalFields()\n };\n return this.props.renderView(viewProps);\n }\n\n public async componentDidMount(): Promise {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { orderStatusLookUpParametersType, orderLookupSearchAdditionalFields } = config;\n let isOrderLookupAdditionalFieldValid: boolean = false;\n let isOrderLookupFieldValid: boolean = false;\n\n const getExtensibleEnumerations = await StoreOperationsDataActions.getExtensibleEnumerationsAsync({ callerContext: actionContext });\n this.orderLookupExtensibleEnum =\n getExtensibleEnumerations.find(item => item.TypeName === 'OrderLookupAdditionalCriteriaType')?.ExtensibleEnumerations ?? [];\n\n const orderLookupParameter: string = orderStatusLookUpParametersType ?? '';\n const orderLookupAdditionalParameter: IOrderLookupSearchAdditionalFieldsData[] = orderLookupSearchAdditionalFields ?? [];\n\n isOrderLookupFieldValid = validateOrderLookupField(orderLookupParameter, this.orderLookupExtensibleEnum);\n isOrderLookupAdditionalFieldValid = validateOrderLookupAdditionalField(\n orderLookupAdditionalParameter,\n this.orderLookupExtensibleEnum\n );\n this.setLookupFieldState(isOrderLookupFieldValid, isOrderLookupAdditionalFieldValid);\n }\n\n /**\n * Handle text change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleTextChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n /**\n * Handle paragraph change.\n * @param event - The dialog that is allowed to remain open.\n */\n public handleParagraphChange = (event: Msdyn365.ContentEditableEvent): void => {\n const { config } = this.props;\n config.paragraph = event.target.value;\n };\n\n /**\n * Sets isValidLookupField after validating with extensible emun.\n * @param isValidField - Sets the property.\n * @param isValidAdditionalField - Sets the additional field property.\n */\n public setLookupFieldState(isValidField: boolean, isValidAdditionalField: boolean): void {\n this.setState({ isValidLookupField: isValidField, isValidAdditionalLookupField: isValidAdditionalField });\n }\n\n /**\n * HandleSubmit submit.\n */\n public readonly handleSubmit = (): void => {\n const { config, context } = this.props;\n const { actionContext } = context;\n const { additionalProperties, orderNumber, email } = this.state;\n const orderLookupValue = email;\n const { orderStatusLookUpParametersType } = config;\n const orderLookupName = orderStatusLookUpParametersType !== undefined ? orderStatusLookUpParametersType : '';\n const isValid: boolean = this._validateOrderLookupForm();\n if (isValid) {\n const actionContextValue: IActionContext = actionContext;\n const orderDetailsPath = Msdyn365.getUrlSync('orderDetails', actionContextValue) ?? '';\n if (orderDetailsPath) {\n const baseUrl = new URL(window.location.origin);\n const redirectUrl = new URL(orderDetailsPath, baseUrl);\n const searchParameters = redirectUrl.searchParams;\n\n searchParameters.set('confirmationId', orderNumber);\n searchParameters.set('propertyName', orderLookupName);\n searchParameters.set('propertyValue', orderLookupValue);\n\n if (ArrayExtensions.hasElements(additionalProperties)) {\n additionalProperties.map((item, index) => {\n const fieldName = !StringExtensions.isNullOrWhitespace(item.ariaLabel)\n ? item.ariaLabel.replace(' ', '').toLocaleLowerCase()\n : '';\n const fieldValue = !StringExtensions.isNullOrWhitespace(item.fieldValue) ? item.fieldValue : '';\n searchParameters.set(`field${index + 1}Name`, fieldName);\n searchParameters.set(`field${index + 1}Value`, fieldValue);\n return item;\n });\n }\n\n window.location.assign(redirectUrl.toString());\n }\n }\n };\n\n /**\n * OnChange event.\n * @param event - Value of input field.\n */\n public readonly onChange = (event: React.ChangeEvent): void => {\n const { additionalProperties } = this.state;\n const { config } = this.props;\n const { orderStatusLookUpParametersType } = config;\n const name = event.target.name || '';\n const value = event.target.value || '';\n this.isOrderNumberValue = !StringExtensions.isNullOrWhitespace(this.orderNumberInputRef.current?.value);\n this.isEmailValue = !StringExtensions.isNullOrWhitespace(this.emailInputRef.current?.value);\n\n if (orderStatusLookUpParametersType?.toLocaleLowerCase() === 'none') {\n this.isEmailValue = true;\n }\n\n this.setState({ responseErrorMessage: '' });\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isAdditionalFieldError: boolean = true as boolean;\n let isKeyExistInAdditionalFieldArray: boolean = false as boolean;\n\n for (const item of additionalProperties) {\n const fieldName: string = item.ariaLabel.replace(' ', '');\n if (fieldName.toLocaleLowerCase() === name.toLocaleLowerCase()) {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: true,\n fieldValue: value,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n } else {\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: item.isValidFieldName,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n if (fieldName.toLocaleLowerCase() === orderStatusLookUpParametersType?.toLocaleLowerCase()) {\n isKeyExistInAdditionalFieldArray = true;\n }\n }\n\n for (const items of additionalPropertyStates) {\n if (StringExtensions.isNullOrWhitespace(items.fieldValue)) {\n isAdditionalFieldError = false;\n }\n }\n\n this.setState({ additionalProperties: additionalPropertyStates });\n\n if (!isKeyExistInAdditionalFieldArray) {\n switch (name.toLocaleLowerCase()) {\n case OrderLookupSearchValues.ordernumber: {\n this.setState({\n orderNumber: value,\n isOrdNumberError: false,\n isReqError: false\n });\n break;\n }\n case OrderLookupSearchValues.email: {\n this.setState({\n email: value,\n isEmailError: false,\n isValidEmailError: false,\n isReqError: false\n });\n break;\n }\n default: {\n this.setState({ isReqError: false });\n }\n }\n }\n\n if (\n this.isOrderNumberValue &&\n this.isEmailValue &&\n isAdditionalFieldError &&\n this.state.isValidLookupField &&\n !this.state.isValidAdditionalLookupField\n ) {\n this.setState({ isDisabled: false });\n } else {\n this.setState({ isDisabled: true });\n }\n };\n\n private _createParagraph(text?: Msdyn365.RichText): React.ReactNode | null {\n const { context } = this.props;\n const { request } = context;\n if (!text) {\n return null;\n }\n return (\n \n );\n }\n\n /**\n * Render order lookup validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupEmailValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isEmailError, email, isValidEmailError, isReqError } = this.state;\n if (isEmailError) {\n this.requiredErrorMessage = orderLookupRequiredTextErrorMessage;\n }\n\n if (!StringExtensions.isNullOrEmpty(email) && isValidEmailError) {\n this.emailValidationErrorMessage = orderLookupEmailValidationErrorMessage;\n }\n\n const isRequireError = isReqError;\n const isEmailValidError = isValidEmailError;\n const isValidEmailInput = className.toLocaleLowerCase() === OrderLookupSearchValues.email;\n return (\n <>\n {isRequireError && (\n \n {this.requiredErrorMessage}\n \n )}\n {isEmailValidError && isValidEmailInput && (\n \n {this.emailValidationErrorMessage}\n \n )}\n \n );\n };\n\n /**\n * Render order number validation message.\n * @param className - Class name for error field.\n * @returns - JSX.Element.\n */\n private readonly _renderOrderNumberAlert = (className: string): JSX.Element => {\n const {\n resources: { orderLookupOrderNumberValidationErrorMessage, orderLookupRequiredTextErrorMessage }\n } = this.props;\n\n const { isOrdNumberError, isReqError } = this.state;\n return (\n <>\n {isReqError && (\n \n {orderLookupRequiredTextErrorMessage}\n \n )}\n {isOrdNumberError && (\n \n {orderLookupOrderNumberValidationErrorMessage}\n \n )}\n \n );\n };\n\n private _renderAdditionalFields(): JSX.Element[] | undefined {\n const { additionalProperties } = this.state;\n const additionalFieldsInput: JSX.Element[] = [];\n for (const item of additionalProperties) {\n const name: string = item.ariaLabel.replace(' ', '');\n additionalFieldsInput.push(\n \n );\n }\n return additionalFieldsInput;\n }\n\n /**\n * Render Input field for order lookup.\n * @returns - IOrderLookupFieldInfo.\n */\n private readonly _renderOrderLookupInput = (): JSX.Element | undefined => {\n const { email, isEmailError, isValidEmailError } = this.state;\n const {\n config: { orderStatusLookUpParametersType },\n resources: { orderLookupEmailLabel, orderLookupEmailAriaLabel }\n } = this.props;\n\n switch (orderStatusLookUpParametersType) {\n case orderStatusLookUpParametersTypes.none:\n return undefined;\n case orderStatusLookUpParametersTypes.email:\n default:\n return (\n \n );\n }\n };\n\n /**\n * _validation for additional fields.\n * @returns - Returns IOrderLookupAdditionalFields[].\n */\n private readonly _additionalFieldValidation = (): IOrderLookupAdditionalFields[] => {\n const additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n for (const item of this.state.additionalProperties) {\n const isFieldValid: boolean = !StringExtensions.isNullOrWhitespace(item.fieldValue) && isAdditionalFieldValid(item.fieldValue);\n additionalPropertyStates.push({\n labelName: item.labelName,\n isValidFieldName: isFieldValid,\n fieldValue: item.fieldValue,\n ariaLabel: item.ariaLabel,\n additionalfieldErrorMessage: item.additionalfieldErrorMessage\n });\n }\n return additionalPropertyStates;\n };\n\n /**\n * _validateOrderLookupForm submit.\n * @returns - Returns boolean.\n */\n private readonly _validateOrderLookupForm = (): boolean => {\n const { config } = this.props;\n const { orderNumber, email } = this.state;\n const { orderStatusLookUpParametersType } = config;\n let additionalPropertyStates: IOrderLookupAdditionalFields[] = [];\n let isValid = false;\n let isDisable = false;\n\n if (ArrayExtensions.hasElements(this.state.additionalProperties)) {\n additionalPropertyStates = this._additionalFieldValidation();\n for (const item of additionalPropertyStates) {\n if (!item.isValidFieldName) {\n isDisable = true;\n }\n }\n\n if (isDisable) {\n this.setState({\n additionalProperties: additionalPropertyStates,\n isDisabled: true\n });\n }\n }\n\n if (StringExtensions.isNullOrWhitespace(orderNumber)) {\n this.setState({\n isOrdNumberError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderNumber.trim() !== orderNumber) {\n this.setState({\n isOrdNumberError: true,\n isReqError: false,\n isDisabled: true\n });\n } else if (\n orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email &&\n StringExtensions.isNullOrWhitespace(email)\n ) {\n this.setState({\n isEmailError: true,\n isReqError: true,\n isDisabled: true\n });\n } else if (orderStatusLookUpParametersType === orderStatusLookUpParametersTypes.email && !isEmailValid(email)) {\n this.setState({\n isValidEmailError: true,\n isDisabled: true\n });\n } else if (isDisable || !this.state.isValidLookupField || this.state.isValidAdditionalLookupField) {\n this.setState({\n isDisabled: true\n });\n } else {\n this.setState({\n isDisabled: false\n });\n isValid = true;\n }\n return isValid;\n };\n}\n\nexport default OrderLookup;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IOrderLookupViewProps } from './order-lookup';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns - Returns JSX Element.\n */\nexport const OrderLookupViewComponent: React.FC = props => {\n const {\n orderLookup,\n orderLookupContainer,\n orderLookupAdditionalFieldContainer,\n heading,\n paragraph,\n orderLookupForm,\n renderOrderLookupInputField,\n orderNumberInput,\n errorMessage,\n submitButton,\n additionalProperties,\n registeredUserMessage,\n fieldErrorMessage\n } = props;\n return (\n \n \n {heading}\n {paragraph}\n \n {orderNumberInput}\n {renderOrderLookupInputField}\n {ArrayExtensions.hasElements(additionalProperties) && (\n \n {additionalProperties.map((item: JSX.Element) => (\n {item}\n ))}\n \n )}\n {fieldErrorMessage}\n \n {props.submitButtonLabelText}\n \n {errorMessage}\n \n {registeredUserMessage}\n \n \n );\n};\n\nexport default OrderLookupViewComponent;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\nimport * as React from 'react';\n\n/**\n * Product specification table row.\n */\nexport interface IProductSpecificationTableRow {\n productName?: string;\n cellData?: React.ReactNode;\n className?: string;\n}\n\n/**\n * Product specification table row component.\n * @param props - For product specification table row.\n * @param props.productName - Product name.\n * @param props.cellData - Cell data.\n * @param props.className - Class name.\n * @returns - Returns JSX element.\n */\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className }) => (\n \n \n {/* eslint-disable-next-line react/no-danger */}\n \n \n {cellData}\n \n);\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport * as Msdyn365 from '@msdyn365-commerce/core';\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport { reaction } from 'mobx';\nimport { observer } from 'mobx-react';\nimport * as React from 'react';\n\nimport { validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariant } from '../..';\nimport { ProductSpecificationTableRow } from './components/product-specification-table-stucture';\nimport { IProductSpecificationData } from './product-specification.data';\nimport { displayStyle, IProductSpecificationProps } from './product-specification.props.autogenerated';\n\n/**\n * Maintain Drawer State.\n */\nexport interface IProductSpecificationState {\n isDrawerOpen: boolean;\n isAdditionalMediaDrawerOpen: boolean;\n drawerListId: number | undefined;\n}\n\n/**\n * Product specification view props.\n */\nexport interface IProductSpecificationViewProps extends IProductSpecificationProps<{}> {\n ProductSpecification: IModuleProps;\n ProductSpecificationTableProps: INodeProps;\n ProductSpecificationTableBodyProps: INodeProps;\n productSpecificationResult?: (JSX.Element | null)[];\n\n title?: React.ReactNode;\n isAccrodion?: boolean;\n handleText?(event: Msdyn365.ContentEditableEvent): void;\n}\n\n/**\n * Check for display style either accordion or table.\n */\nexport interface IProductSpecificationExtentedProps extends IProductSpecificationProps {\n displayStyle?: displayStyle;\n}\n\n/**\n *\n * ProductSpecification component.\n * @extends {React.Component>}\n */\n@observer\nclass ProductSpecification extends React.Component {\n public constructor(props: IProductSpecificationExtentedProps) {\n super(props);\n this.state = {\n isDrawerOpen: false,\n isAdditionalMediaDrawerOpen: false,\n drawerListId: undefined\n };\n }\n\n public async componentDidMount(): Promise {\n const { context, data, telemetry } = this.props;\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n reaction(\n () => (data.product.result ? data.product.result.RecordId : null),\n () => {\n if (context && data.product.result) {\n const actionInput = new AttributesForSelectedVariantInput(\n data.product.result.RecordId,\n\n +context.actionContext.requestContext.apiSettings.channelId,\n data.product.result,\n catalogId\n );\n\n getAttributesForSelectedVariant(actionInput, this.props.context.actionContext).catch((error: Error) => {\n telemetry.error(error.message);\n telemetry.debug('Unable to update attributes for Product');\n telemetry.error(error.message);\n });\n }\n }\n );\n }\n\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\n if (this.state === nextState && this.props.data === nextProps.data) {\n return false;\n }\n return true;\n }\n\n public render(): JSX.Element | null {\n let data: IProductSpecificationData;\n try {\n data = this.props.data;\n } catch (error) {\n this.props.telemetry.error(`Something went wrong ------${error}`);\n return
{error}
;\n }\n\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\n this.props.telemetry.error('Product specification content is empty, module wont render.');\n return null;\n }\n\n const { heading, className } = this.props.config;\n const { productSpecificationData } = this.props.data;\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\n const viewProps = {\n ...this.props,\n handleText: this.handleHeadingChange,\n ProductSpecification: {\n moduleProps: this.props,\n className: classnames('ms-product-specification', className)\n },\n ProductSpecificationTableProps: isAccrodion\n ? {\n moduleProps: this.props,\n className: classnames('ms-product-specification__accordion', className)\n }\n : {\n className: classnames('ms-product-specification__table table-striped table-bordered'),\n tag: 'table'\n },\n isAccrodion,\n ProductSpecificationTableBodyProps: isAccrodion\n ? {}\n : {\n className: '',\n tag: 'tbody'\n },\n title: heading?.text && (\n \n ),\n productSpecificationResult:\n productSpecificationData.result && (isAccrodion ? this._createDrawerBody(data) : this._createTableBody(data))\n } as IProductSpecificationViewProps;\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n /**\n * Handle Heading Text Change.\n * @param event - Current event.\n */\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\n this.props.config.heading!.text = event.target.value;\n };\n\n private _createTableBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const tableRows = content.productSpecificationData.result!.map((product, index) => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n\n if (!cellData) {\n return null;\n }\n\n return (\n <>\n \n \n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n tableRows.push(this._createAdditionalMediaDrawer());\n }\n\n return tableRows;\n }\n\n private _createDrawerBody(content: IProductSpecificationData): (JSX.Element | null)[] {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n const drawers = content.productSpecificationData.result!.map(product => {\n const cellData: JSX.Element | null = this._renderProductCell(product);\n if (!cellData) {\n return null;\n }\n return (\n \n \n
{cellData}
\n \n
\n );\n });\n\n if (this.props.context.request.app?.config?.OmniChannelMedia && this.props.data.additionalMediaLocations.result?.length) {\n drawers.push(this._createAdditionalMediaDrawer());\n }\n\n return drawers;\n }\n private _createAdditionalMediaDrawer(): JSX.Element {\n const accordionItemContainer: IModuleProps = {\n moduleProps: this.props,\n className: 'ms-product-specification-title'\n };\n\n return (\n \n {\n this.setState(prevState => ({\n ...prevState,\n isAdditionalMediaDrawerOpen: !prevState.isAdditionalMediaDrawerOpen\n }));\n }}\n >\n
\n \n
\n \n
\n );\n }\n\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\n if (this.state.drawerListId !== drawerListId) {\n this.setState({ drawerListId, isDrawerOpen: true });\n } else {\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\n }\n };\n\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\n switch (product.DataTypeValue) {\n case 0: // None\n // Return span here instead of null so the row still shows\n return ;\n case 1: // Currency\n return this._renderCurrencyCell(product);\n case 2: // DateTime\n return this._renderDateTimeCell(product);\n case 3: // Decimal\n return this._renderDecimalCell(product);\n case 4: // Integer\n return this._renderIntegerCell(product);\n case 5: // Text\n return this._renderTextCell(product);\n case 6: // TrueFalse\n return this._renderTrueFalseCell(product);\n case 40: // Video\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\n return null;\n case 41: // Image\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\n return null;\n default:\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\n return null;\n }\n }\n\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\n return (\n \n {product.CurrencyCode}\n {product.CurrencyValue}\n \n );\n }\n\n return null;\n }\n\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\n if (product.DateTimeOffsetValue?.toUTCString) {\n return {product.DateTimeOffsetValue.toUTCString()};\n }\n\n return null;\n }\n\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\n return {product.IntegerValue};\n }\n\n return null;\n }\n\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\n return {product.FloatValue};\n }\n\n return null;\n }\n\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\n if (product.TextValue !== null && product.TextValue !== undefined) {\n // eslint-disable-next-line react/no-danger\n return ;\n }\n\n return null;\n }\n\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\n // TODO 20369885 setting to default value is needed to work around a platform bug where\n // config string value does not get its default value.\n if (product.BooleanValue) {\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\n }\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\n }\n}\n\nexport default ProductSpecification;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { IProductSpecificationViewProps } from './product-specification';\n\nconst ProductSpecificationView: React.FC = props => {\n const { ProductSpecification, ProductSpecificationTableProps, ProductSpecificationTableBodyProps, productSpecificationResult } = props;\n const rowdata =\n productSpecificationResult &&\n ArrayExtensions.hasElements(productSpecificationResult) &&\n productSpecificationResult.filter(row => !ObjectExtensions.isNullOrUndefined(row));\n\n return rowdata && ArrayExtensions.hasElements(rowdata) ? (\n \n {props.title}\n \n {rowdata}\n \n \n ) : null;\n};\n\nexport default ProductSpecificationView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n getTelemetryObject,\n Heading,\n IComponentNodeProps,\n INodeProps,\n ISingleSlideCarouselProps,\n ITelemetryContent,\n NodeTag,\n SingleSlideCarousel\n} from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITileListProps, ITitleData } from './tile-list.props.autogenerated';\n\n/**\n * Tile-list view props.\n */\nexport interface ITileListViewProps extends ITileListProps<{}> {\n title?: React.ReactNode;\n tiles: React.ReactNode[];\n tileItemContainer: INodeProps;\n tileListContainer: INodeProps;\n tileListHeading: INodeProps;\n singleSlideCarouselComponentProps: INodeProps;\n}\n\n/**\n *\n * TileList component.\n * @extends {React.PureComponent>}\n */\nexport class TileList extends React.PureComponent> {\n private readonly _telemetryContent: ITelemetryContent = getTelemetryObject(\n this.props.context.request.telemetryPageName!,\n this.props.friendlyName,\n this.props.telemetry\n );\n private static _createHeading(heading?: ITitleData): React.ReactNode | null {\n if (!heading || !heading.text || StringExtensions.isNullOrWhitespace(heading.text)) {\n return null;\n }\n return ;\n }\n public constructor(props: ITileListProps<{}>) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { resources } = this.props;\n const { title, className } = this.props.config;\n const propsCarousel: IComponentNodeProps = {\n tag: SingleSlideCarousel,\n className: this.props.config.className ?? '',\n flipperPrevLabel: resources.flipperPrevious,\n flipperNextLabel: resources.flipperNext,\n parentId: this.props.id,\n telemetryContent: this._telemetryContent,\n vertical: false\n };\n\n const viewProps = {\n ...this.props,\n title: TileList._createHeading(title),\n singleSlideCarouselComponentProps: propsCarousel,\n tileItemContainer: {\n tag: 'li' as NodeTag,\n className: 'ms-tile__item',\n role: 'listitem'\n },\n tileListContainer: { className: classnames('ms-tile-list', className) },\n tileListHeading: { className: 'ms-tile-list__heading' },\n tiles: this.props.slots.content\n };\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n}\n\nexport default TileList;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React, { ReactNode } from 'react';\n\nimport { ITileListViewProps } from './tile-list';\n\n/**\n * View component.\n * @param props - The view properties.\n * @returns Returns props.\n */\nexport const tileListView: React.FC = props => {\n const { title, tiles, tileListContainer, tileListHeading, tileItemContainer, singleSlideCarouselComponentProps } = props;\n return (\n \n {title}\n \n {tiles.map((tileItem: ReactNode, index: number) => {\n const keyIndex = `tile-list-item__${index}`;\n return (\n \n {tileItem}\n \n );\n })}\n \n \n );\n};\n\nexport default tileListView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport { ICheckoutCustomerAccountPaymentViewProps } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/checkout-customer-account-payment';\nimport { IAccountPaymentEditViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-edit-mode';\nimport { IAccountPaymentSummaryViewForm } from '@msdyn365-commerce-modules/checkout/src/modules/checkout-customer-account-payment/components/get-account-payment-form-summary-mode';\n\nexport const SummaryForm: React.FC = ({\n formProps,\n label,\n addPaymentButton,\n appliedLine,\n bottomBorder,\n paymentAmountInput\n}) => (\n \n <>\n {label}\n {paymentAmountInput}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nexport const EditForm: React.FC = ({\n formProps,\n inputLabel,\n inputAmount,\n addPaymentButton,\n customerName,\n customerAccountNumber,\n customerSince,\n accountCredit,\n alert,\n accountDetails,\n appliedLine,\n bottomBorder\n}) => (\n \n <>\n {customerName}\n {customerAccountNumber}\n {customerSince}\n {accountCredit}\n {accountDetails}\n {inputLabel}\n {alert}\n {inputAmount}\n {addPaymentButton}\n {appliedLine}\n {bottomBorder}\n \n \n);\n\nconst CheckoutCustomerAccountView: React.FC = props => {\n const { checkoutCustomerAccount, checkoutErrorRef, summaryView, editView, moduleState, alert } = props;\n return (\n \n {alert}\n {moduleState.isReady && summaryView && }\n {!moduleState.isReady && editView && }\n \n );\n};\n\nexport default CheckoutCustomerAccountView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n IGroup,\n IGroupDelivery,\n IGroups,\n IHeader,\n IList,\n IOrderHistoryViewProps,\n IOrderInformation,\n ISalesOrder\n} from '@msdyn365-commerce-modules/order-management';\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nexport const OrderHistoryOrderInfomation: React.FC = ({\n orderInformationProps,\n salesId,\n receiptId,\n channelName,\n createdDate,\n count,\n amount,\n channelReferenceId\n}) => (\n \n {channelName}\n {salesId}\n {receiptId}\n {createdDate}\n {count}\n {amount}\n {channelReferenceId}\n \n);\n\nexport const OrderHistoryGroupDelivery: React.FC = ({\n deliveryProps,\n heading,\n count,\n processing,\n address,\n trackingInfo\n}) => (\n \n {heading}\n {count}\n {processing}\n {address}\n {trackingInfo}\n \n);\n\nexport const OrderHistoryGroup: React.FC = ({ groupProps, delivery, salesLinesProps, salesLines }) => (\n \n {salesLines && (\n \n {salesLines.map(salesLine => (\n {salesLine.salesLine}\n ))}\n \n )}\n \n);\n\nexport const OrderHistoryGroups: React.FC = ({ groupsProps, groups }) => (\n \n {groups.map((group, index) => (\n \n ))}\n \n);\n\nexport const OrderHistoryHeader: React.FC = ({ headerProps, heading, orderCountLabel, extraActions }) => (\n \n {heading}\n {orderCountLabel}\n {extraActions}\n \n);\n\nexport const OrderHistorySalesOder: React.FC = ({\n salesOrderProps,\n orderInfomation,\n groups,\n orderDetailsLink,\n expandProductsButton\n}) => (\n \n
\n {orderInfomation.placedBy && {orderInfomation.placedBy}}\n
{orderInfomation && }
\n
\n {groups && }\n {expandProductsButton}\n {orderDetailsLink}\n
\n);\n\nexport const OrderHistoryList: React.FC = ({ listProps, salesOrders }) => (\n \n {salesOrders && salesOrders.map((salesOrder, index) => )}\n \n);\n\nconst OrderHistoryView: React.FC = ({\n orderHistoryProps,\n header,\n alert,\n loading,\n emptyMessage,\n backToShoppingLink,\n list,\n table,\n moreButton\n}) => (\n \n {header && }\n {loading}\n {alert && (\n <>\n {alert}\n {backToShoppingLink}\n \n )}\n {emptyMessage && (\n \n {emptyMessage}\n {backToShoppingLink}\n \n )}\n {list && }\n {table}\n {moreButton && moreButton}\n \n);\n\nexport default OrderHistoryView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Categories heading.\n * @param inCategoriesHeading - The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderCategorySuggestionsTitle = (inCategoriesHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = inCategoriesHeading ? inCategoriesHeading : 'In categories';\n\n return
{categoryAutoSuggestionHeading}
;\n};\n\n/**\n * Render Categories suggestion result.\n * @param inCategoriesHeading - The Categories result heading.\n * @param noResultText - The \"No Result\" text.\n * @param props - The Categories suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const CategorySuggestionsComponent = (\n inCategoriesHeading: string,\n noResultText: string,\n props: ISearchViewProps & ISearchProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return props.autosuggestCategory ? (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n props.autosuggestCategory.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderCategorySuggestionsTitle(inCategoriesHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData } from '@msdyn365-commerce-modules/search';\nimport { Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n const imageSettings = {\n lazyload: true,\n viewports: {\n xs: { w: 100, h: 100, q: 'w=100&h=100&q=60&m=6' }\n }\n };\n return (\n \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param props -The props.\n * @returns The JSX Element.\n */\nexport const MobileAutoSuggestEmptyComponent = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    \n
    {props.resources.emptyMobileSearchTextHeading}
    \n
    {props.resources.emptyMobileSearchText}
    \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchData, ISearchFormViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\nimport { MobileAutoSuggestEmptyComponent } from './search.mobile.empty';\n\n/**\n * Render Clear button for mobile viewport.\n * @param clearSearchButtonText -The Clear button text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nconst renderClearButton = (clearSearchButtonText: string, clearSearch: () => void): JSX.Element => {\n return (\n \n );\n};\n\n/**\n * Render Search form.\n * @param form -Form view props.\n * @param searchForm -Search Form props.\n * @param formWrapper -Form Wrapper props.\n * @param isMobile -Is mobile viewport flag.\n * @param clearSearchButtonText -The Clear button text.\n * @param props -The props for resource.\n * @param isSearchText -Is SearchText flag for input text.\n * @param clearSearch -Clear Search callback.\n * @returns -The JSX Element.\n */\nexport const FormComponent = (\n form: ISearchFormViewProps,\n searchForm: INodeProps,\n formWrapper: INodeProps,\n isMobile: boolean,\n clearSearchButtonText: string,\n props: ISearchProps,\n isSearchText: boolean,\n clearSearch: () => void\n): JSX.Element => {\n const cancelButtonNode = (\n \n );\n\n return isMobile ? (\n \n {form.cancelBtn}\n \n {form.input}\n {isSearchText && renderClearButton(clearSearchButtonText, clearSearch)}\n {!isSearchText ? MobileAutoSuggestEmptyComponent(props) : null}\n \n \n ) : (\n \n \n {form.submitBtn}\n {form.input}\n {isSearchText && cancelButtonNode}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ISearchKeywordViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\n/**\n * Render keywords heading.\n * @param keywordsHeading -The Keywords result heading.\n * @returns The JSX Element.\n */\nconst renderKeywordSuggestionsTitle = (keywordsHeading: string): JSX.Element => {\n const categoryAutoSuggestionHeading = keywordsHeading ? keywordsHeading : 'Keywords';\n\n return
    {categoryAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render keywords reults.\n * @param keywordSuggest -The Keywords suggest Node props.\n * @param ulKeyword -The List Node props.\n * @param keywordsHeading -The Keywords result heading.\n * @param noResultText -The \"No Result\" text.\n * @param keywordSuggestions -The Keywords suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns -The JSX Element.\n */\nexport const KeywordSuggestionsComponent = (\n keywordSuggest: INodeProps,\n ulKeyword: INodeProps,\n keywordsHeading: string,\n noResultText: string,\n keywordSuggestions?: ISearchKeywordViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n return keywordSuggestions ? (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n keywordSuggestions.text.map(text => {\n return text;\n })}\n \n \n ) : (\n \n {renderKeywordSuggestionsTitle(keywordsHeading)}\n \n
  • {noResultText}
  • \n
    \n
    \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IImageData, Image } from '@msdyn365-commerce/core';\nimport { ISearchData, ISearchProductViewProps } from '@msdyn365-commerce-modules/search';\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\nimport React from 'react';\n\nimport { ISearchProps } from '../../definition-extensions/search.ext.props.autogenerated';\n\n/**\n * Render Products Suggestion result heading.\n * @param productSuggestionsHeading -The products suggestion result heading.\n * @returns The JSX Element.\n */\nconst renderProductSuggestionsTitle = (productSuggestionsHeading: string): JSX.Element => {\n const productAutoSuggestionHeading = productSuggestionsHeading ? productSuggestionsHeading : 'Products';\n\n return
    {productAutoSuggestionHeading}
    ;\n};\n\n/**\n * Render Products Suggestion result heading.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResultsImage = (props: ISearchProps): JSX.Element | null => {\n const noSearchResultImage: IImageData | undefined = props.config.noSearchResultImage;\n if (!noSearchResultImage || !noSearchResultImage.src) {\n return null;\n }\n return (\n \n );\n};\n\n/**\n * Render Products No result section.\n * @param props -The props.\n * @returns The JSX Element.\n */\nconst renderProductNotFoundResults = (props: ISearchProps): JSX.Element => {\n return (\n \n
    {renderProductNotFoundResultsImage(props)}
    \n
    {props.resources.noResultContentHeadingText}
    \n
    \n {props.resources.noResultContentParagraphText}\n
    \n
    \n );\n};\n\n/**\n * Render Product suggestion result.\n * @param productSuggest -The product suggest Node props.\n * @param ulProduct -The List Node props.\n * @param props -The props.\n * @param productSuggestions -The Product suggestion result.\n * @param isLoadingAutoSuggest - The autosuggestion loading flag.\n * @param isLoadingNode - The autosuggestion loading node.\n * @returns The JSX Element.\n */\nexport const ProductSuggestionsComponent = (\n productSuggest: INodeProps,\n ulProduct: INodeProps,\n props: ISearchProps,\n productSuggestions?: ISearchProductViewProps,\n isLoadingAutoSuggest?: boolean,\n isLoadingNode?: React.ReactNode\n): JSX.Element => {\n const liProduct: INodeProps = {\n tag: 'li',\n className: 'msc-no-result-content'\n };\n return productSuggestions ? (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {isLoadingAutoSuggest && isLoadingNode}\n {!isLoadingAutoSuggest &&\n productSuggestions.items.map((item, index) => {\n return (\n \n \n {item.thumbnail}\n {item.text}\n {item.price}\n \n \n );\n })}\n \n \n ) : (\n \n {renderProductSuggestionsTitle(props.resources.productSuggestionHeading)}\n \n {renderProductNotFoundResults(props)}\n \n \n );\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { StringExtensions } from '@msdyn365-commerce-modules/retail-actions';\nimport { ISearchData, ISearchFormViewProps, ISearchViewProps } from '@msdyn365-commerce-modules/search';\nimport { Button, format, isMobile, Module, Node, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { ISearchProps } from '../definition-extensions/search.ext.props.autogenerated';\nimport { CategorySuggestionsComponent } from './components/search.categorysuggest';\nimport { FormComponent } from './components/search.form';\nimport { KeywordSuggestionsComponent } from './components/search.keywordsuggest';\nimport { ProductSuggestionsComponent } from './components/search.productsuggest';\n\n/**\n * Render Title for AutoSuggest.\n * @param searchSuggestionHeading -The heading resource string.\n * @param searchText -The search string.\n * @returns -The JSX Element.\n */\nconst renderTitle = (searchSuggestionHeading: string, searchText: string): JSX.Element => {\n const searchTextString = '\"'.concat(searchText.concat('\"'));\n const searchAutoSuggestionHeading = searchSuggestionHeading\n ? format(searchSuggestionHeading, searchTextString)\n : `Search for ${searchTextString}`;\n\n return {searchAutoSuggestionHeading};\n};\n\n/**\n * Search View.\n * @param props - The view props.\n * @returns The JSX Element.\n */\nconst SearchView: React.FC> = (\n props: ISearchViewProps & ISearchProps\n): JSX.Element => {\n const {\n Search,\n AutoSuggestAriaLabel,\n AutoSuggestAriaLabelText,\n searchText,\n AutoSuggest,\n KeywordSuggest,\n ProductSuggest,\n UlKeyword,\n UlProduct,\n form,\n autosuggestKeyword,\n autosuggestProduct,\n SearchForm,\n FormWrapper,\n label,\n context,\n isLoadingAutoSuggest,\n isLoadingNode,\n callbacks: { handleCancelSearchFocused }\n } = props;\n\n const { searchSuggestionHeading, categorySuggestionHeading, keywordsHeading, noResultText, clearSearchButtonText } = props.resources;\n\n const [searchTextString, setSearchTextString] = useState();\n const [isMobilePort, setIsMobile] = useState(false);\n\n useEffect(() => {\n setSearchTextString(searchText);\n }, [searchText]);\n\n /**\n * ClearSearch callback method to clear search string.\n */\n const clearSearch = (): void => {\n setSearchTextString('');\n\n const propsForm = props.form as ISearchFormViewProps;\n const propsFormInput = propsForm.input as React.DetailedHTMLProps, HTMLInputElement>;\n const propsFormInputCurrent = (propsFormInput.ref as React.RefObject).current;\n\n if (propsFormInputCurrent) {\n propsFormInputCurrent.value = '';\n }\n\n propsFormInput.value = '';\n props.searchText = '';\n props.FormWrapper.action = '';\n };\n\n const isMobileViewport = useCallback(() => {\n const isMobileView = isMobile({ variant: VariantType.Browser, context: context.request }) === 'xs';\n setIsMobile(isMobileView);\n }, [context]);\n\n useEffect(() => {\n window.addEventListener('resize', isMobileViewport);\n isMobileViewport();\n }, [isMobileViewport]);\n\n const viewport = isMobile({ variant: VariantType.Browser, context: context.request });\n\n const isMobileView = viewport === 'sm' || viewport === 'xs';\n\n AutoSuggest.className = !StringExtensions.isNullOrEmpty(searchTextString)\n ? `${AutoSuggest.className} show`\n : `${AutoSuggest.className} hide`;\n const isSearchText: boolean = !StringExtensions.isNullOrEmpty(searchTextString);\n\n return (\n \n {label}\n {FormComponent(\n form as ISearchFormViewProps,\n SearchForm,\n FormWrapper,\n isMobilePort,\n clearSearchButtonText,\n props,\n isSearchText,\n clearSearch\n )}\n {!isMobileView && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n \n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n {isMobileView && props.isSearchFormExpanded && (\n \n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n {AutoSuggestAriaLabelText}\n ) : (\n ''\n )}\n {!StringExtensions.isNullOrEmpty(searchTextString) ? (\n <>\n \n {(form as ISearchFormViewProps).cancelBtn}\n {renderTitle(searchSuggestionHeading, searchText)}\n \n \n \n {CategorySuggestionsComponent(\n categorySuggestionHeading,\n noResultText,\n props,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n {KeywordSuggestionsComponent(\n KeywordSuggest,\n UlKeyword,\n keywordsHeading,\n noResultText,\n autosuggestKeyword,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n {ProductSuggestionsComponent(\n ProductSuggest,\n UlProduct,\n props,\n autosuggestProduct,\n isLoadingAutoSuggest,\n isLoadingNode\n )}\n \n \n ) : null}\n \n )}\n \n );\n};\nexport default SearchView;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { getPayloadObject, getTelemetryAttributes, getTelemetryObject, Module, Node } from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n ISignInItem,\n ISignInLoading,\n ISignInLocalAccount,\n ISignInSocialAccount,\n ISignInSocialItem,\n ISignInB2BAccount,\n ISignInB2BItem,\n ISignInViewProps,\n ISignInButton\n} from '@msdyn365-commerce-modules/account-management';\n\nimport { ISignInProps, ISignInResources } from '../definition-extensions/sign-in.ext.props.autogenerated';\n\nconst LocalAccount: React.FC = ({ localAccount, items, forgetPassword, disclaimer, error, signInButton }) => {\n return (\n \n {items &&\n items.map((item: ISignInItem) => {\n return (\n \n {item.label}\n {item.error}\n {item.input}\n \n );\n })}\n {forgetPassword}\n {disclaimer}\n {error}\n {signInButton}\n \n );\n};\n\nconst SocialAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInSocialItem) => {\n return (\n \n {item.image}\n {item.text}\n \n );\n })}\n \n );\n};\n\nconst B2BAccount: React.FC = ({ socialAccounts, items }) => {\n return (\n \n {items &&\n items.map((item: ISignInB2BItem) => {\n return (\n item && (\n \n {item.text}\n \n )\n );\n })}\n \n );\n};\n\nconst SignInLoading: React.FC = ({ modal, modalBody, icon, message }) => {\n return (\n \n \n {icon}\n {message}\n \n \n );\n};\nconst SignInButton: React.FC = ({ id, className, text, ariaLabel, telemetryContent, onClick }) => {\n const payLoad = getPayloadObject('click', telemetryContent!, text);\n const attributes = getTelemetryAttributes(telemetryContent!, payLoad);\n return (\n \n {text}\n \n );\n};\n\nconst signUpButton: React.FC> = (\n props: ISignInViewProps & ISignInProps\n) => {\n const {\n resources,\n telemetry,\n friendlyName,\n context: {\n request: { telemetryPageName }\n }\n } = props;\n const telemetryContent = getTelemetryObject(telemetryPageName!, friendlyName, telemetry);\n const attributes = {\n href: '#'\n };\n\n return (\n \n );\n};\n\nconst SignInView: React.FC> = props => {\n const {\n signIn,\n viewState,\n loading,\n defaultAADConainer,\n aadConainer,\n signInSection,\n signUpSection,\n signInSectionHeading,\n signInLocalAccount,\n signInSocialAccount,\n signUpSectionHeading,\n signInB2BAccount,\n signUpDescription\n } = props;\n\n return (\n \n {viewState.isShowLoading && }\n {viewState.isShowLoading && }\n \n \n {signInSectionHeading}\n {LocalAccount(signInLocalAccount)}\n {SocialAccount(signInSocialAccount)}\n \n \n {signUpSectionHeading}\n {signUpDescription}\n {signUpButton(props)}\n \n
    \n
    \n or\n
    \n {B2BAccount(signInB2BAccount)}\n
    \n
    \n
    \n );\n};\n\nexport default SignInView;\n"],"names":["_ref","id","value","className","isRequired","options","onChange","fieldReference","selectValue","isSubmittedPressed","resources","React","event","disabled","selected","select","map","option","key","NosCompanyTypePicker","constructor","props","super","_initializeDropdown","availableCompanyTypes","selectedValue","_selectedValue$value","tempOptions","el","BusinessSignUpDropdown","this","_onInputChange","newChosenLanguage","find","target","updateDropdown","_dataInitialize","data","reaction","result","_data$availableCompan","componentDidMount","shouldComponentUpdate","nextProps","nextState","state","render","_this$availableCompan","renderView","config","_objectSpread","CompanyTypePicker","moduleProps","classnames","__decorate","observable","CompanyTypePickerNode","Node","Module","Object","assign","NosCountryPicker","availableCountries","_data$availableCountr","_this$availableCountr","CountryPicker","CountryPickerNode","NosLanguagePicker","availableLanguages","_data$availableLangua","_this$availableLangua","LanguagePicker","LanguagePickerNode","ItemComponent","loading","itemProps","item","paymentId","setPaymentId","setPlaceOrderButtonVisible","PaymentContext","mutationObserver","accountPayment","setAccountPayment","ref","callback","arguments","length","undefined","attributes","attributeFilter","characterData","childList","subtree","current","observer","MutationObserver","observe","disconnect","useMutationObserver","forEach","classList","contains","dataset","typeName","checkoutPlainContainerProps","items","isCreditCard","values","includes","isSepa","isPayment","currentPaymentModule","type","defaultChecked","name","htmlFor","paymentMethodDefaultPayment","paymentMethodSepa","PickUpAtStoreComponent","PickUpAtStore","label","location","EmailDeliveryComponent","_ref2","EmailDelivery","LineItemComponent","_ref3","LineItem","pickUpAtStore","emailDelivery","LineItemGroupComponent","_ref4","LineItemDeliveryGroup","LineItemList","heading","lineItems","lineItem","LineId","LineItemGroupComponentWithMultiplePickUp","_ref5","lineItemWraper","lineItemWraperIcon","LineItemComponentWithMultiplePickUp","_ref6","PickUpAtStoreComponentWithMultiplePickUp","_ref7","LineItemsComponent","_ref8","LineItems","Header","editLink","itemsForPickup","itemsForShip","itemsForEmail","itemsGroupWithMulitplePickupMode","index","OrderSummaryComponent","_ref9","lines","subtotal","shipping","otherCharge","tax","totalDiscounts","loyalty","giftCard","orderTotal","PaymentSummaryComponent","_ref10","invoices","isPlaceOrderButtonVisible","isVisible","isPaymentVerificationRedirection","shouldEnableSinglePaymentAuthorizationCheckout","canShow","checkoutProps","headerProps","hasSalesOrder","hasInvoiceLine","bodyProps","mainProps","mainControlProps","sideProps","sideControlFirstProps","sideControlSecondProps","termsAndConditionsProps","orderConfirmation","alert","title","guidedForm","orderSummary","invoicePaymentSummary","placeOrderButton","termsAndConditions","checkoutExpressPaymentContainer","checkoutErrorRef","setPlaceOrderButtonState","setPaymentIdState","paymentContextValue","Waiting","Provider","_mapEditableLinks","linkdata","telemetryContent","editableLinks","payLoad","getPayloadObject","link","contentAction","etext","linkText","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","push","links","onTextChange","requestContext","Msdyn365","editProps","AccountLoyaltyTile","handleHeadingChange","text","handleLinkTextChange","linkIndex","signUpLinkText","viewLinkText","getTelemetryObject","context","request","telemetryPageName","friendlyName","telemetry","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","loyaltyCard","description","url","actionContext","CardNumber","decimalPrecision","points","RewardPoints","rewardPoint","ActivePoints","format","toFixed","viewProps","tag","onEdit","LinksComponent","DescriptionComponent","AccountProfileEdit","moduleClassName","onTextBoxChange","toLowerCase","givenName","surname","emailRegex","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","window","isInitialized","invalidEmailAddressError","obj","PRE","_htmlDecode","ID","email","PAT","PAT_DESC","message","required_field","requiredFieldMissingError","verifying_blurb","loadingMessage","EmailRegex","defaultRegex","source","componentDidUpdate","viewState","isShowLoading","accountProfileEdit","modal","Modal","isOpen","modalBody","ModalBody","icon","AccountProfileEditLoadingIconComponent","AccountProfileEditLoadingMessageComponent","defaultAADConainer","style","display","aadConainer","accountProfileEditLocalAccount","_renderLocalAccount","str","e","document","createElement","innerHTML","childNodes","nodeValue","localAccount","_renderInput","firstNameLabelText","firstNameMaxLength","lastNameLabelText","lastNameMaxLength","errorMessage","AccountProfileEditErrorComponent","requiredFieldMissingSummaryError","fieldIncorrectError","buttonsWrapper","buttons","AccountProfileEditButtonComponent","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","showEmail","emailAddressLabelText","labelText","maxLength","pattern","wrapper","AccountProfileEditLabelComponent","forId","input","AccountProfileEditInputComponent","AccountProfileEditItem","AccountProfileEditLoading","error","button","LocalAccount","onClick","Button","errorClassName","GetMaxLength","parsedMaxLength","Number","parseInt","isNaN","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","customerInformation","IsB2bAdmin","PasswordReset","newPasswordRegex","reenterPasswordRegex","PasswordRegex","passwordReset","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","passwordResetLocalAccount","newPasswordLabelText","confirmPasswordLabelText","PasswordResetErrorComponent","passwordEntryMismatchError","PasswordResetButtonComponent","PasswordResetLabelComponent","PasswordResetInputComponent","PasswordResetItem","PasswordResetLoading","CatalogPicker","handleTextChange","handleParagraphChange","paragraph","_heading$tag","_this$props$data$cata","catalogPickerHeading","Text","_moduleClassName","isCatalogsAvailable","ArrayExtensions","hasElements","catalogs","catalogPickerParagraph","RichTextComponent","catalogValidationText","handleText","catalogPicker","_renderCatalogPicker","_renderCatalogPickerButton","catalogId","RecordId","getCatalogId","currentCatalogText","linkToCatalog","isBrowser","_getUrlSync","catalogUrl","getUrlSync","fullUrl","URL","href","searchParams","set","changeCatalogButtonText","_this$props$data$cata2","reactKey","JSON","stringify","String","image","firstOrDefault","Images","tabIndex","Name","Image","src","generateImageUrl","apiSettings","Uri","gridSettings","imageSettings","galleryImageSettings","altText","AltText","loadFailureBehavior","CatalogPickerViewFunctionComponent","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","QRCode","size","CheckInErrorComponent","CheckInForPickup","checkInForOrderPickup","async","channelId","query","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","Key","Value","StringValue","SalesOrdersDataActions","callerContext","queryResultSettings","setState","headerErrorMessage","genericErrorMessage","isCheckedIn","Promise","resolve","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","params","isEditor","isPreview","requiredParameterMissingErrorMessage","additionalInformationKeys","_this$props$context$r5","isHeaderError","headerError","confirmationComponent","defaultConfirmationText","confirmationIdLabel","additionalInformationValues","additionalInformationHeading","_props$config$additio","FormBuilder","additionalInformationDefaultHeading","submitButtonText","additionalInformationSubmitButtonText","keys","requiredValueMissingErrorMessage","onSubmit","assembleNode","itemIndex","_item$links","renderHeading","additionalContentHeading","handleAdditionalTextChange","subtext","renderParagraph","additionalContentParagraphText","ctaLink","renderLinks","handleAdditionalLinkTextChange","additionalContentItemContainer","additionalContentItemLinks","contentBlockAdditionalContent","additionalContent","reactNodes","additionalContentNode","additionalContentItems","ContentCardLinks","btnClass","onTelemetryClick","ContentBlock","_this$props$config$im","imageAriaLabel","contentBlockTitle","contentBlockLinks","msdyn365__moduleLayout","contentBlockText","contentBlockImageSettings","backgroundColor","imageProps","contentBlockImage","preserveImageSpace","moduleType","imagePropertyName","moduleId","layout","shouldSkipToMainImage","contentBlockContainerStyle","contentBlockviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","componentClassName","headingClassName","orderCountClassName","OrderHistoryWithSearchAndFiltersHeaderComponent","createComponent","component","salesOrders","textProps","showOrderCount","extraActions","orderCount","orderCountText","orderCountLabel","ordersCountLabel","labelGroup","renderErrorLabel","responseErrorMessage","errorMessageClassName","renderRegisteredUserMessage","signInUrl","signInLinkClassName","registeredUserClassName","orderLookupRegisteredUserText","orderLookupViewAccountText","orderLookupSignInLinkText","infoMessage","signInText","renderFieldErrors","orderLookupFieldValidationErrorMessage","RenderOrderLookupAdditionalFieldInput","_getOrderLookupAdditionalFields","additionalFieldLabel","additionalFieldError","additionalFieldInput","additionalFieldLabelClassName","inputType","isValidAdditionalFieldName","additionalFieldValidationMessage","RenderOrderLookupFormFields","_getOrderLookupFields","orderLookupLabelClassName","orderLookupLabel","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","origin","redirectUrl","searchParameters","fieldName","StringExtensions","isNullOrWhitespace","replace","toLocaleLowerCase","fieldValue","toString","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","emailInputRef","additionalPropertyStates","isAdditionalFieldError","isKeyExistInAdditionalFieldArray","labelName","isValidFieldName","additionalfieldErrorMessage","ordernumber","isOrdNumberError","isReqError","isEmailError","isValidEmailError","isValidLookupField","isValidAdditionalLookupField","isDisabled","_renderAlert","orderLookupEmailValidationErrorMessage","orderLookupRequiredTextErrorMessage","requiredErrorMessage","isNullOrEmpty","emailValidationErrorMessage","isRequireError","isEmailValidError","isValidEmailInput","_renderOrderNumberAlert","orderLookupOrderNumberValidationErrorMessage","_renderOrderLookupInput","orderLookupEmailLabel","orderLookupEmailAriaLabel","_additionalFieldValidation","isFieldValid","RegExp","test","isValid","isDisable","trim","isEmailValid","orderLookupSearchAdditionalFields","_item$labelName","_item$ariaLabel","_item$validationMessa","validationMessage","_context$request$user","orderLookupDefaultHeadingText","orderLookupButtonLabel","orderLookupFormAriaLabel","orderLookupOrderNumberLabel","orderLookupOrderNumberAriaLabel","orderLookupSubmitAriaLabel","headingText","headingTag","orderLookupContainerClassName","orderLookupFormClassName","orderLookupAdditionalFiledContainerClassName","orderLookupFormFieldsClassName","orderNumberLabelClassName","orderNumberInputErrorClassName","submitButtonClassName","signinLinkClassName","orderLookupHeading","orderLookup","orderLookupContainer","orderLookupAdditionalFieldContainer","_createParagraph","renderOrderLookupInputField","orderLookupForm","autoComplete","orderNumberInput","submitButton","submitButtonLabelText","fieldErrorMessage","registeredUserMessage","user","submit","_renderAdditionalFields","_getExtensibleEnumera","_getExtensibleEnumera2","isOrderLookupAdditionalFieldValid","isOrderLookupFieldValid","getExtensibleEnumerations","StoreOperationsDataActions","TypeName","ExtensibleEnumerations","orderLookupAdditionalParameter","validateOrderLookupField","orderStatusLookUpParameter","isValidField","validateOrderLookupAdditionalField","orderStatusLookUpAdditionalParameters","isValidAdditionalField","_item$fieldKey","fieldKey","validateAdditionalFieldWithProxy","some","setLookupFieldState","additionalFieldsInput","OrderLookupViewComponent","_orderLookupForm$clas","_submitButton$classNa","ProductSpecificationTableRow","productName","cellData","scope","dangerouslySetInnerHTML","getRichTextHtml","ProductSpecification","_toggle","drawerListId","isDrawerOpen","isAdditionalMediaDrawerOpen","validateCatalogId","product","actionInput","AttributesForSelectedVariantInput","getAttributesForSelectedVariant","catch","debug","productSpecificationData","isAccrodion","displayStyle","ProductSpecificationTableProps","ProductSpecificationTableBodyProps","productSpecificationResult","_createDrawerBody","_createTableBody","content","_this$props$data$addi","tableRows","_renderProductCell","app","OmniChannelMedia","additionalMediaLocations","_createAdditionalMediaDrawer","_this$props$data$addi2","accordionItemContainer","drawers","_product$Name","Drawer","collapseProps","timeout","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","onToggle","additionalDownloadsText","prevState","mediaLocation","download","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","rowdata","filter","row","TileList","_telemetryContent","Heading","_this$props$config$cl","propsCarousel","SingleSlideCarousel","flipperPrevLabel","flipperPrevious","flipperNextLabel","flipperNext","parentId","vertical","_createHeading","singleSlideCarouselComponentProps","tileItemContainer","tileListContainer","tileListHeading","tiles","slots","tileListView","tileItem","keyIndex","SummaryForm","formProps","addPaymentButton","appliedLine","bottomBorder","paymentAmountInput","EditForm","inputLabel","inputAmount","customerName","customerAccountNumber","customerSince","accountCredit","accountDetails","checkoutCustomerAccount","summaryView","editView","moduleState","isReady","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","count","amount","OrderHistoryGroupDelivery","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","groupProps","delivery","salesLinesProps","salesLines","salesLine","OrderHistoryGroups","groupsProps","groups","group","OrderHistoryHeader","OrderHistorySalesOder","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","placedBy","OrderHistoryList","listProps","salesOrder","orderHistoryProps","header","emptyMessage","backToShoppingLink","list","table","moreButton","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","lazyload","viewports","xs","w","h","q","renderProductNotFoundResultsImage","emptyMobileSearchTextHeading","emptyMobileSearchText","FormComponent","form","searchForm","formWrapper","isMobile","clearSearchButtonText","isSearchText","clearSearch","cancelButtonNode","cancelBtnAriaLabel","cancelBtn","renderClearButton","submitBtn","renderKeywordSuggestionsTitle","keywordsHeading","KeywordSuggestionsComponent","keywordSuggest","ulKeyword","keywordSuggestions","renderProductSuggestionsTitle","productSuggestionsHeading","productAutoSuggestionHeading","renderProductNotFoundResults","noResultContentHeadingText","noResultContentParagraphText","ProductSuggestionsComponent","productSuggest","ulProduct","productSuggestions","productSuggestionHeading","_item$id","LiProduct","AProduct","thumbnail","price","renderTitle","searchSuggestionHeading","searchText","searchTextString","concat","searchAutoSuggestionHeading","Search","AutoSuggestAriaLabel","AutoSuggestAriaLabelText","AutoSuggest","KeywordSuggest","ProductSuggest","UlKeyword","UlProduct","autosuggestKeyword","autosuggestProduct","SearchForm","FormWrapper","callbacks","handleCancelSearchFocused","categorySuggestionHeading","setSearchTextString","useState","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","addEventListener","viewport","onBlur","isSearchFormExpanded","SignInLoading","SignInButton","signIn","signInSection","signUpSection","signInSectionHeading","signInLocalAccount","signInSocialAccount","signUpSectionHeading","signInB2BAccount","signUpDescription","forgetPassword","disclaimer","signInButton","socialAccounts","SocialAccount","b2bSignUpButtonAriaLabel","b2bSignUpButtonText","signUpButton","B2BAccount"],"sourceRoot":""}