{"version":3,"file":"client.c2605861e1a154870201.js","mappings":"0KAGIA,EAAmB,mEAKnBC,EAAiB,wEAGjBC,EAAiB,uCACjBC,EAAa,uCACbC,EAAkB,8BAClBC,EAAkB,yBACXC,EAAa,WACtB,IAAIC,EAAS,CAAC,EA+Bd,OA9BIC,OAAOC,SAASC,KAAKC,QAAQ,cAAgB,GAAKH,OAAOC,SAASC,KAAKC,QAAQ,qBAAuB,GAKvE,qBAAxBH,OAAOC,SAASC,MAAuD,uBAAxBF,OAAOC,SAASC,MAJxEH,EAAOK,IAAMZ,EACbO,EAAOM,MAAQZ,EACfM,EAAOO,MAAQZ,EACfK,EAAOQ,YAAcX,GAMY,wBAAxBI,OAAOC,SAASC,MACzBH,EAAOK,IAxBW,kCAyBlBL,EAAOM,MApBS,iCAqBhBN,EAAOO,MAAQX,EACfI,EAAOQ,YAAcV,GACY,gBAAxBG,OAAOC,SAASC,MAAkD,wBAAxBF,OAAOC,SAASC,MAA0D,0BAAxBF,OAAOC,SAASC,OACrHH,EAAOK,IA5BQ,0BA6BfL,EAAOM,MAxBM,yBAyBbN,EAAOO,MAAQX,EACfI,EAAOQ,YAAcV,GAEvBE,EAAOS,MAAO,OAAgB,CAC5BC,SAAUV,EAAOQ,YACjBG,UAAWX,EAAOM,MAClBM,sBAAuBX,OAAOC,SAASW,OAAS,IAChDC,YAAa,GAAGC,OAAOd,OAAOC,SAASc,SAAU,MAAMD,OAAOd,OAAOC,SAASe,UAAUF,OAAOd,OAAOC,SAASgB,KAAO,IAAIH,OAAOd,OAAOC,SAASgB,MAAQ,GAAI,kBAC7JC,2BAA2B,EAC3BC,iBAAkB,CAACpB,EAAOM,OAC1Be,aAAc,QACb,wBAAyB,GAAGN,OAAOd,OAAOC,SAASc,SAAU,MAAMD,OAAOd,OAAOC,SAASe,UAAUF,OAAOd,OAAOC,SAASgB,KAAO,IAAIH,OAAOd,OAAOC,SAASgB,MAAQ,KACjKlB,CACT,C,YChDAsB,OAAOC,UAAUC,WAAa,WAC5B,OAAOC,KAAKC,OAAO,GAAGC,cAAgBF,KAAKG,MAAM,EACnD,C,mOCQIC,EAAa,CACfC,KATmB,EAAQ,MACD/B,aAQbU,KACbsB,MAAO,CAGLC,cAAe,eACfC,yBAXE,gBAiBN,QAHmB,IAAI,IAA6BJ,G,yBCfhDK,EAFiB,EAAQ,MACDnC,aACIQ,MAC5B4B,EAAc,IAAI,IAAoB,CACxCnC,OAAQ,CACNkC,mBAAoBA,EACpBE,0BAA0B,KCH9B,SAASC,EAAQC,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAASU,EAAcZ,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAIF,EAAQI,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAMH,EAAQI,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CDKtbH,EAAYsB,kBACZtB,EAAYuB,QAAQC,YAAYC,IAAM,ECLtC,IACI,EADiB,EAAQ,MACD7D,aAOxB8D,EAA8B,WAIhC,OAAO,QAHP,SAASA,KACP,OAAgBpC,KAAMoC,EACxB,GACoC,CAAC,CACnCC,IAAK,QACLC,MAKA,SAAe/D,GACbmC,EAAY6B,WAAW,CACrBC,QAAS,+CAEXC,aAAaC,QACb,IAAIC,EAAU3C,KAAK4C,aACL,MAAVrE,IACFoE,EAAUlB,EAAcA,EAAc,CAAC,EAAGkB,GAAUpE,IAEtDS,EAAa6D,cAAcF,EAC7B,GAMC,CACDN,IAAK,sBACLC,MAAO,WACL,OAAO,IAAIQ,SAAQ,SAAUC,EAASC,GACpChE,EAAaiE,wBAAwBC,MAAK,SAAUC,GAClDzC,EAAY6B,WAAW,CACrBC,QAAS,iDAEO,MAAdW,GACFnE,EAAaoE,iBAAiBD,EAAWE,SACzCN,MAEArC,EAAY4C,eAAe,CACzBC,UAAW,IAAIC,MAAM,mCAEvBR,IAEJ,GACF,GACF,GAKC,CACDX,IAAK,SACLC,OACMmB,GAAU,OAAgC,UAAyB,SAASC,IAC9E,OAAO,UAAyB,SAAmBC,GACjD,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EACH7E,EAAa8E,mBAAmB9D,KAAK4C,cAAcM,KAAmB,WACpE,IAAIa,GAAO,OAAgC,UAAyB,SAASC,EAAQC,GACnF,IAAIC,EACJ,OAAO,UAAyB,SAAkBC,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAOH,OANAK,EAAgB,CACdb,QAASY,EAASZ,QAClBe,YAAaH,EAASI,QACtBlF,sBAAuB,EAAOH,KAAKG,uBAErCgF,EAASN,KAAO,EACT7E,EAAasF,eAAeJ,GACrC,KAAK,EACL,IAAK,MACH,OAAOC,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,GACf,OAAOT,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CAtBsE,IAuBxE,KAAK,EACL,IAAK,MACH,OAAOiC,EAAUY,OAEvB,GAAGb,EAAU1D,KACf,KACA,WACE,OAAOyD,EAAQjC,MAAMxB,KAAM0B,UAC7B,IAGD,CACDW,IAAK,aACLC,MAAO,WAML,MAJc,CACZmC,OAAQ,CAAC,SAAU,UAAW,iBAAkB,oBAChDpB,QAHYrE,EAAa0F,mBAM7B,GAKC,CACDrC,IAAK,iBACLC,MAAO,WACL,IAAIqC,EAAQ3E,KACZ,OAAO,IAAI8C,SAAQ,SAAUC,EAASC,GACpC,IAAIL,EAAUgC,EAAM/B,aAGpB5D,EAAa8E,mBAAmBnB,GAASO,MAAK,SAAUe,GACtDlB,EAAQkB,EAASW,YACnB,IAAU,OAAE,SAAUC,GACpBnE,EAAY6B,WAAW,CACrBC,QAAS,8CAEX9B,EAAY4C,eAAe,CACzBC,UAAWsB,IAETA,EAAMrC,QAAQ7D,QAAQ,qBAAuB,EAC/C+B,EAAY6B,WAAW,CACrBC,QAAS,iFAGX9B,EAAY6B,WAAW,CACrBC,QAAS,8CAGb,IAAIsC,EAAQ,IAAIC,YAAY,kBAC5BC,SAASC,cAAcH,GACvBI,QAAQC,IAAIN,GACZ7B,EAAO6B,EACT,GACF,GACF,KArFQ,IACFpB,CAsFV,CA5IkC,GCblC,QADW,ID2JX,EE5JA,IAAI2B,EAAa,2BACbC,EAAY,0BACL,EAAmB,SAA0BC,GACtD,OAAe,MAAXA,IACF7C,aAAa8C,QAAQH,EAAYE,IAC1B,EAIX,EACWE,EAAmB,WAC5B,OAAO/C,aAAagD,QAAQL,EAC9B,ECNI,EADiB,EAAQ,MACD9G,aACxBoH,EAAO,WAAa,CACtBC,QAAS,EAAO/G,IAAM,SAON8G,EAAKE,aAAa3B,SAAS4B,KAAI,SAAU5B,GAIzD,OAHuB,KAAnBA,EAAS6B,SACX7B,EAAS8B,KAAO,MAEX9B,CACT,IAAG,SAAUY,GACX,IAAIZ,EAAWY,EAAMZ,SAErB,OAAIA,GAAgC,IAApBA,EAAS6B,OAChB,IAAIhD,SAAQ,SAAUC,GAC3BiD,YAAW,WAST,GAPKnB,EAAMtG,OAAO0H,QAAiB,QAIjCpB,EAAMtG,OAAO0H,QAAiB,SAAKC,SAASrB,EAAMtG,OAAO0H,QAAiB,SAAK,GAAGE,YAHlFC,UAAU,sHACVvB,EAAMtG,OAAO0H,QAAiB,QAAI,KAKhCC,SAASrB,EAAMtG,OAAO0H,QAAiB,SAAK,GAC9C,OAAOlD,EAAQD,QAAQE,OAAO6B,IAEhC9B,EAAQ2C,EAAK/C,QAAQkC,EAAMtG,QAC7B,GAAG,IACL,IAEKuE,QAAQE,OAAO6B,EACxB,IAqDA,UCvDA,QAvCU,CACRwB,IAAK,SAAaC,GAChB,IAAIC,EAAiB7E,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,IAAmBA,UAAU,GACpF,OAAO,EAAK2E,IAAIC,EAAO,CACrBC,eAAgBA,GAEpB,EACAE,IAAK,SAAaH,EAAOP,GACvB,OAAO,EAAKU,IAAIH,EAAOP,EAAM,CAC3BE,QAAS,CACP,eAAgB,qBAGtB,EACAS,KAAM,SAAcJ,EAAOP,GACzB,OAAO,EAAKW,KAAKJ,EAAOP,EAAM,CAC5BE,QAAS,CACP,eAAgB,qBAGtB,EACA,OAAU,SAAiBK,EAAOP,GAChC,OAAO,EAAa,OAAEO,EAAO,CAC3BP,KAAc,MAARA,EAAeA,EAAO,MAEhC,EACAY,QAAS,SAAiBC,GACxB,OAAO,EAAKP,IAAI,aAAa/G,OAAOsH,GAAK,CACvCC,aAAc,QAElB,EACAC,YAAa,SAAqBR,GAChC,IAAIC,EAAiB7E,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,IAAmBA,UAAU,GACpF,OAAO,EAAK2E,IAAIC,EAAO,CACrBC,eAAgBA,EAChBM,aAAc,QAElB,GCrCK,IAAIE,EAAmB,2BAEnBC,EAAsB,8BACtBC,EAAsB,8BACtBC,EAAsB,8BACtBC,EAAwB,wBCLnC,SAAS,EAAQtG,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,EAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,EAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,EAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAIuG,EAAgB,CAClBC,KAAM,KACNC,aAAc,M,cCLLC,EAAmC,mCACnCC,EAAkC,kCAClCC,EAA8C,8CAC9CC,EAA6C,6CAC7CC,GAAqC,qCACrCC,GAAwB,oCACxBC,GAAsB,mCACtBC,GAA+B,4CAC/BC,GAAgC,6CAChCC,GAA+B,4CAC/BC,GAAgC,SAAuCC,GAChF,MAAO,CACLC,KAAMZ,EACNa,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,iBAAiBhF,MAAK,SAAUe,GACjFlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EAOWsC,GAA+B,SAAsCH,EAAWI,GACzF,MAAO,CACLH,KAAMX,EACNY,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,iBAAiB5I,OAAOgJ,IAAepF,MAAK,SAAUe,GACvGlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EACWwC,GAA0C,SAAiDC,GACpG,MAAO,CACLL,KAAMV,EACNW,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,8BAA8B/G,OAAOkJ,IAAmBtF,MAAK,SAAUe,GAC7ElB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EACW0C,GAAgC,SAAuCP,EAAWM,GAC3F,MAAO,CACLL,KAAMT,EACNU,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,iBAAiB5I,OAAOkJ,EAAkB,uBAAuBtF,MAAK,SAAUe,GACjIlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EACW2C,GAAsB,SAA6BR,GAC5D,MAAO,CACLC,KAAMP,GACNQ,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,mBAAmBhF,MAAK,SAAUe,GACnFlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,E,sBChEA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAGtb,IAAI,GAAgB,CAClB8H,YAAa,GACbC,QAAS,GACTC,UAAW,GACXC,QAAS,GACTC,SAAU,GACVC,WAAY,KACZC,YAAa,KACbC,SAAU,KACVC,eAAgB,KAChBC,oBAAqB,KACrBC,mBAAoB,MA4EtB,SAASC,GAAWlB,EAASmB,GAC3B,IAAIZ,EAAc,GACda,EAAU,OACC,MAAXpB,GACFO,EAAYpH,KAAKC,MAAMmH,GAAa,OAAmBP,IAGzD,IADA,IAAIqB,EAAOF,EAAMT,QACRY,EAAK,EAAGC,EAAehB,EAAae,EAAKC,EAAahI,OAAQ+H,IAAM,CAC3E,IAAIV,EAAaW,EAAaD,GAC1BE,EAAWJ,EAAQI,SAAS,SAAWZ,EAAWa,WAAWC,SAC7DC,EAAUP,EAAQO,QAAQ,SAAWf,EAAWgB,SAASF,SAC5B,SAA7Bd,EAAWiB,eACY,WAArBjB,EAAWlD,SAAwB8D,GAAYG,GACjDN,EAAKlI,KAAKyH,GAGa,mBAArBA,EAAWlD,SAAgC8D,GAAYG,GACrDf,EAAWkB,MAAMvI,OAAS,GAAmC,6BAA9BqH,EAAWkB,MAAM,GAAGpE,QACrD2D,EAAKlI,KAAKyH,EAIlB,CAEA,OADAmB,GAASV,GACFA,CACT,CACA,SAASW,GAAWhC,EAASmB,GAC3B,IAAIZ,EAAc,GACda,EAAU,OACC,MAAXpB,GACFO,EAAYpH,KAAKC,MAAMmH,GAAa,OAAmBP,IAGzD,IADA,IAAIqB,EAAOF,EAAMX,QACRyB,EAAM,EAAGC,EAAgB3B,EAAa0B,EAAMC,EAAc3I,OAAQ0I,IAAO,CAChF,IAAIrB,EAAasB,EAAcD,GAC3BT,EAAWJ,EAAQI,SAAS,SAAWZ,EAAWa,WAAWC,SAC7DC,EAAUP,EAAQO,QAAQ,SAAWf,EAAWgB,SAASF,SAC5B,SAA7Bd,EAAWiB,eACY,WAArBjB,EAAWlD,QAAwB8D,GAAaG,GAClDN,EAAKlI,KAAKyH,GAGa,mBAArBA,EAAWlD,QAAgC8D,GAAaG,GAC/B,MAAvBf,EAAWkB,MAAM,IAA4C,6BAA9BlB,EAAWkB,MAAM,GAAGpE,QACrD2D,EAAKlI,KAAKyH,EAIlB,CAEA,OA8DF,SAAsBS,GACpBA,EAAKc,MAAK,SAAUC,EAAGC,GACrB,IAAIC,EAAQF,EAAER,QACVW,EAAQF,EAAET,QAOd,OANqB,MAAjBQ,EAAEI,cACJF,EAAQF,EAAEK,aAES,MAAjBJ,EAAEG,cACJD,EAAQF,EAAEI,aAEL,KAAOH,GAAOI,OAAS,KAAOH,GAAOG,MAC9C,GACF,CA3EEC,CAAatB,GACNA,CACT,CACA,SAASuB,GAAY5C,EAASmB,GAC5B,IAAIZ,EAAc,GACda,EAAU,OACC,MAAXpB,GACFO,EAAYpH,KAAKC,MAAMmH,GAAa,OAAmBP,IAGzD,IADA,IAAIqB,EAAOF,EAAMR,SACRkC,EAAM,EAAGC,EAAgBvC,EAAasC,EAAMC,EAAcvJ,OAAQsJ,IAAO,CAChF,IAAIjC,EAAakC,EAAcD,GAC/B,GAAIjC,EAAWpC,IAAMV,SAAS8C,EAAWpC,GAAI,IAAK,CAChD,IAAIgD,EAAWJ,EAAQI,SAAS,SAAWZ,EAAWa,WAAWC,SACxC,mBAArBd,EAAWlD,QAA+B8D,IAGrC,GAFHH,EAAK0B,WAAU,SAAUpK,GAC3B,OAAOA,EAAE6F,IAAMoC,EAAWpC,EAC5B,KACE6C,EAAKlI,KAAKyH,EAGhB,KAC2B,YAArBA,EAAWlD,QAAuD,MAA/BkD,EAAWoC,kBAA4B5B,EAAQI,SAAS,KAAOZ,EAAWoC,oBAC/G3B,EAAKlI,KAAKyH,EAGhB,CAEA,OADAmB,GAASV,GACFA,CACT,CACA,SAAS4B,GAAajD,EAASmB,GAC7B,IAAIZ,EAAc,GACH,MAAXP,GACFO,EAAYpH,KAAKC,MAAMmH,GAAa,OAAmBP,IAEzD,IAAIqB,EAAOF,EAAMV,UAajB,OAZAF,EAAY/G,SAAQ,SAAUoH,GACK,SAA7BA,EAAWiB,eACY,YAArBjB,EAAWlD,QAA6C,aAArBkD,EAAWlD,QAChD2D,EAAKlI,KAAKyH,GAGY,MAApBA,EAAWkB,OAAiBlB,EAAWkB,MAAMvI,OAAS,GAA4B,MAAvBqH,EAAWkB,MAAM,IAA4C,6BAA9BlB,EAAWkB,MAAM,GAAGpE,QAChH2D,EAAKlI,KAAKyH,EAGhB,IACAmB,GAASV,GACFA,CACT,CACA,SAASU,GAASV,GAChBA,EAAKc,MAAK,SAAUC,EAAGC,GACrB,IAAIC,EAAQF,EAAER,QACVW,EAAQF,EAAET,QAOd,OANqB,MAAjBQ,EAAEI,cACJF,EAAQF,EAAEK,aAES,MAAjBJ,EAAEG,cACJD,EAAQF,EAAEI,aAEL,KAAOF,GAAOG,OAAS,KAAOJ,GAAOI,MAC9C,GACF,CC3MO,IAAIQ,GAAsB,iCACtBC,GAAwB,mCCDnC,SAAS,GAAQ1K,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBwG,KAAM,MCHD,IAAImE,GAAY,YACZC,GAAa,aAEbC,GAAY,YAChB,SAASC,GAASnJ,EAAS2F,GAChC,IACItD,EAAQ,CACV+G,IAAKpJ,EACL2F,KAHcA,GAAQ,UAItB0D,OAAQ,MACRC,KAAM,QAER,MAAO,CACL3D,KAAMqD,GACNpD,QAASvD,EAEb,CACO,IAAIkH,GAAY,SAAmBC,GACxC,MAAO,CACL7D,KAAMsD,GACNrD,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GAC1B,MAARgJ,IACFA,EAAO,SAEG,MAARA,IACFA,EAAO,SAEG,MAARA,IACFA,EAAO,SAEG,MAARA,IACFA,EAAO,SAEG,MAARA,IACFA,EAAO,SAET,EAAI3F,IAAI,eAAe/G,OAAO0M,IAAO9I,MAAK,SAAUe,GAClDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EACWkG,GAAW,WACpB,MAAO,CACL9D,KAAMuD,GACNtD,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,cAAcnD,MAAK,SAAUe,GACnClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,ECpDA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBiF,OAAQ,KACRoG,MAAO,ICLT,SAAS,GAAQrL,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAGtb,IACWsL,GAAoB,kCACpBC,GAAmB,iCACnBC,GAA8B,+CAC9BC,GAAqB,mCACrBC,GAA4B,yCAC5BC,GAAoB,iCACpBC,GAAmB,qCACnBC,GAAuB,oCACvBC,GAA6B,0CAC7BC,GAAe,4BACfC,GAAqB,sCACrBC,GAAsB,uCACtBC,GAA8B,2CAe9BC,GAAkB,SAAyBpG,GACpD,MAAO,CACLuB,KAAMiE,GACNhE,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,iBAAiB/G,OAAOsH,IAAK1D,MAAK,SAAUe,GAClDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EAuBWkH,GAAgB,SAAuBzK,GAChD,MAAO,CACL2F,KAAM4E,GACN3E,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,IAAIgD,EAAOmH,KAAKC,UAAU3K,GAC1B,EAAIkE,KAAK,wBAAyBX,GAAM7C,MAAK,SAAU6C,GACrD,IAAI9B,EAAW,GAAc,GAAc,CAAC,EAAGzB,GAAU,CAAC,EAAG,CAC3DoE,GAAIb,EAAKA,OAEXhD,EAAQkB,EACV,GACF,IAEJ,EAOWmJ,GAAqB,SAA4BC,EAAcnF,GACxE,MAAO,CACLC,KAAM2E,GACN1E,QAAS,IAAItF,SAAQ,SAAUC,GACN,MAAnBsK,EAAazG,WACRyG,EAAazG,GAEtB,IAAIb,EAAOmH,KAAKC,UAAUE,GAC1B,EAAI3G,KAAK,gBAAiBX,GAAM7C,MAAK,SAAUe,GAC7ClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EChGA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClByM,cAAe,KACfD,aAAc,KACdE,SAAU,GACVC,SAAU,KACVC,OAAQ,KACR,IAAO,KACPC,OAAQ,GACRC,cAAe,MCZV,IAAIC,GAAsC,sCACtCC,GAAqC,qCACrCC,GAAuC,uCACvCC,GAA0C,0CAC1CC,GAAsC,qDA+BtCC,GAAqC,WAC9C,MAAO,CACL9F,KAAM2F,GACN1F,SAAS,EAEb,ECxCA,SAAS,GAAQvH,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBqN,eAAgB,GAChBC,sBAAuB,GACvBC,cAAe,KACfC,KAAM,MCPD,IAAIC,GAA8B,8BAC9BC,GAA6B,6BAC7BC,GAA6B,6BAC7BC,GAAyC,yCACzCC,GAA8C,8CAC9CC,GAAqD,qDACrDC,GAAwC,wCACxCC,GAA2C,2CAC3CC,GAA4C,4CAC5CC,GAAsD,sDACtDC,GAAmC,mCACnCC,GAAgC,gCAChCC,GAA8C,8CAC9CC,GAAc,uBACdC,GAA4B,SAAmClH,GACxE,MAAO,CACLC,KAAMmG,GACNlG,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,mCAAmChF,MAAK,SAAUe,GACnGlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EAWWsJ,GAA0B,SAAiCnH,EAAWoH,GAC/E,MAAO,CACLnH,KAAMoG,GACNnG,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,cAAc5I,OAAOgQ,IAAUpM,MAAK,SAAUe,GAC/FlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EAuGWwJ,GAAY,SAAmBC,GACxC,MAAO,CACLrH,KAAMgH,GACN/G,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,UAAU/G,OAAOkQ,IAAWtM,MAAK,SAAUe,GACjDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EC1JA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClB4O,OAAQ,GACRC,YAAa,KACbC,uBAAwB,KACxBC,kBAAmB,GACnBC,gBAAiB,GACjBC,iBAAkB,GAClBC,wBAAyB,GACzBC,mBAAoB,GACpBC,aAAc,KACdC,QAAS,ICbJ,IAAIC,GAAwB,wBACxBC,GAAgC,gCAChCC,GAAkC,kCAClCC,GAAsB,WAC/B,MAAO,CACLnI,KAAMgI,GACN/H,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,EAAIqD,IAAI,4BAA4BnD,MAAK,SAAUe,GACjDlB,EAAQkB,EAAS8B,KACnB,IAAU,OAAE,SAAUwK,GACN,MAAVA,GAAqC,MAAnBA,EAAOtM,UACG,KAA1BsM,EAAOtM,SAAS6B,QAClB0K,EAAeC,QAGrB,GACF,IAEJ,ECnBA,SAAS,GAAQ5P,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClB6P,SAAU,KACVC,cAAe,KACfC,eAAgB,KAChBC,SAAU,ICPL,IAAIC,GAAc,cACdC,GAAe,eACfC,GAAuB,uBAIvBC,GAAiB,iBAWjBC,GAAa,SAAoBtK,GAC1C,MAAO,CACLuB,KAAM2I,GACN1I,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,YAAY/G,OAAOsH,IAAK1D,MAAK,SAAUe,GAC7ClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EAWWoL,GAA4B,SAAmCC,EAAKxK,GAC7E,MAAO,CACLuB,KAAM6I,GACN5I,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,IAAIqO,EAAOnE,KAAKC,UAAUiE,GAC1B,EAAI3K,IAAI,sBAAsBnH,OAAOsH,EAAI,UAAWyK,GAAMnO,MAAK,SAAUe,GACnEA,EAAS6B,OACX/C,EAAQkB,EAAS8B,KAIrB,IAAU,OAAE,SAAUlB,GACpB7B,EAAO,KACT,GACF,IAEJ,ECrDA,SAAS,GAAQnC,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClByQ,SAAU,GACVC,QAAS,KACTC,gBAAiB,MCNZ,IAAIC,GAAoB,oBACpBC,GAA2B,2BAG3BC,GAAmB,SAA0B5L,GACtD,MAAO,CACLoC,KAJ4B,qBAK5BC,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAI2D,KAAK,6BAA8BX,GAAM7C,MAAK,SAAUe,GAC1DlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EACW6L,GAAmB,SAA0B1J,GACtD,MAAO,CACLC,KAAMsJ,GACNrJ,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,iBAAiBnD,MAAK,SAAUe,GACtClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EACW8L,GAAyB,SAAgC3J,GAClE,MAAO,CACLC,KAAMuJ,GACNtJ,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,+BAA+BnD,MAAK,SAAUe,GACpDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,ECjCA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBiR,cAAe,GACfC,oBAAqB,GAER,SAAS,KACtB,IAAIxI,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKsJ,GACH,OAAO,GAAc,GAAc,CAAC,EAAGlI,GAAQ,CAAC,EAAG,CACjDuI,cAAeE,EAAO5J,UAE1B,KAAKsJ,GAOH,OANiC,MAA7BlT,OAAOyT,oBACTzT,OAAOyT,mBAAmBC,YAAYhF,KAAKC,UAAU,CACnDhF,KAAM,uBACN7F,MAAO0P,EAAO5J,WAGX,GAAc,GAAc,CAAC,EAAGmB,GAAQ,CAAC,EAAG,CACjDwI,oBAAqBC,EAAO5J,UAEhC,QACE,OAAOmB,EAEb,CC5BO,IAAI4I,GAA6B,6BAC7BC,GAA4B,4BAC5BC,GAAwC,wCACxCC,GAA+B,+BAC/BC,GAA0B,SAAiCrK,GACpE,MAAO,CACLC,KAAMgK,GACN/J,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,WAAWhF,MAAK,SAAUe,GAC3ElB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,ECbA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClB2R,MAAO,KACPC,KAAM,KACNxJ,YAAa,MCNR,IAAIyJ,GAA6B,6BAC7BC,GAA6B,mCAC7BC,GAA+B,+BAC/BC,GAA4B,4BAmC5BC,GAA4B,WACrC,MAAO,CACL3K,KAAMyK,GACNxK,SAAS,EAEb,EC3CA,SAAS,GAAQvH,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBkS,MAAO,GACPC,aAAc,GACdtM,KAAM,MCND,IAAIuM,GAA0B,0BAE1BC,GAAwB,SAA+BC,GAChE,MAAO,CACLhL,KAHiC,0BAIjCC,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,IAAIsO,EAAOnE,KAAKC,UAAUgG,GAC1B,EAAI1M,IAAI,aAAc4K,GAAMnO,MAAK,SAAU6C,GACzChD,EAAQgD,EACV,GACF,IAEJ,EACWqN,GAAwB,WACjC,MAAO,CACLjL,KAAM8K,GACN7K,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,cAAcnD,MAAK,SAAUe,GACnClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,ECtBA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBsS,QAAS,MCJJ,IACIE,GAAuC,uCACvCC,GAAqC,qCACrCC,GAAgC,gCAChCC,GAAmC,mCACnCC,GAA6B,6BAC7BC,GAAuB,uBAqBvBC,GAAmB,SAA0BzL,GACtD,MAAO,CACLC,KAAMmL,GACNlL,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,mBAAmBhF,MAAK,SAAUe,GACnFlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EAOW6N,GAAqB,SAA4B1L,EAAW2L,GACrE,MAAO,CACL1L,KAAMuL,GACNtL,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,YAAY/G,OAAO4I,EAAW,iBAAiB5I,OAAOuU,EAAa,iBAAiB3Q,MAAK,SAAUe,GACzGlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EACW+N,GAA2B,SAAkC5L,EAAW2L,GACjF,MAAO,CACL1L,KAAMsL,GACNrL,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,YAAY/G,OAAO4I,EAAW,iBAAiB5I,OAAOuU,EAAa,WAAW3Q,MAAK,SAAUe,GACnGlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EC7DA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBqP,QAAS,GACT6D,aAAc,GACdC,OAAQ,KACRC,SAAU,GACVtL,YAAa,GACb6J,MAAO,ICVF,IACI0B,GAAsB,sCAGtBC,GAAW,oBACXC,GAAa,2BACbC,GAAY,qBACZC,GAAoB,6BACpBC,GAAkB,SAAyB3N,GACpD,MAAO,CACLuB,KAV2B,oCAW3BC,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,kBAAkB/G,OAAOsH,IAAK1D,MAAK,SAAUe,GACnDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EAiCWyO,GAAqB,SAA4BC,GAC1D,MAAO,CACLtM,KAjD8B,gCAkD9BC,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,IAAI2R,EAASxH,KAAKC,UAAUsH,GAC5B,EAAIhO,IAAI,kBAAmBiO,GAAQxR,MAAK,SAAU6C,GAChDhD,EAAQgD,EACV,GACF,IAEJ,EACW4O,GAAkB,SAAyB/N,GACpD,MAAO,CACLuB,KAAMmM,GACNlM,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,kBAAkB/G,OAAOsH,IAAK1D,MAAK,SAAUe,GACnDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,ECtEA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClB+T,UAAW,KACXC,aAAc,KACdC,KAAM,KACNC,MAAO,KACPN,SAAU,MCoCZ,UAzCkC,QAAa,SAASO,EAAeC,EAAgBC,GACrF,IAAIvQ,EAAQ3E,MACZ,OAAgBA,KAAMgV,IACtB,OAAgBhV,KAAM,eAAe,WACnC,MAAO,CACLmV,gBAAiBxQ,EAAMyQ,YAAY,oBACnCC,qBAAsB1Q,EAAMyQ,YAAY,yBACxCE,UAAW3Q,EAAMyQ,YAAY,kBAC7BG,OAAQ5Q,EAAMyQ,YAAY,sBAC1BI,KAAM7Q,EAAMyQ,YAAY,eACxBvE,SAAUlM,EAAMyQ,YAAY,mBAC5BK,iBAAkB9Q,EAAMyQ,YAAY,4BACpC5C,MAAO7N,EAAMyQ,YAAY,gBACzB9H,cAAe3I,EAAMyQ,YAAY,wBACjCM,WAAY/Q,EAAMyQ,YAAY,qBAC9BL,MAAOpQ,EAAMyQ,YAAY,gBACzB9D,SAAU3M,EAAMyQ,YAAY,mBAC5BnB,SAAUtP,EAAMyQ,YAAY,mBAC5BO,sBAAuBhR,EAAMyQ,YAAY,iCACzCQ,aAAcjR,EAAMyQ,YAAY,wBAChCS,MAAOlR,EAAMyQ,YAAY,gBACzBU,kBAAmBnR,EAAMyQ,YAAY,4BACrCW,WAAYpR,EAAMyQ,YAAY,+BAC9BY,qBAAsBrR,EAAMyQ,YAAY,0BACxCa,2BAA4BtR,EAAMyQ,YAAY,gCAC9Cc,qBAAsBvR,EAAMyQ,YAAY,0BACxCe,6BAA8BxR,EAAMyQ,YAAY,kCAChDgB,qBAAsBzR,EAAMyQ,YAAY,yBACxCnM,YAAatE,EAAMyQ,YAAY,sBAEnC,KACA,OAAgBpV,KAAM,eAAe,SAAUqW,GAC7C,OAA+B,MAAxB1R,EAAMsQ,gBAEP,MAFiCtQ,EAAMsQ,eAAeqB,MAAK,SAAUC,GACzE,OAAOA,EAAQF,WAAaA,GAAa,KAAOE,EAAQC,YAAYC,cAAc,OAAU,MAC9F,KAAsC,MAAxB9R,EAAMuQ,gBAEd,MAFwCvQ,EAAMuQ,eAAeoB,MAAK,SAAUC,GAChF,OAAOA,EAAQF,WAAaA,GAAa,KAAOE,EAAQC,YAAYC,cAAc,OAAU,MAC9F,GACF,IACAzW,KAAKiV,eAAiBA,EACtBjV,KAAKkV,eAAiBA,CACxB,ICzCO,IAAIwB,GAAyB,yBACzBC,GAA6B,6BAC7BC,GAAkB,uBAClBC,GAAqB,0BACrBC,GAAoB,yBACpBC,GAAoB,yBACpBC,GAA0B,0BAC1BC,GAA6B,6BA0B7BC,GAAmB,SAA0B5R,GACtD,MAAO,CACL6C,KAAM0O,GACNzO,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,IAAImU,EAAc,IAClB,EAAyB7R,EAAQsB,IACjC,EAAIP,IAAI,YAAY/G,OAAOgG,EAAQsB,KAAK1D,MAAK,SAAUe,GAC9B,KAAnBA,EAAS6B,SACX,EAAyBqR,GACzBnU,KAEFD,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EACWqR,GAAkB,SAAyBC,EAAQ/R,GAC5D,MAAO,CACL6C,KAAM2O,GACN1O,QAAS,IAAItF,SAAQ,SAAUC,IlC1CN,SAAyBsU,EAAQ/R,GAC9C,MAAV+R,GACF5U,aAAa8C,QAAQF,EAAY,IAAMC,EAAS+R,EAKpD,CkCoCM,CAAwBA,EAAQ/R,GAChCvC,EAAQsU,EACV,IAEJ,EACO,SAASC,KACd,MAAO,CACLnP,KAAM4O,GACN3O,QAAS,IAAItF,QAAsB,WACjC,IAAIiB,GAAO,OAAgC,UAAyB,SAASC,EAAQjB,EAASC,GAC5F,IAAIuU,EAAOC,EACX,OAAO,UAAyB,SAAkBrT,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEH,OADAM,EAASN,KAAO,EACT,IAAIf,SAAQ,SAAUC,GAC3B,EAAIsD,IAAI,2BAA2BnD,MAAK,SAAUe,GAChDlB,EAAQkB,EAAS8B,KACnB,GACF,IACF,KAAK,EAGH,OAFAwR,EAAQpT,EAASsT,KACjBtT,EAASN,KAAO,EACT,IAAIf,SAAQ,SAAUC,GAC3B,EAAIsD,IAAI,+BAA+BnD,MAAK,SAAUe,GACpDlB,EAAQkB,EAAS8B,KACnB,GACF,IACF,KAAK,EACHyR,EAAYrT,EAASsT,KACrB1U,EAAQ,CACNyU,UAAWA,EACXD,MAAOA,IAEX,KAAK,EACL,IAAK,MACH,OAAOpT,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,EAAIkT,GACnB,OAAO3T,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CAnCmC,IAqCvC,CCpGA,SAAS,GAAQb,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAGtb,IAAI,GAAgB,CAClBwG,KAAM,KACNsQ,eAAgB,KAChBhH,cAAe,KACfiH,aAAc,KACdC,mBAAmB,EACnBC,eAAe,EACfC,YAAa,KACbC,OAAQ,KACRC,SAAOzZ,OAAO0Z,UAAUC,UAAUxZ,QAAQ,mBAAqB,GAAKH,OAAO0Z,UAAUC,UAAUxZ,QAAQ,gBCdlG,IAAIyZ,GAAkB,kBCC7B,SAAS,GAAQvX,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBoX,MAAOzZ,OAAO0Z,UAAUC,UAAUxZ,QAAQ,mBAAqB,GAAKH,OAAO0Z,UAAUC,UAAUxZ,QAAQ,eAAiB,G,eC2B/G0Z,GAAqB,SAA4BhW,EAAKC,GAC/D,IAAIgW,EAAa5W,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,KAMjF6W,EAAO,CACTxS,KAAMzD,EACNgW,WANAA,EADgB,MAAdA,EACW,OAASE,IAAI,GAAI,SAASC,SAE1B,KAAOH,GAAYG,UAMlChW,aAAa8C,QAAQlD,EAAK6K,KAAKC,UAAUoL,GAC3C,EACWG,GAAoB,SAA2BrW,GACxD,IAAIkW,EAAO9V,aAAagD,QAAQpD,GAChC,GAAY,MAARkW,EACF,OAAO,KAET,IAAInH,EAAM,KACV,IACEA,EAAMlE,KAAKyL,MAAMJ,EACnB,CAAE,MAAO1X,GACPuQ,EAAMmH,CACR,CACA,MAAkB,iBAAPnH,EACFA,EAEW,WAAhB,QAAQA,GACN,OAASqF,cAAc,KAAOrF,EAAIkH,cAEpC7V,aAAamW,WAAWvW,GACjB,MAEF+O,EAAIrL,KAEN,IACT,ECnEW8S,GAAiB,sBACjB,GAAe,SAAsB3Q,GAC9C,MAAO,CACLC,KAAM0Q,GACNzQ,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,cAAcnD,MAAK,SAAUe,GACnClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,ECVA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAGtb,IACI,GAAgB,CAClBiY,MFAwB,WACxB,IAAIA,EAAQrW,aAAagD,QAAQ,cACjC,GAAa,MAATqT,GAA0B,IAATA,EAAa,CAChC,IAAIC,EAAU7L,KAAKyL,MAAMG,GACzB,OAAIC,EAAQpX,OAAS,EACZoX,EAEF,IACT,CACA,OAAO,IACT,CEZsBC,ICLf,IAAIC,GAAmB,0BACnBC,GAAiB,wBACjBC,GAAkB,yBASlBC,GAAe,SAAsB9W,GAC9C,MAAO,CACL6F,KAAM+Q,GACN9Q,QAAS,IAAItF,SAAQ,SAAUC,GAC7BA,EAAQT,EACV,IAEJ,EClBW+W,GAAa,WACtB,OAAI7a,OAAOC,SAAS6a,SAAS3a,QAAQ,oBAAsB,EAClD,oBACEH,OAAOC,SAAS6a,SAAS3a,QAAQ,iBAAmB,EACtD,iBACEH,OAAOC,SAAS6a,SAAS3a,QAAQ,oBAAsB,EACzD,oBACEH,OAAOC,SAAS6a,SAAS3a,QAAQ,mBAAqB,EACxD,mBACEH,OAAOC,SAAS6a,SAAS3a,QAAQ,eAAiB,EACpD,eAEA,GAEX,EACW4a,GAAqB,SAA4BC,EAAMC,GAC3DA,IAAKA,EAAMjb,OAAOC,SAASib,MAChCF,EAAOA,EAAKG,QAAQ,UAAW,QAC/B,IACEC,EADU,IAAIC,OAAO,OAASL,EAAO,qBACrBM,KAAKL,GACvB,OAAKG,EACAA,EAAQ,GACNG,mBAAmBH,EAAQ,GAAGD,QAAQ,MAAO,MAD5B,GADH,IAGvB,ECtBA,SAAS,GAAQ9Y,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAGtb,IAAI,GAAgB,CAClBmZ,QAAS,KACTC,MAAO,KACPC,YAAY,EACZZ,SAAU9a,OAAOC,SAAS6a,UCRrB,IAAIa,GAA0B,sCAC1BC,GAA4B,4BCDvC,SAAS,GAAQvZ,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBwZ,mBAAoB,ICJf,IAAIC,GAA0B,0BCArC,SAAS,GAAQzZ,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAGtb,IAAI,GAAgB,CAClB0Z,kBAAmB,GACnBC,sBAAuB,ICHlB,IAAIC,GAAwB,wBACxBC,GAA8C,oDAC9CC,GAAgD,gDAChDC,GAAsC,sCCLjD,SAAS,GAAQ/Z,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAIga,GAAe,CACjBC,eAAgB,GAChBC,WAAY,GACZC,eAAgB,MCPX,IAAIC,GAAgC,0CCA3C,SAAS,GAAQpa,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBqa,aAAc,MCJT,IAAIC,GAAkB,yBAGlBC,GAA0B,iCAW1BC,GAAuB,SAA8BC,EAAaC,GAC3E,MAAO,CACLpT,KAAMiT,GACNhT,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,EAAIqD,IAAI,sBAAsB/G,OAAOgc,EAAa,mBAAmBhc,OAAOic,IAAgBrY,MAAK,SAAUe,GACzGlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,ECvBA,SAAS,GAAQlF,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClB2a,MAAO,KACPC,UAAW,MCLN,IACIC,GAAkB,kBASlBC,GAA4B,4CAC5BC,GAAoC,gDAIpCC,GAAgC,gCAIhCC,GAAoB,oBA8DpBC,GAAiB,SAAwB7T,EAAW2B,EAAWmS,GACxE,IAAIC,EAASva,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAClF,MAAO,CACLyG,KAAMwT,GACNvT,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,IAAIyW,EAAM,wBAAwBna,OAAO4I,EAAW,4BAA4B5I,OAAOuK,EAAW,aAAavK,OAAO0c,GAC9F,MAApBC,EAAOC,YACTzC,GAAO,cAAcna,OAAO2c,EAAOC,YAErC,EAAI7V,IAAIoT,GAAKvW,MAAK,SAAUe,GAC1BlB,EAAQkB,EAAS8B,KACnB,IAAU,OAAE,SAAUlF,GACpBmC,EAAOnC,EACT,GACF,IAEJ,EACWsb,GAA4B,SAAmCjU,EAAW2B,EAAWmS,GAC9F,IAAIC,EAASva,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAClF,MAAO,CACLyG,KAAMyT,GACNxT,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,IAAIyW,EAAM,wBAAwBna,OAAO4I,EAAW,mCAAmC5I,OAAOuK,EAAW,aAAavK,OAAO0c,GACrG,MAApBC,EAAOC,YACTzC,GAAO,cAAcna,OAAO2c,EAAOC,YAErC,EAAI7V,IAAIoT,GAAKvW,MAAK,SAAUe,GAC1BlB,EAAQkB,EAAS8B,KACnB,IAAU,OAAE,SAAUlF,GACpBmC,EAAOnC,EACT,GACF,IAEJ,EClHA,SAAS,GAAQA,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,IAAI,GAAgB,CAClBoI,YAAa,GACbmT,WAAY,KACZC,kBAAmB,KACnBxM,gBAAiB,KACjBC,iBAAkB,ICRpB,SAAS,GAAQjP,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,IAAI,GAAgB,CAClByb,WAAW,EACXC,iBAAkB,CAAC,GCyDrB,UA/BkB,QAAgB,CAChCzH,KAAM,IACN0H,QrDzBa,WACb,IAAIjT,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK0F,EAC5E4K,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKpB,EACH,OAAO,EAAc,EAAc,CAAC,EAAGwC,GAAQ,CAAC,EAAG,CACjDlC,KAAM2K,EAAO5J,UAEjB,KAAKpB,EAIL,KAAKC,EACH,OAAO,EAAc,EAAc,CAAC,EAAGsC,GAAQ,CAAC,EAAG,CACjDjC,aAAc0K,EAAO5J,UAEzB,KAAKlB,EACH,GAAkB,MAAdqC,EAAMlC,KAAc,CACtB,IAAIoV,EAAalT,EAAMlC,KAAK8D,WAAU,SAAUqR,GAC9C,OAAOA,EAAQ5V,IAAMoL,EAAO5J,OAC9B,IACIqU,GAAc,GAChBlT,EAAMlC,KAAKqV,OAAOD,EAAY,EAElC,CACA,OAAOlT,EACT,KAAKpC,EACH,OAAO,EAAc,EAAc,CAAC,EAAGoC,GAAQ,CAAC,EAAG,CACjDlC,KAAM,OAEV,QACE,OAAOkC,EAEb,EqDPEmM,WjD3Ba,WACb,IAAInM,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKmD,GACH,OAAO,GAAc,GAAc,CAAC,EAAG/B,GAAQ,CAAC,EAAG,CACjDlC,KAAM2K,EAAO5J,UAEjB,KAAKmD,GACH,OAAO,GAAc,GAAc,CAAC,EAAGhC,GAAQ,CAAC,EAAG,CACjDlC,KAAM,GAAcA,OAExB,QACE,OAAOkC,EAEb,EiDaEuI,cAAe,GACf6K,OClCa,WACb,IAAIpT,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,OACRqD,GACI,GAAGlM,QAAO,OAAmBiK,GAAQ,CAACyI,EAAO5J,UAE7CmB,CAEb,ED0BEkG,OzCpBa,WACb,IAAIlG,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKmG,GACH,OAAO,GAAc,GAAc,CAAC,EAAG/E,GAAQ,CAAC,EAAG,CACjDkG,OAAQuC,EAAO5J,UAEnB,KAAKoG,GACH,OAAO,GAAc,GAAc,CAAC,EAAGjF,GAAQ,CAAC,EAAG,CACjD0G,aAAc+B,EAAO5J,UAEzB,KAAK6G,GACH,OAAO,GAAc,GAAc,CAAC,EAAG1F,GAAQ,CAAC,EAAG,CACjDkG,OAAQ,GACRQ,aAAc,KACdC,QAAS,GACTR,YAAa,KACbC,uBAAwB,KACxBC,kBAAmB,GACnBC,gBAAiB,GACjBC,iBAAkB,GAClBC,wBAAyB,GACzBC,mBAAoB,KAExB,KAAKzB,GACH,OAAO,GAAc,GAAc,CAAC,EAAGhF,GAAQ,CAAC,EAAG,CACjDmG,YAAasC,EAAO5J,UAExB,KAAKqG,GACH,OAAO,GAAc,GAAc,CAAC,EAAGlF,GAAQ,CAAC,EAAG,CACjDoG,uBAAwBqC,EAAO5J,UAEnC,KAAKqG,GAIL,KAAKC,GAIL,KAAKE,GACH,OAAO,GAAc,GAAc,CAAC,EAAGrF,GAAQ,CAAC,EAAG,CACjDsG,gBAAiBmC,EAAO5J,UAE5B,KAAKyG,GACH,OAAO,GAAc,GAAc,CAAC,EAAGtF,GAAQ,CAAC,EAAG,CACjDqG,kBAAmBoC,EAAO5J,UAE9B,KAAK0G,GACH,OAAO,GAAc,GAAc,CAAC,EAAGvF,GAAQ,CAAC,EAAG,CACjDuG,iBAAkBkC,EAAO5J,UAE7B,KAAK2G,GACH,OAAO,GAAc,GAAc,CAAC,EAAGxF,GAAQ,CAAC,EAAG,CACjDwG,wBAAyBiC,EAAO5J,UAEpC,KAAKuG,GACH,OAAsB,MAAlBqD,EAAO5J,QACFmB,EAEF,GAAc,GAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjDqG,kBAAmB,GAAGtQ,QAAO,OAAmBiK,EAAMqG,mBAAoB,CAACoC,EAAO5J,YAEtF,KAAK4G,GAIL,KAAKE,GACH,OAAO,GAAc,GAAc,CAAC,EAAG3F,GAAQ,CAAC,EAAG,CACjDyG,mBAAoBgC,EAAO5J,UAE/B,KAAK+G,GACH,OAAO,GAAc,GAAc,CAAC,EAAG5F,GAAQ,CAAC,EAAG,CACjD2G,QAAS,GAAG5Q,QAAO,OAAmBiK,EAAM2G,SAAU,CAAC8B,EAAO5J,YAElE,QACE,OAAOmB,EAEb,EyC1DEqT,UvC5Ba,WACb,IAAIrT,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EAC/CoK,EAAiBrH,EAAMqH,eAC3B,OAAQoB,EAAO7J,MACb,KAAKgI,GASH,OAR2B,MAAvB5G,EAAMoH,gBACRC,EAAiBoB,EAAO5J,QAAQkO,MAAK,SAAUhR,GAC7C,OAAOA,EAAQsB,IAAM2C,EAAMoH,aAC7B,KAEoB,MAAlBC,IACFA,EAAiBrH,EAAMqH,gBAElB,GAAc,GAAc,CAAC,EAAGrH,GAAQ,CAAC,EAAG,CACjDmH,SAAUsB,EAAO5J,QACjBwI,eAAgBA,IAEpB,KAAKR,GACH,OAAO,GAAc,GAAc,CAAC,EAAG7G,GAAQ,CAAC,EAAG,CACjDsH,SAAUmB,EAAO5J,UAErB,KAAKiI,GACH,OAAO,GAAc,GAAc,CAAC,EAAG9G,GAAQ,CAAC,EAAG,CACjDsH,SAAU,KAEd,QACE,OAAOtH,EAEb,EuCAE4J,Q7BhCa,WACb,IAAI5J,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,OACR8K,GACI,GAAc,GAAc,CAAC,EAAG1J,GAAQ,CAAC,EAAG,CACjD4J,QAASnB,EAAO5J,UAGXmB,CAEb,E6BsBEsT,K/ChCa,WACb,IAAItT,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKsD,GACH,OAAO,GAAc,GAAc,CAAC,EAAGlC,GAAQ,CAAC,EAAG,CACjDzD,OAAQkM,EAAO5J,UAEnB,KAAKsD,GACH,OAAO,GAAc,GAAc,CAAC,EAAGnC,GAAQ,CAAC,EAAG,CACjD2C,MAAO8F,EAAO5J,UAElB,QACE,OAAOmB,EAEb,E+CkBEuT,U3C/Ba,WACb,IAAIvT,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKyF,GACH,IAAImP,EAAWxT,EAAM2E,eASrB,OARA8D,EAAO5J,QAAQxG,SAAQ,SAAUob,GAIV,MAHDD,EAASzG,MAAK,SAAU2G,GAC1C,OAAOA,EAAGrW,IAAMoW,EAAEpW,EACpB,KAEEmW,EAASxb,KAAKyb,EAElB,IACO,GAAc,GAAc,CAAC,EAAGzT,GAAQ,CAAC,EAAG,CACjD2E,eAAgB6O,IAEpB,KAAK/O,GACH,IAAIkP,EAAkB3T,EAAM4E,sBAS5B,OARA6D,EAAO5J,QAAQxG,SAAQ,SAAUob,GAIV,MAHDE,EAAgB5G,MAAK,SAAU2G,GACjD,OAAOA,EAAGrW,IAAMoW,EAAEpW,EACpB,KAEEsW,EAAgB3b,KAAKyb,EAEzB,IACO,GAAc,GAAc,CAAC,EAAGzT,GAAQ,CAAC,EAAG,CACjD4E,sBAAuB+O,IAE3B,KAAKrP,GACH,OAAO,GAAc,GAAc,CAAC,EAAGtE,GAAQ,CAAC,EAAG,CACjD6E,cAAe4D,EAAO5J,UAE1B,KAAK2F,GACH,OAAO,GAAc,GAAc,CAAC,EAAGxE,GAAQ,CAAC,EAAG,CACjD8E,KAAM2D,EAAO5J,UAEjB,KAAK0F,GACH,OAAO,GAAc,GAAc,CAAC,EAAGvE,GAAQ,CAAC,EAAG,CACjD2E,eAAgB,GAChBC,sBAAuB,KAE3B,QACE,OAAO5E,EAEb,E2CdEZ,YnDvBa,WACb,IAAIY,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKZ,EACH,IAAIuB,EAAUQ,GAAW0I,EAAO5J,QAASmB,GACrCV,EAAYwC,GAAa2G,EAAO5J,QAASmB,GACzCR,EAAWiC,GAAYgH,EAAO5J,QAASmB,GACvCX,EAAUwB,GAAW4H,EAAO5J,QAASmB,GACzC,OAAO,GAAc,GAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjDZ,YAAa,GAAGrJ,QAAO,OAAmBiK,EAAMZ,cAAc,OAAmBqJ,EAAO5J,UACxFU,QAASA,EACTD,UAAWA,EACXE,SAAUA,EACVH,QAASA,IAEb,KAAKhB,GACH,IAAIuV,EAAe7T,GAAW0I,EAAO5J,QAASmB,GAC1C6T,EAAiB/R,GAAa2G,EAAO5J,QAASmB,GAC9C8T,EAAgBrS,GAAYgH,EAAO5J,QAASmB,GAC5C+T,EAAelT,GAAW4H,EAAO5J,QAASmB,GAC9C,OAAO,GAAc,GAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjDZ,YAAa,GAAGrJ,QAAO,OAAmBiK,EAAMZ,cAAc,OAAmBqJ,EAAO5J,UACxFU,QAASqU,EACTtU,UAAWuU,EACXrU,SAAUsU,EACVzU,QAAS0U,IAEb,KAAK3V,GACH,OAAO,GAAc,GAAc,CAAC,EAAG4B,GAAQ,CAAC,EAAG,CACjDZ,YAAa,GACbC,QAAS,GACTC,UAAW,GACXC,QAAS,GACTC,SAAU,GACVC,WAAY,KACZC,YAAa,KACbC,SAAU,KACVC,eAAgB,KAChBC,oBAAqB,KACrBC,mBAAoB,OAExB,KAAK7B,EACH,OAAO,GAAc,GAAc,CAAC,EAAG+B,GAAQ,CAAC,EAAG,CACjDP,WAAYgJ,EAAO5J,UAEvB,KAAKX,EACH,OAAO,GAAc,GAAc,CAAC,EAAG8B,GAAQ,CAAC,EAAG,CACjDN,YAAa+I,EAAO5J,UAExB,KAAKV,EACH,OAAO,GAAc,GAAc,CAAC,EAAG6B,GAAQ,CAAC,EAAG,CACjDJ,eAAgB6I,EAAO5J,UAE3B,KAAKP,GACH,OAAO,GAAc,GAAc,CAAC,EAAG0B,GAAQ,CAAC,EAAG,CACjDP,WAAYgJ,EAAO5J,UAEvB,KAAKN,GACH,OAAO,GAAc,GAAc,CAAC,EAAGyB,GAAQ,CAAC,EAAG,CACjDL,SAAU8I,EAAO5J,UAErB,KAAKL,GACH,OAAO,GAAc,GAAc,CAAC,EAAGwB,GAAQ,CAAC,EAAG,CACjDH,oBAAqB4I,EAAO5J,UAEhC,KAAKJ,GACH,OAAO,GAAc,GAAc,CAAC,EAAGuB,GAAQ,CAAC,EAAG,CACjDF,mBAAoB2I,EAAO5J,UAE/B,QACE,OAAOmB,EAEb,EmDjDEgU,SjClCa,WACb,IAAIhU,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKgK,GACH,OAAO,GAAc,GAAc,CAAC,EAAG5I,GAAQ,CAAC,EAAG,CACjDiJ,MAAOR,EAAO5J,UAElB,KAAKkK,GACH,OAAO,GAAc,GAAc,CAAC,EAAG/I,GAAQ,CAAC,EAAG,CACjDiJ,MAAO,KACPC,KAAM,KACNxJ,YAAa,OAEjB,KAAKmJ,GACH,OAAO,GAAc,GAAc,CAAC,EAAG7I,GAAQ,CAAC,EAAG,CACjDkJ,KAAMT,EAAO5J,UAEjB,KAAKiK,GACH,OAAO,GAAc,GAAc,CAAC,EAAG9I,GAAQ,CAAC,EAAG,CACjDN,YAAa+I,EAAO5J,UAExB,QACE,OAAOmB,EAEb,EiCUEwJ,M/BnCa,WACb,IAAIxJ,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKuK,GACH,IAAI8K,EAAgBjU,EAAMwJ,MAC1B,OAAsB,MAAlBf,EAAO5J,SAAmB4J,EAAO5J,QAAQzG,OAAS,GACpDqQ,EAAO5J,QAAQxG,SAAQ,SAAUob,GAIV,MAHDQ,EAAclH,MAAK,SAAU2G,GAC/C,OAAOA,EAAGrW,IAAMoW,EAAEpW,EACpB,KAEE4W,EAAcjc,KAAKyb,EAEvB,IACO,GAAc,GAAc,CAAC,EAAGzT,GAAQ,CAAC,EAAG,CACjDwJ,MAAOyK,KAGJjU,EACT,KAAKoJ,GACH,GAAsB,MAAlBX,EAAO5J,SAAmB4J,EAAO5J,QAAQzG,OAAS,EAAG,CACvD,IAAIub,EAAkB3T,EAAMyJ,aAS5B,OARAhB,EAAO5J,QAAQxG,SAAQ,SAAUob,GAIV,MAHDE,EAAgB5G,MAAK,SAAU2G,GACjD,OAAOA,EAAGrW,IAAMoW,EAAEpW,EACpB,KAEEsW,EAAgB3b,KAAKyb,EAEzB,IACO,GAAc,GAAc,CAAC,EAAGzT,GAAQ,CAAC,EAAG,CACjDyJ,aAAckK,GAElB,CACA,OAAO3T,EACT,KAAKsJ,GACH,OAAIb,EAAOnN,MACF0E,EAEF,GAAc,GAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjD7C,KAAMsL,EAAO5J,UAEjB,KAAKwK,GACH,OAAO,GAAc,GAAc,CAAC,EAAGrJ,GAAQ,CAAC,EAAG,CACjDwJ,MAAO,GACPC,aAAc,GACdtM,KAAM,OAEV,QACE,OAAO6C,EAEb,E+BhBEkU,W3BhCa,WACb,IAAIlU,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKuL,GACH,OAAO,GAAc,GAAc,CAAC,EAAGnK,GAAQ,CAAC,EAAG,CACjDZ,YAAaqJ,EAAO5J,UAExB,KAAKqL,GACH,OAAO,GAAc,GAAc,CAAC,EAAGlK,GAAQ,CAAC,EAAG,CACjDiJ,MAAOR,EAAO5J,UAElB,KAAKiL,GACH,GAAsB,MAAlBrB,EAAO5J,SAAmB4J,EAAO5J,QAAQzG,OAAS,EAAG,CACvD,IAAI+b,EAAkB,IAAIC,IAU1B,OATA3L,EAAO5J,QAAQxG,SAAQ,SAAUgc,GAC3BA,EAAQ1N,SAAW0N,EAAQ1N,QAAQvO,OAAS,GAC9Cic,EAAQ1N,QAAQtO,SAAQ,SAAUic,GAC5BA,GAAUA,EAAOA,QACnBH,EAAgBlF,IAAItL,KAAKC,UAAU0Q,EAAOA,QAE9C,GAEJ,IACO,GAAc,GAAc,CAAC,EAAGtU,GAAQ,CAAC,EAAG,CACjDwK,aAAc/B,EAAO5J,QACrB8H,SAAS,OAAmBwN,GAAiBI,KAAI,SAAUC,GACzD,OAAO7Q,KAAKyL,MAAMoF,EACpB,KAEJ,CACA,OAAOxU,EACT,KAAK+J,GACH,OAAO,GAAc,GAAc,CAAC,EAAG/J,GAAQ,CAAC,EAAG,CACjDyK,OAAQhC,EAAO5J,UAEnB,KAAKmL,GACH,OAAO,GAAc,GAAc,CAAC,EAAGhK,GAAQ,CAAC,EAAG,CACjD0K,SAAUjC,EAAO5J,UAErB,KAAKoL,GACH,OAAO,GAAc,GAAc,CAAC,EAAGjK,GAAQ,CAAC,EAAG,CACjDyU,WAAY,GACZjK,aAAc,GACdC,OAAQ,KACRC,SAAU,KAEd,QACE,OAAO1K,EAEb,E2BjBE0U,a7C/Ba,WACb,IAAI1U,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKgE,GACH,OAAO,GAAc,GAAc,CAAC,EAAG5C,GAAQ,CAAC,EAAG,CACjD+D,cAAe0E,EAAO5J,UAE1B,KAAKgE,GACH,OAAO,GAAc,GAAc,CAAC,EAAG7C,GAAQ,CAAC,EAAG,CACjD8D,aAAc2E,EAAO5J,UAEzB,KAAKiE,GACH,OAAO,GAAc,GAAc,CAAC,EAAG9C,GAAQ,CAAC,EAAG,CACjD2U,uBAAwBlM,EAAO5J,UAEnC,KAAKmE,GAED,IAAI4R,EADN,OAAsB,MAAlBnM,EAAO5J,SAAmB4J,EAAO5J,QAAQzG,OAAS,EAE7C,GAAc,GAAc,CAAC,EAAG4H,GAAQ,CAAC,EAAG,CACjDgE,UAAW4Q,EAAkB5U,EAAMgE,UAAU6Q,QAAQ5c,MAAM2c,GAAiB,OAAmBnM,EAAO5J,YAGnGmB,EACT,KAAKwD,GACH,GAA0B,MAAtBxD,EAAM8D,aAAsB,CAC9B,IAAIgR,EAAsB,GAAc,CAAC,EAAG9U,EAAM8D,cAElD,OADAgR,EAAoB9Q,SAAShM,KAAKyQ,EAAO5J,SAClC,GAAc,GAAc,CAAC,EAAGmB,GAAQ,CAAC,EAAG,CACjD8D,aAAcgR,GAElB,CACA,OAAO9U,EACT,KAAKiD,GACH,OAAO,GAAc,GAAc,CAAC,EAAGjD,GAAQ,CAAC,EAAG,CACjDiE,SAAUwE,EAAO5J,UAErB,KAAKqE,GACH,OAAO,GAAc,GAAc,CAAC,EAAGlD,GAAQ,CAAC,EAAG,CACjDmE,OAAQsE,EAAO5J,UAEnB,KAAKsE,GACH,OAAO,GAAc,GAAc,CAAC,EAAGnD,GAAQ,CAAC,EAAG,CACjDoE,cAAeqE,EAAO5J,UAE1B,KAAKuE,GACH,OAAO,GAAc,GAAc,CAAC,EAAGpD,GAAQ,CAAC,EAAG,CACjDoE,cAAe,GAAcA,gBAEjC,KAAKd,GACH,OAAO,GAAc,GAAc,CAAC,EAAGtD,GAAQ,CAAC,EAAG,CACjDkE,OAAQuE,EAAO5J,UAEnB,KAAK0E,GACH,OAAO,GAAc,GAAc,CAAC,EAAGvD,GAAQ,CAAC,EAAG,CACjD,IAAOyI,EAAO5J,UAElB,KAAKkE,GACH,OAAO,GAAc,GAAc,CAAC,EAAG/C,GAAQ,CAAC,EAAG,CACjD8D,aAAc,GAAcA,eAEhC,KAAKT,GACH,GAA0B,MAAtBrD,EAAM8D,cAC2B,MAA/B9D,EAAM8D,aAAaE,UAAoBhE,EAAM8D,aAAaE,SAAS5L,OAAS,EAAG,CACjF,IAAI0L,EAAe,GAAc,CAAC,EAAG9D,EAAM8D,cACvCiR,EAAejR,EAAaE,SAASpC,WAAU,SAAU3I,GAC3D,OAAOA,EAAQoE,IAAMoL,EAAO5J,QAAQmW,SACtC,IACA,GAAID,GAAgB,EAAG,CACrB,IAAIE,EAAa,GAAc,CAAC,EAAGnR,EAAaE,SAAS+Q,IAIzD,OAHAE,EAAWC,OAASzM,EAAO5J,QAAQqW,OACnCD,EAAWE,KAAO,GAClBrR,EAAaE,SAASmP,OAAO4B,EAAc,EAAGE,GACvC,GAAc,GAAc,CAAC,EAAGjV,GAAQ,CAAC,EAAG,CACjD8D,aAAcA,GAElB,CACF,CAEF,OAAO9D,EACT,QACE,OAAOA,EAEb,E6CnDEoV,UzBpCa,WACb,IAAIpV,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAK+L,GACH,OAAO,GAAc,GAAc,CAAC,EAAG3K,GAAQ,CAAC,EAAG,CACjDsL,aAAc,GAAcA,eAEhC,KAAKV,GACH,OAAO,GAAc,GAAc,CAAC,EAAG5K,GAAQ,CAAC,EAAG,CACjDuL,KAAM9C,EAAO5J,UAEjB,KAAKgM,GACH,OAAO,GAAc,GAAc,CAAC,EAAG7K,GAAQ,CAAC,EAAG,CACjDuL,KAAM,GAAcA,KACpBD,aAAc,GAAcA,eAEhC,KAAKR,GACH,OAAO,GAAc,GAAc,CAAC,EAAG9K,GAAQ,CAAC,EAAG,CACjDwL,MAAO/C,EAAO5J,UAElB,KAAKkM,GACH,OAAO,GAAc,GAAc,CAAC,EAAG/K,GAAQ,CAAC,EAAG,CACjDkL,SAAUzC,EAAO5J,UAErB,QACE,OAAOmB,EAEb,EyBSEqV,SrCvCa,WACb,IAAIrV,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAK2I,GACH,OAAO,GAAc,GAAc,CAAC,EAAGvH,GAAQ,CAAC,EAAG,CACjDgI,QAASS,EAAO5J,UAEpB,KAAK2I,GACH,OAAO,GAAc,GAAc,CAAC,EAAGxH,GAAQ,CAAC,EAAG,CACjD+H,SAAUU,EAAO5J,UAErB,KAAK4I,GACH,GAAIgB,EAAO5J,QACT,OAAO,GAAc,GAAc,CAAC,EAAGmB,GAAQ,CAAC,EAAG,CACjDiI,gBAAiBQ,EAAO5J,UAG9B,KAAK6I,GACH,OAAO,GAAc,GAAc,CAAC,EAAG1H,GAAQ,CAAC,EAAG,CACjD+H,SAAU,KAEd,QACE,OAAO/H,EAEb,EqCeEsV,KtBjCa,WACb,IAAItV,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKuO,GACH,OAAO,GAAc,GAAc,CAAC,EAAGnN,GAAQ,CAAC,EAAG,CACjDuO,cAAe9F,EAAO5J,UAE1B,KAAKuO,GACH,OAAO,GAAc,GAAc,CAAC,EAAGpN,GAAQ,CAAC,EAAG,CACjDsO,kBAAmB7F,EAAO5J,UAE9B,KAAKwO,GACH,OAAO,GAAc,GAAc,CAAC,EAAGrN,GAAQ,CAAC,EAAG,CACjDlC,KAAM2K,EAAO5J,UAEjB,KAAKyO,GACH,IAAIvR,EAAU0M,EAAO5J,QAErB,OADA9C,EAAQwZ,SAAW,IAAI,GAAexZ,EAAQ2P,eAAgB3P,EAAQ4P,gBAAgB6J,cAC/E,GAAc,GAAc,CAAC,EAAGxV,GAAQ,CAAC,EAAG,CACjDoH,cAAerL,IAEnB,KAAKwR,GACH,OAAO,GAAc,GAAc,CAAC,EAAGvN,GAAQ,CAAC,EAAG,CACjDqO,aAAc5F,EAAO5J,UAEzB,KAAK2O,GACH,OAAO,GAAc,GAAc,CAAC,EAAGxN,GAAQ,CAAC,EAAG,CACjDyO,OAAQhG,EAAO5J,UAEnB,KAAK4O,GACH,OAAO,GAAc,GAAc,CAAC,EAAGzN,GAAQ,CAAC,EAAG,CACjDwO,YAAa/F,EAAO5J,UAExB,KAAK6O,GACH,OAAO,GAAc,GAAc,CAAC,EAAG1N,GAAQ,CAAC,EAAG,CACjDoO,eAAgB3F,EAAO5J,UAE3B,QACE,OAAOmB,EAEb,EsBPEyV,KjBzCa,WACb,IFR8ClG,EEQ1CvP,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,OACR0Q,IACmB,MAAlB7G,EAAO5J,SFXF,OADiC0Q,EEa3B9G,EAAO5J,UFXxB3F,aAAa8C,QAAQ,aAAc2H,KAAKC,UAAU2L,IEazC,GAAc,GAAc,CAAC,EAAGvP,GAAQ,CAAC,EAAG,CACjDuP,MAAO9G,EAAO5J,WAGTmB,CAEb,EiB4BE0V,OdxCa,WACb,IgBVIrW,EhBUAW,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAK8Q,GACH,OAAO,GAAc,GAAc,CAAC,EAAG1P,GAAQ,CAAC,EAAG,CACjDyQ,QAAShI,EAAO5J,UAEpB,KAAK8Q,GACH,OAAO,GAAc,GAAc,CAAC,EAAG3P,GAAQ,CAAC,EAAG,CACjD0Q,MAAOjI,EAAO5J,UAElB,KAAK+Q,GAEH,OAAI3a,OAAOC,SAAS6a,UAAY/P,EAAM+P,SAC7B/P,EAEF,GAAc,GAAc,CAAC,EAAGA,GAAQ,CAAC,EAAG,CACjD0Q,MAAO,KACPD,QAAS,KACTV,SAAU9a,OAAOC,SAAS6a,SAC1BY,YgB9BFtR,EAAUpK,OAAOC,SAAS6a,SACK,KAA/B1Q,EAAQA,EAAQjH,OAAS,KAE3BiH,EAAUA,EAAQzI,MAAM,GAAI,IAI1ByI,GAAWyQ,KAAalZ,MAAM,GAAI,IAGrB,KAAXyI,GAGW,gBAAXA,GAGW,SAAXA,GAGW,UAAXA,GAGW,UAAXA,GAGW,WAAXA,GAGW,aAAXA,GAGW,kBAAXA,GAGW,kBAAXA,GAGW,YAAXA,GAGW,sBAAXA,GAGW,YAAXA,GAGW,aAAXA,GAGW,gCAAXA,GAGW,cAAXA,GAGW,aAAXA,KhBvBJ,QACE,OAAOW,EAEb,EceE2V,sBZ7Ca,WACb,IAAI3V,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKgS,GACH,OAAO,GAAc,GAAc,CAAC,EAAG5Q,GAAQ,CAAC,EAAG,CACjD8Q,mBAAoBrI,EAAO5J,UAE/B,KAAKgS,GACH,OAAO,GAAc,GAAc,CAAC,EAAG7Q,GAAQ,CAAC,EAAG,CACjD8Q,mBAAoB,KAExB,QACE,OAAO9Q,EAEb,EY+BE4V,WV5Ca,WACb,IAAI5V,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,OACRmS,GACI,GAAc,GAAc,CAAC,EAAG/Q,GAAQ,CAAC,EAAG,CACjDgR,kBAAmBvI,EAAO5J,QAAQmC,MAAK,SAAUC,EAAGC,GAClD,OAAO,IAAI,KAAJ,CAAWD,EAAE4U,WAAWtU,OAAS,IAAI,KAAJ,CAAWL,EAAE2U,WAAWtU,MAClE,MAGKvB,CAEb,EUgCE8V,cAAe,GACfC,WpBhDa,WACb,IAAI/V,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,OACRiQ,GACI,GAAc,GAAc,CAAC,EAAG7O,GAAQ,CAAC,EAAG,CACjD0O,MAAOjG,EAAO5J,UAGTmB,CAEb,EoBsCEgW,eR9Ca,SAAuBhW,EAAOyI,GAC3C,IAAI7J,EAAO6J,EAAO7J,KAElB,GADU6J,EAAO1P,WACI,IAAViH,EACT,OAAOsR,GAET,OAAQ1S,GACN,KAAKsS,GACH,OAAO,GAAc,GAAc,CAAC,EAAGlR,GAAQ,CAAC,EAAG,CACjDuR,eAAgB9I,EAAO5J,UAG3B,KAAKsS,GACH,OAAsB,MAAlB1I,EAAO5J,QACF,GAAc,GAAc,CAAC,EAAGmB,GAAQ,CAAC,EAAG,CACjDwR,WAAY,GAAGzb,QAAO,OAAmBiK,EAAMwR,YAAa,CAAC/I,EAAO5J,YAGjEmB,EACT,KAAKoR,GACH,OAAO,GAAc,GAAc,CAAC,EAAGpR,GAAQ,CAAC,EAAG,CACjDwR,WAAY,KAEhB,KAAKH,GACH,OAAO,GAAc,GAAc,CAAC,EAAGrR,GAAQ,CAAC,EAAG,CACjDyR,eAAgBhJ,EAAO5J,UAE3B,QACE,OAAOmB,EAGb,EQgBEiW,UNlDa,WACb,IAAIjW,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,OACR8S,GACI,GAAc,GAAc,CAAC,EAAG1R,GAAQ,CAAC,EAAG,CACjD2R,aAAclJ,EAAO5J,UAGhBmB,CAEb,EMwCEkW,OJlDa,WACb,IAAIlW,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,KAAKiT,GACH,OAAO,GAAc,GAAc,CAAC,EAAG7R,GAAQ,CAAC,EAAG,CACjDkS,UAAWzJ,EAAO5J,UAEtB,KAAK+S,GACH,OAAO,GAAc,GAAc,CAAC,EAAG5R,GAAQ,CAAC,EAAG,CACjDiS,MAAOxJ,EAAO5J,UAElB,QACE,OAAOmB,EAEb,EIoCEN,YFhDa,WACb,IAAIM,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,IDdwB,iBCetB,OAAO,GAAc,GAAc,CAAC,EAAGoB,GAAQ,CAAC,EAAG,CACjD6S,WAAYpK,EAAO5J,UAEvB,KAAKsT,GACH,OAAO,GAAc,GAAc,CAAC,EAAGnS,GAAQ,CAAC,EAAG,CACjDN,YAAa+I,EAAO5J,UAExB,KAAKuT,GACH,OAAO,GAAc,GAAc,CAAC,EAAGpS,GAAQ,CAAC,EAAG,CACjDsG,gBAAiBmC,EAAO5J,UAE5B,KAAKwT,GACH,OAAO,GAAc,GAAc,CAAC,EAAGrS,GAAQ,CAAC,EAAG,CACjD8S,kBAAmBrK,EAAO5J,UAE9B,KAAKyT,GACH,OAAO,GAAc,GAAc,CAAC,EAAGtS,GAAQ,CAAC,EAAG,CACjDuG,iBAAkBkC,EAAO5J,UAE7B,KAAK0T,GACH,OAAO,GAAc,GAAc,CAAC,EAAGvS,GAAQ,CAAC,EAAG,CACjD6S,WAAY,KACZnT,YAAa,GACboT,kBAAmB,KACnBxM,gBAAiB,KACjBC,iBAAkB,OAEtB,QACE,OAAOvG,EAEb,EEcEmW,eDrDa,WACb,IAAInW,EAAQ7H,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,GAC5EsQ,EAAStQ,UAAUC,OAAS,EAAID,UAAU,QAAK8E,EACnD,OAAQwL,EAAO7J,MACb,IAAK,gBACH,OAAI6J,EAAO5J,QAAQuX,QACV,GAAc,GAAc,CAAC,EAAGpW,GAAQ,CAAC,EAAG,CACjDgT,iBAAkBvK,EAAO5J,QAAQgJ,IACjCkL,WAAW,IAGR,GAAc,GAAc,CAAC,EAAG/S,GAAQ,CAAC,EAAG,CACjDgT,iBAAkB,GAAc,GAAc,CAAC,EAAGhT,EAAMgT,kBAAmBvK,EAAO5J,QAAQgJ,KAC1FkL,WAAW,IAEf,IAAK,eACH,OAAO,GAAc,GAAc,CAAC,EAAG/S,GAAQ,CAAC,EAAG,CACjDgT,iBAAkB,CAAC,EACnBD,WAAW,IAEf,QACE,OAAO/S,EAEb,I,gDIxBA,SAASqW,GAAW7e,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG8e,KAA8BC,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAASgf,KAA8B,IAAM,IAAI9e,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ8e,GAA4B,WAAuC,QAAS9e,CAAG,IAAM,CAMlP,IAAIqf,GAA4B,SAAUC,GACxC,SAASD,IACP,IAAIzb,GACJ,OAAgB3E,KAAMogB,GACtB,IAAK,IAAIE,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAiBzB,OAfA9b,EAAQib,GAAW5f,KAAMogB,EAAc,GAAG9gB,OAAOihB,KACjD,OAAgB5b,EAAO,6BAA6B,WAClD,IAAI+b,EAAYje,aAAagD,QAAQ,YACpB,MAAbib,IACF,KAAAC,mBAAkBD,GAEY,MAA5B/b,EAAMic,MAAM1F,cACdvW,EAAMic,MAAMC,iBAAgB,KAAAC,uBAE9B,KAAAC,mBAAiB,SAAU/U,GACzBvJ,aAAa8C,QAAQ,WAAYyG,GACjCrH,EAAMic,MAAMC,gBAAgB7U,GAC5BrH,EAAMic,MAAM7U,UAAUC,EACxB,GACF,IACOrH,CACT,CAEA,OADA,QAAUyb,EAAcC,IACjB,OAAaD,EAAc,CAAC,CACjC/d,IAAK,SACLC,MAAO,WACL,OAA+B,MAA3BtC,KAAK4gB,MAAM1F,aACO,gBAAoB,MAAO,MAE1Clb,KAAK4gB,MAAMI,QACpB,IAEJ,CAlCgC,CAkC9B,EAAAC,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACL2R,aAAc3R,EAAMiW,UAAUtE,aAElC,GACwC,CACtC2F,gBVpD2B,SAAyB7U,GACpD,MAAO,CACL7D,KAAM8S,GACN7S,QAAS,IAAItF,SAAQ,SAAUC,GACjB,MAARiJ,IACFA,EAAO,SAEG,MAARA,IACFA,EAAO,SAEG,MAARA,IACFA,EAAO,SAEG,MAARA,IACFA,EAAO,SAEG,MAARA,IACFA,EAAO,MAET,EAAI3F,IAAI,gBAAgB/G,OAAO0M,EAAM,8BAA8B,GAAM9I,MAAK,SAAUe,GACtFlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EU6BEgG,UAAWA,IAFb,CAGGqU,I,cCvDH,SAAS,GAAQvf,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAE/a,IAAIqgB,GAA8B,SAAqC7T,EAAchG,GAC1F,GAAoB,MAAhBgG,EACF,OAAO,KAET,IAAI8T,EAAQ,GAiBZ,OAhBA9T,EAAa+T,YAAYxf,SAAQ,SAAUyf,GACzC,GAAY,MAARha,GAAgBA,EAAKT,IAAMya,EAAWC,aACxC,OAAO,EAELD,EAAWE,eAAe5iB,QAAQ,YAAc,EAClDwiB,EAAM5f,KAAK,GAAc,CACvBqF,GAAIya,EAAWC,aACfC,eAAgBF,EAAWE,gBAC1BF,EAAWG,UAEdL,EAAM5f,KAAK,GAAc,CACvBqF,GAAIya,EAAWC,aACfC,eAAgBF,EAAWE,gBAC1BF,EAAWha,MAElB,IACO8Z,CACT,E,wCCpBA,SAAS,GAAWpgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CA2ClP,SAxC2B,SAAUsf,GACnC,SAASoB,EAAQb,GACf,IAAIjc,EAoBJ,OAnBA,OAAgB3E,KAAMyhB,GACtB9c,EAAQ,GAAW3E,KAAMyhB,EAAS,CAACb,KACnC,OAAgBjc,EAAO,yBAAyB,WAC9C,IAAI+c,EAAc/c,EAAMic,MAIpBe,EAAa,oBAUjB,OAbWD,EAAYE,SAKrBD,GAAc,WAJND,EAAYG,QAOpBF,GAAc,UANND,EAAYI,QASpBH,GAAc,UAETA,CACT,IACOhd,CACT,CAEA,OADA,QAAU8c,EAASpB,IACZ,OAAaoB,EAAS,CAAC,CAC5Bpf,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW/hB,KAAKgiB,wBAChB3f,IAAK,WACS,gBAAoB,MAAO,CACzC0f,UAAW,kBACXE,MAAO,CACLC,gBAAiB,OAAO5iB,OAAO,GAAK,QAG1C,IAEJ,CAvC2B,CAuCzB,EAAA2hB,WCpCF,SAZW,WACT,OAAoB,gBAAoB,MAAO,CAC7CkB,QAAS,MACTC,MAAO,6BACPC,EAAG,MACHC,EAAG,MACHC,QAAS,aACK,gBAAoB,OAAQ,CAC1CR,UAAW,YACX/E,EAAG,sJAEP,ECKA,SAhBY,SAAe4D,GACzB,OAAoB,gBAAoB,MAAO,CAC7CuB,QAAS,MACTvb,GAAI,UACJwb,MAAO,6BACPC,EAAG,MACHC,EAAG,MACHC,QAAS,aACK,gBAAoB,OAAQ,CAC1CR,UAAW,aACXS,GAAI,OACJC,GAAI,MACJC,GAAI,MACJC,GAAI,QAER,ECVA,SAAS,GAAQ9hB,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAIlP,IAAI6hB,GAA0B,SAAUvC,GACtC,SAASuC,EAAWhC,GAClB,IAAIjc,EAsEJ,OArEA,OAAgB3E,KAAM4iB,GACtBje,EAAQ,GAAW3E,KAAM4iB,EAAY,CAAChC,KACtC,OAAgBjc,EAAO,WAAW,SAAUG,GAE1C,GADAA,EAAM+d,iBACFle,EAAMic,MAAMkC,SAAyC,mBAAvBne,EAAMic,MAAMkC,QAE5C,OADAne,EAAMic,MAAMkC,QAAQne,EAAMoe,aACnB,EAETpe,EAAMoe,YACR,KACA,OAAgBpe,EAAO,eAAe,SAAUG,GAG9C,OAFAA,EAAM+d,iBACN/d,EAAMke,kBACFre,EAAMic,MAAMqC,QAAuC,mBAAtBte,EAAMic,MAAMqC,QAC3Cte,EAAMic,MAAMqC,OAAOte,EAAMoe,aAClB,GAEHpe,EAAMic,MAAMkC,SAAyC,mBAAvBne,EAAMic,MAAMkC,SAC5Cne,EAAMue,QAAQpe,IACP,QAGXH,EAAMoe,YACR,KACA,OAAgBpe,EAAO,cAAc,SAAUwe,QACxB,IAAVA,GAAmC,MAAVA,EAClCxe,EAAMye,SAAS,CACbC,KAAMF,IAGRxe,EAAMye,SAAS,CACbC,MAAO1e,EAAM4E,MAAM8Z,OAGnB1e,EAAMic,MAAM0C,UAA2C,mBAAxB3e,EAAMic,MAAM0C,UAC7C3e,EAAMic,MAAM0C,SAASH,IAAmBxe,EAAM4E,MAAM8Z,KAExD,KACA,OAAgB1e,EAAO,wBAAwB,WAC7C,IAAIod,EAAY,qBAahB,OAZWpd,EAAM4E,MAAM8Z,OAIrBtB,GAAa,SAHKpd,EAAMic,MAAM2C,gBAM9BxB,GAAa,kBALOpd,EAAMic,MAAM4C,kBAQhCzB,GAAa,wBAERA,CACT,KACA,OAAgBpd,EAAO,uBAAuB,WAC5C,IAAIod,EAAY,oBAShB,OARWpd,EAAM4E,MAAM8Z,OAGrBtB,GAAa,SAFHpd,EAAMic,MAAM6C,QAKtB1B,GAAa,cAERA,CACT,IACApd,EAAM4E,MAAQ,CACZ8Z,KAAMzC,EAAMyC,OAAQ,GAEf1e,CACT,CAEA,OADA,QAAUie,EAAYvC,IACf,OAAauC,EAAY,CAAC,CAC/BvgB,IAAK,mCACLC,MAAO,SAA0CohB,GAC3CA,GAA+B,MAAlBA,EAAUL,MACrBK,EAAUL,MAAQrjB,KAAKuJ,MAAM8Z,MAC/BrjB,KAAK+iB,WAAWW,EAAUL,KAGhC,GACC,CACDhhB,IAAK,SACLC,MAAO,WACL,IAAIof,EAAc1hB,KAAK4gB,MACrBI,EAAWU,EAAYV,SACvB/G,EAAQyH,EAAYzH,MACpBwJ,EAAQ/B,EAAY+B,MACpBE,EAAOjC,EAAYiC,KACnBC,EAAelC,EAAYkC,aAC3BC,EAAgBnC,EAAYmC,cAC5BC,EAAsBpC,EAAYoC,oBAChCT,EAAOrjB,KAAKuJ,MAAM8Z,KAClBpB,OAAyB,IAAVwB,EAAwB,CACzCM,gBAAiBN,GACf,CAAC,EACL,OAAoB,gBAAoB,MAAO,CAC7C1B,UAAW,uBACX1f,IAAK4X,GACS,gBAAoB,MAAO,CACzC8H,UAAW/hB,KAAKgkB,sBAChB/B,MAAO,GAAc,GAAc,CAAC,EAAG2B,GAAe3B,IACrDjiB,KAAK4gB,MAAMqD,MAAqB,gBAAoB,OAAQ,KAAMjkB,KAAK4gB,MAAMqD,MAAO,KAAU,KAAmB,gBAAoB,OAAQ,CAC9InB,QAAS9iB,KAAKkjB,QACdnB,UAAW,SACV9H,GAAqB,gBAAoB,MAAO,CACjD8H,UAAW,oBACXe,QAAS9iB,KAAKkkB,aACA,gBAAoB,OAAQ,CAC1CnC,UAAW,WACVsB,EAAoB,gBAAoB,GAAO,MAAqB,gBAAoB,GAAM,SAAkB,MAARM,EAA4B,gBAAoB,MAAO,CAChK5B,UAAW/hB,KAAKmkB,uBAChBlC,MAAOoB,EAAOQ,EAAgBC,EAC9BM,wBAAyB,CACvBC,OAAQrD,KAEM,gBAAoB,MAAO,CAC3Ce,UAAW/hB,KAAKmkB,uBAChBlC,MAAOoB,EAAOQ,EAAgBC,GAC7B9C,GACL,IAEJ,CA7H8B,CA6H5B,EAAAC,YACF,OAAgB2B,GAAY,eAAgB,CAC1C3I,MAAO,WACP+G,SAAU,GACVuC,eAAe,IAEjB,YC1IA,SAAS,GAAWxiB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAGlP,IAAI,GAAqB,SAAUsf,GACjC,SAASiE,IACP,IAAI3f,GACJ,OAAgB3E,KAAMskB,GACtB,IAAK,IAAIhE,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA0BzB,OAxBA9b,EAAQ,GAAW3E,KAAMskB,EAAO,GAAGhlB,OAAOihB,KAC1C,OAAgB5b,EAAO,iBAAiB,WACtC,IAAI+c,EAAc/c,EAAMic,MACtBI,EAAWU,EAAYV,SACvBuD,EAAgB7C,EAAY6C,cAC5BC,EAAU9C,EAAY8C,QACtB1Y,EAAO4V,EAAY5V,KACnB2Y,EAAgB/C,EAAY+C,cAC5BC,EAAQhD,EAAYgD,MACtB,OAAoB,gBAAoB,MAAO,KAAMH,EAA6B,gBAAoB,MAAO,CAC3GxC,UAAW,gBACVwC,GAAiB,KAAMG,GAAkB,MAATA,EAA6B,gBAAoB,MAAO,CACzFzC,MAAO,CACLC,gBAAiB,QAAS5iB,OAAOolB,EAAO,OAE1C3C,UAAW,gBACR,KAAMjW,EAAoB,gBAAoB,MAAO,CACxDiW,UAAW,cACVjW,GAAQ,KAAM0Y,EAAuB,gBAAoB,MAAO,CACjEzC,UAAW,iBACVyC,GAAW,KAAMC,EAA6B,gBAAoB,MAAO,CAC1E1C,UAAW,gBACV0C,GAAiB,KAAMzD,GAAsB,KAClD,IACOrc,CACT,CAEA,OADA,QAAU2f,EAAOjE,IACV,OAAaiE,EAAO,CAAC,CAC1BjiB,IAAK,SACLC,MAAO,WACL,IAAIqiB,EAAO3kB,KAAK4gB,MAAM+D,KACtB,OAAoB,gBAAoB,MAAO,CAC7C5C,UAAW,kBACXE,MAAOjiB,KAAK4gB,MAAMqB,OACT,MAAR0C,EAA4B,gBAAoB,KAAM,CACvDC,GAAID,GACH3kB,KAAK6kB,iBAAmB7kB,KAAK6kB,gBAClC,IAEJ,CA9CyB,CA8CvB,EAAA5D,WACS6D,GAAe,SAAsBlE,GAC9C,IAAImE,GAAU,EAMd,OALInE,EAAMmE,QACRA,EAAUnE,EAAMmE,QACPnE,EAAMoE,OACfD,EAAUnE,EAAMoE,MAEE,gBAAoB,MAAO,CAC7CjD,UAAW,iBAAiBziB,OAAOylB,EAAU,QAAUA,EAAU,MACjE9C,MAAOrB,EAAMqB,OACZrB,EAAMI,SAAWJ,EAAMI,SAAW,KACvC,EAOW,GAAe,SAAsBJ,GAC9C,OAAoB,gBAAoB,MAAO,CAC7CmB,UAAW,gBACXE,MAAOrB,EAAMqB,OACZrB,EAAMI,SAAWJ,EAAMI,SAAW,KACvC,EAaA,YCvFA,SAAS,GAAWjgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAiIlP,SA5H4B,SAAUsf,GACpC,SAAS4E,EAASC,GAChB,IAAIvgB,GACJ,OAAgB3E,KAAMilB,GACtBtgB,EAAQ,GAAW3E,KAAMilB,EAAU,CAACC,KACpC,OAAgBvgB,EAAO,qBAAqB,WAC1CA,EAAMwgB,cAAcxgB,EAAMic,MAC5B,KACA,OAAgBjc,EAAO,oCAAoC,SAAU+e,GACnE/e,EAAMwgB,cAAczB,EACtB,KACA,OAAgB/e,EAAO,iBAAiB,SAAUic,GAChD,GAAkB,MAAdA,EAAM7a,MAAgB6a,EAAM7a,KAAKpE,OAAS,EAAG,CAC/C,IAAIojB,EAAU,GACS,MAAnBnE,EAAMwE,WACRxE,EAAM7a,KAAKnE,SAAQ,SAAU2W,EAAM0L,GACjC,IAAIoB,EAAMzE,EAAMwE,UAAU7M,EAAM0L,GAChC,GAAW,MAAPoB,GAAqC,MAAtBA,EAAIzE,MAAMI,SAAkB,EAKzCR,MAAM8E,QAAQD,EAAIzE,MAAMI,UACfqE,EAAIzE,MAAMI,SAEV,CAACqE,EAAIzE,MAAMI,WAEfpf,SAAQ,SAAU2jB,GACT,MAAZA,GAAsC,MAAlBA,EAAS3E,OAAyC,MAAxB2E,EAAS3E,MAAM3G,QACjB,GAA1C8K,EAAQpmB,QAAQ4mB,EAAS3E,MAAM3G,QACjC8K,EAAQxjB,KAAKgkB,EAAS3E,MAAM3G,MAGlC,GACF,CACF,IAEFtV,EAAMye,SAAS,CACb2B,QAASA,GAEb,CACF,KACA,OAAgBpgB,EAAO,gBAAgB,SAAUwD,GAC/C1F,aAAa8C,QAAQ,uBAAwB4C,GAC7CxD,EAAMye,SAAS,CACboC,OAAQrd,GAEZ,KACA,OAAgBxD,EAAO,eAAe,WACpC,OAAoB,gBAAoB,MAAO,CAC7Cod,UAAW,SACVpd,EAAM4E,MAAMwb,QAAQpjB,OAAS,EAAiB,gBAAoB,MAAO,CAC1EogB,UAAW,kBACVpd,EAAM4E,MAAMwb,QAAQjH,KAAI,SAAU2H,GACnC,OAAoB,gBAAoB,MAAO,CAC7C1D,UAAW,OACX1f,IAAK,UAAYojB,GAChBA,EACL,KAAM,KAAM9gB,EAAMic,MAAM7a,KAAK+X,KAAI,SAAUvF,EAAM0L,GAC/C,OAAOtf,EAAMic,MAAMwE,UAAU7M,EAAM0L,EACrC,IACF,KACA,OAAgBtf,EAAO,eAAe,WACpC,OAAoB,gBAAoB,MAAO,CAC7Cod,UAAW,mBACVpd,EAAMic,MAAM7a,KAAK+X,KAAI,SAAUvF,EAAM0L,GACtC,OAAOtf,EAAMic,MAAM8E,WAAWnN,EAAM0L,EACtC,IACF,KACA,OAAgBtf,EAAO,cAAc,WACnC,OAA+B,GAA3BA,EAAMic,MAAM7a,KAAKpE,QAAwC,MAAzBgD,EAAMic,MAAM+E,UAC1B,gBAAoB,MAAO,CAC7C5D,UAAW,gBACVpd,EAAMic,MAAM+E,aAEG,gBAAoB,MAAO,CAC7C5D,UAAW,gBACY,SAAtBpd,EAAM4E,MAAMic,OAAoB7gB,EAAMihB,cAAgB,KAA4B,QAAtBjhB,EAAM4E,MAAMic,OAAmB7gB,EAAMkhB,cAAgB,KACtH,IACA,IAAIC,EAAY,GACZN,EAAS,KACTO,EAAYtjB,aAAagD,QAAQ,wBAiBrC,OAhBwB,MAApByf,EAAOE,WACTU,EAAUvkB,KAAK,SAEQ,MAArB2jB,EAAOQ,YACTI,EAAUvkB,KAAK,QAGfikB,EADe,MAAbO,GAAqBD,EAAUnnB,QAAQonB,IAAc,EAC9CA,EAEAD,EAAU,GAErBnhB,EAAM4E,MAAQ,CACZic,OAAQA,EACRT,QAAS,GACTe,UAAWA,GAENnhB,CACT,CAEA,OADA,QAAUsgB,EAAU5E,IACb,OAAa4E,EAAU,CAAC,CAC7B5iB,IAAK,SACLC,MAAO,WACL,OAAuB,MAAnBtC,KAAK4gB,MAAM7a,KACN,KAEW,gBAAoB,MAAO,CAC7Cgc,UAAW,gBACG,gBAAoB,MAAO,CACzCA,UAAW,eACV/hB,KAAK4gB,MAAM3G,MAAqB,gBAAoB,MAAO,CAC5D8H,UAAW,cACG,gBAAoB,KAAM,KAAM/hB,KAAK4gB,MAAM3G,QAAU,KAAmB,gBAAoB,MAAO,CACjH8H,UAAW,gBACY,MAAtB/hB,KAAK4gB,MAAM5G,QAAkBha,KAAK4gB,MAAM5G,UAAY,OAAqB,gBAAoB,MAAO,CACrGiI,MAAO,CACLvf,MAAO,OACPsjB,MAAO,UAEPhmB,KAAKimB,aACX,IAEJ,CA3H4B,CA2H1B,EAAAhF,W,eCjIF,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAsClP,SAnC8B,SAAUsf,GACtC,SAAS6F,IAEP,OADA,OAAgBlmB,KAAMkmB,GACf,GAAWlmB,KAAMkmB,EAAYxkB,UACtC,CAEA,OADA,QAAUwkB,EAAY7F,IACf,OAAa6F,EAAY,CAAC,CAC/B7jB,IAAK,SACLC,MAAO,WACL,IAAIof,EAAc1hB,KAAK4gB,MACrB6C,EAAQ/B,EAAY+B,MACpB0C,EAAUzE,EAAYyE,QACtB3B,EAAU9C,EAAY8C,QACpB4B,EAAWplB,OAAOqlB,OAAO,CAAC,EAAGrmB,KAAK4gB,OAKtC,cAJOwF,EAAS3C,aACT2C,EAASD,eACTC,EAAS5B,eACT4B,EAASpF,SACI,gBAAoB,OAAO,QAAS,CACtDe,UAAW,OACVqE,GAAwB,gBAAoB,MAAO,CACpDrE,UAAW,cACXE,MAAO,CACLqE,gBAAiB7C,GAEnB,eAAgB0C,IACD,gBAAoB,OAAQ,CAC3CpE,UAAW,OACXE,MAAO,CACLsE,WAAY,QAEb/B,GAAoB2B,GACzB,IAEJ,CAlC8B,CAkC5B,EAAAlF,WCnCF,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAyGlP,SAtGuC,SAAUsf,GAC/C,SAASmG,EAAoB5F,GAC3B,IAAIjc,EAkDJ,OAjDA,OAAgB3E,KAAMwmB,GACtB7hB,EAAQ,GAAW3E,KAAMwmB,EAAqB,CAAC5F,KAC/C,OAAgBjc,EAAO,gBAAgB,SAAU8hB,GAC/C9hB,EAAM+hB,UAAYD,CACpB,KACA,OAAgB9hB,EAAO,YAAY,WACjC,GAAuB,MAAnBA,EAAM+hB,UACR,OAAO,EAET,IAAIC,EAAiBhiB,EAAM+hB,UAAUE,YACrC,GAA0B,MAAtBjiB,EAAMkiB,aACR,OAAO,EAELF,EAAiBhiB,EAAMkiB,aACG,GAAxBliB,EAAM4E,MAAMud,UACdniB,EAAMye,SAAS,CACb0D,UAAU,IAIc,GAAxBniB,EAAM4E,MAAMud,UACdniB,EAAMye,SAAS,CACb0D,UAAU,GAIlB,KACA,OAAgBniB,EAAO,qBAAqB,WAG1C,GAAuB,MAAnBA,EAAM+hB,UAAmB,CAC3B,IAAIG,EAAe,EACfE,GAAO,OAAmBpiB,EAAM+hB,UAAUM,iBAAiB,SAC/DD,EAAKnlB,SAAQ,SAAUqlB,GACjBF,EAAKplB,OAAS,EAEhBklB,EAAeA,EAAeI,EAAIL,YAAc,GAEhDC,GAA8BI,EAAIL,WAEtC,IACAjiB,EAAMkiB,aAAeA,CACvB,CACF,IACAliB,EAAM4E,MAAQ,CACZud,UAAU,GAEZniB,EAAM+hB,UAAY,KAClB/hB,EAAMkiB,aAAe,KACdliB,CACT,CAEA,OADA,QAAU6hB,EAAqBnG,IACxB,OAAamG,EAAqB,CAAC,CACxCnkB,IAAK,oBACLC,MAAO,WACLtC,KAAKknB,oBACLlnB,KAAKmnB,WACL3oB,OAAO4oB,iBAAiB,SAAUpnB,KAAKmnB,SACzC,GACC,CACD9kB,IAAK,qBACLC,MAAO,SAA4B+kB,GACjC,IAAIC,EAAe,GACfC,EAAkB,GACL,MAAbF,GAA2C,MAAtBA,EAAUrG,UAAmD,WAA/B,QAAQqG,EAAUrG,YACvEsG,EAAeD,EAAUrG,UAET,MAAdhhB,KAAK4gB,OAAwC,MAAvB5gB,KAAK4gB,MAAMI,UAAoD,WAAhC,QAAQhhB,KAAK4gB,MAAMI,YAC1EuG,EAAkBF,EAAUrG,UAE1BsG,EAAa3lB,QAAU4lB,EAAgB5lB,SACzC3B,KAAKknB,oBACLlnB,KAAKmnB,WAET,GACC,CACD9kB,IAAK,uBACLC,MAAO,WACL9D,OAAOgpB,oBAAoB,SAAUxnB,KAAKmnB,SAC5C,GACC,CACD9kB,IAAK,SACLC,MAAO,WACL,IAAI0e,EAAWhhB,KAAK4gB,MAAMI,SACtB8F,EAAW9mB,KAAKuJ,MAAMud,SACtBlG,EAAQ5f,OAAOqlB,OAAO,CAAC,EAAGrmB,KAAK4gB,OAGnC,cAFOA,EAAMkG,gBACNlG,EAAM6G,OACO,gBAAoB,OAAO,QAAS,CACtDC,IAAK1nB,KAAK2nB,aACV5F,UAAW,kBAAoB/hB,KAAK4gB,MAAMkG,UAAYA,EAAW,YAAc,KAAQ9mB,KAAK4gB,MAAMkG,UAAaA,EAA6B,GAAlB,kBAAyB9mB,KAAK4gB,MAAM6G,OAAS,UAAY,KAClL7G,GAAQI,EAAWhhB,KAAK4gB,MAAM6G,OAI5B,KAJkD,gBAAoB,MAAO,CAChFxF,MAAO,CACLvf,MAAO,UAGb,IAEJ,CArGuC,CAqGrC,EAAAue,W,gDC5GF,SAAS,GAAQpgB,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAIlP,IAAI6mB,GAA0B,SAAUvH,GACtC,SAASuH,IAEP,OADA,OAAgB5nB,KAAM4nB,GACf,GAAW5nB,KAAM4nB,EAAYlmB,UACtC,CAEA,OADA,QAAUkmB,EAAYvH,IACf,OAAauH,EAAY,CAAC,CAC/BvlB,IAAK,oBACLC,MAAO,WACLtC,KAAK6nB,MAAQ,KAAM7nB,KAAK8nB,YAAa9nB,KAAK4gB,MAAMmH,aAClD,GACC,CACD1lB,IAAK,qBACLC,MAAO,SAA4B+kB,GACjC,IAAI3F,EAAc1hB,KAAK4gB,MACrBoH,EAAatG,EAAYsG,WACzBD,EAAerG,EAAYqG,cACGV,EAAUW,aAAeA,GAAcX,EAAUU,cAAgBA,KAE/F/nB,KAAK6nB,MAAMI,OACXjoB,KAAK6nB,MAAQ,KAAM7nB,KAAK8nB,YAAa9nB,KAAK4gB,MAAMmH,cAEpD,GACC,CACD1lB,IAAK,uBACLC,MAAO,WACLtC,KAAK6nB,MAAMI,OACXjoB,KAAK6nB,WAAQ,CACf,GACC,CACDxlB,IAAK,OACLC,MAAO,WACLtC,KAAK6nB,MAAMhkB,MACb,GACC,CACDxB,IAAK,OACLC,MAAO,WACLtC,KAAK6nB,MAAMjkB,MACb,GACC,CACDvB,IAAK,QACLC,MAAO,WACL,IAAI4lB,GACHA,EAAcloB,KAAK6nB,OAAOM,MAAM3mB,MAAM0mB,EAAaxmB,UACtD,GACC,CACDW,IAAK,SACLC,MAAO,WACL,OAAOtC,KAAK6nB,MAAMO,QACpB,GACC,CACD/lB,IAAK,eACLC,MAAO,WACL,OAAOtC,KAAK6nB,MAAMQ,cACpB,GACC,CACDhmB,IAAK,SACLC,MAAO,WACL,IAAIqC,EAAQ3E,KACRsoB,EAAetoB,KAAK4gB,MACtBha,EAAK0hB,EAAa1hB,GAClBmb,EAAYuG,EAAavG,UACzBE,EAAQqG,EAAarG,MACrBjB,EAAWsH,EAAatH,SAC1B,OAAoB,gBAAoB,MAAO,CAC7Cpa,GAAIA,EACJ8gB,IAAK,SAAaa,GAChB,OAAO5jB,EAAMmjB,YAAcS,CAC7B,EACAxG,UAAW,yBAAyBziB,OAAOyiB,GAC3CE,MAAOA,EAAMyE,WACC,gBAAoB,MAAO,CACzCzE,MAAOA,EAAMuG,SACZ,WAAe1K,IAAIkD,GAAU,SAAUyH,GACxC,IAAKA,EACH,OAAO,KAET,IAAIC,EAAaD,EAAM7H,MAAMqB,MAAQ,GAAc,GAAc,CAAC,EAAGA,EAAMwG,OAAQA,EAAM7H,MAAMqB,OAASA,EAAMwG,MAC9G,OAAoB,eAAmBA,EAAO,CAC5CxG,MAAOyG,GAEX,KACF,IAEJ,CApF8B,CAoF5B,EAAAzH,YACF,OAAgB2G,GAAY,YAAa,CACvCG,aAAc,WAAgB,CAC5BY,WAAY,YACZC,MAAO,YACPC,KAAM,YACNC,WAAY,UACZC,cAAe,UACf/F,gBAAiB,UACjBgG,UAAW,UACXC,QAAS,UACTC,SAAU,UACVC,cAAe,YAEjBlH,MAAO,WAAgB,CACrByE,UAAW,YACX8B,QAAS,YACTC,MAAO,cAET7hB,GAAI,YACJmb,UAAW,YACXiG,WAAY,eAEd,OAAgBJ,GAAY,eAAgB,CAC1CG,aAAc,CAAC,EACf9F,MAAO,CACLyE,UAAW,CACT0C,SAAU,SACVC,WAAY,SACZC,SAAU,WACVC,OAAQ,QAEVf,QAAS,CACPY,SAAU,SACVE,SAAU,WACVC,OAAQ,OACRC,UAAW,QAEbf,MAAO,CACL,MAAS,OACTzC,MAAO,OACPsD,SAAU,WACVG,mBAAoB,cAGxB1H,UAAW,GACXiG,WAAY,ICvId,SALe,SAAkBpH,GAC/B,OAAoB,gBAAoB,OAAO,QAAS,CACtDmB,UAAW,YACVnB,GACL,ECDA,SAAS,GAAW7f,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAgHlP,SA5G+B,SAAUsf,GACvC,SAASqJ,EAAY9I,GACnB,IAAIjc,GACJ,OAAgB3E,KAAM0pB,GACtB/kB,EAAQ,GAAW3E,KAAM0pB,EAAa,CAAC9I,KACvC,OAAgBjc,EAAO,eAAe,SAAU8hB,GAC9C,OAAO9hB,EAAM6f,QAAUiC,CACzB,KACA,OAAgB9hB,EAAO,iBAAiB,SAAU8hB,GAChD,OAAO9hB,EAAM+hB,UAAYD,CAC3B,KAEA,OAAgB9hB,EAAO,oCAAoC,SAAU+e,GAC7C,MAAlBA,EAAUL,MACRK,EAAUL,MAAQ1e,EAAM4E,MAAM8Z,MAChC1e,EAAMglB,QAGZ,KACA,OAAgBhlB,EAAO,qBAAqB,WAClB,GAApBA,EAAMic,MAAMyC,MAA2C,GAA3B1e,EAAMic,MAAMgJ,cAC1CjlB,EAAM+hB,UAAUzE,MAAMsH,OAAS,OAC/B5kB,EAAM+hB,UAAUzE,MAAMmH,SAAW,UAErC,KAEA,OAAgBzkB,EAAO,UAAU,SAAUG,GAC5B,MAATA,GACFA,EAAM+d,iBAERle,EAAMye,SAAS,CACbC,MAAO1e,EAAM4E,MAAM8Z,OAClB,WACG1e,EAAM4E,MAAM8Z,MACd1e,EAAM+hB,UAAUzE,MAAMsH,OAAS5kB,EAAM6f,QAAQqF,aAAe,KAG5D7jB,YAAW,WACTrB,EAAM+hB,UAAUzE,MAAMsH,OAAS,OAC/B5kB,EAAM+hB,UAAUzE,MAAMmH,SAAW,SACnC,GAAGzkB,EAAMmlB,mBAETnlB,EAAM+hB,UAAUzE,MAAMsH,OAAS5kB,EAAM6f,QAAQqF,aAAe,KAC5DllB,EAAM+hB,UAAUzE,MAAMmH,SAAW,SAGjCpjB,YAAW,WACTrB,EAAM+hB,UAAUzE,MAAMsH,OAAS,KACjC,GAAG,KAEuB,MAAxB5kB,EAAMic,MAAM0C,UACd3e,EAAMic,MAAM0C,SAAS3e,EAAM4E,MAAM8Z,KAErC,GACF,IACA,IAAIA,GAAO,EAcX,OAbkB,MAAdzC,EAAMyC,KACRA,EAAOzC,EAAMyC,KAEY,MAArBzC,EAAMgJ,cACRvG,EAAOzC,EAAMgJ,aAGjBjlB,EAAM4E,MAAQ,CACZ8Z,KAAMA,GAER1e,EAAM6f,QAAU,KAChB7f,EAAM+hB,UAAY,KAClB/hB,EAAMmlB,gBAAkB,IACjBnlB,CACT,CAEA,OADA,QAAU+kB,EAAarJ,IAChB,OAAaqJ,EAAa,CAAC,CAChCrnB,IAAK,SACLC,MACA,WACE,IAAI+gB,EAAOrjB,KAAKuJ,MAAM8Z,KACtB,OAAoB,gBAAoB,MAAO,CAC7CtB,UAAWsB,EAAO,mBAAqB,eAChB,MAAtBrjB,KAAK4gB,MAAMmJ,QAA+B,gBAAoB,MAAO,CACtEhI,UAAW,sBACXe,QAAS9iB,KAAK2pB,QACA,gBAAoB,MAAO,CACzC1H,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEA,gBAAoB,MAAO,CACzChI,MAAO,CACLiI,KAAM,IAEM,gBAAoB,GAAAC,KAAM,CACxC3Q,KAAM,aACU,gBAAoB,MAAO,CAC3CyI,MAAO,CACLiI,KAAM,IAEuB,mBAAvBlqB,KAAK4gB,MAAMmJ,QAAyB/pB,KAAK4gB,MAAMmJ,QAAQ1G,GAAQrjB,KAAK4gB,MAAMmJ,QAA6B,MAApB/pB,KAAK4gB,MAAMwJ,MAA6B,gBAAoB,OAAQ,CAC/JrI,UAAW,SACV/hB,KAAK4gB,MAAMwJ,OAAS,QAAU,KAAmB,gBAAoB,MAAO,CAC7E1C,IAAK1nB,KAAKqqB,cACVtI,UAAW,uBACG,gBAAoB,MAAO,CACzC2F,IAAK1nB,KAAKsqB,aACTtqB,KAAK4gB,MAAMI,WAChB,IAEJ,CA3G+B,CA2G7B,EAAAC,WChHF,SAAS,GAAQpgB,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAGlP,IAAIwpB,GAAsB,SAAUlK,GAClC,SAASkK,IACP,IAAI5lB,GACJ,OAAgB3E,KAAMuqB,GACtB,IAAK,IAAIjK,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAwBzB,OAtBA9b,EAAQ,GAAW3E,KAAMuqB,EAAQ,GAAGjrB,OAAOihB,KAE3C,OAAgB5b,EAAO,WAAW,WAChC,IAAI6U,EAAO,GAOX,OAN0B,MAAtB7U,EAAMic,MAAM4J,QAAkD,MAAhC7lB,EAAMic,MAAM4J,OAAOC,YACnDjR,EAAO7U,EAAMic,MAAM4J,OAAOC,WAEF,MAAtB9lB,EAAMic,MAAM4J,QAAiD,MAA/B7lB,EAAMic,MAAM4J,OAAOE,WACnDlR,EAAOA,EAAK7X,OAAS,EAAI6X,EAAO,IAAM7U,EAAMic,MAAM4J,OAAOE,SAAW/lB,EAAMic,MAAM4J,OAAOE,UAElFlR,CACT,KACA,OAAgB7U,EAAO,eAAe,WACpC,IAAI6U,EAAO7U,EAAMgmB,UACjB,KAAY,MAARnR,GAAgBA,EAAK7X,OAAS,GAKhC,MAAO,GAJP,IAAIipB,EAAYpR,EAAKqR,MAAM,KAC3B,OAAID,EAAUjpB,OAAS,EAAUipB,EAAU,GAAG3qB,OAAO,GAAGC,cAAgB0qB,EAAUA,EAAUjpB,OAAS,GAAG1B,OAAO,GAAGC,cAC1F,GAApB0qB,EAAUjpB,OAAoBipB,EAAU,GAAG3qB,OAAO,GAAGC,mBAAzD,CAIJ,IACOyE,CACT,CAEA,OADA,QAAU4lB,EAAQlK,IACX,OAAakK,EAAQ,CAAC,CAC3BloB,IAAK,SACLC,MAIA,WACE,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,mBACXE,MAAO,GAAc,CACnB+H,QAAS,gBACRhqB,KAAK4gB,MAAMqB,QACA,gBAAoB,MAAO,CACzCF,UAAW,gBAAkB/hB,KAAK4gB,MAAMkK,MAC1B,gBAAoB,MAAO,CACzC/I,UAAW,UACV/hB,KAAK+qB,eAA6B,gBAAoB,MAAO,CAC9DhJ,UAAW,QACV/hB,KAAK2qB,YAAa3qB,KAAK4gB,MAAMI,SAAwB,gBAAoB,MAAO,CACjFe,UAAW,yBAA2B/hB,KAAK4gB,MAAMkK,MAChD9qB,KAAK4gB,MAAMI,UAAY,KAC5B,IAEJ,CAvD0B,CAuDxB,EAAAC,YAEF,OAAgBsJ,GAAQ,eAAgB,CACtCC,OAAQ,CACNC,UAAW,GACXC,SAAU,GACVM,MAAO,GACPpkB,GAAI,IAENqkB,UAAU,EACVC,YAAY,EACZJ,KAAM,OAER,YC1EA,SAAS,GAAQjqB,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAIoqB,GAAkC,SAAU9K,GAC9C,SAAS8K,IACP,IAAIxmB,GACJ,OAAgB3E,KAAMmrB,GACtB,IAAK,IAAI7K,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAkFzB,OAhFA9b,EAAQ,GAAW3E,KAAMmrB,EAAoB,GAAG7rB,OAAOihB,KACvD,OAAgB5b,EAAO,iBAAiB,WACtC,IAAI+c,EAAc/c,EAAMic,MACtBvT,EAAeqU,EAAYrU,aAC3BhG,EAAOqa,EAAYra,KACrB,GAAY,MAARA,EACF,OAAoB,gBAAoB,MAAO,CAC7C4a,MAAO,CACL+D,MAAO,MAEK,gBAAoB,GAAU,OAEhD,IAAI7E,EAAQ,GAQZ,OAPA9T,EAAa+T,YAAYxf,SAAQ,SAAUyf,GACrCA,EAAWC,cAAgBja,EAAKT,IAClCua,EAAM5f,KAAK,GAAc,GAAc,CAAC,EAAG8f,EAAWha,MAAO,CAAC,EAAG,CAC/DT,GAAIya,EAAWC,eAGrB,IACOH,EAAMrD,KAAI,SAAUzW,GACzB,OAAoB,gBAAoB,MAAO,CAC7ChF,IAAK,SAAWgF,EAAKT,GACrBmb,UAAW,eACG,gBAAoB,GAAQ,CAC1CyI,OAAQnjB,IAEZ,GACF,KACA,OAAgB1C,EAAO,cAAc,WAEnC,OADmBA,EAAMic,MAAMvT,aACX+d,cAActN,KAAI,SAAUuN,EAAcC,GAC5D,MAAkC,cAA9BD,EAAa9P,eAA2D,MAA1B8P,EAAa5P,UACzC,gBAAoB,MAAO,CAC7CpZ,IAAKipB,GACS,gBAAoB,KAAM,CACxC1G,GAAI,eAAetlB,OAAO+rB,EAAaE,cACzB,gBAAoB,GAAApB,KAAM,CACxC3Q,KAAM,gBACJ,IAAK6R,EAAa5P,UAAUxB,QAEA,QAA9BoR,EAAa9P,eAAqD,MAA1B8P,EAAa5P,UACnC,gBAAoB,MAAO,CAC7CpZ,IAAKipB,GACS,gBAAoB,KAAM,CACxC1G,GAAI,SAAStlB,OAAO+rB,EAAaE,cACnB,gBAAoB,GAAApB,KAAM,CACxC3Q,KAAM,UACJ,IAAK6R,EAAa5P,UAAUxB,QAEA,WAA9BoR,EAAa9P,eAAwD,MAA1B8P,EAAa5P,UACtC,gBAAoB,MAAO,CAC7CpZ,IAAKipB,GACS,gBAAoB,KAAM,CACxC1G,GAAI,KACU,gBAAoB,GAAAuF,KAAM,CACxC3Q,KAAM,WACJ,IAAK6R,EAAa5P,UAAUgP,UAAW,IAAKY,EAAa5P,UAAUiP,WAEvC,WAA9BW,EAAa9P,eAAwD,MAA1B8P,EAAa5P,UACtC,gBAAoB,MAAO,CAC7CpZ,IAAKipB,GACS,gBAAoB,KAAM,CACxC1G,GAAI,WAAWtlB,OAAO+rB,EAAaE,cACrB,gBAAoB,GAAApB,KAAM,CACxC3Q,KAAM,WACJ,IAAK6R,EAAa5P,UAAUxB,QAEA,oBAA9BoR,EAAa9P,eAAiE,MAA1B8P,EAAa5P,UAC/C,gBAAoB,MAAO,CAC7CpZ,IAAKipB,GACS,gBAAoB,KAAM,CACxC1G,GAAI,aAAatlB,OAAO+rB,EAAa5P,UAAU+P,UAAW,cAAclsB,OAAO+rB,EAAaE,cAC9E,gBAAoB,GAAApB,KAAM,CACxC3Q,KAAM,WACJ,IAAK6R,EAAa5P,UAAUxB,QAE3B,IACT,GACF,IACOtV,CACT,CAEA,OADA,QAAUwmB,EAAoB9K,IACvB,OAAa8K,EAAoB,CAAC,CACvC9oB,IAAK,SACLC,MAAO,WACL,IAAI+K,EAAerN,KAAK4gB,MAAMvT,aAC9B,OAAoB,gBAAoB,MAAO,CAC7C0U,UAAW,oCACM,MAAhB1U,GAAwBA,EAAa+d,cAAczpB,OAAS,EAAiB,gBAAoB,MAAO,CACzGogB,UAAW,kBACV/hB,KAAKyrB,cAAgB,KAC1B,IAEJ,CArGsC,CAqGpC,EAAAxK,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1BtJ,KAAMkC,EAAMsV,KAAKxX,KAErB,GACA,CAAwC8jB,I,0BC1H7B,GAA4B,SAAmCtmB,EAAO6mB,GAC/E,IAEIC,EAAa,CACf,cAHuBlpB,aAAagD,QAAQ,aAAeimB,GAI3D,MAAS7mB,GAEXnE,EAAY6B,WAAW,CACrBC,QANY,uBAOZopB,cAAe,GACdD,EACL,ECkBA,UA1B6B,QAAa,SAASE,EAAUjL,GAC3D,IAAIjc,EAAQ3E,MACZ,OAAgBA,KAAM6rB,IACtB,OAAgB7rB,KAAM,OAAO,WAC3BkF,QAAQC,IAAIR,EAAMoB,KACpB,KACA,OAAgB/F,KAAM,SAAS,WAC7BkF,QAAQ4mB,MAAMnnB,EAChB,KACA,OAAgB3E,KAAM,WAAW,SAAU2jB,GACzC,IAQEA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,EAAOA,EAAKhK,QAAQ,QAAS,KACjBA,QAAQ,UAAW,KACnBA,QAAQ,QAAS,MACjBA,QAAQ,QAAS,MACjBA,QAAQ,YAAa,UACrBA,QAAQ,YAAa,UACrBA,QAAQ,YAAa,UACrBA,QAAQ,YAAa,QACnC,CAAE,MAAO9U,GAET,CACA,OAAO8e,CACT,IACA3jB,KAAK+F,KAAO6a,CACd,ICvBA,SAAS,GAAW7f,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAmHlP,SAhH4B,SAAUgrB,GACpC,SAASC,EAASpL,GAChB,IAAIjc,GACJ,OAAgB3E,KAAMgsB,GACtBrnB,EAAQ,GAAW3E,KAAMgsB,EAAU,CAACpL,KACpC,OAAgBjc,EAAO,aAAa,WAClC,OAAOA,EAAMoB,IACf,KACA,OAAgBpB,EAAO,OAAO,SAAUsnB,EAAMC,GAE5C,OADAvnB,EAAMoB,KAAOpB,EAAMoB,KAAKomB,IAAIF,EAAMC,GAC3BvnB,CACT,KACA,OAAgBA,EAAO,OAAO,WAC5B,IAAIynB,EAEJ,OADAznB,EAAMoB,MAAQqmB,EAAaznB,EAAMoB,MAAMyS,IAAIhX,MAAM4qB,EAAY1qB,WACtDiD,CACT,KACA,OAAgBA,EAAO,SAAS,WAC9B,OAAOA,EAAMoB,KAAKsmB,OACpB,KACA,OAAgB1nB,EAAO,YAAY,WACjC,IAAK,IAAI2b,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAGzB,OADA9b,EAAMoB,KAAOpB,EAAMoB,KAAKumB,SAAS/L,GAC1B5b,CACT,KACA,OAAgBA,EAAO,UAAU,WAE/B,OADAA,EAAMoB,KAAO,SAAWpB,EAAMoB,MACvBpB,CACT,KACA,OAAgBA,EAAO,eAAe,WACpC,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,KACnC,KACA,OAAgB9T,EAAO,uBAAuB,WAC5C,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,MACnC,KACA,OAAgB9T,EAAO,gBAAgB,WACrC,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,aACnC,KACA,OAAgB9T,EAAO,gBAAgB,WACrC,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,iBACnC,KACA,OAAgB9T,EAAO,gBAAgB,WACrC,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,gBACnC,KACA,OAAgB9T,EAAO,qBAAqB,WAC1C,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,gBACnC,KACA,OAAgB9T,EAAO,WAAW,WAChC,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,KACnC,KACA,OAAgB9T,EAAO,gBAAgB,WAErC,OADkBjD,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,IAAmBA,UAAU,GAExEiD,EAAMoB,KAAK+D,QAAQ2O,OAAO,cAE5B9T,EAAMoB,KAAK+D,QAAQ2O,OAAO,QACnC,KACA,OAAgB9T,EAAO,UAAU,WAC/B,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,OACnC,KACA,OAAgB9T,EAAO,iBAAiB,WACtC,OAAOA,EAAMoB,KAAK+D,QAAQ2O,OAAO,cACnC,KACA,OAAgB9T,EAAO,cAAc,WACnC,OAAOA,EAAMoB,KAAK+D,QAAQyiB,SAC5B,KACA,OAAgB5nB,EAAO,UAAU,SAAU8T,GACzC,OAAO9T,EAAMoB,KAAK+D,QAAQ2O,OAAOA,EACnC,KACA,OAAgB9T,EAAO,UAAU,SAAU6nB,GACzC,OAAO7nB,EAAMoB,KAAK0mB,OAAOD,EAC3B,KACA,OAAgB7nB,EAAO,mBAAmB,WACxC,OAAOA,EAAMoB,KAAK0S,OAAO,sBAC3B,KACA,OAAgB9T,EAAO,SAAS,SAAU+nB,GAExC,OADA/nB,EAAMoB,KAAOpB,EAAMoB,KAAK4mB,MAAMD,GACvB/nB,CACT,IACA,IAAIioB,EAASnqB,aAAagD,QAAQ,YA0BlC,OAzBc,MAAVmnB,IACY,MAAVA,GACFA,EAAS,QACTnqB,aAAa8C,QAAQ,WAAY,UACd,MAAVqnB,GACTA,EAAS,QACTnqB,aAAa8C,QAAQ,WAAY,UACd,MAAVqnB,GACTA,EAAS,QACTnqB,aAAa8C,QAAQ,WAAY,UACd,MAAVqnB,IACTA,EAAS,QACTnqB,aAAa8C,QAAQ,WAAY,UAEnC,YAAcqnB,IAEE,MAAdjoB,EAAMoB,KAC2B,YAA/BpB,EAAMoB,KAAKia,YAAYxG,KACzB7U,EAAMoB,KAAO,SAAWpB,EAAMoB,KAAK8mB,gBAEnCloB,EAAMoB,KAAO,SAAWpB,EAAMoB,MAGhCpB,EAAMoB,KAAO,WAERpB,CACT,CAEA,OADA,QAAUqnB,EAAUD,IACb,OAAaC,EACtB,CA/G4B,CA+G1B,IC3DF,SA3Dc,SAAiBpL,GAC7B,IAUImB,EAAY,uBACZ+K,EAAiB,YAmBrB,OAlBIlM,EAAMmM,KACRhL,GAAa,OAEXnB,EAAMoM,SACRjL,GAAa,WAEXnB,EAAMqM,eACRlL,GAAa,qBAEXnB,EAAMsM,aACRnL,GAAa,kBAEVnB,EAAMmM,KACTD,GAAkB,SAEhBlM,EAAMmM,KACRD,GAAkB,UAEA,gBAAoB,MAAO,KAAmB,gBAAoB,GAAAK,KAAM,CAC1FC,IAAKxM,EAAMmM,GACXnL,QAAQ,GACM,gBAAoB,MAAO,CACzCG,UAAWA,GACO,MAAjBnB,EAAMyM,QAA+B,gBAAoB,MAAO,CACjEtL,UAAW,cACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,SACJoH,EAAMyM,SAAwB,gBAAoB,OAAQ,CAC5DjJ,wBAAyB,CACvBC,OAAQzD,EAAMI,YAEdJ,EAAW,MAAMA,EAAMmM,GAAkB,gBAAoB,MAAO,CACtEhL,UAAW,iBACR,KAAuB,MAAjBnB,EAAM5G,SAAmB4G,EAAM5G,QAAQrY,OAAS,EAAiB,gBAAoB,MAAO,CACrGogB,UAAW,eACG,gBAAoB,GAAAuL,YAAa,CAC/CvD,QAAS,KACRnJ,EAAM5G,QAAQ8D,KAAI,SAAU9L,EAAQiS,GACrC,OAAoB,gBAAoB,GAAAqJ,YAAYC,KAAM,CACxDzK,QAAS9Q,EAAO8Q,QAChBzgB,IAAK,UAAY4hB,GAChBjS,EAAOwb,MACZ,MAAO,OAAqB,gBAAoB,MAAO,CACrDzL,UAAW+K,GACM,MAAhBlM,EAAM6M,OAAiB7M,EAAM6M,OAAS,MAAQ,KAxDnC,WACZ,GAAkB,MAAd7M,EAAMvZ,KACR,OAAO,KAET,IAAImS,EAAOoH,EAAMvZ,KAAKojB,UAItB,OAH2B,MAAvB7J,EAAMvZ,KAAKqjB,WACblR,GAAQ,IAAMoH,EAAMvZ,KAAKqjB,UAEpBlR,EAAO,KAChB,CA+CuDmR,GAAW,IAAI,GAAS/J,EAAM9U,MAAM4hB,qBAC7F,ECrDA,SAAS,GAAQ7sB,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAE9P,SAAS,GAAWA,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAI4sB,GAAkB,EAAQ,MAC1BC,GAAoC,SAAUvN,GAEhD,SAASuN,EAAqBhN,GAC5B,IAAIjc,EA4OJ,OA3OA,OAAgB3E,KAAM4tB,GACtBjpB,EAAQ,GAAW3E,KAAM4tB,EAAsB,CAAChN,KAChD,OAAgBjc,EAAO,gBAAgB,SAAU8hB,GAC/C9hB,EAAM+hB,UAAYD,CACpB,KAEA,OAAgB9hB,EAAO,wBAAwB,WAC7CA,EAAM+hB,UAAUc,oBAAoB,SAAU7iB,EAAMkpB,SACtD,KACA,OAAgBlpB,EAAO,qBAAqB,WAEvBA,EAAMic,MAAMvT,aACR,MAAnB1I,EAAM+hB,YACR/hB,EAAM+hB,UAAUoH,UAAYnpB,EAAM+hB,UAAUqH,aAC5CppB,EAAM+hB,UAAUU,iBAAiB,SAAUziB,EAAMkpB,UAErD,KACA,OAAgBlpB,EAAO,sBAAsB,SAAU0iB,EAAW2G,GAC5DA,GAAarpB,EAAM4E,QAGvB5E,EAAM+hB,UAAUoH,UAAYnpB,EAAM+hB,UAAUqH,aAC9C,KAEA,OAAgBppB,EAAO,YAAY,SAAUspB,EAAMC,GACjD,OAAO,WACL,IAAK,IAAI5N,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAEzB,IAII0N,EAAUD,IAAcvpB,EAAMypB,QAClCC,aAAa1pB,EAAMypB,SACnBzpB,EAAMypB,QAAUpoB,YANJ,WACVhG,KAAKouB,QAAU,KACVF,GAAWD,EAAKzsB,MAAMxB,KAAMugB,EACnC,GAGkC5b,EAAM2pB,aACpCH,GAASF,EAAKzsB,MAAMmD,EAAO4b,EACjC,CACF,KACA,OAAgB5b,EAAO,YAAY,WACVA,EAAM4pB,UAAS,WAC/B5pB,EAAM4E,MAAMilB,cACf7pB,EAAMye,SAAS,CACboL,aAAa,IAEftpB,QAAQC,IAAI,kBAEhB,GACAspB,EACF,KACA,OAAgB9pB,EAAO,eAAe,SAAUiC,GAC9C,GAAgC,MAA5BjC,EAAMic,MAAMvT,aAAsB,CACpC,IAAIgU,EAAa1c,EAAMic,MAAMvT,aAAa+T,YAAY9K,MAAK,SAAU+K,GACnE,OAAOA,EAAWC,cAAgB1a,CACpC,IACA,GAAkB,MAAdya,EACF,OA1EV,SAAuBxgB,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CA0Era,CAAc,CACnB+F,GAAIya,EAAWC,cACdD,EAAWha,KAElB,CACA,OAAO,CACT,KAEA,OAAgB1C,EAAO,eAAe,WAAa,KACnD,OAAgBA,EAAO,YAAY,SAAUG,GACvCH,EAAM+hB,UAAUoH,UAAY,IAC9BnpB,EAAM+pB,UAEV,KACA,OAAgB/pB,EAAO,iBAAiB,SAAUnC,GAChD,IAAImsB,EAAYhqB,EAAMic,MAAM+N,UAC5B,KAAK,CACH1U,MAAO0U,EAAU,mCACjBjQ,KAAMiQ,EAAU,2CAChBC,MAAO,OACPC,kBAAkB,EAClBC,iBAAkBH,EAAU,UAC5BI,kBAAmBJ,EAAU,oBAC5BzrB,MAAK,SAAUe,GACM,MAAlBA,EAAS3B,OAEXqC,EAAMic,MAAMoO,YAAYxsB,EAAQoE,GAAI3C,EAAS3B,OAAOY,MAAK,WACvD,KAAK,CACH+W,MAAO0U,EAAU,iCACjBjQ,KAAMiQ,EAAU,uFAChBE,kBAAkB,EAClBE,kBAAmBJ,EAAU,SAEjC,GAEJ,GACF,KACA,OAAgBhqB,EAAO,qBAAmC,WACxD,IAAIZ,GAAO,OAAgC,UAAyB,SAASC,EAAQxB,GACnF,IAAI6E,EAAM4nB,EAASzV,EAAM0V,EAAeC,EAAuBrjB,EAAM/F,EAAMiS,EAC3E,OAAO,UAAyB,SAAkB7T,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EA0BH,OAzBAwD,EAAO1C,EAAMic,MAAMvZ,KACnB4nB,EAAUtqB,EAAMyqB,YAAY5sB,EAAQysB,SACpCzV,EAAO,GACiB,MAApBhX,EAAQ6sB,UAA0C,WAAtB7sB,EAAQ8sB,WAIjB,OAHrBJ,EAAgBvqB,EAAMic,MAAMvT,aAAa+T,YAAY9K,MAAK,SAAUiZ,GAClE,OAAOA,EAAEjO,cAAgB9e,EAAQ6sB,QACnC,OAEE7V,EAA2D,QAAnD2V,EAAwBD,EAAc1N,eAA+C,IAA1B2N,OAAmC,EAASA,EAAsBlV,OAGvIT,EAAOyV,EAAQxE,UAAY,IAAMwE,EAAQvE,SAE3C5e,EAAO,KAAOtJ,EAAQgtB,SAAS/W,OAAO,oBACtC1S,EAAO,CACLkU,MAAOT,EACPiW,OAAQ,CAAC,CACPjL,QAAShL,EAAO,KAAO1N,EAAO,eAC9B4jB,SAAU,aACT,CACDlL,QAAShiB,EAAQkc,KACjBgR,SAAU,eAGdvrB,EAASN,KAAO,EACTc,EAAMic,MAAMtJ,sBACrB,KAAK,EAEH,GAAgB,OADhBU,EAASrT,EAAMic,MAAM5I,QACE,CACrB7T,EAASN,KAAO,GAChB,KACF,CACA,OAAOM,EAASwrB,OAAO,UACzB,KAAK,GACHhC,GAAgBiC,YAAY5X,EAAOT,MAAOS,EAAOR,UAAWzR,EAAM,CAChE8pB,QAAQ,KAAA/O,qBACRgP,SAAU,UACF,OAAE,SAAUjrB,GACpBK,QAAQL,MAAM,QAASA,GACvB,GAA0BA,EAAOwC,EAAKT,GACxC,IACF,KAAK,GACL,IAAK,MACH,OAAOzC,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,GACf,OAAOT,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CAxD0D,KA0D1D,OAAgBiD,EAAO,iBAAiB,SAAUnC,EAASyhB,GACzD,IAAI5c,EAAO1C,EAAMic,MAAMvZ,KACnB0lB,GAAK,EACLC,GAAS,EACT+C,GAAK,EACLC,GAAO,EACPxR,GAAa,EACbxE,EAAU,GACVqT,EAAU,KACV7qB,EAAQysB,SAAW5nB,EAAKT,IAC1BmmB,GAAK,EACiB,MAAlBvqB,EAAQic,SACV4O,EAAU1oB,EAAMic,MAAM+N,UAAU,2CAGZ,MAAlBnsB,EAAQic,QACVzE,EAAQzY,KAAK,CACXisB,MAAO7oB,EAAMic,MAAM+N,UAAU,kBAC7B7L,QAAS,WACP,OAAOne,EAAMsrB,cAAcztB,EAC7B,IAEFwX,EAAQzY,KAAK,CACXisB,MAAO7oB,EAAMic,MAAM+N,UAAU,oBAC7B7L,QAAS,WACP,OAAOne,EAAMurB,mBAAmB1tB,EAClC,KAGF6qB,EAAU1oB,EAAMic,MAAM+N,UAAU,yCAGhC,KAAOnsB,EAAQgtB,SAAW,KAAO7qB,EAAMic,MAAMvT,aAAa8iB,YAC5D3R,GAAa,GAEf,IAAI4R,EAAczrB,EAAMic,MAAMvT,aAAaE,SAAS0W,EAAQ,GACzC,MAAfmM,GAAuBA,EAAYnB,SAAWzsB,EAAQysB,UACxDjC,GAAS,EACT+C,GAAK,GAEP,IAAItC,EAAS,GACTwB,EAAUtqB,EAAMyqB,YAAY5sB,EAAQysB,SACpCoB,EAAc1rB,EAAMic,MAAMvT,aAAaE,SAAS0W,EAAQ,GAM5D,GALmB,MAAfoM,GACEA,EAAYpB,SAAWzsB,EAAQysB,UACjCe,GAAO,GAGa,MAApBxtB,EAAQ6sB,UAA0C,WAAtB7sB,EAAQ8sB,WAAyB,CAC/D,IAIMgB,EAJFpB,EAAgBvqB,EAAMic,MAAMvT,aAAa+T,YAAY9K,MAAK,SAAUiZ,GACtE,OAAOA,EAAEjO,cAAgB9e,EAAQ6sB,QACnC,IACA,GAAqB,MAAjBH,EAEFzB,EAA8D,QAApD6C,EAAyBpB,EAAc1N,eAAgD,IAA3B8O,OAAoC,EAASA,EAAuBrW,KAE9I,MACEwT,EAASwB,EAAQxE,UACO,MAApBwE,EAAQvE,WACV+C,GAAU,IAAMwB,EAAQvE,UAG5B,OAAoB,gBAAoB,GAAS,CAC/CroB,IAAKG,EAAQoE,GACboa,SAAUxe,EAAQkc,KAClB5S,KAAMtJ,EAAQgtB,QACdtC,WAAY6C,EACZ/V,QAASA,EACTiT,aAAc+C,EACdhD,OAAQA,EACRS,OAAQA,EACRV,GAAIA,EACJ,IAAOvO,EACP6O,QAASA,GAEb,IACA1oB,EAAM4E,MAAQ,CACZilB,aAAa,EACb+B,SAAS,GAEX5rB,EAAM+hB,UAAY,KAClB/hB,EAAMG,MAAQ,KACdH,EAAM2pB,YAAc,GACpB3pB,EAAMypB,QAAU,KACTzpB,CACT,CAEA,OADA,QAAUipB,EAAsBvN,IACzB,OAAauN,EAAsB,CAAC,CACzCvrB,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,kCACX2F,IAAK1nB,KAAK2nB,cACI,gBAAoB,MAAO,CACzC5F,UAAW,WACiB,MAA3B/hB,KAAK4gB,MAAMvT,aAAuBrN,KAAK4gB,MAAMvT,aAAaE,SAASuQ,IAAI9d,KAAKwwB,eAA8B,gBAAoB,GAAS,CACxI5O,QAAQ,KAEZ,IAEJ,CA/PwC,CA+PtC,EAAAX,WASF,UAAe,SARf,SAAyB1X,GACvB,MAAO,CACLgE,SAAUhE,EAAM0U,aAAa1Q,SAC7BlG,KAAMkC,EAAMsV,KAAKxX,KACjB2Q,OAAQzO,EAAMsV,KAAK7G,OACnB2W,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC8T,YpEjJuB,SAAqBpoB,EAAI2J,GAChD,MAAO,CACLpI,KAAMyE,GACNxE,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,IAAI2R,EAAS,CACX,UAAa9N,EACb,OAAU2J,GAEZ,EAAI7J,KAAK,wBAAyBgO,GAAQxR,MAAK,SAAUe,GACvDlB,EAAQ,GAAc,CACpB0b,OAAQxa,EAAS8B,MAChB2O,GACL,GACF,IAEJ,EoEmIE4C,oBAAqBA,IAFvB,CAGGsW,I,oCC5RH,SAAS,GAAW7sB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAI0vB,GAA0B,SAAUpQ,GACtC,SAASoQ,EAAW7P,GAClB,IAAIjc,EA6DJ,OA5DA,OAAgB3E,KAAMywB,GACtB9rB,EAAQ,GAAW3E,KAAMywB,EAAY,CAAC7P,KACtC,OAAgBjc,EAAO,kBAAkB,WACvCA,EAAM+rB,KAAa,OAAEC,QACvB,KACA,OAAgBhsB,EAAO,eAAe,WACpCA,EAAM+rB,KAAW,KAAEC,QACrB,KACA,OAAgBhsB,EAAO,iBAAiB,SAAUG,GAChD,IACI+lB,EADa/lB,EAAM+G,OAAOvJ,MACPuoB,MAAM,KAC7B,GAAqB,IAAjBA,EAAMlpB,QAAgBgD,EAAMic,MAAM9U,KAAM,CAC1C,IAAI8kB,EAAU,KAAOjsB,EAAMic,MAAM9U,MAAMqgB,IAAI,OAAQtB,EAAM,IAAIsB,IAAI,SAAUtB,EAAM,IACjFlmB,EAAMic,MAAM0C,SAASsN,EACvB,CACF,KACA,OAAgBjsB,EAAO,gBAAgB,SAAUG,GAC/C,IAAI+rB,EAAQ/rB,EAAM+G,OAAOvJ,MACrB4D,SAAS2qB,GAAS,IACpBA,EAAQ,GAEN3qB,SAAS2qB,GAAS,KACpBA,EAAQ,IAENA,EAAMlvB,OAAS,GACjBgD,EAAM+rB,KAAa,OAAEI,QAEnB5qB,SAAS2qB,GAAS,KACpBA,EAAQ,IAAMA,GAEhB,IAAID,EAAU,KAAOjsB,EAAMic,MAAM9U,MAAMqgB,IAAI,OAAQ0E,GACnDlsB,EAAMic,MAAM0C,SAASsN,EACvB,KACA,OAAgBjsB,EAAO,mBAAmB,SAAUG,GAClD,IAAIisB,EAAUjsB,EAAM+G,OAAOvJ,MACL,GAAlByuB,EAAQpvB,QACVmD,EAAM+G,OAAO8kB,SAEXzqB,SAAS6qB,GAAW,IACtBA,EAAU,GAER7qB,SAAS6qB,GAAW,KACtBA,EAAU,IAER7qB,SAAS6qB,GAAW,KACtBA,EAAU,IAAMA,GAElB,IAAIH,EAAU,KAAOjsB,EAAMic,MAAM9U,MAAMqgB,IAAI,UAAW4E,GACtDpsB,EAAMic,MAAM0C,SAASsN,EACvB,KACA,OAAgBjsB,EAAO,cAAc,WACnC,IAAIisB,EAAU,KAEZA,EAD0C,MAAxC,KAAOjsB,EAAMic,MAAM9U,MAAM2M,OAAO,KACxB,KAAO9T,EAAMic,MAAM9U,MAAM0M,IAAI,GAAI,SAEjC,KAAO7T,EAAMic,MAAM9U,MAAMwgB,SAAS,GAAI,SAElD3nB,EAAMic,MAAM0C,SAASsN,EACvB,IACA,aAAc,KAAA9P,sBACPnc,CACT,CAEA,OADA,QAAU8rB,EAAYpQ,IACf,OAAaoQ,EAAY,CAAC,CAC/BpuB,IAAK,SACLC,MAAO,WACL,IAAImW,EAASzY,KAAK4gB,MAAMoQ,OAAS,KAAO,KACpCH,EAAQ7wB,KAAK4gB,MAAM9U,KAAO,KAAO9L,KAAK4gB,MAAM9U,MAAM2M,OAAOA,GAAU,OAASA,OAAOA,GACnFsY,EAAU/wB,KAAK4gB,MAAM9U,KAAO,KAAO9L,KAAK4gB,MAAM9U,MAAM2M,OAAO,MAAQ,OAASA,OAAO,MACvF,OAAoB,gBAAoB,MAAO,CAC7CsJ,UAAW,oBACG,gBAAoB,MAAO,CACzCA,UAAW,yBACG,gBAAoB,QAAS,CAC3CA,UAAW,YACX5Z,KAAM,MACNmb,SAAUtjB,KAAKixB,aACfC,QAASlxB,KAAKmxB,YACd7uB,MAAOuuB,EACPnJ,IAAK,SACU,gBAAoB,OAAQ,KAAM,KAAmB,gBAAoB,QAAS,CACjG3F,UAAW,YACX5Z,KAAM,MACNmb,SAAUtjB,KAAKoxB,gBACfF,QAASlxB,KAAKqxB,eACd/uB,MAAOyuB,EACPrJ,IAAK,WACH1nB,KAAK4gB,MAAMoQ,OAAsB,gBAAoB,OAAQ,CAC/DjP,UAAW,gBACXe,QAAS9iB,KAAKsxB,YACb,KAAOtxB,KAAK4gB,MAAM9U,MAAM2M,OAAO,MAAQ,MAC5C,IAEJ,CAhG8B,CAgG5B,EAAAwI,WAIF,UAAe,SAHf,SAAyB1X,GACvB,MAAO,CAAC,CACV,GACwC,CAAC,EAAzC,CAA4CknB,I,eC3G5C,SAAS,GAAW1vB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAqJlP,SAjJ0B,SAAUsf,GAClC,SAASkR,EAAO3Q,GACd,IAAIjc,GACJ,OAAgB3E,KAAMuxB,GACtB5sB,EAAQ,GAAW3E,KAAMuxB,EAAQ,CAAC3Q,KAClC,OAAgBjc,EAAO,qBAAqB,WACtCA,EAAMic,MAAM4Q,UACF7sB,EAAM+rB,KAAKe,MAAMC,YACvBC,SAEV,KACA,OAAgBhtB,EAAO,gBAAgB,WACrC,IAAI8sB,EAAQ9sB,EAAM+rB,KAAKe,MAAMC,YACzBE,EAAQH,EAAMI,eAClB,KAAK,CACH5X,MAAO,cACPyE,KAAM,WACNkQ,MAAO,OACPkD,iBAAkB,WAClB/C,kBAAmB,SACnBgD,cAAc,IACb7uB,MAAK,SAAU8uB,GACI,MAAhBA,EAAO1vB,OAAiC,IAAhB0vB,EAAO1vB,OACjCmvB,EAAMQ,YAAYL,EAAM3N,MAAO,QAAS+N,EAAO1vB,MAEnD,GACF,KACA,OAAgBqC,EAAO,gBAAgB,WACzBA,EAAM+rB,KAAKe,MAAMC,YACXG,cAIpB,KACA,OAAgBltB,EAAO,cAAc,SAAUutB,GAC7C,IAAIT,EAAQ9sB,EAAM+rB,KAAKe,MAAMC,YACzBQ,GACF,KAAK,CACHjY,MAAO,kBACPyE,KAAM,WACNkQ,MAAO,OACPG,kBAAmB,SACnBgD,cAAc,IACb7uB,MAAK,SAAU8uB,GAChB,GAAoB,MAAhBA,EAAO1vB,OAAiC,IAAhB0vB,EAAO1vB,MAAa,CAC9C,IAAImX,EAAMuY,EAAO1vB,OAGa,GAA1BmX,EAAI9a,QAAQ,YAA0C,GAAvB8a,EAAI9a,QAAQ,SAAuC,GAAvB8a,EAAI9a,QAAQ,QACpE8a,EAAI0Y,MAAM,qBACb1Y,EAAM,WAAaA,GAErBgY,EAAMhZ,OAAO,OAAQgB,IAErBgY,EAAMhZ,OAAO,QAAQ,EAEzB,CACF,GAEJ,IACA,IAAI2Z,EAAkB,GAOtB,OANIztB,EAAMic,MAAMyR,cACdD,EAAkBztB,EAAMic,MAAMyR,aAEhC1tB,EAAM4E,MAAQ,CACZ6oB,gBAAiBA,GAEZztB,CACT,CAEA,OADA,QAAU4sB,EAAQlR,IACX,OAAakR,EAAQ,CAAC,CAC3BlvB,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACTuyB,EAAOvyB,KAAK4gB,MAAM2R,KAClBC,EAAU,CACZC,QAAS,CACP/L,UAAW,CAAC,CAAC,CACXgM,OAAQ,CAAC,EAAG,GAAG,KACb,CAAC,OAAQ,SAAU,YAAa,SAAU,cAAe,CAAC,CAC5DjpB,KAAM,YACJ,CAAC,OAAQ,QAAS,QAAS,SAAU,CAAC,YAC1CkpB,SAAU,CACRjO,MAAO1kB,KAAK4yB,aACZjO,KAAM3kB,KAAK6yB,YAGbC,SAAU,CACRC,SAAU,CACR,gBAAiB,CACfC,OAAQ,eAQlB,OAAoB,gBAAoB,MAAO,KAAMhzB,KAAK4gB,MAAM4M,MAAqB,gBAAoB,QAAS,KAAMxtB,KAAK4gB,MAAM4M,OAAS,KAAmB,gBAAoB,KAAY,CAC7LgF,QAASA,EACTS,QAJY,CAAC,SAAU,OAAQ,SAAU,YAAa,SAAU,aAAc,OAChF,OAAQ,QAAS,QAAS,WAIxBZ,YAAaryB,KAAKuJ,MAAM6oB,gBACxB1K,IAAK,QACLzF,MAAOsQ,EAAKW,SAAWX,EAAK1tB,MAAQ,CAClCsuB,OAAQ,iBACN,CAAC,EACL7wB,MAAOtC,KAAK4gB,MAAMgO,MAAQ5uB,KAAK4gB,MAAMgO,MAAMtsB,MAAQ,KACnDghB,SAAU,SAAkBhhB,EAAO8wB,EAAOC,GACxC,IAAIC,EAAWhxB,EACXixB,EAAUD,EAASnB,MAAM,iCACd,MAAXoB,GACFA,EAAQzV,KAAI,SAAUqU,GACpB,IAAIH,EAASG,EAGbH,GADAA,GADAA,EAASA,EAAOrY,QAAQ,MAAO,MACfA,QAAQ,OAAQ,KAChBA,QAAQ,SAAU,KAClC2Z,EAAWA,EAAS3Z,QAAQwY,EAAOH,EACrC,IAEEM,EAAO1R,MAAMgO,OACf0D,EAAO1R,MAAMgO,MAAMtL,SAASgQ,EAEhC,EACAE,OAAQ,SAAgB5B,EAAOyB,EAAQ5B,GACjCa,EAAO1R,MAAMgO,OACf0D,EAAO1R,MAAMgO,MAAM4E,OAAO/B,EAAMgC,UAEpC,EACAvC,QAAS,WAET,SACkB,IAATqB,EAAoC,gBAAoB,MAAO,KAAMA,EAAKW,UAAYX,EAAK1tB,OAAsB,gBAAoB,OAAQ,CACtJod,MAAO,CACLyR,UAAW,GAEb3R,UAAW,SACVwQ,EAAK1tB,QAAU0tB,EAAKoB,SAAwB,gBAAoB,OAAQ,CACzE1R,MAAO,CACLyR,UAAW,GAEb3R,UAAW,SACVwQ,EAAKoB,WAAa,KACvB,IAEJ,CAhJ0B,CAgJxB,EAAA1S,WCzJF,SAAS,GAAQpgB,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAgEtb,SA9DuB,SAA0B+f,GAC/C,IAAIgT,EAAcC,EACdC,GAAY,IAAAC,QAAO,MACnBC,EAAiB,WACnB,GAAiF,OAA5EF,aAA6C,EAASA,EAAUlrB,SAAkB,CAIrF,IAAI6d,EAAUqN,EAAUlrB,QACpBqrB,EAAOxN,EAAQyN,YAAYrJ,MAAM,MAAMlpB,OAAS,EAChDsyB,EAAO,IACTA,EAAO,GAETxN,EAAQxE,MAAMsH,OAAS,GAAK,GAAK0K,EAAO,IAC1C,CACF,GAyBA,IAAAE,YAAU,WACRH,GACF,GAAG,CAACpT,EAAMI,WACV,IAAIoT,EAAe,GAAc,CAAC,EAAGxT,GAKrC,cAJOwT,EAAanS,aACbmS,EAAapT,gBACboT,EAAaxF,aACbwF,EAAa7B,KACA,gBAAoB,YAAY,QAAS,CAC3DxQ,UAAW,mBACX2F,IAAKoM,EACLO,QAASL,EACTR,OApCY,WACqE,OAA5EM,aAA6C,EAASA,EAAUlrB,UACrDkrB,EAAUlrB,QAChB0rB,UAAUC,OAAO,SAE3BP,IAGAhuB,YAAW,WACT,OAAOguB,GACT,GAAG,IACL,EA0BE9C,QAzBa,WACoE,OAA5E4C,aAA6C,EAASA,EAAUlrB,UACrDkrB,EAAUlrB,QAChB0rB,UAAU9b,IAAI,SAExBwb,IAGAhuB,YAAW,WACT,OAAOguB,GACT,GAAG,IACL,EAeE1Q,SAA2C,QAAhCsQ,EAAehT,EAAMgO,aAAoC,IAAjBgF,OAA0B,EAASA,EAAatQ,SACnGhhB,MAAyC,QAAjCuxB,EAAgBjT,EAAMgO,aAAqC,IAAlBiF,OAA2B,EAASA,EAAcvxB,MACnG2f,MAAO,GAAc,CACnBuS,OAAQ,UACRC,UAAW,SACV7T,EAAMqB,QACRmS,GAAexT,EAAMI,SAC1B,EC5DA,SAAS,GAAWjgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAKlP,IAAI2zB,GAAsB,SAAUrU,GAClC,SAASqU,EAAO9T,GACd,IAAIjc,GACJ,OAAgB3E,KAAM00B,GACtB/vB,EAAQ,GAAW3E,KAAM00B,EAAQ,CAAC9T,KAClC,OAAgBjc,EAAO,YAAY,SAAUspB,EAAMC,GACjD,OAAO,WACL,IAAK,IAAI5N,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAEzB,IAII0N,EAAUD,IAAcvpB,EAAMypB,QAClCC,aAAa1pB,EAAMypB,SACnBzpB,EAAMypB,QAAUpoB,YANJ,WACVhG,KAAKouB,QAAU,KACVF,GAAWD,EAAKzsB,MAAMxB,KAAMugB,EACnC,GAGkC5b,EAAM2pB,aACpCH,GAASF,EAAKzsB,MAAMmD,EAAO4b,EACjC,CACF,KACA,OAAgB5b,EAAO,YAAY,WACjC,IAAI+c,EAAc/c,EAAMic,MACtBgO,EAAQlN,EAAYkN,MACpB+F,EAAWjT,EAAYiT,SACrBryB,EAAQqC,EAAMiwB,WAClB,IAAKjwB,EAAMic,MAAMiU,YAA6B,IAAfvyB,EAAMwyB,MAEnC,OAAO,EAEI,MAATlG,GAAmC,MAAlBA,EAAM+F,UACzB/F,EAAM+F,SAASryB,GAED,MAAZqyB,GACFA,EAASryB,EAEb,KACA,OAAgBqC,EAAO,YAAY,WACjC,IAAIwD,EAAO,SACP2sB,EAAQnwB,EAAM4E,MAAMjH,MACpByyB,EAAW,KAgBf,MAfmC,KAA/BpwB,EAAM4E,MAAMjH,MAAMrC,OAAO,KAC3BkI,EAAO,SACP4sB,EAAW,IACXD,EAAQnwB,EAAM4E,MAAMjH,MAAM0yB,OAAO,IAEA,KAA/BrwB,EAAM4E,MAAMjH,MAAMrC,OAAO,KAC3BkI,EAAO,SACP4sB,EAAW,IACXD,EAAQnwB,EAAM4E,MAAMjH,MAAM0yB,OAAO,IAEA,KAA/BrwB,EAAM4E,MAAMjH,MAAMrC,OAAO,KAC3BkI,EAAO,SACP4sB,EAAW,IACXD,EAAQnwB,EAAM4E,MAAMjH,MAAM0yB,OAAO,IAE5B,CACL7sB,KAAMA,EACN4sB,SAAUA,EACVD,MAAOA,EAEX,KACA,OAAgBnwB,EAAO,iBAAiB,SAAUG,GAChD,IAAIwjB,EAAe3jB,EAAMic,MACvBgO,EAAQtG,EAAasG,MACrBtL,EAAWgF,EAAahF,SAC1B3e,EAAMye,SAAS,CACb9gB,MAAOwC,EAAM+G,OAAOvJ,QACnB,WAC4B,UAAzBqC,EAAMiwB,WAAWzsB,KAKjBxD,EAAMic,MAAMqU,YACEtwB,EAAM4pB,SAAS5pB,EAAMgwB,SACrCO,GANevwB,EAAM4pB,SAAS5pB,EAAMgwB,SACpCA,EAQJ,IACa,MAAT/F,GAAmC,MAAlBA,EAAMtL,UACzBsL,EAAMtL,SAASxe,EAAM+G,OAAOvJ,OAEd,MAAZghB,GACFA,EAASxe,EAAM+G,OAAOvJ,MAE1B,KACA,OAAgBqC,EAAO,aAAa,SAAUG,GACvB,IAAjBA,EAAMqwB,SACRxwB,EAAMgwB,SAAShwB,EAAM4E,MAAMjH,MAE/B,KACA,OAAgBqC,EAAO,eAAe,WACpCA,EAAM+rB,KAAY,MAAEI,OACtB,IACA,IAAIsE,EAAS,GASb,OARmB,MAAfxU,EAAMgO,OAAsC,MAArBhO,EAAMgO,MAAMtsB,QACrC8yB,EAASxU,EAAMgO,MAAMtsB,OAEvBqC,EAAM4E,MAAQ,CACZjH,MAAO8yB,GAETzwB,EAAMypB,QAAU,KAChBzpB,EAAM0wB,gBAAkB,IACjB1wB,CACT,CAEA,OADA,QAAU+vB,EAAQrU,IACX,OAAaqU,EAAQ,CAAC,CAC3BryB,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,oBACG,gBAAoB,MAAO,CACzCA,UAAW,uBACXe,QAAS9iB,KAAKs1B,aACA,gBAAoB,MAAO,CACzCvT,UAAW,mBACV/hB,KAAK4gB,MAAM2P,QAAuB,gBAAoB,GAAS,CAChEzO,OAAO,IACS,gBAAoB,GAAAqI,KAAM,CAC1C3Q,KAAM,aACU,gBAAoB,QAAS,CAC7CrR,KAAM,SACN7F,MAAOtC,KAAKuJ,MAAMjH,MAClBghB,SAAUtjB,KAAKu1B,cACfC,UAAWx1B,KAAKw1B,UAChB9N,IAAK,QACL2K,YAAaryB,KAAK4gB,MAAMyR,eACR,gBAAoB,MAAO,CAC3CtQ,UAAW,mBACV/hB,KAAK4gB,MAAMI,UAChB,IAEJ,CApI0B,CAoIxB,EAAAC,YACF,OAAgByT,GAAQ,eAAgB,CACtCO,YAAY,EACZJ,YAAY,IAEd,YCrJO,IAAIY,GAAa,oBACbC,GAAiB,wBACjBC,GAAc,uBACdC,GAAoB,6BCG/B,SAAS,GAAW70B,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAmDlP,SA7CyB,SAAUsf,GACjC,SAASwV,IACP,IAAIlxB,GACJ,OAAgB3E,KAAM61B,GACtB,IAAK,IAAIvV,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAwBzB,OAtBA9b,EAAQ,GAAW3E,KAAM61B,EAAO,GAAGv2B,OAAOihB,KAC1C,OAAgB5b,EAAO,iBAAiB,WACtC,OAAQA,EAAMic,MAAMzY,MAClB,KAAKstB,GACH,MAAO,CACLK,UAAW,QACX3tB,KAAM,OACNqR,KAAM7U,EAAMic,MAAMpH,KAClB6Y,YAAa1tB,EAAMic,MAAMyR,YACzBb,SAAkC,MAAxB7sB,EAAMic,MAAM4Q,UAAmB7sB,EAAMic,MAAM4Q,UAEzD,KAAKkE,GACH,MAAO,CACLI,UAAW,GACXtc,KAAM7U,EAAMic,MAAMpH,KAClB6Y,YAAa1tB,EAAMic,MAAMyR,YACzBb,SAAkC,MAAxB7sB,EAAMic,MAAM4Q,UAAmB7sB,EAAMic,MAAM4Q,UAEzD,QACE,MAAO,CAAC,EAEd,IACO7sB,CACT,CAEA,OADA,QAAUkxB,EAAOxV,IACV,OAAawV,EAAO,CAAC,CAC1BxzB,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,kBACV/hB,KAAK4gB,MAAMzY,MAAQwtB,GAA2B,gBAAoB,MAAO,CAC1E5T,UAAW,eACV/hB,KAAK4gB,MAAMte,OAAS,KAAMtC,KAAK4gB,MAAMzY,MAAQytB,GAAiC,gBAAoB,MAAO,KAAM51B,KAAK4gB,MAAMte,OAAS,KAAMtC,KAAK4gB,MAAMzY,MAAQstB,IAAcz1B,KAAK4gB,MAAMzY,MAAQutB,GAA8B,gBAAoB,MAAO,CACvP3T,UAAW,eACG,gBAAoB,KAAW/hB,KAAK+1B,kBAAoB,KAC1E,IAEJ,CA5CyB,CA4CvB,EAAA9U,WCjDF,SAAS,GAAQpgB,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAIi1B,GAA2B,SAAU3V,GACvC,SAAS2V,EAAYpV,GACnB,IAAIjc,EA+DJ,OA9DA,OAAgB3E,KAAMg2B,GACtBrxB,EAAQ,GAAW3E,KAAMg2B,EAAa,CAACpV,KACvC,OAAgBjc,EAAO,UAAU,SAAU+P,GACzC,OAAO,IAAI5R,QAAsB,WAC/B,IAAIiB,GAAO,OAAgC,UAAyB,SAASC,EAAQjB,EAASC,GAC5F,IAAIqK,EAActH,EAClB,OAAO,UAAyB,SAAkB5B,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEH,OADAM,EAASN,KAAO,EACTc,EAAMye,SAAS,CACpB6S,WAAW,IAEf,KAAK,EAUH,OATA5oB,EAAe1I,EAAMic,MAAMvT,cAC3BtH,EAAO,GAAc,CAAC,EAAG2O,IACpBgK,KAAOhK,EAAOgK,KAAO,GACN,MAAhBrR,IACFtH,EAAKmwB,eAAiB7oB,EAAazG,IAErCb,EAAKowB,SAAW,KAChBpwB,EAAK2Y,KAAOhK,EAAOgK,KAAK/E,QAAQ,MAAO,UACvCxV,EAASN,KAAO,GACTc,EAAMye,SAAS,CACpB6S,WAAW,IAEf,KAAK,GACCtxB,EAAMic,MAAM+T,SACdhwB,EAAMic,MAAM+T,SAAS5uB,GAAM7C,MAAK,WAC9ByB,EAAMic,MAAMwV,QACZrzB,EAAQ,EACV,IAEAiD,YAAW,WACTrB,EAAMic,MAAMwV,QACZrzB,EAAQ,EACV,GAAG,KAEP,KAAK,GACL,IAAK,MACH,OAAOoB,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,EAAIkT,GACnB,OAAO3T,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CA5CiC,GA6CnC,KACA,OAAgBiD,EAAO,YAAY,SAAUrC,GAC3C,QAAqB,IAAVA,GAAmC,KAAVA,EAOpC,MAAO,sBACT,IACAqC,EAAM4E,MAAQ,CACZ0sB,WAAW,GAENtxB,CACT,CAEA,OADA,QAAUqxB,EAAa3V,IAChB,OAAa2V,EAAa,CAAC,CAChC3zB,IAAK,SACLC,MAAO,WACL,IAAIof,EAAc1hB,KAAK4gB,MACrByV,EAAe3U,EAAY2U,aAC3BC,EAAa5U,EAAY4U,WACzBC,EAAQ7U,EAAY6U,MAClBnE,EAAkBpyB,KAAK4gB,MAAM+N,UAAU,gBAM3C,OAL+B,MAA3B3uB,KAAK4gB,MAAMvT,cACuC,YAAhDrN,KAAK4gB,MAAMvT,aAAavH,OAAO5F,gBACjCkyB,EAAkBpyB,KAAK4gB,MAAM+N,UAAU,6BAGvB,gBAAoB,MAAO,CAC7C5M,UAAW,6BACG,gBAAoByU,GAAA,EAAM,CACxC7B,SAAU0B,EAAar2B,KAAKy2B,QAC5B1U,UAAW,uBACG,gBAAoB,GAAAoL,KAAM,CACxCvL,QAAQ,GACM,gBAAoB,MAAO,CACzCG,UAAW,mBACT/hB,KAAKuJ,MAAM0sB,UAQV,KARmC,gBAAoB,KAAO,CACjEH,UAAW,GACX3tB,KAAM,OACNqR,KAAM,OACN6Y,YAAaD,EACbsE,SAAU12B,KAAK22B,SACfnF,SAAUxxB,KAAK4gB,MAAM4Q,SACrByC,KAAM,KACiB,gBAAoB,GAAA2C,OAAQ,CACnDpF,SAAU8E,IAAeC,GACvBD,EAEC,KAFyB,gBAAoB,GAAAnM,KAAM,CACtD3Q,KAAM,SACG8c,EAA0B,gBAAoB,MAAO,CAC9DvU,UAAW,qBACG,gBAAoB,GAAS,CAC3CD,OAAO,EACPF,QAAQ,KACJ,QACR,IAEJ,CA9G+B,CA8G7B,EAAAX,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,EAAwC,EAAA2b,GAAA,GAAU,CAChD/hB,KAAM,cACNgiB,kBAAkB,GAFoB,CAGrCd,KCnIH,SAAS,GAAWj1B,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAIg2B,GAAgC,SAAU1W,GAE5C,SAAS0W,EAAiBnW,GACxB,IAAIjc,EAoJJ,OAnJA,OAAgB3E,KAAM+2B,GACtBpyB,EAAQ,GAAW3E,KAAM+2B,EAAkB,CAACnW,KAE5C,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAIiC,EAAKjC,EAAMic,MAAMuR,MAAMlW,OAAOrV,GACxB,OAANA,EACFjC,EAAMic,MAAM5T,gBAAgBpG,GAAI1D,MAAK,WACnCyB,EAAMqyB,WACNryB,EAAMye,SAAS,CACbmN,SAAS,GAEb,IAE0B,MAAtB5rB,EAAMic,MAAMnT,OACd9I,EAAMic,MAAMqW,QAAQtd,QAAQ,mBAE5BhV,EAAMqyB,WACNryB,EAAMye,SAAS,CACbmN,SAAS,KAIf/xB,OAAO4oB,iBAAiB,SAAUziB,EAAMwiB,UACxCxiB,EAAMwiB,UACR,KACA,OAAgBxiB,EAAO,oCAAoC,SAAU+e,GACnE,IAAI9c,EAAK8c,EAAUyO,MAAMlW,OAAOrV,GAC5BA,GAAMjC,EAAMic,MAAMuR,MAAMlW,OAAOrV,KACjCjC,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAM5T,gBAAgBpG,GAAI1D,MAAK,WACnCyB,EAAMqyB,WACNryB,EAAMye,SAAS,CACbmN,SAAS,GAEb,IAEJ,KACA,OAAgB5rB,EAAO,YAAY,WACjC,IAAI0C,EAAO1C,EAAMic,MAAMvZ,KACnBT,EAAKjC,EAAMic,MAAMuR,MAAMlW,OAAOrV,GAC9BswB,EAAU,KAMd,GAAe,OAJbA,EAAUhW,GADF,OAANta,EACoCjC,EAAMic,MAAMvT,aAEZ1I,EAAMic,MAAMnT,OAFcpG,IAKhE,OAAO,KAET,IAAI4S,EAAQ,GACZid,EAAQt1B,SAAQ,SAAUu1B,EAAQlT,GAChC,GAAc,MAAVkT,EAAgB,CAIlB,GAHIlT,EAAQ,IACVhK,GAAS,MAEkB,kBAAzBkd,EAAO5V,eAET,OADAtH,GAASkd,EAAOld,MAAQ,KAAOtV,EAAMic,MAAM+N,UAAU,SAAW,KACzD,EAEoB,YAAzBwI,EAAO5V,iBACT4V,EAAOzM,UAA+B,MAAnByM,EAAOzM,SAAmByM,EAAOzM,SAAW,IAAM,KAAO/lB,EAAMic,MAAM+N,UAAU,YAAc,KAElH1U,GAASkd,EAAO1M,UAAY,IAAM0M,EAAOzM,QAC3C,CACF,IACA/lB,EAAMic,MAAMxH,aAAaa,EAC3B,KACA,OAAgBtV,EAAO,wBAAwB,WAC7CnG,OAAOgpB,oBAAoB,SAAU7iB,EAAMwiB,UAC3CxiB,EAAMic,MAAMwW,mBACd,KAEA,OAAgBzyB,EAAO,iBAAiB,SAAU+P,GAChD,GAAgC,MAA5B/P,EAAMic,MAAMvT,aAAsB,CACpC,IAAI+iB,EAAczrB,EAAMic,MAAMvT,aAAaE,SAAS5I,EAAMic,MAAMvT,aAAaE,SAAS5L,OAAS,GAE7F+S,EAAOyhB,SADU,MAAf/F,EACgB,KAEAA,EAAYxpB,EAElC,MACE8N,EAAOyhB,SAAW,KAEpB,OAAO,IAAIrzB,SAAQ,SAAUC,GAC3B,IAAIsE,EAAO1C,EAAMic,MAAMvZ,KAIvB,GAHAqN,EAAOua,QAAU5nB,EAAKT,GACtB8N,EAAO2a,SAAWhoB,EAAKT,GACvB8N,EAAO4a,WAAa,OACe,OAA/B3qB,EAAMic,MAAMuR,MAAMlW,OAAOrV,GAAa,CAExC,IAAIyG,EAAe1I,EAAMic,MAAMnT,OAC/BiH,EAAO9N,GAAK,EACZyG,EAAaE,SAAW,CAACmH,UAClBA,EAAOwhB,eACd7oB,EAAa+T,YAAYxf,SAAQ,SAAUyf,GAEzC,cADOA,EAAWha,KACXga,CACT,IACA1c,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAMxT,mBAAmBC,EAAc1I,EAAMic,MAAMjQ,cAAc/J,IAAI1D,MAAK,WAC9EH,EAAQ,GACR4B,EAAMic,MAAMqW,QAAQtd,QAAQ,kBAAkBra,OAAOqF,EAAMic,MAAW,KACxE,GACF,MACEjc,EAAMic,MAAM3T,cAAcyH,GAAQxR,MAAK,WACrCyB,EAAMye,SAAS,CAAC,GAChBrgB,EAAQ,EACV,GAEJ,GACF,KACA,OAAgB4B,EAAO,YAAY,WACjC,IAAI4I,EAAWvI,SAASqyB,cAAc,0BACtC,GAAgB,MAAZ9pB,EAAkB,CACpB,IAAIgc,EAAS,EACT+N,EAAOtyB,SAASqyB,cAAc,QAC9BE,EAASD,EAAKD,cAAc,gBAC5B3E,EAAS4E,EAAKD,cAAc,iBAC5BG,EAAgBF,EAAKD,cAAc,2BACnCI,EAAaH,EAAKD,cAAc,8BAChCK,EAAeJ,EAAKD,cAAc,gBACtC9N,EAAS/qB,OAAOm5B,YACF,MAAVJ,IACFhO,GAAkBgO,EAAOxJ,cAEb,MAAV2E,IACFnJ,GAAkBmJ,EAAO3E,cAEN,MAAjByJ,IACFjO,GAAkBiO,EAAczJ,cAEhB,MAAd0J,IACFlO,EAASA,EAASkO,EAAW1J,aAAe,IAE1B,MAAhB2J,IACFnO,GAAkBmO,EAAa3J,cAEjCxgB,EAAS0U,MAAMsH,OAASA,EAAS,GAAK,IACxC,CACF,IACA5kB,EAAM4E,MAAQ,CACZgnB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUoyB,EAAkB1W,IACrB,OAAa0W,EAAkB,CAAC,CACrC10B,IAAK,SACLC,MACA,WACE,IAAI+K,EAAerN,KAAK4gB,MAAMvT,aAC1BmkB,GAAW,EAOf,MANkC,OAA9BxxB,KAAK4gB,MAAMuR,MAAMlW,OAAOrV,KAC1ByG,EAAerN,KAAK4gB,MAAMnT,QAER,MAAhBJ,GAA+C,YAAvBA,EAAavH,SACvC0rB,GAAW,GAEO,gBAAoB,MAAO,CAC7CzP,UAAW,QACG,gBAAoB,MAAO,CACzCA,UAAW,sCACG,gBAAoB,GAAoB,CACtD1U,aAAcA,IACC,gBAAoB,GAAsB,CACzDA,aAAcA,IACC,gBAAoB,GAAa,CAChDsnB,SAAU30B,KAAKiN,cACfI,aAAcA,EACdmkB,SAAUA,KAEd,IAEJ,CArLoC,CAqLlC,EAAAvQ,WAWF,UAAe,QAAW,SAV1B,SAAyB1X,GACvB,MAAO,CACL8D,aAAc9D,EAAM0U,aAAa5Q,aACjCI,OAAQlE,EAAM0U,aAAaxQ,OAC3B,IAAOlE,EAAM0U,aAAkB,IAC/BtN,cAAepH,EAAMsV,KAAKlO,cAC1BtJ,KAAMkC,EAAMsV,KAAKxX,KACjBsnB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACmD,CACjDlO,gBAAiBA,GACjBC,cAAeA,GACfG,mBAAoBA,GACpBgM,aAAcA,GACdge,kB5ExI6B,WAC7B,MAAO,CACLjvB,KAAMmE,GACNlE,SAAS,EAEb,G4E8H0B,CAMvB2uB,K,yBClNH,SAAS,GAAQl2B,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAI62B,GAAe,CACjBC,QAAS,CACPvR,gBAAiB,sBACjBgD,SAAU,QACVwO,IAAK,EACLC,KAAM,EACNlW,MAAO,EACPmW,OAAQ,EACRC,OAAQ,QAEVzT,QAAS,CACP8B,gBAAiB,cACjB6M,OAAQ,IACR7J,SAAU,WACVwO,IAAK,IACLC,KAAM,IACNlW,MAAO,IACPqW,QAAS,IACT1O,UAAW,OACXJ,SAAU,OACV6O,OAAQ,OACRE,wBAAyB,UAG7B,mBAAoB,SACpB,IAAIC,GAA2B,SAAU/X,GACvC,SAAS+X,IACP,IAAIzzB,GACJ,OAAgB3E,KAAMo4B,GACtB,IAAK,IAAI9X,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAuBzB,OArBA9b,EAAQ,GAAW3E,KAAMo4B,EAAa,GAAG94B,OAAOihB,KAChD,OAAgB5b,EAAO,gBAAgB,SAAU9D,GAC/CA,EAAEmiB,iBACJ,KACA,OAAgBre,EAAO,eAAe,WAChCA,EAAMic,MAAMuC,SAAWxe,EAAMic,MAAMyX,eACrC,KAAK,CACHpe,MAAOtV,EAAMic,MAAM+N,UAAU,iBAC7BjQ,KAAM/Z,EAAMic,MAAM+N,UAAU,4CAC5BE,kBAAkB,EAClBC,iBAAkBnqB,EAAMic,MAAM+N,UAAU,MACxCI,kBAAmBpqB,EAAMic,MAAM+N,UAAU,SACxCzrB,MAAK,SAAU8uB,GACI,MAAhBA,EAAO1vB,OACTqC,EAAMic,MAAM0X,SAEhB,IAEA3zB,EAAMic,MAAM0X,SAEhB,IACO3zB,CACT,CAEA,OADA,QAAUyzB,EAAa/X,IAChB,OAAa+X,EAAa,CAAC,CAChC/1B,IAAK,SACLC,MAAO,WACL,IAAIse,EAAQ5gB,KAAK4gB,MACjB,OAAoB,gBAAoB,KAAO,CAC7CuC,OAAQvC,EAAMuC,OACdoV,eAAgBv4B,KAAKw4B,YACrBC,aAAc,GACdxW,MAAO,GAAc,GAAc,CAAC,EAAG2V,IAAehX,EAAMqB,QAC9C,gBAAoB,MAAO,CACzCF,UAAW,gBACXe,QAAS9iB,KAAKw4B,aACA,gBAAoB,MAAO,CACzCzW,UAAWnB,EAAMzY,KAAO,mBAAmB7I,OAAOshB,EAAMzY,MAAQ,kBAChE2a,QAAS9iB,KAAK04B,cACA,gBAAoB,MAAO,CACzC3W,UAAW,gBACG,gBAAoB,MAAO,CACzCA,UAAW,SACG,gBAAoB,KAAM,KAAMnB,EAAM3G,QAAsB,gBAAoB,MAAO,CACrG8H,UAAW,QACXe,QAASlC,EAAM0X,SACD,gBAAoB,GAAAnO,KAAM,CACxC3Q,KAAM,WACU,gBAAoB,MAAO,CAC3CyI,MAAO,CACLvf,MAAO,WAEO,gBAAoB,MAAO,CAC3Cqf,UAAW,iBACVnB,EAAMI,YACX,IAEJ,CAhE+B,CAgE7B,EAAAC,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,CAAwCkd,I,0BCvGxC,SAAS,GAAWr3B,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAUlP,IAAI43B,GAAmC,SAAUtY,GAC/C,SAASsY,EAAoB/X,GAC3B,IAAIjc,EAkLJ,OAjLA,OAAgB3E,KAAM24B,GACtBh0B,EAAQ,GAAW3E,KAAM24B,EAAqB,CAAC/X,KAC/C,OAAgBjc,EAAO,sBAAsB,SAAU0iB,GACrD,GAA4B,MAAxB1iB,EAAMic,MAAMgY,SACd,OAAO,EAET,GAAIj0B,EAAMic,MAAMgY,UAAYvR,EAAUuR,SAAU,CAC9C,IAAIC,EAAel0B,EAAM4E,MAAMuvB,SAAS3tB,WAAU,SAAUqW,GAC1D,OAAQA,aAAyC,EAASA,EAAQ5a,KAAOjC,EAAMic,MAAMgY,QACvF,IACA,GAAIC,EAAe,EACjBl0B,EAAMye,SAAS,CACb2V,eAAe,IAEjBp0B,EAAMic,MAAMvR,wBAAwB1K,EAAMic,MAAMjQ,cAAc/J,GAAIjC,EAAMic,MAAMgY,UAAU11B,MAAK,WAC3F,IAAI81B,EACAJ,EAAW,GAC+G,OAA7E,QAA3CI,EAAoBr0B,EAAMic,MAAMqY,aAAyC,IAAtBD,OAA+B,EAASA,EAAkBE,UACjHN,EAAWj0B,EAAMic,MAAMqY,MAAMC,QAE/Bv0B,EAAMye,SAAS,CACb2V,eAAe,EACfH,SAAU1rB,KAAKyL,MAAMzL,KAAKC,UAAUyrB,IACpCE,SAAU,GAAGx5B,QAAO,OAAmBqF,EAAM4E,MAAMuvB,UAAW,CAACn0B,EAAMic,MAAMqY,SAE/E,QACK,CACL,IAAIL,EAAWj0B,EAAM4E,MAAMuvB,SAASD,GAAcK,OAClDv0B,EAAMye,SAAS,CACbwV,SAAU1rB,KAAKyL,MAAMzL,KAAKC,UAAUyrB,KAExC,CACF,CACF,KACA,OAAgBj0B,EAAO,iBAAiB,SAAU2K,EAAS+T,GAEzD1e,EAAMye,SAAS,CACbwV,SAAU,KAEOj0B,EAAM4E,MAAMuvB,SAAS3tB,WAAU,SAAUqW,GAC1D,OAAQA,aAAyC,EAASA,EAAQ5a,KAAO0I,CAC3E,IACmB,IAAM+T,IACvB1e,EAAMye,SAAS,CACb2V,eAAe,IAEjBp0B,EAAMic,MAAMvR,wBAAwB1K,EAAMic,MAAMjQ,cAAc/J,GAAI0I,GAASpM,MAAK,WAC9EyB,EAAMye,SAAS,CACb2V,eAAe,EACfD,SAAU,GAAGx5B,QAAO,OAAmBqF,EAAM4E,MAAMuvB,UAAW,CAACn0B,EAAMic,MAAMqY,SAE/E,IAEJ,KAEA,OAAgBt0B,EAAO,UAAU,SAAU+P,GACzC,IAAIukB,EAAQt0B,EAAM4E,MAAMuvB,SAASxiB,MAAK,SAAUkL,GAC9C,OAAQA,aAAyC,EAASA,EAAQ5a,KAAOjC,EAAM4E,MAAM4vB,eACvF,IACIC,EAAoBz0B,EAAM4E,MAAMqvB,SAASj3B,QAAUs3B,EAAMC,OAAOv3B,OACpE+S,EAAOpP,QAAUX,EAAMic,MAAMjQ,cAAc/J,GAC3C8N,EAAO0M,YAAc,GACrB1M,EAAO0W,cAAgB,CAAC,CACtB7P,cAAe,UACfD,YAAa3W,EAAMic,MAAMjQ,cAAc/J,KAEpCwyB,GACH1kB,EAAO0W,cAAc7pB,KAAK,CACxBga,cAAe,UACfD,YAAa2d,EAAMryB,KAGlBwyB,EAUH1kB,EAAO0M,YAAY7f,KAAK,CACtB+f,aAAc2X,EAAMryB,GACpB2a,eAAgB,iBAChB8X,WAAY,IACZ7X,QAASyX,IAbXt0B,EAAM4E,MAAMqvB,SAASh3B,SAAQ,SAAUu1B,GACrCziB,EAAO0M,YAAY7f,KAAK,CACtB+f,aAAc6V,EAAOvwB,GACrB2a,eAAgB,OAChB8X,WAAY,IACZhyB,KAAM8vB,GAEV,IASExyB,EAAMic,MAAM+T,UACdhwB,EAAMic,MAAM+T,SAASjgB,EAEzB,KACA,OAAgB/P,EAAO,mBAAmB,SAAU20B,GAClD,IAAIV,EAAWj0B,EAAM4E,MAAMqvB,SACvBW,EAAQX,EAASztB,WAAU,SAAUytB,GACvC,OAAOA,EAAShyB,IAAM0yB,EAAQ1yB,EAChC,KACc,GAAV2yB,EACFX,EAASr3B,KAAK+3B,GAEdV,EAASlc,OAAO6c,EAAO,GAEzB50B,EAAMye,SAAS,CACbwV,SAAUA,GAEd,KACA,OAAgBj0B,EAAO,0BAA0B,SAAU60B,GACtC,MAAfA,IACE70B,EAAM4E,MAAMqvB,SAASj3B,QAAU63B,aAAiD,EAASA,EAAY73B,SAASgD,EAAMye,SAAS,CAC/HwV,SAAU,KAEZY,EAAY53B,SAAQ,SAAU63B,GAC5B90B,EAAM+0B,gBAAgBD,EACxB,IAEJ,KAEA,OAAgB90B,EAAO,eAAe,SAAUs0B,GAC9C,IAAIU,EAAYC,EACZC,EAAcl1B,EAAM4E,MACtBqvB,EAAWiB,EAAYjB,SACvBE,EAAWe,EAAYf,SACrBgB,EAAY,KACZhB,EAASn3B,OAAS,IACpBm4B,EAAYhB,EAASxiB,MAAK,SAAUkL,GAClC,OAAQA,aAAyC,EAASA,EAAQ5a,KAAOqyB,EAAMryB,EACjF,KAEF,IAAImzB,GAAc,EAOlB,OANiB,MAAbD,IACFC,EAAcp1B,EAAM4E,MAAMqvB,SAASj3B,QAAUm4B,EAAUZ,OAAOv3B,QAE/B,QAA5Bg4B,EAAaG,SAAsC,IAAfH,GAAyBA,EAAWT,SAAyC,QAA7BU,EAAcE,SAAuC,IAAhBF,OAAyB,EAASA,EAAYV,OAAOv3B,QAAU,IAC3Lm4B,EAAUZ,OAASv0B,EAAMq1B,yBAAyBF,EAAUZ,OAAQY,EAAUG,SAAS9zB,aAErE,gBAAoB,MAAO,CAC7C4b,UAAW,gBACG,MAAb+X,EAAiC,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC3G7X,MAAO,CACLiY,aAAc,WAEF,gBAAoB,GAAAC,SAAU,CAC5C7W,SAAU,SAAkB8W,GAC1B,OAAOz1B,EAAM01B,uBAAuBP,EAAUZ,OAChD,EACA1L,MAAO7oB,EAAMic,MAAM+N,UAAU,cAC7BrsB,MAAOy3B,KACJD,EAAUZ,OAAOpb,KAAI,SAAU2b,GAClC,IAAIjU,EAASoT,EAASztB,WAAU,SAAUytB,GACxC,OAAOA,EAAShyB,IAAM6yB,EAAM7yB,EAC9B,KAAM,EACN,OAAoB,gBAAoB,MAAO,CAC7Cmb,UAAW,UACX1f,IAAKo3B,EAAM7yB,GACXqb,MAAO,CACLsE,WAAY,SAEA,gBAAoB,GAAA4T,SAAU,CAC5C73B,MAAOkjB,EACPgI,MAAOiM,EAAMhP,UAAY,IAAMgP,EAAM/O,SACrCpH,SAAU,WACR,OAAO3e,EAAM+0B,gBAAgBD,EAC/B,IAEJ,KAAmB,gBAAoB,GAAS,CAC9C3X,OAAO,EACPF,QAAQ,IAEZ,IACAjd,EAAM4E,MAAQ,CACZuvB,SAAU,GACVF,SAAU,GACVO,gBAAiB,EACjB5I,SAAS,EACTwI,eAAe,GAEVp0B,CACT,CAEA,OADA,QAAUg0B,EAAqBtY,IACxB,OAAasY,EAAqB,CAAC,CACxCt2B,IAAK,oBACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACbA,KAAK4gB,MAAM0Z,uBAAuBt6B,KAAK4gB,MAAMjQ,cAAc/J,IAC3D5G,KAAK4gB,MAAMxR,0BAA0BpP,KAAK4gB,MAAMjQ,cAAc/J,IAC9D5G,KAAK4gB,MAAM2Z,cAAcv6B,KAAK4gB,MAAMjQ,cAAc/J,GAAI,gCACtD5G,KAAK4gB,MAAM4Z,YAAYx6B,KAAK4gB,MAAMjQ,cAAc/J,IAAI1D,MAAK,WACvDovB,EAAOlP,SAAS,CACdmN,SAAS,GAEb,GACF,GACC,CACDluB,IAAK,oBACLC,MAAO,SAA2Bm4B,EAAOnf,GACvC,OAAOmf,EAAMC,MAAK,SAAUC,GAC1B,OAAOA,EAAKrf,cAAgBA,GAA6C,YAA9Bqf,EAAKC,OAAOC,aACzD,GACF,GACC,CACDx4B,IAAK,2BACLC,MAAO,SAAkC6e,EAAO7F,GAC9C,IAAIwf,EAAS96B,KACb,OAAOmhB,EAAM/f,QAAO,SAAUiG,GAC5B,OAAOyzB,EAAOC,kBAAkB1zB,EAAKozB,MAAOnf,EAC9C,GACF,GACC,CACDjZ,IAAK,gBACLC,MAAO,SAAuB22B,GAC5B,IAAI+B,EAASh7B,KACTmI,EAAOzG,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,SAC3Ey3B,EAAkBn5B,KAAKuJ,MAAM4vB,gBACjC,OAAoB,gBAAoB,MAAO,CAC7CpX,UAAW,aACG,gBAAoB,KAAO,CACzC+T,UAAW,GAAAmF,MACXzhB,KAAM,WACNoV,MAAO,CACLtL,SAAU,WACR,OAAO0X,EAAOE,kBAAkBjC,EAAMryB,GACxC,EACAtE,MAAO62B,GAETgC,YAAalC,EAAMryB,GACnB4mB,MAAOyL,EAAMhf,QACE,gBAAoB,MAAO,CAC1C8H,UAAW,YACXE,MAAgB,WAAT9Z,EAAoB,CACzBizB,OAAQ,GACN,CACFA,OAAQ,EACR9U,gBAAiB,OACjB6M,OAAQ,iCAEA,WAAThrB,EAAoBnI,KAAK4gB,MAAM+N,UAAU,WAAa3uB,KAAK4gB,MAAM+N,UAAU,cAChF,GACC,CACDtsB,IAAK,oBACLC,MAAO,SAA2BgN,GAChCtP,KAAKojB,SAAS,CACZ+V,gBAAiBjzB,SAASoJ,KAE5BtP,KAAKq7B,cAAc/rB,EACrB,GACC,CACDjN,IAAK,kBACLC,MAAO,SAAyBmN,EAAQtH,GACtC,IAAImzB,EAASt7B,KACb,OAAOyP,EAAOqO,KAAI,SAAUmb,GAC1B,OAAoB,gBAAoB,GAAArW,WAAY,CAClD3I,MAAOqhB,EAAOC,cAActC,EAAO9wB,GACnC9F,IAAK42B,EAAMryB,GACXyc,KAAMnd,SAAS+yB,EAAMryB,MAAQV,SAASo1B,EAAO/xB,MAAM4vB,iBACnD7V,SAAU,SAAkBD,GAC1B,OAAOiY,EAAOJ,kBAAkBjC,EAAMryB,GACxC,GACc,gBAAoB,MAAO,CACzCmb,UAAW,gBACVuZ,EAAOE,YAAYvC,IACxB,GACF,GACC,CACD52B,IAAK,SACLC,MAAO,WACL,IAAIiuB,EAAUvwB,KAAKuJ,MAAMgnB,QACrB7O,EAAc1hB,KAAK4gB,MACrByV,EAAe3U,EAAY2U,aAC3B1H,EAAYjN,EAAYiN,UACxB1e,EAAeyR,EAAYzR,aAC3BwrB,EAAkB/Z,EAAY+Z,gBAC9B1jB,EAAc2J,EAAY3J,YACxB2jB,EAA0B,GAS9B,OARIlb,MAAM8E,QAAQvN,IAAgByI,MAAM8E,QAAQmW,KAC9CC,EAA0BD,EAAgBr6B,QAAO,SAAUogB,GACzD,OAAOzJ,EAAY2iB,MAAK,SAAUiB,GAChC,IAAIC,EACJ,OAAOD,EAAQE,UAAYra,EAAQyY,UAAyC,gCAA7B0B,EAAQt5B,IAAIw4B,eAAuK,SAA9E,QAApCe,EAAiBD,EAAQr5B,aAAsC,IAAnBs5B,OAA4B,EAASA,EAAef,cAClN,GACF,KAEEtK,EACkB,gBAAoB,MAAO,CAC7CxO,UAAW,kDACG,gBAAoB,GAAS,CAC3CH,QAAQ,KAGQ,gBAAoB,MAAO,CAC7CG,UAAW,kDACG,gBAAoB,OAAQ,CAC1C4S,SAAU0B,EAAar2B,KAAKy2B,QAC5B1U,UAAW,uBACV9R,GAAgBjQ,KAAK87B,gBAAgB7rB,EAAc,UAAWyrB,GAA2B17B,KAAK87B,gBAAgBJ,EAAyB,aAA2B,gBAAoB,MAAO,CAC9L3Z,UAAW,iBACI,gBAAoB,MAAO,CAC1CA,UAAW,2BACG,gBAAoB,MAAO,CACzCA,UAAW,eACG,gBAAoB,GAAA6U,OAAQ,CAC1CpF,SAAyC,IAA/BxxB,KAAKuJ,MAAMqvB,SAASj3B,QAAgB3B,KAAKuJ,MAAMwvB,eACxDpK,EAAU,YAA0B,gBAAoB,MAAO,CAChE5M,UAAW,eAEf,IAEJ,CAtTuC,CAsTrC,EAAAd,WACE8a,GAAY,sBACZC,IAAW,EAAAC,GAAA,GAAkBF,IAcjC,UAAe,SAbf,SAAyBxyB,GACvB,MAAO,CACLiE,SAAUjE,EAAM0U,aAAazQ,SAC7BmD,cAAepH,EAAMsV,KAAKlO,cAC1BD,SAAUnH,EAAMqT,UAAUlM,SAC1Bie,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCjL,aAAc1G,EAAMkG,OAAOQ,aAC3BwrB,gBAAiBlyB,EAAMkG,OAAOA,OAC9BwpB,MAAO1vB,EAAMkG,OAAOC,YACpBqI,YAAaxO,EAAMsV,KAAK9G,YACxB6gB,SAAUoD,GAASzyB,EAAO,YAE9B,GACwC,CACtCixB,Y9E9OuB,SAAqBl1B,GAC5C,MAAO,CACL6C,KAAMqE,GACNpE,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,0BAA0B/G,OAAOgG,IAAUpC,MAAK,SAAUe,GAChElB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,E8EsOEu0B,uB1EjUkC,SAAgCpyB,GAClE,MAAO,CACLC,KAAMqG,GACNpG,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,gCAAgChF,MAAK,SAAUe,GAChGlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,E0EyTEsJ,wBAAyBA,GACzBD,0BAA2BA,GAC3BmrB,cvDvPyB,SAAuBryB,EAAW7F,GAC3D,MAAO,CACL8F,KAAM6O,GACN5O,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,YAAY/G,OAAO4I,EAAW,iBAAiB5I,OAAO+C,IAAMa,MAAK,SAAUe,GACjFlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EuD+OEm2B,OAAQ,OANV,EAOG,EAAArF,GAAA,GAAU,CACX/hB,KAAMinB,GACNjF,kBAAkB,GAFjB,CAGA6B,KC5VH,SAAS,GAAQ93B,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAclP,IAAIo7B,GAAiC,SAAU9b,GAE7C,SAAS8b,EAAkBvb,GACzB,IAAIjc,EAwIJ,OAvIA,OAAgB3E,KAAMm8B,GACtBx3B,EAAQ,GAAW3E,KAAMm8B,EAAmB,CAACvb,KAE7C,OAAgBjc,EAAO,6BAA6B,WAClDA,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,aAC/ChqB,EAAMic,MAAMwb,iBAAiBz3B,EAAMic,MAAMjQ,cAAc/J,IAAI1D,MAAK,WAC9DyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,wBAAwB,WAC7CA,EAAMic,MAAMyb,aACd,KAEA,OAAgB13B,EAAO,eAAe,WACpCA,EAAMye,SAAS,CACbkZ,OAAQ33B,EAAM4E,MAAM+yB,OAExB,KACA,OAAgB33B,EAAO,oBAAoB,WACzCA,EAAMic,MAAMyb,cACZ13B,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAMwb,iBAAiBz3B,EAAMic,MAAMjQ,cAAc/J,IAAI1D,MAAK,WAC9DyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,sBAAsB,SAAU+P,GAErD,IAAIrH,EAAe,CACjB4M,MAAO,GACPnU,OAAQ,SACRsb,YAAa1M,EAAO0M,YACpB7T,SAAU,GACV6d,cAAe1W,EAAO0W,cACtBxkB,GAAI,OAENjC,EAAMic,MAAM2b,kBAAkBlvB,GAAcnK,MAAK,WAC/CyB,EAAMye,SAAS,CACbkZ,OAAO,IAET33B,EAAMic,MAAMqW,QAAQ11B,KAAK,qBAC3B,GACF,KACA,OAAgBoD,EAAO,YAAY,SAAUmwB,GACjB,GAAtBA,EAAMA,MAAMnzB,OAIZmzB,EAAMA,MAAMnzB,OAAS,EACvBgD,EAAMic,MAAMyb,eAGd13B,EAAMye,SAAS,CACboZ,WAAW,IAEb73B,EAAMic,MAAM6b,mBAAmB3H,EAAMA,MAAOnwB,EAAMic,MAAMjQ,cAAc/J,IAAI1D,MAAK,WAC7EyB,EAAMye,SAAS,CACboZ,WAAW,GAEf,KAdE73B,EAAMy3B,kBAeV,KAEA,OAAgBz3B,EAAO,sBAAsB,SAAU0I,EAAc4W,GACnE,IAAIyY,EAAexb,GAA4B7T,EAAc1I,EAAMic,MAAMvZ,MACrE7E,EAAU,KACVm6B,EAAoB,KACxB,GAAItvB,EAAaE,SAAS5L,OAAS,GAAgE,MAA3D0L,EAAaE,SAASF,EAAaE,SAAS5L,OAAS,GAAY,CACvG,IAAIyuB,EAAc/iB,EAAaE,SAASF,EAAaE,SAAS5L,OAAS,GACvEg7B,EAAoBvM,EAAYZ,QACN,MAAtBY,EAAY3R,OACdjc,EAAuB,gBAAoB,OAAQ,CACjDyf,MAAO,CACL2a,UAAW,WAEZj4B,EAAMic,MAAM+N,UAAU,2CAEzBnsB,EAAU4tB,EAAY1R,KAAK/E,QAAQ,gBAAiB,KACxChY,OAAS,MACnBa,EAAUA,EAAQq6B,UAAU,EAAG,KAAO,MAG5C,CACA,OAAoB,gBAAoB,KAAM,CAC5Cx6B,IAAK4hB,EACLW,GAAI,kBAAkBtlB,OAAO+N,EAAazG,IAC1Cmb,UAAW,0BACG,gBAAoB,MAAO,CACzCA,UAAW,gBACV2a,EAAa5e,KAAI,SAAUgf,GAC5B,MAAkC,kBAA9BA,EAAYvb,eACM,gBAAoB,GAAQ,CAC9CiJ,OAAQ,GAAc,CACpBC,UAAWqS,EAAY7iB,MAAQ,KAAOtV,EAAMic,MAAM+N,UAAU,SAAW,IACvEjE,SAAU,IACToS,GACHz6B,IAAKy6B,EAAYl2B,KAGD,gBAAoB,GAAQ,CAC9C4jB,OAAQsS,EACRz6B,IAAKy6B,EAAYpR,QAErB,KAAkB,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CACzF3J,UAAW,kBACV1U,EAAa0vB,eAAiB,EAAiB,gBAAoB,OAAQ,CAC5Ehb,UAAW,QACXE,MAAO,CACL+H,QAAS,cACTgT,UAAW,OACX1T,SAAU,SACV2T,eAAgB,SAChBC,aAAc,OACdC,YAAa,WAEd9vB,EAAa0vB,gBAAkB,KAAMv6B,GAAoB,MAA4B,MAArBm6B,EAAyC,gBAAoB,MAAO,CACrI5a,UAAW,YACXE,MAAO,CACLyR,UAAW,UACX,MAAS,UAEV,SAAWiJ,GAAmB7yB,QAAQ2O,OAAO,qBAAuB,MACzE,IACA9T,EAAM4E,MAAQ,CACZ+yB,OAAO,EACPE,WAAW,EACXjM,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUw3B,EAAmB9b,IACtB,OAAa8b,EAAmB,CAAC,CACtC95B,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACb,GAAgC,MAA5BA,KAAK4gB,MAAMjQ,gBAA0B3Q,KAAK4gB,MAAMjQ,cAAcmO,SAASxR,eAAiBtN,KAAKuJ,MAAMgnB,QACrG,OAAoB,gBAAoB,GAAS,CAC/C3O,QAAQ,IAGZ,IAAItU,EAAgB,KAChB8vB,EAAW,KAiBf,OAhBgC,MAA5Bp9B,KAAK4gB,MAAMtT,eAAyBtN,KAAK4gB,MAAMtT,cAAc3L,OAAS,IACxE2L,EAAgBJ,KAAKyL,MAAMzL,KAAKC,UAAUnN,KAAK4gB,MAAMtT,gBAAgBlM,QAAO,SAAUiM,GACpF,MAA8B,YAAvBA,EAAavH,MACtB,IACAs3B,EAAWlwB,KAAKyL,MAAMzL,KAAKC,UAAUnN,KAAK4gB,MAAMtT,gBAAgBlM,QAAO,SAAUiM,GAC/E,MAA8B,YAAvBA,EAAavH,MACtB,KAEwB,MAAtB9F,KAAK4gB,MAAMhH,SAAmB5Z,KAAK4gB,MAAMhH,QAAQjY,OAAS,IAC5D2L,EAAgBJ,KAAKyL,MAAMzL,KAAKC,UAAUnN,KAAK4gB,MAAMhH,UAAUxY,QAAO,SAAUiM,GAC9E,MAA8B,YAAvBA,EAAavH,MACtB,IACAs3B,EAAWlwB,KAAKyL,MAAMzL,KAAKC,UAAUnN,KAAK4gB,MAAMhH,UAAUxY,QAAO,SAAUiM,GACzE,MAA8B,YAAvBA,EAAavH,MACtB,KAEkB,gBAAoB,MAAO,CAC7Cic,UAAW,QACG,gBAAoBsb,GAAO,CACzC/E,QAASt4B,KAAKs9B,YACdrjB,MAAOja,KAAK4gB,MAAM+N,UAAU,oBAC5BxL,OAAQnjB,KAAKuJ,MAAM+yB,MACnBn0B,KAAM,SACQ,gBAAoBo1B,GAAqB,CACvD5I,SAAU30B,KAAKw9B,sBACC,gBAAoB,MAAO,CAC3Czb,UAAW,2BACG,gBAAoB,GAAA6U,OAAQ,CAC1C9T,QAAS9iB,KAAKs9B,aACbt9B,KAAK4gB,MAAM+N,UAAU,eAA6B,gBAAoB,MAAO,CAC9E5M,UAAW,sCACG,gBAAoB,MAAO,CACzCA,UAAW,qBACG,gBAAoB,GAAAoL,KAAM,CACxCvL,QAAQ,EACR6b,OAAO,GACO,gBAAoB,MAAO,CACzCxb,MAAO,CACLiI,KAAM,MAEM,gBAAoB,GAAQ,CAC1CyK,SAAU30B,KAAK09B,SACfnN,QAASvwB,KAAKuJ,MAAMizB,UACpBnK,YAAaryB,KAAK4gB,MAAM+N,UAAU,wBAClCsG,YAAY,EACZJ,YAAY,MACS,MAAjBvnB,EAAwBA,EAAcwQ,KAAI,SAAUzQ,EAAc4W,GACtE,OAAOqO,EAAOqL,mBAAmBtwB,EAAc4W,EACjD,IAAK,KAAkB,MAAZmZ,GAAoBA,EAASz7B,OAAS,EAAiB,gBAAoB,MAAO,CAC3FogB,UAAW,0BACG,gBAAoB,GAAa,CAC/CgI,QAAS/pB,KAAK4gB,MAAM+N,UAAU,YAC7ByO,EAAStf,KAAI,SAAUzQ,EAAc4W,GACtC,OAAOqO,EAAOqL,mBAAmBtwB,EAAc4W,EACjD,MAAO,OACT,IAEJ,CAlNqC,CAkNnC,EAAAhD,WAWF,UAAe,QAAW,SAV1B,SAAyB1X,GACvB,MAAO,CACL+D,cAAe/D,EAAM0U,aAAa3Q,cAClCqD,cAAepH,EAAMsV,KAAKlO,cAC1BtJ,KAAMkC,EAAMsV,KAAKxX,KACjBuS,QAASrQ,EAAM0U,aAAatQ,cAC5BiD,eAAgBrH,EAAMqT,UAAUhM,eAChC+d,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACmD,CACjDkhB,iB/ElO4B,SAA0Bl0B,GACtD,MAAO,CACLC,KAAMgE,GACN/D,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,iBAAiBnD,MAAK,SAAUe,GAItCA,EAAS8B,KAAKwE,MAHE,SAAmBC,EAAGC,GACpC,OAAID,EAAE+C,SAAS5L,OAAS,GAAK8I,EAAE8C,SAAS5L,OAAS,EAAU,KAAO8I,EAAE8C,SAAS,GAAGiiB,SAAS1kB,OAAS,KAAON,EAAE+C,SAAS,GAAGiiB,SAAS1kB,OAAmB,CACrJ,IAEA/H,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,E+EsNEw2B,kB/EnJ6B,SAA2BlvB,GACxD,MAAO,CACLlF,KAAM0E,GACNzE,QAAS,IAAItF,SAAQ,SAAUC,GAC7BA,EAAQsK,EACV,IAEJ,E+E6IEovB,mB/ExH8B,SAA4B3H,EAAO5sB,GACjE,MAAO,CACLC,KAAMuE,GACNtE,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAOw1B,IAAQ5xB,MAAK,SAAUe,GAC7DlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,E+EgHEs2B,Y/E/GuB,WACvB,MAAO,CACLl0B,KAAMwE,GACNvE,SAAS,EAEb,E+E2GEgR,aAAcA,IALU,CAMvB+iB,KCpPH,SAAS,GAAQt7B,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAIlP,IAAI68B,GAAoB,SAAUvd,GAChC,SAASud,EAAKhd,GACZ,IAAIjc,EAiFJ,OAhFA,OAAgB3E,KAAM49B,GACtBj5B,EAAQ,GAAW3E,KAAM49B,EAAM,CAAChd,KAChC,OAAgBjc,EAAO,UAAU,WAC/B,IAAIkH,EAASlH,EAAMic,MAAM/U,OACrBgyB,KAAgBhyB,GAAUA,EAAOlN,QAAQ,SAAW,GACpDm/B,KAAgBjyB,GAAWgyB,GAC/B,OAAIA,EACkB,gBAAoB,IAAK,CAC3CnkB,KAAM7N,EACNA,OAAQ,SACRkW,UAAW,aAAaziB,OAAOqF,EAAM4E,MAAMpB,MAC3C8Z,MAAO,GAAc,CACnB8B,gBAAiBpf,EAAM4E,MAAMka,OAC5B9e,EAAMic,MAAMqB,QACdtd,EAAMic,MAAMI,UACN8c,EACW,gBAAoB,KAAM,CAC5ClZ,GAAI/Y,EACJkW,UAAW,aAAaziB,OAAOqF,EAAM4E,MAAMpB,MAC3C8Z,MAAO,GAAc,CACnB8B,gBAAiBpf,EAAM4E,MAAMka,OAC5B9e,EAAMic,MAAMqB,QACdtd,EAAMic,MAAMI,UAEU,MAAvBrc,EAAMic,MAAMkC,SAA6B,MAAVjX,EACb,gBAAoB,IAAK,CAC3CiX,QAASne,EAAMic,MAAMkC,QACrBf,UAAW,aAAaziB,OAAOqF,EAAM4E,MAAMpB,MAC3C8Z,MAAO,GAAc,CACnB8B,gBAAiBpf,EAAM4E,MAAMka,OAC5B9e,EAAMic,MAAMqB,QACdtd,EAAMic,MAAMI,UASQ,SAArBrc,EAAMic,MAAMzY,KACM,gBAAoB,KAAM,CAC5Cyc,GAAI,eAAetlB,OAAOqF,EAAMic,MAAMha,IACtCmb,UAAW,aAAaziB,OAAOqF,EAAM4E,MAAMpB,MAC3C8Z,MAAO,GAAc,CACnB8B,gBAAiBpf,EAAM4E,MAAMka,OAC5B9e,EAAMic,MAAMqB,QACdtd,EAAMic,MAAMI,UACe,aAArBrc,EAAMic,MAAMzY,KACD,gBAAoB,KAAM,CAC5Cyc,GAAI,SAAStlB,OAAOqF,EAAMic,MAAMha,IAChCmb,UAAW,aAAaziB,OAAOqF,EAAM4E,MAAMpB,MAC3C8Z,MAAO,GAAc,CACnB8B,gBAAiBpf,EAAM4E,MAAMka,OAC5B9e,EAAMic,MAAMqB,QACdtd,EAAMic,MAAMI,UACe,SAArBrc,EAAMic,MAAMzY,KACS,GAAvBxD,EAAMic,MAAMrI,KAAK3R,GAAuB,gBAAoB,KAAM,CACvEge,GAAI,UAAUtlB,OAAOqF,EAAMic,MAAMha,IACjCmb,UAAW,aAAaziB,OAAOqF,EAAM4E,MAAMpB,MAC3C8Z,MAAO,GAAc,CACnB8B,gBAAiBpf,EAAM4E,MAAMka,OAC5B9e,EAAMic,MAAMqB,QACdtd,EAAMic,MAAMI,UAAyB,gBAAoB,IAAK,CAC/DtH,KAAM/U,EAAMic,MAAMrI,KAAKiJ,QAAQuc,aAC/BlyB,OAAQ,SACRkW,UAAW,aAAaziB,OAAOqF,EAAM4E,MAAMpB,OAC1CxD,EAAMic,MAAMI,UAEG,gBAAoB,MAAO,CAC7Ce,UAAW,aAAaziB,OAAOqF,EAAM4E,MAAMpB,MAC3C8Z,MAAO,GAAc,CACnB8B,gBAAiBpf,EAAM4E,MAAMka,OAC5B9e,EAAMic,MAAMqB,QACdtd,EAAMic,MAAMI,SACjB,IACArc,EAAM4E,MAAQ,CACZka,MAAO9e,EAAMic,MAAMod,eAAe,SAAWr5B,EAAMic,MAAM6C,MAAQ,GACjEtb,KAAMxD,EAAMic,MAAMod,eAAe,QAAUr5B,EAAMic,MAAMzY,KAAO,YAEzDxD,CACT,CAEA,OADA,QAAUi5B,EAAMvd,IACT,OAAaud,EAAM,CAAC,CACzBv7B,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,aACX1f,IAAKrC,KAAK4gB,MAAMha,IACf5G,KAAKi+B,SACV,IAEJ,CA/FwB,CA+FtB,EAAAhd,WAMF,UAAe,SALO,SAAyB1X,GAC7C,MAAO,CACLoH,cAAepH,EAAMqT,UAAUjM,cAEnC,GACA,CAAwCitB,IAOjC,IAAIM,GAAiB,SAAwBn6B,GAClD,IAAIid,EAAWjd,EAAKid,SACpB,OAAoB,gBAAoB,MAAO,CAC7Ce,UAAW,mBACVf,EACL,EAKWmd,GAAY,SAAmBC,GACxC,IAAIpd,EAAWod,EAAMpd,SACrB,OAAoB,gBAAoB,MAAO,CAC7Ce,UAAW,cACVf,EACL,EAKWqd,GAAe,SAAsBC,GAC9C,IAAItd,EAAWsd,EAAMtd,SACrB,OAAoB,gBAAoB,MAAO,CAC7Ce,UAAW,iBACVf,EACL,EAKWud,GAAkB,SAAyBC,GACpD,IAAIxd,EAAWwd,EAAMxd,SACrB,OAAoB,gBAAoB,MAAO,CAC7Ce,UAAW,oBACVf,EACL,EAKWyd,GAAa,SAAoBC,GAC1C,IAAI1d,EAAW0d,EAAM1d,SACrB,OAAoB,gBAAoB,MAAO,CAC7Ce,UAAW,eACVf,EACL,EC/JA,SANmB,SAAsBjd,GACvC,IAAIid,EAAWjd,EAAKid,SACpB,OAAoB,gBAAoB,MAAO,CAC7Ce,UAAW,iCACVf,EACL,ECAA,SAAS,GAAWjgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAI49B,GAAwB,SAAUte,GACpC,SAASse,IACP,IAAIh6B,GACJ,OAAgB3E,KAAM2+B,GACtB,IAAK,IAAIre,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAMzB,OAJA9b,EAAQ,GAAW3E,KAAM2+B,EAAU,GAAGr/B,OAAOihB,KAC7C,OAAgB5b,EAAO,qBAAqB,WAC1CA,EAAMic,MAAMge,UACd,IACOj6B,CACT,CAEA,OADA,QAAUg6B,EAAUte,IACb,OAAase,EAAU,CAAC,CAC7Bt8B,IAAK,SACLC,MAAO,WACL,IAAIqsB,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,WACG,gBAAoB,GAAc,KAAmB,gBAAoB,OAAQ,KAAM4M,EAAU,eAAoC,MAApB3uB,KAAK4gB,MAAM7L,MAA6B,gBAAoBmpB,GAAgB,KAAMl+B,KAAK4gB,MAAM7L,MAAM+I,KAAI,SAAUhJ,GAChP,IAAIL,EAAWK,EAAK+pB,cAAc,GAClC,OAAoB,gBAAoB,GAAM,CAC5C12B,KAAM,QACN9F,IAAKyS,EAAKlO,GACVA,GAAIkO,EAAKlO,GACTiF,OAAQ,SAASvM,OAAOwV,EAAKlO,KACT,aAAnB6N,EAAS3O,OAAqC,gBAAoB,MAAO,CAC1Eic,UAAW,aACV4M,EAAU,aAAc,IAAK,KAAOla,EAASqqB,QAAQrmB,OAAO,kBAAoB,KAAmB,gBAAoB0lB,GAAW,KAAMrpB,EAAKmF,OAAqB,gBAAoBwkB,GAAY,MACvM,KAAM,MACR,IAEJ,CAnC4B,CAmC1B,EAAAxd,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLwL,MAAOxL,EAAMoV,UAAU5J,MACvB4Z,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC0jB,S9DjBoB,WACpB,MAAO,CACLz2B,KAAMkM,GACNjM,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,SAASnD,MAAK,SAAUe,GAC9BlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,G8DOA,CAEG44B,ICtDH,SAAS,GAAW59B,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAGlP,IAAIg+B,GAAwB,SAAU1e,GACpC,SAAS0e,IAEP,OADA,OAAgB/+B,KAAM++B,GACf,GAAW/+B,KAAM++B,EAAUr9B,UACpC,CAEA,OADA,QAAUq9B,EAAU1e,IACb,OAAa0e,EAAU,CAAC,CAC7B18B,IAAK,oBACLC,MAAO,WACLtC,KAAK4gB,MAAMqW,QAAQ11B,KAAKvB,KAAK4gB,MAAMgE,GACrC,GACC,CACDviB,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,KACjD,IAEJ,CAjB4B,CAiB1B,EAAA2e,WACF,UAAe,OAAW8d,ICrB1B,SAAS,GAAWh+B,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAIi+B,GAAkC,SAAU3e,GAE9C,SAAS2e,EAAmBpe,GAC1B,IAAIjc,EA2DJ,OA1DA,OAAgB3E,KAAMg/B,GACtBr6B,EAAQ,GAAW3E,KAAMg/B,EAAoB,CAACpe,KAE9C,OAAgBjc,EAAO,qBAAqB,WACd,MAAxBA,EAAMic,MAAMnM,UACd9P,EAAMic,MAAMjM,gBAAgBhQ,EAAMic,MAAMnM,SAAS7N,IAAI1D,MAAK,WACxDyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GAEJ,KAEA,OAAgB5rB,EAAO,eAAe,SAAUs6B,GAC9C,OAAoB,gBAAoB,MAAO,CAC7Cld,UAAW,eACVkd,EAAM38B,MACX,KACA,OAAgBqC,EAAO,qBAAqB,SAAUs6B,GACpD,OAAoB,gBAAoB,MAAO,KAAMA,EAAM38B,MAC7D,KACA,OAAgBqC,EAAO,eAAe,SAAUs6B,GAC9C,IAAIC,EAAiBv6B,EAAMic,MAAMse,eAC7B/2B,EAAO82B,EAAM92B,KAAK0yB,cAClBv4B,EAAQ,KACZ,GAAsB,MAAlB48B,EAAwB,CAC1B,IAAIC,EAAaD,EAAeE,aAAa9oB,MAAK,SAAU0b,GAC1D,OAAOA,EAAOqN,WAAaJ,EAAMzlB,IACnC,IACkB,MAAd2lB,IACF78B,EAAQ68B,EAAW78B,MAEvB,CACA,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,qBAAqBziB,OAAO6I,IACtC7F,EACL,KACA,OAAgBqC,EAAO,eAAe,SAAUs6B,EAAOhb,GACrD,OAAIgb,EAAM92B,MAAQwtB,GACI,gBAAoB,MAAO,CAC7CtzB,IAAK,SAAW4hB,EAChBlC,UAAW,kBACVpd,EAAM26B,YAAYL,EAAOhb,IAE1Bgb,EAAM92B,MAAQytB,GACI,gBAAoB,MAAO,CAC7CvzB,IAAK,SAAW4hB,EAChBlC,UAAW,kBACVpd,EAAM46B,kBAAkBN,EAAOhb,IAEhB,gBAAoB,MAAO,CAC7C5hB,IAAK,SAAW4hB,EAChBlC,UAAW,YACVpd,EAAM66B,YAAYP,EAAOhb,GAC9B,IACAtf,EAAM4E,MAAQ,CACZgnB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUq6B,EAAoB3e,IACvB,OAAa2e,EAAoB,CAAC,CACvC38B,IAAK,SACLC,MAAO,WACL,OAAyB,MAArBtC,KAAK4gB,MAAM6e,OACN,KAEW,gBAAoB,MAAO,CAC7C1d,UAAW,gBACG,gBAAoB,MAAO,CACzCA,UAAW,uBACV/hB,KAAKuJ,MAAMgnB,QAAuB,gBAAoB,GAAS,CAChE3O,QAAQ,IACL5hB,KAAK4gB,MAAM6e,OAAO3hB,IAAI9d,KAAK0/B,cAClC,IAEJ,CAhFsC,CAgFpC,EAAAze,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACL21B,eAAgB31B,EAAMoV,UAAUlK,SAEpC,GACwC,CACtCE,gBAAiBA,IADnB,CAEGqqB,IC/FH,SAAS,GAAQn+B,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAGlP,IAAI4+B,GAAuB,SAAUtf,GACnC,SAASsf,IAEP,OADA,OAAgB3/B,KAAM2/B,GACf,GAAW3/B,KAAM2/B,EAASj+B,UACnC,CAEA,OADA,QAAUi+B,EAAStf,IACZ,OAAasf,EAAS,CAAC,CAC5Bt9B,IAAK,SACLC,MAAO,WACL,IAAIse,EAAQ,GAAc,CAAC,EAAG5gB,KAAK4gB,OAGnC,cAFOA,EAAMI,gBACNJ,EAAM/U,OACY,MAArB7L,KAAK4gB,MAAM/U,OACO,gBAAoB,MAAM,QAAS,CACrDkW,UAAW,MACX6C,GAAI5kB,KAAK4gB,MAAM/U,QACd+U,GAAQ5gB,KAAK4gB,MAAMI,UAEJ,gBAAoB,OAAO,QAAS,CACtDe,UAAW,OACV/hB,KAAK4gB,OAAQ5gB,KAAK4gB,MAAMI,SAC7B,IAEJ,CAvB2B,CAuBzB,EAAAC,WACS2e,GAAU,SAAiBhf,GACpC,IAAImB,EAAY,OACZnB,EAAMif,OACR9d,GAAa,SAEXnB,EAAMkf,SACR/d,GAAa,WAEf,IAAIqS,EAAe,GAAc,CAAC,EAAGxT,GAKrC,cAJOwT,EAAayL,YACbzL,EAAa0L,cACb1L,EAAapT,gBACboT,EAAana,MACA,gBAAoB,OAAO,QAAS,CACtD8H,UAAWA,EACX9H,MAAO2G,EAAM3G,OACZma,GAAexT,EAAMI,SAC1B,EACA,YChDA,SAAS,GAAWjgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAYlP,IAAIg/B,GAA0B,SAAU1f,GAEtC,SAAS0f,EAAWnf,GAClB,IAAIjc,EAoDJ,OAnDA,OAAgB3E,KAAM+/B,GACtBp7B,EAAQ,GAAW3E,KAAM+/B,EAAY,CAACnf,KAEtC,OAAgBjc,EAAO,qBAAqB,WAC1CA,EAAMic,MAAMof,QAAQr7B,EAAMic,MAAMuR,MAAMlW,OAAOrV,IAAI1D,MAAK,WAMpD,GALAyB,EAAMic,MAAMrM,gBAAgB5P,EAAMic,MAAM9L,KAAKmrB,gBAAgB/8B,MAAK,WAChEyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,IACsC,MAAlC5rB,EAAMic,MAAM9L,KAAK+pB,eAAyBl6B,EAAMic,MAAM9L,KAAK+pB,cAAcl9B,OAAS,EAAG,CACvF,IAAIu+B,EAAav7B,EAAMic,MAAM9L,KAAK+pB,cAAc,GAAGj4B,GACnDjC,EAAMic,MAAMjM,gBAAgBurB,EAC9B,CACF,GACF,KACA,OAAgBv7B,EAAO,wBAAwB,WAC7CA,EAAMic,MAAMuf,WACd,KAEA,OAAgBx7B,EAAO,iBAAiB,SAAU+P,GAChD,OAAO,IAAI5R,SAAQ,SAAUC,GAC3B,IAAIgD,EAAOpB,EAAMic,MAAM9L,KAAK+pB,cAAc,GAC1C94B,EAAKq5B,aAAe1qB,EAAO0qB,aAC3Br5B,EAAKD,OAAS4O,EAAO5O,OACrBnB,EAAMic,MAAMpM,mBAAmBzO,GAAM7C,MAAK,WACxCH,EAAQ,GACR4B,EAAMic,MAAMjM,gBAAgB5O,EAAKa,GACnC,GACF,GACF,KAEA,OAAgBjC,EAAO,sBAAsB,SAAU8P,GACrD,OAAoB,gBAAoB,GAAS,CAC/CpS,IAAKoS,EAAS7N,GACdqb,MAAO,CACLme,OAAQ,WAEVtd,QAAS,WACP,OAAOne,EAAM07B,gBAAgB5rB,EAC/B,GACc,gBAAoBmrB,GAAS,KAAMnrB,EAASpN,KAAKojB,UAAW,IAAKhW,EAASpN,KAAKqjB,UAAwB,gBAAoBkV,GAAS,CAClJE,QAAQ,GACY,aAAnBrrB,EAAS3O,OAAwBnB,EAAMic,MAAM+N,UAAU,aAAe,MAC3E,IACAhqB,EAAM4E,MAAQ,CACZgnB,SAAS,GAEX5rB,EAAMma,SAAW,CACf/J,OAAO,GAEFpQ,CACT,CAEA,OADA,QAAUo7B,EAAY1f,IACf,OAAa0f,EAAY,CAAC,CAC/B19B,IAAK,SACLC,MAAO,WACL,IAAKtC,KAAK8e,SAAS/J,MACjB,OAAoB,gBAAoB,GAAU,CAChD6P,GAAI,MAGR,GAAI5kB,KAAKuJ,MAAMgnB,QACb,OAAoB,gBAAoB,GAAS,CAC/C3O,QAAQ,IAGZ,IAAIF,EAAc1hB,KAAK4gB,MACrB/L,EAAe6M,EAAY7M,aAC3BC,EAAO4M,EAAY5M,KACnB6Z,EAAYjN,EAAYiN,UACtB2R,GAAW,OAAmBtgC,KAAK4gB,MAAM9L,KAAK+pB,eAAez9B,QAAO,SAAUihB,GAChF,MAAmB,aAAZA,EAAEvc,MACX,IAAGnE,OACC8S,EAAW,KAIf,OAHIzU,KAAK4gB,MAAM9L,KAAK+pB,cAAcl9B,OAAS,IACzC8S,EAAWzU,KAAK4gB,MAAM9L,KAAK+pB,cAAc,IAEvB,gBAAoB,MAAO,CAC7C9c,UAAW,yBACG,gBAAoB,MAAO,CACzCA,UAAW,gCACXE,MAAO,CACLse,WAAY,IAEA,gBAAoB,KAAM,CACxCte,MAAO,CACLiY,aAAc,SAEfplB,EAAKmF,OAAqB,gBAAoB,MAAO,CACtDgI,MAAO,CACLmZ,OAAQ,WAEI,gBAAoB,IAAK,KAAMtmB,EAAK4J,OAAqB,gBAAoBoG,GAAc,CACzGE,KAAM,KACQ,gBAAoB,GAAO,KAAmB,gBAAoB,GAAc,KAAMsb,EAAW,GAAK,OAASv2B,QAAQ+K,EAAK9K,SAAwB,gBAAoB,MAAO,KAAmB,gBAAoB,KAAM,KAAM2kB,EAAU,iBAA+B,gBAAoB,GAAoB,CACjUla,SAAUA,EACVgrB,OAAQ5qB,EAAa4qB,UACJ,gBAAoB,MAAO,KAAmB,gBAAoB,KAAM,KAAM9Q,EAAU,WAAyB,gBAAoB6R,kBAAmB,CACzK1rB,KAAM,MAAQD,EAAajO,GAC3B64B,OAAQ5qB,EAAa4qB,OACrB9K,SAAU30B,KAAKygC,qBACK,gBAAoB,MAAO,CAC/C1e,UAAW,6BACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,KAAM,KAAM4M,EAAU,gBAA8B,gBAAoB,MAAO,KAAqBA,EAAf2R,EAAW,EAAc,YAAyB,mBAAoC,MAAhBxrB,EAAK9K,QAA+B,gBAAoB,MAAO,CAC5P+X,UAAW,kBACG,gBAAoB,KAAM,KAAM4M,EAAU,mBAAoB,IAAI,GAAS7Z,EAAK9K,SAAS02B,eAAiB,KAAmB,gBAAoB,MAAO,CACtK3e,UAAW,kBACV,OAASnY,SAASkL,EAAK9K,UAAYs2B,EAAW,EAAiB,gBAAoB,OAAQ,MAAQ,OAAqB,gBAAoB,MAAO,CACpJve,UAAW,aAEf,IAEJ,CAvH8B,CAuH5B,EAAAd,WASF,UAAe,SARf,SAAyB1X,GACvB,MAAO,CACLsL,aAActL,EAAMoV,UAAU9J,aAC9BC,KAAMvL,EAAMoV,UAAU7J,KACtBL,SAAUlL,EAAMoV,UAAUlK,SAC1Bka,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC3G,gBAAiBA,GACjByrB,QlE7HmB,SAAiBp5B,GACpC,MAAO,CACLuB,KAAMgM,GACN/L,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,SAAS/G,OAAOsH,IAAK1D,MAAK,SAAUe,GAC1ClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EkEqHEyO,mBAAoBA,GACpBG,gBAAiBA,GACjBwrB,UlEtHqB,WACrB,MAAO,CACLh4B,KAAMiM,GACNhM,SAAS,EAEb,GkE4GA,CAMG23B,ICnJH,SAAS,GAAWh/B,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAI4/B,GAA8B,SAAUtgB,GAC1C,SAASsgB,IAEP,OADA,OAAgB3gC,KAAM2gC,GACf,GAAW3gC,KAAM2gC,EAAgBj/B,UAC1C,CAEA,OADA,QAAUi/B,EAAgBtgB,IACnB,OAAasgB,EAAgB,CAAC,CACnCt+B,IAAK,oBACLC,OACMs+B,GAAqB,OAAgC,UAAyB,SAAS58B,IACzF,OAAO,UAAyB,SAAkBG,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEH,OADAM,EAASN,KAAO,EACT,EAAKg9B,sBACd,KAAK,EACH7gC,KAAK4gB,MAAMqW,QAAQtd,QAAQ,KAC7B,KAAK,EACL,IAAK,MACH,OAAOxV,EAASI,OAEtB,GAAGP,EAAShE,KACd,KACA,WACE,OAAO4gC,EAAmBp/B,MAAMxB,KAAM0B,UACxC,IAGD,CACDW,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,yBACG,gBAAoB,GAAS,CAC3CH,QAAQ,IAEZ,KA5BO,IACDgf,CA6BV,CAtCkC,CAsChC,EAAA3f,WAMF,UAAe,QAAW,QAAQ,MALlC,SAA4B6f,GAC1B,MAAO,CACLA,SAAUA,EAEd,GAC0B,CAAkCH,KCpD5D,SAAS,GAAW5/B,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAIggC,GAAqB,SAAU1gB,GACjC,SAAS0gB,EAAMngB,GACb,IAAIjc,EAoCJ,OAnCA,OAAgB3E,KAAM+gC,GACtBp8B,EAAQ,GAAW3E,KAAM+gC,EAAO,CAACngB,KACjC,OAAgBjc,EAAO,qBAAkC,OAAgC,UAAyB,SAASX,IAEzH,OAAO,UAAyB,SAAkBG,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEkC,MAAjC0V,GAAmB,YACXA,GAAmB,WAEE,MAA7BA,GAAmB,SACrB5U,EAAMye,SAAS,CACbmN,SAAS,IAIX,EAAKyQ,MAAM,CACTC,qBAAsB,CACpB,WAAc,OAAS1nB,GAAmB,WAIlD,KAAK,EACL,IAAK,MACH,OAAOpV,EAASI,OAEtB,GAAGP,EACL,OACA,OAAgBW,EAAO,WAAW,WAChC,EAAKq8B,OACP,IACAr8B,EAAM4E,MAAQ,CACZgnB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUo8B,EAAO1gB,IACV,OAAa0gB,EAAO,CAAC,CAC1B1+B,IAAK,SACLC,MAAO,WACL,IAAIqsB,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAI3uB,KAAKuJ,MAAMgnB,QACO,gBAAoB,GAAS,CAC/C3O,QAAQ,IAGQ,gBAAoB,MAAO,CAC7CG,UAAW,iBACG,gBAAoB,KAAM,KAAM4M,EAAU,kDAAgE,gBAAoB,IAAK,CACjJ5M,UAAW,2BACV4M,EAAU,sBAAoC,gBAAoB,GAAAiI,OAAQ,CAC3EzuB,KAAM,YACN2a,QAAS9iB,KAAK8iB,SACb6L,EAAU,WAAyB,gBAAoB,IAAK,CAC7D5M,UAAW,2BACV4M,EAAU,2DACf,IAEJ,CA9DyB,CA8DvB,EAAA1N,WAOF,UAAe,QAAW,SANJ,SAAyB1X,GAC7C,MAAO,CACL23B,WAAY33B,EAAM+V,WAClBqP,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GAC0B,CAAyB6lB,KC9EnD,SAAS,GAAWhgC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAKlP,IAAIogC,GAAsB,SAAU9gB,GAClC,SAAS8gB,EAAOvgB,GACd,IAAIjc,EAkBJ,OAjBA,OAAgB3E,KAAMmhC,GACtBx8B,EAAQ,GAAW3E,KAAMmhC,EAAQ,CAACvgB,KAClC,OAAgBjc,EAAO,qBAAkC,OAAgC,UAAyB,SAASX,IACzH,OAAO,UAAyB,SAAkBG,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEH,OADAM,EAASN,KAAO,EACT,EAAK4M,SACd,KAAK,EACL,IAAK,MACH,OAAOtM,EAASI,OAEtB,GAAGP,EACL,MACAW,EAAM4E,MAAQ,CACZgnB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUw8B,EAAQ9gB,IACX,OAAa8gB,EAAQ,CAAC,CAC3B9+B,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,yBACG,gBAAoB,GAAS,CAC3CH,QAAQ,IAEZ,IAEJ,CAjC0B,CAiCxB,EAAAX,WACF,UAAe,OAAWkgB,ICvC1B,SAPkB,WAChB,OAAoB,gBAAoB,MAAO,CAC7Cpf,UAAW,yBACG,gBAAoB,GAAS,CAC3CH,QAAQ,IAEZ,ECFA,SAAS,GAAW7gB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CASlP,IAAIqgC,GAAuB,SAAU/gB,GACnC,SAAS+gB,EAAQxgB,GACf,IAAIjc,EAqHJ,OApHA,OAAgB3E,KAAMohC,GACtBz8B,EAAQ,GAAW3E,KAAMohC,EAAS,CAACxgB,KACnC,OAAgBjc,EAAO,6BAA6B,WAClDA,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,qBAC/ChqB,EAAMic,MAAMxN,wBAAwBlQ,MAAK,WACvCyB,EAAM08B,oBACN18B,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,iBAAiB,SAAUs6B,EAAOn6B,GACvD,IAAI4P,EAAS/P,EAAM4E,MAAMmL,OACzBA,EAAOuqB,GAASn6B,EAAM+G,OAAOvJ,MAC7BqC,EAAMye,SAAS,CACb1O,OAAQA,GAEZ,KACA,OAAgB/P,EAAO,YAAY,WACjC,IAAIE,EAAQF,EAAM28B,eACd3S,EAAYhqB,EAAMic,MAAM+N,UAC5B,IAAc,IAAV9pB,EAAiB,CACnB,IAAI6P,EAAS/P,EAAM4E,MAAMmL,OACzB/P,EAAMic,MAAM1N,sBAAsBwB,GAAQxR,MAAK,WAC7C,KAAKyrB,EAAU,qBACjB,GACF,CACF,KACA,OAAgBhqB,EAAO,iBAAiB,SAAU48B,GAEhD,MADS,0JACCC,KAAKD,EACjB,KACA,OAAgB58B,EAAO,qBAAqB,WAC1C,GAA2B,MAAvBA,EAAMic,MAAMzN,QAAiB,CAC/B,IAAIuB,EAAS,CACX+sB,OAA+B,MAAvB98B,EAAMic,MAAMzN,QAAkBxO,EAAMic,MAAMzN,QAAQuuB,OAAS,GACnEC,OAA+B,MAAvBh9B,EAAMic,MAAMzN,QAAkBxO,EAAMic,MAAMzN,QAAQyuB,OAAS,GACnEC,KAA6B,MAAvBl9B,EAAMic,MAAMzN,QAAkBxO,EAAMic,MAAMzN,QAAQ2uB,KAAO,GAC/DC,MAA8B,MAAvBp9B,EAAMic,MAAMzN,QAAkBxO,EAAMic,MAAMzN,QAAQ6uB,MAAQ,GACjET,KAA6B,MAAvB58B,EAAMic,MAAMzN,QAAkBxO,EAAMic,MAAMzN,QAAQ8uB,KAAO,GAC/DC,WAAmC,MAAvBv9B,EAAMic,MAAMzN,QAAkBxO,EAAMic,MAAMzN,QAAQgvB,WAAa,GAC3EC,OAA+B,MAAvBz9B,EAAMic,MAAMzN,SAAkBxO,EAAMic,MAAMzN,QAAQkvB,QAE5D19B,EAAMye,SAAS,CACb1O,OAAQA,GAEZ,CACF,KACA,OAAgB/P,EAAO,gBAAgB,WACrC,IAAI+P,EAAS/P,EAAM4E,MAAMmL,OACrBia,EAAYhqB,EAAMic,MAAM+N,UACxB9pB,GAAQ,GACS,IAAjB6P,EAAOitB,QAAiC,MAAjBjtB,EAAOitB,QAC5BW,MAAM5tB,EAAOitB,SAGNjtB,EAAOitB,OAAS,KAASjtB,EAAOitB,OAAS,SAFlD98B,GAAQ,EACRF,EAAMic,MAAMjV,SAASgjB,EAAU,wBAAyB,YAM1D9pB,GAAQ,EACRF,EAAMic,MAAMjV,SAASgjB,EAAU,wBAAyB,WAEvC,IAAfja,EAAOmtB,MAA6B,MAAfntB,EAAOmtB,KAC9BntB,EAAOmtB,KAAOntB,EAAOmtB,KAAKU,QAE1B19B,GAAQ,EACRF,EAAMic,MAAMjV,SAASgjB,EAAU,cAAe,WAE3B,IAAjBja,EAAO+sB,QAAiC,MAAjB/sB,EAAO+sB,OAChC/sB,EAAO+sB,OAAS/sB,EAAO+sB,OAAOc,QAE9B19B,GAAQ,EACRF,EAAMic,MAAMjV,SAASgjB,EAAU,qBAAsB,WAEnC,IAAhBja,EAAOqtB,OAA+B,MAAhBrtB,EAAOqtB,OAC/BrtB,EAAOqtB,MAAQrtB,EAAOqtB,MAAMpoB,QAAQ,IAAK,IACzCjF,EAAOqtB,MAAQrtB,EAAOqtB,MAAMQ,OAC5B7tB,EAAOqtB,MAAQrtB,EAAOqtB,MAAMpoB,QAAQ,MAAO,IACvC2oB,MAAM5tB,EAAOqtB,SACfl9B,GAAQ,EACRF,EAAMic,MAAMjV,SAASgjB,EAAU,4BAA6B,aAG9D9pB,GAAQ,EACRF,EAAMic,MAAMjV,SAASgjB,EAAU,4BAA6B,WAE3C,IAAfja,EAAO6sB,MAA6B,MAAf7sB,EAAO6sB,OAC9B7sB,EAAO6sB,KAAO7sB,EAAO6sB,KAAKgB,OACV59B,EAAM69B,cAAc9tB,EAAO6sB,QAEzC18B,GAAQ,EACRF,EAAMic,MAAMjV,SAASgjB,EAAU,sBAAuB,aAGxD9pB,GAAQ,EACRF,EAAMic,MAAMjV,SAASgjB,EAAU,sBAAuB,WAKxD,OAHAhqB,EAAMye,SAAS,CACb1O,OAAQA,IAEH7P,CACT,IACAF,EAAM4E,MAAQ,CACZmL,OAAQ,CACN+sB,OAAyB,MAAjB7gB,EAAMzN,QAAkByN,EAAMzN,QAAQuuB,OAAS,GACvDC,OAAyB,MAAjB/gB,EAAMzN,QAAkByN,EAAMzN,QAAQyuB,OAAS,GACvDC,KAAuB,MAAjBjhB,EAAMzN,QAAkByN,EAAMzN,QAAQ2uB,KAAO,GACnDC,MAAwB,MAAjBnhB,EAAMzN,QAAkByN,EAAMzN,QAAQ6uB,MAAQ,GACrDT,KAAuB,MAAjB3gB,EAAMzN,QAAkByN,EAAMzN,QAAQ8uB,KAAO,GACnDC,WAA6B,MAAjBthB,EAAMzN,QAAkByN,EAAMzN,QAAQgvB,WAAa,GAC/DM,KAAuB,MAAjB7hB,EAAMzN,QAAkByN,EAAMzN,QAAQnH,KAAO,IAErDukB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUy8B,EAAS/gB,IACZ,OAAa+gB,EAAS,CAAC,CAC5B/+B,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACb,GAAIA,KAAKuJ,MAAMgnB,QACb,OAAoB,gBAAoB,MAAO,CAC7CxO,UAAW,kCACXE,MAAO,CACLyR,UAAW,QAEC,gBAAoB,GAAS,CAC3C9R,QAAQ,KAGZ,IAAI+M,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,wCACG,gBAAoB,MAAO,CACzCA,UAAW,4CACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,QAAS,KAAM4M,EAAU,UAAwB,gBAAoB,MAAO,KAAmB,gBAAoB,QAAS,CAC9JxmB,KAAM,OACNkqB,YAAa,UACb/O,SAAU,SAAkBxe,GAC1BwtB,EAAOoQ,cAAc,QAAS59B,EAChC,EACAxC,MAAOtC,KAAKuJ,MAAMmL,OAAOqtB,MACzBvQ,SAAUxxB,KAAKuJ,MAAMmL,OAAO0tB,WACX,gBAAoB,MAAO,CAC5CrgB,UAAW,kBACG,gBAAoB,QAAS,KAAM4M,EAAU,UAAW,IAAK3uB,KAAKuJ,MAAMmL,OAAO0tB,OAAS,GAAkB,gBAAoB,OAAQ,CACpJngB,MAAO,CACL0gB,WAAY,MAEb,IAAKhU,EAAU,8FAA+F,MAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,QAAS,CAC9MxmB,KAAM,OACNkqB,YAAa1D,EAAU,UACvBiU,UAAW,IACXtf,SAAU,SAAkBxe,GAC1BwtB,EAAOoQ,cAAc,OAAQ59B,EAC/B,EACAxC,MAAOtC,KAAKuJ,MAAMmL,OAAO6sB,KACzB/P,UAAU,MACO,gBAAoB,MAAO,CAC5CzP,UAAW,kBACG,gBAAoB,QAAS,KAAM4M,EAAU,mBAAiC,gBAAoB,MAAO,KAAmB,gBAAoB,QAAS,CACvKxmB,KAAM,OACNkqB,YAAa1D,EAAU,kBACvBiU,UAAW,GACXtf,SAAU,SAAkBxe,GAC1BwtB,EAAOoQ,cAAc,SAAU59B,EACjC,EACAxC,MAAOtC,KAAKuJ,MAAMmL,OAAO+sB,OACzBjQ,SAAUxxB,KAAKuJ,MAAMmL,OAAO0tB,WACX,gBAAoB,MAAO,CAC5CrgB,UAAW,kBACG,gBAAoB,MAAO,CACzCA,UAAW,iBACG,gBAAoB,QAAS,KAAM4M,EAAU,aAA2B,gBAAoB,MAAO,KAAmB,gBAAoB,QAAS,CACjKxmB,KAAM,SACNkqB,YAAa1D,EAAU,YACvBkU,IAAK,MACLC,IAAK,IACLxf,SAAU,SAAkBxe,GAC1BwtB,EAAOoQ,cAAc,SAAU59B,EACjC,EACAxC,MAAOtC,KAAKuJ,MAAMmL,OAAOitB,OACzBnQ,SAAUxxB,KAAKuJ,MAAMmL,OAAO0tB,WACX,gBAAoB,MAAO,CAC5CrgB,UAAW,sBACG,gBAAoB,QAAS,KAAM4M,EAAU,SAAuB,gBAAoB,MAAO,KAAmB,gBAAoB,QAAS,CAC7JxmB,KAAM,OACNkqB,YAAa1D,EAAU,QACvBiU,UAAW,GACXtf,SAAU,SAAkBxe,GAC1BwtB,EAAOoQ,cAAc,OAAQ59B,EAC/B,EACAxC,MAAOtC,KAAKuJ,MAAMmL,OAAOmtB,KACzBrQ,SAAUxxB,KAAKuJ,MAAMmL,OAAO0tB,YACV,gBAAoB,MAAO,CAC7CrgB,UAAW,0BACXE,MAAO,CACLse,WAAY,SAEbvgC,KAAKuJ,MAAMmL,OAAO0tB,OAAsB,gBAAoB,MAAO,CACpEngB,MAAO,CACLiY,aAAc,SAEfvL,EAAU,wMAAuN,gBAAoB,GAAAiI,OAAQ,CAC9PpF,SAAUxxB,KAAKuJ,MAAMmL,OAAO0tB,OAC5Btf,QAAS9iB,KAAK20B,UACbhG,EAAU,WACf,IAEJ,CAzN2B,CAyNzB,EAAA1N,WAOF,UAAe,SANO,SAAyB1X,GAC7C,MAAO,CACL4J,QAAS5J,EAAM4J,QAAQA,QACvBwb,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtCvP,SAAUA,GACVyH,sBAAuBA,GACvBF,sBAAuBA,GACvBkG,aAAcA,IAJhB,CAKGgoB,IChPH,SAAS,GAAWrgC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAgBlP,IAAIgiC,GAA4B,SAAU1iB,GACxC,SAAS0iB,IAEP,OADA,OAAgB/iC,KAAM+iC,GACf,GAAW/iC,KAAM+iC,EAAcrhC,UACxC,CAEA,OADA,QAAUqhC,EAAc1iB,IACjB,OAAa0iB,EAAc,CAAC,CACjC1gC,IAAK,oBACLC,MAAO,WACLtC,KAAK4gB,MAAM3S,qCACXjO,KAAK4gB,MAAM9N,4BACX9S,KAAK4gB,MAAMoiB,4BACXhjC,KAAK4gB,MAAMqiB,kCACXjjC,KAAK4gB,MAAMsiB,+BACXljC,KAAK4gB,MAAMuiB,mBACXnjC,KAAK4gB,MAAMwiB,0BACXpjC,KAAK4gB,MAAMyiB,gBACXrjC,KAAK4gB,MAAM0iB,6BACXtjC,KAAK4gB,MAAM2iB,kBACXvjC,KAAK4gB,MAAMxR,0BAA0BpP,KAAK4gB,MAAMjQ,cAAc/J,IAC9D5G,KAAK4gB,MAAM5H,aAAahZ,KAAK4gB,MAAMjQ,cAAc/J,IACjD5G,KAAK4gB,MAAMqW,QAAQ11B,KAAK,IAC1B,GACC,CACDc,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC3Fyf,UAAW,4BACG,gBAAoB,GAAS,CAC3CH,QAAQ,KAEZ,IAEJ,CAjCgC,CAiC9B,EAAAX,WAMF,UAAe,QAAW,SAL1B,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAE9B,GACmD,CACjDL,oBAAqBA,GACrBrI,8BAA+BA,GAC/BsK,wBAAyBA,GACzBnD,0BAA2BA,GAC3Bk0B,2BxFyBsC,WACtC,MAAO,CACLn7B,KAAM8G,GACN7G,QAAS,GAEb,EwF7BE6F,mCAAoCA,GACpC6E,0BAA2BA,GAC3BkwB,0BhFtDqC,WACrC,MAAO,CACL76B,KAAMmK,GACNlK,QAAS,GAEb,EgFkDE66B,gClGjD2C,WAC3C,MAAO,CACL96B,KAAMR,GACNS,QAAS,GAEb,EkG6CE86B,6BtFxCwC,WACxC,MAAO,CACL/6B,KAAMkI,GACNjI,QAAS,GAEb,EsFoCE+6B,iBjD4C4B,WAC5B,MAAO,CACLh7B,KAAM2T,GACN1T,QAAS,GAEb,EiDhDEg7B,wB3D5DmC,WACnC,MAAO,CACLj7B,KAAMiS,GACNhS,QAAS,GAEb,E2DwDEi7B,cpFIyB,WACzB,MAAO,CACLl7B,KAAM8I,GACN7I,QAAS,GAEb,EoFREm7B,gB1ErC2B,WAC3B,MAAO,CACLp7B,KAAMqL,GACNpL,QAAS,KAEb,E0EiCE4Q,aAAc,IAfU,CAgBvB+pB,KCvEH,SAAS,GAAWhiC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAIlP,IAAIyiC,GAAwB,SAAUnjB,GACpC,SAASmjB,IACP,IAAI7+B,GACJ,OAAgB3E,KAAMwjC,GACtB,IAAK,IAAIljB,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA0DzB,OAxDA9b,EAAQ,GAAW3E,KAAMwjC,EAAU,GAAGlkC,OAAOihB,KAC7C,OAAgB5b,EAAO,iBAAiB,SAAU6nB,GAChD,OAAO,SAAWA,GAAM1iB,QAAQ2O,OAAO,QACzC,KACA,OAAgB9T,EAAO,cAAc,WAEnC,OADA,aAAc,KAAAmc,sBACM,gBAAoB,OAAQ,KAAMnc,EAAM8+B,cAAc9+B,EAAMic,MAAM8iB,OAAQ,MAAO/+B,EAAM8+B,cAAc9+B,EAAMic,MAAMwM,KACvI,KACA,OAAgBzoB,EAAO,QAAQ,WAC7B,OAAoB,gBAAoB,MAAO,CAC7CiC,GAAI,UACJwb,MAAO,6BACPuhB,WAAY,+BACZthB,EAAG,MACHC,EAAG,MACHshB,SAAU,WACVrhB,QAAS,aACK,gBAAoB,QAAS,CAC3Cpa,KAAM,YACL,iGAA+G,gBAAoB,IAAK,KAAmB,gBAAoB,SAAU,CAC1L4Z,UAAW,MACX8hB,GAAI,IACJC,GAAI,MACJhjC,EAAG,QACY,gBAAoB,OAAQ,CAC3CihB,UAAW,MACXS,GAAI,IACJC,GAAI,MACJC,GAAI,IACJC,GAAI,QACW,gBAAoB,OAAQ,CAC3CZ,UAAW,MACXS,GAAI,IACJC,GAAI,MACJC,GAAI,IACJC,GAAI,QACW,gBAAoB,OAAQ,CAC3CZ,UAAW,MACXS,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,QACW,gBAAoB,OAAQ,CAC3CZ,UAAW,MACXS,GAAI,IACJC,GAAI,MACJC,GAAI,MACJC,GAAI,QACW,gBAAoB,OAAQ,CAC3CZ,UAAW,MACXS,GAAI,MACJC,GAAI,MACJC,GAAI,OACJC,GAAI,SAER,IACOhe,CACT,CAEA,OADA,QAAU6+B,EAAUnjB,IACb,OAAamjB,EAAU,CAAC,CAC7BnhC,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,OAAQ,CAC9Cyf,UAAW,qBACXgiB,SAAU/jC,KAAK4gB,MAAM8iB,OACpB1jC,KAAK4gB,MAAMojB,KAAOhkC,KAAKgkC,OAAS,KAAMhkC,KAAKikC,aAChD,IAEJ,CA3E4B,CA2E1B,EAAAhjB,W,qBCvEF,SAduB,SAA0BL,GAC/C,OAAoB,gBAAoB,MAAO,CAC7C2B,QAAS,YACToY,KAAM,gBACQ,gBAAoB,IAAK,CACvC5Y,UAAW,sBACG,gBAAoB,OAAQ,CAC1CA,UAAW,iBACX/E,EAAG,s+CACY,gBAAoB,OAAQ,CAC3C+E,UAAW,eACX/E,EAAG,q9CAEP,ECRA,SAAS,GAAQnc,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAUlP,IAAImjC,GAA0B,SAAU7jB,GACtC,SAAS6jB,EAAWtjB,GAClB,IAAIjc,EA4QJ,OA3QA,OAAgB3E,KAAMkkC,GACtBv/B,EAAQ,GAAW3E,KAAMkkC,EAAY,CAACtjB,KACtC,OAAgBjc,EAAO,uBAAuB,SAAU0gB,GACtD,IAAI8e,EAAa,KAAOx/B,EAAMic,MAAMwjB,QAAQC,WAAWv5B,OACnDw5B,EAAa,KAAO3/B,EAAMic,MAAMwjB,QAAQE,YAAYx5B,OAASq5B,EAC7Dt6B,EAAY,KAAOwb,EAAIxb,WAAWiB,OAASq5B,EAC3Ct6B,EAAY,EACdA,EAAY,EACHA,EAAYy6B,IACrBz6B,EAAYy6B,GAEd,IAAIC,EAAa,KAAOlf,EAAIkf,YAAYz5B,OAASq5B,EAC7CI,EAAa,EACfA,EAAa,EACJA,EAAaD,IACtBC,EAAaD,GAEf,IAAItoB,EAAU,KAAOqJ,EAAIrJ,SAASlR,OAASq5B,EACvCnoB,EAAU,EACZA,EAAU,EACDA,EAAUsoB,IACnBtoB,EAAUsoB,GAEO,GAAGhlC,OAAOuK,EAAYy6B,EAAa,IAAK,KAA3D,IACIE,GAAaxoB,EAAUnS,GAAay6B,EAAa,IACjDG,EAAgB,GAAGnlC,QAAQglC,EAAatoB,GAAWsoB,EAAa,IAAK,KACrEI,EAAsB,MACtBrf,EAAIsf,iBACND,EAAsBrf,EAAIsf,iBACjBhgC,EAAMic,MAAMwjB,QAAQO,mBAC7BD,EAAsB//B,EAAMic,MAAMwjB,QAAQO,kBAExCH,EAAY,KACdA,EAAY,IAEd,IACII,EAAO,CACTlR,UAAW,MACXwG,aAAc,MACd3T,WAAY,MACZ4W,YAAa,MACbjF,QAAS,iBACT5O,SAAU,WACVzH,MAAO4iB,EACPne,gBAAiBoe,EACjB1e,MAAOwe,EACP,MAAS,OACTjb,OAAQ,OACRsb,WAAY,oBACZC,qBAAsB,OACtBC,wBAAyB,OACzBC,UAAW,sBACX9H,aAAc,MACdjF,OAAQ,OA4BV,OA1B2C,MAAvCtzB,EAAMic,MAAMwjB,QAAQa,SAASC,SACY,GAAvCvgC,EAAMic,MAAMwjB,QAAQa,SAASC,OAC/BN,EAAKI,UAAY,OAEjBJ,EAAKI,UAAYrgC,EAAMic,MAAMwjB,QAAQa,SAASC,QAGP,MAAvCvgC,EAAMic,MAAMwjB,QAAQa,SAAS9R,SAC/ByR,EAAKzR,OAASxuB,EAAMic,MAAMwjB,QAAQa,SAAS9R,QAEF,MAAvCxuB,EAAMic,MAAMwjB,QAAQa,SAAS1b,SAC/Bqb,EAAKrb,OAAS5kB,EAAMic,MAAMwjB,QAAQa,SAAS1b,QAEI,MAA7C5kB,EAAMic,MAAMwjB,QAAQa,SAAS/H,eAC/B0H,EAAKO,oBAAsBxgC,EAAMic,MAAMwjB,QAAQa,SAAS/H,aACxD0H,EAAKQ,uBAAyBzgC,EAAMic,MAAMwjB,QAAQa,SAAS/H,aAC3D0H,EAAKG,wBAA0BpgC,EAAMic,MAAMwjB,QAAQa,SAAS/H,aAC5D0H,EAAKE,qBAAuBngC,EAAMic,MAAMwjB,QAAQa,SAAS/H,cAErC,MAAlB7X,EAAIwf,aACND,EAAKC,WAAaxf,EAAIwf,YAExBD,EAAK7gB,gBAAkB,UACvB6gB,EAAKS,gBAAkB,MACvBT,EAAKU,WAAa,4CAClBV,EAAKI,UAAY,mCACV,CACLO,KA/CS,CAAC,EAgDVX,KAAMA,EAEV,KACA,OAAgBjgC,EAAO,sBAAsB,SAAUG,EAAOm0B,GAC5Dn0B,EAAM+d,iBACN,IAAIpT,EAAS9K,EAAM4E,MAAMkG,OACzBA,EAAOqO,KAAI,SAAU0nB,GACfA,EAAI5+B,IAAMqyB,EAAMryB,KAClB4+B,EAAIniB,MAAQmiB,EAAIniB,KAEpB,IACA1e,EAAMye,SAAS,CACb3T,OAAQA,GAEZ,KACA,OAAgB9K,EAAO,sBAAsB,SAAUsvB,EAAMgF,EAAOhV,GAClE,IAAIwhB,EAAgB,CAClBzf,MAAO,OAETyf,SAAyB,WACzBA,QAAwB,SACpBC,EAAsB,EAC1B,OAAoB,gBAAoB,KAAM,CAC5CzjB,MAAOwjB,EACP3iB,QAAS,SAAiBjiB,GACxB8D,EAAMghC,mBAAmB9kC,EAAGo4B,EAC9B,GACc,gBAAoB,MAAO,CACzChX,MAAO,CACLqH,SAAU,WACVwO,IAAK,QACLG,OAAQ,QAETgB,EAAM2M,eAAiB3M,EAAMhf,MAAQ,KAAM,IAAK,IAAKgf,EAAM2M,gBAAiC,MAAf3M,EAAMhf,MAA6B,gBAAoB,MAAO,CAC5I8H,UAAW,4BACVkX,EAAM2M,eAAiB3M,EAAM5V,KAAoB,gBAAoB,GAAO,MAAqB,gBAAoB,GAAM,MAAQ,MAAQ,MAAO1e,EAAMic,MAAMqT,KAAKnW,KAAI,SAAUuH,EAAKpB,GACvL,GAAIgV,EAAMryB,IAAMye,EAAI4T,OACd5T,EAAIrJ,SAAWrX,EAAMic,MAAMwjB,QAAQC,WAAahf,EAAIxb,WAAalF,EAAMic,MAAMwjB,QAAQE,WAAY,CACnG,IAAIuB,EAAwBlhC,EAAMmhC,oBAAoBzgB,GACpDkgB,EAAOM,EAAsBN,KAC7BX,EAAOiB,EAAsBjB,KAC/B,GAAoB,GAAhBA,EAAKmB,QAAc,CAOrB,IAAIC,EAAapB,EAAK5e,MACtB4e,EAAK5e,OAAS,IACduf,EAAKvf,OAAS,IACd,IAAIigB,GAAkB,EAClBC,EAAiB,CAAC,EAClBF,EAAa,GACX/M,EAAM5V,OACR6iB,EAAiB,CACf5c,SAAU,YAEZic,EAAKzN,IAAM,GAAGx4B,OAAO,IAAMomC,EAAqB,MAChDd,EAAK9M,IAAM,GAAGx4B,OAAO,IAAMomC,EAAqB,OAElDA,GAAuB,GAEvBQ,EAAiB,CACf5c,SAAU,YAGd3kB,EAAMic,MAAMqT,KAAKnW,KAAI,SAAUqoB,GACzBlN,EAAMryB,IAAMu/B,EAAIlN,OACd,KAAO5T,EAAIrJ,SAASpS,SAAS,KAAOu8B,EAAInqB,YAC1CiqB,GAAkB,EAGxB,IACuB,GAAnBA,GAA4BhN,EAAM5V,OAChCqiB,EAAsB,IACxBd,EAAKlR,UAAY,IAAMgS,EAAsB,GAAK,MAEpDd,EAAK3M,OAAS,GAAKmO,KAAKC,MAAML,GAC1BpB,EAAK3M,QAAU,IAEjB2M,EAAK3M,OAAS,IAGlB,IAAI/nB,EAAU,KAed,OAd4B,MAAxBmV,EAAI9H,SAASrN,SAAmBmV,EAAI9H,SAASrN,QAAQvO,OAAS,EAChEuO,EAAUmV,EAAI9H,SAASrN,QAEgB,MAAnCmV,EAAI9H,SAAS+oB,oBAA8BjhB,EAAI9H,SAAS+oB,mBAAmB3kC,OAAS,IACtFuO,EAAU,GACVmV,EAAI9H,SAAS+oB,mBAAmB1kC,SAAQ,SAAU2kC,GACnB,MAAzBA,EAAQC,eAAyBD,EAAQC,cAAc7kC,OAAS,GAClEuO,EAAQ3O,KAAK,GAAc,GAAc,CAAC,EAAGglC,EAAQ1oB,QAAS,CAAC,EAAG,CAChEjX,GAAI2/B,EAAQ/2B,WAGlB,KAGgB,gBAAoB,MAAO,CAC7CsT,QAASuC,EAAIrT,OACbiQ,MAAOikB,EACP7jC,IAAK,aAAa/C,OAAO+lB,EAAIze,KACf,gBAAoB,MAAO,CACzCqb,MAAO2iB,GACO,gBAAoB,MAAO,CACzC3iB,MAAO,CACL,MAAS,OACT+D,MAAO,SAERrhB,EAAMic,MAAMwjB,QAAQa,SAASW,eAA8B,gBAAoB,MAAO,CACvF7jB,UAAW,yBACG,gBAAoB,MAAO,CACzCA,UAAW,yBACVikB,EAAa,GAAgB,MAAX91B,GAAmBA,EAAQvO,OAAS,EAAiB,gBAAoB,GAAqB,CACjHmlB,UAAU,GACT5W,EAAQ4N,KAAI,SAAUD,GACvB,IAAI4oB,EAAOL,KAAKC,MAAsB,GAAhBD,KAAKM,SAAgB,GACvChoB,EAAOb,EAAO5D,MAElB,OADAyE,EAAsB,MAAfb,EAAO8oB,KAAejoB,EAAO,IAAMb,EAAO8oB,KAAOjoB,EACpC,gBAAoB,GAAY,CAClDrc,IAAK,YAAcgjB,EAAIze,GAAK,IAAM6/B,EAAO5oB,EAAOjX,GAChDuf,QAASzH,EACT+E,MAAO5F,EAAO+oB,WAElB,KAAM,MAAoB,gBAAoB,MAAO,CACnD7kB,UAAW,sBACXE,MAAO+jB,EAAa,GAAK,CAAC,EAAI,CAC5Bhc,QAAS,SAEG,gBAAoBwZ,GAAU,CAC5CE,MAAOre,EAAIxb,UACXujB,IAAK/H,EAAIrJ,WACiB,kBAAvBqJ,EAAI9H,SAASzX,QAA8BkgC,EAAa,GAAkB,gBAAoB,MAAO,CACxGjkB,UAAW,YACXE,MAAO,CACLsE,WAAY,EACZgD,OAAQ,KAET5kB,EAAMic,MAAM+N,UAAU,UAAY,MAAQ,KAAMhqB,EAAMic,MAAMwjB,QAAQa,SAAS4B,UAAyB,gBAAoB,KAAM,CACjI9kB,UAAW,2BACVsD,EAAIpL,OAAS,OAClB,CACF,CAEJ,IAAiB,gBAAoB,MAAO,CAC1CgI,MAAO,CACLvf,MAAO,UAGb,KACA,OAAgBiC,EAAO,6BAA6B,WAClDA,EAAMmiC,cAAe,EAQjBniC,EAAMic,MAAMwjB,QAAQ2C,aACtBpiC,EAAMoiC,YAAa,EAEvB,KACA,OAAgBpiC,EAAO,qBAAqB,WAC1CA,EAAMqiC,cAAgBriC,EAAMic,MAC5Bjc,EAAMsiC,WACR,KACA,OAAgBtiC,EAAO,oCAAoC,SAAU+e,GAC/D/e,EAAMic,MAAMqT,MAAQvQ,EAAUuQ,OAEhCtvB,EAAMqiC,cAAgBtjB,EAAU9C,OAGlCjc,EAAMsiC,WACR,IACAtiC,EAAM4E,MAAQ,CACZ29B,QAAS,cACTC,gBAAiB,GACjBC,YAAY,EACZ33B,OAAQmR,EAAMnR,OAASmR,EAAMnR,OAAOlF,MAAK,SAAUC,EAAGC,GACpD,OAAOD,EAAEyP,MAAQxP,EAAEwP,OAAYzP,EAAEyP,QAAUxP,EAAEwP,OAAQzP,EAAEyP,MAAQxP,EAAEwP,MAAtC,GAAwD,CACrF,IAAK,IAEAtV,CACT,CAEA,OADA,QAAUu/B,EAAY7jB,IACf,OAAa6jB,EAAY,CAAC,CAC/B7hC,IAAK,YACLC,MAAO,SAAmB+iB,GACxB,IAAIgiB,EAAyBrnC,KAAK8lC,oBAAoBzgB,GACpDkgB,EAAO8B,EAAuB9B,KAC9BX,EAAOyC,EAAuBzC,KAChC,OAAoB,gBAAoB,MAAO,CAC7C9hB,QAASuC,EAAIrT,OACbiQ,MAAO,CACLuH,UAAW,UAEC,gBAAoB,MAAO,CACzCvH,MAAOsjB,IACQ,gBAAoB,MAAO,CAC1CtjB,MAAO2iB,GACO,gBAAoB,MAAO,CACzC3iB,MAAOsjB,IACLvlC,KAAK4gB,MAAMwjB,QAAQa,SAAS4B,UAAyB,gBAAoB,KAAM,KAAMxhB,EAAIpL,OAAS,MACxG,GACC,CACD5X,IAAK,aACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACTi0B,EAAO,GACPqT,EAAa,OACbtnC,KAAK4gB,MAAMwjB,SAAWpkC,KAAK4gB,MAAMwjB,QAAQkD,aAC3CA,EAAatnC,KAAK4gB,MAAMwjB,QAAQkD,YAElC,IAAIC,EAAa,CACfC,UAAW,OACXC,cAAe,MACfC,aAAc,QAEZjC,EAAgB,CAClBzf,MAAO,SAE8B,IAAnChmB,KAAK4gB,MAAMwjB,QAAQuD,cACrBJ,EAAWpU,OAAS,QACpBsS,EAActS,OAAS,SAEzB,IAAIyU,EAAa,CACf5hB,MAAOshB,GAET,GAAItnC,KAAK4gB,MAAMqT,KAAKtyB,OAAS,EAC3B,GAAyB,MAArB3B,KAAKuJ,MAAMkG,QAAkBzP,KAAKuJ,MAAMkG,OAAO9N,OAAS,EA2D1D,IA1DA,IAoDEkmC,EApDEC,EAAQ,WAER,IAAIx4B,GADJu4B,EAAcvV,EAAO/oB,MAAMkG,OAAO6b,IACR1kB,GAM1B,IALAmhC,EAAW,CACT3H,OAAQ,YAED1M,UAAY,MACrBqU,EAASzC,WAAa,4CAClBuC,EAAYxkB,KAAM,CACpB,IAAIqiB,EAAsB,EAC1BpT,EAAO1R,MAAMqT,KAAKnW,KAAI,SAAUqoB,GAC9B,IAAI9B,EAAY,KAAO/R,EAAO1R,MAAMwjB,QAAQC,WAAWv5B,OACnDw5B,EAAa,KAAOhS,EAAO1R,MAAMwjB,QAAQE,YAAYx5B,OACrDjB,EAAY,KAAOs8B,EAAIt8B,WAAWiB,OAClCjB,EAAY,IACdA,EAAY,GAEd,IAAImS,EAAU,KAAOmqB,EAAInqB,SAASlR,OAC9BkR,EAAU,IACZA,EAAU,IAEKnS,GAAaw6B,GAAax6B,GAAay6B,GAActoB,GAAWqoB,GAAaroB,GAAWsoB,GACnFz6B,GAAaw6B,GAAaroB,GAAWsoB,IACpB6B,EAAIlN,OAAS4O,EAAYjhC,KAC9D8+B,GAAuB,EAE3B,IACAqC,EAASxe,OAAS,GAAGjqB,OAAO,IAAMomC,EAAsB,GAAI,KAC9D,MACEqC,EAASxe,OAAS,QAEpB,IAAIye,GAAiB,EACrB1V,EAAO1R,MAAMqT,KAAKnW,KAAI,SAAUuH,EAAKpB,GAC/B4jB,EAAYjhC,IAAMye,EAAI4T,OACpB5T,EAAIrJ,SAAWsW,EAAO1R,MAAMwjB,QAAQC,WAAahf,EAAIxb,WAAayoB,EAAO1R,MAAMwjB,QAAQE,aACzF0D,GAAiB,EAGvB,IACIA,IACF3iB,EAAmB,gBAAoB,KAAM,CAC3ChjB,IAAKiN,EAAUu4B,EAAY5tB,MAC3BgI,MAAO8lB,EACPhmB,UAAW,4BAC8B,GAAxCuQ,EAAO1R,MAAMwjB,QAAQ6D,gBAAwC,gBAAoB,KAAM,CACxFhmB,MAAOslB,GACO,gBAAoB,MAAO,CACzCtlB,MAAO2lB,GACNC,EAAY5tB,QAAU,KAAMqY,EAAO4V,mBAAmB5V,EAAO1R,MAAMqT,KAAM4T,EAAavc,IACzF2I,EAAK1yB,KAAK8jB,GAEd,EAOOiG,EAAI,EAAGA,EAAItrB,KAAKuJ,MAAMkG,OAAO9N,OAAQ2pB,IAC5Cwc,SAKF,IAASxc,EAAI,EAAGA,EAAItrB,KAAK4gB,MAAMqT,KAAKtyB,OAAQ2pB,IAAK,CAC/C,IAAIyc,EAAW,CACb3H,OAAQ,WAEN+H,EAAYnoC,KAAK4gB,MAAMqT,KAAK3I,GAC5BjG,EAAmB,gBAAoB,KAAM,CAC/ChjB,IAAKipB,EACLrJ,MAAO8lB,EACPjlB,QAASqlB,EAAUn2B,QACoB,GAAtChS,KAAK4gB,MAAMwjB,QAAQ6D,gBAAwC,gBAAoB,KAAM,CACtFhmB,MAAOslB,GACO,gBAAoB,MAAO,CACzCtlB,MAAO2lB,GACNO,EAAUluB,QAAU,KAAmB,gBAAoB,KAAM,CAClEgI,MAAOwjB,GACNzlC,KAAKooC,UAAUD,KAClBlU,EAAK1yB,KAAK8jB,EACZ,KAEG,CACDA,EAAmB,gBAAoB,KAAM,CAC/ChjB,IAAK,GACkC,GAAtCrC,KAAK4gB,MAAMwjB,QAAQ6D,gBAAwC,gBAAoB,KAAM,CACtFhmB,MAAOslB,GACO,gBAAoB,MAAO,CACzCtlB,MAAO2lB,KACH,KAAmB,gBAAoB,KAAM,CACjD3lB,MAAOwjB,GACO,gBAAoB,OAAQ,KAAwC,MAAlCzlC,KAAK4gB,MAAMwjB,QAAQ/R,YAAsBryB,KAAK4gB,MAAMwjB,QAAQ/R,YAAc,aAC5H4B,EAAK1yB,KAAK8jB,EACZ,CACA,OAAO4O,CACT,GACC,CACD5xB,IAAK,YACLC,MAAO,WACL,IAAI+hC,EAAYrkC,KAAK4gB,MAAMwjB,QAAQC,UAC/BC,EAAatkC,KAAK4gB,MAAMwjB,QAAQE,WAChCvT,EAAU,EACVF,EAAQ,EACRwX,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAQ,KAAOlE,GAAYmE,KAAK,KAAOpE,GAAY,SACvD,GAAImE,EAAQ,EAEV,IADID,EAAS,KAAOjE,GAAYmE,KAAK,KAAOpE,GAAY,WAC3C,EAEX,IADIgE,GAAQ,KAAO/D,GAAYx5B,OAAS,KAAOu5B,GAAWv5B,QAAU,GAAK,GAAK,IACnE,EAET,IADI+lB,EAAQ,KAAOyT,GAAYmE,KAAK,KAAOpE,GAAY,UAC3C,EAAG,CACTtT,EAAU,KAAOuT,GAAYmE,KAAK,KAAOpE,GAAY,WACzDrkC,KAAKojB,SAAS,CACZslB,MAAO1oC,KAAK2oC,eAAe5X,EAAS,YAExC,MACE/wB,KAAKojB,SAAS,CACZslB,MAAO1oC,KAAK2oC,eAAe9X,EAAO,gBAGjC,GAAIwX,EAAO,EAAG,CACfC,EAAQD,EAAO,EACnBroC,KAAKojB,SAAS,CACZslB,MAAO1oC,KAAK2oC,eAAeL,EAAO,WACjC,WAEH,GACF,MACEtoC,KAAKojB,SAAS,CACZslB,MAAO1oC,KAAK2oC,eAAeN,EAAM,UAChC,WAEH,SAGFroC,KAAKojB,SAAS,CACZslB,MAAO1oC,KAAK2oC,eAAeJ,EAAQ,iBAIvCvoC,KAAKojB,SAAS,CACZslB,MAAO1oC,KAAK2oC,eAAeH,EAAO,UAGxC,GACC,CACDnmC,IAAK,iBACLC,MAAO,SAAwBsmC,EAAOzgC,GACpC,IAAIi8B,EAAUpkC,KAAK4gB,MAAMwjB,QACrBD,EAAa,KAAOC,EAAQC,WAAWv5B,OAEvC49B,GADc,KAAOtE,EAAQE,YAAYx5B,OACjC,MASR+9B,EAAgB,EACP,OALXH,EAJ6B,GAA3BtE,EAAQ6D,gBAIFjjC,SAASqyB,cAAc,IAAI/3B,OAAOU,KAAKuJ,MAAM29B,QAAS,2BAEtDliC,SAASqyB,cAAc,IAAI/3B,OAAOU,KAAKuJ,MAAM29B,QAAS,8BAI9D2B,EAAgBH,EAAMI,aAExB,IAAIC,EAAe3C,KAAK4C,MAAMH,EAAgB,KAC1CI,EAAeJ,EAAgBD,EAC/BM,EAAmB,IACnB9E,EAAQ8E,mBACVA,EAAmB9E,EAAQ8E,kBAE7B,IAAIC,EAAmB,EACnBD,EAAmBD,IACrBE,EAAmB/C,KAAKC,MAAM6C,EAAmBD,IAEnD,IAAIG,EAAmBD,EAAmBF,IACtCF,EAAe3C,KAAKC,MAAMwC,EAAgBO,GAAoB,GAC/C,GAGRL,EAAe,KADxBA,EAAe,GAKjB,IACIM,EAAU,GACVpnB,EAAQ,CACVmZ,OAAQ,MACRlD,QAAS,MACTlS,MAAO,MACP,MAAS,OACT6e,WAAY,OACZyE,YAAa,MACbC,YAAa,OACb5G,WAAY,MACZ6G,cAAe,YACfC,SAAU,SACVC,WAAY,OACZjmB,MAAO,WAEuB,MAA5B2gB,EAAQuF,mBACV1nB,EAAM2nB,YAAcxF,EAAQuF,kBAE9B,IAAK,IAAIre,EAAI,EAAGA,EAAIyd,EAAczd,IAAK,CACrC,IACIue,EAAmBC,EADnBtd,EAAO,KAAoB,IAAb2X,GAEd4F,EAAc,OAClB,OAAQ5hC,GACN,IAAK,QACHqkB,EAAKhU,IAAI8S,EAAI6d,EAAkB,SAC/BU,EAAoBrd,EAAK/T,OAAO,cAChC,MACF,IAAK,SACH+T,EAAKhU,IAAI8S,EAAI6d,EAAkB,UAC/BU,EAAoBrd,EAAK/T,OAAO,cAChC,MACF,IAAK,QACH+T,EAAKhU,IAAI8S,EAAI6d,EAAkB,SAC/BU,EAAoBrd,EAAK/T,OAAO,cAChC,MACF,IAAK,OACH+T,EAAKhU,IAAI8S,EAAI6d,EAAkB,QAC/BU,EAAoBrd,EAAK/T,OAAO,cAChC,MACF,IAAK,QACH+T,EAAKhU,IAAI8S,EAAI6d,EAAkB,SAC/BU,EAAoBrd,EAAK/T,OAAO,QAClC,IAAK,UACH+T,EAAKhU,IAAI8S,EAAI6d,EAAkB,WAC/BU,EAAoBrd,EAAK/T,OAAO,WAGhC2rB,GAAWA,EAAQ4F,iBACrBH,EAAoBrd,EAAK/T,OAAO2rB,EAAQ4F,gBACxCF,EAAuBC,EAAYtxB,OAAO2rB,EAAQ4F,iBAEpD,IAAIC,EAAoB,gBAAoB,MAAO,CACjD5nC,IAAKipB,EACLrJ,MAAOA,GACO,gBAAoB,OAAQ,CAC1CF,UAAW+nB,GAAwBD,EAAoB,iBAAmB,MACzE,GAAGvqC,OAAOU,KAAK4gB,MAAMspB,gBAAiB,KAAK5qC,OAAOuqC,KACrDR,EAAQ9nC,KAAK0oC,EACf,CACA,OAAoB,gBAAoB,MAAO,KAAMZ,EACvD,GACC,CACDhnC,IAAK,SACLC,MAAO,WACL,IAAIw4B,EAAS96B,KAab,OAAoB,gBAAoB,MAAO,CAC7C4G,GAAI5G,KAAKuJ,MAAM29B,QACfjlB,MAAO,CACLqH,SAAU,aAEE,gBAAoB,QAAS,CAC3CrH,MAlBe,CACf+D,MAAO,OACPoD,SAAU,UAiBVrH,UAAW,kEACG,gBAAoB,QAAS,KAAmB,gBAAoB,KAAM,KAA4C,GAAtC/hB,KAAK4gB,MAAMwjB,QAAQ6D,gBAAwC,gBAAoB,KAAM,MAAQ,KAAmB,gBAAoB,KAAM,CACxOhmB,MAjBe,CACf+D,MAAO,OACPmkB,cAAe,QAgBdnqC,KAAKuJ,MAAMm/B,SAAuB,gBAAoB,QAAS,KAAM1oC,KAAKoqC,eAA6B,gBAAoB,MAAO,CACnIroB,UAAW,SACG,gBAAoB,MAAO,CACzCA,UAAW,SACI,gBAAoB,MAAO,CAC1CA,UAAW,SACI,gBAAoB,MAAO,CAC1CA,UAAW,SACI,gBAAoB,MAAO,CAC1CA,UAAW,UACK,gBAAoB,KAAgB,CACpDoF,SAAU,WACR2T,EAAOmM,WACT,IAEJ,IAEJ,CAlmB8B,CAkmB5B,EAAAhmB,WACFijB,GAAWmG,UAAY,CACrB56B,OAAQ,WACR20B,QAAS,YACTnQ,KAAM,YAERiQ,GAAWoG,aAAe,CACxB76B,OAAQ,CAAC,EACT20B,QAAS,CAAC,EACVnQ,KAAM,CAAC,GAOT,UAAe,SALf,SAAyB1qB,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,KAAM,KAAM,CAClDqvB,MAAM,GADR,CAEGrG,ICrnBH,SALmB,SAAsBngC,GACvC,IAAIymC,EAAazmC,EAAK6kC,MACpBA,OAAuB,IAAf4B,EAAwB,EAAIA,EACtC,OAAoB,gBAAoB,MAAO,KAbjD,SAAqB5B,GAEnB,IADA,IAAI6B,EAAQ,GACHnf,EAAI,EAAGA,EAAIsd,EAAOtd,IACzBmf,EAAMlpC,KAAmB,gBAAoB,GAAM,CACjDc,IAAKipB,EACLnjB,KAAM,eACQ,gBAAoBk2B,GAAc,MAAoB,gBAAoBF,GAAW,MAAoB,gBAAoBI,GAAiB,QAEhK,OAAoB,gBAAoBL,GAAgB,KAAMuM,EAChE,CAIuD5kB,CAAY+iB,GACnE,ECXA,SAAS,GAAW7nC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAI2pC,GAA0B,SAAUrqB,GACtC,SAASqqB,EAAW9pB,GAClB,IAAIjc,GACJ,OAAgB3E,KAAM0qC,GACtB/lC,EAAQ,GAAW3E,KAAM0qC,EAAY,CAAC9pB,KACtC,OAAgBjc,EAAO,qBAAqB,WACjB,MAArBA,EAAMic,MAAMpO,MACd7N,EAAMic,MAAMrO,wBAAwB5N,EAAMic,MAAMjQ,cAAc/J,IAAI1D,MAAK,WACrEyB,EAAMgmC,UAAUhmC,EAAMic,MAAMpO,MAC9B,IAC8B,MAArB7N,EAAMic,MAAMpO,QACrB7N,EAAMgmC,UAAUhmC,EAAMic,MAAMpO,OAC5B7N,EAAMic,MAAMrO,wBAAwB5N,EAAMic,MAAMjQ,cAAc/J,IAAI1D,MAAK,WACrEyB,EAAMgmC,UAAUhmC,EAAMic,MAAMpO,MAC9B,IAEJ,KACA,OAAgB7N,EAAO,aAAa,SAAU6N,GAC5C,IAAIyhB,EAAOtvB,EAAM4E,MAAM0qB,KACnBxkB,EAAS9K,EAAM4E,MAAMkG,OACzBwkB,EAAO,GACM,MAATzhB,GACFA,EAAMsL,KAAI,SAAUP,GAClB,IAAIqtB,EAAan7B,EAAO6G,MAAK,SAAUkvB,GACrC,OAAOA,EAAI5+B,IAAM2W,EAASrB,SAC5B,IACA,GAAIvX,EAAMic,MAAMiqB,SAAWttB,EAASrB,WAAahW,SAASvB,EAAMic,MAAMiqB,SACpE,OAAO,EAET,IAAKD,EAAY,CACf,IAAIE,EAAW,CACblkC,GAAI2W,EAASrB,UACbjC,MAAOsD,EAASiE,QAAQvH,MACxBoJ,MAAM,EACNuiB,gBAAgB,GAElBn2B,EAAOlO,KAAKupC,EACd,CACA,IAAIC,EAAS,CACX9wB,MAAOsD,EAAStD,MAChBrT,GAAI2W,EAAS3W,GACbi+B,WAAY,oBACZh7B,UAAW,KAAO0T,EAASytB,WAAWC,SACtC1G,WAAY,KAAOhnB,EAASytB,WAAWxyB,IAAI,IAAK,SAASyyB,SACzDjvB,QAAS,KAAOuB,EAAS2tB,SAASD,SAClChS,MAAO1b,EAASrB,UAChBqB,SAAUA,EACVvL,OAAQ,WACNrN,EAAMic,MAAMqW,QAAQ11B,KAAK,SAASjC,OAAOie,EAAS3W,IACpD,IAEEjC,EAAMic,MAAMuqB,iBAAsC,mBAAnB5tB,EAASzX,QAEF,GAA/BnB,EAAMic,MAAMuqB,kBADrBlX,EAAK1yB,KAAKwpC,EAId,IAEFpmC,EAAMye,SAAS,CACb3T,OAAQA,EACRwkB,KAAMA,IACL,WACD,OAAO,CACT,GACF,KACA,OAAgBtvB,EAAO,cAAc,SAAUymC,GAC7C,OAAoB,gBAAoB,IAAK,CAC3CrpB,UAAW,gBACG,gBAAoB,MAAO,CACzCK,MAAO,6BACPwhB,SAAU,WACV7hB,UAAWqpB,EAAO,OAAS,OAC3BnpB,MAAO,CACLsH,OAAQ,MACRvD,MAAO,SAEK,gBAAoB,OAAQ,CAC1Cpf,GAAI,UACJ,YAAa,UACbmb,UAAW,QACX/E,EAAG,kCAEP,KACA,OAAgBrY,EAAO,WAAW,SAAUG,GAC1CA,EAAM+d,iBACN,IAAIuhB,EAAUz/B,EAAM4E,MAAM66B,QACtBiH,EAAa,OACjBjH,EAAQC,UAAYgH,EAAWC,QAAQ,QAAQL,SAC/C7G,EAAQE,WAAa+G,EAAW1e,MAAM,QAAQnU,IAAI,EAAG,SAASyyB,SAC9DxoC,aAAamW,WAAW,mBACxBnW,aAAamW,WAAW,oBACxBjU,EAAMye,SAAS,CACbghB,QAASA,GAEb,KACA,OAAgBz/B,EAAO,eAAe,SAAUG,GAC9CA,EAAM+d,iBACN,IAAIuhB,EAAUz/B,EAAM4E,MAAM66B,QACtBC,EAAY,KAAOD,EAAQC,WAAW/X,SAAS,IAAK,SAAS2e,UAE7D5G,EADe,OAASiH,QAAQ,QAAQhf,SAAS,KAAM,SAAS2e,UACL,GAA/BtmC,EAAMic,MAAMuqB,mBAC1C/G,EAAQC,UAAYA,EACpBD,EAAQE,WAAa,KAAOF,EAAQE,YAAYhY,SAAS,IAAK,SAAS2e,SACvE5yB,GAAmB,kBAAmB+rB,EAAQC,WAC9ChsB,GAAmB,mBAAoB+rB,EAAQE,YAC/C3/B,EAAMye,SAAS,CACbghB,QAASA,IAGf,KACA,OAAgBz/B,EAAO,cAAc,SAAUG,GAC7CA,EAAM+d,iBACN,IAAIuhB,EAAUz/B,EAAM4E,MAAM66B,QACtBE,EAAa,KAAOF,EAAQE,YAAY9rB,IAAI,IAAK,SAASyyB,UAE1D3G,EADgB,OAAS3X,MAAM,QAAQnU,IAAI,IAAK,SAASA,IAAI,KAAM,SAASyyB,UACf,GAA/BtmC,EAAMic,MAAMuqB,mBAC5C/G,EAAQC,UAAY,KAAOD,EAAQC,WAAW7rB,IAAI,IAAK,SAASyyB,SAChE7G,EAAQE,WAAaA,EACrBjsB,GAAmB,kBAAmB+rB,EAAQC,WAC9ChsB,GAAmB,mBAAoB+rB,EAAQE,YAC/C3/B,EAAMye,SAAS,CACbghB,QAASA,IAGf,IACA,IAAImH,EAAc,OACdC,EAAaD,EAAYD,QAAQ,QAAQL,SACzCQ,EAAcF,EAAY5e,MAAM,QAAQnU,IAAI,EAAG,SAASyyB,SAoC5D,OAnC4C,MAAxCvyB,GAAkB,qBACpB8yB,EAAa,KAAO9yB,GAAkB,oBAAoBuyB,UAEf,MAAzCvyB,GAAkB,sBACpB+yB,EAAc,KAAO/yB,GAAkB,qBAAqBuyB,UAE9DtmC,EAAM4E,MAAQ,CACZmiC,aAAa,EACbzX,KAAM,KACNxkB,OAAQ,GACR20B,QAAS,CACPkD,WAAY,MACZqC,iBAAkB,UAClBgC,wBAAyB,QACzB3B,eAAgB,IAChBrC,aAAa,EACbZ,YAAY,EACZD,cAAc,EACdzC,UAAWmH,EACXlH,WAAYmH,EACZpZ,YAAa,GACbuZ,kBAAmB,QACnBjH,iBAAkB,QAClBsD,iBAAiB,EACjBhD,SAAU,CACR1b,OAAQ,QACR4J,OAAQ,oBACR0T,WAAW,EACX3B,QAAQ,EACRhI,aAAc,MACd2O,YAAY,EACZjG,gBAAgB,KAIfjhC,CACT,CAEA,OADA,QAAU+lC,EAAYrqB,IACf,OAAaqqB,EAAY,CAAC,CAC/BroC,IAAK,mCACLC,MAAO,SAA0CohB,GACxB,MAAnBA,EAAUlR,MACZxS,KAAK2qC,UAAUjnB,EAAUlR,OAEzBxS,KAAKojB,SAAS,CACZ3T,OAAQ,GACRwkB,KAAM,OACL,WACD,OAAO,CACT,GAEJ,GACC,CACD5xB,IAAK,SACLC,MAAO,WACL,IAAIu3B,EAAc75B,KAAKuJ,MACrB0qB,EAAO4F,EAAY5F,KACnBxkB,EAASoqB,EAAYpqB,OACrB20B,EAAUvK,EAAYuK,QACpB5xB,EAAQxS,KAAK4gB,MAAMpO,MACvB,OAAoB,gBAAoB,MAAO,CAC7CuP,UAAW,UACXnb,GAAI,mBACJqb,MAAO,CACLmZ,OAAQ,EACRlD,QAAS,EACT/E,OAAQ,EACR8E,OAAQ,GACR3O,SAAU,aAEE,gBAAoB,MAAO,CACzCvH,UAAW,wBACG,gBAAoB,GAAc,KAAM/hB,KAAK4gB,MAAMuqB,iBAAmBnrC,KAAK4gB,MAAMkrB,SAAwB,gBAAoB,MAAO,CAClJ7pB,MAAO,CACL,MAAS,SAEG,gBAAoB,GAAAkI,KAAM,CACxC3Q,KAAM,UACS,gBAAoB,OAAQ,KAAMxZ,KAAK4gB,MAAM+N,UAAU,UAAmB,MAARsF,GAAgBA,EAAKtyB,OAAS,EAAiB,gBAAoB,KAAM,CAC1JijB,GAAI,SACJ7C,UAAW,YACV/hB,KAAK4gB,MAAM+N,UAAU,mBAAqB,IAAM,KAAmB,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC7I1M,MAAO,CACL,MAAS,UAEG,gBAAoB,GAAA2U,OAAQ,CAC1CzuB,KAAM,YACN8Z,MAAO,CACLsE,WAAY,EACZ4W,YAAa,SAEfra,QAAS9iB,KAAK+rC,aACb/rC,KAAKgsC,YAAW,GAAQ,KAAsB,gBAAoB,GAAApV,OAAQ,CAC3EzuB,KAAM,YACN8Z,MAAO,CACLsE,WAAY,EACZ4W,YAAa,SAEfra,QAAS9iB,KAAKisC,SACbjsC,KAAK4gB,MAAM+N,UAAU,UAAwB,gBAAoB,GAAAiI,OAAQ,CAC1EzuB,KAAM,YACN8Z,MAAO,CACLsE,WAAY,GAEdzD,QAAS9iB,KAAKksC,YACblsC,KAAKgsC,YAAW,GAAO,MAAuB,gBAAoB,MAAO,CAC1E/pB,MAAO,CACLvf,MAAO,YAEI,MAAT8P,GAAyB,MAARyhB,GAA+B,GAAfA,EAAKtyB,QAA+B,GAAhB6Q,EAAM7Q,OAA2B,gBAAoB,MAAO,CACrHsgB,MAAO,CACL+H,QAAS,OACTiT,eAAgB,SAChBhT,WAAY,SACZjE,MAAO,OACP2c,WAAY,MACZlf,MAAO,UACP6C,gBAAiB,QACjB4R,QAAS,OACT8M,UAAW,uBACX9H,aAAc,QAEfl9B,KAAK4gB,MAAM+N,UAAU,6BAAuC,MAARsF,GAAgBA,EAAKtyB,OAAS,EAAiB,gBAAoB,MAAO,CAC/HogB,UAAW,mBACa,MAAvB/hB,KAAK4gB,MAAMkY,SAAgC,gBAAoB,GAAY,CAC5EsL,QAASA,EACT30B,OAAQA,EACRwkB,KAAMA,EACN6E,SAAU94B,KAAK4gB,MAAMkY,SACrBoR,gBAAiB,MACD,gBAAoBiC,GAAc,CAClDvD,MAAO,KACU,gBAAoBuD,GAAc,CACnDvD,MAAO,KAEX,IAEJ,CAzQ8B,CAyQ5B,EAAA3nB,WASF,UAAe,QAAW,SARJ,SAAyB1X,GAC7C,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1B6B,MAAOjJ,EAAMgU,SAAS/K,MACtBsmB,SAAUvvB,EAAMkG,OAAOA,OACvBkf,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACmD,CACjD3I,wBAAyBA,IADD,CAEvBm4B,KChSH,SAAS,GAAW3pC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAIqrC,GAAwB,SAAU/rB,GACpC,SAAS+rB,IACP,IAAIznC,GACJ,OAAgB3E,KAAMosC,GACtB,IAAK,IAAI9rB,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAMzB,OAJA9b,EAAQ,GAAW3E,KAAMosC,EAAU,GAAG9sC,OAAOihB,KAC7C,OAAgB5b,EAAO,6BAA6B,WAClDA,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,SACjD,IACOhqB,CACT,CAEA,OADA,QAAUynC,EAAU/rB,IACb,OAAa+rB,EAAU,CAAC,CAC7B/pC,IAAK,SACLC,MAAO,WACL,OAA2B,MAAvBtC,KAAK4gB,MAAMlQ,SACN,KAEW,gBAAoB,GAAY,CAClDy6B,iBAAiB,GAErB,IAEJ,CAzB4B,CAyB1B,EAAAlqB,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLmH,SAAUnH,EAAMqT,UAAUlM,SAC1Bie,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC9B,aAAcA,IADhB,CAEGgzB,IC/CI,IAAIC,GAAY,YACZC,GAAoB,oBACpBC,GAA4B,4BAC5BC,GAAkB,kBCHlBC,GAAiB,SAAwBC,GAClD,IASEA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,GADAA,EAAcA,EAAY/yB,QAAQ,QAAS,KACjBA,QAAQ,UAAW,KACnBA,QAAQ,QAAS,MACjBA,QAAQ,QAAS,MACjBA,QAAQ,YAAa,UACrBA,QAAQ,YAAa,UACrBA,QAAQ,YAAa,UACrBA,QAAQ,YAAa,UACrBA,QAAQ,WAAY,IAChD,CAAE,MAAO9U,GAET,CACA,OAAO6nC,CACT,EA2BWC,GAAW,SAAkB1e,EAAM2e,EAAM1e,GAClD,IAAIE,EACJ,OAAO,WACL,IAAInsB,EAAUjC,KACZugB,EAAO7e,UAKLysB,EAAUD,IAAcE,EAC5BC,aAAaD,GACbA,EAAUpoB,YANE,WACVooB,EAAU,KACLF,GAAWD,EAAKzsB,MAAMS,EAASse,EACtC,GAG4BqsB,GACxBze,GAASF,EAAKzsB,MAAMS,EAASse,EACnC,CACF,ECnDA,SAAS,GAAWxf,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAIlP,IAAI8rC,GAAuB,SAAUxsB,GACnC,SAASwsB,IAEP,OADA,OAAgB7sC,KAAM6sC,GACf,GAAW7sC,KAAM6sC,EAASnrC,UACnC,CAEA,OADA,QAAUmrC,EAASxsB,IACZ,OAAawsB,EAAS,CAAC,CAC5BxqC,IAAK,wBACLC,MAAO,SAA+BwqC,GACpC,OAAOA,EAAO7sC,OAAO,GAAGC,cAAgB4sC,EAAO3sC,MAAM,EACvD,GACC,CACDkC,IAAK,aACLC,MAAO,WAEL,OADA,aAAc,KAAAwe,sBACP9gB,KAAK+sC,sBAAsB,KAAO/sC,KAAK4gB,MAAMI,UAAUvI,OAAO,MACvE,GACC,CACDpW,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,OAAQ,CAC9Cyf,UAAW,OACXgiB,SAAU/jC,KAAK4gB,MAAMI,UACpBhhB,KAAKikC,aACV,IAEJ,CA1B2B,CA0BzB,EAAAhjB,WC5BF,SAAS,GAAQpgB,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAEtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAkBlP,IAAIisC,GAAuB,SAAU3sB,GACnC,SAAS2sB,EAAQpsB,GACf,IAAIjc,EAgiBJ,OA/hBA,OAAgB3E,KAAMgtC,GACtBroC,EAAQ,GAAW3E,KAAMgtC,EAAS,CAACpsB,KACnC,OAAgBjc,EAAO,qBAAkC,OAAgC,UAAyB,SAASX,IACzH,IAAIipC,EACJ,OAAO,UAAyB,SAAkB9oC,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAKH,OAJAopC,EAEM,MAFQtoC,EAAMic,MAAMjQ,cAAcu8B,QAAQ52B,MAAK,SAAUe,GAC7D,OAAOA,EAAOlP,MAAQkkC,EACxB,IACAloC,EAASN,KAAO,EACTc,EAAMic,MAAMusB,aACrB,KAAK,EACH,IAAKF,EAAa,CAChB9oC,EAASN,KAAO,EAChB,KACF,CAEA,OADAM,EAASN,KAAO,EACTc,EAAMic,MAAMwsB,iBACrB,KAAK,EACHzoC,EAAM0oC,UAAU1oC,EAAM4E,MAAM+jC,MACxB3oC,EAAMic,MAAM1U,MAAMvK,OAAS,GAAKsrC,GAClCtoC,EAAMic,MAAM3U,WAEhB,KAAK,EACL,IAAK,MACH,OAAO9H,EAASI,OAEtB,GAAGP,EACL,OACA,OAAgBW,EAAO,wBAAwB,WAC7C,IAAIsoC,EAEE,MAFYtoC,EAAMic,MAAMjQ,cAAcu8B,QAAQ52B,MAAK,SAAUe,GACjE,OAAOA,EAAOlP,MAAQkkC,EACxB,IACA1nC,EAAMic,MAAMusB,aACRF,GACFtoC,EAAMic,MAAMwsB,gBAEhB,KACA,OAAgBzoC,EAAO,cAAc,SAAU4oC,GAC7C,IAAIN,EAEE,MAFYtoC,EAAMic,MAAMjQ,cAAcu8B,QAAQ52B,MAAK,SAAUe,GACjE,OAAOA,EAAOlP,MAAQkkC,EACxB,IACImB,EAAY,SAAmBp8B,GACjC,GAAyB,MAArBzM,EAAMic,MAAM6sB,MAAe,CAE7B,IAAIC,EAAe,KAAOt8B,EAAIu8B,WAAWrhB,SAAS,EAAG,QACrD,GAAIlb,EAAIw8B,WAAa,OAASn3B,cAAc,KAAOrF,EAAIy8B,WAAY,QAAU,KAAOz8B,EAAIu8B,WAAWl3B,cAAc,OAAU,QAAU,OAASA,cAAci3B,EAAc,OACxK,OAAO,CAEX,CAIA,OAAiB,GAHL/oC,EAAM4E,MAAMwT,SAAS5R,WAAU,SAAU4R,GACnD,OAAOA,EAASnW,IAAMwK,EAAIxK,EAC5B,GAEF,EACA,OAAO,IAAI9D,SAAQ,SAAUC,GAC3B,IAAI+qC,EAAW,GACfP,EAAYzvB,KAAI,SAAUiwB,GACxB,GAAIA,EAAWj1B,MAAMnX,QAAU,GAAKosC,EAAWT,KAAOS,EAAWC,QAAS,CACxE,GAAuB,iBAAnBD,EAAW5lC,OAA4B8kC,EACzC,OAAOc,EAETA,EAAWC,QAAUD,EAAWT,KAChC,IAAIW,EAAU,KAEZA,EADyB,MAAvBtpC,EAAMic,MAAMiqB,QACJkD,EAAWG,UAAUvpC,EAAMic,MAAMjQ,cAAc/J,GAAIjC,EAAMic,MAAMiqB,QAASkD,EAAWT,KAAM3oC,EAAMwpC,SAAUxpC,EAAM4E,MAAM6kC,qBAErHL,EAAWG,UAAUvpC,EAAMic,MAAMjQ,cAAc/J,GAAImnC,EAAWT,KAAM3oC,EAAMwpC,SAAUxpC,EAAM4E,MAAM6kC,qBAE5GN,EAASvsC,KAAK0sC,EAChB,CACA,OAAOF,CACT,IACAjrC,QAAQurC,IAAIP,GAAU5qC,MAAK,WACzBqqC,EAAYzvB,KAAI,SAAUiwB,GACxB,IAAIh7B,EAAQpO,EAAMic,MAAM7N,MACpB7E,EAAiBvJ,EAAMic,MAAM1S,eAKjC,OAJ2B,MAAvBvJ,EAAMic,MAAMiqB,UACd93B,EAAQpO,EAAMic,MAAM5N,aACpB9E,EAAiBvJ,EAAMic,MAAMzS,uBAEvB4/B,EAAW5lC,MACjB,IAAK,OAMH,OALA4lC,EAAWj1B,MAAQ/F,EAAM+K,KAAI,SAAU1M,GACrC,OAAO,GAAc,GAAc,CAAC,EAAGA,GAAM,CAAC,EAAG,CAC/CjJ,KAAM,QAEV,IAAG/G,OAAOosC,GACHO,EAET,IAAK,gBAMH,OALAA,EAAWj1B,MAAQ5K,EAAe4P,KAAI,SAAU1M,GAC9C,OAAO,GAAc,GAAc,CAAC,EAAGA,GAAM,CAAC,EAAG,CAC/CjJ,KAAM,iBAEV,IAAG/G,OAAOosC,GACHO,EAGb,IACAhrC,EAAQwqC,EACV,GACF,GACF,KACA,OAAgB5oC,EAAO,kBAAkB,WACvC,IAAI2oC,EAAO5rC,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,EAC/E,OAAO,IAAIoB,QAAsB,WAC/B,IAAIs7B,GAAQ,OAAgC,UAAyB,SAAS16B,EAASX,GACrF,IAAIurC,EAAWb,EAAO1wB,EAAUgxB,EAAYjG,EAC5C,OAAO,UAAyB,SAAmByG,GACjD,cAAkBA,EAAU3qC,KAAO2qC,EAAU1qC,MAC3C,KAAK,EAQH,GANAyqC,EAAY,SAAmB9jC,EAAGC,GAChC,OAAO,KAAOA,EAAEojC,WAAW/iC,OAAS,KAAON,EAAEqjC,WAAW/iC,MAC1D,EACA2iC,EAAQ9oC,EAAMwpC,SAAWb,EACzBvwB,EAAW7P,KAAKyL,MAAMzL,KAAKC,UAAUxI,EAAM4E,MAAMwT,WAEtB,IAD3BgxB,EAAa,GAAGzuC,QAAO,OAAmBqF,EAAM4oC,YAAY,GAAGz0B,QAAQ,OAAmBnU,EAAM4oC,YAAY,GAAGz0B,QAAQvO,KAAK+jC,IAC3G3sC,OAAc,CAC7B4sC,EAAU1qC,KAAO,EACjB,KACF,CAEA,OADA0qC,EAAU1qC,KAAO,EACVc,EAAM6pC,WAAW7pC,EAAM4oC,aAChC,KAAK,EACH5oC,EAAM4oC,YAAcgB,EAAU92B,KAC9Bs2B,EAAa,GAAGzuC,QAAO,OAAmBqF,EAAM4oC,YAAY,GAAGz0B,QAAQ,OAAmBnU,EAAM4oC,YAAY,GAAGz0B,QAAQvO,KAAK+jC,GAC9H,KAAK,EACsB,MAArB3pC,EAAMic,MAAM6sB,QACdA,EAAQ9oC,EAAMic,MAAM6sB,OAEtB3F,EAAqB,UAAyB,SAASA,IACrD,IAAIvvB,EAAMk2B,EAAgBxqB,EAC1B,OAAO,UAAyB,SAAgBtgB,GAC9C,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EAEH,GAAc,OADd0U,EAAOw1B,EAAWW,SACG,CACnB/qC,EAAUE,KAAO,GACjB,KACF,CAKA,GAJAkZ,EAASxb,KAAKgX,GAIU,OAHxBk2B,EAAiB9pC,EAAM4oC,YAAYj3B,MAAK,SAAUlF,GAChD,OAAOA,EAAIjJ,MAAQoQ,EAAKpQ,IAC1B,KAC+B,CAC7BxE,EAAUE,KAAO,GACjB,KACF,CAYA,IAXAogB,EAAQwqB,EAAe31B,MAAM3N,WAAU,SAAUiG,GAC/C,OAAOA,EAAIxK,IAAM2R,EAAK3R,IAAMwK,EAAIjJ,MAAQoQ,EAAKpQ,IAC/C,MACa,GACXsmC,EAAe31B,MAAM4D,OAAOuH,EAAO,GAEpB,QAAb1L,EAAKpQ,KACPxD,EAAM4oC,YAAY,GAAKkB,EAEvB9pC,EAAM4oC,YAAY,GAAKkB,IAEnBA,EAAe31B,MAAMnX,QAAU,GAAI,CACvCgC,EAAUE,KAAO,GACjB,KACF,CAIA,OAFA4qC,EAAenB,MAAQ,EACvB3pC,EAAUE,KAAO,GACVc,EAAMye,SAAS,CACpBrG,SAAUA,IAEd,KAAK,GAEH,OADApZ,EAAUE,KAAO,GACVc,EAAM6pC,WAAW7pC,EAAM4oC,aAChC,KAAK,GACH5oC,EAAM4oC,YAAc5pC,EAAU8T,KAC9Bs2B,EAAa,GAAGzuC,QAAO,OAAmBqF,EAAM4oC,YAAY,GAAGz0B,QAAQ,OAAmBnU,EAAM4oC,YAAY,GAAGz0B,QAAQvO,KAAK+jC,GAC9H,KAAK,GACH3qC,EAAUE,KAAO,GACjB,MACF,KAAK,GACH,OAAOF,EAAUgsB,OAAO,SAAU,GACpC,KAAK,GACL,IAAK,MACH,OAAOhsB,EAAUY,OAEvB,GAAGujC,EACL,IACF,KAAK,GACH,KAAM/qB,EAASpb,OAAS8rC,GAAQ,CAC9Bc,EAAU1qC,KAAO,GACjB,KACF,CACA,OAAO0qC,EAAUI,cAAc7G,IAAS,KAAM,IAChD,KAAK,GACH,IAAKyG,EAAUK,GAAI,CACjBL,EAAU1qC,KAAO,GACjB,KACF,CACA,OAAO0qC,EAAU5e,OAAO,QAAS,IACnC,KAAK,GACH4e,EAAU1qC,KAAO,GACjB,MACF,KAAK,GAEH,OADA0qC,EAAU1qC,KAAO,GACVc,EAAMye,SAAS,CACpBrG,SAAUA,IAEd,KAAK,GACHha,EAAQ,GACV,KAAK,GACL,IAAK,MACH,OAAOwrC,EAAUhqC,OAEvB,GAAGb,EACL,KACA,OAAO,SAAUc,GACf,OAAO45B,EAAM58B,MAAMxB,KAAM0B,UAC3B,CACF,CAjHiC,GAkHnC,KACA,OAAgBiD,EAAO,YAA0B,WAC/C,IAAI25B,GAAQ,OAAgC,UAAyB,SAASuQ,EAASvB,GACrF,OAAO,UAAyB,SAAmBwB,GACjD,cAAkBA,EAAUlrC,KAAOkrC,EAAUjrC,MAC3C,KAAK,EAKH,OAJAc,EAAMye,SAAS,CACb2rB,WAAW,IAEbD,EAAUjrC,KAAO,EACVc,EAAMqqC,eAAe1B,GAC9B,KAAK,EACH3oC,EAAMye,SAAS,CACb2rB,WAAW,IAEf,KAAK,EACL,IAAK,MACH,OAAOD,EAAUvqC,OAEvB,GAAGsqC,EACL,KACA,OAAO,SAAUn3B,GACf,OAAO4mB,EAAM98B,MAAMxB,KAAM0B,UAC3B,CACF,CAvBiD,KAwBjD,OAAgBiD,EAAO,YAAyB,OAAgC,UAAyB,SAASsqC,IAChH,IAAI3B,EAAM4B,EACV,OAAO,UAAyB,SAAmBC,GACjD,cAAkBA,EAAUvrC,KAAOurC,EAAUtrC,MAC3C,KAAK,EAEH,GADAypC,EAAO3oC,EAAM4E,MAAM+jC,MACd3oC,EAAM4E,MAAMwlC,UAAW,CAC1BI,EAAUtrC,KAAO,EACjB,KACF,CACA,OAAOsrC,EAAUxf,OAAO,UAAU,GACpC,KAAK,EAMH,OALAuf,EAAU5B,EAAO,EACjB3oC,EAAMye,SAAS,CACb2rB,WAAW,IAEbI,EAAUtrC,KAAO,EACVc,EAAMqqC,eAAeE,GAC9B,KAAK,EACHvqC,EAAMye,SAAS,CACbkqB,KAAM4B,EACNH,WAAW,IAEf,KAAK,EACL,IAAK,MACH,OAAOI,EAAU5qC,OAEvB,GAAG0qC,EACL,OACA,OAAgBtqC,EAAO,2BAA2B,WAChDA,EAAM4oC,YAAc5oC,EAAM4oC,YAAYzvB,KAAI,SAAUiwB,GAIlD,OAHAA,EAAWT,KAAO,EAClBS,EAAWC,QAAU,EACrBD,EAAWj1B,MAAQ,GACZi1B,CACT,GACF,KACA,OAAgBppC,EAAO,iBAAiB,WACtC,IAAIoY,EAAWpY,EAAM4E,MAAMwT,SAC3B,OAAIA,EAASpb,OAAS,EACA,gBAAoBmjB,GAAc,CACpDE,KAAM,GACO,MAAZjI,EAAmBA,EAASe,KAAI,SAAU9Y,GAC3C,OAAOL,EAAMyqC,eAAepqC,EAC9B,IAAK,MAEHL,EAAM4E,MAAMwlC,UACP,KAEW,gBAAoB,KAAM,CAC5C9sB,MAAO,CACLulB,UAAW,WAEZ7iC,EAAMic,MAAM+N,UAAU,sBAC3B,KACA,OAAgBhqB,EAAO,iBAAiB,SAAUK,GAChD,IAAI0I,GAAS,EAMb,OALuC,MAAnC/I,EAAMic,MAAM7O,qBAAgF,MAAjDpN,EAAMic,MAAM7O,oBAAoBD,eAAyBnN,EAAMic,MAAM7O,oBAAoBD,cAAcnQ,OAAS,IAC7J+L,EAAS/I,EAAMic,MAAM7O,oBAAoBD,cAAc4oB,MAAK,SAAU2U,GACpE,OAAOA,EAAE9zB,eAAiBvW,EAASmD,MAAQknC,EAAE/zB,aAAetW,EAAS4B,IAAMyoC,EAAEnnC,WAAavD,EAAMic,MAAMjQ,cAAc/J,EACtH,KAEkB,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC3Fqb,MAAO,CACL,MAAS,OACT+H,QAAS,gBAEVtc,EAAsB,gBAAoB,MAAO,CAClDqU,UAAW,oBACG,gBAAoB,OAAQ,CAC1CA,UAAW,gBACP,KAAyB,MAAnB/c,EAASsqC,OAA2C,iBAAnBtqC,EAASsqC,OAAqBtqC,EAASsqC,OAAS,GAAGhwC,OAAoC,MAA7B0F,EAASsqC,OAAO7kB,UAAoBzlB,EAASsqC,OAAO7kB,UAAY,GAAI,KAAKnrB,OAAmC,MAA5B0F,EAASsqC,OAAO5kB,SAAmB1lB,EAASsqC,OAAO5kB,SAAW,IAAM,KAAmB,gBAAoB,MAAO,CACvSzI,MAAO,CACL,MAAS,UAEY,MAAtBjd,EAAS6oC,UAAiC,gBAAoB,GAAM,KAAM,SAAW7oC,EAAS6oC,WAAW/jC,SAAW,MAAO9E,EAAS4oC,WAAmC,MAAtB5oC,EAAS2oC,UAAiC,gBAAoB,MAAO,CACvN1rB,MAAO,CACL,MAAS,UAER,KAAMjd,EAAS4oC,WAAmC,MAAtB5oC,EAAS2oC,WAAqB,QAAY,KAAO3oC,EAAS2oC,WAA0B,gBAAoB,MAAO,CAC9I1rB,MAAO,CACL,MAAS,UAEG,gBAAoB,OAAQ,CAC1CA,MAAO,CACLwB,MAAO,MACPgmB,SAAU,QACVtM,YAAa,QAEdx4B,EAAMic,MAAM+N,UAAU,eAAiB,KAAmB,gBAAoB,MAAO,CACtF5M,UAAW,aAEf,KACA,OAAgBpd,EAAO,WAAW,SAAUK,GAC1C,GAAqB,QAAjBA,EAASmD,KAAgB,CAC3B,IAAIonC,EAAsB,GAO1B,OANuC,MAAnCvqC,EAASwqC,yBACXD,EAAsB9C,GAAeznC,EAASwqC,wBAAwB71B,QAAQ,gBAAiB,KACvEhY,OAAS,KAC/B4tC,EAAsBA,EAAoBpvC,MAAM,EAAG,KAAO,KAG1C,gBAAoB,MAAO,KAAmB,gBAAoB,KAAM,KAAM6E,EAASiV,OAAqB,gBAAoB,IAAK,CACvJgI,MAAO,CACLmH,SAAU,SACVqmB,aAAc,YAEhBrrB,wBAAyB,CACvBC,OAAQkrB,KAGd,CACE,GAAIvqC,EAAS0nC,YAAa,CACxB,IAAIgD,EAAuBjD,GAAeznC,EAAS0nC,aAAa/yB,QAAQ,gBAAiB,IAIzF,OAHI+1B,EAAqB/tC,OAAS,KAChC+tC,EAAuBA,EAAqBvvC,MAAM,EAAG,KAAO,KAE1C,gBAAoB,MAAO,KAAmB,gBAAoB,KAAM,KAAM6E,EAASiV,OAAqB,gBAAoB,IAAK,CACvJgI,MAAO,CACLmH,SAAU,SACVqmB,aAAc,YAEhBrrB,wBAAyB,CACvBC,OAAQqrB,KAGd,CACA,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,KAAM,KAAM1qC,EAASiV,OAE/G,KACA,OAAgBtV,EAAO,iBAAiB,SAAUK,GAChD,IAAIkH,EAAQvH,EAAMic,MAAM1U,MACxB,GAAIlH,EAAS2qC,iBAAmB3qC,EAAS2qC,gBAAgBhuC,OAAS,EAAG,CACnE,IAAI8N,EAAS,GAuBb,OAtBIvD,GAASA,EAAMvK,OAAS,GAC1BuK,EAAM4R,KAAI,SAAU8xB,GAIlB,QAAyB,IAHR5qC,EAAS2qC,gBAAgBr5B,MAAK,SAAUu5B,GACvD,OAAOA,EAAOC,QAAUF,EAAKhpC,EAC/B,IACsC,CACpC,IAAImpC,EAAUtgC,EAAOtE,WAAU,SAAUmgB,GACvC,OAAOA,EAAE9R,MAAQo2B,EAAK3W,KACxB,IACA,GAAI8W,GAAW,EACb,OAAOtgC,EAAOsgC,GAASnH,QAEvB,IAAI3P,EAAQ,CACVzf,KAAMo2B,EAAK3W,MACXxV,MAAOmsB,EAAKhJ,UACZgC,MAAO,GAET,OAAOn5B,EAAOlO,KAAK03B,EAEvB,CACF,IAEkB,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,KAAMt0B,EAAMic,MAAM+N,UAAU,UAAWlf,EAAO9N,OAAS,EAAiB,gBAAoB,MAAO,CAC9LogB,UAAW,0BACVtS,EAAOqO,KAAI,SAAUmb,GACtB,OAAoB,gBAAoB,MAAO,CAC7C52B,IAAK,QAAU42B,EAAMzf,KACrBuI,UAAW,eACXE,MAAO,CACLqE,gBAAiB2S,EAAMxV,QAExBwV,EAAMzf,KAAM,KAAMyf,EAAM2P,MAAO,IACpC,KAAM,KACR,CACE,OAAO,IAEX,KACA,OAAgBjkC,EAAO,kBAAkB,SAAUK,GACjD,IAAIgrC,EACJ,GAAyB,MAArBrrC,EAAMic,MAAM6sB,OAAiBzoC,EAAS4oC,WAAa,OAASn3B,cAAc,KAAOzR,EAAS6oC,WAAY,QAAU,KAAO7oC,EAAS2oC,WAAWl3B,cAAc,OAAU,QAAU,OAASA,cAAc,KAAOzR,EAAS2oC,WAAWrhB,SAAS,EAAG,QAAS,OACtP,OAAO,KAET,IAAI2jB,EAAa,KAAOjrC,EAASkrC,YAAYC,KAAK,IAAIC,OAAO,IAC7D,GAAyB,MAArBzrC,EAAMic,MAAM6sB,OAAwC,MAAvBzoC,EAASkrC,YAAsBD,EAAWxH,KAAK,QAAY,EAC1F,OAAO,KAET,IAAI9jB,EAAO,GAETA,EADmB,QAAjB3f,EAASmD,KACJ,UAAYnD,EAAS4B,GAErB,cAActH,OAAO0F,EAAS4B,IAEvC,IAAIyH,EAAO,KAMX,OALgC,MAA5BrJ,EAASqrC,iBAA2BrrC,EAASqrC,gBAAgB1uC,OAAS,IACxE0M,EAAOrJ,EAASqrC,gBAAgB/5B,MAAK,SAAUjI,GAC7C,OAAOA,EAAKlG,MAAQkG,EAAKlG,KAAKxJ,QAAQ,UAAY,CACpD,KAEkB,gBAAoB,GAAO,CAC7C0D,IAAK2C,EAAS4B,GACd2d,cAAe5f,EAAM4f,cAAcvf,GACnC0f,MAA0B,QAAlBsrB,EAAQ3hC,SAA4B,IAAV2hC,OAAmB,EAASA,EAAMv2B,IACpE+K,QAAS7f,EAAM6f,QAAQxf,GACvByf,cAAe9f,EAAM8f,cAAczf,GACnC2f,KAAMA,GAEV,KACA,OAAgBhgB,EAAO,yBAAsC,OAAgC,UAAyB,SAAS2rC,IAC7H,IAAIrD,EACJ,OAAO,UAAyB,SAAmBsD,GACjD,cAAkBA,EAAU3sC,KAAO2sC,EAAU1sC,MAC3C,KAAK,EAUH,GATAc,EAAMye,UAAS,SAAU4K,GACvB,MAAO,CACLogB,qBAAsBpgB,EAAUogB,oBAChCrxB,SAAU,GAEd,MACAkwB,EAEM,MAFQtoC,EAAMic,MAAMjQ,cAAcu8B,QAAQ52B,MAAK,SAAUe,GAC7D,OAAOA,EAAOlP,MAAQkkC,EACxB,KACkB,CAChBkE,EAAU1sC,KAAO,EACjB,KACF,CAEA,OADA0sC,EAAU1sC,KAAO,EACVc,EAAMic,MAAMwsB,iBACrB,KAAK,EAEH,OADAmD,EAAU1sC,KAAO,EACVc,EAAMic,MAAMusB,aACrB,KAAK,EACHxoC,EAAM6rC,0BACN7rC,EAAM0oC,UAAU1oC,EAAM4E,MAAM+jC,MACxB3oC,EAAMic,MAAM1U,MAAMvK,OAAS,GAAKsrC,GAClCtoC,EAAMic,MAAM3U,WAEhB,KAAK,GACL,IAAK,MACH,OAAOskC,EAAUhsC,OAEvB,GAAG+rC,EACL,OACA,OAAgB3rC,EAAO,uBAAuB,WAC5C,KAAK,CACHsV,MAAOtV,EAAMic,MAAM+N,UAAU,iBAC7BjQ,KAAM/Z,EAAMic,MAAM+N,UAAU,6CAC5BE,kBAAkB,EAClBC,iBAAkBnqB,EAAMic,MAAM+N,UAAU,cACxCI,kBAAmBpqB,EAAMic,MAAM+N,UAAU,SACxCzrB,MAAK,SAAU8uB,GAChB,GAAoB,MAAhBA,EAAO1vB,OAAkE,MAAjDqC,EAAMic,MAAM7O,oBAAoBD,eAAyBnN,EAAMic,MAAM7O,oBAAoBD,cAAcnQ,OAAS,EAAG,CAC7I,IAAI8uC,EAAiC9rC,EAAMic,MAAM7O,oBAAoBD,cAAc1Q,QAAO,SAAUiuC,GAClG,OAA2B,QAAnBA,EAAE9zB,eAA8C,iBAAnB8zB,EAAE9zB,gBAAqC8zB,EAAEnnC,WAAavD,EAAMic,MAAMjQ,cAAc/J,EACvH,IACA,GAAsC,MAAlC6pC,EACF,OAAO,IAAI3tC,SAAQ,SAAUC,GAC3B4B,EAAMic,MAAM8vB,8BAA8BD,GAAgCvtC,MAAK,WAC7EH,EAAQ,GACJ4B,EAAM4E,MAAM6kC,qBACdzpC,EAAMye,SAAS,CACbrG,SAAU,KAGdpY,EAAMic,MAAM/O,uBAAuBlN,EAAMic,MAAMjQ,cAAc/J,GAC/D,GACF,GAEJ,CACF,GACF,IACAjC,EAAM4E,MAAQ,CACZwlC,WAAW,EACXzB,KAAM,EACNvwB,SAAU,GACVqxB,qBAAqB,GAEvBzpC,EAAM4oC,YAAc,CAAC,CACnBplC,KAAM,OACN2Q,MAAO,GACPk1B,QAAS,EACTV,KAAM,EACNY,UAAWvpC,EAAMic,MAAM+vB,wBACvBjjC,OAAQ/I,EAAM4E,MAAM6kC,qBACnB,CACDjmC,KAAM,gBACN2Q,MAAO,GACPk1B,QAAS,EACTV,KAAM,EACNY,UAAWvpC,EAAMic,MAAMgwB,iCACvBljC,OAAQ/I,EAAM4E,MAAM6kC,sBAED,MAAjBxtB,EAAMiqB,UACRlmC,EAAM4oC,YAAc5oC,EAAM4oC,YAAYzvB,KAAI,SAAUiwB,GAOlD,MANuB,QAAnBA,EAAW5lC,OACb4lC,EAAWG,UAAYvpC,EAAMic,MAAMiwB,iBAEd,iBAAnB9C,EAAW5lC,OACb4lC,EAAWG,UAAYvpC,EAAMic,MAAMkwB,0BAE9B/C,CACT,KAEFppC,EAAMwpC,SAAiC,IAAtBxpC,EAAMic,MAAM6sB,MAAc,EAAI,GACxC9oC,CACT,CAEA,OADA,QAAUqoC,EAAS3sB,IACZ,OAAa2sB,EAAS,CAAC,CAC5B3qC,IAAK,SACLC,MAAO,WACL,IAAIu3B,EAAc75B,KAAKuJ,MACrBwlC,EAAYlV,EAAYkV,UACxBhyB,EAAW8c,EAAY9c,SACrB0wB,EAAQztC,KAAK4gB,MAAM6sB,MACnBsD,EAAiB,GAYrB,OAXa,MAATtD,IACFztC,KAAK4gB,MAAM7N,MAAMnR,SAAQ,SAAU8E,GACjC,IAAIgnC,EAAe,KAAOhnC,EAAKinC,WAAWrhB,SAAS,EAAG,QAClD5lB,EAAKknC,WAAa,OAASn3B,cAAc,KAAO/P,EAAKmnC,WAAY,QAAU,KAAOnnC,EAAKinC,WAAWl3B,cAAc,OAAU,QAAU,OAASA,cAAci3B,EAAc,QAC3KqD,EAAexvC,KAAKmF,EAExB,IACAqqC,EAAexmC,MAAK,SAAUC,EAAGC,GAC/B,OAAO,KAAOD,EAAEmjC,WAAa,KAAOljC,EAAEkjC,UACxC,KAEkB,gBAAoB,MAAO,CAC7C5rB,UAAW,sBACVgvB,EAAepvC,OAAS,EAAiB,gBAAoB,MAAO,CACrEogB,UAAW,eACXE,MAAO,CACL+uB,aAAc,oBACd9W,aAAc,QACdiQ,cAAe,UAEH,gBAAoB,GAAc,KAAmB,gBAAoB,GAAAhgB,KAAM,CAC7F3Q,KAAM,SACS,gBAAoB,OAAQ,KAAMxZ,KAAK4gB,MAAM+N,UAAU,qBAAmC,gBAAoB,MAAO,CACpI1M,MAAO,CACLvf,MAAO,UAEPquC,EAAejzB,KAAI,SAAUpX,GAC/B,OAAoB,gBAAoB,KAAM,CAC5Cke,GAAI,UAAUtlB,OAAOoH,EAAKE,IAC1Bqb,MAAO,CACL+H,QAAS,eACTinB,eAAgB,OAChBxtB,MAAO,WAETphB,IAAKqE,EAAKE,IACI,gBAAoB,MAAO,CACzCmb,UAAW,kBACXE,MAAO,CACL+H,QAAS,eACToR,OAAQ,QAEI,gBAAoB,MAAO,CACzCrZ,UAAW,gBACXE,MAAO,CACLiW,QAAS,WAEG,gBAAoB,KAAM,KAAMxxB,EAAKuT,SACvD,KAAM,KAAe,MAATwzB,EAA6B,gBAAoB,GAAc,KAAmB,gBAAoB,GAAAtjB,KAAM,CACtH3Q,KAAM,SACS,gBAAoB,OAAQ,KAAMxZ,KAAK4gB,MAAM+N,UAAU,kBAAoB,KAAmB,gBAAoB,MAAO,CACxI5M,UAAW,2BACD,MAAT0rB,EAA6B,gBAAoB,MAAO,CACzD1rB,UAAW,yBACG,gBAAoB,GAAA6U,OAAQ,CAC1CzuB,KAAM,YACN2a,QAAS9iB,KAAKkxC,oBACd1f,SAA0D,MAAhDxxB,KAAK4gB,MAAM7O,oBAAoBD,eAAyB9R,KAAK4gB,MAAM7O,oBAAoBD,cAAcnQ,OAAS,GAAK3B,KAAK4gB,MAAM7O,oBAAoBD,cAAc4oB,MAAK,SAAU2U,GACvL,MAA0B,QAAnBA,EAAE9zB,eAA8C,iBAAnB8zB,EAAE9zB,aACxC,IAAG5Z,OAAS,IAA2D,MAAhD3B,KAAK4gB,MAAM7O,oBAAoBD,eAAgF,GAAvD9R,KAAK4gB,MAAM7O,oBAAoBD,cAAcnQ,QAAkC,GAAnBob,EAASpb,SACnJ3B,KAAK4gB,MAAM+N,UAAU,sBAAwB,KAAmB,gBAAoB,MAAO,CAC5F5M,UAAW,iBACV/hB,KAAK6kB,gBAAiBkqB,EAAyB,gBAAoB5C,GAAc,CAClFvD,MAAO,IACJ,MAAOmG,GAAsB,MAATtB,GAAiB1wB,EAASpb,OAAS,EAAiB,gBAAoB,EAAAwvC,SAAU,KAAMnxC,KAAKuJ,MAAMwT,SAASpb,OAAS3B,KAAKmuC,SAAW,GAAKnuC,KAAKuJ,MAAMwT,SAASpb,QAAU3B,KAAKmuC,SAAWnuC,KAAKuJ,MAAM+jC,KAAoB,gBAAoB,GAAA1W,OAAQ,CAC1Q3U,MAAO,CACLmZ,OAAQ,WACRpR,QAAS,SAEX7hB,KAAM,YACN2a,QAAS9iB,KAAK0uB,UACb1uB,KAAK4gB,MAAM+N,UAAU,cAAgB,MAAQ,KAAe,MAAT8e,GAAkBsB,EAG1B,KAHmD,gBAAoB,KAAM,CACzHnqB,GAAI,SACJ7C,UAAW,mBACV/hB,KAAK4gB,MAAM+N,UAAU,qBAA0C,gBAAoB,MAAO,CAC3F1M,MAAO,CACLvf,MAAO,WAGb,IAEJ,CA7nB2B,CA6nBzB,EAAAue,WAaF,UAAe,SAZf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1Bge,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrChN,eAAgB3E,EAAMuT,UAAU5O,eAChC6E,MAAOxJ,EAAMwJ,MAAMA,MACnBhB,oBAAqBxI,EAAM8V,cAActN,oBACzC5D,sBAAuB5E,EAAMuT,UAAU3O,sBACvC6E,aAAczJ,EAAMwJ,MAAMC,aAC1B9G,MAAO3C,EAAMsT,KAAK3Q,MAEtB,GACwC,CACtCykC,wBxFpqBmC,SAAiCzoC,EAAWolC,EAAMxiB,EAAMpd,GAC3F,MAAO,CACLvF,KAAMuK,GACNtK,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,gBAAgB5I,OAAOguC,EAAM,UAAUhuC,OAAOwrB,GAAMxrB,OAAOoO,EAAS,yBAA2B,KAAKxK,MAAK,SAAUe,GACpKlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EwF4pBE8qC,gBxF3pB2B,SAAyB3oC,EAAWgU,EAAWoxB,EAAMxiB,GAChF,MAAO,CACL3iB,KAAMwK,GACNvK,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,gBAAgB5I,OAAOguC,EAAM,UAAUhuC,OAAOwrB,EAAM,eAAexrB,OAAO4c,IAAYhZ,MAAK,SAAUe,GACtJlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EwFmpBE6qC,iCpGrqB4C,SAA0C1oC,EAAWolC,EAAMxiB,EAAMpd,GAC7G,MAAO,CACLvF,KAAMyF,GACNxF,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,yBAAyB5I,OAAOguC,EAAM,UAAUhuC,OAAOwrB,GAAMxrB,OAAOoO,EAAS,yBAA2B,KAAKxK,MAAK,SAAUe,GAC7KlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EoG6pBE+qC,yBpG5pBoC,SAAkC5oC,EAAWgU,EAAWoxB,EAAMxiB,GAClG,MAAO,CACL3iB,KAAM6F,GACN5F,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,yBAAyB5I,OAAOguC,EAAM,UAAUhuC,OAAOwrB,EAAM,eAAexrB,OAAO4c,IAAYhZ,MAAK,SAAUe,GAC/JlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EoGopBEkG,SAAUA,GACV4F,uBAAwBA,GACxB6+B,8B5F5oByC,SAAuCU,GAChF,MAAO,CACLjpC,KAjCyC,kCAkCzCC,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAI0D,IAAI,gBAAiB2qC,GAAYluC,MAAK,SAAUe,GAClDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,E4FooBEqnC,eAAgB,GAChBD,WAAY,IATd,CAUGH,IC5qBH,SAAS,GAAWjsC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAIswC,GAAwB,SAAUhxB,GACpC,SAASgxB,IACP,IAAI1sC,GACJ,OAAgB3E,KAAMqxC,GACtB,IAAK,IAAI/wB,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAMzB,OAJA9b,EAAQ,GAAW3E,KAAMqxC,EAAU,GAAG/xC,OAAOihB,KAC7C,OAAgB5b,EAAO,6BAA6B,WAClDA,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,SACjD,IACOhqB,CACT,CAEA,OADA,QAAU0sC,EAAUhxB,IACb,OAAagxB,EAAU,CAAC,CAC7BhvC,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,QACa,MAAvB/hB,KAAK4gB,MAAMlQ,SAAgC,gBAAoB,GAAS,MAAQ,KACrF,IAEJ,CAtB4B,CAsB1B,EAAAuQ,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLmH,SAAUnH,EAAMqT,UAAUlM,SAC1Bie,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC9B,aAAcA,IADhB,CAEGi4B,ICvCH,SAAS,GAAWtwC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAIlP,IAAI,GAAuB,SAAUsf,GACnC,SAASwsB,IAEP,OADA,OAAgB7sC,KAAM6sC,GACf,GAAW7sC,KAAM6sC,EAASnrC,UACnC,CAEA,OADA,QAAUmrC,EAASxsB,IACZ,OAAawsB,EAAS,CAAC,CAC5BxqC,IAAK,OACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7CsE,GAAI,UACJwb,MAAO,6BACPuhB,WAAY,+BACZthB,EAAG,MACHC,EAAG,MACHshB,SAAU,WACVrhB,QAAS,aACK,gBAAoB,QAAS,CAC3Cpa,KAAM,YACL,iGAA+G,gBAAoB,IAAK,KAAmB,gBAAoB,SAAU,CAC1L4Z,UAAW,MACX8hB,GAAI,IACJC,GAAI,MACJhjC,EAAG,QACY,gBAAoB,OAAQ,CAC3CihB,UAAW,MACXS,GAAI,IACJC,GAAI,MACJC,GAAI,IACJC,GAAI,QACW,gBAAoB,OAAQ,CAC3CZ,UAAW,MACXS,GAAI,IACJC,GAAI,MACJC,GAAI,IACJC,GAAI,QACW,gBAAoB,OAAQ,CAC3CZ,UAAW,MACXS,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,QACW,gBAAoB,OAAQ,CAC3CZ,UAAW,MACXS,GAAI,IACJC,GAAI,MACJC,GAAI,MACJC,GAAI,QACW,gBAAoB,OAAQ,CAC3CZ,UAAW,MACXS,GAAI,MACJC,GAAI,MACJC,GAAI,OACJC,GAAI,SAER,GACC,CACDtgB,IAAK,wBACLC,MAAO,SAA+BwqC,GACpC,OAAOA,EAAO7sC,OAAO,GAAGC,cAAgB4sC,EAAO3sC,MAAM,EACvD,GACC,CACDkC,IAAK,aACLC,MAAO,WAEL,OADA,aAAc,KAAAwe,sBACP9gB,KAAK+sC,sBAAsB,SAAW/sC,KAAK4gB,MAAMI,UAAUlX,QAAQyiB,UAC5E,GACC,CACDlqB,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,OAAQ,CAC9Cyf,UAAW,qBACXgiB,SAAU/jC,KAAK4gB,MAAMI,UACpBhhB,KAAKgkC,OAAQhkC,KAAKikC,aACvB,IAEJ,CA5E2B,CA4EzB,EAAAhjB,WChFF,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAKlP,IAAIuwC,GAAoB,SAAUjxB,GAChC,SAASixB,EAAK1wB,GACZ,IAAIjc,EAyCJ,OAxCA,OAAgB3E,KAAMsxC,GACtB3sC,EAAQ,GAAW3E,KAAMsxC,EAAM,CAAC1wB,KAChC,OAAgBjc,EAAO,kCAAkC,SAAU4sC,GACjE,GAAqB,MAAjBA,EAAuB,OAAO,KAClC,IAgBIvN,EAhBc,CAAC,CACjBp9B,GAAI,8BACJ6S,IAAK,uCACJ,CACD7S,GAAI,0BACJ6S,IAAK,oCACJ,CACD7S,GAAI,4BACJ6S,IAAK,sCACJ,CACD7S,GAAI,+BACJ6S,IAAK,wCACJ,CACD7S,GAAI,8BACJ6S,IAAK,wCAEgBnD,MAAK,SAAU0tB,GACpC,OAAOA,EAAKp9B,IAAM2qC,EAAc3qC,EAClC,IACA,OAAoB,gBAAoB,MAAO,CAC7Cqb,MAAO,CACL+H,QAAS,OACTmT,YAAa,WAED,gBAAoB,MAAO,CACzClb,MAAO,CACL+D,MAAO,OACPmX,YAAa,UAEfqU,IAAKxN,EAAKvqB,IACVg4B,IAAK,gBACU,gBAAoB,MAAO,KAAMF,EAAcjvC,OAClE,IACAqC,EAAM4E,MAAQ,CACZka,MAAO9e,EAAMic,MAAMod,eAAe,SAAWr5B,EAAMic,MAAM6C,MAAQ,IAE5D9e,CACT,CAEA,OADA,QAAU2sC,EAAMjxB,IACT,OAAaixB,EAAM,CAAC,CACzBjvC,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT8F,EAAS,GACb,GAAyB,MAArB9F,KAAK4gB,MAAM9a,OAAgB,CAC7B,IAAI4rC,EAAe1xC,KAAK4gB,MAAM9a,OAAO6rC,gBAAgBr7B,MAAK,SAAUnO,GAClE,OAAOA,EAAKvB,IAAM0rB,EAAO1R,MAAM5X,WAAWiB,cAC5C,IACoB,MAAhBynC,EACF5rC,EAAS4rC,EAAapvC,MAEkB,MAApCtC,KAAK4gB,MAAM5X,WAAW4oC,aACxB9rC,EAAS,QAGf,CACA,IAAI+rC,EAAsC,MAA/B7xC,KAAK4gB,MAAM5X,WAAWkB,OAAiBlK,KAAK4gB,MAAM5X,WAAWkB,MAAMvI,OAAS,EAAI3B,KAAK4gB,MAAM5X,WAAWkB,MAAM,GAAK,KACxH4nC,EAA8B,KACtB,MAARD,IACFC,EAA8B9xC,KAAK4gB,MAAM9a,OAAOisC,qBAAqBz7B,MAAK,SAAU07B,GAClF,OAAOA,EAAIprC,IAAMirC,EAAK/rC,MACxB,KAEF,IAAIc,EAAK5G,KAAK4gB,MAAM5X,WAAWpC,GACS,MAApC5G,KAAK4gB,MAAM5X,WAAW4oC,aACxBhrC,EAAK5G,KAAK4gB,MAAM5X,WAAW4oC,YAG7B,OAAoB,gBAAoB,GAAM,CAC5ChrC,GAAIA,EACJuB,KAAM,OACN9F,IAAKrC,KAAK4gB,MAAM5X,WAAWpC,GAC3B6c,MAAOzjB,KAAKuJ,MAAMka,OACJ,gBAAoB,MAAO,CACzC1B,UAAW,uBACqB,MAA/B+vB,EAAmD,gBAAoB,MAAO,CAC/E/vB,UAAW,aACV/hB,KAAKiyC,+BAA+BH,IAAgC,KAAmB,gBAAoB,MAAO,CACnH/vB,UAAW,aACVjc,GAA+C,MAAtC9F,KAAK4gB,MAAM5X,WAAWkpC,aAAoC,gBAAoB,MAAO,CAC/FnwB,UAAW,aACV,UAAe,KAAmB,gBAAoB,GAAS,KAAM/hB,KAAK4gB,MAAM5X,WAAWgB,UAAwB,gBAAoBq0B,GAAc,KAAMr+B,KAAK4gB,MAAM5X,WAAWmpC,cAA4B,gBAAoBhU,GAAW,KAAMn+B,KAAK4gB,MAAM5X,WAAWiR,OAAQja,KAAK4gB,MAAM5X,WAAWkH,QAAuB,gBAAoB,GAAqB,KAAMlQ,KAAK4gB,MAAM5X,WAAWkH,QAAQ4N,KAAI,SAAUD,GACzZ,IAAIa,EAAOb,EAAO5D,MAElB,OADAyE,EAAsB,MAAfb,EAAO8oB,KAAejoB,EAAO,IAAMb,EAAO8oB,KAAOjoB,EACpC,gBAAoB,GAAY,CAClDrc,IAAKwb,EAAOjX,GACZuf,QAASzH,EACT+E,MAAO5F,EAAO+oB,WAElB,KAAM,KACR,IAEJ,CAnGwB,CAmGtB,EAAA3lB,WCzGF,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAYlP,IAAIqxC,GAAuB,SAAU/xB,GACnC,SAAS+xB,EAAQxxB,GACf,IAAIjc,EAwNJ,OAvNA,OAAgB3E,KAAMoyC,GACtBztC,EAAQ,GAAW3E,KAAMoyC,EAAS,CAACxxB,KACnC,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAImpC,EAAW,GACf,GAAiC,MAA7BnpC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAASvJ,SAAsC,MAA3B5Q,EAAMic,MAAMjY,aAAyD,GAAlChE,EAAMic,MAAMjY,YAAYhH,QAAc,CAC9J,IAAI0wC,EAA2B1tC,EAAMic,MAAM3Y,8BAA8BtD,EAAMic,MAAMjQ,cAAc/J,IACnGknC,EAASvsC,KAAK8wC,EAChB,CACA,GAAiC,MAA7B1tC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAASxJ,YAAyC,MAA3B3Q,EAAMic,MAAMjY,aAAyD,GAAlChE,EAAMic,MAAMjY,YAAYhH,QAAc,CACjK,IAAI2wC,EAA0B3tC,EAAMic,MAAMlY,oBAAoB/D,EAAMic,MAAMjQ,cAAc/J,IACxFknC,EAASvsC,KAAK+wC,EAChB,CACAxvC,QAAQurC,IAAIP,GAAU5qC,MAAK,WACzByB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,iBAAiB,WACtC,OAAIA,EAAM4E,MAAMgnB,QACM,gBAAoB4b,GAAc,CACpDvD,MAAO,IAGS,gBAAoB,MAAO,KAAMjkC,EAAM4tC,gBAAiB5tC,EAAM6tC,gBAAiB7tC,EAAM8tC,iBAAkB9tC,EAAM+tC,kBACnI,KACA,OAAgB/tC,EAAO,iBAAiB,WACtC,IAAI8oC,EAAQ,MACa,MAArB9oC,EAAMic,MAAM6sB,OAAiB9oC,EAAMic,MAAM6sB,QAC3CA,EAAQ9oC,EAAMic,MAAM6sB,OAEtB,IAAIhkC,EAAO9E,EAAMic,MAAM9X,QAavB,OAZ2B,MAAvBnE,EAAMic,MAAMiqB,UACdphC,EAAOA,EAAKrI,QAAO,SAAUL,GAC3B,OAAOA,EAAEmb,WAAavX,EAAMic,MAAMiqB,OACpC,KAEsB,MAApBlmC,EAAMic,MAAMnO,OACdhJ,EAAOA,EAAKrI,QAAO,SAAUL,GAC3B,OAEM,MAFC4D,EAAMic,MAAMnO,KAAK6D,MAAK,SAAU0G,GACrC,OAAOA,EAAE1U,cAAgBvH,EAAE6F,EAC7B,GACF,KAEiB,GAAf6C,EAAK9H,OACA,KAEW,gBAAoB,GAAY,CAClD0hB,MAAM,EACNpJ,MAAOtV,EAAMic,MAAM+N,UAAU,YACf,gBAAoBuP,GAAgB,KAAMz0B,EAAKqU,KAAI,SAAU9U,EAAYib,GACvF,GAAIA,EAAQwpB,EACV,OAAoB,gBAAoB6D,GAAM,CAC5CjvC,KAAuB,GAAlB2G,EAAWpC,GAAWoC,EAAWpC,GAAKoC,EAAW4oC,WACtD5oC,WAAYA,EACZlD,OAAQnB,EAAMic,MAAM9a,QAG1B,KAA0B,MAArBnB,EAAMic,MAAM6sB,MAA6B,gBAAoB,OAAQ,CACxExrB,MAAO,CACL+D,MAAO,OACPwhB,UAAW,SACXxd,QAAS,UAEG,gBAAoB,KAAM,CACxC/H,MAAO,CACLwB,MAAO,OACPwtB,eAAgB,QAElBrsB,GAAI,gBACHjgB,EAAMic,MAAM+N,UAAU,cAAgB,KAC3C,KACA,OAAgBhqB,EAAO,iBAAiB,WACtC,IAAI8oC,EAAQ,MACa,MAArB9oC,EAAMic,MAAM6sB,OAAiB9oC,EAAMic,MAAM6sB,QAC3CA,EAAQ9oC,EAAMic,MAAM6sB,OAEtB,IAAIhkC,EAAO9E,EAAMic,MAAMhY,QAavB,OAZ2B,MAAvBjE,EAAMic,MAAMiqB,UACdphC,EAAOA,EAAKrI,QAAO,SAAUL,GAC3B,OAAOA,EAAEmb,WAAavX,EAAMic,MAAMiqB,OACpC,KAEsB,MAApBlmC,EAAMic,MAAMnO,OACdhJ,EAAOA,EAAKrI,QAAO,SAAUL,GAC3B,OAEM,MAFC4D,EAAMic,MAAMnO,KAAK6D,MAAK,SAAU0G,GACrC,OAAOA,EAAE1U,cAAgBvH,EAAE6F,EAC7B,GACF,KAEiB,GAAf6C,EAAK9H,OACA,KAEW,gBAAoB,GAAY,CAClD0hB,MAAM,EACNpJ,MAAOtV,EAAMic,MAAM+N,UAAU,wBACf,gBAAoBuP,GAAgB,KAAMz0B,EAAKqU,KAAI,SAAU9U,EAAYib,GACvF,GAAIA,EAAQwpB,EACV,OAAoB,gBAAoB6D,GAAM,CAC5CjvC,KAAuB,GAAlB2G,EAAWpC,GAAWoC,EAAWpC,GAAKoC,EAAW4oC,WACtD5oC,WAAYA,EACZlD,OAAQnB,EAAMic,MAAM9a,QAG1B,KAA0B,MAArBnB,EAAMic,MAAM6sB,MAA6B,gBAAoB,OAAQ,CACxExrB,MAAO,CACL+D,MAAO,OACPwhB,UAAW,SACXxd,QAAS,UAEG,gBAAoB,KAAM,CACxC/H,MAAO,CACLwB,MAAO,OACPwtB,eAAgB,QAElBrsB,GAAI,gBACHjgB,EAAMic,MAAM+N,UAAU,cAAgB,KAC3C,KACA,OAAgBhqB,EAAO,kBAAkB,WACvC,IAAI8oC,EAAQ,MACa,MAArB9oC,EAAMic,MAAM6sB,OAAiB9oC,EAAMic,MAAM6sB,QAC3CA,EAAQ9oC,EAAMic,MAAM6sB,OAEtB,IAAIhkC,EAAO9E,EAAMic,MAAM7X,SAavB,OAZ2B,MAAvBpE,EAAMic,MAAMiqB,UACdphC,EAAOA,EAAKrI,QAAO,SAAUL,GAC3B,OAAOA,EAAEmb,WAAavX,EAAMic,MAAMiqB,OACpC,KAEsB,MAApBlmC,EAAMic,MAAMnO,OACdhJ,EAAOA,EAAKrI,QAAO,SAAUL,GAC3B,OAEM,MAFC4D,EAAMic,MAAMnO,KAAK6D,MAAK,SAAU0G,GACrC,OAAOA,EAAE1U,cAAgBvH,EAAE6F,EAC7B,GACF,KAEiB,GAAf6C,EAAK9H,OACA,KAEW,gBAAoB,GAAY,CAClD0hB,MAAM,EACNpJ,MAAOtV,EAAMic,MAAM+N,UAAU,aACf,gBAAoBuP,GAAgB,KAAMz0B,EAAKqU,KAAI,SAAU9U,EAAYib,GACvF,GAAIA,EAAQwpB,EACV,OAAoB,gBAAoB6D,GAAM,CAC5CjvC,KAAuB,GAAlB2G,EAAWpC,GAAWoC,EAAWpC,GAAKoC,EAAW4oC,WACtD5oC,WAAYA,EACZlD,OAAQnB,EAAMic,MAAM9a,QAG1B,KAA0B,MAArBnB,EAAMic,MAAM6sB,MAA6B,gBAAoB,OAAQ,CACxExrB,MAAO,CACL+D,MAAO,OACPwhB,UAAW,SACXxd,QAAS,UAEG,gBAAoB,KAAM,CACxC/H,MAAO,CACLwB,MAAO,OACPwtB,eAAgB,QAElBrsB,GAAI,gBACHjgB,EAAMic,MAAM+N,UAAU,cAAgB,KAC3C,KACA,OAAgBhqB,EAAO,mBAAmB,WACxC,IAAI8oC,EAAQ,MACa,MAArB9oC,EAAMic,MAAM6sB,OAAiB9oC,EAAMic,MAAM6sB,QAC3CA,EAAQ9oC,EAAMic,MAAM6sB,OAEtB,IAAIhkC,EAAO9E,EAAMic,MAAM/X,UAavB,OAZ2B,MAAvBlE,EAAMic,MAAMiqB,UACdphC,EAAOA,EAAKrI,QAAO,SAAUL,GAC3B,OAAOA,EAAEmb,WAAavX,EAAMic,MAAMiqB,OACpC,KAEsB,MAApBlmC,EAAMic,MAAMnO,OACdhJ,EAAOA,EAAKrI,QAAO,SAAUL,GAC3B,OAEM,MAFC4D,EAAMic,MAAMnO,KAAK6D,MAAK,SAAU0G,GACrC,OAAOA,EAAE1U,cAAgBvH,EAAE6F,EAC7B,GACF,KAEiB,GAAf6C,EAAK9H,OACA,KAEW,gBAAoB,GAAY,CAClD0hB,MAAM,EACNpJ,MAAOtV,EAAMic,MAAM+N,UAAU,yBACf,gBAAoBuP,GAAgB,KAAMz0B,EAAKqU,KAAI,SAAU9U,EAAYib,GACvF,GAAIA,EAAQwpB,EACV,OAAoB,gBAAoB6D,GAAM,CAC5CjvC,KAAuB,GAAlB2G,EAAWpC,GAAWoC,EAAWpC,GAAKoC,EAAW4oC,WACtD5oC,WAAYA,EACZlD,OAAQnB,EAAMic,MAAM9a,QAG1B,KAA0B,MAArBnB,EAAMic,MAAM6sB,MAA6B,gBAAoB,OAAQ,CACxExrB,MAAO,CACL+D,MAAO,OACPwhB,UAAW,SACXxd,QAAS,UAEG,gBAAoB,KAAM,CACxC/H,MAAO,CACLwB,MAAO,OACPwtB,eAAgB,QAElBrsB,GAAI,gBACHjgB,EAAMic,MAAM+N,UAAU,cAAgB,KAC3C,IACAhqB,EAAM4E,MAAQ,CACZopC,MAAO,GACPzoC,MAAO,KACPqmB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUytC,EAAS/xB,IACZ,OAAa+xB,EAAS,CAAC,CAC5B/vC,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,UACXnb,GAAI,qBACJqb,MAAO,CACLmZ,OAAQ,EACRlD,QAAS,EACT/E,OAAQ,IAEI,gBAAoB,MAAO,CACzCpR,UAAW,YACV/hB,KAAK4gB,MAAMkrB,SAAwB,gBAAoB,GAAc,KAAmB,gBAAoB,GAAA3hB,KAAM,CACnH3Q,KAAM,gBACS,gBAAoB,OAAQ,KAAMxZ,KAAK4gB,MAAM+N,UAAU,yBAA8C,MAApB3uB,KAAK4gB,MAAM6sB,MAA6B,gBAAoB,KAAM,CAClK7oB,GAAI,eACJ7C,UAAW,YACV/hB,KAAK4gB,MAAM+N,UAAU,yBAA2B,MAAQ,KAAM3uB,KAAK6kB,iBACxE,IAEJ,CAlP2B,CAkPzB,EAAA5D,WAeF,UAAe,SAdO,SAAyB1X,GAC7C,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1BhI,YAAaY,EAAMZ,YAAYA,YAC/BuB,MAAOX,EAAMZ,YAAYA,YACzBG,QAASS,EAAMZ,YAAYG,QAC3BF,QAASW,EAAMZ,YAAYC,QAC3BG,SAAUQ,EAAMZ,YAAYI,SAC5BF,UAAWU,EAAMZ,YAAYE,UAC7B/C,OAAQyD,EAAMsT,KAAK/W,OACnBgzB,SAAUvvB,EAAMkG,OAAOA,OACvBkf,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtCjT,8BAA+BA,GAC/BS,oBAAqBA,IAFvB,CAGG0pC,ICjRH,SAAS,GAAWrxC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAI6xC,GAAwB,SAAUvyB,GACpC,SAASuyB,IACP,IAAIjuC,GACJ,OAAgB3E,KAAM4yC,GACtB,IAAK,IAAItyB,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAMzB,OAJA9b,EAAQ,GAAW3E,KAAM4yC,EAAU,GAAGtzC,OAAOihB,KAC7C,OAAgB5b,EAAO,6BAA6B,WAClDA,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,eACjD,IACOhqB,CACT,CAEA,OADA,QAAUiuC,EAAUvyB,IACb,OAAauyB,EAAU,CAAC,CAC7BvwC,IAAK,SACLC,MAAO,WACL,OAA2B,MAAvBtC,KAAK4gB,MAAMlQ,SACO,gBAAoB,MAAO,MAEV,MAAnC1Q,KAAK4gB,MAAMuR,MAAMlW,OAAO4uB,QACN,gBAAoB,MAAO,CAC7C9oB,UAAW,QACG,gBAAoB,GAAS,CAC3C8oB,QAAS7qC,KAAK4gB,MAAMuR,MAAMlW,OAAO4uB,WAGjB,gBAAoB,MAAO,CAC7C9oB,UAAW,QACG,gBAAoB,GAAS,MAC/C,IAEJ,CAhC4B,CAgC1B,EAAAd,WAOF,UAAe,SANO,SAAyB1X,GAC7C,MAAO,CACLmH,SAAUnH,EAAMqT,UAAUlM,SAC1Bie,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC9B,aAAcA,IADhB,CAEGw5B,ICrDI,IAwBIC,GAAc,WAIvB,MA3BgB,CAAC,CACfC,QAAS,mBACTtlB,MAAO,UACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,UACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,QACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,QACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,cACPxhB,KAAM,OAKyBsK,MAAK,SAAU+L,GAC9C,OAAOA,EAAErW,KAAK6uB,gBAAiB,KAAA/Z,qBAAoB+Z,aACrD,GAEF,EACWkY,GAAc,SAAqB/mC,EAAMmH,IAClD,KAAAwN,mBAAkB3U,GACH,MAAXmH,IACFA,EAAQnH,KAAOA,EACfkH,GAAsBC,GAE1B,EC9BA,SAAS,GAAWpS,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAIiyC,GAAuB,SAAU3yB,GACnC,SAAS2yB,IACP,IAAIruC,GACJ,OAAgB3E,KAAMgzC,GACtB,IAAK,IAAI1yB,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA6PzB,OA3PA9b,EAAQ,GAAW3E,KAAMgzC,EAAS,GAAG1zC,OAAOihB,KAC5C,OAAgB5b,EAAO,qBAAqB,WAAa,KACzD,OAAgBA,EAAO,gBAA8B,WACnD,IAAIZ,GAAO,OAAgC,UAAyB,SAASC,EAAQsB,GACnF,IAAI2e,EACJ,OAAO,UAAyB,SAAkB9f,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEH,OADAM,EAASN,KAAO,EACTc,EAAMic,MAAM1J,iBAAiB5R,GAAgB,OAAE,SAAUzE,GAAI,IACtE,KAAK,EACH,GAAIsD,EAASsT,KAAM,CACjBtT,EAASN,KAAO,EAChB,KACF,CAkBA,OAfAogB,EAAQtf,EAAMic,MAAMlQ,SAASvF,WAAU,SAAU8nC,GAC/C,OAAOA,EAAErsC,IAAMtB,EAAQsB,EACzB,MACa,GACXjC,EAAMic,MAAMlQ,SAASgM,OAAOuH,EAAO,GAIrC,KAAK,CACHhK,MAAOtV,EAAMic,MAAM+N,UAAU,oBAC7BjQ,KAAM/Z,EAAMic,MAAM+N,UAAU,6EAC5BI,kBAAmBpqB,EAAMic,MAAM+N,UAAU,QACxCzrB,MAAK,WACNyB,EAAMic,MAAMqW,QAAQ11B,KAAK,IAC3B,IACO4C,EAASwrB,OAAO,UACzB,KAAK,EAGH,OAFArqB,EAAUX,EAAMic,MAAMjQ,cACtBxM,EAASN,KAAO,GACTc,EAAMic,MAAMxJ,gBAAgB9R,EAAQ4nC,QAAQ,GAAGtmC,GAAItB,EAAQsB,IACpE,KAAK,GACHjC,EAAMic,MAAMqW,QAAQ11B,KAAK,iBACzBoD,EAAMic,MAAM/O,uBAAuBlN,EAAMic,MAAMjQ,cAAc/J,IAC/D,KAAK,GACL,IAAK,MACH,OAAOzC,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,GACf,OAAOT,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CA/CqD,KAgDrD,OAAgBiD,EAAO,eAA6B,WAClD,IAAIy5B,GAAQ,OAAgC,UAAyB,SAAS16B,EAAS2T,EAAQqU,GAC7F,OAAO,UAAyB,SAAmB/nB,GACjD,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EAEH,OADAF,EAAUE,KAAO,EACVc,EAAMic,MAAMxJ,gBAAgBC,EAAQqU,GAC7C,KAAK,EACH/mB,EAAMic,MAAMqW,QAAQ11B,KAAK,iBAC3B,KAAK,EACL,IAAK,MACH,OAAOoC,EAAUY,OAEvB,GAAGb,EACL,KACA,OAAO,SAAUgU,EAAKw7B,GACpB,OAAO9U,EAAM58B,MAAMxB,KAAM0B,UAC3B,CACF,CAlBoD,KAmBpD,OAAgBiD,EAAO,mBAAmB,SAAU4T,GAClD,GAAuC,MAAnC5T,EAAMic,MAAM7O,oBAA6B,CAC3C,GAAgB,kBAAZwG,EAAKkB,KAC8C,MAAjD9U,EAAMic,MAAM7O,oBAAoBzE,eAAyBpH,SAASvB,EAAMic,MAAM7O,oBAAoBzE,eAAiB,EACrH,OAAO3I,EAAMic,MAAM7O,oBAAoBzE,cAG3C,GAAgB,kBAAZiL,EAAKkB,KACuC,MAA1C9U,EAAMic,MAAM7O,oBAAoBohC,QAAkBjtC,SAASvB,EAAMic,MAAM7O,oBAAoBohC,QAAU,EACvG,OAAOxuC,EAAMic,MAAM7O,oBAAoBohC,OAKvC,IAAIC,EAAuBC,EAF/B,GAAgB,UAAZ96B,EAAKkB,IACP,GAA6C,MAAzC9U,EAAMic,MAAM7O,oBAAoBgB,OAAiB7M,SAASvB,EAAMic,MAAM7O,oBAAoBgB,OAAS,GAAuD,MAAlDpO,EAAMic,MAAM7O,oBAAoB7D,gBAA0BhI,SAASvB,EAAMic,MAAM7O,oBAAoB7D,gBAAkB,EAE/N,OAA4E,QAAnEklC,EAAwBzuC,EAAMic,MAAM7O,oBAAoBgB,aAA6C,IAA1BqgC,EAAmCA,EAAwB,IAAoF,QAA7EC,EAAyB1uC,EAAMic,MAAM7O,oBAAoB7D,sBAAuD,IAA3BmlC,EAAoCA,EAAyB,EAG9S,CACA,OAAO,IACT,KACA,OAAgB1uC,EAAO,aAAa,SAAUrC,GAC5C,OAAQA,GACN,IAAK,WACH,OAAOqC,EAAMic,MAAM+N,UAAU,QAE/B,IAAK,eACH,OAAOhqB,EAAMic,MAAM+N,UAAU,YAE/B,IAAK,YACH,OAAOhqB,EAAMic,MAAM+N,UAAU,SAE/B,IAAK,kBACH,OAAOhqB,EAAMic,MAAM+N,UAAU,eAE/B,IAAK,YACH,OAAOhqB,EAAMic,MAAM+N,UAAU,SAE/B,IAAK,eACH,OAAOhqB,EAAMic,MAAM+N,UAAU,YAE/B,IAAK,oBACH,OAAOhqB,EAAMic,MAAM+N,UAAU,UAE/B,IAAK,YACH,OAAOhqB,EAAMic,MAAM+N,UAAU,SAE/B,IAAK,eACH,OAAOhqB,EAAMic,MAAM+N,UAAU,0BAE/B,IAAK,cAYL,IAAK,cACH,OAAOhqB,EAAMic,MAAM+N,UAAU,WAV/B,IAAK,iBACH,OAAOhqB,EAAMic,MAAM+N,UAAU,cAE/B,IAAK,cACH,OAAOhqB,EAAMic,MAAM+N,UAAU,WAE/B,IAAK,aACH,OAAOhqB,EAAMic,MAAM+N,UAAU,UAK/B,IAAK,eACH,OAAOhqB,EAAMic,MAAM+N,UAAU,YAE/B,QACE,OAAOrsB,EAGb,KACA,OAAgBqC,EAAO,gBAAgB,SAAUrC,GAC/C,OAAQA,GACN,IAAK,YACH,OAAOqC,EAAMic,MAAM+N,UAAU,aAE/B,IAAK,SACH,OAAOhqB,EAAMic,MAAM+N,UAAU,UAE/B,IAAK,iBACH,OAAOhqB,EAAMic,MAAM+N,UAAU,kBAE/B,QACE,OAAOrsB,EAGb,KACA,OAAgBqC,EAAO,eAAe,WACpC,IAAIgqB,EAAYhqB,EAAMic,MAAM+N,UACxB2kB,EAAW,GA+Bf,OA9BAA,EAAS/xC,KAAK,CACZuhB,QAAS,WACP,OAAOne,EAAMic,MAAMqW,QAAQ11B,KAAK,WAClC,EACAi0B,UAAW,SAAmB1wB,GACf,SAAbA,EAAMzC,KAAiByC,EAAM+G,OAAO0nC,OACtC,EACA/lB,MAAoB,gBAAoB,MAAO,CAC7CgmB,SAAU,EACVvxB,MAAO,CACLgvB,eAAgB,OAChBxtB,MAAO,YAERkL,EAAU,uBAEf2kB,EAAS/xC,KAAK,CACZuhB,QAAS,WACP,OAAOne,EAAMic,MAAMqW,QAAQ11B,KAAK,UAClC,EACAi0B,UAAW,SAAmB1wB,GACf,SAAbA,EAAMzC,KAAiByC,EAAM+G,OAAO0nC,OACtC,EACA/lB,MAAoB,gBAAoB,MAAO,CAC7CgmB,SAAU,EACVvxB,MAAO,CACLgvB,eAAgB,OAChBxtB,MAAO,YAERkL,EAAU,eAER2kB,CACT,KACA,OAAgB3uC,EAAO,mBAAmB,WACxC,IAAI8uC,EAAe,GAuDnB,MDjRY,CAAC,CACfX,QAAS,mBACTtlB,MAAO,UACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,UACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,QACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,QACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,cACPxhB,KAAM,OCwMQpK,SAAQ,SAAU8xC,GAC5BD,EAAalyC,KAAK,CAChBi0B,UAAW,SAAmB1wB,GACf,SAAbA,EAAMzC,KAAiByC,EAAM+G,OAAO0nC,OACtC,EACAzwB,QAAS,WACP,OAAOiwB,GAAYW,EAAS1nC,KAAMrH,EAAMic,MAAMzN,QAChD,EACAqa,OAAO,KAAA1M,qBAAoB+Z,eAAiB6Y,EAAS1nC,KAAK6uB,cAA6B,gBAAoB,MAAO,CAChH5Y,MAAO,CACL0gB,WAAY,OACZ3Y,QAAS,OACTiT,eAAgB,kBAEJ,gBAAoB,OAAQ,CAC1CuW,SAAU,EACVvxB,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEA,gBAAoB,MAAO,CACzChI,MAAO,CACLsH,OAAQ,OACRvD,MAAO,OACP2tB,UAAW,QACXxW,YAAa,OACbD,aAAc,OAEhBuU,IAAKiC,EAASlmB,MACdgkB,IAAKkC,EAASZ,UACZ,IAAKY,EAASlmB,OAAqB,gBAAoB,GAAArD,KAAM,CAC/D3Q,KAAM,QACNyI,MAAO,CACLsE,WAAY,WAEG,gBAAoB,OAAQ,CAC7CitB,SAAU,EACVvxB,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEA,gBAAoB,MAAO,CACzChI,MAAO,CACLsH,OAAQ,OACRvD,MAAO,OACP2tB,UAAW,QACXxW,YAAa,OACbD,aAAc,OAEhBuU,IAAKiC,EAASlmB,MACdgkB,IAAKkC,EAASZ,UACZ,IAAKY,EAASlmB,QAEtB,IACOimB,CACT,IACO9uC,CACT,CAEA,OADA,QAAUquC,EAAS3yB,IACZ,OAAa2yB,EAAS,CAAC,CAC5B3wC,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT0hB,EAAc1hB,KAAK4gB,MACrBhJ,EAAe8J,EAAY9J,aAC3BjH,EAAgB+Q,EAAY/Q,cAC5Bge,EAAYjN,EAAYiN,UACxBxb,EAAUuO,EAAYvO,QACpBzC,EAAW,GACXw8B,EAAU,GACV0G,EAAa,GAEbN,EAAWtzC,KAAK6zC,cAChBJ,EAAezzC,KAAK8zC,kBACpBC,EAAwBlB,KACxBmB,GAA+B,EAsFnC,OArFIh0C,KAAK4gB,MAAMlQ,SAAS/O,OAAS,IACO,MAAlC3B,KAAK4gB,MAAM7O,qBAAyF,MAA1D/R,KAAK4gB,MAAM7O,oBAAoBkiC,yBAAmCj0C,KAAK4gB,MAAM7O,oBAAoBkiC,wBAAwBtyC,OAAS,IAC9KqyC,EAA+Bh0C,KAAK4gB,MAAM7O,oBAAoBkiC,wBAAwB39B,MAAK,SAAU+4B,GACnG,OAAOA,EAAEnnC,YAAcoqB,EAAO1R,MAAMjQ,cAAc/J,IAAMyoC,EAAEtS,eAAiB,CAC7E,MAAM,GAER/8B,KAAK4gB,MAAMlQ,SAAS9O,SAAQ,SAAU0D,GACpC,IAAIkoB,EAAQloB,EAAQmlB,UAAY,IAAMnlB,EAAQolB,SAC1CwpB,GAAc,EAGsB,MAApC5hB,EAAO1R,MAAM7O,qBAA2F,MAA5DugB,EAAO1R,MAAM7O,oBAAoBkiC,yBAAmC3hB,EAAO1R,MAAM7O,oBAAoBkiC,wBAAwBtyC,OAAS,IACpLuyC,EAAc5hB,EAAO1R,MAAM7O,oBAAoBkiC,wBAAwB39B,MAAK,SAAU+4B,GACpF,OAAOA,EAAEnnC,YAAc5C,EAAQsB,IAAMyoC,EAAEtS,eAAiB,CAC1D,MAAM,GAER,IAAI3S,EAAQ8pB,EAA2B,gBAAoB,OAAQ,CACjEnyB,UAAW,QACXE,MAAO,CACL+H,QAAS,cACTiT,eAAgB,SAChBD,UAAW,OACXE,aAAc,OACd5T,SAAU,SACV8R,OAAQ,oBACRpV,MAAO,OACPuD,OAAQ,UAEP,KAEHiE,EADEloB,EAAQsB,IAAM0rB,EAAO1R,MAAMtb,QAAQsB,GAChB,gBAAoB,OAAQ,CAC/C4sC,SAAU,EACVvxB,MAAO,CACL0gB,WAAY,SAEbnV,EAAO,IAAkB,gBAAoB,GAAArD,KAAM,CACpDlI,MAAO,CACLsE,WAAY,QAEd/M,KAAM,UACJ,KAEiB,gBAAoB,OAAQ,CAC/Cg6B,SAAU,EACVvxB,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEbuD,EAAO,IAAKpD,GAEjB1Z,EAASnP,KAAK,CACZisB,MAAOA,EACP1K,QAAS,WACP,OAAOwP,EAAO6hB,cAAc7uC,EAC9B,EACAkwB,UAAW,SAAmB1wB,GACf,SAAbA,EAAMzC,KAAiByC,EAAM+G,OAAO0nC,OACtC,GAEJ,KAEFvzC,KAAK4gB,MAAMtb,QAAQ4nC,QAAQtrC,SAAQ,SAAUyV,GAC3C,IAAI4C,EAAQ5C,EAAO4C,MACf5C,EAAOzQ,IAAMgR,IAEfqC,EAAqB,gBAAoB,OAAQ,KAAmB,gBAAoB,GAAAkQ,KAAM,CAC5F3Q,KAAM,UACJ,IAAKS,IAEXizB,EAAQ3rC,KAAK,CACXisB,MAAOvT,EACP6I,QAAS,WACP,OAAOwP,EAAO8hB,aAAa/8B,EAAOzQ,GAAI+J,EAAc/J,GACtD,GAEJ,IACwB,MAApB5G,KAAK4gB,MAAM9H,OACb9Y,KAAK4gB,MAAM9H,MAAMlX,SAAQ,SAAU2W,GACZ,MAAjBA,EAAK4d,UAAqC,IAAjB5d,EAAK4d,WACU,GAAtCyd,EAAWj1C,QAAQ4Z,EAAK4d,WAC1Byd,EAAWryC,KAAKgX,EAAK4d,SAG3B,IAEkB,gBAAoB,GAAAnX,KAAM,KAA0B,MAApBhf,KAAK4gB,MAAM9H,MAAgB9Y,KAAK4gB,MAAM9H,MAAMgF,KAAI,SAAUvF,EAAM0L,GAClH,OAAqB,MAAjB1L,EAAK4d,UAAqC,IAAjB5d,EAAK4d,UAGjB,YAAb5d,EAAKpQ,KAFA,KAKW,gBAAoB,GAAA6W,KAAKuO,KAAM,CACjDlrB,IAAK,QAAU4hB,EACfuJ,MAAO8E,EAAO+hB,UAAU97B,EAAKmG,MAC7B41B,KAAM,KACN1vB,GAAIrM,EAAKkB,IACTuqB,KAAmB,gBAAoB,GAAA7Z,KAAM,CAC3C3Q,KAAMjB,EAAKg8B,SAEbC,OAAO,EACPpqB,MAAOkI,EAAOmiB,gBAAgBl8B,GAC9BuK,QAAqB,KAAZvK,EAAKkB,IAAa,WACzB,OAAO6Y,EAAO1R,MAAM/O,uBAAuBygB,EAAO1R,MAAMjQ,cAAc/J,GACxE,EAAI,MAER,IAAK,KAAMgtC,EAAW91B,KAAI,SAAU42B,EAAUC,GAC5C,OAAoB,gBAAoB,GAAA31B,KAAK41B,QAAS,CACpDvyC,IAAK,UAAYsyC,EACjBnnB,MAAO8E,EAAOuiB,aAAaH,EAASh2B,OACnC4T,EAAO1R,MAAM9H,MAAMgF,KAAI,SAAUvF,EAAM0L,GACxC,GAAqB,MAAjB1L,EAAK4d,UAAoB5d,EAAK4d,UAAYue,EAC5C,OAAoB,gBAAoB,GAAA11B,KAAKuO,KAAM,CACjDlrB,IAAK,QAAU4hB,EACfuJ,MAAO8E,EAAO+hB,UAAU97B,EAAKmG,MAC7B41B,KAAM,KACN1vB,GAAIrM,EAAKkB,IACTuqB,KAAmB,gBAAoB,GAAA7Z,KAAM,CAC3C3Q,KAAMjB,EAAKg8B,SAEbC,OAAO,GAGb,IACF,IAAwB,MAApBx0C,KAAK4gB,MAAM9H,MAAgB9Y,KAAK4gB,MAAM9H,MAAMgF,KAAI,SAAUvF,EAAM0L,GAClE,GAAqB,MAAjB1L,EAAK4d,UAAqC,IAAjB5d,EAAK4d,SAChC,OAAO,KAET,GAAiB,YAAb5d,EAAKpQ,KACP,OAAO,KAET,IAAIqlB,EAAQjV,EAAKmG,KAIjB,OAHI8O,EAAM7uB,QAAQ,SAAW,IAC3B6uB,EAAQ8E,EAAO+hB,UAAU97B,EAAKmG,OAEZ,gBAAoB,GAAAM,KAAKuO,KAAM,CACjDlrB,IAAK,QAAU4hB,EACfuJ,MAAOA,EACP5I,GAAIrM,EAAKkB,IACTuqB,KAAmB,gBAAoB,GAAA7Z,KAAM,CAC3C3Q,KAAMjB,EAAKg8B,SAEb1oC,OAAQ,UAEZ,IAAK,KAAmB,gBAAoB,GAAAmT,KAAKuO,KAAM,CACrDC,MAAOmB,EAAU,eACjB/J,GAAI,4BACJof,KAAmB,gBAAoB,MAAO,CAC5C/hB,MAAO,CACL+D,MAAO,QAETwrB,IAAK,yBACLC,IAAK,iBAEP5lC,OAAQ,WACN7L,KAAK4gB,MAAMlQ,SAAS/O,OAAS,EAAiB,gBAAoB,MAAO,CAC3EogB,UAAW,mBACG,gBAAoB,GAAA/C,KAAKuO,KAAM,CAC7CimB,SAAU,EACVhe,UAAW,SAAmB1wB,GAC5B,MAAoB,SAAbA,EAAMzC,IAAiByC,EAAM+G,OAAO0nC,QAAU,IACvD,EACA/lB,MAAOxtB,KAAK4gB,MAAMjQ,cAAc8Z,UAAY,IAAMzqB,KAAK4gB,MAAMjQ,cAAc+Z,SAC3EsZ,KAAmB,gBAAoB,GAAA7Z,KAAM,CAC3C3Q,KAAM,WAERV,MAAOpI,EACP0Z,MAAO4pB,EAA+B,GAAK,QAC1B,gBAAoB,MAAO,CAC5CjyB,UAAW,kBACG,gBAAoB,GAAA/C,KAAKuO,KAAM,CAC7CC,MAAOxtB,KAAK4gB,MAAMjQ,cAAc8Z,UAAY,IAAMzqB,KAAK4gB,MAAMjQ,cAAc+Z,SAC3EsZ,KAAmB,gBAAoB,GAAA7Z,KAAM,CAC3C3Q,KAAM,cAEM,MAAXrG,EAA+B,gBAAoB,MAAO,CAC7D4O,UAAW,mBACG,gBAAoB,GAAA/C,KAAKuO,KAAM,CAC7CimB,SAAU,EACVhe,UAAW,SAAmB1wB,GAC5B,MAAoB,SAAbA,EAAMzC,IAAiByC,EAAM+G,OAAO0nC,QAAU,IACvD,EACA/lB,MAAOra,EAAQsX,WAAiC,MAApBtX,EAAQuX,SAAmB,IAAMvX,EAAQuX,SAAW,IAChFsZ,KAAmB,gBAAoB,MAAO,CAC5CjiB,UAAW,SACXyvB,IAAK,uBACLC,IAAK,WAEP34B,MAAOw6B,KACH,KAA+B,MAAzBS,EAA6C,gBAAoB,MAAO,CAClFhyB,UAAW,mBACG,gBAAoB,GAAA/C,KAAKuO,KAAM,CAC7CimB,SAAU,EACVhe,UAAW,SAAmB1wB,GAC5B,MAAoB,SAAbA,EAAMzC,IAAiByC,EAAM+G,OAAO0nC,QAAU,IACvD,EACA/lB,MAAOumB,EAAsBvmB,MAC7BwW,KAAmB,gBAAoB,MAAO,CAC5CjiB,UAAW,OACXyvB,IAAKuC,EAAsBjB,QAC3BrB,IAAKsC,EAAsBvmB,QAE7B1U,MAAO26B,KACH,KACR,IAEJ,CApe2B,CAoezB,EAAAxyB,WAeF,UAAe,QAAW,SAd1B,SAAyB1X,GACvB,MAAO,CACLlC,KAAMkC,EAAMsV,KAAKxX,KACjBsJ,cAAepH,EAAMsV,KAAKlO,cAC1BD,SAAUnH,EAAMqT,UAAUlM,SAC1BpL,QAASiE,EAAMsV,KAAKlO,cACpBiH,aAAcrO,EAAMsV,KAAKjH,aACzBnZ,SAAUuG,SAASvG,SAAS6a,SAC5BR,MAAOvP,EAAMyV,KAAKlG,MAClB3F,QAAS5J,EAAM4J,QAAQA,QACvBwb,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCnJ,oBAAqBxI,EAAM8V,cAActN,oBAE7C,GACmD,CACjDmF,iBAAkBA,GAClBrF,uBAAwBA,GACxBuF,gBAAiBA,GACjBhE,sBAAuBA,GACvBF,sBAAuBA,IALC,CAMvB8/B,KCvgBH,SAAS,GAAWjyC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAIke,GAAsB,SAAUoB,GAClC,SAASpB,IACP,IAAIta,GACJ,OAAgB3E,KAAMif,GACtB,IAAK,IAAIqB,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAOzB,OALA9b,EAAQ,GAAW3E,KAAMif,EAAQ,GAAG3f,OAAOihB,KAC3C,OAAgB5b,EAAO,UAAU,SAAUG,GACzCA,EAAM+d,iBACNle,EAAMic,MAAMqW,QAAQ6d,QACtB,IACOnwC,CACT,CAEA,OADA,QAAUsa,EAAQoB,IACX,OAAapB,EAAQ,CAAC,CAC3B5c,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC3Fyf,UAAW,gBACG,gBAAoB,MAAO,CACzCA,UAAW,WACV/hB,KAAK4gB,MAAMm0B,SAAS76B,WAA0B,gBAAoB,KAAM,CACzE0K,GAAI,IACJ9B,QAAS9iB,KAAK80C,OACd/yB,UAAW,kBACG,gBAAoB,IAAK,CACvCA,UAAW,gBACG,gBAAoB,MAAO,CACzCK,MAAO,6BACPH,MAAO,CACL+a,UAAW,iBAEbjb,UAAW,QACG,gBAAoB,OAAQ,CAC1Cnb,GAAI,UACJ,YAAa,UACbmb,UAAW,QACX/E,EAAG,oCACG,KAA0B,MAApBhd,KAAK4gB,MAAM3G,MAA6B,gBAAoB,MAAO,CAC/E8H,UAAW,aACX9H,MAAOja,KAAK4gB,MAAM3G,OACjBja,KAAK4gB,MAAM3G,OAAS,OACzB,IAEJ,CA7C0B,CA6CxB,EAAAgH,WAOF,UAAe,QAAW,SAN1B,SAAyB1X,GACvB,MAAO,CACL0Q,MAAO1Q,EAAM0V,OAAOhF,MACpB86B,SAAUxrC,EAAM0V,OAEpB,GAC0B,CAAyBA,KCzDnD,SAAS,GAAWle,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAIi0C,GAA4B,SAAU30B,GACxC,SAAS20B,IACP,IAAIrwC,GACJ,OAAgB3E,KAAMg1C,GACtB,IAAK,IAAI10B,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAsGzB,OApGA9b,EAAQ,GAAW3E,KAAMg1C,EAAc,GAAG11C,OAAOihB,KACjD,OAAgB5b,EAAO,WAAW,WAChC,MAAmC,KAA5BnG,OAAOC,SAAS6a,QACzB,KACA,OAAgB3U,EAAO,UAAU,SAAUG,GACzCA,EAAM+d,iBACNle,EAAMic,MAAMqW,QAAQ6d,QACtB,KACA,OAAgBnwC,EAAO,gBAAgB,WACrC,IAAI+L,EAAW/L,EAAMic,MAAMlQ,SACvBoI,EAAQ,GACZpI,EAAS9O,SAAQ,SAAU0D,GACzB,IAAI2vC,EAAc3vC,SAA0CA,EAAQmlB,WAAanlB,SAA0CA,EAAQolB,SAAW,GAAGprB,QAAQgG,aAAyC,EAASA,EAAQmlB,YAAc,GAAI,KAAKnrB,QAAQgG,aAAyC,EAASA,EAAQolB,WAAa,IAAI6X,OAASj9B,aAAyC,EAASA,EAAQ0lB,MAChY,GAAI1lB,EAAQsB,IAAMjC,EAAMic,MAAMjQ,cAAc/J,GAC1CquC,EAA2B,gBAAoB,OAAQ,CACrDlzB,UAAW,cACXE,MAAO,CACL0gB,WAAY,SAEbsS,EAAa,IAAkB,gBAAoB,GAAA9qB,KAAM,CAC1DlI,MAAO,CACLsE,WAAY,QAEd/M,KAAM,UACJ,SACC,CACL,IAAI06B,GAAc,EAGqB,MAAnCvvC,EAAMic,MAAM7O,qBAA0F,MAA3DpN,EAAMic,MAAM7O,oBAAoBkiC,yBAAmCtvC,EAAMic,MAAM7O,oBAAoBkiC,wBAAwBtyC,OAAS,IACjLuyC,EAAcvvC,EAAMic,MAAM7O,oBAAoBkiC,wBAAwB39B,MAAK,SAAU+4B,GACnF,OAAOA,EAAEnnC,YAAc5C,EAAQsB,IAAMyoC,EAAEtS,eAAiB,CAC1D,MAAM,GAERkY,EAA2B,gBAAoB,OAAQ,CACrDlzB,UAAW,cACXE,MAAO,CACL+H,QAAS,cACTC,WAAY,WAEA,gBAAoB,OAAQ,CAC1ChI,MAAO,CACLmZ,OAAQ,iBAET6Z,EAAa,KAAMf,EAA2B,gBAAoB,OAAQ,CAC3EnyB,UAAW,QACXE,MAAO,CACL+a,UAAW,OACXE,aAAc,OACd5T,SAAU,SACVtD,MAAO,OACPuD,OAAQ,UAEP,KACP,CACAzQ,EAAMvX,KAAK,CACTisB,MAAOynB,EACP3yC,MAAO,CACLgD,QAASA,IAGf,IACA,GAAA4vC,YAAYC,OAAO,CACjBr8B,MAAOA,IACN5V,MAAK,SAAUkyC,GAChBzwC,EAAc,OAAEywC,EAAU9vC,QAC5B,IAAG,WAGDJ,QAAQC,IAAI,oBACd,GACF,KACA,OAAgBR,EAAO,SAAuB,WAC5C,IAAIZ,GAAO,OAAgC,UAAyB,SAASC,EAAQsB,GACnF,OAAO,UAAyB,SAAkBnB,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEH,OADAM,EAASN,KAAO,EACTc,EAAMic,MAAM1J,iBAAiB5R,GACtC,KAAK,EACHX,EAAMic,MAAMqW,QAAQ11B,KAAK,iBACzBoD,EAAMic,MAAM/O,uBAAuBlN,EAAMic,MAAMjQ,cAAc/J,IAC/D,KAAK,EACL,IAAK,MACH,OAAOzC,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,GACf,OAAOT,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CAnB8C,KAoB9C,OAAgBiD,EAAO,gBAAgB,SAAUqN,EAAQiS,GACvD,OAAoB,gBAAoB,GAAAqJ,YAAYC,KAAM,CACxDlrB,IAAK4hB,EACLnB,QAAS9Q,EAAO8Q,SACA,MAAf9Q,EAAOgyB,KAA4B,gBAAoB,GAAA7Z,KAAM,CAC9D3Q,KAAMxH,EAAOgyB,OACV,KAAMhyB,EAAO1P,MACpB,IACOqC,CACT,CAEA,OADA,QAAUqwC,EAAc30B,IACjB,OAAa20B,EAAc,CAAC,CACjC3yC,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KAITg0C,GAH+F,GAAA7pB,MAGhE,GAC/BnqB,KAAK4gB,MAAMlQ,SAAS/O,OAAS,GACO,MAAlC3B,KAAK4gB,MAAM7O,qBAAyF,MAA1D/R,KAAK4gB,MAAM7O,oBAAoBkiC,yBAAmCj0C,KAAK4gB,MAAM7O,oBAAoBkiC,wBAAwBtyC,OAAS,IAC9KqyC,EAA+Bh0C,KAAK4gB,MAAM7O,oBAAoBkiC,wBAAwB39B,MAAK,SAAU+4B,GACnG,OAAOA,EAAEnnC,YAAcoqB,EAAO1R,MAAMjQ,cAAc/J,IAAMyoC,EAAEtS,eAAiB,CAC7E,MAAM,GAGV,IAAI3S,EAAQ4pB,EAA4C,gBAAoB,OAAQ,CAClFjyB,UAAW,QACXE,MAAO,CACL+H,QAAS,cACTiT,eAAgB,SAChBD,UAAW,OACXE,aAAc,OACd5T,SAAU,SACV8R,OAAQ,oBACRpV,MAAO,OACPuD,OAAQ,UAEP,KACDiE,EAAqB,gBAAoB,OAAQ,CACnDzL,UAAW,eACV/hB,KAAK4gB,MAAMjQ,cAAc8Z,WAC5B,OAAoB,gBAAoB,MAAO,CAC7C1I,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,WACV/hB,KAAK4gB,MAAMlQ,SAAS/O,OAAS,EAAiB,gBAAoB,MAAO,CAC1EmhB,QAAS9iB,KAAKq1C,cACb7nB,EAAoB,gBAAoB,GAAArD,KAAM,CAC/C3Q,KAAM,YACJ4Q,GAAsB,gBAAoB,MAAO,KAAMoD,IAAsB,gBAAoB,MAAO,CAC1GzL,UAAW,QACG,gBAAoB,MAAO,CACzCnb,GAAI,cACH5G,KAAK4gB,MAAM3G,OAAqB,gBAAoB,MAAO,CAC5DrT,GAAI,qBAER,IAEJ,CA9JgC,CA8J9B,EAAAqa,WAWF,UAAe,QAAW,SAV1B,SAAyB1X,GACvB,MAAO,CACL0Q,MAAO1Q,EAAM0V,OAAOhF,MACpB86B,SAAUxrC,EAAM0V,OAChBrH,aAAcrO,EAAMsV,KAAKjH,aACzBjH,cAAepH,EAAMsV,KAAKlO,cAC1BD,SAAUnH,EAAMqT,UAAUlM,SAC1BqB,oBAAqBxI,EAAM8V,cAActN,oBAE7C,GACmD,CACjDqF,gBAAiBA,GACjBF,iBAAkBA,GAClBrF,uBAAwBA,IAHA,CAIvBmjC,KCxLH,SAAS,GAAWj0C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAIu0C,GAA6B,SAAUj1B,GACzC,SAASi1B,IACP,IAAI3wC,GACJ,OAAgB3E,KAAMs1C,GACtB,IAAK,IAAIh1B,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAyBzB,OAvBA9b,EAAQ,GAAW3E,KAAMs1C,EAAe,GAAGh2C,OAAOihB,KAClD,OAAgB5b,EAAO,gBAAgB,SAAUqN,EAAQiS,GACvD,OAAQjS,EAAO7J,MACb,IAAK,SACH,OAAoB,gBAAoB,GAAAyuB,OAAQ,CAC9Cv0B,IAAK,UAAY4hB,EACjB9b,KAAM6J,EAAOujC,WACb/jB,SAAUxf,EAAOwf,SACjB1O,QAAS9Q,EAAO8Q,SACf9Q,EAAO1P,OACZ,IAAK,OACH,OAAoB,gBAAoB,KAAM,CAC5CD,IAAK,UAAY4hB,EACjBlC,UAAW,gBACX,eAAgB/P,EAAOmU,QACvBrD,QAAS9Q,EAAO8Q,SACF,gBAAoB,GAAAqH,KAAM,CACxC3Q,KAAM,SAEV,QACE,OAAO,KAEb,IACO7U,CACT,CAEA,OADA,QAAU2wC,EAAej1B,IAClB,OAAai1B,EAAe,CAAC,CAClCjzC,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,kBACG,gBAAoB,MAAO,CACzCA,UAAW,WACG,gBAAoB,KAAM,CACxC6C,GAAIvL,MACU,gBAAoB,MAAO,CACzCm4B,IAAK,gCACLzvB,UAAW,eACM,gBAAoB,MAAO,CAC5CA,UAAW,iBACG,gBAAoB,MAAO,CACzCA,UAAW,WACqB,MAA/B/hB,KAAK4gB,MAAMm0B,SAAS/6B,QAAkBha,KAAK4gB,MAAMm0B,SAAS/6B,QAAQ8D,IAAI9d,KAAKw1C,cAAgB,OAChG,IAEJ,CApDiC,CAoD/B,EAAAv0B,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLwrC,SAAUxrC,EAAM0V,OAEpB,GACA,CAAwCq2B,IClExC,SAAS,GAAWv0C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CASlP,IAAI00C,GAAwB,SAAUp1B,GACpC,SAASo1B,EAAS70B,GAChB,IAAIjc,EAyOJ,OAxOA,OAAgB3E,KAAMy1C,GACtB9wC,EAAQ,GAAW3E,KAAMy1C,EAAU,CAAC70B,KACpC,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAI+wC,EAAgB1wC,SAASqyB,cAAc,oBACvCse,EAAY3wC,SAASqyB,cAAc,eACnCqe,GAAiBC,IACnBA,EAAU1zB,MAAM+H,QAAU,OAC1B0rB,EAAcE,UAAYjxC,EAAMic,MAAM+N,UAAU,QAEpD,KACA,OAAgBhqB,EAAO,wBAAwB,WAC7C,IAAI+wC,EAAgB1wC,SAASqyB,cAAc,oBACvCse,EAAY3wC,SAASqyB,cAAc,eACnCqe,GAAiBC,IACnBD,EAAcE,UAAY,GAC1BD,EAAU1zB,MAAM+H,QAAU,QAE9B,KACA,OAAgBrlB,EAAO,mBAAmB,SAAU4T,GAClD,GAAuC,MAAnC5T,EAAMic,MAAM7O,oBAA6B,CAC3C,GAAgB,kBAAZwG,EAAKkB,KAC8C,MAAjD9U,EAAMic,MAAM7O,oBAAoBzE,eAAyBpH,SAASvB,EAAMic,MAAM7O,oBAAoBzE,eAAiB,EACrH,OAAO3I,EAAMic,MAAM7O,oBAAoBzE,cAG3C,GAAgB,kBAAZiL,EAAKkB,KACuC,MAA1C9U,EAAMic,MAAM7O,oBAAoBohC,QAAkBjtC,SAASvB,EAAMic,MAAM7O,oBAAoBohC,QAAU,EACvG,OAAOxuC,EAAMic,MAAM7O,oBAAoBohC,OAKvC,IAAIC,EAAuBC,EAF/B,GAAgB,UAAZ96B,EAAKkB,IACP,GAA6C,MAAzC9U,EAAMic,MAAM7O,oBAAoBgB,OAAiB7M,SAASvB,EAAMic,MAAM7O,oBAAoBgB,OAAS,GAAuD,MAAlDpO,EAAMic,MAAM7O,oBAAoB7D,gBAA0BhI,SAASvB,EAAMic,MAAM7O,oBAAoB7D,gBAAkB,EAE/N,OAA4E,QAAnEklC,EAAwBzuC,EAAMic,MAAM7O,oBAAoBgB,aAA6C,IAA1BqgC,EAAmCA,EAAwB,IAAoF,QAA7EC,EAAyB1uC,EAAMic,MAAM7O,oBAAoB7D,sBAAuD,IAA3BmlC,EAAoCA,EAAyB,EAG9S,CACA,OAAO,IACT,KACA,OAAgB1uC,EAAO,aAAa,SAAUrC,GAC5C,OAAQA,GACN,IAAK,WACH,OAAOqC,EAAMic,MAAM+N,UAAU,QAE/B,IAAK,eACH,OAAOhqB,EAAMic,MAAM+N,UAAU,YAE/B,IAAK,YACH,OAAOhqB,EAAMic,MAAM+N,UAAU,SAE/B,IAAK,kBACH,OAAOhqB,EAAMic,MAAM+N,UAAU,eAE/B,IAAK,YACH,OAAOhqB,EAAMic,MAAM+N,UAAU,SAE/B,IAAK,eACH,OAAOhqB,EAAMic,MAAM+N,UAAU,YAE/B,IAAK,oBACH,OAAOhqB,EAAMic,MAAM+N,UAAU,UAE/B,IAAK,YACH,OAAOhqB,EAAMic,MAAM+N,UAAU,SAE/B,IAAK,eACH,OAAOhqB,EAAMic,MAAM+N,UAAU,0BAE/B,IAAK,cAYL,IAAK,cACH,OAAOhqB,EAAMic,MAAM+N,UAAU,WAV/B,IAAK,iBACH,OAAOhqB,EAAMic,MAAM+N,UAAU,cAE/B,IAAK,cACH,OAAOhqB,EAAMic,MAAM+N,UAAU,WAE/B,IAAK,aACH,OAAOhqB,EAAMic,MAAM+N,UAAU,UAK/B,IAAK,eACH,OAAOhqB,EAAMic,MAAM+N,UAAU,YAE/B,QACE,OAAOrsB,EAGb,KACA,OAAgBqC,EAAO,gBAAgB,SAAUrC,GAC/C,OAAQA,GACN,IAAK,YACH,OAAOqC,EAAMic,MAAM+N,UAAU,aAE/B,IAAK,SACH,OAAOhqB,EAAMic,MAAM+N,UAAU,UAE/B,IAAK,iBACH,OAAOhqB,EAAMic,MAAM+N,UAAU,kBAE/B,QACE,OAAOrsB,EAGb,KACA,OAAgBqC,EAAO,mBAAmB,SAAUkxC,GAClD,GAAiC,MAA7Br3C,OAAOyT,mBAA4B,CACrC4jC,EAAGhzB,iBACH,IAAI8B,EAAOkxB,EAAGhqC,OAAOiqC,QAAQ,KAC7Bt3C,OAAOyT,mBAAmBC,YAAYhF,KAAKC,UAAU,CACnDhF,KAAM,WACN4tC,kBAAmBpxB,EAAKqxB,aAAa,UAEzC,CACF,KACA,OAAgBrxC,EAAO,iBAAiB,WACtC,IAAIsxC,EAAY,GACZtnB,EAAYhqB,EAAMic,MAAM+N,UAChB,CAAC,CACXnB,MAAOmB,EAAU,OACjBhK,KAAM,UACNuxB,WAAY,WACX,CACD1oB,MAAOmB,EAAU,MACjBhK,KAAM,IACNuxB,WAAY,YAERt0C,SAAQ,SAAU2W,GACtB09B,EAAU10C,KAAK,CACbisB,MAAOjV,EAAKiV,OAASmB,EAAU,OAAsB,gBAAoB,MAAO,CAC9EtsB,IAAK,YACS,gBAAoB,KAAM,CACxC4f,MAAO,CACLiY,aAAc,SAEfvL,EAAU,kBAAgC,gBAAoB,IAAK,CACpE1M,MAAO,CACLunB,cAAe,YACfyH,eAAgB,OAChBxtB,MAAO,QACPuG,QAAS,cACTiT,eAAgB,SAChB3W,gBAAiB/N,EAAK29B,WACtBlwB,MAAO,OACPkS,QAAS,OACTgF,aAAc,OACdyF,WAAY,QAEdjpB,KAAMnB,EAAKoM,MACVpM,EAAKiV,QAAuB,gBAAoB,MAAO,CACxDnrB,IAAK,WACS,gBAAoB,IAAK,CACvC4f,MAAO,CACLunB,cAAe,YACfyH,eAAgB,OAChBxtB,MAAO,QACPuG,QAAS,cACTiT,eAAgB,SAChB3W,gBAAiB/N,EAAK29B,WACtBlwB,MAAO,OACPkS,QAAS,OACTgF,aAAc,QAEhBxjB,KAAMnB,EAAKoM,MACVpM,EAAKiV,SAEZ,IACA,GAAA0nB,YAAYC,OAAO,CACjBr8B,MAAOm9B,IACN/yC,MAAK,SAAUkyC,GAAY,IAAG,WAEjC,GACF,KACA,OAAgBzwC,EAAO,kBAAkB,WACvC,IAAI8uC,EAAe,GLhMP,CAAC,CACfX,QAAS,mBACTtlB,MAAO,UACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,UACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,QACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,QACPxhB,KAAM,SACL,CACD8mC,QAAS,mBACTtlB,MAAO,cACPxhB,KAAM,OK8KQpK,SAAQ,SAAU8xC,EAAUzvB,GACtCwvB,EAAalyC,KAAK,CAChBisB,OAAO,KAAA1M,qBAAoB+Z,eAAiB6Y,EAAS1nC,KAAK6uB,cAA6B,gBAAoB,MAAO,CAChH5Y,MAAO,CACL0gB,WAAY,OACZ3Y,QAAS,OACTiT,eAAgB,iBAElB56B,IAAK,YAAc4hB,GACL,gBAAoB,OAAQ,CAC1ChC,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEA,gBAAoB,MAAO,CACzChI,MAAO,CACLsH,OAAQ,OACRvD,MAAO,OACP2tB,UAAW,QACXxW,YAAa,OACbD,aAAc,OAEhBuU,IAAKiC,EAASlmB,MACdgkB,IAAKkC,EAASZ,UACZ,IAAKY,EAASlmB,OAAqB,gBAAoB,GAAArD,KAAM,CAC/D3Q,KAAM,WACW,gBAAoB,OAAQ,CAC7CnX,IAAK,YAAc4hB,EACnBnB,QAAS,WACP,OAAOiwB,GAAYW,EAAS1nC,KAAMrH,EAAMic,MAAMzN,QAChD,EACA8O,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEA,gBAAoB,MAAO,CACzChI,MAAO,CACLsH,OAAQ,OACRvD,MAAO,OACP2tB,UAAW,QACXxW,YAAa,OACbD,aAAc,OAEhBuU,IAAKiC,EAASlmB,MACdgkB,IAAKkC,EAASZ,UACZ,IAAKY,EAASlmB,QAEtB,IACA,GAAA0nB,YAAYC,OAAO,CACjBr8B,MAAO26B,IACNvwC,MAAK,SAAUkyC,GAAY,IAAG,WAEjC,GACF,IACAzwC,EAAMwxC,QAAU,CAAC,WAAY,YAAa,gBACnCxxC,CACT,CAEA,OADA,QAAU8wC,EAAUp1B,IACb,OAAao1B,EAAU,CAAC,CAC7BpzC,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT4zC,EAAa,GACbzgC,EAAUnT,KAAK4gB,MAAMzN,QACrB4gC,EAAwBlB,KAU5B,OATwB,MAApB7yC,KAAK4gB,MAAM9H,OACb9Y,KAAK4gB,MAAM9H,MAAMlX,SAAQ,SAAU2W,GACZ,MAAjBA,EAAK4d,UAAqC,IAAjB5d,EAAK4d,WACU,GAAtCyd,EAAWj1C,QAAQ4Z,EAAK4d,WAC1Byd,EAAWryC,KAAKgX,EAAK4d,SAG3B,IAEkB,gBAAoB,MAAO,CAC7CpU,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,mBACU,MAApB/hB,KAAK4gB,MAAM9H,MAAgB9Y,KAAK4gB,MAAM9H,MAAMgF,KAAI,SAAUvF,EAAM0L,GACjE,OAAIqO,EAAO6jB,QAAQx3C,QAAQ4Z,EAAKmG,OAAS,GAGpB,MAAjBnG,EAAK4d,UAAqC,IAAjB5d,EAAK4d,UAGjB,YAAb5d,EAAKpQ,KALA,KAQW,gBAAoB,MAAO,CAC7C4Z,UAAW,sBACX1f,IAAK,QAAU4hB,GACD,gBAAoB,KAAM,CACxCnB,QAASwP,EAAO1R,MAAM0X,QACtB1T,GAAIrM,EAAKkB,IACT28B,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAMjB,EAAKg8B,SACuB,MAAhCjiB,EAAOmiB,gBAAgBl8B,GAA6B,gBAAoB,MAAO,CACjFwJ,UAAW,SACG,gBAAoB,OAAQ,KAAMuQ,EAAOmiB,gBAAgBl8B,KAAU,MAAoB,gBAAoB,OAAQ,KAAM+Z,EAAO+hB,UAAU97B,EAAKmG,KAAKxe,iBACtK,IAAK,KAAM0zC,EAAW91B,KAAI,SAAU42B,EAAUzwB,GAC5C,OAAoB,gBAAoB,MAAO,CAC7ClC,UAAW,eACX1f,IAAK4hB,GACS,gBAAoB,MAAO,CACzClC,UAAW,iBACVuQ,EAAOuiB,aAAaH,EAASx0C,gBAA8B,gBAAoB,MAAO,CACvF6hB,UAAW,SACVuQ,EAAO1R,MAAM9H,MAAMgF,KAAI,SAAUvF,EAAM0L,GACxC,OAAIqO,EAAO6jB,QAAQx3C,QAAQ4Z,EAAKmG,OAAS,EAChC,KAEY,MAAjBnG,EAAK4d,UAAoB5d,EAAK4d,UAAYue,EACxB,gBAAoB,MAAO,CAC7C3yB,UAAW,sBACX1f,IAAK,QAAU4hB,GACD,gBAAoB,KAAM,CACxCnB,QAASwP,EAAO1R,MAAM0X,QACtB1T,GAAIrM,EAAKkB,IACT28B,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAMjB,EAAKg8B,UACK,gBAAoB,OAAQ,KAAMjiB,EAAO+hB,UAAU97B,EAAKmG,KAAKxe,uBAbjF,CAeF,KACF,IAAwB,MAApBF,KAAK4gB,MAAM9H,MAAgB9Y,KAAK4gB,MAAM9H,MAAMgF,KAAI,SAAUvF,EAAM0L,GAClE,GAAqB,MAAjB1L,EAAK4d,UAAqC,IAAjB5d,EAAK4d,SAChC,OAAO,KAET,GAAiB,YAAb5d,EAAKpQ,KACP,OAAO,KAET,IAAIqlB,EAAQjV,EAAKmG,KAIjB,OAHI8O,EAAM7uB,QAAQ,SAAW,IAC3B6uB,EAAQ8E,EAAO+hB,UAAU97B,EAAKmG,KAAKxe,gBAEjB,gBAAoB,MAAO,CAC7C6hB,UAAW,sBACX1f,IAAK,QAAU4hB,GACD,gBAAoB,IAAK,CACvCvK,KAAMnB,EAAKkB,IACXqJ,QAAS,SAAiBjiB,GACxB,OAAOyxB,EAAO+jB,gBAAgBx1C,EAChC,EACAgL,OAAQ,SACRkW,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAMjB,EAAKg8B,UACK,gBAAoB,OAAQ,KAAM/mB,IACtD,IAAK,KAAmB,gBAAoB,MAAO,CACjDzL,UAAW,sBACX1f,IAAK,QACS,gBAAoB,IAAK,CACvC0f,UAAW,YACXlW,OAAQ,SACRiX,QAAS,SAAiBjiB,GACxB,OAAOyxB,EAAO+jB,gBAAgBx1C,EAChC,EACA6Y,KAAM,6BACQ,gBAAoB,MAAO,CACzCqI,UAAW,iBACXE,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEA,gBAAoB,MAAO,CACzChI,MAAO,CACL+D,MAAO,QAETwrB,IAAK,yBACLC,IAAK,kBACW,gBAAoB,OAAQ,KAAMzxC,KAAK4gB,MAAM+N,UAAU,kBAAgC,gBAAoB,MAAO,CAClI5M,UAAW,gBACG,gBAAoB,MAAO,CACzCA,UAAW,iBACV/hB,KAAK60C,aAAa70C,KAAK4gB,MAAM+N,UAAU,cAA4B,gBAAoB,MAAO,CAC/F5M,UAAW,sBACX1f,IAAK,WACS,gBAAoB,KAAM,CACxCygB,QAAS9iB,KAAK4gB,MAAM0X,QACpB1T,GAAI,WACJ7C,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,SACU,gBAAoB,OAAQ,KAAMxZ,KAAK4gB,MAAM+N,UAAU,uBAAqC,gBAAoB,MAAO,CACvI5M,UAAW,sBACX1f,IAAK,aACS,gBAAoB,KAAM,CACxCuiB,GAAI,IACJ9B,QAAS9iB,KAAKs2C,eACdv0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,iBACXE,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEA,gBAAoB,MAAO,CACzClI,UAAW,OACX0vB,IAAKsC,EAAsBvmB,MAC3BgkB,IAAKuC,EAAsBjB,WACX,gBAAoB,OAAQ,KAAMiB,EAAsBvmB,MAAO,IAAkB,gBAAoB,GAAArD,KAAM,CAC3H3Q,KAAM,eACNyI,MAAO,CACLsE,WAAY,YAEI,gBAAoB,MAAO,CAC7CxE,UAAW,sBACX1f,IAAK,kBACS,gBAAoB,KAAM,CACxCuiB,GAAI,IACJ9B,QAAS9iB,KAAKu2C,cACdx0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,MAAO,CACzCA,UAAW,SACXyvB,IAAK,uBACLC,IAAK,YACS,MAAXt+B,EAA+B,gBAAoB,OAAQ,KAAMnT,KAAK4gB,MAAM+N,UAAU,YAAa,IAAKxb,EAAQsX,WAAiC,MAApBtX,EAAQuX,SAAmB,IAAMvX,EAAQuX,SAAW,KAAoB,gBAAoB,OAAQ,KAAM1qB,KAAK4gB,MAAM+N,UAAU,iBACnQ,IAEJ,CA5Z4B,CA4Z1B,EAAA1N,WAWF,UAAe,SAVf,SAAyB1X,GACvB,MAAO,CACLuP,MAAOvP,EAAMyV,KAAKlG,MAClB6V,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrC5V,QAASiE,EAAMsV,KAAKlO,cACpBoB,oBAAqBxI,EAAM8V,cAActN,oBACzCoB,QAAS5J,EAAM4J,QAAQA,QACvBmG,SAAUtU,SAASvG,SAAS6a,SAEhC,GACwC,CACtCF,aAAcA,GACdvH,uBAAwBA,IAF1B,CAGG4jC,ICpbH,SAAS,GAAW10C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAUlP,IAAIy1C,GAA0B,SAAUn2B,GACtC,SAASm2B,IACP,IAAI7xC,GACJ,OAAgB3E,KAAMw2C,GACtB,IAAK,IAAIl2B,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA6JzB,OA3JA9b,EAAQ,GAAW3E,KAAMw2C,EAAY,GAAGl3C,OAAOihB,KAC/C,OAAgB5b,EAAO,QAAS,CAC9B8xC,YAAY,KAEd,OAAgB9xC,EAAO,cAAc,WACnCA,EAAMye,UAAS,SAAU4K,GACvB,MAAO,CACLyoB,YAAazoB,EAAUyoB,WAE3B,GACF,KACA,OAAgB9xC,EAAO,qBAAqB,WAC1CA,EAAMic,MAAM/O,uBAAuBlN,EAAMic,MAAMjQ,cAAc/J,IAC7D5B,SAASoiB,iBAAiB,gBAAgB,WACxCziB,EAAMic,MAAM/O,uBAAuBlN,EAAMic,MAAMjQ,cAAc/J,GAC/D,GACF,KACA,OAAgBjC,EAAO,oBAAoB,SAAU+xC,GACnD,GAAuC,MAAnC/xC,EAAMic,MAAM7O,oBAA6B,CAC3C,GAAe,kBAAX2kC,GACmD,MAAjD/xC,EAAMic,MAAM7O,oBAAoBzE,eAAyBpH,SAASvB,EAAMic,MAAM7O,oBAAoBzE,eAAiB,EACrH,OAAO3I,EAAMic,MAAM7O,oBAAoBzE,cAG3C,GAAe,kBAAXopC,GAC4C,MAA1C/xC,EAAMic,MAAM7O,oBAAoBohC,QAAkBjtC,SAASvB,EAAMic,MAAM7O,oBAAoBohC,QAAU,EACvG,OAAOxuC,EAAMic,MAAM7O,oBAAoBohC,OAKvC,IAAIC,EAAuBC,EAF/B,GAAe,UAAXqD,EACF,GAA6C,MAAzC/xC,EAAMic,MAAM7O,oBAAoBgB,OAAiB7M,SAASvB,EAAMic,MAAM7O,oBAAoBgB,OAAS,GAAuD,MAAlDpO,EAAMic,MAAM7O,oBAAoB7D,gBAA0BhI,SAASvB,EAAMic,MAAM7O,oBAAoB7D,gBAAkB,EAE/N,OAA4E,QAAnEklC,EAAwBzuC,EAAMic,MAAM7O,oBAAoBgB,aAA6C,IAA1BqgC,EAAmCA,EAAwB,IAAoF,QAA7EC,EAAyB1uC,EAAMic,MAAM7O,oBAAoB7D,sBAAuD,IAA3BmlC,EAAoCA,EAAyB,EAG9S,CACA,OAAO,IACT,KACA,OAAgB1uC,EAAO,sBAAsB,WAC3C,I7H1CgDW,E6H0C5Coc,EAAc/c,EAAMic,MACtBjQ,EAAgB+Q,EAAY/Q,cAC5Bge,EAAYjN,EAAYiN,UACtB8nB,EAAa9xC,EAAM4E,MAAMktC,WACzB39B,EAAQ,GACRzB,EAAS,KACTwkB,G7HhD4Cv2B,E6HgDjBqL,EAAc/J,G7H/C1CnE,aAAagD,QAAQJ,EAAY,IAAMC,I6H8G1C,OAvDc,OANZ+R,EADc,MAAZwkB,EACOlrB,EAAcu8B,QAAQ52B,MAAK,SAAUvV,GAC5C,OAAOA,EAAE6F,IAAMi1B,CACjB,IAESlrB,EAAcu8B,QAAQ,KAEI,aAAf71B,EAAOlP,KAC3B2Q,EAAMvX,KAAmB,gBAAoB,MAAO,CAClDwgB,UAAW,sBACX1f,IAAK,iBACS,gBAAoB,KAAM,CACxCygB,QAAS2zB,EAAa,WACpB,OAAO9xC,EAAMgyC,YACf,EAAI,KACJ/xB,GAAI,YACJwxB,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,cACU,gBAAoB,OAAQ,KAAMmV,EAAU,gBAE9D7V,EAAMvX,KAAmB,gBAAoB,MAAO,CAClDwgB,UAAW,sBACX1f,IAAK,cACS,gBAAoB,KAAM,CACxCygB,QAAS2zB,EAAa,WACpB,OAAO9xC,EAAMgyC,YACf,EAAI,KACJ/xB,GAAI,SACJwxB,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,SACgC,MAApC7U,EAAMiyC,iBAAiB,UAAiC,gBAAoB,OAAQ,CACtF70B,UAAW,QACXE,MAAO,CACL+H,QAAS,cACTiT,eAAgB,SAChBwM,SAAU,UAEX9kC,EAAMiyC,iBAAiB,WAAa,MAAoB,gBAAoB,OAAQ,KAAMjoB,EAAU,aAEzG7V,EAAMvX,KAAmB,gBAAoB,MAAO,CAClDwgB,UAAW,sBACX1f,IAAK,cACS,gBAAoB,KAAM,CACxCygB,QAAS2zB,EAAa,WACpB,OAAO9xC,EAAMgyC,YACf,EAAI,KACJ/xB,GAAI,SACJwxB,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,WACU,gBAAoB,OAAQ,KAAMmV,EAAU,aACvD7V,CACT,KACA,OAAgBnU,EAAO,oBAAoB,WACzC,IAAIgqB,EAAYhqB,EAAMic,MAAM+N,UACxB8nB,EAAa9xC,EAAM4E,MAAMktC,WAC7B,MAAO,CAAc,gBAAoB,MAAO,CAC9C10B,UAAW,uBACG,gBAAoB,KAAM,CACxCe,QAAS2zB,EAAa,WACpB,OAAO9xC,EAAMgyC,YACf,EAAI,KACJ/xB,GAAI,iBACJwxB,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,SACwC,MAA5C7U,EAAMiyC,iBAAiB,kBAAyC,gBAAoB,OAAQ,CAC9F70B,UAAW,QACXE,MAAO,CACL+H,QAAS,cACTiT,eAAgB,SAChBwM,SAAU,UAEX9kC,EAAMiyC,iBAAiB,mBAAqB,MAAoB,gBAAoB,OAAQ,KAAMjoB,EAAU,aAA2B,gBAAoB,MAAO,CACnK5M,UAAW,uBACG,gBAAoB,KAAM,CACxCe,QAAS2zB,EAAa,WACpB,OAAO9xC,EAAMgyC,YACf,EAAI,KACJ/xB,GAAI,iBACJwxB,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,YACwC,MAA5C7U,EAAMiyC,iBAAiB,kBAAyC,gBAAoB,OAAQ,CAC9F70B,UAAW,QACXE,MAAO,CACL+H,QAAS,cACTiT,eAAgB,SAChBwM,SAAU,UAEX9kC,EAAMiyC,iBAAiB,mBAAqB,MAAoB,gBAAoB,OAAQ,KAAMjoB,EAAU,eACjH,IACOhqB,CACT,CAEA,OADA,QAAU6xC,EAAYn2B,IACf,OAAam2B,EAAY,CAAC,CAC/Bn0C,IAAK,SACLC,MACA,WACE,IAAIgwB,EAAStyB,KACb,IAAK,aACH,OAAO,KAET,IAAIy2C,EAAaz2C,KAAKuJ,MAAMktC,WACxB9nB,EAAY3uB,KAAK4gB,MAAM+N,UACvBkoB,GAA4B,EAMhC,OAHsC,MAAlC72C,KAAK4gB,MAAM7O,sBACb8kC,EAAqE,MAAzC72C,KAAK4gB,MAAM7O,oBAAoBohC,QAAkBjtC,SAASlG,KAAK4gB,MAAM7O,oBAAoBohC,QAAU,GAAqD,MAAhDnzC,KAAK4gB,MAAM7O,oBAAoBzE,eAAyBpH,SAASlG,KAAK4gB,MAAM7O,oBAAoBzE,eAAiB,GAA6C,MAAxCtN,KAAK4gB,MAAM7O,oBAAoBgB,OAAiB7M,SAASlG,KAAK4gB,MAAM7O,oBAAoBgB,OAAS,GAAsD,MAAjD/S,KAAK4gB,MAAM7O,oBAAoB7D,gBAA0BhI,SAASlG,KAAK4gB,MAAM7O,oBAAoB7D,gBAAkB,GAEjc,gBAAoB,MAAO,KAAMuoC,GAA2B,gBAAoB,GAAU,CAC5Gne,QAAS,WACP,OAAOhG,EAAOqkB,YAChB,IACe,gBAAoB,MAAO,CAC1C50B,UAAW,6BACG,gBAAoB,MAAO,CACzCA,UAAW,uBACG,gBAAoB,KAAM,CACxCe,QAAS2zB,EAAa,WACpBnkB,EAAOqkB,aAAcrkB,EAAO1R,MAAM/O,uBAAuBygB,EAAO1R,MAAMjQ,cAAc/J,GACtF,EAAI,WACF,OAAO0rB,EAAO1R,MAAM/O,uBAAuBygB,EAAO1R,MAAMjQ,cAAc/J,GACxE,EACAge,GAAI,IACJwxB,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,WACU,gBAAoB,OAAQ,KAAMmV,EAAU,WAAwC,MAA5B3uB,KAAK4gB,MAAMjQ,eAAyB3Q,KAAK4gB,MAAMjQ,cAAcmO,SAAS1I,qBAAuBpW,KAAK82C,mBAAqB92C,KAAK+2C,qBAAmC,gBAAoB,MAAO,CAClQh1B,UAAW,uBACG,gBAAoB,KAAM,CACxC6C,GAAI,IACJ9B,QAAS,WACP,OAAOwP,EAAOqkB,YAChB,EACAP,gBAAiB,YACjBr0B,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,WACJq9B,EAAyC,gBAAoB,MAAO,CACtE90B,UAAW,QACXE,MAAO,CACLi0B,WAAY,OACZ/iB,OAAQ,SAEI,gBAAoB,GAAAhJ,KAAM,CACxC3Q,KAAM,eACF,MAAoB,gBAAoB,OAAQ,KAAMmV,EAAU,YACxE,IAEJ,CAlO8B,CAkO5B,EAAA1N,WAWF,UAAe,SAVf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1BiH,aAAcrO,EAAMsV,KAAKjH,aACzBvQ,KAAMkC,EAAMsV,KAAKxX,KACjBiS,SAAUtU,SAASvG,SAAS6a,SAC5BqV,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCnJ,oBAAqBxI,EAAM8V,cAActN,oBAE7C,GACwC,CACtCF,uBAAwBA,GACxBF,iBAAkBA,GAClByH,aAAcA,IACb,KAAM,CACPmxB,MAAM,GALR,CAMGiM,ICpPH,SAXa,WACX,OAAoB,gBAAoB,MAAO,KAAM,eAAqB,aAAgC,gBAAoB,MAAO,CACnIz0B,UAAW,sBACG,gBAAoB,MAAO,CACzCA,UAAW,kBACV,YAAa,OAAStJ,OAAO,QAAsB,gBAAoB,MAAO,CAC/EwJ,MAAO,CACLyR,UAAW,WAEZ,WAAY,KAAyB,KAAmB,gBAAoB,GAAY,MAC7F,ECTA,SAAS,GAAW3yB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAKlP,IAAIi2C,GAAsB,SAAU32B,GAClC,SAAS22B,EAAOp2B,GACd,IAAIjc,EAwCJ,OAvCA,OAAgB3E,KAAMg3C,GACtBryC,EAAQ,GAAW3E,KAAMg3C,EAAQ,CAACp2B,KAClC,OAAgBjc,EAAO,qBAAqB,WAC1CA,EAAMsyC,UACR,KACA,OAAgBtyC,EAAO,oCAAoC,SAAU+e,GAC/DA,EAAU1C,WAAarc,EAAMic,MAAMI,WACrCrc,EAAMsyC,WACNtyC,EAAMye,SAAS,CACb8zB,SAAS,IAGf,KACA,OAAgBvyC,EAAO,wBAAwB,WAC7C0pB,aAAa1pB,EAAMwyC,OACrB,KACA,OAAgBxyC,EAAO,YAAY,WAEjB,MAAhBA,EAAMwyC,QAAiB9oB,aAAa1pB,EAAMwyC,QAC1CxyC,EAAMye,SAAS,CACb8zB,SAAS,IACR,WACDvyC,EAAMwyC,OAASnxC,YAAW,WACxBrB,EAAMye,SAAS,CACb8zB,SAAS,IAEXvyC,EAAMwyC,OAAS,IACjB,GAAGxyC,EAAMic,MAAMw2B,MACjB,GACF,KACA,OAAgBzyC,EAAO,UAAU,WAC/B,OAAOA,EAAM4E,MAAM2tC,QAAuB,gBAAoB,MAAO,CACnEn1B,UAAW,cAAcziB,OAAOqF,EAAMic,MAAMzY,KAAM,gBACjDxD,EAAMic,MAAMI,UAAY,IAC7B,IACArc,EAAM4E,MAAQ,CACZ6tC,MAAO,IACPF,SAAS,GAEJvyC,CACT,CAEA,OADA,QAAUqyC,EAAQ32B,IACX,OAAa22B,EACtB,CA9C0B,CA8CxB,EAAA/1B,WACE,GAAqB,SAAUo2B,GACjC,SAAS7zC,IACP,IAAI8uB,GACJ,OAAgBtyB,KAAMwD,GACtB,IAAK,IAAI8c,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAazB,OAXA6R,EAAS,GAAWtyB,KAAMwD,EAAO,GAAGlE,OAAOihB,KAC3C,OAAgB+R,EAAQ,SAAS,SAAUztB,EAAOymB,GAChD,OAAoB,gBAAoB0rB,GAAQ,CAC9CI,MAAO,IACP1vB,IAAK4D,EACLjpB,IAAK,SAAS/C,OAAOgsB,GACrBnjB,KAAMtD,EAAMsD,KAAOtD,EAAMsD,KAAO,WAClB,gBAAoB,MAAO,CACzC4Z,UAAW,WACVld,EAAM+G,KACX,IACO0mB,CACT,CAEA,OADA,QAAU9uB,EAAO6zC,IACV,OAAa7zC,EAAO,CAAC,CAC1BnB,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,4BACV/hB,KAAK4gB,MAAMjE,OAAOmB,IAAI9d,KAAK6E,OAChC,IAEJ,CA7ByB,CA6BvB,EAAAoc,WAME,GAAqB,CACvBtV,SAAUA,IAEZ,UAAe,SARO,SAAyBpC,GAC7C,MAAO,CACLoT,OAAQpT,EAAMoT,OAElB,GAIwC,GAAxC,CAA4D,ICjGrD,IAAI26B,GAAQ94C,OAAO0Z,UAAUC,UAAUxZ,QAAQ,mBAAqB,GAAKH,OAAO0Z,UAAUC,UAAUxZ,QAAQ,eAAiB,EACzH44C,GAAc/4C,OAAO0Z,UAAUC,UAAUxZ,QAAQ,mBAAqB,EAAI,UAAYH,OAAO0Z,UAAUC,UAAUxZ,QAAQ,eAAiB,EAAI,MAAQ,M,qBCMjK,SAAS,GAAWoC,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CA4BlP,IAAIy2C,GAAmB,SAAUn3B,GAC/B,SAASm3B,EAAI52B,GACX,IAAIjc,EAQJ,OAPA,OAAgB3E,KAAMw3C,IACtB7yC,EAAQ,GAAW3E,KAAMw3C,EAAK,CAAC52B,KACzBrX,MAAQ,CACZgO,MAAO,GACPgZ,SAAS,EACTknB,UAAU,GAEL9yC,CACT,CAEA,OADA,QAAU6yC,EAAKn3B,IACR,OAAam3B,EAAK,CAAC,CACxBn1C,IAAK,oBACLC,OACMs+B,GAAqB,OAAgC,UAAyB,SAASl9B,IACzF,IACI6T,EAAOlQ,EADPirB,EAAStyB,KAEb,OAAO,UAAyB,SAAmB2D,GACjD,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EAEH,OADAF,EAAUE,KAAO,EACV,EAAK6zC,iBACd,KAAK,EAEH,GAAe,OADfngC,EAAQ5T,EAAU8T,MACI,CACpB9T,EAAUE,KAAO,GACjB,KACF,CACAwD,EAAO,KAAWkQ,GAClB/Y,OAAO4oB,iBAAiB,WAAW,SAAUtiB,GAWzC,IAAI6yC,EAVNj3C,EAAY6B,WAAW,CACrBC,QAAS,+CAEE,MAATsC,GAA+B,MAAdA,EAAMiB,MAAmC,iBAAnBjB,EAAMiB,KAAKoC,OACpDzH,EAAY6B,WAAW,CACrBC,QAAS,oDAEX8vB,EAAO1R,MAAMjP,iBAAiB7M,EAAMiB,OAEzB,MAATjB,GAA+B,MAAdA,EAAMiB,MAAmC,MAAnBjB,EAAMiB,KAAKoC,MAAmC,kBAAnBrD,EAAMiB,KAAKoC,OAE/EzH,EAAY6B,WAAW,CACrBC,QAAS,qDAEX8vB,EAAO1R,MAAMg3B,wBAAuD,QAA9BD,EAAc7yC,EAAMiB,YAAkC,IAAhB4xC,OAAyB,EAASA,EAAYr1C,OAE9H,IACiC,MAA7B9D,OAAOyT,oBAETjM,YAAW,WACTtF,EAAY6B,WAAW,CACrBC,QAAS,wCAIXhE,OAAOyT,mBAAmBC,YAAYhF,KAAKC,UAAU,CACnD0qC,eAAe,EACfC,aAAcvgC,IAElB,GAAG,KAEL7W,EAAY6B,WAAW,CACrBC,QAAS,yCAEC,MAAR6E,IACF3G,EAAY6B,WAAW,CACrBC,QAAS,uCAEXxC,KAAK4gB,MAAMm3B,cAAc,CACvBnxC,GAAIS,EAAK2wC,MAEQ,MAAft3C,IACFA,EAAYuB,QAAQoF,KAAKT,GAAKS,EAAK2wC,IACnCt3C,EAAYu3C,4BAA4B5wC,EAAK2wC,IAAK,IAAI,GACtDt3C,EAAY6B,WAAW,CACrBC,QAAS,6BAIfmB,EAAUE,KAAO,GACjB,MACF,KAAK,GAEH,OADA7D,KAAK4gB,MAAMqW,QAAQ11B,KAAK,UACjBoC,EAAUgsB,OAAO,UAC1B,KAAK,GACwB,MAAvB3vB,KAAK4gB,MAAMlQ,UAAkD,GAA9B1Q,KAAK4gB,MAAMlQ,SAAS/O,QACrDjB,EAAY6B,WAAW,CACrBC,QAAS,oFAEXxC,KAAK4gB,MAAMtQ,sBAAsBpN,MAAmB,OAAgC,UAAyB,SAASc,IACpH,OAAO,UAAyB,SAAkBG,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEH,GADAM,EAASyqC,GAA8B,MAAzBtc,EAAO1R,MAAMlQ,UAAoD,GAAhC4hB,EAAO1R,MAAMlQ,SAAS/O,OACjEwC,EAASyqC,GAAI,CACfzqC,EAASN,KAAO,EAChB,KACF,CAEA,OADAM,EAASN,KAAO,EACTyuB,EAAO4lB,aAChB,KAAK,EACH/zC,EAASyqC,IAAMzqC,EAASsT,KAC1B,KAAK,EACH,IAAKtT,EAASyqC,GAAI,CAChBzqC,EAASN,KAAO,EAChB,KACF,CACA,KAAK,CACHoW,MAAOqY,EAAO1R,MAAM+N,UAAU,sBAC9BjQ,KAAM4T,EAAO1R,MAAM+N,UAAU,iHAC7BI,kBAAmBuD,EAAO1R,MAAM+N,UAAU,QACzCzrB,MAAK,SAAU8uB,GAEhBM,EAAO1R,MAAMqW,QAAQ11B,KAAK,UAC5B,IACA4C,EAASN,KAAO,GAChB,MACF,KAAK,EACHyuB,EAAO1R,MAAMxN,wBAAwBlQ,MAAK,WACZ,MAAxBovB,EAAO1R,MAAMzN,SAAmBmf,EAAO1R,MAAMzN,QAAQnH,MACnD,KAAA8U,sBAAuBwR,EAAO1R,MAAMzN,QAAQnH,OAC9C,KAAA2U,mBAAkB2R,EAAO1R,MAAMzN,QAAQnH,OAGzC,KAAA2U,mBAAkB,QAEtB,IACA2R,EAAOlP,SAAS,CACdmN,SAAS,IAEb,KAAK,GACL,IAAK,MACH,OAAOpsB,EAASI,OAEtB,GAAGP,EACL,MAAY,OAAE,SAAU8B,GAClBA,EAAS,KAEXwsB,EAAO1R,MAAMqW,QAAQ11B,KAAK,UAE9B,MAEAb,EAAY6B,WAAW,CACrBC,QAAS,6CAEXxC,KAAK4gB,MAAMxN,wBAAwBlQ,MAAK,WACtCxC,EAAY6B,WAAW,CACrBC,QAAS,6CAEiB,MAAxB8vB,EAAO1R,MAAMzN,SAAmBmf,EAAO1R,MAAMzN,QAAQnH,MACnD,KAAA8U,sBAAuBwR,EAAO1R,MAAMzN,QAAQnH,OAC9C,KAAA2U,mBAAkB2R,EAAO1R,MAAMzN,QAAQnH,OAGzC,KAAA2U,mBAAkB,SAEpB2R,EAAOlP,SAAS,CACdmN,SAAS,GAEb,KAEFvwB,KAAK4gB,MAAM7U,WAAU,KAAA+U,sBAA4B,OAAE,SAAUhb,GAI7D,IACF,KAAK,GACL,IAAK,MACH,OAAOnC,EAAUY,OAEvB,GAAGb,EAAU1D,KACf,KACA,WACE,OAAO4gC,EAAmBp/B,MAAMxB,KAAM0B,UACxC,IAGD,CACDW,IAAK,aACLC,OACM61C,GAAc,OAAgC,UAAyB,SAAStJ,IAClF,IAAIrpB,EAAQlgB,EAAS8yC,EAAa1uC,EAAI2uC,EAAcC,EACpD,OAAO,UAAyB,SAAmB/J,GACjD,cAAkBA,EAAU3qC,KAAO2qC,EAAU1qC,MAC3C,KAAK,EAGH,GAAgB,OADhB2hB,EAAShgB,KACc,CACrB+oC,EAAU1qC,KAAO,GACjB,KACF,CAKA,GAJAyB,EAAUtF,KAAK4gB,MAAMlQ,SAAS4F,MAAK,SAAUhR,GAC3C,OAAOA,EAAQsB,IAAM4e,CACvB,IACA+oB,EAAUK,GAAgB,MAAXtpC,GACVipC,EAAUK,GAAI,CACjBL,EAAU1qC,KAAO,EACjB,KACF,CAEA,OADA0qC,EAAU1qC,KAAO,EACV7D,KAAKu4C,cAAcjzC,GAC5B,KAAK,EACHipC,EAAUK,GAAKL,EAAU92B,KAC3B,KAAK,EACH,IAAK82B,EAAUK,GAAI,CACjBL,EAAU1qC,KAAO,GACjB,KACF,CACA,OAAO0qC,EAAU5e,OAAO,UAAU,GACpC,KAAK,GAEHyoB,EAAc,GACdp3C,OAAOqlB,OAAO+xB,EAAap4C,KAAK4gB,MAAMlQ,UACtChH,EAAK,EAAG2uC,EAAeD,EACzB,KAAK,GACH,KAAM1uC,EAAK2uC,EAAa12C,QAAS,CAC/B4sC,EAAU1qC,KAAO,GACjB,KACF,CAGA,OAFAy0C,EAAWD,EAAa3uC,GACxB6kC,EAAU1qC,KAAO,GACV7D,KAAKu4C,cAAcD,GAC5B,KAAK,GACH,IAAK/J,EAAU92B,KAAM,CACnB82B,EAAU1qC,KAAO,GACjB,KACF,CACA,OAAO0qC,EAAU5e,OAAO,UAAU,GACpC,KAAK,GACHjmB,IACA6kC,EAAU1qC,KAAO,GACjB,MACF,KAAK,GACH,OAAO0qC,EAAU5e,OAAO,UAAU,GACpC,KAAK,GACL,IAAK,MACH,OAAO4e,EAAUhqC,OAEvB,GAAGsqC,EAAU7uC,KACf,KACA,WACE,OAAOm4C,EAAY32C,MAAMxB,KAAM0B,UACjC,IAGD,CACDW,IAAK,gBACLC,OACMk2C,GAAiB,OAAgC,UAAyB,SAASvJ,EAAS3pC,GAC9F,IAAI2e,EACJ,OAAO,UAAyB,SAAmB6qB,GACjD,cAAkBA,EAAUlrC,KAAOkrC,EAAUjrC,MAC3C,KAAK,EAEH,OADAirC,EAAUjrC,KAAO,EACV7D,KAAK4gB,MAAM1J,iBAAiB5R,GAAgB,OAAE,SAAUzE,GAAI,IACrE,KAAK,EACH,GAAIiuC,EAAUr3B,KAAM,CAClBq3B,EAAUjrC,KAAO,EACjB,KACF,CAKA,OAJAogB,EAAQjkB,KAAK4gB,MAAMlQ,SAAS/R,QAAQ2G,KACvB,GACXtF,KAAK4gB,MAAMlQ,SAASgM,OAAOuH,EAAO,GAE7B6qB,EAAUnf,OAAO,UAAU,GACpC,KAAK,EAEH,OADAmf,EAAUjrC,KAAO,EACV7D,KAAK4gB,MAAM5H,aAAa1T,EAAQsB,IACzC,KAAK,EACH,OAAOkoC,EAAUnf,OAAO,UAAU,GACpC,KAAK,EACL,IAAK,MACH,OAAOmf,EAAUvqC,OAEvB,GAAG0qC,EAAUjvC,KACf,KACA,SAAuBwE,GACrB,OAAOg0C,EAAeh3C,MAAMxB,KAAM0B,UACpC,IAGD,CACDW,IAAK,SACLC,MAAO,WACL,GAAItC,KAAKuJ,MAAMgnB,QACb,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,GAAS,CAC7F3O,QAAQ,KAGZ,IAAI+M,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAA2B,MAAvB3uB,KAAK4gB,MAAMlQ,UAAkD,GAA9B1Q,KAAK4gB,MAAMlQ,SAAS/O,OACjC,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC3FogB,UAAW,iBACG,gBAAoB,KAAM,KAAM4M,EAAU,yBAAuC,gBAAoB,IAAK,CACxH5M,UAAW,2BACV4M,EAAU,qEAAmF,gBAAoB,KAAM,MAAOA,EAAU,2HAAyI,gBAAoB,GAAQ,OAE9R,gBAAoB,EAAAwiB,SAAU,KAAmB,gBAAoB,GAAO,MAAQ,aAE3C,KAF2E,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC/MpvB,UAAW,2BACI,gBAAoB02B,GAAe,OAA4B,gBAAoB,GAAAC,OAAQ,KAAmB,gBAAoB,GAAAC,MAAO,KAAO,aAAkE,KAAlC,gBAAoB35B,GAAM,OAA4B,gBAAoB,GAAA45B,QAAS,KAAMtB,IAAS,aAAgC,gBAAoB,MAAO,CAC5Vv1B,UAAW,sBACR,KAAMu1B,IAAyB,QAAhBC,GAAqC,gBAAoB,MAAO,CAClFx1B,UAAW,mCACR,KAAM,cAAoC,QAAhBw1B,GAAqC,gBAAoB,MAAO,CAC7Fx1B,UAAW,4BACR,KAAM,aAAgC,gBAAoB82B,GAAc,MAAqB,gBAAoB,GAAQ,MAAO74C,KAAK4gB,MAAMI,SAAuB,gBAAoB,GAAQ,QACrM,KA3DO,IACDw3B,EApEAL,EAtKAvX,CAsSV,CAtTuB,CAsTrB,EAAA3f,WASF,UAAe,QAAW,SARJ,SAAyB1X,GAC7C,MAAO,CACLmH,SAAUnH,EAAMqT,UAAUlM,SAC1BC,cAAepH,EAAMsV,KAAKlO,cAC1BwC,QAAS5J,EAAM4J,QAAQA,QACvBwb,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACmD,CACjD5K,oBAAqBA,GACrBvE,UAAWA,GACXmL,iBAAkBA,GAClBE,gBAAiBA,GACjB2gC,c/F1UyB,SAAuB1wC,GAChD,MAAO,CACLc,KAAMyO,GACNxO,QAASf,EAEb,E+FsUEyxC,iB/FvV4B,SAA0BC,GACtD,MAAO,CACL5wC,KAAMuO,GACNtO,QAAS2wC,EAEb,E+FmVEC,qB/FlVgC,SAA8BC,GAC9D,MAAO,CACL9wC,KAAMwO,GACNvO,QAAS6wC,EAEb,E+F8UEjgC,aAAc,GACdrH,iBAAkBA,GAClByB,sBAAuBA,GACvBwkC,wB/FlWmC,SAAiCsB,GACpE,MAAO,CACL/wC,KAAM8O,GACN7O,QAAS8wC,EAEb,G+FkV0B,CAYvB1B,K,aC1WH,SAAS,GAAWz2C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAalP,IAAIo4C,GAAwB,SAAU94B,GACpC,SAAS84B,IAEP,OADA,OAAgBn5C,KAAMm5C,GACf,GAAWn5C,KAAMm5C,EAAUz3C,UACpC,CAEA,OADA,QAAUy3C,EAAU94B,IACb,OAAa84B,EAAU,CAAC,CAC7B92C,IAAK,4BACLC,MAAO,WACLtC,KAAK4gB,MAAMxH,aAAapZ,KAAK4gB,MAAM+N,UAAU,QAC/C,GACC,CACDtsB,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,YACkB,MAA5B/hB,KAAK4gB,MAAMjQ,eAAyB3Q,KAAK4gB,MAAMjQ,cAAcmO,SAAStJ,KAAoB,gBAAoB,MAAO,CACtHuM,UAAW,UACXE,MAAO,CACLiW,QAAS,EACT/E,OAAQ,IAEI,gBAAoB,GAAS,CAC3Csa,MAAO,KACH,KAAkC,MAA5BztC,KAAK4gB,MAAMjQ,eAAyB3Q,KAAK4gB,MAAMjQ,cAAcmO,SAAStM,MAAqB,gBAAoB,MAAO,CAChIuP,UAAW,UACXE,MAAO,CACLiW,QAAS,EACT/E,OAAQ,IAEI,gBAAoB,MAAQ,CAC1CimB,GAAI,MACJhC,MAAO,IACPiC,aAAa,IACZ,SAAUt1C,GACX,IAAIu1C,EAASv1C,EAAKu1C,OAChB5xB,EAAM3jB,EAAK2jB,IACH3jB,EAAKw1C,MACf,OAAoB,gBAAoB,MAAO,CAC7Cx3B,UAAW,UACX2F,IAAKA,GACJ4xB,EAAsB,gBAAoBE,GAAS,CACpDrO,iBAAiB,EACjBW,UAAU,IACM,gBAAoBK,GAAc,CAClDvD,MAAO,IAEX,KAAM,K5FhDe,SAAuBj4B,GAChD,GAAqB,MAAjBA,EAAuB,CACzB,IAAI8oC,EAAc,GAIlB,OAHA9oC,EAAcu8B,QAAQtrC,SAAQ,SAAUyV,GACtCoiC,EAAYl4C,KAAK8V,EAAOlP,KAC1B,IACIsxC,EAAY93C,OAAS,EAChB83C,EAAY,GAAGv5C,cAEf,IAEX,CACA,OAAO,IACT,C4FmCkBw5C,CAAc15C,KAAK4gB,MAAMjQ,gBAAkB07B,GAAyB,gBAAoB,MAAO,CACzGtqB,UAAW,UACXE,MAAO,CACLiW,QAAS,EACT/E,OAAQ,IAEI,gBAAoB,MAAQ,CAC1CimB,GAAI,MACJhC,MAAO,IACPiC,aAAa,IACZ,SAAUjb,GACX,IAAIkb,EAASlb,EAAMkb,OACjB5xB,EAAM0W,EAAM1W,IACJ0W,EAAMmb,MAChB,OAAoB,gBAAoB,MAAO,CAC7Cx3B,UAAW,UACX2F,IAAKA,GACJ4xB,EAAsB,gBAAoB,GAAS,CACpD7L,MAAO,EACP3B,UAAU,IACM,gBAAoBK,GAAc,CAClDvD,MAAO,IAEX,KAAM,KACR,IAEJ,CAzE4B,CAyE1B,EAAA3nB,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1Bge,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC9B,aAAcA,IADhB,CAEG+/B,IChGH,SAAS,GAAWp4C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAI44C,GAA4B,SAAUt5B,GACxC,SAASs5B,EAAa/4B,GAEpB,OADA,OAAgB5gB,KAAM25C,GACf,GAAW35C,KAAM25C,EAAc,CAAC/4B,GACzC,CAEA,OADA,QAAU+4B,EAAct5B,IACjB,OAAas5B,EAAc,CAAC,CACjCt3C,IAAK,oBACLC,MAAO,WACLtC,KAAK4gB,MAAM3S,qCACXjO,KAAK4gB,MAAM9N,2BACb,GACC,CACDzQ,IAAK,SACLC,MAAO,WACL,GAA2B,MAAvBtC,KAAK4gB,MAAMlQ,SACb,OAAoB,gBAAoB,MAAO,MAE/C,IAAIpL,EAAUtF,KAAK4gB,MAAMtb,QACzB,OAAe,MAAXA,GAAsC,MAAnBA,EAAQ4nC,QACT,gBAAoB,GAAU,MAE9B,gBAAoB,MAAO,CAC7CnrB,UAAW,iBACG,gBAAoB,KAAM,KAAM/hB,KAAK4gB,MAAM+N,UAAU,yBAAuC,gBAAoB,IAAK,CACnI5M,UAAW,2BACV/hB,KAAK4gB,MAAM+N,UAAU,2DAAyE,gBAAoB,KAAM,MAAO3uB,KAAK4gB,MAAM+N,UAAU,kCAG7J,IAEJ,CA/BgC,CA+B9B,EAAA1N,WAQF,UAAe,SAPf,SAAyB1X,GACvB,MAAO,CACLjE,QAASiE,EAAMsV,KAAKlO,cACpBD,SAAUnH,EAAMqT,UAAUlM,SAC1Bie,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtCjN,mCAAoCA,GACpC6E,0BAA2BA,GAC3BsG,aAAcA,IAHhB,CAIGugC,ICpDH,SAAS,GAAW54C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAGlP,IAAI64C,GAA2B,SAAUv5B,GACvC,SAASu5B,IAEP,OADA,OAAgB55C,KAAM45C,GACf,GAAW55C,KAAM45C,EAAal4C,UACvC,CAEA,OADA,QAAUk4C,EAAav5B,IAChB,OAAau5B,EAAa,CAAC,CAChCv3C,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,eACXqC,wBAAyB,CACvBC,OAAQooB,GAAezsC,KAAK4gB,MAAMI,YAGxC,IAEJ,CAjB+B,CAiB7B,EAAAC,WCpBF,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAYlP,IAAI84C,GAAuB,SAAUx5B,GACnC,SAASw5B,EAAQj5B,GACf,IAAIjc,EAoCJ,OAnCA,OAAgB3E,KAAM65C,GACtBl1C,EAAQ,GAAW3E,KAAM65C,EAAS,CAACj5B,KACnC,OAAgBjc,EAAO,qBAAqB,WAC1CA,EAAMic,MAAM1P,WAAWvM,EAAMic,MAAMjQ,cAAehM,EAAMic,MAAMuR,MAAMlW,OAAOrV,IAAI1D,MAAK,WAClFyB,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAMxH,aAAazU,EAAMic,MAAMrP,QAAQ0I,MAC/C,GACF,KACA,OAAgBtV,EAAO,kBAAkB,SAAU8P,GACjD,IAAI9D,EAAgBnL,IACpB,GAAIiP,EAASvM,WAAayI,EACxB,OAAO,KAET,IAAIge,EAAYhqB,EAAMic,MAAM+N,UAC5B,OAAoB,gBAAoB,GAAS,CAC/CtsB,IAAKoS,EAAS7N,GACdiF,OAAQ,aAAelH,EAAMic,MAAMrP,QAAQ3K,GAAK,aAAe6N,EAAS7N,IAC1D,gBAAoBg5B,GAAS,CAC3C3lB,MAAO0U,EAAU,SAChBla,EAASnP,QAAQmlB,UAAY,IAAMhW,EAASnP,QAAQolB,UAAwB,gBAAoBkV,GAAS,CAC1G3lB,MAAO0U,EAAU,aACjBmR,QAAQ,GACPrrB,EAASqlC,SAAWnrB,EAAU,YAAc,MAAoB,gBAAoBiR,GAAS,CAC9F3lB,MAAO0U,EAAU,cACjBmR,QAAQ,GACU,MAAjBrrB,EAAS+X,KAAe,IAAI,GAAS/X,EAAS+X,MAAMkB,oBAAsB,IAAkB,gBAAoBkS,GAAS,CAC1H3lB,MAAO0U,EAAU,YACjBmR,QAAQ,GACa,MAApBrrB,EAASuH,QAAkB,IAAI,GAASvH,EAASuH,SAAS0R,oBAAsB,IACrF,IACA/oB,EAAM4E,MAAQ,CACZgnB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUk1C,EAASx5B,IACZ,OAAaw5B,EAAS,CAAC,CAC5Bx3C,IAAK,SACLC,MAAO,WACL,GAAItC,KAAKuJ,MAAMgnB,QACb,OAAoB,gBAAoB,GAAS,CAC/C3O,QAAQ,IAGZ,IAAI+M,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,gCACXE,MAAO,CACLse,WAAY,IAEA,gBAAoB,GAAAjc,MAAO,KAAmB,gBAAoB,OAAQ,CACxFvC,UAAW,SACV4M,EAAU,wBAAsC,gBAAoBirB,GAAa,KAAM55C,KAAK4gB,MAAMrP,QAAQm7B,eAA6B,gBAAoB,MAAO,CACnK3qB,UAAW,aACI,gBAAoB,MAAO,CAC1CA,UAAW,0BACG,gBAAoB,GAAc,KAAmB,gBAAoB,OAAQ,KAAM4M,EAAU,eAA6B,gBAAoB,GAAU,CAC1K5oB,KAAM/F,KAAK4gB,MAAMrP,QAAQwoC,UACzB30B,UAAWplB,KAAKg6C,kBAEpB,IAEJ,CArE2B,CAqEzB,EAAA/4B,WAQF,UAAe,SAPf,SAAyB1X,GACvB,MAAO,CACLgI,QAAShI,EAAMqV,SAASrN,QACxBZ,cAAepH,EAAMqT,UAAUjM,cAC/Bge,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtChK,WAAYA,GACZkI,aAAcA,IAFhB,CAGGygC,IC5FH,SAAS,GAAQh5C,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAIk5C,GAA4B,SAAU55B,GACxC,SAAS45B,IACP,IAAIt1C,GACJ,OAAgB3E,KAAMi6C,GACtB,IAAK,IAAI35B,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAqDzB,OAnDA9b,EAAQ,GAAW3E,KAAMi6C,EAAc,GAAG36C,OAAOihB,KACjD,OAAgB5b,EAAO,UAAU,SAAU+P,GACzC,OAAO,IAAI5R,SAAQ,SAAUC,GAC3B,IAAIq8B,EAAe,GACft5B,EAAS4O,EAAO5O,OACN,MAAVA,IACFA,EAAS,SAEX9E,OAAOC,KAAKyT,GAAQoJ,KAAI,SAAUzb,EAAK4hB,GACrC,IAAIi2B,EACJ,GAAW,UAAP73C,EAAJ,CAGA,IAAI83C,EAAgBx1C,EAAMic,MAAM6e,OAAOnpB,MAAK,SAAUvV,GACpD,OAAOA,EAAEyY,MAAQnX,CACnB,IACI+3C,EAAkE,QAAjDF,EAAuBv1C,EAAMic,MAAMnM,gBAA+C,IAAzBylC,OAAkC,EAASA,EAAqB9a,aAAa9oB,MAAK,SAAUvV,GACxK,OAAOA,EAAEs+B,WAAah9B,CACxB,IACI2vB,EAAS,CACX,UAAa3vB,EACb,MAASqS,EAAOrS,GAChB,gBAAoC,MAAjB83C,EAAwBA,EAAcvzC,GAAK,KAC9D,GAAuB,MAAjBwzC,EAAwBA,EAAcxzC,GAAK,MAEnDw4B,EAAa79B,KAAKywB,EAblB,CAcF,IACA,IAAIjsB,EAAO,CACTq5B,aAAcA,EACdt5B,OAAQA,GAEV,GAA4B,MAAxBnB,EAAMic,MAAM+T,UAA4C,MAAxBhwB,EAAMic,MAAMnM,SAC9C9P,EAAMic,MAAM+T,SAAS5uB,GAAM7C,MAAK,WAC9BH,EAAQ,GACmB,MAAvB4B,EAAMic,MAAMy5B,SACd11C,EAAMic,MAAMy5B,SAAQ,EAExB,QACK,CACL,IAAIC,EAAQ31C,EAAMic,MAAMnM,SACxB6lC,EAAMlb,aAAeA,EACrBkb,EAAMx0C,OAASA,EACfnB,EAAMic,MAAMpM,mBAAmB8lC,GAAOp3C,MAAK,WACzCH,EAAQ,GACmB,MAAvB4B,EAAMic,MAAMy5B,SACd11C,EAAMic,MAAMy5B,SAAQ,EAExB,GACF,CACF,GACF,IACO11C,CACT,CAEA,OADA,QAAUs1C,EAAc55B,IACjB,OAAa45B,EAAc,CAAC,CACjC53C,IAAK,SACLC,MAAO,WACL,IACEi4C,EACAC,EAFEloB,EAAStyB,KAGT0hB,EAAc1hB,KAAK4gB,MACrByV,EAAe3U,EAAY2U,aAC3BC,EAAa5U,EAAY4U,WACzB3H,EAAYjN,EAAYiN,UAC1B,OAAyB,MAArB3uB,KAAK4gB,MAAM6e,OACN,KAEW,gBAAoB,OAAQ,CAC9C9K,SAAU0B,EAAar2B,KAAKy2B,OAAOgkB,KAAKz6C,OACxC+hB,UAAW,uBACG,gBAAoB,MAAO,CACzCA,UAAW,uBACV/hB,KAAK4gB,MAAM6e,OAAO3hB,KAAI,SAAUmhB,EAAOhb,GAExC,OADAgb,EAAMzN,SAAoC,MAAzBc,EAAO1R,MAAMk5B,UAAmBxnB,EAAO1R,MAAMk5B,SAC1C,gBAAoB,IAAO,QAAS,CACtDz3C,IAAK,SAAW4hB,GACfgb,GACL,KAAKj/B,KAAK4gB,MAAM6e,OAAO99B,OAAS,IAAM3B,KAAK4gB,MAAMk5B,SAAwB,gBAAoB,MAAO,CAClG/3B,UAAW,2BAC8H,cAArF,QAAjDw4B,EAAwBv6C,KAAK4gB,MAAMnM,gBAAgD,IAA1B8lC,OAAmC,EAASA,EAAsBz0C,QAAsC,gBAAoB,GAAA8wB,OAAQ,CAChMpF,SAAU8E,GACTA,EAA0B,gBAAoB,GAAS,CACxDxU,OAAO,EACPF,QAAQ,IACL,KAAM+M,EAAU,SAAW,KAAmB,gBAAoB,MAAO,CAC5E5M,UAAW,eACG,gBAAoB,GAAA6U,OAAQ,CAC1C9T,QAASuT,GAAa,SAAU3hB,GAC9B,OAAO4d,EAAOmE,OAAO,GAAc,GAAc,CAAC,EAAG/hB,GAAS,CAAC,EAAG,CAChE5O,OAAQ,cAEZ,IACA0rB,SAAU8E,GAAct2B,KAAK4gB,MAAM4Q,UAClC8E,EAA0B,gBAAoB,GAAS,CACxDxU,OAAO,EACPF,QAAQ,IACL,KAA8I,KAArF,QAAjD44B,EAAwBx6C,KAAK4gB,MAAMnM,gBAAgD,IAA1B+lC,OAAmC,EAASA,EAAsB10C,QAAgB6oB,EAAU,UAAYA,EAAU,YAA0B,gBAAoB,MAAO,CAC3O5M,UAAW,cACP,KACR,IAEJ,CA5GgC,CA4G9B,EAAAd,WAcF,UAAe,SAbf,SAAyB1X,EAAOmxC,GAC9B,IAAIC,EAAgB,KAOpB,OANyB,MAArBD,EAASjmC,WACXkmC,EAAgB,CAAC,EACjBD,EAASjmC,SAAS2qB,aAAax9B,SAAQ,SAAUowB,GAC/C2oB,EAAc3oB,EAAOqN,WAAarN,EAAO1vB,KAC3C,KAEK,CACLq4C,cAAeA,EACfhsB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC1G,mBAAoBA,IADtB,EAEG,EAAAqiB,GAAA,GAAU,CACXC,kBAAkB,EAClB8jB,oBAAoB,EACpBrQ,MAAM,GAHL,CAIA0P,KC5IH,SAAS,GAAWl5C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAUlP,IAAI,GAAuB,SAAUsf,GAEnC,SAASw6B,EAAQj6B,GACf,IAAIjc,EAmPJ,OAlPA,OAAgB3E,KAAM66C,GACtBl2C,EAAQ,GAAW3E,KAAM66C,EAAS,CAACj6B,KAEnC,OAAgBjc,EAAO,qBAAqB,WAE1C,IAAIuD,EAAYvD,EAAMic,MAAMjQ,cAAc/J,GAC1C,GAA8B,MAA1BjC,EAAMic,MAAM5X,WAAoB,CAClC,IAAIA,EAAarE,EAAMic,MAAM5X,WAC7BrE,EAAMic,MAAMk6B,4BAA4B9xC,EAAWpC,GAAI,aAAcsB,GAAWhF,MAAK,WACnFyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,CACA,GAAwB,MAApB5rB,EAAMic,MAAMnO,KAAc,CAC5B,IAAIA,EAAO9N,EAAMic,MAAMnO,KACvB9N,EAAMic,MAAMk6B,4BAA4BroC,EAAK7L,GAAI,OAAQsB,GAAWhF,MAAK,WACvEyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,CACA,GAAmC,MAA/B5rB,EAAMic,MAAMpP,gBAAyB,CACvC,IAAIA,EAAkB7M,EAAMic,MAAMpP,gBAClC7M,EAAMic,MAAMk6B,4BAA4BtpC,EAAgB5K,GAAI,oBAAoB1D,MAAK,WACnFyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,CACA5rB,EAAMye,SAAS,CACb/b,KAAM1C,EAAMic,MAAMzN,SAEtB,KACA,OAAgBxO,EAAO,oCAAoC,SAAU+e,GACnE,GAA4B,MAAxBA,EAAUq3B,WACZ,OAAO,EAET,GAAIr3B,EAAUq3B,YAAcp2C,EAAMic,MAAMm6B,WAAY,CAClD,IAAI9rB,EAAU,CACZroB,GAAIjC,EAAMq2C,gBAER3tC,EAAe1I,EAAMs2C,uBAAuBhsB,GAC5B,MAAhB5hB,GAA2C,GAAnBA,EAAazG,KACvCjC,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAM5T,gBAAgBK,EAAazG,IAAI1D,MAAK,WAChDyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,IAEJ,CACF,KAEA,OAAgB5rB,EAAO,gBAAgB,WACrC,IAAIsqB,EAAU,KAcd,OAb8B,MAA1BtqB,EAAMic,MAAM5X,aAEZimB,EADEtqB,EAAMic,MAAM5X,WAAWpC,IAAMV,SAASvB,EAAMic,MAAM5X,WAAWpC,GAAI,IACzDjC,EAAMic,MAAM5X,WAAWimB,QAEvBtqB,EAAMic,MAAM5X,WAAWkyC,UAAU7zC,KAAKT,IAG5B,MAApBjC,EAAMic,MAAMnO,OACdwc,EAAUtqB,EAAMic,MAAMnO,KAAKwc,SAEM,MAA/BtqB,EAAMic,MAAMpP,kBACdyd,EAAUtqB,EAAMic,MAAMpP,gBAAgByd,SAEjCA,CACT,KACA,OAAgBtqB,EAAO,kBAAkB,SAAUuD,GACjD,IAAIizC,EAAa,GACb1/B,EAAY,CAAC,EAoBjB,OAnB8B,MAA1B9W,EAAMic,MAAM5X,aACdyS,EAAUH,YAAc3W,EAAMic,MAAM5X,WAAWpC,GAC/C6U,EAAUF,cAAgB,cAEJ,MAApB5W,EAAMic,MAAMnO,OACdgJ,EAAUH,YAAc3W,EAAMic,MAAMnO,KAAK7L,GACzC6U,EAAUF,cAAgB,QAEO,MAA/B5W,EAAMic,MAAMpP,kBACdiK,EAAUH,YAAc3W,EAAMic,MAAMpP,gBAAgB5K,GACpD6U,EAAUF,cAAgB,oBAE5B4/B,EAAW55C,KAAKka,GACC,MAAbvT,GAAkC,IAAbA,GACvBizC,EAAW55C,KAAK,CACdga,cAAe,UACfD,YAAapT,IAGVizC,CACT,KACA,OAAgBx2C,EAAO,oBAAoB,SAAUW,GACnD,IAAI8b,EAAc,GAClB,GAAmC,MAA/Bzc,EAAMic,MAAMpP,gBACd4P,EAAY7f,KAAK,CACf+f,aAAc3c,EAAMic,MAAMm6B,WAAWn0C,GACrC2a,eAAgB,OAChB8X,WAAY,UAET,CACL,IAAII,EAAQ90B,EAAMq2C,eACL,MAATvhB,GACFrY,EAAY7f,KAAK,CACf+f,aAAcmY,EACdlY,eAAgB,OAChB8X,WAAY,KAGlB,CACA,OAAOjY,CACT,KACA,OAAgBzc,EAAO,0BAA0B,SAAU0C,GACzD,IAAIiG,EAAgB3I,EAAMic,MAAMtT,cAChC,OAAqB,MAAjBA,EACUA,EAAcgJ,MAAK,SAAUjJ,GAIvC,OAAqB,MAHJA,EAAa+T,YAAY9K,MAAK,SAAU6gB,GACvD,MAAgC,QAAzBA,EAAO5V,gBAA4B4V,EAAO7V,cAAgBja,EAAKT,EACxE,GAEF,IAGK,IACT,KACA,OAAgBjC,EAAO,iBAAiB,SAAU0I,EAAc+tC,GAC9D,IAAI/5B,EAAahU,EAAa+T,YAAY9K,MAAK,SAAU6gB,GACvD,MAAgC,QAAzBA,EAAO5V,gBAA4B4V,EAAO7V,cAAgB85B,CACnE,IACA,OAAkB,MAAd/5B,EACKA,EAEF,IACT,KAEA,OAAgB1c,EAAO,gBAAgB,WACjCA,EAAMic,MAAM0X,SACd3zB,EAAMic,MAAM0X,SAEhB,KACA,OAAgB3zB,EAAO,YAAY,SAAU+P,EAAQrN,GACnD,OAAO,IAAIvE,SAAQ,SAAUC,GAC3B,IAAImF,EAAY,GAEdA,EADiC,MAA/BvD,EAAMic,MAAMpP,gBACF7M,EAAMic,MAAMpP,gBAAgBtJ,UAE5BvD,EAAMic,MAAMm6B,WAAWn0C,GAErC8N,EAAOua,QAAUtqB,EAAMic,MAAMzN,QAAQvM,UAC9B8N,EAAOwhB,eACd,IAAI7oB,EAAe,CACjBE,SAAU,CAACmH,GACX0M,YAAazc,EAAM02C,iBAAiBh0C,GACpC+jB,cAAezmB,EAAM22C,eAAepzC,GACpC+R,MAAO,GACPnU,OAAQ,UAEVnB,EAAMic,MAAMxT,mBAAmBC,EAAcnF,GAAWhF,MAAK,WAE3DyB,EAAM42C,oBACN52C,EAAMic,MAAM5T,gBAAgBrI,EAAMic,MAAW,KAC7Cjc,EAAMic,MAAMjV,SAAShH,EAAMic,MAAM+N,UAAU,gBAAiB,QAC5D5rB,EAAQ,EACV,GACF,GACF,KACA,OAAgB4B,EAAO,iBAAiB,SAAU+P,GAChD,OAAO,IAAI5R,SAAQ,SAAUC,GAC3B,IAAIsE,EAAO1C,EAAM4E,MAAMlC,KACvBqN,EAAOua,QAAU5nB,EAAKT,GACtBjC,EAAMic,MAAM3T,cAAcyH,GAAQxR,MAAK,WACrCyB,EAAMye,SAAS,CAAC,GAChBrgB,EAAQ,EACV,GACF,GACF,KACA,OAAgB4B,EAAO,sBAAsB,SAAU0e,EAAMhW,EAAchG,GACrD1C,EAAMic,MAAMtT,cAC5B+V,EACF1e,EAAMye,SAAS,CACbC,KAAMhc,EAAKT,KAGbjC,EAAMye,SAAS,CACbC,KAAM,KAGNA,GAA2B,GAAnBhW,EAAazG,IAASjC,EAAMic,MAAM5T,gBAAgBK,EAAazG,GAC7E,KAEA,OAAgBjC,EAAO,6BAA6B,WAClD,IAAIsqB,EAAU,CACZroB,GAAIjC,EAAMq2C,gBAER3tC,EAAe1I,EAAMs2C,uBAAuBhsB,GAC5CO,GAAU,EAOd,OANoB,MAAhBniB,IACFmiB,GAAU,EACVniB,EAAe,CACbzG,GAAI,IAGY,gBAAoB,MAAO,CAC7Cmb,UAAW,qCACXE,MAAO,CACL+iB,UAAW,OACX9H,aAAc,EACd3T,OAAQ,SAETiG,EAAuB,gBAAoB,GAAsB,CAClEniB,aAAc1I,EAAMic,MAAM4E,SACV,gBAAoB,MAAO,CAC3CzD,UAAW,sBACVpd,EAAMic,MAAM+N,UAAU,uBAAwBa,EAAuB,gBAAoB,GAAa,CACvGniB,aAAcA,EACdsnB,SAAUhwB,EAAMsI,cAChBuuC,OAAQ72C,EAAMic,MAAM+N,UAAU,UACd,gBAAoB,GAAa,CACjDthB,aAAc,KACdsnB,SAAU,SAAkBjgB,GAC1B,OAAO/P,EAAM82C,SAAS/mC,EAAQ/P,EAAMic,MAAMzN,QAC5C,EACAqoC,OAAQ72C,EAAMic,MAAM+N,UAAU,UAElC,KACA,OAAgBhqB,EAAO,iBAAiB,WACtC,OAAIA,EAAM4E,MAAMgnB,QACM,gBAAoB,GAAS,CAC/C3O,QAAQ,IAGLjd,EAAM+2C,2BACf,IACA/2C,EAAM4E,MAAQ,CACZgnB,SAAS,EACTlN,KAAM,IAED1e,CACT,CAEA,OADA,QAAUk2C,EAASx6B,IACZ,OAAaw6B,EAAS,CAAC,CAC5Bx4C,IAAK,SACLC,MAAO,WACL,OAA6B,MAAzBtC,KAAK4gB,MAAMm6B,WACN,KAEW,gBAAoB1d,GAAO,CAC7Cl1B,KAAM,QACNmwB,QAASt4B,KAAK27C,aACdx4B,QAAQ,EACRlJ,MAAOja,KAAK4gB,MAAM+N,UAAU,8BACd,gBAAoB,MAAO,CACzC5M,UAAW,6BACV/hB,KAAK6kB,iBACV,IAEJ,CAzQ2B,CAyQzB,EAAA5D,WAWF,UAAe,SAVf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1BrD,cAAe/D,EAAM0U,aAAaC,uBAClCsH,OAAQjc,EAAM0U,aAAa5Q,aAC3B8F,QAAS5J,EAAM4J,QAAQA,QACvB,IAAO5J,EAAM0U,aAAkB,IAC/B0Q,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC4/B,4B5H3PuC,SAAqCx/B,EAAaC,EAAejW,GACxG,MAAO,CACL6C,KAAMkE,GACNjE,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,6BAA6B/G,OAAOgc,EAAa,mBAAmBhc,OAAOic,IAAgBrY,MAAK,SAAUe,GAChHlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,E4HmPEqH,mBAAoBA,GACpBzB,SAAUA,GACVsB,cAAeA,GACfD,gBAAiBA,IALnB,CAMG,IC1SI,IAAI4uC,GAAyB,WAClC,IAAIC,EAAwBp5C,aAAagD,QAAQ,yBAC7Cq2C,EAAsBr5C,aAAagD,QAAQ,uBAC3Cs2C,EAAQ,CACVrY,MAAO,OAASpX,SAAS,EAAG,UAAU7T,OAAO,cAC7C2U,IAAK,OAAS3U,OAAO,eAQvB,OAN6B,MAAzBojC,GAA0D,gBAAzBA,IACnCE,EAAMrY,MAAQ,KAAOmY,GAAuBpjC,OAAO,eAE1B,MAAvBqjC,GAAsD,gBAAvBA,IACjCC,EAAM3uB,IAAM,KAAO0uB,GAAqBrjC,OAAO,eAE1CsjC,CACT,E,6ECTA,SAAS,GAAWh7C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAYlP,IAAIi7C,GAA2B,SAAU37B,GACvC,SAAS27B,EAAYp7B,GACnB,IAAIjc,EAoIAs3C,EACAC,EACAC,EACAC,EAqBJ,OA3JA,OAAgBp8C,KAAMg8C,GACtBr3C,EAAQ,GAAW3E,KAAMg8C,EAAa,CAACp7B,KACvC,OAAgBjc,EAAO,iBAAiB,SAAUmH,GAChD,IAAI+tB,EAAcl1B,EAAM4E,MACtB8yC,EAAoBxiB,EAAYwiB,kBAChCxyC,EAAYgwB,EAAYhwB,UAC1B,GAAY,gBAARiC,GAAkC,MAARA,EAC5BuwC,EAAoB,KAAOvwC,GAC3BjC,EAAY,KAAOiC,GAAM2M,OAAO,cAChC9T,EAAMye,SAAS,CACbi5B,kBAAmBA,EACnBxyC,UAAWA,IACV,WACDlF,EAAM2e,UACR,QACK,CACL,IAAIg5B,EAAa,OACbC,EAAc,OAAS9jC,OAAO,cAC9B+jC,EAAW,OACXxyC,EAAU,OAASyO,OAAO,cAC9B9T,EAAMye,SAAS,CACbi5B,kBAAmBC,EACnBG,gBAAiBD,EACjB3yC,UAAW0yC,EACXvgC,QAAShS,GAEb,CACF,KACA,OAAgBrF,EAAO,iBAAiB,WAItC,OAHa,iBAAkB,KAAAmc,sBAAqB47B,eAAe,KAC5C/iC,QAAQ,OAAQ,QAClBA,QAAQ,KAAM,KAErC,KACA,OAAgBhV,EAAO,eAAe,SAAUmH,GAC9C,IAAI6wC,EAAeh4C,EAAM4E,MACvBkzC,EAAkBE,EAAaF,gBAC/BzgC,EAAU2gC,EAAa3gC,QACzB,GAAY,gBAARlQ,GAAkC,MAARA,EAC5B2wC,EAAkB,KAAO3wC,GACzBkQ,EAAU,KAAOlQ,GAAM2M,OAAO,cAC9B9T,EAAMye,SAAS,CACbq5B,gBAAiBA,EACjBzgC,QAASA,IACR,WACDrX,EAAM2e,UACR,QACK,CACL,IAAIk5B,EAAW,OACXxyC,EAAU,OAASyO,OAAO,cAC9B9T,EAAMye,SAAS,CACbq5B,gBAAiBD,EACjBxgC,QAAShS,IACR,WACDrF,EAAM2e,UACR,GACF,CACF,KACA,OAAgB3e,EAAO,gBAAgB,SAAUrC,GAC/C,GAAa,IAATA,EAAa,CACf,IAAIg6C,EAAa,OACbzyC,EAAY,OAAS4O,OAAO,cAC5B+jC,EAAW,OACXxyC,EAAU,OAASyO,OAAO,cAC9B,OAAQnW,GACN,IAAK,OACC,OAASs6C,QAAU,GACrBN,EAAa,OAAShwB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,GACxD3iB,EAAY,OAASyiB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,GAAG/T,OAAO,cACjE+jC,EAAW,OAASI,MAAM,GAAGpwB,KAAK,IAClCxiB,EAAU,OAAS4yC,MAAM,GAAGpwB,KAAK,IAAI/T,OAAO,gBAE5C6jC,EAAa,OAASM,MAAM,GAAGpwB,KAAK,GACpC3iB,EAAY,OAAS+yC,MAAM,GAAGpwB,KAAK,GAAG/T,OAAO,cAC7C+jC,EAAW,OAAShkC,IAAI,EAAG,QAAQokC,MAAM,GAAGpwB,KAAK,IACjDxiB,EAAU,OAASwO,IAAI,EAAG,QAAQokC,MAAM,GAAGpwB,KAAK,IAAI/T,OAAO,eAE7D,MACF,IAAK,gBACC,OAASmkC,QAAU,GACrBN,EAAa,OAAShwB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,GACxD3iB,EAAY,OAASyiB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,GAAG/T,OAAO,cACjE+jC,EAAW,OAASlwB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,IACtDxiB,EAAU,OAASsiB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,IAAI/T,OAAO,gBAEhE6jC,EAAa,OAAShwB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,GACxD3iB,EAAY,OAASyiB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,GAAG/T,OAAO,cACjE+jC,EAAW,OAASlwB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,IACtDxiB,EAAU,OAASsiB,SAAS,EAAG,QAAQswB,MAAM,GAAGpwB,KAAK,IAAI/T,OAAO,eAElE,MACF,IAAK,WACC,OAASmkC,QAAU,GACrBN,EAAa,OAASM,MAAM,GAAGpwB,KAAK,GACpC3iB,EAAY,OAAS+yC,MAAM,GAAGpwB,KAAK,GAAG/T,OAAO,cAC7C+jC,EAAW,OAASI,MAAM,GAAGpwB,KAAK,IAClCxiB,EAAU,OAAS4yC,MAAM,GAAGpwB,KAAK,IAAI/T,OAAO,gBAE5C6jC,EAAa,OAASM,MAAM,GAAGpwB,KAAK,GACpC3iB,EAAY,OAAS+yC,MAAM,GAAGpwB,KAAK,GAAG/T,OAAO,cAC7C+jC,EAAW,OAASI,MAAM,IAAIpwB,KAAK,IACnCxiB,EAAU,OAAS4yC,MAAM,IAAIpwB,KAAK,IAAI/T,OAAO,eAInD9T,EAAMye,SAAS,CACbi5B,kBAAmBC,EACnBG,gBAAiBD,EACjB3yC,UAAWA,EACXmS,QAAShS,IACR,WACDrF,EAAM2e,UACR,GACF,CACF,KACA,OAAgB3e,EAAO,YAAY,WACjC,GAAIA,EAAMic,MAAM0C,SAAU,CACxB,IAAIy4B,EAAQ,CACVrY,MAAO/+B,EAAM4E,MAAMM,UACnBujB,IAAKzoB,EAAM4E,MAAMyS,SAEnBrX,EAAMic,MAAM0C,SAASy4B,EACvB,CACF,IACA,aAAc,KAAAj7B,uBACd,KAAA+7B,gBAAe,QAAS,OACxB,KAAAA,gBAAe,QAASC,GAAA,IACxB,KAAAD,gBAAe,QAAS,OACxB,KAAAA,gBAAe,QAASE,GAAA,IACxB,KAAAF,gBAAe,KAAMG,GAAA,IACrB,KAAAC,kBAAiB,SAKM,MAAnBr8B,EAAM/W,WACRoyC,EAAc,KAAOr7B,EAAM/W,WAC3BsyC,EAAav7B,EAAM/W,YAEnBoyC,EAAc,OACdE,EAAa,OAAS1jC,OAAO,eAEV,MAAjBmI,EAAM5E,SACRkgC,EAAY,KAAOt7B,EAAM5E,SACzBogC,EAAWx7B,EAAM5E,UAEjBkgC,EAAY,OACZE,EAAW,OAAS3jC,OAAO,eAE7B9T,EAAM4E,MAAQ,CACZ8yC,kBAAmBJ,EACnBQ,gBAAiBP,EACjBryC,UAAWsyC,EACXngC,QAASogC,GAEJz3C,CACT,CAEA,OADA,QAAUq3C,EAAa37B,IAChB,OAAa27B,EAAa,CAAC,CAChC35C,IAAK,SACLC,MAAO,WACL,IAAIqsB,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,QACG,gBAAoB,MAAO,CACzCA,UAAW,YACG,gBAAoB,MAAO,CACzCA,UAAW,wBACG,gBAAoB,QAAS,CAC3Cm7B,QAAS,aACTj7B,MAAO,CACLyR,UAAW,IAEZ/E,EAAU,UAAwB,gBAAoB,KAAY,CACnEiK,SAAU54B,KAAKuJ,MAAM8yC,kBAAkBpR,SACvCphC,UAAW7J,KAAKuJ,MAAM8yC,kBAAkBpR,SACxCjvB,QAAShc,KAAKuJ,MAAMkzC,gBAAgBxR,SACpC3nB,SAAUtjB,KAAKm9C,cACfC,cAAc,EACdC,gBAAiB,eACjBC,iBAAiB,EACjBC,aAAa,EACbC,WAAYx9C,KAAKy9C,gBACjBC,yBAA0B,GAC1BC,qBAAsB,GACtB/wB,QAAQ,KAAA9L,wBACQ,gBAAoB,MAAO,CAC3CiB,UAAW,6BACG,gBAAoB,QAAS,CAC3Cm7B,QAAS,WACTj7B,MAAO,CACLyR,UAAW,IAEZ/E,EAAU,QAAsB,gBAAoB,KAAY,CACjEiK,SAAU54B,KAAKuJ,MAAMkzC,gBAAgBxR,SACrCphC,UAAW7J,KAAKuJ,MAAM8yC,kBAAkBpR,SACxCjvB,QAAShc,KAAKuJ,MAAMkzC,gBAAgBxR,SACpC2S,QAAS59C,KAAKuJ,MAAM8yC,kBAAkBpR,SACtC3nB,SAAUtjB,KAAK69C,YACfR,gBAAiB,eACjBS,YAAY,EACZN,WAAYx9C,KAAKy9C,gBACjBH,iBAAiB,EACjBC,aAAa,EACbG,yBAA0B,GAC1BC,qBAAsB,GACtBI,aAAa,EACbnxB,QAAQ,KAAA9L,wBACQ,gBAAoB,MAAO,CAC3CmB,MAAO,CACL+H,QAAS,iBAEG,gBAAoB,GAAAg0B,OAAQ,CAC1C16B,SAAUtjB,KAAKi+C,aACf7Z,QAAS,CAAC,CACR5W,MAAOmB,EAAU,uBACjBrsB,MAAO,QACN,CACDkrB,MAAOxtB,KAAK4gB,MAAM+N,UAAU,uBAC5BrsB,MAAO,iBACN,CACDkrB,MAAOmB,EAAU,oBACjBrsB,MAAO,cAERqsB,EAAU,oBACf,IAEJ,CAtO+B,CAsO7B,EAAA1N,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,CAAwC8gC,ICzPxC,SAAS,GAAWj7C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAIlP,IAAIm9C,GAA2B,SAAU79B,GACvC,SAAS69B,EAAYt9B,GACnB,IAAIjc,EA2BJ,OA1BA,OAAgB3E,KAAMk+C,GACtBv5C,EAAQ,GAAW3E,KAAMk+C,EAAa,CAACt9B,KACvC,OAAgBjc,EAAO,qBAAqB,WAE5C,KACA,OAAgBA,EAAO,YAAY,SAAUuD,GAAY,KACzD,OAAgBvD,EAAO,SAAS,WAC9BA,EAAMye,SAAS,CACb9gB,MAAO,MACN,WACGqC,EAAMic,MAAM0C,UACd3e,EAAMic,MAAM0C,SAAS,IAEzB,GACF,KACA,OAAgB3e,EAAO,YAAY,SAAUG,GACvCH,EAAMic,MAAM0C,UACd3e,EAAMic,MAAM0C,SAASxe,EAAM+G,OAAOvJ,OAEpCqC,EAAMye,SAAS,CACb9gB,MAAOwC,EAAM+G,OAAOvJ,OAExB,IACAqC,EAAM4E,MAAQ,CACZjH,MAAO,KAEFqC,CACT,CAEA,OADA,QAAUu5C,EAAa79B,IAChB,OAAa69B,EAAa,CAAC,CAChC77C,IAAK,wBACLC,MAAO,SAA+BohB,EAAWy6B,GAC/C,IAAIC,EAAkBp+C,KAAK4gB,MAAM8K,SAAWhI,EAAUgI,OAClD2yB,EAAiBr+C,KAAK4gB,QAAU8C,EAChC46B,EAAiBt+C,KAAKuJ,QAAU40C,EAIpC,OAHIC,GACFp+C,KAAKu+C,SAAS76B,EAAUgI,WAEtB2yB,IAAkBC,EAIxB,GACC,CACDj8C,IAAK,SACLC,MAAO,WACL,IAAIof,EAAc1hB,KAAK4gB,MACrBnR,EAASiS,EAAYjS,OACrBkf,EAAYjN,EAAYiN,UAC1B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,QACG,gBAAoB,MAAO,CACzCA,UAAW,WACXE,MAAO,CACLiW,QAAS,IAEG,gBAAoB,MAAO,CACzCnW,UAAW,UACG,gBAAoB,QAAS,CAC3CE,MAAO,CACLyR,UAAW,IAEZ/E,EAAU,UAAwB,gBAAoB,SAAU,CACjErsB,MAAOtC,KAAKuJ,MAAMjH,MAClBghB,SAAUtjB,KAAKsjB,UACD,gBAAoB,SAAU,CAC5ChhB,MAAO,KACNqsB,EAAU,0BAAqC,MAAVlf,EAAiBA,EAAOqO,KAAI,SAAUmb,GAC5E,OAAoB,gBAAoB,SAAU,CAChD52B,IAAK,mBAAmB/C,OAAO25B,EAAMryB,IACrCtE,MAAO22B,EAAMryB,IACZqyB,EAAMhf,MACX,IAAK,MAA2B,KAApBja,KAAKuJ,MAAMjH,MAA4B,gBAAoB,MAAO,CAC5E2f,MAAO,CACLse,WAAY,SACZH,OAAQ,WAEVtd,QAAS9iB,KAAKo2B,OACbzH,EAAU,iBAAmB,OAClC,IAEJ,CApF+B,CAoF7B,EAAA1N,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLkG,OAAQlG,EAAMkG,OAAOK,iBACrB6e,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CAAC,EAAzC,CAA4CgjC,IChG5C,SAAS,GAAWn9C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CA6ElP,SA1E8B,SAAUgrB,GACtC,SAASyyB,IACP,IAAI75C,GACJ,OAAgB3E,KAAMw+C,GACtB,IAAK,IAAIl+B,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAWzB,OATA9b,EAAQ,GAAW3E,KAAMw+C,EAAY,GAAGl/C,OAAOihB,KAC/C,OAAgB5b,EAAO,SAAU,CAAC,UAElC,UAEA,UAAW,UAAW,UAAW,UAEjC,UAAW,UAAW,UAAW,YAE1BA,CACT,CAEA,OADA,QAAU65C,EAAYzyB,IACf,OAAayyB,EAAY,CAAC,CAC/Bn8C,IAAK,MACLC,MAAO,WACL,IAAIm8C,IAAS/8C,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,KAAmBA,UAAU,GACxEopB,EAAO9qB,KAAK+F,KACZ04C,IACF3zB,GAAc,GAEhB,IAAIkH,EAAS,GA4Bb,GA3BY,GAARlH,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,KAEZ,GAAR5zB,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,KAE5B,GAAR5zB,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,KAE5C,GAAR5zB,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,KAE5D,GAAR5zB,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,KAE5E,GAAR5zB,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,KAE5F,GAAR5zB,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,KAE5G,GAAR5zB,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,KAE5H,GAAR5zB,IACFkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,KAEpJ5zB,EAAO,EAAG,CACZkH,EAAS,CAAChyB,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,GAAI1+C,KAAK0+C,OAAO,IAEtJ,IADA,IAAIC,EAAS7zB,EAAO,EACXQ,EAAI,EAAGA,EAAIqzB,EAAQrzB,IAC1B0G,EAAOzwB,KAAKvB,KAAK0+C,OAAO,GAE5B,CAIA,OAHID,GACFzsB,EAAO5T,QAAQpe,KAAK0+C,OAAO,IAEtB1sB,CACT,GACC,CACD3vB,IAAK,SACLC,MAAO,WACL,OAAOtC,KAAK0+C,MACd,IAEJ,CAzE8B,CAyE5B,IC7EF,SAAS,GAAW39C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAI69C,GAA6B,SAAUv+B,GACzC,SAASu+B,IACP,IAAIj6C,GACJ,OAAgB3E,KAAM4+C,GACtB,IAAK,IAAIt+B,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAoBzB,OAlBA9b,EAAQ,GAAW3E,KAAM4+C,EAAe,GAAGt/C,OAAOihB,KAClD,OAAgB5b,EAAO,qBAAqB,WAChB,MAAtBA,EAAMic,MAAM5M,QACdrP,EAAMic,MAAMjN,iBAAiBhP,EAAMic,MAAMjQ,cAAc/J,GAE3D,KACA,OAAgBjC,EAAO,YAAY,SAAUk6C,GAC3C,GAA0B,MAAtBl6C,EAAMic,MAAM5M,QAA+C,GAA7BrP,EAAMic,MAAM5M,OAAOrS,OACnD,OAAO,KAET,IAAI43B,EAAQ50B,EAAMic,MAAM5M,OAAOsC,MAAK,SAAUoyB,GAC5C,OAAOA,EAAM9hC,IAAMi4C,CACrB,IACA,OAAa,MAATtlB,EACKA,EAEF50B,EAAMic,MAAM5M,OAAO,EAC5B,IACOrP,CACT,CAEA,OADA,QAAUi6C,EAAev+B,IAClB,OAAau+B,EAAe,CAAC,CAClCv8C,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACb,GAA0B,MAAtBA,KAAK4gB,MAAMhD,QACb,OAAO,KAET,IAAI8qB,EAAQ1oC,KAAK8+C,SAAS9+C,KAAK4gB,MAAMhD,QAAQihC,SAC7C,GAAa,MAATnW,EACF,OAAO,KAET,IAAI/Z,EAAY3uB,KAAK4gB,MAAM+N,UACvB+vB,EAAS,IAAI,GAAWhW,EAAMqW,OAAOp9C,QAAQ0E,MACjD,OAAoB,gBAAoB,MAAO,CAC7C0b,UAAW,0BACG,gBAAoB,MAAO,CACzCA,UAAW,kBACV2mB,EAAMqW,OAAOjhC,KAAI,SAAUkhC,GAC5B,IAAIC,EAAS,CAAC,EAQd,OAP4B,MAAxB3sB,EAAO1R,MAAMhD,SACXohC,EAAKp4C,IAAM0rB,EAAO1R,MAAMhD,QAAQshC,eAClCD,EAAS,CACP34B,gBAAmC,MAAlB04B,EAAKpY,UAAoBoY,EAAKpY,UAAY8X,EAAOM,EAAKG,SAIzD,gBAAoB,MAAO,CAC7C98C,IAAK28C,EAAKp4C,GACVqb,MAAOg9B,EACPl9B,UAAW,aAEf,KAAkB,gBAAoB,MAAO,CAC3CA,UAAW,cACV2mB,EAAMqW,OAAOjhC,KAAI,SAAUkhC,EAAM/6B,GAClC,GAA4B,MAAxBqO,EAAO1R,MAAMhD,SACXohC,EAAKp4C,IAAM0rB,EAAO1R,MAAMhD,QAAQshC,aAAc,CAChD,IAAIE,EAAY,GAUhB,OATa,GAATn7B,IACFm7B,EAAYzwB,EAAU,sCAEX,GAAT1K,IACFm7B,EAAYzwB,EAAU,iDAEX,GAAT1K,IACFm7B,EAAYzwB,EAAU,wDAEJ,gBAAoB,OAAQ,CAC9CtsB,IAAK28C,EAAKp4C,IACqB,MAA9Bo4C,EAAKK,sBAAgCL,EAAKK,sBAAwBD,EACvE,CAEF,OAAO,IACT,KACF,IAEJ,CAnFiC,CAmF/B,EAAAn+B,WASF,UAAe,SARf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1BqD,OAAQzK,EAAMkU,WAAWzJ,OACzBpD,eAAgBrH,EAAMqT,UAAUhM,eAChC+d,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtCvH,iBAAkBA,IADpB,CAEGirC,ICxGH,SAAS,GAAW79C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAsClP,SAlC0C,SAAUsf,GAClD,SAASi/B,IAEP,OADA,OAAgBt/C,KAAMs/C,GACf,GAAWt/C,KAAMs/C,EAAwB59C,UAClD,CAEA,OADA,QAAU49C,EAAwBj/B,IAC3B,OAAai/B,EAAwB,CAAC,CAC3Cj9C,IAAK,SACLC,MAAO,WACL,IAAIi9C,EAAW,GAWf,OAV0B,MAAtBv/C,KAAK4gB,MAAMhD,QACb2hC,EAAWv/C,KAAK4gB,MAAMhD,QAAQ2hC,SACE,MAAvBv/C,KAAK4gB,MAAM2+B,SACpBA,EAAWv/C,KAAK4gB,MAAM2+B,SACO,MAApBv/C,KAAK4gB,MAAMte,QACpBi9C,EAAWv/C,KAAK4gB,MAAMte,OAER,MAAZi9C,GAAgC,IAAZA,IACtBA,EAAWA,EAAS5lC,QAAQ,gBAAiB,WAE3B,gBAAoB,MAAO,CAC7CoI,UAAW,oCACG,gBAAoB,MAAO,CACzCA,UAAW,QACY,MAAtB/hB,KAAK4gB,MAAMhD,QAA+B,gBAAoB,GAAQ,CACvE4M,OAAQxqB,KAAK4gB,MAAMhD,SACL,gBAAoB,OAAQ,CAC1CwG,wBAAyB,CACvBC,OAAQk7B,MAENA,GACR,IAEJ,CAjC0C,CAiCxC,EAAAt+B,WCtCF,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAIy+C,GAAmC,SAAUn/B,GAC/C,SAASm/B,IAEP,OADA,OAAgBx/C,KAAMw/C,GACf,GAAWx/C,KAAMw/C,EAAqB99C,UAC/C,CAEA,OADA,QAAU89C,EAAqBn/B,IACxB,OAAam/B,EAAqB,CAAC,CACxCn9C,IAAK,SACLC,MAAO,WACL,IAAIqC,EAAQ3E,KACZ,GAAwB,MAApBA,KAAK4gB,MAAM8nB,MACb,OAAO,KAEO1oC,KAAK4gB,MAAM+N,UAA3B,IACI+vB,EAAS,IAAI,GAAW1+C,KAAK4gB,MAAM8nB,MAAMqW,OAAOp9C,QAAQ0E,MAC5D,OAAoB,gBAAoB,MAAO,CAC7C0b,UAAW,iCACG,gBAAoB,MAAO,CACzCA,UAAW,iBACV/hB,KAAK4gB,MAAM8nB,MAAMqW,OAAOjhC,KAAI,SAAUkhC,EAAM/6B,GAC7C,IAAIg7B,EAAS,CAAC,EASd,OAR2B,MAAvBt6C,EAAMic,MAAMhD,SACVohC,EAAKp4C,IAAMjC,EAAMic,MAAMhD,QAAQshC,eACjCD,EAAS,CACP34B,gBAAmC,MAAlB04B,EAAKpY,UAAoBoY,EAAKpY,UAAY8X,EAAOM,EAAKG,OACvE17B,MAAO,UAIO,gBAAoB,MAAO,CAC7CphB,IAAK,wBAA0B28C,EAAKp4C,GACpCqb,MAAOg9B,EACPl9B,UAAW,QACe,MAAzBi9B,EAAKS,iBAA2BT,EAAKS,iBAAmBT,EAAKG,MAClE,KACF,IAEJ,CArCuC,CAqCrC,EAAAl+B,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,CAAwCskC,ICjDxC,SAAS,GAAWz+C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAI2+C,GAA8B,SAAUr/B,GAC1C,SAASq/B,IACP,IAAI/6C,GACJ,OAAgB3E,KAAM0/C,GACtB,IAAK,IAAIp/B,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA0BzB,OAxBA9b,EAAQ,GAAW3E,KAAM0/C,EAAgB,GAAGpgD,OAAOihB,KACnD,OAAgB5b,EAAO,qBAAqB,WAChB,MAAtBA,EAAMic,MAAM5M,QACdrP,EAAMic,MAAMjN,iBAAiBhP,EAAMic,MAAMhQ,eAAehK,GAE5D,KACA,OAAgBjC,EAAO,WAAW,WAChC,MAAO,CACL8lB,UAAW,OACXC,SAAU,OAEd,KACA,OAAgB/lB,EAAO,YAAY,SAAUk6C,GAC3C,GAA0B,MAAtBl6C,EAAMic,MAAM5M,QAA+C,GAA7BrP,EAAMic,MAAM5M,OAAOrS,OACnD,OAAO,KAET,IAAI43B,EAAQ50B,EAAMic,MAAM5M,OAAOsC,MAAK,SAAUoyB,GAC5C,OAAOA,EAAM9hC,IAAMi4C,CACrB,IACA,OAAa,MAATtlB,EACKA,EAEF50B,EAAMic,MAAM5M,OAAO,EAC5B,IACOrP,CACT,CAEA,OADA,QAAU+6C,EAAgBr/B,IACnB,OAAaq/B,EAAgB,CAAC,CACnCr9C,IAAK,SACLC,MAAO,WACL,GAA0B,MAAtBtC,KAAK4gB,MAAMhD,QACb,OAAO,KAET,IAAI8qB,EAAQ1oC,KAAK8+C,SAAS9+C,KAAK4gB,MAAMhD,QAAQihC,SAC7C,OAAoB,gBAAoB,MAAO,CAC7C98B,UAAW,qCACD,MAAT2mB,EAA6B,gBAAoB,GAAqB,CACvE9qB,QAAS5d,KAAK4gB,MAAMhD,QACpB8qB,MAAOA,IACJ,KAAmB,gBAAoB,GAAwB,CAClE9qB,QAAS5d,KAAK4gB,MAAMhD,UAExB,IAEJ,CAnDkC,CAmDhC,EAAAqD,WAQF,UAAe,SAPf,SAAyB1X,GACvB,MAAO,CACLyK,OAAQzK,EAAMkU,WAAWzJ,OACzBrD,cAAepH,EAAMqT,UAAUjM,cAC/BC,eAAgBrH,EAAMqT,UAAUhM,eAEpC,GACwC,CACtC+C,iBAAkBA,IADpB,CAEG+rC,ICpEH,SAAS,GAAW3+C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAKlP,IAAI4+C,GAAoB,SAAUt/B,GAChC,SAASs/B,EAAK/+B,GACZ,IAAIjc,EAyEJ,OAxEA,OAAgB3E,KAAM2/C,GACtBh7C,EAAQ,GAAW3E,KAAM2/C,EAAM,CAAC/+B,KAChC,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAIi7C,EAAWj7C,EAAMic,MAAMi/B,OAAOC,SAClCn7C,EAAMic,MAAMm/B,kDAAkDp7C,EAAMic,MAAMjQ,cAAehM,EAAMic,MAAMqY,MAAMryB,GAAIg5C,EAAUj7C,EAAMic,MAAM8iB,MAAO/+B,EAAMic,MAAMwM,KAAKlqB,MAAK,SAAU6C,GAC1K,IAAIi6C,EAAQ,GACRC,EAAmB,CAAC,UAExB,UAEA,UAEA,WAEAl6C,EAAKm6C,WAAWpiC,KAAI,SAAUqiC,GAC5BH,EAAMz+C,KAAK,CACT6+C,OAAQD,EAAKvX,MACbpb,MAAO2yB,EAAKvX,MACZnlB,MAAOw8B,EAAiBE,EAAKl8B,QAEjC,IACAtf,EAAMye,SAAS,CACbrd,KAAMi6C,GAEV,GACF,KACA,OAAgBr7C,EAAO,cAAc,WACnC,IAAI+c,EAAc/c,EAAMic,MACtBy/B,EAAa3+B,EAAY2+B,WACzBC,EAAY5+B,EAAY4+B,UAC1B,GAAwB,MAApB37C,EAAM4E,MAAMxD,KAAc,CAC5B,IAAIw6C,EAAQ,GACRC,EAAQ77C,EAAM4E,MAAMxD,KAAK+X,KAAI,SAAUvF,GACzC,OAAOrS,SAASqS,EAAK6nC,OAAQ,GAC/B,IAAGK,QAAO,SAAU78C,EAAMC,GACxB,OAAOD,EAAOC,CAChB,IAeA,OAdAc,EAAM4E,MAAMxD,KAAK+X,KAAI,SAAU4iC,GAC7B,IAAIC,EAAY,EAEdA,EADEH,EAAQ,EACEt6C,SAASw6C,EAAKN,OAAQ,IAAMI,EAAQ,IAAM,IAE1C,IAAMz6C,KAAKpE,OAAS,IAElC4+C,EAAMh/C,KAAK,CACTykB,MAAO26B,EACPnzB,MAAOkzB,EAAKlzB,MAAQkzB,EAAKlzB,MAAQ,GACjC/J,MAAOi9B,EAAKj9B,MAAQi9B,EAAKj9B,MAAQ,UACjC28B,OAAQM,EAAKN,QAEjB,IACoB,gBAAoB,MAAO,CAC7Cr+B,UAAW,iBACVw+B,EAAMziC,KAAI,SAAU4iC,EAAMp1B,GAC3B,IAAIrJ,EAAsB,MAAdy+B,EAAK16B,MAAgB,CAC/BkS,QAAS,yBACT5R,gBAAiBo6B,EAAKj9B,OACpB,CACFuC,MAAO06B,EAAK16B,MACZM,gBAAiBo6B,EAAKj9B,OAExB,OAAoB,gBAAoB,OAAQ,CAC9CphB,IAAKipB,EACLvJ,UAAW,OACXE,MAAOA,GACNq+B,EAAYI,EAAKlzB,MAAQ,KAAM6yB,EAAa,IAAI/gD,OAAOohD,EAAKN,QAAU,KAAMQ,eAAiB,IAAIthD,OAAOohD,EAAK16B,MAAO,KAAO,KAChI,IACF,CACF,IACArhB,EAAM4E,MAAQ,CACZxD,KAAM,MAEDpB,CACT,CAEA,OADA,QAAUg7C,EAAMt/B,IACT,OAAas/B,EAAM,CAAC,CACzBt9C,IAAK,mCACLC,MAAO,SAA0CohB,GAC/C,IAAI4O,EAAStyB,KACb,GAAI0jB,EAAUggB,OAAS1jC,KAAK4gB,MAAM8iB,OAAShgB,EAAU0J,KAAOptB,KAAK4gB,MAAMwM,IAAK,CAC1E,IAAIwyB,EAAW5/C,KAAK4gB,MAAMi/B,OAAOC,SACjC9/C,KAAK4gB,MAAMm/B,kDAAkD//C,KAAK4gB,MAAMjQ,cAAe3Q,KAAK4gB,MAAMqY,MAAMryB,GAAIg5C,EAAUl8B,EAAUggB,MAAOhgB,EAAU0J,KAAKlqB,MAAK,SAAU6C,GACnK,IAAIi6C,EAAQ,GACRC,EAAmB,CAAC,UAExB,UAEA,UAEA,WAEAl6C,EAAKm6C,WAAWpiC,KAAI,SAAUqiC,GAC5BH,EAAMz+C,KAAK,CACT6+C,OAAQD,EAAKvX,MACbpb,MAAO2yB,EAAKvX,MACZnlB,MAAOw8B,EAAiBE,EAAKl8B,QAEjC,IACAqO,EAAOlP,SAAS,CACdrd,KAAMi6C,GAEV,GACF,CACF,GACC,CACD39C,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,cACV/hB,KAAK6gD,aACV,IAEJ,CAnHwB,CAmHtB,EAAA5/B,YACF,OAAgB0+B,GAAM,eAAgB,CACpCU,YAAY,EACZC,WAAW,KAQE,SANO,SAAyB/2C,GAC7C,MAAO,CACL0vB,MAAO1vB,EAAMkG,OAAOC,YACpBiB,cAAepH,EAAMqT,UAAUjM,cAEnC,GACwC,CACtCovC,kDjI1C6D,SAA2D73C,EAAWoH,EAASswC,EAAUlc,EAAOtW,GAC7J,MAAO,CACLjlB,KAAMwG,GACNvG,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,aAAa5I,OAAOgQ,EAAS,YAAYhQ,OAAOsgD,EAAU,WAAWtgD,OAAOokC,EAAO,SAASpkC,OAAO8tB,IAAMlqB,MAAK,SAAUe,GACzKlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,GiIgCA,CAEG45C,ICtIH,SAAS,GAAW5+C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAElP,IAAI+/C,GAAuB,SAAUzgC,GACnC,SAASygC,IACP,IAAIn8C,GACJ,OAAgB3E,KAAM8gD,GACtB,IAAK,IAAIxgC,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA8CzB,OA5CA9b,EAAQ,GAAW3E,KAAM8gD,EAAS,GAAGxhD,OAAOihB,KAC5C,OAAgB5b,EAAO,cAAc,SAAUoB,GAC7C,IAAI2b,EAAc/c,EAAMic,MACtBy/B,EAAa3+B,EAAY2+B,WACzBC,EAAY5+B,EAAY4+B,UACxBS,EAAer/B,EAAYq/B,aAC3BH,EAAiBl/B,EAAYk/B,eAC3BL,EAAQ,GACRC,EAAQz6C,EAAK+X,KAAI,SAAUvF,GAC7B,OAAOrS,SAASqS,EAAK6nC,OAAQ,GAC/B,IAAGK,QAAO,SAAU78C,EAAMC,GACxB,OAAOD,EAAOC,CAChB,IAeA,OAdAkC,EAAK+X,KAAI,SAAU4iC,GACjB,IAAIC,EAAY,EAEdA,EADEH,EAAQ,EACEt6C,SAASw6C,EAAKN,OAAQ,IAAMI,EAAQ,IAAM,IAE1C,IAAMz6C,EAAKpE,OAAS,IAElC4+C,EAAMh/C,KAAK,CACTykB,MAAO26B,EACPnzB,MAAOkzB,EAAKlzB,MAAQkzB,EAAKlzB,MAAQ,GACjC/J,MAAOi9B,EAAKj9B,MAAQi9B,EAAKj9B,MAAQ,UACjC28B,OAAQM,EAAKN,QAEjB,IACoB,gBAAoB,MAAO,CAC7Cr+B,UAAW,iBACVw+B,EAAMziC,KAAI,SAAU4iC,EAAMp1B,GAC3B,IAAIrJ,EAAQ8+B,GAA8B,MAAdL,EAAK16B,MAAgB,CAC/CkS,QAAS,yBACT5R,gBAAiBo6B,EAAKj9B,OACpB,CACFuC,MAAO06B,EAAK16B,MACZM,gBAAiBo6B,EAAKj9B,OAExB,OAAoB,gBAAoB,OAAQ,CAC9CphB,IAAKipB,EACLvJ,UAAW,OACXE,MAAOA,GACNq+B,EAAYI,EAAKlzB,MAAQ,KAAM6yB,EAAa,IAAI/gD,OAAOohD,EAAKN,QAAU,KAAMQ,EAAiB,IAAIthD,OAAOohD,EAAK16B,MAAO,KAAO,KAChI,IACF,IACOrhB,CACT,CAEA,OADA,QAAUm8C,EAASzgC,IACZ,OAAaygC,EAAS,CAAC,CAC5Bz+C,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACTsoB,EAAetoB,KAAK4gB,MACtB7a,EAAOuiB,EAAaviB,KACpBi7C,EAAW14B,EAAa04B,SAC1B,OAAIA,EACkB,gBAAoB,MAAO,CAC7Cj/B,UAAW,kBACVi/B,EAASljC,KAAI,SAAU/X,GACxB,OAAOusB,EAAOuuB,WAAW96C,EAC3B,KAEEA,EACkB,gBAAoB,MAAO,CAC7Cgc,UAAW,kBACV/hB,KAAK6gD,WAAW96C,IAEd,IACT,IAEJ,CA5E2B,CA4EzB,EAAAkb,YACF,OAAgB6/B,GAAS,eAAgB,CACvCT,YAAY,EACZC,WAAW,EACXS,cAAc,ICnFhB,SAAS,GAAWhgD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAElP,IAAIkgD,GAA2B,SAAU5gC,GACvC,SAAS4gC,IACP,IAAIt8C,GACJ,OAAgB3E,KAAMihD,GACtB,IAAK,IAAI3gC,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAmCzB,OAjCA9b,EAAQ,GAAW3E,KAAMihD,EAAa,GAAG3hD,OAAOihB,KAEhD,OAAgB5b,EAAO,cAAc,WACnC,IAAIoB,EAAOpB,EAAMic,MAAM7a,KACnBy6C,EAAQ,EAMZ,OALY,MAARz6C,GAAgBA,EAAKpE,OAAS,GAChCoE,EAAKnE,SAAQ,SAAU23C,GACrBiH,GAASjH,EAAM6G,MACjB,IAEKr6C,EAAK+X,KAAI,SAAUy7B,EAAOt1B,GAC/B,IAAIsF,EAAS,EACb,GAAoB,MAAhBgwB,EAAM6G,QAAkB7G,EAAM6G,OAAS,EAAG,CAC5C,IAAIc,EAAa3H,EAAM6G,OAASI,EAAQ,IACxCj3B,EAAS6c,KAAKC,MAAM6a,GAAcv8C,EAAMic,MAAMugC,UAChD,CAIA,OAHI53B,GAAU5kB,EAAMic,MAAMwgC,gBACxB73B,EAAS5kB,EAAMic,MAAMwgC,eAEH,gBAAoB,MAAO,CAC7C/+C,IAAK,wBAA0B4hB,EAC/BlC,UAAW,OACVpd,EAAMic,MAAMy/B,WAA0B,gBAAoB,OAAQ,CACnEt+B,UAAW,UACVw3B,EAAM6G,QAAU,KAAmB,gBAAoB,MAAO,CAC/Dr+B,UAAW,QACXE,MAAO,CACLqE,gBAAiBizB,EAAM91B,MACvB8F,OAAQA,KAGd,GACF,IACO5kB,CACT,CAEA,OADA,QAAUs8C,EAAa5gC,IAChB,OAAa4gC,EAAa,CAAC,CAChC5+C,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,sBACG,gBAAoB,MAAO,CACzCA,UAAW,iBACV/hB,KAAKqhD,cACV,IAEJ,CArD+B,CAqD7B,EAAApgC,YAEF,OAAgBggC,GAAa,eAAgB,CAC3CE,WAAY,EACZC,cAAe,EACff,YAAY,IAEd,YC/DA,SAAS,GAAWt/C,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CASlP,IAAIugD,GAAyC,SAAUjhC,GAErD,SAASihC,EAA0B1gC,GACjC,IAAIjc,GACJ,OAAgB3E,KAAMshD,GACtB38C,EAAQ,GAAW3E,KAAMshD,EAA2B,CAAC1gC,KAErD,OAAgBjc,EAAO,YAAY,SAAUsf,GAC3C,OAAa,GAATA,EACK,IACW,GAATA,EACF,IACW,GAATA,EACF,IAEA,GAIX,KAEA,OAAgBtf,EAAO,qBAAqB,WAC1C,IAAIq7C,EAAQr7C,EAAM4E,MAAMy2C,MACVr7C,EAAM48C,aACZ3/C,SAAQ,SAAU23C,GACxBA,EAAMtwC,YAAYrH,SAAQ,SAAUwa,GAClC,IAAI+iC,EAAQx6C,EAAM68C,mBAAmBplC,GACrC,GAAa,MAAT+iC,GACkB,MAAhBa,EAAMb,GAAgB,CACxB,IAAIv2C,EAAUo3C,EAAMb,GAAOiB,OAC3BJ,EAAMb,GAAOiB,OAASx3C,EAAU,CAClC,CAEJ,GACF,IACAjE,EAAMye,SAAS,CACb48B,MAAOA,GAEX,KACA,OAAgBr7C,EAAO,cAAc,WACnC,IAAI+c,EAAc/c,EAAMic,MACtB8iB,EAAQhiB,EAAYgiB,MACpBtW,EAAM1L,EAAY0L,IAChBq0B,EAAgB,GAChBC,EAAU,GACVz4C,EAAc,GAuElB,OApE+B,MAA3BtE,EAAMic,MAAMjY,aAAuBhE,EAAMic,MAAMjY,YAAYhH,OAAS,IACtEgD,EAAMic,MAAMjY,YAAY/G,SAAQ,SAAUoH,GACxC,IAAsD,GAAlDy4C,EAAc9iD,QAAQqK,EAAWsS,aACnC,GAAa,MAATooB,GAAwB,MAAPtW,EAAa,CAChC,IAAIoC,EAAU,KAAOxmB,EAAWwmB,SAC5BA,EAAQmyB,eAAe,KAAOv0B,GAAM,QAAUoC,EAAQ/Y,cAAc,KAAOitB,GAAQ,QACrF+d,EAAclgD,KAAKyH,EAAWsS,YAElC,MACEmmC,EAAclgD,KAAKyH,EAAWsS,YAGpC,IACAmmC,EAAc7/C,SAAQ,SAAU0G,GAC9B,IAAIK,EAAc,GACdi5C,EAAiB,GACjBrC,EAAW,GACf56C,EAAMic,MAAMjY,YAAY/G,SAAQ,SAAUoH,GACpCA,EAAWsS,aAAehT,IAC5Bs5C,EAAiB54C,EAAW44C,eAC5BrC,EAAWv2C,EAAWu2C,SACtB52C,EAAYpH,KAAKyH,GAErB,IACA,IAAI64C,EAAW,CACbvmC,YAAahT,EACbs5C,eAAgBA,EAChBrC,SAAUA,EACVhkC,cAAe,aACftS,YAAaN,GAEfM,EAAY1H,KAAKsgD,EACnB,KAEuB,MAArBl9C,EAAMic,MAAMpO,OAAiB7N,EAAMic,MAAMpO,MAAM7Q,OAAS,IAC1DgD,EAAMic,MAAMpO,MAAM5Q,SAAQ,SAAU6Q,GAClC,IAA0C,GAAtCivC,EAAQ/iD,QAAQ8T,EAAK6I,aACvB,GAAa,MAATooB,GAAwB,MAAPtW,EAAa,CAChC,IAAIoC,EAAU,KAAO/c,EAAK+c,SACtBA,EAAQmyB,eAAe,KAAOv0B,GAAM,QAAUoC,EAAQ/Y,cAAc,KAAOitB,GAAQ,QACrFge,EAAQngD,KAAKkR,EAAK6I,YAEtB,MACEomC,EAAQngD,KAAKkR,EAAK6I,YAGxB,IACAomC,EAAQ9/C,SAAQ,SAAUkgD,GACxB,IAAItvC,EAAQ,GACRovC,EAAiB,GACjBrC,EAAW,GACf56C,EAAMic,MAAMpO,MAAM5Q,SAAQ,SAAU6Q,GAC9BA,EAAK6I,aAAewmC,IACtBF,EAAiBnvC,EAAKmvC,eACtBrC,EAAW9sC,EAAK8sC,SAChB/sC,EAAMjR,KAAKkR,GAEf,IACA,IAAIovC,EAAW,CACbvmC,YAAawmC,EACbF,eAAgBA,EAChBrC,SAAUA,EACVhkC,cAAe,OACftS,YAAauJ,GAEfvJ,EAAY1H,KAAKsgD,EACnB,KAEK54C,CACT,KACA,OAAgBtE,EAAO,sBAAsB,SAAUyX,GACrD,IAAI+iC,EAAQ,KACZ,GAAyB,KAArB/iC,EAAW2lC,OACb5C,EAAQ,MACH,CACL,IAAI6C,EACA38B,EAAM,KACVjJ,SAA6F,QAA5C4lC,EAAqB5lC,EAAW6lC,cAA2C,IAAvBD,GAA6F,QAA3DA,EAAqBA,EAAmBxb,qBAAkD,IAAvBwb,GAAiCA,EAAmBpgD,SAAQ,SAAUsgD,GAC9Q,IAAIC,EAAOD,EAAUjuB,KAAK3d,MAAK,SAAU6rC,GACvC,OAAOA,EAAKv7C,IAAMwV,EAAWgmC,KAC/B,IACY,MAARD,IACF98B,EAAM88B,EAEV,IACW,MAAP98B,IACF85B,EAAQ95B,EAAIg9B,MAAMl3C,WAAU,SAAUm3C,GACpC,OAAOA,EAAM17C,IAAMwV,EAAW2lC,MAChC,IACA5C,GAAgB,EAEpB,CACA,OAAOA,CACT,KACA,OAAgBx6C,EAAO,oBAAoB,SAAU40C,GAInD,IAHA,IACIyG,EAAQ,GACRtB,EAAS,IAAI,GAFL,GAEuBr4C,MAC1BilB,EAAI,EAHD,EAGYA,EAAGA,IACzB00B,EAAM10B,GAAK,CACT80B,OAAQ,EACR38B,MAAOi7B,EAAOpzB,IAYlB,OATAiuB,EAAMtwC,YAAYrH,SAAQ,SAAUwa,GAClC,IAAI+iC,EAAQx6C,EAAM68C,mBAAmBplC,GACrC,GAAa,MAAT+iC,GACkB,MAAhBa,EAAMb,GAAgB,CACxB,IAAIv2C,EAAUo3C,EAAMb,GAAOiB,OAC3BJ,EAAMb,GAAOiB,OAASx3C,EAAU,CAClC,CAEJ,IACOo3C,CACT,KAEA,OAAgBr7C,EAAO,cAAc,SAAUG,GAC7CA,EAAM+d,iBACNle,EAAMye,SAAS,CACbC,MAAO1e,EAAM4E,MAAM8Z,MAEvB,KAEA,OAAgB1e,EAAO,qBAAqB,WAC1C,IAAI49C,EAAU59C,EAAM48C,aAChB5yB,EAAYhqB,EAAMic,MAAM+N,UAC5B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,mBACQ,GAAlBwgC,EAAQ5gD,OAA2B,gBAAoB,MAAO,CAC/DsgB,MAAO,CACLulB,UAAW,WAEZ7Y,EAAU,yBAA2B,KAAM4zB,EAAQzkC,KAAI,SAAUy7B,EAAOt1B,GACzE,IAAI+7B,EAAQr7C,EAAM69C,iBAAiBjJ,GACnC,OAAoB,gBAAoB,MAAO,CAC7Cl3C,IAAK,4BAA8B4hB,EACnClC,UAAW,cACG,gBAAoB,MAAO,CACzCA,UAAW,SACG,gBAAoB,OAAQ,KAA6B,QAAvBw3B,EAAMh+B,cAA0BoT,EAAU,QAAUA,EAAU,eAA6B,gBAAoB,KAAM,MAAoB,gBAAoB,SAAU,KAAM4qB,EAAMqI,gBAA8B,gBAAoB,MAAO,CAC5Rx9B,wBAAyB,CACvBC,OAAQk1B,EAAMgG,aAEA,gBAAoB,MAAO,CAC3Cx9B,UAAW,mBACG,gBAAoB,GAAa,CAC/Chc,KAAMi6C,EACNmB,WAAY,MAEhB,IACF,IAIA,IAHA,IACIsB,EAAS,GACTC,EAAU,IAAI,GAFL,GAEwBr8C,MAC5BqD,EAAK,EAHD,EAGaA,EAAIA,IAC5B+4C,EAAO/4C,GAAM,CACX02C,OAAQ,EACR38B,MAAOi/B,EAAQh5C,IAOnB,OAJA/E,EAAM4E,MAAQ,CACZy2C,MAAOyC,EACPp/B,MAAM,GAED1e,CACT,CAEA,OADA,QAAU28C,EAA2BjhC,IAC9B,OAAaihC,EAA2B,CAAC,CAC9Cj/C,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,sCACG,gBAAoB,MAAO,CACzCA,UAAW,iBACG,gBAAoB,GAAa,CAC/CsB,KAAMrjB,KAAKuJ,MAAM8Z,MAChBrjB,KAAK2iD,sBACV,IAEJ,CAnO6C,CAmO3C,EAAA1hC,WAQF,UAAe,SAPf,SAAyB1X,GACvB,MAAO,CACLZ,YAAaY,EAAMkU,WAAW9U,YAC9B6J,MAAOjJ,EAAMkU,WAAWjL,MACxBmc,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtCtH,mBAAoBA,GACpBE,yBAA0BA,IAF5B,CAGGwtC,ICrPH,SAAS,GAAWvgD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAgBlP,IAAI6hD,GAA0B,SAAUviC,GACtC,SAASuiC,EAAWhiC,GAClB,IAAIjc,EAoRJ,OAnRA,OAAgB3E,KAAM4iD,GACtBj+C,EAAQ,GAAW3E,KAAM4iD,EAAY,CAAChiC,KACtC,OAAgBjc,EAAO,WAAyB,WAC9C,IAAIZ,GAAO,OAAgC,UAAyB,SAASC,EAAQkE,GACnF,IAAI4lC,EACJ,OAAO,UAAyB,SAAkB3pC,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAQH,OAPAc,EAAMye,SAAS,CACby/B,kBAAkB,KAEpB/U,EAAW,IACFvsC,KAAKoD,EAAMic,MAAMjN,iBAAiBzL,IAC3C4lC,EAASvsC,KAAKoD,EAAMic,MAAMkiC,iCAAiC56C,IAC3D/D,EAASN,KAAO,EACTf,QAAQurC,IAAIP,GACrB,KAAK,EACHnpC,EAAMye,SAAS,CACby/B,kBAAkB,IAEtB,KAAK,EACL,IAAK,MACH,OAAO1+C,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,GACf,OAAOT,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CA3BgD,KA4BhD,OAAgBiD,EAAO,iBAAiB,SAAUkZ,GAChD,IAAIlN,EAAgBhM,EAAMic,MAAMjQ,cAChChM,EAAMye,SAAS,CACb2/B,gBAAgB,EAChBllC,OAAQA,IAEV,IAAIiwB,EAAW,GACfA,EAASvsC,KAAKoD,EAAMic,MAAMhN,mBAAmBjD,EAAc/J,GAAIiX,EAAOjX,KACtEknC,EAASvsC,KAAKoD,EAAMic,MAAMoiC,2BAA2BryC,EAAc/J,GAAIiX,EAAOjX,KAC9EknC,EAASvsC,KAAKoD,EAAMic,MAAM9M,yBAAyBnD,EAAc/J,GAAIiX,EAAOjX,KAC5E9D,QAAQurC,IAAIP,GAAU5qC,MAAK,WACzByB,EAAMye,SAAS,CACb2/B,gBAAgB,GAEpB,IACAp+C,EAAMs+C,oBACR,KACA,OAAgBt+C,EAAO,sBAAsB,WAC3CA,EAAMye,SAAS,CACb8/B,cAAev+C,EAAM4E,MAAM25C,cAE/B,KACA,OAAgBv+C,EAAO,cAAc,SAAUkZ,EAAQ2H,GACrD,IAAInC,EAAO1e,EAAM4E,MAAM8Z,KACnBkW,EAAQ50B,EAAM4E,MAAM8Z,KAAK1kB,QAAQkf,EAAOjX,IACxC4e,IAAoB,GAAV+T,GACZlW,EAAK9hB,KAAKsc,EAAOjX,KAEd4e,GAAU+T,GAAS,GACtBlW,EAAK3G,OAAO6c,EAAO,GAErB50B,EAAMye,SAAS,CACbC,KAAMA,GAEV,KACA,OAAgB1e,EAAO,iBAAiB,WAClCA,EAAM4E,MAAM8Z,KAAK1hB,OAAS,EAC5BgD,EAAMye,SAAS,CACbC,KAAM,KAGR1e,EAAMye,SAAS,CACbC,MAAM,OAAmB1e,EAAMic,MAAM1Q,SAAS4N,KAAI,SAAUD,GAC1D,OAAOA,EAAOjX,EAChB,KAGN,KACA,OAAgBjC,EAAO,mBAAmB,SAAUkZ,GAClD,IAOIoR,EAPArR,EAAUjZ,EAAMic,MAAM7M,aAAauC,MAAK,SAAUsH,GACpD,OAAOA,EAAQ1N,QAAQoG,MAAK,SAAU6sC,GACpC,OAAOA,EAAG3zC,UAAYqO,EAAOjX,EAC/B,GACF,IACIyc,GAAO,EACPk8B,EAAW,GAKf,GAHI56C,EAAM4E,MAAM8Z,KAAK1kB,QAAQkf,EAAOjX,KAAO,IACzCyc,GAAO,GAEM,MAAXzF,EAAiB,OAAO,KAC5B,GAAI,KAAOjZ,EAAMic,MAAM8iB,OAAO4H,QAAQ,OAAS,KAAO1tB,EAAQiwB,WAAWvC,QAAQ,QAAU,KAAO3mC,EAAMic,MAAMwM,KAAKke,QAAQ,OAAS,KAAO1tB,EAAQiwB,WAAWvC,QAAQ,OAAQ,OAAO,KAC7J,MAApB1tB,EAAQ2hC,WACVA,EAAW3hC,EAAQ2hC,SAAS5lC,QAAQ,gBAAiB,WAEvDsV,EAAU,CACRxE,UAAW7M,EAAQwlC,iBACnB14B,SAAU9M,EAAQylC,gBAClBz8C,GAAIgX,EAAQqR,SAEd,IAAIq0B,EAAkC,gBAAoB,MAAO,CAC/DrhC,MAAO,CACL+H,QAAS,SAEG,gBAAoB,GAAqB,CACvD/H,MAAO,CACLiI,KAAM,IAEM,gBAAoB,GAAY,CAC9C1F,QAAS3G,EAAO5D,MAAQ,KAAsB,MAAf4D,EAAO8oB,KAAe9oB,EAAO8oB,KAAO,IACnEljB,MAAO5F,EAAO+oB,aACA,MAAXhpB,EAA+B,gBAAoB,GAAe,CACrEA,QAASA,IACNC,EAAO0S,QAAuB,gBAAoBgzB,SAAU,MAAQ,KAAiB,MAAX3lC,EAA+B,gBAAoB,OAAQ,CACxIqE,MAAO,CACLsE,WAAY,WAEb,IAAI,GAAS3I,EAAQiwB,WAAWnN,eAAiB,MACpD,OAAoB,gBAAoB,GAAS,CAC/Cr+B,IAAKwb,EAAOjX,IACE,gBAAoBg5B,GAAS,KAAmB,gBAAoB,GAAa,CAC/Fvc,KAAMA,EACNC,SAAU,SAAkBD,GAC1B,OAAO1e,EAAMoe,WAAWlF,EAAQwF,EAClC,EACA0G,QAASu5B,GACG,MAAX1lC,EAA+B,gBAAoB,MAAO,CAC3DmE,UAAW,uBAAuBziB,OAAQ+jB,EAAqB,GAAd,cACrC,MAAX4L,EAA+B,gBAAoB,GAAQ,CAC5DhN,MAAO,CACL+H,QAAS,eAEXQ,OAAQyE,GACM,gBAAoB,OAAQ,CAC1C7K,wBAAyB,CACvBC,OAAQk7B,MAEO,gBAAoB,OAAQ,CAC7Cn7B,wBAAyB,CACvBC,OAAQk7B,KAEK,gBAAoB,GAAe,CAClD3hC,QAASA,KACL,OAAqB,gBAAoBgiB,GAAS,CACtDE,QAAQ,EACRhd,QAAS,WACP,OAAOne,EAAM6+C,cAAc3lC,EAC7B,GACc,gBAAoB,GAAA+Y,OAAQ,CAC1CzuB,KAAM,YACN2a,QAAS,WACP,OAAOne,EAAM6+C,cAAc3lC,EAC7B,GACClZ,EAAMic,MAAM+N,UAAU,sBAC3B,KACA,OAAgBhqB,EAAO,8BAA8B,SAAUiZ,GAC7D,OAAoB,gBAAoB,MAAO,CAC7CmE,UAAW,cACG,gBAAoB,OAAQ,CAC1CA,UAAW,cACXE,MAAO,CAAC,GACPtd,EAAMic,MAAM+N,UAAU,aAAe,KAAO,IAAI,GAAS/Q,EAAQiwB,WAAWhhB,gBACjF,KACA,OAAgBloB,EAAO,wBAAwB,SAAUiZ,GACvD,GAAe,MAAXA,EACF,OAAO,KAET,IAAI8lB,EAAQ,KAAO,cACftW,EAAM,KAAOxP,EAAQ4R,SACrBi0B,EAAgB9+C,EAAMic,MAAM3M,SAAS,GAIzC,OAHqB,MAAjBwvC,IACF/f,EAAQ,KAAO+f,EAAcj0B,UAE3B7qB,EAAM4E,MAAMw5C,eACM,gBAAoB,MAAO,CAC7C9gC,MAAO,CACLiY,aAAc,QAEhBnY,UAAW,kCACG,gBAAoB,GAAS,CAC3CH,QAAQ,KAGQ,gBAAoB,MAAO,CAC7CK,MAAO,CACLiY,aAAc,QAEhBnY,UAAW,kCACG,gBAAoB,MAAO,CACzCE,MAAO,CACLiY,aAAc,SAEF,gBAAoB,KAAM,KAAMv1B,EAAMic,MAAM+N,UAAU,qBAAmC,gBAAoB,MAAO,CAClI5M,UAAW,qBACVpd,EAAM++C,2BAA2B9lC,IAAwB,gBAAoB,GAA2B,CACzG8N,OAAQ9N,EAAQ8N,OAChB7N,OAAQlZ,EAAM4E,MAAMsU,OACpB6lB,MAAOA,EACPtW,IAAKA,IACU,gBAAoBu2B,GAAgB,CACnD/lC,QAASA,IAEb,KACA,OAAgBjZ,EAAO,iBAAiB,SAAUiZ,EAASqG,GACzD,GAAe,MAAXrG,EACF,OAAO,KAET,IAAI8lB,EAAQ,KAAO,cACftW,EAAM,KAAOxP,EAAQ4R,SACrBi0B,EAAgB9+C,EAAMic,MAAM3M,SAASgQ,EAAQ,GAC5B,MAAjBw/B,IACF/f,EAAQ,KAAO+f,EAAcj0B,UAE/B,IAAIzF,EAAuB,gBAAoB,MAAO,CACpD9H,MAAO,CACL+H,QAAS,OACTiT,eAAgB,SAChBhT,WAAY,WAEA,gBAAoB,MAAO,CACzChI,MAAO,CACL2hC,SAAU,IAEX,SAAWhmC,EAAQiwB,WAAW/jC,QAAQ2O,OAAO,eAA6B,gBAAoB,MAAO,CACtGwJ,MAAO,CACL2hC,SAAU,IAEE,gBAAoB,GAAe,CACjDhmC,QAASA,MAEX,OAAoB,gBAAoB,MAAO,CAC7CmE,UAAW,iCACX1f,IAAK,eAAiBub,EAAQhX,IAChB,gBAAoB,GAAa,CAC/CmjB,QAASA,GACK,gBAAoB,MAAO,CACzChI,UAAW,qBACG,gBAAoB,KAAM,KAAMpd,EAAMic,MAAM+N,UAAU,mBAAiC,gBAAoB,MAAO,CAChI5M,UAAW,cACV2hB,EAAMjrB,OAAO,cAAe,MAAO2U,EAAI3U,OAAO,gBAA8B,gBAAoB,GAA2B,CAC5HiT,OAAQ9N,EAAQ8N,OAChB7N,OAAQlZ,EAAM4E,MAAMsU,OACpB6lB,MAAOA,EACPtW,IAAKA,IACU,gBAAoBu2B,GAAgB,CACnD/lC,QAASA,KAEb,KACA,OAAgBjZ,EAAO,uBAAuB,WAC5C,IAAIk/C,EAAiB,KACjB5vC,EAAW,KAMf,OAL4B,MAAxBtP,EAAMic,MAAM3M,UAAoBtP,EAAMic,MAAM3M,SAAStS,OAAS,IAChEkiD,EAAiBl/C,EAAMic,MAAM3M,SAAS,IACtCA,GAAW,OAAmBtP,EAAMic,MAAM3M,WACjCyI,OAAO,EAAG,IAED,gBAAoB,MAAO,KAAwB,MAAlBmnC,EAAyBl/C,EAAMm/C,qBAAqBD,GAAkB,KAAmB,gBAAoB,MAAO,CACvK9hC,UAAW,WACXE,MAAO,CACLiY,aAAc,SAEF,gBAAoB,KAAM,KAAMv1B,EAAMic,MAAM+N,UAAU,0BAA2BhqB,EAAM4E,MAAMw5C,eAAiB,KAAmB,MAAZ9uC,GAAuC,GAAnBA,EAAStS,OAAcsS,EAAS6J,IAAInZ,EAAMo/C,eAA8B,gBAAoB,MAAO,CAC1P9hC,MAAO,CACLulB,UAAW,SACXtN,aAAc,UAEf,KAAAvL,WAAU,4BACf,IACAhqB,EAAM4E,MAAQ,CACZs5C,kBAAkB,EAClBK,cAAc,EACdH,gBAAgB,EAChBllC,OAAQ,KACRwF,KAAM,IAED1e,CACT,CAEA,OADA,QAAUi+C,EAAYviC,IACf,OAAauiC,EAAY,CAAC,CAC/BvgD,IAAK,oBACLC,OACMs+B,GAAqB,OAAgC,UAAyB,SAASl9B,IACzF,IAAIiN,EACJ,OAAO,UAAyB,SAAmBhN,GACjD,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EAGH,OAFA8M,EAAgB3Q,KAAK4gB,MAAMjQ,cAC3BhN,EAAUE,KAAO,EACV7D,KAAKgkD,SAASrzC,EAAc/J,IACrC,KAAK,EACL,IAAK,MACH,OAAOjD,EAAUY,OAEvB,GAAGb,EAAU1D,KACf,KACA,WACE,OAAO4gC,EAAmBp/B,MAAMxB,KAAM0B,UACxC,IAGD,CACDW,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT2uB,EAAY3uB,KAAK4gB,MAAM+N,UACvBtL,EAAOrjB,KAAKuJ,MAAM8Z,KAAK1hB,OAAS,EACpC,OAAoB,gBAAoB,MAAO,CAC7CogB,UAAW,qBACXE,MAAO,CACLmZ,OAAQ,EACRlD,QAAS,EACT/E,OAAQ,IAEI,gBAAoBkK,GAAO,CACzCla,OAAQnjB,KAAKuJ,MAAM25C,aACnB5qB,QAASt4B,KAAKijD,mBACdhpC,MAAO0U,EAAU,gBAChB3uB,KAAKikD,uBAAqC,gBAAoB,GAAc,KAAmB,gBAAoB,OAAQ,KAAMt1B,EAAU,iBAAkB3uB,KAAKuJ,MAAMs5C,kBAAoB7iD,KAAK4gB,MAAM1Q,QAAQvO,OAAS,EAAiB,gBAAoB,GAAS,CACvQuiD,QAAQ,EACRtiC,QAAQ,IACQ,gBAAoB,GAAU,CAC9C7b,KAAM/F,KAAK4gB,MAAM1Q,QACjBkV,UAAWplB,KAAKmkD,gBAChBnqC,QAAS,WACP,OAAoB,gBAAoB,MAAO,CAC7C+H,UAAW,cACG,gBAAoB,MAAO,CACzCe,QAASwP,EAAO8xB,cAChBriC,UAAWsB,EAAO,8BAAgC,0BACpC,gBAAoB,GAAA8G,KAAM,CACxC3Q,KAAM,cACJ6J,EAAOiP,EAAO1R,MAAM+N,UAAU,aAAe2D,EAAO1R,MAAM+N,UAAU,aAC1E,IACwB,MAAtB3uB,KAAK4gB,MAAM1Q,SAAgD,GAA7BlQ,KAAK4gB,MAAM1Q,QAAQvO,QAAgB3B,KAAKuJ,MAAMs5C,iBAAoH,KAApF,gBAAoB,MAAO,KAAM7iD,KAAK4gB,MAAM+N,UAAU,4BACxK,KAtDO,IACDiS,CAuDV,CAnV8B,CAmV5B,EAAA3f,WAUF,UAAe,SATf,SAAyB1X,GACvB,MAAO,CACL2G,QAAS3G,EAAMkU,WAAWvN,QAC1BS,cAAepH,EAAMsV,KAAKlO,cAC1BoD,aAAcxK,EAAMkU,WAAW1J,aAC/BE,SAAU1K,EAAMkU,WAAWxJ,SAC3B0a,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC8nC,2BvHtWsC,SAAoC96C,EAAWsH,GACrF,MAAO,CACLrH,KAAMoL,GACNnL,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,uBAAuB5I,OAAOkQ,IAAWtM,MAAK,SAAUe,GACzGlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EuH8VE+8C,iCvHjX4C,SAA0C56C,GACtF,MAAO,CACLC,KAAMkL,GACNjL,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,cAAchF,MAAK,SAAUe,GAC9ElB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EuHyWE6N,mBAAoBA,GACpBE,yBAA0BA,GAC1BH,iBAAkBA,IALpB,CAMGivC,ICvXH,SAAS,GAAW7hD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAKlP,IAAIsjD,GAAwB,SAAUhkC,GACpC,SAASgkC,EAASzjC,GAChB,IAAIjc,EAuBJ,OAtBA,OAAgB3E,KAAMqkD,GACtB1/C,EAAQ,GAAW3E,KAAMqkD,EAAU,CAACzjC,KAEpC,OAAgBjc,EAAO,gBAAgB,SAAU2/C,GAC/C,OAAoB,gBAAoB,MAAO,CAC7CviC,UAAW,UACX1f,IAAKiiD,EAAQ19C,IACC,gBAAoB,MAAO,CACzCmb,UAAW,yBACVuiC,EAAQpJ,UAAUzwB,UAAW,IAAK65B,EAAQpJ,UAAUxwB,SAAU,MAAQ45B,EAAQ5lC,KAAM,MAAQ,IAAI,GAAS4lC,EAAQ90B,SAAS+0B,cAAa,IAC5I,KACA,OAAgB5/C,EAAO,iBAAiB,SAAU2/C,GAChD,OAAoB,gBAAoB,MAAO,CAC7CviC,UAAW,UACX1f,IAAKiiD,EAAQ19C,IACZ09C,EAAQ5lC,KAAmB,gBAAoB,MAAO,CACvDqD,UAAW,yBACVuiC,EAAQpJ,UAAUzwB,UAAW,IAAK65B,EAAQpJ,UAAUxwB,SAAU,MAAQ,IAAI,GAAS45B,EAAQ90B,SAAS+0B,cAAa,IACtH,IACA5/C,EAAM4E,MAAQ,CACZ0a,MAAO,GAEFtf,CACT,CAEA,OADA,QAAU0/C,EAAUhkC,IACb,OAAagkC,EAAU,CAAC,CAC7BhiD,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACTwkD,EAAaxkD,KAAK4gB,MAAM4jC,WAC5B,OAAoB,gBAAoB,MAAO,CAC7CziC,UAAW,gBACG,gBAAoB,MAAO,CACzCA,UAAW,YACVyiC,EAAWC,SAAS3mC,KAAI,SAAUwmC,EAASrgC,GAC5C,OAAIA,EAAQqO,EAAO/oB,MAAM0a,MAChB,KAEa,QAAlBqgC,EAAQllD,OACHkzB,EAAOoyB,cAAcJ,GAER,UAAlBA,EAAQllD,OACHkzB,EAAOqyB,aAAaL,QAD7B,CAGF,IAAIE,EAAWC,SAAS9iD,OAAS3B,KAAKuJ,MAAM0a,MAAqB,gBAAoB,MAAO,CAC1FnB,QAAS,WACPwP,EAAOlP,SAAS,CACda,MAAOqO,EAAO/oB,MAAM0a,MAAQ,GAEhC,GACCjkB,KAAK4gB,MAAM+N,UAAU,cAAgB,MAC1C,IAEJ,CAxD4B,CAwD1B,EAAA1N,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,CAAwCmpC,ICpExC,SAAS,GAAWtjD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CASlP,IAAI6jD,GAAiC,SAAUvkC,GAC7C,SAASukC,IACP,IAAIjgD,GACJ,OAAgB3E,KAAM4kD,GACtB,IAAK,IAAItkC,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAYzB,OAVA9b,EAAQ,GAAW3E,KAAM4kD,EAAmB,GAAGtlD,OAAOihB,KAEtD,OAAgB5b,EAAO,aAAa,WAClC,MAAqC,UAAjCA,EAAMic,MAAM4jC,WAAW1+C,OAClBnB,EAAMic,MAAM+N,UAAU,UAEM,aAAjChqB,EAAMic,MAAM4jC,WAAW1+C,OAClBnB,EAAMic,MAAM+N,UAAU,kBAD/B,CAGF,IACOhqB,CACT,CAEA,OADA,QAAUigD,EAAmBvkC,IACtB,OAAaukC,EAAmB,CAAC,CACtCviD,IAAK,SACLC,MACA,WACE,IAAIof,EAAc1hB,KAAK4gB,MACrB4jC,EAAa9iC,EAAY8iC,WACzB71B,EAAYjN,EAAYiN,UACtBk2B,EAA+B,gBAAoB,SAAU,CAC/D9iC,UAAW,UACXE,MAAO,CACLme,OAAQ,YAEI,gBAAoB,OAAQ,CAC1Cne,MAAO,CACL6iC,WAAY,WAEb9kD,KAAK4gB,MAAM+N,UAAU,YAAa,IAAK61B,EAAWO,SAASpjD,SAC9D,OAAoB,gBAAoB,MAAO,CAC7CogB,UAAW,cACG,gBAAoB,GAAAuC,MAAO,KAAmB,gBAAoB,OAAQ,CACxFvC,UAAW,SACkC,MAA5CyiC,EAAWQ,qBAAqBC,SAAmBT,EAAWQ,qBAAqB/qC,MAAQ,IAAMuqC,EAAWQ,qBAAqBC,SAAWT,EAAWQ,qBAAqB/qC,OAAqB,gBAAoB,GAAAkT,KAAM,KAAmB,gBAAoB,MAAO,CAC1QlL,MAAO,CACLiI,KAAM,IAEM,gBAAoB,MAAO,KAAmB,gBAAoB0vB,GAAa,KAAM4K,EAAW9X,aAA2B,gBAAoB,MAAO,CACpK3qB,UAAW,yBACVyiC,EAAWtJ,UAAUzwB,UAAW,IAAK+5B,EAAWtJ,UAAUxwB,SAAU,MAAQ,IAAI,GAAS85B,EAAWh1B,SAAS9B,sBAAoC,gBAAoB,MAAO,CAC7KzL,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAU,CAC5C8wB,WAAYA,MACK,gBAAoB,MAAO,CAC5CziC,UAAW,aACW,UAArByiC,EAAW1+C,OAAkC,gBAAoB,MAAO,KAAmB,gBAAoB,SAAU,KAAM6oB,EAAU,eAA6B,gBAAoB,KAAM,MAAO,IAAI,GAAS61B,EAAW36C,WAAW62B,eAA8B,gBAAoB,MAAO,KAAmB,gBAAoB,SAAU,KAAM/R,EAAU,gBAA8B,gBAAoB,KAAM,MAAO,IAAI,GAAS61B,EAAW36C,WAAW62B,cAAe,MAAQ,IAAI,GAAS8jB,EAAWxoC,SAAS0kB,eAA6B,gBAAoB,MAAO,CACvjBze,MAAO,CACLyR,UAAW,SAEC,gBAAoB,SAAU,KAAM/E,EAAU,WAAyB,gBAAoB,KAAM,MAAO3uB,KAAK+L,aAA2B,gBAAoB,MAAO,CACjLkW,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAa,CAC/C3J,QAAS86B,GACe,MAAvBL,EAAWO,SAAmBP,EAAWO,SAASjnC,KAAI,SAAUonC,GACjE,OAAoB,gBAAoB,MAAO,CAC7C7iD,IAAK6iD,EAAQt+C,IACZs+C,EAAQjrC,MACb,IAAK,UACP,IAEJ,CAxEqC,CAwEnC,EAAAgH,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,CAAwC0pC,ICxFxC,SAAS,GAAW7jD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAIme,GAAqC,SAAUmB,GACjD,SAASnB,IACP,IAAIva,GACJ,OAAgB3E,KAAMkf,GACtB,IAAK,IAAIoB,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAMzB,OAJA9b,EAAQ,GAAW3E,KAAMkf,EAAuB,GAAG5f,OAAOihB,KAC1D,OAAgB5b,EAAO,qBAAqB,WAC1CA,EAAMic,MAAMukC,sBAAsBxgD,EAAMic,MAAMjQ,cAAc/J,GAC9D,IACOjC,CACT,CAEA,OADA,QAAUua,EAAuBmB,IAC1B,OAAanB,EAAuB,CAAC,CAC1C7c,IAAK,SACLC,MAAO,WACL,IAAIkjB,EAASxlB,KAAK4gB,MAAMvG,mBAAmBjZ,QAAO,SAAUojD,GAC1D,MAA4B,UAArBA,EAAW1+C,MACpB,IACIs/C,EAAYplD,KAAK4gB,MAAMvG,mBAAmBjZ,QAAO,SAAUojD,GAC7D,MAA4B,aAArBA,EAAW1+C,MACpB,IACI6oB,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,KAAM,CAC1F5M,UAAW,YACV/hB,KAAK4gB,MAAM+N,UAAU,2BAAyC,gBAAoB,MAAO,CAC1F1M,MAAO,CACLyR,UAAW,UAEXlO,EAAO1H,KAAI,SAAU0mC,GACvB,OAAoB,gBAAoB,GAAmB,CACzDniD,IAAKmiD,EAAW59C,GAChB49C,WAAYA,GAEhB,IAAIY,EAAUzjD,OAAS,EAAiB,gBAAoB,GAAa,CACvEooB,QAAS4E,EAAU,cAClBy2B,EAAUtnC,KAAI,SAAU0mC,GACzB,OAAoB,gBAAoB,GAAmB,CACzDniD,IAAKmiD,EAAW59C,GAChB49C,WAAYA,GAEhB,KAAM,KACR,IAEJ,CA7CyC,CA6CvC,EAAAvjC,WAQF,UAAe,SAPf,SAAyB1X,GACvB,MAAO,CACL8Q,mBAAoB9Q,EAAM2V,sBAAsB7E,mBAChD1J,cAAepH,EAAMsV,KAAKlO,cAC1Bge,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtCiqC,sB3GjEiC,SAA+B7/C,GAChE,MAAO,CACL6C,KAAMgS,GACN/R,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,gCAAgCnD,MAAK,SAAUe,GACrDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,G2GuDA,CAEGmZ,IC9DH,SAAS,GAAQre,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CACtb,SAAS,GAAWE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAIskD,GAAkC,SAAUhlC,GAC9C,SAASglC,IACP,IAAI1gD,GACJ,OAAgB3E,KAAMqlD,GACtB,IAAK,IAAI/kC,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAuHzB,OArHA9b,EAAQ,GAAW3E,KAAMqlD,EAAoB,GAAG/lD,OAAOihB,KACvD,OAAgB5b,EAAO,qBAAqB,WACjB,MAArBA,EAAMic,MAAM1U,OAA6C,GAA5BvH,EAAMic,MAAM1U,MAAMvK,QACjDgD,EAAMic,MAAM0kC,uBAEgB,MAA1B3gD,EAAMic,MAAM7F,YAAsBpW,EAAMic,MAAM7F,WAAWpZ,OAAS,GACpEgD,EAAMic,MAAM2kC,oCAEd,IAAI7jC,EAAc/c,EAAMic,MACtB8K,EAAShK,EAAYgK,OACrBgY,EAAQhiB,EAAYgiB,MACpBtW,EAAM1L,EAAY0L,IACpBzoB,EAAMic,MAAM4kC,0BAA0B95B,EAAQgY,EAAOtW,EACvD,KACA,OAAgBzoB,EAAO,oCAAoC,SAAU+e,GACnE,GAAIA,EAAUggB,OAAS/+B,EAAMic,MAAM8iB,OAAShgB,EAAU0J,KAAOzoB,EAAMic,MAAMwM,IAAK,CAC5E,IAAIq4B,EAAe,GACW,MAA1B9gD,EAAMic,MAAM7F,YACdpW,EAAMic,MAAM7F,WAAWnZ,SAAQ,SAAU8jD,GACvCD,EAAalkD,KAAKmkD,EAAO5V,OAC3B,IAEF,IAAIpkB,EAAS/mB,EAAMic,MAAM8K,OACrB+5B,EAAa9jD,OAAS,IACxBgD,EAAMic,MAAM2kC,oCACZE,EAAa7jD,SAAQ,SAAUgF,GAC7BjC,EAAMic,MAAM+kC,0CAA0C/+C,EAAI8c,EAAUggB,MAAOhgB,EAAU0J,IACvF,KAEFzoB,EAAMic,MAAM4kC,0BAA0B95B,EAAQhI,EAAUggB,MAAOhgB,EAAU0J,IAC3E,CACF,KACA,OAAgBzoB,EAAO,iBAAiB,WACtC,IAAIivC,EAAa,GAajB,OAZyB,MAArBjvC,EAAMic,MAAM1U,OACdvH,EAAMic,MAAM1U,MAAMtK,SAAQ,SAAUguC,GAC7BgE,EAAWt9B,MAAK,SAAUo+B,GAC7B,OAAOA,EAASz6B,QAAU21B,EAAK3W,KACjC,KACE2a,EAAWryC,KAAK,CACd0Y,MAAO21B,EAAK3W,MACZxV,MAAOmsB,EAAKhJ,WAGlB,IAEKgN,CACT,KACA,OAAgBjvC,EAAO,0BAA0B,SAAU+vC,GACzD,IAAIxoC,EAAQ,GAMZ,OALyB,MAArBvH,EAAMic,MAAM1U,QACdA,GAAQ,OAAmBvH,EAAMic,MAAM1U,OAAO9K,QAAO,SAAUwuC,GAC7D,OAAOA,EAAK3W,OAASyb,CACvB,KAEKxoC,CACT,KACA,OAAgBvH,EAAO,wBAAwB,SAAU0e,EAAMusB,GAC7D,IAAItnB,EAAe3jB,EAAMic,MAEvB8iB,GADSpb,EAAaoD,OACdpD,EAAaob,OACrBtW,EAAM9E,EAAa8E,IACjB/J,IAEY,MADD1e,EAAMihD,kBAAkBhW,EAAKhpC,KAExCjC,EAAMic,MAAM+kC,0CAA0C/V,EAAKhpC,GAAI88B,EAAOtW,GAG5E,KACA,OAAgBzoB,EAAO,qBAAqB,SAAUmrC,GACpD,IAAI/0B,EAAapW,EAAMic,MAAM7F,WACzBhV,EAAO,GACX,GAAkB,MAAdgV,EAAoB,CACtB,IAAI8qC,EAAgB9qC,EAAWzE,MAAK,SAAUovC,GAC5C,OAAOA,EAAO5V,QAAUA,CAC1B,IACqB,MAAjB+V,GACFA,EAAcrzC,MAAM5Q,SAAQ,SAAU6Q,GACpC1M,EAAKxE,KAAK,GAAc,GAAc,CAAC,EAAGkR,GAAO,CAAC,EAAG,CACnDtK,KAAM,aAEV,IACA09C,EAAc33C,eAAetM,SAAQ,SAAUwM,GAC7CrI,EAAKxE,KAAK,GAAc,GAAc,CAAC,EAAG6M,GAAgB,CAAC,EAAG,CAC5DjG,KAAM,kBAEV,KAGApC,EAAO,IAEX,CACA,OAAOA,CACT,KACA,OAAgBpB,EAAO,uBAAuB,SAAUmrC,GACtD,IAAItrB,EAAU,KACd,GAA8B,MAA1B7f,EAAMic,MAAMs/B,YAAsBv7C,EAAMic,MAAMs/B,WAAWv+C,OAAS,EAAG,CACvE,IAAImkD,EAAiBnhD,EAAMic,MAAMs/B,WAAW,GAAGA,WAAW5pC,MAAK,SAAU6pC,GACvE,OAAOA,EAAKrQ,QAAUA,CACxB,IACsB,MAAlBgW,IACFthC,EAAUshC,EAAetF,MAE7B,CACA,OAAOh8B,CACT,KACA,OAAgB7f,EAAO,uBAAuB,SAAU+vC,GACtD,IAAIxoC,EAAQvH,EAAMohD,uBAAuBrR,GACrCsR,EAAgB,EAOpB,OANA95C,EAAMtK,SAAQ,SAAUguC,GAEA,MADDjrC,EAAMshD,oBAAoBrW,EAAKhpC,MAElDo/C,GAAiB,EAErB,IACOA,CACT,IACOrhD,CACT,CAEA,OADA,QAAU0gD,EAAoBhlC,IACvB,OAAaglC,EAAoB,CAAC,CACvChjD,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT4zC,EAAa5zC,KAAKkmD,gBAClBv3B,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,wBACV6xB,EAAW91B,KAAI,SAAU42B,EAAUzwB,GACpC,IAAI/X,EAAQomB,EAAOyzB,uBAAuBrR,EAASz6B,OACnD,OAAoB,gBAAoB,MAAO,CAC7C8H,UAAW,uBACX1f,IAAK4hB,GACS,gBAAoB,GAAAK,MAAO,KAAmB,gBAAoB,GAAA6I,KAAM,CACtFvL,QAAQ,GACM,gBAAoB,OAAQ,CAC1CG,UAAW,QACXE,MAAO,CACLiY,aAAc,IAEfwa,EAASz6B,OAAqB,gBAAoB,MAAO,CAC1DgI,MAAO,CACLiI,KAAM,EACNsd,UAAW,UAEZlV,EAAO6zB,oBAAoBzR,EAASz6B,OAAQ,IAAK/N,EAAMvK,OAAQ,IAAMgtB,EAAU,aAAakM,gBAA8B,gBAAoB,MAAO,CACtJ5Y,MAAO,CACLiY,aAAc,UAEdhuB,EAAM4R,KAAI,SAAU8xB,GACtB,IAAI8V,EAASpzB,EAAOszB,kBAAkBhW,EAAKhpC,IACvCw/C,EAAe9zB,EAAO2zB,oBAAoBrW,EAAKhpC,IAC/CqT,EAAqB,gBAAoB,GAAAkT,KAAM,CACjDvL,QAAQ,EACR6b,OAAO,GACO,gBAAoB,OAAQ,CAC1C,eAAgBmS,EAAKlxB,MACpBkxB,EAAK31B,OAAqB,gBAAoB,MAAO,CACtD8H,UAAW,iBACM,MAAhBqkC,EAAoC,gBAAoB,OAAQ,CACjErkC,UAAW,UACVqkC,GAA6B,gBAAoB,OAAQ,CAC1DrkC,UAAW,gBAEb,OAAoB,gBAAoB,GAAa,CACnD1f,IAAKutC,EAAKhpC,GACV0c,SAAU,SAAkBziB,GAC1B,OAAOyxB,EAAO+zB,qBAAqBxlD,EAAG+uC,EACxC,EACA7lB,QAAS9P,GACE,MAAVyrC,EAA8B,gBAAoB,MAAO,KAAMA,EAAO/jD,OAAS,EAAI+jD,EAAO5nC,KAAI,SAAUvF,EAAM0L,GAC/G,IAAIU,EAAO,SAAWpM,EAAK3R,GAI3B,MAHiB,iBAAb2R,EAAKpQ,OACPwc,EAAO,cAAgBpM,EAAK3R,IAEV,gBAAoB,KAAM,CAC5Cge,GAAID,EACJtiB,IAAK,OAAS4hB,EACdlC,UAAW,eACVxJ,EAAK0B,MAAoB,gBAAoB,OAAQ,KAAmB,iBAAb1B,EAAKpQ,KAA0BwmB,EAAU,iBAAmBA,EAAU,SACtI,IAAkB,gBAAoB,MAAO,CAC3C5M,UAAW,2BACXE,MAAO,CACLiW,QAAS,WAEVvJ,EAAU,gBAA+B,gBAAoB,MAAO,CACrE1M,MAAO,CACLkoB,cAAe,SAEH,gBAAoB,GAAS,CAC3CroB,OAAO,EACPF,QAAQ,KAEZ,KACF,IACF,IAEJ,CA5MsC,CA4MpC,EAAAX,WASF,UAAe,SARf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrChP,MAAO3C,EAAMgW,eAAezE,eAC5BC,WAAYxR,EAAMgW,eAAexE,WACjCmlC,WAAY32C,EAAMgW,eAAevE,eAErC,GACwC,CACtCsqC,qBxGhOK,WACL,MAAO,CACLn9C,KAAMsS,GACNrS,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,EAAIqD,IAAI,cAAcnD,MAAK,SAAUe,GACnClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EwGwNE4/C,0CxGvNqD,SAAmD7V,EAAQwW,EAAM1hC,GACtH,MAAO,CACLzc,KAAMuS,GACNtS,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,SAAS/G,OAAOwwC,EAAQ,iCAAiCxwC,OAAOgnD,EAAM,QAAQhnD,OAAOslB,IAAK1hB,MAAK,SAAUe,GAC/GlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EwG+MEw/C,kCxG9M6C,WAC7C,MAAO,CACLp9C,KAAMwS,GACNvS,SAAS,EAEb,EwG0MEo9C,0BxGzMqC,SAAmCt9C,EAAWw7B,EAAOtW,GAC1F,MAAO,CACLjlB,KAAMyS,GACNxS,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAOokC,EAAO,QAAQpkC,OAAO8tB,EAAK,uBAAuBlqB,MAAK,SAAUe,GACvGlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,GwG4LA,CAKGs/C,IC1OI,IAAIkB,GAAe,WACxB,OAAO,iBAAa,SAAY,SAAUh9C,GACxC,OAAOA,EAAMiW,UAAUtE,YACzB,IACF,ECAIsrC,GAAc,SAAqBziD,GACrC,IAAIi7C,EAAOj7C,EAAKi7C,KACdv7B,EAAQ1f,EAAK0f,MACbgjC,EAAoB1iD,EAAK0iD,kBACzBC,EAAa3iD,EAAK2iD,WAChB/3B,EAAY43B,KAKZI,EAAgB,SAAuB9G,GACzC,MAAuC,QAAnCA,EAAOzjC,WAAWb,cACblC,KAAe,QAAQ/Z,OAAOugD,EAAO+G,iBAAiBtrC,aAExB,kBAAnCukC,EAAOzjC,WAAWb,cACblC,KAAe,cAAc/Z,OAAOugD,EAAO+G,iBAAiBtrC,kBADrE,CAGF,EACA,OAAoB,gBAAoB,MAAO,CAC7CyG,UAAW,kBACG,gBAAoB,MAAO,CACzCA,UAAW2kC,EAAa,gBAAkB,OAC1CzkC,MAAO,CACL,gBAAiBwB,IAEL,MAAbu7B,EAAKtgC,KAAesgC,EAAKtgC,KAAOsgC,EAAK18C,OAAQmkD,EAAkB3oC,KAAI,SAAU+hC,GAC9E,OAAoB,gBAAoB,KAAM,CAC5Cj7B,GAAI+hC,EAAc9G,GAClB99B,UAAW,oBACX1f,IAAKw9C,EAAOj5C,IACE,gBAAoB,MAAO,CACzCmb,UAAW,gBACXE,MAAO,CACL,gBAAiBwB,IAEiB,QAAnCo8B,EAAOzjC,WAAWb,cAA0BoT,EAAU,QAAUA,EAAU,cAA4B,gBAAoB,MAAO,CAClI5M,UAAW,WACV89B,EAAO+G,iBAAiB3sC,OAAqB,gBAAoB,MAAO,CACzE8H,UAAW,UACXE,MAAO,CACLyR,UAAW,WAES,MAArBmsB,EAAOgH,WAAqBhH,EAAOgH,WAAWp8B,UAAY,IAAMo1B,EAAOgH,WAAWn8B,SAAW,KAAM,MAAQ,IAAI,GAASm1B,EAAOzjC,WAAWyxB,WAAWnN,eAA6B,gBAAoB,GAAAvW,KAAM,CAC7M3Q,KAAM,WAEV,IACF,EACAgtC,GAAYlc,aAAe,CACzBoc,YAAY,EACZjjC,MAAO,OACPgjC,kBAAmB,IAErB,YCiCA,SAvFoB,SAAuB1iD,GACzC,IAAIk+C,EAASl+C,EAAKk+C,OAChB6E,EAAY/iD,EAAK+iD,UACfn4B,EAAY43B,KAChB,GAAc,MAAVtE,EACF,OAAO,YAEFA,EAAO8E,aAKd,IAYIC,EAAc,SAAqB3hC,GACrC,IAAIg9B,EAAQn1C,KAAKyL,MAAMzL,KAAKC,UAAUkY,EAAIg9B,QAO1C,OANKJ,EAAOgF,oBACV5E,EAAMjkC,QAAQ,CACZM,KAAMiQ,EAAU,gBAChB/nB,GAAI,MAGDy7C,CACT,EAqBA,OAAoB,gBAAoB,MAAO,CAC7CtgC,UAAW,mCACG,gBAAoB,MAAO,CACzCA,UAAW,kBACVkgC,EAAOzb,cAAc1oB,KAAI,SAAUokC,GACpC,OAAoB,gBAAoB,MAAO,CAC7CngC,UAAW,YACX1f,IAAK6/C,EAAUgF,aACK,MAAnBhF,EAAUjoC,MAA6B,gBAAoB,MAAO,CACnE8H,UAAW,0BACVmgC,EAAUjoC,OAAS,KAA4B,MAAtBioC,EAAUiF,SAAgC,gBAAoB,MAAO,CAC/FplC,UAAW,6BACVmgC,EAAUiF,UAAY,KAAMjF,EAAUjuB,KAAKnW,KAAI,SAAUuH,GAC1D,IAAIq5B,EAvDQ,SAAmBr5B,GACjC,IAAI+hC,GAAU,EAId,OAHInF,EAAOgF,qBACTG,GAAU,GAEL,IAAI,GAAWJ,EAAY3hC,GAAK1jB,QAAQ0E,IAAI+gD,EACrD,CAiDiBC,CAAUhiC,GACvB,OAAoB,gBAAoB,MAAO,CAC7CtD,UAAW,SACX1f,IAAKgjB,EAAIze,IACK,MAAbs7C,EAAiC,gBAAoB,MAAO,KAAMA,EAAUgF,YAAa,IAAK7hC,EAAIiiC,YAAc,KAAmB,gBAAoB,MAAO,CAC/JvlC,UAAW,eACVsD,EAAI3G,MAAoB,gBAAoB,MAAO,CACpDqD,UAAW,YACVilC,EAAY3hC,GAAKvH,KAAI,SAAUkhC,EAAM/6B,GACtC,IAAIwiC,EApCqB,SAAkCphC,EAAKpB,GACpE,GAAiB,MAAb6iC,EACF,MAAO,GAET,IAAIS,EAAaT,EAAU5G,WAAW5pC,MAAK,SAAU6pC,GACnD,OAAOA,EAAKl8B,OAASA,CACvB,IACA,OAAkB,MAAdsjC,EACKA,EAAWd,kBAAkBrlD,QAAO,SAAUy+C,GACnD,OAAOA,EAAO2H,uBAAuBlsC,aAAe+J,EAAIze,EAC1D,IAEK,EACT,CAuB8B6gD,CAAyBpiC,EAAKpB,GACtD,OAAoB,gBAAoB,GAAa,CACnD5hB,IAAK28C,EAAKp4C,GACVo4C,KAAMA,EACNv7B,MAAOi7B,EAAOz6B,GACdwiC,kBAAmBA,GAEvB,KACF,IACF,KACF,ECzBA,SA9DkB,SAAqB1iD,GACrC,IAAI6rC,EAAO7rC,EAAK6rC,KACdkX,EAAY/iD,EAAK+iD,UACnB,GAAY,MAARlX,EACF,OAAO,KAgCT,OAAoB,gBAAoB,MAAO,CAC7C7tB,UAAW,mCACG,gBAAoB,MAAO,CACzCA,UAAW,kBACV6tB,EAAK3b,KAAKnW,KAAI,SAAUuH,GACzB,IAAIq5B,EA/BU,SAAmBr5B,GACjC,IAAI+hC,EAEE,MAFQ/hC,EAAIg9B,MAAM/rC,MAAK,SAAU0oC,GACrC,MAAoB,wBAAbA,EAAK72C,IACd,IACA,OAAO,IAAI,GAAWkd,EAAIg9B,MAAM1gD,QAAQ0E,IAAI+gD,EAC9C,CA0BeC,CAAUhiC,GACvB,OAAoB,gBAAoB,MAAO,CAC7CtD,UAAW,SACX1f,IAAKgjB,EAAIze,IACK,gBAAoB,MAAO,CACzCmb,UAAW,eACVsD,EAAIqnB,aAA2B,gBAAoB,MAAO,CAC3D3qB,UAAW,YACVsD,EAAIg9B,MAAM93C,MAAK,SAAUC,EAAGC,GAC7B,OAAOD,EAAEyZ,MAAQxZ,EAAEwZ,KACrB,IAAGnG,KAAI,SAAUkhC,EAAM/6B,GACrB,IAAIwiC,EA9BuB,SAAkCphC,EAAKpB,GACpE,GAAiB,MAAb6iC,EACF,MAAO,GAET,IAAIS,EAAaT,EAAU5G,WAAW5pC,MAAK,SAAU6pC,GACnD,OAAOA,EAAKl8B,OAASA,CACvB,IACA,OAAkB,MAAdsjC,EACKA,EAAWd,kBAAkBrlD,QAAO,SAAUy+C,GACnD,OAAOA,EAAO2H,uBAAuBlsC,aAAe+J,EAAIze,EAC1D,IAEK,EACT,CAiB4B6gD,CAAyBpiC,EAAKpB,GACtD,OAAoB,gBAAoB,GAAa,CACnDR,MAAOi7B,EAAOz6B,GACd+6B,KAAMA,EACN38C,IAAK28C,EAAKp4C,GACV6/C,kBAAmBA,GAEvB,KACF,KACF,ECxDA,IAAIiB,GAAmB,SAA0B3jD,GAC/C,IAAI4jD,EAAY5jD,EAAK4jD,UACnBC,EAAW7jD,EAAK6jD,SAChBC,EAAY9jD,EAAK8jD,UACfl5B,EAAY43B,KAKZuB,EAAqB,WACvB,OAAiB,MAAbH,EACK,GAEFA,EAAUvmD,QAAO,SAAUm+C,GAChC,OAAQA,EAASwI,SACnB,GACF,EAKIC,EAAsB,WACxB,OAAiB,MAAbL,EACK,GAEFA,EAAUvmD,QAAO,SAAUm+C,GAChC,OAAOA,EAASwI,SAClB,GACF,EACIE,EAAc,SAAqB1I,GACrC,OAAgB,MAAZqI,EACKA,EAELC,EAAUlmD,OAAS,EACdkmD,EAAUvxC,MAAK,SAAUsxC,GAC9B,OAAOrI,EAAS2I,uBAAyBN,EAAShhD,EACpD,IAEK,IACT,EACIuhD,EAAiB,SAAwB5I,EAAUt7B,GACtCgkC,EAAY1I,GAC3B,OAAoB,gBAAoB,MAAO,CAC7Cx9B,UAAW,WACX1f,IAAKk9C,EAAS34C,IACA,gBAAoB,MAAO,CACzCmb,UAAW,qBACXE,MAAO,CACLiY,aAAc,UAEF,gBAAoB,MAAO,KAAmC,MAA7BqlB,EAASqH,iBAAsE,QAA3CrH,EAASqH,iBAAiBrrC,cAA0BoT,EAAU,QAAU,MAAQ4wB,EAASqH,iBAAiB3sC,MAAQ0U,EAAU,cAAgB,MAAQ4wB,EAASqH,iBAAiB3sC,MAAQ,MAAoB,gBAAoB,MAAO,KAAMslC,EAASsH,WAAWp8B,UAAW,IAAK80B,EAASsH,WAAWn8B,SAAU,MAAQ,IAAI,GAAS60B,EAAS1R,WAAWnN,gBAA8B,gBAAoB,MAAO,CACle3e,UAAW,cACG,gBAAoB,MAAO,CACzCqC,wBAAyB,CACvBC,OAAQk7B,EAAS7gC,SAGvB,EACA,OAAoB,gBAAoB,MAAO,CAC7CqD,UAAW,qBACV+lC,IAAqBnmD,OAAS,EAAiB,gBAAoB,MAAO,CAC3EogB,UAAW,yBACG,gBAAoB,GAAa,CAC/CqmC,mBAAmB,EACnB/kC,MAAM,EACN0G,QAAS4E,EAAU,aAClBm5B,IAAqBhqC,IAAIqqC,KAAoB,KAAMH,IAAsBrmD,OAAS,EAAiB,gBAAoB,MAAO,CAC/HogB,UAAW,yBACG,gBAAoB,GAAa,CAC/CgI,QAAS4E,EAAU,mBAClBq5B,IAAsBlqC,IAAIqqC,KAAoB,KACnD,EACAT,GAAiBrd,UAAY,CAC3Bsd,UAAW,WACXC,SAAU,YACVC,UAAW,YAEbH,GAAiBpd,aAAe,CAC9Bsd,SAAU,KACVC,UAAW,IAEb,YCnFA,SAAS,GAAW9mD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAElP,IAAIsnD,GAAmB,SAAUhoC,GAC/B,SAASgoC,IACP,IAAI1jD,GACJ,OAAgB3E,KAAMqoD,GACtB,IAAK,IAAI/nC,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA8CzB,OA5CA9b,EAAQ,GAAW3E,KAAMqoD,EAAK,GAAG/oD,OAAOihB,KACxC,OAAgB5b,EAAO,aAAa,SAAUoB,GAC5C,IAAI2b,EAAc/c,EAAMic,MACtBy/B,EAAa3+B,EAAY2+B,WACzBC,EAAY5+B,EAAY4+B,UACxBS,EAAer/B,EAAYq/B,aAC3BH,EAAiBl/B,EAAYk/B,eAC3BL,EAAQ,GACRC,EAAQz6C,EAAK+X,KAAI,SAAUvF,GAC7B,OAAOrS,SAASqS,EAAK6nC,OAAQ,GAC/B,IAAGK,QAAO,SAAU78C,EAAMC,GACxB,OAAOD,EAAOC,CAChB,IAeA,OAdAkC,EAAK+X,KAAI,SAAU4iC,GACjB,IAAIC,EAAY,EAEdA,EADEH,EAAQ,EACEt6C,SAASw6C,EAAKN,OAAQ,IAAMI,EAAQ,IAAM,IAE1C,IAAMz6C,EAAKpE,OAAS,IAElC4+C,EAAMh/C,KAAK,CACTykB,MAAO26B,EACPnzB,MAAOkzB,EAAKlzB,MAAQkzB,EAAKlzB,MAAQ,GACjC/J,MAAOi9B,EAAKj9B,MAAQi9B,EAAKj9B,MAAQ,UACjC28B,OAAQM,EAAKN,QAEjB,IACoB,gBAAoB,MAAO,CAC7Cr+B,UAAW,iBACVw+B,EAAMziC,KAAI,SAAU4iC,EAAMp1B,GAC3B,IAAIrJ,EAAQ8+B,GAA8B,MAAdL,EAAK16B,MAAgB,CAC/CkS,QAAS,yBACT5R,gBAAiBo6B,EAAKj9B,OACpB,CACFuC,MAAO06B,EAAK16B,MACZM,gBAAiBo6B,EAAKj9B,OAExB,OAAoB,gBAAoB,OAAQ,CAC9CphB,IAAKipB,EACLvJ,UAAW,OACXE,MAAOA,GACNq+B,EAAYI,EAAKlzB,MAAQ,KAAM6yB,EAAa,IAAI/gD,OAAOohD,EAAKN,QAAU,KAAMQ,EAAiB,IAAIthD,OAAOohD,EAAK16B,MAAO,KAAO,KAChI,IACF,IACOrhB,CACT,CAEA,OADA,QAAU0jD,EAAKhoC,IACR,OAAagoC,EAAK,CAAC,CACxBhmD,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACTsoB,EAAetoB,KAAK4gB,MACtB7a,EAAOuiB,EAAaviB,KACpBi7C,EAAW14B,EAAa04B,SAC1B,OAAIA,EACkB,gBAAoB,MAAO,CAC7Cj/B,UAAW,aACVi/B,EAASljC,KAAI,SAAU/X,GACxB,OAAOusB,EAAO8V,UAAUriC,EAC1B,KAEEA,EACkB,gBAAoB,MAAO,CAC7Cgc,UAAW,aACV/hB,KAAKooC,UAAUriC,IAEb,IACT,IAEJ,CA5EuB,CA4ErB,EAAAkb,YACF,OAAgBonC,GAAK,eAAgB,CACnChI,YAAY,EACZC,WAAW,IAEb,YCwfA,SA/jBsB,SAAyB1/B,GAC7C,IAAI0nC,GAAY,IAAAC,UAAS,IACvBC,GAAa,QAAeF,EAAW,GACvCjlC,EAAOmlC,EAAW,GAClBC,EAAUD,EAAW,GACnBE,GAAa,IAAAH,WAAS,GACxBI,GAAa,QAAeD,EAAY,GACxCn4B,EAAUo4B,EAAW,GACrBC,EAAaD,EAAW,GACtB7nB,GAAW,UACX+nB,GAAU,SAAY,SAAUt/C,GAClC,OAAOA,EAAMN,YAAY4G,eAC3B,IACIqwC,GAAa,SAAY,SAAU32C,GACrC,OAAOA,EAAMN,YAAYoT,iBAC3B,IACIsS,EAAY43B,MAChB,IAAApyB,YAAwB,OAAgC,UAAyB,SAASnwB,IACxF,IAAIiY,EAAQynB,EAAOtW,EACnB,OAAO,UAAyB,SAAkBjpB,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EASH,OARAoY,EAAS,CAAC,EACa,MAAnB2E,EAAM1E,YACRD,EAAOC,UAAY0E,EAAM1E,WAE3B0sC,GAAW,GACXllB,EAAQ,IAAI,GAAS9iB,EAAM8iB,OAAO/W,MAAM,OAAOm8B,kBAC/C17B,EAAM,IAAI,GAASxM,EAAMwM,KAAKT,MAAM,OAAOm8B,kBAC3C3kD,EAASN,KAAO,EACTf,QAAQurC,IAAI,CAACvN,EAAS/kB,GAAe6E,EAAM1Y,UAAWw7B,EAAOtW,EAAKnR,IAAU6kB,EAAS3kB,GAA0ByE,EAAM1Y,UAAWw7B,EAAOtW,EAAKnR,MACrJ,KAAK,EAEH,OADA2sC,GAAW,GACJzkD,EAASwrB,OAAO,UAAU,WAC/B,OAAO,IACT,IACF,KAAK,EACL,IAAK,MACH,OAAOxrB,EAASI,OAEtB,GAAGP,EACL,KAAK,CAAC4c,EAAM1Y,UAAW0Y,EAAM8iB,MAAO9iB,EAAMwM,IAAKxM,EAAM1E,aACrD,IAAAiY,YAAU,WACO,MAAX00B,GAAkC,GAAfxlC,EAAK1hB,QAC1B8mD,EAAQI,EAAQ34C,QAAQ64C,SAAQ,SAAUlrC,GACxC,MAAO,CAAC,GAAGve,OAAOue,EAAOjX,GAAI,eAAgB,GAAGtH,OAAOue,EAAOjX,GAAI,aACpE,IAEJ,GAAG,CAACiiD,IAMJ,IAAIG,EAAqB,SAA4BpJ,GACnD,OAAe,MAAXiJ,EACK,GAEFA,EAAQI,qBAAqB7nD,QAAO,SAAU8nD,GACnD,MAA6B,UAAtBA,EAAK3tC,eAA6B2tC,EAAK5tC,aAAeskC,CAC/D,GACF,EA0BIuJ,EAAuB,SAA8BC,GACvD,OAAe,MAAXP,EACK,GAEF37C,KAAKyL,MAAMzL,KAAKC,UAAU07C,EAAQQ,sBAAsBjoD,QAAO,SAAUm+C,GAC9E,OAEM,MAFC6J,EAAM9yC,MAAK,SAAU4yC,GAC1B,OAAO3J,EAAS2I,uBAAyBgB,EAAKtiD,EAChD,GACF,GACF,EAKI0iD,EAAsB,WACxB,OAAkB,MAAdpJ,GAAyC,MAAnBt/B,EAAM1Y,UACvB,KAEFg4C,EAAW5pC,MAAK,SAAUwwC,GAC/B,OAAOA,EAAU5+C,WAAa0Y,EAAM1Y,SACtC,GACF,EAMIqhD,EAAmB,SAA0BL,GAC/C,IAAIM,EACJ,OAA0D,QAAlDA,EAAuBF,WAA4D,IAAzBE,OAAkC,EAASA,EAAqBntC,kBAAkB/F,MAAK,SAAUwwC,GACjK,OAAOA,EAAU3+C,MAAQ+gD,EAAK3tC,cAAcrb,eAAiB4mD,EAAUxrC,aAAe4tC,EAAK5tC,WAC7F,GACF,EAiBImuC,EAAgB,SAAuB7iD,EAAI4a,GAC7C,IAAIkoC,GAAU,OAAmBrmC,GAC7BsmC,EAAa,GAAGrqD,OAAOsH,EAAI,KAAKtH,OAAOkiB,GACvCyC,EAAQZ,EAAK1kB,QAAQgrD,GACrB1lC,GAAS,EACXylC,EAAQhtC,OAAOuH,EAAO,GAEtBylC,EAAQnoD,KAAKooD,GAEflB,EAAQiB,EACV,EAiBIE,EAAe,SAAsBp6C,GACvC,IAAI4M,EAAaiH,EAAK1kB,QAAQ,GAAGW,OAAOkQ,EAAU,gBAC9C+vC,EAAWl8B,EAAK1kB,QAAQ,GAAGW,OAAOkQ,EAAU,cAChD,GAAI4M,GAAc,GAAKmjC,GAAY,EAAG,CACpC,IAAImK,GAAU,OAAmBrmC,GAC7BjH,GAAc,GAAGstC,EAAQhtC,OAAON,EAAY,IAChDmjC,EAAWmK,EAAQ/qD,QAAQ,GAAGW,OAAOkQ,EAAU,gBAC/B,GAAGk6C,EAAQhtC,OAAO6iC,EAAU,GAC5CkJ,EAAQiB,EACV,MACEjB,EAAQ,CAAC,GAAGnpD,OAAOkQ,EAAU,eAAgB,GAAGlQ,OAAOkQ,EAAU,cAAclQ,QAAO,OAAmB+jB,IAE7G,EACIwmC,EAAe,SAAsBX,EAAMpC,EAAWrrC,GACxD,IAAIwI,EAAQviB,UAAUC,OAAS,QAAsB6E,IAAjB9E,UAAU,GAAmBA,UAAU,GAAK,EAC5Eg9C,EAAS,GACToL,EAAa,KACbC,GAAe,EACnB,GAAiB,MAAbjD,EAAmB,CACrB,IAAIrI,GAAS,EACS,UAAlBqI,EAAU3+C,OACZs2C,GAAUhjC,EAAUwrC,mBACpB8C,EAEM,MAFSjD,EAAU5G,WAAW5pC,MAAK,SAAU6pC,GACjD,OAAOA,EAAKvX,MAAQ,CACtB,KAEoB,kBAAlBke,EAAU3+C,OACZs2C,EAIM,MAJGhjC,EAAUwY,KAAK3d,MAAK,SAAU+O,GACrC,OAAOA,EAAIg9B,MAAM/rC,MAAK,SAAU0oC,GAC9B,MAAoB,wBAAbA,EAAK72C,IACd,GACF,IACA2+C,EAAU5G,WAAWt+C,SAAQ,SAAUu+C,GACjCA,EAAKsG,kBAAkB9kD,OAAS,IAClCmoD,EAAa3J,EAAKsG,kBAAkB,GAAGG,iBAAiB3sC,MAE5D,KAEFykC,EAAS,IAAI,GAAWoI,EAAU5G,WAAWv+C,QAAQ0E,IAAIo4C,EAC3D,CACA,OAAoB,gBAAoB,MAAO,CAC7C18B,UAAW,8BACG,gBAAoB,MAAO,CACzCA,UAAW,sBACXE,MAAO,CACLkb,YAAa,WAEdxO,EAAUu6B,EAAK3tC,eAAsC,kBAAtB2tC,EAAK3tC,cAAoC,IAAM0I,EAAQ,KAAoB,MAAd6lC,EAAqB,MAAQA,EAAa,MAAoB,MAAbhD,GAAqBiD,EAAqC,kBAAtBb,EAAK3tC,cAAiD,gBAAoB,MAAO,CACnQwG,UAAW,yBACV+kC,EAAU5G,WAAWpiC,KAAI,SAAUhF,EAAOmL,GAC3C,OAAoB,gBAAoB,MAAO,CAC7ClC,UAAW,WACXE,MAAO,CACLqE,gBAAiB,GAAGhnB,OAAOwZ,EAAM8vB,MAAQ,EAAI8V,EAAO5lC,EAAMmL,OAAS,OAErE5hB,IAAK4hB,GAET,KAAmB,gBAAoB,GAAK,CAC1Cle,KAAM+gD,EAAU5G,WAAWpiC,KAAI,SAAUqiC,GACvC,MAAO,CACLC,OAAQD,EAAKvX,MACbpb,MAAO2yB,EAAKvX,MACZnlB,MAAOi7B,EAAOyB,EAAKl8B,OAEvB,IACAo8B,YAAY,EACZU,cAAc,IACX,KACP,EAOIoH,EAAiB,SAAwB5I,EAAUt7B,GACtC4kC,EAAQI,qBAAqB3yC,MAAK,SAAU4yC,GACzD,OAAOA,EAAKtiD,IAAM24C,EAAS2I,qBAC7B,IACA,OAAoB,gBAAoB,MAAO,CAC7CnmC,UAAW,WACXE,MAAO,CACLsnB,YAAa,GAEflnC,IAAKk9C,EAAS34C,IACA,gBAAoB,MAAO,CACzCmb,UAAW,qBACXE,MAAO,CACLiY,aAAc,UAEF,gBAAoB,MAAO,KAAmC,MAA7BqlB,EAASqH,iBAAsE,QAA3CrH,EAASqH,iBAAiBrrC,cAA0BoT,EAAU,QAAU,MAAQ4wB,EAASqH,iBAAiB3sC,MAAQ0U,EAAU,cAAgB,MAAQ4wB,EAASqH,iBAAiB3sC,MAAQ,MAAoB,gBAAoB,MAAO,KAAMslC,EAASsH,WAAWp8B,UAAW,IAAK80B,EAASsH,WAAWn8B,SAAU,MAAQ,IAAI,GAAS60B,EAAS1R,WAAWnN,gBAA8B,gBAAoB,MAAO,CACle3e,UAAW,cACG,gBAAoB,MAAO,CACzCqC,wBAAyB,CACvBC,OAAQk7B,EAAS7gC,SAGvB,EAsJA,OAAI6R,EACkB,gBAAoB,MAAO,CAC7CxO,UAAW,oCACG,gBAAoB,GAAS,CAC3CH,QAAQ,KAGQ,gBAAoB,MAAO,CAC7CG,UAAW,qCACG,gBAAoB,MAAO,CACzCE,MAAO,CACLiY,aAAc,SAEF,gBAAoB,GAAA/M,KAAM,CACxCvL,QAAQ,EACR6b,OAAO,GACO,gBAAoB,MAAO,MAAkB,MAAXorB,EAA+B,gBAAoB,MAAO,CAC1G9mC,UAAWsB,EAAK1hB,OAAS,EAAI,oBAAsB,aACnDmhB,QAzRc,SAAmBjiB,GACjCA,EAAEgiB,iBACEQ,EAAK1hB,OAAS,EAChB8mD,EAAQ,IAEO,MAAXI,GACFJ,EAAQI,EAAQ34C,QAAQ64C,SAAQ,SAAUlrC,GACxC,MAAO,CAAC,GAAGve,OAAOue,EAAOjX,GAAI,eAAgB,GAAGtH,OAAOue,EAAOjX,GAAI,aAAc,mBAAoB,iBACtG,IAGN,GA+QgB,gBAAoB,GAAAujB,KAAM,CACxC3Q,KAAM,cACJ6J,EAAK1hB,OAAS,EAAIgtB,EAAU,YAAcA,EAAU,aAAe,OAAmB,MAAXk6B,EAAkBA,EAAQ34C,QAAQ4N,KAAI,SAAUD,GAG5G8Q,EAAU9Q,EAAOmsC,iBAAlC,IACIC,EAAc,GAAG3qD,OAAOue,EAAO5D,MAAO,KAAK3a,OAAsB,MAAfue,EAAO8oB,KAAe9oB,EAAO8oB,KAAO,IACtFujB,EAjXuB,SAAgC16C,GAC3D,GAAe,MAAXq5C,EACF,MAAO,GAET,IAAIsB,EAAatB,EAAQI,qBASzB,OARakB,EAAW/oD,QAAO,SAAU8nD,GACvC,MAA0B,UAAtBA,EAAK3tC,eAKH,MAFC2tC,EAAKkB,iCAAiC9zC,MAAK,SAAU+U,GAC1D,OAAOA,EAAa7b,UAAYA,CAClC,GACF,GAEF,CAmWwB66C,CAAuBxsC,EAAOjX,IAChDuc,EAASE,EAAK1kB,QAAQ,GAAGW,OAAOue,EAAOjX,GAAI,iBAAmB,GAAKyc,EAAK1kB,QAAQ,GAAGW,OAAOue,EAAOjX,GAAI,eAAiB,EAC1H,OAAoB,gBAAoB,GAAA0d,MAAO,CAC7CjiB,IAAKwb,EAAOjX,IACE,gBAAoB,GAAAumB,KAAM,CACxCvL,QAAQ,EACR6b,OAAO,GACO,gBAAoB,OAAQ,CAC1C1b,UAAW,QACXE,MAAO,CACL,UAAWpE,EAAO+oB,YAEnBqjB,GAA2B,gBAAoB,MAAO,CACvDloC,UAAWoB,EAAS,oBAAsB,aAC1CL,QAAS,WACP,OAAO8mC,EAAa/rC,EAAOjX,GAC7B,GACc,gBAAoB,GAAAujB,KAAM,CACxC3Q,KAAM,cACKmV,EAATxL,EAAmB,WAAwB,cAA4B,gBAAoB,GAAAP,WAAY,CACzGS,KAAMA,EAAKinC,SAAS,GAAGhrD,OAAOue,EAAOjX,GAAI,gBACzC0c,SAAU,WACR,OAAOmmC,EAAc5rC,EAAOjX,GAAI,aAClC,EACA6c,MAAO5F,EAAO+oB,UACd3sB,MAAO0U,EAAU,eACH,gBAAoB,MAAO,CACzC5M,UAAW,kBACVmoC,EAAgBpsC,KAAI,SAAUorC,EAAMjlC,GACrC,GAAY,MAARilC,EACF,OAAO,KAET,IAAItZ,EAAOiZ,EAAQ0B,gBAAgBj0C,MAAK,SAAUs5B,GAChD,OAAOA,EAAKhpC,IAAMsiD,EAAK5tC,WACzB,IACIwrC,EAAYyC,EAAiBL,GAC7BvB,EAAYwB,EAAqB,CAACD,IACtC,OAAY,MAARtZ,GAAkF,IAAjEA,aAAmC,EAASA,EAAK3b,KAAKtyB,SAAoC,GAApBgmD,EAAUhmD,OAC5F,KAEW,gBAAoB,GAAAihB,WAAY,CAClDwlC,mBAAmB,EACnB/kC,MAAM,EACNhhB,IAAKutC,EAAKhpC,GACVqT,MAAO4vC,EAAaX,EAAMpC,EAAWlX,EAAM3rB,EAAQ,IAC1C,MAAR2rB,EAA4B,gBAAoB,GAAa,CAC9DA,KAAMA,EACNkX,UAAWA,IACR,KAAMa,EAAUhmD,OAAS,EAAiB,gBAAoB,GAAkB,CACnFgmD,UAAWA,EACXC,SAAUsB,IACP,KACP,IAAIrrC,EAAO2sC,QAAQ1sC,KAAI,SAAU+hC,GAC/B,IAAIuJ,EAAQJ,EAAmBnJ,EAAOC,UACtC,GAAoB,GAAhBsJ,EAAMznD,OACR,OAAO,KAET,IAhXiDi+C,EAC/C6K,EA+WE3D,GAhX6ClH,EAgXdC,EAAOC,SA9We,QAAnD2K,EAAwBnB,WAA6D,IAA1BmB,OAAmC,EAASA,EAAsBpuC,kBAAkB/F,MAAK,SAAUwwC,GACpK,MAAyB,UAAlBA,EAAU3+C,MAAoB2+C,EAAUxrC,aAAeskC,CAChE,KA6WE,GAAiB,MAAbkH,EACF,OAAO,KAET,IAAIa,EAAYwB,EAAqBC,GACrC,OAEM,MAFFtC,EAAU5G,WAAW5pC,MAAK,SAAU6pC,GACtC,OAAOA,EAAKvX,MAAQ,CACtB,KAAc+e,EAAUhmD,OAAS,EACX,gBAAoB,GAAAihB,WAAY,CAClDwlC,mBAAmB,EACnB/lD,IAAKw9C,EAAOC,SACZ7lC,MAAO4vC,EAAaT,EAAM,GAAItC,EAAWjH,EAAOoC,SAG5C,MAFH6E,EAAU5G,WAAW5pC,MAAK,SAAU6pC,GACrC,OAAOA,EAAKvX,MAAQ,CACtB,IAA0B,gBAAoB,GAAe,CAC3DqZ,OAAQpC,EAAOoC,OACf6E,UAAWA,IACR,KAAMa,EAAUhmD,OAAS,EAAiB,gBAAoB,GAAkB,CACnFgmD,UAAWA,EACXE,UAAWuB,IACR,MAEE,IAEX,MAAmB,gBAAoB,GAAAxmC,WAAY,CACjDS,KAAMA,EAAKinC,SAAS,GAAGhrD,OAAOue,EAAOjX,GAAI,cACzC0c,SAAU,WACR,OAAOmmC,EAAc5rC,EAAOjX,GAAI,WAClC,EACA6c,MAAO5F,EAAO+oB,UACd3sB,MAAO0U,EAAU,uBACH,gBAAoB,MAAO,CACzC5M,UAAW,kBACVmoC,EAAgBpsC,KAAI,SAAUorC,EAAMjlC,GACrC,IAAI2rB,EAAOiZ,EAAQ0B,gBAAgBj0C,MAAK,SAAUs5B,GAChD,OAAOA,EAAKhpC,IAAMsiD,EAAK5tC,WACzB,IACA,GAAY,MAARs0B,GAAwB,MAARsZ,EAClB,OAAO,KAET,IAAIvB,EAAYwB,EAAqB,CAACD,IAAO9nD,QAAO,SAAUspD,GAC5D,OAAQA,EAAW,OACrB,IACA,OAAwB,GAApB/C,EAAUhmD,OAAoB,KACd,gBAAoB,GAAAihB,WAAY,CAClDwlC,mBAAmB,EACnB/kC,MAAM,EACNhhB,IAAKutC,EAAKhpC,GACVqT,MAAO4vC,EAAaX,EAAM,KAAMtZ,EAAM3rB,EAAQ,IAC7C0jC,EAAUhmD,OAAS,EAAiB,gBAAoB,MAAO,CAChEogB,UAAW,oBACXE,MAAO,CACLiW,QAAS,EACT/E,OAAQ,EACRiI,OAAQ,IAETusB,EAAU7pC,IAAIqqC,IAAmB,KACtC,IAAItqC,EAAO2sC,QAAQ1sC,KAAI,SAAU+hC,GAC/B,IAAIuJ,EAAQJ,EAAmBnJ,EAAOC,UACtC,GAAoB,GAAhBsJ,EAAMznD,OACR,OAAO,KAET,IAAIgmD,EAAYwB,EAAqBC,GAAOhoD,QAAO,SAAUspD,GAC3D,OAAQA,EAAW,OACrB,IACA,OAAwB,GAApB/C,EAAUhmD,OAAoB,KACd,gBAAoB,GAAAihB,WAAY,CAClDwlC,mBAAmB,EACnB/kC,MAAM,EACNhhB,IAAKw9C,EAAOC,SACZ7lC,MAAO4vC,EAAaT,EAAM,GAAI,KAAMvJ,EAAOoC,SAC1C0F,EAAUhmD,OAAS,EAAiB,gBAAoB,MAAO,CAChEogB,UAAW,oBACXE,MAAO,CACLiW,QAAS,EACT/E,OAAQ,EACRiI,OAAQ,IAETusB,EAAU7pC,IAAIqqC,IAAmB,KACtC,MACF,IAAK,KA9P0B,WAC7B,IAAIiB,EAAQP,aAAyC,EAASA,EAAQI,qBAAqB7nD,QAAO,SAAUwuC,GAC1G,OAAuD,GAAhDA,EAAKwa,iCAAiCzoD,MAC/C,IACA,GAAa,MAATynD,GAAiC,GAAhBA,EAAMznD,OACzB,OAAO,KAET,IAAIwhB,EAASE,EAAK1kB,QAAQ,qBAAuB,GAAK0kB,EAAK1kB,QAAQ,mBAAqB,EACxF,OAAoB,gBAAoB,GAAA2lB,MAAO,KAAmB,gBAAoB,GAAA6I,KAAM,CAC1FvL,QAAQ,EACR6b,OAAO,GACO,gBAAoB,OAAQ,CAC1C1b,UAAW,QACXE,MAAO,CACL,UAAW,SAEZ0M,EAAU,6CAA2D,gBAAoB,MAAO,CACjG5M,UAAWoB,EAAS,oBAAsB,aAC1CL,QAAS,WACP,OAAO8mC,EAAa,QACtB,GACc,gBAAoB,GAAAz/B,KAAM,CACxC3Q,KAAM,cACKmV,EAATxL,EAAmB,WAAwB,cAA4B,gBAAoB,GAAAP,WAAY,CACzGa,MAAO,OACPJ,KAAMA,EAAKinC,SAAS,oBACpBhnC,SAAU,WACR,OAAOmmC,EAAc,QAAS,aAChC,EACAxvC,MAAO0U,EAAU,eACH,gBAAoB,MAAO,CACzC5M,UAAW,kBACVqnC,EAAMtrC,KAAI,SAAUorC,EAAMjlC,GAC3B,GAAY,MAARilC,EACF,OAAO,KAET,IAAItZ,EAAOiZ,EAAQ0B,gBAAgBj0C,MAAK,SAAUs5B,GAChD,OAAOA,EAAKhpC,IAAMsiD,EAAK5tC,WACzB,IACIwrC,EAAYyC,EAAiBL,GAC7BvB,EAAYwB,EAAqB,CAACD,IACtC,OAAY,MAARtZ,GAAkF,IAAjEA,aAAmC,EAASA,EAAK3b,KAAKtyB,SAAoC,GAApBgmD,EAAUhmD,OAC5F,KAEW,gBAAoB,GAAAihB,WAAY,CAClDwlC,mBAAmB,EACnB/kC,MAAM,EACNhhB,IAAKutC,EAAKhpC,GACVqT,MAAO4vC,EAAaX,EAAMpC,EAAWlX,EAAM3rB,EAAQ,IAC1C,MAAR2rB,EAA4B,gBAAoB,GAAa,CAC9DA,KAAMA,EACNkX,UAAWA,IACR,KAAMa,EAAUhmD,OAAS,EAAiB,gBAAoB,GAAkB,CACnFgmD,UAAWA,EACXC,SAAUsB,IACP,KACP,MAAmB,gBAAoB,GAAAtmC,WAAY,CACjDa,MAAO,OACPJ,KAAMA,EAAKinC,SAAS,kBACpBhnC,SAAU,WACR,OAAOmmC,EAAc,QAAS,WAChC,EACAxvC,MAAO0U,EAAU,uBACH,gBAAoB,MAAO,CACzC5M,UAAW,kBACVqnC,EAAMtrC,KAAI,SAAUorC,EAAMjlC,GAC3B,IAAI2rB,EAAOiZ,EAAQ0B,gBAAgBj0C,MAAK,SAAUs5B,GAChD,OAAOA,EAAKhpC,IAAMsiD,EAAK5tC,WACzB,IACA,GAAY,MAARs0B,GAAwB,MAARsZ,EAClB,OAAO,KAET,IAAIvB,EAAYwB,EAAqB,CAACD,IAAO9nD,QAAO,SAAUspD,GAC5D,OAAQA,EAAW,OACrB,IACA,OAAwB,GAApB/C,EAAUhmD,OAAoB,KACd,gBAAoB,GAAAihB,WAAY,CAClDwlC,mBAAmB,EACnB/kC,MAAM,EACNhhB,IAAKutC,EAAKhpC,GACVqT,MAAO4vC,EAAaX,EAAM,KAAMtZ,EAAM3rB,EAAQ,IAC7C0jC,EAAUhmD,OAAS,EAAiB,gBAAoB,MAAO,CAChEogB,UAAW,oBACXE,MAAO,CACLiW,QAAS,EACT/E,OAAQ,EACRiI,OAAQ,IAETusB,EAAU7pC,IAAIqqC,IAAmB,KACtC,MACF,CAoKWwC,GAxT6B,WACtC,GAAe,MAAX9B,GAAmD,MAAhCA,EAAQI,qBAC7B,OAAO,KAET,IAAIG,EAAQP,EAAQI,qBAAqB7nD,QAAO,SAAUwpD,GACxD,OAA4D,GAArDA,EAAUR,iCAAiCzoD,MACpD,IACA,GAAa,MAATynD,GAAiC,GAAhBA,EAAMznD,OACzB,OAAO,KAET,IAAIwhB,EAASE,EAAK1kB,QAAQ,mBAAqB,EAC/C,OAAoB,gBAAoB,GAAA2lB,MAAO,KAAmB,gBAAoB,GAAA6I,KAAM,CAC1FvL,QAAQ,EACR6b,OAAO,GACO,gBAAoB,OAAQ,CAC1C1b,UAAW,QACXE,MAAO,CACL,UAAW,SAEZ0M,EAAU,mCAAiD,gBAAoB,MAAO,CACvF5M,UAAWoB,EAAS,oBAAsB,aAC1CL,QAAS,WACP,OAAO2mC,EAAc,OAAQ,YAC/B,GACc,gBAAoB,GAAAt/B,KAAM,CACxC3Q,KAAM,cACKmV,EAATxL,EAAmB,YAAyB,cAA4B,gBAAoB,GAAAP,WAAY,CAC1Ga,MAAO,OACPJ,KAAMA,EAAKinC,SAAS,kBACpBhnC,SAAU,WACR,OAAOmmC,EAAc,OAAQ,YAC/B,EACAxvC,MAAO0U,EAAU,uBACH,gBAAoB,MAAO,CACzC5M,UAAW,qCACVqnC,EAAMtrC,KAAI,SAAUorC,EAAMjlC,GAC3B,GAAY,MAARilC,GAAsC,0BAAtBA,EAAK3tC,cACvB,OAAO,KAET,IAAIosC,EAAYwB,EAAqB,CAACD,IAAO9nD,QAAO,SAAUspD,GAC5D,OAAQA,EAAE3C,SACZ,IACA,OAAwB,GAApBJ,EAAUhmD,OAAoB,KACd,gBAAoB,GAAAihB,WAAY,CAClDwlC,mBAAmB,EACnB/kC,MAAM,EACNhhB,IAAK6mD,EAAKtiD,GACVqT,MAAO4vC,EAAaX,EAAM,KAAM,KAAMjlC,EAAQ,IAC7C0jC,EAAUhmD,OAAS,EAAiB,gBAAoB,MAAO,CAChEogB,UAAW,oBACXE,MAAO,CACLiW,QAAS,EACT/E,OAAQ,EACRiI,OAAQ,IAETusB,EAAU7pC,IAAIqqC,IAAmB,KACtC,MACF,CA+PuC0C,GACzC,EC3kBA,SAAS,GAAW9pD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAgBlP,IAAI+pD,GAA+B,SAAUzqC,GAC3C,SAASyqC,EAAgBlqC,GACvB,IAAIjc,EAoGJ,OAnGA,OAAgB3E,KAAM8qD,GACtBnmD,EAAQ,GAAW3E,KAAM8qD,EAAiB,CAAClqC,KAC3C,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAIk1B,EAAcl1B,EAAM4E,MACtBm6B,EAAQ7J,EAAY6J,MACpBtW,EAAMyM,EAAYzM,IACpBzoB,EAAMic,MAAMmqC,yCAAyCpmD,EAAMic,MAAMjQ,cAAc/J,GAAI88B,EAAOtW,GAAKlqB,MAAK,WAClGyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,IACK5rB,EAAMic,MAAMoqC,SACfrmD,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,YAEnD,KACA,OAAgBhqB,EAAO,oCAAoC,SAAU+e,GACnE,IAAI5T,EAAmB4T,EAAU5T,iBACT,MAApBA,GAA4BA,EAAiBnO,OAAS,IACxDmO,EAAmBA,EAAiBvF,MAAK,SAAUC,EAAGC,GACpD,OAAID,EAAEyP,MAAM4gB,cAAgBpwB,EAAEwP,MAAM4gB,eAC1B,EAENrwB,EAAEyP,MAAM4gB,cAAgBpwB,EAAEwP,MAAM4gB,cAC3B,EAEF,CACT,IAEJ,KACA,OAAgBl2B,EAAO,gBAAgB,SAAUZ,GAC/C,IAAI2/B,EAAQ3/B,EAAK2/B,MACftW,EAAMrpB,EAAKqpB,IACA,gBAATsW,IACFA,EAAQ,OAASpX,SAAS,EAAG,UAEpB,gBAAPc,IACFA,EAAM,OAAS5U,IAAI,EAAG,UAExB/V,aAAa8C,QAAQ,wBAAyBm+B,GAC9CjhC,aAAa8C,QAAQ,sBAAuB6nB,GAC5CzoB,EAAMye,SAAS,CACbsgB,MAAOA,EACPtW,IAAKA,GAET,KACA,OAAgBzoB,EAAO,eAAe,WACpC,IAAIg4C,EAAeh4C,EAAM4E,MACvBm6B,EAAQiZ,EAAajZ,MACrBtW,EAAMuvB,EAAavvB,IACrBzoB,EAAMye,SAAS,CACbmN,SAAS,EACT06B,aAAcvnB,EACdwnB,WAAY99B,IAEdzoB,EAAMic,MAAMmqC,yCAAyCpmD,EAAMic,MAAMjQ,cAAc/J,GAAI88B,EAAOtW,GAAKlqB,MAAK,WAClGyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,iBAAiB,SAAU2K,GAChD,IAAI2pB,EAAQt0B,EAAMic,MAAM9Q,iBAAiBwG,MAAK,SAAU60C,GACtD,OAAOA,EAASvkD,IAAM0I,CACxB,IACA3K,EAAMic,MAAM9Q,iBAAiBgO,KAAI,SAAUmb,GACzCA,EAAM5V,MAAO,EACb4V,EAAMmyB,QAAS,CACjB,IACa,MAATnyB,EACFt0B,EAAMic,MAAM9Q,iBAAiBgO,KAAI,SAAUmb,GACrC3pB,GAAW2pB,EAAMryB,KACnBqyB,EAAMmyB,QAAS,EAEnB,IAEAzmD,EAAMic,MAAM9Q,iBAAiBgO,KAAI,SAAUmb,GAGzC,OAFAA,EAAM5V,MAAO,EACb4V,EAAMmyB,QAAS,EACRnyB,CACT,IAEFt0B,EAAMye,SAAS,CACb+V,gBAAiB7pB,IAChB,WACY,MAAT2pB,IACFA,EAAM5V,MAAO,EACb4V,EAAMmyB,QAAS,EAEnB,GACF,IACAzmD,EAAM4E,MAAQ,CACZgnB,SAAS,EACTjrB,QAAS,KACT6zB,gBAAiB,EACjBuK,MAAOkY,KAAyBlY,MAChCtW,IAAKwuB,KAAyBxuB,IAC9B69B,aAAcrP,KAAyBlY,MACvCwnB,WAAYtP,KAAyBxuB,KAEhCzoB,CACT,CAEA,OADA,QAAUmmD,EAAiBzqC,IACpB,OAAayqC,EAAiB,CAAC,CACpCzoD,IAAK,wBACLC,MAAO,SAA+BohB,EAAWy6B,GAC/C,IAAIE,EAAiBr+C,KAAK4gB,QAAU8C,EAChC46B,EAAiBt+C,KAAKuJ,QAAU40C,EACpC,SAAIE,IAAkBC,EAIxB,GACC,CACDj8C,IAAK,SACLC,MAAO,WACL,IAAIof,EAAc1hB,KAAK4gB,MACrB9Q,EAAmB4R,EAAY5R,iBAC/B6e,EAAYjN,EAAYiN,UACtB08B,EAEE,MAFarrD,KAAK4gB,MAAMjQ,cAAcu8B,QAAQ52B,MAAK,SAAUe,GACjE,OAAOA,EAAOlP,MAAQkkC,EACxB,IACIif,EAEE,MAFctrD,KAAK4gB,MAAMjQ,cAAcu8B,QAAQ52B,MAAK,SAAUe,GAClE,OAAOA,EAAOlP,MAAQmkC,EACxB,IACIif,EAEE,MAFkBvrD,KAAK4gB,MAAMjQ,cAAcu8B,QAAQ52B,MAAK,SAAUe,GACtE,OAAOA,EAAOlP,MAAQokC,EACxB,IACA,OAAoB,gBAAoB,MAAO,CAC7CxqB,UAAW,iBACG,gBAAoB,MAAO,CACzCE,MAAO,CACLvf,MAAO,UAEM,gBAAoB,MAAO,CAC1Cuf,MAAO,CACLiY,aAAc,QAEhBnY,UAAW,QACG,gBAAoB,MAAO,CACzCA,UAAW,YACG,gBAAoB,MAAO,CACzCA,UAAW,iBACG,gBAAoB,GAAa,CAC/ClY,UAAW7J,KAAKuJ,MAAMm6B,MACtB1nB,QAAShc,KAAKuJ,MAAM6jB,IACpB9J,SAAUtjB,KAAKwrD,gBACC,gBAAoB,MAAO,CAC3CzpC,UAAW,sBACG,gBAAoB,GAAa,CAC/CuB,SAAUtjB,KAAKyrD,cACf3yB,SAAUhpB,MACO,gBAAoB,MAAO,CAC5CiS,UAAW,aACI,gBAAoB,MAAO,CAC1CE,MAAO,CACLyR,UAAW,QAEC,gBAAoB,GAAAkD,OAAQ,CAC1CzuB,KAAM,YACN2a,QAAS9iB,KAAK0rD,YACdl6B,SAAUxxB,KAAKuJ,MAAMgnB,SACpBvwB,KAAKuJ,MAAMgnB,QAAuB,gBAAoB,GAAS,MAAQ,KAAM5B,EAAU,YAA0B,gBAAoB,MAAO,CAC7I5M,UAAW,cACK,gBAAoB,GAAA4pC,KAAM,KAAML,GAAiBC,EAAiC,gBAAoB,GAAAK,IAAK,CAC3H3xC,MAAO0U,EAAU,eACjBroB,MAAO,aACO,gBAAoB,GAAiB,CACnD4B,UAAWlI,KAAK4gB,MAAMjQ,cAAc/J,GACpC88B,MAAO1jC,KAAKuJ,MAAM0hD,aAClB79B,IAAKptB,KAAKuJ,MAAM2hD,WAChBhvC,UAAyC,GAA9Blc,KAAKuJ,MAAM4vB,gBAAuBn5B,KAAKuJ,MAAM4vB,gBAAkB,QACtE,KAAMkyB,EAA4B,gBAAoB,GAAAO,IAAK,CAC/D3xC,MAAO0U,EAAU,SACjBroB,MAAO,SACO,gBAAoBulD,GAAoB,CACtDngC,OAAQ1rB,KAAK4gB,MAAMjQ,cAAc/J,GACjC88B,MAAO1jC,KAAKuJ,MAAMm6B,MAClBtW,IAAKptB,KAAKuJ,MAAM6jB,OACZ,KAAkC,MAA5BptB,KAAK4gB,MAAMjQ,eAAyB3Q,KAAK4gB,MAAMjQ,cAAcmO,SAAS7K,WAAaq3C,GAAiBC,GAAkC,gBAAoB,GAAAK,IAAK,CACzK3xC,MAAO0U,EAAU,eACjBroB,MAAO,YACO,gBAAoBwlD,GAAW,CAC7CpoB,MAAO1jC,KAAKuJ,MAAMm6B,MAClBtW,IAAKptB,KAAKuJ,MAAM6jB,OACZ,KAAkC,MAA5BptB,KAAK4gB,MAAMjQ,eAAyB3Q,KAAK4gB,MAAMjQ,cAAcmO,SAASnJ,sBAAqC,gBAAoB,GAAAi2C,IAAK,CAC9I3xC,MAAO0U,EAAU,0BACjBroB,MAAO,eACO,gBAAoB,GAAuB,OAAS,MACtE,IAEJ,CAjMmC,CAiMjC,EAAA2a,WAWF,UAAe,SAVf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1Bb,iBAAkBvG,EAAMkG,OAAOK,iBAC/BC,wBAAyBxG,EAAMkG,OAAOM,wBACtCF,gBAAiBtG,EAAMkG,OAAOI,gBAC9BG,mBAAoBzG,EAAMkG,OAAOO,mBACjC2e,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC9B,aAAcA,GACd2xC,yCjJ1HoD,SAAkD7iD,EAAW2B,EAAWmS,GAC5H,MAAO,CACL7T,KAAM2G,GACN1G,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,uBAAuB5I,OAAOuK,EAAW,SAASvK,OAAO0c,EAAS,cAAc9Y,MAAK,SAAUe,GAChJlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,GiJ+GA,CAGG+kD,IChOH,SAAS,GAAW/pD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAIgrD,GAA4B,SAAU1rC,GACxC,SAAS0rC,EAAanrC,GACpB,IAAIjc,EAWJ,OAVA,OAAgB3E,KAAM+rD,GACtBpnD,EAAQ,GAAW3E,KAAM+rD,EAAc,CAACnrC,KACxC,OAAgBjc,EAAO,qBAAqB,SAAU0C,GACpD1C,EAAMic,MAAMorC,oBAAoB3kD,EAClC,KACA,OAAgB1C,EAAO,uBAAuB,SAAUm4B,GACpB,MAA9Bn4B,EAAMic,MAAMqrC,gBACdtnD,EAAMic,MAAMqrC,eAAenvB,EAE/B,IACOn4B,CACT,CAEA,OADA,QAAUonD,EAAc1rC,IACjB,OAAa0rC,EAAc,CAAC,CACjC1pD,IAAK,oBACLC,MAAO,SAA2Bm4B,EAAOnf,GACvC,OAAOmf,EAAMC,MAAK,SAAUC,GAC1B,OAAOA,EAAKrf,cAAgBA,GAA6C,YAA9Bqf,EAAKC,OAAOC,aACzD,GACF,GACC,CACDx4B,IAAK,cACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT0hB,EAAc1hB,KAAK4gB,MACrBO,EAAQO,EAAYP,MACpB0a,EAAWna,EAAYma,SACzB,OAAO1a,EAAMrD,KAAI,SAAUgf,GACzB,IAAIz1B,EAAOy1B,EAAYz1B,KACnBgG,EAAe,KAQnB,OAPkC,MAA9BilB,EAAO1R,MAAMtT,gBACfD,EAAeilB,EAAO1R,MAAMtT,cAAcgJ,MAAK,SAAU41C,GACvD,OAAOA,EAAK9qC,YAAY9K,MAAK,SAAU6gB,GACrC,OAAOA,EAAO7V,cAAgBja,EAAKT,EACrC,GACF,KAEkB,gBAAoB,MAAO,CAC7Cqb,MAAO,CACLmZ,OAAQ,aAEV/4B,IAAK,QAAUgF,EAAKT,IACN,gBAAoB,GAAAumB,KAAM,CACxCvL,QAAQ,GACM,gBAAoB,MAAO,CACzCK,MAAO,CACLiI,KAAM,IAEM,gBAAoB,GAAQ,CAC1CM,OAAQnjB,KAC0B,MAA/BirB,EAAO1R,MAAMqrC,gBAA0B35B,EAAO1R,MAAMvZ,KAAKT,IAAMS,EAAKT,IAA8B,QAAxBk2B,EAAYqvB,UAAsB9kD,EAAKozB,OAASnI,EAAOyI,kBAAkB1zB,EAAKozB,MAAOoB,EAAS11B,YAA2B,gBAAoB,MAAO,KAAmB,gBAAoB,KAAM,CAC9Qye,GAAI,IACJ3C,MAAO,CACLme,OAAQ,WAEVtd,QAAS,SAAiBjiB,GACxB,OAAOyxB,EAAO85B,oBAAoB/kD,EACpC,GACc,gBAAoB,MAAO,CACzC4a,MAAO,CACL+D,MAAO,UACPsD,SAAU,WACV,MAAS,UAEM,MAAhBjc,EAAoC,gBAAoB,GAAA8c,KAAM,CAC/D3Q,KAAM,YACU,gBAAoB,GAAA2Q,KAAM,CAC1C3Q,KAAM,UACN6yC,IAAI,IACc,MAAhBh/C,GAAwBA,EAAa0vB,eAAiB,EAAiB,gBAAoB,MAAO,CACpGhb,UAAW,SACG,gBAAoB,OAAQ,KAAM1U,EAAa0vB,iBAAmB,QAAuB,gBAAoB,MAAO,OACtI,GACF,GACC,CACD16B,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,KAAMtC,KAAKssD,cAC5D,IAEJ,CAnFgC,CAmF9B,EAAArrC,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLlC,KAAMkC,EAAMsV,KAAKxX,KACjBiG,cAAe/D,EAAM0U,aAAaC,uBAEtC,GACwC,CAAC,EAAzC,CAA4C6tC,IC9F5C,SAAS,GAAWhrD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAYlP,IAAIwrD,GAA2B,SAAUlsC,GACvC,SAASksC,EAAY3rC,GACnB,IAAIjc,EA6FJ,OA5FA,OAAgB3E,KAAMusD,GACtB5nD,EAAQ,GAAW3E,KAAMusD,EAAa,CAAC3rC,KACvC,OAAgBjc,EAAO,qBAAqB,WAC1C7B,QAAQurC,IAAI,CAAC1pC,EAAMic,MAAM4rC,qBAAqB7nD,EAAMic,MAAMrP,QAAQ3K,MAAM1D,MAAK,WAC3EyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,YAAY,SAAUrC,EAAOoS,GAClD,GAAa,MAATpS,EACF,OAAO,KAAAqsB,WAAU,gBAGrB,KACA,OAAgBhqB,EAAO,UAAU,SAAU+P,GACzC,IAAI4jB,EAAU3zB,EAAMic,MAAM0X,QAI1B,OAHA3zB,EAAMye,SAAS,CACbmN,SAAS,IAEJ,IAAIztB,QAAsB,WAC/B,IAAIiB,GAAO,OAAgC,UAAyB,SAASC,EAAQjB,GACnF,IAAI0pD,EAAOC,EAAMlgC,EAAMmgC,EAASv7C,EAChC,OAAO,UAAyB,SAAkBjN,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAQH,GAPA4oD,EAAQ,GACR9nD,EAAMic,MAAMrG,kBAAkBuD,KAAI,SAAU8uC,GAC1CH,EAAMlrD,KAAKC,MAAMirD,GAAO,OAAmBG,EAAUC,gBACvD,IAIc,OAHdH,EAAOD,EAAMn2C,MAAK,SAAUiC,GAC1B,OAAOA,EAAK3R,IAAM8N,EAAOo4C,eAC3B,KACqB,CACnB3oD,EAASN,KAAO,GAChB,KACF,CACA2oB,EAAO,SAAWkgC,EAAKttC,WACvButC,EAAU,SAAWD,EAAKC,SAC1Bv7C,EAAM,CACJxK,GAAIjC,EAAMic,MAAMnM,SAAS7N,GACzBmmD,UAAWpoD,EAAMic,MAAMrP,QAAQ3K,GAC/BkmD,gBAAiBJ,EAAK9lD,GACtB4lB,KAAMA,EAAK/T,OAAO,uBAClBuD,QAAS2wC,EAAQl0C,OAAO,wBAE1B9T,EAAMic,MAAMzP,0BAA0BC,EAAKzM,EAAMic,MAAMnM,SAAS7N,IAAI1D,MAAK,WACtC,MAA7ByB,EAAMic,MAAMnM,SAAS+X,KACvB8L,EAAQ,MAAM,IAEdx1B,QAAQurC,IAAI,CAAC1pC,EAAMic,MAAM4rC,qBAAqB7nD,EAAMic,MAAMrP,QAAQ3K,MAAM1D,MAAK,WAC3EyB,EAAMye,SAAS,CACbmN,SAAS,EACT1rB,OAAO,GAEX,IACA9B,EAAQ,GAEZ,IACAoB,EAASN,KAAO,GAChB,MACF,KAAK,GAEH,OADAM,EAASN,KAAO,GACTc,EAAMic,MAAM4rC,qBAAqB7nD,EAAMic,MAAMrP,QAAQ3K,IAC9D,KAAK,GAMH,OALAjC,EAAMye,SAAS,CACbmN,SAAS,EACT1rB,OAAO,IAET9B,EAAQ,GACDoB,EAASwrB,OAAO,UACzB,KAAK,GACL,IAAK,MACH,OAAOxrB,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,GACf,OAAOT,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CA5DiC,GA6DnC,KACA,OAAgBiD,EAAO,YAAY,SAAUG,GAE3CA,EAAM+d,iBACNle,EAAMic,MAAM0X,QAAQ,MAAM,EAC5B,IACA3zB,EAAM4E,MAAQ,CACZwyC,MAAO,KACPxrB,SAAS,EACT1rB,OAAO,GAEFF,CACT,CAEA,OADA,QAAU4nD,EAAalsC,IAChB,OAAaksC,EAAa,CAAC,CAChClqD,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACb,GAAIA,KAAKuJ,MAAMgnB,QACb,OAAoB,gBAAoB,GAAS,CAC/C3O,QAAQ,IAGZ,IAAIF,EAAc1hB,KAAK4gB,MACrByV,EAAe3U,EAAY2U,aAC3BE,EAAQ7U,EAAY6U,MACpB5H,EAAYjN,EAAYiN,UAC1B,OAA2C,GAAvC3uB,KAAK4gB,MAAMrG,kBAAkB5Y,OACX,gBAAoB,MAAO,CAC7CogB,UAAW,kBACG,gBAAoB,MAAO,CACzCE,MAAO,CACLiY,aAAc,QAEhBnY,UAAW,4BACV4M,EAAU,2CAEK,gBAAoB,MAAO,CAC7C5M,UAAW,kBACU,MAApB/hB,KAAKuJ,MAAM1E,OAAqC,GAApB7E,KAAKuJ,MAAM1E,MAA6B,gBAAoB,MAAO,CAChGkd,UAAW,WACXE,MAAO,CACLiY,aAAc,QACdzW,MAAO,MACPkf,WAAY,QAEb3iC,KAAK4gB,MAAM+N,UAAU,kFAAoF,KAAmB,gBAAoB,OAAQ,CACzJgG,SAAU0B,EAAar2B,KAAKy2B,QAC5B1U,UAAW,uBACG,gBAAoB,MAAO,KAAM/hB,KAAK4gB,MAAMrG,kBAAkBuD,KAAI,SAAUkvC,GAC1F,IAkBIP,EAAQO,EAAUH,eAAezrD,QAAO,SAAUL,GACpD,OAAO,KAAOA,EAAEqe,WAAa,KAAO4tC,EAAUL,UAAY,KAAO5rD,EAAE4rD,SAAW,KAAOK,EAAU5tC,UACjG,IACA,OAAoB,gBAAoB,MAAO,CAC7C2C,UAAW,iBACX1f,IAAK2qD,EAAUpmD,IACD,gBAAoB,GAAa,CAC/CmjB,QAzBY,SAAiB1G,GAC7B,OAAoB,gBAAoB,MAAO,CAC7CtB,UAAW,IACG,gBAAoB,MAAO,CACzCA,UAAW,GACXE,MAAO,CACL+H,QAAS,SAEG,gBAAoB,MAAO,CACzC/H,MAAO,CACLiI,KAAM,MAEP,IAAI,GAAS8iC,EAAU5tC,WAAWqkB,gBAAgB1jC,cAA4B,gBAAoB,GAAAotB,KAAM,CACzGvL,QAAQ,GACP,IAAI,GAASorC,EAAU5tC,WAAW6tC,UAAW,MAAO,IAAI,GAASD,EAAUL,SAASM,UAAwB,gBAAoB,MAAO,CACxIlrC,UAAW,kBACVsB,EAAoB,gBAAoB,GAAO,MAAqB,gBAAoB,GAAM,SACnG,GASgB,gBAAoB,MAAO,CACzCtB,UAAW,mBACV0qC,EAAM3uC,KAAI,SAAU4uC,EAAMphC,GAC3B,IAAIkC,EAAQ,SAAWk/B,EAAKttC,WAAWtV,QAAQ2O,OAAO,SAAW,MAAQ,SAAWi0C,EAAKC,SAAS7iD,QAAQ2O,OAAO,SAC7GqN,EAAY4mC,EAAK5mC,WAAa,SAAW4mC,EAAKttC,WAAa,WAC3D8tC,EAAWR,EAAKQ,SACpB,OAAoB,gBAAoB,MAAO,CAC7CnrC,UAAW,OACX1f,IAAK,QAAUipB,GACD,gBAAoB,KAAO,CACzCwK,UAAW,GAAAmF,MACXE,YAAauxB,EAAK9lD,GAClB4qB,UAAW1L,IAAconC,EACzB1zC,KAAM,kBACNgU,MAAOA,EACPkJ,SAAUpE,EAAOqE,WAErB,MACF,KAAkB,gBAAoB,MAAO,CAC3C5U,UAAW,iBACI,gBAAoB,MAAO,CAC1CA,UAAW,2BACG,gBAAoB,GAAA6U,OAAQ,CAC1CpF,UAAW+E,GACV5H,EAAU,SAAuB,gBAAoB,MAAO,CAC7D5M,UAAW,cACG,gBAAoB,GAAA6U,OAAQ,CAC1CzuB,KAAM,YACN2a,QAAS9iB,KAAKmtD,UACbx+B,EAAU,cACf,IAEJ,CAhM+B,CAgM7B,EAAA1N,WASF,UAAe,SARf,SAAyB1X,GACvB,MAAO,CACLiR,sBAAuBjR,EAAM4V,WAAW3E,sBACxCD,kBAAmBhR,EAAM4V,WAAW5E,kBACpC5J,cAAepH,EAAMsV,KAAKlO,cAC1Bge,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtCsxC,qBpH9NgC,SAA8BO,GAC9D,MAAO,CACL5kD,KAAMmS,GACNlS,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,sBAAsB/G,OAAOytD,IAAY7pD,MAAK,SAAUe,GAC9DlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EoHsNEoL,0BAA2BA,IAF7B,EAGG,EAAA0lB,GAAA,GAAU,CACX/hB,KAAM,oBACNgiB,kBAAkB,GAFjB,CAGAy1B,KC7NH,SAAS,GAAWxrD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAqBlP,IAAIqsD,GAA+B,SAAU/sC,GAE3C,SAAS+sC,EAAgBxsC,GACvB,IAAIjc,EAmKJ,OAlKA,OAAgB3E,KAAMotD,GACtBzoD,EAAQ,GAAW3E,KAAMotD,EAAiB,CAACxsC,KAC3C,OAAgBjc,EAAO,qBAAqB,WAC1CA,EAAMq/C,UACR,KACA,OAAgBr/C,EAAO,YAAY,WACjC,IAEImpC,EAAW,CAFAnpC,EAAMic,MAAM1P,WAAWvM,EAAMic,MAAMuR,MAAMlW,OAAOrV,IAChDjC,EAAMic,MAAMysC,mBAAmB1oD,EAAMic,MAAMuR,MAAMlW,OAAOikB,aAEvEp9B,QAAQurC,IAAIP,GAAU5qC,MAAK,WACzByB,EAAMic,MAAMxH,aAAazU,EAAMic,MAAMrP,QAAQ0I,OAC7CtV,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,cAAc,SAAU2oD,GAC7C3oD,EAAMye,SAAS,CACbmqC,UAAW5oD,EAAM4E,MAAMgkD,WACtB,WACGD,GACF3oD,EAAMq/C,UAEV,GACF,KACA,OAAgBr/C,EAAO,WAAW,WAChC,IAAI+c,EAAc/c,EAAMic,MACtBpP,EAAkBkQ,EAAYlQ,gBAC9Bmd,EAAYjN,EAAYiN,UAC1BhqB,EAAMic,MAAM4sC,6BAA6Bh8C,EAAgB5K,IAAI1D,MAAK,WAChEyB,EAAMic,MAAMjV,SAASgjB,EAAU,qCAAsC,OACvE,IAAU,OAAE,WACVhqB,EAAMic,MAAMjV,SAASgjB,EAAU,iCAAkC,QACnE,GACF,KACA,OAAgBhqB,EAAO,cAAc,SAAU8W,GAC7C,IAAI+Q,EAAO,IAAI,GAAS/Q,EAAU+T,SAC9Bb,EAAYhqB,EAAMic,MAAM+N,UAC5B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,OACX1f,IAAKoZ,EAAU7U,IACK,MAAnB6U,EAAUxB,MAA6B,gBAAoB,KAAM,KAAMwB,EAAUxB,OAAS,KAAmB,gBAAoB,IAAK,CACvImK,wBAAyB,CACvBC,OAAQ5I,EAAUiD,QAEL,gBAAoB,IAAK,CACxCqD,UAAW,WACU,MAApBtG,EAAU6zB,OAAiB7zB,EAAU6zB,OAAO7kB,UAAY,IAAMhP,EAAU6zB,OAAO5kB,SAAW,KAAmB,gBAAoB,OAAQ,CAC1IzI,MAAO,CACL0gB,WAAY,MAEb,IAAKnW,EAAKihC,cAA4B,gBAAoB,OAAQ,CACnExrC,MAAO,CACL0gB,WAAY,MAEb,MAAO,IAA4B,MAAvBlnB,EAAkB,QAAcA,EAAkB,OAAgCkT,EAAU,eAAtCA,EAAU,kBACjF,KACA,OAAgBhqB,EAAO,iBAAiB,WACtCA,EAAMye,SAAS,CACbsqC,cAAe/oD,EAAM4E,MAAMmkD,cAE/B,KACA,OAAgB/oD,EAAO,iBAA8B,OAAgC,UAAyB,SAASX,IACrH,IAAIoN,EACJ,OAAO,UAAyB,SAAkBjN,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EACHuN,EAAM,CACJxK,GAAIjC,EAAMic,MAAMpP,gBAAgB5K,GAChCmmD,UAAWpoD,EAAMic,MAAMrP,QAAQ3K,GAC/BkmD,gBAAiB,KACjBtgC,KAAM,KACNxQ,QAAS,MAEXrX,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAMzP,0BAA0BC,EAAKzM,EAAMic,MAAMpP,gBAAgB5K,IAAI1D,MAAK,WAC9EyB,EAAMye,SAAS,CACbmN,SAAS,GAEb,IACF,KAAK,EACL,IAAK,MACH,OAAOpsB,EAASI,OAEtB,GAAGP,EACL,OACA,OAAgBW,EAAO,kBAAkB,SAAUm4B,GACjDn4B,EAAMye,SAAS,CACbuqC,mBAAoB7wB,GAExB,KACA,OAAgBn4B,EAAO,uBAAuB,WAC5CA,EAAMye,SAAS,CACbuqC,mBAAoB,MAExB,KACA,OAAgBhpD,EAAO,sBAAsB,SAAU+P,GACrD,OAAO,IAAI5R,QAAsB,WAC/B,IAAIs7B,GAAQ,OAAgC,UAAyB,SAAS16B,EAASX,GACrF,OAAO,UAAyB,SAAmBY,GACjD,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EACH,GAAmB,MAAb6Q,EAAO9N,GAAa,CACxBjD,EAAUE,KAAO,EACjB,KACF,CAGA,OAFA6Q,EAAOk5C,OAASjpD,EAAM4E,MAAMuL,KAAKlO,GACjCjD,EAAUE,KAAO,EACVc,EAAMic,MAAMitC,0BAA0BlpD,EAAMic,MAAMrP,QAAQ3K,GAAIjC,EAAMic,MAAMpP,gBAAgB5K,GAAI8N,GACvG,KAAK,EAEH,OADA/Q,EAAUE,KAAO,EACVc,EAAMic,MAAMysC,mBAAmB1oD,EAAMic,MAAMuR,MAAMlW,OAAOikB,YACjE,KAAK,EACHn9B,EAAQ,GACV,KAAK,EACL,IAAK,MACH,OAAOY,EAAUY,OAEvB,GAAGb,EACL,KACA,OAAO,SAAUc,GACf,OAAO45B,EAAM58B,MAAMxB,KAAM0B,UAC3B,CACF,CA1BiC,GA2BnC,KACA,OAAgBiD,EAAO,uBAAuB,SAAUmQ,GACtD,IAAID,EAAe3H,KAAKyL,MAAMzL,KAAKC,UAAU2H,EAAKA,KAAK2G,UAAU5G,eAC7Di5C,EAAqB5gD,KAAKyL,MAAMzL,KAAKC,UAAU2H,EAAKA,KAAK2G,UAAU5G,aAAa4qB,SACpF96B,EAAMye,SAAS,CACbvO,aAAcA,EACdi5C,mBAAoBA,EACpBh5C,KAAMA,EAAKA,KAAK2G,UAChBsyC,aAAcj5C,EAAKi5C,eAErBppD,EAAMqpD,YACR,KACA,OAAgBrpD,EAAO,cAAc,SAAUmQ,EAAMmP,GACnD,IAAIgqC,EACJ,OAAoB,gBAAoB,MAAO,CAC7C5rD,IAAK4hB,EACLnB,QAAS,WACP,OAAOne,EAAMupD,oBAAoBp5C,EACnC,EACAiN,UAAW,aACG,gBAAoB,MAAO,CACzCA,UAAW,cACVjN,EAAKA,KAAK2G,UAAUxB,OAAqB,gBAAoB,MAAO,CACrE8H,UAAW,QACVjN,EAAKgoB,YAAYz1B,KAAKojB,UAAW,IAAK3V,EAAKgoB,YAAYz1B,KAAKqjB,UAAwB,gBAAoB,MAAO,CAChH3I,UAAW,QACW,MAArBjN,EAAKi5C,aAAuB,IAAI,GAASj5C,EAAKi5C,aAAatyC,UAAUqjB,QAAQqvB,sBAAwB,IAAkB,gBAAoB,MAAO,CACnJpsC,UAAW,QAC6H,cAAzF,QAA5CksC,EAAqBn5C,EAAKi5C,oBAAiD,IAAvBE,OAAgC,EAASA,EAAmBxyC,UAAU3V,QAAyBnB,EAAMic,MAAM+N,UAAU,aAAehqB,EAAMic,MAAM+N,UAAU,kBACrN,IACAhqB,EAAM4E,MAAQ,CACZgnB,SAAS,EACTg9B,UAAU,EACVG,cAAc,EACdU,QAAS,IAAIC,MAER1pD,CACT,CAEA,OADA,QAAUyoD,EAAiB/sC,IACpB,OAAa+sC,EAAiB,CAAC,CACpC/qD,IAAK,kBACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT+U,EAAQ/U,KAAK4gB,MAAMrP,QAAQ6Z,cAAchqB,QAAO,SAAUL,GAC5D,MAAuB,QAAnBA,EAAEwa,eAAiD,YAAtBxa,EAAEutD,gBAIrC,IAAGxwC,KAAI,SAAU/c,GACf,OAAOA,CACT,IACIwtD,EAAc,GAoBlB,OAnBAx5C,EAAMnT,SAAQ,SAAUkT,GACtBwd,EAAO1R,MAAMpP,gBAAgBkrB,aAAa96B,SAAQ,SAAUk7B,GAC1D,GAAIA,EAAYqvB,UAAYr3C,EAAKw5C,kBAAoBxxB,EAAY0xB,QAAUl8B,EAAO1R,MAAMvZ,KAAKT,GAAI,CAC/F,IAAImnD,EAAe,KACnBz7B,EAAO1R,MAAMpP,gBAAgB4Z,cAAcxpB,SAAQ,SAAUypB,GACzB,gBAA9BA,EAAa9P,eACX8P,EAAa5P,UAAUmyC,QAAU94C,EAAKyW,aAAeF,EAAa5P,UAAUgzC,YAAc3xB,EAAY0xB,SACxGT,EAAe1iC,EAGrB,IACAkjC,EAAYhtD,KAAK,CACfuT,KAAMA,EACNgoB,YAAaA,EACbixB,aAAcA,GAElB,CACF,GACF,IACOQ,CACT,GACC,CACDlsD,IAAK,mBACLC,MAAO,WACL,IAAIw4B,EAAS96B,KACT+U,EAAQ/U,KAAK4gB,MAAMrP,QAAQ6Z,cAAchqB,QAAO,SAAUL,GAC5D,MAAuB,QAAnBA,EAAEwa,eAAiD,YAAtBxa,EAAEutD,gBAIrC,IAAGxwC,KAAI,SAAU/c,GACf,OAAOA,CACT,IACIwtD,EAAc,GAelB,OAdAx5C,EAAMnT,SAAQ,SAAUkT,GACtB,IAAIi5C,EAAe,KACnBjzB,EAAOla,MAAMpP,gBAAgB4Z,cAAcxpB,SAAQ,SAAUypB,GACzB,gBAA9BA,EAAa9P,eACX8P,EAAa5P,UAAUmyC,QAAU94C,EAAKyW,cACxCwiC,EAAe1iC,EAGrB,IACAkjC,EAAYhtD,KAAK,CACfuT,KAAMA,EACNi5C,aAAcA,GAElB,IACOQ,CACT,GACC,CACDlsD,IAAK,SACLC,MAAO,WACL,IAAIosD,EACF1zB,EAASh7B,KACX,GAAIA,KAAKuJ,MAAMgnB,QACb,OAAoB,gBAAoB,GAAS,CAC/C3O,QAAQ,IAGZ,IAAI0G,EAAetoB,KAAK4gB,MACtBrP,EAAU+W,EAAa/W,QACvBC,EAAkB8W,EAAa9W,gBAC/Bmd,EAAYrG,EAAaqG,UACvB9Y,EAAQ,GACZrE,EAAgB4Z,cAAcxpB,SAAQ,SAAUypB,GAC9C,GAAkC,QAA9BA,EAAa9P,eAAqD,MAA1B8P,EAAa5P,UACvD,OAAO5F,EAAMtU,KAAK8pB,EAAa5P,UAEnC,IACA5F,EAAMtL,MAAK,SAAUC,EAAGC,GACtB,OAAO,IAAI4jD,KAAK5jD,EAAE+kB,SAAW,IAAI6+B,KAAK7jD,EAAEglB,QAC1C,IACA,IAAIza,EAAQ/U,KAAK2uD,kBACbC,EAAgB5uD,KAAK6uD,mBACrBC,EAAoC,MAAxBt9C,EAAgBgb,KAC5BuiC,GAAiB,EACR,MAATh6C,IAIFg6C,EAAsC,MAHdh6C,EAAMuB,MAAK,SAAUxB,GAC3C,OAA4B,MAArBA,EAAKi5C,YACd,KAGF,IAAIK,EAAU,IAAIC,KAAKruD,KAAKuJ,MAAM6kD,SAC9BvkD,EAAY,IAAIwkD,KAAK78C,EAAgBgb,MACzC,OAAoB,gBAAoB,MAAO,CAC7CzK,UAAW,uCACG,gBAAoBsb,GAAO,CACzCpjB,MAAO0U,EAAU,SACjBxL,OAAQnjB,KAAKuJ,MAAMgkD,SACnBj1B,QAASt4B,KAAKguD,YACc,MAA3BhuD,KAAKuJ,MAAMsL,aAAoC,gBAAoB,GAAc,CAClFC,KAAM9U,KAAKuJ,MAAMsL,aAAajO,GAAGT,WACjCs5B,OAAQz/B,KAAKuJ,MAAMukD,mBACnBr5C,SAAgE,QAArDi6C,EAAwB1uD,KAAKuJ,MAAMwkD,oBAAoD,IAA1BW,OAAmC,EAASA,EAAsBjzC,UAC1I4+B,QAASr6C,KAAKguD,WACdr5B,SAAU30B,KAAKgvD,mBACfx9B,SAA4B,aAAlBjgB,EAAQzL,SACF,gBAAoB,GAAS,CAC7C8b,QAAQ,KACQ,gBAAoB,GAAS,CAC7Cm5B,WAAY/6C,KAAKuJ,MAAMokD,mBACvBn8C,gBAAiBA,EACjB8mB,QAASt4B,KAAKivD,sBACC,gBAAoB5xB,GAAO,CAC1Cla,OAAQnjB,KAAKuJ,MAAMmkD,aACnBp1B,QAAS,WACP,OAAO0C,EAAOk0B,eAChB,EACA/mD,KAAM,QACN8R,MAAO0U,EAAU,mBACH,gBAAoB,GAAa,CAC/C2J,QAAS,WACP0C,EAAOk0B,eACT,EACA39C,QAASA,EACTkD,SAAUjD,KACM,gBAAoB,MAAO,CAC3CuQ,UAAW,gCACXE,MAAO,CACLse,WAAY,IAEA,gBAAoB,GAAAorB,KAAM,KAAmB,gBAAoB,GAAAC,IAAK,CACpF3xC,MAAO0U,EAAU,uBACjBroB,MAAO,SACJwoD,GAAcC,GAAsC,cAAnBx9C,EAAQzL,UAA6C,WAAnByL,EAAQzL,QAAmD,UAA3B0L,EAAgB1L,QAAiD,WAA3B0L,EAAgB1L,QAyB/I,KAzBmL,gBAAoB,SAAc,KAAmB,gBAAoB,OAAQ,CACjRic,UAAW,SACV4M,EAAU,UAAwB,gBAAoB,MAAO,KAAOmgC,EAWhE,KAXyF,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CACvKhsC,QAAS9iB,KAAKkvD,cACdjtC,MAAO,CACL+H,QAAS,eACTkQ,aAAc,SACdkG,OAAQ,YAEI,gBAAoB,GAAAjG,SAAU,CAC5C73B,OAAO,EACPkrB,MAAOmB,EAAU,kBACjB6C,UAAU,MACEu9B,EAYR,KAZsC,gBAAoB,IAAK,CACnEr1C,KAAM,SACNuI,MAAO,CACLiY,aAAc,SACdkG,OAAQ,UACR3c,MAAO,UACPwtB,eAAgB,SAEJ,gBAAoB,GAAA9W,SAAU,CAC5C73B,OAAO,EACPkrB,MAAOmB,EAAU,aACjB6C,UAAU,OACsB,gBAAoB,SAAc,KAA8B,MAAxBhgB,EAAgBgb,KAA4B,gBAAoB,MAAO,CAC/IvK,MAAO,CACLiY,aAAc,SAEF,gBAAoB,OAAQ,CAC1CnY,UAAW,SACV4M,EAAU,SAAU,IAAI,GAASnd,EAAgBgb,MAAMkU,cAAe,MAAO,IAAI,GAASlvB,EAAgBgb,MAAMygC,UAAsC,MAA3Bz7C,EAAgBwK,QAAkB,MAAQ,IAAI,GAASxK,EAAgBwK,SAASixC,UAAY,MAAQ,KAAMz7C,EAAgB29C,WAA0B,gBAAoB,MAAO,CAC3SltC,MAAO,CACLiY,aAAc,UAEhBnY,UAAW,uBACV4M,EAAU,kCAAoC,KAAmB,gBAAoB,OAAQ,CAC9F5M,UAAW,SACV4M,EAAU,wBAA4C,cAAnBpd,EAAQzL,OAAsC,gBAAoB,MAAO,CAC7Gmc,MAAO,CACLiY,aAAc,UAEhBnY,UAAW,uBACV4M,EAAU,sBAAwB,KAAmB,gBAAoBirB,GAAa,KAAMroC,EAAQm7B,aAA2B,gBAAoBkN,GAAa,KAAMpoC,EAAgBk7B,aAA2B,gBAAoB,MAAO,KAAmB,gBAAoB,OAAQ,CAC5R3qB,UAAW,SACV4M,EAAU,iBAA+B,gBAAoB,GAAc,CAC5ExN,MAAO3P,EAAgBkrB,aACvBb,SAAUtqB,EAAQ0oB,SAClBgyB,eAAgBjsD,KAAKisD,oBAChBjsD,KAAK4gB,MAAMtb,QAAQwZ,SAASjJ,MAAqB,gBAAoB,GAAA+1C,IAAK,CAC/E3xC,MAAO0U,EAAU,iBACjBroB,MAAO,SACO,gBAAoB,SAAc,KAAmB,gBAAoB,MAAO,CAC9Fyb,UAAW,SACG,gBAAoB,GAAAoL,KAAM,CACxCvL,QAAQ,GACM,gBAAoB,OAAQ,CAC1CG,UAAW,QACXE,MAAO,CACLiI,KAAM,IAEPyE,EAAU,mBAAoB9Y,EAAMiI,KAAI,SAAUsxC,GACnD,OAAOp0B,EAAOq0B,WAAWD,EAC3B,IAAoB,GAAhBv5C,EAAMlU,OAA2B,gBAAoB,MAAO,KAAMgtB,EAAU,aAAe,QAAU,KAAmB,gBAAoB,GAAAi9B,IAAK,CACnJ3xC,MAAO0U,EAAU,SACjBroB,MAAO,SACO,gBAAoB,SAAc,KAAmB,gBAAoB,OAAQ,CAC/Fyb,UAAW,SACV4M,EAAU,UAAwB,gBAAoB,MAAO,CAC9D5M,UAAW,iBACVhN,EAAM+I,IAAI9d,KAAKsvD,iBAA+B,gBAAoB,MAAO,CAC1EvtC,UAAW,4BACXE,MAAO,CACLse,WAAY,IAEA,gBAAoB,MAAO,CACzCxe,UAAW,kBACG,gBAAoB,KAAM,KAAM4M,EAAU,YAAwC,MAA3Bnd,EAAgBlM,QAA+B,gBAAoB,MAAO,KAAMkM,EAAgBlM,QAAQmlB,UAAY,IAAMjZ,EAAgBlM,QAAQolB,UAAY,MAA+B,MAAxBlZ,EAAgBgb,MAA2C,MAA3Bhb,EAAgBwK,SAAsC,cAAnBzK,EAAQzL,QAA0B+D,EAAYukD,EAAuB,gBAAoB,MAAO,KAAiC,MAA3BpuD,KAAK4gB,MAAMzN,QAAQ8uB,KAA4B,gBAAoB,MAAO,KAAmB,gBAAoB,GAAArL,OAAQ,CAC5gB9T,QAAS9iB,KAAKuvD,QACdpnD,KAAM,aACLwmB,EAAU,4BAA8B,KAAmB,gBAAoB,MAAO,KAAmB,gBAAoB,GAAAiI,OAAQ,CACtI3U,MAAO,CACLyR,UAAW,GAEb5Q,QAAS,WACPkY,EAAOk0B,eACT,EACA/mD,KAAM,aACLwmB,EAAU,oBAAkC,gBAAoB,MAAO,KAAmB,gBAAoB,GAAAiI,OAAQ,CACvH3U,MAAO,CACLyR,UAAW,GAEb5Q,QAAS,WACPkY,EAAOw0B,eACT,EACArnD,KAAM,aACLwmB,EAAU,qBAAuB,KAA0C,MAApCnd,EAAgBi+C,iBAAwC,gBAAoB,MAAO,CAC3HxtC,MAAO,CACLyR,UAAW,UAEC,gBAAoB,IAAK,CACvCha,KAAMlI,EAAgBi+C,iBAAiBC,WACvC7jD,OAAQ,UACP8iB,EAAU,wBAA0B,MAAoB,gBAAoB,MAAO,CACpF5M,UAAW,aACI,gBAAoB,MAAO,CAC1CA,UAAW,+BACG,gBAAoB,GAAc,KAAmB,gBAAoB,OAAQ,KAAM4M,EAAU,eAA6B,gBAAoB7J,GAAc,CAC9KE,KAAM,KACQ,gBAAoB,GAAO,KAAmB,gBAAoB,GAAc,KAAuB,MAAjB4pC,GAAyBA,EAAcjtD,OAAS,EAAIitD,EAAc9wC,KAAI,SAAUhJ,EAAMwW,GAC1L,IAAIqkC,EACJ,OAAoB,gBAAoB,MAAO,CAC7CttD,IAAKipB,GACS,gBAAoB,GAAc,KAAMqD,EAAU,SAAU,IAAKrD,EAAI,GAAiB,gBAAoB,GAAc,CACtIxW,KAAMA,EAAKA,KAAKyW,YAAYplB,WAC5Bs5B,OAAQ3qB,EAAKA,KAAK2G,UAAU5G,aAAa4qB,OACzC5qB,aAAcC,EAAKA,KAAK2G,UAAU5G,aAClCJ,SAAwD,QAA7Ck7C,EAAsB76C,EAAKi5C,oBAAkD,IAAxB4B,OAAiC,EAASA,EAAoBl0C,UAC9Hq+B,UAAU,IAEd,IAAkB,gBAAoB,MAAO,CAC3C73B,MAAO,CACLulB,UAAW,WAEZ7Y,EAAU,uCAAqD,gBAAoB,MAAO,CAC3F5M,UAAW,aACI,gBAAoB,MAAO,CAC1CA,UAAW,8BACXE,MAAO,CACLyR,UAAW,EACX6M,WAAY,UAEA,gBAAoB,GAAc,KAAmB,gBAAoB,OAAQ,KAAM5R,EAAU,kBAAgC,gBAAoB7J,GAAc,CACjLE,KAAM,KACQ,gBAAoB,GAAO,KAAmB,gBAAoB,GAAc,KAAmB,gBAAoB,GAAiB,CACtJgmC,SAAS,QAEb,IAEJ,CA9bmC,CA8bjC,EAAA/pC,WAcF,UAAe,SAbf,SAAyB1X,GACvB,MAAO,CACL4J,QAAS5J,EAAM4J,QAAQA,QACvB5B,QAAShI,EAAMqV,SAASrN,QACxBC,gBAAiBjI,EAAMqV,SAASpN,gBAChCgJ,sBAAuBjR,EAAM4V,WAAW3E,sBACxC3F,aAActL,EAAMoV,UAAU9J,aAC9Bk5C,aAAcxkD,EAAMoV,UAAUlK,SAC9BpN,KAAMkC,EAAMsV,KAAKxX,KACjBsnB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrC5V,QAASiE,EAAMsV,KAAKlO,cAExB,GACwC,CACtC08C,mBhJ/c8B,SAA4BzmD,GAC1D,MAAO,CACLuB,KAAM6I,GACN5I,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,sBAAsB/G,OAAOsH,IAAK1D,MAAK,SAAUe,GACvDlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EgJucEmL,WAAYA,GACZqD,gBAAiBA,GACjBI,gBAAiBA,GACjBk5C,0BhJxbqC,SAAmCd,EAAW7sB,EAAYzrB,GAC/F,MAAO,CACLtM,KApDsC,+BAqDtCC,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,IAAI2R,EAASxH,KAAKC,UAAUsH,GAC5B,EAAI/N,KAAK,YAAYpH,OAAOytD,EAAW,cAAcztD,OAAO4gC,EAAY,iBAAkBxrB,GAAQxR,MAAK,SAAUe,GAC/GlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EgJ+aEyO,mBAAoBA,GACpB4E,aAAcA,GACdjI,0BAA2BA,GAC3Bq8C,6BhJjbwC,SAAsCoC,GAC9E,MAAO,CACLznD,KA9DkD,oDA+DlDC,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,EAAI0D,KAAK,sBAAsBpH,OAAOswD,EAAmB,qBAAqB1sD,MAAK,SAAUe,GAC3FlB,EAAQkB,EAAS8B,KACnB,IAAU,OAAE,SAAUlB,GACpB7B,EAAO6B,EACT,GACF,IAEJ,EgJuaE8G,SAAUA,IAVZ,CAWGyhD,IC/eH,SAAS,GAAWrsD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAI8uD,GAA0B,SAAUxvC,GAEtC,SAASwvC,EAAWjvC,GAClB,IAAIjc,EAcJ,OAbA,OAAgB3E,KAAM6vD,GACtBlrD,EAAQ,GAAW3E,KAAM6vD,EAAY,CAACjvC,KAEtC,OAAgBjc,EAAO,qBAAqB,WAC1CA,EAAMic,MAAMkvC,aACd,KACA,OAAgBnrD,EAAO,6BAA6B,WAClD,IAAIgqB,EAAYhqB,EAAMic,MAAM+N,UAC5BhqB,EAAMic,MAAMxH,aAAauV,EAAU,YACrC,IACAhqB,EAAM4E,MAAQ,CACZ+yB,OAAO,GAEF33B,CACT,CAEA,OADA,QAAUkrD,EAAYxvC,IACf,OAAawvC,EAAY,CAAC,CAC/BxtD,IAAK,SACLC,MACA,WACE,IAAIsG,EAAU,GACVmnD,EAAO,GACgB,MAAvB/vD,KAAK4gB,MAAMtP,WACb1I,EAAU5I,KAAK4gB,MAAMtP,SAASlQ,QAAO,SAAUmQ,GAC7C,MAAsC,UAA/BA,EAAQwoC,UAAU,GAAGj0C,QAAwC,aAAlByL,EAAQzL,MAC5D,IACAiqD,EAAO/vD,KAAK4gB,MAAMtP,SAASlQ,QAAO,SAAUmQ,GAC1C,MAAyB,aAAlBA,EAAQzL,QAAwD,aAA/ByL,EAAQwoC,UAAU,GAAGj0C,MAC/D,KAEF,IAAI6oB,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,QACG,gBAAoB,GAAA4pC,KAAM,KAAmB,gBAAoB,GAAAC,IAAK,CACpF3xC,MAAO0U,EAAU,oBACjBroB,MAAO,WACO,gBAAoB43B,GAAgB,KAAMt1B,EAAQkV,KAAI,SAAUvM,GAC9E,IAAIkD,EAAWlD,EAAQwoC,UAAU,GACjC,OAAoB,gBAAoB,GAAM,CAC5C5xC,KAAM,QACN9F,IAAKkP,EAAQ3K,GACbA,GAAI2K,EAAQ3K,GACZiF,OAAQ,aAAavM,OAAOiS,EAAQ3K,GAAI,cAActH,OAAOmV,EAAS7N,KACxD,gBAAoBu3B,GAAW,KAAM5sB,EAAQ0I,OAAqB,gBAAoBwkB,GAAY,MACpH,MAAmB,gBAAoB,GAAAmtB,IAAK,CAC1C3xC,MAAO0U,EAAU,qBACjBroB,MAAO,QACO,gBAAoB43B,GAAgB,KAAM6xB,EAAKjyC,KAAI,SAAUvM,GAC3E,IAAIkD,EAAWlD,EAAQwoC,UAAU,GACjC,OAAoB,gBAAoB,GAAM,CAC5C5xC,KAAM,QACN9F,IAAKkP,EAAQ3K,GACbA,GAAI2K,EAAQ3K,GACZiF,OAAQ,aAAavM,OAAOiS,EAAQ3K,GAAI,cAActH,OAAOmV,EAAS7N,KACxD,gBAAoBu3B,GAAW,KAAM5sB,EAAQ0I,OAAqB,gBAAoBwkB,GAAY,MACpH,OACF,IAEJ,CA9D8B,CA8D5B,EAAAxd,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACL+H,SAAU/H,EAAMqV,SAAStN,SACzBqd,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC9B,aAAcA,GACd02C,YjJ7EuB,SAAqBzoD,GAC5C,MAAO,CACLc,KAAM4I,GACN3I,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,YAAYnD,MAAK,SAAUe,GACjClB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,GiJkEA,CAGG8pD,ICjFH,SAAS,GAAW9uD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAIlP,IAAIivD,GAAwB,SAAU3vC,GACpC,SAAS2vC,IAEP,OADA,OAAgBhwD,KAAMgwD,GACf,GAAWhwD,KAAMgwD,EAAUtuD,UACpC,CAEA,OADA,QAAUsuD,EAAU3vC,IACb,OAAa2vC,EAAU,CAAC,CAC7B3tD,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7Cyf,UAAW,aACG,gBAAoB,KAAM,CACxCE,MAAO,CACLulB,UAAW,SACXxhB,MAAO,OACPkU,aAAc,SAEf,KAAAvL,WAAU,oBAAkC,gBAAoB,KAAM,CACvE1M,MAAO,CACLulB,UAAW,SACXxhB,MAAO,UAER,KAAA2I,WAAU,8BACf,IAEJ,CAzB4B,CAyB1B,EAAA1N,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,CAAwC80C,ICnCxC,SAAS,GAAWjvD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAIkvD,GAA+B,SAAU5vC,GAC3C,SAAS4vC,EAAgBrvC,GACvB,IAAIsvC,EAAqBC,EAAsBC,EAAsBC,EACjE1rD,EA0BJ,OAzBA,OAAgB3E,KAAMiwD,GACtBtrD,EAAQ,GAAW3E,KAAMiwD,EAAiB,CAACrvC,KAC3C,OAAgBjc,EAAO,gBAAgB,SAAUZ,GAC/C,IAAI2/B,EAAQ3/B,EAAK2/B,MACftW,EAAMrpB,EAAKqpB,IACbzoB,EAAMye,SAAS,CACbsgB,MAAOA,EACPtW,IAAKA,GAET,KACA,OAAgBzoB,EAAO,eAAe,WACpC,IAAIk1B,EAAcl1B,EAAM4E,MACtBm6B,EAAQ7J,EAAY6J,MACpBtW,EAAMyM,EAAYzM,IACpBzoB,EAAMye,SAAS,CACb6nC,aAAcvnB,EACdwnB,WAAY99B,GAEhB,IACAzoB,EAAM4E,MAAQ,CACZm6B,MAAsD,QAA9CwsB,EAAsBtvC,EAAMuR,MAAMlW,cAA4C,IAAxBi0C,GAAkCA,EAAoBxsB,MAAQ9iB,EAAMuR,MAAMlW,OAAOynB,MAAQ,OAASpX,SAAS,EAAG,UAAU7T,OAAO,cAC7L2U,IAAqD,QAA/C+iC,EAAuBvvC,EAAMuR,MAAMlW,cAA6C,IAAzBk0C,GAAmCA,EAAqB/iC,IAAMxM,EAAMuR,MAAMlW,OAAOmR,IAAM,OAAS3U,OAAO,cACpKwyC,aAA8D,QAA/CmF,EAAuBxvC,EAAMuR,MAAMlW,cAA6C,IAAzBm0C,GAAmCA,EAAqBhjC,IAAMxM,EAAMuR,MAAMlW,OAAOmR,IAAM,OAASd,SAAS,EAAG,UAAU7T,OAAO,cACnMyyC,WAA4D,QAA/CmF,EAAuBzvC,EAAMuR,MAAMlW,cAA6C,IAAzBo0C,GAAmCA,EAAqB3sB,MAAQ9iB,EAAMuR,MAAMlW,OAAOynB,MAAQ,OAASjrB,OAAO,eAE1K9T,CACT,CAEA,OADA,QAAUsrD,EAAiB5vC,IACpB,OAAa4vC,EAAiB,CAAC,CACpC5tD,IAAK,SACLC,MAAO,WACL,IAAIof,EAAc1hB,KAAK4gB,MACrB+N,EAAYjN,EAAYiN,UACxBhe,EAAgB+Q,EAAY/Q,cAC1BrB,EAAU,KAMd,OAJEA,EAD6B,MAA3BtP,KAAK4gB,MAAMuR,MAAMlW,OACTjc,KAAK4gB,MAAMtR,QAEXtP,KAAK4gB,MAAMuR,MAAMlW,OAAO3M,QAEJ,MAA5BtP,KAAK4gB,MAAM0vC,cACO,gBAAoB,MAAO,CAC7CvuC,UAAW,YACG,gBAAoB,GAAS,CAC3CH,QAAQ,KAGQ,gBAAoB,MAAO,CAC7CG,UAAW,YACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,GAAc,KAAmB,gBAAoB,OAAQ,KAAM4M,EAAU,kBAAgC,gBAAoB,MAAO,CAC1K5M,UAAW,kBACG,gBAAoB,GAAa,CAC/CuB,SAAUtjB,KAAKwrD,aACf3hD,UAAW7J,KAAKuJ,MAAMm6B,MACtB1nB,QAAShc,KAAKuJ,MAAM6jB,MACL,gBAAoB,MAAO,CAC1CrL,UAAW,aACI,gBAAoB,MAAO,CAC1CE,MAAO,CACLyR,UAAW,QAEC,gBAAoB,GAAAkD,OAAQ,CAC1CzuB,KAAM,YACN2a,QAAS9iB,KAAK0rD,aACb/8B,EAAU,aAA2B,gBAAoB,MAAO,CACjE1M,MAAO,CACLvf,MAAO,UAEM,gBAAoB,MAAO,CAC1Cqf,UAAW,yBACXE,MAAO,CACLiY,aAAc,UAED,gBAAoB,GAAiB,CACpDhyB,UAAWyI,EAAc/J,GACzBsV,UAAW5M,EACXo0B,MAAO1jC,KAAKuJ,MAAM0hD,aAClB79B,IAAKptB,KAAKuJ,MAAM2hD,aAEpB,IAEJ,CAvFmC,CAuFjC,EAAAjqC,WAWF,UAAe,QAAW,SAV1B,SAAyB1X,GACvB,MAAO,CACL+mD,cAAe/mD,EAAMkG,OAAOC,YAC5BG,gBAAiBtG,EAAMkG,OAAOI,gBAC9BD,kBAAmBrG,EAAMkG,OAAOG,kBAChCe,cAAepH,EAAMsV,KAAKlO,cAC1BX,mBAAoBzG,EAAMkG,OAAOO,mBACjC2e,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GAC0B,CAAyB+0C,KC9GnD,SAAS,GAAWlvD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAIwvD,GAAuC,SAAUlwC,GACnD,SAASkwC,EAAwB3vC,GAC/B,IAAIjc,EA6EJ,OA5EA,OAAgB3E,KAAMuwD,GACtB5rD,EAAQ,GAAW3E,KAAMuwD,EAAyB,CAAC3vC,KACnD,OAAgBjc,EAAO,eAAe,WACpC,IAAIk1B,EAAcl1B,EAAM4E,MACtBinD,EAAU32B,EAAY22B,QACtBC,EAAQ52B,EAAY42B,MACtB9rD,EAAMye,SAAS,CACbsgB,MAAO8sB,EACPpjC,IAAKqjC,GAET,KACA,OAAgB9rD,EAAO,gBAAgB,SAAUo3C,GAC3CA,EAAMrY,OAAS/+B,EAAM4E,MAAMinD,SAAW7rD,EAAM4E,MAAM6jB,KAAO2uB,EAAM0U,OACjE9rD,EAAMye,SAAS,CACbotC,QAASzU,EAAMrY,MACf+sB,MAAO1U,EAAM3uB,KAGnB,KACA,OAAgBzoB,EAAO,sBAAsB,WAC3C,IAAIs0B,EAAQt0B,EAAMic,MAAMqY,MACxB,OAAoB,gBAAoB,MAAO,CAC7ClX,UAAW,oBACG,gBAAoB,MAAO,CACzCA,UAAW,4BACVkX,EAAMyT,YAA2B,gBAAoB,MAAO,KAAmB,gBAAoBkN,GAAa,KAAMnN,GAAexT,EAAMyT,eAAiB,MAAoB,gBAAoB,MAAO,CAC5MzqB,MAAO,CACLvf,MAAO,UAEsB,MAA7BiC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAAStJ,KAAoB,gBAAoB,MAAO,CACzHuM,UAAW,UACXE,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAS,CAC3CoY,UAAU,EACV2B,MAAO,EACP5C,QAAS5R,EAAMryB,MACX,KAAmC,MAA7BjC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAAStM,MAAqB,gBAAoB,MAAO,CAClIuP,UAAW,UACXE,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAY,CAC9CoY,UAAU,EACVjB,QAAS5R,EAAMryB,GACfukC,iBAAiB,KACb,KAAmB,gBAAoB,MAAO,CAClDppB,UAAW,UACXE,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAS,CAC3CoY,UAAU,EACVjB,QAAS5R,EAAMryB,GACf6mC,OAAO,KACS,gBAAoB,MAAO,CAC3CxrB,MAAO,CACLvf,MAAO,UAEM,gBAAoB,MAAO,CAC1Cqf,UAAW,2BACI,gBAAoB,MAAO,CAC1Cnb,GAAI,qBACJmb,UAAW,uBACG,gBAAoB2uC,GAAiB,CACnDhtB,MAAO/+B,EAAM4E,MAAMm6B,MACnBtW,IAAKzoB,EAAM4E,MAAM6jB,IACjB9d,QAAS2pB,EAAMryB,GACf8kB,OAAQ/mB,EAAMic,MAAMjQ,iBAExB,IACAhM,EAAM4E,MAAQ,CACZ6jB,IAAK,OAAS3U,OAAO,cACrBirB,MAAO,OAASpX,SAAS,EAAG,UAAU7T,OAAO,eAExC9T,CACT,CAEA,OADA,QAAU4rD,EAAyBlwC,IAC5B,OAAakwC,EAAyB,CAAC,CAC5CluD,IAAK,SACLC,MAAO,WAEL,OADYtC,KAAK4gB,MAAMqY,MAMhBj5B,KAAK2wD,qBAJU,gBAAoB,MAAO,KAAmB,gBAAoB,GAAS,CAC7F/uC,QAAQ,IAId,IAEJ,CA9F2C,CA8FzC,EAAAX,WAOF,UAAe,SANO,SAAyB1X,GAC7C,MAAO,CACL0vB,MAAO1vB,EAAMkG,OAAOC,YACpBiB,cAAepH,EAAMsV,KAAKlO,cAE9B,GACA,CAAwC4/C,ICjHxC,SAAS,GAAWxvD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAQlP,IAAI6vD,GAAgC,SAAUvwC,GAC5C,SAASuwC,EAAiBhwC,GACxB,IAAIjc,EAiCJ,OAhCA,OAAgB3E,KAAM4wD,GACtBjsD,EAAQ,GAAW3E,KAAM4wD,EAAkB,CAAChwC,KAC5C,OAAgBjc,EAAO,sBAAsB,WAC3C,IAAIs0B,EAAQt0B,EAAMic,MAAMqY,MACxB,OAAoB,gBAAoB,MAAO,CAC7ClX,UAAW,oBACG,gBAAoB,MAAO,CACzCA,UAAW,4BACVkX,EAAMyT,YAA2B,gBAAoB,MAAO,KAAmB,gBAAoBkN,GAAa,KAAMnN,GAAexT,EAAMyT,eAAiB,MAAoB,gBAAoB,MAAO,CAC5MzqB,MAAO,CACLvf,MAAO,UAEsB,MAA7BiC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAAStJ,KAAoB,gBAAoB,MAAO,CACzHuM,UAAW,UACXE,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAS,CAC3CoY,UAAU,EACV2B,MAAO,EACP5C,QAAS5R,EAAMryB,MACX,KAAmC,MAA7BjC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAAStM,MAAqB,gBAAoB,MAAO,CAClIuP,UAAW,UACXE,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAY,CAC9CoY,UAAU,EACVjB,QAAS5R,EAAMryB,GACfukC,iBAAiB,KACb,KACR,IACOxmC,CACT,CAEA,OADA,QAAUisD,EAAkBvwC,IACrB,OAAauwC,EAAkB,CAAC,CACrCvuD,IAAK,SACLC,MAAO,WAEL,OADYtC,KAAK4gB,MAAMqY,MAMH,gBAAoB,MAAO,KAAMj5B,KAAK2wD,sBAJpC,gBAAoB,MAAO,KAAmB,gBAAoB,GAAS,CAC7F/uC,QAAQ,IAId,IAEJ,CAlDoC,CAkDlC,EAAAX,WAOF,UAAe,SANO,SAAyB1X,GAC7C,MAAO,CACL0vB,MAAO1vB,EAAMkG,OAAOC,YACpBiB,cAAepH,EAAMsV,KAAKlO,cAE9B,GACA,CAAwCigD,IClExC,SAAS,GAAW7vD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAI,GAAuC,SAAUsf,GACnD,SAASkwC,EAAwB3vC,GAC/B,IAAIjc,EAgFJ,OA/EA,OAAgB3E,KAAMuwD,GACtB5rD,EAAQ,GAAW3E,KAAMuwD,EAAyB,CAAC3vC,KACnD,OAAgBjc,EAAO,eAAe,WACpC,IAAIk1B,EAAcl1B,EAAM4E,MACtBinD,EAAU32B,EAAY22B,QACtBC,EAAQ52B,EAAY42B,MACtB9rD,EAAMye,SAAS,CACbytC,QAAQ,EACRntB,MAAO8sB,EACPpjC,IAAKqjC,IAEP9rD,EAAMic,MAAMkwC,+BACd,KACA,OAAgBnsD,EAAO,gBAAgB,SAAUo3C,GAC3CA,EAAMrY,OAAS/+B,EAAM4E,MAAMinD,SAAW7rD,EAAM4E,MAAM6jB,KAAO2uB,EAAM0U,OACjE9rD,EAAMye,SAAS,CACbotC,QAASzU,EAAMrY,MACf+sB,MAAO1U,EAAM3uB,KAGnB,KACA,OAAgBzoB,EAAO,sBAAsB,WAC3C,IAAIs0B,EAAQt0B,EAAMic,MAAMqY,MACxB,OAAoB,gBAAoB,MAAO,CAC7ClX,UAAW,oBACG,gBAAoB,MAAO,CACzCA,UAAW,4BACVkX,EAAMyT,YAA2B,gBAAoB,MAAO,KAAmB,gBAAoBkN,GAAa,KAAMnN,GAAexT,EAAMyT,eAAiB,MAAoB,gBAAoB,MAAO,CAC5MzqB,MAAO,CACLvf,MAAO,UAEsB,MAA7BiC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAAStJ,KAAoB,gBAAoB,MAAO,CACzHuM,UAAW,UACXE,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAS,CAC3CoY,UAAU,EACV2B,MAAO,EACP5C,QAAS5R,EAAMryB,MACX,KAAmC,MAA7BjC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAAStM,MAAqB,gBAAoB,MAAO,CAClIuP,UAAW,UACXE,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAY,CAC9CoY,UAAU,EACVjB,QAAS5R,EAAMryB,GACfukC,iBAAiB,KACb,KAAmB,gBAAoB,MAAO,CAClDppB,UAAW,UACXE,MAAO,CACLyR,UAAW,SAEC,gBAAoB,GAAS,CAC3CoY,UAAU,EACVjB,QAAS5R,EAAMryB,GACf6mC,OAAO,KACS,gBAAoB,MAAO,CAC3CxrB,MAAO,CACLvf,MAAO,UAEM,gBAAoB,MAAO,CAC1Cqf,UAAW,2BACI,gBAAoB,MAAO,CAC1Cnb,GAAI,qBACJmb,UAAW,uBACG,gBAAoB2uC,GAAiB,CACnDhtB,MAAO/+B,EAAM4E,MAAMm6B,MACnBtW,IAAKzoB,EAAM4E,MAAM6jB,IACjB9d,QAAS2pB,EAAMryB,GACf8kB,OAAQ/mB,EAAMic,MAAMjQ,iBAExB,IACAhM,EAAM4E,MAAQ,CACZgnB,SAAS,EACTnD,IAAK,OAAS3U,OAAO,cACrBirB,MAAO,OAASpX,SAAS,EAAG,UAAU7T,OAAO,eAExC9T,CACT,CAEA,OADA,QAAU4rD,EAAyBlwC,IAC5B,OAAakwC,EAAyB,CAAC,CAC5CluD,IAAK,SACLC,MAAO,WAEL,OADYtC,KAAK4gB,MAAMqY,OACTj5B,KAAKuJ,MAAMgnB,QACH,gBAAoB,MAAO,KAAmB,gBAAoB,GAAS,CAC7F3O,QAAQ,KAGQ,gBAAoB,MAAO,KAAM5hB,KAAK2wD,qBAC5D,IAEJ,CAjG2C,CAiGzC,EAAA1vC,WAOF,UAAe,SANO,SAAyB1X,GAC7C,MAAO,CACL0vB,MAAO1vB,EAAMkG,OAAOC,YACpBiB,cAAepH,EAAMsV,KAAKlO,cAE9B,GACA,CAAwC,ICpHxC,SAAS,GAAW5P,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAUlP,IAAIgwD,GAA8B,SAAU1wC,GAC1C,SAAS0wC,EAAenwC,GACtB,IAAIjc,EAiBJ,OAhBA,OAAgB3E,KAAM+wD,GACtBpsD,EAAQ,GAAW3E,KAAM+wD,EAAgB,CAACnwC,KAC1C,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAI2K,EAAU3K,EAAMic,MAAMuR,MAAMlW,OAAO3M,QACnCqB,EAAgBhM,EAAMic,MAAMjQ,cAChChM,EAAMic,MAAMvR,wBAAwBsB,EAAc/J,GAAI0I,GAASpM,MAAK,WAClEyB,EAAMic,MAAMxH,aAAazU,EAAMic,MAAMqY,MAAMhf,OAC3CtV,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,IACA5rB,EAAM4E,MAAQ,CACZmiC,aAAa,EACbnb,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUosD,EAAgB1wC,IACnB,OAAa0wC,EAAgB,CAAC,CACnC1uD,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACb,GAAwB,MAApBA,KAAK4gB,MAAMqY,OAAiBj5B,KAAKuJ,MAAMgnB,QACzC,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,GAAS,CAC7F3O,QAAQ,KAGV,GAAgC,MAA5B5hB,KAAK4gB,MAAMjQ,cAAuB,CACpC,IAAI0G,EAASrX,KAAK4gB,MAAMjQ,cAAcu8B,QAAQ52B,MAAK,SAAUe,GAC3D,OAAOA,EAAOzQ,IAAM0rB,EAAO1R,MAAMqY,MAAMgB,QACzC,IACA,GAAc,MAAV5iB,EACF,OAAoB,gBAAoB,MAAO,MAEjD,OAAQA,EAAOlP,MACb,KAAKkkC,GACH,OAAoB,gBAAoB,GAAkB,MAE5D,KAAKC,GACH,OAAoB,gBAAoB,GAAyB,MAEnE,KAAKC,GACH,OAAoB,gBAAoBykB,GAA6B,MAEvE,KAAKxkB,GACH,OAAoB,gBAAoB,GAAyB,MAEnE,QACE,OAAoB,gBAAoB,MAAO,MAGrD,CAEJ,IAEJ,CA3DkC,CA2DhC,EAAAvrB,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1BsoB,MAAO1vB,EAAMkG,OAAOC,YAExB,GACwC,CACtCL,wBAAyBA,GACzB+J,aAAcA,IAFhB,CAGG23C,ICtFI,IAAIE,GAAqB,SAA4Bv7C,GAC1D,IAAI+N,EAAQ,OAwBZ,OAvBkB,MAAd/N,IAC+B,WAA7BA,EAAWw7C,iBACbztC,EAAQ,WAEuB,mBAA7B/N,EAAWw7C,iBACbztC,EAAQ,WAEuB,UAA7B/N,EAAWw7C,iBACbztC,EAAQ,WAEuB,iBAA7B/N,EAAWw7C,iBACbztC,EAAQ,WAEuB,gBAA7B/N,EAAWw7C,iBACbztC,EAAQ,WAEuB,QAA7B/N,EAAWw7C,iBACbztC,EAAQ,WAEuB,cAA7B/N,EAAWw7C,iBACbztC,EAAQ,YAGLA,CACT,EClBA,SAAS,GAAW1iB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAalP,IAAIowD,GAAgC,SAAU9wC,GAC5C,SAAS8wC,EAAiBvwC,GACxB,IAAIjc,EAwUJ,OAvUA,OAAgB3E,KAAMmxD,GACtBxsD,EAAQ,GAAW3E,KAAMmxD,EAAkB,CAACvwC,KAC5C,OAAgBjc,EAAO,iBAAiB,WAItC,OAHa,iBAAkB,KAAAmc,sBAAqB47B,eAAe,KAC5C/iC,QAAQ,OAAQ,QAClBA,QAAQ,KAAM,KAErC,KACA,OAAgBhV,EAAO,oCAAoC,SAAU+e,GACnE,GAAwB,MAApBA,EAAUhP,OACZ,GAAsB,cAAlBgP,EAAUvb,KAAsB,CAClC,GAAwB,MAApBub,EAAUhP,OACZ,OAEF/P,EAAMye,SAAS,CACb4nB,UAAyC,MAA9BtnB,EAAUhP,OAAO7K,UAAoB,SAAW6Z,EAAUhP,OAAO7K,WAAWC,QAAU,OACjGohC,QAAqC,MAA5BxnB,EAAUhP,OAAO1K,QAAkB,SAAW0Z,EAAUhP,OAAO1K,SAASF,QAAU,OAAS0O,IAAI,EAAG,QAC3G6jC,kBAAiD,MAA9B34B,EAAUhP,OAAO7K,UAAoB,SAAW6Z,EAAUhP,OAAO7K,WAAWC,QAAU,OACzG2yC,gBAA6C,MAA5B/4B,EAAUhP,OAAO1K,QAAkB,SAAW0Z,EAAUhP,OAAO1K,SAASF,QAAU,OAAS0O,IAAI,EAAG,QACnH44C,SAAS,GAEb,MAAO,GAAsB,QAAlB1tC,EAAUvb,KAAgB,CACnC,GAAwB,MAApBub,EAAUhP,OACZ,OAEF/P,EAAMye,SAAS,CACb4nB,UAAyC,MAA9BtnB,EAAUhP,OAAOs2B,UAAoB,SAAWtnB,EAAUhP,OAAOs2B,WAAWlhC,QAAU,OACjGohC,QAAqC,MAA5BxnB,EAAUhP,OAAOw2B,QAAkB,SAAWxnB,EAAUhP,OAAOw2B,SAASphC,QAAU,OAAS0O,IAAI,EAAG,QAC3G6jC,kBAAiD,MAA9B34B,EAAUhP,OAAOs2B,UAAoB,SAAWtnB,EAAUhP,OAAOs2B,WAAWlhC,QAAU,OACzG2yC,gBAA6C,MAA5B/4B,EAAUhP,OAAOw2B,QAAkB,SAAWxnB,EAAUhP,OAAOw2B,SAASphC,QAAU,OAAS0O,IAAI,EAAG,QACnH44C,SAAS,GAEb,CAEJ,KACA,OAAgBzsD,EAAO,qBAAqB,WAC1CA,EAAM2e,UACR,KACA,OAAgB3e,EAAO,iBAAiB,SAAU6nB,GAChD,IAAI6kC,EAAU,KAAO7kC,GACjBqN,EAAcl1B,EAAM4E,MACtB8yC,EAAoBxiB,EAAYwiB,kBAChCrR,EAAYnR,EAAYmR,UACxByR,EAAkB5iB,EAAY4iB,gBAC9BvR,EAAUrR,EAAYqR,QACxBmR,EAAoBgV,EACpBrmB,EAAYqmB,EACRA,EAAQ5oB,KAAKgU,GAAmB,IAClCA,EAAkB4U,EAClBnmB,EAAUmmB,GAEZ1sD,EAAMye,SAAS,CACbq5B,gBAAiBA,EACjBvR,QAASA,EACTmR,kBAAmBA,EACnBrR,UAAWA,IACV,WACDrmC,EAAM2e,UACR,GACF,KACA,OAAgB3e,EAAO,eAAe,SAAU6nB,GAC9C,IAAI6kC,EAAU,KAAO7kC,GACjBmwB,EAAeh4C,EAAM4E,MACvBkzC,EAAkBE,EAAaF,gBAC/BvR,EAAUyR,EAAazR,QACzBuR,EAAkB4U,EAClBnmB,EAAUmmB,EACV1sD,EAAMye,SAAS,CACbq5B,gBAAiBA,EACjBvR,QAASA,IACR,WACDvmC,EAAM2e,UACR,GACF,KACA,OAAgB3e,EAAO,qBAAqB,SAAUmH,GACpD,IAAIwlD,EAAe3sD,EAAM4E,MACvB8yC,EAAoBiV,EAAajV,kBACjCrR,EAAYsmB,EAAatmB,UAC3BqR,EAAoB,KAAOvwC,GAC3Bk/B,EAAY,KAAOl/B,GACnBnH,EAAMye,SAAS,CACbi5B,kBAAmBA,EACnBrR,UAAWA,IACV,WACDrmC,EAAM2e,UACR,GACF,KACA,OAAgB3e,EAAO,mBAAmB,SAAUmH,GAClD,IAAIylD,EAAe5sD,EAAM4E,MACvBkzC,EAAkB8U,EAAa9U,gBAC/BvR,EAAUqmB,EAAarmB,QACzBuR,EAAkB,KAAO3wC,GACzBo/B,EAAU,KAAOp/B,GACjBnH,EAAMye,SAAS,CACbq5B,gBAAiBA,EACjBvR,QAASA,IACR,WACDvmC,EAAM2e,UACR,GACF,KACA,OAAgB3e,EAAO,YAAyB,OAAgC,UAAyB,SAASX,IAChH,IAAI+3C,EACJ,OAAO,UAAyB,SAAkB53C,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EACH,GAA6B,MAAvBc,EAAMic,MAAMg9B,QAAkB,CAClCz5C,EAASN,KAAO,GAChB,KACF,CACA,IAAKc,EAAM4E,MAAMyhC,UAAUv0B,cAAc9R,EAAMic,MAAMg9B,QAAS,OAAQ,CACpEz5C,EAASN,KAAO,EAChB,KACF,CACA,IAAKc,EAAM4E,MAAMioD,aAAc,CAC7BrtD,EAASN,KAAO,EAChB,KACF,CAEA,OADAM,EAASN,KAAO,EACTc,EAAMye,SAAS,CACpBouC,cAAc,IAElB,KAAK,EACHrtD,EAASN,KAAO,EAChB,MACF,KAAK,EAEH,OADAM,EAASN,KAAO,EACTc,EAAMye,SAAS,CACpBouC,cAAc,IAElB,KAAK,EACH,IAAK7sD,EAAM4E,MAAM2hC,QAAQz0B,cAAc9R,EAAMic,MAAMg9B,QAAS,OAAQ,CAClEz5C,EAASN,KAAO,GAChB,KACF,CACA,IAAKc,EAAM4E,MAAMkoD,WAAY,CAC3BttD,EAASN,KAAO,GAChB,KACF,CAEA,OADAM,EAASN,KAAO,GACTc,EAAMye,SAAS,CACpBquC,YAAY,IAEhB,KAAK,GACHttD,EAASN,KAAO,GAChB,MACF,KAAK,GAEH,OADAM,EAASN,KAAO,GACTc,EAAMye,SAAS,CACpBquC,YAAY,IAEhB,KAAK,GACH9sD,EAAM+sD,oBACR,KAAK,GACC/sD,EAAMic,MAAM0C,WACdy4B,EAAQ,CACNrY,MAAO/+B,EAAM4E,MAAMyhC,UACnB5d,IAAKzoB,EAAM4E,MAAM2hC,SAEnBvmC,EAAMic,MAAM0C,SAASy4B,IAEzB,KAAK,GACL,IAAK,MACH,OAAO53C,EAASI,OAEtB,GAAGP,EACL,OACA,OAAgBW,EAAO,mBAAiC,WACtD,IAAIy5B,GAAQ,OAAgC,UAAyB,SAAS16B,EAASoB,GACrF,IAAI0nB,EACJ,OAAO,UAAyB,SAAmB7oB,GACjD,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EACH,GAAe,MAATiB,EAAgB,CACpBnB,EAAUE,KAAO,EACjB,KACF,CACA,OAAOF,EAAUgsB,OAAO,UAAU,GACpC,KAAK,EAEH,IADAnD,EAAO,KAAO1nB,EAAM+G,OAAOvJ,QAClBqvD,UAAW,CAClBhuD,EAAUE,KAAO,EACjB,KACF,CACA,OAAOF,EAAUgsB,OAAO,UAAU,GACpC,KAAK,EACH,GAA6B,MAAvBhrB,EAAMic,MAAMg9B,QAAkB,CAClCj6C,EAAUE,KAAO,GACjB,KACF,CACA,IAAK2oB,EAAK/V,cAAc9R,EAAMic,MAAMg9B,QAAS,OAAQ,CACnDj6C,EAAUE,KAAO,GACjB,KACF,CACA,IAAKc,EAAM4E,MAAMioD,aAAc,CAC7B7tD,EAAUE,KAAO,GACjB,KACF,CAEA,OADAF,EAAUE,KAAO,GACVc,EAAMye,SAAS,CACpBouC,cAAc,IAElB,KAAK,GACH7sD,EAAM+sD,oBACR,KAAK,GACH/tD,EAAUE,KAAO,GACjB,MACF,KAAK,GAEH,OADAF,EAAUE,KAAO,GACVc,EAAMye,SAAS,CACpBouC,cAAc,IAElB,KAAK,GACH7sD,EAAM+sD,oBACR,KAAK,GACL,IAAK,MACH,OAAO/tD,EAAUY,OAEvB,GAAGb,EACL,KACA,OAAO,SAAUc,GACf,OAAO45B,EAAM58B,MAAMxB,KAAM0B,UAC3B,CACF,CAxDwD,KAyDxD,OAAgBiD,EAAO,iBAA+B,WACpD,IAAI25B,GAAQ,OAAgC,UAAyB,SAASuQ,EAAS/pC,GACrF,IAAI0nB,EACJ,OAAO,UAAyB,SAAmB+hB,GACjD,cAAkBA,EAAU3qC,KAAO2qC,EAAU1qC,MAC3C,KAAK,EACH,GAAe,MAATiB,EAAgB,CACpBypC,EAAU1qC,KAAO,EACjB,KACF,CACA,OAAO0qC,EAAU5e,OAAO,UAAU,GACpC,KAAK,EAEH,IADAnD,EAAO,KAAO1nB,EAAM+G,OAAOvJ,QAClBqvD,UAAW,CAClBpjB,EAAU1qC,KAAO,EACjB,KACF,CACA,OAAO0qC,EAAU5e,OAAO,UAAU,GACpC,KAAK,EACH,GAA6B,MAAvBhrB,EAAMic,MAAMg9B,QAAkB,CAClCrP,EAAU1qC,KAAO,GACjB,KACF,CACA,IAAK2oB,EAAK/V,cAAc9R,EAAMic,MAAMg9B,QAAS,OAAQ,CACnDrP,EAAU1qC,KAAO,GACjB,KACF,CACA,IAAKc,EAAM4E,MAAMkoD,WAAY,CAC3BljB,EAAU1qC,KAAO,GACjB,KACF,CAEA,OADA0qC,EAAU1qC,KAAO,GACVc,EAAMye,SAAS,CACpBquC,YAAY,IAEhB,KAAK,GACH9sD,EAAM+sD,oBACR,KAAK,GACHnjB,EAAU1qC,KAAO,GACjB,MACF,KAAK,GAEH,OADA0qC,EAAU1qC,KAAO,GACVc,EAAMye,SAAS,CACpBquC,YAAY,IAEhB,KAAK,GACH9sD,EAAM+sD,oBACR,KAAK,GACL,IAAK,MACH,OAAOnjB,EAAUhqC,OAEvB,GAAGsqC,EACL,KACA,OAAO,SAAUn3B,GACf,OAAO4mB,EAAM98B,MAAMxB,KAAM0B,UAC3B,CACF,CAxDsD,KAyDtD,OAAgBiD,EAAO,qBAAqB,WACZ,MAA1BA,EAAMic,MAAMgxC,YAAuD,mBAA1BjtD,EAAMic,MAAMgxC,YACvDjtD,EAAMic,MAAMgxC,YAAYjtD,EAAM4E,MAAMioD,eAAiB7sD,EAAM4E,MAAMkoD,WAErE,IACA,aAAc,KAAA3wC,uBACd,KAAA+7B,gBAAe,QAAS,OACxB,KAAAA,gBAAe,QAASC,GAAA,IACxB,KAAAD,gBAAe,QAAS,OACxB,KAAAA,gBAAe,QAASE,GAAA,IACxB,KAAAF,gBAAe,KAAMG,GAAA,IACrB,KAAAC,kBAAiB,SACG,MAAhBr8B,EAAMlM,QAAgC,cAAdkM,EAAMzY,KAChCxD,EAAM4E,MAAQ,CACZyhC,UAAqC,MAA1BpqB,EAAMlM,OAAO7K,UAAoB,SAAW+W,EAAMlM,OAAO7K,WAAWC,QAAU,OACzFohC,QAAiC,MAAxBtqB,EAAMlM,OAAO1K,QAAkB,SAAW4W,EAAMlM,OAAO1K,SAASF,QAAU,OAAS0O,IAAI,EAAG,QACnG6jC,kBAA6C,MAA1Bz7B,EAAMlM,OAAO7K,UAAoB,SAAW+W,EAAMlM,OAAO7K,WAAWC,QAAU,OACjG2yC,gBAAyC,MAAxB77B,EAAMlM,OAAO1K,QAAkB,SAAW4W,EAAMlM,OAAO1K,SAASF,QAAU,OAAS0O,IAAI,EAAG,QAC3G44C,SAAS,GAEc,MAAhBxwC,EAAMlM,QAAgC,QAAdkM,EAAMzY,KACvCxD,EAAM4E,MAAQ,CACZyhC,UAAqC,MAA1BpqB,EAAMlM,OAAOs2B,UAAoB,SAAWpqB,EAAMlM,OAAOs2B,WAAWlhC,QAAU,OACzFohC,QAAiC,MAAxBtqB,EAAMlM,OAAOw2B,QAAkB,SAAWtqB,EAAMlM,OAAOw2B,SAASphC,QAAU,OAAS0O,IAAI,EAAG,QACnG6jC,kBAA6C,MAA1Bz7B,EAAMlM,OAAOs2B,UAAoB,SAAWpqB,EAAMlM,OAAOs2B,WAAWlhC,QAAU,OACjG2yC,gBAAyC,MAAxB77B,EAAMlM,OAAOw2B,QAAkB,SAAWtqB,EAAMlM,OAAOw2B,SAASphC,QAAU,OAAS0O,IAAI,EAAG,QAC3G44C,SAAS,EACTI,cAAc,EACdC,YAAY,GAEW,MAAhB7wC,EAAMlM,QAAwC,MAAtBkM,EAAMlM,OAAOgvB,OAAqC,MAApB9iB,EAAMlM,OAAO0Y,IAC5EzoB,EAAM4E,MAAQ,CACZyhC,UAAiC,MAAtBpqB,EAAMlM,OAAOgvB,MAAgB,SAAW9iB,EAAMlM,OAAOgvB,OAAO55B,QAAU,OACjFohC,QAA6B,MAApBtqB,EAAMlM,OAAO0Y,IAAc,SAAWxM,EAAMlM,OAAO0Y,KAAKtjB,QAAU,OAAS0O,IAAI,EAAG,QAC3F6jC,kBAAyC,MAAtBz7B,EAAMlM,OAAOgvB,MAAgB,SAAW9iB,EAAMlM,OAAOgvB,OAAO55B,QAAU,OACzF2yC,gBAAqC,MAApB77B,EAAMlM,OAAO0Y,IAAc,SAAWxM,EAAMlM,OAAO0Y,KAAKtjB,QAAU,OAAS0O,IAAI,EAAG,QACnG44C,SAAS,GAGXzsD,EAAM4E,MAAQ,CACZyhC,UAAW,OACXE,QAAS,OAAS1yB,IAAI,EAAG,QACzB6jC,kBAAmB,OACnBI,gBAAiB,OAASjkC,IAAI,EAAG,QACjC44C,SAAS,GAGNzsD,CACT,CAEA,OADA,QAAUwsD,EAAkB9wC,IACrB,OAAa8wC,EAAkB,CAAC,CACrC9uD,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC3Fyf,UAAW,iBACV/hB,KAAK4gB,MAAMixC,WAA0B,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC/G9vC,UAAW,wBACG,gBAAoB,QAAS,CAC3Cm7B,QAAS,cACRl9C,KAAK4gB,MAAM+N,UAAU,UAAwB,gBAAoB,KAAY,CAC9EiK,SAAU54B,KAAKuJ,MAAM8yC,kBAAkBpR,SACvCphC,UAAW7J,KAAKuJ,MAAM8yC,kBAAkBpR,SACxCjvB,QAAShc,KAAKuJ,MAAMkzC,gBAAgBxR,SACpC2S,QAA+B,MAAtB59C,KAAK4gB,MAAMg9B,QAAkB,KAAO59C,KAAK4gB,MAAMg9B,SAAS3S,SAAW,KAC5EuS,WAAYx9C,KAAKy9C,gBACjBn6B,SAAUtjB,KAAKm9C,cACf2U,gBAAiB,CACfC,gBAAiB,CACfC,SAAS,GAEXC,eAAe,GAEjB7U,cAAc,EACdC,gBAAiB,eACjBC,iBAAiB,EACjBC,aAAa,EACbG,yBAA0B,GAC1BC,qBAAsB,GACtBnsB,SAAUxxB,KAAK4gB,MAAM4Q,SACrBgC,OAAQxzB,KAAKkyD,iBACbtlC,QAAQ,KAAA9L,wBACQ,gBAAoB,MAAO,CAC3CiB,UAAW,6BACG,gBAAoB,QAAS,CAC3Cm7B,QAAS,IACRl9C,KAAK4gB,MAAM+N,UAAU,eAA6B,gBAAoB,GAAY,CACnF0D,YAAa,gBACbvmB,KAAM9L,KAAKuJ,MAAM8yC,kBACjB/4B,SAAUtjB,KAAKmyD,kBACf3gC,SAAUxxB,KAAK4gB,MAAM4Q,aACH,gBAAoB,MAAO,KAAmB,gBAAoB,QAAS,CAC7F0rB,QAAS,cACRl9C,KAAK4gB,MAAM+N,UAAU,UAAwB,gBAAoB,KAAY,CAC9EiK,SAAU54B,KAAKuJ,MAAM8yC,kBAAkBpR,SACvCphC,UAAW7J,KAAKuJ,MAAM8yC,kBAAkBpR,SACxCjvB,QAAShc,KAAKuJ,MAAMkzC,gBAAgBxR,SACpCuS,WAAYx9C,KAAKy9C,gBACjBG,QAA+B,MAAtB59C,KAAK4gB,MAAMg9B,QAAkB,KAAO59C,KAAK4gB,MAAMg9B,SAAS3S,SAAW,KAC5E3nB,SAAUtjB,KAAKm9C,cACf2U,gBAAiB,CACfC,gBAAiB,CACfC,SAAS,GAEXC,eAAe,GAEjB5U,gBAAiB,eACjBD,cAAc,EACdE,iBAAiB,EACjBC,aAAa,EACbG,yBAA0B,GAC1BC,qBAAsB,GACtBnsB,SAAUxxB,KAAK4gB,MAAM4Q,SACrBgC,OAAQxzB,KAAKkyD,iBACbtlC,QAAQ,KAAA9L,yBACS,gBAAoB,MAAO,CAC5CiB,UAAW,sBACV/hB,KAAK4gB,MAAMixC,WAA0B,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC/G9vC,UAAW,wBACG,gBAAoB,QAAS,CAC3Cm7B,QAAS,YACRl9C,KAAK4gB,MAAM+N,UAAU,QAAsB,gBAAoB,KAAY,CAC5EiK,SAAU54B,KAAKuJ,MAAMkzC,gBAAgBxR,SACrCphC,UAAW7J,KAAKuJ,MAAM8yC,kBAAkBpR,SACxCjvB,QAAShc,KAAKuJ,MAAMkzC,gBAAgBxR,SACpC2S,QAAS59C,KAAKuJ,MAAM8yC,kBAAkBpR,SACtC3nB,SAAUtjB,KAAK69C,YACfiU,gBAAiB,CACfC,gBAAiB,CACfC,SAAS,GAEXC,eAAe,GAEjB5U,gBAAiB,aACjBS,YAAY,EACZN,WAAYx9C,KAAKy9C,gBACjBH,iBAAiB,EACjBC,aAAa,EACbG,yBAA0B,GAC1BC,qBAAsB,GACtBnsB,SAAUxxB,KAAK4gB,MAAM4Q,SACrBgC,OAAQxzB,KAAKoyD,eACbC,YAAaryD,KAAKoyD,eAClBxlC,QAAQ,KAAA9L,wBACQ,gBAAoB,MAAO,CAC3CiB,UAAW,6BACG,gBAAoB,QAAS,CAC3Cm7B,QAAS,IACRl9C,KAAK4gB,MAAM+N,UAAU,aAA2B,gBAAoB,GAAY,CACjF0D,YAAa,iBACbvmB,KAAM9L,KAAKuJ,MAAMkzC,gBACjBn5B,SAAUtjB,KAAKsyD,gBACf9gC,SAAUxxB,KAAK4gB,MAAM4Q,aACH,gBAAoB,MAAO,KAAmB,gBAAoB,QAAS,CAC7F0rB,QAAS,YACRl9C,KAAK4gB,MAAM+N,UAAU,QAAsB,gBAAoB,KAAY,CAC5EiK,SAAU54B,KAAKuJ,MAAMkzC,gBAAgBxR,SACrCphC,UAAW7J,KAAKuJ,MAAM8yC,kBAAkBpR,SACxCjvB,QAAShc,KAAKuJ,MAAMkzC,gBAAgBxR,SACpC2S,QAAS59C,KAAKuJ,MAAM8yC,kBAAkBpR,SACtC3nB,SAAUtjB,KAAK69C,YACfR,gBAAiB,aACjBG,WAAYx9C,KAAKy9C,gBACjBwU,eAAe,EACfH,gBAAiB,CACfC,gBAAiB,CACfC,SAAS,IAGblU,YAAY,EACZR,iBAAiB,EACjBC,aAAa,EACbG,yBAA0B,GAC1BC,qBAAsB,GACtBnsB,SAAUxxB,KAAK4gB,MAAM4Q,SACrBgC,OAAQxzB,KAAKoyD,eACbC,YAAaryD,KAAKoyD,eAClBxlC,QAAQ,KAAA9L,yBAEZ,IAEJ,CA/coC,CA+clC,EAAAG,WAMF,UAAe,SALf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,CAAwCi2C,ICrexC,SAAS,GAAWpwD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAUlP,IAAIwxD,GAAiC,SAAUlyC,GAC7C,SAASkyC,EAAkB3xC,GACzB,IAAIjc,EA6KJ,OA5KA,OAAgB3E,KAAMuyD,GACtB5tD,EAAQ,GAAW3E,KAAMuyD,EAAmB,CAAC3xC,KAC7C,OAAgBjc,EAAO,qBAAqB,WAClB,MAApBA,EAAMic,MAAMvZ,MACd1C,EAAMye,SAAS,CACbmN,SAAS,IAGc,MAAvB5rB,EAAMic,MAAMpE,SACd7X,EAAM6tD,cAAc7tD,EAAMic,MAAMpE,QAEpC,KACA,OAAgB7X,EAAO,gBAAgB,SAAUmH,GAClB,OAAzBnH,EAAMic,MAAM6xC,UACd9tD,EAAMye,SAAS,CACb4nB,UAAWl/B,EAAK43B,MAAMvX,IAAI,CACxB,OAAU,EACV,KAAQ,IACP1T,SACHyyB,QAASp/B,EAAKshB,IAAIjB,IAAI,CACpB,OAAU,GACV,KAAQ,KACP1T,WAGL9T,EAAMye,SAAS,CACb4nB,UAAWl/B,EAAK43B,MAAMjrB,SACtByyB,QAASp/B,EAAKshB,IAAIjB,IAAI,CACpB,OAAUrgB,EAAKshB,IAAIgjB,SACnB,KAAQtkC,EAAKshB,IAAI+iB,SAChB13B,UAGT,KACA,OAAgB9T,EAAO,YAAY,SAAUG,GAC3CA,EAAM+d,iBACFle,EAAMic,MAAMy5B,SACd11C,EAAMic,MAAMy5B,SAEhB,KACA,OAAgB11C,EAAO,eAAe,WACpC,IAAI++B,EAAQ,KAAO/+B,EAAM4E,MAAMyhC,WAC3B5d,EAAM,KAAOzoB,EAAM4E,MAAM2hC,SAC7BxH,EAAQA,EAAMvX,KAAI,QAAgB,OAAgB,CAChD,OAAU,EACV,KAAQ,GACP,SAAU,GAAI,SAAU,IAC3BiB,EAAMA,EAAIjB,KAAI,QAAgB,OAAgB,CAC5C,OAAU,GACV,KAAQ,IACP,SAAU,IAAK,SAAU,IAC5BxnB,EAAMye,SAAS,CACb4nB,UAAWtH,EACXwH,QAAS9d,GAEb,KACA,OAAgBzoB,EAAO,eAAe,WACpCA,EAAMye,SAAS,CACb4nB,UAAW,KAAOrmC,EAAM4E,MAAMyhC,WAAWvyB,SACzCyyB,QAAS,KAAOvmC,EAAM4E,MAAM2hC,SAASzyB,UAEzC,KACA,OAAgB9T,EAAO,YAAY,SAAUG,GAE3C,GADAA,EAAM+d,iBACqB,MAAvBle,EAAMic,MAAMpE,QAAiB,CAC/B,IAAIk2C,EAAsB/tD,EAAMic,MAAMpE,QACpC4C,EAAYszC,EAAoBtzC,UAChCxY,EAAK8rD,EAAoB9rD,GACzB+rD,EAAWD,EAAoBC,SAC7BC,EAAajuD,EAAMic,MAAM+N,UACP,SAAWvP,GAAWtV,QAAQgB,OAAS,OAASA,QAAU,OAAS29B,KAAK,SAAWkqB,GAAU7oD,QAAS,WAAa,IAIvI,KAAK,CACHmQ,MAAO24C,EAAW,iBAClBl0C,KAAMk0C,EAAW,uCACjB/jC,kBAAkB,EAClBC,iBAAkB8jC,EAAW,cAC7B7jC,kBAAmB6jC,EAAW,SAC7B1vD,MAAK,SAAU8uB,GACI,MAAhBA,EAAO1vB,OACTqC,EAAMic,MAAMiyC,cAAcjsD,GAAI1D,MAAK,WAC7ByB,EAAMic,MAAMy5B,SACd11C,EAAMic,MAAMy5B,SAEhB,GAEJ,GAEJ,CACF,KACA,OAAgB11C,EAAO,UAAU,SAAU+P,GACzC,OAAO,IAAI5R,SAAQ,SAAUC,EAASC,GAKpC,GAJA0R,EAAO0K,UAAY,SAAWza,EAAM4E,MAAMyhC,WAAWvyB,SACrD/D,EAAOi4C,QAAU,SAAWhoD,EAAM4E,MAAM2hC,SAASzyB,SACjD/D,EAAOgX,OAAS/mB,EAAMic,MAAMvZ,KAC5BqN,EAAOgY,OAAkC,OAAzB/nB,EAAMic,MAAM6xC,UACN,MAAlB9tD,EAAM4E,MAAM3C,GAAY,CAC1B8N,EAAO9N,GAAKjC,EAAM4E,MAAM3C,GACxB,IAAIksD,EAAgBnuD,EAAMic,MAAMmyC,SAASz8C,MAAK,SAAUkG,GACtD,OAAO9H,EAAO9N,IAAM4V,EAAQ5V,EAC9B,IACqB,MAAjBksD,IACFA,EAAc1zC,UAAYza,EAAM4E,MAAMyhC,UACtC8nB,EAAcnG,QAAUhoD,EAAM4E,MAAM2hC,QAExC,CACIvmC,EAAMic,MAAM+T,SACdhwB,EAAMic,MAAM+T,SAASjgB,GAAQxR,MAAK,WAChCH,EAAQ,GACS,MAAb2R,EAAO9N,IACTjC,EAAMye,SAAS,CACbmN,SAAS,EACTjpB,aAAc3C,EAAMic,MAAMtZ,eAG9B3C,EAAMye,SAAS,CAAC,EAClB,IAAU,OAAE,WACVze,EAAMic,MAAMjV,SAAShH,EAAMic,MAAM+N,UAAU,qDAAsD,SACjGhqB,EAAMye,SAAS,CACbmN,SAAS,IAEXvtB,EAAO,EACT,IAEAD,EAAQ,EAEZ,GACF,KACA,OAAgB4B,EAAO,iBAAiB,SAAU6X,GAChD,GAAI7X,EAAM4E,MAAM3C,IAAM4V,EAAQ5V,GAM5B,OALAjC,EAAMye,SAAS,CACbxc,GAAI,KACJokC,UAAW,OAASvyB,SACpByyB,QAAS,OAASzyB,YAEb,EAET,IAAIirB,EAAQ,SAAWlnB,EAAQ4C,WAAWtV,QACtCsjB,EAAM,SAAW5Q,EAAQmwC,SAAS7iD,QAClC0S,EAAQkQ,OACV/nB,EAAMic,MAAMkgB,UAAS,SAAO,GAAW,YAAa,QAEpDn8B,EAAMic,MAAMkgB,UAAS,SAAO,GAAW,YAAa,OAEtDn8B,EAAMye,SAAS,CACbxc,GAAI4V,EAAQ5V,GACZokC,UAAWtH,EAAMjrB,SACjByyB,QAAS9d,EAAI3U,UAEjB,KACA,OAAgB9T,EAAO,mBAAmB,SAAU4xB,GAClD5xB,EAAMye,SAAS,CACb4vC,cAAez8B,GAEnB,KACA,OAAgB5xB,EAAO,kBAAkB,SAAUrC,GACjD,GAAa,MAATA,GAA0B,IAATA,EACnB,OAAOqC,EAAMic,MAAM+N,UAAU,WAGjC,IACA,aAAc,KAAA7N,sBACdnc,EAAM4E,MAAQ,CACZ3C,GAAI,KACJ2pB,SAAS,EACTya,UAAW,OACXE,QAAS,OACT5jC,aAAc,KACd0rD,cAAc,GAETruD,CACT,CAEA,OADA,QAAU4tD,EAAmBlyC,IACtB,OAAakyC,EAAmB,CAAC,CACtClwD,IAAK,SACLC,MAAO,WACL,IAAI0wD,EAAehzD,KAAKuJ,MAAMypD,aAC1BtxC,EAAc1hB,KAAK4gB,MACrByV,EAAe3U,EAAY2U,aAC3BC,EAAa5U,EAAY4U,WACzBC,EAAQ7U,EAAY6U,MACpB5H,EAAYjN,EAAYiN,UACxBnS,EAAUkF,EAAYlF,QACpBy2C,GAAiB,EAIrB,OAHe,MAAXz2C,IACFy2C,EAAiB,SAAWz2C,EAAQ4C,WAAWtV,QAAQgB,OAAS,OAASA,QAAU,OAAS29B,KAAK,SAAWjsB,EAAQm2C,UAAU7oD,QAAS,WAAa,IAElI,gBAAoB,MAAO,CAC7CiY,UAAW,kBACVuU,EAA0B,gBAAoB,MAAO,CACtDrU,MAAO,CACLsH,OAAQ,QAEVxH,UAAW,cACG,gBAAoB,IAAK,CACvCE,MAAO,CACLqH,SAAU,aAEE,gBAAoB,OAAQ,CAC1CvH,UAAW,sBACN,KAAiC,MAA3B/hB,KAAKuJ,MAAMjC,cAA2D,GAAnCtH,KAAKuJ,MAAMjC,aAAa4rD,QAAgC,gBAAoB,MAAO,CACjInxC,UAAW,WACXE,MAAO,CACLiY,aAAc,QACdzW,MAAO,MACPkf,WAAY,QAEbhU,EAAU3uB,KAAKuJ,MAAMjC,aAAa6rD,eAAiB,KAAmB,gBAAoB,OAAQ,CACnGx+B,SAAU0B,EAAar2B,KAAKy2B,QAC5B1U,UAAW,uBACG,gBAAoB,MAAO,CACzCA,UAAW,YACG,gBAAoB,MAAO,KAAmB,gBAAoB,KAAO,CACvF+T,UAAW,GAAAmF,MACXzhB,KAAM,YACN2hB,YAAa,MACb3N,MAAOmB,EAAU,cACjB+H,SAAU12B,KAAKozD,eACf9vC,SAAUtjB,KAAKqzD,eACC,gBAAoB,MAAO,CAC3CpxC,MAAO,CACLyR,UAAW,WAEC,gBAAoB,KAAO,CACzCoC,UAAW,GAAAmF,MACXzhB,KAAM,YACN2hB,YAAa,KACb3N,MAAOmB,EAAU,eACjB+H,SAAU12B,KAAKozD,eACf9vC,SAAUtjB,KAAKszD,gBACE,gBAAoB,MAAO,CAC5CvxC,UAAW,YACG,gBAAoB,GAAkB,CACpD8vC,WAAoC,MAAxB7xD,KAAK4gB,MAAM6xC,UACvBnvC,SAAUtjB,KAAKuzD,aACf3V,QAAS,OACTz1C,KAAM,OAENuM,OAAQ1U,KAAKuJ,MACbioB,SAAUyhC,EACVrB,WAAY5xD,KAAKwzD,kBACfR,EAA4B,gBAAoB,OAAQ,CAC1D/wC,MAAO,CACLwB,MAAO,QAERkL,EAAU,yCAA2C,MAAoB,gBAAoB,MAAO,CACrG5M,UAAW,aACI,gBAAoB,MAAO,CAC1CA,UAAW,iBACI,gBAAoB,MAAO,CAC1CA,UAAW,2BACG,gBAAoB,GAAA6U,OAAQ,CAC1CpF,SAAU8E,IAAeC,GAAS08B,GAAkBD,GAClC,MAAjBhzD,KAAKuJ,MAAM3C,GAAa+nB,EAAU,QAAUA,EAAU,WAAyB,gBAAoB,MAAO,CAC3G5M,UAAW,eACY,MAAtB/hB,KAAK4gB,MAAMpE,QAA+B,gBAAoB,GAAAoa,OAAQ,CACvE9T,QAAS9iB,KAAKyzD,SACdjiC,SAAU8E,GAAc28B,EACxB9qD,KAAM,aACLwmB,EAAU,WAAa,KAAmB,gBAAoB,GAAAiI,OAAQ,CACvE9T,QAAS9iB,KAAKmtD,SACd37B,SAAU8E,EACVnuB,KAAM,aACLwmB,EAAU,cACf,IAEJ,CA/QqC,CA+QnC,EAAA1N,WACE,GAAY,gBACZyyC,IAAe,EAAAz3B,GAAA,GAAkB,IASrC,UAAe,SARf,SAAyB1yB,GACvB,MAAO,CACLjC,aAAciC,EAAMiT,QAAQlV,aAC5ByrD,SAAUxpD,EAAMiT,QAAQnV,KACxBsnB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCu3C,UAAWiB,GAAanqD,EAAO,aAEnC,GACwC,CACtCspD,c1K9PyB,SAAuBjsD,GAChD,MAAO,CACLuB,KAAMjB,EACNkB,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAY,OAAE,WAAWzD,OAAOsH,IAAK1D,MAAK,SAAU6C,GAClDhD,EAAQ6D,EACV,IAAU,OAAE,SAAUb,GACpB/C,OAAO,KACT,GAEF,IAEJ,E0KmPE2I,SAAUA,IAFZ,EAGG,EAAAkrB,GAAA,GAAU,CACX/hB,KAAM,GACNgiB,kBAAkB,GAFjB,CAGAy7B,KCzSH,SAAS,GAAWxxD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAYlP,IAAI4yD,GAAuB,SAAUtzC,GACnC,SAASszC,EAAQ/yC,GACf,IAAIjc,EAqTJ,OApTA,OAAgB3E,KAAM2zD,GACtBhvD,EAAQ,GAAW3E,KAAM2zD,EAAS,CAAC/yC,KACnC,OAAgBjc,EAAO,qBAAkC,OAAgC,UAAyB,SAASX,IACzH,IAAI2qB,EACJ,OAAO,UAAyB,SAAkBxqB,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EACH8qB,EAAYhqB,EAAMic,MAAM+N,UACxBhqB,EAAMic,MAAMxH,aAAauV,EAAU,YACnChqB,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMivD,eACR,KAAK,EACL,IAAK,MACH,OAAOzvD,EAASI,OAEtB,GAAGP,EACL,OACA,OAAgBW,EAAO,mCAAiD,WACtE,IAAIy5B,GAAQ,OAAgC,UAAyB,SAAS16B,EAASggB,GACrF,OAAO,UAAyB,SAAmB/f,GACjD,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EACH,GAA2B,MAArB6f,EAAUpe,SAAmBX,EAAMic,MAAMtb,QAAQsB,IAAM8c,EAAUpe,QAAQsB,GAAK,CAClFjD,EAAUE,KAAO,EACjB,KACF,CAEA,OADAF,EAAUE,KAAO,EACVc,EAAMic,MAAMizC,eAAenwC,EAAUpe,QAAQsB,GAAIjC,EAAM4E,MAAMm6B,MAAO/+B,EAAM4E,MAAM6jB,KACzF,KAAK,EACHzoB,EAAMye,SAAS,CACbmN,SAAS,IAEb,KAAK,EACL,IAAK,MACH,OAAO5sB,EAAUY,OAEvB,GAAGb,EACL,KACA,OAAO,SAAUc,GACf,OAAO45B,EAAM58B,MAAMxB,KAAM0B,UAC3B,CACF,CAxBwE,KAyBxE,OAAgBiD,EAAO,kBAAkB,SAAU6X,GACjD,OAAe,MAAXA,MAGCA,EAAQs3C,mBAGbnvD,EAAMye,SAAS,CACb2wC,WAAW,EACXC,gBAAiBx3C,IAErB,KACA,OAAgB7X,EAAO,sBAAsB,SAAU+Q,GACrD,IAAIiZ,EAAYhqB,EAAMic,MAAM+N,UACxBslC,EAAiB,UACjBzvC,EAAUmK,EAAU,gBACxB,OAAkB,MAAdjZ,EACK,CACL+N,MAAOwwC,EACPv1C,KAAM8F,IAGuB,WAA7B9O,EAAWw7C,iBACb1sC,EAAUmK,EAAU,YAEW,mBAA7BjZ,EAAWw7C,iBACb1sC,EAAUmK,EAAU,mBAEW,iBAA7BjZ,EAAWw7C,iBACb1sC,EAAUmK,EAAU,iBAEW,gBAA7BjZ,EAAWw7C,iBACb1sC,EAAUmK,EAAU,yBACW,MAA3BjZ,EAAWw+C,eACb1vC,GAAW,MAAQ9O,EAAWw+C,aAAe,IAAMvlC,EAAU,aAGhC,cAA7BjZ,EAAWw7C,iBACb1sC,EAAUmK,EAAU,iBACW,MAA3BjZ,EAAWw+C,eACb1vC,GAAW,MAAQ9O,EAAWw+C,aAAe,IAAMvlC,EAAU,aAI1D,CACLlL,MAFFwwC,EAAiBhD,GAAmBv7C,GAGlCgJ,KAAM8F,GAEV,KACA,OAAgB7f,EAAO,cAAc,SAAU6X,GAC7C,IAQM23C,EARFC,EAAa,cACb1wB,EAAQ,SAAWlnB,EAAQ4C,WAAWtV,QACtCsjB,EAAM,SAAW5Q,EAAQmwC,SAAS7iD,QAClC6kB,EAAYhqB,EAAMic,MAAM+N,UACxB0lC,EAAoB,CACtBnD,eAAgB10C,EAAQrU,MAEJ,cAAlBqU,EAAQpd,SAEVi1D,EAAkBH,aAAuE,QAAvDC,EAAwB33C,EAAQ83C,eAAe,UAA0C,IAA1BH,GAAmG,QAA9DA,EAAwBA,EAAsBz+C,kBAAkD,IAA1By+C,OAAmC,EAASA,EAAsBD,cAEhR,IAAIx+C,EAAa/Q,EAAM4vD,mBAAmBF,GACtCG,GAAY,EAShB,OAR8B,MAA1Bh4C,EAAQ83C,iBACVE,EAKM,MALMh4C,EAAQ83C,eAAeh+C,MAAK,SAAUm+C,GAChD,OAAwC,MAApCA,EAAO/+C,WAAWw7C,gBACbuD,EAAO/+C,WAAWw7C,eAAevyD,QAAQ,YAAc,CAGlE,KAEkB,gBAAoB,MAAO,CAC7CojB,UAAW,WACX1f,IAAK,MAAM/C,OAAOkd,EAAQ5V,KACZ,gBAAoB,MAAO,CACzCmb,UAAW,wBACG,gBAAoB,GAAAoL,KAAM,CACxCsQ,OAAO,GACLjhB,EAAQs3C,aAgBmBt3C,EAAQ83C,eAAe3yD,OAAS,EAAiB,gBAAoB,MAAO,CACzGogB,UAAW,4BACVyyC,EAAyB,gBAAoB,MAAO,CACrDzyC,UAAW,wBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,eACF,MAAQ,KAtB0B,gBAAoB,MAAO,CACjEuI,UAAW,SACXE,MAAO,CACLiI,KAAM,EACN46B,WAAY,WAEA,gBAAoB,SAAU,KAAMn2B,EAAU,WAAyB,gBAAoB,MAAO,CAChH1M,MAAO,CACL+H,QAAS,OACTC,WAAY,WAEO,QAApBvU,EAAW+N,MAA+B,gBAAoB,OAAQ,CACvE1B,UAAW,YACXE,MAAO,CACLqE,gBAAiB5Q,EAAW+N,SAE3B,KAAM/N,EAAWgJ,OAMgB,cAAlBlC,EAAQpd,OAAsC,gBAAoB,MAAO,CAC3F2iB,UAAW,QACXE,MAAO,CACLiI,KAAM,IAEM,gBAAoB,SAAU,KAAMyE,EAAU,SAAUnS,EAAQ83C,eAAe3yD,OAAS,EAAiB,gBAAoB,MAAO,CAClJsgB,MAAO,CACL6iC,WAAY,WAEb,SAAWtoC,EAAQ83C,eAAe,GAAGl1C,WAAWtV,QAAQ2O,OAAO27C,GAA0B,gBAAoB,MAAO,KAAM,SAAW53C,EAAQ83C,eAAe,GAAGl1C,WAAWtV,QAAQ2O,OAAO,WAAa,MAAqB,gBAAoB,MAAO,CACvPsJ,UAAW,SACXE,MAAO,CACLiI,KAAM,IAEM,gBAAoB,SAAU,KAAMyE,EAAU,SAAuB,gBAAoB,MAAO,CAC9G1M,MAAO,CACL6iC,WAAY,WAEbphB,EAAMjrB,OAAO27C,GAAc53C,EAAQkQ,OAAgF,KAA1D,gBAAoB,MAAO,KAAMgX,EAAMjrB,OAAO,YAAsC,cAAlB+D,EAAQpd,OAAsC,gBAAoB,MAAO,CACrM2iB,UAAW,QACXE,MAAO,CACLiI,KAAM,IAEM,gBAAoB,SAAU,KAAMyE,EAAU,OAAQnS,EAAQ83C,eAAe3yD,OAAS,EAAiB,gBAAoB,MAAO,CAChJsgB,MAAO,CACL6iC,WAAY,WAEb,SAAWtoC,EAAQ83C,eAAe,GAAGl1C,WAAWtV,QAAQ0O,IAAIgE,EAAQ83C,eAAe,GAAG3yD,OAAQ,WAAW8W,OAAO27C,GAA0B,gBAAoB,MAAO,KAAM,SAAW53C,EAAQ83C,eAAe,GAAGl1C,WAAWtV,QAAQ0O,IAAIgE,EAAQ83C,eAAe,GAAG3yD,OAAQ,WAAW8W,OAAO,WAAa,MAAqB,gBAAoB,MAAO,CACzVsJ,UAAW,SACXE,MAAO,CACLiI,KAAM,IAEM,gBAAoB,SAAU,KAAMyE,EAAU,OAAqB,gBAAoB,MAAO,CAC5G1M,MAAO,CACL6iC,WAAY,WAEb13B,EAAI3U,OAAO27C,GAAc53C,EAAQkQ,OAA8E,KAAxD,gBAAoB,MAAO,KAAMU,EAAI3U,OAAO,YAAiC,gBAAoB,MAAO,CAChKsJ,UAAW,SACXE,MAAO,CACL6iC,WAAY,WAEA,gBAAoB,SAAU,KAAMn2B,EAAU,gBAA8B,gBAAoB,MAAO,KAA4B,MAAtBnS,EAAQk4C,WAAqBl4C,EAAQk4C,WAAWjqC,UAAY,IAAMjO,EAAQk4C,WAAWhqC,SAAW,GAAsB,MAAlBlO,EAAQm4C,QAA2C,MAAzBn4C,EAAQm4C,OAAOjpC,OAA8B,gBAAoB,MAAO,KAAMiD,EAAU,aAAe,IAAMnS,EAAQm4C,OAAOlqC,UAAY,IAAMjO,EAAQm4C,OAAOjqC,UAAY,OAAgC,GAAxBlO,EAAQs3C,aAAoC,gBAAoB,MAAO,CACjf/xC,UAAW,SACXE,MAAO,CACL+H,QAAS,SAEG,gBAAoB,MAAO,CACzClH,QAAS,SAAiBjiB,GACxB,OAAO8D,EAAMiwD,eAAep4C,EAC9B,EACAuF,UAAW,gBACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,gBACD,OAAkC,MAA1BgD,EAAQ83C,gBAA0B93C,EAAQ83C,eAAe3yD,OAAS,GAA6B,GAAxB6a,EAAQs3C,aAAoC,gBAAoB,GAAY,CAChK75C,MAAO,KACO,gBAAoB,MAAO,CACzC8H,UAAW,WACG,gBAAoB,SAAU,KAAMpd,EAAMic,MAAM+N,UAAU,YAAanS,EAAQ83C,eAAex2C,KAAI,SAAU22C,GAC1H,IAAII,EAAiBC,EAAuBC,EACxCr/C,EAAa/Q,EAAM4vD,mBAAmBE,EAAO/+C,YAC7CguB,EAAQ,SAAW+wB,EAAOr1C,WAAWtV,QACrCsjB,EAAM,SAAWqnC,EAAOr1C,WAAW5G,IAAIi8C,EAAO9yD,OAAQ,WAAWmI,QACrE,OAAoB,gBAAoB,MAAO,CAC7CiY,UAAW,cACX1f,IAAKoyD,EAAO7tD,IACE,gBAAoB,GAAAumB,KAAM,KAAmB,gBAAoB,MAAO,CACtFpL,UAAW,UACG,gBAAoB,OAAQ,CAC1CA,UAAW,YACXE,MAAO,CACLqE,gBAAqC,QAApB5Q,EAAW+N,MAAkB/N,EAAW+N,MAAQ,UAEjE/N,EAAWgJ,MAAoB,gBAAoB,MAAO,CAC5DqD,UAAW,UACV2hB,EAAMjrB,OAAO,qBAAsB,IAAK2U,EAAI3U,OAAO,SAAuB,gBAAoB,MAAO,CACtGsJ,UAAW,UAC6B,QAAtC8yC,EAAkBJ,EAAOjzC,eAAyC,IAApBqzC,OAA6B,EAASA,EAAgB56C,OAA6B,MAArBw6C,EAAO/+C,YAA0D,MAApC++C,EAAO/+C,WAAWs/C,eAAsC,gBAAoB,MAAO,CAC9NjzC,UAAW,UACV4M,EAAU,eAAiB,MAAsE,QAA9DmmC,EAAwBL,EAAO/+C,WAAWs/C,sBAAsD,IAA1BF,OAAmC,EAASA,EAAsBrqC,WAAa,KAAuE,QAA/DsqC,EAAyBN,EAAO/+C,WAAWs/C,sBAAuD,IAA3BD,OAAoC,EAASA,EAAuBrqC,WAA0B,gBAAoB,MAAO,CACjY3I,UAAW,UACV,MACL,MAAO,KACT,KACA,OAAgBpd,EAAO,eAAe,WACpCA,EAAMye,SAAS,CACb2wC,WAAYpvD,EAAM4E,MAAMwqD,UACxBC,gBAAiB,MAErB,KACA,OAAgBrvD,EAAO,mBAAmB,SAAU+P,GAClD,OAAO,IAAI5R,SAAQ,SAAUC,EAASC,GACnB,MAAb0R,EAAO9N,GACTjC,EAAMic,MAAMq0C,cAAcvgD,GAAQxR,MAAK,WACrCH,EAAQ,GACwB,MAA5B4B,EAAMic,MAAMtZ,cAA4D,GAApC3C,EAAMic,MAAMtZ,aAAa4rD,UAC/DvuD,EAAMic,MAAMizC,eAAelvD,EAAMic,MAAMtb,QAAQsB,GAAIjC,EAAM4E,MAAMm6B,MAAO/+B,EAAM4E,MAAM6jB,KAClFzoB,EAAM24B,cAEV,IAAU,OAAE,SAAUz4B,GACpB7B,EAAO6B,EACT,IAEAF,EAAMic,MAAMs0C,cAAcxgD,GAAQxR,MAAK,WAErC,GADAH,EAAQ,GACwB,MAA5B4B,EAAMic,MAAMtZ,cAA4D,GAApC3C,EAAMic,MAAMtZ,aAAa4rD,QAAiB,CAChFvuD,EAAMic,MAAMizC,eAAelvD,EAAMic,MAAMtb,QAAQsB,GAAIjC,EAAM4E,MAAMm6B,MAAO/+B,EAAM4E,MAAM6jB,KAClFzoB,EAAM24B,cACN,IAAI2X,EAActwC,EAAMic,MAAMtb,QAAQmlB,UAAY,IAAM9lB,EAAMic,MAAMtb,QAAQolB,SACxEyqC,EAAa,SAAWzgD,EAAO0K,WAAWtV,QAAQ2O,OAAO,oBAAsB,IAAM9T,EAAMic,MAAM+N,UAAU,MAAQ,IAAM,SAAWja,EAAOi4C,SAAS7iD,QAAQ2O,OAAO,oBACvK9T,EAAMye,SAAS,CACbgyC,gBAAiBngB,EAAc,IAAMtwC,EAAMic,MAAM+N,UAAU,+BAAiC,IAAMwmC,GAEtG,CACF,IAAU,OAAE,SAAUtwD,GACpB7B,EAAO6B,EACT,GAEJ,GACF,KACA,OAAgBF,EAAO,gBAA6B,OAAgC,UAAyB,SAASkqC,IACpH,OAAO,UAAyB,SAAmBN,GACjD,cAAkBA,EAAU3qC,KAAO2qC,EAAU1qC,MAC3C,KAAK,EACH,GAA8B,sBAAxBrF,OAAOC,SAAS42D,KAA+B,CACnD9mB,EAAU1qC,KAAO,EACjB,KACF,CAIA,GAHAc,EAAMye,SAAS,CACbmN,SAAS,IAEmB,MAAxB5rB,EAAMic,MAAMmyC,SAAmB,CACnCxkB,EAAU1qC,KAAO,EACjB,KACF,CAEA,OADA0qC,EAAU1qC,KAAO,EACVc,EAAMic,MAAMizC,eAAelvD,EAAMic,MAAMtb,QAAQsB,GAAIjC,EAAM4E,MAAMm6B,MAAO/+B,EAAM4E,MAAM6jB,KAC3F,KAAK,EACHzoB,EAAMye,SAAS,CACbmN,SAAS,IAEb,KAAK,EACH5rB,EAAMye,SAAS,CACbgyC,gBAAiB,OAErB,KAAK,EACL,IAAK,MACH,OAAO7mB,EAAUhqC,OAEvB,GAAGsqC,EACL,MACA,aAAc,KAAA/tB,sBACdnc,EAAM4E,MAAQ,CACZm6B,MAAO,OAASpX,SAAS,EAAG,UAAUH,IAAI,CACxC,QAAW,EACX,MAAS,IACR1T,OAAO,cACV2U,IAAK,OAAS5U,IAAI,EAAG,UAAU2T,IAAI,CACjC,QAAW,GACX,MAAS,KACR1T,OAAO,cACVs7C,WAAW,EACXxjC,SAAS,EACT6kC,gBAAiB,MAEZzwD,CACT,CAEA,OADA,QAAUgvD,EAAStzC,IACZ,OAAaszC,EAAS,CAAC,CAC5BtxD,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT+zD,EAAY/zD,KAAKuJ,MAAMwqD,UACvBhB,EAAW,KACY,MAAvB/yD,KAAK4gB,MAAMmyC,WACbA,EAAW/yD,KAAK4gB,MAAMmyC,SAASxoD,MAAK,SAAUC,EAAGC,GAC/C,OAAOD,EAAE4U,UAAY3U,EAAE2U,UAAY,EAAI3U,EAAE2U,UAAY5U,EAAE4U,WAAa,EAAI,CAC1E,KAEF,IAAIuP,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,gBACG,gBAAoBsb,GAAO,CACzCpjB,MAAO0U,EAAU,kBACjBxL,OAAQ4wC,EACRz7B,QAASt4B,KAAKs9B,aACA,gBAAoBg4B,GAAmB,CACrD3gC,SAAU30B,KAAKu1D,gBACfluD,KAAMrH,KAAK4gB,MAAMtb,QAAQsB,GACzB4V,QAASxc,KAAKuJ,MAAMyqD,gBACpB3Z,QAASr6C,KAAKs9B,eACE,gBAAoB,GAAAquB,KAAM,CAC1CroC,SAAUtjB,KAAK4zD,cACD,gBAAoB,GAAAhI,IAAK,CACvC3xC,MAAO0U,EAAU,kBACjBroB,MAAO,kBACO,gBAAoB,MAAO,CACzCyb,UAAW,2BACG,gBAAoB,GAAA6U,OAAQ,CAC1C9T,QAAS9iB,KAAKs9B,aACb3O,EAAU,oBAAmD,MAA9B3uB,KAAKuJ,MAAM6rD,gBAAuC,gBAAoB,MAAO,CAC7GnzC,MAAO,CACLiW,QAAS,OACT5O,SAAU,WACVhD,gBAAiB,UACjB7C,MAAO,UACPyZ,aAAc,UAEfl9B,KAAKuJ,MAAM6rD,iBAAmB,MAAoB,gBAAoB,GAAAxJ,IAAK,CAC5E3xC,MAAO0U,EAAU,oBACjBroB,MAAO,qBACNtG,KAAKuJ,MAAMgnB,QAAuB,gBAAoB,MAAO,CAC9DxO,UAAW,4BACG,gBAAoB,GAAS,CAC3CH,QAAQ,KACJ,KAAkB,MAAZmxC,GAAqB/yD,KAAKuJ,MAAMgnB,QAEtC,KAF6D,gBAAoB,MAAO,KAAMwiC,EAASj1C,KAAI,SAAUtB,GACzH,OAAO8V,EAAOkjC,WAAWh5C,EAC3B,OACF,IAEJ,CA9W2B,CA8WzB,EAAAyE,WAUF,UAAe,SATf,SAAyB1X,GACvB,MAAO,CACLjC,aAAciC,EAAMiT,QAAQlV,aAC5ByrD,SAAUxpD,EAAMiT,QAAQnV,KACxB/B,QAASiE,EAAMsV,KAAKlO,cACpB+E,WAAYnM,EAAMmM,WAAWrO,KAC7BsnB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,IACwC,OAAgB,CACtD24C,e3KvY0B,SAAwBxsD,EAAMq8B,EAAOtW,GAC/D,MAAO,CACLjlB,KAAMpB,EACNqB,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,YAAY/G,OAAO+H,EAAM,wBAAwB/H,OAAOokC,EAAO,aAAapkC,OAAO8tB,IAAMlqB,MAAK,SAAUe,GAC9GlB,EAAQkB,EAAS8B,KACnB,IAAU,OAAE,SAAUA,GACpB/C,OAAO,KACT,GACF,IAEJ,E2K6XEiyD,c3K/WyB,SAAuBvgD,GAChD,MAAO,CACLvM,KAAMlB,EACNmB,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,IAAI+C,EAAOmH,KAAKC,UAAUuH,GAC1B,EAAIjO,IAAI,UAAWV,GAAM7C,MAAK,SAAUe,GACtClB,EAAQkB,EAAS8B,KACnB,IAAU,OAAE,SAAUA,GACpB/C,EAAO,KACT,GAEF,IAEJ,E2KmWEoW,aAAcA,GACd87C,c3K9XyB,SAAuBxgD,GAChD,MAAO,CACLvM,KAAMnB,EACNoB,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,IAAI+C,EAAOmH,KAAKC,UAAUuH,GAC1B,EAAIhO,KAAK,UAAWX,GAAM7C,MAAK,SAAUe,GACvClB,EAAQkB,EAAS8B,KACnB,IAAU,OAAE,SAAUA,GACpB/C,EAAO,KACT,GACF,IAEJ,G2KmXG,eAAgBoW,IALnB,CAKkCu6C,I,cC5YlC,SAAS,GAAW5yD,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAI00D,GAAiC,SAAUp1C,GAC7C,SAASo1C,EAAkB70C,GACzB,IAAIjc,EAgIJ,OA/HA,OAAgB3E,KAAMy1D,GACtB9wD,EAAQ,GAAW3E,KAAMy1D,EAAmB,CAAC70C,KAC7C,OAAgBjc,EAAO,qBAAqB,WAC1C,aAAc,KAAAmc,qBAChB,KAEA,OAAgBnc,EAAO,mBAAmB,WACxC,IAAI8vD,EAAS9vD,EAAMic,MAAM80C,aACrBhhD,EAAS,CACX0K,UAAW,SAAWq1C,EAAOr1C,WAAWtV,QAAQ2O,OAAO,uBACvDk0C,QAAS,SAAW8H,EAAOr1C,WAAWtV,QAAQ0O,IAAIi8C,EAAO9yD,OAAQ,WAAW8W,OAAO,uBACnFiT,OAAQ/mB,EAAMic,MAAMjQ,eAEtB,OAAO,IAAI7N,SAAQ,SAAUC,GACV,MAAb2R,EAAO9N,GACTjC,EAAMic,MAAMq0C,cAAcvgD,GAAQxR,MAAK,WACrCH,EAAQ,EACV,IAEA4B,EAAMic,MAAMs0C,cAAcxgD,GAAQxR,MAAK,WACrCH,EAAQ,EACV,GAEJ,GACF,KACA,OAAgB4B,EAAO,kBAAkB,WACvCA,EAAMye,SAAS,CACbuyC,cAAc,GAElB,KACA,OAAgBhxD,EAAO,gBAAgB,WACrCA,EAAMye,SAAS,CACbuyC,cAAc,GAElB,KAEA,OAAgBhxD,EAAO,qBAAqB,WAE1C,IAAI8vD,EAAS9vD,EAAMic,MAAM80C,aACrBE,EAAe,KACS,MAAxBjxD,EAAMic,MAAMmyC,WACd6C,EAAejxD,EAAMic,MAAMmyC,SAASz8C,MAAK,SAAUkG,GACjD,OAAOA,EAAQ4C,WAAaza,EAAMic,MAAM80C,aAAat2C,SACvD,KAEF,IAAIuP,EAAYhqB,EAAMic,MAAM+N,UAC5B,OAAoB,gBAAoB,MAAO,CAC7C1M,MAAO,CACLyR,UAAW,SAEC,gBAAoB,MAAO,CACzC3R,UAAW,YACG,gBAAoB,KAAM,KAAM4M,EAAU,kDAAgE,gBAAoB,GAAAwL,SAAU,CACtJ3M,MAAOmB,EAAU,iBACjBrL,SAAU3e,EAAMkxD,eAChBvzD,MAAOqC,EAAM4E,MAAMosD,eACJ,gBAAoB,MAAO,CAC1C1zC,MAAO,CACLyR,UAAW,WAEC,gBAAoB,GAAAyG,SAAU,CAC5C3M,MAAOmB,EAAU,kBACjBrL,SAAU3e,EAAMmxD,aAChBxzD,OAAQqC,EAAM4E,MAAMosD,gBAChBhxD,EAAM4E,MAAMosD,aAWoB,KAXQ,gBAAoB,MAAO,CACvE1zC,MAAO,CACLyR,UAAW,WAEC,gBAAoB,QAAS,CAC3CvrB,KAAM,SACN06B,IAAK4xB,EAAO9yD,OACZmhC,IAAK,IACL7gB,MAAO,CACLkb,YAAa,YAEbxO,EAAU,uBAA4C,gBAAoB,MAAO,CACnF1M,MAAO,CACLyR,UAAW,UAEb3R,UAAW,2BACG,gBAAoB,GAAA6U,OAAQ,CAC1C9T,QAASne,EAAM4wD,iBACS5mC,EAAP,MAAhBinC,EAAiC,iBAA8B,mBAAoC,MAAhBA,EAAoC,gBAAoB,GAAAh/B,OAAQ,CACpJzuB,KAAM,aACLwmB,EAAU,mBAAqB,MACpC,KACA,OAAgBhqB,EAAO,wBAAwB,SAAU+Q,GACvD,IAAIiZ,EAAYhqB,EAAMic,MAAM+N,UAC5B,GAAkB,MAAdjZ,GACmC,UAAjC/Q,EAAMic,MAAM80C,aAAavtD,KAC3B,OAAoB,gBAAoB,MAAO,CAC7C4Z,UAAW,oBACV4M,EAAU,yDAGjB,IAAInK,EAAU,GAoBd,MAnBqC,UAAjC7f,EAAMic,MAAM80C,aAAavtD,MACT,MAAduN,IAC+B,WAA7BA,EAAWw7C,iBACb1sC,EAAUmK,EAAU,YAEW,mBAA7BjZ,EAAWw7C,iBACb1sC,EAAUmK,EAAU,mBAEW,iBAA7BjZ,EAAWw7C,iBACb1sC,EAAUmK,EAAU,iBAEW,gBAA7BjZ,EAAWw7C,iBACb1sC,EAAUmK,EAAU,0BAEW,cAA7BjZ,EAAWw7C,iBACb1sC,EAAUmK,EAAU,mBAIW,UAAjChqB,EAAMic,MAAM80C,aAAavtD,KACP,gBAAoB,MAAO,CAC7C4Z,UAAW,mBACXE,MAAO,CACLwB,MAAOwtC,GAAmBv7C,KAE3B8O,EAAoC,MAA3B9O,EAAWw+C,cAAwBx+C,EAAWw+C,aAAe,EAAI,KAAOx+C,EAAWw+C,aAAe,IAAMvlC,EAAU,WAAa,IAAM,WANnJ,CAQF,IACAhqB,EAAM4E,MAAQ,CACZosD,cAAc,GAEThxD,CACT,CAEA,OADA,QAAU8wD,EAAmBp1C,IACtB,OAAao1C,EAAmB,CAAC,CACtCpzD,IAAK,SACLC,MAAO,WACL,GAA+B,MAA3BtC,KAAK4gB,MAAM80C,aACb,OAAO,KAET,IAAIjB,EAASz0D,KAAK4gB,MAAM80C,aACpBhgD,EAAa++C,EAAO/+C,WACxB,OAAoB,gBAAoB,MAAO,CAC7CqM,UAAW,uBACG,gBAAoB,MAAO,CACzCA,UAAW,YACwD,oBAAjE0yC,aAAuC,EAASA,EAAOtsD,MAA0C,gBAAoB,MAAO,KAAM,IAAkB,gBAAoB,KAAM,KAAMssD,EAAOx6C,OAAqB,gBAAoB2/B,GAAa,KAAM6a,EAAO/nB,cAA6B,gBAAoB,MAAO,KAAM,IAAK+nB,EAAOx6C,MAAoB,gBAAoB,KAAM,OAAQ,SAAWw6C,EAAOr1C,WAAWtV,QAAQ2O,OAAO,wBAAwB1Y,aAAc,SAAW00D,EAAOr1C,WAAWtV,QAAQ0O,IAAIi8C,EAAO9yD,OAAQ,WAAW8W,OAAO,KAAKnZ,OAAOU,KAAK4gB,MAAM+N,UAAU,MAAO,SAAW,KAAmB,gBAAoB,MAAO,CAC7nB5M,UAAW,aACI,gBAAoB,MAAO,CAC1CA,UAAW,iBACT/hB,KAAK+1D,qBAAqBrgD,GAChC,IAEJ,CAxJqC,CAwJnC,EAAAuL,WASF,UAAe,SARf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMqT,UAAUjM,cAE/B+E,WAAYnM,EAAMmM,WAAWrO,KAC7BsnB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CAIxC,EAJA,CAIGu6C,IC5IH,SAlCuB,SAA0B70C,GAC/C,GAAmB,MAAfA,EAAM8iB,OAA8B,MAAb9iB,EAAMwM,IAC/B,OAAO,KAET,IAAIuB,GAAY,iBAAa,SAAY,SAAUplB,GACjD,OAAOA,EAAMiW,UAAUtE,YACzB,KACA,MAAkB,SAAd0F,EAAMo1C,KACY,gBAAoB,MAAO,CAC7Cj0C,UAAW,4BACG,gBAAoB,KAAM,CACxCE,MAAO,CACLiY,aAAc,SACdxG,UAAW,IAEZ,KAAO9S,EAAM8iB,OAAOjrB,OAAO,SAAUmI,EAAMq1C,UAAyB,gBAAoB,GAAS,MAAQ,MAE1G,KAAOr1C,EAAMwM,KAAKqb,KAAK,KAAO7nB,EAAM8iB,OAAQ,QAAU,EACpC,gBAAoB,MAAO,CAC7C3hB,UAAW,4BACG,gBAAoB,KAAM,CACxCE,MAAO,CACLiY,aAAc,WAEfvL,EAAU,QAAS,IAAK,KAAO/N,EAAM8iB,OAAOwyB,QAASt1C,EAAMq1C,UAAyB,gBAAoB,GAAS,MAAQ,MAE1G,gBAAoB,MAAO,CAC7Cl0C,UAAW,4BACG,gBAAoB,KAAM,CACxCE,MAAO,CACLiY,aAAc,WAEf,KAAOtZ,EAAM8iB,OAAOjrB,OAAO,eAAe1Y,cAAe6gB,EAAMq1C,UAAyB,gBAAoB,GAAS,MAAQ,KAClI,ECgGA,SAjIkB,SAAqBr1C,GACrC,IAAI9b,EAAQ8b,EAAM9b,MAChB2vD,EAAS7zC,EAAM6zC,OACf/+C,EAAakL,EAAMlL,WACjBiZ,GAAY,iBAAa,SAAY,SAAUplB,GACjD,OAAOA,EAAMiW,UAAUtE,YACzB,KACA,GAAkB,SAAd0F,EAAMo1C,KAAiB,CACzB,IAAIG,EAAgBC,EAAgBC,EAAgBC,EAAgBC,EAAgBC,EAAiBC,EAAiBC,EAAiBC,EAcvI,OAAoB,gBAAoB,MAAO,CAC7C50C,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,eACTjd,SAA0E,QAAnCqxD,EAAiBrxD,EAAMnD,cAAuC,IAAnBw0D,OAA4B,EAASA,EAAe1B,QAAU,GAAkB,gBAAoB,MAAO,CAC/L1yC,UAAW,mBACG,gBAAoB,MAAO,CACzCA,UAAW,qBACI,gBAAoB,OAAQ,KAAMjd,SAA0E,QAAnCsxD,EAAiBtxD,EAAMnD,cAAuC,IAAnBy0D,OAA4B,EAASA,EAAe3B,OAAQ,IAAK9lC,EAAU,cAAe7pB,SAA0E,QAAnCuxD,EAAiBvxD,EAAMnD,cAAuC,IAAnB00D,OAA4B,EAASA,EAAertD,YAAc,GAAkB,gBAAoB,MAAO,CAC9Z+Y,UAAW,mBACG,gBAAoB,MAAO,CACzCA,UAAW,yBACT,IAAkB,gBAAoB,OAAQ,KAAMjd,SAA0E,QAAnCwxD,EAAiBxxD,EAAMnD,cAAuC,IAAnB20D,OAA4B,EAASA,EAAettD,WAAY,IAAK2lB,EAAU,kBAAmB7pB,SAA0E,QAAnCyxD,EAAiBzxD,EAAMnD,cAAuC,IAAnB40D,OAA4B,EAASA,EAAejlD,UAAY,GAAkB,gBAAoB,MAAO,CACzayQ,UAAW,mBACG,gBAAoB,MAAO,CACzCA,UAAW,sBACT,IAAkB,gBAAoB,OAAQ,KAAMjd,SAA2E,QAApC0xD,EAAkB1xD,EAAMnD,cAAwC,IAApB60D,OAA6B,EAASA,EAAgBllD,SAAU,IAAKqd,EAAU,cAAoD,QAApC8nC,EAAkB3xD,EAAMnD,cAAwC,IAApB80D,GAA8BA,EAAgBG,8BAAqE,QAApCF,EAAkB5xD,EAAMnD,cAAwC,IAApB+0D,GAA8BA,EAAgBG,4BAA2C,gBAAoB,MAAO,CACngB90C,UAAW,mBACG,gBAAoB,MAAO,CACzCA,UAAW,0BACT,IAAkB,gBAAoB,OAAQ,KAjC5B,WACpB,IAAI+0C,EAAeC,EAGbC,EAIAC,EANFC,EAAiB,EACkB,QAAlCJ,EAAgBhyD,EAAMnD,cAAsC,IAAlBm1D,GAA4BA,EAAcD,8BAEvFK,GAAkBpyD,SAA0E,QAAnCkyD,EAAiBlyD,EAAMnD,cAAuC,IAAnBq1D,OAA4B,EAASA,EAAeH,6BAElH,QAAnCE,EAAiBjyD,EAAMnD,cAAuC,IAAnBo1D,GAA6BA,EAAeH,+BAE1FM,GAAkBpyD,SAA0E,QAAnCmyD,EAAiBnyD,EAAMnD,cAAuC,IAAnBs1D,OAA4B,EAASA,EAAeL,8BAE1J,OAAOM,CACT,CAqBwDC,GAAmB,IAAKxoC,EAAU,UAAY,MAA4C,QAApCgoC,EAAkB7xD,EAAMnD,cAAwC,IAApBg1D,OAA6B,EAASA,EAAgBS,eAAiB,GAAkB,gBAAoB,MAAO,CAC5Qr1C,UAAW,mBACG,gBAAoB,MAAO,CACzCA,UAAW,4BACI,gBAAoB,OAAQ,KAAMjd,EAAMnD,OAAOy1D,cAAe,IAAKzoC,EAAU,sBAChG,CACA,IAAI0oC,EAAY,WACd,IAAKz2C,EAAM9B,SAASpJ,WAClB,OAAO,KAET,IAAIu+C,EAAiB,UACjBv1C,EAAOiQ,EAAU,uBACrB,GAAwF,OAAnF8lC,aAAuC,EAASA,EAAO6C,yBAAkC,CAC5F,IAAI3E,GAAW,OAAmB8B,EAAO6C,wBAAwBl2D,QAAO,SAAUqzD,GAChF,OAAoC,MAA7BA,EAAO8C,kBAChB,KAAI51D,OACJ,OAAoB,gBAAoB,MAAO,CAC7CogB,UAAW,UACG,gBAAoB,OAAQ,CAC1CA,UAAW,YACXE,MAAO,CACLqE,gBAAiBqsC,GAAY8B,EAAO6C,wBAAwB31D,OAAS,UAAY,aAEjFgxD,EAAU,IAAK8B,EAAO6C,wBAAwB31D,OAAQ,IAAK,IAAKgtB,EAAU,YAChF,CAwBA,OAvBkB,MAAdjZ,GACFu+C,EAAiBhD,GAAmBv7C,GACH,WAA7BA,EAAWw7C,iBACbxyC,EAAOiQ,EAAU,YAEc,mBAA7BjZ,EAAWw7C,iBACbxyC,EAAOiQ,EAAU,mBAEc,iBAA7BjZ,EAAWw7C,iBACbxyC,EAAOiQ,EAAU,iBAEc,gBAA7BjZ,EAAWw7C,iBACbxyC,EAAOiQ,EAAU,0BAEc,cAA7BjZ,EAAWw7C,iBACbxyC,EAAOiQ,EAAU,mBAGc,MAA7B8lC,EAAO8C,qBACTtD,EAAiB,UACjBv1C,EAAOiQ,EAAU,aAGD,gBAAoB,MAAO,CAC7C5M,UAAW,UACG,gBAAoB,OAAQ,CAC1CA,UAAW,YACXE,MAAO,CACLqE,gBAAiB2tC,KAEJ,gBAAoB,OAAQ,CAC3ClyC,UAAW,QACVrD,GACL,EACA,MAAkB,UAAdkC,EAAMo1C,MAANp1C,MAA0B6zC,GAAwCA,EAAO+C,MAAwB,WAAhB/C,EAAOtsD,KACtE,gBAAoB,MAAO,CAC7C4Z,UAAW,cACG,gBAAoB,MAAO,CACzCA,UAAW,sBACVjd,EAAMmV,MAAgF,OAAxEw6C,aAAuC,EAASA,EAAO7+C,cAAqC,gBAAoB,GAAAuU,KAAM,CACrI3Q,KAAM,UACH,MAAoB,gBAAoB,MAAO,KAAMi7C,EAAO+C,MAAoB,gBAAoB,MAAO,CAC9Gz1C,UAAW,cACV0yC,SAAwCA,EAAO8C,oBAAoC,MAAd7hD,EAAqB2hD,IAAc,OAExG5C,aAAuC,EAASA,EAAO9yD,SAAW,IAAsB,WAAhB8yD,EAAOtsD,KAC9D,gBAAoB,MAAO,CAC7C4Z,UAAW,cACVjd,EAAMmV,MAAoB,gBAAoB,MAAO,CACtD8H,UAAW,sBACV0yC,EAAO8C,oBAAoC,MAAd7hD,GAAqC,MAAf++C,EAAO+C,KAAeH,IAAc5C,EAAO+C,MAAgF,OAAxE/C,aAAuC,EAASA,EAAO7+C,cAAqC,gBAAoB,MAAO,CAC9NmM,UAAW,2BACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,WACF,MAEY,gBAAoB,MAAO,KAAM1U,aAAqC,EAASA,EAAMmV,MAAgF,OAAxEw6C,aAAuC,EAASA,EAAO7+C,cAAqC,gBAAoB,MAAO,CACtOmM,UAAW,2BACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,WACF,KACR,ECtHA,IAAIi+C,GAAc,SAAqB1zD,GACrC,IAAIypB,EAAQzpB,EAAKypB,MACbgU,EAAO,OAAS13B,QAAQ2O,OAAO,QACnC,OAAoB,gBAAoB,OAAQ,CAC9CkiB,KAAM,eACN,YAAa,OACb5Y,UAAWyf,GAAQhU,EAAMqN,cAAgB,cAAgB,IACxDrN,EACL,EACIyF,GAAU,CACZykC,cAAe,SAAuBlrC,EAAMmrC,EAASC,GACnD,OAAOA,EAAUn/C,OAAO+T,EAAM,OAAQmrC,EACxC,GAseF,SAxamB,SAAsB/2C,GACvC,IAAIi3C,EACA/2B,GAAW,UACXwnB,GAAY,IAAAC,WAAS,GACvBC,GAAa,QAAeF,EAAW,GACvC2N,EAAYzN,EAAW,GACvBsP,EAAetP,EAAW,GACxBE,GAAa,IAAAH,UAAS,MACxBI,GAAa,QAAeD,EAAY,GACxCgN,EAAe/M,EAAW,GAC1BoP,EAAkBpP,EAAW,GAC3Bh4C,GAAgB,SAAY,SAAUpH,GACxC,OAAOA,EAAMsV,KAAKlO,aACpB,IACIqnD,GAAgB,SAAY,SAAUzuD,GACxC,OAAOA,EAAMqT,UAAU/L,QACzB,IAII6O,IAHa,SAAY,SAAUnW,GACrC,OAAOA,EAAMmM,WAAWrO,IAC1B,KACqB,SAAY,SAAUkC,GACzC,OAAOA,EAAMmW,cACf,KACIiP,GAAY,iBAAa,SAAY,SAAUplB,GACjD,OAAOA,EAAMiW,UAAUtE,YACzB,KACI+8C,GAAa,IAAA1P,UAAS,IACxB2P,GAAa,QAAeD,EAAY,GACxCE,EAAaD,EAAW,GACxBE,EAAgBF,EAAW,GACzBG,GAAa,IAAA9P,eAAS/hD,GACxB8xD,GAAa,QAAeD,EAAY,GACxCE,EAAcD,EAAW,GACzBE,EAAiBF,EAAW,GAC1BV,GAAY,IAAAa,UAAQ,WACtB,OAtCF,aAAc,KAAA33C,uBACP,SAAgB,KAsCvB,GAAG,EAAC,KAAAA,uBA2CA43C,EAAkB,SAAyB3yD,GAC7C,IAAI6iC,EAAQ,CAAC,EACT5/B,EAAa,EACbsI,EAAW,EACXmjD,EAAS,EACT2C,EAAgB,EAiBpB,OAhBArxD,EAAKnE,SAAQ,SAAU6kB,GACA,YAAjBA,EAAQte,KACVmJ,IAC0B,mBAAjBmV,EAAQte,KACjBivD,IACS3wC,EAAQkyC,cACjB3vD,IACA4/B,EAAMniB,EAAQkyC,eAAiB/vB,EAAMniB,EAAQkyC,eAAiB,GAAK,GAEnElE,GAEJ,IACA7rB,EAAM5/B,WAAaA,EACnB4/B,EAAMt3B,SAAWA,EACjBs3B,EAAM6rB,OAASA,EACf7rB,EAAMwuB,cAAgBA,EACfxuB,CACT,GACA,IAAAzU,YAAU,YACoB,WAC1B,GAAIzU,EAAenD,mBACZy7C,aAAqD,EAASA,EAAcr2D,QAAU,EAAG,CAC5F,IAAIi3D,EA5II,SAAqBC,EAAK9yD,GAC1C,IAAI+yD,EAAUD,EAEd,GAAM9yD,UAAoCA,EAAK8zC,QAAU,CACvD,IAAIkf,EAAiBD,EAAQ13D,QAAO,SAAUmX,GAC5C,MAAqB,YAAdA,EAAKpQ,IACd,IACA2wD,EAAUC,CACZ,CACA,GAAMhzD,UAAoCA,EAAKizD,OAAS,CACtD,IAAIC,EAAYH,EAAQ13D,QAAO,SAAUmX,GACvC,MAAqB,WAAdA,EAAKpQ,IACd,IACA2wD,EAAUG,CACZ,CACA,IAAKlzD,EAAKmzD,WAAY,CACpB,IAAIC,EAAeL,EAAQ13D,QAAO,SAAUmX,GAC1C,MAAqB,eAAdA,EAAKpQ,IACd,IACA2wD,EAAUK,CACZ,CACA,IAAKpzD,EAAKqzD,cAAe,CACvB,IAAIC,EAAmBP,EAAQ13D,QAAO,SAAUmX,GAC9C,MAAqB,mBAAdA,EAAKpQ,IACd,IACA2wD,EAAUO,CACZ,CACA,OAAOP,CACT,CAgH4BQ,CAAYtB,EAAet4C,aAAuD,EAASA,EAAenD,kBAC5H,MAAkB,SAAdqE,EAAMo1C,UACRoC,EAzKM,SAAqBryD,EAAMymB,GAC3C,IAAI/c,EAAS,CAAC,EACVi0B,EAAQ,KAAOlX,GAAM8e,QAAQ,SAASnf,IAAI,CAC5CgkB,KAAM,EACNC,OAAQ,EACRmpB,OAAQ,IACPC,cACHzzD,EAAK+X,KAAI,SAAUvF,GACjB,IAAIiU,EAAO,KAAOjU,EAAK6G,WAAWksB,QAAQ,OAAOkuB,cAC7ChtC,GAAQkX,IACNlX,KAAQ/c,EACVA,EAAO+c,GAAMjrB,KAAKgX,GAElB9I,EAAO+c,GAAQ,IAAIhM,MAAMjI,GAG/B,IAEA,IADA,IAAIkhD,EAAM,GACD/vD,EAAK,EAAGgwD,EAAkB14D,OAAOuhD,QAAQ9yC,GAAS/F,EAAKgwD,EAAgB/3D,OAAQ+H,IAAM,CAC5F,IAAIiwD,GAAqB,QAAeD,EAAgBhwD,GAAK,GAC3DrH,EAAMs3D,EAAmB,GACzBr3D,EAAQq3D,EAAmB,GAC7BF,EAAIl4D,MAAK,OAAgB,CAAC,EAAGc,GAAK,OAAmBC,IACvD,CACA,OAAOm3D,CACT,CAgJ0BG,CAAYhB,EAAah4C,EAAM4L,YAG/C4rC,EAAcQ,EAEhB,CAEFR,EAAc,GAChB,CACAyB,EACF,GAAG,CAACn6C,aAAuD,EAASA,EAAenD,iBAAkBy7C,KAGrG,IAAA7jC,YAAU,WACR,GAAKuhC,GAOE,GAAIA,EAAc,CACvB,IAAIoE,EAAc90D,SAASqyB,cAAc,eACrCyiC,IACFA,EAAYxlC,UAAU3K,OAAO,gBAC7BmwC,EAAYxlC,UAAU3K,OAAO,cAEjC,MAbmB,CACjB,IAAIowC,EAAiB/0D,SAASqyB,cAAc,iBACxC0iC,IACFA,EAAezlC,UAAU3K,OAAO,gBAEhCowC,EAAezlC,UAAU3K,OAAO,cAEpC,CAOF,GAAG,CAAC+rC,IACJ,IAsFIsE,EAAmB,SAA0BpzD,GAC/C,OAAU,MAANA,EACK,KAEFoxD,EAAc1hD,MAAK,SAAUiC,GAClC,OAAOA,EAAK3R,IAAMA,CACpB,GACF,EACIqzD,EAAoB,WACtB,IAAIC,EACAx2B,EACFtW,EAAMxM,EAAM4L,KACd,OAAuC,QAA9B0tC,EAAct5C,EAAMo1C,YAAkC,IAAhBkE,EAAyBA,EAAc,QACpF,IAAK,SACL,IAAK,MACHx2B,EAAQ,KAAO9iB,EAAM4L,MAAM/T,OAAO,cAClC2U,EAAM,KAAOxM,EAAM4L,MAAMhU,IAAI,EAAG,QAAQC,OAAO,cAC/C,MACF,IAAK,YACHirB,EAAQ,KAAO9iB,EAAM4L,MAAM2tC,WAAW,GAAG1hD,OAAO,cAChD2U,EAAM,KAAOxM,EAAM4L,MAAM2tC,WAAW,KAAK1hD,OAAO,cAChD,MACF,IAAK,OACHirB,EAAQ,KAAO9iB,EAAM4L,MAAM2tC,WAAW,GAAG1hD,OAAO,cAChD2U,EAAM,KAAOxM,EAAM4L,MAAM2tC,WAAW,GAAG1hD,OAAO,cAC9C,MACF,IAAK,QACHirB,EAAQ,KAAO9iB,EAAM4L,MAAM8e,QAAQ,SAASnf,IAAI,CAC9CgkB,KAAM,EACNC,OAAQ,EACRmpB,OAAQ,IACP9gD,OAAO,cAAe2U,EAAM,KAAOxM,EAAM4L,MAAMG,MAAM,SAASR,IAAI,CACnEgkB,KAAM,GACNC,OAAQ,GACRmpB,OAAQ,KACP9gD,OAAO,cAKd,MAAO,CACLirB,MAAOA,EACPtW,IAAKA,EAET,GAuEA,IAAA+G,YAAU,WACR,IAAIimC,EAAqBH,IACvBv2B,EAAQ02B,EAAmB12B,MAC3BtW,EAAMgtC,EAAmBhtC,IACX,KAAOsW,GAAO4H,QAAQ,OAAO7yB,OAAO,uBACtC,KAAO2U,GAAKT,MAAM,OAAOlU,OAAO,uBAG3B,MAAf8/C,GACFlqC,aAAakqC,GAEfC,EAAexyD,YAAW,WjKlaU,IAAoCkC,EAAWmyD,EAAWC,EiKma5FxC,GAAa,GACbl3C,EAAM25C,oBAAmB,GACzBz3D,QAAQurC,IAAI,CAACvN,GjKrayD54B,EiKqarByI,EAAc/J,GjKrakByzD,EiKqad32B,EjKrayB42B,EiKqalBltC,EjKpavE,CACLjlB,KAAMiI,GACNhI,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,cAAc5I,OAAO+6D,EAAW,KAAK/6D,OAAOg7D,IAAUp3D,MAAK,SAAUe,GACtHlB,EAAQkB,EAAS8B,KACnB,GACF,SiK8ZoF7C,MAAK,WACrF40D,GAAa,GACbl3C,EAAM25C,oBAAmB,EAC3B,GACF,GAAG,KACL,GAAG,CAAC35C,EAAM4L,KAAM5L,EAAMo1C,OACtB,IAAIwE,EAAqBP,IACvBv2B,EAAQ82B,EAAmB92B,MAC3BtW,EAAMotC,EAAmBptC,IACvBqtC,EA7FgB,WAClB,IAAI33B,EAAM,OAAS3W,IAAI,CACrBgkB,KAAM,EACNC,OAAQ,IACPnF,SACCpI,EAAM,OAAS1W,IAAI,CACrBgkB,KAAM,GACNC,OAAQ,IACPnF,SACH,GAAqB,MAAjB+sB,IAA0BA,aAAqD,EAASA,EAAcr2D,QAAU,EAAG,CACrH,IAAImX,GAAQ,OAAmBk/C,GAC/Bl/C,EAAMvO,MAAK,SAAUC,EAAGC,GACtB,IAAIiwD,EAAQ,SAAWlwD,EAAE4U,WAAW2R,UAA8C,GAAlC,SAAWvmB,EAAE4U,WAAWyR,QACpE8pC,EAAQ,SAAWlwD,EAAE2U,WAAW2R,UAA8C,GAAlC,SAAWtmB,EAAE2U,WAAWyR,QACxE,OAAO6pC,EAAQC,EAAQ,EAAIA,EAAQD,GAAS,EAAI,CAClD,IACA,IAAIE,EAAU5C,EAAcvX,QAAO,SAAU78C,EAAMgF,GACjD,IAAIiyD,EAAM,OAAS1uC,IAAI,CACrB4E,QAAS,SAAWnoB,EAAQwW,WAAWtV,QAAQinB,UAC/CF,MAAO,SAAWjoB,EAAQwW,WAAWtV,QAAQ+mB,UAM/C,OAJW,OAAS1E,IAAI,CACtB4E,QAAS,KAAOntB,EAAKwb,WAAW2R,UAChCF,MAAO,SAAWjtB,EAAKwb,WAAWtV,QAAQ+mB,UAEhC/lB,OAAS+vD,EAAI/vD,OAASlH,EAAOgF,CAC3C,IACI4jB,EAAO,OAASsuC,MAChBC,EAAS,SAAWjiD,EAAM,GAAGsG,WAAW+M,IAAI,CAC9CikB,OAAQ,EACR5jB,KAAMA,EAAKA,SACV1iB,QACCkxD,EAAO,SAAWJ,EAAQx7C,WAAW+M,IAAI,CAC3CikB,OAAQ,EACR5jB,KAAMA,EAAKA,SACV1iB,QAAQ0O,IAAIoiD,EAAQj5D,OAAQ,WAC3B8mC,EAAOuyB,EAAKvyB,KAAKsyB,EAAQ,SAC7Bj4B,EAAMi4B,EAAO9vB,SACbpI,EAAMm4B,EAAK/vB,SACN,KAAO+vB,GAAMxiD,IAAI,EAAG,SAASiU,OAAOsuC,EAAQ,OAGtCtyB,EAAO,IAChB3F,EAAMi4B,EAAOzuC,SAAS,EAAG,QAAQ2e,SACjCpI,EAAMm4B,EAAKxiD,IAAI,EAAG,SAASyyB,WAJ3BpI,EAAMm4B,EAAK7uC,IAAI,SAAU,IAAI8e,SAC7BpI,EAAMm4B,EAAK7uC,IAAI,OAAQ,IAAI8e,SAK/B,CACA,MAAO,CACLnI,IAAKA,EACLD,IAAKA,EAET,CA0CqBo4B,GACnBn4B,EAAM23B,EAAe33B,IACrBD,EAAM43B,EAAe53B,IACvB,OAAoB,gBAAoB,MAAO,CAC7C9gB,UAAW,eACM,MAAhB2zC,EAAoC,gBAAoBr4B,GAAO,CAChEpjB,MAA4B,cAArBy7C,EAAavtD,KAAuBwmB,EAAU,cAAsC,YAAtB+mC,EAAavtD,KAAqBwmB,EAAU,WAAmC,mBAAtB+mC,EAAavtD,KAA4BwmB,EAAU,kBAAoBA,EAAU,UAC/MxL,QAAQ,EACRkV,gBAAgB,EAChBC,QAAS,WACP,OAAOy/B,EAAgB,KACzB,GACc,gBAAoBmD,GAAmB,CACrDxF,aAAcA,EACdrb,QAAS,WACP,OAAO0d,EAAgB,KACzB,KACI,KAAmB,gBAAoB,GAAkB,CAC7Dr0B,MAAOA,EACPtW,IAAKA,EACL6oC,UAAWA,EACXD,KAAMp1C,EAAMo1C,OACG,gBAAoB,MAAU,CAC7C4B,UAAWA,EACXzkB,OA5VmB,UAAfvyB,EAAMo1C,KACDmC,EAAWr6C,KAAI,SAAUvF,GAC9B,IAAK,IAAIlO,EAAM,EAAG8wD,EAAmBn6D,OAAOuhD,QAAQhqC,GAAOlO,EAAM8wD,EAAiBx5D,OAAQ0I,IAAO,CAC/F,IAAI+wD,EACAC,GAAsB,QAAeF,EAAiB9wD,GAAM,GAC9DhI,EAAMg5D,EAAoB,GAC1B/4D,EAAQ+4D,EAAoB,GAC1BzyB,OAAQ,EAIZ,OAHIpoB,MAAM8E,QAAQhjB,KAChBsmC,EAAQ8vB,EAAgBp2D,IAEnB,CACLsE,GAAIvE,EACJ4X,MAAO5X,EAAI8D,WACXxE,OAA6B,QAApBy5D,EAASxyB,SAA8B,IAAXwyB,EAAoBA,EAAS,KAClE13B,MAAO,SAAWrhC,GAAK8pB,IAAI,CACzBotC,OAAQ,EACR+B,YAAa,IACZxxD,QAAQmhC,SACX7d,IAAK,SAAW/qB,GAAK8pB,IAAI,CACvBotC,OAAQ,EACR+B,YAAa,IACZxxD,QAAQ0O,IAAI,GAAI,WAAWyyB,SAElC,CACF,IAEKktB,EAAWr6C,KAAI,SAAUvF,GAC9B,MAAO,CACL3R,GAAI2R,EAAK3R,GACTqT,MAAO1B,EAAK0B,MACZypB,MAAO,SAAWnrB,EAAK6G,WAAW+M,IAAI,CACpCotC,OAAQ,IACPzvD,QAAQmhC,SACX7d,IAAK,SAAW7U,EAAK6G,WAAW+M,IAAI,CAClCotC,OAAQ,IACPzvD,QAAQ0O,IAAID,EAAK5W,OAAQ,WAAWspC,SAE3C,IAuTAswB,gBAzPmB,SAAwBz2D,EAAO4+B,EAAOtW,EAAKs5B,GAC9D,IAAI8U,EACAz5C,EAAY,GACZE,EAAQ,CAAC,EACb,GAAkB,SAAdrB,EAAMo1C,KAGR,OAFA/zC,EAAMqE,gBAAkB,mBACxBrE,EAAMwB,MAAQ,QAGhB,IAAIgxC,EAASuF,EAAiBl1D,EAAM8B,IAChC8O,EAAa++C,aAAuC,EAASA,EAAO/+C,WACpEwhD,GAAiB,GACjBt2C,EAAM66C,sBACsE,kCAAzEhH,aAAuC,EAASA,EAAOkE,eAA8H,iCAAzElE,aAAuC,EAASA,EAAOkE,eAAmDlE,SAAwCA,EAAOiH,eACxQxE,GAAiB,IAKhBzC,SAA2F,QAAlD+G,EAAwB/G,EAAOrpC,qBAAqD,IAA1BowC,OAAmC,EAASA,EAAsB75D,QAAU,GAAKif,EAAM66C,uBAC7KhH,EAAOrpC,cAAchqB,QAAO,SAAUihB,GACpD,MAAkE,kCAA1DA,aAA6B,EAASA,EAAEs2C,eAA+G,iCAA1Dt2C,aAA6B,EAASA,EAAEs2C,aAC/I,IACch3D,OAAS,IACrBu1D,GAAiB,IAGrB,MAAsE,gBAAjEzC,aAAuC,EAASA,EAAOtsD,OAC1D4Z,GAAa,aACTm1C,GAAkBt2C,EAAM66C,sBAC1B15C,GAAa,mBAER,CACLA,UAAWA,EACXE,MAAOA,IAEkE,aAAjEwyC,aAAuC,EAASA,EAAOtsD,MAE1D,CACL4Z,UAFFA,GAAa,UAGXE,MAAOA,GAEkE,oBAAjEwyC,aAAuC,EAASA,EAAOtsD,MAE1D,CACL4Z,UAFFA,GAAa,gBAGXE,MAAOA,IAGPi1C,GAAkBt2C,EAAM66C,sBAC1B15C,GAAa,mBAEXnB,SAAsCA,EAAMjQ,cAAcmO,SAASpJ,YAA4B,MAAdA,GACnFqM,GAAa,cACoB,WAA7BrM,EAAWw7C,gBACK,UAAdtwC,EAAMo1C,OACRj0C,GAAa,oBAGbrM,EAAWw7C,eAAevyD,QAAQ,UAAY,IAChDsjB,EAAM8B,gBAAkB,UACN,UAAdnD,EAAMo1C,OACR/zC,EAAMqE,gBAAkB,YAGxB5Q,EAAWw7C,eAAevyD,QAAQ,YAAc,IAClDsjB,EAAM8B,gBAAkB,UACN,UAAdnD,EAAMo1C,OACR/zC,EAAMqE,gBAAkB,aAIxB1F,SAAsCA,EAAMjQ,cAAcmO,SAASpJ,YAAwB,MAAV++C,GAA+C,MAA7BA,EAAO8C,oBAC5Gx1C,GAAa,cACK,UAAdnB,EAAMo1C,OACR/zC,EAAMqE,gBAAkB,YAG1BvE,GAAa,UAGV,CACLA,UAAWA,EACXE,MAAOA,GAEX,EAqKE05C,cAAe,QACfC,YAAa,MACbpvC,KAAoB,MAAd5L,EAAM4L,KAAe5L,EAAM4L,KAAKye,SAAW,OAASA,SAC1D+qB,KAAsC,QAA/B6B,EAAej3C,EAAMo1C,YAAmC,IAAjB6B,EAA0BA,EAAe,YACvFgE,MAAO,CAAC,YAAa,OAAQ,MAAO,QAAS,UAC7CppC,SAAS,EACTqQ,IAAKA,EACLD,IAAKA,EACL5P,QAAuB,SAAdrS,EAAMo1C,KAAkB/iC,GAAU,CACzC6oC,UAAW,SAAmBtvC,EAAMmrC,EAASC,GAC3C,OAAOA,EAAUn/C,OAAO+T,EAAM,WAAYmrC,GAAS53D,YACrD,GAEFwN,SAAU,CACRwuD,gBAA8B,gBAAoB,OAAQ,CACxD95C,MAAO,CACL+H,QAAS,SAEXjI,UAAW,yCACV4M,EAAU,2BAEfqtC,cAjFqB,SAA0Bl3D,GAC/C,IAAI2vD,EAASuF,EAAiBl1D,EAAM8B,IAChC8O,EAAa++C,aAAuC,EAASA,EAAO/+C,WACxE,OAAoB,gBAAoB,GAAa,CACnDoJ,SAAU8B,aAAqC,EAASA,EAAMjQ,cAAcmO,SAC5E21C,OAAQA,EACR3vD,MAAOA,EACP4Q,WAAYA,EACZsgD,KAAMp1C,EAAMo1C,MAEhB,EAwEEiG,cAzFkB,SAAuBvP,GACzC,IAAI+H,EAASuF,EAAiBtN,EAAK9lD,IACnC,GAAc,MAAV6tD,EACF,OAAO,EAETsD,EAAgBtD,EAClB,EAoFEyH,WAAY,CACVtf,MAAO,CACLlqB,OAAQ+kC,KAGZ0E,OAAQ,WACN,OAAO,CACT,EACAC,WAAY,WACV,OAAO,CACT,IAEJ,EChfA,SAdmB,SAAsBx7C,GACvC,OAAoB,gBAAoB,GAAAy7C,SAAU,CAChDtyC,QAAsB,gBAAoB,SAAU,CAClDhI,UAAW,sBACVnB,EAAM4M,MAAoB,gBAAoB,GAAArD,KAAM,CACrD3Q,KAAM,eACNyI,MAAO,CACLsE,WAAY,YAGF,gBAAoB,MAAO,CACzCxE,UAAW,qBACVnB,EAAMI,UACX,ECfO,IAOIs7C,GAAe,SAAsBv2D,EAAMqL,GACpD,MAAO,CACLjJ,KAAM,gBACNC,QAAS,CACPuX,QAAS5Z,EACTqL,IAAKA,GAGX,ECbA,SAAS,GAAQvQ,EAAGC,GAAK,IAAIC,EAAIC,OAAOC,KAAKJ,GAAI,GAAIG,OAAOE,sBAAuB,CAAE,IAAIC,EAAIH,OAAOE,sBAAsBL,GAAIC,IAAMK,EAAIA,EAAEC,QAAO,SAAUN,GAAK,OAAOE,OAAOK,yBAAyBR,EAAGC,GAAGQ,UAAY,KAAKP,EAAEQ,KAAKC,MAAMT,EAAGI,EAAI,CAAE,OAAOJ,CAAG,CAC9P,SAAS,GAAcF,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIY,UAAUC,OAAQb,IAAK,CAAE,IAAIC,EAAI,MAAQW,UAAUZ,GAAKY,UAAUZ,GAAK,CAAC,EAAGA,EAAI,EAAI,GAAQE,OAAOD,IAAI,GAAIa,SAAQ,SAAUd,IAAK,OAAgBD,EAAGC,EAAGC,EAAED,GAAK,IAAKE,OAAOa,0BAA4Bb,OAAOc,iBAAiBjB,EAAGG,OAAOa,0BAA0Bd,IAAM,GAAQC,OAAOD,IAAIa,SAAQ,SAAUd,GAAKE,OAAOe,eAAelB,EAAGC,EAAGE,OAAOK,yBAAyBN,EAAGD,GAAK,GAAI,CAAE,OAAOD,CAAG,CAQtb,IAAI07D,GAAoB,SAA2BC,GAIjD,OAHmBx7D,OAAO0T,OAAO8nD,GAAQp7D,QAAO,SAAUmX,GACxD,OAAgB,IAATA,CACT,IAAG5W,MAEL,EACI86D,GAAoB,SAA2B12D,GACjD,IAAI22D,EAAc32D,aAAmC,EAASA,EAAKpE,OAKnE,OAJAoE,EAAKnE,SAAQ,SAAU6kB,GACrB,IAAIk2C,EACJl2C,EAAQm2C,QAAUF,GAAwD,QAAxCC,EAAmBl2C,EAAQm2C,eAA0C,IAArBD,OAA8B,EAASA,EAAiBh7D,OAAS+6D,GAAe,CACpK,IACOA,CACT,EAkMA,SAjMqB,SAAwB97C,GAC3C,IAAIi8C,EACA/wB,EAAWlrB,EAAMkrB,SACnBgxB,EAAgBl8C,EAAMk8C,cACtBhoB,EAASl0B,EAAMk0B,OACf9I,EAAaprB,EAAMorB,WACnBgiB,EAAaptC,EAAMotC,WACnB+O,EAAUn8C,EAAMm8C,QAChB9wB,EAAUrrB,EAAMqrB,QAChB+wB,EAAYp8C,EAAMo8C,UAClBC,EAAkBr8C,EAAMq8C,gBACtBn8B,GAAW,UACXnS,GAAY,iBAAa,SAAY,SAAUplB,GACjD,OAAOA,EAAMiW,UAAUtE,YACzB,KACIwE,GAAiB,SAAY,SAAUnW,GACzC,OAAOA,EAAMmW,cACf,IACI4oC,GAAY,IAAAC,UAAS,CAAC,CACtB3hD,GAAI,SACJtE,MAAO,WACN,CACDsE,GAAI,aACJtE,MAAO,cACPs6D,QAAS,IACR,CACDh2D,GAAI,gBACJtE,MAAO,kBACPs6D,QAAS,IACR,CACDh2D,GAAI,UACJtE,MAAO,WACPs6D,QAAS,MAGXM,GADa,QAAe5U,EAAW,GAClB,GAYnB6U,EAAe,SAAsBC,EAASr3D,EAAMyT,EAAM6jD,GAC5D,IAAIjsD,EAAM,CAAC,EACX,GAAIgsD,EAAS,CACX,IAAK,IAAI9xC,EAAI,EAAGA,EAAIvlB,EAAKpE,OAAQ2pB,IAC/Bla,EAAIrL,EAAKulB,GAAG1kB,KAAM,EAEfy2D,IACHjsD,EAAIoI,IAAQ,EAEhB,KAAO,CACL,IAAK,IAAI9P,EAAK,EAAGA,EAAK3D,EAAKpE,OAAQ+H,IACjC0H,EAAIrL,EAAK2D,GAAI9C,KAAM,EAEhBy2D,IACHjsD,EAAIoI,IAAQ,EAEhB,CACA,GAAI6jD,EACF,OAAOjsD,EAET0vB,EAASw7B,IAAa,EAAOlrD,GAC/B,GACA,IAAA+iB,YAAU,WAEIooC,GAAkB78C,aAAuD,EAASA,EAAenD,oBACnGkgD,GAAkBS,IAE1Bp8B,EAASw7B,IAAa,EAAM58C,EAAenD,kBAE/C,GAAG,CAACmD,EAAenD,oBAGnB,IAAA4X,YAAU,WACoH,IAAxHnzB,OAAOC,KAAKye,aAAuD,EAASA,EAAenD,kBAAkB5a,QAC/G27D,GAAa,EAAMJ,EAEvB,GAAG,CAACA,IACJ,IAAII,EAAe,SAAsBF,EAASG,EAAS9tD,GACzD,GAAI2tD,EAAJ,CAEE,IADA,IAAIhsD,EAAM,CAAC,EACFka,EAAI,EAAGA,EAAIiyC,EAAQ57D,OAAQ2pB,IAAK,CAIrC,IAAIkyC,EAHN,GAAI/tD,EACF2B,EAAImsD,EAAQjyC,GAAGrR,QAAS,OAIxB,GADA7I,EAAImsD,EAAQjyC,GAAG1kB,KAAM,GAC8B,QAA7C42D,EAAqBD,EAAQjyC,GAAGsxC,eAA4C,IAAvBY,OAAgC,EAASA,EAAmB77D,QAAU,EAAG,CAClI,IAAIq2C,EAAMulB,EAAQjyC,GAAGsxC,QACjBa,EAAYN,GAAa,EAAMnlB,EAAK,GAAG,GAC3C5mC,EAAM,GAAc,GAAc,CAAC,EAAGA,GAAMqsD,EAC9C,CAEJ,CACA38B,EAASw7B,IAAa,EAAMlrD,GAE9B,MACA0vB,ED7HK,CACL34B,KAAM,gBC6HR,EACA,OAAoB,gBAAoB,MAAO,CAC7C4Z,UAAW,mBACV+pB,EAAwB,gBAAoB,GAAA3hB,KAAM,CACnD3Q,KAAM,aACH,KAAMsyB,EAAwB,gBAAoB,OAAQ,CAC7D7pB,MAAO,CACLkb,YAAa,YAEdxO,EAAU,6BAA+B,KAAMmuC,IAA8B,gBAAoB,MAAO,CACzG/6C,UAAW,gCACG,gBAAoB,GAAA6U,OAAQ,CAC1CzuB,KAAM,YACN8Z,MAAO,CACLsE,WAAY,EACZ4W,YAAa,SAEfra,QAASgyB,EACTtjB,SAAUyrC,GACTjxB,GAAW,GAAQ,KAAsB,gBAAoB,GAAApV,OAAQ,CACtEzuB,KAAM,YACNqpB,SAAUurC,GAAWE,EACrBh7C,MAAO,CACLkb,YAAa,QACb5W,WAAY,GAEdzD,QAASmpB,GACRtd,EAAU,UAAwB,gBAAoB,GAAAiI,OAAQ,CAC/DzuB,KAAM,YACN8Z,MAAO,CACLsE,WAAY,GAEdzD,QAASk6C,EACTxrC,SAAUyrC,GACTjxB,GAAW,GAAO,KAAsB,gBAAoB,MAAO,CACpE/pB,MAAO,CACLsE,WAAY,UAEbulB,GAAiD,QAAlC+wB,EAAgBa,oBAA4C,IAAlBb,GAA4BA,EAAcc,YAKtE,KALkG,gBAAoB,GAAA/mC,OAAQ,CAC5J9T,QAASkrC,EACT7lD,KAAM,aACQ,gBAAoB,GAAAgiB,KAAM,CACxC3Q,KAAM,SACJ,IAAKmV,EAAU,aAAqB/N,EAAM66C,oBAAmC,gBAAoB,MAAO,CAC1G15C,UAAW,cACG,gBAAoB,MAAO,CACzCA,UAAW,oBACG,gBAAoB,OAAQ,CAC1CA,UAAW,mBACV4M,EAAU,sBAAoC,gBAAoB,GAAc,CACjFnB,MAAO,GAAGluB,OAAOqvB,EAAU,cAAe,KAAKrvB,OAAOi9D,GAAkB78C,aAAuD,EAASA,EAAenD,kBAAmB,KAAKjd,OAAOqvB,EAAU,MAAO,KAAKrvB,OAAOm9D,GAAkBS,KACvN,gBAAoB,GAAA/iC,SAAU,CAC5C73B,MAAOod,EAAepD,UACtBgH,SAAU,SAAkBhhB,GAC1B,OAAOg7D,EAAah7D,EAAO46D,EAC7B,EACA1vC,MAAOmB,EAAU,gBACF,gBAAoB,KAAM,CACzC5M,UAAW,eACVm7C,EAAQp/C,KAAI,SAAUvF,GACvB,IAAIqlD,EACJ,OAA2C,QAAlCA,EAAgBrlD,EAAKqkD,eAAuC,IAAlBgB,OAA2B,EAASA,EAAcj8D,QAAU,EAAiB,gBAAoB,GAAY,CAC9JU,IAAKkW,EAAK3R,GACVid,cAAe,CACbqU,QAAS,GAEXpU,oBAAqB,CACnBoU,QAAS,KAEXtU,aAAc,CACZuP,OAAQ,QAEVlZ,MAAoB,gBAAoB,GAAAkgB,SAAU,CAChD73B,MAAOod,EAAenD,iBAAiBhE,EAAK3R,IAC5C0c,SAAU,SAAkBhhB,GAC1B,OAAO66D,EAAa76D,EAAOiW,EAAKqkD,QAASrkD,EAAK3R,GAChD,EACA4mB,MAAOmB,EAAUpW,EAAKjW,WAER,gBAAoB,GAAA63B,SAAU,CAC9C93B,IAAKkW,EAAK3R,GACVtE,MAAOod,EAAenD,iBAAiBhE,EAAK3R,IAC5C0c,SAAU,SAAkBhhB,GAC1B,OArJuC86D,EAqJjB96D,EArJ0BkX,EAqJnBjB,EAAK3R,GApJlCwK,EAAM,CAAC,EAETA,EADE+kB,GACI,QAAgB,OAAgB,CAAC,EAAGA,GAAU,GAAQ3c,EAAM4jD,IAE5D,OAAgB,CAAC,EAAG5jD,EAAM4jD,QAElCt8B,EAASw7B,IAAa,EAAOlrD,IAPV,IAAwBgsD,EAAS5jD,EAAc2c,EAC9D/kB,CAqJF,EACAoc,MAAOmB,EAAUpW,EAAKjW,QAE1B,QAAS,KACX,EChNA,SAAS,GAAWvB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAI88D,GAAwB,SAAUx9C,GACpC,SAASw9C,EAASj9C,GAChB,IAAIjc,GACJ,OAAgB3E,KAAM69D,GACtBl5D,EAAQ,GAAW3E,KAAM69D,EAAU,CAACj9C,KACpC,OAAgBjc,EAAO,qBAAqB,WAC1CA,EAAMm5D,YAAct/D,OAAO4oB,iBAAiB,SAAUulB,GAAShoC,EAAM6vB,OAAQ,KAAK,IAClF7vB,EAAM6vB,SACN7vB,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,YACjD,KACA,OAAgBhqB,EAAO,wBAAwB,WACpB,MAArBA,EAAMm5D,aACRt/D,OAAOgpB,oBAAoB,SAAU7iB,EAAMm5D,YAE/C,KACA,OAAgBn5D,EAAO,eAAe,WACpC,OAAOnG,OAAOm5B,YAAcn5B,OAAOu/D,UACrC,KACA,OAAgBp5D,EAAO,UAAU,WACI,cAA/BA,EAAMic,MAAMjJ,gBAAkChT,EAAMq5D,cACtDr5D,EAAMye,SAAS,CACb66C,QAAQ,IAGEj5D,SAASsyB,KAAKwR,aACbnkC,EAAMu5D,WACZv5D,EAAM4E,MAAM00D,QACft5D,EAAMye,SAAS,CACb66C,QAAQ,IAIRt5D,EAAM4E,MAAM00D,QACdt5D,EAAMye,SAAS,CACb66C,QAAQ,GAKlB,KACA,OAAgBt5D,EAAO,WAAW,SAAUG,GACtCH,EAAM4E,MAAMpB,MAAQrD,EAAM+G,OAAOvJ,QACnCG,aAAa8C,QAAQ,uBAAwBT,EAAM+G,OAAOvJ,OAC1DqC,EAAMye,SAAS,CACbjb,KAAMrD,EAAM+G,OAAOvJ,QAGzB,KACA,OAAgBqC,EAAO,sBAAsB,SAAUrC,GACrDqC,EAAMye,SAAS,CACb65C,gBAAiB36D,GAErB,KACA,OAAgBqC,EAAO,UAAuB,OAAgC,UAAyB,SAASX,IAC9G,IAAImE,EACJ,OAAO,UAAyB,SAAkBhE,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAKH,GAJAsE,EAAOxD,EAAM4E,MAAMpB,KACfxD,EAAM4E,MAAM00D,SACd91D,EAAO,OAEK,SAARA,EAAkB,CACtBhE,EAASN,KAAO,EAChB,KACF,CAEA,OADAM,EAASN,KAAO,EACTc,EAAMye,SAAS,CACpBoJ,KAAM,KAAO7nB,EAAM4E,MAAMijB,MAAMF,SAAS,EAAG,WAE/C,KAAK,EACHnoB,EAASN,KAAO,GAChB,MACF,KAAK,EACH,GAAc,QAARsE,GAA0B,aAARA,EAAsB,CAC5ChE,EAASN,KAAO,GAChB,KACF,CAEA,OADAM,EAASN,KAAO,GACTc,EAAMye,SAAS,CACpBoJ,KAAM,KAAO7nB,EAAM4E,MAAMijB,MAAMF,SAAS,EAAG,UAE/C,KAAK,GACHnoB,EAASN,KAAO,GAChB,MACF,KAAK,GAEH,OADAM,EAASN,KAAO,GACTc,EAAMye,SAAS,CACpBoJ,KAAM,KAAO7nB,EAAM4E,MAAMijB,MAAMF,SAAS,EAAG,SAE/C,KAAK,GACHjU,GAAmB,uBAAwB1T,EAAM4E,MAAMijB,KAAK/T,UAC9D,KAAK,GACL,IAAK,MACH,OAAOtU,EAASI,OAEtB,GAAGP,EACL,OACA,OAAgBW,EAAO,aAA0B,OAAgC,UAAyB,SAASjB,IACjH,IAAIyE,EACJ,OAAO,UAAyB,SAAmBxE,GACjD,cAAkBA,EAAUC,KAAOD,EAAUE,MAC3C,KAAK,EAKH,GAJAsE,EAAOxD,EAAM4E,MAAMpB,KACfxD,EAAM4E,MAAM00D,SACd91D,EAAO,OAEK,SAARA,EAAkB,CACtBxE,EAAUE,KAAO,EACjB,KACF,CAEA,OADAF,EAAUE,KAAO,EACVc,EAAMye,SAAS,CACpBoJ,KAAM,KAAO7nB,EAAM4E,MAAMijB,MAAMhU,IAAI,EAAG,WAE1C,KAAK,EACH7U,EAAUE,KAAO,GACjB,MACF,KAAK,EACH,GAAc,QAARsE,GAA0B,aAARA,EAAsB,CAC5CxE,EAAUE,KAAO,GACjB,KACF,CAEA,OADAF,EAAUE,KAAO,GACVc,EAAMye,SAAS,CACpBoJ,KAAM,KAAO7nB,EAAM4E,MAAMijB,MAAMhU,IAAI,EAAG,UAE1C,KAAK,GACH7U,EAAUE,KAAO,GACjB,MACF,KAAK,GAEH,OADAF,EAAUE,KAAO,GACVc,EAAMye,SAAS,CACpBoJ,KAAM,KAAO7nB,EAAM4E,MAAMijB,MAAMhU,IAAI,EAAG,SAE1C,KAAK,GACHH,GAAmB,uBAAwB1T,EAAM4E,MAAMijB,KAAK/T,UAC9D,KAAK,GACL,IAAK,MACH,OAAO9U,EAAUY,OAEvB,GAAGb,EACL,OACA,OAAgBiB,EAAO,WAAwB,OAAgC,UAAyB,SAASkqC,IAC/G,OAAO,UAAyB,SAAmBN,GACjD,cAAkBA,EAAU3qC,KAAO2qC,EAAU1qC,MAC3C,KAAK,EAEH,OADA0qC,EAAU1qC,KAAO,EACVc,EAAMye,SAAS,CACpBoJ,KAAM,SAEV,KAAK,EACHnU,GAAmB,uBAAwB1T,EAAM4E,MAAMijB,KAAK/T,UAC9D,KAAK,EACL,IAAK,MACH,OAAO81B,EAAUhqC,OAEvB,GAAGsqC,EACL,OACA,OAAgBlqC,EAAO,iBAAiB,WACtC,GAAIA,EAAM4E,MAAM00D,OACd,OAAO,KAET,IAAItvC,EAAYhqB,EAAMic,MAAM+N,UACxBxmB,EAAOxD,EAAM4E,MAAMpB,KACvB,OAAoB,gBAAoB,MAAO,CAC7C4Z,UAAW,UACG,gBAAoB,SAAU,CAC5Czf,MAAO6F,EACPmb,SAAU3e,EAAMw5D,QAChB3sC,SAAU7sB,EAAM4E,MAAM0zD,iBACR,gBAAoB,SAAU,CAC5C36D,MAAO,OACNqsB,EAAU,QAAsB,gBAAoB,SAAU,CAC/DrsB,MAAO,aACNqsB,EAAU,cAA4B,gBAAoB,SAAU,CACrErsB,MAAO,QACNqsB,EAAU,SAAUhqB,EAAMic,MAAMjQ,cAAcmO,SAASrJ,iBAAgC,gBAAoB,SAAU,CACtHnT,MAAO,SACNqsB,EAAU,UAAY,KAAmB,gBAAoB,SAAU,CACxErsB,MAAO,UACNqsB,EAAU,YACf,KACA,OAAgBhqB,EAAO,cAAc,SAAUymC,GAC7C,OAAoB,gBAAoB,IAAK,CAC3CrpB,UAAW,gBACG,gBAAoB,MAAO,CACzCK,MAAO,6BACPwhB,SAAU,WACV7hB,UAAWqpB,EAAO,OAAS,OAC3BnpB,MAAO,CACLsH,OAAQ,OACRvD,MAAO,OACPoV,OAAQ,IAEI,gBAAoB,OAAQ,CAC1Cx0B,GAAI,UACJ,YAAa,UACbmb,UAAW,QACX/E,EAAG,kCAEP,IACArY,EAAMu5D,WAAa,IACnB,IAAIE,EAAQ,YACR5xC,EAAO,OAeX,OAdoD,MAAhD/pB,aAAagD,QAAQ,0BACvB24D,EAAQ37D,aAAagD,QAAQ,yBAEkB,MAA7CiT,GAAkB,0BACpB8T,EAAO,KAAO9T,GAAkB,0BAElC/T,EAAM4E,MAAQ,CACZpB,KAAMi2D,EACN5xC,KAAMA,EACNywC,iBAAiB,EACjBgB,OAAQj5D,SAASsyB,KAAKwR,aAAenkC,EAAMu5D,YAE7Cv5D,EAAMm5D,YAAc,KACpBn5D,EAAM05D,UAAY1xB,GAAShoC,EAAM6vB,OAAQ,IAAI,GACtC7vB,CACT,CAEA,OADA,QAAUk5D,EAAUx9C,IACb,OAAaw9C,EAAU,CAAC,CAC7Bx7D,IAAK,qBACLC,MAAO,SAA4B+kB,GACD,MAA5BA,EAAU1P,gBAAuD,MAA7B3X,KAAK4gB,MAAMjJ,gBAA0B0P,EAAU1P,iBAAmB3X,KAAK4gB,MAAMjJ,gBACnH3X,KAAKw0B,QAET,GACC,CACDnyB,IAAK,SACLC,MAAO,WACL,IAAIy6D,EAAU,OAAStwC,OAAOzsB,KAAKuJ,MAAMijB,KAAyB,QAAnBxsB,KAAKuJ,MAAMpB,KAAiB,OAAS,OAChFA,EAAOnI,KAAKuJ,MAAMpB,KAItB,OAHInI,KAAKuJ,MAAM00D,SACb91D,EAAO,OAEW,gBAAoB,MAAO,CAC7C4Z,UAAW,OACXE,MAAO,CACLkoB,cAAe,SAEH,gBAAoB,MAAO,CACzCpoB,UAAW/hB,KAAKuJ,MAAM00D,OAAS,0BAA4B,mBAC3Dh8C,MAAO,CACLmZ,OAAQ,EACRlD,QAAS,EACT/E,OAAQ,IAEI,gBAAoB,GAAgB,CAClD8Y,QAASjsC,KAAKisC,QACd8wB,QAASA,EACT/wB,WAAYhsC,KAAKgsC,WACjBF,SAAU9rC,KAAK4gB,MAAMkrB,SACrBgJ,OAAQ90C,KAAK80C,OACbkoB,UAAWh9D,KAAKg9D,UAChBF,cAAe98D,KAAK88D,cACpBrB,oBAAqBz7D,KAAK4gB,MAAMjQ,cAAcmO,SAASrJ,iBACvDwnD,gBAAiBj9D,KAAKuJ,MAAM0zD,kBACb,gBAAoB,IAAc,QAAS,CAC1DjH,KAAM7tD,EACNqkB,KAAMxsB,KAAKuJ,MAAMijB,KACjBivC,oBAAqBz7D,KAAK4gB,MAAMjQ,cAAcmO,SAASrJ,iBACvD8kD,mBAAoBv6D,KAAKu6D,oBACxBv6D,KAAK4gB,SACV,IAEJ,CA3Q4B,CA2Q1B,EAAAK,WAQF,UAAe,SAPf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCvK,cAAepH,EAAMsV,KAAKlO,cAC1BgH,eAAgBpO,EAAMsV,KAAKlH,eAE/B,GACwC,CACtCyB,aAAcA,IADhB,CAEGykD,ICrSH,SAAS,GAAW98D,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAElP,IAAI,GAA0B,SAAUsf,GACtC,SAAS6F,IAEP,OADA,OAAgBlmB,KAAMkmB,GACf,GAAWlmB,KAAMkmB,EAAYxkB,UACtC,CAEA,OADA,QAAUwkB,EAAY7F,IACf,OAAa6F,EAAY,CAAC,CAC/B7jB,IAAK,SACLC,MAAO,WACL,IAAIof,EAAc1hB,KAAK4gB,MACrB6C,EAAQ/B,EAAY+B,MACpB0C,EAAUzE,EAAYyE,QACxB,OAAoB,gBAAoB,MAAO,CAC7CpE,UAAW,MACX1f,IAAKrC,KAAK4gB,MAAMve,KACF,gBAAoB,MAAO,CACzC0f,UAAW,cACXE,MAAO,CACLqE,gBAAiB7C,GAEnB,eAAgB0C,IACD,gBAAoB,OAAQ,CAC3CpE,UAAW,QACVoE,GACL,IAEJ,CA1B8B,CA0B5B,EAAAlF,WACF,YCuRA,SApTsB,SAAyBL,GAC7C,IAAI09C,EA4LEC,EA3LF5vC,EAAY43B,KACZqB,EAAWhnC,EAAMgnC,SACnB4W,EAAQ59C,EAAM49C,MACZpiD,EAAaoiD,EAAMC,IAAI/sC,YAAYgtC,QAAQ,cAW3CC,EAAa,SAAoBt5C,GACnC,GAAyB,aAArBA,EAAI9J,cAA8B,CACpC,IAgBMqjD,EAIEC,EApBJC,EAAW,KACXC,GAAiB,EAcrB,GAbAnX,EAAStlD,MAAMkoD,QAAQ5oD,SAAQ,SAAUo9D,GACvCA,EAAQ/c,OAAOzb,cAAc5kC,SAAQ,SAAUq9D,GAC7C,IAAIC,EAAcD,EAAWhrC,KAAK3d,MAAK,SAAU6rC,GAC/C,OAAOA,EAAKv7C,IAAMye,EAAI/J,WACxB,IACmB,MAAf4jD,IACEF,EAAQ/c,OAAOgF,qBACjB8X,GAAiB,GAEnBD,EAAW5xD,KAAKyL,MAAMzL,KAAKC,UAAU+xD,IAEzC,GACF,IACgB,MAAZJ,GAAoBC,EAEtB,GAEO,OAFyB,QAA1BH,EAAYE,SAAoC,IAAdF,OAAuB,EAASA,EAAUvc,MAAM/rC,MAAK,SAAU0oC,GACrG,MAAkB,KAAXA,EAAKp4C,EACd,KAE8B,QAA3Bi4D,EAAaC,SAAqC,IAAfD,GAAyBA,EAAWxc,MAAMjkC,QAAQ,CACpFM,KAAMiQ,EAAU,gBAChB/nB,GAAI,MAIV,OAAOk4D,CACT,CACA,GAAyB,qBAArBz5C,EAAI9J,cAAsC,CAC5C,IAAI4jD,EAKEC,EAJFC,EAAqD,QAAvCF,EAAmBvX,EAAStlD,aAAwC,IAArB68D,OAA8B,EAASA,EAAiBlrC,KAAK3d,MAAK,SAAU6rC,GAC3I,OAAOA,EAAKv7C,IAAMye,EAAI/J,WACxB,IACA,GAAkB,MAAd+jD,EAEFA,EAAWhd,MAAkD,QAAzC+c,EAAmBC,EAAWhd,aAAwC,IAArB+c,OAA8B,EAASA,EAAiB70D,MAAK,SAAUC,EAAGC,GAC7I,OAAOD,EAAEyZ,MAAQxZ,EAAEwZ,KACrB,IAEF,OAAOo7C,CACT,CACF,EAKIC,EAAkB,SAAyBj6C,GAC7C,GAAyB,aAArBA,EAAI9J,cAA8B,CACpC,IAAIgkD,EAAiB,KAWrB,OAVA3X,EAAStlD,MAAMkoD,QAAQ5oD,SAAQ,SAAUo9D,GACvCA,EAAQ/c,OAAOzb,cAAc5kC,SAAQ,SAAUq9D,GAI1B,MAHDA,EAAWhrC,KAAK3d,MAAK,SAAU6rC,GAC/C,OAAOA,EAAKv7C,IAAMye,EAAI/J,WACxB,MAEEikD,EAAiBN,EAErB,GACF,IACOM,CACT,CACA,OAAO,IACT,EAKIC,EAAuB,SAA8Bn6C,GACvD,GAA4B,MAAxBzE,EAAM6+C,eACR,MAAO,GAET,IAAIlmC,EAAQ3Y,EAAM6+C,eAAenpD,MAAK,SAAUopD,GAC9C,OAA2B,MAAvBA,EAAcp9D,OAGXo9D,EAAcp9D,MAAM2X,OAASoL,EAAIze,EAC1C,IACA,OAAa,MAAT2yB,EACK,GAEFA,EAAMj3B,MAAM2xB,IACrB,EAkDIozB,EAAY,SAAmBsY,GACjC,IAAIvY,GAAU,EAMd,GAL8B,kBAA1BQ,EAASrsC,gBACX6rC,EAEM,MAFIuY,EAAQtd,MAAM/rC,MAAK,SAAU0oC,GACrC,MAAoB,wBAAbA,EAAK72C,IACd,KAE4B,UAA1By/C,EAASrsC,cAA2B,CACtC,IAAIskC,EAAS+H,EAAStlD,MAAMkoD,QAAQl0C,MAAK,SAAUupC,GACjD,OAAOA,EAAOoC,OAAOzb,cAAclwB,MAAK,SAAU4rC,GAChD,OAAOA,EAAUjuB,KAAK3d,MAAK,SAAU+O,GACnC,OAAOA,EAAIze,IAAM+4D,EAAQ/4D,EAC3B,GACF,GACF,IACc,MAAVi5C,GAAmBA,EAAOoC,OAAOgF,qBACnCG,GAAU,EAEd,CACA,OAAO,IAAI,GAAWuY,EAAQtd,MAAM1gD,QAAQ0E,IAAI+gD,EAClD,EAgBIwY,EAA0BhY,EAASgY,wBACnCjY,EAAY,GACE,MAAdvrC,SAAsBA,GAAgDA,EAAWitC,sBAEnF1B,EAA0E,QAA7D4W,EAAyBniD,EAAWitC,2BAA4D,IAA3BkV,OAAoC,EAASA,EAAuBn9D,QAAO,SAAUm+C,GACrK,OAAOA,EAAS2I,uBAAyBN,EAAShhD,EACpD,KAEF,IAAyC,MAApCghD,EAASgY,yBAAwL,IAArF,QAA9DtB,EAAwB1W,EAASgY,+BAA+D,IAA1BtB,OAAmC,EAASA,EAAsB38D,UAAqC,GAApBgmD,EAAUhmD,OACpN,OAAO,KAET,IA9LMk+D,EA8LF5d,EAAS,KACb,GAA8B,UAA1B2F,EAASrsC,gBAEG,OADd0mC,EA/L8C,QAAtC4d,EAAkBjY,EAAStlD,aAAuC,IAApBu9D,GAA8E,QAA/CA,EAAkBA,EAAgBrV,eAAyC,IAApBqV,GAEpI,QAFmKA,EAAkBA,EAAgBvpD,MAAK,SAAUupC,GAC1N,OAAOA,EAAOC,UAAY8H,EAAStsC,WACrC,WAAoC,IAApBukD,OAA6B,EAASA,EAAgB5d,SA8LxB,MAAxBA,EAAOzb,eAC3B,OAAO,KAGX,IAAIs5B,EAAiB,SAAwBz6C,EAAK68B,EAAWsF,EAAwBiY,EAAgB/gB,GACnG,OAAoB,gBAAoB,EAAAvN,SAAU,CAChD9uC,IAAKgjB,EAAIze,IACK,gBAAoB,MAAO,CACzCmb,UAAW,UACG,MAAbmgC,EAAiC,gBAAoB,MAAO,KAAMA,EAAUgF,YAAa,IAAK7hC,EAAIiiC,YAAc,KAAmB,gBAAoB,MAAO,CAC/JvlC,UAAW,eACS,MAAnBsD,EAAIqnB,YAAsBrnB,EAAIqnB,YAAcrnB,EAAI3G,MAAoB,gBAAoB,MAAO,CAChGqD,UAAW,YACVsD,EAAIg9B,MAAMvkC,KAAI,SAAUkhC,EAAM/6B,GAC/B,IAAI2U,EAtCgB,SAA2BomB,EAAMwI,GACvD,IAAIuY,EACJ,OAAkB,MAAd3jD,GAMmB,OAHuD,QAA1D2jD,EAAwB3jD,EAAWqqC,yBAAyD,IAA1BsZ,OAAmC,EAASA,EAAsBzpD,MAAK,SAAUupC,GACrK,OAAOA,EAAOkC,QAAU/C,EAAKp4C,IAAMi5C,EAAOmgB,0BAA4BxY,EAAuB5gD,EAC/F,IAEF,CA6BmBq5D,CAAkBjhB,EAAMwI,GACvC,OAAoB,gBAAoB,MAAO,CAC7CzlC,UAAW6W,EAAW,gBAAkB,OACxC3W,MAAO,CACL,gBAAiBy8B,EAAOz6B,IAE1B5hB,IAAK28C,EAAKp4C,IACK,MAAdo4C,EAAK18C,MAAgB08C,EAAK18C,MAAQ08C,EAAKtgC,KAAmB,gBAAoB,GAAAyL,KAAM,CACrF3Q,KAAM,UAEV,MAAMimD,EAAe99D,OAAS,EAAiB,gBAAoB,MAAO,CACxEogB,UAAW,mCACG,gBAAoB,GAAa,CAC/CgI,QAAS4E,EAAU,mBAClB8wC,EAAe3hD,KAAI,SAAU4hD,GAC9B,OAAoB,gBAAoB,MAAO,CAC7C39C,UAAW,SACX1f,IAAKq9D,EAAc94D,IACL,gBAAoB,MAAO,CACzCmb,UAAW,eACV29C,EAAchzB,aAA2B,gBAAoB,MAAO,CACrE3qB,UAAW,YACV29C,EAAcrd,MAAMvkC,KAAI,SAAUkhC,GACnC,OAAoB,gBAAoB,MAAO,CAC7Cj9B,UAAW,OACX1f,IAAK28C,EAAKp4C,IACTo4C,EAAK18C,MACV,KACF,IAAiB,gBAAoB,MAAO,CAC1Cyf,UAAW,eACG,gBAAoB,GAAAoI,KAAM,CACxC3Q,KAAM,QACN6yC,IAAI,IACF,IAAK19B,EAAU,gHAAkH,KACvI,EACIuxC,EAAc,SAAqBC,GACrC,OAAuB35D,MAAhB25D,CACT,EACA,OAAoB,gBAAoB,GAAAv9C,WAAY,CAClD3I,MApJqB,SAA0B2tC,GAC/C,IAAIj5B,EAAY6vC,EAAMC,IAAI/sC,YAAYgtC,QAAQ,aAC1ChgD,EAAO,GAOX,MAN8B,kBAA1BkpC,EAASrsC,gBACXmD,EAAOiQ,EAAU,SAEW,UAA1Bi5B,EAASrsC,eAA+C,MAAlBqsC,EAAStlD,QACjDoc,EAA8B,MAAvBkpC,EAAStlD,MAAMqkC,KAAe,GAAGrnC,OAAOsoD,EAAStlD,MAAM2X,MAAO,KAAK3a,OAAOsoD,EAAStlD,MAAMqkC,MAAQihB,EAAStlD,MAAM2X,OAE3F,kBAA1B2tC,EAASrsC,cACS,gBAAoB,MAAO,CAC7CwG,UAAW,cACG,gBAAoB,MAAO,CACzCA,UAAW,+BACG,gBAAoB,OAAQ,KAAMrD,GAAOkC,EAAM1Q,QAAQvO,OAAS,EAAIif,EAAM1Q,QAAQ4N,KAAI,SAAUD,GAC9G,IAAIuiD,EACAnmD,EAA+G,OAAnE,QAAlCmmD,EAAgBviD,EAAOvb,aAAqC,IAAlB89D,OAA2B,EAASA,EAAcz5B,MAAgB,GAAGrnC,OAAOue,EAAOvb,MAAM2X,MAAO,KAAK3a,OAAOue,EAAOvb,MAAMqkC,MAAQ9oB,EAAOvb,MAAM2X,MACtM,OAAoB,gBAAoB,GAAqB,KAAmB,gBAAoB,GAAY,CAC9G5X,IAAKwb,EAAOvb,MAAMsE,GAClBuf,QAASlM,EACTwJ,MAAO5F,EAAOvb,MAAMskC,YAExB,IAAK,OAEa,gBAAoB,MAAO,CAC7C7kB,UAAW,cACVrD,EACL,CAyHS2hD,CAAiBzY,GACxBnkC,MArHqB,SAA0BmkC,GAC/C,MAA8B,kBAA1BA,EAASrsC,cACJ,UAEqB,UAA1BqsC,EAASrsC,eAA+C,MAAlBqsC,EAAStlD,MAC1CslD,EAAStlD,MAAMskC,UAEjB,MACT,CA6GS05B,CAAiB1Y,GACxBvkC,MAAM,EACN+kC,mBAAmB,GACQ,UAA1BR,EAASrsC,eAAuC,MAAV0mC,GAAkBA,EAAOzb,cAAc1oB,KAAI,SAAUokC,GAC5F,IAAIqe,EAAgBre,EAAUjuB,KAAKnW,KAAI,SAAUuH,GAC/C,OAAOu6C,EAAwBtpD,MAAK,SAAUkqD,GAC5C,OAAOA,EAAYllD,aAAe+J,EAAIze,EACxC,GACF,IACA,GAAqB,MAAjB25D,IAA0BA,EAAcE,MAAMP,GAChD,OAAoB,gBAAoB,MAAO,KAAyB,MAAnBhe,EAAUjoC,MAA6B,gBAAoB,MAAO,CACrH8H,UAAW,0BACVmgC,EAAUjoC,OAAS,KAA4B,MAAtBioC,EAAUiF,SAAgC,gBAAoB,MAAO,CAC/FplC,UAAW,6BACVmgC,EAAUiF,UAAY,KAAMjF,EAAUjuB,KAAKnW,KAAI,SAAUuH,GAC1D,IAAImiC,EAAyBoY,EAAwBtpD,MAAK,SAAUkqD,GAClE,OAAOA,EAAYllD,aAAe+J,EAAIze,EACxC,IACA,GAA8B,MAA1B4gD,EAAgC,CAGlC,GAFAniC,EAAMs5C,EAAWnX,GACjBtF,EAAYod,EAAgB9X,GACjB,MAAPniC,EACF,OAAO,KAET,IAAIo6C,EAAiBD,EAAqBn6C,GACtCq5B,EAAS2I,EAAUhiC,GACvB,OAAOy6C,EAAez6C,EAAK68B,EAAWsF,EAAwBiY,EAAgB/gB,EAChF,CACF,IAEJ,IAA8B,kBAA1BkJ,EAASrsC,eAAqCqkD,EAAwB9hD,KAAI,SAAU0pC,GACtF,IAAIniC,EAAMs5C,EAAWnX,GACjBtF,EAAYod,EAAgB9X,GAChC,GAAW,MAAPniC,EACF,OAAO,KAET,IAAIo6C,EAAiBD,EAAqBn6C,GACtCq5B,EAAS2I,EAAUhiC,GAEvB,OADey6C,EAAez6C,EAAK68B,EAAWsF,EAAwBiY,EAAgB/gB,EAExF,IAAiB,MAAbiJ,GAAqBA,EAAUhmD,OAAS,EAAiB,gBAAoB,MAAO,CACtFogB,UAAW,aACV4lC,EAAU7pC,KAAI,SAAUyhC,GACzB,OAAoB,gBAAoB,GAAa,CACnDl9C,IAAKk9C,EAAS34C,GACdmjB,QAAS4E,EAAU,YACnB/E,aAAa,GACC,gBAAoB,MAAO,CACzCxF,wBAAyB,CACvBC,OAAQk7B,EAAS7gC,QAGvB,KAAM,KACR,ECnTA,IAAIgiD,GAAsB,SAA6B9/C,GACrD,IAWMm/C,EAXFpxC,EAAY43B,KACZ2C,EAAOtoC,EAAMsoC,KAEb9sC,EADMwE,EAAM49C,MACOC,IAAI/sC,YAAYgtC,QAAQ,cAM3C/W,EAAY,GACE,MAAdvrC,IAEFurC,EAAyE,QAA5DoY,EAAwB3jD,EAAWitC,2BAA2D,IAA1B0W,OAAmC,EAASA,EAAsB3+D,QAAO,SAAUm+C,GAClK,OAAOA,EAAS2I,uBAAyBgB,EAAKtiD,EAChD,KAEF,OAAoB,gBAAoB,MAAO,CAC7Cmb,UAAW,2BACG,gBAAoB,GAAAa,WAAY,CAC9CS,MAAM,EACNpJ,MAfoB,gBAAoB,MAAO,CAC7C8H,UAAW,cACV4M,EAAU,aAcblL,MAAO,OACP2kC,mBAAmB,GACL,MAAbT,GAAqBA,EAAUhmD,OAAS,EAAiB,gBAAoB,MAAO,CACrFogB,UAAW,aACV4lC,EAAU7pC,KAAI,SAAUyhC,GACzB,OAAoB,gBAAoB,GAAa,CACnDl9C,IAAKk9C,EAAS34C,GACdmjB,QAAS4E,EAAU,YACnB/E,aAAa,GACC,gBAAoB,MAAO,CACzCxF,wBAAyB,CACvBC,OAAQk7B,EAAS7gC,QAGvB,KAAM,MACR,EACAgiD,GAAoBp2B,aAAe,CACjCrhC,YAAa,GACbuoB,UAAU,GAEZ,YCzCA,SAAS,GAAWzwB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAoIlP,SA/HmC,SAAU4/D,GAC3C,SAASC,EAAgB17C,GACvB,IAAIvgB,EAwHJ,OAvHA,OAAgB3E,KAAM4gE,GACtBj8D,EAAQ,GAAW3E,KAAM4gE,EAAiB,CAAC17C,KAC3C,OAAgBvgB,EAAO,uBAAuB,WAC5C,IAAIgqB,EAAYhqB,EAAM85D,IAAI/sC,YAAYgtC,QAAQ,aAC9C/5D,EAAMwuC,OAAO0tB,cAAclyC,EAAU,cAAgB,KAAOhqB,EAAM85D,IAAIqC,WAAa,GACrF,KACA,OAAgBn8D,EAAO,iBAAiB,SAAUG,GAChDA,EAAM+d,iBACNle,EAAMo8D,YAAY,0CAA2C,CAC3D7pB,SAAS,GAEb,KACA,OAAgBvyC,EAAO,iBAAiB,SAAUG,GAChDA,EAAM+d,iBACNle,EAAMo8D,YAAYp8D,EAAMq8D,mBAAoB,CAC1Cl7D,OAAQ,UACRwV,YAAa,GACbC,cAAe,iBACfjZ,MAAO,CACLsE,GAAI,EACJq6D,kBAAkB,EAClBC,mBAAmB,EACnBjnD,MAAO,GACPga,KAAM,IAERktC,YAAa,IAEjB,KACA,OAAgBx8D,EAAO,cAAc,SAAU+P,GAC7CA,EAAO9S,SAAQ,SAAUic,GACvBlZ,EAAMo8D,YAAYp8D,EAAMq8D,mBAAoB,CAC1Cl7D,OAAQ,UACRwV,YAAa,GACbC,cAAe,SACfqkD,wBAAyB,GACzBt9D,MAAOub,EACPsjD,YAAa,IAEjB,GACF,KACA,OAAgBx8D,EAAO,oBAAoB,SAAUy8D,GACnD,GAAwB,MAApBA,EAAWn9C,MAAe,CAC5B,IAAIo9C,EAAgB18D,EAAM28D,eAAehrD,MAAK,SAAUsxC,GACtD,OAAOA,EAAS3jC,OAASm9C,EAAWn9C,KACtC,IACA,GAAqB,MAAjBo9C,EAAuB,CACzB,IAAIE,EAAeF,EAAcp9C,MAGjC,OAFAtf,EAAM68D,eAAeH,GACrB18D,EAAMo8D,YAAYp8D,EAAMq8D,mBAAoBI,EAAYG,IACjD,CACT,CACF,CACA58D,EAAMo8D,YAAYp8D,EAAMq8D,mBAAoBI,EAC9C,KACA,OAAgBz8D,EAAO,gBAAgB,SAAUkZ,GAC/C,GAAc,MAAVA,GAAkC,MAAhBA,EAAOvb,MAC3B,OAAO,EAET,IAAI++D,EAAgB18D,EAAM28D,eAAehrD,MAAK,SAAUsxC,GACtD,OAAOA,EAAStlD,MAAMsE,IAAMiX,EAAOvb,MAAMsE,EAC3C,IACA,GAAqB,MAAjBy6D,EAAuB,CACzB,IAAIE,EAAeF,EAAcp9C,MAGjC,OAFAtf,EAAM68D,eAAeH,GACrB18D,EAAMo8D,YAAYp8D,EAAMq8D,mBAAoBnjD,EAAQ0jD,IAC7C,CACT,CACA58D,EAAMo8D,YAAYp8D,EAAMq8D,mBAAoBnjD,EAC9C,KACA,OAAgBlZ,EAAO,QAAQ,SAAUic,GACvC,OAAO,IACT,KACA,OAAgBjc,EAAO,WAAW,SAAUic,GAC1C,IAAI1U,GAAQ,OAAmB0U,EAAMinC,WAAWzmD,QAAO,SAAUwmD,GAC/D,OAAOA,EAAS,gBAAkBjjD,EAAMq8D,oBAAgD,kBAA1BpZ,EAASrsC,aACzE,IACIrL,GAAU,OAAmB0Q,EAAMinC,WAAWzmD,QAAO,SAAUwmD,GACjE,OAAOA,EAAS,gBAAkBjjD,EAAMq8D,oBAAgD,UAA1BpZ,EAASrsC,aACzE,IACIkmD,GAAgB,OAAmB7gD,EAAMinC,WAAWzmD,QAAO,SAAUwmD,GACvE,OAAOA,EAAS,gBAAkBjjD,EAAMq8D,oBAAgD,0BAA1BpZ,EAASrsC,aACzE,IACA,OAAoB,gBAAoB,MAAO,CAC7CwG,UAAW,mCACG,gBAAoB,MAAO,CACzCA,UAAW,kBACV7V,EAAM4R,KAAI,SAAU8pC,GACrB,OAAoB,gBAAoB,GAAiB,CACvDA,SAAUA,EACV4W,MAAO75D,EACPtC,IAAKulD,EAAShhD,GACdsJ,QAASA,GAEb,IAAIA,EAAQ4N,KAAI,SAAU8pC,GACxB,OAAoB,gBAAoB,GAAiB,CACvDA,SAAUA,EACV4W,MAAO75D,EACPtC,IAAKulD,EAAShhD,IAElB,IAAI66D,EAAc3jD,KAAI,SAAU8pC,EAAU3jC,GACxC,OAAoB,gBAAoB,GAAqB,CAC3Du6C,MAAO75D,EACPukD,KAAMtB,GAEV,KACF,IACAjjD,EAAM6U,KAAO,gCACb7U,EAAM+8D,WAAa,mBACnB/8D,EAAMq8D,mBAAqB,oCAC3Br8D,EAAMg9D,qBAAqBh9D,EAAMq8D,mBAAoB,CACnDl7D,OAAQ,SACRwV,YAAa,SACbC,cAAe,SACfjZ,MAAO,WAGTqC,EAAMg9D,qBAAqB,0CAA2C,CACpEzqB,QAAS,YAEJvyC,CACT,CAEA,OADA,QAAUi8D,EAAiBD,IACpB,OAAaC,EACtB,CA9HmC,CA8HjC,GAAAgB,eClGF,SAnCoB,SAAuBhhD,GACzC,IAAIihD,EACAlzC,EAAY43B,KACZub,EAAY,WACd,IAAIC,EACAC,GAAiE,QAA1CD,EAAoBnhD,EAAMxE,kBAA8C,IAAtB2lD,GAAgG,QAA/DA,EAAoBA,EAAkB1Y,2BAAuD,IAAtB0Y,OAA+B,EAASA,EAAkBpgE,QAAU,EACrPsgE,EAAmBrhD,EAAM6e,OAAOr+B,QAAO,SAAU6xC,GACnD,OAAOA,EAAE4U,UAAUntB,MAAK,SAAU55B,GAChC,IAAIohE,EACJ,MAA0B,0BAAnBphE,EAAEya,eAA6CymD,GAAmD,MAA7BlhE,EAAE8+D,0BAA4F,QAAvDsC,EAAwBphE,EAAE8+D,+BAA+D,IAA1BsC,OAAmC,EAASA,EAAsBvgE,QAAU,CAChQ,GACF,IACA,OAAOsgE,EAAiB13D,MAAK,SAAUC,EAAGC,GACxC,OAAOD,EAAE23D,UAAY13D,EAAE03D,SACzB,IAAGrkD,KAAI,SAAUmhB,GACf,IAAIzR,EAAQmB,EAAU,sBAIlBlS,EAHSwlD,EAAiB7gE,QAAO,SAAUo9D,GAC7C,OAAOA,EAAM4D,gBAAkBnjC,EAAMmjC,cACvC,IACwBj3D,WAAU,SAAUV,GAC1C,OAAOA,EAAE7D,IAAMq4B,EAAMr4B,EACvB,IAEA,OADAq4B,EAAMhlB,MAAQuT,EAAQ,KAAO/Q,EAAa,GACnCwiB,CACT,GACF,EACA,OAAoB,gBAAoB,MAAO,CAC7Cld,UAAW,qBACsB,QAA9B8/C,EAAaC,WAAwC,IAAfD,OAAwB,EAASA,EAAWlgE,QAAU,EAAiB,gBAAoB,KAAM,KAAMgtB,EAAU,eAAiB,KAAmB,gBAAoB,GAAA0zC,qBAAqB,QAAS,CAChPC,QAAS,CAAC,IACV3zC,UAAWA,GACV/N,EAAO,CACR6e,OAAQqiC,OAEZ,ECjCA,SAAS,GAAW/gE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAoBlP,IAAI,GAAkB,EAAQ,MAC1BwhE,GAAgC,SAAUliD,GAC5C,SAASkiD,EAAiB3hD,GACxB,IAAIjc,EA8TJ,OA7TA,OAAgB3E,KAAMuiE,GACtB59D,EAAQ,GAAW3E,KAAMuiE,EAAkB,CAAC3hD,KAC5C,OAAgBjc,EAAO,6BAA6B,WAClDA,EAAMic,MAAMxH,aAAazU,EAAMic,MAAMixB,KAAK53B,MAC5C,KACA,OAAgBtV,EAAO,qBAAqB,WAC1C,IAAIgM,EAAgBhM,EAAMic,MAAMjQ,cAChChM,EAAMic,MAAMrY,wCAAwC5D,EAAMic,MAAMixB,KAAKjrC,IAAI1D,MAAK,WAC5EyB,EAAMye,SAAS,CACbo/C,oBAAoB,GAExB,IAC2C,MAAvC79D,EAAMic,MAAMixB,KAAKvL,oBACnB3hC,EAAMic,MAAMixB,KAAKvL,mBAAmB1kC,SAAQ,SAAUqgD,GACZ,MAApCt9C,EAAM4K,UAAU0yC,EAAOzyC,WACzB7K,EAAMic,MAAMrR,UAAU0yC,EAAOzyC,SAEjC,IAEF7K,EAAMic,MAAMvR,wBAAwBsB,EAAc/J,GAAIjC,EAAMic,MAAMixB,KAAK31B,WAAWhZ,MAAK,WACrFyB,EAAMye,SAAS,CACbq/C,cAAc,GAElB,IACuC,QAAnC99D,EAAMic,MAAMixB,KAAKuwB,iBACnBz9D,EAAMye,SAAS,CACbs/C,sBAAsB,IAExB/9D,EAAMic,MAAMnY,8BAA8BkI,EAAc/J,GAAIjC,EAAMic,MAAMixB,KAAK3nC,MAAM,GAAGtD,IAAI1D,MAAK,WAC7FyB,EAAMye,SAAS,CACbu/C,uBAAuB,GAE3B,KAEFh+D,EAAMic,MAAMvF,qBAAqB1W,EAAMic,MAAMixB,KAAKjrC,GAAI,cAAc1D,MAAK,WACvEyB,EAAMye,SAAS,CACbw/C,eAAe,GAEnB,GACF,KACA,OAAgBj+D,EAAO,aAAa,SAAU6K,GAC5C,OAAO7K,EAAMic,MAAM1Q,QAAQoG,MAAK,SAAUuH,GACxC,OAAOA,EAAOjX,IAAM4I,CACtB,GACF,KACA,OAAgB7K,EAAO,uBAAuB,WAC5CA,EAAMye,SAAS,CACby/C,oBAAqB,MAEzB,KACA,OAAgBl+D,EAAO,oBAAoB,WACzCA,EAAMye,SAAS,CACby/C,oBAAqBl+D,EAAMic,MAAMjQ,eAErC,KACA,OAAgBhM,EAAO,wBAAwB,SAAUmB,GACvD,IAAIg9D,GAAW,EAMf,GAL+B,MAA3Bn+D,EAAMic,MAAM3X,aACVtE,EAAMic,MAAM3X,YAAYtH,OAAS,IACnCmhE,GAAW,GAGC,GAAZA,EAWF,OAAoB,gBAAoB,OAAQ,CAC9C/gD,UAAW,wBACVpd,EAAMic,MAAM+N,UAAU,aATzB,IAAI+iB,EAAe/sC,EAAMic,MAAM9a,OAAOisC,qBAAqBz7B,MAAK,SAAUnO,GACxE,OAAOA,EAAKvB,IAAMd,CACpB,IACA,OAAoB,MAAhB4rC,EACK/sC,EAAMo+D,2BAA2BrxB,GAOrC,IACT,KACA,OAAgB/sC,EAAO,uBAAuB,SAAUmB,GACtD,MAAe,oBAAXA,EACkB,gBAAoB,OAAQ,CAC9Cic,UAAW,wBACVpd,EAAMic,MAAM+N,UAAU,SACL,sBAAX7oB,EACW,gBAAoB,OAAQ,CAC9Cic,UAAW,sBACVpd,EAAMic,MAAM+N,UAAU,WACL,qBAAX7oB,EACW,gBAAoB,OAAQ,CAC9Cic,UAAW,uBACVpd,EAAMic,MAAM+N,UAAU,UACL,uBAAX7oB,EACW,gBAAoB,OAAQ,CAC9Cic,UAAW,sBACVpd,EAAMic,MAAM+N,UAAU,YAEpB,IACT,KACA,OAAgBhqB,EAAO,sBAAsB,WAC3C,IAAIktC,EAAOltC,EAAMic,MAAMixB,KACnB9rC,EAAO,CACTkU,MAAO43B,EAAK53B,MACZwV,OAAQ,CAAC,CACPjL,QAAS,OAASqtB,EAAK53B,MAAQ,QAC/ByV,SAAU,aACT,CACDlL,QAASioB,GAAeoF,EAAKnF,aAC7Bhd,SAAU,eAGd/qB,EAAMic,MAAMtJ,sBAAsBpU,MAAK,WACrC,IAAI8U,EAASrT,EAAMic,MAAM5I,OACzB,GAAgB4X,YAAY5X,EAAOT,MAAOS,EAAOR,UAAWzR,EAAM,CAChE8pB,QAAQ,KAAA/O,uBACA,OAAE,SAAUjc,GACpBK,QAAQL,MAAM,QAASA,EAEzB,GACF,GACF,KAMA,OAAgBF,EAAO,8BAA8B,SAAU4sC,GAC7D,GAAqB,MAAjBA,EAAuB,OAAO,KAClC,IAgBIvN,EAhBc,CAAC,CACjBp9B,GAAI,8BACJ6S,IAAK,uCACJ,CACD7S,GAAI,0BACJ6S,IAAK,oCACJ,CACD7S,GAAI,4BACJ6S,IAAK,sCACJ,CACD7S,GAAI,+BACJ6S,IAAK,wCACJ,CACD7S,GAAI,8BACJ6S,IAAK,wCAEgBnD,MAAK,SAAU0tB,GACpC,OAAOA,EAAKp9B,IAAM2qC,EAAc3qC,EAClC,IACA,OAAY,MAARo9B,EAAqB,KACL,gBAAoB,MAAO,CAC7C/hB,MAAO,CACL+H,QAAS,OACTmT,YAAa,WAED,gBAAoB,MAAO,CACzClb,MAAO,CACL+D,MAAO,OACPmX,YAAa,UAEfqU,IAAKxN,EAAKvqB,IACVg4B,IAAK,gBACU,gBAAoB,MAAO,KAAMF,EAAcjvC,OAClE,KACA,OAAgBqC,EAAO,eAAe,WACpC,aAAc,KAAAmc,sBACd,IAAIY,EAAc/c,EAAMic,MACtB+N,EAAYjN,EAAYiN,UACxBsK,EAAQvX,EAAYuX,MACtB,GAAwB,MAApBt0B,EAAMic,MAAMixB,KAAc,CAC5B,IAAI/rC,EAAS,GACb,GAA0B,MAAtBnB,EAAMic,MAAM9a,OAAgB,CAC9B,IAAI4rC,EAAe/sC,EAAMic,MAAM9a,OAAO6rC,gBAAgBr7B,MAAK,SAAUnO,GACnE,OAAOA,EAAKvB,IAAMjC,EAAMic,MAAMixB,KAAK5nC,cACrC,IACoB,MAAhBynC,IAAsB5rC,EAAS4rC,EAAapvC,MAClD,CACA,IAAI0gE,GAAsB,EACtB/pC,SAAsCA,EAAMC,SAAWD,aAAqC,EAASA,EAAMC,OAAOv3B,QAAU,IAC9HqhE,EAAsBr+D,EAAMs+D,cAAchqC,EAAMC,OAAQv0B,EAAMic,MAAMixB,KAAK5iB,QAASgK,EAAMgB,SAAS9zB,aAEnG,IAAIkH,EAAe,KACc,MAA7B1I,EAAMic,MAAMtT,eAAgD,MAAvB3I,EAAMic,MAAMzN,UACnD9F,EAAe1I,EAAMic,MAAMtT,cAAcgJ,MAAK,SAAU41C,GACtD,OAAOA,EAAK9qC,YAAY9K,MAAK,SAAU6gB,GACrC,OAAOA,EAAO7V,cAAgB3c,EAAMic,MAAMzN,QAAQvM,EACpD,GACF,KAEF,IAAIq7D,EAAmB,GACnB7lD,EAAa,KAWjB,OAV0B,MAAtBzX,EAAMic,MAAMsiD,SACdjB,GAAmB,OAAmBt9D,EAAMic,MAAMsiD,QAAQ9hE,QAAO,SAAUo9D,GACzE,MAAqB,iCAAdA,EAAMr2D,IACf,KAE6B,MAA3BxD,EAAMic,MAAM3X,aAAwBtE,EAAM4E,MAAMi5D,qBAClDpmD,EAAazX,EAAMic,MAAM3X,YAAYqN,MAAK,SAAU8F,GAClD,OAAOA,EAAWlU,WAAavD,EAAMic,MAAMjQ,cAAc/J,EAC3D,KAEkB,gBAAoB,MAAO,CAC7Cmb,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,iCACG,gBAAoB,GAAAuC,MAAO,KAAmB,gBAAoB,OAAQ,CACxFvC,UAAW,SACV4M,EAAU,2BAAyC,gBAAoB,KAAM,CAC9E/J,GAAI,IACJ9B,QAASne,EAAMurB,oBACD,gBAAoB,MAAO,CACzCnO,UAAW,kBACG,gBAAoB,GAAkB,MAAO,IAAK4M,EAAU,sBAAoC,gBAAoBirB,GAAa,KAAMnN,GAAe9nC,EAAMic,MAAMixB,KAAKnF,cAA4B,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC1R3qB,UAAW,YACXE,MAAO,CACLkb,YAAa,YAEdr3B,GAASnB,EAAMic,MAAMixB,KAAKsxB,kBAAiC,gBAAoB,MAAO,CACvFphD,UAAW,YACXE,MAAO,CACLkb,YAAa,YAEdxO,EAAU,uBAAyB,KAAmB,gBAAoB,GAAS,KAAMhqB,EAAMic,MAAMixB,KAAK7nC,SAAuB,gBAAoB,MAAO,CAC7J+X,UAAW,cACK,gBAAoB,MAAO,KAAmB,gBAAoB,OAAQ,CAC1FA,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,UAAWhqB,EAAMic,MAAMixB,KAAKM,cAA4B,gBAAoB,OAAQ,CAC/FlwB,MAAO,CACLyR,UAAW,QAEb3R,UAAW,SACV4M,EAAU,WAAwC,uBAA5BhqB,EAAMic,MAAMixB,KAAKriB,QAAgD,gBAAoB,MAAO,KAAMb,EAAU,gCAA+C,gBAAoB,MAAO,KAAMhqB,EAAMo+D,2BAA2Bp+D,EAAMic,MAAMixB,KAAK3nC,MAAM,GAAGpE,QAASnB,EAAMy+D,qBAAqBz+D,EAAMic,MAAMixB,KAAK3nC,MAAM,GAAGpE,QAAsB,gBAAoB,MAAO,CAC7Xic,UAAW,cACK,gBAAoB,MAAO,CAC3CE,MAAO,CACLyR,UAAW,UAEE,gBAAoB,GAAAvG,KAAM,KAAmB,gBAAoB,MAAO,CACvFlL,MAAO,CACLiI,KAAM,IAEM,gBAAoB,OAAQ,CAC1CnI,UAAW,QACXE,MAAO,CACL+H,QAAS,UAEV2E,EAAU,UAAW,SAAWhqB,EAAMic,MAAMixB,KAAKhoC,WAAWC,QAAQ2O,OAAO,eAA6B,gBAAoB,MAAO,CACpIwJ,MAAO,CACLiI,KAAM,IAEM,gBAAoB,OAAQ,CAC1CnI,UAAW,QACXE,MAAO,CACL+H,QAAS,UAEV2E,EAAU,QAAS,SAAWhqB,EAAMic,MAAMixB,KAAK7nC,SAASF,QAAQ2O,OAAO,gBAAiB9T,EAAMic,MAAMixB,KAAK3hC,QAAQvO,OAAS,EAAiB,gBAAoB,MAAO,CACvKsgB,MAAO,CACLyR,UAAW,SAEC,gBAAoB,OAAQ,CAC1C3R,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,YAA0B,gBAAoB,GAAqB,KAAMhqB,EAAMic,MAAMixB,KAAK3hC,QAAQ4N,KAAI,SAAUD,GAC3H,IAAIa,EAAsB,MAAfb,EAAO8oB,KAAe9oB,EAAO5D,MAAQ,IAAM4D,EAAO8oB,KAAO9oB,EAAO5D,MAC3E,OAAoB,gBAAoB,GAAY,CAClD5X,IAAK,4BAA4B/C,OAAOue,EAAOjX,IAC/Cuf,QAASzH,EACT+E,MAAO5F,EAAO+oB,WAElB,MAAO,KAAmC,MAA7BjiC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAASxR,eAAiB01D,EAAmC,gBAAoB,GAAApsC,OAAQ,CACnKzuB,KAAM,YACN2a,QAASne,EAAM0+D,iBACfphD,MAAO,CACLyR,UAAW,OACXpK,SAAU,aAEX3kB,EAAMic,MAAM+N,UAAU,gBAAiC,MAAhBthB,GAAwBA,EAAa0vB,eAAiB,EAAiB,gBAAoB,MAAO,CAC1Ihb,UAAW,SACG,gBAAoB,OAAQ,KAAM1U,EAAa0vB,iBAAmB,MAAQ,OAAqB,gBAAoB,MAAO,CACxIhb,UAAW,8BACI,gBAAoB,MAAO,CAC1CE,MAAO,CACLvf,MAAO,UAEM,gBAAoB,MAAO,CAC1Cqf,UAAW,2BACoB,MAA7Bpd,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAASxR,cAA6B,gBAAoB,MAAO,CAClIyU,UAAW,kBACG,gBAAoB,GAAS,CAC3C/Y,WAAYrE,EAAMic,MAAMixB,KACxBkJ,WAAYp2C,EAAM4E,MAAMs5D,oBACxBvqC,QAAS3zB,EAAMsqD,uBACX,KAAmB,gBAAoB,MAAO,CAClDltC,UAAW,kBACVpd,EAAM4E,MAAMq5D,cAA6B,gBAAoB,GAAS,CACvEhhD,QAAQ,IACQ,gBAAoB,GAAqB,CACzD6d,OAAQwiC,EACR7lD,WAAYA,KAEhB,CACA,OAAO,IACT,IACAzX,EAAM4E,MAAQ,CACZ+5D,OAAQ3+D,EAAMic,MAAMuR,MAAMlW,OAAO3T,aACjCupC,KAAM,KACN3nC,MAAO,GACPyzD,WAAW,EACX8E,cAAc,EACdG,eAAe,EACfJ,oBAAoB,EACpBG,uBAAuB,EACvBE,oBAAqB,MAEhBl+D,CACT,CAEA,OADA,QAAU49D,EAAkBliD,IACrB,OAAakiD,EAAkB,CAAC,CACrClgE,IAAK,oCACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,KAAM,CAC1F2f,MAAO,CACL0gB,WAAY,KAEd5gB,UAAW,8BACV/hB,KAAK4gB,MAAM+N,UAAU,mBAC1B,GACC,CACDtsB,IAAK,0BACLC,MAAO,WACL,OAAuB,MAAnBtC,KAAKuJ,MAAMsoC,MACmB,MAA5B7xC,KAAKuJ,MAAMsoC,KAAK3nC,MAAM,GACjBlK,KAAKuJ,MAAMsoC,KAAK3nC,MAAM,GAAGq5D,cAAczlD,KAAI,SAAUxY,GAC1D,OAAoB,gBAAoB,MAAO,KAAM,GAAGhG,OAAOgG,EAAQmlB,UAAW,KAAKnrB,OAAOgG,EAAQolB,UACxG,IAGG,IACT,GACC,CACDroB,IAAK,oBACLC,MAAO,SAA2Bm4B,EAAOnf,GACvC,OAAOmf,EAAMC,MAAK,SAAUC,GAC1B,OAAOA,EAAKrf,cAAgBA,GAA6C,YAA9Bqf,EAAKC,OAAOC,aACzD,GACF,GACC,CACDx4B,IAAK,gBACLC,MAAO,SAAuBkhE,EAAeC,EAAWnoD,GACtD,IAAIgX,EAAStyB,KACb,OAAOwjE,EAAc9oC,MAAK,SAAUrzB,GAClC,OAAOA,EAAKqkB,SAAW+3C,GAAanxC,EAAOyI,kBAAkB1zB,EAAKozB,MAAOnf,EAC3E,GACF,GACC,CACDjZ,IAAK,SACLC,MAAO,WACL,OAAuB,MAAnBtC,KAAK4gB,MAAMixB,KACO,gBAAoB,MAAO,KAAM7xC,KAAK0jE,eAExC,gBAAoB,GAAS,CAC/C9hD,QAAQ,GAEZ,IAEJ,CAnXoC,CAmXlC,EAAAX,WAiBF,UAAe,SAhBO,SAAyB1X,GAC7C,MAAO,CACLsoC,KAAMtoC,EAAMZ,YAAYK,WACxB2H,cAAepH,EAAMsV,KAAKlO,cAC1BT,QAAS3G,EAAMkG,OAAOS,QACtBjH,YAAaM,EAAMZ,YAAYM,YAC/BkK,QAAS5J,EAAM4J,QAAQA,QACvBrN,OAAQyD,EAAMsT,KAAK/W,OACnBqD,eAAgBI,EAAMZ,YAAYQ,eAClCmE,cAAe/D,EAAM0U,aAAaC,uBAClClG,OAAQzO,EAAMsV,KAAK7G,OACnBihB,MAAO1vB,EAAMkG,OAAOC,YACpBif,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCgoD,OAAQ35D,EAAMkW,OAAOhE,UAEzB,GACwC,CACtCpT,6BAA8BA,GAC9BsD,SAAUA,GACVpD,wCAAyCA,GACzCE,8BAA+BA,GAC/B6O,oBAAqBA,GACrB8B,aAAcA,GACd7J,UAAWA,GACXF,wBAAyBA,GACzBgM,qBAAsBA,IATxB,CAUGknD,I,0BCtaH,SAAS,GAAWxhE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAqDlP,SAhD4B,SAAUsf,GACpC,SAASsjD,IAEP,OADA,OAAgB3jE,KAAM2jE,GACf,GAAW3jE,KAAM2jE,EAAUjiE,UACpC,CAEA,OADA,QAAUiiE,EAAUtjD,IACb,OAAasjD,EAAU,CAAC,CAC7BthE,IAAK,SACLC,MAAO,WACL,IAAIshE,EAAuB5jE,KAAK4gB,MAAM1X,SACpC26D,EAASD,EAAqBC,OAC9BC,EAAiBF,EAAqBE,eACxC,OAAoB,gBAAoB,GAAAx/C,MAAO,KAAmB,gBAAoB,MAAO,CAC3FvC,UAAW,YACV8hD,EAAOE,UAAUjmD,KAAI,SAAUkmD,GAChC,IAAIC,EAAUH,EAAextD,MAAK,SAAU2tD,GAC1C,OAAOA,EAAQC,WAAaF,EAAQE,SACtC,IACA,OAAoB,gBAAoB,MAAO,CAC7CniD,UAAW,SACX1f,IAAK2hE,EAAQE,WACC,gBAAoB,MAAO,CACzCniD,UAAW,kBACG,gBAAoB,MAAO,CACzCA,UAAW,eACViiD,EAAQt3B,YAAYloB,SAAuB,gBAAoB,MAAO,CACvEzC,UAAW,UACV8hD,EAAO9kB,OAAOjhC,KAAI,SAAUqhC,EAAOglB,GACpC,IAAIC,EAAWJ,EAAQI,SAASD,GAC5BE,GAAW,EAIf,OAHe,MAAXJ,IACFI,EAAWJ,EAAQK,SAAWnlB,EAAMmlB,SAElB,gBAAoB,MAAO,CAC7CviD,UAAW,QAAQziB,OAAO+kE,EAAW,UAAY,IACjDhiE,IAAK88C,EAAMmlB,SACG,gBAAoB,SAAU,KAAMnlB,EAAMv0C,aAA0B,MAAZw5D,EAAmBA,EAAW,KACxG,MAAiB,MAAXH,GAAuC,MAApBA,EAAQ1kB,SAAgC,gBAAoB,MAAO,CAC1Fx9B,UAAW,mBACG,gBAAoB,SAAU,KAAM,YAA0B,gBAAoB,OAAQ,CACxGqC,wBAAyB,CACvBC,OAAQ,cAAmB4/C,EAAQ1kB,cAEjC,KACR,KACF,IAEJ,CA/C4B,CA+C1B,EAAAt+B,WCnDF,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAmBlP,IAAI,GAAkB,EAAQ,MAC1BwjE,GAAmC,SAAUlkD,GAC/C,SAASkkD,EAAoB3jD,GAC3B,IAAIjc,EAoIJ,OAnIA,OAAgB3E,KAAMukE,GACtB5/D,EAAQ,GAAW3E,KAAMukE,EAAqB,CAAC3jD,KAC/C,OAAgBjc,EAAO,6BAA6B,WAC1B,MAApBA,EAAMic,MAAMixB,MACdltC,EAAMic,MAAMxH,aAAazU,EAAMic,MAAMixB,KAAK53B,MAE9C,KACA,OAAgBtV,EAAO,qBAAqB,WAC1C,IAAI+c,EAAc/c,EAAMic,MACtBjQ,EAAgB+Q,EAAY/Q,cAC5BkhC,EAAOnwB,EAAYmwB,KACjB/yB,EAAWna,EAAMoa,cACjB+uB,EAAW,GACXxlC,EAAe3D,EAAMic,MAAMixB,KAAKjrC,GAGpC,GAAoB,MAAhB0B,GAAwBA,GAAgB,GAAKA,GAAgBpC,SAASoC,EAAc,IAAK,CAC3F,IAAIk8D,EAAoB7/D,EAAMic,MAAMvY,6BAA6BsI,EAAc/J,GAAI0B,GACnFwlC,EAASvsC,KAAKijE,EAChB,KAAO,CACL,IAAIC,EAAqB9/D,EAAMic,MAAM8jD,mBAAmB/zD,EAAc/J,GAAIirC,EAAK31B,UAAW21B,EAAKD,YAC/F9D,EAASvsC,KAAKkjE,EAChB,CACA,GAAI3lD,EAAS6lD,mBAAqC,MAAhBr8D,GAAwBA,GAAgB,GAAKA,GAAgBpC,SAASoC,EAAc,IAAK,CACzH,IAAIW,EAActE,EAAMic,MAAMrY,wCAAwC5D,EAAMic,MAAMixB,KAAKjrC,IACvFknC,EAASvsC,KAAK0H,EAChB,CACA,IAAIG,EAAsBzE,EAAMic,MAAMgkD,4BAA4Bj0D,EAAc/J,GAAIirC,EAAK31B,UAAW21B,EAAKD,YAEzG,GADA9D,EAASvsC,KAAK6H,GACV0V,EAAS+lD,qBAAsB,CACjC,IAAI37D,EAAWvE,EAAMic,MAAMkkD,2BAA2Bn0D,EAAc/J,GAAIirC,EAAK31B,UAAW21B,EAAKD,YAC7F9D,EAASvsC,KAAK2H,EAChB,CACApG,QAAQurC,IAAIP,GAAU5qC,MAAK,WACzByB,EAAMic,MAAMvF,qBAAqB1W,EAAMic,MAAMixB,KAAKjrC,GAAI,cAAc1D,MAAK,WACvEyB,EAAMye,SAAS,CACbw/C,eAAe,GAEnB,IAGI9jD,EAAS6lD,mBAA2D,MAAtChgE,EAAMic,MAAMmkD,wBACiB,MAAzDpgE,EAAMic,MAAMmkD,uBAAuBz+B,oBACrC3hC,EAAMic,MAAMmkD,uBAAuBz+B,mBAAmB1kC,SAAQ,SAAUqgD,GAC9B,MAApCt9C,EAAM4K,UAAU0yC,EAAOzyC,WACzB7K,EAAMic,MAAMrR,UAAU0yC,EAAOzyC,SAEjC,IAGJ7K,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,aAAa,SAAU6K,GAC5C,OAAO7K,EAAMic,MAAM1Q,QAAQoG,MAAK,SAAUuH,GACxC,OAAOA,EAAOjX,IAAM4I,CACtB,GACF,KACA,OAAgB7K,EAAO,eAAe,WACpC,MAAO,CACLggE,kBAAgD,MAA7BhgE,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAAS7V,YAC3F47D,qBAAmD,MAA7BlgE,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAAS1I,qBAC9F9I,cAA4C,MAA7B3I,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAASxR,cAE3F,KACA,OAAgB3I,EAAO,sBAAsB,WAC3C,IAAIktC,EAAOltC,EAAMic,MAAMixB,KACnBnF,EAAcmF,EAAKnF,aACH,MAAfA,GAAuB/nC,EAAMic,MAAMixB,KAAKnF,YAAY/qC,QAAU,IAA4C,MAAtCgD,EAAMic,MAAMmkD,wBAAoF,MAAlDpgE,EAAMic,MAAMmkD,uBAAuBr4B,cACxJA,EAAc/nC,EAAMic,MAAMmkD,uBAAuBr4B,aAEnD,IAAI3mC,EAAO,CACTkU,MAAO43B,EAAK53B,MACZwV,OAAQ,CAAC,CACPjL,QAAS,OAASqtB,EAAK53B,MAAQ,QAC/ByV,SAAU,aACT,CACDlL,QAASioB,GAAeC,GACxBhd,SAAU,eAGd/qB,EAAMic,MAAMtJ,sBAAsBpU,MAAK,WACrC,IAAI8U,EAASrT,EAAMic,MAAM5I,OACzB,GAAgB4X,YAAY5X,EAAOT,MAAOS,EAAOR,UAAWzR,EAAM,CAChE8pB,QAAQ,KAAA/O,uBACA,OAAE,SAAUjc,GACpBK,QAAQL,MAAM,QAASA,EAEzB,GACF,GACF,KACA,OAAgBF,EAAO,kBAAkB,WACvC,IAAI2jB,EAAe3jB,EAAMic,MACvB1X,EAAWof,EAAapf,SACxBylB,EAAYrG,EAAaqG,UAC3B,OAAgB,MAAZzlB,EACK,KAEW,gBAAoB,MAAO,CAC7C+Y,MAAO,CACLyR,UAAW,SAEC,gBAAoB,KAAM,CACxCzR,MAAO,CACLiY,aAAc,YAEfvL,EAAU,eAA6B,gBAAoB,GAAArK,MAAO,KAAyB,MAAnBpb,EAAS87D,QAAqC,IAAnB97D,EAAS87D,OAA4B,gBAAoB,WAAgB,KAAmB,gBAAoB,OAAQ,CAC5NjjD,UAAW,SACV4M,EAAU,WAAYzlB,EAAS87D,OAAQ,MAAOrgE,EAAMic,MAAMixB,KAAKozB,WAKhE,KAA2B,MAArB/7D,EAASq2C,UAAyC,IAArBr2C,EAASq2C,SAA8B,gBAAoB,WAAgB,KAAmB,gBAAoB,OAAQ,CAC7Jx9B,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,aAA2B,gBAAoB,OAAQ,CAClEvK,wBAAyB,CACvBC,OAAQ,cAAmBnb,EAASq2C,cAElC,MAAkC,MAA3Br2C,EAAS46D,gBAA0B56D,EAAS46D,eAAeniE,OAAS,EAAiB,gBAAoB,GAAU,CAC9HuH,SAAUA,IACP,KACP,IACAvE,EAAM4E,MAAQ,CACZgnB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAU4/D,EAAqBlkD,IACxB,OAAakkD,EAAqB,CAAC,CACxCliE,IAAK,kBACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACTklE,EAAellE,KAAK4gB,MACtBjQ,EAAgBu0D,EAAav0D,cAC7BkhC,EAAOqzB,EAAarzB,KACpBzoC,EAAsB87D,EAAa97D,oBACnCulB,EAAYu2C,EAAav2C,UAC3B,OAAoB,gBAAoB,MAAO,KAAMvlB,aAAiE,EAASA,EAAoB0U,KAAI,SAAU8pC,GAC/J,OAAoB,gBAAoB,MAAO,CAC7C7lC,UAAW,kBACX1f,IAAKulD,EAAShhD,IACA,gBAAoB,MAAO,CACzCmb,UAAW,iBACM,MAAhB6lC,EAASnuC,IAA2B,gBAAoB,IAAK,CAC9DC,KAAM,IACNoJ,QAAS,SAAiBjiB,GACxB,OAAOyxB,EAAO1R,MAAMukD,2BAA2Bx0D,EAAc/J,GAAIirC,EAAK31B,UAAW21B,EAAKD,WAAYgW,EAAShhD,GAAIghD,EAASh9C,YAC1H,GACCg9C,EAASh9C,aAA4B,gBAAoB,IAAK,CAC/D8O,KAAMkuC,EAASnuC,IACf5N,OAAQ,UACP+7C,EAASh9C,aAAcg9C,EAASwd,SAAW,KAAOz2C,EAAU,YAAc,IAAM,MACrF,IACF,GACC,CACDtsB,IAAK,mBACLC,MAAO,WACL,IAAIw4B,EAAS96B,KACTqlE,EAAerlE,KAAK4gB,MACtB+N,EAAY02C,EAAa12C,UACzBzlB,EAAWm8D,EAAan8D,SACtB4V,EAAW9e,KAAK+e,cAChBkjD,EAAmB,GACnB7lD,EAAa,KAWjB,OAVyB,MAArBpc,KAAK4gB,MAAMsiD,SACbjB,GAAmB,OAAmBjiE,KAAK4gB,MAAMsiD,QAAQ9hE,QAAO,SAAUo9D,GACxE,MAAqB,iCAAdA,EAAMr2D,IACf,KAE4B,MAA1BnI,KAAK4gB,MAAM3X,cACbmT,EAAapc,KAAK4gB,MAAM3X,YAAYqN,MAAK,SAAU8F,GACjD,OAAOA,EAAWlU,WAAa4yB,EAAOla,MAAMjQ,cAAc/J,EAC5D,KAEkB,gBAAoB,MAAO,CAC7Cmb,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,iCACG,gBAAoB,GAAAuC,MAAO,KAAmB,gBAAoB,OAAQ,CACxFvC,UAAW,SACV4M,EAAU,2BAAyC,gBAAoB,KAAM,CAC9E/J,GAAI,IACJ9B,QAAS9iB,KAAKkwB,oBACA,gBAAoB,MAAO,CACzCnO,UAAW,kBACG,gBAAoB,GAAkB,MAAO,IAAK4M,EAAU,sBAAsD,MAA/B3uB,KAAK4gB,MAAMixB,KAAKnF,aAAuB1sC,KAAK4gB,MAAMixB,KAAKnF,YAAY/qC,OAAS,EAAiB,gBAAoBi4C,GAAa,KAAM55C,KAAK4gB,MAAMixB,KAAKnF,aAAoD,MAArC1sC,KAAK4gB,MAAMmkD,wBAAmF,MAAjD/kE,KAAK4gB,MAAMmkD,uBAAuBr4B,YAAmC,gBAAoBkN,GAAa,KAAM55C,KAAK4gB,MAAMmkD,uBAAuBr4B,aAAe,KAAmB,gBAAoB,OAAQ,CAC7f3qB,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,QAAsB,gBAAoB,MAAO,KAAM,SAAW3uB,KAAK4gB,MAAMixB,KAAK7nC,SAASF,QAAQ2O,OAAO,eAA6B,gBAAoB,OAAQ,CAC9KsJ,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,UAAW3uB,KAAK4gB,MAAMixB,KAAKM,aAAwC,MAA1BrzB,EAASxR,cAAqC,gBAAoB,MAAO,KAAmB,gBAAoB,GAAS,CAC7KhI,QAAStF,KAAK4gB,MAAMjQ,cACpB3H,WAAYhJ,KAAK4gB,MAAMixB,QACnB,KAAmB,gBAAoB,OAAQ,CACnD9vB,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,WAAYA,EAAU3uB,KAAK4gB,MAAMixB,KAAK/rC,QAAQ/F,aAAgD,MAAlCC,KAAK4gB,MAAMxX,qBAA+BpJ,KAAK4gB,MAAMxX,oBAAoBzH,OAAS,GAAkB,gBAAoB,WAAgB,KAAmB,gBAAoB,OAAQ,CAC9PogB,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,UAAW3uB,KAAKslE,qBAAmC,gBAAoB,MAAO,CACzFvjD,UAAW,8BACI,gBAAoB,MAAO,CAC1CA,UAAW,aACI,gBAAoB,MAAO,CAC1CA,UAAW,2BACTjD,EAAS6lD,kBAAiC,gBAAoB,MAAO,CACvE5iD,UAAW,kBACG,gBAAoB,GAAqB,CACvD0d,OAAQwiC,EACR7lD,WAAYA,KACR,KAAM0C,EAAS+lD,sBAAoC,MAAZ37D,IAA0C,MAArBA,EAASq2C,UAAyC,IAArBr2C,EAASq2C,UAAqC,MAAnBr2C,EAAS87D,QAAqC,IAAnB97D,EAAS87D,QAA2C,MAA3B97D,EAAS46D,gBAA0B56D,EAAS46D,eAAeniE,OAAS,GAAK3B,KAAKulE,iBAAmB,KACjR,GACC,CACDljE,IAAK,SACLC,MAAO,WACL,OAAItC,KAAKuJ,MAAMgnB,QACO,gBAAoB,GAAS,CAC/C3O,QAAQ,IAGQ,gBAAoB,MAAO,KAAM5hB,KAAKwlE,mBAC5D,IAEJ,CAjPuC,CAiPrC,EAAAvkD,WAeF,UAAe,SAdO,SAAyB1X,GAC7C,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1B7K,OAAQyD,EAAMsT,KAAK/W,OACnBoK,QAAS3G,EAAMkG,OAAOS,QACtB60D,uBAAwBx7D,EAAMZ,YAAYK,WAC1CC,YAAaM,EAAMZ,YAAYM,YAC/BC,SAAUK,EAAMZ,YAAYO,SAC5BE,oBAAqBG,EAAMZ,YAAYS,oBACvC4O,OAAQzO,EAAMsV,KAAK7G,OACnB2W,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCgoD,OAAQ35D,EAAMkW,OAAOhE,UAEzB,GACwC,CACtCpT,6BAA8BA,GAC9BkH,UAAWA,GACXhH,wCAAyCA,GACzC+O,oBAAqBA,GACrB8B,aAAcA,GACdsrD,mBzL/N8B,SAA4Bx8D,EAAWoH,EAAShH,GAC9E,MAAO,CACLH,KAAMN,GACNO,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,YAAY5I,OAAOgQ,EAAS,mBAAmBhQ,OAAOgJ,IAAepF,MAAK,SAAUe,GACrIlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EyLuNE++D,2BzLtNsC,SAAoC58D,EAAWoH,EAAShH,GAC9F,MAAO,CACLH,KAAML,GACNM,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,YAAY5I,OAAOgQ,EAAS,mBAAmBhQ,OAAOgJ,EAAc,cAAcpF,MAAK,SAAUe,GAClJlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EyL8MEsV,qBAAsBA,GACtBupD,4BzL9MuC,SAAqC18D,EAAWoH,EAAShH,GAChG,MAAO,CACLH,KAAMJ,GACNK,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,YAAY5I,OAAOgQ,EAAS,mBAAmBhQ,OAAOgJ,EAAc,eAAepF,MAAK,SAAUe,GACnJlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EyLsMEo/D,2BzLrMsC,SAAoCj9D,EAAWoH,EAAShH,EAAcm9D,EAAYC,GACxH,MAAO,CACLv9D,KAAMH,GACNI,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,YAAY5I,OAAOgQ,EAAS,mBAAmBhQ,OAAOgJ,EAAc,eAAehJ,OAAOmmE,EAAY,aAAaviE,MAAK,SAAUe,GACxKA,EAASgC,QAAQ,gBAA5B,IACIwT,EAAMxV,EAAS8B,KACf4e,EAAO3f,SAAS2gE,cAAc,KAClChhD,EAAKjL,KAAOD,EACZkL,EAAKihD,aAAa,WAAYF,GAC9B/gD,EAAKihD,aAAa,SAAU,UAC5B5gE,SAASsyB,KAAKuuC,YAAYlhD,GAC1BA,EAAK4uB,OACP,GACF,IAEJ,GyL2KA,CAWGgxB,ICjSH,SAAS,GAAWxjE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAI+kE,GAAiC,SAAUzlD,GAC7C,SAASylD,EAAkBllD,GACzB,IAAIjc,EAMJ,OALA,OAAgB3E,KAAM8lE,IACtBnhE,EAAQ,GAAW3E,KAAM8lE,EAAmB,CAACllD,KACvCrX,MAAQ,CACZgnB,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUmhE,EAAmBzlD,IACtB,OAAaylD,EAAmB,CAAC,CACtCzjE,IAAK,oBACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT2Q,EAAgB3Q,KAAK4gB,MAAMjQ,cAC3BrI,EAAetI,KAAK4gB,MAAMuR,MAAMlW,OAAO3T,aACvCA,GAAgBpC,SAASoC,EAAc,IACzCtI,KAAK4gB,MAAMvY,6BAA6BsI,EAAc/J,GAAI0B,GAAcpF,MAAK,WAC3EovB,EAAOlP,SAAS,CACdmN,SAAS,GAEb,IAE8B,MAA1BvwB,KAAK4gB,MAAMjY,aAAwD,GAAjC3I,KAAK4gB,MAAMjY,YAAYhH,OAC3D3B,KAAK4gB,MAAMlY,oBAAoB1I,KAAK4gB,MAAMjQ,cAAc/J,IAAI1D,MAAK,WAC/DovB,EAAOlP,SAAS,CACdmN,SAAS,GAEb,IAEAvwB,KAAKojB,SAAS,CACZmN,SAAS,GAIjB,GACC,CACDluB,IAAK,SACLC,MAAO,WACL,IAAIgG,EAAetI,KAAK4gB,MAAMuR,MAAMlW,OAAO3T,aAC3C,GAAItI,KAAKuJ,MAAMgnB,QACb,OAAoB,gBAAoB,MAAO,KAAmB,gBAAoB,GAAS,CAC7F3O,QAAQ,KAGZ,IAAIiwB,EAAO,KAQX,OAAuB,OANrBA,EADEvpC,GAAgBpC,SAASoC,EAAc,KAAsC,OAA/BtI,KAAK4gB,MAAMixB,KAAKD,WACzD5xC,KAAK4gB,MAAMixB,KAEX7xC,KAAK4gB,MAAMjY,YAAY2N,MAAK,SAAUtN,GAC3C,OAAOA,EAAW4oC,YAActpC,CAClC,KAEOspC,WACa,gBAAoB,GAAkB5xC,KAAK4gB,OAE7C,gBAAoB,IAAqB,QAAS,CAAC,EAAG5gB,KAAK4gB,MAAO,CACpFixB,KAAMA,IAEV,IAEJ,CA9DqC,CA8DnC,EAAA5wB,WAQF,UAAe,SAPO,SAAyB1X,GAC7C,MAAO,CACLsoC,KAAMtoC,EAAMZ,YAAYK,WACxBL,YAAaY,EAAMZ,YAAYA,YAC/BgI,cAAepH,EAAMsV,KAAKlO,cAE9B,GACwC,CACtCtI,6BAA8BA,GAC9BE,wCAAyCA,GACzCE,8BAA+BA,GAC/BC,oBAAqBA,IAJvB,CAKGo9D,ICnFH,SAAS,GAAW/kE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAGlP,IAAI,GAAqB,SAAUsf,GACjC,SAASiE,IACP,IAAI3f,GACJ,OAAgB3E,KAAMskB,GACtB,IAAK,IAAIhE,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA0BzB,OAxBA9b,EAAQ,GAAW3E,KAAMskB,EAAO,GAAGhlB,OAAOihB,KAC1C,OAAgB5b,EAAO,iBAAiB,WACtC,IAAI+c,EAAc/c,EAAMic,MACtBI,EAAWU,EAAYV,SACvBuD,EAAgB7C,EAAY6C,cAC5BC,EAAU9C,EAAY8C,QACtB1Y,EAAO4V,EAAY5V,KACnB2Y,EAAgB/C,EAAY+C,cAC5BC,EAAQhD,EAAYgD,MACtB,OAAoB,gBAAoB,MAAO,KAAMH,EAA6B,gBAAoB,MAAO,CAC3GxC,UAAW,gBACVwC,GAAiB,KAAMG,GAAkB,MAATA,EAA6B,gBAAoB,MAAO,CACzFzC,MAAO,CACLC,gBAAiB,QAAS5iB,OAAOolB,EAAO,OAE1C3C,UAAW,gBACR,KAAMjW,EAAoB,gBAAoB,MAAO,CACxDiW,UAAW,cACVjW,GAAQ,KAAM0Y,EAAuB,gBAAoB,MAAO,CACjEzC,UAAW,iBACVyC,GAAW,KAAMC,EAA6B,gBAAoB,MAAO,CAC1E1C,UAAW,gBACV0C,GAAiB,KAAMzD,GAAsB,KAClD,IACOrc,CACT,CAEA,OADA,QAAU2f,EAAOjE,IACV,OAAaiE,EAAO,CAAC,CAC1BjiB,IAAK,SACLC,MAAO,WACL,IAAIqiB,EAAO3kB,KAAK4gB,MAAM+D,KACtB,OAAoB,gBAAoB,MAAO,CAC7C5C,UAAW,kBACXE,MAAOjiB,KAAK4gB,MAAMqB,OACT,MAAR0C,EAA4B,gBAAoB,KAAM,CACvDC,GAAID,GACH3kB,KAAK6kB,iBAAmB7kB,KAAK6kB,gBAClC,IAEJ,CA9CyB,CA8CvB,EAAA5D,WACS,GAAe,SAAsBL,GAC9C,IAAImE,GAAU,EAMd,OALInE,EAAMmE,QACRA,EAAUnE,EAAMmE,QACPnE,EAAMoE,OACfD,EAAUnE,EAAMoE,MAEE,gBAAoB,MAAO,CAC7CjD,UAAW,iBAAiBziB,OAAOylB,EAAU,QAAUA,EAAU,OAChEnE,EAAMI,SAAWJ,EAAMI,SAAW,KACvC,EAsBA,YCnFA,SAAS,GAAWjgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAelP,IAAI,GAAkB,EAAQ,MAC1BglE,GAA8B,SAAU1lD,GAC1C,SAAS0lD,EAAenlD,GACtB,IAAIjc,EA2CJ,OA1CA,OAAgB3E,KAAM+lE,GACtBphE,EAAQ,GAAW3E,KAAM+lE,EAAgB,CAACnlD,KAC1C,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAIgM,EAAgBhM,EAAMic,MAAMjQ,cAChChM,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAMolD,gCAAgCr1D,EAAc/J,GAAIjC,EAAMic,MAAMuR,MAAMlW,OAAOgqD,YAAY/iE,MAAK,WACtGyB,EAAMic,MAAMxH,aAAazU,EAAMic,MAAMslD,eAAejsD,OACpDtV,EAAMye,SAAS,CACbmN,SAAS,GAEb,IACI5rB,EAAMic,MAAM1U,MAAMvK,OAAS,GAC7BgD,EAAMic,MAAM3U,UAEhB,KACA,OAAgBtH,EAAO,sBAAsB,WAC3C,IAAIuhE,EAAiBvhE,EAAMic,MAAMslD,eAC7BngE,EAAO,CACTkU,MAAOisD,EAAejsD,MACtBwV,OAAQ,CAAC,CACPjL,QAAS,OAAS0hD,EAAejsD,MAAQ,QACzCyV,SAAU,aACT,CACDlL,QAASioB,GAAey5B,EAAex5B,aACvChd,SAAU,eAGd/qB,EAAMic,MAAMtJ,sBAAsBpU,MAAK,WACrC,IAAI8U,EAASrT,EAAMic,MAAM5I,OACzB,GAAgB4X,YAAY5X,EAAOT,MAAOS,EAAOR,UAAWzR,EAAM,CAChE8pB,QAAQ,KAAA/O,uBACA,OAAE,SAAUjc,GACpBK,QAAQL,MAAM,QAASA,EAEzB,GACF,GACF,IACAF,EAAM4E,MAAQ,CACZgO,MAAO,MAEF5S,CACT,CAEA,OADA,QAAUohE,EAAgB1lD,IACnB,OAAa0lD,EAAgB,CAAC,CACnC1jE,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACT0hB,EAAc1hB,KAAK4gB,MACrBslD,EAAiBxkD,EAAYwkD,eAC7Bv3C,EAAYjN,EAAYiN,UACd3uB,KAAKuJ,MAAM48D,MACvB,OAAInmE,KAAKuJ,MAAMgnB,QACO,gBAAoB,MAAO,CAC7CxO,UAAW,yCACG,gBAAoB,GAAS,CAC3CH,QAAQ,KAGU,MAAlBskD,EACkB,gBAAoB,MAAO,CAC7CnkD,UAAW,yCACG,gBAAoB,MAAO,CACzCA,UAAW,gCACXE,MAAO,CACLse,WAAY,MAEA,gBAAoB,SAAc,KAAmB,gBAAoB,MAAO,CAC9Fxe,UAAW,2BACG,gBAAoB,OAAQ,CAC1CA,UAAW,SACV4M,EAAU,gBAA8B,gBAAoB,KAAM,CACnE/J,GAAI,IACJ9B,QAAS9iB,KAAKkwB,oBACA,gBAAoB,MAAO,CACzCnO,UAAW,kBACG,gBAAoB,GAAkB,MAAO,IAAK4M,EAAU,sBAAoC,gBAAoBirB,GAAa,KAAMnN,GAAey5B,EAAex5B,eAAgBw5B,EAAev2B,iBAAmBu2B,EAAev2B,gBAAgBhuC,OAAS,EAAiB,gBAAoB,MAAO,KAAMukE,EAAev2B,gBAAgB7xB,KAAI,SAAUsoD,GAC5W,IAAIx2B,EAAOtd,EAAO1R,MAAM1U,MAAMoK,MAAK,SAAUvV,GAC3C,OAAOA,EAAE6F,IAAMw/D,EAAet2B,MAChC,IACA,OAAY,MAARF,EACkB,gBAAoB,MAAO,CAC7CvtC,IAAKutC,EAAKhpC,GACVmb,UAAW,eACX,eAAgB6tB,EAAKlxB,KACrBuD,MAAO,CACLqE,gBAAiBspB,EAAKhJ,YAEvBgJ,EAAK31B,OAEH,IACT,KAAM,MAAOisD,EAAe71B,gBAAgB1uC,OAAS,EAAiB,gBAAoB,GAAc,CACtGqjB,KAAM,KACQ,gBAAoB,MAAO,CACzCjD,UAAW,qBACVmkD,EAAe71B,gBAAgBvyB,KAAI,SAAUzP,EAAM4V,GACpD,IAAIoiD,EAAUh4D,EAAKoL,IACnB,OAAIpL,EAAKlG,KAAKxJ,QAAQ,UAAY,EACZ,gBAAoB,GAAO,CAC7C0D,IAAK,QAAQ/C,OAAO+O,EAAKzH,GAAI,KAAKtH,OAAO2kB,IAC3B,gBAAoB,MAAO,CACzCutB,IAAK60B,EACLpkD,MAAO,CACL+D,MAAO,OACPuD,OAAQ,OACRS,QAAS,QACTkT,aAAc,cAIA,gBAAoB,GAAO,CAC7C76B,IAAK,QAAQ/C,OAAO+O,EAAKzH,GAAI,KAAKtH,OAAO2kB,IAC3B,gBAAoB,IAAK,CACvCvK,KAAM2sD,EACNtkD,UAAW,gBACXlW,OAAQ,UACM,gBAAoB,MAAO,CACzCoW,MAAO,CACL+H,QAAS,eACThE,MAAO,UACPuD,OAAQ,UACRD,SAAU,WACVwO,IAAK,EACLqF,YAAa,YAED,gBAAoB,GAAAhT,KAAM,CACxC3Q,KAAM,UACHnL,EAAKmL,MACZ,MAAO,MAAoB,gBAAoB,MAAO,CACpDyI,MAAO,CACLvf,MAAO,WAIO,gBAAoB,MAAO,CAC7Cqf,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,SAAc,KAAmB,gBAAoB,MAAO,CAC9FE,MAAO,CACLiW,QAAS,UAEXnW,UAAW,yCACV/hB,KAAK4gB,MAAM+N,UAAU,4EAC1B,IAEJ,CAtJkC,CAsJhC,EAAA1N,WAWF,UAAe,SAVf,SAAyB1X,GACvB,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1BtJ,KAAMkC,EAAMsV,KAAKxX,KACjB6+D,eAAgB38D,EAAMuT,UAAU1O,cAChClC,MAAO3C,EAAMsT,KAAK3Q,MAClB8L,OAAQzO,EAAMsV,KAAK7G,OACnB2W,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC8qD,gCpL/J2C,SAAyC99D,EAAWtB,GAC/F,MAAO,CACLuB,KAAM0F,GACNzF,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,mBAAmB5I,OAAOsH,IAAK1D,MAAK,SAAUe,GAC/FlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EoLuJEugE,+BpLhJ0C,SAAwCp+D,EAAWtB,EAAI2/D,GACjG,MAAO,CACLp+D,KAAM4F,GACN3F,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,yBAAyB/G,OAAO4I,EAAW,mBAAmB5I,OAAOsH,EAAI,UAAUtH,OAAOinE,IAASrjE,MAAK,SAAUe,GACxHlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EoLwIEkG,SAAUA,GACVqL,oBAAqBA,GACrB8B,aAAcA,IALhB,CAMG2sD,ICzLH,SAAS,GAAWhlE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAOlP,IAAIylE,GAAiC,SAAUnmD,GAC7C,SAASmmD,IAEP,OADA,OAAgBxmE,KAAMwmE,GACf,GAAWxmE,KAAMwmE,EAAmB9kE,UAC7C,CAEA,OADA,QAAU8kE,EAAmBnmD,IACtB,OAAammD,EAAmB,CAAC,CACtCnkE,IAAK,SACLC,MAAO,WACL,IAAIqC,EAAQ3E,KAERymE,GADYzmE,KAAK4gB,MAAM+N,UACF3uB,KAAK4gB,MAAM5X,WAAWpC,IAAMV,SAASlG,KAAK4gB,MAAM5X,WAAWpC,GAAI,KACpF8/D,EAAiB,GAEG,MAApB1mE,KAAK4gB,MAAM6C,OACLzjB,KAAK4gB,MAAM6C,MAErB,IAAI3d,EAAS,GACb,GAAyB,MAArB9F,KAAK4gB,MAAM9a,OAAgB,CAC7B,IAAI4rC,EAAe1xC,KAAK4gB,MAAM9a,OAAO6rC,gBAAgBr7B,MAAK,SAAUnO,GAClE,OAAOA,EAAKvB,IAAMjC,EAAMic,MAAM5X,WAAWiB,cAC3C,IACoB,MAAhBynC,EACF5rC,EAAS4rC,EAAapvC,MAEkB,MAApCtC,KAAK4gB,MAAM5X,WAAW4oC,aACxB9rC,EAAS,QAGf,CACA,OAAoB,gBAAoB,GAAAqnB,KAAM,KAAmB,gBAAoB,MAAO,CAC1FlL,MAAO,CACLiI,KAAM,IAEPu8C,GAAuD,MAAjCzmE,KAAK4gB,MAAM5X,WAAWkH,SAAmBlQ,KAAK4gB,MAAM5X,WAAWkH,QAAQvO,OAAS,EAAiB,gBAAoB,GAAqB,KAAM3B,KAAK4gB,MAAM5X,WAAWkH,QAAQ4N,KAAI,SAAUD,GACnN,GAEM,MAFF6oD,EAAepwD,MAAK,SAAUvV,GAChC,OAAOA,GAAK8c,EAAOjX,EACrB,IAAY,CACV,IAAI8X,EAAOb,EAAO5D,MAGlB,OAFAyE,EAAsB,MAAfb,EAAO8oB,KAAejoB,EAAO,IAAMb,EAAO8oB,KAAOjoB,EACxDgoD,EAAenlE,KAAKsc,EAAOjX,IACP,gBAAoB,GAAY,CAClDvE,IAAKwb,EAAOjX,GACZuf,QAASzH,EACT+E,MAAO5F,EAAO+oB,WAElB,CACF,KAAM,KAAM6/B,EAAkC,gBAAoB,OAAQ,CACxE1kD,UAAW,SACV/hB,KAAK4gB,MAAM5X,WAAWiR,OAAsB,gBAAoB,OAAQ,CACzE8H,UAAW,SACV/hB,KAAK4gB,MAAM5X,WAAW4B,aAAc67D,EAAkC,gBAAoB,MAAO,CAClGxkD,MAAO,CACLwnB,SAAU,mBAEsB,MAAjCzpC,KAAK4gB,MAAM5X,WAAWwY,QAAkBxhB,KAAK4gB,MAAM5X,WAAWwY,QAAQvH,MAAQ,IAAM,MAAoB,gBAAoB,MAAO,CACpI8H,UAAW,mBACG,gBAAoB,MAAO,KAAM0kD,EAAsD,uBAAjCzmE,KAAK4gB,MAAM5X,WAAWwmB,QAAgD,gBAAoB,GAAS,KAAMxvB,KAAK4gB,MAAM5X,WAAWgB,SAAW,KAAoB,gBAAoB,GAAS,KAAMhK,KAAK4gB,MAAM5X,WAAW6B,aAAoD,MAAtC7K,KAAK4gB,MAAM5X,WAAWkpC,aAAoC,gBAAoB,MAAO,CAC9XnwB,UAAW,aACV/hB,KAAK4gB,MAAM+N,UAAU,aAAe,KAAO83C,GAA0D,MAApCzmE,KAAK4gB,MAAM5X,WAAW29D,WAKK,uBAAjC3mE,KAAK4gB,MAAM5X,WAAWwmB,QAAgD,gBAAoB,OAAQ,CAC9JzN,UAAW,iBACV/hB,KAAK4gB,MAAM+N,UAAU,qBAAoC,gBAAoB,MAAO,CACrF5M,UAAW,aACVjc,GATyH,gBAAoB,MAAO,CACrJic,UAAW,YACXE,MAAO,CACLkb,YAAa,IAED,gBAAoB,OAAQ,KAAM,UAIjB,MAArBn9B,KAAK4gB,MAAM2T,OAA8B,gBAAoB,OAAQ,CAC/ExS,UAAW,kBACXe,QAAS,WACP,OAAOne,EAAMic,MAAM2T,QACrB,GACc,gBAAoB,GAAApK,KAAM,CACxC3Q,KAAM,SACF,MAAoB,gBAAoB,MAAO,CACnDuI,UAAW,mBAC4B,MAAtC/hB,KAAK4gB,MAAM5X,WAAWkpC,aAAoC,gBAAoB,MAAO,CACtFnwB,UAAW,aACV,UAAe,OACpB,IAEJ,CAlFqC,CAkFnC,EAAAd,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCpV,OAAQyD,EAAMsT,KAAK/W,OAEvB,GACA,CAAwC0gE,IChGxC,SAAS,GAAWzlE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CA6ElP,SAvEmC,SAAU4/D,GAC3C,SAASiG,EAAgB1hD,GACvB,IAAIvgB,EAgEJ,OA/DA,OAAgB3E,KAAM4mE,GACtBjiE,EAAQ,GAAW3E,KAAM4mE,EAAiB,CAAC1hD,KAC3C,OAAgBvgB,EAAO,WAAW,SAAUic,GAC1C,OAAoB,gBAAoB,MAAO,CAC7CmB,UAAW,mCACS,MAAnBnB,EAAMinC,WAAqBjnC,EAAMinC,UAAUlmD,OAAS,EAAIif,EAAMinC,UAAU/pC,KAAI,SAAU8pC,GACvF,OAAoB,gBAAoB,KAAM,CAC5C7lC,UAAW,sBACX6C,GAAI,eAAetlB,OAAOsoD,EAAShhD,IACnCvE,IAAKulD,EAAShhD,IACA,gBAAoB,GAAmB,CACrDoC,WAAY4+C,IAEhB,IAAK,KACP,KACA,OAAgBjjD,EAAO,QAAQ,SAAUic,GACvC,OAAO,IACT,IACAjc,EAAM6U,KAAO,2BACb7U,EAAMkiE,MAAQ,GACdliE,EAAMmiE,QAAU,WACd,OAAoB,gBAAoB,MAAO,CAC7C1kD,MAAO,6BACPG,QAAS,YACT6B,wBAAyB,CACvBC,OAAQ,soBAGd,GACA,KAAA0iD,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,YACRr3B,GAAI,+BAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,cACRr3B,GAAI,+BAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,WACRr3B,GAAI,+BAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,UACRr3B,GAAI,+BAEN,KAAAmgE,sBAAqB,KAAM,CAAC,CAC1B9oC,OAAQ,SACRr3B,GAAI,8BAENjC,EAAMg9D,qBAAqB,qCAAsC,CAC/D/6D,GAAI,SACJqT,MAAO,SACPhQ,eAAgB,SAChByiC,YAAa,UACb1iC,QAAS,SACTg9D,aAAc,UACdC,qBAAsB,SACtB/qD,UAAW,SACXrS,UAAW,SACX/D,OAAQ,SACRohE,eAAgB,SAChBC,WAAY,WAEPxiE,CACT,CAEA,OADA,QAAUiiE,EAAiBjG,IACpB,OAAaiG,EACtB,CAtEmC,CAsEjC,GAAAhF,eC5EF,SAAS,GAAW7gE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CA0ElP,SAtE6B,SAAU4/D,GACrC,SAASyG,EAAUliD,GACjB,IAAIvgB,EA+DJ,OA9DA,OAAgB3E,KAAMonE,GACtBziE,EAAQ,GAAW3E,KAAMonE,EAAW,CAACliD,KACrC,OAAgBvgB,EAAO,QAAQ,SAAUic,GACvC,OAAO,IACT,KACA,OAAgBjc,EAAO,WAAW,SAAUic,GAC1C,IAAIinC,EAAY,GAMhB,OALuB,MAAnBjnC,EAAMinC,WAAqBjnC,EAAMinC,UAAUlmD,OAAS,IACtDkmD,GAAY,OAAmBjnC,EAAMinC,WAAWt9C,MAAK,SAAUC,EAAGC,GAChE,OAAOD,EAAEgP,KAAK6tD,cAAc58D,EAAE+O,KAChC,KAEkB,gBAAoB,MAAO,CAC7CuI,UAAW,4BACV8lC,EAAU/pC,KAAI,SAAU8pC,GACzB,OAAoB,gBAAoB,IAAK,CAC3C7lC,UAAW,gBACXrI,KAAMkuC,EAASnuC,IACf5N,OAAQ,SACRxJ,IAAKulD,EAASpuC,MACA,gBAAoB,MAAO,CACzCuI,UAAW,QACV6lC,EAASpuC,MACd,IACF,IACA7U,EAAM6U,KAAO,qBACb7U,EAAMkiE,MAAQ,GACdliE,EAAMmiE,QAAU,WACd,OAAoB,gBAAoB,MAAO,CAC7C1kD,MAAO,6BACPG,QAAS,YACT6B,wBAAyB,CACvBC,OAAQ,gqBAGd,GACA,KAAA0iD,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,QACRr3B,GAAI,yBAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,QACRr3B,GAAI,yBAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,QACRr3B,GAAI,yBAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,QACRr3B,GAAI,yBAEN,KAAAmgE,sBAAqB,KAAM,CAAC,CAC1B9oC,OAAQ,QACRr3B,GAAI,wBAENjC,EAAMg9D,qBAAqB,8BAA+B,CACxD/6D,GAAI,SACJ4S,KAAM,SACNrR,KAAM,SACNsR,IAAK,WAEA9U,CACT,CAEA,OADA,QAAUyiE,EAAWzG,IACd,OAAayG,EACtB,CArE6B,CAqE3B,GAAAxF,eC3EF,SAAS,GAAW7gE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAyGlP,SApG8B,SAAU4/D,GACtC,SAAS2G,EAAWpiD,GAClB,IAAIvgB,EA6FJ,OA5FA,OAAgB3E,KAAMsnE,GACtB3iE,EAAQ,GAAW3E,KAAMsnE,EAAY,CAACpiD,KACtC,OAAgBvgB,EAAO,WAAW,SAAU8U,GAI1C,MAHK,sBAAsB+nB,KAAK/nB,KAC9BA,EAAM,UAAYA,GAEbA,CACT,KACA,OAAgB9U,EAAO,WAAW,SAAUic,GAC1C,OAAoB,gBAAoB,MAAO,CAC7CmB,UAAW,wBACS,MAAnBnB,EAAMinC,UAAiC,gBAAoB,MAAO,CACnE9lC,UAAW,sBACVnB,EAAMinC,UAAU/pC,KAAI,SAAU8pC,EAAU3jC,GACzC,OAAoB,gBAAoB,MAAO,CAC7ClC,UAAW,0BACX1f,IAAK4hB,GACS,gBAAoB,IAAK,CACvClC,UAAW,gBACXrI,KAAM/U,EAAM4iE,QAAQ3f,EAASnuC,KAC7B5N,OAAQ,UACM,gBAAoB,MAAO,CACzCkW,UAAW,gBACQ,IAAlB6lC,EAASljC,MAA2B,gBAAoB,MAAO,CAChE3C,UAAW,QACXE,MAAO,CACLC,gBAAiB,OAAO5iB,OAAOsoD,EAASljC,MAAO,QAE9C,KAAmB,gBAAoB,MAAO,CACjD3C,UAAW,WACG,gBAAoB,MAAO,CACzCA,UAAW,QACXqC,wBAAyB,CACvBC,OAAQ,cAAmBujC,EAAS3tC,UAEvB,gBAAoB,MAAO,CAC1C8H,UAAW,cACXqC,wBAAyB,CACvBC,OAAQ,cAAmBujC,EAASlb,kBAErB,gBAAoB,MAAO,CAC5C3qB,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,OACG,gBAAoB,IAAK,CACvCrI,KAAM/U,EAAM4iE,QAAQ3f,EAASnuC,KAC7B5N,OAAQ,UACP+7C,EAASnuC,IAAkB,gBAAoB,GAAA0Q,KAAM,CACtD3Q,KAAM,iBAEV,KAAM,KACR,KACA,OAAgB7U,EAAO,QAAQ,SAAUic,GACvC,OAAO,IACT,IACAjc,EAAM6U,KAAO,qBACb7U,EAAMkiE,MAAQ,GACdliE,EAAMmiE,QAAU,WACd,OAAoB,gBAAoB,MAAO,CAC7C1kD,MAAO,6BACPG,QAAS,YACT6B,wBAAyB,CACvBC,OAAQ,m0BAGd,GACA,KAAA0iD,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,SACRr3B,GAAI,yBAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,QACRr3B,GAAI,yBAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,QACRr3B,GAAI,yBAEN,KAAAmgE,sBAAqB,QAAS,CAAC,CAC7B9oC,OAAQ,QACRr3B,GAAI,yBAEN,KAAAmgE,sBAAqB,KAAM,CAAC,CAC1B9oC,OAAQ,YACRr3B,GAAI,wBAENjC,EAAMg9D,qBAAqB,2BAA4B,CACrD1nD,MAAO,SACPyyB,YAAa,SACbhoB,MAAO,SACPjL,IAAK,WAEA9U,CACT,CAEA,OADA,QAAU2iE,EAAY3G,IACf,OAAa2G,EACtB,CAnG8B,CAmG5B,GAAA1F,eCzGF,SAAS,GAAW7gE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAI,GAA6B,SAAUsf,GACzC,SAASmnD,IAEP,OADA,OAAgBxnE,KAAMwnE,GACf,GAAWxnE,KAAMwnE,EAAe9lE,UACzC,CAEA,OADA,QAAU8lE,EAAennD,IAClB,OAAamnD,EAAe,CAAC,CAClCnlE,IAAK,SACLC,MAAO,WACL,IAAIggE,EAAU,CAAC,GAAiB,GAAW,GAAY,GAAAmF,aACvD,OAAoB,gBAAoB,GAAApF,qBAAqB,QAAS,CACpEC,QAASA,GACRtiE,KAAK4gB,OACV,IAEJ,CAfiC,CAe/B,EAAAK,WACF,YCxBA,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAKlP,IAAI2mE,GAAmC,SAAUrnD,GAC/C,SAASqnD,IAEP,OADA,OAAgB1nE,KAAM0nE,GACf,GAAW1nE,KAAM0nE,EAAqBhmE,UAC/C,CAEA,OADA,QAAUgmE,EAAqBrnD,IACxB,OAAaqnD,EAAqB,CAAC,CACxCrlE,IAAK,SACLC,MAAO,WACL,IAAIqC,EAAQ3E,KACR0hB,EAAc1hB,KAAK4gB,MACrB+N,EAAYjN,EAAYiN,UACxBg5C,EAAcjmD,EAAYimD,YAC5B,GAAmB,MAAfA,GAAmD,MAA5B3nE,KAAK4gB,MAAM0vC,cACpC,OAAoB,gBAAoB,GAAS,CAC/C1uC,QAAQ,IAGZ,IAAIgmD,EAAgB,mEACpB,OAAoB,gBAAoB,MAAO,CAC7C7lD,UAAW,yBACG,gBAAoB,GAAY,CAC9C9H,MAAO0U,EAAU,4DACjBnL,iBAAiB,EACjBnhB,IAAK,0BACJslE,EAAY7pD,KAAI,SAAU0G,EAASP,GACpC,IAAIhK,EAAQ,GAUZ,OATiC,MAA7BtV,EAAMic,MAAM0vC,eACd3rD,EAAMic,MAAM0vC,cAAcpgD,QAAQtO,SAAQ,SAAUic,GAClDA,EAAO2sC,QAAQ5oD,SAAQ,SAAUi+C,GAC3BA,EAAOj5C,IAAM4d,EAAQqjD,aAAa,GAAGC,kBACvC7tD,EAAQ,GAAG3a,OAAOue,EAAO5D,MAAO,KAAK3a,OAAsB,MAAfue,EAAO8oB,KAAe9oB,EAAO8oB,KAAO,GAAI,MAAMrnC,OAAOue,EAAOkqD,WAAY,KAExH,GACF,IAEkB,gBAAoB,MAAO,CAC7C1lE,IAAK,cAAgB4hB,GACP,gBAAoB,KAAM,KAAMhK,GAAQuK,EAAQqjD,aAAa/pD,KAAI,SAAUkqD,GACzF,IAAIC,EAAkBD,EAAW/tD,MAAMsoB,OACvC,OAAoB,gBAAoB,MAAO,CAC7CxgB,UAAW,mBACX1f,IAAK,gBAAkB2lE,EAAWphE,IACb,KAApBqhE,GAA0BA,IAAoBL,EAA6B,gBAAoB,KAAM,KAAMK,GAAmB,KAAMD,EAAWE,QAAQpqD,KAAI,SAAUqqD,GACtK,OAAoB,gBAAoB,MAAO,CAC7CpmD,UAAW,cACX1f,IAAK,oBAAsB8lE,EAAOvhE,IACpB,gBAAoB,KAAM,KAAMuhE,EAAOluD,OAAS2tD,EAAgBO,EAAOluD,MAAQ,IAAkB,gBAAoB,KAAM,KAAMkuD,EAAOC,WAAWtqD,KAAI,SAAUuH,GAC/K,OAAoB,gBAAoB,KAAM,CAC5ChjB,IAAK,cAAgBgjB,EAAIze,IACxBye,EAAI3G,KACT,KACF,IACF,IACF,KACF,IAEJ,CAzDuC,CAyDrC,EAAAuC,WAOF,UAAe,SANf,SAAyB1X,GACvB,MAAO,CACL+mD,cAAe/mD,EAAMkG,OAAOC,YAC5Bif,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACA,CAAwCwsD,IClBxC,SArDsB,SAAyB9mD,GAC7C,IAAIynD,GAAc,IAAA5P,UAAQ,WACxB,GAA8B,MAA1B73C,EAAMqhD,kBAA6D,GAAjCrhD,EAAMqhD,iBAAiBtgE,OAC3D,MAAO,GAET,IAAIoE,EAAO,GA0BX,OAzBa6a,EAAMqhD,iBAAiB7gE,QAAO,SAAUqJ,GACnD,MAAkB,kCAAXA,EAAEtC,IACX,IACOvG,SAAQ,SAAUkX,GACvB,IAAI+uC,EAAY/uC,EAAM+uC,UAAUzmD,QAAO,SAAU6xC,GAC/C,MAA4B,sCAArBA,EAAE,gBAA8E,WAApBA,EAAE13B,aACvE,IACIssC,GACFA,EAAUjmD,SAAQ,SAAUgmD,GAC1B,IAAI/pC,EAAS3Q,KAAKyL,MAAMzL,KAAKC,UAAUy6C,IAKvC,GAAc,MAJD7hD,EAAKuQ,MAAK,SAAUxV,GAC/B,IAAIwnE,EAAUlI,EACd,OAAiC,QAAxBkI,EAAWxnE,EAAEwB,aAAgC,IAAbgmE,OAAsB,EAASA,EAAS1hE,MAA2C,QAAlCw5D,EAAgBviD,EAAOvb,aAAqC,IAAlB89D,OAA2B,EAASA,EAAcx5D,GACxL,IACoB,CAClB,IAAI2hE,EACA/d,EAAU3sC,SAA4E,QAAnC0qD,EAAiB1qD,EAAOvb,aAAsC,IAAnBimE,OAA4B,EAASA,EAAe/d,QAAQppD,QAAO,SAAUihB,GAC7K,OAAoB,MAAbA,EAAErG,SAAmB,KAAOqG,EAAErG,SAASjS,QAAQ,OACxD,IACA8T,EAAOvb,MAAMkoD,QAAUA,EACvBzkD,EAAKxE,KAAKsc,EACZ,CACF,GAEJ,IACO9X,CACT,GAAG,CAAC6a,EAAMqhD,mBACV,OAAoB,gBAAoB,MAAO,CAC7ClgD,UAAW,gBACVsmD,EAAY1mE,OAAS,EAAI0mE,EAAYvqD,KAAI,SAAUhF,EAAOmL,GAC3D,IAAIukD,EAAcC,EAAmBC,EAAeC,EAAeC,EAAuBC,EAC1F,OAAoB,gBAAoB,GAAAjmD,WAAY,CAClD3I,MAAO,GAAG3a,OAAwC,QAAhCkpE,EAAe1vD,EAAMxW,aAAoC,IAAjBkmE,OAA0B,EAASA,EAAavuD,MAAO,KAAK3a,OAAkI,QAA1HmpE,EAAsD,QAAjCC,EAAgB5vD,EAAMxW,aAAqC,IAAlBomE,OAA2B,EAASA,EAAc/hC,YAAwC,IAAtB8hC,EAA+BA,EAAoB,GAAI,MAAMnpE,OAAyC,QAAjCqpE,EAAgB7vD,EAAMxW,aAAqC,IAAlBqmE,OAA2B,EAASA,EAAcZ,WAAY,KAC5atkD,MAAiL,QAAzKmlD,EAAwB9vD,SAAwE,QAAjC+vD,EAAgB/vD,EAAMxW,aAAqC,IAAlBumE,OAA2B,EAASA,EAAcjiC,iBAAiD,IAA1BgiC,EAAmCA,EAAwB,UACpPvmE,IAAK4hB,EACLT,iBAAiB,GAChB1K,EAAMxW,MAAMkoD,QAAQ1sC,KAAI,SAAUhF,EAAOmL,GAC1C,OAAoB,gBAAoB,MAAO,CAC7C5hB,IAAK4hB,EACLlC,UAAW,iBACXqC,wBAAyB,CACvBC,OAAQvL,EAAMgwD,UAGpB,IACF,IAAkB,gBAAoB,MAAO,MAC/C,EC/CA,SAAS,GAAW/nE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAuBlP,IAAI,GAAkB,EAAQ,MAC1BgoE,GAA0B,SAAU1oD,GACtC,SAAS0oD,EAAWnoD,GAClB,IAAIjc,GACJ,OAAgB3E,KAAM+oE,GACtBpkE,EAAQ,GAAW3E,KAAM+oE,EAAY,CAACnoD,KACtC,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAIgM,EAAgBhM,EAAMic,MAAMjQ,cAChChM,EAAMic,MAAMooD,uBAAuBr4D,EAAc/J,GAAIjC,EAAMic,MAAMuR,MAAMlW,OAAO6lC,QAAQ5+C,MAAK,WACzFyB,EAAMic,MAAMxH,aAAazU,EAAMic,MAAMqoD,WAAWhvD,OAChDtV,EAAMic,MAAMvR,wBAAwBsB,EAAc/J,GAAIjC,EAAMic,MAAMqoD,WAAW/sD,WAC7EvX,EAAMic,MAAMsoD,kCAAkCvkE,EAAMic,MAAMuR,MAAMlW,OAAO6lC,QACvEn9C,EAAMic,MAAMvF,qBAAqB1W,EAAMic,MAAMuR,MAAMlW,OAAO6lC,OAAQ,QAAQ5+C,MAAK,WAC7EyB,EAAMye,SAAS,CACbw/C,eAAe,GAEnB,GACF,IAAU,OAAE,SAAU/9D,IAChBA,EAAMZ,UAAsC,MAA1BY,EAAMZ,SAAS6B,QAA4C,MAA1BjB,EAAMZ,SAAS6B,UACpEnB,EAAMye,SAAS,CACbw/C,eAAe,IAEjBj+D,EAAMye,SAAS,CACb+vC,aAAcxuD,EAAMic,MAAM+N,UAAU,2BAG1C,IACIhqB,EAAMic,MAAM1U,MAAMvK,OAAS,GAC7BgD,EAAMic,MAAM3U,UAEhB,KACA,OAAgBtH,EAAO,uBAAuB,WAC5CA,EAAMye,SAAS,CACby/C,oBAAqB,MAEzB,KACA,OAAgBl+D,EAAO,oBAAoB,WACzCA,EAAMye,SAAS,CACby/C,oBAAqBl+D,EAAMic,MAAMjQ,eAErC,KACA,OAAgBhM,EAAO,uBAAuB,SAAUmB,GACtD,IAAI6oB,EAAYhqB,EAAMic,MAAM+N,UAC5B,MAAe,kBAAX7oB,EACkB,gBAAoB,OAAQ,CAC9Cic,UAAW,wBACV4M,EAAU,SACO,oBAAX7oB,EACW,gBAAoB,OAAQ,CAC9Cic,UAAW,sBACV4M,EAAU,WACO,mBAAX7oB,EACW,gBAAoB,OAAQ,CAC9Cic,UAAW,uBACV4M,EAAU,UAER,IACT,KACA,OAAgBhqB,EAAO,eAAe,SAAUmB,GAC9C,IAAI6oB,EAAYhqB,EAAMic,MAAM+N,UAC5B,MAAe,kBAAX7oB,EACkB,gBAAoB,OAAQ,CAC9Cic,UAAW,wBACV4M,EAAU,SACO,oBAAX7oB,EACW,gBAAoB,OAAQ,CAC9Cic,UAAW,sBACV4M,EAAU,WACO,yBAAX7oB,EACW,gBAAoB,OAAQ,CAC9Cic,UAAW,wBACV4M,EAAU,aAEK,gBAAoB,OAAQ,CAC9C5M,UAAW,sBACV4M,EAAU,UACf,KACA,OAAgBhqB,EAAO,sBAAsB,WAC3C,IACIoB,E1FhGoC,SAA0CkU,EAAOipD,GAC7F,IAAIn9D,EAAO,CACTkU,MAAOA,EACPwV,OAAQ,CAAC,CACPjL,QAAS,OAASvK,EAAQ,QAC1ByV,SAAU,eAmBd,OAhBc,MAAVwzC,GACFA,EAAOthE,SAAQ,SAAU48D,GACL,wBAAdA,EAAMr2D,OACW,MAAfq2D,EAAMvkD,OAAgC,IAAfukD,EAAMvkD,OAC/BlU,EAAK0pB,OAAOluB,KAAK,CACfijB,QAAS,OAAOllB,OAAOk/D,EAAMvkD,MAAO,SACpCyV,SAAU,cAGd3pB,EAAK0pB,OAAOluB,KAAK,CACfijB,QAASioB,GAAe+xB,EAAMl8D,OAC9BotB,SAAU,cAGhB,IAEK3pB,CACT,C0FuEiBojE,CADMxkE,EAAMic,MAAMqoD,WAC0BhvD,MAAOtV,EAAMic,MAAMsiD,QAC1Ev+D,EAAMic,MAAMtJ,sBAAsBpU,MAAK,WACrC,IAAI8U,EAASrT,EAAMic,MAAM5I,OACzB,GAAgB4X,YAAY5X,EAAOT,MAAOS,EAAOR,UAAWzR,EAAM,CAChE8pB,QAAQ,KAAA/O,uBACA,OAAE,SAAUjc,GACpBK,QAAQL,MAAM,QAASA,EAEzB,GACF,GACF,KACA,OAAgBF,EAAO,uBAAoC,OAAgC,UAAyB,SAASX,IAC3H,IAAI0d,EAAaunD,EAAYG,EAAaz6C,EAAW06C,EAAerxD,EAAQ0rB,EAAOtW,EAAKtnB,EAAQC,EAChG,OAAO,UAAyB,SAAkB5B,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAIH,OAHA6d,EAAc/c,EAAMic,MAAOqoD,EAAavnD,EAAYunD,WAAYG,EAAc1nD,EAAY0nD,YAAaz6C,EAAYjN,EAAYiN,UAC/H06C,EAAgB5mE,aAAagD,QAAQ,YACrCtB,EAASN,KAAO,EACTc,EAAMic,MAAMtJ,sBACrB,KAAK,EAEH,GAAgB,OADhBU,EAASrT,EAAMic,MAAM5I,QACE,CACrB7T,EAASN,KAAO,EAChB,KACF,CACA,OAAOM,EAASwrB,OAAO,UACzB,KAAK,EACH+T,EAAQ,SAAWulC,EAAWj+B,WAAWlhC,QAAQ2O,OAAO,SACxD2U,EAAM,SAAW67C,EAAW/9B,SAASphC,QAAQ2O,OAAO,SACpD3S,EAAS6oB,EAAU,QACM,mBAArBs6C,EAAWnjE,SACbA,EAAS6oB,EAAU,WAEI,kBAArBs6C,EAAWnjE,SACbA,EAAS6oB,EAAU,UAErB5oB,EAAO,CACLkU,MAAOgvD,EAAWhvD,MAClBwV,OAAQ,CAAC,CACPjL,QAAS,qBAAqBllB,OAAOqvB,EAAU,oBAAqB,qBACpEe,SAAU,aACT,CACDlL,QAAS,iBAAiBllB,OAAOqvB,EAAU,0BAA2B,mBAAmBrvB,OAAOokC,EAAO,OAAOpkC,OAAO8tB,EAAK,gCAAgC9tB,OAAOwG,EAAQ,mCACzK4pB,SAAU,eAGd,GAAgBE,YAAY5X,EAAOT,MAAOS,EAAOR,UAAWzR,EAAM,CAChE8pB,OAAQw5C,IACA,OAAE,SAAUxkE,GACpBK,QAAQL,MAAM,QAASA,GACvBykE,0BAA0BzkE,EAAOukE,EAAYxiE,GAC/C,IACF,KAAK,GACL,IAAK,MACH,OAAOzC,EAASI,OAEtB,GAAGP,EACL,OACA,OAAgBW,EAAO,eAAe,WACpC,IAAI4kE,EACAl8D,EAAe,KACc,MAA7B1I,EAAMic,MAAMtT,eAA6C,MAApB3I,EAAMic,MAAMvZ,OACnDgG,EAAe1I,EAAMic,MAAMtT,cAAcgJ,MAAK,SAAU41C,GACtD,OAAOA,EAAK9qC,YAAY9K,MAAK,SAAU6gB,GACrC,OAAOA,EAAO7V,cAAgB3c,EAAMic,MAAMvZ,KAAKT,EACjD,GACF,KAEF,IAAIq7D,EAAmB,GACnB7lD,EAAa,KACS,MAAtBzX,EAAMic,MAAMsiD,SACdjB,GAAmB,OAAmBt9D,EAAMic,MAAMsiD,QAAQ9hE,QAAO,SAAUo9D,GACzE,MAAqB,iCAAdA,EAAMr2D,IACf,KAE6B,MAA3BxD,EAAMic,MAAM3X,cACdmT,EAAazX,EAAMic,MAAM3X,YAAYqN,MAAK,SAAU8F,GAClD,OAAOA,EAAWlU,WAAavD,EAAMic,MAAMjQ,cAAc/J,EAC3D,KAEF,IAAI0hB,EAAe3jB,EAAMic,MACvB+N,EAAYrG,EAAaqG,UACzB2hC,EAAgBhoC,EAAagoC,cAC3B0S,GAAsB,EAI1B,OAHI1S,SAAsDA,EAAcp3B,SAAWo3B,aAAqD,EAASA,EAAcp3B,OAAOv3B,QAAU,IAC9KqhE,EAAsBr+D,EAAMs+D,cAAc3S,EAAcp3B,OAAQv0B,EAAMic,MAAMqoD,WAAWh6C,QAASqhC,EAAcr2B,SAAS9zB,aAErG,gBAAoB,MAAO,CAC7C4b,UAAW,0BACX1f,IAAKsC,EAAMic,MAAMqoD,WAAWriE,IACd,gBAAoB,MAAO,CACzCmb,UAAW,iCACG,gBAAoB,SAAc,KAAmB,gBAAoB,GAAY,CACnG9H,MAAOtV,EAAMic,MAAM+N,UAAU,wBAC7BtL,MAAM,GACQ,gBAAoB,KAAM,CACxCuB,GAAI,IACJ9B,QAASne,EAAM6kE,qBACD,gBAAoB,MAAO,CACzCznD,UAAW,kBACG,gBAAoB,GAAkB,MAAOpd,EAAMic,MAAM+N,UAAU,sBAAoC,gBAAoB,OAAQ,CACjJ5M,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,WAAyB,gBAAoB,MAAO,KAA8C,wBAAxChqB,EAAMic,MAAMqoD,WAAWQ,cAAuD,gBAAoB,OAAQ,CAC/K1nD,UAAW,wBACV4M,EAAU,aAAehqB,EAAM+kE,oBAAoB/kE,EAAMic,MAAMqoD,WAAWnjE,QAAsB,gBAAoB,MAAO,CAC5Hic,UAAW,cACK,gBAAoB,OAAQ,CAC5CA,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,gBAA8B,gBAAoB6U,GAAU,CACvEE,MAAO/+B,EAAMic,MAAMqoD,WAAWj+B,UAC9B5d,IAAKzoB,EAAMic,MAAMqoD,WAAW/9B,UACb,gBAAoB,MAAO,CAC1CjpB,MAAO,CACLvf,MAAO,UAEsB,MAA7BiC,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAASxR,eAAiB01D,EAAmC,gBAAoB,GAAApsC,OAAQ,CAC1JzuB,KAAM,YACN2a,QAASne,EAAM0+D,iBACfphD,MAAO,CACLyR,UAAW,OACXpK,SAAU,aAEXqF,EAAU,gBAAiC,MAAhBthB,GAAwBA,EAAa0vB,eAAiB,EAAiB,gBAAoB,MAAO,CAC9Hhb,UAAW,SACG,gBAAoB,OAAQ,KAAM1U,EAAa0vB,iBAAmB,MAAQ,KAAMp4B,EAAMic,MAAMqoD,WAAW/4D,QAAQvO,OAAS,EAAiB,gBAAoB,MAAO,CAClLsgB,MAAO,CACLyR,UAAW,SAEC,gBAAoB,OAAQ,CAC1C3R,UAAW,SACVpd,EAAMic,MAAM+N,UAAU,YAA0B,gBAAoB,MAAO,CAC5E5M,UAAW,WACVpd,EAAMic,MAAMqoD,WAAW/4D,QAAQ4N,KAAI,SAAUD,GAC9C,IAAIa,EAAOb,EAAO5D,MAIlB,OAHmB,MAAf4D,EAAO8oB,OACTjoB,GAAQ,IAAMb,EAAO8oB,MAEH,gBAAoB,MAAO,CAC7C5kB,UAAW,SACX1f,IAAK,SAAWwb,EAAOjX,IACT,gBAAoB,OAAQ,CAC1Cmb,UAAW,YACXE,MAAO,CACLqE,gBAAiBzI,EAAO+oB,aAExBloB,EACN,MAAO,QAAsB,gBAAoB,MAAO,CACtDqD,UAAW,8BACI,gBAAoB,MAAO,CAC1CA,UAAW,aACa,MAAtBpd,EAAMic,MAAMsiD,OAA8B,gBAAoB,SAAc,KAAmB,gBAAoB,GAAY,CACjIjpD,MAAO0U,EAAU,WACjBtL,MAAM,GACL1e,EAAM4E,MAAMq5D,cAA6B,gBAAoB,GAAS,CACvEhhD,QAAQ,IACQ,gBAAoB,EAAAuvB,SAAU,KAAmB,gBAAoB,KAAM,CAC3FvsB,GAAI,IACJ9B,QAASne,EAAMurB,oBACD,gBAAoB,MAAO,CACzCnO,UAAW,kBACG,gBAAoB,GAAkB,MAAO,IAAK4M,EAAU,sBAAoC,gBAAoB,GAAe,CACjJ8Q,OAAQ96B,EAAMic,MAAMsiD,YACd,KAAmB,gBAAoB,MAAO,CACpDnhD,UAAW,2BAC4C,QAApDwnD,EAAwB5kE,EAAMic,MAAMqoD,kBAAkD,IAA1BM,GAAoCA,EAAsBI,iBAAmB1H,EAAiBtgE,OAAS,EAAiB,gBAAoB,MAAO,CAClNogB,UAAW,kBACG,gBAAoB,KAAM,CACxCE,MAAO,CACLiY,aAAc,MACdyI,WAAY,IACZ8G,SAAU,YAEX9kC,EAAMic,MAAM+N,UAAU,YAA0B,gBAAoB,GAAiB,CACtFszC,iBAAkBA,KACd,KAAmC,MAA7Bt9D,EAAMic,MAAMjQ,eAAyBhM,EAAMic,MAAMjQ,cAAcmO,SAASxR,cAA6B,gBAAoB,MAAO,CAC1IyU,UAAW,kBACG,gBAAoB,GAAS,CAC3CtP,KAAM9N,EAAMic,MAAMqoD,WAClBluB,WAAYp2C,EAAM4E,MAAMs5D,oBACxBvqC,QAAS3zB,EAAMsqD,uBACX,KAAMtqD,EAAMic,MAAMqoD,WAAWW,qBAAuBjlE,EAAMic,MAAMqoD,WAAWY,uBAAuBloE,OAAS,EAAiB,gBAAoB,MAAO,CAC3JogB,UAAW,kBACG,gBAAoB,KAAM,CACxCE,MAAO,CACL0gB,WAAY,IACZ8G,SAAU,YAEX9a,EAAU,2BAAyC,gBAAoB,MAAO,KAAmB,gBAAoBm7C,GAAqB,CAC3InC,YAAahjE,EAAMic,MAAMqoD,WAAWY,2BAC/B,KAAmB,gBAAoB,MAAO,CACnD9nD,UAAW,kBACG,gBAAoB,GAAqB,CACvD0d,OAAQwiC,EACR7lD,WAAYA,KACI,gBAAoB,MAAO,CAC3C6F,MAAO,CACLvf,MAAO,UAGb,IACA,IAAIqnE,GAAS,EAUb,OATI7jE,SAASvB,EAAMic,MAAMuR,MAAMlW,OAAO6lC,QAAU,IAC9CioB,EAAS7jE,SAASvB,EAAMic,MAAMuR,MAAMlW,OAAO6lC,SAE7Cn9C,EAAM4E,MAAQ,CACZ3C,GAAImjE,EACJlH,oBAAqB,KACrBD,eAAe,EACfzP,aAAc,MAETxuD,CACT,CAEA,OADA,QAAUokE,EAAY1oD,IACf,OAAa0oD,EAAY,CAAC,CAC/B1mE,IAAK,oBACLC,MAAO,SAA2Bm4B,EAAOnf,GACvC,OAAOmf,EAAMC,MAAK,SAAUC,GAC1B,OAAOA,EAAKrf,cAAgBA,GAA6C,YAA9Bqf,EAAKC,OAAOC,aACzD,GACF,GACC,CACDx4B,IAAK,gBACLC,MAAO,SAAuBkhE,EAAeC,EAAWnoD,GACtD,IAAIgX,EAAStyB,KACb,OAAOwjE,EAAc9oC,MAAK,SAAUrzB,GAClC,OAAOA,EAAKqkB,SAAW+3C,GAAanxC,EAAOyI,kBAAkB1zB,EAAKozB,MAAOnf,EAC3E,GACF,GACC,CACDjZ,IAAK,gBACLC,MAAO,WACL,IAAIw4B,EAAS96B,KACT2uB,EAAY3uB,KAAK4gB,MAAM+N,UAC3B,OAAoB,gBAAoB,MAAO,CAC7C5M,UAAW,0BACX1f,IAAKrC,KAAK4gB,MAAMqoD,WAAWriE,IACb,gBAAoB,MAAO,CACzCmb,UAAW,iCACG,gBAAoB,SAAc,KAAmB,gBAAoB,GAAY,CACnG9H,MAAOja,KAAK4gB,MAAM+N,UAAU,wBAC5BtL,MAAM,GACQ,gBAAoB,KAAM,CACxCP,QAAS9iB,KAAKwpE,qBACA,gBAAoB,MAAO,CACzCznD,UAAW,kBACG,gBAAoB,GAAkB,MAAO/hB,KAAK4gB,MAAM+N,UAAU,sBAAoC,gBAAoB,OAAQ,CAChJ5M,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,WAAyB,gBAAoB,MAAO,KAA6C,wBAAvC3uB,KAAK4gB,MAAMqoD,WAAWQ,cAAuD,gBAAoB,OAAQ,CAC9K1nD,UAAW,wBACV4M,EAAU,aAAe3uB,KAAK0pE,oBAAoB1pE,KAAK4gB,MAAMqoD,WAAWnjE,QAAsB,gBAAoB,MAAO,CAC1Hic,UAAW,cACK,gBAAoB,OAAQ,CAC5CA,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,gBAA8B,gBAAoB6U,GAAU,CACvEE,MAAO1jC,KAAK4gB,MAAMqoD,WAAWj+B,UAC7B5d,IAAKptB,KAAK4gB,MAAMqoD,WAAW/9B,UACZ,gBAAoB,MAAO,CAC1CjpB,MAAO,CACLvf,MAAO,UAEM,gBAAoB,OAAQ,CAC3Cqf,UAAW,QACXE,MAAO,CACLyR,UAAW,SAEZ/E,EAAU,UAAW3uB,KAAK4gB,MAAMqoD,WAAWt5B,iBAAmB3vC,KAAK4gB,MAAMqoD,WAAWt5B,gBAAgBhuC,OAAS,EAAiB,gBAAoB,MAAO,KAAM3B,KAAK4gB,MAAMqoD,WAAWt5B,gBAAgB7xB,KAAI,SAAUsoD,GACpN,IAAIx2B,EAAO9U,EAAOla,MAAM1U,MAAMoK,MAAK,SAAUvV,GAC3C,OAAOA,EAAE6F,IAAMw/D,EAAet2B,MAChC,IACA,OAAY,MAARF,EACkB,gBAAoB,MAAO,CAC7CvtC,IAAKutC,EAAKhpC,GACV,eAAgBgpC,EAAKlxB,KACrBqD,UAAW,eACXE,MAAO,CACLqE,gBAAiBspB,EAAKhJ,YAEvBgJ,EAAK31B,OAEH,IACT,KAAM,QAAsB,gBAAoB,MAAO,CACrD8H,UAAW,8BACI,gBAAoB,MAAO,CAC1CA,UAAW,aACY,MAArB/hB,KAAK4gB,MAAMsiD,OAA8B,gBAAoB,SAAc,KAAmB,gBAAoB,GAAY,CAChIjpD,MAAO0U,EAAU,WACjBtL,MAAM,GACQ,gBAAoB,KAAM,CACxCP,QAAS9iB,KAAKkwB,oBACA,gBAAoB,MAAO,CACzCnO,UAAW,kBACG,gBAAoB,GAAkB,MAAO,IAAK4M,EAAU,sBAAoC,gBAAoB,GAAe,CACjJ8Q,OAAQz/B,KAAK4gB,MAAMsiD,WACd,KACT,GACC,CACD7gE,IAAK,SACLC,MAAO,WACL,IAAI04B,EAASh7B,KACb,GAA2B,MAAvBA,KAAK4gB,MAAMlQ,SACb,OAAoB,gBAAoB,MAAO,MAE/C,GAA6B,MAAzB1Q,KAAK4gB,MAAMqoD,YAAkD,MAA5BjpE,KAAK4gB,MAAM0vC,cAwB9C,OAAoB,gBAAoB,MAAO,CAC7CruC,MAAO,CACL+H,QAAS,OACTiT,eAAgB,SAChB7B,OAAQ,SAETp7B,KAAKuJ,MAAM4pD,aAA4B,gBAAoB,MAAO,CACnElxC,MAAO,CACL+D,MAAO,OACPwhB,UAAW,SACX7E,WAAY,MACZlf,MAAO,UACP6C,gBAAiB,QACjB4R,QAAS,OACT8M,UAAW,uBACX9H,aAAc,QAEfl9B,KAAKuJ,MAAM4pD,cAAgB,KAAMnzD,KAAKuJ,MAAMq5D,gBAAkB5iE,KAAKuJ,MAAM4pD,aAA4B,gBAAoB,GAAS,CACnIvxC,QAAQ,IACL,IA1CL,IACIvK,EADgBrX,KAAK4gB,MAAMjQ,cACJu8B,QAAQ52B,MAAK,SAAUe,GAChD,OAAOA,EAAOzQ,IAAMo0B,EAAOpa,MAAM0vC,cAAcr2B,QACjD,IACA,GAAc,MAAV5iB,EAAgB,OAAoB,gBAAoB,MAAO,MACnE,OAAQA,EAAOlP,MACb,KAAKkkC,GACH,OAAOrsC,KAAKgqE,gBAEd,KAAK19B,GAGL,KAAKC,GAGL,KAAKC,GACH,OAAOxsC,KAAKiqE,cAEd,QACE,OAAoB,gBAAoB,MAAO,MA0BzD,IAEJ,CAzb8B,CAyb5B,EAAAhpD,WAgBE,GAAqB,CACvB+nD,uBlLvdkC,SAAgC9gE,EAAW45C,GAC7E,MAAO,CACL35C,KAAMiK,GACNhK,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,EAAIqD,IAAI,yBAAyB/G,OAAO4I,EAAW,WAAW5I,OAAOwiD,IAAS5+C,MAAK,SAAUe,GAC3FlB,EAAQkB,EAAS8B,KACnB,IAAU,OAAE,SAAUlB,GACpB7B,EAAO6B,EACT,GACF,IAEJ,EkL6cE8G,SAAUA,GACVu9D,kClL7c6C,SAA2CpnB,GACxF,MAAO,CACL35C,KAAMkK,GACNjK,QAAS,IAAItF,SAAQ,SAAUC,GAC7B,EAAIsD,IAAI,wBAAwB/G,OAAOwiD,IAAS5+C,MAAK,SAAUe,GAC7DlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EkLqcEsJ,wBAAyBA,GACzBiI,oBAAqBA,GACrB8B,aAAcA,GACdnN,SAAUA,GACVoP,qBAAsBA,IAExB,UAAe,SAzBO,SAAyB9R,GAC7C,MAAO,CACLlC,KAAMkC,EAAMsV,KAAKxX,KACjB4hE,WAAY1/D,EAAMgU,SAAS9K,KAC3B9B,cAAepH,EAAMsV,KAAKlO,cAC1B2/C,cAAe/mD,EAAMkG,OAAOC,YAC5BzG,YAAaM,EAAMgU,SAAStU,YAC5ByH,SAAUnH,EAAMqT,UAAUlM,SAC1BxE,MAAO3C,EAAMsT,KAAK3Q,MAClBoB,cAAe/D,EAAM0U,aAAaC,uBAClClG,OAAQzO,EAAMsV,KAAK7G,OACnB2W,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCgoD,OAAQ35D,EAAMkW,OAAOhE,UAEzB,GAWwC,GAAxC,CAA4DstD,IC/e5D,SAAS,GAAWhoE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAMlP,IAAI,GAAkB,EAAQ,MAW1BmpE,GAA0B,SAAU7pD,GACtC,SAAS6pD,EAAWtpD,GAClB,IAAIjc,EAgIJ,OA/HA,OAAgB3E,KAAMkqE,GACtBvlE,EAAQ,GAAW3E,KAAMkqE,EAAY,CAACtpD,KACtC,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAIgM,EAAgBhM,EAAMic,MAAMjQ,cAChChM,EAAMye,SAAS,CACbmN,SAAS,IAEX5rB,EAAMic,MAAMupD,uBAAuBx5D,EAAc/J,GAAIjC,EAAMic,MAAMuR,MAAMlW,OAAOmuD,QAAQlnE,MAAK,WACzFyB,EAAMic,MAAMxH,aAAazU,EAAMic,MAAMla,KAAKuT,OAC1CtV,EAAMye,SAAS,CACbmN,SAAS,GAEb,IAAU,OAAE,SAAU1rB,GACA,KAAhBA,EAAMiB,QACRnB,EAAMye,SAAS,CACbinD,cAAc,IAGlB1lE,EAAMye,SAAS,CACbmN,SAAS,GAEb,GACF,KACA,OAAgB5rB,EAAO,sBAAsB,WAC3C,IAAI+B,EAAO/B,EAAMic,MAAMla,KACnBX,EAAO,CACTkU,MAAOvT,EAAKuT,MACZwV,OAAQ,CAAC,CACPjL,QAAS,OAAS9d,EAAKuT,MAAQ,QAC/ByV,SAAU,aACT,CACDlL,QAASioB,GAAe/lC,EAAK4wB,MAC7B5H,SAAU,eAGd/qB,EAAMic,MAAMtJ,sBAAsBpU,MAAK,WACrC,IAAI8U,EAASrT,EAAMic,MAAM5I,OACzB,GAAgB4X,YAAY5X,EAAOT,MAAOS,EAAOR,UAAWzR,EAAM,CAChE8pB,QAAQ,KAAA/O,uBACA,OAAE,SAAUjc,GACpBK,QAAQL,MAAM,QAASA,EAEzB,GACF,GACF,KACA,OAAgBF,EAAO,iBAAiB,WACtC,IAAI+c,EAAc/c,EAAMic,MACtBla,EAAOgb,EAAYhb,KACnBioB,EAAYjN,EAAYiN,UAC1B,OAAIhqB,EAAM4E,MAAMgnB,QACM,gBAAoB,MAAO,CAC7CxO,UAAW,yCACG,gBAAoB,GAAS,CAC3CH,QAAQ,KAGA,MAARlb,EACkB,gBAAoB,MAAO,KAAmB,gBAAoB,SAAc,KAAmB,gBAAoB,MAAO,KAAmB,gBAAoB,MAAO,CAC9Lub,MAAO,CACL+H,QAAS,iBAEG,gBAAoBqU,GAAc,KAAmB,gBAAoB,GAAM,KAAM33B,EAAKmnC,cAA4B,gBAAoB,MAAO,CAC/J9rB,UAAW,2BACG,gBAAoB,OAAQ,CAC1CA,UAAW,SACV4M,EAAU,gBAA8B,gBAAoB,KAAM,CACnE/J,GAAI,IACJ9B,QAASne,EAAMurB,oBACD,gBAAoB,MAAO,CACzCnO,UAAW,kBACG,gBAAoB,GAAkB,MAAO,IAAK4M,EAAU,sBAAoC,gBAAoBirB,GAAa,KAAMnN,GAAe/lC,EAAK4wB,SAAuB,gBAAoB,MAAO,KAAM5wB,EAAK2pC,gBAAgB1uC,OAAS,EAAiB,gBAAoB,GAAc,CAClTqjB,KAAM,KACQ,gBAAoB,MAAO,CACzCjD,UAAW,oBACXE,MAAO,CACL+D,MAAO,SAERtf,EAAK2pC,gBAAgBvyB,KAAI,SAAUzP,EAAM4V,GAC1C,IAAIoiD,EAAUh4D,EAAKoL,IACnB,OAAIpL,EAAKlG,KAAKxJ,QAAQ,UAAY,EACZ,gBAAoB,GAAO,CAC7C0D,IAAK,QAAQ/C,OAAO+O,EAAKzH,GAAI,KAAKtH,OAAO2kB,IAC3B,gBAAoB,MAAO,CACzCutB,IAAK60B,EACLpkD,MAAO,CACL+D,MAAO,OACPuD,OAAQ,OACRS,QAAS,QACTkT,aAAc,cAIA,gBAAoB,GAAO,CAC7C76B,IAAK,QAAQ/C,OAAO+O,EAAKzH,GAAI,KAAKtH,OAAO2kB,IAC3B,gBAAoB,IAAK,CACvCvK,KAAM2sD,EACNtkD,UAAW,gBACXlW,OAAQ,UACM,gBAAoB,MAAO,CACzCoW,MAAO,CACL+H,QAAS,eACThE,MAAO,UACPuD,OAAQ,UACRD,SAAU,WACVwO,IAAK,EACLqF,YAAa,YAED,gBAAoB,GAAAhT,KAAM,CACxC3Q,KAAM,UACHnL,EAAKmL,MACZ,MAAO,OAEW,gBAAoB,MAAO,CAC7CuI,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,SAAc,KAAmB,gBAAoB,MAAO,CAC9FE,MAAO,CACLiW,QAAS,UAEXnW,UAAW,yCACVpd,EAAMic,MAAM+N,UAAU,4EAC3B,IACAhqB,EAAM4E,MAAQ,CACZ8gE,cAAc,EACd95C,SAAS,GAEJ5rB,CACT,CAEA,OADA,QAAUulE,EAAY7pD,IACf,OAAa6pD,EAAY,CAAC,CAC/B7nE,IAAK,SACLC,MAAO,WACL,OAAItC,KAAKuJ,MAAM8gE,aACO,gBAAoB,MAAO,CAC7CtoD,UAAW,eACG,gBAAoB,MAAO,CACzCA,UAAW,kBACG,gBAAoB,SAAc,KAAmB,gBAAoB,MAAO,CAC9FE,MAAO,CACLiW,QAAS,UAEXnW,UAAW,yCACV/hB,KAAK4gB,MAAM+N,UAAU,mDAEN,gBAAoB,MAAO,CAC7C5M,UAAW,eACV/hB,KAAKuJ,MAAMgnB,QAAuB,gBAAoB,GAAS,CAChE3O,QAAQ,IACL5hB,KAAKsqE,gBACZ,IAEJ,CA3J8B,CA2J5B,EAAArpD,WAUF,UAAe,SATO,SAAyB1X,GAC7C,MAAO,CACLoH,cAAepH,EAAMsV,KAAKlO,cAC1BtJ,KAAMkC,EAAMsV,KAAKxX,KACjBX,KAAM6C,EAAMwJ,MAAMrM,KAClBsR,OAAQzO,EAAMsV,KAAK7G,OACnB2W,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtCivD,uBjLrKkC,SAAgCjiE,EAAWqiE,GAC7E,MAAO,CACLpiE,KAAM0K,GACNzK,QAAS,IAAItF,SAAQ,SAAUC,EAASC,GACtC,EAAIqD,IAAI,yBAAyB/G,OAAO4I,EAAW,WAAW5I,OAAOirE,IAASrnE,MAAK,SAAUe,GAC3F,GAAIA,EAAS6B,OAAS,IAEpB,OADA9C,EAAOiB,IACA,EAETlB,EAAQkB,EAAS8B,KACnB,GACF,IAEJ,EiLyJEuR,oBAAqBA,GACrB8B,aAAcA,IAHhB,CAIG8wD,IC5LH,SAAS,GAAWnpE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAElP,IAAIypE,GAAqB,SAAUnqD,GACjC,SAASmqD,EAAM5pD,GACb,IAAIjc,EAMJ,OALA,OAAgB3E,KAAMwqE,IACtB7lE,EAAQ,GAAW3E,KAAMwqE,EAAO,CAAC5pD,KAC3BrX,MAAQ,CACZpB,KAAMxD,EAAMic,MAAMod,eAAe,QAAUr5B,EAAMic,MAAMzY,KAAO,IAEzDxD,CACT,CAEA,OADA,QAAU6lE,EAAOnqD,IACV,OAAamqD,EAAO,CAAC,CAC1BnoE,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,CAC7CD,IAAK,uBAAuB/C,OAAOU,KAAK4gB,MAAMha,IAC9Cmb,UAAW,oBAAoBziB,OAAOU,KAAK4gB,MAAMzY,OAChDnI,KAAK4gB,MAAMI,SAChB,IAEJ,CApByB,CAoBvB,EAAAC,WCtBF,SAAS,GAAWlgB,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAIse,GAA6B,SAAUgB,GACzC,SAAShB,IACP,IAAI1a,GACJ,OAAgB3E,KAAMqf,GACtB,IAAK,IAAIiB,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GAOzB,OALA9b,EAAQ,GAAW3E,KAAMqf,EAAe,GAAG/f,OAAOihB,KAClD,OAAgB5b,EAAO,6BAA6B,WAClDA,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,WAC/ChqB,EAAMic,MAAMhP,kBACd,IACOjN,CACT,CAEA,OADA,QAAU0a,EAAegB,IAClB,OAAahB,EAAe,CAAC,CAClChd,IAAK,SACLC,MAAO,WACL,IAAIgwB,EAAStyB,KACb,OAAgC,MAA5BA,KAAK4gB,MAAM9O,cACO,gBAAoB,MAAO,CAC7CiQ,UAAW,4BACG,gBAAoB,GAAS,CAC3CH,QAAQ,KAGQ,gBAAoB,MAAO,CAC7CG,UAAW,YACG,gBAAoB,MAAO,CACzCA,UAAW,iBACXE,MAAO,CACLmZ,OAAQ,EACRlD,QAAS,EACT/E,OAAQ,IAETnzB,KAAK4gB,MAAM9O,cAAcgM,KAAI,SAAU2sD,EAAcn/C,GACtD,IAAIhmB,EAAUgtB,EAAO1R,MAAMlQ,SAAS4F,MAAK,SAAUhR,GACjD,OAAOA,EAAQsB,IAAM6jE,EAAaviE,SACpC,IACA,OAAkC,OAA9BuiE,EAAaC,aACK,gBAAoB,KAAM,CAC5C9lD,GAAI,6BAA6BtlB,OAAOmrE,EAAaC,aAAc,eAAeprE,OAAOmrE,EAAaviE,WACtG7F,IAAKipB,EACLvJ,UAAW,qBACG,gBAAoByoD,GAAO,CACzC5jE,GAAI0kB,EACJnjB,KAAM,OACN9F,IAAKipB,GACS,gBAAoB,OAAQ,CAC1CvJ,UAAW,cACT0oD,EAAaE,YAQX,KARsC,gBAAoB,MAAO,CACrE5oD,UAAW,mBACXE,MAAO,aAAmB,CACxBgI,WAAY,aACZyJ,UAAW,OACT,CAAC,GACS,gBAAoB,OAAQ,CAC1C3R,UAAW,gBACU,MAAXzc,EAAkBA,EAAQmlB,UAAY,IAAMnlB,EAAQolB,SAAW,KAAO,KAAM+/C,EAAaG,kBAAgC,gBAAoB,MAAO,CAC9J7oD,UAAW,mBACG,gBAAoB,GAAS,CAC3C+4C,KAAK,GACJ2P,EAAaj7C,YAEE,gBAAoBg7C,GAAO,CAC7C5jE,GAAI0kB,EACJnjB,KAAM,OACN9F,IAAKipB,GACS,gBAAoB,OAAQ,CAC1CvJ,UAAW,cACT0oD,EAAaE,YAQX,KARsC,gBAAoB,MAAO,CACrE5oD,UAAW,mBACXE,MAAO,aAAmB,CACxBgI,WAAY,aACZyJ,UAAW,OACT,CAAC,GACS,gBAAoB,OAAQ,CAC1C3R,UAAW,gBACU,MAAXzc,EAAkBA,EAAQmlB,UAAY,IAAMnlB,EAAQolB,SAAW,KAAO,KAAM+/C,EAAaG,kBAAgC,gBAAoB,MAAO,CAC9J7oD,UAAW,mBACG,gBAAoB,GAAS,CAC3C+4C,KAAK,GACJ2P,EAAaj7C,UAClB,KACF,IAEJ,CAtFiC,CAsF/B,EAAAvO,WAQF,UAAe,SAPf,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCpJ,cAAevI,EAAM8V,cAAcvN,cACnCpB,SAAUnH,EAAMqT,UAAUlM,SAE9B,GACwC,CACtC0I,aAAcA,GACdxH,iBAAkBA,IAFpB,CAGGyN,IC7GH,SAAS,GAAWte,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAWlP,IAAI8pE,GAAsB,SAAUxqD,GAClC,SAASwqD,EAAOjqD,GACd,IAAIjc,EAmEJ,OAlEA,OAAgB3E,KAAM6qE,GACtBlmE,EAAQ,GAAW3E,KAAM6qE,EAAQ,CAACjqD,KAClC,OAAgBjc,EAAO,qBAAqB,WAC1C,IAAIgM,EAAgBhM,EAAMic,MAAMjQ,cAChChM,EAAMic,MAAMxH,aAAazU,EAAMic,MAAM+N,UAAU,WAC/ChqB,EAAMic,MAAMxR,0BAA0BuB,EAAc/J,GACtD,KACA,OAAgBjC,EAAO,kBAAkB,SAAU+nC,GACjD,GAAmB,MAAfA,EACF,MAAO,GAET,IAAI6C,EAAsB9C,GAAeC,GAAa/yB,QAAQ,gBAAiB,IAC/E,OAAI41B,EAAoB5tC,OAAS,GACxB4tC,EAAoBpvC,MAAM,EAAG,KAAO,IAEtCovC,CACT,KACA,OAAgB5qC,EAAO,gBAAgB,WACrC,OAAOA,EAAMye,SAAS,CACpB0nD,QAASnmE,EAAM4E,MAAMuhE,QAEzB,KACA,OAAgBnmE,EAAO,eAAe,SAAUs0B,EAAOhV,GACrD,OAAoB,gBAAoB,GAAA2Z,KAAM,CAC5CnX,QAAS,KACT7B,GAAI,WAAWtlB,OAAO25B,EAAMryB,IAC5Bqb,MAAO,CACLiY,aAAc,WAEhB73B,IAAK42B,EAAMryB,IACG,gBAAoB,MAAO,CACzCqb,MAAO,CACLiI,KAAM,IAEM,gBAAoB,MAAO,CACzCnI,UAAW,gBACG,gBAAoB,OAAQ,CAC1CA,UAAW,SACVkX,EAAMhf,OAAsB,MAAdgf,EAAM9wB,KAA4B,gBAAoB,MAAO,CAC5E4Z,UAAW,YACXE,MAAO,CACLmZ,OAAQ,IAETz2B,EAAMic,MAAM+N,UAAUsK,EAAM9wB,KAAKjI,gBAAkB,MAAoB,gBAAoB,GAAY,CACxG+Z,MAAO,IACPoJ,KAAM1e,EAAM4E,MAAMuhE,QACJ,gBAAoB,GAAA39C,KAAM,CACxC2K,KAAK,EACL2F,OAAO,GACO,gBAAoB,MAAO,CACzC1b,UAAW,uBACVpd,EAAMomE,eAAe9xC,EAAMyT,iBAChC,KACA,OAAgB/nC,EAAO,oBAAoB,WACzC,OAAoB,gBAAoB,GAAAwoB,KAAM,CAC5CC,KAAK,GACS,gBAAoB,MAAO,CACzCrL,UAAW,+BAA+BziB,OAAOqF,EAAM4E,MAAMuhE,OAAS,OAAS,UAC/EhoD,QAASne,EAAMqmE,cACD,gBAAoB,GAAA7gD,KAAM,CACxC3Q,KAAM,cACJ7U,EAAM4E,MAAMuhE,OAASnmE,EAAMic,MAAM+N,UAAU,oBAAsBhqB,EAAMic,MAAM+N,UAAU,qBAC7F,IACAhqB,EAAM4E,MAAQ,CACZuhE,QAAQ,GAEHnmE,CACT,CAEA,OADA,QAAUkmE,EAAQxqD,IACX,OAAawqD,EAAQ,CAAC,CAC3BxoE,IAAK,SACLC,MAAO,WACL,OAAyB,MAArBtC,KAAK4gB,MAAMnR,OACO,gBAAoB,MAAO,MAE7B,gBAAoB,MAAO,CAC7CsS,UAAW,eACV/hB,KAAKirE,mBAAoBjrE,KAAK4gB,MAAMnR,OAAO9N,OAAS,EAAI3B,KAAK4gB,MAAMnR,OAAOqO,IAAI9d,KAAKw7B,aAAe,KAAkC,GAA5Bx7B,KAAK4gB,MAAMnR,OAAO9N,OAA2B,gBAAoBwqC,GAAc,CACxLvD,MAAO,IACJ,KACP,IAEJ,CArF0B,CAqFxB,EAAA3nB,WAQF,UAAe,SAPO,SAAyB1X,GAC7C,MAAO,CACLkG,OAAQlG,EAAMkG,OAAOA,OACrBkB,cAAepH,EAAMsV,KAAKlO,cAC1Bge,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cAEzC,GACwC,CACtC9L,0BAA2BA,GAC3BgK,aAAcA,IAFhB,CAGGyxD,IC1GH,SAAS,GAAW9pE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CASlP,IAAImqE,GAAoC,SAAU7qD,GAChD,SAAS6qD,EAAqBtqD,GAC5B,IAAIjc,EA+DJ,OA9DA,OAAgB3E,KAAMkrE,GACtBvmE,EAAQ,GAAW3E,KAAMkrE,EAAsB,CAACtqD,KAChD,OAAgBjc,EAAO,sBAAsB,SAAU6U,EAAMC,GACtDA,IAAKA,EAAMjb,OAAOC,SAASib,MAChCF,EAAOA,EAAKG,QAAQ,UAAW,QAC/B,IACEC,EADU,IAAIC,OAAO,OAASL,EAAO,oBACrBM,KAAKL,GACvB,OAAKG,EACAA,EAAQ,GACNG,mBAAmBH,EAAQ,GAAGD,QAAQ,MAAO,MAD5B,GADH,IAGvB,KACA,OAAgBhV,EAAO,qBAAkC,OAAgC,UAAyB,SAASX,IACzH,IAAI2qB,EAAWrpB,EACf,OAAO,UAAyB,SAAkBnB,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAEH,GADA8qB,EAAYhqB,EAAMic,MAAM+N,UACuB,MAAzChqB,EAAM4U,mBAAmB,cAAiE,QAAzC5U,EAAM4U,mBAAmB,aAAyB,CACvGpV,EAASN,KAAO,EAChB,KACF,CACA,GAAyC,MAAnCc,EAAM4U,mBAAmB,OAAiB,CAC9CpV,EAASN,KAAO,EAChB,KACF,CAEA,OADAc,EAAMic,MAAMqW,QAAQ11B,KAAKoD,EAAM4U,mBAAmB,QAC3CpV,EAASwrB,OAAO,UAAU,GACnC,KAAK,EAEH,OADAhrB,EAAMic,MAAMqW,QAAQ11B,KAAK,KAClB4C,EAASwrB,OAAO,UAAU,GACnC,KAAK,EACH,GAAMnqB,KAAsBb,EAAM4U,mBAAmB,aAAe,CAClEpV,EAASN,KAAO,GAChB,KACF,CAIA,GAAiB,OAHjByB,EAAUX,EAAMic,MAAMlQ,SAAS4F,MAAK,SAAUhR,GAC5C,OAAOA,EAAQsB,IAAMjC,EAAM4U,mBAAmB,YAChD,KACwB,CACtBpV,EAASN,KAAO,GAChB,KACF,CAEA,OADAM,EAASN,KAAO,GACTc,EAAMic,MAAM1J,iBAAiB5R,GACtC,KAAK,GACH,KAAyB,MAAnBA,EAAQ4nC,SAAmB5nC,EAAQ4nC,QAAQvrC,OAAS,GAAI,CAC5DwC,EAASN,KAAO,GAChB,KACF,CAEA,OADAM,EAASN,KAAO,GACTc,EAAMic,MAAMxJ,gBAAgB9R,EAAQ4nC,QAAQ,GAAGtmC,GAAItB,EAAQsB,IACpE,KAAK,GAEH,OADAzC,EAASN,KAAO,GACTc,EAAMic,MAAMjV,SAAS,GAAGrM,OAAOqvB,EAAU,oBAAqB,MAAMrvB,OAAOgG,EAAQmlB,UAAW,KAAKnrB,OAAOgG,EAAQolB,UAAW,QACtI,KAAK,GACH/lB,EAAMic,MAAMqW,QAAQ11B,KAAKoD,EAAM4U,mBAAmB,QACpD,KAAK,GACL,IAAK,MACH,OAAOpV,EAASI,OAEtB,GAAGP,EACL,MACOW,CACT,CAEA,OADA,QAAUumE,EAAsB7qD,IACzB,OAAa6qD,EAAsB,CAAC,CACzC7oE,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,KACjD,IAEJ,CA1EwC,CA0EtC,EAAA2e,WAOF,UAAe,QAAW,SAN1B,SAAyB1X,GACvB,MAAO,CACLolB,WAAW,KAAAA,WAAUplB,EAAMiW,UAAUtE,cACrCxK,SAAUnH,EAAMqT,UAAUlM,SAE9B,GACmD,CACjD/E,SAAUA,GACViG,iBAAkBA,GAClBsF,iBAAkBA,GAClBE,gBAAiBA,IAJO,CAKvB8zD,KChGH,SAAS,GAAWnqE,EAAGI,EAAGN,GAAK,OAAOM,GAAI,QAAgBA,IAAI,QAA2BJ,EAAG,KAA8B+e,QAAQC,UAAU5e,EAAGN,GAAK,IAAI,QAAgBE,GAAGif,aAAe7e,EAAEK,MAAMT,EAAGF,GAAK,CAC1M,SAAS,KAA8B,IAAM,IAAIE,GAAKkf,QAAQngB,UAAUogB,QAAQC,KAAKL,QAAQC,UAAUE,QAAS,IAAI,WAAa,IAAK,CAAE,MAAOlf,GAAI,CAAE,OAAQ,GAA4B,WAAuC,QAASA,CAAG,IAAM,CAKlP,IAAIoqE,GAA2B,SAAU9qD,GACvC,SAAS8qD,IACP,IAAIxmE,GACJ,OAAgB3E,KAAMmrE,GACtB,IAAK,IAAI7qD,EAAO5e,UAAUC,OAAQ4e,EAAO,IAAIC,MAAMF,GAAOG,EAAO,EAAGA,EAAOH,EAAMG,IAC/EF,EAAKE,GAAQ/e,UAAU+e,GA8CzB,OA5CA9b,EAAQ,GAAW3E,KAAMmrE,EAAa,GAAG7rE,OAAOihB,KAChD,OAAgB5b,EAAO,qBAAqB,WAC1C,IAAIuD,EAAYvD,EAAMic,MAAMuR,MAAMlW,OAAO/T,UACrCoR,EAAW9a,OAAOC,SAAS6a,SAC3BhU,EAAUX,EAAMic,MAAMlQ,SAAS4F,MAAK,SAAUhR,GAChD,OAAOA,EAAQsB,IAAMsB,CACvB,IACIkjE,EAAQ9xD,EAASuR,MAAM,KACvBwgD,EAAU,IACdD,EAAM1uD,OAAO,EAAG,GAChB0uD,EAAMxpE,SAAQ,SAAU0pE,GACtBD,GAAWC,EAAO,GACpB,IACe,MAAXhmE,GACFX,EAAMwvC,cAAc7uC,GAEtBX,EAAMic,MAAMqW,QAAQ11B,KAAK8pE,EAC3B,KACA,OAAgB1mE,EAAO,gBAA8B,WACnD,IAAIZ,GAAO,OAAgC,UAAyB,SAASC,EAAQsB,GACnF,IAAIsS,EACJ,OAAO,UAAyB,SAAkBzT,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EAGH,OAFA+T,EAAejT,EAAMic,MAAMhJ,aAC3BzT,EAASN,KAAO,EACTc,EAAMic,MAAM1J,iBAAiB5R,GACtC,KAAK,EACH,GAAMsS,GAAgBtS,EAAQ4nC,QAAQ,GAAGtmC,GAAK,CAC5CzC,EAASN,KAAO,EAChB,KACF,CAEA,OADAM,EAASN,KAAO,EACTc,EAAMic,MAAMxJ,gBAAgB9R,EAAQ4nC,QAAQ,GAAGtmC,GAAItB,EAAQsB,IACpE,KAAK,EACL,IAAK,MACH,OAAOzC,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,GACf,OAAOT,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CAzBqD,IA0B9CiD,CACT,CAEA,OADA,QAAUwmE,EAAa9qD,IAChB,OAAa8qD,EAAa,CAAC,CAChC9oE,IAAK,SACLC,MAAO,WACL,OAAoB,gBAAoB,MAAO,KAAM,iBACvD,IAEJ,CA5D+B,CA4D7B,EAAA2e,WAMF,UAAe,QAAW,SAL1B,SAAyB1X,GACvB,MAAO,CACLmH,SAAUnH,EAAMqT,UAAUlM,SAE9B,GACmD,CACjDwG,iBAAkBA,GAClBE,gBAAiBA,IAFO,CAGvB+zD,KCoJH,UAAe,QA/LF,SAAgBvqD,GAC3B,IAAIqW,GAAU,UACVqxB,GAAY,IAAAC,UAAS9pD,SAAS6a,UAChCkvC,GAAa,QAAeF,EAAW,GACvCijB,EAAc/iB,EAAW,GACzBgjB,EAAwBhjB,EAAW,GAuCrC,OAtCA,IAAAr0B,YAAU,WACR,IAAIs3C,EAAWzmE,SAASoiB,iBAAiB,kBAAkB,WACzD6P,EAAQ11B,KAAK,SACf,IA+BA,OA9BA01B,EAAQy0C,QAAO,SAAUjtE,GACvB,GAAgB,MAAZA,EACF,OAAO,EAGT,GAAIA,EAAS6a,UAAYiyD,EACvB,OAAO,EAWT,GATyB,aAArB9sE,EAASe,UACXkB,EAAYirE,cAAc,CACxBnyD,KAAM/a,EAAS6a,SACfsyD,WAAwD,MAA5ClrE,EAAYuB,QAAQoF,KAAKwkE,kBAM5B,MAbS,CAAC,WAAY,SAAU,oBAAqB,QAUtCv1D,MAAK,SAAUvV,GACzC,OAAOtC,EAAS6a,SAAS3a,QAAQoC,IAAM,CACzC,IAEE,OAAO,EAOT,GALAyqE,EAAsB/sE,EAAS6a,UAC/BsH,EAAMkrD,MAAMhrC,SAAS,CACnB34B,KAAMgR,KAER3a,OAAOutE,SAAS,EAAG,GACM,UAArBttE,EAAS6a,UAA6C,WAArB7a,EAAS6a,SAAuB,CACnE,IAAIxU,EAAQ,IAAIknE,MAAM,gBACtBhnE,SAASC,cAAcH,EACzB,CACF,IACO,WACLE,SAASwiB,oBAAoB,QAASikD,EACxC,CACF,GAAG,IACiB,gBAAoB,KAAQ,KAAmB,gBAAoB,KAAO,CAC5FH,KAAM,WACN9xD,KAAM,UACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,SACNx1C,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,UACN92B,OAAO,EACP1e,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,iBACNx1C,UAAWm2C,KACI,gBAAoB,KAAO,CAC1CX,KAAM,IACNY,OAAQ,WACN,OAAoB,gBAAoB,GAAK,KAAmB,gBAAoB,KAAQ,KAAmB,gBAAoB,KAAO,CACxIZ,KAAM,IACN92B,OAAO,EACP1e,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,SACN92B,OAAO,EACPh7B,KAAM,QACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,iBACN9xD,KAAM,aACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,yBACN9xD,KAAM,WACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,YACN9xD,KAAM,WACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,iBACN9xD,KAAM,gBACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,wBACN9xD,KAAM,uBACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,SACN92B,OAAO,EACPh7B,KAAM,QACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,gBACN9xD,KAAM,OACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,UACN92B,OAAO,EACPh7B,KAAM,SACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,mBACN9xD,KAAM,QACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,eACN92B,OAAO,EACPh7B,KAAM,cACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,4BACN9xD,KAAM,aACNsc,UAAWq2C,KACI,gBAAoB,KAAO,CAC1Cb,KAAM,iBACN92B,OAAO,EACPh7B,KAAM,gBACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,qBACN9xD,KAAM,eACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,aACN9xD,KAAM,YACNsc,UAAWg2B,KACI,gBAAoB,KAAO,CAC1Cwf,KAAM,YACN9xD,KAAM,kBACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,WACN9xD,KAAM,UACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,gBACN9xD,KAAM,eACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,SACN92B,OAAO,EACPh7B,KAAM,WACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,YACN9xD,KAAM,aACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,WACN9xD,KAAM,UACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,YACN92B,OAAO,EACPh7B,KAAM,WACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,gBACN92B,OAAO,EACPh7B,KAAM,UACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,qCACN92B,OAAO,EACPh7B,KAAM,UACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,OACN9xD,KAAM,WACNsc,UAAW,GACXhwB,OAAQ,MACO,gBAAoB,KAAO,CAC1CwlE,KAAM,sBACN9xD,KAAM,WACNsc,UAAW,KACI,gBAAoB,KAAO,CAC1Cw1C,KAAM,wBACN9xD,KAAM,WACNsc,UAAW,MAEf,IACe,gBAAoB,KAAO,CAC1Cw1C,KAAM,IACNx1C,UAAW,GACXhwB,OAAQ,MAEZ,IC1NA,SATA,WACE,IAAImxB,GAAU,UAMd,OALA,IAAA9C,YAAU,WhN2CVzuB,EAAKE,aAAajD,QAAQkD,IAAkB,WAC1C,IAAI9B,GAAO,OAAgC,UAAyB,SAASC,EAAQzF,GACnF,IAAIgZ,EAAOrP,EACX,OAAO,UAAyB,SAAkB/D,GAChD,cAAkBA,EAASP,KAAOO,EAASN,MACzC,KAAK,EACH,GAAItF,EAAOgI,eAAgB,CACzBpC,EAASN,KAAO,GAChB,KACF,CAEA,OADAM,EAASN,KAAO,EACT,EAAK6zC,iBACd,KAAK,EAEH,GAAe,OADfngC,EAAQpT,EAASsT,MACK,CACpBtT,EAASN,KAAO,EAChB,KACF,CACAtF,EAAO0H,QAAQmmE,OAAsB,cAAI,UAAY70D,EACrDpT,EAASN,KAAO,EAChB,MACF,KAAK,EACH,OAAOM,EAASwrB,OAAO,SAAU7sB,QAAQE,OAAO,uBAClD,KAAK,EAMH,OALAkF,EAAY1C,IACS,MAAjBjH,EAAO0d,SACT1d,EAAO0d,OAAS,CAAC,GAEF,MAAb/T,IAAmB3J,EAAO0d,OAAkB,UAAI/T,GAC7C/D,EAASwrB,OAAO,SAAUpxB,GACnC,KAAK,GACH,OAAO4F,EAASwrB,OAAO,SAAUpxB,GACnC,KAAK,GACL,IAAK,MACH,OAAO4F,EAASI,OAEtB,GAAGP,EACL,KACA,OAAO,SAAUQ,GACf,OAAOT,EAAKvC,MAAMxB,KAAM0B,UAC1B,CACF,CAzC4C,IAyCvC,SAAUmD,GACb/B,QAAQE,OAAO6B,EACjB,GgNpFA,GAAG,CAACoyB,IAGG,IACT,E,eCOA,eAAmBjyB,SAASqnE,iBAC5B,IAAIC,GAAmB9tE,OAAO+tE,sCAAwC,KAClET,IAAQ,QAAYU,GAAUF,IAAiB,QAAgB,OAEhC,MAA7B9tE,OAAOyT,oBACTjN,SAASoiB,iBAAiB,SAAS,SAAUtiB,GAC3C,IAAI2nE,EAAgB3nE,EAAM+G,QAAU/G,EAAM4nE,WACtCD,aAAyBE,mBACC,UAAxBF,EAAc5gE,SAChB/G,EAAM+d,iBACNrkB,OAAOyT,mBAAmBC,YAAYhF,KAAKC,UAAU,CACnDhF,KAAM,WACN4tC,kBAAmB02B,EAAc/yD,QAIzC,IAGAlb,QAAUA,OAAOouE,QACnB,SAA8B,gBAAoB,KAAU,CAC1Dd,MAAOA,IACO,gBAAoB,GAAc,KAAmB,gBAAoB,KAAQ,KAAmB,gBAAoB,MAAc,CACpJr3D,SAAUzV,GACI,gBAAoB,GAAyB,MAAoB,gBAAoB,MAAuB,KAAmB,gBAAoB,GAAQ,CACzK8sE,MAAOA,MACS,gBAAoB,MAAyB,KAAmB,gBAAoB,KAAO,CAC3GR,KAAM,IACNx1C,UAAW,UACJ9wB,SAASqyB,cAAc,S,iBC/ClC,IAAIvZ,EAAM,CACT,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,OAAQ,KACR,UAAW,KACX,mBAAoB,KACpB,sBAAuB,KACvB,mBAAoB,KACpB,sBAAuB,KACvB,mBAAoB,KACpB,sBAAuB,KACvB,mBAAoB,KACpB,sBAAuB,KACvB,mBAAoB,KACpB,sBAAuB,MAIxB,SAAS+uD,EAAeC,GACvB,IAAIlmE,EAAKmmE,EAAsBD,GAC/B,OAAOE,EAAoBpmE,EAC5B,CACA,SAASmmE,EAAsBD,GAC9B,IAAIE,EAAoB7rE,EAAE2c,EAAKgvD,GAAM,CACpC,IAAIjsE,EAAI,IAAI2C,MAAM,uBAAyBspE,EAAM,KAEjD,MADAjsE,EAAEosE,KAAO,mBACHpsE,CACP,CACA,OAAOid,EAAIgvD,EACZ,CACAD,EAAe5rE,KAAO,WACrB,OAAOD,OAAOC,KAAK6c,EACpB,EACA+uD,EAAe9pE,QAAUgqE,EACzBG,EAAOC,QAAUN,EACjBA,EAAejmE,GAAK,I","sources":["webpack://haldor.guardians.web/./app-config/config.js","webpack://haldor.guardians.web/./src/helpers/polyfills.js","webpack://haldor.guardians.web/./src/lib/msal.js","webpack://haldor.guardians.web/./src/lib/appInsight.js","webpack://haldor.guardians.web/./src/auth/Authentication.js","webpack://haldor.guardians.web/./src/lib/authentication.js","webpack://haldor.guardians.web/./src/helpers/guardian.js","webpack://haldor.guardians.web/./src/lib/axios.js","webpack://haldor.guardians.web/./src/lib/api.js","webpack://haldor.guardians.web/./src/actions/absence.js","webpack://haldor.guardians.web/./src/reducers/reducer_absence.js","webpack://haldor.guardians.web/./src/actions/assignments.js","webpack://haldor.guardians.web/./src/reducers/reducer_assignments.js","webpack://haldor.guardians.web/./src/actions/attendance.js","webpack://haldor.guardians.web/./src/reducers/reducer_attendance.js","webpack://haldor.guardians.web/./src/actions/index.js","webpack://haldor.guardians.web/./src/reducers/reducer_base.js","webpack://haldor.guardians.web/./src/actions/conversation.js","webpack://haldor.guardians.web/./src/reducers/reducer_conversation.js","webpack://haldor.guardians.web/./src/actions/documents.js","webpack://haldor.guardians.web/./src/reducers/reducer_documents.js","webpack://haldor.guardians.web/./src/actions/sections.js","webpack://haldor.guardians.web/./src/reducers/reducer_groups.js","webpack://haldor.guardians.web/./src/actions/guardians.js","webpack://haldor.guardians.web/./src/reducers/reducer_guardians.js","webpack://haldor.guardians.web/./src/actions/meetings.js","webpack://haldor.guardians.web/./src/reducers/reducer_meetings.js","webpack://haldor.guardians.web/./src/actions/notifications.js","webpack://haldor.guardians.web/./src/reducers/reducer_notifications.js","webpack://haldor.guardians.web/./src/actions/planning.js","webpack://haldor.guardians.web/./src/reducers/reducer_planning.js","webpack://haldor.guardians.web/./src/actions/posts.js","webpack://haldor.guardians.web/./src/reducers/reducer_posts.js","webpack://haldor.guardians.web/./src/actions/profile.js","webpack://haldor.guardians.web/./src/reducers/reducer_profile.js","webpack://haldor.guardians.web/./src/actions/studyplans.js","webpack://haldor.guardians.web/./src/reducers/reducer_studyplans.js","webpack://haldor.guardians.web/./src/actions/templates.js","webpack://haldor.guardians.web/./src/reducers/reducer_templates.js","webpack://haldor.guardians.web/./src/_class/ServiceManager.js","webpack://haldor.guardians.web/./src/actions/user.js","webpack://haldor.guardians.web/./src/reducers/reducer_user.js","webpack://haldor.guardians.web/./src/actions/deviceinfo.js","webpack://haldor.guardians.web/./src/reducers/reducer_deviceinfo.js","webpack://haldor.guardians.web/./src/helpers/localstorage.js","webpack://haldor.guardians.web/./src/actions/menu.js","webpack://haldor.guardians.web/./src/reducers/reducer_menu.js","webpack://haldor.guardians.web/./src/actions/header.js","webpack://haldor.guardians.web/./src/helpers/url.js","webpack://haldor.guardians.web/./src/reducers/reducer_header.js","webpack://haldor.guardians.web/./src/actions/additional_adjustments.js","webpack://haldor.guardians.web/./src/reducers/reducer_adjustments.js","webpack://haldor.guardians.web/./src/actions/timeblocks.js","webpack://haldor.guardians.web/./src/reducers/reducer_timeblocks.js","webpack://haldor.guardians.web/./src/actions/preschoolform.js","webpack://haldor.guardians.web/./src/reducers/reducer_preschoolgoal.js","webpack://haldor.guardians.web/./src/actions/languages.js","webpack://haldor.guardians.web/./src/reducers/reducer_languages.js","webpack://haldor.guardians.web/./src/actions/blocks.js","webpack://haldor.guardians.web/./src/reducers/reducer_blocks.js","webpack://haldor.guardians.web/./src/actions/assessments.js","webpack://haldor.guardians.web/./src/reducers/reducer_assessments.js","webpack://haldor.guardians.web/./src/reducers/reducer_scheduleFilter.js","webpack://haldor.guardians.web/./src/reducers/index.js","webpack://haldor.guardians.web/./src/reducers/reducer_error.js","webpack://haldor.guardians.web/./src/helpers/teams.js","webpack://haldor.guardians.web/./src/components/Localization.js","webpack://haldor.guardians.web/./src/containers/Conversation/Helpers/index.js","webpack://haldor.guardians.web/./src/components/UI/Elements/Spinner.js","webpack://haldor.guardians.web/./src/components/UI/IconsSrc/plus.js","webpack://haldor.guardians.web/./src/components/UI/IconsSrc/minus.js","webpack://haldor.guardians.web/./src/components/UI/Elements/Expandable.js","webpack://haldor.guardians.web/./src/components/UI/Elements/Block.js","webpack://haldor.guardians.web/./src/components/UI/Elements/DataList.js","webpack://haldor.guardians.web/./src/components/UI/Elements/ColorLabel/ColorLabel.js","webpack://haldor.guardians.web/./src/components/UI/Elements/ColorLabel/ColorLabelContainer.js","webpack://haldor.guardians.web/./src/components/UI/Elements/Swipe.js","webpack://haldor.guardians.web/./src/components/UI/Elements/Skeleton.js","webpack://haldor.guardians.web/./src/components/UI/Elements/Collapsible.js","webpack://haldor.guardians.web/./src/components/UI/Elements/Person.js","webpack://haldor.guardians.web/./src/containers/Conversation/Display/ConversationHeader.js","webpack://haldor.guardians.web/./src/helpers/insights.js","webpack://haldor.guardians.web/./src/_class/index.js","webpack://haldor.guardians.web/./src/_class/DateTime.js","webpack://haldor.guardians.web/./src/containers/Conversation/Display/Partials/Message.js","webpack://haldor.guardians.web/./src/containers/Conversation/Display/ConversationMessages.js","webpack://haldor.guardians.web/./src/components/UI/Inputs/time_picker.js","webpack://haldor.guardians.web/./src/components/UI/Inputs/editor.js","webpack://haldor.guardians.web/./src/components/UI/Inputs/FlexibleTextArea.js","webpack://haldor.guardians.web/./src/components/UI/Inputs/Search/index.js","webpack://haldor.guardians.web/./src/constants/fields.js","webpack://haldor.guardians.web/./src/components/UI/Inputs/Field.js","webpack://haldor.guardians.web/./src/containers/Conversation/Form/MessageForm.js","webpack://haldor.guardians.web/./src/containers/Conversation/Display/ConversationPage.js","webpack://haldor.guardians.web/./src/containers/Modals/Modal.js","webpack://haldor.guardians.web/./src/containers/Conversation/Form/SelectRecipient.js","webpack://haldor.guardians.web/./src/containers/Conversation/Display/ConversationsPage.js","webpack://haldor.guardians.web/./src/components/Presentation/Cards/Card.js","webpack://haldor.guardians.web/./src/components/Presentation/SectionTitle.js","webpack://haldor.guardians.web/./src/containers/FormTemplate/Page/AllForms.js","webpack://haldor.guardians.web/./src/components/Redirect/Redirect.js","webpack://haldor.guardians.web/./src/containers/FormTemplate/Display/DisplayFormResults.js","webpack://haldor.guardians.web/./src/components/UI/Elements/List/RowItem.js","webpack://haldor.guardians.web/./src/containers/FormTemplate/Page/SingleForm.js","webpack://haldor.guardians.web/./src/components/CallbackPage/CallbackPage.js","webpack://haldor.guardians.web/./src/components/Login/Login.js","webpack://haldor.guardians.web/./src/components/Logout/Logout.js","webpack://haldor.guardians.web/./src/components/LoadingPage/LoadingPage.js","webpack://haldor.guardians.web/./src/components/Profile/Profile.js","webpack://haldor.guardians.web/./src/components/SchoolSwitch/SchoolSwitch.js","webpack://haldor.guardians.web/./src/components/Presentation/Dates/DateSpan.js","webpack://haldor.guardians.web/./src/components/UI/IconsSrc/immersive_reader.js","webpack://haldor.guardians.web/./src/containers/Gantt/ReactGantt.js","webpack://haldor.guardians.web/./src/components/Presentation/Cards/LoadingCards.js","webpack://haldor.guardians.web/./src/containers/Overview/Sections/MyPlans.js","webpack://haldor.guardians.web/./src/containers/AllPages/AllPlans.js","webpack://haldor.guardians.web/./src/constants/schoolTypes.js","webpack://haldor.guardians.web/./src/helpers/content.js","webpack://haldor.guardians.web/./src/components/Presentation/Dates/Date.js","webpack://haldor.guardians.web/./src/containers/Overview/Sections/MyPosts.js","webpack://haldor.guardians.web/./src/containers/AllPages/AllPosts.js","webpack://haldor.guardians.web/./src/components/Presentation/Dates/FromNow.js","webpack://haldor.guardians.web/./src/components/Presentation/Task.js","webpack://haldor.guardians.web/./src/containers/Overview/Sections/MyTasks.js","webpack://haldor.guardians.web/./src/containers/AllPages/AllTasks.js","webpack://haldor.guardians.web/./src/components/Menu/LanguageManager.js","webpack://haldor.guardians.web/./src/components/Menu/index.js","webpack://haldor.guardians.web/./src/components/HeaderV2/index.js","webpack://haldor.guardians.web/./src/components/HeaderV2/Device.js","webpack://haldor.guardians.web/./src/components/HeaderV2/Desktop.js","webpack://haldor.guardians.web/./src/components/Menu/Page.js","webpack://haldor.guardians.web/./src/components/Footer/Menu.js","webpack://haldor.guardians.web/./src/components/Footer/Footer.js","webpack://haldor.guardians.web/./src/containers/Error.js","webpack://haldor.guardians.web/./src/helpers/deviceInfo.js","webpack://haldor.guardians.web/./src/containers/App.js","webpack://haldor.guardians.web/./src/containers/Overview/index.js","webpack://haldor.guardians.web/./src/containers/IndexWrapper/index.js","webpack://haldor.guardians.web/./src/components/Presentation/PostContent.js","webpack://haldor.guardians.web/./src/containers/Meetings/Display/Meeting.js","webpack://haldor.guardians.web/./src/containers/FormTemplate/Display/FormInstance.js","webpack://haldor.guardians.web/./src/containers/SinglePages/Partials/Message.js","webpack://haldor.guardians.web/./src/helpers/user.js","webpack://haldor.guardians.web/./src/containers/Progress/Partials/DatePickers.js","webpack://haldor.guardians.web/./src/containers/Progress/Partials/GroupFilter.js","webpack://haldor.guardians.web/./src/_class/ColorScale.js","webpack://haldor.guardians.web/./src/containers/Verdict/Display/Widget.js","webpack://haldor.guardians.web/./src/containers/Verdict/Display/Partials/Feedback.js","webpack://haldor.guardians.web/./src/containers/Verdict/Display/Partials/Level.js","webpack://haldor.guardians.web/./src/containers/Verdict/Display/Verdict.js","webpack://haldor.guardians.web/./src/components/UI/Graphs/Line.js","webpack://haldor.guardians.web/./src/components/UI/Graphs/NewLine.js","webpack://haldor.guardians.web/./src/components/UI/Graphs/StandingBar.js","webpack://haldor.guardians.web/./src/containers/Verdict/Display/Assessments.js","webpack://haldor.guardians.web/./src/containers/StudyPlan/StudyPlan.js","webpack://haldor.guardians.web/./src/containers/AdditionalAdjustments/Display/Partials/Comments.js","webpack://haldor.guardians.web/./src/containers/AdditionalAdjustments/Display/StudentAdjustment.js","webpack://haldor.guardians.web/./src/containers/Progress/Partials/AdditionalAdjustments.js","webpack://haldor.guardians.web/./src/containers/Progress/Partials/MentorGoalOverview.js","webpack://haldor.guardians.web/./src/lib/translate.js","webpack://haldor.guardians.web/./src/components/Presentation/DisplayCell.js","webpack://haldor.guardians.web/./src/components/Presentation/DisplayMatrix.js","webpack://haldor.guardians.web/./src/components/Presentation/DisplayGoal.js","webpack://haldor.guardians.web/./src/components/Presentation/DisplayFeedbacks.js","webpack://haldor.guardians.web/./src/components/UI/Graphs/Bar.js","webpack://haldor.guardians.web/./src/containers/Progress/Partials/UserAssessments.js","webpack://haldor.guardians.web/./src/containers/Progress/StudentProgress.js","webpack://haldor.guardians.web/./src/components/List/MeetingUsers.js","webpack://haldor.guardians.web/./src/containers/Meetings/Form/BookMeeting.js","webpack://haldor.guardians.web/./src/containers/Meetings/Display/MeetingInstance.js","webpack://haldor.guardians.web/./src/containers/Meetings/Display/MyMeetings.js","webpack://haldor.guardians.web/./src/containers/NotFound.js","webpack://haldor.guardians.web/./src/containers/Progress/Section.js","webpack://haldor.guardians.web/./src/containers/Section/SectionTypes/CompulsorySchoolSection.js","webpack://haldor.guardians.web/./src/containers/Section/SectionTypes/PreSchoolSection.js","webpack://haldor.guardians.web/./src/containers/Section/SectionTypes/UpperSecondarySchoolSection.js","webpack://haldor.guardians.web/./src/containers/Section/SectionWrapper.js","webpack://haldor.guardians.web/./src/helpers/attendance.js","webpack://haldor.guardians.web/./src/containers/Forms/Partials/DatePickerFromTo.js","webpack://haldor.guardians.web/./src/containers/Forms/ReportAbsence.js","webpack://haldor.guardians.web/./src/containers/Overview/Sections/Absence.js","webpack://haldor.guardians.web/./src/containers/Lesson/SingleModal.js","webpack://haldor.guardians.web/./src/containers/Schedule/Partials/SelectionDisplay.js","webpack://haldor.guardians.web/./src/containers/Schedule/Partials/ItemContent.js","webpack://haldor.guardians.web/./src/containers/Schedule/ScheduleView.js","webpack://haldor.guardians.web/./src/containers/Schedule/Partials/DropDownList.js","webpack://haldor.guardians.web/./src/actions/ScheduleFilter.js","webpack://haldor.guardians.web/./src/containers/Schedule/Partials/CalenderHeader.js","webpack://haldor.guardians.web/./src/containers/Schedule/Schedule.js","webpack://haldor.guardians.web/./src/components/Presentation/Cards/ColorLabel.js","webpack://haldor.guardians.web/./src/components/BlockAssessments/Blocks/AssessmentBlock/DisplayResource.js","webpack://haldor.guardians.web/./src/components/BlockAssessments/Blocks/AssessmentBlock/DisplayOnlyFeedback.js","webpack://haldor.guardians.web/./src/components/BlockAssessments/Blocks/AssessmentBlock/index.js","webpack://haldor.guardians.web/./src/components/BlockAssessments/Consumer.js","webpack://haldor.guardians.web/./src/containers/SinglePages/Assignments/HaldorAssignment.js","webpack://haldor.guardians.web/./src/containers/SinglePages/Assignments/Partials/Outcomes.js","webpack://haldor.guardians.web/./src/containers/SinglePages/Assignments/MicrosoftAssignment.js","webpack://haldor.guardians.web/./src/containers/SinglePages/Assignments/AssignmentsWrapper.js","webpack://haldor.guardians.web/./src/components/Block/Block.js","webpack://haldor.guardians.web/./src/containers/SinglePages/SingleDocument.js","webpack://haldor.guardians.web/./src/components/BlockEditor/Blocks/AssignmentBlock/DisplayAssignment.js","webpack://haldor.guardians.web/./src/components/BlockEditor/Blocks/AssignmentBlock/index.js","webpack://haldor.guardians.web/./src/components/BlockEditor/Blocks/FileBlock/index.js","webpack://haldor.guardians.web/./src/components/BlockEditor/Blocks/LinksBlock/index.js","webpack://haldor.guardians.web/./src/components/BlockEditor/Consumer.js","webpack://haldor.guardians.web/./src/containers/CoreContent/Selected.js","webpack://haldor.guardians.web/./src/components/BlockPurpose/Index.js","webpack://haldor.guardians.web/./src/containers/SinglePages/SinglePlan.js","webpack://haldor.guardians.web/./src/containers/SinglePages/SinglePost.js","webpack://haldor.guardians.web/./src/components/Presentation/Notifications/Alert.js","webpack://haldor.guardians.web/./src/containers/Notifications/index.js","webpack://haldor.guardians.web/./src/containers/Groups/index.js","webpack://haldor.guardians.web/./src/containers/Notifications/NotificationReceiver.js","webpack://haldor.guardians.web/./src/components/Redirect/Old.js","webpack://haldor.guardians.web/./src/routes/index.js","webpack://haldor.guardians.web/./src/lib/injectAxiosInterceptors.js","webpack://haldor.guardians.web/./src/index.js","webpack://haldor.guardians.web/./node_modules/moment/locale/ sync [/\\\\](sv(\\.js)"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar API_DEV_URL = \"https://guardiansapi-dev.azurewebsites.net\";\nvar API_TEST_URL = \"https://guardiansapi-test.azurewebsites.net\";\nvar API_TEST_ASH_URL = \"https://api-guardians-test.appservice.asheast2.teliacygate.cloud\";\nvar API_STAGING_URL = \"https://vhapi-staging.haldor.se\";\nvar API_PROD_URL = \"https://vhapi.haldor.se\";\nvar LOGIN_DEV = \"https://haldoridp-dev.azurewebsites.net\";\nvar LOGIN_TEST = \"https://haldoridp-test.azurewebsites.net\";\nvar LOGIN_ASH_TEST = \"https://app-identityserver-test.appservice.asheast2.teliacygate.cloud\";\nvar LOGIN_STAGING = \"https://auth-staging.haldor.se\";\nvar LOGIN_PROD = \"https://auth.haldor.se\";\nvar AIKEY_ASH_TEST = \"a068d6dc-4bb3-4d31-805e-f1e7be62423c\";\nvar AIKEY_PROD = \"d3d41ec0-18e8-44b4-95e9-3c73d9825683\";\nvar IDP_CLIENT_TEST = \"haldor.guardian.native.test\";\nvar IDP_CLIENT_PROD = \"haldor.guardian.native\";\nexport var GET_CONFIG = function GET_CONFIG() {\n var config = {};\n if (window.location.host.indexOf(\"localhost\") > -1 || window.location.host.indexOf(\"vh-dev.haldor.se\") > -1) {\n config.API = API_TEST_ASH_URL;\n config.LOGIN = LOGIN_ASH_TEST;\n config.AIKEY = AIKEY_ASH_TEST;\n config.IDPCLIENTID = IDP_CLIENT_TEST;\n } else if (window.location.host == \"vh-test.haldor.se\" || window.location.host == \"haldor2.eu.ngrok.io\") {\n config.API = API_TEST_ASH_URL;\n config.LOGIN = LOGIN_ASH_TEST;\n config.AIKEY = AIKEY_ASH_TEST;\n config.IDPCLIENTID = IDP_CLIENT_TEST;\n } else if (window.location.host == \"vh-staging.haldor.se\") {\n config.API = API_STAGING_URL;\n config.LOGIN = LOGIN_STAGING;\n config.AIKEY = AIKEY_PROD;\n config.IDPCLIENTID = IDP_CLIENT_PROD;\n } else if (window.location.host == \"vh.haldor.se\" || window.location.host == \"parent.haldoredu.com\" || window.location.host == \"parent.haldoredu.co.uk\") {\n config.API = API_PROD_URL;\n config.LOGIN = LOGIN_PROD;\n config.AIKEY = AIKEY_PROD;\n config.IDPCLIENTID = IDP_CLIENT_PROD;\n }\n config.msal = _defineProperty({\n clientId: config.IDPCLIENTID,\n authority: config.LOGIN,\n postLogoutRedirectUri: window.location.origin + '/',\n redirectUri: \"\".concat(window.location.protocol, \"//\").concat(window.location.hostname).concat(window.location.port ? \":\".concat(window.location.port) : '', \"/loginRedirect\"),\n navigateToLoginRequestUrl: false,\n knownAuthorities: [config.LOGIN],\n protocolMode: 'OIDC'\n }, \"postLogoutRedirectUri\", \"\".concat(window.location.protocol, \"//\").concat(window.location.hostname).concat(window.location.port ? \":\".concat(window.location.port) : ''));\n return config;\n};","String.prototype.capitalize = function () {\n return this.charAt(0).toUpperCase() + this.slice(1);\n};","import * as msal from \"@azure/msal-browser\";\nimport sniffer from 'sniffer';\nvar configSettings = require('../../app-config/config');\nvar config = configSettings.GET_CONFIG();\nvar storeAuthStateInCookie = function storeAuthStateInCookie() {\n if (sniffer.isFirefox) {\n return true;\n }\n return false;\n};\nvar msalConfig = {\n auth: config.msal,\n cache: {\n // TODO: Decide if we should use sessionStorage (default) or localStorage here\n // localStorage seems to work better for our use case\n cacheLocation: \"localStorage\",\n storeAuthStateInCookie: storeAuthStateInCookie() // Set this to \"true\" if you are having issues on IE11 or Edge\n }\n};\nvar msalInstance = new msal.PublicClientApplication(msalConfig);\n\n// Export MSAL instance\nexport default msalInstance;","import packageJson from './../../package.json';\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\nvar configSettings = require('../../app-config/config');\nvar config = configSettings.GET_CONFIG();\nvar instrumentationKey = config.AIKEY;\nvar appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: instrumentationKey,\n disableExceptionTracking: false\n }\n});\nappInsights.loadAppInsights();\nappInsights.context.application.ver = packageJson.version;\nexport { appInsights };","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nvar configSettings = require('../../app-config/config');\nvar config = configSettings.GET_CONFIG();\nimport msalInstance from 'lib/msal';\nimport { appInsights } from 'lib/appInsight';\n\n/**\n * @description Haldor Authentication class\n */\nvar Authentication = /*#__PURE__*/function () {\n function Authentication() {\n _classCallCheck(this, Authentication);\n }\n return _createClass(Authentication, [{\n key: \"login\",\n value:\n /**\n * @param {object} config Overwrites properties in default loginRequest\n * @description Execute login process\n */\n function login(config) {\n appInsights.trackTrace({\n message: \"Authentication: User started login process\"\n });\n localStorage.clear();\n var request = this.getRequest();\n if (config != null) {\n request = _objectSpread(_objectSpread({}, request), config);\n }\n msalInstance.loginRedirect(request);\n }\n\n /**\n * @description Handle login response\n * @returns \n */\n }, {\n key: \"handleLoginResponse\",\n value: function handleLoginResponse() {\n return new Promise(function (resolve, reject) {\n msalInstance.handleRedirectPromise().then(function (authResult) {\n appInsights.trackTrace({\n message: \"Authentication: User received login response\"\n });\n if (authResult != null) {\n msalInstance.setActiveAccount(authResult.account);\n resolve();\n } else {\n appInsights.trackException({\n exception: new Error(\"Login: Handle response failed\")\n });\n reject();\n }\n });\n });\n }\n\n /**\n * @description Sign out the user\n */\n }, {\n key: \"logout\",\n value: (function () {\n var _logout = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n msalInstance.acquireTokenSilent(this.getRequest()).then( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(response) {\n var logoutRequest;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n logoutRequest = {\n account: response.account,\n idTokenHint: response.idToken,\n postLogoutRedirectUri: config.msal.postLogoutRedirectUri\n };\n _context.next = 3;\n return msalInstance.logoutRedirect(logoutRequest);\n case 3:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this);\n }));\n function logout() {\n return _logout.apply(this, arguments);\n }\n return logout;\n }())\n }, {\n key: \"getRequest\",\n value: function getRequest() {\n var account = msalInstance.getActiveAccount();\n var request = {\n scopes: [\"openid\", \"profile\", \"offline_access\", \"haldor.guardians\"],\n account: account\n };\n return request;\n }\n\n /**\n * @description This method will return access_token\n */\n }, {\n key: \"getAccessToken\",\n value: function getAccessToken() {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var request = _this.getRequest();\n\n //Silently acquires an access token\n msalInstance.acquireTokenSilent(request).then(function (response) {\n resolve(response.accessToken);\n })[\"catch\"](function (error) {\n appInsights.trackTrace({\n message: \"Authentication: AcquireTokenSilent failed\"\n });\n appInsights.trackException({\n exception: error\n });\n if (error.message.indexOf('no_account_error') > -1) {\n appInsights.trackTrace({\n message: \"Authentication: User does not have active account, taking user to login page\"\n });\n } else {\n appInsights.trackTrace({\n message: \"Authentication: This error is not handled\"\n });\n }\n var event = new CustomEvent('login_required');\n document.dispatchEvent(event);\n console.log(error);\n reject(error);\n });\n });\n }\n }]);\n}();\nexport default Authentication;","import Authentication from \"auth/Authentication\";\nvar auth = new Authentication();\nexport default auth;","var STUDENT_ID = 'guardians_active_student';\nvar SCHOOL_ID = 'guardians_active_school';\nexport var setActiveStudent = function setActiveStudent(student) {\n if (student != null) {\n localStorage.setItem(STUDENT_ID, student);\n return true;\n } else {\n return false;\n }\n};\nexport var getActiveStudent = function getActiveStudent() {\n return localStorage.getItem(STUDENT_ID);\n};\nexport var setActiveSchool = function setActiveSchool(school, student) {\n if (school != null) {\n localStorage.setItem(SCHOOL_ID + '-' + student, school);\n return true;\n } else {\n return false;\n }\n};\nexport var getActiveSchool = function getActiveSchool(student) {\n return localStorage.getItem(SCHOOL_ID + '-' + student);\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport axios from 'axios';\nimport auth from 'lib/authentication';\nimport { getActiveStudent } from 'helpers/guardian';\nvar configSettings = require('../../app-config/config');\nvar config = configSettings.GET_CONFIG();\nvar http = axios.create({\n baseURL: config.API + \"/api\"\n});\nfunction delay(time) {\n return new Promise(function (resolve) {\n return setTimeout(resolve, time);\n });\n}\nvar interceptor = http.interceptors.response.use(function (response) {\n if (response.status == 204) {\n response.data = null;\n }\n return response;\n}, function (error) {\n var response = error.response;\n // If response status is 0, retry logic\n if (response && response.status === 0) {\n return new Promise(function (resolve) {\n setTimeout(function () {\n // Dispatch an error (toast bar) first retry\n if (!error.config.headers['Retries']) {\n _addToast(\"You seem to have lost connection to the server. You can keep working as usual while we're trying to reconnect you.\");\n error.config.headers['Retries'] = '1';\n } else {\n error.config.headers['Retries'] = (parseInt(error.config.headers['Retries']) + 1).toString();\n }\n // Stop retrying after 50 attempts\n if (parseInt(error.config.headers['Retries']) > 49) {\n return resolve(Promise.reject(error));\n }\n resolve(http.request(error.config));\n }, 1000); // Wait for 1 second before retrying\n });\n }\n return Promise.reject(error);\n});\n\n/**\n * @param {import('history').History} history - from useHistory() hook\n */\nexport var setupInterceptors = function setupInterceptors(history) {\n http.interceptors.request.use( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(config) {\n var token, studentId;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (config.allowAnonymous) {\n _context.next = 15;\n break;\n }\n _context.next = 3;\n return auth.getAccessToken();\n case 3:\n token = _context.sent;\n if (!(token != null)) {\n _context.next = 8;\n break;\n }\n config.headers.common['Authorization'] = \"Bearer \" + token;\n _context.next = 9;\n break;\n case 8:\n return _context.abrupt(\"return\", Promise.reject(\"Token is not valid\"));\n case 9:\n studentId = getActiveStudent();\n if (config.params == null) {\n config.params = {};\n }\n if (studentId != null) config.params['studentId'] = studentId;\n return _context.abrupt(\"return\", config);\n case 15:\n return _context.abrupt(\"return\", config);\n case 16:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }(), function (error) {\n Promise.reject(error);\n });\n};\n\n// Export members\nexport default http;","import http from '../lib/axios';\nvar api = {\n get: function get(route) {\n var allowAnonymous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return http.get(route, {\n allowAnonymous: allowAnonymous\n });\n },\n put: function put(route, data) {\n return http.put(route, data, {\n headers: {\n 'content-type': 'application/json'\n }\n });\n },\n post: function post(route, data) {\n return http.post(route, data, {\n headers: {\n 'content-type': 'application/json'\n }\n });\n },\n \"delete\": function _delete(route, data) {\n return http[\"delete\"](route, {\n data: data != null ? data : null\n });\n },\n getFile: function getFile(id) {\n return http.get(\"fileItems/\".concat(id), {\n responseType: 'blob'\n });\n },\n getLinkFile: function getLinkFile(route) {\n var allowAnonymous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return http.get(route, {\n allowAnonymous: allowAnonymous,\n responseType: 'blob'\n });\n }\n};\nexport default api;","import api from '../lib/api';\nexport var GET_USER_ABSENCE = 'ABSENCE_GET_USER_ABSENCE';\nexport var GET_USER_AGGREGATED_ATTENDANCE = 'ABSENCE_GET_USER_AGGREGATED_ATTENDANCE';\nexport var SUBMIT_USER_ABSENCE = 'ABSENCE_SUBMIT_USER_ABSENCE';\nexport var UPDATE_USER_ABSENCE = 'ABSENCE_UPDATE_USER_ABSENCE';\nexport var REMOVE_USER_ABSENCE = 'ABSENCE_REMOVE_USER_ABSENCE';\nexport var CLEAR_STUDENT_ABSENCE = 'CLEAR_STUDENT_ABSENCE';\nexport var getUserAbsence = function getUserAbsence(user, start, end) {\n return {\n type: GET_USER_ABSENCE,\n payload: new Promise(function (resolve) {\n api.get(\"students/\".concat(user, \"/absence/?startDate=\").concat(start, \"&endDate=\").concat(end)).then(function (response) {\n resolve(response.data);\n })[\"catch\"](function (data) {\n reject(null);\n });\n })\n };\n};\nexport var submitAbsence = function submitAbsence(values) {\n return {\n type: SUBMIT_USER_ABSENCE,\n payload: new Promise(function (resolve, reject) {\n var data = JSON.stringify(values);\n api.post(\"absence\", data).then(function (response) {\n resolve(response.data);\n })[\"catch\"](function (data) {\n reject(null);\n });\n })\n };\n};\nexport var updateAbsence = function updateAbsence(values) {\n return {\n type: UPDATE_USER_ABSENCE,\n payload: new Promise(function (resolve, reject) {\n var data = JSON.stringify(values);\n api.put(\"absence\", data).then(function (response) {\n resolve(response.data);\n })[\"catch\"](function (data) {\n reject(null);\n });\n ;\n })\n };\n};\nexport var deleteAbsence = function deleteAbsence(id) {\n return {\n type: REMOVE_USER_ABSENCE,\n payload: new Promise(function (resolve) {\n api[\"delete\"](\"absence/\".concat(id)).then(function (data) {\n resolve(id);\n })[\"catch\"](function (data) {\n reject(null);\n });\n ;\n })\n };\n};\nexport var clearStudentAbsences = function clearStudentAbsences() {\n return {\n type: CLEAR_STUDENT_ABSENCE,\n payload: []\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_USER_ABSENCE, REMOVE_USER_ABSENCE, SUBMIT_USER_ABSENCE, UPDATE_USER_ABSENCE, CLEAR_STUDENT_ABSENCE } from 'actions/absence';\nvar INITIAL_STATE = {\n user: null,\n submitResult: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_USER_ABSENCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n user: action.payload\n });\n case SUBMIT_USER_ABSENCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n submitResult: action.payload\n });\n case UPDATE_USER_ABSENCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n submitResult: action.payload\n });\n case REMOVE_USER_ABSENCE:\n if (state.user != null) {\n var foundIndex = state.user.findIndex(function (absence) {\n return absence.id == action.payload;\n });\n if (foundIndex > -1) {\n state.user.splice(foundIndex, 1);\n }\n }\n return state;\n case CLEAR_STUDENT_ABSENCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n user: null\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_GUARDIAN_STUDENT_ASSIGNMENTS = 'GET_GUARDIAN_STUDENT_ASSIGNMENTS';\nexport var GET_GUARDIAN_STUDENT_ASSIGNMENT = 'GET_GUARDIAN_STUDENT_ASSIGNMENT';\nexport var GET_GUARDIAN_STUDENT_ASSIGNMENT_ASSESSMENTS = 'GET_GUARDIAN_STUDENT_ASSIGNMENT_ASSESSMENTS';\nexport var GET_GUARDIAN_ASSIGNMENT_STUDENT_ASSESSMENT = 'GET_GUARDIAN_ASSIGNMENT_STUDENT_ASSESSMENT';\nexport var CLEAR_GUARDIAN_STUDENT_ASSIGNMENTS = 'CLEAR_GUARDIAN_STUDENT_ASSIGNMENTS';\nexport var GET_TEAMS_ASSIGNMENTS = 'ASSIGNMENTS_GET_TEAMS_ASSIGNMENTS';\nexport var GET_TEAMS_ASSIGMENT = 'ASSIGNMENTS_GET_TEAMS_ASSIGNMENT';\nexport var GET_TEAMS_ASSIGMENT_OUTCOMES = 'ASSIGNMENTS_GET_TEAMS_ASSIGNMENT_OUTCOMES';\nexport var GET_TEAMS_ASSIGMENT_RESOURCES = 'ASSIGNMENTS_GET_TEAMS_ASSIGNMENT_RESOURCES';\nexport var GET_TEAMS_ASSIGMENT_RESOURCE = 'ASSIGNMENTS_GET_TEAMS_ASSIGNMENT_RESOURCE';\nexport var getGuardianStudentAssignments = function getGuardianStudentAssignments(studentId) {\n return {\n type: GET_GUARDIAN_STUDENT_ASSIGNMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/assignments\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearGuardianStudentAssignments = function clearGuardianStudentAssignments() {\n return {\n type: CLEAR_GUARDIAN_STUDENT_ASSIGNMENTS,\n payload: []\n };\n};\nexport var getGuardianStudentAssignment = function getGuardianStudentAssignment(studentId, assignmentId) {\n return {\n type: GET_GUARDIAN_STUDENT_ASSIGNMENT,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/assignments/\").concat(assignmentId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentAssignmentAssessments = function getGuardianStudentAssignmentAssessments(assignmentTaskId) {\n return {\n type: GET_GUARDIAN_STUDENT_ASSIGNMENT_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"assessments/v2/assignments/\".concat(assignmentTaskId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentAssessments = function getGuardianStudentAssessments(studentId, assignmentTaskId) {\n return {\n type: GET_GUARDIAN_ASSIGNMENT_STUDENT_ASSESSMENT,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/assignments/\").concat(assignmentTaskId, \"/studentassessment\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getTeamsAssignments = function getTeamsAssignments(studentId) {\n return {\n type: GET_TEAMS_ASSIGNMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/MSAssignments\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getTeamsAssignment = function getTeamsAssignment(studentId, groupId, assignmentId) {\n return {\n type: GET_TEAMS_ASSIGMENT,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/Groups/\").concat(groupId, \"/MSAssignments/\").concat(assignmentId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getTeamsAssignmentOutcomes = function getTeamsAssignmentOutcomes(studentId, groupId, assignmentId) {\n return {\n type: GET_TEAMS_ASSIGMENT_OUTCOMES,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/Groups/\").concat(groupId, \"/MSAssignments/\").concat(assignmentId, \"/outcomes\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getTeamsAssignmentResources = function getTeamsAssignmentResources(studentId, groupId, assignmentId) {\n return {\n type: GET_TEAMS_ASSIGMENT_RESOURCES,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/Groups/\").concat(groupId, \"/MSAssignments/\").concat(assignmentId, \"/resources\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getTeamsAssignmentResource = function getTeamsAssignmentResource(studentId, groupId, assignmentId, resourceId, fileName) {\n return {\n type: GET_TEAMS_ASSIGMENT_RESOURCE,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/Groups/\").concat(groupId, \"/MSAssignments/\").concat(assignmentId, \"/resources/\").concat(resourceId, \"/fileUrl\")).then(function (response) {\n var type = response.headers['content-type'];\n var url = response.data;\n var link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName); //or any other extension\n link.setAttribute('target', '_blank');\n document.body.appendChild(link);\n link.click();\n });\n })\n };\n};","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_GUARDIAN_STUDENT_ASSIGNMENTS, GET_GUARDIAN_STUDENT_ASSIGNMENT, GET_GUARDIAN_STUDENT_ASSIGNMENT_ASSESSMENTS, GET_GUARDIAN_ASSIGNMENT_STUDENT_ASSESSMENT, CLEAR_GUARDIAN_STUDENT_ASSIGNMENTS, GET_TEAMS_ASSIGNMENTS, GET_TEAMS_ASSIGMENT, GET_TEAMS_ASSIGMENT_OUTCOMES, GET_TEAMS_ASSIGMENT_RESOURCES, GET_TEAMS_ASSIGMENT_RESOURCE } from 'actions/assignments';\nimport Moment from 'moment';\nvar INITIAL_STATE = {\n assignments: [],\n current: [],\n submitted: [],\n overdue: [],\n upcoming: [],\n assignment: null,\n assessments: null,\n outcomes: null,\n selfAssessment: null,\n assignmentResources: null,\n assignmentResource: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_GUARDIAN_STUDENT_ASSIGNMENTS:\n var overdue = getOverdue(action.payload, state);\n var submitted = getSubmitted(action.payload, state);\n var upcoming = getUpcoming(action.payload, state);\n var current = getCurrent(action.payload, state);\n return _objectSpread(_objectSpread({}, state), {}, {\n assignments: [].concat(_toConsumableArray(state.assignments), _toConsumableArray(action.payload)),\n overdue: overdue,\n submitted: submitted,\n upcoming: upcoming,\n current: current\n });\n case GET_TEAMS_ASSIGNMENTS:\n var overdueTeams = getOverdue(action.payload, state);\n var submittedTeams = getSubmitted(action.payload, state);\n var upcomingTeams = getUpcoming(action.payload, state);\n var currentTeams = getCurrent(action.payload, state);\n return _objectSpread(_objectSpread({}, state), {}, {\n assignments: [].concat(_toConsumableArray(state.assignments), _toConsumableArray(action.payload)),\n overdue: overdueTeams,\n submitted: submittedTeams,\n upcoming: upcomingTeams,\n current: currentTeams\n });\n case CLEAR_GUARDIAN_STUDENT_ASSIGNMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n assignments: [],\n current: [],\n submitted: [],\n overdue: [],\n upcoming: [],\n assignment: null,\n assessments: null,\n outcomes: null,\n selfAssessment: null,\n assignmentResources: null,\n assignmentResource: null\n });\n case GET_GUARDIAN_STUDENT_ASSIGNMENT:\n return _objectSpread(_objectSpread({}, state), {}, {\n assignment: action.payload\n });\n case GET_GUARDIAN_STUDENT_ASSIGNMENT_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n assessments: action.payload\n });\n case GET_GUARDIAN_ASSIGNMENT_STUDENT_ASSESSMENT:\n return _objectSpread(_objectSpread({}, state), {}, {\n selfAssessment: action.payload\n });\n case GET_TEAMS_ASSIGMENT:\n return _objectSpread(_objectSpread({}, state), {}, {\n assignment: action.payload\n });\n case GET_TEAMS_ASSIGMENT_OUTCOMES:\n return _objectSpread(_objectSpread({}, state), {}, {\n outcomes: action.payload\n });\n case GET_TEAMS_ASSIGMENT_RESOURCES:\n return _objectSpread(_objectSpread({}, state), {}, {\n assignmentResources: action.payload\n });\n case GET_TEAMS_ASSIGMENT_RESOURCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n assignmentResource: action.payload\n });\n default:\n return state;\n }\n}\nfunction getOverdue(payload, state) {\n var assignments = [];\n var timeNow = Moment();\n if (payload != null) {\n assignments.push.apply(assignments, _toConsumableArray(payload));\n }\n var list = state.overdue;\n for (var _i = 0, _assignments = assignments; _i < _assignments.length; _i++) {\n var assignment = _assignments[_i];\n var isBefore = timeNow.isBefore(Moment.utc(assignment.startDate).local());\n var isAfter = timeNow.isAfter(Moment.utc(assignment.dueDate).local());\n if (assignment.assignmentType == 'TEAMS') {\n if (assignment.status == 'working' && !isBefore && isAfter) {\n list.push(assignment);\n }\n } else {\n if (assignment.status == \"ASSIGNMENT_OPEN\" && !isBefore && isAfter) {\n if (assignment.tasks.length > 0 && assignment.tasks[0].status != 'ASSIGNMENT_TASK_SUBMITTED') {\n list.push(assignment);\n }\n }\n }\n }\n sortList(list);\n return list;\n}\nfunction getCurrent(payload, state) {\n var assignments = [];\n var timeNow = Moment();\n if (payload != null) {\n assignments.push.apply(assignments, _toConsumableArray(payload));\n }\n var list = state.current;\n for (var _i2 = 0, _assignments2 = assignments; _i2 < _assignments2.length; _i2++) {\n var assignment = _assignments2[_i2];\n var isBefore = timeNow.isBefore(Moment.utc(assignment.startDate).local());\n var isAfter = timeNow.isAfter(Moment.utc(assignment.dueDate).local());\n if (assignment.assignmentType == 'TEAMS') {\n if (assignment.status == 'working' && !isBefore && !isAfter) {\n list.push(assignment);\n }\n } else {\n if (assignment.status == \"ASSIGNMENT_OPEN\" && !isBefore && !isAfter) {\n if (assignment.tasks[0] != null && assignment.tasks[0].status != 'ASSIGNMENT_TASK_SUBMITTED') {\n list.push(assignment);\n }\n }\n }\n }\n sortListDesc(list);\n return list;\n}\nfunction getUpcoming(payload, state) {\n var assignments = [];\n var timeNow = Moment();\n if (payload != null) {\n assignments.push.apply(assignments, _toConsumableArray(payload));\n }\n var list = state.upcoming;\n for (var _i3 = 0, _assignments3 = assignments; _i3 < _assignments3.length; _i3++) {\n var assignment = _assignments3[_i3];\n if (assignment.id == parseInt(assignment.id, 10)) {\n var isBefore = timeNow.isBefore(Moment.utc(assignment.startDate).local());\n if (assignment.status == 'ASSIGNMENT_OPEN' && isBefore) {\n if (list.findIndex(function (t) {\n return t.id == assignment.id;\n }) == -1) {\n list.push(assignment);\n }\n }\n } else {\n if (assignment.status == 'assigned' && assignment.assignedDateTime != null && timeNow.isBefore(Moment(assignment.assignedDateTime))) {\n list.push(assignment);\n }\n }\n }\n sortList(list);\n return list;\n}\nfunction getSubmitted(payload, state) {\n var assignments = [];\n if (payload != null) {\n assignments.push.apply(assignments, _toConsumableArray(payload));\n }\n var list = state.submitted;\n assignments.forEach(function (assignment) {\n if (assignment.assignmentType == 'TEAMS') {\n if (assignment.status == 'returned' || assignment.status == 'submitted') {\n list.push(assignment);\n }\n } else {\n if (assignment.tasks != null && assignment.tasks.length > 0 && assignment.tasks[0] != null && assignment.tasks[0].status == \"ASSIGNMENT_TASK_SUBMITTED\") {\n list.push(assignment);\n }\n }\n });\n sortList(list);\n return list;\n}\nfunction sortList(list) {\n list.sort(function (a, b) {\n var dateA = a.dueDate;\n var dateB = b.dueDate;\n if (a.displayName != null) {\n dateA = a.dueDateTime;\n }\n if (b.displayName != null) {\n dateB = b.dueDateTime;\n }\n return Moment(dateB).unix() - Moment(dateA).unix();\n });\n}\nfunction sortListDesc(list) {\n list.sort(function (a, b) {\n var dateA = a.dueDate;\n var dateB = b.dueDate;\n if (a.displayName != null) {\n dateA = a.dueDateTime;\n }\n if (b.displayName != null) {\n dateB = b.dueDateTime;\n }\n return Moment(dateA).unix() - Moment(dateB).unix();\n });\n}","import api from '../lib/api';\nexport var GET_USER_ATTENDANCE = 'ATTENDANCE_GET_USER_ATTENDANCE';\nexport var CLEAR_USER_ATTENDANCE = 'ATTENDANCE_CLEAR_USER_ATTENDANCE';\nexport var getUserAttendance = function getUserAttendance(user, start, end) {\n return {\n type: GET_USER_ATTENDANCE,\n payload: new Promise(function (resolve) {\n api.get(\"students/\".concat(user, \"/attendance?startDate=\").concat(start, \"&endDate=\").concat(end)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearStudentAttendance = function clearStudentAttendance() {\n return {\n type: CLEAR_USER_ATTENDANCE,\n payload: true\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_USER_ATTENDANCE, CLEAR_USER_ATTENDANCE } from 'actions/attendance';\nvar INITIAL_STATE = {\n user: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_USER_ATTENDANCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n user: action.payload\n });\n case CLEAR_USER_ATTENDANCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n user: INITIAL_STATE.user\n });\n default:\n return state;\n }\n}","import Moment from 'moment';\nimport api from '../lib/api';\nexport var ADD_ERROR = 'ADD_ERROR';\nexport var GET_STATUS = 'GET_STATUS';\nexport var GET_SECTION_COURSES = 'GET_SECTION_COURSES';\nexport var GET_GOALS = 'GET_GOALS';\nexport function addError(message, type) {\n var errorType = type || 'warning';\n var error = {\n msg: message,\n type: errorType,\n target: 'API',\n time: Moment()\n };\n return {\n type: ADD_ERROR,\n payload: error\n };\n}\nexport var getStatus = function getStatus(lcid) {\n return {\n type: GET_STATUS,\n payload: new Promise(function (resolve, reject) {\n if (lcid == \"sv\") {\n lcid = 'sv-SE';\n }\n if (lcid == \"en\") {\n lcid = 'en-US';\n }\n if (lcid == \"nb\") {\n lcid = 'nb-NO';\n }\n if (lcid == \"fi\") {\n lcid = \"fi-FI\";\n }\n if (lcid == \"da\") {\n lcid = \"da-dk\";\n }\n api.get(\"base/status/\".concat(lcid)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGoals = function getGoals() {\n return {\n type: GET_GOALS,\n payload: new Promise(function (resolve) {\n api.get(\"base/goals\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getSectionCourses = function getSectionCourses(id) {\n return {\n type: GET_SECTION_COURSES,\n payload: new Promise(function (resolve) {\n api.get(\"courses/GetBySection/\".concat(id)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_STATUS, GET_GOALS } from '../actions';\nvar INITIAL_STATE = {\n status: null,\n goals: []\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_STATUS:\n return _objectSpread(_objectSpread({}, state), {}, {\n status: action.payload\n });\n case GET_GOALS:\n return _objectSpread(_objectSpread({}, state), {}, {\n goals: action.payload\n });\n default:\n return state;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport api from '../lib/api';\nimport Moment from 'moment';\nvar MESSAGES_PER_PAGE = 50;\nexport var GET_CONVERSATIONS = 'CONVERSATIONS_GET_CONVERSATIONS';\nexport var GET_CONVERSATION = 'CONVERSATIONS_GET_CONVERSATION';\nexport var GET_CONVERSATIONS_REFERENCE = 'CONVERSATIONS_GET_CONVERSATIONS_BY_REFERENCE';\nexport var RESET_CONVERSATION = 'CONVERSATIONS_RESET_CONVERSATION';\nexport var GET_CONVERSATION_MESSAGES = 'CONVERSATION_GET_CONVERSATION_MESSAGES';\nexport var GET_USER_CONTACTS = 'CONVERSATION_GET_USER_CONTACTS';\nexport var GET_UNREAD_COUNT = 'CONVERSATION_GET_USER_UNREAD_COUNT';\nexport var SEARCH_CONVERSATIONS = 'CONVERSATION_SEARCH_CONVERSATIONS';\nexport var CLEAR_SEARCH_CONVERSATIONS = 'CONVERSATION_CLEAR_SEARCH_CONVERSATIONS';\nexport var FLAG_MESSAGE = 'CONVERSATION_FLAG_MESSAGE';\nexport var STAGE_CONVERSATION = 'CONVERSATION_STAGE_NEW_CONVERSATION';\nexport var SUBMIT_CONVERSATION = 'CONVERSATION_SUBMIT_NEW_CONVERSATION';\nexport var SUBMIT_CONVERSATION_MESSAGE = 'CONVERSATION_SUBMIT_CONVERSATION_MESSAGE';\nexport var getConversations = function getConversations(studentId) {\n return {\n type: GET_CONVERSATIONS,\n payload: new Promise(function (resolve) {\n api.get(\"conversations\").then(function (response) {\n var sortItems = function sortItems(a, b) {\n if (a.messages.length > 0 && b.messages.length > 0) return Moment(b.messages[0].created).unix() - Moment(a.messages[0].created).unix();else return 0;\n };\n response.data.sort(sortItems);\n resolve(response.data);\n });\n })\n };\n};\nexport var getConversation = function getConversation(id) {\n return {\n type: GET_CONVERSATION,\n payload: new Promise(function (resolve) {\n api.get(\"conversations/\".concat(id)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getConversationsByReference = function getConversationsByReference(referenceId, referenceType, student) {\n return {\n type: GET_CONVERSATIONS_REFERENCE,\n payload: new Promise(function (resolve) {\n api.get(\"conversations?referenceId=\".concat(referenceId, \"&referenceType=\").concat(referenceType)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getMessages = function getMessages(conversation, page) {\n return {\n type: GET_CONVERSATION_MESSAGES,\n payload: new Promise(function (resolve) {\n var skip = page * MESSAGES_PER_PAGE;\n var top = skip + MESSAGES_PER_PAGE;\n api.get(\"conversations/\".concat(conversation, \"/messages?skip=\").concat(skip, \"&top=\").concat(top)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var submitMessage = function submitMessage(message) {\n return {\n type: SUBMIT_CONVERSATION_MESSAGE,\n payload: new Promise(function (resolve) {\n var data = JSON.stringify(message);\n api.post('conversations/message', data).then(function (data) {\n var response = _objectSpread(_objectSpread({}, message), {}, {\n id: data.data\n });\n resolve(response);\n });\n })\n };\n};\nexport var resetConversation = function resetConversation() {\n return {\n type: RESET_CONVERSATION,\n payload: true\n };\n};\nexport var createConversation = function createConversation(conversation, studentId) {\n return {\n type: SUBMIT_CONVERSATION,\n payload: new Promise(function (resolve) {\n if (conversation.id != null) {\n delete conversation.id;\n }\n var data = JSON.stringify(conversation);\n api.post(\"conversations\", data).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var stageConversation = function stageConversation(conversation) {\n return {\n type: STAGE_CONVERSATION,\n payload: new Promise(function (resolve) {\n resolve(conversation);\n })\n };\n};\nexport var getContacts = function getContacts(student) {\n return {\n type: GET_USER_CONTACTS,\n payload: new Promise(function (resolve) {\n api.get(\"conversations/contacts/\".concat(student)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getUnreadMessages = function getUnreadMessages(studentId) {\n return {\n type: GET_UNREAD_COUNT,\n payload: new Promise(function (resolve) {\n api.get(\"conversations/unread\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var searchConversation = function searchConversation(query, studentId) {\n return {\n type: SEARCH_CONVERSATIONS,\n payload: new Promise(function (resolve) {\n api.get(\"conversations/?search=\".concat(query)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearSearch = function clearSearch() {\n return {\n type: CLEAR_SEARCH_CONVERSATIONS,\n payload: true\n };\n};\nexport var flagMessage = function flagMessage(id, reason) {\n return {\n type: FLAG_MESSAGE,\n payload: new Promise(function (resolve) {\n var values = {\n 'messageId': id,\n 'reason': reason\n };\n api.post(\"conversations/flagged\", values).then(function (response) {\n resolve(_objectSpread({\n flagID: response.data\n }, values));\n });\n })\n };\n};","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_CONVERSATIONS, GET_CONVERSATION, GET_CONVERSATIONS_REFERENCE, RESET_CONVERSATION, GET_CONVERSATION_MESSAGES, GET_USER_CONTACTS, GET_UNREAD_COUNT, SEARCH_CONVERSATIONS, CLEAR_SEARCH_CONVERSATIONS, FLAG_MESSAGE, STAGE_CONVERSATION, SUBMIT_CONVERSATION_MESSAGE, SUBMIT_CONVERSATION } from 'actions/conversation';\nvar INITIAL_STATE = {\n conversations: null,\n conversation: null,\n messages: [],\n contacts: null,\n staged: null,\n \"new\": null,\n unread: [],\n searchResults: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_CONVERSATIONS:\n return _objectSpread(_objectSpread({}, state), {}, {\n conversations: action.payload\n });\n case GET_CONVERSATION:\n return _objectSpread(_objectSpread({}, state), {}, {\n conversation: action.payload\n });\n case GET_CONVERSATIONS_REFERENCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n referenceConversations: action.payload\n });\n case GET_CONVERSATION_MESSAGES:\n if (action.payload != null && action.payload.length > 0) {\n var _state$messages;\n return _objectSpread(_objectSpread({}, state), {}, {\n messages: (_state$messages = state.messages).unshift.apply(_state$messages, _toConsumableArray(action.payload))\n });\n }\n return state;\n case SUBMIT_CONVERSATION_MESSAGE:\n if (state.conversation != null) {\n var conversationMessage = _objectSpread({}, state.conversation);\n conversationMessage.messages.push(action.payload);\n return _objectSpread(_objectSpread({}, state), {}, {\n conversation: conversationMessage\n });\n }\n return state;\n case GET_USER_CONTACTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n contacts: action.payload\n });\n case GET_UNREAD_COUNT:\n return _objectSpread(_objectSpread({}, state), {}, {\n unread: action.payload\n });\n case SEARCH_CONVERSATIONS:\n return _objectSpread(_objectSpread({}, state), {}, {\n searchResults: action.payload\n });\n case CLEAR_SEARCH_CONVERSATIONS:\n return _objectSpread(_objectSpread({}, state), {}, {\n searchResults: INITIAL_STATE.searchResults\n });\n case STAGE_CONVERSATION:\n return _objectSpread(_objectSpread({}, state), {}, {\n staged: action.payload\n });\n case SUBMIT_CONVERSATION:\n return _objectSpread(_objectSpread({}, state), {}, {\n \"new\": action.payload\n });\n case RESET_CONVERSATION:\n return _objectSpread(_objectSpread({}, state), {}, {\n conversation: INITIAL_STATE.conversation\n });\n case FLAG_MESSAGE:\n if (state.conversation != null) {\n if (state.conversation.messages != null && state.conversation.messages.length > 0) {\n var conversation = _objectSpread({}, state.conversation);\n var foundMessage = conversation.messages.findIndex(function (message) {\n return message.id == action.payload.messageId;\n });\n if (foundMessage > -1) {\n var newMessage = _objectSpread({}, conversation.messages[foundMessage]);\n newMessage.flagID = action.payload.flagID;\n newMessage.text = '';\n conversation.messages.splice(foundMessage, 1, newMessage);\n return _objectSpread(_objectSpread({}, state), {}, {\n conversation: conversation\n });\n }\n }\n }\n return state;\n default:\n return state;\n }\n}","import api from 'lib/api';\nexport var GET_GUARDIAN_STUDENT_DOCUMENTATIONS = 'GET_GUARDIAN_STUDENT_DOCUMENTATIONS';\nexport var GET_GUARDIAN_STUDENT_DOCUMENTATION = 'GET_GUARDIAN_STUDENT_DOCUMENTATION';\nexport var CLEAR_GUARDIAN_STUDENT_DOCUMENTATION = 'CLEAR_GUARDIAN_STUDENT_DOCUMENTATION';\nexport var GET_GUARDIAN_STUDENT_DOCUMENTATION_FILE = 'GET_GUARDIAN_STUDENT_DOCUMENTATION_FILE';\nexport var GET_GUARDIAN_SECTION_DOCUMENTATIONS = 'DOCUMENTATIONS_GET_GUARDIAN_SECTION_DOCUMENTATIONS';\nexport var getGuardianStudentDocumentations = function getGuardianStudentDocumentations(studentId, page, size, unread) {\n return {\n type: GET_GUARDIAN_STUDENT_DOCUMENTATIONS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/Documentations/page/\").concat(page, \"/size/\").concat(size).concat(unread ? '?&filter=status:unread' : '')).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getSectionDocumentations = function getSectionDocumentations(studentId, sectionId, page, size) {\n return {\n type: GET_GUARDIAN_SECTION_DOCUMENTATIONS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/Documentations/page/\").concat(page, \"/size/\").concat(size, \"?sectionId=\").concat(sectionId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentDocumentation = function getGuardianStudentDocumentation(studentId, id) {\n return {\n type: GET_GUARDIAN_STUDENT_DOCUMENTATION,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/Documentation/\").concat(id)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearGuardianStudentDocumentations = function clearGuardianStudentDocumentations() {\n return {\n type: CLEAR_GUARDIAN_STUDENT_DOCUMENTATION,\n payload: true\n };\n};\nexport var getGuardianStudentDocumentFile = function getGuardianStudentDocumentFile(studentId, id, fileId) {\n return {\n type: GET_GUARDIAN_STUDENT_DOCUMENTATION_FILE,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/Documentation/\").concat(id, \"/file/\").concat(fileId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_GUARDIAN_STUDENT_DOCUMENTATIONS, GET_GUARDIAN_STUDENT_DOCUMENTATION, GET_GUARDIAN_STUDENT_DOCUMENTATION_FILE, CLEAR_GUARDIAN_STUDENT_DOCUMENTATION, GET_GUARDIAN_SECTION_DOCUMENTATIONS } from 'actions/documents';\nvar INITIAL_STATE = {\n documentations: [],\n sectionDocumentations: [],\n documentation: null,\n file: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_GUARDIAN_STUDENT_DOCUMENTATIONS:\n var combined = state.documentations;\n action.payload.forEach(function (d) {\n var checkExisting = combined.find(function (cb) {\n return cb.id == d.id;\n });\n if (checkExisting == null) {\n combined.push(d);\n }\n });\n return _objectSpread(_objectSpread({}, state), {}, {\n documentations: combined\n });\n case GET_GUARDIAN_SECTION_DOCUMENTATIONS:\n var sectionCombined = state.sectionDocumentations;\n action.payload.forEach(function (d) {\n var checkExisting = sectionCombined.find(function (cb) {\n return cb.id == d.id;\n });\n if (checkExisting == null) {\n sectionCombined.push(d);\n }\n });\n return _objectSpread(_objectSpread({}, state), {}, {\n sectionDocumentations: sectionCombined\n });\n case GET_GUARDIAN_STUDENT_DOCUMENTATION:\n return _objectSpread(_objectSpread({}, state), {}, {\n documentation: action.payload\n });\n case GET_GUARDIAN_STUDENT_DOCUMENTATION_FILE:\n return _objectSpread(_objectSpread({}, state), {}, {\n file: action.payload\n });\n case CLEAR_GUARDIAN_STUDENT_DOCUMENTATION:\n return _objectSpread(_objectSpread({}, state), {}, {\n documentations: [],\n sectionDocumentations: []\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_GUARDIAN_STUDENT_GROUPS = 'GET_GUARDIAN_STUDENT_GROUPS';\nexport var GET_GUARDIAN_STUDENT_GROUP = 'GET_GUARDIAN_STUDENT_GROUP';\nexport var GET_GUARDIAN_MENTOR_GROUPS = 'GET_GUARDIAN_MENTOR_GROUPS';\nexport var GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS = 'GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS';\nexport var GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_DATE = 'GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_DATE';\nexport var GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_MATRIX_DATE = 'GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_MATRIX_DATE';\nexport var GET_GUARDIAN_STUDENT_ASSESSMENTS_DATE = 'GET_GUARDIAN_STUDENT_ASSESSMENTS_DATE';\nexport var GET_GUARDIAN_MATRIX_ASSESSMENT_STATISTIC = 'GET_GUARDIAN_MATRIX_ASSESSMENT_STATISTIC';\nexport var GET_GUARDIAN_STUDENT_ASSESSMENTS_PROGRESS = 'GET_GUARDIAN_STUDENT_ASSESSMENTS_PROGRESS';\nexport var GET_GUARDIAN_STUDENT_ASSESSMENTS_STATISTIC_PROGRESS = 'GET_GUARDIAN_STUDENT_ASSESSMENTS_STATISTIC_PROGRESS';\nexport var GET_GUARDIAN_STUDENT_ASSESSMENTS = 'GET_GUARDIAN_STUDENT_ASSESSMENTS';\nexport var CLEAR_GUARDIAN_STUDENT_GROUPS = 'CLEAR_GUARDIAN_STUDENT_GROUPS';\nexport var GET_GUARDIAN_STUDENT_ASSESSMENTS_BY_SECTION = 'GET_GUARDIAN_STUDENT_ASSESSMENTS_BY_SECTION';\nexport var GET_COURSES = 'SECTIONS_GET_COURSES';\nexport var getStudentEducationGroups = function getStudentEducationGroups(studentId) {\n return {\n type: GET_GUARDIAN_STUDENT_GROUPS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/Sections/type/EDUCATION_GROUP\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getStudentMentorGroups = function getStudentMentorGroups(studentId) {\n return {\n type: GET_GUARDIAN_MENTOR_GROUPS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/Sections/type/MENTOR_GROUP\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentGroup = function getGuardianStudentGroup(studentId, groupId) {\n return {\n type: GET_GUARDIAN_STUDENT_GROUP,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/Sections/\").concat(groupId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentAssessmentsByGroup = function getGuardianStudentAssessmentsByGroup(studentId, groupId) {\n return {\n type: GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/section/\").concat(groupId, \"/assessments\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentAssessmentsByGroupAndDate = function getGuardianStudentAssessmentsByGroupAndDate(studentId, groupId, start, end) {\n return {\n type: GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_DATE,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/section/\").concat(groupId, \"/assessments/start/\").concat(start, \"/end/\").concat(end)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentAssessmentsByDate = function getGuardianStudentAssessmentsByDate(studentId, start, end) {\n return {\n type: GET_GUARDIAN_STUDENT_ASSESSMENTS_DATE,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/assessments/start/\").concat(start, \"/end/\").concat(end)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentMatrixAssessmentsByDate = function getGuardianStudentMatrixAssessmentsByDate(studentId, matrixId, start, end) {\n return {\n type: GET_GUARDIAN_MATRIX_ASSESSMENT_STATISTIC,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/matrix/\").concat(matrixId, \"/start/\").concat(start, \"/end/\").concat(end)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearMatrixAssessmentOverview = function clearMatrixAssessmentOverview() {\n return {\n type: GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_DATE,\n payload: []\n };\n};\nexport var clearGuardianStudentGroups = function clearGuardianStudentGroups() {\n return {\n type: CLEAR_GUARDIAN_STUDENT_GROUPS,\n payload: []\n };\n};\nexport var getGuardianStudentAssessmentsByGroupAndMatrixDate = function getGuardianStudentAssessmentsByGroupAndMatrixDate(studentId, groupId, matrixId, start, end) {\n return {\n type: GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_MATRIX_DATE,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/Students/\".concat(studentId, \"/section/\").concat(groupId, \"/matrix/\").concat(matrixId, \"/start/\").concat(start, \"/end/\").concat(end)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentAssessmentsForProgress = function getGuardianStudentAssessmentsForProgress(studentId, startDate, endDate) {\n return {\n type: GET_GUARDIAN_STUDENT_ASSESSMENTS_PROGRESS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/assessments/start/\").concat(startDate, \"/end/\").concat(endDate, \"/sections\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getStudentAsseessments = function getStudentAsseessments(studentId, startDate, endDate) {\n return {\n type: GET_GUARDIAN_STUDENT_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/rawassessments/start/\").concat(startDate, \"/end/\").concat(endDate)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getStudentAsseessmentsBySection = function getStudentAsseessmentsBySection(studentId, sectionId, startDate, endDate) {\n return {\n type: GET_GUARDIAN_STUDENT_ASSESSMENTS_BY_SECTION,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/rawassessments/section/\").concat(sectionId, \"/start/\").concat(startDate, \"/end/\").concat(endDate)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentAssessmentStatisticsForProgress = function getGuardianStudentAssessmentStatisticsForProgress(studentId, sectionType, start, end) {\n return {\n type: GET_GUARDIAN_STUDENT_ASSESSMENTS_STATISTIC_PROGRESS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/sectionType/\").concat(sectionType, \"/start/\").concat(start, \"/end/\").concat(end, \"/assessmentStatistics\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getCourse = function getCourse(courseId) {\n return {\n type: GET_COURSES,\n payload: new Promise(function (resolve) {\n api.get(\"course/\".concat(courseId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_GUARDIAN_STUDENT_GROUPS, GET_GUARDIAN_STUDENT_GROUP, GET_GUARDIAN_MENTOR_GROUPS, GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS, GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_DATE, GET_GUARDIAN_STUDENT_ASSESSMENTS_DATE, GET_GUARDIAN_MATRIX_ASSESSMENT_STATISTIC, GET_GUARDIAN_STUDENT_ASSESSMENTS_PROGRESS, GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_MATRIX_DATE, GET_GUARDIAN_STUDENT_ASSESSMENTS_STATISTIC_PROGRESS, GET_GUARDIAN_STUDENT_ASSESSMENTS, CLEAR_GUARDIAN_STUDENT_GROUPS, GET_GUARDIAN_STUDENT_ASSESSMENTS_BY_SECTION, GET_COURSES } from 'actions/sections';\nvar INITIAL_STATE = {\n groups: [],\n activeGroup: null,\n activeGroupAssessments: null,\n matrixAssessments: [],\n studentOverview: [],\n progressSections: [],\n progressAssessmentStats: [],\n studentAssessments: [],\n mentorGroups: null,\n courses: []\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_GUARDIAN_STUDENT_GROUPS:\n return _objectSpread(_objectSpread({}, state), {}, {\n groups: action.payload\n });\n case GET_GUARDIAN_MENTOR_GROUPS:\n return _objectSpread(_objectSpread({}, state), {}, {\n mentorGroups: action.payload\n });\n case CLEAR_GUARDIAN_STUDENT_GROUPS:\n return _objectSpread(_objectSpread({}, state), {}, {\n groups: [],\n mentorGroups: null,\n courses: [],\n activeGroup: null,\n activeGroupAssessments: null,\n matrixAssessments: [],\n studentOverview: [],\n progressSections: [],\n progressAssessmentStats: [],\n studentAssessments: []\n });\n case GET_GUARDIAN_STUDENT_GROUP:\n return _objectSpread(_objectSpread({}, state), {}, {\n activeGroup: action.payload\n });\n case GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n activeGroupAssessments: action.payload\n });\n case GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentOverview: action.payload\n });\n case GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_DATE:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentOverview: action.payload\n });\n case GET_GUARDIAN_STUDENT_ASSESSMENTS_DATE:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentOverview: action.payload\n });\n case GET_GUARDIAN_MATRIX_ASSESSMENT_STATISTIC:\n return _objectSpread(_objectSpread({}, state), {}, {\n matrixAssessments: action.payload\n });\n case GET_GUARDIAN_STUDENT_ASSESSMENTS_PROGRESS:\n return _objectSpread(_objectSpread({}, state), {}, {\n progressSections: action.payload\n });\n case GET_GUARDIAN_STUDENT_ASSESSMENTS_STATISTIC_PROGRESS:\n return _objectSpread(_objectSpread({}, state), {}, {\n progressAssessmentStats: action.payload\n });\n case GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_MATRIX_DATE:\n if (action.payload == null) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n matrixAssessments: [].concat(_toConsumableArray(state.matrixAssessments), [action.payload])\n });\n case GET_GUARDIAN_STUDENT_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentAssessments: action.payload\n });\n case GET_GUARDIAN_STUDENT_ASSESSMENTS_BY_SECTION:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentAssessments: action.payload\n });\n case GET_COURSES:\n return _objectSpread(_objectSpread({}, state), {}, {\n courses: [].concat(_toConsumableArray(state.courses), [action.payload])\n });\n default:\n return state;\n }\n}","import api from 'lib/api';\nimport authentication from 'lib/authentication';\nexport var GET_GUARDIAN_STUDENTS = 'GET_GUARDIAN_STUDENTS';\nexport var GET_GUARDIAN_STUDENT_SCHEDULE = 'GET_GUARDIAN_STUDENT_SCHEDULE';\nexport var CLEAR_GUARDIAN_STUDENT_SCHEDULE = 'CLEAR_GUARDIAN_STUDENT_SCHEDULE';\nexport var getGuardianStudents = function getGuardianStudents() {\n return {\n type: GET_GUARDIAN_STUDENTS,\n payload: new Promise(function (resolve, reject) {\n api.get('Guardians/me/studentList').then(function (response) {\n resolve(response.data);\n })[\"catch\"](function (reason) {\n if (reason != null && reason.response != null) {\n if (reason.response.status == 401) {\n authentication.logout();\n }\n }\n });\n })\n };\n};\nexport var getGuardianStudentSchedule = function getGuardianStudentSchedule(studentId, starttime, endtime) {\n return {\n type: GET_GUARDIAN_STUDENT_SCHEDULE,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/schedule/\").concat(starttime, \"/\").concat(endtime)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearGuardianStudentSchedule = function clearGuardianStudentSchedule() {\n return {\n type: CLEAR_GUARDIAN_STUDENT_SCHEDULE,\n payload: []\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_GUARDIAN_STUDENTS, GET_GUARDIAN_STUDENT_SCHEDULE, CLEAR_GUARDIAN_STUDENT_SCHEDULE } from '../actions/guardians';\nvar INITIAL_STATE = {\n students: null,\n activeStudent: null,\n currentStudent: null,\n schedule: []\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n var currentStudent = state.currentStudent;\n switch (action.type) {\n case GET_GUARDIAN_STUDENTS:\n if (state.activeStudent != null) {\n currentStudent = action.payload.find(function (student) {\n return student.id == state.activeStudent;\n });\n }\n if (currentStudent == null) {\n currentStudent = state.currentStudent;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n students: action.payload,\n currentStudent: currentStudent\n });\n case GET_GUARDIAN_STUDENT_SCHEDULE:\n return _objectSpread(_objectSpread({}, state), {}, {\n schedule: action.payload\n });\n case CLEAR_GUARDIAN_STUDENT_SCHEDULE:\n return _objectSpread(_objectSpread({}, state), {}, {\n schedule: []\n });\n default:\n return state;\n }\n}","import api from 'lib/api';\nexport var GET_MEETING = 'GET_MEETING';\nexport var GET_MEETINGS = 'GET_MEETINGS';\nexport var GET_MEETING_INSTANCE = 'GET_MEETING_INSTANCE';\nexport var GET_MEETING_INSTANCES = 'GET_MEETING_INSTANCES';\nexport var CREATE_MEETING_FORM_INSTANCE = 'CREATE_MEETING_FORM_INSTANCE';\nexport var REQUEST_MEETING_INSTANCE_CALENDAR_INVITE = 'MEETINGS_REQUEST_MEETING_INSTANCE_CALENDAR_INVITE';\nexport var CLEAR_MEETINGS = 'CLEAR_MEETINGS';\nexport var getMeetings = function getMeetings(user) {\n return {\n type: GET_MEETINGS,\n payload: new Promise(function (resolve) {\n api.get(\"meetings\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getMeeting = function getMeeting(id) {\n return {\n type: GET_MEETING,\n payload: new Promise(function (resolve) {\n api.get(\"meetings/\".concat(id)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getMeetingInstance = function getMeetingInstance(id) {\n return {\n type: GET_MEETING_INSTANCE,\n payload: new Promise(function (resolve) {\n api.get(\"meetings/instances/\".concat(id)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var updateMeetingInstanceDate = function updateMeetingInstanceDate(obj, id) {\n return {\n type: GET_MEETING_INSTANCE,\n payload: new Promise(function (resolve, reject) {\n var json = JSON.stringify(obj);\n api.put(\"meetings/instances/\".concat(id, \"/dates\"), json).then(function (response) {\n if (response.status === 204) {\n resolve(response.data);\n } else {\n resolve(response.data);\n }\n })[\"catch\"](function (error) {\n reject(null);\n });\n })\n };\n};\nexport var createMeetingFormInstance = function createMeetingFormInstance(meetingId, instanceId, instance) {\n return {\n type: CREATE_MEETING_FORM_INSTANCE,\n payload: new Promise(function (resolve) {\n var values = JSON.stringify(instance);\n api.post(\"meetings/\".concat(meetingId, \"/instance/\").concat(instanceId, \"/formInstance\"), values).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var requestMeetingCalendarInvite = function requestMeetingCalendarInvite(meetingInstanceId) {\n return {\n type: REQUEST_MEETING_INSTANCE_CALENDAR_INVITE,\n payload: new Promise(function (resolve, reject) {\n api.post(\"meetings/instances/\".concat(meetingInstanceId, \"/sendappointment\")).then(function (response) {\n resolve(response.data);\n })[\"catch\"](function (error) {\n reject(error);\n });\n })\n };\n};\nexport var clearMeetings = function clearMeetings() {\n return {\n type: CLEAR_MEETINGS,\n payload: []\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_MEETING, GET_MEETINGS, GET_MEETING_INSTANCE, CLEAR_MEETINGS } from 'actions/meetings';\nvar INITIAL_STATE = {\n meetings: [],\n meeting: null,\n meetingInstance: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_MEETING:\n return _objectSpread(_objectSpread({}, state), {}, {\n meeting: action.payload\n });\n case GET_MEETINGS:\n return _objectSpread(_objectSpread({}, state), {}, {\n meetings: action.payload\n });\n case GET_MEETING_INSTANCE:\n if (action.payload) {\n return _objectSpread(_objectSpread({}, state), {}, {\n meetingInstance: action.payload\n });\n }\n case CLEAR_MEETINGS:\n return _objectSpread(_objectSpread({}, state), {}, {\n meetings: []\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_NOTIFICATIONS = 'GET_NOTIFICATIONS';\nexport var GET_UNREAD_NOTIFICATIONS = 'GET_UNREAD_NOTIFICATIONS';\nexport var POST_REGISTER_PUSH = 'POST_REGISTER_PUSH';\nexport var UPDATE_NOTIFICATION_CONTENTREAD = 'UPDATE_NOTIFICATION_CONTENTREAD';\nexport var postRegisterPush = function postRegisterPush(data) {\n return {\n type: POST_REGISTER_PUSH,\n payload: new Promise(function (resolve) {\n api.post(\"pushnotifications/register\", data).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getNotifications = function getNotifications(studentId) {\n return {\n type: GET_NOTIFICATIONS,\n payload: new Promise(function (resolve) {\n api.get(\"notifications\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getUnreadNotifications = function getUnreadNotifications(studentId) {\n return {\n type: GET_UNREAD_NOTIFICATIONS,\n payload: new Promise(function (resolve) {\n api.get(\"notifications?status=unread\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var updateNotificationContentRead = function updateNotificationContentRead(unreadList) {\n return {\n type: UPDATE_NOTIFICATION_CONTENTREAD,\n payload: new Promise(function (resolve) {\n api.put(\"notifications\", unreadList).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_UNREAD_NOTIFICATIONS, GET_NOTIFICATIONS } from '../actions/notifications';\nvar INITIAL_STATE = {\n notifications: [],\n unreadNotifications: 0\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_NOTIFICATIONS:\n return _objectSpread(_objectSpread({}, state), {}, {\n notifications: action.payload\n });\n case GET_UNREAD_NOTIFICATIONS:\n if (window.ReactNativeWebView != null) {\n window.ReactNativeWebView.postMessage(JSON.stringify({\n type: \"unread_notifications\",\n value: action.payload\n }));\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n unreadNotifications: action.payload\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_GUARDIAN_STUDENT_PLANS = 'GET_GUARDIAN_STUDENT_PLANS';\nexport var GET_GUARDIAN_STUDENT_PLAN = 'GET_GUARDIAN_STUDENT_PLAN';\nexport var GET_GUARDIAN_STUDENT_PLAN_ASSESSMENTS = 'GET_GUARDIAN_STUDENT_PLAN_ASSESSMENTS';\nexport var CLEAR_GUARDIAN_STUDENT_PLANS = 'CLEAR_GUARDIAN_STUDENT_PLANS';\nexport var getGuardianStudentPlans = function getGuardianStudentPlans(studentId) {\n return {\n type: GET_GUARDIAN_STUDENT_PLANS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/plans\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearGuardianStudentPlans = function clearGuardianStudentPlans() {\n return {\n type: CLEAR_GUARDIAN_STUDENT_PLANS,\n payload: []\n };\n};\nexport var getGuardianStudentPlan = function getGuardianStudentPlan(studentId, planId) {\n return {\n type: GET_GUARDIAN_STUDENT_PLAN,\n payload: new Promise(function (resolve, reject) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/plans/\").concat(planId)).then(function (response) {\n resolve(response.data);\n })[\"catch\"](function (error) {\n reject(error);\n });\n })\n };\n};\nexport var getGuardianStudentPlanAssessments = function getGuardianStudentPlanAssessments(planId) {\n return {\n type: GET_GUARDIAN_STUDENT_PLAN_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"assessments/v2/plans/\".concat(planId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_GUARDIAN_STUDENT_PLANS, GET_GUARDIAN_STUDENT_PLAN, GET_GUARDIAN_STUDENT_PLAN_ASSESSMENTS, CLEAR_GUARDIAN_STUDENT_PLANS } from '../actions/planning';\nvar INITIAL_STATE = {\n plans: null,\n plan: null,\n assessments: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_GUARDIAN_STUDENT_PLANS:\n return _objectSpread(_objectSpread({}, state), {}, {\n plans: action.payload\n });\n case CLEAR_GUARDIAN_STUDENT_PLANS:\n return _objectSpread(_objectSpread({}, state), {}, {\n plans: null,\n plan: null,\n assessments: null\n });\n case GET_GUARDIAN_STUDENT_PLAN:\n return _objectSpread(_objectSpread({}, state), {}, {\n plan: action.payload\n });\n case GET_GUARDIAN_STUDENT_PLAN_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n assessments: action.payload\n });\n default:\n return state;\n }\n}","import api from 'lib/api';\nexport var GET_GUARDIAN_STUDENT_POSTS = 'GET_GUARDIAN_STUDENT_POSTS';\nexport var GET_GUARDIAN_SECTION_POSTS = 'POSTS_GET_GUARDIAN_SECTION_POSTS';\nexport var CLEAR_GUARDIAN_STUDENT_POSTS = 'CLEAR_GUARDIAN_STUDENT_POSTS';\nexport var GET_GUARDIAN_STUDENT_POST = 'GET_GUARDIAN_STUDENT_POST';\nexport var getGuardianStudentPosts = function getGuardianStudentPosts(studentId, page, size, unread) {\n return {\n type: GET_GUARDIAN_STUDENT_POSTS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/posts/page/\").concat(page, \"/size/\").concat(size).concat(unread ? '?&filter=status:unread' : '')).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getSectionPosts = function getSectionPosts(studentId, sectionId, page, size) {\n return {\n type: GET_GUARDIAN_SECTION_POSTS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/posts/page/\").concat(page, \"/size/\").concat(size, \"?sectionId=\").concat(sectionId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentPost = function getGuardianStudentPost(studentId, postId) {\n return {\n type: GET_GUARDIAN_STUDENT_POST,\n payload: new Promise(function (resolve, reject) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/posts/\").concat(postId)).then(function (response) {\n if (response.status > 201) {\n reject(response);\n return true;\n }\n resolve(response.data);\n });\n })\n };\n};\nexport var clearGuardianStudentPosts = function clearGuardianStudentPosts() {\n return {\n type: CLEAR_GUARDIAN_STUDENT_POSTS,\n payload: true\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_GUARDIAN_STUDENT_POSTS, GET_GUARDIAN_SECTION_POSTS, GET_GUARDIAN_STUDENT_POST, CLEAR_GUARDIAN_STUDENT_POSTS } from 'actions/posts';\nvar INITIAL_STATE = {\n posts: [],\n sectionPosts: [],\n post: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_GUARDIAN_STUDENT_POSTS:\n var combinedPosts = state.posts;\n if (action.payload != null && action.payload.length > 0) {\n action.payload.forEach(function (d) {\n var checkExisting = combinedPosts.find(function (cb) {\n return cb.id == d.id;\n });\n if (checkExisting == null) {\n combinedPosts.push(d);\n }\n });\n return _objectSpread(_objectSpread({}, state), {}, {\n posts: combinedPosts\n });\n }\n return state;\n case GET_GUARDIAN_SECTION_POSTS:\n if (action.payload != null && action.payload.length > 0) {\n var sectionCombined = state.sectionPosts;\n action.payload.forEach(function (d) {\n var checkExisting = sectionCombined.find(function (cb) {\n return cb.id == d.id;\n });\n if (checkExisting == null) {\n sectionCombined.push(d);\n }\n });\n return _objectSpread(_objectSpread({}, state), {}, {\n sectionPosts: sectionCombined\n });\n }\n return state;\n case GET_GUARDIAN_STUDENT_POST:\n if (action.error) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n post: action.payload\n });\n case CLEAR_GUARDIAN_STUDENT_POSTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n posts: [],\n sectionPosts: [],\n post: null\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_PROFILE_INFORMATION = 'GET_PROFILE_INFORMATION';\nexport var PUT_PROFILE_INFORMATION = 'PUT_PROFILE_INFORMATION';\nexport var putProfileInformation = function putProfileInformation(profile) {\n return {\n type: PUT_PROFILE_INFORMATION,\n payload: new Promise(function (resolve) {\n var json = JSON.stringify(profile);\n api.put('profile/me', json).then(function (data) {\n resolve(data);\n });\n })\n };\n};\nexport var getProfileInformation = function getProfileInformation() {\n return {\n type: GET_PROFILE_INFORMATION,\n payload: new Promise(function (resolve) {\n api.get('profile/me').then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_PROFILE_INFORMATION } from '../actions/profile';\nvar INITIAL_STATE = {\n profile: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_PROFILE_INFORMATION:\n return _objectSpread(_objectSpread({}, state), {}, {\n profile: action.payload\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_GUARDIAN_STUDENT_COURSES = 'GET_GUARDIAN_STUDENT_COURSES';\nexport var GET_GUARDIAN_STUDENT_LATEST_VERDICTS = 'GET_GUARDIAN_STUDENT_LATEST_VERDICTS';\nexport var GET_GUARDIAN_STUDENT_VERDICT_SCALE = 'GET_GUARDIAN_STUDENT_VERDICT_SCALE';\nexport var GET_GUARDIAN_STUDENT_VERDICTS = 'GET_GUARDIAN_STUDENT_VERDICTS';\nexport var CLEAR_GUARDIAN_STUDENT_STUDYPLAN = 'CLEAR_GUARDIAN_STUDENT_STUDYPLAN';\nexport var GET_ASSIGNMENT_ASSESSMENTS = 'GET_ASSIGNMENT_ASSESSMENTS';\nexport var GET_PLAN_ASSESSMENTS = 'GET_PLAN_ASSESSMENTS';\nexport var getGuardianStudentLatestVerdicts = function getGuardianStudentLatestVerdicts(studentId) {\n return {\n type: GET_GUARDIAN_STUDENT_LATEST_VERDICTS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/verdicts\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getGuardianStudentVerdicts = function getGuardianStudentVerdicts(studentId, courseId) {\n return {\n type: GET_GUARDIAN_STUDENT_VERDICTS,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/verdicts?courseId=\").concat(courseId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getVerdictScales = function getVerdictScales(studentId) {\n return {\n type: GET_GUARDIAN_STUDENT_VERDICT_SCALE,\n payload: new Promise(function (resolve) {\n api.get(\"Guardians/me/students/\".concat(studentId, \"/verdictScales\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearStudyPlans = function clearStudyPlans() {\n return {\n type: CLEAR_GUARDIAN_STUDENT_STUDYPLAN,\n payload: null\n };\n};\nexport var getPlanAssessments = function getPlanAssessments(studentId, subjectCode) {\n return {\n type: GET_PLAN_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"students/\".concat(studentId, \"/assessments/\").concat(subjectCode, \"/assignments\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getAssignmentAssessments = function getAssignmentAssessments(studentId, subjectCode) {\n return {\n type: GET_ASSIGNMENT_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"students/\".concat(studentId, \"/assessments/\").concat(subjectCode, \"/plans\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_GUARDIAN_STUDENT_COURSES, GET_GUARDIAN_STUDENT_VERDICTS, CLEAR_GUARDIAN_STUDENT_STUDYPLAN, GET_GUARDIAN_STUDENT_LATEST_VERDICTS, GET_GUARDIAN_STUDENT_VERDICT_SCALE, GET_ASSIGNMENT_ASSESSMENTS, GET_PLAN_ASSESSMENTS } from 'actions/studyplans';\nvar INITIAL_STATE = {\n courses: [],\n lastVerdicts: [],\n scales: null,\n verdicts: [],\n assignments: [],\n plans: []\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_PLAN_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n assignments: action.payload\n });\n case GET_ASSIGNMENT_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n plans: action.payload\n });\n case GET_GUARDIAN_STUDENT_LATEST_VERDICTS:\n if (action.payload != null && action.payload.length > 0) {\n var uniqueCourseSet = new Set();\n action.payload.forEach(function (verdict) {\n if (verdict.courses && verdict.courses.length > 0) {\n verdict.courses.forEach(function (course) {\n if (course && course.course) {\n uniqueCourseSet.add(JSON.stringify(course.course));\n }\n });\n }\n });\n return _objectSpread(_objectSpread({}, state), {}, {\n lastVerdicts: action.payload,\n courses: _toConsumableArray(uniqueCourseSet).map(function (courseStr) {\n return JSON.parse(courseStr);\n })\n });\n }\n return state;\n case GET_GUARDIAN_STUDENT_VERDICT_SCALE:\n return _objectSpread(_objectSpread({}, state), {}, {\n scales: action.payload\n });\n case GET_GUARDIAN_STUDENT_VERDICTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n verdicts: action.payload\n });\n case CLEAR_GUARDIAN_STUDENT_STUDYPLAN:\n return _objectSpread(_objectSpread({}, state), {}, {\n studyPlans: [],\n lastVerdicts: [],\n scales: null,\n verdicts: []\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_FORM_TEMPLATE = 'TEMPLATE_GET_FORM_SINGLE_TEMPLATE';\nexport var CLEAR_FORM_TEMPLATE = 'TEMPLATE_CLEAR_SINGLE_FORM_TEMPLATE';\nexport var CREATE_FORM = 'TEMPLATE_ASSIGN_FORM_TEMPLATE';\nexport var UPDATE_FORM_INSTANCE = 'TEMPLATE_UPDATE_FORM_INSTANCE';\nexport var GET_FORM = 'TEMPLATE_GET_FORM';\nexport var CLEAR_FORM = 'TEMPLATE_CLEAR_FORM_DATA';\nexport var GET_FORMS = 'TEMPLATE_GET_FORMS';\nexport var GET_FORM_INSTANCE = 'TEMPLATE_GET_FORM_INSTANCE';\nexport var getFormTemplate = function getFormTemplate(id) {\n return {\n type: GET_FORM_TEMPLATE,\n payload: new Promise(function (resolve) {\n api.get(\"forms/template/\".concat(id)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearFormTemplate = function clearFormTemplate() {\n return {\n type: CLEAR_FORM_TEMPLATE,\n payload: true\n };\n};\nexport var getForm = function getForm(id) {\n return {\n type: GET_FORM,\n payload: new Promise(function (resolve) {\n api.get(\"forms/\".concat(id)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearForm = function clearForm() {\n return {\n type: CLEAR_FORM,\n payload: true\n };\n};\nexport var getForms = function getForms() {\n return {\n type: GET_FORMS,\n payload: new Promise(function (resolve) {\n api.get(\"forms\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var updateFormInstance = function updateFormInstance(instance) {\n return {\n type: UPDATE_FORM_INSTANCE,\n payload: new Promise(function (resolve) {\n var values = JSON.stringify(instance);\n api.put(\"forms/instances\", values).then(function (data) {\n resolve(data);\n });\n })\n };\n};\nexport var getFormInstance = function getFormInstance(id) {\n return {\n type: GET_FORM_INSTANCE,\n payload: new Promise(function (resolve) {\n api.get(\"forms/instance/\".concat(id)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { CLEAR_FORM, CLEAR_FORM_TEMPLATE, GET_FORM, GET_FORMS, GET_FORM_INSTANCE } from 'actions/templates';\nvar INITIAL_STATE = {\n templates: null,\n formTemplate: null,\n form: null,\n forms: null,\n instance: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case CLEAR_FORM_TEMPLATE:\n return _objectSpread(_objectSpread({}, state), {}, {\n formTemplate: INITIAL_STATE.formTemplate\n });\n case GET_FORM:\n return _objectSpread(_objectSpread({}, state), {}, {\n form: action.payload\n });\n case CLEAR_FORM:\n return _objectSpread(_objectSpread({}, state), {}, {\n form: INITIAL_STATE.form,\n formTemplate: INITIAL_STATE.formTemplate\n });\n case GET_FORMS:\n return _objectSpread(_objectSpread({}, state), {}, {\n forms: action.payload\n });\n case GET_FORM_INSTANCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n instance: action.payload\n });\n default:\n return state;\n }\n}","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport moment from 'moment';\nvar ServiceManager = /*#__PURE__*/_createClass(function ServiceManager(tenantServices, schoolServices) {\n var _this = this;\n _classCallCheck(this, ServiceManager);\n _defineProperty(this, \"getServices\", function () {\n return {\n haldorEducation: _this.haveService('HALDOR_EDUCATION'),\n haldorCoursePlanning: _this.haveService('HALDOR_COURSEPLANNING'),\n microsoft: _this.haveService('MS_ASSIGNMENTS'),\n haldor: _this.haveService('HALDOR_ASSIGNMENTS'),\n news: _this.haveService('HALDOR_NEWS'),\n schedule: _this.haveService('HALDOR_SCHEDULE'),\n advancedSchedule: _this.haveService('HALDOR_ADVANCED_CALENDAR'),\n plans: _this.haveService('HALDOR_PLANS'),\n conversations: _this.haveService('HALDOR_CONVERSATIONS'),\n attendance: _this.haveService('HALDOR_ATTENDANCE'),\n forms: _this.haveService('HALDOR_FORMS'),\n meetings: _this.haveService('HALDOR_MEETINGS'),\n verdicts: _this.haveService('HALDOR_VERDICTS'),\n additionalAdjustments: _this.haveService('HALDOR_ADDITIONAL_ADJUSTMENTS'),\n teamsMeeting: _this.haveService('HALDOR_TEAMSMEETINGS'),\n notes: _this.haveService('HALDOR_NOTES'),\n exportAssessments: _this.haveService('HALDOR_EXPORTASSESSMENTS'),\n plagiarism: _this.haveService('HALDOR_EDUCATION_PLAGIARISM'),\n immersiveReaderPlans: _this.haveService('IMMERSIVE_READER_PLANS'),\n immersiveReaderAssignments: _this.haveService('IMMERSIVE_READER_ASSIGNMENTS'),\n immersiveReaderPosts: _this.haveService('IMMERSIVE_READER_POSTS'),\n immersiveReaderConversations: _this.haveService('IMMERSIVE_READER_CONVERSATIONS'),\n msAssignmentOutcomes: _this.haveService('MS_ASSIGNMENTOUTCOMES'),\n assessments: _this.haveService('HALDOR_ASSESSMENTS')\n };\n });\n _defineProperty(this, \"haveService\", function (serviceId) {\n return _this.tenantServices != null && _this.tenantServices.find(function (service) {\n return service.serviceId == serviceId && moment(service.serviceEnd).isSameOrAfter(moment(), 'day');\n }) != null || _this.schoolServices != null && _this.schoolServices.find(function (service) {\n return service.serviceId == serviceId && moment(service.serviceEnd).isSameOrAfter(moment(), 'day');\n }) != null;\n });\n this.tenantServices = tenantServices;\n this.schoolServices = schoolServices;\n});\nexport default ServiceManager;","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport api from '../lib/api';\nexport var SET_AUTHENTICATED_USER = 'SET_AUTHENTICATED_USER';\nexport var SET_REFRESHINPROGRESS_USER = 'SET_REFRESHINPROGRESS_USER';\nexport var SET_ACTIVE_USER = 'USER_SET_ACTIVE_USER';\nexport var SET_ACTIVE_STUDENT = 'USER_SET_ACTIVE_STUDENT';\nexport var SET_ACTIVE_SCHOOL = 'USER_SET_ACTIVE_SCHOOL';\nexport var GET_READER_PARAMS = 'USER_GET_READER_PARAMS';\nexport var GET_STUDENT_SCHOOL_DATA = 'GET_STUDENT_SCHOOL_DATA';\nexport var SET_HALDOR_APP_ORIENTATION = 'SET_HALDOR_APP_ORIENTATION';\nimport { setActiveStudent as storage_setActiveStudent, getActiveStudent as storage_getActiveStudent, setActiveSchool as storage_setActiveSchool, getActiveSchool as storage_getActiveSchool } from 'helpers/guardian';\nexport var setHaldorAppOrientation = function setHaldorAppOrientation(layout) {\n return {\n type: SET_HALDOR_APP_ORIENTATION,\n payload: layout\n };\n};\nexport var setAuthenticated = function setAuthenticated(isAuthenticated) {\n return {\n type: SET_AUTHENTICATED_USER,\n payload: isAuthenticated\n };\n};\nexport var setRefreshInProgress = function setRefreshInProgress(isRefreshInProgress) {\n return {\n type: SET_REFRESHINPROGRESS_USER,\n payload: isRefreshInProgress\n };\n};\nexport var setActiveUser = function setActiveUser(user) {\n return {\n type: SET_ACTIVE_USER,\n payload: user\n };\n};\nexport var setActiveStudent = function setActiveStudent(student) {\n return {\n type: SET_ACTIVE_STUDENT,\n payload: new Promise(function (resolve, reject) {\n var prevStudent = storage_getActiveStudent();\n storage_setActiveStudent(student.id); // setActiveStudent before api call in order to get correct studentId for the call\n api.get(\"students/\".concat(student.id)).then(function (response) {\n if (response.status == 204) {\n storage_setActiveStudent(prevStudent); // reset active student\n reject();\n }\n resolve(response.data);\n });\n })\n };\n};\nexport var setActiveSchool = function setActiveSchool(school, student) {\n return {\n type: SET_ACTIVE_SCHOOL,\n payload: new Promise(function (resolve) {\n storage_setActiveSchool(school, student);\n resolve(school);\n })\n };\n};\nexport function getReaderParameters() {\n return {\n type: GET_READER_PARAMS,\n payload: new Promise( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {\n var token, subdomain;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return new Promise(function (resolve) {\n api.get(\"cognitiveServices/token\").then(function (response) {\n resolve(response.data);\n });\n });\n case 2:\n token = _context.sent;\n _context.next = 5;\n return new Promise(function (resolve) {\n api.get(\"cognitiveServices/subdomain\").then(function (response) {\n resolve(response.data);\n });\n });\n case 5:\n subdomain = _context.sent;\n resolve({\n subdomain: subdomain,\n token: token\n });\n case 7:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }())\n };\n}\nexport var getSchoolData = function getSchoolData(studentId, key) {\n return {\n type: GET_STUDENT_SCHOOL_DATA,\n payload: new Promise(function (resolve) {\n api.get(\"students/\".concat(studentId, \"/schoolsdata/\").concat(key)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport ServiceManager from '_class/ServiceManager';\nimport { SET_ACTIVE_USER, SET_ACTIVE_STUDENT, SET_ACTIVE_SCHOOL, SET_REFRESHINPROGRESS_USER, SET_AUTHENTICATED_USER, GET_READER_PARAMS, GET_STUDENT_SCHOOL_DATA, SET_HALDOR_APP_ORIENTATION } from 'actions/user';\nvar INITIAL_STATE = {\n user: null,\n appOrientation: null,\n activeStudent: null,\n activeSchool: null,\n refreshInProgress: false,\n authenticated: false,\n schoolDatas: null,\n reader: null,\n isApp: window.navigator.userAgent.indexOf('android-haldor') > -1 || window.navigator.userAgent.indexOf('ios-haldor') ? true : false\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case SET_AUTHENTICATED_USER:\n return _objectSpread(_objectSpread({}, state), {}, {\n authenticated: action.payload\n });\n case SET_REFRESHINPROGRESS_USER:\n return _objectSpread(_objectSpread({}, state), {}, {\n refreshInProgress: action.payload\n });\n case SET_ACTIVE_USER:\n return _objectSpread(_objectSpread({}, state), {}, {\n user: action.payload\n });\n case SET_ACTIVE_STUDENT:\n var student = action.payload;\n student.services = new ServiceManager(student.tenantServices, student.schoolServices).getServices();\n return _objectSpread(_objectSpread({}, state), {}, {\n activeStudent: student\n });\n case SET_ACTIVE_SCHOOL:\n return _objectSpread(_objectSpread({}, state), {}, {\n activeSchool: action.payload\n });\n case GET_READER_PARAMS:\n return _objectSpread(_objectSpread({}, state), {}, {\n reader: action.payload\n });\n case GET_STUDENT_SCHOOL_DATA:\n return _objectSpread(_objectSpread({}, state), {}, {\n schoolDatas: action.payload\n });\n case SET_HALDOR_APP_ORIENTATION:\n return _objectSpread(_objectSpread({}, state), {}, {\n appOrientation: action.payload\n });\n default:\n return state;\n }\n}","export var GET_DEVICE_INFO = 'GET_DEVICE_INFO';\nexport var getDeviceInfo = function getDeviceInfo() {\n return {\n type: GET_DEVICE_INFO,\n payload: window.navigator.userAgent.indexOf('android-haldor') > -1 || window.navigator.userAgent.indexOf('ios-haldor') > -1 ? true : false\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_DEVICE_INFO } from 'actions/deviceinfo';\nvar INITIAL_STATE = {\n isApp: window.navigator.userAgent.indexOf('android-haldor') > -1 || window.navigator.userAgent.indexOf('ios-haldor') > -1 ? true : false\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_DEVICE_INFO:\n return _objectSpread(_objectSpread({}, state), {}, {\n isApp: action.payload\n });\n default:\n return state;\n }\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport moment from 'moment';\nexport var setMenuItems = function setMenuItems(items) {\n if (items != null) {\n localStorage.setItem('menu_items', JSON.stringify(items));\n }\n};\nexport var getMenuItems = function getMenuItems() {\n var items = localStorage.getItem('menu_items');\n if (items != null && items != '') {\n var decoded = JSON.parse(items);\n if (decoded.length > 0) {\n return decoded;\n }\n return null;\n }\n return null;\n};\nexport var getSchoolType = function getSchoolType(activeStudent) {\n if (activeStudent != null) {\n var schoolTypes = [];\n activeStudent.schools.forEach(function (school) {\n schoolTypes.push(school.type);\n });\n if (schoolTypes.length > 0) {\n return schoolTypes[0].toUpperCase();\n } else {\n return null;\n }\n }\n return null;\n};\nexport var saveWithExpiration = function saveWithExpiration(key, value) {\n var expiration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (expiration == null) {\n expiration = moment().add(12, 'hours').format();\n } else {\n expiration = moment(expiration).format();\n }\n var item = {\n data: value,\n expiration: expiration\n };\n localStorage.setItem(key, JSON.stringify(item));\n};\nexport var getWithExpiration = function getWithExpiration(key) {\n var item = localStorage.getItem(key);\n if (item == null) {\n return null;\n }\n var obj = null;\n try {\n obj = JSON.parse(item);\n } catch (e) {\n obj = item;\n }\n if (typeof obj == 'string') {\n return obj;\n }\n if (_typeof(obj) == 'object') {\n if (moment().isSameOrAfter(moment(obj.expiration))) {\n // Item has expired\n localStorage.removeItem(key);\n return null;\n }\n return obj.data;\n }\n return null;\n};","import api from '../lib/api';\nexport var GET_MENU_ITEMS = 'MENU_GET_MENU_ITEMS';\nexport var getMenuItems = function getMenuItems(studentId) {\n return {\n type: GET_MENU_ITEMS,\n payload: new Promise(function (resolve) {\n api.get(\"navigation\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { setMenuItems, getMenuItems } from 'helpers/localstorage';\nimport { GET_MENU_ITEMS } from 'actions/menu';\nvar rehydrate_items = getMenuItems();\nvar INITIAL_STATE = {\n items: rehydrate_items\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_MENU_ITEMS:\n if (action.payload != null) {\n setMenuItems(action.payload);\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n items: action.payload\n });\n default:\n return state;\n }\n}","export var SET_PAGE_ACTIONS = 'HEADER_SET_PAGE_ACTIONS';\nexport var SET_PAGE_TITLE = 'HEADER_SET_PAGE_TITLE';\nexport var ON_ROUTE_CHANGE = 'HEADER_ON_ROUTE_CHANGE';\nexport var setPageActions = function setPageActions(value) {\n return {\n type: SET_PAGE_ACTIONS,\n payload: new Promise(function (resolve) {\n resolve(value);\n })\n };\n};\nexport var setPageTitle = function setPageTitle(value) {\n return {\n type: SET_PAGE_TITLE,\n payload: new Promise(function (resolve) {\n resolve(value);\n })\n };\n};","export var getRootUrl = function getRootUrl() {\n if (window.location.pathname.indexOf('assignments-tab') > -1) {\n return \"/assignments-tab/\";\n } else if (window.location.pathname.indexOf('planning-tab') > -1) {\n return \"/planning-tab/\";\n } else if (window.location.pathname.indexOf('assessments-tab') > -1) {\n return \"/assessments-tab/\";\n } else if (window.location.pathname.indexOf('attendance-tab') > -1) {\n return \"/attendance-tab/\";\n } else if (window.location.pathname.indexOf('haldor-tab') > -1) {\n return \"/haldor-tab/\";\n } else {\n return \"/\";\n }\n};\nexport var getParameterByName = function getParameterByName(name, url) {\n if (!url) url = window.location.href;\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { SET_PAGE_ACTIONS, SET_PAGE_TITLE, ON_ROUTE_CHANGE } from 'actions/header';\nimport { backButtonEnable } from 'helpers/teams';\nvar INITIAL_STATE = {\n actions: null,\n title: null,\n backButton: false,\n pathname: window.location.pathname\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case SET_PAGE_ACTIONS:\n return _objectSpread(_objectSpread({}, state), {}, {\n actions: action.payload\n });\n case SET_PAGE_TITLE:\n return _objectSpread(_objectSpread({}, state), {}, {\n title: action.payload\n });\n case ON_ROUTE_CHANGE:\n // Dispatched from routes/index.js\n if (window.location.pathname == state.pathname) {\n return state;\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n title: null,\n actions: null,\n pathname: window.location.pathname,\n backButton: backButtonEnable()\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_STUDENT_ADJUSTMENTS = 'ADJUSTMENTS_GET_STUDENT_ADJUSTMENTS';\nexport var CLEAR_STUDENT_ADJUSTMENTS = 'CLEAR_STUDENT_ADJUSTMENTS';\nexport var getStudentAdjustments = function getStudentAdjustments(student) {\n return {\n type: GET_STUDENT_ADJUSTMENTS,\n payload: new Promise(function (resolve) {\n api.get('StudentAdditionalAdjustments').then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var clearStudentAdjustments = function clearStudentAdjustments() {\n return {\n type: CLEAR_STUDENT_ADJUSTMENTS,\n payload: []\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_STUDENT_ADJUSTMENTS, CLEAR_STUDENT_ADJUSTMENTS } from 'actions/additional_adjustments';\nvar INITIAL_STATE = {\n studentAdjustments: []\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_STUDENT_ADJUSTMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentAdjustments: action.payload\n });\n case CLEAR_STUDENT_ADJUSTMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentAdjustments: []\n });\n default:\n return state;\n }\n}","import api from 'lib/api';\nexport var GET_MEETING_TIME_BLOCKS = 'GET_MEETING_TIME_BLOCKS';\nexport var getMeetingTimeBlocks = function getMeetingTimeBlocks(meetingId) {\n return {\n type: GET_MEETING_TIME_BLOCKS,\n payload: new Promise(function (resolve) {\n api.get(\"timeblocks/meeting/\".concat(meetingId)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_MEETING_TIME_BLOCKS } from 'actions/timeblocks';\nimport Moment from 'moment';\nvar INITIAL_STATE = {\n meetingTimeBlocks: [],\n meetingTimeBlockSlots: []\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_MEETING_TIME_BLOCKS:\n return _objectSpread(_objectSpread({}, state), {}, {\n meetingTimeBlocks: action.payload.sort(function (a, b) {\n return new Moment(a.startTime).unix() - new Moment(b.startTime).unix();\n })\n });\n default:\n return state;\n }\n}","/* Import dependencies */\nimport api from '../lib/api';\n\n/* Define action type */\nexport var FETCH_PRESCHOOL_GOALS = 'FETCH_PRESCHOOL_GOALS';\nexport var GET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS = 'PRESCHOOL_GOALS_GET_GOAL_PLANS_AND_DOCUMENTATIONS';\nexport var RESET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS = 'RESET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS';\nexport var GET_PRESCHOOL_GOALS_USER_STATISTICS = 'PRESCHOOL_GOALS_GET_USER_STATISTICS';\nexport function fetch_preschoolgoals() {\n return {\n type: FETCH_PRESCHOOL_GOALS,\n payload: new Promise(function (resolve, reject) {\n api.get(\"base/goals\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n}\nexport var getLinkedPlansAndDocumententationsForGoal = function getLinkedPlansAndDocumententationsForGoal(goalId, from, to) {\n return {\n type: GET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS,\n payload: new Promise(function (resolve) {\n api.get(\"goals/\".concat(goalId, \"/plansAndDocumentations?from=\").concat(from, \"&to=\").concat(to)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var resetLinkedPlansAndDocumentations = function resetLinkedPlansAndDocumentations() {\n return {\n type: RESET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS,\n payload: true\n };\n};\nexport var getGoalsStatisticsForUser = function getGoalsStatisticsForUser(studentId, start, end) {\n return {\n type: GET_PRESCHOOL_GOALS_USER_STATISTICS,\n payload: new Promise(function (resolve) {\n api.get(\"goals/statistics?from=\".concat(start, \"&to=\").concat(end, \"&fromStudentCard=1\")).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { FETCH_PRESCHOOL_GOALS, GET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS, RESET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS, GET_PRESCHOOL_GOALS_USER_STATISTICS } from 'actions/preschoolform';\nvar initialState = {\n preschoolGoals: [],\n linkedData: [],\n userStatistics: null\n};\nexport default function Preschoolgoal(state, action) {\n var type = action.type,\n value = action.value;\n if (typeof state === 'undefined') {\n return initialState;\n }\n switch (type) {\n case FETCH_PRESCHOOL_GOALS:\n return _objectSpread(_objectSpread({}, state), {}, {\n preschoolGoals: action.payload\n });\n break;\n case GET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS:\n if (action.payload != null) {\n return _objectSpread(_objectSpread({}, state), {}, {\n linkedData: [].concat(_toConsumableArray(state.linkedData), [action.payload])\n });\n }\n return state;\n case RESET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS:\n return _objectSpread(_objectSpread({}, state), {}, {\n linkedData: []\n });\n case GET_PRESCHOOL_GOALS_USER_STATISTICS:\n return _objectSpread(_objectSpread({}, state), {}, {\n userStatistics: action.payload\n });\n default:\n return state;\n break;\n }\n}","import api from '../lib/api';\nexport var GET_TRANSLATIONS_FOR_LANGUAGE = 'LANGUAGES_GET_TRANSLATIONS_FOR_LANGUAGE';\nexport var getTranslations = function getTranslations(lcid) {\n return {\n type: GET_TRANSLATIONS_FOR_LANGUAGE,\n payload: new Promise(function (resolve) {\n if (lcid == \"sv\") {\n lcid = 'sv-SE';\n }\n if (lcid == \"en\") {\n lcid = 'en-US';\n }\n if (lcid == \"nb\") {\n lcid = 'nb-NO';\n }\n if (lcid == \"da\") {\n lcid = \"da-DK\";\n }\n if (lcid == \"uk\") {\n lcid = \"uk\";\n }\n api.get(\"translations/\".concat(lcid, \"?service=HALDOR_GUARDIANS\"), true).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_TRANSLATIONS_FOR_LANGUAGE } from 'actions/languages';\nvar INITIAL_STATE = {\n translations: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_TRANSLATIONS_FOR_LANGUAGE:\n return _objectSpread(_objectSpread({}, state), {}, {\n translations: action.payload\n });\n default:\n return state;\n }\n}","import api from '../lib/api';\nexport var GET_BLOCK_TYPES = 'BLOCKS_GET_BLOCK_TYPES';\nexport var SAVE_BLOCKS_ON_REFERENCE = 'BLOCKS_SAVE_BLOCKS_ON_REFERENCE';\nexport var UPDATE_BLOCKS_ON_REFERENCE = 'BLOCKS_UPDATE_BLOCKS_ON_REFERENCE';\nexport var GET_BLOCKS_BY_REFERENCE = 'BLOCKS_GET_BLOCKS_BY_REFERENCE';\nexport var getBlockTypes = function getBlockTypes() {\n return {\n type: GET_BLOCK_TYPES,\n payload: new Promise(function (resolve, reject) {\n return api.get(\"blocks/types\").then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getBlocksByReference = function getBlocksByReference(referenceId, referenceType) {\n return {\n type: GET_BLOCKS_BY_REFERENCE,\n payload: new Promise(function (resolve, reject) {\n api.get(\"blocks?referenceId=\".concat(referenceId, \"&referenceType=\").concat(referenceType)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_BLOCK_TYPES, GET_BLOCKS_BY_REFERENCE } from 'actions/blocks';\nvar INITIAL_STATE = {\n types: null,\n reference: null\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_BLOCKS_BY_REFERENCE:\n return _objectSpread(_objectSpread({}, state), {}, {\n reference: action.payload\n });\n case GET_BLOCK_TYPES:\n return _objectSpread(_objectSpread({}, state), {}, {\n types: action.payload\n });\n default:\n return state;\n }\n}","import api from \"lib/api\";\nexport var GET_ASSESSMENT = \"GET_ASSESSMENT\";\nexport var GET_ASSESSMENTS = \"GET_ASSESSMENTS\";\nexport var CREATE_ASSESSMENTS = \"CREATE_ASSESSMENTS\";\nexport var DELETE_ASSESSMENT = \"ASSESSMENTS_DELETE_ASSESSMENTS\";\nexport var DELETE_ASSESSMENTS_DETAIL = \"ASSESSMENTS_DELETE_ASSESSMENTS_DETAIL\";\nexport var GET_STUDENT_ASSESSMENTS = \"GET_STUDENT_ASSESSMENTS\";\nexport var UPDATE_ASSESSMENT = \"UPDATE_ASSESSMENT\";\nexport var UPDATE_ASSESSMENT_STATUS = \"UPDATE_ASSESSMENT_STATUS\";\nexport var GET_STUDENT_ASSESSMENT_OVERVIEW = \"GET_STUDENT_ASSESSMENT_OVERVIEW\";\nexport var GET_MATRIX_ASSESSMENT_STATISTIC = \"GET_MATRIX_ASSESSMENT_STATISTIC\";\nexport var GET_STUDENT_COURSES_GOALS = \"ASSESSMENTS_GET_STUDENT_COURSES_AND_GOALS\";\nexport var GET_STUDENT_ASSESSMENT_STATISTICS = \"ASSESSMENTS_GET_STUDENT_ASSESSMENT_STATISTICS\";\nexport var RESET_MATRIX_ASSESSMENT_STATISTICS = \"RESET_MATRIX_ASSESSMENT_STATISTICS\";\nexport var CLEAR_MATRIX_ASSESSMENT_OVERVIEW = \"CLEAR_MATRIX_ASSESSMENT_OVERVIEW\";\nexport var RESET_USER_ASESSMENT_STATISTIC = \"RESET_USER_ASSESSMENT_STATISTIC\";\nexport var GET_SECTIONS_FROM_ASSESSMENTS = \"GET_SECTIONS_FROM_ASSESSMENTS\";\nexport var GET_USER_ASSESSMENTS_STATISTIC_PROGRESS = \"GET_USER_ASSESSMENTS_STATISTIC_PROGRESS\";\nexport var GET_ASSESSMENTS_BY_STUDENT = \"GET_ASSESSMENTS_BY_STUDENT\";\nexport var GET_ASSESSMENTS_BY_STUDENT_AND_SECTION = \"GET_ASSESSMENTS_BY_STUDENT_AND_SECTION\";\nexport var CLEAR_ASSESSMENTS = \"CLEAR_ASSESSMENTS\";\nexport var EXPORT_ASSESSMENT = \"ASSESSMENTS_EXPORT_ASSESSMENT\";\nexport var EXPORT_ASSESSMENT_FOR_SECTION = \"EXPORT_ASSESSMENT_FOR_SECTION\";\nexport var EXPORT_ASSESSMENT_FOR_SCHOOLID = \"EXPORT_ASSESSMENT_FOR_SCHOOLID\";\nexport var getPlanAssessments = function getPlanAssessments(id) {\n return {\n type: GET_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"assessments/v2/plans/\".concat(id)).then(function (response) {\n if (response.status > 300) {\n resolve([]);\n return false;\n }\n resolve(response.data);\n });\n })\n };\n};\nexport var getAssignmentAssessment = function getAssignmentAssessment(id) {\n return {\n type: GET_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"assessments/assignment/\".concat(id)).then(function (response) {\n if (response.status != 200) {\n resolve(null);\n } else {\n resolve(response.data);\n }\n });\n })\n };\n};\nexport var clearMatrixAssessmentOverview = function clearMatrixAssessmentOverview() {\n return {\n type: CLEAR_MATRIX_ASSESSMENT_OVERVIEW,\n payload: true\n };\n};\nexport var getUserAssessmentStatistics = function getUserAssessmentStatistics(studentId, start, end) {\n return {\n type: GET_STUDENT_ASSESSMENT_OVERVIEW,\n payload: new Promise(function (resolve) {\n api.get(\"assessments/student/\".concat(studentId, \"/start/\").concat(start, \"/end/\").concat(end)).then(function (response) {\n resolve(response.data);\n });\n })\n };\n};\nexport var getSectionsFromAssessments = function getSectionsFromAssessments(userId, startDate, endDate) {\n return {\n type: GET_SECTIONS_FROM_ASSESSMENTS,\n payload: new Promise(function (resolve) {\n api.get(\"assessments/\".concat(userId, \"/sections/start/\").concat(startDate, \"/end/\").concat(endDate)).then(function (response) {\n if (response.status == 204) {\n resolve(null);\n return true;\n }\n resolve(response.data);\n });\n })\n };\n};\nexport var getUserSummary = function getUserSummary(studentId, startDate, endDate) {\n var params = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return {\n type: GET_STUDENT_COURSES_GOALS,\n payload: new Promise(function (resolve, reject) {\n var url = \"assessments/v2/users/\".concat(studentId, \"/summary/data?startDate=\").concat(startDate, \"&endDate=\").concat(endDate);\n if (params.sectionId != null) {\n url += \"§ionId=\".concat(params.sectionId);\n }\n api.get(url).then(function (response) {\n resolve(response.data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n })\n };\n};\nexport var getUserStatisticsDetailed = function getUserStatisticsDetailed(studentId, startDate, endDate) {\n var params = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return {\n type: GET_STUDENT_ASSESSMENT_STATISTICS,\n payload: new Promise(function (resolve, reject) {\n var url = \"assessments/v2/users/\".concat(studentId, \"/statistics/detailed?startDate=\").concat(startDate, \"&endDate=\").concat(endDate);\n if (params.sectionId != null) {\n url += \"§ionId=\".concat(params.sectionId);\n }\n api.get(url).then(function (response) {\n resolve(response.data);\n })[\"catch\"](function (e) {\n reject(e);\n });\n })\n };\n};\nexport var clearAssessments = function clearAssessments() {\n return {\n type: CLEAR_ASSESSMENTS,\n payload: []\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { GET_ASSESSMENT, GET_ASSESSMENTS, GET_SECTIONS_FROM_ASSESSMENTS, CLEAR_ASSESSMENTS, GET_STUDENT_COURSES_GOALS, GET_STUDENT_ASSESSMENT_STATISTICS } from \"actions/assessments\";\nvar INITIAL_STATE = {\n assessments: [],\n assessment: null,\n studentStatistics: null,\n studentOverview: null,\n progressSections: []\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case GET_ASSESSMENT:\n return _objectSpread(_objectSpread({}, state), {}, {\n assessment: action.payload\n });\n case GET_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n assessments: action.payload\n });\n case GET_STUDENT_COURSES_GOALS:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentOverview: action.payload\n });\n case GET_STUDENT_ASSESSMENT_STATISTICS:\n return _objectSpread(_objectSpread({}, state), {}, {\n studentStatistics: action.payload\n });\n case GET_SECTIONS_FROM_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n progressSections: action.payload\n });\n case CLEAR_ASSESSMENTS:\n return _objectSpread(_objectSpread({}, state), {}, {\n assessment: null,\n assessments: [],\n studentStatistics: null,\n studentOverview: null,\n progressSections: null\n });\n default:\n return state;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nvar INITIAL_STATE = {\n allFilter: false,\n activitiesFilter: {}\n};\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : INITIAL_STATE;\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case \"UPDATE_FILTER\":\n if (action.payload.allData) {\n return _objectSpread(_objectSpread({}, state), {}, {\n activitiesFilter: action.payload.obj,\n allFilter: true\n });\n }\n return _objectSpread(_objectSpread({}, state), {}, {\n activitiesFilter: _objectSpread(_objectSpread({}, state.activitiesFilter), action.payload.obj),\n allFilter: false\n });\n case \"CLEAR_FILTER\":\n return _objectSpread(_objectSpread({}, state), {}, {\n activitiesFilter: {},\n allFilter: false\n });\n default:\n return state;\n }\n}","/* Import React libraries */\nimport { combineReducers } from \"redux\";\nimport { reducer as reduxFormReducer } from \"redux-form\";\nimport absence from \"./reducer_absence\";\nimport assignments from \"./reducer_assignments\";\nimport attendance from \"./reducer_attendance\";\nimport base from \"./reducer_base\";\nimport Conversation from \"./reducer_conversation\";\nimport documents from \"./reducer_documents\";\nimport ErrorReducer from \"./reducer_error\";\nimport GroupsReducer from \"./reducer_groups\";\nimport guardians from \"./reducer_guardians\";\nimport Meetings from \"./reducer_meetings\";\nimport notifications from \"./reducer_notifications\";\nimport planning from \"./reducer_planning\";\nimport posts from \"./reducer_posts\";\nimport profile from \"./reducer_profile\";\nimport studyplans from \"./reducer_studyplans\";\nimport Templates from \"./reducer_templates\";\nimport User from \"./reducer_user\";\nimport DeviceInfo from \"./reducer_deviceinfo\";\nimport Menu from \"./reducer_menu\";\nimport Header from \"./reducer_header\";\nimport AdditionalAdjustments from \"./reducer_adjustments\";\nimport TimeBlocks from \"./reducer_timeblocks\";\nimport Notifications from \"./reducer_notifications\";\nimport PreschoolGoals from \"./reducer_preschoolgoal\";\nimport Languages from \"./reducer_languages\";\nimport Blocks from \"./reducer_blocks\";\nimport assessments from \"./reducer_assessments\";\nimport ScheduleFilter from \"./reducer_scheduleFilter\";\nvar rootReducer = combineReducers({\n form: reduxFormReducer,\n absence: absence,\n attendance: attendance,\n notifications: notifications,\n errors: ErrorReducer,\n groups: GroupsReducer,\n guardians: guardians,\n profile: profile,\n base: base,\n documents: documents,\n assignments: assignments,\n planning: planning,\n posts: posts,\n studyplans: studyplans,\n Conversation: Conversation,\n Templates: Templates,\n Meetings: Meetings,\n User: User,\n Menu: Menu,\n Header: Header,\n AdditionalAdjustments: AdditionalAdjustments,\n TimeBlocks: TimeBlocks,\n Notifications: Notifications,\n DeviceInfo: DeviceInfo,\n PreschoolGoals: PreschoolGoals,\n Languages: Languages,\n Blocks: Blocks,\n assessments: assessments,\n ScheduleFilter: ScheduleFilter\n});\nexport default rootReducer;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { ADD_ERROR } from '../actions/';\nexport default function () {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var action = arguments.length > 1 ? arguments[1] : undefined;\n switch (action.type) {\n case ADD_ERROR:\n return [].concat(_toConsumableArray(state), [action.payload]);\n default:\n return state;\n }\n}","import { getRootUrl } from 'helpers/url';\nexport var backButtonEnable = function backButtonEnable() {\n var current = window.location.pathname;\n if (current[current.length - 1] == '/') {\n // Remove trailing slash\n current = current.slice(0, -1);\n }\n\n // Remove trailing slash on getRootUrl since it always contains one\n if (current == getRootUrl().slice(0, -1)) {\n return false;\n } else {\n if (current == '/') {\n return false;\n }\n if (current == '/assignments') {\n return false;\n }\n if (current == '/menu') {\n return false;\n }\n if (current == '/posts') {\n return false;\n }\n if (current == '/plans') {\n return false;\n }\n if (current == '/groups') {\n return false;\n }\n if (current == '/schedule') {\n return false;\n }\n if (current == '/notifications') {\n return false;\n }\n if (current == '/conversations') {\n return false;\n }\n if (current == '/absence') {\n return false;\n }\n if (current == '/report/attendance') {\n return false;\n }\n if (current == '/courses') {\n return false;\n }\n if (current == '/progress') {\n return false;\n }\n if (current == '/conversations/admin/flagged') {\n return false;\n }\n if (current == '/forms/all') {\n return false;\n }\n if (current == '/meetings') {\n return false;\n }\n return true;\n }\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { getStatus } from 'actions';\nimport { getTranslations } from 'actions/languages';\nimport { getActiveLanguage, onLanguageChange, setActiveLanguage } from '@haldor/ui';\nvar Localization = /*#__PURE__*/function (_Component) {\n function Localization() {\n var _this;\n _classCallCheck(this, Localization);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Localization, [].concat(args));\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n var localLang = localStorage.getItem('language');\n if (localLang != null) {\n setActiveLanguage(localLang);\n }\n if (_this.props.translations == null) {\n _this.props.getTranslations(getActiveLanguage());\n }\n onLanguageChange(function (lcid) {\n localStorage.setItem('language', lcid);\n _this.props.getTranslations(lcid);\n _this.props.getStatus(lcid);\n });\n });\n return _this;\n }\n _inherits(Localization, _Component);\n return _createClass(Localization, [{\n key: \"render\",\n value: function render() {\n if (this.props.translations == null) {\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n return this.props.children;\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translations: state.Languages.translations\n };\n}\nexport default connect(mapStateToProps, {\n getTranslations: getTranslations,\n getStatus: getStatus\n})(Localization);","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nexport var getConversationParticipants = function getConversationParticipants(conversation, user) {\n if (conversation == null) {\n return null;\n }\n var users = [];\n conversation.memberships.forEach(function (membership) {\n if (user != null && user.id == membership.membershipID) {\n return true;\n }\n if (membership.membershipType.indexOf('SECTION') > -1) {\n users.push(_objectSpread({\n id: membership.membershipID,\n membershipType: membership.membershipType\n }, membership.section));\n } else {\n users.push(_objectSpread({\n id: membership.membershipID,\n membershipType: membership.membershipType\n }, membership.user));\n }\n });\n return users;\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport img from '../../../assets/img/spinner.png';\nvar Spinner = /*#__PURE__*/function (_Component) {\n function Spinner(props) {\n var _this;\n _classCallCheck(this, Spinner);\n _this = _callSuper(this, Spinner, [props]);\n _defineProperty(_this, \"getContainerClassName\", function () {\n var _this$props = _this.props,\n center = _this$props.center,\n right = _this$props.right,\n small = _this$props.small;\n var classNames = 'spinner-container';\n if (center) {\n classNames += ' center';\n }\n if (right) {\n classNames += ' right';\n }\n if (small) {\n classNames += ' small';\n }\n return classNames;\n });\n return _this;\n }\n _inherits(Spinner, _Component);\n return _createClass(Spinner, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: this.getContainerClassName(),\n key: \"spinner\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"loading-spinner\",\n style: {\n backgroundImage: \"url(\".concat(img, \")\")\n }\n }));\n }\n }]);\n}(Component);\nexport default Spinner;","import React from 'react';\nvar Plus = function Plus() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 13 13\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"icon-plus\",\n d: \"M11.5,5.5h-4v-4c0-0.6-0.4-1-1-1s-1,0.4-1,1v4h-4c-0.6,0-1,0.4-1,1s0.4,1,1,1h4v4c0,0.6,0.4,1,1,1s1-0.4,1-1v-4 h4c0.6,0,1-0.4,1-1S12.1,5.5,11.5,5.5z\"\n }));\n};\nexport default Plus;","import React from 'react';\nvar Minus = function Minus(props) {\n return /*#__PURE__*/React.createElement(\"svg\", {\n version: \"1.1\",\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 13 13\"\n }, /*#__PURE__*/React.createElement(\"line\", {\n className: \"icon-minus\",\n x1: \"11.5\",\n y1: \"6.5\",\n x2: \"1.5\",\n y2: \"6.5\"\n }));\n};\nexport default Minus;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport Plus from 'UI/IconsSrc/plus';\nimport Minus from 'UI/IconsSrc/minus';\nvar Expandable = /*#__PURE__*/function (_Component) {\n function Expandable(props) {\n var _this;\n _classCallCheck(this, Expandable);\n _this = _callSuper(this, Expandable, [props]);\n _defineProperty(_this, \"onPress\", function (event) {\n event.preventDefault();\n if (_this.props.onClick && typeof _this.props.onClick == 'function') {\n _this.props.onClick(_this.toggleOpen);\n return true;\n }\n _this.toggleOpen();\n });\n _defineProperty(_this, \"onPlusPress\", function (event) {\n event.preventDefault();\n event.stopPropagation();\n if (_this.props.onPlus && typeof _this.props.onPlus == 'function') {\n _this.props.onPlus(_this.toggleOpen);\n return true;\n } else {\n if (_this.props.onClick && typeof _this.props.onClick == 'function') {\n _this.onPress(event);\n return true;\n }\n }\n _this.toggleOpen();\n });\n _defineProperty(_this, \"toggleOpen\", function (isOpen) {\n if (typeof isOpen != 'undefined' && isOpen != null) {\n _this.setState({\n open: isOpen\n });\n } else {\n _this.setState({\n open: !_this.state.open\n });\n }\n if (_this.props.onChange && typeof _this.props.onChange == 'function') {\n _this.props.onChange(isOpen ? isOpen : !_this.state.open);\n }\n });\n _defineProperty(_this, \"getContentClassNames\", function () {\n var className = 'expandable-content';\n var open = _this.state.open;\n var centerContent = _this.props.centerContent;\n var whiteBackground = _this.props.whiteBackground;\n if (open) {\n className += ' open';\n }\n if (centerContent) {\n className += ' centerContent';\n }\n if (whiteBackground) {\n className += ' expandable-white-bg';\n }\n return className;\n });\n _defineProperty(_this, \"getHeaderClassNames\", function () {\n var className = 'expandable-header';\n var open = _this.state.open;\n var color = _this.props.color;\n if (open) {\n className += ' open';\n }\n if (color) {\n className += ' has-color';\n }\n return className;\n });\n _this.state = {\n open: props.open || false\n };\n return _this;\n }\n _inherits(Expandable, _Component);\n return _createClass(Expandable, [{\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps && nextProps.open != null) {\n if (nextProps.open != this.state.open) {\n this.toggleOpen(nextProps.open);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n title = _this$props.title,\n color = _this$props.color,\n html = _this$props.html,\n headerStyles = _this$props.headerStyles,\n contentStyles = _this$props.contentStyles,\n contentStylesClosed = _this$props.contentStylesClosed;\n var open = this.state.open;\n var style = typeof color !== 'undefined' ? {\n borderLeftColor: color\n } : {};\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"expandable-container\",\n key: title\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: this.getHeaderClassNames(),\n style: _objectSpread(_objectSpread({}, headerStyles), style)\n }, this.props.index ? /*#__PURE__*/React.createElement(\"span\", null, this.props.index, \"\\xA0\") : null, /*#__PURE__*/React.createElement(\"span\", {\n onClick: this.onPress,\n className: \"title\"\n }, title), /*#__PURE__*/React.createElement(\"div\", {\n className: \"trigger-container\",\n onClick: this.onPlusPress\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"trigger\"\n }, open ? /*#__PURE__*/React.createElement(Minus, null) : /*#__PURE__*/React.createElement(Plus, null)))), html != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: this.getContentClassNames(),\n style: open ? contentStyles : contentStylesClosed,\n dangerouslySetInnerHTML: {\n __html: children\n }\n }) : /*#__PURE__*/React.createElement(\"div\", {\n className: this.getContentClassNames(),\n style: open ? contentStyles : contentStylesClosed\n }, children));\n }\n }]);\n}(Component);\n_defineProperty(Expandable, \"defaultProps\", {\n title: 'Visa mer',\n children: '',\n centerContent: false\n});\nexport default Expandable;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nvar Block = /*#__PURE__*/function (_Component) {\n function Block() {\n var _this;\n _classCallCheck(this, Block);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Block, [].concat(args));\n _defineProperty(_this, \"renderContent\", function () {\n var _this$props = _this.props,\n children = _this$props.children,\n headerContent = _this$props.headerContent,\n content = _this$props.content,\n time = _this$props.time,\n footerContent = _this$props.footerContent,\n image = _this$props.image;\n return /*#__PURE__*/React.createElement(\"div\", null, headerContent ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-header\"\n }, headerContent) : null, image && image != null ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n backgroundImage: \"url(\\\"\".concat(image, \"\\\")\")\n },\n className: \"block-image\"\n }) : null, time ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-time\"\n }, time) : null, content ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-content\"\n }, content) : null, footerContent ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-footer\"\n }, footerContent) : null, children ? children : null);\n });\n return _this;\n }\n _inherits(Block, _Component);\n return _createClass(Block, [{\n key: \"render\",\n value: function render() {\n var link = this.props.link;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-container\",\n style: this.props.style\n }, link != null ? /*#__PURE__*/React.createElement(Link, {\n to: link\n }, this.renderContent()) : this.renderContent());\n }\n }]);\n}(Component);\nexport var BlockWrapper = function BlockWrapper(props) {\n var columns = false;\n if (props.columns) {\n columns = props.columns;\n } else if (props.cols) {\n columns = props.cols;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-wrapper \".concat(columns ? 'cols-' + columns : null),\n style: props.style\n }, props.children ? props.children : null);\n};\nexport var BlockHeader = function BlockHeader(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-header\",\n style: props.style\n }, props.children ? /*#__PURE__*/React.createElement(\"h3\", null, props.children) : null);\n};\nexport var BlockContent = function BlockContent(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-content\",\n style: props.style\n }, props.children ? props.children : null);\n};\nexport var BlockFooter = function BlockFooter(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-footer\",\n style: props.style\n }, props.children ? props.children : null);\n};\nexport var BlockTime = function BlockTime(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-time\",\n style: props.style\n }, props.children ? props.children : null);\n};\nexport default Block;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport './DataList.scss';\n\n// Need to work on naming for the component\nvar DataList = /*#__PURE__*/function (_Component) {\n function DataList(_props) {\n var _this;\n _classCallCheck(this, DataList);\n _this = _callSuper(this, DataList, [_props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.updateColumns(_this.props);\n });\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n _this.updateColumns(nextProps);\n });\n _defineProperty(_this, \"updateColumns\", function (props) {\n if (props.data != null && props.data.length > 0) {\n var columns = [];\n if (props.renderRow != null) {\n props.data.forEach(function (item, index) {\n var row = props.renderRow(item, index);\n if (row != null && row.props.children != null) {\n var children = [];\n\n // Make sure we keep the children var array\n // row.props.children can be both object and array\n if (Array.isArray(row.props.children)) {\n children = row.props.children;\n } else {\n children = [row.props.children];\n }\n children.forEach(function (rowChild) {\n if (rowChild != null && rowChild.props != null && rowChild.props.title != null) {\n if (columns.indexOf(rowChild.props.title) == -1) {\n columns.push(rowChild.props.title);\n }\n }\n });\n }\n });\n }\n _this.setState({\n columns: columns\n });\n }\n });\n _defineProperty(_this, \"onSelectType\", function (type) {\n localStorage.setItem('haldor-datalist-mode', type);\n _this.setState({\n active: type\n });\n });\n _defineProperty(_this, \"renderTable\", function () {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"table\"\n }, _this.state.columns.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"row table-head\"\n }, _this.state.columns.map(function (column) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"cell\",\n key: 'column-' + column\n }, column);\n })) : null, _this.props.data.map(function (item, index) {\n return _this.props.renderRow(item, index);\n }));\n });\n _defineProperty(_this, \"renderCards\", function () {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"cards-container\"\n }, _this.props.data.map(function (item, index) {\n return _this.props.renderCard(item, index);\n }));\n });\n _defineProperty(_this, \"renderMain\", function () {\n if (_this.props.data.length == 0 && _this.props.emptyData != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"list-content\"\n }, _this.props.emptyData());\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"list-content\"\n }, _this.state.active == 'table' ? _this.renderTable() : null, _this.state.active == 'card' ? _this.renderCards() : null);\n });\n var available = [];\n var active = null;\n var preferred = localStorage.getItem('haldor-datalist-mode');\n if (_props.renderRow != null) {\n available.push('table');\n }\n if (_props.renderCard != null) {\n available.push('card');\n }\n if (preferred != null && available.indexOf(preferred) > -1) {\n active = preferred;\n } else {\n active = available[0];\n }\n _this.state = {\n active: active,\n columns: [],\n available: available\n };\n return _this;\n }\n _inherits(DataList, _Component);\n return _createClass(DataList, [{\n key: \"render\",\n value: function render() {\n if (this.props.data == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"list-wrapper\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"list-header\"\n }, this.props.title ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"list-title\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, this.props.title)) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"list-actions\"\n }, this.props.actions != null ? this.props.actions() : null)), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both',\n width: '100%'\n }\n }), this.renderMain());\n }\n }]);\n}(Component);\nexport default DataList;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport './Style.scss';\nvar ColorLabel = /*#__PURE__*/function (_Component) {\n function ColorLabel() {\n _classCallCheck(this, ColorLabel);\n return _callSuper(this, ColorLabel, arguments);\n }\n _inherits(ColorLabel, _Component);\n return _createClass(ColorLabel, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n color = _this$props.color,\n tooltip = _this$props.tooltip,\n content = _this$props.content;\n var dotProps = Object.assign({}, this.props);\n delete dotProps.color;\n delete dotProps.tooltip;\n delete dotProps.content;\n delete dotProps.children;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"dot\"\n }, dotProps), /*#__PURE__*/React.createElement(\"div\", {\n className: \"dot-content\",\n style: {\n backgroundColor: color\n },\n \"data-tooltip\": tooltip\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"text\",\n style: {\n marginLeft: \"5px\"\n }\n }, content ? content : tooltip));\n }\n }]);\n}(Component);\nexport default ColorLabel;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport './Style.scss';\nvar ColorLabelContainer = /*#__PURE__*/function (_Component) {\n function ColorLabelContainer(props) {\n var _this;\n _classCallCheck(this, ColorLabelContainer);\n _this = _callSuper(this, ColorLabelContainer, [props]);\n _defineProperty(_this, \"setContainer\", function (element) {\n _this.container = element;\n });\n _defineProperty(_this, \"onResize\", function () {\n if (_this.container == null) {\n return false;\n }\n var containerWidth = _this.container.clientWidth;\n if (_this.contentWidth == null) {\n return false;\n }\n if (containerWidth < _this.contentWidth) {\n if (_this.state.collapse == false) {\n _this.setState({\n collapse: true\n });\n }\n } else {\n if (_this.state.collapse == true) {\n _this.setState({\n collapse: false\n });\n }\n }\n });\n _defineProperty(_this, \"calculateCollapse\", function () {\n // Issue where the container is no longer rendered on screen but the calculateCollapse still runs\n // and refs['container'] == undefined\n if (_this.container != null) {\n var contentWidth = 0;\n var dots = _toConsumableArray(_this.container.querySelectorAll('.dot'));\n dots.forEach(function (dot) {\n if (dots.length > 1) {\n // Add extra 10 px for margin\n contentWidth = contentWidth + dot.clientWidth + 25;\n } else {\n contentWidth = contentWidth + dot.clientWidth;\n }\n });\n _this.contentWidth = contentWidth;\n }\n });\n _this.state = {\n collapse: false\n };\n _this.container = null;\n _this.contentWidth = null;\n return _this;\n }\n _inherits(ColorLabelContainer, _Component);\n return _createClass(ColorLabelContainer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.calculateCollapse();\n this.onResize();\n window.addEventListener('resize', this.onResize);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var prevChildren = [];\n var currentChildren = [];\n if (prevProps != null && prevProps.children != null && _typeof(prevProps.children) == 'object') {\n prevChildren = prevProps.children;\n }\n if (this.props != null && this.props.children != null && _typeof(this.props.children) == 'object') {\n currentChildren = prevProps.children;\n }\n if (prevChildren.length != currentChildren.length) {\n this.calculateCollapse();\n this.onResize();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n window.removeEventListener('resize', this.onResize);\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n var collapse = this.state.collapse;\n var props = Object.assign({}, this.props);\n delete props.collapse;\n delete props.inline;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: this.setContainer,\n className: 'dots-container' + (this.props.collapse || collapse ? ' collapse' : '') + (!this.props.collapse && !collapse ? ' show-content' : '') + (this.props.inline ? ' inline' : '')\n }, props), children, !this.props.inline ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }) : null);\n }\n }]);\n}(Component);\nexport default ColorLabelContainer;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport Swipe from 'swipejs';\nvar ReactSwipe = /*#__PURE__*/function (_Component) {\n function ReactSwipe() {\n _classCallCheck(this, ReactSwipe);\n return _callSuper(this, ReactSwipe, arguments);\n }\n _inherits(ReactSwipe, _Component);\n return _createClass(ReactSwipe, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.swipe = Swipe(this.containerEl, this.props.swipeOptions);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props = this.props,\n childCount = _this$props.childCount,\n swipeOptions = _this$props.swipeOptions;\n var shouldUpdateSwipeInstance = prevProps.childCount !== childCount || prevProps.swipeOptions != swipeOptions;\n if (shouldUpdateSwipeInstance) {\n this.swipe.kill();\n this.swipe = Swipe(this.containerEl, this.props.swipeOptions);\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.swipe.kill();\n this.swipe = void 0;\n }\n }, {\n key: \"next\",\n value: function next() {\n this.swipe.next();\n }\n }, {\n key: \"prev\",\n value: function prev() {\n this.swipe.prev();\n }\n }, {\n key: \"slide\",\n value: function slide() {\n var _this$swipe;\n (_this$swipe = this.swipe).slide.apply(_this$swipe, arguments);\n }\n }, {\n key: \"getPos\",\n value: function getPos() {\n return this.swipe.getPos();\n }\n }, {\n key: \"getNumSlides\",\n value: function getNumSlides() {\n return this.swipe.getNumSlides();\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n var _this$props2 = this.props,\n id = _this$props2.id,\n className = _this$props2.className,\n style = _this$props2.style,\n children = _this$props2.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id,\n ref: function ref(el) {\n return _this.containerEl = el;\n },\n className: \"react-swipe-container \".concat(className),\n style: style.container\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: style.wrapper\n }, React.Children.map(children, function (child) {\n if (!child) {\n return null;\n }\n var childStyle = child.props.style ? _objectSpread(_objectSpread({}, style.child), child.props.style) : style.child;\n return /*#__PURE__*/React.cloneElement(child, {\n style: childStyle\n });\n })));\n }\n }]);\n}(Component);\n_defineProperty(ReactSwipe, \"propTypes\", {\n swipeOptions: PropTypes.shape({\n startSlide: PropTypes.number,\n speed: PropTypes.number,\n auto: PropTypes.number,\n continuous: PropTypes.bool,\n disableScroll: PropTypes.bool,\n stopPropagation: PropTypes.bool,\n draggable: PropTypes.bool,\n swiping: PropTypes.func,\n callback: PropTypes.func,\n transitionEnd: PropTypes.func\n }),\n style: PropTypes.shape({\n container: PropTypes.object,\n wrapper: PropTypes.object,\n child: PropTypes.object\n }),\n id: PropTypes.string,\n className: PropTypes.string,\n childCount: PropTypes.number\n});\n_defineProperty(ReactSwipe, \"defaultProps\", {\n swipeOptions: {},\n style: {\n container: {\n overflow: 'hidden',\n visibility: 'hidden',\n position: 'relative',\n height: '100%'\n },\n wrapper: {\n overflow: 'hidden',\n position: 'relative',\n height: '100%',\n minHeight: '40vh'\n },\n child: {\n \"float\": 'left',\n width: '100%',\n position: 'relative',\n transitionProperty: 'transform'\n }\n },\n className: '',\n childCount: 0\n});\nexport default ReactSwipe;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport './Skeleton.scss';\nvar Skeleton = function Skeleton(props) {\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"skeleton\"\n }, props));\n};\nexport default Skeleton;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Icon } from '@haldor/ui';\nimport './Collapsible.scss';\nvar Collapsible = /*#__PURE__*/function (_Component) {\n function Collapsible(props) {\n var _this;\n _classCallCheck(this, Collapsible);\n _this = _callSuper(this, Collapsible, [props]);\n _defineProperty(_this, \"_setContent\", function (element) {\n return _this.content = element;\n });\n _defineProperty(_this, \"_setContainer\", function (element) {\n return _this.container = element;\n });\n /* Lifecycle methods */\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n if (nextProps.open != null) {\n if (nextProps.open != _this.state.open) {\n _this.toggle();\n }\n }\n });\n _defineProperty(_this, \"componentDidMount\", function () {\n if (_this.props.open == true || _this.props.defaultOpen == true) {\n _this.container.style.height = 'auto';\n _this.container.style.overflow = 'visible';\n }\n });\n /* Events */\n _defineProperty(_this, \"toggle\", function (event) {\n if (event != null) {\n event.preventDefault();\n }\n _this.setState({\n open: !_this.state.open\n }, function () {\n if (_this.state.open) {\n _this.container.style.height = _this.content.clientHeight + 'px';\n\n // Animation timing: Fire after CSS transition is completed\n setTimeout(function () {\n _this.container.style.height = 'auto';\n _this.container.style.overflow = 'visible';\n }, _this.animationLength);\n } else {\n _this.container.style.height = _this.content.clientHeight + 'px';\n _this.container.style.overflow = 'hidden';\n\n // Set height 0 to animate collapsing\n setTimeout(function () {\n _this.container.style.height = '0px';\n }, 35);\n }\n if (_this.props.onChange != null) {\n _this.props.onChange(_this.state.open);\n }\n });\n });\n var open = false;\n if (props.open != null) {\n open = props.open;\n } else {\n if (props.defaultOpen != null) {\n open = props.defaultOpen;\n }\n }\n _this.state = {\n open: open\n };\n _this.content = null;\n _this.container = null;\n _this.animationLength = 270;\n return _this;\n }\n _inherits(Collapsible, _Component);\n return _createClass(Collapsible, [{\n key: \"render\",\n value: /* Render methods */\n function render() {\n var open = this.state.open;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: open ? 'collapsible open' : 'collapsible'\n }, this.props.trigger != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"collapsible-trigger\",\n onClick: this.toggle\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center'\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 0\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Chevron\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, typeof this.props.trigger === 'function' ? this.props.trigger(open) : this.props.trigger, this.props.badge != null ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge\"\n }, this.props.badge) : null))) : null, /*#__PURE__*/React.createElement(\"div\", {\n ref: this._setContainer,\n className: \"collapsible-content\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: this._setContent\n }, this.props.children)));\n }\n }]);\n}(Component);\nexport default Collapsible;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport './Person.scss';\nvar Person = /*#__PURE__*/function (_Component) {\n function Person() {\n var _this;\n _classCallCheck(this, Person);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Person, [].concat(args));\n /* Utils */\n _defineProperty(_this, \"getName\", function () {\n var name = '';\n if (_this.props.person != null && _this.props.person.firstName != null) {\n name = _this.props.person.firstName;\n }\n if (_this.props.person != null && _this.props.person.lastName != null) {\n name = name.length > 0 ? name + ' ' + _this.props.person.lastName : _this.props.person.lastName;\n }\n return name;\n });\n _defineProperty(_this, \"getInitials\", function () {\n var name = _this.getName();\n if (name != null && name.length > 0) {\n var nameSplit = name.split(' ');\n if (nameSplit.length > 1) return nameSplit[0].charAt(0).toUpperCase() + nameSplit[nameSplit.length - 1].charAt(0).toUpperCase();\n if (nameSplit.length == 1) return nameSplit[0].charAt(0).toUpperCase();\n } else {\n return '';\n }\n });\n return _this;\n }\n _inherits(Person, _Component);\n return _createClass(Person, [{\n key: \"render\",\n value: /* Events */\n // Empty\n\n /* Render methods */\n function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"person-container\",\n style: _objectSpread({\n display: 'inline-block'\n }, this.props.style)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"person size--\" + this.props.size\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"avatar\"\n }, this.getInitials()), /*#__PURE__*/React.createElement(\"div\", {\n className: \"name\"\n }, this.getName())), this.props.children ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"person-children size--\" + this.props.size\n }, this.props.children) : null);\n }\n }]);\n}(Component);\n/* Class setup */\n_defineProperty(Person, \"defaultProps\", {\n person: {\n firstName: '',\n lastName: '',\n email: '',\n id: ''\n },\n showName: true,\n showAvatar: true,\n size: 'sm'\n});\nexport default Person;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { Person, Skeleton } from 'UI';\nimport { Icon } from '@haldor/ui';\nvar ConversationHeader = /*#__PURE__*/function (_Component) {\n function ConversationHeader() {\n var _this;\n _classCallCheck(this, ConversationHeader);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, ConversationHeader, [].concat(args));\n _defineProperty(_this, \"renderMembers\", function () {\n var _this$props = _this.props,\n conversation = _this$props.conversation,\n user = _this$props.user;\n if (user == null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: 250\n }\n }, /*#__PURE__*/React.createElement(Skeleton, null));\n }\n var users = [];\n conversation.memberships.forEach(function (membership) {\n if (membership.membershipID != user.id) {\n users.push(_objectSpread(_objectSpread({}, membership.user), {}, {\n id: membership.membershipID\n }));\n }\n });\n return users.map(function (user) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: 'person' + user.id,\n className: \"person-wrap\"\n }, /*#__PURE__*/React.createElement(Person, {\n person: user\n }));\n });\n });\n _defineProperty(_this, \"renderMeta\", function () {\n var conversation = _this.props.conversation;\n return conversation.relationships.map(function (relationship, i) {\n if (relationship.referenceType == 'ASSIGNMENT' && relationship.reference != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: i\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"/assignment/\".concat(relationship.referenceID)\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Assignments\"\n }), \" \", relationship.reference.title));\n }\n if (relationship.referenceType == 'PLAN' && relationship.reference != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: i\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"/plan/\".concat(relationship.referenceID)\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Plans\"\n }), \" \", relationship.reference.title));\n }\n if (relationship.referenceType == 'STUDENT' && relationship.reference != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: i\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"#\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"People\"\n }), \" \", relationship.reference.firstName, \" \", relationship.reference.lastName));\n }\n if (relationship.referenceType == 'SECTION' && relationship.reference != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: i\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"/groups/\".concat(relationship.referenceID)\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"People\"\n }), \" \", relationship.reference.title));\n }\n if (relationship.referenceType == 'MEETING_INSTANCE' && relationship.reference != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: i\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"/meetings/\".concat(relationship.reference.meetingID, \"/instance/\").concat(relationship.referenceID)\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Agenda\"\n }), \" \", relationship.reference.title));\n }\n return null;\n });\n });\n return _this;\n }\n _inherits(ConversationHeader, _Component);\n return _createClass(ConversationHeader, [{\n key: \"render\",\n value: function render() {\n var conversation = this.props.conversation;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation conversation-header\"\n }, conversation != null && conversation.relationships.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"meta-container\"\n }, this.renderMeta()) : null);\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n user: state.User.user\n };\n}\nexport default connect(mapStateToProps)(ConversationHeader);","import { appInsights } from 'lib/appInsight';\nexport var trackImmersiveReaderError = function trackImmersiveReaderError(error, userId) {\n var localStorageSchool = localStorage.getItem(\"hal.school\" + userId);\n var message = 'ImmersiveReaderError';\n var properties = {\n 'currentSchool': localStorageSchool,\n 'error': error\n };\n appInsights.trackTrace({\n message: message,\n severityLevel: 2\n }, properties);\n};","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React from 'react';\nvar DataClass = /*#__PURE__*/_createClass(function DataClass(props) {\n var _this = this;\n _classCallCheck(this, DataClass);\n _defineProperty(this, \"log\", function () {\n console.log(_this.data);\n });\n _defineProperty(this, \"debug\", function () {\n console.debug(_this);\n });\n _defineProperty(this, \"getHTML\", function (html) {\n try {\n html = html.replace(/amp;/g, '');\n html = html.replace(/amp;wd/g, '');\n html = html.replace(/</g, '<');\n html = html.replace(/>/g, '>');\n html = html.replace(/\\<\\/b\\>/ig, ' ');\n html = html.replace(/\\<\\/i\\>/ig, ' ');\n html = html.replace(/\\<\\/a\\>/ig, ' ');\n html = html.replace(/\\<\\/p\\>/ig, '

');\n } catch (error) {\n html = html;\n }\n return html;\n });\n this.data = props;\n});\nexport default DataClass;","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport moment from 'moment';\nimport DataObject from './index.js';\nvar DateTime = /*#__PURE__*/function (_DataObject) {\n function DateTime(props) {\n var _this;\n _classCallCheck(this, DateTime);\n _this = _callSuper(this, DateTime, [props]);\n _defineProperty(_this, \"getMoment\", function () {\n return _this.data;\n });\n _defineProperty(_this, \"set\", function (arg1, arg2) {\n _this.data = _this.data.set(arg1, arg2);\n return _this;\n });\n _defineProperty(_this, \"add\", function () {\n var _this$data;\n _this.data = (_this$data = _this.data).add.apply(_this$data, arguments);\n return _this;\n });\n _defineProperty(_this, \"clone\", function () {\n return _this.data.clone();\n });\n _defineProperty(_this, \"subtract\", function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this.data = _this.data.subtract(args);\n return _this;\n });\n _defineProperty(_this, \"getUtc\", function () {\n _this.data = moment.utc(_this.data);\n return _this;\n });\n _defineProperty(_this, \"getLongDate\", function () {\n return _this.data.local().format('LL');\n });\n _defineProperty(_this, \"getLongDateWithTime\", function () {\n return _this.data.local().format('LLL');\n });\n _defineProperty(_this, \"getDateStamp\", function () {\n return _this.data.local().format('YYYY-MM-DD');\n });\n _defineProperty(_this, \"getTimeStamp\", function () {\n return _this.data.local().format('YYYY-MM-DD LTS');\n });\n _defineProperty(_this, \"getHourStamp\", function () {\n return _this.data.local().format('YYYY-MM-DD LT');\n });\n _defineProperty(_this, \"getTimeStampHours\", function () {\n return _this.data.local().format('YYYY-MM-DD LT');\n });\n _defineProperty(_this, \"getTime\", function () {\n return _this.data.local().format('LT');\n });\n _defineProperty(_this, \"getShortDate\", function () {\n var includeTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (includeTime) {\n return _this.data.local().format('D MMM - LT');\n }\n return _this.data.local().format('D MMM');\n });\n _defineProperty(_this, \"getDay\", function () {\n return _this.data.local().format('dddd');\n });\n _defineProperty(_this, \"getDateString\", function () {\n return _this.data.local().format('dddd D MMMM');\n });\n _defineProperty(_this, \"getFromNow\", function () {\n return _this.data.local().fromNow();\n });\n _defineProperty(_this, \"format\", function (format) {\n return _this.data.local().format(format);\n });\n _defineProperty(_this, \"isSame\", function (date) {\n return _this.data.isSame(date);\n });\n _defineProperty(_this, \"getUTCTimeStamp\", function () {\n return _this.data.format('YYYY-MM-DDTHH:mm:ss');\n });\n _defineProperty(_this, \"endOf\", function (period) {\n _this.data = _this.data.endOf(period);\n return _this;\n });\n var locale = localStorage.getItem('language');\n if (locale != null) {\n if (locale == 'sv') {\n locale = 'sv-se';\n localStorage.setItem(\"language\", \"sv-se\");\n } else if (locale == 'en') {\n locale = 'en-us';\n localStorage.setItem(\"language\", \"en-us\");\n } else if (locale == 'nb') {\n locale = 'nb-no';\n localStorage.setItem(\"language\", \"nb-no\");\n } else if (locale == 'nn') {\n locale = 'nn-no';\n localStorage.setItem(\"language\", \"nn-no\");\n }\n moment.locale(locale);\n }\n if (_this.data != null) {\n if (_this.data.constructor.name == 'DateTime') {\n _this.data = moment.utc(_this.data.getTimeStamp());\n } else {\n _this.data = moment.utc(_this.data);\n }\n } else {\n _this.data = moment.utc();\n }\n return _this;\n }\n _inherits(DateTime, _DataObject);\n return _createClass(DateTime);\n}(DataObject);\nexport default DateTime;","import React from 'react';\nimport { Flex, TooltipMenu, Icon } from '@haldor/ui';\nimport DateTime from '_class/DateTime';\nvar Message = function Message(props) {\n var getName = function getName() {\n if (props.user == null) {\n return null;\n }\n var name = props.user.firstName;\n if (props.user.lastName != null) {\n name += ' ' + props.user.lastName;\n }\n return name + ' • ';\n };\n var className = 'conversation message';\n var timestampClass = 'timestamp';\n if (props.me) {\n className += ' me';\n }\n if (props.narrow) {\n className += ' narrow';\n }\n if (props.multipleDown) {\n className += ' no-radius-bottom';\n }\n if (props.multipleUp) {\n className += ' no-radius-top';\n }\n if (!props.me) {\n timestampClass += ' left';\n }\n if (props.me) {\n timestampClass += ' right';\n }\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Flex, {\n end: props.me,\n center: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: className\n }, props.flagged != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"flag-badge\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Flag\"\n }), props.flagged) : /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: props.children\n }\n }), props[\"new\"] && !props.me ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"unread-badge\"\n }) : null, props.actions != null && props.actions.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"action-menu\"\n }, /*#__PURE__*/React.createElement(TooltipMenu, {\n trigger: \"⋯\"\n }, props.actions.map(function (action, index) {\n return /*#__PURE__*/React.createElement(TooltipMenu.Item, {\n onClick: action.onClick,\n key: 'action-' + index\n }, action.label);\n }))) : null)), /*#__PURE__*/React.createElement(\"div\", {\n className: timestampClass\n }, props.sender != null ? props.sender + ' • ' : null, getName(), new DateTime(props.time).getTimeStampHours()));\n};\nexport default Message;","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport swal from 'sweetalert2';\nimport { flagMessage } from 'actions/conversation';\nimport { getReaderParameters } from 'actions/user';\nimport { trackImmersiveReaderError } from 'helpers/insights';\nimport { Spinner } from 'UI';\nimport Message from './Partials/Message';\nimport { getActiveLanguage, translate } from '@haldor/ui';\nvar ImmersiveReader = require('@microsoft/immersive-reader-sdk');\nvar ConversationMessages = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function ConversationMessages(props) {\n var _this;\n _classCallCheck(this, ConversationMessages);\n _this = _callSuper(this, ConversationMessages, [props]);\n _defineProperty(_this, \"setContainer\", function (element) {\n _this.container = element;\n });\n /* Lifecycle methods */\n _defineProperty(_this, \"componentWillUnmount\", function () {\n _this.container.removeEventListener('scroll', _this.onScroll);\n });\n _defineProperty(_this, \"componentDidMount\", function () {\n // Get messages (page 1)\n var conversation = _this.props.conversation;\n if (_this.container != null) {\n _this.container.scrollTop = _this.container.scrollHeight;\n _this.container.addEventListener('scroll', _this.onScroll);\n }\n });\n _defineProperty(_this, \"componentDidUpdate\", function (prevProps, prevState) {\n if (prevState != _this.state) {\n return;\n }\n _this.container.scrollTop = _this.container.scrollHeight;\n });\n /* Helper methods */\n _defineProperty(_this, \"throttle\", function (func, immediate) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var later = function later() {\n this.timeout = null;\n if (!immediate) func.apply(this, args);\n };\n var callNow = immediate && !_this.timeout;\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(later, _this.scrollLimit);\n if (callNow) func.apply(_this, args);\n };\n });\n _defineProperty(_this, \"loadMore\", function () {\n var onScrollComplete = _this.throttle(function () {\n if (!_this.state.loadingMore) {\n _this.setState({\n loadingMore: true\n });\n console.log('load next page');\n }\n });\n onScrollComplete();\n });\n _defineProperty(_this, \"getUserById\", function (id) {\n if (_this.props.conversation != null) {\n var membership = _this.props.conversation.memberships.find(function (membership) {\n return membership.membershipID == id;\n });\n if (membership != null) {\n return _objectSpread({\n id: membership.membershipID\n }, membership.user);\n }\n }\n return false;\n });\n /* Events */\n _defineProperty(_this, \"getMessages\", function () {});\n _defineProperty(_this, \"onScroll\", function (event) {\n if (_this.container.scrollTop < 10) {\n _this.loadMore();\n }\n });\n _defineProperty(_this, \"reportMessage\", function (message) {\n var translate = _this.props.translate;\n swal({\n title: translate('Report message as inappropriate'),\n text: translate('Why do you want to report this message?'),\n input: 'text',\n showCancelButton: true,\n cancelButtonText: translate('Cancel'),\n confirmButtonText: translate('Report message')\n }).then(function (response) {\n if (response.value != null) {\n // Make request here or something\n _this.props.flagMessage(message.id, response.value).then(function () {\n swal({\n title: translate('The message has been reported'),\n text: translate('The message will be hidden while waiting for an administrator to manage the report.'),\n showCancelButton: false,\n confirmButtonText: translate('Okay')\n });\n });\n }\n });\n });\n _defineProperty(_this, \"runImmersiveReader\", /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(message) {\n var user, creator, name, owner_section, _owner_section$sectio, time, data, reader;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n user = _this.props.user;\n creator = _this.getUserById(message.creator);\n name = '';\n if (message.senderId != null && message.senderType == 'SECTION') {\n owner_section = _this.props.conversation.memberships.find(function (m) {\n return m.membershipID == message.senderId;\n });\n if (owner_section != null) {\n name = (_owner_section$sectio = owner_section.section) === null || _owner_section$sectio === void 0 ? void 0 : _owner_section$sectio.title;\n }\n } else {\n name = creator.firstName + ' ' + creator.lastName;\n }\n time = moment(message.created).format(\"YYYY-MM-DD HH:mm\");\n data = {\n title: name,\n chunks: [{\n content: name + ', ' + time + '

',\n mimeType: 'text/html'\n }, {\n content: message.text,\n mimeType: 'text/html'\n }]\n };\n _context.next = 8;\n return _this.props.getReaderParameters();\n case 8:\n reader = _this.props.reader;\n if (!(reader == null)) {\n _context.next = 11;\n break;\n }\n return _context.abrupt(\"return\");\n case 11:\n ImmersiveReader.launchAsync(reader.token, reader.subdomain, data, {\n uiLang: getActiveLanguage(),\n uiZIndex: 9147483\n })[\"catch\"](function (error) {\n console.error('error', error);\n trackImmersiveReaderError(error, user.id);\n });\n case 12:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n /* Render methods */\n _defineProperty(_this, \"renderMessage\", function (message, index) {\n var user = _this.props.user;\n var me = false;\n var narrow = false;\n var up = false;\n var down = false;\n var newMessage = false;\n var actions = [];\n var flagged = null;\n if (message.creator == user.id) {\n me = true;\n if (message.flagID != null) {\n flagged = _this.props.translate('Message is reported as inappropriate.');\n }\n } else {\n if (message.flagID == null) {\n actions.push({\n label: _this.props.translate('Report message'),\n onClick: function onClick() {\n return _this.reportMessage(message);\n }\n });\n actions.push({\n label: _this.props.translate('Immersive Reader'),\n onClick: function onClick() {\n return _this.runImmersiveReader(message);\n }\n });\n } else {\n flagged = _this.props.translate('Message is reported as inappropriate.');\n }\n }\n if (moment(message.created) > moment(_this.props.conversation.lastRead)) {\n newMessage = true;\n }\n var lastMessage = _this.props.conversation.messages[index - 1];\n if (lastMessage != null && lastMessage.creator == message.creator) {\n narrow = true;\n up = true;\n }\n var sender = '';\n var creator = _this.getUserById(message.creator);\n var nextMessage = _this.props.conversation.messages[index + 1];\n if (nextMessage != null) {\n if (nextMessage.creator == message.creator) {\n down = true;\n }\n }\n if (message.senderId != null && message.senderType == 'SECTION') {\n var owner_section = _this.props.conversation.memberships.find(function (m) {\n return m.membershipID == message.senderId;\n });\n if (owner_section != null) {\n var _owner_section$sectio2;\n sender = (_owner_section$sectio2 = owner_section.section) === null || _owner_section$sectio2 === void 0 ? void 0 : _owner_section$sectio2.title;\n }\n } else {\n sender = creator.firstName;\n if (creator.lastName != null) {\n sender += ' ' + creator.lastName;\n }\n }\n return /*#__PURE__*/React.createElement(Message, {\n key: message.id,\n children: message.text,\n time: message.created,\n multipleUp: up,\n actions: actions,\n multipleDown: down,\n narrow: narrow,\n sender: sender,\n me: me,\n \"new\": newMessage,\n flagged: flagged\n });\n });\n _this.state = {\n loadingMore: false,\n loading: true\n };\n _this.container = null;\n _this.event = null;\n _this.scrollLimit = 35;\n _this.timeout = null;\n return _this;\n }\n _inherits(ConversationMessages, _Component);\n return _createClass(ConversationMessages, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation messages-container\",\n ref: this.setContainer\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"__inner\"\n }, this.props.conversation != null ? this.props.conversation.messages.map(this.renderMessage) : /*#__PURE__*/React.createElement(Spinner, {\n center: true\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n messages: state.Conversation.messages,\n user: state.User.user,\n reader: state.User.reader,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n flagMessage: flagMessage,\n getReaderParameters: getReaderParameters\n})(ConversationMessages);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport Moment from 'moment';\nimport './time_picker.scss';\nimport { getActiveLanguage } from '@haldor/ui';\nvar TimePicker = /*#__PURE__*/function (_Component) {\n function TimePicker(props) {\n var _this;\n _classCallCheck(this, TimePicker);\n _this = _callSuper(this, TimePicker, [props]);\n _defineProperty(_this, \"onMinutesFocus\", function () {\n _this.refs['minute'].select();\n });\n _defineProperty(_this, \"onHourFocus\", function () {\n _this.refs['hour'].select();\n });\n _defineProperty(_this, \"onInputChange\", function (event) {\n var timeString = event.target.value;\n var split = timeString.split(':');\n if (split.length === 2 && _this.props.time) {\n var newTime = Moment(_this.props.time).set('hour', split[0]).set('minute', split[1]);\n _this.props.onChange(newTime);\n }\n });\n _defineProperty(_this, \"onHourChange\", function (event) {\n var hours = event.target.value;\n if (parseInt(hours) < 0) {\n hours = 0;\n }\n if (parseInt(hours) > 23) {\n hours = 23;\n }\n if (hours.length > 1) {\n _this.refs['minute'].focus();\n }\n if (parseInt(hours) < 10) {\n hours = '0' + hours;\n }\n var newTime = Moment(_this.props.time).set('hour', hours);\n _this.props.onChange(newTime);\n });\n _defineProperty(_this, \"onMinutesChange\", function (event) {\n var minutes = event.target.value;\n if (minutes.length == 3) {\n event.target.select();\n }\n if (parseInt(minutes) < 0) {\n minutes = 0;\n }\n if (parseInt(minutes) > 59) {\n minutes = 59;\n }\n if (parseInt(minutes) < 10) {\n minutes = '0' + minutes;\n }\n var newTime = Moment(_this.props.time).set('minutes', minutes);\n _this.props.onChange(newTime);\n });\n _defineProperty(_this, \"toggleAmPm\", function () {\n var newTime = null;\n if (Moment(_this.props.time).format('A') == 'AM') {\n newTime = Moment(_this.props.time).add(12, 'hours');\n } else {\n newTime = Moment(_this.props.time).subtract(12, 'hours');\n }\n _this.props.onChange(newTime);\n });\n Moment.locale(getActiveLanguage());\n return _this;\n }\n _inherits(TimePicker, _Component);\n return _createClass(TimePicker, [{\n key: \"render\",\n value: function render() {\n var format = this.props.twelve ? 'hh' : 'HH';\n var hours = this.props.time ? Moment(this.props.time).format(format) : Moment().format(format);\n var minutes = this.props.time ? Moment(this.props.time).format('mm') : Moment().format('mm');\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"time-picker form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"time-picker-container\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n className: \"time-part\",\n type: \"tel\",\n onChange: this.onHourChange,\n onFocus: this.onHourFocus,\n value: hours,\n ref: \"hour\"\n }), /*#__PURE__*/React.createElement(\"span\", null, \":\"), /*#__PURE__*/React.createElement(\"input\", {\n className: \"time-part\",\n type: \"tel\",\n onChange: this.onMinutesChange,\n onFocus: this.onMinutesFocus,\n value: minutes,\n ref: \"minute\"\n }), this.props.twelve ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"time-switcher\",\n onClick: this.toggleAmPm\n }, Moment(this.props.time).format('A')) : null));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {};\n}\nexport default connect(mapStateToProps, {})(TimePicker);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport ReactQuill from 'react-quill-new';\nimport swal from 'sweetalert2';\nvar Editor = /*#__PURE__*/function (_Component) {\n function Editor(props) {\n var _this;\n _classCallCheck(this, Editor);\n _this = _callSuper(this, Editor, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n if (_this.props.disabled) {\n var quill = _this.refs.quill.getEditor();\n quill.disable();\n }\n });\n _defineProperty(_this, \"imageHandler\", function () {\n var quill = _this.refs.quill.getEditor();\n var range = quill.getSelection();\n swal({\n title: 'Bifoga bild',\n text: 'Ange URL',\n input: 'text',\n inputPlaceHolder: 'Ange URL',\n confirmButtonText: 'Bifoga',\n focusConfirm: false\n }).then(function (result) {\n if (result.value != null || result.value != '') {\n quill.insertEmbed(range.index, 'image', result.value);\n }\n });\n });\n _defineProperty(_this, \"videoHandler\", function () {\n var quill = _this.refs.quill.getEditor();\n var range = quill.getSelection();\n\n // We need to figure out how to generate an embed link for all types of videos\n // Its easy to do with youtube but unsure about vimeo etc.\n });\n _defineProperty(_this, \"urlHandler\", function (promptRange) {\n var quill = _this.refs.quill.getEditor();\n if (promptRange) {\n swal({\n title: 'Bifoga innehåll',\n text: 'Ange URL',\n input: 'text',\n confirmButtonText: 'Bifoga',\n focusConfirm: false\n }).then(function (result) {\n if (result.value != null && result.value != '') {\n var url = result.value;\n\n // Add https if the url is missing a protocol\n if (url.indexOf('mailto') == -1 && url.indexOf('tel') == -1 && url.indexOf('ftp') == -1) {\n if (!url.match(/^[a-zA-Z]+:\\/\\//)) {\n url = 'https://' + url;\n }\n quill.format('link', url);\n } else {\n quill.format('link', false);\n }\n }\n });\n }\n });\n var placeHolderText = '';\n if (_this.props.placeholder) {\n placeHolderText = _this.props.placeholder;\n }\n _this.state = {\n placeHolderText: placeHolderText\n };\n return _this;\n }\n _inherits(Editor, _Component);\n return _createClass(Editor, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var meta = this.props.meta;\n var modules = {\n toolbar: {\n container: [[{\n header: [2, 3, false]\n }], ['bold', 'italic', 'underline', 'strike', 'blockquote'], [{\n list: 'ordered'\n }], ['link', 'image', 'video', 'clean'], ['formula']],\n handlers: {\n image: this.imageHandler,\n link: this.urlHandler\n //video: this.videoHandler, TODO: We need to handle videos as well\n },\n keyboard: {\n bindings: {\n 'list autofill': {\n prefix: /^\\s*()$/\n }\n }\n }\n }\n };\n var formats = ['header', 'bold', 'italic', 'underline', 'strike', 'blockquote', 'list', /*'bullet', 'indent', */\n 'link', 'image', 'video', 'formula'];\n return /*#__PURE__*/React.createElement(\"div\", null, this.props.label ? /*#__PURE__*/React.createElement(\"label\", null, this.props.label) : null, /*#__PURE__*/React.createElement(ReactQuill, {\n modules: modules,\n formats: formats,\n placeholder: this.state.placeHolderText,\n ref: \"quill\",\n style: meta.touched && meta.error ? {\n border: '1px solid red'\n } : {},\n value: this.props.input ? this.props.input.value : null,\n onChange: function onChange(value, delta, source) {\n var newValue = value;\n var matches = newValue.match(/<iframe(.*?)\\<\\/iframe/g);\n if (matches != null) {\n matches.map(function (match) {\n var result = match;\n result = result.replace('

', ' ');\n result = result.replace('

', '');\n result = result.replace(' ', ' ');\n newValue = newValue.replace(match, result);\n });\n }\n if (_this2.props.input) {\n _this2.props.input.onChange(newValue);\n }\n },\n onBlur: function onBlur(range, source, quill) {\n if (_this2.props.input) {\n _this2.props.input.onBlur(quill.getHTML());\n }\n },\n onFocus: function onFocus() {\n // Empty block\n }\n }), typeof meta !== 'undefined' ? /*#__PURE__*/React.createElement(\"div\", null, meta.touched && (meta.error && /*#__PURE__*/React.createElement(\"span\", {\n style: {\n marginTop: 0\n },\n className: \"error\"\n }, meta.error) || meta.warning && /*#__PURE__*/React.createElement(\"span\", {\n style: {\n marginTop: 0\n },\n className: \"error\"\n }, meta.warning))) : null);\n }\n }]);\n}(Component);\nexport default Editor;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useEffect, useRef } from 'react';\nvar FlexibleTextArea = function FlexibleTextArea(props) {\n var _props$input, _props$input2;\n var textField = useRef(null);\n var _calculateSize = function _calculateSize() {\n if ((textField === null || textField === void 0 ? void 0 : textField.current) != null) {\n /**\n * @type {HTMLTextAreaElement} element\n */\n var element = textField.current;\n var rows = element.textContent.split('\\n').length - 1;\n if (rows < 0) {\n rows = 0;\n }\n element.style.height = 63 + 23 * rows + \"px\";\n }\n };\n var _onBlur = function _onBlur() {\n if ((textField === null || textField === void 0 ? void 0 : textField.current) != null) {\n var element = textField.current;\n element.classList.remove('focus');\n }\n _calculateSize();\n\n // Animation timing\n setTimeout(function () {\n return _calculateSize();\n }, 150);\n };\n var _onFocus = function _onFocus() {\n if ((textField === null || textField === void 0 ? void 0 : textField.current) != null) {\n var element = textField.current;\n element.classList.add('focus');\n }\n _calculateSize();\n\n // Animation timing\n setTimeout(function () {\n return _calculateSize();\n }, 150);\n };\n useEffect(function () {\n _calculateSize();\n }, [props.children]);\n var elementProps = _objectSpread({}, props);\n delete elementProps.style;\n delete elementProps.children;\n delete elementProps.input;\n delete elementProps.meta;\n return /*#__PURE__*/React.createElement(\"textarea\", _extends({\n className: \"transition--fast\",\n ref: textField,\n onKeyUp: _calculateSize,\n onBlur: _onBlur,\n onFocus: _onFocus,\n onChange: (_props$input = props.input) === null || _props$input === void 0 ? void 0 : _props$input.onChange,\n value: (_props$input2 = props.input) === null || _props$input2 === void 0 ? void 0 : _props$input2.value,\n style: _objectSpread({\n resize: 'inherit',\n maxHeight: '109px'\n }, props.style)\n }, elementProps), props.children);\n};\nexport default FlexibleTextArea;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Icon } from '@haldor/ui';\nimport Spinner from '../../Elements/Spinner';\nimport './Search.scss';\nvar Search = /*#__PURE__*/function (_Component) {\n function Search(props) {\n var _this;\n _classCallCheck(this, Search);\n _this = _callSuper(this, Search, [props]);\n _defineProperty(_this, \"throttle\", function (func, immediate) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var later = function later() {\n this.timeout = null;\n if (!immediate) func.apply(this, args);\n };\n var callNow = immediate && !_this.timeout;\n clearTimeout(_this.timeout);\n _this.timeout = setTimeout(later, _this.scrollLimit);\n if (callNow) func.apply(_this, args);\n };\n });\n _defineProperty(_this, \"onSubmit\", function () {\n var _this$props = _this.props,\n input = _this$props.input,\n onSubmit = _this$props.onSubmit;\n var value = _this.getValue();\n if (!_this.props.allowEmpty && value.query == '') {\n // Dont submit empty strings\n return false;\n }\n if (input != null && input.onSubmit != null) {\n input.onSubmit(value);\n }\n if (onSubmit != null) {\n onSubmit(value);\n }\n });\n _defineProperty(_this, \"getValue\", function () {\n var type = 'search';\n var query = _this.state.value;\n var modifier = null;\n if (_this.state.value.charAt(0) == '@') {\n type = 'picker';\n modifier = '@';\n query = _this.state.value.substr(1);\n }\n if (_this.state.value.charAt(0) == '#') {\n type = 'picker';\n modifier = '#';\n query = _this.state.value.substr(1);\n }\n if (_this.state.value.charAt(0) == '!') {\n type = 'picker';\n modifier = '!';\n query = _this.state.value.substr(1);\n }\n return {\n type: type,\n modifier: modifier,\n query: query\n };\n });\n _defineProperty(_this, \"onValueChange\", function (event) {\n var _this$props2 = _this.props,\n input = _this$props2.input,\n onChange = _this$props2.onChange;\n _this.setState({\n value: event.target.value\n }, function () {\n if (_this.getValue().type == 'picker') {\n var onSubmit = _this.throttle(_this.onSubmit);\n onSubmit();\n return;\n }\n if (_this.props.autoSearch) {\n var _onSubmit = _this.throttle(_this.onSubmit);\n _onSubmit();\n return;\n }\n });\n if (input != null && input.onChange != null) {\n input.onChange(event.target.value);\n }\n if (onChange != null) {\n onChange(event.target.value);\n }\n });\n _defineProperty(_this, \"onKeyDown\", function (event) {\n if (event.keyCode == 13) {\n _this.onSubmit(_this.state.value);\n }\n });\n _defineProperty(_this, \"onIconClick\", function () {\n _this.refs['input'].focus();\n });\n var _value = '';\n if (props.input != null && props.input.value != null) {\n _value = props.input.value;\n }\n _this.state = {\n value: _value\n };\n _this.timeout = null;\n _this.autoSearchLimit = 200;\n return _this;\n }\n _inherits(Search, _Component);\n return _createClass(Search, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"search-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"search-box-container\",\n onClick: this.onIconClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"search-box-icon\"\n }, this.props.loading ? /*#__PURE__*/React.createElement(Spinner, {\n small: true\n }) : /*#__PURE__*/React.createElement(Icon, {\n name: \"Magnify\"\n })), /*#__PURE__*/React.createElement(\"input\", {\n type: \"search\",\n value: this.state.value,\n onChange: this.onValueChange,\n onKeyDown: this.onKeyDown,\n ref: \"input\",\n placeholder: this.props.placeholder\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"search-children\"\n }, this.props.children));\n }\n }]);\n}(Component);\n_defineProperty(Search, \"defaultProps\", {\n autoSearch: false,\n allowEmpty: false\n});\nexport default Search;","export var FIELD_TEXT = 'FIELDS_INPUT_TEXT';\nexport var FIELD_TEXTAREA = 'FIELDS_INPUT_TEXTAREA';\nexport var FIELD_TITLE = 'FIELDS_ELEMENT_TITLE';\nexport var FIELD_DESCRIPTION = 'FIELDS_ELEMENT_DESCRIPTION';","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport { FIELD_DESCRIPTION, FIELD_TEXT, FIELD_TEXTAREA, FIELD_TITLE } from 'constants/fields';\nimport React, { Component } from 'react';\nimport { Field as FormField } from 'redux-form';\nimport './Field.scss';\nimport { Editor } from 'UI/Inputs';\nvar Field = /*#__PURE__*/function (_Component) {\n function Field() {\n var _this;\n _classCallCheck(this, Field);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Field, [].concat(args));\n _defineProperty(_this, \"getFieldProps\", function () {\n switch (_this.props.type) {\n case FIELD_TEXT:\n return {\n component: 'input',\n type: 'text',\n name: _this.props.name,\n placeholder: _this.props.placeholder,\n disabled: _this.props.disabled != null ? _this.props.disabled : false\n };\n case FIELD_TEXTAREA:\n return {\n component: Editor,\n name: _this.props.name,\n placeholder: _this.props.placeholder,\n disabled: _this.props.disabled != null ? _this.props.disabled : false\n };\n default:\n return {};\n }\n });\n return _this;\n }\n _inherits(Field, _Component);\n return _createClass(Field, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row field\"\n }, this.props.type == FIELD_TITLE ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"input-label\"\n }, this.props.value) : null, this.props.type == FIELD_DESCRIPTION ? /*#__PURE__*/React.createElement(\"div\", null, this.props.value) : null, this.props.type == FIELD_TEXT || this.props.type == FIELD_TEXTAREA ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"input-field\"\n }, /*#__PURE__*/React.createElement(FormField, this.getFieldProps())) : null);\n }\n }]);\n}(Component);\nexport default Field;","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Form, Field, reduxForm } from 'redux-form';\nimport { connect } from 'react-redux';\nimport { FlexibleTextArea } from 'UI/Inputs';\nimport { Spinner } from 'UI';\nimport { Button, Icon, Flex, translate } from '@haldor/ui';\nvar MessageForm = /*#__PURE__*/function (_Component) {\n function MessageForm(props) {\n var _this;\n _classCallCheck(this, MessageForm);\n _this = _callSuper(this, MessageForm, [props]);\n _defineProperty(_this, \"submit\", function (values) {\n return new Promise( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve, reject) {\n var conversation, data;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.setState({\n hideInput: true\n });\n case 2:\n conversation = _this.props.conversation;\n data = _objectSpread({}, values);\n data.text = values.text + '';\n if (conversation != null) {\n data.conversationID = conversation.id;\n }\n data.parentId = null;\n data.text = values.text.replace(/\\n/g, \"
\");\n _context.next = 10;\n return _this.setState({\n hideInput: false\n });\n case 10:\n if (_this.props.onSubmit) {\n _this.props.onSubmit(data).then(function () {\n _this.props.reset();\n resolve(1);\n });\n } else {\n setTimeout(function () {\n _this.props.reset();\n resolve(1);\n }, 1000);\n }\n case 11:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }());\n });\n _defineProperty(_this, \"required\", function (value) {\n if (typeof value !== 'undefined' && value !== '') {\n // Field passes validation, return a undefined error for this field\n // Rule: Not undefined and not an empty string\n return undefined;\n }\n\n // Field failed validation, return error for this field (String)\n return \"Skriv ett meddelande\";\n });\n _this.state = {\n hideInput: false\n };\n return _this;\n }\n _inherits(MessageForm, _Component);\n return _createClass(MessageForm, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n handleSubmit = _this$props.handleSubmit,\n submitting = _this$props.submitting,\n valid = _this$props.valid;\n var placeHolderText = this.props.translate('Send message');\n if (this.props.conversation != null) {\n if (this.props.conversation.status.toUpperCase() == \"ARCHIVED\") {\n placeHolderText = this.props.translate('Conversation is archived');\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation message-form\"\n }, /*#__PURE__*/React.createElement(Form, {\n onSubmit: handleSubmit(this.submit),\n className: \"form form-component\"\n }, /*#__PURE__*/React.createElement(Flex, {\n center: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"input-container\"\n }, !this.state.hideInput ? /*#__PURE__*/React.createElement(Field, {\n component: FlexibleTextArea,\n type: \"text\",\n name: \"text\",\n placeholder: placeHolderText,\n validate: this.required,\n disabled: this.props.disabled,\n rows: 1\n }) : null), /*#__PURE__*/React.createElement(Button, {\n disabled: submitting || !valid\n }, !submitting ? /*#__PURE__*/React.createElement(Icon, {\n name: \"Send\"\n }) : null, submitting ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"loading-container\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n small: true,\n center: true\n })) : null))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(reduxForm({\n form: 'MessageForm',\n destroyOnUnmount: true\n})(MessageForm));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { setPageTitle } from 'actions/header';\nimport { getConversation, submitMessage, createConversation, resetConversation } from 'actions/conversation';\nimport { getConversationParticipants } from '../Helpers';\nimport ConversationHeader from './ConversationHeader';\nimport ConversationMessages from './ConversationMessages';\nimport MessageForm from '../Form/MessageForm';\nimport { translate } from '@haldor/ui';\nvar ConversationPage = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function ConversationPage(props) {\n var _this;\n _classCallCheck(this, ConversationPage);\n _this = _callSuper(this, ConversationPage, [props]);\n /* Lifecycle methods */\n _defineProperty(_this, \"componentDidMount\", function () {\n var id = _this.props.match.params.id;\n if (id != 'new') {\n _this.props.getConversation(id).then(function () {\n _this.setTitle();\n _this.setState({\n loading: false\n });\n });\n } else {\n if (_this.props.staged == null) {\n _this.props.history.replace(\"/conversations\");\n } else {\n _this.setTitle();\n _this.setState({\n loading: false\n });\n }\n }\n window.addEventListener('resize', _this.onResize);\n _this.onResize();\n });\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n var id = nextProps.match.params.id;\n if (id != _this.props.match.params.id) {\n _this.setState({\n loading: true\n });\n _this.props.getConversation(id).then(function () {\n _this.setTitle();\n _this.setState({\n loading: false\n });\n });\n }\n });\n _defineProperty(_this, \"setTitle\", function () {\n var user = _this.props.user;\n var id = _this.props.match.params.id;\n var members = null;\n if (id != 'new') {\n members = getConversationParticipants(_this.props.conversation, user);\n } else {\n members = getConversationParticipants(_this.props.staged, user);\n }\n if (members == null) {\n return null;\n }\n var title = '';\n members.forEach(function (member, index) {\n if (member != null) {\n if (index > 0) {\n title += ', ';\n }\n if (member.membershipType == 'SECTION_OWNERS') {\n title += member.title + \" (\" + _this.props.translate('Staff') + \")\";\n return true;\n }\n if (member.membershipType == 'GUARDIAN') {\n member.lastName = (member.lastName != null ? member.lastName : '') + ' (' + _this.props.translate('guardian') + ')';\n }\n title += member.firstName + ' ' + member.lastName;\n }\n });\n _this.props.setPageTitle(title);\n });\n _defineProperty(_this, \"componentWillUnmount\", function () {\n window.removeEventListener('resize', _this.onResize);\n _this.props.resetConversation();\n });\n /* Events */\n _defineProperty(_this, \"submitMessage\", function (values) {\n if (_this.props.conversation != null) {\n var lastMessage = _this.props.conversation.messages[_this.props.conversation.messages.length - 1];\n if (lastMessage == null) {\n values.parentId = null;\n } else {\n values.parentId = lastMessage.id;\n }\n } else {\n values.parentId = null;\n }\n return new Promise(function (resolve) {\n var user = _this.props.user;\n values.creator = user.id;\n values.senderId = user.id;\n values.senderType = 'USER';\n if (_this.props.match.params.id == 'new') {\n // Send message with a conversation object\n var conversation = _this.props.staged;\n values.id = 1;\n conversation.messages = [values];\n delete values.conversationID;\n conversation.memberships.forEach(function (membership) {\n delete membership.user;\n return membership;\n });\n _this.setState({\n loading: true\n });\n _this.props.createConversation(conversation, _this.props.activeStudent.id).then(function () {\n resolve(1);\n _this.props.history.replace(\"/conversations/\".concat(_this.props[\"new\"]));\n });\n } else {\n _this.props.submitMessage(values).then(function () {\n _this.setState({});\n resolve(1);\n });\n }\n });\n });\n _defineProperty(_this, \"onResize\", function () {\n var messages = document.querySelector('.conversation--wrapper');\n if (messages != null) {\n var height = 0;\n var body = document.querySelector('body');\n var footer = body.querySelector('.site-footer');\n var header = body.querySelector('.teams-header');\n var desktopHeader = body.querySelector('.desktop-header-spacing');\n var deviceMenu = body.querySelector('.footer-menu-bar-container');\n var deviceHeader = body.querySelector('.device-menu');\n height = window.innerHeight;\n if (footer != null) {\n height = height - footer.scrollHeight;\n }\n if (header != null) {\n height = height - header.scrollHeight;\n }\n if (desktopHeader != null) {\n height = height - desktopHeader.scrollHeight;\n }\n if (deviceMenu != null) {\n height = height - deviceMenu.scrollHeight - 15;\n }\n if (deviceHeader != null) {\n height = height - deviceHeader.scrollHeight;\n }\n messages.style.height = height - 25 + 'px';\n }\n });\n _this.state = {\n loading: true\n };\n return _this;\n }\n _inherits(ConversationPage, _Component);\n return _createClass(ConversationPage, [{\n key: \"render\",\n value: /* Render methods */\n function render() {\n var conversation = this.props.conversation;\n var disabled = false;\n if (this.props.match.params.id == 'new') {\n conversation = this.props.staged;\n }\n if (conversation != null && conversation.status == 'ARCHIVED') {\n disabled = true;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation conversation--wrapper\"\n }, /*#__PURE__*/React.createElement(ConversationHeader, {\n conversation: conversation\n }), /*#__PURE__*/React.createElement(ConversationMessages, {\n conversation: conversation\n }), /*#__PURE__*/React.createElement(MessageForm, {\n onSubmit: this.submitMessage,\n conversation: conversation,\n disabled: disabled\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n conversation: state.Conversation.conversation,\n staged: state.Conversation.staged,\n \"new\": state.Conversation[\"new\"],\n activeStudent: state.User.activeStudent,\n user: state.User.user,\n translate: translate(state.Languages.translations)\n };\n}\nexport default withRouter(connect(mapStateToProps, {\n getConversation: getConversation,\n submitMessage: submitMessage,\n createConversation: createConversation,\n setPageTitle: setPageTitle,\n resetConversation: resetConversation\n})(ConversationPage));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport Modal from 'react-modal';\nimport swal from 'sweetalert2';\nimport { connect } from 'react-redux';\nimport { Icon, translate } from '@haldor/ui';\nvar customStyles = {\n overlay: {\n backgroundColor: 'rgba(0, 0, 0, 0.35)',\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: '2147'\n },\n content: {\n backgroundColor: 'transparent',\n border: '0',\n position: 'absolute',\n top: '0',\n left: '0',\n right: '0',\n padding: '0',\n minHeight: '100%',\n overflow: 'auto',\n zIndex: '2150',\n WebkitOverflowScrolling: 'touch'\n }\n};\nModal.setAppElement('#root');\nvar ModalObject = /*#__PURE__*/function (_Component) {\n function ModalObject() {\n var _this;\n _classCallCheck(this, ModalObject);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, ModalObject, [].concat(args));\n _defineProperty(_this, \"onModalClick\", function (e) {\n e.stopPropagation();\n });\n _defineProperty(_this, \"shouldClose\", function () {\n if (_this.props.isOpen && !_this.props.overridePrompt) {\n swal({\n title: _this.props.translate('Are you sure?'),\n text: _this.props.translate('Are you sure you want to close the form?'),\n showCancelButton: true,\n cancelButtonText: _this.props.translate('no'),\n confirmButtonText: _this.props.translate('yes')\n }).then(function (result) {\n if (result.value != null) {\n _this.props.onClose();\n }\n });\n } else {\n _this.props.onClose();\n }\n });\n return _this;\n }\n _inherits(ModalObject, _Component);\n return _createClass(ModalObject, [{\n key: \"render\",\n value: function render() {\n var props = this.props;\n return /*#__PURE__*/React.createElement(Modal, {\n isOpen: props.isOpen,\n onRequestClose: this.shouldClose,\n contentLabel: \"\",\n style: _objectSpread(_objectSpread({}, customStyles), props.style)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"modal-overlay\",\n onClick: this.shouldClose\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: props.type ? \"modal-container \".concat(props.type) : 'modal-container',\n onClick: this.onModalClick\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"modal-header\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"title\"\n }, /*#__PURE__*/React.createElement(\"h2\", null, props.title)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"close\",\n onClick: props.onClose\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Close\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"modal-content\"\n }, props.children))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(ModalObject);","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { reduxForm, Field, formValueSelector, change } from 'redux-form';\nimport { connect } from 'react-redux';\nimport { getStudentMentorGroups, getGuardianStudentGroup, getStudentEducationGroups } from 'actions/sections';\nimport { getContacts } from 'actions/conversation';\nimport { getSchoolData } from 'actions/user';\nimport { Spinner } from 'UI';\nimport { Button, Checkbox, Radio, Expandable, translate } from '@haldor/ui';\nimport './SelectRecipient.scss';\nvar SelectRecipientForm = /*#__PURE__*/function (_Component) {\n function SelectRecipientForm(props) {\n var _this;\n _classCallCheck(this, SelectRecipientForm);\n _this = _callSuper(this, SelectRecipientForm, [props]);\n _defineProperty(_this, \"componentDidUpdate\", function (prevProps) {\n if (_this.props.selected == null) {\n return false;\n }\n if (_this.props.selected != prevProps.selected) {\n var foundInState = _this.state.sections.findIndex(function (section) {\n return (section === null || section === void 0 ? void 0 : section.id) == _this.props.selected;\n });\n if (foundInState < 0) {\n _this.setState({\n loadingGroups: true\n });\n _this.props.getGuardianStudentGroup(_this.props.activeStudent.id, _this.props.selected).then(function () {\n var _this$props$group;\n var selected = [];\n if (((_this$props$group = _this.props.group) === null || _this$props$group === void 0 ? void 0 : _this$props$group.owners) != null) {\n selected = _this.props.group.owners;\n }\n _this.setState({\n loadingGroups: false,\n selected: JSON.parse(JSON.stringify(selected)),\n sections: [].concat(_toConsumableArray(_this.state.sections), [_this.props.group])\n });\n });\n } else {\n var selected = _this.state.sections[foundInState].owners;\n _this.setState({\n selected: JSON.parse(JSON.stringify(selected))\n });\n }\n }\n });\n _defineProperty(_this, \"onGroupExpand\", function (groupId, open) {\n // ALWAYS EMPTY SELECTED WHEN CHANGING GROUPS\n _this.setState({\n selected: []\n });\n var foundInState = _this.state.sections.findIndex(function (section) {\n return (section === null || section === void 0 ? void 0 : section.id) == groupId;\n });\n if (foundInState < 0 && !open) {\n _this.setState({\n loadingGroups: true\n });\n _this.props.getGuardianStudentGroup(_this.props.activeStudent.id, groupId).then(function () {\n _this.setState({\n loadingGroups: false,\n sections: [].concat(_toConsumableArray(_this.state.sections), [_this.props.group])\n });\n });\n }\n });\n /* Events */\n _defineProperty(_this, \"submit\", function (values) {\n var group = _this.state.sections.find(function (section) {\n return (section === null || section === void 0 ? void 0 : section.id) == _this.state.selectedGroupId;\n });\n var allOwnersSelected = _this.state.selected.length == group.owners.length;\n values.student = _this.props.activeStudent.id;\n values.memberships = [];\n values.relationships = [{\n referenceType: 'STUDENT',\n referenceId: _this.props.activeStudent.id\n }];\n if (!allOwnersSelected) {\n values.relationships.push({\n referenceType: 'SECTION',\n referenceId: group.id\n });\n }\n if (!allOwnersSelected) {\n _this.state.selected.forEach(function (member) {\n values.memberships.push({\n membershipID: member.id,\n membershipType: 'USER',\n permission: 'O',\n user: member\n });\n });\n } else {\n values.memberships.push({\n membershipID: group.id,\n membershipType: 'SECTION_OWNERS',\n permission: 'O',\n section: group\n });\n }\n if (_this.props.onSubmit) {\n _this.props.onSubmit(values);\n }\n });\n _defineProperty(_this, \"onContactSelect\", function (contact) {\n var selected = _this.state.selected;\n var found = selected.findIndex(function (selected) {\n return selected.id == contact.id;\n });\n if (found == -1) {\n selected.push(contact);\n } else {\n selected.splice(found, 1);\n }\n _this.setState({\n selected: selected\n });\n });\n _defineProperty(_this, \"selectAllGroupContacts\", function (groupOwners) {\n if (groupOwners != null) {\n if (_this.state.selected.length < (groupOwners === null || groupOwners === void 0 ? void 0 : groupOwners.length)) _this.setState({\n selected: []\n });\n groupOwners.forEach(function (owner) {\n _this.onContactSelect(owner);\n });\n }\n });\n /* Render methods */\n _defineProperty(_this, \"renderGroup\", function (group) {\n var _groupData, _groupData2;\n var _this$state = _this.state,\n selected = _this$state.selected,\n sections = _this$state.sections;\n var groupData = null;\n if (sections.length > 0) {\n groupData = sections.find(function (section) {\n return (section === null || section === void 0 ? void 0 : section.id) == group.id;\n });\n }\n var allSelected = false;\n if (groupData != null) {\n allSelected = _this.state.selected.length == groupData.owners.length;\n }\n if ((_groupData = groupData) !== null && _groupData !== void 0 && _groupData.owners && ((_groupData2 = groupData) === null || _groupData2 === void 0 ? void 0 : _groupData2.owners.length) > 0) {\n groupData.owners = _this.filterUsersByReferenceId(groupData.owners, groupData.schoolID.toString());\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"contact-list\"\n }, groupData != null ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '.50rem'\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n onChange: function onChange(c) {\n return _this.selectAllGroupContacts(groupData.owners);\n },\n label: _this.props.translate('Select all'),\n value: allSelected\n })), groupData.owners.map(function (owner) {\n var active = selected.findIndex(function (selected) {\n return selected.id == owner.id;\n }) > -1;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"contact\",\n key: owner.id,\n style: {\n marginLeft: '35px'\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n value: active,\n label: owner.firstName + ' ' + owner.lastName,\n onChange: function onChange() {\n return _this.onContactSelect(owner);\n }\n }));\n })) : /*#__PURE__*/React.createElement(Spinner, {\n small: true,\n center: true\n }));\n });\n _this.state = {\n sections: [],\n selected: [],\n selectedGroupId: 0,\n loading: true,\n loadingGroups: false\n };\n return _this;\n }\n _inherits(SelectRecipientForm, _Component);\n return _createClass(SelectRecipientForm, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n this.props.getStudentMentorGroups(this.props.activeStudent.id);\n this.props.getStudentEducationGroups(this.props.activeStudent.id);\n this.props.getSchoolData(this.props.activeStudent.id, 'EnableGuardiansCommunication');\n this.props.getContacts(this.props.activeStudent.id).then(function () {\n _this2.setState({\n loading: false\n });\n });\n }\n }, {\n key: \"hasNonStudentRole\",\n value: function hasNonStudentRole(roles, referenceId) {\n return roles.some(function (role) {\n return role.referenceId === referenceId && role.roleId.toLowerCase() !== \"student\";\n });\n }\n }, {\n key: \"filterUsersByReferenceId\",\n value: function filterUsersByReferenceId(users, referenceId) {\n var _this3 = this;\n return users.filter(function (user) {\n return _this3.hasNonStudentRole(user.roles, referenceId);\n });\n }\n }, {\n key: \"renderTrigger\",\n value: function renderTrigger(group) {\n var _this4 = this;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'mentor';\n var selectedGroupId = this.state.selectedGroupId;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"row-group\"\n }, /*#__PURE__*/React.createElement(Field, {\n component: Radio,\n name: \"selected\",\n input: {\n onChange: function onChange() {\n return _this4.handleGroupChange(group.id);\n },\n value: selectedGroupId\n },\n optionValue: group.id,\n label: group.title\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\",\n style: type === 'mentor' ? {\n margin: 0\n } : {\n margin: 0,\n backgroundColor: '#FFF',\n border: '2px solid rgb(238, 238, 238)'\n }\n }, type === 'mentor' ? this.props.translate('Mentors') : this.props.translate('Teacher_0')));\n }\n }, {\n key: \"handleGroupChange\",\n value: function handleGroupChange(groupId) {\n this.setState({\n selectedGroupId: parseInt(groupId)\n });\n this.onGroupExpand(groupId);\n }\n }, {\n key: \"renderGroupList\",\n value: function renderGroupList(groups, type) {\n var _this5 = this;\n return groups.map(function (group) {\n return /*#__PURE__*/React.createElement(Expandable, {\n title: _this5.renderTrigger(group, type),\n key: group.id,\n open: parseInt(group.id) === parseInt(_this5.state.selectedGroupId),\n onChange: function onChange(open) {\n return _this5.handleGroupChange(group.id);\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"contact-list\"\n }, _this5.renderGroup(group)));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n var loading = this.state.loading;\n var _this$props = this.props,\n handleSubmit = _this$props.handleSubmit,\n translate = _this$props.translate,\n mentorGroups = _this$props.mentorGroups,\n educationGroups = _this$props.educationGroups,\n schoolDatas = _this$props.schoolDatas;\n var filteredEducationGroups = [];\n if (Array.isArray(schoolDatas) && Array.isArray(educationGroups)) {\n filteredEducationGroups = educationGroups.filter(function (section) {\n return schoolDatas.some(function (setting) {\n var _setting$value;\n return setting.schoolId == section.schoolID && setting.key.toLowerCase() == \"enableguardianscommunication\" && ((_setting$value = setting.value) === null || _setting$value === void 0 ? void 0 : _setting$value.toLowerCase()) == \"true\";\n });\n });\n }\n if (loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation participant-picker form-container\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation participant-picker form-container\"\n }, /*#__PURE__*/React.createElement(\"form\", {\n onSubmit: handleSubmit(this.submit),\n className: \"form form-component\"\n }, mentorGroups && this.renderGroupList(mentorGroups, 'mentor'), filteredEducationGroups && this.renderGroupList(filteredEducationGroups, 'education'), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-divider\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row spacing submit\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"align-right\"\n }, /*#__PURE__*/React.createElement(Button, {\n disabled: this.state.selected.length === 0 || this.state.loadingGroups\n }, translate('Select'))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }))));\n }\n }]);\n}(Component);\nvar FORM_NAME = 'SelectRecipientForm';\nvar selector = formValueSelector(FORM_NAME);\nfunction mapStateToProps(state) {\n return {\n contacts: state.Conversation.contacts,\n activeStudent: state.User.activeStudent,\n students: state.guardians.students,\n translate: translate(state.Languages.translations),\n mentorGroups: state.groups.mentorGroups,\n educationGroups: state.groups.groups,\n group: state.groups.activeGroup,\n schoolDatas: state.User.schoolDatas,\n selected: selector(state, 'selected')\n };\n}\nexport default connect(mapStateToProps, {\n getContacts: getContacts,\n getStudentMentorGroups: getStudentMentorGroups,\n getGuardianStudentGroup: getGuardianStudentGroup,\n getStudentEducationGroups: getStudentEducationGroups,\n getSchoolData: getSchoolData,\n change: change\n})(reduxForm({\n form: FORM_NAME,\n destroyOnUnmount: true\n})(SelectRecipientForm));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link, withRouter } from 'react-router-dom';\nimport Moment from 'moment';\nimport { clearSearch, getConversations, searchConversation, stageConversation } from 'actions/conversation';\nimport { setPageTitle } from 'actions/header';\nimport { getConversationParticipants } from '../Helpers';\nimport Modal from 'containers/Modals/Modal';\nimport SelectRecipientForm from '../Form/SelectRecipient';\nimport { Person, Spinner, Collapsible } from 'UI';\nimport { Search } from 'UI/Inputs';\nimport { Button, Flex, translate } from '@haldor/ui';\nimport '../Conversation.scss';\nvar ConversationsPage = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function ConversationsPage(props) {\n var _this;\n _classCallCheck(this, ConversationsPage);\n _this = _callSuper(this, ConversationsPage, [props]);\n /* Lifecycle events */\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n _this.setState({\n loading: true\n });\n _this.props.setPageTitle(_this.props.translate('Messages'));\n _this.props.getConversations(_this.props.activeStudent.id).then(function () {\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"componentWillUnmount\", function () {\n _this.props.clearSearch();\n });\n /* Events */\n _defineProperty(_this, \"toggleModal\", function () {\n _this.setState({\n modal: !_this.state.modal\n });\n });\n _defineProperty(_this, \"getConversations\", function () {\n _this.props.clearSearch();\n _this.setState({\n loading: true\n });\n _this.props.getConversations(_this.props.activeStudent.id).then(function () {\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"onSelectRecipients\", function (values) {\n // Create conversation API request hereee\n var conversation = {\n title: '',\n status: 'ACTIVE',\n memberships: values.memberships,\n messages: [],\n relationships: values.relationships,\n id: 'new'\n };\n _this.props.stageConversation(conversation).then(function () {\n _this.setState({\n modal: false\n });\n _this.props.history.push(\"/conversations/new\");\n });\n });\n _defineProperty(_this, \"onSearch\", function (query) {\n if (query.query.length == 0) {\n _this.getConversations();\n return;\n }\n if (query.query.length < 2) {\n _this.props.clearSearch();\n return;\n }\n _this.setState({\n searching: true\n });\n _this.props.searchConversation(query.query, _this.props.activeStudent.id).then(function () {\n _this.setState({\n searching: false\n });\n });\n });\n /* Render methods */\n _defineProperty(_this, \"renderConversation\", function (conversation, index) {\n var participants = getConversationParticipants(conversation, _this.props.user);\n var message = null;\n var timeOfLastMessage = null;\n if (conversation.messages.length > 0 && conversation.messages[conversation.messages.length - 1] != null) {\n var lastMessage = conversation.messages[conversation.messages.length - 1];\n timeOfLastMessage = lastMessage.created;\n if (lastMessage.flagID != null) {\n message = /*#__PURE__*/React.createElement(\"span\", {\n style: {\n fontStyle: 'italic'\n }\n }, _this.props.translate('Message is reported as inappropriate.'));\n } else {\n message = lastMessage.text.replace(/(<([^>]+)>)/ig, '');\n if (message.length > 155) {\n message = message.substring(0, 155) + '...';\n }\n }\n }\n return /*#__PURE__*/React.createElement(Link, {\n key: index,\n to: \"/conversations/\".concat(conversation.id),\n className: \"conversation-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"participants\"\n }, participants.map(function (participant) {\n if (participant.membershipType == 'SECTION_OWNERS') {\n return /*#__PURE__*/React.createElement(Person, {\n person: _objectSpread({\n firstName: participant.title + \" (\" + _this.props.translate(\"Staff\") + \")\",\n lastName: ''\n }, participant),\n key: participant.id\n });\n }\n return /*#__PURE__*/React.createElement(Person, {\n person: participant,\n key: participant.userId\n });\n })), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"latest-message\"\n }, conversation.unreadMessages > 0 ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge\",\n style: {\n display: 'inline-flex',\n transform: 'none',\n position: 'static',\n justifyContent: 'center',\n borderRadius: '100%',\n marginRight: '0.4rem'\n }\n }, conversation.unreadMessages) : null, message ? message : null), timeOfLastMessage != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\",\n style: {\n marginTop: '-1.5rem',\n \"float\": 'right'\n }\n }, Moment.utc(timeOfLastMessage).local().format('yyyy-MM-DD HH:mm')) : null));\n });\n _this.state = {\n modal: false,\n searching: false,\n loading: false\n };\n return _this;\n }\n _inherits(ConversationsPage, _Component);\n return _createClass(ConversationsPage, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (this.props.activeStudent == null || !this.props.activeStudent.services.conversations || this.state.loading) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n var conversations = null;\n var archived = null;\n if (this.props.conversations != null && this.props.conversations.length > 0) {\n conversations = JSON.parse(JSON.stringify(this.props.conversations)).filter(function (conversation) {\n return conversation.status != 'ARCHIVED';\n });\n archived = JSON.parse(JSON.stringify(this.props.conversations)).filter(function (conversation) {\n return conversation.status == 'ARCHIVED';\n });\n }\n if (this.props.results != null && this.props.results.length > 0) {\n conversations = JSON.parse(JSON.stringify(this.props.results)).filter(function (conversation) {\n return conversation.status != 'ARCHIVED';\n });\n archived = JSON.parse(JSON.stringify(this.props.results)).filter(function (conversation) {\n return conversation.status == 'ARCHIVED';\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page\"\n }, /*#__PURE__*/React.createElement(Modal, {\n onClose: this.toggleModal,\n title: this.props.translate('Select recipient'),\n isOpen: this.state.modal,\n type: \"small\"\n }, /*#__PURE__*/React.createElement(SelectRecipientForm, {\n onSubmit: this.onSelectRecipients\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"create-button-container\"\n }, /*#__PURE__*/React.createElement(Button, {\n onClick: this.toggleModal\n }, this.props.translate('Write new'))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation conversation--wrapper\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation-list\"\n }, /*#__PURE__*/React.createElement(Flex, {\n center: true,\n space: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: '1'\n }\n }, /*#__PURE__*/React.createElement(Search, {\n onSubmit: this.onSearch,\n loading: this.state.searching,\n placeholder: this.props.translate('Search conversations'),\n autoSearch: true,\n allowEmpty: true\n }))), conversations != null ? conversations.map(function (conversation, index) {\n return _this2.renderConversation(conversation, index);\n }) : null, archived != null && archived.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"archived-conversations\"\n }, /*#__PURE__*/React.createElement(Collapsible, {\n trigger: this.props.translate('Removed')\n }, archived.map(function (conversation, index) {\n return _this2.renderConversation(conversation, index);\n }))) : null)));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n conversations: state.Conversation.conversations,\n activeStudent: state.User.activeStudent,\n user: state.User.user,\n results: state.Conversation.searchResults,\n currentStudent: state.guardians.currentStudent,\n translate: translate(state.Languages.translations)\n };\n}\nexport default withRouter(connect(mapStateToProps, {\n getConversations: getConversations,\n stageConversation: stageConversation,\n searchConversation: searchConversation,\n clearSearch: clearSearch,\n setPageTitle: setPageTitle\n})(ConversationsPage));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nvar Card = /*#__PURE__*/function (_Component) {\n function Card(props) {\n var _this;\n _classCallCheck(this, Card);\n _this = _callSuper(this, Card, [props]);\n _defineProperty(_this, \"output\", function () {\n var target = _this.props.target;\n var isExternal = !!(target && target.indexOf('http') > -1);\n var isInternal = !!(target && !isExternal);\n if (isExternal) {\n return /*#__PURE__*/React.createElement(\"a\", {\n href: target,\n target: \"_blank\",\n className: \"card card-\".concat(_this.state.type),\n style: _objectSpread({\n borderLeftColor: _this.state.color\n }, _this.props.style)\n }, _this.props.children);\n } else if (isInternal) {\n return /*#__PURE__*/React.createElement(Link, {\n to: target,\n className: \"card card-\".concat(_this.state.type),\n style: _objectSpread({\n borderLeftColor: _this.state.color\n }, _this.props.style)\n }, _this.props.children);\n }\n if (_this.props.onClick != null && target == null) {\n return /*#__PURE__*/React.createElement(\"a\", {\n onClick: _this.props.onClick,\n className: \"card card-\".concat(_this.state.type),\n style: _objectSpread({\n borderLeftColor: _this.state.color\n }, _this.props.style)\n }, _this.props.children);\n }\n\n // console.warn('Deprecation warning: Missing target attribute for card.\n // Please use an internal or external link in prop target.');\n // TODO: Remove the type checks below and make sure all cards have a\n // target attribute. Target will work with both external and internal\n // links and figures out how to handle them (based on http or not in url).\n\n if (_this.props.type === 'task') {\n return /*#__PURE__*/React.createElement(Link, {\n to: \"/assignment/\".concat(_this.props.id),\n className: \"card card-\".concat(_this.state.type),\n style: _objectSpread({\n borderLeftColor: _this.state.color\n }, _this.props.style)\n }, _this.props.children);\n } else if (_this.props.type === 'planning') {\n return /*#__PURE__*/React.createElement(Link, {\n to: \"/plan/\".concat(_this.props.id),\n className: \"card card-\".concat(_this.state.type),\n style: _objectSpread({\n borderLeftColor: _this.state.color\n }, _this.props.style)\n }, _this.props.children);\n } else if (_this.props.type === 'news') {\n return _this.props.item.id != 0 ? /*#__PURE__*/React.createElement(Link, {\n to: \"/posts/\".concat(_this.props.id),\n className: \"card card-\".concat(_this.state.type),\n style: _objectSpread({\n borderLeftColor: _this.state.color\n }, _this.props.style)\n }, _this.props.children) : /*#__PURE__*/React.createElement(\"a\", {\n href: _this.props.item.section.classroomUrl,\n target: \"_blank\",\n className: \"card card-\".concat(_this.state.type)\n }, _this.props.children);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"card card-\".concat(_this.state.type),\n style: _objectSpread({\n borderLeftColor: _this.state.color\n }, _this.props.style)\n }, _this.props.children);\n });\n _this.state = {\n color: _this.props.hasOwnProperty('color') ? _this.props.color : '',\n type: _this.props.hasOwnProperty('type') ? _this.props.type : 'standard'\n };\n return _this;\n }\n _inherits(Card, _Component);\n return _createClass(Card, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-outer\",\n key: this.props.id\n }, this.output());\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n activeStudent: state.guardians.activeStudent\n };\n};\nexport default connect(mapStateToProps)(Card);\n\n/**\n* Cards container\n* Displays cards in multiple columns based on screen width.\n* @export CardsContainer\n*/\nexport var CardsContainer = function CardsContainer(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"cards-container\"\n }, children);\n};\n\n/**\n* Card title\n*/\nexport var CardTitle = function CardTitle(_ref2) {\n var children = _ref2.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"card_title\"\n }, children);\n};\n\n/**\n* Card subtitle\n*/\nexport var CardSubtitle = function CardSubtitle(_ref3) {\n var children = _ref3.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"card_subtitle\"\n }, children);\n};\n\n/**\n* Card description\n*/\nexport var CardDescription = function CardDescription(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"card_description\"\n }, children);\n};\n\n/**\n* Card footer\n*/\nexport var CardFooter = function CardFooter(_ref5) {\n var children = _ref5.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-footer\"\n }, children);\n};","import React from 'react';\nvar SectionTitle = function SectionTitle(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"component-title section_title\"\n }, children);\n};\nexport default SectionTitle;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport { getForms } from 'actions/templates';\nimport Card, { CardFooter, CardsContainer, CardTitle } from 'components/Presentation/Cards/Card';\nimport SectionTitle from 'components/Presentation/SectionTitle';\nimport Moment from 'moment';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { translate } from '@haldor/ui';\nvar AllForms = /*#__PURE__*/function (_Component) {\n function AllForms() {\n var _this;\n _classCallCheck(this, AllForms);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, AllForms, [].concat(args));\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.props.getForms();\n });\n return _this;\n }\n _inherits(AllForms, _Component);\n return _createClass(AllForms, [{\n key: \"render\",\n value: function render() {\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\"\n }, /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(\"span\", null, translate('All forms'))), this.props.forms != null ? /*#__PURE__*/React.createElement(CardsContainer, null, this.props.forms.map(function (form) {\n var instance = form.formInstances[0];\n return /*#__PURE__*/React.createElement(Card, {\n type: \"group\",\n key: form.id,\n id: form.id,\n target: \"/form/\".concat(form.id)\n }, instance.status == 'SUBMITTED' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\"\n }, translate('Submitted'), \" \", Moment(instance.edited).format('D MMM - kk:mm')) : null, /*#__PURE__*/React.createElement(CardTitle, null, form.title), /*#__PURE__*/React.createElement(CardFooter, null));\n })) : null));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n forms: state.Templates.forms,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getForms: getForms\n})(AllForms);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nvar Redirect = /*#__PURE__*/function (_Component) {\n function Redirect() {\n _classCallCheck(this, Redirect);\n return _callSuper(this, Redirect, arguments);\n }\n _inherits(Redirect, _Component);\n return _createClass(Redirect, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.history.push(this.props.to);\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n }]);\n}(Component);\nexport default withRouter(Redirect);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { getFormInstance } from 'actions/templates';\nimport { FIELD_TITLE, FIELD_DESCRIPTION, FIELD_TEXT, FIELD_TEXTAREA } from 'constants/fields';\nimport { Spinner } from 'UI';\nimport './Styles.scss';\nvar DisplayFormResults = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function DisplayFormResults(props) {\n var _this;\n _classCallCheck(this, DisplayFormResults);\n _this = _callSuper(this, DisplayFormResults, [props]);\n /* Lifecycle methods */\n _defineProperty(_this, \"componentDidMount\", function () {\n if (_this.props.instance != null) {\n _this.props.getFormInstance(_this.props.instance.id).then(function () {\n _this.setState({\n loading: false\n });\n });\n }\n });\n /* Render methods */\n _defineProperty(_this, \"renderTitle\", function (field) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"input-label\"\n }, field.value);\n });\n _defineProperty(_this, \"renderDescription\", function (field) {\n return /*#__PURE__*/React.createElement(\"div\", null, field.value);\n });\n _defineProperty(_this, \"renderInput\", function (field) {\n var activeInstance = _this.props.activeInstance;\n var type = field.type.toLowerCase();\n var value = null;\n if (activeInstance != null) {\n var findResult = activeInstance.fieldResults.find(function (result) {\n return result.fieldName == field.name;\n });\n if (findResult != null) {\n value = findResult.value;\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"placeholder-input \".concat(type)\n }, value);\n });\n _defineProperty(_this, \"renderField\", function (field, index) {\n if (field.type == FIELD_TITLE) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: 'field-' + index,\n className: \"form-row field\"\n }, _this.renderTitle(field, index));\n }\n if (field.type == FIELD_DESCRIPTION) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: 'field-' + index,\n className: \"form-row field\"\n }, _this.renderDescription(field, index));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n key: 'field-' + index,\n className: \"form-row\"\n }, _this.renderInput(field, index));\n });\n _this.state = {\n loading: true\n };\n return _this;\n }\n _inherits(DisplayFormResults, _Component);\n return _createClass(DisplayFormResults, [{\n key: \"render\",\n value: function render() {\n if (this.props.fields == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"dynamic-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form form-component\"\n }, this.state.loading ? /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }) : this.props.fields.map(this.renderField)));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeInstance: state.Templates.instance\n };\n}\nexport default connect(mapStateToProps, {\n getFormInstance: getFormInstance\n})(DisplayFormResults);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nvar RowItem = /*#__PURE__*/function (_Component) {\n function RowItem() {\n _classCallCheck(this, RowItem);\n return _callSuper(this, RowItem, arguments);\n }\n _inherits(RowItem, _Component);\n return _createClass(RowItem, [{\n key: \"render\",\n value: function render() {\n var props = _objectSpread({}, this.props);\n delete props.children;\n delete props.target;\n if (this.props.target != null) {\n return /*#__PURE__*/React.createElement(Link, _extends({\n className: \"row\",\n to: this.props.target\n }, props), this.props.children);\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"row\"\n }, this.props), this.props.children);\n }\n }]);\n}(Component);\nexport var RowCell = function RowCell(props) {\n var className = 'cell';\n if (props.grow) {\n className += ' grow';\n }\n if (props.shrink) {\n className += ' shrink';\n }\n var elementProps = _objectSpread({}, props);\n delete elementProps.grow;\n delete elementProps.shrink;\n delete elementProps.children;\n delete elementProps.title;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: className,\n title: props.title\n }, elementProps), props.children);\n};\nexport default RowItem;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport { clearForm, getForm, getFormInstance, getFormTemplate, updateFormInstance } from 'actions/templates';\nimport Redirect from 'components/Redirect/Redirect';\nimport DisplayFormResults from 'containers/FormTemplate/Display/DisplayFormResults';\nimport Moment from 'moment';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Spinner } from 'UI';\nimport Block, { BlockContent, BlockWrapper } from 'UI/Elements/Block';\nimport RowItem, { RowCell } from 'UI/Elements/List/RowItem';\nimport { translate } from '@haldor/ui';\nimport DateTime from '_class/DateTime';\nvar SingleForm = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function SingleForm(props) {\n var _this;\n _classCallCheck(this, SingleForm);\n _this = _callSuper(this, SingleForm, [props]);\n /* Lifecycle methods */\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.props.getForm(_this.props.match.params.id).then(function () {\n _this.props.getFormTemplate(_this.props.form.formTemplateID).then(function () {\n _this.setState({\n loading: false\n });\n });\n if (_this.props.form.formInstances != null && _this.props.form.formInstances.length > 0) {\n var instanceId = _this.props.form.formInstances[0].id;\n _this.props.getFormInstance(instanceId);\n }\n });\n });\n _defineProperty(_this, \"componentWillUnmount\", function () {\n _this.props.clearForm();\n });\n /* Events */\n _defineProperty(_this, \"onInputSubmit\", function (values) {\n return new Promise(function (resolve) {\n var data = _this.props.form.formInstances[0];\n data.fieldResults = values.fieldResults;\n data.status = values.status;\n _this.props.updateFormInstance(data).then(function () {\n resolve(1);\n _this.props.getFormInstance(data.id);\n });\n });\n });\n /* Render methods */\n _defineProperty(_this, \"renderFormInstance\", function (instance) {\n return /*#__PURE__*/React.createElement(RowItem, {\n key: instance.id,\n style: {\n cursor: 'pointer'\n },\n onClick: function onClick() {\n return _this.onInstanceClick(instance);\n }\n }, /*#__PURE__*/React.createElement(RowCell, null, instance.user.firstName, \" \", instance.user.lastName), /*#__PURE__*/React.createElement(RowCell, {\n shrink: true\n }, instance.status == 'SUBMITTED' ? _this.props.translate('Submitted') : null));\n });\n _this.state = {\n loading: true\n };\n _this.services = {\n forms: true\n };\n return _this;\n }\n _inherits(SingleForm, _Component);\n return _createClass(SingleForm, [{\n key: \"render\",\n value: function render() {\n if (!this.services.forms) {\n return /*#__PURE__*/React.createElement(Redirect, {\n to: \"/\"\n });\n }\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n var _this$props = this.props,\n formTemplate = _this$props.formTemplate,\n form = _this$props.form,\n translate = _this$props.translate;\n var turnedIn = _toConsumableArray(this.props.form.formInstances).filter(function (x) {\n return x.status == 'SUBMITTED';\n }).length;\n var instance = null;\n if (this.props.form.formInstances.length > 0) {\n instance = this.props.form.formInstances[0];\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"container single-task\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section form left-side\",\n style: {\n paddingTop: 0\n }\n }, /*#__PURE__*/React.createElement(\"h1\", {\n style: {\n marginBottom: '1rem'\n }\n }, form.title), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: '1rem 0'\n }\n }, /*#__PURE__*/React.createElement(\"p\", null, form.text)), /*#__PURE__*/React.createElement(BlockWrapper, {\n cols: \"1\"\n }, /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(BlockContent, null, turnedIn > 0 && Moment().isAfter(form.dueDate) ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h2\", null, translate('Your answers')), /*#__PURE__*/React.createElement(DisplayFormResults, {\n instance: instance,\n fields: formTemplate.fields\n })) : /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h2\", null, translate('Answer')), /*#__PURE__*/React.createElement(InputFormTemplate, {\n form: 'cm-' + formTemplate.id,\n fields: formTemplate.fields,\n onSubmit: this.onInputSubmit\n })))))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-actions right-side\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"action-section\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, translate('Information')), /*#__PURE__*/React.createElement(\"div\", null, turnedIn > 0 ? translate('Submitted') : translate('Not submitted'))), form.dueDate != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"action-section\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, translate('Turn in before')), new DateTime(form.dueDate).getLongDate()) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"action-section\"\n }, Moment().isBefore(form.dueDate) && turnedIn < 1 ? /*#__PURE__*/React.createElement(\"span\", null) : null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n formTemplate: state.Templates.formTemplate,\n form: state.Templates.form,\n instance: state.Templates.instance,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getFormTemplate: getFormTemplate,\n getForm: getForm,\n updateFormInstance: updateFormInstance,\n getFormInstance: getFormInstance,\n clearForm: clearForm\n})(SingleForm);","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport Spinner from 'UI/Elements/Spinner';\n// const { instance, accounts, inProgress } = useMsal();\n\nimport auth from 'lib/authentication';\nvar MyCallbackPage = /*#__PURE__*/function (_Component) {\n function MyCallbackPage() {\n _classCallCheck(this, MyCallbackPage);\n return _callSuper(this, MyCallbackPage, arguments);\n }\n _inherits(MyCallbackPage, _Component);\n return _createClass(MyCallbackPage, [{\n key: \"componentDidMount\",\n value: function () {\n var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return auth.handleLoginResponse();\n case 2:\n this.props.history.replace('/');\n case 3:\n case \"end\":\n return _context.stop();\n }\n }, _callee, this);\n }));\n function componentDidMount() {\n return _componentDidMount.apply(this, arguments);\n }\n return componentDidMount;\n }()\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"loading-page-overview\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n }]);\n}(Component);\nfunction mapDispatchToProps(dispatch) {\n return {\n dispatch: dispatch\n };\n}\nexport default withRouter(connect(null, mapDispatchToProps)(MyCallbackPage));","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter } from 'react-router-dom';\nimport auth from 'lib/authentication';\nimport { getParameterByName } from 'helpers/url';\nimport { Spinner } from 'components/UI';\nimport { Button, translate } from '@haldor/ui';\nvar Login = /*#__PURE__*/function (_Component) {\n function Login(props) {\n var _this;\n _classCallCheck(this, Login);\n _this = _callSuper(this, Login, [props]);\n _defineProperty(_this, \"componentDidMount\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var nextUrl;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n nextUrl = '/';\n if (getParameterByName('nextUrl') != null) {\n nextUrl = getParameterByName('nextUrl');\n }\n if (getParameterByName('idp') != null) {\n _this.setState({\n loading: true\n });\n\n // Login with additional config\n auth.login({\n extraQueryParameters: {\n 'acr_values': 'idp:' + getParameterByName('idp')\n }\n });\n }\n case 3:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n _defineProperty(_this, \"onClick\", function () {\n auth.login();\n });\n _this.state = {\n loading: false\n };\n return _this;\n }\n _inherits(Login, _Component);\n return _createClass(Login, [{\n key: \"render\",\n value: function render() {\n var translate = this.props.translate;\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"login-content\"\n }, /*#__PURE__*/React.createElement(\"h1\", null, translate('An efficient and accessible learning platform')), /*#__PURE__*/React.createElement(\"p\", {\n className: \"login-content__subtitle\"\n }, translate('Welcome to Haldor')), /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n onClick: this.onClick\n }, translate('Log in')), /*#__PURE__*/React.createElement(\"p\", {\n className: \"login-content__helptext\"\n }, translate('Experiencing problems signing in? Contact your school.')));\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n deviceInfo: state.DeviceInfo,\n translate: translate(state.Languages.translations)\n };\n};\nexport default withRouter(connect(mapStateToProps)(Login));","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Redirect, withRouter } from 'react-router';\nimport Spinner from 'UI/Elements/Spinner';\nimport auth from 'lib/authentication';\nvar Logout = /*#__PURE__*/function (_Component) {\n function Logout(props) {\n var _this;\n _classCallCheck(this, Logout);\n _this = _callSuper(this, Logout, [props]);\n _defineProperty(_this, \"componentDidMount\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return auth.logout();\n case 2:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n _this.state = {\n loading: false\n };\n return _this;\n }\n _inherits(Logout, _Component);\n return _createClass(Logout, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"loading-page-overview\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n }]);\n}(Component);\nexport default withRouter(Logout);","import React from 'react';\nimport Spinner from 'UI/Elements/Spinner';\nvar LoadingPage = function LoadingPage() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"loading-page-overview\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n};\nexport default LoadingPage;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport swal from 'sweetalert2';\nimport { getProfileInformation, putProfileInformation } from 'actions/profile';\nimport { setPageTitle } from 'actions/header';\nimport { addError } from 'actions';\nimport { Spinner } from 'UI';\nimport { Button, translate } from '@haldor/ui';\nvar Profile = /*#__PURE__*/function (_Component) {\n function Profile(props) {\n var _this;\n _classCallCheck(this, Profile);\n _this = _callSuper(this, Profile, [props]);\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n _this.props.setPageTitle(_this.props.translate('Your information'));\n _this.props.getProfileInformation().then(function () {\n _this.mapProfileToState();\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"onInputChange\", function (field, event) {\n var values = _this.state.values;\n values[field] = event.target.value;\n _this.setState({\n values: values\n });\n });\n _defineProperty(_this, \"onSubmit\", function () {\n var error = _this.validateForm();\n var translate = _this.props.translate;\n if (error === false) {\n var values = _this.state.values;\n _this.props.putProfileInformation(values).then(function () {\n swal(translate('Information saved'));\n });\n }\n });\n _defineProperty(_this, \"validateEMail\", function (Mail) {\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/; // eslint-disable-line\n return re.test(Mail);\n });\n _defineProperty(_this, \"mapProfileToState\", function () {\n if (_this.props.profile != null) {\n var values = {\n Street: _this.props.profile != null ? _this.props.profile.street : '',\n Postal: _this.props.profile != null ? _this.props.profile.postal : '',\n City: _this.props.profile != null ? _this.props.profile.city : '',\n Phone: _this.props.profile != null ? _this.props.profile.phone : '',\n Mail: _this.props.profile != null ? _this.props.profile.mail : '',\n GuardianId: _this.props.profile != null ? _this.props.profile.guardianId : '',\n Synced: _this.props.profile != null ? _this.props.profile.synced : false\n };\n _this.setState({\n values: values\n });\n }\n });\n _defineProperty(_this, \"validateForm\", function () {\n var values = _this.state.values;\n var translate = _this.props.translate;\n var error = false;\n if (values.Postal != '' && values.Postal != null) {\n if (isNaN(values.Postal)) {\n error = true;\n _this.props.addError(translate('Enter valid ZIP code'), 'notice');\n } else if (values.Postal < 10000 || values.Postal > 99999) {\n error = true;\n _this.props.addError(translate('Enter valid ZIP code'), 'notice');\n }\n } else {\n error = true;\n _this.props.addError(translate('Enter valid ZIP code'), 'notice');\n }\n if (values.City != '' && values.City != null) {\n values.City = values.City.trim();\n } else {\n error = true;\n _this.props.addError(translate('Enter city'), 'notice');\n }\n if (values.Street != '' && values.Street != null) {\n values.Street = values.Street.trim();\n } else {\n error = true;\n _this.props.addError(translate('Enter street name'), 'notice');\n }\n if (values.Phone != '' && values.Phone != null) {\n values.Phone = values.Phone.replace('-', '');\n values.Phone = values.Phone.trim();\n values.Phone = values.Phone.replace(/\\s/g, '');\n if (isNaN(values.Phone)) {\n error = true;\n _this.props.addError(translate('Enter valid phone number'), 'notice');\n }\n } else {\n error = true;\n _this.props.addError(translate('Enter valid phone number'), 'notice');\n }\n if (values.Mail != '' && values.Mail != null) {\n values.Mail = values.Mail.trim();\n var validMail = _this.validateEMail(values.Mail);\n if (!validMail) {\n error = true;\n _this.props.addError(translate('Enter valid e-mail'), 'notice');\n }\n } else {\n error = true;\n _this.props.addError(translate('Enter valid e-mail'), 'notice');\n }\n _this.setState({\n values: values\n });\n return error;\n });\n _this.state = {\n values: {\n Street: props.profile != null ? props.profile.street : '',\n Postal: props.profile != null ? props.profile.postal : '',\n City: props.profile != null ? props.profile.city : '',\n Phone: props.profile != null ? props.profile.phone : '',\n Mail: props.profile != null ? props.profile.mail : '',\n GuardianId: props.profile != null ? props.profile.guardianId : '',\n LCID: props.profile != null ? props.profile.lcid : ''\n },\n loading: true\n };\n return _this;\n }\n _inherits(Profile, _Component);\n return _createClass(Profile, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-container form-create_task\",\n style: {\n marginTop: '2em'\n }\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page form-container form-create_task\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form form-component form-container-width\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row input\"\n }, /*#__PURE__*/React.createElement(\"label\", null, translate('Phone')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n placeholder: \"Telefon\",\n onChange: function onChange(event) {\n _this2.onInputChange('Phone', event);\n },\n value: this.state.values.Phone,\n disabled: this.state.values.Synced\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row input\"\n }, /*#__PURE__*/React.createElement(\"label\", null, translate('E-Mail'), \" \", this.state.values.Synced ? '' : /*#__PURE__*/React.createElement(\"span\", {\n style: {\n fontWeight: 400\n }\n }, \"(\", translate('If you wish to update your email, please contact the school and follow their instructions.'), \")\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n placeholder: translate('E-Mail'),\n maxLength: 250,\n onChange: function onChange(event) {\n _this2.onInputChange('Mail', event);\n },\n value: this.state.values.Mail,\n disabled: true\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row input\"\n }, /*#__PURE__*/React.createElement(\"label\", null, translate('Street address')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n placeholder: translate('Street address'),\n maxLength: 80,\n onChange: function onChange(event) {\n _this2.onInputChange('Street', event);\n },\n value: this.state.values.Street,\n disabled: this.state.values.Synced\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row input\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half\"\n }, /*#__PURE__*/React.createElement(\"label\", null, translate('ZIP Code')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n type: \"number\",\n placeholder: translate('ZIP Code'),\n max: 99999,\n min: 10000,\n onChange: function onChange(event) {\n _this2.onInputChange('Postal', event);\n },\n value: this.state.values.Postal,\n disabled: this.state.values.Synced\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half last\"\n }, /*#__PURE__*/React.createElement(\"label\", null, translate('City')), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"input\", {\n type: \"text\",\n placeholder: translate('City'),\n maxLength: 50,\n onChange: function onChange(event) {\n _this2.onInputChange('City', event);\n },\n value: this.state.values.City,\n disabled: this.state.values.Synced\n })))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row spacing submit\",\n style: {\n paddingTop: '2rem'\n }\n }, this.state.values.Synced ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '1rem'\n }\n }, translate('This information is taken from information you have previously provided and cannot be edited here. If you wish to update your information, please contact the school and follow their instructions.')) : /*#__PURE__*/React.createElement(Button, {\n disabled: this.state.values.Synced,\n onClick: this.onSubmit\n }, translate('Save')))));\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n profile: state.profile.profile,\n translate: translate(state.Languages.translations)\n };\n};\nexport default connect(mapStateToProps, {\n addError: addError,\n getProfileInformation: getProfileInformation,\n putProfileInformation: putProfileInformation,\n setPageTitle: setPageTitle\n})(Profile);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { Spinner } from '../UI';\nimport { getGuardianStudents, clearGuardianStudentSchedule } from 'actions/guardians';\nimport { getMenuItems } from 'actions/menu';\nimport { getGuardianStudentPlans, clearGuardianStudentPlans } from 'actions/planning';\nimport { getGuardianStudentAssignments, clearGuardianStudentAssignments } from 'actions/assignments';\nimport { getStudentEducationGroups, clearGuardianStudentGroups } from 'actions/sections';\nimport { clearGuardianStudentPosts } from 'actions/posts';\nimport { clearGuardianStudentDocumentations } from 'actions/documents';\nimport { clearAssessments } from 'actions/assessments';\nimport { clearStudentAdjustments } from 'actions/additional_adjustments';\nimport { clearMeetings } from 'actions/meetings';\nimport { clearStudyPlans } from 'actions/studyplans';\nvar SchoolSwitch = /*#__PURE__*/function (_Component) {\n function SchoolSwitch() {\n _classCallCheck(this, SchoolSwitch);\n return _callSuper(this, SchoolSwitch, arguments);\n }\n _inherits(SchoolSwitch, _Component);\n return _createClass(SchoolSwitch, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.clearGuardianStudentDocumentations();\n this.props.clearGuardianStudentPosts();\n this.props.clearGuardianStudentPlans();\n this.props.clearGuardianStudentAssignments();\n this.props.clearGuardianStudentSchedule();\n this.props.clearAssessments();\n this.props.clearStudentAdjustments();\n this.props.clearMeetings();\n this.props.clearGuardianStudentGroups();\n this.props.clearStudyPlans();\n this.props.getStudentEducationGroups(this.props.activeStudent.id);\n this.props.getMenuItems(this.props.activeStudent.id);\n this.props.history.push(\"/\");\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"app-comp-content content\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent\n };\n}\nexport default withRouter(connect(mapStateToProps, {\n getGuardianStudents: getGuardianStudents,\n getGuardianStudentAssignments: getGuardianStudentAssignments,\n getGuardianStudentPlans: getGuardianStudentPlans,\n getStudentEducationGroups: getStudentEducationGroups,\n clearGuardianStudentGroups: clearGuardianStudentGroups,\n clearGuardianStudentDocumentations: clearGuardianStudentDocumentations,\n clearGuardianStudentPosts: clearGuardianStudentPosts,\n clearGuardianStudentPlans: clearGuardianStudentPlans,\n clearGuardianStudentAssignments: clearGuardianStudentAssignments,\n clearGuardianStudentSchedule: clearGuardianStudentSchedule,\n clearAssessments: clearAssessments,\n clearStudentAdjustments: clearStudentAdjustments,\n clearMeetings: clearMeetings,\n clearStudyPlans: clearStudyPlans,\n getMenuItems: getMenuItems\n})(SchoolSwitch));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport Moment from 'moment';\nimport { getActiveLanguage } from '@haldor/ui';\nvar DateSpan = /*#__PURE__*/function (_Component) {\n function DateSpan() {\n var _this;\n _classCallCheck(this, DateSpan);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, DateSpan, [].concat(args));\n _defineProperty(_this, \"getDateString\", function (date) {\n return Moment.utc(date).local().format('D MMM');\n });\n _defineProperty(_this, \"formatDate\", function () {\n Moment.locale(getActiveLanguage());\n return /*#__PURE__*/React.createElement(\"span\", null, _this.getDateString(_this.props.start), \" - \", _this.getDateString(_this.props.end));\n });\n _defineProperty(_this, \"icon\", function () {\n return /*#__PURE__*/React.createElement(\"svg\", {\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n xmlSpace: \"preserve\",\n viewBox: \"0 0 12 12\"\n }, /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, '.st0{fill:none;stroke:#1D1D1B;stroke-width:1.2756;stroke-linecap:round;stroke-miterlimit:10;}'), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st0\",\n cx: \"6\",\n cy: \"6.7\",\n r: \"4.4\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"6\",\n y1: \"3.9\",\n x2: \"6\",\n y2: \"6.7\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"6\",\n y1: \"2.1\",\n x2: \"6\",\n y2: \"1.1\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"5.1\",\n y1: \"0.8\",\n x2: \"6.9\",\n y2: \"0.8\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"6\",\n y1: \"6.7\",\n x2: \"7.3\",\n y2: \"5.6\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"9.4\",\n y1: \"3.8\",\n x2: \"10.1\",\n y2: \"3.2\"\n })));\n });\n return _this;\n }\n _inherits(DateSpan, _Component);\n return _createClass(DateSpan, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"time\", {\n className: \"from-now card-meta\",\n dateTime: this.props.start\n }, this.props.icon ? this.icon() : null, this.formatDate());\n }\n }]);\n}(Component);\nexport { DateSpan as default };","import React from 'react';\nvar Immersive_Reader = function Immersive_Reader(props) {\n return /*#__PURE__*/React.createElement(\"svg\", {\n viewBox: \"0 0 32 32\",\n role: \"presentation\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"icons-default-fill\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"icons-unfilled\",\n d: \"M18.14645 14.14645c.31498-.31499.85355-.0919.85355.35355v9c0 .44545-.53857.66854-.85355.35355L15.29289 21H13.5c-.27614 0-.5-.22386-.5-.5v-3c0-.27614.22386-.5.5-.5h1.7929zm4.2071.5C23.45197 15.74486 24 17.20628 24 19c0 1.79372-.54803 3.25514-1.64645 4.35355-.19526.19527-.51184.19527-.7071 0-.19527-.19526-.19527-.51184 0-.7071C22.54803 21.74486 23 20.53962 23 19c0-1.53962-.45197-2.74486-1.35355-3.64645-.19527-.19526-.19527-.51184 0-.7071.19526-.19527.51184-.19527.7071 0zM18 15.7071l-2.14645 2.14644A.5.5 0 0 1 15.5 18H14v2h1.5a.5.5 0 0 1 .35355.14645L18 22.29289v-6.58578zm2.91373.4487C21.6367 16.91755 22 17.8747 22 19c0 1.13059-.38442 2.09164-1.14647 2.85358-.19528.19525-.51186.19522-.7071-.00005-.19526-.19528-.19523-.51186.00004-.7071C20.71775 20.57522 21 19.8696 21 19c0-.8749-.26932-1.58442-.8116-2.1558-.1901-.2003-.18183-.51677.01847-.70687.2003-.1901.51677-.18182.70686.01847zM13.5 8c.81839 0 1.54493.39323 2.00098 1.00106.41916-.56107 1.07047-.9393 1.81187-.99416L17.5 8h4c.7797 0 1.42045.59489 1.49313 1.35554L23 9.5l.0017 4.38343C22.71726 13.62781 22.35863 13.5 22 13.5v-4c0-.24546-.17688-.4496-.41012-.49194L21.5 9h-4c-.7797 0-1.42045.59489-1.49313 1.35554L16 10.5v4.378l-1 1V10.5c0-.73097-.52285-1.33981-1.21497-1.47295l-.14057-.02018L13.5 9h-4c-.24546 0-.4496.17688-.49194.41012L9 9.5v10c0 .24546.17688.4496.41012.49194L9.5 20H12v.5l.01205.17915c.01994.1131.04947.22066.08753.32197L9.5 21c-.7797 0-1.42045-.59489-1.49313-1.35554L8 19.5v-10c0-.7797.59489-1.42045 1.35554-1.49313L9.5 8h4z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"icons-filled\",\n d: \"M18.99304 14.41397L19 14.5v9c0 .41576-.46916.6378-.7878.40947l-.06575-.05592L15.29289 21H13.5c-.24546 0-.4496-.17688-.49194-.41012L13 20.5v-3c0-.24546.17688-.4496.41012-.49194L13.5 17h1.7929l2.85355-2.85355c.29398-.29399.78273-.11926.8466.26752zm3.36051.23248C23.45197 15.74486 24 17.20628 24 19c0 1.79372-.54803 3.25514-1.64645 4.35355-.19526.19527-.51184.19527-.7071 0-.19527-.19526-.19527-.51184 0-.7071C22.54803 21.74486 23 20.53962 23 19c0-1.53962-.45197-2.74486-1.35355-3.64645-.19527-.19526-.19527-.51184 0-.7071.19526-.19527.51184-.19527.7071 0zm-1.43982 1.50935C21.6367 16.91756 22 17.8747 22 19c0 1.13059-.38442 2.09164-1.14647 2.85358-.19528.19525-.51186.19522-.7071-.00005-.19526-.19528-.19523-.51186.00004-.7071C20.71775 20.57522 21 19.8696 21 19c0-.8749-.26932-1.58442-.8116-2.1558-.1901-.2003-.18183-.51677.01847-.70687.2003-.1901.51677-.18182.70686.01847zM13.5 8c.81839 0 1.54493.39323 2.00098 1.00106.41916-.56107 1.07047-.9393 1.81187-.99416L17.5 8h4c.7797 0 1.42045.59489 1.49313 1.35554L23 9.5l.0017 4.38343C22.71726 13.62781 22.35863 13.5 22 13.5v-4c0-.24546-.17688-.4496-.41012-.49194L21.5 9h-4c-.7797 0-1.42045.59489-1.49313 1.35554L16 10.5v4.378l-1 1V10.5c0-.73097-.52285-1.33981-1.21497-1.47295l-.14057-.02018L13.5 9h-4c-.24546 0-.4496.17688-.49194.41012L9 9.5v10c0 .24546.17688.4496.41012.49194L9.5 20H12v.5l.01205.17915c.01994.1131.04947.22066.08753.32197L9.5 21c-.7797 0-1.42045-.59489-1.49313-1.35554L8 19.5v-10c0-.7797.59489-1.42045 1.35554-1.49313L9.5 8h4z\"\n })));\n};\nexport default Immersive_Reader;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport DateSpan from 'components/Presentation/Dates/DateSpan';\nimport ResizeObserver from 'react-resize-aware';\nimport { translate } from '@haldor/ui';\nimport { ColorLabel, ColorLabelContainer } from 'UI';\nimport { Minus, Plus } from 'UI/Icons';\nvar ReactGantt = /*#__PURE__*/function (_Component) {\n function ReactGantt(props) {\n var _this;\n _classCallCheck(this, ReactGantt);\n _this = _callSuper(this, ReactGantt, [props]);\n _defineProperty(_this, \"getCalculatedStyles\", function (row) {\n var difference = moment(_this.props.options.leftBound).unix();\n var rightBound = moment(_this.props.options.rightBound).unix() - difference;\n var startDate = moment(row.startDate).unix() - difference;\n if (startDate < 0) {\n startDate = 0;\n } else if (startDate > rightBound) {\n startDate = rightBound;\n }\n var climaxDate = moment(row.climaxDate).unix() - difference;\n if (climaxDate < 0) {\n climaxDate = 0;\n } else if (climaxDate > rightBound) {\n climaxDate = rightBound;\n }\n var endDate = moment(row.endDate).unix() - difference;\n if (endDate < 0) {\n endDate = 0;\n } else if (endDate > rightBound) {\n endDate = rightBound;\n }\n var leftPadWidth = \"\".concat(startDate / rightBound * 100, \"%\");\n var div2Width = (endDate - startDate) / rightBound * 100;\n var rightPadWidth = \"\".concat((rightBound - endDate) / rightBound * 100, \"%\");\n var div2BackgroundColor = 'red';\n if (row.afterClimaxColor) {\n div2BackgroundColor = row.afterClimaxColor;\n } else if (_this.props.options.afterClimaxColor) {\n div2BackgroundColor = _this.props.options.afterClimaxColor;\n }\n if (div2Width < 10) {\n div2Width = 10;\n }\n var bar1 = {};\n var bar2 = {\n marginTop: '2px',\n marginBottom: '2px',\n marginLeft: '0px',\n marginRight: '0px',\n padding: '1.0rem 1.25rem',\n position: 'absolute',\n right: rightPadWidth,\n backgroundColor: div2BackgroundColor,\n width: div2Width,\n \"float\": 'left',\n height: '30px',\n borderLeft: '3px solid #997AE8',\n borderTopRightRadius: '10px',\n borderBottomRightRadius: '10px',\n boxShadow: '2px 2px 4px #000000',\n borderRadius: '4px',\n zIndex: '999'\n };\n if (_this.props.options.barStyle.shadow != null) {\n if (_this.props.options.barStyle.shadow == false) {\n bar2.boxShadow = 'none';\n } else {\n bar2.boxShadow = _this.props.options.barStyle.shadow;\n }\n }\n if (_this.props.options.barStyle.border != null) {\n bar2.border = _this.props.options.barStyle.border;\n }\n if (_this.props.options.barStyle.height != null) {\n bar2.height = _this.props.options.barStyle.height;\n }\n if (_this.props.options.barStyle.borderRadius != null) {\n bar2.borderTopLeftRadius = _this.props.options.barStyle.borderRadius;\n bar2.borderBottomLeftRadius = _this.props.options.barStyle.borderRadius;\n bar2.borderBottomRightRadius = _this.props.options.barStyle.borderRadius;\n bar2.borderTopRightRadius = _this.props.options.barStyle.borderRadius;\n }\n if (row.borderLeft != null) {\n bar2.borderLeft = row.borderLeft;\n }\n bar2.borderLeftColor = '#997AE8';\n bar2.borderLeftWidth = '3px';\n bar2.transition = '0.14s cubic-bezier(0.215, 0.61, 0.355, 1)';\n bar2.boxShadow = '0px 2px 12px rgba(0, 0, 0, 0.15)';\n return {\n bar1: bar1,\n bar2: bar2\n };\n });\n _defineProperty(_this, \"onTimeLineRowClick\", function (event, group) {\n event.preventDefault();\n var groups = _this.state.groups;\n groups.map(function (g_o) {\n if (g_o.id == group.id) {\n g_o.open = !g_o.open;\n }\n });\n _this.setState({\n groups: groups\n });\n });\n _defineProperty(_this, \"renderMultipleBars\", function (rows, group, index) {\n var timelineStyle = {\n width: '100%'\n };\n timelineStyle.position = 'relative';\n timelineStyle.display = 'block';\n var numberOfRowsInGroup = 0;\n return /*#__PURE__*/React.createElement(\"td\", {\n style: timelineStyle,\n onClick: function onClick(e) {\n _this.onTimeLineRowClick(e, group);\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n position: 'relative',\n top: '-15px',\n zIndex: '999'\n }\n }, group.showGroupTitle ? group.title : null, \" \", ' ', group.showGroupTitle && group.title != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"timeline-dropdown-button\"\n }, group.showGroupTitle ? group.open ? /*#__PURE__*/React.createElement(Minus, null) : /*#__PURE__*/React.createElement(Plus, null) : null) : null), _this.props.rows.map(function (row, index) {\n if (group.id == row.group) {\n if (row.endDate >= _this.props.options.leftBound && row.startDate <= _this.props.options.rightBound) {\n var _this$getCalculatedSt = _this.getCalculatedStyles(row),\n bar1 = _this$getCalculatedSt.bar1,\n bar2 = _this$getCalculatedSt.bar2;\n if (bar2.opacity != 0) {\n /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'block',\n height: '0px'\n }\n });\n var widthValue = bar2.width;\n bar2.width += '%';\n bar1.width += '%';\n var rowIsOverlaying = false;\n var containerStyle = {};\n if (widthValue > 0) {\n if (group.open) {\n containerStyle = {\n position: 'relative'\n };\n bar1.top = \"\".concat(125 * numberOfRowsInGroup, \"px\");\n bar2.top = \"\".concat(125 * numberOfRowsInGroup, \"px\");\n }\n numberOfRowsInGroup += 1;\n } else {\n containerStyle = {\n position: 'relative'\n };\n }\n _this.props.rows.map(function (r_o) {\n if (group.id == r_o.group) {\n if (moment(row.endDate).isBefore(moment(r_o.endDate))) {\n rowIsOverlaying = true;\n }\n }\n });\n if (rowIsOverlaying == true && !group.open) {\n if (numberOfRowsInGroup < 3) {\n bar2.marginTop = 15 * (numberOfRowsInGroup - 1) + 'px';\n }\n bar2.zIndex = 99 - Math.floor(widthValue);\n if (bar2.zIndex <= 0) {\n //Fail safe, plan should be visible and not disappear\n bar2.zIndex = 1;\n }\n }\n var courses = null;\n if (row.planning.courses != null && row.planning.courses.length > 0) {\n courses = row.planning.courses;\n } else {\n if (row.planning.associatedMatrices != null && row.planning.associatedMatrices.length > 0) {\n courses = [];\n row.planning.associatedMatrices.forEach(function (matrice) {\n if (matrice._ParagraphSet != null && matrice._ParagraphSet.length > 0) {\n courses.push(_objectSpread(_objectSpread({}, matrice.course), {}, {\n id: matrice.courseId\n }));\n }\n });\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n onClick: row.action,\n style: containerStyle,\n key: \"gantt_bar-\".concat(row.id)\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: bar2\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n \"float\": 'left',\n width: '100%'\n }\n }, _this.props.options.barStyle.showGroupTitle ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"time-line-item-titles\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"time-line-item-groups\"\n }, widthValue > 8 && courses != null && courses.length > 0 ? /*#__PURE__*/React.createElement(ColorLabelContainer, {\n collapse: true\n }, courses.map(function (course) {\n var _int = Math.floor(Math.random() * 10 + 1);\n var text = course.title;\n text = course.year != null ? text + ' ' + course.year : text;\n return /*#__PURE__*/React.createElement(ColorLabel, {\n key: 'planning-' + row.id + '-' + _int + course.id,\n tooltip: text,\n color: course.colorCode\n });\n })) : null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"time-line-item-date\",\n style: widthValue > 20 ? {} : {\n display: 'none'\n }\n }, /*#__PURE__*/React.createElement(DateSpan, {\n start: row.startDate,\n end: row.endDate\n })), row.planning.status == 'PLANNING_DRAFT' && widthValue > 20 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\",\n style: {\n marginLeft: 5,\n height: 26\n }\n }, _this.props.translate('Draft')) : null) : null, _this.props.options.barStyle.showTitle ? /*#__PURE__*/React.createElement(\"h3\", {\n className: \"timeline-planning-title\"\n }, row.title) : null)));\n }\n }\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }));\n });\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n _this.bootstrapped = false;\n\n /*\n if (this.props.options.bootstrapped) {\n \tthis.bootstrapped = this.props.options.bootstrapped;\n }\n */\n\n if (_this.props.options.responsive) {\n _this.responsive = true;\n }\n });\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.previousProps = _this.props;\n _this.drawScale();\n });\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n if (_this.props.rows != nextProps.rows) {\n // prevents infinite loop\n _this.previousProps = nextProps.props;\n //this.drawScale();\n }\n _this.drawScale();\n });\n _this.state = {\n tableId: \"react-gantt\",\n scaleMarksCount: 99,\n scaleDrawn: false,\n groups: props.groups ? props.groups.sort(function (a, b) {\n return a.title > b.title ? 1 : a.title === b.title ? a.title > b.title ? 1 : -1 : -1;\n }) : []\n };\n return _this;\n }\n _inherits(ReactGantt, _Component);\n return _createClass(ReactGantt, [{\n key: \"renderBar\",\n value: function renderBar(row) {\n var _this$getCalculatedSt2 = this.getCalculatedStyles(row),\n bar1 = _this$getCalculatedSt2.bar1,\n bar2 = _this$getCalculatedSt2.bar2;\n return /*#__PURE__*/React.createElement(\"div\", {\n onClick: row.action,\n style: {\n minHeight: '120px'\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: bar1\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: bar2\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: bar1\n }), this.props.options.barStyle.showTitle ? /*#__PURE__*/React.createElement(\"h3\", null, row.title) : null));\n }\n }, {\n key: \"renderRows\",\n value: function renderRows() {\n var _this2 = this;\n var rows = [];\n var labelWidth = '80px';\n if (this.props.options && this.props.options.labelWidth) {\n labelWidth = this.props.options.labelWidth;\n }\n var titleStyle = {\n textAlign: 'left',\n verticalAlign: 'top',\n paddingRight: '10px'\n };\n var timelineStyle = {\n width: '100%'\n };\n if (this.props.options.showBorders !== false) {\n titleStyle.border = 'solid';\n timelineStyle.border = 'solid';\n }\n var labelStyle = {\n width: labelWidth\n };\n if (this.props.rows.length > 0) {\n if (this.state.groups != null && this.state.groups.length > 0) {\n var _loop = function _loop() {\n groupObject = _this2.state.groups[i];\n var groupId = groupObject.id;\n rowStyle = {\n cursor: 'pointer'\n };\n rowStyle.marginTop = '1em';\n rowStyle.transition = '0.55s cubic-bezier(0.215, 0.61, 0.355, 1)';\n if (groupObject.open) {\n var numberOfRowsInGroup = 0;\n _this2.props.rows.map(function (r_o) {\n var leftBound = moment(_this2.props.options.leftBound).unix();\n var rightBound = moment(_this2.props.options.rightBound).unix();\n var startDate = moment(r_o.startDate).unix();\n if (startDate < 0) {\n startDate = 0;\n }\n var endDate = moment(r_o.endDate).unix();\n if (endDate < 0) {\n endDate = 0;\n }\n var inViewport = startDate >= leftBound && startDate <= rightBound || endDate >= leftBound && endDate <= rightBound;\n var outsideViewport = startDate <= leftBound && endDate >= rightBound;\n if ((inViewport || outsideViewport) && r_o.group == groupObject.id) {\n numberOfRowsInGroup += 1;\n }\n });\n rowStyle.height = \"\".concat(125 * numberOfRowsInGroup + 50, \"px\");\n } else {\n rowStyle.height = '175px';\n }\n var visibleObjects = false;\n _this2.props.rows.map(function (row, index) {\n if (groupObject.id == row.group) {\n if (row.endDate >= _this2.props.options.leftBound && row.startDate <= _this2.props.options.rightBound) {\n visibleObjects = true;\n }\n }\n });\n if (visibleObjects) {\n row = /*#__PURE__*/React.createElement(\"tr\", {\n key: groupId + groupObject.title,\n style: rowStyle,\n className: \"timeline-item-containers\"\n }, _this2.props.options.hideFirstColumn == false ? /*#__PURE__*/React.createElement(\"td\", {\n style: titleStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: labelStyle\n }, groupObject.title)) : null, _this2.renderMultipleBars(_this2.props.rows, groupObject, i));\n rows.push(row);\n }\n },\n groupObject,\n rowStyle,\n row;\n // For each group we iterate the rows and if the group id matches on the row compared to the\n // \"current\" group id we show it, using the this.renderBar method.\n\n for (var i = 0; i < this.state.groups.length; i++) {\n _loop();\n }\n } else {\n // the groups object isnt passed from the parent component\n\n for (var i = 0; i < this.props.rows.length; i++) {\n var rowStyle = {\n cursor: 'pointer'\n };\n var rowObject = this.props.rows[i];\n var row = /*#__PURE__*/React.createElement(\"tr\", {\n key: i,\n style: rowStyle,\n onClick: rowObject.action\n }, this.props.options.hideFirstColumn == false ? /*#__PURE__*/React.createElement(\"td\", {\n style: titleStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: labelStyle\n }, rowObject.title)) : null, /*#__PURE__*/React.createElement(\"td\", {\n style: timelineStyle\n }, this.renderBar(rowObject)));\n rows.push(row);\n }\n }\n } else {\n var row = /*#__PURE__*/React.createElement(\"tr\", {\n key: 0\n }, this.props.options.hideFirstColumn == false ? /*#__PURE__*/React.createElement(\"td\", {\n style: titleStyle\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: labelStyle\n })) : null, /*#__PURE__*/React.createElement(\"td\", {\n style: timelineStyle\n }, /*#__PURE__*/React.createElement(\"span\", null, this.props.options.placeholder != null ? this.props.options.placeholder : 'No Data')));\n rows.push(row);\n }\n return rows;\n }\n }, {\n key: \"drawScale\",\n value: function drawScale() {\n var leftBound = this.props.options.leftBound;\n var rightBound = this.props.options.rightBound;\n var minutes = 0;\n var hours = 0;\n var days = 0;\n var weeks = 0;\n var months = 0;\n var years = moment(rightBound).diff(moment(leftBound), 'years');\n if (years < 2) {\n var months = moment(rightBound).diff(moment(leftBound), 'months');\n if (months < 6) {\n var days = (moment(rightBound).unix() - moment(leftBound).unix()) / 24 / 60 / 60;\n if (days < 2) {\n var hours = moment(rightBound).diff(moment(leftBound), 'hours');\n if (hours < 1) {\n var minutes = moment(rightBound).diff(moment(leftBound), 'minutes');\n this.setState({\n scale: this.calculateScale(minutes, 'minutes')\n });\n } else {\n this.setState({\n scale: this.calculateScale(hours, 'hours')\n });\n }\n } else if (days > 7) {\n var weeks = days / 7;\n this.setState({\n scale: this.calculateScale(weeks, 'weeks')\n }, function () {\n //window.dispatchEvent(new Event('resize'));\n });\n } else {\n this.setState({\n scale: this.calculateScale(days, 'days')\n }, function () {\n //window.dispatchEvent(new Event('resize'));\n });\n }\n } else {\n this.setState({\n scale: this.calculateScale(months, 'months')\n });\n }\n } else {\n this.setState({\n scale: this.calculateScale(years, 'years')\n });\n }\n }\n }, {\n key: \"calculateScale\",\n value: function calculateScale(count, type) {\n var options = this.props.options;\n var difference = moment(options.leftBound).unix();\n var widthByTime = moment(options.rightBound).unix() - difference;\n var scale = null;\n if (options.hideFirstColumn == true) {\n // If we dont render the first td for group names we can't query the second child since theres only one!\n // This crude statement fixes that.\n // This is a very specific statement and should only be in place to fix the error if hideFirstcolumn is set to true\n scale = document.querySelector(\"#\".concat(this.state.tableId, \" thead td:nth-child(1)\"));\n } else {\n scale = document.querySelector(\"#\".concat(this.state.tableId, \" thead td:nth-child(2)\"));\n }\n var widthByPixels = 0;\n if (scale != null) {\n widthByPixels = scale.offsetWidth;\n }\n var markersCount = Math.round(widthByPixels / 100);\n var unitByPixels = widthByPixels / count;\n var maxIntervalWidth = 100;\n if (options.maxIntervalWidth) {\n maxIntervalWidth = options.maxIntervalWidth;\n }\n var unitsPerInterval = 1;\n if (maxIntervalWidth > unitByPixels) {\n unitsPerInterval = Math.floor(maxIntervalWidth / unitByPixels);\n }\n var intervalByPixels = unitsPerInterval * unitByPixels;\n var markersCount = Math.floor(widthByPixels / intervalByPixels) + 1;\n if (markersCount > 4) {\n // Fail safe, no more than 4 weeks. Add one week to markerscount since we start from Monday first week and end last sunday after 3 weeks\n markersCount = 4;\n } else if (markersCount < 4) {\n // Fail safe, we need 4 weeks totalt\n markersCount = 4;\n }\n var intervalByPercent = intervalByPixels / widthByPixels * 100;\n var markers = [];\n var style = {\n margin: '0px',\n padding: '0px',\n width: '25%',\n \"float\": 'left',\n borderLeft: 'none',\n borderWidth: '0px',\n paddingLeft: '10px',\n fontWeight: '400',\n textTransform: 'uppercase',\n fontSize: '0.75em',\n lineHeight: '35px',\n color: '#3A3A3A'\n };\n if (options.labelBorderColor != null) {\n style.borderColor = options.labelBorderColor;\n }\n for (var i = 0; i < markersCount; i++) {\n var date = moment(difference * 1000);\n var formattedInterval, formattedCurrentDate;\n var currentDate = moment();\n switch (type) {\n case 'years':\n date.add(i * unitsPerInterval, 'years');\n formattedInterval = date.format('YYYY MM DD');\n break;\n case 'months':\n date.add(i * unitsPerInterval, 'months');\n formattedInterval = date.format('YYYY MM DD');\n break;\n case 'weeks':\n date.add(i * unitsPerInterval, 'weeks');\n formattedInterval = date.format('YYYY MM DD');\n break;\n case 'days':\n date.add(i * unitsPerInterval, 'days');\n formattedInterval = date.format('YYYY MM DD');\n break;\n case 'hours':\n date.add(i * unitsPerInterval, 'hours');\n formattedInterval = date.format('H:mm');\n case 'minutes':\n date.add(i * unitsPerInterval, 'minutes');\n formattedInterval = date.format('H:mm:ss');\n default:\n }\n if (options && options.intervalFormat) {\n formattedInterval = date.format(options.intervalFormat);\n formattedCurrentDate = currentDate.format(options.intervalFormat);\n }\n var mark = /*#__PURE__*/React.createElement(\"div\", {\n key: i,\n style: style\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: formattedCurrentDate == formattedInterval ? 'current-column' : null\n }, \"\".concat(this.props.weekTranslation, \" \").concat(formattedInterval)));\n markers.push(mark);\n }\n return /*#__PURE__*/React.createElement(\"div\", null, markers);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n var tableStyle = {\n width: '100%',\n overflow: 'hidden'\n };\n var scaleStyle = {\n width: '100%',\n paddingBottom: '2em'\n };\n var popoverStyle = {\n position: 'absolute',\n display: 'none'\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n id: this.state.tableId,\n style: {\n position: 'relative'\n }\n }, /*#__PURE__*/React.createElement(\"table\", {\n style: tableStyle,\n className: \"table table-striped table-bordered table-condensed table-hover\"\n }, /*#__PURE__*/React.createElement(\"thead\", null, /*#__PURE__*/React.createElement(\"tr\", null, this.props.options.hideFirstColumn == false ? /*#__PURE__*/React.createElement(\"td\", null) : null, /*#__PURE__*/React.createElement(\"td\", {\n style: scaleStyle\n }, this.state.scale))), /*#__PURE__*/React.createElement(\"tbody\", null, this.renderRows())), /*#__PURE__*/React.createElement(\"div\", {\n className: \"lines\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"line\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"line\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"line\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"line\"\n })), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize() {\n _this3.drawScale();\n }\n }));\n }\n }]);\n}(Component);\nReactGantt.propTypes = {\n groups: PropTypes.array,\n options: PropTypes.object,\n rows: PropTypes.array\n};\nReactGantt.defaultProps = {\n groups: {},\n options: {},\n rows: {}\n};\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, null, null, {\n pure: false\n})(ReactGantt);","import React from 'react';\nimport { CardsContainer } from './Card';\nimport Card, { CardTitle, CardSubtitle, CardDescription } from './Card';\nfunction renderCards(count) {\n var cards = [];\n for (var i = 0; i < count; i++) {\n cards.push( /*#__PURE__*/React.createElement(Card, {\n key: i,\n type: \"placeholder\"\n }, /*#__PURE__*/React.createElement(CardSubtitle, null), /*#__PURE__*/React.createElement(CardTitle, null), /*#__PURE__*/React.createElement(CardDescription, null)));\n }\n return /*#__PURE__*/React.createElement(CardsContainer, null, cards);\n}\nvar loadingCards = function loadingCards(_ref) {\n var _ref$count = _ref.count,\n count = _ref$count === void 0 ? 3 : _ref$count;\n return /*#__PURE__*/React.createElement(\"div\", null, renderCards(count));\n};\nexport default loadingCards;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport { withRouter, Link } from 'react-router-dom';\nimport { saveWithExpiration, getWithExpiration } from 'helpers/localstorage';\nimport { getGuardianStudentPlans } from 'actions/planning';\nimport ReactGantt from 'containers/Gantt/ReactGantt';\nimport LoadingCards from 'components/Presentation/Cards/LoadingCards';\nimport SectionTitle from 'components/Presentation/SectionTitle';\nimport { Icon, Button, translate, getActiveLanguage } from '@haldor/ui';\nvar MyPlanning = /*#__PURE__*/function (_Component) {\n function MyPlanning(props) {\n var _this;\n _classCallCheck(this, MyPlanning);\n _this = _callSuper(this, MyPlanning, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n if (_this.props.plans == null) {\n _this.props.getGuardianStudentPlans(_this.props.activeStudent.id).then(function () {\n _this.parseRows(_this.props.plans);\n });\n } else if (_this.props.plans != null) {\n _this.parseRows(_this.props.plans);\n _this.props.getGuardianStudentPlans(_this.props.activeStudent.id).then(function () {\n _this.parseRows(_this.props.plans);\n });\n }\n });\n _defineProperty(_this, \"parseRows\", function (plans) {\n var rows = _this.state.rows;\n var groups = _this.state.groups;\n rows = [];\n if (plans != null) {\n plans.map(function (planning) {\n var isInGroups = groups.find(function (g_o) {\n return g_o.id == planning.sectionId;\n });\n if (_this.props.groupid && planning.sectionId != parseInt(_this.props.groupid)) {\n return false;\n }\n if (!isInGroups) {\n var newGroup = {\n id: planning.sectionId,\n title: planning.section.title,\n open: false,\n showGroupTitle: true\n };\n groups.push(newGroup);\n }\n var newRow = {\n title: planning.title,\n id: planning.id,\n borderLeft: \"3px solid #997AE8\",\n startDate: moment(planning.timeStart).toDate(),\n climaxDate: moment(planning.timeStart).add('6', 'hours').toDate(),\n endDate: moment(planning.timeEnd).toDate(),\n group: planning.sectionId,\n planning: planning,\n action: function action() {\n _this.props.history.push(\"/plan/\".concat(planning.id));\n }\n };\n if (_this.props.dateRestriction && planning.status != 'PLANNING_CLOSED') {\n rows.push(newRow);\n } else if (_this.props.dateRestriction == false) {\n rows.push(newRow);\n }\n });\n }\n _this.setState({\n groups: groups,\n rows: rows\n }, function () {\n return true;\n });\n });\n _defineProperty(_this, \"toggleIcon\", function (flip) {\n return /*#__PURE__*/React.createElement(\"i\", {\n className: \"cl-container\"\n }, /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlSpace: \"preserve\",\n className: flip ? \"i-90\" : \"a-90\",\n style: {\n height: \"7px\",\n width: \"15px\"\n }\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_50\",\n \"data-name\": \"Path 50\",\n className: \"cls-1\",\n d: \"M11.361,1.4,6.38,5.9,1.4,1.4\"\n })));\n });\n _defineProperty(_this, \"goToday\", function (event) {\n event.preventDefault();\n var options = _this.state.options;\n var momentDate = moment();\n options.leftBound = momentDate.startOf('week').toDate();\n options.rightBound = momentDate.endOf('week').add(3, 'weeks').toDate();\n localStorage.removeItem('gantt-leftbound');\n localStorage.removeItem('gantt-rightbound');\n _this.setState({\n options: options\n });\n });\n _defineProperty(_this, \"goBackwards\", function (event) {\n event.preventDefault();\n var options = _this.state.options;\n var leftBound = moment(options.leftBound).subtract('1', 'weeks').toDate();\n var maxLeftBound = moment().startOf('week').subtract('20', 'weeks').toDate();\n if (leftBound > maxLeftBound || _this.props.dateRestriction == false) {\n options.leftBound = leftBound;\n options.rightBound = moment(options.rightBound).subtract('1', 'weeks').toDate();\n saveWithExpiration('gantt-leftbound', options.leftBound);\n saveWithExpiration('gantt-rightbound', options.rightBound);\n _this.setState({\n options: options\n });\n }\n });\n _defineProperty(_this, \"goForwards\", function (event) {\n event.preventDefault();\n var options = _this.state.options;\n var rightBound = moment(options.rightBound).add('1', 'weeks').toDate();\n var maxRightBound = moment().endOf('week').add('4', 'weeks').add('20', 'weeks').toDate();\n if (rightBound < maxRightBound || _this.props.dateRestriction == false) {\n options.leftBound = moment(options.leftBound).add('1', 'weeks').toDate();\n options.rightBound = rightBound;\n saveWithExpiration('gantt-leftbound', options.leftBound);\n saveWithExpiration('gantt-rightbound', options.rightBound);\n _this.setState({\n options: options\n });\n }\n });\n var _momentDate = moment();\n var _leftBound = _momentDate.startOf('week').toDate();\n var _rightBound = _momentDate.endOf('week').add(3, 'weeks').toDate();\n if (getWithExpiration('gantt-leftbound') != null) {\n _leftBound = moment(getWithExpiration('gantt-leftbound')).toDate();\n }\n if (getWithExpiration('gantt-rightbound') != null) {\n _rightBound = moment(getWithExpiration('gantt-rightbound')).toDate();\n }\n _this.state = {\n modalIsOpen: false,\n rows: null,\n groups: [],\n options: {\n labelWidth: '20%',\n labelBorderColor: '#E4E4EB',\n labelAppendBeforeFormat: 'Vecka',\n intervalFormat: 'W',\n showBorders: false,\n responsive: true,\n bootstrapped: true,\n leftBound: _leftBound,\n rightBound: _rightBound,\n placeholder: '',\n beforeClimaxColor: 'white',\n afterClimaxColor: 'white',\n hideFirstColumn: true,\n barStyle: {\n height: '120px',\n border: '1px solid #E4E4EB',\n showTitle: true,\n shadow: false,\n borderRadius: '4px',\n hoverPopup: false,\n showGroupTitle: true\n }\n }\n };\n return _this;\n }\n _inherits(MyPlanning, _Component);\n return _createClass(MyPlanning, [{\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.plans != null) {\n this.parseRows(nextProps.plans);\n } else {\n this.setState({\n groups: [],\n rows: null\n }, function () {\n return true;\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state = this.state,\n rows = _this$state.rows,\n groups = _this$state.groups,\n options = _this$state.options;\n var plans = this.props.plans;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n id: \"section-planning\",\n style: {\n margin: 0,\n padding: 0,\n border: 0,\n zIndex: 10,\n position: 'relative'\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"my_planning planning\"\n }, /*#__PURE__*/React.createElement(SectionTitle, null, this.props.dateRestriction || this.props.overview ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n \"float\": 'left'\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Plans\"\n }), /*#__PURE__*/React.createElement(\"span\", null, this.props.translate('Plans')), rows != null && rows.length > 0 ? /*#__PURE__*/React.createElement(Link, {\n to: \"/plans\",\n className: \"see-more\"\n }, this.props.translate('Show all plans')) : \"\") : null, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n \"float\": 'right'\n }\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n style: {\n marginLeft: 0,\n marginRight: '0.5em'\n },\n onClick: this.goBackwards\n }, this.toggleIcon(false), \"\\xA0\"), /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n style: {\n marginLeft: 0,\n marginRight: '0.5em'\n },\n onClick: this.goToday\n }, this.props.translate('Today')), /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n style: {\n marginLeft: 0\n },\n onClick: this.goForwards\n }, this.toggleIcon(true), \"\\xA0\")), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }))), plans != null && rows != null && rows.length == 0 && plans.length == 0 ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"100%\",\n fontWeight: \"500\",\n color: \"#9f9f9f\",\n backgroundColor: \"white\",\n padding: \"2rem\",\n boxShadow: \"0 5px 15px #0000000d\",\n borderRadius: \"3px\"\n }\n }, this.props.translate('There is nothing planned')) : rows != null && rows.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"gantt-container\"\n }, this.props.sections != null ? /*#__PURE__*/React.createElement(ReactGantt, {\n options: options,\n groups: groups,\n rows: rows,\n sections: this.props.sections,\n weekTranslation: 'V'\n }) : /*#__PURE__*/React.createElement(LoadingCards, {\n count: 1\n })) : /*#__PURE__*/React.createElement(LoadingCards, {\n count: 1\n })));\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n plans: state.planning.plans,\n sections: state.groups.groups,\n translate: translate(state.Languages.translations)\n };\n};\nexport default withRouter(connect(mapStateToProps, {\n getGuardianStudentPlans: getGuardianStudentPlans\n})(MyPlanning));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { setPageTitle } from 'actions/header';\nimport { translate } from '@haldor/ui';\nimport MyPlanning from '../Overview/Sections/MyPlans';\nvar AllPlans = /*#__PURE__*/function (_Component) {\n function AllPlans() {\n var _this;\n _classCallCheck(this, AllPlans);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, AllPlans, [].concat(args));\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n _this.props.setPageTitle(_this.props.translate('Plans'));\n });\n return _this;\n }\n _inherits(AllPlans, _Component);\n return _createClass(AllPlans, [{\n key: \"render\",\n value: function render() {\n if (this.props.students == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(MyPlanning, {\n dateRestriction: false\n });\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n students: state.guardians.students,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle\n})(AllPlans);","export var PRESCHOOL = 'PRESCHOOL';\nexport var COMPULSORY_SCHOOL = 'COMPULSORY_SCHOOL';\nexport var UPPER_SECONDARY_EDUCATION = 'UPPER_SECONDARY_EDUCATION';\nexport var ADULT_EDUCATION = 'ADULT_EDUCATION';","export var getDescription = function getDescription(description) {\n try {\n description = description.replace(/amp;/g, '');\n description = description.replace(/amp;wd/g, '');\n description = description.replace(/</g, '<');\n description = description.replace(/>/g, '>');\n description = description.replace(/\\<\\/b\\>/ig, ' ');\n description = description.replace(/\\<\\/i\\>/ig, ' ');\n description = description.replace(/\\<\\/a\\>/ig, ' ');\n description = description.replace(/\\<\\/p\\>/ig, '

');\n description = description.replace(/ /ig, ' ');\n } catch (error) {\n description = description;\n }\n return description;\n};\nexport var getImmersiveReaderDataFromBlocks = function getImmersiveReaderDataFromBlocks(title, blocks) {\n var data = {\n title: title,\n chunks: [{\n content: \"

\" + title + \"

\",\n mimeType: \"text/html\"\n }]\n };\n if (blocks != null) {\n blocks.forEach(function (block) {\n if (block.type == 'Haldor.Blocks.Editor') {\n if (block.title != null && block.title != '') {\n data.chunks.push({\n content: \"

\".concat(block.title, \"

\"),\n mimeType: \"text/html\"\n });\n }\n data.chunks.push({\n content: getDescription(block.value),\n mimeType: \"text/html\"\n });\n }\n });\n }\n return data;\n};\nexport var debounce = function debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n};\nexport var throttle = function throttle(func, limit) {\n var lastFunc;\n var lastRan;\n return function () {\n var context = this;\n var args = arguments;\n if (!lastRan) {\n func.apply(context, args);\n lastRan = Date.now();\n } else {\n clearTimeout(lastFunc);\n lastFunc = setTimeout(function () {\n if (Date.now() - lastRan >= limit) {\n func.apply(context, args);\n lastRan = Date.now();\n }\n }, limit - (Date.now() - lastRan));\n }\n };\n};\n\n/**\n * Capitalize string\n * @param {string} string\n * @returns {string} Capitalized string\n */\nexport var capitalize = function capitalize(string) {\n if (string == null) {\n return '';\n }\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport Moment from 'moment';\nimport { getActiveLanguage } from '@haldor/ui';\nvar FromNow = /*#__PURE__*/function (_Component) {\n function FromNow() {\n _classCallCheck(this, FromNow);\n return _callSuper(this, FromNow, arguments);\n }\n _inherits(FromNow, _Component);\n return _createClass(FromNow, [{\n key: \"capitalizeFirstLetter\",\n value: function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n }, {\n key: \"formatDate\",\n value: function formatDate() {\n Moment.locale(getActiveLanguage());\n return this.capitalizeFirstLetter(Moment(this.props.children).format('LL'));\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"time\", {\n className: \"date\",\n dateTime: this.props.children\n }, this.formatDate());\n }\n }]);\n}(Component);\nexport { FromNow as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component, Fragment } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport moment from \"moment\";\nimport swal from 'sweetalert2';\nimport { clearGuardianStudentDocumentations as clearDocuments, getGuardianStudentDocumentations, getSectionDocumentations } from \"actions/documents\";\nimport { clearGuardianStudentPosts as clearPosts, getGuardianStudentPosts, getSectionPosts } from \"actions/posts\";\nimport { getUnreadNotifications, updateNotificationContentRead } from \"actions/notifications\";\nimport { getGoals } from \"actions\";\nimport { PRESCHOOL } from \"constants/schoolTypes\";\nimport { getDescription } from \"helpers/content\";\nimport LoadingCards from \"components/Presentation/Cards/LoadingCards\";\nimport Date from \"components/Presentation/Dates/Date\";\nimport SectionTitle from \"components/Presentation/SectionTitle\";\nimport Block, { BlockWrapper } from \"UI/Elements/Block\";\nimport { translate, Button, Icon, Checkbox, Floating } from \"@haldor/ui\";\nimport \"./_MyPosts.scss\";\nvar MyPosts = /*#__PURE__*/function (_Component) {\n function MyPosts(props) {\n var _this;\n _classCallCheck(this, MyPosts);\n _this = _callSuper(this, MyPosts, [props]);\n _defineProperty(_this, \"componentDidMount\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var isPreschool;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n isPreschool = _this.props.activeStudent.schools.find(function (school) {\n return school.type == PRESCHOOL;\n }) != null;\n _context.next = 3;\n return _this.props.clearPosts();\n case 3:\n if (!isPreschool) {\n _context.next = 6;\n break;\n }\n _context.next = 6;\n return _this.props.clearDocuments();\n case 6:\n _this.fetchData(_this.state.page);\n if (_this.props.goals.length < 1 && isPreschool) {\n _this.props.getGoals();\n }\n case 8:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n _defineProperty(_this, \"componentWillUnmount\", function () {\n var isPreschool = _this.props.activeStudent.schools.find(function (school) {\n return school.type == PRESCHOOL;\n }) != null;\n _this.props.clearPosts();\n if (isPreschool) {\n _this.props.clearDocuments();\n }\n });\n _defineProperty(_this, \"fetchPages\", function (collections) {\n var isPreschool = _this.props.activeStudent.schools.find(function (school) {\n return school.type == PRESCHOOL;\n }) != null;\n var shouldAdd = function shouldAdd(obj) {\n if (_this.props.limit != null) {\n // Filter out important posts if limit is set\n var SevenDaysAgo = moment(obj.eventDate).subtract(7, \"days\");\n if (obj.important && moment().isSameOrAfter(moment(obj.published), \"day\") && moment(obj.eventDate).isSameOrAfter(moment(), \"day\") && moment().isSameOrAfter(SevenDaysAgo, \"day\")) {\n return false;\n }\n }\n var added = _this.state.combined.findIndex(function (combined) {\n return combined.id == obj.id;\n });\n return added == -1;\n };\n return new Promise(function (resolve) {\n var promises = [];\n collections.map(function (collection) {\n if (collection.items.length <= 0 && collection.page > collection.fetched) {\n if (collection.type == \"DOCUMENTATION\" && !isPreschool) {\n return collection;\n }\n collection.fetched = collection.page;\n var promise = null;\n if (_this.props.groupid != null) {\n promise = collection.fetchPage(_this.props.activeStudent.id, _this.props.groupid, collection.page, _this.pageSize, _this.state.onlyUnreadIsChecked);\n } else {\n promise = collection.fetchPage(_this.props.activeStudent.id, collection.page, _this.pageSize, _this.state.onlyUnreadIsChecked);\n }\n promises.push(promise);\n }\n return collection;\n });\n Promise.all(promises).then(function () {\n collections.map(function (collection) {\n var posts = _this.props.posts;\n var documentations = _this.props.documentations;\n if (_this.props.groupid != null) {\n posts = _this.props.sectionPosts;\n documentations = _this.props.sectionDocumentations;\n }\n switch (collection.type) {\n case \"POST\":\n collection.items = posts.map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n type: \"POST\"\n });\n }).filter(shouldAdd);\n return collection;\n break;\n case \"DOCUMENTATION\":\n collection.items = documentations.map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n type: \"DOCUMENTATION\"\n });\n }).filter(shouldAdd);\n return collection;\n break;\n }\n });\n resolve(collections);\n });\n });\n });\n _defineProperty(_this, \"paginationSort\", function () {\n var page = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n return new Promise( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(resolve) {\n var sortItems, limit, combined, collection, _loop;\n return _regeneratorRuntime.wrap(function _callee2$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n // Offset start and end date by 1 day bc <>\n sortItems = function sortItems(a, b) {\n return moment(b.published).unix() - moment(a.published).unix();\n };\n limit = _this.pageSize * page;\n combined = JSON.parse(JSON.stringify(_this.state.combined));\n collection = [].concat(_toConsumableArray(_this.collections[0].items), _toConsumableArray(_this.collections[1].items)).sort(sortItems);\n if (!(collection.length == 0)) {\n _context3.next = 9;\n break;\n }\n _context3.next = 7;\n return _this.fetchPages(_this.collections);\n case 7:\n _this.collections = _context3.sent;\n collection = [].concat(_toConsumableArray(_this.collections[0].items), _toConsumableArray(_this.collections[1].items)).sort(sortItems);\n case 9:\n if (_this.props.limit != null) {\n limit = _this.props.limit;\n }\n _loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop() {\n var item, collectionInfo, index;\n return _regeneratorRuntime.wrap(function _loop$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n item = collection.shift();\n if (!(item != null)) {\n _context2.next = 18;\n break;\n }\n combined.push(item);\n collectionInfo = _this.collections.find(function (obj) {\n return obj.type == item.type;\n });\n if (!(collectionInfo != null)) {\n _context2.next = 16;\n break;\n }\n index = collectionInfo.items.findIndex(function (obj) {\n return obj.id == item.id && obj.type == item.type;\n });\n if (index > -1) {\n collectionInfo.items.splice(index, 1);\n }\n if (item.type == \"POST\") {\n _this.collections[0] = collectionInfo;\n } else {\n _this.collections[1] = collectionInfo;\n }\n if (!(collectionInfo.items.length <= 0)) {\n _context2.next = 16;\n break;\n }\n //Fetch next page\n collectionInfo.page += 1;\n _context2.next = 12;\n return _this.setState({\n combined: combined\n });\n case 12:\n _context2.next = 14;\n return _this.fetchPages(_this.collections);\n case 14:\n _this.collections = _context2.sent;\n collection = [].concat(_toConsumableArray(_this.collections[0].items), _toConsumableArray(_this.collections[1].items)).sort(sortItems);\n case 16:\n _context2.next = 19;\n break;\n case 18:\n return _context2.abrupt(\"return\", 1);\n case 19:\n case \"end\":\n return _context2.stop();\n }\n }, _loop);\n });\n case 11:\n if (!(combined.length < limit)) {\n _context3.next = 17;\n break;\n }\n return _context3.delegateYield(_loop(), \"t0\", 13);\n case 13:\n if (!_context3.t0) {\n _context3.next = 15;\n break;\n }\n return _context3.abrupt(\"break\", 17);\n case 15:\n _context3.next = 11;\n break;\n case 17:\n _context3.next = 19;\n return _this.setState({\n combined: combined\n });\n case 19:\n resolve(1);\n case 20:\n case \"end\":\n return _context3.stop();\n }\n }, _callee2);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n _defineProperty(_this, \"fetchData\", /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(page) {\n return _regeneratorRuntime.wrap(function _callee3$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _this.setState({\n appending: true\n });\n _context4.next = 3;\n return _this.paginationSort(page);\n case 3:\n _this.setState({\n appending: false\n });\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }, _callee3);\n }));\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n _defineProperty(_this, \"loadMore\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n var page, newPage;\n return _regeneratorRuntime.wrap(function _callee4$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n page = _this.state.page;\n if (!_this.state.appending) {\n _context5.next = 3;\n break;\n }\n return _context5.abrupt(\"return\", false);\n case 3:\n newPage = page + 1;\n _this.setState({\n appending: true\n });\n _context5.next = 7;\n return _this.paginationSort(newPage);\n case 7:\n _this.setState({\n page: newPage,\n appending: false\n });\n case 8:\n case \"end\":\n return _context5.stop();\n }\n }, _callee4);\n })));\n _defineProperty(_this, \"resetCollectionProgress\", function () {\n _this.collections = _this.collections.map(function (collection) {\n collection.page = 1;\n collection.fetched = 0;\n collection.items = [];\n return collection;\n });\n });\n _defineProperty(_this, \"renderContent\", function () {\n var combined = _this.state.combined;\n if (combined.length > 0) {\n return /*#__PURE__*/React.createElement(BlockWrapper, {\n cols: 3\n }, combined != null ? combined.map(function (document) {\n return _this.renderDocument(document);\n }) : null);\n }\n if (_this.state.appending) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n textAlign: \"center\"\n }\n }, _this.props.translate(\"No posts was found\"));\n });\n _defineProperty(_this, \"headerContent\", function (document) {\n var unread = false;\n if (_this.props.unreadNotifications != null && _this.props.unreadNotifications.notifications != null && _this.props.unreadNotifications.notifications.length > 0) {\n unread = _this.props.unreadNotifications.notifications.some(function (n) {\n return n.referenceType == document.type && n.referenceId == document.id && n.studentId == _this.props.activeStudent.id;\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n \"float\": \"left\",\n display: 'inline-flex'\n }\n }, unread ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"unread-container\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"unread-dot\"\n })) : null, document.author != null ? typeof document.author == \"string\" ? document.author : \"\".concat(document.author.firstName != null ? document.author.firstName : \"\", \" \").concat(document.author.lastName != null ? document.author.lastName : \"\") : \" \"), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n \"float\": \"right\"\n }\n }, document.published != null ? /*#__PURE__*/React.createElement(Date, null, moment.utc(document.published).local()) : null), document.important && document.eventDate != null ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n \"float\": \"left\"\n }\n }) : null, document.important && document.eventDate != null && moment() <= moment(document.eventDate) ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n \"float\": \"right\"\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n color: \"red\",\n fontSize: \"0.9em\",\n marginRight: \"8px\"\n }\n }, _this.props.translate(\"Important\"))) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }));\n });\n _defineProperty(_this, \"content\", function (document) {\n if (document.type == \"POST\") {\n var strippedDescription = \"\";\n if (document.abbreviatedDescription != null) {\n strippedDescription = getDescription(document.abbreviatedDescription).replace(/(<([^>]+)>)/gi, \"\");\n if (strippedDescription.length > 99) {\n strippedDescription = strippedDescription.slice(0, 100) + \"…\";\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h3\", null, document.title), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n },\n dangerouslySetInnerHTML: {\n __html: strippedDescription\n }\n }));\n } else {\n if (document.description) {\n var _strippedDescription = getDescription(document.description).replace(/(<([^>]+)>)/gi, \"\");\n if (_strippedDescription.length > 99) {\n _strippedDescription = _strippedDescription.slice(0, 100) + \"…\";\n }\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h3\", null, document.title), /*#__PURE__*/React.createElement(\"p\", {\n style: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n },\n dangerouslySetInnerHTML: {\n __html: _strippedDescription\n }\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h3\", null, document.title));\n }\n });\n _defineProperty(_this, \"footerContent\", function (document) {\n var goals = _this.props.goals;\n if (document.associatedGoals && document.associatedGoals.length > 0) {\n var groups = [];\n if (goals && goals.length > 0) {\n goals.map(function (goal) {\n var inDocument = document.associatedGoals.find(function (goalOb) {\n return goalOb.goalId == goal.id;\n });\n if (typeof inDocument != \"undefined\") {\n var inArray = groups.findIndex(function (i) {\n return i.name == goal.group;\n });\n if (inArray > -1) {\n return groups[inArray].count++;\n } else {\n var group = {\n name: goal.group,\n color: goal.colorCode,\n count: 1\n };\n return groups.push(group);\n }\n }\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", null, _this.props.translate(\"Goals\")), groups.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"goal-preview-container\"\n }, groups.map(function (group) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"goal-\" + group.name,\n className: \"goal-preview\",\n style: {\n backgroundColor: group.color\n }\n }, group.name, \" (\", group.count, \")\");\n })) : null);\n } else {\n return null;\n }\n });\n _defineProperty(_this, \"renderDocument\", function (document) {\n var _file;\n if (_this.props.limit != null && document.important && moment().isSameOrAfter(moment(document.published), \"day\") && moment(document.eventDate).isSameOrAfter(moment(), \"day\") && moment().isSameOrAfter(moment(document.eventDate).subtract(7, \"days\"), \"day\")) {\n return null;\n }\n var expireDate = moment(document.validUntil).hour(23).minute(59);\n if (_this.props.limit != null && document.validUntil != null && expireDate.diff(moment()) < 0) {\n return null;\n }\n var link = \"\";\n if (document.type == \"POST\") {\n link = \"/posts/\" + document.id;\n } else {\n link = \"/documents/\".concat(document.id);\n }\n var file = null;\n if (document.associatedFiles != null && document.associatedFiles.length > 0) {\n file = document.associatedFiles.find(function (file) {\n return file.type && file.type.indexOf(\"image\") > -1;\n });\n }\n return /*#__PURE__*/React.createElement(Block, {\n key: document.id,\n headerContent: _this.headerContent(document),\n image: (_file = file) === null || _file === void 0 ? void 0 : _file.url,\n content: _this.content(document),\n footerContent: _this.footerContent(document),\n link: link\n });\n });\n _defineProperty(_this, \"handleShowOnlyUnreads\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {\n var isPreschool;\n return _regeneratorRuntime.wrap(function _callee5$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n _this.setState(function (prevState) {\n return {\n onlyUnreadIsChecked: !prevState.onlyUnreadIsChecked,\n combined: []\n };\n });\n isPreschool = _this.props.activeStudent.schools.find(function (school) {\n return school.type == PRESCHOOL;\n }) != null;\n if (!isPreschool) {\n _context6.next = 5;\n break;\n }\n _context6.next = 5;\n return _this.props.clearDocuments();\n case 5:\n _context6.next = 7;\n return _this.props.clearPosts();\n case 7:\n _this.resetCollectionProgress();\n _this.fetchData(_this.state.page);\n if (_this.props.goals.length < 1 && isPreschool) {\n _this.props.getGoals();\n }\n case 10:\n case \"end\":\n return _context6.stop();\n }\n }, _callee5);\n })));\n _defineProperty(_this, \"handleMarkAllAsRead\", function () {\n swal({\n title: _this.props.translate('Are you sure?'),\n text: _this.props.translate('Are you sure you want to mark all as read'),\n showCancelButton: true,\n cancelButtonText: _this.props.translate('No, cancel'),\n confirmButtonText: _this.props.translate('Yes')\n }).then(function (result) {\n if (result.value != null && _this.props.unreadNotifications.notifications != null && _this.props.unreadNotifications.notifications.length > 0) {\n var unreadPostAndDocumentationList = _this.props.unreadNotifications.notifications.filter(function (n) {\n return (n.referenceType == 'POST' || n.referenceType == 'DOCUMENTATION') && n.studentId == _this.props.activeStudent.id;\n });\n if (unreadPostAndDocumentationList != null) {\n return new Promise(function (resolve) {\n _this.props.updateNotificationContentRead(unreadPostAndDocumentationList).then(function () {\n resolve(1);\n if (_this.state.onlyUnreadIsChecked) {\n _this.setState({\n combined: []\n });\n }\n _this.props.getUnreadNotifications(_this.props.activeStudent.id);\n });\n });\n }\n }\n });\n });\n _this.state = {\n appending: false,\n page: 1,\n combined: [],\n onlyUnreadIsChecked: false\n };\n _this.collections = [{\n type: \"POST\",\n items: [],\n fetched: 0,\n page: 1,\n fetchPage: _this.props.getGuardianStudentPosts,\n unread: _this.state.onlyUnreadIsChecked\n }, {\n type: \"DOCUMENTATION\",\n items: [],\n fetched: 0,\n page: 1,\n fetchPage: _this.props.getGuardianStudentDocumentations,\n unread: _this.state.onlyUnreadIsChecked\n }];\n if (props.groupid != null) {\n _this.collections = _this.collections.map(function (collection) {\n if (collection.type == \"POST\") {\n collection.fetchPage = _this.props.getSectionPosts;\n }\n if (collection.type == \"DOCUMENTATION\") {\n collection.fetchPage = _this.props.getSectionDocumentations;\n }\n return collection;\n });\n }\n _this.pageSize = _this.props.limit === 3 ? 6 : 15;\n return _this;\n }\n _inherits(MyPosts, _Component);\n return _createClass(MyPosts, [{\n key: \"render\",\n value: function render() {\n var _this$state = this.state,\n appending = _this$state.appending,\n combined = _this$state.combined;\n var limit = this.props.limit;\n var importantPosts = [];\n if (limit != null) {\n this.props.posts.forEach(function (post) {\n var SevenDaysAgo = moment(post.eventDate).subtract(7, \"days\");\n if (post.important && moment().isSameOrAfter(moment(post.published), \"day\") && moment(post.eventDate).isSameOrAfter(moment(), \"day\") && moment().isSameOrAfter(SevenDaysAgo, \"day\")) {\n importantPosts.push(post);\n }\n });\n importantPosts.sort(function (a, b) {\n return moment(a.eventDate) - moment(b.eventDate);\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"preschooldocuments\"\n }, importantPosts.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"post-content\",\n style: {\n borderBottom: \"1px solid #DFE1E2\",\n marginBottom: \"3.2em\",\n paddingBottom: \"1.9em\"\n }\n }, /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(Icon, {\n name: \"Post\"\n }), /*#__PURE__*/React.createElement(\"span\", null, this.props.translate(\"Important posts\"))), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: \"both\"\n }\n }), importantPosts.map(function (post) {\n return /*#__PURE__*/React.createElement(Link, {\n to: \"/posts/\".concat(post.id),\n style: {\n display: \"inline-block\",\n textDecoration: \"none\",\n color: \"inherit\"\n },\n key: post.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-container\",\n style: {\n display: \"inline-block\",\n margin: \"5px\"\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-content\",\n style: {\n padding: \"0.8rem\"\n }\n }, /*#__PURE__*/React.createElement(\"h3\", null, post.title))));\n })) : null, limit != null ? /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(Icon, {\n name: \"Post\"\n }), /*#__PURE__*/React.createElement(\"span\", null, this.props.translate(\"Recent Posts\"))) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"posts-section-container\"\n }, limit == null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"post-button-container\"\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n onClick: this.handleMarkAllAsRead,\n disabled: this.props.unreadNotifications.notifications != null && this.props.unreadNotifications.notifications.length > 0 && this.props.unreadNotifications.notifications.some(function (n) {\n return n.referenceType == 'POST' || n.referenceType == 'DOCUMENTATION';\n }).length > 0 ? true : this.props.unreadNotifications.notifications == null || this.props.unreadNotifications.notifications.length == 0 || combined.length == 0 ? true : false\n }, this.props.translate(\"Mark all as read\"))) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"posts-content\"\n }, this.renderContent(), appending ? /*#__PURE__*/React.createElement(LoadingCards, {\n count: 3\n }) : null, !appending && limit == null && combined.length > 0 ? /*#__PURE__*/React.createElement(Fragment, null, this.state.combined.length % this.pageSize < 1 || this.state.combined.length == this.pageSize * this.state.page ? /*#__PURE__*/React.createElement(Button, {\n style: {\n margin: \"2em auto\",\n display: \"block\"\n },\n type: \"secondary\",\n onClick: this.loadMore\n }, this.props.translate(\"Load more\")) : null) : null, limit != null && !appending ? /*#__PURE__*/React.createElement(Link, {\n to: \"/posts\",\n className: \"show-more-posts\"\n }, this.props.translate(\"Show more posts\")) : null), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: \"both\"\n }\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n translate: translate(state.Languages.translations),\n documentations: state.documents.documentations,\n posts: state.posts.posts,\n unreadNotifications: state.Notifications.unreadNotifications,\n sectionDocumentations: state.documents.sectionDocumentations,\n sectionPosts: state.posts.sectionPosts,\n goals: state.base.goals\n };\n}\nexport default connect(mapStateToProps, {\n getGuardianStudentPosts: getGuardianStudentPosts,\n getSectionPosts: getSectionPosts,\n getGuardianStudentDocumentations: getGuardianStudentDocumentations,\n getSectionDocumentations: getSectionDocumentations,\n getGoals: getGoals,\n getUnreadNotifications: getUnreadNotifications,\n updateNotificationContentRead: updateNotificationContentRead,\n clearDocuments: clearDocuments,\n clearPosts: clearPosts\n})(MyPosts);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { setPageTitle } from 'actions/header';\nimport MyPosts from '../Overview/Sections/MyPosts';\nimport { translate } from '@haldor/ui';\nvar AllPosts = /*#__PURE__*/function (_Component) {\n function AllPosts() {\n var _this;\n _classCallCheck(this, AllPosts);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, AllPosts, [].concat(args));\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n _this.props.setPageTitle(_this.props.translate('Posts'));\n });\n return _this;\n }\n _inherits(AllPosts, _Component);\n return _createClass(AllPosts, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page\"\n }, this.props.students != null ? /*#__PURE__*/React.createElement(MyPosts, null) : null);\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n students: state.guardians.students,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle\n})(AllPosts);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport Moment from 'moment';\nimport { getActiveLanguage } from '@haldor/ui';\nvar FromNow = /*#__PURE__*/function (_Component) {\n function FromNow() {\n _classCallCheck(this, FromNow);\n return _callSuper(this, FromNow, arguments);\n }\n _inherits(FromNow, _Component);\n return _createClass(FromNow, [{\n key: \"icon\",\n value: function icon() {\n return /*#__PURE__*/React.createElement(\"svg\", {\n id: \"Lager_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n xmlSpace: \"preserve\",\n viewBox: \"0 0 12 12\"\n }, /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, '.st0{fill:none;stroke:#1D1D1B;stroke-width:1.2756;stroke-linecap:round;stroke-miterlimit:10;}'), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st0\",\n cx: \"6\",\n cy: \"6.7\",\n r: \"4.4\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"6\",\n y1: \"3.9\",\n x2: \"6\",\n y2: \"6.7\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"6\",\n y1: \"2.1\",\n x2: \"6\",\n y2: \"1.1\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"5.1\",\n y1: \"0.8\",\n x2: \"6.9\",\n y2: \"0.8\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"6\",\n y1: \"6.7\",\n x2: \"7.3\",\n y2: \"5.6\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"st0\",\n x1: \"9.4\",\n y1: \"3.8\",\n x2: \"10.1\",\n y2: \"3.2\"\n })));\n }\n }, {\n key: \"capitalizeFirstLetter\",\n value: function capitalizeFirstLetter(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n }, {\n key: \"formatDate\",\n value: function formatDate() {\n Moment.locale(getActiveLanguage());\n return this.capitalizeFirstLetter(Moment.utc(this.props.children).local().fromNow());\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"time\", {\n className: \"from-now card-meta\",\n dateTime: this.props.children\n }, this.icon(), this.formatDate());\n }\n }]);\n}(Component);\nexport { FromNow as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport Card, { CardTitle, CardSubtitle, CardDescription, CardFooter } from \"./Cards/Card\";\nimport FromNow from \"./Dates/FromNow\";\nimport { ColorLabelContainer, ColorLabel } from \"UI\";\nvar Task = /*#__PURE__*/function (_Component) {\n function Task(props) {\n var _this;\n _classCallCheck(this, Task);\n _this = _callSuper(this, Task, [props]);\n _defineProperty(_this, \"renderAssignmentTaskStatusIcon\", function (currentStatus) {\n if (currentStatus == null) return null;\n var statusIcons = [{\n id: 'ASSIGNMENT_TASK_NOT_STARTED',\n url: '/dist/svg/Status_notStarted-ico.svg'\n }, {\n id: 'ASSIGNMENT_TASK_STARTED',\n url: '/dist/svg/Status_started-ico.svg'\n }, {\n id: 'ASSIGNMENT_TASK_SUBMITTED',\n url: '/dist/svg/Status_submitted-ico.svg'\n }, {\n id: 'ASSIGNMENT_TASK_NOT_COMPLETE',\n url: '/dist/svg/Status_notComplete-ico.svg'\n }, {\n id: 'ASSIGNMENT_TASK_CAN_DEVELOP',\n url: '/dist/svg/Status_canDevelop-ico.svg'\n }];\n var icon = statusIcons.find(function (icon) {\n return icon.id == currentStatus.id;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n marginRight: '0.5rem'\n }\n }, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n width: '20px',\n marginRight: '0.3rem'\n },\n src: icon.url,\n alt: \"task status\"\n }), /*#__PURE__*/React.createElement(\"div\", null, currentStatus.value));\n });\n _this.state = {\n color: _this.props.hasOwnProperty(\"color\") ? _this.props.color : \"\"\n };\n return _this;\n }\n _inherits(Task, _Component);\n return _createClass(Task, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var status = \"\";\n if (this.props.status != null) {\n var statusObject = this.props.status.assignmentTypes.find(function (type) {\n return type.id == _this2.props.assignment.assignmentType;\n });\n if (statusObject != null) {\n status = statusObject.value;\n } else {\n if (this.props.assignment.externalId != null) {\n status = \"Teams\";\n }\n }\n }\n var task = this.props.assignment.tasks != null && this.props.assignment.tasks.length > 0 ? this.props.assignment.tasks[0] : null;\n var currentAssignmentTaskStatus = null;\n if (task != null) {\n currentAssignmentTaskStatus = this.props.status.assignmentTaskStatus.find(function (ats) {\n return ats.id == task.status;\n });\n }\n var id = this.props.assignment.id;\n if (this.props.assignment.externalId != null) {\n id = this.props.assignment.externalId;\n }\n var descriptionMaxLength = 35;\n return /*#__PURE__*/React.createElement(Card, {\n id: id,\n type: \"task\",\n key: this.props.assignment.id,\n color: this.state.color\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"task-meta-container\"\n }, currentAssignmentTaskStatus != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\"\n }, this.renderAssignmentTaskStatusIcon(currentAssignmentTaskStatus)) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\"\n }, status), this.props.assignment.assessmentId != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\"\n }, \"Bed\\xF6md\") : null, /*#__PURE__*/React.createElement(FromNow, null, this.props.assignment.dueDate)), /*#__PURE__*/React.createElement(CardSubtitle, null, this.props.assignment.sectionTitle), /*#__PURE__*/React.createElement(CardTitle, null, this.props.assignment.title), this.props.assignment.courses ? /*#__PURE__*/React.createElement(ColorLabelContainer, null, this.props.assignment.courses.map(function (course) {\n var text = course.title;\n text = course.year != null ? text + \" \" + course.year : text;\n return /*#__PURE__*/React.createElement(ColorLabel, {\n key: course.id,\n tooltip: text,\n color: course.colorCode\n });\n })) : null);\n }\n }]);\n}(Component);\nexport { Task as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport moment from 'moment';\nimport { getGuardianStudentAssignments, getTeamsAssignments } from 'actions/assignments';\nimport LoadingCards from 'components/Presentation/Cards/LoadingCards';\nimport Task from 'components/Presentation/Task';\nimport SectionTitle from 'components/Presentation/SectionTitle';\nimport { CardsContainer } from 'components/Presentation/Cards/Card';\nimport { Expandable } from 'UI';\nimport { Icon, translate } from '@haldor/ui';\nvar MyTasks = /*#__PURE__*/function (_Component) {\n function MyTasks(props) {\n var _this;\n _classCallCheck(this, MyTasks);\n _this = _callSuper(this, MyTasks, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var promises = [];\n if (_this.props.activeStudent != null && _this.props.activeStudent.services.haldor && (_this.props.assignments == null || _this.props.assignments.length == 0)) {\n var haldorAssignmentsPromise = _this.props.getGuardianStudentAssignments(_this.props.activeStudent.id);\n promises.push(haldorAssignmentsPromise);\n }\n if (_this.props.activeStudent != null && _this.props.activeStudent.services.microsoft && (_this.props.assignments == null || _this.props.assignments.length == 0)) {\n var teamsAssignmentsPromise = _this.props.getTeamsAssignments(_this.props.activeStudent.id);\n promises.push(teamsAssignmentsPromise);\n }\n Promise.all(promises).then(function () {\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"renderContent\", function () {\n if (_this.state.loading) {\n return /*#__PURE__*/React.createElement(LoadingCards, {\n count: 3\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", null, _this.renderOverdue(), _this.renderCurrent(), _this.renderUpcoming(), _this.renderSubmitted());\n });\n _defineProperty(_this, \"renderOverdue\", function () {\n var limit = 99999;\n if (_this.props.limit != null && _this.props.limit) {\n limit = _this.props.limit;\n }\n var list = _this.props.overdue;\n if (_this.props.groupid != null) {\n list = list.filter(function (t) {\n return t.sectionId == _this.props.groupid;\n });\n }\n if (_this.props.plan != null) {\n list = list.filter(function (t) {\n return _this.props.plan.find(function (d) {\n return d.assignmentId == t.id;\n }) != null;\n });\n }\n if (list.length == 0) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Expandable, {\n open: false,\n title: _this.props.translate('Overdue')\n }, /*#__PURE__*/React.createElement(CardsContainer, null, list.map(function (assignment, index) {\n if (index < limit) {\n return /*#__PURE__*/React.createElement(Task, {\n key: assignment.id != -1 ? assignment.id : assignment.externalId,\n assignment: assignment,\n status: _this.props.status\n });\n }\n })), _this.props.limit != null ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: '100%',\n textAlign: 'center',\n display: 'block'\n }\n }, /*#__PURE__*/React.createElement(Link, {\n style: {\n color: '#ccc',\n textDecoration: 'none'\n },\n to: \"/assignments\"\n }, _this.props.translate('Show all'))) : null);\n });\n _defineProperty(_this, \"renderCurrent\", function () {\n var limit = 99999;\n if (_this.props.limit != null && _this.props.limit) {\n limit = _this.props.limit;\n }\n var list = _this.props.current;\n if (_this.props.groupid != null) {\n list = list.filter(function (t) {\n return t.sectionId == _this.props.groupid;\n });\n }\n if (_this.props.plan != null) {\n list = list.filter(function (t) {\n return _this.props.plan.find(function (d) {\n return d.assignmentId == t.id;\n }) != null;\n });\n }\n if (list.length == 0) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Expandable, {\n open: true,\n title: _this.props.translate('Assignment_Assigned')\n }, /*#__PURE__*/React.createElement(CardsContainer, null, list.map(function (assignment, index) {\n if (index < limit) {\n return /*#__PURE__*/React.createElement(Task, {\n key: assignment.id != -1 ? assignment.id : assignment.externalId,\n assignment: assignment,\n status: _this.props.status\n });\n }\n })), _this.props.limit != null ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: '100%',\n textAlign: 'center',\n display: 'block'\n }\n }, /*#__PURE__*/React.createElement(Link, {\n style: {\n color: '#ccc',\n textDecoration: 'none'\n },\n to: \"/assignments\"\n }, _this.props.translate('Show all'))) : null);\n });\n _defineProperty(_this, \"renderUpcoming\", function () {\n var limit = 99999;\n if (_this.props.limit != null && _this.props.limit) {\n limit = _this.props.limit;\n }\n var list = _this.props.upcoming;\n if (_this.props.groupid != null) {\n list = list.filter(function (t) {\n return t.sectionId == _this.props.groupid;\n });\n }\n if (_this.props.plan != null) {\n list = list.filter(function (t) {\n return _this.props.plan.find(function (d) {\n return d.assignmentId == t.id;\n }) != null;\n });\n }\n if (list.length == 0) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Expandable, {\n open: false,\n title: _this.props.translate('Upcoming')\n }, /*#__PURE__*/React.createElement(CardsContainer, null, list.map(function (assignment, index) {\n if (index < limit) {\n return /*#__PURE__*/React.createElement(Task, {\n key: assignment.id != -1 ? assignment.id : assignment.externalId,\n assignment: assignment,\n status: _this.props.status\n });\n }\n })), _this.props.limit != null ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: '100%',\n textAlign: 'center',\n display: 'block'\n }\n }, /*#__PURE__*/React.createElement(Link, {\n style: {\n color: '#ccc',\n textDecoration: 'none'\n },\n to: \"/assignments\"\n }, _this.props.translate('Show all'))) : null);\n });\n _defineProperty(_this, \"renderSubmitted\", function () {\n var limit = 99999;\n if (_this.props.limit != null && _this.props.limit) {\n limit = _this.props.limit;\n }\n var list = _this.props.submitted;\n if (_this.props.groupid != null) {\n list = list.filter(function (t) {\n return t.sectionId == _this.props.groupid;\n });\n }\n if (_this.props.plan != null) {\n list = list.filter(function (t) {\n return _this.props.plan.find(function (d) {\n return d.assignmentId == t.id;\n }) != null;\n });\n }\n if (list.length == 0) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Expandable, {\n open: false,\n title: _this.props.translate('Assignment_Completed')\n }, /*#__PURE__*/React.createElement(CardsContainer, null, list.map(function (assignment, index) {\n if (index < limit) {\n return /*#__PURE__*/React.createElement(Task, {\n key: assignment.id != -1 ? assignment.id : assignment.externalId,\n assignment: assignment,\n status: _this.props.status\n });\n }\n })), _this.props.limit != null ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: '100%',\n textAlign: 'center',\n display: 'block'\n }\n }, /*#__PURE__*/React.createElement(Link, {\n style: {\n color: '#ccc',\n textDecoration: 'none'\n },\n to: \"/assignments\"\n }, _this.props.translate('Show all'))) : null);\n });\n _this.state = {\n lists: [],\n tasks: null,\n loading: true\n };\n return _this;\n }\n _inherits(MyTasks, _Component);\n return _createClass(MyTasks, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n id: \"section-assignment\",\n style: {\n margin: 0,\n padding: 0,\n border: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"my_tasks\"\n }, this.props.overview ? /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(Icon, {\n name: \"Assignments\"\n }), /*#__PURE__*/React.createElement(\"span\", null, this.props.translate('Assignments/Homework')), this.props.limit != null ? /*#__PURE__*/React.createElement(Link, {\n to: \"/assignments\",\n className: \"see-more\"\n }, this.props.translate('Show all assignments')) : null) : null, this.renderContent()));\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n assignments: state.assignments.assignments,\n tasks: state.assignments.assignments,\n overdue: state.assignments.overdue,\n current: state.assignments.current,\n upcoming: state.assignments.upcoming,\n submitted: state.assignments.submitted,\n status: state.base.status,\n sections: state.groups.groups,\n translate: translate(state.Languages.translations)\n };\n};\nexport default connect(mapStateToProps, {\n getGuardianStudentAssignments: getGuardianStudentAssignments,\n getTeamsAssignments: getTeamsAssignments\n})(MyTasks);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n/* Import dependencies for task.js */\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { setPageTitle } from 'actions/header';\nimport MyTasks from '../Overview/Sections/MyTasks';\nimport { translate } from '@haldor/ui';\nvar AllTasks = /*#__PURE__*/function (_Component) {\n function AllTasks() {\n var _this;\n _classCallCheck(this, AllTasks);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, AllTasks, [].concat(args));\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n _this.props.setPageTitle(_this.props.translate('Assignments'));\n });\n return _this;\n }\n _inherits(AllTasks, _Component);\n return _createClass(AllTasks, [{\n key: \"render\",\n value: function render() {\n if (this.props.students == null) {\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n if (this.props.match.params.groupid != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page\"\n }, /*#__PURE__*/React.createElement(MyTasks, {\n groupid: this.props.match.params.groupid\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page\"\n }, /*#__PURE__*/React.createElement(MyTasks, null));\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n students: state.guardians.students,\n translate: translate(state.Languages.translations)\n };\n};\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle\n})(AllTasks);","import { getActiveLanguage, setActiveLanguage } from '@haldor/ui';\nimport { putProfileInformation } from 'actions/profile';\nexport var languages = function languages() {\n var languages = [{\n svg_src: '/dist/svg/se.svg',\n label: 'Svenska',\n lcid: 'sv-SE'\n }, {\n svg_src: '/dist/svg/gb.svg',\n label: 'English',\n lcid: 'en-US'\n }, {\n svg_src: '/dist/svg/no.svg',\n label: 'Norsk',\n lcid: 'nb-NO'\n }, {\n svg_src: '/dist/svg/dk.svg',\n label: 'Dansk',\n lcid: 'da-DK'\n }, {\n svg_src: '/dist/svg/uk.svg',\n label: 'Український',\n lcid: 'uk'\n }];\n return languages;\n};\nexport var getLanguage = function getLanguage() {\n var activeLanguage = languages().find(function (x) {\n return x.lcid.toLowerCase() == getActiveLanguage().toLowerCase();\n });\n return activeLanguage;\n};\nexport var setLanguage = function setLanguage(lcid, profile) {\n setActiveLanguage(lcid);\n if (profile != null) {\n profile.lcid = lcid;\n putProfileInformation(profile);\n }\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { withRouter, Link } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { setActiveStudent, setActiveSchool } from 'actions/user';\nimport { getProfileInformation, putProfileInformation } from 'actions/profile';\nimport { getUnreadNotifications } from 'actions/notifications';\nimport swal from 'sweetalert2';\nimport { Icon, Menu, translate, getActiveLanguage } from '@haldor/ui';\nimport { languages, setLanguage, getLanguage } from './LanguageManager';\nimport './index.scss';\nvar AppMenu = /*#__PURE__*/function (_Component) {\n function AppMenu() {\n var _this;\n _classCallCheck(this, AppMenu);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, AppMenu, [].concat(args));\n _defineProperty(_this, \"componentDidMount\", function () {});\n _defineProperty(_this, \"switchStudent\", /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(student) {\n var index;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.props.setActiveStudent(student)[\"catch\"](function (e) {});\n case 2:\n if (_context.sent) {\n _context.next = 7;\n break;\n }\n // inactive student\n // Remove student from list\n index = _this.props.students.findIndex(function (s) {\n return s.id == student.id;\n });\n if (index > -1) {\n _this.props.students.splice(index, 1); // Remove student\n }\n\n // Show error message\n swal({\n title: _this.props.translate('Inactive student'),\n text: _this.props.translate('This student is inactive. If that´s incorrect, please contact your school'),\n confirmButtonText: _this.props.translate('ok')\n }).then(function () {\n _this.props.history.push(\"/\"); //Navigate home, to trigger update of students in the menu\n });\n return _context.abrupt(\"return\");\n case 7:\n student = _this.props.activeStudent;\n _context.next = 10;\n return _this.props.setActiveSchool(student.schools[0].id, student.id);\n case 10:\n _this.props.history.push(\"/switchschool\");\n _this.props.getUnreadNotifications(_this.props.activeStudent.id);\n case 12:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n _defineProperty(_this, \"switchSchool\", /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(school, userId) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this.props.setActiveSchool(school, userId);\n case 2:\n _this.props.history.push(\"/switchschool\");\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x2, _x3) {\n return _ref2.apply(this, arguments);\n };\n }());\n _defineProperty(_this, \"getBadgeForItem\", function (item) {\n if (_this.props.unreadNotifications != null) {\n if (item.url == '/conversations') {\n if (_this.props.unreadNotifications.conversations != null && parseInt(_this.props.unreadNotifications.conversations) > 0) {\n return _this.props.unreadNotifications.conversations;\n }\n }\n if (item.url == '/notifications') {\n if (_this.props.unreadNotifications.events != null && parseInt(_this.props.unreadNotifications.events) > 0) {\n return _this.props.unreadNotifications.events;\n }\n }\n if (item.url == '/posts') {\n if (_this.props.unreadNotifications.posts != null && parseInt(_this.props.unreadNotifications.posts) > 0 || _this.props.unreadNotifications.documentations != null && parseInt(_this.props.unreadNotifications.documentations) > 0) {\n var _this$props$unreadNot, _this$props$unreadNot2;\n return ((_this$props$unreadNot = _this.props.unreadNotifications.posts) !== null && _this$props$unreadNot !== void 0 ? _this$props$unreadNot : 0) + ((_this$props$unreadNot2 = _this.props.unreadNotifications.documentations) !== null && _this$props$unreadNot2 !== void 0 ? _this$props$unreadNot2 : 0);\n }\n }\n }\n return null;\n });\n _defineProperty(_this, \"linkTexts\", function (value) {\n switch (value) {\n case \"NAV_HOME\":\n return _this.props.translate('Home');\n break;\n case \"NAV_SCHEDULE\":\n return _this.props.translate('Schedule');\n break;\n case \"NAV_POSTS\":\n return _this.props.translate('Posts');\n break;\n case \"NAV_ASSIGNMENTS\":\n return _this.props.translate('Assignments');\n break;\n case \"NAV_PLANS\":\n return _this.props.translate('Plans');\n break;\n case \"NAV_MESSAGES\":\n return _this.props.translate('Messages');\n break;\n case \"NAV_NOTIFICATIONS\":\n return _this.props.translate('Events');\n break;\n case \"NAV_FORMS\":\n return _this.props.translate('Forms');\n break;\n case \"NAV_MEETINGS\":\n return _this.props.translate('Parent-teacher meeting');\n break;\n case \"NAV_ABSENCE\":\n return _this.props.translate('Absence');\n break;\n case \"NAV_ATTENDANCE\":\n return _this.props.translate('Attendance');\n break;\n case \"NAV_COURSES\":\n return _this.props.translate('Courses');\n break;\n case \"NAV_GROUPS\":\n return _this.props.translate('Groups');\n break;\n case \"NAV_ABSENCE\":\n return _this.props.translate('Absence');\n break;\n case \"NAV_PROGRESS\":\n return _this.props.translate('Progress');\n break;\n default:\n return value;\n break;\n }\n });\n _defineProperty(_this, \"categoryText\", function (value) {\n switch (value) {\n case \"EDUCATION\":\n return _this.props.translate('Education');\n break;\n case \"MENTOR\":\n return _this.props.translate('Mentor');\n break;\n case \"ADMINISTRATION\":\n return _this.props.translate('Administration');\n break;\n default:\n return value;\n break;\n }\n });\n _defineProperty(_this, \"getUserMenu\", function () {\n var translate = _this.props.translate;\n var userMenu = [];\n userMenu.push({\n onClick: function onClick() {\n return _this.props.history.push(\"/profile\");\n },\n onKeyDown: function onKeyDown(event) {\n event.key == \"Enter\" ? event.target.click() : null;\n },\n label: /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n style: {\n textDecoration: \"none\",\n color: \"inherit\"\n }\n }, translate('Your information'))\n });\n userMenu.push({\n onClick: function onClick() {\n return _this.props.history.push(\"/logout\");\n },\n onKeyDown: function onKeyDown(event) {\n event.key == \"Enter\" ? event.target.click() : null;\n },\n label: /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n style: {\n textDecoration: \"none\",\n color: \"inherit\"\n }\n }, translate('Sign out'))\n });\n return userMenu;\n });\n _defineProperty(_this, \"getLanguageMenu\", function () {\n var languageMenu = [];\n languages().forEach(function (language) {\n languageMenu.push({\n onKeyDown: function onKeyDown(event) {\n event.key == \"Enter\" ? event.target.click() : null;\n },\n onClick: function onClick() {\n return setLanguage(language.lcid, _this.props.profile);\n },\n label: getActiveLanguage().toLowerCase() == language.lcid.toLowerCase() ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n fontWeight: \"bold\",\n display: \"flex\",\n justifyContent: \"space-between\"\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n tabIndex: 0,\n style: {\n display: \"flex\",\n alignItems: \"center\"\n }\n }, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n height: \"14px\",\n width: \"20px\",\n objectFit: \"cover\",\n marginRight: \"10px\",\n borderRadius: \"2px\"\n },\n alt: language.label,\n src: language.svg_src\n }), \" \", language.label), /*#__PURE__*/React.createElement(Icon, {\n name: \"check\",\n style: {\n marginLeft: \"1rem\"\n }\n })) : /*#__PURE__*/React.createElement(\"span\", {\n tabIndex: 0,\n style: {\n display: \"flex\",\n alignItems: \"center\"\n }\n }, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n height: \"14px\",\n width: \"20px\",\n objectFit: \"cover\",\n marginRight: \"10px\",\n borderRadius: \"2px\"\n },\n alt: language.label,\n src: language.svg_src\n }), \" \", language.label)\n });\n });\n return languageMenu;\n });\n return _this;\n }\n _inherits(AppMenu, _Component);\n return _createClass(AppMenu, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n activeSchool = _this$props.activeSchool,\n activeStudent = _this$props.activeStudent,\n translate = _this$props.translate,\n profile = _this$props.profile;\n var students = [];\n var schools = [];\n var categories = [];\n var schoolTitle = '';\n var userMenu = this.getUserMenu();\n var languageMenu = this.getLanguageMenu();\n var displayActiveLanguage = getLanguage();\n var notCurrentStudentHaveUnreads = false;\n if (this.props.students.length > 1) {\n if (this.props.unreadNotifications != null && this.props.unreadNotifications.notificationsPerStudent != null && this.props.unreadNotifications.notificationsPerStudent.length > 0) {\n notCurrentStudentHaveUnreads = this.props.unreadNotifications.notificationsPerStudent.find(function (n) {\n return n.studentId !== _this2.props.activeStudent.id && n.unreadMessages > 0;\n }) || false;\n }\n this.props.students.forEach(function (student) {\n var label = student.firstName + ' ' + student.lastName;\n var haveUnreads = false;\n\n // Find out if user have unread conversations/posts/documentaions on current child/student\n if (_this2.props.unreadNotifications != null && _this2.props.unreadNotifications.notificationsPerStudent != null && _this2.props.unreadNotifications.notificationsPerStudent.length > 0) {\n haveUnreads = _this2.props.unreadNotifications.notificationsPerStudent.find(function (n) {\n return n.studentId === student.id && n.unreadMessages > 0;\n }) || false;\n }\n var badge = haveUnreads ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge\",\n style: {\n display: 'inline-flex',\n justifyContent: 'center',\n transform: 'none',\n borderRadius: '100%',\n position: 'static',\n margin: '0 0 0.2rem 0.4rem',\n width: '18px',\n height: '18px'\n }\n }) : null;\n if (student.id == _this2.props.student.id) {\n label = /*#__PURE__*/React.createElement(\"span\", {\n tabIndex: 0,\n style: {\n fontWeight: \"bold\"\n }\n }, label, \" \", /*#__PURE__*/React.createElement(Icon, {\n style: {\n marginLeft: \"1rem\"\n },\n name: \"check\"\n }), \" \");\n } else {\n label = /*#__PURE__*/React.createElement(\"span\", {\n tabIndex: 0,\n style: {\n display: 'flex',\n alignItems: 'center'\n }\n }, label, \" \", badge);\n }\n students.push({\n label: label,\n onClick: function onClick() {\n return _this2.switchStudent(student);\n },\n onKeyDown: function onKeyDown(event) {\n event.key == \"Enter\" ? event.target.click() : null;\n }\n });\n });\n }\n this.props.student.schools.forEach(function (school) {\n var title = school.title;\n if (school.id == activeSchool) {\n schoolTitle = title;\n title = /*#__PURE__*/React.createElement(\"span\", null, /*#__PURE__*/React.createElement(Icon, {\n name: \"check\"\n }), \" \", title);\n }\n schools.push({\n label: title,\n onClick: function onClick() {\n return _this2.switchSchool(school.id, activeStudent.id);\n }\n });\n });\n if (this.props.items != null) {\n this.props.items.forEach(function (item) {\n if (item.parentId != null && item.parentId != '') {\n if (categories.indexOf(item.parentId) == -1) {\n categories.push(item.parentId);\n }\n }\n });\n }\n return /*#__PURE__*/React.createElement(Menu, null, this.props.items != null ? this.props.items.map(function (item, index) {\n if (item.parentId != null && item.parentId != '') {\n return null;\n }\n if (item.type == 'EXTERNAL') {\n return null;\n }\n return /*#__PURE__*/React.createElement(Menu.Item, {\n key: 'item-' + index,\n label: _this2.linkTexts(item.text),\n Link: Link,\n to: item.url,\n icon: /*#__PURE__*/React.createElement(Icon, {\n name: item.iconId\n }),\n exact: true,\n badge: _this2.getBadgeForItem(item),\n onClick: item.url == '/' ? function () {\n return _this2.props.getUnreadNotifications(_this2.props.activeStudent.id);\n } : null\n });\n }) : null, categories.map(function (category, catindex) {\n return /*#__PURE__*/React.createElement(Menu.Divider, {\n key: 'divider' + catindex,\n label: _this2.categoryText(category.text)\n }, _this2.props.items.map(function (item, index) {\n if (item.parentId != null && item.parentId == category) {\n return /*#__PURE__*/React.createElement(Menu.Item, {\n key: 'item-' + index,\n label: _this2.linkTexts(item.text),\n Link: Link,\n to: item.url,\n icon: /*#__PURE__*/React.createElement(Icon, {\n name: item.iconId\n }),\n exact: true\n });\n }\n }));\n }), this.props.items != null ? this.props.items.map(function (item, index) {\n if (item.parentId != null && item.parentId != '') {\n return null;\n }\n if (item.type != 'EXTERNAL') {\n return null;\n }\n var label = item.text;\n if (label.indexOf('nav_') > -1) {\n label = _this2.linkTexts(item.text);\n }\n return /*#__PURE__*/React.createElement(Menu.Item, {\n key: 'item-' + index,\n label: label,\n to: item.url,\n icon: /*#__PURE__*/React.createElement(Icon, {\n name: item.iconId\n }),\n target: \"_blank\"\n });\n }) : null, /*#__PURE__*/React.createElement(Menu.Item, {\n label: translate('Help center'),\n to: \"https://startvh.haldor.se\",\n icon: /*#__PURE__*/React.createElement(\"img\", {\n style: {\n width: \"24px\"\n },\n src: \"/dist/img/help-ico.png\",\n alt: \"support-icon\"\n }),\n target: \"_blank\"\n }), this.props.students.length > 1 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"select-students\"\n }, /*#__PURE__*/React.createElement(Menu.Item, {\n tabIndex: 0,\n onKeyDown: function onKeyDown(event) {\n return event.key == \"Enter\" ? event.target.click() : null;\n },\n label: this.props.activeStudent.firstName + ' ' + this.props.activeStudent.lastName,\n icon: /*#__PURE__*/React.createElement(Icon, {\n name: \"People\"\n }),\n items: students,\n badge: notCurrentStudentHaveUnreads ? '' : null\n })) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-student\"\n }, /*#__PURE__*/React.createElement(Menu.Item, {\n label: this.props.activeStudent.firstName + ' ' + this.props.activeStudent.lastName,\n icon: /*#__PURE__*/React.createElement(Icon, {\n name: \"People\"\n })\n })), profile != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"select-userinfo\"\n }, /*#__PURE__*/React.createElement(Menu.Item, {\n tabIndex: 0,\n onKeyDown: function onKeyDown(event) {\n return event.key == \"Enter\" ? event.target.click() : null;\n },\n label: profile.firstName + (profile.lastName != null ? ' ' + profile.lastName : ''),\n icon: /*#__PURE__*/React.createElement(\"img\", {\n className: \"person\",\n src: \"/dist/svg/person.svg\",\n alt: \"person\"\n }),\n items: userMenu\n })) : null, displayActiveLanguage != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"select-language\"\n }, /*#__PURE__*/React.createElement(Menu.Item, {\n tabIndex: 0,\n onKeyDown: function onKeyDown(event) {\n return event.key == \"Enter\" ? event.target.click() : null;\n },\n label: displayActiveLanguage.label,\n icon: /*#__PURE__*/React.createElement(\"img\", {\n className: \"flag\",\n src: displayActiveLanguage.svg_src,\n alt: displayActiveLanguage.label\n }),\n items: languageMenu\n })) : null);\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n user: state.User.user,\n activeStudent: state.User.activeStudent,\n students: state.guardians.students,\n student: state.User.activeStudent,\n activeSchool: state.User.activeSchool,\n location: document.location.pathname,\n items: state.Menu.items,\n profile: state.profile.profile,\n translate: translate(state.Languages.translations),\n unreadNotifications: state.Notifications.unreadNotifications\n };\n}\nexport default withRouter(connect(mapStateToProps, {\n setActiveStudent: setActiveStudent,\n getUnreadNotifications: getUnreadNotifications,\n setActiveSchool: setActiveSchool,\n getProfileInformation: getProfileInformation,\n putProfileInformation: putProfileInformation\n})(AppMenu));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport PropTypes from 'prop-types';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { withRouter, Link } from 'react-router-dom';\nimport './_header.scss';\nvar Header = /*#__PURE__*/function (_Component) {\n function Header() {\n var _this;\n _classCallCheck(this, Header);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Header, [].concat(args));\n _defineProperty(_this, \"goBack\", function (event) {\n event.preventDefault();\n _this.props.history.goBack();\n });\n return _this;\n }\n _inherits(Header, _Component);\n return _createClass(Header, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"teams-header\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\"\n }, this.props.settings.backButton ? /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: this.goBack,\n className: \"c--button back\"\n }, /*#__PURE__*/React.createElement(\"i\", {\n className: \"cl-container\"\n }, /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n style: {\n transform: 'rotate(90deg)'\n },\n className: \"a-90\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_50\",\n \"data-name\": \"Path 50\",\n className: \"cls-1\",\n d: \"M11.361,1.4,6.38,5.9,1.4,1.4\"\n })))) : null, this.props.title != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"page-title\",\n title: this.props.title\n }, this.props.title) : null)));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n title: state.Header.title,\n settings: state.Header\n };\n}\nexport default withRouter(connect(mapStateToProps)(Header));","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { setActiveStudent, setActiveSchool } from 'actions/user';\nimport { getUnreadNotifications } from 'actions/notifications';\nimport { Icon, ActionSheet, TooltipMenu } from '@haldor/ui';\nimport './_device.scss';\nvar DeviceHeader = /*#__PURE__*/function (_Component) {\n function DeviceHeader() {\n var _this;\n _classCallCheck(this, DeviceHeader);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, DeviceHeader, [].concat(args));\n _defineProperty(_this, \"isIndex\", function () {\n return window.location.pathname == '/';\n });\n _defineProperty(_this, \"goBack\", function (event) {\n event.preventDefault();\n _this.props.history.goBack();\n });\n _defineProperty(_this, \"selectSchool\", function () {\n var students = _this.props.students;\n var items = [];\n students.forEach(function (student) {\n var studentName = student !== null && student !== void 0 && student.firstName || student !== null && student !== void 0 && student.lastName ? \"\".concat((student === null || student === void 0 ? void 0 : student.firstName) || '', \" \").concat((student === null || student === void 0 ? void 0 : student.lastName) || '').trim() : student === null || student === void 0 ? void 0 : student.email;\n if (student.id == _this.props.activeStudent.id) {\n studentName = /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge-label\",\n style: {\n fontWeight: \"bold\"\n }\n }, studentName, \" \", /*#__PURE__*/React.createElement(Icon, {\n style: {\n marginLeft: \"1rem\"\n },\n name: \"check\"\n }), \" \");\n } else {\n var haveUnreads = false;\n\n // Find out if user have unread conversations/posts/documentaions on current child/student\n if (_this.props.unreadNotifications != null && _this.props.unreadNotifications.notificationsPerStudent != null && _this.props.unreadNotifications.notificationsPerStudent.length > 0) {\n haveUnreads = _this.props.unreadNotifications.notificationsPerStudent.find(function (n) {\n return n.studentId === student.id && n.unreadMessages > 0;\n }) || false;\n }\n studentName = /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge-label\",\n style: {\n display: 'inline-flex',\n alignItems: 'center'\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n margin: \"0 0.4rem 0 0\"\n }\n }, studentName, \" \"), haveUnreads ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge\",\n style: {\n transform: 'none',\n borderRadius: '100%',\n position: 'static',\n width: '18px',\n height: '18px'\n }\n }) : null);\n }\n items.push({\n label: studentName,\n value: {\n student: student\n }\n });\n });\n ActionSheet.prompt({\n items: items\n }).then(function (selection) {\n _this[\"switch\"](selection.student);\n }, function () {\n // This method only runs if user closes the prompt without pressing an option\n // This method is also optional\n console.log('prompt was closed');\n });\n });\n _defineProperty(_this, \"switch\", /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(student) {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.props.setActiveStudent(student);\n case 2:\n _this.props.history.push(\"/switchschool\");\n _this.props.getUnreadNotifications(_this.props.activeStudent.id);\n case 4:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n _defineProperty(_this, \"renderAction\", function (action, index) {\n return /*#__PURE__*/React.createElement(TooltipMenu.Item, {\n key: index,\n onClick: action.onClick\n }, action.icon != null ? /*#__PURE__*/React.createElement(Icon, {\n name: action.icon\n }) : null, action.value);\n });\n return _this;\n }\n _inherits(DeviceHeader, _Component);\n return _createClass(DeviceHeader, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var actionTrigger = /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Icon, {\n name: \"Bullets\"\n }));\n var notCurrentStudentHaveUnreads = false;\n if (this.props.students.length > 1) {\n if (this.props.unreadNotifications != null && this.props.unreadNotifications.notificationsPerStudent != null && this.props.unreadNotifications.notificationsPerStudent.length > 0) {\n notCurrentStudentHaveUnreads = this.props.unreadNotifications.notificationsPerStudent.find(function (n) {\n return n.studentId !== _this2.props.activeStudent.id && n.unreadMessages > 0;\n }) || false;\n }\n }\n var badge = notCurrentStudentHaveUnreads ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge\",\n style: {\n display: 'inline-flex',\n justifyContent: 'center',\n transform: 'none',\n borderRadius: '100%',\n position: 'static',\n margin: '0 0 0.2rem 0.4rem',\n width: '18px',\n height: '18px'\n }\n }) : null;\n var label = /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge-label\"\n }, this.props.activeStudent.firstName);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"device-menu\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\"\n }, this.props.students.length > 1 ? /*#__PURE__*/React.createElement(\"div\", {\n onClick: this.selectSchool\n }, label, /*#__PURE__*/React.createElement(Icon, {\n name: \"Chevron\"\n }), badge) : /*#__PURE__*/React.createElement(\"div\", null, label)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"left\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n id: \"page-title\"\n }, this.props.title), /*#__PURE__*/React.createElement(\"div\", {\n id: \"menu-page-title\"\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n title: state.Header.title,\n settings: state.Header,\n activeSchool: state.User.activeSchool,\n activeStudent: state.User.activeStudent,\n students: state.guardians.students,\n unreadNotifications: state.Notifications.unreadNotifications\n };\n}\nexport default withRouter(connect(mapStateToProps, {\n setActiveSchool: setActiveSchool,\n setActiveStudent: setActiveStudent,\n getUnreadNotifications: getUnreadNotifications\n})(DeviceHeader));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { Icon, Button } from '@haldor/ui';\nimport { getRootUrl } from 'helpers/url';\nimport './_web.scss';\nvar DesktopHeader = /*#__PURE__*/function (_Component) {\n function DesktopHeader() {\n var _this;\n _classCallCheck(this, DesktopHeader);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, DesktopHeader, [].concat(args));\n _defineProperty(_this, \"renderAction\", function (action, index) {\n switch (action.type) {\n case 'button':\n return /*#__PURE__*/React.createElement(Button, {\n key: 'action-' + index,\n type: action.buttonType,\n disabled: action.disabled,\n onClick: action.onClick\n }, action.value);\n case 'icon':\n return /*#__PURE__*/React.createElement(Link, {\n key: 'action-' + index,\n className: \"header-action\",\n \"data-tooltip\": action.tooltip,\n onClick: action.onClick\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Cog\"\n }));\n default:\n return null;\n }\n });\n return _this;\n }\n _inherits(DesktopHeader, _Component);\n return _createClass(DesktopHeader, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"desktop-header\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\"\n }, /*#__PURE__*/React.createElement(Link, {\n to: getRootUrl()\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: \"/dist/img/logo_type_small.png\",\n className: \"logotype\"\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"content right\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"actions\"\n }, this.props.settings.actions != null ? this.props.settings.actions.map(this.renderAction) : null)));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n settings: state.Header\n };\n}\nexport default connect(mapStateToProps)(DesktopHeader);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { setPageTitle } from 'actions/header';\nimport { getUnreadNotifications } from 'actions/notifications';\nimport { Icon, translate, ActionSheet, getActiveLanguage } from '@haldor/ui';\nimport { languages, getLanguage, setLanguage } from './LanguageManager';\nimport './_page.scss';\nvar MenuPage = /*#__PURE__*/function (_Component) {\n function MenuPage(props) {\n var _this;\n _classCallCheck(this, MenuPage);\n _this = _callSuper(this, MenuPage, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var menuPageTitle = document.querySelector(\"#menu-page-title\");\n var pageTitle = document.querySelector(\"#page-title\");\n if (menuPageTitle && pageTitle) {\n pageTitle.style.display = \"none\";\n menuPageTitle.innerHTML = _this.props.translate('Menu');\n }\n });\n _defineProperty(_this, \"componentWillUnmount\", function () {\n var menuPageTitle = document.querySelector(\"#menu-page-title\");\n var pageTitle = document.querySelector(\"#page-title\");\n if (menuPageTitle && pageTitle) {\n menuPageTitle.innerHTML = \"\";\n pageTitle.style.display = \"block\";\n }\n });\n _defineProperty(_this, \"getBadgeForItem\", function (item) {\n if (_this.props.unreadNotifications != null) {\n if (item.url == '/conversations') {\n if (_this.props.unreadNotifications.conversations != null && parseInt(_this.props.unreadNotifications.conversations) > 0) {\n return _this.props.unreadNotifications.conversations;\n }\n }\n if (item.url == '/notifications') {\n if (_this.props.unreadNotifications.events != null && parseInt(_this.props.unreadNotifications.events) > 0) {\n return _this.props.unreadNotifications.events;\n }\n }\n if (item.url == '/posts') {\n if (_this.props.unreadNotifications.posts != null && parseInt(_this.props.unreadNotifications.posts) > 0 || _this.props.unreadNotifications.documentations != null && parseInt(_this.props.unreadNotifications.documentations) > 0) {\n var _this$props$unreadNot, _this$props$unreadNot2;\n return ((_this$props$unreadNot = _this.props.unreadNotifications.posts) !== null && _this$props$unreadNot !== void 0 ? _this$props$unreadNot : 0) + ((_this$props$unreadNot2 = _this.props.unreadNotifications.documentations) !== null && _this$props$unreadNot2 !== void 0 ? _this$props$unreadNot2 : 0);\n }\n }\n }\n return null;\n });\n _defineProperty(_this, \"linkTexts\", function (value) {\n switch (value) {\n case \"NAV_HOME\":\n return _this.props.translate('Home');\n break;\n case \"NAV_SCHEDULE\":\n return _this.props.translate('Schedule');\n break;\n case \"NAV_POSTS\":\n return _this.props.translate('Posts');\n break;\n case \"NAV_ASSIGNMENTS\":\n return _this.props.translate('Assignments');\n break;\n case \"NAV_PLANS\":\n return _this.props.translate('Plans');\n break;\n case \"NAV_MESSAGES\":\n return _this.props.translate('Messages');\n break;\n case \"NAV_NOTIFICATIONS\":\n return _this.props.translate('Events');\n break;\n case \"NAV_FORMS\":\n return _this.props.translate('Forms');\n break;\n case \"NAV_MEETINGS\":\n return _this.props.translate('Parent-teacher meeting');\n break;\n case \"NAV_ABSENCE\":\n return _this.props.translate('Absence');\n break;\n case \"NAV_ATTENDANCE\":\n return _this.props.translate('Attendance');\n break;\n case \"NAV_COURSES\":\n return _this.props.translate('Courses');\n break;\n case \"NAV_GROUPS\":\n return _this.props.translate('Groups');\n break;\n case \"NAV_ABSENCE\":\n return _this.props.translate('Absence');\n break;\n case \"NAV_PROGRESS\":\n return _this.props.translate('Progress');\n break;\n default:\n return value;\n break;\n }\n });\n _defineProperty(_this, \"categoryText\", function (value) {\n switch (value) {\n case \"EDUCATION\":\n return _this.props.translate('Education');\n break;\n case \"MENTOR\":\n return _this.props.translate('Mentor');\n break;\n case \"ADMINISTRATION\":\n return _this.props.translate('Administration');\n break;\n default:\n return value;\n break;\n }\n });\n _defineProperty(_this, \"onExternalClick\", function (ev) {\n if (window.ReactNativeWebView != null) {\n ev.preventDefault();\n var link = ev.target.closest('a');\n window.ReactNativeWebView.postMessage(JSON.stringify({\n type: 'OPEN_URL',\n external_url_open: link.getAttribute('href')\n }));\n }\n });\n _defineProperty(_this, \"confirmLogOut\", function () {\n var menuItems = [];\n var translate = _this.props.translate;\n var items = [{\n label: translate('Yes'),\n link: '/logout',\n background: \"#73d266\"\n }, {\n label: translate('No'),\n link: '#',\n background: \"#E6E6E6\"\n }];\n items.forEach(function (item) {\n menuItems.push({\n label: item.label == translate(\"Yes\") ? /*#__PURE__*/React.createElement(\"div\", {\n key: 'item-yes'\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n marginBottom: \"25px\"\n }\n }, translate('verify_logout')), /*#__PURE__*/React.createElement(\"a\", {\n style: {\n textTransform: \"uppercase\",\n textDecoration: \"none\",\n color: \"white\",\n display: \"inline-flex\",\n justifyContent: \"center\",\n backgroundColor: item.background,\n width: \"100%\",\n padding: \"10px\",\n borderRadius: \"10px\",\n fontWeight: \"bold\"\n },\n href: item.link\n }, item.label)) : /*#__PURE__*/React.createElement(\"div\", {\n key: 'item-no'\n }, /*#__PURE__*/React.createElement(\"a\", {\n style: {\n textTransform: \"uppercase\",\n textDecoration: \"none\",\n color: \"black\",\n display: \"inline-flex\",\n justifyContent: \"center\",\n backgroundColor: item.background,\n width: \"100%\",\n padding: \"10px\",\n borderRadius: \"10px\"\n },\n href: item.link\n }, item.label))\n });\n });\n ActionSheet.prompt({\n items: menuItems\n }).then(function (selection) {}, function () {\n // This method only runs if user closes the prompt without pressing an option\n });\n });\n _defineProperty(_this, \"selectLanguage\", function () {\n var languageMenu = [];\n languages().forEach(function (language, index) {\n languageMenu.push({\n label: getActiveLanguage().toLowerCase() == language.lcid.toLowerCase() ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n fontWeight: \"bold\",\n display: \"flex\",\n justifyContent: \"space-between\"\n },\n key: 'language-' + index\n }, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n display: \"flex\",\n alignItems: \"center\"\n }\n }, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n height: \"16px\",\n width: \"22px\",\n objectFit: \"cover\",\n marginRight: \"10px\",\n borderRadius: \"2px\"\n },\n alt: language.label,\n src: language.svg_src\n }), \" \", language.label), /*#__PURE__*/React.createElement(Icon, {\n name: \"check\"\n })) : /*#__PURE__*/React.createElement(\"span\", {\n key: 'language-' + index,\n onClick: function onClick() {\n return setLanguage(language.lcid, _this.props.profile);\n },\n style: {\n display: \"flex\",\n alignItems: \"center\"\n }\n }, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n height: \"16px\",\n width: \"22px\",\n objectFit: \"cover\",\n marginRight: \"10px\",\n borderRadius: \"2px\"\n },\n alt: language.label,\n src: language.svg_src\n }), \" \", language.label)\n });\n });\n ActionSheet.prompt({\n items: languageMenu\n }).then(function (selection) {}, function () {\n // This method only runs if user closes the prompt without pressing an option\n });\n });\n _this.blocked = ['NAV_HOME', 'NAV_PLANS', 'NAV_SCHEDULE'];\n return _this;\n }\n _inherits(MenuPage, _Component);\n return _createClass(MenuPage, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var categories = [];\n var profile = this.props.profile;\n var displayActiveLanguage = getLanguage();\n if (this.props.items != null) {\n this.props.items.forEach(function (item) {\n if (item.parentId != null && item.parentId != '') {\n if (categories.indexOf(item.parentId) == -1) {\n categories.push(item.parentId);\n }\n }\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-page\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"items-container\"\n }, this.props.items != null ? this.props.items.map(function (item, index) {\n if (_this2.blocked.indexOf(item.text) > -1) {\n return null;\n }\n if (item.parentId != null && item.parentId != '') {\n return null;\n }\n if (item.type == 'EXTERNAL') {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'item-' + index\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: _this2.props.onClose,\n to: item.url,\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: item.iconId\n }), _this2.getBadgeForItem(item) != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"badge\"\n }, /*#__PURE__*/React.createElement(\"span\", null, _this2.getBadgeForItem(item))) : null), /*#__PURE__*/React.createElement(\"span\", null, _this2.linkTexts(item.text.toUpperCase()))));\n }) : null, categories.map(function (category, index) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-divider\",\n key: index\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"divider-label\"\n }, _this2.categoryText(category.toUpperCase())), /*#__PURE__*/React.createElement(\"div\", {\n className: \"items\"\n }, _this2.props.items.map(function (item, index) {\n if (_this2.blocked.indexOf(item.text) > -1) {\n return null;\n }\n if (item.parentId != null && item.parentId == category) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'item-' + index\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: _this2.props.onClose,\n to: item.url,\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: item.iconId\n })), /*#__PURE__*/React.createElement(\"span\", null, _this2.linkTexts(item.text.toUpperCase()))));\n }\n })));\n }), this.props.items != null ? this.props.items.map(function (item, index) {\n if (item.parentId != null && item.parentId != '') {\n return null;\n }\n if (item.type != 'EXTERNAL') {\n return null;\n }\n var label = item.text;\n if (label.indexOf('nav_') > -1) {\n label = _this2.linkTexts(item.text.toUpperCase());\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'item-' + index\n }, /*#__PURE__*/React.createElement(\"a\", {\n href: item.url,\n onClick: function onClick(e) {\n return _this2.onExternalClick(e);\n },\n target: \"_blank\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: item.iconId\n })), /*#__PURE__*/React.createElement(\"span\", null, label)));\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'help'\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"menu-item\",\n target: \"_blank\",\n onClick: function onClick(e) {\n return _this2.onExternalClick(e);\n },\n href: \"https://startvh.haldor.se\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\",\n style: {\n display: \"flex\",\n alignItems: \"center\"\n }\n }, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n width: \"24px\"\n },\n src: \"/dist/img/help-ico.png\",\n alt: \"support-icon\"\n })), /*#__PURE__*/React.createElement(\"span\", null, this.props.translate('Help center')))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-divider\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"divider-label\"\n }, this.categoryText(this.props.translate(\"Settings\"))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'profile'\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: this.props.onClose,\n to: \"/profile\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Cog\"\n })), /*#__PURE__*/React.createElement(\"span\", null, this.props.translate('Your information')))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'languages'\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: this.selectLanguage,\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\",\n style: {\n display: \"flex\",\n alignItems: \"center\"\n }\n }, /*#__PURE__*/React.createElement(\"img\", {\n className: \"flag\",\n alt: displayActiveLanguage.label,\n src: displayActiveLanguage.svg_src\n })), /*#__PURE__*/React.createElement(\"span\", null, displayActiveLanguage.label, \" \", /*#__PURE__*/React.createElement(Icon, {\n name: \"Chevron_Down\",\n style: {\n marginLeft: \"5px\"\n }\n })))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'logout-confirm'\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: this.confirmLogOut,\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(\"img\", {\n className: \"person\",\n src: \"/dist/svg/person.svg\",\n alt: \"person\"\n })), profile != null ? /*#__PURE__*/React.createElement(\"span\", null, this.props.translate('Sign out'), \" \", profile.firstName + (profile.lastName != null ? ' ' + profile.lastName : '')) : /*#__PURE__*/React.createElement(\"span\", null, this.props.translate('Sign out')))))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n items: state.Menu.items,\n translate: translate(state.Languages.translations),\n student: state.User.activeStudent,\n unreadNotifications: state.Notifications.unreadNotifications,\n profile: state.profile.profile,\n pathname: document.location.pathname\n };\n}\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle,\n getUnreadNotifications: getUnreadNotifications\n})(MenuPage);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport sniffer from 'sniffer';\nimport { getActiveSchool } from 'helpers/guardian';\nimport MenuPage from \"../Menu/Page\";\nimport { setPageTitle } from 'actions/header';\nimport { getUnreadNotifications, postRegisterPush } from 'actions/notifications';\nimport { Icon, translate } from '@haldor/ui';\nvar FooterMenu = /*#__PURE__*/function (_Component) {\n function FooterMenu() {\n var _this;\n _classCallCheck(this, FooterMenu);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, FooterMenu, [].concat(args));\n _defineProperty(_this, \"state\", {\n isMenuOpen: false\n });\n _defineProperty(_this, \"toggleMenu\", function () {\n _this.setState(function (prevState) {\n return {\n isMenuOpen: !prevState.isMenuOpen\n };\n });\n });\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.props.getUnreadNotifications(_this.props.activeStudent.id);\n document.addEventListener('route_change', function () {\n _this.props.getUnreadNotifications(_this.props.activeStudent.id);\n });\n });\n _defineProperty(_this, \"getUnreadForItem\", function (itemURL) {\n if (_this.props.unreadNotifications != null) {\n if (itemURL == '/conversations') {\n if (_this.props.unreadNotifications.conversations != null && parseInt(_this.props.unreadNotifications.conversations) > 0) {\n return _this.props.unreadNotifications.conversations;\n }\n }\n if (itemURL == '/notifications') {\n if (_this.props.unreadNotifications.events != null && parseInt(_this.props.unreadNotifications.events) > 0) {\n return _this.props.unreadNotifications.events;\n }\n }\n if (itemURL == '/posts') {\n if (_this.props.unreadNotifications.posts != null && parseInt(_this.props.unreadNotifications.posts) > 0 || _this.props.unreadNotifications.documentations != null && parseInt(_this.props.unreadNotifications.documentations) > 0) {\n var _this$props$unreadNot, _this$props$unreadNot2;\n return ((_this$props$unreadNot = _this.props.unreadNotifications.posts) !== null && _this$props$unreadNot !== void 0 ? _this$props$unreadNot : 0) + ((_this$props$unreadNot2 = _this.props.unreadNotifications.documentations) !== null && _this$props$unreadNot2 !== void 0 ? _this$props$unreadNot2 : 0);\n }\n }\n }\n return null;\n });\n _defineProperty(_this, \"renderRegularItems\", function () {\n var _this$props = _this.props,\n activeStudent = _this$props.activeStudent,\n translate = _this$props.translate;\n var isMenuOpen = _this.state.isMenuOpen;\n var items = [];\n var school = null;\n var schoolId = getActiveSchool(activeStudent.id);\n if (schoolId != null) {\n school = activeStudent.schools.find(function (t) {\n return t.id == schoolId;\n });\n } else {\n school = activeStudent.schools[0];\n }\n if (school != null && school.type != \"PRESCHOOL\") {\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'item-schedule'\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: isMenuOpen ? function () {\n return _this.toggleMenu();\n } : null,\n to: \"/schedule\",\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Calendar\"\n })), /*#__PURE__*/React.createElement(\"span\", null, translate('Schedule')))));\n } else {\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'item-posts'\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: isMenuOpen ? function () {\n return _this.toggleMenu();\n } : null,\n to: \"/posts\",\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Post\"\n }), _this.getUnreadForItem('/posts') != null ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge\",\n style: {\n display: 'inline-flex',\n justifyContent: 'center',\n fontSize: '.7rem'\n }\n }, _this.getUnreadForItem('/posts')) : null), /*#__PURE__*/React.createElement(\"span\", null, translate('Posts')))));\n }\n items.push( /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\",\n key: 'item-plans'\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: isMenuOpen ? function () {\n return _this.toggleMenu();\n } : null,\n to: \"/plans\",\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Plans\"\n })), /*#__PURE__*/React.createElement(\"span\", null, translate('Plans')))));\n return items;\n });\n _defineProperty(_this, \"renderTeamsItems\", function () {\n var translate = _this.props.translate;\n var isMenuOpen = _this.state.isMenuOpen;\n return [/*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\"\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: isMenuOpen ? function () {\n return _this.toggleMenu();\n } : null,\n to: \"/notifications\",\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Bell\"\n }), _this.getUnreadForItem('/notifications') != null ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge\",\n style: {\n display: 'inline-flex',\n justifyContent: 'center',\n fontSize: '.7rem'\n }\n }, _this.getUnreadForItem('/notifications')) : null), /*#__PURE__*/React.createElement(\"span\", null, translate('Events')))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\"\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: isMenuOpen ? function () {\n return _this.toggleMenu();\n } : null,\n to: \"/conversations\",\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Message\"\n }), _this.getUnreadForItem('/conversations') != null ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge\",\n style: {\n display: 'inline-flex',\n justifyContent: 'center',\n fontSize: '.7rem'\n }\n }, _this.getUnreadForItem('/conversations')) : null), /*#__PURE__*/React.createElement(\"span\", null, translate('Messages'))))];\n });\n return _this;\n }\n _inherits(FooterMenu, _Component);\n return _createClass(FooterMenu, [{\n key: \"render\",\n value: /* Render methods */\n function render() {\n var _this2 = this;\n if (!sniffer.isDevice) {\n return null;\n }\n var isMenuOpen = this.state.isMenuOpen;\n var translate = this.props.translate;\n var currentStudentHaveUnreads = false;\n\n // Find out if user have unread events/conversations/posts/documentaions on current child/student\n if (this.props.unreadNotifications != null) {\n currentStudentHaveUnreads = this.props.unreadNotifications.events != null && parseInt(this.props.unreadNotifications.events) > 0 || this.props.unreadNotifications.conversations != null && parseInt(this.props.unreadNotifications.conversations) > 0 || this.props.unreadNotifications.posts != null && parseInt(this.props.unreadNotifications.posts) > 0 || this.props.unreadNotifications.documentations != null && parseInt(this.props.unreadNotifications.documentations) > 0;\n }\n return /*#__PURE__*/React.createElement(\"div\", null, isMenuOpen && /*#__PURE__*/React.createElement(MenuPage, {\n onClose: function onClose() {\n return _this2.toggleMenu();\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"footer-menu-bar-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\"\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: isMenuOpen ? function () {\n _this2.toggleMenu(), _this2.props.getUnreadNotifications(_this2.props.activeStudent.id);\n } : function () {\n return _this2.props.getUnreadNotifications(_this2.props.activeStudent.id);\n },\n to: \"/\",\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"House\"\n })), /*#__PURE__*/React.createElement(\"span\", null, translate('Home')))), this.props.activeStudent != null && this.props.activeStudent.services.msAssignmentOutcomes ? this.renderTeamsItems() : this.renderRegularItems(), /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-container\"\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: function onClick() {\n return _this2.toggleMenu();\n },\n activeClassName: \"is-active\",\n className: \"menu-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"menu-item-icon\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Burger\"\n }), currentStudentHaveUnreads ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"badge\",\n style: {\n background: 'none',\n border: 'none'\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Alert_Red\"\n })) : null), /*#__PURE__*/React.createElement(\"span\", null, translate('More'))))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n activeSchool: state.User.activeSchool,\n user: state.User.user,\n pathname: document.location.pathname,\n translate: translate(state.Languages.translations),\n unreadNotifications: state.Notifications.unreadNotifications\n };\n}\nexport default connect(mapStateToProps, {\n getUnreadNotifications: getUnreadNotifications,\n postRegisterPush: postRegisterPush,\n setPageTitle: setPageTitle\n}, null, {\n pure: false\n})(FooterMenu);","import React from 'react';\nimport moment from 'moment';\nimport sniffer from 'sniffer';\nimport packageJson from './../../../package.json';\nimport FooterMenu from './Menu';\nvar Footer = function Footer() {\n return /*#__PURE__*/React.createElement(\"div\", null, sniffer.isDesktop || sniffer.isTablet ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"site-footer footer\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"footer-content\"\n }, \"Haldor - \", moment().format('YYYY'), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: '0.35em'\n }\n }, \"Release \", packageJson.version))) : null, /*#__PURE__*/React.createElement(FooterMenu, null));\n};\nexport default Footer;","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n/* Import dependencies for task.js */\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { addError } from '../actions';\nvar Expire = /*#__PURE__*/function (_Component) {\n function Expire(props) {\n var _this;\n _classCallCheck(this, Expire);\n _this = _callSuper(this, Expire, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.setTimer();\n });\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n if (nextProps.children !== _this.props.children) {\n _this.setTimer();\n _this.setState({\n visible: false\n });\n }\n });\n _defineProperty(_this, \"componentWillUnmount\", function () {\n clearTimeout(_this._timer);\n });\n _defineProperty(_this, \"setTimer\", function () {\n // clear any existing timer\n _this._timer != null ? clearTimeout(_this._timer) : null;\n _this.setState({\n visible: true\n }, function () {\n _this._timer = setTimeout(function () {\n _this.setState({\n visible: false\n });\n _this._timer = null;\n }, _this.props.delay);\n });\n });\n _defineProperty(_this, \"render\", function () {\n return _this.state.visible ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"error type-\".concat(_this.props.type, \" is-visible\")\n }, _this.props.children) : null;\n });\n _this.state = {\n delay: 1000,\n visible: true\n };\n return _this;\n }\n _inherits(Expire, _Component);\n return _createClass(Expire);\n}(Component);\nvar Error = /*#__PURE__*/function (_Component2) {\n function Error() {\n var _this2;\n _classCallCheck(this, Error);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this2 = _callSuper(this, Error, [].concat(args));\n _defineProperty(_this2, \"error\", function (error, i) {\n return /*#__PURE__*/React.createElement(Expire, {\n delay: 5000,\n ref: i,\n key: \"error-\".concat(i),\n type: error.type ? error.type : 'warning'\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\"\n }, error.msg));\n });\n return _this2;\n }\n _inherits(Error, _Component2);\n return _createClass(Error, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"error-messages-container\"\n }, this.props.errors.map(this.error));\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n errors: state.errors\n };\n};\nvar mapDispatchToProps = {\n addError: addError\n};\nexport default connect(mapStateToProps, mapDispatchToProps)(Error);","export var IsApp = window.navigator.userAgent.indexOf('android-haldor') > -1 || window.navigator.userAgent.indexOf('ios-haldor') > -1 ? true : false;\nexport var AppPlatform = window.navigator.userAgent.indexOf('android-haldor') > -1 ? \"android\" : window.navigator.userAgent.indexOf('ios-haldor') > -1 ? \"ios\" : \"web\";","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\n/* Import dependencies for app.js */\nimport React, { Component, Fragment, useEffect, useState } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport sniffer from 'sniffer';\nimport { getGuardianStudents } from 'actions/guardians';\nimport { setActiveStudent, setActiveSchool, setActiveUser, setRefreshInProgress, setAuthenticated, setHaldorAppOrientation } from 'actions/user';\nimport { getMenuItems } from 'actions/menu';\nimport { getStatus } from 'actions';\nimport { getActiveStudent } from 'helpers/guardian';\nimport swal from 'sweetalert2';\nimport Menu from 'components/Menu';\nimport Header from 'components/HeaderV2';\nimport DeviceHeader from 'components/HeaderV2/Device';\nimport DesktopHeader from 'components/HeaderV2/Desktop';\nimport Footer from 'components/Footer/Footer';\nimport Error from './Error';\nimport { appInsights } from 'lib/appInsight';\nimport { Spinner } from 'UI';\nimport { Layout, Content, Sider, translate } from '@haldor/ui';\nimport { IsApp, AppPlatform } from '../helpers/deviceInfo';\nimport auth from 'lib/authentication';\nimport { getProfileInformation } from 'actions/profile';\nimport { setActiveLanguage, getActiveLanguage } from '@haldor/ui';\nimport { postRegisterPush } from 'actions/notifications';\nimport jwt_decode from \"jwt-decode\";\nimport '../assets/css/main.scss';\nvar App = /*#__PURE__*/function (_Component) {\n function App(props) {\n var _this;\n _classCallCheck(this, App);\n _this = _callSuper(this, App, [props]);\n _this.state = {\n token: '',\n loading: true,\n isActive: true\n };\n return _this;\n }\n _inherits(App, _Component);\n return _createClass(App, [{\n key: \"componentDidMount\",\n value: function () {\n var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var _this2 = this;\n var token, user;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return auth.getAccessToken();\n case 2:\n token = _context2.sent;\n if (!(token != null)) {\n _context2.next = 11;\n break;\n }\n user = jwt_decode(token);\n window.addEventListener('message', function (event) {\n appInsights.trackTrace({\n message: \"App.js: Message recieved from react native\"\n });\n if (event != null && event.data != null && event.data.type == \"register_push\") {\n appInsights.trackTrace({\n message: \"App.js: Message with register push has received\"\n });\n _this2.props.postRegisterPush(event.data);\n }\n if (event != null && event.data != null && event.data.type != null && event.data.type == \"APP_DIMENSIONS\") {\n var _event$data;\n appInsights.trackTrace({\n message: \"App.js: Message with APP_DIMENSIONS has received\"\n });\n _this2.props.setHaldorAppOrientation((_event$data = event.data) === null || _event$data === void 0 ? void 0 : _event$data.value);\n }\n });\n if (window.ReactNativeWebView != null) {\n // Wait 2 seconds to make sure react native is fully loaded the page\n setTimeout(function () {\n appInsights.trackTrace({\n message: \"App.js: Notify app to register push\"\n });\n\n // Access_token is needed for old react native version, just keeping this here to avoid problem with back compabiliy\n window.ReactNativeWebView.postMessage(JSON.stringify({\n register_push: true,\n access_token: token\n }));\n }, 2000);\n }\n appInsights.trackTrace({\n message: \"App.js: Response from getUser method\"\n });\n if (user != null) {\n appInsights.trackTrace({\n message: \"App.js: User information was found\"\n });\n this.props.setActiveUser({\n id: user.sub\n });\n if (appInsights != null) {\n appInsights.context.user.id = user.sub;\n appInsights.setAuthenticatedUserContext(user.sub, \"\", true);\n appInsights.trackTrace({\n message: 'App.js: User Logged in'\n });\n }\n }\n _context2.next = 13;\n break;\n case 11:\n this.props.history.push(\"/login\");\n return _context2.abrupt(\"return\");\n case 13:\n if (this.props.students == null || this.props.students.length == 0) {\n appInsights.trackTrace({\n message: 'App.js: Students information was not found, trying to fetch information from DB'\n });\n this.props.getGuardianStudents().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _context.t0 = _this2.props.students == null || _this2.props.students.length == 0;\n if (_context.t0) {\n _context.next = 5;\n break;\n }\n _context.next = 4;\n return _this2.setStudent();\n case 4:\n _context.t0 = !_context.sent;\n case 5:\n if (!_context.t0) {\n _context.next = 9;\n break;\n }\n swal({\n title: _this2.props.translate('No active students'),\n text: _this2.props.translate('You don´t have any active students connected to your account. If that´s incorrect, please contact your school'),\n confirmButtonText: _this2.props.translate('ok')\n }).then(function (result) {\n //TODO SIGN OUT\n _this2.props.history.push(\"/logout\");\n });\n _context.next = 11;\n break;\n case 9:\n _this2.props.getProfileInformation().then(function () {\n if (_this2.props.profile != null && _this2.props.profile.lcid) {\n if (getActiveLanguage() != _this2.props.profile.lcid) {\n setActiveLanguage(_this2.props.profile.lcid);\n }\n } else {\n setActiveLanguage('en-US');\n }\n });\n _this2.setState({\n loading: false\n });\n case 11:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })))[\"catch\"](function (status) {\n if (status > 400) {\n //TODO: logout\n _this2.props.history.push(\"/logout\");\n }\n });\n } else {\n appInsights.trackTrace({\n message: 'App.js: trying to get profileInformation'\n });\n this.props.getProfileInformation().then(function () {\n appInsights.trackTrace({\n message: 'App.js: trying to get profileInformation'\n });\n if (_this2.props.profile != null && _this2.props.profile.lcid) {\n if (getActiveLanguage() != _this2.props.profile.lcid) {\n setActiveLanguage(_this2.props.profile.lcid);\n }\n } else {\n setActiveLanguage('en-US');\n }\n _this2.setState({\n loading: false\n });\n });\n }\n this.props.getStatus(getActiveLanguage())[\"catch\"](function (status) {\n if (status > 400) {\n //TODO: logout\n }\n });\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this);\n }));\n function componentDidMount() {\n return _componentDidMount.apply(this, arguments);\n }\n return componentDidMount;\n }()\n }, {\n key: \"setStudent\",\n value: function () {\n var _setStudent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var active, student, tmpStudents, _i, _tmpStudents, _student;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n // Try to set the active student\n active = getActiveStudent();\n if (!(active != null)) {\n _context3.next = 10;\n break;\n }\n student = this.props.students.find(function (student) {\n return student.id == active;\n });\n _context3.t0 = student != null;\n if (!_context3.t0) {\n _context3.next = 8;\n break;\n }\n _context3.next = 7;\n return this.enableStudent(student);\n case 7:\n _context3.t0 = _context3.sent;\n case 8:\n if (!_context3.t0) {\n _context3.next = 10;\n break;\n }\n return _context3.abrupt(\"return\", true);\n case 10:\n // Try all other students until an active student is found\n tmpStudents = [];\n Object.assign(tmpStudents, this.props.students);\n _i = 0, _tmpStudents = tmpStudents;\n case 13:\n if (!(_i < _tmpStudents.length)) {\n _context3.next = 22;\n break;\n }\n _student = _tmpStudents[_i];\n _context3.next = 17;\n return this.enableStudent(_student);\n case 17:\n if (!_context3.sent) {\n _context3.next = 19;\n break;\n }\n return _context3.abrupt(\"return\", true);\n case 19:\n _i++;\n _context3.next = 13;\n break;\n case 22:\n return _context3.abrupt(\"return\", false);\n case 23:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3, this);\n }));\n function setStudent() {\n return _setStudent.apply(this, arguments);\n }\n return setStudent;\n }()\n }, {\n key: \"enableStudent\",\n value: function () {\n var _enableStudent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(student) {\n var index;\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return this.props.setActiveStudent(student)[\"catch\"](function (e) {});\n case 2:\n if (_context4.sent) {\n _context4.next = 6;\n break;\n }\n index = this.props.students.indexOf(student);\n if (index > -1) {\n this.props.students.splice(index, 1); // Remove student\n }\n return _context4.abrupt(\"return\", false);\n case 6:\n _context4.next = 8;\n return this.props.getMenuItems(student.id);\n case 8:\n return _context4.abrupt(\"return\", true);\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4, this);\n }));\n function enableStudent(_x) {\n return _enableStudent.apply(this, arguments);\n }\n return enableStudent;\n }()\n }, {\n key: \"render\",\n value: function render() {\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n var translate = this.props.translate;\n if (this.props.students == null || this.props.students.length == 0) {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"login-content\"\n }, /*#__PURE__*/React.createElement(\"h1\", null, translate('Something went wrong')), /*#__PURE__*/React.createElement(\"p\", {\n className: \"login-content__subtitle\"\n }, translate('It seems like you dont have any students assigned to your account'), /*#__PURE__*/React.createElement(\"br\", null), translate('If you think something is wrong, get in touch with your school administrator or support@haldor.se (support.haldor.se)'))), /*#__PURE__*/React.createElement(Footer, null));\n }\n return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Error, null), !sniffer.isDevice ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"desktop-header-spacing\"\n }), /*#__PURE__*/React.createElement(DesktopHeader, null)) : null, /*#__PURE__*/React.createElement(Layout, null, /*#__PURE__*/React.createElement(Sider, null, !sniffer.isDevice ? /*#__PURE__*/React.createElement(Menu, null) : null), /*#__PURE__*/React.createElement(Content, null, IsApp || sniffer.isDevice ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"device-menu-space\"\n }) : null, IsApp && AppPlatform === 'ios' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"device-menu-placeholder-iphone\"\n }) : null, sniffer.isDevice && AppPlatform !== 'ios' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"device-menu-placeholder\"\n }) : null, sniffer.isDevice ? /*#__PURE__*/React.createElement(DeviceHeader, null) : /*#__PURE__*/React.createElement(Header, null), this.props.children, /*#__PURE__*/React.createElement(Footer, null))));\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n students: state.guardians.students,\n activeStudent: state.User.activeStudent,\n profile: state.profile.profile,\n translate: translate(state.Languages.translations)\n };\n};\nexport default withRouter(connect(mapStateToProps, {\n getGuardianStudents: getGuardianStudents,\n getStatus: getStatus,\n setActiveStudent: setActiveStudent,\n setActiveSchool: setActiveSchool,\n setActiveUser: setActiveUser,\n setAuthenticated: setAuthenticated,\n setRefreshInProgress: setRefreshInProgress,\n getMenuItems: getMenuItems,\n postRegisterPush: postRegisterPush,\n getProfileInformation: getProfileInformation,\n setHaldorAppOrientation: setHaldorAppOrientation\n})(App));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport { setPageTitle } from 'actions/header';\nimport { translate } from '@haldor/ui';\nimport { getSchoolType } from 'helpers/localstorage';\nimport { PRESCHOOL } from 'constants/schoolTypes';\nimport MyPosts from './Sections/MyPosts';\nimport MyPlans from './Sections/MyPlans';\nimport MyTasks from './Sections/MyTasks';\nimport LoadingCards from 'components/Presentation/Cards/LoadingCards';\nimport { InView } from 'react-intersection-observer';\nvar Overview = /*#__PURE__*/function (_Component) {\n function Overview() {\n _classCallCheck(this, Overview);\n return _callSuper(this, Overview, arguments);\n }\n _inherits(Overview, _Component);\n return _createClass(Overview, [{\n key: \"UNSAFE_componentWillMount\",\n value: function UNSAFE_componentWillMount() {\n this.props.setPageTitle(this.props.translate('Home'));\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"overview\"\n }, this.props.activeStudent != null && this.props.activeStudent.services.news ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n padding: 0,\n border: 0\n }\n }, /*#__PURE__*/React.createElement(MyPosts, {\n limit: 3\n })) : null, this.props.activeStudent != null && this.props.activeStudent.services.plans ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n padding: 0,\n border: 0\n }\n }, /*#__PURE__*/React.createElement(InView, {\n as: \"div\",\n delay: 550,\n triggerOnce: true\n }, function (_ref) {\n var inView = _ref.inView,\n ref = _ref.ref,\n entry = _ref.entry;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n ref: ref\n }, inView ? /*#__PURE__*/React.createElement(MyPlans, {\n dateRestriction: true,\n overview: true\n }) : /*#__PURE__*/React.createElement(LoadingCards, {\n count: 1\n }));\n })) : null, getSchoolType(this.props.activeStudent) != PRESCHOOL ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n padding: 0,\n border: 0\n }\n }, /*#__PURE__*/React.createElement(InView, {\n as: \"div\",\n delay: 550,\n triggerOnce: true\n }, function (_ref2) {\n var inView = _ref2.inView,\n ref = _ref2.ref,\n entry = _ref2.entry;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n ref: ref\n }, inView ? /*#__PURE__*/React.createElement(MyTasks, {\n limit: 9,\n overview: true\n }) : /*#__PURE__*/React.createElement(LoadingCards, {\n count: 1\n }));\n })) : null);\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle\n})(Overview);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport Overview from 'containers/Overview';\nimport { clearGuardianStudentDocumentations } from 'actions/documents';\nimport { clearGuardianStudentPosts } from 'actions/posts';\nimport { setPageTitle } from 'actions/header';\nimport { translate } from '@haldor/ui';\nvar IndexWrapper = /*#__PURE__*/function (_Component) {\n function IndexWrapper(props) {\n _classCallCheck(this, IndexWrapper);\n return _callSuper(this, IndexWrapper, [props]);\n }\n _inherits(IndexWrapper, _Component);\n return _createClass(IndexWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.clearGuardianStudentDocumentations();\n this.props.clearGuardianStudentPosts();\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.props.students == null) {\n return /*#__PURE__*/React.createElement(\"div\", null);\n } else {\n var student = this.props.student;\n if (student != null && student.schools != null) {\n return /*#__PURE__*/React.createElement(Overview, null);\n } else {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"login-content\"\n }, /*#__PURE__*/React.createElement(\"h1\", null, this.props.translate('Something went wrong')), /*#__PURE__*/React.createElement(\"p\", {\n className: \"login-content__subtitle\"\n }, this.props.translate('The active student doesnt seem to belong to any school.'), /*#__PURE__*/React.createElement(\"br\", null), this.props.translate('Contact your school for help.')));\n }\n }\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n student: state.User.activeStudent,\n students: state.guardians.students,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n clearGuardianStudentDocumentations: clearGuardianStudentDocumentations,\n clearGuardianStudentPosts: clearGuardianStudentPosts,\n setPageTitle: setPageTitle\n})(IndexWrapper);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { getDescription } from 'helpers/content';\nvar PostContent = /*#__PURE__*/function (_Component) {\n function PostContent() {\n _classCallCheck(this, PostContent);\n return _callSuper(this, PostContent, arguments);\n }\n _inherits(PostContent, _Component);\n return _createClass(PostContent, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"post-content\",\n dangerouslySetInnerHTML: {\n __html: getDescription(this.props.children)\n }\n });\n }\n }]);\n}(Component);\nexport { PostContent as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport { getMeeting } from 'actions/meetings';\nimport PostContent from 'components/Presentation/PostContent';\nimport SectionTitle from 'components/Presentation/SectionTitle';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Block, translate } from '@haldor/ui';\nimport { DataList, Spinner } from 'UI';\nimport RowItem, { RowCell } from 'UI/Elements/List/RowItem';\nimport DateTime from '_class/DateTime';\nimport { setPageTitle } from 'actions/header';\nimport { getActiveStudent } from 'helpers/guardian';\nvar Meeting = /*#__PURE__*/function (_Component) {\n function Meeting(props) {\n var _this;\n _classCallCheck(this, Meeting);\n _this = _callSuper(this, Meeting, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.props.getMeeting(_this.props.activeStudent, _this.props.match.params.id).then(function () {\n _this.setState({\n loading: false\n });\n _this.props.setPageTitle(_this.props.meeting.title);\n });\n });\n _defineProperty(_this, \"renderInstance\", function (instance) {\n var activeStudent = getActiveStudent();\n if (instance.studentId != activeStudent) {\n return null;\n }\n var translate = _this.props.translate;\n return /*#__PURE__*/React.createElement(RowItem, {\n key: instance.id,\n target: \"/meetings/\" + _this.props.meeting.id + \"/instance/\" + instance.id\n }, /*#__PURE__*/React.createElement(RowCell, {\n title: translate('Name')\n }, instance.student.firstName + \" \" + instance.student.lastName), /*#__PURE__*/React.createElement(RowCell, {\n title: translate('Follow up'),\n shrink: true\n }, instance.followUp ? translate('Required') : null), /*#__PURE__*/React.createElement(RowCell, {\n title: translate('Start time'),\n shrink: true\n }, instance.date != null ? new DateTime(instance.date).getTimeStampHours() : ''), /*#__PURE__*/React.createElement(RowCell, {\n title: translate('End time'),\n shrink: true\n }, instance.endDate != null ? new DateTime(instance.endDate).getTimeStampHours() : ''));\n });\n _this.state = {\n loading: true\n };\n return _this;\n }\n _inherits(Meeting, _Component);\n return _createClass(Meeting, [{\n key: \"render\",\n value: function render() {\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section form left-side\",\n style: {\n paddingTop: 0\n }\n }, /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Meeting information')), /*#__PURE__*/React.createElement(PostContent, null, this.props.meeting.description))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"section single-section\"\n }, /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(\"span\", null, translate('Occasions'))), /*#__PURE__*/React.createElement(DataList, {\n data: this.props.meeting.instances,\n renderRow: this.renderInstance\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n meeting: state.Meetings.meeting,\n activeStudent: state.guardians.activeStudent,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getMeeting: getMeeting,\n setPageTitle: setPageTitle\n})(Meeting);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport { updateFormInstance } from 'actions/templates';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { reduxForm } from 'redux-form';\nimport { Spinner } from 'UI';\nimport { Field } from 'UI/Inputs';\nimport { Button, translate } from '@haldor/ui';\nvar FormInstance = /*#__PURE__*/function (_Component) {\n function FormInstance() {\n var _this;\n _classCallCheck(this, FormInstance);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, FormInstance, [].concat(args));\n _defineProperty(_this, \"submit\", function (values) {\n return new Promise(function (resolve) {\n var fieldResults = [];\n var status = values.status;\n if (status == null) {\n status = 'SAVED';\n }\n Object.keys(values).map(function (key, index) {\n var _this$props$instance;\n if (key == 'status') {\n return;\n }\n var templateField = _this.props.fields.find(function (t) {\n return t.name == key;\n });\n var instanceField = (_this$props$instance = _this.props.instance) === null || _this$props$instance === void 0 ? void 0 : _this$props$instance.fieldResults.find(function (t) {\n return t.fieldName == key;\n });\n var result = {\n 'fieldName': key,\n 'value': values[key],\n 'FieldTemplateId': templateField != null ? templateField.id : null,\n 'id': instanceField != null ? instanceField.id : null\n };\n fieldResults.push(result);\n });\n var data = {\n fieldResults: fieldResults,\n status: status\n };\n if (_this.props.onSubmit != null && _this.props.instance == null) {\n _this.props.onSubmit(data).then(function () {\n resolve(1);\n if (_this.props.onAbort != null) {\n _this.props.onAbort(true);\n }\n });\n } else {\n var _data = _this.props.instance;\n _data.fieldResults = fieldResults;\n _data.status = status;\n _this.props.updateFormInstance(_data).then(function () {\n resolve(1);\n if (_this.props.onAbort != null) {\n _this.props.onAbort(true);\n }\n });\n }\n });\n });\n return _this;\n }\n _inherits(FormInstance, _Component);\n return _createClass(FormInstance, [{\n key: \"render\",\n value: function render() {\n var _this2 = this,\n _this$props$instance2,\n _this$props$instance3;\n var _this$props = this.props,\n handleSubmit = _this$props.handleSubmit,\n submitting = _this$props.submitting,\n translate = _this$props.translate;\n if (this.props.fields == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"form\", {\n onSubmit: handleSubmit(this.submit.bind(this)),\n className: \"form form-component\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form form-component\"\n }, this.props.fields.map(function (field, index) {\n field.disabled = _this2.props.followUp != null ? _this2.props.followUp : false;\n return /*#__PURE__*/React.createElement(Field, _extends({\n key: 'field-' + index\n }, field));\n })), this.props.fields.length > 0 && !this.props.followUp ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row submit spacing\"\n }, ((_this$props$instance2 = this.props.instance) === null || _this$props$instance2 === void 0 ? void 0 : _this$props$instance2.status) != 'SUBMITTED' ? /*#__PURE__*/React.createElement(Button, {\n disabled: submitting\n }, submitting ? /*#__PURE__*/React.createElement(Spinner, {\n small: true,\n center: true\n }) : null, translate('Save')) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"align-right\"\n }, /*#__PURE__*/React.createElement(Button, {\n onClick: handleSubmit(function (values) {\n return _this2.submit(_objectSpread(_objectSpread({}, values), {}, {\n status: 'SUBMITTED'\n }));\n }),\n disabled: submitting || this.props.disabled\n }, submitting ? /*#__PURE__*/React.createElement(Spinner, {\n small: true,\n center: true\n }) : null, ((_this$props$instance3 = this.props.instance) === null || _this$props$instance3 === void 0 ? void 0 : _this$props$instance3.status) == '' ? translate('Update') : translate('Submit'))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n })) : null);\n }\n }]);\n}(Component);\nfunction mapStateToProps(state, ownProps) {\n var initialValues = null;\n if (ownProps.instance != null) {\n initialValues = {};\n ownProps.instance.fieldResults.forEach(function (result) {\n initialValues[result.fieldName] = result.value;\n });\n }\n return {\n initialValues: initialValues,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n updateFormInstance: updateFormInstance\n})(reduxForm({\n destroyOnUnmount: true,\n enableReinitialize: true,\n pure: false\n})(FormInstance));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { addError } from 'actions';\nimport { createConversation, getConversationsByReference, submitMessage, getConversation } from 'actions/conversation';\nimport Modal from 'containers/Modals/Modal';\nimport ConversationMessages from 'containers/Conversation/Display/ConversationMessages';\nimport MessageForm from 'containers/Conversation/Form/MessageForm';\nimport { Spinner } from 'UI';\nimport { translate } from '@haldor/ui';\nvar Message = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function Message(props) {\n var _this;\n _classCallCheck(this, Message);\n _this = _callSuper(this, Message, [props]);\n /* Lifecycle methods */\n _defineProperty(_this, \"componentDidMount\", function () {\n // Get conversations\n var studentId = _this.props.activeStudent.id;\n if (_this.props.assignment != null) {\n var assignment = _this.props.assignment;\n _this.props.getConversationsByReference(assignment.id, 'ASSIGNMENT', studentId).then(function () {\n _this.setState({\n loading: false\n });\n });\n }\n if (_this.props.plan != null) {\n var plan = _this.props.plan;\n _this.props.getConversationsByReference(plan.id, 'PLAN', studentId).then(function () {\n _this.setState({\n loading: false\n });\n });\n }\n if (_this.props.meetingInstance != null) {\n var meetingInstance = _this.props.meetingInstance;\n _this.props.getConversationsByReference(meetingInstance.id, 'MEETING_INSTANCE').then(function () {\n _this.setState({\n loading: false\n });\n });\n }\n _this.setState({\n user: _this.props.profile\n });\n });\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n if (nextProps.activeUser == null) {\n return false;\n }\n if (nextProps.activeUser != _this.props.activeUser) {\n var creator = {\n id: _this.getCreatorId()\n };\n var conversation = _this.getConversationForUser(creator);\n if (conversation != null && conversation.id != 0) {\n _this.setState({\n loading: true\n });\n _this.props.getConversation(conversation.id).then(function () {\n _this.setState({\n loading: false\n });\n });\n }\n }\n });\n /* Helper methods */\n _defineProperty(_this, \"getCreatorId\", function () {\n var creator = null;\n if (_this.props.assignment != null) {\n if (_this.props.assignment.id == parseInt(_this.props.assignment.id, 10)) {\n creator = _this.props.assignment.creator;\n } else {\n creator = _this.props.assignment.createdBy.user.id;\n }\n }\n if (_this.props.plan != null) {\n creator = _this.props.plan.creator;\n }\n if (_this.props.meetingInstance != null) {\n creator = _this.props.meetingInstance.creator;\n }\n return creator;\n });\n _defineProperty(_this, \"buildReference\", function (studentId) {\n var references = [];\n var reference = {};\n if (_this.props.assignment != null) {\n reference.referenceId = _this.props.assignment.id;\n reference.referenceType = 'ASSIGNMENT';\n }\n if (_this.props.plan != null) {\n reference.referenceId = _this.props.plan.id;\n reference.referenceType = 'PLAN';\n }\n if (_this.props.meetingInstance != null) {\n reference.referenceId = _this.props.meetingInstance.id;\n reference.referenceType = 'MEETING_INSTANCE';\n }\n references.push(reference);\n if (studentId != null && studentId != \"\") {\n references.push({\n referenceType: 'STUDENT',\n referenceId: studentId\n });\n }\n return references;\n });\n _defineProperty(_this, \"buildMemberships\", function (student) {\n var memberships = [];\n if (_this.props.meetingInstance != null) {\n memberships.push({\n membershipID: _this.props.activeUser.id,\n membershipType: 'USER',\n permission: 'W'\n });\n } else {\n var owner = _this.getCreatorId();\n if (owner != null) {\n memberships.push({\n membershipID: owner,\n membershipType: 'USER',\n permission: 'W'\n });\n }\n }\n return memberships;\n });\n _defineProperty(_this, \"getConversationForUser\", function (user) {\n var conversations = _this.props.conversations;\n if (conversations != null) {\n var found = conversations.find(function (conversation) {\n var membership = conversation.memberships.find(function (member) {\n return member.membershipType == 'USER' && member.membershipID == user.id;\n });\n return membership != null;\n });\n return found;\n }\n return null;\n });\n _defineProperty(_this, \"getMembership\", function (conversation, userid) {\n var membership = conversation.memberships.find(function (member) {\n return member.membershipType == 'USER' && member.membershipID == userid;\n });\n if (membership != null) {\n return membership;\n }\n return null;\n });\n /* Events */\n _defineProperty(_this, \"onModalClose\", function () {\n if (_this.props.onClose) {\n _this.props.onClose();\n }\n });\n _defineProperty(_this, \"onCreate\", function (values, user) {\n return new Promise(function (resolve) {\n var studentId = \"\";\n if (_this.props.meetingInstance != null) {\n studentId = _this.props.meetingInstance.studentId;\n } else {\n studentId = _this.props.activeUser.id;\n }\n values.creator = _this.props.profile.id;\n delete values.conversationID;\n var conversation = {\n messages: [values],\n memberships: _this.buildMemberships(user),\n relationships: _this.buildReference(studentId),\n title: '',\n status: 'ACTIVE'\n };\n _this.props.createConversation(conversation, studentId).then(function () {\n //this.props.getConversation(this.props.new);\n _this.componentDidMount();\n _this.props.getConversation(_this.props[\"new\"]);\n _this.props.addError(_this.props.translate('Message sent'), 'info');\n resolve(1);\n });\n });\n });\n _defineProperty(_this, \"submitMessage\", function (values) {\n return new Promise(function (resolve) {\n var user = _this.state.user;\n values.creator = user.id;\n _this.props.submitMessage(values).then(function () {\n _this.setState({});\n resolve(1);\n });\n });\n });\n _defineProperty(_this, \"toggleConversation\", function (open, conversation, user) {\n var conversations = _this.props.conversations;\n if (open) {\n _this.setState({\n open: user.id\n });\n } else {\n _this.setState({\n open: ''\n });\n }\n if (open && conversation.id != 0) _this.props.getConversation(conversation.id);\n });\n /* Render methods */\n _defineProperty(_this, \"renderStudentConversation\", function () {\n var creator = {\n id: _this.getCreatorId()\n };\n var conversation = _this.getConversationForUser(creator);\n var created = true;\n if (conversation == null) {\n created = false;\n conversation = {\n id: 0\n };\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation conversation--wrapper\",\n style: {\n boxShadow: 'none',\n borderRadius: 0,\n height: '70vh'\n }\n }, created ? /*#__PURE__*/React.createElement(ConversationMessages, {\n conversation: _this.props.active\n }) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"conversation-begin\"\n }, _this.props.translate('Begin conversation')), created ? /*#__PURE__*/React.createElement(MessageForm, {\n conversation: conversation,\n onSubmit: _this.submitMessage,\n button: _this.props.translate('Send')\n }) : /*#__PURE__*/React.createElement(MessageForm, {\n conversation: null,\n onSubmit: function onSubmit(values) {\n return _this.onCreate(values, _this.props.profile);\n },\n button: _this.props.translate('Send')\n }));\n });\n _defineProperty(_this, \"renderContent\", function () {\n if (_this.state.loading) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n return _this.renderStudentConversation();\n });\n _this.state = {\n loading: true,\n open: ''\n };\n return _this;\n }\n _inherits(Message, _Component);\n return _createClass(Message, [{\n key: \"render\",\n value: function render() {\n if (this.props.activeUser == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Modal, {\n type: \"small\",\n onClose: this.onModalClose,\n isOpen: true,\n title: this.props.translate('Conversation with teacher')\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-assignment-message\"\n }, this.renderContent()));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n conversations: state.Conversation.referenceConversations,\n active: state.Conversation.conversation,\n profile: state.profile.profile,\n \"new\": state.Conversation[\"new\"],\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getConversationsByReference: getConversationsByReference,\n createConversation: createConversation,\n addError: addError,\n submitMessage: submitMessage,\n getConversation: getConversation\n})(Message);","import Moment from 'moment';\nexport var getUserAssessmentDates = function getUserAssessmentDates() {\n var startDateLocalStorage = localStorage.getItem('assessment-start-date');\n var endDateLocalStorage = localStorage.getItem('assessment-end-date');\n var dates = {\n start: Moment().subtract(6, 'months').format('YYYY-MM-DD'),\n end: Moment().format('YYYY-MM-DD')\n };\n if (startDateLocalStorage != null && startDateLocalStorage != \"Invalid date\") {\n dates.start = Moment(startDateLocalStorage).format('YYYY-MM-DD');\n }\n if (endDateLocalStorage != null && endDateLocalStorage != \"Invalid date\") {\n dates.end = Moment(endDateLocalStorage).format('YYYY-MM-DD');\n }\n return dates;\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport Moment from \"moment\";\nimport DatePicker from \"react-datepicker\";\nimport { registerLocale, setDefaultLocale } from \"react-datepicker\";\nimport sv from 'date-fns/locale/sv';\nimport no from 'date-fns/locale/nb';\nimport en from 'date-fns/locale/en-US';\nimport da from \"date-fns/locale/da\";\nimport uk from \"date-fns/locale/uk\";\nimport { Select, translate, getActiveLanguage } from \"@haldor/ui\";\nvar DatePickers = /*#__PURE__*/function (_Component) {\n function DatePickers(props) {\n var _this;\n _classCallCheck(this, DatePickers);\n _this = _callSuper(this, DatePickers, [props]);\n _defineProperty(_this, \"onStartChange\", function (time) {\n var _this$state = _this.state,\n dtPickerStartDate = _this$state.dtPickerStartDate,\n startDate = _this$state.startDate;\n if (time != \"Invalid date\" && time != null) {\n dtPickerStartDate = Moment(time);\n startDate = Moment(time).format(\"YYYY-MM-DD\");\n _this.setState({\n dtPickerStartDate: dtPickerStartDate,\n startDate: startDate\n }, function () {\n _this.onChange();\n });\n } else {\n var dStartDate = Moment();\n var _startDate2 = Moment().format(\"YYYY-MM-DD\");\n var dDueDate = Moment();\n var dueDate = Moment().format(\"YYYY-MM-DD\");\n _this.setState({\n dtPickerStartDate: dStartDate,\n dtPickerDueDate: dDueDate,\n startDate: _startDate2,\n endDate: dueDate\n });\n }\n });\n _defineProperty(_this, \"getDateFormat\", function () {\n var format = Moment.localeData(getActiveLanguage()).longDateFormat(\"L\");\n var newFormat = format.replace(\"YYYY\", \"yyyy\");\n var days = newFormat.replace(\"DD\", \"dd\");\n return days;\n });\n _defineProperty(_this, \"onEndChange\", function (time) {\n var _this$state2 = _this.state,\n dtPickerDueDate = _this$state2.dtPickerDueDate,\n endDate = _this$state2.endDate;\n if (time != \"Invalid date\" && time != null) {\n dtPickerDueDate = Moment(time);\n endDate = Moment(time).format(\"YYYY-MM-DD\");\n _this.setState({\n dtPickerDueDate: dtPickerDueDate,\n endDate: endDate\n }, function () {\n _this.onChange();\n });\n } else {\n var dDueDate = Moment();\n var dueDate = Moment().format(\"YYYY-MM-DD\");\n _this.setState({\n dtPickerDueDate: dDueDate,\n endDate: dueDate\n }, function () {\n _this.onChange();\n });\n }\n });\n _defineProperty(_this, \"onTermChange\", function (value) {\n if (value != \"\") {\n var dStartDate = Moment();\n var startDate = Moment().format(\"YYYY-MM-DD\");\n var dDueDate = Moment();\n var dueDate = Moment().format(\"YYYY-MM-DD\");\n switch (value) {\n case \"year\":\n if (Moment().month() < 7) {\n dStartDate = Moment().subtract(1, \"year\").month(7).date(1);\n startDate = Moment().subtract(1, \"year\").month(7).date(1).format(\"YYYY-MM-DD\");\n dDueDate = Moment().month(6).date(31);\n dueDate = Moment().month(6).date(31).format(\"YYYY-MM-DD\");\n } else {\n dStartDate = Moment().month(7).date(1);\n startDate = Moment().month(7).date(1).format(\"YYYY-MM-DD\");\n dDueDate = Moment().add(1, \"year\").month(6).date(31);\n dueDate = Moment().add(1, \"year\").month(6).date(31).format(\"YYYY-MM-DD\");\n }\n break;\n case 'previous-year':\n if (Moment().month() < 7) {\n dStartDate = Moment().subtract(2, 'year').month(7).date(1);\n startDate = Moment().subtract(2, 'year').month(7).date(1).format('YYYY-MM-DD');\n dDueDate = Moment().subtract(1, 'year').month(6).date(31);\n dueDate = Moment().subtract(1, 'year').month(6).date(31).format('YYYY-MM-DD');\n } else {\n dStartDate = Moment().subtract(1, 'year').month(7).date(1);\n startDate = Moment().subtract(1, 'year').month(7).date(1).format('YYYY-MM-DD');\n dDueDate = Moment().subtract(0, 'year').month(6).date(31);\n dueDate = Moment().subtract(0, 'year').month(6).date(31).format('YYYY-MM-DD');\n }\n break;\n case \"semester\":\n if (Moment().month() < 7) {\n dStartDate = Moment().month(0).date(1);\n startDate = Moment().month(0).date(1).format(\"YYYY-MM-DD\");\n dDueDate = Moment().month(6).date(31);\n dueDate = Moment().month(6).date(31).format(\"YYYY-MM-DD\");\n } else {\n dStartDate = Moment().month(6).date(1);\n startDate = Moment().month(6).date(1).format(\"YYYY-MM-DD\");\n dDueDate = Moment().month(11).date(31);\n dueDate = Moment().month(11).date(31).format(\"YYYY-MM-DD\");\n }\n break;\n }\n _this.setState({\n dtPickerStartDate: dStartDate,\n dtPickerDueDate: dDueDate,\n startDate: startDate,\n endDate: dueDate\n }, function () {\n _this.onChange();\n });\n }\n });\n _defineProperty(_this, \"onChange\", function () {\n if (_this.props.onChange) {\n var dates = {\n start: _this.state.startDate,\n end: _this.state.endDate\n };\n _this.props.onChange(dates);\n }\n });\n Moment.locale(getActiveLanguage());\n registerLocale('en-US', en);\n registerLocale('sv-SE', sv);\n registerLocale('nb-NO', no);\n registerLocale('da-DK', da);\n registerLocale('uk', uk);\n setDefaultLocale('en-US');\n var _dStartDate;\n var _dDueDate;\n var _startDate;\n var _dueDate;\n if (props.startDate != null) {\n _dStartDate = Moment(props.startDate);\n _startDate = props.startDate;\n } else {\n _dStartDate = Moment();\n _startDate = Moment().format(\"YYYY-MM-DD\");\n }\n if (props.endDate != null) {\n _dDueDate = Moment(props.endDate);\n _dueDate = props.endDate;\n } else {\n _dDueDate = Moment();\n _dueDate = Moment().format(\"YYYY-MM-DD\");\n }\n _this.state = {\n dtPickerStartDate: _dStartDate,\n dtPickerDueDate: _dDueDate,\n startDate: _startDate,\n endDate: _dueDate\n };\n return _this;\n }\n _inherits(DatePickers, _Component);\n return _createClass(DatePickers, [{\n key: \"render\",\n value: function render() {\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half static\"\n }, /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"date-start\",\n style: {\n marginTop: 0\n }\n }, translate(\"Start\")), /*#__PURE__*/React.createElement(DatePicker, {\n selected: this.state.dtPickerStartDate.toDate(),\n startDate: this.state.dtPickerStartDate.toDate(),\n endDate: this.state.dtPickerDueDate.toDate(),\n onChange: this.onStartChange,\n selectsStart: true,\n popperPlacement: \"bottom-start\",\n showWeekNumbers: true,\n fixedHeight: true,\n dateFormat: this.getDateFormat(),\n previousMonthButtonLabel: \"\",\n nextMonthButtonLabel: \"\",\n locale: getActiveLanguage()\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half static last\"\n }, /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"date-end\",\n style: {\n marginTop: 0\n }\n }, translate(\"End\")), /*#__PURE__*/React.createElement(DatePicker, {\n selected: this.state.dtPickerDueDate.toDate(),\n startDate: this.state.dtPickerStartDate.toDate(),\n endDate: this.state.dtPickerDueDate.toDate(),\n minDate: this.state.dtPickerStartDate.toDate(),\n onChange: this.onEndChange,\n popperPlacement: \"bottom-start\",\n selectsEnd: true,\n dateFormat: this.getDateFormat(),\n showWeekNumbers: true,\n fixedHeight: true,\n previousMonthButtonLabel: \"\",\n nextMonthButtonLabel: \"\",\n isClearable: true,\n locale: getActiveLanguage()\n })), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: \"inline-block\"\n }\n }, /*#__PURE__*/React.createElement(Select, {\n onChange: this.onTermChange,\n options: [{\n label: translate(\"Current school year\"),\n value: \"year\"\n }, {\n label: this.props.translate('Previous schoolyear'),\n value: 'previous-year'\n }, {\n label: translate(\"Current semester\"),\n value: \"semester\"\n }]\n }, translate(\"Select period\")))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(DatePickers);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { translate } from '@haldor/ui';\nvar GroupFilter = /*#__PURE__*/function (_Component) {\n function GroupFilter(props) {\n var _this;\n _classCallCheck(this, GroupFilter);\n _this = _callSuper(this, GroupFilter, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n //this.dataLoad(this.props.userId);\n });\n _defineProperty(_this, \"dataLoad\", function (studentId) {});\n _defineProperty(_this, \"reset\", function () {\n _this.setState({\n value: '0'\n }, function () {\n if (_this.props.onChange) {\n _this.props.onChange('0');\n }\n });\n });\n _defineProperty(_this, \"onChange\", function (event) {\n if (_this.props.onChange) {\n _this.props.onChange(event.target.value);\n }\n _this.setState({\n value: event.target.value\n });\n });\n _this.state = {\n value: '0'\n };\n return _this;\n }\n _inherits(GroupFilter, _Component);\n return _createClass(GroupFilter, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n var differentUserId = this.props.userId !== nextProps.userId;\n var differentProps = this.props !== nextProps;\n var differentState = this.state !== nextState;\n if (differentUserId) {\n this.dataLoad(nextProps.userId);\n }\n if (differentProps || differentState) {\n return true;\n }\n return false;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n groups = _this$props.groups,\n translate = _this$props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\",\n style: {\n padding: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"select\"\n }, /*#__PURE__*/React.createElement(\"label\", {\n style: {\n marginTop: 0\n }\n }, translate('Group')), /*#__PURE__*/React.createElement(\"select\", {\n value: this.state.value,\n onChange: this.onChange\n }, /*#__PURE__*/React.createElement(\"option\", {\n value: \"0\"\n }, translate('Select an alternative')), groups != null ? groups.map(function (group) {\n return /*#__PURE__*/React.createElement(\"option\", {\n key: \"gfilter-section-\".concat(group.id),\n value: group.id\n }, group.title);\n }) : null), this.state.value != '0' ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n paddingTop: '0.25em',\n cursor: 'pointer'\n },\n onClick: this.reset\n }, translate('Reset filter')) : null)));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n groups: state.groups.progressSections,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {})(GroupFilter);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React from 'react';\nimport DataObject from './index.js';\nvar ColorScale = /*#__PURE__*/function (_DataObject) {\n function ColorScale() {\n var _this;\n _classCallCheck(this, ColorScale);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, ColorScale, [].concat(args));\n _defineProperty(_this, \"colors\", ['#f55d6e',\n // Not achieved\n '#1bd308',\n // Lowest\n '#1ede34', '#23de96', '#12d3ad', '#2bbbc1',\n // Middle\n '#179bbc', '#1e87b5', '#1e6fb5', '#0b5ca8' // Highest\n ]);\n return _this;\n }\n _inherits(ColorScale, _DataObject);\n return _createClass(ColorScale, [{\n key: \"get\",\n value: function get() {\n var addRed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n var size = this.data;\n if (addRed) {\n size = size - 1;\n }\n var result = [];\n if (size == 1) {\n result = [this.colors[1]];\n }\n if (size == 2) {\n result = [this.colors[1], this.colors[9]];\n }\n if (size == 3) {\n result = [this.colors[1], this.colors[5], this.colors[9]];\n }\n if (size == 4) {\n result = [this.colors[1], this.colors[5], this.colors[7], this.colors[9]];\n }\n if (size == 5) {\n result = [this.colors[1], this.colors[3], this.colors[5], this.colors[7], this.colors[9]];\n }\n if (size == 6) {\n result = [this.colors[1], this.colors[3], this.colors[5], this.colors[6], this.colors[8], this.colors[9]];\n }\n if (size == 7) {\n result = [this.colors[1], this.colors[3], this.colors[4], this.colors[5], this.colors[6], this.colors[8], this.colors[9]];\n }\n if (size == 8) {\n result = [this.colors[1], this.colors[2], this.colors[3], this.colors[4], this.colors[5], this.colors[6], this.colors[8], this.colors[9]];\n }\n if (size == 9) {\n result = [this.colors[1], this.colors[2], this.colors[3], this.colors[4], this.colors[5], this.colors[6], this.colors[7], this.colors[8], this.colors[9]];\n }\n if (size > 9) {\n result = [this.colors[1], this.colors[2], this.colors[3], this.colors[4], this.colors[5], this.colors[6], this.colors[7], this.colors[8], this.colors[9]];\n var needed = size - 9;\n for (var i = 0; i < needed; i++) {\n result.push(this.colors[9]);\n }\n }\n if (addRed) {\n result.unshift(this.colors[0]);\n }\n return result;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n return this.colors;\n }\n }]);\n}(DataObject);\nexport default ColorScale;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport ColorScale from '_class/ColorScale';\nimport { getVerdictScales } from 'actions/studyplans';\nimport { verdictIndexColors } from 'constants/colors';\nimport { translate } from '@haldor/ui';\nimport '../Verdict.scss';\nvar VerdictWidget = /*#__PURE__*/function (_Component) {\n function VerdictWidget() {\n var _this;\n _classCallCheck(this, VerdictWidget);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, VerdictWidget, [].concat(args));\n _defineProperty(_this, \"componentDidMount\", function () {\n if (_this.props.scales == null) {\n _this.props.getVerdictScales(_this.props.activeStudent.id);\n }\n });\n _defineProperty(_this, \"getScale\", function (scaleId) {\n if (_this.props.scales == null || _this.props.scales.length == 0) {\n return null;\n }\n var found = _this.props.scales.find(function (scale) {\n return scale.id == scaleId;\n });\n if (found != null) {\n return found;\n }\n return _this.props.scales[0];\n });\n return _this;\n }\n _inherits(VerdictWidget, _Component);\n return _createClass(VerdictWidget, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (this.props.verdict == null) {\n return null;\n }\n var scale = this.getScale(this.props.verdict.scaleId);\n if (scale == null) {\n return null;\n }\n var translate = this.props.translate;\n var colors = new ColorScale(scale.levels.length).get();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict verdict-widget\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict-levels\"\n }, scale.levels.map(function (cell) {\n var styles = {};\n if (_this2.props.verdict != null) {\n if (cell.id == _this2.props.verdict.scaleLevelId) {\n styles = {\n backgroundColor: cell.colorCode != null ? cell.colorCode : colors[cell.level]\n };\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n key: cell.id,\n style: styles,\n className: \"level-dot\"\n });\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"level-text\"\n }, scale.levels.map(function (cell, index) {\n if (_this2.props.verdict != null) {\n if (cell.id == _this2.props.verdict.scaleLevelId) {\n var levelText = \"\";\n if (index == 0) {\n levelText = translate('Not acceptable level of knowledge');\n }\n if (index == 1) {\n levelText = translate('Has reached an acceptable level of knowledge');\n }\n if (index == 2) {\n levelText = translate('Reaching more than an acceptable level of knowledge');\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n key: cell.id\n }, cell.shortLocalizationText != null ? cell.shortLocalizationText : levelText);\n }\n }\n return null;\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n scales: state.studyplans.scales,\n currentStudent: state.guardians.currentStudent,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getVerdictScales: getVerdictScales\n})(VerdictWidget);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Person } from 'components/UI';\nimport '../../Verdict.scss';\nvar VerdictDisplayFeedback = /*#__PURE__*/function (_Component) {\n function VerdictDisplayFeedback() {\n _classCallCheck(this, VerdictDisplayFeedback);\n return _callSuper(this, VerdictDisplayFeedback, arguments);\n }\n _inherits(VerdictDisplayFeedback, _Component);\n return _createClass(VerdictDisplayFeedback, [{\n key: \"render\",\n value: function render() {\n var feedback = '';\n if (this.props.verdict != null) {\n feedback = this.props.verdict.feedback;\n } else if (this.props.feedback != null) {\n feedback = this.props.feedback;\n } else if (this.props.value != null) {\n feedback = this.props.value;\n }\n if (feedback != null && feedback != '') {\n feedback = feedback.replace(/(\\r\\n|\\r|\\n)/g, '
');\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict verdict-feedback-display\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"text\"\n }, this.props.verdict != null ? /*#__PURE__*/React.createElement(Person, {\n person: this.props.verdict\n }, /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: feedback\n }\n })) : feedback));\n }\n }]);\n}(Component);\nexport default VerdictDisplayFeedback;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport ColorScale from '_class/ColorScale';\nimport { translate } from '@haldor/ui';\nimport '../../Verdict.scss';\nvar VerdictDisplayLevel = /*#__PURE__*/function (_Component) {\n function VerdictDisplayLevel() {\n _classCallCheck(this, VerdictDisplayLevel);\n return _callSuper(this, VerdictDisplayLevel, arguments);\n }\n _inherits(VerdictDisplayLevel, _Component);\n return _createClass(VerdictDisplayLevel, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n if (this.props.scale == null) {\n return null;\n }\n var translate = this.props.translate;\n var colors = new ColorScale(this.props.scale.levels.length).get();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict verdict-level-display\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict-cells\"\n }, this.props.scale.levels.map(function (cell, index) {\n var styles = {};\n if (_this.props.verdict != null) {\n if (cell.id == _this.props.verdict.scaleLevelId) {\n styles = {\n backgroundColor: cell.colorCode != null ? cell.colorCode : colors[cell.level],\n color: 'white'\n };\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n key: 'verdict-cell-display-' + cell.id,\n style: styles,\n className: \"cell\"\n }, cell.localizationText != null ? cell.localizationText : cell.level);\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(VerdictDisplayLevel);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport VerdictDisplayFeedback from './Partials/Feedback';\nimport VerdictDisplayLevel from './Partials/Level';\nimport { getVerdictScales } from 'actions/studyplans';\nvar VerdictDisplay = /*#__PURE__*/function (_Component) {\n function VerdictDisplay() {\n var _this;\n _classCallCheck(this, VerdictDisplay);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, VerdictDisplay, [].concat(args));\n _defineProperty(_this, \"componentDidMount\", function () {\n if (_this.props.scales == null) {\n _this.props.getVerdictScales(_this.props.currentStudent.id);\n }\n });\n _defineProperty(_this, \"getUser\", function () {\n return {\n firstName: \"Test\",\n lastName: \"Test\"\n };\n });\n _defineProperty(_this, \"getScale\", function (scaleId) {\n if (_this.props.scales == null || _this.props.scales.length == 0) {\n return null;\n }\n var found = _this.props.scales.find(function (scale) {\n return scale.id == scaleId;\n });\n if (found != null) {\n return found;\n }\n return _this.props.scales[0];\n });\n return _this;\n }\n _inherits(VerdictDisplay, _Component);\n return _createClass(VerdictDisplay, [{\n key: \"render\",\n value: function render() {\n if (this.props.verdict == null) {\n return null;\n }\n var scale = this.getScale(this.props.verdict.scaleId);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict verdict-display-container\"\n }, scale != null ? /*#__PURE__*/React.createElement(VerdictDisplayLevel, {\n verdict: this.props.verdict,\n scale: scale\n }) : null, /*#__PURE__*/React.createElement(VerdictDisplayFeedback, {\n verdict: this.props.verdict\n }));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n scales: state.studyplans.scales,\n activeStudent: state.guardians.activeStudent,\n currentStudent: state.guardians.currentStudent\n };\n}\nexport default connect(mapStateToProps, {\n getVerdictScales: getVerdictScales\n})(VerdictDisplay);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { getGuardianStudentAssessmentsByGroupAndMatrixDate } from 'actions/sections';\nimport './Styles.scss';\nvar Line = /*#__PURE__*/function (_Component) {\n function Line(props) {\n var _this;\n _classCallCheck(this, Line);\n _this = _callSuper(this, Line, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var matrixId = _this.props.detail.matrixID;\n _this.props.getGuardianStudentAssessmentsByGroupAndMatrixDate(_this.props.activeStudent, _this.props.group.id, matrixId, _this.props.start, _this.props.end).then(function (data) {\n var stats = [];\n var gradeIndexColors = ['#AAC4CE',\n // 0\n '#59B0F0',\n // 1\n '#577BF2',\n // 2\n '#6416E2' // 3\n ];\n data.statistics.map(function (stat) {\n stats.push({\n amount: stat.count,\n label: stat.count,\n color: gradeIndexColors[stat.index]\n });\n });\n _this.setState({\n data: stats\n });\n });\n });\n _defineProperty(_this, \"renderLine\", function () {\n var _this$props = _this.props,\n showAmount = _this$props.showAmount,\n showLabel = _this$props.showLabel;\n if (_this.state.data != null) {\n var steps = [];\n var total = _this.state.data.map(function (item) {\n return parseInt(item.amount, 10);\n }).reduce(function (prev, next) {\n return prev + next;\n });\n _this.state.data.map(function (step) {\n var stepWidth = 0;\n if (total > 0) {\n stepWidth = parseInt(step.amount, 10) / total * 100 + '%';\n } else {\n stepWidth = 100 / data.length + '%';\n }\n steps.push({\n width: stepWidth,\n label: step.label ? step.label : '',\n color: step.color ? step.color : '#9E82EB',\n amount: step.amount\n });\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"bar-container\"\n }, steps.map(function (step, i) {\n var style = step.width == '0%' ? {\n padding: '0.2em 0.3em !important',\n backgroundColor: step.color\n } : {\n width: step.width,\n backgroundColor: step.color\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: \"step\",\n style: style\n }, showLabel ? step.label : null, showAmount ? \" \".concat(step.amount) : null, showPercentage ? \" \".concat(step.width, \"%\") : null);\n }));\n }\n });\n _this.state = {\n data: null\n };\n return _this;\n }\n _inherits(Line, _Component);\n return _createClass(Line, [{\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n var _this2 = this;\n if (nextProps.start != this.props.start || nextProps.end != this.props.end) {\n var matrixId = this.props.detail.matrixID;\n this.props.getGuardianStudentAssessmentsByGroupAndMatrixDate(this.props.activeStudent, this.props.group.id, matrixId, nextProps.start, nextProps.end).then(function (data) {\n var stats = [];\n var gradeIndexColors = ['#AAC4CE',\n // 0\n '#59B0F0',\n // 1\n '#577BF2',\n // 2\n '#6416E2' // 3\n ];\n data.statistics.map(function (stat) {\n stats.push({\n amount: stat.count,\n label: stat.count,\n color: gradeIndexColors[stat.index]\n });\n });\n _this2.setState({\n data: stats\n });\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"graph line\"\n }, this.renderLine());\n }\n }]);\n}(Component);\n_defineProperty(Line, \"defaultProps\", {\n showAmount: false,\n showLabel: false\n});\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n group: state.groups.activeGroup,\n activeStudent: state.guardians.activeStudent\n };\n};\nexport default connect(mapStateToProps, {\n getGuardianStudentAssessmentsByGroupAndMatrixDate: getGuardianStudentAssessmentsByGroupAndMatrixDate\n})(Line);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nvar NewLine = /*#__PURE__*/function (_Component) {\n function NewLine() {\n var _this;\n _classCallCheck(this, NewLine);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, NewLine, [].concat(args));\n _defineProperty(_this, \"renderLine\", function (data) {\n var _this$props = _this.props,\n showAmount = _this$props.showAmount,\n showLabel = _this$props.showLabel,\n showAllSteps = _this$props.showAllSteps,\n showPercentage = _this$props.showPercentage;\n var steps = [];\n var total = data.map(function (item) {\n return parseInt(item.amount, 10);\n }).reduce(function (prev, next) {\n return prev + next;\n });\n data.map(function (step) {\n var stepWidth = 0;\n if (total > 0) {\n stepWidth = parseInt(step.amount, 10) / total * 100 + '%';\n } else {\n stepWidth = 100 / data.length + '%';\n }\n steps.push({\n width: stepWidth,\n label: step.label ? step.label : '',\n color: step.color ? step.color : '#9E82EB',\n amount: step.amount\n });\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"bar-container\"\n }, steps.map(function (step, i) {\n var style = showAllSteps && step.width == '0%' ? {\n padding: '0.2em 0.3em !important',\n backgroundColor: step.color\n } : {\n width: step.width,\n backgroundColor: step.color\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: \"step\",\n style: style\n }, showLabel ? step.label : null, showAmount ? \" \".concat(step.amount) : null, showPercentage ? \" \".concat(step.width, \"%\") : null);\n }));\n });\n return _this;\n }\n _inherits(NewLine, _Component);\n return _createClass(NewLine, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props2 = this.props,\n data = _this$props2.data,\n datasets = _this$props2.datasets;\n if (datasets) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"graph line bar\"\n }, datasets.map(function (data) {\n return _this2.renderLine(data);\n }));\n }\n if (data) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"graph line bar\"\n }, this.renderLine(data));\n }\n return null;\n }\n }]);\n}(Component);\n_defineProperty(NewLine, \"defaultProps\", {\n showAmount: false,\n showLabel: false,\n showAllSteps: false\n});\nexport default NewLine;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nvar StandingBar = /*#__PURE__*/function (_Component) {\n function StandingBar() {\n var _this;\n _classCallCheck(this, StandingBar);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, StandingBar, [].concat(args));\n /* Render methods */\n _defineProperty(_this, \"renderData\", function () {\n var data = _this.props.data;\n var total = 0;\n if (data != null && data.length > 0) {\n data.forEach(function (entry) {\n total += entry.amount;\n });\n }\n return data.map(function (entry, index) {\n var height = 0;\n if (entry.amount != null && entry.amount > 0) {\n var percentage = entry.amount / total * 100;\n height = Math.floor(percentage) * _this.props.heightUnit;\n }\n if (height <= _this.props.minimumHeight) {\n height = _this.props.minimumHeight;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n key: 'graph-standingbar-bar' + index,\n className: \"bar\"\n }, _this.props.showAmount ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"amount\"\n }, entry.amount) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"color\",\n style: {\n backgroundColor: entry.color,\n height: height\n }\n }));\n });\n });\n return _this;\n }\n _inherits(StandingBar, _Component);\n return _createClass(StandingBar, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"graph standing-bar\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"bar-container\"\n }, this.renderData()));\n }\n }]);\n}(Component);\n/* Class setup */\n_defineProperty(StandingBar, \"defaultProps\", {\n heightUnit: 2,\n minimumHeight: 5,\n showAmount: true\n});\nexport default StandingBar;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport moment from \"moment\";\nimport { connect } from \"react-redux\";\nimport ColorScale from '_class/ColorScale';\nimport { getPlanAssessments, getAssignmentAssessments } from \"actions/studyplans\";\nimport { Collapsible } from \"UI\";\nimport { StandingBar } from \"UI/Graphs\";\nimport { translate } from '@haldor/ui';\nvar VerdictAssessmentsDisplay = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function VerdictAssessmentsDisplay(props) {\n var _this;\n _classCallCheck(this, VerdictAssessmentsDisplay);\n _this = _callSuper(this, VerdictAssessmentsDisplay, [props]);\n /* Utils */\n _defineProperty(_this, \"getGrade\", function (index) {\n if (index == 0) {\n return \"F\";\n } else if (index == 1) {\n return \"E\";\n } else if (index == 2) {\n return \"C\";\n } else if (index == 3) {\n return \"A\";\n } else {\n return \"A\";\n }\n });\n /* Lifecycle methods */\n _defineProperty(_this, \"componentDidMount\", function () {\n var stats = _this.state.stats;\n var entries = _this.getEntries();\n entries.forEach(function (entry) {\n entry.assessments.forEach(function (assessment) {\n var level = _this.getAssessmentLevel(assessment);\n if (level != null) {\n if (stats[level] != null) {\n var current = stats[level].amount;\n stats[level].amount = current + 1;\n }\n }\n });\n });\n _this.setState({\n stats: stats\n });\n });\n _defineProperty(_this, \"getEntries\", function () {\n var _this$props = _this.props,\n start = _this$props.start,\n end = _this$props.end;\n var assignmentIds = [];\n var planIds = [];\n var assessments = [];\n\n // Combine assessment results\n if (_this.props.assignments != null && _this.props.assignments.length > 0) {\n _this.props.assignments.forEach(function (assignment) {\n if (assignmentIds.indexOf(assignment.referenceId) == -1) {\n if (start != null && end != null) {\n var created = moment(assignment.created);\n if (created.isSameOrBefore(moment(end), \"day\") && created.isSameOrAfter(moment(start), \"day\")) {\n assignmentIds.push(assignment.referenceId);\n }\n } else {\n assignmentIds.push(assignment.referenceId);\n }\n }\n });\n assignmentIds.forEach(function (assignmentId) {\n var assignments = [];\n var referenceTitle = \"\";\n var feedback = \"\";\n _this.props.assignments.forEach(function (assignment) {\n if (assignment.referenceId == assignmentId) {\n referenceTitle = assignment.referenceTitle;\n feedback = assignment.feedback;\n assignments.push(assignment);\n }\n });\n var newEntry = {\n referenceId: assignmentId,\n referenceTitle: referenceTitle,\n feedback: feedback,\n referenceType: \"assignment\",\n assessments: assignments\n };\n assessments.push(newEntry);\n });\n }\n if (_this.props.plans != null && _this.props.plans.length > 0) {\n _this.props.plans.forEach(function (plan) {\n if (planIds.indexOf(plan.referenceId) == -1) {\n if (start != null && end != null) {\n var created = moment(plan.created);\n if (created.isSameOrBefore(moment(end), \"day\") && created.isSameOrAfter(moment(start), \"day\")) {\n planIds.push(plan.referenceId);\n }\n } else {\n planIds.push(plan.referenceId);\n }\n }\n });\n planIds.forEach(function (planId) {\n var plans = [];\n var referenceTitle = \"\";\n var feedback = \"\";\n _this.props.plans.forEach(function (plan) {\n if (plan.referenceId == planId) {\n referenceTitle = plan.referenceTitle;\n feedback = plan.feedback;\n plans.push(plan);\n }\n });\n var newEntry = {\n referenceId: planId,\n referenceTitle: referenceTitle,\n feedback: feedback,\n referenceType: \"plan\",\n assessments: plans\n };\n assessments.push(newEntry);\n });\n }\n return assessments;\n });\n _defineProperty(_this, \"getAssessmentLevel\", function (assessment) {\n var level = null;\n if (assessment.cellId == \"F\") {\n level = 0;\n } else {\n var _assessment$matrix;\n var row = null;\n assessment === null || assessment === void 0 || (_assessment$matrix = assessment.matrix) === null || _assessment$matrix === void 0 || (_assessment$matrix = _assessment$matrix._ParagraphSet) === null || _assessment$matrix === void 0 || _assessment$matrix.forEach(function (paragraph) {\n var _row = paragraph.rows.find(function (_row) {\n return _row.id == assessment.rowId;\n });\n if (_row != null) {\n row = _row;\n }\n });\n if (row != null) {\n level = row.cells.findIndex(function (_cell) {\n return _cell.id == assessment.cellId;\n });\n level = level + 1;\n }\n }\n return level;\n });\n _defineProperty(_this, \"getStatsForEntry\", function (entry) {\n var steps = 4;\n var stats = [];\n var colors = new ColorScale(steps).get();\n for (var i = 0; steps > i; i++) {\n stats[i] = {\n amount: 0,\n color: colors[i]\n };\n }\n entry.assessments.forEach(function (assessment) {\n var level = _this.getAssessmentLevel(assessment);\n if (level != null) {\n if (stats[level] != null) {\n var current = stats[level].amount;\n stats[level].amount = current + 1;\n }\n }\n });\n return stats;\n });\n /* Events */\n _defineProperty(_this, \"toggleList\", function (event) {\n event.preventDefault();\n _this.setState({\n open: !_this.state.open\n });\n });\n /* Render methods */\n _defineProperty(_this, \"renderAssessments\", function () {\n var entries = _this.getEntries();\n var translate = _this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"assessment-list\"\n }, entries.length == 0 ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n textAlign: \"center\"\n }\n }, translate('No assessments found')) : null, entries.map(function (entry, index) {\n var stats = _this.getStatsForEntry(entry);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"verdict-assessment-entry-\" + index,\n className: \"assessment\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"title\"\n }, /*#__PURE__*/React.createElement(\"span\", null, entry.referenceType == \"plan\" ? translate('Plan') : translate('Assignment')), /*#__PURE__*/React.createElement(\"br\", null), /*#__PURE__*/React.createElement(\"strong\", null, entry.referenceTitle), /*#__PURE__*/React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: entry.feedback\n }\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"graph-container\"\n }, /*#__PURE__*/React.createElement(StandingBar, {\n data: stats,\n heightUnit: 0.5\n })));\n }));\n });\n var _steps = 4;\n var _stats = [];\n var _colors = new ColorScale(_steps).get();\n for (var _i = 0; _steps > _i; _i++) {\n _stats[_i] = {\n amount: 0,\n color: _colors[_i]\n };\n }\n _this.state = {\n stats: _stats,\n open: false\n };\n return _this;\n }\n _inherits(VerdictAssessmentsDisplay, _Component);\n return _createClass(VerdictAssessmentsDisplay, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict verdict-assessment-display\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"stats-wrapper\"\n }, /*#__PURE__*/React.createElement(Collapsible, {\n open: this.state.open\n }, this.renderAssessments())));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n assignments: state.studyplans.assignments,\n plans: state.studyplans.plans,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getPlanAssessments: getPlanAssessments,\n getAssignmentAssessments: getAssignmentAssessments\n})(VerdictAssessmentsDisplay);","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { getGuardianStudentLatestVerdicts, getGuardianStudentVerdicts, getPlanAssessments, getAssignmentAssessments, getVerdictScales } from 'actions/studyplans';\nimport Modal from 'containers/Modals/Modal';\nimport RowItem, { RowCell } from 'UI/Elements/List/RowItem';\nimport VerdictWidget from 'containers/Verdict/Display/Widget';\nimport VerdictDisplay from 'containers/Verdict/Display/Verdict';\nimport VerdictAssessmentsDisplay from 'containers/Verdict/Display/Assessments';\nimport Moment from 'moment';\nimport SectionTitle from 'components/Presentation/SectionTitle';\nimport DateTime from '_class/DateTime';\nimport { Spinner, DataList, Collapsible, ColorLabelContainer, ColorLabel, Person } from 'UI';\nimport { Button, Icon, translate } from '@haldor/ui';\nimport './_studyPlan.scss';\nimport moment from 'moment';\nvar StudyPlans = /*#__PURE__*/function (_Component) {\n function StudyPlans(props) {\n var _this;\n _classCallCheck(this, StudyPlans);\n _this = _callSuper(this, StudyPlans, [props]);\n _defineProperty(_this, \"loadData\", /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(studentId) {\n var promises;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _this.setState({\n loadingStudyPlan: true\n });\n promises = [];\n promises.push(_this.props.getVerdictScales(studentId));\n promises.push(_this.props.getGuardianStudentLatestVerdicts(studentId));\n _context.next = 6;\n return Promise.all(promises);\n case 6:\n _this.setState({\n loadingStudyPlan: false\n });\n case 7:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n _defineProperty(_this, \"onCourseClick\", function (course) {\n var activeStudent = _this.props.activeStudent;\n _this.setState({\n verdictLoading: true,\n course: course\n });\n var promises = [];\n promises.push(_this.props.getPlanAssessments(activeStudent.id, course.id));\n promises.push(_this.props.getGuardianStudentVerdicts(activeStudent.id, course.id));\n promises.push(_this.props.getAssignmentAssessments(activeStudent.id, course.id));\n Promise.all(promises).then(function () {\n _this.setState({\n verdictLoading: false\n });\n });\n _this.toggleVerdictModal();\n });\n _defineProperty(_this, \"toggleVerdictModal\", function () {\n _this.setState({\n verdictModal: !_this.state.verdictModal\n });\n });\n _defineProperty(_this, \"toggleOpen\", function (course, active) {\n var open = _this.state.open;\n var found = _this.state.open.indexOf(course.id);\n if (active && found == -1) {\n open.push(course.id);\n }\n if (!active && found > -1) {\n open.splice(found, 1);\n }\n _this.setState({\n open: open\n });\n });\n _defineProperty(_this, \"toggleOpenAll\", function () {\n if (_this.state.open.length > 0) {\n _this.setState({\n open: []\n });\n } else {\n _this.setState({\n open: _toConsumableArray(_this.props.courses).map(function (course) {\n return course.id;\n })\n });\n }\n });\n _defineProperty(_this, \"renderCourseRow\", function (course) {\n var verdict = _this.props.lastVerdicts.find(function (verdict) {\n return verdict.courses.find(function (co) {\n return co.courseId == course.id;\n });\n });\n var open = false;\n var feedback = '';\n var creator = null;\n if (_this.state.open.indexOf(course.id) > -1) {\n open = true;\n }\n if (verdict == null) return null;\n if (moment(_this.props.start).startOf('day') > moment(verdict.published).startOf('day') || moment(_this.props.end).startOf('day') < moment(verdict.published).startOf('day')) return null;\n if (verdict.feedback != null) {\n feedback = verdict.feedback.replace(/(\\r\\n|\\r|\\n)/g, '
');\n }\n creator = {\n firstName: verdict.creatorFirstName,\n lastName: verdict.creatorLastName,\n id: verdict.creator\n };\n var collapsibleTrigger = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex'\n }\n }, /*#__PURE__*/React.createElement(ColorLabelContainer, {\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(ColorLabel, {\n content: course.title + \" \" + (course.year != null ? course.year : ''),\n color: course.colorCode\n })), verdict != null ? /*#__PURE__*/React.createElement(VerdictWidget, {\n verdict: verdict\n }) : course.loading ? /*#__PURE__*/React.createElement(Skeleton, null) : null, verdict != null ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n marginLeft: '.45rem'\n }\n }, new DateTime(verdict.published).getLongDate()) : null);\n return /*#__PURE__*/React.createElement(RowItem, {\n key: course.id\n }, /*#__PURE__*/React.createElement(RowCell, null, /*#__PURE__*/React.createElement(Collapsible, {\n open: open,\n onChange: function onChange(open) {\n return _this.toggleOpen(course, open);\n },\n trigger: collapsibleTrigger\n }, verdict != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict-feedback-row\".concat(!open ? ' no-print' : '')\n }, creator != null ? /*#__PURE__*/React.createElement(Person, {\n style: {\n display: 'inline-flex'\n },\n person: creator\n }, /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: feedback\n }\n })) : /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: feedback\n }\n }), /*#__PURE__*/React.createElement(VerdictWidget, {\n verdict: verdict\n })) : null)), /*#__PURE__*/React.createElement(RowCell, {\n shrink: true,\n onClick: function onClick() {\n return _this.onCourseClick(course);\n }\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n onClick: function onClick() {\n return _this.onCourseClick(course);\n }\n }, _this.props.translate('Show evaluations'))));\n });\n _defineProperty(_this, \"renderPublishedInformation\", function (verdict) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"info-draft\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"draft-badge\",\n style: {}\n }, _this.props.translate('Published') + \": \" + new DateTime(verdict.published).getTimeStamp()));\n });\n _defineProperty(_this, \"renderCurrentVerdict\", function (verdict) {\n if (verdict == null) {\n return null;\n }\n var start = Moment('2018-01-01');\n var end = Moment(verdict.created);\n var verdictBefore = _this.props.verdicts[1];\n if (verdictBefore != null) {\n start = Moment(verdictBefore.created);\n }\n if (_this.state.verdictLoading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '2rem'\n },\n className: \"verdict verdict-entry form-row\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '2rem'\n },\n className: \"verdict verdict-entry form-row\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '1rem'\n }\n }, /*#__PURE__*/React.createElement(\"h3\", null, _this.props.translate('Current verdict'))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"assessment-header\"\n }, _this.renderPublishedInformation(verdict)), /*#__PURE__*/React.createElement(VerdictAssessmentsDisplay, {\n userId: verdict.userId,\n course: _this.state.course,\n start: start,\n end: end\n }), /*#__PURE__*/React.createElement(VerdictDisplay, {\n verdict: verdict\n }));\n });\n _defineProperty(_this, \"renderVerdict\", function (verdict, index) {\n if (verdict == null) {\n return null;\n }\n var start = Moment('2018-01-01');\n var end = Moment(verdict.created);\n var verdictBefore = _this.props.verdicts[index + 1];\n if (verdictBefore != null) {\n start = Moment(verdictBefore.created);\n }\n var trigger = /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flexGrow: 1\n }\n }, Moment.utc(verdict.published).local().format(\"YYYY-MM-DD\")), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flexGrow: 0\n }\n }, /*#__PURE__*/React.createElement(VerdictWidget, {\n verdict: verdict\n })));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"verdict verdict-entry form-row\",\n key: 'user-verdict' + verdict.id\n }, /*#__PURE__*/React.createElement(Collapsible, {\n trigger: trigger\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"assessment-header\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, _this.props.translate('Learning goals')), /*#__PURE__*/React.createElement(\"div\", {\n className: \"info-dates\"\n }, start.format(\"YYYY-MM-DD\"), \" - \", end.format(\"YYYY-MM-DD\"))), /*#__PURE__*/React.createElement(VerdictAssessmentsDisplay, {\n userId: verdict.userId,\n course: _this.state.course,\n start: start,\n end: end\n }), /*#__PURE__*/React.createElement(VerdictDisplay, {\n verdict: verdict\n })));\n });\n _defineProperty(_this, \"renderVerdictsModal\", function () {\n var currentVerdict = null;\n var verdicts = null;\n if (_this.props.verdicts != null && _this.props.verdicts.length > 0) {\n currentVerdict = _this.props.verdicts[0];\n verdicts = _toConsumableArray(_this.props.verdicts);\n verdicts.splice(0, 1);\n }\n return /*#__PURE__*/React.createElement(\"div\", null, currentVerdict != null ? _this.renderCurrentVerdict(currentVerdict) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\",\n style: {\n marginBottom: '1rem'\n }\n }, /*#__PURE__*/React.createElement(\"h3\", null, _this.props.translate('Previous evaluations'))), _this.state.verdictLoading ? null : verdicts != null && verdicts.length != 0 ? verdicts.map(_this.renderVerdict) : /*#__PURE__*/React.createElement(\"div\", {\n style: {\n textAlign: 'center',\n marginBottom: '2rem'\n }\n }, translate('No previous evaluations')));\n });\n _this.state = {\n loadingStudyPlan: true,\n verdictModal: false,\n verdictLoading: false,\n course: null,\n open: []\n };\n return _this;\n }\n _inherits(StudyPlans, _Component);\n return _createClass(StudyPlans, [{\n key: \"componentDidMount\",\n value: function () {\n var _componentDidMount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var activeStudent;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n activeStudent = this.props.activeStudent;\n _context2.next = 3;\n return this.loadData(activeStudent.id);\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, this);\n }));\n function componentDidMount() {\n return _componentDidMount.apply(this, arguments);\n }\n return componentDidMount;\n }()\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var translate = this.props.translate;\n var open = this.state.open.length > 0;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"section study-plan\",\n style: {\n margin: 0,\n padding: 0,\n border: 0\n }\n }, /*#__PURE__*/React.createElement(Modal, {\n isOpen: this.state.verdictModal,\n onClose: this.toggleVerdictModal,\n title: translate('Evaluations')\n }, this.renderVerdictsModal()), /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(\"span\", null, translate('Evaluations'))), this.state.loadingStudyPlan && this.props.courses.length > 0 ? /*#__PURE__*/React.createElement(Spinner, {\n medium: true,\n center: true\n }) : /*#__PURE__*/React.createElement(DataList, {\n data: this.props.courses,\n renderRow: this.renderCourseRow,\n actions: function actions() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df aic jcb\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n onClick: _this2.toggleOpenAll,\n className: open ? \"color--meta toggle-all flip\" : \"color--meta toggle-all\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"ArrowLeft\"\n }), open ? _this2.props.translate('Close all') : _this2.props.translate('Show all')));\n }\n }), this.props.courses != null && this.props.courses.length == 0 && !this.state.loadingStudyPlan ? /*#__PURE__*/React.createElement(\"div\", null, this.props.translate('No study programs found')) : null);\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n courses: state.studyplans.courses,\n activeStudent: state.User.activeStudent,\n lastVerdicts: state.studyplans.lastVerdicts,\n verdicts: state.studyplans.verdicts,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getGuardianStudentVerdicts: getGuardianStudentVerdicts,\n getGuardianStudentLatestVerdicts: getGuardianStudentLatestVerdicts,\n getPlanAssessments: getPlanAssessments,\n getAssignmentAssessments: getAssignmentAssessments,\n getVerdictScales: getVerdictScales\n})(StudyPlans);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport DateTime from '_class/DateTime';\nimport { connect } from 'react-redux';\nimport { translate } from '@haldor/ui';\nvar Comments = /*#__PURE__*/function (_Component) {\n function Comments(props) {\n var _this;\n _classCallCheck(this, Comments);\n _this = _callSuper(this, Comments, [props]);\n /* Render methods - JREND */\n _defineProperty(_this, \"renderUpdate\", function (comment) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"comment\",\n key: comment.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"createdBy color--meta\"\n }, comment.createdBy.firstName, \" \", comment.createdBy.lastName, ' • ' + comment.text, ' • ' + new DateTime(comment.created).getShortDate(true)));\n });\n _defineProperty(_this, \"renderComment\", function (comment) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"comment\",\n key: comment.id\n }, comment.text, /*#__PURE__*/React.createElement(\"div\", {\n className: \"createdBy color--meta\"\n }, comment.createdBy.firstName, \" \", comment.createdBy.lastName, ' • ' + new DateTime(comment.created).getShortDate(true)));\n });\n _this.state = {\n index: 5\n };\n return _this;\n }\n _inherits(Comments, _Component);\n return _createClass(Comments, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var adjustment = this.props.adjustment;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"comment-form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"comments\"\n }, adjustment.comments.map(function (comment, index) {\n if (index > _this2.state.index) {\n return null;\n }\n if (comment.origin == 'USER') {\n return _this2.renderComment(comment);\n }\n if (comment.origin == 'SYSTEM') {\n return _this2.renderUpdate(comment);\n }\n }), adjustment.comments.length > this.state.index ? /*#__PURE__*/React.createElement(\"div\", {\n onClick: function onClick() {\n _this2.setState({\n index: _this2.state.index + 5\n });\n }\n }, this.props.translate('Show more')) : null));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(Comments);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport DateTime from '_class/DateTime';\nimport { Block, Flex, translate } from '@haldor/ui';\nimport { Collapsible } from 'UI';\nimport PostContent from 'components/Presentation/PostContent';\nimport Comments from './Partials/Comments';\nimport './Adjustment.scss';\nvar StudentAdjustment = /*#__PURE__*/function (_Component) {\n function StudentAdjustment() {\n var _this;\n _classCallCheck(this, StudentAdjustment);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, StudentAdjustment, [].concat(args));\n /* Helper methods */\n _defineProperty(_this, \"getStatus\", function () {\n if (_this.props.adjustment.status == 'ACTIVE') {\n return _this.props.translate('Active');\n }\n if (_this.props.adjustment.status == 'COMPLETED') {\n return _this.props.translate('Completed');\n }\n });\n return _this;\n }\n _inherits(StudentAdjustment, _Component);\n return _createClass(StudentAdjustment, [{\n key: \"render\",\n value: /* Render methods - JREND */\n function render() {\n var _this$props = this.props,\n adjustment = _this$props.adjustment,\n translate = _this$props.translate;\n var collapseTrigger = /*#__PURE__*/React.createElement(\"strong\", {\n className: \"trigger\",\n style: {\n cursor: 'pointer'\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n whiteSpace: 'nowrap'\n }\n }, this.props.translate('Subjects'), \" \", adjustment.subjects.length));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"adjustment\"\n }, /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, adjustment.additionalAdjustment.subTitle != null ? adjustment.additionalAdjustment.title + ' ' + adjustment.additionalAdjustment.subTitle : adjustment.additionalAdjustment.title), /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(PostContent, null, adjustment.description), /*#__PURE__*/React.createElement(\"div\", {\n className: \"createdBy color--meta\"\n }, adjustment.createdBy.firstName, \" \", adjustment.createdBy.lastName, ' • ' + new DateTime(adjustment.created).getTimeStampHours())), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: '1rem'\n }\n }, /*#__PURE__*/React.createElement(Comments, {\n adjustment: adjustment\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"side-info\"\n }, adjustment.status == 'ACTIVE' ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"strong\", null, translate('Start time')), /*#__PURE__*/React.createElement(\"br\", null), new DateTime(adjustment.startDate).getLongDate()) : /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"strong\", null, translate('Time period')), /*#__PURE__*/React.createElement(\"br\", null), new DateTime(adjustment.startDate).getLongDate(), ' - ' + new DateTime(adjustment.endDate).getLongDate()), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: '1rem'\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, translate('Status')), /*#__PURE__*/React.createElement(\"br\", null), this.getStatus()), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: '1rem'\n }\n }, /*#__PURE__*/React.createElement(Collapsible, {\n trigger: collapseTrigger\n }, adjustment.subjects != null ? adjustment.subjects.map(function (subject) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: subject.id\n }, subject.title);\n }) : null))))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(StudentAdjustment);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { getStudentAdjustments } from 'actions/additional_adjustments';\nimport { translate } from '@haldor/ui';\nimport { Collapsible } from 'UI';\nimport StudentAdjustment from 'containers/AdditionalAdjustments/Display/StudentAdjustment';\nvar AdditionalAdjustments = /*#__PURE__*/function (_Component) {\n function AdditionalAdjustments() {\n var _this;\n _classCallCheck(this, AdditionalAdjustments);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, AdditionalAdjustments, [].concat(args));\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.props.getStudentAdjustments(_this.props.activeStudent.id);\n });\n return _this;\n }\n _inherits(AdditionalAdjustments, _Component);\n return _createClass(AdditionalAdjustments, [{\n key: \"render\",\n value: function render() {\n var active = this.props.studentAdjustments.filter(function (adjustment) {\n return adjustment.status == 'ACTIVE';\n });\n var completed = this.props.studentAdjustments.filter(function (adjustment) {\n return adjustment.status == 'COMPLETED';\n });\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h2\", {\n className: \"c--title\"\n }, this.props.translate('Additional adjustments')), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: '1rem'\n }\n }), active.map(function (adjustment) {\n return /*#__PURE__*/React.createElement(StudentAdjustment, {\n key: adjustment.id,\n adjustment: adjustment\n });\n }), completed.length > 0 ? /*#__PURE__*/React.createElement(Collapsible, {\n trigger: translate('Completed')\n }, completed.map(function (adjustment) {\n return /*#__PURE__*/React.createElement(StudentAdjustment, {\n key: adjustment.id,\n adjustment: adjustment\n });\n })) : null);\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n studentAdjustments: state.AdditionalAdjustments.studentAdjustments,\n activeStudent: state.User.activeStudent,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getStudentAdjustments: getStudentAdjustments\n})(AdditionalAdjustments);","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { fetch_preschoolgoals, getLinkedPlansAndDocumententationsForGoal, resetLinkedPlansAndDocumentations, getGoalsStatisticsForUser } from 'actions/preschoolform';\nimport { Collapsible, Spinner } from 'UI';\nimport { Flex, Block, translate } from '@haldor/ui';\nimport './_mentorGoalOverview.scss';\nvar MentorGoalOverView = /*#__PURE__*/function (_Component) {\n function MentorGoalOverView() {\n var _this;\n _classCallCheck(this, MentorGoalOverView);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, MentorGoalOverView, [].concat(args));\n _defineProperty(_this, \"componentDidMount\", function () {\n if (_this.props.goals == null || _this.props.goals.length == 0) {\n _this.props.fetch_preschoolgoals();\n }\n if (_this.props.linkedData != null && _this.props.linkedData.length > 0) {\n _this.props.resetLinkedPlansAndDocumentations();\n }\n var _this$props = _this.props,\n userId = _this$props.userId,\n start = _this$props.start,\n end = _this$props.end;\n _this.props.getGoalsStatisticsForUser(userId, start, end);\n });\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n if (nextProps.start != _this.props.start || nextProps.end != _this.props.end) {\n var fetchedGoals = [];\n if (_this.props.linkedData != null) {\n _this.props.linkedData.forEach(function (linked) {\n fetchedGoals.push(linked.goalId);\n });\n }\n var userId = _this.props.userId;\n if (fetchedGoals.length > 0) {\n _this.props.resetLinkedPlansAndDocumentations();\n fetchedGoals.forEach(function (id) {\n _this.props.getLinkedPlansAndDocumententationsForGoal(id, nextProps.start, nextProps.end);\n });\n }\n _this.props.getGoalsStatisticsForUser(userId, nextProps.start, nextProps.end);\n }\n });\n _defineProperty(_this, \"getCategories\", function () {\n var categories = [];\n if (_this.props.goals != null) {\n _this.props.goals.forEach(function (goal) {\n if (!categories.find(function (category) {\n return category.title === goal.group;\n })) {\n categories.push({\n title: goal.group,\n color: goal.colorCode\n });\n }\n });\n }\n return categories;\n });\n _defineProperty(_this, \"getGoalsByCategoryName\", function (category) {\n var goals = [];\n if (_this.props.goals != null) {\n goals = _toConsumableArray(_this.props.goals).filter(function (goal) {\n return goal.group == category;\n });\n }\n return goals;\n });\n _defineProperty(_this, \"onGoalCategoryChange\", function (open, goal) {\n var _this$props2 = _this.props,\n userId = _this$props2.userId,\n start = _this$props2.start,\n end = _this$props2.end;\n if (open) {\n var linked = _this.getGoalLinkedData(goal.id);\n if (linked == null) {\n _this.props.getLinkedPlansAndDocumententationsForGoal(goal.id, start, end);\n }\n }\n });\n _defineProperty(_this, \"getGoalLinkedData\", function (goalId) {\n var linkedData = _this.props.linkedData;\n var data = [];\n if (linkedData != null) {\n var foundGoalData = linkedData.find(function (linked) {\n return linked.goalId == goalId;\n });\n if (foundGoalData != null) {\n foundGoalData.plans.forEach(function (plan) {\n data.push(_objectSpread(_objectSpread({}, plan), {}, {\n type: 'Planning'\n }));\n });\n foundGoalData.documentations.forEach(function (documentation) {\n data.push(_objectSpread(_objectSpread({}, documentation), {}, {\n type: 'documentation'\n }));\n });\n } else {\n // Nothing loaded\n data = null;\n }\n }\n return data;\n });\n _defineProperty(_this, \"getGoalBadgeContent\", function (goalId) {\n var content = null;\n if (_this.props.statistics != null && _this.props.statistics.length > 0) {\n var foundStatistic = _this.props.statistics[0].statistics.find(function (stat) {\n return stat.goalId == goalId;\n });\n if (foundStatistic != null) {\n content = foundStatistic.total;\n }\n }\n return content;\n });\n _defineProperty(_this, \"getCategoryProgress\", function (category) {\n var goals = _this.getGoalsByCategoryName(category);\n var categoryCount = 0;\n goals.forEach(function (goal) {\n var goalStatistics = _this.getGoalBadgeContent(goal.id);\n if (goalStatistics != null) {\n categoryCount += 1;\n }\n });\n return categoryCount;\n });\n return _this;\n }\n _inherits(MentorGoalOverView, _Component);\n return _createClass(MentorGoalOverView, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var categories = this.getCategories();\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"mentor-goal-overview\"\n }, categories.map(function (category, index) {\n var goals = _this2.getGoalsByCategoryName(category.title);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"mentor-goal-category\",\n key: index\n }, /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(Flex, {\n center: true\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginBottom: 0\n }\n }, category.title), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 1,\n textAlign: 'right'\n }\n }, _this2.getCategoryProgress(category.title), \"/\", goals.length, ' ' + translate('Completed').toLowerCase())), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '1rem'\n }\n }), goals.map(function (goal) {\n var linked = _this2.getGoalLinkedData(goal.id);\n var badgeContent = _this2.getGoalBadgeContent(goal.id);\n var title = /*#__PURE__*/React.createElement(Flex, {\n center: true,\n space: true\n }, /*#__PURE__*/React.createElement(\"span\", {\n \"data-tooltip\": goal.text\n }, goal.title), /*#__PURE__*/React.createElement(\"div\", {\n className: \"dot-container\"\n }, badgeContent != null ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"number\"\n }, badgeContent) : /*#__PURE__*/React.createElement(\"span\", {\n className: \"empty-dot\"\n })));\n return /*#__PURE__*/React.createElement(Collapsible, {\n key: goal.id,\n onChange: function onChange(e) {\n return _this2.onGoalCategoryChange(e, goal);\n },\n trigger: title\n }, linked != null ? /*#__PURE__*/React.createElement(\"div\", null, linked.length > 0 ? linked.map(function (item, index) {\n var link = '/plan/' + item.id;\n if (item.type == 'documentation') {\n link = '/documents/' + item.id;\n }\n return /*#__PURE__*/React.createElement(Link, {\n to: link,\n key: 'item' + index,\n className: \"linked-item\"\n }, item.title, /*#__PURE__*/React.createElement(\"span\", null, item.type == 'documentation' ? translate('Documentation') : translate('Plan')));\n }) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"text--center color--meta\",\n style: {\n padding: '1rem 0'\n }\n }, translate('No results'))) : /*#__PURE__*/React.createElement(\"div\", {\n style: {\n paddingBottom: '3rem'\n }\n }, /*#__PURE__*/React.createElement(Spinner, {\n small: true,\n center: true\n })));\n })));\n }));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations),\n goals: state.PreschoolGoals.preschoolGoals,\n linkedData: state.PreschoolGoals.linkedData,\n statistics: state.PreschoolGoals.userStatistics\n };\n}\nexport default connect(mapStateToProps, {\n fetch_preschoolgoals: fetch_preschoolgoals,\n getLinkedPlansAndDocumententationsForGoal: getLinkedPlansAndDocumententationsForGoal,\n resetLinkedPlansAndDocumentations: resetLinkedPlansAndDocumentations,\n getGoalsStatisticsForUser: getGoalsStatisticsForUser\n})(MentorGoalOverView);","import { useSelector } from \"react-redux\";\nimport { translate as getTranslate } from \"@haldor/ui\";\nexport var useTranslate = function useTranslate() {\n return getTranslate(useSelector(function (state) {\n return state.Languages.translations;\n }));\n};","import React from 'react';\nimport DateTime from '_class/DateTime';\nimport { getRootUrl } from 'helpers/url';\nimport { Link } from 'react-router-dom';\nimport { Icon } from '@haldor/ui';\nimport { useTranslate } from 'lib/translate';\nvar DisplayCell = function DisplayCell(_ref) {\n var cell = _ref.cell,\n color = _ref.color,\n assessmentDetails = _ref.assessmentDetails,\n isSelected = _ref.isSelected;\n var translate = useTranslate();\n\n /**\n * @param {object} detail\n */\n var getDetailLink = function getDetailLink(detail) {\n if (detail.assessment.referenceType == 'Plan') {\n return getRootUrl() + \"plan/\".concat(detail.navigationObject.referenceId);\n }\n if (detail.assessment.referenceType == 'AssignmentTask') {\n return getRootUrl() + \"assignment/\".concat(detail.navigationObject.referenceId);\n }\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"cell-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: isSelected ? \"cell selected\" : \"cell\",\n style: {\n '--level-color': color\n }\n }, cell.text != null ? cell.text : cell.value), assessmentDetails.map(function (detail) {\n return /*#__PURE__*/React.createElement(Link, {\n to: getDetailLink(detail),\n className: \"assessment-detail\",\n key: detail.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"cell selected\",\n style: {\n '--level-color': color\n }\n }, detail.assessment.referenceType == 'Plan' ? translate('Plan') : translate('Assignment'), /*#__PURE__*/React.createElement(\"div\", {\n className: \"size-12\"\n }, detail.navigationObject.title), /*#__PURE__*/React.createElement(\"div\", {\n className: \"size-12\",\n style: {\n marginTop: '.25rem'\n }\n }, detail.editorUser != null ? detail.editorUser.firstName + ' ' + detail.editorUser.lastName : null, ' • ' + new DateTime(detail.assessment.published).getLongDate()), /*#__PURE__*/React.createElement(Icon, {\n name: \"Check\"\n })));\n }));\n};\nDisplayCell.defaultProps = {\n isSelected: false,\n color: '#ccc',\n assessmentDetails: []\n};\nexport default DisplayCell;","import React from 'react';\nimport ColorScale from '_class/ColorScale';\nimport { useTranslate } from 'lib/translate';\nimport DisplayCell from './DisplayCell';\nvar DisplayMatrix = function DisplayMatrix(_ref) {\n var matrix = _ref.matrix,\n statistic = _ref.statistic;\n var translate = useTranslate();\n if (matrix == null) {\n return null;\n }\n delete matrix.paragraphSet;\n\n /**\n * @param {object} row\n */\n var getColors = function getColors(row) {\n var showRed = true;\n if (matrix.disableNotAchieved) {\n showRed = false;\n }\n return new ColorScale(getRowCells(row).length).get(showRed);\n };\n\n /**\n * @param {object} row\n * @returns {array} cells\n */\n var getRowCells = function getRowCells(row) {\n var cells = JSON.parse(JSON.stringify(row.cells));\n if (!matrix.disableNotAchieved) {\n cells.unshift({\n text: translate('Not achieved'),\n id: 'F'\n });\n }\n return cells;\n };\n\n /**\n * @param {object} row\n * @param {number} index\n * @returns {object} assessmentDetail\n */\n var getCellAssessmentDetails = function getCellAssessmentDetails(row, index) {\n if (statistic == null) {\n return [];\n }\n var foundEntry = statistic.statistics.find(function (stat) {\n return stat.index == index;\n });\n if (foundEntry != null) {\n return foundEntry.assessmentDetails.filter(function (detail) {\n return detail.assessmentBlockPartRow.referenceId == row.id;\n });\n }\n return [];\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block--assessment-block consume\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"display-matrix\"\n }, matrix._ParagraphSet.map(function (paragraph) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"paragraph\",\n key: paragraph.paragraphNr\n }, paragraph.title != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"matrix-paragraph-title\"\n }, paragraph.title) : null, paragraph.subtitle != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"matrix-paragraph-subtitle\"\n }, paragraph.subtitle) : null, paragraph.rows.map(function (row) {\n var colors = getColors(row);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df row\",\n key: row.id\n }, paragraph != null ? /*#__PURE__*/React.createElement(\"div\", null, paragraph.paragraphNr, \".\", row.sentenceNr) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"column-text\"\n }, row.text), /*#__PURE__*/React.createElement(\"div\", {\n className: \"cells df\"\n }, getRowCells(row).map(function (cell, index) {\n var assessmentDetails = getCellAssessmentDetails(row, index);\n return /*#__PURE__*/React.createElement(DisplayCell, {\n key: cell.id,\n cell: cell,\n color: colors[index],\n assessmentDetails: assessmentDetails\n });\n })));\n }));\n })));\n};\nexport default DisplayMatrix;","import React from 'react';\nimport ColorScale from '_class/ColorScale';\nimport DisplayCell from './DisplayCell';\nvar DisplayGoal = function DisplayGoal(_ref) {\n var goal = _ref.goal,\n statistic = _ref.statistic;\n if (goal == null) {\n return null;\n }\n\n /**\n * @param {object} row\n */\n var getColors = function getColors(row) {\n var showRed = row.cells.find(function (cell) {\n return cell.type == 'NotAchievedTextField';\n }) != null;\n return new ColorScale(row.cells.length).get(showRed);\n };\n\n /**\n * @param {object} row\n * @param {number} index\n * @returns {object} assessmentDetail\n */\n var getCellAssessmentDetails = function getCellAssessmentDetails(row, index) {\n if (statistic == null) {\n return [];\n }\n var foundEntry = statistic.statistics.find(function (stat) {\n return stat.index == index;\n });\n if (foundEntry != null) {\n return foundEntry.assessmentDetails.filter(function (detail) {\n return detail.assessmentBlockPartRow.referenceId == row.id;\n });\n }\n return [];\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block--assessment-block consume\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"display-matrix\"\n }, goal.rows.map(function (row) {\n var colors = getColors(row);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df row\",\n key: row.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"column-text\"\n }, row.description), /*#__PURE__*/React.createElement(\"div\", {\n className: \"cells df\"\n }, row.cells.sort(function (a, b) {\n return a.index - b.index;\n }).map(function (cell, index) {\n var assessmentDetails = getCellAssessmentDetails(row, index);\n return /*#__PURE__*/React.createElement(DisplayCell, {\n color: colors[index],\n cell: cell,\n key: cell.id,\n assessmentDetails: assessmentDetails\n });\n })));\n })));\n};\nexport default DisplayGoal;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport DateTime from '_class/DateTime';\nimport { useTranslate } from 'lib/translate';\nimport { capitalize } from 'helpers/content';\nimport { Collapsible } from 'UI';\nimport { Icon } from '@haldor/ui';\nimport './_displayFeedbacks.scss';\nvar DisplayFeedbacks = function DisplayFeedbacks(_ref) {\n var feedbacks = _ref.feedbacks,\n resource = _ref.resource,\n resources = _ref.resources;\n var translate = useTranslate();\n\n /**\n * @returns {array} feedbacks\n */\n var getPublicFeedbacks = function getPublicFeedbacks() {\n if (feedbacks == null) {\n return [];\n }\n return feedbacks.filter(function (feedback) {\n return !feedback.isPrivate;\n });\n };\n\n /**\n * @returns {array} feedbacks\n */\n var getPrivateFeedbacks = function getPrivateFeedbacks() {\n if (feedbacks == null) {\n return [];\n }\n return feedbacks.filter(function (feedback) {\n return feedback.isPrivate;\n });\n };\n var getResource = function getResource(feedback) {\n if (resource != null) {\n return resource;\n }\n if (resources.length > 0) {\n return resources.find(function (resource) {\n return feedback.assessmentBlockPartId == resource.id;\n });\n }\n return null;\n };\n var renderFeedback = function renderFeedback(feedback, index) {\n var resource = getResource(feedback);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"feedback\",\n key: feedback.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"df jcb aic size-12\",\n style: {\n marginBottom: '.4rem'\n }\n }, /*#__PURE__*/React.createElement(\"div\", null, feedback.navigationObject != null ? feedback.navigationObject.referenceType == 'PLAN' ? translate('Plan') + ' • ' + feedback.navigationObject.title : translate('Assignment') + ' • ' + feedback.navigationObject.title : null), /*#__PURE__*/React.createElement(\"div\", null, feedback.editorUser.firstName, \" \", feedback.editorUser.lastName, ' • ' + new DateTime(feedback.published).getLongDate())), /*#__PURE__*/React.createElement(\"div\", {\n className: \"df jcb ais\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: feedback.text\n }\n })));\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"display-feedbacks\"\n }, getPublicFeedbacks().length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"collapsible-container\"\n }, /*#__PURE__*/React.createElement(Collapsible, {\n ignorePropsUpdate: true,\n open: true,\n trigger: translate('Feedback')\n }, getPublicFeedbacks().map(renderFeedback))) : null, getPrivateFeedbacks().length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"collapsible-container\"\n }, /*#__PURE__*/React.createElement(Collapsible, {\n trigger: translate('Personal notes')\n }, getPrivateFeedbacks().map(renderFeedback))) : null);\n};\nDisplayFeedbacks.propTypes = {\n feedbacks: PropTypes.array,\n resource: PropTypes.object,\n resources: PropTypes.array\n};\nDisplayFeedbacks.defaultProps = {\n resource: null,\n resources: []\n};\nexport default DisplayFeedbacks;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nvar Bar = /*#__PURE__*/function (_Component) {\n function Bar() {\n var _this;\n _classCallCheck(this, Bar);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Bar, [].concat(args));\n _defineProperty(_this, \"renderBar\", function (data) {\n var _this$props = _this.props,\n showAmount = _this$props.showAmount,\n showLabel = _this$props.showLabel,\n showAllSteps = _this$props.showAllSteps,\n showPercentage = _this$props.showPercentage;\n var steps = [];\n var total = data.map(function (item) {\n return parseInt(item.amount, 10);\n }).reduce(function (prev, next) {\n return prev + next;\n });\n data.map(function (step) {\n var stepWidth = 0;\n if (total > 0) {\n stepWidth = parseInt(step.amount, 10) / total * 100 + '%';\n } else {\n stepWidth = 100 / data.length + '%';\n }\n steps.push({\n width: stepWidth,\n label: step.label ? step.label : '',\n color: step.color ? step.color : '#9E82EB',\n amount: step.amount\n });\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"bar-container\"\n }, steps.map(function (step, i) {\n var style = showAllSteps && step.width == '0%' ? {\n padding: '0.2em 0.3em !important',\n backgroundColor: step.color\n } : {\n width: step.width,\n backgroundColor: step.color\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n key: i,\n className: \"step\",\n style: style\n }, showLabel ? step.label : null, showAmount ? \" \".concat(step.amount) : null, showPercentage ? \" \".concat(step.width, \"%\") : null);\n }));\n });\n return _this;\n }\n _inherits(Bar, _Component);\n return _createClass(Bar, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props2 = this.props,\n data = _this$props2.data,\n datasets = _this$props2.datasets;\n if (datasets) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"graph bar\"\n }, datasets.map(function (data) {\n return _this2.renderBar(data);\n }));\n }\n if (data) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"graph bar\"\n }, this.renderBar(data));\n }\n return null;\n }\n }]);\n}(Component);\n_defineProperty(Bar, \"defaultProps\", {\n showAmount: false,\n showLabel: false\n});\nexport default Bar;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport React, { useEffect, useState } from 'react';\nimport ColorScale from '_class/ColorScale';\nimport DateTime from '_class/DateTime';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTranslate } from 'lib/translate';\nimport { getUserSummary, getUserStatisticsDetailed } from 'actions/assessments';\nimport DisplayMatrix from 'components/Presentation/DisplayMatrix';\nimport DisplayGoal from 'components/Presentation/DisplayGoal';\nimport DisplayFeedbacks from 'components/Presentation/DisplayFeedbacks';\nimport Bar from 'UI/Graphs/Bar';\nimport { Spinner } from 'UI';\nimport { Block, Expandable, Flex, Icon } from '@haldor/ui';\nimport './_userAssessments.scss';\n\n// TODO: (Next version?) calculate most values with useMemo to improve performance\nvar UserAssessments = function UserAssessments(props) {\n var _useState = useState([]),\n _useState2 = _slicedToArray(_useState, 2),\n open = _useState2[0],\n setOpen = _useState2[1];\n var _useState3 = useState(true),\n _useState4 = _slicedToArray(_useState3, 2),\n loading = _useState4[0],\n setLoading = _useState4[1];\n var dispatch = useDispatch();\n var summary = useSelector(function (state) {\n return state.assessments.studentOverview;\n });\n var statistics = useSelector(function (state) {\n return state.assessments.studentStatistics;\n });\n var translate = useTranslate();\n useEffect( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var params, start, end;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n params = {};\n if (props.sectionId != null) {\n params.sectionId = props.sectionId;\n }\n setLoading(true);\n start = new DateTime(props.start).endOf('day').getUTCTimeStamp();\n end = new DateTime(props.end).endOf('day').getUTCTimeStamp();\n _context.next = 7;\n return Promise.all([dispatch(getUserSummary(props.studentId, start, end, params)), dispatch(getUserStatisticsDetailed(props.studentId, start, end, params))]);\n case 7:\n setLoading(false);\n return _context.abrupt(\"return\", function () {\n return null;\n });\n case 9:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })), [props.studentId, props.start, props.end, props.sectionId]);\n useEffect(function () {\n if (summary != null && open.length == 0) {\n setOpen(summary.courses.flatMap(function (course) {\n return [\"\".concat(course.id, \"-assessment\"), \"\".concat(course.id, \"-feedback\")];\n }));\n }\n }, [summary]);\n\n /**\n * @param {number} matrixId\n * @returns {array} parts\n */\n var getPartsByMatrixId = function getPartsByMatrixId(matrixId) {\n if (summary == null) {\n return [];\n }\n return summary.assessmentBlockParts.filter(function (part) {\n return part.referenceType == 'matrix' && part.referenceId == matrixId;\n });\n };\n\n /**\n * @param {number} courseId\n * @returns {array} parts\n */\n var getGoalPartsByCourseId = function getGoalPartsByCourseId(courseId) {\n if (summary == null) {\n return [];\n }\n var blockParts = summary.assessmentBlockParts;\n blockParts = blockParts.filter(function (part) {\n if (part.referenceType == 'matrix') {\n return false;\n }\n return part.assessmentBlockPartRelationships.find(function (relationship) {\n return relationship.courseId == courseId;\n }) != null;\n });\n return blockParts;\n };\n\n /**\n * @param {array} parts\n * @returns {array} feedbacks\n */\n var getFeedbacksForParts = function getFeedbacksForParts(parts) {\n if (summary == null) {\n return [];\n }\n return JSON.parse(JSON.stringify(summary.assessmentFeedbacks)).filter(function (feedback) {\n return parts.find(function (part) {\n return feedback.assessmentBlockPartId == part.id;\n }) != null;\n });\n };\n\n /**\n * @returns {object} statistic\n */\n var getStudentStatistic = function getStudentStatistic() {\n if (statistics == null || props.studentId == null) {\n return null;\n }\n return statistics.find(function (statistic) {\n return statistic.studentId == props.studentId;\n });\n };\n\n /**\n * @param {object} part\n * @returns {object} statistic\n */\n var getPartStatistic = function getPartStatistic(part) {\n var _getStudentStatistic;\n return (_getStudentStatistic = getStudentStatistic()) === null || _getStudentStatistic === void 0 ? void 0 : _getStudentStatistic.studentStatistics.find(function (statistic) {\n return statistic.type == part.referenceType.toUpperCase() && statistic.referenceId == part.referenceId;\n });\n };\n\n /**\n * @param {number} matrixId \n * @returns {object} statistic\n */\n var getMatrixStatistic = function getMatrixStatistic(matrixId) {\n var _getStudentStatistic2;\n return (_getStudentStatistic2 = getStudentStatistic()) === null || _getStudentStatistic2 === void 0 ? void 0 : _getStudentStatistic2.studentStatistics.find(function (statistic) {\n return statistic.type == 'MATRIX' && statistic.referenceId == matrixId;\n });\n };\n\n /**\n * @param {number} id\n * @param {string} section\n */\n var toggleSection = function toggleSection(id, section) {\n var newOpen = _toConsumableArray(open);\n var identifier = \"\".concat(id, \"-\").concat(section);\n var index = open.indexOf(identifier);\n if (index > -1) {\n newOpen.splice(index, 1);\n } else {\n newOpen.push(identifier);\n }\n setOpen(newOpen);\n };\n var toggleAll = function toggleAll(e) {\n e.preventDefault();\n if (open.length > 0) {\n setOpen([]);\n } else {\n if (summary != null) {\n setOpen(summary.courses.flatMap(function (course) {\n return [\"\".concat(course.id, \"-assessment\"), \"\".concat(course.id, \"-feedback\"), \"goals-assessment\", \"goals-feedback\"];\n }));\n }\n }\n };\n\n /**\n * @param {number} courseId\n */\n var toggleCourse = function toggleCourse(courseId) {\n var assessment = open.indexOf(\"\".concat(courseId, \"-assessment\"));\n var feedback = open.indexOf(\"\".concat(courseId, \"-feedback\"));\n if (assessment > -1 || feedback > -1) {\n var newOpen = _toConsumableArray(open);\n if (assessment > -1) newOpen.splice(assessment, 1);\n feedback = newOpen.indexOf(\"\".concat(courseId, \"-feedback\"));\n if (feedback > -1) newOpen.splice(feedback, 1);\n setOpen(newOpen);\n } else {\n setOpen([\"\".concat(courseId, \"-assessment\"), \"\".concat(courseId, \"-feedback\")].concat(_toConsumableArray(open)));\n }\n };\n var getPartTitle = function getPartTitle(part, statistic, reference) {\n var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var colors = [];\n var extraTitle = null;\n var displayGraph = true;\n if (statistic != null) {\n var addRed = false;\n if (statistic.type == \"MATRIX\") {\n addRed = !reference.disableNotAchieved;\n displayGraph = statistic.statistics.find(function (stat) {\n return stat.count > 0;\n }) != null;\n }\n if (statistic.type == \"ASSESSMENTGOAL\") {\n addRed = reference.rows.find(function (row) {\n return row.cells.find(function (cell) {\n return cell.type == 'NotAchievedTextField';\n });\n }) != null;\n statistic.statistics.forEach(function (stat) {\n if (stat.assessmentDetails.length > 0) {\n extraTitle = stat.assessmentDetails[0].navigationObject.title;\n }\n });\n }\n colors = new ColorScale(statistic.statistics.length).get(addRed);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df aic bar-outer-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"bar-title-container\",\n style: {\n marginRight: '.55rem'\n }\n }, translate(part.referenceType), part.referenceType == 'assessmentGoal' ? ' ' + index : null, extraTitle != null ? ' - ' + extraTitle : null), statistic != null && displayGraph ? part.referenceType == 'assessmentGoal' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"assessment-goals-dots\"\n }, statistic.statistics.map(function (items, index) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"goal-dot\",\n style: {\n backgroundColor: \"\".concat(items.count > 0 ? colors[items.index] : null)\n },\n key: index\n });\n })) : /*#__PURE__*/React.createElement(Bar, {\n data: statistic.statistics.map(function (stat) {\n return {\n amount: stat.count,\n label: stat.count,\n color: colors[stat.index]\n };\n }),\n showAmount: true,\n showAllSteps: true\n }) : null);\n };\n\n /**\n * TODO: Replace this with the DisplayFeedbacks component since it pretty much contains the same code\n * @param {object} feedback\n * @param {number} index\n */\n var renderFeedback = function renderFeedback(feedback, index) {\n var resource = summary.assessmentBlockParts.find(function (part) {\n return part.id == feedback.assessmentBlockPartId;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"feedback\",\n style: {\n paddingLeft: 0\n },\n key: feedback.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"df jcb aic size-12\",\n style: {\n marginBottom: '.4rem'\n }\n }, /*#__PURE__*/React.createElement(\"div\", null, feedback.navigationObject != null ? feedback.navigationObject.referenceType == 'PLAN' ? translate('Plan') + ' • ' + feedback.navigationObject.title : translate('Assignment') + ' • ' + feedback.navigationObject.title : null), /*#__PURE__*/React.createElement(\"div\", null, feedback.editorUser.firstName, \" \", feedback.editorUser.lastName, ' • ' + new DateTime(feedback.published).getLongDate())), /*#__PURE__*/React.createElement(\"div\", {\n className: \"df jcb ais\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: feedback.text\n }\n })));\n };\n var renderAssessmentsWithOnlyFeedback = function renderAssessmentsWithOnlyFeedback() {\n if (summary == null || summary.assessmentBlockParts == null) {\n return null;\n }\n var parts = summary.assessmentBlockParts.filter(function (blockPart) {\n return blockPart.assessmentBlockPartRelationships.length == 0;\n });\n if (parts == null || parts.length == 0) {\n return null;\n }\n var isOpen = open.indexOf(\"only-feedbacks\") > -1;\n return /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(Flex, {\n center: true,\n space: true\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n '--color': '#777'\n }\n }, translate('Assessments with only feedback')), /*#__PURE__*/React.createElement(\"div\", {\n className: isOpen ? \"expand-all active\" : \"expand-all\",\n onClick: function onClick() {\n return toggleSection('only', 'feedbacks');\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"ArrowLeft\"\n }), isOpen ? translate('Close all') : translate('Show all'))), /*#__PURE__*/React.createElement(Expandable, {\n color: \"#777\",\n open: open.includes(\"only-feedbacks\"),\n onChange: function onChange() {\n return toggleSection('only', 'feedbacks');\n },\n title: translate('Collected feedback')\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"course-content collected-feedback\"\n }, parts.map(function (part, index) {\n if (part == null || part.referenceType != 'assessmentonlyfeedback') {\n return null;\n }\n var feedbacks = getFeedbacksForParts([part]).filter(function (f) {\n return !f.isPrivate;\n });\n if (feedbacks.length == 0) return null;\n return /*#__PURE__*/React.createElement(Expandable, {\n ignorePropsUpdate: true,\n open: true,\n key: part.id,\n title: getPartTitle(part, null, null, index + 1)\n }, feedbacks.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"display-feedbacks\",\n style: {\n padding: 0,\n border: 0,\n margin: 0\n }\n }, feedbacks.map(renderFeedback)) : null);\n }))));\n };\n var renderGoalsWithoutCourse = function renderGoalsWithoutCourse() {\n var parts = summary === null || summary === void 0 ? void 0 : summary.assessmentBlockParts.filter(function (goal) {\n return goal.assessmentBlockPartRelationships.length == 0;\n });\n if (parts == null || parts.length == 0) {\n return null;\n }\n var isOpen = open.indexOf(\"goals-assessment\") > -1 || open.indexOf(\"goals-feedback\") > -1;\n return /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(Flex, {\n center: true,\n space: true\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n '--color': '#777'\n }\n }, translate('Assessment goals without course relation')), /*#__PURE__*/React.createElement(\"div\", {\n className: isOpen ? \"expand-all active\" : \"expand-all\",\n onClick: function onClick() {\n return toggleCourse('goals');\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"ArrowLeft\"\n }), isOpen ? translate('Hide all') : translate('Show all'))), /*#__PURE__*/React.createElement(Expandable, {\n color: \"#777\",\n open: open.includes(\"goals-assessment\"),\n onChange: function onChange() {\n return toggleSection('goals', 'assessment');\n },\n title: translate('Assessment')\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"course-content\"\n }, parts.map(function (part, index) {\n if (part == null) {\n return null;\n }\n var goal = summary.assessmentGoals.find(function (goal) {\n return goal.id == part.referenceId;\n });\n var statistic = getPartStatistic(part);\n var feedbacks = getFeedbacksForParts([part]);\n if (goal == null || (goal === null || goal === void 0 ? void 0 : goal.rows.length) == 0 && feedbacks.length == 0) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Expandable, {\n ignorePropsUpdate: true,\n open: true,\n key: goal.id,\n title: getPartTitle(part, statistic, goal, index + 1)\n }, goal != null ? /*#__PURE__*/React.createElement(DisplayGoal, {\n goal: goal,\n statistic: statistic\n }) : null, feedbacks.length > 0 ? /*#__PURE__*/React.createElement(DisplayFeedbacks, {\n feedbacks: feedbacks,\n resource: part\n }) : null);\n }))), /*#__PURE__*/React.createElement(Expandable, {\n color: \"#777\",\n open: open.includes(\"goals-feedback\"),\n onChange: function onChange() {\n return toggleSection('goals', 'feedback');\n },\n title: translate('Collected feedback')\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"course-content\"\n }, parts.map(function (part, index) {\n var goal = summary.assessmentGoals.find(function (goal) {\n return goal.id == part.referenceId;\n });\n if (goal == null || part == null) {\n return null;\n }\n var feedbacks = getFeedbacksForParts([part]).filter(function (f) {\n return !f[\"private\"];\n });\n if (feedbacks.length == 0) return null;\n return /*#__PURE__*/React.createElement(Expandable, {\n ignorePropsUpdate: true,\n open: true,\n key: goal.id,\n title: getPartTitle(part, null, goal, index + 1)\n }, feedbacks.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"display-feedbacks\",\n style: {\n padding: 0,\n border: 0,\n margin: 0\n }\n }, feedbacks.map(renderFeedback)) : null);\n }))));\n };\n if (loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"user-asessments assessment-block\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"user-assessments assessment-block\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '1rem'\n }\n }, /*#__PURE__*/React.createElement(Flex, {\n center: true,\n space: true\n }, /*#__PURE__*/React.createElement(\"div\", null), summary != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: open.length > 0 ? \"expand-all active\" : \"expand-all\",\n onClick: toggleAll\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"ArrowLeft\"\n }), open.length > 0 ? translate('Hide all') : translate('Show all')) : null)), summary != null ? summary.courses.map(function (course) {\n // TODO: Condense and optimize this render method\n // Do we have unnecessary data or do we fetch the same data twice?\n var schoolType = translate(course.typeOfSchooling);\n var courseTitle = \"\".concat(course.title, \" \").concat(course.year != null ? course.year : '');\n var courseGoalParts = getGoalPartsByCourseId(course.id);\n var isOpen = open.indexOf(\"\".concat(course.id, \"-assessment\")) > -1 || open.indexOf(\"\".concat(course.id, \"-feedback\")) > -1;\n return /*#__PURE__*/React.createElement(Block, {\n key: course.id\n }, /*#__PURE__*/React.createElement(Flex, {\n center: true,\n space: true\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n '--color': course.colorCode\n }\n }, courseTitle), /*#__PURE__*/React.createElement(\"div\", {\n className: isOpen ? \"expand-all active\" : \"expand-all\",\n onClick: function onClick() {\n return toggleCourse(course.id);\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"ArrowLeft\"\n }), isOpen ? translate('Hide all') : translate('Show all'))), /*#__PURE__*/React.createElement(Expandable, {\n open: open.includes(\"\".concat(course.id, \"-assessment\")),\n onChange: function onChange() {\n return toggleSection(course.id, 'assessment');\n },\n color: course.colorCode,\n title: translate('Assessment')\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"course-content\"\n }, courseGoalParts.map(function (part, index) {\n if (part == null) {\n return null;\n }\n var goal = summary.assessmentGoals.find(function (goal) {\n return goal.id == part.referenceId;\n });\n var statistic = getPartStatistic(part);\n var feedbacks = getFeedbacksForParts([part]);\n if (goal == null || (goal === null || goal === void 0 ? void 0 : goal.rows.length) == 0 && feedbacks.length == 0) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Expandable, {\n ignorePropsUpdate: true,\n open: true,\n key: goal.id,\n title: getPartTitle(part, statistic, goal, index + 1)\n }, goal != null ? /*#__PURE__*/React.createElement(DisplayGoal, {\n goal: goal,\n statistic: statistic\n }) : null, feedbacks.length > 0 ? /*#__PURE__*/React.createElement(DisplayFeedbacks, {\n feedbacks: feedbacks,\n resource: part\n }) : null);\n }), course.details.map(function (detail) {\n var parts = getPartsByMatrixId(detail.matrixID);\n if (parts.length == 0) {\n return null;\n }\n var statistic = getMatrixStatistic(detail.matrixID);\n if (statistic == null) {\n return null;\n }\n var feedbacks = getFeedbacksForParts(parts);\n if (statistic.statistics.find(function (stat) {\n return stat.count > 0;\n }) != null || feedbacks.length > 0) {\n return /*#__PURE__*/React.createElement(Expandable, {\n ignorePropsUpdate: true,\n key: detail.matrixID,\n title: getPartTitle(parts[0], statistic, detail.matrix)\n }, statistic.statistics.find(function (stat) {\n return stat.count > 0;\n }) != null ? /*#__PURE__*/React.createElement(DisplayMatrix, {\n matrix: detail.matrix,\n statistic: statistic\n }) : null, feedbacks.length > 0 ? /*#__PURE__*/React.createElement(DisplayFeedbacks, {\n feedbacks: feedbacks,\n resources: parts\n }) : null);\n } else {\n return null;\n }\n }))), /*#__PURE__*/React.createElement(Expandable, {\n open: open.includes(\"\".concat(course.id, \"-feedback\")),\n onChange: function onChange() {\n return toggleSection(course.id, 'feedback');\n },\n color: course.colorCode,\n title: translate('Collected feedback')\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"course-content\"\n }, courseGoalParts.map(function (part, index) {\n var goal = summary.assessmentGoals.find(function (goal) {\n return goal.id == part.referenceId;\n });\n if (goal == null || part == null) {\n return null;\n }\n var feedbacks = getFeedbacksForParts([part]).filter(function (f) {\n return !f[\"private\"];\n });\n if (feedbacks.length == 0) return null;\n return /*#__PURE__*/React.createElement(Expandable, {\n ignorePropsUpdate: true,\n open: true,\n key: goal.id,\n title: getPartTitle(part, null, goal, index + 1)\n }, feedbacks.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"display-feedbacks\",\n style: {\n padding: 0,\n border: 0,\n margin: 0\n }\n }, feedbacks.map(renderFeedback)) : null);\n }), course.details.map(function (detail) {\n var parts = getPartsByMatrixId(detail.matrixID);\n if (parts.length == 0) {\n return null;\n }\n var feedbacks = getFeedbacksForParts(parts).filter(function (f) {\n return !f[\"private\"];\n });\n if (feedbacks.length == 0) return null;\n return /*#__PURE__*/React.createElement(Expandable, {\n ignorePropsUpdate: true,\n open: true,\n key: detail.matrixID,\n title: getPartTitle(parts[0], null, detail.matrix)\n }, feedbacks.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"display-feedbacks\",\n style: {\n padding: 0,\n border: 0,\n margin: 0\n }\n }, feedbacks.map(renderFeedback)) : null);\n }))));\n }) : null, renderGoalsWithoutCourse(), renderAssessmentsWithOnlyFeedback());\n};\nexport default UserAssessments;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport Moment from \"moment\";\nimport { setPageTitle } from \"actions/header\";\nimport { getUserAssessmentDates } from \"helpers/user\";\nimport { getGuardianStudentAssessmentsForProgress } from 'actions/sections';\nimport DatePickers from \"./Partials/DatePickers\";\nimport GroupFilter from \"./Partials/GroupFilter\";\nimport StudyPlan from \"../StudyPlan/StudyPlan\";\nimport AdditionalAdjustments from \"./Partials/AdditionalAdjustments\";\nimport MentorGoalOverview from \"./Partials/MentorGoalOverview\";\nimport UserAssessments from \"./Partials/UserAssessments\";\nimport { Spinner } from \"components/UI\";\nimport { Button, Tabs, Tab, translate } from \"@haldor/ui\";\nimport { COMPULSORY_SCHOOL, PRESCHOOL, UPPER_SECONDARY_EDUCATION } from \"constants/schoolTypes\";\nvar StudentProgress = /*#__PURE__*/function (_Component) {\n function StudentProgress(props) {\n var _this;\n _classCallCheck(this, StudentProgress);\n _this = _callSuper(this, StudentProgress, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var _this$state = _this.state,\n start = _this$state.start,\n end = _this$state.end;\n _this.props.getGuardianStudentAssessmentsForProgress(_this.props.activeStudent.id, start, end).then(function () {\n _this.setState({\n loading: false\n });\n });\n if (!_this.props.noTitle) {\n _this.props.setPageTitle(_this.props.translate(\"Progress\"));\n }\n });\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n var progressSections = nextProps.progressSections;\n if (progressSections != null && progressSections.length > 0) {\n progressSections = progressSections.sort(function (a, b) {\n if (a.title.toLowerCase() < b.title.toLowerCase()) {\n return -1;\n }\n if (a.title.toLowerCase() > b.title.toLowerCase()) {\n return 1;\n }\n return 0;\n });\n }\n });\n _defineProperty(_this, \"onDateChange\", function (_ref) {\n var start = _ref.start,\n end = _ref.end;\n if (start == \"Invalid date\") {\n start = Moment().subtract(1, \"years\");\n }\n if (end == \"Invalid date\") {\n end = Moment().add(1, \"years\");\n }\n localStorage.setItem(\"assessment-start-date\", start);\n localStorage.setItem(\"assessment-end-date\", end);\n _this.setState({\n start: start,\n end: end\n });\n });\n _defineProperty(_this, \"updateDates\", function () {\n var _this$state2 = _this.state,\n start = _this$state2.start,\n end = _this$state2.end;\n _this.setState({\n loading: true,\n currentStart: start,\n currentEnd: end\n });\n _this.props.getGuardianStudentAssessmentsForProgress(_this.props.activeStudent.id, start, end).then(function () {\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"onGroupChange\", function (groupId) {\n var group = _this.props.progressSections.find(function (g_object) {\n return g_object.id == groupId;\n });\n _this.props.progressSections.map(function (group) {\n group.open = false;\n group.hidden = false;\n });\n if (group != null) {\n _this.props.progressSections.map(function (group) {\n if (groupId != group.id) {\n group.hidden = true;\n }\n });\n } else {\n _this.props.progressSections.map(function (group) {\n group.open = false;\n group.hidden = false;\n return group;\n });\n }\n _this.setState({\n selectedGroupId: groupId\n }, function () {\n if (group != null) {\n group.open = true;\n group.hidden = false;\n }\n });\n });\n _this.state = {\n loading: true,\n student: null,\n selectedGroupId: 0,\n start: getUserAssessmentDates().start,\n end: getUserAssessmentDates().end,\n currentStart: getUserAssessmentDates().start,\n currentEnd: getUserAssessmentDates().end\n };\n return _this;\n }\n _inherits(StudentProgress, _Component);\n return _createClass(StudentProgress, [{\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n var differentProps = this.props !== nextProps;\n var differentState = this.state !== nextState;\n if (differentProps || differentState) {\n return true;\n }\n return false;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n progressSections = _this$props.progressSections,\n translate = _this$props.translate;\n var hasPreschool = this.props.activeStudent.schools.find(function (school) {\n return school.type == PRESCHOOL;\n }) != null;\n var hasCompulsory = this.props.activeStudent.schools.find(function (school) {\n return school.type == COMPULSORY_SCHOOL;\n }) != null;\n var hasUpperSecondary = this.props.activeStudent.schools.find(function (school) {\n return school.type == UPPER_SECONDARY_EDUCATION;\n }) != null;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page progress\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: \"both\"\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: \"2rem\"\n },\n className: \"form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half\"\n }, /*#__PURE__*/React.createElement(DatePickers, {\n startDate: this.state.start,\n endDate: this.state.end,\n onChange: this.onDateChange\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half last\"\n }, /*#__PURE__*/React.createElement(GroupFilter, {\n onChange: this.onGroupChange,\n sections: progressSections\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"1em\"\n }\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n onClick: this.updateDates,\n disabled: this.state.loading\n }, this.state.loading ? /*#__PURE__*/React.createElement(Spinner, null) : null, translate(\"Update\"))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n })), /*#__PURE__*/React.createElement(Tabs, null, hasCompulsory || hasUpperSecondary ? /*#__PURE__*/React.createElement(Tab, {\n title: translate(\"Assessments\"),\n route: \"knowledge\"\n }, /*#__PURE__*/React.createElement(UserAssessments, {\n studentId: this.props.activeStudent.id,\n start: this.state.currentStart,\n end: this.state.currentEnd,\n sectionId: this.state.selectedGroupId != 0 ? this.state.selectedGroupId : null\n })) : null, hasPreschool ? /*#__PURE__*/React.createElement(Tab, {\n title: translate(\"Goals\"),\n route: \"goals\"\n }, /*#__PURE__*/React.createElement(MentorGoalOverview, {\n userId: this.props.activeStudent.id,\n start: this.state.start,\n end: this.state.end\n })) : null, this.props.activeStudent != null && this.props.activeStudent.services.verdicts && (hasCompulsory || hasUpperSecondary) ? /*#__PURE__*/React.createElement(Tab, {\n title: translate(\"Evaluations\"),\n route: \"verdicts\"\n }, /*#__PURE__*/React.createElement(StudyPlan, {\n start: this.state.start,\n end: this.state.end\n })) : null, this.props.activeStudent != null && this.props.activeStudent.services.additionalAdjustments ? /*#__PURE__*/React.createElement(Tab, {\n title: translate(\"Additional adjustments\"),\n route: \"adjustments\"\n }, /*#__PURE__*/React.createElement(AdditionalAdjustments, null)) : null));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n progressSections: state.groups.progressSections,\n progressAssessmentStats: state.groups.progressAssessmentStats,\n studentOverview: state.groups.studentOverview,\n studentAssessments: state.groups.studentAssessments,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle,\n getGuardianStudentAssessmentsForProgress: getGuardianStudentAssessmentsForProgress\n})(StudentProgress);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { Flex, Icon } from '@haldor/ui';\nimport Person from '../UI/Elements/Person';\nvar MeetingUsers = /*#__PURE__*/function (_Component) {\n function MeetingUsers(props) {\n var _this;\n _classCallCheck(this, MeetingUsers);\n _this = _callSuper(this, MeetingUsers, [props]);\n _defineProperty(_this, \"selectParticipant\", function (user) {\n _this.props.onParticipantSelect(user);\n });\n _defineProperty(_this, \"markForConversation\", function (participant) {\n if (_this.props.onConversation != null) {\n _this.props.onConversation(participant);\n }\n });\n return _this;\n }\n _inherits(MeetingUsers, _Component);\n return _createClass(MeetingUsers, [{\n key: \"hasNonStudentRole\",\n value: function hasNonStudentRole(roles, referenceId) {\n return roles.some(function (role) {\n return role.referenceId === referenceId && role.roleId.toLowerCase() !== \"student\";\n });\n }\n }, {\n key: \"renderUsers\",\n value: function renderUsers() {\n var _this2 = this;\n var _this$props = this.props,\n users = _this$props.users,\n schoolId = _this$props.schoolId;\n return users.map(function (participant) {\n var user = participant.user;\n var conversation = null;\n if (_this2.props.conversations != null) {\n conversation = _this2.props.conversations.find(function (conv) {\n return conv.memberships.find(function (member) {\n return member.membershipID == user.id;\n });\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n margin: '0.55rem 0'\n },\n key: 'user-' + user.id\n }, /*#__PURE__*/React.createElement(Flex, {\n center: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(Person, {\n person: user\n })), _this2.props.onConversation != null && _this2.props.user.id != user.id && participant.userType == \"USER\" && user.roles && _this2.hasNonStudentRole(user.roles, schoolId.toString()) ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n style: {\n cursor: 'pointer'\n },\n onClick: function onClick(e) {\n return _this2.markForConversation(user);\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: '1.75rem',\n position: 'relative',\n \"float\": 'right'\n }\n }, conversation != null ? /*#__PURE__*/React.createElement(Icon, {\n name: \"message\"\n }) : /*#__PURE__*/React.createElement(Icon, {\n name: \"message\",\n bw: true\n }), conversation != null && conversation.unreadMessages > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"badge\"\n }, /*#__PURE__*/React.createElement(\"span\", null, conversation.unreadMessages)) : null))) : /*#__PURE__*/React.createElement(\"div\", null)));\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", null, this.renderUsers());\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n user: state.User.user,\n conversations: state.Conversation.referenceConversations\n };\n}\nexport default connect(mapStateToProps, {})(MeetingUsers);","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport { Field, reduxForm } from \"redux-form\";\nimport DateTime from '_class/DateTime';\nimport { Collapsible, Spinner } from 'UI';\nimport { Plus, Minus } from 'UI/Icons';\nimport { Button, Radio, Flex, translate } from '@haldor/ui';\nimport { getMeetingTimeBlocks } from 'actions/timeblocks';\nimport { updateMeetingInstanceDate } from 'actions/meetings';\nimport './_BookMeeting.scss';\nvar BookMeeting = /*#__PURE__*/function (_Component) {\n function BookMeeting(props) {\n var _this;\n _classCallCheck(this, BookMeeting);\n _this = _callSuper(this, BookMeeting, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n Promise.all([_this.props.getMeetingTimeBlocks(_this.props.meeting.id)]).then(function () {\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"required\", function (value, values) {\n if (value == null) {\n return translate('Select a time');\n }\n return undefined;\n });\n _defineProperty(_this, \"submit\", function (values) {\n var onClose = _this.props.onClose;\n _this.setState({\n loading: true\n });\n return new Promise( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(resolve) {\n var slots, slot, date, endTime, obj;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n slots = [];\n _this.props.meetingTimeBlocks.map(function (timeBlock) {\n slots.push.apply(slots, _toConsumableArray(timeBlock.timeBlockSlots));\n });\n slot = slots.find(function (item) {\n return item.id == values.timeBlockSlotId;\n });\n if (!(slot != null)) {\n _context.next = 10;\n break;\n }\n date = moment.utc(slot.startTime);\n endTime = moment.utc(slot.endTime);\n obj = {\n id: _this.props.instance.id,\n meetingId: _this.props.meeting.id,\n timeBlockSlotId: slot.id,\n date: date.format('YYYY-MM-DDTHH:mm:ss'),\n endDate: endTime.format('YYYY-MM-DDTHH:mm:ss')\n };\n _this.props.updateMeetingInstanceDate(obj, _this.props.instance.id).then(function () {\n if (_this.props.instance.date != null) {\n onClose(null, true);\n } else {\n Promise.all([_this.props.getMeetingTimeBlocks(_this.props.meeting.id)]).then(function () {\n _this.setState({\n loading: false,\n error: true\n });\n });\n resolve(0);\n }\n });\n _context.next = 15;\n break;\n case 10:\n _context.next = 12;\n return _this.props.getMeetingTimeBlocks(_this.props.meeting.id);\n case 12:\n _this.setState({\n loading: false,\n error: true\n });\n resolve(1);\n return _context.abrupt(\"return\");\n case 15:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n });\n _defineProperty(_this, \"onCancel\", function (event) {\n // Prevent button submitting form\n event.preventDefault();\n _this.props.onClose(null, false);\n });\n _this.state = {\n dates: null,\n loading: true,\n error: false\n };\n return _this;\n }\n _inherits(BookMeeting, _Component);\n return _createClass(BookMeeting, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n var _this$props = this.props,\n handleSubmit = _this$props.handleSubmit,\n valid = _this$props.valid,\n translate = _this$props.translate;\n if (this.props.meetingTimeBlocks.length == 0) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '2rem'\n },\n className: \"text--center color--meta\"\n }, translate('There are currently no bookable times')));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-container\"\n }, this.state.error != null && this.state.error == true ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\",\n style: {\n marginBottom: '1.8em',\n color: 'red',\n fontWeight: '500'\n }\n }, this.props.translate(\"The time you selected is no longer available. Please choose a different time.\")) : null, /*#__PURE__*/React.createElement(\"form\", {\n onSubmit: handleSubmit(this.submit),\n className: \"form form-component\"\n }, /*#__PURE__*/React.createElement(\"div\", null, this.props.meetingTimeBlocks.map(function (timeblock) {\n var trigger = function trigger(open) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\",\n style: {\n display: 'flex'\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: '1'\n }\n }, new DateTime(timeblock.startTime).getDateString().capitalize()), /*#__PURE__*/React.createElement(Flex, {\n center: true\n }, new DateTime(timeblock.startTime).getTime(), ' - ', new DateTime(timeblock.endTime).getTime(), /*#__PURE__*/React.createElement(\"div\", {\n className: \"open-indicator\"\n }, open ? /*#__PURE__*/React.createElement(Minus, null) : /*#__PURE__*/React.createElement(Plus, null)))));\n };\n var slots = timeblock.timeBlockSlots.filter(function (t) {\n return moment(t.startTime) < moment(timeblock.endTime) && moment(t.endTime) > moment(timeblock.startTime);\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"meeting--slots\",\n key: timeblock.id\n }, /*#__PURE__*/React.createElement(Collapsible, {\n trigger: trigger\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"slots-container\"\n }, slots.map(function (slot, i) {\n var label = moment.utc(slot.startTime).local().format('HH:mm') + ' - ' + moment.utc(slot.endTime).local().format('HH:mm');\n var available = slot.available && moment.utc(slot.startTime) > moment.utc();\n var bookable = slot.bookable;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"slot\",\n key: 'slot-' + i\n }, /*#__PURE__*/React.createElement(Field, {\n component: Radio,\n optionValue: slot.id,\n disabled: !available || !bookable,\n name: \"timeBlockSlotId\",\n label: label,\n validate: _this2.required\n }));\n }))));\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-divider\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row spacing submit\"\n }, /*#__PURE__*/React.createElement(Button, {\n disabled: !valid\n }, translate('Save')), /*#__PURE__*/React.createElement(\"div\", {\n className: \"pull-right\"\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n onClick: this.onCancel\n }, translate('Cancel'))))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n meetingTimeBlockSlots: state.TimeBlocks.meetingTimeBlockSlots,\n meetingTimeBlocks: state.TimeBlocks.meetingTimeBlocks,\n activeStudent: state.User.activeStudent,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getMeetingTimeBlocks: getMeetingTimeBlocks,\n updateMeetingInstanceDate: updateMeetingInstanceDate\n})(reduxForm({\n form: 'BookMeetingBlocks',\n destroyOnUnmount: true\n})(BookMeeting));","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport moment from 'moment';\nimport DateTime from '_class/DateTime';\nimport { getMeeting, getMeetingInstance, updateMeetingInstanceDate, createMeetingFormInstance, requestMeetingCalendarInvite } from 'actions/meetings';\nimport { getFormInstance, getFormTemplate, updateFormInstance } from 'actions/templates';\nimport { setPageTitle } from 'actions/header';\nimport Modal from 'containers/Modals/Modal';\nimport FormInstance from 'containers/FormTemplate/Display/FormInstance';\nimport Message from 'containers/SinglePages/Partials/Message';\nimport StudentProgress from 'containers/Progress/StudentProgress';\nimport PostContent from 'components/Presentation/PostContent';\nimport SectionTitle from 'components/Presentation/SectionTitle';\nimport MeetingUsers from 'components/List/MeetingUsers';\nimport BookMeeting from '../Form/BookMeeting';\nimport { Spinner } from 'UI';\nimport Block, { BlockContent, BlockWrapper } from 'UI/Elements/Block';\nimport { Block as ContentBlock, Flex, Button, Checkbox, Tabs, Tab, translate } from '@haldor/ui';\nimport './Meeting.scss';\nimport { addError } from 'actions';\nvar MeetingInstance = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function MeetingInstance(props) {\n var _this;\n _classCallCheck(this, MeetingInstance);\n _this = _callSuper(this, MeetingInstance, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.loadData();\n });\n _defineProperty(_this, \"loadData\", function () {\n var promise1 = _this.props.getMeeting(_this.props.match.params.id);\n var promise2 = _this.props.getMeetingInstance(_this.props.match.params.instanceId);\n var promises = [promise1, promise2];\n Promise.all(promises).then(function () {\n _this.props.setPageTitle(_this.props.meeting.title);\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"toggleForm\", function (reload) {\n _this.setState({\n formOpen: !_this.state.formOpen\n }, function () {\n if (reload) {\n _this.loadData();\n }\n });\n });\n _defineProperty(_this, \"sendICS\", function () {\n var _this$props = _this.props,\n meetingInstance = _this$props.meetingInstance,\n translate = _this$props.translate;\n _this.props.requestMeetingCalendarInvite(meetingInstance.id).then(function () {\n _this.props.addError(translate('Meeting invite sent to your email'), 'info');\n })[\"catch\"](function () {\n _this.props.addError(translate('Could not send meeting invite'), 'error');\n });\n });\n _defineProperty(_this, \"renderNote\", function (reference) {\n var date = new DateTime(reference.created);\n var translate = _this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"note\",\n key: reference.id\n }, reference.title != null ? /*#__PURE__*/React.createElement(\"h3\", null, reference.title) : null, /*#__PURE__*/React.createElement(\"p\", {\n dangerouslySetInnerHTML: {\n __html: reference.text\n }\n }), /*#__PURE__*/React.createElement(\"p\", {\n className: \"creator\"\n }, reference.author != null ? reference.author.firstName + \" \" + reference.author.lastName : null, /*#__PURE__*/React.createElement(\"span\", {\n style: {\n fontWeight: 400\n }\n }, \" \", date.getFromNow()), /*#__PURE__*/React.createElement(\"span\", {\n style: {\n fontWeight: 400\n }\n }, ' • ', \" \", reference[\"public\"] != null && !reference[\"public\"] ? translate('Private note') : translate('Shared note'))));\n });\n _defineProperty(_this, \"toggleBooking\", function () {\n _this.setState({\n bookingModal: !_this.state.bookingModal\n });\n });\n _defineProperty(_this, \"unbookMeeting\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var obj;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n obj = {\n id: _this.props.meetingInstance.id,\n meetingId: _this.props.meeting.id,\n timeBlockSlotId: null,\n date: null,\n endDate: null\n };\n _this.setState({\n loading: true\n });\n _this.props.updateMeetingInstanceDate(obj, _this.props.meetingInstance.id).then(function () {\n _this.setState({\n loading: false\n });\n });\n case 3:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n _defineProperty(_this, \"onConversation\", function (participant) {\n _this.setState({\n conversationMember: participant\n });\n });\n _defineProperty(_this, \"onConversationClose\", function () {\n _this.setState({\n conversationMember: null\n });\n });\n _defineProperty(_this, \"submitFormInstance\", function (values) {\n return new Promise( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(resolve) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(values.id == null)) {\n _context2.next = 7;\n break;\n }\n values.formID = _this.state.form.id;\n _context2.next = 4;\n return _this.props.createMeetingFormInstance(_this.props.meeting.id, _this.props.meetingInstance.id, values);\n case 4:\n _context2.next = 6;\n return _this.props.getMeetingInstance(_this.props.match.params.instanceId);\n case 6:\n resolve(1);\n case 7:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n _defineProperty(_this, \"onFormInstanceClick\", function (form) {\n var formTemplate = JSON.parse(JSON.stringify(form.form.reference.formTemplate));\n var formTemplateFields = JSON.parse(JSON.stringify(form.form.reference.formTemplate.fields));\n _this.setState({\n formTemplate: formTemplate,\n formTemplateFields: formTemplateFields,\n form: form.form.reference,\n formInstance: form.formInstance\n });\n _this.toggleForm();\n });\n _defineProperty(_this, \"renderForm\", function (form, index) {\n var _form$formInstance;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: index,\n onClick: function onClick() {\n return _this.onFormInstanceClick(form);\n },\n className: \"form-item\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"cell title\"\n }, form.form.reference.title), /*#__PURE__*/React.createElement(\"div\", {\n className: \"cell\"\n }, form.participant.user.firstName, \" \", form.participant.user.lastName), /*#__PURE__*/React.createElement(\"div\", {\n className: \"cell\"\n }, form.formInstance != null ? new DateTime(form.formInstance.reference.edited).getLongDateWithTime() : ''), /*#__PURE__*/React.createElement(\"div\", {\n className: \"cell\"\n }, ((_form$formInstance = form.formInstance) === null || _form$formInstance === void 0 ? void 0 : _form$formInstance.reference.status) == 'SUBMITTED' ? _this.props.translate('Turned in') : _this.props.translate('Not turned in')));\n });\n _this.state = {\n loading: true,\n formOpen: false,\n bookingModal: false,\n dateNow: new Date()\n };\n return _this;\n }\n _inherits(MeetingInstance, _Component);\n return _createClass(MeetingInstance, [{\n key: \"getMeetingForms\",\n value: function getMeetingForms() {\n var _this2 = this;\n var forms = this.props.meeting.relationships.filter(function (t) {\n if (t.referenceType == \"FORM\" && t.targetedAudience != \"FOLLOWUP\") {\n return true;\n }\n return false;\n }).map(function (t) {\n return t;\n });\n var returnForms = [];\n forms.forEach(function (form) {\n _this2.props.meetingInstance.participants.forEach(function (participant) {\n if (participant.userType == form.targetedAudience && participant.userID == _this2.props.user.id) {\n var formInstance = null;\n _this2.props.meetingInstance.relationships.forEach(function (relationship) {\n if (relationship.referenceType == \"FORMINSTANCE\") {\n if (relationship.reference.formID == form.referenceID && relationship.reference.assignedTo == participant.userID) {\n formInstance = relationship;\n }\n }\n });\n returnForms.push({\n form: form,\n participant: participant,\n formInstance: formInstance\n });\n }\n });\n });\n return returnForms;\n }\n }, {\n key: \"getFollowUpForms\",\n value: function getFollowUpForms() {\n var _this3 = this;\n var forms = this.props.meeting.relationships.filter(function (t) {\n if (t.referenceType == \"FORM\" && t.targetedAudience == \"FOLLOWUP\") {\n return true;\n }\n return false;\n }).map(function (t) {\n return t;\n });\n var returnForms = [];\n forms.forEach(function (form) {\n var formInstance = null;\n _this3.props.meetingInstance.relationships.forEach(function (relationship) {\n if (relationship.referenceType == \"FORMINSTANCE\") {\n if (relationship.reference.formID == form.referenceID) {\n formInstance = relationship;\n }\n }\n });\n returnForms.push({\n form: form,\n formInstance: formInstance\n });\n });\n return returnForms;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state$formInsta,\n _this4 = this;\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n var _this$props2 = this.props,\n meeting = _this$props2.meeting,\n meetingInstance = _this$props2.meetingInstance,\n translate = _this$props2.translate;\n var notes = [];\n meetingInstance.relationships.forEach(function (relationship) {\n if (relationship.referenceType == \"NOTE\" && relationship.reference != null) {\n return notes.push(relationship.reference);\n }\n });\n notes.sort(function (a, b) {\n return new Date(b.created) - new Date(a.created);\n });\n var forms = this.getMeetingForms();\n var followUpForms = this.getFollowUpForms();\n var hasBooked = meetingInstance.date != null;\n var hasFilledForms = false;\n if (forms != null) {\n var foundUnfilledForm = forms.find(function (form) {\n return form.formInstance == null;\n });\n hasFilledForms = foundUnfilledForm == null;\n }\n var dateNow = new Date(this.state.dateNow);\n var startDate = new Date(meetingInstance.date);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task meeting single-instance\"\n }, /*#__PURE__*/React.createElement(Modal, {\n title: translate('Forms'),\n isOpen: this.state.formOpen,\n onClose: this.toggleForm\n }, this.state.formTemplate != null ? /*#__PURE__*/React.createElement(FormInstance, {\n form: this.state.formTemplate.id.toString(),\n fields: this.state.formTemplateFields,\n instance: (_this$state$formInsta = this.state.formInstance) === null || _this$state$formInsta === void 0 ? void 0 : _this$state$formInsta.reference,\n onAbort: this.toggleForm,\n onSubmit: this.submitFormInstance,\n disabled: meeting.status == 'COMPLETED'\n }) : /*#__PURE__*/React.createElement(Spinner, {\n center: true\n })), /*#__PURE__*/React.createElement(Message, {\n activeUser: this.state.conversationMember,\n meetingInstance: meetingInstance,\n onClose: this.onConversationClose\n }), /*#__PURE__*/React.createElement(Modal, {\n isOpen: this.state.bookingModal,\n onClose: function onClose() {\n return _this4.toggleBooking();\n },\n type: \"small\",\n title: translate('Book a meeting')\n }, /*#__PURE__*/React.createElement(BookMeeting, {\n onClose: function onClose() {\n _this4.toggleBooking();\n },\n meeting: meeting,\n instance: meetingInstance\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section form left-side\",\n style: {\n paddingTop: 0\n }\n }, /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement(Tab, {\n title: translate('Meeting information'),\n route: \"info\"\n }, (!hasBooked || !hasFilledForms) && meeting.status !== 'COMPLETED' || meeting.status === 'ACTIVE' && (meetingInstance.status === 'DRAFT' || meetingInstance.status === 'ACTIVE') ? /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('To do')), /*#__PURE__*/React.createElement(\"div\", null, !hasBooked ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n onClick: this.toggleBooking,\n style: {\n display: 'inline-block',\n marginBottom: '.35rem',\n cursor: 'pointer'\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n value: false,\n label: translate('Book a meeting'),\n disabled: true\n }))) : null, !hasFilledForms ? /*#__PURE__*/React.createElement(\"a\", {\n href: \"#forms\",\n style: {\n marginBottom: '.35rem',\n cursor: 'pointer',\n color: '#3a3a3a',\n textDecoration: 'none'\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n value: false,\n label: translate('Fill form'),\n disabled: true\n })) : null)) : null, /*#__PURE__*/React.createElement(ContentBlock, null, meetingInstance.date != null ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '1rem'\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Time')), new DateTime(meetingInstance.date).getLongDate(), ' • ', new DateTime(meetingInstance.date).getTime(), meetingInstance.endDate != null ? ' - ' + new DateTime(meetingInstance.endDate).getTime() : null) : null, meetingInstance.studentLed ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '.55rem'\n },\n className: \"color--meta size-14\"\n }, translate('Student will lead the meeting')) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Meeting information')), meeting.status === 'COMPLETED' ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginBottom: '.55rem'\n },\n className: \"color--meta size-14\"\n }, translate('Meeting completed')) : null, /*#__PURE__*/React.createElement(PostContent, null, meeting.description), /*#__PURE__*/React.createElement(PostContent, null, meetingInstance.description), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Participants')), /*#__PURE__*/React.createElement(MeetingUsers, {\n users: meetingInstance.participants,\n schoolId: meeting.schoolID,\n onConversation: this.onConversation\n })))), this.props.student.services.notes ? /*#__PURE__*/React.createElement(Tab, {\n title: translate('Meeting notes'),\n route: \"notes\"\n }, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"notes\"\n }, /*#__PURE__*/React.createElement(Flex, {\n center: true\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n flex: 1\n }\n }, translate('Meeting notes'))), notes.map(function (note) {\n return _this4.renderNote(note);\n }), notes.length == 0 ? /*#__PURE__*/React.createElement(\"div\", null, translate('No notes')) : null))) : null, /*#__PURE__*/React.createElement(Tab, {\n title: translate('Forms'),\n route: \"forms\"\n }, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Forms')), /*#__PURE__*/React.createElement(\"div\", {\n className: \"meeting-forms\"\n }, forms.map(this.renderForm)))))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-actions right-side\",\n style: {\n paddingTop: 0\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"action-section\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, translate('Student')), meetingInstance.student != null ? /*#__PURE__*/React.createElement(\"div\", null, meetingInstance.student.firstName + \" \" + meetingInstance.student.lastName) : null), meetingInstance.date != null && meetingInstance.endDate != null && meeting.status !== 'COMPLETED' && startDate > dateNow ? /*#__PURE__*/React.createElement(\"div\", null, this.props.profile.mail != null ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Button, {\n onClick: this.sendICS,\n type: \"secondary\"\n }, translate('Download calendar file'))) : null, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Button, {\n style: {\n marginTop: 5\n },\n onClick: function onClick() {\n _this4.toggleBooking();\n },\n type: \"secondary\"\n }, translate('Book a meeting'))), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Button, {\n style: {\n marginTop: 5\n },\n onClick: function onClick() {\n _this4.unbookMeeting();\n },\n type: \"secondary\"\n }, translate('Cancel meeting')))) : null, meetingInstance.teamsMeetingData != null ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: '.5rem'\n }\n }, /*#__PURE__*/React.createElement(\"a\", {\n href: meetingInstance.teamsMeetingData.joinWebUrl,\n target: \"_blank\"\n }, translate('Join Teams meeting'))) : null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"section single-section form\"\n }, /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(\"span\", null, translate('Follow up'))), /*#__PURE__*/React.createElement(BlockWrapper, {\n cols: \"1\"\n }, /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(BlockContent, null, followUpForms != null && followUpForms.length > 0 ? followUpForms.map(function (form, i) {\n var _form$formInstance2;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: i\n }, /*#__PURE__*/React.createElement(SectionTitle, null, translate('Forms'), \" \", i + 1), /*#__PURE__*/React.createElement(FormInstance, {\n form: form.form.referenceID.toString(),\n fields: form.form.reference.formTemplate.fields,\n formTemplate: form.form.reference.formTemplate,\n instance: (_form$formInstance2 = form.formInstance) === null || _form$formInstance2 === void 0 ? void 0 : _form$formInstance2.reference,\n followUp: true\n }));\n }) : /*#__PURE__*/React.createElement(\"div\", {\n style: {\n textAlign: \"center\"\n }\n }, translate('Follow up is not available yet')))))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"section single-section form\",\n style: {\n marginTop: 0,\n paddingTop: '1.9em'\n }\n }, /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(\"span\", null, translate('Student card'))), /*#__PURE__*/React.createElement(BlockWrapper, {\n cols: \"1\"\n }, /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(BlockContent, null, /*#__PURE__*/React.createElement(StudentProgress, {\n noTitle: true\n }))))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n profile: state.profile.profile,\n meeting: state.Meetings.meeting,\n meetingInstance: state.Meetings.meetingInstance,\n meetingTimeBlockSlots: state.TimeBlocks.meetingTimeBlockSlots,\n formTemplate: state.Templates.formTemplate,\n formInstance: state.Templates.instance,\n user: state.User.user,\n translate: translate(state.Languages.translations),\n student: state.User.activeStudent\n };\n}\nexport default connect(mapStateToProps, {\n getMeetingInstance: getMeetingInstance,\n getMeeting: getMeeting,\n getFormTemplate: getFormTemplate,\n getFormInstance: getFormInstance,\n createMeetingFormInstance: createMeetingFormInstance,\n updateFormInstance: updateFormInstance,\n setPageTitle: setPageTitle,\n updateMeetingInstanceDate: updateMeetingInstanceDate,\n requestMeetingCalendarInvite: requestMeetingCalendarInvite,\n addError: addError\n})(MeetingInstance);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport { getMeetings } from 'actions/meetings';\nimport Card, { CardFooter, CardsContainer, CardTitle } from 'components/Presentation/Cards/Card';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { setPageTitle } from 'actions/header';\nimport { Tabs, Tab, translate } from '@haldor/ui';\nvar MyMeetings = /*#__PURE__*/function (_Component) {\n /* Class setup */\n function MyMeetings(props) {\n var _this;\n _classCallCheck(this, MyMeetings);\n _this = _callSuper(this, MyMeetings, [props]);\n /* Lifecycle methods */\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.props.getMeetings();\n });\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n var translate = _this.props.translate;\n _this.props.setPageTitle(translate('Meetings'));\n });\n _this.state = {\n modal: false\n };\n return _this;\n }\n _inherits(MyMeetings, _Component);\n return _createClass(MyMeetings, [{\n key: \"render\",\n value: /* Render methods */\n function render() {\n var current = [];\n var past = [];\n if (this.props.meetings != null) {\n current = this.props.meetings.filter(function (meeting) {\n return meeting.instances[0].status == 'ACTIVE' && meeting.status != 'COMPLETED';\n });\n past = this.props.meetings.filter(function (meeting) {\n return meeting.status == 'COMPLETED' || meeting.instances[0].status == 'COMPLETED';\n });\n }\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page\"\n }, /*#__PURE__*/React.createElement(Tabs, null, /*#__PURE__*/React.createElement(Tab, {\n title: translate('Current meetings'),\n route: \"current\"\n }, /*#__PURE__*/React.createElement(CardsContainer, null, current.map(function (meeting) {\n var instance = meeting.instances[0];\n return /*#__PURE__*/React.createElement(Card, {\n type: \"group\",\n key: meeting.id,\n id: meeting.id,\n target: \"/meetings/\".concat(meeting.id, \"/instance/\").concat(instance.id)\n }, /*#__PURE__*/React.createElement(CardTitle, null, meeting.title), /*#__PURE__*/React.createElement(CardFooter, null));\n }))), /*#__PURE__*/React.createElement(Tab, {\n title: translate('Previous meetings'),\n route: \"past\"\n }, /*#__PURE__*/React.createElement(CardsContainer, null, past.map(function (meeting) {\n var instance = meeting.instances[0];\n return /*#__PURE__*/React.createElement(Card, {\n type: \"group\",\n key: meeting.id,\n id: meeting.id,\n target: \"/meetings/\".concat(meeting.id, \"/instance/\").concat(instance.id)\n }, /*#__PURE__*/React.createElement(CardTitle, null, meeting.title), /*#__PURE__*/React.createElement(CardFooter, null));\n })))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n meetings: state.Meetings.meetings,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle,\n getMeetings: getMeetings\n})(MyMeetings);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { translate } from '@haldor/ui';\nvar NotFound = /*#__PURE__*/function (_Component) {\n function NotFound() {\n _classCallCheck(this, NotFound);\n return _callSuper(this, NotFound, arguments);\n }\n _inherits(NotFound, _Component);\n return _createClass(NotFound, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"container\"\n }, /*#__PURE__*/React.createElement(\"h1\", {\n style: {\n textAlign: 'center',\n width: '100%',\n marginBottom: '1em'\n }\n }, translate('Page not found!')), /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n textAlign: 'center',\n width: '100%'\n }\n }, translate('404 - Page may not exist?')));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(NotFound);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport Moment from \"moment\";\nimport DatePickers from \"./Partials/DatePickers\";\nimport SectionTitle from \"components/Presentation/SectionTitle\";\nimport UserAssessments from \"./Partials/UserAssessments\";\nimport { Spinner } from \"UI\";\nimport { Button, translate } from \"@haldor/ui\";\nimport \"./Progress.scss\";\nvar SectionProgress = /*#__PURE__*/function (_Component) {\n function SectionProgress(props) {\n var _props$match$params, _props$match$params2, _props$match$params3, _props$match$params4;\n var _this;\n _classCallCheck(this, SectionProgress);\n _this = _callSuper(this, SectionProgress, [props]);\n _defineProperty(_this, \"onDateChange\", function (_ref) {\n var start = _ref.start,\n end = _ref.end;\n _this.setState({\n start: start,\n end: end\n });\n });\n _defineProperty(_this, \"updateDates\", function () {\n var _this$state = _this.state,\n start = _this$state.start,\n end = _this$state.end;\n _this.setState({\n currentStart: start,\n currentEnd: end\n });\n });\n _this.state = {\n start: (_props$match$params = props.match.params) !== null && _props$match$params !== void 0 && _props$match$params.start ? props.match.params.start : Moment().subtract(6, 'months').format(\"YYYY-MM-DD\"),\n end: (_props$match$params2 = props.match.params) !== null && _props$match$params2 !== void 0 && _props$match$params2.end ? props.match.params.end : Moment().format(\"YYYY-MM-DD\"),\n currentStart: (_props$match$params3 = props.match.params) !== null && _props$match$params3 !== void 0 && _props$match$params3.end ? props.match.params.end : Moment().subtract(6, 'months').format(\"YYYY-MM-DD\"),\n currentEnd: (_props$match$params4 = props.match.params) !== null && _props$match$params4 !== void 0 && _props$match$params4.start ? props.match.params.start : Moment().format(\"YYYY-MM-DD\")\n };\n return _this;\n }\n _inherits(SectionProgress, _Component);\n return _createClass(SectionProgress, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n translate = _this$props.translate,\n activeStudent = _this$props.activeStudent;\n var groupId = null;\n if (this.props.match.params == null) {\n groupId = this.props.groupId;\n } else {\n groupId = this.props.match.params.groupId;\n }\n if (this.props.activeSection == null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"progress\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"progress\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(SectionTitle, null, /*#__PURE__*/React.createElement(\"span\", null, translate(\"Assessments\")))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(DatePickers, {\n onChange: this.onDateChange,\n startDate: this.state.start,\n endDate: this.state.end\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"1em\"\n }\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n onClick: this.updateDates\n }, translate(\"Update\")))), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: \"both\"\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section-divider\",\n style: {\n marginBottom: '3rem'\n }\n }), /*#__PURE__*/React.createElement(UserAssessments, {\n studentId: activeStudent.id,\n sectionId: groupId,\n start: this.state.currentStart,\n end: this.state.currentEnd\n }));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeSection: state.groups.activeGroup,\n studentOverview: state.groups.studentOverview,\n matrixAssessments: state.groups.matrixAssessments,\n activeStudent: state.User.activeStudent,\n studentAssessments: state.groups.studentAssessments,\n translate: translate(state.Languages.translations)\n };\n}\nexport default withRouter(connect(mapStateToProps)(SectionProgress));","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport Moment from 'moment';\nimport PostContent from 'components/Presentation/PostContent';\nimport { Spinner, Expandable } from 'UI';\nimport MyTasks from 'containers/Overview/Sections/MyTasks';\nimport MyPlanning from 'containers/Overview/Sections/MyPlans';\nimport MyPosts from 'containers/Overview/Sections/MyPosts';\nimport SectionProgress from 'containers/Progress/Section';\nimport { getDescription } from 'helpers/content';\nvar CompulsorySchoolSection = /*#__PURE__*/function (_Component) {\n function CompulsorySchoolSection(props) {\n var _this;\n _classCallCheck(this, CompulsorySchoolSection);\n _this = _callSuper(this, CompulsorySchoolSection, [props]);\n _defineProperty(_this, \"updateDates\", function () {\n var _this$state = _this.state,\n dtStart = _this$state.dtStart,\n dtEnd = _this$state.dtEnd;\n _this.setState({\n start: dtStart,\n end: dtEnd\n });\n });\n _defineProperty(_this, \"onDateChange\", function (dates) {\n if (dates.start != _this.state.dtStart || _this.state.end != dates.dtEnd) {\n _this.setState({\n dtStart: dates.start,\n dtEnd: dates.end\n });\n }\n });\n _defineProperty(_this, \"renderGroupContent\", function () {\n var group = _this.props.group;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task page\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section left-side\"\n }, group.description ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(PostContent, null, getDescription(group.description))) : null), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }), _this.props.activeStudent != null && _this.props.activeStudent.services.news ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n marginTop: '4rem'\n }\n }, /*#__PURE__*/React.createElement(MyPosts, {\n overview: true,\n limit: 3,\n groupid: group.id\n })) : null, _this.props.activeStudent != null && _this.props.activeStudent.services.plans ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n marginTop: '4rem'\n }\n }, /*#__PURE__*/React.createElement(MyPlanning, {\n overview: true,\n groupid: group.id,\n dateRestriction: false\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n marginTop: '4rem'\n }\n }, /*#__PURE__*/React.createElement(MyTasks, {\n overview: true,\n groupid: group.id,\n limit: false\n })), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section-divider\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n id: \"section-assessment\",\n className: \"single-section form\"\n }, /*#__PURE__*/React.createElement(SectionProgress, {\n start: _this.state.start,\n end: _this.state.end,\n groupId: group.id,\n userId: _this.props.activeStudent\n })));\n });\n _this.state = {\n end: Moment().format('YYYY-MM-DD'),\n start: Moment().subtract(6, 'months').format('YYYY-MM-DD')\n };\n return _this;\n }\n _inherits(CompulsorySchoolSection, _Component);\n return _createClass(CompulsorySchoolSection, [{\n key: \"render\",\n value: function render() {\n var group = this.props.group;\n if (!group) {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n return this.renderGroupContent();\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n group: state.groups.activeGroup,\n activeStudent: state.User.activeStudent\n };\n};\nexport default connect(mapStateToProps)(CompulsorySchoolSection);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport PostContent from 'components/Presentation/PostContent';\nimport { Spinner } from 'UI';\nimport MyPlanning from 'containers/Overview/Sections/MyPlans';\nimport MyPosts from 'containers/Overview/Sections/MyPosts';\nimport { getDescription } from 'helpers/content';\nvar PreSchoolSection = /*#__PURE__*/function (_Component) {\n function PreSchoolSection(props) {\n var _this;\n _classCallCheck(this, PreSchoolSection);\n _this = _callSuper(this, PreSchoolSection, [props]);\n _defineProperty(_this, \"renderGroupContent\", function () {\n var group = _this.props.group;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task page\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section left-side\"\n }, group.description ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(PostContent, null, getDescription(group.description))) : null), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }), _this.props.activeStudent != null && _this.props.activeStudent.services.news ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n marginTop: '4rem'\n }\n }, /*#__PURE__*/React.createElement(MyPosts, {\n overview: true,\n limit: 3,\n groupid: group.id\n })) : null, _this.props.activeStudent != null && _this.props.activeStudent.services.plans ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n marginTop: '4rem'\n }\n }, /*#__PURE__*/React.createElement(MyPlanning, {\n overview: true,\n groupid: group.id,\n dateRestriction: false\n })) : null);\n });\n return _this;\n }\n _inherits(PreSchoolSection, _Component);\n return _createClass(PreSchoolSection, [{\n key: \"render\",\n value: function render() {\n var group = this.props.group;\n if (!group) {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", null, this.renderGroupContent());\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n group: state.groups.activeGroup,\n activeStudent: state.User.activeStudent\n };\n};\nexport default connect(mapStateToProps)(PreSchoolSection);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport Moment from 'moment';\nimport PostContent from '../../../components/Presentation/PostContent';\nimport { Spinner, Expandable } from 'UI';\nimport MyTasks from '../../Overview/Sections/MyTasks';\nimport MyPlanning from '../../Overview/Sections/MyPlans';\nimport MyPosts from '../../Overview/Sections/MyPosts';\nimport SectionProgress from 'containers/Progress/Section';\nimport { getDescription } from 'helpers/content';\nvar CompulsorySchoolSection = /*#__PURE__*/function (_Component) {\n function CompulsorySchoolSection(props) {\n var _this;\n _classCallCheck(this, CompulsorySchoolSection);\n _this = _callSuper(this, CompulsorySchoolSection, [props]);\n _defineProperty(_this, \"updateDates\", function () {\n var _this$state = _this.state,\n dtStart = _this$state.dtStart,\n dtEnd = _this$state.dtEnd;\n _this.setState({\n loaded: false,\n start: dtStart,\n end: dtEnd\n });\n _this.props.clearMatrixAssessmentOverview();\n });\n _defineProperty(_this, \"onDateChange\", function (dates) {\n if (dates.start != _this.state.dtStart || _this.state.end != dates.dtEnd) {\n _this.setState({\n dtStart: dates.start,\n dtEnd: dates.end\n });\n }\n });\n _defineProperty(_this, \"renderGroupContent\", function () {\n var group = _this.props.group;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task page\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section left-side\"\n }, group.description ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(PostContent, null, getDescription(group.description))) : null), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }), _this.props.activeStudent != null && _this.props.activeStudent.services.news ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n marginTop: '4rem'\n }\n }, /*#__PURE__*/React.createElement(MyPosts, {\n overview: true,\n limit: 3,\n groupid: group.id\n })) : null, _this.props.activeStudent != null && _this.props.activeStudent.services.plans ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n marginTop: '4rem'\n }\n }, /*#__PURE__*/React.createElement(MyPlanning, {\n overview: true,\n groupid: group.id,\n dateRestriction: false\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"section\",\n style: {\n marginTop: '4rem'\n }\n }, /*#__PURE__*/React.createElement(MyTasks, {\n overview: true,\n groupid: group.id,\n limit: false\n })), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section-divider\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n id: \"section-assessment\",\n className: \"single-section form\"\n }, /*#__PURE__*/React.createElement(SectionProgress, {\n start: _this.state.start,\n end: _this.state.end,\n groupId: group.id,\n userId: _this.props.activeStudent\n })));\n });\n _this.state = {\n loading: false,\n end: Moment().format('YYYY-MM-DD'),\n start: Moment().subtract(6, 'months').format('YYYY-MM-DD')\n };\n return _this;\n }\n _inherits(CompulsorySchoolSection, _Component);\n return _createClass(CompulsorySchoolSection, [{\n key: \"render\",\n value: function render() {\n var group = this.props.group;\n if (!group || this.state.loading) {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", null, this.renderGroupContent());\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n group: state.groups.activeGroup,\n activeStudent: state.User.activeStudent\n };\n};\nexport default connect(mapStateToProps)(CompulsorySchoolSection);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport CompulsorySchoolSection from './SectionTypes/CompulsorySchoolSection';\nimport PreSchoolSection from './SectionTypes/PreSchoolSection';\nimport UpperSecondarySchoolSection from './SectionTypes/UpperSecondarySchoolSection';\nimport { getGuardianStudentGroup } from 'actions/sections';\nimport { setPageTitle } from 'actions/header';\nimport { PRESCHOOL, COMPULSORY_SCHOOL, UPPER_SECONDARY_EDUCATION, ADULT_EDUCATION } from 'constants/schoolTypes';\nimport { Spinner } from 'UI';\nvar SectionWrapper = /*#__PURE__*/function (_Component) {\n function SectionWrapper(props) {\n var _this;\n _classCallCheck(this, SectionWrapper);\n _this = _callSuper(this, SectionWrapper, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var groupId = _this.props.match.params.groupId;\n var activeStudent = _this.props.activeStudent;\n _this.props.getGuardianStudentGroup(activeStudent.id, groupId).then(function () {\n _this.props.setPageTitle(_this.props.group.title);\n _this.setState({\n loading: false\n });\n });\n });\n _this.state = {\n modalIsOpen: false,\n loading: true\n };\n return _this;\n }\n _inherits(SectionWrapper, _Component);\n return _createClass(SectionWrapper, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (this.props.group == null || this.state.loading) {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n } else {\n if (this.props.activeStudent != null) {\n var school = this.props.activeStudent.schools.find(function (school) {\n return school.id == _this2.props.group.schoolID;\n });\n if (school == null) {\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n switch (school.type) {\n case PRESCHOOL:\n return /*#__PURE__*/React.createElement(PreSchoolSection, null);\n break;\n case COMPULSORY_SCHOOL:\n return /*#__PURE__*/React.createElement(CompulsorySchoolSection, null);\n break;\n case UPPER_SECONDARY_EDUCATION:\n return /*#__PURE__*/React.createElement(UpperSecondarySchoolSection, null);\n break;\n case ADULT_EDUCATION:\n return /*#__PURE__*/React.createElement(CompulsorySchoolSection, null);\n break;\n default:\n return /*#__PURE__*/React.createElement(\"div\", null);\n break;\n }\n }\n }\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n group: state.groups.activeGroup\n };\n}\nexport default connect(mapStateToProps, {\n getGuardianStudentGroup: getGuardianStudentGroup,\n setPageTitle: setPageTitle\n})(SectionWrapper);","export var getAttendanceColor = function getAttendanceColor(attendance) {\n var color = '#fff';\n if (attendance != null) {\n if (attendance.attendanceType == 'PRESENT') {\n color = '#19DB6C';\n }\n if (attendance.attendanceType == 'INVALID_ABSENCE') {\n color = '#F25252';\n }\n if (attendance.attendanceType == 'ABSENT') {\n color = '#F25252';\n }\n if (attendance.attendanceType == 'VALID_ABSENCE') {\n color = '#FF883E';\n }\n if (attendance.attendanceType == 'INVALID_LATE') {\n color = '#F2527D';\n }\n if (attendance.attendanceType == 'LATE') {\n color = '#F2527D';\n }\n if (attendance.attendanceType == 'VALID_LATE') {\n color = '#EFC24C';\n }\n }\n return color;\n};","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport DatePicker from \"react-datepicker\";\nimport { registerLocale, setDefaultLocale } from \"react-datepicker\";\nimport sv from 'date-fns/locale/sv';\nimport no from 'date-fns/locale/nb';\nimport en from 'date-fns/locale/en-US';\nimport da from \"date-fns/locale/da\";\nimport uk from \"date-fns/locale/uk\";\nimport Moment from \"moment\";\nimport { connect } from \"react-redux\";\nimport { TimePicker } from \"UI/Inputs\";\nimport { translate, getActiveLanguage } from \"@haldor/ui\";\nvar DatePickerFromTo = /*#__PURE__*/function (_Component) {\n function DatePickerFromTo(props) {\n var _this;\n _classCallCheck(this, DatePickerFromTo);\n _this = _callSuper(this, DatePickerFromTo, [props]);\n _defineProperty(_this, \"getDateFormat\", function () {\n var format = Moment.localeData(getActiveLanguage()).longDateFormat(\"L\");\n var newFormat = format.replace(\"YYYY\", \"yyyy\");\n var days = newFormat.replace(\"DD\", \"dd\");\n return days;\n });\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", function (nextProps) {\n if (nextProps.values != null) {\n if (nextProps.type == \"assignment\") {\n if (nextProps.values == null) {\n return;\n }\n _this.setState({\n timeStart: nextProps.values.startDate != null ? Moment.utc(nextProps.values.startDate).local() : Moment(),\n timeEnd: nextProps.values.dueDate != null ? Moment.utc(nextProps.values.dueDate).local() : Moment().add(7, \"days\"),\n dtPickerStartDate: nextProps.values.startDate != null ? Moment.utc(nextProps.values.startDate).local() : Moment(),\n dtPickerDueDate: nextProps.values.dueDate != null ? Moment.utc(nextProps.values.dueDate).local() : Moment().add(7, \"days\"),\n updated: true\n });\n } else if (nextProps.type == \"plan\") {\n if (nextProps.values == null) {\n return;\n }\n _this.setState({\n timeStart: nextProps.values.timeStart != null ? Moment.utc(nextProps.values.timeStart).local() : Moment(),\n timeEnd: nextProps.values.timeEnd != null ? Moment.utc(nextProps.values.timeEnd).local() : Moment().add(7, \"days\"),\n dtPickerStartDate: nextProps.values.timeStart != null ? Moment.utc(nextProps.values.timeStart).local() : Moment(),\n dtPickerDueDate: nextProps.values.timeEnd != null ? Moment.utc(nextProps.values.timeEnd).local() : Moment().add(7, \"days\"),\n updated: true\n });\n }\n }\n });\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.onChange();\n });\n _defineProperty(_this, \"onStartChange\", function (date) {\n var newDate = Moment(date);\n var _this$state = _this.state,\n dtPickerStartDate = _this$state.dtPickerStartDate,\n timeStart = _this$state.timeStart,\n dtPickerDueDate = _this$state.dtPickerDueDate,\n timeEnd = _this$state.timeEnd;\n dtPickerStartDate = newDate;\n timeStart = newDate;\n if (newDate.diff(dtPickerDueDate) > 0) {\n dtPickerDueDate = newDate;\n timeEnd = newDate;\n }\n _this.setState({\n dtPickerDueDate: dtPickerDueDate,\n timeEnd: timeEnd,\n dtPickerStartDate: dtPickerStartDate,\n timeStart: timeStart\n }, function () {\n _this.onChange();\n });\n });\n _defineProperty(_this, \"onEndChange\", function (date) {\n var newDate = Moment(date);\n var _this$state2 = _this.state,\n dtPickerDueDate = _this$state2.dtPickerDueDate,\n timeEnd = _this$state2.timeEnd;\n dtPickerDueDate = newDate;\n timeEnd = newDate;\n _this.setState({\n dtPickerDueDate: dtPickerDueDate,\n timeEnd: timeEnd\n }, function () {\n _this.onChange();\n });\n });\n _defineProperty(_this, \"onStartTimeChange\", function (time) {\n var _this$state3 = _this.state,\n dtPickerStartDate = _this$state3.dtPickerStartDate,\n timeStart = _this$state3.timeStart;\n dtPickerStartDate = Moment(time);\n timeStart = Moment(time);\n _this.setState({\n dtPickerStartDate: dtPickerStartDate,\n timeStart: timeStart\n }, function () {\n _this.onChange();\n });\n });\n _defineProperty(_this, \"onEndTimeChange\", function (time) {\n var _this$state4 = _this.state,\n dtPickerDueDate = _this$state4.dtPickerDueDate,\n timeEnd = _this$state4.timeEnd;\n dtPickerDueDate = Moment(time);\n timeEnd = Moment(time);\n _this.setState({\n dtPickerDueDate: dtPickerDueDate,\n timeEnd: timeEnd\n }, function () {\n _this.onChange();\n });\n });\n _defineProperty(_this, \"onChange\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var dates;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(_this.props.minDate != null)) {\n _context.next = 18;\n break;\n }\n if (!_this.state.timeStart.isSameOrAfter(_this.props.minDate, \"day\")) {\n _context.next = 7;\n break;\n }\n if (!_this.state.startInvalid) {\n _context.next = 5;\n break;\n }\n _context.next = 5;\n return _this.setState({\n startInvalid: false\n });\n case 5:\n _context.next = 9;\n break;\n case 7:\n _context.next = 9;\n return _this.setState({\n startInvalid: true\n });\n case 9:\n if (!_this.state.timeEnd.isSameOrAfter(_this.props.minDate, \"day\")) {\n _context.next = 15;\n break;\n }\n if (!_this.state.endInvalid) {\n _context.next = 13;\n break;\n }\n _context.next = 13;\n return _this.setState({\n endInvalid: false\n });\n case 13:\n _context.next = 17;\n break;\n case 15:\n _context.next = 17;\n return _this.setState({\n endInvalid: true\n });\n case 17:\n _this.onDateValidChange();\n case 18:\n if (_this.props.onChange) {\n dates = {\n start: _this.state.timeStart,\n end: _this.state.timeEnd\n };\n _this.props.onChange(dates);\n }\n case 19:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n _defineProperty(_this, \"onStartDateInput\", /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(event) {\n var date;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(event == null)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", false);\n case 2:\n date = Moment(event.target.value);\n if (date.isValid()) {\n _context2.next = 5;\n break;\n }\n return _context2.abrupt(\"return\", false);\n case 5:\n if (!(_this.props.minDate != null)) {\n _context2.next = 16;\n break;\n }\n if (!date.isSameOrAfter(_this.props.minDate, \"day\")) {\n _context2.next = 13;\n break;\n }\n if (!_this.state.startInvalid) {\n _context2.next = 11;\n break;\n }\n _context2.next = 10;\n return _this.setState({\n startInvalid: false\n });\n case 10:\n _this.onDateValidChange();\n case 11:\n _context2.next = 16;\n break;\n case 13:\n _context2.next = 15;\n return _this.setState({\n startInvalid: true\n });\n case 15:\n _this.onDateValidChange();\n case 16:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n _defineProperty(_this, \"onEndDateInput\", /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(event) {\n var date;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!(event == null)) {\n _context3.next = 2;\n break;\n }\n return _context3.abrupt(\"return\", false);\n case 2:\n date = Moment(event.target.value);\n if (date.isValid()) {\n _context3.next = 5;\n break;\n }\n return _context3.abrupt(\"return\", false);\n case 5:\n if (!(_this.props.minDate != null)) {\n _context3.next = 16;\n break;\n }\n if (!date.isSameOrAfter(_this.props.minDate, \"day\")) {\n _context3.next = 13;\n break;\n }\n if (!_this.state.endInvalid) {\n _context3.next = 11;\n break;\n }\n _context3.next = 10;\n return _this.setState({\n endInvalid: false\n });\n case 10:\n _this.onDateValidChange();\n case 11:\n _context3.next = 16;\n break;\n case 13:\n _context3.next = 15;\n return _this.setState({\n endInvalid: true\n });\n case 15:\n _this.onDateValidChange();\n case 16:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n _defineProperty(_this, \"onDateValidChange\", function () {\n if (_this.props.onValidate != null && typeof _this.props.onValidate == \"function\") {\n _this.props.onValidate(!_this.state.startInvalid && !_this.state.endInvalid);\n }\n });\n Moment.locale(getActiveLanguage());\n registerLocale('en-US', en);\n registerLocale('sv-SE', sv);\n registerLocale('nb-NO', no);\n registerLocale('da-DK', da);\n registerLocale('uk', uk);\n setDefaultLocale('en-US');\n if (props.values != null && props.type == \"assignment\") {\n _this.state = {\n timeStart: props.values.startDate != null ? Moment.utc(props.values.startDate).local() : Moment(),\n timeEnd: props.values.dueDate != null ? Moment.utc(props.values.dueDate).local() : Moment().add(7, \"days\"),\n dtPickerStartDate: props.values.startDate != null ? Moment.utc(props.values.startDate).local() : Moment(),\n dtPickerDueDate: props.values.dueDate != null ? Moment.utc(props.values.dueDate).local() : Moment().add(7, \"days\"),\n updated: false\n };\n } else if (props.values != null && props.type == \"plan\") {\n _this.state = {\n timeStart: props.values.timeStart != null ? Moment.utc(props.values.timeStart).local() : Moment(),\n timeEnd: props.values.timeEnd != null ? Moment.utc(props.values.timeEnd).local() : Moment().add(7, \"days\"),\n dtPickerStartDate: props.values.timeStart != null ? Moment.utc(props.values.timeStart).local() : Moment(),\n dtPickerDueDate: props.values.timeEnd != null ? Moment.utc(props.values.timeEnd).local() : Moment().add(7, \"days\"),\n updated: false,\n startInvalid: false,\n endInvalid: false\n };\n } else if (props.values != null && props.values.start != null && props.values.end != null) {\n _this.state = {\n timeStart: props.values.start != null ? Moment.utc(props.values.start).local() : Moment(),\n timeEnd: props.values.end != null ? Moment.utc(props.values.end).local() : Moment().add(7, \"days\"),\n dtPickerStartDate: props.values.start != null ? Moment.utc(props.values.start).local() : Moment(),\n dtPickerDueDate: props.values.end != null ? Moment.utc(props.values.end).local() : Moment().add(7, \"days\"),\n updated: false\n };\n } else {\n _this.state = {\n timeStart: Moment(),\n timeEnd: Moment().add(7, \"days\"),\n dtPickerStartDate: Moment(),\n dtPickerDueDate: Moment().add(7, \"days\"),\n updated: false\n };\n }\n return _this;\n }\n _inherits(DatePickerFromTo, _Component);\n return _createClass(DatePickerFromTo, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half\"\n }, this.props.timePicker ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half static\"\n }, /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"date-start\"\n }, this.props.translate(\"Start\")), /*#__PURE__*/React.createElement(DatePicker, {\n selected: this.state.dtPickerStartDate.toDate(),\n startDate: this.state.dtPickerStartDate.toDate(),\n endDate: this.state.dtPickerDueDate.toDate(),\n minDate: this.props.minDate != null ? Moment(this.props.minDate).toDate() : null,\n dateFormat: this.getDateFormat(),\n onChange: this.onStartChange,\n popperModifiers: {\n preventOverflow: {\n enabled: false\n },\n positionFixed: true\n },\n selectsStart: true,\n popperPlacement: \"bottom-start\",\n showWeekNumbers: true,\n fixedHeight: true,\n previousMonthButtonLabel: \"\",\n nextMonthButtonLabel: \"\",\n disabled: this.props.disabled,\n onBlur: this.onStartDateInput,\n locale: getActiveLanguage()\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half last static\"\n }, /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"\"\n }, this.props.translate(\"Start time\")), /*#__PURE__*/React.createElement(TimePicker, {\n placeholder: \"V\\xE4lj starttid\",\n time: this.state.dtPickerStartDate,\n onChange: this.onStartTimeChange,\n disabled: this.props.disabled\n }))) : /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"date-start\"\n }, this.props.translate(\"Start\")), /*#__PURE__*/React.createElement(DatePicker, {\n selected: this.state.dtPickerStartDate.toDate(),\n startDate: this.state.dtPickerStartDate.toDate(),\n endDate: this.state.dtPickerDueDate.toDate(),\n dateFormat: this.getDateFormat(),\n minDate: this.props.minDate != null ? Moment(this.props.minDate).toDate() : null,\n onChange: this.onStartChange,\n popperModifiers: {\n preventOverflow: {\n enabled: false\n },\n positionFixed: true\n },\n popperPlacement: \"bottom-start\",\n selectsStart: true,\n showWeekNumbers: true,\n fixedHeight: true,\n previousMonthButtonLabel: \"\",\n nextMonthButtonLabel: \"\",\n disabled: this.props.disabled,\n onBlur: this.onStartDateInput,\n locale: getActiveLanguage()\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half last\"\n }, this.props.timePicker ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half static\"\n }, /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"date-end\"\n }, this.props.translate(\"End\")), /*#__PURE__*/React.createElement(DatePicker, {\n selected: this.state.dtPickerDueDate.toDate(),\n startDate: this.state.dtPickerStartDate.toDate(),\n endDate: this.state.dtPickerDueDate.toDate(),\n minDate: this.state.dtPickerStartDate.toDate(),\n onChange: this.onEndChange,\n popperModifiers: {\n preventOverflow: {\n enabled: true\n },\n positionFixed: true\n },\n popperPlacement: \"bottom-end\",\n selectsEnd: true,\n dateFormat: this.getDateFormat(),\n showWeekNumbers: true,\n fixedHeight: true,\n previousMonthButtonLabel: \"\",\n nextMonthButtonLabel: \"\",\n disabled: this.props.disabled,\n onBlur: this.onEndDateInput,\n onChangeRaw: this.onEndDateInput,\n locale: getActiveLanguage()\n })), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row-half last static\"\n }, /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"\"\n }, this.props.translate(\"End time\")), /*#__PURE__*/React.createElement(TimePicker, {\n placeholder: \"V\\xE4lj slutdatum\",\n time: this.state.dtPickerDueDate,\n onChange: this.onEndTimeChange,\n disabled: this.props.disabled\n }))) : /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: \"date-end\"\n }, this.props.translate(\"End\")), /*#__PURE__*/React.createElement(DatePicker, {\n selected: this.state.dtPickerDueDate.toDate(),\n startDate: this.state.dtPickerStartDate.toDate(),\n endDate: this.state.dtPickerDueDate.toDate(),\n minDate: this.state.dtPickerStartDate.toDate(),\n onChange: this.onEndChange,\n popperPlacement: \"bottom-end\",\n dateFormat: this.getDateFormat(),\n positionFixed: true,\n popperModifiers: {\n preventOverflow: {\n enabled: false\n }\n },\n selectsEnd: true,\n showWeekNumbers: true,\n fixedHeight: true,\n previousMonthButtonLabel: \"\",\n nextMonthButtonLabel: \"\",\n disabled: this.props.disabled,\n onBlur: this.onEndDateInput,\n onChangeRaw: this.onEndDateInput,\n locale: getActiveLanguage()\n }))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(DatePickerFromTo);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport Moment from 'moment';\nimport { connect } from 'react-redux';\nimport { reduxForm, Field, formValueSelector, change } from 'redux-form';\nimport swal from 'sweetalert2';\nimport { deleteAbsence } from 'actions/absence';\nimport { addError } from 'actions';\nimport DatePickerFromTo from './Partials/DatePickerFromTo';\nimport { Button, Checkbox, Radio, translate, getActiveLanguage } from '@haldor/ui';\nvar ReportAbsenceForm = /*#__PURE__*/function (_Component) {\n function ReportAbsenceForm(props) {\n var _this;\n _classCallCheck(this, ReportAbsenceForm);\n _this = _callSuper(this, ReportAbsenceForm, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n if (_this.props.user != null) {\n _this.setState({\n loading: true\n });\n }\n if (_this.props.absence != null) {\n _this.selectAbsence(_this.props.absence);\n }\n });\n _defineProperty(_this, \"onTimeChange\", function (time) {\n if (_this.props.entireDay == 'yes') {\n _this.setState({\n timeStart: time.start.set({\n 'minute': 0,\n 'hour': 0\n }).format(),\n timeEnd: time.end.set({\n 'minute': 59,\n 'hour': 23\n }).format()\n });\n } else {\n _this.setState({\n timeStart: time.start.format(),\n timeEnd: time.end.set({\n 'minute': time.end.minute(),\n 'hour': time.end.hour()\n }).format()\n });\n }\n });\n _defineProperty(_this, \"onCancel\", function (event) {\n event.preventDefault();\n if (_this.props.onAbort) {\n _this.props.onAbort();\n }\n });\n _defineProperty(_this, \"onEntireDay\", function () {\n var start = Moment(_this.state.timeStart);\n var end = Moment(_this.state.timeEnd);\n start = start.set(_defineProperty(_defineProperty({\n 'minute': 0,\n 'hour': 0\n }, \"minute\", 0), 'second', 0));\n end = end.set(_defineProperty(_defineProperty({\n 'minute': 59,\n 'hour': 23\n }, \"minute\", 59), 'second', 0));\n _this.setState({\n timeStart: start,\n timeEnd: end\n });\n });\n _defineProperty(_this, \"onPartOfDay\", function () {\n _this.setState({\n timeStart: Moment(_this.state.timeStart).format(),\n timeEnd: Moment(_this.state.timeEnd).format()\n });\n });\n _defineProperty(_this, \"onDelete\", function (event) {\n event.preventDefault();\n if (_this.props.absence != null) {\n var _this$props$absence = _this.props.absence,\n startTime = _this$props$absence.startTime,\n id = _this$props$absence.id,\n reported = _this$props$absence.reported;\n var _translate = _this.props.translate;\n var disableDeletion = Moment.utc(startTime).local().unix() < Moment().unix() && Moment().diff(Moment.utc(reported).local(), 'minutes') > 15;\n\n // Check that the absence object sent is after the current date\n if (!disableDeletion) {\n swal({\n title: _translate('Are you sure?'),\n text: _translate('Absence will be removed permanently'),\n showCancelButton: true,\n cancelButtonText: _translate('No, cancel'),\n confirmButtonText: _translate('Yes')\n }).then(function (result) {\n if (result.value != null) {\n _this.props.deleteAbsence(id).then(function () {\n if (_this.props.onAbort) {\n _this.props.onAbort();\n }\n });\n }\n });\n }\n }\n });\n _defineProperty(_this, \"submit\", function (values) {\n return new Promise(function (resolve, reject) {\n values.startTime = Moment.utc(_this.state.timeStart).format();\n values.endTime = Moment.utc(_this.state.timeEnd).format();\n values.userId = _this.props.user;\n values.period = _this.props.entireDay == 'yes';\n if (_this.state.id != null) {\n values.id = _this.state.id;\n var absenceObject = _this.props.absences.find(function (absence) {\n return values.id == absence.id;\n });\n if (absenceObject != null) {\n absenceObject.startTime = _this.state.timeStart;\n absenceObject.endTime = _this.state.timeEnd;\n }\n }\n if (_this.props.onSubmit) {\n _this.props.onSubmit(values).then(function () {\n resolve(1);\n if (values.id == null) {\n _this.setState({\n loading: true,\n submitResult: _this.props.submitResult\n });\n }\n _this.setState({});\n })[\"catch\"](function () {\n _this.props.addError(_this.props.translate('Lost connection with the server, please try again'), 'error');\n _this.setState({\n loading: false\n });\n reject(0);\n });\n } else {\n resolve(1);\n }\n });\n });\n _defineProperty(_this, \"selectAbsence\", function (absence) {\n if (_this.state.id == absence.id) {\n _this.setState({\n id: null,\n timeStart: Moment().format(),\n timeEnd: Moment().format()\n });\n return true;\n }\n var start = Moment.utc(absence.startTime).local();\n var end = Moment.utc(absence.endTime).local();\n if (absence.period) {\n _this.props.dispatch(change(FORM_NAME, 'entireDay', 'yes'));\n } else {\n _this.props.dispatch(change(FORM_NAME, 'entireDay', 'no'));\n }\n _this.setState({\n id: absence.id,\n timeStart: start.format(),\n timeEnd: end.format()\n });\n });\n _defineProperty(_this, \"onDatesValidate\", function (valid) {\n _this.setState({\n datesInvalid: !valid\n });\n });\n _defineProperty(_this, \"validatePeriod\", function (value) {\n if (value == null || value == '') {\n return _this.props.translate('Required');\n }\n return undefined;\n });\n Moment.locale(getActiveLanguage());\n _this.state = {\n id: null,\n loading: true,\n timeStart: Moment(),\n timeEnd: Moment(),\n submitResult: null,\n datesInvalid: false\n };\n return _this;\n }\n _inherits(ReportAbsenceForm, _Component);\n return _createClass(ReportAbsenceForm, [{\n key: \"render\",\n value: function render() {\n var datesInvalid = this.state.datesInvalid;\n var _this$props = this.props,\n handleSubmit = _this$props.handleSubmit,\n submitting = _this$props.submitting,\n valid = _this$props.valid,\n translate = _this$props.translate,\n absence = _this$props.absence;\n var disableEditing = false;\n if (absence != null) {\n disableEditing = Moment.utc(absence.startTime).local().unix() < Moment().unix() && Moment().diff(Moment.utc(absence.reported).local(), 'minutes') > 15;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-container\"\n }, submitting ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n height: '100%'\n },\n className: \"is_sending\"\n }, /*#__PURE__*/React.createElement(\"p\", {\n style: {\n position: 'absolute'\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"loading-spinner\"\n }))) : null, this.state.submitResult != null && this.state.submitResult.success == false ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\",\n style: {\n marginBottom: '1.8em',\n color: 'red',\n fontWeight: '500'\n }\n }, translate(this.state.submitResult.errorMessage)) : null, /*#__PURE__*/React.createElement(\"form\", {\n onSubmit: handleSubmit(this.submit),\n className: \"form form-component\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\"\n }, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Field, {\n component: Radio,\n name: \"entireDay\",\n optionValue: \"yes\",\n label: translate('Entire day'),\n validate: this.validatePeriod,\n onChange: this.onEntireDay\n })), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: '.35rem'\n }\n }, /*#__PURE__*/React.createElement(Field, {\n component: Radio,\n name: \"entireDay\",\n optionValue: \"no\",\n label: translate('Part of day'),\n validate: this.validatePeriod,\n onChange: this.onPartOfDay\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\"\n }, /*#__PURE__*/React.createElement(DatePickerFromTo, {\n timePicker: this.props.entireDay == 'no',\n onChange: this.onTimeChange,\n minDate: Moment(),\n type: \"plan\" // To have values.timeStart and values.timeEnd\n ,\n values: this.state,\n disabled: disableEditing,\n onValidate: this.onDatesValidate\n }), datesInvalid ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n color: 'red'\n }\n }, translate('Dates must be today or in the future')) : null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-divider\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row spacing submit\"\n }, /*#__PURE__*/React.createElement(Button, {\n disabled: submitting || !valid || disableEditing || datesInvalid\n }, this.state.id != null ? translate('Save') : translate('Report')), /*#__PURE__*/React.createElement(\"div\", {\n className: \"align-right\"\n }, this.props.absence != null ? /*#__PURE__*/React.createElement(Button, {\n onClick: this.onDelete,\n disabled: submitting || disableEditing,\n type: \"secondary\"\n }, translate('Remove')) : null, /*#__PURE__*/React.createElement(Button, {\n onClick: this.onCancel,\n disabled: submitting,\n type: \"secondary\"\n }, translate('Cancel'))))));\n }\n }]);\n}(Component);\nvar FORM_NAME = 'ReportAbsence';\nvar getFormValue = formValueSelector(FORM_NAME);\nfunction mapStateToProps(state) {\n return {\n submitResult: state.absence.submitResult,\n absences: state.absence.user,\n translate: translate(state.Languages.translations),\n entireDay: getFormValue(state, 'entireDay')\n };\n}\nexport default connect(mapStateToProps, {\n deleteAbsence: deleteAbsence,\n addError: addError\n})(reduxForm({\n form: FORM_NAME,\n destroyOnUnmount: true\n})(ReportAbsenceForm));","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport Moment from 'moment';\nimport { getAttendanceColor } from 'helpers/attendance';\nimport { setPageTitle } from 'actions/header';\nimport { getUserAbsence, submitAbsence, updateAbsence } from 'actions/absence';\nimport Modal from 'containers/Modals/Modal';\nimport ReportAbsenceForm from 'containers/Forms/ReportAbsence';\nimport { Flex, translate, getActiveLanguage, Button, Icon, Tabs, Tab } from '@haldor/ui';\nimport { Expandable, Spinner } from 'UI';\nimport './_Absence.scss';\nvar Absence = /*#__PURE__*/function (_Component) {\n function Absence(props) {\n var _this;\n _classCallCheck(this, Absence);\n _this = _callSuper(this, Absence, [props]);\n _defineProperty(_this, \"componentDidMount\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var translate;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n translate = _this.props.translate;\n _this.props.setPageTitle(translate('Absence'));\n _this.setState({\n loading: false\n });\n _this.tabsOnChange();\n case 4:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n _defineProperty(_this, \"UNSAFE_componentWillReceiveProps\", /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(nextProps) {\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (!(nextProps.student != null && _this.props.student.id != nextProps.student.id)) {\n _context2.next = 4;\n break;\n }\n _context2.next = 3;\n return _this.props.getUserAbsence(nextProps.student.id, _this.state.start, _this.state.end);\n case 3:\n _this.setState({\n loading: false\n });\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n }));\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n _defineProperty(_this, \"onAbsenceClick\", function (absence) {\n if (absence == null) {\n return false;\n }\n if (!absence.ownReporting) {\n return false;\n }\n _this.setState({\n modalOpen: true,\n selectedAbsence: absence\n });\n });\n _defineProperty(_this, \"getAttendanceProps\", function (attendance) {\n var translate = _this.props.translate;\n var indicatorColor = '#DBDBDB';\n var content = translate('Not reported');\n if (attendance == null) {\n return {\n color: indicatorColor,\n text: content\n };\n }\n if (attendance.attendanceType == 'PRESENT') {\n content = translate('Present');\n }\n if (attendance.attendanceType == 'INVALID_ABSENCE') {\n content = translate('Invalid absent');\n }\n if (attendance.attendanceType == 'VALID_ABSENCE') {\n content = translate('Valid absent');\n }\n if (attendance.attendanceType == 'INVALID_LATE') {\n content = translate('Partly invalid absent');\n if (attendance.lateDuration != null) {\n content += ' - ' + attendance.lateDuration + ' ' + translate('minutes');\n }\n }\n if (attendance.attendanceType == 'VALID_LATE') {\n content = translate('Partly absent');\n if (attendance.lateDuration != null) {\n content += ' - ' + attendance.lateDuration + ' ' + translate('minutes');\n }\n }\n indicatorColor = getAttendanceColor(attendance);\n return {\n color: indicatorColor,\n text: content\n };\n });\n _defineProperty(_this, \"renderItem\", function (absence) {\n var formatting = 'D MMMM YYYY';\n var start = Moment.utc(absence.startTime).local();\n var end = Moment.utc(absence.endTime).local();\n var translate = _this.props.translate;\n var absenceAttendance = {\n attendanceType: absence.type\n };\n if (absence.origin == 'ATTENDANCE') {\n var _absence$calendarEven;\n absenceAttendance.lateDuration = (_absence$calendarEven = absence.calendarEvents[0]) === null || _absence$calendarEven === void 0 || (_absence$calendarEven = _absence$calendarEven.attendance) === null || _absence$calendarEven === void 0 ? void 0 : _absence$calendarEven.lateDuration;\n }\n var attendance = _this.getAttendanceProps(absenceAttendance);\n var showAlert = false;\n if (absence.calendarEvents != null) {\n showAlert = absence.calendarEvents.find(function (lesson) {\n if (lesson.attendance.attendanceType != null) {\n return lesson.attendance.attendanceType.indexOf('INVALID') > -1;\n }\n return false;\n }) != null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"new-card\",\n key: \"ab-\".concat(absence.id)\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"absence-item-content\"\n }, /*#__PURE__*/React.createElement(Flex, {\n space: true\n }, !absence.ownReporting ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\",\n style: {\n flex: 1,\n whiteSpace: 'nowrap'\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, translate('Status')), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n alignItems: 'center'\n }\n }, attendance.color != '#fff' ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"indicator\",\n style: {\n backgroundColor: attendance.color\n }\n }) : null, attendance.text)) : absence.calendarEvents.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"column space-placeholder\"\n }, showAlert ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"invalid-absent-badge\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Alert_Red\"\n })) : null) : null, absence.origin == 'ATTENDANCE' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"colum\",\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, translate('From')), absence.calendarEvents.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n whiteSpace: 'nowrap'\n }\n }, Moment.utc(absence.calendarEvents[0].startTime).local().format(formatting), /*#__PURE__*/React.createElement(\"div\", null, Moment.utc(absence.calendarEvents[0].startTime).local().format('HH:mm'))) : null) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\",\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, translate('From')), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n whiteSpace: 'nowrap'\n }\n }, start.format(formatting), !absence.period ? /*#__PURE__*/React.createElement(\"div\", null, start.format('HH:mm')) : null)), absence.origin == 'ATTENDANCE' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"colum\",\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, translate('To')), absence.calendarEvents.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n whiteSpace: 'nowrap'\n }\n }, Moment.utc(absence.calendarEvents[0].startTime).local().add(absence.calendarEvents[0].length, 'minutes').format(formatting), /*#__PURE__*/React.createElement(\"div\", null, Moment.utc(absence.calendarEvents[0].startTime).local().add(absence.calendarEvents[0].length, 'minutes').format('HH:mm'))) : null) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\",\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, translate('To')), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n whiteSpace: 'nowrap'\n }\n }, end.format(formatting), !absence.period ? /*#__PURE__*/React.createElement(\"div\", null, end.format('HH:mm')) : null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\",\n style: {\n whiteSpace: 'nowrap'\n }\n }, /*#__PURE__*/React.createElement(\"strong\", null, translate('Reported by')), /*#__PURE__*/React.createElement(\"div\", null, absence.reportedBy != null ? absence.reportedBy.firstName + \" \" + absence.reportedBy.lastName : \"\", absence.editor != null && absence.editor.userId != null ? /*#__PURE__*/React.createElement(\"div\", null, translate('Edited by') + ' ' + absence.editor.firstName + ' ' + absence.editor.lastName) : null)), absence.ownReporting == true ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\",\n style: {\n display: 'flex'\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n onClick: function onClick(e) {\n return _this.onAbsenceClick(absence);\n },\n className: \"edit-trigger\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Pen_Small\"\n }))) : null)), absence.calendarEvents != null && absence.calendarEvents.length > 0 && absence.ownReporting == true ? /*#__PURE__*/React.createElement(Expandable, {\n title: \"1\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"lessons\"\n }, /*#__PURE__*/React.createElement(\"strong\", null, _this.props.translate('Lessons')), absence.calendarEvents.map(function (lesson) {\n var _lesson$section, _lesson$attendance$re, _lesson$attendance$re2;\n var attendance = _this.getAttendanceProps(lesson.attendance);\n var start = Moment.utc(lesson.startTime).local();\n var end = Moment.utc(lesson.startTime).add(lesson.length, 'minutes').local();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"lesson-item\",\n key: lesson.id\n }, /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"indicator\",\n style: {\n backgroundColor: attendance.color != '#fff' ? attendance.color : '#ccc'\n }\n }), attendance.text), /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\"\n }, start.format('D MMMM YYYY, H:mm'), \"-\", end.format('H:mm')), /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\"\n }, (_lesson$section = lesson.section) === null || _lesson$section === void 0 ? void 0 : _lesson$section.title), lesson.attendance != null && lesson.attendance.reportedByUser != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\"\n }, translate('Reported by') + ': ', ((_lesson$attendance$re = lesson.attendance.reportedByUser) === null || _lesson$attendance$re === void 0 ? void 0 : _lesson$attendance$re.firstName) + ' ' + ((_lesson$attendance$re2 = lesson.attendance.reportedByUser) === null || _lesson$attendance$re2 === void 0 ? void 0 : _lesson$attendance$re2.lastName)) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"column\"\n }, \"-\")));\n }))) : null);\n });\n _defineProperty(_this, \"toggleModal\", function () {\n _this.setState({\n modalOpen: !_this.state.modalOpen,\n selectedAbsence: null\n });\n });\n _defineProperty(_this, \"onAbsenceSubmit\", function (values) {\n return new Promise(function (resolve, reject) {\n if (values.id != null) {\n _this.props.updateAbsence(values).then(function () {\n resolve(1);\n if (_this.props.submitResult != null && _this.props.submitResult.success == true) {\n _this.props.getUserAbsence(_this.props.student.id, _this.state.start, _this.state.end);\n _this.toggleModal();\n }\n })[\"catch\"](function (error) {\n reject(error);\n });\n } else {\n _this.props.submitAbsence(values).then(function () {\n resolve(1);\n if (_this.props.submitResult != null && _this.props.submitResult.success == true) {\n _this.props.getUserAbsence(_this.props.student.id, _this.state.start, _this.state.end);\n _this.toggleModal();\n var studentName = _this.props.student.firstName + \" \" + _this.props.student.lastName;\n var fromToText = Moment.utc(values.startTime).local().format('YYYY-MM-DD HH:mm') + \" \" + _this.props.translate('to') + \" \" + Moment.utc(values.endTime).local().format('YYYY-MM-DD HH:mm');\n _this.setState({\n recentAddedText: studentName + \" \" + _this.props.translate('has been reported as absent') + \" \" + fromToText\n });\n }\n })[\"catch\"](function (error) {\n reject(error);\n });\n }\n });\n });\n _defineProperty(_this, \"tabsOnChange\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n if (!(window.location.hash == '#reported-absences')) {\n _context3.next = 6;\n break;\n }\n _this.setState({\n loading: true\n });\n if (!(_this.props.absences == null)) {\n _context3.next = 5;\n break;\n }\n _context3.next = 5;\n return _this.props.getUserAbsence(_this.props.student.id, _this.state.start, _this.state.end);\n case 5:\n _this.setState({\n loading: false\n });\n case 6:\n _this.setState({\n recentAddedText: null\n });\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n })));\n Moment.locale(getActiveLanguage());\n _this.state = {\n start: Moment().subtract(1, 'months').set({\n 'minutes': 0,\n 'hours': 0\n }).format('YYYY-MM-DD'),\n end: Moment().add(3, 'months').set({\n 'minutes': 59,\n 'hours': 23\n }).format('YYYY-MM-DD'),\n modalOpen: false,\n loading: true,\n recentAddedText: null\n };\n return _this;\n }\n _inherits(Absence, _Component);\n return _createClass(Absence, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var modalOpen = this.state.modalOpen;\n var absences = null;\n if (this.props.absences != null) {\n absences = this.props.absences.sort(function (a, b) {\n return a.startTime < b.startTime ? 1 : b.startTime < a.startTime ? -1 : 0;\n });\n }\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page absence\"\n }, /*#__PURE__*/React.createElement(Modal, {\n title: translate('Manage absence'),\n isOpen: modalOpen,\n onClose: this.toggleModal\n }, /*#__PURE__*/React.createElement(ReportAbsenceForm, {\n onSubmit: this.onAbsenceSubmit,\n user: this.props.student.id,\n absence: this.state.selectedAbsence,\n onAbort: this.toggleModal\n })), /*#__PURE__*/React.createElement(Tabs, {\n onChange: this.tabsOnChange\n }, /*#__PURE__*/React.createElement(Tab, {\n title: translate(\"Report absence\"),\n route: \"report-absence\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"create-button-container\"\n }, /*#__PURE__*/React.createElement(Button, {\n onClick: this.toggleModal\n }, translate('Report absence'))), this.state.recentAddedText != null ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n padding: '10px',\n position: 'relative',\n backgroundColor: '#7ED260',\n color: '#000000',\n borderRadius: '2.5px'\n }\n }, this.state.recentAddedText) : null), /*#__PURE__*/React.createElement(Tab, {\n title: translate(\"Reported absence\"),\n route: \"reported-absences\"\n }, this.state.loading ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"app-comp-content content\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n })) : null, absences != null && !this.state.loading ? /*#__PURE__*/React.createElement(\"div\", null, absences.map(function (absence) {\n return _this2.renderItem(absence);\n })) : null)));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n submitResult: state.absence.submitResult,\n absences: state.absence.user,\n student: state.User.activeStudent,\n attendance: state.attendance.user,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, _defineProperty({\n getUserAbsence: getUserAbsence,\n updateAbsence: updateAbsence,\n setPageTitle: setPageTitle,\n submitAbsence: submitAbsence\n}, \"setPageTitle\", setPageTitle))(Absence);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport Moment from \"moment\";\nimport { connect } from \"react-redux\";\nimport { getAttendanceColor } from \"helpers/attendance\";\nimport { Checkbox, Button, translate, getActiveLanguage } from \"@haldor/ui\";\nimport PostContent from \"components/Presentation/PostContent\";\nvar SingleModalLesson = /*#__PURE__*/function (_Component) {\n function SingleModalLesson(props) {\n var _this;\n _classCallCheck(this, SingleModalLesson);\n _this = _callSuper(this, SingleModalLesson, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n Moment.locale(getActiveLanguage());\n });\n /* Form methods */\n _defineProperty(_this, \"onAbsenceSubmit\", function () {\n var lesson = _this.props.activeLesson;\n var values = {\n startTime: Moment.utc(lesson.startTime).local().format(\"YYYY-MM-DDTHH:mm:ss\"),\n endTime: Moment.utc(lesson.startTime).local().add(lesson.length, \"minutes\").format(\"YYYY-MM-DDTHH:mm:ss\"),\n userId: _this.props.activeStudent\n };\n return new Promise(function (resolve) {\n if (values.id != null) {\n _this.props.updateAbsence(values).then(function () {\n resolve(1);\n });\n } else {\n _this.props.submitAbsence(values).then(function () {\n resolve(1);\n });\n }\n });\n });\n _defineProperty(_this, \"onEntireLesson\", function () {\n _this.setState({\n entireLesson: true\n });\n });\n _defineProperty(_this, \"onPartLesson\", function () {\n _this.setState({\n entireLesson: false\n });\n });\n /* Render methods */\n _defineProperty(_this, \"renderAbsenceForm\", function () {\n // Not used at the moment\n var lesson = _this.props.activeLesson;\n var foundAbsence = null;\n if (_this.props.absences != null) {\n foundAbsence = _this.props.absences.find(function (absence) {\n return absence.startTime == _this.props.activeLesson.startTime;\n });\n }\n var translate = _this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"2rem\"\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\"\n }, /*#__PURE__*/React.createElement(\"h3\", null, translate(\"Will the student be absent the entire lesson?\")), /*#__PURE__*/React.createElement(Checkbox, {\n label: translate(\"Entire lesson\"),\n onChange: _this.onEntireLesson,\n value: _this.state.entireLesson\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"0.5rem\"\n }\n }, /*#__PURE__*/React.createElement(Checkbox, {\n label: translate(\"Part of lesson\"),\n onChange: _this.onPartLesson,\n value: !_this.state.entireLesson\n })), !_this.state.entireLesson ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"1.5rem\"\n }\n }, /*#__PURE__*/React.createElement(\"input\", {\n type: \"number\",\n max: lesson.length,\n min: \"0\",\n style: {\n marginRight: \"0.4rem\"\n }\n }), translate(\"minutes of lesson\")) : null), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"1.5rem\"\n },\n className: \"form-row spacing submit\"\n }, /*#__PURE__*/React.createElement(Button, {\n onClick: _this.onAbsenceSubmit\n }, foundAbsence != null ? translate(\"Update absence\") : translate(\"Report absence\")), foundAbsence != null ? /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\"\n }, translate(\"Remove absence\")) : null));\n });\n _defineProperty(_this, \"renderAttendanceInfo\", function (attendance) {\n var translate = _this.props.translate;\n if (attendance == null) {\n if (_this.props.activeLesson.type == \"LESSON\") {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row spacing\"\n }, translate(\"No attendance / absence is reported for this lesson.\"));\n }\n }\n var content = \"\";\n if (_this.props.activeLesson.type == \"LESSON\") {\n if (attendance != null) {\n if (attendance.attendanceType == \"PRESENT\") {\n content = translate(\"Present\");\n }\n if (attendance.attendanceType == \"INVALID_ABSENCE\") {\n content = translate(\"Invalid absent\");\n }\n if (attendance.attendanceType == \"VALID_ABSENCE\") {\n content = translate(\"Valid absent\");\n }\n if (attendance.attendanceType == \"INVALID_LATE\") {\n content = translate(\"Partly invalid absent\");\n }\n if (attendance.attendanceType == \"VALID_LATE\") {\n content = translate(\"Partly absent\");\n }\n }\n }\n if (_this.props.activeLesson.type == \"LESSON\") {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row spacing\",\n style: {\n color: getAttendanceColor(attendance)\n }\n }, content, attendance.lateDuration != null && attendance.lateDuration > 0 ? \" (\" + attendance.lateDuration + \" \" + translate(\"minutes\") + \")\" : null);\n }\n });\n _this.state = {\n entireLesson: true\n };\n return _this;\n }\n _inherits(SingleModalLesson, _Component);\n return _createClass(SingleModalLesson, [{\n key: \"render\",\n value: function render() {\n if (this.props.activeLesson == null) {\n return null;\n }\n var lesson = this.props.activeLesson;\n var attendance = lesson.attendance;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-container form\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-row\"\n }, (lesson === null || lesson === void 0 ? void 0 : lesson.type) === 'CALENDAR_EVENT' ? /*#__PURE__*/React.createElement(\"div\", null, \" \", /*#__PURE__*/React.createElement(\"h3\", null, lesson.title), /*#__PURE__*/React.createElement(PostContent, null, lesson.description)) : /*#__PURE__*/React.createElement(\"div\", null, \" \", lesson.title, /*#__PURE__*/React.createElement(\"br\", null)), Moment.utc(lesson.startTime).local().format(\"dddd Do MMMM[,] LT\").capitalize(), Moment.utc(lesson.startTime).local().add(lesson.length, \"minutes\").format(\"[ \".concat(this.props.translate(\"to\"), \"] LT\")) + \".\"), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"form-divider\"\n }), this.renderAttendanceInfo(attendance));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.guardians.activeStudent,\n // absences: state.absence.user,\n attendance: state.attendance.user,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n //getUserAbsence,\n //updateAbsence,\n //submitAbsence,\n})(SingleModalLesson);","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { Spinner } from \"UI\";\nimport moment from \"moment\";\nimport { translate as getTranslate } from \"@haldor/ui\";\nvar SelectionDisplay = function SelectionDisplay(props) {\n if (props.start == null || props.end == null) {\n return null;\n }\n var translate = getTranslate(useSelector(function (state) {\n return state.Languages.translations;\n }));\n if (props.view == \"month\") {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df aic selection-display\"\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n marginBottom: \".75rem\",\n marginTop: 0\n }\n }, moment(props.start).format(\"MMMM\")), props.isLoading ? /*#__PURE__*/React.createElement(Spinner, null) : null);\n }\n if (moment(props.end).diff(moment(props.start), \"days\") > 1) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df aic selection-display\"\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n marginBottom: \".75rem\"\n }\n }, translate(\"Week\"), \" \", moment(props.start).week()), props.isLoading ? /*#__PURE__*/React.createElement(Spinner, null) : null);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df aic selection-display\"\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n marginBottom: \".75rem\"\n }\n }, moment(props.start).format(\"dddd D MMMM\").capitalize()), props.isLoading ? /*#__PURE__*/React.createElement(Spinner, null) : null);\n};\nexport default SelectionDisplay;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { getAttendanceColor } from \"helpers/attendance\";\nimport { translate as getTranslate, Icon } from \"@haldor/ui\";\nvar ItemContent = function ItemContent(props) {\n var event = props.event,\n lesson = props.lesson,\n attendance = props.attendance;\n var translate = getTranslate(useSelector(function (state) {\n return state.Languages.translations;\n }));\n if (props.view == \"month\") {\n var _event$length5, _event$length6, _event$length7, _event$length8, _event$length9, _event$length10, _event$length11, _event$length12, _event$length13;\n var getExaminations = function getExaminations() {\n var _event$length, _event$length3;\n var hasExamination = 0;\n if ((_event$length = event.length) !== null && _event$length !== void 0 && _event$length.ASSIGNMENT_TYPE_VERBAL_TEST) {\n var _event$length2;\n hasExamination += event === null || event === void 0 || (_event$length2 = event.length) === null || _event$length2 === void 0 ? void 0 : _event$length2.ASSIGNMENT_TYPE_VERBAL_TEST;\n }\n if ((_event$length3 = event.length) !== null && _event$length3 !== void 0 && _event$length3.ASSIGNMENT_TYPE_WRITTEN_TEST) {\n var _event$length4;\n hasExamination += event === null || event === void 0 || (_event$length4 = event.length) === null || _event$length4 === void 0 ? void 0 : _event$length4.ASSIGNMENT_TYPE_WRITTEN_TEST;\n }\n return hasExamination;\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"month-event\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"month-text\"\n }, (event === null || event === void 0 || (_event$length5 = event.length) === null || _event$length5 === void 0 ? void 0 : _event$length5.lesson) > 0 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"month-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"monthIcon lesson\"\n }), /*#__PURE__*/React.createElement(\"span\", null, event === null || event === void 0 || (_event$length6 = event.length) === null || _event$length6 === void 0 ? void 0 : _event$length6.lesson, \" \", translate(\"Lessons\"))), (event === null || event === void 0 || (_event$length7 = event.length) === null || _event$length7 === void 0 ? void 0 : _event$length7.assignment) > 0 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"month-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"monthIcon assignment\"\n }), \" \", /*#__PURE__*/React.createElement(\"span\", null, event === null || event === void 0 || (_event$length8 = event.length) === null || _event$length8 === void 0 ? void 0 : _event$length8.assignment, \" \", translate(\"Assignments\"))), (event === null || event === void 0 || (_event$length9 = event.length) === null || _event$length9 === void 0 ? void 0 : _event$length9.meetings) > 0 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"month-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"monthIcon meeting\"\n }), \" \", /*#__PURE__*/React.createElement(\"span\", null, event === null || event === void 0 || (_event$length10 = event.length) === null || _event$length10 === void 0 ? void 0 : _event$length10.meetings, \" \", translate(\"Meetings\"))), (_event$length11 = event.length) !== null && _event$length11 !== void 0 && _event$length11.ASSIGNMENT_TYPE_WRITTEN_TEST || (_event$length12 = event.length) !== null && _event$length12 !== void 0 && _event$length12.ASSIGNMENT_TYPE_VERBAL_TEST ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"month-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"monthIcon examination\"\n }), ' ', /*#__PURE__*/React.createElement(\"span\", null, getExaminations(), \" \", translate('Test'))) : null, ((_event$length13 = event.length) === null || _event$length13 === void 0 ? void 0 : _event$length13.calendarEvent) > 0 && /*#__PURE__*/React.createElement(\"div\", {\n className: \"month-container\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"monthIcon calendarEvent\"\n }), /*#__PURE__*/React.createElement(\"span\", null, event.length.calendarEvent, \" \", translate('Calendar events')))));\n }\n var indicator = function indicator() {\n if (!props.services.attendance) {\n return null;\n }\n var indicatorColor = \"#DBDBDB\";\n var text = translate(\"not-reported-lesson\");\n if ((lesson === null || lesson === void 0 ? void 0 : lesson.linkedSchedulePositions) != null) {\n var reported = _toConsumableArray(lesson.linkedSchedulePositions.filter(function (lesson) {\n return lesson.attendanceReported != null;\n })).length;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"status\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"indicator\",\n style: {\n backgroundColor: reported == lesson.linkedSchedulePositions.length ? \"#19DB6C\" : \"#DBDBDB\"\n }\n }), reported, \"(\", lesson.linkedSchedulePositions.length, \")\", \" \", translate(\"reported\"));\n }\n if (attendance != null) {\n indicatorColor = getAttendanceColor(attendance);\n if (attendance.attendanceType == \"PRESENT\") {\n text = translate(\"Present\");\n }\n if (attendance.attendanceType == \"INVALID_ABSENCE\") {\n text = translate(\"Invalid absent\");\n }\n if (attendance.attendanceType == \"VALID_ABSENCE\") {\n text = translate(\"Valid absent\");\n }\n if (attendance.attendanceType == \"INVALID_LATE\") {\n text = translate(\"Partly invalid absent\");\n }\n if (attendance.attendanceType == \"VALID_LATE\") {\n text = translate(\"Partly absent\");\n }\n } else {\n if (lesson.attendanceReported != null) {\n indicatorColor = \"#19DB6C\";\n text = translate(\"reported\");\n }\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"status\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"indicator\",\n style: {\n backgroundColor: indicatorColor\n }\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"text\"\n }, text));\n };\n if (props.view == \"agenda\" && lesson !== null && lesson !== void 0 && lesson.room && lesson.type === 'LESSON') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"event-info\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"agenda-event-title\"\n }, event.title, (lesson === null || lesson === void 0 ? void 0 : lesson.teamsMeeting) != null ? /*#__PURE__*/React.createElement(Icon, {\n name: \"Teams\"\n }) : null), /*#__PURE__*/React.createElement(\"div\", null, lesson.room), /*#__PURE__*/React.createElement(\"div\", {\n className: \"event-meta\"\n }, lesson !== null && lesson !== void 0 && lesson.attendanceReported || attendance != null ? indicator() : \" \"));\n }\n if ((lesson === null || lesson === void 0 ? void 0 : lesson.length) >= 40 && lesson.type === 'LESSON') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"event-info\"\n }, event.title, /*#__PURE__*/React.createElement(\"div\", {\n className: \"size-12 event-meta\"\n }, lesson.attendanceReported || attendance != null || lesson.room == null ? indicator() : lesson.room), (lesson === null || lesson === void 0 ? void 0 : lesson.teamsMeeting) != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"teams-meeting-indicator\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Teams\"\n })) : null);\n }\n return /*#__PURE__*/React.createElement(\"div\", null, event === null || event === void 0 ? void 0 : event.title, (lesson === null || lesson === void 0 ? void 0 : lesson.teamsMeeting) != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"teams-meeting-indicator\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Teams\"\n })) : null);\n};\nexport default ItemContent;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useState, useEffect } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport moment from \"moment\";\nimport { Calendar, momentLocalizer } from \"react-big-calendar\";\nimport { getGuardianStudentSchedule } from \"actions/guardians\";\nimport Modal from \"containers/Modals/Modal\";\nimport SingleModalLesson from \"containers/Lesson/SingleModal\";\nimport SelectionDisplay from \"./Partials/SelectionDisplay\";\nimport ItemContent from \"./Partials/ItemContent\";\nimport { translate as getTranslate, getActiveLanguage } from \"@haldor/ui\";\nimport \"./_Schedule.scss\";\nimport { useMemo } from \"react\";\nvar MonthHeader = function MonthHeader(_ref) {\n var label = _ref.label;\n var test = moment().local().format(\"dddd\");\n return /*#__PURE__*/React.createElement(\"span\", {\n role: \"columnheader\",\n \"aria-sort\": \"none\",\n className: test == label.toLowerCase() ? \"todaysMonth\" : \"\"\n }, label);\n};\nvar formats = {\n weekdayFormat: function weekdayFormat(date, culture, localizer) {\n return localizer.format(date, \"dddd\", culture);\n }\n};\nvar filterMonth = function filterMonth(data, date) {\n var groups = {};\n var start = moment(date).startOf(\"month\").set({\n hour: 0,\n minute: 0,\n second: 0\n }).toISOString();\n data.map(function (item) {\n var date = moment(item.startTime).startOf(\"day\").toISOString();\n if (date >= start) {\n if (date in groups) {\n groups[date].push(item);\n } else {\n groups[date] = new Array(item);\n }\n }\n });\n var ars = [];\n for (var _i = 0, _Object$entries = Object.entries(groups); _i < _Object$entries.length; _i++) {\n var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n key = _Object$entries$_i[0],\n value = _Object$entries$_i[1];\n ars.push(_defineProperty({}, key, _toConsumableArray(value)));\n }\n return ars;\n};\n//Filter array by filtertags for assignment types\nvar filterArray = function filterArray(arr, data) {\n var tempArr = arr;\n //retrive all meetings if filter is active\n if (!(data !== null && data !== void 0 && data.Meeting)) {\n var bookedMeetings = tempArr.filter(function (item) {\n return item.type !== \"MEETING\";\n });\n tempArr = bookedMeetings;\n }\n if (!(data !== null && data !== void 0 && data.Lesson)) {\n var noLessons = tempArr.filter(function (item) {\n return item.type !== \"LESSON\";\n });\n tempArr = noLessons;\n }\n if (!data.Assignment) {\n var noAssigments = tempArr.filter(function (item) {\n return item.type !== \"ASSIGNMENT\";\n });\n tempArr = noAssigments;\n }\n if (!data.CalendarEvent) {\n var noCalendarEvents = tempArr.filter(function (item) {\n return item.type !== \"CALENDAR_EVENT\";\n });\n tempArr = noCalendarEvents;\n }\n return tempArr;\n};\nvar setLocalizer = function setLocalizer() {\n moment.locale(getActiveLanguage());\n return momentLocalizer(moment);\n};\nvar ScheduleView = function ScheduleView(props) {\n var _props$view2;\n var dispatch = useDispatch();\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n isLoading = _useState2[0],\n setIsLoading = _useState2[1];\n var _useState3 = useState(null),\n _useState4 = _slicedToArray(_useState3, 2),\n activeLesson = _useState4[0],\n setActiveLesson = _useState4[1];\n var activeStudent = useSelector(function (state) {\n return state.User.activeStudent;\n });\n var scheduleItems = useSelector(function (state) {\n return state.guardians.schedule;\n });\n var attendance = useSelector(function (state) {\n return state.attendance.user;\n });\n var ScheduleFilter = useSelector(function (state) {\n return state.ScheduleFilter;\n });\n var translate = getTranslate(useSelector(function (state) {\n return state.Languages.translations;\n }));\n var _useState5 = useState([]),\n _useState6 = _slicedToArray(_useState5, 2),\n filterData = _useState6[0],\n setFilterData = _useState6[1];\n var _useState7 = useState(undefined),\n _useState8 = _slicedToArray(_useState7, 2),\n dataTimeout = _useState8[0],\n setDataTimeout = _useState8[1];\n var localizer = useMemo(function () {\n return setLocalizer();\n }, [getActiveLanguage()]);\n var _eventsFactory = function _eventsFactory() {\n if (props.view === \"month\") {\n return filterData.map(function (item) {\n for (var _i2 = 0, _Object$entries2 = Object.entries(item); _i2 < _Object$entries2.length; _i2++) {\n var _count;\n var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),\n key = _Object$entries2$_i[0],\n value = _Object$entries2$_i[1];\n var count = void 0;\n if (Array.isArray(value)) {\n count = countActivities(value);\n }\n return {\n id: key,\n title: key.toString(),\n length: (_count = count) !== null && _count !== void 0 ? _count : null,\n start: moment.utc(key).set({\n second: 0,\n millisecond: 0\n }).local().toDate(),\n end: moment.utc(key).set({\n second: 0,\n millisecond: 0\n }).local().add(60, \"minutes\").toDate()\n };\n }\n });\n }\n return filterData.map(function (item) {\n return {\n id: item.id,\n title: item.title,\n start: moment.utc(item.startTime).set({\n second: 0\n }).local().toDate(),\n end: moment.utc(item.startTime).set({\n second: 0\n }).local().add(item.length, \"minutes\").toDate()\n };\n });\n };\n //count how many of a given activity exists for month view\n var countActivities = function countActivities(data) {\n var count = {};\n var assignment = 0;\n var meetings = 0;\n var lesson = 0;\n var calendarEvent = 0;\n data.forEach(function (element) {\n if (element.type === 'MEETING') {\n meetings++;\n } else if (element.type === 'CALENDAR_EVENT') {\n calendarEvent++;\n } else if (element.instanceType) {\n assignment++;\n count[element.instanceType] = (count[element.instanceType] || 0) + 1;\n } else {\n lesson++;\n }\n });\n count.assignment = assignment;\n count.meetings = meetings;\n count.lesson = lesson;\n count.calendarEvent = calendarEvent;\n return count;\n };\n useEffect(function () {\n var handlerActivityFilter = function handlerActivityFilter() {\n if (ScheduleFilter.activitiesFilter) {\n if ((scheduleItems === null || scheduleItems === void 0 ? void 0 : scheduleItems.length) > 0) {\n var filterItems = filterArray(scheduleItems, ScheduleFilter === null || ScheduleFilter === void 0 ? void 0 : ScheduleFilter.activitiesFilter);\n if (props.view == \"month\") {\n setFilterData(filterMonth(filterItems, props.date));\n return;\n }\n setFilterData(filterItems);\n return;\n }\n }\n setFilterData([]);\n };\n handlerActivityFilter();\n }, [ScheduleFilter === null || ScheduleFilter === void 0 ? void 0 : ScheduleFilter.activitiesFilter, scheduleItems]);\n\n //handle selected calender event whenever activelesson state changes \n useEffect(function () {\n if (!activeLesson) {\n var getActiveEvent = document.querySelector('.rbc-selected');\n if (getActiveEvent) {\n getActiveEvent.classList.toggle('rbc-selected');\n //add a temp class so the selected event can be found again\n getActiveEvent.classList.toggle('deSelected');\n }\n } else if (activeLesson) {\n var findElement = document.querySelector('.deSelected');\n if (findElement) {\n findElement.classList.toggle('rbc-selected');\n findElement.classList.toggle('deSelected');\n }\n }\n }, [activeLesson]);\n var _getEventProps = function _getEventProps(event, start, end, isSelected) {\n var _lesson$relationships;\n var className = \"\";\n var style = {};\n if (props.view == \"month\") {\n style.backgroundColor = \"transparent\";\n style.color = \"#fff\";\n return;\n }\n var lesson = _getScheduleItem(event.id);\n var attendance = lesson === null || lesson === void 0 ? void 0 : lesson.attendance;\n var hasExamination = false;\n if (props.hasAdvancedCalendar) {\n if ((lesson === null || lesson === void 0 ? void 0 : lesson.instanceType) === 'ASSIGNMENT_TYPE_WRITTEN_TEST' || (lesson === null || lesson === void 0 ? void 0 : lesson.instanceType) === 'ASSIGNMENT_TYPE_VERBAL_TEST' || lesson !== null && lesson !== void 0 && lesson.examination) {\n hasExamination = true;\n }\n }\n\n //check if lesson has an assignment with a test connected\n if ((lesson === null || lesson === void 0 || (_lesson$relationships = lesson.relationships) === null || _lesson$relationships === void 0 ? void 0 : _lesson$relationships.length) > 0 && props.hasAdvancedCalendar) {\n var findItems = lesson.relationships.filter(function (x) {\n return (x === null || x === void 0 ? void 0 : x.instanceType) === 'ASSIGNMENT_TYPE_WRITTEN_TEST' || (x === null || x === void 0 ? void 0 : x.instanceType) === 'ASSIGNMENT_TYPE_VERBAL_TEST';\n });\n if (findItems.length > 0) {\n hasExamination = true;\n }\n }\n if ((lesson === null || lesson === void 0 ? void 0 : lesson.type) === 'ASSIGNMENT') {\n className += \"assignment\";\n if (hasExamination && props.hasAdvancedCalendar) {\n className += \" hasExamination\";\n }\n return {\n className: className,\n style: style\n };\n } else if ((lesson === null || lesson === void 0 ? void 0 : lesson.type) === 'MEETING') {\n className += \"meeting\";\n return {\n className: className,\n style: style\n };\n } else if ((lesson === null || lesson === void 0 ? void 0 : lesson.type) === 'CALENDAR_EVENT') {\n className += 'calendarEvent';\n return {\n className: className,\n style: style\n };\n }\n if (hasExamination && props.hasAdvancedCalendar) {\n className += \" hasExamination\";\n }\n if (props !== null && props !== void 0 && props.activeStudent.services.attendance && attendance != null) {\n className += \" attendance\";\n if (attendance.attendanceType == \"PRESENT\") {\n if (props.view != \"agenda\") {\n className += \" validAttendance\";\n }\n }\n if (attendance.attendanceType.indexOf(\"VALID\") > -1) {\n style.borderLeftColor = \"#efc24c\";\n if (props.view != \"agenda\") {\n style.backgroundColor = \"#fff6df\";\n }\n }\n if (attendance.attendanceType.indexOf(\"INVALID\") > -1) {\n style.borderLeftColor = \"#f25252\";\n if (props.view != \"agenda\") {\n style.backgroundColor = \"#FDE5E5\";\n }\n }\n } else {\n if (props !== null && props !== void 0 && props.activeStudent.services.attendance && lesson != null && lesson.attendanceReported != null) {\n className += \" attendance\";\n if (props.view != \"agenda\") {\n style.backgroundColor = \"#e8fbf0\";\n }\n } else {\n className += \" lesson\";\n }\n }\n return {\n className: className,\n style: style\n };\n };\n var _getScheduleItem = function _getScheduleItem(id) {\n if (id == null) {\n return null;\n }\n return scheduleItems.find(function (item) {\n return item.id == id;\n });\n };\n var _getStartEndDates = function _getStartEndDates() {\n var _props$view;\n var start,\n end = props.date;\n switch ((_props$view = props.view) !== null && _props$view !== void 0 ? _props$view : \"week\") {\n case 'agenda':\n case 'day':\n start = moment(props.date).format(\"YYYY-MM-DD\");\n end = moment(props.date).add(1, 'days').format(\"YYYY-MM-DD\");\n break;\n case 'work_week':\n start = moment(props.date).isoWeekday(1).format(\"YYYY-MM-DD\");\n end = moment(props.date).isoWeekday(\"5\").format(\"YYYY-MM-DD\");\n break;\n case \"week\":\n start = moment(props.date).isoWeekday(1).format(\"YYYY-MM-DD\");\n end = moment(props.date).isoWeekday(7).format(\"YYYY-MM-DD\");\n break;\n case \"month\":\n start = moment(props.date).startOf(\"month\").set({\n hour: 0,\n minute: 0,\n second: 0\n }).format(\"YYYY-MM-DD\"), end = moment(props.date).endOf(\"month\").set({\n hour: 23,\n minute: 59,\n second: 59\n }).format(\"YYYY-MM-DD\");\n break;\n default:\n break;\n }\n return {\n start: start,\n end: end\n };\n };\n var _getTimeRange = function _getTimeRange() {\n var min = moment().set({\n hour: 6,\n minute: 0\n }).toDate();\n var max = moment().set({\n hour: 12,\n minute: 0\n }).toDate();\n if (scheduleItems != null && (scheduleItems === null || scheduleItems === void 0 ? void 0 : scheduleItems.length) > 0) {\n var items = _toConsumableArray(scheduleItems);\n items.sort(function (a, b) {\n var date1 = moment.utc(a.startTime).minutes() + moment.utc(a.startTime).hours() * 60;\n var date2 = moment.utc(b.startTime).minutes() + moment.utc(b.startTime).hours() * 60;\n return date1 > date2 ? 1 : date2 > date1 ? -1 : 0;\n });\n var highest = scheduleItems.reduce(function (prev, current) {\n var now = moment().set({\n minutes: moment.utc(current.startTime).local().minutes(),\n hours: moment.utc(current.startTime).local().hours()\n });\n var last = moment().set({\n minutes: moment(prev.startTime).minutes(),\n hours: moment.utc(prev.startTime).local().hours()\n });\n return last.unix() > now.unix() ? prev : current;\n });\n var date = moment().utc();\n var _start = moment.utc(items[0].startTime).set({\n minute: 0,\n date: date.date()\n }).local();\n var _end = moment.utc(highest.startTime).set({\n minute: 0,\n date: date.date()\n }).local().add(highest.length, \"minutes\");\n var diff = _end.diff(_start, \"hours\");\n min = _start.toDate();\n max = _end.toDate();\n if (!moment(_end).add(2, 'hours').isSame(_start, 'day')) {\n max = _end.set('minute', 59).toDate();\n max = _end.set('hour', 23).toDate();\n } else if (diff < 3) {\n min = _start.subtract(1, \"hour\").toDate();\n max = _end.add(2, 'hours').toDate();\n }\n }\n return {\n min: min,\n max: max\n };\n };\n var onSelectEvent = function onSelectEvent(slot) {\n var lesson = _getScheduleItem(slot.id);\n if (lesson == null) {\n return false;\n }\n setActiveLesson(lesson);\n };\n var renderEventTitle = function renderEventTitle(event) {\n var lesson = _getScheduleItem(event.id);\n var attendance = lesson === null || lesson === void 0 ? void 0 : lesson.attendance;\n return /*#__PURE__*/React.createElement(ItemContent, {\n services: props === null || props === void 0 ? void 0 : props.activeStudent.services,\n lesson: lesson,\n event: event,\n attendance: attendance,\n view: props.view\n });\n };\n useEffect(function () {\n var _getStartEndDates2 = _getStartEndDates(),\n start = _getStartEndDates2.start,\n end = _getStartEndDates2.end;\n var startTime = moment(start).startOf(\"day\").format(\"YYYY-MM-DDTHH:mm:ss\");\n var endTime = moment(end).endOf(\"day\").format(\"YYYY-MM-DDTHH:mm:ss\");\n\n // Prevent unnecessary dispatches when user rapidly clicks next multiple times\n if (dataTimeout != null) {\n clearTimeout(dataTimeout);\n }\n setDataTimeout(setTimeout(function () {\n setIsLoading(true);\n props.setScheduleLoading(true);\n Promise.all([dispatch(getGuardianStudentSchedule(activeStudent.id, start, end))]).then(function () {\n setIsLoading(false);\n props.setScheduleLoading(false);\n });\n }, 500));\n }, [props.date, props.view]);\n var _getStartEndDates3 = _getStartEndDates(),\n start = _getStartEndDates3.start,\n end = _getStartEndDates3.end;\n var _getTimeRange2 = _getTimeRange(),\n min = _getTimeRange2.min,\n max = _getTimeRange2.max;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"c--schedule\"\n }, activeLesson != null ? /*#__PURE__*/React.createElement(Modal, {\n title: activeLesson.type == \"ASSIGNMENT\" ? translate(\"Assignment\") : activeLesson.type === \"MEETING\" ? translate(\"Meeting\") : activeLesson.type === \"CALENDAR_EVENT\" ? translate(\"Calendar event\") : translate(\"Lesson\"),\n isOpen: true,\n overridePrompt: true,\n onClose: function onClose() {\n return setActiveLesson(null);\n }\n }, /*#__PURE__*/React.createElement(SingleModalLesson, {\n activeLesson: activeLesson,\n onAbort: function onAbort() {\n return setActiveLesson(null);\n }\n })) : null, /*#__PURE__*/React.createElement(SelectionDisplay, {\n start: start,\n end: end,\n isLoading: isLoading,\n view: props.view\n }), /*#__PURE__*/React.createElement(Calendar, {\n localizer: localizer,\n events: _eventsFactory(),\n eventPropGetter: _getEventProps,\n startAccessor: \"start\",\n endAccessor: \"end\",\n date: props.date != null ? props.date.toDate() : moment().toDate(),\n view: (_props$view2 = props.view) !== null && _props$view2 !== void 0 ? _props$view2 : \"work_week\",\n views: [\"work_week\", \"week\", \"day\", \"month\", \"agenda\"],\n toolbar: false,\n min: min,\n max: max,\n formats: props.view == \"month\" ? formats : {\n dayFormat: function dayFormat(date, culture, localizer) {\n return localizer.format(date, \"dddd D/M\", culture).capitalize();\n }\n },\n messages: {\n noEventsInRange: /*#__PURE__*/React.createElement(\"span\", {\n style: {\n display: \"block\"\n },\n className: \"color--meta text--center weight--bold\"\n }, translate(\"No schedule for today\"))\n },\n titleAccessor: renderEventTitle,\n onSelectEvent: onSelectEvent,\n components: {\n month: {\n header: MonthHeader\n }\n },\n onView: function onView() {\n return true;\n },\n onNavigate: function onNavigate() {\n return true;\n }\n }));\n};\nexport default ScheduleView;","import React from 'react';\nimport { Icon, Floating } from '@haldor/ui';\nvar DropDownList = function DropDownList(props) {\n return /*#__PURE__*/React.createElement(Floating, {\n trigger: /*#__PURE__*/React.createElement(\"button\", {\n className: \"c--button dropdown\"\n }, props.label, /*#__PURE__*/React.createElement(Icon, {\n name: \"Chevron_Down\",\n style: {\n marginLeft: '2rem'\n }\n }))\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"dropDownContainer\"\n }, props.children));\n};\nexport default DropDownList;","export var CLEAR_FILTER = \"CLEAR_FILTER\";\nexport var UPDATE_FILTER = \"UPDATE_FILTER\";\nexport var clearScheduleFilter = function clearScheduleFilter() {\n return {\n type: \"CLEAR_FILTER\"\n };\n};\nexport var UpdateFilter = function UpdateFilter(data, obj) {\n return {\n type: \"UPDATE_FILTER\",\n payload: {\n allData: data,\n obj: obj\n }\n };\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React, { useEffect, useState } from \"react\";\nimport { Button, Checkbox, Icon } from \"@haldor/ui\";\nimport { translate as getTranslate } from \"@haldor/ui\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { Expandable } from \"UI\";\nimport DropDownList from \"./DropDownList\";\nimport { clearScheduleFilter, UpdateFilter } from \"actions/ScheduleFilter\";\nvar getLengthOfObject = function getLengthOfObject(object) {\n var filterByTrue = Object.values(object).filter(function (item) {\n return item === true;\n }).length;\n return filterByTrue;\n};\nvar getActivityLength = function getActivityLength(data) {\n var totalLength = data === null || data === void 0 ? void 0 : data.length;\n data.forEach(function (element) {\n var _element$subMenu;\n element.subMenu ? totalLength += (_element$subMenu = element.subMenu) === null || _element$subMenu === void 0 ? void 0 : _element$subMenu.length : totalLength += 0;\n });\n return totalLength;\n};\nvar CalenderHeader = function CalenderHeader(props) {\n var _loggedInUser;\n var overview = props.overview,\n toggleButtons = props.toggleButtons,\n goBack = props.goBack,\n toggleIcon = props.toggleIcon,\n toggleForm = props.toggleForm,\n isToday = props.isToday,\n goToday = props.goToday,\n goForward = props.goForward,\n scheduleLoading = props.scheduleLoading;\n var dispatch = useDispatch();\n var translate = getTranslate(useSelector(function (state) {\n return state.Languages.translations;\n }));\n var ScheduleFilter = useSelector(function (state) {\n return state.ScheduleFilter;\n });\n var _useState = useState([{\n id: \"Lesson\",\n value: \"Lessons\"\n }, {\n id: \"Assignment\",\n value: \"Assignments\",\n subMenu: []\n }, {\n id: \"CalendarEvent\",\n value: \"Calendar events\",\n subMenu: []\n }, {\n id: \"Meeting\",\n value: \"Meetings\",\n subMenu: []\n }]),\n _useState2 = _slicedToArray(_useState, 1),\n activty = _useState2[0];\n\n //fetch search group sections\n var handleActivity = function handleActivity(checked, name, groups, parentId) {\n var obj = {};\n if (parentId) {\n obj = _defineProperty(_defineProperty({}, parentId, false), name, checked);\n } else {\n obj = _defineProperty({}, name, checked);\n }\n dispatch(UpdateFilter(false, obj));\n };\n var handleAllSub = function handleAllSub(checked, data, name, allButton) {\n var obj = {};\n if (checked) {\n for (var i = 0; i < data.length; i++) {\n obj[data[i].id] = true;\n }\n if (!allButton) {\n obj[name] = true;\n }\n } else {\n for (var _i = 0; _i < data.length; _i++) {\n obj[data[_i].id] = false;\n }\n if (!allButton) {\n obj[name] = false;\n }\n }\n if (allButton) {\n return obj;\n }\n dispatch(UpdateFilter(false, obj));\n };\n useEffect(function () {\n // Check the 'all activities' box if all boxes are checked\t\t\n var count = getLengthOfObject(ScheduleFilter === null || ScheduleFilter === void 0 ? void 0 : ScheduleFilter.activitiesFilter);\n var max = getActivityLength(activty);\n if (count === max) {\n dispatch(UpdateFilter(true, ScheduleFilter.activitiesFilter));\n }\n }, [ScheduleFilter.activitiesFilter]);\n\n //check if store is empty and set all to true\n useEffect(function () {\n if (Object.keys(ScheduleFilter === null || ScheduleFilter === void 0 ? void 0 : ScheduleFilter.activitiesFilter).length === 0) {\n allActivites(true, activty);\n }\n }, [activty]);\n var allActivites = function allActivites(checked, arrName, groups) {\n if (checked) {\n var obj = {};\n for (var i = 0; i < arrName.length; i++) {\n if (groups) {\n obj[arrName[i].title] = true;\n } else {\n var _arrName$i$subMenu;\n obj[arrName[i].id] = true;\n if (((_arrName$i$subMenu = arrName[i].subMenu) === null || _arrName$i$subMenu === void 0 ? void 0 : _arrName$i$subMenu.length) > 0) {\n var sub = arrName[i].subMenu;\n var subValues = handleAllSub(true, sub, 0, true);\n obj = _objectSpread(_objectSpread({}, obj), subValues);\n }\n }\n }\n dispatch(UpdateFilter(true, obj));\n return;\n }\n dispatch(clearScheduleFilter());\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"calenderToolBar\"\n }, overview ? /*#__PURE__*/React.createElement(Icon, {\n name: \"Calendar\"\n }) : null, overview ? /*#__PURE__*/React.createElement(\"span\", {\n style: {\n marginRight: \"1.45rem\"\n }\n }, translate(\"schedule-header-overview\")) : null, toggleButtons(), /*#__PURE__*/React.createElement(\"div\", {\n className: \"navigation-buttons-container\"\n }, /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n style: {\n marginLeft: 0,\n marginRight: \"0.5em\"\n },\n onClick: goBack,\n disabled: scheduleLoading\n }, toggleIcon(false), \"\\xA0\"), /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n disabled: isToday || scheduleLoading,\n style: {\n marginRight: \"0.5em\",\n marginLeft: 0\n },\n onClick: goToday\n }, translate('Today')), /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n style: {\n marginLeft: 0\n },\n onClick: goForward,\n disabled: scheduleLoading\n }, toggleIcon(true), \"\\xA0\"), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginLeft: \"1rem\"\n }\n }, overview && !((_loggedInUser = loggedInUser) !== null && _loggedInUser !== void 0 && _loggedInUser.isStudent()) ? /*#__PURE__*/React.createElement(Button, {\n onClick: toggleForm,\n type: \"secondary\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Plus\"\n }), \" \", translate(\"Create\")) : null)), props.hasAdvancedCalendar ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"filtering \"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"filter-activties\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"filter-headline\"\n }, translate(\"Select activities\")), /*#__PURE__*/React.createElement(DropDownList, {\n label: \"\".concat(translate(\"Displaying\"), \" \").concat(getLengthOfObject(ScheduleFilter === null || ScheduleFilter === void 0 ? void 0 : ScheduleFilter.activitiesFilter), \" \").concat(translate(\"of\"), \" \").concat(getActivityLength(activty))\n }, /*#__PURE__*/React.createElement(Checkbox, {\n value: ScheduleFilter.allFilter,\n onChange: function onChange(value) {\n return allActivites(value, activty);\n },\n label: translate('Select all')\n }), /*#__PURE__*/React.createElement(\"ul\", {\n className: \"filterModal\"\n }, activty.map(function (item) {\n var _item$subMenu;\n return ((_item$subMenu = item.subMenu) === null || _item$subMenu === void 0 ? void 0 : _item$subMenu.length) > 0 ? /*#__PURE__*/React.createElement(Expandable, {\n key: item.id,\n contentStyles: {\n padding: 0\n },\n contentStylesClosed: {\n padding: \"0\"\n },\n headerStyles: {\n border: \"none\"\n },\n title: /*#__PURE__*/React.createElement(Checkbox, {\n value: ScheduleFilter.activitiesFilter[item.id],\n onChange: function onChange(value) {\n return handleAllSub(value, item.subMenu, item.id);\n },\n label: translate(item.value)\n })\n }) : /*#__PURE__*/React.createElement(Checkbox, {\n key: item.id,\n value: ScheduleFilter.activitiesFilter[item.id],\n onChange: function onChange(value) {\n return handleActivity(value, item.id);\n },\n label: translate(item.value)\n });\n }))))) : null);\n};\nexport default CalenderHeader;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { translate } from \"@haldor/ui\";\nimport Moment from \"moment\";\nimport sniffer from \"sniffer\";\nimport { setPageTitle } from \"actions/header\";\nimport { debounce } from \"helpers/content\";\nimport { getWithExpiration, saveWithExpiration } from \"helpers/localstorage\";\nimport ScheduleView from \"./ScheduleView\";\nimport CalenderHeader from \"./Partials/CalenderHeader\";\nvar Schedule = /*#__PURE__*/function (_Component) {\n function Schedule(props) {\n var _this;\n _classCallCheck(this, Schedule);\n _this = _callSuper(this, Schedule, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n _this.resizeEvent = window.addEventListener(\"resize\", debounce(_this.resize, 125, false));\n _this.resize();\n _this.props.setPageTitle(_this.props.translate(\"Schedule\"));\n });\n _defineProperty(_this, \"componentWillUnmount\", function () {\n if (_this.resizeEvent != null) {\n window.removeEventListener(\"resize\", _this.resizeEvent);\n }\n });\n _defineProperty(_this, \"isLandscape\", function () {\n return window.innerHeight < window.innerWidth;\n });\n _defineProperty(_this, \"resize\", function () {\n if (_this.props.appOrientation === \"LANDSCAPE\" || _this.isLandscape()) {\n _this.setState({\n mobile: false\n });\n } else {\n var width = document.body.offsetWidth;\n if (width <= _this.breakpoint) {\n if (!_this.state.mobile) {\n _this.setState({\n mobile: true\n });\n }\n } else {\n if (_this.state.mobile) {\n _this.setState({\n mobile: false\n });\n }\n }\n }\n });\n _defineProperty(_this, \"setType\", function (event) {\n if (_this.state.type != event.target.value) {\n localStorage.setItem(\"haldor-schedule-type\", event.target.value);\n _this.setState({\n type: event.target.value\n });\n }\n });\n _defineProperty(_this, \"setScheduleLoading\", function (value) {\n _this.setState({\n scheduleLoading: value\n });\n });\n _defineProperty(_this, \"goBack\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var type;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n type = _this.state.type;\n if (_this.state.mobile) {\n type = \"day\";\n }\n if (!(type == \"month\")) {\n _context.next = 7;\n break;\n }\n _context.next = 5;\n return _this.setState({\n date: Moment(_this.state.date).subtract(1, \"month\")\n });\n case 5:\n _context.next = 14;\n break;\n case 7:\n if (!(type == \"week\" || type == \"work_week\")) {\n _context.next = 12;\n break;\n }\n _context.next = 10;\n return _this.setState({\n date: Moment(_this.state.date).subtract(1, \"week\")\n });\n case 10:\n _context.next = 14;\n break;\n case 12:\n _context.next = 14;\n return _this.setState({\n date: Moment(_this.state.date).subtract(1, \"day\")\n });\n case 14:\n saveWithExpiration(\"haldor-schedule-date\", _this.state.date.format());\n case 15:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n _defineProperty(_this, \"goForward\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {\n var type;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n type = _this.state.type;\n if (_this.state.mobile) {\n type = \"day\";\n }\n if (!(type == \"month\")) {\n _context2.next = 7;\n break;\n }\n _context2.next = 5;\n return _this.setState({\n date: Moment(_this.state.date).add(1, \"month\")\n });\n case 5:\n _context2.next = 14;\n break;\n case 7:\n if (!(type == \"week\" || type == \"work_week\")) {\n _context2.next = 12;\n break;\n }\n _context2.next = 10;\n return _this.setState({\n date: Moment(_this.state.date).add(1, \"week\")\n });\n case 10:\n _context2.next = 14;\n break;\n case 12:\n _context2.next = 14;\n return _this.setState({\n date: Moment(_this.state.date).add(1, \"day\")\n });\n case 14:\n saveWithExpiration(\"haldor-schedule-date\", _this.state.date.format());\n case 15:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2);\n })));\n _defineProperty(_this, \"goToday\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this.setState({\n date: Moment()\n });\n case 2:\n saveWithExpiration(\"haldor-schedule-date\", _this.state.date.format());\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n })));\n _defineProperty(_this, \"toggleButtons\", function () {\n if (_this.state.mobile) {\n return null;\n }\n var translate = _this.props.translate;\n var type = _this.state.type;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"select\"\n }, /*#__PURE__*/React.createElement(\"select\", {\n value: type,\n onChange: _this.setType,\n disabled: _this.state.scheduleLoading\n }, /*#__PURE__*/React.createElement(\"option\", {\n value: \"day\"\n }, translate(\"Day\")), /*#__PURE__*/React.createElement(\"option\", {\n value: \"work_week\"\n }, translate(\"Work week\")), /*#__PURE__*/React.createElement(\"option\", {\n value: \"week\"\n }, translate(\"Week\")), _this.props.activeStudent.services.advancedSchedule ? /*#__PURE__*/React.createElement(\"option\", {\n value: \"month\"\n }, translate(\"Month\")) : null, /*#__PURE__*/React.createElement(\"option\", {\n value: \"agenda\"\n }, translate(\"Agenda\"))));\n });\n _defineProperty(_this, \"toggleIcon\", function (flip) {\n return /*#__PURE__*/React.createElement(\"i\", {\n className: \"cl-container\"\n }, /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlSpace: \"preserve\",\n className: flip ? \"i-90\" : \"a-90\",\n style: {\n height: \"12px\",\n width: \"15px\",\n margin: 0\n }\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_50\",\n \"data-name\": \"Path 50\",\n className: \"cls-1\",\n d: \"M11.361,1.4,6.38,5.9,1.4,1.4\"\n })));\n });\n _this.breakpoint = 730;\n var _type = \"work_week\";\n var date = Moment();\n if (localStorage.getItem(\"haldor-schedule-type\") != null) {\n _type = localStorage.getItem(\"haldor-schedule-type\");\n }\n if (getWithExpiration(\"haldor-schedule-date\") != null) {\n date = Moment(getWithExpiration(\"haldor-schedule-date\"));\n }\n _this.state = {\n type: _type,\n date: date,\n scheduleLoading: false,\n mobile: document.body.offsetWidth <= _this.breakpoint\n };\n _this.resizeEvent = null;\n _this.debounced = debounce(_this.resize, 50, false);\n return _this;\n }\n _inherits(Schedule, _Component);\n return _createClass(Schedule, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n if (prevProps.appOrientation != null && this.props.appOrientation != null && prevProps.appOrientation !== this.props.appOrientation) {\n this.resize();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var isToday = Moment().isSame(this.state.date, this.state.type == \"week\" ? \"week\" : \"day\");\n var type = this.state.type;\n if (this.state.mobile) {\n type = \"day\";\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page\",\n style: {\n paddingBottom: '4rem'\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: this.state.mobile ? \"schedule section mobile\" : \"schedule section\",\n style: {\n margin: 0,\n padding: 0,\n border: 0\n }\n }, /*#__PURE__*/React.createElement(CalenderHeader, {\n goToday: this.goToday,\n isToday: isToday,\n toggleIcon: this.toggleIcon,\n overview: this.props.overview,\n goBack: this.goBack,\n goForward: this.goForward,\n toggleButtons: this.toggleButtons,\n hasAdvancedCalendar: this.props.activeStudent.services.advancedSchedule,\n scheduleLoading: this.state.scheduleLoading\n }), /*#__PURE__*/React.createElement(ScheduleView, _extends({\n view: type,\n date: this.state.date,\n hasAdvancedCalendar: this.props.activeStudent.services.advancedSchedule,\n setScheduleLoading: this.setScheduleLoading\n }, this.props))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations),\n activeStudent: state.User.activeStudent,\n appOrientation: state.User.appOrientation\n };\n}\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle\n})(Schedule);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nvar ColorLabel = /*#__PURE__*/function (_Component) {\n function ColorLabel() {\n _classCallCheck(this, ColorLabel);\n return _callSuper(this, ColorLabel, arguments);\n }\n _inherits(ColorLabel, _Component);\n return _createClass(ColorLabel, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n color = _this$props.color,\n tooltip = _this$props.tooltip;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"dot\",\n key: this.props.key\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"dot-content\",\n style: {\n backgroundColor: color\n },\n \"data-tooltip\": tooltip\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"text\"\n }, tooltip));\n }\n }]);\n}(Component);\nexport default ColorLabel;","import React, { Fragment } from 'react';\nimport ColorScale from '_class/ColorScale';\nimport { capitalize } from 'helpers/content';\nimport { useTranslate } from 'lib/translate';\nimport { Expandable, Icon } from '@haldor/ui';\nimport { Collapsible, ColorLabel, ColorLabelContainer } from 'UI';\nvar DisplayResource = function DisplayResource(props) {\n var _resource$assessmentB;\n var translate = useTranslate();\n var resource = props.resource,\n block = props.block;\n var assessment = block.api.getEditor().getProp('assessment');\n var getMatrix = function getMatrix() {\n var _resource$value;\n return (_resource$value = resource.value) === null || _resource$value === void 0 || (_resource$value = _resource$value.details) === null || _resource$value === void 0 || (_resource$value = _resource$value.find(function (detail) {\n return detail.matrixID == resource.referenceId;\n })) === null || _resource$value === void 0 ? void 0 : _resource$value.matrix;\n };\n\n /**\n * @param {object} row\n */\n var getRowData = function getRowData(row) {\n if (row.referenceType == 'matrixRow') {\n var foundRow = null;\n var addNotAchieved = true;\n resource.value.details.forEach(function (_detail) {\n _detail.matrix._ParagraphSet.forEach(function (_paragraph) {\n var matchingRow = _paragraph.rows.find(function (_row) {\n return _row.id == row.referenceId;\n });\n if (matchingRow != null) {\n if (_detail.matrix.disableNotAchieved) {\n addNotAchieved = false;\n }\n foundRow = JSON.parse(JSON.stringify(matchingRow));\n }\n });\n });\n if (foundRow != null && addNotAchieved) {\n var _foundRow;\n if (((_foundRow = foundRow) === null || _foundRow === void 0 ? void 0 : _foundRow.cells.find(function (cell) {\n return cell.id == 'F';\n })) == null) {\n var _foundRow2;\n (_foundRow2 = foundRow) === null || _foundRow2 === void 0 || _foundRow2.cells.unshift({\n text: translate('Not achieved'),\n id: 'F'\n });\n }\n }\n return foundRow;\n }\n if (row.referenceType == 'assessmentGoalRow') {\n var _resource$value2;\n var _foundRow3 = (_resource$value2 = resource.value) === null || _resource$value2 === void 0 ? void 0 : _resource$value2.rows.find(function (_row) {\n return _row.id == row.referenceId;\n });\n if (_foundRow3 != null) {\n var _foundRow3$cells;\n _foundRow3.cells = (_foundRow3$cells = _foundRow3.cells) === null || _foundRow3$cells === void 0 ? void 0 : _foundRow3$cells.sort(function (a, b) {\n return a.index - b.index;\n });\n }\n return _foundRow3;\n }\n };\n\n /**\n * @param {object} row\n */\n var getRowParagraph = function getRowParagraph(row) {\n if (row.referenceType == 'matrixRow') {\n var foundParagraph = null;\n resource.value.details.forEach(function (_detail) {\n _detail.matrix._ParagraphSet.forEach(function (_paragraph) {\n var matchingRow = _paragraph.rows.find(function (_row) {\n return _row.id == row.referenceId;\n });\n if (matchingRow != null) {\n foundParagraph = _paragraph;\n }\n });\n });\n return foundParagraph;\n }\n return null;\n };\n\n /**\n * @param {object} row\n */\n var getRowClarifications = function getRowClarifications(row) {\n if (props.clarifications == null) {\n return [];\n }\n var found = props.clarifications.find(function (clarification) {\n if (clarification.value == null) {\n return false;\n }\n return clarification.value.title == row.id;\n });\n if (found == null) {\n return [];\n }\n return found.value.rows;\n };\n\n /**\n * @param {object} resource\n */\n var getResourceTitle = function getResourceTitle(resource) {\n var translate = block.api.getEditor().getProp('translate');\n var text = '';\n if (resource.referenceType == 'assessmentGoal') {\n text = translate('Goal');\n }\n if (resource.referenceType == 'matrix' && resource.value != null) {\n text = resource.value.year != null ? \"\".concat(resource.value.title, \" \").concat(resource.value.year) : resource.value.title;\n }\n if (resource.referenceType == 'assessmentGoal') {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df aic jcb\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"assessmentGoal-dotContainer\"\n }, /*#__PURE__*/React.createElement(\"span\", null, text), props.courses.length > 0 ? props.courses.map(function (course) {\n var _course$value;\n var title = ((_course$value = course.value) === null || _course$value === void 0 ? void 0 : _course$value.year) != null ? \"\".concat(course.value.title, \" \").concat(course.value.year) : course.value.title;\n return /*#__PURE__*/React.createElement(ColorLabelContainer, null, /*#__PURE__*/React.createElement(ColorLabel, {\n key: course.value.id,\n tooltip: title,\n color: course.value.colorCode\n }));\n }) : null));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df aic jcb\"\n }, text);\n };\n\n /**\n * @param {object} resource\n */\n var getResourceColor = function getResourceColor(resource) {\n if (resource.referenceType == 'assessmentGoal') {\n return '#0f78da';\n }\n if (resource.referenceType == 'matrix' && resource.value != null) {\n return resource.value.colorCode;\n }\n return '#ccc';\n };\n\n /**\n * @param {object} rowData\n */\n var getColors = function getColors(rowData) {\n var showRed = false;\n if (resource.referenceType == 'assessmentGoal') {\n showRed = rowData.cells.find(function (cell) {\n return cell.type == 'NotAchievedTextField';\n }) != null;\n }\n if (resource.referenceType == 'matrix') {\n var detail = resource.value.details.find(function (detail) {\n return detail.matrix._ParagraphSet.find(function (paragraph) {\n return paragraph.rows.find(function (row) {\n return row.id == rowData.id;\n });\n });\n });\n if (detail != null && !detail.matrix.disableNotAchieved) {\n showRed = true;\n }\n }\n return new ColorScale(rowData.cells.length).get(showRed);\n };\n\n /**\n * @param {object} cell\n * @param {object} assessmentBlockPartRow\n */\n var getIsCellSelected = function getIsCellSelected(cell, assessmentBlockPartRow) {\n var _assessment$assessmen;\n if (assessment == null) {\n return false;\n }\n var foundInValue = (_assessment$assessmen = assessment.assessmentDetails) === null || _assessment$assessmen === void 0 ? void 0 : _assessment$assessmen.find(function (detail) {\n return detail.cellId == cell.id && detail.assessmentBlockPartRowId == assessmentBlockPartRow.id;\n });\n return foundInValue != null;\n };\n var assessmentBlockPartRows = resource.assessmentBlockPartRows;\n var feedbacks = [];\n if (assessment != null && assessment !== null && assessment !== void 0 && assessment.assessmentFeedbacks) {\n var _assessment$assessmen2;\n feedbacks = (_assessment$assessmen2 = assessment.assessmentFeedbacks) === null || _assessment$assessmen2 === void 0 ? void 0 : _assessment$assessmen2.filter(function (feedback) {\n return feedback.assessmentBlockPartId == resource.id;\n });\n }\n if ((resource.assessmentBlockPartRows == null || ((_resource$assessmentB = resource.assessmentBlockPartRows) === null || _resource$assessmentB === void 0 ? void 0 : _resource$assessmentB.length) == 0) && feedbacks.length == 0) {\n return null;\n }\n var matrix = null;\n if (resource.referenceType == 'matrix') {\n matrix = getMatrix();\n if (matrix == null || matrix._ParagraphSet == null) {\n return null;\n }\n }\n var renderFragment = function renderFragment(row, paragraph, assessmentBlockPartRow, clarifications, colors) {\n return /*#__PURE__*/React.createElement(Fragment, {\n key: row.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"df row\"\n }, paragraph != null ? /*#__PURE__*/React.createElement(\"div\", null, paragraph.paragraphNr, \".\", row.sentenceNr) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"column-text\"\n }, row.description != null ? row.description : row.text), /*#__PURE__*/React.createElement(\"div\", {\n className: \"cells df\"\n }, row.cells.map(function (cell, index) {\n var selected = getIsCellSelected(cell, assessmentBlockPartRow);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: selected ? 'cell selected' : 'cell',\n style: {\n '--level-color': colors[index]\n },\n key: cell.id\n }, cell.value != null ? cell.value : cell.text, /*#__PURE__*/React.createElement(Icon, {\n name: \"Check\"\n }));\n }))), clarifications.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"clarifications display-resource\"\n }, /*#__PURE__*/React.createElement(Collapsible, {\n trigger: translate('Clarifications')\n }, clarifications.map(function (clarification) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df row\",\n key: clarification.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"column-text\"\n }, clarification.description), /*#__PURE__*/React.createElement(\"div\", {\n className: \"cells df\"\n }, clarification.cells.map(function (cell) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"cell\",\n key: cell.id\n }, cell.value);\n })));\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"color--meta\"\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Alert\",\n bw: true\n }), \" \", translate('Existing clarifications will not be copied and cannot be edited. Move them to an assessment goal instead.')))) : null);\n };\n var isUndefined = function isUndefined(currentValue) {\n return currentValue == undefined;\n };\n return /*#__PURE__*/React.createElement(Expandable, {\n title: getResourceTitle(resource),\n color: getResourceColor(resource),\n open: true,\n ignorePropsUpdate: true\n }, resource.referenceType == 'matrix' && matrix != null && matrix._ParagraphSet.map(function (paragraph) {\n var paragraphUsed = paragraph.rows.map(function (row) {\n return assessmentBlockPartRows.find(function (selectedRow) {\n return selectedRow.referenceId == row.id;\n });\n });\n if (paragraphUsed != null && !paragraphUsed.every(isUndefined)) {\n return /*#__PURE__*/React.createElement(\"div\", null, paragraph.title != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"matrix-paragraph-title\"\n }, paragraph.title) : null, paragraph.subtitle != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"matrix-paragraph-subtitle\"\n }, paragraph.subtitle) : null, paragraph.rows.map(function (row) {\n var assessmentBlockPartRow = assessmentBlockPartRows.find(function (selectedRow) {\n return selectedRow.referenceId == row.id;\n });\n if (assessmentBlockPartRow != null) {\n row = getRowData(assessmentBlockPartRow);\n paragraph = getRowParagraph(assessmentBlockPartRow);\n if (row == null) {\n return null;\n }\n var clarifications = getRowClarifications(row);\n var colors = getColors(row);\n return renderFragment(row, paragraph, assessmentBlockPartRow, clarifications, colors);\n }\n }));\n }\n }), resource.referenceType == 'assessmentGoal' && assessmentBlockPartRows.map(function (assessmentBlockPartRow) {\n var row = getRowData(assessmentBlockPartRow);\n var paragraph = getRowParagraph(assessmentBlockPartRow);\n if (row == null) {\n return null;\n }\n var clarifications = getRowClarifications(row);\n var colors = getColors(row);\n var fragment = renderFragment(row, paragraph, assessmentBlockPartRow, clarifications, colors);\n return fragment;\n }), feedbacks != null && feedbacks.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"feedbacks\"\n }, feedbacks.map(function (feedback) {\n return /*#__PURE__*/React.createElement(Collapsible, {\n key: feedback.id,\n trigger: translate('Feedback'),\n defaultOpen: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: feedback.text\n }\n }));\n })) : null);\n};\nexport default DisplayResource;","import React from 'react';\nimport { Flex, Icon, Expandable, Block } from '@haldor/ui';\nimport { useTranslate } from 'lib/translate';\nimport { capitalize } from 'helpers/content';\nimport { Collapsible } from 'UI';\nimport './_OnlyFeedbackForm.scss';\nvar DisplayOnlyFeedback = function DisplayOnlyFeedback(props) {\n var translate = useTranslate();\n var part = props.part,\n block = props.block;\n var assessment = block.api.getEditor().getProp('assessment');\n var renderTitle = function renderTitle() {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"df aic jcb\"\n }, translate('Feedback'));\n };\n var feedbacks = [];\n if (assessment != null) {\n var _assessment$assessmen;\n feedbacks = (_assessment$assessmen = assessment.assessmentFeedbacks) === null || _assessment$assessmen === void 0 ? void 0 : _assessment$assessmen.filter(function (feedback) {\n return feedback.assessmentBlockPartId == part.id;\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"only-feedback-container\"\n }, /*#__PURE__*/React.createElement(Expandable, {\n open: true,\n title: renderTitle(),\n color: \"#777\",\n ignorePropsUpdate: true\n }, feedbacks != null && feedbacks.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"feedbacks\"\n }, feedbacks.map(function (feedback) {\n return /*#__PURE__*/React.createElement(Collapsible, {\n key: feedback.id,\n trigger: translate('Feedback'),\n defaultOpen: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n dangerouslySetInnerHTML: {\n __html: feedback.text\n }\n }));\n })) : null));\n};\nDisplayOnlyFeedback.defaultProps = {\n assessments: [],\n disabled: false\n};\nexport default DisplayOnlyFeedback;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React from \"react\";\nimport { Button, Flex, Haldor__Block, Icon } from \"@haldor/ui\";\nimport DisplayResource from \"./DisplayResource\";\nimport DisplayOnlyFeedback from \"./DisplayOnlyFeedback\";\nvar AssessmentBlock = /*#__PURE__*/function (_Haldor__Block) {\n function AssessmentBlock(_props) {\n var _this;\n _classCallCheck(this, AssessmentBlock);\n _this = _callSuper(this, AssessmentBlock, [_props]);\n _defineProperty(_this, \"editorBlockWasAdded\", function () {\n var translate = _this.api.getEditor().getProp(\"translate\");\n _this.events.onTitleChange(translate(\"Assessment\") + \" \" + (_this.api.getIndex() + 1));\n });\n _defineProperty(_this, \"addCoursePart\", function (event) {\n event.preventDefault();\n _this.addResource(\"Haldor.Blocks.AssessmentBlock.ShowModal\", {\n visible: true\n });\n });\n _defineProperty(_this, \"addGoalMatrix\", function (event) {\n event.preventDefault();\n _this.addResource(_this.PART_RESOURCE_TYPE, {\n status: \"Started\",\n referenceId: \"\",\n referenceType: \"assessmentGoal\",\n value: {\n id: 0,\n visibleToStudent: true,\n visibleToGuardian: true,\n title: \"\",\n rows: []\n },\n permissions: []\n });\n });\n _defineProperty(_this, \"addCourses\", function (values) {\n values.forEach(function (course) {\n _this.addResource(_this.PART_RESOURCE_TYPE, {\n status: \"Started\",\n referenceId: \"\",\n referenceType: \"matrix\",\n assessmentBlockPartRows: [],\n value: course,\n permissions: []\n });\n });\n });\n _defineProperty(_this, \"goalMatrixChange\", function (goalMatrix) {\n if (goalMatrix.index != null) {\n var foundExisting = _this.getResources().find(function (resource) {\n return resource.index == goalMatrix.index;\n });\n if (foundExisting != null) {\n var currentIndex = foundExisting.index;\n _this.removeResource(foundExisting);\n _this.addResource(_this.PART_RESOURCE_TYPE, goalMatrix, currentIndex);\n return true;\n }\n }\n _this.addResource(_this.PART_RESOURCE_TYPE, goalMatrix);\n });\n _defineProperty(_this, \"courseChange\", function (course) {\n if (course == null || course.value == null) {\n return false;\n }\n var foundExisting = _this.getResources().find(function (resource) {\n return resource.value.id == course.value.id;\n });\n if (foundExisting != null) {\n var currentIndex = foundExisting.index;\n _this.removeResource(foundExisting);\n _this.addResource(_this.PART_RESOURCE_TYPE, course, currentIndex);\n return true;\n }\n _this.addResource(_this.PART_RESOURCE_TYPE, course);\n });\n _defineProperty(_this, \"edit\", function (props) {\n return null;\n });\n _defineProperty(_this, \"consume\", function (props) {\n var goals = _toConsumableArray(props.resources).filter(function (resource) {\n return resource[\"@odata.type\"] == _this.PART_RESOURCE_TYPE && resource.referenceType == \"assessmentGoal\";\n });\n var courses = _toConsumableArray(props.resources).filter(function (resource) {\n return resource[\"@odata.type\"] == _this.PART_RESOURCE_TYPE && resource.referenceType == \"matrix\";\n });\n var feedbackParts = _toConsumableArray(props.resources).filter(function (resource) {\n return resource['@odata.type'] == _this.PART_RESOURCE_TYPE && resource.referenceType == 'assessmentonlyfeedback';\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block--assessment-block consume\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"display-matrix\"\n }, goals.map(function (resource) {\n return /*#__PURE__*/React.createElement(DisplayResource, {\n resource: resource,\n block: _this,\n key: resource.id,\n courses: courses\n });\n }), courses.map(function (resource) {\n return /*#__PURE__*/React.createElement(DisplayResource, {\n resource: resource,\n block: _this,\n key: resource.id\n });\n }), feedbackParts.map(function (resource, index) {\n return /*#__PURE__*/React.createElement(DisplayOnlyFeedback, {\n block: _this,\n part: resource\n });\n })));\n });\n _this.name = \"Haldor.Blocks.AssessmentBlock\";\n _this.block_type = \"expandable_block\";\n _this.PART_RESOURCE_TYPE = \"Haldor.Blocks.AssessmentBlockPart\";\n _this.registerResourceType(_this.PART_RESOURCE_TYPE, {\n status: \"string\",\n referenceId: \"string\",\n referenceType: \"string\",\n value: \"object\"\n // permissions: 'object'\n });\n _this.registerResourceType(\"Haldor.Blocks.AssessmentBlock.ShowModal\", {\n visible: \"boolean\"\n });\n return _this;\n }\n _inherits(AssessmentBlock, _Haldor__Block);\n return _createClass(AssessmentBlock);\n}(Haldor__Block);\nexport default AssessmentBlock;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from \"react\";\nimport { HaldorBlockConsumer } from \"@haldor/ui\";\nimport { useTranslate } from \"lib/translate\";\nimport \"./_AssessmentBlock.scss\";\nimport AssessmentBlock from \"./Blocks/AssessmentBlock\";\nvar BlockConsumer = function BlockConsumer(props) {\n var _getFields;\n var translate = useTranslate();\n var getFields = function getFields() {\n var _props$assessment;\n var assessmentFeedback = ((_props$assessment = props.assessment) === null || _props$assessment === void 0 || (_props$assessment = _props$assessment.assessmentFeedbacks) === null || _props$assessment === void 0 ? void 0 : _props$assessment.length) > 0;\n var assessmentBlocks = props.fields.filter(function (s) {\n return s.resources.some(function (r) {\n var _r$assessmentBlockPar;\n return r.referenceType == 'assessmentonlyfeedback' && assessmentFeedback || r.assessmentBlockPartRows != null && ((_r$assessmentBlockPar = r.assessmentBlockPartRows) === null || _r$assessmentBlockPar === void 0 ? void 0 : _r$assessmentBlockPar.length) > 0;\n });\n });\n return assessmentBlocks.sort(function (a, b) {\n return a.sortorder - b.sortorder;\n }).map(function (field) {\n var label = translate('Teacher assessment');\n var ofType = assessmentBlocks.filter(function (block) {\n return block.assessmentType == field.assessmentType;\n });\n var foundIndex = ofType.findIndex(function (b) {\n return b.id == field.id;\n });\n field.title = label + ' ' + (foundIndex + 1);\n return field;\n });\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"assessment-block\"\n }, ((_getFields = getFields()) === null || _getFields === void 0 ? void 0 : _getFields.length) > 0 ? /*#__PURE__*/React.createElement(\"h3\", null, translate(\"Assessment\")) : null, /*#__PURE__*/React.createElement(HaldorBlockConsumer, _extends({\n plugins: [AssessmentBlock],\n translate: translate\n }, props, {\n fields: getFields()\n })));\n};\nexport default BlockConsumer;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport Moment from \"moment\";\nimport { addError } from \"actions\";\nimport { getGuardianStudentAssessments, getGuardianStudentAssignment, getGuardianStudentAssignmentAssessments } from \"actions/assignments\";\nimport { getCourse, getGuardianStudentGroup } from \"actions/sections\";\nimport { getReaderParameters } from \"actions/user\";\nimport { setPageTitle } from \"actions/header\";\nimport { getDescription } from \"helpers/content\";\nimport Message from \"containers/SinglePages/Partials/Message\";\nimport { getBlocksByReference } from \"actions/blocks\";\nimport ColorLabel from \"components/Presentation/Cards/ColorLabel\";\nimport FromNow from \"components/Presentation/Dates/FromNow\";\nimport PostContent from \"components/Presentation/PostContent\";\nimport AssessmentsConsumer from \"components/BlockAssessments/Consumer\";\nimport { Spinner, ColorLabelContainer } from \"UI\";\nimport { Immersive_Reader } from \"UI/Icons\";\nimport { Block, Flex, Button, translate, getActiveLanguage } from \"@haldor/ui\";\nvar ImmersiveReader = require(\"@microsoft/immersive-reader-sdk\");\nvar HaldorAssignment = /*#__PURE__*/function (_Component) {\n function HaldorAssignment(props) {\n var _this;\n _classCallCheck(this, HaldorAssignment);\n _this = _callSuper(this, HaldorAssignment, [props]);\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n _this.props.setPageTitle(_this.props.task.title);\n });\n _defineProperty(_this, \"componentDidMount\", function () {\n var activeStudent = _this.props.activeStudent;\n _this.props.getGuardianStudentAssignmentAssessments(_this.props.task.id).then(function () {\n _this.setState({\n loadingAssessments: false\n });\n });\n if (_this.props.task.associatedMatrices != null) {\n _this.props.task.associatedMatrices.forEach(function (matrix) {\n if (_this.getCourse(matrix.courseId) == null) {\n _this.props.getCourse(matrix.courseId);\n }\n });\n }\n _this.props.getGuardianStudentGroup(activeStudent.id, _this.props.task.sectionId).then(function () {\n _this.setState({\n loadingGroup: false\n });\n });\n if (_this.props.task.assessmentType == \"SELF\") {\n _this.setState({\n loadedSelfAssessment: true\n });\n _this.props.getGuardianStudentAssessments(activeStudent.id, _this.props.task.tasks[0].id).then(function () {\n _this.setState({\n loadingSelfAssessment: false\n });\n });\n }\n _this.props.getBlocksByReference(_this.props.task.id, \"ASSIGNMENT\").then(function () {\n _this.setState({\n loadingBlocks: false\n });\n });\n });\n _defineProperty(_this, \"getCourse\", function (courseId) {\n return _this.props.courses.find(function (course) {\n return course.id == courseId;\n });\n });\n _defineProperty(_this, \"onConversationClose\", function () {\n _this.setState({\n studentConversation: null\n });\n });\n _defineProperty(_this, \"openConversation\", function () {\n _this.setState({\n studentConversation: _this.props.activeStudent\n });\n });\n _defineProperty(_this, \"pupilStatusIndicator\", function (status) {\n var assessed = false;\n if (_this.props.assessments != null) {\n if (_this.props.assessments.length > 0) {\n assessed = true;\n }\n }\n if (assessed == false) {\n /**\n * Retrieve status from assignmentTaskStatus and render the correct icon with translated status text\n */\n var statusObject = _this.props.status.assignmentTaskStatus.find(function (type) {\n return type.id == status;\n });\n if (statusObject != null) {\n return _this.renderAssignmentTaskStatus(statusObject);\n }\n } else {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-green\"\n }, _this.props.translate(\"Assessed\"));\n }\n return null;\n });\n _defineProperty(_this, \"assignmentIndicator\", function (status) {\n if (status === \"ASSIGNMENT_OPEN\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-green\"\n }, _this.props.translate(\"Open\"));\n } else if (status === \"ASSIGNMENT_CLOSED\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-red\"\n }, _this.props.translate(\"Closed\"));\n } else if (status === \"ASSIGNMENT_DRAFT\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-gray\"\n }, _this.props.translate(\"Draft\"));\n } else if (status === \"ASSIGNMENT_DELETED\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-red\"\n }, _this.props.translate(\"Deleted\"));\n }\n return null;\n });\n _defineProperty(_this, \"runImmersiveReader\", function () {\n var task = _this.props.task;\n var data = {\n title: task.title,\n chunks: [{\n content: \"

\" + task.title + \"

\",\n mimeType: \"text/html\"\n }, {\n content: getDescription(task.description),\n mimeType: \"text/html\"\n }]\n };\n _this.props.getReaderParameters().then(function () {\n var reader = _this.props.reader;\n ImmersiveReader.launchAsync(reader.token, reader.subdomain, data, {\n uiLang: getActiveLanguage()\n })[\"catch\"](function (error) {\n console.error(\"error\", error);\n //trackImmersiveReaderError(error, currentUser.id);\n });\n });\n });\n /**\n * This function renders the correct icon and text for the current status of the assignment task\n * @param {Object} currentStatus \n * @returns \n */\n _defineProperty(_this, \"renderAssignmentTaskStatus\", function (currentStatus) {\n if (currentStatus == null) return null;\n var statusIcons = [{\n id: 'ASSIGNMENT_TASK_NOT_STARTED',\n url: '/dist/svg/Status_notStarted-ico.svg'\n }, {\n id: 'ASSIGNMENT_TASK_STARTED',\n url: '/dist/svg/Status_started-ico.svg'\n }, {\n id: 'ASSIGNMENT_TASK_SUBMITTED',\n url: '/dist/svg/Status_submitted-ico.svg'\n }, {\n id: 'ASSIGNMENT_TASK_NOT_COMPLETE',\n url: '/dist/svg/Status_notComplete-ico.svg'\n }, {\n id: 'ASSIGNMENT_TASK_CAN_DEVELOP',\n url: '/dist/svg/Status_canDevelop-ico.svg'\n }];\n var icon = statusIcons.find(function (icon) {\n return icon.id == currentStatus.id;\n });\n if (icon == null) return null;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n marginRight: '0.5rem'\n }\n }, /*#__PURE__*/React.createElement(\"img\", {\n style: {\n width: '20px',\n marginRight: '0.3rem'\n },\n src: icon.url,\n alt: \"task status\"\n }), /*#__PURE__*/React.createElement(\"div\", null, currentStatus.value));\n });\n _defineProperty(_this, \"taskContent\", function () {\n Moment.locale(getActiveLanguage());\n var _this$props = _this.props,\n translate = _this$props.translate,\n group = _this$props.group;\n if (_this.props.task != null) {\n var status = \"\";\n if (_this.props.status != null) {\n var statusObject = _this.props.status.assignmentTypes.find(function (type) {\n return type.id == _this.props.task.assignmentType;\n });\n if (statusObject != null) status = statusObject.value;\n }\n var conversationEnabled = false;\n if (group !== null && group !== void 0 && group.owners && (group === null || group === void 0 ? void 0 : group.owners.length) > 0) {\n conversationEnabled = _this.hasValidOwner(group.owners, _this.props.task.creator, group.schoolID.toString());\n }\n var conversation = null;\n if (_this.props.conversations != null && _this.props.profile != null) {\n conversation = _this.props.conversations.find(function (conv) {\n return conv.memberships.find(function (member) {\n return member.membershipID == _this.props.profile.id;\n });\n });\n }\n var assessmentBlocks = [];\n var assessment = null;\n if (_this.props.blocks != null) {\n assessmentBlocks = _toConsumableArray(_this.props.blocks).filter(function (block) {\n return block.type == \"Haldor.Blocks.AssessmentBlock\";\n });\n }\n if (_this.props.assessments != null && !_this.state.loadingAssessments) {\n assessment = _this.props.assessments.find(function (assessment) {\n return assessment.studentId == _this.props.activeStudent.id;\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section form left-side\"\n }, /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate(\"Assignment information\")), /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: _this.runImmersiveReader\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"reader trigger\"\n }, /*#__PURE__*/React.createElement(Immersive_Reader, null), \" \", translate(\"Immersive Reader\"))), /*#__PURE__*/React.createElement(PostContent, null, getDescription(_this.props.task.description)), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\",\n style: {\n marginRight: \"0.55rem\"\n }\n }, status), _this.props.task.studentAssessment ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\",\n style: {\n marginRight: \"0.55rem\"\n }\n }, translate(\"Student assessment\")) : null, /*#__PURE__*/React.createElement(FromNow, null, _this.props.task.dueDate), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n })), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate(\"Group\")), _this.props.task.sectionTitle), /*#__PURE__*/React.createElement(\"span\", {\n style: {\n marginTop: \"1rem\"\n },\n className: \"title\"\n }, translate(\"Status\")), _this.props.task.created == \"0001-01-01T00:00:00\" ? /*#__PURE__*/React.createElement(\"div\", null, translate(\"Assignment is being created\")) : /*#__PURE__*/React.createElement(\"div\", null, _this.renderAssignmentTaskStatus(_this.props.task.tasks[0].status), _this.pupilStatusIndicator(_this.props.task.tasks[0].status), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n })), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"1rem\"\n }\n }), /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n display: \"block\"\n }\n }, translate(\"Start\")), Moment.utc(_this.props.task.startDate).local().format(\"D MMM H:mm\")), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n display: \"block\"\n }\n }, translate(\"End\")), Moment.utc(_this.props.task.dueDate).local().format(\"D MMM H:mm\"))), _this.props.task.courses.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"1rem\"\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate(\"Courses\")), /*#__PURE__*/React.createElement(ColorLabelContainer, null, _this.props.task.courses.map(function (course) {\n var text = course.year != null ? course.title + \" \" + course.year : course.title;\n return /*#__PURE__*/React.createElement(ColorLabel, {\n key: \"single_assignment_course-\".concat(course.id),\n tooltip: text,\n color: course.colorCode\n });\n }))) : null, _this.props.activeStudent != null && _this.props.activeStudent.services.conversations && conversationEnabled ? /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n onClick: _this.openConversation,\n style: {\n marginTop: \"1rem\",\n position: \"relative\"\n }\n }, _this.props.translate(\"Conversation\"), conversation != null && conversation.unreadMessages > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"badge\"\n }, /*#__PURE__*/React.createElement(\"span\", null, conversation.unreadMessages)) : null) : null)), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-actions right-side\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: \"both\"\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section-divider\"\n }), _this.props.activeStudent != null && _this.props.activeStudent.services.conversations ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(Message, {\n assignment: _this.props.task,\n activeUser: _this.state.studentConversation,\n onClose: _this.onConversationClose\n })) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, _this.state.loadingBlocks ? /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }) : /*#__PURE__*/React.createElement(AssessmentsConsumer, {\n fields: assessmentBlocks,\n assessment: assessment\n })));\n }\n return null;\n });\n _this.state = {\n taskId: _this.props.match.params.assignmentId,\n task: null,\n tasks: [],\n isStudent: false,\n loadingGroup: true,\n loadingBlocks: true,\n loadingAssessments: true,\n loadingSelfAssessment: false,\n studentConversation: null\n };\n return _this;\n }\n _inherits(HaldorAssignment, _Component);\n return _createClass(HaldorAssignment, [{\n key: \"renderKnowledgeRequirementsHeader\",\n value: function renderKnowledgeRequirementsHeader() {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontWeight: 500\n },\n className: \"matrix-knowledge-req-title\"\n }, this.props.translate(\"Learning goals\")));\n }\n }, {\n key: \"renderMembersForStudent\",\n value: function renderMembersForStudent() {\n if (this.state.task != null) {\n if (this.state.task.tasks[0] != null) {\n return this.state.task.tasks[0].assignedUsers.map(function (student) {\n return /*#__PURE__*/React.createElement(\"div\", null, \"\".concat(student.firstName, \" \").concat(student.lastName));\n });\n }\n }\n return null;\n }\n }, {\n key: \"hasNonStudentRole\",\n value: function hasNonStudentRole(roles, referenceId) {\n return roles.some(function (role) {\n return role.referenceId === referenceId && role.roleId.toLowerCase() !== \"student\";\n });\n }\n }, {\n key: \"hasValidOwner\",\n value: function hasValidOwner(sectionOwners, creatorId, referenceId) {\n var _this2 = this;\n return sectionOwners.some(function (user) {\n return user.userId === creatorId && _this2.hasNonStudentRole(user.roles, referenceId);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.props.task != null) {\n return /*#__PURE__*/React.createElement(\"div\", null, this.taskContent());\n }\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n task: state.assignments.assignment,\n activeStudent: state.User.activeStudent,\n courses: state.groups.courses,\n assessments: state.assignments.assessments,\n profile: state.profile.profile,\n status: state.base.status,\n selfAssessment: state.assignments.selfAssessment,\n conversations: state.Conversation.referenceConversations,\n reader: state.User.reader,\n group: state.groups.activeGroup,\n translate: translate(state.Languages.translations),\n blocks: state.Blocks.reference\n };\n};\nexport default connect(mapStateToProps, {\n getGuardianStudentAssignment: getGuardianStudentAssignment,\n addError: addError,\n getGuardianStudentAssignmentAssessments: getGuardianStudentAssignmentAssessments,\n getGuardianStudentAssessments: getGuardianStudentAssessments,\n getReaderParameters: getReaderParameters,\n setPageTitle: setPageTitle,\n getCourse: getCourse,\n getGuardianStudentGroup: getGuardianStudentGroup,\n getBlocksByReference: getBlocksByReference\n})(HaldorAssignment);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Block } from '@haldor/ui';\nimport DOMPurify from \"dompurify\";\nimport './_outcomes.scss';\nvar Outcomes = /*#__PURE__*/function (_Component) {\n function Outcomes() {\n _classCallCheck(this, Outcomes);\n return _callSuper(this, Outcomes, arguments);\n }\n _inherits(Outcomes, _Component);\n return _createClass(Outcomes, [{\n key: \"render\",\n value: function render() {\n var _this$props$outcomes = this.props.outcomes,\n rubric = _this$props$outcomes.rubric,\n rubricOutcomes = _this$props$outcomes.rubricOutcomes;\n return /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"outcomes\"\n }, rubric.qualities.map(function (quality) {\n var outcome = rubricOutcomes.find(function (outcome) {\n return outcome.qualityId == quality.qualityId;\n });\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"rubric\",\n key: quality.qualityId\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"rubric-content\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"description\"\n }, quality.description.content), /*#__PURE__*/React.createElement(\"div\", {\n className: \"levels\"\n }, rubric.levels.map(function (level, levelIndex) {\n var criteria = quality.criteria[levelIndex];\n var isMarked = false;\n if (outcome != null) {\n isMarked = outcome.levelId == level.levelId;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"level\".concat(isMarked ? ' marked' : ''),\n key: level.levelId\n }, /*#__PURE__*/React.createElement(\"strong\", null, level.displayName), criteria != null ? criteria : null);\n }))), outcome != null && outcome.feedback != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"rubric-feedback\"\n }, /*#__PURE__*/React.createElement(\"strong\", null, \"Feedback\"), /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: DOMPurify.sanitize(outcome.feedback)\n }\n })) : null);\n })));\n }\n }]);\n}(Component);\nexport default Outcomes;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport { getReaderParameters } from \"actions/user\";\nimport Message from \"containers/SinglePages/Partials/Message\";\nimport { getDescription } from \"helpers/content\";\nimport Moment from \"moment\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport DOMPurify from \"dompurify\";\nimport { Spinner, Expandable } from \"UI\";\nimport PostContent from \"components/Presentation/PostContent\";\nimport AssessmentsConsumer from \"components/BlockAssessments/Consumer\";\nimport { getGuardianStudentAssignment, getGuardianStudentAssignmentAssessments, getTeamsAssignment, getTeamsAssignmentOutcomes, getTeamsAssignmentResources, getTeamsAssignmentResource } from \"actions/assignments\";\nimport { getBlocksByReference } from \"actions/blocks\";\nimport { setPageTitle } from \"actions/header\";\nimport { getCourse } from \"actions/sections\";\nimport { Immersive_Reader } from \"UI/Icons\";\nimport { Block, translate, getActiveLanguage } from \"@haldor/ui\";\nimport Outcomes from './Partials/Outcomes';\nvar ImmersiveReader = require(\"@microsoft/immersive-reader-sdk\");\nvar MicrosoftAssignment = /*#__PURE__*/function (_Component) {\n function MicrosoftAssignment(props) {\n var _this;\n _classCallCheck(this, MicrosoftAssignment);\n _this = _callSuper(this, MicrosoftAssignment, [props]);\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n if (_this.props.task != null) {\n _this.props.setPageTitle(_this.props.task.title);\n }\n });\n _defineProperty(_this, \"componentDidMount\", function () {\n var _this$props = _this.props,\n activeStudent = _this$props.activeStudent,\n task = _this$props.task;\n var services = _this.getServices();\n var promises = [];\n var assignmentId = _this.props.task.id;\n\n // We need to get haldorAssignmentObject if it is possible to render assoicatedMatrices and get sectionId\n if (assignmentId != null && assignmentId > -1 && assignmentId == parseInt(assignmentId, 10)) {\n var assignmentPromise = _this.props.getGuardianStudentAssignment(activeStudent.id, assignmentId);\n promises.push(assignmentPromise);\n } else {\n var _assignmentPromise = _this.props.getTeamsAssignment(activeStudent.id, task.sectionId, task.externalId);\n promises.push(_assignmentPromise);\n }\n if (services.haldorAssessments && assignmentId != null && assignmentId > -1 && assignmentId == parseInt(assignmentId, 10)) {\n var assessments = _this.props.getGuardianStudentAssignmentAssessments(_this.props.task.id);\n promises.push(assessments);\n }\n var assignmentResources = _this.props.getTeamsAssignmentResources(activeStudent.id, task.sectionId, task.externalId);\n promises.push(assignmentResources);\n if (services.microsoftAssessments) {\n var outcomes = _this.props.getTeamsAssignmentOutcomes(activeStudent.id, task.sectionId, task.externalId);\n promises.push(outcomes);\n }\n Promise.all(promises).then(function () {\n _this.props.getBlocksByReference(_this.props.task.id, \"ASSIGNMENT\").then(function () {\n _this.setState({\n loadingBlocks: false\n });\n });\n\n // We should only run this API if we can get sectionId from HaldorAssigmentObject\n if (services.haldorAssessments && _this.props.haldorAssignmentObject != null) {\n if (_this.props.haldorAssignmentObject.associatedMatrices != null) {\n _this.props.haldorAssignmentObject.associatedMatrices.forEach(function (matrix) {\n if (_this.getCourse(matrix.courseId) == null) {\n _this.props.getCourse(matrix.courseId);\n }\n });\n }\n }\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"getCourse\", function (courseId) {\n return _this.props.courses.find(function (course) {\n return course.id == courseId;\n });\n });\n _defineProperty(_this, \"getServices\", function () {\n return {\n haldorAssessments: _this.props.activeStudent != null && _this.props.activeStudent.services.assessments,\n microsoftAssessments: _this.props.activeStudent != null && _this.props.activeStudent.services.msAssignmentOutcomes,\n conversations: _this.props.activeStudent != null && _this.props.activeStudent.services.conversations\n };\n });\n _defineProperty(_this, \"runImmersiveReader\", function () {\n var task = _this.props.task;\n var description = task.description;\n if ((description == null || _this.props.task.description.length <= 0) && _this.props.haldorAssignmentObject != null && _this.props.haldorAssignmentObject.description != null) {\n description = _this.props.haldorAssignmentObject.description;\n }\n var data = {\n title: task.title,\n chunks: [{\n content: \"

\" + task.title + \"

\",\n mimeType: \"text/html\"\n }, {\n content: getDescription(description),\n mimeType: \"text/html\"\n }]\n };\n _this.props.getReaderParameters().then(function () {\n var reader = _this.props.reader;\n ImmersiveReader.launchAsync(reader.token, reader.subdomain, data, {\n uiLang: getActiveLanguage()\n })[\"catch\"](function (error) {\n console.error(\"error\", error);\n //trackImmersiveReaderError(error, currentUser.id);\n });\n });\n });\n _defineProperty(_this, \"renderOutcomes\", function () {\n var _this$props2 = _this.props,\n outcomes = _this$props2.outcomes,\n translate = _this$props2.translate;\n if (outcomes == null) {\n return null;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: '2rem'\n }\n }, /*#__PURE__*/React.createElement(\"h2\", {\n style: {\n marginBottom: '1.25rem'\n }\n }, translate('Assessment')), /*#__PURE__*/React.createElement(Block, null, outcomes.points != null && outcomes.points != '' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Points')), outcomes.points, \" / \", _this.props.task.maxPoints)\n // :\n // \t\n // \t\t{translate('No points have been awarded to this assignment')}\n // \t\n : null, outcomes.feedback != null && outcomes.feedback != '' ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: '1rem'\n }\n }, translate('Feedback')), /*#__PURE__*/React.createElement(\"span\", {\n dangerouslySetInnerHTML: {\n __html: DOMPurify.sanitize(outcomes.feedback)\n }\n })) : null), outcomes.rubricOutcomes != null && outcomes.rubricOutcomes.length > 0 ? /*#__PURE__*/React.createElement(Outcomes, {\n outcomes: outcomes\n }) : null);\n });\n _this.state = {\n loading: true\n };\n return _this;\n }\n _inherits(MicrosoftAssignment, _Component);\n return _createClass(MicrosoftAssignment, [{\n key: \"renderResources\",\n value: function renderResources() {\n var _this2 = this;\n var _this$props3 = this.props,\n activeStudent = _this$props3.activeStudent,\n task = _this$props3.task,\n assignmentResources = _this$props3.assignmentResources,\n translate = _this$props3.translate;\n return /*#__PURE__*/React.createElement(\"div\", null, assignmentResources === null || assignmentResources === void 0 ? void 0 : assignmentResources.map(function (resource) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-container\",\n key: resource.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-content\"\n }, resource.url == null ? /*#__PURE__*/React.createElement(\"a\", {\n href: \"#\",\n onClick: function onClick(e) {\n return _this2.props.getTeamsAssignmentResource(activeStudent.id, task.sectionId, task.externalId, resource.id, resource.displayName);\n }\n }, resource.displayName) : /*#__PURE__*/React.createElement(\"a\", {\n href: resource.url,\n target: \"_blank\"\n }, resource.displayName), resource.template ? ' (' + translate('Template') + ')' : null));\n }));\n }\n }, {\n key: \"renderAssignment\",\n value: function renderAssignment() {\n var _this3 = this;\n var _this$props4 = this.props,\n translate = _this$props4.translate,\n outcomes = _this$props4.outcomes;\n var services = this.getServices();\n var assessmentBlocks = [];\n var assessment = null;\n if (this.props.blocks != null) {\n assessmentBlocks = _toConsumableArray(this.props.blocks).filter(function (block) {\n return block.type == \"Haldor.Blocks.AssessmentBlock\";\n });\n }\n if (this.props.assessments != null) {\n assessment = this.props.assessments.find(function (assessment) {\n return assessment.studentId == _this3.props.activeStudent.id;\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section form left-side\"\n }, /*#__PURE__*/React.createElement(Block, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Assignment information')), /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: this.runImmersiveReader\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"reader trigger\"\n }, /*#__PURE__*/React.createElement(Immersive_Reader, null), \" \", translate('Immersive Reader'))), this.props.task.description != null && this.props.task.description.length > 0 ? /*#__PURE__*/React.createElement(PostContent, null, this.props.task.description) : this.props.haldorAssignmentObject != null && this.props.haldorAssignmentObject.description != null ? /*#__PURE__*/React.createElement(PostContent, null, this.props.haldorAssignmentObject.description) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate('Due')), /*#__PURE__*/React.createElement(\"div\", null, Moment.utc(this.props.task.dueDate).local().format(\"D MMM H:mm\")), /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate('Group')), this.props.task.sectionTitle, services.conversations != null ? /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Message, {\n student: this.props.activeStudent,\n assignment: this.props.task\n })) : null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: '1rem'\n }\n }, translate('Status')), translate(this.props.task.status).capitalize(), this.props.assignmentResources != null && this.props.assignmentResources.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate('Files')), this.renderResources()))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-actions right-side\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section-divider\"\n }), services.haldorAssessments ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(AssessmentsConsumer, {\n fields: assessmentBlocks,\n assessment: assessment\n })) : null, services.microsoftAssessments && outcomes != null && (outcomes.feedback != null && outcomes.feedback != '' || outcomes.points != null && outcomes.points != '' || outcomes.rubricOutcomes != null && outcomes.rubricOutcomes.length > 0) ? this.renderOutcomes() : null);\n }\n }, {\n key: \"render\",\n value: function render() {\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", null, this.renderAssignment());\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n status: state.base.status,\n courses: state.groups.courses,\n haldorAssignmentObject: state.assignments.assignment,\n assessments: state.assignments.assessments,\n outcomes: state.assignments.outcomes,\n assignmentResources: state.assignments.assignmentResources,\n reader: state.User.reader,\n translate: translate(state.Languages.translations),\n blocks: state.Blocks.reference\n };\n};\nexport default connect(mapStateToProps, {\n getGuardianStudentAssignment: getGuardianStudentAssignment,\n getCourse: getCourse,\n getGuardianStudentAssignmentAssessments: getGuardianStudentAssignmentAssessments,\n getReaderParameters: getReaderParameters,\n setPageTitle: setPageTitle,\n getTeamsAssignment: getTeamsAssignment,\n getTeamsAssignmentOutcomes: getTeamsAssignmentOutcomes,\n getBlocksByReference: getBlocksByReference,\n getTeamsAssignmentResources: getTeamsAssignmentResources,\n getTeamsAssignmentResource: getTeamsAssignmentResource\n})(MicrosoftAssignment);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport HaldorAssignment from './HaldorAssignment';\nimport MicrosoftAssignment from './MicrosoftAssignment';\nimport { getGuardianStudentAssignment, getGuardianStudentAssignmentAssessments, getGuardianStudentAssessments, getTeamsAssignments } from 'actions/assignments';\nimport { Spinner } from 'UI';\nvar AssignmentWrapper = /*#__PURE__*/function (_Component) {\n function AssignmentWrapper(props) {\n var _this;\n _classCallCheck(this, AssignmentWrapper);\n _this = _callSuper(this, AssignmentWrapper, [props]);\n _this.state = {\n loading: true\n };\n return _this;\n }\n _inherits(AssignmentWrapper, _Component);\n return _createClass(AssignmentWrapper, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n var activeStudent = this.props.activeStudent;\n var assignmentId = this.props.match.params.assignmentId;\n if (assignmentId == parseInt(assignmentId, 10)) {\n this.props.getGuardianStudentAssignment(activeStudent.id, assignmentId).then(function () {\n _this2.setState({\n loading: false\n });\n });\n } else {\n if (this.props.assignments == null || this.props.assignments.length == 0) {\n this.props.getTeamsAssignments(this.props.activeStudent.id).then(function () {\n _this2.setState({\n loading: false\n });\n });\n } else {\n this.setState({\n loading: false\n });\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var assignmentId = this.props.match.params.assignmentId;\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n var task = null;\n if (assignmentId == parseInt(assignmentId, 10) && this.props.task.externalId === null) {\n task = this.props.task;\n } else {\n task = this.props.assignments.find(function (assignment) {\n return assignment.externalId == assignmentId;\n });\n }\n if (task.externalId == null) {\n return /*#__PURE__*/React.createElement(HaldorAssignment, this.props);\n }\n return /*#__PURE__*/React.createElement(MicrosoftAssignment, _extends({}, this.props, {\n task: task\n }));\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n task: state.assignments.assignment,\n assignments: state.assignments.assignments,\n activeStudent: state.User.activeStudent\n };\n};\nexport default connect(mapStateToProps, {\n getGuardianStudentAssignment: getGuardianStudentAssignment,\n getGuardianStudentAssignmentAssessments: getGuardianStudentAssignmentAssessments,\n getGuardianStudentAssessments: getGuardianStudentAssessments,\n getTeamsAssignments: getTeamsAssignments\n})(AssignmentWrapper);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nvar Block = /*#__PURE__*/function (_Component) {\n function Block() {\n var _this;\n _classCallCheck(this, Block);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Block, [].concat(args));\n _defineProperty(_this, \"renderContent\", function () {\n var _this$props = _this.props,\n children = _this$props.children,\n headerContent = _this$props.headerContent,\n content = _this$props.content,\n time = _this$props.time,\n footerContent = _this$props.footerContent,\n image = _this$props.image;\n return /*#__PURE__*/React.createElement(\"div\", null, headerContent ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-header\"\n }, headerContent) : null, image && image != null ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n backgroundImage: \"url(\\\"\".concat(image, \"\\\")\")\n },\n className: \"block-image\"\n }) : null, time ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-time\"\n }, time) : null, content ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-content\"\n }, content) : null, footerContent ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-footer\"\n }, footerContent) : null, children ? children : null);\n });\n return _this;\n }\n _inherits(Block, _Component);\n return _createClass(Block, [{\n key: \"render\",\n value: function render() {\n var link = this.props.link;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-container\",\n style: this.props.style\n }, link != null ? /*#__PURE__*/React.createElement(Link, {\n to: link\n }, this.renderContent()) : this.renderContent());\n }\n }]);\n}(Component);\nexport var BlockWrapper = function BlockWrapper(props) {\n var columns = false;\n if (props.columns) {\n columns = props.columns;\n } else if (props.cols) {\n columns = props.cols;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-wrapper \".concat(columns ? 'cols-' + columns : null)\n }, props.children ? props.children : null);\n};\nexport var BlockHeader = function BlockHeader(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-header\",\n style: props.style\n }, props.children ? /*#__PURE__*/React.createElement(\"h3\", null, props.children) : null);\n};\nexport var BlockContent = function BlockContent(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-content\"\n }, props.children ? props.children : null);\n};\nexport var BlockFooter = function BlockFooter(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-footer\"\n }, props.children ? props.children : null);\n};\nexport var BlockTime = function BlockTime(props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block-time\"\n }, props.children ? props.children : null);\n};\nexport default Block;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport { getGoals } from 'actions';\nimport { getGuardianStudentDocumentation, getGuardianStudentDocumentFile } from 'actions/documents';\nimport { getReaderParameters } from 'actions/user';\nimport { setPageTitle } from 'actions/header';\nimport Block, { BlockContent, BlockWrapper } from 'components/Block/Block';\n/* Import UI components */\nimport PostContent from 'components/Presentation/PostContent';\nimport { getDescription } from 'helpers/content';\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Spinner } from 'UI';\nimport { Immersive_Reader } from 'UI/Icons';\nimport { Link } from 'react-router-dom';\nimport { Block as ContentBlock, Icon, getActiveLanguage, translate } from '@haldor/ui';\nvar ImmersiveReader = require('@microsoft/immersive-reader-sdk');\nvar SingleDocument = /*#__PURE__*/function (_Component) {\n function SingleDocument(props) {\n var _this;\n _classCallCheck(this, SingleDocument);\n _this = _callSuper(this, SingleDocument, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var activeStudent = _this.props.activeStudent;\n _this.setState({\n loading: true\n });\n _this.props.getGuardianStudentDocumentation(activeStudent.id, _this.props.match.params.documentId).then(function () {\n _this.props.setPageTitle(_this.props.activeDocument.title);\n _this.setState({\n loading: false\n });\n });\n if (_this.props.goals.length < 1) {\n _this.props.getGoals();\n }\n });\n _defineProperty(_this, \"runImmersiveReader\", function () {\n var activeDocument = _this.props.activeDocument;\n var data = {\n title: activeDocument.title,\n chunks: [{\n content: '

' + activeDocument.title + '

',\n mimeType: 'text/html'\n }, {\n content: getDescription(activeDocument.description),\n mimeType: 'text/html'\n }]\n };\n _this.props.getReaderParameters().then(function () {\n var reader = _this.props.reader;\n ImmersiveReader.launchAsync(reader.token, reader.subdomain, data, {\n uiLang: getActiveLanguage()\n })[\"catch\"](function (error) {\n console.error('error', error);\n //trackImmersiveReaderError(error, currentUser.id);\n });\n });\n });\n _this.state = {\n token: null\n };\n return _this;\n }\n _inherits(SingleDocument, _Component);\n return _createClass(SingleDocument, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n var _this$props = this.props,\n activeDocument = _this$props.activeDocument,\n translate = _this$props.translate;\n var files = this.state.files;\n if (this.state.loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task single-preschool_document\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n if (activeDocument != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task single-preschool_document\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section form left-side\",\n style: {\n paddingTop: '0'\n }\n }, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task-description\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Description')), /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: this.runImmersiveReader\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"reader trigger\"\n }, /*#__PURE__*/React.createElement(Immersive_Reader, null), \" \", translate('Immersive Reader'))), /*#__PURE__*/React.createElement(PostContent, null, getDescription(activeDocument.description))), activeDocument.associatedGoals && activeDocument.associatedGoals.length > 0 ? /*#__PURE__*/React.createElement(\"div\", null, activeDocument.associatedGoals.map(function (associatedGoal) {\n var goal = _this2.props.goals.find(function (t) {\n return t.id == associatedGoal.goalId;\n });\n if (goal != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: goal.id,\n className: \"goal-preview\",\n \"data-tooltip\": goal.text,\n style: {\n backgroundColor: goal.colorCode\n }\n }, goal.title);\n }\n return null;\n })) : null), activeDocument.associatedFiles.length > 0 ? /*#__PURE__*/React.createElement(BlockWrapper, {\n cols: \"2\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"preschool-gallery\"\n }, activeDocument.associatedFiles.map(function (file, index) {\n var fileUrl = file.url;\n if (file.type.indexOf('image') > -1) {\n return /*#__PURE__*/React.createElement(Block, {\n key: \"file-\".concat(file.id, \"-\").concat(index)\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: fileUrl,\n style: {\n width: '100%',\n height: '100%',\n display: 'block',\n borderRadius: 'inherit'\n }\n }));\n }\n return /*#__PURE__*/React.createElement(Block, {\n key: \"file-\".concat(file.id, \"-\").concat(index)\n }, /*#__PURE__*/React.createElement(\"a\", {\n href: fileUrl,\n className: \"block-content\",\n target: \"_blank\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'inline-block',\n width: '1.15rem',\n height: '1.15rem',\n position: 'relative',\n top: 3,\n marginRight: '0.55rem'\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"File\"\n })), file.name));\n }))) : null), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: 'both'\n }\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n padding: '1rem 0'\n },\n className: \"text--center color--meta weight--bold\"\n }, this.props.translate(\"Something went wrong! We couldn't find what you were trying to reach!\")))));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n user: state.User.user,\n activeDocument: state.documents.documentation,\n goals: state.base.goals,\n reader: state.User.reader,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps, {\n getGuardianStudentDocumentation: getGuardianStudentDocumentation,\n getGuardianStudentDocumentFile: getGuardianStudentDocumentFile,\n getGoals: getGoals,\n getReaderParameters: getReaderParameters,\n setPageTitle: setPageTitle\n})(SingleDocument);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport FromNow from 'components/Presentation/Dates/FromNow';\nimport { ColorLabel, ColorLabelContainer } from 'UI';\nimport { Icon, Flex, translate } from '@haldor/ui';\nvar DisplayAssignment = /*#__PURE__*/function (_Component) {\n function DisplayAssignment() {\n _classCallCheck(this, DisplayAssignment);\n return _callSuper(this, DisplayAssignment, arguments);\n }\n _inherits(DisplayAssignment, _Component);\n return _createClass(DisplayAssignment, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n var translate = this.props.translate;\n var isHaldorAssignment = this.props.assignment.id == parseInt(this.props.assignment.id, 10);\n var addedColorDots = [];\n var color = '';\n if (this.props.color != null) {\n color = this.props.color;\n }\n var status = \"\";\n if (this.props.status != null) {\n var statusObject = this.props.status.assignmentTypes.find(function (type) {\n return type.id == _this.props.assignment.assignmentType;\n });\n if (statusObject != null) {\n status = statusObject.value;\n } else {\n if (this.props.assignment.externalId != null) {\n status = \"Teams\";\n }\n }\n }\n return /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, isHaldorAssignment && this.props.assignment.courses != null && this.props.assignment.courses.length > 0 ? /*#__PURE__*/React.createElement(ColorLabelContainer, null, this.props.assignment.courses.map(function (course) {\n if (addedColorDots.find(function (t) {\n return t == course.id;\n }) == null) {\n var text = course.title;\n text = course.year != null ? text + ' ' + course.year : text;\n addedColorDots.push(course.id);\n return /*#__PURE__*/React.createElement(ColorLabel, {\n key: course.id,\n tooltip: text,\n color: course.colorCode\n });\n }\n })) : null, isHaldorAssignment ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, this.props.assignment.title) : /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, this.props.assignment.displayName), isHaldorAssignment ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n fontSize: 'var(--size-14)'\n }\n }, this.props.assignment.section != null ? this.props.assignment.section.title : '') : null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"assignment-meta\"\n }, /*#__PURE__*/React.createElement(\"div\", null, isHaldorAssignment ? this.props.assignment.created != \"0001-01-01T00:00:00\" ? /*#__PURE__*/React.createElement(FromNow, null, this.props.assignment.dueDate) : null : /*#__PURE__*/React.createElement(FromNow, null, this.props.assignment.dueDateTime), this.props.assignment.assessmentId != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\"\n }, this.props.translate('assessed')) : null, !isHaldorAssignment || this.props.assignment.externalID != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\",\n style: {\n marginRight: 5\n }\n }, /*#__PURE__*/React.createElement(\"span\", null, \"Teams\")) : this.props.assignment.created == \"0001-01-01T00:00:00\" ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"badge-primary\"\n }, this.props.translate(\"task-is-creating\")) : /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\"\n }, status), this.props.remove != null ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"delete-resource\",\n onClick: function onClick() {\n return _this.props.remove();\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"Bin\"\n })) : null), /*#__PURE__*/React.createElement(\"div\", {\n className: \"submission-info\"\n }, this.props.assignment.assessmentId != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\"\n }, \"Bed\\xF6md\") : null)));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations),\n status: state.base.status\n };\n}\nexport default connect(mapStateToProps)(DisplayAssignment);","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React from 'react';\nimport { Link } from 'react-router-dom';\nimport DisplayAssignment from './DisplayAssignment';\nimport { Haldor__Block, addBlockTranslations } from '@haldor/ui';\nimport './_AssignmentBlock.scss';\nvar AssignmentBlock = /*#__PURE__*/function (_Haldor__Block) {\n function AssignmentBlock(_props) {\n var _this;\n _classCallCheck(this, AssignmentBlock);\n _this = _callSuper(this, AssignmentBlock, [_props]);\n _defineProperty(_this, \"consume\", function (props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block--assignment-block consume\"\n }, props.resources != null && props.resources.length > 0 ? props.resources.map(function (resource) {\n return /*#__PURE__*/React.createElement(Link, {\n className: \"assignment-resource\",\n to: \"/assignment/\".concat(resource.id),\n key: resource.id\n }, /*#__PURE__*/React.createElement(DisplayAssignment, {\n assignment: resource\n }));\n }) : null);\n });\n _defineProperty(_this, \"edit\", function (props) {\n return null;\n });\n _this.name = 'Haldor.Blocks.Assignment';\n _this.order = 47;\n _this.svgIcon = function () {\n return /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w2.org/2000/svg\",\n viewBox: \"0 0 50 50\",\n dangerouslySetInnerHTML: {\n __html: \"\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\"\n }\n });\n };\n addBlockTranslations('sv-se', [{\n output: 'Uppgifter',\n id: 'Haldor.Blocks.Assignment'\n }]);\n addBlockTranslations('en-us', [{\n output: 'Assignments',\n id: 'Haldor.Blocks.Assignment'\n }]);\n addBlockTranslations('nb-no', [{\n output: 'Oppgaver',\n id: 'Haldor.Blocks.Assignment'\n }]);\n addBlockTranslations('da-dk', [{\n output: 'Opgaver',\n id: 'Haldor.Blocks.Assignment'\n }]);\n addBlockTranslations('uk', [{\n output: 'Задачі',\n id: 'Haldor.Blocks.Assignment'\n }]);\n _this.registerResourceType('haldor.assignment.block.assignment', {\n id: 'number',\n title: 'string',\n assignmentType: 'string',\n description: 'string?',\n dueDate: 'string',\n groupEnabled: 'boolean',\n publishedAssessments: 'number',\n sectionId: 'string',\n startDate: 'string',\n status: 'string',\n submittedTasks: 'number',\n totalTasks: 'number'\n });\n return _this;\n }\n _inherits(AssignmentBlock, _Haldor__Block);\n return _createClass(AssignmentBlock);\n}(Haldor__Block);\nexport default AssignmentBlock;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React from 'react';\nimport { Haldor__Block, addBlockTranslations } from '@haldor/ui';\nimport './_FileBlock.scss';\nvar FileBlock = /*#__PURE__*/function (_Haldor__Block) {\n function FileBlock(_props) {\n var _this;\n _classCallCheck(this, FileBlock);\n _this = _callSuper(this, FileBlock, [_props]);\n _defineProperty(_this, \"edit\", function (props) {\n return null;\n });\n _defineProperty(_this, \"consume\", function (props) {\n var resources = [];\n if (props.resources != null && props.resources.length > 0) {\n resources = _toConsumableArray(props.resources).sort(function (a, b) {\n return a.name.localeCompare(b.name);\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block--fileblock consume\"\n }, resources.map(function (resource) {\n return /*#__PURE__*/React.createElement(\"a\", {\n className: \"file-resource\",\n href: resource.url,\n target: \"_blank\",\n key: resource.name\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"name\"\n }, resource.name));\n }));\n });\n _this.name = 'Haldor.Blocks.File';\n _this.order = 48;\n _this.svgIcon = function () {\n return /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w2.org/2000/svg\",\n viewBox: \"0 0 50 50\",\n dangerouslySetInnerHTML: {\n __html: \"\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\"\n }\n });\n };\n addBlockTranslations('sv-se', [{\n output: 'Filer',\n id: 'Haldor.Blocks.File'\n }]);\n addBlockTranslations('en-us', [{\n output: 'Files',\n id: 'Haldor.Blocks.File'\n }]);\n addBlockTranslations('nb-no', [{\n output: 'Filer',\n id: 'Haldor.Blocks.File'\n }]);\n addBlockTranslations('da-dk', [{\n output: 'Filer',\n id: 'Haldor.Blocks.File'\n }]);\n addBlockTranslations('uk', [{\n output: 'Файли',\n id: 'Haldor.Blocks.File'\n }]);\n _this.registerResourceType('haldor.blocks.file.fileItem', {\n id: 'number',\n name: 'string',\n type: 'string',\n url: 'string'\n });\n return _this;\n }\n _inherits(FileBlock, _Haldor__Block);\n return _createClass(FileBlock);\n}(Haldor__Block);\nexport default FileBlock;","import _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React from 'react';\nimport DOMPurify from 'dompurify';\nimport { Icon, Haldor__Block, addBlockTranslations } from '@haldor/ui';\nimport './_LinksBlock.scss';\nvar LinksBlock = /*#__PURE__*/function (_Haldor__Block) {\n function LinksBlock(_props) {\n var _this;\n _classCallCheck(this, LinksBlock);\n _this = _callSuper(this, LinksBlock, [_props]);\n _defineProperty(_this, \"addhttp\", function (url) {\n if (!/^(?:f|ht)tps?\\:\\/\\//.test(url)) {\n url = \"http://\" + url;\n }\n return url;\n });\n _defineProperty(_this, \"consume\", function (props) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"block--links consume\"\n }, props.resources != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"link-resource-list\"\n }, props.resources.map(function (resource, index) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"link-resource-container\",\n key: index\n }, /*#__PURE__*/React.createElement(\"a\", {\n className: \"link-resource\",\n href: _this.addhttp(resource.url),\n target: \"_blank\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"link-content\"\n }, resource.image != '' ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"image\",\n style: {\n backgroundImage: \"url(\".concat(resource.image, \")\")\n }\n }) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"content\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"title\",\n dangerouslySetInnerHTML: {\n __html: DOMPurify.sanitize(resource.title)\n }\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"description\",\n dangerouslySetInnerHTML: {\n __html: DOMPurify.sanitize(resource.description)\n }\n }))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"link-footer\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"url\"\n }, /*#__PURE__*/React.createElement(\"a\", {\n href: _this.addhttp(resource.url),\n target: \"_blank\"\n }, resource.url, /*#__PURE__*/React.createElement(Icon, {\n name: \"External\"\n }))))));\n })) : null);\n });\n _defineProperty(_this, \"edit\", function (props) {\n return null;\n });\n _this.name = 'Haldor.Blocks.Link';\n _this.order = 49;\n _this.svgIcon = function () {\n return /*#__PURE__*/React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 50 50\",\n dangerouslySetInnerHTML: {\n __html: \"\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\\n\\t\\t\\t\\t\\t\"\n }\n });\n };\n addBlockTranslations('sv-se', [{\n output: 'Länkar',\n id: 'Haldor.Blocks.Link'\n }]);\n addBlockTranslations('en-us', [{\n output: 'Links',\n id: 'Haldor.Blocks.Link'\n }]);\n addBlockTranslations('nb-no', [{\n output: 'Lenke',\n id: 'Haldor.Blocks.Link'\n }]);\n addBlockTranslations('da-dk', [{\n output: 'Links',\n id: 'Haldor.Blocks.Link'\n }]);\n addBlockTranslations('uk', [{\n output: 'Посилання',\n id: 'Haldor.Blocks.Link'\n }]);\n _this.registerResourceType('haldor.blocks.links.link', {\n title: 'string',\n description: 'string',\n image: 'string',\n url: 'string'\n });\n return _this;\n }\n _inherits(LinksBlock, _Haldor__Block);\n return _createClass(LinksBlock);\n}(Haldor__Block);\nexport default LinksBlock;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { HaldorBlockConsumer, SkolonBlock } from '@haldor/ui';\nimport AssignmentBlock from './Blocks/AssignmentBlock';\nimport FileBlock from './Blocks/FileBlock';\nimport LinksBlock from './Blocks/LinksBlock';\nvar BlockConsumer = /*#__PURE__*/function (_Component) {\n function BlockConsumer() {\n _classCallCheck(this, BlockConsumer);\n return _callSuper(this, BlockConsumer, arguments);\n }\n _inherits(BlockConsumer, _Component);\n return _createClass(BlockConsumer, [{\n key: \"render\",\n value: function render() {\n var plugins = [AssignmentBlock, FileBlock, LinksBlock, SkolonBlock];\n return /*#__PURE__*/React.createElement(HaldorBlockConsumer, _extends({\n plugins: plugins\n }, this.props));\n }\n }]);\n}(Component);\nexport default BlockConsumer;","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Expandable, Spinner } from 'UI';\nimport { translate } from '@haldor/ui';\nvar SelectedCoreContent = /*#__PURE__*/function (_Component) {\n function SelectedCoreContent() {\n _classCallCheck(this, SelectedCoreContent);\n return _callSuper(this, SelectedCoreContent, arguments);\n }\n _inherits(SelectedCoreContent, _Component);\n return _createClass(SelectedCoreContent, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n var _this$props = this.props,\n translate = _this$props.translate,\n coreContent = _this$props.coreContent;\n if (coreContent == null || this.props.activeSection == null) {\n return /*#__PURE__*/React.createElement(Spinner, {\n center: true\n });\n }\n var forbiddenText = \"Undervisningen i kursen ska behandla följande centrala innehåll:\";\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"core-content selected\"\n }, /*#__PURE__*/React.createElement(Expandable, {\n title: translate('This plan contains the following subject/lesson content:'),\n whiteBackground: true,\n key: 'core-content-container'\n }, coreContent.map(function (content, index) {\n var title = \"\";\n if (_this.props.activeSection != null) {\n _this.props.activeSection.courses.forEach(function (course) {\n course.details.forEach(function (detail) {\n if (detail.id == content.coreContents[0].courseDetailsId) {\n title = \"\".concat(course.title, \" \").concat(course.year != null ? course.year : '', \" (\").concat(course.courseCode, \")\");\n }\n });\n });\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n key: 'coreContent' + index\n }, /*#__PURE__*/React.createElement(\"h2\", null, title), content.coreContents.map(function (contentRow) {\n var contentRowTitle = contentRow.title.trim();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"core-content-row\",\n key: 'core-content-' + contentRow.id\n }, contentRowTitle !== \"\" && contentRowTitle !== forbiddenText ? /*#__PURE__*/React.createElement(\"h3\", null, contentRowTitle) : null, contentRow.aspects.map(function (aspect) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"content-row\",\n key: 'core-content-row-' + aspect.id\n }, /*#__PURE__*/React.createElement(\"h4\", null, aspect.title != forbiddenText ? aspect.title : ''), /*#__PURE__*/React.createElement(\"ul\", null, aspect.aspectRows.map(function (row) {\n return /*#__PURE__*/React.createElement(\"li\", {\n key: 'aspect-row-' + row.id\n }, row.text);\n })));\n }));\n }));\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n activeSection: state.groups.activeGroup,\n translate: translate(state.Languages.translations)\n };\n}\nexport default connect(mapStateToProps)(SelectedCoreContent);","import React, { useMemo } from \"react\";\nimport moment from 'moment';\nimport { Expandable } from '@haldor/ui';\nimport './_index.scss';\nvar PurposeConsumer = function PurposeConsumer(props) {\n var purposeData = useMemo(function () {\n if (props.assessmentBlocks == null || props.assessmentBlocks.length == 0) {\n return [];\n }\n var data = [];\n var blocks = props.assessmentBlocks.filter(function (b) {\n return b.type === 'Haldor.Blocks.AssessmentBlock';\n });\n blocks.forEach(function (items) {\n var resources = items.resources.filter(function (s) {\n return s[\"@odata.type\"] === 'Haldor.Blocks.AssessmentBlockPart' && s.referenceType === 'matrix';\n });\n if (resources) {\n resources.forEach(function (resource) {\n var course = JSON.parse(JSON.stringify(resource));\n var inData = data.find(function (r) {\n var _r$value, _course$value;\n return ((_r$value = r.value) === null || _r$value === void 0 ? void 0 : _r$value.id) == ((_course$value = course.value) === null || _course$value === void 0 ? void 0 : _course$value.id);\n });\n if (inData == null) {\n var _course$value2;\n var details = course === null || course === void 0 || (_course$value2 = course.value) === null || _course$value2 === void 0 ? void 0 : _course$value2.details.filter(function (x) {\n return x.endDate == null || moment(x.endDate).isAfter(moment());\n });\n course.value.details = details;\n data.push(course);\n }\n });\n }\n });\n return data;\n }, [props.assessmentBlocks]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"blockPurpose\"\n }, purposeData.length > 0 ? purposeData.map(function (items, index) {\n var _items$value, _items$value$year, _items$value2, _items$value3, _items$value$colorCod, _items$value4;\n return /*#__PURE__*/React.createElement(Expandable, {\n title: \"\".concat((_items$value = items.value) === null || _items$value === void 0 ? void 0 : _items$value.title, \" \").concat((_items$value$year = (_items$value2 = items.value) === null || _items$value2 === void 0 ? void 0 : _items$value2.year) !== null && _items$value$year !== void 0 ? _items$value$year : '', \" (\").concat((_items$value3 = items.value) === null || _items$value3 === void 0 ? void 0 : _items$value3.courseCode, \")\"),\n color: (_items$value$colorCod = items === null || items === void 0 || (_items$value4 = items.value) === null || _items$value4 === void 0 ? void 0 : _items$value4.colorCode) !== null && _items$value$colorCod !== void 0 ? _items$value$colorCod : '#e4e4eb',\n key: index,\n whiteBackground: true\n }, items.value.details.map(function (items, index) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: index,\n className: \"purposeContent\",\n dangerouslySetInnerHTML: {\n __html: items.purpose\n }\n });\n }));\n }) : /*#__PURE__*/React.createElement(\"div\", null));\n};\nexport default PurposeConsumer;","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link } from \"react-router-dom\";\nimport Moment from \"moment\";\nimport { COMPULSORY_SCHOOL, PRESCHOOL, UPPER_SECONDARY_EDUCATION, ADULT_EDUCATION } from \"constants/schoolTypes\";\nimport { addError } from \"actions\";\nimport { setPageTitle } from \"actions/header\";\nimport { getGuardianStudentGroup } from \"actions/sections\";\nimport { getReaderParameters } from \"actions/user\";\nimport { getGoals } from \"actions\";\nimport { getBlocksByReference } from \"actions/blocks\";\nimport { getGuardianStudentPlan, getGuardianStudentPlanAssessments } from \"actions/planning\";\nimport { getImmersiveReaderDataFromBlocks } from \"helpers/content\";\nimport DateSpan from \"components/Presentation/Dates/DateSpan\";\nimport BlockConsumer from \"components/BlockEditor/Consumer\";\nimport AssessmentsConsumer from \"components/BlockAssessments/Consumer\";\nimport Message from \"containers/SinglePages/Partials/Message\";\nimport SelectedCoreContent from \"../CoreContent/Selected\";\nimport PurposeConsumer from \"components/BlockPurpose/Index\";\nimport { Block as ContentBlock, Button, getActiveLanguage, translate } from \"@haldor/ui\";\nimport { Expandable, Spinner } from \"UI\";\nimport { Immersive_Reader } from \"UI/Icons\";\nvar ImmersiveReader = require(\"@microsoft/immersive-reader-sdk\");\nvar singlePlan = /*#__PURE__*/function (_Component) {\n function singlePlan(props) {\n var _this;\n _classCallCheck(this, singlePlan);\n _this = _callSuper(this, singlePlan, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var activeStudent = _this.props.activeStudent;\n _this.props.getGuardianStudentPlan(activeStudent.id, _this.props.match.params.planId).then(function () {\n _this.props.setPageTitle(_this.props.activePlan.title);\n _this.props.getGuardianStudentGroup(activeStudent.id, _this.props.activePlan.sectionId);\n _this.props.getGuardianStudentPlanAssessments(_this.props.match.params.planId);\n _this.props.getBlocksByReference(_this.props.match.params.planId, \"PLAN\").then(function () {\n _this.setState({\n loadingBlocks: false\n });\n });\n })[\"catch\"](function (error) {\n if (error.response && error.response.status === 400 || error.response.status === 404) {\n _this.setState({\n loadingBlocks: false\n });\n _this.setState({\n errorMessage: _this.props.translate('No planning was found')\n });\n }\n });\n if (_this.props.goals.length < 1) {\n _this.props.getGoals();\n }\n });\n _defineProperty(_this, \"onConversationClose\", function () {\n _this.setState({\n studentConversation: null\n });\n });\n _defineProperty(_this, \"openConversation\", function () {\n _this.setState({\n studentConversation: _this.props.activeStudent\n });\n });\n _defineProperty(_this, \"assignmentIndicator\", function (status) {\n var translate = _this.props.translate;\n if (status === \"PLANNING_OPEN\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-green\"\n }, translate(\"Open\"));\n } else if (status === \"PLANNING_CLOSED\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-red\"\n }, translate(\"Closed\"));\n } else if (status === \"PLANNING_DRAFT\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-gray\"\n }, translate(\"Draft\"));\n }\n return null;\n });\n _defineProperty(_this, \"pupilStatus\", function (status) {\n var translate = _this.props.translate;\n if (status === \"PLANNING_OPEN\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-green\"\n }, translate(\"Open\"));\n } else if (status === \"PLANNING_CLOSED\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-red\"\n }, translate(\"Closed\"));\n } else if (status === \"ASSESSMENT_PUBLISHED\") {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-green\"\n }, translate(\"Assessed\"));\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-red\"\n }, translate(\"Closed\"));\n });\n _defineProperty(_this, \"runImmersiveReader\", function () {\n var activePlan = _this.props.activePlan;\n var data = getImmersiveReaderDataFromBlocks(activePlan.title, _this.props.blocks);\n _this.props.getReaderParameters().then(function () {\n var reader = _this.props.reader;\n ImmersiveReader.launchAsync(reader.token, reader.subdomain, data, {\n uiLang: getActiveLanguage()\n })[\"catch\"](function (error) {\n console.error(\"error\", error);\n //trackImmersiveReaderError(error, currentUser.id);\n });\n });\n });\n _defineProperty(_this, \"readPlanInformation\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var _this$props, activePlan, currentUser, translate, localLanguage, reader, start, end, status, data;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n _this$props = _this.props, activePlan = _this$props.activePlan, currentUser = _this$props.currentUser, translate = _this$props.translate;\n localLanguage = localStorage.getItem(\"language\");\n _context.next = 4;\n return _this.props.getReaderParameters();\n case 4:\n reader = _this.props.reader;\n if (!(reader == null)) {\n _context.next = 7;\n break;\n }\n return _context.abrupt(\"return\");\n case 7:\n start = Moment.utc(activePlan.timeStart).local().format(\"D MMM\");\n end = Moment.utc(activePlan.timeEnd).local().format(\"D MMM\");\n status = translate(\"open\");\n if (activePlan.status == \"PLANNING_CLOSED\") {\n status = translate(\"closed\");\n }\n if (activePlan.status == \"PLANNING_DRAFT\") {\n status = translate(\"draft\");\n }\n data = {\n title: activePlan.title,\n chunks: [{\n content: \"

\\n\\t\\t\\t\\t\\t\\t\".concat(translate(\"Plan information\"), \"\\n\\t\\t\\t\\t\\t

\"),\n mimeType: \"text/html\"\n }, {\n content: \"\\n\\t\\t\\t\\t\\t\\t\".concat(translate(\"Plan is active between\"), \":\\n\\t\\t\\t\\t\\t\\t\").concat(start, \" - \").concat(end, \" and the current status is: \").concat(status, \"\\n\\t\\t\\t\\t\\t\\t
\\n\\t\\t\\t\\t\\t\"),\n mimeType: \"text/html\"\n }]\n };\n ImmersiveReader.launchAsync(reader.token, reader.subdomain, data, {\n uiLang: localLanguage // Set immersive reader UI language to selected lang in Haldor Edu\n })[\"catch\"](function (error) {\n console.error(\"error\", error);\n trackImmersiveReaderError(error, currentUser.id);\n });\n case 14:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n _defineProperty(_this, \"planContent\", function () {\n var _this$props$activePla;\n var conversation = null;\n if (_this.props.conversations != null && _this.props.user != null) {\n conversation = _this.props.conversations.find(function (conv) {\n return conv.memberships.find(function (member) {\n return member.membershipID == _this.props.user.id;\n });\n });\n }\n var assessmentBlocks = [];\n var assessment = null;\n if (_this.props.blocks != null) {\n assessmentBlocks = _toConsumableArray(_this.props.blocks).filter(function (block) {\n return block.type == \"Haldor.Blocks.AssessmentBlock\";\n });\n }\n if (_this.props.assessments != null) {\n assessment = _this.props.assessments.find(function (assessment) {\n return assessment.studentId == _this.props.activeStudent.id;\n });\n }\n var _this$props2 = _this.props,\n translate = _this$props2.translate,\n activeSection = _this$props2.activeSection;\n var conversationEnabled = false;\n if (activeSection !== null && activeSection !== void 0 && activeSection.owners && (activeSection === null || activeSection === void 0 ? void 0 : activeSection.owners.length) > 0) {\n conversationEnabled = _this.hasValidOwner(activeSection.owners, _this.props.activePlan.creator, activeSection.schoolID.toString());\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-plan single-task\",\n key: _this.props.activePlan.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section form left-side\"\n }, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(Expandable, {\n title: _this.props.translate(\"Planning information\"),\n open: true\n }, /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: _this.readPlanInformation\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"reader trigger\"\n }, /*#__PURE__*/React.createElement(Immersive_Reader, null), _this.props.translate(\"Immersive Reader\"))), /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate(\"Status\")), /*#__PURE__*/React.createElement(\"div\", null, _this.props.activePlan.studentStatus == \"ASSESSMENT_PUBLISHED\" ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-green\"\n }, translate(\"Assessed\")) : _this.assignmentIndicator(_this.props.activePlan.status), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n })), /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate(\"Information\")), /*#__PURE__*/React.createElement(DateSpan, {\n start: _this.props.activePlan.timeStart,\n end: _this.props.activePlan.timeEnd\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: \"both\"\n }\n }), _this.props.activeStudent != null && _this.props.activeStudent.services.conversations && conversationEnabled ? /*#__PURE__*/React.createElement(Button, {\n type: \"secondary\",\n onClick: _this.openConversation,\n style: {\n marginTop: \"1rem\",\n position: \"relative\"\n }\n }, translate(\"Conversation\"), conversation != null && conversation.unreadMessages > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"badge\"\n }, /*#__PURE__*/React.createElement(\"span\", null, conversation.unreadMessages)) : null) : null, _this.props.activePlan.courses.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n marginTop: \"1rem\"\n }\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, _this.props.translate(\"Courses\")), /*#__PURE__*/React.createElement(\"div\", {\n className: \"courses\"\n }, _this.props.activePlan.courses.map(function (course) {\n var text = course.title;\n if (course.year != null) {\n text += \" \" + course.year;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"course\",\n key: 'course' + course.id\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"indicator\",\n style: {\n backgroundColor: course.colorCode\n }\n }), text);\n }))) : null))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-actions right-side\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), _this.props.blocks != null ? /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(Expandable, {\n title: translate(\"Content\"),\n open: true\n }, _this.state.loadingBlocks ? /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }) : /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: _this.runImmersiveReader\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"reader trigger\"\n }, /*#__PURE__*/React.createElement(Immersive_Reader, null), \" \", translate(\"Immersive Reader\"))), /*#__PURE__*/React.createElement(BlockConsumer, {\n fields: _this.props.blocks\n })))) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section-divider\"\n }), (_this$props$activePla = _this.props.activePlan) !== null && _this$props$activePla !== void 0 && _this$props$activePla.viewablePurpose && assessmentBlocks.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n marginBottom: \"1em\",\n fontWeight: 600,\n fontSize: \"1.625em\"\n }\n }, _this.props.translate('Purpose')), /*#__PURE__*/React.createElement(PurposeConsumer, {\n assessmentBlocks: assessmentBlocks\n })) : null, _this.props.activeStudent != null && _this.props.activeStudent.services.conversations ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(Message, {\n plan: _this.props.activePlan,\n activeUser: _this.state.studentConversation,\n onClose: _this.onConversationClose\n })) : null, _this.props.activePlan.viewableCoreContent && _this.props.activePlan.associatedCoreContents.length > 0 ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(\"h3\", {\n style: {\n fontWeight: 600,\n fontSize: \"1.625em\"\n }\n }, translate(\"Subject/Lesson content\")), /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(SelectedCoreContent, {\n coreContent: _this.props.activePlan.associatedCoreContents\n }))) : null, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(AssessmentsConsumer, {\n fields: assessmentBlocks,\n assessment: assessment\n })), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: \"both\"\n }\n }));\n });\n var planid = false;\n if (parseInt(_this.props.match.params.planId) > 0) {\n planid = parseInt(_this.props.match.params.planId);\n }\n _this.state = {\n id: planid,\n studentConversation: null,\n loadingBlocks: true,\n errorMessage: null\n };\n return _this;\n }\n _inherits(singlePlan, _Component);\n return _createClass(singlePlan, [{\n key: \"hasNonStudentRole\",\n value: function hasNonStudentRole(roles, referenceId) {\n return roles.some(function (role) {\n return role.referenceId === referenceId && role.roleId.toLowerCase() !== \"student\";\n });\n }\n }, {\n key: \"hasValidOwner\",\n value: function hasValidOwner(sectionOwners, creatorId, referenceId) {\n var _this2 = this;\n return sectionOwners.some(function (user) {\n return user.userId === creatorId && _this2.hasNonStudentRole(user.roles, referenceId);\n });\n }\n }, {\n key: \"preschoolPlan\",\n value: function preschoolPlan() {\n var _this3 = this;\n var translate = this.props.translate;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-plan single-task\",\n key: this.props.activePlan.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section form left-side\"\n }, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(Expandable, {\n title: this.props.translate(\"Planning information\"),\n open: true\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: this.readPlanInformation\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"reader trigger\"\n }, /*#__PURE__*/React.createElement(Immersive_Reader, null), this.props.translate(\"Immersive Reader\"))), /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate(\"Status\")), /*#__PURE__*/React.createElement(\"div\", null, this.props.activePlan.studentStatus == \"ASSESSMENT_PUBLISHED\" ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"single-dot dot-green\"\n }, translate(\"Assessed\")) : this.assignmentIndicator(this.props.activePlan.status), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n })), /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate(\"Information\")), /*#__PURE__*/React.createElement(DateSpan, {\n start: this.props.activePlan.timeStart,\n end: this.props.activePlan.timeEnd\n }), /*#__PURE__*/React.createElement(\"div\", {\n style: {\n clear: \"both\"\n }\n }), /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\",\n style: {\n marginTop: \"1rem\"\n }\n }, translate(\"Goals\")), this.props.activePlan.associatedGoals && this.props.activePlan.associatedGoals.length > 0 ? /*#__PURE__*/React.createElement(\"div\", null, this.props.activePlan.associatedGoals.map(function (associatedGoal) {\n var goal = _this3.props.goals.find(function (t) {\n return t.id == associatedGoal.goalId;\n });\n if (goal != null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: goal.id,\n \"data-tooltip\": goal.text,\n className: \"goal-preview\",\n style: {\n backgroundColor: goal.colorCode\n }\n }, goal.title);\n }\n return null;\n })) : null))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-actions right-side\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"clearfix\"\n }), this.props.blocks != null ? /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(Expandable, {\n title: translate(\"Content\"),\n open: true\n }, /*#__PURE__*/React.createElement(Link, {\n onClick: this.runImmersiveReader\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"reader trigger\"\n }, /*#__PURE__*/React.createElement(Immersive_Reader, null), \" \", translate(\"Immersive Reader\"))), /*#__PURE__*/React.createElement(BlockConsumer, {\n fields: this.props.blocks\n }))) : null);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n if (this.props.students == null) {\n return /*#__PURE__*/React.createElement(\"div\", null);\n } else {\n if (this.props.activePlan != null && this.props.activeSection != null) {\n var activeStudent = this.props.activeStudent;\n var school = activeStudent.schools.find(function (school) {\n return school.id == _this4.props.activeSection.schoolID;\n });\n if (school == null) return /*#__PURE__*/React.createElement(\"div\", null);\n switch (school.type) {\n case PRESCHOOL:\n return this.preschoolPlan();\n break;\n case COMPULSORY_SCHOOL:\n return this.planContent();\n break;\n case UPPER_SECONDARY_EDUCATION:\n return this.planContent();\n break;\n case ADULT_EDUCATION:\n return this.planContent();\n break;\n default:\n return /*#__PURE__*/React.createElement(\"div\", null);\n break;\n }\n } else {\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: \"flex\",\n justifyContent: \"center\",\n margin: \"1rem\"\n }\n }, this.state.errorMessage ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: \"100%\",\n textAlign: \"center\",\n fontWeight: \"500\",\n color: \"#9f9f9f\",\n backgroundColor: \"white\",\n padding: \"2rem\",\n boxShadow: \"0 5px 15px #0000000d\",\n borderRadius: \"3px\"\n }\n }, this.state.errorMessage) : null, this.state.loadingBlocks && !this.state.errorMessage ? /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }) : \"\");\n }\n }\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n user: state.User.user,\n activePlan: state.planning.plan,\n activeStudent: state.User.activeStudent,\n activeSection: state.groups.activeGroup,\n assessments: state.planning.assessments,\n students: state.guardians.students,\n goals: state.base.goals,\n conversations: state.Conversation.referenceConversations,\n reader: state.User.reader,\n translate: translate(state.Languages.translations),\n blocks: state.Blocks.reference\n };\n};\nvar mapDispatchToProps = {\n getGuardianStudentPlan: getGuardianStudentPlan,\n addError: addError,\n getGuardianStudentPlanAssessments: getGuardianStudentPlanAssessments,\n getGuardianStudentGroup: getGuardianStudentGroup,\n getReaderParameters: getReaderParameters,\n setPageTitle: setPageTitle,\n getGoals: getGoals,\n getBlocksByReference: getBlocksByReference\n};\nexport default connect(mapStateToProps, mapDispatchToProps)(singlePlan);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { getDescription } from 'helpers/content';\nimport { Link } from 'react-router-dom';\nimport { getGuardianStudentPost } from 'actions/posts';\nvar ImmersiveReader = require('@microsoft/immersive-reader-sdk');\nimport { getReaderParameters } from 'actions/user';\nimport { setPageTitle } from 'actions/header';\nimport { getActiveSchool } from 'helpers/guardian';\nimport { Spinner } from 'UI';\nimport { Immersive_Reader } from 'UI/Icons';\nimport { CardSubtitle } from 'components/Presentation/Cards/Card';\nimport Date from 'components/Presentation/Dates/Date';\nimport PostContent from 'components/Presentation/PostContent';\nimport Block, { BlockWrapper } from 'components/Block/Block';\nimport { Icon, Block as ContentBlock, getActiveLanguage, translate } from '@haldor/ui';\nvar SinglePost = /*#__PURE__*/function (_Component) {\n function SinglePost(props) {\n var _this;\n _classCallCheck(this, SinglePost);\n _this = _callSuper(this, SinglePost, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var activeStudent = _this.props.activeStudent;\n _this.setState({\n loading: true\n });\n _this.props.getGuardianStudentPost(activeStudent.id, _this.props.match.params.newsId).then(function () {\n _this.props.setPageTitle(_this.props.post.title);\n _this.setState({\n loading: false\n });\n })[\"catch\"](function (error) {\n if (error.status == 204) {\n _this.setState({\n showNotFound: true\n });\n }\n _this.setState({\n loading: false\n });\n });\n });\n _defineProperty(_this, \"runImmersiveReader\", function () {\n var post = _this.props.post;\n var data = {\n title: post.title,\n chunks: [{\n content: '

' + post.title + '

',\n mimeType: 'text/html'\n }, {\n content: getDescription(post.body),\n mimeType: 'text/html'\n }]\n };\n _this.props.getReaderParameters().then(function () {\n var reader = _this.props.reader;\n ImmersiveReader.launchAsync(reader.token, reader.subdomain, data, {\n uiLang: getActiveLanguage()\n })[\"catch\"](function (error) {\n console.error('error', error);\n //trackImmersiveReaderError(error, currentUser.id);\n });\n });\n });\n _defineProperty(_this, \"renderArticle\", function () {\n var _this$props = _this.props,\n post = _this$props.post,\n translate = _this$props.translate;\n if (_this.state.loading) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task single-preschool_document\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n if (post != null) {\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'inline-block'\n }\n }, /*#__PURE__*/React.createElement(CardSubtitle, null, /*#__PURE__*/React.createElement(Date, null, post.published)))), /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task-description\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, translate('Description')), /*#__PURE__*/React.createElement(Link, {\n to: \"#\",\n onClick: _this.runImmersiveReader\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"reader trigger\"\n }, /*#__PURE__*/React.createElement(Immersive_Reader, null), \" \", translate('Immersive Reader'))), /*#__PURE__*/React.createElement(PostContent, null, getDescription(post.body)))), /*#__PURE__*/React.createElement(\"div\", null, post.associatedFiles.length > 0 ? /*#__PURE__*/React.createElement(BlockWrapper, {\n cols: \"2\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"preschool-gallery\",\n style: {\n width: '100%'\n }\n }, post.associatedFiles.map(function (file, index) {\n var fileUrl = file.url;\n if (file.type.indexOf('image') > -1) {\n return /*#__PURE__*/React.createElement(Block, {\n key: \"file-\".concat(file.id, \"-\").concat(index)\n }, /*#__PURE__*/React.createElement(\"img\", {\n src: fileUrl,\n style: {\n width: '100%',\n height: '100%',\n display: 'block',\n borderRadius: 'inherit'\n }\n }));\n }\n return /*#__PURE__*/React.createElement(Block, {\n key: \"file-\".concat(file.id, \"-\").concat(index)\n }, /*#__PURE__*/React.createElement(\"a\", {\n href: fileUrl,\n className: \"block-content\",\n target: \"_blank\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'inline-block',\n width: '1.15rem',\n height: '1.15rem',\n position: 'relative',\n top: 3,\n marginRight: '0.55rem'\n }\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"File\"\n })), file.name));\n }))) : null));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n padding: '1rem 0'\n },\n className: \"text--center color--meta weight--bold\"\n }, _this.props.translate(\"Something went wrong! We couldn't find what you were trying to reach!\")))));\n });\n _this.state = {\n showNotFound: false,\n loading: false\n };\n return _this;\n }\n _inherits(SinglePost, _Component);\n return _createClass(SinglePost, [{\n key: \"render\",\n value: function render() {\n if (this.state.showNotFound) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-section\"\n }, /*#__PURE__*/React.createElement(ContentBlock, null, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n padding: '1rem 0'\n },\n className: \"text--center color--meta weight--bold\"\n }, this.props.translate('You do not have permission to view the post')))));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"single-task\"\n }, this.state.loading ? /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }) : this.renderArticle());\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n activeStudent: state.User.activeStudent,\n user: state.User.user,\n post: state.posts.post,\n reader: state.User.reader,\n translate: translate(state.Languages.translations)\n };\n};\nexport default connect(mapStateToProps, {\n getGuardianStudentPost: getGuardianStudentPost,\n getReaderParameters: getReaderParameters,\n setPageTitle: setPageTitle\n})(SinglePost);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nvar Alert = /*#__PURE__*/function (_Component) {\n function Alert(props) {\n var _this;\n _classCallCheck(this, Alert);\n _this = _callSuper(this, Alert, [props]);\n _this.state = {\n type: _this.props.hasOwnProperty('type') ? _this.props.type : ''\n };\n return _this;\n }\n _inherits(Alert, _Component);\n return _createClass(Alert, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"notifications_alert_\".concat(this.props.id),\n className: \"card alert alert-\".concat(this.props.type)\n }, this.props.children);\n }\n }]);\n}(Component);\nexport { Alert as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { Link } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { setPageTitle } from 'actions/header';\nimport { getNotifications } from 'actions/notifications';\nimport { translate } from '@haldor/ui';\nimport { Spinner } from 'UI';\nimport sniffer from 'sniffer';\nimport Alert from 'components/Presentation/Notifications/Alert';\nimport FromNow from \"components/Presentation/Dates/FromNow\";\nvar Notifications = /*#__PURE__*/function (_Component) {\n function Notifications() {\n var _this;\n _classCallCheck(this, Notifications);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Notifications, [].concat(args));\n _defineProperty(_this, \"UNSAFE_componentWillMount\", function () {\n _this.props.setPageTitle(_this.props.translate('Events'));\n _this.props.getNotifications();\n });\n return _this;\n }\n _inherits(Notifications, _Component);\n return _createClass(Notifications, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n if (this.props.notifications == null) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"app-comp-content content\"\n }, /*#__PURE__*/React.createElement(Spinner, {\n center: true\n }));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"overview\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"section latest\",\n style: {\n margin: 0,\n padding: 0,\n border: 0\n }\n }, this.props.notifications.map(function (notification, i) {\n var student = _this2.props.students.find(function (student) {\n return student.id == notification.studentId;\n });\n if (notification.referenceUrl !== null) {\n return /*#__PURE__*/React.createElement(Link, {\n to: \"/notificationReceiver?url=\".concat(notification.referenceUrl, \"&studentId=\").concat(notification.studentId),\n key: i,\n className: \"notificationsLink\"\n }, /*#__PURE__*/React.createElement(Alert, {\n id: i,\n type: \"news\",\n key: i\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"news-title\"\n }, !notification.contentRead ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"unread-container\",\n style: sniffer.isDevice ? {\n alignItems: 'flex-start',\n marginTop: '6px'\n } : {}\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"unread-dot\"\n })) : null, student != null ? student.firstName + ' ' + student.lastName + ': ' : null, notification.notificationText), /*#__PURE__*/React.createElement(\"div\", {\n className: \"alert-timestamp\"\n }, /*#__PURE__*/React.createElement(FromNow, {\n utc: true\n }, notification.created))));\n }\n return /*#__PURE__*/React.createElement(Alert, {\n id: i,\n type: \"news\",\n key: i\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"news-title\"\n }, !notification.contentRead ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"unread-container\",\n style: sniffer.isDevice ? {\n alignItems: 'flex-start',\n marginTop: '6px'\n } : {}\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"unread-dot\"\n })) : null, student != null ? student.firstName + ' ' + student.lastName + ': ' : null, notification.notificationText), /*#__PURE__*/React.createElement(\"div\", {\n className: \"alert-timestamp\"\n }, /*#__PURE__*/React.createElement(FromNow, {\n utc: true\n }, notification.created)));\n })));\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations),\n notifications: state.Notifications.notifications,\n students: state.guardians.students\n };\n}\nexport default connect(mapStateToProps, {\n setPageTitle: setPageTitle,\n getNotifications: getNotifications\n})(Notifications);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { connect } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport { getDescription } from 'helpers/content';\nimport { setPageTitle } from 'actions/header';\nimport { getStudentEducationGroups } from 'actions/sections';\nimport LoadingCards from 'components/Presentation/Cards/LoadingCards';\nimport { Expandable } from 'UI';\nimport { Card, Icon, Flex, translate } from '@haldor/ui';\nimport './_Groups.scss';\nvar Groups = /*#__PURE__*/function (_Component) {\n function Groups(props) {\n var _this;\n _classCallCheck(this, Groups);\n _this = _callSuper(this, Groups, [props]);\n _defineProperty(_this, \"componentDidMount\", function () {\n var activeStudent = _this.props.activeStudent;\n _this.props.setPageTitle(_this.props.translate('Groups'));\n _this.props.getStudentEducationGroups(activeStudent.id);\n });\n _defineProperty(_this, \"cutDescription\", function (description) {\n if (description == null) {\n return '';\n }\n var strippedDescription = getDescription(description).replace(/(<([^>]+)>)/ig, '');\n if (strippedDescription.length > 99) {\n return strippedDescription.slice(0, 100) + '…';\n }\n return strippedDescription;\n });\n _defineProperty(_this, \"toggleExpand\", function () {\n return _this.setState({\n expand: !_this.state.expand\n });\n });\n _defineProperty(_this, \"renderGroup\", function (group, index) {\n return /*#__PURE__*/React.createElement(Card, {\n element: Link,\n to: \"/groups/\".concat(group.id),\n style: {\n marginBottom: '0.75rem'\n },\n key: group.id\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: {\n flex: 1\n }\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"group-header\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"title\"\n }, group.title), group.type != null ? /*#__PURE__*/React.createElement(\"div\", {\n className: \"card-meta\",\n style: {\n margin: 0\n }\n }, _this.props.translate(group.type.toUpperCase())) : null), /*#__PURE__*/React.createElement(Expandable, {\n title: \"1\",\n open: _this.state.expand\n }, /*#__PURE__*/React.createElement(Flex, {\n top: true,\n space: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"description size-14\"\n }, _this.cutDescription(group.description))))));\n });\n _defineProperty(_this, \"renderFoldButton\", function () {\n return /*#__PURE__*/React.createElement(Flex, {\n end: true\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"all-fold-button color--meta \".concat(_this.state.expand ? 'open' : 'closed'),\n onClick: _this.toggleExpand\n }, /*#__PURE__*/React.createElement(Icon, {\n name: \"ArrowLeft\"\n }), _this.state.expand ? _this.props.translate('Hide description') : _this.props.translate('Show description')));\n });\n _this.state = {\n expand: false\n };\n return _this;\n }\n _inherits(Groups, _Component);\n return _createClass(Groups, [{\n key: \"render\",\n value: function render() {\n if (this.props.groups == null) {\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"page groups\"\n }, this.renderFoldButton(), this.props.groups.length > 0 ? this.props.groups.map(this.renderGroup) : null, this.props.groups.length == 0 ? /*#__PURE__*/React.createElement(LoadingCards, {\n count: 3\n }) : null);\n }\n }]);\n}(Component);\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n groups: state.groups.groups,\n activeStudent: state.User.activeStudent,\n translate: translate(state.Languages.translations)\n };\n};\nexport default connect(mapStateToProps, {\n getStudentEducationGroups: getStudentEducationGroups,\n setPageTitle: setPageTitle\n})(Groups);","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { getActiveStudent } from 'helpers/guardian';\nimport { addError } from 'actions';\nimport { getNotifications } from 'actions/notifications';\nimport { setActiveStudent, setActiveSchool } from 'actions/user';\nimport { translate } from '@haldor/ui';\nvar NotificationReceiver = /*#__PURE__*/function (_Component) {\n function NotificationReceiver(props) {\n var _this;\n _classCallCheck(this, NotificationReceiver);\n _this = _callSuper(this, NotificationReceiver, [props]);\n _defineProperty(_this, \"getParameterByName\", function (name, url) {\n if (!url) url = window.location.href;\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n var regex = new RegExp('[?&]' + name + '(=([^&]*)|&|#|$)'),\n results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n });\n _defineProperty(_this, \"componentDidMount\", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {\n var translate, student;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n translate = _this.props.translate;\n if (!(_this.getParameterByName('studentId') == null || _this.getParameterByName('studentId') == 'null')) {\n _context.next = 7;\n break;\n }\n if (!(_this.getParameterByName('url') != null)) {\n _context.next = 5;\n break;\n }\n _this.props.history.push(_this.getParameterByName('url'));\n return _context.abrupt(\"return\", true);\n case 5:\n _this.props.history.push('/');\n return _context.abrupt(\"return\", true);\n case 7:\n if (!(getActiveStudent() != _this.getParameterByName('studentId'))) {\n _context.next = 17;\n break;\n }\n student = _this.props.students.find(function (student) {\n return student.id == _this.getParameterByName('studentId');\n });\n if (!(student != null)) {\n _context.next = 17;\n break;\n }\n _context.next = 12;\n return _this.props.setActiveStudent(student);\n case 12:\n if (!(student.schools != null && student.schools.length > 0)) {\n _context.next = 15;\n break;\n }\n _context.next = 15;\n return _this.props.setActiveSchool(student.schools[0].id, student.id);\n case 15:\n _context.next = 17;\n return _this.props.addError(\"\".concat(translate('Changed child to'), \": \").concat(student.firstName, \" \").concat(student.lastName), 'info');\n case 17:\n _this.props.history.push(_this.getParameterByName('url'));\n case 18:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n })));\n return _this;\n }\n _inherits(NotificationReceiver, _Component);\n return _createClass(NotificationReceiver, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", null);\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n translate: translate(state.Languages.translations),\n students: state.guardians.students\n };\n}\nexport default withRouter(connect(mapStateToProps, {\n addError: addError,\n getNotifications: getNotifications,\n setActiveStudent: setActiveStudent,\n setActiveSchool: setActiveSchool\n})(NotificationReceiver));","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/regenerator\";\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nimport React, { Component } from 'react';\nimport { withRouter } from 'react-router-dom';\nimport { connect } from 'react-redux';\nimport { setActiveStudent, setActiveSchool } from 'actions/user';\nvar RedirectOld = /*#__PURE__*/function (_Component) {\n function RedirectOld() {\n var _this;\n _classCallCheck(this, RedirectOld);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, RedirectOld, [].concat(args));\n _defineProperty(_this, \"componentDidMount\", function () {\n var studentId = _this.props.match.params.studentId;\n var pathname = window.location.pathname;\n var student = _this.props.students.find(function (student) {\n return student.id == studentId;\n });\n var paths = pathname.split('/');\n var new_url = '/';\n paths.splice(0, 3);\n paths.forEach(function (path) {\n new_url += path + '/';\n });\n if (student != null) {\n _this.switchStudent(student);\n }\n _this.props.history.push(new_url);\n });\n _defineProperty(_this, \"switchStudent\", /*#__PURE__*/function () {\n var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(student) {\n var activeSchool;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n activeSchool = _this.props.activeSchool;\n _context.next = 3;\n return _this.props.setActiveStudent(student);\n case 3:\n if (!(activeSchool != student.schools[0].id)) {\n _context.next = 6;\n break;\n }\n _context.next = 6;\n return _this.props.setActiveSchool(student.schools[0].id, student.id);\n case 6:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }());\n return _this;\n }\n _inherits(RedirectOld, _Component);\n return _createClass(RedirectOld, [{\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(\"div\", null, \"Redirecting...\");\n }\n }]);\n}(Component);\nfunction mapStateToProps(state) {\n return {\n students: state.guardians.students\n };\n}\nexport default withRouter(connect(mapStateToProps, {\n setActiveStudent: setActiveStudent,\n setActiveSchool: setActiveSchool\n})(RedirectOld));","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport React, { useEffect, useState } from 'react';\nimport { ON_ROUTE_CHANGE } from 'actions/header';\nimport { Route, Switch, withRouter } from 'react-router-dom';\nimport { appInsights } from 'lib/appInsight';\nimport { useHistory } from 'react-router';\n\n// Import routes\nimport ConversationPage from 'containers/Conversation/Display/ConversationPage';\nimport ConversationsPage from 'containers/Conversation/Display/ConversationsPage';\nimport AllForms from 'containers/FormTemplate/Page/AllForms';\nimport SingleForm from 'containers/FormTemplate/Page/SingleForm';\nimport CallbackPage from 'components/CallbackPage/CallbackPage';\nimport Login from 'components/Login/Login';\nimport Logout from 'components/Logout/Logout';\nimport LoadingPage from 'components/LoadingPage/LoadingPage';\nimport Profile from 'components/Profile/Profile';\nimport SchoolSwitch from 'components/SchoolSwitch/SchoolSwitch';\nimport AllPlans from 'containers/AllPages/AllPlans';\nimport AllPosts from 'containers/AllPages/AllPosts';\nimport AllTasks from 'containers/AllPages/AllTasks';\nimport App from 'containers/App';\nimport IndexWrapper from 'containers/IndexWrapper';\nimport Meeting from 'containers/Meetings/Display/Meeting';\nimport MeetingInstance from 'containers/Meetings/Display/MeetingInstance';\nimport MyMeetings from 'containers/Meetings/Display/MyMeetings';\nimport NotFound from 'containers/NotFound';\nimport StudentProgress from 'containers/Progress/StudentProgress';\nimport SectionWrapper from 'containers/Section/SectionWrapper';\nimport Absence from 'containers/Overview/Sections/Absence';\nimport Schedule from 'containers/Schedule/Schedule';\nimport AssignmentsWrapper from 'containers/SinglePages/Assignments/AssignmentsWrapper';\nimport SingleDocument from 'containers/SinglePages/SingleDocument';\nimport singlePlan from 'containers/SinglePages/SinglePlan';\nimport SinglePost from 'containers/SinglePages/SinglePost';\nimport StudyPlan from 'containers/StudyPlan/StudyPlan';\nimport Notifications from 'containers/Notifications';\nimport Groups from 'containers/Groups';\nimport NotificationReceiver from 'containers/Notifications/NotificationReceiver';\nimport RedirectOld from 'components/Redirect/Old';\nvar Routes = function Routes(props) {\n var history = useHistory();\n var _useState = useState(location.pathname),\n _useState2 = _slicedToArray(_useState, 2),\n currentPath = _useState2[0],\n setPreviousRouteRoute = _useState2[1];\n useEffect(function () {\n var listener = document.addEventListener('login_required', function () {\n history.push('/login');\n });\n history.listen(function (location) {\n if (location == null) {\n return false;\n }\n var forbiddenRoutes = [\"language\", \"switch\", \"conversations/new\", \"Auth\"];\n if (location.pathname == currentPath) {\n return false;\n }\n if (location.hostname != 'localhost') {\n appInsights.trackPageView({\n name: location.pathname,\n isLoggedIn: appInsights.context.user.authenticatedId != null\n });\n }\n var route = forbiddenRoutes.find(function (t) {\n return location.pathname.indexOf(t) > -1;\n });\n if (route != null) {\n return false;\n }\n setPreviousRouteRoute(location.pathname);\n props.store.dispatch({\n type: ON_ROUTE_CHANGE\n });\n window.scrollTo(0, 0);\n if (location.pathname != '/login' && location.pathname != '/logout') {\n var event = new Event('route_change');\n document.dispatchEvent(event);\n }\n });\n return function () {\n document.removeEventListener('login', listener);\n };\n }, []);\n return /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {\n path: \"/loading\",\n name: \"Loading\",\n component: LoadingPage\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/login\",\n component: Login\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/logout\",\n exact: true,\n component: Logout\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/loginRedirect\",\n component: CallbackPage\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/\",\n render: function render() {\n return /*#__PURE__*/React.createElement(App, null, /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {\n path: \"/\",\n exact: true,\n component: IndexWrapper\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/posts\",\n exact: true,\n name: \"Posts\",\n component: AllPosts\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/posts/:newsId\",\n name: \"SinglePost\",\n component: SinglePost\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/documents/:documentId\",\n name: \"document\",\n component: SingleDocument\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/schedule\",\n name: \"Schedule\",\n component: Schedule\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/notifications\",\n name: \"Notifications\",\n component: Notifications\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/notificationReceiver\",\n name: \"NotificationReceiver\",\n component: NotificationReceiver\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/plans\",\n exact: true,\n name: \"Plans\",\n component: AllPlans\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/plan/:planId\",\n name: \"plan\",\n component: singlePlan\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/groups\",\n exact: true,\n name: \"Groups\",\n component: Groups\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/groups/:groupId\",\n name: \"Group\",\n component: SectionWrapper\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/assignments\",\n exact: true,\n name: \"Assignments\",\n component: AllTasks\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/assignment/:assignmentId\",\n name: \"Assignment\",\n component: AssignmentsWrapper\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/conversations\",\n exact: true,\n name: \"Conversations\",\n component: ConversationsPage\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/conversations/:id\",\n name: \"Conversation\",\n component: ConversationPage\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/studyplan\",\n name: \"StudyPlan\",\n component: StudyPlan\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/progress\",\n name: \"StudentProgress\",\n component: StudentProgress\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/profile\",\n name: \"profile\",\n component: Profile\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/switchschool\",\n name: \"switchschool\",\n component: SchoolSwitch\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/forms\",\n exact: true,\n name: \"AllForms\",\n component: AllForms\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/form/:id\",\n name: \"SingleForm\",\n component: SingleForm\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/absence\",\n name: \"Absence\",\n component: Absence\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/meetings\",\n exact: true,\n name: \"Meetings\",\n component: MyMeetings\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/meetings/:id\",\n exact: true,\n name: \"Meeting\",\n component: Meeting\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/meetings/:id/instance/:instanceId\",\n exact: true,\n name: \"Meeting\",\n component: MeetingInstance\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/404\",\n name: \"notfound\",\n component: NotFound,\n status: 404\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/student/:studentId\",\n name: \"Redirect\",\n component: RedirectOld\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"/student/:studentId/*\",\n name: \"Redirect\",\n component: RedirectOld\n })));\n }\n }), /*#__PURE__*/React.createElement(Route, {\n path: \"*\",\n component: NotFound,\n status: 404\n }));\n};\nexport default withRouter(Routes);","import { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { setupInterceptors } from \"../lib/axios\";\nfunction injectAxiosInterceptors() {\n var history = useHistory();\n useEffect(function () {\n setupInterceptors(history);\n }, [history]);\n\n // not rendering anything\n return null;\n}\nexport default injectAxiosInterceptors;","// import 'babel-polyfill';\nimport 'helpers/polyfills';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { applyMiddleware, createStore, compose } from 'redux';\nimport { Provider } from 'react-redux';\nimport { BrowserRouter as Router, Route } from 'react-router-dom';\nimport sniffer from 'sniffer';\nimport promise from 'redux-promise';\nimport reducers from './reducers';\n\n// Top level components\nimport Localization from 'components/Localization';\nimport Routes from './routes/index';\nimport InjectAxiosInterceptors from './lib/injectAxiosInterceptors';\nimport { MsalProvider, AuthenticatedTemplate, UnauthenticatedTemplate } from \"@azure/msal-react\";\nimport Login from './components/Login/Login';\nimport msalInstance from './lib/msal';\nsniffer.addClasses(document.documentElement);\nvar composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\nvar store = createStore(reducers, composeEnhancers(applyMiddleware(promise)));\n(function () {\n if (window.ReactNativeWebView != null) {\n document.addEventListener(\"click\", function (event) {\n var targetElement = event.target || event.srcElement;\n if (targetElement instanceof HTMLAnchorElement) {\n if (targetElement.target == \"_blank\") {\n event.preventDefault();\n window.ReactNativeWebView.postMessage(JSON.stringify({\n type: 'OPEN_URL',\n external_url_open: targetElement.href\n }));\n }\n }\n });\n }\n})();\nif (window == window.parent) {\n ReactDOM.render( /*#__PURE__*/React.createElement(Provider, {\n store: store\n }, /*#__PURE__*/React.createElement(Localization, null, /*#__PURE__*/React.createElement(Router, null, /*#__PURE__*/React.createElement(MsalProvider, {\n instance: msalInstance\n }, /*#__PURE__*/React.createElement(InjectAxiosInterceptors, null), /*#__PURE__*/React.createElement(AuthenticatedTemplate, null, /*#__PURE__*/React.createElement(Routes, {\n store: store\n })), /*#__PURE__*/React.createElement(UnauthenticatedTemplate, null, /*#__PURE__*/React.createElement(Route, {\n path: \"/\",\n component: Login\n })))))), document.querySelector('#root'));\n}\nexport default store;","var map = {\n\t\"./da\": 3601,\n\t\"./da.js\": 3601,\n\t\"./nb\": 2274,\n\t\"./nb.js\": 2274,\n\t\"./nn\": 4566,\n\t\"./nn.js\": 4566,\n\t\"./sv\": 1011,\n\t\"./sv.js\": 1011,\n\t\"./uk\": 6618,\n\t\"./uk.js\": 6618,\n\t\"moment/locale/da\": 3601,\n\t\"moment/locale/da.js\": 3601,\n\t\"moment/locale/nb\": 2274,\n\t\"moment/locale/nb.js\": 2274,\n\t\"moment/locale/nn\": 4566,\n\t\"moment/locale/nn.js\": 4566,\n\t\"moment/locale/sv\": 1011,\n\t\"moment/locale/sv.js\": 1011,\n\t\"moment/locale/uk\": 6618,\n\t\"moment/locale/uk.js\": 6618\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5894;"],"names":["API_TEST_ASH_URL","LOGIN_ASH_TEST","AIKEY_ASH_TEST","AIKEY_PROD","IDP_CLIENT_TEST","IDP_CLIENT_PROD","GET_CONFIG","config","window","location","host","indexOf","API","LOGIN","AIKEY","IDPCLIENTID","msal","clientId","authority","postLogoutRedirectUri","origin","redirectUri","concat","protocol","hostname","port","navigateToLoginRequestUrl","knownAuthorities","protocolMode","String","prototype","capitalize","this","charAt","toUpperCase","slice","msalConfig","auth","cache","cacheLocation","storeAuthStateInCookie","instrumentationKey","appInsights","disableExceptionTracking","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","getOwnPropertyDescriptors","defineProperties","defineProperty","loadAppInsights","context","application","ver","Authentication","key","value","trackTrace","message","localStorage","clear","request","getRequest","loginRedirect","Promise","resolve","reject","handleRedirectPromise","then","authResult","setActiveAccount","account","trackException","exception","Error","_logout","_callee2","_context2","prev","next","acquireTokenSilent","_ref","_callee","response","logoutRequest","_context","idTokenHint","idToken","logoutRedirect","stop","_x","scopes","getActiveAccount","_this","accessToken","error","event","CustomEvent","document","dispatchEvent","console","log","STUDENT_ID","SCHOOL_ID","student","setItem","getActiveStudent","getItem","http","baseURL","interceptors","use","status","data","setTimeout","headers","parseInt","toString","_addToast","get","route","allowAnonymous","undefined","put","post","getFile","id","responseType","getLinkFile","GET_USER_ABSENCE","SUBMIT_USER_ABSENCE","UPDATE_USER_ABSENCE","REMOVE_USER_ABSENCE","CLEAR_STUDENT_ABSENCE","INITIAL_STATE","user","submitResult","GET_GUARDIAN_STUDENT_ASSIGNMENTS","GET_GUARDIAN_STUDENT_ASSIGNMENT","GET_GUARDIAN_STUDENT_ASSIGNMENT_ASSESSMENTS","GET_GUARDIAN_ASSIGNMENT_STUDENT_ASSESSMENT","CLEAR_GUARDIAN_STUDENT_ASSIGNMENTS","GET_TEAMS_ASSIGNMENTS","GET_TEAMS_ASSIGMENT","GET_TEAMS_ASSIGMENT_OUTCOMES","GET_TEAMS_ASSIGMENT_RESOURCES","GET_TEAMS_ASSIGMENT_RESOURCE","getGuardianStudentAssignments","studentId","type","payload","getGuardianStudentAssignment","assignmentId","getGuardianStudentAssignmentAssessments","assignmentTaskId","getGuardianStudentAssessments","getTeamsAssignments","assignments","current","submitted","overdue","upcoming","assignment","assessments","outcomes","selfAssessment","assignmentResources","assignmentResource","getOverdue","state","timeNow","list","_i","_assignments","isBefore","startDate","local","isAfter","dueDate","assignmentType","tasks","sortList","getCurrent","_i2","_assignments2","sort","a","b","dateA","dateB","displayName","dueDateTime","unix","sortListDesc","getUpcoming","_i3","_assignments3","findIndex","assignedDateTime","getSubmitted","GET_USER_ATTENDANCE","CLEAR_USER_ATTENDANCE","ADD_ERROR","GET_STATUS","GET_GOALS","addError","msg","target","time","getStatus","lcid","getGoals","goals","GET_CONVERSATIONS","GET_CONVERSATION","GET_CONVERSATIONS_REFERENCE","RESET_CONVERSATION","GET_CONVERSATION_MESSAGES","GET_USER_CONTACTS","GET_UNREAD_COUNT","SEARCH_CONVERSATIONS","CLEAR_SEARCH_CONVERSATIONS","FLAG_MESSAGE","STAGE_CONVERSATION","SUBMIT_CONVERSATION","SUBMIT_CONVERSATION_MESSAGE","getConversation","submitMessage","JSON","stringify","createConversation","conversation","conversations","messages","contacts","staged","unread","searchResults","GET_GUARDIAN_STUDENT_DOCUMENTATIONS","GET_GUARDIAN_STUDENT_DOCUMENTATION","CLEAR_GUARDIAN_STUDENT_DOCUMENTATION","GET_GUARDIAN_STUDENT_DOCUMENTATION_FILE","GET_GUARDIAN_SECTION_DOCUMENTATIONS","clearGuardianStudentDocumentations","documentations","sectionDocumentations","documentation","file","GET_GUARDIAN_STUDENT_GROUPS","GET_GUARDIAN_STUDENT_GROUP","GET_GUARDIAN_MENTOR_GROUPS","GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS","GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_DATE","GET_GUARDIAN_STUDENT_GROUP_ASSESSMENTS_MATRIX_DATE","GET_GUARDIAN_STUDENT_ASSESSMENTS_DATE","GET_GUARDIAN_MATRIX_ASSESSMENT_STATISTIC","GET_GUARDIAN_STUDENT_ASSESSMENTS_PROGRESS","GET_GUARDIAN_STUDENT_ASSESSMENTS_STATISTIC_PROGRESS","GET_GUARDIAN_STUDENT_ASSESSMENTS","CLEAR_GUARDIAN_STUDENT_GROUPS","GET_GUARDIAN_STUDENT_ASSESSMENTS_BY_SECTION","GET_COURSES","getStudentEducationGroups","getGuardianStudentGroup","groupId","getCourse","courseId","groups","activeGroup","activeGroupAssessments","matrixAssessments","studentOverview","progressSections","progressAssessmentStats","studentAssessments","mentorGroups","courses","GET_GUARDIAN_STUDENTS","GET_GUARDIAN_STUDENT_SCHEDULE","CLEAR_GUARDIAN_STUDENT_SCHEDULE","getGuardianStudents","reason","authentication","logout","students","activeStudent","currentStudent","schedule","GET_MEETING","GET_MEETINGS","GET_MEETING_INSTANCE","CLEAR_MEETINGS","getMeeting","updateMeetingInstanceDate","obj","json","meetings","meeting","meetingInstance","GET_NOTIFICATIONS","GET_UNREAD_NOTIFICATIONS","postRegisterPush","getNotifications","getUnreadNotifications","notifications","unreadNotifications","action","ReactNativeWebView","postMessage","GET_GUARDIAN_STUDENT_PLANS","GET_GUARDIAN_STUDENT_PLAN","GET_GUARDIAN_STUDENT_PLAN_ASSESSMENTS","CLEAR_GUARDIAN_STUDENT_PLANS","getGuardianStudentPlans","plans","plan","GET_GUARDIAN_STUDENT_POSTS","GET_GUARDIAN_SECTION_POSTS","CLEAR_GUARDIAN_STUDENT_POSTS","GET_GUARDIAN_STUDENT_POST","clearGuardianStudentPosts","posts","sectionPosts","GET_PROFILE_INFORMATION","putProfileInformation","profile","getProfileInformation","GET_GUARDIAN_STUDENT_LATEST_VERDICTS","GET_GUARDIAN_STUDENT_VERDICT_SCALE","GET_GUARDIAN_STUDENT_VERDICTS","CLEAR_GUARDIAN_STUDENT_STUDYPLAN","GET_ASSIGNMENT_ASSESSMENTS","GET_PLAN_ASSESSMENTS","getVerdictScales","getPlanAssessments","subjectCode","getAssignmentAssessments","lastVerdicts","scales","verdicts","CLEAR_FORM_TEMPLATE","GET_FORM","CLEAR_FORM","GET_FORMS","GET_FORM_INSTANCE","getFormTemplate","updateFormInstance","instance","values","getFormInstance","templates","formTemplate","form","forms","ServiceManager","tenantServices","schoolServices","haldorEducation","haveService","haldorCoursePlanning","microsoft","haldor","news","advancedSchedule","attendance","additionalAdjustments","teamsMeeting","notes","exportAssessments","plagiarism","immersiveReaderPlans","immersiveReaderAssignments","immersiveReaderPosts","immersiveReaderConversations","msAssignmentOutcomes","serviceId","find","service","serviceEnd","isSameOrAfter","SET_AUTHENTICATED_USER","SET_REFRESHINPROGRESS_USER","SET_ACTIVE_USER","SET_ACTIVE_STUDENT","SET_ACTIVE_SCHOOL","GET_READER_PARAMS","GET_STUDENT_SCHOOL_DATA","SET_HALDOR_APP_ORIENTATION","setActiveStudent","prevStudent","setActiveSchool","school","getReaderParameters","token","subdomain","sent","_x2","appOrientation","activeSchool","refreshInProgress","authenticated","schoolDatas","reader","isApp","navigator","userAgent","GET_DEVICE_INFO","saveWithExpiration","expiration","item","add","format","getWithExpiration","parse","removeItem","GET_MENU_ITEMS","items","decoded","getMenuItems","SET_PAGE_ACTIONS","SET_PAGE_TITLE","ON_ROUTE_CHANGE","setPageTitle","getRootUrl","pathname","getParameterByName","name","url","href","replace","results","RegExp","exec","decodeURIComponent","actions","title","backButton","GET_STUDENT_ADJUSTMENTS","CLEAR_STUDENT_ADJUSTMENTS","studentAdjustments","GET_MEETING_TIME_BLOCKS","meetingTimeBlocks","meetingTimeBlockSlots","FETCH_PRESCHOOL_GOALS","GET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS","RESET_PRESCHOOL_GOAL_PLANS_AND_DOCUMENTATIONS","GET_PRESCHOOL_GOALS_USER_STATISTICS","initialState","preschoolGoals","linkedData","userStatistics","GET_TRANSLATIONS_FOR_LANGUAGE","translations","GET_BLOCK_TYPES","GET_BLOCKS_BY_REFERENCE","getBlocksByReference","referenceId","referenceType","types","reference","GET_ASSESSMENTS","GET_STUDENT_COURSES_GOALS","GET_STUDENT_ASSESSMENT_STATISTICS","GET_SECTIONS_FROM_ASSESSMENTS","CLEAR_ASSESSMENTS","getUserSummary","endDate","params","sectionId","getUserStatisticsDetailed","assessment","studentStatistics","allFilter","activitiesFilter","absence","foundIndex","splice","errors","guardians","base","documents","combined","d","cb","sectionCombined","overdueTeams","submittedTeams","upcomingTeams","currentTeams","planning","combinedPosts","studyplans","uniqueCourseSet","Set","verdict","course","map","courseStr","studyPlans","Conversation","referenceConversations","_state$messages","unshift","conversationMessage","foundMessage","messageId","newMessage","flagID","text","Templates","Meetings","User","services","getServices","Menu","Header","AdditionalAdjustments","TimeBlocks","startTime","Notifications","DeviceInfo","PreschoolGoals","Languages","Blocks","ScheduleFilter","allData","_callSuper","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","valueOf","call","Localization","_Component","_len","args","Array","_key","localLang","setActiveLanguage","props","getTranslations","getActiveLanguage","onLanguageChange","children","Component","getConversationParticipants","users","memberships","membership","membershipID","membershipType","section","Spinner","_this$props","classNames","center","right","small","className","getContainerClassName","style","backgroundImage","version","xmlns","x","y","viewBox","x1","y1","x2","y2","Expandable","preventDefault","onClick","toggleOpen","stopPropagation","onPlus","onPress","isOpen","setState","open","onChange","centerContent","whiteBackground","color","nextProps","html","headerStyles","contentStyles","contentStylesClosed","borderLeftColor","getHeaderClassNames","index","onPlusPress","getContentClassNames","dangerouslySetInnerHTML","__html","Block","headerContent","content","footerContent","image","link","to","renderContent","BlockWrapper","columns","cols","DataList","_props","updateColumns","renderRow","row","isArray","rowChild","active","column","renderCard","emptyData","renderTable","renderCards","available","preferred","width","renderMain","ColorLabel","tooltip","dotProps","assign","backgroundColor","marginLeft","ColorLabelContainer","element","container","containerWidth","clientWidth","contentWidth","collapse","dots","querySelectorAll","dot","calculateCollapse","onResize","addEventListener","prevProps","prevChildren","currentChildren","removeEventListener","inline","ref","setContainer","ReactSwipe","swipe","containerEl","swipeOptions","childCount","kill","_this$swipe","slide","getPos","getNumSlides","_this$props2","el","wrapper","child","childStyle","startSlide","speed","auto","continuous","disableScroll","draggable","swiping","callback","transitionEnd","overflow","visibility","position","height","minHeight","transitionProperty","Collapsible","toggle","defaultOpen","clientHeight","animationLength","trigger","display","alignItems","flex","Icon","badge","_setContainer","_setContent","Person","person","firstName","lastName","getName","nameSplit","split","size","getInitials","email","showName","showAvatar","ConversationHeader","relationships","relationship","i","referenceID","meetingID","renderMeta","userId","properties","severityLevel","DataClass","debug","_DataObject","DateTime","arg1","arg2","set","_this$data","clone","subtract","fromNow","date","isSame","period","endOf","locale","getTimeStamp","timestampClass","me","narrow","multipleDown","multipleUp","Flex","end","flagged","TooltipMenu","Item","label","sender","getTimeStampHours","ImmersiveReader","ConversationMessages","onScroll","scrollTop","scrollHeight","prevState","func","immediate","callNow","timeout","clearTimeout","scrollLimit","throttle","loadingMore","onScrollComplete","loadMore","translate","input","showCancelButton","cancelButtonText","confirmButtonText","flagMessage","creator","owner_section","_owner_section$sectio","getUserById","senderId","senderType","m","created","chunks","mimeType","abrupt","launchAsync","uiLang","uiZIndex","up","down","reportMessage","runImmersiveReader","lastRead","lastMessage","nextMessage","_owner_section$sectio2","loading","renderMessage","TimePicker","refs","select","newTime","hours","focus","minutes","twelve","onHourChange","onFocus","onHourFocus","onMinutesChange","onMinutesFocus","toggleAmPm","Editor","disabled","quill","getEditor","disable","range","getSelection","inputPlaceHolder","focusConfirm","result","insertEmbed","promptRange","match","placeHolderText","placeholder","_this2","meta","modules","toolbar","header","handlers","imageHandler","urlHandler","keyboard","bindings","prefix","formats","touched","border","delta","source","newValue","matches","onBlur","getHTML","marginTop","warning","_props$input","_props$input2","textField","useRef","_calculateSize","rows","textContent","useEffect","elementProps","onKeyUp","classList","remove","resize","maxHeight","Search","onSubmit","getValue","allowEmpty","query","modifier","substr","autoSearch","_onSubmit","keyCode","_value","autoSearchLimit","onIconClick","onValueChange","onKeyDown","FIELD_TEXT","FIELD_TEXTAREA","FIELD_TITLE","FIELD_DESCRIPTION","Field","component","getFieldProps","MessageForm","hideInput","conversationID","parentId","reset","handleSubmit","submitting","valid","Form","submit","validate","required","Button","reduxForm","destroyOnUnmount","ConversationPage","setTitle","history","members","member","resetConversation","querySelector","body","footer","desktopHeader","deviceMenu","deviceHeader","innerHeight","customStyles","overlay","top","left","bottom","zIndex","padding","WebkitOverflowScrolling","ModalObject","overridePrompt","onClose","onRequestClose","shouldClose","contentLabel","onModalClick","SelectRecipientForm","selected","foundInState","sections","loadingGroups","_this$props$group","group","owners","selectedGroupId","allOwnersSelected","permission","contact","found","groupOwners","owner","onContactSelect","_groupData","_groupData2","_this$state","groupData","allSelected","filterUsersByReferenceId","schoolID","marginBottom","Checkbox","c","selectAllGroupContacts","getStudentMentorGroups","getSchoolData","getContacts","roles","some","role","roleId","toLowerCase","_this3","hasNonStudentRole","_this4","Radio","handleGroupChange","optionValue","margin","onGroupExpand","_this5","renderTrigger","renderGroup","educationGroups","filteredEducationGroups","setting","_setting$value","schoolId","renderGroupList","FORM_NAME","selector","formValueSelector","change","ConversationsPage","getConversations","clearSearch","modal","stageConversation","searching","searchConversation","participants","timeOfLastMessage","fontStyle","substring","participant","unreadMessages","transform","justifyContent","borderRadius","marginRight","archived","Modal","toggleModal","SelectRecipient","onSelectRecipients","space","onSearch","renderConversation","Card","isExternal","isInternal","classroomUrl","hasOwnProperty","output","CardsContainer","CardTitle","_ref2","CardSubtitle","_ref3","CardDescription","_ref4","CardFooter","_ref5","AllForms","getForms","formInstances","edited","Redirect","DisplayFormResults","field","activeInstance","findResult","fieldResults","fieldName","renderTitle","renderDescription","renderInput","fields","renderField","RowItem","RowCell","grow","shrink","SingleForm","getForm","formTemplateID","instanceId","clearForm","cursor","onInstanceClick","turnedIn","paddingTop","InputFormTemplate","onInputSubmit","getLongDate","MyCallbackPage","_componentDidMount","handleLoginResponse","dispatch","Login","login","extraQueryParameters","deviceInfo","Logout","Profile","mapProfileToState","validateForm","Mail","test","Street","street","Postal","postal","City","city","Phone","phone","mail","GuardianId","guardianId","Synced","synced","isNaN","trim","validateEMail","LCID","onInputChange","fontWeight","maxLength","max","min","SchoolSwitch","clearGuardianStudentPlans","clearGuardianStudentAssignments","clearGuardianStudentSchedule","clearAssessments","clearStudentAdjustments","clearMeetings","clearGuardianStudentGroups","clearStudyPlans","DateSpan","getDateString","start","xmlnsXlink","xmlSpace","cx","cy","dateTime","icon","formatDate","ReactGantt","difference","options","leftBound","rightBound","climaxDate","div2Width","rightPadWidth","div2BackgroundColor","afterClimaxColor","bar2","borderLeft","borderTopRightRadius","borderBottomRightRadius","boxShadow","barStyle","shadow","borderTopLeftRadius","borderBottomLeftRadius","borderLeftWidth","transition","bar1","g_o","timelineStyle","numberOfRowsInGroup","onTimeLineRowClick","showGroupTitle","_this$getCalculatedSt","getCalculatedStyles","opacity","widthValue","rowIsOverlaying","containerStyle","r_o","Math","floor","associatedMatrices","matrice","_ParagraphSet","_int","random","year","colorCode","showTitle","bootstrapped","responsive","previousProps","drawScale","tableId","scaleMarksCount","scaleDrawn","_this$getCalculatedSt2","labelWidth","titleStyle","textAlign","verticalAlign","paddingRight","showBorders","labelStyle","groupObject","_loop","rowStyle","visibleObjects","hideFirstColumn","renderMultipleBars","rowObject","renderBar","days","weeks","months","years","diff","scale","calculateScale","count","widthByPixels","offsetWidth","markersCount","round","unitByPixels","maxIntervalWidth","unitsPerInterval","intervalByPixels","markers","borderWidth","paddingLeft","textTransform","fontSize","lineHeight","labelBorderColor","borderColor","formattedInterval","formattedCurrentDate","currentDate","intervalFormat","mark","weekTranslation","paddingBottom","renderRows","propTypes","defaultProps","pure","_ref$count","cards","MyPlanning","parseRows","isInGroups","groupid","newGroup","newRow","timeStart","toDate","timeEnd","dateRestriction","flip","momentDate","startOf","_momentDate","_leftBound","_rightBound","modalIsOpen","labelAppendBeforeFormat","beforeClimaxColor","hoverPopup","overview","goBackwards","toggleIcon","goToday","goForwards","LoadingCards","AllPlans","PRESCHOOL","COMPULSORY_SCHOOL","UPPER_SECONDARY_EDUCATION","ADULT_EDUCATION","getDescription","description","debounce","wait","FromNow","string","capitalizeFirstLetter","MyPosts","isPreschool","schools","clearPosts","clearDocuments","fetchData","page","collections","shouldAdd","limit","SevenDaysAgo","eventDate","important","published","promises","collection","fetched","promise","fetchPage","pageSize","onlyUnreadIsChecked","all","sortItems","_context3","fetchPages","collectionInfo","shift","delegateYield","t0","_callee3","_context4","appending","paginationSort","_callee4","newPage","_context5","renderDocument","n","author","strippedDescription","abbreviatedDescription","textOverflow","_strippedDescription","associatedGoals","goal","goalOb","goalId","inArray","_file","expireDate","validUntil","hour","minute","associatedFiles","_callee5","_context6","resetCollectionProgress","unreadPostAndDocumentationList","updateNotificationContentRead","getGuardianStudentPosts","getGuardianStudentDocumentations","getSectionPosts","getSectionDocumentations","importantPosts","borderBottom","textDecoration","handleMarkAllAsRead","Fragment","unreadList","AllPosts","Task","currentStatus","src","alt","statusObject","assignmentTypes","externalId","task","currentAssignmentTaskStatus","assignmentTaskStatus","ats","renderAssignmentTaskStatusIcon","assessmentId","sectionTitle","MyTasks","haldorAssignmentsPromise","teamsAssignmentsPromise","renderOverdue","renderCurrent","renderUpcoming","renderSubmitted","lists","AllTasks","getLanguage","svg_src","setLanguage","AppMenu","s","_x3","events","_this$props$unreadNot","_this$props$unreadNot2","userMenu","click","tabIndex","languageMenu","language","objectFit","categories","getUserMenu","getLanguageMenu","displayActiveLanguage","notCurrentStudentHaveUnreads","notificationsPerStudent","haveUnreads","switchStudent","switchSchool","linkTexts","Link","iconId","exact","getBadgeForItem","category","catindex","Divider","categoryText","goBack","settings","DeviceHeader","studentName","ActionSheet","prompt","selection","selectSchool","DesktopHeader","buttonType","renderAction","MenuPage","menuPageTitle","pageTitle","innerHTML","ev","closest","external_url_open","getAttribute","menuItems","background","blocked","activeClassName","onExternalClick","selectLanguage","confirmLogOut","FooterMenu","isMenuOpen","itemURL","toggleMenu","getUnreadForItem","currentStudentHaveUnreads","renderTeamsItems","renderRegularItems","Expire","setTimer","visible","_timer","delay","_Component2","IsApp","AppPlatform","App","isActive","getAccessToken","_event$data","setHaldorAppOrientation","register_push","access_token","setActiveUser","sub","setAuthenticatedUserContext","setStudent","_setStudent","tmpStudents","_tmpStudents","_student","enableStudent","_enableStudent","Desktop","Layout","Sider","Content","Device","setAuthenticated","isAuthenticated","setRefreshInProgress","isRefreshInProgress","layout","Overview","as","triggerOnce","inView","entry","MyPlans","schoolTypes","getSchoolType","IndexWrapper","PostContent","Meeting","followUp","instances","renderInstance","FormInstance","_this$props$instance","templateField","instanceField","onAbort","_data","_this$props$instance2","_this$props$instance3","bind","ownProps","initialValues","enableReinitialize","Message","getConversationsByReference","activeUser","getCreatorId","getConversationForUser","createdBy","references","userid","buildMemberships","buildReference","componentDidMount","button","onCreate","renderStudentConversation","onModalClose","getUserAssessmentDates","startDateLocalStorage","endDateLocalStorage","dates","DatePickers","_dStartDate","_dDueDate","_startDate","_dueDate","dtPickerStartDate","dStartDate","_startDate2","dDueDate","dtPickerDueDate","longDateFormat","_this$state2","month","registerLocale","sv","da","uk","setDefaultLocale","htmlFor","onStartChange","selectsStart","popperPlacement","showWeekNumbers","fixedHeight","dateFormat","getDateFormat","previousMonthButtonLabel","nextMonthButtonLabel","minDate","onEndChange","selectsEnd","isClearable","Select","onTermChange","GroupFilter","nextState","differentUserId","differentProps","differentState","dataLoad","ColorScale","addRed","colors","needed","VerdictWidget","scaleId","getScale","levels","cell","styles","scaleLevelId","level","levelText","shortLocalizationText","VerdictDisplayFeedback","feedback","VerdictDisplayLevel","localizationText","VerdictDisplay","Line","matrixId","detail","matrixID","getGuardianStudentAssessmentsByGroupAndMatrixDate","stats","gradeIndexColors","statistics","stat","amount","showAmount","showLabel","steps","total","reduce","step","stepWidth","showPercentage","renderLine","NewLine","showAllSteps","datasets","StandingBar","percentage","heightUnit","minimumHeight","renderData","VerdictAssessmentsDisplay","getEntries","getAssessmentLevel","assignmentIds","planIds","isSameOrBefore","referenceTitle","newEntry","planId","cellId","_assessment$matrix","matrix","paragraph","_row","rowId","cells","_cell","entries","getStatsForEntry","_stats","_colors","renderAssessments","StudyPlans","loadingStudyPlan","getGuardianStudentLatestVerdicts","verdictLoading","getGuardianStudentVerdicts","toggleVerdictModal","verdictModal","co","creatorFirstName","creatorLastName","collapsibleTrigger","Skeleton","onCourseClick","verdictBefore","renderPublishedInformation","Verdict","flexGrow","currentVerdict","renderCurrentVerdict","renderVerdict","loadData","renderVerdictsModal","medium","renderCourseRow","toggleOpenAll","Comments","comment","getShortDate","adjustment","comments","renderComment","renderUpdate","StudentAdjustment","collapseTrigger","whiteSpace","subjects","additionalAdjustment","subTitle","subject","getStudentAdjustments","completed","MentorGoalOverView","fetch_preschoolgoals","resetLinkedPlansAndDocumentations","getGoalsStatisticsForUser","fetchedGoals","linked","getLinkedPlansAndDocumententationsForGoal","getGoalLinkedData","foundGoalData","foundStatistic","getGoalsByCategoryName","categoryCount","getGoalBadgeContent","getCategories","getCategoryProgress","badgeContent","onGoalCategoryChange","from","useTranslate","DisplayCell","assessmentDetails","isSelected","getDetailLink","navigationObject","editorUser","statistic","paragraphSet","getRowCells","disableNotAchieved","paragraphNr","subtitle","showRed","getColors","sentenceNr","foundEntry","assessmentBlockPartRow","getCellAssessmentDetails","DisplayFeedbacks","feedbacks","resource","resources","getPublicFeedbacks","isPrivate","getPrivateFeedbacks","getResource","assessmentBlockPartId","renderFeedback","ignorePropsUpdate","Bar","_useState","useState","_useState2","setOpen","_useState3","_useState4","setLoading","summary","getUTCTimeStamp","flatMap","getPartsByMatrixId","assessmentBlockParts","part","getFeedbacksForParts","parts","assessmentFeedbacks","getStudentStatistic","getPartStatistic","_getStudentStatistic","toggleSection","newOpen","identifier","toggleCourse","getPartTitle","extraTitle","displayGraph","typeOfSchooling","courseTitle","courseGoalParts","blockParts","assessmentBlockPartRelationships","getGoalPartsByCourseId","includes","assessmentGoals","details","_getStudentStatistic2","f","renderGoalsWithoutCourse","blockPart","renderAssessmentsWithOnlyFeedback","StudentProgress","getGuardianStudentAssessmentsForProgress","noTitle","currentStart","currentEnd","g_object","hidden","hasPreschool","hasCompulsory","hasUpperSecondary","onDateChange","onGroupChange","updateDates","Tabs","Tab","MentorGoalOverview","StudyPlan","MeetingUsers","onParticipantSelect","onConversation","conv","userType","markForConversation","bw","renderUsers","BookMeeting","getMeetingTimeBlocks","slots","slot","endTime","timeBlock","timeBlockSlots","timeBlockSlotId","meetingId","timeblock","getTime","bookable","onCancel","MeetingInstance","getMeetingInstance","reload","formOpen","requestMeetingCalendarInvite","getFromNow","bookingModal","conversationMember","formID","createMeetingFormInstance","formTemplateFields","formInstance","toggleForm","_form$formInstance","onFormInstanceClick","getLongDateWithTime","dateNow","Date","targetedAudience","returnForms","userID","assignedTo","_this$state$formInsta","getMeetingForms","followUpForms","getFollowUpForms","hasBooked","hasFilledForms","submitFormInstance","onConversationClose","toggleBooking","studentLed","note","renderNote","renderForm","sendICS","unbookMeeting","teamsMeetingData","joinWebUrl","_form$formInstance2","meetingInstanceId","MyMeetings","getMeetings","past","NotFound","SectionProgress","_props$match$params","_props$match$params2","_props$match$params3","_props$match$params4","activeSection","CompulsorySchoolSection","dtStart","dtEnd","Section","renderGroupContent","PreSchoolSection","loaded","clearMatrixAssessmentOverview","SectionWrapper","UpperSecondarySchoolSection","getAttendanceColor","attendanceType","DatePickerFromTo","updated","newDate","_this$state3","_this$state4","startInvalid","endInvalid","onDateValidChange","isValid","onValidate","timePicker","popperModifiers","preventOverflow","enabled","positionFixed","onStartDateInput","onStartTimeChange","onEndDateInput","onChangeRaw","onEndTimeChange","ReportAbsenceForm","selectAbsence","entireDay","_this$props$absence","reported","_translate","deleteAbsence","absenceObject","absences","datesInvalid","disableEditing","success","errorMessage","validatePeriod","onEntireDay","onPartOfDay","onTimeChange","onDatesValidate","onDelete","getFormValue","Absence","tabsOnChange","getUserAbsence","ownReporting","modalOpen","selectedAbsence","indicatorColor","lateDuration","_absence$calendarEven","formatting","absenceAttendance","calendarEvents","getAttendanceProps","showAlert","lesson","reportedBy","editor","onAbsenceClick","_lesson$section","_lesson$attendance$re","_lesson$attendance$re2","reportedByUser","updateAbsence","submitAbsence","fromToText","recentAddedText","hash","ReportAbsence","onAbsenceSubmit","renderItem","SingleModalLesson","activeLesson","entireLesson","foundAbsence","onEntireLesson","onPartLesson","renderAttendanceInfo","view","isLoading","week","_event$length5","_event$length6","_event$length7","_event$length8","_event$length9","_event$length10","_event$length11","_event$length12","_event$length13","ASSIGNMENT_TYPE_WRITTEN_TEST","ASSIGNMENT_TYPE_VERBAL_TEST","_event$length","_event$length3","_event$length2","_event$length4","hasExamination","getExaminations","calendarEvent","indicator","linkedSchedulePositions","attendanceReported","room","MonthHeader","weekdayFormat","culture","localizer","_props$view2","setIsLoading","setActiveLesson","scheduleItems","_useState5","_useState6","filterData","setFilterData","_useState7","_useState8","dataTimeout","setDataTimeout","useMemo","countActivities","instanceType","filterItems","arr","tempArr","bookedMeetings","Lesson","noLessons","Assignment","noAssigments","CalendarEvent","noCalendarEvents","filterArray","second","toISOString","ars","_Object$entries","_Object$entries$_i","filterMonth","handlerActivityFilter","findElement","getActiveEvent","_getScheduleItem","_getStartEndDates","_props$view","isoWeekday","_getStartEndDates2","starttime","endtime","setScheduleLoading","_getStartEndDates3","_getTimeRange2","date1","date2","highest","now","utc","_start","_end","_getTimeRange","SingleModal","_Object$entries2","_count","_Object$entries2$_i","millisecond","eventPropGetter","_lesson$relationships","hasAdvancedCalendar","examination","startAccessor","endAccessor","views","dayFormat","noEventsInRange","titleAccessor","onSelectEvent","components","onView","onNavigate","Floating","UpdateFilter","getLengthOfObject","object","getActivityLength","totalLength","_element$subMenu","subMenu","_loggedInUser","toggleButtons","isToday","goForward","scheduleLoading","activty","handleAllSub","checked","allButton","allActivites","arrName","_arrName$i$subMenu","subValues","loggedInUser","isStudent","_item$subMenu","Schedule","resizeEvent","innerWidth","isLandscape","mobile","breakpoint","setType","_type","debounced","_resource$assessmentB","_assessment$assessmen2","block","api","getProp","getRowData","_foundRow","_foundRow2","foundRow","addNotAchieved","_detail","_paragraph","matchingRow","_resource$value2","_foundRow3$cells","_foundRow3","getRowParagraph","foundParagraph","getRowClarifications","clarifications","clarification","rowData","assessmentBlockPartRows","_resource$value","renderFragment","_assessment$assessmen","assessmentBlockPartRowId","getIsCellSelected","isUndefined","currentValue","_course$value","getResourceTitle","getResourceColor","paragraphUsed","selectedRow","every","DisplayOnlyFeedback","_Haldor__Block","AssessmentBlock","onTitleChange","getIndex","addResource","PART_RESOURCE_TYPE","visibleToStudent","visibleToGuardian","permissions","goalMatrix","foundExisting","getResources","currentIndex","removeResource","feedbackParts","block_type","registerResourceType","Haldor__Block","_getFields","getFields","_props$assessment","assessmentFeedback","assessmentBlocks","_r$assessmentBlockPar","sortorder","assessmentType","HaldorBlockConsumer","plugins","HaldorAssignment","loadingAssessments","loadingGroup","loadedSelfAssessment","loadingSelfAssessment","loadingBlocks","studentConversation","assessed","renderAssignmentTaskStatus","conversationEnabled","hasValidOwner","blocks","studentAssessment","pupilStatusIndicator","openConversation","taskId","assignedUsers","sectionOwners","creatorId","taskContent","Outcomes","_this$props$outcomes","rubric","rubricOutcomes","qualities","quality","outcome","qualityId","levelIndex","criteria","isMarked","levelId","MicrosoftAssignment","assignmentPromise","_assignmentPromise","getTeamsAssignment","haldorAssessments","getTeamsAssignmentResources","microsoftAssessments","getTeamsAssignmentOutcomes","haldorAssignmentObject","points","maxPoints","_this$props3","getTeamsAssignmentResource","template","_this$props4","renderResources","renderOutcomes","renderAssignment","resourceId","fileName","createElement","setAttribute","appendChild","AssignmentWrapper","SingleDocument","getGuardianStudentDocumentation","documentId","activeDocument","files","associatedGoal","fileUrl","getGuardianStudentDocumentFile","fileId","DisplayAssignment","isHaldorAssignment","addedColorDots","externalID","AssignmentBlock","order","svgIcon","addBlockTranslations","groupEnabled","publishedAssessments","submittedTasks","totalTasks","FileBlock","localeCompare","LinksBlock","addhttp","BlockConsumer","SkolonBlock","SelectedCoreContent","coreContent","forbiddenText","coreContents","courseDetailsId","courseCode","contentRow","contentRowTitle","aspects","aspect","aspectRows","purposeData","_r$value","_course$value2","_items$value","_items$value$year","_items$value2","_items$value3","_items$value$colorCod","_items$value4","purpose","singlePlan","getGuardianStudentPlan","activePlan","getGuardianStudentPlanAssessments","getImmersiveReaderDataFromBlocks","currentUser","localLanguage","trackImmersiveReaderError","_this$props$activePla","readPlanInformation","studentStatus","assignmentIndicator","viewablePurpose","viewableCoreContent","associatedCoreContents","Selected","planid","preschoolPlan","planContent","SinglePost","getGuardianStudentPost","newsId","showNotFound","renderArticle","postId","Alert","notification","referenceUrl","contentRead","notificationText","Groups","expand","cutDescription","toggleExpand","renderFoldButton","NotificationReceiver","RedirectOld","paths","new_url","path","currentPath","setPreviousRouteRoute","listener","listen","trackPageView","isLoggedIn","authenticatedId","store","scrollTo","Event","CallbackPage","render","AssignmentsWrapper","common","documentElement","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","reducers","targetElement","srcElement","HTMLAnchorElement","parent","webpackContext","req","webpackContextResolve","__webpack_require__","code","module","exports"],"sourceRoot":""}