{"version":3,"file":"static/js/14.3a63f5f029a1f1ca40f3.chunk.js","mappings":";+NAqBA,MAAMA,EAAmBA,CAACC,EAA8CC,EAAuBC,EAA8BC,EACzHC,EAAuCC,EAAmCC,EAA2BC,EAAyBC,IAE1HF,EACQG,EAAAA,cAAAA,EAAAA,SAAA,KACHH,GAILN,EACOA,EAAUU,KAAKC,IAClB,MAAMC,EAAwBC,EAAkBF,GAChD,OACIF,EAAAA,cAAA,OAAKK,UAAWC,GAAAA,CAAW,sBAAuBH,EAAwB,gBAAkB,IAAKI,IAAKL,EAASM,YAC1GN,EAASO,SAENf,GAAiBQ,EAASQ,cAC1BV,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKX,EAASQ,cAAcI,gBACxBZ,EAASQ,cAAcK,kBACtB,MAETZ,GACDH,EAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,+BACZL,EAAAA,cAACgB,EAAAA,cAAa,CAACC,UAAWlB,MAAAA,OAAK,EAALA,EAAOkB,UAA6BC,QAASnB,MAAAA,OAAK,EAALA,EAAOoB,OAAuBC,QAASrB,MAAAA,OAAK,EAALA,EAAOqB,QAASlB,SAAUA,EAAUmB,SAAU9B,KAUhKW,EAASoB,mBACLtB,EAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,gCACXH,EAASqB,OACTrB,EAASsB,cACTtB,EAASoB,oBAGdtB,EAAAA,cAAAA,EAAAA,SAAA,KACKE,EAASqB,OACTrB,EAASsB,mBAQ9B1B,EACJE,EAAAA,cAAA,OAAKK,UAAU,wBACXL,EAAAA,cAAA,KAAGK,UAAU,iBACRb,GAEJG,GAELK,EAAAA,cAAAA,EAAAA,SAAA,KACCJ,GAMHQ,EAAqBF,IAA0C,IAAAuB,EAAAC,EAEjE,QADuBC,EAAsBzB,MAAAA,GAAc,QAANuB,EAARvB,EAAU0B,YAAI,IAAAH,GAAU,QAAVC,EAAdD,EAAgBhB,gBAAQ,IAAAiB,OAAhB,EAARA,EAA0BG,gBAAkB,yCAIvFF,EAAwBA,CAACG,EAAkCC,KAC7D,GAAID,EAAY,CACZ,MAAME,EAAYF,MAAAA,OAAU,EAAVA,EAAYG,MAAKC,GAAKA,EAAEC,MAAQJ,IAClD,GAAIC,EACA,OAAOA,EAAUI,UAGzB,OAAO,MAuHLC,EAA6BA,CAACC,EAAoBC,EAAsBC,EAC1EC,EAAuBvC,EAA+BwC,KAAkC,IAAAC,EACxF,MAAMC,EAA6D,QAA9CD,EAAwBzC,EAASQ,qBAAa,IAAAiC,OAAA,EAAtBA,EAAwBC,gBACrE,IAAIC,EACAC,EAOJ,OALAD,EAAaD,EAAkBN,EAAaC,EAC5CO,EAAkBF,EAAkB,SAAW,WAC/CC,EAAa3C,EAAS0B,MAAQ1B,EAAS0B,KAAKnB,SAASsC,eAAiBL,EAAwBF,EAAoBK,EAClHC,EAAkB5C,EAAS0B,MAAQ1B,EAAS0B,KAAKnB,SAASsC,eAAiBL,EAAwB,QAAUI,EAGzG9C,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,OAAKK,UAAU,8CACXL,EAAAA,cAAA,KAAGK,UAAW,8CAA8CyC,EAAgBE,uBAC5EhD,EAAAA,cAAA,KAAGK,UAAW,8CAA8CyC,EAAgBE,iBACvEH,GAzCaI,EAAC/C,EAA+BuC,KAAyB,IAAAS,EAAAC,EAAAC,EACvF,MAAMR,EAA6D,QAA9CM,EAAwBhD,EAASQ,qBAAa,IAAAwC,OAAA,EAAtBA,EAAwBN,gBACrE,OACI5C,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,oDACXuC,EAAkB5C,EAAAA,cAAA,KAAGK,UAAU,uDACL,QAD0D8C,EAChFjD,EAASQ,qBAAa,IAAAyC,OAAA,EAAtBA,EAAwBE,eACxBZ,EACsB,QADTW,EACblD,EAASQ,qBAAa,IAAA0C,OAAA,EAAtBA,EAAwBE,aACtB,QAkCNL,CAA0B/C,EAAUuC,MAiErD,EAtB4C1C,IAAqB,IAAAwD,EAAAC,EA5KtCC,EAkEAC,EA0GsC,OAC7D1D,EAAAA,cAAA,MAAAY,OAAAC,OAAA,CAAKR,UAAWN,EAAMM,UAAWsD,GAAI5D,EAAM4D,IAAQ5D,EAAM6D,uBAAuB7D,IAC3EA,EAAM8D,QACK,QAAXN,EAACxD,EAAM+D,YAAI,IAAAP,GAAVA,EAAYQ,iBAAkBhE,EAAMiE,mBA7GnBN,EA6GyD3D,EAAMiE,iBA3GlFhE,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK6C,EAAWO,yBAChBP,EAAWQ,iBACXR,EAAWS,oBACXT,EAAWU,mBAwGnBrE,EAAMsE,sBApCetE,CAAAA,GACtBA,EAAMuE,gBAAkBC,EAAAA,gBAAgBC,YAAYzE,EAAMuE,gBAEtDtE,EAAAA,cAAA,OAAKK,UAAU,wBACTN,EAAMuE,eAAerE,KAAIwE,IAAY,IAAAC,EACnC,OAAQ1E,EAAAA,cAAA,OAAKO,IAAKkE,EAAU,GAAGjE,WAAYH,UAAU,+BAChDgC,EAA2BtC,EAAMkB,UAAUqB,WAAYvC,EAAMkB,UAAUsB,aACpExC,EAAMkB,UAAU0D,kBAAmB5E,EAAMkB,UAAUwB,cAAegC,EAAU,GAC1B,QAD4BC,EAC9E3E,EAAMqB,QAAQwD,cAAcC,eAAeC,eAAO,IAAAJ,OAAA,EAAlDA,EAAoDK,uBACvDzF,EAAiBmF,EAAW1E,EAAMkB,UAAU+D,cAAejF,EAAMN,iBAAkBM,EAAML,cACtFK,EAAMJ,qBAAsBI,EAAMH,iBAAkBG,EAAMF,kBAAmBE,EAAMD,eAAgBC,QAMnHA,EAAMD,eACVE,EAAAA,cAAA,OAAKK,UAAU,uBACXL,EAAAA,cAAA,OAAKK,UAAU,wBACXL,EAAAA,cAAA,KAAGK,UAAU,iBACRN,EAAMkB,UAAU+D,eAEpBjF,EAAMJ,uBAGfK,EAAAA,cAAAA,EAAAA,SAAA,KACCD,EAAMH,kBAUwBqF,CAAqBlF,GAASC,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKd,EAAMN,kBACxEH,EAAiBS,EAAM0E,UAAW1E,EAAMkB,UAAU+D,cAAejF,EAAMN,iBAAkBM,EAAML,cAC5FK,EAAMJ,qBAAsBI,EAAMH,iBAAkBG,EAAMF,kBAAmBE,EAAMD,eAAgBC,IAE1GA,EAAMmF,qBACHlF,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKd,EAAMoF,qBACXpF,EAAMmF,oBACI,QAAV1B,EAAAzD,EAAM+D,YAAI,IAAAN,GAAVA,EAAYO,eApKMqB,EAACC,EAAuDC,EAA+BvF,IAEjHsF,EAKDrF,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKyE,GACLD,EAAoBE,SACpBF,EAAoBG,SACpBH,EAAoBI,QACpBJ,EAAoBK,aARzB3F,EAAMqB,QAAQuE,UAAUC,MAAM,uDACvB,MAgK+BR,CAA2BrF,EAAM8F,wBAAyB9F,EAAMuF,kBAAmBvF,GA7IhG+F,EAACC,EAAmDT,EAA+BvF,IAE3GgG,EAKD/F,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKyE,GACLvF,EAAMiG,UACND,EAAkBE,SAClBF,EAAkBG,SAClBH,EAAkBI,YAClBJ,EAAkBK,IAClBL,EAAkBM,eAAiBN,EAAkBM,eAAiB,KACtEN,EAAkBL,aAXvB3F,EAAMqB,QAAQuE,UAAUC,MAAM,qDACvB,MAyI2HE,CAAyB/F,EAAMuG,sBAAuBvG,EAAMuF,kBAAmBvF,IAvL9L0D,EAwLQ1D,EAAMwG,qBAvLlBhC,EAAAA,gBAAgBC,YAAYf,EAAU+C,QAIrDxG,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK4C,EAAUgD,SACfhD,EAAUiD,OACVjD,EAAU+C,QALR,KAuLEzG,EAAM4G,2BACN5G,EAAM6G,sBACN7G,EAAMJ,qBACNI,EAAM8G,8BAEd9G,EAAML,4LCtQf,MAAMoH,EAAkC,iCAClCC,EAAuC,4BACvCC,EAAwC,yCAGjChG,EAAwDiG,IAAsD,IAAAC,EAAAC,EAAAC,EAAA,IAArD,QAAChG,EAAO,SAAElB,EAAQ,SAAEmB,EAAQ,QAAEH,EAAO,UAAED,GAAUgG,EAEnH,MAAMI,EAA0BnG,MAAAA,OAAO,EAAPA,EAASoG,gBACnCC,EAAgD,CAClDC,aAAavG,MAAAA,OAAS,EAATA,EAAWwG,2BAA4B,GACpDC,yBAAyBzG,MAAAA,OAAS,EAATA,EAAWyG,0BAA2B,GAC/DC,0BAA0B1G,MAAAA,OAAS,EAATA,EAAW0G,2BAA4B,IAG/DC,EAAYxG,MAAAA,GAAsB,QAAf8F,EAAP9F,EAASwD,qBAAa,IAAAsC,GAAgB,QAAhBC,EAAtBD,EAAwBrC,sBAAc,IAAAsC,GAAa,QAAbC,EAAtCD,EAAwCU,mBAAW,IAAAT,OAA5C,EAAPA,EAAqDQ,UACjEhD,EAAgBxD,MAAAA,OAAO,EAAPA,EAASwD,eA+CnC,SAA0DxD,GAAqB,IAAA0G,EAAAC,EAAAC,EAAAC,EAAAC,EAC3E,MAAMtD,EAAgBxD,MAAAA,OAAO,EAAPA,EAASwD,cAC5BxD,IAAYA,EAAQuE,YACnBvE,EAAQuE,UAAYf,EAAce,WACnCvE,IAAYA,EAAQ+G,mBACnB/G,EAAQ+G,iBAAmB,IAAIC,EAAAA,GAC3BxD,MAAAA,GAA6B,QAAhBkD,EAAblD,EAAeC,sBAAc,IAAAiD,OAAhB,EAAbA,EAA+BO,OACiB,QADXN,EACrCnD,MAAAA,GAA6B,QAAhBoD,EAAbpD,EAAeC,sBAAc,IAAAmD,GAAS,QAATC,EAA7BD,EAA+BlD,eAAO,IAAAmD,OAAzB,EAAbA,EAAwCK,gBAAQ,IAAAP,EAAAA,EAAI,MACpDnD,MAAAA,GAA6B,QAAhBsD,EAAbtD,EAAeC,sBAAc,IAAAqD,OAAhB,EAAbA,EAA+BK,QArDvCC,CAAiDpH,GAEjD,MAAOqH,EAAkBC,IAAuBC,EAAAA,EAAAA,UAA0B,KACnEC,EAAiBC,IAAsBF,EAAAA,EAAAA,WAAkB,GAsBhE,OApBA3I,IAAAA,WAAgB,KACZ,GAAIqH,EAAyB,CACPyB,WAAW,IAAArH,EACzB,MAAMsH,QA8JtBD,eAAoCE,EAAmBpB,EAAmBhD,GACtE,aAAaqE,EAAAA,EAAAA,yBAAwB,CAAEC,cAAetE,GAAgBoE,EAAWpB,EAAW,GA/JhDuB,CAAkC,QAAd1H,EAACvB,EAAS0B,YAAI,IAAAH,OAAA,EAAbA,EAAehB,SAAS2I,UAAYxB,EAAWhD,GAC9FyE,GAA8BC,EAAAA,EAAAA,IAA2BP,EAvBxC,iBAuBoF7G,GAAMA,EAAEqH,eAAc,GAIjI,GAFAV,EAAmBQ,GAEfA,EAA6B,CAC7B,MAAMG,QAAiBC,EAAAA,EAAAA,GAA6BpC,EAAyBO,EAAWhD,GACxF8D,EAAoBc,KAG5BE,GAAYC,MAAMC,QAAQhE,YAG1BgE,QAAQhE,MAAM,wCAEpB,IAGE5F,IAAAA,cAAAA,IAAAA,SAAA,KAEI4I,GACA5I,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,yCACXwJ,EAA+B3J,EAAUkB,EAAUmG,EAAuBkB,GAEvEqB,EAAuB5J,IACvBF,IAAAA,cAAA,WACIA,IAAAA,cAAA,OAAKK,UAAU,mCACToI,EAAiBxI,KAAI8J,GAsBnD,SAA+B7J,EAA+BmB,EAAiC0I,EAAwB3I,GAAqB,IAAA4I,EACxI,MAAMC,EAAmB3J,GAAAA,CAAW,uBAAwB4J,EAA6BhK,EAAUmB,KAAc0I,EAAQI,SAAW,oBAAsB,IAC1J,OACInK,IAAAA,cAAA,OAAKK,UAAW4J,EAAkBG,QAASC,EAA8BnK,EAAU6J,EAAS3I,IACxFpB,IAAAA,cAAA,OAAKK,UAAU,8BACXL,IAAAA,cAAA,OAAKK,UAAU,6BAA6BiK,IAAKP,GAAWA,EAAQQ,mBAExEvK,IAAAA,cAAA,OAAKK,UAAU,gCACXL,IAAAA,cAAA,OAAKK,UAAU,8BACVe,MAAAA,GAAyB,QAAlB4I,EAAP5I,EAAS+G,wBAAgB,IAAA6B,OAAlB,EAAPA,EAA2BQ,eAAeT,EAAQU,kBA/BTC,CAAsBxK,EAAUmB,EAAU0I,EAAS3I,UAsCjH,MAAMyI,EAAiCA,CAAC3J,EAA+ByK,EAAmB1J,EAAmCwH,KAA0D,IAAAmC,EAAAC,EACnL,IAAIC,GAAQC,EAAAA,EAAAA,IAAyB7K,MAAAA,GAAc,QAAN0K,EAAR1K,EAAU0B,YAAI,IAAAgJ,GAAU,QAAVC,EAAdD,EAAgBnK,gBAAQ,IAAAoK,OAAhB,EAARA,EAA0BhJ,gBAAkBkF,GAA8B,GAC/G,MAAMiE,GAAwB,IAAVF,EAAkB,SAAY,UAC5CG,GAAwB,IAAVH,EAAkB,OAAU,QAC1CI,EAAcJ,EAGpB,OACI9K,IAAAA,cAAA,OAAKK,UAAWC,GAAAA,CAAW,qBAAsB,6BAA8B,oCAC3EN,IAAAA,cAAA,MAAIK,UAAU,8BAA8BY,EAAUuG,aAElDxH,IAAAA,cAAA,OAAKK,UAAW,iEAAiE2K,KAE7EhL,IAAAA,cAAA,QAAMK,UAAU,2CAA2CY,EAAU0G,0BACrE3H,IAAAA,cAACmL,EAAAA,OAAM,CACH9K,UAAWC,GAAAA,CAAW,oCAAqC,8BAA8B0K,YAAqB,aAClG,GAAG/J,EAAUuG,cAAa,eACxB0D,EACdJ,MAAOG,EACPb,QAASgB,EAA6BlL,EAAUyK,GAAMG,EAAOrC,GAC7D4C,UAAU,IAEdrL,IAAAA,cAAA,QAAMK,UAAU,0CAA0CY,EAAUyG,4BAOlF2C,EAAgCA,CAACnK,EAA+B6J,EAAwB3I,IACnF0H,UAAW,IAAAwC,EAAAC,EACd,MAAM3G,EAAgBxD,EAAQwD,cACxB4G,QAAkBC,EAAAA,EAAAA,cAAa7G,GAC/B8G,EAAmBF,MAAAA,GAAe,QAANF,EAATE,EAAW1H,YAAI,IAAAwH,GAAW,QAAXC,EAAfD,EAAiBK,iBAAS,IAAAJ,OAAjB,EAATA,EAA4BtJ,MAAKC,GAAKA,EAAE0J,SAAW1L,EAASM,aACrF,GAAIkL,EAAkB,KAAAG,EAClBH,EAAiB7J,gBAAkB6J,EAAiB7J,iBAAmB,GACvD,CACZ,CAAEiK,cAAehF,EAAyBgE,MAAOf,EAAQI,SAAS4B,YAClE,CAAED,cAAe9E,EAA+B8D,MAAOkB,EAAuBjC,KAExE9J,KAAIiC,IAAI,IAAA+J,EACd,IAAIC,EAAiD,QAAnCD,EAAGP,EAAiB7J,uBAAe,IAAAoK,OAAA,EAAhCA,EAAkChK,MAAKkK,GAAKA,EAAEhK,OAASD,EAAE4J,gBAGvE,IAAAM,EAFHF,GACAG,EAAAA,EAAAA,IAAoBH,EAAsChK,EAAE4I,OAE5B,QAAhCsB,EAAAV,EAAiB7J,uBAAe,IAAAuK,GAAhCA,EAAkCE,MAAKC,EAAAA,EAAAA,IAAoBrK,EAAE4J,cAAgB5J,EAAE4I,iBAGjF0B,EAAAA,EAAAA,sBAAqB,CAAEtD,cAAetE,GAAiB4G,MAAAA,OAAS,EAATA,EAAW1H,KAAK2I,GAAIjB,MAAAA,GAAe,QAANK,EAATL,EAAW1H,YAAI,IAAA+H,OAAN,EAATA,EAAiBF,iBAC5FH,EAAUkB,YAAY,MAKlCtB,EAA+BA,CAAClL,EAA+BkB,EAAuB0J,EAAgBrC,IACjGK,UAAY,IAAA6D,EAAAC,EACf,MAAMhI,EAAgBxD,EAAQwD,cACxB4G,QAAkBC,EAAAA,EAAAA,cAAa7G,GAC/B8G,EAAmBF,MAAAA,GAAe,QAANmB,EAATnB,EAAW1H,YAAI,IAAA6I,GAAW,QAAXC,EAAfD,EAAiBhB,iBAAS,IAAAiB,OAAjB,EAATA,EAA4B3K,MAAKC,GAAKA,EAAE0J,SAAW1L,EAASM,aACrF,GAAIkL,EAAkB,KAAAmB,EAAAC,EAAAC,EAClBrB,EAAiB7J,gBAA+I,QAAhIgL,EAAmC,QAAnCC,EAAGpB,EAAiB7J,uBAAe,IAAAiL,OAAA,EAAhCA,EAAkCE,QAAO9K,GAAKA,EAAEC,OAAS2E,GAA2B5E,EAAEC,OAAS6E,WAA8B,IAAA6F,EAAAA,EAAI,GAEpK,IAAII,EAAmB,CACnB,CAAEnB,cAAe/E,EAA8B+D,MAAOA,EAAOoC,KAAM,YAGvE,IAAc,IAAVpC,GAAkBrC,GAAoBA,EAAiB0E,OAAS,EAAG,CACnE,IAAIpD,EAAUtB,EAAiB,GAC/BwE,EAAUX,KAAK,CAAER,cAAehF,EAAyBgE,MAAOf,EAAQI,SAAS4B,WAAYmB,KAAM,SACnGD,EAAUX,KAAK,CAAER,cAAe9E,EAA+B8D,MAAOkB,EAAuBjC,GAAUmD,KAAM,SAGjHD,EAAUhN,KAAIiC,IAAI,IAAAkL,EACd,IAAIlB,EAAiD,QAAnCkB,EAAG1B,EAAiB7J,uBAAe,IAAAuL,OAAA,EAAhCA,EAAkCnL,MAAKkK,GAAKA,EAAEhK,OAASD,EAAE4J,gBAMvE,IAAAuB,EAAAC,EALHpB,GACc,SAAXhK,EAAEgL,OACDb,EAAAA,EAAAA,IAAoBH,EAAsChK,EAAE4I,OAClD,YAAX5I,EAAEgL,OACDK,EAAAA,EAAAA,IAAuBrB,EAAsChK,EAAE4I,SAErD,SAAX5I,EAAEgL,OAC+B,QAAhCG,EAAA3B,EAAiB7J,uBAAe,IAAAwL,GAAhCA,EAAkCf,MAAKC,EAAAA,EAAAA,IAAoBrK,EAAE4J,cAAgB5J,EAAE4I,SACrE,YAAX5I,EAAEgL,OAC+B,QAAhCI,EAAA5B,EAAiB7J,uBAAe,IAAAyL,GAAhCA,EAAkChB,MAAKkB,EAAAA,EAAAA,IAAuBtL,EAAE4J,cAAgB5J,EAAE4I,mBAIxF0B,EAAAA,EAAAA,sBAAqB,CAAEtD,cAAetE,GAAiB4G,MAAAA,OAAS,EAATA,EAAW1H,KAAK2I,GAAIjB,MAAAA,GAAe,QAANuB,EAATvB,EAAW1H,YAAI,IAAAiJ,OAAN,EAATA,EAAiBpB,iBAC5FH,EAAUkB,YAAY,MASxC,MAAM5C,EAA0B5J,IAAiC,IAAAuN,EAAAC,EAC7D,OAAO3C,EAAAA,EAAAA,IAAyB7K,MAAAA,GAAc,QAANuN,EAARvN,EAAU0B,YAAI,IAAA6L,GAAU,QAAVC,EAAdD,EAAgBhN,gBAAQ,IAAAiN,OAAhB,EAARA,EAA0B7L,gBAAkBkF,GAA8B,IAGxGmD,EAA+BA,CAAChK,EAA+BmB,KAAmC,IAAAsM,EAAAC,EACpG,MAAMC,GAAoBlM,EAAAA,EAAAA,IAAsBzB,MAAAA,GAAc,QAANyN,EAARzN,EAAU0B,YAAI,IAAA+L,GAAU,QAAVC,EAAdD,EAAgBlN,gBAAQ,IAAAmN,OAAhB,EAARA,EAA0B/L,gBAAkBiF,GAC5F,OAAO+G,EAAoBC,SAASD,GAAqB,MAGvD7B,EAA0BjC,IACf,IAAAgE,EAAb,OAAIhE,EACO,GAAGA,EAAQiE,UAA4B,QAAtBD,EAAIhE,EAAQkE,kBAAU,IAAAF,OAAA,EAAlBA,EAAoB9N,KAAIiC,IAAC,IAAAgM,EAAA,OAAIhM,MAAAA,GAAiB,QAAhBgM,EAADhM,EAAGiM,sBAAc,IAAAD,OAAhB,EAADA,EAAmBE,eAAaC,KAAK,OAE3F,+ICpOL,MAAOC,EAITC,YAAYC,GACRA,EAAcA,GAAe,GAE7BC,KAAKC,SAAWF,EAAYE,SAC5BD,KAAKE,aAAeH,EAAYG,cCSlC,SAAUC,EAAqBC,EAAoBC,GAGrD,OANO,IAAIC,EAAAA,kBAMEC,qCACT,mBACA,EACAC,EACA,QACA,CAAEC,YAAa,MAAOC,aAAc,sCACpC,CACIC,UAAW,CACPC,WAAYR,EACZS,SAAUR,iBCS1B,MAAMS,EAAqC,4BACrCC,EAAqC,yBACrCC,EAAmC,uBACnCC,EAAwC,4BACxCC,EAAsC,0BAGtC,MAAOC,UAAsB5P,IAAAA,UAE/BuO,YAAYxO,EAAqC8P,GAC7CC,MAAM/P,GAuFO,KAAAgQ,yBAA4BC,IACzCvB,KAAKwB,SAAS,CACVC,KAAMF,EAAEG,OAAOrF,MACfsF,YAAY,EACZzB,kBAAc0B,KAIL,KAAAC,uBAA0BN,IACvCvB,KAAKwB,SAAS,CACVM,GAAIP,EAAEG,OAAOrF,MACbsF,YAAY,EACZzB,kBAAc0B,KAIL,KAAAG,4BAA+BR,IAC5CvB,KAAKwB,SAAS,CACVQ,QAAST,EAAEG,OAAOrF,MAClBsF,YAAY,EACZzB,kBAAc0B,KAIL,KAAAK,0BAA6BC,IAC1C,GAAGA,EAAMR,OAAOS,OAASD,EAAMR,OAAOS,MAAMzD,OAAS,GAAKwD,EAAMR,OAAOS,MAAM,GAAG,CAC5E,MAAMC,EAAS,IAAIC,WACbC,EAAYJ,EAAMR,OAAOS,MAAM,GAC/B9B,EAAWiC,EAAUhP,KAC3B8O,EAAOG,OAAUC,IACbxC,KAAKwB,SAAS,CACViB,MAAOD,EAAGd,OAAOgB,OACjBC,UAAWtC,EACXsB,YAAY,EACZzB,kBAAc0B,KAGtBQ,EAAOQ,QAAWJ,IACdxC,KAAKwB,SAAS,CACVtB,aAAc,oFAGtBkC,EAAOS,cAAcP,GAIrBJ,EAAMR,OAAOrF,MAAQ,OAIZ,KAAAyG,kBAAoB,KACjC9C,KAAKwB,SAAS,CACVG,YAAY,EACZc,WAAOb,EACPe,eAAWf,EACX1B,kBAAc0B,KAIL,KAAAmB,sBAAwB1I,UACrC,MAAM,GAAEyH,EAAE,KAAEL,EAAI,QAAEO,EAAO,MAAES,EAAK,UAAEE,GAAc3C,KAAKoB,MACrD,IAAInB,EAAWwC,EAEf,GAAIX,GAAML,GAAQO,EAAS,CAIR,IAAAgB,EAAf,GAFAhD,KAAKwB,SAAS,CAAEyB,eAAe,IAE3BN,EAEA,GADA1C,QAAiBiD,EAA2C,QAAnBF,EAAChD,KAAK1O,MAAMqB,eAAO,IAAAqQ,OAAA,EAAlBA,EAAoB7M,cAAgBsM,EAAQE,IACjF1C,EAED,YADAD,KAAKwB,SAAS,CAAEtB,aAAc,4EAA6E+C,eAAe,IAMlI,aAFME,EAAwBnD,KAAK1O,MAAMG,SAAUuO,KAAK1O,MAAMqB,QAAUmP,EAAKL,EAAOO,EAAU/B,QAC9FD,KAAKoD,gCAILpD,KAAKwB,SAAS,CAAEtB,aAAc,iGAIrB,KAAAmD,YAAc,KAC3BrD,KAAKoD,iCA1KLpD,KAAKoB,MAAQ,CACTO,YAAY,EACZ2B,YAAY,EACZC,cAAc,EACdN,eAAe,EACf9I,iBAAiB,GAIzB,0BACI,OAAO6F,KAAKoB,MAAMO,WAGtB,sBACI,OAAO3B,KAAKwD,qBAAuBxD,KAAKoB,MAAMkC,WAGlDG,oBACIzD,KAAKoD,gCAEa/I,WAAW,IAAAqJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACzB,MAAMzJ,QAA0BE,EAAAA,EAAAA,yBAAwB,CAAEC,cAAiC,QAApBiJ,EAAE1D,KAAK1O,MAAMqB,eAAO,IAAA+Q,OAAA,EAAlBA,EAAoBvN,eAA0C,QAA1BwN,EAAE3D,KAAK1O,MAAMG,SAAS0B,YAAI,IAAAwQ,OAAA,EAAxBA,EAA0B3R,SAAS2I,UAA8B,QAApBiJ,EAAE5D,KAAK1O,MAAMqB,eAAO,IAAAiR,GAAe,QAAfC,EAAlBD,EAAoBzN,qBAAa,IAAA0N,GAAgB,QAAhBC,EAAjCD,EAAmCzN,sBAAc,IAAA0N,GAAa,QAAbC,EAAjDD,EAAmD1K,mBAAW,IAAA2K,OAA5C,EAAlBA,EAAgE5K,UAAY,GACpOyB,GAA8BC,EAAAA,EAAAA,IAA2BP,EA5BpC,iBA4BgF7G,GAAMA,EAAEqH,eAAc,GAEjIkF,KAAKwB,SAAS,CAACrH,gBAAiBS,KAGpCK,GAAYC,MAAMC,QAAQhE,OAG9BiM,gCAA6B,IAAAY,EAAAhR,EAAAC,EAAAgR,EAAA9H,EAAAC,EAAA8H,EAAAlF,EAAAC,EAAAkF,EAAAjF,EAAAC,EACzB,MAAM,SACF1N,GACAuO,KAAK1O,MAEHmQ,EAAoG,QAAhGuC,GAAG9Q,EAAAA,EAAAA,IAAsBzB,MAAAA,GAAc,QAANuB,EAARvB,EAAU0B,YAAI,IAAAH,GAAU,QAAVC,EAAdD,EAAgBhB,gBAAQ,IAAAiB,OAAhB,EAARA,EAA0BG,gBAAkB2N,UAA2B,IAAAiD,EAAAA,EAAI,GACxGlC,EAAgG,QAA9FmC,GAAG/Q,EAAAA,EAAAA,IAAsBzB,MAAAA,GAAc,QAAN0K,EAAR1K,EAAU0B,YAAI,IAAAgJ,GAAU,QAAVC,EAAdD,EAAgBnK,gBAAQ,IAAAoK,OAAhB,EAARA,EAA0BhJ,gBAAkB4N,UAAyB,IAAAiD,EAAAA,EAAI,GACpGjC,EAA0G,QAAnGkC,GAAGhR,EAAAA,EAAAA,IAAsBzB,MAAAA,GAAc,QAANuN,EAARvN,EAAU0B,YAAI,IAAA6L,GAAU,QAAVC,EAAdD,EAAgBhN,gBAAQ,IAAAiN,OAAhB,EAARA,EAA0B7L,gBAAkB6N,UAA8B,IAAAiD,EAAAA,EAAI,GAC9GzB,EAAsG,QAAjG0B,GAAGjR,EAAAA,EAAAA,IAAsBzB,MAAAA,GAAc,QAANyN,EAARzN,EAAU0B,YAAI,IAAA+L,GAAU,QAAVC,EAAdD,EAAgBlN,gBAAQ,IAAAmN,OAAhB,EAARA,EAA0B/L,gBAAkB8N,UAA4B,IAAAiD,EAAAA,EAAI,GAEhHnE,KAAKwB,SAAS,CACVC,KAAMA,EACNK,GAAIA,EACJE,QAASA,EACTS,MAAOA,EACPa,cAAc7B,GAAUK,GAAQE,GAAaS,GAC7Cd,YAAY,EACZ4B,cAAc,EACdN,eAAe,EAEfN,eAAWf,EACX1B,kBAAc0B,IAIfwC,SAEH,MAAM,SACF3S,EAAQ,UACRe,EAAS,QACTG,GACAqN,KAAK1O,MAEHwH,EAA4C,CAC9CC,YAAa,uBACbE,yBAAyBzG,MAAAA,OAAS,EAATA,EAAWyG,0BAA2B,GAC/DC,0BAA0B1G,MAAAA,OAAS,EAATA,EAAW0G,2BAA4B,IAGrE,OACI3H,IAAAA,cAAAA,IAAAA,SAAA,KAEIyO,KAAKoB,MAAMjH,iBACX5I,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,gFAERoO,KAAKqE,yBAAyB5S,EAAUkB,EAAUmG,GAGlDwL,EAAiB7S,IAAauO,KAAKoB,MAAMmC,cAAgBvD,KAAKuE,yBA+F1EA,uBAEJ,OACIhT,IAAAA,cAAA,OAAKK,UAAW,qBACZL,IAAAA,cAAA,OAAKK,UAAW,6BACZL,IAAAA,cAAA,OAAKK,UAAW,yCACZL,IAAAA,cAAA,SAAIyO,KAAKoB,MAAMlB,gBAGvB3O,IAAAA,cAAA,OAAKK,UAAW,6BACZL,IAAAA,cAAA,OAAKK,UAAW,kBACZL,IAAAA,cAAA,SAAO2D,GAAG,mCAAmCtD,UAAU,IAClD,UAELL,IAAAA,cAAA,SAAOkN,KAAK,OAAO7M,UAAU,eACzB4S,SAAUxE,KAAKsB,yBAAyBmD,KAAKzE,MAC7C3D,MAAQ2D,KAAKoB,MAAMK,SAG/BlQ,IAAAA,cAAA,OAAKK,UAAW,6BACZL,IAAAA,cAAA,OAAKK,UAAW,kBACZL,IAAAA,cAAA,SAAO2D,GAAG,mCAAmCtD,UAAU,IAClD,QAELL,IAAAA,cAAA,SAAOkN,KAAK,OAAO7M,UAAU,eACzB4S,SAAUxE,KAAK6B,uBAAuB4C,KAAKzE,MAC3C3D,MAAQ2D,KAAKoB,MAAMU,OAG/BvQ,IAAAA,cAAA,OAAKK,UAAW,6BACZL,IAAAA,cAAA,OAAKK,UAAW,kBACZL,IAAAA,cAAA,SAAO2D,GAAG,mCAAmCtD,UAAU,IAClD,aAELL,IAAAA,cAAA,YACIK,UAAU,eACV4S,SAAUxE,KAAK+B,4BAA4B0C,KAAKzE,MAChD3D,MAAQ2D,KAAKoB,MAAMY,YAI/BzQ,IAAAA,cAAA,OAAKK,UAAW,6BACZL,IAAAA,cAAA,OAAKK,UAAW,wCAENoO,KAAKoB,MAAMqB,OACblR,IAAAA,cAAA,SACI2D,GAAG,mCACHtD,UAAU,2BACVL,IAAAA,cAAA,SACI2D,GAAG,wBACHuJ,KAAK,OACL7M,UAAU,4BACV4S,SAAUxE,KAAKiC,0BAA0BwC,KAAKzE,MAC9C0E,OAAO,YAEXnT,IAAAA,cAAA,QAAMK,UAAU,kBAAgB,+BAInCoO,KAAKoB,MAAMqB,OACZlR,IAAAA,cAAA,OAAKK,UAAU,mBACXL,IAAAA,cAAA,OAAKK,UAAU,wBACXL,IAAAA,cAAA,OAAKK,UAAU,sBAAsBiK,IAAKmE,KAAKoB,MAAMqB,QACrDlR,IAAAA,cAAA,QAAMK,UAAU,wBAAwBoO,KAAKoB,MAAMuB,eAOvEpR,IAAAA,cAAA,OAAKK,UAAW,8CAERoO,KAAKoB,MAAM6B,eACX1R,IAAAA,cAAA,OAAKK,UAAW,gCACZL,IAAAA,cAAA,QAAMK,UAAU,wBAAsB,aAI1CoO,KAAKwD,sBAAwBxD,KAAKoB,MAAM6B,eACxC1R,IAAAA,cAAA,OAAKK,UAAW,gCACZL,IAAAA,cAAA,QAAMoK,QAASqE,KAAK+C,sBAAsB0B,KAAKzE,MAAOpO,UAAU,wBAAsB,SAIzFoO,KAAKoB,MAAMqB,QAAWzC,KAAKoB,MAAM6B,eAClC1R,IAAAA,cAAA,OAAKK,UAAW,gCACZL,IAAAA,cAAA,QAAMoK,QAASqE,KAAK8C,kBAAkB2B,KAAKzE,MAAOpO,UAAU,wBAAsB,iBAItFoO,KAAK2E,kBAAmB3E,KAAKoB,MAAM6B,eACnC1R,IAAAA,cAAA,OAAKK,UAAW,gCACZL,IAAAA,cAAA,QAAMoK,QAASqE,KAAKqD,YAAYoB,KAAKzE,MAAOpO,UAAU,wBAAsB,kBAQ5FyS,yBAAyB5S,EAA+ByK,EAAmB1J,GAA6B,IAAAoS,EAAAC,EAC5G,IAAIxI,GAAQC,EAAAA,EAAAA,IAAyB7K,MAAAA,GAAc,QAANmT,EAARnT,EAAU0B,YAAI,IAAAyR,GAAU,QAAVC,EAAdD,EAAgB5S,gBAAQ,IAAA6S,OAAhB,EAARA,EAA0BzR,gBAAkB0N,GAA4B,GAC7G,MAAMvE,GAAwB,IAAVF,EAAkB,SAAY,UAC5CG,GAAwB,IAAVH,EAAkB,OAAU,QAC1CI,EAAcJ,EAGpB,OACI9K,IAAAA,cAAA,OAAKK,UAAWC,GAAAA,CAAW,qBAAsB,6BAA8B,oCAC3EN,IAAAA,cAAA,MAAIK,UAAU,8BAA8BY,EAAUuG,aAElDxH,IAAAA,cAAA,OAAKK,UAAW,iEAAiE2K,KAE7EhL,IAAAA,cAAA,QAAMK,UAAU,2CAA2CY,EAAU0G,0BACrE3H,IAAAA,cAACmL,EAAAA,OAAM,CACH9K,UAAWC,GAAAA,CAAW,oCAAqC,8BAA8B0K,YAAqB,aAClG,GAAG/J,EAAUuG,cAAa,eACxB0D,EACdJ,MAAOG,EACPb,QAASqE,KAAK8E,+BAA+BrT,EAAUyK,GAAMG,GAC7DO,UAAU,IAEdrL,IAAAA,cAAA,QAAMK,UAAU,0CAA0CY,EAAUyG,2BAOhF6L,+BAA+BrT,EAA+BkB,EAAuB0J,GACzF,OAAOhC,UACH,MAAMlE,EAAgBxD,EAAQwD,cAC9B,GAAIA,EAAe,KAAA0G,EAAAC,EACf,MAAMC,QAAkBC,EAAAA,EAAAA,cAAa7G,GAC/B8G,EAAmBF,MAAAA,GAAe,QAANF,EAATE,EAAW1H,YAAI,IAAAwH,GAAW,QAAXC,EAAfD,EAAiBK,iBAAS,IAAAJ,OAAjB,EAATA,EAA4BtJ,MAAKC,GAAKA,EAAE0J,SAAW1L,EAASM,aACrF,GAAIkL,EAAkB,KAAAO,EAAAG,EAAAS,EAAAC,EAAAM,EAAAvB,EAGlBH,EAAiB7J,gBAAkB6J,EAAiB7J,iBAAmB,GACvE6J,EAAiB7J,gBAAkD,QAAnCoK,EAAGP,EAAiB7J,uBAAe,IAAAoK,OAAA,EAAhCA,EAAkCe,QAAO9K,GAAKA,EAAEC,OAASqN,IAC5F9D,EAAiB7J,gBAAkD,QAAnCuK,EAAGV,EAAiB7J,uBAAe,IAAAuK,OAAA,EAAhCA,EAAkCY,QAAO9K,GAAKA,EAAEC,OAASsN,IAC5F/D,EAAiB7J,gBAAkD,QAAnCgL,EAAGnB,EAAiB7J,uBAAe,IAAAgL,OAAA,EAAhCA,EAAkCG,QAAO9K,GAAKA,EAAEC,OAASuN,IAC5FhE,EAAiB7J,gBAAkD,QAAnCiL,EAAGpB,EAAiB7J,uBAAe,IAAAiL,OAAA,EAAhCA,EAAkCE,QAAO9K,GAAKA,EAAEC,OAASwN,IAE5F,MAAMzD,EAAiD,QAAnCkB,EAAG1B,EAAiB7J,uBAAe,IAAAuL,OAAA,EAAhCA,EAAkCnL,MAAKC,GAAKA,EAAEC,MAAQoN,IAGtE,IAAAlC,EAFP,GAAInB,GACAqB,EAAAA,EAAAA,IAAuBrB,EAAsCpB,QAE7B,QAAhCuC,EAAA3B,EAAiB7J,uBAAe,IAAAwL,GAAhCA,EAAkCf,MAAKkB,EAAAA,EAAAA,IAAuB+B,EAA4BzE,UAGxF0B,EAAAA,EAAAA,sBAAqB,CAAEtD,cAAetE,GAAiB4G,MAAAA,OAAS,EAATA,EAAW1H,KAAK2I,GAAIjB,MAAAA,GAAe,QAANK,EAATL,EAAW1H,YAAI,IAAA+H,OAAN,EAATA,EAAiBF,iBAC5FH,EAAUkB,YAAY,IAC5B+B,KAAKoD,oCAOzB,MAAMF,EAA2B7I,MAAOlE,EAA+B4O,EAAqBpC,KACxF,IAAI1C,EAAW,GACf,MAAMtN,EAAU,CAAE8H,cAAetE,GAEjC,IACI,MAAMwK,QDhWR,SAA+BhO,EAAmByN,EAAoBC,GACxE,MAAM2E,EAAU7E,EAAqBC,EAAYC,GACjD,OAAO4E,EAAAA,EAAAA,qBAAwDD,EAASrS,EAAQ8H,eC8VpDyK,CAAqBvS,EAASoS,EAAapC,GAC/DhC,GAAaA,EAAUV,WACvBA,EAAWU,EAAUV,UAG7B,MAAAkF,GACIlF,EAAW,GAGf,OAAOA,GAGLkD,EAA0B9I,MAAO5I,EAA+BkB,EAAuBmP,EAAYL,EAAcO,EAAiBS,KACpI,MAAMtM,EAAgBxD,EAAQwD,cAC9B,GAAIA,EAAe,KAAA+H,EAAAC,EACf,MAAMpB,QAAkBC,EAAAA,EAAAA,cAAa7G,GAC/B8G,EAAmBF,MAAAA,GAAe,QAANmB,EAATnB,EAAW1H,YAAI,IAAA6I,GAAW,QAAXC,EAAfD,EAAiBhB,iBAAS,IAAAiB,OAAjB,EAATA,EAA4B3K,MAAKC,GAAKA,EAAE0J,SAAW1L,EAASM,aACrF,GAAIkL,EAAkB,KAAAqB,EAClBrB,EAAiB7J,gBAAkB6J,EAAiB7J,iBAAmB,GACvD,CACZ,CAAEG,UAAWwN,EAA4B1E,MAAOoF,GAChD,CAAElO,UAAWyN,EAA0B3E,MAAOyF,GAC9C,CAAEvO,UAAW0N,EAA+B5E,MAAO2F,GACnD,CAAEzO,UAAW2N,EAA6B7E,MAAOoG,IAE3CjR,KAAIiC,IAAI,IAAAoL,EACd,IAAIpB,EAAiD,QAAnCoB,EAAG5B,EAAiB7J,uBAAe,IAAAyL,OAAA,EAAhCA,EAAkCrL,MAAKkK,GAAKA,EAAEhK,OAASD,EAAEF,YAGvE,IAAA6R,EAFH3H,GACAG,EAAAA,EAAAA,IAAoBH,EAAsChK,EAAE4I,OAE5B,QAAhC+I,EAAAnI,EAAiB7J,uBAAe,IAAAgS,GAAhCA,EAAkCvH,MAAKC,EAAAA,EAAAA,IAAoBrK,EAAEF,UAAYE,EAAE4I,iBAG7E0B,EAAAA,EAAAA,sBAAqB,CAAEtD,cAAetE,GAAiB4G,MAAAA,OAAS,EAATA,EAAW1H,KAAK2I,GAAIjB,MAAAA,GAAe,QAANuB,EAATvB,EAAW1H,YAAI,IAAAiJ,OAAN,EAATA,EAAiBpB,iBAC5FH,EAAUkB,YAAY,OAKlCqG,EAAoB7S,IAAiC,IAAA4T,EAAAC,EACvD,OAAOhJ,EAAAA,EAAAA,IAAyB7K,MAAAA,GAAc,QAAN4T,EAAR5T,EAAU0B,YAAI,IAAAkS,GAAU,QAAVC,EAAdD,EAAgBrT,gBAAQ,IAAAsT,OAAhB,EAARA,EAA0BlS,gBAAkB0N,GAA4B,qHC1Q5G,SAASyE,EAAqBC,GAC1B,OACIjU,EAAAA,cAAAA,EAAAA,SAAA,KACKiU,GAASA,EAAM9G,OAAS,EAAI8G,EAAMhU,KAAI,CAACiU,EAAuBC,IACnDnU,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAK4T,GACxBD,KAEJ,MAKjB,QAvK+CnU,IAC3C,MAAM,QACFqB,EAAO,UACPgT,EAAS,gBACTC,EAAe,sBACfC,EAAqB,QACrBC,GACAxU,EAaJ,OAXAC,EAAAA,WAAgB,KAEkE,IAAAkH,EAAAC,EAAAC,EAAAoN,EAA1EpT,MAAAA,GAAAA,EAAS+G,kBAAwD,UAApC/G,EAAQ+G,iBAAiBE,SACtDjH,EAAQ+G,iBAAmB,IAAIC,EAAAA,GAC3B,QACwD,QADjDlB,EACc,QADdC,EACP/F,EAAQwD,qBAAa,IAAAuC,GAAgB,QAAhBC,EAArBD,EAAuBtC,sBAAc,IAAAuC,GAAS,QAAToN,EAArCpN,EAAuCtC,eAAO,IAAA0P,OAAzB,EAArBA,EAAgDlM,gBAAQ,IAAApB,EAAAA,EAAI,MAC5D9F,EAAQwD,cAAcC,eAAe0D,UAG/C,IAGEvI,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAKuT,GACRpU,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKwT,GACNrU,EAAAA,cAAC0U,EAAAA,GAAe,KACZ1U,EAAAA,cAAA,QAAM+B,KAAK,iCAAiC4S,QAAQ,gBAExD3U,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKyT,GAsH1B,SAA6BvU,GACzB,MAAMkB,EAAYlB,EAAMkB,UAExB,OACIjB,EAAAA,cAAA,UAAQK,UAAU,4CAA4C+J,QAASA,IAAMwK,QAAQC,QACjF7U,EAAAA,cAAA,QAAMK,UAAU,0CAA0CY,EAAU6T,sBA1H3DC,CAAoBhV,GACpBA,EAAMiV,QACNjV,EAAMkV,KACNjB,EAAqBjU,EAAMmV,QAC3BnV,EAAMoV,eA8E3B,SAA6BpV,EAAyBqV,GAClD,MAAM,mCACFC,EAAkC,0CAClCC,EAAyC,0BACzCC,EAAyB,YACzBC,EAAW,WACXC,EAAU,aACVC,GACA3V,EAEJ,GAAIsV,EAAoC,CACpC,MAAMM,EAAmBC,GAAAA,CAAWP,EAAmChV,UAAW+U,EAAkB,iBAAmB,kBAAmB,sBAC1I,GAAIE,EACA,OACItV,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKwU,EAAkC,CAAEhV,UAAWsV,IACpDJ,EACDvV,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKyU,KACLI,GAAeA,EAAazV,KAAK4V,GAA0BA,IAC3DL,IAIV,GAAIC,EACP,OACIzV,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKwU,EAAkC,CAAEhV,UAAWsV,IACpDF,GAMjB,OAAO,KA5GUK,CAAoB/V,GAAO,GAC3BA,EAAMgW,oBACP/V,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK0T,IACTxU,EAAMiW,SACNhC,EAAqBjU,EAAMkW,cAWhD,SAA6BlW,GACzB,MAAM,QAAEwU,EAAO,oBAAgC2B,GAAwBnW,EACvE,OACIC,EAAAA,cAACmW,EAAAA,SAAQ,CAAC9V,UAAU,mCAAmC+V,QAASF,GAO5DlW,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK0T,IACTP,EAAqBjU,EAAMsW,UApBvBC,CAAoBvW,GACrBC,EAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,2BACX2T,EAAqBjU,EAAMsW,qGCjDzC,MAAMhK,EAAsBA,CAACrK,EAA+B8I,KAC3D9I,IACAA,EAAUI,UAAY0I,EACtB9I,EAAUuU,sBAAwB,GAClCvU,EAAU,eAAiB,qEAExBA,GAGEuL,EAAyBA,CAACvL,EAA+B8I,IAC3DuB,EAAoBrK,GAAqB,IAAV8I,EAAiB,OAAS,SAGvD0C,EAAyBA,CAACzL,EAAc+I,IAC1CyB,EAAoBxK,GAAgB,IAAV+I,EAAiB,OAAS,SAGlDyB,EAAsBA,CAACxK,EAAc+I,KACvC,CACH3I,KAAOJ,EACPK,UAAW0I,EACXyL,sBAAuB,GACvB,cAAe,sEAIV5U,EAAwBA,CAACG,EAAkCC,KACpE,GAAID,EAAY,CACZ,MAAME,EAAYF,MAAAA,OAAU,EAAVA,EAAYG,MAAKC,GAAKA,EAAEC,MAAQJ,IAClD,GAAIC,EACA,OAAOA,EAAUI,UAGzB,OAAO,MAGE2I,EAA2B,SAACjJ,EAAkCC,GAA6C,IAA/ByU,EAAAC,UAAAtJ,OAAA,QAAAkD,IAAAoG,UAAA,IAAAA,UAAA,GACrF,MAAMC,EAAY/U,EAAsBG,EAAYC,GACpD,OAAI2U,EACmC,SAA5BA,EAAU1T,cAEdwT,GAGElN,EAA6B,SAACxH,EAA8BC,EAAc4U,GAA0E,IAA/BH,EAAAC,UAAAtJ,OAAA,QAAAkD,IAAAoG,UAAA,IAAAA,UAAA,GAC9H,MAAMzU,EAAYF,EAAWG,MAAKC,GAAKA,EAAEC,OAASJ,IAClD,GAAIC,EAAW,CACX,MAAMkK,EAAiByK,EAAc3U,GACrC,OAAIkK,MAAAA,EACOsK,EAEJtK,EAEX,OAAOsK,orBC9BX,MAAMI,UAAmB5W,EAAAA,UAAzBuO,cAAA,oBACqB,KAAAsI,gBAA0B,iBA4CpC,KAAAC,oBAAuBnG,IACtBlC,KAAK1O,MAAMoB,OAAO4V,UAClBtI,KAAK1O,MAAMoB,OAAO4V,QAAQC,KAAOrG,EAAMR,OAAOrF,QA5C/CoH,oBAEH,MAAM,KAAE+E,EAAI,SAAEC,GAAaC,QAAU,GAEjCF,GAAQC,IACRD,EAAKG,qBAAqBF,EAASG,qBACnCH,EAASI,cAIVC,sBAAsBC,GACzB,OAAIA,EAAUrW,OAAO4V,UAAYtI,KAAK1O,MAAMoB,OAAO4V,QAMhDlE,SACH,MAAM,UAAExS,EAAS,QAAE0W,GAAYtI,KAAK1O,MAAMoB,OAEpCsW,EAASC,EAAAA,EAAA,GACRjJ,KAAK1O,OAAK,IACb4X,WAAY,CACRC,YAAanJ,KAAK1O,MAClBM,UAAWuV,GAAAA,CAAWnH,KAAKoI,gBAAiBxW,IAEhDwX,YAAa,CACTxX,UAAW,GAAGoO,KAAKoI,8BAEvBiB,eAAgB9X,EAAAA,cAAA,OAAK2D,GAAG,QACxBoT,QAASA,GACL/W,EAAAA,cAAC+X,EAAAA,GAAanX,OAAAC,OAAA,CACVR,UAAW,GAAGoO,KAAKoI,4BACfE,EAAO,CACXiB,UAAW,CAAEC,OAAQxJ,KAAKqI,oBAAqBjS,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,cAK9F,OAAOhF,KAAK1O,MAAMmY,WAAWT,IAUrC,qFCnEA,QAAgB1X,IACZ,MAAM,WAAE4X,EAAU,YAAEE,EAAW,eAAEC,EAAc,QAAEf,GAAYhX,EAE7D,OACIC,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAK8W,GACR3X,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKgX,GACLd,EACAe,uICWjB,MAaMK,EAAoBA,CAACC,EAAwBC,KAC/C,IAAKD,GAAgC,IAApBA,EAASjL,OACtB,OAAO,KAEX,MAAMmL,EAAuC,GACvCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmB,IAgB7D,OAfAD,EAASK,SAAQ,CAAC5C,EAAM1B,KACpBoE,EAAQG,cAAcC,MAAQ9C,EAAK+C,SACnC,MAAM9W,GAAa+W,EAAAA,EAAAA,wBAAuBR,EAAmBE,GACvDO,EAAoC,CACtCC,UAAWlD,EAAKkD,UAChB1Y,UAAW,gCACXuY,SAAU/C,EAAK+C,SACfI,QAASnD,EAAKmD,QAAQC,eACtBC,aAAcrD,EAAKqD,aACnBC,KAAM,OACNC,qBAAsBtX,GAE1BwW,EAAchM,KAAKwM,MAGhBR,GAGX,EArCoErR,IAA8D,IAA7D,MAAEoS,EAAK,iBAAEhB,EAAgB,aAAEiB,EAAY,eAAEzU,GAAgBoC,EAC1H,GAAqB,IAAjBoS,EAAMlM,OACN,OAAO,KAEX,MAAMmL,EAAgBH,EAAkBkB,EAAOhB,GAC/C,OACIrY,EAAAA,cAAA,OAAKK,UAAU,kCACViY,GAAiBA,EAAcnL,OAAS,EACrCnN,EAAAA,cAAC+X,EAAAA,GAAc,CAACsB,MAAOf,EAAeN,UAAW,CAAEsB,aAAAA,EAAczU,eAAAA,KACjE,4kBCRhB,MAAM0U,UAA2BvZ,EAAAA,cAG7BuO,YAAYxO,GACR+P,MAAM/P,GAiEH,KAAA+W,oBAAuBnG,GAA0ClC,KAAK1O,MAAMoB,OAAO4V,QAAQC,KAAOrG,EAAMR,OAAOrF,MAE/G,KAAA0O,qBAAwBC,GAAuB9I,IAC9ClC,KAAK1O,MAAMoB,OAAOuY,gBAAkBjL,KAAK1O,MAAMoB,OAAOwY,eACtDlL,KAAK1O,MAAMoB,OAAOwY,aAAehJ,EAAMR,OAAOrF,QApElD2D,KAAK4J,kBAAmBuB,EAAAA,EAAAA,oBACpBnL,KAAK1O,MAAMqB,QAAQqS,QAAQoG,kBAC3BpL,KAAK1O,MAAM+Z,aACXrL,KAAK1O,MAAM4F,WAIZkN,SACH,MAAM,OAAE1R,EAAM,KAAES,EAAI,UAAEX,EAAS,QAAEG,GAAYqN,KAAK1O,OAC5C,UAAEM,EAAS,QAAE0W,EAAO,eAAE2C,EAAc,oBAAEK,EAAmB,aAAEJ,EAAY,kBAAEK,GAAsB7Y,GAC/F,sBAAE8Y,EAAqB,4BAAEC,GAAgCjZ,GACzD,YAAEkZ,GAAgBvY,EAExB,IAAIwY,EAAcH,EACdI,EAAMtC,EAAAA,GAAoB,cAAe3W,EAAQwD,gBAAkB,GACvE,MAAMiR,EAAO,CAAE+C,SAAUc,EAAgBV,QAAS,CAAEC,eAAgBoB,GAAOtB,UAAWgB,GAEtF,GAAII,GAAeA,EAAYhJ,QAAUgJ,EAAYhJ,OAAOmJ,WAAY,CACpE,MAAMC,EAAmB,EACzB,IAAIC,EAAS,EAETL,EAAYhJ,OAAOsJ,cAAgBN,EAAYhJ,OAAOsJ,aAAatN,OAAS,GAC5EgN,EAAYhJ,OAAOsJ,aAAahC,SAASiC,IACrCF,GAAUE,EAAYC,gBAG9B9E,EAAKkD,UAAYiB,EACjBnE,EAAK+C,SAAWe,EAChBU,EAAMtC,EAAAA,GAAoB,UAAW3W,EAAQwD,gBAAkB,GAC/DiR,EAAKmD,QAAQC,eAAiBoB,EAC9BD,GAAcQ,EAAAA,EAAAA,QAAOV,EAA6BM,EAAOK,QAAQN,IAGrE,MAAM9C,EAASC,EAAAA,EAAA,GACRjJ,KAAK1O,OAAK,IACbM,UAAAA,EACAkZ,mBAAoB,CAChB3B,YAAanJ,KAAK1O,MAClBM,UAAWuV,GAAAA,CAAW,0BAA2BzU,EAAOd,YAE5D0W,QAASA,GACL/W,EAAAA,cAAC+X,EAAAA,GAAa,CACV1X,UAAU,mCACVya,IAAK/D,EAAQ+D,KAAO,KACpB9D,KAAMD,EAAQC,KACdgB,UAAW,CAAEC,OAAQxJ,KAAKqI,oBAAqBjS,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,WAG1F4F,MACIrZ,EAAAA,cAAC+a,EAAcna,OAAAC,OAAA,GACP,CACAwY,MAAO,CAACxD,GACRyD,aAAc7K,KAAK+K,qBACnB3U,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,QACnC4E,iBAAkB5J,KAAK4J,oBAInC+B,YAAapa,EAAAA,cAACgb,EAAAA,EAAoB,CAACZ,YAAaA,MAGpD,OAAO3L,KAAK1O,MAAMmY,WAAWT,IAYrC,0FCjGA,MAYA,EAZuE1X,IACnE,MAAM,mBAAEwZ,EAAkB,QAAExC,EAAO,YAAEqD,EAAW,MAAEf,GAAUtZ,EAE5D,OACIC,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAK0Y,GACPxC,EACAqD,EACAf,uDCLb,MAIA,EAJiFpS,IAAA,IAAC,YAAEmT,GAAanT,EAAA,OAC7FjH,EAAAA,cAAA,KAAGK,UAAU,wCAAwC+Z,2JCFlD,MAAMa,EAAwFhU,IAAA,IAAC,YAAEmT,GAAanT,EAAA,OACjHjH,EAAAA,cAAA,KAAGK,UAAU,gDAAgD+Z,ICUpDc,EAA4EjU,IAKpF,IALqF,MACtFoS,EAAK,aACLC,EAAY,iBACZjB,EAAgB,eAChBxT,GACHoC,EACG,GAAqB,IAAjBoS,EAAMlM,OACN,OAAO,KAEX,MAAMmL,EAAgBH,EAAkBkB,EAAOhB,GAC/C,OACIrY,EAAAA,cAAA,OAAKK,UAAU,0CACViY,GAAiBA,EAAcnL,OAAS,EACrCnN,EAAAA,cAAC+X,EAAAA,GAAc,CAACsB,MAAOf,EAAeN,UAAW,CAAEsB,aAAAA,EAAczU,eAAAA,KACjE,OAKVsT,EAAoBA,CAACC,EAAwBC,KAC/C,IAAKD,GAAgC,IAApBA,EAASjL,OACtB,OAAO,KAEX,MAAMmL,EAAuC,GACvCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmB,IAgB7D,OAfAD,EAASK,SAAQ,CAAC5C,EAAM1B,KACpBoE,EAAQG,cAAcC,MAAQ9C,EAAK+C,SACnC,MAAM9W,GAAa+W,EAAAA,EAAAA,wBAAuBR,EAAmBE,GACvDO,EAAoC,CACtCC,UAAWlD,EAAKkD,UAChB1Y,UAAW,wCACXuY,SAAU/C,EAAK+C,SACfI,QAASnD,EAAKmD,QAAQC,eACtBC,aAAcrD,EAAKqD,aACnBC,KAAM,OACNC,qBAAsBtX,GAE1BwW,EAAchM,KAAKwM,MAGhBR,wkBCnCJ,MAAM6C,UAAkCnb,EAAAA,cAG3CuO,YAAYxO,GACR+P,MAAM/P,GA0DH,KAAA+W,oBAAuBnG,IAC1BlC,KAAK1O,MAAMoB,OAAO4V,QAAQC,KAAOrG,EAAMR,OAAOrF,OAG3C,KAAA0O,qBAAwBC,GAAuB9I,IAC9ClC,KAAK1O,MAAMoB,OAAOkY,OAAS5K,KAAK1O,MAAMoB,OAAOkY,MAAMI,KACnDhL,KAAK1O,MAAMoB,OAAOkY,MAAMI,GAAWb,SAAWjI,EAAMR,OAAOrF,QA/D/D2D,KAAK4J,kBAAmBuB,EAAAA,EAAAA,oBACpBnL,KAAK1O,MAAMqB,QAAQqS,QAAQoG,kBAC3BpL,KAAK1O,MAAM+Z,aACXrL,KAAK1O,MAAM4F,WAIZkN,SAAM,IAAAuI,EAAAC,EACT,MAAM,OAAEla,EAAM,UAAEF,EAAS,KAAEW,GAAS6M,KAAK1O,MACnCub,EAAoE,QAAtCF,EAAG3M,KAAK1O,MAAM6B,KAAK2Z,aAAapK,cAAM,IAAAiK,OAAA,EAAnCA,EAAqCnZ,MACxEsZ,GAAsC,sDAAtBA,EAAapZ,OAEjC,KACKsM,KAAK1O,MAAMqB,QAAQqS,QAAQ+H,OAAOC,UACjCH,MAAAA,GAAAA,EAAgCI,WAAwD,QAA3CL,EAAC5M,KAAK1O,MAAM6B,KAAK+Z,oBAAoBxK,cAAM,IAAAkK,GAA1CA,EAA4CO,OAE5F,OAAO5b,EAAAA,cAAAA,EAAAA,SAAA,MAGX,MAAM,UAAEK,EAAS,QAAE0W,EAAO,MAAEsC,GAAUlY,GAChC,qCAAE0a,GAAyC5a,EAC3C6a,EAAiBla,EAAKka,eAEtBC,IAAuBD,MAAAA,OAAc,EAAdA,EAAgB3K,SAAU,IAAIhE,OACrDiN,GAAcQ,EAAAA,EAAAA,QAAOiB,EAAsCE,GAE3DtE,EAASC,EAAAA,EAAA,GACRjJ,KAAK1O,OAAK,IACbM,UAAAA,EACA8a,0BAA2B,CACvBvD,YAAanJ,KAAK1O,MAClBM,UAAWuV,GAAAA,CAAW,kCAAmCzU,EAAOd,YAEpE0W,QAASA,GAAWA,EAAQC,MACxBhX,EAAAA,cAAC+X,EAAAA,GAAa,CACV1X,UAAU,2CACVya,IAAK/D,EAAQ+D,IACb9D,KAAMD,EAAQC,KACdgB,UAAW,CAAEC,OAAQxJ,KAAKqI,oBAAqBjS,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,WAG1F4F,MAAOA,GAASA,EAAMlM,OAAS,GAC3BnN,EAAAA,cAACkb,EAA8Bta,OAAAC,OAAA,GACvB,CACAwY,MAAAA,EACAC,aAAc7K,KAAK+K,qBACnB3U,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,QACnC4E,iBAAkB5J,KAAK4J,oBAInC+B,YAAapa,EAAAA,cAACib,EAAoC,CAACb,YAAaA,MAGpE,OAAO3L,KAAK1O,MAAMmY,WAAWT,IAcrC,0FC1FA,MAYA,EAZqF1X,IACjF,MAAM,0BAAEob,EAAyB,QAAEpE,EAAO,YAAEqD,EAAW,MAAEf,GAAUtZ,EAEnE,OACIC,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAKsa,GACPpE,EACAqD,EACAf,4HCNN,MAAM2C,EAA8F/U,IAAA,IAAC,YAAEmT,GAAanT,EAAA,OACvHjH,EAAAA,cAAA,KAAGK,UAAU,mDAAmD+Z,ICUvD6B,EAAkFhV,IAK1F,IAL2F,MAC5FoS,EAAK,iBACLhB,EAAgB,aAChBiB,EAAY,eACZzU,GACHoC,EACG,GAAqB,IAAjBoS,EAAMlM,OACN,OAAO,KAEX,MAAMmL,EAAgBH,EAAkBkB,EAAOhB,GAC/C,OACIrY,EAAAA,cAAA,OAAKK,UAAU,6CACViY,GAAiBA,EAAcnL,OAAS,EACrCnN,EAAAA,cAAC+X,EAAAA,GAAc,CAACsB,MAAOf,EAAeN,UAAW,CAAEsB,aAAAA,EAAczU,eAAAA,KACjE,OAKVsT,EAAoBA,CAACC,EAAwBC,KAC/C,IAAKD,GAAgC,IAApBA,EAASjL,OACtB,OAAO,KAEX,MAAMmL,EAAuC,GACvCC,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmB,IAgB7D,OAfAD,EAASK,SAAQ,CAAC5C,EAAM1B,KACpBoE,EAAQG,cAAcC,MAAQ9C,EAAK+C,SACnC,MAAM9W,GAAa+W,EAAAA,EAAAA,wBAAuBR,EAAmBE,GACvDO,EAAoC,CACtCC,UAAWlD,EAAKkD,UAChB1Y,UAAW,2CACXuY,SAAU/C,EAAK+C,SACfI,QAASnD,EAAKmD,QAAQC,eACtBC,aAAcrD,EAAKqD,aACnBC,KAAM,OACNC,qBAAsBtX,GAE1BwW,EAAchM,KAAKwM,MAGhBR,wkBCnCX,MAAM4D,UAA8Blc,EAAAA,cAGhCuO,YAAYxO,GACR+P,MAAM/P,GAuDH,KAAA+W,oBAAuBnG,IAC1BlC,KAAK1O,MAAMoB,OAAO4V,QAAQC,KAAOrG,EAAMR,OAAOrF,OAG3C,KAAA0O,qBAAwBC,GAAuB9I,IAC9ClC,KAAK1O,MAAMoB,OAAOkY,OAAS5K,KAAK1O,MAAMoB,OAAOkY,MAAMI,KACnDhL,KAAK1O,MAAMoB,OAAOkY,MAAMI,GAAWb,SAAWjI,EAAMR,OAAOrF,QA5D/D2D,KAAK4J,kBAAmBuB,EAAAA,EAAAA,oBACpBnL,KAAK1O,MAAMqB,QAAQqS,QAAQoG,kBAC3BpL,KAAK1O,MAAM+Z,aACXrL,KAAK1O,MAAM4F,WAIZkN,SACH,MAAM,OAAE1R,EAAM,UAAEF,EAAS,KAAEW,GAAS6M,KAAK1O,OACnC,UAAEM,EAAS,QAAE0W,EAAO,MAAEsC,GAAUlY,GAChC,qDAAEgb,EAAoD,wDAAEC,GAA4Dnb,EACpHob,EAAWza,EAAK0a,OAAS1a,EAAK0a,MAAMnL,OACpCoL,EACW,IAAbF,EAAiBF,EAAuDC,EACtET,EAAsB/Z,EAAK+Z,oBAAoBxK,OAGrD,GAAKwK,MAAAA,IAAAA,EAAqBa,WACtB,OAAO,KAGX,MAAM/E,EAASC,EAAAA,EAAA,GACRjJ,KAAK1O,OAAK,IACbM,UAAAA,EACA6b,sBAAuB,CACnBtE,YAAanJ,KAAK1O,MAClBM,UAAWuV,GAAAA,CAAW,qCAAsCzU,EAAOd,YAEvE0W,QAASA,GAAWA,EAAQC,MACxBhX,EAAAA,cAAC+X,EAAAA,GAAa,CACV1X,UAAU,8CACVya,IAAK/D,EAAQ+D,IACb9D,KAAMD,EAAQC,KACdgB,UAAW,CAAEC,OAAQxJ,KAAKqI,oBAAqBjS,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,WAG1F4F,MAAOA,GAASA,EAAMlM,OAAS,GAC3BnN,EAAAA,cAACic,EAAiCrb,OAAAC,OAAA,GAC1B,CACAwY,MAAAA,EACAC,aAAc7K,KAAK+K,qBACnB3U,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,QACnC4E,iBAAkB5J,KAAK4J,oBAInC+B,YACIpa,EAAAA,cAACgc,EAAuC,CAAC5B,aAAaQ,EAAAA,EAAAA,QAAO2B,EAAyCF,GAAY,OAI1H,OAAO5N,KAAK1O,MAAMmY,WAAWT,IAcrC,2FCvFA,MAYA,EAZ6E1X,IACzE,MAAM,sBAAEmc,EAAqB,QAAEnF,EAAO,YAAEqD,EAAW,MAAEf,GAAUtZ,EAE/D,OACIC,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAKqb,GACPnF,EACAqD,EACAf,kECCb,MAUA,EAV4DpS,IAA4E,IAA3E,GAAEtD,EAAE,UAAEtD,EAAS,KAAE2W,EAAI,UAAE+B,EAAS,SAAE1N,EAAQ,iBAAEgN,EAAgB,QAAEjO,GAASnD,EAChI,MAAMsR,GAAUC,EAAAA,EAAAA,kBAAiB,QAASH,EAAmBrB,GACvDlV,GAAa+W,EAAAA,EAAAA,wBAAuBR,EAAmBE,GAC7D,OACIvY,EAAAA,cAACmL,EAAAA,OAAMvK,OAAAC,OAAA,CAAC8C,GAAIA,EAAItD,UAAWA,EAAS,aAAc0Y,EAAW1N,SAAUA,EAAUjB,QAASA,GAAatI,GAClGkV,mECRb,MAUA,EAV+D/P,IAA8C,IAA7C,GAAEtD,EAAE,UAAEtD,EAAS,KAAE6M,EAAO,OAAM,QAAEuD,GAASxJ,EACrG,MAAMwV,EAAiB,GAAGpc,MAAc6M,UAExC,OACIlN,EAAAA,cAAA,OAAK2D,GAAIA,EAAItD,UAAWuV,GAAAA,CAAW6G,EAAgB,QAAS,GAAGvP,UAAciM,KAAK,QAAO,YAAW,YAAW,cAAa,QACxHnZ,EAAAA,cAAA,KAAGK,UAAW,GAAGoc,UAAwBhM,wDCQrD,MAAMiM,EAAgBC,IAClB,GAAIA,EAAW,CACX,MAAMC,EAAkBC,OAAO/O,SAAS6O,EAAW,IACnD,IAAKG,MAAMF,GACP,OAAOA,IAoBnB,EAb+D3V,IAAA,IAAC,GAAEtD,EAAE,KAAEuJ,EAAI,MAAEpC,EAAK,QAAEiS,EAAO,UAAE1c,EAAS,UAAEsc,EAAS,SAAE1J,GAAUhM,EAAA,OACxHjH,EAAAA,cAAA,SACI2D,GAAIA,EACJuJ,KAAMA,EACNpC,MAAOA,EACPzK,UAAW,GAAGA,WAAmBA,KAAasD,IAC9CoZ,QAAqB,KAAZA,EAAiBA,OAAU1M,EAAS,gBAC/B,OACdsM,UAAWD,EAAaC,GACxB1J,SAAUA,kDClClB,MAMA,EAN0DhM,IAAA,IAAC,GAAEtD,EAAE,MAAEqZ,EAAK,UAAE3c,EAAS,KAAE2W,GAAM/P,EAAA,OACrFjH,EAAAA,cAAA,SAAO2D,GAAI,GAAGA,UAAYtD,UAAW,GAAGA,UAAmB4c,QAASD,GAC/DhG,iDCLT,MAEA,EAFsE/P,IAAA,IAAC,UAAE5G,GAAW4G,EAAA,OAAKjH,EAAAA,cAAA,OAAKK,UAAW,GAAGA,kECC5G,MAIA,EAJ4E4G,IAAA,IAAC,UAAE5G,EAAS,QAAEoQ,GAASxJ,EAAA,OAC/FjH,EAAAA,cAAA,OAAKK,UAAW,GAAGA,sBAA+BoQ,sxBCsDtD,IAAMyM,EAAN,cAA4Bld,EAAAA,UAcxBuO,YAAYxO,GACR+P,MAAM/P,GAdO,KAAA8W,gBAA0B,oBA0FpC,KAAAC,oBAAuBnG,GAA0ClC,KAAK1O,MAAMoB,OAAO4V,QAASC,KAAOrG,EAAMR,OAAOrF,MAGhH,KAAAqS,QAAU,KACb1O,KAAK2O,mBACL3O,KAAK4O,sBAGL5O,KAAK6O,oBAAsBC,aAAY,KACnC9O,KAAK+O,gCACN,KACHC,YAAW,KACPC,cAAcjP,KAAK6O,uBACpB,MAIU,KAAAE,4BAA8B,KAEvCrG,QAAUA,OAAe,QAAKA,OAAe,OAA4B,2BACzEuG,cAAcjP,KAAK6O,qBACnB7O,KAAKkP,eAAgB,IAIZ,KAAAP,iBAAmB,KAE5BjG,OAAkB,WAAKA,OAAkB,UAAmB,iBAE5DA,OAAkB,UAAmB,gBAAElX,KAAK2d,IACxC,OAAQA,EAAIC,GAAG7a,eACX,IAAK,cACDyL,KAAKqP,iBAAmBF,EAAIG,IAC5B,MAEJ,IAAK,kBACDtP,KAAKuP,qBAAuBJ,EAAIG,SASnC,KAAAV,oBAAsB,KACnC,MAAM,UAAEpc,GAAcwN,KAAK1O,MAG3B,GAAIoX,QAAUA,OAAgB,QAAG,CAC7B,MAAM1G,EAAU,CACZwN,gBAAiBhd,EAAUid,gBAI/Btd,OAAOC,OAAOsW,OAAgB,QAAG1G,KAjIrChC,KAAKqP,iBAAmBK,EAAAA,cAAcC,aAAaC,OACnD5P,KAAKuP,qBAAuBG,EAAAA,cAAcC,aAAaC,OACvD5P,KAAKkP,eAAgB,EACrBlP,KAAK4J,kBAAmBuB,EAAAA,EAAAA,oBACpBnL,KAAK1O,MAAMqB,QAAQqS,QAAQoG,kBAC3BpL,KAAK1O,MAAM+Z,aACXrL,KAAK1O,MAAM4F,WAIZuM,oBACHzD,KAAK0O,UAIFmB,qBAEC7P,KAAKkP,eAAiBxG,QAAUA,OAAiB,UAAKA,OAAiB,SAAc,YAErFA,OAAiB,SAAc,aAIhCI,sBAAsBC,EAAsD+G,GAC/E,OAAI9P,KAAKoB,QAAU0O,GAAa9P,KAAK1O,MAAM6B,OAAS4V,EAAU5V,KAM3DiR,SACH,MAAM,OAAE1R,EAAM,UAAEF,GAAcwN,KAAK1O,MAE7B0X,EAASC,EAAAA,EAAA,GACRjJ,KAAK1O,OAAK,IACbye,UAAW,CACPC,eAAgBhQ,KAAKkP,eAEzBe,cAAe,CACX9G,YAAanJ,KAAK1O,MAClBM,UAAWuV,GAAAA,CAAWnH,KAAKoI,gBAAiB1V,EAAOd,YAEvDse,QAAS,CACLC,MAAO,CACH9D,IAAK+D,EAAAA,MACLzI,QAAQ,GAEZ0I,UAAW,CACPhE,IAAKiE,EAAAA,WAETC,KAAMhf,EAAAA,cAACif,EAAAA,EAAiC,CAAC5e,UAAWoO,KAAKoI,kBACzDpG,QAASzQ,EAAAA,cAACkf,EAAAA,EAAoC,CAAC7e,UAAWoO,KAAKoI,gBAAiBpG,QAASxP,EAAUid,kBAEvGiB,mBAAoB,CAChBxb,GAAI,MACJyb,MAAO,CAAEC,QAAS,SAEtBxH,YAAa,CACTlU,GAAI8K,KAAKkP,cAAgB,MAAQ,KACjCtd,UAAW,GAAGoO,KAAKoI,8BAEvBE,QAAS5V,EAAO4V,SACZ/W,EAAAA,cAAC+X,EAAAA,GAAanX,OAAAC,OAAA,CACVR,UAAW,GAAGoO,KAAKoI,4BACf1V,EAAO4V,QAAO,CAClBiB,UAAW,CAAEC,OAAQxJ,KAAKqI,oBAAqBjS,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,YAG1F6L,0BAA2B7Q,KAAK8Q,wBAGpC,OAAO9Q,KAAK1O,MAAMmY,WAAWT,GA8DzB8H,sBACJ,MAAM,UAAEte,GAAcwN,KAAK1O,MAC3B,MAAO,CACHyf,aAAc,CACV7b,GAAI,gBACJtD,UAAW,GAAGoO,KAAKoI,uCAEvB5C,MAAO,CACHxF,KAAKgR,aAAa,cAAe,WAAYxe,EAAUye,qBAAsBjR,KAAKqP,kBAClFrP,KAAKgR,aAAa,kBAAmB,WAAYxe,EAAU0e,yBAA0BlR,KAAKuP,uBAE9FrP,aAAc,CACV3O,EAAAA,cAAC4f,EAAAA,EAA2B,CACxBrf,IAAI,wBACJoD,GAAG,wBACHtD,UAAWoO,KAAKoI,gBAChBpG,QAASxP,EAAU4e,6BAEvB7f,EAAAA,cAAC4f,EAAAA,EAA2B,CACxBrf,IAAI,uBACJoD,GAAG,uBACHtD,UAAWoO,KAAKoI,gBAChBpG,QAASxP,EAAU6e,4BAEvB9f,EAAAA,cAAC4f,EAAAA,EAA2B,CACxBrf,IAAI,uBACJoD,GAAG,iBACHtD,UAAWoO,KAAKoI,gBAChBpG,QAASxP,EAAU8e,sBAEvB/f,EAAAA,cAAC4f,EAAAA,EAA2B,CACxBrf,IAAI,+BACJoD,GAAG,+BACHtD,UAAWoO,KAAKoI,mBAGxBmJ,eAAgB,CACZ3f,UAAW,GAAGoO,KAAKoI,4BAEvBoJ,QAAS,CACLjgB,EAAAA,cAACkgB,EAAAA,EAA4B,CACzB3f,IAAI,WACJoD,GAAG,WACHtD,UAAW,GAAGoO,KAAKoI,mCACnBkC,UAAW9X,EAAUkf,oBACrBnJ,KAAM/V,EAAUmf,eAChB/H,iBAAkB5J,KAAK4J,mBAE3BrY,EAAAA,cAACkgB,EAAAA,EAA4B,CACzB3f,IAAI,SACJoD,GAAG,SACHtD,UAAW,GAAGoO,KAAKoI,iCACnBkC,UAAW9X,EAAUof,iBACrBrJ,KAAM/V,EAAUof,iBAChBhI,iBAAkB5J,KAAK4J,oBAG/BiI,yBAA0B,CACtBjgB,UAAW,GAAGoO,KAAKoI,oDAEvB0J,gCAAiC,CAC7B5c,GAAI,kBACJtD,UAAW,GAAGoO,KAAKoI,6CAKvB4I,aAAa9b,EAAYuJ,EAAcsT,EAAmBzD,GAC9D,MAAM1c,EAAY,GAAGoO,KAAKoI,gCAC1B,MAAO,CACH4J,QAAS,CACLpgB,UAAWuV,GAAAA,CAAWvV,EAAW,GAAGA,KAAasD,IAAM,aAAc,cAEzEpD,IAAKoD,EACL+c,MACI1gB,EAAAA,cAAC2gB,EAAAA,EAA2B/f,OAAAC,OAAA,GACpB,CACA8C,GAAAA,EACAqZ,MAAOrZ,EACPtD,UAAAA,EACA2W,KAAMwJ,KAIlB7R,aACI3O,EAAAA,cAAC4f,EAAAA,EAA2Bhf,OAAAC,OAAA,GACpB,CACAR,UAAWoO,KAAKoI,gBAChB3J,KAAM,UAIlB0T,MACI5gB,EAAAA,cAAC6gB,EAAAA,EAA2BjgB,OAAAC,OAAA,GACpB,CACA8C,GAAAA,EACAuJ,KAAAA,EACA6P,QAAAA,EACA1c,UAAAA,SAnPRygB,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,wCAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,4CAECD,EAAAA,EAAAA,IAAA,CAAXC,EAAAA,IAAU,oCATT7D,GAAa4D,EAAAA,EAAAA,IAAA,CADlBE,EAAAA,IACK9D,GAgQN,oFCzTA,MAAM+D,EAAkDha,IAA4C,IAA3C,QAAEwZ,EAAO,MAAEC,EAAK,aAAE/R,EAAY,MAAEiS,GAAO3Z,EAC5F,OACIjH,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK4f,GACLC,EACA/R,EACAiS,IAuCPM,EAAwDC,IAAwC,IAAvC,MAAEvC,EAAK,UAAEE,EAAS,KAAEE,EAAI,QAAEvO,GAAS0Q,EAC9F,OACInhB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK+d,GACN5e,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKie,GACLE,EACAvO,KAqBjB,EAf6D1Q,IACzD,MAAM,cAAE2e,EAAa,UAAEF,EAAS,QAAEG,EAAO,mBAAEQ,EAAkB,YAAEtH,EAAW,QAAEd,EAAO,0BAAEuI,GAA8Bvf,EAEnH,OACIC,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAK6d,GACPF,EAAUC,eAAiBze,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKse,IACrCX,EAAUC,eAAiBze,EAAAA,cAACkhB,EAAoBtgB,OAAAC,OAAA,GAAK8d,IACtD3e,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKgX,GACLd,EArD0CqK,CAAAA,IAQtD,IARuD,aACxD5B,EAAY,MACZvL,EAAK,aACLtF,EAAY,eACZqR,EAAc,QACdC,EAAO,yBACPK,EAAwB,gCACxBC,GACHa,EACG,OACIphB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK2e,GACLvL,GACGA,EAAMhU,KAAKohB,GAEArhB,EAAAA,cAACihB,EAAiBrgB,OAAAC,OAAA,GAAKwgB,MAErC1S,GACGA,EAAa1O,KAAI,CAAC2F,EAAwBuO,IAC/BnU,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAK4T,GAAQvO,KAE5C5F,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKmf,GACLC,GACGA,EAAQhgB,KAAI,CAACqhB,EAAyBnN,IAC3BnU,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAK4T,GAAQmN,MAIhDthB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKyf,GACNtgB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK0f,OA0BTgB,CAAajC,6HC7BvB,MAAMkC,EAAoEva,IAK5E,IAL6E,iBAC9Ewa,EAAgB,iBAChBC,EAAgB,wBAChBC,EAAuB,mBACvBC,GACH3a,EACG,OACIjH,EAAAA,cAAA,OAAKK,UAAU,gFACXL,EAAAA,cAAA,MAAIK,UAAU,iDAAiDohB,GAC9DG,GACG5hB,EAAAA,cAAA,KAAGK,UAAU,8DACR,GAAGshB,KAA2BC,KAGtCA,GAAsBF,GACnB1hB,EAAAA,cAAA,QAAMK,UAAU,iDACZL,EAAAA,cAAC6hB,IAAM,CAAC/W,MAAO8W,EAAoBE,KAAM,QCzChDC,EAAsD9a,IAAqB,IAApB,aAAE0H,GAAc1H,EAChF,OAAK0H,EAKD3O,EAAAA,cAAA,QAAMK,UAAU,iDACZL,EAAAA,cAAA,QAAMK,UAAU,2BAA0B,cAAa,SACvDL,EAAAA,cAAA,YAAO2O,IANJ,2kBCmDf,MAAMqT,UAAyBhiB,EAAAA,UAC3BuO,YAAmBxO,GACf+P,MAAM/P,GA0DH,KAAAkiB,sBAAwBnZ,MAAAA,IAC3B,MAAMlB,EAAoBiV,OAAO/O,SAASW,KAAK1O,MAAMqB,QAAQqS,QAAQlL,MAAOX,UAAW,IACjFga,EAA6BnT,KAAK1O,MAAMqB,QAAQqS,QAAQlL,MAAOqZ,mBAC/DM,EAAwBzT,KAAK1O,MAAMqB,QAAQqS,QAAQlL,MAAO2Z,cAE1DC,EAAkFC,MAAAA,OAAyB,EAAzBA,EAA2BniB,KAC/GoiB,IAAoC,IAAAC,EAChC,MAAO,CACHC,QAA6D,QAAtDD,EAAED,EAAkCE,QAAQC,kBAAU,IAAAF,EAAAA,EAAI,GACjExX,MAAOuX,EAAkCvX,UAI/C2X,EAA4C,GAClD,IAAKC,EAAAA,iBAAiBC,kBAAkBR,GACpC,IAAK,MAAMS,KAAyBT,EAChCM,EAAsBnW,KAAK,CACvBuW,IAAKD,EAAsBL,QAC3BO,MAAO,CACHC,YAAaH,EAAsB9X,SAKnD,UACUkY,EAAAA,uBAAAA,2BACF,CAAE9Z,cAAeuF,KAAK1O,MAAMqB,QAAQwD,cAAeqe,oBAAqB,IACxErb,EACAsa,EACAN,EACAa,GAEN,MAAO7c,GAGL,OAFA6I,KAAKoB,MAAQ,CAAEqT,mBAAoBzU,KAAK1O,MAAMkB,UAAUkiB,oBAAqBC,aAAa,GAC1F3U,KAAK1O,MAAM4F,UAAUC,MAAMA,GACpByd,QAAQC,UAGnB,OADA7U,KAAKwB,SAAS,CAAEiT,mBAAoB,GAAIE,aAAa,IAC9CC,QAAQC,WAOF,KAAAnG,QAAUrU,UAA0B,IAAAya,EAAAC,EAAAC,EAAAC,EACjD,MAAM9b,EAAoBiV,OAAO/O,SAAoD,QAA5CyV,EAAiC,QAAjCC,EAAC/U,KAAK1O,MAAMqB,QAAQqS,QAAQlL,aAAK,IAAAib,OAAA,EAAhCA,EAAkC5b,iBAAS,IAAA2b,EAAAA,EAAI,GAAI,IACvF3B,EAAyE,QAAvD6B,EAAuBhV,KAAK1O,MAAMqB,QAAQqS,QAAQlL,aAAK,IAAAkb,OAAA,EAAhCA,EAAkC7B,mBAC3EM,EAAoE,QAAvDwB,EAAuBjV,KAAK1O,MAAMqB,QAAQqS,QAAQlL,aAAK,IAAAmb,OAAA,EAAhCA,EAAkCxB,cAC5E,GAAIrF,OAAOC,MAAMlV,KAAega,IAAuBM,EAEnD,OAAIzT,KAAK1O,MAAMqB,QAAQqS,QAAQ+H,OAAOC,WAE3BhN,KAAK1O,MAAMqB,QAAQqS,QAAQ+H,OAAOmI,UACzClV,KAAKwB,SAAS,CAAEiT,mBAAoBzU,KAAK1O,MAAMkB,UAAU2iB,uCAEzDnV,KAAKwB,SAAS,CAAEiT,mBAAoBzU,KAAK1O,MAAMkB,UAAUkiB,sBAE7D1U,KAAK1O,MAAMqB,QAAQuE,UAAUC,MACzB,8JAPOyd,QAAQC,UAavB,MAAM,0BAAEO,GAA8BpV,KAAK1O,MAAMoB,OAKjD,IAH0CoD,EAAAA,gBAAgBC,YAAYqf,GAGvC,CAC3B,UACUb,EAAAA,uBAAAA,2BACF,CAAE9Z,cAAeuF,KAAK1O,MAAMqB,QAAQwD,cAAeqe,oBAAqB,IACxErb,EACAsa,EACAN,GAEN,MAAOhc,GAGL,OAFA6I,KAAKwB,SAAS,CAAEiT,mBAAoBzU,KAAK1O,MAAMkB,UAAUkiB,oBAAqBC,aAAa,IAC3F3U,KAAK1O,MAAM4F,UAAUC,MAAMA,GACpByd,QAAQC,UAEnB7U,KAAKwB,SAAS,CAAEiT,mBAAoB,GAAIE,aAAa,IAEzD,OAAOC,QAAQC,WA9If7U,KAAKoB,MAAQ,CACTqT,mBAAoB,GACpBE,aAAa,GAIdvQ,SAAM,IAAAiR,EACT,MAAMC,EAA2D,KAAlCtV,KAAKoB,MAAMqT,mBAEpCzL,EAASC,EAAAA,EAAA,GACRjJ,KAAK1O,OAAK,IACbikB,YAAahkB,EAAAA,cAAC+hB,EAAqB,CAACpT,aAAcF,KAAKoB,MAAMqT,qBAC7De,sBACIjkB,EAAAA,cAACwhB,EAA4B,CACzBC,iBAAkBhT,KAAK1O,MAAMkB,UAAUijB,wBACvCxC,iBAAkBjT,KAAK1O,MAAMoB,OAAOugB,iBACpCC,wBAAyBlT,KAAK1O,MAAMkB,UAAUkjB,oBAC9CvC,mBAAoD,QAAlCkC,EAAErV,KAAK1O,MAAMqB,QAAQqS,QAAQlL,aAAK,IAAAub,OAAA,EAAhCA,EAAkClC,qBAG9DK,sBAAuBxT,KAAKwT,sBAC5BmC,4BAA6B3V,KAAK1O,MAAMoB,OAAO0iB,0BACzCpV,KAAK1O,MAAMoB,OAAO0iB,0BAA0B5jB,KAAI,KACrC,WAEXoQ,EACNmO,UAAW,CACPuF,cAAAA,EACAX,YAAa3U,KAAKoB,MAAMuT,eAIhC,OAAO3U,KAAK1O,MAAMmY,WAAWT,GAG1BF,sBAAsBC,EAA4D+G,GACrF,OACI9P,KAAK1O,MAAMoB,OAAOkjB,+BAAiC7M,EAAUrW,OAAOkjB,8BACpE5V,KAAK1O,MAAMoB,OAAOsgB,mBAAqBjK,EAAUrW,OAAOsgB,mBAIxDhT,KAAKoB,MAAMqT,qBAAuB3E,EAAU2E,oBAAsBzU,KAAKoB,MAAMuT,cAAgB7E,EAAU6E,aAMxG,gCACG3U,KAAK0O,WAiGnB,qFC9MA,MAuBA,EAvB2Dpd,IAA4B,IAAAukB,EACnF,MAAM,YAAEN,EAAW,sBAAE/B,EAAqB,sBAAEgC,EAAqB,UAAEzF,GAAcze,EACjF,OACIC,EAAAA,cAAAA,EAAAA,SAAA,KACKwe,EAAUuF,eAAiBC,GAC1BxF,EAAUuF,eAAiBxf,EAAAA,gBAAgBC,YAAYzE,EAAMoB,OAAO0iB,4BAClE7jB,EAAAA,cAACukB,EAAAA,YAAW,CACRxN,QAAkD,QAA3CuN,EAAEvkB,EAAMoB,OAAOkjB,oCAA4B,IAAAC,EAAAA,EAAIvkB,EAAMkB,UAAUujB,oCACtEC,iBAAkB1kB,EAAMkB,UAAUyjB,sCAClCC,KAAM5kB,EAAMoB,OAAO0iB,0BACnBe,iCAAkC7kB,EAAMkB,UAAU2jB,iCAClDC,SAAU5C,EACVgC,sBAAuBA,KAG7BzF,EAAUuF,gBACPxf,EAAAA,gBAAgBC,YAAYzE,EAAMoB,OAAO0iB,4BAC1CrF,EAAU4E,aACVa,oJCiBhB,MA4FMa,EAAeA,CACjBzD,EACAthB,EACAglB,KAC6C,IAAAC,EAO7C,MAAO,CACHjO,QAPgBsK,EAAKtK,SAjGPkO,EAACC,EAAkCnlB,EAA4CglB,KACjG,MAAMlgB,EAAiB9E,EAAM8E,eAC7B,OACI7E,EAAAA,cAAC+X,EAAAA,GAAa,CACVf,KAAMkO,EACNpK,IAAI,IACJza,UAAU,sDACV2X,UAAW,CAKPC,OAAQtH,IACJ5Q,EAAMolB,2BAA2BJ,EAAWpU,IAEhD9L,eAAAA,MAkFwBogB,CAAc5D,EAAKtK,QAAShX,EAAOglB,GAQnE/N,KAPkBqK,EAAK+D,SAtEPC,EAACC,EAAwCvlB,EAA4CglB,KACzG,MAAMlgB,EAAiB9E,EAAM8E,eAC7B,OACI7E,EAAAA,cAAC+X,EAAAA,GAAa,CACVf,KAAMsO,EACNxK,IAAI,IACJza,UAAU,2DACV2X,UAAW,CAKPC,OAAQtH,IACJ5Q,EAAMolB,2BAA2BJ,EAAWpU,IAEhD9L,eAAAA,MAuD0BwgB,CAAgBhE,EAAK+D,QAASrlB,EAAOglB,GAQvE1L,MAPwB,QAAb2L,EAAG3D,EAAKhI,aAAK,IAAA2L,OAAA,EAAVA,EAAY/kB,KAAI,CAACslB,EAAqBpR,IA1CxCqR,EAACD,EAAqBxlB,EAA4CglB,EAAmBtL,KACrG,MAAMX,EAAoC,CACtCC,UAAWwM,EAAQxM,UACnB1Y,UAAW,0DACXuY,SAAU2M,EAAQ3M,SAClBI,QAASuM,EAAQvM,QAAQC,eACzBC,aAAcqM,EAAQrM,aACtBC,KAAM,QAEJtU,EAAiB9E,EAAM8E,eAC7B,OACI7E,EAAAA,cAAC+X,EAAAA,GAAa,CACVxX,IAAKkZ,EACL5D,KAAMiD,EACNd,UAAW,CAKPsB,aAAc3I,IACV5Q,EAAM0lB,+BAA+BhM,EAAWsL,EAAWpU,IAE/D9L,eAAAA,MAqBD2gB,CAAYD,EAASxlB,EAAOglB,EAAW5Q,KAO9CuR,+BAAgC,CAAErlB,UAAW,4DAC7CslB,2BAA4B,CAAEtlB,UAAW,uDASpCulB,EACT7lB,IAEA,MAAM,kBAAE8lB,GAAsB9lB,EAC9B,IAAK8lB,EACD,OAGJ,MAAMC,EAA4D,GAKlE,OAJAD,EAAkB5lB,KAAI,CAACohB,EAAMlN,IAClB2R,EAAWxZ,KAAKwY,EAAazD,EAAMthB,EAAOoU,MAG9C,CACH4R,sBAAuB,CAAE1lB,UAAW,iDACpC2lB,uBAAwBF,IC/JzB,MAAMG,UAAyBjmB,EAAAA,cAAtCuO,cAAA,oBAeqB,KAAA4J,kBAAqBC,IAClC,IAAKA,GAAgC,IAApBA,EAASjL,OACtB,OAAO,KAEX,MAAMmL,EAAuC,GAqB7C,OApBAF,EAASK,SAAQ,CAAC5C,EAAM1B,KAEpB,MAAMoE,GAAUC,EAAAA,EAAAA,kBAAiB,QAAS/J,KAAK1O,MAAMsY,iBAAkB,GAAI,IACrEO,EAAW/C,EAAK+C,SAAW/C,EAAK+C,SAAW,GACjDL,EAAQG,cAAcC,MAAQC,EAC9B,MAAM9W,GAAa+W,EAAAA,EAAAA,wBAAuBpK,KAAK1O,MAAMsY,iBAAkBE,GACjE2N,EAAqB,IAAV/R,EAAc,mBAAqB,qBAC9C2E,EAAoC,CACtCC,UAAWlD,EAAKkD,UAChB1Y,UAAW6lB,EACXtN,SAAU/C,EAAK+C,SACfI,QAASnD,EAAKmD,QAAQC,eACtBC,aAAcrD,EAAKqD,aACnBC,KAAM1K,KAAK1O,MAAMoZ,KACjBC,qBAAsBtX,EACtBsI,SAAS+b,EAAAA,EAAAA,kBAAiB1X,KAAK1O,MAAMsY,iBAAkBE,EAASK,IAEpEN,EAAchM,KAAKwM,MAGhBR,GAvCJzF,SACH,MAAMyF,EAAgB7J,KAAK0J,kBAAkB1J,KAAK1O,MAAMsZ,OACxD,OACIrZ,EAAAA,cAAA,OAAKK,UAAU,yBACViY,GAAiBA,EAAcnL,OAAS,EACrCnN,EAAAA,cAAC+X,EAAAA,GAAc,CACXsB,MAAOf,EACPN,UAAW,CAAEsB,aAAc7K,KAAK1O,MAAMuZ,aAAczU,eAAgB4J,KAAK1O,MAAM8E,kBAEnF,OAiCpB,+kBCtBO,MAAMuhB,UAAqBpmB,EAAAA,cAAlCuO,cAAA,oBACqB,KAAA8J,kBAAsCuB,EAAAA,EAAAA,oBACnDnL,KAAK1O,MAAMqB,QAAQqS,QAAQoG,kBAC3BpL,KAAK1O,MAAM+Z,aACXrL,KAAK1O,MAAM4F,WAmGR,KAAA0gB,iBAAoB1V,GAA0ClC,KAAK1O,MAAMoB,OAAO4V,QAASC,KAAOrG,EAAMR,OAAOrF,MAS7G,KAAAwb,sBAAyB3V,GAA0ClC,KAAK1O,MAAMoB,OAAOolB,UAAY5V,EAAMR,OAAOrF,MAO9G,KAAA0O,qBAAwBC,GAAuB9I,IAC9ClC,KAAK1O,MAAMoB,OAAOkY,OAAS5K,KAAK1O,MAAMoB,OAAOkY,MAAMwD,OAAOpD,MAC1DhL,KAAK1O,MAAMoB,OAAOkY,MAAMwD,OAAOpD,IAAYb,SAAWjI,EAAMR,OAAOrF,QAlHpE+H,SAAM,IAAA2T,EAAAjD,EAAAkD,EACT,MAAM,QAAE1P,EAAO,UAAEwP,EAAS,MAAErV,EAAK,MAAEmI,EAAK,UAAEhZ,EAAS,eAAEqmB,GAAmBjY,KAAK1O,MAAMoB,OAC7EwlB,EAAoB5P,GACtB/W,EAAAA,cAAC+X,EAAAA,GAAa,CACV1X,UAAU,0BACVya,IAAgB,QAAb0L,EAAEzP,EAAQ+D,WAAG,IAAA0L,EAAAA,EAAI,KACpBxP,KAAMD,EAAQC,KACdgB,UAAW,CAAEC,OAAQxJ,KAAK4X,iBAAkBxhB,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,WAGjFmT,EAAa,CACfC,aAAqD,QAAzCtD,EAAE9U,KAAK1O,MAAMqB,QAAQqS,QAAQoT,oBAAY,IAAAtD,EAAAA,EAAI,GACzDuD,cAAe5V,MAAAA,OAAK,EAALA,EAAO4V,eAEpBC,EAAoB1N,GAAS9U,EAAAA,gBAAgBC,YAAY6U,IAC3DrZ,EAAAA,cAAC+a,EAAcna,OAAAC,OAAA,GACP,CACAwY,MAAAA,EACAC,aAAc7K,KAAK+K,qBACnB3U,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,QACnC4E,iBAAkB5J,KAAK4J,iBACvBc,KAAgF,SAAzE1K,KAAK1O,MAAMoB,OAAmC6lB,uBAAoC,OAAS,YAIxGC,EAAmBV,GACrBvmB,EAAAA,cAAC+X,EAAAA,GAA0B,CACvBf,KAAMuP,EACNlmB,UAAU,yBACV2X,UAAW,CAAEC,OAAQxJ,KAAK6X,sBAAuBzhB,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,WAGtFyT,EACFlnB,EAAAA,cAAC+X,EAAAA,GAAcnX,OAAAC,OAAA,GACPqQ,EACA0V,EAAU,CACd/hB,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,QACnC0T,oBAAoB,EACpBnP,UAAW,CACPzX,IAA4B,QAAzBkmB,EAAEhY,KAAK1O,MAAMoB,OAAO+P,aAAK,IAAAuV,EAAAA,EAAI,GAChC5hB,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,QACnC2T,WAAY3Y,KAAK1O,MAAMsnB,SACvBC,kBAAmB,QACnBC,SAAU9Y,KAAK1O,MAAM4D,GACrB6jB,OAAS/Y,KAAK1O,MAAMoB,OAAmC6lB,wBAE3DS,uBAAqB,KAI7B,IAAKd,IAAsBM,IAAqBF,EAE5C,OADAtY,KAAK1O,MAAMqB,QAAQuE,UAAUC,MAAM,uDAC5B,KAEX,MAAM8hB,EAAqBhQ,EAAAA,EAAA,GACpBjJ,KAAK1O,OAAK,IACb8D,MAAO8iB,EACP3P,KAAMiQ,EACN/V,MAAOgW,EACP7N,MAAO0N,EACPY,YAAalZ,KAAK1O,MAAMoB,OAAOd,UAC/BunB,sBAAuB,CACnBhQ,YAAanJ,KAAK1O,MAClBM,UAAWuV,GAAAA,CAAW,mBAAoBvV,IAE9CwnB,eAAgB,CAAExnB,UAAW,2BAC7BynB,iBAAkB,CAAEznB,UAAW,6BAC/B0nB,sBAAuB,CACnBjN,IAAK,IACLza,UAAW,yBACX8Y,KAAM,QAEV6O,UAAWvZ,KAAKwZ,gBAChBvB,eAAAA,EACAb,kBAAmBD,EAA8B,CAC7C/gB,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,QACnCoS,kBAAmBpX,KAAK1O,MAAMoB,OAAO0kB,kBACrCV,2BAA4B1W,KAAK0W,2BACjC+C,gCAAiCzZ,KAAKyZ,gCACtCzC,+BAAgChX,KAAKgX,iCAEzC0C,qBAAsB1Z,KAAK0W,2BAC3BiD,0BAA2B3Z,KAAKyZ,gCAChCzC,+BAAgChX,KAAKgX,iCAGzC,OAAOhX,KAAK1O,MAAMmY,WAAWwP,GAgC1BvC,2BAA2BhR,EAAexD,GACzClC,KAAK1O,MAAMoB,OAAO0kB,oBAClBpX,KAAK1O,MAAMoB,OAAO0kB,kBAAkBhJ,OAAO1I,IAAQ4C,QAAUpG,EAAMR,OAAOrF,OAI3E2a,+BAA+BhM,EAAmBtF,EAAexD,GACpE,MAAM0X,EACD5Z,KAAK1O,MAAMoB,OAAO0kB,mBACfthB,EAAAA,gBAAgBC,YAAYiK,KAAK1O,MAAMoB,OAAO0kB,oBAC9CpX,KAAK1O,MAAMoB,OAAO0kB,kBAAkBhJ,OAAO1I,KAC/C,GACAkU,EAAwBhP,QACxBgP,EAAwBhP,MAAMwD,OAAOpD,IAAYb,SAAWjI,EAAMR,OAAOrF,OAI1Eod,gCAAgC/T,EAAexD,GAC9ClC,KAAK1O,MAAMoB,OAAO0kB,oBAClBpX,KAAK1O,MAAMoB,OAAO0kB,kBAAkBhJ,OAAO1I,IAAQiR,QAAUzU,EAAMR,OAAOrF,OAI1Emd,gBACJ,MAAM,UAAED,EAAS,MAAE3O,EAAK,iBAAEiP,GAAqB7Z,KAAK1O,MAAMoB,OAC1D,MAAoB,kBAAhBmnB,EACIN,MAAAA,GAAAA,EAAW/O,eACJ+O,EAAU/O,eACVI,GAAS9U,EAAAA,gBAAgBC,YAAY6U,IAAUA,EAAM,GAAGL,QACxDK,EAAM,GAAGL,QAAQC,eAErB,KAEJ,MAIf,qFC/LA,MAAMsP,EAA2B1C,IAA8D,IAAA2C,EAC3F,OACIxoB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKglB,EAAkBE,uBACiB,QADIyC,EAC5C3C,EAAkBG,8BAAsB,IAAAwC,OAAA,EAAxCA,EAA0CvoB,KAAKohB,GAExCrhB,EAAAA,cAAAA,EAAAA,SAAA,KACKqhB,EAAKtK,QACN/W,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKwgB,EAAKqE,gCACVrE,EAAKrK,KACNhX,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKwgB,EAAKsE,4BAA6BtE,EAAKhI,aAyD7E,EAhD2DtZ,IACvD,MAAM,sBACF6nB,EAAqB,eACrBC,EAAc,iBACdC,EAAgB,MAChBjkB,EAAK,KACLmT,EAAI,MACJqC,EAAK,MACLnI,EAAK,sBACL6W,EAAqB,UACrBC,EAAS,eACTtB,EAAc,kBACdb,GACA9lB,EAEJ,OAAIioB,EAEIhoB,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAK+mB,GACR5nB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GACGknB,EAAqB,CACzBU,KAAMT,EACN3nB,UAAW0nB,EAAwBA,EAAsB1nB,UAAY,GAAE,aAC3DqmB,IAEZ1mB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKgnB,GAAiB3W,IAE/BlR,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKinB,GACLjkB,EACAmT,EACAqC,EACAwM,GAAqB0C,EAAwB1C,KAM1D7lB,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAK+mB,GACR5nB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKgnB,GAAiB3W,GAC3BlR,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKinB,GACLjkB,EACAmT,EACAqC,EACAwM,GAAqB0C,EAAwB1C,gRC1DvD,MAAM6C,EAA2DzhB,IAAA,IAAC,sBACrE0hB,EAAqB,QACrBC,EAAO,UACPC,EAAS,YACTC,EAAW,YACXC,EAAW,MACXC,EAAK,OACLC,EAAM,mBACNrH,GACH3a,EAAA,OACGjH,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK8nB,GACLG,EACAF,EACAC,EACAE,EACAC,EACAC,EACArH,IAIIsH,EAAsD9H,IAAA,IAAC,cAChE+H,EAAa,QACbpS,EAAO,MACPiS,EAAK,WACLI,EAAU,QACVC,EAAO,aACPC,GACHlI,EAAA,OACGphB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKsoB,GACLpS,EACAiS,EACAI,EACAC,EACAC,IAIIC,EAAsCpI,IAAA,IAAC,WAAEqI,EAAU,SAAEC,EAAQ,gBAAEC,EAAe,WAAEC,GAAYxI,EAAA,OACrGnhB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK2oB,GACLG,GACG3pB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK6oB,GACLC,EAAW1pB,KAAI2pB,GACZ5pB,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAKqpB,EAAUhoB,KAAKgoB,UAAUhe,QAASge,EAAUA,gBAOxEC,EAAwCC,IAAA,IAAC,YAAEC,EAAW,OAAEC,GAAQF,EAAA,OACzE9pB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKkpB,GACLC,EAAO/pB,KAAI,CAACgqB,EAAO9V,IAChBnU,EAAAA,cAACupB,EAAiB3oB,OAAAC,OAAA,CAACN,IAAK4T,GAAW8V,QAKlCC,EAAwCC,IAAA,IAAC,YAAEC,EAAW,QAAErT,EAAO,gBAAEsT,EAAe,aAAEC,GAAcH,EAAA,OACzGnqB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKupB,GACLrT,EACAsT,EACAC,IAIIC,EAA+CC,IAAA,IAAC,gBACzDC,EAAe,gBACfC,EAAe,OACfV,EAAM,iBACNW,EAAgB,qBAChBC,GACHJ,EAAA,OACGxqB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK4pB,GACLC,GAAmB1qB,EAAAA,cAAC0oB,EAA2B9nB,OAAAC,OAAA,GAAK6pB,IACpDV,GAAUhqB,EAAAA,cAAC6pB,EAAkBjpB,OAAAC,OAAA,GAAKmpB,IAClCY,EACAD,IAIIE,EAAoCC,IAAA,IAAC,UAAEC,EAAS,YAAEC,GAAaF,EAAA,OACxE9qB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKkqB,GACLC,GAAeA,EAAY/qB,KAAI,CAACgrB,EAAY9W,IAAUnU,EAAAA,cAACuqB,EAAqB3pB,OAAAC,OAAA,CAACN,IAAK4T,GAAW8W,QAoCtG,EAhC2DC,IAAA,IAAC,kBACxDC,EAAiB,OACjBzkB,EAAM,MACN0kB,EAAK,QACLzM,EAAO,aACP0M,EAAY,mBACZC,EAAkB,KAClBC,EAAI,MACJC,EAAK,WACLC,GACHP,EAAA,OACGlrB,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAKsqB,GACPzkB,GAAU1G,EAAAA,cAACkqB,EAAkBtpB,OAAAC,OAAA,GAAK6F,IAClCiY,EACAyM,GACGprB,EAAAA,cAAAA,EAAAA,SAAA,KACKorB,EACAE,GAGRD,GACGrrB,EAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,6CACXgrB,EACAC,GAGRC,GAAQvrB,EAAAA,cAAC6qB,EAAgBjqB,OAAAC,OAAA,GAAK0qB,IAC9BC,EACAC,GAAcA,0KCpHhB,MAAMC,EAAaA,CAACrrB,EAAmByK,IACnC9K,EAAAA,cAAA,OAAKK,UAAWA,GAAYyK,GAS1B6gB,EAAmBA,CAACC,EAA8BC,IACpDD,GAAwB5rB,EAAAA,cAAA,OAAKK,UAAWwrB,GAAwBD,GAW9DE,EAA8BA,CACvC7qB,EACA8qB,EACAC,EACAC,KAEA,MAAM,8BAAEC,EAA6B,2BAAEC,EAA0B,0BAAEC,GAA8BnrB,EAC3FwP,EAAkByb,EAClBG,EAAsBF,EACtBG,EAAqBF,EAC3B,OACIpsB,EAAAA,cAAA,OAAKK,UAAW4rB,GACXxb,EACDzQ,EAAAA,cAAA,KAAGK,UAAW2rB,EAAqBvD,KAAMsD,GACpCO,GAEJD,IAoFAE,EAAqBC,GACvBxsB,EAAAA,cAAA,OAAKK,UAAU,+CAA+CmsB,GCrGzE,IAAqBC,EAArB,cAAmEzsB,EAAAA,UAC/DuO,YAAmBxO,GACf+P,MAAM/P,GAGHwX,sBAAsBC,GACzB,OAAI/I,KAAK1O,QAAUyX,EAMhB3E,SACH,OACI7S,EAAAA,cAAA,OAAKK,UAAU,qDACVoO,KAAKie,kCAAkCC,qBACvCle,KAAKie,kCAAkCE,qBACvCne,KAAKie,kCAAkCG,sBAS5CH,kCACJ,MAAO,CACHC,qBAAsBjB,EAAWjd,KAAK1O,MAAM+sB,8BAA+Bre,KAAK1O,MAAM4sB,sBACtFE,qBACI7sB,EAAAA,cAAA,OAAKK,UAAU,mEACXL,EAAAA,cAAA,SACIkN,KAAMuB,KAAK1O,MAAMgtB,UACjB9Z,SAAUxE,KAAK1O,MAAMkT,SAAQ,aACjBxE,KAAK1O,MAAMgZ,UACvBjO,MAAO2D,KAAK1O,MAAM+K,MAClB/I,KAAM0M,KAAK1O,MAAMgC,QAI7B6qB,qBACI5sB,EAAAA,cAAA,OAAKK,UAAU,kEACToO,KAAK1O,MAAMitB,2BAA2E,GAA9Cve,KAAK1O,MAAMktB,qCA1CpDR,GAAqC3L,EAAAA,EAAAA,IAAA,CADzDE,EAAAA,IACoByL,GA+CpB,UC5CD,IAAqBS,EAArB,cAAyDltB,EAAAA,UACrDuO,YAAmBxO,GACf+P,MAAM/P,GAGHwX,sBAAsBC,GACzB,OAAI/I,KAAK1O,QAAUyX,EAMhB3E,SACH,OACI7S,EAAAA,cAAA,OAAKK,UAAWoO,KAAK1O,MAAMM,WACtBoO,KAAK0e,wBAAwBzM,MAC7BjS,KAAK0e,wBAAwBvnB,MAC7B6I,KAAK0e,wBAAwBvM,OASlCuM,wBACJ,MAAO,CACHzM,MAAOgL,EAAWjd,KAAK1O,MAAMqtB,0BAA2B3e,KAAK1O,MAAMstB,kBACnEzM,MACI5gB,EAAAA,cAAA,OAAKK,UAAU,wDACXL,EAAAA,cAAA,SACIstB,IAAK7e,KAAK1O,MAAMwtB,eAChBrgB,KAAMuB,KAAK1O,MAAMgtB,UACjB9Z,SAAUxE,KAAK1O,MAAMkT,SAAQ,aACjBxE,KAAK1O,MAAMgZ,UACvBjO,MAAO2D,KAAK1O,MAAM+K,MAClB/I,KAAM0M,KAAK1O,MAAMgC,QAI7B6D,MACI5F,EAAAA,cAAA,OAAKK,UAAWoO,KAAK1O,MAAMytB,qBACtB/e,KAAK1O,MAAM0tB,iBAAmBhf,KAAK1O,MAAM2tB,YAAYjf,KAAK1O,MAAMgC,MAAQ,GACxE0M,KAAK1O,MAAM4tB,kBAAoBlf,KAAK1O,MAAM2tB,YAAYjf,KAAK1O,MAAMgC,MAAQ,OA5CzEmrB,GAA2BpM,EAAAA,EAAAA,IAAA,CAD/CE,EAAAA,IACoBkM,GAiDpB,+kBCrCD,IAAKU,GAAL,SAAKA,GACDA,EAAA,cACAA,EAAA,0BAFJ,CAAKA,IAAAA,EAAuB,KAsC5B,MAAMC,UAAoB7tB,EAAAA,cAetBuO,YAAmBxO,GACf+P,MAAM/P,GAXH,KAAA+tB,cAAwB,EAMvB,KAAAC,oBAA8B,EAE9B,KAAAC,0BAAqD,GAoLtD,KAAA3H,iBAAoB1V,IACvBlC,KAAK1O,MAAMoB,OAAO4V,QAASC,KAAOrG,EAAMR,OAAOrF,OAO5C,KAAAwb,sBAAyB3V,IAC5B,MAAM,OAAExP,GAAWsN,KAAK1O,MACxBoB,EAAOolB,UAAY5V,EAAMR,OAAOrF,OAepB,KAAAmjB,aAAe,KAC3B,MAAM,OAAE9sB,EAAM,QAAEC,GAAYqN,KAAK1O,OAC3B,cAAE6E,GAAkBxD,GACpB,qBAAEgY,EAAoB,YAAE8U,EAAW,MAAEC,GAAU1f,KAAKoB,MACpDue,EAAmBD,GACnB,gCAAEE,GAAoCltB,EACtCmtB,OAAsDje,IAApCge,EAAgDA,EAAkC,GAE1G,GADyB5f,KAAK8f,2BACjB,CAAC,IAADC,EACT,MAAMC,EAAqC7pB,EACrC8pB,EAA0E,QAA1DF,EAAGzW,EAAAA,GAAoB,eAAgB0W,UAAmB,IAAAD,EAAAA,EAAI,GACpF,GAAIE,EAAkB,CAClB,MAAMC,EAAU,IAAIC,IAAIzX,OAAO0X,SAASC,QAClCC,EAAc,IAAIH,IAAIF,EAAkBC,GACxCK,EAAmBD,EAAYE,aAErCD,EAAiBE,IAAI,iBAAkBhB,GACvCc,EAAiBE,IAAI,eAAgBZ,GACrCU,EAAiBE,IAAI,gBAAiBd,GAElC7pB,EAAAA,gBAAgBC,YAAY4U,IAC5BA,EAAqBnZ,KAAI,CAACohB,EAAMlN,KAC5B,MAAMgb,EAAaC,EAAAA,iBAAiBC,mBAAmBhO,EAAKtI,WAEtD,GADAsI,EAAKtI,UAAUuW,QAAQ,IAAK,IAAIC,oBAEhCC,EAAcJ,EAAAA,iBAAiBC,mBAAmBhO,EAAKmO,YAAgC,GAAlBnO,EAAKmO,WAGhF,OAFAR,EAAiBE,IAAI,QAAQ/a,EAAQ,QAASgb,GAC9CH,EAAiBE,IAAI,QAAQ/a,EAAQ,SAAUqb,GACxCnO,KAIflK,OAAO0X,SAAShuB,OAAOkuB,EAAYhjB,eAS/B,KAAAkH,SAAYtC,IAAoD,IAAA8e,EAAAC,EAC5E,MAAM,qBAAEtW,GAAyB3K,KAAKoB,OAChC,OAAE1O,GAAWsN,KAAK1O,OAClB,gCAAEsuB,GAAoCltB,EACtCY,EAAO4O,EAAMR,OAAOpO,MAAQ,GAC5B+I,EAAQ6F,EAAMR,OAAOrF,OAAS,GACpC2D,KAAKsf,oBAAsBqB,EAAAA,iBAAiBC,mBAAmD,QAAjCI,EAAChhB,KAAKkhB,oBAAoBC,eAAO,IAAAH,OAAA,EAAhCA,EAAkC3kB,OACjG2D,KAAKqf,cAAgBsB,EAAAA,iBAAiBC,mBAA6C,QAA3BK,EAACjhB,KAAKohB,cAAcD,eAAO,IAAAF,OAAA,EAA1BA,EAA4B5kB,OAExB,UAAzDujB,MAAAA,OAA+B,EAA/BA,EAAiCkB,uBACjC9gB,KAAKqf,cAAe,GAGxBrf,KAAKwB,SAAS,CAAE2b,qBAAsB,KACtC,MAAMkE,EAA2D,GACjE,IAAIC,GAAkC,EAClCC,GAA4C,EAEhD,IAAK,MAAM3O,KAAQjI,EAAsB,CACrC,MAAM+V,EAAoB9N,EAAKtI,UAAUuW,QAAQ,IAAK,IAClDH,EAAUI,sBAAwBxtB,EAAKwtB,oBACvCO,EAAyBxjB,KAAK,CAC1B2jB,UAAW5O,EAAK4O,UAChBC,kBAAkB,EAClBV,WAAY1kB,EACZiO,UAAWsI,EAAKtI,UAChBoX,4BAA6B9O,EAAK8O,8BAGtCL,EAAyBxjB,KAAK,CAC1B2jB,UAAW5O,EAAK4O,UAChBC,iBAAkB7O,EAAK6O,iBACvBV,WAAYnO,EAAKmO,WACjBzW,UAAWsI,EAAKtI,UAChBoX,4BAA6B9O,EAAK8O,8BAGtChB,EAAUI,uBAAwBlB,MAAAA,OAA+B,EAA/BA,EAAiCkB,uBACnES,GAAmC,GAI3C,IAAK,MAAM/b,KAAS6b,EACZV,EAAAA,iBAAiBC,mBAAmBpb,EAAMub,cAC1CO,GAAyB,GAMjC,GAFAthB,KAAKwB,SAAS,CAAEmJ,qBAAsB0W,KAEjCE,EACD,OAAQjuB,EAAKwtB,qBACT,KAAK3B,EAAwBwC,YACzB3hB,KAAKwB,SAAS,CACVie,YAAapjB,EACbulB,kBAAkB,EAClBC,YAAY,IAEhB,MAEJ,KAAK1C,EAAwBO,MACzB1f,KAAKwB,SAAS,CACVke,MAAOrjB,EACPylB,cAAc,EACdC,mBAAmB,EACnBF,YAAY,IAEhB,MAEJ,QACI7hB,KAAKwB,SAAS,CAAEqgB,YAAY,IAMpC7hB,KAAKsf,oBACLtf,KAAKqf,cACLiC,GACAthB,KAAKoB,MAAM4gB,qBACVhiB,KAAKoB,MAAM6gB,6BAEZjiB,KAAKwB,SAAS,CAAE0gB,YAAY,IAE5BliB,KAAKwB,SAAS,CAAE0gB,YAAY,KAwBnB,KAAAC,aAAgBvwB,IAC7B,MACIY,WAAW,uCAAE4vB,EAAsC,oCAAEC,IACrDriB,KAAK1O,OAEH,aAAEwwB,EAAY,MAAEpC,EAAK,kBAAEqC,EAAiB,WAAEF,GAAe7hB,KAAKoB,MAChE0gB,IACA9hB,KAAKsiB,qBAAuBD,IAG3B1B,EAAAA,iBAAiB4B,cAAc7C,IAAUqC,IAC1C/hB,KAAKwiB,4BAA8BJ,GAGvC,MAAMK,EAAiBZ,EACjBa,EAAoBX,EACpBY,EAAoB/wB,EAAUkvB,sBAAwB3B,EAAwBO,MACpF,OACInuB,EAAAA,cAAAA,EAAAA,SAAA,KACKkxB,GACGlxB,EAAAA,cAAA,QAAMK,UAAW,GAAGA,WAAoB8Y,KAAK,SACxC1K,KAAKsiB,sBAGbI,GAAqBC,GAClBpxB,EAAAA,cAAA,QAAMK,UAAW,GAAGA,WAAoB8Y,KAAK,SACxC1K,KAAKwiB,+BAYT,KAAAI,wBAA2BhxB,IACxC,MACIY,WAAW,6CAAEqwB,EAA4C,oCAAER,IAC3DriB,KAAK1O,OAEH,iBAAEswB,EAAgB,WAAEC,GAAe7hB,KAAKoB,MAC9C,OACI7P,EAAAA,cAAAA,EAAAA,SAAA,KACKswB,GACGtwB,EAAAA,cAAA,QAAMK,UAAW,GAAGA,WAAoB8Y,KAAK,SACxC2X,GAGRT,GACGrwB,EAAAA,cAAA,QAAMK,UAAW,GAAGA,WAAoB8Y,KAAK,SACxCmY,KAkCJ,KAAAC,wBAA0B,KACvC,MAAM,MAAEpD,EAAK,aAAEoC,EAAY,kBAAEC,GAAsB/hB,KAAKoB,OAEpD1O,QAAQ,gCAAEktB,GACVptB,WAAW,sBAAEuwB,EAAqB,0BAAEC,IACpChjB,KAAK1O,MAET,OAAQsuB,GACJ,IAAI,OACA,OACJ,IAAI,QACJ,QACI,OACIruB,EAAAA,cAACktB,EAA2B,CACxBK,eAAgB9e,KAAKohB,cACrB9W,UAAW0Y,EACXpxB,UAAU,yCACV0sB,UAAU,OACVjiB,MAAOqjB,EACPpsB,KAAM6rB,EAAwBO,MAC9Bd,iBAAkBmE,EAClBpE,0BAA0B,sDAC1BI,oBAAoB,4DACpBC,iBAAkB8C,EAClB5C,kBAAmB6C,EACnB9C,YAAajf,KAAKmiB,aAClB3d,SAAUxE,KAAKwE,aAUlB,KAAAye,2BAA6B,KAC1C,MAAM5B,EAA2D,GACjE,IAAK,MAAMzO,KAAQ5S,KAAKoB,MAAMuJ,qBAAsB,CAChD,MAAMuY,GAAyBvC,EAAAA,iBAAiBC,mBAAmBhO,EAAKmO,cH/f7CztB,EG+fmFsf,EAAKmO,WH9f7G,IAAIoC,OAAO,2BAA4B,KACxCC,KAAK9vB,IG8fV+tB,EAAyBxjB,KAAK,CAC1B2jB,UAAW5O,EAAK4O,UAChBC,iBAAkByB,EAClBnC,WAAYnO,EAAKmO,WACjBzW,UAAWsI,EAAKtI,UAChBoX,4BAA6B9O,EAAK8O,8BHrgBXpuB,IAAAA,EGwgB/B,OAAO+tB,GAOM,KAAAvB,yBAA2B,KACxC,MAAM,OAAEptB,GAAWsN,KAAK1O,OAClB,YAAEmuB,EAAW,MAAEC,GAAU1f,KAAKoB,OAC9B,gCAAEwe,GAAoCltB,EAC5C,IAAI2uB,EAA2D,GAC3DgC,GAAU,EACVC,GAAY,EAEhB,GAAIxtB,EAAAA,gBAAgBC,YAAYiK,KAAKoB,MAAMuJ,sBAAuB,CAC9D0W,EAA2BrhB,KAAKijB,6BAChC,IAAK,MAAMrQ,KAAQyO,EACVzO,EAAK6O,mBACN6B,GAAY,GAIhBA,GACAtjB,KAAKwB,SAAS,CACVmJ,qBAAsB0W,EACtBa,YAAY,IAyCxB,OApCIvB,EAAAA,iBAAiBC,mBAAmBnB,GACpCzf,KAAKwB,SAAS,CACVogB,kBAAkB,EAClBC,YAAY,EACZK,YAAY,IAETzC,EAAY8D,SAAW9D,EAC9Bzf,KAAKwB,SAAS,CACVogB,kBAAkB,EAClBC,YAAY,EACZK,YAAY,IAGe,UAA/BtC,GACAe,EAAAA,iBAAiBC,mBAAmBlB,GAEpC1f,KAAKwB,SAAS,CACVsgB,cAAc,EACdD,YAAY,EACZK,YAAY,IAEsB,UAA/BtC,GHrkBUF,CAAAA,GAClB8D,EAAAA,WAAW7T,aAAayT,KAAK1D,GGokB0D+D,CAAa/D,GAK5F4D,IAActjB,KAAKoB,MAAM4gB,oBAAsBhiB,KAAKoB,MAAM6gB,6BACjEjiB,KAAKwB,SAAS,CACV0gB,YAAY,KAGhBliB,KAAKwB,SAAS,CACV0gB,YAAY,IAEhBmB,GAAU,GAZVrjB,KAAKwB,SAAS,CACVugB,mBAAmB,EACnBG,YAAY,IAYbmB,GAxiBPrjB,KAAKkhB,oBAAsB3vB,EAAAA,YAC3ByO,KAAKohB,cAAgB7vB,EAAAA,YACrB,MAAM,OAAEmB,GAAWsN,KAAK1O,OAClB,kCAAEoyB,GAAsChxB,EACxC2uB,EAA2D,GAEjE,GAAIqC,EACA,IAAK,MAAM9Q,KAAQ8Q,EAAmC,CAAC,IAADC,EAAAC,EAAAC,EAClDxC,EAAyBxjB,KAAK,CAC1B2jB,UAAyB,QAAhBmC,EAAE/Q,EAAK4O,iBAAS,IAAAmC,EAAAA,EAAI,GAC7BlC,kBAAkB,EAClBV,WAAY,GACZzW,UAAyB,QAAhBsZ,EAAEhR,EAAKtI,iBAAS,IAAAsZ,EAAAA,EAAI,GAC7BlC,4BAAmD,QAAxBmC,EAAEjR,EAAKkR,yBAAiB,IAAAD,EAAAA,EAAI,KAKnE7jB,KAAKoB,MAAQ,CACTqe,YAAa,GACbC,MAAO,GACPkC,kBAAkB,EAClBE,cAAc,EACdC,mBAAmB,EACnBF,YAAY,EACZK,YAAY,EACZF,oBAAoB,EACpBC,8BAA8B,EAC9B9E,qBAAsB,GACtBxS,qBAAsB0W,GAIvBjd,SAAM,IAAA2T,EAAAgM,EACT,MACIrxB,QAAQ,UAAEolB,EAAS,QAAExP,GAAS,UAC9B9V,EAAS,QACTG,GACAqN,KAAK1O,OAEH,8BACF0yB,EAA6B,uBAC7BC,EAAsB,yBACtBC,EAAwB,4BACxBC,EAA2B,gCAC3BC,EAA+B,2BAC/BC,EAA0B,uCAC1BtG,GACAvrB,GAEE,qBAAE2qB,EAAoB,WAAE+E,EAAU,YAAEzC,EAAW,iBAAEmC,GAAqB5hB,KAAKoB,MAE3EkjB,EAAc3D,EAAAA,iBAAiB4B,cAAcja,MAAAA,OAAO,EAAPA,EAASC,MAAQyb,EAAgC1b,MAAAA,OAAO,EAAPA,EAASC,KACvGgc,EAAyB,QAAfxM,EAAGzP,MAAAA,OAAO,EAAPA,EAAS+D,WAAG,IAAA0L,EAAAA,EAAI,KAE7B3P,EAAkB,kBAClBoc,EAAgC,2BAEhCC,EAA2B,iCAC3BC,EAA+C,GAAGD,iCAClDE,EAAiC,GAAGF,YACpCG,EAA4B,GAAGD,wBAC/BE,EAAiC,GAAGF,8BACpCG,EAAwB,GAAGL,YAE3BjH,EAA0B,mCAC1BuH,EAAsB,GAAGvH,0BAEzBwH,EACFzzB,EAAAA,cAAC+X,EAAAA,GAAa,CACV1X,UAb4B,oCAc5Bya,IAAKkY,EACLhc,KAAM+b,EACN/a,UAAW,CAAEC,OAAQxJ,KAAK4X,iBAAkBxhB,eAAgB4J,KAAK1O,MAAMqB,QAAQqS,WAIjFgE,EAASC,EAAAA,EAAA,GACRjJ,KAAK1O,OAAK,IACb2zB,YAAa,CACT9b,YAAanJ,KAAK1O,MAClBM,UAAWwW,GAGf8c,qBAAsB,CAClBtzB,UAAW4yB,GAEfW,oCAAqC,CACjCvzB,UAAW8yB,GAEf5M,UAAWA,GAAa9X,KAAKolB,iBAAiBtN,GAC9CxP,QAAS0c,EAETK,4BAA6BrlB,KAAK8iB,0BAClCwC,gBAAiB,CACb1zB,UAAW6yB,EACXpY,IAAK,OACL,aAAc6X,EACd5wB,KAAM,kBACNoX,KAAM,OACN6a,aAAc,MACdnP,SAAUpW,KAAKwf,cAEnBgG,iBACIj0B,EAAAA,cAACktB,EAA2B,CACxBK,eAAgB9e,KAAKkhB,oBACrB5W,UAAW8Z,EACXxyB,UAAW+yB,EACXrG,UAAU,OACVjiB,MAAOojB,EACPnsB,KAAM6rB,EAAwBwC,YAC9B/C,iBAAkBuF,EAClBxF,0BAA2BiG,EAC3B7F,oBAAqB8F,EACrB7F,kBAAkB,EAClBE,kBAAmB0C,EACnB3C,YAAajf,KAAK4iB,wBAClBpe,SAAUxE,KAAKwE,WAIvBihB,aAAc,CACV7zB,UAAWkzB,EACXzY,IAAK3P,EAAAA,OACL,aAAc2nB,EACd5lB,KAAM,SACNiM,KAAM,SACNtV,MAAO6uB,EACPtoB,QAASqE,KAAKwf,aACd5iB,SAAUslB,GAGdwD,sBAAuBzB,EACvB/jB,aAAcgd,EAAiBC,EArEA,kCAsE/BwI,oBACM3lB,KAAKoB,MAAM4gB,oBAAsBhiB,KAAKoB,MAAM6gB,+BAC9CnE,EAAkBC,GACtB6H,sBAAuBvI,EACnB7qB,EAC8B,QADrBuxB,EACTpxB,EAAQqS,QAAQ6gB,KAAKvI,iBAAS,IAAAyG,EAAAA,EAAI,GAClCgB,EACAvH,GAEJhZ,SAAUxE,KAAKwE,SACfshB,OAAQ9lB,KAAKwf,aACb7U,qBAAsB3K,KAAK+lB,4BAE/B,OAAO/lB,KAAK1O,MAAMmY,WAAWT,GAG1B,0BAAuB,IAAAgd,EAAAC,EAC1B,MAAM,OAAEvzB,EAAM,QAAEC,GAAYqN,KAAK1O,OAC3B,cAAE6E,GAAkBxD,GACpB,gCAAEitB,EAA+B,kCAAE8D,GAAsChxB,EAC/E,IAAIwzB,GAA6C,EAC7CC,GAAmC,EAEvC,MAAMC,QAAkCC,EAAAA,2BAAAA,+BAA0D,CAAE5rB,cAAetE,IACnH6J,KAAKuf,0BACoH,QAD3FyG,EACmE,QADnEC,EAC1BG,EAA0B5yB,MAAKof,GAA0B,sCAAlBA,EAAK0T,kBAAiD,IAAAL,OAAA,EAA7FA,EAA+FM,8BAAsB,IAAAP,EAAAA,EAAI,GAE7H,MACMQ,EAA2E9C,MAAAA,EAAAA,EAAqC,GAEtHyC,EH5LgCM,EACpCC,EACAnH,KAEA,IAAIoH,GAAwB,EAC5B,IAAK,MAAM/T,KAAQ2M,EACf,GAAI3M,EAAKlf,KAAKotB,sBAAwB4F,EAA2B5F,oBAE7D,OADA6F,GAAe,EACRA,EAGf,OAAOA,GGiLuBF,CAHW7G,MAAAA,EAAAA,EAAmC,GAGC5f,KAAKuf,2BAC9E2G,EH/J0CU,EAC9CC,EACAtH,KAEA,IAAIuH,GAAkC,EAYtC,OAXIhxB,EAAAA,gBAAgBC,YAAY8wB,GAC5BA,EAAsCr1B,KAAIohB,IAAO,IAAAmU,EAC7C,MAAMC,EAAgC,QAAxBD,EAAWnU,EAAKoU,gBAAQ,IAAAD,EAAAA,EAAI,GAI1C,OAHKD,IACDA,EAnBgCG,EAAC5qB,EAAekjB,KACpDA,EAA0B2H,MAAKtU,GAAQA,EAAKlf,KAAKotB,sBAAwBzkB,EAAMykB,sBAkBlDmG,CAAiCD,EAAUzH,IAEjEuH,KAGXA,GAAyB,EAEtBA,GG+IiCF,CAChCJ,EACAxmB,KAAKuf,2BAETvf,KAAKmnB,oBAAoBhB,EAAyBD,GAyB/CiB,oBAAoBR,EAAuBG,GAC9C9mB,KAAKwB,SAAS,CAAEwgB,mBAAoB2E,EAAc1E,6BAA8B6E,IAuI5E1B,iBAAiB7c,GACrB,MAAM,QAAE5V,GAAYqN,KAAK1O,OACnB,QAAE0T,GAAYrS,EACpB,OAAK4V,EAIDhX,EAAAA,cAAC+X,EAAAA,GAA0B,CACvBf,KAAMA,EACN3W,UAAU,iCACV2X,UAAW,CAAEC,OAAQxJ,KAAK6X,sBAAuBzhB,eAAgB4O,KAN9D,KA4EP+gB,0BACJ,MAAM,qBAAEpb,GAAyB3K,KAAKoB,MAChCgmB,EAAuC,GAC7C,IAAK,MAAMxU,KAAQjI,EAAsB,CACrC,MAAMrX,EAAesf,EAAKtI,UAAUuW,QAAQ,IAAK,IACjDuG,EAAsBvpB,KAClBtM,EAAAA,cAACysB,EAAqC,CAClCpsB,UAAW0B,EAAKwtB,oBAChBxW,UAAWsI,EAAKtI,UAChBgU,UAAU,OACVjiB,MAAOuW,EAAKmO,WACZztB,KAAMA,EAAKwtB,oBACX5C,qBAAsBtL,EAAK4O,UAC3BnD,8BAA8B,2DAC9BE,2BAA4B3L,EAAK6O,iBACjCjD,iCAAkC5L,EAAK8O,4BACvCld,SAAUxE,KAAKwE,YAI3B,OAAO4iB,GA8Hf,2HCzoBO,MAAMC,EAA4D/1B,IAAQ,IAAAg2B,EAAAC,EAC7E,MAAM,YACFtC,EAAW,qBACXC,EAAoB,oCACpBC,EAAmC,QACnC7c,EAAO,UACPwP,EAAS,gBACTwN,EAAe,4BACfD,EAA2B,iBAC3BG,EAAgB,aAChBtlB,EAAY,aACZulB,EAAY,qBACZ9a,EAAoB,sBACpBib,EAAqB,kBACrBD,GACAr0B,EACJ,OACIC,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAK6yB,GACR1zB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK8yB,GACL5c,EACAwP,EACDvmB,EAAAA,cAACW,EAAAA,KAAI,CAACN,UAAqC,QAA5B01B,EAAEhC,MAAAA,OAAe,EAAfA,EAAiB1zB,iBAAS,IAAA01B,EAAAA,EAAI,IAC1C9B,EACAH,EACAvvB,EAAAA,gBAAgBC,YAAY4U,IACzBpZ,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK+yB,GACLxa,EAAqBnZ,KAAKohB,GACvBrhB,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAI,IAAI8gB,MAInC+S,EACDp0B,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKqzB,EAAY,CAAE7zB,UAAkC,QAAzB21B,EAAE9B,MAAAA,OAAY,EAAZA,EAAc7zB,iBAAS,IAAA21B,EAAAA,EAAI,KACzDj2B,EAAMo0B,uBAEVxlB,GAEJ0lB,KAMjB,iqBClCA,MAAM4B,UAAoBj2B,EAAAA,cACtBuO,YAAYxO,GACR+P,MAAM/P,GAGH8S,SACH,MAAM,MAAEqjB,GAAUznB,KAAK1O,MAEvB,GAAIm2B,GAA2C,IAAlCA,EAAMC,iBAAiBhpB,OAEhC,OADAsB,KAAK1O,MAAMqB,QAAQuE,UAAUC,MAAM,6DAC5B,KASX,KALI6I,KAAK1O,MAAMqB,QAAQqS,SACnBhF,KAAK1O,MAAMqB,QAAQqS,QAAQ2iB,SAC3B3nB,KAAK1O,MAAMqB,QAAQqS,QAAQ2iB,QAAQC,gBACnC5nB,KAAK1O,MAAMqB,QAAQqS,QAAQ2iB,QAAQC,kBAGnC,OAAO,KAGX,MAAMC,EAAS5e,EAAAA,EAAA,GACRjJ,KAAK1O,OAAK,IACbk2B,YAAa,CACTre,YAAanJ,KAAK1O,MAClBM,UAAWuV,GAAAA,CAAW,kBAAmBnH,KAAK1O,MAAMoB,OAAOd,YAE/Dk2B,gBAAiB,CACb,aAAc9nB,KAAK1O,MAAMoB,OAAOq1B,QAChCn2B,UAAW,sBAAsBoO,KAAK1O,MAAMoB,OAAOq1B,SAAW,aAC7B,aAA7B/nB,KAAK1O,MAAMoB,OAAOs1B,YAAuC,WAAa,KAE1E3b,IAAK,KACL3B,KAAM,SAEVud,gBAAiB,CACbr2B,UAAW,qBACXya,IAAK,KACL6b,SAAU,IACVxd,KAAM,QAEVyd,wBAAyBV,GAASA,EAAMC,iBAAiBhpB,OAAS,GAAK+oB,EAAMC,mBAGjF,OAAO1nB,KAAK1O,MAAMmY,WAAWoe,IAIrC,oHCjEO,MAAMO,EAAmD92B,IAC5D,MAAM,gBAAEw2B,EAAe,wBAAEK,EAAuB,gBAAEF,EAAe,YAAET,GAAgBl2B,EACnF,OAAuC,IAAnC62B,EAAwBzpB,QACxBpN,EAAMqB,QAAQuE,UAAUC,MAAM,kDACvB,MAGP5F,IAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAKo1B,GACRj2B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK01B,GACLK,EAAwB32B,KAAI,CAAC62B,EAA+B3iB,IAErDnU,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK61B,EAAe,CAAEn2B,IAAK4T,IAC3B2iB,QAS7B,8QCbO,MAAMpO,EAA2DzhB,IAAA,IAAC,sBACrE0hB,EAAqB,QACrBC,EAAO,UACPC,EAAS,YACTC,EAAW,YACXC,EAAW,MACXC,EAAK,OACLC,EAAM,mBACNrH,GACH3a,EAAA,OACGjH,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK8nB,GACLG,EACAF,EACAC,EACAE,EACAC,EACAC,EACArH,IAIIsH,EAAsD9H,IAAA,IAAC,cAChE+H,EAAa,QACbpS,EAAO,MACPiS,EAAK,WACLI,EAAU,QACVC,EAAO,aACPC,GACHlI,EAAA,OACGphB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKsoB,GACLpS,EACAiS,EACAI,EACAC,EACAC,IAIIC,EAAsCpI,IAAA,IAAC,WAAEqI,EAAU,SAAEC,EAAQ,gBAAEC,EAAe,WAAEC,GAAYxI,EAAA,OACrGnhB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK2oB,GACLG,GACG3pB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK6oB,GACLC,EAAW1pB,KAAI2pB,GACZ5pB,EAAAA,cAACA,EAAAA,SAAc,CAACO,IAAKqpB,EAAUhoB,KAAKgoB,UAAUhe,QAASge,EAAUA,gBAOxEC,EAAwCC,IAAA,IAAC,YAAEC,EAAW,OAAEC,GAAQF,EAAA,OACzE9pB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKkpB,GACLC,EAAO/pB,KAAI,CAACgqB,EAAO9V,IAChBnU,EAAAA,cAACupB,EAAiB3oB,OAAAC,OAAA,CAACN,IAAK4T,GAAW8V,QAKlCC,EAAwCC,IAAA,IAAC,YAAEC,EAAW,QAAErT,EAAO,gBAAEsT,EAAe,aAAEC,GAAcH,EAAA,OACzGnqB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKupB,GACLrT,EACAsT,EACAC,IAIIC,EAA+CC,IAAA,IAAC,gBACzDC,EAAe,gBACfC,EAAe,OACfV,EAAM,iBACNW,EAAgB,qBAChBC,GACHJ,EAAA,OACGxqB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK4pB,GACLC,GAAmB1qB,EAAAA,cAAC0oB,EAA2B9nB,OAAAC,OAAA,GAAK6pB,IACpDV,GAAUhqB,EAAAA,cAAC6pB,EAAkBjpB,OAAAC,OAAA,GAAKmpB,IAClCY,EACAD,IAIIE,EAAoCC,IAAA,IAAC,UAAEC,EAAS,YAAEC,GAAaF,EAAA,OACxE9qB,EAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKkqB,GACLC,GAAeA,EAAY/qB,KAAI,CAACgrB,EAAY9W,IAAUnU,EAAAA,cAACuqB,EAAqB3pB,OAAAC,OAAA,CAACN,IAAK4T,GAAW8W,QAoCtG,EAhC2DC,IAAA,IAAC,kBACxDC,EAAiB,OACjBzkB,EAAM,MACN0kB,EAAK,QACLzM,EAAO,aACP0M,EAAY,mBACZC,EAAkB,KAClBC,EAAI,MACJC,EAAK,WACLC,GACHP,EAAA,OACGlrB,EAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAKsqB,GACPzkB,GAAU1G,EAAAA,cAACkqB,EAAkBtpB,OAAAC,OAAA,GAAK6F,IAClCiY,EACAyM,GACGprB,EAAAA,cAAAA,EAAAA,SAAA,KACKorB,EACAE,GAGRD,GACGrrB,EAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,6CACXgrB,EACAC,GAGRC,GAAQvrB,EAAAA,cAAC6qB,EAAgBjqB,OAAAC,OAAA,GAAK0qB,IAC9BC,EACAC,GAAcA,oGCrHvB,MAAMsL,EAAkCC,IACpC,MAAMC,EAAgCD,GAA4C,gBAElF,OAAOh3B,IAAAA,cAAA,OAAKK,UAAU,0CAA0C42B,IAYvDC,EAA+BA,CACxCF,EACAG,EACAp3B,EACAq3B,EACAC,IAEOt3B,EAAMu3B,oBACTt3B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKd,EAAMw3B,iBACXR,EAA+BC,GAChCh3B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKd,EAAMy3B,YACXJ,GAAwBC,GACvBD,GACEr3B,EAAMu3B,oBAAoBtgB,KAAK/W,KAAI+W,GACxBA,MAKvBhX,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKd,EAAMw3B,iBACXR,EAA+BC,GAChCh3B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKd,EAAMy3B,YACZx3B,IAAAA,cAAA,MAAIK,UAAU,+CAA+C82B,gBCpC7E,MA4BaM,EAAmC13B,GAExCC,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,wDACZL,IAAAA,cAAA,OAAKK,UAAU,iEA/BgBN,CAAAA,IACvC,MAAM23B,EAA8C33B,EAAMoB,OAAOu2B,oBACjE,OAAKA,GAAwBA,EAAoBptB,IAU7CtK,IAAAA,cAAC23B,EAAAA,GAAK,CACFC,QAASF,EAAoBE,QAC7Bv3B,UAAU,uDACVwmB,aAAc9mB,EAAMqB,QAAQqS,QAAQoT,aACpCvc,IAAKotB,EAAoBptB,IACzBzF,eAAgB9E,EAAMqB,QAAQqS,QAC9BqT,cAbc,CAClB+Q,UAAU,EACVC,UAAW,CACPC,GAAI,CAAEC,EAAG,IAAKC,EAAG,IAAKC,EAAG,4BALtB,MA4B6EC,CAAkCp4B,IAClHC,IAAAA,cAAA,OAAKK,UAAU,6DACXL,IAAAA,cAAA,OAAKK,UAAU,wDAAwDN,EAAMkB,UAAUm3B,8BACvFp4B,IAAAA,cAAA,OAAKK,UAAU,qDAAqDN,EAAMkB,UAAUo3B,yBCbvFC,EAAgBA,CACzBC,EACAC,EACAC,EACAC,EACAC,EACA54B,EACA64B,EACAC,KAEA,MAAMC,EACF94B,IAAAA,cAACmL,EAAAA,OAAM,CACH9K,UAAU,+BAA8B,aAC5BN,EAAMkB,UAAU83B,mBAC5B3uB,QAASyuB,EACT3rB,KAAK,WAIb,OAAOwrB,EACH14B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK23B,GACLD,EAAKS,UACNh5B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK43B,GACLF,EAAK3X,MACLgY,GA5CSK,EAACN,EAA+BE,IAElD74B,IAAAA,cAACmL,EAAAA,OAAM,CAAC9K,UAAU,iCAAiCwD,MAAO80B,GAAyB,QAASvuB,QAASyuB,GAChGF,GAAyB,SAyCLM,CAAkBN,EAAuBE,GACxDD,EAAwD,KAAzCnB,EAAgC13B,KAIzDC,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK23B,GACNx4B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK43B,GACLF,EAAKW,UACLX,EAAK3X,MACLgY,GAAgBE,KCzD3BK,EAAiCC,IACnC,MAAMnC,EAAgCmC,GAAoC,WAE1E,OAAOp5B,IAAAA,cAAA,OAAKK,UAAU,yCAAyC42B,IActDoC,EAA8BA,CACvCC,EACAC,EACAH,EACAjC,EACAqC,EACApC,EACAC,IAEOmC,EACHx5B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKy4B,GACLH,EAA8BC,GAC/Bp5B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK04B,GACLnC,GAAwBC,GACvBD,GACEoC,EAAmBxiB,KAAK/W,KAAI+W,GACjBA,MAKvBhX,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKy4B,GACLH,EAA8BC,GAC/Bp5B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAK04B,GACNv5B,IAAAA,cAAA,MAAIK,UAAU,8CAA8C82B,KCtCtEsC,EAAiCC,IACnC,MAAMC,EAA+BD,GAAwD,WAE7F,OAAO15B,IAAAA,cAAA,OAAKK,UAAU,yCAAyCs5B,IA4B7DC,EAAgC75B,GAE9BC,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,sDACZL,IAAAA,cAAA,OAAKK,UAAU,oDAvBgBN,CAAAA,IACvC,MAAM23B,EAA8C33B,EAAMoB,OAAOu2B,oBACjE,OAAKA,GAAwBA,EAAoBptB,IAI7CtK,IAAAA,cAAC23B,EAAAA,GAAK,CACFC,QAASF,EAAoBE,QAC7Bv3B,UAAU,uDACVwmB,aAAc9mB,EAAMqB,QAAQqS,QAAQoT,aACpCvc,IAAKotB,EAAoBptB,MAPtB,MAoBgE6tB,CAAkCp4B,IACrGC,IAAAA,cAAA,OAAKK,UAAU,4DAA4DN,EAAMkB,UAAU44B,4BAC3F75B,IAAAA,cAAA,OAAKK,UAAU,gEACVN,EAAMkB,UAAU64B,+BAgBpBC,EAA8BA,CACvCC,EACAC,EACAl6B,EACAm6B,EACA9C,EACAC,IAMO6C,EACHl6B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKm5B,GACLP,EAA8B15B,EAAMkB,UAAUk5B,0BAC/Cn6B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKo5B,GACL7C,GAAwBC,GACvBD,GACE8C,EAAmBjmB,MAAMhU,KAAI,CAACohB,EAAMlN,KAAS,IAAAimB,EACzC,OACIp6B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKwgB,EAAKgZ,UAAS,CAAE95B,IAAY,QAAT65B,EAAE/Y,EAAK1d,UAAE,IAAAy2B,EAAAA,EAAIjmB,IACtCnU,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKwgB,EAAKiZ,UACVjZ,EAAKkZ,UACLlZ,EAAKrK,KACLqK,EAAKmZ,aAQlCx6B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKm5B,GACLP,EAA8B15B,EAAMkB,UAAUk5B,0BAC/Cn6B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKo5B,GACNj6B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GA3Ba,CAC1Bia,IAAK,KACLza,UAAW,0BAyBmBu5B,EAA6B75B,MCnF7D06B,EAAcA,CAACC,EAAiCC,KAClD,MAAMC,EAAmB,IAAIC,OAAOF,EAAWE,OAAO,MAChDC,EAA8BJ,GAC9B9f,EAAAA,EAAAA,QAAO8f,EAAyBE,GAChC,cAAcA,IAEpB,OAAO56B,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,iCAAiCy6B,IAgM5D,EAvLI/6B,IAEA,MAAM,OACFg7B,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,MACXhb,EAAK,QACLtf,EAAO,qBACPg2B,EAAoB,cACpBC,EACAsE,WAAW,0BAAEC,IACb77B,GAEE,wBAAE26B,EAAuB,0BAAEmB,EAAyB,gBAAEzC,EAAe,aAAEjC,EAAY,sBAAEwB,GAA0B54B,EAAMkB,WAEpH25B,EAAkBkB,IAAuBnzB,EAAAA,EAAAA,aACzCozB,EAAcC,IAAerzB,EAAAA,EAAAA,WAAkB,IAEtDszB,EAAAA,EAAAA,YAAU,KACNH,EAAoBnB,KACrB,CAACA,IAKJ,MAAM9B,EAAcA,KAChBiD,EAAoB,IAEpB,MACMI,EADYn8B,EAAMw4B,KACS3X,MAC3Bub,EAAyBD,EAAe5O,IAA0CsC,QAEpFuM,IACAA,EAAsBrxB,MAAQ,IAGlCoxB,EAAepxB,MAAQ,GACvB/K,EAAM46B,WAAa,GACnB56B,EAAM27B,YAAYU,OAAS,IAGzBC,GAAmBC,EAAAA,EAAAA,cAAY,KACjC,MAAMC,EAAwF,QAAzE7D,EAAAA,EAAAA,UAAS,CAAE8D,QAASC,EAAAA,YAAYC,QAASt7B,QAASA,EAAQqS,UAC/EuoB,EAAYO,KACb,CAACn7B,KAEJ66B,EAAAA,EAAAA,YAAU,KACN9kB,OAAOwlB,iBAAiB,SAAUN,GAClCA,MACD,CAACA,IAEJ,MAAMO,GAAWlE,EAAAA,EAAAA,UAAS,CAAE8D,QAASC,EAAAA,YAAYC,QAASt7B,QAASA,EAAQqS,UAErE8oB,EAA4B,OAAbK,GAAkC,OAAbA,EAE1C1B,EAAY76B,UAAa+uB,EAAAA,iBAAiB4B,cAAc4J,GAElD,GAAGM,EAAY76B,iBADf,GAAG66B,EAAY76B,iBAErB,MAAMu4B,GAAyBxJ,EAAAA,iBAAiB4B,cAAc4J,GAE9D,OACI56B,IAAAA,cAACyU,EAAAA,OAAM7T,OAAAC,OAAA,GAAKk6B,GACPra,EACA4X,EACGC,EACAkD,EACAC,EACAK,EACApD,EACA54B,EACA64B,EACAC,IAEF0D,GACEv8B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKq6B,GACJ9L,EAAAA,iBAAiB4B,cAAc4J,GAG7B,GAFA56B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKm6B,GAAuBC,GAInC7L,EAAAA,iBAAiB4B,cAAc4J,GAyC7B,KAxCA56B,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,2CACZL,IAAAA,cAACmL,EAAAA,OAAM,CACH9K,UAAU,+BAA8B,aAC5BN,EAAMkB,UAAU83B,mBAC5B3uB,QAASyuB,EACTgE,OAAQjB,EACR1uB,KAAK,WAERutB,EAAYC,EAAyBC,IAE1C36B,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,sCACZL,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,4BACX62B,EACG2E,EACA1E,EACAp3B,EACAq3B,EACAC,GAEHgC,EACG8B,EACAE,EACAjC,EACAjC,EACAoE,EACAnE,EACAC,IAGP0C,EACGqB,EACAE,EACAv7B,EACAy7B,EACApE,EACAC,MAOvBkF,GAAgBx8B,EAAM+8B,sBACnB98B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKq6B,GACJ9L,EAAAA,iBAAiB4B,cAAc4J,GAG7B,GAFA56B,IAAAA,cAACW,EAAAA,KAAIC,OAAAC,OAAA,GAAKm6B,GAAuBC,GAInC7L,EAAAA,iBAAiB4B,cAAc4J,GAmC7B,KAlCA56B,IAAAA,cAAAA,IAAAA,SAAA,KACIA,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,2CACVk4B,EAA8BS,UAC/ByB,EAAYC,EAAyBC,IAE1C36B,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,sCACZL,IAAAA,cAACW,EAAAA,KAAI,CAACN,UAAU,4BACX62B,EACG2E,EACA1E,EACAp3B,EACAq3B,EACAC,GAEHgC,EACG8B,EACAE,EACAjC,EACAjC,EACAoE,EACAnE,EACAC,IAGP0C,EACGqB,EACAE,EACAv7B,EACAy7B,EACApE,EACAC","sources":["webpack://Msdyn365.Commerce.Online/./src/themes/toysrus/views/cart.view.tsx?016c","webpack://Msdyn365.Commerce.Online/./src/themes/toysrus/views/components/giftwrapping.component.tsx?1d81","webpack://Msdyn365.Commerce.Online/./src/custom-proxy/DataServiceEntities.g.ts?0bcc","webpack://Msdyn365.Commerce.Online/./src/custom-proxy/DataActionExtension.g.ts?5568","webpack://Msdyn365.Commerce.Online/./src/themes/toysrus/views/components/papergiftcard.component.tsx?e971","webpack://Msdyn365.Commerce.Online/./src/themes/toysrus/views/header.view.tsx?ff27","webpack://Msdyn365.Commerce.Online/./src/utilities/attribute-utilities.ts?1410","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.tsx?c076","webpack://Msdyn365.Commerce.Online/./src/modules/aad-generic/aad-generic.view.tsx?b418","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-order-templates-tile/components/account-order-templates-tile-description.tsx?a8c4","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/components/account-order-templates-tile-links.tsx?0bcf","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.tsx?4e7d","webpack://Msdyn365.Commerce.Online/./src/modules/account-order-templates-tile/account-order-templates-tile.view.tsx?a1f9","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/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/fabrikam/views/order-history.view.tsx?a21d","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/social-share/social-share.tsx?899b","webpack://Msdyn365.Commerce.Online/./src/modules/social-share/social-share.view.tsx?dcdf","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"],"sourcesContent":["/*--------------------------------------------------------------\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\nimport { IInvoiceSummaryLines } from '@msdyn365-commerce-modules/invoice-payment-summary';\r\nimport { IOrderSummaryLines } from '@msdyn365-commerce-modules/order-summary-utilities';\r\nimport { ArrayExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { INodeProps, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nimport { ICartViewProps, IOrderSummaryErrors } from '@msdyn365-commerce-modules/cart/src/modules/cart/./cart';\r\nimport { ICartlinesViewProps } from '@msdyn365-commerce-modules/cart/src/modules/cart/./components/cart-line-items';\r\nimport { ICartLineItemViewProps } from '@msdyn365-commerce-modules/cart/src/modules/cart/./components/cart-line-items-promotion';\r\n\r\nimport { AttributeTextValue, AttributeValueBase} from '@msdyn365-commerce/retail-proxy';\r\nimport { GiftWrappping } from './components/giftwrapping.component';\r\nimport { ICartConfig, ICartResources } from \"../definition-extensions/cart.ext.props.autogenerated\";\r\n//import { PaperGiftCard } from './components/papergiftcard.component';\r\n\r\nconst _renderCartlines = (cartLines: ICartlinesViewProps[] | undefined, cartEmptyText: string, CartlinesWrapper: INodeProps, storeSelector: React.ReactNode | undefined,\r\n backToShoppingButton: React.ReactNode, waitingComponent: React.ReactNode, cartLoadingStatus: string, cartDataResult: boolean, props: ICartViewProps | undefined): JSX.Element[] | JSX.Element => {\r\n\r\n if (cartLoadingStatus) {\r\n return (<>\r\n {cartLoadingStatus}\r\n );\r\n }\r\n\r\n if (cartLines) {\r\n return cartLines.map((cartLine) => {\r\n const isWrappingProductLine = isWrappingProduct(cartLine)\r\n return (\r\n
\r\n {cartLine.cartline}\r\n {\r\n storeSelector && cartLine.pickUpInStore ? \r\n \r\n {cartLine.pickUpInStore.defaultComponent}\r\n : null\r\n }\r\n { !isWrappingProductLine &&\r\n \r\n \r\n \r\n } \r\n { \r\n /*!isWrappingProductLine &&\r\n \r\n \r\n */\r\n }\r\n {\r\n cartLine.addToOrderTemplate ? (\r\n \r\n {cartLine.remove}\r\n {cartLine.addToWishlist}\r\n {cartLine.addToOrderTemplate}\r\n \r\n ) : (\r\n <>\r\n {cartLine.remove}\r\n {cartLine.addToWishlist}\r\n \r\n )\r\n }\r\n
\r\n );\r\n });\r\n }\r\n return (cartDataResult ? (\r\n
\r\n

\r\n {cartEmptyText}\r\n

\r\n {backToShoppingButton}\r\n
\r\n ) : <>\r\n {waitingComponent}\r\n \r\n );\r\n\r\n};\r\n\r\nconst isWrappingProduct = (cartLine: ICartlinesViewProps): boolean => {\r\n const attributeValue = getTextAttributeValue(cartLine?.data?.cartline?.AttributeValues!, \"TRUS_WrappingProductParentCartLineId\");\r\n return !!attributeValue;\r\n};\r\n\r\nconst getTextAttributeValue = (attributes: AttributeValueBase[], name: string) => {\r\n if (attributes) {\r\n const attribute = attributes?.find(x => x.Name == name) as AttributeTextValue \r\n if (attribute) {\r\n return attribute.TextValue;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\n/**\r\n * Method will render error block.\r\n * @param errorData -The order summary errors interface.\r\n * @returns Jsx element.\r\n */\r\nconst _renderErrorBlock = (errorData: IOrderSummaryErrors | undefined): JSX.Element | null => {\r\n if (!errorData || !ArrayExtensions.hasElements(errorData.errors)) {\r\n return null;\r\n }\r\n return (\r\n \r\n {errorData.header}\r\n {errorData.errors}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Method will render invoice summary lines.\r\n * @param invoiceSummaryLines -The invoicesummary lines interface.\r\n * @param OrderSummaryItems -The order summary items props.\r\n * @param props -The cartview props.\r\n * @returns Jsx element.\r\n */\r\nconst _renderInvoiceSummarylines = (invoiceSummaryLines: IInvoiceSummaryLines | undefined, OrderSummaryItems: INodeProps, props: ICartViewProps):\r\nJSX.Element | null => {\r\n if (!invoiceSummaryLines) {\r\n props.context.telemetry.error('InvoiceSummary content is empty, module wont render');\r\n return null;\r\n }\r\n return (\r\n \r\n {invoiceSummaryLines.invoices}\r\n {invoiceSummaryLines.giftCard}\r\n {invoiceSummaryLines.loyalty}\r\n {invoiceSummaryLines.orderTotal}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Method will render order summary lines.\r\n * @param orderSummaryLines -The ordersummary lines interface.\r\n * @param OrderSummaryItems -The order summary items props.\r\n * @param props -The cartview props.\r\n * @returns Jsx element.\r\n */\r\nconst _renderOrderSummarylines = (orderSummaryLines: IOrderSummaryLines | undefined, OrderSummaryItems: INodeProps, props: ICartViewProps):\r\nJSX.Element | null => {\r\n if (!orderSummaryLines) {\r\n props.context.telemetry.error('OrderSummary content is empty, module wont render');\r\n return null;\r\n }\r\n return (\r\n \r\n {props.promoCode}\r\n {orderSummaryLines.subtotal}\r\n {orderSummaryLines.shipping}\r\n {orderSummaryLines.otherCharge}\r\n {orderSummaryLines.tax}\r\n {orderSummaryLines.totalDiscounts ? orderSummaryLines.totalDiscounts : null}\r\n {orderSummaryLines.orderTotal}\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Method will render cart promotions.\r\n * @param promotions -The cartline item view props.\r\n * @returns Jsx element.\r\n */\r\nconst _renderPromotions = (promotions: ICartLineItemViewProps): JSX.Element | undefined => {\r\n return (\r\n <>\r\n \r\n {promotions.promotionMessage}\r\n {promotions.promotionSeeAllLink}\r\n {promotions.promotionDialog}\r\n \r\n\r\n \r\n );\r\n\r\n};\r\n\r\n/**\r\n * Method will render cartlines group title.\r\n * @param cartLine -The cartline view props.\r\n * @param titleSeparate -The title separate.\r\n * @returns Jsx element.\r\n */\r\nconst renderCartLinesGroupTitle = (cartLine: ICartlinesViewProps, titleSeparate: string) => {\r\n const isBopisSelected: boolean | undefined = cartLine.pickUpInStore?.isBopisSelected;\r\n return (\r\n <>\r\n \r\n {isBopisSelected ?

\r\n {cartLine.pickUpInStore?.deliveryOption}\r\n {titleSeparate}\r\n {cartLine.pickUpInStore?.orgUnitName}\r\n

: null}\r\n
\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Method will render cartlines groups header title.\r\n * @param pickUpText -The pickup text for group.\r\n * @param shippingText -The shipping text for group.\r\n * @param emailShippingText -The email shipping text for group.\r\n * @param titleSeparate -The title separator.\r\n * @param cartLine -The cartline view props.\r\n * @param emailDeliveryModeCode -The email delivery code from channel.\r\n * @returns Jsx element.\r\n */\r\nconst renderCartLinesGroupHeader = (pickUpText: string, shippingText: string, emailShippingText: string,\r\n titleSeparate: string, cartLine: ICartlinesViewProps, emailDeliveryModeCode?: string) => {\r\n const isBopisSelected: boolean | undefined = cartLine.pickUpInStore?.isBopisSelected;\r\n let groupTitle: string;\r\n let groupTitleClass: string;//ut - fix\r\n\r\n groupTitle = isBopisSelected ? pickUpText : shippingText;\r\n groupTitleClass = isBopisSelected ? 'pickup' : 'shipping';\r\n groupTitle = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? emailShippingText : groupTitle;\r\n groupTitleClass = cartLine.data && cartLine.data.cartline.DeliveryMode === emailDeliveryModeCode ? \"email\" : groupTitleClass;\r\n\r\n return (\r\n <>\r\n
\r\n

\r\n

\r\n {groupTitle}\r\n

\r\n {renderCartLinesGroupTitle(cartLine, titleSeparate)}\r\n
\r\n \r\n );\r\n};\r\n\r\n/**\r\n * Method will render cartlines in groups.\r\n * @param props -The cartline.\r\n * @returns Jsx element.\r\n */\r\nconst renderCartLinesGroup = (props: ICartViewProps): JSX.Element | undefined => {\r\n if (props.cartLinesGroup && ArrayExtensions.hasElements(props.cartLinesGroup)) {\r\n return (\r\n
\r\n { props.cartLinesGroup.map(cartlines => {\r\n return (
\r\n {renderCartLinesGroupHeader(props.resources.pickUpText, props.resources.shippingText,\r\n props.resources.emailshippingText, props.resources.titleSeparate, cartlines[0],\r\n props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode)}\r\n {_renderCartlines(cartlines, props.resources.emptyCartText, props.CartlinesWrapper, props.storeSelector,\r\n props.backToShoppingButton, props.waitingComponent, props.cartLoadingStatus, props.cartDataResult, props)}\r\n
);\r\n })}\r\n
\r\n );\r\n }\r\n return (props.cartDataResult ? (\r\n
\r\n
\r\n

\r\n {props.resources.emptyCartText}\r\n

\r\n {props.backToShoppingButton}\r\n
\r\n
\r\n ) : <>\r\n {props.waitingComponent}\r\n \r\n );\r\n\r\n};\r\n\r\nconst CartView: React.FC = (props: ICartViewProps) => (\r\n
\r\n {props.title}\r\n {!props.cart?.hasInvoiceLine && props.promotionOptions && _renderPromotions(props.promotionOptions)}\r\n {props.multiplePickUpEnabled ? renderCartLinesGroup(props) : \r\n {_renderCartlines(props.cartlines, props.resources.emptyCartText, props.CartlinesWrapper, props.storeSelector,\r\n props.backToShoppingButton, props.waitingComponent, props.cartLoadingStatus, props.cartDataResult, props)}\r\n }\r\n {props.orderSummaryHeading &&\r\n \r\n {props.orderSummaryHeading}\r\n {props.cart?.hasInvoiceLine ? _renderInvoiceSummarylines(props.invoiceSummaryLineitems, props.OrderSummaryItems, props) : _renderOrderSummarylines(props.orderSummaryLineitems, props.OrderSummaryItems, props)}\r\n {_renderErrorBlock(props.OrderSummaryErrors)}\r\n {props.checkoutAsSignInUserButton}\r\n {props.checkoutAsGuestButton}\r\n {props.backToShoppingButton}\r\n {props.createTemplateFromCartButton}\r\n }\r\n {props.storeSelector}\r\n
\r\n);\r\n\r\nexport default CartView;\r\n","import React, { useState } from \"react\";\r\nimport classNames from 'classnames';\r\nimport { updateCartLinesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CartsDataActions.g';\r\nimport { getAttributeValuesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\r\nimport {\r\n CultureInfoFormatter\r\n} from '@msdyn365-commerce/core-internal';\r\nimport { AttributeTextValue, SimpleProduct, AttributeValue } from '@msdyn365-commerce/retail-proxy';\r\nimport { ICoreContext, IActionContext } from '@msdyn365-commerce/core';\r\nimport { ICartlinesViewProps } from '@msdyn365-commerce-modules/cart/src/modules/cart/components/cart-line-items';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport { Button} from '@msdyn365-commerce-modules/utilities';\r\nimport { Node } from '@msdyn365-commerce-modules/utilities';\r\nimport { ICartConfig, ICartResources } from \"../../definition-extensions/cart.ext.props.autogenerated\";\r\nimport { createBooleanAttribute, createTextAttribute, getAttributeValueOrDefault, getBooleanAttributeValue, getTextAttributeValue, updateBooleanAttribute, updateTextAttribute } from \"../../../../utilities/attribute-utilities\";\r\nimport { getProductsByMasterProductId } from \"../../../../utilities/product-utilities\";\r\n\r\nexport interface IGiftWrapppingComponentProps {\r\n cartLine: ICartlinesViewProps\r\n allLines: ICartlinesViewProps[]\r\n masterProduct?: number;\r\n channelId?: number;\r\n context?: ICoreContext | undefined;\r\n resources?: ICartResources | undefined;\r\n configs?: ICartConfig | undefined;\r\n}\r\n\r\nexport interface IGiftWrappingResources{\r\n toggleLabel?: string;\r\n disableGiftwrappingLabel?: string;\r\n enableGiftwrappingLabel?: string;\r\n}\r\n\r\nconst wrappingProductAttrName: string = \"TRUS_CartLineWrappingProductId\";\r\nconst cartLineNeedWrappingAttrName: string = \"TRUS_CartLineNeedWrapping\";\r\nconst wrappingProductNumberAttrName: string = \"TRUS_CartLineWrappingProductCaclNumber\";\r\nconst enableWrappingAttrName: string = \"Gift Wrapping\";\r\n\r\nexport const GiftWrappping: React.FC = ({context, cartLine, allLines, configs, resources}) => {\r\n\r\n const masterWrappingProductId = configs?.masterProductId;\r\n const giftWrappingResources: IGiftWrappingResources = {\r\n toggleLabel: resources?.giftWrappingSectionTitle || '',\r\n enableGiftwrappingLabel: resources?.enableGiftwrappingLabel || '',\r\n disableGiftwrappingLabel: resources?.disableGiftwrappingLabel || '',\r\n }\r\n\r\n const channelId = context?.actionContext?.requestContext?.apiSettings?.channelId!;\r\n const actionContext = context?.actionContext as IActionContext;\r\n \r\n initializeTelementryAndCultureFormatterIfMissing(context!);\r\n\r\n const [wrappingProducts, setWrappingProducts] = useState([])\r\n const [wrappingEnabled, setWrappingEnabled] = useState(false)\r\n\r\n React.useEffect(() => {\r\n if (masterWrappingProductId) {\r\n const fetchData = async () => {\r\n const productAttributes = await getProductAttributes(cartLine.data?.cartline.ProductId!, channelId, actionContext);\r\n const isWrappingEnabledForProduct = getAttributeValueOrDefault(productAttributes, enableWrappingAttrName, (x) => x.BooleanValue, true);\r\n\r\n setWrappingEnabled(isWrappingEnabledForProduct);\r\n\r\n if (isWrappingEnabledForProduct) {\r\n const products = await getProductsByMasterProductId(masterWrappingProductId, channelId, actionContext);\r\n setWrappingProducts(products)\r\n }\r\n };\r\n fetchData().catch(console.error);\r\n }\r\n else {\r\n console.error(\"Invalid master product id provided\")\r\n }\r\n },[]);\r\n\r\n return (\r\n <>\r\n { \r\n wrappingEnabled &&\r\n \r\n {renderEnableGiftWrappingToggle(cartLine, context!, giftWrappingResources, wrappingProducts)}\r\n {\r\n isCartLineNeedWrapping(cartLine) && \r\n
\r\n
\r\n { wrappingProducts.map(product => renderWrappingProduct(cartLine, allLines, product, context!)) }\r\n
\r\n
\r\n }\r\n
\r\n }\r\n \r\n );\r\n};\r\n\r\nfunction initializeTelementryAndCultureFormatterIfMissing(context: ICoreContext){\r\n const actionContext = context?.actionContext as IActionContext;\r\n if(context && !context.telemetry)\r\n context.telemetry = actionContext.telemetry;\r\n if(context && !context.cultureFormatter)\r\n context.cultureFormatter = new CultureInfoFormatter(\r\n actionContext?.requestContext?.locale,\r\n actionContext?.requestContext?.channel?.Currency ?? \"SAR\",\r\n actionContext?.requestContext?.query\r\n )\r\n}\r\n\r\nfunction renderWrappingProduct(cartLine: ICartlinesViewProps, allLines: ICartlinesViewProps[], product: SimpleProduct, context: ICoreContext){\r\n const variantClassName = classNames(\"giftwrapping_variant\", getSelectedWrappingProductId(cartLine, allLines) === product.RecordId ? \"selected-wrapping\" : \"\");\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {context?.cultureFormatter?.formatCurrency(product.AdjustedPrice)}\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst renderEnableGiftWrappingToggle = (cartLine: ICartlinesViewProps, ctx: ICoreContext, resources: IGiftWrappingResources, wrappingProducts?: SimpleProduct[]): JSX.Element | null => {\r\n let value = getBooleanAttributeValue(cartLine?.data?.cartline?.AttributeValues!, cartLineNeedWrappingAttrName, false);\r\n const toggleState = value === true && 'enable' || 'disable';\r\n const buttonValue = value === true && 'true' || 'false';\r\n const ariaPressed = value;\r\n const className = \"giftwrapping\";\r\n\r\n return (\r\n
\r\n

{resources.toggleLabel}

\r\n {(\r\n
\r\n\r\n {resources.disableGiftwrappingLabel}\r\n \r\n {resources.enableGiftwrappingLabel}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst updateSelectedWrappingVariant = (cartLine: ICartlinesViewProps, product: SimpleProduct, context: ICoreContext) => {\r\n return async () => {\r\n const actionContext = context.actionContext;\r\n const cartState = await getCartState(actionContext);\r\n const cartLineToUpdate = cartState?.cart?.CartLines?.find(x => x.LineId === cartLine.cartlineId);\r\n if (cartLineToUpdate) {\r\n cartLineToUpdate.AttributeValues = cartLineToUpdate.AttributeValues || [];\r\n let changeSet = [ \r\n { attributeName: wrappingProductAttrName, value: product.RecordId.toString() },\r\n { attributeName: wrappingProductNumberAttrName, value: calculateProductNumber(product) }\r\n ]\r\n changeSet.map(x => {\r\n let attributeValue = cartLineToUpdate.AttributeValues?.find(a => a.Name === x.attributeName) \r\n if (attributeValue) {\r\n updateTextAttribute(attributeValue as AttributeTextValue, x.value!);\r\n } else {\r\n cartLineToUpdate.AttributeValues?.push(createTextAttribute(x.attributeName!, x.value!));\r\n }\r\n });\r\n await updateCartLinesAsync({ callerContext: actionContext }, cartState?.cart.Id, cartState?.cart?.CartLines);\r\n await cartState.refreshCart({});\r\n } \r\n }\r\n};\r\n\r\nconst updateIsCartLineNeedWrapping = (cartLine: ICartlinesViewProps, context: ICoreContext, value: boolean, wrappingProducts?: SimpleProduct[]) => {\r\n return async ( ) => {\r\n const actionContext = context.actionContext;\r\n const cartState = await getCartState(actionContext);\r\n const cartLineToUpdate = cartState?.cart?.CartLines?.find(x => x.LineId === cartLine.cartlineId);\r\n if (cartLineToUpdate) {\r\n cartLineToUpdate.AttributeValues = cartLineToUpdate.AttributeValues?.filter(x => x.Name !== wrappingProductAttrName && x.Name !== wrappingProductNumberAttrName) ?? [];\r\n\r\n let changeSet: any[] = [ \r\n { attributeName: cartLineNeedWrappingAttrName, value: value, type: \"boolean\" }\r\n ]\r\n\r\n if (value === true && wrappingProducts && wrappingProducts.length > 0) {\r\n let product = wrappingProducts[0];\r\n changeSet.push({ attributeName: wrappingProductAttrName, value: product.RecordId.toString(), type: \"text\" })\r\n changeSet.push({ attributeName: wrappingProductNumberAttrName, value: calculateProductNumber(product), type: \"text\" })\r\n }\r\n\r\n changeSet.map(x => {\r\n let attributeValue = cartLineToUpdate.AttributeValues?.find(a => a.Name === x.attributeName) \r\n if (attributeValue) {\r\n if(x.type === \"text\")\r\n updateTextAttribute(attributeValue as AttributeTextValue, x.value!);\r\n if(x.type === \"boolean\")\r\n updateBooleanAttribute(attributeValue as AttributeTextValue, x.value!);\r\n } else {\r\n if(x.type === \"text\")\r\n cartLineToUpdate.AttributeValues?.push(createTextAttribute(x.attributeName!, x.value!));\r\n if(x.type === \"boolean\")\r\n cartLineToUpdate.AttributeValues?.push(createBooleanAttribute(x.attributeName!, x.value!));\r\n }\r\n });\r\n\r\n await updateCartLinesAsync({ callerContext: actionContext }, cartState?.cart.Id, cartState?.cart?.CartLines);\r\n await cartState.refreshCart({});\r\n }\r\n }\r\n};\r\n\r\nasync function getProductAttributes(productId: number, channelId: number, actionContext: IActionContext): Promise {\r\n return await getAttributeValuesAsync({ callerContext: actionContext}, productId, channelId, 0);\r\n}\r\n\r\nconst isCartLineNeedWrapping = (cartLine: ICartlinesViewProps) => {\r\n return getBooleanAttributeValue(cartLine?.data?.cartline?.AttributeValues!, cartLineNeedWrappingAttrName, false);\r\n};\r\n\r\nconst getSelectedWrappingProductId = (cartLine: ICartlinesViewProps, allLines: ICartlinesViewProps[]) => {\r\n const wrappingProductId = getTextAttributeValue(cartLine?.data?.cartline?.AttributeValues!, wrappingProductAttrName);\r\n return wrappingProductId ? parseInt(wrappingProductId) : null;\r\n};\r\n\r\nconst calculateProductNumber = (product: SimpleProduct) => {\r\n if (product) {\r\n return `${product.ItemId}-${product.Dimensions?.map(x => x?.DimensionValue?.DimensionId).join(\",\")}`;\r\n }\r\n return '';\r\n};","export interface IImageResponse {\r\n imageUrl: string;\r\n errorMessage?: string;\r\n}\r\n\r\nexport class ImageResponseClass implements IImageResponse {\r\n public imageUrl: string;\r\n public errorMessage?: string;\r\n\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n\r\n this.imageUrl = odataObject.imageUrl;\r\n this.errorMessage = odataObject.errorMessage;\r\n }\r\n}","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n * THIS FILE IS AN AUTOGENERATED TYPESCRIPT PROXY EXTENSION.\r\n * TO USE THIS FILE, IT MUST BE ADDED TO A D365COMMERCE APPLICATION\r\n */\r\n// tslint:disable\r\nimport {\r\n AsyncResult,\r\n callActionOrExecute,\r\n DataServiceQuery,\r\n IContext,\r\n IDataServiceRequest\r\n} from '@msdyn365-commerce/retail-proxy';\r\n// @ts-ignore\r\nimport * as EntityClasses from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceModels.g';\r\nimport * as DataServiceEntities from './DataServiceEntities.g';\r\n\r\nexport function trusUploadImageQuery(): DataServiceQuery {\r\n return new DataServiceQuery();\r\n}\r\n\r\nexport function trusUploadImageInput(base64Data: string, fileName: string): IDataServiceRequest {\r\n const query = trusUploadImageQuery();\r\n\r\n return query.createDataServiceRequestForOperation(\r\n 'TRUSUploadImage',\r\n true,\r\n DataServiceEntities.ImageResponseClass,\r\n 'false',\r\n { bypassCache: 'get', returnEntity: 'DataServiceEntities.IImageResponse' },\r\n {\r\n imageData: {\r\n Base64Data: base64Data,\r\n FileName: fileName\r\n }\r\n }\r\n );\r\n}\r\n\r\nexport function trusUploadImageAsync(context: IContext, base64Data: string, fileName: string): AsyncResult {\r\n const request = trusUploadImageInput(base64Data, fileName);\r\n return callActionOrExecute(request, context.callerContext);\r\n}\r\n","import React from \"react\";\r\nimport classNames from 'classnames';\r\nimport { updateCartLinesAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CartsDataActions.g';\r\nimport { AttributeTextValue } from '@msdyn365-commerce/retail-proxy';\r\nimport { ICoreContext, IActionContext} from '@msdyn365-commerce/core';\r\nimport { ICartlinesViewProps } from '@msdyn365-commerce-modules/cart/src/modules/cart/components/cart-line-items';\r\nimport { getCartState } from '@msdyn365-commerce/global-state';\r\nimport { Button, Node} from '@msdyn365-commerce-modules/utilities';\r\nimport { ICartConfig, ICartResources } from \"../../definition-extensions/cart.ext.props.autogenerated\";\r\nimport { createBooleanAttribute, createTextAttribute, getAttributeValueOrDefault, getBooleanAttributeValue, getTextAttributeValue, updateBooleanAttribute, updateTextAttribute } from \"../../../../utilities/attribute-utilities\";\r\nimport { trusUploadImageAsync } from \"../../../../custom-proxy/DataActionExtension.g\";\r\nimport { getAttributeValuesAsync } from \"@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g\";\r\n\r\nexport interface IPaperGiftCardComponentProps {\r\n cartLine: ICartlinesViewProps\r\n allLines: ICartlinesViewProps[]\r\n masterProduct?: number;\r\n channelId?: number;\r\n context?: ICoreContext | undefined;\r\n resources?: ICartResources | undefined;\r\n configs?: ICartConfig | undefined;\r\n}\r\n\r\nexport interface IPaperGiftCardComponentState {\r\n from?: string,\r\n to?: string,\r\n message?: string,\r\n image?: string,\r\n imageName?: string,\r\n isEditMode: boolean,\r\n isDataLoaded: boolean,\r\n canDiscard: boolean,\r\n errorMessage?: string\r\n isProcesssing: boolean,\r\n wrappingEnabled: boolean\r\n}\r\n\r\nexport interface IGiftCardResources{\r\n toggleLabel?: string;\r\n disableGiftwrappingLabel?: string;\r\n enableGiftwrappingLabel?: string;\r\n}\r\n\r\nconst needPaperGiftCardAttribute: string = \"TRUS_CartLineNeedGiftCard\";\r\nconst paperGiftCardFromAttribute: string = \"TRUS_PaperGiftCardFrom\";\r\nconst paperGiftCardToAttribute: string = \"TRUS_PaperGiftCardTo\";\r\nconst paperGiftCardMessageAttribute: string = \"TRUS_PaperGiftCardMessage\";\r\nconst paperGiftCardImageAttribute: string = \"TRUS_PaperGiftCardImage\";\r\nconst enableWrappingAttrName: string = \"Gift Wrapping\";\r\n\r\nexport class PaperGiftCard extends React.Component {\r\n\r\n constructor(props: IPaperGiftCardComponentProps, state: IPaperGiftCardComponentState) {\r\n super(props);\r\n this.state = { \r\n isEditMode: false, \r\n canDiscard: false,\r\n isDataLoaded: false,\r\n isProcesssing: false,\r\n wrappingEnabled: false,\r\n };\r\n }\r\n\r\n get isSaveButtonVisible(): boolean {\r\n return this.state.isEditMode;\r\n }\r\n\r\n get isCancelVisible(): boolean {\r\n return this.isSaveButtonVisible && this.state.canDiscard;\r\n }\r\n\r\n componentDidMount(): void {\r\n this.initializeStateFromAttributes();\r\n\r\n const fetchData = async () => {\r\n const productAttributes = await getAttributeValuesAsync({ callerContext: this.props.context?.actionContext! }, this.props.cartLine.data?.cartline.ProductId!, this.props.context?.actionContext?.requestContext?.apiSettings?.channelId!, 0);;\r\n const isWrappingEnabledForProduct = getAttributeValueOrDefault(productAttributes, enableWrappingAttrName, (x) => x.BooleanValue, true);\r\n\r\n this.setState({wrappingEnabled: isWrappingEnabledForProduct})\r\n };\r\n\r\n fetchData().catch(console.error);\r\n }\r\n\r\n initializeStateFromAttributes(): void {\r\n const {\r\n cartLine\r\n } = this.props;\r\n\r\n const from = getTextAttributeValue(cartLine?.data?.cartline?.AttributeValues!, paperGiftCardFromAttribute) ?? '';\r\n const to = getTextAttributeValue(cartLine?.data?.cartline?.AttributeValues!, paperGiftCardToAttribute) ?? '';\r\n const message = getTextAttributeValue(cartLine?.data?.cartline?.AttributeValues!, paperGiftCardMessageAttribute) ?? '';\r\n const image = getTextAttributeValue(cartLine?.data?.cartline?.AttributeValues!, paperGiftCardImageAttribute) ?? '';\r\n\r\n this.setState({\r\n from: from,\r\n to: to,\r\n message: message,\r\n image: image,\r\n canDiscard: !!from && !!to && !!message && !!image,\r\n isEditMode: false,\r\n isDataLoaded: true,\r\n isProcesssing: false,\r\n\r\n imageName: undefined,\r\n errorMessage: undefined\r\n })\r\n }\r\n\r\n public render(): JSX.Element {\r\n\r\n const {\r\n cartLine,\r\n resources,\r\n context\r\n } = this.props;\r\n \r\n const giftWrappingResources: IGiftCardResources = {\r\n toggleLabel: 'Free Paper Gift Card' || '',\r\n enableGiftwrappingLabel: resources?.enableGiftwrappingLabel || '',\r\n disableGiftwrappingLabel: resources?.disableGiftwrappingLabel || '',\r\n }\r\n \r\n return (\r\n <>\r\n {\r\n this.state.wrappingEnabled &&\r\n \r\n {\r\n this.renderGiftWrappingToggle(cartLine, context!, giftWrappingResources)\r\n }\r\n {\r\n isWrappingNeeded(cartLine) && this.state.isDataLoaded && this.renderGiftCardInputs()\r\n }\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n private readonly onFromInputChangeHandler = (e: React.ChangeEvent) => {\r\n this.setState({\r\n from: e.target.value,\r\n isEditMode: true,\r\n errorMessage: undefined\r\n });\r\n };\r\n\r\n private readonly onToInputChangeHandler = (e: React.ChangeEvent) => {\r\n this.setState({\r\n to: e.target.value,\r\n isEditMode: true,\r\n errorMessage: undefined\r\n });\r\n };\r\n\r\n private readonly onMessageInputChangeHandler = (e: React.ChangeEvent) => {\r\n this.setState({\r\n message: e.target.value,\r\n isEditMode: true,\r\n errorMessage: undefined\r\n });\r\n };\r\n\r\n private readonly onImageInputChangeHandler = (event: React.ChangeEvent) => {\r\n if(event.target.files && event.target.files.length > 0 && event.target.files[0]){\r\n const reader = new FileReader();\r\n const imageFile = event.target.files[0];\r\n const fileName = imageFile.name;\r\n reader.onload = (ev: any) => {\r\n this.setState({\r\n image: ev.target.result,\r\n imageName: fileName,\r\n isEditMode: true,\r\n errorMessage: undefined\r\n });\r\n };\r\n reader.onerror = (ev: any) => {\r\n this.setState({\r\n errorMessage: \"Error while uploading image, please try again or choose different image format\"\r\n });\r\n };\r\n reader.readAsDataURL(imageFile);\r\n \r\n //clean file input\r\n ///@ts-ignore\r\n event.target.value = null;\r\n }\r\n };\r\n\r\n private readonly cleanImageHandler = () => {\r\n this.setState({\r\n isEditMode: true,\r\n image: undefined,\r\n imageName: undefined,\r\n errorMessage: undefined \r\n });\r\n };\r\n\r\n private readonly savePaperGiftCardInfo = async () => {\r\n const { to, from, message, image, imageName } = this.state;\r\n let imageUrl = image;\r\n \r\n if (to && from && message) {\r\n\r\n this.setState({ isProcesssing: true })\r\n\r\n if (imageName) {\r\n imageUrl = await uploadPaperGiftCardImage(this.props.context?.actionContext!, image!, imageName!);\r\n if (!imageUrl) {\r\n this.setState({ errorMessage: \"Error occured while saving image. Please try image with png or jpg format\", isProcesssing: false })\r\n return;\r\n }\r\n }\r\n await updatePaperGiftCardInfo(this.props.cartLine, this.props.context!, to!, from!, message!, imageUrl!);\r\n this.initializeStateFromAttributes();\r\n return;\r\n }\r\n else {\r\n this.setState({ errorMessage: \"Fill all required fields before save or disable paper gift card option if you don't need it\" })\r\n }\r\n };\r\n\r\n private readonly discardEdit = () => {\r\n this.initializeStateFromAttributes()\r\n };\r\n\r\n private renderGiftCardInputs(){\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

{this.state.errorMessage}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n { \r\n (!this.state.image) && \r\n \r\n }\r\n { \r\n (this.state.image) && \r\n
\r\n
\r\n \r\n {this.state.imageName}\r\n {/*×*/}\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {\r\n this.state.isProcesssing && \r\n
\r\n Saving..\r\n
\r\n }\r\n {\r\n this.isSaveButtonVisible && !this.state.isProcesssing &&\r\n
\r\n Save\r\n
\r\n }\r\n {\r\n (this.state.image) && !this.state.isProcesssing &&\r\n
\r\n Remove image\r\n
\r\n }\r\n {\r\n this.isCancelVisible&& !this.state.isProcesssing &&\r\n
\r\n Cancel Edit\r\n
\r\n }\r\n
\r\n
\r\n )\r\n }\r\n\r\n private renderGiftWrappingToggle(cartLine: ICartlinesViewProps, ctx: ICoreContext, resources: IGiftCardResources): JSX.Element | null {\r\n let value = getBooleanAttributeValue(cartLine?.data?.cartline?.AttributeValues!, needPaperGiftCardAttribute, false);\r\n const toggleState = value === true && 'enable' || 'disable';\r\n const buttonValue = value === true && 'true' || 'false';\r\n const ariaPressed = value;\r\n const className = \"giftwrapping\";\r\n \r\n return (\r\n
\r\n

{resources.toggleLabel}

\r\n {(\r\n
\r\n \r\n {resources.disableGiftwrappingLabel}\r\n \r\n {resources.enableGiftwrappingLabel}\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n private updateProductNeedPaperGiftCard(cartLine: ICartlinesViewProps, context: ICoreContext, value: boolean){\r\n return async ( ) => {\r\n const actionContext = context.actionContext as IActionContext;\r\n if (actionContext) {\r\n const cartState = await getCartState(actionContext);\r\n const cartLineToUpdate = cartState?.cart?.CartLines?.find(x => x.LineId === cartLine.cartlineId);\r\n if (cartLineToUpdate) {\r\n \r\n //clean paper gift card data from attributes\r\n cartLineToUpdate.AttributeValues = cartLineToUpdate.AttributeValues || [];\r\n cartLineToUpdate.AttributeValues = cartLineToUpdate.AttributeValues?.filter(x => x.Name !== paperGiftCardFromAttribute);\r\n cartLineToUpdate.AttributeValues = cartLineToUpdate.AttributeValues?.filter(x => x.Name !== paperGiftCardToAttribute);\r\n cartLineToUpdate.AttributeValues = cartLineToUpdate.AttributeValues?.filter(x => x.Name !== paperGiftCardMessageAttribute);\r\n cartLineToUpdate.AttributeValues = cartLineToUpdate.AttributeValues?.filter(x => x.Name !== paperGiftCardImageAttribute);\r\n \r\n const attributeValue = cartLineToUpdate.AttributeValues?.find(x => x.Name == needPaperGiftCardAttribute) \r\n if (attributeValue) {\r\n updateBooleanAttribute(attributeValue as AttributeTextValue, value);\r\n } else {\r\n cartLineToUpdate.AttributeValues?.push(createBooleanAttribute(needPaperGiftCardAttribute, value));\r\n }\r\n \r\n await updateCartLinesAsync({ callerContext: actionContext }, cartState?.cart.Id, cartState?.cart?.CartLines);\r\n await cartState.refreshCart({});\r\n this.initializeStateFromAttributes();\r\n }\r\n }\r\n }\r\n };\r\n};\r\n\r\nconst uploadPaperGiftCardImage = async (actionContext: IActionContext, imageBase64: string, imageName: string): Promise => {\r\n let imageUrl = \"\";\r\n const context = { callerContext: actionContext };\r\n\r\n try {\r\n const imageData = await trusUploadImageAsync(context, imageBase64, imageName);\r\n if (imageData && imageData.imageUrl) {\r\n imageUrl = imageData.imageUrl;\r\n }\r\n }\r\n catch {\r\n imageUrl = \"\";\r\n }\r\n\r\n return imageUrl;\r\n};\r\n\r\nconst updatePaperGiftCardInfo = async (cartLine: ICartlinesViewProps, context: ICoreContext, to: string, from: string, message: string, image: string) => {\r\n const actionContext = context.actionContext as IActionContext;\r\n if (actionContext) {\r\n const cartState = await getCartState(actionContext);\r\n const cartLineToUpdate = cartState?.cart?.CartLines?.find(x => x.LineId === cartLine.cartlineId);\r\n if (cartLineToUpdate) {\r\n cartLineToUpdate.AttributeValues = cartLineToUpdate.AttributeValues || [];\r\n let changeSet = [ \r\n { attribute: paperGiftCardFromAttribute, value: from },\r\n { attribute: paperGiftCardToAttribute, value: to }, \r\n { attribute: paperGiftCardMessageAttribute, value: message }, \r\n { attribute: paperGiftCardImageAttribute, value: image }\r\n ]\r\n changeSet.map(x => {\r\n let attributeValue = cartLineToUpdate.AttributeValues?.find(a => a.Name === x.attribute) \r\n if (attributeValue) {\r\n updateTextAttribute(attributeValue as AttributeTextValue, x.value!);\r\n } else {\r\n cartLineToUpdate.AttributeValues?.push(createTextAttribute(x.attribute!, x.value!));\r\n }\r\n });\r\n await updateCartLinesAsync({ callerContext: actionContext }, cartState?.cart.Id, cartState?.cart?.CartLines);\r\n await cartState.refreshCart({});\r\n }\r\n } \r\n};\r\n\r\nconst isWrappingNeeded = (cartLine: ICartlinesViewProps) => {\r\n return getBooleanAttributeValue(cartLine?.data?.cartline?.AttributeValues!, needPaperGiftCardAttribute, false);\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\nimport { HtmlHeadInclude, CultureInfoFormatter } from '@msdyn365-commerce/core';\r\nimport { IHeaderViewProps } from '@msdyn365-commerce-modules/header';\r\nimport { Collapse, Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport * as React from 'react';\r\nimport { IHeaderResources } from '../definition-extensions/header.ext.props.autogenerated';\r\n\r\nconst headerView: React.FC = props => {\r\n const {\r\n context,\r\n HeaderTag,\r\n HeaderContainer,\r\n HeaderTopBarContainer,\r\n Divider\r\n } = props;\r\n\r\n React.useEffect(() => {\r\n //@ts-ignore\r\n if (context?.cultureFormatter && context.cultureFormatter.locale !== \"en-US\") {\r\n context.cultureFormatter = new CultureInfoFormatter(\r\n \"en-US\",\r\n context.actionContext?.requestContext?.channel?.Currency ?? \"SAR\",\r\n context.actionContext.requestContext.query\r\n )\r\n }\r\n },[]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {_renderNavigateBack(props)}\r\n {props.navIcon}\r\n {props.logo}\r\n {_renderReactFragment(props.search)}\r\n {props.preferredStore}\r\n {_renderAccountBlock(props, false)}\r\n {props.wishListIconDesktop}\r\n \r\n {props.cartIcon}\r\n {_renderReactFragment(props.siteOptions)}\r\n \r\n {_renderCollapseMenu(props)}\r\n \r\n {_renderReactFragment(props.menuBar)}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nfunction _renderCollapseMenu(props: IHeaderViewProps): JSX.Element | null {\r\n const { Divider, /*MobileMenuLinksContainer,*/ mobileMenuCollapsed } = props;\r\n return (\r\n \r\n {/*\r\n {_renderReactFragment(props.search)}\r\n {_renderMobileAccountBlock(props, true)}\r\n {props.wishListIconMobile}\r\n {props.siteOptions}\r\n */}\r\n \r\n {_renderReactFragment(props.menuBar)}\r\n \r\n );\r\n}\r\n\r\n/*\r\nconst renderCustomerName = (accountInformation: AsyncResult): React.ReactChild => {\r\n const customer = accountInformation && accountInformation.result;\r\n return (\r\n <>\r\n {customer ? customer.FirstName || customer.Name : ''}\r\n \r\n );\r\n};\r\n*/\r\n\r\n/*\r\nfunction _renderMobileAccountBlock(props: IHeaderViewProps, renderForMobile: boolean): JSX.Element | null {\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n signOutLink,\r\n signInLink,\r\n data,\r\n accountLinks } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames('ms-header__drawer', AccountInfoDropdownParentContainer.className, renderForMobile ? 'account-mobile' : 'account-desktop');\r\n\r\n if (accountLinks) {\r\n return (\r\n \r\n
\r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n
\r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n return null;\r\n}\r\n*/\r\n\r\nfunction _renderAccountBlock(props: IHeaderViewProps, renderForMobile: boolean): JSX.Element | null {\r\n const {\r\n AccountInfoDropdownParentContainer,\r\n AccountInfoDropdownPopoverConentContainer,\r\n accountInfoDropdownButton,\r\n signOutLink,\r\n signInLink,\r\n accountLinks\r\n } = props;\r\n\r\n if (AccountInfoDropdownParentContainer) {\r\n const accountClassName = classnames(AccountInfoDropdownParentContainer.className, renderForMobile ? 'account-mobile' : 'account-desktop', 'trus-accountbutton');\r\n if (AccountInfoDropdownPopoverConentContainer) {\r\n return (\r\n \r\n {accountInfoDropdownButton}\r\n \r\n {accountLinks ? accountLinks.map((link: React.ReactNode) => link) : false}\r\n {signOutLink}\r\n \r\n \r\n );\r\n } else if (signInLink) {\r\n return (\r\n \r\n {signInLink}\r\n \r\n );\r\n }\r\n }\r\n\r\n return null;\r\n}\r\n\r\n\r\nfunction _renderNavigateBack(props: IHeaderViewProps): JSX.Element | null {\r\n const resources = props.resources as IHeaderResources;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\n\r\nfunction _renderReactFragment(items: React.ReactNode[]): JSX.Element | null {\r\n return (\r\n <>\r\n {items && items.length > 0 ? items.map((slot: React.ReactNode, index: number) => {\r\n return (\r\n {slot}\r\n );\r\n }) : null}\r\n \r\n );\r\n}\r\n\r\nexport default headerView;\r\n","import { AttributeTextValue, AttributeValue, AttributeValueBase } from \"@msdyn365-commerce/retail-proxy\";\r\n\r\nexport const updateTextAttribute = (attribute: AttributeTextValue, value: string) => {\r\n if (attribute) {\r\n attribute.TextValue = value;\r\n attribute.TextValueTranslations = [];\r\n attribute['@odata.type'] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeTextValue\";\r\n } \r\n return attribute;\r\n};\r\n\r\nexport const updateBooleanAttribute = (attribute: AttributeTextValue, value: boolean) => {\r\n return updateTextAttribute(attribute, value === true ? \"true\" : \"false\");\r\n};\r\n\r\nexport const createBooleanAttribute = (name: string, value: boolean) => {\r\n return createTextAttribute(name, value === true ? \"true\" : \"false\")\r\n};\r\n\r\nexport const createTextAttribute = (name: string, value: string) => {\r\n return { \r\n Name : name, \r\n TextValue: value,\r\n TextValueTranslations: [],\r\n '@odata.type': \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeTextValue\"\r\n };\r\n};\r\n\r\nexport const getTextAttributeValue = (attributes: AttributeValueBase[], name: string) => {\r\n if (attributes) {\r\n const attribute = attributes?.find(x => x.Name == name) as AttributeTextValue \r\n if (attribute) {\r\n return attribute.TextValue;\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nexport const getBooleanAttributeValue = (attributes: AttributeValueBase[], name: string, defaultVal: boolean = false) => {\r\n const textValue = getTextAttributeValue(attributes, name);\r\n if (textValue) {\r\n return textValue.toLowerCase() === \"true\" ? true : false;\r\n }\r\n return defaultVal;\r\n};\r\n\r\nexport const getAttributeValueOrDefault = (attributes: AttributeValue[], name: string, valueSelector: (x: AttributeValue) => any, defaultVal: boolean = false) => {\r\n const attribute = attributes.find(x => x.Name === name);\r\n if (attribute) {\r\n const attributeValue = valueSelector(attribute);\r\n if (attributeValue === undefined || attributeValue === null) {\r\n return defaultVal\r\n }\r\n return attributeValue;\r\n }\r\n return defaultVal;\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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { IAadGenericData } from './aad-generic.data';\nimport { IAadGenericProps } from './aad-generic.props.autogenerated';\n\nexport interface IAadGenericViewProps extends IAadGenericProps {\n aadGeneric: IModuleProps;\n aadConainer: INodeProps;\n aadAPIConainer: React.ReactNode;\n heading?: React.ReactNode;\n}\n\n/**\n *\n * AadGeneric component.\n * @extends {React.Component>}\n */\nclass AadGeneric extends React.Component> {\n private readonly moduleClassName: string = 'ms-aad-generic';\n\n public componentDidMount(): void {\n // @ts-expect-error\n const { $i2e, $element } = window || {};\n\n if ($i2e && $element) {\n $i2e.insertServiceContent($element.getElementContent());\n $element.initialize();\n }\n }\n\n public shouldComponentUpdate(nextProps: IAadGenericViewProps): boolean {\n if (nextProps.config.heading !== this.props.config.heading) {\n return true;\n }\n return false;\n }\n\n public render(): JSX.Element | null {\n const { className, heading } = this.props.config;\n\n const viewProps = {\n ...this.props,\n aadGeneric: {\n moduleProps: this.props,\n className: classnames(this.moduleClassName, className)\n },\n aadConainer: {\n className: `${this.moduleClassName}__container`\n },\n aadAPIConainer:
,\n heading: heading && (\n \n )\n };\n\n return this.props.renderView(viewProps);\n }\n\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent) => {\n if (this.props.config.heading) {\n this.props.config.heading.text = event.target.value;\n }\n };\n}\n\nexport default AadGeneric;\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 { IAadGenericViewProps } from './aad-generic';\n\nexport default (props: IAadGenericViewProps) => {\n const { aadGeneric, aadConainer, aadAPIConainer, heading } = props;\n\n return (\n \n \n {heading}\n {aadAPIConainer}\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 { 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 React from 'react';\n\nexport interface IAccountOrderTemplatesTileDescription {\n description: string;\n}\n\nexport const AccountOrderTemplatesTileDescription: 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 '../account-order-templates-tile.props.autogenerated';\n\nexport interface IAccountOrderTemplatesTileLinks {\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 AccountOrderTemplatesTileLinks: React.FC = ({\n links,\n onTextChange,\n telemetryContent,\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-order-templates-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 { IAccountOrderTemplatesTileData } from './account-order-templates-tile.data';\nimport { IAccountOrderTemplatesTileProps } from './account-order-templates-tile.props.autogenerated';\nimport { AccountOrderTemplatesTileDescription, AccountOrderTemplatesTileLinks } from './components';\n\nexport interface IAccountOrderTemplatesTileViewProps extends IAccountOrderTemplatesTileProps {\n AccountOrderTemplatesTile: IModuleProps;\n className: string;\n heading?: React.ReactNode;\n links?: React.ReactNode;\n description?: React.ReactNode;\n}\n\n/**\n *\n * AccountOrderTemplatesTile component.\n * @extends {React.PureComponent>}\n */\nexport class AccountOrderTemplatesTile extends React.PureComponent> {\n private readonly telemetryContent: ITelemetryContent;\n\n constructor(props: IAccountOrderTemplatesTileProps) {\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, resources, data } = this.props;\n const RetailB2BEcommerceFeatureState = this.props.data.featureState.result?.find(\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailB2BEcommerceFeature'\n );\n if (\n !this.props.context.request.params.isEditor &&\n (!RetailB2BEcommerceFeatureState?.IsEnabled || !this.props.data.customerInformation.result?.IsB2b)\n ) {\n return <>;\n }\n\n const { className, heading, links } = config;\n const { accountOrderTemplatesTileDescription } = resources;\n const orderTemplates = data.orderTemplates;\n\n const orderTemplatesCount = (orderTemplates?.result || []).length;\n const description = format(accountOrderTemplatesTileDescription, orderTemplatesCount);\n\n const viewProps = {\n ...this.props,\n className,\n AccountOrderTemplatesTile: {\n moduleProps: this.props,\n className: classnames('ms-account-order-templates-tile', config.className)\n },\n heading: heading && heading.text && (\n \n ),\n links: links && links.length > 0 && (\n \n ),\n description: \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 AccountOrderTemplatesTile;\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 { IAccountOrderTemplatesTileViewProps } from './account-order-templates-tile';\n\nconst AccountOrderTemplatesTileView: React.FC = props => {\n const { AccountOrderTemplatesTile, heading, description, links } = props;\n\n return (\n \n {heading}\n {description}\n {links}\n \n );\n};\n\nexport default AccountOrderTemplatesTileView;\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 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.state = { 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 const imageProps = {\n gridSettings: this.props.context.request.gridSettings ?? {},\n imageSettings: image?.imageSettings\n };\n const contentBlockLinks = links && ArrayExtensions.hasElements(links) && (\n \n );\n const contentBlockText = paragraph && (\n \n );\n const contentBlockImage = (\n \n );\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 },\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 {\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 {orderInfomation && }\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 { 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 { IModuleProps, INodeProps } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ISocialShareConfig, ISocialShareProps, orientation } from './social-share.props.autogenerated';\n\nexport interface ISocialShareViewProps extends ISocialShareProps {\n isConsentGiven: boolean;\n SocialShareItemElements: React.ReactNode[];\n SocialShare: IModuleProps;\n SocialShareList: INodeProps;\n SocialShareItem: INodeProps;\n SocialShareItemCustomization: INodeProps;\n}\n\n/**\n *\n * SocialShare component.\n * @extends {React.PureComponent>}\n */\nclass SocialShare extends React.PureComponent> {\n constructor(props: ISocialShareProps) {\n super(props);\n }\n\n public render(): JSX.Element | null {\n const { slots } = this.props;\n\n if (slots && slots.socialShareItems.length === 0) {\n this.props.context.telemetry.error('No social media is enable for sharing, module wont render');\n return null;\n }\n\n const isConsentGiven =\n this.props.context.request &&\n this.props.context.request.cookies &&\n this.props.context.request.cookies.isConsentGiven &&\n this.props.context.request.cookies.isConsentGiven();\n\n if (!isConsentGiven) {\n return null;\n }\n\n const viewprops = {\n ...this.props,\n SocialShare: {\n moduleProps: this.props,\n className: classnames('ms-social-share', this.props.config.className)\n },\n SocialShareList: {\n 'data-title': this.props.config.caption,\n className: `ms-social-share-ul ${this.props.config.caption && 'caption'} ${\n this.props.config.orientation === orientation.vertical ? 'vertical' : ''\n }`,\n tag: 'ul',\n role: 'group'\n },\n SocialShareItem: {\n className: 'ms-social-share-li',\n tag: 'li',\n tabIndex: '0',\n role: 'link'\n },\n SocialShareItemElements: slots && slots.socialShareItems.length > 0 && slots.socialShareItems\n };\n\n return this.props.renderView(viewprops) as React.ReactElement;\n }\n}\n\nexport default SocialShare;\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 React, { ReactNode } from 'react';\n\nimport { ISocialShareViewProps } from './social-share';\n\nexport const SocialShareView: React.FC = props => {\n const { SocialShareList, SocialShareItemElements, SocialShareItem, SocialShare } = props;\n if (SocialShareItemElements.length === 0) {\n props.context.telemetry.error('Social media list is empty, module wont render');\n return null;\n }\n return (\n \n \n {SocialShareItemElements.map((SocialShareElement: ReactNode, index: number) => {\n return (\n \n {SocialShareElement}\n \n );\n })}\n \n \n );\n};\n\nexport default SocialShareView;\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 {orderInfomation && }\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"],"names":["_renderCartlines","cartLines","cartEmptyText","CartlinesWrapper","storeSelector","backToShoppingButton","waitingComponent","cartLoadingStatus","cartDataResult","props","React","map","cartLine","isWrappingProductLine","isWrappingProduct","className","classNames","key","cartlineId","cartline","pickUpInStore","Node","Object","assign","ContainerProps","defaultComponent","GiftWrappping","resources","configs","config","context","allLines","addToOrderTemplate","remove","addToWishlist","_cartLine$data","_cartLine$data$cartli","getTextAttributeValue","data","AttributeValues","attributes","name","attribute","find","x","Name","TextValue","renderCartLinesGroupHeader","pickUpText","shippingText","emailShippingText","titleSeparate","emailDeliveryModeCode","_cartLine$pickUpInSto4","isBopisSelected","groupTitle","groupTitleClass","DeliveryMode","toLowerCase","renderCartLinesGroupTitle","_cartLine$pickUpInSto","_cartLine$pickUpInSto2","_cartLine$pickUpInSto3","deliveryOption","orgUnitName","_props$cart","_props$cart2","errorData","promotions","id","renderModuleAttributes","title","cart","hasInvoiceLine","promotionOptions","promotionMessageWrapper","promotionMessage","promotionSeeAllLink","promotionDialog","multiplePickUpEnabled","cartLinesGroup","ArrayExtensions","hasElements","cartlines","_props$context$action","emailshippingText","actionContext","requestContext","channel","EmailDeliveryModeCode","emptyCartText","renderCartLinesGroup","orderSummaryHeading","OrderSummaryWrapper","_renderInvoiceSummarylines","invoiceSummaryLines","OrderSummaryItems","invoices","giftCard","loyalty","orderTotal","telemetry","error","invoiceSummaryLineitems","_renderOrderSummarylines","orderSummaryLines","promoCode","subtotal","shipping","otherCharge","tax","totalDiscounts","orderSummaryLineitems","OrderSummaryErrors","errors","Wrapper","header","checkoutAsSignInUserButton","checkoutAsGuestButton","createTemplateFromCartButton","wrappingProductAttrName","cartLineNeedWrappingAttrName","wrappingProductNumberAttrName","_ref","_context$actionContex","_context$actionContex2","_context$actionContex3","masterWrappingProductId","masterProductId","giftWrappingResources","toggleLabel","giftWrappingSectionTitle","enableGiftwrappingLabel","disableGiftwrappingLabel","channelId","apiSettings","_actionContext$reques","_actionContext$reques2","_actionContext$reques3","_actionContext$reques4","_actionContext$reques5","cultureFormatter","CultureInfoFormatter","locale","Currency","query","initializeTelementryAndCultureFormatterIfMissing","wrappingProducts","setWrappingProducts","useState","wrappingEnabled","setWrappingEnabled","async","productAttributes","productId","getAttributeValuesAsync","callerContext","getProductAttributes","ProductId","isWrappingEnabledForProduct","getAttributeValueOrDefault","BooleanValue","products","getProductsByMasterProductId","fetchData","catch","console","renderEnableGiftWrappingToggle","isCartLineNeedWrapping","product","_context$cultureForma","variantClassName","getSelectedWrappingProductId","RecordId","onClick","updateSelectedWrappingVariant","src","PrimaryImageUrl","formatCurrency","AdjustedPrice","renderWrappingProduct","ctx","_cartLine$data2","_cartLine$data2$cartl","value","getBooleanAttributeValue","toggleState","buttonValue","ariaPressed","Button","updateIsCartLineNeedWrapping","disabled","_cartState$cart","_cartState$cart$CartL","cartState","getCartState","cartLineToUpdate","CartLines","LineId","_cartState$cart2","attributeName","toString","calculateProductNumber","_cartLineToUpdate$Att","attributeValue","a","_cartLineToUpdate$Att2","updateTextAttribute","push","createTextAttribute","updateCartLinesAsync","Id","refreshCart","_cartState$cart3","_cartState$cart3$Cart","_cartLineToUpdate$Att3","_cartLineToUpdate$Att4","_cartState$cart4","filter","changeSet","type","length","_cartLineToUpdate$Att5","_cartLineToUpdate$Att6","_cartLineToUpdate$Att7","updateBooleanAttribute","createBooleanAttribute","_cartLine$data3","_cartLine$data3$cartl","_cartLine$data4","_cartLine$data4$cartl","wrappingProductId","parseInt","_product$Dimensions","ItemId","Dimensions","_x$DimensionValue","DimensionValue","DimensionId","join","ImageResponseClass","constructor","odataObject","this","imageUrl","errorMessage","trusUploadImageInput","base64Data","fileName","DataServiceQuery","createDataServiceRequestForOperation","DataServiceEntities","bypassCache","returnEntity","imageData","Base64Data","FileName","needPaperGiftCardAttribute","paperGiftCardFromAttribute","paperGiftCardToAttribute","paperGiftCardMessageAttribute","paperGiftCardImageAttribute","PaperGiftCard","state","super","onFromInputChangeHandler","e","setState","from","target","isEditMode","undefined","onToInputChangeHandler","to","onMessageInputChangeHandler","message","onImageInputChangeHandler","event","files","reader","FileReader","imageFile","onload","ev","image","result","imageName","onerror","readAsDataURL","cleanImageHandler","savePaperGiftCardInfo","_this$props$context","isProcesssing","uploadPaperGiftCardImage","updatePaperGiftCardInfo","initializeStateFromAttributes","discardEdit","canDiscard","isDataLoaded","isSaveButtonVisible","componentDidMount","_this$props$context2","_this$props$cartLine$","_this$props$context3","_this$props$context3$","_this$props$context3$2","_this$props$context3$3","_getTextAttributeValu","_getTextAttributeValu2","_getTextAttributeValu3","_getTextAttributeValu4","render","renderGiftWrappingToggle","isWrappingNeeded","renderGiftCardInputs","onChange","bind","accept","isCancelVisible","_cartLine$data5","_cartLine$data5$cartl","updateProductNeedPaperGiftCard","imageBase64","request","callActionOrExecute","trusUploadImageAsync","_unused","_cartLineToUpdate$Att8","_cartLine$data6","_cartLine$data6$cartl","_renderReactFragment","items","slot","index","HeaderTag","HeaderContainer","HeaderTopBarContainer","Divider","_context$actionContex4","Module","HtmlHeadInclude","content","history","back","backButtonAriaLabel","_renderNavigateBack","navIcon","logo","search","preferredStore","renderForMobile","AccountInfoDropdownParentContainer","AccountInfoDropdownPopoverConentContainer","accountInfoDropdownButton","signOutLink","signInLink","accountLinks","accountClassName","classnames","link","_renderAccountBlock","wishListIconDesktop","cartIcon","siteOptions","mobileMenuCollapsed","Collapse","isOpen","menuBar","_renderCollapseMenu","TextValueTranslations","defaultVal","arguments","textValue","valueSelector","AadGeneric","moduleClassName","handleHeadingChange","heading","text","$i2e","$element","window","insertServiceContent","getElementContent","initialize","shouldComponentUpdate","nextProps","viewProps","_objectSpread","aadGeneric","moduleProps","aadConainer","aadAPIConainer","Msdyn365","editProps","onEdit","renderView","_mapEditableLinks","linkdata","telemetryContent","editableLinks","payLoad","getPayloadObject","forEach","contentAction","etext","linkText","getTelemetryAttributes","editableLink","ariaLabel","linkUrl","destinationUrl","openInNewTab","role","additionalProperties","links","onTextChange","AccountLoyaltyTile","handleLinkTextChange","linkIndex","signUpLinkText","viewLinkText","getTelemetryObject","telemetryPageName","friendlyName","signUpLinkAriaLabel","viewLinkAriaLabel","accountLoyaltySummary","accountLoyaltyMemberSummary","loyaltyCard","description","url","CardNumber","decimalPrecision","points","RewardPoints","rewardPoint","ActivePoints","format","toFixed","tag","LinksComponent","DescriptionComponent","AccountOrderTemplatesTileDescription","AccountOrderTemplatesTileLinks","AccountOrderTemplatesTile","_this$props$data$feat","_this$props$data$cust","RetailB2BEcommerceFeatureState","featureState","params","isEditor","IsEnabled","customerInformation","IsB2b","accountOrderTemplatesTileDescription","orderTemplates","orderTemplatesCount","AccountOrganizationUsersTileDescription","AccountOrganizationUsersTileLinks","OrganizationUsersTile","accountOrganizationUsersTileDescriptionForSingleUser","accountOrganizationUsersTileDescriptionForMultipleUsers","numUsers","users","accountOrganizationUsersTileDescription","IsB2bAdmin","errorClassName","GetMaxLength","maxLength","parsedMaxLength","Number","isNaN","pattern","forId","htmlFor","PasswordReset","_onInit","_prePopulateData","_updateErrorMessage","initializationTimer","setInterval","_isInitializationSuccessful","setTimeout","clearInterval","isInitialized","obj","ID","newPasswordRegex","PAT","reenterPasswordRegex","verifying_blurb","loadingMessage","PasswordRegex","defaultRegex","source","componentDidUpdate","nextState","viewState","isShowLoading","passwordReset","loading","modal","Modal","modalBody","ModalBody","icon","PasswordResetLoadingIconComponent","PasswordResetLoadingMessageComponent","defaultAADConainer","style","display","passwordResetLocalAccount","_renderLocalAccount","localAccount","_renderInput","newPasswordLabelText","confirmPasswordLabelText","PasswordResetErrorComponent","passwordEntryMismatchError","requiredFieldMissingError","fieldIncorrectError","buttonsWrapper","buttons","PasswordResetButtonComponent","saveButtonAriaLabel","saveButtonText","cancelButtonText","verificationSuccessModal","verificationSuccessModalMessage","labelText","wrapper","label","PasswordResetLabelComponent","input","PasswordResetInputComponent","__decorate","observable","observer","PasswordResetItem","PasswordResetLoading","_ref3","_ref2","item","button","LocalAccount","CheckInConfirmationComponent","confirmationText","shouldShowQrCode","channelReferenceIdLabel","channelReferenceId","QRCode","size","CheckInErrorComponent","CheckInForPickup","checkInForOrderPickup","packingSlipId","additionalInformationToSubmit","additionalInformationList","additionalInformationKeyValuePair","_additionalInformatio","formKey","resourceId","extensionPropertyList","ObjectExtensions","isNullOrUndefined","additionalInformation","Key","Value","StringValue","SalesOrdersDataActions","queryResultSettings","headerErrorMessage","genericErrorMessage","isCheckedIn","Promise","resolve","_this$props$context$r","_this$props$context$r2","_this$props$context$r3","_this$props$context$r4","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","handleTextChange","handleParagraphChange","paragraph","_heading$tag","_this$props$config$im","imageAriaLabel","contentBlockTitle","imageProps","gridSettings","imageSettings","contentBlockLinks","msdyn365__moduleLayout","contentBlockText","contentBlockImage","preserveImageSpace","moduleType","typeName","imagePropertyName","moduleId","layout","shouldSkipToMainImage","contentBlockviewProps","moduleClass","contentBlockContainer","imageContainer","detailsContainer","contentBlockAnchorTag","imageLink","_getImageLink","handleAdditionalParagraphChange","handleAdditionalText","handleAdditionalParagraph","additionalContentObject","actionableRegion","renderAdditionalContent","_additionalContent$ad","href","OrderHistoryOrderInfomation","orderInformationProps","salesId","receiptId","channelName","createdDate","count","amount","OrderHistoryGroupDelivery","deliveryProps","processing","address","trackingInfo","OrderHistoryGroup","groupProps","delivery","salesLinesProps","salesLines","salesLine","OrderHistoryGroups","_ref4","groupsProps","groups","group","OrderHistoryHeader","_ref5","headerProps","orderCountLabel","extraActions","OrderHistorySalesOder","_ref6","salesOrderProps","orderInfomation","orderDetailsLink","expandProductsButton","OrderHistoryList","_ref7","listProps","salesOrders","salesOrder","_ref8","orderHistoryProps","alert","emptyMessage","backToShoppingLink","list","table","moreButton","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","ref","inputReference","fieldErrorClassName","isInputTypeError","renderAlert","isValidInputField","OrderLookupSearchValues","OrderLookup","isEmailValue","isOrderNumberValue","orderLookupExtensibleEnum","handleSubmit","orderNumber","email","orderLookupValue","orderStatusLookUpParametersType","orderLookupName","_validateOrderLookupForm","_Msdyn365$getUrlSync","actionContextValue","orderDetailsPath","baseUrl","URL","location","origin","redirectUrl","searchParameters","searchParams","set","fieldName","StringExtensions","isNullOrWhitespace","replace","toLocaleLowerCase","fieldValue","_this$orderNumberInpu","_this$emailInputRef$c","orderNumberInputRef","current","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","EmailRegex","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","SocialShare","slots","socialShareItems","cookies","isConsentGiven","viewprops","SocialShareList","caption","orientation","SocialShareItem","tabIndex","SocialShareItemElements","SocialShareView","SocialShareElement","renderCategorySuggestionsTitle","inCategoriesHeading","categoryAutoSuggestionHeading","CategorySuggestionsComponent","noResultText","isLoadingAutoSuggest","isLoadingNode","autosuggestCategory","CategorySuggest","UlCategory","MobileAutoSuggestEmptyComponent","noSearchResultImage","Image","altText","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","isMobilePort","setIsMobile","useEffect","propsFormInput","propsFormInputCurrent","action","isMobileViewport","useCallback","isMobileView","variant","VariantType","Browser","addEventListener","viewport","onBlur","isSearchFormExpanded"],"sourceRoot":""}