{"version":3,"mappings":"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,aAAAE,OAAAvP,CAAA,EACAwP,GAAO,CAGT,MAAAG,EAAAnM,EAAA,6BAEA,OAAAoM,GAAA,UACEjN,GAAA,qBAAAnB,GAAAmO,EAAA,YAAAnO,EAAA,6BAAAmO,EAAA,mCAE4E,GAG9EhK,EAAAgK,EAAA,KACEA,EAAA,2BACEpD,EAAA,MAAAoD,EAAA,eAEApD,EAAA,MAAAA,EAAA,aAAAgD,GAAA,CAAAlT,EAAA,oBAAAkT,CAAA,GACF,ijEC/DF,MAAAlT,EAAAC,EAIAwI,EAAAC,EAEA,SAAA8K,EAAAC,EAAA,CACEhL,EAAA,oBAAAgL,CAAA,CAA8B,CAGhC,MAAAC,EAAA,CAAc,GACZ,0BACA,qBACA,uBACA,4BACA,oBACA,+BACA,uBACA,qBACA,uBACA,oBACA,oBACA,2BACA,mBACA,oBACA,4BACA,0BACA,yBACA,oBACA,4BACA,oBACA,mBACA,mBACA,wBACA,sBACA,kBACA,4BACA,0BACA,yBACA,wBACA,uBACA,yBACA,8BACA,oBACA,oBACA,qBACA,4BACA,kBACA,sBACA,0BACA,iBACA,eACA,kBACA,qBACA,mBACA,kBACA,iBACA,gBACA,sBACA,iBACA,uBACA,uBACA,uBACA,0BACA,4BACA,gCACA,iCACA,sCACA,4BACA,4nBCrEF,MAAA1T,EAAAC,EAIAwI,EAAAC,EAEA,SAAAiL,EAAAC,EAAA,CACEnL,EAAA,oBAAAmL,CAAA,CAA+B,CAGjC,MAAAC,EAAA,CAAe,iBACb,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,aACA,qoBC1GF,MAAA7T,EAAAC,EAIAwI,EAAAC,EAEAoL,EAAA3M,EAAA,IACA4M,EAAA5M,EAAA,IAEA6M,EAAA7M,EAAA,IAGA8M,EAAA9M,EAAA,IACA+M,EAAA/M,EAAA,IAEA,SAAAgN,EAAA9U,EAAA,WACE2U,EAAA,MAAA3U,EACAA,IAAA,QACEoJ,EAAA,uBACFpJ,IAAA,0BACEoJ,EAAA,qBAAA7G,EAAAmS,EAAA,WAAAK,KAAA,+CAAAxS,EAAA,IACFvC,IAAA,0BACEoJ,EAAA,qBAAAwB,EAAA8J,EAAA,WAAAK,KAAA,+CAAAnK,EAAA,IACF5K,IAAA,UACEoJ,EAAA,qBAAAkE,EAAAoH,EAAA,WAAAK,KAAA,+BAAAzH,EAAA,IACFtN,IAAA,aACEoJ,EAAA,wBAEFA,EAAA,iBAAApJ,CAAA,CAA0B,CAG5B,SAAAgV,EAAAhV,EAAA,CACE0U,EAAA,cAAAK,GAAA,CACEA,EAAA,oBACE,WAAAA,EAAA,QACA,OAAA/U,GACEoJ,EAAA,oBAAA2L,EAAA,GACJ,EACD,CAGH,OAAAb,GAAA,UACEzN,GAAA,oBACGX,GAAA,CACC4O,EAAA,MAAA5O,EACA2O,EAAA,yBAAA3O,EAAA,IAAAiP,KAAA,QAEAF,EAAA,SACA/O,EAAA,QAAAiP,GAAA,CACE,GAAAA,EAAA,KAAApU,EAAA,aACEgU,EAAA,MAAAI,EAAA,KACAA,EAAA,qBACE,MAAA7B,EAAA,WAAA6B,EAAA,QACAH,EAAA,MAAA1B,EAAA,KACA9J,EAAA,6BAAkC,CAItC,GAAA2L,EAAA,oBACE,MAAA7B,EAAA,WAAA6B,EAAA,QACAF,EAAA,WAAA3B,EAAA,KAAqC,CACvC,GAGFyB,EAAA,aACEA,EAAA,aAAoB,CACxB,YAAAD,EAAA,SAEgC,yvDC/DpC,MAAA/T,EAAAC,EAIAwI,EAAAC,EAMA4L,EAAAnN,EAAA,iBAAAnH,EAAA,SAEAuU,EAAApN,EAAAnH,EAAA,cACA4D,EAAAuD,EAAAnH,EAAA,YACA4T,EAAAzM,EAAAnH,EAAA,kCACAwU,EAAArN,EAAAnH,EAAA,8BACAyU,EAAAtN,EAAAnH,EAAA,qCACA0U,EAAAvN,EAAAnH,EAAA,eACA2U,EAAAxN,EAAAnH,EAAA,iBACA+R,EAAA5K,EAAAnH,EAAA,iBACAoU,EAAAjN,EAAAnH,EAAA,kBAEA4U,EAAAzN,EAAA,QAEA+I,EAAA/I,EAAAnH,EAAA,oBAAAA,EAAA,uBAAAA,EAAA,6BAIA,SAAA6U,GAAA,CACEP,EAAA,YAAAC,EAAA,MACAD,EAAA,UAAA1Q,EAAA,MACA0Q,EAAA,YAAAV,EAAA,MACAU,EAAA,gBAAAE,EAAA,MACAF,EAAA,eAAAG,EAAA,KAAkC,CAGpC,SAAAK,GAAA,CACE,MAAA3P,EAAA,iBAAAnF,EAAA,QACAmF,EAAA,MAAAoP,EAAA,MACApP,EAAA,IAAAvB,EAAA,MACAuB,EAAA,MAAAyO,EAAA,MACAzO,EAAA,UAAAqP,EAAA,MACArP,EAAA,SAAAsP,EAAA,MACAtP,EAAA,OAAAuP,EAAA,MACAvP,EAAA,SAAAwP,EAAA,MACAxP,EAAA,SAAA4M,EAAA,MACA5M,EAAA,OAAA+K,EAAA,gBACA/K,EAAA,UAAAiP,EAAA,MAEA3L,EAAA,OAAAtD,CAAA,EACAsD,EAAA,QAAY,CAGd,SAAAsM,GAAA,CACEtM,EAAA,SAAAzI,EAAA,QACAyI,EAAA,QAAY,CAGd,SAAAuM,EAAA3V,EAAA,CACEuV,EAAA,MAAAvV,CAAoB,CAGtB,OAAAiK,EAAAqL,EAAAjT,GAAA,CACEA,IACEgT,EAAA,SAAe,GAEnBpL,EAAAoL,EAAAhT,GAAA,CACEA,IACEiT,EAAA,SAAiB,GAGrBrL,EAAAiL,EAAA,IAAAM,EAAA,GACAvL,EAAAsK,EAAA,IAAAiB,EAAA,GACAvL,EAAAkL,EAAA,IAAAK,EAAA,GACAvL,EAAAmL,EAAA,IAAAI,EAAA,4hFC9EO,SAASI,IAAqB,CACnC,MAAM7K,EAAQC,IACR6K,EAAOzC,KA6Bb,MAAO,CAAE,oBA3BmB,CAAC0C,EAAiBC,EAAgBC,IAAsB,CAC5EjL,EAAA,MAAM,MAAM,KAAK,CACrB,UAAWkL,GACX,MAAO,CACL,OAAAH,EACA,MAAO,oBACP,KAAM,OACR,EACA,aAAc,GACd,UAAW,GACX,OAAQ,OACR,UAAW,OACX,OAAQ,CACN,KAAOhQ,GAAoB,CAEzB+P,EAAK,WAAWE,CAAM,EAAE,KAAKC,CAAS,EAAE,CAAC,EAAIlQ,CAC/C,EACA,OAASA,GAAoB,CACtBA,EAAO,KAGZ+P,EAAK,WAAWE,CAAM,EAAE,KAAKC,CAAS,EAAI,GAC5C,CACF,EACD,EAG0B,CAC/B,CChCO,SAASE,IAAoB,CAClC,MAAMnL,EAAQC,IACR6K,EAAOzC,KAmCb,MAAO,CAAE,mBAjCkB,CAAC+C,EAAkBC,IAAwB,CAC9DrL,EAAA,MAAM,MAAM,KAAK,CACrB,UAAWkL,GACX,MAAO,CACL,OAAQ,CACN,MAAO,QACP,SAAU,qBACV,MAAO,mBACP,UAAW,WACX,IAAK,mBACL,OAAQ,GACR,OAAQ,GACR,KAAM,QACN,UAAW,CACb,EACA,MAAO,oBACP,KAAM,QACN,UAAW,EACb,EACA,aAAc,GACd,UAAW,GACX,OAAQ,OACR,UAAW,OACX,OAAQ,CACN,KAAOnQ,GAAoB,CAEzB+P,EAAK,WAAWM,CAAQ,EAAE,KAAKC,CAAW,EAAE,CAAC,EAAItQ,CACnD,CACF,EAED,EAGyB,CAC9B,oRCnCA,MAAAnF,EAAAC,EAOAiV,EAAAzC,KAEA,qBAAAiD,GAAAT,KACA,oBAAAU,GAAAJ,KAEAK,EAAAzO,EAAA,IACA0O,EAAA1O,EAAA,IAEAmC,EAAA4L,EAAA,KACEW,EAAA,MAAA7V,EAAA,MAAAkV,EAAA,oBAAAlV,EAAA,SAAAkV,EAAA,qBAE0C,GAK5C,SAAAY,GAAA,CACEZ,EAAA,qBAAAlV,EAAA,MACEkV,EAAA,mBAAAlV,EAAA,KACFkV,EAAA,wBAAAlV,EAAA,SACEkV,EAAA,sBAAAlV,EAAA,OAAmC,CAIvC,SAAA+V,GAAA,CACEb,EAAA,wBACAA,EAAA,0BAA6B,CAG/B,eAAAc,GAAA,CACEJ,EAAA,SACAV,EAAA,gBAAsB,CAGxB,eAAAe,GAAA,CACEL,EAAA,SACAV,EAAA,gBAAsB,CAIxB,MAAAgB,EAAA/O,EAAA,IAEA,OAAAoM,GAAA,UAEE,gBACE2C,EAAA,QAAe,IACb,uxCCpDN,MAAAlW,EAAAC,EACAwI,EAAAC,EAKA6L,EAAApN,EAAAnH,EAAA,aACA4D,EAAAuD,EAAAnH,EAAA,WACAyU,EAAAtN,EAAAnH,EAAA,gBACAkQ,EAAA/I,EAAAnH,EAAA,mBAAAA,EAAA,sBAAAA,EAAA,4BAIA,SAAAmW,GAAA,CACE1N,EAAA,SAAAzI,EAAA,OACAyI,EAAA,QAAY,CAGd,SAAA2N,GAAA,CACE,MAAAjR,EAAA,iBAAAnF,EAAA,OACAmF,EAAA,MAAAoP,EAAA,MACApP,EAAA,IAAAvB,EAAA,MACAuB,EAAA,SAAAsP,EAAA,MACAtP,EAAA,OAAA+K,EAAA,gBAEAzH,EAAA,OAAAtD,CAAA,EACAsD,EAAA,QAAY,y7CC9BP,SAAS4N,IAAuB,CACrC,MAAMjM,EAAQC,IACR6K,EAAOzC,KA+Bb,MAAO,CAAE,kBA7BiB,CAAC9O,EAAqB2S,IAA0B,CAClE,MAAAC,EAAiBrB,EAAK,WAAWoB,CAAa,EAAE,KAAK,WAAejX,CAAG,EACvEmX,EAAiBtB,EAAK,WAAW,SAAW,EAE5C9K,EAAA,MAAM,MAAM,KAAK,CACrB,UAAWqM,GACX,MAAO,CACL,MAAA9S,EACA,MAAO,uBACP,aAAc,CAAC,CAAC4S,EAAe,OAC/B,eAAAC,CACF,EACA,aAAc,GACd,UAAW,GACX,OAAQ,OACR,UAAW,OACX,OAAQ,CACN,KAAOrR,GAAyB,CAEzB+P,EAAA,WAAWoB,CAAa,EAAE,aAAenR,CAChD,EACA,OAAQ,IAAM,CAEP+P,EAAA,WAAW,OAAOoB,EAAe,CAAC,CACzC,CACF,EACD,EAGwB,CAC7B,CCnCO,SAASI,IAAe,CAC7B,MAAMxB,EAAOzC,KAGJ,SAAAkE,EAAcC,EAA6BC,EAAoB,CACtE,MAAMC,EAAmB,CAAE,KAAM,IAG3BC,EAAsB,KAAK,IAC/BH,EACAC,EAAY3B,EAAK,gBAAkB,GAE5B,QAAArH,EAAI,EAAGA,EAAIkJ,EAAqBlJ,IAC/BiJ,EAAA,KAAK,KAAK,EAAE,EACf,OAAAA,CACT,CAGS,SAAAE,EAAUC,EAAsBC,EAAmB,aACpD,MAAAC,EAAoBF,EAAK,IAAIG,GAAYA,EAAS,OAAS,CAAC,GAAK,GACjEC,EAAuB,KAAK,IAAI,GAAGF,CAAiB,EAAI,EAG9DjC,EAAK,WAAc,GAGnB,QAASrH,EAAI,EAAGA,EAAIwJ,EAAsBxJ,IAAK,CACvC,MAAAyJ,EAAUL,EAAKpJ,CAAC,EAChB0J,EAAsB,KAAK,IAAI,KAAGtN,GAAArI,EAAA0V,GAAA,YAAAA,EAAS,QAAT,YAAA1V,EAAgB,OAAhB,YAAAqI,EAAsB,IAAI5K,IAAOA,GAAA,YAAAA,EAAK,QAAS,KAAM,CAAC,CAAC,CAAC,EAC1FyX,EAAUH,EAAcY,EAAqBL,CAAQ,EAGtDhC,EAAA,WAAW,KAAK4B,CAAO,EAGtB,MAAAU,EAAatC,EAAK,WAAWrH,CAAC,EACpC2J,EAAW,aAAeF,GAG1B1K,GAAAD,EAAA2K,GAAA,YAAAA,EAAS,QAAT,YAAA3K,EAAgB,OAAhB,MAAAC,EAAsB,QAASvN,GAAQ,CACrCmY,EAAW,KAAKnY,EAAI,KAAM,EAAI,CAACA,CAAG,GAEtC,CACF,CAEO,OACL,cAAAsX,EACA,UAAAK,CAAA,CAEJ,CC/CO,SAASS,IAAsB,CACpC,MAAMrN,EAAQC,IACR6K,EAAOzC,KACP,CAAE,cAAAkE,GAAkBD,KAoC1B,MAAO,CAAE,qBAlCoB,IAAM,CAC3BtM,EAAA,MAAM,MAAM,KAAK,CACrB,UAAWqM,GACX,MAAO,CACL,MAAO,CACL,MAAO,QACP,SAAU,qBACV,IAAK,mBACL,OAAQ,GACR,MAAO,CACL,KAAM,CAAC,CACT,CACF,EACA,MAAO,sBACT,EACA,aAAc,GACd,UAAW,GACX,OAAQ,OACR,UAAW,OACX,OAAQ,CACN,KAAOtR,GAAyB,OAC9B,MAAMuS,GAAuB9V,EAAAsT,EAAK,WAAW,CAAC,IAAjB,YAAAtT,EAAoB,KAAK,OAChD+V,EAAWhB,EAAce,GAAwBxC,EAAK,gBAAiB,EAAI,EAGjFA,EAAK,WAAW,KAAK,CACnB,aAAc/P,EACd,KAAMwS,EAAS,KAChB,CACH,CACF,EACD,EAG2B,CAChC,CC3Ca,MAAAC,GAAgB3Q,GAAY,QAAS,KAGzC,CACL,KAHWE,EAAoB,EAAE,CAGjC,GAED,CACD,QAAS,EACX,CAAC,ECLM,SAAS0Q,IAAc,CAC5B,MAAM3C,EAAOzC,KACPjD,EAAWhF,KACXsN,EAAQF,KAERhY,EAASkH,KAETiR,EAAoB5Q,EAAI,EAAK,EAC7B6Q,EAAgB7Q,EAAI,EAAE,EAG5B,eAAe8Q,GAAuB,CACpC,MAAMC,EAAU,MAAMpS,GAAW,QAAQ,EAAI,EAEzCoS,IACFJ,EAAM,KAAQI,EAClB,CAGA,eAAeC,GAAW,CACxBJ,EAAkB,MAAQ,GAE1BjS,GAAW,UAAU,CACnB,WAAYoP,EAAK,WAAW,IAAKkC,IACxB,CAEL,aAAc,CAAE,GAAGA,EAAS,aAAc,MAAO,EAAG,EAEpD,KAAMA,EAAS,KACZ,IAAI,CAACgB,EAAUC,IAAUD,EAAS,OAAS,CAAE,GAAGA,EAAS,CAAC,EAAG,MAAOC,GAAU,IAAI,EAClF,OAAOD,GAAYA,CAAQ,GAEjC,EACF,EACE,KAAK,IAAM,CACV5I,EAAS,YAAY,EACrB5P,EAAO,KAAK,GAAG,EAChB,EACA,MAAM,IAAM,CAEXoY,EAAc,MAAQ,2DACvB,EACA,QAAQ,IAAM,CACbD,EAAkB,MAAQ,GAC3B,CACL,CAEO,OACL,kBAAAA,EACA,cAAAC,EACA,qBAAAC,EACA,SAAAE,CAAA,CAEJ,8iCCjCAG,GAAA,gEAhBA,MAAAtY,EAAAC,EAIAuP,EAAAhF,KACA0K,EAAAzC,KACAqF,EAAAF,KAEAhY,EAAAkH,KAEA,mBAAAyR,GAAAlC,KACA,sBAAAmC,GAAAf,KACA,mBAAAM,EAAA,cAAAC,EAAA,SAAAG,CAAA,EAAAN,GAAA,EACA,WAAAb,GAAAN,KAKA,SAAA+B,GAAA,CACET,EAAA,SACAxI,EAAA,aACA5P,EAAA,SAAe,CAGjB,OAAA0J,EAAAwO,EAAA,KACEd,EAAAc,EAAA,SAAA9X,EAAA,SAA0C,wtZC1B5C,MAAAyI,EAAAC,EAIAsD,EAAAhF,KACApH,EAAAkH,KAEAgG,EAAA3F,EAAA,QACAuR,EAAAvR,EAAA,IAEAmC,EAAAwD,EAAA,KACEA,EAAA,iBACEd,EAAA,OACEA,EAAA,4BAEFvD,EAAA,SACF,GAGF,eAAAkQ,GAAA,CACE,MAAA1L,EAAA,gBAAAyL,EAAA,OACA5L,EAAA,YAAAtH,GAAA,cAAAyH,CAAA,CAAsE,irBChBxE,MAAA2L,EAAAzR,EAAA,IAEA6E,EAAAhF,KACA8Q,EAAAF,KACAxN,EAAAC,IAEAwO,EAAA,8BACAC,EAAA,8BACAhK,EAAA,+BAEA,SAAAc,GAAA,CACExF,EAAA,kBAAuB,OACd,4BACC,aACA,EACR,UAAAyF,GACW,gBACG,aACH,cACH,gBACG,EACZ,CAGH,SAAAkJ,GAAA,CACE3O,EAAA,kBAAuB,OACd,wBACE,uBACD,cACA,YACK,EACb,UAAAuF,GACW,gBACG,aACH,aACA,cACH,iBACG,QACH,WAEJC,GAAe,CACjB,CACF,EACD,CAGH,SAAAoJ,GAAA,CACE5O,EAAA,kBAAuB,OACd,4BACE,wBACD,YACA,YACK,EACb,UAAA6O,GAEW,gBACG,aACH,aACA,aACH,EACT,CAGH,SAAAC,GAAA,CACE9O,EAAA,kBAAuB,OACd,sCACE,uBACD,cACA,YACK,EACb,UAAA+O,GAEW,gBACG,aACH,aACA,aACH,EACT,CAGH,OAAA5F,GAAA,UAEEqF,EAAA,YAAA9S,GAAA,iBAAAkG,EAAA,YAGA8L,EAAA,KAAAc,EAAA,KAAsB,GAIxBtP,EAAA0C,EAAA,mBACEA,EAAA,kBACE,GAAApK,EAAAoK,EAAA,aAAApK,EAAA,qBAAAiX,EACEG,IAAgB,GAAA/O,EAAA+B,EAAA,aAAA/B,EAAA,cAAA6O,KAAAnM,EAAAX,EAAA,mBAAAW,EAAA,SAEhBoM,IAAuB,GAAAnM,EAAAZ,EAAA,aAAAY,EAAA,oBAAAC,EAAAb,EAAA,mBAAAa,EAAA,aAAAiC,GAIvBoK,IACJ,4GC3GS5N,GAAA,2HADP,OAAAE,EAAA,EAAA4N,EAAA,YACE7N,EAAA,MAAAD,GAAA,wDCNA+N,GAAqB,IAAM9Q,EAAA,WAAO,mBAAoB,4NACtD+Q,GAAqB,IAAM/Q,EAAA,WAAO,0BAA2B,kIAC7DgR,GAAqB,IAAMhR,EAAA,WAAO,sBAAuB,8LACzDiR,GAAqB,IAAMjR,EAAA,WAAO,qBAAsB,6LAExDkR,GAAqB,IAAMlR,EAAA,WAAO,oBAAqB,4LACvDmR,GAAqB,IAAMnR,EAAA,WAAO,sBAAuB,+NACzDoR,GAAqB,IAAMpR,EAAA,WAAO,qBAAsB,yNAExDyI,GAAS,CAAC,CAAC,KAAO,MAAM,KAAO,OAAO,UAAYqI,GAAmB,MAAQ,GAAK,KAAO,CAAC,OAAS,QAAQ,CAAC,EAAE,CAAC,KAAO,aAAa,KAAO,cAAc,UAAYC,GAAmB,MAAQ,GAAK,KAAO,CAAC,OAAS,QAAQ,CAAC,EAAE,CAAC,KAAO,SAAS,KAAO,UAAU,UAAYC,GAAmB,MAAQ,EAAI,EAAE,CAAC,KAAO,QAAQ,KAAO,SAAS,UAAYC,GAAmB,MAAQ,EAAI,EAAE,CAAC,KAAO,QAAQ,KAAO,IAAI,UAAYI,GAAmB,MAAQ,EAAI,EAAE,CAAC,KAAO,OAAO,KAAO,QAAQ,UAAYH,GAAmB,MAAQ,EAAI,EAAE,CAAC,KAAO,SAAS,KAAO,UAAU,UAAYC,GAAmB,MAAQ,GAAK,KAAO,CAAC,OAAS,QAAQ,CAAC,EAAE,CAAC,KAAO,QAAQ,KAAO,SAAS,UAAYC,GAAmB,MAAQ,EAAI,CAAC,ECE3sB,MAAMta,GAAMwa,GAAUC,EAAG,EAGnB9I,GAASD,GAAagJ,EAAe,EACrCna,GAASoa,GAAa,CAAE,QAASC,GAAiB,EAAG,OAAAjJ,GAAQ,EACnE3R,GAAI,IAAIO,EAAM,EACdP,GAAI,UAAU,gBAAiB6R,EAAY,EAG3C7O,EAAQ,KAAO,GAGf,OAAO,OAAO,0CAAA6X,GAAA,oBAAAC,GAAA,yBAAAC,GAAA,qBAAAC,GAAA,qBAAAC,GAAA,mBAAAC,EAAA,EAAuC,EAAE,IAAK1M,GAAW,cAAAjM,EAAAiM,EAAE,UAAF,YAAAjM,EAAA,KAAAiM,EAAY,CAAE,IAAAxO,GAAK,OAAAO,GAAQ,OAAAoR,EAAA,GAAS,EAE3G3R,GAAI,MAAM,MAAM","names":["install","app","VTooltip","Menu","Dropdown","Tooltip","head","createHead","router","to","from","NProgress","props","__props","icon","computed","OrugaIcon","Oruga","ApiError","request","response","message","__publicField","CancelError","CancelablePromise","executor","__privateAdd","_isResolved","_isRejected","_isCancelled","_cancelHandlers","_promise","_resolve","_reject","__privateSet","resolve","reject","onResolve","value","__privateGet","_a","onReject","reason","onCancel","cancelHandler","onFulfilled","onRejected","onFinally","error","OpenAPI","isDefined","isString","isStringWithValue","isBlob","isFormData","base64","str","getQueryString","params","qs","append","key","process","v","k","getUrl","config","options","encoder","path","substring","group","url","getFormData","formData","_","resolver","getHeaders","token","username","password","additionalHeaders","headers","credentials","getRequestBody","sendRequest","body","controller","getResponseHeader","responseHeader","content","getResponseBody","contentType","type","catchErrorCodes","result","errorStatus","errorStatusText","errorBody","responseBody","AccountsService","account","__request","code","resetPassword","authorization","AppService","edit","server","dpi","w","h","id","data","GroupService","LoginService","login","refreshToken","UserService","q","user","email","useRouter","logoutOnBrowserClose","useUserStore","defineStore","isAuthenticated","ref","accessToken","logoutUrl","setUser","u","setAccessToken","setRefreshToken","setLogoutUrl","setPasswordSet","passwordSet","getGroups","getToken","decodedAccessToken","jwtDecode","decodedRefreshToken","logout","pinia","createPinia","piniaPluginPersistedstate","registerSW","__vitePreload","cssSize","emit","__emit","checkLength","checkUpperCase","checkLowerCase","re","checkNumbers","checkSpecialCharacters","checkUsername","lowerCasePass","containsUsername","pos","sub","watch","updateCode","dataFromPaste","keysAllowed","isNumber","event","keyPressed","handleInput","inputType","currentActiveElement","num","_b","handleDelete","onPaste","oruga","useProgrammatic","openImpressumModal","Impressum","useAppStore","adminMode","iframeMode","iframeURL","timer","maxIdleTime","idleTimer","pauseTimer","lastActivity","showFullscreenModeButton","toggleAdmin","stopIframeMode","redirect","resetIdleTimer","_hoisted_1","_createElementVNode","_openBlock","_createBlock","_component_BaseModal","passwordConfirmation","showMessage","showErrorMessage","isSecure","isLoading","userStore","openPasswordRestrictionsModal","AccountPasswordRestrictions","buttonEnabled","changePasswordData","setPassword","mail","forwardEmail","messageText","messageClass","showForwardEmaiConfig","_c","_d","_e","updateAccountData","validateMail","updateMailAddress","mailData","status","page","ldapUpdateUserData","execute","checkboxOwnPassword","ownPassword","generatePassword","chars","numbers","special","randomString","i","upper","changePassword","users","usersTable","query","perPage","searchData","searchUsers","setPage","p","openBlockUserModal","UserManagementBlockUser","openResetTwoFAModal","UserManagementTwoFA","openChangePasswordModal","UserManagementChangePassword","force2faTeachers","qrCode","verificationCode","showHelpText","errorMessage","twoFactorActive","GetCode","VerifyCode","codeData","deleteCode","appStore","hideTwoFAMenu","openResetModal","AccountChangePassword","openEmailModal","AccountEMailAddress","openUserManagmentModal","UserManagement","openSetupTotpModal","SetupTotp","groups","adminGroups","passwordGroups","hasGroupAdmin","hasGroupPassword","_imports_0","useLogoutTimerModal","LogoutTimer","openLogoutTimerModal","toggleFullscreen","frame","layouts","__layout_0","setupLayouts","routes","route","clickOutside","el","binding","ourClickEventHandler","useHead","sendPassword","loginData","useCachePasswordModal","CachePasswordModal","t","openCachePasswordModal","indicator","href","download","target","getFileFromURL","url2","parts","setIframeMode","calcDpi","click","json","getMailCount","useGridStore","categories","numberOfColumns","maxRows","isAppDragging","hoveredElement","showGroupsPicker","selectedGroups","mode","g","update","updateGroups","removeGroup","ldapGetGroupData","onMounted","updateIcon","Icon","icons","updateColor","color","colors","appNames","appTypes","selectedApp","guacamoleServer","guacamoleServers","changeApp","appType","changeGuacamoleApp","preview","title","iconColor","iconName","iframe","external","appTypeName","updatePreviewBubble","saveBubble","deleteBubble","setAppType","useEditBubbleModal","grid","bubble","newRow","newColumn","AdminEditBubble","useAddBubbleModal","rowIndex","columnIndex","openEditBubbleModal","openAddBubbleModal","isCurrentElementDragged","isCurrentElementHovered","handleMousemove","handleMouseleave","setDragStart","setDragEnd","loaded","deleteCategory","saveCategory","useEditCategoryModal","categoryIndex","appsInCategory","isLastCategory","AdminEditCategory","useBuildGrid","buildEmptyRow","highestColumnNumber","fullWidth","gridRow","safeNumberOfColumns","buildGrid","apps","editMode","allCategoryOrders","category","findHighestRowNumber","catData","findHighestAppOrder","currentCat","useAddCategoryModal","findCurrentRowLength","emptyRow","useCacheStore","useSaveApps","cache","isSaveAppsLoading","saveAppsError","getAppDataFromServer","appData","saveApps","appArray","index","showCategories","editCategoryModal","openAddCategoryModal","cancel","accept","acceptPolicy","appsData","forceAcceptPolicy","forcePasswordChange","openPasswordResetModal","openPolicyModal","SitePolicy","open2faModal","TotpModal","_createElementBlock","__pages_import_0__","__pages_import_1__","__pages_import_2__","__pages_import_3__","__pages_import_5__","__pages_import_6__","__pages_import_7__","__pages_import_4__","createApp","App","generatedRoutes","createRouter","createWebHistory","__vite_glob_0_0","__vite_glob_0_1","__vite_glob_0_2","__vite_glob_0_3","__vite_glob_0_4","__vite_glob_0_5"],"sources":["../../src/modules/floatingvue.ts","../../src/modules/head.ts","../../src/modules/nprogress.ts","../../src/components/OrugaIcon.vue","../../src/modules/oruga.ts","../../src/api/generated/core/ApiError.ts","../../src/api/generated/core/CancelablePromise.ts","../../src/api/generated/core/OpenAPI.ts","../../src/api/generated/core/request.ts","../../src/api/generated/services/AccountsService.ts","../../src/api/generated/services/AppService.ts","../../src/api/generated/services/GroupService.ts","../../src/api/generated/services/LoginService.ts","../../src/api/generated/services/UserService.ts","../../src/stores/user.ts","../../src/modules/pinia.ts","../../src/modules/pwa.ts","../../src/components/modals/BaseModal.vue","../../src/components/PasswordCheck.vue","../../src/components/CodeInput.vue","../../src/components/PortalFooter.vue","../../src/stores/app.ts","../../src/components/modals/AccountPasswordRestrictions.vue","../../src/components/modals/AccountChangePassword.vue","../../src/components/modals/AccountEMailAddress.vue","../../src/components/TablePagination.vue","../../src/components/modals/UserManagementBlockUser.vue","../../src/components/modals/UserManagementChangePassword.vue","../../src/components/modals/UserManagementTwoFA.vue","../../src/components/modals/UserManagement.vue","../../src/components/modals/SetupTotpModal.vue","../../src/components/PortalMenu.vue","../../../images/logo.png","../../src/components/modals/LogoutTimer.vue","../../src/utils/logoutTimerModal.ts","../../src/components/PortalHeader.vue","../../../@vite-plugin-vue-layouts/generated-layouts","../../src/directives/click-outside.ts","../../src/App.vue","../../src/components/modals/CachePasswordModal.vue","../../src/utils/cachePasswordModal.ts","../../src/components/IconBubble.vue","../../src/stores/grid.ts","../../src/components/GroupsPicker.vue","../../src/components/IconPicker.vue","../../src/components/ColorPicker.vue","../../src/components/AppTypePicker.vue","../../src/components/modals/AdminEditBubble.vue","../../src/utils/editBubbleModal.ts","../../src/utils/addBubbleModal.ts","../../src/components/DragBox.vue","../../src/components/modals/AdminEditCategory.vue","../../src/utils/editCategoryModal.ts","../../src/utils/buildGrid.ts","../../src/utils/addCategoryModal.ts","../../src/stores/cache.ts","../../src/utils/saveApps.ts","../../src/components/Grid.vue","../../src/components/modals/SitePolicy.vue","../../src/components/PortalMain.vue","../../src/pages/index.vue","../../../@vite-plugin-pages/generated-pages?id=~pages","../../src/main.ts"],"sourcesContent":["import { Dropdown, Menu, Tooltip, VTooltip } from 'floating-vue';\n\nimport type { UserModule } from '~/types';\nimport 'floating-vue/dist/style.css';\n\nexport const install: UserModule = ({ app }) => {\n app.directive('tooltip', VTooltip);\n app.component('VMenu', Menu);\n app.component('VDropdown', Dropdown);\n app.component('VTooltip', Tooltip);\n};\n","import { createHead } from '@vueuse/head';\nimport type { UserModule } from '~/types';\n\n// vueuse/head https://github.com/vueuse/head\nexport const install: UserModule = ({ app }) => {\n const head = createHead();\n app.use(head);\n};\n","import NProgress from 'nprogress';\nimport type { UserModule } from '~/types';\n\nexport const install: UserModule = ({ router }) => {\n router.beforeEach((to, from) => {\n if (to.path !== from.path)\n NProgress.start();\n });\n router.afterEach(() => { NProgress.done(); });\n};\n","\n\n\n","import Oruga from '@oruga-ui/oruga-next';\nimport type { UserModule } from '~/types';\nimport OrugaIcon from '~/components/OrugaIcon.vue';\n\nimport '@oruga-ui/oruga-next/dist/oruga-full.css';\n\n// Setup Oruga\nexport const install: UserModule = ({ app }) => {\n app.component('OrugaIcon', OrugaIcon);\n app.use(Oruga, {\n iconPack: '',\n iconComponent: 'OrugaIcon',\n statusIcon: false,\n button: {\n override: true,\n rootClass: 'btn',\n variantClass: 'btn-',\n },\n checkbox: {\n checkClass: 'checkbox',\n checkCheckedClass: 'checkbox-checked',\n labelClass: 'checkbox-label',\n },\n radio: {\n override: true,\n rootClass: 'radio',\n labelClass: 'radio-label',\n checkClass: 'radio-check',\n checkedClass: 'radio-checked',\n },\n field: {\n override: true,\n labelClass: 'field-label',\n messageClass: 'text-xs italic',\n variantClass: 'field-',\n },\n input: {\n override: true,\n rootClass: 'input',\n inputClass: 'input-class',\n roundedClass: 'rounded',\n variantClass: 'input-',\n iconRightClass: 'input-icon-right',\n },\n\n dropdown: {\n menuClass: 'dropdown-menu',\n itemClass: 'dropdown-item',\n itemActiveClass: 'dropdown-item-active',\n },\n loading: {\n overlayClass: 'loading-background',\n },\n icon: {\n override: true,\n spinClass: 'fa-spin',\n },\n modal: {\n override: true,\n rootClass: 'modal',\n contentClass: 'modal-content',\n overlayClass: 'modal-overlay',\n },\n table: {\n override: true,\n tableClass: 'table',\n rootClass: 'table-root',\n thClass: 'table-header',\n tdClass: 'table-cell',\n thSortableClass: 'table-header-sortable',\n thCurrentSortClass: 'table-header-current-sort',\n thPositionClass: 'table-header-position',\n },\n pagination: {\n override: true,\n rootClass: 'pagination',\n listClass: 'pagination-list',\n linkClass: 'pagination-link',\n linkCurrentClass: 'pagination-link-current',\n nextBtnClass: 'pagination-hide',\n prevBtnClass: 'pagination-hide',\n },\n });\n};\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\n\nexport class ApiError extends Error {\n public readonly url: string;\n public readonly status: number;\n public readonly statusText: string;\n public readonly body: any;\n public readonly request: ApiRequestOptions;\n\n constructor(request: ApiRequestOptions, response: ApiResult, message: string) {\n super(message);\n\n this.name = 'ApiError';\n this.url = response.url;\n this.status = response.status;\n this.statusText = response.statusText;\n this.body = response.body;\n this.request = request;\n }\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nexport class CancelError extends Error {\n\n constructor(message: string) {\n super(message);\n this.name = 'CancelError';\n }\n\n public get isCancelled(): boolean {\n return true;\n }\n}\n\nexport interface OnCancel {\n readonly isResolved: boolean;\n readonly isRejected: boolean;\n readonly isCancelled: boolean;\n\n (cancelHandler: () => void): void;\n}\n\nexport class CancelablePromise implements Promise {\n #isResolved: boolean;\n #isRejected: boolean;\n #isCancelled: boolean;\n readonly #cancelHandlers: (() => void)[];\n readonly #promise: Promise;\n #resolve?: (value: T | PromiseLike) => void;\n #reject?: (reason?: any) => void;\n\n constructor(\n executor: (\n resolve: (value: T | PromiseLike) => void,\n reject: (reason?: any) => void,\n onCancel: OnCancel\n ) => void\n ) {\n this.#isResolved = false;\n this.#isRejected = false;\n this.#isCancelled = false;\n this.#cancelHandlers = [];\n this.#promise = new Promise((resolve, reject) => {\n this.#resolve = resolve;\n this.#reject = reject;\n\n const onResolve = (value: T | PromiseLike): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isResolved = true;\n this.#resolve?.(value);\n };\n\n const onReject = (reason?: any): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isRejected = true;\n this.#reject?.(reason);\n };\n\n const onCancel = (cancelHandler: () => void): void => {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#cancelHandlers.push(cancelHandler);\n };\n\n Object.defineProperty(onCancel, 'isResolved', {\n get: (): boolean => this.#isResolved,\n });\n\n Object.defineProperty(onCancel, 'isRejected', {\n get: (): boolean => this.#isRejected,\n });\n\n Object.defineProperty(onCancel, 'isCancelled', {\n get: (): boolean => this.#isCancelled,\n });\n\n return executor(onResolve, onReject, onCancel as OnCancel);\n });\n }\n\n get [Symbol.toStringTag]() {\n return \"Cancellable Promise\";\n }\n\n public then(\n onFulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onRejected?: ((reason: any) => TResult2 | PromiseLike) | null\n ): Promise {\n return this.#promise.then(onFulfilled, onRejected);\n }\n\n public catch(\n onRejected?: ((reason: any) => TResult | PromiseLike) | null\n ): Promise {\n return this.#promise.catch(onRejected);\n }\n\n public finally(onFinally?: (() => void) | null): Promise {\n return this.#promise.finally(onFinally);\n }\n\n public cancel(): void {\n if (this.#isResolved || this.#isRejected || this.#isCancelled) {\n return;\n }\n this.#isCancelled = true;\n if (this.#cancelHandlers.length) {\n try {\n for (const cancelHandler of this.#cancelHandlers) {\n cancelHandler();\n }\n } catch (error) {\n console.warn('Cancellation threw an error', error);\n return;\n }\n }\n this.#cancelHandlers.length = 0;\n this.#reject?.(new CancelError('Request aborted'));\n }\n\n public get isCancelled(): boolean {\n return this.#isCancelled;\n }\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { ApiRequestOptions } from './ApiRequestOptions';\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\ntype Headers = Record;\n\nexport type OpenAPIConfig = {\n BASE: string;\n VERSION: string;\n WITH_CREDENTIALS: boolean;\n CREDENTIALS: 'include' | 'omit' | 'same-origin';\n TOKEN?: string | Resolver | undefined;\n USERNAME?: string | Resolver | undefined;\n PASSWORD?: string | Resolver | undefined;\n HEADERS?: Headers | Resolver | undefined;\n ENCODE_PATH?: ((path: string) => string) | undefined;\n};\n\nexport const OpenAPI: OpenAPIConfig = {\n BASE: 'http://min.cim.cloud',\n VERSION: '1.0',\n WITH_CREDENTIALS: false,\n CREDENTIALS: 'include',\n TOKEN: undefined,\n USERNAME: undefined,\n PASSWORD: undefined,\n HEADERS: undefined,\n ENCODE_PATH: undefined,\n};\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport { ApiError } from './ApiError';\nimport type { ApiRequestOptions } from './ApiRequestOptions';\nimport type { ApiResult } from './ApiResult';\nimport { CancelablePromise } from './CancelablePromise';\nimport type { OnCancel } from './CancelablePromise';\nimport type { OpenAPIConfig } from './OpenAPI';\n\nexport const isDefined = (value: T | null | undefined): value is Exclude => {\n return value !== undefined && value !== null;\n};\n\nexport const isString = (value: any): value is string => {\n return typeof value === 'string';\n};\n\nexport const isStringWithValue = (value: any): value is string => {\n return isString(value) && value !== '';\n};\n\nexport const isBlob = (value: any): value is Blob => {\n return (\n typeof value === 'object' &&\n typeof value.type === 'string' &&\n typeof value.stream === 'function' &&\n typeof value.arrayBuffer === 'function' &&\n typeof value.constructor === 'function' &&\n typeof value.constructor.name === 'string' &&\n /^(Blob|File)$/.test(value.constructor.name) &&\n /^(Blob|File)$/.test(value[Symbol.toStringTag])\n );\n};\n\nexport const isFormData = (value: any): value is FormData => {\n return value instanceof FormData;\n};\n\nexport const base64 = (str: string): string => {\n try {\n return btoa(str);\n } catch (err) {\n // @ts-ignore\n return Buffer.from(str).toString('base64');\n }\n};\n\nexport const getQueryString = (params: Record): string => {\n const qs: string[] = [];\n\n const append = (key: string, value: any) => {\n qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);\n };\n\n const process = (key: string, value: any) => {\n if (isDefined(value)) {\n if (Array.isArray(value)) {\n value.forEach(v => {\n process(key, v);\n });\n } else if (typeof value === 'object') {\n Object.entries(value).forEach(([k, v]) => {\n process(`${key}[${k}]`, v);\n });\n } else {\n append(key, value);\n }\n }\n };\n\n Object.entries(params).forEach(([key, value]) => {\n process(key, value);\n });\n\n if (qs.length > 0) {\n return `?${qs.join('&')}`;\n }\n\n return '';\n};\n\nconst getUrl = (config: OpenAPIConfig, options: ApiRequestOptions): string => {\n const encoder = config.ENCODE_PATH || encodeURI;\n\n const path = options.url\n .replace('{api-version}', config.VERSION)\n .replace(/{(.*?)}/g, (substring: string, group: string) => {\n if (options.path?.hasOwnProperty(group)) {\n return encoder(String(options.path[group]));\n }\n return substring;\n });\n\n const url = `${config.BASE}${path}`;\n if (options.query) {\n return `${url}${getQueryString(options.query)}`;\n }\n return url;\n};\n\nexport const getFormData = (options: ApiRequestOptions): FormData | undefined => {\n if (options.formData) {\n const formData = new FormData();\n\n const process = (key: string, value: any) => {\n if (isString(value) || isBlob(value)) {\n formData.append(key, value);\n } else {\n formData.append(key, JSON.stringify(value));\n }\n };\n\n Object.entries(options.formData)\n .filter(([_, value]) => isDefined(value))\n .forEach(([key, value]) => {\n if (Array.isArray(value)) {\n value.forEach(v => process(key, v));\n } else {\n process(key, value);\n }\n });\n\n return formData;\n }\n return undefined;\n};\n\ntype Resolver = (options: ApiRequestOptions) => Promise;\n\nexport const resolve = async (options: ApiRequestOptions, resolver?: T | Resolver): Promise => {\n if (typeof resolver === 'function') {\n return (resolver as Resolver)(options);\n }\n return resolver;\n};\n\nexport const getHeaders = async (config: OpenAPIConfig, options: ApiRequestOptions): Promise => {\n const token = await resolve(options, config.TOKEN);\n const username = await resolve(options, config.USERNAME);\n const password = await resolve(options, config.PASSWORD);\n const additionalHeaders = await resolve(options, config.HEADERS);\n\n const headers = Object.entries({\n Accept: 'application/json',\n ...additionalHeaders,\n ...options.headers,\n })\n .filter(([_, value]) => isDefined(value))\n .reduce((headers, [key, value]) => ({\n ...headers,\n [key]: String(value),\n }), {} as Record);\n\n if (isStringWithValue(token)) {\n headers['Authorization'] = `Bearer ${token}`;\n }\n\n if (isStringWithValue(username) && isStringWithValue(password)) {\n const credentials = base64(`${username}:${password}`);\n headers['Authorization'] = `Basic ${credentials}`;\n }\n\n if (options.body) {\n if (options.mediaType) {\n headers['Content-Type'] = options.mediaType;\n } else if (isBlob(options.body)) {\n headers['Content-Type'] = options.body.type || 'application/octet-stream';\n } else if (isString(options.body)) {\n headers['Content-Type'] = 'text/plain';\n } else if (!isFormData(options.body)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n\n return new Headers(headers);\n};\n\nexport const getRequestBody = (options: ApiRequestOptions): any => {\n if (options.body !== undefined) {\n if (options.mediaType?.includes('/json')) {\n return JSON.stringify(options.body)\n } else if (isString(options.body) || isBlob(options.body) || isFormData(options.body)) {\n return options.body;\n } else {\n return JSON.stringify(options.body);\n }\n }\n return undefined;\n};\n\nexport const sendRequest = async (\n config: OpenAPIConfig,\n options: ApiRequestOptions,\n url: string,\n body: any,\n formData: FormData | undefined,\n headers: Headers,\n onCancel: OnCancel\n): Promise => {\n const controller = new AbortController();\n\n const request: RequestInit = {\n headers,\n body: body ?? formData,\n method: options.method,\n signal: controller.signal,\n };\n\n if (config.WITH_CREDENTIALS) {\n request.credentials = config.CREDENTIALS;\n }\n\n onCancel(() => controller.abort());\n\n return await fetch(url, request);\n};\n\nexport const getResponseHeader = (response: Response, responseHeader?: string): string | undefined => {\n if (responseHeader) {\n const content = response.headers.get(responseHeader);\n if (isString(content)) {\n return content;\n }\n }\n return undefined;\n};\n\nexport const getResponseBody = async (response: Response): Promise => {\n if (response.status !== 204) {\n try {\n const contentType = response.headers.get('Content-Type');\n if (contentType) {\n const jsonTypes = ['application/json', 'application/problem+json']\n const isJSON = jsonTypes.some(type => contentType.toLowerCase().startsWith(type));\n if (isJSON) {\n return await response.json();\n } else {\n return await response.text();\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n return undefined;\n};\n\nexport const catchErrorCodes = (options: ApiRequestOptions, result: ApiResult): void => {\n const errors: Record = {\n 400: 'Bad Request',\n 401: 'Unauthorized',\n 403: 'Forbidden',\n 404: 'Not Found',\n 500: 'Internal Server Error',\n 502: 'Bad Gateway',\n 503: 'Service Unavailable',\n ...options.errors,\n }\n\n const error = errors[result.status];\n if (error) {\n throw new ApiError(options, result, error);\n }\n\n if (!result.ok) {\n const errorStatus = result.status ?? 'unknown';\n const errorStatusText = result.statusText ?? 'unknown';\n const errorBody = (() => {\n try {\n return JSON.stringify(result.body, null, 2);\n } catch (e) {\n return undefined;\n }\n })();\n\n throw new ApiError(options, result,\n `Generic Error: status: ${errorStatus}; status text: ${errorStatusText}; body: ${errorBody}`\n );\n }\n};\n\n/**\n * Request method\n * @param config The OpenAPI configuration object\n * @param options The request options from the service\n * @returns CancelablePromise\n * @throws ApiError\n */\nexport const request = (config: OpenAPIConfig, options: ApiRequestOptions): CancelablePromise => {\n return new CancelablePromise(async (resolve, reject, onCancel) => {\n try {\n const url = getUrl(config, options);\n const formData = getFormData(options);\n const body = getRequestBody(options);\n const headers = await getHeaders(config, options);\n\n if (!onCancel.isCancelled) {\n const response = await sendRequest(config, options, url, body, formData, headers, onCancel);\n const responseBody = await getResponseBody(response);\n const responseHeader = getResponseHeader(response, options.responseHeader);\n\n const result: ApiResult = {\n url,\n ok: response.ok,\n status: response.status,\n statusText: response.statusText,\n body: responseHeader ?? responseBody,\n };\n\n catchErrorCodes(options, result);\n\n resolve(result.body);\n }\n } catch (error) {\n reject(error);\n }\n });\n};\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { accounts_changePassword } from '../models/accounts_changePassword';\nimport type { accounts_checkCodePayload } from '../models/accounts_checkCodePayload';\nimport type { accounts_generateCodePayload } from '../models/accounts_generateCodePayload';\nimport type { accounts_resetPasswordPayload } from '../models/accounts_resetPasswordPayload';\nimport type { accounts_result } from '../models/accounts_result';\nimport type { accounts_updateUser } from '../models/accounts_updateUser';\nimport type { accounts_usernameResponse } from '../models/accounts_usernameResponse';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\n\nexport class AccountsService {\n\n /**\n * Sends a reset code to the users private mail address\n * @param account Account\n * @returns accounts_usernameResponse OK\n * @throws ApiError\n */\n public static passwordCreateResetCode(\n account: accounts_generateCodePayload,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/account/reset-code',\n body: account,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Checks a reset code\n * @param code Check Code\n * @returns string ok\n * @throws ApiError\n */\n public static checkResetCode(\n code: accounts_checkCodePayload,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/account/reset-code/check',\n body: code,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Change password with reset code\n * @param resetPassword Change Password\n * @returns string ok\n * @throws ApiError\n */\n public static resetChangePassword(\n resetPassword: accounts_resetPasswordPayload,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/account/reset-code/reset',\n body: resetPassword,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Update Account\n * @param account Update user\n * @param authorization Insert your access token\n * @returns any OK\n * @throws ApiError\n */\n public static updateAccount(\n account: accounts_updateUser,\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/accounts',\n headers: {\n 'Authorization': authorization,\n },\n body: account,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Allows the user to change their password\n * @param account Change Password\n * @param authorization Insert your access token\n * @returns accounts_result OK\n * @throws ApiError\n */\n public static changePassword(\n account: accounts_changePassword,\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/password_changes',\n headers: {\n 'Authorization': authorization,\n },\n body: account,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { apps_payload } from '../models/apps_payload';\nimport type { apps_updateAll } from '../models/apps_updateAll';\nimport type { ent_App } from '../models/ent_App';\nimport type { ent_AppGroup } from '../models/ent_AppGroup';\nimport type { ent_AppType } from '../models/ent_AppType';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\n\nexport class AppService {\n\n /**\n * Get apps paginated\n * @param edit Edit mode\n * @param authorization Insert your access token\n * @returns ent_AppGroup OK\n * @throws ApiError\n */\n public static getApps(\n edit: boolean,\n authorization?: string,\n ): CancelablePromise> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/apps',\n headers: {\n 'Authorization': authorization,\n },\n query: {\n 'edit': edit,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Create new app\n * @param account Add app\n * @param authorization Insert your access token\n * @returns ent_App OK\n * @throws ApiError\n */\n public static createApp(\n account: apps_payload,\n authorization: string = 'Bearer ',\n ): CancelablePromise> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/apps',\n headers: {\n 'Authorization': authorization,\n },\n body: account,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Redirect to guacamole\n * @param server Server\n * @param authorization Insert your access token\n * @param dpi DPI\n * @param w Width\n * @param h Height\n * @returns string OK\n * @throws ApiError\n */\n public static redirectGuacamole(\n server: string,\n authorization?: string,\n dpi?: string,\n w?: string,\n h?: string,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/apps/guacamole',\n headers: {\n 'Authorization': authorization,\n },\n query: {\n 'server': server,\n 'dpi': dpi,\n 'w': w,\n 'h': h,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Get app types\n * @param authorization Insert your access token\n * @returns ent_AppType OK\n * @throws ApiError\n */\n public static getAppsTypes(\n authorization?: string,\n ): CancelablePromise> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/apps/types',\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Redirect to virtuelles klassenbuch\n * @param authorization Insert your access token\n * @returns string OK\n * @throws ApiError\n */\n public static redirectVirtuellesKlassenbuch(\n authorization?: string,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/apps/vk',\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Redirect to virtueller stundenplan\n * @param authorization Insert your access token\n * @returns string OK\n * @throws ApiError\n */\n public static redirectVirtuellerStundenplan(\n authorization?: string,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/apps/vs',\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Get new mail count\n * @param authorization Insert your access token\n * @returns string OK\n * @throws ApiError\n */\n public static getNewMailCount(\n authorization?: string,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/apps/webmail',\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Update app\n * @param id App ID\n * @param app Update app\n * @param authorization Insert your access token\n * @returns ent_App OK\n * @throws ApiError\n */\n public static updateApp(\n id: number,\n app: apps_payload,\n authorization: string = 'Bearer ',\n ): CancelablePromise> {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/api/apps/{id}',\n path: {\n 'id': id,\n },\n headers: {\n 'Authorization': authorization,\n },\n body: app,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Delete app by id\n * @param id App id\n * @param authorization Insert your access token\n * @returns any OK\n * @throws ApiError\n */\n public static deleteApp(\n id: number,\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/apps/{id}',\n path: {\n 'id': id,\n },\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Create new app\n * @param data Add app\n * @param authorization Insert your access token\n * @returns ent_App OK\n * @throws ApiError\n */\n public static updateAll(\n data: apps_updateAll,\n authorization: string = 'Bearer ',\n ): CancelablePromise> {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/update-all',\n headers: {\n 'Authorization': authorization,\n },\n body: data,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\n\nexport class GroupService {\n\n /**\n * Get groups\n * @param authorization Insert your access token\n * @returns string OK\n * @throws ApiError\n */\n public static ldapGetGroups(\n authorization: string = 'Bearer ',\n ): CancelablePromise> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/groups',\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { login_codePayload } from '../models/login_codePayload';\nimport type { login_loginPayload } from '../models/login_loginPayload';\nimport type { login_LogoutResult } from '../models/login_LogoutResult';\nimport type { login_oidcLogin } from '../models/login_oidcLogin';\nimport type { login_passwordPayload } from '../models/login_passwordPayload';\nimport type { login_refreshTokenPayload } from '../models/login_refreshTokenPayload';\nimport type { login_Result } from '../models/login_Result';\nimport type { login_User } from '../models/login_User';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\n\nexport class LoginService {\n\n /**\n * Login endpoint\n * @param login Credentials\n * @returns login_Result OK\n * @throws ApiError\n */\n public static login(\n login: login_loginPayload,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/login',\n body: login,\n errors: {\n 401: `Unauthorized`,\n },\n });\n }\n\n /**\n * Login Endpoint for OpenID Connect\n * @param login Credentials\n * @param authorization Insert your access token\n * @returns any OK\n * @throws ApiError\n */\n public static openIdConnect(\n login: login_oidcLogin,\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/login/oidc',\n headers: {\n 'Authorization': authorization,\n },\n body: login,\n });\n }\n\n /**\n * Cache password endpoint\n * @param login Password\n * @returns login_Result OK\n * @throws ApiError\n */\n public static cachePassword(\n login: login_passwordPayload,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/login/password',\n body: login,\n errors: {\n 401: `Unauthorized`,\n },\n });\n }\n\n /**\n * Endpoint for refreshing a token\n * @param refreshToken Refresh token\n * @returns any OK\n * @throws ApiError\n */\n public static refreshToken(\n refreshToken: login_refreshTokenPayload,\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/login/refresh',\n body: refreshToken,\n errors: {\n 401: `Unauthorized`,\n },\n });\n }\n\n /**\n * Login Endpoint for SAML\n * @param authorization Insert your access token\n * @returns any OK\n * @throws ApiError\n */\n public static samlSession(\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/login/saml',\n headers: {\n 'Authorization': authorization,\n },\n });\n }\n\n /**\n * Logout endpoint\n * @returns login_LogoutResult OK\n * @throws ApiError\n */\n public static logout(): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/logout',\n errors: {\n 401: `Unauthorized`,\n },\n });\n }\n\n /**\n * Endpoint for generating a TOTP code\n * @param authorization Insert your access token\n * @returns any OK\n * @throws ApiError\n */\n public static generateTotpCode(\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/totp/code',\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Endpoint for deleting a TOTP code\n * @param authorization Insert your access token\n * @returns any OK\n * @throws ApiError\n */\n public static deleteTotpCode(\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'DELETE',\n url: '/api/totp/code',\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Endpoint for verifying a TOTP code\n * @param code Code\n * @param authorization Insert your access token\n * @returns any OK\n * @throws ApiError\n */\n public static verifyTotpCode(\n code: login_codePayload,\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/totp/code/verify',\n headers: {\n 'Authorization': authorization,\n },\n body: code,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Me endpoint\n * @param authorization Insert your access token\n * @returns login_User OK\n * @throws ApiError\n */\n public static getMe(\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/users/me',\n headers: {\n 'Authorization': authorization,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n}\n","/* generated using openapi-typescript-codegen -- do no edit */\n/* istanbul ignore file */\n/* tslint:disable */\n/* eslint-disable */\nimport type { users_codePayload } from '../models/users_codePayload';\nimport type { users_generateCodePayload } from '../models/users_generateCodePayload';\nimport type { users_updateUser } from '../models/users_updateUser';\nimport type { users_User } from '../models/users_User';\n\nimport type { CancelablePromise } from '../core/CancelablePromise';\nimport { OpenAPI } from '../core/OpenAPI';\nimport { request as __request } from '../core/request';\n\nexport class UserService {\n\n /**\n * Get ldap users paginated\n * @param q Search for dispayName, sAMAccountName or mail\n * @param authorization Insert your access token\n * @returns users_User OK\n * @throws ApiError\n */\n public static ldapGetUsers(\n q: string,\n authorization: string = 'Bearer ',\n ): CancelablePromise> {\n return __request(OpenAPI, {\n method: 'GET',\n url: '/api/users',\n headers: {\n 'Authorization': authorization,\n },\n query: {\n 'q': q,\n },\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Update a ldap user\n * @param id User ID\n * @param user Update user\n * @param authorization Insert your access token\n * @returns string ok\n * @throws ApiError\n */\n public static ldapUpdateUser(\n id: string,\n user: users_updateUser,\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'PUT',\n url: '/api/users/{id}',\n path: {\n 'id': id,\n },\n headers: {\n 'Authorization': authorization,\n },\n body: user,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n /**\n * Generates a reset code for a user\n * @param id User ID\n * @param email Email\n * @param authorization Insert your access token\n * @returns users_codePayload OK\n * @throws ApiError\n */\n public static ldapGenerateResetCode(\n id: string,\n email: users_generateCodePayload,\n authorization: string = 'Bearer ',\n ): CancelablePromise {\n return __request(OpenAPI, {\n method: 'POST',\n url: '/api/users/{id}/reset-code',\n path: {\n 'id': id,\n },\n headers: {\n 'Authorization': authorization,\n },\n body: email,\n errors: {\n 400: `Bad Request`,\n },\n });\n }\n\n}\n","import { defineStore } from 'pinia';\nimport type { JwtPayload } from 'jwt-decode';\nimport jwtDecode from 'jwt-decode';\n\n// import type { LoginRefreshTokenPayload, LoginResult, LoginUser } from '~/api/generated/api';\nimport type { login_User, login_refreshTokenPayload } from '~/api/generated';\nimport { LoginService } from '~/api/generated';\nimport { useRouter } from 'vue-router';\n\nconst router = useRouter();\nlet logoutOnBrowserClose = true;\nif (import.meta.env.VITE_LOGOUT_ON_BROWSER_CLOSE !== undefined)\n logoutOnBrowserClose = import.meta.env.VITE_LOGOUT_ON_BROWSER_CLOSE?.toLowerCase() === 'true';\n\nexport const useUserStore = defineStore('user', () => {\n const isAuthenticated = ref(false);\n const user = ref(null);\n const accessToken = ref(null);\n const refreshToken = ref(null);\n const logoutUrl = ref(null);\n\n function setUser(u: login_User) {\n isAuthenticated.value = true;\n user.value = u;\n }\n\n function setAccessToken(token: string) {\n accessToken.value = token;\n }\n\n function setRefreshToken(token: string) {\n refreshToken.value = token;\n }\n\n function setLogoutUrl(url: string) {\n logoutUrl.value = url;\n }\n\n function setPasswordSet(passwordSet: boolean) {\n user.value!.passwordSet = passwordSet;\n }\n\n function getGroups() {\n return user.value?.groups || [];\n }\n\n async function getToken() {\n // check if token is present\n if (!accessToken.value || !refreshToken.value) {\n \n // no token, logout... ');\n if (isAuthenticated.value)\n router.push('/logout');\n\n return '';\n }\n\n // check if token is expired\n const decodedAccessToken = jwtDecode(accessToken.value as string);\n const decodedRefreshToken = jwtDecode(refreshToken.value as string);\n\n if (decodedRefreshToken.exp && decodedRefreshToken.exp < Date.now() / 1000) {\n // console.info('refresh token expired, logout... ');\n router.push('/logout');\n //logout();\n }\n\n if (\n decodedAccessToken.exp\n && decodedAccessToken.exp < Date.now() / 1000\n && refreshToken.value\n && accessToken.value !== null\n ) {\n accessToken.value = null;\n\n // console.info('token expired, refreshing... ');\n\n const token: login_refreshTokenPayload = { refresh_token: refreshToken.value as string };\n const result = await LoginService.refreshToken(token);\n\n if (result) {\n accessToken.value = result.access_token as string;\n }\n else {\n console.error('could not refresh token');\n router.push('/logout');\n //logout();\n }\n }\n\n return accessToken.value as string;\n }\n\n function logout() {\n isAuthenticated.value = false;\n user.value = null;\n accessToken.value = '';\n refreshToken.value = null;\n }\n\n return {\n user,\n logoutUrl,\n accessToken,\n refreshToken,\n isAuthenticated,\n logout,\n setUser,\n setRefreshToken,\n setAccessToken,\n setPasswordSet,\n getGroups,\n getToken,\n setLogoutUrl,\n };\n}, {\n persist: {\n storage: logoutOnBrowserClose ? sessionStorage : localStorage,\n },\n});\n","import { createPinia } from 'pinia';\nimport piniaPluginPersistedstate from 'pinia-plugin-persistedstate';\nimport type { UserModule } from '~/types';\nimport { OpenAPI } from '~/api/generated';\nimport { useUserStore } from '~/stores/user';\n\n// Setup Pinia\n// https://pinia.esm.dev/\nexport const install: UserModule = ({ app }) => {\n const pinia = createPinia();\n pinia.use(piniaPluginPersistedstate);\n app.use(pinia);\n\n // set auth token\n OpenAPI.TOKEN = async () => {\n const userStore = useUserStore();\n return await userStore.getToken()\n .catch(() => {\n // set empty string on fail (e.g. user is not signed in)\n return '';\n });\n };\n};\n","import type { UserModule } from '~/types';\n\n// https://github.com/antfu/vite-plugin-pwa#automatic-reload-when-new-content-available\nexport const install: UserModule = ({ router }) => {\n router.isReady()\n .then(async () => {\n const { registerSW } = await import('virtual:pwa-register');\n registerSW({ immediate: true });\n })\n .catch(() => {});\n};\n","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","import { defineStore } from 'pinia';\n\nexport const useAppStore = defineStore('app', () => {\n const router = useRouter();\n\n const adminMode = ref(false);\n const iframeMode = ref(false);\n const iframeURL = ref('');\n const timer = ref(0);\n\n const maxIdleTime = Number.parseInt(import.meta.env.VITE_LOGOUT_ON_IDLE_TIME as string, 10) ?? 0;\n\n const idleTimer = ref(maxIdleTime);\n const pauseTimer = ref(false);\n const lastActivity = ref(Date.now());\n\n const showFullscreenModeButton = ref(false);\n\n function toggleAdmin() {\n adminMode.value = !adminMode.value;\n }\n\n function stopIframeMode(redirect = '/') {\n pauseTimer.value = false;\n iframeMode.value = false;\n adminMode.value = false;\n iframeURL.value = '';\n showFullscreenModeButton.value = false;\n router.push(redirect);\n }\n\n function resetIdleTimer() {\n idleTimer.value = maxIdleTime;\n lastActivity.value = Date.now();\n }\n\n return {\n stopIframeMode,\n toggleAdmin,\n resetIdleTimer,\n adminMode,\n iframeMode,\n iframeURL,\n showFullscreenModeButton,\n maxIdleTime,\n idleTimer,\n pauseTimer,\n timer,\n lastActivity,\n };\n});\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n