{"version":3,"file":"static/js/08a31bc8679ff0796747.bundle.js","mappings":";uJAwHM,SAAUA,EAAyBC,GACrC,MAAMC,EAAS,CACXC,KAAM,IAYV,OATAF,EAAcG,SAAQC,IAElB,GAAIA,EAAUC,MAAQD,EAAUE,cAAe,CAC3C,MAAMC,EAAWC,EAAYJ,EAAUE,eACvCL,EAAOG,EAAUC,MAAQD,EAAUG,EAASE,QAC5CR,EAAOC,KAAKE,EAAUC,MAAQE,EAASG,SAIxCT,EAsEL,SAAUU,EAAsBX,GAClC,MAAMC,EAAS,GAQf,OANAD,EAAcG,SAAQC,IACdA,EAAUC,OACVJ,EAAOG,EAAUC,MAAQD,EAAUQ,cAIpCX,EAKL,SAAUY,EAA0Bb,GACtC,MAAMC,EAAS,CACXC,KAAM,IAYV,OATAF,MAAAA,GAAAA,EAAeG,SAAQC,IAEnB,GAAIA,EAAUC,MAAQD,EAAUE,cAAe,CAC3C,MAAMC,EAAWC,EAAYJ,EAAUE,eACvCL,EAAOG,EAAUC,MAAQD,EAAUU,gBAAkBP,EAASQ,gBAAkBX,EAAUU,eAAeP,EAASQ,gBAClHd,EAAOC,KAAKE,EAAUC,MAAQE,EAASG,SAIxCT,EASX,SAASO,EAAYE,GAmBjB,MAZ6B,CACzB,CAACM,EAAAA,kBAAkBC,MAAY,CAACR,OAAQ,YAAaC,KAAM,UAC3D,CAACM,EAAAA,kBAAkBE,UAAY,CAACT,OAAQ,gBAAiBC,KAAM,UAC/D,CAACM,EAAAA,kBAAkBG,UAAY,CAACV,OAAQ,sBAAuBC,KAAM,QACrE,CAACM,EAAAA,kBAAkBI,SAAY,CAACX,OAAQ,aAAcC,KAAM,UAC5D,CAACM,EAAAA,kBAAkBK,SAAY,CAACZ,OAAQ,eAAgBC,KAAM,SAAUK,eAAgB,gBACxF,CAACC,EAAAA,kBAAkBM,MAAY,CAACb,OAAQ,YAAaC,KAAM,SAAUK,eAAgB,eACrF,CAACC,EAAAA,kBAAkBO,WAAY,CAACd,OAAQ,eAAgBC,KAAM,UAAWK,eAAgB,gBACzF,CAACC,EAAAA,kBAAkBQ,OAAY,CAACf,OAAQ,YAAaC,KAAM,UAC3D,CAACM,EAAAA,kBAAkBS,OAAY,CAAChB,OAAQ,YAAaC,KAAM,WAGhDA,2CC3PZ,MAAMgB,EAAY,CACrBC,YAAa,YACbC,eAAgB,iBAChBC,yBAA0B,+BAC1BC,gBAAiB,kBACjBC,YAAa,2BACbC,WAAY,0BACZC,aAAc,4BACdC,iBAAkB,gCAClBC,qBAAsB,8BACtBC,yBAA0B,6CAC1BC,wBAAyB,4CACzBC,YAAa,mBACbC,wBAAyB,oBACzBC,sBAAuB,wBACvBC,eAAgB,oBAChBC,SAAU,gBACVC,YAAa,cACbC,UAAW,oBACXC,WAAY,kBACZC,gBAAiB,qBACjBC,eAAgB,sBAChBC,SAAU,YACVC,WAAY,cACZC,SAAU,mBACVC,WAAY,qBACZC,UAAW,2BACXC,iBAAkB,kBAClBC,gBAAiB,iBACjBC,iBAAkB,kBAClBC,oBAAqB,qBACrBC,cAAe,qBACfC,cAAe,kBACfC,SAAU,cACVC,UAAW,QACXC,WAAY,cACZC,iBAAkB,WAClBC,WAAY,cACZC,eAAgB,0BAChBC,eAAgB,4BAChBC,oBAAqB,sBACrBC,UAAW,YACXC,oBAAqB,sBACrBC,mBAAoB,qBACpBC,gBAAiB,kBACjBC,oBAAqB,sBACrBC,mBAAoB,qBACpBC,aAAc,QACdC,iBAAkB,mBAClBC,SAAU,cAMDC,EAAiB,CAC1BC,IAAK,wtBCtBF,MAAMC,UAAqBC,EAAAA,cAI9BC,YAAmBC,GACfC,MAAMD,GAHO,KAAAE,YAAyCJ,EAAAA,YAsDlD,KAAAK,yBAA2B,KAAK,IAAAC,EACZ,QAAxBA,EAAAC,KAAKH,YAAYI,eAAO,IAAAF,GAAxBA,EAA0BG,oBAsDb,KAAAC,gBAAkB,KAC/BH,KAAKI,UAASC,IAAK,CACfC,YAAaD,EAAMC,gBA1GvBN,KAAKK,MAAQ,CACTC,YAAY,GAIbC,SAAM,IAAAC,EACT,MAAMC,EAAuBC,EAAAA,gBAAgBC,YAAYX,KAAKL,MAAMiB,mBAC9DC,EAAsBH,EAAAA,gBAAgBC,YAA6C,QAAlCH,EAACR,KAAKL,MAAMmB,KAAKF,yBAAiB,IAAAJ,OAAA,EAAjCA,EAAmCO,QAC3F,IAAKN,IAAyBI,EAC1B,OAAO,KAGX,MAAMG,EAASC,EAAAA,EAAA,GACRjB,KAAKL,OAAK,IACbuB,UAAW,CACPC,YAAanB,KAAKL,MAClByB,UAAWC,GAAAA,CAAW7B,EAAa4B,UAAWpB,KAAKL,MAAM2B,OAAOF,YAEpEG,QAASvB,KAAKwB,uBAAuB,GAAGhC,EAAa4B,wBAGzD,OAAOpB,KAAKL,MAAM8B,WAAWT,GAGzBQ,uBAAuBJ,GAC3B,OACI3B,EAAAA,cAAA,OAAK2B,UAAWA,GACXpB,KAAK0B,sBAAsB,GAAGN,sBAC9BpB,KAAK2B,gBAAgB,GAAGP,gBAK7BM,sBAAsBN,GAC1B,OACI3B,EAAAA,cAACmC,EAAAA,OAAM,CACHR,UAAWA,EACXS,QAAS7B,KAAKG,gBAAe,gBACdH,KAAKK,MAAMC,WAC1BwB,MAAO9B,KAAKL,MAAMoC,UAAUC,yBAE3BhC,KAAKL,MAAMoC,UAAUC,yBAY1BL,gBAAgBP,GACpB,OACI3B,EAAAA,cAACwC,EAAAA,SAAQ,CAACb,UAAWA,EAAWc,OAAQlC,KAAKK,MAAMC,WAAY6B,IAAKnC,KAAKH,aACpEG,KAAKoC,mBAAmB,GAAGhB,oBAKhCgB,mBAAmBhB,GACvB,MAAMiB,EAAsG,QAArFC,EAAAA,EAAAA,UAAS,CAAEC,QAASC,EAAAA,YAAYC,SAAUC,QAAS1C,KAAKL,MAAM+C,QAAQC,UAE7F,OACIlD,EAAAA,cAAA,OAAK2B,UAAWA,IACViB,GACE5C,EAAAA,cAAA,OAAK2B,UAAW,GAAGA,kBACf3B,EAAAA,cAACmD,EAAAA,GAAiB,CAACC,KAAM7C,KAAKL,MAAMoC,UAAUe,+BAGrD9C,KAAK+C,cAAc,GAAG3B,wBAK3B2B,cAAc3B,GAAiB,IAAA4B,EAAAC,EAAAC,EACnC,MAAMzC,EAAuBC,EAAAA,gBAAgBC,YAAYX,KAAKL,MAAMiB,oBAE9D,aAAEuC,GAAiBnD,KAAKL,MAAMmB,KAC9BsC,GACFD,MAAAA,GAAoB,QAARH,EAAZG,EAAcpC,cAAM,IAAAiC,GAA4E,QAA5EA,EAApBA,EAAsBK,MAAMC,GAHO,2DAGgBA,EAAKvI,cAAwC,IAAAiI,OAAA,EAAhGA,EAAkGO,aAAa,EAC7GC,GAAYC,EAAAA,EAAAA,IAAazD,KAAKL,MAAM+C,QAAQC,SAElD,OADAe,EAAAA,EAAAA,mBAAkBF,GAEd/D,EAAAA,cAACkE,EAAAA,wBAAuB,CACpBvC,UAAWA,EACXsB,QAAS1C,KAAKL,MAAM+C,QACpB5B,KAAM,CACF8C,WAAYnD,EAAuBT,KAAKL,MAAMiB,kBAAqBZ,KAAKL,MAAMmB,KAAKF,kBAAmBG,OACtG8C,eAA8C,QAAhCZ,EAAEjD,KAAKL,MAAMmB,KAAK+C,sBAAc,IAAAZ,OAAA,EAA9BA,EAAgClC,OAChD+C,oBAAwD,QAArCZ,EAAElD,KAAKL,MAAMmB,KAAKgD,2BAAmB,IAAAZ,OAAA,EAAnCA,EAAqCnC,QAE9DgB,UAAW/B,KAAKL,MAAMoC,UACtBgC,kBAAmB/D,KAAKF,yBACxBkE,oCAAqCZ,EACrCI,UAAWA,KAtGAhE,EAAA4B,UAAY,mBAqHvC,yRCxGA,MAAM6C,EAAuBC,GACe,cAAjCA,EAASC,oBAAsC,eAAiB,YAGpE,SAASC,EACZzE,EACA0E,GAAgC,IAAAC,EAAAC,EAEhC,MAAM,SAAEL,GAAavE,EAIf6E,EAAsE,QAA9CF,EAAsC,QAAtCC,EAAG5E,EAAMmB,KAAK0D,gCAAwB,IAAAD,OAAA,EAAnCA,EAAqCxD,cAAM,IAAAuD,EAAAA,EAAID,MAAAA,OAAc,EAAdA,EAAgBG,yBAE1FpD,EAAY6C,EAAoBC,GACtC,IAAKM,IAA6B9D,EAAAA,gBAAgBC,YAAY6D,GAC1D,OAEJ,MAAMC,EAAoBD,EAAyBnB,MAAKqB,GAAYA,EAASC,eAAiBC,EAAAA,aAAaF,WAE3G,GAAID,EAAmB,CACnB,IAAII,EAMJ,OAJIA,EADAJ,EAAkBK,eACG,GAAG1D,sBAA8BA,qBAA6BqD,EAAkBK,eAAeC,gBAE/F,GAAG3D,qBAGxB3B,EAAAA,cAAA,OAAK2B,UAAW,GAAGA,qBACf3B,EAAAA,cAAA,QAAM2B,UAAWyD,GAAqBJ,EAAkBO,mBAQjE,SAASC,EACZtF,EACA0E,GAAgC,IAAAa,EAAAC,EAAAC,EAAAC,EAEhC,MACI/D,QAAQ,gBAAEgE,EAAkB,MAAM,SAClCpB,GACAvE,EACEyB,EAAY6C,EAAoBC,GAIhCqB,EAA+D,QAAxDL,EAA6B,QAA7BC,EAAqB,QAArBC,EAAGzF,EAAMmB,KAAKyE,eAAO,IAAAH,OAAA,EAAlBA,EAAoBrE,cAAM,IAAAoE,EAAAA,EAAId,MAAAA,OAAc,EAAdA,EAAgBkB,eAAO,IAAAL,EAAAA,OAAIM,EAEzE,OAAOD,GAAW9F,EAAAA,cAACgG,EAAAA,QAAO,CAACrE,UAAW,GAAGA,mBAA4BsE,WAAYJ,EAAiBzC,KAAkB,QAAdwC,EAAEE,EAAQxK,YAAI,IAAAsK,EAAAA,EAAI,KAGrH,SAASM,EACZhG,EACA0E,GAAgC,IAAAuB,EAAAC,EAAAC,EAEhC,MAAM,SAAE5B,GAAavE,EACfyB,EAAY6C,EAAoBC,GAIhCqB,EAA+D,QAAxDK,EAA6B,QAA7BC,EAAqB,QAArBC,EAAGnG,EAAMmB,KAAKyE,eAAO,IAAAO,OAAA,EAAlBA,EAAoB/E,cAAM,IAAA8E,EAAAA,EAAIxB,MAAAA,OAAc,EAAdA,EAAgBkB,eAAO,IAAAK,EAAAA,OAAIJ,EAEzE,OAAOD,GAAW9F,EAAAA,cAAA,KAAG2B,UAAW,GAAGA,0BAAmCmE,EAAQQ,aAS3E,SAASC,EACZrG,EACA0E,GAAgC,IAAA4B,EAAAC,EAEhC,MAAM,SAAEhC,GAAavE,EACfyB,EAAY6C,EAAoBC,GAEtC,GACIvE,EAAM+C,QAAQyD,IAAI7E,UAChB3B,EAAM+C,QAAQyD,IAAI7E,OAAO8E,0BAAkF,SAAtDzG,EAAM+C,QAAQyD,IAAI7E,OAAO8E,0BAEhF,OAKJ,MAAMb,EAAoC,QAA7BU,EAAqB,QAArBC,EAAGvG,EAAMmB,KAAKyE,eAAO,IAAAW,OAAA,EAAlBA,EAAoBnF,cAAM,IAAAkF,EAAAA,EAAI5B,MAAAA,OAAc,EAAdA,EAAgBkB,QAC9D,GAAKA,GAAYA,EAAQc,qBAKzB,OACI5G,EAAAA,cAAA,OAAK2B,UAAW,GAAGA,8BACf3B,EAAAA,cAAA,YAAO8F,EAAQc,uBANnB1G,EAAM2G,UAAUC,QAAQ,+CAWhC,IAAIC,EAcJ,MAAMC,EAAoBA,CACtB9G,EACAU,EACAqG,EACAC,EACAC,EACAC,EACAtB,EACAuB,IACE/F,IACF,IAAIgG,EACAC,EACAC,GAAyCC,EAAAA,EAAAA,IACzCnG,EACA8F,EACAlH,EAAMoC,UACNpC,EAAM+C,QACN6C,EACAuB,OACAtB,GAcJ,GAX6B,eAAzBzE,EAAOoG,cACPJ,EAAiD,eAAzBhG,EAAOoG,eAAiCC,EAAAA,EAAAA,IAAiBrG,EAAOsG,UAAW1H,EAAMoC,gBAAayD,EAE7F,qBAAzBzE,EAAOoG,gBACPpG,EAAOuG,kBACgC,gBAAtCvG,EAAOuG,iBAAiBC,WAAqE,mBAAtCxG,EAAOuG,iBAAiBC,YAEhFR,GAAwBG,EAAAA,EAAAA,IAAgBnG,EAAQ8F,EAAMlH,EAAMoC,UAAWpC,EAAM+C,QAAS6C,EAASuB,OAAqBtB,GACpHyB,OAAqBzB,GAGI,wBAAzBzE,EAAOoG,cACP,QAA+B3B,IAA3BnF,EAAMmH,kBAAkCnH,EAAMmH,kBAAoB7H,EAAM2B,OAAOmG,mBAAqBd,GAA2B,CAC/H,MAAMe,EAAsB/H,EAAM+C,QAAQiF,iBAAiBC,eACvDjI,EAAM2B,OAAOmG,mBAAqBd,GAEtCK,EAA4BrH,EAAMoC,UAAU8F,6BAA6BC,QAAQ,cAAeJ,QAC7F,GAAIrH,EAAMmH,kBAAoB7H,EAAM2B,OAAOyG,mBAAqBnB,GAA2B,CAC9F,MAAMc,EAAsB/H,EAAM+C,QAAQiF,iBAAiBC,eACvDjI,EAAM2B,OAAOyG,mBAAqBnB,GAEtCI,EAA4BrH,EAAMoC,UAAUiG,6BAA6BF,QAAQ,cAAeJ,GAIxGhB,EAAUuB,iBAAiB,CACvBC,UAAW,YACXC,cAAepB,EACfqB,gBAC6B,qBAAzBrH,EAAOoG,eACDkB,EAAAA,EAAAA,IAAmBtH,EAAOuH,kBAAmB3I,EAAMoC,UAAWwD,MAAAA,OAAO,EAAPA,EAASgD,YACvE,GACVC,kBAAmBxB,EACnByB,WAAYxB,KAUdyB,EAAoBA,CAACxE,EAAkBwC,IAAiC3F,IACzD,cAAbmD,GACAwC,EAAUiC,iBAAgB,IAI3B,SAASC,EACZjJ,EACAU,EACAqG,EACAC,EACAC,EACAvC,EACAwE,GAA8B,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAE9B,MAAM,GAAEC,EAAE,SAAErF,EAAQ,QAAExB,EAAO,UAAEX,GAAcpC,EAIvC4F,EAAoC,QAA7BuD,EAAqB,QAArBC,EAAGpJ,EAAMmB,KAAKyE,eAAO,IAAAwD,OAAA,EAAlBA,EAAoBhI,cAAM,IAAA+H,EAAAA,EAAIzE,MAAAA,OAAc,EAAdA,EAAgBkB,QAIxDsB,EAA8B,QAA1BmC,EAAkB,QAAlBC,EAAGtJ,EAAMmB,KAAK+F,YAAI,IAAAoC,OAAA,EAAfA,EAAiBlI,cAAM,IAAAiI,EAAAA,EAAI3E,MAAAA,OAAc,EAAdA,EAAgBwC,KAIlDrC,EAAsE,QAA9C0E,EAAsC,QAAtCC,EAAGxJ,EAAMmB,KAAK0D,gCAAwB,IAAA2E,OAAA,EAAnCA,EAAqCpI,cAAM,IAAAmI,EAAAA,EAAI7E,MAAAA,OAAc,EAAdA,EAAgBG,0BAE1F,SACFgF,EACAC,YAAY,gBAAErB,EAAe,cAAED,EAAa,kBAAEK,EAAiB,WAAEC,EAAU,UAAEP,GAAW,gBACxFwB,EAAe,oBACfC,EAAmB,0BACnBC,EAAyB,cACzBC,GACAxJ,EAEEyG,EAAsBzG,EAAMmE,yBAC5BnE,EAAMmE,yBAAyBsF,yBAC/BtF,GAA4BA,EAAyBuF,OAAS,EAC9DvF,EAAyB,GAAGsF,8BAC5BtE,EAEAwE,EAAqC,CACvCC,aAAclI,EAAUmI,mBACxBC,qBAAsBpI,EAAUqI,2BAChCC,uBAAwBtI,EAAUsI,uBAClCC,kBAAmBvI,EAAUwI,qBAC7BC,qBAAsBzI,EAAU0I,8BAChCC,kBAAmB3I,EAAU4I,wBAC7BC,cAAe7I,EAAU8I,UACzBC,kBAAmB/I,EAAU+I,kBAC7BC,iBAAkBhJ,EAAUgJ,iBAC5BC,kBAAmBjJ,EAAUiJ,mBAY3BC,EAAwC,cAAb/G,GAA2E,YAA/CvE,EAAMmB,KAAK0D,yBAAyB0G,OAC7FD,GACAvE,EAAUyE,yBAAwB,GAGtC,MAAMC,EAAwC,cAAblH,GAAmE,aAAb,QAA1BkF,EAAAzJ,EAAMmB,KAAKuK,uBAAe,IAAAjC,OAAA,EAA1BA,EAA4B8B,QACrFE,GAA4B1E,EAAU4E,+BACtC5E,EAAU4E,+BAA8B,GAG5C9E,GAAmB+E,EAAAA,EAAAA,oBAAmB5L,EAAM+C,QAAQC,QAAQ6I,kBAAoB7L,EAAMuE,SAAUvE,EAAM2G,WAGtG,MAAMmF,EAA0E,QAArDpC,EAAG1J,EAAM+C,QAAQgJ,cAAcC,eAAeC,eAAO,IAAAvC,OAAA,EAAlDA,EAAoDwC,sBAE5ER,EAA+B,cAAbnH,EAA2B7D,EAAMyL,uBAAmD,QAA7BxC,EAAG3J,EAAMmB,KAAKuK,uBAAe,IAAA/B,OAAA,EAA1BA,EAA4BvI,OACxGgL,EACFrL,EAAAA,gBAAgBC,YAAY0K,MAAAA,OAAe,EAAfA,EAAiBW,kBAAoBX,EAAiBW,gBAAgB,GAAGC,OAASR,EAE5GS,EAAavC,GAAoC,cAAbzF,EAE1C,MAAO,CACHiI,eAAgB,CACZ/K,UAAW,GALD6C,EAAoBC,6BAOlCkI,OAAQ7G,GACJ9F,EAAAA,cAAC4M,EAAAA,mBAAkB,CACfC,cAAevK,EAAUuK,cACzBC,eAAgBxK,EAAUwK,eAC1BC,eAAeC,EAAAA,EAAAA,IAAW,OAAQ/J,EAAQgJ,eAC1ClC,SAAUA,EACV1I,KAAM,CAAEyE,QAAAA,EAASmH,MAAOrM,EAAMsM,cAC9BjK,QAASA,EACTkK,SAAUV,EACV3C,GAAIA,EACJV,qBAAsBA,EACtB3E,SAAUA,EACV2I,QAASpG,EACL9G,EACAU,EACAqG,EACAC,EACAC,EACAC,EACAtB,EACAuB,GAEJgG,mBAAoBpD,EACpB5C,oBAAqBA,EACrBmE,yBAA0BA,EAC1BtB,oBAAqBA,EACrBwB,wBAAyBzE,EAAUyE,wBACnCC,yBAA0BA,EAC1BxB,0BAA2BA,EAC3B0B,8BAA+B5E,EAAU4E,8BACzCtB,cAAeA,EACf+C,aAAcpN,EAAM+C,QAAQC,QAAQoK,aACpCC,cAlEiC,CACzCC,UAAW,CACPC,GAAI,CAAEC,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,GACrCC,GAAI,CAAEH,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,GACrCE,GAAI,CAAEJ,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,IAEzCG,UAAU,GA6DFhH,iBAAkBA,EAClBiH,uBAAwB5D,EACxB6D,eAAgBrN,EAAMqN,eACtBC,kBAAmBtN,EAAMmH,iBACzBoG,sBAAuBvN,EAAMuN,sBAC7B7F,kBAAmBpI,EAAM2B,OAAOyG,kBAChCN,kBAAmB9H,EAAM2B,OAAOmG,kBAChCd,yBAA0BA,EAC1BC,yBAA0BA,EAC1BiH,oCAAqCC,EAAqCnO,IAAUoO,EAA+BpO,GACnHqO,6BAA8BjC,EAC9BkC,MAAOvF,EAAkBxE,EAAUwC,GACnCwH,+BAA6C,cAAbhK,IAGxCiK,WACI1O,EAAAA,cAAC2O,EAAgB,CACbhG,gBAAiBA,EACjBD,cAAeA,EACfK,kBAAmBA,EACnBC,WAAYA,EACZ1G,UAAWA,EACXsM,UAAyB,cAAdnG,KAYpB,SAASoG,EAAsB3O,EAAgDU,GAAmB,IAAAkO,EAAAC,EAAAC,EACrG,MAAM,GAAElF,EAAE,SAAErF,EAAQ,QAAExB,EAAO,UAAEX,GAAcpC,EAE7C,OACIU,EAAMsM,cACFlN,EAAAA,cAACiP,EAAAA,eAAc,CACXnF,GAAIA,EACJrF,SAAUA,EACVxB,QAASA,EACT5B,KAAM,CAAE4L,MAAOrM,EAAMsM,cACrBpH,QAA2B,QAApBgJ,EAAE5O,EAAMmB,KAAKyE,eAAO,IAAAgJ,OAAA,EAAlBA,EAAoBxN,OAC7B4N,qBACkC,QADdH,EAChB7O,EAAMmB,KAAKqC,aAAapC,cAAM,IAAAyN,GAE7B,QAF6BA,EAA9BA,EAAgCnL,MAC5BF,GAAsC,0DAAtBA,EAAapI,cAChC,IAAAyT,OAAA,EAFDA,EAEGjL,UAEPqL,oCACkC,QADCH,EAC/B9O,EAAMmB,KAAKqC,aAAapC,cAAM,IAAA0N,GAE7B,QAF6BA,EAA9BA,EAAgCpL,MAC5BF,GAAsC,oEAAtBA,EAAapI,cAChC,IAAA0T,OAAA,EAFDA,EAEGlL,UAEPsL,eAAgB,CACZC,oBAAqB/M,EAAU+M,oBAC/BC,0BAA2BhN,EAAUgN,0BACrCC,mCAAoCjN,EAAUiN,mCAC9CC,sCAAuClN,EAAUkN,sCACjDC,sCAAuCnN,EAAUmN,uCAErDtE,cAAe7I,EAAU8I,UACzBC,kBAAmB/I,EAAU+I,kBAC7BC,iBAAkBhJ,EAAUgJ,mBAMrC,SAASoE,EACZxP,EACA0E,GAAgC,IAAA+K,EAAAC,EAEhC,MAAM,GAAE9F,EAAE,SAAErF,EAAQ,QAAExB,EAAO,UAAEX,GAAcpC,EAIvC2P,EAAkD,QAApCF,EAA4B,QAA5BC,EAAG1P,EAAMmB,KAAKwO,sBAAc,IAAAD,OAAA,EAAzBA,EAA2BtO,cAAM,IAAAqO,EAAAA,EAAI/K,MAAAA,OAAc,EAAdA,EAAgBiL,eAC5E,IAAKA,IAAmBA,EAAeC,cACnC,OAAO9P,EAAAA,cAAA,YAeX,OAZIA,EAAAA,cAAC+P,EAAAA,gBAAe,CACZC,UAAWH,EAAeC,eAAiB,EAC3CG,UAAQ,EACRC,WAAWC,EAAAA,EAAAA,QAAO7N,EAAU8N,uBAAwBP,EAAeC,cAAe,KAClFO,YAAa,GAAGR,EAAeS,eAC/BjP,KAAM,GACN4B,QAASA,EACT6G,GAAIA,EACJrF,SAAUA,IAOtB,SAAS8L,EAA0CjO,GAC/C,MAAO,CACHkO,yBAA0BlO,EAAUkO,yBAEpCC,wBAAyBnO,EAAUmO,wBACnCC,4BAA6BpO,EAAUoO,4BAEvCC,gCAAiCrO,EAAUqO,gCAC3CC,iCAAkCtO,EAAUsO,iCAC5CC,sCAAuCvO,EAAUuO,sCAEjDC,oBAAqBxO,EAAUwO,oBAC/BC,wBAAyBzO,EAAUyO,wBACnCC,cAAe1O,EAAU0O,eAIjC,SAASC,EAAyC3O,GAC9C,MAAO,CACH4O,yBAA0B5O,EAAU6O,0BACpCC,wBAAyB9O,EAAU+O,mBACnCC,2BAA4BhP,EAAUgP,2BACtCC,yBAA0BjP,EAAUkP,+BAEpCC,yBAA0BnP,EAAUmP,yBAEpCC,yBAA0BpP,EAAUqP,8BACpCC,+BAAgCtP,EAAUuP,0CAIlD,SAASC,EAAgDxP,GACrD,MAAO,CACHyP,4BAA6BzP,EAAUyP,4BACvCC,2BAA4B1P,EAAU0P,2BACtCC,0CAA2C3P,EAAU2P,0CACrDC,6CAA8C5P,EAAU4P,6CACxDC,0CAA2C7P,EAAU6P,0CACrDhH,cAAe7I,EAAU8I,UACzBC,kBAAmB/I,EAAU+I,kBAC7BC,iBAAkBhJ,EAAUgJ,kBAIpC,SAAS8G,EACL9P,GAEA,MAAO,CACH+P,yBAA0B/P,EAAU+P,yBACpCC,8BAA+BhQ,EAAUgQ,8BACzCC,yBAA0BjQ,EAAUiQ,yBACpCC,+BAAgClQ,EAAUkQ,gCAWlD,MAAMC,EAA6BA,CAACxL,EAA6B3E,EAAmCwD,IAChGxE,IAEA2F,EAAUuB,iBAAiB,CACvBC,UAAW,iBACXE,gBACsB,sBAAlBrH,EAAOmK,QAAiC7C,EAAAA,EAAAA,IAAmBtH,EAAOuH,kBAAmBvG,EAAWwD,MAAAA,OAAO,EAAPA,EAASgD,YAAc,MAI5H,SAAS4J,EACZxS,EACAU,EACAqG,EACAtD,EACAI,GAAkB,IAAA4O,EAElB,MAAM,GACF7I,EAAE,SACFrF,EAAQ,QACRxB,EACA5B,MACI+C,gBAAkB9C,OAAQ8C,GAC1BC,qBAAuB/C,OAAQ+C,IAClC,UACD/B,GACApC,EAEE4F,EAA4B,QAArB6M,EAAGzS,EAAMmB,KAAKyE,eAAO,IAAA6M,OAAA,EAAlBA,EAAoBrR,QAGhC0I,YAAY,gBAAErB,EAAe,cAAED,EAAa,kBAAEK,EAAiB,WAAEC,EAAU,UAAEP,GAAW,SACxFsB,GACAnJ,EAGJ,GAAIA,EAAMuN,sBACN,OAIJ,MAAO,CACHzB,eAAgB,CACZ/K,UAAW,GAJD6C,EAAoBC,uCAMlCkI,OAAQ7G,GAAW1B,GACfpE,EAAAA,cAAC4S,EAAAA,4BAA2BC,OAAAC,OAAA,CACxBnR,UAAU,gCACVoR,6BAA8BzQ,EAAUyQ,6BACxCC,gCAAiC1Q,EAAU0Q,gCAC3CC,kCAAmC1C,EAA0CjO,GAC7E4Q,mCAAoCjC,EAAyC3O,GAC7E6Q,wCAAyCrB,EAAgDxP,GACzF8Q,uDAAwDhB,EACpD9P,GAEJjB,KAAM,CAAEyE,QAAAA,EAASiE,SAAAA,EAAU3F,eAAAA,EAAgBC,oBAAAA,GAC3CpB,QAASA,EACT6G,GAAIA,EACJrF,SAAUA,EACV2I,QAASqF,EAA2BxL,EAAW3E,EAAWwD,GAC1DuN,8BAA+BzS,EAAMuN,sBACrC5J,oCAAqCZ,GAChCA,GAAoC,CAAEI,UAAWA,KAG9D2K,WACI1O,EAAAA,cAAC2O,EAAgB,CACbhG,gBAAiBA,EACjBD,cAAeA,EACfK,kBAAmBA,EACnBC,WAAYA,EACZ1G,UAAWA,EACXsM,UAAyB,mBAAdnG,KAcpB,SAAS6K,EACZC,EACAzN,EACA/B,EACAnD,GAEA,IAAIA,EAAMuN,sBAKV,OADAlK,EAAAA,EAAAA,mBAAkBF,GACX/D,EAAAA,aAAmBuT,EAA+C,CAAEzN,QAAAA,EAAS/B,UAAAA,IAUxF,MAAMyP,EAAwBA,CAACvM,EAA6B3E,EAAmCwD,IAC3FxE,IAEA2F,EAAUuB,iBAAiB,CACvBC,UAAW,WACXE,gBACsB,qBAAlBrH,EAAOmK,QAAgC7C,EAAAA,EAAAA,IAAmBtH,EAAOuH,kBAAmBvG,EAAWwD,MAAAA,OAAO,EAAPA,EAASgD,YAAc,MAI3H,SAAS2K,EACZvT,EACAU,EACAqG,EACArC,GAAgC,IAAA8O,EAEhC,MAAM,GACF5J,EAAE,SACFrF,EAAQ,QACRxB,EACA5B,MACIsS,WAAarS,OAAQqS,IACxB,UACDrR,GACApC,EAEE4F,EAA4B,QAAlB4N,EAAAxT,EAAMmB,KAAKyE,eAAO,IAAA4N,GAAlBA,EAAoBpS,OAASpB,EAAMmB,KAAKyE,QAAQxE,OAASsD,MAAAA,OAAc,EAAdA,EAAgBkB,SAGrFkE,YAAY,gBAAErB,EAAe,cAAED,EAAa,kBAAEK,EAAiB,WAAEC,EAAU,UAAEP,GAAW,gBACxFwB,GACArJ,EAGJ,GAAIA,EAAMuN,sBACN,OAKJ,MAAO,CACHzB,eAAgB,CACZ/K,UAAW,GAJD6C,EAAoBC,iCAMlCkI,OAAQ7G,GACJ9F,EAAAA,cAAC4T,EAAAA,uBAAsB,CACnBjS,UAAU,gCACVkS,wBAAyBvR,EAAUuR,wBACnCC,6BAA8BxR,EAAUwR,6BACxCC,qBAAsBzR,EAAUyR,qBAChCC,2BAA4B1R,EAAU0R,2BACtCC,uBAAwB3R,EAAU2R,uBAClCC,4BAA6B5R,EAAU4R,4BACvCC,eAAgB7R,EAAU6R,eAC1B9S,KAAM,CAAEyE,QAAAA,EAAS6N,UAAAA,GACjB1Q,QAASA,EACT6G,GAAIA,EACJsK,SAAS,SACT3P,SAAUA,EACV2I,QAASoG,EAAsBvM,EAAW3E,EAAWwD,GACrDuH,mBAAoBpD,IAG5ByE,WACI1O,EAAAA,cAAC2O,EAAgB,CACbhG,gBAAiBA,EACjBD,cAAeA,EACfK,kBAAmBA,EACnBC,WAAYA,EACZ1G,UAAWA,EACXsM,UAAyB,aAAdnG,KAW3B,MAAM4L,EAA2BpN,GAAiCqN,IAC1DrN,EAAUsN,gBACVtN,EAAUsN,eAAeD,IAI1B,SAASE,EACZtU,EACAU,EACAqG,GAEA,MAAM,UAAE3E,EAAS,SAAEmC,GAAavE,GAE1B,SACF6J,EAAQ,IACR0K,EACAzK,YAAY,cAAEtB,IACd9H,EAEEe,EAAY6C,EAAoBC,GAEtC,MAAO,CACHiI,eAAgB,CACZ/K,UAAW,GAAGA,eAElB+S,oBAAqB,CACjBC,IAAK,QACLhT,UAAW,GAAGA,4BACdiT,QAAS,GAAGjT,6BAEhBkT,QAAS7U,EAAAA,cAAA,OAAK2B,UAAW,GAAGA,qCAA8CW,EAAUwS,wBACpFC,OAAQrM,GACJ1I,EAAAA,cAAA,QAAM2B,UAAU,iDACZ3B,EAAAA,cAAA,QAAM2B,UAAU,2BAA0B,cAAa,SACvD3B,EAAAA,cAAA,YAAO0I,IAGfsM,MACIhV,EAAAA,cAACiV,EAAAA,SAAQ,CACLnL,GAAI,GAAGnI,4BACP8S,IAAKA,EACLS,aAAcnL,EACdoL,SAAUd,EAAwBpN,GAClCmO,uBAAwB9S,EAAU8S,uBAClCrO,iBAAkBA,KAM3B,SAASsO,EACZnV,EACAoV,GAAkC,IAAAC,EAElC,MAAM,UAAEjT,EAAS,QAAEW,EAAO,SAAEwB,GAAavE,EACnC4F,EAA4B,QAArByP,EAAGrV,EAAMmB,KAAKyE,eAAO,IAAAyP,OAAA,EAAlBA,EAAoBjU,OAE9BK,EAAY6C,EAAoBC,GAOhC+Q,EACFF,IAAeG,EAAAA,EAAuBC,MAAQC,EAAAA,kBAAkBC,iBAAmBD,EAAAA,kBAAkBE,uBACnGC,GAAUC,EAAAA,EAAAA,kBAAiB,QAAShP,EAAkByO,GACtDna,GAAY2a,EAAAA,EAAAA,wBAAuBjP,EAAkB+O,GACrD1S,EAAOkS,IAAeG,EAAAA,EAAuBC,MAAQpT,EAAU2T,qBAAuB3T,EAAU4T,2BAEtG,MAAO,CACHxJ,eAAgB,CACZ/K,UAAW,GAAGA,iBAAyB2T,KAE3CN,MACIhV,EAAAA,cAACmC,EAAAA,OAAM0Q,OAAAC,OAAA,CACHzQ,MAAOe,EACPzB,UAAW,GAAGA,mBAA2B2T,WAAmB,aAChDlS,EACZhB,SArBW+T,EAqBYb,EArBuC,KACtE,MAAMc,GAAYpJ,EAAAA,EAAAA,IAAW,SAAU/J,GAAWA,EAAQgJ,eACpDoK,EAAYD,EAAWE,SAAS,KAAO,IAAM,IACnDC,SAASC,SAASC,KAAO,GAAGL,IAAYC,cAAsBvQ,GAC1DA,EAAQ4Q,2BAA2BP,OAkB3B9a,GAEH+H,IAxBU+S,IAAAA,EAmC3B,MAAMQ,EAAwB1P,GAAiC2P,IAC3D,MAAMC,EAAQD,EAAME,cAAcD,MAClC5P,EAAU8P,iBAAiBF,EAAMvM,OAAS,EAAI0M,OAAOH,GAASG,OAAOC,WAAWJ,KAG7E,SAASK,EACZhX,EACAU,EACAqG,GAEA,MAAM,OAAEpF,EAAM,UAAES,GAAcpC,GAG1B8J,eACApJ,EAEEe,EAAY6C,EAAoBtE,EAAMuE,UAE5C,MAAO,CACHiI,eAAgB,CACZ/K,UAAW,GAAGA,mBAElB+S,oBAAqB,CACjBC,IAAK,QACLhT,UAAW,GAAGA,wBACdiT,QAAS,GAAGjT,mBAEhBkT,QAAS7U,EAAAA,cAAA,OAAK2B,UAAW,GAAGA,iCAA0CW,EAAU6U,8BAChFnC,MACIhV,EAAAA,cAAA,SACIrE,KAAK,SACLgG,UAAW,GAAGA,uCACdwT,SAAUwB,EAAqB1P,GAAU,aAC7B3E,EAAU6U,6BAA4B,gBACnCtV,EAAOmG,kBAAiB,gBACxBnG,EAAOmG,kBAAiB,gBACxBpH,EAAMmH,iBACrB8O,MAAOjW,EAAMmH,iBACbqP,IAAKvV,EAAOmG,kBACZyM,IAAK5S,EAAOmG,qBAMrB,MAAM2G,EAAqD0I,IAO7D,IAP8D,UAC/DzI,EAAS,gBACTjG,EAAe,cACfD,EAAa,kBACbK,EAAiB,WACjBC,EAAU,UACV1G,GACH+U,EACOC,EAAwC,GAgB5C,OAdAA,EAAgBzE,OAAO0E,OAAO5O,GAAiB6O,QAAOC,QAAuB1R,IAAZ0R,IAE7D/O,GACA4O,EAAcI,KAAKhP,GAGnBK,GACAuO,EAAcI,KAAK3O,GAGnBC,GACAsO,EAAcI,KAAK1O,GAInBhJ,EAAAA,cAAC2X,EAAAA,MAAK,CAAClV,OAAQmM,GAAa0I,EAAchN,OAAS,EAAGsN,MAAM,SAASC,WAAS,eAAavV,EAAUwV,0BACjG9X,EAAAA,cAAA,OAAK2B,UAAU,oBAAmB,cAAa,QAC3C3B,EAAAA,cAAA,QAAM2B,UAAU,6BAChB3B,EAAAA,cAAA,YAAOsC,EAAUwV,2BAEpBR,EAAcS,KAAI,CAACN,EAASO,IAErBhY,EAAAA,cAAA,OAAKiY,IAAKD,EAAOrW,UAAU,mBACtB8V,OAQlB,SAASS,EACZhY,EACAU,GAEA,MAAM,UAAE0B,GAAcpC,GAEhB,IAAEkX,EAAG,IAAE3C,GAAQ7T,EAErB,GAAKyN,EAAqCnO,IAAWoO,EAA+BpO,GAIpF,OACIF,EAAAA,cAACmY,EAAAA,KAAI,CAACxW,UAAU,yBACXyW,EAAgBlY,EAAOuU,EAAKnS,EAAU+V,iBACtCC,EAAgBpY,EAAOkX,EAAK9U,EAAUiW,kBAK5C,MAAMC,EAAsD,kEACtDC,EACT,sEAEEL,EAAkBA,CACpBlY,EACAuU,EACA4D,KAEA,MAAM,UAAE/V,EAAS,SAAEmC,GAAavE,EAC1ByB,EAAY6C,EAAoBC,GACtC,GAAIgQ,GAAe,IAARA,GAAaA,IAAQuC,OAAO0B,UACnC,OACI1Y,EAAAA,cAAA,KAAG2B,UAAW,GAAGA,wBACb3B,EAAAA,cAAA,QAAM2B,UAAU,WAAWW,EAAUqW,qBACrC3Y,EAAAA,cAAA,KAAG2B,UAAU,iBAAgB,cAAa,SACzC0W,EAAgBhQ,QAAQ,QAASoM,EAAImE,cAOhDN,EAAkBA,CACpBpY,EACAkX,EACAmB,KAEA,MAAM,UAAEjW,EAAS,SAAEmC,GAAavE,EAC1ByB,EAAY6C,EAAoBC,GACtC,GAAI2S,GAAOA,EAAM,EACb,OACIpX,EAAAA,cAAA,KAAG2B,UAAW,GAAGA,wBACb3B,EAAAA,cAAA,QAAM2B,UAAU,WAAWW,EAAUqW,qBACrC3Y,EAAAA,cAAA,KAAG2B,UAAU,iBAAgB,cAAa,SACzC4W,EAAgBlQ,QAAQ,QAAS+O,EAAIwB,cAOhDvK,EAAwCnO,IAAuE,IAAA2Y,EAAAC,EAIjH,KAH2D,QAAjCD,EAAG3Y,EAAMmB,KAAKqC,aAAapC,cAAM,IAAAuX,GAE1D,QAF0DA,EAA9BA,EAAgCjV,MACzDF,GAAgBA,EAAapI,OAASkd,WACzC,IAAAK,OAAA,EAF4BA,EAE1B/U,WAEC,OAAO,EAEX,MAAMiV,EAAuD,QAAhBD,EAAG5Y,EAAM+C,eAAO,IAAA6V,GAAS,QAATA,EAAbA,EAAe5V,eAAO,IAAA4V,GAAK,QAALA,EAAtBA,EAAwBpS,WAAG,IAAAoS,GAAU,QAAVA,EAA3BA,EAA6BE,gBAAQ,IAAAF,OAAA,EAArCA,EAAuCG,iCACvF,GAAgD,SAA5CF,EACA,OAAO,EAGX,GAAgD,QAA5CA,EACA,OAAO,EAGX,MAAMG,EAAehZ,EAAMmB,KAAKgD,oBAAoB/C,OACpD,OACI4X,IAC8C,QAA5CH,GAAqDG,EAAaC,OACnB,QAA5CJ,IAAsDG,EAAaC,QAI1E7K,EAAkCpO,IAA2D,IAAAkZ,EAC/F,MAAMC,EAAkBnZ,EAAMmB,KAAKqC,aAAapC,OAE1CgY,EAAoCD,MAAAA,GAEzC,QAFwDD,EAAfC,EAAiBzV,MACvDF,GAAgBA,EAAapI,OAASmd,WACzC,IAAAW,OAAA,EAFyCA,EAEvCtV,UAEH,OAAOwV,MAAAA,GAAAA,6rBCt7BX,IAAIvS,EA2EG,SAASwS,EACZrZ,EACAU,EACAqG,EACArC,EACA4U,GAAuC,IAAA7T,EAAA8T,EAAAC,EAEvC,MAAM,UAAEpX,EAAS,SAAEmC,GAAavE,GAG5B8J,YAAY,gBAAErB,IACd/H,GAEE,gBAAE+Y,GAAoB1S,EAEtBhE,EAAU/C,EAAM+C,QAIhB6C,EAA4B,QAAlBH,EAAAzF,EAAMmB,KAAKyE,eAAO,IAAAH,GAAlBA,EAAoBrE,OAASpB,EAAMmB,KAAKyE,QAAQxE,OAASsD,MAAAA,OAAc,EAAdA,EAAgBkB,QAInF8T,EAA4D,QAAvCH,EAA+B,QAA/BC,EAAGxZ,EAAMmB,KAAKF,yBAAiB,IAAAuY,OAAA,EAA5BA,EAA8BpY,cAAM,IAAAmY,EAAAA,EAAI7U,MAAAA,OAAc,EAAdA,EAAgBzD,kBAGhF0Y,EAAmB3Z,EAAM+C,QAAQyD,IAAI7E,OAAOgY,iBAE5CC,EAAuB7Y,EAAAA,gBAAgBC,YAAY0Y,GAEzD,IAAK9T,IAAYgU,EACb,OAGJ,MAAMnY,EAAY6C,EAAoBC,GAEhCsV,EAAYC,MAAAA,GACdC,EAAWC,EAAcjT,EAAUkT,wBAEvCpT,GAAmB+E,EAAAA,EAAAA,oBAAmB7I,EAAQC,QAAQ6I,kBAAoB7L,EAAMuE,SAAUvE,EAAM2G,WAEhG,MAAMuT,EAAiBnX,EAAQyD,IAAI7E,OAAOuY,eAE1C,IAAIC,EAA0C,GAI9CA,EAF0BT,EAES7B,KAAIuC,IAAuB,IAAA7U,EAAA8U,EAuB1D,MAAO,CACHC,aAvBiBb,EAAgBW,EAAqBG,mBAAoBnY,GAwB1EoY,WAvBeJ,EAAqBG,mBAAmB7B,WAwBvD+B,cArBoC,QADxBlV,EAAqD,QAArD8U,EAAID,EAAqBM,oCAA4B,IAAAL,EAAAA,EACjED,EAAqBO,uBAAe,IAAApV,EAAAA,EACpC,IAC0C+R,QAC1CX,IAAK,IAAAiE,EAAAC,EAAA,OAAKC,EAAAA,iBAAiBC,kBAAgD,QAA/BH,EAAqB,QAArBC,EAAClE,EAAMqE,sBAAc,IAAAH,OAAA,EAApBA,EAAsBrE,gBAAQ,IAAAoE,EAAAA,EAAIjE,EAAMH,aAGnBqB,KAAwB6C,IAA+B,IAAAO,EAAAC,EACzH,MAAMC,EAA4D,QAA9CF,EAAGP,EAA6BM,sBAAc,IAAAC,EAAAA,EAAIP,EAChEU,GAAqBC,EAAAA,EAAAA,yCAAwCX,EAA8BR,GACjG,MAAO,CACHvD,MAA2B,QAAtBuE,EAAEC,EAAeG,aAAK,IAAAJ,EAAAA,EAAI,GAC/BtR,GAAIuR,EAAe3E,SAASkC,WAC5B6C,aAAcJ,EAAeK,aAC7BC,SAAUN,EAAeO,SACzBnP,WAAYoN,GAAoByB,IAAuBO,EAAAA,qBAAqBC,WAC5EC,oBAAqBzZ,EAAUyZ,oBAAsBzZ,EAAUyZ,oBAAsB,WAUjG,MAAMC,EAAoBxC,MAAAA,EAAAA,GAAsByC,EAAAA,EAAAA,6BAA4BhZ,EAAQC,QAAQgZ,IAAIC,YAChG,IAAK,MAAMC,KAAiB/B,EAAgB,CACxC,MAAMgC,EAA6BL,EAAkBxE,QACjD8E,GAAsBA,EAAmB7B,mBAAmB7B,aAAewD,EAAc1B,aAE7F,IAAKzZ,EAAAA,gBAAgBC,YAAYmb,GAC7B,SAEJ,MAAME,EAA4BF,EAA2B,GACvDG,EAAwBJ,EAAczB,aAAanD,QACrDiF,IAAa,IAAAC,EAAA,OACTD,EAAc5F,MAAMnS,uBAAgE,QAA7CgY,EAAKH,EAA0BrB,sBAAc,IAAAwB,GAAO,QAAPA,EAAxCA,EAA0ClB,aAAK,IAAAkB,OAAA,EAA/CA,EAAiDhY,wBAEhGzD,EAAAA,gBAAgBC,YAAYsb,KAGjCA,EAAsB,GAAGG,WAAY,GAGzC,MAAMC,EAAwDvC,EAAetC,KAAIqE,GAlJjClc,CAAAA,IAChD,MAAM2c,EAAc7F,OAAO8F,SAAS5c,EAAMwa,WAAY,IAChDqC,GAAqB5M,EAAAA,EAAAA,QAAOjQ,EAAMoC,UAAU0a,4BAA6B9c,EAAMsa,cAE/EyC,EAAe/c,EAAMyI,gBAAgBzI,EAAMwa,YAEjD,IAAIwC,EAAyBC,EAAAA,EAAcC,SAE3C,MAAMC,GAAgBC,EAAAA,EAAAA,6CAA4CT,GAE5DU,EAAkCrd,EAAM+C,QAAQyD,IAAI7E,OAAO2b,uBASjE,OAPIvc,EAAAA,gBAAgBC,YAAYqc,KAC3BA,EAAgCjH,SAASmH,EAAAA,eAAeC,OACzDH,EAAgCjH,SAAS+G,KAEzCH,EAAyBC,EAAAA,EAAcQ,QAGpC,CACHjR,eAAgB,CACZ/K,UAAW,GAAGzB,EAAMyB,uBAExB+S,oBAAqB,CACjBC,IAAK,QACLhT,UAAW,GAAGzB,EAAMyB,qCACpBiT,QAAS,GAAG1U,EAAMyB,qCAAqCzB,EAAMwa,cAEjE3F,OAAQkI,GACJjd,EAAAA,cAAA,QAAM2B,UAAU,gDAAgDic,KAAK,QAAO,YAAW,aACnF5d,EAAAA,cAAA,QAAM2B,UAAU,2BAA0B,cAAa,SACvD3B,EAAAA,cAAA,YAAOid,IAGfpI,QAAS7U,EAAAA,cAAA,WAAME,EAAMsa,cACrBqD,OACI7d,EAAAA,cAAC8d,EAAAA,EAAQ,CACLpD,WAAYxa,EAAMwa,WAClBF,aAActa,EAAMsa,aACpBuC,mBAAoBA,EACpBpC,aAAcza,EAAMya,aACpBxF,SAAUjV,EAAM6d,iBAChBhX,iBAAkBA,EAClBiX,cAAed,EACfe,YAAa/d,EAAM+C,QAAQC,QAAQ+a,gBAuGpCC,CAA0C1c,EAAAA,EAAC,GAC3C4a,GAAa,IAChB9Z,UAAAA,EACAqG,gBAAAA,EACAgR,gBAAAA,EACAoE,iBAAkBhE,EAClBpY,UAAAA,EACAsB,QAAAA,OAIR,MAAO,CACHyJ,eAAgB,CACZ/K,UAAW,GAAGA,gBAElBib,UAAAA,GAIR,MAAM3C,EAAaD,MACfE,EACAiE,WAEMA,GAAkBjE,EAAaQ,WAAYR,EAAakE,WAG5D5Z,EAAuBC,GACe,cAAjCA,EAASC,oBAAsC,eAAiB,2BC9HpE,IAAK+Q,EA0FA5P,mBA1FZ,SAAY4P,GACRA,EAAA,cACAA,EAAA,2BAFJ,CAAYA,IAAAA,EAAsB,KA0FlC,SAAY5P,GACRA,EAAA,QACAA,EAAA,QACAA,EAAA,QACAA,EAAA,QACAA,EAAA,QACAA,EAAA,QANJ,CAAYA,IAAAA,EAAe,2qBCzKpB,MAAMiY,UAAiB9d,EAAAA,cAK1BC,YAAmBC,EAAuBU,GACtCT,MAAMD,GALO,KAAAme,WAAiDre,EAAAA,YAoFjD,KAAAse,cAAgBtE,MAAAA,IAC7BzZ,KAAKI,SAAS,CAAE4d,cAAe1a,EAAK2a,SAEhCje,KAAKL,MAAMiV,gBACL5U,KAAKL,MAAMiV,SAAS,CACtBuF,WAAYna,KAAKL,MAAMwa,WACvB0D,SAAUva,EAAK2a,OACfC,cAAe5a,EAAKgT,SAKf,KAAAoD,WAAaD,MAAAA,IAC1BzZ,KAAKI,SAAS,CAAE4d,cAAe3H,EAAM8H,OAAO7H,QAExCtW,KAAKL,MAAMiV,gBACL5U,KAAKL,MAAMiV,SAAS,CACtBuF,WAAYna,KAAKL,MAAMwa,WACvB0D,SAAUxH,EAAM8H,OAAO7H,MACvB4H,cAAe7H,EAAM8H,OAAOC,aAhGpC,MAAMC,EAAere,KAAKL,MAAMya,aAAa/W,MAAKC,GAAQA,EAAK8Y,YAC3DiC,GACAre,KAAKK,MAAQ,CACT2d,cAAeK,EAAa9U,GAAG8O,YAE/BrY,KAAKL,MAAMiV,UAEX5U,KAAKL,MAAMiV,SAAS,CAChBuF,WAAYna,KAAKL,MAAMwa,WACvB0D,SAAUQ,EAAa9U,GACvB2U,cAAeG,EAAa/H,SAIpCtW,KAAKK,MAAQ,CACT2d,cAAe,IAGvBhe,KAAKuV,SAAUC,EAAAA,EAAAA,kBAAiB,QAAS7V,EAAM6G,iBAAmBxG,KAAKL,MAAMsa,cAG1E1Z,SACH,OAAIP,KAAKL,MAAM+d,aAAe1d,KAAKL,MAAM8d,gBAAkBb,EAAAA,EAAcQ,OAC9Dpd,KAAKse,gBAGTte,KAAKue,kBAGRA,kBACJ,MAAM,WAAEpE,EAAU,aAAEC,EAAY,aAAEH,EAAY,mBAAEuC,GAAuBxc,KAAKL,MACtE7E,GAAY2a,EAAAA,EAAAA,wBAAuBzV,KAAKL,MAAM6G,iBAAmBxG,KAAKuV,SAC5E,OACI9V,EAAAA,cAAA,SAAA6S,OAAAC,OAAA,CACIhJ,GAAI,uBAAuB4Q,IAC3BhY,IAAKnC,KAAK8d,WAAU,aACR7D,EACZ7Y,UAAU,uBACVwT,SAAU5U,KAAK0Z,YACX5e,GAEJ2E,EAAAA,cAAA,UAAQ6W,MAAM,GAAE,gBAA6C,KAA7BtW,KAAKK,MAAM2d,cAAsBQ,SAAuC,KAA7Bxe,KAAKK,MAAM2d,cAAsBS,QAAM,EAAC7R,UAAQ,GACtH4P,GAEJpC,EAAa5C,KACTlU,GACGA,GACI7D,EAAAA,cAAA,UACI6W,MAAOhT,EAAKiG,GACZmO,IAAKpU,EAAKiG,GACViV,SAAUxe,KAAKK,MAAM2d,gBAAkB1a,EAAKiG,GAAG8O,WAAU,gBAC1CrY,KAAKK,MAAM2d,gBAAkB1a,EAAKiG,GAAG8O,WACpDjX,UAAWkC,EAAK4I,WAAa,sCAAmC1G,GAE/DlC,EAAKgT,UAQ1BgI,gBACJ,MAAMI,EAAc1e,KAAKL,MAAMya,aAAa5C,KAAiBlU,GACzDrC,EAAAA,EAAA,GACOqC,GAAI,IACP2a,OAAQ3a,EAAKiG,GACbuT,cAAe9c,KAAKL,MAAMsa,iBAGlC,OAAOxa,EAAAA,cAACkf,EAAAA,gBAAe,CAACC,KAAMF,EAAahB,YAAa1d,KAAKL,MAAM+d,YAAcmB,aAAc7e,KAAK+d,iCC/FrG,IAAKnB,mBAAZ,SAAYA,GACRA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,mBAFJ,CAAYA,IAAAA,EAAa,sUC6DlB,SAASxV,EAAiBC,EAA+BtF,GAC5D,OAAKsF,GAAaA,GAAa,EACpBtF,EAAU+c,uBACI,IAAdzX,EACAtF,EAAUgd,8BAEdhd,EAAUid,6BAA6BlX,QAAQ,YAAaT,EAAUgR,YAG1E,SAASnR,EACZnG,EACA8F,EACA9E,EACAW,EACA6C,EACAuB,EACAmP,GAEA,GAA6B,eAAzBlV,EAAOoG,cACP,OAAOpF,EAAUkd,0BACd,GAA6B,qBAAzBle,EAAOoG,cAAsC,CAAC,IAAD+X,EAmBlDC,EAlBF,GAAIpe,EAAOuG,kBAA0D,gBAAtCvG,EAAOuG,iBAAiBC,UAA6B,CAEhF,MAAM6X,EA/CX,SACHvY,EACAtB,EACA0Q,GAGA,IAAImJ,GAA0B,EAE9B,MAAMC,EAAkB9Z,MAAAA,OAAO,EAAPA,EAAS4Q,SAEjC,IAAK,IAAIsB,EAAQ,EAAGA,EAAQ5Q,EAAMA,KAAKyY,UAAWvV,OAAQ0N,IACtD,GACI5Q,EAAMA,KAAKyY,UAAW7H,GAAO8H,YAAcF,IAC1CxY,EAAMA,KAAKyY,UAAW7H,GAAO+H,oBAAsB,QAASvJ,MAAAA,OAAQ,EAARA,EAAUwJ,gBAAiB,IAC1F,CACEL,EAAiB3H,EAEjB,MAIR,OAAO2H,EA0BgCM,CAAgB7Y,EAAMtB,EAAS0Q,GAE9D,IAAI0J,EAA0B,EAC9B,IAAwB,IAApBP,EAAuB,CAAC,IAADQ,EAEvBD,EAA2C,QAA5BC,uWADO3e,CAAA,GAAQ4F,EAAMA,KAAKyY,UAAWF,IACjB1K,gBAAQ,IAAAkL,EAAAA,EAAI,EAInD,MAAMC,EArFX,SAA0Bnd,EAAuCoE,GAGpE,MAAMgZ,EAAiDpd,EAAQyD,IAAI7E,OAAOwe,2BACpEC,EAAejZ,MAAAA,OAAmB,EAAnBA,EAAqBkZ,kBAG1C,IAAIH,EAYJ,OATIA,OAD+Bra,IAA/Bsa,QAA6Dta,IAAjBua,EAJnB,QAMDva,IAAjBua,EACSD,MAAAA,EAAAA,EAPS,QAQata,IAA/Bsa,EACSC,EAEAE,KAAKpJ,IAAIiJ,EAA4BC,GAGlDF,EAkEuBK,CAAiBxd,EAASoE,GAChD,OAAO/E,EAAUoe,qBACZrY,QAAQ,gBAAiB6X,EAAgBtH,YACzCvQ,QAAQ,gBAAiB+X,EAAcxH,YACzC,OACHtX,EAAOuG,kBACgC,mBAAtCvG,EAAOuG,iBAAiBC,WAAwE,kBAAtCxG,EAAOuG,iBAAiBC,UAK5D,QAAvB2X,EAAAne,EAAOuG,wBAAgB,IAAA4X,GAAvBA,EAAyBkB,mBAAqB1f,EAAAA,gBAAgBC,YAAYI,EAAOuG,iBAAiB8Y,mBAC3Frf,EAAOuG,iBAAiB8Y,kBAC1B5I,KAAIlU,IAAO,IAAA+c,EACR,OAAOC,EAAAA,iBAAiBC,cAAcjd,EAAKkd,kBACpB,QADqCH,EACtD/c,EAAKmd,oBAAY,IAAAJ,EAAAA,EAAI/c,EAAKod,gBAC1Bpd,EAAKkd,oBAEdnI,WAGFtW,EAAUkd,0BAb8B,QAA3CE,EAAOpe,EAAOuG,iBAAiBqZ,oBAAY,IAAAxB,OAAA,EAApCA,EAAsCqB,kBAmBlD,SAASnY,EACZtH,EACAgB,EACA6e,GAEA,IAAK7f,EACD,MAAO,GAGX,MAAM6C,EAA4D,GAElE,IAAK,MAAMid,KAAa9f,EACpB6C,EAAWid,EAAU3G,oBAAsB4G,EAAwBD,EAAU3G,mBAAoBnY,EAAW6e,GAGhH,OAAOhd,EAGJ,SAASkd,EAAwBC,EAA4Bhf,EAAmC6e,GACnG,OAAQG,GACJ,KAAK,EACD,OAAOhf,EAAUif,sCACrB,KAAK,EACD,OAAOjf,EAAUkf,8CACrB,KAAK,EACD,OAAOlf,EAAUmf,qCACrB,KAAK,EACD,OAAON,EAAa7e,EAAUof,uCAAyCpf,EAAUqf,sCACrF,QACI,MAAO,kaCmBK3hB,IAAAA,yOCpJxB,MAAM4hB,EAAgE5hB,EAAAA,YAkChE6hB,EAA4BA,CAAC3hB,EAAkCU,EAAqBqG,IAAgC+S,gBA6R1HA,eAAkC9Z,EAAkCU,EAAqBqG,GAA2B,IAAA6a,EAChH,MACIzgB,MACI0gB,2BAA6BzgB,OAAQygB,GACrC3a,MAAQ9F,OAAQ8F,GAChBrC,0BAA4BzD,OAAQyD,IACvC,UACDzC,EAAS,QACTW,EAAO,QACP+e,GACA9hB,GAEE,gBAAE+J,EAAe,SAAEF,GAAanJ,EAEtC,IAAIqhB,EAAc/hB,EAAMmB,KAAKyE,QAAQxE,OACrC,MAAM4gB,EAAgC,kEAChCC,EAA8C,QAAbL,EAAG5hB,EAAMmB,YAAI,IAAAygB,GAAc,QAAdA,EAAVA,EAAYpe,oBAAY,IAAAoe,GAAQ,QAARA,EAAxBA,EAA0BxgB,cAAM,IAAAwgB,GAEzE,QAFyEA,EAAhCA,EAAkCle,MACvEF,GAA+BA,EAAapI,OAAS4mB,WACzD,IAAAJ,OAAA,EAFyCA,EAEvChe,UAECmG,IACAgY,QAAqBhY,GAAoBgY,GAG7C,IAAKA,IAAgBF,EACjB,OAGJ,MAAMjc,EAAUmc,EAEVpZ,EACF/C,EAAQsc,YACRtc,EAAQsc,WAAW5K,QAAQ4J,KAAkCA,EAAUlG,gBAAkBkG,EAAUlG,eAAeM,SAEtH,IAAI6G,EAA0B,GAC1BL,GAAWnP,OAAOyP,KAAKN,GAAS1X,OAAS,GAAK0X,EAAQO,eAAiBP,EAAQO,cAAcjY,OAAS,IACtG+X,EAAkBL,EAAQO,cAAc,GAAGzY,IAG3CjB,GAAqBA,EAAkByB,OAAS,EAC5CrD,EAAUuB,kBACVvB,EAAUuB,iBAAiB,CACvBC,UAAW,cACXE,iBAAiBC,EAAAA,EAAAA,IAAmBC,EAAmBvG,KAI/Dyf,EACKS,WAAW,CACR1c,QAAAA,EACAgE,GAAIuY,EACJI,iBAAkBb,EAClBhW,gBAAiBuW,EAAoCjiB,EAAMmB,KAAKuK,gBAAgBtK,YAASyE,EACzF2c,mBAAoB1I,MAAO2I,EAAkCC,KAAwB,IAAA9J,EACjF,IAAK1R,EACD,OAAOyb,QAAQC,UAGnB,MAAMC,EAAwB,QAAhBjK,EAAG5Y,EAAM+C,eAAO,IAAA6V,GAAK,QAALA,EAAbA,EAAepS,WAAG,IAAAoS,GAAQ,QAARA,EAAlBA,EAAoBjX,cAAM,IAAAiX,OAAA,EAA1BA,EAA4BkK,kBAE7C,OAAO5b,EACF6b,iBAAiB,CAAEnd,QAAAA,EAASod,MAAOnZ,EAAUyM,SAAUmM,EAAiBC,aAAAA,IACxEO,MAAM7hB,IACH,GAAsB,WAAlBA,EAAOmK,QAA4C,gBAArBnK,EAAOwG,UAA6B,CAElE,IAAIT,EACJ,GAFAJ,EAAUiC,iBAAgB,GAEtBtI,EAAMmE,yBACNsC,EAAsBzG,EAAMmE,yBAAyBsF,8BAClD,GAAItF,GAA4B9D,EAAAA,gBAAgBC,YAAY6D,GAA2B,CAC1F,MAAMC,EAAoBD,EAAyBnB,MAC/CqB,GAAYA,EAASC,eAAiBC,EAAAA,aAAaie,SAEvD/b,EAAsBrC,MAAAA,OAAiB,EAAjBA,EAAmBqF,8BAEzChD,OAAsBtB,EAE1B,MAAMsd,EAAyC,CAC3C3b,cAAe,mBACfG,iBAAkB,CAAE4D,OAAQnK,EAAOmK,OAAQ3D,UAAWxG,EAAOwG,YAEjEb,EAAUuB,iBAAiB,CACvBC,UAAW,YACXE,gBAAiB,GACjBK,YAAYvB,EAAAA,EAAAA,IACR4b,EACAjc,EACA9E,EACAW,EACA6C,EACAuB,EACAsb,SAGL,CACH1b,EAAUuB,iBAAiB,CACvBG,gBAAiB,KAErB,MAAMoE,GAAgBC,EAAAA,EAAAA,IAAW,OAAQ/J,EAAQgJ,eACjD,QAAiBlG,IAAbgd,GAA0BA,IAAaO,EAAAA,kBAAkBC,SACnC,YAAlBjiB,EAAOmK,QAAwBsB,GAC/ByW,OAAOhN,SAAS1D,OAAO/F,QAExB,GAAIgW,IAAaO,EAAAA,kBAAkBG,UACtCxc,EAAUiC,iBAAgB,QACvB,GAAI6Z,IAAaO,EAAAA,kBAAkBI,iBAAkB,CAAC,IAADC,EACxD,MAAMC,EAAuC,CACzCpW,UAAW,CACPC,GAAI,CAAEC,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,GACrCC,GAAI,CAAEH,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,GACrCE,GAAI,CAAEJ,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,IAEzCG,UAAU,GAERhH,GAAmB+E,EAAAA,EAAAA,oBACrB5L,EAAM+C,QAAQC,QAAQ6I,kBACtB7L,EAAM2jB,aACN3jB,EAAM2G,WAEJ0D,EAAqC,CACvCC,aAAclI,EAAUmI,mBACxBC,qBAAsBpI,EAAUqI,2BAChCC,uBAAwBtI,EAAUsI,uBAClCC,kBAAmBvI,EAAUwI,qBAC7BC,qBAAsBzI,EAAU0I,8BAChCC,kBAAmB3I,EAAU4I,wBAC7BC,cAAe7I,EAAU8I,UACzBC,kBAAmB/I,EAAU+I,kBAC7BC,iBAAkBhJ,EAAUgJ,iBAC5BC,kBAAmBjJ,EAAUiJ,mBAE3B2O,EAAe,IAAI4J,EAAAA,wCACrB5jB,EAAM+C,QACNsH,EACAqZ,EACA1jB,EAAM+C,QAAQC,QAAQoK,aACtBxH,EACuB,QADhB6d,EACPzjB,EAAMmB,KAAK6L,oBAAY,IAAAyW,OAAA,EAAvBA,EAAyBriB,OACzByI,EACAgD,EACAhG,EACA7G,EAAM4J,GACN5J,EAAMuE,UAEVsf,EAAAA,qBAAqBC,WAAWC,gBAAgB/J,QAI3DgK,OAAOC,IACAjkB,EAAM2G,YACN3G,EAAM2G,UAAUud,UAAUD,GAC1BjkB,EAAM2G,UAAUwd,MAAM,wCAKzCH,OAAOC,IACAjkB,EAAM2G,YACN3G,EAAM2G,UAAUsd,MAAMA,EAAM1M,SAC5BvX,EAAM2G,UAAUwd,MAAM,+BA1bhCC,CAAmBpkB,EAAOU,EAAOqG,IAgGpC,SAASsd,EACZrkB,EACAU,EACAqG,GAA2B,IAAAud,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAApf,EAAAqf,EAE3B,MAAM,KACF3jB,EACA4jB,OAAO,cAAE1C,GACTjgB,WAAW,UACP8I,EAAS,kBACTC,EAAiB,iBACjBC,EAAgB,sBAChB4Z,EAAqB,mBACrBza,EAAkB,2BAClBE,EAA0B,uBAC1BC,EAAsB,qBACtBE,EAAoB,8BACpBE,EAA6B,wBAC7BE,EAAuB,sCACvBia,GAEJliB,SACIC,SAAWiJ,SAAS,uBAAEiZ,GAA2B,CAAEA,4BAAwBrf,MAE/E7F,EAGE4F,EAAUzE,MAAAA,GAAa,QAATmjB,EAAJnjB,EAAMyE,eAAO,IAAA0e,OAAA,EAAbA,EAAeljB,OACzB2L,EAAQ5L,MAAAA,GAAkB,QAAdojB,EAAJpjB,EAAM6L,oBAAY,IAAAuX,OAAA,EAAlBA,EAAoBnjB,OAC5B8F,EAAO/F,MAAAA,GAAU,QAANqjB,EAAJrjB,EAAM+F,YAAI,IAAAsd,OAAA,EAAVA,EAAYpjB,OACnBsK,EAAkBvK,MAAAA,GAAqB,QAAjBsjB,EAAJtjB,EAAMuK,uBAAe,IAAA+Y,OAAA,EAArBA,EAAuBrjB,OACzC+F,EAAmD,QAAhCud,EAAGvjB,EAAK0D,gCAAwB,IAAA6f,OAAA,EAA7BA,EAA+BtjB,OACrD6gB,EAAoC9gB,MAAAA,GAAkB,QAAdwjB,EAAJxjB,EAAMqC,oBAAY,IAAAmhB,GAAQ,QAARA,EAAlBA,EAAoBvjB,cAAM,IAAAujB,GAEnE,QAFmEA,EAA1BA,EAA4BjhB,MACjEF,GAPiC,oEAOFA,EAAapI,cAChD,IAAAupB,OAAA,EAFyCA,EAEvC/gB,UACGuhB,EAA8BhkB,MAAAA,GAAiC,QAA7ByjB,EAAJzjB,EAAMgkB,mCAA2B,IAAAP,OAAA,EAAjCA,EAAmCxjB,OAEjEuH,EAAoB/C,MAAAA,GAAmB,QAAZif,EAAPjf,EAASsc,kBAAU,IAAA2C,OAAA,EAAnBA,EAAqBvN,QAAO4J,IAAS,IAAAkE,EAAA,QAA6B,QAAzBA,EAAClE,EAAUlG,sBAAc,IAAAoK,GAAxBA,EAA0B9J,WAG1FxR,YAAY,gBAAErB,EAAe,cAAED,EAAa,WAAEM,EAAU,UAAEP,GAAW,UACrE8c,EAAS,SACTxb,GACAnJ,GAEE,kBAAE4kB,EAAiB,WAAEC,EAAU,YAAEC,GAxH3C,SACIziB,EACA0iB,EACAte,EACAue,EACAC,GAKA,IAAIL,EACAC,EACAC,EAEAI,EAEJ,OAAKH,GAAgBE,EACV,CACHL,mBAAmB,EACnBC,WAAYG,EAAgBG,oBAC5BL,YAAaE,EAAgBI,6BAIjC3e,IACAye,EAAkBze,EAAoBzD,MAAKwf,GAAUA,EAAOle,eAAiBC,EAAAA,aAAaie,WAK1F6C,EAAAA,EAAAA,uBAAsBhjB,EAAQgJ,eAC1B5E,GAAsC,QAAnB6e,EAAIJ,SAAe,IAAAI,GAAfA,EAAiBC,oBACxCX,GAAoB,EACpBC,EAAaG,EAAgBG,oBAC7BL,EAAcE,EAAgBI,6BAE9BR,GAAoB,EACpBC,EAAaG,EAAgBQ,kCAC7BV,EAAcE,EAAgBS,qCAGlCb,GAAoB,EACpBC,EAAaG,EAAgBG,oBAC7BL,EAAcE,EAAgBI,4BAG3B,CACHR,kBAAAA,EACAE,YAAAA,EACAD,WAAAA,IAnB+C,IAADS,EA0FKI,CACnDpmB,EAAM+C,QACN/C,EAAM+C,QAAQyD,IAAI7E,OAAOgY,iBACzBxS,EACAnH,EAAMoC,UACyC,YAA/CpC,EAAMmB,KAAK0D,yBAAyB0G,QAAwBxK,EAAAA,gBAAgBC,YAAY2H,IAG5F,IAAK/C,IAAY7E,EAAAA,gBAAgBC,YAAYqhB,GACzC,OAGJ,IAAK3W,IAAoBA,EAAgBW,gBACrC,OAKJ,GAAI4V,GAAqCkD,GACrC,IAhFqBkB,EACzBC,EACAC,KAEA,MAAMC,EAA2B,GASjC,OARAF,MAAAA,GAAAA,EAAwBzO,KAAI4O,IACxB,MAAMvD,EAASqD,MAAAA,OAAqB,EAArBA,EAAuB7iB,MAAKgjB,GAAgBA,IAAiBD,EAASna,OAIrF,OAHI4W,GACAsD,EAAehP,KAAK0L,GAEjBsD,KAGJzlB,EAAAA,gBAAgBC,YAAYwlB,IAmE1BH,CAAqB3a,EAAgBW,gBAAiB8Y,MAAAA,OAA2B,EAA3BA,EAA6BwB,yBACpF,YAED,IACFzB,IACAxZ,EAAgBW,gBAAgB3I,MAAMkjB,GAA2BA,EAAOta,OAAS4Y,IAElF,OAGJ,MAAM7a,EAAgB,CAClBC,aAAcC,EACdC,qBAAsBC,EACtBC,uBAAAA,EACAC,kBAAmBC,EACnBC,qBAAsBC,EACtBC,kBAAmBC,EACnBC,cAAeC,EACfC,kBAAAA,EACAC,iBAAAA,GAGEyb,EAAiB9Z,EACnBjN,EAAAA,cAACiP,EAAAA,eAAc,CACX5N,KAAM,CAAE4L,MAAAA,GACRhK,QAAS/C,EAAM+C,QACf6G,GAAI5J,EAAM4J,GACVrF,SAAUvE,EAAMuE,SAChB0G,cAAeZ,EAAcY,cAC7BE,kBAAmBd,EAAcc,kBACjCC,iBAAkBf,EAAce,mBAGpC,GAYE0b,GAA0B,CAC5B/jB,QAAS/C,EAAM+C,QACftB,UAAW,YACXmI,GAAI5J,EAAM4J,GACVrF,SAAUvE,EAAMuE,SAChBpD,KAAM,CAAEyE,QAA2B,QAApBH,EAAEzF,EAAMmB,KAAKyE,eAAO,IAAAH,OAAA,EAAlBA,EAAoBrE,OAAQ2L,MAA8B,QAAzB+X,EAAE9kB,EAAMmB,KAAK6L,oBAAY,IAAA8X,OAAA,EAAvBA,EAAyB1jB,QAC7EiJ,cAAAA,EACAgD,cAhByC,CACzCC,UAAW,CACPC,GAAI,CAAEC,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,GACrCC,GAAI,CAAEH,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,GACrCE,GAAI,CAAEJ,EAAG,kBAAmBC,EAAG,EAAGC,EAAG,IAEzCG,UAAU,GAWVT,aAAcpN,EAAM+C,QAAQC,QAAQoK,aACpC2Z,gBAAiBld,EACjBgd,eAAAA,EACAha,eAAeC,EAAAA,EAAAA,IAAW,OAAQ9M,EAAM+C,QAAQgJ,eAChDsZ,UAAAA,EACA2B,aAAcjgB,EAAUiC,iBAEtBie,GAAmBnnB,EAAAA,cAAConB,EAAAA,MAAKvU,OAAAC,OAAA,GAAKkU,KAEpC,MAAO,CACHta,eAAgB,CACZ/K,UAAW,4BAGf4gB,cAAeA,EAAc,GAE7B8E,sBAAuBxF,EAA0B3hB,EAAOU,EAAOqG,GAE/D4N,QAAS7U,EAAAA,cAACgG,EAAAA,QAAO,CAACrE,UAAU,mCAAmCsE,WAAW,KAAK7C,KAAM8hB,IAErFQ,YAAa1lB,EAAAA,cAAA,KAAG2B,UAAU,wCAAwC+jB,GAClE4B,wBACInF,IAAsCqD,EAClCxlB,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAAA,KAAG2B,UAAU,wCAAwCwjB,GACrDnlB,EAAAA,cAAA,MAAI2B,UAAU,kCAAiC,aAAawjB,GACvDvZ,EAAgBW,gBAAgBwL,KAAKlU,GAE9B7D,EAAAA,cAAA,MAAI2B,UAAU,yCAAwC,aAAakC,EAAKyC,YAAa2R,IAAKpU,EAAK2I,MAC1F3I,EAAKyC,iBAM1B,KACRyO,OACI/U,EAAAA,cAAC2O,EAAAA,GAAgB,CACbhG,gBAAiBA,EACjBD,cAAeA,EACfM,WAAYA,EACZ1G,UAAWpC,EAAMoC,UACjBsM,UAAyB,gBAAdnG,IAInBkE,OACI3M,EAAAA,cAAA,UACI2B,UAAU,kCACVS,QAASyf,EAA0B3hB,EAAOU,EAAOqG,GACjD2Q,MAAM,YACNlV,IAAKkf,EAAyB,aAClB6D,EACZtY,cAAmBpH,IAATqB,GAAsBoe,EAChCnjB,MAAOojB,GAENA,GAIT8B,MAAOJ,slBCrNf,MAAMK,UAAexnB,EAAAA,cAiFjBC,YAAmBC,EAAkCU,GACjDT,MAAMD,GA1EO,KAAAunB,qBAA4C,IAAIC,EAAAA,mBAAyB,GAElF,KAAAvjB,WAAuC,GAE9B,KAAAwjB,gBAAoC,CACjDpT,eAAiBqT,IACb,MAAM5d,EAAUxI,EAAA,GAAQjB,KAAKK,MAAMoJ,YAKnC,OAJAA,EAAWtB,mBAAgB3C,EAC3BiE,EAAWhB,gBAAajD,EAExBxF,KAAKI,SAAS,CAAEoJ,SAAU6d,EAAa5d,WAAAA,KAChC,GAEXxB,iBAAmBqf,IACftnB,KAAKI,SAAS,CAAEqJ,WAAY6d,KAEhCC,sBAAuBA,CACnBC,EACAC,EACAC,EACAC,KAEA3nB,KAAKI,SAAS,CACVsJ,gBAAiB8d,EACjBhjB,yBAA0BijB,EAC1B3b,uBAAwB6b,IAE5B3nB,KAAK4nB,aAAaF,IAEtB9N,uBAAwBH,MAAOoO,EAA6BC,KACxD9nB,KAAK4D,WAAWikB,GAAuBC,EAChC9nB,KAAKknB,qBACPa,SAAQtO,SACEzZ,KAAKgoB,sBAEfrE,OAAOC,IAEJ,GAAIA,IAAUqE,EAAAA,wBAAwBC,gCAClC,MAAMtE,MAItBxK,gBAAiBA,CAAC0D,EAAuB/a,IAC9B/B,KAAKmoB,iBAAiBrL,EAAe/a,GAEhD4G,gBAAkByf,IACdpoB,KAAKI,SAAS,CAAE4kB,UAAWoD,KAE/Bjd,wBAA0BxB,IACtB3J,KAAKI,SAAS,CAAEuJ,oBAAAA,KAQpB2B,8BAAgC1B,IAC5B5J,KAAKI,SAAS,CAAEwJ,0BAAAA,KAGpB4M,iBAAmB6R,IAEf,MAAM5e,EAAUxI,EAAA,GAAQjB,KAAKK,MAAMoJ,YACnCA,EAAWjB,uBAAoBhD,EAE/BxF,KAAKI,SAAS,CAAEsN,gBAAgB,EAAMlG,iBAAkB6gB,EAAa5e,WAAAA,IACrEzJ,KAAK4nB,aAAa5nB,KAAKK,MAAMsM,aAAc0b,KA6KlC,KAAAC,yBAA4BC,GAAgC,KACzE,MAAMC,EAAeD,EAAmBE,wBAClCC,EAAUF,EAAaG,KAAO1F,OAAO2F,YACrCC,EAAUL,EAAaM,IAAM7F,OAAO8F,YAE1C9F,OAAO+F,SAASN,EAASG,IAEZ,KAAAI,yCAA2C,KACxD,IAAIjlB,GAAsC,EACP,IAADklB,EAA9BlpB,KAAKL,MAAMmB,KAAKqC,eAChBa,GACuC,QAAnCklB,EAAAlpB,KAAKL,MAAMmB,KAAKqC,aAAapC,cAAM,IAAAmoB,GAElC,QAFkCA,EAAnCA,EAAqC7lB,MACjC8lB,GAA4B,2DAAjBA,EAAQpuB,cACtB,IAAAmuB,OAAA,EAFDA,EAEG3lB,aAAa,GAExB,OAAOS,GAwFM,KAAAgkB,kBAAoBvO,UACjC,MAAMlU,EAAUvF,KAAKL,MAAMmB,KAAKyE,QAAQxE,OAElCH,EAAoBZ,KAAKL,MAAMmB,KAAKF,kBAAkBG,OAEtDwY,EAAuB7Y,EAAAA,gBAAgBC,YAAYC,GAEzD,IAAK2E,IAAYgU,EACb,OAGJ,MAAM6P,EAAkBnoB,EAAA,GAAkCjB,KAAK4D,YAK/D,GAHA5D,KAAKI,SAAS,CAAEuJ,qBAAqB,EAAMC,2BAA2B,IAGlE5J,KAAKK,MAAMoJ,WAAWhB,YAAczI,KAAKK,MAAMoJ,WAAWtB,cAAe,CACzE,MAAMkhB,EAAepoB,EAAA,GAAQjB,KAAKK,MAAMoJ,YACxC4f,EAAgB5gB,gBAAajD,EACW,cAApCxF,KAAKK,MAAMoJ,WAAWvB,YACtBmhB,EAAgBlhB,mBAAgB3C,EAChC6jB,EAAgBnhB,eAAY1C,GAEhCxF,KAAKI,SAAS,CAAEqJ,WAAY4f,IAIhC,IAAK,MAAM3R,KAAOpF,OAAOyP,KAAKqH,GACtBppB,KAAKK,MAAMoJ,WAAWrB,gBAAgBsP,IACtC1X,KAAKI,UAASkpB,IACV,MAAM7f,EAAa6f,EAAc7f,WAEjC,OADAA,EAAWrB,gBAAgBsP,QAAOlS,EAC3B,CAAEiE,WAAAA,MAKrB,MAAM3I,EAAOd,KAAKupB,mBAAmBH,GAC/BI,QAA6C1oB,EAAK2oB,sBAExD,IAAKD,EACD,OAGJ,MAAME,EAA4B,CAC9B1pB,KAAK2pB,iCAAiCH,EAAgB1oB,EAAK8oB,kBAC3D5pB,KAAK6pB,sBAAsBL,GAC3BxpB,KAAK8pB,cAAcN,GACnBxpB,KAAK+pB,wBAAwBP,GAC7BxpB,KAAKgqB,yBAAyBR,UAG5BlH,QAAQ2H,IAAIP,IAoIL,KAAAvB,iBAAmB,CAACrL,EAAuB/a,KAAuC,IAAAvB,EAC/F,MAAMogB,EAA2C,QAAjCpgB,EAAGR,KAAKL,MAAMmB,KAAKyE,QAAQxE,cAAM,IAAAP,OAAA,EAA9BA,EAAgC+H,WAEnD,OAAQuU,GACJ,KAAK,EACD,OAAO/a,EAAUmoB,0BACrB,KAAK,EACD,OAAOnoB,EAAUooB,kCACrB,KAAK,EACD,OAAOpoB,EAAUqoB,yBACrB,KAAK,EACD,OAAOxJ,EAAa7e,EAAUsoB,2BAA6BtoB,EAAUuoB,0BACzE,QACI,MAAO,KAjdftqB,KAAKK,MAAQ,CACToJ,WAAY,CACRrB,gBAAiB,IAErBoB,SAAU,EACVqN,SAAKrR,EACL0O,SAAK1O,EACLkE,qBAAiBlE,EACjBmH,kBAAcnH,EACdsG,4BAAwBtG,EAExBwf,WAAW,EACXrb,qBAAqB,EACrBC,2BAA2B,EAC3B2gB,kBAAkB,GAEtBvqB,KAAKwG,kBAAmB+E,EAAAA,EAAAA,oBAAmB5L,EAAM+C,QAAQC,QAAQ6I,kBAAoB7L,EAAM2jB,aAAc3jB,EAAM2G,WAG5G,0BACH,MACIxF,MACIyE,SAAWxE,OAAQwE,GAAS,aAC5BoH,GACH,QACDjK,GACA1C,KAAKL,MAMTK,KAAKI,SAAS,CAAEmqB,kBAAkB,IAElC5d,EAAaiW,MAAKnJ,MAAAA,IACdzZ,KAAK4nB,aAAa7mB,MAGlBwE,IAEIA,EAAQilB,gBAAkBC,EAAAA,oBAAoBC,SAC9C1qB,KAAKI,SAAS,CAAEyJ,eAAe,UAE7B7J,KAAKgqB,yBAAyBzkB,IAGpCA,GAAW7C,EAAQyD,IAAI7E,OAAOqpB,4BAA8B,GAC5DC,EAAAA,GAAoBnH,SAASzjB,KAAKL,MAAM+C,QAASA,EAAQyD,IAAI7E,OAAOqpB,4BAA6BplB,EAAQ4Q,UAI1G5V,SAAM,IAAAsqB,EACT,MACInG,OAAO,aAAEoG,EAAY,wBAAE9X,GACvBlS,MACIyE,SAAWxE,OAAQwE,IAEvBjE,QAAQ,UAAEF,EAAY,KACtBpB,KAAKL,OAEH,IAAEuU,GAAQlU,KAAKK,MAErB,IAAKkF,EAED,OADAvF,KAAKL,MAAM+C,QAAQ4D,UAAUsd,MAAM,gDAC5B,KAGX,MAAMjkB,EAAQK,KAAKL,MAKbka,EADU7Z,KAAKL,MAAM+C,QACIyD,IAAI7E,OAAOuY,eACpCQ,EAA+B3Z,EAAAA,gBAAgBqqB,QACjDrqB,EAAAA,gBAAgBsqB,YAAoD,QAAzCH,EAAC7qB,KAAKL,MAAMmB,KAAKF,kBAAkBG,cAAM,IAAA8pB,OAAA,EAAxCA,EAA0CrT,KAAIlB,GAASA,EAAM+D,iCAEvFxR,GACDnI,EAAAA,gBAAgBC,YAAY0Z,IAC7BA,EAA6B4Q,MAAM3U,IACJ0E,EAAAA,EAAAA,yCACvB1E,EACAuD,KAE0ByB,EAAAA,qBAAqBC,aAErD/X,GAAYC,EAAAA,EAAAA,IAAazD,KAAKL,MAAM+C,QAAQC,UAClDe,EAAAA,EAAAA,mBAAkBF,GAClB,MAAMxC,EAASC,EAAAA,EAAA,GACPjB,KAAKL,OAAmC,IAC5CU,MAAOL,KAAKK,MACZyqB,aAAcA,GAAgBA,EAAa/gB,OAAS,EAAI+gB,EAAa,QAAKtlB,EAC1E0lB,YAAa,CACT/pB,YAAanB,KAAKL,MAClByB,UAAWC,GAAAA,CAAW,YAAaD,IAEvC+pB,0BAA2B,CACvB/pB,UAAW,sBAEfgqB,2BAA4B,CACxBhqB,UAAW,4BAEfoF,iBAAkBxG,KAAKwG,iBACvBE,UAAW1G,KAAKonB,gBAChBtlB,OAAOmD,EAAAA,EAAAA,IAAsBtF,GAC7BwlB,aAAaxf,EAAAA,EAAAA,IAA4BhG,GACzC0rB,iBAAkBrrB,KAAKsrB,gCACvBC,eAAevlB,EAAAA,EAAAA,IAA8BrG,GAC7C6rB,WAAWxS,EAAAA,EAAAA,GAA0BrZ,EAAOK,KAAKK,MAAOL,KAAKonB,iBAC7DqE,YAAazH,EAAqBhkB,KAAKL,MAAOK,KAAKK,MAAOL,KAAKonB,iBAC/D1a,OAAO4B,EAAAA,EAAAA,IAAsB3O,EAAOK,KAAKK,OACzCqrB,WAAW9iB,EAAAA,EAAAA,IACPjJ,EACAK,KAAKK,MACLL,KAAKonB,gBA7CoB,GACA,SA+CzB5hB,EACAqD,GAEJmK,wBAAyBtS,EAAAA,gBAAgBC,YAAYqS,IAC/CD,EAAAA,EAAAA,IACIC,EAAwB,GACxBzN,GACA9B,EAAAA,EAAAA,IAAazD,KAAKL,MAAM+C,QAAQC,SAChC3C,KAAKK,YAETmF,EACNmmB,oBAAoBxZ,EAAAA,EAAAA,IAChBxS,EACAK,KAAKK,MACLL,KAAKonB,gBACLpnB,KAAKipB,2CACLzlB,GAEJooB,eAAe1Y,EAAAA,EAAAA,IAA8BvT,EAAOK,KAAKK,MAAOL,KAAKonB,iBACrEyE,QAASlsB,EAAM+C,QAAQyD,IAAI7E,OAAOwqB,aAAc3c,EAAAA,EAAAA,IAAuBxP,GACvE6J,SAAUjE,EAAQgD,gBAAa/C,GAAYyO,EAAAA,EAAAA,IAAyBtU,EAAOK,KAAKK,MAAOL,KAAKonB,iBAC5F2E,gBAAgB3nB,EAAAA,EAAAA,IAAwBzE,GACxCqsB,gBACIhsB,KAAKL,MAAM2B,OAAO2qB,yBAA2B1mB,EAAQgD,YAC/CuM,EAAAA,EAAAA,IAA2BnV,EAAOuV,EAAAA,EAAuBC,YACzD3P,EACV0mB,uBACIlsB,KAAKL,MAAM2B,OAAO6qB,+BAAiC5mB,EAAQgD,YACrDuM,EAAAA,EAAAA,IAA2BnV,EAAOuV,EAAAA,EAAuBnP,kBACzDP,EACV4mB,WACIpsB,KAAKL,MAAM2B,OAAO+qB,kBAAoBrsB,KAAKK,MAAMuN,uBAC3C+I,EAAAA,EAAAA,IAAoBhX,EAAOK,KAAKK,MAAOL,KAAKonB,sBAC5C5hB,EACV8mB,wBAAwB3U,EAAAA,EAAAA,IAA0BhY,EAAOK,KAAKK,OAC9D6T,IAAAA,EACAqY,wCAAyCvsB,KAAKipB,2CAC9CuD,iBAAkBhpB,EAClBipB,SAAUzsB,KAAK0sB,wBAAwBlpB,KAG3C,OAAOxD,KAAKL,MAAM8B,WAAWT,GA0BzBsqB,gCAEJ,IAAKtrB,KAAKL,MAAM+C,QAAQyD,IAAI7E,OAAOqrB,sBAC/B,OAAO,KAGX,IAAKC,EAAAA,GAAiBC,UAClB,OAAO,KAGX,MAAMC,EAAsBC,MAAMC,KAAKhX,SAASiX,uBAAuBztB,EAAAA,aAAa4B,YAEpF,OAAKV,EAAAA,gBAAgBC,YAAYmsB,GAK7BrtB,EAAAA,cAACmC,EAAAA,OAAM,CACHR,UAAU,kCACVU,MAAO9B,KAAKL,MAAMoC,UAAUmrB,qBAC5BrrB,QAAS7B,KAAKsoB,yBAAyBwE,EAAoB,KAE1D9sB,KAAKL,MAAMoC,UAAUmrB,sBATnB,KAcPtF,aAAaF,GAAiG,IAA7DW,EAAA8E,UAAApjB,OAAA,QAAAvE,IAAA2nB,UAAA,GAAAA,UAAA,GAAkCntB,KAAKK,MAAMmH,iBAC9FxH,KAAKK,MAAMuN,uBAAyB8Z,IACpCA,EAAS0F,wBAA0B/E,GAEvCroB,KAAKI,SAAS,CAAEuM,aAAc+a,IAG1B6B,mBAAmBH,GACvB,MACItoB,MACIyE,SAAWxE,OAAQwE,IAEvB7C,SAAS,cACLgJ,EACA/I,SACI+a,aAAa,UAAE2P,MAGvBrtB,KAAKL,MAMHiqB,EAJoB5pB,KAAKL,MAAMmB,KAAKF,kBAAkBG,OAKvDyW,KAAIqJ,IAAY,IAAA3b,EAAAooB,EAAAC,EAAAC,EACb,MAAM5pB,EACuB,QADbsB,EAA0C,QAA1CooB,EAAIzM,EAAUxG,oCAA4B,IAAAiT,EAAAA,EACtDzM,EAAUvG,uBAAe,IAAApV,EAAAA,EACzB,GACJ,MAAO,CACHgV,mBAAoB2G,EAAU3G,mBAC9BS,eAGqB,QAHP4S,EAGT,QAHSC,EACV5pB,EAAWP,MACPiT,IAAK,IAAAiE,EAAA,OAAwB,QAApBA,EAAAjE,EAAMqE,sBAAc,IAAAJ,OAAA,EAApBA,EAAsBpE,SAASkC,cAAe+Q,EAAmBvI,EAAU3G,8BACvF,IAAAsT,OAAA,EAFDA,EAEG7S,sBAAc,IAAA4S,EAAAA,EAAI1M,EAAUlG,eACnC8S,oBAAqB5M,EAAU4M,wBAGtCxW,QAAO4J,GAAaA,EAAUlG,kBACnC+S,EAAAA,EAAAA,2BAA0B1tB,KAAKL,MAAM+C,QAAQgJ,cAAcC,eAAegQ,IAAIC,WAAYgO,GAI1F,MAAM+D,GAAyBC,EAAAA,EAAAA,oBAC3B,IAAIC,EAAAA,qBACAtoB,EAASuoB,gBAAkBvoB,EAASuoB,gBAAkBvoB,EAAS4Q,SAC/DkX,OACA7nB,OACAA,EACAxF,KAAKL,MAAM+C,QAAQC,SAEvB+I,GAIJ,OAFA1L,KAAKI,SAAS,CAAEsJ,gBAAiBikB,IAE1B,CAAElE,sBAAuBkE,EAAwB/D,iBAAAA,GA0DpD,uCACJJ,EACAI,SAQMmE,EAAAA,EAAAA,iCACF,IAAIC,EAAAA,qCACAxE,EAAesE,gBAAkBtE,EAAesE,gBAAkBtE,EAAerT,SACjFnW,KAAKL,MAAM+C,QAAQC,QAAQ+a,YAAY2P,UACvCzD,EACA5pB,KAAKL,MAAM+C,QAAQC,SAEvB3C,KAAKL,MAAM+C,QAAQgJ,eAInB,4BAA4B8d,GAA6B,IAAAyE,EAG7D,MAAMC,QAA6BC,EAAAA,EAAAA,4CAC/B,IAAIC,EAAAA,6CAA6C5E,EAAerT,SAAUnW,KAAKL,MAAM+C,QAAQC,QAAQ+a,YAAY2P,WACjHrtB,KAAKL,MAAM+C,QAAQgJ,eAGjB2iB,EAAsBH,MAAAA,OAAoB,EAApBA,EAAsB7qB,MAG7CqB,GAAoCA,EAASC,eAAiBC,EAAAA,aAAaF,YAEzB,QAA5BupB,EAAGzE,EAAe3H,kBAAU,IAAAoM,OAAA,EAAzBA,EAA2B5qB,MACrDwd,IAAS,IAAAkE,EAAA,OAC4B,IAAjClE,EAAU3G,oBAA4B2G,EAAUlG,gBAAoE,YAApB,QAA9BoK,EAAAlE,EAAUlG,eAAeM,aAAK,IAAA8J,OAAA,EAA9BA,EAAgChgB,mBAGtG/E,KAAKI,SAAS,CAAEwN,uBAAuB,IAEvC5N,KAAKI,UAASkpB,IACV,MAAM7f,EAAa6f,EAAc7f,WAEjC,OADAA,EAAWjB,uBAAoBhD,EACxB,CAAEoI,uBAAuB,EAAOF,gBAAgB,EAAOjE,WAAAA,MAIlE4kB,EACAruB,KAAKI,SAAS,CAAEoE,yBAA0B6pB,IAE1CruB,KAAKI,SAAS,CAAEoE,8BAA0BgB,IAI1C,oBAAoBgkB,GAIxB,IAAKxpB,KAAKK,MAAMkqB,iBAEZ,YADAvqB,KAAKI,SAAS,CAAEmqB,kBAAkB,IAKtC,MAAM7C,QAAiB4G,EAAAA,EAAAA,4BACnB,IAAIC,EAAAA,6BAA6B/E,EAAerT,SAAUnW,KAAKL,MAAM+C,QAAQC,QAAQ+a,YAAY2P,WACjGrtB,KAAKL,MAAM+C,QAAQgJ,eAGnBgc,GACA1nB,KAAK4nB,aAAaF,GAIlB,8BAA8B8B,GAA6B,IAAAgF,EAC/D,MAAMC,EAAsE,QAAtCD,EAAGxuB,KAAKL,MAAMmB,KAAKqC,aAAapC,cAAM,IAAAytB,OAAA,EAAnCA,EAAqCnrB,MAC1EF,GAAsC,oEAAtBA,EAAapI,OAI3B4sB,QAA2B+G,EAAAA,EAAAA,sCAC7B,IAAIC,EAAAA,0CACAnF,EAAerT,SACfnW,KAAKL,MAAM+C,QAAQC,QAAQ+a,YAAY2P,eACvC7nB,OACAA,EACAipB,MAAAA,OAAgC,EAAhCA,EAAkClrB,WAEtCvD,KAAKL,MAAM+C,QAAQgJ,eAGnBic,GACA3nB,KAAKI,SAAS,CAAE0L,uBAAwB6b,IAIxC,+BAA+BpiB,GACnC,MAAMsI,QAA4C7N,KAAK8N,uCACjD8gB,QAAsC5uB,KAAK+N,iCAE3C8I,EAAc7W,KAAK6uB,+BAA+BhhB,EAAqCtI,GACvF2O,EAAclU,KAAK8uB,+BACrBF,GAAiC/gB,EACjCtI,GAGJvF,KAAKI,SAAS,CACVyW,IAAAA,EACA3C,IAAAA,IAIA2a,+BAA+BhhB,EAA8CtI,GAAsB,IAAAwpB,EACvG,OAAIlhB,GAAAA,MAAuCtI,GAAiB,QAAVwpB,EAAPxpB,EAASypB,gBAAQ,IAAAD,GAAjBA,EAAmBE,iBAAmB1pB,EAAQypB,SAASC,gBAAkB,EACzG1pB,EAAQypB,SAASC,gBAGrB,EAGHH,+BAA+BI,EAAyC3pB,GAAsB,IAAA4pB,EAClG,OAAID,GAAAA,MAAkC3pB,GAAiB,QAAV4pB,EAAP5pB,EAASypB,gBAAQ,IAAAG,GAAjBA,EAAmBC,iBAAmB7pB,EAAQypB,SAASI,gBAAkB,EACpG7pB,EAAQypB,SAASI,iBAGrBC,EAAAA,EAAAA,kCAAiCrvB,KAAKL,MAAM+C,QAAQyD,IAAI7E,OAAOwe,4BAoBlE,6CAA0C,IAAAwP,EAAAzW,EAC9C,MAAML,EAA4D,QAArB8W,EAAGtvB,KAAKL,MAAM+C,eAAO,IAAA4sB,GAAS,QAATA,EAAlBA,EAAoB3sB,eAAO,IAAA2sB,GAAK,QAALA,EAA3BA,EAA6BnpB,WAAG,IAAAmpB,GAAU,QAAVA,EAAhCA,EAAkC7W,gBAAQ,IAAA6W,OAAA,EAA1CA,EAA4C5W,iCAC5F,GAAgD,SAA5CF,EACA,OAAO,EAGX,MAAMM,QAAwB9Y,KAAKL,MAAMmB,KAAKqC,aAI9C,KAH6B2V,MAAAA,GAE5B,QAF2CD,EAAfC,EAAiBzV,MAC1CF,GAAgBA,EAAapI,OAASkd,EAAAA,YACzC,IAAAY,OAAA,EAF4BA,EAE1BtV,WAEC,OAAO,EAGX,GAAgD,QAA5CiV,EACA,OAAO,EAEX,IAAIG,EACJ,IACIA,QAAqB3Y,KAAKL,MAAMmB,KAAKgD,oBACvC,MAAO8f,GAGL,OAFA5jB,KAAKL,MAAM2G,UAAUipB,YAAY3L,GACjC5jB,KAAKL,MAAM2G,UAAUwd,MAAM,0EACpB,EAGX,OACInL,IAC8C,QAA5CH,GAAqDG,EAAaC,OACnB,QAA5CJ,IAAsDG,EAAaC,OAIxE8T,wBAAwBlpB,GAAiB,IAAAgsB,EAC7C,MAAM/C,EAAmC,QAA3B+C,EAAGxvB,KAAKL,MAAMmB,KAAK2rB,gBAAQ,IAAA+C,GAAQ,QAARA,EAAxBA,EAA0BzuB,cAAM,IAAAyuB,OAAA,EAAhCA,EAAkCvY,QAAO3T,GAAQA,EAAK6S,WAAa3S,IACpF,IAAI9C,EAAAA,gBAAgBC,YAAY8rB,IAAsC,IAAzBA,EAAS,GAAGtW,SAIzD,OAAOsW,EAGH,uCAAoC,IAAAgD,EACxC,MAAM3W,QAAwB9Y,KAAKL,MAAMmB,KAAKqC,aAExC4V,EAAoCD,MAAAA,GAEzC,QAFwD2W,EAAf3W,EAAiBzV,MACvDF,GAAgBA,EAAapI,OAASmd,EAAAA,YACzC,IAAAuX,OAAA,EAFyCA,EAEvClsB,UAEH,OAAOwV,MAAAA,GAAAA,GAIf,qFCtsBA,MAkDM2W,EAAoBhE,IACtB,MAAM,eAAEvf,EAAc,WAAEgC,EAAU,OAAE/B,GAAWsf,EAE/C,OACIjsB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACLgC,EACA/B,IAKPujB,EAA6BhE,IAC/B,MAAM,eAAExf,EAAc,WAAEgC,EAAU,OAAE/B,GAAWuf,EAE/C,OACIlsB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACLgC,EACA/B,IAKPwjB,EAAwBhE,IAC1B,MAAM,eAAEzf,EAAc,WAAEgC,EAAU,OAAE/B,GAAWwf,EAE/C,OACInsB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACLgC,EACA/B,IAKPyjB,EAAoBrE,IACtB,MAAM,eAAErf,EAAc,UAAEkQ,GAAcmP,EAEtC,OAAO/rB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GAAiBkQ,EAAU7E,IAAIsY,KAG9CC,EAAsBC,IACxB,GAAKA,GAAsC,IAAvBA,EAAYjmB,OAIhC,OAAOtK,EAAAA,cAAAA,EAAAA,SAAA,KAAGuwB,EAAY,KAGpBF,EAA4BjT,IAC9B,MAAM,eAAE1Q,EAAc,oBAAEgI,EAAmB,QAAEG,EAAO,OAAEE,EAAM,OAAE8I,GAAWT,EAEzE,OACIpd,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACN1M,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK4B,GACLG,EACAE,GAEJ8I,IAKP2S,EAAsBxE,IACxB,MAAM,eAAEtf,EAAc,cAAE6V,EAAa,QAAE1N,EAAO,YAAE6Q,EAAW,OAAE3Q,EAAM,OAAEpI,EAAM,MAAE4a,EAAK,wBAAED,GAA4B0E,EAEhH,OACIhsB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACL6V,EACA1N,EACAyS,EACA5B,EACA3Q,EACApI,EACA4a,IAKPkJ,EAAmB1mB,IACrB,MAAM,eAAE2C,EAAc,oBAAEgI,EAAmB,QAAEG,EAAO,MAAEG,EAAK,OAAED,GAAWhL,EAExE,OACI/J,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACN1M,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK4B,GACLG,EACAE,GAEJC,IAKP0b,EAAqB/D,IACvB,MAAM,eAAEjgB,EAAc,oBAAEgI,EAAmB,QAAEG,EAAO,MAAEG,GAAU2X,EAEhE,OACI3sB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACN1M,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK4B,GAAsBG,GAC/BG,IAKP2b,EAA0BC,IAC5B,MAAM,eAAElkB,EAAc,OAAEqI,EAAM,MAAEC,GAAU4b,EAE1C,OACI5wB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACLqI,EACAC,IAIb,EAlK+C9U,IAC3C,MAAM,YACFurB,EAAW,2BACXE,EAA0B,0BAC1BD,EAAyB,UACzBO,EAAS,mBACTC,EAAkB,cAClBC,EAAa,UACbJ,EAAS,YACTrG,EAAW,YACXsG,EAAW,SACXjiB,EAAQ,MACRkD,EAAK,MACL5K,EAAK,OACL+pB,EAAM,eACNE,EAAc,gBACdC,EAAe,WACfI,EAAU,uBACVF,EAAsB,cACtBX,EAAa,wBACbvY,GACArT,EAEJ,OACIF,EAAAA,cAAC6wB,EAAAA,OAAMhe,OAAAC,OAAA,GAAK2Y,GACRzrB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK6Y,GAA6BzrB,EAAMmrB,cAC7CrrB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK4Y,GACLrpB,EACA4K,EACA6e,EACA5rB,EAAM0rB,iBACNlG,EACA0G,EACAL,GAAaqE,EAAiBrE,GAC9BY,GAAc+D,EAAkB/D,GAChC5iB,GAAY0mB,EAAgB1mB,GAC5BuiB,EACAL,GAAagE,EAAiBhE,GAC9BD,GAAewE,EAAmBxE,GAClCE,GAAsBgE,EAA0BhE,GAChDC,GAAiBgE,EAAqBhE,GACtCmE,EAAmBpwB,EAAM+kB,OAAS/kB,EAAM+kB,MAAMsL,aAC9Chd,EACAgZ,GAAmBoE,EAAuBpE,GAC1CE,GAA0BkE,EAAuBlE,8GC/ClE,MAsBM4D,EAA4BjT,IAC9B,MAAM,eAAE1Q,EAAc,oBAAEgI,EAAmB,QAAEG,EAAO,OAAEE,EAAM,OAAE8I,GAAWT,EAEzE,OACIpd,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACN1M,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK4B,GACLG,EACAE,GAEJ8I,IAKPiT,EAAyB5wB,IAC3B,MAAM,eACF6wB,EAAc,qBACdC,EAAoB,qBACpBC,EAAoB,mBACpBC,EAAkB,mBAClBC,EAAkB,cAClBhF,EAAa,UACbF,EAAS,mBACTmF,GACAlxB,EAEJ,OACIF,EAAAA,cAAC6wB,EAAAA,OAAMhe,OAAAC,OAAA,GAAKie,GACR/wB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKke,GAAuBE,GACjClxB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKqe,GAAqBE,EAAmBnxB,IAClDF,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKme,GACNjxB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKse,GACLnF,GAtDKA,CAAAA,IACtB,MAAM,eAAEvf,EAAc,WAAEgC,EAAU,OAAE/B,GAAWsf,EAE/C,OACIjsB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACLgC,EACA/B,IAgDqBsjB,CAAiBhE,GAC9BE,GA5CSA,CAAAA,IAC1B,MAAM,eAAEzf,EAAc,WAAEgC,EAAU,OAAE/B,GAAWwf,EAE/C,OACInsB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACLgC,EACA/B,IAsCyBwjB,CAAqBhE,OAuCrDkF,EAAsBnxB,IACxB,MAAM,MACFmC,EAAK,MACL4K,EAAK,OACLmf,EAAM,WACNO,EAAU,SACV5iB,EAAQ,UACRgiB,EAAS,eACTO,EAAc,uBACdO,EAAsB,iBACtByE,EAAgB,QAChBC,EAAO,0BACP7F,EAAyB,2BACzBC,EAA0B,cAC1B6F,EAAa,cACb1F,GACA5rB,EACJ,OAAIqxB,EACOvxB,EAAAA,cAAAA,EAAAA,SAAA,KAAGuxB,GAGVvxB,EAAAA,cAAAA,EAAAA,SAAA,KACIA,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK6Y,GACN3rB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK0e,KAEdxxB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK4Y,GACLrpB,EACA4K,EACA6e,EACAM,EACAL,GApCSA,CAAAA,IACtB,MAAM,eAAErf,EAAc,UAAEkQ,GAAcmP,EAEtC,OAAO/rB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GAAiBkQ,EAAU7E,IAAIsY,KAiCtBD,CAAiBrE,GAC9BY,GAhDUA,CAAAA,IACvB,MAAM,eAAEjgB,EAAc,oBAAEgI,EAAmB,QAAEG,EAAO,MAAEG,GAAU2X,EAEhE,OACI3sB,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACN1M,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK4B,GAAsBG,GAC/BG,IA0CkB0b,CAAkB/D,GAChC5iB,GAhEO0mB,EAAC1mB,EAA2C8iB,KAChE,MAAM,eAAEngB,EAAc,oBAAEgI,EAAmB,QAAEG,EAAO,MAAEG,EAAK,OAAED,GAAWhL,EAExE,OACI/J,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAKpG,GACN1M,EAAAA,cAACmY,EAAAA,KAAItF,OAAAC,OAAA,GAAK4B,GACLG,EACAE,GAEJC,EACA6X,IAsDgB4D,CAAgB1mB,EAAU8iB,GACtCyE,EACAhF,KAWJmF,EAA+DvxB,IACxE,MAAM,UAAEwxB,EAAS,gBAAEC,EAAe,YAAEhJ,EAAW,eAAE/lB,GAAmB1C,EACpE,OACIF,EAAAA,cAAC6wB,EAAAA,OAAMhe,OAAAC,OAAA,GAAK4e,IACN9uB,GAAkB+uB,EACnBhJ,GAAemI,EAAsB5wB,KAKlD,qCC7JO,MAAM0xB,UCFN,MAGH3xB,YAAmBue,GACfje,KAAKie,OAASA,IDOlBve,YAAmB4xB,EAAmB9tB,GAElC5D,MADeyxB,EAA0BE,UAAUD,EAAW9tB,IAG9DxD,KAAKsxB,UAAYA,EACjBtxB,KAAKwD,UAAYA,EATd,iBAAiB8tB,EAAmB9tB,GACvC,MAAO,GAAG8tB,KAAa9tB,uBEFxB,MAAMonB,UCJN,MAOHlrB,cAAmC,QAAA8xB,EAAArE,UAAApjB,OAAb0nB,EAAa,IAAA1E,MAAAyE,GAAAE,EAAA,EAAAA,EAAAF,EAAAE,IAAbD,EAAaC,GAAAvE,UAAAuE,GAC/B1xB,KAAK2xB,qBAAuBF,EALhC,YACI,OAAOzxB,KAAK2xB,uBDGT,gBAAgBjvB,EAAuBioB,EAAqC2G,GAC/E,MAAMM,EAAgClvB,EAAQC,QAAQkvB,QACtD,IAAIJ,EAAQ7G,EAAoBkH,0BAA0BF,GAE1D,MAAMpuB,GAAYC,EAAAA,EAAAA,IAAaf,EAAQC,SAEjCW,EAAO,IAAI+tB,EAA0BC,EAAW9tB,GAChD0Q,EAAcyW,EAA8B,GAAK,GACjDlT,EAAgBga,EAAMja,KAAIua,GAAUA,EAAOT,YAAWU,QAAQ1uB,EAAKguB,WACrEhuB,IAAmB,IAAXmU,EACRga,EAAMta,KAAK7T,GAEXmuB,EAAMQ,OAAOR,EAAM1nB,OAAS,EAAG,EAAG0nB,EAAMQ,OAAOxa,EAAO,GAAG,IAEzDga,EAAM1nB,OAASmK,IACfud,EAAQA,EAAMS,MAAMjS,KAAK/L,IAAIud,EAAM1nB,OAASmK,EAAK,KAGrD0W,EAAoBuH,eAAeP,EAAehH,EAAoBwH,+BAAgCX,GAGlG,iCAAiCG,GACrC,MAAMH,EAAQ7G,EAAoByH,gBAAgBT,EAAehH,EAAoBwH,gCACrF,OAAK1xB,EAAAA,gBAAgBC,YAAY8wB,GAG1BA,EAFI,GAKP,uBAAuBG,EAA+BU,GAC1D,IAAKA,EACD,OAGJ,IAAKV,EAAcW,iBACf,OAKJ,OAFoBX,EAAcY,IAAoDF,GAEnEhc,MAGf,sBAAsBsb,EAA+BU,EAAmBhc,GACvEgc,GAILV,EAAca,IAAIH,EAAWhc,EAAO,CAAEoc,QAAQ,EAAMC,OAAQ,UAlDxC/H,EAAAwH,+BAAyC","sources":["webpack://bju-press/./src/utilities/data-attribute-parser.ts?7345","webpack://bju-press/./src/utilities/global-constants.ts?5882","webpack://bju-press/./src/modules/bulk-purchase/bulk-purchase.tsx?9fd5","webpack://bju-press/./src/common/buybox-components.tsx?42b4","webpack://bju-press/./src/common/buybox-product-configure.tsx?139c","webpack://bju-press/./src/common/buyboxInterface.ts?9d60","webpack://bju-press/./src/common/dropdown/dropdown.tsx?f1d3","webpack://bju-press/./src/common/dropdown/dropdown.props.ts?7676","webpack://bju-press/./src/common/utilities/error-utilities.ts?bb69","webpack://bju-press/./src/modules/quickview/quickview.tsx?4080","webpack://bju-press/./src/modules/buybox/components/buybox-find-in-store.tsx?3ef8","webpack://bju-press/./src/modules/buybox/buybox.tsx?e22d","webpack://bju-press/./src/modules/buybox/buybox.view.tsx?376b","webpack://bju-press/./src/modules/quickview/quickview.view.tsx?ee5b","webpack://bju-press/./src/modules/recently-viewed/base/recently-viewed-product-item.ts?4982","webpack://bju-press/./src/modules/recently-viewed/base/recently-viewed-item.ts?54c9","webpack://bju-press/./src/modules/recently-viewed/recently-viewed-state.ts?c73b","webpack://bju-press/./src/modules/recently-viewed/recently-viewed-manager.ts?a2a8"],"sourcesContent":["//==============================================================================\r\n// D365 OData Attribute Parser\r\n//\r\n// In creating this, it became clear that \"attributes\" is a general term.\r\n//\r\n// Product attributes are a first-class entity. They have their own dedicated\r\n// fields and schema.\r\n//\r\n// The more generic term \"attributes\" is used as a generic extension system.\r\n// Almost every entity (including Product Attributes) has an ExtensionProperties\r\n// field for jamming extra information into. In some cases, D365 handles these\r\n// natively, such as sales order line and header attributes, or customer\r\n// attributes. Attributes using ExtensionProperties use the\r\n// CommerceProperty and CommercePropertyValue types.\r\n//\r\n// A major note about ExtensionProperty-based attributes: they have fields\r\n// for many different data types, but there's no indicator as to which\r\n// of the fields is actually used. The consumer of the data is expected to\r\n// know the data type ahead of time. In the case of D365-native attribute users\r\n// such as customers and sales orders, only the string type appears to work.\r\n//\r\n// This module includes parsers for generic ExtensionProperties-based attributes\r\n// and Product Attributes. Though different Product Attribute retail server\r\n// calls use the same AttributeValue entity to transmit the data, they appear\r\n// to return different fields from that entity. Because of this, two different\r\n// parser calls are included here. They currently share the same implementation,\r\n// but by including different call signatures we have the ability to diverge\r\n// the implementations if the need arises.\r\n//\r\n// A note about Product Attributes: These contain both a friendly name,\r\n// displayed to users in back office, and an internal name. The internal name\r\n// can be the same as the friendly name, but by convention we've been pushing\r\n// for a PascalCase scheme. At present, the searchByCriteria call returns only\r\n// the unfriendly name, and the GetAttributeValues call returns only the\r\n// friendly name. We don't have a known method of correlating the two. That may\r\n// be an argument for keeping the friendly and unfriendly names identical.\r\n//==============================================================================\r\nimport {\r\n CommerceProperty, // Generic attributes stored in ExtensionProperties\r\n CommercePropertyValue, // Generic attributes stored in AttributeValue\r\n AttributeValue, AttributeDataType, // Product attributes or Product Search Result attributes\r\n CustomerAttribute, // Customer attributes\r\n IDictionary,\r\n} from '@msdyn365-commerce/retail-proxy';\r\n\r\n//==============================================================================\r\n// INTERFACES AND CONSTANTS\r\n//==============================================================================\r\nexport type CommerceValueTypes = string | number | boolean | Date;\r\n\r\n// This is me giving up on proper typing. If doing this in TypeScript is possible, I don't know how.\r\n// For the key \"meta\", the type should be a hash of strings.\r\n// For all other keys, the type is a CommerceValueType.\r\nexport type AttributesWithMetadata = {\r\n [key: string]: CommerceValueTypes | IDictionary\r\n};\r\n\r\n// Type to support both internal and friendly name for attributes\r\nexport type AttributesLocalized = {\r\n [key: string]: {\r\n friendlyName?: string,\r\n value?: CommerceValueTypes | IDictionary\r\n }\r\n};\r\n\r\n// Return type for getTypeInfo()\r\ntype TypeData = {\r\n source: keyof AttributeValue,\r\n type: string,\r\n\r\n customerSource?: keyof CommercePropertyValue,\r\n};\r\n\r\n//==============================================================================\r\n// FUNCTIONS\r\n//==============================================================================\r\n\r\n//----------------------------------------------------------\r\n// This version handles ExtensionProperties conversion.\r\n//\r\n// While these have a bunch of potential fields, the value\r\n// is always stored within StringValue.\r\n// There isn't a data type field, so if the content wasn't\r\n// in StringValue we wouldn't know where to find it.\r\n//----------------------------------------------------------\r\nexport function convertExtensionProperties(attributeList: CommerceProperty[]): IDictionary {\r\n const output = {};\r\n\r\n attributeList.forEach(entry => {\r\n if (entry.Key) {\r\n output[entry.Key] = entry.Value?.StringValue; // Ecommerce seems to always use strings.\r\n }\r\n });\r\n\r\n return output;\r\n}\r\n\r\n//----------------------------------------------------------\r\n// For these attributes, the Name is always the friendly\r\n// name.\r\n// KeyName and ExtensionProperties aren't defined.\r\n//\r\n// These results seem to be missing CurrencyValue,\r\n// FloatValue, DateTimeOffsetValue\r\n// I don't know if those data types aren't allowed here.\r\n//\r\n// Return value: Hash of key: property values with variable\r\n// types. There is also a \"meta\" key containing a hash of\r\n// all the attribute keys and their corresponding types.\r\n//\r\n// Example:\r\n// {\r\n// flavor: 'bland',\r\n// calories: 5300,\r\n// meta: {\r\n// flavor: 'string',\r\n// calories: 'number'\r\n// }\r\n// }\r\n//----------------------------------------------------------\r\nexport function convertProductAttributes(attributeList: AttributeValue[]): AttributesWithMetadata {\r\n const output = {\r\n meta: {}\r\n };\r\n\r\n attributeList.forEach(attribute => {\r\n // These should always be present, but TypeScript insists they can be undefined.\r\n if (attribute.Name && attribute.DataTypeValue) {\r\n const typeData = getTypeInfo(attribute.DataTypeValue);\r\n output[attribute.Name] = attribute[typeData.source]; // Ecommerce seems to require strings\r\n output.meta[attribute.Name] = typeData.type;\r\n }\r\n });\r\n\r\n return output;\r\n}\r\n\r\n//----------------------------------------------------------\r\n// For these attributes, the Name is the friendly\r\n// name while KeyName is the internal name.\r\n//\r\n// This makes use of combined attributes containing both\r\n// internal and friendly name to support localization.\r\n//\r\n// Return value: Hash of internal name keys containing an object with both the\r\n// friendly name and attribute value There is also a \"meta\" key containing a\r\n// hash of all the attribute keys and their corresponding types.\r\n//\r\n// Example:\r\n// {\r\n// flavor: {\r\n// friendlyName: Flavor,\r\n// value: 'bland'\r\n// },\r\n// calories: {\r\n// friendlyName: Calories,\r\n// value: 5300\r\n// },\r\n// meta: {\r\n// flavor: 'string',\r\n// calories: 'number'\r\n// }\r\n// }\r\n//----------------------------------------------------------\r\nexport function convertProductAttributesLocalized(attributeList: AttributeValue[]): AttributesLocalized {\r\n const output = {\r\n meta: {}\r\n };\r\n\r\n attributeList.forEach(attribute => {\r\n if (attribute.KeyName && attribute.DataTypeValue) {\r\n const typeData = getTypeInfo(attribute.DataTypeValue);\r\n output[attribute.KeyName] = {\r\n friendlyName: attribute.Name,\r\n value: attribute[typeData.source]\r\n };\r\n output.meta[attribute.KeyName] = typeData.type;\r\n }\r\n });\r\n\r\n return output;\r\n}\r\n\r\n//----------------------------------------------------------\r\n// For these attributes, the\r\n// Name/KeyName/ExtensionProperties is always the unfriendly\r\n// name.\r\n//\r\n// These results are only missing the Swatches field.\r\n//\r\n// Though the returned value is a bit different, at present\r\n// the implementation for convertProductAttributes works for\r\n// search results.\r\n// If they diverge in the future, extend this function.\r\n//----------------------------------------------------------\r\nexport function convertSearchAttributes(attributeList: AttributeValue[]): AttributesWithMetadata {\r\n return convertProductAttributes(attributeList);\r\n}\r\n\r\n//----------------------------------------------------------\r\n// For these attributes, the Name is always the friendly\r\n// name. Value is always Text, and DataTypeValue is not\r\n// present here.\r\n//----------------------------------------------------------\r\nexport function convertCartAttributes(attributeList: AttributeValue[]): AttributesWithMetadata {\r\n const output = {};\r\n\r\n attributeList.forEach(attribute => {\r\n if (attribute.Name) {\r\n output[attribute.Name] = attribute.TextValue;\r\n }\r\n });\r\n\r\n return output;\r\n}\r\n\r\n//----------------------------------------------------------\r\n//----------------------------------------------------------\r\nexport function convertCustomerAttributes(attributeList: CustomerAttribute[] | undefined): AttributesWithMetadata {\r\n const output = {\r\n meta: {}\r\n };\r\n\r\n attributeList?.forEach(attribute => {\r\n // These should always be present, but TypeScript insists they can be undefined.\r\n if (attribute.Name && attribute.DataTypeValue) {\r\n const typeData = getTypeInfo(attribute.DataTypeValue);\r\n output[attribute.Name] = attribute.AttributeValue && typeData.customerSource && attribute.AttributeValue[typeData.customerSource];\r\n output.meta[attribute.Name] = typeData.type;\r\n }\r\n });\r\n\r\n return output;\r\n}\r\n\r\n//----------------------------------------------------------\r\n// Finds the source field and type for an attribute\r\n//\r\n// This should probably be extended to better support\r\n// currency, which seems to be two fields glued together.\r\n//----------------------------------------------------------\r\nfunction getTypeInfo(type: AttributeDataType): TypeData {\r\n\r\n // Awkward, but this helps TypeScript enforce strict type checking\r\n type TypeMapType = {\r\n [key in AttributeDataType]: TypeData\r\n };\r\n\r\n const typeMap: TypeMapType = {\r\n [AttributeDataType.None]: {source: 'TextValue', type: 'string'}, // We need to choose something\r\n [AttributeDataType.Currency]: {source: 'CurrencyValue', type: 'number'}, // Should also include CurrencyCode, which is a string?\r\n [AttributeDataType.DateTime]: {source: 'DateTimeOffsetValue', type: 'Date'},\r\n [AttributeDataType.Decimal]: {source: 'FloatValue', type: 'number'},\r\n [AttributeDataType.Integer]: {source: 'IntegerValue', type: 'number', customerSource: 'IntegerValue'},\r\n [AttributeDataType.Text]: {source: 'TextValue', type: 'string', customerSource: 'StringValue'},\r\n [AttributeDataType.TrueFalse]: {source: 'BooleanValue', type: 'boolean', customerSource: 'BooleanValue'},\r\n [AttributeDataType.Video]: {source: 'TextValue', type: 'string'},\r\n [AttributeDataType.Image]: {source: 'TextValue', type: 'string'}\r\n };\r\n\r\n return typeMap[type];\r\n}\r\n","//==============================================================================\r\n// Global Constants\r\n//\r\n// Consolidated list of constants reused across different modules and extensions\r\n//==============================================================================\r\n\r\n//----------------------------------------------------------\r\n// Attribute names list\r\n//----------------------------------------------------------\r\nexport const attrNames = {\r\n productType: 'Item Type',\r\n lineAttributes: 'LineAttributes',\r\n blacklistedShippingAreas: 'Embargoed shipping locations',\r\n kitConfigurator: 'KitConfigurator',\r\n kitContents: 'eCommBurstoutKitContents',\r\n kitFormats: 'eCommBurstoutKitFormats',\r\n kitElectives: 'eCommBurstoutKitElectives',\r\n kitSubstitutions: 'eCommBurstoutKitSubstitutions',\r\n kitLineSubstitutions: 'eCommBurstoutKitLineDetails',\r\n kitLineParentAssociation: 'eCommBurstoutKitOrderLineParentAssociation',\r\n kitLineChildAssociation: 'eCommBurstoutKitOrderLineChildAssociation',\r\n instructors: 'eCommInstructors',\r\n consultantCartAttribute: 'eCommConsultantId',\r\n isInstallmentEligible: 'eCommItemIsPPEligible',\r\n cashForCollege: 'eCommCash4College',\r\n dropShip: 'eCommDropShip',\r\n scoringType: 'TestScoring',\r\n studentId: 'eCommPTEStudentId',\r\n schoolIdPP: 'eCommPPSchoolId',\r\n testCoordinator: 'PTETestCoordinator',\r\n testEnrollment: 'PTESchoolEnrollment',\r\n testType: 'Test Type',\r\n testFormat: 'Test Format',\r\n testDate: 'eCommPTETestDate',\r\n testDateId: 'eCommPTETestDateId',\r\n testAdmin: 'eCommPTEAdminCustAccount',\r\n testProctorEmail: 'PTEProctorEmail',\r\n testProctorName: 'PTEProctorName',\r\n testProctorPhone: 'PTEProctorPhone',\r\n testProctorTimeZone: 'PTEProctorTimeZone',\r\n userAgreement: 'eCommUserAgreement',\r\n umbrellaGroup: 'UmbrellaGroupID',\r\n gradeLvl: 'Grade level',\r\n isNotTest: 'Other',\r\n onlineTest: 'Online test',\r\n purchaseItemType: 'TestBklt',\r\n notBuyable: 'Not Buyable',\r\n billingCountry: 'eCommBillingCountryCode',\r\n billingZipCode: 'eCommBillingZipPostalCode',\r\n paymentScheduleName: 'PaymentScheduleName',\r\n isDBOrder: 'IsDBOrder',\r\n troveAdminFirstName: \"TroveAdminFirstName\",\r\n troveAdminLastName: \"TroveAdminLastName\",\r\n troveAdminEmail: \"TroveAdminEmail\",\r\n troveAdminTelephone: \"TroveAdminTelephone\",\r\n troveAnnualLicense: \"TroveAnnualLicense\",\r\n troveProduct: \"Trove\",\r\n troveParticipant: \"TroveParticipant\",\r\n poNumber: \"CSPONumber\"\r\n};\r\n\r\n//----------------------------------------------------------\r\n// Global label resources\r\n//----------------------------------------------------------\r\nexport const labelResources = {\r\n sku: 'SKU'\r\n};\r\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IProductDimensionsWithAvailabilitiesFull } from '@msdyn365-commerce/commerce-entities';\nimport { ProductDimensionsMatrix } from '@msdyn365-commerce/components';\nimport { RichTextComponent } from '@msdyn365-commerce/core';\nimport { ICoreContext, getCatalogId } from '@msdyn365-commerce/core-internal';\nimport { ArrayExtensions, IDimensionsApp, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport { Button, Collapse, IModuleProps, isMobile, VariantType } from '@msdyn365-commerce-modules/utilities';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { FeatureState } from '@msdyn365-commerce/retail-proxy';\nimport { IBulkPurchaseData } from './bulk-purchase.data';\nimport { IBulkPurchaseProps } from './bulk-purchase.props.autogenerated';\n\n/**\n * Additional optional props for the bulk purchase.\n */\nexport interface IBulkPurchaseExtendedProps extends IBulkPurchaseProps {\n productDimensions?: IProductDimensionsWithAvailabilitiesFull[];\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseViewProps extends IBulkPurchaseProps {\n container: IModuleProps;\n content: React.ReactElement;\n}\n\n/**\n * View for the bulk purchase module.\n */\nexport interface IBulkPurchaseState {\n isExpanded: boolean;\n}\n\n/**\n * Bulk-purchase module.\n */\nexport class BulkPurchase extends React.PureComponent {\n public static readonly className = 'ms-bulk-purchase';\n private readonly collapseRef: React.RefObject = React.createRef();\n\n public constructor(props: IBulkPurchaseExtendedProps) {\n super(props);\n\n this.state = {\n isExpanded: false\n };\n }\n\n public render(): React.ReactElement | null {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const hasDimensionsInData = ArrayExtensions.hasElements(this.props.data.productDimensions?.result);\n if (!hasDimensionsInProps && !hasDimensionsInData) {\n return null;\n }\n\n const viewProps: IBulkPurchaseViewProps = {\n ...this.props,\n container: {\n moduleProps: this.props,\n className: classnames(BulkPurchase.className, this.props.config.className)\n },\n content: this._renderCollapseContent(`${BulkPurchase.className}__content`)\n };\n\n return this.props.renderView(viewProps) as React.ReactElement;\n }\n\n private _renderCollapseContent(className: string): React.ReactElement {\n return (\n
\n {this._renderCollapseButton(`${className}__collapse-button`)}\n {this._renderCollapse(`${className}__collapse`)}\n
\n );\n }\n\n private _renderCollapseButton(className: string): React.ReactElement {\n return (\n \n {this.props.resources.bulkPurchaseHeaderTitle}\n \n );\n }\n\n /**\n *This function is being used to handel variant change dropdown.\n */\n private _dimensionDropDownChange = () => {\n this.collapseRef.current?.reEvaluateHeight();\n };\n\n private _renderCollapse(className: string): React.ReactElement {\n return (\n \n {this._renderMainContent(`${className}__main-content`)}\n \n );\n }\n\n private _renderMainContent(className: string): React.ReactElement {\n const isMobileDevice = isMobile({ variant: VariantType.Viewport, context: this.props.context.request }) === 'xs';\n\n return (\n
\n {!isMobileDevice && (\n
\n \n
\n )}\n {this._renderMatrix(`${className}__matrix-container`)}\n
\n );\n }\n\n private _renderMatrix(className: string): React.ReactElement {\n const hasDimensionsInProps = ArrayExtensions.hasElements(this.props.productDimensions);\n const channelMultipleCatalogsFeature = 'Dynamics.AX.Application.ChannelMultipleCatalogsFeature';\n const { featureState } = this.props.data;\n const isMultipleCatalogsFeatureEnabled =\n featureState?.result?.find((item: FeatureState) => item.Name === channelMultipleCatalogsFeature)?.IsEnabled || false;\n const catalogId = getCatalogId(this.props.context.request);\n validateCatalogId(catalogId);\n return (\n }\n data={{\n dimensions: hasDimensionsInProps ? this.props.productDimensions! : this.props.data.productDimensions!.result!,\n orderTemplates: this.props.data.orderTemplates?.result,\n customerInformation: this.props.data.customerInformation?.result\n }}\n resources={this.props.resources}\n dimensionOnChange={this._dimensionDropDownChange}\n isMultipleCatalogFeatureEnabledInHq={isMultipleCatalogsFeatureEnabled}\n catalogId={catalogId}\n />\n );\n }\n\n /**\n * Callback which toggles collapse mode.\n */\n private readonly _toggleCollapse = () => {\n this.setState(state => ({\n isExpanded: !state.isExpanded\n }));\n };\n}\n\nexport default BulkPurchase;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n AddToCartComponent,\n AddToOrderTemplateComponent,\n AddToWishlistComponent,\n IAddToCartFailureResult,\n IAddToCartResources,\n IAddToOrderTemplateDialogResources,\n IDuplicateItemsWhenAddingToOrderTemplateDialogResources,\n IItemAddedToOrderTemplateDialogResources,\n IOrderTemplateActionErrorResult,\n IOrderTemplateNameDialogResources,\n IWishlistActionErrorResult,\n PriceComponent,\n RatingComponent\n} from '@msdyn365-commerce/components';\nimport { getUrlSync, IImageSettings } from '@msdyn365-commerce/core';\nimport { ICartActionResult, ICartState } from '@msdyn365-commerce/global-state';\nimport { ProductAvailableQuantity, SimpleProduct } from '@msdyn365-commerce/retail-proxy';\nimport { ArrayExtensions, DeliveryMode, validateCatalogId } from '@msdyn365-commerce-modules/retail-actions';\nimport {\n Alert,\n Button,\n format,\n getPayloadObject,\n getTelemetryAttributes,\n getTelemetryObject,\n Heading,\n ITelemetryContent,\n Node,\n Quantity,\n TelemetryConstant\n} from '@msdyn365-commerce-modules/utilities';\nimport * as React from 'react';\n\nimport {\n IBuyboxAddToCartViewProps,\n IBuyboxAddToOrderTemplateViewProps,\n IBuyboxAddToWishlistViewProps,\n IBuyboxCallbacks,\n IBuyboxCommonData,\n IBuyboxCommonResources,\n IBuyboxErrorBlockProps,\n IBuyboxExtentedProps,\n IBuyboxKeyInPriceViewProps,\n IBuyboxProductQuantityViewProps,\n IBuyboxShopSimilarLookViewProps,\n IBuyboxState,\n IProductDetails,\n ShopSimiliarButtonType\n} from './buyboxInterface';\nimport { getConfigureErrors, getGenericError, getQuantityError } from './utilities/error-utilities';\n\nconst _getClassNamePrefix = (typeName: string): string => {\n return typeName.toLocaleLowerCase() === 'quickview' ? 'ms-quickView' : 'ms-buybox';\n};\n\nexport function getBuyBoxInventoryLabel(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const productAvailableQuantity = props.data.productAvailableQuantity?.result ?? productDetails?.productAvailableQuantity;\n\n const className = _getClassNamePrefix(typeName);\n if (!productAvailableQuantity || !ArrayExtensions.hasElements(productAvailableQuantity)) {\n return undefined;\n }\n const shippingInventory = productAvailableQuantity.find(shipping => shipping.deliveryType === DeliveryMode.shipping);\n\n if (shippingInventory) {\n let inventoryClassName: string;\n if (shippingInventory.StockLevelCode) {\n inventoryClassName = `${className}__inventory-label ${className}__inventory-code-${shippingInventory.StockLevelCode.toLowerCase()}`;\n } else {\n inventoryClassName = `${className}__inventory-label`;\n }\n return (\n
\n {shippingInventory.StockLevelLabel}\n
\n );\n }\n\n return undefined;\n}\n\nexport function getBuyboxProductTitle(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const {\n config: { titleHeadingTag = 'h1' },\n typeName\n } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product && ;\n}\n\nexport function getBuyboxProductDescription(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n const className = _getClassNamePrefix(typeName);\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product ?? undefined;\n\n return product &&

{product.Description}

;\n}\n\n/**\n * Gets the react node for product unit of measure display.\n * @param {IBuyboxExtentedProps} props The buybox module props.\n * @param {IProductDetails} productDetails The product details to be displyed in buybox.\n * @returns {React.ReactElement} The node representing markup for unit of measure component.\n */\nexport function getBuyboxProductUnitOfMeasure(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { typeName } = props;\n const className = _getClassNamePrefix(typeName);\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- Do not need type check for appsettings\n if (\n props.context.app.config &&\n (!props.context.app.config.unitOfMeasureDisplayType || props.context.app.config.unitOfMeasureDisplayType === 'none')\n ) {\n return undefined;\n }\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product;\n if (!product || !product.DefaultUnitOfMeasure) {\n props.telemetry.warning('Missing defult unit of measureor theproduct');\n return undefined;\n }\n\n return (\n
\n {product.DefaultUnitOfMeasure}\n
\n );\n}\n\nlet telemetryContent: ITelemetryContent;\n\n/**\n * On add to cart failed function.\n * @param props -The buybox module props.\n * @param state -The buybox module state.\n * @param callbacks -The buybox module callbacks.\n * @param defaultMinimumKeyInPrice -The default minimum key in price.\n * @param defaultMaximumKeyInPrice -The default maximum key in price.\n * @param cart -The cart state.\n * @param product -The simple product.\n * @param productAvailability -The product available quantity.\n * @returns Update error state.\n */\nconst onAddToCartFailed = (\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n defaultMinimumKeyInPrice: number,\n defaultMaximumKeyInPrice: number,\n cart: ICartState,\n product: SimpleProduct,\n productAvailability: ProductAvailableQuantity | undefined\n) => (result: IAddToCartFailureResult) => {\n let quantityErrorForState: string | undefined;\n let customAmountErrorForState: string | undefined;\n let otherErrorForState: string | undefined = getGenericError(\n result,\n cart,\n props.resources,\n props.context,\n product,\n productAvailability,\n undefined\n );\n\n if (result.failureReason === 'OUTOFSTOCK') {\n quantityErrorForState = result.failureReason === 'OUTOFSTOCK' ? getQuantityError(result.stockLeft, props.resources) : undefined;\n } else if (\n result.failureReason === 'CARTACTIONFAILED' &&\n result.cartActionResult &&\n (result.cartActionResult.substatus === 'MAXQUANTITY' || result.cartActionResult.substatus === 'QUANTITYLIMITS')\n ) {\n quantityErrorForState = getGenericError(result, cart, props.resources, props.context, product, productAvailability, undefined);\n otherErrorForState = undefined; // Prevent error duplication in otherError and quantityError\n }\n\n if (result.failureReason === 'INVALIDCUSTOMAMOUNT') {\n if (state.keyInPriceAmount === undefined || state.keyInPriceAmount < (props.config.minimumKeyInPrice || defaultMinimumKeyInPrice)) {\n const formatedAmountLimit = props.context.cultureFormatter.formatCurrency(\n props.config.minimumKeyInPrice || defaultMinimumKeyInPrice\n );\n customAmountErrorForState = props.resources.invalidSmallCustomAmountText.replace('{minAmount}', formatedAmountLimit);\n } else if (state.keyInPriceAmount > (props.config.maximumKeyInPrice || defaultMaximumKeyInPrice)) {\n const formatedAmountLimit = props.context.cultureFormatter.formatCurrency(\n props.config.maximumKeyInPrice || defaultMaximumKeyInPrice\n );\n customAmountErrorForState = props.resources.invalidLargeCustomAmountText.replace('{maxAmount}', formatedAmountLimit);\n }\n }\n\n callbacks.updateErrorState({\n errorHost: 'ADDTOCART',\n quantityError: quantityErrorForState,\n configureErrors:\n result.failureReason === 'MISSINGDIMENSION'\n ? getConfigureErrors(result.missingDimensions, props.resources, product?.IsGiftCard)\n : {},\n customAmountError: customAmountErrorForState,\n otherError: otherErrorForState\n });\n};\n\n/**\n * On Item Add To Cart function.\n * @param typeName -Type name.\n * @param callbacks -Buybox Callbacks.\n * @returns Change modal open.\n */\nconst onItemAddedToCart = (typeName: string, callbacks: IBuyboxCallbacks) => (result: ICartActionResult) => {\n if (typeName === 'quickview') {\n callbacks.changeModalOpen(false);\n }\n};\n\nexport function getBuyboxAddToCart(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n defaultMinimumKeyInPrice: number,\n defaultMaximumKeyInPrice: number,\n productDetails?: IProductDetails,\n hasAvailableProducts?: boolean\n): IBuyboxAddToCartViewProps {\n const { id, typeName, context, resources } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const product = props.data.product?.result ?? productDetails?.product;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const cart = props.data.cart?.result ?? productDetails?.cart;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const productAvailableQuantity = props.data.productAvailableQuantity?.result ?? productDetails?.productAvailableQuantity;\n\n const {\n quantity,\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n selectedProduct,\n isUpdatingDimension,\n isUpdatingDeliveryOptions,\n isServiceItem\n } = state;\n\n const productAvailability = state.productAvailableQuantity\n ? state.productAvailableQuantity.ProductAvailableQuantity\n : productAvailableQuantity && productAvailableQuantity.length > 0\n ? productAvailableQuantity[0].ProductAvailableQuantity\n : undefined;\n\n const dialogStrings: IAddToCartResources = {\n goToCartText: resources.buyBoxGoToCartText,\n continueShoppingText: resources.buyBoxContinueShoppingText,\n closeNotificationLabel: resources.closeNotificationLabel,\n headerItemOneText: resources.buyBoxSingleItemText,\n headerItemFormatText: resources.buyBoxMultiLineItemFormatText,\n headerMessageText: resources.buyBoxHeaderMessageText,\n freePriceText: resources.priceFree,\n originalPriceText: resources.originalPriceText,\n currentPriceText: resources.currentPriceText,\n addedQuantityText: resources.addedQuantityText\n };\n\n const defaultImageSettings: IImageSettings = {\n viewports: {\n xs: { q: 'w=240&h=240&m=6', w: 0, h: 0 },\n lg: { q: 'w=240&h=240&m=6', w: 0, h: 0 },\n xl: { q: 'w=240&h=240&m=6', w: 0, h: 0 }\n },\n lazyload: true\n };\n\n const isProductQuantityLoading = typeName !== 'quickview' && props.data.productAvailableQuantity.status === 'LOADING';\n if (isProductQuantityLoading) {\n callbacks.changeUpdatingDimension(false);\n }\n\n const isLoadingDeliveryOptions = typeName !== 'quickview' && props.data.deliveryOptions?.status === 'LOADING';\n if (isLoadingDeliveryOptions && callbacks.changeUpdatingDeliveryOptions) {\n callbacks.changeUpdatingDeliveryOptions(false);\n }\n\n telemetryContent = getTelemetryObject(props.context.request.telemetryPageName!, props.typeName, props.telemetry);\n\n // Check if the product delivery mode is electronic\n const emailDeliveryModeCode = props.context.actionContext.requestContext.channel?.EmailDeliveryModeCode;\n // from quickview we are not getting deliveryoptions in props.data hence getting it from quickview state\n const deliveryOptions = typeName === 'quickview' ? state.productDeliveryOptions : props.data.deliveryOptions?.result;\n const isEmailDelivery =\n ArrayExtensions.hasElements(deliveryOptions?.DeliveryOptions) && deliveryOptions!.DeliveryOptions[0].Code === emailDeliveryModeCode;\n const className = _getClassNamePrefix(typeName);\n const isDisabled = isUpdatingDimension && typeName === 'quickview';\n\n return {\n ContainerProps: {\n className: `${className}__add-to-cart-container`\n },\n button: product && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * Get the React.ReactElement contains price.\n * @param props - The IBuyboxExtentedProps.\n * @param state - The buybox state.\n * @returns The React.ReactElement.\n */\nexport function getBuyboxProductPrice(props: IBuyboxExtentedProps, state: IBuyboxState): React.ReactElement | undefined {\n const { id, typeName, context, resources } = props;\n\n return (\n state.productPrice && (\n featureState.Name === 'Dynamics.AX.Application.RetailSearchPriceRangeFeature'\n )?.IsEnabled\n }\n isSalesAgreementPriceFeatureEnabled={\n props.data.featureState.result?.find(\n featureState => featureState.Name === 'Dynamics.AX.Application.RetailSalesAgreementPriceSupportFeature'\n )?.IsEnabled\n }\n priceResources={{\n priceRangeSeparator: resources.priceRangeSeparator,\n salesAgreementPricePrompt: resources.salesAgreementPricePrompt,\n salesAgreementExpirationDatePrompt: resources.salesAgreementExpirationDatePrompt,\n salesAgreementCommittedQuantityPrompt: resources.salesAgreementCommittedQuantityPrompt,\n salesAgreementRemainingQuantityPrompt: resources.salesAgreementRemainingQuantityPrompt\n }}\n freePriceText={resources.priceFree}\n originalPriceText={resources.originalPriceText}\n currentPriceText={resources.currentPriceText}\n />\n )\n );\n}\n\nexport function getBuyboxProductRating(\n props: IBuyboxExtentedProps,\n productDetails?: IProductDetails\n): React.ReactElement | undefined {\n const { id, typeName, context, resources } = props;\n\n // Since the data action can return no value, and the type is non-nullable due to backward compatibility reasons, the null check is required.\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- Explicitly check for null/undefined.\n const ratingsSummary = props.data.ratingsSummary?.result ?? productDetails?.ratingsSummary;\n if (!ratingsSummary || !ratingsSummary.averageRating) {\n return
;\n }\n const ratingComponent = (\n \n );\n\n return ratingComponent;\n}\n\nfunction generateAddToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IAddToOrderTemplateDialogResources {\n return {\n addToOrderTemplateHeader: resources.addToOrderTemplateHeader,\n\n noOrderTemplatesMessage: resources.noOrderTemplatesMessage,\n noOrderTemplatesDescription: resources.noOrderTemplatesDescription,\n\n createAnOrderTemplateButtonText: resources.createAnOrderTemplateButtonText,\n createNewOrderTemplateButtonText: resources.createNewOrderTemplateButtonText,\n cancelOrderTemplateCreationButtonText: resources.cancelOrderTemplateCreationButtonText,\n\n selectTemplatesText: resources.selectTemplatesText,\n addToTemplateButtonText: resources.addToTemplateButtonText,\n lineItemsText: resources.lineItemsText\n };\n}\n\nfunction generateOrderTemplateNameDialogResources(resources: IBuyboxCommonResources): IOrderTemplateNameDialogResources {\n return {\n orderTemplateHeaderLabel: resources.createOrderTemplateHeader,\n orderTemplateTitleLabel: resources.orderTemplateTitle,\n orderTemplateNameAriaLabel: resources.orderTemplateNameAriaLabel,\n orderTemplateDescription: resources.createOrderTemplateDescription,\n\n defaultOrderTemplateName: resources.defaultOrderTemplateName,\n\n orderTemplateButtonLabel: resources.createOrderTemplateButtonText,\n orderTemplateCancelButtonLabel: resources.cancelNewOrderTemplateCreationButtonText\n };\n}\n\nfunction generateItemAddedToOrderTemplateDialogResources(resources: IBuyboxCommonResources): IItemAddedToOrderTemplateDialogResources {\n return {\n viewOrderTemplateButtonText: resources.viewOrderTemplateButtonText,\n continueShoppingButtonText: resources.continueShoppingButtonText,\n itemAddedToOrderTemplateHeaderItemOneText: resources.itemAddedToOrderTemplateHeaderItemOneText,\n itemAddedToOrderTemplateHeaderItemFormatText: resources.itemAddedToOrderTemplateHeaderItemFormatText,\n itemAddedToOrderTemplateHeaderMessageText: resources.itemAddedToOrderTemplateHeaderMessageText,\n freePriceText: resources.priceFree,\n originalPriceText: resources.originalPriceText,\n currentPriceText: resources.currentPriceText\n };\n}\n\nfunction generateDuplicateItemsWhenAddingToOrderTemplateDialogResources(\n resources: IBuyboxCommonResources\n): IDuplicateItemsWhenAddingToOrderTemplateDialogResources {\n return {\n duplicatedProductsHeader: resources.duplicatedProductsHeader,\n duplicatedProductsDescription: resources.duplicatedProductsDescription,\n updateQuantityButtonText: resources.updateQuantityButtonText,\n cancelDuplicateItemsButtonText: resources.cancelDuplicateItemsButtonText\n };\n}\n\n/**\n * Add to order template failed function.\n * @param callbacks -Buybox callbacks.\n * @param resources -Buybox common resources.\n * @param product -Simple product.\n * @returns Update error state.\n */\nconst onAddToOrderTemplateFailed = (callbacks: IBuyboxCallbacks, resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (\n result: IOrderTemplateActionErrorResult\n) => {\n callbacks.updateErrorState({\n errorHost: 'ORDER_TEMPLATE',\n configureErrors:\n result.status === 'MISSING_DIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\n });\n};\n\nexport function getBuyboxProductAddToOrderTemplate(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n isMultipleCatalogsFeatureEnabled?: boolean,\n catalogId?: number\n): IBuyboxAddToOrderTemplateViewProps | undefined {\n const {\n id,\n typeName,\n context,\n data: {\n orderTemplates: { result: orderTemplates },\n customerInformation: { result: customerInformation }\n },\n resources\n } = props;\n\n const product = props.data.product?.result;\n\n const {\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n quantity\n } = state;\n\n // If custom amount is selected, add-to-orderTemplate is disabled\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n const className = _getClassNamePrefix(typeName);\n\n return {\n ContainerProps: {\n className: `${className}__add-to-order-template-container`\n },\n button: product && orderTemplates && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * Renders add to comparison button for the given product.\n * @param productComparisonButton - React element of the button.\n * @param product - Product information.\n * @param catalogId - Current catalog.\n * @param state - Buybox state.\n * @returns React element of the button.\n */\nexport function getBuyboxProductComparisonButton(\n productComparisonButton: React.ReactNode,\n product: SimpleProduct,\n catalogId: number,\n state: IBuyboxState\n): JSX.Element | undefined {\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n\n validateCatalogId(catalogId);\n return React.cloneElement(productComparisonButton as React.ReactElement, { product, catalogId });\n}\n\n/**\n * Add to wishlist failed function.\n * @param callbacks -Buybox callbacks.\n * @param resources -Buybox resources.\n * @param product -Simple product.\n * @returns Update error state.\n */\nconst onAddToWishlistFailed = (callbacks: IBuyboxCallbacks, resources: IBuyboxCommonResources, product: SimpleProduct | undefined) => (\n result: IWishlistActionErrorResult\n) => {\n callbacks.updateErrorState({\n errorHost: 'WISHLIST',\n configureErrors:\n result.status === 'MISSINGDIMENSION' ? getConfigureErrors(result.missingDimensions, resources, product?.IsGiftCard) : {}\n });\n};\n\nexport function getBuyboxProductAddToWishlist(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks,\n productDetails?: IProductDetails\n): IBuyboxAddToWishlistViewProps | undefined {\n const {\n id,\n typeName,\n context,\n data: {\n wishlists: { result: wishlists }\n },\n resources\n } = props;\n\n const product = props.data.product?.result ? props.data.product.result : productDetails?.product;\n\n const {\n errorState: { configureErrors, quantityError, customAmountError, otherError, errorHost },\n selectedProduct\n } = state;\n\n // If custom amount is selected, add-to-wishlist is disabled\n if (state.isCustomPriceSelected) {\n return undefined;\n }\n\n const className = _getClassNamePrefix(typeName);\n\n return {\n ContainerProps: {\n className: `${className}__add-to-wishlist-container`\n },\n button: product && (\n \n ),\n errorBlock: (\n \n )\n };\n}\n\n/**\n * On quantity change function.\n * @param callbacks -Buybox callbacks.\n * @returns Update quantity.\n */\nconst onQuantityChangeHandler = (callbacks: IBuyboxCallbacks) => (newValue: number) => {\n if (callbacks.updateQuantity) {\n callbacks.updateQuantity(newValue);\n }\n};\n\nexport function getBuyboxProductQuantity(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks\n): IBuyboxProductQuantityViewProps {\n const { resources, typeName } = props;\n\n const {\n quantity,\n max,\n errorState: { quantityError }\n } = state;\n\n const className = _getClassNamePrefix(typeName);\n\n return {\n ContainerProps: {\n className: `${className}__quantity`\n },\n LabelContainerProps: {\n tag: 'label',\n className: `${className}__product-quantity-label`,\n htmlFor: `${className}__product-quantity-input`\n },\n heading:
{resources.productQuantityHeading}
,\n errors: quantityError && (\n \n \n ),\n input: (\n \n )\n };\n}\n\nexport function getBuyboxShopSimilarButton(\n props: IBuyboxExtentedProps,\n buttonType: ShopSimiliarButtonType\n): IBuyboxShopSimilarLookViewProps {\n const { resources, context, typeName } = props;\n const product = props.data.product?.result;\n\n const className = _getClassNamePrefix(typeName);\n const navigationUrl = (shopSimiliarButtonType: ShopSimiliarButtonType) => () => {\n const searchURL = getUrlSync('search', context && context.actionContext);\n const separator = searchURL!.includes('?') ? '&' : '?';\n document.location.href = `${searchURL}${separator}productId=${product &&\n product.RecordId}&recommendation=${shopSimiliarButtonType}`;\n };\n const telemetryText =\n buttonType === ShopSimiliarButtonType.Looks ? TelemetryConstant.ShopSimliarLooks : TelemetryConstant.ShopSimliarDescription;\n const payLoad = getPayloadObject('click', telemetryContent, telemetryText);\n const attribute = getTelemetryAttributes(telemetryContent, payLoad);\n const text = buttonType === ShopSimiliarButtonType.Looks ? resources.shopSimilarLooksText : resources.shopSimilarDescriptionText;\n\n return {\n ContainerProps: {\n className: `${className}__shopsimilar${buttonType}`\n },\n input: (\n \n {text}\n \n )\n };\n}\n\n/**\n * On price change function.\n * @param callbacks -Buybox callbacks.\n * @returns Update key in price.\n */\nconst onPriceChangeHandler = (callbacks: IBuyboxCallbacks) => (event: React.ChangeEvent) => {\n const value = event.currentTarget.value;\n callbacks.updateKeyInPrice(value.length > 0 ? Number(value) : Number.parseFloat(value));\n};\n\nexport function getBuyboxKeyInPrice(\n props: IBuyboxExtentedProps,\n state: IBuyboxState,\n callbacks: IBuyboxCallbacks\n): IBuyboxKeyInPriceViewProps {\n const { config, resources } = props;\n\n const {\n errorState: {}\n } = state;\n\n const className = _getClassNamePrefix(props.typeName);\n\n return {\n ContainerProps: {\n className: `${className}__key_in_price`\n },\n LabelContainerProps: {\n tag: 'label',\n className: `${className}__key_in_price-label`,\n htmlFor: `${className}__key_in_price`\n },\n heading:
{resources.buyboxKeyInPriceLabelHeading}
,\n input: (\n \n )\n };\n}\n\nexport const BuyboxErrorBlock: React.FC = ({\n showError,\n configureErrors,\n quantityError,\n customAmountError,\n otherError,\n resources\n}) => {\n let errorMessages: (string | undefined)[] = [];\n\n errorMessages = Object.values(configureErrors).filter(message => message !== undefined);\n\n if (quantityError) {\n errorMessages.push(quantityError);\n }\n\n if (customAmountError) {\n errorMessages.push(customAmountError);\n }\n\n if (otherError) {\n errorMessages.push(otherError);\n }\n\n return (\n 0} color='danger' assertive aria-label={resources.buyboxErrorMessageHeader}>\n \n {errorMessages.map((message, index) => {\n return (\n
\n {message}\n
\n );\n })}\n
\n );\n};\n\nexport function getQuantityLimitsMessages(\n props: IBuyboxExtentedProps,\n state: IBuyboxState\n): React.ReactElement | undefined {\n const { resources } = props;\n\n const { min, max } = state;\n\n if (!_isOrderQuantityLimitsFeatureEnabled(props) && !_isChannelLimitsFeatureEnabled(props)) {\n return undefined;\n }\n\n return (\n \n {_renderMaxLabel(props, max, resources.maxQuantityText)}\n {_renderMinLabel(props, min, resources.minQuantityText)}\n \n );\n}\n\nexport const RetailDefaultOrderQuantityLimitsFeatureName: string = 'Dynamics.AX.Application.RetailDefaultOrderQuantityLimitsFeature';\nexport const EcommerceQuantityLimitConfigurationsFeatureName: string =\n 'Dynamics.AX.Application.EcommerceQuantityLimitConfigurationsFeature';\n\nconst _renderMaxLabel = (\n props: IBuyboxExtentedProps,\n max: number | undefined,\n maxQuantityText: string\n): React.ReactElement | undefined => {\n const { resources, typeName } = props;\n const className = _getClassNamePrefix(typeName);\n if (max && max !== 0 && max !== Number.MAX_VALUE) {\n return (\n

\n {resources.informationIconText}\n