{"version":3,"sources":["Startup.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,oDAAoD;AACpD,iDAAiD;AAyBjD,MAAM,OACF,SAAQ,YAAyB;IAQjC,YAAY,OAAoB;QAC5B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;QAEzC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7E,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7E,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;QAElE,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;YACpG,MAAM,8BAA8B,CAAC;QAEzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,aAAa;QACb,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,CAAO,CAAgB,EAAE,EAAE;YACpD,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC,CAAA,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,CAAO,CAAgB,EAAE,EAAE;YACpD,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE;gBACf,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC,CAAA,CAAC,CAAA;QACF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAS,EAAE,gDAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC;QAE7D,IAAI,CAAC,SAAS,EAAE,CAAC;IACrB,CAAC;IACK,SAAS;;YACX,IAAI,OAAO,GAAG,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC;YAEhD,IAAI;gBACA,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAEtC,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,EAAE;oBACvB,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;oBAEpC,uBAAuB;oBACvB,IAAI,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC;oBAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACnB,QAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC;qBACjD;oBAED,IAAI,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBAEjD,IAAI,OAAO,IAAI,IAAI;wBACf,MAAM,6BAA6B,CAAC;oBAExC,aAAa;oBACb,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACvD,IAAI,IAAI,GAAG,IAAI,IAAI,CACf,OAAO,EACP,MAAM,EACN,QAAQ,CAAC,IAAmB,CAC/B,CAAC;oBAEF,gBAAgB;oBAChB,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE;wBAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;qBACxB;yBAAM;wBACH,IAAI,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;4BACvC,KAAK,EAAE,MAAM,CAAC,aAAa;4BAC3B,KAAK,EAAE,SAAS;yBACnB,CAAC,CAAC;wBACH,MAAM,SAAS,CAAC,KAAK,CAAC;4BAClB,UAAU,EAAE;gCACR,UAAU,EAAE,MAAM,CAAC,SAAS;6BAC/B;4BACD,IAAI,EAAE,KAAK;yBACd,CAAC,CAAC;qBACN;oBAED,IAAI,CAAC,MAAM,EAAE,CAAC;iBACjB;qBAAM;oBACH,IAAI,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;iBAC5B;aACJ;YAAC,OAAO,CAAC,EAAE;gBACR,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC,SAAS,EAAE,CAAC;aACpB;QACL,CAAC;KAAA;IACK,QAAQ,CAAC,gBAAwB;;;YACnC,IAAI,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;YAE/D,kBAAkB;YAClB,IAAI,WAAW,GAAG,MAAM,IAAI,YAAY,CAAC,sBAAsB,EAAE;gBAC7D,WAAW,EAAE,MAAM;gBACnB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,gBAAgB,EAAE,gBAAgB;iBACrC,CAAC;aACL,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,IAAI,YAAY,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YAE5C,0BAA0B;YAC1B,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1E,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,QAAa;gBACzD,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,IAAI,aAAkC,CAAC;YACvC,IAAI,qBAAqD,CAAC;YAC1D,IAAI;gBACA,aAAa,UAAI,MAAM,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC;oBAC7C,SAAS,EAAE,YAAY;iBAC1B,CAAyB,oCAAI,eAAe,CAAC,yBAAyB,CAAC,CAAC;gBAEzE,qBAAqB,SAAG,aAAa,CAAC,QAA0C,mCACzE,eAAe,CAAC,iBAAiB,CAAC,CAAC;aAC7C;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEjB,IAAI,CAAC,WAAW,CAAC,kGAAkG,CAAC,CAAC;gBACrH,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClB,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAElB,OAAO;aACV;YAED,wBAAwB;YACxB,IAAI,YAAY,GAAG;gBACf,EAAE,EAAE,aAAa,CAAC,EAAE;gBACpB,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAClE,IAAI,EAAE,aAAa,CAAC,IAAI;gBACxB,UAAU,EAAE,aAAa,CAAC,yBAAyB,EAAE;gBACrD,QAAQ,EAAE;oBACN,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC;oBAClG,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC;oBAC5F,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;iBACrF;aACJ,CAAC;YAEF,IAAI,eAAe,GAAG,MAAM,IAAI,YAAY,CAAC,eAAe,EAAE;gBAC1D,WAAW,EAAE,MAAM;gBACnB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,gBAAgB,EAAE,gBAAgB;oBAClC,QAAQ,EAAE,YAAY;iBACzB,CAAC;aACL,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,QAAQ,eAAe,CAAC,MAAM,EAAE;gBAC5B,QAAQ;gBACR,KAAK,GAAG;oBACJ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM;gBACV,KAAK,GAAG;oBACJ,IAAI,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;oBAC5C,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM;aACb;;KACJ;IACD,QAAQ,CAAC,KAAY;QACjB,IAAI,KAAK,IAAI,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;;YAE7B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,SAAS,CAAC,KAAa;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;aACtB,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IACD,UAAU;;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAChC,MAAA,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,0CAAE,WAAW,CAAC,MAAM,EAAE;QAC9D,MAAA,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,0CAAE,QAAQ,CAAC,MAAM,EAAE;QACpE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,0CAAE,QAAQ,CAAC,MAAM,EAAE;IACzD,CAAC;IACD,QAAQ,CAAC,KAAa;;QAClB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErB,MAAA,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,0CAAE,QAAQ,CAAC,MAAM,EAAE;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;QAChE,IAAI,KAAK,IAAI,IAAI,EACjB;YACI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;gBAClC,OAAO;YAEX,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAE9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;YAElD,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;gBAChD,MAAM,sBAAsB,CAAC;YAEjC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,IAAI,CAAC,UAAU,OAAC,KAAK,CAAC,MAAM,EAAE,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC;SAClE;IACL,CAAC;IACK,UAAU,CAAC,IAAY;;YACzB,IAAI,CAAC,WAAW,CAAC,4CAA4C,CAAC,CAAC;YAC/D,IAAI,eAAe,GAAG,MAAM,IAAI,YAAY,CAAC,+BAA+B,EAAE;gBAC1E,WAAW,EAAE,MAAM;gBACnB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,IAAI,EAAE,IAAI;iBACb,CAAC;aACL,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,QAAQ,eAAe,CAAC,MAAM,EAAE;gBAC5B,QAAQ;gBACR,KAAK,GAAG;oBACJ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM;gBACV,KAAK,GAAG;oBACJ,IAAI,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACnB,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM;aACb;QACL,CAAC;KAAA;IACD,SAAS,CAAC,KAAa;;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAErB,MAAA,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,0CAAE,QAAQ,CAAC,MAAM,EAAE;QAC3D,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/C,IAAI,KAAK,IAAI,IAAI,EACjB;YACI,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC;gBAClC,OAAO;YAEX,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAE9B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC;YAElD,IAAI,KAAK,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI;gBAChD,MAAM,sBAAsB,CAAC;YAEjC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvG,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,WAAC,OAAA,IAAI,CAAC,WAAW,OAAC,KAAK,CAAC,MAAM,EAAE,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC,CAAC;SACnE;IACL,CAAC;IACK,WAAW,CAAC,IAAY;;YAC1B,IAAI,CAAC,WAAW,CAAC,6CAA6C,CAAC,CAAC;YAChE,IAAI,eAAe,GAAG,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE;gBAC3E,WAAW,EAAE,MAAM;gBACnB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACjB,IAAI,EAAE,IAAI;iBACb,CAAC;aACL,CAAC,CAAC,OAAO,EAAE,CAAC;YAEb,QAAQ,eAAe,CAAC,MAAM,EAAE;gBAC5B,QAAQ;gBACR,KAAK,GAAG;oBACJ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACvB,MAAM;gBACV,KAAK,GAAG;oBACJ,IAAI,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;oBAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACnB,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC/B,MAAM;aACb;QACL,CAAC;KAAA;IACD,WAAW,CAAC,OAAe;QACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;aACpB,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,mCAAmC;IAC7B,KAAK;;YACP,eAAe;YACf,IAAI,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;YAErD,eAAe;YACf,IAAI,OAAO,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE;gBAC1C,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC;oBACtB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;oBACnC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;iBACtC,CAAC;gBACF,MAAM,EAAE,MAAM;gBACd,WAAW,EAAE,MAAM;aACtB,CAAC,CAAC;YACH,IAAI;gBACA,IAAI,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;gBAEtC,QAAQ,OAAO,CAAC,MAAM,EAAE;oBACpB,KAAK,GAAG;wBACJ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;wBACvB,MAAM;oBACV,KAAK,GAAG;wBACJ,IAAI,YAAsC,CAAC;wBAC3C,IAAI;4BACA,YAAY,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;yBACvC;wBAAC,OAAO,KAAK,EAAE;4BACZ,YAAY,GAAG;gCACX,IAAI,EAAE,OAAO;gCACb,IAAI,EAAE,uDAAuD;6BAChE,CAAC;yBACL;wBAED,IAAI,YAAY,CAAC,IAAI,KAAK,yBAAyB,EAAE;4BACjD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAiC,CAAA;4BAC3D,QAAO,IAAI,CAAC,IAAI,EAChB;gCACI,KAAK,MAAM;oCACP,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAqC,CAAC;oCACpE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;oCACzC,MAAM;gCACV,KAAK,OAAO;oCACR,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oCACnB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oCACnB,MAAM;gCACV,KAAK,MAAM;oCACP,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oCACnB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oCAClB,MAAM;6BACb;yBACJ;6BAAM,IAAI,YAAY,CAAC,IAAI,KAAK,OAAO,EAAE;4BACtC,MAAM,YAAY,GAAG,YAAY,CAAC,IAAc,IAAI,oBAAoB,CAAC;4BACzE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;yBAChC;6BAAM;4BACH,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;yBACjD;wBAED,MAAM;oBACV,QAAQ;oBACR,KAAK,GAAG;wBACJ,IAAI,CAAC,WAAW,CAAC,2DAA2D,CAAC,CAAC;wBAC9E,MAAM;iBACb;aACJ;YAAC,OAAO,CAAC,EAAE;gBACR,6CAA6C;gBAC7C,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;aAC1B;QACL,CAAC;KAAA;CACJ","file":"../Startup.js","sourcesContent":["/// \n/// \n\n// Make navigator show Share\ninterface Window {\n zESettings: any;\n zE: any;\n}\n\ntype UnauthenticatedResponseTypes = 'Fido' | 'TOTP' | 'Email';\n\ninterface IUnauthenticatedTwoFactor {\n type: UnauthenticatedResponseTypes;\n}\n\ninterface IFidoUnauthenticatedTwoFactor\n extends IUnauthenticatedTwoFactor {\n type: UnauthenticatedResponseTypes;\n uniqueIdentifier: string;\n}\n\ninterface IUnauthenticatedResponse {\n type: string;\n data: IUnauthenticatedTwoFactor | string;\n}\n\nclass Startup\n extends QueryElement {\n\n private readonly _startup: IQueryElement;\n private readonly _error: IQueryElement;\n\n private readonly _password: IQueryElement;\n private readonly _username: IQueryElement;\n\n constructor(element: HTMLElement) {\n super(element);\n let startup = this.query(\".startup\").first();\n let error = this.query(\".error\").first();\n\n let username = this.query(\".login-credentials input[name=username]\").first();\n let password = this.query(\".login-credentials input[name=password]\").first();\n let loginButton = this.query(\".login-credentials button\").first();\n\n if (username === null || password === null || loginButton === null || startup === null || error === null)\n throw \"An element couldn't be found\";\n\n this._startup = startup;\n this._error = error;\n\n this._username = username;\n this._password = password;\n\n // Add events\n this._username.on(\"keydown\", async (e: KeyboardEvent) => {\n if (e.keyCode == 13)\n this._password.focus();\n });\n this._password.on(\"keydown\", async (e: KeyboardEvent) => {\n if (e.keyCode == 13)\n await this.login();\n })\n loginButton.on(\"click\", async () => { await this.login(); });\n\n this.getConfig();\n }\n async getConfig() {\n let request = new QueryRequest(\"/Home/Config/\");\n\n try {\n let headers = await request.request();\n\n if (headers.status == 200) {\n let response = await headers.json();\n\n // Load all stylesheets\n let elements = document.querySelectorAll(\"link[media=async]\");\n for (let x = 0; x < elements.length; x++) {\n (elements[x]).media = 'all';\n }\n\n let element = document.getElementById(\"content\");\n\n if (element == null)\n throw \"Cannot find content element\";\n\n // Start site\n var config = QueryJSON.cast(SiteConfig, response.site);\n let site = new Site(\n element,\n config,\n response.menu as IMenuConfig\n );\n\n // Show overview\n if (config.startPage == null) {\n site.overview(false);\n } else {\n let container = await site.createContainer({\n title: config.startPageName,\n color: \"#802175\"\n });\n await container.start({\n actionLink: {\n actionInfo: config.startPage\n },\n type: \"Url\"\n });\n }\n\n this.remove();\n } else {\n let response = await headers.text();\n this.showLogin(response);\n }\n } catch (e) {\n await delay(5000);\n this.getConfig();\n }\n }\n async showFido(uniqueIdentifier: string) {\n this.showMessage(\"Attempting FIDO authentication...
\");\n\n // -- Request Fido\n let fidoRequest = await new QueryRequest('Api/FidoLoginRequest', {\n contentType: 'json',\n method: 'post',\n data: JSON.stringify({\n uniqueIdentifier: uniqueIdentifier\n })\n }).request();\n\n let fidoResponse = await fidoRequest.json();\n\n // Convert some properties\n fidoResponse.challenge = Fido.coerceToArrayBuffer(fidoResponse.challenge);\n fidoResponse.allowCredentials.forEach(function (listItem: any) {\n listItem.id = Fido.coerceToArrayBuffer(listItem.id);\n });\n\n let newCredential: PublicKeyCredential;\n let newCredentialResponse: AuthenticatorAssertionResponse;\n try {\n newCredential = (await navigator.credentials.get({\n publicKey: fidoResponse\n }) as PublicKeyCredential) ?? throwExpression(\"No credentials fetched.\");\n\n newCredentialResponse = newCredential.response as AuthenticatorAssertionResponse\n ?? throwExpression(\"Wrong response.\");\n } catch (e) {\n console.error(e);\n\n this.showMessage(\"Unable to authenticate
You will be redirected to the login page in 5 seconds...
\");\n await delay(5000);\n location.reload();\n\n return;\n }\n\n // -- Register to server\n let registerData = {\n id: newCredential.id,\n rawId: Fido.coerceToBase64Url(new Uint8Array(newCredential.rawId)),\n type: newCredential.type,\n extensions: newCredential.getClientExtensionResults(),\n response: {\n authenticatorData: Fido.coerceToBase64Url(new Uint8Array(newCredentialResponse.authenticatorData)),\n clientDataJson: Fido.coerceToBase64Url(new Uint8Array(newCredentialResponse.clientDataJSON)),\n signature: Fido.coerceToBase64Url(new Uint8Array(newCredentialResponse.signature))\n }\n };\n\n let registerRequest = await new QueryRequest('Api/FidoLogin', {\n contentType: 'json',\n method: 'post',\n data: JSON.stringify({\n uniqueIdentifier: uniqueIdentifier,\n response: registerData\n })\n }).request();\n\n switch (registerRequest.status) {\n default:\n case 200:\n await this.getConfig();\n break;\n case 401:\n let response = await registerRequest.text();\n await this.showLogin(response);\n break;\n }\n }\n setError(error:string) {\n if (error != \"\")\n this._error.addClass(\"show\");\n else\n this._error.removeClass(\"show\");\n\n this._error.setHtml(error);\n }\n showLogin(error: string) {\n this.setError(error);\n this.removeClass(\"startup\")\n .addClass(\"login\");\n }\n resetLogin() {\n this._error.removeClass(\"show\");\n this.query(\".login-credentials\").first()?.removeClass(\"hide\");\n this.query(\".login-google-authenticator\").first()?.addClass(\"hide\");\n this.query(\".login-email\").first()?.addClass(\"hide\");\n }\n showTOTP(error: string) {\n this.setError(error);\n\n this.query(\".login-credentials\").first()?.addClass(\"hide\");\n const field = this.query(\".login-google-authenticator\").first();\n if (field != null)\n {\n field.removeClass(\"hide\");\n if (field.containsClass(\"initialized\"))\n return;\n \n field.addClass(\"initialized\");\n\n const input = field.query(\"input\").first();\n const cancel = field.query(\"button.cancel\").first();\n const login = field.query(\"button.login\").first();\n\n if (input == null || cancel == null || login == null)\n throw \"Element(s) not found\";\n \n input.on(\"keydown\", (a: KeyboardEvent) => a.keyCode == 13 ? login.trigger(\"click\", false) : undefined);\n cancel.on(\"click\", () => this.resetLogin());\n login.on(\"click\", () => this.submitTOTP(input.getVal() ?? \"\"));\n }\n }\n async submitTOTP(code: string) {\n this.showMessage(\"Attempting TOTP authentication...
\");\n let registerRequest = await new QueryRequest('Api/TOTPAuthenticationRequest', {\n contentType: 'json',\n method: 'post',\n data: JSON.stringify({\n code: code\n })\n }).request();\n\n switch (registerRequest.status) {\n default:\n case 200:\n await this.getConfig();\n break;\n case 401:\n let response = await registerRequest.text();\n this.resetLogin();\n this.showLogin(\"\");\n await this.showTOTP(response);\n break;\n }\n }\n showEmail(error: string) {\n this.setError(error);\n\n this.query(\".login-credentials\").first()?.addClass(\"hide\");\n var field = this.query(\".login-email\").first();\n if (field != null)\n {\n field.removeClass(\"hide\");\n if (field.containsClass(\"initialized\"))\n return;\n \n field.addClass(\"initialized\");\n\n const input = field.query(\"input\").first();\n const cancel = field.query(\"button.cancel\").first();\n const login = field.query(\"button.login\").first();\n\n if (input == null || cancel == null || login == null)\n throw \"Element(s) not found\";\n \n input.on(\"keydown\", (a: KeyboardEvent) => a.keyCode == 13 ? login.trigger(\"click\", false) : undefined);\n cancel.on(\"click\", () => this.resetLogin());\n login.on(\"click\", () => this.submitEmail(input.getVal() ?? \"\"));\n }\n }\n async submitEmail(code: string) {\n this.showMessage(\"Attempting Email authentication...
\");\n let registerRequest = await new QueryRequest('Api/EmailAuthenticationRequest', {\n contentType: 'json',\n method: 'post',\n data: JSON.stringify({\n code: code\n })\n }).request();\n\n switch (registerRequest.status) {\n default:\n case 200:\n await this.getConfig();\n break;\n case 401:\n let response = await registerRequest.text();\n this.resetLogin();\n this.showLogin(\"\");\n await this.showEmail(response);\n break;\n }\n }\n showMessage(message: string) {\n this._startup.setHtml(message);\n this.removeClass(\"login\")\n .addClass(\"startup\");\n }\n // TODO: Make it fully translatable\n async login() {\n // Show message\n this.showMessage(\"Attempting to log in...
\");\n\n // Try to login\n let request = new QueryRequest(\"/Api/Login/\", {\n data: QueryJSON.serialize({\n \"username\": this._username.getVal(),\n \"password\": this._password.getVal()\n }),\n method: \"post\",\n contentType: \"json\"\n });\n try {\n let headers = await request.request();\n\n switch (headers.status) {\n case 200:\n await this.getConfig();\n break;\n case 401:\n let responseData: IUnauthenticatedResponse;\n try {\n responseData = await headers.json();\n } catch (error) {\n responseData = {\n type: \"Error\",\n data: \"We encountered an issue while processing your request\",\n };\n }\n\n if (responseData.type === \"TwoFactorAuthentication\") {\n const data = responseData.data as IUnauthenticatedTwoFactor\n switch(data.type)\n {\n case \"Fido\":\n const dataFido = responseData.data as IFidoUnauthenticatedTwoFactor;\n this.showFido(dataFido.uniqueIdentifier);\n break;\n case \"Email\":\n this.showLogin(\"\");\n this.showEmail(\"\");\n break;\n case \"TOTP\":\n this.showLogin(\"\");\n this.showTOTP(\"\");\n break;\n }\n } else if (responseData.type === \"Error\") {\n const errorMessage = responseData.data as string || \"An error occurred.\";\n this.showLogin(errorMessage);\n } else {\n this.showLogin(\"Wrong username or password.\");\n }\n\n break;\n default:\n case 500:\n this.showMessage(\"Something went wrong.
Please contact us.
\");\n break;\n }\n } catch (e) {\n // If something went wrong, just await config\n await this.getConfig();\n }\n }\n}"],"sourceRoot":"../../src/ts/Startup/"}